Skip to content

refactor: engine enforce SQLAlchemy 2.0 - #42277

Merged
rusackas merged 5 commits into
apache:masterfrom
hy144328:refactor/sqlalchemy-migration-future-engine
Jul 22, 2026
Merged

refactor: engine enforce SQLAlchemy 2.0#42277
rusackas merged 5 commits into
apache:masterfrom
hy144328:refactor/sqlalchemy-migration-future-engine

Conversation

@hy144328

@hy144328 hy144328 commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

See #40273 .

SUMMARY

After all warnings about Engine transactions incompatible with the SQLAlchemy 2.0 API have been converted to errors, this PR goes a step further.
create_engine() is now called with future=True everywhere so that only the SQLAlchemy 2.0 API is allowed with Engine transactions.
Wherever we perform assertions on Engine mocks in unit tests, we have to temporarily modify those assertions with the future flag in order to pass.

BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF

TESTING INSTRUCTIONS

Unit tests:

SQLALCHEMY_WARN_20=1 python3 -m pytest tests/unit_tests/

Integration tests via CI.

ADDITIONAL INFORMATION

  • Has associated issue:
  • Required feature flags:
  • Changes UI
  • Includes DB Migration (follow approval process in SIP-59)
    • Migration is atomic, supports rollback & is backwards-compatible
    • Confirm DB migration upgrade and downgrade tested
    • Runtime estimates and downtime expectations provided
  • Introduces new feature or API
  • Removes existing feature or API

@hy144328
hy144328 marked this pull request as draft July 21, 2026 17:50
@github-actions github-actions Bot added risk:db-migration PRs that require a DB migration risk:ci-script PR modifies scripts that execute in CI (supply chain risk) labels Jul 21, 2026
@dosubot dosubot Bot added the risk:refactor High risk as it involves large refactoring work label Jul 21, 2026
@netlify

netlify Bot commented Jul 21, 2026

Copy link
Copy Markdown

Deploy Preview for superset-docs-preview ready!

Name Link
🔨 Latest commit ff9d04f
🔍 Latest deploy log https://app.netlify.com/projects/superset-docs-preview/deploys/6a5fba4a0d3a6500088ee441
😎 Deploy Preview https://deploy-preview-42277--superset-docs-preview.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
🤖 Make changes Run an agent on this branch

To edit notification comments on pull requests, go to your Netlify project configuration.

Comment thread superset/cli/test_db.py Outdated
Comment thread superset/models/core.py Outdated
@codecov

codecov Bot commented Jul 21, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 25.00000% with 3 lines in your changes missing coverage. Please review.
✅ Project coverage is 65.11%. Comparing base (0dd06f3) to head (b0bb20f).
⚠️ Report is 2 commits behind head on master.

Files with missing lines Patch % Lines
superset/cli/test_db.py 0.00% 2 Missing ⚠️
superset/models/core.py 50.00% 0 Missing and 1 partial ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           master   #42277      +/-   ##
==========================================
- Coverage   65.20%   65.11%   -0.10%     
==========================================
  Files        2774     2784      +10     
  Lines      156723   157382     +659     
  Branches    35771    35832      +61     
==========================================
+ Hits       102195   102479     +284     
- Misses      52560    52933     +373     
- Partials     1968     1970       +2     
Flag Coverage Δ
hive 38.74% <25.00%> (+0.05%) ⬆️
mysql 57.66% <25.00%> (-0.13%) ⬇️
postgres 57.71% <25.00%> (-0.13%) ⬇️
presto 40.65% <25.00%> (+0.04%) ⬆️
python 59.09% <25.00%> (-0.14%) ⬇️
sqlite 57.32% <25.00%> (-0.12%) ⬇️
unit 100.00% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@hy144328
hy144328 force-pushed the refactor/sqlalchemy-migration-future-engine branch from acf2918 to ff9d04f Compare July 21, 2026 18:28
@hy144328
hy144328 force-pushed the refactor/sqlalchemy-migration-future-engine branch from 15a5787 to c49cedb Compare July 21, 2026 19:00
@pull-request-size pull-request-size Bot added size/L and removed size/M labels Jul 21, 2026
@hy144328
hy144328 marked this pull request as ready for review July 21, 2026 19:42
@dosubot dosubot Bot added the change:backend Requires changing the backend label Jul 21, 2026
@hy144328

