Skip to content

Commit c18369d

Browse files
ckunkitkilias
andauthored
#308, #298, #318. #322: Updated and cleanup dependencies, re-enable tests, move ibis notebook to new download URL, (#319)
* #308: Updated Dependencies of Jupyter Environment and pyproject.toml * #298: Fixed vulnerabilities * #322: Made URL in IBIS notebook point to a new example data bucket * #318: Re-enabled tests for cloud storage notebook * Updated version constraint for stopwatch * Replaced GitHub dependency in file test_dependencies.txt for notebook tests by PyPI dependency. * Fixed CloudFormation lint tests * Fixed name of docker registry in integration test to satisfy legal names for docker registries. * Updated changes file * Changed version to 3.0.0 * Fixed cloud storage notebook test * Fixed cloud_store_config.ipynb temporarily by correctly reimplement bfs_utils.put_file --------- Co-authored-by: Torsten Kilias <torsten.kilias@exasol.com>
1 parent ace2417 commit c18369d

File tree

24 files changed

+1162
-1101
lines changed

24 files changed

+1162
-1101
lines changed

.github/workflows/notebook_tests.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ jobs:
1111
fail-fast: false
1212
matrix:
1313
nb_test:
14+
- { name: "CSE notebook", test_file: "nbtest_cloud.py" }
1415
- { name: "sklearn notebook", test_file: "nbtest_sklearn.py" }
1516
- { name: "ibis notebook", test_file: "nbtest_ibis.py" }
1617
- { name: "SLC notebook", test_file: "nbtest_script_languages_container.py" }

doc/changes/changelog.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Changes
22

3-
* [2.1.0](changes_2.1.0.md)
3+
* [3.0.0](changes_3.0.0.md)
44
* [2.0.0](changes_2.0.0.md)
55
* [1.0.0](changes_1.0.0.md)
66
* [0.2.0](changes_0.2.0.md)

doc/changes/changes_2.1.0.md

Lines changed: 0 additions & 46 deletions
This file was deleted.

