diff --git a/CHANGELOG.md b/CHANGELOG.md index 6857741c..d9ac5dcd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,25 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 +## [0.39.0](https://github.com/Substra/substra-documentation/releases/tag/0.39.0) - 2024-09-13 + +### Added + +- Documentation on Kubernetes volumes. ([#424](https://github.com/Substra/substra-documentation/pull/424)) +- Documentation on network policies. ([#425](https://github.com/Substra/substra-documentation/pull/425)) +- How-to on `nodeSelector`, `affinity` and `taints` for the compute function ([#429](https://github.com/Substra/substra-documentation/pull/429)) +- Support Python 3.12. ([#430](https://github.com/Substra/substra-documentation/pull/430)) + +### Changed + +- Apply `use_gpu` to `diasble_gpu` renaming on SubstraFL in all `TorchAlgo` ([#436](https://github.com/Substra/substra-documentation/pull/436)) + +### Fixed + +- Ignore `IntEnum` in API reference documentation. ([#427](https://github.com/Substra/substra-documentation/pull/427)) +- Bump pytorch version to 2.2.1 in tests. ([#431](https://github.com/Substra/substra-documentation/pull/431)) + + ## [0.38.0](https://github.com/Substra/substra-documentation/releases/tag/0.38.0) - 2024-06-03 ### Added diff --git a/changes/424.added b/changes/424.added deleted file mode 100644 index b0795c1a..00000000 --- a/changes/424.added +++ /dev/null @@ -1 +0,0 @@ -Documentation on Kubernetes volumes. diff --git a/changes/425.added b/changes/425.added deleted file mode 100644 index 091284a3..00000000 --- a/changes/425.added +++ /dev/null @@ -1 +0,0 @@ -Documentation on network policies. diff --git a/changes/427.fixed b/changes/427.fixed deleted file mode 100644 index 401cf8f4..00000000 --- a/changes/427.fixed +++ /dev/null @@ -1 +0,0 @@ -Ignore `IntEnum` in API reference documentation. diff --git a/changes/429.added b/changes/429.added deleted file mode 100644 index 52015167..00000000 --- a/changes/429.added +++ /dev/null @@ -1 +0,0 @@ -How-to on `nodeSelector`, `affinity` and `taints` for the compute function \ No newline at end of file diff --git a/changes/430.added b/changes/430.added deleted file mode 100644 index 5b926354..00000000 --- a/changes/430.added +++ /dev/null @@ -1 +0,0 @@ -Support Python 3.12. diff --git a/changes/431.fixed b/changes/431.fixed deleted file mode 100644 index 01cf4583..00000000 --- a/changes/431.fixed +++ /dev/null @@ -1 +0,0 @@ -Bump pytorch version to 2.2.1 in tests. diff --git a/changes/436.changed b/changes/436.changed deleted file mode 100644 index 25a6354f..00000000 --- a/changes/436.changed +++ /dev/null @@ -1 +0,0 @@ -Apply `use_gpu` to `diasble_gpu` renaming on SubstraFL in all `TorchAlgo` \ No newline at end of file diff --git a/docs/source/additional/release.rst b/docs/source/additional/release.rst index ba359873..9f4928d7 100644 --- a/docs/source/additional/release.rst +++ b/docs/source/additional/release.rst @@ -31,6 +31,49 @@ This is an overview of the main changes, please have a look at the changelog of - `backend changelog `__ - `orchestrator changelog `__ +Substra 0.39.0 --- 2024-09-13 +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +**All** + +.. warning:: + + **This will the last version offering support for Python 3.9!** + +- We are now supporting Python 3.12 + +- Please make sure your workflows relies on Python 3.10 at least from now on + +.. warning:: + + **It's not longer possible to generate never-expiring tokens via the web application.** + +- BREAKING: User tokens previously generated via the web application without an expiry date will expire during an upgrade towards 0.39.0 + +- Improved handling of errors without logs + +- Introducing function profiling, available on linked tasks via the web application + +**SubstraFL** + +- **BREAKING**: renamed argument ``use_gpu`` to ``disable_gpu`` in ``TorchAlgo`` + +- Enforced ``substrafl`` compatibility with GPU workflows + +**Backend** + +- Reduced build time by downloading functions only if not present on the current backend + +**Operations** + +- Enabled (on-demand) GPU compatibility. The main visible change is the introduction of the new fields in substra-backend charts, allowing the use of node pools spawned on-demand with specific capabilities (like GPUs): + - ``worker.computePod.affinity`` + - ``worker.computePod.nodeSelector`` + - ``worker.computePod.tolerations`` + +- Allow to use pre-defined (instead of packaged) secrets in substra-backend (in particular ``accountOperator``) + + Substra 0.38.0 --- 2024-06-13 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/docs/source/additional/releases.yaml b/docs/source/additional/releases.yaml index 9346be7e..d86313e9 100644 --- a/docs/source/additional/releases.yaml +++ b/docs/source/additional/releases.yaml @@ -8,6 +8,38 @@ components: # for table headers - substra-tests releases: + - version: 0.39.0 + components: + substrafl: + version: 0.47.0 + link: https://github.com/Substra/substrafl/releases/tag/0.47.0 + substra: + version: 0.54.0 + link: https://github.com/Substra/substra/releases/tag/0.54.0 + substra-tools: + version: 0.22.0 + link: https://github.com/Substra/substra-tools/releases/tag/0.22.0 + substra-backend: + version: 0.48.0 + link: https://github.com/Substra/substra-backend/releases/tag/0.48.0 + helm: + version: 26.9.1 + link: https://artifacthub.io/packages/helm/substra/substra-backend/26.9.1 + orchestrator: + version: 0.43.0 + link: https://github.com/Substra/orchestrator/releases/tag/0.43.0 + helm: + version: 8.7.6 + link: https://artifacthub.io/packages/helm/substra/orchestrator/8.7.6 + substra-frontend: + version: 0.52.0 + link: https://github.com/Substra/substra-frontend/releases/tag/0.52.0 + helm: + version: 1.2.2 + link: https://artifacthub.io/packages/helm/substra/substra-frontend/1.2.2 + substra-tests: + version: 0.52.0 + link: https://github.com/Substra/substra-tests/releases/tag/0.52.0 - version: 0.38.0 components: substrafl: diff --git a/docs/source/examples/substra_core/diabetes_example/assets/functions/aggregation/Dockerfile b/docs/source/examples/substra_core/diabetes_example/assets/functions/aggregation/Dockerfile index d174008f..c825a6f0 100644 --- a/docs/source/examples/substra_core/diabetes_example/assets/functions/aggregation/Dockerfile +++ b/docs/source/examples/substra_core/diabetes_example/assets/functions/aggregation/Dockerfile @@ -2,7 +2,7 @@ FROM python:3.9-slim # install dependencies -RUN pip3 install 'pandas<2.0' 'numpy<2.0' 'substratools==0.22.0a2' +RUN pip3 install 'pandas<2.0' 'numpy<2.0' substratools # add your algorithm script to docker image ADD federated_analytics_functions.py . diff --git a/docs/source/examples/substra_core/diabetes_example/assets/functions/local_first_order_computation/Dockerfile b/docs/source/examples/substra_core/diabetes_example/assets/functions/local_first_order_computation/Dockerfile index 8da32f71..086947fa 100644 --- a/docs/source/examples/substra_core/diabetes_example/assets/functions/local_first_order_computation/Dockerfile +++ b/docs/source/examples/substra_core/diabetes_example/assets/functions/local_first_order_computation/Dockerfile @@ -2,7 +2,7 @@ FROM python:3.9-slim # install dependencies -RUN pip3 install 'pandas<2.0' 'numpy<2.0' 'substratools==0.22.0a2' +RUN pip3 install 'pandas<2.0' 'numpy<2.0' substratools # add your algorithm script to docker image ADD federated_analytics_functions.py . diff --git a/docs/source/examples/substra_core/diabetes_example/assets/functions/local_second_order_computation/Dockerfile b/docs/source/examples/substra_core/diabetes_example/assets/functions/local_second_order_computation/Dockerfile index d9ed80bf..879fe0b8 100644 --- a/docs/source/examples/substra_core/diabetes_example/assets/functions/local_second_order_computation/Dockerfile +++ b/docs/source/examples/substra_core/diabetes_example/assets/functions/local_second_order_computation/Dockerfile @@ -2,7 +2,7 @@ FROM python:3.9-slim # install dependencies -RUN pip3 install 'pandas<2.0' 'numpy<2.0' 'substratools==0.22.0a2' +RUN pip3 install 'pandas<2.0' 'numpy<2.0' substratools # add your algorithm script to docker image ADD federated_analytics_functions.py . diff --git a/docs/source/examples/substra_core/titanic_example/assets/function_random_forest/predict/Dockerfile b/docs/source/examples/substra_core/titanic_example/assets/function_random_forest/predict/Dockerfile index 9c6f3b6b..925040b8 100644 --- a/docs/source/examples/substra_core/titanic_example/assets/function_random_forest/predict/Dockerfile +++ b/docs/source/examples/substra_core/titanic_example/assets/function_random_forest/predict/Dockerfile @@ -2,7 +2,7 @@ FROM python:3.12-slim # install dependencies -RUN pip3 install pandas 'numpy<2.0' 'scikit-learn==1.5.0' 'substratools==0.22.0a2' +RUN pip3 install pandas 'numpy<2.0' 'scikit-learn==1.5.0' substratools # add your function script to docker image ADD titanic_function_rf.py . diff --git a/docs/source/examples/substra_core/titanic_example/assets/function_random_forest/train/Dockerfile b/docs/source/examples/substra_core/titanic_example/assets/function_random_forest/train/Dockerfile index 40514c8d..607e90b4 100644 --- a/docs/source/examples/substra_core/titanic_example/assets/function_random_forest/train/Dockerfile +++ b/docs/source/examples/substra_core/titanic_example/assets/function_random_forest/train/Dockerfile @@ -2,7 +2,7 @@ FROM python:3.12-slim # install dependencies -RUN pip3 install pandas 'numpy<2.0' 'scikit-learn==1.5.0' 'substratools==0.22.0a2' +RUN pip3 install pandas 'numpy<2.0' 'scikit-learn==1.5.0' substratools # add your function script to docker image ADD titanic_function_rf.py . diff --git a/docs/source/examples/substra_core/titanic_example/assets/metric/Dockerfile b/docs/source/examples/substra_core/titanic_example/assets/metric/Dockerfile index 4e96316c..43bb37c2 100644 --- a/docs/source/examples/substra_core/titanic_example/assets/metric/Dockerfile +++ b/docs/source/examples/substra_core/titanic_example/assets/metric/Dockerfile @@ -2,7 +2,7 @@ FROM python:3.12-slim # install dependencies -RUN pip3 install pandas 'numpy<2.0' 'scikit-learn==1.5.0' 'substratools==0.22.0a2' +RUN pip3 install pandas 'numpy<2.0' 'scikit-learn==1.5.0' substratools # add your metrics script to docker image ADD titanic_metrics.py .