hy144328 commented Jul 21, 2026

Copy link
Copy Markdown
Contributor Author

@rusackas This should be ready for review, too.
I am quite pleased that it caught a few cases in the integration tests where the code had regressed due to concurrent PRs, e.g. incorrect use of engine.connect(), which does not autocommit anymore.
They were not caught because the SQLALCHEMY_WARN_20 environment variable is only added to the unit test CI.
I wonder if this would be a good time now since we bumping versions has a real chance of breaking things.
Or in other words, a follow-up to #41915 ?

@bito-code-review

bito-code-review Bot commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

Code Review Agent Run #2b63be

Actionable Suggestions - 0
Additional Suggestions - 3
  • tests/unit_tests/security/exclude_users_filter_test.py - 1
    • Inconsistent engine configuration · Line 47-47
      The diff applies `future=True` to one test function (line 47) but three other functions in the same file still use `create_engine("sqlite://")` without this flag (lines 72, 108, 146). This creates divergent engine configurations that may cause inconsistent behavior across tests. The codebase convention (evidenced by 30+ usages) is to use `future=True` with SQLAlchemy 1.4 for future 2.0 compatibility.
  • superset/cli/test_db.py - 2
    • Input dict mutation side effect · Line 283-284
      This function mutates `engine_kwargs` in-place, which is a side effect on the caller's object. If the caller retains a reference after calling this function, unexpected behavior could occur. Consider copying the dict first to keep the function's interface pure.
    • Semantic duplication with core.py · Line 283-284
      The same `if 'future' not in engine_kwargs: engine_kwargs['future'] = True` pattern exists in `superset/models/core.py:647-648`. Duplicating this logic creates maintenance risk if the default behavior needs to change.
Filtered by Review Rules

Bito filtered these suggestions based on rules created automatically for your feedback. Manage rules.

  • superset/migrations/versions/2018-06-13_10-20_4451805bbaa1_remove_double_percents.py - 2
Review Details
  • Files reviewed - 28 · Commit Range: 84630f5..b0bb20f
    • scripts/benchmark_migration.py
    • superset/cli/test_db.py
    • superset/db_engine_specs/gsheets.py
    • superset/migrations/versions/2018-06-13_10-20_4451805bbaa1_remove_double_percents.py
    • superset/models/core.py
    • tests/integration_tests/dao/conftest.py
    • tests/integration_tests/fixtures/datasource.py
    • tests/integration_tests/migrations/composite_pk_association_tables__tests.py
    • tests/integration_tests/migrations/composite_pk_round_trip__tests.py
    • tests/unit_tests/charts/test_filters.py
    • tests/unit_tests/conftest.py
    • tests/unit_tests/connectors/sqla/models_test.py
    • tests/unit_tests/databases/filters_test.py
    • tests/unit_tests/db_engine_specs/test_gsheets.py
    • tests/unit_tests/db_engine_specs/test_sqlite.py
    • tests/unit_tests/extensions/test_sqlalchemy.py
    • tests/unit_tests/migrations/composite_pk_association_tables_test.py
    • tests/unit_tests/migrations/test_add_deleted_at_to_dashboards.py
    • tests/unit_tests/migrations/test_add_deleted_at_to_slices.py
    • tests/unit_tests/migrations/test_add_deleted_at_to_tables.py
    • tests/unit_tests/migrations/test_strip_metricsqlexpressions_from_ag_grid_params.py
    • tests/unit_tests/models/core_test.py
    • tests/unit_tests/models/helpers_test.py
    • tests/unit_tests/models/owner_association_tables_test.py
    • tests/unit_tests/security/exclude_users_filter_test.py
    • tests/unit_tests/utils/filters_test.py
    • tests/unit_tests/utils/pandas_sqlalchemy_compat_test.py
    • tests/unit_tests/versioning/test_listener.py
  • Files skipped - 0
  • Tools
    • MyPy (Static Code Analysis) - ✔︎ Successful
    • Astral Ruff (Static Code Analysis) - ✔︎ Successful
    • Whispers (Secret Scanner) - ✔︎ Successful
    • Detect-secrets (Secret Scanner) - ✔︎ Successful

