You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@superset.apache.org by ru...@apache.org on 2026/06/10 18:25:46 UTC

(superset) branch feat/session-invalidation-epoch updated (6234ed3ada6 -> 4415b8a4003)

This is an automated email from the ASF dual-hosted git repository.

rusackas pushed a change to branch feat/session-invalidation-epoch
in repository https://gitbox.apache.org/repos/asf/superset.git


    omit 6234ed3ada6 test: cover enforce_session_validity and invalidate_user_sessions
    omit 7ce5ba3fd6b feat: scope to session invalidation only; drop guest-token revocation
    omit ad654889393 fix(migration): backfill invalidation epoch for already-disabled users
    omit 1f81acd9e90 fix(migration): drive user_attribute de-dup in Python for MySQL
    omit 8a800f8f991 fix(migration): merge duplicate user_attribute fields before de-dup
    omit 262b211dd6f test(security): assert login stamping and tighten forced-logout status check
    omit c779a868f0c fix(security): ceil revocation/invalidation epoch for sub-second DB precision
    omit f2caeeb0638 feat(security): per-dashboard guest token revocation (#40699)
    omit a5241198886 fix(migration): use batch mode for SQLite-compatible unique constraint
    omit 4100adbfc19 fix(security): enforce unique user_attribute.user_id; race-safe epoch upsert
    omit 6d1907e98f2 feat(security): terminate active sessions when an account is disabled
     add 0a1e51f542a fix(schemas): tighten guest dataset fields, external_url protocols, ssh creds, prophet bounds (#40640)
     add 08b8bdecbd4 fix(charts): tighten chart schema input validation (query_context JSON, prophet/rolling bounds) (#40634)
     add 2b584113919 chore(deps): bump ag-grid-react from 35.3.0 to 35.3.1 in /superset-frontend (#40928)
     add 3d1253c9925 build(major,dev-deps): upgrade Storybook from v8 to v10 (#40713)
     add 5a0e3f15ca7 feat(embedded): add guest token revocation support (#40671)
     add f27424d72e3 fix(embedded): show filter bar controls on embedded dashboards with tabs (#39417)
     add cc5a3ddd05d test(dashboard-filter): RTL coverage for horizontal filter bar (#40782)
     add 4415b8a4003 feat(security): terminate active sessions when an account is disabled

This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version.  This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:

 * -- * -- B -- O -- O -- O   (6234ed3ada6)
            \
             N -- N -- N   refs/heads/feat/session-invalidation-epoch (4415b8a4003)

You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.

Any revisions marked "omit" are not gone; other references still
refer to them.  Any revisions marked "discard" are gone forever.

No new revisions were added by this update.

Summary of changes:
 .github/dependabot.yml                             |    28 -
 UPDATING.md                                        |    12 +
 superset-frontend/.storybook/{main.js => main.mjs} |    38 +-
 superset-frontend/.storybook/preview.jsx           |     6 +-
 .../.storybook/shared/ResizableChartDemo.tsx       |     2 +-
 superset-frontend/jest.config.js                   |     2 +-
 superset-frontend/package-lock.json                | 34545 ++++++++-----------
 superset-frontend/package.json                     |    25 +-
 .../packages/superset-ui-core/package.json         |     4 +-
 .../AutoComplete/AutoComplete.stories.tsx          |     2 +-
 .../components/Breadcrumb/Breadcrumb.stories.tsx   |     2 +-
 .../components/CachedLabel/CachedLabel.stories.tsx |     4 +-
 .../src/components/Checkbox/Checkbox.stories.tsx   |     2 +-
 .../components/EmptyState/EmptyState.stories.tsx   |     2 +-
 .../src/components/FaveStar/FaveStar.stories.tsx   |     2 +-
 .../src/components/Grid/Grid.stories.tsx           |     2 +-
 .../components/IconButton/IconButton.stories.tsx   |     2 +-
 .../src/components/Input/Input.stories.tsx         |     2 +-
 .../src/components/Label/Label.stories.tsx         |     4 +-
 .../src/components/Layout/Layout.stories.tsx       |     2 +-
 .../ListViewCard/ListViewCard.stories.tsx          |     2 +-
 .../src/components/Radio/Radio.stories.tsx         |     2 +-
 .../SafeMarkdown/SafeMarkdown.stories.tsx          |     2 +-
 .../src/components/Skeleton/Skeleton.stories.tsx   |     2 +-
 .../src/components/Switch/Switch.stories.tsx       |     2 +-
 .../src/components/Table/Table.stories.tsx         |     4 +-
 .../ActionCell/ActionCell.stories.tsx              |     2 +-
 .../Table/cell-renderers/ActionCell/fixtures.ts    |     2 +-
 .../BooleanCell/BooleanCell.stories.tsx            |     2 +-
 .../ButtonCell/ButtonCell.stories.tsx              |     4 +-
 .../cell-renderers/NullCell/NullCell.stories.tsx   |     2 +-
 .../NumericCell/NumericCell.stories.tsx            |     2 +-
 .../cell-renderers/TimeCell/TimeCell.stories.tsx   |     2 +-
 .../TableCollection/TableCollection.stories.tsx    |     2 +-
 .../TimezoneSelector/TimezoneSelector.stories.tsx  |     2 +-
 .../src/components/Tree/Tree.stories.tsx           |     2 +-
 .../components/TreeSelect/TreeSelect.stories.tsx   |     2 +-
 .../components/Typography/Typography.stories.tsx   |     2 +-
 .../src/components/Upload/Upload.stories.tsx       |     2 +-
 .../spec/fixtures/mockNativeFilters.ts             |    20 +
 .../components/ErrorMessage/ErrorAlert.stories.tsx |     2 +-
 .../RowCountLabel/RowCountLabel.stories.tsx        |     4 +-
 .../src/components/Tag/Tag.stories.tsx             |     2 +-
 .../src/components/TagsList/TagsList.stories.tsx   |     2 +-
 .../nativeFilters/FilterBar/FilterBar.test.tsx     |    89 +
 .../FilterControls.overflow.test.tsx               |   305 +
 .../FilterBar/HorizontalFilterBar.test.tsx         |   155 +-
 .../components/nativeFilters/state.test.ts         |   504 +-
 .../dashboard/components/nativeFilters/state.ts    |    76 +-
 .../explore/components/ControlHeader.stories.tsx   |     4 +-
 .../DatasetPanel/DatasetPanel.stories.tsx          |     2 +-
 .../components/Range/RangeFilterPlugin.stories.tsx |     2 +-
 .../Select/SelectFilterPlugin.stories.tsx          |     2 +-
 superset/charts/schemas.py                         |    66 +-
 superset/cli/guest_token.py                        |    54 +
 superset/config.py                                 |    17 +
 superset/dashboards/schemas.py                     |    81 +-
 superset/databases/schemas.py                      |     9 +-
 superset/key_value/shared_entries.py               |    13 +
 superset/key_value/types.py                        |     3 +
 superset/security/guest_token.py                   |    60 +
 superset/security/manager.py                       |    44 +
 superset/translations/ar/LC_MESSAGES/messages.po   |     4 +
 superset/translations/ca/LC_MESSAGES/messages.po   |     4 +
 superset/translations/cs/LC_MESSAGES/messages.po   |     4 +
 superset/translations/de/LC_MESSAGES/messages.po   |     4 +
 superset/translations/en/LC_MESSAGES/messages.po   |     4 +
 superset/translations/es/LC_MESSAGES/messages.po   |     4 +
 superset/translations/fa/LC_MESSAGES/messages.po   |     4 +
 superset/translations/fi/LC_MESSAGES/messages.po   |     4 +
 superset/translations/fr/LC_MESSAGES/messages.po   |     4 +
 superset/translations/it/LC_MESSAGES/messages.po   |     4 +
 superset/translations/ja/LC_MESSAGES/messages.po   |     4 +
 superset/translations/ko/LC_MESSAGES/messages.po   |     4 +
 superset/translations/lv/LC_MESSAGES/messages.po   |     4 +
 superset/translations/messages.pot                 |     4 +
 superset/translations/mi/LC_MESSAGES/messages.po   |     4 +
 superset/translations/nl/LC_MESSAGES/messages.po   |     4 +
 superset/translations/pl/LC_MESSAGES/messages.po   |     4 +
 superset/translations/pt/LC_MESSAGES/messages.po   |     4 +
 .../translations/pt_BR/LC_MESSAGES/messages.po     |     4 +
 superset/translations/ru/LC_MESSAGES/messages.po   |     4 +
 superset/translations/sk/LC_MESSAGES/messages.po   |     4 +
 superset/translations/sl/LC_MESSAGES/messages.po   |     4 +
 superset/translations/th/LC_MESSAGES/messages.po   |     4 +
 superset/translations/tr/LC_MESSAGES/messages.po   |     4 +
 superset/translations/uk/LC_MESSAGES/messages.po   |     4 +
 superset/translations/zh/LC_MESSAGES/messages.po   |     4 +
 .../translations/zh_TW/LC_MESSAGES/messages.po     |     4 +
 superset/utils/schema.py                           |    34 +-
 tests/unit_tests/charts/test_schemas.py            |   221 +
 .../common => tests/unit_tests/cli}/__init__.py    |     0
 tests/unit_tests/cli/guest_token_test.py           |    58 +
 tests/unit_tests/dashboards/schema_tests.py        |   164 +
 tests/unit_tests/databases/schema_tests.py         |    31 +
 .../key_value/test_shared_entries_migration.py     |    47 +
 .../security/guest_token_revocation_test.py        |   242 +
 97 files changed, 17322 insertions(+), 19829 deletions(-)
 rename superset-frontend/.storybook/{main.js => main.mjs} (83%)
 create mode 100644 superset-frontend/src/dashboard/components/nativeFilters/FilterBar/FilterControls/FilterControls.overflow.test.tsx
 create mode 100644 superset/cli/guest_token.py
 copy {superset-core/src/superset_core/common => tests/unit_tests/cli}/__init__.py (100%)
 create mode 100644 tests/unit_tests/cli/guest_token_test.py
 create mode 100644 tests/unit_tests/dashboards/schema_tests.py
 create mode 100644 tests/unit_tests/security/guest_token_revocation_test.py