Releases: kubeflow/kale
v2.0.0rc1
What's Changed
- build(deps): bump pyasn1 from 0.6.2 to 0.6.3 by @dependabot[bot] in #705
- Bump dev version to 2.0.0a6 by @github-actions[bot] in #717
- Improve error message when KFP server doesn't support securityContext by @CodeVishal-17 in #696
- build(deps): bump tornado from 6.5.4 to 6.5.5 by @dependabot[bot] in #690
- build(deps): bump tar from 7.5.10 to 7.5.11 in /labextension/ui-tests by @dependabot[bot] in #679
- fix(backend): use json format for xgboost model marshalling by @ai-naymul in #678
- build(deps): bump requests from 2.32.5 to 2.33.0 by @dependabot[bot] in #728
- build(ci): pin GitHub Actions to commit SHAs by @ederign in #725
- build(deps): bump brace-expansion from 5.0.3 to 5.0.5 in /labextension/ui-tests by @dependabot[bot] in #732
- feat(frontend): add Kale settings in JupyterLab with enable by default and auto-save on compile/run options by @alikhere in #685
- Steps defined after current step should not be displayed as possible dependency by @jesuino in #730
- fix: disable deploy buttons on form validation errors and show friendly error messages by @Ya-shh in #608
- build(deps): bump picomatch from 2.3.1 to 2.3.2 in /labextension/ui-tests by @dependabot[bot] in #724
- build(deps): bump cryptography from 46.0.5 to 46.0.6 by @dependabot[bot] in #734
- Release v2.0.0rc1 by @hmtosi in #740
New Contributors
- @github-actions[bot] made their first contribution in #717
Full Changelog: v2.0.0a5...v2.0.0rc1
v2.0.0a5
What's Changed
- feat: add KFP status icon to Kale by @Ya-shh in #645
- fix(labextension): guard onPanelRemove against missing deploys[index] by @alikhere in #666
- fix(frontend): persist pipeline metadata changes to notebook file by @ai-naymul in #642
- Add DCO signoff to automated version bump PRs by @ederign in #692
- Bump dev version to 2.0.0a5 by @ederign in #693
- fix(backend): close file handle in read_json_from_file by @ai-naymul in #658
- Issue 686: update kfp docs to version 2.16.0 by @hmtosi in #694
- Upgrade e2e test by @ada333 in #689
- issue 636: implement UI tests by @hmtosi in #660
- Remove auto saving and prompt users to save when Running/Compiling the notebook by @jesuino in #707
- Removing Outdated UI Metadata method by @jesuino in #695
- Issue 683 remove deprecated code by @hmtosi in #716
Full Changelog: v2.0.0a4...v2.0.0a5
v2.0.0a4
What's Changed
- backend: Obfuscate template var names used by Kale by @StefanoFioravanzo in #203
- labextension: Fix runGlobalCells() method by @elikatsis in #208
- build(deps): bump node-fetch from 2.6.0 to 2.6.1 in /labextension by @dependabot[bot] in #201
- examples: Fix short dog breed dataset by @dpoulopoulos in #205
- marshal: Set compile to False when loading the model by @dpoulopoulos in #218
- Change to ml_metadata 0.24.0 by @davidspek in #211
- backend/mlmd: Fix logic of finding ancestors by @elikatsis in #221
- Refactor the Kale backend into components by @StefanoFioravanzo in #194
- Fix UI (labextension & visualization) links to include namespace query parameter by @elikatsis in #224
- backend: Associate Katib Trial with KFP Run by @elikatsis in #223
- marshal: Save TF models under a versioned folder by @StefanoFioravanzo in #228
- rpc/katib: Update Trials image by @StefanoFioravanzo in #227
- backend: Improve detection of the container name by @StefanoFioravanzo in #230
- backend: Get PVC from path by @StefanoFioravanzo in #231
- Improve Rokutils by @StefanoFioravanzo in #229
- backend: get the name of active notebook by @StefanoFioravanzo in #232
- marshal: Restrict types for Keras backend by @StefanoFioravanzo in #236
- marshal: Set compile to False when loading the model by @dpoulopoulos in #238
- backend/mlmd: Format KFP run ID as a URI by @elikatsis in #240
- backend: Annotate workflows corresponding to Trials with Katib details by @elikatsis in #239
- examples: Add the OpenVaccine example by @dpoulopoulos in #235
- backend: Introduce k8sutils by @StefanoFioravanzo in #241
- backend: Update Katib trial image by @elikatsis in #242
- examples: Get validation loss from array by @StefanoFioravanzo in #243
- labextension: Support serving Katib in different locations by @elikatsis in #245
- chore: Update documentation related files by @elikatsis in #247
- labextension: Fix setState() calls when referencing the current state by @elikatsis in #249
- Minor refactoring of the backend codebase by @StefanoFioravanzo in #248
- Format KFP run ID as URI in Rok snapshot metadata by @elikatsis in #253
- backend/rpc: Initialize KFP client on each use by @elikatsis in #250
- backend: Move step generated artifacts under /tmp by @elikatsis in #251
- marshal: Add support for XGBoost by @dpoulopoulos in #252
- Marshal package refactoring by @StefanoFioravanzo in #254
- labextension: Disable misconfigured Katib algorithms by @dpoulopoulos in #257
- examples: Add TF to the OpenVaccine requirements by @StefanoFioravanzo in #258
- rpc: Ensure the retrieved Experiment has status by @elikatsis in #260
- rpc: Update Katib trial image by @elikatsis in #261
- Serve by @StefanoFioravanzo in #256
- labextension: Move volumes panel to advanced sec by @StefanoFioravanzo in #262
- examples: Limit parallel HPT runs in OpenVaccine by @StefanoFioravanzo in #265
- labextension: Change 'dismiss' button to 'close' by @StefanoFioravanzo in #266
- Enable specifying the storage class and access modes of the created PVCs by @elikatsis in #255
- labextension: Set min width of Kale panel to 300px by @StefanoFioravanzo in #267
- marshal: Add support for PyTorch models by @dpoulopoulos in #268
- Bump packages to version 0.6.0 by @StefanoFioravanzo in #271
- Fix a couple of typos by @cspavlou in #272
- backend: Fix pip 20.3 dependency resolution by @StefanoFioravanzo in #277
- docker: Fix Dockerfiles (enum & KFP installation) by @elikatsis in #280
- Bump packages to version 0.6.1 by @StefanoFioravanzo in #290
- Introduce an SDK to programmatically create pipelines from Python modules by @StefanoFioravanzo in #326
- Detect docker image SHA instead of tag by @StefanoFioravanzo in #328
- backend: Make marshal logs less intrusive by @StefanoFioravanzo in #329
- Handle pipeline versions by @StefanoFioravanzo in #330
- katib: Update katib trial image by @elikatsis in #331
- Create KFP artifacts using the SDK by @StefanoFioravanzo in #333
- Bump MLMD version by @elikatsis in #335
- Support both v1alpha3 and v1beta1 Katib versions by @elikatsis in #336
- Various utils improvements by @StefanoFioravanzo in #337
- Add step timeout test & Update katib trial image by @elikatsis in #338
- Improve InferenceService handling when fields are missing by @StefanoFioravanzo in #343
- Bump packages to version 0.7.0 by @StefanoFioravanzo in #344
- backend: Update jputils requirements version ranges by @elikatsis in #384
- feat: update backend to support KFP V2 by @Amrit27k in #447
- fix(backend): Cleanup pipeline version on first upload by @Amrit27k in #448
- Update README with project status by @StefanoFioravanzo in #459
- chore: add GitHub issue templates for Kale by @StefanoFioravanzo in #458
- refactor(backend): Remove Rok and MLMD utils by @StefanoFioravanzo in #460
- merge
v2.0-frontend-devbranch intomainby @hmtosi in #479 - ISSUE-450: Fix progress bars when running pipelines by @ada333 in #484
- update readme with new build steps by @hmtosi in #483
- Fix opening of editor after clicking edit pencil icon above cells. by @jesuino in #485
- ISSUE-490: Fix error in webconsole when running pipeline by @ada333 in #493
- Issue 451 - fixing errors that occur when opening and closing notebooks by @hmtosi in #496
- chore: bump python version on gha by @ederign in #505
- chore: cleanup license headers by @StefanoFioravanzo in #492
- feat(backend): support dynamic versioning for dev workflow by @StefanoFioravanzo in #491
- ISSUE-495: Avoid any type in typescript code by @ada333 in #499
- Issue 494 - fix RPC error and allow kfp to run with Default experiment by @hmtosi in #504
- Giving pipelines a default value so it will not fail by @cordeirops in #514
- fix issue #500 - JupyterLab Dark theme hides some kale features by @cordeirops in #517
- Issue 515: fix warning symbol logic, clean up progress messages by @hmtosi in #516
- ISSUE-471: Fix all the examples by @ada333 in #512
- Issue 489: Fix the links by @ada333 in #520
- ISSUE 511: Fixing artifacts generation by @jesuino in #518
- issue 526: fix hardcoded params by @hmtosi in #527
- Allowing users to configure pip trusted hosts by @jesuino in #536
- Issue 531: Lazy load Compiler to avoid circular dependency by @jesuino in #534
- issue 471 - fix example runs by @hmtosi in #533
- chore #541: creating OWNERS file by @ederign in #542
- add v2.0 demo with voiceover by @hmtosi in #540
- Remove AUTHORS file in compliance with Kubeflow policy by @Copilot in #545
- feat(backend): Allow code blocks to have the same name for input and output objects by @ada333 in #543
- chore:...
v0.7.0
v0.6.1
v0.6.0
v0.5.1
This minor release mainly focuses on bug fixing and overall UX improvements.
Notably:
- Better log reporting
- Improved Katib jobs monitoring
- Relaxed KFP requirements to support newer versions
- New DogBreed example supporting TensorFlow 2.x
v0.5.0
New features:
- Run hyperparameter tuning experiments from JupyterLab
- Jupyter rich outputs are displayed in the KFP dashboard
- Pipeline parameters and pipeline metrics
- Run pipeline steps on GPU
- Revamped cell tag UI and app theme
Improvements and bug fixes:
- Better data passing detection
- Faster UI renders
- Better notebook validation - fail early in case of errors
- Many more bug fixes and UX improvements
v0.4.0: Post KubeCon NA 2019 Release
This release includes the code presented at KubeCon NA 2019 during the Kale workshop, with some additional bug fixes and performance improvements
Version 0.1.2
This release includes the necessary machinery to convert a Jupyter Notebook to a Kubeflow Pipelines deployment.
This release provides four main modules:
- nbparser: notebook parse module; tagging-language; generation of code graph
- static_analysis: run static analysis over code blocks to detect data dependencies
- marshal: functions to (de)serialize objects of any type with dynamic dispatchers
- codegen: generate kfp Python code using templates, based on the graph produced by nbparser module
Flask Server
The api module provides a simple Flask app that exposes the /kale API that accepts a JupyterNotebook in raw format and call the Kale core module to create a KFP deployment.
JupyterLab extension
The kale-toolbar-runner provides a deployment button in the JupyterNotebook's toolbar. By clicking the deployment button Jupyter will send a POST request to localhost:5000/kale with the currently active raw notebook.