diff --git a/CHANGELOG.md b/CHANGELOG.md index 7a85148e3..0671ab5f5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -26,6 +26,7 @@ All notable changes to this project will be documented in this file. ### Removed - opensearch: Remove the `performance-analyzer` plugin from the OpenSearch image ([#1357]). +- superset: Remove 4.0.2 and 4.1.2 ([#1394]). ### Fixed @@ -48,6 +49,7 @@ All notable changes to this project will be documented in this file. [#1388]: https://github.com/stackabletech/docker-images/pull/1388 [#1389]: https://github.com/stackabletech/docker-images/pull/1389 [#1393]: https://github.com/stackabletech/docker-images/pull/1393 +[#1394]: https://github.com/stackabletech/docker-images/pull/1394 ## [25.11.0] - 2025-11-07 diff --git a/superset/boil-config.toml b/superset/boil-config.toml index b3635002f..bb002298e 100644 --- a/superset/boil-config.toml +++ b/superset/boil-config.toml @@ -1,31 +1,3 @@ -[versions."4.0.2".local-images] -"shared/statsd-exporter" = "0.28.0" -stackable-devel = "1.0.0" -vector = "0.52.0" - -[versions."4.0.2".build-arguments] -cyclonedx-bom-version = "6.0.0" -# Find the flask-appbuilder version in the applicable constraints.txt file, then find the authlib version. -# https://github.com/dpgaspar/Flask-AppBuilder/blob/release/4.4.1/requirements/extra.txt#L7 -authlib-version = "1.2.1" -python-version = "3.9" -uv-version = "0.7.3" -nodejs-version = "20" - -[versions."4.1.2".local-images] -"shared/statsd-exporter" = "0.28.0" -stackable-devel = "1.0.0" -vector = "0.52.0" - -[versions."4.1.2".build-arguments] -cyclonedx-bom-version = "6.0.0" -# Find the flask-appbuilder version in the applicable constraints.txt file, then find the authlib version. -# https://github.com/dpgaspar/Flask-AppBuilder/blob/release/4.5.0/requirements/extra.txt#L7 -authlib-version = "1.2.1" -python-version = "3.9" -uv-version = "0.7.3" -nodejs-version = "20" - [versions."4.1.4".local-images] "shared/statsd-exporter" = "0.28.0" stackable-devel = "1.0.0" diff --git a/superset/stackable/constraints/4.0.2/build-constraints.txt b/superset/stackable/constraints/4.0.2/build-constraints.txt deleted file mode 100644 index 41ed75c95..000000000 --- a/superset/stackable/constraints/4.0.2/build-constraints.txt +++ /dev/null @@ -1 +0,0 @@ -Cython==3.0.12 diff --git a/superset/stackable/constraints/4.0.2/constraints.txt b/superset/stackable/constraints/4.0.2/constraints.txt deleted file mode 100644 index bcd07c8ee..000000000 --- a/superset/stackable/constraints/4.0.2/constraints.txt +++ /dev/null @@ -1,399 +0,0 @@ -# from https://github.com/apache/superset/blob/4.0.2/requirements/base.txt -alembic==1.6.5 - # via flask-migrate -amqp==5.1.1 - # via kombu -apispec==6.3.0 - # via flask-appbuilder -apsw==3.42.0.1 - # via shillelagh -async-timeout==4.0.2 - # via redis -attrs==23.1.0 - # via - # cattrs - # jsonschema - # requests-cache -babel==2.9.1 - # via flask-babel -backoff==1.11.1 - # via apache-superset -bcrypt==4.0.1 - # via paramiko -billiard==4.2.0 - # via celery -bottleneck==1.3.7 - # via pandas -brotli==1.0.9 - # via flask-compress -cachelib==0.9.0 - # via - # flask-caching - # flask-session -cachetools==5.3.2 - # via google-auth -cattrs==23.2.1 - # via requests-cache -celery==5.3.6 - # via apache-superset -certifi==2023.7.22 - # via requests -cffi==1.15.1 - # via - # cryptography - # pynacl -charset-normalizer==3.2.0 - # via requests -click==8.1.3 - # via - # apache-superset - # celery - # click-didyoumean - # click-option-group - # click-plugins - # click-repl - # flask - # flask-appbuilder -click-didyoumean==0.3.0 - # via celery -click-option-group==0.5.5 - # via apache-superset -click-plugins==1.1.1 - # via celery -click-repl==0.2.0 - # via celery -colorama==0.4.6 - # via - # apache-superset - # flask-appbuilder -cron-descriptor==1.2.24 - # via apache-superset -croniter==1.0.15 - # via apache-superset -cryptography==42.0.4 - # via - # apache-superset - # paramiko -deprecated==1.2.13 - # via limits -deprecation==2.1.0 - # via apache-superset -dnspython==2.1.0 - # via email-validator -email-validator==1.1.3 - # via flask-appbuilder -flask==2.2.5 - # via - # apache-superset - # flask-appbuilder - # flask-babel - # flask-caching - # flask-compress - # flask-jwt-extended - # flask-limiter - # flask-login - # flask-migrate - # flask-session - # flask-sqlalchemy - # flask-wtf -flask-appbuilder==4.4.1 - # via apache-superset -flask-babel==1.0.0 - # via flask-appbuilder -flask-caching==2.1.0 - # via apache-superset -flask-compress==1.13 - # via apache-superset -flask-jwt-extended==4.3.1 - # via flask-appbuilder -flask-limiter==3.3.1 - # via flask-appbuilder -flask-login==0.6.3 - # via - # apache-superset - # flask-appbuilder -flask-migrate==3.1.0 - # via apache-superset -flask-session==0.5.0 - # via apache-superset -flask-sqlalchemy==2.5.1 - # via - # flask-appbuilder - # flask-migrate -flask-talisman==1.0.0 - # via apache-superset -flask-wtf==1.2.1 - # via - # apache-superset - # flask-appbuilder -func-timeout==4.3.5 - # via apache-superset -geographiclib==1.52 - # via geopy -geopy==2.2.0 - # via apache-superset -google-auth==2.27.0 - # via shillelagh -greenlet==3.0.3 - # via - # shillelagh - # sqlalchemy -gunicorn==21.2.0 - # via apache-superset -hashids==1.3.1 - # via apache-superset -holidays==0.25 - # via apache-superset -humanize==3.11.0 - # via apache-superset -idna==3.2 - # via - # email-validator - # requests -importlib-metadata==6.6.0 - # via apache-superset -importlib-resources==5.12.0 - # via limits -isodate==0.6.0 - # via apache-superset -itsdangerous==2.1.2 - # via - # flask - # flask-wtf -jinja2==3.1.3 - # via - # flask - # flask-babel -jsonschema==4.17.3 - # via flask-appbuilder -kombu==5.3.4 - # via celery -korean-lunar-calendar==0.3.1 - # via holidays -limits==3.4.0 - # via flask-limiter -llvmlite==0.40.1 - # via numba -mako==1.2.4 - # via - # alembic - # apache-superset -markdown==3.3.4 - # via apache-superset -markdown-it-py==2.2.0 - # via rich -markupsafe==2.1.1 - # via - # jinja2 - # mako - # werkzeug - # wtforms -marshmallow==3.19.0 - # via - # flask-appbuilder - # marshmallow-sqlalchemy -marshmallow-sqlalchemy==0.23.1 - # via flask-appbuilder -mdurl==0.1.2 - # via markdown-it-py -msgpack==1.0.2 - # via apache-superset -nh3==0.2.11 - # via apache-superset -numba==0.57.1 - # via pandas -numexpr==2.9.0 - # via - # -r requirements/base.in - # pandas -numpy==1.23.5 - # via - # apache-superset - # bottleneck - # numba - # numexpr - # pandas - # pyarrow -ordered-set==4.1.0 - # via flask-limiter -packaging==23.1 - # via - # apache-superset - # apispec - # deprecation - # gunicorn - # limits - # marshmallow - # shillelagh -pandas==2.0.3 - # via apache-superset -paramiko==3.4.0 - # via - # apache-superset - # sshtunnel -parsedatetime==2.6 - # via apache-superset -pgsanity==0.2.9 - # via apache-superset -platformdirs==3.8.1 - # via requests-cache -polyline==2.0.0 - # via apache-superset -prison==0.2.1 - # via flask-appbuilder -prompt-toolkit==3.0.38 - # via click-repl -pyarrow==14.0.1 - # via apache-superset -pyasn1==0.5.1 - # via - # pyasn1-modules - # rsa -pyasn1-modules==0.3.0 - # via google-auth -pycparser==2.20 - # via cffi -pygments==2.15.0 - # via rich -pyjwt==2.4.0 - # via - # apache-superset - # flask-appbuilder - # flask-jwt-extended -pynacl==1.5.0 - # via paramiko -pyparsing==3.0.6 - # via apache-superset -pyrsistent==0.19.3 - # via jsonschema -python-dateutil==2.8.2 - # via - # alembic - # apache-superset - # celery - # croniter - # flask-appbuilder - # holidays - # pandas - # shillelagh -python-dotenv==0.19.0 - # via apache-superset -python-editor==1.0.4 - # via alembic -python-geohash==0.8.5 - # via apache-superset -pytz==2021.3 - # via - # babel - # flask-babel - # pandas -pyyaml==6.0.1 - # via - # apache-superset - # apispec -redis==4.5.4 - # via apache-superset -requests==2.31.0 - # via - # requests-cache - # shillelagh -requests-cache==1.1.1 - # via shillelagh -rich==13.3.4 - # via flask-limiter -rsa==4.9 - # via google-auth -selenium==3.141.0 - # via apache-superset -shillelagh==1.2.10 - # via apache-superset -shortid==0.1.2 - # via apache-superset -simplejson==3.17.3 - # via apache-superset -six==1.16.0 - # via - # click-repl - # isodate - # prison - # python-dateutil - # url-normalize - # wtforms-json -slack-sdk==3.21.3 - # via apache-superset -sqlalchemy==1.4.36 - # via - # alembic - # apache-superset - # flask-appbuilder - # flask-sqlalchemy - # marshmallow-sqlalchemy - # shillelagh - # sqlalchemy-utils -sqlalchemy-utils==0.38.3 - # via - # apache-superset - # flask-appbuilder -sqlglot==23.0.2 - # via apache-superset -sqlparse==0.4.4 - # via apache-superset -sshtunnel==0.4.0 - # via apache-superset -tabulate==0.8.9 - # via apache-superset -typing-extensions==4.4.0 - # via - # apache-superset - # flask-limiter - # limits - # shillelagh -tzdata==2023.3 - # via - # celery - # pandas -url-normalize==1.4.3 - # via requests-cache -urllib3==1.26.18 - # via - # -r requirements/base.in - # requests - # requests-cache - # selenium -vine==5.1.0 - # via - # amqp - # celery - # kombu -wcwidth==0.2.5 - # via prompt-toolkit -werkzeug==3.0.1 - # via - # -r requirements/base.in - # flask - # flask-appbuilder - # flask-jwt-extended - # flask-login -wrapt==1.15.0 - # via deprecated -wtforms==2.3.3 - # via - # apache-superset - # flask-appbuilder - # flask-wtf - # wtforms-json -wtforms-json==0.3.5 - # via apache-superset -xlsxwriter==3.0.7 - # via apache-superset -zipp==3.15.0 - # via importlib-metadata -# from https://github.com/apache/superset/blob/4.0.2/requirements/docker.txt -gevent==23.9.1 - # via apache-superset -psycopg2-binary==2.9.6 - # via apache-superset -zope-event==4.5.0 - # via gevent -zope-interface==5.4.0 - # via gevent diff --git a/superset/stackable/constraints/4.1.2/build-constraints.txt b/superset/stackable/constraints/4.1.2/build-constraints.txt deleted file mode 100644 index 41ed75c95..000000000 --- a/superset/stackable/constraints/4.1.2/build-constraints.txt +++ /dev/null @@ -1 +0,0 @@ -Cython==3.0.12 diff --git a/superset/stackable/constraints/4.1.2/constraints.txt b/superset/stackable/constraints/4.1.2/constraints.txt deleted file mode 100644 index 859a9ebc7..000000000 --- a/superset/stackable/constraints/4.1.2/constraints.txt +++ /dev/null @@ -1,397 +0,0 @@ -# from https://raw.githubusercontent.com/apache/superset/refs/tags/4.1.2/requirements/base.txt -alembic==1.13.1 - # via flask-migrate -amqp==5.2.0 - # via kombu -apispec==6.3.0 - # via flask-appbuilder -apsw==3.46.0.0 - # via shillelagh -attrs==23.2.0 - # via - # cattrs - # jsonschema - # requests-cache -babel==2.15.0 - # via flask-babel -backoff==2.2.1 - # via apache-superset -bcrypt==4.1.3 - # via paramiko -billiard==4.2.0 - # via celery -blinker==1.8.2 - # via flask -bottleneck==1.3.8 - # via pandas -brotli==1.1.0 - # via flask-compress -cachelib==0.9.0 - # via - # flask-caching - # flask-session -cachetools==5.3.3 - # via google-auth -cattrs==23.2.3 - # via requests-cache -celery==5.4.0 - # via apache-superset -certifi==2024.2.2 - # via requests -cffi==1.16.0 - # via - # cryptography - # pynacl -charset-normalizer==3.3.2 - # via requests -click==8.1.7 - # via - # apache-superset - # celery - # click-didyoumean - # click-option-group - # click-plugins - # click-repl - # flask - # flask-appbuilder -click-didyoumean==0.3.1 - # via celery -click-option-group==0.5.6 - # via apache-superset -click-plugins==1.1.1 - # via celery -click-repl==0.3.0 - # via celery -colorama==0.4.6 - # via - # apache-superset - # flask-appbuilder -cron-descriptor==1.4.3 - # via apache-superset -croniter==2.0.5 - # via apache-superset -cryptography==42.0.7 - # via - # apache-superset - # paramiko - # pyopenssl -deprecated==1.2.14 - # via limits -deprecation==2.1.0 - # via apache-superset -dnspython==2.6.1 - # via email-validator -email-validator==2.1.1 - # via flask-appbuilder -flask==2.3.3 - # via - # apache-superset - # flask-appbuilder - # flask-babel - # flask-caching - # flask-compress - # flask-jwt-extended - # flask-limiter - # flask-login - # flask-migrate - # flask-session - # flask-sqlalchemy - # flask-wtf -flask-appbuilder==4.5.0 - # via apache-superset -flask-babel==2.0.0 - # via flask-appbuilder -flask-caching==2.3.0 - # via apache-superset -flask-compress==1.15 - # via apache-superset -flask-jwt-extended==4.6.0 - # via flask-appbuilder -flask-limiter==3.7.0 - # via flask-appbuilder -flask-login==0.6.3 - # via - # apache-superset - # flask-appbuilder -flask-migrate==3.1.0 - # via apache-superset -flask-session==0.8.0 - # via apache-superset -flask-sqlalchemy==2.5.1 - # via - # flask-appbuilder - # flask-migrate -flask-talisman==1.1.0 - # via apache-superset -flask-wtf==1.2.1 - # via - # apache-superset - # flask-appbuilder -func-timeout==4.3.5 - # via apache-superset -geographiclib==2.0 - # via geopy -geopy==2.4.1 - # via apache-superset -google-auth==2.29.0 - # via shillelagh -greenlet==3.0.3 - # via shillelagh -gunicorn==22.0.0 - # via apache-superset -hashids==1.3.1 - # via apache-superset -holidays==0.25 - # via apache-superset -humanize==4.9.0 - # via apache-superset -idna==3.7 - # via - # email-validator - # requests -importlib-metadata==7.1.0 - # via apache-superset -importlib-resources==6.4.0 - # via limits -isodate==0.6.1 - # via apache-superset -itsdangerous==2.2.0 - # via - # flask - # flask-wtf -jinja2==3.1.4 - # via - # flask - # flask-babel -jsonpath-ng==1.6.1 - # via apache-superset -jsonschema==4.17.3 - # via flask-appbuilder -kombu==5.3.7 - # via celery -korean-lunar-calendar==0.3.1 - # via holidays -limits==3.12.0 - # via flask-limiter -llvmlite==0.42.0 - # via numba -mako==1.3.5 - # via - # alembic - # apache-superset -markdown==3.6 - # via apache-superset -markdown-it-py==3.0.0 - # via rich -markupsafe==2.1.5 - # via - # jinja2 - # mako - # werkzeug - # wtforms -marshmallow==3.21.2 - # via - # flask-appbuilder - # marshmallow-sqlalchemy -marshmallow-sqlalchemy==0.28.2 - # via flask-appbuilder -mdurl==0.1.2 - # via markdown-it-py -msgpack==1.0.8 - # via apache-superset -msgspec==0.18.6 - # via flask-session -nh3==0.2.17 - # via apache-superset -numba==0.59.1 - # via pandas -numexpr==2.10.0 - # via - # -r requirements/base.in - # pandas -numpy==1.23.5 - # via - # apache-superset - # bottleneck - # numba - # numexpr - # pandas - # pyarrow -ordered-set==4.1.0 - # via flask-limiter -packaging==23.2 - # via - # apache-superset - # apispec - # deprecation - # gunicorn - # limits - # marshmallow - # marshmallow-sqlalchemy - # shillelagh -pandas==2.0.3 - # via apache-superset -paramiko==3.4.0 - # via - # apache-superset - # sshtunnel -parsedatetime==2.6 - # via apache-superset -pgsanity==0.2.9 - # via apache-superset -platformdirs==3.8.1 - # via requests-cache -ply==3.11 - # via jsonpath-ng -polyline==2.0.2 - # via apache-superset -prison==0.2.1 - # via flask-appbuilder -prompt-toolkit==3.0.44 - # via click-repl -pyarrow==14.0.2 - # via apache-superset -pyasn1==0.6.0 - # via - # pyasn1-modules - # rsa -pyasn1-modules==0.4.0 - # via google-auth -pycparser==2.22 - # via cffi -pygments==2.18.0 - # via rich -pyjwt==2.8.0 - # via - # apache-superset - # flask-appbuilder - # flask-jwt-extended -pynacl==1.5.0 - # via paramiko -pyopenssl==24.1.0 - # via shillelagh -pyparsing==3.1.2 - # via apache-superset -pyrsistent==0.20.0 - # via jsonschema -python-dateutil==2.9.0.post0 - # via - # apache-superset - # celery - # croniter - # flask-appbuilder - # holidays - # pandas - # shillelagh -python-dotenv==1.0.1 - # via apache-superset -python-geohash==0.8.5 - # via apache-superset -pytz==2024.1 - # via - # croniter - # flask-babel - # pandas -pyyaml==6.0.1 - # via - # apache-superset - # apispec -redis==4.6.0 - # via apache-superset -requests==2.32.2 - # via - # requests-cache - # shillelagh -requests-cache==1.2.0 - # via shillelagh -rich==13.7.1 - # via flask-limiter -rsa==4.9 - # via google-auth -selenium==3.141.0 - # via apache-superset -shillelagh==1.2.18 - # via apache-superset -shortid==0.1.2 - # via apache-superset -simplejson==3.19.2 - # via apache-superset -six==1.16.0 - # via - # isodate - # prison - # python-dateutil - # url-normalize - # wtforms-json -slack-sdk==3.27.2 - # via apache-superset -sqlalchemy==1.4.52 - # via - # alembic - # apache-superset - # flask-appbuilder - # flask-sqlalchemy - # marshmallow-sqlalchemy - # shillelagh - # sqlalchemy-utils -sqlalchemy-utils==0.38.3 - # via - # apache-superset - # flask-appbuilder -sqlglot==25.24.0 - # via apache-superset -sqlparse==0.5.0 - # via apache-superset -sshtunnel==0.4.0 - # via apache-superset -tabulate==0.8.10 - # via apache-superset -typing-extensions==4.12.0 - # via - # alembic - # apache-superset - # flask-limiter - # limits - # shillelagh -tzdata==2024.1 - # via - # celery - # pandas -url-normalize==1.4.3 - # via requests-cache -urllib3==1.26.18 - # via - # -r requirements/base.in - # requests - # requests-cache - # selenium -vine==5.1.0 - # via - # amqp - # celery - # kombu -wcwidth==0.2.13 - # via prompt-toolkit -werkzeug==3.0.6 - # via - # -r requirements/base.in - # flask - # flask-appbuilder - # flask-jwt-extended - # flask-login -wrapt==1.16.0 - # via deprecated -wtforms==3.1.2 - # via - # apache-superset - # flask-appbuilder - # flask-wtf - # wtforms-json -wtforms-json==0.3.5 - # via apache-superset -xlsxwriter==3.0.9 - # via apache-superset -zipp==3.19.0 - # via importlib-metadata -zstandard==0.22.0 - # via flask-compress diff --git a/superset/stackable/patches/4.0.2/patchable.toml b/superset/stackable/patches/4.0.2/patchable.toml deleted file mode 100644 index 9a3a4f33d..000000000 --- a/superset/stackable/patches/4.0.2/patchable.toml +++ /dev/null @@ -1 +0,0 @@ -base = "f11fa091e261a35f4d39d8567a859fad07547d84" diff --git a/superset/stackable/patches/4.1.2/0001-fix-pin-luxon-to-fix-build.patch b/superset/stackable/patches/4.1.2/0001-fix-pin-luxon-to-fix-build.patch deleted file mode 100644 index dd944eb38..000000000 --- a/superset/stackable/patches/4.1.2/0001-fix-pin-luxon-to-fix-build.patch +++ /dev/null @@ -1,23 +0,0 @@ -From fcff47eb39942ca5699ca31046ac0130da54fee8 Mon Sep 17 00:00:00 2001 -From: dervoeti -Date: Wed, 22 Oct 2025 17:04:19 +0200 -Subject: fix: pin luxon to fix build - -For some reason npm tries to use a newer version of luxon than the version in the lock file. I suspect this might be related to how npm before version 11 handles workspace dependencies in lock files. The luxon version is set to 3.5.0 now to prevent npm from trying to select a newer version, so that the same packages as in the original Superset build are used. ---- - superset-frontend/package.json | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/superset-frontend/package.json b/superset-frontend/package.json -index ebca197a2..bb2641a67 100644 ---- a/superset-frontend/package.json -+++ b/superset-frontend/package.json -@@ -148,7 +148,7 @@ - "json-bigint": "^1.0.0", - "json-stringify-pretty-compact": "^2.0.0", - "lodash": "^4.17.21", -- "luxon": "^3.5.0", -+ "luxon": "3.5.0", - "mapbox-gl": "^2.10.0", - "markdown-to-jsx": "^7.4.7", - "match-sorter": "^6.3.4", diff --git a/superset/stackable/patches/4.1.2/0002-pin-sax-to-1.2.4.patch b/superset/stackable/patches/4.1.2/0002-pin-sax-to-1.2.4.patch deleted file mode 100644 index c2bf190c2..000000000 --- a/superset/stackable/patches/4.1.2/0002-pin-sax-to-1.2.4.patch +++ /dev/null @@ -1,31 +0,0 @@ -From bfb1e27ad0c7736d4db12a9901f8c73c5f7f4461 Mon Sep 17 00:00:00 2001 -From: Techassi -Date: Tue, 16 Dec 2025 10:01:19 +0100 -Subject: pin sax to 1.2.4 - -This is a similar issue to what we already discovered in #1315 -and #1316. For more details, see the linked PRs. ---- - superset-frontend/package.json | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -diff --git a/superset-frontend/package.json b/superset-frontend/package.json -index bb2641a67..8271aece2 100644 ---- a/superset-frontend/package.json -+++ b/superset-frontend/package.json -@@ -365,11 +365,12 @@ - "ansi-regex": "^4.1.1" - }, - "puppeteer": "^22.4.1", -- "@types/react": "^16.9.53" -+ "@types/react": "^16.9.53", -+ "sax": "1.2.4" - }, - "readme": "ERROR: No README data found!", - "scarfSettings": { - "allowTopLevel": true - }, - "_id": "superset@0.0.0-dev" --} -+} -\ No newline at end of file diff --git a/superset/stackable/patches/4.1.2/patchable.toml b/superset/stackable/patches/4.1.2/patchable.toml deleted file mode 100644 index c1b0863e6..000000000 --- a/superset/stackable/patches/4.1.2/patchable.toml +++ /dev/null @@ -1 +0,0 @@ -base = "72538bda06c0deef2140e0df65bf0a13bcddb16c"