Bito Usage Guide

Commands

Type the following command in the pull request comment and save the comment.

  • /review - Manually triggers a full AI review.

  • /pause - Pauses automatic reviews on this pull request.

  • /resume - Resumes automatic reviews.

  • /resolve - Marks all Bito-posted review comments as resolved.

  • /abort - Cancels all in-progress reviews.

Refer to the documentation for additional commands.

Configuration

This repository uses Superset You can customize the agent settings here or contact your Bito workspace admin at evan@preset.io.

Documentation & Help

AI Code Review powered by Bito Logo

@rusackas rusackas left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @hy144328, LGTM, approving.

Codeant's two threads on the duplicate future kwarg look resolved already in ff9d04f.

One nit, not blocking: exclude_users_filter_test.py only picked up future=True on one of its four create_engine calls, the other three are still bare. Worth a quick follow-up pass for consistency, no rush.

On your question, I think yes, SQLALCHEMY_WARN_20=1 on the integration matrix is worth doing as a follow-up to #41915. I'd rather it land as its own PR though, flipping that switch on postgres/mysql/sqlite/hive/presto will probably shake loose a few more stray engine.connect() spots that deserve their own look. Holler if you want a hand with either.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR tightens Superset’s SQLAlchemy usage toward the 2.0-style API by consistently enabling “future” engine behavior (future=True) on create_engine() calls, and updates unit/integration tests (and a couple of runtime utilities) to match the new engine initialization expectations.

Changes:

  • Default future=True for database engine creation in Database._get_sqla_engine (and in the superset test-db CLI path when not explicitly provided).
  • Update many unit/integration tests to create SQLAlchemy engines with future=True, and adjust mock assertions accordingly.
  • Update a legacy migration and some test migration harnesses to use transaction-friendly connection patterns (engine.begin()).

Reviewed changes

Copilot reviewed 28 out of 28 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
tests/unit_tests/versioning/test_listener.py Uses future=True when creating the in-memory SQLite engine for lifecycle session tests.
tests/unit_tests/utils/pandas_sqlalchemy_compat_test.py Creates test engine with future=True for pandas SQLAlchemy compatibility coverage.
tests/unit_tests/utils/filters_test.py Compiles SQLAlchemy clauses using a future=True engine (and adjusts compile kwargs formatting).
tests/unit_tests/security/exclude_users_filter_test.py Uses future=True for the in-memory engine used by the exclude-users filter tests.
tests/unit_tests/models/owner_association_tables_test.py Uses future=True for the standalone SQLite engine used to validate constraints.
tests/unit_tests/models/helpers_test.py Adds future=True to several create_engine calls used by helper/model tests.
tests/unit_tests/models/core_test.py Updates create_engine mock assertions and test engine creation to include future=True.
tests/unit_tests/migrations/test_strip_metricsqlexpressions_from_ag_grid_params.py Uses future=True for the in-memory migration test engine.
tests/unit_tests/migrations/test_add_deleted_at_to_tables.py Uses future=True for the in-memory migration test engine.
tests/unit_tests/migrations/test_add_deleted_at_to_slices.py Uses future=True for the in-memory migration test engine.
tests/unit_tests/migrations/test_add_deleted_at_to_dashboards.py Uses future=True for the in-memory migration test engine.
tests/unit_tests/migrations/composite_pk_association_tables_test.py Uses future=True for the in-memory engine that exercises composite PK migration logic.
tests/unit_tests/extensions/test_sqlalchemy.py Uses future=True when creating superset:// engines in dialect tests.
tests/unit_tests/db_engine_specs/test_sqlite.py Uses future=True with SQLite engine in engine spec tests.
tests/unit_tests/db_engine_specs/test_gsheets.py Updates mocked create_engine expectations to include future=True.
tests/unit_tests/databases/filters_test.py Uses future=True for SQLite engines used in database filter tests.
tests/unit_tests/connectors/sqla/models_test.py Uses future=True for engines in connector model tests (including postgres URLs).
tests/unit_tests/conftest.py Updates shared unit-test session fixture to use a future=True engine.
tests/unit_tests/charts/test_filters.py Compiles captured SQLAlchemy clauses against a future=True engine.
tests/integration_tests/migrations/composite_pk_round_trip__tests.py Switches migration runner to engine.begin() and uses future=True engines.
tests/integration_tests/migrations/composite_pk_association_tables__tests.py Uses engine.begin() for Alembic context + future=True engine.
tests/integration_tests/fixtures/datasource.py Uses future=True for the integration fixture engine created from app DB URI.
tests/integration_tests/dao/conftest.py Adds future=True to the in-memory engine used by DAO integration tests.
superset/models/core.py Defaults SQLAlchemy engine creation to future=True for database engines.
superset/migrations/versions/2018-06-13_10-20_4451805bbaa1_remove_double_percents.py Uses future=True for migration-created engines and refactors session handling to context managers.
superset/db_engine_specs/gsheets.py Adds future=True to the gsheets:// engine created during parameter validation.
superset/cli/test_db.py Ensures future=True is set by default for the CLI dialect test unless overridden.
scripts/benchmark_migration.py Uses future=True when creating engine for migration benchmarking reflections.

