You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@superset.apache.org by mi...@apache.org on 2023/07/26 19:52:21 UTC

[superset] branch 3.0 updated (eb42fa7a2e -> ad1a425269)

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

michaelsmolina pushed a change to branch 3.0
in repository https://gitbox.apache.org/repos/asf/superset.git


    from eb42fa7a2e chore: Updates CHANGELOG.md and UPDATING.md
     new 1b41653d3b fix: SSH Tunnel creation with dynamic form (#24196)
     new 6de6f47728 chore(metastore-cache): add codec support (#24586)
     new 9ab61c1103 fix: Clicking on a tag in the dashboard and charts lists does not work (#24593)
     new a5f3cfc726 chore(sqllab): Log current local storage usage (#24554)
     new af2689d501 fix: Bump prophet, re-enable tests, and remedy column eligibility logic (#24129)
     new 67008f2c35 fix: set max version for pyocient (#24556)
     new 0976b5e51e fix(ssh): Editting Database w/ SSH Tunneling (#24552)
     new 967ca0470b fix(report): edit without custom width (#24612)
     new 26909bf517 fix: Incorrect dependency between filters related feature flags (#24608)
     new 744cf2ec29 chore: remove underscore from builtin_time_grains label (#24567)
     new 9a96d8cf8b fix: change naming convention for count metric on Dataset creation (#24609)
     new 6b366a2cff feat: Implement support for currencies in more charts (#24594)
     new b81ee82d3c fix: Wrong positioning of filter tooltips on scroll (#24617)
     new a15e809c0f fix: remove spaces and EOL from nonce attr (#24644)
     new 2bd9ca3c94 fix: Ensure metrics is an array in Mixed Chart (#24643)
     new 846d3c03aa fix: fix extra insert for count on dataset creation (#24625)
     new d6296c1ad1 fix: CSP, bump FAB to 4.3.4 (#24646)
     new 27dcc3e025 chore: Drop rouge constraints and tables (#24629)
     new 359bbe26f7 fix: Validation of out of scope filters and interaction with Clear All (#24610)
     new 5a4996c226 fix: Incorrect initial global scoping of cross filters (#24642)
     new a2fdc84073 fix: Ensure config is a dict in cross filters scope migration (#24661)
     new d8bf955515 fix: Chart can be added to dashboard by non-owner via save as option (#24630)
     new 79a42c6509 fix(sqllab): missing column meta on autocomplete (#24611)
     new 71eff954ba chore(dao): Condense delete/bulk-delete operations (#24466)
     new 96cf6406f1 chore(dao): Add explicit ON DELETE CASCADE for ownership (#24628)
     new f60ab456f3 feat(sqllab): add shortcut for run current sql (#24329)
     new 1872a651da chore: Bump/relax Flask libs (#24652)
     new 7243332082 chore: Bump holidays to 0.28 (#24647)
     new 49605e763c chore(command): Condense delete/bulk-delete operations (#24607)
     new b0c90cb261 fix: Dashboard time grain in Pivot Table (#24665)
     new 60385ed059 fix: embedded dashboard check (#24690)
     new c6ecbc81ac chore: move deprecated default version to 4.0.0 (#24689)
     new c94bee47aa fix(dataset-import): support empty strings for extra fields (#24663)
     new 2e913492c9 fix: color collision in dashboard with tabs (#24670)
     new 4390968dd7 chore: Remove obsolete legacy visualizations (#24694)
     new 65822cab13 chore: Bump pyyaml bounds (#24731)
     new 757741942d feat: use Scarf Gateway for Superset helm charts/Docker compose downloads (#24432)
     new 82311edaf6 fix(druid): Delete obsolete Druid NoSQL slice parameters (#24737)
     new a3138f2bbe fix(cache): Add cache warmup for non-legacy charts (#24671)
     new befe41df14 fix(range-slider): removed localization of metric key (#24716)
     new 91919569ba feat: use Scarf Gateway for Superset npm downloads (#24433)
     new 1625fe4104 chore: turn off talisman for ephemeral environments in ci (#24627)
     new cc7983cd4a fix: import database engine validation (#24697)
     new aa5f0b1019 chore: make antd table font size same as data table (#24741)
     new 66792beb8b fix(native filter): clean deleted parent filter ids (#24749)
     new a7221c6dd4 fix: Dashboard time grain in Table (#24746)
     new 06258a06ed chore(native filters): Expandable filter config modal (#24559)
     new 6281f50bab fix(pvt2): migrations from legacy pivot table error when form_data have pieces of pvt2 (#24710)
     new d87724a6e3 fix(datasets): Replace left panel layout by TableSelector (#24599)
     new 2e222865bf fix: `search_path` in RDS (#24739)
     new 299dbb7012 chore: make control panel sub sections look better (#24736)
     new 157cc621c5 fix: column/metric type icons look too small (#24740)
     new dd002a8cf6 fix: Tooltip no longer highlights hovered data series (#24756)
     new a8f808f7a8 fix(docs): respect no_proxy environment variable (#23816)
     new 2e978bba14 docs: Fix STANDARD_ROLES.md for Gamma role permissions on tableschemaview (#24766)
     new 00516c2088 chore(docs): Adding link to additional visualization content (#24759)
     new 6947983d5f feat: migrate charts on import (#24703)
     new a066ebbb5e fix: update svgr webpack config to use svg dimensions (#24747)
     new e3d8ecb478 chore(view_api): return application/json as content-type for api/v1/form_data endpoint (#24758)
     new d336431559 fix: Select onChange is being fired without explicit selection (#24698)
     new d95241df9d fix(sqllab): Replace margin style by gap on query results (#24772)
     new a85da81815 fix(chore): switching between languages should be without timeout 60 seconds (#24798)
     new 25d42538d1 fix(dashboard): increase json_metadata field (#24510)
     new 98ec90938d fix: Department names fixed for CountryMap of France (#23988)
     new d92f9a73d2 docs: update security policy and add CVE info (#24769)
     new d86ae30958 fix: docs invalid client redirect (#24816)
     new 84488b7c5e fix(sqllab): Replace autocomplete logic by a hook (#24677)
     new ad1a425269 fix: Filters alert width (#24801)

The 68 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .github/SECURITY.md                                |  38 ++
 .github/workflows/ecs-task-definition.json         |   8 +-
 CONTRIBUTING.md                                    |  12 +
 RESOURCES/STANDARD_ROLES.md                        |   6 +-
 UPDATING.md                                        |   1 +
 docker-compose-non-dev.yml                         |   2 +-
 docker-compose.yml                                 |   2 +-
 docs/.gitignore                                    |   2 +
 docs/docs/contributing/creating-viz-plugins.mdx    |   2 +
 docs/docs/databases/clickhouse.mdx                 |   4 +-
 docs/docs/frequently-asked-questions.mdx           |   6 +
 .../installing-superset-using-docker-compose.mdx   |   9 +-
 docs/docs/installation/running-on-kubernetes.mdx   |   4 +
 docs/docs/security/_category_.json                 |   4 +
 docs/docs/security/cves.mdx                        |  27 ++
 docs/docs/{ => security}/security.mdx              |   4 +-
 docs/docusaurus.config.js                          |   2 +-
 helm/superset/Chart.yaml                           |   2 +-
 helm/superset/README.md                            | 476 ++++++++++-----------
 helm/superset/values.yaml                          |   2 +-
 requirements/base.txt                              |  24 +-
 requirements/development.txt                       |   2 +
 requirements/integration.txt                       |  15 +-
 requirements/testing.in                            |   2 +-
 requirements/testing.txt                           |  34 +-
 setup.py                                           |  16 +-
 .../cypress/e2e/dashboard/editmode.test.ts         |  10 +-
 .../cypress/e2e/database/modal.test.ts             |   8 +-
 superset-frontend/package-lock.json                |  12 +
 superset-frontend/package.json                     |   4 +
 .../components/ColumnTypeLabel/ColumnTypeLabel.tsx |   2 +
 .../src/components/ControlSubSectionHeader.tsx}    |  12 +-
 .../superset-ui-chart-controls/src/index.ts        |   1 +
 .../src/sections/advancedAnalytics.tsx             |   8 +-
 .../src/sections/chartTitle.tsx                    |  10 +-
 .../src/color/CategoricalColorScale.ts             |  13 +-
 .../superset-ui-core/src/currency-format/index.ts  |   1 +
 .../superset-ui-core/src/currency-format/utils.ts} |  22 +-
 .../test/color/CategoricalColorScale.test.ts       |  16 +
 .../test/currency-format/utils.test.ts             | 151 +++++++
 .../src/countries/france.geojson                   |   4 +-
 .../legacy-plugin-chart-heatmap/src/Heatmap.js     |   6 +-
 .../src/transformProps.js                          |  14 +-
 .../src/controlPanel.tsx                           |  15 +-
 .../legacy-plugin-chart-rose/src/controlPanel.tsx  |  15 +-
 .../legacy-plugin-chart-world-map/src/WorldMap.js  |   5 +-
 .../src/transformProps.js                          |  12 +
 .../legacy-preset-chart-nvd3/src/NVD3Controls.tsx  |  15 +-
 .../src/BigNumber/BigNumberTotal/transformProps.ts |   2 +-
 .../BigNumberWithTrendline/controlPanel.tsx        |   9 +-
 .../BigNumberWithTrendline/transformProps.ts       |   2 +-
 .../src/Funnel/controlPanel.tsx                    |   3 +-
 .../src/Funnel/transformProps.ts                   |   2 +-
 .../src/Gauge/controlPanel.tsx                     |   9 +-
 .../src/Gauge/transformProps.ts                    |   2 +-
 .../src/Graph/controlPanel.tsx                     |   3 +-
 .../src/MixedTimeseries/EchartsMixedTimeseries.tsx |   7 +
 .../src/MixedTimeseries/controlPanel.tsx           |   7 +-
 .../src/MixedTimeseries/transformProps.ts          | 136 +++++-
 .../src/MixedTimeseries/types.ts                   |   1 +
 .../plugin-chart-echarts/src/Pie/controlPanel.tsx  |   5 +-
 .../plugin-chart-echarts/src/Pie/transformProps.ts |   2 +-
 .../src/Radar/controlPanel.tsx                     |   5 +-
 .../src/Sunburst/controlPanel.tsx                  |   3 +-
 .../src/Sunburst/transformProps.ts                 |  41 +-
 .../src/Timeseries/Area/controlPanel.tsx           |   5 +-
 .../src/Timeseries/EchartsTimeseries.tsx           |   7 +
 .../src/Timeseries/Regular/Bar/controlPanel.tsx    |   9 +-
 .../src/Timeseries/Regular/Line/controlPanel.tsx   |   5 +-
 .../Timeseries/Regular/Scatter/controlPanel.tsx    |   5 +-
 .../Timeseries/Regular/SmoothLine/controlPanel.tsx |   5 +-
 .../src/Timeseries/Step/controlPanel.tsx           |   5 +-
 .../src/Timeseries/transformProps.ts               |  54 +--
 .../plugin-chart-echarts/src/Timeseries/types.ts   |   1 +
 .../plugin-chart-echarts/src/Tree/controlPanel.tsx |   3 +-
 .../src/Treemap/controlPanel.tsx                   |   3 +-
 .../src/Treemap/transformProps.ts                  |   2 +-
 .../plugins/plugin-chart-echarts/src/controls.tsx  |   7 +-
 .../src/utils/getYAxisFormatter.ts}                |  43 +-
 .../plugin-chart-echarts/src/utils/series.ts       |   2 +-
 .../src/plugin/buildQuery.ts                       |   9 +-
 .../test/plugin/buildQuery.test.ts                 | 146 ++++---
 .../plugins/plugin-chart-table/src/buildQuery.ts   |  13 +-
 .../plugin-chart-table/test/buildQuery.test.ts     |  42 +-
 superset-frontend/spec/helpers/testing-library.tsx |   2 +-
 superset-frontend/src/SqlLab/App.jsx               |   6 +-
 .../SqlLab/components/AceEditorWrapper/index.tsx   | 156 +------
 .../AceEditorWrapper/useKeywords.test.ts           | 269 ++++++++++++
 .../components/AceEditorWrapper/useKeywords.ts     | 208 +++++++++
 .../src/SqlLab/components/App/App.test.jsx         |  38 +-
 .../src/SqlLab/components/App/index.jsx            |  24 +-
 .../src/SqlLab/components/ResultSet/index.tsx      |  11 +-
 .../src/SqlLab/components/SouthPane/index.tsx      |   2 -
 .../SqlLab/components/SqlEditor/SqlEditor.test.jsx |   3 +
 .../src/SqlLab/components/SqlEditor/index.jsx      |  61 ++-
 .../src/components/AsyncAceEditor/index.tsx        |  55 ++-
 .../src/components/FilterableTable/index.tsx       |   1 -
 .../src/components/ListView/ListView.test.jsx      |   2 +-
 .../src/components/Select/AsyncSelect.test.tsx     |  23 +-
 .../src/components/Select/AsyncSelect.tsx          |  76 +++-
 .../src/components/Select/Select.stories.tsx       |   2 +
 .../src/components/Select/Select.test.tsx          |  19 +
 superset-frontend/src/components/Select/Select.tsx | 202 ++++++---
 superset-frontend/src/components/Select/types.ts   |   1 +
 superset-frontend/src/components/Select/utils.tsx  |   4 +-
 .../src/components/Table/VirtualTable.tsx          |   5 +-
 superset-frontend/src/components/Table/index.tsx   |   4 +
 .../src/components/TableSelector/index.tsx         |   8 +-
 superset-frontend/src/components/Tooltip/index.tsx |   3 +
 .../components/WarningIconWithTooltip/index.tsx    |   4 +-
 .../DashboardBuilder/DashboardBuilder.tsx          |   8 +-
 .../nativeFilters/FilterBar/FilterBar.test.tsx     |   6 +
 .../FilterBar/FilterControls/FilterControl.tsx     |  14 +-
 .../FilterBar/FilterControls/FilterControls.tsx    |  31 +-
 .../FilterBar/FilterControls/FilterValue.tsx       |  11 +-
 .../FilterBar/FilterControls/types.ts              |   1 +
 .../nativeFilters/FilterBar/Header/index.tsx       |  11 +-
 .../nativeFilters/FilterBar/Horizontal.tsx         |  12 +-
 .../FilterBar/HorizontalFilterBar.test.tsx         |   7 +-
 .../nativeFilters/FilterBar/Vertical.tsx           |  18 +-
 .../components/nativeFilters/FilterBar/index.tsx   |  27 +-
 .../nativeFilters/FilterCard/FilterCard.test.tsx   |   7 -
 .../FiltersConfigModal/FilterTitleContainer.tsx    |   8 +-
 .../FiltersConfigModal/FiltersConfigModal.test.tsx |  83 +++-
 .../FiltersConfigModal/FiltersConfigModal.tsx      | 121 ++++--
 .../Footer/CancelConfirmationAlert.tsx             |   1 +
 .../dashboard/components/nativeFilters/state.ts    |   2 +-
 .../src/dashboard/containers/DashboardPage.tsx     |   7 +-
 .../src/dashboard/util/crossFilters.test.ts        |  84 +++-
 .../src/dashboard/util/crossFilters.ts             |   9 +-
 .../src/explore/components/SaveModal.test.jsx      |   2 +-
 .../src/explore/components/SaveModal.tsx           |  17 +-
 .../controls/DateFilterControl/DateFilterLabel.tsx |  12 +-
 .../src/explore/controlPanels/sections.tsx         |  19 +-
 .../src/features/alerts/AlertReportModal.test.jsx  |   2 +-
 .../DatabaseConnectionForm/CommonParameters.tsx    |  31 ++
 .../DatabaseModal/DatabaseConnectionForm/index.tsx |   3 +
 .../databases/DatabaseModal/index.test.tsx         |   4 +
 .../src/features/databases/DatabaseModal/index.tsx |  30 +-
 superset-frontend/src/features/databases/types.ts  |   1 +
 .../AddDataset/LeftPanel/LeftPanel.test.tsx        | 286 +++++++------
 .../datasets/AddDataset/LeftPanel/index.tsx        | 258 ++---------
 .../datasets/DatasetLayout/DatasetLayout.test.tsx  |   2 +-
 .../src/features/datasets/hooks/useDatasetLists.ts |   7 +-
 .../src/filters/components/Range/buildQuery.ts     |   5 +-
 superset-frontend/src/hooks/apiResources/index.ts  |   2 +-
 .../src/hooks/apiResources/schemas.ts              |   9 +-
 superset-frontend/src/hooks/apiResources/tables.ts |   2 +
 superset-frontend/src/logger/LogUtils.ts           |   2 +
 superset-frontend/src/types/Database.ts            |   1 +
 superset-frontend/src/views/CRUD/hooks.ts          | 209 ++++-----
 superset-frontend/src/views/store.ts               |   1 +
 superset-frontend/webpack.config.js                |  11 +-
 superset/annotation_layers/annotations/api.py      |  10 +-
 .../annotations/commands/bulk_delete.py            |  50 ---
 .../annotations/commands/delete.py                 |  19 +-
 .../annotations/commands/exceptions.py             |   8 +-
 superset/annotation_layers/api.py                  |  13 +-
 superset/annotation_layers/commands/bulk_delete.py |  53 ---
 superset/annotation_layers/commands/delete.py      |  21 +-
 superset/annotation_layers/commands/exceptions.py  |  12 +-
 superset/charts/api.py                             |  13 +-
 superset/charts/commands/bulk_delete.py            |  68 ---
 superset/charts/commands/create.py                 |   5 +
 superset/charts/commands/delete.py                 |  40 +-
 superset/charts/commands/exceptions.py             |  14 +-
 superset/charts/commands/export.py                 |   2 +-
 superset/charts/commands/importers/v1/utils.py     |  51 +++
 superset/charts/commands/warm_up_cache.py          |  73 ++--
 superset/common/query_context_processor.py         |  65 ++-
 superset/config.py                                 |  25 +-
 superset/css_templates/api.py                      |   8 +-
 .../commands/{bulk_delete.py => delete.py}         |  11 +-
 superset/css_templates/commands/exceptions.py      |   4 +-
 superset/daos/annotation.py                        |  31 --
 superset/daos/base.py                              |  50 ++-
 superset/daos/chart.py                             |  20 +-
 superset/daos/css.py                               |  23 +-
 superset/daos/dashboard.py                         |  36 +-
 superset/daos/dataset.py                           |  67 +--
 superset/daos/query.py                             |  18 +-
 superset/daos/report.py                            |  48 +--
 superset/dashboards/api.py                         |  10 +-
 superset/dashboards/commands/bulk_delete.py        |  69 ---
 superset/dashboards/commands/delete.py             |  29 +-
 superset/dashboards/commands/exceptions.py         |  10 +-
 superset/dashboards/filter_sets/api.py             |   4 +-
 superset/dashboards/filter_sets/commands/delete.py |   6 +-
 superset/databases/commands/delete.py              |   6 +-
 superset/databases/commands/importers/v1/utils.py  |  12 +-
 superset/databases/commands/update.py              |  56 +--
 superset/databases/ssh_tunnel/commands/delete.py   |   7 +-
 superset/datasets/api.py                           |   8 +-
 superset/datasets/columns/commands/delete.py       |  11 +-
 superset/datasets/commands/bulk_delete.py          |  60 ---
 superset/datasets/commands/create.py               |   5 +-
 superset/datasets/commands/delete.py               |  29 +-
 superset/datasets/commands/exceptions.py           |   6 +-
 superset/datasets/metrics/commands/delete.py       |  11 +-
 superset/datasets/schemas.py                       |   6 +-
 superset/db_engine_specs/base.py                   |  39 +-
 superset/db_engine_specs/postgres.py               |  88 ++--
 superset/examples/birth_names.py                   |  29 +-
 superset/extensions/metastore_cache.py             |  38 +-
 superset/initialization/__init__.py                |   3 +-
 superset/migrations/shared/constraints.py          |  57 +++
 superset/migrations/shared/migrate_viz/base.py     |   6 +
 .../migrations/shared/migrate_viz/processors.py    |  12 +
 ...-41_4ea966691069_cross_filter_global_scoping.py |   4 +
 ..._add_on_delete_cascade_for_tables_references.py |  92 ++--
 ...2023-06-28_19-49_bf646a0c1501_json_metadata.py} |  16 +-
 ...2a3124dd66_drop_rouge_constraints_and_tables.py |  69 +++
 ..._add_on_delete_cascade_for_owners_references.py |  78 ++++
 ...delete_obsolete_druid_nosql_slice_parameters.py | 103 +++++
 ...f8b1280_cleanup_erroneous_parent_filter_ids.py} |  48 ++-
 superset/models/core.py                            |  83 ++--
 superset/models/dashboard.py                       |  12 +-
 superset/models/slice.py                           |  10 +-
 superset/queries/saved_queries/api.py              |  10 +-
 .../commands/{bulk_delete.py => delete.py}         |  11 +-
 .../queries/saved_queries/commands/exceptions.py   |   2 +-
 superset/reports/api.py                            |   8 +-
 superset/reports/commands/bulk_delete.py           |  60 ---
 superset/reports/commands/delete.py                |  28 +-
 superset/reports/commands/exceptions.py            |   5 -
 superset/reports/models.py                         |  18 +-
 superset/reports/schemas.py                        |  18 +-
 superset/row_level_security/api.py                 |   4 +-
 .../commands/{bulk_delete.py => delete.py}         |  10 +-
 superset/row_level_security/commands/exceptions.py |   4 +-
 superset/security/manager.py                       |  45 +-
 superset/tables/models.py                          |   4 +-
 superset/templates/superset/macros.html            |  10 +-
 superset/utils/pandas_postprocessing/prophet.py    |  11 +-
 superset/views/api.py                              |   2 +-
 superset/views/base.py                             |   7 +-
 superset/views/core.py                             |  63 +--
 superset/viz.py                                    | 213 ---------
 tests/integration_tests/cache_tests.py             |   4 +-
 tests/integration_tests/charts/api_tests.py        | 154 ++++++-
 tests/integration_tests/charts/commands_tests.py   |  52 +--
 tests/integration_tests/charts/data/api_tests.py   |   4 +-
 tests/integration_tests/commands_test.py           |   7 -
 tests/integration_tests/core_tests.py              | 103 +++--
 tests/integration_tests/dashboard_tests.py         |   1 -
 .../integration_tests/dashboards/commands_tests.py |   3 -
 tests/integration_tests/databases/api_tests.py     |  12 +
 .../integration_tests/databases/commands_tests.py  |   8 +-
 tests/integration_tests/datasets/api_tests.py      |   6 +-
 tests/integration_tests/datasets/commands_tests.py |   2 -
 .../db_engine_specs/postgres_tests.py              |   4 +
 .../extensions/metastore_cache_test.py             |  49 ++-
 tests/integration_tests/fixtures/importexport.py   |  21 +-
 .../security/guest_token_security_tests.py         |  29 ++
 .../security/row_level_security_tests.py           |   2 +-
 tests/integration_tests/security_tests.py          |   2 +-
 tests/integration_tests/utils_tests.py             |   2 +-
 tests/integration_tests/viz_tests.py               | 307 +------------
 .../charts/commands/importers/v1/utils_test.py     | 165 +++++++
 .../databases/commands/importers/v1/import_test.py |  28 +-
 .../datasets/commands/importers/v1/import_test.py  |  63 +++
 tests/unit_tests/db_engine_specs/test_postgres.py  |  48 ++-
 tests/unit_tests/models/core_test.py               |  18 +
 .../pandas_postprocessing/test_prophet.py          |   4 -
 .../unit_tests/reports}/__init__.py                |   0
 tests/unit_tests/reports/schemas_test.py           |  75 ++++
 266 files changed, 4774 insertions(+), 3162 deletions(-)
 create mode 100644 .github/SECURITY.md
 create mode 100644 docs/docs/security/_category_.json
 create mode 100644 docs/docs/security/cves.mdx
 rename docs/docs/{ => security}/security.mdx (99%)
 copy superset-frontend/{src/components/DatePicker/index.tsx => packages/superset-ui-chart-controls/src/components/ControlSubSectionHeader.tsx} (76%)
 rename superset-frontend/{plugins/plugin-chart-echarts/src/utils/valueFormatter.ts => packages/superset-ui-core/src/currency-format/utils.ts} (65%)
 create mode 100644 superset-frontend/packages/superset-ui-core/test/currency-format/utils.test.ts
 copy superset-frontend/{packages/superset-ui-chart-controls/src/operators/utils/extractExtraMetrics.ts => plugins/plugin-chart-echarts/src/utils/getYAxisFormatter.ts} (50%)
 create mode 100644 superset-frontend/src/SqlLab/components/AceEditorWrapper/useKeywords.test.ts
 create mode 100644 superset-frontend/src/SqlLab/components/AceEditorWrapper/useKeywords.ts
 delete mode 100644 superset/annotation_layers/annotations/commands/bulk_delete.py
 delete mode 100644 superset/annotation_layers/commands/bulk_delete.py
 delete mode 100644 superset/charts/commands/bulk_delete.py
 rename superset/css_templates/commands/{bulk_delete.py => delete.py} (88%)
 delete mode 100644 superset/dashboards/commands/bulk_delete.py
 delete mode 100644 superset/datasets/commands/bulk_delete.py
 create mode 100644 superset/migrations/shared/constraints.py
 copy superset/migrations/versions/{2018-08-13_11-30_1a1d627ebd8e_position_json.py => 2023-06-28_19-49_bf646a0c1501_json_metadata.py} (86%)
 create mode 100644 superset/migrations/versions/2023-07-07_20-06_f92a3124dd66_drop_rouge_constraints_and_tables.py
 create mode 100644 superset/migrations/versions/2023-07-11_15-51_6d05b0a70c89_add_on_delete_cascade_for_owners_references.py
 create mode 100644 superset/migrations/versions/2023-07-18_15-30_863adcf72773_delete_obsolete_druid_nosql_slice_parameters.py
 copy superset/migrations/versions/{2021-04-07_07-21_134cea61c5e7_remove_dataset_health_check_message.py => 2023-07-19_16-48_a23c6f8b1280_cleanup_erroneous_parent_filter_ids.py} (51%)
 rename superset/queries/saved_queries/commands/{bulk_delete.py => delete.py} (88%)
 delete mode 100644 superset/reports/commands/bulk_delete.py
 rename superset/row_level_security/commands/{bulk_delete.py => delete.py} (89%)
 create mode 100644 tests/unit_tests/charts/commands/importers/v1/utils_test.py
 copy {superset/advanced_data_type => tests/unit_tests/reports}/__init__.py (100%)
 create mode 100644 tests/unit_tests/reports/schemas_test.py