doc/changes/changes_3.0.0.md

Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
# AI-Lab 3.0.0 released 2024-08-26
2+
3+
Code name: More Notebooks, TE-Update, Exasol SaaS, Python 3.10
4+
5+
## Summary
6+
7+
This release adds Jupyter tutorials for using the [IBIS dataframe library](https://ibis-project.org/) and for building [Exasol Script Language Containers (SLC)](https://docs.exasol.com/db/latest/database_concepts/udf_scripts/adding_new_packages_script_languages.htm#ScriptLanguageContainer).
8+
9+
Transitive dependency `transformers-extension` (TE) via `notebook-connector` has been updated to [TE version 2.0.0](https://github.com/exasol/transformers-extension/releases/2.0.0). This fixes an error in saving and loading of the model but required a breaking change regarding the storage format of the TE model.
10+
11+
**Users of the AI-Lab must redeploy TE into their database and upload the models once again.**
12+
13+
The release adds support for parameters for SaaS instances of Exasol database to the configuration page and fixes vulnerability `CVE-2024-23342` by updating dependencies and also updates the operating system from ubuntu 20.04 to 22.04 and Python version to 3.10 in the published images for Docker, AMI, and virtual machines.
14+
15+
Additionally, this release fixes the following vulnerabilities by updating dependencies:
16+
* Vulnerability CVE-2024-23342 in transitive dependency via `localstack` to `ecdsa` vulnerably to Minerva timing attack on P-256 in `python-ecdsa`.
17+
* Vulnerability CVE-2024-5206 in dependency `scikit-learn` versions below `1.5.0` caused by sensitive data leakage.
18+
* Vulnerability CVE-2024-35195 in dependency `requests` in versions below `2.32.0` caused by requests `Session` object not verifying requests after making first request with `verify=False`.
19+
* Vulnerability CVE-2024-37891 in transitive dependency via `boto3` to `urllib3` in versions below `2.2.2` caused by proxy-authorization request header not to be stripped during cross-origin redirects.
20+
21+
The release ignores vulnerability CVE-2024-33663 in transitive dependency via `localstack` to `python-jose` `3.3.0` caused by algorithm confusion with OpenSSH ECDSA keys as there is no newer version of `python-jose` available and the dependency only affects tests.
22+
23+
## Features
24+
25+
* #277: Added the SaaS database parameters to the configuration page.
26+
* #279: Made the notebooks tests running in SaaS as well as in the Docker-DB.
27+
* #19: Added SLC notebook
28+
* #301: Added CloudFront distribution for example data S3 bucket
29+
* #273: Added `jupyterenv/bin` to environment variable `PATH` for running Jupyter Server
30+
31+
## Security
32+
33+
* #207: Fixed vulnerability CVE-2024-23342 by updating dependency ecdsa
34+
* #298: Fixed vulnerabilities by updating dependencies
35+
36+
## Bug Fixes
37+
38+
* #303: Fixed AWS Codebuild
39+
* #313: Fixed differing versions of dependency `scikit-learn`
40+
41+
## Documentation
42+
43+
* #249: Added a troubleshooting section to the user guide documenting died kernel for transformers/te_init.ipynb.
44+
* #284: Improved User Guide regarding Docker volumes
45+
* #322: Made URL in IBIS notebook point to new example data bucket https://dut5tonqye28.cloudfront.net/ai_lab/flight-info
46+
47+
## Refactoring
48+
49+
* #267: Switched CodeBuildWaiter to use tenacity
50+
* #276: Started using the new ITDE Manager interface in the notebook-connector 0.2.9
51+
* #282: Updated python version to Python 3.10
52+
* #295: Made notebook-tests mandatory for merge
53+
* #193: Ignored warnings in notebook tests
54+
* #297: Reduced log level for transitive libraries in notebook tests
55+
* #307: Made the notebook tests running in parallel; moved common steps from test jobs to a composite action
56+
* #308: Removed redundant dependencies from file `notebook_requirements.txt`.
57+
* #318: Re-enabled disabled notebook tests
58+
59+
## Dependency Updates
60+
61+
### Jupyter Environment Dependencies
62+
63+
In File [notebook_requirements.txt](https://github.com/exasol/ai-lab/blob/main/exasol/ds/sandbox/runtime/ansible/roles/jupyter/files/notebook_requirements.txt):
64+
* Removed dependency to `uncertainties`
65+
* Updated `scikit-learn:1.0.2` to `1.5.1`
66+
* Updated `matplotlib:3.7.4` to `3.9.2`
67+
* Updated `jupysql:0.10.10` to `0.10.12`
68+
* Relaxed declaration of dependency `stopwatch.py:2.0.1` to `2.*` to avoid inconsistencies with ITDE
69+
* Updated `exasol-notebook-connector:0.2.8` to `0.2.9`
70+
* Updated `ipywidgets:8.1.1` to `8.1.3`
71+
72+
### Dependencies in `ai-lab/pyproject.toml`
73+
74+
* Updated `boto3:1.34.144` to `1.35.2`
75+
* Updated `ansible:9.8.0` to `10.3.0`
76+
* Updated `rich:12.6.0` to `13.7.1`
77+
* Updated `pandas:1.5.3` to `2.2.2`
78+
* Updated `tenacity:8.5.0` to `9.0.0`
79+
* Updated `importlib-metadata:7.2.1` to `8.4.0`
80+
* Updated `pytest-check-links:0.9.3` to `0.10.1`
81+
* Updated `pytest:7.4.4` to `8.3.2`
82+
* Updated `cfn-lint:0.65.1` to `1.10.3`
83+
* Updated `localstack:3.5.0` to `3.6.0`
84+
* Updated `docker:6.1.3` to `7.1.0`
85+
* Updated `fabric:2.7.1` to `3.2.2`
86+
* Updated `requests:2.31.0` to `2.32.3`
87+
* Removed explicit declaration of dependency `numpy`

doc/developer_guide/testing.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ poetry run exasol/ds/sandbox/main.py \
1919
To use an existing docker image in the tests in `integration/test_create_dss_docker_image.py`, simply add the CLI option `--dss-docker-image` when calling `pytest`:
2020

2121
```shell
22-
poetry run pytest --dss-docker-image exasol/ai-lab:2.1.0
22+
poetry run pytest --dss-docker-image exasol/ai-lab:3.0.0
2323
```
2424

2525
## Tests for Jupyter Notebooks

doc/user_guide/docker/docker-usage.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ The Unix shell commands in the following sections will use some environment vari
2121
Here is an example:
2222

2323
```shell
24-
VERSION=2.1.0
24+
VERSION=3.0.0
2525
LISTEN_IP=0.0.0.0
2626
VOLUME=my-vol
2727
CONTAINER_NAME=ai-lab

doc/user_guide/vm-edition/win-vbox.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
## Select Virtual machine Name and Operating System
1010

1111
* Create a new virtual machine
12-
* Enter a name for your virtual machine, e.g. "Exasol-AI-Lab-2.1.0"
12+
* Enter a name for your virtual machine, e.g. "Exasol-AI-Lab-3.0.0"
1313
* Select a folder to store the VM image to
1414
* Select operating system "Linux", e.g. version "Ubuntu 22.04"
1515
* Click button "Next"
Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,2 @@
11
jupyterlab==4.1.1
2-
# enable interactive Javascript widgets in the notebooks
3-
ipywidgets==8.1.1
42
pexpect==4.8.0
5-
pyexasol==0.16.1

0 commit comments

Comments
 (0)