Comment thread superset/models/core.py
Comment on lines +647 to 649
if "future" not in engine_kwargs:
engine_kwargs["future"] = True
engine = create_engine(sqlalchemy_url, **engine_kwargs)
Comment on lines +392 to 395
future=True,
)
conn = engine.connect()
idx = 0
@rusackas

Copy link
Copy Markdown
Member

I think the copilot findings are skippable here and can be addressed in follow-up touchups (just adding it to the tracker if warranted). Let's merge this thing! Thank you @hy144328 this is huge!

@rusackas
rusackas merged commit 19159d5 into apache:master Jul 22, 2026
91 of 106 checks passed
msyavuz pushed a commit to msyavuz/superset that referenced this pull request Jul 24, 2026
niteshpurohit added a commit to HiMamaInc/superset that referenced this pull request Jul 24, 2026
* refactor(mcp): dedupe list-tool schemas and delete dead middleware (apache#41923)

* fix(ag-grid-table): respect row limit with server pagination (apache#41346)

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>

* feat(table/pivot-table): correct non-additive totals/subtotals via DB rollup [SIP-216] (apache#41184)

Co-authored-by: Superset Dev <dev@superset.apache.org>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Co-authored-by: Amin Ghadersohi <amin.ghadersohi@gmail.com>

* feat(datasets): add RLS filter indicator badge to dataset list and explore view (apache#38807)

Co-authored-by: Evan <evan@preset.io>

* fix(chart): updates counties of kenya map (apache#38019)

Co-authored-by: Zack Adams <zack@Zacks-Laptop.local>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: Evan <evan@preset.io>
Co-authored-by: Evan Rusackas <evan@rusackas.com>

* chore(deps): bump actions/setup-go from 6.5.0 to 7.0.0 (apache#42303)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump nanoid from 5.0.9 to 6.0.0 in /superset-frontend (apache#42230)

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: hainenber <dotronghai96@gmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: hainenber <dotronghai96@gmail.com>
Co-authored-by: Joe Li <joe@preset.io>
Co-authored-by: Evan <evan@preset.io>
Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>

* test(dashboard): migrate dashboard load smoke test to Playwright (apache#41432)

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* fix(superset_app_root): when used with oauth (apache#38033)

Signed-off-by: Grégoire Bellon-Gervais <gregoire.bellon-gervais@docaposte.fr>
Co-authored-by: Evan Rusackas <evan@preset.io>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>

* refactor: engine enforce SQLAlchemy 2.0 (apache#42277)

* fix(ag-grid-table): avoid ambiguous build query import (apache#42313)

* fix: Revert "chore(deps): bump echarts from 5.6.0 to 6.1.0 in /superset-frontend" (apache#42314)

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>

* adding circleci config

* fix(plugin-chart-echarts): import the -obj locale build so time axes render (apache#42317)

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>

* fix(pandas_postprocessing): avoid FutureWarning for max/min in boxplot MINMAX (apache#42272)

* fix(heatmap): correct tooltip axis value lookup and percentage calculations and add tests (apache#41864)

Signed-off-by: yousoph <sophieyou12@gmail.com>
Co-authored-by: Kamil Gabryjelski <kamil.gabryjelski@gmail.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>

* fix(forecast): resolve time grain robustly for Prophet forecasting (apache#42145)

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>

* fix: Added PostgreSQL 17.X to the supported database versions table in (apache#42280)

* fix(helm): add MCP HTTPRoute configuration (apache#42219)

* fix(dashboard): offer Exit edit mode when there is nothing to discard (apache#42208)

Co-authored-by: Claude Code <noreply@anthropic.com>

* chore(deps): bump actions/labeler from 6.2.0 to 7.0.0 (apache#42332)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump github/codeql-action/analyze from 4.37.0 to 4.37.1 (apache#42331)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump github/codeql-action/init from 4.37.0 to 4.37.1 (apache#42334)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps-dev): bump @formatjs/intl-durationformat from 0.10.17 to 0.10.18 in /superset-frontend (apache#42337)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump caniuse-lite from 1.0.30001805 to 1.0.30001806 in /docs (apache#42333)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump echarts to 6.1.0 with locale and containLabel guards (apache#42315) (apache#42321)

Co-authored-by: Claude Code <noreply@anthropic.com>
Co-authored-by: Amin Ghadersohi <amin.ghadersohi@gmail.com>

* docs: add pattern to the list of organisations using superset (apache#42341)

* chore(deps): bump ag-grid from 36.0.0 to 36.0.1 in /superset-frontend (apache#42338)

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: hainenber <dotronghai96@gmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: hainenber <dotronghai96@gmail.com>

* fix(mcp): trust dataset is_dttm flag when applying time_grain to VARCHAR temporal columns (apache#42288)

* chore(deps-dev): update taos-ws-py requirement from >=0.6.9 to >=0.7.0 (apache#42344)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps-dev): bump the storybook group in /superset-frontend with 5 updates (apache#42355)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* fix(native-filters): keep filter value input caret at inline start (apache#42323)

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>

* fix(mcp): truncate query-tool responses instead of hard-failing (apache#42244)

* chore(deps): bump nh3 from 0.3.5 to 0.3.6 (apache#42349)

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Joe Li <joe@preset.io>

* chore(deps): bump pydantic from 2.11.7 to 2.13.4 (apache#42350)

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Joe Li <joe@preset.io>

* chore(deps): bump sqlalchemy-continuum from 1.6.0 to 1.7.0 (apache#42351)

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Joe Li <joe@preset.io>

* fix(embedded): stop rejecting guest chart data built from control-specific params keys (apache#42295)

Co-authored-by: Claude Code <noreply@anthropic.com>

* fix(explore): show the beginning date on time-series x-axis line charts (apache#42046)

* fix(api): add example to get_export_ids_schema so Swagger "Try it out" pre-fills a valid array (apache#42265)

* chore: SQLAlchemy User cascade backref warnings are irrelevant (apache#42360)

* fix(charts): handle async (202) chart-data responses in StatefulChart (apache#42157)

Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
Co-authored-by: Evan Rusackas <evan@preset.io>

* feat(KustoKQL): Add support for NULL / IS NOT NULL operator (apache#37890)

Co-authored-by: ag-ramachandran <ramacg@microsoft.com>
Co-authored-by: Joe Li <joe@preset.io>

* chore(deps): bump pillow from 12.2.0 to 12.3.0 (apache#42348)

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Joe Li <joe@preset.io>

* chore(deps): bump flask-compress from 1.17 to 1.24 (apache#42346)

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Joe Li <joe@preset.io>

* chore(deps-dev): bump databricks-sql-connector from 4.2.6 to 4.3.0 (apache#42347)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Joe Li <joe@preset.io>
Co-authored-by: Evan Rusackas <evan@preset.io>

* fix(native-filters): use FILTER_STATE_CACHE_CONFIG timeout for dynamic filter option queries (apache#38910)

* fix(explore): render Jinja before validating legacy chart filters (apache#41996)

* fix(dataset): disable duplicate button when name is empty (apache#42217)

Co-authored-by: AS-MAC-1123 <as-mac-1123@AS-MAC-1123.local>
Co-authored-by: Evan Rusackas <evan@rusackas.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>

* docs(gunicorn): correct dead links in values.yaml (apache#42385)

* chore(deps): bump @deck.gl/mapbox from 9.3.6 to 9.3.7 in /superset-frontend in the deckgl group (apache#42377)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump actions/checkout from 7.0.0 to 7.0.1 (apache#42376)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump immer from 11.1.11 to 11.1.15 in /superset-frontend (apache#42378)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump body-parser from 1.20.5 to 1.20.6 in /docs (apache#42370)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps-dev): bump brace-expansion from 1.1.15 to 1.1.16 in /superset-embedded-sdk (apache#42369)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* fix(security): bump pyasn1 from 0.6.3 to 0.6.4 (apache#42363)

* fix(security): bump pillow from 12.2.0 to 12.3.0 (apache#42362)

* docs(map-tiles): add Yandex Maps Tiles API configuration (apache#42375)

* ci: improve conditional checks for lillio tests and build

---------

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: hainenber <dotronghai96@gmail.com>
Signed-off-by: Grégoire Bellon-Gervais <gregoire.bellon-gervais@docaposte.fr>
Signed-off-by: yousoph <sophieyou12@gmail.com>
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Amin Ghadersohi <amin.ghadersohi@gmail.com>
Co-authored-by: Evan Rusackas <evan@preset.io>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Co-authored-by: Superset Dev <dev@superset.apache.org>
Co-authored-by: SkinnyPigeon <e.blackledge@stuart.com>
Co-authored-by: Zack <adams.z.d@gmail.com>
Co-authored-by: Zack Adams <zack@Zacks-Laptop.local>
Co-authored-by: Evan Rusackas <evan@rusackas.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: hainenber <dotronghai96@gmail.com>
Co-authored-by: Joe Li <joe@preset.io>
Co-authored-by: Grégoire <greggbg@gmail.com>
Co-authored-by: Hans Yu <hans.yu@outlook.de>
Co-authored-by: Elizabeth Thompson <eschutho@gmail.com>
Co-authored-by: yousoph <sophieyou12@gmail.com>
Co-authored-by: Kamil Gabryjelski <kamil.gabryjelski@gmail.com>
Co-authored-by: Amitesh Gupta <143833521+singlaamitesh@users.noreply.github.com>
Co-authored-by: David <39565245+dmunozv04@users.noreply.github.com>
Co-authored-by: Yash Shrivastava <119301033+alephys26@users.noreply.github.com>
Co-authored-by: JUST.in DO IT <justin.park@airbnb.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: jesperct <jmilecelento@gmail.com>
Co-authored-by: Abdul Rehman <76230556+Abdulrehman-PIAIC80387@users.noreply.github.com>
Co-authored-by: jenwitteng <jenwit.amonpongitsara@agoda.com>
Co-authored-by: Ramachandran A G <106139410+ag-ramachandran@users.noreply.github.com>
Co-authored-by: ag-ramachandran <ramacg@microsoft.com>
Co-authored-by: Ujjwal Jain <jainujjwal1609@gmail.com>
Co-authored-by: Jean Massucatto <massucattoj@gmail.com>
Co-authored-by: suvankardas216 <rohanrohan510@gmail.com>
Co-authored-by: AS-MAC-1123 <as-mac-1123@AS-MAC-1123.local>
Co-authored-by: Alejandro Solares <219859296+ASolarers-Rodriguez@users.noreply.github.com>
Co-authored-by: ViktorGo86 <114023094+ViktorGo86@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

change:backend Requires changing the backend risk:ci-script PR modifies scripts that execute in CI (supply chain risk) risk:db-migration PRs that require a DB migration risk:refactor High risk as it involves large refactoring work size/L

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants