Compare commits

..

109 Commits

Author SHA1 Message Date
Ville Brofeldt
9fc5e09cb3 update changelog 2022-03-21 13:08:03 +02:00
Ville Brofeldt
92c245835f fix(sqla): make text clause escaping optional (#17641) 2022-03-21 13:03:23 +02:00
Ville Brofeldt
c1746ef84d update version and changelog 2022-03-21 12:07:55 +02:00
Ville Brofeldt
57b7ae20d0 feat: add support for comments in adhoc clauses (#19248)
* feat: add support for comments in adhoc clauses

* sanitize remaining freeform clauses

* sanitize adhoc having in frontend

* address review comment
2022-03-21 11:56:50 +02:00
Ville Brofeldt
eab47ac13e feat(docker-compose): add TAG option (#18214) 2022-03-21 11:29:25 +02:00
Ville Brofeldt
6cadc24bdb fix area chart opacity bug (#18566) 2022-02-18 17:37:23 +02:00
Elizabeth Thompson
26545a26d1 run prettier 2022-01-26 17:19:33 -08:00
Elizabeth Thompson
828b719efd update changelog and version 2022-01-26 17:19:22 -08:00
Elizabeth Thompson
1e6fc665c6 update UPDATING.MD for 1.4.1 2022-01-26 16:38:56 -08:00
Daniel Vaz Gaspar
dbe0a35a20 fix: css template API response, less data (#17980)
* fix: css template API response, less data

* add test
2022-01-26 16:36:47 -08:00
Daniel Vaz Gaspar
29037522ad fix: Change default SECRET_KEY, improve docs and banner warning (#17984)
* fix: Change default SECRET_KEY, improve docs and banner warning on default

* lint

* Update superset/initialization/__init__.py

Co-authored-by: Ville Brofeldt <33317356+villebro@users.noreply.github.com>

* add a secret migration procedure, update UPDATING

* fix lint

Co-authored-by: Ville Brofeldt <33317356+villebro@users.noreply.github.com>
2022-01-26 16:35:57 -08:00
Daniel Vaz Gaspar
d793a7e949 fix: API logger output (#17981)
* fix: Improve logger messages on core API

* revert package.json change

* fix

* black

* improve log message

* improve message
2022-01-26 16:28:44 -08:00
Erik Ritter
5f2553d7c3 fix: SQL Lab sorting of non-numbers (#18006) 2022-01-26 16:27:49 -08:00
Lyndsi Kay Williams
ab3214935b fix(sqllab): Floating numbers not sorting correctly in result column (#17573)
* Floating nums now sorting correctly with parseFloatingNums function

* Floating numbers AND strings now sorting correctly, +locale comparison

* Added NULL handling back to sort function

* Moved parseFloatingNums outside of sortResults

* Removed localeCompare and added testing

* Add equality check back to sort function

* Added floatValue nit
2022-01-26 16:27:29 -08:00
Phillip Kelley-Dotson
f37525d6f0 fix: update slug name (#17961)
* fix: fix update slug name

* Update superset-frontend/src/dashboard/components/nativeFilters/FilterBar/index.tsx

Co-authored-by: Michael S. Molina <70410625+michael-s-molina@users.noreply.github.com>

Co-authored-by: Michael S. Molina <70410625+michael-s-molina@users.noreply.github.com>
2022-01-26 16:24:59 -08:00
Phillip Kelley-Dotson
f98fcffb5a fix: dashboard reload crash (#17992)
* fix dashboard reload

* add more strict case
2022-01-26 16:24:05 -08:00
Geido
dbe43b8ca6 fix(Dashboard): Copy dashboard with duplicating charts 500 error (#17707)
* Fix copy dashboard with charts

* Fix Cypress test
2022-01-26 16:21:54 -08:00
Stephen Liu
be7986bbf0 fix(dashboard): scope of nativefilter not update (#18048) 2022-01-26 16:21:15 -08:00
Francesco Frassinelli
f82ec27bab fix: handle TIME column serialization (#16869)
* Add support for datetime.time in json_int_dttm_ser

* Test base_json_conv support for datetime.time

* Group types by conversion function for JSON dump
2022-01-26 16:17:26 -08:00
Elizabeth Thompson
d29f661416 update changelog 2022-01-12 16:56:02 -08:00
Stephen Liu
fbc81d7883 fix(dashboard): scope status of filter not update in dashboard metadata (#17945)
* fix(dashboard): scope status of filter not update in dashboard metadata

* fix save
2022-01-12 16:33:54 -08:00
Elizabeth Thompson
caf0cff6de update changelog 2022-01-12 12:52:39 -08:00
Daniel Vaz Gaspar
6b868b0f44 chore: bump FAB to 3.4.3 (#17964) 2022-01-12 11:52:45 -08:00
Marco Porracin
24f4f67dde bump gunicorn 20.1.0 (#17894)
(cherry picked from commit 6e59a515b8)
2022-01-12 11:47:45 -08:00
Geido
a222ba8e06 Check validity of control item (#17349)
(cherry picked from commit d0085b1b29)
2022-01-12 11:47:44 -08:00
Stephen Liu
75d8006e2a fix(dashboard): update native filter info in metadata is not updated (#17842)
(cherry picked from commit ec48dd5c40)
2022-01-06 17:55:41 -08:00
kamalkeshavani-aiinside
20eaeae68f chore: Bump FAB to 3.4.0 (#17420)
Bumping FAB to latest 3.4.0

(cherry picked from commit 02a9b84b14)
2022-01-05 09:52:10 -08:00
Elizabeth Thompson
5045ff4d91 chore: add release to pip requirements (#17752)
* add requests to pip requirements

* fix tests

* add redis typing for mypy

* fix test
2021-12-21 17:46:33 -08:00
Elizabeth Thompson
1e2b2f10f0 update changelog 2021-12-21 17:19:02 -08:00
Elizabeth Thompson
96c18b4272 fix test lint (#17835) 2021-12-21 17:17:13 -08:00
Geido
8057582b02 feat: Certify Charts and Dashboards (#17335)
* Certify charts

* Format

* Certify dashboards

* Format

* Refactor card certification

* Clear details when certified by empty

* Show certification in detail page

* Add RTL tests

* Test charts api

* Enhance integration tests

* Lint

* Fix dashboards count

* Format

* Handle empty value

* Handle empty slice

* Downgrade migration

* Indent

* Use alter

* Fix revision

* Fix revision
2021-12-21 11:51:55 -08:00
serenajiang
70228ad3fb fix(dashboard): commit update once (#17781)
(cherry picked from commit 3657cbea7f)
2021-12-20 13:38:55 -08:00
Geido
f4661d6924 fix: Remove positions from json_metadata (#17766)
* Remove positions from json_metadata

* Update superset-frontend/src/dashboard/components/PropertiesModal/index.tsx

Co-authored-by: Kamil Gabryjelski <kamil.gabryjelski@gmail.com>

* Indent

Co-authored-by: Kamil Gabryjelski <kamil.gabryjelski@gmail.com>
(cherry picked from commit 274fb37a91)
2021-12-20 13:38:55 -08:00
John Bodley
398a01f7dc chore(engine): Translate fractional time grains—requires @superset-ui bump (#17078)
* chore(engine): Translate fractional time grains

* Bump @superset-ui

Co-authored-by: John Bodley <john.bodley@airbnb.com>
2021-12-15 17:01:09 -08:00
Elizabeth Thompson
752062674b Revert "fix: import should accept old keys (#17330)"
This reverts commit 0b8507fe77.
2021-12-15 09:30:26 -08:00
Daniel Vaz Gaspar
cda62508c4 ci: temp fix for mysqlclient on an OS regression bug (#17724) 2021-12-15 09:30:20 -08:00
Elizabeth Thompson
2e0fe93269 fix prettier/lint error 2021-12-10 17:08:04 -08:00
Elizabeth Thompson
4991272b9c update changelog 2021-12-10 16:24:17 -08:00
Geido
ba6d5b9754 fix: Save properties after applying changes in Dashboard (#17570)
* Refactor PropertiesModal

* Update json_metadata fully

* Clean up

* Verify values

* Catch changed to metadata

* Always updated dashboard info on update

* Avoid unnecessary fetches

* Formt

* Fix copy dashboards

* Fixes onUpdate onCopy handlers

* Pylint

* Update tests

* Clean up

* Handle data on show

* Change Save to Apply

* Update Cypress save test

* Update Cypress edit prop test

* Update PropertiesModal test

* Fix duplicate request with cross filters

* Improve code style

* Fix typo

* Lint
2021-12-10 16:12:49 -08:00
Ville Brofeldt
8b0ab83119 chore(sql): clean up invalid filter clause exception types (#17702)
* chore(sql): clean up invalid filter clause exception types

* fix lint

* rename exception
2021-12-10 16:07:03 -08:00
Geido
4c00bd4332 fix(Dashboard): Copy dashboard with duplicating charts 500 error (#17707)
* Fix copy dashboard with charts

* Fix Cypress test
2021-12-10 16:01:05 -08:00
Beto Dealmeida
77c4f2cb11 fix: set correct schema on config import (#16041)
* fix: set correct schema on config import

* Fix lint

* Fix test

* Fix tests

* Fix another test

* Fix another test

* Fix base test

* Add helper function

* Fix examples

* Fix test

* Fix test

* Fixing more tests

(cherry picked from commit 1fbce88a46)
2021-12-10 15:40:06 -08:00
Elizabeth Thompson
3d8ce130ba update changelog 2021-12-08 14:59:13 -08:00
Craig Rueda
9837feff19 chore(datasets): Sanitizing /save response (#17579)
(cherry picked from commit ac76defc05)
2021-12-08 13:51:15 -08:00
Corbin Robb
9468bdf0c1 fix(sqllab): Have table name tooltip only show when name is truncated (#17386)
* Add conditional to table name tooltip to only show when overflowing

* Remove uneccessary state and useEffect, a little clean up and slight refactoring

Co-authored-by: Corbin Robb <corbin@Corbins-MacBook-Pro.local>
(cherry picked from commit 8e1619b105)
2021-12-06 13:46:14 -08:00
Elizabeth Thompson
c42ff7972f use full resultType with csv download on chart in dashboard (#17431)
(cherry picked from commit 71e3fa1bf3)
2021-12-06 13:46:14 -08:00
Ville Brofeldt
46343a9dca fix: avoid escaping bind-like params containing colons (#17419)
* fix: avoid escaping bind-like params containing colons

* fix query for mysql

* address comments

(cherry picked from commit ad8a7c42f9)
2021-12-06 13:46:14 -08:00
Erik Ritter
9818bc5e7a Revert "fix(native-filters): Fix update ownState (#17181)" (#17311)
This reverts commit cf284ba3c7.

(cherry picked from commit 7c6d6f47bf)
2021-12-06 13:46:14 -08:00
Geido
733fc7494c Handle undefined (#17183)
(cherry picked from commit 91199c30d8)
2021-12-06 13:46:13 -08:00
Elizabeth Thompson
361e510cae update changelog and updating.md for 1.4.0 2021-11-22 17:27:19 -08:00
Elizabeth Thompson
eb64f82c20 fix conflicts 2021-11-22 16:48:37 -08:00
Grace Guo
3aa554b422 fix: sql lab crash caused by invalid template (#17133)
(cherry picked from commit 96f4421961)
2021-11-22 16:11:45 -08:00
David Aaron Suddjian
ed45717d5f fix(explore): remove unnecessary parameters from the explore url (#17123)
* remove unnecessary parameters from the explore url

* refactor, test

(cherry picked from commit 57f869cf22)
2021-11-22 16:11:45 -08:00
wijnanjo
6f932f9ec1 fix for undefined userId (#17117)
Co-authored-by: jo.wijnant <jo.wijnant@kontron.com>
(cherry picked from commit c9c669d179)
2021-11-22 16:11:45 -08:00
Lyndsi Kay Williams
b577773e30 fix(sqllab): Hover tooltip flashes in SQL Lab (#17068)
* Changed SQL Lab result column header-style width to max-content

* Changed .ant-tooltip-open to block and tooltip placement to topLeft

* Moved tooltip style changes to local implementation instead of global

(cherry picked from commit 635898a76d)
2021-11-22 16:11:45 -08:00
Erik Ritter
dfd0ed395c fix: prevent caching error pages (#17100)
(cherry picked from commit 031f594fa3)
2021-11-22 16:11:45 -08:00
Beto Dealmeida
cca78f1b6e fix: accept headers on import (#17080)
* fix: accept headers on import

* Add unit test

(cherry picked from commit 40e9add641)
2021-11-22 16:11:44 -08:00
jinghua-qa
b4f4f4cdfa fix(other): column name in created content on profile page (#17029)
* fix: fix name in created content on profile page

* add more fix on mutater

(cherry picked from commit f2d41dc416)
2021-11-22 16:11:44 -08:00
Geido
5899ae163a fix: Exclude SUPERSET_DEFAULT from the list of available color schemes (#17018)
* Handle SUPERSET_DEFAULT theme

* Update superset-frontend/src/explore/components/controls/ColorSchemeControl.jsx

Co-authored-by: Michael S. Molina <70410625+michael-s-molina@users.noreply.github.com>

* Update superset-frontend/src/explore/components/controls/ColorSchemeControl.jsx

Co-authored-by: Michael S. Molina <70410625+michael-s-molina@users.noreply.github.com>

Co-authored-by: Michael S. Molina <70410625+michael-s-molina@users.noreply.github.com>
(cherry picked from commit 14b7f6cdba)
2021-11-22 16:11:44 -08:00
Phillip Kelley-Dotson
9459d09ae7 initial fix (#16998)
(cherry picked from commit 2c8e06e929)
2021-11-22 16:11:44 -08:00
Beto Dealmeida
0b8507fe77 fix: import should accept old keys (#17330)
* fix: import should accept old keys

* Fix lint

* Preserve V1 schema
2021-11-22 11:58:13 -08:00
Beto Dealmeida
c015e661a9 fix: clear 'delete' confirmation (#17345)
* fix: clear 'delete' confirmation

* Add tests

(cherry picked from commit 43f4ab845a)
2021-11-22 11:56:56 -08:00
Elizabeth Thompson
7d9f63eda7 fix: add fallback and validation for report and cron timezones (#17338)
* add fallback and validation for report and cron timezones

* add logging to exception catch

* Run black

Co-authored-by: Beto Dealmeida <roberto@dealmeida.net>
(cherry picked from commit f10bc6d8fe)
2021-11-22 11:53:45 -08:00
Hugh A. Miles II
30c6ec07ef fix: Allow users to update database in Dataset Edit Modal (#17265)
* add condition to fix save

* remove console.log

(cherry picked from commit d0bad96b1a)
2021-11-22 11:53:45 -08:00
Elizabeth Thompson
680cdca14a fix: update values for default timezone selector (#17124)
* update values for default timezone selector

* fix casing and comment

* Update TimezoneSelector.test.tsx

(cherry picked from commit ae4ced8da6)
2021-11-22 11:53:45 -08:00
AAfghahi
8a24374f9f fix(AlertReportModal): Text Area Change (#17176)
* Text Area Change

* added unique key to component

* tests passing

* changed css

* data flow and naming convention

(cherry picked from commit 5948a9fd02)
2021-11-22 11:31:20 -08:00
Kamil Gabryjelski
33826cd50f fix(explore): Metrics disappearing after removing metric from dataset (#17201)
* fix(explore): Metrics disappearing after removing metric from dataset

* fix test

* Apply fix to non-dnd controls

* Make adhoc metrics pick up changes from dataset columns

* Remove console log

* Fix bug in nondnd controls

(cherry picked from commit fa44325a36)
2021-11-22 11:31:20 -08:00
Ville Brofeldt
c4b57e6b3e ci: fix broken test skips (#17005)
(cherry picked from commit 9e980b6f2b)
2021-11-22 11:31:20 -08:00
Michael S. Molina
7db1caa2ad fix: Unnecessary queries when changing filter values (#16994)
(cherry picked from commit c471a85170)
2021-11-22 11:31:20 -08:00
jinghua-qa
687676cb09 fix: letter format of sort chart in dashboard edit (#17003)
(cherry picked from commit 6dc00b3e3f)
2021-11-22 11:31:20 -08:00
serenajiang
2eaf5c854e fix(sqllab): SqlJsonExecutionContext.query null pointer (#16997)
(cherry picked from commit cde4cdcd0c)
2021-11-22 11:31:20 -08:00
Lyndsi Kay Williams
09b853c831 fix: FilterableTable result div width (#16912)
* FilterableTable result div width is now inherit

* Changed style to css

(cherry picked from commit 90cfa7fb22)
2021-11-22 11:31:20 -08:00
Erik Ritter
5f34ae2cf3 fix: Use production build config for cypress tests (#16978)
* fix: Use production build config for cypress tests

* set usedExports to global

(cherry picked from commit 2757b93fea)
2021-11-22 11:31:20 -08:00
Geido
ea3d51efec fix: Color consistency (#17089)
* Update label colors on the fly

* Clean up

* Improve getFormDataWithExtraFilters

* Improve code structure

* Remove labelColors from formData

* Exclude label_colors from URL

* Refactor color scheme implementation

* Clean up

* Refactor and simplify

* Fix lint

* Remove unnecessary ColorMapControl

* Lint

* Give json color scheme precedence

* Add label_colors prop in metadata

* Separate owners and dashboard meta requests

* Remove label_colors control

* bump superset-ui 0.18.19

* Fix end of file

* Update tests

* Fix lint

* Update Cypress

* Update setColorScheme method

* Use Antd modal body
2021-11-22 10:55:21 -08:00
Phillip Kelley-Dotson
55b3da661e fix: show onhover menu only in edit mode (#17034)
* fix on markdown hover menu

* lint-fix
2021-11-22 10:49:04 -08:00
Geido
b775193f9f fix: Verify when null value should be undefined in Select (#17013)
* Check for null value

* Safety chek SelectControl and SelectAsyncControl
2021-11-22 10:46:23 -08:00
Geido
7c966c52dc chore: Select component refactoring - SelectAsyncControl - Iteration 5 (#16609)
* Refactor Select

* Implement onError

* Separate async request

* Lint

* Allow clear

* Improve type

* Reconcile with Select latest changes

* Fix handleOnChange

* Clean up

* Add placeholder

* Accept null values

* Update superset-frontend/src/explore/components/controls/SelectAsyncControl/index.tsx

Co-authored-by: David Aaron Suddjian <1858430+suddjian@users.noreply.github.com>

* Clean up

* Implement type guard

* Fix lint

* Catch error within loadOptions

Co-authored-by: David Aaron Suddjian <1858430+suddjian@users.noreply.github.com>
2021-11-22 10:46:07 -08:00
CodeingBoy
6da69a821f fix(sqllab): Bugfix for tracking url transformation (#17263)
* Bugfix for tracking url transformation

* Fix linting

(cherry picked from commit 2544a4a8ac)
2021-11-17 13:09:20 -08:00
Christian Pfarr
03481fe28d feat: Drill ODBC/JDBC Impersonation feature (#17353)
* Added Drill ODBC Impersonation feature and necessary translations/docs

* Code Cleanup

* add jdbc impersonation_target parameter

* add unittests for DrillEngineSpec.modify_url_for_impersonation method

* reformat test_drill.py with black formatter

* run pre-commit locally

Co-authored-by: Christian Pfarr <Christian.Pfarr@deutschebahn.com>
Co-authored-by: Christian Pfarr <z0ltrix+gitlab@pm.me>
(cherry picked from commit 333b1371f7)
2021-11-17 13:09:19 -08:00
Étienne Boisseau-Sierra
f467a7ca57 fix(cli): fail CLI script on failed import/export (#16976)
* Test that failing export or import is done properly

For each CLI entry-point we will modify, we make sure that:

- a failing process exits with a non-0 exit code,
- an error is logged.

Signed-off-by: Étienne Boisseau-Sierra <etienne.boisseau-sierra@unipart.io>

* Exit process with error if export/import failed

Bubble exception up when failing import or export

During a CLI import or export of dashboards, if the process fails, the
exception it caught and a simple message is sent to the logger.
This makes that from a shell point of view, the script was successfull —
cf. #16956.

To prevent this, we want to ensure that the process exits with an error
(i.e., a non-0 exit-code) should the export or import fail mid-flight.

Signed-off-by: Étienne Boisseau-Sierra <etienne.boisseau-sierra@unipart.io>
(cherry picked from commit f0c0ef7048)
2021-11-17 13:09:18 -08:00
simcha90
35d8a40634 fix(native-filters): Fix update ownState (#17181)
* fix:fix get permission function

* fix: fix own state update

* refactor: fix CR notes

(cherry picked from commit cf284ba3c7)
2021-11-17 13:09:18 -08:00
Geido
5d43a5926c chore(Dashboard): Disable save button in Native Filters when an error is present (#17037)
* Disable save on error

* Remove removed erroredFilter

* Fix cdisabled check
2021-10-27 14:09:07 -07:00
Geido
52ac5ecdbb chore(Dashboard): Highlight errored filters on the left pane of the Native Filters form plus several enhancements (#16940)
* Implement errored filters

* Clean up

* Handle errors on the fly

* Implement handleErroredFilters

* Reset errors

(cherry picked from commit a6173f1929)
2021-10-27 14:07:23 -07:00
Erik Ritter
e80c8ea980 fix: error alert levels again (#17027) 2021-10-27 13:57:42 -07:00
Erik Ritter
43019a1b9d fix: error alerts again (#17026) 2021-10-27 13:50:41 -07:00
Erik Ritter
3f869aded2 fix: error alerts js crash (#17015) 2021-10-27 13:49:30 -07:00
Michael S. Molina
f3bde45e5c fix: Filtering db names while creating dataset is not working (#17023) 2021-10-27 13:46:30 -07:00
Hugh A. Miles II
cf4e129f5d use typing_extension instead (#17174)
(cherry picked from commit aa0f4d6c4f)
2021-10-27 13:38:55 -07:00
Geido
23313fdb1f fix(Explore): Undefined owners (#17167)
* Reconcile owners data

* Fix on save

(cherry picked from commit f580f6bcba)
2021-10-27 13:38:55 -07:00
Ville Brofeldt
d90bfa65ef fix(filter-indicator): show filters handled by jinja as applied (#17140)
(cherry picked from commit d7834f17e3)
2021-10-27 13:38:54 -07:00
simcha90
4e3fa1a141 feat: Custom filters control (#17006)
* fix:fix get permission function

* feat: customize filter control

* fix: fix types

* fix: fix merge

* refactor: update according CR

* refactor: fix CR notes

(cherry picked from commit eebc953dd5)
2021-10-27 13:38:54 -07:00
Ville Brofeldt
35dda573cf fix: escape bind-like strings in virtual table query (#17111)
(cherry picked from commit 434b5767c9)
2021-10-27 13:38:54 -07:00
Daniel Vaz Gaspar
5bfa6e96cd fix: Bump FAB to 3.3.4 (#17113)
(cherry picked from commit d944503873)
2021-10-27 13:38:54 -07:00
Kamil Gabryjelski
81da0fb466 fix(dashboard): race condition between hydrating dashboard and set active tabs (#17084)
* fix(dashboard): race condition between hydrating dashboard and set active tabs

* Fix linting

* Change variable name

(cherry picked from commit 3ad7483dc1)
2021-10-27 13:38:54 -07:00
Hugh A. Miles II
c03771dc6d fix: Owners selection in dataset edit UX (#17063)
* boilerplate

* update owner select component

* this is working

* update onchange

* refactorig

* you need to useMemo or things break

* update test

* prettier

* move logic into bootstrap data endpoint

* address concerns

* oops

* oops

* fix test

(cherry picked from commit 959fd763a8)
2021-10-27 13:38:54 -07:00
Elizabeth Thompson
ed98027adc add logging on successful data uploads (#17065)
(cherry picked from commit c2e1ab6550)
2021-10-27 13:38:54 -07:00
Beto Dealmeida
43e27b1137 fix: clear modal state after adding dataset (#17044)
* fix: clear modal state after adding dataset

* Fix test

* Small fixes

(cherry picked from commit 16a1df75fc)
2021-10-27 13:38:53 -07:00
Michael S. Molina
bd5d787257 fix: Loading indicator of table and schema selectors (#17040)
(cherry picked from commit 7c1c89c94b)
2021-10-27 13:38:53 -07:00
AAfghahi
f56a3d8b1a bug fix (#17019)
(cherry picked from commit e32a12fa0b)
2021-10-27 13:38:53 -07:00
Kamil Gabryjelski
3d77daaf68 fix(dashboard): Race condition when setting activeTabs with nested tabs (#17007)
* fix(dashboard): Race condition when setting activeTabs with nested tabs

* Remove activeTabs prop from Tabs

(cherry picked from commit 45908ff104)
2021-10-27 13:38:52 -07:00
Yongjie Zhao
19d2fef490 fix: rolling and cum operator on multiple series (#16945)
* fix: rolling and cum operator on multiple series

* add UT

* updates

(cherry picked from commit fd8461406d)
2021-10-27 13:38:52 -07:00
Hugh A. Miles II
4d33f7b7b6 fix: check if owners are actually being updated in PUT /datasets/<id> (#16941)
* check if owners are actually being updated

* move logic to FE

* fix

* fix

(cherry picked from commit 40861b3db3)
2021-10-27 13:38:52 -07:00
Beto Dealmeida
ddb35a3633 fix(BigQuery): explicitly quote columns in select_star (#16822)
* fix (BigQuery): explicitly quote columns in select_star

* Fix test

* Fix SELECT * in BQ

* Add unit tests

* Remove type changes

(cherry picked from commit c993c5845f)
2021-10-27 13:38:52 -07:00
Michael S. Molina
8755911765 chore: Translates the favorite filter param (#16990)
(cherry picked from commit 191033cb44)
2021-10-27 13:38:52 -07:00
Michael S. Molina
012f6ac206 fix: When click on "View all" from favorite tab, get error (#16988)
(cherry picked from commit c57719128f)
2021-10-27 13:38:51 -07:00
Youkyoung Cha
b2b3cd73fd fix: handle mixed time-series error (#16928)
* rebase to master

* Fix line 402

Co-authored-by: yougyoung <yougyoung@pubg.com>
(cherry picked from commit 93ebe3d963)
2021-10-27 13:38:51 -07:00
Ville Brofeldt
6ed84f2d35 feat: upgrade docker image to py38 and add support for py39 (#16889)
* feat: upgrade docker image to py38 and add support for py39

* update required tests

(cherry picked from commit 82601abe17)
2021-10-27 13:38:51 -07:00
Elizabeth Thompson
a6a3cedf6e fix: Revert "fix: RBAC hide right menu (#16902)" (#16968)
* Revert "fix: RBAC hide right menu (#16902)"

This reverts commit 87baac7650.

* fix failing test

(cherry picked from commit 5866d5ebb0)
2021-10-27 13:38:51 -07:00
Grace Guo
083ff12864 chore:upgrade superset-ui dependencies (#16965)
(cherry picked from commit 85e3cec521)
2021-10-27 13:38:51 -07:00
6634 changed files with 461697 additions and 1067300 deletions

View File

@@ -17,14 +17,7 @@
# https://cwiki.apache.org/confluence/display/INFRA/.asf.yaml+features+for+git+repositories
---
notifications:
commits: commits@superset.apache.org
issues: notifications@superset.apache.org
pullrequests: notifications@superset.apache.org
discussions: notifications@superset.apache.org
github:
del_branch_on_merge: true
description: "Apache Superset is a Data Visualization and Data Exploration Platform"
homepage: https://superset.apache.org/
labels:
@@ -54,43 +47,31 @@ github:
projects: true
# Enable wiki for documentation
wiki: true
# Enable discussions
discussions: true
enabled_merge_buttons:
squash: true
merge: false
rebase: false
ghp_branch: gh-pages
ghp_path: /
protected_branches:
master:
required_status_checks:
# strict means "Require branches to be up to date before merging".
strict: false
# contexts are the names of checks that must pass
# unfortunately AFAICT for `matrix:` jobs, we have to itemize every
# combination here.
contexts:
- lint-check
- cypress-matrix (0, chrome)
- check
- cypress-matrix (1, chrome)
- cypress-matrix (2, chrome)
- cypress-matrix (3, chrome)
- cypress-matrix (4, chrome)
- cypress-matrix (5, chrome)
- dependency-review
- docker-build
- frontend-build
- pre-commit (current)
- pre-commit (previous)
- test-mysql
- test-postgres (current)
- test-postgres-hive
- test-postgres-presto
- test-sqlite
- unit-tests (current)
- pre-commit (3.7)
- python-lint (3.7)
- test-mysql (3.7)
- test-postgres (3.7)
- test-postgres (3.8)
- test-sqlite (3.7)
required_pull_request_reviews:
dismiss_stale_reviews: false
@@ -98,10 +79,3 @@ github:
required_approving_review_count: 1
required_signatures: false
gh-pages:
required_pull_request_reviews:
dismiss_stale_reviews: false
require_code_owner_reviews: true
required_approving_review_count: 1
required_signatures: false

View File

@@ -3,7 +3,6 @@ codecov:
after_n_builds: 4
ignore:
- "superset/migrations/versions/*.py"
- "superset-frontend/packages/superset-ui-demo/**/*"
- "**/*.stories.tsx"
- "**/*.stories.jsx"
coverage:
@@ -15,17 +14,6 @@ coverage:
# project coverage decrease:
target: auto
threshold: 0%
core-packages-ts:
target: 100%
paths:
- 'superset-frontend/packages'
- '!superset-frontend/packages/**/*.jsx'
- '!superset-frontend/packages/**/*.tsx'
core-packages-tsx:
target: 50%
paths:
- 'superset-frontend/packages/**/*.jsx'
- 'superset-frontend/packages/**/*.tsx'
patch:
default:
informational: true

View File

@@ -34,6 +34,7 @@
**/*.sqllite
**/*.swp
**/.terser-plugin-cache/
**/.storybook/
**/node_modules/
tests/
@@ -41,8 +42,6 @@ docs/
install/
superset-frontend/cypress-base/
superset-frontend/coverage/
superset-frontend/.temp_cache/
superset/static/assets/
superset-websocket/dist/
venv
.venv

View File

@@ -15,4 +15,4 @@
# limitations under the License.
#
FLASK_APP="superset.app:create_app()"
FLASK_DEBUG=true
FLASK_ENV="development"

2
.gitattributes vendored
View File

@@ -1,3 +1 @@
docker/**/*.sh text eol=lf
*.svg binary
*.ipynb binary

34
.github/CODEOWNERS vendored
View File

@@ -1,32 +1,8 @@
# Notify all committers of DB migration changes, per SIP-59
# https://github.com/apache/superset/issues/13351
/superset/migrations/ @apache/superset-committers
/superset/migrations/ @mistercrunch @michael-s-molina @betodealmeida @eschutho
# Notify some committers of changes in the components
/superset-frontend/src/components/Select/ @michael-s-molina @geido @kgabryje
/superset-frontend/src/components/MetadataBar/ @michael-s-molina @geido @kgabryje
/superset-frontend/src/components/DropdownContainer/ @michael-s-molina @geido @kgabryje
# Notify Helm Chart maintainers about changes in it
/helm/superset/ @craig-rueda @dpgaspar @villebro @nytai @michael-s-molina @mistercrunch @rusackas @Antonio-RiveroMartnez
# Notify E2E test maintainers of changes
/superset-frontend/cypress-base/ @sadpandajoe @geido @eschutho @rusackas @betodealmeida @mistercrunch
# Notify PMC members of changes to GitHub Actions
/.github/ @villebro @geido @eschutho @rusackas @betodealmeida @nytai @mistercrunch @craig-rueda @kgabryje @dpgaspar
# Notify PMC members of changes to required GitHub Actions
/.asf.yaml @villebro @geido @eschutho @rusackas @betodealmeida @nytai @mistercrunch @craig-rueda @kgabryje @dpgaspar @Antonio-RiveroMartnez
# Maps are a finicky contribution process we care about
**/*.geojson @villebro @rusackas
/superset-frontend/plugins/legacy-plugin-chart-country-map/ @villebro @rusackas
# Notify Preset team when ephemeral env settings are changed
.github/workflows/ecs-task-definition.json @robdiciuccio @craig-rueda @rusackas @eschutho @dpgaspar @nytai @mistercrunch
.github/workflows/docker-ephemeral-env.yml @robdiciuccio @craig-rueda @rusackas @eschutho @dpgaspar @nytai @mistercrunch
.github/workflows/ephemeral*.yml @robdiciuccio @craig-rueda @rusackas @eschutho @dpgaspar @nytai @mistercrunch

View File

@@ -1,99 +0,0 @@
name: Bug report
description: Report a bug to improve Superset's stability
labels: ["bug"]
body:
- type: markdown
attributes:
value: |
Hello Superset Community member! Please keep things tidy by putting your post in the proper place:
🚨 Reporting a security issue: send an email to security@superset.apache.org. DO NOT USE GITHUB ISSUES TO REPORT SECURITY PROBLEMS.
🐛 Reporting a bug: use this form.
🙏 Asking a question or getting help: post in the [Superset Slack chat](http://bit.ly/join-superset-slack) or [GitHub Discussions](https://github.com/apache/superset/discussions) under "Q&A / Help".
💡 Requesting a new feature: Search [GitHub Discussions](https://github.com/apache/superset/discussions) to see if it exists already. If not, add a new post there under "Ideas".
- type: textarea
id: bug-description
attributes:
label: Bug description
description: A clear description of what the bug is, including reproduction steps and expected behavior.
placeholder: |
The bug is that...
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error
validations:
required: true
- type: textarea
id: screenshots-recordings
attributes:
label: Screenshots/recordings
description: If applicable, add screenshots or recordings to help explain your problem.
- type: markdown
attributes:
value: |
### Environment
Please specify your environment. If your environment does not match the alternatives, you need to upgrade your environment before submitting the issue as it may have already been fixed. For additional information about the releases, see [Release Process](https://github.com/apache/superset/wiki/Release-Process).
- type: dropdown
id: superset-version
attributes:
label: Superset version
options:
- master / latest-dev
- "4.1.2"
- "4.0.2"
validations:
required: true
- type: dropdown
id: python-version
attributes:
label: Python version
options:
- "3.9"
- "3.10"
- "3.11"
- Not applicable
- I don't know
validations:
required: true
- type: dropdown
id: node-version
attributes:
label: Node version
options:
- "16"
- "17"
- "18 or greater"
- Not applicable
- I don't know
validations:
required: true
- type: dropdown
id: browser
attributes:
label: Browser
options:
- Chrome
- Firefox
- Safari
- Not applicable
validations:
required: true
- type: textarea
id: additional-context
attributes:
label: Additional context
description: |
Add any other context about the problem here such as the feature flags that you have enabled, any customizations you have made, the data source you are querying, etc.
- type: checkboxes
id: checklist
attributes:
label: Checklist
description: Make sure to follow these steps before submitting your issue - thank you!
options:
- label: I have searched Superset docs and Slack and didn't find a solution to my problem.
- label: I have searched the GitHub issue tracker and didn't find a similar bug report.
- label: I have checked Superset's logs for errors and if I found a relevant Python stacktrace, I included it here as text in the "additional context" section.
validations:
required: true

50
.github/ISSUE_TEMPLATE/bug_report.md vendored Normal file
View File

@@ -0,0 +1,50 @@
---
name: Bug report
about: Create a report to help us improve
labels: "#bug"
---
A clear and concise description of what the bug is.
#### How to reproduce the bug
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error
### Expected results
what you expected to happen.
### Actual results
what actually happens.
#### Screenshots
If applicable, add screenshots to help explain your problem.
### Environment
(please complete the following information):
- browser type and version:
- superset version: `superset version`
- python version: `python --version`
- node.js version: `node -v`
- any feature flags active:
### Checklist
Make sure to follow these steps before submitting your issue - thank you!
- [ ] I have checked the superset logs for python stacktraces and included it here as text if there are any.
- [ ] I have reproduced the issue with at least the latest released version of superset.
- [ ] I have checked the issue tracker for the same issue and I haven't found one similar.
### Additional context
Add any other context about the problem here.

View File

@@ -1,12 +0,0 @@
---
blank_issues_enabled: false
contact_links:
- name: Feature Request
url: https://github.com/apache/superset/discussions/new?category=ideas
about: Propose a feature request to the Superset community
- name: Q&A
url: https://github.com/apache/superset/discussions/new?category=q-a-help
about: Open a community Q&A thread on GitHub Discussions
- name: Slack
url: https://bit.ly/join-superset-slack
about: Join the Superset Community on Slack for other discussions and assistance

View File

@@ -2,6 +2,7 @@
name: Cosmetic Issue
about: Describe a cosmetic issue with CSS, positioning, layout, labeling, or similar
labels: "cosmetic-issue"
---
## Screenshot

View File

@@ -0,0 +1,18 @@
---
name: Feature request
about: Suggest an idea for this project
labels: "#enhancement"
---
**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
**Describe the solution you'd like**
A clear and concise description of what you want to happen.
**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.
**Additional context**
Add any other context or screenshots about the feature request here.

View File

@@ -0,0 +1,12 @@
---
name: Security vulnerability
about: Report a security vulnerability or issue
labels: "#security"
---
## DO NOT REPORT SECURITY VULNERABILITIES HERE
Please report security vulnerabilities to private@superset.apache.org.
In the event a community member discovers a security flaw in Superset, it is important to follow the [Apache Security Guidelines](https://www.apache.org/security/committers.html) and release a fix as quickly as possible before public disclosure. Reporting security vulnerabilities through the usual GitHub Issues channel is not ideal as it will publicize the flaw before a fix can be applied.

View File

@@ -1,15 +1,14 @@
---
name: SIP
about: "Superset Improvement Proposal. See SIP-0 (https://github.com/apache/superset/issues/5602) for details. A SIP introduces any major change into Apache Superset's code or process."
labels: sip
title: "[SIP] Your Title Here (do not add SIP number)"
assignees: "apache/superset-committers"
about: Superset Improvement Proposal
labels: "#SIP"
---
*Please make sure you are familiar with the SIP process documented*
[here](https://github.com/apache/superset/issues/5602). The SIP will be numbered by a committer upon acceptance.
(here)[https://github.com/apache/superset/issues/5602]. The SIP number should be the next number after the latest SIP listed [here](https://github.com/apache/superset/issues?q=is%3Aissue+label%3Asip).
## [SIP] Proposal for ...<title>
## [SIP-\<number>] Proposal for <title>
### Motivation

38
.github/SECURITY.md vendored
View File

@@ -1,38 +0,0 @@
# Security Policy
This is a project of the [Apache Software Foundation](https://apache.org) and follows the
ASF [vulnerability handling process](https://apache.org/security/#vulnerability-handling).
## Reporting Vulnerabilities
**⚠️ Please do not file GitHub issues for security vulnerabilities as they are public! ⚠️**
Apache Software Foundation takes a rigorous standpoint in annihilating the security issues
in its software projects. Apache Superset is highly sensitive and forthcoming to issues
pertaining to its features and functionality.
If you have any concern or believe you have found a vulnerability in Apache Superset,
please get in touch with the Apache Superset Security Team privately at
e-mail address [security@superset.apache.org](mailto:security@superset.apache.org).
More details can be found on the ASF website at
[ASF vulnerability reporting process](https://apache.org/security/#reporting-a-vulnerability)
We kindly ask you to include the following information in your report:
- Apache Superset version that you are using
- A sanitized copy of your `superset_config.py` file or any config overrides
- Detailed steps to reproduce the vulnerability
Note that Apache Superset is not responsible for any third-party dependencies that may
have security issues. Any vulnerabilities found in third-party dependencies should be
reported to the maintainers of those projects. Results from security scans of Apache
Superset dependencies found on its official Docker image can be remediated at release time
by extending the image itself.
**Your responsible disclosure and collaboration are invaluable.**
## Extra Information
- [Apache Superset documentation](https://superset.apache.org/docs/security)
- [Common Vulnerabilities and Exposures by release](https://superset.apache.org/docs/security/cves)
- [How Security Vulnerabilities are Reported & Handled in Apache Superset (Blog)](https://preset.io/blog/how-security-vulnerabilities-are-reported-and-handled-in-apache-superset/)

View File

@@ -1,31 +0,0 @@
name: 'Change Detector'
description: 'Detects file changes for pull request and push events'
inputs:
token:
description: 'GitHub token for authentication'
required: true
outputs:
python:
description: 'Whether Python-related files were changed'
value: ${{ steps.change-detector.outputs.python }}
frontend:
description: 'Whether frontend-related files were changed'
value: ${{ steps.change-detector.outputs.frontend }}
docker:
description: 'Whether docker-related files were changed'
value: ${{ steps.change-detector.outputs.docker }}
docs:
description: 'Whether docs-related files were changed'
value: ${{ steps.change-detector.outputs.docs }}
runs:
using: 'composite'
steps:
- name: Detect file changes
id: change-detector
run: |
python --version
python scripts/change_detector.py
shell: bash
env:
GITHUB_TOKEN: ${{ inputs.token }}
GITHUB_OUTPUT: ${{ github.output }}

View File

@@ -1,23 +0,0 @@
name: Label Draft PRs
on:
pull_request:
types:
- opened
- converted_to_draft
jobs:
label-draft:
runs-on: ubuntu-latest
steps:
- name: Check if the PR is a draft
id: check-draft
uses: actions/github-script@v6
with:
script: |
const isDraft = context.payload.pull_request.draft;
core.setOutput('isDraft', isDraft);
- name: Add `review:draft` Label
if: steps.check-draft.outputs.isDraft == 'true'
uses: actions-ecosystem/action-add-labels@v1
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
labels: "review:draft"

View File

@@ -1,58 +0,0 @@
name: 'Setup Python Environment'
description: 'Set up Python and install dependencies with optional configurations.'
inputs:
python-version:
description: 'Python version to set up. Accepts a version number, "current", or "next".'
required: true
default: 'current'
cache:
description: 'Cache dependencies. Options: pip'
required: false
default: 'pip'
requirements-type:
description: 'Type of requirements to install. Options: base, development, default'
required: false
default: 'dev'
install-superset:
description: 'Whether to install Superset itself. If false, only python is installed'
required: false
default: 'true'
runs:
using: 'composite'
steps:
- name: Interpret Python Version
id: set-python-version
shell: bash
run: |
if [ "${{ inputs.python-version }}" = "current" ]; then
echo "PYTHON_VERSION=3.11" >> $GITHUB_ENV
elif [ "${{ inputs.python-version }}" = "next" ]; then
# currently disabled in GHA matrixes because of library compatibility issues
echo "PYTHON_VERSION=3.12" >> $GITHUB_ENV
elif [ "${{ inputs.python-version }}" = "previous" ]; then
echo "PYTHON_VERSION=3.10" >> $GITHUB_ENV
else
echo "PYTHON_VERSION=${{ inputs.python-version }}" >> $GITHUB_ENV
fi
- name: Set up Python ${{ env.PYTHON_VERSION }}
uses: actions/setup-python@v5
with:
python-version: ${{ env.PYTHON_VERSION }}
cache: ${{ inputs.cache }}
- name: Install dependencies
run: |
if [ "${{ inputs.install-superset }}" = "true" ]; then
sudo apt-get update && sudo apt-get -y install libldap2-dev libsasl2-dev
pip install --upgrade pip setuptools wheel uv
if [ "${{ inputs.requirements-type }}" = "dev" ]; then
uv pip install --system -r requirements/development.txt
elif [ "${{ inputs.requirements-type }}" = "base" ]; then
uv pip install --system -r requirements/base.txt
fi
uv pip install --system -e .
fi
shell: bash

View File

@@ -1,69 +0,0 @@
name: "Setup Docker Environment"
description: "Reusable steps for setting up QEMU, Docker Buildx, DockerHub login, Supersetbot, and optionally Docker Compose"
inputs:
build:
description: "Used for building?"
required: false
default: "false"
dockerhub-user:
description: "DockerHub username"
required: false
dockerhub-token:
description: "DockerHub token"
required: false
install-docker-compose:
description: "Flag to install Docker Compose"
required: false
default: "true"
login-to-dockerhub:
description: "Whether you want to log into dockerhub"
required: false
default: "true"
outputs: {}
runs:
using: "composite"
steps:
- name: Set up QEMU
if: ${{ inputs.build == 'true' }}
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
if: ${{ inputs.build == 'true' }}
uses: docker/setup-buildx-action@v3
- name: Try to login to DockerHub
if: ${{ inputs.login-to-dockerhub == 'true' }}
continue-on-error: true
uses: docker/login-action@v3
with:
username: ${{ inputs.dockerhub-user }}
password: ${{ inputs.dockerhub-token }}
- name: Install Docker Compose
if: ${{ inputs.install-docker-compose == 'true' }}
shell: bash
run: |
sudo apt-get update
sudo apt-get install -y ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
# Download and save the Docker GPG key in the correct format
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
# Ensure the key file is readable
sudo chmod a+r /etc/apt/keyrings/docker.gpg
# Add the Docker repository using the correct key
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# Update package lists and install Docker Compose plugin
sudo apt update
sudo apt install -y docker-compose-plugin
- name: Docker Version Info
shell: bash
run: docker info

View File

@@ -1,40 +0,0 @@
name: 'Setup supersetbot'
description: 'Sets up supersetbot npm lib from the repo or npm'
inputs:
from-npm:
description: 'Install from npm instead of local setup'
required: false
default: 'true' # Defaults to using the local setup
runs:
using: 'composite'
steps:
- name: Setup Node Env
uses: actions/setup-node@v4
with:
node-version: '20'
- name: Install supersetbot from npm
if: ${{ inputs.from-npm == 'true' }}
shell: bash
run: npm install -g supersetbot
- name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )"
if: ${{ inputs.from-npm == 'false' }}
uses: actions/checkout@v4
with:
repository: apache-superset/supersetbot
path: supersetbot
- name: Setup supersetbot from repo
if: ${{ inputs.from-npm == 'false' }}
shell: bash
working-directory: supersetbot
run: |
# simple trick to install globally with dependencies
npm pack
npm install -g ./supersetbot*.tgz
- name: echo supersetbot version
shell: bash
run: supersetbot version

354
.github/dependabot.yml vendored
View File

@@ -1,361 +1,23 @@
version: 2
enable-beta-ecosystems: true
updates:
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "monthly"
- package-ecosystem: "npm"
ignore:
# not until React >= 18.0.0
- dependency-name: "storybook"
- dependency-name: "@storybook*"
directory: "/superset-frontend/"
schedule:
interval: "monthly"
interval: "daily"
labels:
- npm
- dependabot
open-pull-requests-limit: 30
versioning-strategy: increase
# NOTE: `uv` support is in beta, more details here:
# https://github.com/dependabot/dependabot-core/pull/10040#issuecomment-2696978430
- package-ecosystem: "uv"
directory: "requirements/"
open-pull-requests-limit: 10
- package-ecosystem: "pip"
directory: "/requirements/"
schedule:
interval: "daily"
labels:
- uv
- pip
- dependabot
- package-ecosystem: "npm"
directory: ".github/actions"
schedule:
interval: "monthly"
open-pull-requests-limit: 10
versioning-strategy: increase
- package-ecosystem: "npm"
directory: "/docs/"
schedule:
interval: "monthly"
open-pull-requests-limit: 10
versioning-strategy: increase
- package-ecosystem: "npm"
directory: "/superset-websocket/"
schedule:
interval: "monthly"
labels:
- npm
- dependabot
versioning-strategy: increase
- package-ecosystem: "npm"
directory: "/superset-websocket/utils/client-ws-app/"
schedule:
interval: "monthly"
labels:
- npm
- dependabot
open-pull-requests-limit: 10
versioning-strategy: increase
# Now for all of our plugins and packages!
- package-ecosystem: "npm"
directory: "/superset-frontend/plugins/legacy-plugin-chart-calendar/"
schedule:
interval: "monthly"
labels:
- npm
- dependabot
open-pull-requests-limit: 5
versioning-strategy: increase
- package-ecosystem: "npm"
directory: "/superset-frontend/plugins/legacy-plugin-chart-histogram/"
schedule:
interval: "monthly"
labels:
- npm
- dependabot
open-pull-requests-limit: 5
versioning-strategy: increase
- package-ecosystem: "npm"
directory: "/superset-frontend/plugins/legacy-plugin-chart-partition/"
schedule:
interval: "monthly"
labels:
- npm
- dependabot
open-pull-requests-limit: 5
versioning-strategy: increase
- package-ecosystem: "npm"
directory: "/superset-frontend/plugins/legacy-plugin-chart-world-map/"
schedule:
interval: "monthly"
labels:
- npm
- dependabot
open-pull-requests-limit: 5
versioning-strategy: increase
- package-ecosystem: "npm"
directory: "/superset-frontend/plugins/plugin-chart-pivot-table/"
schedule:
interval: "monthly"
labels:
- npm
- dependabot
open-pull-requests-limit: 5
versioning-strategy: increase
- package-ecosystem: "npm"
directory: "/superset-frontend/plugins/legacy-plugin-chart-chord/"
schedule:
interval: "monthly"
labels:
- npm
- dependabot
open-pull-requests-limit: 5
versioning-strategy: increase
- package-ecosystem: "npm"
directory: "/superset-frontend/plugins/legacy-plugin-chart-horizon/"
schedule:
interval: "monthly"
labels:
- npm
- dependabot
open-pull-requests-limit: 5
versioning-strategy: increase
- package-ecosystem: "npm"
directory: "/superset-frontend/plugins/legacy-plugin-chart-rose/"
schedule:
interval: "monthly"
labels:
- npm
- dependabot
open-pull-requests-limit: 5
versioning-strategy: increase
- package-ecosystem: "npm"
directory: "/superset-frontend/plugins/legacy-preset-chart-deckgl/"
schedule:
interval: "monthly"
labels:
- npm
- dependabot
open-pull-requests-limit: 5
versioning-strategy: increase
- package-ecosystem: "npm"
directory: "/superset-frontend/plugins/plugin-chart-table/"
schedule:
interval: "monthly"
labels:
- npm
- dependabot
open-pull-requests-limit: 5
versioning-strategy: increase
- package-ecosystem: "npm"
directory: "/superset-frontend/plugins/legacy-plugin-chart-country-map/"
schedule:
interval: "monthly"
labels:
- npm
- dependabot
open-pull-requests-limit: 5
versioning-strategy: increase
- package-ecosystem: "npm"
directory: "/superset-frontend/plugins/legacy-plugin-chart-map-box/"
schedule:
interval: "monthly"
labels:
- npm
- dependabot
open-pull-requests-limit: 5
versioning-strategy: increase
- package-ecosystem: "npm"
directory: "/superset-frontend/plugins/legacy-plugin-chart-sankey/"
schedule:
interval: "monthly"
labels:
- npm
- dependabot
open-pull-requests-limit: 5
versioning-strategy: increase
- package-ecosystem: "npm"
directory: "/superset-frontend/plugins/legacy-preset-chart-nvd3/"
schedule:
interval: "monthly"
labels:
- npm
- dependabot
open-pull-requests-limit: 5
versioning-strategy: increase
- package-ecosystem: "npm"
directory: "/superset-frontend/plugins/plugin-chart-word-cloud/"
schedule:
interval: "monthly"
labels:
- npm
- dependabot
open-pull-requests-limit: 5
versioning-strategy: increase
- package-ecosystem: "npm"
directory: "/superset-frontend/plugins/legacy-plugin-chart-event-flow/"
schedule:
interval: "monthly"
labels:
- npm
- dependabot
open-pull-requests-limit: 5
versioning-strategy: increase
- package-ecosystem: "npm"
directory: "/superset-frontend/plugins/legacy-plugin-chart-paired-t-test/"
schedule:
interval: "monthly"
labels:
- npm
- dependabot
open-pull-requests-limit: 5
versioning-strategy: increase
- package-ecosystem: "npm"
directory: "/superset-frontend/plugins/legacy-plugin-chart-sankey-loop/"
schedule:
interval: "monthly"
labels:
- npm
- dependabot
open-pull-requests-limit: 5
versioning-strategy: increase
- package-ecosystem: "npm"
directory: "/superset-frontend/plugins/plugin-chart-echarts/"
schedule:
interval: "monthly"
labels:
- npm
- dependabot
open-pull-requests-limit: 5
versioning-strategy: increase
- package-ecosystem: "npm"
directory: "/superset-frontend/plugins/preset-chart-xy/"
schedule:
interval: "monthly"
labels:
- npm
- dependabot
open-pull-requests-limit: 5
versioning-strategy: increase
- package-ecosystem: "npm"
directory: "/superset-frontend/plugins/legacy-plugin-chart-heatmap/"
schedule:
interval: "monthly"
labels:
- npm
- dependabot
open-pull-requests-limit: 5
versioning-strategy: increase
- package-ecosystem: "npm"
directory: "/superset-frontend/plugins/legacy-plugin-chart-parallel-coordinates/"
schedule:
interval: "monthly"
labels:
- npm
- dependabot
open-pull-requests-limit: 5
versioning-strategy: increase
- package-ecosystem: "npm"
directory: "/superset-frontend/plugins/legacy-plugin-chart-sunburst/"
schedule:
interval: "monthly"
labels:
- npm
- dependabot
open-pull-requests-limit: 5
versioning-strategy: increase
- package-ecosystem: "npm"
directory: "/superset-frontend/plugins/plugin-chart-handlebars/"
schedule:
interval: "monthly"
labels:
- npm
- dependabot
open-pull-requests-limit: 5
versioning-strategy: increase
- package-ecosystem: "npm"
directory: "/superset-frontend/packages/generator-superset/"
schedule:
interval: "monthly"
labels:
- npm
- dependabot
open-pull-requests-limit: 5
versioning-strategy: increase
- package-ecosystem: "npm"
directory: "/superset-frontend/packages/superset-ui-chart-controls/"
schedule:
interval: "monthly"
labels:
- npm
- dependabot
open-pull-requests-limit: 5
versioning-strategy: increase
- package-ecosystem: "npm"
directory: "/superset-frontend/packages/superset-ui-core/"
ignore:
# not until React >= 18.0.0
- dependency-name: "react-markdown"
- dependency-name: "remark-gfm"
schedule:
interval: "monthly"
labels:
- npm
- dependabot
open-pull-requests-limit: 5
versioning-strategy: increase
- package-ecosystem: "npm"
directory: "/superset-frontend/packages/superset-ui-demo/"
schedule:
interval: "monthly"
labels:
- npm
- dependabot
open-pull-requests-limit: 5
versioning-strategy: increase
- package-ecosystem: "npm"
directory: "/superset-frontend/packages/superset-ui-switchboard/"
schedule:
interval: "monthly"
labels:
- npm
- dependabot
open-pull-requests-limit: 5
versioning-strategy: increase
interval: "daily"
open-pull-requests-limit: 0

158
.github/labeler.yml vendored
View File

@@ -1,158 +0,0 @@
# TODO (if we can)
# - Label PRs in need of codeowner review
# - viz:charts:xyz labels
# component/design system areas
# - storybook(s)
# - f/e and b/e test changes?
# - product areas (SQL Lab, Explore, Dashboard, etc.)
# - database areas (SQLAlchemy, labelind DBs by driver, etc.)
############################################
# General workflow warnings
# full list of labels is here: https://github.com/apache/superset/labels
############################################
"risk:db-migration":
- changed-files:
- any-glob-to-any-file:
- 'superset/migrations/**'
############################################
# Dependencies
############################################
"dependencies:python":
- changed-files:
- any-glob-to-any-file:
- 'superset/requirements/**'
- 'superset/translations/requirements.txt'
- 'RELEASING/requirements.txt'
"dependencies:npm":
- changed-files:
- any-glob-to-any-file:
- 'superset-frontend/package.json'
- 'superset-frontend/package-lock.json'
- 'superset-embedded-sdk/package.json'
- 'superset-embedded-sdk/package-lock.json'
- 'superset-websocket/package.json'
- 'superset-websocket/package-lock.json'
- 'superset-frontend/cypress-base/package.json'
- 'superset-frontend/cypress-base/package-lock.json'
- 'superset-frontend/packages/**/package.json'
- 'superset-frontend/plugins/**/package.json'
############################################
# Areas of the main codebase
############################################
"doc":
- changed-files:
- any-glob-to-any-file:
- 'docs/**'
"api":
- changed-files:
- any-glob-to-any-file:
- 'superset/**/api.py'
- 'superset/views/core.py'
"i18n":
- changed-files:
- any-glob-to-any-file:
- 'superset/translations/**'
"i18n:brazilian":
- changed-files:
- any-glob-to-any-file:
- 'superset/translations/pt_BR/**'
"i18n:chinese":
- changed-files:
- any-glob-to-any-file:
- 'superset/translations/zh/**'
"i18n:traditional-chinese":
- changed-files:
- any-glob-to-any-file:
- 'superset/translations/zh_TW/**'
"i18n:dutch":
- changed-files:
- any-glob-to-any-file:
- 'superset/translations/nl/**'
"i18n:french":
- changed-files:
- any-glob-to-any-file:
- 'superset/translations/fr/**'
"i18n:italian":
- changed-files:
- any-glob-to-any-file:
- 'superset/translations/it/**'
"i18n:japanese":
- changed-files:
- any-glob-to-any-file:
- 'superset/translations/ja/**'
"i18n:korean":
- changed-files:
- any-glob-to-any-file:
- 'superset/translations/ko/**'
"i18n:portuguese":
- changed-files:
- any-glob-to-any-file:
- 'superset/translations/pt/**'
"i18n:russian":
- changed-files:
- any-glob-to-any-file:
- 'superset/translations/ru/**'
"i18n:slovak":
- changed-files:
- any-glob-to-any-file:
- 'superset/translations/sk/**'
"i18n:ukrainian":
- changed-files:
- any-glob-to-any-file:
- 'superset/translations/uk/**'
"i18n:spanish":
- changed-files:
- any-glob-to-any-file:
- 'superset/translations/es/**'
"i18n:persian":
- changed-files:
- any-glob-to-any-file:
- 'superset/translations/fa/**'
############################################
# Sub-projects and monorepo packages
############################################
"plugins":
- changed-files:
- any-glob-to-any-file:
- 'superset-frontend/plugins/**'
"packages":
- changed-files:
- any-glob-to-any-file:
- 'superset-frontend/packages/**'
"embedded":
- changed-files:
- any-glob-to-any-file:
- 'superset-embedded-sdk/**'
"github_actions":
- changed-files:
- any-glob-to-any-file:
- '.github/actions/**'
- '.github/workflows/**'

View File

@@ -31,6 +31,19 @@ say() {
fi
}
# default command to run when the `run` input is empty
default-setup-command() {
apt-get-install
pip-upgrade
}
apt-get-install() {
say "::group::apt-get install dependencies"
sudo apt-get update && sudo apt-get install --yes \
libsasl2-dev
say "::endgroup::"
}
pip-upgrade() {
say "::group::Upgrade pip"
pip install --upgrade pip
@@ -89,8 +102,6 @@ EOF
setup-mysql() {
say "::group::Initialize database"
mysql -h 127.0.0.1 -P 13306 -u root --password=root <<-EOF
SET GLOBAL transaction_isolation='READ-COMMITTED';
SET GLOBAL TRANSACTION ISOLATION LEVEL READ COMMITTED;
DROP DATABASE IF EXISTS superset;
CREATE DATABASE superset DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
DROP DATABASE IF EXISTS sqllab_test_db;
@@ -117,17 +128,9 @@ testdata() {
say "::endgroup::"
}
celery-worker() {
cd "$GITHUB_WORKSPACE"
say "::group::Start Celery worker"
# must specify PYTHONPATH to make `tests.superset_test_config` importable
export PYTHONPATH="$GITHUB_WORKSPACE"
celery \
--app=superset.tasks.celery_app:app \
worker \
--concurrency=2 \
--detach \
--optimization=fair
codecov() {
say "::group::Upload code coverage"
bash ".github/workflows/codecov.sh" "$@"
say "::endgroup::"
}
@@ -143,85 +146,69 @@ cypress-install() {
cache-save cypress
}
cypress-run-all() {
local USE_DASHBOARD=$1
local APP_ROOT=$2
# Run Cypress and upload coverage reports
cypress-run() {
cd "$GITHUB_WORKSPACE/superset-frontend/cypress-base"
local page=$1
local group=${2:-Default}
local cypress="./node_modules/.bin/cypress run"
local browser=${CYPRESS_BROWSER:-chrome}
export TERM="xterm"
say "::group::Run Cypress for [$page]"
if [[ -z $CYPRESS_KEY ]]; then
$cypress --spec "cypress/integration/$page" --browser "$browser"
else
export CYPRESS_RECORD_KEY=`echo $CYPRESS_KEY | base64 --decode`
# additional flags for Cypress dashboard recording
$cypress --spec "cypress/integration/$page" --browser "$browser" \
--record --group "$group" --tag "${GITHUB_REPOSITORY},${GITHUB_EVENT_NAME}" \
--parallel --ci-build-id "${GITHUB_SHA:0:8}-${NONCE}"
fi
# don't add quotes to $record because we do want word splitting
say "::endgroup::"
}
cypress-run-all() {
# Start Flask and run it in background
# --no-debugger means disable the interactive debugger on the 500 page
# so errors can print to stderr.
local flasklog="${HOME}/flask.log"
local port=8081
CYPRESS_BASE_URL="http://localhost:${port}"
if [ -n "$APP_ROOT" ]; then
export SUPERSET_APP_ROOT=$APP_ROOT
CYPRESS_BASE_URL=${CYPRESS_BASE_URL}${APP_ROOT}
fi
export CYPRESS_BASE_URL
nohup flask run --no-debugger -p $port >"$flasklog" 2>&1 </dev/null &
local flaskProcessId=$!
USE_DASHBOARD_FLAG=''
if [ "$USE_DASHBOARD" = "true" ]; then
USE_DASHBOARD_FLAG='--use-dashboard'
fi
# UNCOMMENT the next few commands to monitor memory usage
# monitor_memory & # Start memory monitoring in the background
# memoryMonitorPid=$!
python ../../scripts/cypress_run.py --parallelism $PARALLELISM --parallelism-id $PARALLEL_ID --group $PARALLEL_ID --retries 5 $USE_DASHBOARD_FLAG
# kill $memoryMonitorPid
# After job is done, print out Flask log for debugging
echo "::group::Flask log for default run"
cat "$flasklog"
echo "::endgroup::"
# make sure the program exits
kill $flaskProcessId
}
eyes-storybook-dependencies() {
say "::group::install eyes-storyook dependencies"
sudo apt-get update -y && sudo apt-get -y install gconf-service ca-certificates libxshmfence-dev fonts-liberation libappindicator3-1 libasound2 libatk-bridge2.0-0 libatk1.0-0 libc6 libcairo2 libcups2 libdbus-1-3 libexpat1 libfontconfig1 libgbm1 libgcc1 libgconf-2-4 libglib2.0-0 libgdk-pixbuf2.0-0 libgtk-3-0 libnspr4 libnss3 libpangocairo-1.0-0 libstdc++6 libx11-6 libx11-xcb1 libxcb1 libxcomposite1 libxcursor1 libxdamage1 libxext6 libxfixes3 libxi6 libxrandr2 libxrender1 libxss1 libxtst6 lsb-release xdg-utils libappindicator1
say "::endgroup::"
}
monitor_memory() {
# This is a small utility to monitor memory usage. Useful for debugging memory in GHA.
# To use wrap your command as follows
#
# monitor_memory & # Start memory monitoring in the background
# memoryMonitorPid=$!
# YOUR_COMMAND_HERE
# kill $memoryMonitorPid
while true; do
echo "$(date) - Top 5 memory-consuming processes:"
ps -eo pid,comm,%mem --sort=-%mem | head -n 6 # First line is the header, next 5 are top processes
sleep 2
done
}
cypress-run-applitools() {
cd "$GITHUB_WORKSPACE/superset-frontend/cypress-base"
local flasklog="${HOME}/flask.log"
local port=8081
local cypress="./node_modules/.bin/cypress run"
local browser=${CYPRESS_BROWSER:-chrome}
export CYPRESS_BASE_URL="http://localhost:${port}"
nohup flask run --no-debugger -p $port >"$flasklog" 2>&1 </dev/null &
local flaskProcessId=$!
$cypress --spec "cypress/applitools/**/*" --browser "$browser" --headless
cypress-run "*/**/*"
# After job is done, print out Flask log for debugging
say "::group::Flask log for default run"
cat "$flasklog"
say "::endgroup::"
# Rerun SQL Lab tests with backend persist enabled
export SUPERSET_CONFIG=tests.integration_tests.superset_test_config_sqllab_backend_persist
# Restart Flask with new configs
kill $flaskProcessId
nohup flask run --no-debugger -p $port >"$flasklog" 2>&1 </dev/null &
local flaskProcessId=$!
cypress-run "sqllab/*" "Backend persist"
# Upload code coverage separately so each page can have separate flags
# -c will clean existing coverage reports, -F means add flags
# || true to prevent CI failure on codecov upload
codecov -c -F "cypress" || true
say "::group::Flask log for backend persist"
cat "$flasklog"
say "::endgroup::"
# make sure the program exits
kill $flaskProcessId
}

View File

@@ -1,77 +0,0 @@
name: Bump Python Package
on:
# Can be triggered manually
workflow_dispatch:
inputs:
package:
required: false
description: The python package to bump (all if empty)
group:
required: false
description: The optional dependency group to bump (as defined in pyproject.toml)
limit:
required: true
description: Max number of PRs to open (0 for no limit)
default: 5
extra-flags:
required: false
default: --only-base
description: Additional flags to pass to the bump-python command
#schedule:
# - cron: '0 0 * * *' # Runs daily at midnight UTC
jobs:
bump-python-package:
runs-on: ubuntu-24.04
permissions:
actions: write
contents: write
pull-requests: write
checks: write
steps:
- name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )"
uses: actions/checkout@v4
with:
persist-credentials: true
ref: master
- name: Setup supersetbot
uses: ./.github/actions/setup-supersetbot/
- name: Set up Python ${{ inputs.python-version }}
uses: actions/setup-python@v5
with:
python-version: "3.10"
- name: Install uv
run: pip install uv
- name: supersetbot bump-python -p "${{ github.event.inputs.package }}"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
git config --global user.email "action@github.com"
git config --global user.name "GitHub Action"
PACKAGE_OPT=""
if [ -n "${{ github.event.inputs.package }}" ]; then
PACKAGE_OPT="-p ${{ github.event.inputs.package }}"
fi
GROUP_OPT=""
if [ -n "${{ github.event.inputs.group }}" ]; then
GROUP_OPT="-g ${{ github.event.inputs.group }}"
fi
EXTRA_FLAGS="${{ github.event.inputs.extra-flags }}"
supersetbot bump-python \
--verbose \
--use-current-repo \
--include-subpackages \
--limit ${{ github.event.inputs.limit }} \
$PACKAGE_OPT \
$GROUP_OPT \
$EXTRA_FLAGS

View File

@@ -25,8 +25,6 @@ const assetsConfig = {
path: [`${workspaceDirectory}/superset/static/assets`],
hashFiles: [
`${workspaceDirectory}/superset-frontend/src/**/*`,
`${workspaceDirectory}/superset-frontend/packages/**/*`,
`${workspaceDirectory}/superset-frontend/plugins/**/*`,
`${workspaceDirectory}/superset-frontend/*.js`,
`${workspaceDirectory}/superset-frontend/*.json`,
],

View File

@@ -9,15 +9,12 @@ on:
jobs:
cancel-duplicate-runs:
name: Cancel duplicate workflow runs
runs-on: ubuntu-24.04
permissions:
actions: write
contents: read
runs-on: ubuntu-20.04
steps:
- name: Check number of queued tasks
id: check_queued
env:
GITHUB_TOKEN: ${{ github.token }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GITHUB_REPO: ${{ github.repository }}
run: |
get_count() {
@@ -27,16 +24,16 @@ jobs:
}
count=$(( `get_count queued` + `get_count in_progress` ))
echo "Found $count unfinished jobs."
echo "count=$count" >> $GITHUB_OUTPUT
echo "::set-output name=count::$count"
- name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )"
if: steps.check_queued.outputs.count >= 20
uses: actions/checkout@v4
uses: actions/checkout@v2
- name: Cancel duplicate workflow runs
if: steps.check_queued.outputs.count >= 20
env:
GITHUB_TOKEN: ${{ github.token }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GITHUB_REPOSITORY: ${{ github.repository }}
run: |
pip install click requests typing_extensions python-dateutil

View File

@@ -1,43 +0,0 @@
name: Check python dependencies
on:
push:
branches:
- "master"
- "[0-9].[0-9]*"
pull_request:
types: [synchronize, opened, reopened, ready_for_review]
# cancel previous workflow jobs for PRs
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.run_id }}
cancel-in-progress: true
jobs:
check-python-deps:
runs-on: ubuntu-22.04
steps:
- name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )"
uses: actions/checkout@v4
with:
persist-credentials: false
submodules: recursive
fetch-depth: 1
- name: Setup Python
if: steps.check.outputs.python
uses: ./.github/actions/setup-backend/
- name: Run uv
if: steps.check.outputs.python
run: ./scripts/uv-pip-compile.sh
- name: Check for uncommitted changes
run: |
if [[ -n "$(git diff)" ]]; then
echo "ERROR: The pinned dependencies are not up-to-date."
echo "Please run './scripts/uv-pip-compile.sh' and commit the changes."
exit 1
else
echo "Pinned dependencies are up-to-date."
fi

View File

@@ -3,39 +3,24 @@ on:
push:
paths:
- "superset/migrations/**"
branches:
- "master"
- "[0-9].[0-9]*"
pull_request:
paths:
- "superset/migrations/**"
types: [synchronize, opened, reopened, ready_for_review]
# cancel previous workflow jobs for PRs
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.run_id }}
cancel-in-progress: true
jobs:
check_db_migration_conflict:
name: Check DB migration conflict
runs-on: ubuntu-24.04
permissions:
contents: read
pull-requests: write
runs-on: ubuntu-20.04
steps:
- name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )"
uses: actions/checkout@v4
uses: actions/checkout@v2
- name: Check and notify
uses: actions/github-script@v7
uses: actions/github-script@v3
with:
github-token: ${{ github.token }}
github-token: ${{ secrets.GITHUB_TOKEN }}
script: |
// API reference: https://octokit.github.io/rest.js
const currentBranch = context.ref.replace('refs/heads/', '');
// Find all pull requests to current branch
const opts = github.rest.pulls.list.endpoint.merge({
const opts = github.pulls.list.endpoint.merge({
owner: context.repo.owner,
repo: context.repo.repo,
base: context.ref,
@@ -49,7 +34,7 @@ jobs:
}
for (const pull of pulls) {
const listFilesOpts = await github.rest.pulls.listFiles.endpoint.merge({
const listFilesOpts = await github.pulls.listFiles.endpoint.merge({
owner: context.repo.owner,
repo: context.repo.repo,
pull_number: pull.number,
@@ -59,17 +44,16 @@ jobs:
files.some(x => x.contents_url.includes('/contents/superset/migrations'))
) {
console.log(`PR #${pull.number} "${pull.title}" also added db migration`)
await github.rest.issues.createComment({
await github.issues.createComment({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: pull.number,
body:
`# 🙅‍♂️ 🙅‍♂️ 🙅‍♂️ 🙅‍♂️ 🙅‍♂️ 🙅‍♂️ 🙅‍♂️ 🙅‍♂️ 🙅‍♂️ 🙅‍♂️ 🙅‍♂️ 🙅‍♂️ 🙅‍♂️ 🙅‍♂️ 🙅‍♂️ 🙅‍♂️` +
`❗ @${pull.user.login} Your base branch \`${currentBranch}\` has ` +
`⚠️ @${pull.user.login} Your base branch \`${currentBranch}\` has just ` +
'also updated `superset/migrations`.\n' +
'\n' +
'**Please consider rebasing your branch and [resolving potential db migration conflicts](https://github.com/apache/superset/blob/master/CONTRIBUTING.md#merging-db-migrations).**',
'**Please consider rebasing your branch to avoid db migration conflicts.**',
});
}
}

1903
.github/workflows/codecov.sh vendored Executable file

File diff suppressed because it is too large Load Diff

View File

@@ -1,58 +0,0 @@
name: "CodeQL"
on:
push:
branches: ["master", "[0-9].[0-9]*"]
pull_request:
# The branches below must be a subset of the branches above
branches: ["master"]
schedule:
- cron: "0 4 * * *"
# cancel previous workflow jobs for PRs
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.run_id }}
cancel-in-progress: true
jobs:
analyze:
name: Analyze
runs-on: ubuntu-24.04
permissions:
actions: read
contents: read
security-events: write
strategy:
fail-fast: false
matrix:
language: ["python", "javascript"]
# Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Check for file changes
id: check
uses: ./.github/actions/change-detector/
with:
token: ${{ secrets.GITHUB_TOKEN }}
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v3
with:
languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file.
# By default, queries listed here will override any specified in a config file.
# Prefix the list here with "+" to use these queries and those in the config file.
# For more details on CodeQL's query packs, refer to: https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs
# queries: security-extended,security-and-quality
- name: Perform CodeQL Analysis
if: steps.check.outputs.python || steps.check.outputs.frontend
uses: github/codeql-action/analyze@v3
with:
category: "/language:${{matrix.language}}"

View File

@@ -1,69 +0,0 @@
# Dependency Review Action
#
# This Action will scan dependency manifest files that change as part of a Pull Request, surfacing known-vulnerable versions of the packages declared or updated in the PR. Once installed, if the workflow run is marked as required, PRs introducing known-vulnerable packages will be blocked from merging.
#
# Source repository: https://github.com/actions/dependency-review-action
# Public documentation: https://docs.github.com/en/code-security/supply-chain-security/understanding-your-software-supply-chain/about-dependency-review#dependency-review-enforcement
name: "Dependency Review"
on:
push:
branches:
- "master"
- "[0-9].[0-9]*"
pull_request:
types: [synchronize, opened, reopened, ready_for_review]
# cancel previous workflow jobs for PRs
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.run_id }}
cancel-in-progress: true
permissions:
contents: read
jobs:
dependency-review:
if: github.event_name == 'pull_request'
runs-on: ubuntu-24.04
steps:
- name: "Checkout Repository"
uses: actions/checkout@v4
- name: "Dependency Review"
uses: actions/dependency-review-action@v4
continue-on-error: true
with:
fail-on-severity: critical
# compatible/incompatible licenses addressed here: https://www.apache.org/legal/resolved.html
# find SPDX identifiers here: https://spdx.org/licenses/
deny-licenses: MS-LPL, BUSL-1.1, QPL-1.0, Sleepycat, SSPL-1.0, CPOL-1.02, AGPL-3.0, GPL-1.0+, BSD-4-Clause-UC, NPL-1.0, NPL-1.1, JSON
# pkg:npm/store2@2.14.2
# adding an exception for an ambigious license on store2, which has been resolved in
# the latest version. It's MIT: https://github.com/nbubna/store/blob/master/LICENSE-MIT
# pkg:npm/applitools/*
# adding exception for all applitools modules (eyes-cypress and its dependencies),
# which has an explicit OSS license approved by ASF
# license: https://applitools.com/legal/open-source-terms-of-use/
# pkg:npm/node-forge@1.3.1
# selecting BSD-3-Clause licensing terms for node-forge to ensure compatibility with Apache
allow-dependencies-licenses: pkg:npm/store2@2.14.2, pkg:npm/applitools/core, pkg:npm/applitools/core-base, pkg:npm/applitools/css-tree, pkg:npm/applitools/ec-client, pkg:npm/applitools/eg-socks5-proxy-server, pkg:npm/applitools/eyes, pkg:npm/applitools/eyes-cypress, pkg:npm/applitools/nml-client, pkg:npm/applitools/tunnel-client, pkg:npm/applitools/utils, pkg:npm/node-forge@1.3.1, pkg:npm/rgbcolor, pkg:npm/jszip@3.10.1
python-dependency-liccheck:
runs-on: ubuntu-22.04
steps:
- name: "Checkout Repository"
uses: actions/checkout@v4
- name: Setup Python
uses: ./.github/actions/setup-backend/
with:
requirements-type: base
- name: "Set up liccheck"
run: |
uv pip install --system liccheck
- name: "Run liccheck"
run: |
# run the checks
liccheck -R output.txt
# Print the report
cat output.txt

View File

@@ -0,0 +1,78 @@
name: Push ephmereral env image
on:
workflow_run:
workflows: ["Docker"]
types:
- completed
jobs:
docker_ephemeral_env:
name: Push ephemeral env Docker image to ECR
if: github.event.workflow_run.event == 'pull_request' && github.event.workflow_run.conclusion == 'success'
runs-on: ubuntu-latest
steps:
- name: 'Download artifact'
uses: actions/github-script@v3.1.0
with:
script: |
const artifacts = await github.actions.listWorkflowRunArtifacts({
owner: context.repo.owner,
repo: context.repo.repo,
run_id: ${{ github.event.workflow_run.id }},
});
core.info('*** artifacts')
core.info(JSON.stringify(artifacts))
const matchArtifact = artifacts.data.artifacts.filter((artifact) => {
return artifact.name == "build"
})[0];
if(!matchArtifact) return core.setFailed("Build artifacts not found")
const download = await github.actions.downloadArtifact({
owner: context.repo.owner,
repo: context.repo.repo,
artifact_id: matchArtifact.id,
archive_format: 'zip',
});
var fs = require('fs');
fs.writeFileSync('${{github.workspace}}/build.zip', Buffer.from(download.data));
- run: unzip build.zip
- name: Display downloaded files (debug)
run: ls -la
- name: Get SHA
id: get-sha
run: echo "::set-output name=sha::$(cat ./SHA)"
- name: Get PR
id: get-pr
run: echo "::set-output name=num::$(cat ./PR-NUM)"
- name: Configure AWS credentials
uses: aws-actions/configure-aws-credentials@v1
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: us-west-2
- name: Login to Amazon ECR
id: login-ecr
uses: aws-actions/amazon-ecr-login@v1
- name: Load, tag and push image to ECR
id: push-image
env:
ECR_REGISTRY: ${{ steps.login-ecr.outputs.registry }}
ECR_REPOSITORY: superset-ci
SHA: ${{ steps.get-sha.outputs.sha }}
IMAGE_TAG: pr-${{ steps.get-pr.outputs.num }}
run: |
docker load < $SHA.tar.gz
docker tag $SHA $ECR_REGISTRY/$ECR_REPOSITORY:$IMAGE_TAG
docker tag $SHA $ECR_REGISTRY/$ECR_REPOSITORY:$SHA
docker push -a $ECR_REGISTRY/$ECR_REPOSITORY

22
.github/workflows/docker-release.yml vendored Normal file
View File

@@ -0,0 +1,22 @@
name: Docker
on:
release:
types: [published]
jobs:
docker-release:
name: docker-release
runs-on: ubuntu-latest
steps:
- name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )"
uses: actions/checkout@v2
with:
persist-credentials: false
submodules: recursive
ref: ${{ github.ref }}
- shell: bash
env:
DOCKERHUB_USER: ${{ secrets.DOCKERHUB_USER }}
DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }}
run: |
.github/workflows/docker_build_push.sh

View File

@@ -1,137 +1,42 @@
name: Build & publish docker images
name: Docker
on:
push:
branches:
- "master"
- "[0-9].[0-9]*"
- 'master'
pull_request:
branches:
- "master"
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.run_id }}
cancel-in-progress: true
types: [synchronize, opened, reopened, ready_for_review]
jobs:
setup_matrix:
runs-on: ubuntu-24.04
outputs:
matrix_config: ${{ steps.set_matrix.outputs.matrix_config }}
steps:
- id: set_matrix
run: |
MATRIX_CONFIG=$(if [ "${{ github.event_name }}" == "pull_request" ]; then echo '["dev", "lean"]'; else echo '["dev", "lean", "py310", "websocket", "dockerize", "py311"]'; fi)
echo "matrix_config=${MATRIX_CONFIG}" >> $GITHUB_OUTPUT
echo $GITHUB_OUTPUT
docker-build:
if: github.event.pull_request.draft == false
name: docker-build
needs: setup_matrix
runs-on: ubuntu-24.04
strategy:
matrix:
build_preset: ${{fromJson(needs.setup_matrix.outputs.matrix_config)}}
fail-fast: false
env:
DOCKERHUB_USER: ${{ secrets.DOCKERHUB_USER }}
DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }}
IMAGE_TAG: apache/superset:GHA-${{ matrix.build_preset }}-${{ github.run_id }}
runs-on: ubuntu-latest
steps:
- name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )"
uses: actions/checkout@v4
uses: actions/checkout@v2
with:
persist-credentials: false
- name: Check for file changes
id: check
uses: ./.github/actions/change-detector/
with:
token: ${{ secrets.GITHUB_TOKEN }}
- name: Setup Docker Environment
if: steps.check.outputs.python || steps.check.outputs.frontend || steps.check.outputs.docker
uses: ./.github/actions/setup-docker
with:
dockerhub-user: ${{ secrets.DOCKERHUB_USER }}
dockerhub-token: ${{ secrets.DOCKERHUB_TOKEN }}
build: "true"
- name: Setup supersetbot
if: steps.check.outputs.python || steps.check.outputs.frontend || steps.check.outputs.docker
uses: ./.github/actions/setup-supersetbot/
- name: Build Docker Image
if: steps.check.outputs.python || steps.check.outputs.frontend || steps.check.outputs.docker
shell: bash
- shell: bash
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
DOCKERHUB_USER: ${{ secrets.DOCKERHUB_USER }}
DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }}
run: |
# Single platform builds in pull_request context to speed things up
if [ "${{ github.event_name }}" = "push" ]; then
PLATFORM_ARG="--platform linux/arm64 --platform linux/amd64"
# can only --load images in single-platform builds
PUSH_OR_LOAD="--push"
elif [ "${{ github.event_name }}" = "pull_request" ]; then
PLATFORM_ARG="--platform linux/amd64"
PUSH_OR_LOAD="--load"
fi
.github/workflows/docker_build_push.sh
supersetbot docker \
$PUSH_OR_LOAD \
--preset ${{ matrix.build_preset }} \
--context "$EVENT" \
--context-ref "$RELEASE" $FORCE_LATEST \
--extra-flags "--build-arg INCLUDE_CHROMIUM=false --tag $IMAGE_TAG" \
$PLATFORM_ARG
# in the context of push (using multi-platform build), we need to pull the image locally
- name: Docker pull
if: github.event_name == 'push' && (steps.check.outputs.python || steps.check.outputs.frontend || steps.check.outputs.docker)
run: docker pull $IMAGE_TAG
- name: Print docker stats
if: steps.check.outputs.python || steps.check.outputs.frontend || steps.check.outputs.docker
- name: Build ephemeral env image
if: github.event_name == 'pull_request'
run: |
echo "SHA: ${{ github.sha }}"
echo "IMAGE: $IMAGE_TAG"
docker images $IMAGE_TAG
docker history $IMAGE_TAG
mkdir -p ./build
echo ${{ github.sha }} > ./build/SHA
echo ${{ github.event.pull_request.number }} > ./build/PR-NUM
docker build --target ci -t ${{ github.sha }} -t "pr-${{ github.event.pull_request.number }}" .
docker save ${{ github.sha }} | gzip > ./build/${{ github.sha }}.tar.gz
- name: docker-compose sanity check
if: (steps.check.outputs.python || steps.check.outputs.frontend || steps.check.outputs.docker) && (matrix.build_preset == 'dev' || matrix.build_preset == 'lean')
shell: bash
run: |
export SUPERSET_BUILD_TARGET=${{ matrix.build_preset }}
# This should reuse the CACHED image built in the previous steps
docker compose build superset-init --build-arg DEV_MODE=false --build-arg INCLUDE_CHROMIUM=false
docker compose up superset-init --exit-code-from superset-init
docker-compose-image-tag:
runs-on: ubuntu-24.04
steps:
- name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )"
uses: actions/checkout@v4
- name: Upload build artifacts
if: github.event_name == 'pull_request'
uses: actions/upload-artifact@v2
with:
persist-credentials: false
- name: Check for file changes
id: check
uses: ./.github/actions/change-detector/
with:
token: ${{ secrets.GITHUB_TOKEN }}
- name: Setup Docker Environment
if: steps.check.outputs.docker
uses: ./.github/actions/setup-docker
with:
dockerhub-user: ${{ secrets.DOCKERHUB_USER }}
dockerhub-token: ${{ secrets.DOCKERHUB_TOKEN }}
build: "false"
install-docker-compose: "true"
- name: docker-compose sanity check
if: steps.check.outputs.docker
shell: bash
run: |
docker compose -f docker-compose-image-tag.yml up superset-init --exit-code-from superset-init
name: build
path: build/

80
.github/workflows/docker_build_push.sh vendored Executable file
View File

@@ -0,0 +1,80 @@
#!/usr/bin/env bash
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
set -eo pipefail
SHA=$(git rev-parse HEAD)
REPO_NAME="apache/superset"
if [[ "${GITHUB_EVENT_NAME}" == "pull_request" ]]; then
REFSPEC=$(echo "${GITHUB_HEAD_REF}" | sed 's/[^a-zA-Z0-9]/-/g' | head -c 40)
PR_NUM=$(echo "${GITHUB_REF}" | sed 's:refs/pull/::' | sed 's:/merge::')
LATEST_TAG="pr-${PR_NUM}"
elif [[ "${GITHUB_EVENT_NAME}" == "release" ]]; then
REFSPEC=$(echo "${GITHUB_REF}" | sed 's:refs/tags/::' | head -c 40)
LATEST_TAG="${REFSPEC}"
else
REFSPEC=$(echo "${GITHUB_REF}" | sed 's:refs/heads/::' | sed 's/[^a-zA-Z0-9]/-/g' | head -c 40)
LATEST_TAG="${REFSPEC}"
fi
if [[ "${REFSPEC}" == "master" ]]; then
LATEST_TAG="latest"
fi
cat<<EOF
Rolling with tags:
- ${REPO_NAME}:${SHA}
- ${REPO_NAME}:${REFSPEC}
- ${REPO_NAME}:${LATEST_TAG}
EOF
#
# Build the "lean" image
#
docker build --target lean \
-t "${REPO_NAME}:${SHA}" \
-t "${REPO_NAME}:${REFSPEC}" \
-t "${REPO_NAME}:${LATEST_TAG}" \
--label "sha=${SHA}" \
--label "built_at=$(date)" \
--label "target=lean" \
--label "build_actor=${GITHUB_ACTOR}" \
.
#
# Build the dev image
#
docker build --target dev \
-t "${REPO_NAME}:${SHA}-dev" \
-t "${REPO_NAME}:${REFSPEC}-dev" \
-t "${REPO_NAME}:${LATEST_TAG}-dev" \
--label "sha=${SHA}" \
--label "built_at=$(date)" \
--label "target=dev" \
--label "build_actor=${GITHUB_ACTOR}" \
.
if [ -z "${DOCKERHUB_TOKEN}" ]; then
# Skip if secrets aren't populated -- they're only visible for actions running in the repo (not on forks)
echo "Skipping Docker push"
else
# Login and push
docker logout
docker login --username "${DOCKERHUB_USER}" --password "${DOCKERHUB_TOKEN}"
docker push --all-tags "${REPO_NAME}"
fi

View File

@@ -23,14 +23,6 @@
{
"name": "SUPERSET_PORT",
"value": "8080"
},
{
"name": "SUPERSET_SECRET_KEY",
"value": "super-secret-for-ephemerals"
},
{
"name": "TALISMAN_ENABLED",
"value": "False"
}
],
"mountPoints": [],

View File

@@ -1,39 +0,0 @@
name: Embedded SDK Release
on:
push:
branches:
- "master"
- "[0-9].[0-9]*"
jobs:
config:
runs-on: ubuntu-24.04
outputs:
has-secrets: ${{ steps.check.outputs.has-secrets }}
steps:
- name: "Check for secrets"
id: check
shell: bash
run: |
if [ -n "${{ (secrets.NPM_TOKEN != '') || '' }}" ]; then
echo "has-secrets=1" >> "$GITHUB_OUTPUT"
fi
build:
needs: config
if: needs.config.outputs.has-secrets
runs-on: ubuntu-24.04
defaults:
run:
working-directory: superset-embedded-sdk
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version-file: './superset-embedded-sdk/.nvmrc'
registry-url: 'https://registry.npmjs.org'
- run: npm ci
- run: npm run ci:release
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}

View File

@@ -1,28 +0,0 @@
name: Embedded SDK PR Checks
on:
pull_request:
paths:
- "superset-embedded-sdk/**"
types: [synchronize, opened, reopened, ready_for_review]
# cancel previous workflow jobs for PRs
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.run_id }}
cancel-in-progress: true
jobs:
embedded-sdk-test:
runs-on: ubuntu-24.04
defaults:
run:
working-directory: superset-embedded-sdk
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version-file: './superset-embedded-sdk/.nvmrc'
registry-url: 'https://registry.npmjs.org'
- run: npm ci
- run: npm test
- run: npm run build

View File

@@ -5,29 +5,12 @@ on:
types: [closed]
jobs:
config:
runs-on: ubuntu-24.04
outputs:
has-secrets: ${{ steps.check.outputs.has-secrets }}
steps:
- name: "Check for secrets"
id: check
shell: bash
run: |
if [ -n "${{ (secrets.AWS_ACCESS_KEY_ID != '' && secrets.AWS_SECRET_ACCESS_KEY != '') || '' }}" ]; then
echo "has-secrets=1" >> "$GITHUB_OUTPUT"
fi
ephemeral-env-cleanup:
needs: config
if: needs.config.outputs.has-secrets
name: Cleanup ephemeral envs
runs-on: ubuntu-24.04
permissions:
pull-requests: write
runs-on: ubuntu-latest
steps:
- name: Configure AWS credentials
uses: aws-actions/configure-aws-credentials@v4
uses: aws-actions/configure-aws-credentials@v1
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
@@ -36,7 +19,7 @@ jobs:
- name: Describe ECS service
id: describe-services
run: |
echo "active=$(aws ecs describe-services --cluster superset-ci --services pr-${{ github.event.number }}-service | jq '.services[] | select(.status == "ACTIVE") | any')" >> $GITHUB_OUTPUT
echo "::set-output name=active::$(aws ecs describe-services --cluster superset-ci --services pr-${{ github.event.number }}-service | jq '.services[] | select(.status == "ACTIVE") | any')"
- name: Delete ECS service
if: steps.describe-services.outputs.active == 'true'
@@ -50,7 +33,7 @@ jobs:
- name: Login to Amazon ECR
if: steps.describe-services.outputs.active == 'true'
id: login-ecr
uses: aws-actions/amazon-ecr-login@v2
uses: aws-actions/amazon-ecr-login@v1
- name: Delete ECR image tag
if: steps.describe-services.outputs.active == 'true'
@@ -63,11 +46,11 @@ jobs:
- name: Comment (success)
if: steps.describe-services.outputs.active == 'true'
uses: actions/github-script@v7
uses: actions/github-script@v3
with:
github-token: ${{github.token}}
github-token: ${{secrets.GITHUB_TOKEN}}
script: |
github.rest.issues.createComment({
github.issues.createComment({
issue_number: ${{ github.event.number }},
owner: context.repo.owner,
repo: context.repo.repo,

View File

@@ -1,333 +1,194 @@
name: Ephemeral env workflow
# Example manual trigger:
# gh workflow run ephemeral-env.yml --ref fix_ephemerals --field label_name="testenv-up" --field issue_number=666
on:
pull_request_target:
types:
- labeled
workflow_dispatch:
inputs:
label_name:
description: 'Label name to simulate label-based /testenv trigger'
required: true
default: 'testenv-up'
issue_number:
description: 'Issue or PR number'
required: true
issue_comment:
types: [created]
jobs:
ephemeral-env-label:
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.run_id }}-label
cancel-in-progress: true
name: Evaluate ephemeral env label trigger
runs-on: ubuntu-24.04
permissions:
pull-requests: write
ephemeral_env_comment:
if: github.event.issue.pull_request
name: Evaluate ephemeral env comment trigger (/testenv)
runs-on: ubuntu-latest
outputs:
slash-command: ${{ steps.eval-label.outputs.result }}
slash-command: ${{ steps.eval-body.outputs.result }}
feature-flags: ${{ steps.eval-feature-flags.outputs.result }}
sha: ${{ steps.get-sha.outputs.sha }}
env:
DOCKERHUB_USER: ${{ secrets.DOCKERHUB_USER }}
DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }}
steps:
- name: Check for the "testenv-up" label
id: eval-label
run: |
if [[ "${{ github.event_name }}" == "workflow_dispatch" ]]; then
LABEL_NAME="${{ github.event.inputs.label_name }}"
else
LABEL_NAME="${{ github.event.label.name }}"
fi
- name: Debug
run: |
echo "Comment on PR #${{ github.event.issue.number }} by ${{ github.event.issue.user.login }}, ${{ github.event.comment.author_association }}"
echo "Evaluating label: $LABEL_NAME"
- name: Eval comment body for /testenv slash command
uses: actions/github-script@v3
id: eval-body
with:
result-encoding: string
script: |
const pattern = /^\/testenv (up|down)/
const result = pattern.exec(context.payload.comment.body)
return result === null ? 'noop' : result[1]
if [[ "$LABEL_NAME" == "testenv-up" ]]; then
echo "result=up" >> $GITHUB_OUTPUT
else
echo "result=noop" >> $GITHUB_OUTPUT
fi
- name: Eval comment body for feature flags
uses: actions/github-script@v3
id: eval-feature-flags
with:
script: |
const pattern = /FEATURE_(\w+)=(\w+)/g;
let results = [];
[...context.payload.comment.body.matchAll(pattern)].forEach(match => {
const config = {
name: `SUPERSET_FEATURE_${match[1]}`,
value: match[2],
};
results.push(config);
});
return results;
- name: Get event SHA
id: get-sha
if: steps.eval-label.outputs.result == 'up'
uses: actions/github-script@v7
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
script: |
let prSha;
- name: Limit to committers
if: >
steps.eval-body.outputs.result != 'noop' &&
github.event.comment.author_association != 'MEMBER' &&
github.event.comment.author_association != 'OWNER'
uses: actions/github-script@v3
with:
github-token: ${{secrets.GITHUB_TOKEN}}
script: |
const errMsg = '@${{ github.event.comment.user.login }} Ephemeral environment creation is currently limited to committers.'
github.issues.createComment({
issue_number: ${{ github.event.issue.number }},
owner: context.repo.owner,
repo: context.repo.repo,
body: errMsg
})
core.setFailed(errMsg)
// If event is workflow_dispatch, use the issue_number from inputs
if (context.eventName === "workflow_dispatch") {
const prNumber = "${{ github.event.inputs.issue_number }}";
if (!prNumber) {
console.log("No PR number found.");
return;
}
// Fetch PR details using the provided issue_number
const { data: pr } = await github.rest.pulls.get({
owner: context.repo.owner,
repo: context.repo.repo,
pull_number: prNumber
});
prSha = pr.head.sha;
} else {
// If it's not workflow_dispatch, use the PR head sha from the event
prSha = context.payload.pull_request.head.sha;
}
console.log(`PR SHA: ${prSha}`);
core.setOutput("sha", prSha);
- name: Looking for feature flags in PR description
uses: actions/github-script@v7
id: eval-feature-flags
if: steps.eval-label.outputs.result == 'up'
with:
script: |
const description = context.payload.pull_request
? context.payload.pull_request.body || ''
: context.payload.inputs.pr_description || '';
const pattern = /FEATURE_(\w+)=(\w+)/g;
let results = [];
[...description.matchAll(pattern)].forEach(match => {
const config = {
name: `SUPERSET_FEATURE_${match[1]}`,
value: match[2],
};
results.push(config);
});
return results;
- name: Reply with confirmation comment
uses: actions/github-script@v7
if: steps.eval-label.outputs.result == 'up'
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
script: |
const action = '${{ steps.eval-label.outputs.result }}';
const user = context.actor;
const runId = context.runId;
const workflowUrl = `${context.serverUrl}/${context.repo.owner}/${context.repo.repo}/actions/runs/${runId}`;
const issueNumber = context.payload.pull_request
? context.payload.pull_request.number
: context.payload.inputs.issue_number;
if (!issueNumber) {
throw new Error("Issue number is not available.");
}
const body = `@${user} Processing your ephemeral environment request [here](${workflowUrl}).` +
` Action: **${action}**.` +
` More information on [how to use or configure ephemeral environments]` +
`(https://superset.apache.org/docs/contributing/howtos/#github-ephemeral-environments)`;
await github.rest.issues.createComment({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: issueNumber,
body,
});
ephemeral-docker-build:
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.run_id }}-build
cancel-in-progress: true
needs: ephemeral-env-label
if: needs.ephemeral-env-label.outputs.slash-command == 'up'
name: ephemeral-docker-build
runs-on: ubuntu-24.04
steps:
- name: "Checkout ${{ github.ref }} ( ${{ needs.ephemeral-env-label.outputs.sha }} : ${{steps.get-sha.outputs.sha}} )"
uses: actions/checkout@v4
with:
ref: ${{ needs.ephemeral-env-label.outputs.sha }}
persist-credentials: false
- name: Setup Docker Environment
uses: ./.github/actions/setup-docker
with:
dockerhub-user: ${{ secrets.DOCKERHUB_USER }}
dockerhub-token: ${{ secrets.DOCKERHUB_TOKEN }}
build: "true"
install-docker-compose: "false"
- name: Setup supersetbot
uses: ./.github/actions/setup-supersetbot/
- name: Build ephemeral env image
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
supersetbot docker \
--push \
--load \
--preset ci \
--platform linux/amd64 \
--context-ref "$RELEASE" \
--extra-flags "--build-arg INCLUDE_CHROMIUM=false"
- name: Configure AWS credentials
uses: aws-actions/configure-aws-credentials@v4
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: us-west-2
- name: Login to Amazon ECR
id: login-ecr
uses: aws-actions/amazon-ecr-login@v2
- name: Load, tag and push image to ECR
id: push-image
env:
ECR_REGISTRY: ${{ steps.login-ecr.outputs.registry }}
ECR_REPOSITORY: superset-ci
IMAGE_TAG: apache/superset:${{ needs.ephemeral-env-label.outputs.sha }}-ci
PR_NUMBER: ${{ github.event.inputs.issue_number || github.event.pull_request.number }}
run: |
docker tag $IMAGE_TAG $ECR_REGISTRY/$ECR_REPOSITORY:pr-$PR_NUMBER-ci
docker push -a $ECR_REGISTRY/$ECR_REPOSITORY
ephemeral-env-up:
needs: [ephemeral-env-label, ephemeral-docker-build]
if: needs.ephemeral-env-label.outputs.slash-command == 'up'
ephemeral_env_up:
needs: ephemeral_env_comment
if: needs.ephemeral_env_comment.outputs.slash-command == 'up'
name: Spin up an ephemeral environment
runs-on: ubuntu-24.04
permissions:
contents: read
pull-requests: write
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
persist-credentials: false
- uses: actions/checkout@v2
with:
persist-credentials: false
- name: Configure AWS credentials
uses: aws-actions/configure-aws-credentials@v4
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: us-west-2
- name: Configure AWS credentials
uses: aws-actions/configure-aws-credentials@v1
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: us-west-2
- name: Login to Amazon ECR
id: login-ecr
uses: aws-actions/amazon-ecr-login@v2
- name: Login to Amazon ECR
id: login-ecr
uses: aws-actions/amazon-ecr-login@v1
- name: Check target image exists in ECR
id: check-image
continue-on-error: true
env:
PR_NUMBER: ${{ github.event.inputs.issue_number || github.event.pull_request.number }}
run: |
aws ecr describe-images \
--registry-id $(echo "${{ steps.login-ecr.outputs.registry }}" | grep -Eo "^[0-9]+") \
--repository-name superset-ci \
--image-ids imageTag=pr-$PR_NUMBER-ci
- name: Check target image exists in ECR
id: check-image
continue-on-error: true
run: |
aws ecr describe-images \
--registry-id $(echo "${{ steps.login-ecr.outputs.registry }}" | grep -Eo "^[0-9]+") \
--repository-name superset-ci \
--image-ids imageTag=pr-${{ github.event.issue.number }}
- name: Fail on missing container image
if: steps.check-image.outcome == 'failure'
uses: actions/github-script@v7
with:
github-token: ${{ github.token }}
script: |
const errMsg = '@${{ github.event.comment.user.login }} Container image not yet published for this PR. Please try again when build is complete.';
github.rest.issues.createComment({
issue_number: ${{ github.event.inputs.issue_number || github.event.pull_request.number }},
owner: context.repo.owner,
repo: context.repo.repo,
body: errMsg
});
core.setFailed(errMsg);
- name: Fail on missing container image
if: steps.check-image.outcome == 'failure'
uses: actions/github-script@v3
with:
github-token: ${{secrets.GITHUB_TOKEN}}
script: |
const errMsg = '@${{ github.event.comment.user.login }} Container image not yet published for this PR. Please try again when build is complete.'
github.issues.createComment({
issue_number: ${{ github.event.issue.number }},
owner: context.repo.owner,
repo: context.repo.repo,
body: errMsg
})
core.setFailed(errMsg)
- name: Fill in the new image ID in the Amazon ECS task definition
id: task-def
uses: aws-actions/amazon-ecs-render-task-definition@v1
with:
task-definition: .github/workflows/ecs-task-definition.json
container-name: superset-ci
image: ${{ steps.login-ecr.outputs.registry }}/superset-ci:pr-${{ github.event.inputs.issue_number || github.event.pull_request.number }}-ci
- name: Fill in the new image ID in the Amazon ECS task definition
id: task-def
uses: aws-actions/amazon-ecs-render-task-definition@v1
with:
task-definition: .github/workflows/ecs-task-definition.json
container-name: superset-ci
image: ${{ steps.login-ecr.outputs.registry }}/superset-ci:pr-${{ github.event.issue.number }}
- name: Update env vars in the Amazon ECS task definition
run: |
cat <<< "$(jq '.containerDefinitions[0].environment += ${{ needs.ephemeral-env-label.outputs.feature-flags }}' < ${{ steps.task-def.outputs.task-definition }})" > ${{ steps.task-def.outputs.task-definition }}
- name: Update env vars in the Amazon ECS task definition
run: |
cat <<< "$(jq '.containerDefinitions[0].environment += ${{ needs.ephemeral_env_comment.outputs.feature-flags }}' < ${{ steps.task-def.outputs.task-definition }})" > ${{ steps.task-def.outputs.task-definition }}
- name: Describe ECS service
id: describe-services
run: |
echo "active=$(aws ecs describe-services --cluster superset-ci --services pr-${{ github.event.inputs.issue_number || github.event.pull_request.number }}-service | jq '.services[] | select(.status == "ACTIVE") | any')" >> $GITHUB_OUTPUT
- name: Create ECS service
id: create-service
if: steps.describe-services.outputs.active != 'true'
env:
ECR_SUBNETS: subnet-0e15a5034b4121710,subnet-0e8efef4a72224974
ECR_SECURITY_GROUP: sg-092ff3a6ae0574d91
PR_NUMBER: ${{ github.event.inputs.issue_number || github.event.pull_request.number }}
run: |
aws ecs create-service \
--cluster superset-ci \
--service-name pr-$PR_NUMBER-service \
--task-definition superset-ci \
--launch-type FARGATE \
--desired-count 1 \
--platform-version LATEST \
--network-configuration "awsvpcConfiguration={subnets=[$ECR_SUBNETS],securityGroups=[$ECR_SECURITY_GROUP],assignPublicIp=ENABLED}" \
--tags key=pr,value=$PR_NUMBER key=github_user,value=${{ github.actor }}
- name: Deploy Amazon ECS task definition
id: deploy-task
uses: aws-actions/amazon-ecs-deploy-task-definition@v2
with:
task-definition: ${{ steps.task-def.outputs.task-definition }}
service: pr-${{ github.event.inputs.issue_number || github.event.pull_request.number }}-service
cluster: superset-ci
wait-for-service-stability: true
wait-for-minutes: 10
- name: Describe ECS service
id: describe-services
run: |
echo "::set-output name=active::$(aws ecs describe-services --cluster superset-ci --services pr-${{ github.event.issue.number }}-service | jq '.services[] | select(.status == "ACTIVE") | any')"
- name: List tasks
id: list-tasks
run: |
echo "task=$(aws ecs list-tasks --cluster superset-ci --service-name pr-${{ github.event.inputs.issue_number || github.event.pull_request.number }}-service | jq '.taskArns | first')" >> $GITHUB_OUTPUT
- name: Get network interface
id: get-eni
run: |
echo "eni=$(aws ecs describe-tasks --cluster superset-ci --tasks ${{ steps.list-tasks.outputs.task }} | jq '.tasks[0].attachments[0].details | map(select(.name=="networkInterfaceId"))[0].value')" >> $GITHUB_OUTPUT
- name: Get public IP
id: get-ip
run: |
echo "ip=$(aws ec2 describe-network-interfaces --network-interface-ids ${{ steps.get-eni.outputs.eni }} | jq -r '.NetworkInterfaces | first | .Association.PublicIp')" >> $GITHUB_OUTPUT
- name: Comment (success)
if: ${{ success() }}
uses: actions/github-script@v7
with:
github-token: ${{github.token}}
script: |
const issue_number = context.payload.inputs?.issue_number || context.issue.number;
github.rest.issues.createComment({
issue_number: issue_number,
owner: context.repo.owner,
repo: context.repo.repo,
body: `@${{ github.actor }} Ephemeral environment spinning up at http://${{ steps.get-ip.outputs.ip }}:8080. Credentials are 'admin'/'admin'. Please allow several minutes for bootstrapping and startup.`
});
- name: Comment (failure)
if: ${{ failure() }}
uses: actions/github-script@v7
with:
github-token: ${{github.token}}
script: |
const issue_number = context.payload.inputs?.issue_number || context.issue.number;
github.rest.issues.createComment({
issue_number: issue_number,
owner: context.repo.owner,
repo: context.repo.repo,
body: '@${{ github.event.inputs.user_login || github.event.comment.user.login }} Ephemeral environment creation failed. Please check the Actions logs for details.'
})
- name: Create ECS service
if: steps.describe-services.outputs.active != 'true'
id: create-service
env:
ECR_SUBNETS: subnet-0e15a5034b4121710,subnet-0e8efef4a72224974
ECR_SECURITY_GROUP: sg-092ff3a6ae0574d91
run: |
aws ecs create-service \
--cluster superset-ci \
--service-name pr-${{ github.event.issue.number }}-service \
--task-definition superset-ci \
--launch-type FARGATE \
--desired-count 1 \
--platform-version LATEST \
--network-configuration "awsvpcConfiguration={subnets=[$ECR_SUBNETS],securityGroups=[$ECR_SECURITY_GROUP],assignPublicIp=ENABLED}" \
--tags key=pr,value=${{ github.event.issue.number }} key=github_user,value=${{ github.actor }}
- name: Deploy Amazon ECS task definition
id: deploy-task
uses: aws-actions/amazon-ecs-deploy-task-definition@v1
with:
task-definition: ${{ steps.task-def.outputs.task-definition }}
service: pr-${{ github.event.issue.number }}-service
cluster: superset-ci
wait-for-service-stability: true
wait-for-minutes: 10
- name: List tasks
id: list-tasks
run: |
echo "::set-output name=task::$(aws ecs list-tasks --cluster superset-ci --service-name pr-${{ github.event.issue.number }}-service | jq '.taskArns | first')"
- name: Get network interface
id: get-eni
run: |
echo "::set-output name=eni::$(aws ecs describe-tasks --cluster superset-ci --tasks ${{ steps.list-tasks.outputs.task }} | jq '.tasks | .[0] | .attachments | .[0] | .details | map(select(.name=="networkInterfaceId")) | .[0] | .value')"
- name: Get public IP
id: get-ip
run: |
echo "::set-output name=ip::$(aws ec2 describe-network-interfaces --network-interface-ids ${{ steps.get-eni.outputs.eni }} | jq -r '.NetworkInterfaces | first | .Association.PublicIp')"
- name: Comment (success)
if: ${{ success() }}
uses: actions/github-script@v3
with:
github-token: ${{secrets.GITHUB_TOKEN}}
script: |
github.issues.createComment({
issue_number: ${{ github.event.issue.number }},
owner: context.repo.owner,
repo: context.repo.repo,
body: '@${{ github.event.comment.user.login }} Ephemeral environment spinning up at http://${{ steps.get-ip.outputs.ip }}:8080. Credentials are `admin`/`admin`. Please allow several minutes for bootstrapping and startup.'
})
- name: Comment (failure)
if: ${{ failure() }}
uses: actions/github-script@v3
with:
github-token: ${{secrets.GITHUB_TOKEN}}
script: |
github.issues.createComment({
issue_number: ${{ github.event.issue.number }},
owner: context.repo.owner,
repo: context.repo.repo,
body: '@${{ github.event.comment.user.login }} Ephemeral environment creation failed. Please check the Actions logs for details.'
})

View File

@@ -1,65 +0,0 @@
name: Generate FOSSA report
on:
push:
branches:
- "master"
- "[0-9].[0-9]*"
jobs:
config:
runs-on: ubuntu-24.04
outputs:
has-secrets: ${{ steps.check.outputs.has-secrets }}
steps:
- name: "Check for secrets"
id: check
shell: bash
run: |
if [ -n "${{ (secrets.FOSSA_API_KEY != '' ) || '' }}" ]; then
echo "has-secrets=1" >> "$GITHUB_OUTPUT"
fi
license_check:
needs: config
if: needs.config.outputs.has-secrets
name: Generate Report
runs-on: ubuntu-24.04
steps:
- name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )"
uses: actions/checkout@v4
with:
persist-credentials: false
submodules: recursive
- name: Setup Java
uses: actions/setup-java@v4
with:
distribution: "temurin"
java-version: "11"
- name: Generate fossa report
env:
FOSSA_API_KEY: ${{ secrets.FOSSA_API_KEY }}
run: |
set -eo pipefail
if [[ "${{github.event_name}}" != "pull_request" ]]; then
./scripts/fossa.sh
exit 0
fi
URL="https://api.github.com/repos/${{ github.repository }}/pulls/${{ github.event.pull_request.number }}/files"
FILES=$(curl -s -X GET -G $URL | jq -r '.[] | .filename')
cat<<EOF
CHANGED FILES:
$FILES
EOF
if [[ "${FILES}" =~ (.*package*\.json|requirements\/[a-z_-]+\.txt|setup\.py) ]]; then
echo "Detected dependency changes... running fossa check"
./scripts/fossa.sh
else
echo "No dependency changes... skiping fossa check"
fi
shell: bash

View File

@@ -1,28 +0,0 @@
#!/bin/bash
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# Inspired from https://github.com/mpalmer/action-validator?tab=readme-ov-file#pre-commit-hook-example
echo "Running pre-commit hook for GitHub Actions: https://github.com/mpalmer/action-validator"
for action in $(git ls-files .github/ | grep -E '^\.github/(workflows|actions)/.*\.ya?ml$'); do
if action-validator "$action"; then
echo "$action"
else
echo "$action"
exit 1
fi
done

View File

@@ -1,28 +0,0 @@
name: Validate All GitHub Actions
on:
push:
branches:
- "master"
- "[0-9].[0-9]*"
pull_request:
types: [synchronize, opened, reopened, ready_for_review]
jobs:
validate-all-ghas:
runs-on: ubuntu-24.04
steps:
- name: Checkout Repository
uses: actions/checkout@v4
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
- name: Install Dependencies
run: npm install -g @action-validator/core @action-validator/cli --save-dev
- name: Run Script
run: bash .github/workflows/github-action-validator.sh

View File

@@ -1,34 +0,0 @@
name: supersetbot orglabel based on author
on:
issues:
types: [created, edited]
pull_request:
types: [created, edited]
jobs:
superbot-orglabel:
runs-on: ubuntu-24.04
permissions:
contents: read
pull-requests: write
issues: write
steps:
- name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )"
uses: actions/checkout@v4
with:
persist-credentials: false
- name: Setup supersetbot
uses: ./.github/actions/setup-supersetbot/
- name: Execute supersetbot orglabel command
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
# Label the issue with the appropriate org using supersetbot
# - this requires for the author to be publicly associated with their org
# - and for the org to be listed in `supersetbot/src/metadata.js`
supersetbot orglabel --issue ${{ github.event.number }} --repo ${{ github.repository }} || true

View File

@@ -1,21 +0,0 @@
name: "Pull Request Labeler"
on:
- pull_request_target
jobs:
labeler:
permissions:
contents: read
pull-requests: write
runs-on: ubuntu-24.04
steps:
- uses: actions/labeler@v5
with:
sync-labels: true
# TODO: run scripts based on labels!
# - id: run-translation-scripts
# if: contains(steps.label-the-PR.outputs.all-labels, 'i18n')
# run: |
# echo "Running translation scripts"
# # Generate .pot -> .po -> .json files

View File

@@ -6,13 +6,11 @@ on:
jobs:
latest-release:
name: Add/update tag to new release
runs-on: ubuntu-24.04
permissions:
contents: write
runs-on: ubuntu-latest
steps:
- name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )"
uses: actions/checkout@v4
uses: actions/checkout@v2
with:
persist-credentials: false
submodules: recursive
@@ -22,11 +20,6 @@ jobs:
run: |
source ./scripts/tag_latest_release.sh $(echo ${{ github.event.release.tag_name }}) --dry-run
- name: Configure Git
run: |
git config user.name "$GITHUB_ACTOR"
git config user.email "$GITHUB_ACTOR@users.noreply.github.com"
- name: Run latest-tag
uses: ./.github/actions/latest-tag
if: (! ${{ steps.latest-tag.outputs.SKIP_TAG }} )
@@ -34,4 +27,4 @@ jobs:
description: Superset latest release
tag-name: latest
env:
GITHUB_TOKEN: ${{ github.token }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

View File

@@ -1,28 +0,0 @@
name: License Template Check
on:
pull_request:
types: [synchronize, opened, reopened, ready_for_review]
# cancel previous workflow jobs for PRs
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.run_id }}
cancel-in-progress: true
jobs:
license_check:
name: License Check
runs-on: ubuntu-24.04
steps:
- name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )"
uses: actions/checkout@v4
with:
persist-credentials: false
submodules: recursive
- name: Setup Java
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '11'
- name: Run license check
run: ./scripts/check_license.sh

99
.github/workflows/misc.yml vendored Normal file
View File

@@ -0,0 +1,99 @@
name: Miscellaneous
on:
push:
branches-ignore:
- "dependabot/**"
pull_request:
jobs:
license_check:
name: License Check
runs-on: ubuntu-20.04
steps:
- name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )"
uses: actions/checkout@v2
with:
persist-credentials: false
submodules: recursive
- name: Setup Java
uses: actions/setup-java@v1
with:
java-version: 8
- name: Generate fossa report
env:
FOSSA_API_KEY: ${{ secrets.FOSSA_API_KEY }}
run: |
set -eo pipefail
if [[ "${{github.event_name}}" != "pull_request" ]]; then
./scripts/fossa.sh
exit 0
fi
URL="https://api.github.com/repos/${{ github.repository }}/pulls/${{ github.event.pull_request.number }}/files"
FILES=$(curl -s -X GET -G $URL | jq -r '.[] | .filename')
cat<<EOF
CHANGED FILES:
$FILES
EOF
if [[ "${FILES}" =~ (.*package*\.json|requirements\/[a-z_-]+\.txt|setup\.py) ]]; then
echo "Detected dependency changes... running fossa check"
./scripts/fossa.sh
else
echo "No dependency changes... skiping fossa check"
fi
shell: bash
- name: Run license check
run: ./scripts/check_license.sh
prefer_typescript:
if: github.ref == 'ref/heads/master' && github.event_name == 'pull_request'
name: Prefer Typescript
runs-on: ubuntu-latest
steps:
- name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )"
uses: actions/checkout@v2
with:
persist-credentials: false
submodules: recursive
- name: Get changed files
id: changed
uses: ./.github/actions/file-changes-action
with:
githubToken: ${{ secrets.GITHUB_TOKEN }}
- name: Determine if a .js or .jsx file was added
id: check
run: |
js_files_added() {
jq -r '
map(
select(
endswith(".js") or endswith(".jsx")
)
) | join("\n")
' ${HOME}/files_added.json
}
echo ::set-output name=js_files_added::$(js_files_added)
- if: steps.check.outputs.js_files_added
name: Add Comment to PR
uses: ./.github/actions/comment-on-pr
continue-on-error: true
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
msg: |
### WARNING: Prefer TypeScript
Looks like your PR contains new `.js` or `.jsx` files:
```
${{steps.check.outputs.js_files_added}}
```
As decided in [SIP-36](https://github.com/apache/superset/issues/9101), all new frontend code should be written in TypeScript. Please convert above files to TypeScript then re-request review.

View File

@@ -1,25 +0,0 @@
name: Hold Label Check
on:
pull_request:
types: [labeled, unlabeled, opened, reopened, synchronize]
# cancel previous workflow jobs for PRs
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.run_id }}
cancel-in-progress: true
jobs:
check-hold-label:
runs-on: ubuntu-24.04
steps:
- name: Check for 'hold' label
uses: actions/github-script@v7
with:
github-token: ${{secrets.GITHUB_TOKEN}}
script: |
const payload = context.payload.pull_request
const holdLabelPresent = !!payload.labels.find(label => label.name.includes('hold'))
if (holdLabelPresent) {
core.setFailed('Hold label is present, merge is blocked.')
}

View File

@@ -9,14 +9,11 @@ on:
types: [opened, edited, reopened, synchronize]
jobs:
lint-check:
runs-on: ubuntu-24.04
permissions:
contents: read
pull-requests: write
check:
runs-on: ubuntu-latest
steps:
- name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )"
uses: actions/checkout@v4
uses: actions/checkout@v2
with:
persist-credentials: false
submodules: recursive
@@ -28,4 +25,4 @@ jobs:
on-failed-regex-create-review: false
on-failed-regex-comment:
"Please format your PR title to match: `%regex%`!"
repo-token: "${{ github.token }}"
repo-token: "${{ secrets.GITHUB_TOKEN }}"

View File

@@ -1,77 +0,0 @@
name: pre-commit checks
on:
push:
branches:
- "master"
- "[0-9].[0-9]*"
pull_request:
types: [synchronize, opened, reopened, ready_for_review]
# cancel previous workflow jobs for PRs
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.run_id }}
cancel-in-progress: true
jobs:
pre-commit:
runs-on: ubuntu-24.04
strategy:
matrix:
python-version: ["current", "previous"]
steps:
- name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )"
uses: actions/checkout@v4
with:
persist-credentials: false
submodules: recursive
- name: Setup Python
uses: ./.github/actions/setup-backend/
with:
python-version: ${{ matrix.python-version }}
- name: Enable brew and helm-docs
# Add brew to the path - see https://github.com/actions/runner-images/issues/6283
run: |
echo "/home/linuxbrew/.linuxbrew/bin:/home/linuxbrew/.linuxbrew/sbin" >> $GITHUB_PATH
eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"
echo "HOMEBREW_PREFIX=$HOMEBREW_PREFIX" >>"${GITHUB_ENV}"
echo "HOMEBREW_CELLAR=$HOMEBREW_CELLAR" >>"${GITHUB_ENV}"
echo "HOMEBREW_REPOSITORY=$HOMEBREW_REPOSITORY" >>"${GITHUB_ENV}"
brew install norwoodj/tap/helm-docs
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
- name: Install Frontend Dependencies
run: |
cd superset-frontend
npm ci
- name: Install Docs Dependencies
run: |
cd docs
yarn install --immutable
- name: pre-commit
run: |
set +e # Don't exit immediately on failure
export SKIP=eslint-frontend,type-checking-frontend
pre-commit run --all-files
PRE_COMMIT_EXIT_CODE=$?
git diff --quiet --exit-code
GIT_DIFF_EXIT_CODE=$?
if [ "${PRE_COMMIT_EXIT_CODE}" -ne 0 ] || [ "${GIT_DIFF_EXIT_CODE}" -ne 0 ]; then
if [ "${PRE_COMMIT_EXIT_CODE}" -ne 0 ]; then
echo "❌ Pre-commit check failed (exit code: ${EXIT_CODE})."
else
echo "❌ Git working directory is dirty."
echo "📌 This likely means that pre-commit made changes that were not committed."
echo "🔍 Modified files:"
git diff --name-only
fi
echo "🚒 To prevent/address this CI issue, please install/use pre-commit locally."
echo "📖 More details here: https://superset.apache.org/docs/contributing/development#git-hooks"
exit 1
fi

View File

@@ -1,70 +0,0 @@
name: Prefer TypeScript
on:
push:
branches:
- "master"
- "[0-9].[0-9]*"
paths:
- "superset-frontend/src/**"
pull_request:
types: [synchronize, opened, reopened, ready_for_review]
paths:
- "superset-frontend/src/**"
# cancel previous workflow jobs for PRs
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.run_id }}
cancel-in-progress: true
jobs:
prefer_typescript:
if: github.ref == 'ref/heads/master' && github.event_name == 'pull_request'
name: Prefer TypeScript
runs-on: ubuntu-24.04
permissions:
contents: read
pull-requests: write
steps:
- name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )"
uses: actions/checkout@v4
with:
persist-credentials: false
submodules: recursive
- name: Get changed files
id: changed
uses: ./.github/actions/file-changes-action
with:
githubToken: ${{ github.token }}
- name: Determine if a .js or .jsx file was added
id: check
run: |
js_files_added() {
jq -r '
map(
select(
endswith(".js") or endswith(".jsx")
)
) | join("\n")
' ${HOME}/files_added.json
}
echo "js_files_added=$(js_files_added)" >> $GITHUB_OUTPUT
- if: steps.check.outputs.js_files_added
name: Add Comment to PR
uses: ./.github/actions/comment-on-pr
continue-on-error: true
env:
GITHUB_TOKEN: ${{ github.token }}
with:
msg: |
### WARNING: Prefer TypeScript
Looks like your PR contains new `.js` or `.jsx` files:
```
${{steps.check.outputs.js_files_added}}
```
As decided in [SIP-36](https://github.com/apache/superset/issues/9101), all new frontend code should be written in TypeScript. Please convert above files to TypeScript then re-request review.

View File

@@ -1,108 +0,0 @@
name: release-workflow
on:
push:
branches:
- "master"
- "[0-9].[0-9]*"
jobs:
config:
runs-on: ubuntu-24.04
outputs:
has-secrets: ${{ steps.check.outputs.has-secrets }}
steps:
- name: "Check for secrets"
id: check
shell: bash
run: |
if [ -n "${{ (secrets.NPM_TOKEN != '' && secrets.GH_PERSONAL_ACCESS_TOKEN != '') || '' }}" ]; then
echo "has-secrets=1" >> "$GITHUB_OUTPUT"
fi
build:
needs: config
if: needs.config.outputs.has-secrets
name: Bump version and publish package(s)
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
with:
# pulls all commits (needed for lerna / semantic release to correctly version)
fetch-depth: 0
- name: Get tags and filter trigger tags
run: |
if ! git fetch --depth=1 origin "+refs/tags/*:refs/tags/*"; then
echo "::notice title=Workflow skipped::No tags present in repository"
exit
fi
echo "HAS_TAGS=1" >> $GITHUB_ENV"
git fetch --prune --unshallow
git tag -d `git tag | grep -E '^trigger-'`
- name: Install Node.js
if: env.HAS_TAGS
uses: actions/setup-node@v4
with:
node-version-file: './superset-frontend/.nvmrc'
- name: Cache npm
if: env.HAS_TAGS
uses: actions/cache@v4
with:
path: ~/.npm # npm cache files are stored in `~/.npm` on Linux/macOS
key: ${{ runner.OS }}-node-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.OS }}-node-
${{ runner.OS }}-
- name: Get npm cache directory path
if: env.HAS_TAGS
id: npm-cache-dir-path
run: echo "dir=$(npm config get cache)" >> $GITHUB_OUTPUT
- name: Cache npm
if: env.HAS_TAGS
uses: actions/cache@v4
id: npm-cache # use this to check for `cache-hit` (`steps.npm-cache.outputs.cache-hit != 'true'`)
with:
path: ${{ steps.npm-cache-dir-path.outputs.dir }}
key: ${{ runner.os }}-npm-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-npm-
- name: Install dependencies
if: env.HAS_TAGS
working-directory: ./superset-frontend
run: npm ci
- name: Run unit tests
if: env.HAS_TAGS
working-directory: ./superset-frontend
run: npm run test -- plugins packages
- name: Build packages
if: env.HAS_TAGS
working-directory: ./superset-frontend
run: npm run plugins:build
- name: Configure npm and git
if: env.HAS_TAGS
run: |
echo "@superset-ui:registry=https://registry.npmjs.org/" > .npmrc
echo "registry=https://registry.npmjs.org/" >> .npmrc
echo "//registry.npmjs.org/:_authToken=\${NPM_TOKEN}" >> $HOME/.npmrc 2> /dev/null
npm whoami
git config --local user.email "action@github.com"
git config --local user.name "GitHub Action"
env:
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
GITHUB_TOKEN: ${{ github.token }}
- name: Bump version and publish package(s)
if: env.HAS_TAGS
working-directory: ./superset-frontend
run: |
git tag -d `git tag | grep -E '^trigger-'`
npm run plugins:release-from-tag
env:
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
GITHUB_TOKEN: ${{ github.token }}
GH_TOKEN: ${{ secrets.GH_PERSONAL_ACCESS_TOKEN }}

View File

@@ -1,91 +0,0 @@
name: Applitools Cypress
on:
schedule:
- cron: "0 1 * * *"
jobs:
config:
runs-on: ubuntu-24.04
outputs:
has-secrets: ${{ steps.check.outputs.has-secrets }}
steps:
- name: "Check for secrets"
id: check
shell: bash
run: |
if [ -n "${{ (secrets.APPLITOOLS_API_KEY != '' && secrets.APPLITOOLS_API_KEY != '') || '' }}" ]; then
echo "has-secrets=1" >> "$GITHUB_OUTPUT"
fi
cypress-applitools:
needs: config
if: needs.config.outputs.has-secrets
runs-on: ubuntu-24.04
strategy:
fail-fast: false
matrix:
browser: ["chrome"]
env:
SUPERSET_ENV: development
SUPERSET_CONFIG: tests.integration_tests.superset_test_config
SUPERSET__SQLALCHEMY_DATABASE_URI: postgresql+psycopg2://superset:superset@127.0.0.1:15432/superset
PYTHONPATH: ${{ github.workspace }}
REDIS_PORT: 16379
GITHUB_TOKEN: ${{ github.token }}
APPLITOOLS_APP_NAME: Superset
APPLITOOLS_API_KEY: ${{ secrets.APPLITOOLS_API_KEY }}
APPLITOOLS_BATCH_ID: ${{ github.sha }}
APPLITOOLS_BATCH_NAME: Superset Cypress
services:
postgres:
image: postgres:16-alpine
env:
POSTGRES_USER: superset
POSTGRES_PASSWORD: superset
ports:
- 15432:5432
redis:
image: redis:7-alpine
ports:
- 16379:6379
steps:
- name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )"
uses: actions/checkout@v4
with:
persist-credentials: false
submodules: recursive
ref: master
- name: Setup Python
uses: ./.github/actions/setup-backend/
- name: Import test data
uses: ./.github/actions/cached-dependencies
with:
run: testdata
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version-file: './superset-frontend/.nvmrc'
- name: Install npm dependencies
uses: ./.github/actions/cached-dependencies
with:
run: npm-install
- name: Build javascript packages
uses: ./.github/actions/cached-dependencies
with:
run: build-instrumented-assets
- name: Setup Postgres
if: steps.check.outcome == 'failure'
uses: ./.github/actions/cached-dependencies
with:
run: setup-postgres
- name: Install cypress
uses: ./.github/actions/cached-dependencies
with:
run: cypress-install
- name: Run Cypress
uses: ./.github/actions/cached-dependencies
env:
CYPRESS_BROWSER: ${{ matrix.browser }}
with:
run: cypress-run-applitools

View File

@@ -1,52 +0,0 @@
name: Applitools Storybook
on:
schedule:
- cron: "0 0 * * *"
env:
APPLITOOLS_APP_NAME: Superset
APPLITOOLS_API_KEY: ${{ secrets.APPLITOOLS_API_KEY }}
APPLITOOLS_BATCH_ID: ${{ github.sha }}
APPLITOOLS_BATCH_NAME: Superset Storybook
jobs:
config:
runs-on: ubuntu-24.04
outputs:
has-secrets: ${{ steps.check.outputs.has-secrets }}
steps:
- name: "Check for secrets"
id: check
shell: bash
run: |
if [ -n "${{ (secrets.APPLITOOLS_API_KEY != '' && secrets.APPLITOOLS_API_KEY != '') || '' }}" ]; then
echo "has-secrets=1" >> "$GITHUB_OUTPUT"
fi
cron:
needs: config
if: needs.config.outputs.has-secrets
runs-on: ubuntu-24.04
steps:
- name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )"
uses: actions/checkout@v4
with:
persist-credentials: false
submodules: recursive
ref: master
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version-file: './superset-frontend/.nvmrc'
- name: Install eyes-storybook dependencies
uses: ./.github/actions/cached-dependencies
with:
run: eyes-storybook-dependencies
- name: Install NPM dependencies
uses: ./.github/actions/cached-dependencies
with:
run: npm-install
- name: Run Applitools Eyes-Storybook
working-directory: ./superset-frontend
run: npx eyes-storybook -u https://superset-storybook.netlify.app/

View File

@@ -1,67 +0,0 @@
name: Superset CLI tests
on:
push:
branches:
- "master"
- "[0-9].[0-9]*"
pull_request:
types: [synchronize, opened, reopened, ready_for_review]
# cancel previous workflow jobs for PRs
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.run_id }}
cancel-in-progress: true
jobs:
test-load-examples:
runs-on: ubuntu-24.04
env:
PYTHONPATH: ${{ github.workspace }}
SUPERSET_CONFIG: tests.integration_tests.superset_test_config
REDIS_PORT: 16379
SUPERSET__SQLALCHEMY_DATABASE_URI: postgresql+psycopg2://superset:superset@127.0.0.1:15432/superset
services:
postgres:
image: postgres:16-alpine
env:
POSTGRES_USER: superset
POSTGRES_PASSWORD: superset
ports:
# Use custom ports for services to avoid accidentally connecting to
# GitHub action runner's default installations
- 15432:5432
redis:
image: redis:7-alpine
ports:
- 16379:6379
steps:
- name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )"
uses: actions/checkout@v4
with:
persist-credentials: false
submodules: recursive
- name: Check for file changes
id: check
uses: ./.github/actions/change-detector/
with:
token: ${{ secrets.GITHUB_TOKEN }}
- name: Setup Python
if: steps.check.outputs.python
uses: ./.github/actions/setup-backend/
- name: Setup Postgres
if: steps.check.outputs.python
uses: ./.github/actions/cached-dependencies
with:
run: setup-postgres
- name: superset init
if: steps.check.outputs.python
run: |
pip install -e .
superset db upgrade
superset load_test_users
- name: superset load_examples
if: steps.check.outputs.python
run: |
# load examples without test data
superset load_examples --load-big-data

View File

@@ -1,77 +0,0 @@
name: Docs Deployment
on:
push:
paths:
- "docs/**"
- "README.md"
branches:
- "master"
workflow_dispatch: {}
jobs:
config:
runs-on: ubuntu-24.04
outputs:
has-secrets: ${{ steps.check.outputs.has-secrets }}
steps:
- name: "Check for secrets"
id: check
shell: bash
run: |
if [ -n "${{ (secrets.SUPERSET_SITE_BUILD != '' && secrets.SUPERSET_SITE_BUILD != '') || '' }}" ]; then
echo "has-secrets=1" >> "$GITHUB_OUTPUT"
fi
build-deploy:
needs: config
if: needs.config.outputs.has-secrets
name: Build & Deploy
runs-on: ubuntu-24.04
steps:
- name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )"
uses: actions/checkout@v4
with:
persist-credentials: false
submodules: recursive
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version-file: './docs/.nvmrc'
- name: Setup Python
uses: ./.github/actions/setup-backend/
- name: Update openapi docs
run: superset update_api_docs
- uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: '21'
- name: Install Graphviz
run: sudo apt-get install -y graphviz
- name: Compute Entity Relationship diagram (ERD)
env:
SUPERSET_SECRET_KEY: not-a-secret
run: |
python scripts/erd/erd.py
curl -L http://sourceforge.net/projects/plantuml/files/1.2023.7/plantuml.1.2023.7.jar/download > ~/plantuml.jar
java -jar ~/plantuml.jar -v -tsvg -r -o "${{ github.workspace }}/docs/static/img/" "${{ github.workspace }}/scripts/erd/erd.puml"
- name: yarn install
working-directory: docs
run: |
yarn install --check-cache
- name: yarn build
working-directory: docs
run: |
yarn build
- name: deploy docs
uses: ./.github/actions/github-action-push-to-another-repository
env:
API_TOKEN_GITHUB: ${{ secrets.SUPERSET_SITE_BUILD }}
with:
source-directory: "./docs/build"
destination-github-username: "apache"
destination-repository-name: "superset-site"
target-branch: "asf-site"
commit-message: "deploying docs: ${{ github.event.head_commit.message }} (apache/superset@${{ github.sha }})"
user-email: dev@superset.apache.org

View File

@@ -1,75 +0,0 @@
name: Docs Testing
on:
pull_request:
paths:
- "docs/**"
- ".github/workflows/superset-docs-verify.yml"
types: [synchronize, opened, reopened, ready_for_review]
# cancel previous workflow jobs for PRs
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.run_id }}
cancel-in-progress: true
jobs:
linkinator:
# See docs here: https://github.com/marketplace/actions/linkinator
name: Link Checking
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
# Do not bump this linkinator-action version without opening
# an ASF Infra ticket to allow the new verison first!
- uses: JustinBeckwith/linkinator-action@v1.11.0
continue-on-error: true # This will make the job advisory (non-blocking, no red X)
with:
paths: "**/*.md, **/*.mdx, !superset-frontend/CHANGELOG.md"
linksToSkip: >-
^https://github.com/apache/(superset|incubator-superset)/(pull|issue)/\d+,
http://localhost:8088/,
http://127.0.0.1:3000/,
http://localhost:9001/,
https://charts.bitnami.com/bitnami,
https://www.li.me/,
https://www.fanatics.com/,
https://tails.com/gb/,
https://www.techaudit.info/,
https://avetilearning.com/,
https://www.udemy.com/,
https://trustmedis.com/,
http://theiconic.com.au/,
https://dev.mysql.com/doc/refman/5.7/en/innodb-limits.html,
^https://img\.shields\.io/.*,
https://vkusvill.ru/
https://www.linkedin.com/in/mark-thomas-b16751158/
https://theiconic.com.au/
https://wattbewerb.de/
https://timbr.ai/
https://opensource.org/license/apache-2-0
https://www.plaidcloud.com/
build-deploy:
name: Build & Deploy
runs-on: ubuntu-24.04
defaults:
run:
working-directory: docs
steps:
- name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )"
uses: actions/checkout@v4
with:
persist-credentials: false
submodules: recursive
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version-file: './docs/.nvmrc'
- name: yarn install
run: |
yarn install --check-cache
- name: yarn typecheck
run: |
yarn typecheck
- name: yarn build
run: |
yarn build

44
.github/workflows/superset-docs.yml vendored Normal file
View File

@@ -0,0 +1,44 @@
name: Docs
on:
push:
paths:
- "docs/**"
pull_request:
paths:
- "docs/**"
jobs:
build-deploy:
name: Build & Deploy
runs-on: ubuntu-20.04
steps:
- name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )"
uses: actions/checkout@v2
with:
persist-credentials: false
submodules: recursive
- name: npm install
working-directory: ./docs
run: |
npm install
- name: lint
working-directory: ./docs
run: |
npm run lint
- name: gatsby build
working-directory: ./docs
run: |
npm run build
- name: deploy docs
if: github.ref == 'refs/heads/master'
uses: ./.github/actions/github-action-push-to-another-repository
env:
API_TOKEN_GITHUB: ${{ secrets.SUPERSET_SITE_BUILD }}
with:
source-directory: './docs/public'
destination-github-username: 'apache'
destination-repository-name: 'superset-site'
target-branch: 'asf-site'
commit-message: "deploying docs: ${{ github.event.head_commit.message }} (apache/superset@${{ github.sha }})"
user-email: dev@superset.apache.org

View File

@@ -2,144 +2,124 @@ name: E2E
on:
push:
branches:
- "master"
- "[0-9].[0-9]*"
branches-ignore:
- "dependabot/**/docs/**"
paths-ignore:
- "docs/**"
pull_request:
types: [synchronize, opened, reopened, ready_for_review]
workflow_dispatch:
inputs:
use_dashboard:
description: 'Use Cypress Dashboard (true/false) [paid service - trigger manually when needed]. You MUST provide a branch and/or PR number below for this to work.'
required: false
default: 'false'
ref:
description: 'The branch or tag to checkout'
required: false
default: ''
pr_id:
description: 'The pull request ID to checkout'
required: false
default: ''
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.run_id }}
cancel-in-progress: true
jobs:
cypress-matrix:
# Somehow one test flakes on 24.04 for unknown reasons, this is the only GHA left on 22.04
runs-on: ubuntu-22.04
permissions:
contents: read
pull-requests: read
if: github.event.pull_request.draft == false
runs-on: ubuntu-20.04
strategy:
# when one test fails, DO NOT cancel the other
# parallel_id, because this will kill Cypress processes
# containers, because this will kill Cypress processes
# leaving the Dashboard hanging ...
# https://github.com/cypress-io/github-action/issues/48
fail-fast: false
matrix:
parallel_id: [0, 1, 2, 3, 4, 5]
containers: [1, 2, 3]
browser: ["chrome"]
app_root: ["", "/app/prefix"]
env:
SUPERSET_ENV: development
FLASK_ENV: development
ENABLE_REACT_CRUD_VIEWS: true
SUPERSET_CONFIG: tests.integration_tests.superset_test_config
SUPERSET__SQLALCHEMY_DATABASE_URI: postgresql+psycopg2://superset:superset@127.0.0.1:15432/superset
PYTHONPATH: ${{ github.workspace }}
REDIS_PORT: 16379
GITHUB_TOKEN: ${{ github.token }}
# Only use dashboard when explicitly requested via workflow_dispatch
USE_DASHBOARD: ${{ github.event.inputs.use_dashboard == 'true' || 'false' }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
services:
postgres:
image: postgres:16-alpine
image: postgres:10-alpine
env:
POSTGRES_USER: superset
POSTGRES_PASSWORD: superset
ports:
- 15432:5432
redis:
image: redis:7-alpine
image: redis:5-alpine
ports:
- 16379:6379
steps:
# -------------------------------------------------------
# Conditional checkout based on context
- name: Checkout for push or pull_request event
if: github.event_name == 'push' || github.event_name == 'pull_request'
uses: actions/checkout@v4
- name: "Checkout (pull) ${{ github.ref }} ( ${{ github.sha }} )"
uses: actions/checkout@v2
if: github.event_name == 'push'
with:
persist-credentials: false
submodules: recursive
- name: Checkout using ref (workflow_dispatch)
if: github.event_name == 'workflow_dispatch' && github.event.inputs.ref != ''
uses: actions/checkout@v4
- name: "Checkout (pull_request) ${{ github.ref }} ( ${{ github.sha }} )"
uses: actions/checkout@v2
if: github.event_name == 'pull_request' || github.event_name == 'pull_request_target'
with:
ref: "refs/pull/${{ github.event.number }}/merge"
persist-credentials: false
ref: ${{ github.event.inputs.ref }}
submodules: recursive
- name: Checkout using PR ID (workflow_dispatch)
if: github.event_name == 'workflow_dispatch' && github.event.inputs.pr_id != ''
uses: actions/checkout@v4
with:
persist-credentials: false
ref: refs/pull/${{ github.event.inputs.pr_id }}/merge
submodules: recursive
# -------------------------------------------------------
- name: Check for file changes
- name: Check if python or frontend changes are present
id: check
uses: ./.github/actions/change-detector/
with:
token: ${{ secrets.GITHUB_TOKEN }}
env:
GITHUB_REPO: ${{ github.repository }}
PR_NUMBER: ${{ github.event.pull_request.number }}
continue-on-error: true
run: ./scripts/ci_check_no_file_changes.sh python frontend
- name: Setup Python
uses: ./.github/actions/setup-backend/
if: steps.check.outputs.python || steps.check.outputs.frontend
if: steps.check.outcome == 'failure'
uses: actions/setup-python@v2
with:
python-version: "3.8"
- name: OS dependencies
if: steps.check.outcome == 'failure'
uses: ./.github/actions/cached-dependencies
with:
run: apt-get-install
- name: Install python dependencies
if: steps.check.outcome == 'failure'
uses: ./.github/actions/cached-dependencies
with:
run: |
pip-upgrade
pip install -r requirements/testing.txt
- name: Setup postgres
if: steps.check.outputs.python || steps.check.outputs.frontend
if: steps.check.outcome == 'failure'
uses: ./.github/actions/cached-dependencies
with:
run: setup-postgres
- name: Import test data
if: steps.check.outputs.python || steps.check.outputs.frontend
if: steps.check.outcome == 'failure'
uses: ./.github/actions/cached-dependencies
with:
run: testdata
- name: Setup Node.js
if: steps.check.outputs.python || steps.check.outputs.frontend
uses: actions/setup-node@v4
uses: actions/setup-node@v2
with:
node-version-file: './superset-frontend/.nvmrc'
node-version: '16'
- name: Install npm dependencies
if: steps.check.outputs.python || steps.check.outputs.frontend
if: steps.check.outcome == 'failure'
uses: ./.github/actions/cached-dependencies
with:
run: npm-install
- name: Build javascript packages
if: steps.check.outputs.python || steps.check.outputs.frontend
if: steps.check.outcome == 'failure'
uses: ./.github/actions/cached-dependencies
with:
run: build-instrumented-assets
- name: Install cypress
if: steps.check.outputs.python || steps.check.outputs.frontend
if: steps.check.outcome == 'failure'
uses: ./.github/actions/cached-dependencies
with:
run: cypress-install
- name: Run Cypress
if: steps.check.outputs.python || steps.check.outputs.frontend
if: steps.check.outcome == 'failure'
uses: ./.github/actions/cached-dependencies
env:
CYPRESS_BROWSER: ${{ matrix.browser }}
PARALLEL_ID: ${{ matrix.parallel_id }}
PARALLELISM: 6
CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }}
NODE_OPTIONS: "--max-old-space-size=4096"
CYPRESS_KEY: YjljODE2MzAtODcwOC00NTA3LWE4NmMtMTU3YmFmMjIzOTRhCg==
with:
run: cypress-run-all ${{ env.USE_DASHBOARD }} ${{ matrix.app_root }}
run: cypress-run-all
- name: Upload Artifacts
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v2
if: failure()
with:
name: screenshots
path: ${{ github.workspace }}/superset-frontend/cypress-base/cypress/screenshots
name: cypress-artifact-${{ github.run_id }}-${{ github.job }}-${{ matrix.browser }}-${{ matrix.parallel_id }}

View File

@@ -1,180 +1,54 @@
name: "Frontend Build CI (unit tests, linting & sanity checks)"
name: Frontend
on:
push:
branches:
- "master"
- "[0-9].[0-9]*"
branches-ignore:
- "dependabot/**/docs/**"
- "dependabot/**/cypress-base/**"
pull_request:
types: [synchronize, opened, reopened, ready_for_review]
# cancel previous workflow jobs for PRs
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.run_id }}
cancel-in-progress: true
env:
TAG: apache/superset:GHA-${{ github.run_id }}
jobs:
frontend-build:
runs-on: ubuntu-24.04
outputs:
should-run: ${{ steps.check.outputs.frontend }}
if: github.event.pull_request.draft == false
runs-on: ubuntu-20.04
steps:
- name: Checkout Code
uses: actions/checkout@v4
- name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )"
uses: actions/checkout@v2
with:
persist-credentials: false
- name: Check for File Changes
submodules: recursive
- name: Check npm lock file version
run: ./scripts/ci_check_npm_lock_version.sh ./superset-frontend/package-lock.json
- name: Check if frontend changes are present
id: check
uses: ./.github/actions/change-detector/
with:
token: ${{ secrets.GITHUB_TOKEN }}
- name: Build Docker Image
if: steps.check.outputs.frontend
shell: bash
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
docker buildx build \
-t $TAG \
--cache-from=type=registry,ref=apache/superset-cache:3.10-slim-bookworm \
--target superset-node-ci \
.
- name: Save Docker Image as Artifact
if: steps.check.outputs.frontend
run: |
docker save $TAG | gzip > docker-image.tar.gz
- name: Upload Docker Image Artifact
if: steps.check.outputs.frontend
uses: actions/upload-artifact@v4
GITHUB_REPO: ${{ github.repository }}
PR_NUMBER: ${{ github.event.pull_request.number }}
continue-on-error: true
run: ./scripts/ci_check_no_file_changes.sh frontend
- name: Setup Node.js
if: steps.check.outcome == 'failure'
uses: actions/setup-node@v2
with:
name: docker-image
path: docker-image.tar.gz
sharded-jest-tests:
needs: frontend-build
if: needs.frontend-build.outputs.should-run == 'true'
strategy:
matrix:
shard: [1, 2, 3, 4, 5, 6, 7, 8]
fail-fast: false
runs-on: ubuntu-24.04
steps:
- name: Download Docker Image Artifact
uses: actions/download-artifact@v4
node-version: '16'
- name: Install dependencies
if: steps.check.outcome == 'failure'
uses: ./.github/actions/cached-dependencies
with:
name: docker-image
- name: Load Docker Image
run: docker load < docker-image.tar.gz
- name: npm run test with coverage
run: npm-install
- name: lint
if: steps.check.outcome == 'failure'
working-directory: ./superset-frontend
run: |
mkdir -p ${{ github.workspace }}/superset-frontend/coverage
docker run \
-v ${{ github.workspace }}/superset-frontend/coverage:/app/superset-frontend/coverage \
--rm $TAG \
bash -c \
"npm run test -- --coverage --shard=${{ matrix.shard }}/8 --coverageReporters=json-summary"
- name: Upload Coverage Artifact
uses: actions/upload-artifact@v4
with:
name: coverage-artifacts-${{ matrix.shard }}
path: superset-frontend/coverage
report-coverage:
needs: [sharded-jest-tests]
if: needs.frontend-build.outputs.should-run == 'true'
runs-on: ubuntu-24.04
steps:
- name: Download Coverage Artifacts
uses: actions/download-artifact@v4
with:
pattern: coverage-artifacts-*
path: coverage/
- name: Show Files
run: find coverage/
- name: Merge Code Coverage
run: npx nyc merge coverage/ merged-output/coverage-summary.json
- name: Upload Code Coverage
uses: codecov/codecov-action@v5
with:
flags: javascript
token: ${{ secrets.CODECOV_TOKEN }}
verbose: true
files: merged-output/coverage-summary.json
slug: apache/superset
core-cover:
needs: frontend-build
if: needs.frontend-build.outputs.should-run == 'true'
runs-on: ubuntu-24.04
steps:
- name: Download Docker Image Artifact
uses: actions/download-artifact@v4
with:
name: docker-image
- name: Load Docker Image
run: docker load < docker-image.tar.gz
- name: superset-ui/core coverage
npm run lint
npm run prettier-check
- name: unit tests
if: steps.check.outcome == 'failure'
working-directory: ./superset-frontend
run: |
docker run --rm $TAG bash -c \
"npm run core:cover"
lint-frontend:
needs: frontend-build
if: needs.frontend-build.outputs.should-run == 'true'
runs-on: ubuntu-24.04
steps:
- name: Download Docker Image Artifact
uses: actions/download-artifact@v4
with:
name: docker-image
- name: Load Docker Image
run: docker load < docker-image.tar.gz
- name: eslint
run: |
docker run --rm $TAG bash -c \
"npm i && npm run eslint -- . --quiet"
- name: tsc
run: |
docker run --rm $TAG bash -c \
"npm run type"
validate-frontend:
needs: frontend-build
if: needs.frontend-build.outputs.should-run == 'true'
runs-on: ubuntu-24.04
steps:
- name: Download Docker Image Artifact
uses: actions/download-artifact@v4
with:
name: docker-image
- name: Load Docker Image
run: docker load < docker-image.tar.gz
- name: Build Plugins Packages
run: |
docker run --rm $TAG bash -c \
"npm run plugins:build"
- name: Build Plugins Storybook
run: |
docker run --rm $TAG bash -c \
"npm run plugins:build-storybook"
npm run test -- --coverage
- name: Upload code coverage
if: steps.check.outcome == 'failure'
working-directory: ./superset-frontend
run: ../.github/workflows/codecov.sh -c -F javascript

View File

@@ -1,36 +1,28 @@
name: "Helm: lint and test charts"
name: Lint and Test Charts
on:
pull_request:
types: [opened, edited, reopened, synchronize]
paths:
- "helm/**"
# cancel previous workflow jobs for PRs
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.run_id }}
cancel-in-progress: true
jobs:
lint-test:
runs-on: ubuntu-24.04
runs-on: ubuntu-latest
steps:
- name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )"
uses: actions/checkout@v4
uses: actions/checkout@v2
with:
persist-credentials: false
submodules: recursive
fetch-depth: 0
- name: Set up Helm
uses: azure/setup-helm@v4
uses: azure/setup-helm@v1
with:
version: v3.16.4
version: v3.5.4
- name: Setup Python
uses: ./.github/actions/setup-backend/
- uses: actions/setup-python@v2
with:
install-superset: 'false'
python-version: 3.8
- name: Set up chart-testing
uses: ./.github/actions/chart-testing-action
@@ -40,7 +32,7 @@ jobs:
run: |
changed=$(ct list-changed --print-config)
if [[ -n "$changed" ]]; then
echo "changed=true" >> $GITHUB_OUTPUT
echo "::set-output name=changed::true"
fi
env:
CT_CHART_DIRS: helm
@@ -52,4 +44,3 @@ jobs:
CT_CHART_DIRS: helm
CT_LINT_CONF: lintconf.yaml
CT_SINCE: HEAD
CT_CHART_REPOS: bitnami=https://charts.bitnami.com/bitnami

View File

@@ -1,38 +1,20 @@
# This workflow automates the release process for Helm charts.
# The workflow creates a new branch for the release and opens a pull request against the 'gh-pages' branch,
# allowing the changes to be reviewed and merged manually.
name: "Helm: release charts"
name: Release Charts
on:
push:
branches:
- "master"
- "[0-9].[0-9]*"
- 'master'
paths:
- "helm/**"
workflow_dispatch:
inputs:
ref:
description: "The branch, tag, or commit SHA to check out"
required: false
default: "master"
- 'helm/**'
jobs:
release:
runs-on: ubuntu-24.04
permissions:
contents: write
pull-requests: write
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )"
uses: actions/checkout@v2
with:
ref: ${{ inputs.ref || github.ref_name }}
persist-credentials: true
persist-credentials: false
submodules: recursive
fetch-depth: 0
@@ -42,84 +24,14 @@ jobs:
git config user.email "$GITHUB_ACTOR@users.noreply.github.com"
- name: Install Helm
uses: azure/setup-helm@v4
uses: azure/setup-helm@v1
with:
version: v3.5.4
- name: Add bitnami repo dependency
run: helm repo add bitnami https://charts.bitnami.com/bitnami
- name: Fetch/list all tags
run: |
# Debugging tags
git fetch --tags --force
git tag -d superset-helm-chart-0.13.4 || true
echo "DEBUG TAGS"
git show-ref --tags
- name: Create unique pages branch name
id: vars
run: echo "branch_name=helm-publish-${GITHUB_SHA:0:7}" >> $GITHUB_ENV
- name: Force recreate branch from gh-pages
run: |
# Ensure a clean working directory
git reset --hard
git clean -fdx
git checkout -b local_gha_temp
git submodule update
# Fetch the latest gh-pages branch
git fetch origin gh-pages
# Check out and reset the target branch based on gh-pages
git checkout -B ${{ env.branch_name }} origin/gh-pages
# Remove submodules from the branch
git submodule deinit -f --all
# Force push to the remote branch
git push origin ${{ env.branch_name }} --force
# Return to the original branch
git checkout local_gha_temp
- name: Fetch/list all tags
run: |
git submodule update
cat .github/actions/chart-releaser-action/action.yml
- name: Run chart-releaser
uses: ./.github/actions/chart-releaser-action
with:
version: v1.6.0
charts_dir: helm
mark_as_latest: false
pages_branch: ${{ env.branch_name }}
env:
CR_TOKEN: "${{ github.token }}"
CR_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
CR_RELEASE_NAME_TEMPLATE: "superset-helm-chart-{{ .Version }}"
- name: Open Pull Request
uses: actions/github-script@v7
with:
script: |
const branchName = '${{ env.branch_name }}';
const [owner, repo] = process.env.GITHUB_REPOSITORY.split('/');
if (!branchName) {
throw new Error("Branch name is not defined.");
}
const pr = await github.rest.pulls.create({
owner,
repo,
title: `Helm chart release for ${branchName}`,
head: branchName,
base: "gh-pages", // Adjust if the target branch is different
body: `This PR releases Helm charts to the gh-pages branch.`,
});
core.info(`Pull request created: ${pr.data.html_url}`);
env:
BRANCH_NAME: ${{ env.branch_name }}

View File

@@ -3,19 +3,18 @@ name: Python-Integration
on:
push:
branches:
- "master"
- "[0-9].[0-9]*"
branches-ignore:
- "dependabot/npm_and_yarn/**"
pull_request:
types: [synchronize, opened, reopened, ready_for_review]
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.run_id }}
cancel-in-progress: true
jobs:
test-mysql:
runs-on: ubuntu-24.04
if: github.event.pull_request.draft == false
runs-on: ubuntu-20.04
strategy:
matrix:
python-version: [3.8]
env:
PYTHONPATH: ${{ github.workspace }}
SUPERSET_CONFIG: tests.integration_tests.superset_test_config
@@ -24,60 +23,61 @@ jobs:
mysql+mysqldb://superset:superset@127.0.0.1:13306/superset?charset=utf8mb4&binary_prefix=true
services:
mysql:
image: mysql:8.0
image: mysql:5.7
env:
MYSQL_ROOT_PASSWORD: root
ports:
- 13306:3306
options: >-
--health-cmd="mysqladmin ping --silent"
--health-interval=10s
--health-timeout=5s
--health-retries=5
redis:
image: redis:7-alpine
image: redis:5-alpine
options: --entrypoint redis-server
ports:
- 16379:6379
steps:
- name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )"
uses: actions/checkout@v4
uses: actions/checkout@v2
with:
persist-credentials: false
submodules: recursive
- name: Check for file changes
- name: Check if python changes are present
id: check
uses: ./.github/actions/change-detector/
with:
token: ${{ secrets.GITHUB_TOKEN }}
env:
GITHUB_REPO: ${{ github.repository }}
PR_NUMBER: ${{ github.event.pull_request.number }}
continue-on-error: true
run: ./scripts/ci_check_no_file_changes.sh python
- name: Setup Python
uses: ./.github/actions/setup-backend/
if: steps.check.outputs.python
- name: Setup MySQL
if: steps.check.outputs.python
if: steps.check.outcome == 'failure'
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
if: steps.check.outcome == 'failure'
uses: ./.github/actions/cached-dependencies
with:
run: setup-mysql
- name: Start Celery worker
if: steps.check.outputs.python
uses: ./.github/actions/cached-dependencies
with:
run: celery-worker
run: |
apt-get-install
pip-upgrade
pip install -r requirements/testing.txt
setup-mysql
- name: Run celery
if: steps.check.outcome == 'failure'
run: celery --app=superset.tasks.celery_app:app worker -Ofair -c 2 &
- name: Python integration tests (MySQL)
if: steps.check.outputs.python
if: steps.check.outcome == 'failure'
run: |
./scripts/python_tests.sh
- name: Upload code coverage
uses: codecov/codecov-action@v5
with:
flags: python,mysql
token: ${{ secrets.CODECOV_TOKEN }}
verbose: true
if: steps.check.outcome == 'failure'
run: |
bash .github/workflows/codecov.sh -c -F python -F mysql
test-postgres:
runs-on: ubuntu-24.04
if: github.event.pull_request.draft == false
runs-on: ubuntu-20.04
strategy:
matrix:
python-version: ["current", "previous"]
python-version: [3.8, 3.9]
env:
PYTHONPATH: ${{ github.workspace }}
SUPERSET_CONFIG: tests.integration_tests.superset_test_config
@@ -85,7 +85,7 @@ jobs:
SUPERSET__SQLALCHEMY_DATABASE_URI: postgresql+psycopg2://superset:superset@127.0.0.1:15432/superset
services:
postgres:
image: postgres:16-alpine
image: postgres:10-alpine
env:
POSTGRES_USER: superset
POSTGRES_PASSWORD: superset
@@ -94,95 +94,100 @@ jobs:
# GitHub action runner's default installations
- 15432:5432
redis:
image: redis:7-alpine
image: redis:5-alpine
ports:
- 16379:6379
steps:
- name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )"
uses: actions/checkout@v4
uses: actions/checkout@v2
with:
persist-credentials: false
submodules: recursive
- name: Check for file changes
- name: Check if python changes are present
id: check
uses: ./.github/actions/change-detector/
with:
token: ${{ secrets.GITHUB_TOKEN }}
env:
GITHUB_REPO: ${{ github.repository }}
PR_NUMBER: ${{ github.event.pull_request.number }}
continue-on-error: true
run: ./scripts/ci_check_no_file_changes.sh python
- name: Setup Python
uses: ./.github/actions/setup-backend/
if: steps.check.outputs.python
if: steps.check.outcome == 'failure'
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Setup Postgres
if: steps.check.outputs.python
- name: Install dependencies
if: steps.check.outcome == 'failure'
uses: ./.github/actions/cached-dependencies
with:
run: |
apt-get-install
pip-upgrade
pip install -r requirements/testing.txt
setup-postgres
- name: Start Celery worker
if: steps.check.outputs.python
uses: ./.github/actions/cached-dependencies
with:
run: celery-worker
- name: Run celery
if: steps.check.outcome == 'failure'
run: celery --app=superset.tasks.celery_app:app worker -Ofair -c 2 &
- name: Python integration tests (PostgreSQL)
if: steps.check.outputs.python
if: steps.check.outcome == 'failure'
run: |
./scripts/python_tests.sh
- name: Upload code coverage
uses: codecov/codecov-action@v5
with:
flags: python,postgres
token: ${{ secrets.CODECOV_TOKEN }}
verbose: true
if: steps.check.outcome == 'failure'
run: |
bash .github/workflows/codecov.sh -c -F python -F postgres
test-sqlite:
runs-on: ubuntu-24.04
if: github.event.pull_request.draft == false
runs-on: ubuntu-20.04
strategy:
matrix:
python-version: [3.8]
env:
PYTHONPATH: ${{ github.workspace }}
SUPERSET_CONFIG: tests.integration_tests.superset_test_config
REDIS_PORT: 16379
SUPERSET__SQLALCHEMY_DATABASE_URI: |
sqlite:///${{ github.workspace }}/.temp/superset.db?check_same_thread=true
SUPERSET__SQLALCHEMY_EXAMPLES_URI: |
sqlite:///${{ github.workspace }}/.temp/examples.db?check_same_thread=true
sqlite:///${{ github.workspace }}/.temp/unittest.db
services:
redis:
image: redis:7-alpine
image: redis:5-alpine
ports:
- 16379:6379
steps:
- name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )"
uses: actions/checkout@v4
uses: actions/checkout@v2
with:
persist-credentials: false
submodules: recursive
- name: Check for file changes
- name: Check if python changes are present
id: check
uses: ./.github/actions/change-detector/
with:
token: ${{ secrets.GITHUB_TOKEN }}
env:
GITHUB_REPO: ${{ github.repository }}
PR_NUMBER: ${{ github.event.pull_request.number }}
continue-on-error: true
run: ./scripts/ci_check_no_file_changes.sh python
- name: Setup Python
uses: ./.github/actions/setup-backend/
if: steps.check.outputs.python
if: steps.check.outcome == 'failure'
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
if: steps.check.outputs.python
if: steps.check.outcome == 'failure'
uses: ./.github/actions/cached-dependencies
with:
run: |
# sqlite needs this working directory
apt-get-install
pip-upgrade
pip install -r requirements/testing.txt
mkdir ${{ github.workspace }}/.temp
- name: Start Celery worker
if: steps.check.outputs.python
uses: ./.github/actions/cached-dependencies
with:
run: celery-worker
- name: Run celery
if: steps.check.outcome == 'failure'
run: celery --app=superset.tasks.celery_app:app worker -Ofair -c 2 &
- name: Python integration tests (SQLite)
if: steps.check.outputs.python
if: steps.check.outcome == 'failure'
run: |
./scripts/python_tests.sh
- name: Upload code coverage
uses: codecov/codecov-action@v5
with:
flags: python,sqlite
token: ${{ secrets.CODECOV_TOKEN }}
verbose: true
if: steps.check.outcome == 'failure'
run: |
bash .github/workflows/codecov.sh -c -F python -F sqlite

View File

@@ -0,0 +1,99 @@
# Python Misc unit tests
name: Python Misc
on:
push:
branches-ignore:
- "dependabot/npm_and_yarn/**"
pull_request:
types: [synchronize, opened, reopened, ready_for_review]
jobs:
python-lint:
if: github.event.pull_request.draft == false
runs-on: ubuntu-20.04
strategy:
matrix:
python-version: [3.8]
steps:
- name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )"
uses: actions/checkout@v2
with:
persist-credentials: false
submodules: recursive
- name: Check if python changes are present
id: check
env:
GITHUB_REPO: ${{ github.repository }}
PR_NUMBER: ${{ github.event.pull_request.number }}
continue-on-error: true
run: ./scripts/ci_check_no_file_changes.sh python
- name: Setup Python
if: steps.check.outcome == 'failure'
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
if: steps.check.outcome == 'failure'
uses: ./.github/actions/cached-dependencies
with:
run: |
apt-get-install
pip-upgrade
pip install -r requirements/testing.txt
- name: pylint
if: steps.check.outcome == 'failure'
# `-j 0` run Pylint in parallel
run: pylint -j 0 superset
pre-commit:
if: github.event.pull_request.draft == false
runs-on: ubuntu-20.04
strategy:
matrix:
python-version: [3.8]
steps:
- name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )"
uses: actions/checkout@v2
with:
persist-credentials: false
submodules: recursive
- name: Setup Python
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
uses: ./.github/actions/cached-dependencies
with:
run: |
apt-get-install
pip-upgrade
pip install -r requirements/integration.txt
- name: pre-commit
run: pre-commit run --all-files
babel-extract:
if: github.event.pull_request.draft == false
runs-on: ubuntu-20.04
strategy:
matrix:
python-version: [3.8]
steps:
- name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )"
uses: actions/checkout@v2
with:
persist-credentials: false
submodules: recursive
- name: Setup Python
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
uses: ./.github/actions/cached-dependencies
with:
run: |
apt-get-install
pip-upgrade
pip install -r requirements/base.txt
- name: Test babel extraction
run: flask fab babel-extract --target superset/translations --output superset/translations/messages.pot --config superset/translations/babel.cfg -k _,__,t,tn,tct

View File

@@ -3,20 +3,18 @@ name: Python Presto/Hive
on:
push:
branches:
- "master"
- "[0-9].[0-9]*"
branches-ignore:
- "dependabot/npm_and_yarn/**"
pull_request:
types: [synchronize, opened, reopened, ready_for_review]
# cancel previous workflow jobs for PRs
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.run_id }}
cancel-in-progress: true
jobs:
test-postgres-presto:
runs-on: ubuntu-24.04
if: github.event.pull_request.draft == false
runs-on: ubuntu-20.04
strategy:
matrix:
python-version: [3.8]
env:
PYTHONPATH: ${{ github.workspace }}
SUPERSET_CONFIG: tests.integration_tests.superset_test_config
@@ -25,7 +23,7 @@ jobs:
SUPERSET__SQLALCHEMY_EXAMPLES_URI: presto://localhost:15433/memory/default
services:
postgres:
image: postgres:16-alpine
image: postgres:10-alpine
env:
POSTGRES_USER: superset
POSTGRES_PASSWORD: superset
@@ -43,48 +41,54 @@ jobs:
# GitHub action runner's default installations
- 15433:8080
redis:
image: redis:7-alpine
image: redis:5-alpine
ports:
- 16379:6379
steps:
- name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )"
uses: actions/checkout@v4
uses: actions/checkout@v2
with:
persist-credentials: false
submodules: recursive
- name: Check for file changes
- name: Check if python changes are present
id: check
uses: ./.github/actions/change-detector/
with:
token: ${{ secrets.GITHUB_TOKEN }}
env:
GITHUB_REPO: ${{ github.repository }}
PR_NUMBER: ${{ github.event.pull_request.number }}
continue-on-error: true
run: ./scripts/ci_check_no_file_changes.sh python
- name: Setup Python
uses: ./.github/actions/setup-backend/
if: steps.check.outputs.python == 'true'
- name: Setup Postgres
if: steps.check.outputs.python
if: steps.check.outcome == 'failure'
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
if: steps.check.outcome == 'failure'
uses: ./.github/actions/cached-dependencies
with:
run: |
echo "${{ steps.check.outputs.python }}"
apt-get-install
pip-upgrade
pip install -r requirements/testing.txt
setup-postgres
- name: Start Celery worker
if: steps.check.outputs.python
uses: ./.github/actions/cached-dependencies
with:
run: celery-worker
- name: Run celery
if: steps.check.outcome == 'failure'
run: celery --app=superset.tasks.celery_app:app worker -Ofair -c 2 &
- name: Python unit tests (PostgreSQL)
if: steps.check.outputs.python
if: steps.check.outcome == 'failure'
run: |
./scripts/python_tests.sh -m 'chart_data_flow or sql_json_flow'
./scripts/python_tests.sh
- name: Upload code coverage
uses: codecov/codecov-action@v5
with:
flags: python,presto
token: ${{ secrets.CODECOV_TOKEN }}
verbose: true
if: steps.check.outcome == 'failure'
run: |
bash .github/workflows/codecov.sh -c -F python -F presto
test-postgres-hive:
runs-on: ubuntu-24.04
if: github.event.pull_request.draft == false
runs-on: ubuntu-20.04
strategy:
matrix:
python-version: [3.8]
env:
PYTHONPATH: ${{ github.workspace }}
SUPERSET_CONFIG: tests.integration_tests.superset_test_config
@@ -94,7 +98,7 @@ jobs:
UPLOAD_FOLDER: /tmp/.superset/uploads/
services:
postgres:
image: postgres:16-alpine
image: postgres:10-alpine
env:
POSTGRES_USER: superset
POSTGRES_PASSWORD: superset
@@ -103,50 +107,53 @@ jobs:
# GitHub action runner's default installations
- 15432:5432
redis:
image: redis:7-alpine
image: redis:5-alpine
ports:
- 16379:6379
steps:
- name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )"
uses: actions/checkout@v4
uses: actions/checkout@v2
with:
persist-credentials: false
submodules: recursive
- name: Check for file changes
- name: Check if python changes are present
id: check
uses: ./.github/actions/change-detector/
with:
token: ${{ secrets.GITHUB_TOKEN }}
env:
GITHUB_REPO: ${{ github.repository }}
PR_NUMBER: ${{ github.event.pull_request.number }}
continue-on-error: true
run: ./scripts/ci_check_no_file_changes.sh python
- name: Create csv upload directory
if: steps.check.outputs.python
if: steps.check.outcome == 'failure'
run: sudo mkdir -p /tmp/.superset/uploads
- name: Give write access to the csv upload directory
if: steps.check.outputs.python
if: steps.check.outcome == 'failure'
run: sudo chown -R $USER:$USER /tmp/.superset
- name: Start hadoop and hive
if: steps.check.outputs.python
run: docker compose -f scripts/databases/hive/docker-compose.yml up -d
if: steps.check.outcome == 'failure'
run: docker-compose -f scripts/databases/hive/docker-compose.yml up -d
- name: Setup Python
uses: ./.github/actions/setup-backend/
if: steps.check.outputs.python
- name: Setup Postgres
if: steps.check.outputs.python
if: steps.check.outcome == 'failure'
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
if: steps.check.outcome == 'failure'
uses: ./.github/actions/cached-dependencies
with:
run: setup-postgres
- name: Start Celery worker
if: steps.check.outputs.python
uses: ./.github/actions/cached-dependencies
with:
run: celery-worker
run: |
apt-get-install
pip-upgrade
pip install -r requirements/testing.txt
setup-postgres
- name: Run celery
if: steps.check.outcome == 'failure'
run: celery --app=superset.tasks.celery_app:app worker -Ofair -c 2 &
- name: Python unit tests (PostgreSQL)
if: steps.check.outputs.python
if: steps.check.outcome == 'failure'
run: |
pip install -e .[hive]
./scripts/python_tests.sh -m 'chart_data_flow or sql_json_flow'
./scripts/python_tests.sh
- name: Upload code coverage
uses: codecov/codecov-action@v5
with:
flags: python,hive
token: ${{ secrets.CODECOV_TOKEN }}
verbose: true
if: steps.check.outcome == 'failure'
run: |
bash .github/workflows/codecov.sh -c -F python -F hive

View File

@@ -3,51 +3,53 @@ name: Python-Unit
on:
push:
branches:
- "master"
- "[0-9].[0-9]*"
branches-ignore:
- "dependabot/npm_and_yarn/**"
pull_request:
types: [synchronize, opened, reopened, ready_for_review]
# cancel previous workflow jobs for PRs
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.run_id }}
cancel-in-progress: true
jobs:
unit-tests:
runs-on: ubuntu-24.04
if: github.event.pull_request.draft == false
runs-on: ubuntu-20.04
strategy:
matrix:
python-version: ["previous", "current"]
python-version: [3.8, 3.9]
env:
PYTHONPATH: ${{ github.workspace }}
steps:
- name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )"
uses: actions/checkout@v4
uses: actions/checkout@v2
with:
persist-credentials: false
submodules: recursive
- name: Check for file changes
- name: Check if python changes are present
id: check
uses: ./.github/actions/change-detector/
with:
token: ${{ secrets.GITHUB_TOKEN }}
env:
GITHUB_REPO: ${{ github.repository }}
PR_NUMBER: ${{ github.event.pull_request.number }}
continue-on-error: true
run: ./scripts/ci_check_no_file_changes.sh python
- name: Setup Python
uses: ./.github/actions/setup-backend/
if: steps.check.outputs.python
if: steps.check.outcome == 'failure'
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Python unit tests
if: steps.check.outputs.python
env:
SUPERSET_TESTENV: true
SUPERSET_SECRET_KEY: not-a-secret
run: |
pytest --durations-min=0.5 --cov-report= --cov=superset ./tests/common ./tests/unit_tests --cache-clear --maxfail=50
- name: Upload code coverage
uses: codecov/codecov-action@v5
# TODO: separated requiermentes.txt file just for unit tests
- name: Install dependencies
if: steps.check.outcome == 'failure'
uses: ./.github/actions/cached-dependencies
with:
flags: python,unit
token: ${{ secrets.CODECOV_TOKEN }}
verbose: true
run: |
apt-get-install
pip-upgrade
pip install -r requirements/testing.txt
mkdir ${{ github.workspace }}/.temp
- name: Python unit tests
if: steps.check.outcome == 'failure'
run: |
pytest ./tests/unit_tests --cache-clear
- name: Upload code coverage
if: steps.check.outcome == 'failure'
run: |
bash .github/workflows/codecov.sh -c -F python -F unit

View File

@@ -2,66 +2,59 @@ name: Translations
on:
push:
branches:
- "master"
- "[0-9].[0-9]*"
branches-ignore:
- "dependabot/npm_and_yarn/**"
pull_request:
types: [synchronize, opened, reopened, ready_for_review]
# cancel previous workflow jobs for PRs
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.run_id }}
cancel-in-progress: true
jobs:
frontend-check-translations:
runs-on: ubuntu-24.04
frontend-check:
if: github.event.pull_request.draft == false
runs-on: ubuntu-20.04
steps:
- name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )"
uses: actions/checkout@v4
uses: actions/checkout@v2
with:
persist-credentials: false
submodules: recursive
- name: Check for file changes
id: check
uses: ./.github/actions/change-detector/
with:
token: ${{ secrets.GITHUB_TOKEN }}
- name: Setup Node.js
if: steps.check.outputs.frontend
uses: actions/setup-node@v4
uses: actions/setup-node@v2
with:
node-version-file: './superset-frontend/.nvmrc'
node-version: '16'
- name: Install dependencies
if: steps.check.outputs.frontend
uses: ./.github/actions/cached-dependencies
with:
run: npm-install
- name: lint
if: steps.check.outputs.frontend
working-directory: ./superset-frontend
run: |
npm run build-translation
npm run check-translation
babel-extract:
runs-on: ubuntu-24.04
if: github.event.pull_request.draft == false
runs-on: ubuntu-20.04
strategy:
matrix:
python-version: [3.8]
steps:
- name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )"
uses: actions/checkout@v4
uses: actions/checkout@v2
with:
persist-credentials: false
submodules: recursive
- name: Check for file changes
id: check
uses: ./.github/actions/change-detector/
with:
token: ${{ secrets.GITHUB_TOKEN }}
- name: Setup Python
if: steps.check.outputs.python
uses: ./.github/actions/setup-backend/
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
uses: ./.github/actions/cached-dependencies
with:
run: |
apt-get-install
pip-upgrade
pip install -r requirements/base.txt
- name: Test babel extraction
if: steps.check.outputs.python
run: ./scripts/translations/babel_update.sh
run: |
flask fab babel-extract --target superset/translations \
--output superset/translations/messages.pot \
--config superset/translations/babel.cfg -k _,__,t,tn,tct

View File

@@ -1,38 +1,27 @@
name: WebSocket server
on:
push:
branches:
- "master"
- "[0-9].[0-9]*"
paths:
- "superset-websocket/**"
pull_request:
paths:
- "superset-websocket/**"
types: [synchronize, opened, reopened, ready_for_review]
# cancel previous workflow jobs for PRs
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.run_id }}
cancel-in-progress: true
jobs:
app-checks:
runs-on: ubuntu-24.04
if: github.event.pull_request.draft == false
runs-on: ubuntu-20.04
steps:
- name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )"
uses: actions/checkout@v4
uses: actions/checkout@v2
with:
persist-credentials: false
- name: Install dependencies
working-directory: ./superset-websocket
run: npm ci
- name: eslint
run: npm install
- name: lint
working-directory: ./superset-websocket
run: npm run eslint -- . --quiet
- name: typescript checks
working-directory: ./superset-websocket
run: npm run type
run: npm run lint
- name: prettier
working-directory: ./superset-websocket
run: npm run prettier-check

View File

@@ -1,56 +0,0 @@
name: SupersetBot Workflow
on:
issue_comment:
types: [created, edited]
# Making the workflow testable since `issue_comment` only triggers on
# the default branch
workflow_dispatch:
inputs:
comment_body:
description: 'Comment Body'
required: true
type: string
jobs:
supersetbot:
runs-on: ubuntu-24.04
if: >
github.event_name == 'workflow_dispatch' ||
(github.event_name == 'issue_comment' && contains(github.event.comment.body, '@supersetbot'))
permissions:
contents: read
pull-requests: write
issues: write
steps:
- name: Quickly add thumbs up!
if: github.event_name == 'issue_comment' && contains(github.event.comment.body, '@supersetbot')
uses: actions/github-script@v7
with:
script: |
const [owner, repo] = process.env.GITHUB_REPOSITORY.split('/')
await github.rest.reactions.createForIssueComment({
owner,
repo,
comment_id: context.payload.comment.id,
content: '+1'
});
- name: "Checkout ( ${{ github.sha }} )"
uses: actions/checkout@v4
with:
persist-credentials: false
- name: Setup supersetbot
uses: ./.github/actions/setup-supersetbot/
- name: Execute custom Node.js script
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GITHUB_ACTOR: ${{ github.actor }}
GITHUB_REPOSITORY: ${{ github.repository }}
GITHUB_ISSUE_NUMBER: ${{ github.event.issue.number }}
COMMENT_BODY: ${{ github.event.comment.body }}${{ github.event.inputs.comment_body }}
run: |
supersetbot run "$COMMENT_BODY"

View File

@@ -1,134 +0,0 @@
name: Publish a Release
on:
release:
types: [published, edited]
# Can be triggered manually
workflow_dispatch:
inputs:
release:
required: true
description: The version to generate
git-ref:
required: true
description: The git reference to checkout prior to running the docker build
force-latest:
required: true
type: choice
default: 'false'
description: Whether to force a latest tag on the release
options:
- 'true'
- 'false'
jobs:
config:
runs-on: ubuntu-24.04
outputs:
has-secrets: ${{ steps.check.outputs.has-secrets }}
steps:
- name: "Check for secrets"
id: check
shell: bash
run: |
if [ -n "${{ (secrets.DOCKERHUB_USER != '' && secrets.DOCKERHUB_TOKEN != '') || '' }}" ]; then
echo "has-secrets=1" >> "$GITHUB_OUTPUT"
fi
docker-release:
needs: config
if: needs.config.outputs.has-secrets
name: docker-release
runs-on: ubuntu-24.04
strategy:
matrix:
build_preset: ["dev", "lean", "py310", "websocket", "dockerize", "py311"]
fail-fast: false
steps:
- name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )"
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup Docker Environment
uses: ./.github/actions/setup-docker
with:
dockerhub-user: ${{ secrets.DOCKERHUB_USER }}
dockerhub-token: ${{ secrets.DOCKERHUB_TOKEN }}
install-docker-compose: "false"
build: "true"
- name: Use Node.js 20
uses: actions/setup-node@v4
with:
node-version: 20
- name: Setup supersetbot
uses: ./.github/actions/setup-supersetbot/
- name: Execute custom Node.js script
env:
DOCKERHUB_USER: ${{ secrets.DOCKERHUB_USER }}
DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
RELEASE="${{ github.event.release.tag_name }}"
FORCE_LATEST=""
EVENT="${{github.event_name}}"
if [ "${{ github.event_name }}" = "workflow_dispatch" ]; then
# in the case of a manually-triggered run, read release from input
RELEASE="${{ github.event.inputs.release }}"
if [ "${{ github.event.inputs.force-latest }}" = "true" ]; then
FORCE_LATEST="--force-latest"
fi
git checkout "${{ github.event.inputs.git-ref }}"
EVENT="release"
fi
supersetbot docker \
--push \
--preset ${{ matrix.build_preset }} \
--context "$EVENT" \
--context-ref "$RELEASE" $FORCE_LATEST \
--platform "linux/arm64" \
--platform "linux/amd64"
# Returning to master to support closing setup-supersetbot
git checkout master
update-prs-with-release-info:
needs: config
if: needs.config.outputs.has-secrets
runs-on: ubuntu-24.04
permissions:
contents: read
pull-requests: write
steps:
- name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )"
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Use Node.js 20
uses: actions/setup-node@v4
with:
node-version: 20
- name: Setup supersetbot
uses: ./.github/actions/setup-supersetbot/
- name: Label the PRs with the right release-related labels
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
export GITHUB_ACTOR=""
git fetch --all --tags
git checkout master
RELEASE="${{ github.event.release.tag_name }}"
if [ "${{ github.event_name }}" = "workflow_dispatch" ]; then
# in the case of a manually-triggered run, read release from input
RELEASE="${{ github.event.inputs.release }}"
fi
supersetbot release-label $RELEASE

View File

@@ -1,47 +0,0 @@
name: Upload Technical Debt Metrics to Google Sheets
on:
push:
branches:
- master
- "[0-9].[0-9]*"
jobs:
config:
runs-on: ubuntu-24.04
outputs:
has-secrets: ${{ steps.check.outputs.has-secrets }}
steps:
- name: "Check for secrets"
id: check
shell: bash
run: |
if [ -n "${{ (secrets.GSHEET_KEY != '' ) || '' }}" ]; then
echo "has-secrets=1" >> "$GITHUB_OUTPUT"
fi
process-and-upload:
needs: config
if: needs.config.outputs.has-secrets
runs-on: ubuntu-24.04
name: Generate Reports
steps:
- name: Checkout Repository
uses: actions/checkout@v4
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version-file: './superset-frontend/.nvmrc'
- name: Install Dependencies
run: npm ci
working-directory: ./superset-frontend
- name: Run Script
env:
SPREADSHEET_ID: "1oABNnzxJYzwUrHjr_c9wfYEq9dFL1ScVof9LlaAdxvo"
SERVICE_ACCOUNT_KEY: ${{ secrets.GSHEET_KEY }}
run: npm run lint-stats
continue-on-error: true
working-directory: ./superset-frontend

View File

@@ -1,22 +0,0 @@
name: Welcome New Contributor
on:
pull_request_target:
types: [opened]
jobs:
welcome:
runs-on: ubuntu-24.04
permissions:
pull-requests: write
steps:
- name: Welcome Message
uses: actions/first-interaction@v1
continue-on-error: true
with:
repo-token: ${{ github.token }}
pr-message: |-
Congrats on making your first PR and thank you for contributing to Superset! :tada: :heart:
We hope to see you in our [Slack](https://apache-superset.slack.com/) community too! Not signed up? Use our [Slack App](http://bit.ly/join-superset-slack) to self-register.

48
.gitignore vendored
View File

@@ -14,6 +14,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
#
*.ipynb
*.bak
*.db
*.pyc
@@ -21,7 +22,6 @@
*.swp
__pycache__
.aider*
.local
.cache
.bento*
@@ -51,6 +51,7 @@ env
venv*
env_py3
envpy3
env36
local_config.py
/superset_config.py
/superset_text.yml
@@ -59,44 +60,21 @@ superset/bin/supersetc
tmp
rat-results.txt
superset/app/
superset-websocket/config.json
# Node.js, webpack artifacts, storybook
# Node.js, webpack artifacts
*.entry.js
*.js.map
node_modules
npm-debug.log*
superset/static/assets/*
!superset/static/assets/.gitkeep
superset/static/uploads/*
!superset/static/uploads/.gitkeep
superset/static/assets
superset/static/version_info.json
superset-frontend/**/esm/*
superset-frontend/**/lib/*
superset-frontend/**/storybook-static/*
superset-frontend/migration-storybook.log
yarn-error.log
*.map
*.min.js
test-changelog.md
*.tsbuildinfo
# Ignore package-lock in packages
plugins/*/package-lock.json
packages/*/package-lock.json
# For country map geojson conversion script
.ipynb_checkpoints/
scripts/*.zip
# IntelliJ
*.iml
venv
@eaDir/
# PyCharm
.run
# Test data
celery_results.sqlite
celerybeat-schedule
@@ -107,23 +85,9 @@ ghostdriver.log
testCSV.csv
.terser-plugin-cache/
apache-superset-*.tar.gz*
apache_superset-*.tar.gz*
release.json
# Translation-related files
# these json files are generated by ./scripts/po2json.sh
superset/translations/**/messages.json
# these mo binary files are generated by `pybabel compile`
superset/translations/**/messages.mo
# Translation binaries
messages.mo
docker/requirements-local.txt
cache/
docker/*local*
.temp_cache
# Jest test report
test-report.html
superset/static/stats/statistics.html
.aider*

View File

@@ -1,4 +0,0 @@
{
"no-bare-urls": false,
"line-length": false
}

View File

@@ -15,88 +15,36 @@
# limitations under the License.
#
repos:
- repo: https://github.com/MarcoGorelli/auto-walrus
rev: 0.3.4
- repo: https://github.com/asottile/seed-isort-config
rev: v1.9.3
hooks:
- id: auto-walrus
- id: seed-isort-config
- repo: https://github.com/pre-commit/mirrors-isort
rev: v4.3.21
hooks:
- id: isort
- repo: https://github.com/pre-commit/mirrors-mypy
rev: v1.15.0
rev: v0.910
hooks:
- id: mypy
args: [--check-untyped-defs]
additional_dependencies: [
types-simplejson,
types-python-dateutil,
types-requests,
# types-redis 4.6.0.5 is failing mypy
# because of https://github.com/python/typeshed/pull/10531
types-redis==4.6.0.4,
types-pytz,
types-croniter,
types-PyYAML,
types-setuptools,
types-paramiko,
types-Markdown,
]
additional_dependencies: [types-all, types-redis]
- repo: https://github.com/peterdemin/pip-compile-multi
rev: v2.4.1
hooks:
- id: pip-compile-multi-verify
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v5.0.0
rev: v3.2.0
hooks:
- id: check-docstring-first
- id: check-added-large-files
exclude: ^.*\.(geojson)$|^docs/static/img/screenshots/.*|^superset-frontend/CHANGELOG\.md$
- id: check-yaml
exclude: ^helm/superset/templates/
- id: debug-statements
- id: end-of-file-fixer
exclude: .*/lerna\.json$
- id: trailing-whitespace
exclude: ^.*\.(snap)
args: ["--markdown-linebreak-ext=md"]
- repo: https://github.com/pre-commit/mirrors-prettier
rev: v4.0.0-alpha.8 # Use the sha or tag you want to point at
- repo: https://github.com/psf/black
rev: 19.10b0
hooks:
- id: prettier
additional_dependencies:
- prettier@3.5.3
args: ["--ignore-path=./superset-frontend/.prettierignore"]
files: "superset-frontend"
- repo: local
hooks:
- id: eslint-frontend
name: eslint (frontend)
entry: ./scripts/eslint.sh
language: system
pass_filenames: true
files: ^superset-frontend/.*\.(js|jsx|ts|tsx)$
- id: eslint-docs
name: eslint (docs)
entry: bash -c 'cd docs && FILES=$(echo "$@" | sed "s|docs/||g") && yarn eslint --fix --ext .js,.jsx,.ts,.tsx --quiet $FILES'
language: system
pass_filenames: true
files: ^docs/.*\.(js|jsx|ts|tsx)$
- id: type-checking-frontend
name: Type-Checking (Frontend)
entry: bash -c './scripts/check-type.js package=superset-frontend excludeDeclarationDir=cypress-base'
language: system
files: ^superset-frontend\/.*\.(js|jsx|ts|tsx)$
exclude: ^superset-frontend/cypress-base\/
require_serial: true
# blacklist unsafe functions like make_url (see #19526)
- repo: https://github.com/skorokithakis/blacklist-pre-commit-hook
rev: e2f070289d8eddcaec0b580d3bde29437e7c8221
hooks:
- id: blacklist
args: ["--blacklisted-names=make_url", "--ignore=tests/"]
- repo: https://github.com/norwoodj/helm-docs
rev: v1.14.2
hooks:
- id: helm-docs
files: helm
verbose: false
args: ["--log-level", "error"]
- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.9.7
hooks:
- id: ruff
args: [--fix]
- id: ruff-format
- id: black
language_version: python3

428
.pylintrc Normal file
View File

@@ -0,0 +1,428 @@
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
[MASTER]
# Specify a configuration file.
#rcfile=
# Python code to execute, usually for sys.path manipulation such as
# pygtk.require().
#init-hook=
# Add files or directories to the blacklist. They should be base names, not
# paths.
ignore=CVS,migrations
# Add files or directories matching the regex patterns to the blacklist. The
# regex matches against base names, not paths.
ignore-patterns=
# Pickle collected data for later comparisons.
persistent=yes
# List of plugins (as comma separated values of python modules names) to load,
# usually to register additional checkers.
load-plugins=
# Use multiple processes to speed up Pylint.
jobs=2
# Allow loading of arbitrary C extensions. Extensions are imported into the
# active Python interpreter and may run arbitrary code.
unsafe-load-any-extension=no
# A comma-separated list of package or module names from where C extensions may
# be loaded. Extensions are loading into the active Python interpreter and may
# run arbitrary code
extension-pkg-whitelist=pyarrow
# Allow optimization of some AST trees. This will activate a peephole AST
# optimizer, which will apply various small optimizations. For instance, it can
# be used to obtain the result of joining multiple strings with the addition
# operator. Joining a lot of strings can lead to a maximum recursion error in
# Pylint and this flag can prevent that. It has one side effect, the resulting
# AST will be different than the one from reality. This option is deprecated
# and it will be removed in Pylint 2.0.
optimize-ast=no
[MESSAGES CONTROL]
# Only show warnings with the listed confidence levels. Leave empty to show
# all. Valid levels: HIGH, INFERENCE, INFERENCE_FAILURE, UNDEFINED
confidence=
# Enable the message, report, category or checker with the given id(s). You can
# either give multiple identifier separated by comma (,) or put this option
# multiple time (only on the command line, not in the configuration file where
# it should appear only once). See also the "--disable" option for examples.
enable=
useless-suppression,
# Disable the message, report, category or checker with the given id(s). You
# can either give multiple identifiers separated by comma (,) or put this
# option multiple times (only on the command line, not in the configuration
# file where it should appear only once).You can also use "--disable=all" to
# disable everything first and then reenable specific checks. For example, if
# you want to run only the similarities checker, you can use "--disable=all
# --enable=similarities". If you want to run only the classes checker, but have
# no Warning level messages displayed, use"--disable=all --enable=classes
# --disable=W"
disable=
missing-docstring,
duplicate-code,
unspecified-encoding,
# re-enable once this no longer raises false positives
too-many-instance-attributes
[REPORTS]
# Set the output format. Available formats are text, parseable, colorized, msvs
# (visual studio) and html. You can also give a reporter class, eg
# mypackage.mymodule.MyReporterClass.
output-format=text
# Put messages in a separate file for each module / package specified on the
# command line instead of printing them on stdout. Reports (if any) will be
# written in a file name "pylint_global.[txt|html]". This option is deprecated
# and it will be removed in Pylint 2.0.
files-output=no
# Tells whether to display a full report or only the messages
reports=yes
# Python expression which should return a note less than 10 (10 is the highest
# note). You have access to the variables errors warning, statement which
# respectively contain the number of errors / warnings messages and the total
# number of statements analyzed. This is used by the global evaluation report
# (RP0004).
evaluation=10.0 - ((float(5 * error + warning + refactor + convention) / statement) * 10)
# Template used to display messages. This is a python new-style format string
# used to format the message information. See doc for all details
#msg-template=
[BASIC]
# Good variable names which should always be accepted, separated by a comma
good-names=_,df,ex,f,i,id,j,k,l,o,pk,Run,ts,v,x,y
# Bad variable names which should always be refused, separated by a comma
bad-names=fd,foo,bar,baz,toto,tutu,tata
# Colon-delimited sets of names that determine each other's naming style when
# the name regexes allow several styles.
name-group=
# Include a hint for the correct naming format with invalid-name
include-naming-hint=no
# List of decorators that produce properties, such as abc.abstractproperty. Add
# to this list to register other decorators that produce valid properties.
property-classes=abc.abstractproperty
# Regular expression matching correct argument names
argument-rgx=[a-z_][a-z0-9_]{2,30}$
# Naming hint for argument names
argument-name-hint=[a-z_][a-z0-9_]{2,30}$
# Regular expression matching correct method names
method-rgx=[a-z_][a-z0-9_]{2,30}$
# Naming hint for method names
method-name-hint=[a-z_][a-z0-9_]{2,30}$
# Regular expression matching correct variable names
variable-rgx=[a-z_][a-z0-9_]{1,30}$
# Naming hint for variable names
variable-name-hint=[a-z_][a-z0-9_]{2,30}$
# Regular expression matching correct inline iteration names
inlinevar-rgx=[A-Za-z_][A-Za-z0-9_]*$
# Naming hint for inline iteration names
inlinevar-name-hint=[A-Za-z_][A-Za-z0-9_]*$
# Regular expression matching correct constant names
const-rgx=(([A-Za-z_][A-Za-z0-9_]*)|(__.*__))$
# Naming hint for constant names
const-name-hint=(([A-Z_][A-Z0-9_]*)|(__.*__))$
# Regular expression matching correct class names
class-rgx=[A-Z_][a-zA-Z0-9]+$
# Naming hint for class names
class-name-hint=[A-Z_][a-zA-Z0-9]+$
# Regular expression matching correct class attribute names
class-attribute-rgx=([A-Za-z_][A-Za-z0-9_]{2,30}|(__.*__))$
# Naming hint for class attribute names
class-attribute-name-hint=([A-Za-z_][A-Za-z0-9_]{2,30}|(__.*__))$
# Regular expression matching correct module names
module-rgx=(([a-z_][a-z0-9_]*)|([A-Z][a-zA-Z0-9]+))$
# Naming hint for module names
module-name-hint=(([a-z_][a-z0-9_]*)|([A-Z][a-zA-Z0-9]+))$
# Regular expression matching correct attribute names
attr-rgx=[a-z_][a-z0-9_]{2,30}$
# Naming hint for attribute names
attr-name-hint=[a-z_][a-z0-9_]{2,30}$
# Regular expression matching correct function names
function-rgx=[a-z_][a-z0-9_]{2,30}$
# Naming hint for function names
function-name-hint=[a-z_][a-z0-9_]{2,30}$
# Regular expression which should only match function or class names that do
# not require a docstring.
no-docstring-rgx=^_
# Minimum line length for functions/classes that require docstrings, shorter
# ones are exempt.
docstring-min-length=10
[ELIF]
# Maximum number of nested blocks for function / method body
max-nested-blocks=5
[FORMAT]
# Maximum number of characters on a single line.
max-line-length=90
# Regexp for a line that is allowed to be longer than the limit.
ignore-long-lines=^\s*(# )?<?https?://\S+>?$
# Allow the body of an if to be on the same line as the test if there is no
# else.
single-line-if-stmt=no
# List of optional constructs for which whitespace checking is disabled. `dict-
# separator` is used to allow tabulation in dicts, etc.: {1 : 1,\n222: 2}.
# `trailing-comma` allows a space between comma and closing bracket: (a, ).
# `empty-line` allows space-only lines.
no-space-check=trailing-comma,dict-separator
# Maximum number of lines in a module
max-module-lines=1000
# String used as indentation unit. This is usually " " (4 spaces) or "\t" (1
# tab).
indent-string=' '
# Number of spaces of indent required inside a hanging or continued line.
indent-after-paren=4
# Expected format of line ending, e.g. empty (any line ending), LF or CRLF.
expected-line-ending-format=
[LOGGING]
# Logging modules to check that the string format arguments are in logging
# function parameter format
logging-modules=logging
[MISCELLANEOUS]
# List of note tags to take in consideration, separated by a comma.
notes=FIXME,XXX
[SIMILARITIES]
# Minimum lines number of a similarity.
min-similarity-lines=5
# Ignore comments when computing similarities.
ignore-comments=yes
# Ignore docstrings when computing similarities.
ignore-docstrings=yes
# Ignore imports when computing similarities.
ignore-imports=no
[SPELLING]
# Spelling dictionary name. Available dictionaries: none. To make it working
# install python-enchant package.
spelling-dict=
# List of comma separated words that should not be checked.
spelling-ignore-words=
# A path to a file that contains private dictionary; one word per line.
spelling-private-dict-file=
# Tells whether to store unknown words to indicated private dictionary in
# --spelling-private-dict-file option instead of raising a message.
spelling-store-unknown-words=no
[TYPECHECK]
# Tells whether missing members accessed in mixin class should be ignored. A
# mixin class is detected if its name ends with "mixin" (case insensitive).
ignore-mixin-members=yes
# List of module names for which member attributes should not be checked
# (useful for modules/projects where namespaces are manipulated during runtime
# and thus existing member attributes cannot be deduced by static analysis. It
# supports qualified module names, as well as Unix pattern matching.
ignored-modules=numpy,pandas,alembic.op,sqlalchemy,alembic.context,flask_appbuilder.security.sqla.PermissionView.role,flask_appbuilder.Model.metadata,flask_appbuilder.Base.metadata,distutils
# List of class names for which member attributes should not be checked (useful
# for classes with dynamically set attributes). This supports the use of
# qualified names.
ignored-classes=contextlib.closing,optparse.Values,thread._local,_thread._local,sqlalchemy.orm.scoping.scoped_session
# List of members which are set dynamically and missed by pylint inference
# system, and so shouldn't trigger E1101 when accessed. Python regular
# expressions are accepted.
generated-members=
# List of decorators that produce context managers, such as
# contextlib.contextmanager. Add to this list to register other decorators that
# produce valid context managers.
contextmanager-decorators=contextlib.contextmanager
[VARIABLES]
# Tells whether we should check for unused import in __init__ files.
init-import=no
# A regular expression matching the name of dummy variables (i.e. expectedly
# not used).
dummy-variables-rgx=(_+[a-zA-Z0-9]*?$)|dummy
# List of additional names supposed to be defined in builtins. Remember that
# you should avoid to define new builtins when possible.
additional-builtins=
# List of strings which can identify a callback function by name. A callback
# name must start or end with one of those strings.
callbacks=cb_,_cb
# List of qualified module names which can have objects that can redefine
# builtins.
redefining-builtins-modules=six.moves,future.builtins
[CLASSES]
# List of method names used to declare (i.e. assign) instance attributes.
defining-attr-methods=__init__,__new__,setUp
# List of valid names for the first argument in a class method.
valid-classmethod-first-arg=cls
# List of valid names for the first argument in a metaclass class method.
valid-metaclass-classmethod-first-arg=mcs
# List of member names, which should be excluded from the protected access
# warning.
exclude-protected=_asdict,_fields,_replace,_source,_make
[DESIGN]
# Maximum number of arguments for function / method
max-args=5
# Argument names that match this expression will be ignored. Default to name
# with leading underscore
ignored-argument-names=_.*
# Maximum number of locals for function / method body
max-locals=15
# Maximum number of return / yield for function / method body
max-returns=10
# Maximum number of branch for function / method body
max-branches=15
# Maximum number of statements in function / method body
max-statements=50
# Maximum number of parents for a class (see R0901).
max-parents=7
# Maximum number of attributes for a class (see R0902).
max-attributes=8
# Minimum number of public methods for a class (see R0903).
min-public-methods=2
# Maximum number of public methods for a class (see R0904).
max-public-methods=20
# Maximum number of boolean expressions in a if statement
max-bool-expr=5
[IMPORTS]
# Deprecated modules which should not be used, separated by a comma
deprecated-modules=optparse
# Create a graph of every (i.e. internal and external) dependencies in the
# given file (report RP0402 must not be disabled)
import-graph=
# Create a graph of external dependencies in the given file (report RP0402 must
# not be disabled)
ext-import-graph=
# Create a graph of internal dependencies in the given file (report RP0402 must
# not be disabled)
int-import-graph=
# Force import order to recognize a module as part of the standard
# compatibility libraries.
known-standard-library=
# Force import order to recognize a module as part of a third party library.
known-third-party=enchant
# Analyse import fallback blocks. This can be used to support both Python 2 and
# 3 compatible code, which means that the block might have code that exists
# only in one or another interpreter, leading to false positives when analysed.
analyse-fallback-blocks=no
[EXCEPTIONS]
# Exceptions that will emit a warning when being caught. Defaults to
# "Exception"
overgeneral-exceptions=Exception

View File

@@ -1,5 +1,6 @@
# Note: these patterns are applied to single files or directories, not full paths
.gitignore
docs/README.md
.gitattributes
.gitkeep
.coverage
@@ -34,8 +35,8 @@ apache_superset.egg-info
.*csv
# Generated doc files
env/*
docs/README.md
docs/.htaccess*
.nojekyll
_build/*
_static/*
.buildinfo
@@ -47,32 +48,3 @@ vendor/*
# github configuration
.github/*
.*mdx
# skip license check in superset-ui
tmp/*
lib/*
esm/*
tsconfig.tsbuildinfo
.*ipynb
.*yml
.*iml
.esprintrc
.prettierignore
generator-superset/*
temporary_superset_ui/*
# skip license checks for auto-generated test snapshots
.*snap
# docs overrides for third party logos we don't have the rights to
google-big-query.svg
google-sheets.svg
ibm-db2.svg
postgresql.svg
snowflake.svg
ydb.svg
# docs-related
erd.puml
erd.svg
intro_header.txt

View File

@@ -1,63 +0,0 @@
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl"?>
<rdf:RDF xml:lang="en"
xmlns="http://usefulinc.com/ns/doap#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:asfext="http://projects.apache.org/ns/asfext#"
xmlns:foaf="http://xmlns.com/foaf/0.1/">
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
https://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<Project rdf:about="https://superset.apache.org">
<created>2024-04-10</created>
<license rdf:resource="https://spdx.org/licenses/Apache-2.0" />
<name>Apache Superset</name>
<homepage rdf:resource="https://superset.apache.org" />
<asfext:pmc rdf:resource="https://superset.apache.org" />
<shortdesc>Apache Superset™ is an open-source modern data exploration and visualization platform.</shortdesc>
<description>Superset is a fast, lightweight, intuitive, business intelligence platform. Loaded with options, Superset makes it easy for users of all skill sets to explore and visualize their data, from simple line charts to highly detailed geospatial charts.
* Powerful yet easy to use:
Superset makes it easy to explore your data, using either our simple no-code viz builder or state-of-the-art SQL IDE.
* Integrates with modern databases
Superset can connect to any SQL-based databases including modern cloud-native databases and engines at petabyte scale.
* Modern architecture
Superset is lightweight and highly scalable, leveraging the power of your existing data infrastructure without requiring yet another ingestion layer.
* Rich visualizations and dashboards
Superset ships with 40+ pre-installed visualization types. Our plug-in architecture makes it easy to build custom visualizations.
</description>
<bug-database rdf:resource="https://github.com/apache/superset/issues" />
<mailing-list rdf:resource="https://lists.apache.org/list.html?dev@superset.apache.org" />
<download-page rdf:resource="https://dist.apache.org/repos/dist/release/superset/" />
<programming-language>JavaScript</programming-language>
<programming-language>Python</programming-language>
<programming-language>Typescript</programming-language>
<category rdf:resource="https://projects.apache.org/category/big-data" />
<category rdf:resource="https://projects.apache.org/category/database" />
<category rdf:resource="https://projects.apache.org/category/data-engineering" />
<category rdf:resource="https://projects.apache.org/category/geospatial" />
<repository>
<GitRepository>
<location rdf:resource="https://github.com/apache/superset.git"/>
<browse rdf:resource="https://github.com/apache/superset/"/>
</GitRepository>
</repository>
</Project>
</rdf:RDF>

View File

@@ -16,31 +16,374 @@ KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
## Change Log
- [1.4.1](./CHANGELOG/1.4.1.md)
- [1.4.2](./CHANGELOG/1.4.2.md)
- [1.5.0](./CHANGELOG/1.5.0.md)
- [1.5.1](./CHANGELOG/1.5.1.md)
- [1.5.2](./CHANGELOG/1.5.2.md)
- [1.5.3](./CHANGELOG/1.5.3.md)
- [2.0.0](./CHANGELOG/2.0.0.md)
- [2.0.1](./CHANGELOG/2.0.1.md)
- [2.1.0](./CHANGELOG/2.1.0.md)
- [2.1.1](./CHANGELOG/2.1.1.md)
- [2.1.2](./CHANGELOG/2.1.2.md)
- [2.1.3](./CHANGELOG/2.1.3.md)
- [3.0.0](./CHANGELOG/3.0.0.md)
- [3.0.1](./CHANGELOG/3.0.1.md)
- [3.0.2](./CHANGELOG/3.0.2.md)
- [3.0.3](./CHANGELOG/3.0.3.md)
- [3.0.4](./CHANGELOG/3.0.4.md)
- [3.1.0](./CHANGELOG/3.1.0.md)
- [3.1.1](./CHANGELOG/3.1.1.md)
- [3.1.2](./CHANGELOG/3.1.2.md)
- [3.1.3](./CHANGELOG/3.1.3.md)
- [4.0.0](./CHANGELOG/4.0.0.md)
- [4.0.1](./CHANGELOG/4.0.1.md)
- [4.0.2](./CHANGELOG/4.0.2.md)
- [4.1.0](./CHANGELOG/4.1.0.md)
### 1.4.2 (Sat Mar 19 00:08:06 2022 +0200)
**Features**
- [#19248](https://github.com/apache/superset/pull/19248) feat: add support for comments in adhoc clauses (@villebro)
- [#18214](https://github.com/apache/superset/pull/18214) feat(docker-compose): add TAG option (@villebro)
**Fixes**
- [#17641](https://github.com/apache/superset/pull/17641) fix(sqla): make text clause escaping optional (@villebro)
- [#18566](https://github.com/apache/superset/pull/18566) fix(plugin-chart-echarts): area chart opacity bug (@villebro)
### 1.4.1 (Mon Jan 10 13:00:39 2022 +0000)
**Fixes**
- [#17980](https://github.com/apache/superset/pull/17980) fix: css template API response, less data (@dpgaspar)
- [#17984](https://github.com/apache/superset/pull/17984) fix: Change default SECRET_KEY, improve docs and banner warning on de… (@dpgaspar)
- [#17981](https://github.com/apache/superset/pull/17981) fix: API logger output (@dpgaspar)
- [#18006](https://github.com/apache/superset/pull/18006) fix: SQL Lab sorting of non-numbers (@etr2460)
- [#17573](https://github.com/apache/superset/pull/17573) fix(sqllab): Floating numbers not sorting correctly in result column (@lyndsiWilliams)
- [#17961](https://github.com/apache/superset/pull/17961) fix: update slug name (@pkdotson)
- [#17992](https://github.com/apache/superset/pull/17992) fix: dashboard reload crash (@pkdotson)
- [#18048](https://github.com/apache/superset/pull/18048) fix(dashboard): scope status of native filter not update (@stephenLYZ)
- [#16869](https://github.com/apache/superset/pull/16869) fix: handle TIME column serialization (@frafra)
### 1.4.0
**Database Migrations**
- [#17335](https://github.com/apache/superset/pull/17335) feat: Certify Charts and Dashboards (@geido)
- [#17078](https://github.com/apache/superset/pull/17078) chore(engine): Translate fractional time grains—requires @superset-ui bump (@john-bodley)
- [#16849](https://github.com/apache/superset/pull/16849) chore: db migrate timeseries_limit_metric to legacy_order_by (@zhaoyongjie)
- [#14015](https://github.com/apache/superset/pull/14015) feat(filter-set): Add filterset resource (@ofekisr)
- [#16454](https://github.com/apache/superset/pull/16454) feat: add certifiedby & certification details fields to the edit dataset columns fields (@pkdotson)
- [#16549](https://github.com/apache/superset/pull/16549) feat(dashboard): Native filters - add type to native filter configuration (@m-ajay)
- [#16301](https://github.com/apache/superset/pull/16301) fix: remove mergepoint from past migration (@etr2460)
**Features**
- [#17353](https://github.com/apache/superset/pull/17353) feat: Drill ODBC/JDBC Impersonation feature (@Z0ltrix)
- [#17006](https://github.com/apache/superset/pull/17006) feat: Custom filters control (@simcha90)
- [#16889](https://github.com/apache/superset/pull/16889) feat: upgrade docker image to py38 and add support for py39 (@villebro)
- [#16903](https://github.com/apache/superset/pull/16903) feat: add Firebolt DB engine spec (@apurva-sigmoid)
- [#16862](https://github.com/apache/superset/pull/16862) feat: add Databricks ODBC engine spec (@betodealmeida)
- [#16628](https://github.com/apache/superset/pull/16628) feat: Add Private Google Sheets to dynamic form (@AAfghahi)
- [#16219](https://github.com/apache/superset/pull/16219) feat: added extraEnvRaw variable to load values from other secrets in Helm chart (@elyzov)
- [#16795](https://github.com/apache/superset/pull/16795) feat: handle temporal columns in group bys (@betodealmeida)
- [#16770](https://github.com/apache/superset/pull/16770) feat: add support for JOIN in Druid (@betodealmeida)
- [#16533](https://github.com/apache/superset/pull/16533) feat: Add Cypress makefile cmds (@hughhhh)
- [#16607](https://github.com/apache/superset/pull/16607) feat: add resample operator in post processing (@zhaoyongjie)
- [#16683](https://github.com/apache/superset/pull/16683) feat: add global max row limit (@villebro)
- [#16703](https://github.com/apache/superset/pull/16703) feat: Helm chart: Support hostAliases (@xasx)
- [#16660](https://github.com/apache/superset/pull/16660) feat: add support for generic series limit (@villebro)
- [#16695](https://github.com/apache/superset/pull/16695) feat: show nice error page in prod (@betodealmeida)
- [#16527](https://github.com/apache/superset/pull/16527) feat: adding logging to validation (@AAfghahi)
- [#16680](https://github.com/apache/superset/pull/16680) feat(sqla): add time grain and time column to jinja params (@villebro)
- [#16618](https://github.com/apache/superset/pull/16618) feat: feature flag configurable custom backend (@dpgaspar)
- [#16593](https://github.com/apache/superset/pull/16593) feat: Tabs in column (@simcha90)
- [#16375](https://github.com/apache/superset/pull/16375) feat: Backend Validation for Creation Method (@AAfghahi)
- [#16535](https://github.com/apache/superset/pull/16535) feat: Add Aurora Data API engine spec (@betodealmeida)
- [#14449](https://github.com/apache/superset/pull/14449) feat: Add parquet upload (@exemplary-citizen)
- [#16234](https://github.com/apache/superset/pull/16234) feat: add function list to auto-complete to Clickhouse datasource (@Slach)
- [#16394](https://github.com/apache/superset/pull/16394) feat: Draggable and Resizable Modal (@geido)
- [#16404](https://github.com/apache/superset/pull/16404) feat: add activate command (@hughhhh)
- [#16386](https://github.com/apache/superset/pull/16386) feat: config to customize bootstrap data overrides (@suddjian)
- [#16361](https://github.com/apache/superset/pull/16361) feat: Add extraVolumes and extraVolumeMounts to all main containers (@cccs-tom)
- [#16327](https://github.com/apache/superset/pull/16327) feat: Add new dev commands to Makefile (@hughhhh)
- [#16335](https://github.com/apache/superset/pull/16335) feat: improve embedded data table in text reports (@betodealmeida)
- [#16318](https://github.com/apache/superset/pull/16318) feat(sqla): apply time grain to all temporal groupbys (@villebro)
- [#16281](https://github.com/apache/superset/pull/16281) feat: timezone editor (@AAfghahi)
- [#16119](https://github.com/apache/superset/pull/16119) feat(explore): make dnd controls clickable (@kgabryje)
- [#15149](https://github.com/apache/superset/pull/15149) feat(dao): admin can remove self from object owners (@villebro)
- [#16201](https://github.com/apache/superset/pull/16201) feat: Allow users to connect via legacy SQLA form (@hughhhh)
- [#15686](https://github.com/apache/superset/pull/15686) feat: import configuration from directory (@betodealmeida)
- [#16090](https://github.com/apache/superset/pull/16090) feat(explore): each control can define its own canDrop for dnd (@kgabryje)
- [#16136](https://github.com/apache/superset/pull/16136) feat: add profiling to Superset pages (@betodealmeida)
**Fixes**
- [#17945](https://github.com/apache/superset/pull/17945) fix(dashboard): scope status of filter not update in dashboard metadata (@stephenLYZ)
- [#17349](https://github.com/apache/superset/pull/17349) fix(Dashboard): Check validity of control item (@geido)
- [#17842](https://github.com/apache/superset/pull/17842) fix(dashboard): update native filter info in metadata is not updated (@stephenLYZ)
- [#17835](https://github.com/apache/superset/pull/17835) fix: resolve tests for 1.4 (@eschutho)
- [#17781](https://github.com/apache/superset/pull/17781) fix(dashboard): commit update once (@serenajiang)
- [#17766](https://github.com/apache/superset/pull/17766) fix: Remove positions from json_metadata (@geido)
- [#17330](https://github.com/apache/superset/pull/17330) fix: import should accept old keys (@eschutho)
- [#17570](https://github.com/apache/superset/pull/17570) fix: Save properties after applying changes in Dashboard (@geido)
- [#17707](https://github.com/apache/superset/pull/17707) fix(Dashboard): Copy dashboard with duplicating charts 500 error (@geido)
- [#16041](https://github.com/apache/superset/pull/16041) fix: set correct schema on config import (@betodealmeida)
- [#17386](https://github.com/apache/superset/pull/17386) fix(sqllab): Have table name tooltip only show when name is truncated (@corbinrobb)
- [#17431](https://github.com/apache/superset/pull/17431) fix: use full resultType with csv download on chart in dashboard (@eschutho)
- [#17419](https://github.com/apache/superset/pull/17419) fix: avoid escaping bind-like params containing colons (@villebro)
- [#17311](https://github.com/apache/superset/pull/17311) fix: Revert "fix(native-filters): Fix update ownState" (@etr2460)
- [#17183](https://github.com/apache/superset/pull/17183) fix(Dashboard): Handle undefined tab when collapsing tabs (@geido)
- [#17133](https://github.com/apache/superset/pull/17133) fix: sql lab crash caused by invalid template (@graceguo-supercat)
- [#17123](https://github.com/apache/superset/pull/17123) fix(explore): remove unnecessary parameters from the explore url (@suddjian)
- [#17117](https://github.com/apache/superset/pull/17117) fix: undefined error when anonymous user browses dashboards or charts (@wijnanjo)
- [#17068](https://github.com/apache/superset/pull/17068) fix(sqllab): Hover tooltip flashes in SQL Lab (@lyndsiWilliams)
- [#17100](https://github.com/apache/superset/pull/17100) fix: prevent caching error pages (@etr2460)
- [#17080](https://github.com/apache/superset/pull/17080) fix: accept headers on import (@betodealmeida)
- [#17029](https://github.com/apache/superset/pull/17029) fix(other): column name in created content on profile page (@jinghua-qa)
- [#17018](https://github.com/apache/superset/pull/17018) fix: Exclude SUPERSET_DEFAULT from the list of available color schemes (@geido)
- [#16998](https://github.com/apache/superset/pull/16998) fix: ensure known dashboard id is used in save first (@pkdotson)
- [#17330](https://github.com/apache/superset/pull/17330) fix: import should accept old keys (@betodealmeida)
- [#17345](https://github.com/apache/superset/pull/17345) fix: clear 'delete' confirmation (@betodealmeida)
- [#17338](https://github.com/apache/superset/pull/17338) fix: add fallback and validation for report and cron timezones (@eschutho)
- [#17265](https://github.com/apache/superset/pull/17265) fix: Allow users to update database in Dataset Edit Modal (@hughhhh)
- [#17124](https://github.com/apache/superset/pull/17124) fix: update values for default timezone selector (@eschutho)
- [#17176](https://github.com/apache/superset/pull/17176) fix(AlertReportModal): Text Area Change (@AAfghahi)
- [#17201](https://github.com/apache/superset/pull/17201) fix(explore): Metrics disappearing after removing metric from dataset (@kgabryje)
- [#16994](https://github.com/apache/superset/pull/16994) fix: Unnecessary queries when changing filter values (@michael-s-molina)
- [#17003](https://github.com/apache/superset/pull/17003) fix: letter format of sort chart in dashboard edit (@jinghua-qa)
- [#16997](https://github.com/apache/superset/pull/16997) fix(sqllab): SqlJsonExecutionContext.query null pointer (@serenajiang)
- [#16912](https://github.com/apache/superset/pull/16912) fix: FilterableTable result div width (@lyndsiWilliams)
- [#16978](https://github.com/apache/superset/pull/16978) fix: Use production build config for cypress tests and fix webpack (@etr2460)
- [#17089](https://github.com/apache/superset/pull/17089) fix: Color consistency (@geido)
- [#17034](https://github.com/apache/superset/pull/17034) fix: show onhover menu only in edit mode (@pkdotson)
- [#17013](https://github.com/apache/superset/pull/17013) fix: Verify when null value should be undefined in Select (@geido)
- [#17263](https://github.com/apache/superset/pull/17263) fix(sqllab): Bugfix for tracking url transformation (@CodeingBoy)
- [#16976](https://github.com/apache/superset/pull/16976) fix(cli): fail CLI script on failed import/export (@EBoisseauSierra)
- [#17181](https://github.com/apache/superset/pull/17181) fix(native-filters): Fix update ownState (@simcha90)
- [#17027](https://github.com/apache/superset/pull/17027) fix: error alert levels again (@etr2460)
- [#17026](https://github.com/apache/superset/pull/17026) fix: error alerts again (@etr2460)
- [#17015](https://github.com/apache/superset/pull/17015) fix: error alerts js crash (@etr2460)
- [#17023](https://github.com/apache/superset/pull/17023) fix: Filtering db names while creating dataset is not working (@michael-s-molina)
- [#17174](https://github.com/apache/superset/pull/17174) fix: use typing_extension instead (@hughhhh)
- [#17167](https://github.com/apache/superset/pull/17167) fix(Explore): Undefined owners (@geido)
- [#17140](https://github.com/apache/superset/pull/17140) fix(filter-indicator): show filters handled by jinja as applied (@villebro)
- [#17111](https://github.com/apache/superset/pull/17111) fix: escape bind-like strings in virtual table query (@villebro)
- [#17113](https://github.com/apache/superset/pull/17113) fix: Bump FAB to 3.3.4 (@dpgaspar)
- [#17084](https://github.com/apache/superset/pull/17084) fix(dashboard): race condition between hydrating dashboard and set active tabs (@kgabryje)
- [#17063](https://github.com/apache/superset/pull/17063) fix: Owners selection in dataset edit UX (@hughhhh)
- [#17044](https://github.com/apache/superset/pull/17044) fix: clear modal state after adding dataset (@betodealmeida)
- [#17040](https://github.com/apache/superset/pull/17040) fix: Loading indicator of table and schema selectors (@michael-s-molina)
- [#17019](https://github.com/apache/superset/pull/17019) fix(gsheets): bug fix for private sheets (@AAfghahi)
- [#17007](https://github.com/apache/superset/pull/17007) fix(dashboard): Race condition when setting activeTabs with nested tabs (@kgabryje)
- [#16945](https://github.com/apache/superset/pull/16945) fix: rolling and cum operator on multiple series (@zhaoyongjie)
- [#16941](https://github.com/apache/superset/pull/16941) fix: check if owners are actually being updated in `PUT /datasets/<id>` (@hughhhh)
- [#16822](https://github.com/apache/superset/pull/16822) fix(BigQuery): explicitly quote columns in select_star (@betodealmeida)
- [#16988](https://github.com/apache/superset/pull/16988) fix: When click on "View all" from favorite tab, get error (@michael-s-molina)
- [#16968](https://github.com/apache/superset/pull/16968) fix: Revert "fix: RBAC hide right menu (#16902)" (@eschutho)
- [#16958](https://github.com/apache/superset/pull/16958) fix(build): make npm linking work pt. 2 (@villebro)
- [#16930](https://github.com/apache/superset/pull/16930) fix: replace absolute difference with difference in compareOperator (@zhaoyongjie)
- [#16946](https://github.com/apache/superset/pull/16946) fix(query_object): missing series validation not raised an exception (@ofekisr)
- [#16931](https://github.com/apache/superset/pull/16931) fix: replace absolute difference with difference in legacy charts (@zhaoyongjie)
- [#16902](https://github.com/apache/superset/pull/16902) fix: RBAC hide right menu (@hughhhh)
- [#16921](https://github.com/apache/superset/pull/16921) fix: Native filters cyclic dependency (@michael-s-molina)
- [#16925](https://github.com/apache/superset/pull/16925) fix: Unable to add dataset (@michael-s-molina)
- [#16923](https://github.com/apache/superset/pull/16923) fix(Explore): Handle undefined operatorId (@geido)
- [#16871](https://github.com/apache/superset/pull/16871) fix(Explore): Clear filter value when changing columns (@geido)
- [#16906](https://github.com/apache/superset/pull/16906) fix: Inclusive sign in time range display (@michael-s-molina)
- [#16908](https://github.com/apache/superset/pull/16908) fix: Disable lazy loading for the Database selector (@michael-s-molina)
- [#16895](https://github.com/apache/superset/pull/16895) fix: time comparison can't guarantee the accuracy (@zhaoyongjie)
- [#16859](https://github.com/apache/superset/pull/16859) fix: Fix Uniqueness check before update for Sqllab Overwrites (@hughhhh)
- [#16899](https://github.com/apache/superset/pull/16899) fix(GSheets): Fixing DB Connections Bug (@AAfghahi)
- [#16876](https://github.com/apache/superset/pull/16876) fix: Removing parent filter causes incorrect state of child filter (@michael-s-molina)
- [#16896](https://github.com/apache/superset/pull/16896) fix(sqla): allow series limit without subquery support (@villebro)
- [#16877](https://github.com/apache/superset/pull/16877) fix(native-filters): Overhead when changing the filter name (@michael-s-molina)
- [#16867](https://github.com/apache/superset/pull/16867) fix(build): enable hot reloading of linked packages (@villebro)
- [#16851](https://github.com/apache/superset/pull/16851) fix(dashboard): Fill form with the latest values when undo in native filters (@geido)
- [#16854](https://github.com/apache/superset/pull/16854) fix(native-filters): ignore unset filter box time range (@villebro)
- [#16840](https://github.com/apache/superset/pull/16840) fix(gallery): Hide the bottom info section when no chart is being selected (@stephenLYZ)
- [#16828](https://github.com/apache/superset/pull/16828) fix(native-filters): emitted filter label format (@villebro)
- [#16831](https://github.com/apache/superset/pull/16831) fix(native-filters): filter indicator stale state (@villebro)
- [#16758](https://github.com/apache/superset/pull/16758) fix(helm): Exit init script immediately on error (@sourcecode-glitch)
- [#16837](https://github.com/apache/superset/pull/16837) fix(SqlLab): display tooltip when disabled (@AAfghahi)
- [#16836](https://github.com/apache/superset/pull/16836) fix: 500 tab title (@etr2460)
- [#16833](https://github.com/apache/superset/pull/16833) fix: Updates the selected values when changing the native filter type, column or default value (@michael-s-molina)
- [#16800](https://github.com/apache/superset/pull/16800) fix: list Db2 as supported databases (@shawnzhu)
- [#16763](https://github.com/apache/superset/pull/16763) fix: show Import button only if has perms (@betodealmeida)
- [#16768](https://github.com/apache/superset/pull/16768) fix: encode rison characters when searching (@betodealmeida)
- [#16767](https://github.com/apache/superset/pull/16767) fix: typo in log (@betodealmeida)
- [#16769](https://github.com/apache/superset/pull/16769) fix: handle CTEs with comments on is_select (@betodealmeida)
- [#16754](https://github.com/apache/superset/pull/16754) fix: only fetch db function when db exists in sql lab (@eschutho)
- [#16753](https://github.com/apache/superset/pull/16753) fix: save query should use the correct sql (@eschutho)
- [#16736](https://github.com/apache/superset/pull/16736) fix: update execution logs and states for alerts (@eschutho)
- [#16656](https://github.com/apache/superset/pull/16656) fix: set importer as owner (@betodealmeida)
- [#16674](https://github.com/apache/superset/pull/16674) fix: report with timeout chart (@graceguo-supercat)
- [#16706](https://github.com/apache/superset/pull/16706) fix: Ignores case and special keys when searching in the Select component (@michael-s-molina)
- [#16700](https://github.com/apache/superset/pull/16700) fix(explore): make clicked dnd filters unique (@villebro)
- [#16666](https://github.com/apache/superset/pull/16666) fix: Select refactoring known issues (@geido)
- [#16624](https://github.com/apache/superset/pull/16624) fix(dataset): create ES-View dataset raise exception #16623 (@aniaan)
- [#16696](https://github.com/apache/superset/pull/16696) fix: remove useless-suppression for pylint (@zhaoyongjie)
- [#16608](https://github.com/apache/superset/pull/16608) fix: Normalise `*.sh` File Endings (@gvee-uk)
- [#16668](https://github.com/apache/superset/pull/16668) fix: reset perf logger timer for soft navigation for SPA pages (@graceguo-supercat)
- [#16639](https://github.com/apache/superset/pull/16639) fix: Ensure alerts & reports aren't schduled when flag is off (@jfrag1)
- [#16629](https://github.com/apache/superset/pull/16629) fix: pybabel extract fails (@hushaoqing)
- [#16621](https://github.com/apache/superset/pull/16621) fix(dashboard): label colors included in explore url (@kgabryje)
- [#16632](https://github.com/apache/superset/pull/16632) fix(dnd): make clicked dnd metrics unique (@villebro)
- [#16570](https://github.com/apache/superset/pull/16570) fix(tests): make parquet select deterministic with order by (@villebro)
- [#16531](https://github.com/apache/superset/pull/16531) fix: Adds a loading message when needed in the Select component (@michael-s-molina)
- [#16461](https://github.com/apache/superset/pull/16461) fix(datasets): add support for removing owners (@villebro)
- [#16472](https://github.com/apache/superset/pull/16472) fix: select database fix (@AAfghahi)
- [#16411](https://github.com/apache/superset/pull/16411) fix: make chart rerender on timeseries columns change (@pkdotson)
- [#16511](https://github.com/apache/superset/pull/16511) fix: stop endless loading when dataset no longer exist (@pkdotson)
- [#16469](https://github.com/apache/superset/pull/16469) fix: sql lab refetch button (@graceguo-supercat)
- [#16451](https://github.com/apache/superset/pull/16451) fix: create example DB if needed (@betodealmeida)
- [#16478](https://github.com/apache/superset/pull/16478) fix: Revert "chore: Changes the DatabaseSelector and TableSelector to use the new Select component" (@etr2460)
- [#16477](https://github.com/apache/superset/pull/16477) fix(explore): JS error for creating new metrics from columns (@ktmud)
- [#16437](https://github.com/apache/superset/pull/16437) fix(explore): update overwrite button on perm change (@villebro)
- [#16417](https://github.com/apache/superset/pull/16417) fix(dashboard): undo and redo buttons weird alignment (@MaxHuiYYDS)
- [#16413](https://github.com/apache/superset/pull/16413) fix: setupPlugin in chart list page (@graceguo-supercat)
- [#16367](https://github.com/apache/superset/pull/16367) fix: Disable Slack notification method if no api token (@graceguo-supercat)
- [#16408](https://github.com/apache/superset/pull/16408) fix: Revert "fix(explore): let admin overwrite slice" (@rusackas)
- [#16419](https://github.com/apache/superset/pull/16419) fix(explore): retain chart ownership on query context update (@villebro)
- [#16391](https://github.com/apache/superset/pull/16391) fix: Show cross filter option only when cross filter is enabled (@michael-s-molina)
- [#16323](https://github.com/apache/superset/pull/16323) fix: Return original document title when leaving a dashboard (@geido)
- [#16397](https://github.com/apache/superset/pull/16397) fix(api): return total count on related endpoint (@villebro)
- [#16410](https://github.com/apache/superset/pull/16410) fix: regex for multi-region IPs (@AAfghahi)
- [#16405](https://github.com/apache/superset/pull/16405) fix(pylint): Fix master (@john-bodley)
- [#16366](https://github.com/apache/superset/pull/16366) fix: show run button when time series column is updated. (@pkdotson)
- [#16383](https://github.com/apache/superset/pull/16383) fix: big number default date format (@etr2460)
- [#16380](https://github.com/apache/superset/pull/16380) fix: ensure certified fields are populated in metrics (@pkdotson)
- [#16360](https://github.com/apache/superset/pull/16360) fix: import dashboard w/o metadata (@betodealmeida)
- [#16330](https://github.com/apache/superset/pull/16330) fix: Fix parsing onSaving reports toast when user hasn't saved chart (@hughhhh)
- [#16355](https://github.com/apache/superset/pull/16355) fix: columns/index rebuild (@betodealmeida)
- [#16324](https://github.com/apache/superset/pull/16324) fix: Blank space in Change dataset modal without warning message (@geido)
- [#16347](https://github.com/apache/superset/pull/16347) fix: send CSV pivoted in reports (@betodealmeida)
- [#16329](https://github.com/apache/superset/pull/16329) fix: adjust initial state of report modal (@eschutho)
- [#16322](https://github.com/apache/superset/pull/16322) fix(explore): reordering columns with dnd sometimes glitching (@kgabryje)
- [#16306](https://github.com/apache/superset/pull/16306) fix: pass correct report_format (@eschutho)
- [#16303](https://github.com/apache/superset/pull/16303) fix: allow reports to update query_context (@betodealmeida)
- [#16296](https://github.com/apache/superset/pull/16296) fix: revert "disable text reports for now" (@betodealmeida)
- [#16243](https://github.com/apache/superset/pull/16243) fix: reverting Dataset names (@AAfghahi)
- [#16297](https://github.com/apache/superset/pull/16297) fix: rename Databricks (@betodealmeida)
- [#16280](https://github.com/apache/superset/pull/16280) fix: set dashboard mine tab to created_by filter (@pkdotson)
- [#16275](https://github.com/apache/superset/pull/16275) fix: Fix table height in Change dataset modal when pagination is off (@geido)
- [#16290](https://github.com/apache/superset/pull/16290) fix(explore): let admin overwrite slice (@villebro)
- [#16272](https://github.com/apache/superset/pull/16272) fix(dashboard): unset empty time filter indicator (@villebro)
- [#16257](https://github.com/apache/superset/pull/16257) fix: disable text reports for now (@betodealmeida)
- [#16232](https://github.com/apache/superset/pull/16232) fix: Stop the scrollbar in the Change Dataset modal from scrolling down to the pagination component (@geido)
- [#16168](https://github.com/apache/superset/pull/16168) fix(Dashboard): Omnibar dropdown visibility and keyboard commands (@geido)
- [#16250](https://github.com/apache/superset/pull/16250) fix: skip perms on query context update (@betodealmeida)
- [#16235](https://github.com/apache/superset/pull/16235) fix: Revert "feat: Changing Dataset names (#16199)" (@AAfghahi)
- [#16060](https://github.com/apache/superset/pull/16060) fix(Explore): Show the tooltip only when label does not fit the container in METRICS/FILTERS/GROUP BY/SORT BY of the DATA panel (@geido)
- [#16192](https://github.com/apache/superset/pull/16192) fix(Explore): Show the tooltip only when label does not fit the container in the Dataset panel (@geido)
- [#16194](https://github.com/apache/superset/pull/16194) fix(viz): deduce metric name if empty (@villebro)
- [#16211](https://github.com/apache/superset/pull/16211) fix: pyinstrument dependency (@betodealmeida)
- [#16145](https://github.com/apache/superset/pull/16145) fix: Hide Safari default tooltip (@geido)
- [#16056](https://github.com/apache/superset/pull/16056) fix: Make sheet_name into a `ValidationInputError` (@hughhhh)
- [#16137](https://github.com/apache/superset/pull/16137) fix: test_import_2_slices_for_same_table (@betodealmeida)
- [#15659](https://github.com/apache/superset/pull/15659) fix: Make db service use correct env file (@jongillham)
- [#15762](https://github.com/apache/superset/pull/15762) fix: Align alert solid small svg center (@duynguyenhoang)
**Others**
- [#17964](https://github.com/apache/superset/pull/17964) chore: bump FAB to 3.4.3 (@dpgaspar)
- [#17894](https://github.com/apache/superset/pull/17894) chore: bump gunicorn to 20.1.0 (@mporracindie)
- [#17420](https://github.com/apache/superset/pull/17420) chore: Bump FAB to 3.4.0 (@kamalkeshavani-aiinside)
- [#17752](https://github.com/apache/superset/pull/17752) chore: add release to pip requirements (@eschutho)
- [#17724](https://github.com/apache/superset/pull/17724) ci: temp fix for mysqlclient on an OS regression bug (@dpgaspar)
- [#17702](https://github.com/apache/superset/pull/17702) chore(sql): clean up invalid filter clause exception types (@villebro)
- [#17579](https://github.com/apache/superset/pull/17579) chore(datasets): Sanitizing /save response (@craig-rueda)
- [#17005](https://github.com/apache/superset/pull/17005) ci: skip unnecessary test steps (@villebro)
- [#16609](https://github.com/apache/superset/pull/16609) chore: Select component refactoring - SelectAsyncControl - Iteration 5 (@geido)
- [#17037](https://github.com/apache/superset/pull/17037) chore(Dashboard): Disable save button in Native Filters when an error is present (@geido)
- [#16940](https://github.com/apache/superset/pull/16940) chore(Dashboard): Highlight errored filters on the left pane of the Native Filters form plus several enhancements (@geido)
- [#17065](https://github.com/apache/superset/pull/17065) chore: add logging on successful data uploads (@eschutho)
- [#16990](https://github.com/apache/superset/pull/16990) chore: Translates the favorite filter param (@michael-s-molina)
- [#16965](https://github.com/apache/superset/pull/16965) chore: upgrade superset-ui dependencies (@graceguo-supercat)
- [#16510](https://github.com/apache/superset/pull/16510) chore: Select component refactoring - SelectControl - Iteration 5 (@geido)
- [#16943](https://github.com/apache/superset/pull/16943) chore: Moves spec files to the src folder - iteration 7 (@michael-s-molina)
- [#16935](https://github.com/apache/superset/pull/16935) chore: Moves spec files to the src folder - iteration 6 (@michael-s-molina)
- [#16917](https://github.com/apache/superset/pull/16917) refactor: sql lab command: separate concerns into different modules (@ofekisr)
- [#16874](https://github.com/apache/superset/pull/16874) chore(native_filter): feature on by default (@junlincc)
- [#16910](https://github.com/apache/superset/pull/16910) chore: add certified columns to top of list (@pkdotson)
- [#16927](https://github.com/apache/superset/pull/16927) chore: Moves spec files to the src folder - iteration 5 (@michael-s-molina)
- [#16919](https://github.com/apache/superset/pull/16919) chore: Adds the drag icon (@michael-s-molina)
- [#16880](https://github.com/apache/superset/pull/16880) chore: Moves the stylesheets folder to the assets folder (@michael-s-molina)
- [#16916](https://github.com/apache/superset/pull/16916) ci: check npm lockfile version (@villebro)
- [#16852](https://github.com/apache/superset/pull/16852) refactor: sql lab: handling command exceptions (@ofekisr)
- [#16857](https://github.com/apache/superset/pull/16857) chore: Upgrades Storybook to version 6.3.8 to make it compatible with Webpack 5 (@michael-s-molina)
- [#16819](https://github.com/apache/superset/pull/16819) chore: move repro steps up in issue template (@junlincc)
- [#16442](https://github.com/apache/superset/pull/16442) chore: Select component refactoring - TimeSeriesColumnControl - Iteration 5 (@geido)
- [#16446](https://github.com/apache/superset/pull/16446) chore: Select component refactoring - SaveModal - Iteration 5 (@geido)
- [#16445](https://github.com/apache/superset/pull/16445) chore: Select component refactoring - PropertiesModal - Iteration 5 (@geido)
- [#16440](https://github.com/apache/superset/pull/16440) chore: Select component refactoring - DndColumnSelectControl - Iteration 5 (@geido)
- [#16423](https://github.com/apache/superset/pull/16423) chore: Select component refactoring - MetricControl - Iteration 5 (@geido)
- [#15777](https://github.com/apache/superset/pull/15777) chore: Select component refactoring - FilterControl - Iteration 5 (@geido)
- [#16850](https://github.com/apache/superset/pull/16850) chore: bump superset-ui to 0.18.8 (@villebro)
- [#16843](https://github.com/apache/superset/pull/16843) refactor: sqllab: move sqllab ralated enumns and utils to more logical place (@ofekisr)
- [#16809](https://github.com/apache/superset/pull/16809) chore: upgrade to Node 16 (@villebro)
- [#16823](https://github.com/apache/superset/pull/16823) chore: Remove immutable.js (@etr2460)
- [#16807](https://github.com/apache/superset/pull/16807) chore: bump superset to 0.18.6 (@villebro)
- [#16784](https://github.com/apache/superset/pull/16784) chore: Update documentation on schema changes (@frafra)
- [#16672](https://github.com/apache/superset/pull/16672) chore: Update OpenAPI definition /database/available (@WingCode)
- [#16626](https://github.com/apache/superset/pull/16626) test: RTL overhaul - hackathon (@lyndsiWilliams)
- [#14429](https://github.com/apache/superset/pull/14429) chore: Moves the images folder to the assets folder (@michael-s-molina)
- [#16701](https://github.com/apache/superset/pull/16701) chore: Upgrade Webpack to v5 (@kgabryje)
- [#14431](https://github.com/apache/superset/pull/14431) chore: Moves messageToasts to the components folder (@michael-s-molina)
- [#16393](https://github.com/apache/superset/pull/16393) refactor: Changes the list views to use the new Select component (@michael-s-molina)
- [#16483](https://github.com/apache/superset/pull/16483) refactor: Changes the DatabaseSelector and TableSelector to use the new Select component (@michael-s-molina)
- [#16762](https://github.com/apache/superset/pull/16762) chore: log URI before downloading data on import (@betodealmeida)
- [#16732](https://github.com/apache/superset/pull/16732) chore: add browser info to template (@junlincc)
- [#16748](https://github.com/apache/superset/pull/16748) ci: bump npm to version 7 (@villebro)
- [#16741](https://github.com/apache/superset/pull/16741) chore: Upgrade immer package version (@simcha90)
- [#16725](https://github.com/apache/superset/pull/16725) chore: bump superset-ui 0.18.5 (@zhaoyongjie)
- [#16627](https://github.com/apache/superset/pull/16627) other: Provide option to add environment variables to only supersetNode (@dd-willgan)
- [#16693](https://github.com/apache/superset/pull/16693) chore: add semantic title to the pull request template (@suddjian)
- [#16720](https://github.com/apache/superset/pull/16720) chore: bump path-parse module in websocket sidecar app (@rusackas)
- [#16712](https://github.com/apache/superset/pull/16712) chore: Improves the Select component to avoid additional queries when all values have been loaded (@michael-s-molina)
- [#16589](https://github.com/apache/superset/pull/16589) chore(pylint): Remove top-level disable (@john-bodley)
- [#16540](https://github.com/apache/superset/pull/16540) chore: Add option to set a custom color scheme as default (@suddjian)
- [#16669](https://github.com/apache/superset/pull/16669) chore: bump sasl (@eschutho)
- [#16287](https://github.com/apache/superset/pull/16287) chore(pylint): Reenable too-many-lines check (@john-bodley)
- [#16682](https://github.com/apache/superset/pull/16682) refactor: sql_json view endpoint: move all logic from view to Command class (@ofekisr)
- [#16677](https://github.com/apache/superset/pull/16677) refactor: sql_json view endpoint: use execution context instead of query (@ofekisr)
- [#16676](https://github.com/apache/superset/pull/16676) refactor: sql_json view endpoint: separate flask response creation concern (@ofekisr)
- [#16675](https://github.com/apache/superset/pull/16675) refactor: sql_json view endpoint: extract methods (@ofekisr)
- [#16653](https://github.com/apache/superset/pull/16653) refactor: sql_json view endpoint: separate setting query limit concern (@ofekisr)
- [#16649](https://github.com/apache/superset/pull/16649) refactor: sql_json view endpoint: separate query rendering concern (@ofekisr)
- [#16647](https://github.com/apache/superset/pull/16647) refactor: sql_json view endpoint: separate validate query concern (@ofekisr)
- [#16646](https://github.com/apache/superset/pull/16646) refactor: sql_json view endpoint: separate save query concern (@ofekisr)
- [#16638](https://github.com/apache/superset/pull/16638) chore: Writes the tests for the new Select component (@michael-s-molina)
- [#16615](https://github.com/apache/superset/pull/16615) chore: Bump FAB to 3.3.2 (@dpgaspar)
- [#16617](https://github.com/apache/superset/pull/16617) chore: Pylint downgrade (@amitmiran137)
- [#16587](https://github.com/apache/superset/pull/16587) chore: Merges latest Select changes (@michael-s-molina)
- [#16545](https://github.com/apache/superset/pull/16545) perf(dashboard): decrease number of rerenders of FiltersBadge (@kgabryje)
- [#16525](https://github.com/apache/superset/pull/16525) perf(dashboard): reduce rerenders of DragDroppable (@kgabryje)
- [#16601](https://github.com/apache/superset/pull/16601) chore(deps): bump superset-ui to 0.18.2 (@villebro)
- [#16595](https://github.com/apache/superset/pull/16595) refactor: sql_json view endpoint: separate concern into ad hod method (@ofekisr)
- [#16548](https://github.com/apache/superset/pull/16548) refactor: sql_json view endpoint: encapsulate ctas parameters (@ofekisr)
- [#16568](https://github.com/apache/superset/pull/16568) docs: update security page for small typos (@joeADSP)
- [#16559](https://github.com/apache/superset/pull/16559) chore: bump emotion to help with cache clobbering (@eschutho)
- [#16563](https://github.com/apache/superset/pull/16563) chore: bump superset-ui to 0.18.1 (@zhaoyongjie)
- [#16544](https://github.com/apache/superset/pull/16544) chore: bump superset-ui to 0.18.0 (@villebro)
- [#16546](https://github.com/apache/superset/pull/16546) refactor: sql_json view endpoint: extract to method for code reusing (@ofekisr)
- [#16449](https://github.com/apache/superset/pull/16449) refactor: sql_json view endpoint: separate getting and checking existi… (@ofekisr)
- [#16447](https://github.com/apache/superset/pull/16447) chore: Make View Query Modal draggable and resizable in Dashboard (@geido)
- [#16470](https://github.com/apache/superset/pull/16470) chore: remove myself from codeowners on Preset integration (@willbarrett)
- [#16496](https://github.com/apache/superset/pull/16496) docs: update entries for v1.2 and v1.3 (@villebro)
- [#16390](https://github.com/apache/superset/pull/16390) chore: Docs/superset1.3 release notes (@srinify)
- [#16473](https://github.com/apache/superset/pull/16473) docs: Make code snippet usable with required imports in configuration doc (@shawnzhu)
- [#16421](https://github.com/apache/superset/pull/16421) perf(dashboard): decouple redux props from dashboard components (@kgabryje)
- [#16444](https://github.com/apache/superset/pull/16444) perf(dashboard): reduce number of rerenders of Charts (@kgabryje)
- [#16463](https://github.com/apache/superset/pull/16463) chore(ci): bump pylint to 2.10.2 (@villebro)
- [#16466](https://github.com/apache/superset/pull/16466) chore: fixed slack invite link (@srinify)
- [#16362](https://github.com/apache/superset/pull/16362) refactor(explore): improve typing for Dnd controls (@ktmud)
- [#16441](https://github.com/apache/superset/pull/16441) refactor: sql_json view endpoint (@ofekisr)
- [#16415](https://github.com/apache/superset/pull/16415) docs: make FEATURE_FLAGS.md reference a link (@suddjian)
- [#16420](https://github.com/apache/superset/pull/16420) chore(viz): bump superset-ui to 0.17.87 (@villebro)
- [#16422](https://github.com/apache/superset/pull/16422) chore: Removes the TODOs and uses the default page size in AlertReportModal (@michael-s-molina)
- [#16144](https://github.com/apache/superset/pull/16144) chore: Changes the AlertReportModal to use the new Select component (@michael-s-molina)
- [#16273](https://github.com/apache/superset/pull/16273) chore: Enhance Omnibar (@geido)
- [#16334](https://github.com/apache/superset/pull/16334) chore: Changes the DatabaseSelector and TableSelector to use the new Select component (@michael-s-molina)
- [#16392](https://github.com/apache/superset/pull/16392) chore: Displays the dataset description in a tooltip in the datasets list (@michael-s-molina)
- [#16388](https://github.com/apache/superset/pull/16388) chore(pylint): Enable useless-suppression check (@john-bodley)
- [#16148](https://github.com/apache/superset/pull/16148) test: Functional RTL for email report modal II (@lyndsiWilliams)
- [#16286](https://github.com/apache/superset/pull/16286) docs: document FLASK_APP_MUTATOR (@shawnzhu)
- [#16353](https://github.com/apache/superset/pull/16353) chore(viz): bump deckgl plugin to 0.4.11 (@villebro)
- [#16113](https://github.com/apache/superset/pull/16113) docs: add VkusVill and TechAudit to users list (@ETselikov)
- [#16350](https://github.com/apache/superset/pull/16350) chore: bump superset-ui to v0.17.85 (@rusackas)
- [#16320](https://github.com/apache/superset/pull/16320) chore(explore): make metric/column search input clearable (@kgabryje)
- [#16308](https://github.com/apache/superset/pull/16308) docs: Add Care to users list of Apache Superset (@alandao2021)
- [#16285](https://github.com/apache/superset/pull/16285) refactor: re-arrange dashboard page js bundles (@graceguo-supercat)
- [#16288](https://github.com/apache/superset/pull/16288) chore(explore): remove unnecessary favstar redirect (@villebro)
- [#16266](https://github.com/apache/superset/pull/16266) chore(pylint): Reenable raise-missing-from check (@john-bodley)
- [#16264](https://github.com/apache/superset/pull/16264) chore(pylint): Reenable too-few-public-methods check (@john-bodley)
- [#16263](https://github.com/apache/superset/pull/16263) chore(pylint): Reenable import-outside-toplevel check (@john-bodley)
- [#16268](https://github.com/apache/superset/pull/16268) chore(pylint): Reenable too-many-locals check (@john-bodley)
- [#16256](https://github.com/apache/superset/pull/16256) chore(pylint): Reenable ungrouped-imports check (@john-bodley)
- [#16138](https://github.com/apache/superset/pull/16138) chore(pylint): Reenable super-with-arguments check (@john-bodley)
- [#16252](https://github.com/apache/superset/pull/16252) chore: Improves the flow to create a new chart (@michael-s-molina)
- [#16227](https://github.com/apache/superset/pull/16227) chore: upgrade mypy and add type guards (@villebro)
- [#16146](https://github.com/apache/superset/pull/16146) chore(pylint): Bump Pylint to 2.9.6 (@john-bodley)
- [#16200](https://github.com/apache/superset/pull/16200) chore: Shows the dataset description in the gallery dropdown (@michael-s-molina)
- [#16213](https://github.com/apache/superset/pull/16213) chore: bump py version for integration test (@hughhhh)
- [#16215](https://github.com/apache/superset/pull/16215) chore: Add feature flags to PR template (@junlincc)
- [#16163](https://github.com/apache/superset/pull/16163) chore: remove TerserPlugin step for build (@mistercrunch)
- [#15386](https://github.com/apache/superset/pull/15386) build: Removed jsx-remove-data-test-id usage from code for multi-build-variant testing (@adam-stasiak)
- [#16074](https://github.com/apache/superset/pull/16074) refactor: proper TypeError handling in memoize decorator (@sabiroid)
- [#16110](https://github.com/apache/superset/pull/16110) refactor: remove unnecessary dataset queries from dashboard requests (@graceguo-supercat)
- [#16129](https://github.com/apache/superset/pull/16129) docs: update install-from-scratch instructions for CentOS (@jberkus)
- [#16043](https://github.com/apache/superset/pull/16043) chore: Replaces the select for a dropdown button in the CSS editor (@michael-s-molina)
- [#16048](https://github.com/apache/superset/pull/16048) chore: Changes the RefreshIntervalModal component to use the new select component (@michael-s-molina)
- [#16064](https://github.com/apache/superset/pull/16064) chore: Changes the dashboard properties modal to use the new select component (@michael-s-molina)
- [#16101](https://github.com/apache/superset/pull/16101) docs: fix link and clarify postgres install instructions (@nytai)
- [#16040](https://github.com/apache/superset/pull/16040) refactor: adopt --app as celery global option (@john-bodley)

View File

@@ -1,40 +0,0 @@
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
## Change Log
### 1.4.1
**Database Migrations**
**Features**
**Fixes**
- [#17980](https://github.com/apache/superset/pull/17980) fix: css template API response, less data (@dpgaspar)
- [#17984](https://github.com/apache/superset/pull/17984) fix: Change default SECRET_KEY, improve docs and banner warning on de… (@dpgaspar)
- [#17981](https://github.com/apache/superset/pull/17981) fix: API logger output (@dpgaspar)
- [#18006](https://github.com/apache/superset/pull/18006) fix: SQL Lab sorting of non-numbers (@etr2460)
- [#17573](https://github.com/apache/superset/pull/17573) fix(sqllab): Floating numbers not sorting correctly in result column (@lyndsiWilliams)
- [#17961](https://github.com/apache/superset/pull/17961) fix: update slug name (@pkdotson)
- [#17992](https://github.com/apache/superset/pull/17992) fix: dashboard reload crash (@pkdotson)
- [#18048](https://github.com/apache/superset/pull/18048) fix(dashboard): scope status of native filter not update (@stephenLYZ)
- [#16869](https://github.com/apache/superset/pull/16869) fix: handle TIME column serialization (@frafra)
**Others**

View File

@@ -1,32 +0,0 @@
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
## Change Log
### 1.4.2 (Sat Mar 19 00:08:06 2022 +0200)
**Features**
- [#19248](https://github.com/apache/superset/pull/19248) feat: add support for comments in adhoc clauses (@villebro)
- [#18214](https://github.com/apache/superset/pull/18214) feat(docker-compose): add TAG option (@villebro)
**Fixes**
- [#17641](https://github.com/apache/superset/pull/17641) fix(sqla): make text clause escaping optional (@villebro)
- [#18566](https://github.com/apache/superset/pull/18566) fix(plugin-chart-echarts): area chart opacity bug (@villebro)

View File

@@ -1,860 +0,0 @@
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
## Change Log
### 1.5.0 (Fri Apr 22 17:23:30 2022 -0400)
- **Database Migrations**
- [#19805](https://github.com/apache/superset/pull/19805) fix(key_value): use longblob on mysql (@villebro)
- [#19543](https://github.com/apache/superset/pull/19543) fix(migrations): reorder skipped 1.4 migrations (@villebro)
- [#19416](https://github.com/apache/superset/pull/19416) perf: improve perf in SIP-68 migration (@betodealmeida)
- [#19225](https://github.com/apache/superset/pull/19225) fix(sql lab): deleting the last saved query or the last executed from history (@diegomedina248)
- [#19078](https://github.com/apache/superset/pull/19078) feat: add permalink to dashboard and explore (@villebro)
- [#18998](https://github.com/apache/superset/pull/18998) fix(plugin-chart-echarts): Apply temporary filters to Query B in explore (@kgabryje)
- [#19022](https://github.com/apache/superset/pull/19022) fix: remove unneeded complexity in migration (@betodealmeida)
- [#18992](https://github.com/apache/superset/pull/18992) fix(sqllab): Replace stringified 'null' schema column values with NULL (@john-bodley)
- [#18948](https://github.com/apache/superset/pull/18948) fix(dataset): handle missing database in migration (@villebro)
- [#17543](https://github.com/apache/superset/pull/17543) feat: new dataset/table/column models (@betodealmeida)
- [#18561](https://github.com/apache/superset/pull/18561) feat: embedded dashboard (@lilykuang)
- [#18093](https://github.com/apache/superset/pull/18093) feat: allow assets to be managed externally (@betodealmeida)
- [#17925](https://github.com/apache/superset/pull/17925) refactor: Migration for Tabbed Sql Editor (@AAfghahi)
- [#17928](https://github.com/apache/superset/pull/17928) fix: force_screenshot migration (@betodealmeida)
- [#17853](https://github.com/apache/superset/pull/17853) feat: add force option to report screenshots (@betodealmeida)
- [#17803](https://github.com/apache/superset/pull/17803) feat(plugin-chart-pivot-table): support series limit (@kgabryje)
- [#17587](https://github.com/apache/superset/pull/17587) chore(explore): Migrate BigNumber to v1 api [ID-28][id-55] (@kgabryje)
- [#17360](https://github.com/apache/superset/pull/17360) fix: Change datatype of column type in BaseColumn to allow larger datatype names for complexed columns (@cccs-joel)
- [#17728](https://github.com/apache/superset/pull/17728) fix: migration out-of-scope bind (@betodealmeida)
- [#17604](https://github.com/apache/superset/pull/17604) feat(alerts): Column for select tabs to send (@m-ajay)
- [#17323](https://github.com/apache/superset/pull/17323) fix: rename to schemas_allowed_for_file_upload in dbs.extra (@exemplary-citizen)
- [#17275](https://github.com/apache/superset/pull/17275) fix: drop check constraint on dbs to rename column (@betodealmeida)
- [#16756](https://github.com/apache/superset/pull/16756) refactor: Repeated boilerplate code between upload to database forms (@exemplary-citizen)
**Features**
- [#19776](https://github.com/apache/superset/pull/19776) feat: add renameOperator (@zhaoyongjie)
- [#19328](https://github.com/apache/superset/pull/19328) feat(sql lab): enable ACE editor search in SQL editors (@diegomedina248)
- [#19454](https://github.com/apache/superset/pull/19454) feat: improve adhoc SQL validation (@betodealmeida)
- [#19364](https://github.com/apache/superset/pull/19364) feat: Embedded dashboard configuration (@suddjian)
- [#19344](https://github.com/apache/superset/pull/19344) feat: disable edits on external assets (@betodealmeida)
- [#19393](https://github.com/apache/superset/pull/19393) feat: linear imputation in Resample (@zhaoyongjie)
- [#19259](https://github.com/apache/superset/pull/19259) feat(explore): Dataset panel option tooltips (@kgabryje)
- [#19324](https://github.com/apache/superset/pull/19324) feat: introduce hashids permalink keys (@villebro)
- [#19315](https://github.com/apache/superset/pull/19315) feat: import external management columns (@betodealmeida)
- [#19317](https://github.com/apache/superset/pull/19317) feat: add duckdb as DataSource - Fixes #14563 (@rwhaling)
- [#19318](https://github.com/apache/superset/pull/19318) feat: external management flags in CRUD (@betodealmeida)
- [#19116](https://github.com/apache/superset/pull/19116) feat(advanced analysis): support MultiIndex column in post processing stage (@zhaoyongjie)
- [#19289](https://github.com/apache/superset/pull/19289) feat: Implements Docusearch into docusaurus docs (@AAfghahi)
- [#19220](https://github.com/apache/superset/pull/19220) feat: API for asset sync (@betodealmeida)
- [#18953](https://github.com/apache/superset/pull/18953) feat: allow uploads in crud view (@pkdotson)
- [#19232](https://github.com/apache/superset/pull/19232) feat(key-value): add superset metastore cache (@villebro)
- [#19144](https://github.com/apache/superset/pull/19144) feat: SupersetClient config to override 401 behavior (@suddjian)
- [#19038](https://github.com/apache/superset/pull/19038) feat: improve color consistency (save all labels) (@stephenLYZ)
- [#19248](https://github.com/apache/superset/pull/19248) feat: add support for comments in adhoc clauses (@villebro)
- [#19217](https://github.com/apache/superset/pull/19217) feat: import/export assets commands (@betodealmeida)
- [#19141](https://github.com/apache/superset/pull/19141) feat(ui): Adding manifest prefix config (@craig-rueda)
- [#19104](https://github.com/apache/superset/pull/19104) feat(sqllab): Add a configuration option to disable data preview (@cccs-Dustin)
- [#19053](https://github.com/apache/superset/pull/19053) feat: scroll to bottom when adding a new native filter and the page is filled (@diegomedina248)
- [#19215](https://github.com/apache/superset/pull/19215) feat: add export_related flag (@betodealmeida)
- [#19055](https://github.com/apache/superset/pull/19055) feat: helper functions for RLS (@betodealmeida)
- [#19085](https://github.com/apache/superset/pull/19085) feat(select): keep options order when not in async mode (@ktmud)
- [#19031](https://github.com/apache/superset/pull/19031) feat(embedded): add optional dashboard ui configuration (@lilykuang)
- [#18662](https://github.com/apache/superset/pull/18662) feat(viz-gallery): add 'feature' tag and fuzzy search weighting (@stephenLYZ)
- [#18856](https://github.com/apache/superset/pull/18856) feat(select): sort exact and startsWith match to first (@ktmud)
- [#18795](https://github.com/apache/superset/pull/18795) feat: Allow users to bust cache in report dashboard + alerts charts + alert dashboards (@hughhhh)
- [#18793](https://github.com/apache/superset/pull/18793) feat: Adds support to multiple dependencies to the native filters (@michael-s-molina)
- [#18799](https://github.com/apache/superset/pull/18799) feat: remove loading indicator when typing in select (@ktmud)
- [#19004](https://github.com/apache/superset/pull/19004) feat: show user email in dashboard API (@betodealmeida)
- [#18896](https://github.com/apache/superset/pull/18896) feat(TimeTableViz): sort by first metric (@serenajiang)
- [#18945](https://github.com/apache/superset/pull/18945) feat(legacy-preset-chart-deckgl): Add ,.1f and ,.2f value formats to deckgl charts (@kgabryje)
- [#18722](https://github.com/apache/superset/pull/18722) feat: DBC-UI Globally available across the app 🌎 (@hughhhh)
- [#18773](https://github.com/apache/superset/pull/18773) feat: On window focus, redirect to login if the user has been logged out (@suddjian)
- [#18848](https://github.com/apache/superset/pull/18848) feat(helm): allow adding pod labels (@vuongxuongminh)
- [#18874](https://github.com/apache/superset/pull/18874) feat(native-filters): Implement filter cards (@kgabryje)
- [#18876](https://github.com/apache/superset/pull/18876) feat(native-filters): Don't scroll main window when scrolling filter bar (@kgabryje)
- [#18784](https://github.com/apache/superset/pull/18784) feat(native-filters): Re-arrange controls in FilterBar (@kgabryje)
- [#18745](https://github.com/apache/superset/pull/18745) feat(maps): Adding country maps: BI/ET/RW/TZ/UG (+updated NG) (@Yann-J)
- [#18748](https://github.com/apache/superset/pull/18748) feat(embedded): make guest token JWT audience callable or str (@lilykuang)
- [#18576](https://github.com/apache/superset/pull/18576) feat: Improve state key generation for dashboards and charts (@michael-s-molina)
- [#18651](https://github.com/apache/superset/pull/18651) feat(embedded): aud claim and type for guest token (@lilykuang)
- [#18678](https://github.com/apache/superset/pull/18678) feat(explore): Implement chart empty states (@kgabryje)
- [#18681](https://github.com/apache/superset/pull/18681) feat(explore): Implement metrics and columns popovers empty states (@kgabryje)
- [#18712](https://github.com/apache/superset/pull/18712) feat(dashboard): Implement empty states for dashboard (@kgabryje)
- [#18679](https://github.com/apache/superset/pull/18679) feat(explore): Implement data table empty states (@kgabryje)
- [#18652](https://github.com/apache/superset/pull/18652) feat: Introduce a library for embedded iframe <-> host communication (@suddjian)
- [#18676](https://github.com/apache/superset/pull/18676) feat: Implement EmptyState components (@kgabryje)
- [#18653](https://github.com/apache/superset/pull/18653) feat: add prop to `setDBEngine` in DatabaseModal (@hughhhh)
- [#18642](https://github.com/apache/superset/pull/18642) feat(Helm): Redis with password supported in helm charts and redis chart version updated (@wiktor2200)
- [#18649](https://github.com/apache/superset/pull/18649) feat(helm): allow to customize init image (@avakarev)
- [#18626](https://github.com/apache/superset/pull/18626) feat: editable title xl certified badge (@opus-42)
- [#18624](https://github.com/apache/superset/pull/18624) feat: Improves key expiration handling in Explore (@michael-s-molina)
- [#17208](https://github.com/apache/superset/pull/17208) feat: Dynamic dashboard component (@simcha90)
- [#18064](https://github.com/apache/superset/pull/18064) feat: datasource access to allow more granular access to tables on SQL Lab (@Painyjames)
- [#18569](https://github.com/apache/superset/pull/18569) feat(explore): Allow using time formatter on temporal columns in data table (@kgabryje)
- [#18618](https://github.com/apache/superset/pull/18618) feat(chart-data-api): download multiple csvs as zip (@villebro)
- [#18620](https://github.com/apache/superset/pull/18620) feat: log decorator util - adding automatic logs out of the box (@ofekisr)
- [#18080](https://github.com/apache/superset/pull/18080) feat: smart tooltip in datasourcepanel (@zhaoyongjie)
- [#18250](https://github.com/apache/superset/pull/18250) feat: Embedded SDK (@suddjian)
- [#18560](https://github.com/apache/superset/pull/18560) feat: 🚀 Docs V2 CI Script (@hughhhh)
- [#18215](https://github.com/apache/superset/pull/18215) feat(explore): Keep or reset chart config after datasource change (@kgabryje)
- [#18190](https://github.com/apache/superset/pull/18190) feat: Added success toasts for database, dataset, chart, dashboard, and query imports (@lyndsiWilliams)
- [#18214](https://github.com/apache/superset/pull/18214) feat(docker-compose): add TAG option (@villebro)
- [#17411](https://github.com/apache/superset/pull/17411) feat: Upgrade documentation V2 (@hughhhh)
- [#18169](https://github.com/apache/superset/pull/18169) feat: Add toast for successful table or schema refreshes in Sqllab (@hughhhh)
- [#18183](https://github.com/apache/superset/pull/18183) feat: add success message for database modal (@pkdotson)
- [#17530](https://github.com/apache/superset/pull/17530) feat: embedded dashboard core (@suddjian)
- [#18161](https://github.com/apache/superset/pull/18161) feat(helm): Add schema of values in Helm Chart (@ad-m)
- [#18108](https://github.com/apache/superset/pull/18108) feat(explore): more toast feedback on user actions in Explore (@kgabryje)
- [#18114](https://github.com/apache/superset/pull/18114) feat(dashboard): add toast feedback to dashboard actions (@kgabryje)
- [#18116](https://github.com/apache/superset/pull/18116) feat: add toast feedback to annotation templates (@kgabryje)
- [#18081](https://github.com/apache/superset/pull/18081) feat(country-map): added new countries in country-chart-map (@Hammad-Raza)
- [#17917](https://github.com/apache/superset/pull/17917) feat(plugin-chart-echarts): support non-timeseries x-axis (@villebro)
- [#17882](https://github.com/apache/superset/pull/17882) feat: Adds a key-value endpoint to store charts form data (@michael-s-molina)
- [#17207](https://github.com/apache/superset/pull/17207) feat: add chart description in info tooltip (@stephenLYZ)
- [#18045](https://github.com/apache/superset/pull/18045) feat(advanced analytics): support groupby in resample (@zhaoyongjie)
- [#17593](https://github.com/apache/superset/pull/17593) feat: Trino Authentications (@dungdm93)
- [#18041](https://github.com/apache/superset/pull/18041) feat: stop running CI on doc updates (@hughhhh)
- [#18001](https://github.com/apache/superset/pull/18001) feat: shorter timeout on test_connection (@betodealmeida)
- [#17758](https://github.com/apache/superset/pull/17758) feat(timeseries-chart): add percentage threshold input control (@corbinrobb)
- [#18007](https://github.com/apache/superset/pull/18007) feat(chart): add Mexico to country map viz (@ktmud)
- [#17749](https://github.com/apache/superset/pull/17749) feat(alerts): Select tabs to send backend (@m-ajay)
- [#17968](https://github.com/apache/superset/pull/17968) feat: update time comparison choices (again) (@serenajiang)
- [#17898](https://github.com/apache/superset/pull/17898) feat: Add support for Azure Data Explorer (Kusto) db engine spec (@Ceridan)
- [#17804](https://github.com/apache/superset/pull/17804) feat: Update query states to use spinner vs. progress bar (@hughhhh)
- [#17880](https://github.com/apache/superset/pull/17880) feat: Helm - custom service account creation and management (@wiktor2200)
- [#17855](https://github.com/apache/superset/pull/17855) feat: configure force_screenshot (@betodealmeida)
- [#17695](https://github.com/apache/superset/pull/17695) feat: bypass cache on screenshots for alerts (@betodealmeida)
- [#17708](https://github.com/apache/superset/pull/17708) feat: Persist SQL Lab autocomplete setting across tabs and visits (@etr2460)
- [#17776](https://github.com/apache/superset/pull/17776) feat: don't ask for password when DB exists (@betodealmeida)
- [#17739](https://github.com/apache/superset/pull/17739) feat: add main datetime column to dataset editor (@betodealmeida)
- [#17734](https://github.com/apache/superset/pull/17734) feat: Update makefile with frontend build (@hughhhh)
- [#17655](https://github.com/apache/superset/pull/17655) feat: convert dataframe tests (@betodealmeida)
- [#17589](https://github.com/apache/superset/pull/17589) feat: customize recent activity access (@villebro)
- [#17658](https://github.com/apache/superset/pull/17658) feat(prophet): enable confidence intervals and y_hat without forecast (@exemplary-citizen)
- [#17657](https://github.com/apache/superset/pull/17657) feat(viz): export csv with verbose_name (@chuancyzhang)
- [#17512](https://github.com/apache/superset/pull/17512) feat(explore): export csv data pivoted for Pivot Table [ID-9] (@kgabryje)
- [#17307](https://github.com/apache/superset/pull/17307) feat(explore): support show annotation label [ID-8] (@stephenLYZ)
- [#17615](https://github.com/apache/superset/pull/17615) feat(legacy-preset-chart-nvd3): add richtooltip in nvd3 bar chart (@stephenLYZ)
- [#17372](https://github.com/apache/superset/pull/17372) feat: Add single select and inverse selection to numeric range (#16722) (@mhoustonataegis)
- [#17536](https://github.com/apache/superset/pull/17536) feat: Adds a key-value endpoint to store the state of dashboard filters (@michael-s-molina)
- [#17581](https://github.com/apache/superset/pull/17581) feat: added option to set pod annotations on init-db pod to Helm chart. (@caviliar)
- [#17554](https://github.com/apache/superset/pull/17554) feat: add classNames for apply and clearAll buttons for superset filters (@Nithin-George-Philips)
- [#16346](https://github.com/apache/superset/pull/16346) feat: trino support server-cert (@dungdm93)
- [#17410](https://github.com/apache/superset/pull/17410) feat(dashboard): Add divider component in native filters (@m-ajay)
- [#17409](https://github.com/apache/superset/pull/17409) feat: add a config to enable retina quality images in screenshots (@eschutho)
- [#17379](https://github.com/apache/superset/pull/17379) feat(explore): adhoc column expressions [ID-3] (@villebro)
- [#17416](https://github.com/apache/superset/pull/17416) feat: Add quarter unit to datetrunc (@john-bodley)
- [#16992](https://github.com/apache/superset/pull/16992) feat(native_filter_migration): add transition mode (@graceguo-supercat)
- [#17202](https://github.com/apache/superset/pull/17202) feat(metrics): Provide override for disabling ad-hoc metrics (@john-bodley)
- [#17336](https://github.com/apache/superset/pull/17336) feat: apply d3NumberFormat to table reports (@betodealmeida)
- [#17329](https://github.com/apache/superset/pull/17329) feat: improve logic in is_select (@betodealmeida)
- [#17252](https://github.com/apache/superset/pull/17252) feat: add possibility to set ingress class name in Helm chart (@Jolcik)
- [#17237](https://github.com/apache/superset/pull/17237) feat: Make Jinja template applied in timestamp columns (@xingyc15)
- [#17025](https://github.com/apache/superset/pull/17025) feat(dashboard): Add description to the native filter (@m-ajay)
- [#17157](https://github.com/apache/superset/pull/17157) feat: Hide nav create with RBAC (@hughhhh)
- [#17177](https://github.com/apache/superset/pull/17177) feat: support disabling domain sharding with a query param (@etr2460)
- [#17134](https://github.com/apache/superset/pull/17134) feat: Add prettier to pre-commit workflow (@hughhhh)
- [#17055](https://github.com/apache/superset/pull/17055) feat(Filter-sets): connect to api (@simcha90)
- [#16856](https://github.com/apache/superset/pull/16856) feat: DBC UI Snowflake Form (@hughhhh)
- [#16154](https://github.com/apache/superset/pull/16154) feat(dashboard): Let users re-arrange native filters (@m-ajay)
- [#17039](https://github.com/apache/superset/pull/17039) feat(config): Add none force-refresh option for auto refresh (@yongchand)
- [#17001](https://github.com/apache/superset/pull/17001) feat(linting): restrict direct use of supersetTheme in favor of ThemeProvider (@rusackas)
**Fixes**
- [#19448](https://github.com/apache/superset/pull/19448) fix(sql lab): when editing a saved query, the status is lost when switching tabs (@diegomedina248)
- [#19806](https://github.com/apache/superset/pull/19806) fix(plugin-chart-table): Fix display of column config in table chart (@kgabryje)
- [#19802](https://github.com/apache/superset/pull/19802) fix: lost renameOperator in mixed timeseries chart (@zhaoyongjie)
- [#19765](https://github.com/apache/superset/pull/19765) fix(chart & explore): Show labels for `SliderControl` (@prosdev0107)
- [#16619](https://github.com/apache/superset/pull/16619) fix: dashboard standalone class not added when parameter set (@trepmag)
- [#19783](https://github.com/apache/superset/pull/19783) fix: SQL Lab UI Error: Objects are not valid as a React child (@diegomedina248)
- [#19370](https://github.com/apache/superset/pull/19370) fix(sql lab): replace the output column in the query history table (@diegomedina248)
- [#19772](https://github.com/apache/superset/pull/19772) fix(dashboard): copy permalink to dashboard chart (@villebro)
- [#19603](https://github.com/apache/superset/pull/19603) fix(explore): make to show the null value as N/A in view result (@prosdev0107)
- [#19749](https://github.com/apache/superset/pull/19749) fix(permalink): remove memoize on get salt func (@villebro)
- [#19698](https://github.com/apache/superset/pull/19698) fix: Filter dependencies are not being applied in default values (@michael-s-molina)
- [#19651](https://github.com/apache/superset/pull/19651) fix(dnd&column): make to fix the blank state issue when only one column select (@prosdev0107)
- [#19716](https://github.com/apache/superset/pull/19716) fix: drop the first level of MultiIndex (@zhaoyongjie)
- [#19688](https://github.com/apache/superset/pull/19688) fix(dashboard): Fix BigNumber causing dashboard to crash when overflowing (@kgabryje)
- [#19664](https://github.com/apache/superset/pull/19664) fix(sql-lab): do not replace undefined schema with empty object (@villebro)
- [#19659](https://github.com/apache/superset/pull/19659) fix: time comparison (@zhaoyongjie)
- [#19553](https://github.com/apache/superset/pull/19553) fix(dataset): handle missing python_type gracefully (@villebro)
- [#19612](https://github.com/apache/superset/pull/19612) fix(select): render when empty multiselect (@villebro)
- [#19565](https://github.com/apache/superset/pull/19565) fix(sqla): apply jinja to metrics (@villebro)
- [#19582](https://github.com/apache/superset/pull/19582) fix(dataset): avoid crash if database missing (@villebro)
- [#19542](https://github.com/apache/superset/pull/19542) fix: big number with trendline can't calculate cumsum (@zhaoyongjie)
- [#19548](https://github.com/apache/superset/pull/19548) fix(sqllab): null database with backend persistence (@villebro)
- [#19409](https://github.com/apache/superset/pull/19409) fix(dashboard list): do not show favorite star for anonymous users #18210 (@dudasaron)
- [#19483](https://github.com/apache/superset/pull/19483) fix: flaky test for charts changed on (@zhaoyongjie)
- [#19366](https://github.com/apache/superset/pull/19366) fix: can't sync temporal flag on virtual table (@zhaoyongjie)
- [#19456](https://github.com/apache/superset/pull/19456) fix: request samples with default row limit (@villebro)
- [#19252](https://github.com/apache/superset/pull/19252) fix(drill): specify an SA URL parm of `impersonation_target` for drill+sadrill (@jnturton)
- [#19372](https://github.com/apache/superset/pull/19372) fix(dashboard): make to show the correct owned objects (@prosdev0107)
- [#19452](https://github.com/apache/superset/pull/19452) fix: can't save dataset modal (@zhaoyongjie)
- [#19435](https://github.com/apache/superset/pull/19435) fix: missing init on importexport pkg (@dpgaspar)
- [#19428](https://github.com/apache/superset/pull/19428) fix: add missing init on python pkg key_value (@dpgaspar)
- [#19337](https://github.com/apache/superset/pull/19337) fix(database): make to allow the expose db as default in sqlalchemy form db (@prosdev0107)
- [#19321](https://github.com/apache/superset/pull/19321) fix(readme): fix add-driver-docker url in Readme (@jqueguiner)
- [#19369](https://github.com/apache/superset/pull/19369) fix(caching): support metastore cache for non-required caches (@villebro)
- [#19010](https://github.com/apache/superset/pull/19010) fix(explore-sqllab): make that Timestamp column keep the Is temporal … (@prosdev0107)
- [#19351](https://github.com/apache/superset/pull/19351) fix: number format should editable in time comparison (@zhaoyongjie)
- [#19122](https://github.com/apache/superset/pull/19122) fix(report-add): make to add error toast message when already attached report is added again into dashboard or chart (@prosdev0107)
- [#19138](https://github.com/apache/superset/pull/19138) fix: Remove gap from SQLLab results bottom (@codemaster08240328)
- [#19355](https://github.com/apache/superset/pull/19355) fix: Fix NoAuthorizationError in /me endpoint (@geido)
- [#19359](https://github.com/apache/superset/pull/19359) fix: [Explore] Adaptive formatting spelling (@kasiazjc)
- [#19346](https://github.com/apache/superset/pull/19346) fix: typo (@etr2460)
- [#19341](https://github.com/apache/superset/pull/19341) fix: Null values on Explore filter (@michael-s-molina)
- [#19338](https://github.com/apache/superset/pull/19338) fix(docs): spelling (@ndbu)
- [#19339](https://github.com/apache/superset/pull/19339) fix(embedded): download chart as image (@lilykuang)
- [#19327](https://github.com/apache/superset/pull/19327) fix(dashboard): Chart stuck in loading state when datasets request and chart request fail (@kgabryje)
- [#19316](https://github.com/apache/superset/pull/19316) fix(explore): make to convert null to N/A in view results (@prosdev0107)
- [#19326](https://github.com/apache/superset/pull/19326) fix: regression on Select component when handling null values (@diegomedina248)
- [#18741](https://github.com/apache/superset/pull/18741) fix(dashboard): fix default filter bar visibility + add docs (@villebro)
- [#19305](https://github.com/apache/superset/pull/19305) fix(cache): only warn about fallback cache for non-debug mode (@villebro)
- [#19283](https://github.com/apache/superset/pull/19283) fix: Don't allow duplicated tag values in the Select (@michael-s-molina)
- [#19296](https://github.com/apache/superset/pull/19296) fix: default toast position (@suddjian)
- [#19258](https://github.com/apache/superset/pull/19258) fix(sql lab): most recently selected table should appear at the top of the list on the left panel (@diegomedina248)
- [#19223](https://github.com/apache/superset/pull/19223) fix(dashboard): make to show the correct owned objects (@prosdev0107)
- [#19263](https://github.com/apache/superset/pull/19263) fix(presto/trino): Add TIME/TIMESTAMP WITH TIME ZONE (@john-bodley)
- [#19269](https://github.com/apache/superset/pull/19269) fix: write new dataset on update table if it doesn't exist (@eschutho)
- [#19069](https://github.com/apache/superset/pull/19069) fix: custom SQL in Sort By Breaks Bar Chart (@diegomedina248)
- [#19140](https://github.com/apache/superset/pull/19140) fix(chart-crud): make to update Viz type Filter label to Chart type (@prosdev0107)
- [#19242](https://github.com/apache/superset/pull/19242) fix: allow subquery in ad-hoc SQL (@lilykuang)
- [#18926](https://github.com/apache/superset/pull/18926) fix(explore comma): make that the comma can be added by removing it from token separators… (@prosdev0107)
- [#19234](https://github.com/apache/superset/pull/19234) fix: adhoc column in legacy chart (@zhaoyongjie)
- [#19076](https://github.com/apache/superset/pull/19076) fix: allow to select <NULL> in a native filter single mode (@diegomedina248)
- [#19159](https://github.com/apache/superset/pull/19159) fix(select): make to consider the case sensitive in case of d3 format selector (@prosdev0107)
- [#19139](https://github.com/apache/superset/pull/19139) fix: Popovers in Explore not attached to the fields they are triggered by (@diegomedina248)
- [#19152](https://github.com/apache/superset/pull/19152) fix: auto-complete of tables and names are not working in SQL lab (@diegomedina248)
- [#19226](https://github.com/apache/superset/pull/19226) fix: Revert "refactor: converted QueryAutoRefresh to functional component … (@hughhhh)
- [#19158](https://github.com/apache/superset/pull/19158) fix: Logic for showing extension in Global Nav (@hughhhh)
- [#19111](https://github.com/apache/superset/pull/19111) fix(sqllab): Updated blank states for query results and query history (@lyndsiWilliams)
- [#19143](https://github.com/apache/superset/pull/19143) fix: clean up chart metadata config (@suddjian)
- [#19084](https://github.com/apache/superset/pull/19084) fix(dashboard-css): make to stay custom css when reload (@prosdev0107)
- [#19125](https://github.com/apache/superset/pull/19125) fix(dbs-dropdown): make to allow the search in supported db dropdown (@prosdev0107)
- [#19121](https://github.com/apache/superset/pull/19121) fix(dashboard): scrolling table viz overlaps next chart (@diegomedina248)
- [#19023](https://github.com/apache/superset/pull/19023) fix: Add perm for showing DBC-UI in Global Nav (@hughhhh)
- [#19080](https://github.com/apache/superset/pull/19080) fix(dashboard-edge-cutting): make to be not cut without Filter (@prosdev0107)
- [#19110](https://github.com/apache/superset/pull/19110) fix: cache key with guest token rls (@lilykuang)
- [#19095](https://github.com/apache/superset/pull/19095) fix(dashboard): Empty states overflowing small chart containers (@kgabryje)
- [#18947](https://github.com/apache/superset/pull/18947) fix(plugin-chart-echarts): make to allow the customization of x & y axis title margin i… (@prosdev0107)
- [#19088](https://github.com/apache/superset/pull/19088) fix(dashboard): import handle missing excluded charts (@villebro)
- [#19072](https://github.com/apache/superset/pull/19072) fix: Show Totals error with sort and group by together (@codemaster08240328)
- [#19037](https://github.com/apache/superset/pull/19037) fix: Database import error with a new field (@codemaster08240328)
- [#19047](https://github.com/apache/superset/pull/19047) fix: SQL Lab autocomplete for selected tables (@hughhhh)
- [#19071](https://github.com/apache/superset/pull/19071) fix: Pivot Table Conditional Formatting Doesn't Show All Options (@diegomedina248)
- [#19030](https://github.com/apache/superset/pull/19030) fix(allow-db-explore): make that the set the allow-db-explore option (@prosdev0107)
- [#18822](https://github.com/apache/superset/pull/18822) fix(altered-modal): make specified text fields wrap in table (@prosdev0107)
- [#19061](https://github.com/apache/superset/pull/19061) fix: enable find text browser functionality inside SQL Lab editor (@diegomedina248)
- [#19054](https://github.com/apache/superset/pull/19054) fix: show the total row count in the SQL Lab Query History tab when limited by DISPLAY_MAX_ROW (@diegomedina248)
- [#19070](https://github.com/apache/superset/pull/19070) fix: Select clear and loading icons overlap (@michael-s-molina)
- [#19065](https://github.com/apache/superset/pull/19065) fix: Dataset search when creating a chart (@michael-s-molina)
- [#19024](https://github.com/apache/superset/pull/19024) fix(time-series table): display null values in time-series table and sortable (@graceguo-supercat)
- [#19018](https://github.com/apache/superset/pull/19018) fix: ensure validation for db modal for googlesheets (@pkdotson)
- [#19052](https://github.com/apache/superset/pull/19052) fix: add previous line hotkey to SQL Lab for macOS (@diegomedina248)
- [#18690](https://github.com/apache/superset/pull/18690) fix: Update time grain expressions for Spark >= 3.x (@thomasdesr)
- [#19048](https://github.com/apache/superset/pull/19048) fix: remove unnecessary divider (@pkdotson)
- [#19059](https://github.com/apache/superset/pull/19059) fix(deck.gl): make Deck.gl JavaScript tooltip generator works correctly (@chanyou0311)
- [#19044](https://github.com/apache/superset/pull/19044) fix: improve cypress flakiness (@etr2460)
- [#19043](https://github.com/apache/superset/pull/19043) fix(big-number): Big Number with Trendline Chart is not working if Time Grain is set to Month (@stephenLYZ)
- [#19040](https://github.com/apache/superset/pull/19040) fix(docs): update impala.mdx with correct product name (@DLT1412)
- [#18951](https://github.com/apache/superset/pull/18951) fix(SQL Editor): names new query tabs correctly (@cccs-Dustin)
- [#18877](https://github.com/apache/superset/pull/18877) fix(nested-tab-available): make the another tabs into one tabs available (@prosdev0107)
- [#18960](https://github.com/apache/superset/pull/18960) fix(chart): deprecate persisting url_params (@villebro)
- [#18973](https://github.com/apache/superset/pull/18973) fix(packages): Fixing users packages (@craig-rueda)
- [#18892](https://github.com/apache/superset/pull/18892) fix(tooltip-not-disappeared): make the tooltip disappear when mouse away (@prosdev0107)
- [#18982](https://github.com/apache/superset/pull/18982) fix(external-link): change the external link in creating chart dashboard (@prosdev0107)
- [#18963](https://github.com/apache/superset/pull/18963) fix(native-filters): Default value not shown in native filters (@kgabryje)
- [#18958](https://github.com/apache/superset/pull/18958) fix(plugin-chart-echarts): fix customize margin (@stephenLYZ)
- [#18971](https://github.com/apache/superset/pull/18971) fix: add/find owners from report/alert modal (@graceguo-supercat)
- [#18835](https://github.com/apache/superset/pull/18835) fix(Explore): Pivot table V2 sort by failure with D&D enabled (@geido)
- [#18817](https://github.com/apache/superset/pull/18817) fix(sql Lab tabs): Empty SQL Lab tabs (@AAfghahi)
- [#18758](https://github.com/apache/superset/pull/18758) fix: CSV upload with overprescribed table/schema (@john-bodley)
- [#18849](https://github.com/apache/superset/pull/18849) fix: Null schema issue in the list of saved queries. (@codemaster08240328)
- [#18939](https://github.com/apache/superset/pull/18939) fix(deck.gl): multiple layers map size is shrunk (@stephenLYZ)
- [#18695](https://github.com/apache/superset/pull/18695) fix(native-filter): fix required filters of a dashboard won't load properly (@stephenLYZ)
- [#18796](https://github.com/apache/superset/pull/18796) fix: Monospacing errors in dashboards & charts (@codemaster08240328)
- [#18855](https://github.com/apache/superset/pull/18855) fix: Metadata browser in SQL not render nicely in Safari (@codemaster08240328)
- [#18934](https://github.com/apache/superset/pull/18934) fix(sqllab): Un-render deselected tabs (@etr2460)
- [#18853](https://github.com/apache/superset/pull/18853) fix: filter indicator pointing issue on popover (@codemaster08240328)
- [#18911](https://github.com/apache/superset/pull/18911) fix: Set force=true for exporting CSV on dashboard charts (@hughhhh)
- [#18920](https://github.com/apache/superset/pull/18920) fix(docs): add missing static files to build (@villebro)
- [#18894](https://github.com/apache/superset/pull/18894) fix: Source from Apache Foundation's website link (@paulocauca)
- [#18852](https://github.com/apache/superset/pull/18852) fix(dashboard): incorrect chart error with slow dataset api request (@ktmud)
- [#18886](https://github.com/apache/superset/pull/18886) fix: Database list in Docusaurus (@geido)
- [#18857](https://github.com/apache/superset/pull/18857) fix: FilterBox date endpoints to use [inclusive, exclusive) (@etr2460)
- [#18846](https://github.com/apache/superset/pull/18846) fix(key-value): lost url_params after long-url feature (@zhaoyongjie)
- [#18739](https://github.com/apache/superset/pull/18739) fix: Position of arrows in Table chart (@geido)
- [#18789](https://github.com/apache/superset/pull/18789) fix(hive): stop query on the processing engine when user clicks STOP on SQL Lab (@saurabh3091)
- [#18788](https://github.com/apache/superset/pull/18788) fix(Explore): Annotation cache should be ignore when adding new / updated annotation (@geido)
- [#18746](https://github.com/apache/superset/pull/18746) fix(mssql): support top syntax for limiting queries (@sujiplr)
- [#18813](https://github.com/apache/superset/pull/18813) fix(altered-modal): displayed the metric value in altered modal correctly (@prosdev0107)
- [#18749](https://github.com/apache/superset/pull/18749) fix(sqllab): Removed the tooltip from CopyToClipboard button in sqllab (@prosdev0107)
- [#18782](https://github.com/apache/superset/pull/18782) fix: contribution operator meets nan value (@zhaoyongjie)
- [#18756](https://github.com/apache/superset/pull/18756) fix: update standalone url for slack reports (@hughhhh)
- [#18786](https://github.com/apache/superset/pull/18786) fix(delete-modal): Changed the color of the help text with grayScale.dark1 in DeleteModal (@prosdev0107)
- [#18717](https://github.com/apache/superset/pull/18717) fix(Dashboard): Fix blinking native filters on zoom (@geido)
- [#18751](https://github.com/apache/superset/pull/18751) fix(helm): bump Helm chart release version (@wiktor2200)
- [#18738](https://github.com/apache/superset/pull/18738) fix(Explore): Fix cache timeout field not being saved and unit tests (@geido)
- [#18725](https://github.com/apache/superset/pull/18725) fix: report list search by created_by (@graceguo-supercat)
- [#18056](https://github.com/apache/superset/pull/18056) fix(CRUD/listviews): Errors with rison and search strings using special characters (@corbinrobb)
- [#18714](https://github.com/apache/superset/pull/18714) fix: Only redirect to relative paths when authentication expires (@geido)
- [#15246](https://github.com/apache/superset/pull/15246) fix: passing url params in sqllab (@maltoze)
- [#18666](https://github.com/apache/superset/pull/18666) fix(sqllab): fix query results sorting (@corbinrobb)
- [#18686](https://github.com/apache/superset/pull/18686) fix: Fixed dancing tooltip in database list action buttons (@lyndsiWilliams)
- [#18683](https://github.com/apache/superset/pull/18683) fix: unambiguous trino driver (@betodealmeida)
- [#18685](https://github.com/apache/superset/pull/18685) fix(build): update webpack jsx paths (@anoojkinaginlsn)
- [#18684](https://github.com/apache/superset/pull/18684) fix: revert handle null values in time-series table (@graceguo-supercat)
- [#17826](https://github.com/apache/superset/pull/17826) fix(deck.gl): update view state on property changes (#17720) (@hbruch)
- [#18603](https://github.com/apache/superset/pull/18603) fix(Explore): Force different color for same metrics in Mixed Time-Series (@geido)
- [#18658](https://github.com/apache/superset/pull/18658) fix: dataset modal doesn't work in dev mode (@stephenLYZ)
- [#18567](https://github.com/apache/superset/pull/18567) fix(mssql): support cte in virtual tables (@sujiplr)
- [#18633](https://github.com/apache/superset/pull/18633) fix(csv-export): pivot v2 with verbose names (@villebro)
- [#18084](https://github.com/apache/superset/pull/18084) fix(histogram): display correct percentile value instead of formula (@hoangminhquan-lhsdt)
- [#18628](https://github.com/apache/superset/pull/18628) fix: check embedded feature flag in request loader (@lilykuang)
- [#18562](https://github.com/apache/superset/pull/18562) fix: user UUIDs on export for Native Filter Configuration (@hughhhh)
- [#18619](https://github.com/apache/superset/pull/18619) fix(helm): Fix support for ingress.ingressClassName (@ad-m)
- [#18609](https://github.com/apache/superset/pull/18609) fix: change database selector (@pkdotson)
- [#18601](https://github.com/apache/superset/pull/18601) fix(jest): add superset-frontend to testRegex (@villebro)
- [#18564](https://github.com/apache/superset/pull/18564) fix: sqllab schema select error msg (@pkdotson)
- [#18579](https://github.com/apache/superset/pull/18579) fix(sqla): avoid unnecessary groupby in samples request (@villebro)
- [#18246](https://github.com/apache/superset/pull/18246) fix(listview): add nowrap to view mode container (@villebro)
- [#18577](https://github.com/apache/superset/pull/18577) fix: Update docusaurus.config.js (@hughhhh)
- [#18575](https://github.com/apache/superset/pull/18575) fix: superset-doc.yaml workflow to not be immutable on deploy (@hughhhh)
- [#18182](https://github.com/apache/superset/pull/18182) fix: new alert should have force_screenshot be true (@graceguo-supercat)
- [#18252](https://github.com/apache/superset/pull/18252) fix(plugin-chart-echarts): fix forecasts on verbose metrics (@villebro)
- [#18240](https://github.com/apache/superset/pull/18240) fix(teradata): LIMIT syntax (@dmcnulla)
- [#18224](https://github.com/apache/superset/pull/18224) fix(alert): remove extra < character in email report (@graceguo-supercat)
- [#18201](https://github.com/apache/superset/pull/18201) fix: Build scripts (@geido)
- [#18219](https://github.com/apache/superset/pull/18219) fix: Add mexico back to country map (@etr2460)
- [#18181](https://github.com/apache/superset/pull/18181) fix: Explore long URL problem (@michael-s-molina)
- [#18217](https://github.com/apache/superset/pull/18217) fix(plugin-chart-echarts): use verbose x-axis name when defined (@villebro)
- [#18216](https://github.com/apache/superset/pull/18216) fix(explore): Pie chart label formatting when series is temporal (@kgabryje)
- [#17881](https://github.com/apache/superset/pull/17881) fix(sql): unable to filter text with quotes (@stephenLYZ)
- [#18205](https://github.com/apache/superset/pull/18205) fix(tests): Remove walrus operator for Python 3.7 compatibility (@ad-m)
- [#18145](https://github.com/apache/superset/pull/18145) fix(native-filters): values is not sorted when setting sort option (@stephenLYZ)
- [#18174](https://github.com/apache/superset/pull/18174) fix(helm): allows extra top-level properties (@ad-m)
- [#18180](https://github.com/apache/superset/pull/18180) fix: Default values getting cleared in native filters form (@geido)
- [#17986](https://github.com/apache/superset/pull/17986) fix: Assign an owner when creating a dataset from a csv, excel or tabular (@cccs-joel)
- [#18171](https://github.com/apache/superset/pull/18171) fix: null value and empty string in filter (@zhaoyongjie)
- [#18137](https://github.com/apache/superset/pull/18137) fix(dashboard): support input undo when editing chart title (@stephenLYZ)
- [#18157](https://github.com/apache/superset/pull/18157) fix: remove standalone (@AAfghahi)
- [#18164](https://github.com/apache/superset/pull/18164) fix: Dataset column names are no longer editable (@lyndsiWilliams)
- [#18117](https://github.com/apache/superset/pull/18117) fix: exclude node_modules from ts tracking (@etr2460)
- [#18146](https://github.com/apache/superset/pull/18146) fix(textarea-control): ace editor input exception (@stephenLYZ)
- [#18046](https://github.com/apache/superset/pull/18046) fix(import_datasources): --sync flag works correctly (@cccs-Dustin)
- [#18152](https://github.com/apache/superset/pull/18152) fix: undefined error when adding extra sequential color scheme (@kgabryje)
- [#17843](https://github.com/apache/superset/pull/17843) fix(explore): fix chart embed code modal glitch (@stephenLYZ)
- [#18111](https://github.com/apache/superset/pull/18111) fix: logging warning on dataframe (don't use python's warnings) (@dpgaspar)
- [#18089](https://github.com/apache/superset/pull/18089) fix(docs): load correctly image for "Create New Chart" (@ad-m)
- [#18097](https://github.com/apache/superset/pull/18097) fix: contributing misspelling (@em0227)
- [#18086](https://github.com/apache/superset/pull/18086) fix: can't use examples helpers on non app context based environment (@ofekisr)
- [#18087](https://github.com/apache/superset/pull/18087) fix(docs): Correction of proper names format in README (@ad-m)
- [#18073](https://github.com/apache/superset/pull/18073) fix(generator): add lockfile and fix styling issues (@villebro)
- [#18027](https://github.com/apache/superset/pull/18027) fix(generator): more cleanup to plugin framework (@villebro)
- [#18051](https://github.com/apache/superset/pull/18051) fix: revert "feat: stop running CI on doc updates" (@hughhhh)
- [#18039](https://github.com/apache/superset/pull/18039) fix: handle null values in time-series table (@graceguo-supercat)
- [#18021](https://github.com/apache/superset/pull/18021) fix: Disable filtering on wide result sets (@etr2460)
- [#18017](https://github.com/apache/superset/pull/18017) fix: revert #17654 to fix subselect table name parsing (@etr2460)
- [#17995](https://github.com/apache/superset/pull/17995) fix: Workaround for sqlparse issue #652 (@john-bodley)
- [#17388](https://github.com/apache/superset/pull/17388) fix(sqla): Adhere to series limit ordering for pre-query (@john-bodley)
- [#17999](https://github.com/apache/superset/pull/17999) fix(helm): pin correct psycopg2 version (@villebro)
- [#17988](https://github.com/apache/superset/pull/17988) fix: Keep Report modal open when there's an error (@lyndsiWilliams)
- [#17985](https://github.com/apache/superset/pull/17985) fix: dashboard full screen layout (@pkdotson)
- [#17931](https://github.com/apache/superset/pull/17931) fix(sqllab): Dancing Tooltip in SQL editor dropdown (@lyndsiWilliams)
- [#17974](https://github.com/apache/superset/pull/17974) fix: null dates in table chart (@etr2460)
- [#17878](https://github.com/apache/superset/pull/17878) fix: Returns 404 instead of 500 for unknown dashboard filter state keys (@michael-s-molina)
- [#17982](https://github.com/apache/superset/pull/17982) fix(native-filters): apply default value correctly when it's set (@kgabryje)
- [#17937](https://github.com/apache/superset/pull/17937) fix(docs): update clickhouse.mdx (@rfraposa)
- [#17951](https://github.com/apache/superset/pull/17951) fix(Select): options in the select component will be overwritten due to timing of React.setState (@stephenLYZ)
- [#17957](https://github.com/apache/superset/pull/17957) fix: package.json local file dependencies (@etr2460)
- [#17786](https://github.com/apache/superset/pull/17786) fix: process color scheme configs correctly (@suddjian)
- [#17918](https://github.com/apache/superset/pull/17918) fix(cypress): flake cypress test case (@zhaoyongjie)
- [#17920](https://github.com/apache/superset/pull/17920) fix(helm): service account apiVersion indentation (@wiktor2200)
- [#17877](https://github.com/apache/superset/pull/17877) fix(translation): include babel-compile in Dockerfile (#17876) (@hbruch)
- [#17872](https://github.com/apache/superset/pull/17872) fix(explore): simple tab content input problem in the filter control (@stephenLYZ)
- [#17887](https://github.com/apache/superset/pull/17887) fix: Removes duplicated import in dashboard filter state tests (@michael-s-molina)
- [#17885](https://github.com/apache/superset/pull/17885) fix: tests can failed on different order executions (@ofekisr)
- [#17886](https://github.com/apache/superset/pull/17886) fix: failed mypy in master branch (@ofekisr)
- [#17854](https://github.com/apache/superset/pull/17854) fix(ui): show SCHEDULED_QUERIES template in SqlLab (@cemremengu)
- [#17851](https://github.com/apache/superset/pull/17851) fix(deckgl): deckgl unable to load map (@zhaoyongjie)
- [#17856](https://github.com/apache/superset/pull/17856) fix: corrected misspelling in percent_metrics (@briannguyen4)
- [#17784](https://github.com/apache/superset/pull/17784) fix: extra column in metrics (@betodealmeida)
- [#17740](https://github.com/apache/superset/pull/17740) fix: dataset extra import/export (@betodealmeida)
- [#17680](https://github.com/apache/superset/pull/17680) fix: replace datamask with key from new key value api (@pkdotson)
- [#17726](https://github.com/apache/superset/pull/17726) fix(explore): make SORT DESCENDING visible if SORT BY has value (@stephenLYZ)
- [#17823](https://github.com/apache/superset/pull/17823) fix: import typeddict from extensions (@villebro)
- [#17813](https://github.com/apache/superset/pull/17813) fix: map schemes json to SequentialScheme (#17812) (@hbruch)
- [#17788](https://github.com/apache/superset/pull/17788) fix: accept null params for validation (@eschutho)
- [#17800](https://github.com/apache/superset/pull/17800) fix(docs): bump broken packages (@villebro)
- [#17751](https://github.com/apache/superset/pull/17751) fix: [alert] allow decimal for alert threshold value (@graceguo-supercat)
- [#17783](https://github.com/apache/superset/pull/17783) fix: New Members per Month time range (@betodealmeida)
- [#17775](https://github.com/apache/superset/pull/17775) fix: running dev-server on a different port (@betodealmeida)
- [#17499](https://github.com/apache/superset/pull/17499) fix: [alert] should run alert query from report account (@graceguo-supercat)
- [#17777](https://github.com/apache/superset/pull/17777) fix(filter-sets): 404 on dashboard load (@villebro)
- [#17774](https://github.com/apache/superset/pull/17774) fix(alembic): Making Alembic logger config optional (@craig-rueda)
- [#17768](https://github.com/apache/superset/pull/17768) fix: change 401 response to a 403 for Security Exceptions (@rusackas)
- [#17760](https://github.com/apache/superset/pull/17760) fix: miss-spelling on CONTRIBUTING.md line 1351 (@MayUWish)
- [#17765](https://github.com/apache/superset/pull/17765) fix(plugin-chart-table): sort alphanumeric columns case insensitive (@kgabryje)
- [#17730](https://github.com/apache/superset/pull/17730) fix: add **init**.py to key_value (@bkyryliuk)
- [#17727](https://github.com/apache/superset/pull/17727) fix: local warning in the frontend development (@stephenLYZ)
- [#17738](https://github.com/apache/superset/pull/17738) fix: column extra in import/export (@betodealmeida)
- [#17748](https://github.com/apache/superset/pull/17748) fix: import DB errors (@betodealmeida)
- [#17741](https://github.com/apache/superset/pull/17741) fix: import dashboard stale filter_scopes (@betodealmeida)
- [#17649](https://github.com/apache/superset/pull/17649) fix(Mixed Timeseries Chart): Custom Metric Label (@Yahyakiani)
- [#17732](https://github.com/apache/superset/pull/17732) fix: import dash with missing immune ID (@betodealmeida)
- [#17713](https://github.com/apache/superset/pull/17713) fix(postgres): remove redundant tz factory (@villebro)
- [#17711](https://github.com/apache/superset/pull/17711) fix(explore): don't apply time range filter to Samples table (@kgabryje)
- [#17690](https://github.com/apache/superset/pull/17690) fix: Dashboard header negative margin on save (@geido)
- [#17703](https://github.com/apache/superset/pull/17703) fix(explore): deck.gl Multiple chart broken (@stephenLYZ)
- [#17638](https://github.com/apache/superset/pull/17638) fix(select): select component sort functionality on certain options (@corbinrobb)
- [#17692](https://github.com/apache/superset/pull/17692) fix(Dashboard): Undefined error in default value in Native Filters (@geido)
- [#17597](https://github.com/apache/superset/pull/17597) fix: Redirect on 401 (@geido)
- [#17654](https://github.com/apache/superset/pull/17654) fix: extract tables doesn't work with reserved keywords (@betodealmeida)
- [#17673](https://github.com/apache/superset/pull/17673) fix(translations): extract messages from js and ts files (@hbruch)
- [#17664](https://github.com/apache/superset/pull/17664) fix(legacy-plugin-chart-calendar): fix timestamp timezone in Calendar (@kgabryje)
- [#17644](https://github.com/apache/superset/pull/17644) fix: Allows PUT and DELETE only for owners of dashboard filter state (@michael-s-molina)
- [#17641](https://github.com/apache/superset/pull/17641) fix(sqla): make text clause escaping optional (@villebro)
- [#17636](https://github.com/apache/superset/pull/17636) fix: allow for multiple columns in pivot table report (@eschutho)
- [#17612](https://github.com/apache/superset/pull/17612) fix(dataset): modal sql editor error (@stephenLYZ)
- [#17620](https://github.com/apache/superset/pull/17620) fix(api): add missing fields to dataset schemas (@villebro)
- [#17618](https://github.com/apache/superset/pull/17618) fix: Revert "fix(Dashboard): Only apply changes when editing properties" (@geido)
- [#17613](https://github.com/apache/superset/pull/17613) fix: Dashboard export loading indicator (@michael-s-molina)
- [#17611](https://github.com/apache/superset/pull/17611) fix: Dashboard API flaky test (@michael-s-molina)
- [#17600](https://github.com/apache/superset/pull/17600) fix: Ch31968query context (@AAfghahi)
- [#17547](https://github.com/apache/superset/pull/17547) fix: fix text overflow in toast (@pkdotson)
- [#17542](https://github.com/apache/superset/pull/17542) fix: Visualizations don't load when using keyboard shortcuts (@michael-s-molina)
- [#17539](https://github.com/apache/superset/pull/17539) fix(superset.cli): superset cli group doesn't support superset extension app (@ofekisr)
- [#14512](https://github.com/apache/superset/pull/14512) fix: update kubernetes.mdx (@shicholas)
- [#17527](https://github.com/apache/superset/pull/17527) fix: RBAC for `can_export` for any resource (@hughhhh)
- [#17555](https://github.com/apache/superset/pull/17555) fix(lint): remove redis xadd type ignore (@villebro)
- [#17048](https://github.com/apache/superset/pull/17048) fix(elasticsearch): time_zone setting does not work for cast datetime expressions (@aniaan)
- [#17503](https://github.com/apache/superset/pull/17503) fix(explore): Metric control breaks when saved metric deleted from dataset (@kgabryje)
- [#17515](https://github.com/apache/superset/pull/17515) fix(CRUD views): change empty rows layout in TableCollection to be consistent with its headers (@corbinrobb)
- [#15182](https://github.com/apache/superset/pull/15182) fix: hiding HiddenControl inputs for real, so they don't add height (@rusackas)
- [#17511](https://github.com/apache/superset/pull/17511) fix: Dashboard access when DASHBOARD_RBAC is disabled (@michael-s-molina)
- [#16799](https://github.com/apache/superset/pull/16799) fix: Bulk update Spanish translations (@dreglad)
- [#14302](https://github.com/apache/superset/pull/14302) fix(hive): Update \_latest_partition_from_df in HiveEngineSpec to work on tables with multiple indexes (@codenamelxl)
- [#17458](https://github.com/apache/superset/pull/17458) fix: Always use temporal type for dttm columns [ID-2] (@kgabryje)
- [#17470](https://github.com/apache/superset/pull/17470) fix(presto): expand data with null item (@ganczarek)
- [#15254](https://github.com/apache/superset/pull/15254) fix: feature flags typing (@dpgaspar)
- [#17480](https://github.com/apache/superset/pull/17480) fix: Update Makefile (@hughhhh)
- [#17471](https://github.com/apache/superset/pull/17471) fix: create-admin command in Makefile (@hughhhh)
- [#17462](https://github.com/apache/superset/pull/17462) fix(Dashboard): Save empty label_colors in json_metadata (@geido)
- [#14305](https://github.com/apache/superset/pull/14305) fix(views/core): iteration over None type (@rasta-rocket)
- [#16566](https://github.com/apache/superset/pull/16566) fix(docker): add ecpg to docker image (@villebro)
- [#10811](https://github.com/apache/superset/pull/10811) fix(mssql): week time grain should respect datefirst setting (@binome74)
- [#17440](https://github.com/apache/superset/pull/17440) fix: should not show migration toast if user not enable dashboard filter components (@graceguo-supercat)
- [#17385](https://github.com/apache/superset/pull/17385) fix(sql lab): NULL styling in grid cell (@lyndsiWilliams)
- [#12092](https://github.com/apache/superset/pull/12092) fix: 'DataFrame' object has no attribute 'ix' (@minzhang2110)
- [#17429](https://github.com/apache/superset/pull/17429) fix: allow POST chart/data request without CSRF token (@etr2460)
- [#16900](https://github.com/apache/superset/pull/16900) fix(chart): ensure samples data is displayed (@pkdotson)
- [#17426](https://github.com/apache/superset/pull/17426) fix: Workaround for Pandas Timestamp.isoformat issue (@john-bodley)
- [#17392](https://github.com/apache/superset/pull/17392) fix(Dashboard): Only apply changes when editing properties (@geido)
- [#17380](https://github.com/apache/superset/pull/17380) fix(Dashboard): Missing dashboardId when refreshing Explore (@geido)
- [#17106](https://github.com/apache/superset/pull/17106) fix(dashboard): don't show report modal for anonymous user (@Mayur)
- [#17135](https://github.com/apache/superset/pull/17135) fix: title case in menus (@Maxime Beauchemin)
- [#17383](https://github.com/apache/superset/pull/17383) fix: Partial revert of 17236 (@john-bodley)
- [#17348](https://github.com/apache/superset/pull/17348) fix: Users being able to update datasets across DBs (@hughhhh)
- [#17382](https://github.com/apache/superset/pull/17382) fix(sqllab): Query limit dropdown number breaks to separate lines (@lyndsiWilliams)
- [#17309](https://github.com/apache/superset/pull/17309) fix: various typo fixes in MD files (@PApostol)
- [#17370](https://github.com/apache/superset/pull/17370) fix: failed timezone selector UT (@zhaoyongjie)
- [#17369](https://github.com/apache/superset/pull/17369) fix: Database selector overflow (@michael-s-molina)
- [#17356](https://github.com/apache/superset/pull/17356) fix: Remove horizontal scroll navigation from SQL Lab (@etr2460)
- [#17357](https://github.com/apache/superset/pull/17357) fix(Dashboard): Make color scheme optional (@geido)
- [#17287](https://github.com/apache/superset/pull/17287) fix(dashboard): Return columns and verbose_map for groupby values of Pivot Table v2 [ID-7] (@kgabryje)
- [#17331](https://github.com/apache/superset/pull/17331) fix: Show sqllab state when deleting databases (@hughhhh)
- [#17289](https://github.com/apache/superset/pull/17289) fix: removed redundant logger definition (@gnought)
- [#17236](https://github.com/apache/superset/pull/17236) fix: revert default series sort-by metric (@john-bodley)
- [#17312](https://github.com/apache/superset/pull/17312) fix(sqla): Normalize prequery result type (@john-bodley)
- [#17268](https://github.com/apache/superset/pull/17268) fix: Unable to select None for Alert's log retention (@michael-s-molina)
- [#17228](https://github.com/apache/superset/pull/17228) fix: remove variables from styled component (@pkdotson)
- [#17200](https://github.com/apache/superset/pull/17200) fix(Dashboard): Sidepanel positioning (@geido)
- [#17184](https://github.com/apache/superset/pull/17184) fix(Explore): Remove changes to the properties on cancel (@geido)
- [#17314](https://github.com/apache/superset/pull/17314) fix: run npm install to fix a bad package version (@eschutho)
- [#17303](https://github.com/apache/superset/pull/17303) fix: datatable crash when column is empty string [ID-59] (@zhaoyongjie)
- [#17292](https://github.com/apache/superset/pull/17292) fix: Change 500 error to 422 in Sql Lab (@AAfghahi)
- [#17239](https://github.com/apache/superset/pull/17239) fix: revert "feat(sqla): apply time grain to all temporal groupbys" (@john-bodley)
- [#17223](https://github.com/apache/superset/pull/17223) fix(reports): Owners no longer showing undefined in reports (@lyndsiWilliams)
- [#17242](https://github.com/apache/superset/pull/17242) fix: Updated connection string for Firebolt (@raghavSharmaCode)
- [#17234](https://github.com/apache/superset/pull/17234) fix(annotations): handle required fields properly (@villebro)
- [#17217](https://github.com/apache/superset/pull/17217) fix(dashboard): Fix issue #17144 - Resetting native filter form does not clear the values. (@m-ajay)
- [#17221](https://github.com/apache/superset/pull/17221) fix(Dashboard): Position of the tools of the Tabs component in Edit Dashboard (@geido)
- [#17047](https://github.com/apache/superset/pull/17047) fix: Allow chart owners to edit title (@belgren)
- [#17205](https://github.com/apache/superset/pull/17205) fix: reenabling terser plugin for webpack (@rusackas)
- [#17194](https://github.com/apache/superset/pull/17194) fix: use cache for csv download (@eschutho)
- [#17169](https://github.com/apache/superset/pull/17169) fix: Order of Select items when unselecting (@michael-s-molina)
- [#17213](https://github.com/apache/superset/pull/17213) fix: CI is blocked by mypy checking (@zhaoyongjie)
- [#17196](https://github.com/apache/superset/pull/17196) fix(bigquery): calculated column cannot orderby in BigQuery (@zhaoyongjie)
- [#17195](https://github.com/apache/superset/pull/17195) fix(sqla): convert prequery results to native python types (@villebro)
- [#17112](https://github.com/apache/superset/pull/17112) fix: auto refresh interval won't be updated (@yougyoung94)
- [#17046](https://github.com/apache/superset/pull/17046) fix: dropdown placement for cascading filters popover (@pkdotson)
- [#17166](https://github.com/apache/superset/pull/17166) fix(explore): timestamp format when copy datatable to clipboard (@kgabryje)
- [#17168](https://github.com/apache/superset/pull/17168) fix: avoid filters containing null value (@zhaoyongjie)
- [#17155](https://github.com/apache/superset/pull/17155) fix: preventing sql lab None limit value (@amitmiran137)
- [#17147](https://github.com/apache/superset/pull/17147) fix: Remove title from the Cancel SVG (@AAfghahi)
- [#17125](https://github.com/apache/superset/pull/17125) fix: Update package-lock.json of superset-frontend and cypress-base (@lyndsiWilliams)
- [#17079](https://github.com/apache/superset/pull/17079) fix(druid): Fix regression with ISO 8601 format (@john-bodley)
- [#17024](https://github.com/apache/superset/pull/17024) fix(DB Connections): removing paramProperties (@AAfghahi)
- [#17008](https://github.com/apache/superset/pull/17008) fix: Strict check to allow null values in the SelectControl component (@geido)
- [#16838](https://github.com/apache/superset/pull/16838) fix: remove duplicate line in docstring (@exemplary-citizen)
**Others**
- [#19732](https://github.com/apache/superset/pull/19732) chore: Clean redundant dependency from useMemo dep array (@kgabryje)
- [#19636](https://github.com/apache/superset/pull/19636) chore: skip SIP-68 shadow writing for LTS (@ktmud)
- [#19530](https://github.com/apache/superset/pull/19530) docs: release notes for 1.5 (@villebro)
- [#19557](https://github.com/apache/superset/pull/19557) chore: remove redundant adodbapi warning (@villebro)
- [#19481](https://github.com/apache/superset/pull/19481) chore(plugin-chart-echarts): upgrade echarts 5.3.2 (@villebro)
- [#19392](https://github.com/apache/superset/pull/19392) test(native filter): add new test for dependent filter (@jinghua-qa)
- [#19417](https://github.com/apache/superset/pull/19417) refactor: Removes the CSS files from the Heatmap plugin (@michael-s-molina)
- [#19436](https://github.com/apache/superset/pull/19436) refactor: Removes the CSS files from the Calendar Heatmap plugin (@michael-s-molina)
- [#19439](https://github.com/apache/superset/pull/19439) chore: Removes hard-coded colors from plugin-chart-pivot-table (@michael-s-molina)
- [#19443](https://github.com/apache/superset/pull/19443) chore: Removes hard-coded colors from legacy-preset-chart-nvd3 (@michael-s-molina)
- [#19411](https://github.com/apache/superset/pull/19411) docs: add 1.4.2 changelog entries (@villebro)
- [#19437](https://github.com/apache/superset/pull/19437) chore: Disables no-literal-colors for the theme configuration (@michael-s-molina)
- [#19424](https://github.com/apache/superset/pull/19424) chore: attempt to force docs deploy (@srinify)
- [#19412](https://github.com/apache/superset/pull/19412) chore: update slack invite url (@srinify)
- [#19368](https://github.com/apache/superset/pull/19368) chore: Removes direct theme imports (@michael-s-molina)
- [#19245](https://github.com/apache/superset/pull/19245) chore: bump storybook to 6.4.19, migrating config, and linting storybook config (@rusackas)
- [#19239](https://github.com/apache/superset/pull/19239) chore: Eslint custom plugin to warn about hex and literal colors (@geido)
- [#19390](https://github.com/apache/superset/pull/19390) docs: Correcting the document font size (@sujiplr)
- [#19387](https://github.com/apache/superset/pull/19387) chore: add type checking in plugin's test directory (@stephenLYZ)
- [#19365](https://github.com/apache/superset/pull/19365) chore: add support for npm8 (@villebro)
- [#19350](https://github.com/apache/superset/pull/19350) docs: update lock + general cleanup (@villebro)
- [#19331](https://github.com/apache/superset/pull/19331) docs: fix: Use three backticks for code blocks (@kaapstorm)
- [#19320](https://github.com/apache/superset/pull/19320) chore: add type checking in package tests directory (@stephenLYZ)
- [#19233](https://github.com/apache/superset/pull/19233) docs: SECRET_KEY Rotation Documentation (@sujiplr)
- [#19323](https://github.com/apache/superset/pull/19323) chore: bump FAB to 3.4.5 (@dpgaspar)
- [#19322](https://github.com/apache/superset/pull/19322) ci: add more code owners to helm chart source (@dpgaspar)
- [#19295](https://github.com/apache/superset/pull/19295) chore: fixing a pluralization typo (@rusackas)
- [#19236](https://github.com/apache/superset/pull/19236) chore: Make font-weights themable, fix font faces (@kgabryje)
- [#19293](https://github.com/apache/superset/pull/19293) chore: allow overriding the guest token pyjwt instance (@suddjian)
- [#19161](https://github.com/apache/superset/pull/19161) chore: add missing keys in components inside lists (@diegomedina248)
- [#18221](https://github.com/apache/superset/pull/18221) chore: Various docstring fixes (@PApostol)
- [#19270](https://github.com/apache/superset/pull/19270) docs: update readme.md (@prassanna-helixsense-com)
- [#18648](https://github.com/apache/superset/pull/18648) chore: update changelog and updating files from 1.4.1 (@eschutho)
- [#19235](https://github.com/apache/superset/pull/19235) docs: fix broken links in the documentation (@vchrombie)
- [#19172](https://github.com/apache/superset/pull/19172) chore: use order_desc shared control consistently (@stephenLYZ)
- [#19227](https://github.com/apache/superset/pull/19227) chore: upgrade mypy check in pre-commit (@ktmud)
- [#19216](https://github.com/apache/superset/pull/19216) chore: refactor import command (@betodealmeida)
- [#19156](https://github.com/apache/superset/pull/19156) test: fix TimezoneSelector tests on daylight saving time (@ktmud)
- [#19115](https://github.com/apache/superset/pull/19115) test(native filter): add new native filter test (@jinghua-qa)
- [#19132](https://github.com/apache/superset/pull/19132) chore(embedded): refresh the guest token (@suddjian)
- [#19090](https://github.com/apache/superset/pull/19090) refactor(TimezoneSelector): simplify override logics and tests (@ktmud)
- [#19091](https://github.com/apache/superset/pull/19091) docs: Modified alerts and reports docs for clarity (@7vikpeculiar)
- [#19077](https://github.com/apache/superset/pull/19077) perf(dashboard): Send chart requests before native filter requests (@kgabryje)
- [#19064](https://github.com/apache/superset/pull/19064) perf(dashboard): Improve performance of complex dashboards (@kgabryje)
- [#18950](https://github.com/apache/superset/pull/18950) chore: Change Sort by and Sort descending controls for Time-series Bar Chart (@geido)
- [#14064](https://github.com/apache/superset/pull/14064) chore: log multiple errors (@eschutho)
- [#19068](https://github.com/apache/superset/pull/19068) docs: renamed yugabyte to yugabytedb (@srinify)
- [#19029](https://github.com/apache/superset/pull/19029) chore: Moves Chart components to src/components folder (@michael-s-molina)
- [#19050](https://github.com/apache/superset/pull/19050) docs(building): link frontend asset instructions correctly (@cancan101)
- [#19041](https://github.com/apache/superset/pull/19041) chore(plugin-chart-echarts): bump echarts 5.3.1 (@villebro)
- [#18965](https://github.com/apache/superset/pull/18965) chore: adding Dutch language translations (NL) (@pablo-guerra)
- [#19032](https://github.com/apache/superset/pull/19032) chore: Moves CRUD components to the Datasource component (@michael-s-molina)
- [#19042](https://github.com/apache/superset/pull/19042) chore: Fix deprecated unittest aliases. (@tirkarthi)
- [#18999](https://github.com/apache/superset/pull/18999) refactor: Deletes the common/components folder (@michael-s-molina)
- [#19021](https://github.com/apache/superset/pull/19021) chore: change case for upload selection (@pkdotson)
- [#19019](https://github.com/apache/superset/pull/19019) chore(deps): bump url-parse from 1.5.7 to 1.5.10 in /docs (@dependabot[bot])
- [#18976](https://github.com/apache/superset/pull/18976) chore(cache): default to SimpleCache in debug mode (@villebro)
- [#18983](https://github.com/apache/superset/pull/18983) docs: renamed yugabytedb to yugabyte as per request by Yugabyte team (@srinify)
- [#18179](https://github.com/apache/superset/pull/18179) refactor: converted QueryAutoRefresh to functional component (@briannguyen4)
- [#18922](https://github.com/apache/superset/pull/18922) chore(deps): bump urijs and xss (@villebro)
- [#18967](https://github.com/apache/superset/pull/18967) chore(native-filters): Add unit tests for filter cards (@kgabryje)
- [#16860](https://github.com/apache/superset/pull/16860) chore(security): Remove obsolete FAB metric_access permission (@john-bodley)
- [#18955](https://github.com/apache/superset/pull/18955) docs: fix sql templating typos (@garyng)
- [#18931](https://github.com/apache/superset/pull/18931) chore: Moves components out of the commons folder (@michael-s-molina)
- [#18915](https://github.com/apache/superset/pull/18915) test(Native Filter): User can create parent filters using "Filter is hierarchical (@jinghua-qa)
- [#18811](https://github.com/apache/superset/pull/18811) chore: add intersect method from backend to frontend for upload extensions (@pkdotson)
- [#18935](https://github.com/apache/superset/pull/18935) chore: update `UPDATING.md` re: SIP-68 (@betodealmeida)
- [#18866](https://github.com/apache/superset/pull/18866) refactor(ImportModelsCommand): clean code, extract logic into methods (@michael-hoffman-26)
- [#18850](https://github.com/apache/superset/pull/18850) test(native filter): add new native filter test for time column filter (@jinghua-qa)
- [#18923](https://github.com/apache/superset/pull/18923) refactor(docs): clean up deploy of static files (@villebro)
- [#18914](https://github.com/apache/superset/pull/18914) docs: remove old viz plugin docs (@villebro)
- [#17977](https://github.com/apache/superset/pull/17977) chore(deps-dev): bump css-loader from 6.2.0 to 6.5.1 in /superset-frontend (@dependabot[bot])
- [#18882](https://github.com/apache/superset/pull/18882) docs(Import API): update function description, overwrite real meaning (@michael-hoffman-26)
- [#18854](https://github.com/apache/superset/pull/18854) chore(tests-backend): migrate snowflake and sqlite to unit tests (@corbinrobb)
- [#18878](https://github.com/apache/superset/pull/18878) docs: fix toc position scroll bug (#18868) (@michaelzusev)
- [#18861](https://github.com/apache/superset/pull/18861) docs: add GA conf to config (@villebro)
- [#18820](https://github.com/apache/superset/pull/18820) chore: npm audit fix in cypress-base (@rusackas)
- [#18828](https://github.com/apache/superset/pull/18828) chore: unify usages of nvd3 library (@stephenLYZ)
- [#18819](https://github.com/apache/superset/pull/18819) docs: fix typo in configuring-superset.mdx (@ardeego)
- [#18824](https://github.com/apache/superset/pull/18824) docs: add Unvired to INTHEWILD.md (@srinisubramanian)
- [#18818](https://github.com/apache/superset/pull/18818) docs: add_db_logos (@srinify)
- [#18815](https://github.com/apache/superset/pull/18815) docs: Added reference and link to configure instructions for docker-compose… (@jacobcroope)
- [#18810](https://github.com/apache/superset/pull/18810) refactor: move date_parser to unittest (@zhaoyongjie)
- [#18798](https://github.com/apache/superset/pull/18798) chore(readme): Adding pinot logo into Readme Supported Databases Section (@xiangfu0)
- [#18800](https://github.com/apache/superset/pull/18800) docs(pinot): Update pinot docs with fixed pinot connection (@xiangfu0)
- [#18805](https://github.com/apache/superset/pull/18805) chore(deps): bump hosted-git-info from 2.7.1 to 2.8.9 in /superset-frontend (@dependabot[bot])
- [#18804](https://github.com/apache/superset/pull/18804) chore(deps): bump url-parse from 1.5.3 to 1.5.7 in /docs (@dependabot[bot])
- [#18801](https://github.com/apache/superset/pull/18801) chore(FF): adding generic X axis Feature Flag (default: False) (@rusackas)
- [#18142](https://github.com/apache/superset/pull/18142) refactor: migrate ExploreCtasResultsButton component to typescript (@EugeneTorap)
- [#18761](https://github.com/apache/superset/pull/18761) chore(deps): bump cached-path-relative from 1.0.2 to 1.1.0 in /superset-frontend/cypress-base (@dependabot[bot])
- [#18765](https://github.com/apache/superset/pull/18765) chore(deps): bump y18n from 4.0.0 to 4.0.3 in /superset-frontend (@dependabot[bot])
- [#18769](https://github.com/apache/superset/pull/18769) chore(deps): bump ws from 5.2.2 to 5.2.3 in /superset-frontend (@dependabot[bot])
- [#18779](https://github.com/apache/superset/pull/18779) refactor: move post_processing to unittest (@zhaoyongjie)
- [#18767](https://github.com/apache/superset/pull/18767) chore(deps): bump shelljs from 0.8.4 to 0.8.5 in /superset-frontend (@dependabot[bot])
- [#18764](https://github.com/apache/superset/pull/18764) chore(deps): bump follow-redirects from 1.14.3 to 1.14.8 in /superset-frontend (@dependabot[bot])
- [#18762](https://github.com/apache/superset/pull/18762) chore(deps): bump underscore from 1.12.0 to 1.12.1 in /superset-frontend (@dependabot[bot])
- [#18772](https://github.com/apache/superset/pull/18772) chore(deps): bump path-parse from 1.0.6 to 1.0.7 in /superset-frontend (@dependabot[bot])
- [#18759](https://github.com/apache/superset/pull/18759) chore(deps): bump shelljs from 0.8.4 to 0.8.5 in /docs (@dependabot[bot])
- [#18760](https://github.com/apache/superset/pull/18760) chore(deps): bump follow-redirects from 1.14.5 to 1.14.8 in /docs (@dependabot[bot])
- [#18763](https://github.com/apache/superset/pull/18763) chore(deps): bump nanoid from 3.1.30 to 3.3.1 in /docs (@dependabot[bot])
- [#18766](https://github.com/apache/superset/pull/18766) chore(deps-dev): bump node-fetch from 2.6.1 to 2.6.7 in /superset-frontend (@dependabot[bot])
- [#18768](https://github.com/apache/superset/pull/18768) chore(deps): bump tmpl from 1.0.4 to 1.0.5 in /superset-frontend (@dependabot[bot])
- [#18770](https://github.com/apache/superset/pull/18770) chore(deps): bump dns-packet from 1.3.1 to 1.3.4 in /superset-frontend (@dependabot[bot])
- [#18771](https://github.com/apache/superset/pull/18771) chore(deps): bump url-parse from 1.4.7 to 1.5.7 in /superset-frontend (@dependabot[bot])
- [#18629](https://github.com/apache/superset/pull/18629) chore: move data nav menu to plus menu (@pkdotson)
- [#18705](https://github.com/apache/superset/pull/18705) chore: bumping caniuse-lite from 1.0.30001257 to 1.0.30001312 (@rusackas)
- [#18728](https://github.com/apache/superset/pull/18728) chore: use switchboard as dependency for embedded sdk (@suddjian)
- [#18121](https://github.com/apache/superset/pull/18121) refactor: migrate QueryAndSaveBtns to TypeScript and add stories (@ad-m)
- [#18664](https://github.com/apache/superset/pull/18664) chore: Remove non-breaking changes from UPDATING.md (@john-bodley)
- [#18707](https://github.com/apache/superset/pull/18707) chore: updating link to newer viz plugin blog post (@rusackas)
- [#18710](https://github.com/apache/superset/pull/18710) refactor: decouple pandas postprocessing operator (@zhaoyongjie)
- [#18708](https://github.com/apache/superset/pull/18708) chore: remove config of temporary_superset_ui (@zhaoyongjie)
- [#18709](https://github.com/apache/superset/pull/18709) docs: add docs for viz plugin development (@villebro)
- [#18706](https://github.com/apache/superset/pull/18706) chore: removing temporary_superset_ui folder (no longer needed) (@rusackas)
- [#18669](https://github.com/apache/superset/pull/18669) test(Native filter): add cypress test user can add time grain filter (@jinghua-qa)
- [#18621](https://github.com/apache/superset/pull/18621) chore: Add craig-rueda as codeowner of Helm Chart (@ad-m)
- [#18136](https://github.com/apache/superset/pull/18136) refactor: migrate DeleteComponentButton to TypeScript (@Scrip7)
- [#17944](https://github.com/apache/superset/pull/17944) chore: migrate QueryTable component from jsx to tsx (@MayUWish)
- [#18608](https://github.com/apache/superset/pull/18608) chore: improve React.useRef etc. import consistency (@ad-m)
- [#18647](https://github.com/apache/superset/pull/18647) test(native filter): add test for time range filter (@jinghua-qa)
- [#18581](https://github.com/apache/superset/pull/18581) chore: Update Docusaurus links (@geido)
- [#18120](https://github.com/apache/superset/pull/18120) refactor: migrate SliderControl to TypeScript & added story (@ad-m)
- [#18657](https://github.com/apache/superset/pull/18657) chore(docs): add note about quote handling in filters (@villebro)
- [#17939](https://github.com/apache/superset/pull/17939) refactor(ExploreCtasResultsButton): convert to functional component (@ChristopherCFleming)
- [#18558](https://github.com/apache/superset/pull/18558) chore: Rename and reposition native filter modal fields (@michael-s-molina)
- [#18143](https://github.com/apache/superset/pull/18143) refactor: migrate ExploreResultsButton component to FC & tsx (@EugeneTorap)
- [#18200](https://github.com/apache/superset/pull/18200) chore: upgrade BoundsControl to TS (@ad-m)
- [#18585](https://github.com/apache/superset/pull/18585) chore: allow sqla docs to use supersettext (@pkdotson)
- [#18144](https://github.com/apache/superset/pull/18144) refactor: remove redundant propTypes in ColumnElement (@EugeneTorap)
- [#18600](https://github.com/apache/superset/pull/18600) docs: fixed URL for contributing landing page (@srinify)
- [#18580](https://github.com/apache/superset/pull/18580) docs: add password example to dataset import API (@villebro)
- [#17921](https://github.com/apache/superset/pull/17921) chore(explore): make adhoc columns available without UX BETA ff (@kgabryje)
- [#18574](https://github.com/apache/superset/pull/18574) chore: update gitignore in the main folder, to hide PyCharm configuration (@michael-hoffman-26)
- [#18568](https://github.com/apache/superset/pull/18568) chore: Remove outdated roadmap page from Docusaurus (@geido)
- [#18254](https://github.com/apache/superset/pull/18254) docs(i18n): make translation guide more explicit (@villebro)
- [#18231](https://github.com/apache/superset/pull/18231) chore: add ci for docs-v2 (@ad-m)
- [#18559](https://github.com/apache/superset/pull/18559) chore: Update Docusaurus dependencies (@geido)
- [#18229](https://github.com/apache/superset/pull/18229) chore: Reference GitHub code in Docusaurus (@geido)
- [#18251](https://github.com/apache/superset/pull/18251) chore(tests): migrate mssql tests to pytest (@villebro)
- [#18188](https://github.com/apache/superset/pull/18188) refactor: upgrade ControlHeader to TSX & FC and add storybook (@ad-m)
- [#18230](https://github.com/apache/superset/pull/18230) chore: Docusaurus throw on broken links (@geido)
- [#18170](https://github.com/apache/superset/pull/18170) refactor: extract json_required view decorator (@ad-m)
- [#17926](https://github.com/apache/superset/pull/17926) refactor: sqleditorleftbar to typescript (@JosueLugaro)
- [#18199](https://github.com/apache/superset/pull/18199) chore: Update links and navigation in Docusaurus (@geido)
- [#18206](https://github.com/apache/superset/pull/18206) chore: added release notes for 1.4 (@srinify)
- [#18196](https://github.com/apache/superset/pull/18196) docs(docker compose installation): add pull command to avoid errors when installing superset using docker compose (@ancasarb)
- [#18160](https://github.com/apache/superset/pull/18160) chore: move controlPanel into time_table (@zhaoyongjie)
- [#18162](https://github.com/apache/superset/pull/18162) chore: bump echarts to 5.3.0 (@villebro)
- [#18134](https://github.com/apache/superset/pull/18134) chore: bump pillow to major version (@eschutho)
- [#18151](https://github.com/apache/superset/pull/18151) refactor: Moves the Explore form_data endpoint (@michael-s-molina)
- [#18130](https://github.com/apache/superset/pull/18130) chore: use pkg_resources for cleaner config (@betodealmeida)
- [#18125](https://github.com/apache/superset/pull/18125) docs: fix typo on security page (@proteusvacuum)
- [#18133](https://github.com/apache/superset/pull/18133) chore: migrating storybook jsx to typescript #18100 (@jayakrishnankk)
- [#18083](https://github.com/apache/superset/pull/18083) chore: update changelog and updating for 1.4.0 (@eschutho)
- [#18105](https://github.com/apache/superset/pull/18105) refactor: migrate RowCountLabel to TypeScript & added story (@ad-m)
- [#18101](https://github.com/apache/superset/pull/18101) refactor: migrate Checkbox story to TypeScript - see #18100 (@ad-m)
- [#17807](https://github.com/apache/superset/pull/17807) refactor: sqleditorleftbar to functional (@JosueLugaro)
- [#18082](https://github.com/apache/superset/pull/18082) chore: split CLI into multiple files (@betodealmeida)
- [#18060](https://github.com/apache/superset/pull/18060) refactor(example_data): replace the way the birth_names data is loaded to DB (@ofekisr)
- [#17771](https://github.com/apache/superset/pull/17771) refactor(sql_lab): SQL Lab Persistent Saved State (@AAfghahi)
- [#18059](https://github.com/apache/superset/pull/18059) chore(plugin-chart-echarts): add types to controls (@villebro)
- [#18058](https://github.com/apache/superset/pull/18058) chore(supeset.utils.core): move all database utils to database utils module (@ofekisr)
- [#18037](https://github.com/apache/superset/pull/18037) chore: important change to MakeFile (@AAfghahi)
- [#17569](https://github.com/apache/superset/pull/17569) chore: column_type_mappings (@dungdm93)
- [#18003](https://github.com/apache/superset/pull/18003) chore(DatasourceEditor): Create Datasource Legacy Editor Feature Flag (@AAfghahi)
- [#17996](https://github.com/apache/superset/pull/17996) refactor: remove unused ts-jest (@zhaoyongjie)
- [#17893](https://github.com/apache/superset/pull/17893) refactor: examples data loading for tests (@ofekisr)
- [#17967](https://github.com/apache/superset/pull/17967) chore: use new FAB functionality for component schemas update OAS (@dpgaspar)
- [#17979](https://github.com/apache/superset/pull/17979) chore: reenable lint for test files (@zhaoyongjie)
- [#17965](https://github.com/apache/superset/pull/17965) refactor: move superset-ui dependencies to peerDependencies (@zhaoyongjie)
- [#17930](https://github.com/apache/superset/pull/17930) chore: Move edit dataset lock (@lyndsiWilliams)
- [#17718](https://github.com/apache/superset/pull/17718) docs(contributing): update contributing section on docs page to match CONTRIBUTING.md (@riahk)
- [#17975](https://github.com/apache/superset/pull/17975) docs: close bracket on helm chart reference (@brnnnfx)
- [#17971](https://github.com/apache/superset/pull/17971) chore: bump typescript to 4.5.4, and adjust storybook story. (@rusackas)
- [#17972](https://github.com/apache/superset/pull/17972) chore: fixing annoying warning about escaping in Emotion styling (@rusackas)
- [#17947](https://github.com/apache/superset/pull/17947) refactor: import value name from root of superset-ui/core (@zhaoyongjie)
- [#17959](https://github.com/apache/superset/pull/17959) chore(deps): bump underscore from 1.12.0 to 1.12.1 in /superset-frontend (@dependabot[bot])
- [#17958](https://github.com/apache/superset/pull/17958) chore(deps): bump babel from 2.5.3 to 2.9.1 in /superset/translations (@dependabot[bot])
- [#17904](https://github.com/apache/superset/pull/17904) chore(deps): bump @storybook/addon-actions from 6.3.12 to 6.4.9 in /superset-frontend (@dependabot[bot])
- [#17902](https://github.com/apache/superset/pull/17902) chore: Moves spec files to the src folder - iteration 10 (@michael-s-molina)
- [#17901](https://github.com/apache/superset/pull/17901) chore: Moves spec files to the src folder - iteration 9 (@michael-s-molina)
- [#17956](https://github.com/apache/superset/pull/17956) chore: Adding more viz category mappings for viz picker (@rusackas)
- [#17963](https://github.com/apache/superset/pull/17963) chore: unbreak pip-compile-multi (@villebro)
- [#17899](https://github.com/apache/superset/pull/17899) chore: Moves spec files to the src folder - iteration 8 (@michael-s-molina)
- [#17897](https://github.com/apache/superset/pull/17897) chore: Moves the Menu to views/components folder (@michael-s-molina)
- [#17896](https://github.com/apache/superset/pull/17896) chore: Moves the hooks folder to the src folder (@michael-s-molina)
- [#17962](https://github.com/apache/superset/pull/17962) chore(deps): bump urijs from 1.19.6 to 1.19.7 in /superset-frontend (@dependabot[bot])
- [#17942](https://github.com/apache/superset/pull/17942) chore: Fix 'button' misspelling in list_with_checkboxes (@acrks)
- [#17860](https://github.com/apache/superset/pull/17860) chore: remove unused eslintrc (@zhaoyongjie)
- [#17909](https://github.com/apache/superset/pull/17909) refactor(storybook): upgrade to webpack5 in storybook of plugins (@zhaoyongjie)
- [#17924](https://github.com/apache/superset/pull/17924) chore: fix misspelling of button (@DavidWoolner)
- [#17782](https://github.com/apache/superset/pull/17782) ci: make presto hive tests to cover only chartData and sqljson (@amitmiran137)
- [#17717](https://github.com/apache/superset/pull/17717) chore: Fix UPDATING.md (@john-bodley)
- [#17824](https://github.com/apache/superset/pull/17824) chore: Help user to find the input fields in the dataset editor (@lyndsiWilliams)
- [#17837](https://github.com/apache/superset/pull/17837) refactor(monorepo): update plugin dependencies (@zhaoyongjie)
- [#17829](https://github.com/apache/superset/pull/17829) chore(generator-superset): migrate to monorepo (@villebro)
- [#17832](https://github.com/apache/superset/pull/17832) chore: Refactor localstorage into typesafe version (@etr2460)
- [#17811](https://github.com/apache/superset/pull/17811) other: Add Helm chart option for configOverrides through file (@dd-willgan)
- [#17828](https://github.com/apache/superset/pull/17828) chore: add lerna version (@zhaoyongjie)
- [#17827](https://github.com/apache/superset/pull/17827) refactor(monorepo): migrate plugins release workflow (@zhaoyongjie)
- [#17754](https://github.com/apache/superset/pull/17754) docs: update contributing docs (@zhaoyongjie)
- [#17650](https://github.com/apache/superset/pull/17650) chore: updated screenshots in README.md and added recent events (@srinify)
- [#17797](https://github.com/apache/superset/pull/17797) chore(plugin-chart-table): move adhoc filters control closer to the metrics (@kgabryje)
- [#17798](https://github.com/apache/superset/pull/17798) chore(plugin-chart-pivot-table): change order of Columns and Rows controls (@kgabryje)
- [#17769](https://github.com/apache/superset/pull/17769) chore(plugin-chart-pivot-table): migrate react-pivottable into superset codebase (@kgabryje)
- [#17785](https://github.com/apache/superset/pull/17785) docs: Fix typo on line 967 (@ChristopherCFleming)
- [#17780](https://github.com/apache/superset/pull/17780) chore: update fixtures scope that are loading data into the analytical db (@bkyryliuk)
- [#17770](https://github.com/apache/superset/pull/17770) chore: print test runtime (@bkyryliuk)
- [#17772](https://github.com/apache/superset/pull/17772) chore: skip flaky tests (@betodealmeida)
- [#17764](https://github.com/apache/superset/pull/17764) chore: bump react-resize-detector (@villebro)
- [#17723](https://github.com/apache/superset/pull/17723) chore: bump FAB to 3.4.1 (@dpgaspar)
- [#17698](https://github.com/apache/superset/pull/17698) refactor(monorepo): change coverage of core to 100% (@zhaoyongjie)
- [#17737](https://github.com/apache/superset/pull/17737) chore: fixed spelling error on line 1342 of CONTRIBUTING.md (@JosueLugaro)
- [#17735](https://github.com/apache/superset/pull/17735) chore: fix misspelling of apprear to appear (@jcahela)
- [#17693](https://github.com/apache/superset/pull/17693) chore(de-translations): Add missing German translations (@hbruch)
- [#17715](https://github.com/apache/superset/pull/17715) chore: Rename CertifiedIcon to CertifiedBadge (@geido)
- [#17691](https://github.com/apache/superset/pull/17691) chore: Update TS tasklist script (@etr2460)
- [#17705](https://github.com/apache/superset/pull/17705) chore: unblock ci on postgres lint (@villebro)
- [#17596](https://github.com/apache/superset/pull/17596) refactor(monorepo): relocate deckgl to Superset (@zhaoyongjie)
- [#17689](https://github.com/apache/superset/pull/17689) chore: convert feature flag tests to unit tests (@betodealmeida)
- [#17687](https://github.com/apache/superset/pull/17687) chore: removing redundant docker-entrypoint (@ofekisr)
- [#17679](https://github.com/apache/superset/pull/17679) chore: update babel doc (@zhaoyongjie)
- [#17622](https://github.com/apache/superset/pull/17622) chore: Remove unreachable return statements (@PApostol)
- [#17605](https://github.com/apache/superset/pull/17605) docs(exploring-data): add a native filters section to the exploring data docs (@riahk)
- [#17639](https://github.com/apache/superset/pull/17639) refactor(monorepo): frontend code cleanup after monorepo (@zhaoyongjie)
- [#17631](https://github.com/apache/superset/pull/17631) chore(de-translations): Add and fix German translations (@hbruch)
- [#17626](https://github.com/apache/superset/pull/17626) chore(superset-ui): clean up legacy-plugin-chart-time-table (@ktmud)
- [#17634](https://github.com/apache/superset/pull/17634) chore(plugin-chart-pivot-table): Add more descriptive tooltips for sorting [ID-29] (@kgabryje)
- [#17606](https://github.com/apache/superset/pull/17606) refactor: Add AutoSizer to react-virtualized `Grid` (@hughhhh)
- [#17624](https://github.com/apache/superset/pull/17624) chore: Added unit test to query context change (@AAfghahi)
- [#17623](https://github.com/apache/superset/pull/17623) chore: Update docstrings in presto.py (@PApostol)
- [#17575](https://github.com/apache/superset/pull/17575) chore: bumping `polished` package (@rusackas)
- [#17603](https://github.com/apache/superset/pull/17603) chore: migrate EstimateQueryCostButton component from jsx to tsx (@Damans227)
- [#17516](https://github.com/apache/superset/pull/17516) docs(exploring-data): various updates to match latest superset version (@riahk)
- [#17577](https://github.com/apache/superset/pull/17577) chore: auditing cypress-base dependencies (@rusackas)
- [#17533](https://github.com/apache/superset/pull/17533) chore(deps-dev): bump @types/jquery from 3.5.8 to 3.5.9 in /superset-frontend (@dependabot[bot])
- [#17534](https://github.com/apache/superset/pull/17534) chore(deps-dev): bump @types/enzyme from 3.10.5 to 3.10.10 in /superset-frontend (@dependabot[bot])
- [#17535](https://github.com/apache/superset/pull/17535) chore(deps-dev): bump mini-css-extract-plugin from 2.3.0 to 2.4.5 in /superset-frontend (@dependabot[bot])
- [#17585](https://github.com/apache/superset/pull/17585) chore: disable merge button (@zhaoyongjie)
- [#17584](https://github.com/apache/superset/pull/17584) chore: temporarily update .asf.yml (@zhaoyongjie)
- [#17552](https://github.com/apache/superset/pull/17552) refactor(monorepo): move superset-ui to superset(stage 2) (@zhaoyongjie)
- [#17474](https://github.com/apache/superset/pull/17474) chore: migrate Fieldset component from jsx to tsx (@Damans227)
- [#17556](https://github.com/apache/superset/pull/17556) chore: bump mysqlclient version (@gnought)
- [#17525](https://github.com/apache/superset/pull/17525) chore(translations): Add missing i18n (@hbruch)
- [#17562](https://github.com/apache/superset/pull/17562) chore: Fix deprecated unittest aliases for Python 3.11 compatibility. (@tirkarthi)
- [#17561](https://github.com/apache/superset/pull/17561) chore: disable merge commit option (@villebro)
- [#17560](https://github.com/apache/superset/pull/17560) chore: temporarily enable merge in .asf.yml (@zhaoyongjie)
- [#17326](https://github.com/apache/superset/pull/17326) chore: migrate DragHandle component from jsx to tsx (@Damans227)
- [#17521](https://github.com/apache/superset/pull/17521) chore: bump major on Pillow, optional dependency (@dpgaspar)
- [#17452](https://github.com/apache/superset/pull/17452) chore(deps-dev): bump @types/jquery from 3.3.32 to 3.5.8 in /superset-frontend (@dependabot[bot])
- [#14783](https://github.com/apache/superset/pull/14783) chore: Slovak translation, enabling language and adding first translations (@minho95)
- [#17453](https://github.com/apache/superset/pull/17453) chore(deps-dev): bump eslint-import-resolver-webpack from 0.13.1 to 0.13.2 in /superset-frontend (@dependabot[bot])
- [#17502](https://github.com/apache/superset/pull/17502) docs(exploring-data): Add upload excel notes (@aniaan)
- [#17522](https://github.com/apache/superset/pull/17522) chore: remove deprecated selects and deps (@villebro)
- [#17492](https://github.com/apache/superset/pull/17492) chore: update node version in nvmrc to v16 (@ktmud)
- [#17500](https://github.com/apache/superset/pull/17500) chore(deps-dev): bump @babel/cli from 7.15.7 to 7.16.0 in /superset-frontend (@dependabot[bot])
- [#17478](https://github.com/apache/superset/pull/17478) chore(de-translation): update German translations (based on master) (#17441) (@hbruch)
- [#17501](https://github.com/apache/superset/pull/17501) chore(translations): fix translation literals (@villebro)
- [#17504](https://github.com/apache/superset/pull/17504) docs: add dropbox to users list (@exemplary-citizen)
- [#17361](https://github.com/apache/superset/pull/17361) chore: migrate FormattedNumber component from jsx to tsx (@Damans227)
- [#17509](https://github.com/apache/superset/pull/17509) refactor(chart.commands): separate commands into two different modules (@ofekisr)
- [#17434](https://github.com/apache/superset/pull/17434) chore: Slovenian translation update (@dkrat7)
- [#17497](https://github.com/apache/superset/pull/17497) refactor(QueryContext): separate all processing concerns into QueryContextProcessor (@ofekisr)
- [#17484](https://github.com/apache/superset/pull/17484) docs: mention that username should be admin to load examples in superset docs (@jayakrishnankk)
- [#14837](https://github.com/apache/superset/pull/14837) docs: Update frequently-asked-questions-page.mdx (@kurtiswen)
- [#17496](https://github.com/apache/superset/pull/17496) refactor(QueryContext): move df methods utils to utils package (@ofekisr)
- [#17495](https://github.com/apache/superset/pull/17495) refactor(QueryContext): add QueryContextFactory to meet SRP (@ofekisr)
- [#17482](https://github.com/apache/superset/pull/17482) chore(deps): bump cachelib from 0.1.1 to 0.4.1 (@villebro)
- [#17464](https://github.com/apache/superset/pull/17464) chore(sql_lab): Added Unit Test for stop query exception (@AAfghahi)
- [#17454](https://github.com/apache/superset/pull/17454) chore(deps-dev): bump @types/react-loadable from 5.5.4 to 5.5.6 in /superset-frontend (@dependabot[bot])
- [#17479](https://github.com/apache/superset/pull/17479) refactor(QueryObject): decouple from superset (@ofekisr)
- [#17466](https://github.com/apache/superset/pull/17466) refactor(QueryObject): add QueryObjectFactory to meet SRP (@ofekisr)
- [#17465](https://github.com/apache/superset/pull/17465) refactor(QueryObject): decouple from queryContext and clean code (@ofekisr)
- [#16868](https://github.com/apache/superset/pull/16868) chore(fr-translation): update whole French translation (based on 1.3.0 release) (@audour)
- [#17461](https://github.com/apache/superset/pull/17461) refactor(ChartDataCommand): remove create queryContext command's responsibly (@ofekisr)
- [#17427](https://github.com/apache/superset/pull/17427) refactor(monorepo): stage 1 (@zhaoyongjie)
- [#17451](https://github.com/apache/superset/pull/17451) chore: Ignore docs directory for dependabot (@hughhhh)
- [#17398](https://github.com/apache/superset/pull/17398) test: add native filter default value e2e (@jinghua-qa)
- [#17439](https://github.com/apache/superset/pull/17439) chore: bumping react syntax highlighter and thusly prismjs (@rusackas)
- [#17422](https://github.com/apache/superset/pull/17422) chore: Notify user of custom label colors and related Dashboard color scheme (@geido)
- [#14576](https://github.com/apache/superset/pull/14576) chore(deps): bump hosted-git-info from 2.8.8 to 2.8.9 in /docs (@dependabot[bot])
- [#17438](https://github.com/apache/superset/pull/17438) chore: bump superset-ui 0.18.25 (@zhaoyongjie)
- [#17425](https://github.com/apache/superset/pull/17425) refactor(ChartDataCommand): into two separate commands (@ofekisr)
- [#17407](https://github.com/apache/superset/pull/17407) refactor(TestChartApi): move chart data api tests into TestChartDataApi (@ofekisr)
- [#17405](https://github.com/apache/superset/pull/17405) refactor(ChartDataCommand): separate loading query_context form cache into different module (@ofekisr)
- [#17403](https://github.com/apache/superset/pull/17403) chore: add dependencies for monorepo (@zhaoyongjie)
- [#17400](https://github.com/apache/superset/pull/17400) refactor(ChartData): move chart_data_apis from ChartRestApi ChartDataRestApi (@ofekisr)
- [#17399](https://github.com/apache/superset/pull/17399) refactor(ChartData): move ChartDataResult enums to common (@ofekisr)
- [#17350](https://github.com/apache/superset/pull/17350) docs: add mishmash io to users list (@ntsvetanov)
- [#17387](https://github.com/apache/superset/pull/17387) docs: Reorder install instructions in CONTRIBUTING.md (@willbarrett)
- [#17367](https://github.com/apache/superset/pull/17367) chore: bump @typescript-eslint/eslint-plugin to 5.3.0 (@zhaoyongjie)
- [#17362](https://github.com/apache/superset/pull/17362) chore: bump superset-ui 0.18.20 (@zhaoyongjie)
- [#17343](https://github.com/apache/superset/pull/17343) test: add native filter e2e test part3 (@jinghua-qa)
- [#17325](https://github.com/apache/superset/pull/17325) chore(websocket): bump dependencies (@villebro)
- [#17246](https://github.com/apache/superset/pull/17246) chore: Test cases for annotations and annotation layers incorrect creation through API (@geido)
- [#17306](https://github.com/apache/superset/pull/17306) docs: fix numbering on getting started with kubernetes section (@jameskim0987)
- [#17315](https://github.com/apache/superset/pull/17315) chore: migrate HiddenControl component from jsx to tsx (@Damans227)
- [#17310](https://github.com/apache/superset/pull/17310) chore: bump superset-ui to 0.18.18 (@villebro)
- [#17284](https://github.com/apache/superset/pull/17284) style: remove redundant parentheses from setup.py (@PApostol)
- [#17283](https://github.com/apache/superset/pull/17283) test: add native filter part2 (@jinghua-qa)
- [#17290](https://github.com/apache/superset/pull/17290) chore: Bumping pyarrow / pandas (@craig-rueda)
- [#17293](https://github.com/apache/superset/pull/17293) docs(UPDATING): Adding downtime for #16756 (@exemplary-citizen)
- [#17191](https://github.com/apache/superset/pull/17191) chore(doc): Update BigQuery Connection database connection UI into doc (@rosemarie-chiu)
- [#17231](https://github.com/apache/superset/pull/17231) test: added some sanity test for native filter (@jinghua-qa)
- [#17270](https://github.com/apache/superset/pull/17270) chore: bump superset-ui to 0.18.17 (@john-bodley)
- [#17266](https://github.com/apache/superset/pull/17266) chore: bump deckgl 0.4.13 (@zhaoyongjie)
- [#17069](https://github.com/apache/superset/pull/17069) chore: remove supersetTheme with withTheme (@pkdotson)
- [#17251](https://github.com/apache/superset/pull/17251) chore: bump superset-ui v0.18.16 (@zhaoyongjie)
- [#16950](https://github.com/apache/superset/pull/16950) other(revert): "fix: the calculated columns explicit type convert into date" (@john-bodley)
- [#17220](https://github.com/apache/superset/pull/17220) chore: bump Dremio to 1.2.1 (@hughhhh)
- [#17216](https://github.com/apache/superset/pull/17216) chore: Removes the ChartIcon component (@michael-s-molina)
- [#17232](https://github.com/apache/superset/pull/17232) chore: bump to superset-ui 0.18.15 (@zhaoyongjie)
- [#17171](https://github.com/apache/superset/pull/17171) chore: Add docs to the Select component props (@geido)
- [#17132](https://github.com/apache/superset/pull/17132) chore: Breaks the dataViewCommon folder into TableCollection and Pagination folders (@michael-s-molina)
- [#17215](https://github.com/apache/superset/pull/17215) chore: use official isort in pre-commmit (@zhaoyongjie)
- [#17145](https://github.com/apache/superset/pull/17145) refactor: dashboard->explore url generation (@suddjian)
- [#17130](https://github.com/apache/superset/pull/17130) chore: Moves the datasource components to the components folder (@michael-s-molina)
- [#17028](https://github.com/apache/superset/pull/17028) docs: add Symmetrics to users list (@symmetricsfyi)
- [#17151](https://github.com/apache/superset/pull/17151) chore: update ui packages to 18.14 (@pkdotson)
- [#17146](https://github.com/apache/superset/pull/17146) chore(druid): No transform without time granularity for consistency (@john-bodley)
- [#17101](https://github.com/apache/superset/pull/17101) chore(druid): Explicitly cast col to TIMESTAMP (@john-bodley)
- [#17115](https://github.com/apache/superset/pull/17115) perf(native-filters): Decrease number of unnecessary rerenders in native filters (@kgabryje)
- [#17067](https://github.com/apache/superset/pull/17067) chore: upgrade highlight.js (@suddjian)
- [#17121](https://github.com/apache/superset/pull/17121) chore: bump superset-ui packages to 18.3 (@pkdotson)
- [#17129](https://github.com/apache/superset/pull/17129) chore: remove redundant po2json dev dependency (@villebro)
- [#17102](https://github.com/apache/superset/pull/17102) chore: Include codeowners for the Select component (@michael-s-molina)
- [#16911](https://github.com/apache/superset/pull/16911) test: Cypress 7.0.0 migration (@lyndsiWilliams)
- [#17017](https://github.com/apache/superset/pull/17017) chore: enable BQ tests (@betodealmeida)
- [#14577](https://github.com/apache/superset/pull/14577) build(deps): bump lodash from 4.17.19 to 4.17.21 in /docs (@dependabot[bot])
- [#17050](https://github.com/apache/superset/pull/17050) chore(druid): Standardizing time grain transformations (@john-bodley)
- [#17045](https://github.com/apache/superset/pull/17045) docs: add vscode linter instructions to CONTRIBUTING.md (@suddjian)
- [#16993](https://github.com/apache/superset/pull/16993) style: Update text for SLL Tooltip (@gabester78)
- [#16959](https://github.com/apache/superset/pull/16959) chore(Dashboard): Implement dedicated message for missing dataset (@geido)
- [#17016](https://github.com/apache/superset/pull/17016) docs(pylint): Add context about disabling of Pylint messages (@john-bodley)
- [#17009](https://github.com/apache/superset/pull/17009) chore: bump superset-ui 0.18.10 (@zhaoyongjie)
- [#16974](https://github.com/apache/superset/pull/16974) refactor(filterset): improve response body (@ofekisr)
- [#16999](https://github.com/apache/superset/pull/16999) chore: no direct use of supersetTheme (or bad LESS vars) in SqlEditor (@rusackas)
- [#17000](https://github.com/apache/superset/pull/17000) chore: removing use of supersetTheme in favor of ThemeProvider (@rusackas)
- [#16885](https://github.com/apache/superset/pull/16885) chore: upgrade babel (@suddjian)
- [#16973](https://github.com/apache/superset/pull/16973) test: update required tests to python 3.8 (@villebro)
- [#16689](https://github.com/apache/superset/pull/16689) chore: refactor header menu to show in header grid component (@pkdotson)

View File

@@ -1,36 +0,0 @@
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
## Change Log
### 1.5.1 (Thu May 26 14:45:20 2022 +0300)
**Fixes**
- [#19685](https://github.com/apache/superset/pull/19685) fix: login button does not render (@villebro)
- [#20181](https://github.com/apache/superset/pull/20181) fix(temporary-cache): when user is anonymous (@villebro)
- [#20091](https://github.com/apache/superset/pull/20091) fix: "Week Staring Monday" time grain for BigQuery (@ramunas-omnisend)
- [#20135](https://github.com/apache/superset/pull/20135) fix: Allow dataset owners to see their datasets (@cccs-tom)
- [#20123](https://github.com/apache/superset/pull/20123) fix(presto,trino): use correct literal dttm separator (@villebro)
- [#20077](https://github.com/apache/superset/pull/20077) fix(generic-axes): apply contribution before flatten (@villebro)
- [#19970](https://github.com/apache/superset/pull/19970) fix: Athena timestamp literal format (@thinhnd2104)
- [#20055](https://github.com/apache/superset/pull/20055) fix(plugin-chart-echarts): support adhoc x-axis (@villebro)
- [#18873](https://github.com/apache/superset/pull/18873) fix(sqllab/charts): casting from timestamp[us] to timestamp[ns] would result in out of bounds timestamp (@yeachan153)
- [#19917](https://github.com/apache/superset/pull/19917) fix(sqla): replace custom dttm type with literal_column (@villebro)
- [#19854](https://github.com/apache/superset/pull/19854) fix: Alpha should not be able to edit datasets that they don't own (@hughhhh)

View File

@@ -1,48 +0,0 @@
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
## Change Log
### 1.5.2 (Wed Sep 14 17:11:51 2022 +0530)
**Fixes**
- [#21461](https://github.com/apache/superset/pull/21461) fix: dashboard filter value is cleared when 2 similar dashboards opened in succession (@mayurnewase)
- [#21419](https://github.com/apache/superset/pull/21419) fix: cached common bootstrap Revert (#21018) (@dpgaspar)
- [#21302](https://github.com/apache/superset/pull/21302) fix: disallow users from viewing other user's profile on config (@dpgaspar)
- [#21272](https://github.com/apache/superset/pull/21272) fix: adds TLS certificate validation option for SMTP (@dpgaspar)
- [#21076](https://github.com/apache/superset/pull/21076) fix(celery cache warmup): add auth and use warm_up_cache endpoint (@nytai)
- [#20178](https://github.com/apache/superset/pull/20178) fix: While exporting CSV , only the entries on first page are getting downloaded even when user is on other pages #17861 (@LahmerIlyas)
- [#20058](https://github.com/apache/superset/pull/20058) fix: Support the Clipboard API in modern browsers (@diegomedina248)
- [#20434](https://github.com/apache/superset/pull/20434) fix(20428): Address-Presto/Trino-Poll-Issue-Refactor (@Thelin90)
- [#20348](https://github.com/apache/superset/pull/20348) fix(docker): Make Gunicorn Keepalive Adjustable (@mdeshmu)
- [#20315](https://github.com/apache/superset/pull/20315) fix(chart): chart gets cut off on the dashboard (@stephenLYZ)
- [#20235](https://github.com/apache/superset/pull/20235) fix: Box Plot Chart throws an error when the average (AVG) / SUM is being calculated on the Metrics (@diegomedina248)
- [#20151](https://github.com/apache/superset/pull/20151) fix(csv): Ensure df_to_escaped_csv does not coerce integer columns to float (@john-bodley)
- [#20173](https://github.com/apache/superset/pull/20173) fix: avoid while cycle in computeMaxFontSize for big Number run forever when css rule applied (@diegomedina248)
- [#19570](https://github.com/apache/superset/pull/19570) fix: sqloxide optional (@betodealmeida)
**Others**
- [#21439](https://github.com/apache/superset/pull/21439) perf: Memoize the common_bootstrap_payload and include user param (#21018) (@bkyryliuk)
- [#19703](https://github.com/apache/superset/pull/19703) chore(build): upgrade less-loader (@ktmud)
- [#20550](https://github.com/apache/superset/pull/20550) chore: updating python docker image to 3.8.13 (@nisheldo)
- [#21018](https://github.com/apache/superset/pull/21018) perf: Memoize the common_bootstrap_payload (@bkyryliuk)
- [#20974](https://github.com/apache/superset/pull/20974) perf: Implement model specific lookups by id to improve performance (@bkyryliuk)
- [#20273](https://github.com/apache/superset/pull/20273) chore: adjust the psycopg2 version of k8s installation guide (@ensky)

View File

@@ -1,46 +0,0 @@
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
## Change Log
### 1.5.3 (Thu Jan 5 15:05:44 2023 -0500)
**Database Migrations**
**Features**
**Fixes**
- [#21895](https://github.com/apache/superset/pull/21895) fix: Improves SafeMarkdown HTML sanitization (@michael-s-molina)
- [#21874](https://github.com/apache/superset/pull/21874) fix: Adds a Content Security Policy (CSP) check for production environments (@michael-s-molina)
- [#21853](https://github.com/apache/superset/pull/21853) fix: Disables HTML rendering in Toast by default (@michael-s-molina)
- [#22591](https://github.com/apache/superset/pull/22591) fix: Talisman configuration (@michael-s-molina)
- [#22196](https://github.com/apache/superset/pull/22196) fix(reports): force data generation in csv reports (@mayurnewase)
- [#22038](https://github.com/apache/superset/pull/22038) fix: datasource save, improve data validation (@dpgaspar)
- [#22022](https://github.com/apache/superset/pull/22022) fix: deprecate approve and request_access endpoint (@dpgaspar)
- [#21964](https://github.com/apache/superset/pull/21964) fix: dashboard api cache decorator (@dpgaspar)
- [#21875](https://github.com/apache/superset/pull/21875) fix: check that imports are ZIPs (@betodealmeida)
- [#21761](https://github.com/apache/superset/pull/21761) fix: flash message on database data upload forms (@dpgaspar)
- [#21759](https://github.com/apache/superset/pull/21759) fix: database schema selector on import data (@dpgaspar)
- [#21729](https://github.com/apache/superset/pull/21729) fix: allow adhoc columns in non-aggregate query (@mayurnewase)
- [#21216](https://github.com/apache/superset/pull/21216) fix(database-list): hide upload file button if no permission (@stephenLYZ)
**Others**
- [#21811](https://github.com/apache/superset/pull/21811) chore(sqla): refactor query utils (@villebro)

View File

@@ -1,514 +0,0 @@
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
## Change Log
### 2.0.0 (Tue Jun 28 08:53:02 2022 -0400)
**Database Migrations**
- [#20385](https://github.com/apache/superset/pull/20385) fix(migration): Ensure key_value LargeBinary is encoded as a MEDIUMBLOB as opposed to BLOB for MySQL (@john-bodley)
- [#20284](https://github.com/apache/superset/pull/20284) chore(migrations): Renaming migration files so that they're easier to keep track of (@craig-rueda)
- [#20108](https://github.com/apache/superset/pull/20108) fix: None dataset and schema permissions (@dpgaspar)
- [#18794](https://github.com/apache/superset/pull/18794) feat(business-types): initial implementation of SIP-78 (@cccs-RyanS)
- [#20073](https://github.com/apache/superset/pull/20073) fix(dataset): handle missing sqla uri in migration (@villebro)
- [#19941](https://github.com/apache/superset/pull/19941) fix(reports): Clear last value when state is WORKING (@john-bodley)
- [#19675](https://github.com/apache/superset/pull/19675) chore(docs): Spelling (@jsoref)
- [#19793](https://github.com/apache/superset/pull/19793) fix(SIP-68): handle empty table name during migration (@ktmud)
- [#19786](https://github.com/apache/superset/pull/19786) fix(migrations): coalesce is_temporal when inserting into sl_columns (@cemremengu)
- [#19421](https://github.com/apache/superset/pull/19421) perf: refactor SIP-68 db migrations with INSERT SELECT FROM (@ktmud)
- [#19767](https://github.com/apache/superset/pull/19767) fix: Fix migration for removing time_range_endpoints 3 (@hughhhh)
- [#19728](https://github.com/apache/superset/pull/19728) fix: Removetime_range_endpoints from query context object pt 2 (@hughhhh)
- [#19630](https://github.com/apache/superset/pull/19630) chore: clean up unused imports in db migration scripts (@ktmud)
- [#19577](https://github.com/apache/superset/pull/19577) fix: merge multiple db heads (@eschutho)
- [#19243](https://github.com/apache/superset/pull/19243) fix: cannot delete a database if team member has SQL editor tab that uses that db (@diegomedina248)
- [#19537](https://github.com/apache/superset/pull/19537) chore: block unsafe functions (@betodealmeida)
- [#19513](https://github.com/apache/superset/pull/19513) chore: postpone timerange endpoint removal (@villebro)
- [#19495](https://github.com/apache/superset/pull/19495) perf: speed up db migration for deprecating time_range_endpoints (@ktmud)
- [#19474](https://github.com/apache/superset/pull/19474) fix: handle null params in #18936 migration (@serenajiang)
- [#19423](https://github.com/apache/superset/pull/19423) fix: Remove`time_range_endpoints` from query context object (@hughhhh)
- [#18936](https://github.com/apache/superset/pull/18936) chore: Remove legacy SIP-15 interim logic/flags (@john-bodley)
**Features**
- [#20377](https://github.com/apache/superset/pull/20377) feat(standardized form data): keep all columns and metrics (@zhaoyongjie)
- [#20114](https://github.com/apache/superset/pull/20114) feat(chart): Enable caching per user when user impersonation is enabled (@Samira-El)
- [#20408](https://github.com/apache/superset/pull/20408) feat(plugin-chart-echarts): Support stacking negative and positive values (@kgabryje)
- [#20278](https://github.com/apache/superset/pull/20278) feat: Prevent dataset edit modal closing on click-away in edit mode (@reesercollins)
- [#20392](https://github.com/apache/superset/pull/20392) feat: setting limit value when Pie chart switches (@zhaoyongjie)
- [#20373](https://github.com/apache/superset/pull/20373) feat: adding truncate metric control on timeseries charts (@zhaoyongjie)
- [#20248](https://github.com/apache/superset/pull/20248) feat(explore): Implement viz switcher redesign (@kgabryje)
- [#20113](https://github.com/apache/superset/pull/20113) feat(api): Added "kind" to dataset/<pk> endpoint (@reesercollins)
- [#20299](https://github.com/apache/superset/pull/20299) feat(explore): Dataset Panel Options when Source = Query II (@lyndsiWilliams)
- [#20320](https://github.com/apache/superset/pull/20320) feat: Databricks native driver (@betodealmeida)
- [#20313](https://github.com/apache/superset/pull/20313) feat(explore): Denormalize form data in echarts, world map and nvd3 bar and line charts (@kgabryje)
- [#20277](https://github.com/apache/superset/pull/20277) feat: multiple results pane on explore and dashboard (@zhaoyongjie)
- [#19898](https://github.com/apache/superset/pull/19898) feat: When editing the label/title in the Metrics popover, hitting Enter should save what you've typed (@diegomedina248)
- [#16493](https://github.com/apache/superset/pull/16493) feat(plugin-chart-echarts): [feature-parity] support extra control for the area chart V2 (@stephenLYZ)
- [#19855](https://github.com/apache/superset/pull/19855) feat(explore): Frontend implementation of dataset creation from infobox (@lyndsiWilliams)
- [#20165](https://github.com/apache/superset/pull/20165) feat: add modified col and timezone info to schedule col (@pkdotson)
- [#20144](https://github.com/apache/superset/pull/20144) feat: showing results pane in dashboard (@zhaoyongjie)
- [#20242](https://github.com/apache/superset/pull/20242) feat: derived metrics use different line style (@zhaoyongjie)
- [#20010](https://github.com/apache/superset/pull/20010) feat: standardized form_data (@zhaoyongjie)
- [#19987](https://github.com/apache/superset/pull/19987) feat(superset-ui-core): add feature flag for the analogous colors (@stephenLYZ)
- [#19881](https://github.com/apache/superset/pull/19881) feat(world-map): support color by metric or country column (@stephenLYZ)
- [#19981](https://github.com/apache/superset/pull/19981) feat!: pass datasource_type and datasource_id to form_data (@eschutho)
- [#15241](https://github.com/apache/superset/pull/15241) feat: query datasets from SQL Lab (@betodealmeida)
- [#20129](https://github.com/apache/superset/pull/20129) feat(explore): Fill dashboard name when adding new chart from dashboard view (@kgabryje)
- [#20160](https://github.com/apache/superset/pull/20160) feat(explore): Add empty state to annotations (@kgabryje)
- [#20134](https://github.com/apache/superset/pull/20134) feat: add Query.columns for bootstrap_data (@hughhhh)
- [#20158](https://github.com/apache/superset/pull/20158) feat: add statsd metrics for notifications (@dpgaspar)
- [#20052](https://github.com/apache/superset/pull/20052) feat(Helm Chart): Support resource limits and requests for each component (@rathberm)
- [#20170](https://github.com/apache/superset/pull/20170) feat: add samples endpoint (@zhaoyongjie)
- [#19381](https://github.com/apache/superset/pull/19381) feat: add drag and drop column rearrangement for table viz (@stevetracvc)
- [#20136](https://github.com/apache/superset/pull/20136) feat: Add Certified filter to Datasets (@hughhhh)
- [#20111](https://github.com/apache/superset/pull/20111) feat(dashboard): Chart title click redirects to Explore in new tab (@kgabryje)
- [#20097](https://github.com/apache/superset/pull/20097) feat(plugin-chart-echarts): add support for generic axis to mixed chart (@villebro)
- [#20126](https://github.com/apache/superset/pull/20126) feat(dashboard): Add create chart button in dashboard edit mode (@kgabryje)
- [#20059](https://github.com/apache/superset/pull/20059) feat: Save column data into json_metadata for all Query executions (@hughhhh)
- [#19918](https://github.com/apache/superset/pull/19918) feat(plugin-chart-echarts): support horizontal bar chart (@stephenLYZ)
- [#19902](https://github.com/apache/superset/pull/19902) feat: Explore popovers should close on escape (@diegomedina248)
- [#20049](https://github.com/apache/superset/pull/20049) feat(dashboard): Rearrange items in chart header controls dropdown (@kgabryje)
- [#20030](https://github.com/apache/superset/pull/20030) feat(sip-68): Add DatasourceDAO class to manage querying different datasources easier (@hughhhh)
- [#19581](https://github.com/apache/superset/pull/19581) feat(viz-gallery): add search weight for viz-name (@stephenLYZ)
- [#19999](https://github.com/apache/superset/pull/19999) feat: RLS for SQL Lab (@betodealmeida)
- [#19993](https://github.com/apache/superset/pull/19993) feat(explore): Show confirmation modal if user exits Explore without saving changes (@kgabryje)
- [#19873](https://github.com/apache/superset/pull/19873) feat(css): adds `chartId`-based class to dashboard chart holder (@rusackas)
- [#20002](https://github.com/apache/superset/pull/20002) feat: deprecate /superset/testconn and migrate to api v1 (@zephyring)
- [#19935](https://github.com/apache/superset/pull/19935) feat: deprecate /superset/validate_sql_json migrate to api v1 (@dpgaspar)
- [#20015](https://github.com/apache/superset/pull/20015) feat: add new enums for datasource types (@hughhhh)
- [#19956](https://github.com/apache/superset/pull/19956) feat: Applitools Cypress workflow (@geido)
- [#19852](https://github.com/apache/superset/pull/19852) feat: Run Applitools on public Storybook (@geido)
- [#19963](https://github.com/apache/superset/pull/19963) feat: Add cypress test for downloading chart as image (@codemaster08240328)
- [#19957](https://github.com/apache/superset/pull/19957) feat: switch from `sqlalchemy-trino` to `trino-python-client` (@dungdm93)
- [#19921](https://github.com/apache/superset/pull/19921) feat: deprecate /superset/extra_table_metadata migrate to api v1 (@dpgaspar)
- [#19745](https://github.com/apache/superset/pull/19745) feat: simplify SQLite time grain (@betodealmeida)
- [#19927](https://github.com/apache/superset/pull/19927) feat(chart & legend): make to enable show legend by default (@prosdev0107)
- [#19754](https://github.com/apache/superset/pull/19754) feat: deprecate old API on core superset fave_dashboards (@dpgaspar)
- [#19905](https://github.com/apache/superset/pull/19905) feat: simplify `memoized_func` (@betodealmeida)
- [#19871](https://github.com/apache/superset/pull/19871) feat(filter): make to hide sort filter when time range (@prosdev0107)
- [#19851](https://github.com/apache/superset/pull/19851) feat: add Advanced Analytics into mixed time series chart (@zhaoyongjie)
- [#19692](https://github.com/apache/superset/pull/19692) feat: Update ShortKey for stop query running in SqlLab editor (@codemaster08240328)
- [#17903](https://github.com/apache/superset/pull/17903) feat: Adds plugin-chart-handlebars (@jdbranham)
- [#19748](https://github.com/apache/superset/pull/19748) feat(explore): improve UI in the control panel (@stephenLYZ)
- [#19724](https://github.com/apache/superset/pull/19724) feat: 10/15/30 min grain to Pinot (@hughhhh)
- [#19696](https://github.com/apache/superset/pull/19696) feat(explore): Replace overlay with alert banner when chart controls change (@kgabryje)
- [#19751](https://github.com/apache/superset/pull/19751) feat(explore): Implement data panel redesign (@kgabryje)
- [#19598](https://github.com/apache/superset/pull/19598) feat: add empty states to sqlab editor and select (@pkdotson)
- [#19450](https://github.com/apache/superset/pull/19450) feat: Remove legacy sql alchemy db connection link from G Sheet connection (@codemaster08240328)
- [#19710](https://github.com/apache/superset/pull/19710) feat: Enabling source maps full time (@rusackas)
- [#19671](https://github.com/apache/superset/pull/19671) feat: UI override registry (@suddjian)
- [#19691](https://github.com/apache/superset/pull/19691) feat(explore): More explicit labels of adhoc filter operators (@kgabryje)
- [#19558](https://github.com/apache/superset/pull/19558) feat(explore): Redesign of Run/Save buttons (@kgabryje)
- [#19650](https://github.com/apache/superset/pull/19650) feat(embedded): API get embedded dashboard config by uuid (@lilykuang)
- [#19310](https://github.com/apache/superset/pull/19310) feat(CRUD): add new empty state (@stephenLYZ)
- [#19622](https://github.com/apache/superset/pull/19622) feat(plugin-chart-echarts): add aggregate total for the Pie/Donut chart (@stephenLYZ)
- [#19314](https://github.com/apache/superset/pull/19314) feat: Move Database Import option into DB Connection modal (@lyndsiWilliams)
- [#19434](https://github.com/apache/superset/pull/19434) feat: deprecate old API and create new API for dashes created by me (@dpgaspar)
- [#19482](https://github.com/apache/superset/pull/19482) feat: add success toast to alerts and reports (@pkdotson)
- [#19574](https://github.com/apache/superset/pull/19574) feat: add a `where_in` filter for Jinja2 (@betodealmeida)
- [#19458](https://github.com/apache/superset/pull/19458) feat(explore): Move timer, row counter and cached pills to chart container (@kgabryje)
- [#19529](https://github.com/apache/superset/pull/19529) feat(explore): Move chart header to top of the page (@kgabryje)
- [#19489](https://github.com/apache/superset/pull/19489) feat(CI): clean up Python tests output (@ktmud)
- [#19308](https://github.com/apache/superset/pull/19308) feat(explore): SQL popover in datasource panel (@kgabryje)
- [#19325](https://github.com/apache/superset/pull/19325) feat(color): support analogous colors to prevent color conflict (@stephenLYZ)
- [#19408](https://github.com/apache/superset/pull/19408) feat(dashboard): Implement empty states for empty tabs (@kgabryje)
- [#19446](https://github.com/apache/superset/pull/19446) feat(explore): Move chart actions into dropdown (@kgabryje)
- [#19394](https://github.com/apache/superset/pull/19394) feat(explore): UI changes in dataset panel on Explore page (@kgabryje)
**Fixes**
- [#20382](https://github.com/apache/superset/pull/20382) fix: Allow dataset owners to explore their datasets (@reesercollins)
- [#20419](https://github.com/apache/superset/pull/20419) fix(embedded): Retry when executing alert queries to avoid sending transient errors to users as alert failure notifications (@zhaorui2022)
- [#20555](https://github.com/apache/superset/pull/20555) fix: Respecting max/min opacities, and adding tests. (@rusackas)
- [#20571](https://github.com/apache/superset/pull/20571) fix: Revert #20408 (stacking negative values in echarts bar chart) (@rusackas)
- [#20487](https://github.com/apache/superset/pull/20487) fix(database-modal): form in database model effects results of the database list (@stephenLYZ)
- [#20488](https://github.com/apache/superset/pull/20488) fix(big-number): big number gets cut off on a Dashboard (@stephenLYZ)
- [#16326](https://github.com/apache/superset/pull/16326) fix: SQL Lab cancel query in Redshift database connection does not wo… (@yourssvk)
- [#20362](https://github.com/apache/superset/pull/20362) fix: Unable to download the Dashboard as image in case there's an image added through Markdown (@diegomedina248)
- [#20543](https://github.com/apache/superset/pull/20543) fix: Removes psycopg2 as a required dependency
- [#20442](https://github.com/apache/superset/pull/20442) fix(db): Show the only db install guide when the db is already installed and error is existed while importing file. (@prosdev0107)
- [#20483](https://github.com/apache/superset/pull/20483) fix: bump FAB to 4.1.2 (@dpgaspar)
- [#20493](https://github.com/apache/superset/pull/20493) fix: correction from mmsql to mssql in setup.py (@mdeshmu)
- [#20460](https://github.com/apache/superset/pull/20460) fix: new column UUID conflicts in dual write (@eschutho)
- [#20485](https://github.com/apache/superset/pull/20485) fix: Re-add filter-box time granularity/column (@john-bodley)
- [#20480](https://github.com/apache/superset/pull/20480) fix(docs): prevent some symbols from being copied in docs (@stephenLYZ)
- [#19920](https://github.com/apache/superset/pull/19920) fix(table viz): correctly sort by multiple columns in a table (@stevetracvc)
- [#20402](https://github.com/apache/superset/pull/20402) fix: alert & reports active toggle optimistic update (@diegomedina248)
- [#20472](https://github.com/apache/superset/pull/20472) fix: Changes the return type of get_permissions to be JSON friendly (@michael-s-molina)
- [#20468](https://github.com/apache/superset/pull/20468) fix: async queries limit bug (@AAfghahi)
- [#20257](https://github.com/apache/superset/pull/20257) fix(home): Show home page tabs as pills instead of links (@prosdev0107)
- [#20340](https://github.com/apache/superset/pull/20340) fix: ensure column name in description is string (@betodealmeida)
- [#20350](https://github.com/apache/superset/pull/20350) fix(viz): BigQuery time grain 'minute'/'second' throws an error (@diegomedina248)
- [#20384](https://github.com/apache/superset/pull/20384) fix(chart & table): Prevent the dates from wrapping in table chart (@prosdev0107)
- [#20404](https://github.com/apache/superset/pull/20404) fix: suppress translation warning in jest (@zhaoyongjie)
- [#20451](https://github.com/apache/superset/pull/20451) fix: should raise exception when apply a categorical axis (@zhaoyongjie)
- [#20447](https://github.com/apache/superset/pull/20447) fix: table viz sort icon bottom aligned (@diegomedina248)
- [#20326](https://github.com/apache/superset/pull/20326) fix(fbprophet): Fix weekly frequencies (@john-bodley)
- [#20434](https://github.com/apache/superset/pull/20434) fix(20428): Address-Presto/Trino-Poll-Issue-Refactor (@Thelin90)
- [#20411](https://github.com/apache/superset/pull/20411) fix(dashboard): new created chart did not have high lighted effect when using the permalink of chart share in dashboard (@diegomedina248)
- [#20261](https://github.com/apache/superset/pull/20261) fix(embedded): CSV download for chart (@lilykuang)
- [#20276](https://github.com/apache/superset/pull/20276) fix(cosmetic): cannot find m-r-10 class in superset.less (@Renderz)
- [#20420](https://github.com/apache/superset/pull/20420) fix: rm eslint-plugin-translation-vars engines requirement (@stephenLYZ)
- [#20409](https://github.com/apache/superset/pull/20409) fix(bar-chart-v2): remove marker control from bar chart V2 (@stephenLYZ)
- [#20333](https://github.com/apache/superset/pull/20333) fix(presto): use milliseconds timespec for presto (@mohittt8)
- [#20414](https://github.com/apache/superset/pull/20414) fix: key error on permalink fetch for old permalinks (@eschutho)
- [#20410](https://github.com/apache/superset/pull/20410) fix: Adding extra metrics issue after chart configuration (@codemaster08240328)
- [#20405](https://github.com/apache/superset/pull/20405) fix: Incorrect translations in Chinese in messages.po (@chuancyzhang)
- [#20396](https://github.com/apache/superset/pull/20396) fix(plugin-chart-pivot-table): color weight of Conditional formatting metrics not work (@stephenLYZ)
- [#20361](https://github.com/apache/superset/pull/20361) fix(fonts): Show the all the A's in our workspace correctly, not funky (@prosdev0107)
- [#20383](https://github.com/apache/superset/pull/20383) fix: Unable to export multiple Dashboards with the same name (@diegomedina248)
- [#20363](https://github.com/apache/superset/pull/20363) fix: A newly connected database doesn't appear in the databases list if user connected database using the 'plus' button (@diegomedina248)
- [#20372](https://github.com/apache/superset/pull/20372) fix: update connection modal to use existing catalog (@pkdotson)
- [#20368](https://github.com/apache/superset/pull/20368) fix(VERSIONED_EXPORTS): Ensure dashboards and charts adhere to the VERSIONED_EXPORTS feature flag (@john-bodley)
- [#20351](https://github.com/apache/superset/pull/20351) fix: catch some potential errors on dual write (@eschutho)
- [#20364](https://github.com/apache/superset/pull/20364) fix: query execution time is not fully displayed in bubble icon (@diegomedina248)
- [#20365](https://github.com/apache/superset/pull/20365) fix: Fix typo in Error handling message (@codemaster08240328)
- [#19967](https://github.com/apache/superset/pull/19967) fix: A newly connected database doesn't appear in the databases list if user connected database using the 'plus' button (@diegomedina248)
- [#20348](https://github.com/apache/superset/pull/20348) fix(docker): Make Gunicorn Keepalive Adjustable (@mdeshmu)
- [#19670](https://github.com/apache/superset/pull/19670) fix: Add serviceAccountName to celerybeat pods (@paulinjo)
- [#20315](https://github.com/apache/superset/pull/20315) fix(chart): chart gets cut off on the dashboard (@stephenLYZ)
- [#20324](https://github.com/apache/superset/pull/20324) fix: superset-ui/core coverage (@zhaoyongjie)
- [#20282](https://github.com/apache/superset/pull/20282) fix(explore): Make that see more/see less works correctly with scrolling when error msg is long text. (@prosdev0107)
- [#20296](https://github.com/apache/superset/pull/20296) fix: Alpha are unable to perform a second modification to a Dataset when in Explore (@hughhhh)
- [#20290](https://github.com/apache/superset/pull/20290) fix: Faulty datetime parser regex (@reesercollins)
- [#19761](https://github.com/apache/superset/pull/19761) fix(plugin-chart-echarts): [feature-parity] apply button of annotation layer doesn't work as expected (@stephenLYZ)
- [#20263](https://github.com/apache/superset/pull/20263) fix(embedded): accessing variable response before initialization (@zhaorui2022)
- [#20274](https://github.com/apache/superset/pull/20274) fix(codecov): improve core code coverage (@stephenLYZ)
- [#20187](https://github.com/apache/superset/pull/20187) fix: Database import with cancel_query.. extra field (@codemaster08240328)
- [#20237](https://github.com/apache/superset/pull/20237) fix(cosmetic): Fix Datasource Modal Out Of Box (@Renderz)
- [#20058](https://github.com/apache/superset/pull/20058) fix: Support the Clipboard API in modern browsers (@diegomedina248)
- [#20164](https://github.com/apache/superset/pull/20164) fix(sql lab): View result button is not showing consistently (@diegomedina248)
- [#20171](https://github.com/apache/superset/pull/20171) fix(charts list): do not trigger ListViewError exception for anonymous user (@trepmag)
- [#20178](https://github.com/apache/superset/pull/20178) fix: While exporting CSV , only the entries on first page are getting downloaded even when user is on other pages #17861 (@LahmerIlyas)
- [#20204](https://github.com/apache/superset/pull/20204) fix: Fixes issue where results panel height was incorrect [sc-49045] (@eric-briscoe)
- [#20235](https://github.com/apache/superset/pull/20235) fix: Box Plot Chart throws an error when the average (AVG) / SUM is being calculated on the Metrics (@diegomedina248)
- [#20088](https://github.com/apache/superset/pull/20088) fix: datatype tracking issue on virtual dataset (@codemaster08240328)
- [#20220](https://github.com/apache/superset/pull/20220) fix: dashboard unable to refresh (@zhaoyongjie)
- [#20228](https://github.com/apache/superset/pull/20228) fix: failed samples should throw exception (@zhaoyongjie)
- [#20203](https://github.com/apache/superset/pull/20203) fix: move columns to datasource object for bootstrap data (@hughhhh)
- [#20151](https://github.com/apache/superset/pull/20151) fix(csv): Ensure df_to_escaped_csv does not coerce integer columns to float (@john-bodley)
- [#20221](https://github.com/apache/superset/pull/20221) fix(legacy-plugin-chart-sunburst): linear color scheme not work when secondary metric is provided (@stephenLYZ)
- [#20223](https://github.com/apache/superset/pull/20223) fix(legacy-plugin-chart-sunburst): chart broken when secondary metric is removed (@stephenLYZ)
- [#20147](https://github.com/apache/superset/pull/20147) fix(cosmetic): Limiting modal height (@rusackas)
- [#20206](https://github.com/apache/superset/pull/20206) fix(sql lab): SQL Lab Compile Query Delay (@diegomedina248)
- [#20201](https://github.com/apache/superset/pull/20201) fix: unable to set destroyOnClose on ModalTrigger (@zhaoyongjie)
- [#20186](https://github.com/apache/superset/pull/20186) fix(db): make to allow to show/hide the password when only creating (@prosdev0107)
- [#20127](https://github.com/apache/superset/pull/20127) fix(database): retrieval of tables and views from schema for exasol backend (@Nicoretti)
- [#19899](https://github.com/apache/superset/pull/19899) fix: always create parameter json field (@pkdotson)
- [#20173](https://github.com/apache/superset/pull/20173) fix: avoid while cycle in computeMaxFontSize for big Number run forever when css rule applied (@diegomedina248)
- [#20086](https://github.com/apache/superset/pull/20086) fix(css): transparent linear gradient not working in safari (@stephenLYZ)
- [#19102](https://github.com/apache/superset/pull/19102) fix: string aggregation is incorrect in PivotTableV2 (@diegomedina248)
- [#20011](https://github.com/apache/superset/pull/20011) fix(chart & heatmap): make to fix that y label is rendering out of bounds (@prosdev0107)
- [#20142](https://github.com/apache/superset/pull/20142) fix(explore): handle null control sections (@villebro)
- [#20128](https://github.com/apache/superset/pull/20128) fix: advanced data type API spec and permission name (@dpgaspar)
- [#20107](https://github.com/apache/superset/pull/20107) fix(generic-chart-axes): set x-axis if unset and ff is enabled (@villebro)
- [#20018](https://github.com/apache/superset/pull/20018) fix(modal): add primary button loading state to modals (@kgopal492)
- [#20099](https://github.com/apache/superset/pull/20099) fix: Add cypress test for report page direct link issue (@codemaster08240328)
- [#20068](https://github.com/apache/superset/pull/20068) fix: dbmodal test connection error timeout (@pkdotson)
- [#20092](https://github.com/apache/superset/pull/20092) fix: Revert "feat(explore): Show confirmation modal if user exits Explore without saving changes (#19993) (@kgabryje)
- [#19939](https://github.com/apache/superset/pull/19939) fix(chart & alert): make to show metrics properly (@prosdev0107)
- [#20085](https://github.com/apache/superset/pull/20085) fix: typo in `importexport/api.py` OpenAPI (@betodealmeida)
- [#20051](https://github.com/apache/superset/pull/20051) fix(CRUD): make to fix the dancing when crud view is on hover (@prosdev0107)
- [#20064](https://github.com/apache/superset/pull/20064) fix(chart & gallery): make to add mixed time-series into recommended charts (@prosdev0107)
- [#20013](https://github.com/apache/superset/pull/20013) fix: The dynamic form to connect to Snowflake DB is not returning any errors (@diegomedina248)
- [#20029](https://github.com/apache/superset/pull/20029) fix(plugin-chart-echarts): tooltip of big number truncated at then bottom (@stephenLYZ)
- [#19914](https://github.com/apache/superset/pull/19914) fix: Refactor SQL engine username logic (@john-bodley)
- [#20050](https://github.com/apache/superset/pull/20050) fix: Fixes Tabs style (@michael-s-molina)
- [#20048](https://github.com/apache/superset/pull/20048) fix(homepage): make to show indicator when tab is chosen (@prosdev0107)
- [#20026](https://github.com/apache/superset/pull/20026) fix(chart & filters): make to padding between textarea and buttons (@prosdev0107)
- [#20019](https://github.com/apache/superset/pull/20019) fix(embedded): third party cookies (@lilykuang)
- [#20033](https://github.com/apache/superset/pull/20033) fix: Direct Linking issue on report list: 404 status code. (@codemaster08240328)
- [#19977](https://github.com/apache/superset/pull/19977) fix(word-cloud): fix randomness of each word's rotation (@ebaratte)
- [#20021](https://github.com/apache/superset/pull/20021) fix: native filter truncation rerendering loop on hover (@diegomedina248)
- [#20004](https://github.com/apache/superset/pull/20004) fix: URI form is blank when trying to connect from sql lab (@diegomedina248)
- [#19841](https://github.com/apache/superset/pull/19841) fix: Table chart column config issue (@codemaster08240328)
- [#19877](https://github.com/apache/superset/pull/19877) fix: Making chart update more truthful (@Gwitchr)
- [#19996](https://github.com/apache/superset/pull/19996) fix: Use pull_request_target in Cypress Applitools workflow (@geido)
- [#19972](https://github.com/apache/superset/pull/19972) fix: revert chore(deps): bump d3-svg-legend in /superset-frontend (#19846) (@villebro)
- [#19889](https://github.com/apache/superset/pull/19889) fix: Fix auto-reversion of label/title in the Metrics popover (@diegomedina248)
- [#19903](https://github.com/apache/superset/pull/19903) fix(explore): Explore data table tooltip (@Gwitchr)
- [#19938](https://github.com/apache/superset/pull/19938) fix(chart & table): make to allow highlight in case of numeric column (@prosdev0107)
- [#19839](https://github.com/apache/superset/pull/19839) fix(dashboard): allow users to resize the markdown widget easier (@cccs-Dustin)
- [#19887](https://github.com/apache/superset/pull/19887) fix(hive): Workaround for Python 3.9 s3 transfer issue (@john-bodley)
- [#19936](https://github.com/apache/superset/pull/19936) fix: OpenAPI docs small fixes (@dpgaspar)
- [#19932](https://github.com/apache/superset/pull/19932) fix: can not correctly set force in store (@zhaoyongjie)
- [#19930](https://github.com/apache/superset/pull/19930) fix: memoize primitives (@betodealmeida)
- [#19926](https://github.com/apache/superset/pull/19926) fix(dataset): DAO update (@betodealmeida)
- [#19826](https://github.com/apache/superset/pull/19826) fix: Missing `f` prefix on f-strings (@code-review-doctor)
- [#18988](https://github.com/apache/superset/pull/18988) fix(column-header-tooltip): make that hide the tooltip when the cloum… (@prosdev0107)
- [#19782](https://github.com/apache/superset/pull/19782) fix: chart import error with virtual dataset (@codemaster08240328)
- [#19485](https://github.com/apache/superset/pull/19485) fix: Set fixed maxWidth of the cron schedule modal (@codemaster08240328)
- [#19885](https://github.com/apache/superset/pull/19885) fix: Chart download as image issue (@codemaster08240328)
- [#19883](https://github.com/apache/superset/pull/19883) fix(allow-db-explore): make to check the allow virtual table explore option by default (@prosdev0107)
- [#19835](https://github.com/apache/superset/pull/19835) fix(helm): fix postgresql values (@benjamin-texier)
- [#19758](https://github.com/apache/superset/pull/19758) fix(plugin-chart-echarts): [feature parity] annotation line chart color does not work (@stephenLYZ)
- [#19879](https://github.com/apache/superset/pull/19879) fix(plugin-chart-handlebars): fix overflow, debounce and control reset (@villebro)
- [#19668](https://github.com/apache/superset/pull/19668) fix: Dates alignment in Table viz (@geido)
- [#19876](https://github.com/apache/superset/pull/19876) fix: Cannot re-order metrics by drag and drop (@diegomedina248)
- [#19840](https://github.com/apache/superset/pull/19840) fix(dashboard-css): make to load saved css template (@prosdev0107)
- [#19859](https://github.com/apache/superset/pull/19859) fix: Dashboard report creation error handling (@etr2460)
- [#19857](https://github.com/apache/superset/pull/19857) fix: Update eslint error message to reflect location of antd components (@etr2460)
- [#19605](https://github.com/apache/superset/pull/19605) fix: Query execution time is displayed as invalid date (@diegomedina248)
- [#19694](https://github.com/apache/superset/pull/19694) fix(db & connection): make to show/hide the password when only creating db connection (@prosdev0107)
- [#19778](https://github.com/apache/superset/pull/19778) fix: deck.gl GeoJsonLayer Autozoom & fill/stroke options (@diegomedina248)
- [#19850](https://github.com/apache/superset/pull/19850) fix: Regression on Data and Alerts & Reports Headers (@diegomedina248)
- [#19842](https://github.com/apache/superset/pull/19842) fix: count(distinct column_name) in metrics (@zhaoyongjie)
- [#19843](https://github.com/apache/superset/pull/19843) fix(explore): ignore temporary controls in altered pill (@villebro)
- [#19800](https://github.com/apache/superset/pull/19800) fix: Cypress tests reliability improvements (@diegomedina248)
- [#19575](https://github.com/apache/superset/pull/19575) fix: Show full long number in text email report for table chart. (@codemaster08240328)
- [#19429](https://github.com/apache/superset/pull/19429) fix(dashboard): make to filter the correct certified or non-certified… (@prosdev0107)
- [#13082](https://github.com/apache/superset/pull/13082) fix(sql_lab): Add custom timestamp type for literal casting for presto timestamps (@kekwan)
- [#19797](https://github.com/apache/superset/pull/19797) fix: add missing init files (@suddjian)
- [#19672](https://github.com/apache/superset/pull/19672) fix: trap SQLAlchemy common exceptions & throw 422 error instead (@diegomedina248)
- [#19288](https://github.com/apache/superset/pull/19288) fix: AlertReportCronScheduler tests (@diegomedina248)
- [#19781](https://github.com/apache/superset/pull/19781) fix(world-map): remove categorical color control (@serenajiang)
- [#19792](https://github.com/apache/superset/pull/19792) fix(plugin-chart-table): Resetting controls when switching query mode (@kgabryje)
- [#19755](https://github.com/apache/superset/pull/19755) fix: small cleanup for created by me dashboards API (@dpgaspar)
- [#19784](https://github.com/apache/superset/pull/19784) fix(readme): Remove broken link to legacy gallery (@drluckyspin)
- [#19722](https://github.com/apache/superset/pull/19722) fix: dashboard top level tabs edit (@diegomedina248)
- [#19777](https://github.com/apache/superset/pull/19777) fix(explore): Double divider if no permissions for adding reports (@kgabryje)
- [#19673](https://github.com/apache/superset/pull/19673) fix(import): Add the error alert on failed database import (@prosdev0107)
- [#19518](https://github.com/apache/superset/pull/19518) fix: alert/report created by filter inconsistency with table display (@diegomedina248)
- [#19700](https://github.com/apache/superset/pull/19700) fix: remove expose (@AAfghahi)
- [#19626](https://github.com/apache/superset/pull/19626) fix: deactivate embedding on a dashboard (@suddjian)
- [#19472](https://github.com/apache/superset/pull/19472) fix: Dashboard Edit View Tab Headers Hidden when Dashboard Name is Long (@diegomedina248)
- [#19311](https://github.com/apache/superset/pull/19311) fix(sql lab): add quotes when autocompleting table names with spaces in the editor (@diegomedina248)
- [#19290](https://github.com/apache/superset/pull/19290) fix(sql lab): select edit on query from history doesn't upload editor properly (@diegomedina248)
- [#19420](https://github.com/apache/superset/pull/19420) fix: sql lab ctrl t behaved differently from clicking (@Gwitchr)
- [#19357](https://github.com/apache/superset/pull/19357) fix: Redirect to full url on 401 (@geido)
- [#19001](https://github.com/apache/superset/pull/19001) fix: Line Chart Annotation Info Update (@codemaster08240328)
- [#19714](https://github.com/apache/superset/pull/19714) fix: create virtual table with exotic type (@villebro)
- [#19708](https://github.com/apache/superset/pull/19708) fix(nav): infinite redirect and upload dataset nav permissions (@ktmud)
- [#19430](https://github.com/apache/superset/pull/19430) fix(data-upload): make to change err message (@prosdev0107)
- [#19419](https://github.com/apache/superset/pull/19419) fix(alert & report): make to fix the issue when recreate report (@prosdev0107)
- [#19371](https://github.com/apache/superset/pull/19371) fix: Reset sorting bar issue in Barchart (@codemaster08240328)
- [#19362](https://github.com/apache/superset/pull/19362) fix(sql lab): display the 'View Results' button consistently in the history tab on sync mode (@diegomedina248)
- [#19294](https://github.com/apache/superset/pull/19294) fix: improve alerts & reports modal on small devices (@diegomedina248)
- [#19257](https://github.com/apache/superset/pull/19257) fix(sql lab): table selector should display all the selected tables (@diegomedina248)
- [#19686](https://github.com/apache/superset/pull/19686) fix(plugin-chart-echarts): xAxis scale is not correct when time grain is quarter (@stephenLYZ)
- [#19646](https://github.com/apache/superset/pull/19646) fix(explore): Change copy of cross filters checkbox (@kgabryje)
- [#19586](https://github.com/apache/superset/pull/19586) fix: Navbar styles and Welcome page text (@geido)
- [#19662](https://github.com/apache/superset/pull/19662) fix(database-api): allow search for all columns (@villebro)
- [#19656](https://github.com/apache/superset/pull/19656) fix: allow_browser_login in import/export API (@betodealmeida)
- [#19628](https://github.com/apache/superset/pull/19628) fix: Table Autosizing Has Unnecessary Horizontal Scroll Bars (@diegomedina248)
- [#19573](https://github.com/apache/superset/pull/19573) fix(chart & polygon): make to fix the issue the polygon chart (@prosdev0107)
- [#19051](https://github.com/apache/superset/pull/19051) fix: update Permissions for right nav (@AAfghahi)
- [#19625](https://github.com/apache/superset/pull/19625) fix(test): make test_clean_requests_after_schema_grant more idempotent (@ktmud)
- [#19571](https://github.com/apache/superset/pull/19571) fix: Catch literal colors when theme top level (@geido)
- [#19594](https://github.com/apache/superset/pull/19594) fix: spelling of following (@lzm0)
- [#19569](https://github.com/apache/superset/pull/19569) fix: check type of url before performing string actions (@eschutho)
- [#19570](https://github.com/apache/superset/pull/19570) fix: sqloxide optional (@betodealmeida)
- [#19397](https://github.com/apache/superset/pull/19397) fix: weight tooltip issue (@codemaster08240328)
- [#19313](https://github.com/apache/superset/pull/19313) fix(sql lab): increase the size of the action icons in the history tab (@diegomedina248)
- [#19039](https://github.com/apache/superset/pull/19039) fix(explore): clean data when hiding control (@stephenLYZ)
- [#19444](https://github.com/apache/superset/pull/19444) fix: Error Message is cut off in alerts & reports log page (@codemaster08240328)
- [#19312](https://github.com/apache/superset/pull/19312) fix: adaptive formatting typo in explore dropdowns (@diegomedina248)
- [#19534](https://github.com/apache/superset/pull/19534) fix(explore): Chart header icon paddings (@kgabryje)
- [#19399](https://github.com/apache/superset/pull/19399) fix: native filter dropdown not attached to parent node (@diegomedina248)
- [#19112](https://github.com/apache/superset/pull/19112) fix: Dashboard import holding issue (@codemaster08240328)
- [#19342](https://github.com/apache/superset/pull/19342) fix: Clean up custom css when dashboard unmounted (@codemaster08240328)
- [#19491](https://github.com/apache/superset/pull/19491) fix: Dynamic form to connect to Snowflake DB is not displaying authentication errors (@diegomedina248)
- [#19528](https://github.com/apache/superset/pull/19528) fix: Correct Ukraine map (@wacken89)
- [#19522](https://github.com/apache/superset/pull/19522) fix: add back view for report reload error (@pkdotson)
- [#19519](https://github.com/apache/superset/pull/19519) fix: GSheets rendering from global nav (@hughhhh)
- [#19358](https://github.com/apache/superset/pull/19358) fix(sqllab): make to hide the delete button of most recent query history (@prosdev0107)
- [#19307](https://github.com/apache/superset/pull/19307) fix: Logo resizing on page load (@geido)
- [#19166](https://github.com/apache/superset/pull/19166) fix: time filter should be [start, end) (@zhaoyongjie)
**Others**
- [#20620](https://github.com/apache/superset/pull/20620) docs: fix link for Apache Superset source code (@dpgaspar)
- [#20621](https://github.com/apache/superset/pull/20621) chore: bump FAB to 4.1.3 (@dpgaspar)
- [#20486](https://github.com/apache/superset/pull/20486) chore: Updated copy in chart drop down to "View as table" (@lauderbaugh)
- [#20116](https://github.com/apache/superset/pull/20116) style(typo): occured -> occurred (@sfirke)
- [#20401](https://github.com/apache/superset/pull/20401) chore: add action to welcome new users (@eschutho)
- [#20269](https://github.com/apache/superset/pull/20269) chore(docs): Remove cache warming documentation (@ajwhite)
- [#20194](https://github.com/apache/superset/pull/20194) chore: Removes unused vars (@michael-s-molina)
- [#20321](https://github.com/apache/superset/pull/20321) chore: add breaking change information about form_data datasource_type (@eschutho)
- [#20298](https://github.com/apache/superset/pull/20298) chore: Removes no-use-before-define warnings (@michael-s-molina)
- [#20337](https://github.com/apache/superset/pull/20337) chore(dashboard): update Edit Dashboard side panel tabs (@codyml)
- [#20318](https://github.com/apache/superset/pull/20318) chore: Updates the final steps of the release README (@michael-s-molina)
- [#20307](https://github.com/apache/superset/pull/20307) docs: Updates CHANGELOG.md with 1.5.1 fixes (@michael-s-molina)
- [#20308](https://github.com/apache/superset/pull/20308) docs(jinja): Detail how to use Jinja parameters (@EBoisseauSierra)
- [#20304](https://github.com/apache/superset/pull/20304) chore: superset-ui/core code coverage (@zhaoyongjie)
- [#20297](https://github.com/apache/superset/pull/20297) chore(deps): pinning pyjwt to 2.4.0 (@sadpandajoe)
- [#20287](https://github.com/apache/superset/pull/20287) chore(deps): bump numpy 1.22.1 and PyJWT to 2.4.0 (@sadpandajoe)
- [#20272](https://github.com/apache/superset/pull/20272) chore: remove unused codes for samples (@zhaoyongjie)
- [#20289](https://github.com/apache/superset/pull/20289) chore: Adjusts release emails (@michael-s-molina)
- [#20180](https://github.com/apache/superset/pull/20180) docs: facelift the docs (@mistercrunch)
- [#20249](https://github.com/apache/superset/pull/20249) chore: add event logger to reports/alerts CRUD (@AAfghahi)
- [#20273](https://github.com/apache/superset/pull/20273) chore: adjust the psycopg2 version of k8s installation guide (@ensky)
- [#20152](https://github.com/apache/superset/pull/20152) refactor(trino): Handful of updates for the Trino engine (@john-bodley)
- [#20252](https://github.com/apache/superset/pull/20252) chore: use exc_info to pass errors to log warnings (@eschutho)
- [#20154](https://github.com/apache/superset/pull/20154) chore(requirements): Cleanup of Python requirements (@john-bodley)
- [#20226](https://github.com/apache/superset/pull/20226) refactor: decouple DataTableControl (@zhaoyongjie)
- [#20243](https://github.com/apache/superset/pull/20243) docs: Add beans to users list (@kakoni)
- [#20231](https://github.com/apache/superset/pull/20231) docs: Updates release scripts and docs (@michael-s-molina)
- [#20196](https://github.com/apache/superset/pull/20196) chore: bumping min version of shillelagh (@AAfghahi)
- [#20192](https://github.com/apache/superset/pull/20192) chore: Moves date utils to utils folder (@michael-s-molina)
- [#20210](https://github.com/apache/superset/pull/20210) docs: update release instructions (@villebro)
- [#20205](https://github.com/apache/superset/pull/20205) chore(deps): bump swagger-ui-react from 4.1.2 to 4.1.3 in /docs (@dependabot[bot])
- [#20195](https://github.com/apache/superset/pull/20195) docs: correct case of ClickHouse (@DanRoscigno)
- [#20109](https://github.com/apache/superset/pull/20109) refactor: decouple DataTablesPane (@zhaoyongjie)
- [#20193](https://github.com/apache/superset/pull/20193) refactor: Removes embedded/index.tsx warnings (@michael-s-molina)
- [#20185](https://github.com/apache/superset/pull/20185) docs(security): a typo: Gamma should be in quotes (@jimmytheneutrino)
- [#20146](https://github.com/apache/superset/pull/20146) chore: Implement global header in Dashboard (@geido)
- [#20174](https://github.com/apache/superset/pull/20174) chore: Disable flaky assert in reports cypress test (@kgabryje)
- [#20163](https://github.com/apache/superset/pull/20163) chore: change button name in Sql Lab (@AAfghahi)
- [#20157](https://github.com/apache/superset/pull/20157) chore: filter undefined operators (@zhaoyongjie)
- [#20140](https://github.com/apache/superset/pull/20140) chore(data-table): make formatted dttm the default (@villebro)
- [#20104](https://github.com/apache/superset/pull/20104) chore: fix INTHEWILD sort order and indentation (@villebro)
- [#20093](https://github.com/apache/superset/pull/20093) chore: Add the tnum font property to Table components (@geido)
- [#20103](https://github.com/apache/superset/pull/20103) docs: Update INTHEWILD.md (@fccoelho)
- [#20102](https://github.com/apache/superset/pull/20102) chore: Update aiohttp to 3.8.1 (@diegomedina248)
- [#20066](https://github.com/apache/superset/pull/20066) chore: Set limit for a query in execute_sql_statement (@AAfghahi)
- [#20032](https://github.com/apache/superset/pull/20032) chore: Change copy to Edit chart in Dashboard dropdown (@geido)
- [#20071](https://github.com/apache/superset/pull/20071) chore: Fix and enhance Applitools workflows (@geido)
- [#19966](https://github.com/apache/superset/pull/19966) test: make tabbed dashboard a little more complex (@ktmud)
- [#19976](https://github.com/apache/superset/pull/19976) perf(plugin-chart-table): Add memoization to avoid rerenders (@kgabryje)
- [#20044](https://github.com/apache/superset/pull/20044) chore: Create a generic header component for Explore and Dashboard (@kgabryje)
- [#20046](https://github.com/apache/superset/pull/20046) docs: add changelog and updating entries for 1.5.0 (@villebro)
- [#19962](https://github.com/apache/superset/pull/19962) chore: add doc link for db migration conflict warning (@ktmud)
- [#20034](https://github.com/apache/superset/pull/20034) chore: Changes the no-literal-colors lint rule to throw errors instead of warnings (@michael-s-molina)
- [#20031](https://github.com/apache/superset/pull/20031) chore: Run Applitools + Cypress nightly (@geido)
- [#20006](https://github.com/apache/superset/pull/20006) chore: Removes hard-coded colors from the plugins - iteration 2 (@michael-s-molina)
- [#19130](https://github.com/apache/superset/pull/19130) refactor: Refactor reports for Charts and Dashboards (@AAfghahi)
- [#20016](https://github.com/apache/superset/pull/20016) chore: Removes hard-coded colors - iteration 3 (@michael-s-molina)
- [#19870](https://github.com/apache/superset/pull/19870) docs: Detail front-end development instructions (@EBoisseauSierra)
- [#19971](https://github.com/apache/superset/pull/19971) docs: Add config for running on a WSGI HTTP server (@thinhnd2104)
- [#20008](https://github.com/apache/superset/pull/20008) chore: Upgrades Storybook from 6.4.19 to 6.4.22 (@michael-s-molina)
- [#20009](https://github.com/apache/superset/pull/20009) docs: typo in chart-params markdown file (@JakobMiksch)
- [#19923](https://github.com/apache/superset/pull/19923) chore: Removes hard-coded colors from the plugins - iteration 1 (@michael-s-molina)
- [#19954](https://github.com/apache/superset/pull/19954) chore: convert URLShortLinkButton to typescript (@ktmud)
- [#19929](https://github.com/apache/superset/pull/19929) chore: change subject name from no_name to named for PNGs in (@AAfghahi)
- [#19942](https://github.com/apache/superset/pull/19942) refactor(ReportModal): simplify state reducer and improve error handling (@ktmud)
- [#19770](https://github.com/apache/superset/pull/19770) chore: remove druid datasource from the config (@eschutho)
- [#19911](https://github.com/apache/superset/pull/19911) chore: Fix broken link for DouroECI (@mavimo)
- [#19951](https://github.com/apache/superset/pull/19951) chore: Adds the theme object to chart properties (@michael-s-molina)
- [#19813](https://github.com/apache/superset/pull/19813) chore: get embedded user with roles and permissions (@suddjian)
- [#19897](https://github.com/apache/superset/pull/19897) chore: Adds a storybook to FilterableTable (@michael-s-molina)
- [#19924](https://github.com/apache/superset/pull/19924) chore(reports): Improving logging around failed scheduled reports (@craig-rueda)
- [#19906](https://github.com/apache/superset/pull/19906) revert: "fix(sql lab): display the 'View Results' button consistently in the history tab on sync mode" (@Gwitchr)
- [#19916](https://github.com/apache/superset/pull/19916) chore(deps): bump react-virtualized-auto-sizer from 1.0.2 to 1.0.6 in /superset-frontend (@dependabot[bot])
- [#19888](https://github.com/apache/superset/pull/19888) chore(deps): bump cross-fetch from 3.1.4 to 3.1.5 in /docs (@dependabot[bot])
- [#19894](https://github.com/apache/superset/pull/19894) chore(deps-dev): bump eslint-plugin-prettier from 3.3.1 to 4.0.0 in /superset-frontend (@dependabot[bot])
- [#19602](https://github.com/apache/superset/pull/19602) docs: Added gtag to docusaurus (@AAfghahi)
- [#19878](https://github.com/apache/superset/pull/19878) chore(deps-dev): bump @storybook/client-api from 6.4.19 to 6.4.22 in /superset-frontend (@dependabot[bot])
- [#19821](https://github.com/apache/superset/pull/19821) test(native filter): refactor and add new test (@jinghua-qa)
- [#19613](https://github.com/apache/superset/pull/19613) chore: Update line-height in SliceHeaderControl (@geido)
- [#19616](https://github.com/apache/superset/pull/19616) chore: Update font-sizes in DatabaseModal (@geido)
- [#19866](https://github.com/apache/superset/pull/19866) chore: fix explore pills (@villebro)
- [#19872](https://github.com/apache/superset/pull/19872) chore: Update aiohttp>=3.7.4 in requirements (@hughhhh)
- [#19874](https://github.com/apache/superset/pull/19874) chore: bump rockset>=0.8.10, <0.9 (@hughhhh)
- [#19864](https://github.com/apache/superset/pull/19864) chore(deps): bump react-syntax-highlighter from 15.4.5 to 15.5.0 in /superset-frontend (@dependabot[bot])
- [#19828](https://github.com/apache/superset/pull/19828) chore: add custom eslint plugin to prevent translation variables (@stephenLYZ)
- [#19845](https://github.com/apache/superset/pull/19845) chore(deps): bump react-split from 2.0.9 to 2.0.14 in /superset-frontend (@dependabot[bot])
- [#19846](https://github.com/apache/superset/pull/19846) chore(deps): bump d3-svg-legend from 1.13.0 to 2.25.6 in /superset-frontend (@dependabot[bot])
- [#19847](https://github.com/apache/superset/pull/19847) chore(deps-dev): bump eslint-plugin-jsx-a11y from 6.4.1 to 6.5.1 in /superset-frontend (@dependabot[bot])
- [#19853](https://github.com/apache/superset/pull/19853) chore(frontend-tests): Spelling (@jsoref)
- [#19823](https://github.com/apache/superset/pull/19823) docs: updated links for country map scripts (@ktmud)
- [#19829](https://github.com/apache/superset/pull/19829) chore(deps-dev): bump babel-loader from 8.2.4 to 8.2.5 in /superset-frontend (@dependabot[bot])
- [#19830](https://github.com/apache/superset/pull/19830) chore(deps): bump react-hot-loader from 4.12.20 to 4.13.0 in /superset-frontend (@dependabot[bot])
- [#19403](https://github.com/apache/superset/pull/19403) chore(deps-dev): bump babel-loader from 8.2.2 to 8.2.4 in /superset-frontend (@dependabot[bot])
- [#19637](https://github.com/apache/superset/pull/19637) chore(deps): bump moment from 2.29.1 to 2.29.2 in /superset-frontend (@dependabot[bot])
- [#19681](https://github.com/apache/superset/pull/19681) chore(deps): bump async from 3.2.0 to 3.2.3 in /superset-frontend/cypress-base (@dependabot[bot])
- [#19680](https://github.com/apache/superset/pull/19680) chore(deps): bump async from 3.2.0 to 3.2.3 in /superset-websocket (@dependabot[bot])
- [#19020](https://github.com/apache/superset/pull/19020) chore(deps): bump url-parse from 1.5.7 to 1.5.10 in /superset-frontend (@dependabot[bot])
- [#17978](https://github.com/apache/superset/pull/17978) chore(deps): bump @types/d3-time from 1.1.1 to 3.0.0 in /superset-frontend (@dependabot[bot])
- [#19727](https://github.com/apache/superset/pull/19727) chore(deps): bump async from 2.6.3 to 2.6.4 in /docs (@dependabot[bot])
- [#19551](https://github.com/apache/superset/pull/19551) chore(deps): bump minimist from 1.2.5 to 1.2.6 in /superset-websocket (@dependabot[bot])
- [#19165](https://github.com/apache/superset/pull/19165) chore: simplify error messaging in database modal (@pkdotson)
- [#19790](https://github.com/apache/superset/pull/19790) chore: bump postgres from 10 to 14 (@dpgaspar)
- [#19480](https://github.com/apache/superset/pull/19480) chore: Update UPDATING.md (@john-bodley)
- [#19740](https://github.com/apache/superset/pull/19740) chore: fix grammar error (@zhaoyongjie)
- [#19703](https://github.com/apache/superset/pull/19703) chore(build): upgrade less-loader (@ktmud)
- [#19736](https://github.com/apache/superset/pull/19736) chore: Updates the Select code owners (@michael-s-molina)
- [#19715](https://github.com/apache/superset/pull/19715) docs(install): ubuntu default-libmysqlclient-dev (@cemremengu)
- [#19726](https://github.com/apache/superset/pull/19726) chore: bumping shillelagh (@AAfghahi)
- [#19699](https://github.com/apache/superset/pull/19699) chore: fix typo (@betodealmeida)
- [#19674](https://github.com/apache/superset/pull/19674) chore: upgrade Pillow (@betodealmeida)
- [#19647](https://github.com/apache/superset/pull/19647) chore(explore): Change labels "Group by"/"Series" to "Dimensions" (@kgabryje)
- [#19679](https://github.com/apache/superset/pull/19679) chore(deps): bump urijs from 1.19.8 to 1.19.11 in /superset-frontend (@dependabot[bot])
- [#19638](https://github.com/apache/superset/pull/19638) chore(deps): bump moment from 2.29.1 to 2.29.2 in /docs (@dependabot[bot])
- [#19617](https://github.com/apache/superset/pull/19617) chore: updated two github issue templates (@srinify)
- [#19666](https://github.com/apache/superset/pull/19666) chore: Remove TwoTone icons (@geido)
- [#19614](https://github.com/apache/superset/pull/19614) chore: Remove wrong usage of font-size in ExploreViewContainer (@geido)
- [#19593](https://github.com/apache/superset/pull/19593) chore: Update font-sizes in ReportModal (@geido)
- [#19611](https://github.com/apache/superset/pull/19611) chore: Update font-sizes in ImportModal (@geido)
- [#19615](https://github.com/apache/superset/pull/19615) chore: Update font-sizes in AlertReportModal (@geido)
- [#19620](https://github.com/apache/superset/pull/19620) chore: Update font-sizes in QueryPreviewModal (@geido)
- [#19641](https://github.com/apache/superset/pull/19641) chore: clean up dynamic translation strings (@villebro)
- [#19635](https://github.com/apache/superset/pull/19635) refactor: consistent migration tests organization (@ktmud)
- [#19634](https://github.com/apache/superset/pull/19634) test: freeze time for dashboard export test (@ktmud)
- [#19606](https://github.com/apache/superset/pull/19606) test(jinja): refactor to functional tests (@villebro)
- [#19587](https://github.com/apache/superset/pull/19587) chore: cleanup as unknown conversion (@zhaoyongjie)
- [#19562](https://github.com/apache/superset/pull/19562) refactor: Removes the CSS files from the Horizon plugin (@michael-s-molina)
- [#19563](https://github.com/apache/superset/pull/19563) refactor: Removes the CSS files from the Paired T-Test plugin (@michael-s-molina)
- [#19539](https://github.com/apache/superset/pull/19539) refactor: Removes the CSS files from the Parallel Coordinates plugin (@michael-s-molina)
- [#19521](https://github.com/apache/superset/pull/19521) refactor: Removes the CSS files from the Partition plugin (@michael-s-molina)
- [#19493](https://github.com/apache/superset/pull/19493) chore: Removes hard-coded colors from legacy-plugin-chart-sankey (@michael-s-molina)
- [#19462](https://github.com/apache/superset/pull/19462) chore: Remove FilterBox.less (@geido)
- [#19438](https://github.com/apache/superset/pull/19438) chore: Remove crud.less from Datasource (@geido)
- [#19517](https://github.com/apache/superset/pull/19517) chore: Enhance ReactChord style with theme vars (@geido)
- [#19463](https://github.com/apache/superset/pull/19463) chore: Remove TimeTable.less (@geido)
- [#19550](https://github.com/apache/superset/pull/19550) chore(deps): bump minimist from 1.2.5 to 1.2.6 in /superset-embedded-sdk (@dependabot[bot])
- [#19566](https://github.com/apache/superset/pull/19566) chore(deps): bump node-forge from 1.2.1 to 1.3.1 in /docs (@dependabot[bot])
- [#19552](https://github.com/apache/superset/pull/19552) chore(deps): bump minimist from 1.2.5 to 1.2.6 in /docs (@dependabot[bot])
- [#19549](https://github.com/apache/superset/pull/19549) chore(deps): bump minimist from 1.2.5 to 1.2.6 in /superset-frontend/cypress-base (@dependabot[bot])
- [#19559](https://github.com/apache/superset/pull/19559) docs: update the typo in the documentation (@fatosmorina)
- [#19538](https://github.com/apache/superset/pull/19538) refactor: Removes the CSS files from the Country Map plugin (@michael-s-molina)
- [#19536](https://github.com/apache/superset/pull/19536) chore: Removes hard-coded opacity and spacing from the BigNumber plugin (@michael-s-molina)
- [#19494](https://github.com/apache/superset/pull/19494) refactor: Removes the CSS files from the Sankey Loop plugin (@michael-s-molina)
- [#19492](https://github.com/apache/superset/pull/19492) chore: Remove Legacy Force Directed viz plugin (@geido)
- [#19524](https://github.com/apache/superset/pull/19524) chore: Deprecating /my_queries endpoint (@AAfghahi)
- [#19467](https://github.com/apache/superset/pull/19467) chore(Explore): Change text when saving a chart in a new dashboard (@geido)
- [#19526](https://github.com/apache/superset/pull/19526) chore(database): Creating helper make_url_safe to wrap potential errors (@craig-rueda)
- [#19415](https://github.com/apache/superset/pull/19415) chore: Remove Control.less in Explore (@geido)
- [#19413](https://github.com/apache/superset/pull/19413) chore: Remove unused less file from profile (@geido)
- [#19460](https://github.com/apache/superset/pull/19460) chore: Switch to gender neutral terms (@inclusive-coding-bot)
- [#19486](https://github.com/apache/superset/pull/19486) refactor: Removes the CSS files from the Treemap plugin (@michael-s-molina)
- [#19488](https://github.com/apache/superset/pull/19488) refactor: Removes the CSS files from the Sunburst plugin (@michael-s-molina)
- [#19490](https://github.com/apache/superset/pull/19490) chore: Add theme color to ParallelCoordinates (@geido)
- [#19442](https://github.com/apache/superset/pull/19442) chore: Remove FilterableTableStyles.less (@geido)
- [#19441](https://github.com/apache/superset/pull/19441) chore: Remove StyledQueryButton.less (@geido)
- [#19473](https://github.com/apache/superset/pull/19473) refactor: Removes the CSS files from the Rose plugin (@michael-s-molina)
- [#19466](https://github.com/apache/superset/pull/19466) chore: Removes hard-coded colors from legacy-plugin-chart-world-map (@michael-s-molina)
- [#19465](https://github.com/apache/superset/pull/19465) refactor: Removes the CSS files from the DeckGL plugin (@michael-s-molina)
- [#19440](https://github.com/apache/superset/pull/19440) chore: Remove index.less from showSavedQuery (@geido)
- [#19230](https://github.com/apache/superset/pull/19230) chore!: remove `ROW_LEVEL_SECURITY` feature flag (permanently enable) (@suddjian)
- [#19361](https://github.com/apache/superset/pull/19361) chore: remove deprecated config keys and endpoints code 2.0 (@pkdotson)
- [#19261](https://github.com/apache/superset/pull/19261) chore: remove old alerts and configs keys (@pkdotson)
- [#19168](https://github.com/apache/superset/pull/19168) chore: bump celery and Flask (@dpgaspar)
- [#19049](https://github.com/apache/superset/pull/19049) chore: Remove logo forced width (@geido)
- [#19274](https://github.com/apache/superset/pull/19274) chore: remove PUBLIC_ROLE_LIKE_GAMMA deprecated config key (@dpgaspar)
- [#19273](https://github.com/apache/superset/pull/19273) chore: remove deprecated celery cli (@dpgaspar)
- [#19262](https://github.com/apache/superset/pull/19262) chore: update updating with druid no sql deprecation (@eschutho)
- [#19083](https://github.com/apache/superset/pull/19083) chore!: update mutator to take kwargs (@eschutho)
- [#19231](https://github.com/apache/superset/pull/19231) chore!: remove `ENABLE_REACT_CRUD_VIEWS` feature flag (permanently enable) (@suddjian)
- [#19241](https://github.com/apache/superset/pull/19241) chore(superset 2.0): remove front-end deprecated code (@graceguo-supercat)
- [#19107](https://github.com/apache/superset/pull/19107) chore: turn on SQLLAB_BACKEND_PERSISTENCE by default (@ktmud)
- [#19142](https://github.com/apache/superset/pull/19142) chore!: turn on Versioned Export in config.py (@AAfghahi)
- [#19108](https://github.com/apache/superset/pull/19108) chore: Update UPDATING.md with info about flipping dnd feature flag (@kgabryje)
- [#19146](https://github.com/apache/superset/pull/19146) chore!: Remove remove SQLALCHEMY_DOCS_URL and SQLALCHEMY_DISPLAY_TEXT from the config from the config (@hughhhh)
- [#19017](https://github.com/apache/superset/pull/19017) chore: Deprecate Python 3.7 (@john-bodley)
- [#19113](https://github.com/apache/superset/pull/19113) chore(config): Migrating `ENABLE_JAVASCRIPT_CONTROLS` from app config to a feature flag (@rusackas)
- [#19046](https://github.com/apache/superset/pull/19046) chore(explore): Set Drag&Drop feature flags to True by default (@kgabryje)
- [#19016](https://github.com/apache/superset/pull/19016) chore: Adding PR to Updating.md (@AAfghahi)
- [#18970](https://github.com/apache/superset/pull/18970) chore: Change Dataset legacy editor flag to true (@AAfghahi)

View File

@@ -1,82 +0,0 @@
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
## Change Log
### 2.0.1 (Fri Nov 4 10:34:02 2022 -0400)
**Database Migrations**
**Features**
**Fixes**
- [#22417](https://github.com/apache/superset/pull/22417) fix: fix: Force configuration for SafeMarkdown component in Handlebars(@geido)
- [#21895](https://github.com/apache/superset/pull/21895) feat: Improves SafeMarkdown HTML sanitization (@michael-s-molina) (security-improvement)
- [#21874](https://github.com/apache/superset/pull/21874) feat: Adds a Content Security Policy (CSP) check for production environments (@michael-s-molina)(security-improvement)
- [#21853](https://github.com/apache/superset/pull/21853) feat: Disables HTML rendering in Toast by default (@michael-s-molina)(security-improvement)
- [#21776](https://github.com/apache/superset/pull/21776) fix(CustomFrame): Resolves issue #21731 where date range in explore throws runtime error (@eric-briscoe)
- [#21637](https://github.com/apache/superset/pull/21637) fix: respect chart cache timeout setting (@mayurnewase)
- [#21729](https://github.com/apache/superset/pull/21729) fix: allow adhoc columns in non-aggregate query (@mayurnewase)
- [#21441](https://github.com/apache/superset/pull/21441) fix(cache): respect default cache timeout on v1 chart data requests (@villebro)
- [#22038](https://github.com/apache/superset/pull/22038) fix: datasource save, improve data validation (@dpgaspar)
- [#22022](https://github.com/apache/superset/pull/22022) fix: deprecate approve and request_access endpoint (@dpgaspar)
- [#21964](https://github.com/apache/superset/pull/21964) fix: dashboard api cache decorator (@dpgaspar)
- [#21875](https://github.com/apache/superset/pull/21875) fix: check that imports are ZIPs (@betodealmeida)
- [#21761](https://github.com/apache/superset/pull/21761) fix: flash message on database data upload forms (@dpgaspar)
- [#21759](https://github.com/apache/superset/pull/21759) fix: database schema selector on import data (@dpgaspar)
- [#21729](https://github.com/apache/superset/pull/21729) fix: allow adhoc columns in non-aggregate query (@mayurnewase)
- [#21773](https://github.com/apache/superset/pull/21773) fix: remove deprecated ETagResponseMixin (@eschutho)
- [#21561](https://github.com/apache/superset/pull/21561) fix(report): Fix permission check for set up email report on charts/dashboards. Fixes #21559 (@zhaorui2022)
- [#20651](https://github.com/apache/superset/pull/20651) fix: annotation broken (@zhaoyongjie)
- [#20830](https://github.com/apache/superset/pull/20830) fix: remove element reference in alerts report fetchs (@hughhhh)
- [#20063](https://github.com/apache/superset/pull/20063) fix: Add locale for DatePicker component (@aehanno)
- [#21302](https://github.com/apache/superset/pull/21302) fix: disallow users from viewing other user's profile on config (@dpgaspar)
- [#21154](https://github.com/apache/superset/pull/21154) fix(explore): Prevent unnecessary series limit subquery (@codyml)
- [#21498](https://github.com/apache/superset/pull/21498) fix: set correct favicon from config for login and FAB list views (@mayurnewase)
- [#21380](https://github.com/apache/superset/pull/21380) fix(sqllab): Fix cursor alignment in SQL lab editor by avoiding Lucida Console font on Windows (@MichaelHintz)
- [#20061](https://github.com/apache/superset/pull/20061) fix: Add french translation missing (@aehanno)
- [#21044](https://github.com/apache/superset/pull/21044) fix(plugin-chart-echarts): missing value format in mixed timeseries (@justinpark)
- [#21419](https://github.com/apache/superset/pull/21419) fix: cached common bootstrap Revert (#21018) (@dpgaspar)
- [#21296](https://github.com/apache/superset/pull/21296) fix(plugin-chart-echarts): show zero value in tooltip (@villebro)
- [#21294](https://github.com/apache/superset/pull/21294) fix(explore): Time column label not formatted when GENERIC_X_AXES enabled (@kgabryje)
- [#21272](https://github.com/apache/superset/pull/21272) fix: adds TLS certificate validation option for SMTP (@dpgaspar)
- [#21076](https://github.com/apache/superset/pull/21076) fix(celery cache warmup): add auth and use warm_up_cache endpoint (@nytai)
- [#21216](https://github.com/apache/superset/pull/21216) fix(database-list): hide upload file button if no permission (@stephenLYZ)
- [#21153](https://github.com/apache/superset/pull/21153) fix(sqllab): missing zero values while copy-to-clipboard (@justinpark)
- [#21084](https://github.com/apache/superset/pull/21084) fix(native filters): groupby filter issue (@stevetracvc)
- [#21005](https://github.com/apache/superset/pull/21005) fix(plugin-chart-handlebars): Sort-By and Sort-By-Descending control not work (@stephenLYZ)
- [#20969](https://github.com/apache/superset/pull/20969) fix(dashboard): Fix scroll behaviour in DashboardBuilderSidepane (@EugeneTorap)
- [#21007](https://github.com/apache/superset/pull/21007) fix(plugin-chart-echarts): gauge chart enhancements and fixes (@stephenLYZ)
- [#21032](https://github.com/apache/superset/pull/21032) fix(plugin-chart-echarts): invalid total label location for negative values in stacked bar chart (@justinpark)
- [#20962](https://github.com/apache/superset/pull/20962) fix: Explore scrolled down when navigating from dashboard (@kgabryje)
- [#20946](https://github.com/apache/superset/pull/20946) fix(viz): Show zero percent changes in Big Number Viz (@Antonio-RiveroMartnez)
- [#20819](https://github.com/apache/superset/pull/20819) fix: Temporal X Axis values are not properly displayed if the time column has a custom label defined (@diegomedina248)
- [#20736](https://github.com/apache/superset/pull/20736) fix: getting default value in run-server.sh (@zhaoyongjie)
- [#20733](https://github.com/apache/superset/pull/20733) fix(docker): Make Gunicorn max_requests and max_requests_jitter adjustable (@mdeshmu)
- [#20714](https://github.com/apache/superset/pull/20714) fix: logger message (@betodealmeida)
**Others**
- [#21811](https://github.com/apache/superset/pull/21811) chore(sqla): refactor query utils (@villebro)
- [#21811](https://github.com/apache/superset/pull/21811) chore(sqla): refactor query utils (@villebro)
- [#20644](https://github.com/apache/superset/pull/20644) chore(deps): bump moment from 2.29.2 to 2.29.4 in /superset-frontend (@dependabot[bot])
- [#21721](https://github.com/apache/superset/pull/21721) build: changelog for 2.0.1 (@AAfghahi)
- [#21018](https://github.com/apache/superset/pull/21018) perf: Memoize the common_bootstrap_payload (@bkyryliuk)
- [#21091](https://github.com/apache/superset/pull/21091) chore(deps): unpin holidays dependency version (@ecederstrand)

File diff suppressed because it is too large Load Diff

View File

@@ -1,67 +0,0 @@
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
## Change Log
### 2.1.1 (Sun Apr 23 15:44:21 2023 +0100)
**Database Migrations**
- [#23980](https://github.com/apache/superset/pull/23980) fix(migration): handle permalink edge cases correctly (@villebro)
- [#23888](https://github.com/apache/superset/pull/23888) chore(key-value): use json serialization for main resources (@villebro)
**Fixes**
- [#23723](https://github.com/apache/superset/pull/23723) fix: add enforce URI query params with a specific for MySQL (@dpgaspar)
- [#24970](https://github.com/apache/superset/pull/24970) fix: update permalink schema (@eschutho)
- [#24995](https://github.com/apache/superset/pull/24995) fix: Revert "fix(chart): Time Series set showMaxLabel as null for time xAxis (#20627) (@eschutho)
- [#24513](https://github.com/apache/superset/pull/24513) fix(sqllab): normalize changedOn timestamp (@villebro)
- [#23512](https://github.com/apache/superset/pull/23512) fix: Dashboard not loading with default first value in filter (@geido)
- [#24482](https://github.com/apache/superset/pull/24482) fix(permalink): Incorrect component schema reference (@Nisden)
- [#24166](https://github.com/apache/superset/pull/24166) fix(permalink): migrate to marshmallow codec (@villebro)
- [#24697](https://github.com/apache/superset/pull/24697) fix: import database engine validation (@dpgaspar)
- [#24390](https://github.com/apache/superset/pull/24390) fix: FAB CSS on Superset (@dpgaspar)
- [#24249](https://github.com/apache/superset/pull/24249) fix: dashboard ownership check (@betodealmeida)
- [#23801](https://github.com/apache/superset/pull/23801) fix(plugin-chart-handlebars): Fix TypeError when using handlebars columns raw mode (@fmannhardt)
- [#23566](https://github.com/apache/superset/pull/23566) fix: Filter values are not updating when dependencies are set (@michael-s-molina)
- [#23400](https://github.com/apache/superset/pull/23400) fix: Select all issue with "Dynamically search all filter values" in FilterBar (@geido)
- [#23865](https://github.com/apache/superset/pull/23865) fix: Native time range filter in legacy charts (@kgabryje)
- [#24054](https://github.com/apache/superset/pull/24054) fix: handle temporal columns in presto partitions (@giftig)
- [#23882](https://github.com/apache/superset/pull/23882) fix: handle comments in `has_table_query` (@betodealmeida)
- [#24137](https://github.com/apache/superset/pull/24137) fix: disable SHOW_STACKTRACE by default (@dpgaspar)
- [#24185](https://github.com/apache/superset/pull/24185) fix: db validate parameters permission (@dpgaspar)
- [#23769](https://github.com/apache/superset/pull/23769) fix: allow db driver distinction on enforced URI params (@dpgaspar)
- [#23600](https://github.com/apache/superset/pull/23600) fix: load examples as anon user (@betodealmeida)
- [#23200](https://github.com/apache/superset/pull/23200) fix: permission checks on import (@betodealmeida)
- [#23901](https://github.com/apache/superset/pull/23901) fix: check sqlalchemy_uri (@dpgaspar)
- [#23751](https://github.com/apache/superset/pull/23751) fix(mssql): apply top after distinct (@villebro)
- [#23586](https://github.com/apache/superset/pull/23586) fix(dashboard-rbac): use normal rbac when no roles chosen (@villebro)
- [#23582](https://github.com/apache/superset/pull/23582) fix(dash import): Ensure old datasource ids are not referenced in imported charts (@jfrag1)
- [#23506](https://github.com/apache/superset/pull/23506) fix(generic-x-axis): skip initial time filter for legacy charts (@villebro)
- [#23507](https://github.com/apache/superset/pull/23507) fix(legacy-plugin-chart-heatmap): fix adhoc column tooltip (@villebro)
- [#23441](https://github.com/apache/superset/pull/23441) fix(chart): nonexistent time grain no longer breaks the application (@rdubois)
- [#23393](https://github.com/apache/superset/pull/23393) fix(Pivot Table v2): resolved full width issue (@AkashBoora)
- [#22851](https://github.com/apache/superset/pull/22851) fix: Validate jinja rendered query (@geido)
**Others**
- [#24586](https://github.com/apache/superset/pull/24586) chore(metastore-cache): add codec support (@villebro)
- [#23113](https://github.com/apache/superset/pull/23113) chore(sqla): Address performance tradeoff with eager loading (@john-bodley)
- [#24294](https://github.com/apache/superset/pull/24294) chore: update UPDATING for 2.1.0 (@eschutho)
- [#24056](https://github.com/apache/superset/pull/24056) chore: Remove unnecessary information from response (@geido)

View File

@@ -1,41 +0,0 @@
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
## Change Log
### 2.1.2 (Wed Oct 18 16:59:30 2023 -0700)
**Database Migrations**
**Features**
**Fixes**
- [#25150](https://github.com/apache/superset/pull/25150) fix: Chart series limit doesn't work for some databases (@KSPT-taylorjohn)
- [#25014](https://github.com/apache/superset/pull/25014) fix: CTE queries with non-SELECT statements (@dpgaspar)
- [#24849](https://github.com/apache/superset/pull/24849) fix: validation errors appearing after ssh tunnel switch (@hughhhh)
- [#24196](https://github.com/apache/superset/pull/24196) fix: SSH Tunnel creation with dynamic form (@hughhhh)
- [#24821](https://github.com/apache/superset/pull/24821) fix: Allow chart import to update the dataset an existing chart points to (@jfrag1)
- [#24317](https://github.com/apache/superset/pull/24317) fix: update order of build for testing a release (@eschutho)
**Others**
- [#24826](https://github.com/apache/superset/pull/24826) chore: remove CssTemplate and Annotation access from gamma role (@lilykuang)
- [#23680](https://github.com/apache/superset/pull/23680) chore: bump wtforms and add missing flask-limiter (@dpgaspar)
- [#24758](https://github.com/apache/superset/pull/24758) chore(view_api): return application/json as content-type for api/v1/form_data endpoint (@zephyring)

View File

@@ -1,40 +0,0 @@
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
## Change Log
### 2.1.3 (Fri Dec 8 16:36:51 2023 -0700)
**Database Migrations**
**Features**
**Fixes**
- [#25658](https://github.com/apache/superset/pull/25658) fix: improve upload ZIP file validation (@dpgaspar)
- [#25779](https://github.com/apache/superset/pull/25779) fix: DB-specific quoting in Jinja macro (@betodealmeida)
- [#25843](https://github.com/apache/superset/pull/25843) fix: remove `update_charts_owners` (@betodealmeida)
**Others**
- [#23862](https://github.com/apache/superset/pull/23862) chore: Use nh3 lib instead of bleach (@EugeneTorap)
- [#23965](https://github.com/apache/superset/pull/23965) chore: bump werkzeug and Flask (@dpgaspar)
- [#24033](https://github.com/apache/superset/pull/24033) chore: Update mypy and fix stubs issue (@EugeneTorap)
- [#24045](https://github.com/apache/superset/pull/24045) chore: Bump sqlparse to 0.4.4 (@EugeneTorap)
- [#24324](https://github.com/apache/superset/pull/24324) chore: rate limit requests (@betodealmeida)

View File

@@ -1,792 +0,0 @@
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
## Change Log
### 3.0.0 (Thu Aug 24 13:36:27 2023 -0600)
**Database Migrations**
- [#25053](https://github.com/apache/superset/pull/25053) fix: extend user email size (@dpgaspar)
- [#24982](https://github.com/apache/superset/pull/24982) fix(snowflake): opt-in denormalization of column names (@villebro)
- [#24939](https://github.com/apache/superset/pull/24939) chore: Add explicit ON DELETE CASCADE for embedded_dashboards (@john-bodley)
- [#24938](https://github.com/apache/superset/pull/24938) chore: Add explicit ON DELETE CASCADE for dashboard_slices (@john-bodley)
- [#24911](https://github.com/apache/superset/pull/24911) fix(logs): increase json field for logs table (@cnabro)
- [#24884](https://github.com/apache/superset/pull/24884) fix: Migration to fix out of sync schema_perm in charts and datasets (@jfrag1)
- [#24831](https://github.com/apache/superset/pull/24831) fix(migration): Ensure cascadeParentIds key exists (@john-bodley)
- [#24510](https://github.com/apache/superset/pull/24510) fix(dashboard): increase json_metadata field (@cnabro)
- [#24749](https://github.com/apache/superset/pull/24749) fix(native filter): clean deleted parent filter ids (@justinpark)
- [#24737](https://github.com/apache/superset/pull/24737) fix(druid): Delete obsolete Druid NoSQL slice parameters (@john-bodley)
- [#24628](https://github.com/apache/superset/pull/24628) chore(dao): Add explicit ON DELETE CASCADE for ownership (@john-bodley)
- [#24661](https://github.com/apache/superset/pull/24661) fix: Ensure config is a dict in cross filters scope migration (@kgabryje)
- [#24629](https://github.com/apache/superset/pull/24629) chore: Drop rouge constraints and tables (@john-bodley)
- [#24558](https://github.com/apache/superset/pull/24558) chore: better styling alerts/reports modal (@betodealmeida)
- [#24547](https://github.com/apache/superset/pull/24547) feat: customize screenshot width for alerts/reports (@betodealmeida)
- [#24553](https://github.com/apache/superset/pull/24553) feat: add description column to Tags (@hughhhh)
- [#24548](https://github.com/apache/superset/pull/24548) fix: heads (@betodealmeida)
- [#24488](https://github.com/apache/superset/pull/24488) chore(dao): Add explicit ON DELETE CASCADE when deleting datasets (@john-bodley)
- [#24517](https://github.com/apache/superset/pull/24517) feat: Implement currencies formatter for saved metrics (@kgabryje)
- [#24266](https://github.com/apache/superset/pull/24266) chore: Remove deprecated ENABLE_ACCESS_REQUEST workflow (@john-bodley)
- [#23910](https://github.com/apache/superset/pull/23910) feat: Migrates Dual Line Chart to Mixed Chart (@michael-s-molina)
- [#23741](https://github.com/apache/superset/pull/23741) feat: Migrates TreeMap chart (@michael-s-molina)
- [#23712](https://github.com/apache/superset/pull/23712) feat: Migrates Pivot Table v1 to v2 (@michael-s-molina)
- [#24306](https://github.com/apache/superset/pull/24306) chore: reorder k-v migration for 2.1.1 (@villebro)
- [#24280](https://github.com/apache/superset/pull/24280) fix: ensure json is not None (@eschutho)
- [#24197](https://github.com/apache/superset/pull/24197) chore(pre-commit): Add pyupgrade and pycln hooks (@john-bodley)
- [#24127](https://github.com/apache/superset/pull/24127) chore: Embrace the walrus operator (@john-bodley)
- [#24020](https://github.com/apache/superset/pull/24020) feat: Cross filters scoping (@kgabryje)
- [#23942](https://github.com/apache/superset/pull/23942) fix: update migration chart_ds_constraint to have separate batch op (@hughhhh)
- [#23925](https://github.com/apache/superset/pull/23925) fix(migration): add log for values unseen in `Slice.datasource_type` (@hughhhh)
- [#23614](https://github.com/apache/superset/pull/23614) chore: add check constraint to restrict `Slice` models datasource_type != "table" (@hughhhh)
- [#23650](https://github.com/apache/superset/pull/23650) fix(migration): Only attempt to drop types if they exist (@jfrag1)
- [#23526](https://github.com/apache/superset/pull/23526) fix(tags): convert postgres enum type to varchar (@nytai)
- [#23410](https://github.com/apache/superset/pull/23410) feat(echarts): Implement stream graph for Echarts Timeseries (@kgabryje)
- [#23173](https://github.com/apache/superset/pull/23173) chore: Update pre-commit packages (@hughhhh)
- [#23276](https://github.com/apache/superset/pull/23276) fix(migration): Address issue in #23228 (@john-bodley)
- [#23273](https://github.com/apache/superset/pull/23273) fix(plugin-chart-echarts): render horizontal categories from top (@villebro)
- [#23228](https://github.com/apache/superset/pull/23228) chore: Deprecate show_native_filters (@john-bodley)
- [#19677](https://github.com/apache/superset/pull/19677) chore(backend): Spelling (@jsoref)
**Features**
- [#24718](https://github.com/apache/superset/pull/24718) feat: Add currencies controls in control panels (@kgabryje)
- [#24960](https://github.com/apache/superset/pull/24960) feat: Adds options to show subtotals in Pivot Table (@michael-s-molina)
- [#24703](https://github.com/apache/superset/pull/24703) feat: migrate charts on import (@betodealmeida)
- [#24433](https://github.com/apache/superset/pull/24433) feat: use Scarf Gateway for Superset npm downloads (@arjundevarajan)
- [#24432](https://github.com/apache/superset/pull/24432) feat: use Scarf Gateway for Superset helm charts/Docker compose downloads (@arjundevarajan)
- [#24329](https://github.com/apache/superset/pull/24329) feat(sqllab): add shortcut for run current sql (@justinpark)
- [#24594](https://github.com/apache/superset/pull/24594) feat: Implement support for currencies in more charts (@kgabryje)
- [#24549](https://github.com/apache/superset/pull/24549) feat: screenshot reports with custom width (@betodealmeida)
- [#24518](https://github.com/apache/superset/pull/24518) feat(tags): move tags from navbar to settings (@hughhhh)
- [#24277](https://github.com/apache/superset/pull/24277) feat(docker): Add support LDAP/AD authorization (@alekseyolg)
- [#24388](https://github.com/apache/superset/pull/24388) feat: Allows new values for single value filters (@michael-s-molina)
- [#24287](https://github.com/apache/superset/pull/24287) feat: add dashboard page full xlsx export (@vitoldi)
- [#24368](https://github.com/apache/superset/pull/24368) feat: make data tables support html (@mistercrunch)
- [#24369](https://github.com/apache/superset/pull/24369) feat(sshtunnel): add configuration for SSH_TIMEOUT (@hughhhh)
- [#24348](https://github.com/apache/superset/pull/24348) feat: add a tooltip to clarify metric_name in the DatasetEditor (@mistercrunch)
- [#24043](https://github.com/apache/superset/pull/24043) feat: Configurable default row limit for native filters (@cleslie)
- [#24345](https://github.com/apache/superset/pull/24345) feat: Convert ENABLE_BROAD_ACTIVITY_ACCESS and MENU_HIDE_USER_INFO into feature flags (@michael-s-molina)
- [#23943](https://github.com/apache/superset/pull/23943) feat: Removes the preset-chart-xy plugin (@michael-s-molina)
- [#23933](https://github.com/apache/superset/pull/23933) feat: Removes the Multiple Line Charts (@michael-s-molina)
- [#24237](https://github.com/apache/superset/pull/24237) feat: support complex types and use get_columns implementation of starrocks python client (@miomiocat)
- [#24205](https://github.com/apache/superset/pull/24205) feat(sqllab): SQLEditor Extension (@Antonio-RiveroMartnez)
- [#24232](https://github.com/apache/superset/pull/24232) feat(flags): enabling and deprecating a few feature flags (@rusackas)
- [#24191](https://github.com/apache/superset/pull/24191) feat: extension hook for DB delete (@betodealmeida)
- [#23209](https://github.com/apache/superset/pull/23209) feat: Add StarRocks support (@miomiocat)
- [#24067](https://github.com/apache/superset/pull/24067) feat: split database information (@betodealmeida)
- [#23551](https://github.com/apache/superset/pull/23551) feat: Add deck.gl Heatmap Visualization (@Mattc1221)
- [#24005](https://github.com/apache/superset/pull/24005) feat: dashboard page xlsx export (@vitoldi)
- [#23174](https://github.com/apache/superset/pull/23174) feat: database extension registry (@betodealmeida)
- [#24048](https://github.com/apache/superset/pull/24048) feat: Make time shifted series colors match the original series (@michael-s-molina)
- [#23035](https://github.com/apache/superset/pull/23035) feat: Use AntD table in FilterableTable (@EugeneTorap)
- [#24035](https://github.com/apache/superset/pull/24035) feat: implement time grain in temporal filters (@villebro)
- [#23970](https://github.com/apache/superset/pull/23970) feat(chart-controls): Show detailed data type tooltip when hovering type icon (@ved-kashyap-samsung)
- [#23890](https://github.com/apache/superset/pull/23890) feat!: bump to Python3.9 (@sebastianliebscher)
- [#23975](https://github.com/apache/superset/pull/23975) feat: Allows dynamic type on viz migrations (@michael-s-molina)
- [#23917](https://github.com/apache/superset/pull/23917) feat: Adds a control to set the Secondary Y-axis bounds in Mixed charts (@michael-s-molina)
- [#23905](https://github.com/apache/superset/pull/23905) feat: Considers GENERIC_CHART_AXES in viz migrations (@michael-s-molina)
- [#20075](https://github.com/apache/superset/pull/20075) feat: custom d3 number locale (@ebaratte)
- [#23869](https://github.com/apache/superset/pull/23869) feat: Changes the Select component to preserve the search value when selecting (@michael-s-molina)
- [#23064](https://github.com/apache/superset/pull/23064) feat: conditional coloring for big number chart (@gbusch)
- [#23698](https://github.com/apache/superset/pull/23698) feat: format timestamps in drill by breadcrumbs (@lilykuang)
- [#23655](https://github.com/apache/superset/pull/23655) feat: add verbose map to get /dataset/ endpoint (@lilykuang)
- [#23716](https://github.com/apache/superset/pull/23716) feat: create dtype option for csv upload (@eschutho)
- [#23777](https://github.com/apache/superset/pull/23777) feat(revert): Re-introduces the RLS page (@michael-s-molina)
- [#22812](https://github.com/apache/superset/pull/22812) feat: Add Ocient support (@alexclavel-ocient)
- [#23768](https://github.com/apache/superset/pull/23768) feat: Display both queries result in Table mode for Mixed Chart in drill by modal (@kgabryje)
- [#23269](https://github.com/apache/superset/pull/23269) feat(native-filters): Add legacy (filter-box) to native filter migration script (@john-bodley)
- [#23748](https://github.com/apache/superset/pull/23748) feat(adhoc-column): add resize option (@villebro)
- [#23724](https://github.com/apache/superset/pull/23724) feat: Drill by error management (@kgabryje)
- [#23634](https://github.com/apache/superset/pull/23634) feat: Makes "Add to dashboard" in Save chart modal paginated (@michael-s-molina)
- [#23697](https://github.com/apache/superset/pull/23697) feat: Add loading state to sqllab save/overwrite dataset modal (@jfrag1)
- [#23720](https://github.com/apache/superset/pull/23720) feat(sqllab): add headers when copying results to clipboard (@villebro)
- [#23707](https://github.com/apache/superset/pull/23707) feat(helm): update redis version due to critical CVE (HIGH PRIORITY) (@justmike1)
- [#23664](https://github.com/apache/superset/pull/23664) feat: Implement breadcrumbs in Drill By modal (@kgabryje)
- [#23644](https://github.com/apache/superset/pull/23644) feat(plugin-chart-echarts): add x-axis sort to multi series (@villebro)
- [#23615](https://github.com/apache/superset/pull/23615) feat: Support further drill by in the modal (@kgabryje)
- [#23657](https://github.com/apache/superset/pull/23657) feat(dashboard): make color indices referable (@villebro)
- [#23603](https://github.com/apache/superset/pull/23603) feat: implement drill by table (@lilykuang)
- [#23402](https://github.com/apache/superset/pull/23402) feat(lang): update messages.po(t) and add missing German translations (@hbruch)
- [#23328](https://github.com/apache/superset/pull/23328) feat(wrap-text): Wrap text support for specific columns in Grid (@SamraHanifCareem)
- [#23601](https://github.com/apache/superset/pull/23601) feat(helm): ability to disable helm hooks (@justmike1)
- [#23602](https://github.com/apache/superset/pull/23602) feat(snowflake): `get_catalog_names` (@betodealmeida)
- [#23599](https://github.com/apache/superset/pull/23599) feat(presto): `get_catalog_names` (@betodealmeida)
- [#23547](https://github.com/apache/superset/pull/23547) feat: Shows user charts by default when editing a dashboard (@michael-s-molina)
- [#23590](https://github.com/apache/superset/pull/23590) feat: Enables ECharts legend selector (@michael-s-molina)
- [#23594](https://github.com/apache/superset/pull/23594) feat(helm): Upgrade default Superset version to 2.1.0 (@dnskr)
- [#23461](https://github.com/apache/superset/pull/23461) feat(bigquery): `get_catalog_names` (@betodealmeida)
- [#23575](https://github.com/apache/superset/pull/23575) feat: Drill by open in Explore (@kgabryje)
- [#23542](https://github.com/apache/superset/pull/23542) feat: Add metadata bar to drill by modal (@kgabryje)
- [#23524](https://github.com/apache/superset/pull/23524) feat: drill by display chart (@lilykuang)
- [#23509](https://github.com/apache/superset/pull/23509) feat(cross-filters): using verbose map in applied cross-filters (@Always-prog)
- [#23439](https://github.com/apache/superset/pull/23439) feat: add ability to disable cache (@villebro)
- [#23458](https://github.com/apache/superset/pull/23458) feat: drill by modal (@lilykuang)
- [#23454](https://github.com/apache/superset/pull/23454) feat: Implement context menu for drill by (@kgabryje)
- [#23416](https://github.com/apache/superset/pull/23416) feat(helm): add nodeselector and tolerations to init job (@dim-ops)
- [#23459](https://github.com/apache/superset/pull/23459) feat: Allows reload on default filter value error (@michael-s-molina)
- [#23447](https://github.com/apache/superset/pull/23447) feat(DB engine spec): `get_catalog_names` (@betodealmeida)
- [#23450](https://github.com/apache/superset/pull/23450) feat(echarts): Add x axis sort by to all series charts (@kgabryje)
- [#23415](https://github.com/apache/superset/pull/23415) feat: add new cache_query_by_user key (@eschutho)
- [#23377](https://github.com/apache/superset/pull/23377) feat(sqllab): log error_detail on fetch failed (@justinpark)
- [#23338](https://github.com/apache/superset/pull/23338) feat(chart): Added SriLanka country map (@rukshn)
- [#23401](https://github.com/apache/superset/pull/23401) feat(postgresql): dynamic schema (@betodealmeida)
- [#23392](https://github.com/apache/superset/pull/23392) feat(plugin-chart-echarts): add series sorting (@villebro)
- [#23319](https://github.com/apache/superset/pull/23319) feat(native-filters): allow cascading from time and numeric filters (@villebro)
- [#23350](https://github.com/apache/superset/pull/23350) feat(dashboard): Change default opacity of icon in FiltersBadge (@kgabryje)
- [#23286](https://github.com/apache/superset/pull/23286) feat(dashboard): Refactor FiltersBadge (@kgabryje)
- [#23287](https://github.com/apache/superset/pull/23287) feat(docs): adds BugHerd to documentation site. (@rusackas)
- [#23274](https://github.com/apache/superset/pull/23274) feat(generic-x-axis): add x sorting on series limit metric (@villebro)
- [#23138](https://github.com/apache/superset/pull/23138) feat: Cross Filters in FilterBar (@geido)
- [#23099](https://github.com/apache/superset/pull/23099) feat(ssh_tunnel): Import/Export Databases with SSHTunnel credentials (@Antonio-RiveroMartnez)
- [#23141](https://github.com/apache/superset/pull/23141) feat(dashboard): Add cross filter from context menu (@kgabryje)
- [#22886](https://github.com/apache/superset/pull/22886) feat: Enable cross filters in WorldMap and Graph charts (@kgabryje)
- [#23143](https://github.com/apache/superset/pull/23143) feat: return UUID on database creation (@betodealmeida)
- [#20876](https://github.com/apache/superset/pull/20876) feat: Frontend tagging (@cccs-RyanK)
**Fixes**
- [#25217](https://github.com/apache/superset/pull/25217) fix: inability to remove chart filter when dashboard time filter is applied (@lilykuang)
- [#25268](https://github.com/apache/superset/pull/25268) fix: Add line height to metadata bar (@kgabryje)
- [#25251](https://github.com/apache/superset/pull/25251) fix(dockefile): broken docker image (@hugosjoberg)
- [#25248](https://github.com/apache/superset/pull/25248) fix: Currency formatting in Table raw mode (@kgabryje)
- [#25249](https://github.com/apache/superset/pull/25249) fix: Don't apply number formatting to the label in Treemap (@kgabryje)
- [#25238](https://github.com/apache/superset/pull/25238) fix: Clearing the currency format has no effect on the chart (@michael-s-molina)
- [#25223](https://github.com/apache/superset/pull/25223) fix: Cypress test to force mouseover (follow-up) (@michael-s-molina)
- [#25213](https://github.com/apache/superset/pull/25213) fix: granularity_sqla and GENERIC_CHART_AXES (@betodealmeida)
- [#24859](https://github.com/apache/superset/pull/24859) fix(sqllab): Force trino client async execution (@giftig)
- [#25209](https://github.com/apache/superset/pull/25209) fix: Cypress test to force mouseover (@michael-s-molina)
- [#25189](https://github.com/apache/superset/pull/25189) fix: `is_select` (@betodealmeida)
- [#25202](https://github.com/apache/superset/pull/25202) fix: All values being selected in Select (@michael-s-molina)
- [#25190](https://github.com/apache/superset/pull/25190) fix: DML failures in SQL Lab (@hughhhh)
- [#25157](https://github.com/apache/superset/pull/25157) fix: Issue #24493; Resolved report selection menu in chart and dashboard page (@suicide11)
- [#25156](https://github.com/apache/superset/pull/25156) fix: Applying Dashboard Time Range Filters to Overwritten Charts (@lilykuang)
- [#25133](https://github.com/apache/superset/pull/25133) fix(sqllab): Invalid start date (@justinpark)
- [#25159](https://github.com/apache/superset/pull/25159) fix: Sunburst chart error when secondary metric is null (@michael-s-molina)
- [#20078](https://github.com/apache/superset/pull/20078) fix: Fixing untranslated FR strings (@aehanno)
- [#25150](https://github.com/apache/superset/pull/25150) fix: Chart series limit doesn't work for some databases (@KSPT-taylorjohn)
- [#25135](https://github.com/apache/superset/pull/25135) fix: Handle Python date format for GENERIC_CHART_AXES feature (@john-bodley)
- [#24711](https://github.com/apache/superset/pull/24711) fix: add format for timestamp in crdb to correctly use times values (@elewis787)
- [#25090](https://github.com/apache/superset/pull/25090) fix: Bumps Flask Caching to fix RCE vulnerability (@michael-s-molina)
- [#25119](https://github.com/apache/superset/pull/25119) fix(DB Connection): Update placeholder values for Snowflake connection (@Vitor-Avila)
- [#25113](https://github.com/apache/superset/pull/25113) fix: Date format when importing international timestamps (@michael-s-molina)
- [#25114](https://github.com/apache/superset/pull/25114) fix(sqllab): error while removing a referenced table (@justinpark)
- [#25091](https://github.com/apache/superset/pull/25091) fix(sqllab): rendering performance regression by resultset (@justinpark)
- [#25081](https://github.com/apache/superset/pull/25081) fix: Allow embedded guest user datasource access with dashboard context (@jfrag1)
- [#25086](https://github.com/apache/superset/pull/25086) fix(assets import): Ensure old datasource ids are not referenced in imported charts (@jfrag1)
- [#25087](https://github.com/apache/superset/pull/25087) fix: Filter names overflow wrap (@michael-s-molina)
- [#25043](https://github.com/apache/superset/pull/25043) fix: dataset update permission out of sync (@zephyring)
- [#25020](https://github.com/apache/superset/pull/25020) fix(embedded sdk): Remove trailing slash from passed superset domain if there is one (@jfrag1)
- [#25074](https://github.com/apache/superset/pull/25074) fix: Cross filters initial scope (@michael-s-molina)
- [#24008](https://github.com/apache/superset/pull/24008) fix(table): condition formatting can't formate 0 values (@Always-prog)
- [#21255](https://github.com/apache/superset/pull/21255) fix(cli): import-directory is missing the application context (@rdubois)
- [#25031](https://github.com/apache/superset/pull/25031) fix: Ensure SQLAlchemy sessions are closed (@john-bodley)
- [#24686](https://github.com/apache/superset/pull/24686) fix: dataset safe URL for explore_url (@dpgaspar)
- [#25057](https://github.com/apache/superset/pull/25057) fix: Error when using the legacy dataset editor (@michael-s-molina)
- [#25029](https://github.com/apache/superset/pull/25029) fix: Native filter dashboard RBAC aware dataset permission (@john-bodley)
- [#25055](https://github.com/apache/superset/pull/25055) fix: docker-compose non-dev (@michael-s-molina)
- [#24999](https://github.com/apache/superset/pull/24999) fix(mssql): avoid trying to return a resultset for DML queries with not resultset (@Yuval-Moshe)
- [#25014](https://github.com/apache/superset/pull/25014) fix: CTE queries with non-SELECT statements (@dpgaspar)
- [#25028](https://github.com/apache/superset/pull/25028) fix: Dashboard fullscreen is removing custom URL params (@michael-s-molina)
- [#25008](https://github.com/apache/superset/pull/25008) fix: Address regression introduced in #24789 (@john-bodley)
- [#24991](https://github.com/apache/superset/pull/24991) fix: Don't let users see dashboards only because it's favorited (@jfrag1)
- [#25017](https://github.com/apache/superset/pull/25017) fix: Downgrades Prophet to 1.1.1 and Holidays to 0.23 (@michael-s-molina)
- [#25009](https://github.com/apache/superset/pull/25009) fix: Date column in Heatmap is displayed as unix timestamp (@michael-s-molina)
- [#24965](https://github.com/apache/superset/pull/24965) fix(sqllab): scroll position after run current sql (@justinpark)
- [#24989](https://github.com/apache/superset/pull/24989) fix: Calendar Heatmap day offset (@michael-s-molina)
- [#24906](https://github.com/apache/superset/pull/24906) fix: Duplicated options in Select when using numerical values (@michael-s-molina)
- [#24959](https://github.com/apache/superset/pull/24959) fix: Tooltips don't disappear on the Heatmap chart (@michael-s-molina)
- [#24953](https://github.com/apache/superset/pull/24953) fix: calls to `_get_sqla_engine` (@betodealmeida)
- [#24903](https://github.com/apache/superset/pull/24903) fix(charts): View in SQL Lab with relevant perm (@giftig)
- [#24946](https://github.com/apache/superset/pull/24946) fix: remove unused file (@mdeshmu)
- [#24806](https://github.com/apache/superset/pull/24806) fix: Dashboard aware RBAC "Save as" menu item (@john-bodley)
- [#24916](https://github.com/apache/superset/pull/24916) fix: Tooltip of area chart shows undefined total (@michael-s-molina)
- [#24886](https://github.com/apache/superset/pull/24886) fix(explore): double resize triggered (@justinpark)
- [#24789](https://github.com/apache/superset/pull/24789) fix: Dashboard aware RBAC dataset permission (@john-bodley)
- [#24892](https://github.com/apache/superset/pull/24892) fix: revert "fix(embedded): adding logic to check dataset used by filters (#24808) (@john-bodley)
- [#24829](https://github.com/apache/superset/pull/24829) fix(dataset): resizable dataset layout left column (@justinpark)
- [#24876](https://github.com/apache/superset/pull/24876) fix(explore): invalid "No Filter" applied (@justinpark)
- [#24874](https://github.com/apache/superset/pull/24874) fix(annotation): Address regression from #24694 (@john-bodley)
- [#24849](https://github.com/apache/superset/pull/24849) fix: validation errors appearing after ssh tunnel switch (@hughhhh)
- [#24862](https://github.com/apache/superset/pull/24862) fix: Explore misleading save action (@michael-s-molina)
- [#24847](https://github.com/apache/superset/pull/24847) fix(sqllab): Add docText for long keyword (@justinpark)
- [#24850](https://github.com/apache/superset/pull/24850) fix(legacy-chart): corrupted raw chart data (@justinpark)
- [#24846](https://github.com/apache/superset/pull/24846) fix: Links in tooltips of dashboard chart cards (@michael-s-molina)
- [#24808](https://github.com/apache/superset/pull/24808) fix(embedded): adding logic to check dataset used by filters (@Vitor-Avila)
- [#24803](https://github.com/apache/superset/pull/24803) fix: Python3.11 (str, Enum) issue (@EugeneTorap)
- [#24796](https://github.com/apache/superset/pull/24796) fix(datasets): give possibility to add dataset with slashes in name (@Always-prog)
- [#24821](https://github.com/apache/superset/pull/24821) fix: Allow chart import to update the dataset an existing chart points to (@jfrag1)
- [#24814](https://github.com/apache/superset/pull/24814) fix: Removes unnecessary query on filters (@michael-s-molina)
- [#24815](https://github.com/apache/superset/pull/24815) fix: pass schema on dataset creation (@betodealmeida)
- [#24801](https://github.com/apache/superset/pull/24801) fix: Filters alert width (@michael-s-molina)
- [#24677](https://github.com/apache/superset/pull/24677) fix(sqllab): Replace autocomplete logic by a hook (@justinpark)
- [#24816](https://github.com/apache/superset/pull/24816) fix: docs invalid client redirect (@dpgaspar)
- [#23988](https://github.com/apache/superset/pull/23988) fix: Department names fixed for CountryMap of France (@xavier-GitHub76)
- [#24798](https://github.com/apache/superset/pull/24798) fix(chore): switching between languages should be without timeout 60 seconds (@Always-prog)
- [#24772](https://github.com/apache/superset/pull/24772) fix(sqllab): Replace margin style by gap on query results (@justinpark)
- [#24698](https://github.com/apache/superset/pull/24698) fix: Select onChange is being fired without explicit selection (@michael-s-molina)
- [#24747](https://github.com/apache/superset/pull/24747) fix: update svgr webpack config to use svg dimensions (@eschutho)
- [#23816](https://github.com/apache/superset/pull/23816) fix(docs): respect no_proxy environment variable (@karsten-wagner)
- [#24756](https://github.com/apache/superset/pull/24756) fix: Tooltip no longer highlights hovered data series (@michael-s-molina)
- [#24740](https://github.com/apache/superset/pull/24740) fix: column/metric type icons look too small (@mistercrunch)
- [#24739](https://github.com/apache/superset/pull/24739) fix: `search_path` in RDS (@betodealmeida)
- [#24599](https://github.com/apache/superset/pull/24599) fix(datasets): Replace left panel layout by TableSelector (@justinpark)
- [#24710](https://github.com/apache/superset/pull/24710) fix(pvt2): migrations from legacy pivot table error when form_data have pieces of pvt2 (@Always-prog)
- [#24746](https://github.com/apache/superset/pull/24746) fix: Dashboard time grain in Table (@michael-s-molina)
- [#24716](https://github.com/apache/superset/pull/24716) fix(range-slider): removed localization of metric key (@Always-prog)
- [#24671](https://github.com/apache/superset/pull/24671) fix(cache): Add cache warmup for non-legacy charts (@john-bodley)
- [#24670](https://github.com/apache/superset/pull/24670) fix: color collision in dashboard with tabs (@lilykuang)
- [#24663](https://github.com/apache/superset/pull/24663) fix(dataset-import): support empty strings for extra fields (@Vitor-Avila)
- [#24690](https://github.com/apache/superset/pull/24690) fix: embedded dashboard check (@betodealmeida)
- [#24665](https://github.com/apache/superset/pull/24665) fix: Dashboard time grain in Pivot Table (@michael-s-molina)
- [#24611](https://github.com/apache/superset/pull/24611) fix(sqllab): missing column meta on autocomplete (@justinpark)
- [#24630](https://github.com/apache/superset/pull/24630) fix: Chart can be added to dashboard by non-owner via save as option (@jfrag1)
- [#24642](https://github.com/apache/superset/pull/24642) fix: Incorrect initial global scoping of cross filters (@kgabryje)
- [#24610](https://github.com/apache/superset/pull/24610) fix: Validation of out of scope filters and interaction with Clear All (@michael-s-molina)
- [#24646](https://github.com/apache/superset/pull/24646) fix: CSP, bump FAB to 4.3.4 (@dpgaspar)
- [#24625](https://github.com/apache/superset/pull/24625) fix: fix extra insert for count on dataset creation (@hughhhh)
- [#24643](https://github.com/apache/superset/pull/24643) fix: Ensure metrics is an array in Mixed Chart (@kgabryje)
- [#24644](https://github.com/apache/superset/pull/24644) fix: remove spaces and EOL from nonce attr (@dpgaspar)
- [#24617](https://github.com/apache/superset/pull/24617) fix: Wrong positioning of filter tooltips on scroll (@michael-s-molina)
- [#24609](https://github.com/apache/superset/pull/24609) fix: change naming convention for count metric on Dataset creation (@hughhhh)
- [#24567](https://github.com/apache/superset/pull/24567) fix: remove underscore from builtin_time_grains label (@cnabro)
- [#24608](https://github.com/apache/superset/pull/24608) fix: Incorrect dependency between filters related feature flags (@michael-s-molina)
- [#24612](https://github.com/apache/superset/pull/24612) fix(report): edit without custom width (@betodealmeida)
- [#24552](https://github.com/apache/superset/pull/24552) fix(ssh): Editing Database w/ SSH Tunneling (@hughhhh)
- [#24556](https://github.com/apache/superset/pull/24556) fix: set max version for pyocient (@jwilliams-ocient)
- [#24129](https://github.com/apache/superset/pull/24129) fix: Bump prophet, re-enable tests, and remedy column eligibility logic (@john-bodley)
- [#24593](https://github.com/apache/superset/pull/24593) fix: Clicking on a tag in the dashboard and charts lists does not work (@michael-s-molina)
- [#24196](https://github.com/apache/superset/pull/24196) fix: SSH Tunnel creation with dynamic form (@hughhhh)
- [#24555](https://github.com/apache/superset/pull/24555) fix: Metric is truncated in tooltip (@michael-s-molina)
- [#24565](https://github.com/apache/superset/pull/24565) fix: docker compose refusing to start (@dpgaspar)
- [#24536](https://github.com/apache/superset/pull/24536) fix(sqllab): Add threshold for checking inactive queries (@justinpark)
- [#24546](https://github.com/apache/superset/pull/24546) fix: Error when searching for a dashboard in the chart list (@michael-s-molina)
- [#24550](https://github.com/apache/superset/pull/24550) fix: Deque mutated during iteration (@michael-s-molina)
- [#24541](https://github.com/apache/superset/pull/24541) fix(docs): Typo in filter migration. (@Hikari)
- [#24475](https://github.com/apache/superset/pull/24475) fix(translations): typo mistake (translation to Spanish) (@santi-pragma)
- [#24519](https://github.com/apache/superset/pull/24519) fix: SQL Lab - correct setting name from DISPLAY_MAX_ROWS to DISPLAY_MAX_ROW (@jgillick)
- [#24537](https://github.com/apache/superset/pull/24537) fix: Use Celery task ETA for alert/report schedule (@john-bodley)
- [#24545](https://github.com/apache/superset/pull/24545) fix: Revert enable strong session protection by default (#24256) (@michael-s-molina)
- [#24544](https://github.com/apache/superset/pull/24544) fix: Release scripts Python version (@michael-s-molina)
- [#24542](https://github.com/apache/superset/pull/24542) fix(native-filters): Infinite load when filter with default first value is out of scope in horizontal bar (@kgabryje)
- [#24492](https://github.com/apache/superset/pull/24492) fix(charts): big-number display broken in echarts (@curious86)
- [#24506](https://github.com/apache/superset/pull/24506) fix: Native filter dynamic numeric search (@john-bodley)
- [#24477](https://github.com/apache/superset/pull/24477) fix: Total calculation in stacked Timeseries charts (@michael-s-molina)
- [#24471](https://github.com/apache/superset/pull/24471) fix(oracle): denormalize column names where applicable (@villebro)
- [#24476](https://github.com/apache/superset/pull/24476) fix: Revert enabling CSP (@kgabryje)
- [#24418](https://github.com/apache/superset/pull/24418) fix: Native filter dynamic numeric search (@john-bodley)
- [#24447](https://github.com/apache/superset/pull/24447) fix(charts): Fix chart load task error handling (@giftig)
- [#24405](https://github.com/apache/superset/pull/24405) fix: creating a new chart with dashboard time filters but filter can't apply again (@lilykuang)
- [#24434](https://github.com/apache/superset/pull/24434) fix: Revert to old endpoint temporarily to enable sharing saved queries (@jfrag1)
- [#24248](https://github.com/apache/superset/pull/24248) fix: save columns reference from sqllab save datasets flow (@hughhhh)
- [#24429](https://github.com/apache/superset/pull/24429) fix: Viz migration adjustments - 2 (@michael-s-molina)
- [#24440](https://github.com/apache/superset/pull/24440) fix(translations): regularise the capitalisation of 'CSV' in en localisation (@stuartyeates)
- [#24410](https://github.com/apache/superset/pull/24410) fix: force data load on import examples (@eschutho)
- [#24422](https://github.com/apache/superset/pull/24422) fix(sql-lab): remove redundant onChange schema property (@villebro)
- [#24420](https://github.com/apache/superset/pull/24420) fix: FE call to changed recent_activity endpoint (@dpgaspar)
- [#24428](https://github.com/apache/superset/pull/24428) fix: deck.gl Geojson path not visible (@kgabryje)
- [#24392](https://github.com/apache/superset/pull/24392) fix: Fixes #24391 (Problems with celery beat running with docker when the machine is rebooted suddenly) (@alvarolmedo)
- [#24221](https://github.com/apache/superset/pull/24221) fix(helm): Add fullname prefix to init job (@NickLarsenNZ)
- [#24121](https://github.com/apache/superset/pull/24121) fix: Address regression introduced in #22853 (@john-bodley)
- [#24143](https://github.com/apache/superset/pull/24143) fix: Ensure "Import Dashboard" menu item adheres to PVM (@john-bodley)
- [#24350](https://github.com/apache/superset/pull/24350) fix: Address dashboard permission regression in #23586 (@john-bodley)
- [#24363](https://github.com/apache/superset/pull/24363) fix: deck.gl Scatterplot min/max radius (@kgabryje)
- [#24344](https://github.com/apache/superset/pull/24344) fix(sqllab): Inefficient SqlaTable query (#24343) (@giftig)
- [#24341](https://github.com/apache/superset/pull/24341) fix: Viz migration adjustments - 1 (@michael-s-molina)
- [#24317](https://github.com/apache/superset/pull/24317) fix: update order of build for testing a release (@eschutho)
- [#24303](https://github.com/apache/superset/pull/24303) fix: Copy dashboard filters when copying dashboard (@jfrag1)
- [#24176](https://github.com/apache/superset/pull/24176) fix: Time shifts with different granularity for ECharts (@michael-s-molina)
- [#24315](https://github.com/apache/superset/pull/24315) fix: DB extension collapse (@betodealmeida)
- [#19808](https://github.com/apache/superset/pull/19808) fix(sql-lab): SQL Lab commit connection even if no CTA query is made (@snt1017)
- [#24265](https://github.com/apache/superset/pull/24265) fix(capitalization): Capitalizing the 'metric' label in Pivot Tables (@rusackas)
- [#24304](https://github.com/apache/superset/pull/24304) fix(dashboard): max call size stack error (@justinpark)
- [#24293](https://github.com/apache/superset/pull/24293) fix: Removes file extension from textUtils (@michael-s-molina)
- [#24291](https://github.com/apache/superset/pull/24291) fix: Text utils null value when reading module (@michael-s-molina)
- [#24279](https://github.com/apache/superset/pull/24279) fix(migrations): Fixing cross filter migration (@craig-rueda)
- [#24279](https://github.com/apache/superset/pull/24279) fix(migrations): Fixing cross filter migration (@craig-rueda)
- [#24256](https://github.com/apache/superset/pull/24256) fix: enable strong session protection by default (@dpgaspar)
- [#23562](https://github.com/apache/superset/pull/23562) fix(docs): Update databricks.mdx with correct pip package name (@amosdoublec)
- [#24217](https://github.com/apache/superset/pull/24217) fix: TypeScript warnings when importing types (@michael-s-molina)
- [#24222](https://github.com/apache/superset/pull/24222) fix(helm): Use correct default hostnames for postgres and redis (@NickLarsenNZ)
- [#24242](https://github.com/apache/superset/pull/24242) fix(dataset-api): allow undefined schema in post (@villebro)
- [#24207](https://github.com/apache/superset/pull/24207) fix: removing problematic "formattable" tag (@rusackas)
- [#24223](https://github.com/apache/superset/pull/24223) fix: Tag link issue from CRUD page (@hughhhh)
- [#24181](https://github.com/apache/superset/pull/24181) fix(translation): complete portuguese(brazilian) translation (@lucas1221)
- [#24177](https://github.com/apache/superset/pull/24177) fix(explore): rendering regression on standalone (@justinpark)
- [#24186](https://github.com/apache/superset/pull/24186) fix(plugin-chart-echarts): force min y-tick for log axis with zero (@villebro)
- [#24060](https://github.com/apache/superset/pull/24060) fix: always allow tags to be returned via the API (@hughhhh)
- [#24142](https://github.com/apache/superset/pull/24142) fix(sqllab): Table options rendering regression (@justinpark)
- [#24113](https://github.com/apache/superset/pull/24113) fix: Errors when saving dataset (@jfrag1)
- [#24158](https://github.com/apache/superset/pull/24158) fix(table): percentage metric should use verbose map (@Always-prog)
- [#24159](https://github.com/apache/superset/pull/24159) fix(reports): error when creation alert/report with localization (@Always-prog)
- [#23762](https://github.com/apache/superset/pull/23762) fix: repeated color in the same chart (@lilykuang)
- [#24124](https://github.com/apache/superset/pull/24124) fix: Revert tox basepython (@john-bodley)
- [#24134](https://github.com/apache/superset/pull/24134) fix(plugin-chart-echarts): normalize temporal string groupbys (@villebro)
- [#24120](https://github.com/apache/superset/pull/24120) fix(sqllab): Disable Select All on table selector (@justinpark)
- [#24114](https://github.com/apache/superset/pull/24114) fix(ci): remove username from owner (@villebro)
- [#23814](https://github.com/apache/superset/pull/23814) fix(ocient): convert pyocient GIS data types to geoJSON (@jwilliams-ocient)
- [#23867](https://github.com/apache/superset/pull/23867) fix(docs): Installation instruction changes (@artofcomputing)
- [#24070](https://github.com/apache/superset/pull/24070) fix(alert modal): set current user as default alert owner during new alert initialization (@curious86)
- [#24068](https://github.com/apache/superset/pull/24068) fix: Handle python_date_format in ExploreMixin (@john-bodley)
- [#24062](https://github.com/apache/superset/pull/24062) fix: handle `python_date_format` in ExploreMixin (@betodealmeida)
- [#24028](https://github.com/apache/superset/pull/24028) fix: typing and using enter to select the table on sql lab layout (@lilykuang)
- [#24009](https://github.com/apache/superset/pull/24009) fix(sqllab): rollback clean comments out (@justinpark)
- [#23971](https://github.com/apache/superset/pull/23971) fix: MySQL et al. super calls (@john-bodley)
- [#23715](https://github.com/apache/superset/pull/23715) fix(filters): Stop breaking if translateToSql returns an object (@Antonio-RiveroMartnez)
- [#23952](https://github.com/apache/superset/pull/23952) fix(sqllab): custom url params disappeared (@justinpark)
- [#23935](https://github.com/apache/superset/pull/23935) fix: methods incorrect type and update deprecated targets (@dpgaspar)
- [#23908](https://github.com/apache/superset/pull/23908) fix(sqllab): clean comments within quotes (@justinpark)
- [#23924](https://github.com/apache/superset/pull/23924) fix: timeout should be an integer (@betodealmeida)
- [#23892](https://github.com/apache/superset/pull/23892) fix(sql-editor): Fix run stop button color to improve usability (@curious86)
- [#23909](https://github.com/apache/superset/pull/23909) fix: remove feature flag for tags on Dashboard API for `Tags` (@hughhhh)
- [#23881](https://github.com/apache/superset/pull/23881) fix(native-filters): Address spelling mistakes (@john-bodley)
- [#23778](https://github.com/apache/superset/pull/23778) fix(chart): scrollbar keep flushing on and off (@justinpark)
- [#23868](https://github.com/apache/superset/pull/23868) fix: move dynamic schema out of base Postgres class (@hughhhh)
- [#23702](https://github.com/apache/superset/pull/23702) fix: npm run dev-server error resolved (@Abhishek-kumar-samsung)
- [#23872](https://github.com/apache/superset/pull/23872) fix(dremio): query with alias (@betodealmeida)
- [#23860](https://github.com/apache/superset/pull/23860) fix(alerts): flaky test error (@justinpark)
- [#23832](https://github.com/apache/superset/pull/23832) fix(native-filters): Address spelling mistakes (@john-bodley)
- [#23856](https://github.com/apache/superset/pull/23856) fix(tests): Ensure deterministic SELECT ordering for CSV upload tests (@john-bodley)
- [#23627](https://github.com/apache/superset/pull/23627) fix(chart): chart updates are not retained (@justinpark)
- [#23857](https://github.com/apache/superset/pull/23857) fix(ephemerals): Quick fix for ephemeral spin-up (@craig-rueda)
- [#23831](https://github.com/apache/superset/pull/23831) fix: Preserve filters from previous drillings in drill by (@kgabryje)
- [#23830](https://github.com/apache/superset/pull/23830) fix: Loading state when cols for drill by are loading (@kgabryje)
- [#23818](https://github.com/apache/superset/pull/23818) fix(revert): Reverts storybook-addon-mock inclusion (@michael-s-molina)
- [#23685](https://github.com/apache/superset/pull/23685) fix(utils): evaluate date parser multiple holiday results correctly (@arkid15r)
- [#23811](https://github.com/apache/superset/pull/23811) fix: Hide FiltersPanel in standalone mode 3 (@geido)
- [#23731](https://github.com/apache/superset/pull/23731) fix: pivot v2 charts created before `GENERIC_CHART_AXES` is enabled (@betodealmeida)
- [#23819](https://github.com/apache/superset/pull/23819) fix: Clean up docker-ephemeral-env secrets command (@michael-s-molina)
- [#23817](https://github.com/apache/superset/pull/23817) fix(rls api): Add missing init file (@jfrag1)
- [#23805](https://github.com/apache/superset/pull/23805) fix(sqllab): test failed due to legacy api url (@justinpark)
- [#23783](https://github.com/apache/superset/pull/23783) fix(datasource): saving new calculated columns (@Always-prog)
- [#23786](https://github.com/apache/superset/pull/23786) fix: Docker ephemeral env (@michael-s-molina)
- [#23797](https://github.com/apache/superset/pull/23797) fix: Context menu crashing when there is no dimension in Echarts Series charts (@kgabryje)
- [#23776](https://github.com/apache/superset/pull/23776) fix: [chart power query] error show when user input column with x-axis (@hughhhh)
- [#23779](https://github.com/apache/superset/pull/23779) fix(native-filters): Fix encoding of non-temporal default values (@john-bodley)
- [#23087](https://github.com/apache/superset/pull/23087) fix(sqllab): Persisting tab state for saved query (@piyush9923)
- [#23757](https://github.com/apache/superset/pull/23757) fix: Drill by modal resizing (@kgabryje)
- [#23754](https://github.com/apache/superset/pull/23754) fix: Further drilling by different groupby fields (@kgabryje)
- [#23758](https://github.com/apache/superset/pull/23758) fix: Make sure the DeprecatedSelect label is always a string (@michael-s-molina)
- [#23157](https://github.com/apache/superset/pull/23157) fix(cache): coerce schema_cache_timeout to None (@cemremengu)
- [#23747](https://github.com/apache/superset/pull/23747) fix(ace-editor): use monospace fonts by default (@villebro)
- [#23737](https://github.com/apache/superset/pull/23737) fix: get or create db with an existing invalid URL (@dpgaspar)
- [#23669](https://github.com/apache/superset/pull/23669) fix(sqllab): infinite running state on disconnect (@justinpark)
- [#22370](https://github.com/apache/superset/pull/22370) fix: is_select check for lowercase select with "WITH" clauses (@fcomuniz)
- [#23695](https://github.com/apache/superset/pull/23695) fix(sqllab): rendering performance regression (@justinpark)
- [#23686](https://github.com/apache/superset/pull/23686) fix: Database modal parameter inputs persisting after modal closed and reopened (@jfrag1)
- [#23675](https://github.com/apache/superset/pull/23675) fix(plugin-chart-echarts): reorder totals and support multimetric sort (@villebro)
- [#23117](https://github.com/apache/superset/pull/23117) fix(ci): Fix GitHub workflow behavior for forks (@jsoref)
- [#23692](https://github.com/apache/superset/pull/23692) fix: Further drill by in Pivot Table (@kgabryje)
- [#23649](https://github.com/apache/superset/pull/23649) fix: Zero values on Dual Line axis bounds (@michael-s-molina)
- [#23641](https://github.com/apache/superset/pull/23641) fix: url_params cache miss with global async query (@kekwan)
- [#23682](https://github.com/apache/superset/pull/23682) fix: allow for dependencies that could be undefined (@eschutho)
- [#23624](https://github.com/apache/superset/pull/23624) fix(docker): optimize docker build by better utilizing build cache (@sebastianliebscher)
- [#23671](https://github.com/apache/superset/pull/23671) fix(sqllab): Revert "rendering performance regression (#23653)" (@justinpark)
- [#23666](https://github.com/apache/superset/pull/23666) fix: presto CI failed test (@hughhhh)
- [#23604](https://github.com/apache/superset/pull/23604) fix: update log message for ALERT_REPORTS_NOTIFICATION_DRY_RUN (@nytai)
- [#23653](https://github.com/apache/superset/pull/23653) fix(sqllab): rendering performance regression (@justinpark)
- [#23637](https://github.com/apache/superset/pull/23637) fix: Removes Redux state mutations - iteration 3 (@michael-s-molina)
- [#23611](https://github.com/apache/superset/pull/23611) fix(saved_queries): wrong enum for object_type of saved_query (@akzarma)
- [#23396](https://github.com/apache/superset/pull/23396) fix(Gauge echart): displaying column label (@AkashBoora)
- [#22677](https://github.com/apache/superset/pull/22677) fix(localization): localize legacy pivot table (@artemonsh)
- [#23589](https://github.com/apache/superset/pull/23589) fix(charts): Time range filters are not being applied to charts that were overwritten (@Antonio-RiveroMartnez)
- [#23421](https://github.com/apache/superset/pull/23421) fix(#23176): adding URL decoding to SQLAlchemy URI (@RekhaZemoso)
- [#23617](https://github.com/apache/superset/pull/23617) fix: Error on Cypress test (@michael-s-molina)
- [#23588](https://github.com/apache/superset/pull/23588) fix: Disables email reports for unsaved charts (@michael-s-molina)
- [#23597](https://github.com/apache/superset/pull/23597) fix: Ensure verbose mapping exists for SQL Lab Query model (@john-bodley)
- [#23613](https://github.com/apache/superset/pull/23613) fix: Increases the options limit for Annotation Layers (@michael-s-molina)
- [#23587](https://github.com/apache/superset/pull/23587) fix(docker-compose): Make worker use correct healthcheck (#23455) (@sebastianliebscher)
- [#23129](https://github.com/apache/superset/pull/23129) fix(translation): correct translation errors for Chinese(zh) (@zRich)
- [#23585](https://github.com/apache/superset/pull/23585) fix: Ensure the reporting framework handles charts with no data (@john-bodley)
- [#23579](https://github.com/apache/superset/pull/23579) fix(revert): "fix: cache warmup solution non legacy charts. (#23012)" (@john-bodley)
- [#23535](https://github.com/apache/superset/pull/23535) fix: Removes Redux state mutations - iteration 2 (@michael-s-molina)
- [#23576](https://github.com/apache/superset/pull/23576) fix(dashboard): Cross filters badge for cols with verbose names (@kgabryje)
- [#23567](https://github.com/apache/superset/pull/23567) fix: QueryParamProvider error on backend rendered views (@michael-s-molina)
- [#23548](https://github.com/apache/superset/pull/23548) fix: tags features flag on base models (@hughhhh)
- [#23565](https://github.com/apache/superset/pull/23565) fix: Add default empty array to filter dependencies (@dayknightmare)
- [#23533](https://github.com/apache/superset/pull/23533) fix(plugin-chart-table): Include time control (@kgabryje)
- [#23549](https://github.com/apache/superset/pull/23549) fix(sqllab): undefined issue_codes on query error (@justinpark)
- [#23543](https://github.com/apache/superset/pull/23543) fix: Hide FilterBar for Reports (@geido)
- [#23514](https://github.com/apache/superset/pull/23514) fix(sqllab): dedupe table_schemas in active_tab (@justinpark)
- [#23522](https://github.com/apache/superset/pull/23522) fix: Removes Redux state mutations - iteration 1 (@michael-s-molina)
- [#22880](https://github.com/apache/superset/pull/22880) fix: moved alerts and reports default values to config (@Always-prog)
- [#23469](https://github.com/apache/superset/pull/23469) fix(area chart legacy): tool tip shows actual value rather than y axi… (@AkashBoora)
- [#23137](https://github.com/apache/superset/pull/23137) fix(conditional formatting): controls looses on save (@Always-prog)
- [#23517](https://github.com/apache/superset/pull/23517) fix(word cloud): series label format fixed for custom sql queries (@ashgorithm)
- [#23513](https://github.com/apache/superset/pull/23513) fix(plugin-generator): Addresses linter errors in newly generated Superset plugin (@alex-bain)
- [#23521](https://github.com/apache/superset/pull/23521) fix(dashboards): apply tag filter correctly (@akzarma)
- [#23515](https://github.com/apache/superset/pull/23515) fix(plugin-chart-table): Invalid d3Formatter on String column (@justinpark)
- [#23475](https://github.com/apache/superset/pull/23475) fix: Preserves selected scopes when toggling between scope types (@michael-s-molina)
- [#23502](https://github.com/apache/superset/pull/23502) fix(dashboard): Add remark plugin on markdown (@justinpark)
- [#23480](https://github.com/apache/superset/pull/23480) fix: Chart crashing if timeseries_limit_metric is an empty array (@kgabryje)
- [#23378](https://github.com/apache/superset/pull/23378) fix(sqllab): throw errors of commented out query (@justinpark)
- [#23471](https://github.com/apache/superset/pull/23471) fix: broken helm chart ingress (@paulinjo)
- [#23452](https://github.com/apache/superset/pull/23452) fix(chart): add missing toleration for init-job (@ZeJ0hn)
- [#23265](https://github.com/apache/superset/pull/23265) fix(sqllab): dedupe active_tab in tabHistory (@justinpark)
- [#23446](https://github.com/apache/superset/pull/23446) fix: Allow setting ingress hosts directly through yaml (@paulinjo)
- [#23414](https://github.com/apache/superset/pull/23414) fix: prevent ForeignKeyViolation error on delete (@betodealmeida)
- [#23386](https://github.com/apache/superset/pull/23386) fix: schedule query option showing up (@betodealmeida)
- [#23432](https://github.com/apache/superset/pull/23432) fix: safe check when computing chart thumbnail (@zephyring)
- [#23433](https://github.com/apache/superset/pull/23433) fix: database dropdown keys (@betodealmeida)
- [#23389](https://github.com/apache/superset/pull/23389) fix(dashboard): `show_native_filters` leftover (@betodealmeida)
- [#23409](https://github.com/apache/superset/pull/23409) fix(docker): multi-architecture image build (@EugeneTorap)
- [#23330](https://github.com/apache/superset/pull/23330) fix: revert back to use security manager authz for dashboard when get by uuid (@zephyring)
- [#23318](https://github.com/apache/superset/pull/23318) fix: Table sorting reset (@geido)
- [#23376](https://github.com/apache/superset/pull/23376) fix: dataset_macro (@betodealmeida)
- [#23356](https://github.com/apache/superset/pull/23356) fix: table schema permissions (@betodealmeida)
- [#23314](https://github.com/apache/superset/pull/23314) fix(native-filters): Caching scope (@john-bodley)
- [#23365](https://github.com/apache/superset/pull/23365) fix(chart-controls): Error if x_axis_sort and timeseries_limit_metric are included in main metrics (@kgabryje)
- [#23361](https://github.com/apache/superset/pull/23361) fix(safari): remove autocomplete in table select (@villebro)
- [#23302](https://github.com/apache/superset/pull/23302) fix(sqllab): empty large query results from localStorage (@justinpark)
- [#23322](https://github.com/apache/superset/pull/23322) fix(examples): Cleanup granularity_sqla column (@john-bodley)
- [#23324](https://github.com/apache/superset/pull/23324) fix(trino): Disallow alias to source column (@john-bodley)
- [#23329](https://github.com/apache/superset/pull/23329) fix(dashboard): deepmerge htmlSchemaOverrides (@justinpark)
- [#23348](https://github.com/apache/superset/pull/23348) fix: dashboard DAO small code improvement (@dpgaspar)
- [#23347](https://github.com/apache/superset/pull/23347) fix(dashboard): Cross filters with time shifted series (@kgabryje)
- [#23339](https://github.com/apache/superset/pull/23339) fix(trino): normalize non-iso timestamps (@villebro)
- [#23296](https://github.com/apache/superset/pull/23296) fix(clickhouse): Update to working clickhouse-connect version (@genzgd)
- [#23260](https://github.com/apache/superset/pull/23260) fix(examples): Cleanup dashboard filter scopes (@john-bodley)
- [#23283](https://github.com/apache/superset/pull/23283) fix(dashboard): Allow selecting text in cells in Table and PivotTable without triggering cross filters (@kgabryje)
- [#23262](https://github.com/apache/superset/pull/23262) fix: ignore ts warnings from older typescript versions (@eschutho)
- [#23256](https://github.com/apache/superset/pull/23256) fix(dashboard): Missing filter card styles (@kgabryje)
- [#23250](https://github.com/apache/superset/pull/23250) fix(dashboard): Cross-filter search icon in filter bar (@kgabryje)
- [#23242](https://github.com/apache/superset/pull/23242) fix: Video Game Sales dashboard default filters (@john-bodley)
- [#23239](https://github.com/apache/superset/pull/23239) fix(explore): Dashboard filters on adhoc cols not working in Explore (@kgabryje)
- [#23194](https://github.com/apache/superset/pull/23194) fix(dashboard): Cross-filters not working properly for new dashboards (@kgabryje)
- [#23215](https://github.com/apache/superset/pull/23215) fix(dashboard): Page crashing when cross filter applied on adhoc column (@kgabryje)
- [#23202](https://github.com/apache/superset/pull/23202) fix(docs): Change postgres to postgresql in brew install command (@lyndsiWilliams)
- [#23130](https://github.com/apache/superset/pull/23130) fix: Pagination of VirtualTable (@EugeneTorap)
- [#23022](https://github.com/apache/superset/pull/23022) fix(dashboard): Chart's empty state not centered (@kgabryje)
- [#23135](https://github.com/apache/superset/pull/23135) fix: gamma sql_json test (@dpgaspar)
- [#23126](https://github.com/apache/superset/pull/23126) fix(ci): explicity set yaml Loader (@villebro)
**Others**
- [#25275](https://github.com/apache/superset/pull/25275) chore: Remove the ability to switch to filter-box chart when DASHBOARD_NATIVE_FILTERS feature is enabled (@john-bodley)
- [#25211](https://github.com/apache/superset/pull/25211) chore(trino): remove unnecessary index checks (@villebro)
- [#25161](https://github.com/apache/superset/pull/25161) chore: Add a note about adhoc subqueries in UPDATING.md (@michael-s-molina)
- [#25127](https://github.com/apache/superset/pull/25127) docs: Fix typo in UPDATING.md (@john-bodley)
- [#25129](https://github.com/apache/superset/pull/25129) refactor(frontend): make "Search" box the first filter for charts and datasets (@sfirke)
- [#25115](https://github.com/apache/superset/pull/25115) docs: Update UPDATING.md regarding potential breaking change to `ab_user.email` column (@john-bodley)
- [#24942](https://github.com/apache/superset/pull/24942) refactor(pinot): The `python_date_format` for a temporal column was not being passed to `get_timestamp_expr` (@ege-st)
- [#24826](https://github.com/apache/superset/pull/24826) chore: remove CssTemplate and Annotation access from gamma role (@lilykuang)
- [#25016](https://github.com/apache/superset/pull/25016) chore: use os.getenv to simplify superset_config.py (@sebastianliebscher)
- [#25025](https://github.com/apache/superset/pull/25025) chore: Pass the dashboard id when requesting filter values (@michael-s-molina)
- [#25003](https://github.com/apache/superset/pull/25003) chore: isolate examples database by default (@dpgaspar)
- [#24923](https://github.com/apache/superset/pull/24923) chore: modify UPDATING.md for logs table migrations (@cnabro)
- [#24324](https://github.com/apache/superset/pull/24324) chore: rate limit requests (@betodealmeida)
- [#24935](https://github.com/apache/superset/pull/24935) chore: Removes duplicated featureFlags.ts (@michael-s-molina)
- [#24864](https://github.com/apache/superset/pull/24864) chore: Refine native dashboard cleanup logic (@john-bodley)
- [#24804](https://github.com/apache/superset/pull/24804) chore: Refactor dashboard security access (@john-bodley)
- [#24774](https://github.com/apache/superset/pull/24774) chore: add talisman env var to config (@eschutho)
- [#24613](https://github.com/apache/superset/pull/24613) build(deps): bump tox from 4.6.3 to 4.6.4 in /requirements (@dependabot[bot])
- [#24769](https://github.com/apache/superset/pull/24769) docs: update security policy and add CVE info (@dpgaspar)
- [#24758](https://github.com/apache/superset/pull/24758) chore(view_api): return application/json as content-type for api/v1/form_data endpoint (@zephyring)
- [#24759](https://github.com/apache/superset/pull/24759) chore(docs): Adding link to additional visualization content (@rusackas)
- [#24766](https://github.com/apache/superset/pull/24766) docs: Fix STANDARD_ROLES.md for Gamma role permissions on tableschemaview (@mattitoo)
- [#24736](https://github.com/apache/superset/pull/24736) chore: make control panel sub sections look better (@mistercrunch)
- [#24559](https://github.com/apache/superset/pull/24559) chore(native filters): Expandable filter config modal (@justinpark)
- [#24741](https://github.com/apache/superset/pull/24741) chore: make antd table font size same as data table (@mistercrunch)
- [#24627](https://github.com/apache/superset/pull/24627) chore: turn off talisman for ephemeral environments in ci (@eschutho)
- [#24731](https://github.com/apache/superset/pull/24731) chore: Bump PyYAML bounds (@john-bodley)
- [#24694](https://github.com/apache/superset/pull/24694) chore: Remove obsolete legacy visualizations (@john-bodley)
- [#24689](https://github.com/apache/superset/pull/24689) chore: move deprecated default version to 4.0.0 (@dpgaspar)
- [#24607](https://github.com/apache/superset/pull/24607) chore(command): Condense delete/bulk-delete operations (@john-bodley)
- [#24647](https://github.com/apache/superset/pull/24647) chore: Bump holidays to 0.28 (@arkid15r)
- [#24652](https://github.com/apache/superset/pull/24652) chore: Bump/relax Flask libs (@john-bodley)
- [#24466](https://github.com/apache/superset/pull/24466) chore(dao): Condense delete/bulk-delete operations (@john-bodley)
- [#24554](https://github.com/apache/superset/pull/24554) chore(sqllab): Log current local storage usage (@justinpark)
- [#24452](https://github.com/apache/superset/pull/24452) build(deps): bump tox from 4.6.1 to 4.6.3 in /requirements (@dependabot[bot])
- [#24524](https://github.com/apache/superset/pull/24524) build(deps-dev): bump @types/node from 20.3.1 to 20.3.2 in /superset-websocket (@dependabot[bot])
- [#24522](https://github.com/apache/superset/pull/24522) build(deps-dev): bump @typescript-eslint/parser from 5.60.0 to 5.60.1 in /superset-websocket (@dependabot[bot])
- [#24501](https://github.com/apache/superset/pull/24501) build(deps): bump semver from 7.3.8 to 7.5.3 in /superset-websocket/utils/client-ws-app (@dependabot[bot])
- [#24404](https://github.com/apache/superset/pull/24404) chore: deprecate FLASK_ENV and improve conf.ENVIRONMENT_TAG_CONFIG (@mistercrunch)
- [#24534](https://github.com/apache/superset/pull/24534) build(docker): add dockerize image (@alekseyolg)
- [#24462](https://github.com/apache/superset/pull/24462) docs: updating images and markdown (@rusackas)
- [#24543](https://github.com/apache/superset/pull/24543) chore: Un-revert enabling CSP by default (@kgabryje)
- [#24514](https://github.com/apache/superset/pull/24514) refactor: pkg_resources -> importlib.metadata (@cwegener)
- [#24538](https://github.com/apache/superset/pull/24538) chore: Constrain selenium version (@john-bodley)
- [#24505](https://github.com/apache/superset/pull/24505) chore: update d3-colors (@hughhhh)
- [#24499](https://github.com/apache/superset/pull/24499) chore: remove marshmallow-enum dependency and bump FAB (@dpgaspar)
- [#24504](https://github.com/apache/superset/pull/24504) build(docker): simplification of assembly to facilitate further support (@alekseyolg)
- [#24503](https://github.com/apache/superset/pull/24503) chore: update ansi-regex (@hughhhh)
- [#24489](https://github.com/apache/superset/pull/24489) chore(sqllab): add extra_json on tabstate (@justinpark)
- [#24497](https://github.com/apache/superset/pull/24497) build(docker): pin the underlying debian base image (@boenshao)
- [#24371](https://github.com/apache/superset/pull/24371) chore(sqllab): Remove table metadata from state (@justinpark)
- [#24443](https://github.com/apache/superset/pull/24443) build(deps-dev): bump eslint from 8.42.0 to 8.43.0 in /superset-websocket (@dependabot[bot])
- [#24454](https://github.com/apache/superset/pull/24454) build(deps-dev): bump @typescript-eslint/eslint-plugin from 5.59.11 to 5.60.0 in /superset-websocket (@dependabot[bot])
- [#24474](https://github.com/apache/superset/pull/24474) docs: Add CTA to community calendar subscription (@thiagorossener)
- [#24465](https://github.com/apache/superset/pull/24465) chore(dao): Add generic type for better type checking (@john-bodley)
- [#24397](https://github.com/apache/superset/pull/24397) build(deps): bump pre-commit from 3.3.2 to 3.3.3 in /requirements (@dependabot[bot])
- [#24453](https://github.com/apache/superset/pull/24453) build(deps-dev): bump @typescript-eslint/parser from 5.59.11 to 5.60.0 in /superset-websocket (@dependabot[bot])
- [#24262](https://github.com/apache/superset/pull/24262) chore: Enable CSP by default (@kgabryje)
- [#23853](https://github.com/apache/superset/pull/23853) chore: Migrate warm up cache endpoint to api v1 (@jfrag1)
- [#24331](https://github.com/apache/superset/pull/24331) chore(dao): Organize DAOs according to SIP-92 (@john-bodley)
- [#23835](https://github.com/apache/superset/pull/23835) docs: Show clickable link instead of code-formatting (@rusackas)
- [#24437](https://github.com/apache/superset/pull/24437) chore: toning down grayscale on X icon (@mistercrunch)
- [#24415](https://github.com/apache/superset/pull/24415) chore: Remove obsolete Druid NoSQL REGEX operator (@john-bodley)
- [#24419](https://github.com/apache/superset/pull/24419) build(deps): bump tox from 4.6.0 to 4.6.1 in /requirements (@dependabot[bot])
- [#24378](https://github.com/apache/superset/pull/24378) build(deps-dev): bump @types/node from 20.2.5 to 20.3.1 in /superset-websocket (@dependabot[bot])
- [#24403](https://github.com/apache/superset/pull/24403) chore: cleanup sqlalchemy warnings (@mistercrunch)
- [#24430](https://github.com/apache/superset/pull/24430) chore(ci): make eslint and jest run in --quiet mode (@mistercrunch)
- [#24423](https://github.com/apache/superset/pull/24423) chore: remove deprecated apis /slice_json/ and /annotation_json/ (@dpgaspar)
- [#24400](https://github.com/apache/superset/pull/24400) chore: remove deprecated apis and ENABLE_BROAD_ACTIVITY_ACCESS (@dpgaspar)
- [#24393](https://github.com/apache/superset/pull/24393) docs: Restyle documentation landing page and community page (@thiagorossener)
- [#24401](https://github.com/apache/superset/pull/24401) chore: Remove previously deprecated dataset metrics column from RESTful API (@john-bodley)
- [#24375](https://github.com/apache/superset/pull/24375) chore: remove deprecated apis on superset, get_or_create_table, sqllab_viz (@dpgaspar)
- [#24379](https://github.com/apache/superset/pull/24379) build(deps-dev): bump @typescript-eslint/eslint-plugin from 5.59.9 to 5.59.11 in /superset-websocket (@dependabot[bot])
- [#24310](https://github.com/apache/superset/pull/24310) chore: Update GitHub issue templates (@john-bodley)
- [#24365](https://github.com/apache/superset/pull/24365) build(deps-dev): bump @typescript-eslint/parser from 5.59.8 to 5.59.11 in /superset-websocket (@dependabot[bot])
- [#24360](https://github.com/apache/superset/pull/24360) chore: remove deprecated apis stop_query, queries, search_queries (@dpgaspar)
- [#24353](https://github.com/apache/superset/pull/24353) chore: remove deprecated apis copy_dash, save_dash and add_slices (@dpgaspar)
- [#24198](https://github.com/apache/superset/pull/24198) chore: remove user registrations menu for non-admins (@villebro)
- [#24354](https://github.com/apache/superset/pull/24354) chore: remove deprecated apis on superset, testconn, validate_sql_json, schemas_access_for_file_upload (@dpgaspar)
- [#24381](https://github.com/apache/superset/pull/24381) chore: remove deprecated api /superset/available_domains (@dpgaspar)
- [#24359](https://github.com/apache/superset/pull/24359) chore: remove deprecated apis estimate_query_cost, results, sql_json, csv (@dpgaspar)
- [#24286](https://github.com/apache/superset/pull/24286) build(deps-dev): bump eslint from 8.41.0 to 8.42.0 in /superset-websocket (@dependabot[bot])
- [#24338](https://github.com/apache/superset/pull/24338) build(deps-dev): bump @types/uuid from 9.0.1 to 9.0.2 in /superset-websocket (@dependabot[bot])
- [#24337](https://github.com/apache/superset/pull/24337) build(deps-dev): bump @types/ws from 8.5.4 to 8.5.5 in /superset-websocket (@dependabot[bot])
- [#24362](https://github.com/apache/superset/pull/24362) chore: Disable redux errors (@kgabryje)
- [#24342](https://github.com/apache/superset/pull/24342) chore: remove deprecated api /superset/tables/<int:db_id>/... (@dpgaspar)
- [#24335](https://github.com/apache/superset/pull/24335) chore: remove deprecated api /superset/filter/... (@dpgaspar)
- [#24333](https://github.com/apache/superset/pull/24333) chore: remove deprecated api /superset/datasources (@dpgaspar)
- [#23997](https://github.com/apache/superset/pull/23997) chore(druid): Remove legacy Druid NoSQL logic (@john-bodley)
- [#24330](https://github.com/apache/superset/pull/24330) chore: Removes getUiOverrideRegistry (@michael-s-molina)
- [#24339](https://github.com/apache/superset/pull/24339) docs: Add BurdaForward to "In the Wild" and merge "News" and "Entertainment" to "Media & Entertainment" (@mattitoo)
- [#24082](https://github.com/apache/superset/pull/24082) chore(sqllab): Remove validation result from state (@justinpark)
- [#24322](https://github.com/apache/superset/pull/24322) chore: Deprecates some NVD3 charts in 3.0 (@michael-s-molina)
- [#24313](https://github.com/apache/superset/pull/24313) docs: add link to intro with supported database types (@sfirke)
- [#24312](https://github.com/apache/superset/pull/24312) chore: Remove unused sliceCanEdit logic (@john-bodley)
- [#24299](https://github.com/apache/superset/pull/24299) build(deps-dev): bump @typescript-eslint/eslint-plugin from 5.59.8 to 5.59.9 in /superset-websocket (@dependabot[bot])
- [#24297](https://github.com/apache/superset/pull/24297) build(deps): bump tox from 4.5.2 to 4.6.0 in /requirements (@dependabot[bot])
- [#24295](https://github.com/apache/superset/pull/24295) chore: Adds #24029 breaking change to UPDATING.md (@michael-s-molina)
- [#24288](https://github.com/apache/superset/pull/24288) docs: Adds new permissions from 2.1.0 and fixes some sql_lab permissions (@mattitoo)
- [#24250](https://github.com/apache/superset/pull/24250) chore(build): creating default superset_text.yaml placeholder file (@rusackas)
- [#24118](https://github.com/apache/superset/pull/24118) chore(docs): upgrading docusaurus (fixes header links) (@rusackas)
- [#24110](https://github.com/apache/superset/pull/24110) build(deps): bump pre-commit from 3.3.1 to 3.3.2 in /requirements (@dependabot[bot])
- [#24246](https://github.com/apache/superset/pull/24246) build(deps-dev): bump @typescript-eslint/parser from 5.59.7 to 5.59.8 in /superset-websocket (@dependabot[bot])
- [#24253](https://github.com/apache/superset/pull/24253) docs: fix broken link in the security page (@eltimen)
- [#24251](https://github.com/apache/superset/pull/24251) chore: tests for #24249 (@betodealmeida)
- [#24206](https://github.com/apache/superset/pull/24206) chore(native-filters): Ensure consistent error handling (@john-bodley)
- [#24231](https://github.com/apache/superset/pull/24231) docs: removed extra ` from documentation (@SaishNarvekar)
- [#24235](https://github.com/apache/superset/pull/24235) docs: point the reader to "setup.py" for latest package version (@boenshao)
- [#24245](https://github.com/apache/superset/pull/24245) build(deps-dev): bump @typescript-eslint/eslint-plugin from 5.59.7 to 5.59.8 in /superset-websocket (@dependabot[bot])
- [#24240](https://github.com/apache/superset/pull/24240) build(deps-dev): bump @types/node from 20.2.3 to 20.2.5 in /superset-websocket (@dependabot[bot])
- [#24239](https://github.com/apache/superset/pull/24239) build(deps): bump winston from 3.8.2 to 3.9.0 in /superset-websocket (@dependabot[bot])
- [#24238](https://github.com/apache/superset/pull/24238) build(deps): bump tox from 4.5.1 to 4.5.2 in /requirements (@dependabot[bot])
- [#24214](https://github.com/apache/superset/pull/24214) refactor: Extracts type definitions from ExtensionsRegistry (@michael-s-molina)
- [#24184](https://github.com/apache/superset/pull/24184) build(deps-dev): bump @typescript-eslint/eslint-plugin from 5.59.6 to 5.59.7 in /superset-websocket (@dependabot[bot])
- [#24167](https://github.com/apache/superset/pull/24167) build(deps-dev): bump eslint from 8.40.0 to 8.41.0 in /superset-websocket (@dependabot[bot])
- [#24183](https://github.com/apache/superset/pull/24183) build(deps-dev): bump @typescript-eslint/parser from 5.59.6 to 5.59.7 in /superset-websocket (@dependabot[bot])
- [#24202](https://github.com/apache/superset/pull/24202) chore(ssh): Allow users to set TUNNEL_TIMEOUT from config (@hughhhh)
- [#24026](https://github.com/apache/superset/pull/24026) chore(sqllab): Remove functionNames from sqlLab state (@justinpark)
- [#24045](https://github.com/apache/superset/pull/24045) chore: Bump sqlparse to 0.4.4 (@EugeneTorap)
- [#24168](https://github.com/apache/superset/pull/24168) build(deps-dev): bump @types/node from 20.2.0 to 20.2.3 in /superset-websocket (@dependabot[bot])
- [#24135](https://github.com/apache/superset/pull/24135) chore(sqllab): remove deprecated PyArrow API (@sebastianliebscher)
- [#24128](https://github.com/apache/superset/pull/24128) chore: deprecate rls base related filters (@villebro)
- [#24117](https://github.com/apache/superset/pull/24117) chore: Refactor command exceptions (@john-bodley)
- [#24029](https://github.com/apache/superset/pull/24029) chore: Update QUERY_LOGGER and SQL_QUERY_MUTATOR signatures (@john-bodley)
- [#24107](https://github.com/apache/superset/pull/24107) chore(report): Use for/else clause (@john-bodley)
- [#24111](https://github.com/apache/superset/pull/24111) build(deps-dev): bump @types/node from 20.1.7 to 20.2.0 in /superset-websocket (@dependabot[bot])
- [#23941](https://github.com/apache/superset/pull/23941) build: helm template to set init job annotations (@ybudweiser)
- [#24106](https://github.com/apache/superset/pull/24106) chore: update packages for vanta FE security concerns (@hughhhh)
- [#24087](https://github.com/apache/superset/pull/24087) build(deps-dev): bump @types/node from 20.1.4 to 20.1.7 in /superset-websocket (@dependabot[bot])
- [#22801](https://github.com/apache/superset/pull/22801) chore(thumbnails): change default executor to logged in user (@villebro)
- [#24081](https://github.com/apache/superset/pull/24081) chore(docs): Updating DB connection instructions in 1st Dash instruct… (@rusackas)
- [#22799](https://github.com/apache/superset/pull/22799) chore(reports): change default executor to owner (@villebro)
- [#24073](https://github.com/apache/superset/pull/24073) build(deps-dev): bump @typescript-eslint/eslint-plugin from 5.59.5 to 5.59.6 in /superset-websocket (@dependabot[bot])
- [#24050](https://github.com/apache/superset/pull/24050) chore: add extension for related DB assets on delete (@betodealmeida)
- [#24074](https://github.com/apache/superset/pull/24074) build(deps-dev): bump @typescript-eslint/parser from 5.59.2 to 5.59.6 in /superset-websocket (@dependabot[bot])
- [#24080](https://github.com/apache/superset/pull/24080) chore(docs): tidy up supported DB engines for metadata store (@sfirke)
- [#24079](https://github.com/apache/superset/pull/24079) chore(docs): Updated awkward phrase in FAQ, "force" (@kikobarr)
- [#24069](https://github.com/apache/superset/pull/24069) chore(trino): Bump Trino version to address an IANA time zone issue (@john-bodley)
- [#23581](https://github.com/apache/superset/pull/23581) chore: bump dependencies (@betodealmeida)
- [#24065](https://github.com/apache/superset/pull/24065) build(deps): bump vm2 from 3.9.15 to 3.9.18 in /superset-frontend/cypress-base (@dependabot[bot])
- [#24066](https://github.com/apache/superset/pull/24066) build(deps): bump vm2 from 3.9.17 to 3.9.18 in /superset-frontend (@dependabot[bot])
- [#24058](https://github.com/apache/superset/pull/24058) chore: add log for ssh tunnel information (@hughhhh)
- [#24025](https://github.com/apache/superset/pull/24025) chore(docs): add version for postgres when doing brew install (@rusackas)
- [#24052](https://github.com/apache/superset/pull/24052) build(deps-dev): bump @types/node from 20.1.2 to 20.1.4 in /superset-websocket (@dependabot[bot])
- [#23965](https://github.com/apache/superset/pull/23965) chore: bump werkzeug and Flask (@dpgaspar)
- [#24033](https://github.com/apache/superset/pull/24033) chore: Update mypy and fix stubs issue (@EugeneTorap)
- [#24023](https://github.com/apache/superset/pull/24023) chore: remove duplicates of `validate_adhoc_subquery` (@betodealmeida)
- [#24001](https://github.com/apache/superset/pull/24001) chore: remove deprecated distutils (@sebastianliebscher)
- [#24017](https://github.com/apache/superset/pull/24017) build(deps-dev): bump @types/node from 20.1.1 to 20.1.2 in /superset-websocket (@dependabot[bot])
- [#23756](https://github.com/apache/superset/pull/23756) test: cover empty AdvancedDataTypes internet_address and internet_port (@sebastianliebscher)
- [#23770](https://github.com/apache/superset/pull/23770) chore: fix deprecation warnings for SQLALchemy URL (@sebastianliebscher)
- [#23976](https://github.com/apache/superset/pull/23976) chore: mark explore_json as deprecated in 3.0 (@betodealmeida)
- [#23981](https://github.com/apache/superset/pull/23981) chore: Deprecate DND feature flags (@kgabryje)
- [#23984](https://github.com/apache/superset/pull/23984) build(deps-dev): bump @typescript-eslint/eslint-plugin from 5.59.2 to 5.59.5 in /superset-websocket (@dependabot[bot])
- [#23983](https://github.com/apache/superset/pull/23983) build(deps-dev): bump @types/node from 20.1.0 to 20.1.1 in /superset-websocket (@dependabot[bot])
- [#23951](https://github.com/apache/superset/pull/23951) chore(deps): Add dependency-review action (@rusackas)
- [#23974](https://github.com/apache/superset/pull/23974) chore(actions): adding JavaScript to CodeQL config (@rusackas)
- [#24002](https://github.com/apache/superset/pull/24002) chore: Comment 3.8 PY required CI checks (@EugeneTorap)
- [#23986](https://github.com/apache/superset/pull/23986) chore: Bump python libs (@EugeneTorap)
- [#23994](https://github.com/apache/superset/pull/23994) docs(feature flags): remove the conflicting entry for DRILL_BY (@sfirke)
- [#23760](https://github.com/apache/superset/pull/23760) chore(sqllab): Refactor react-query by redux-toolkit query (@justinpark)
- [#23961](https://github.com/apache/superset/pull/23961) build(deps-dev): bump eslint from 8.39.0 to 8.40.0 in /superset-websocket (@dependabot[bot])
- [#23962](https://github.com/apache/superset/pull/23962) build(deps-dev): bump @types/node from 20.0.0 to 20.1.0 in /superset-websocket (@dependabot[bot])
- [#23744](https://github.com/apache/superset/pull/23744) chore(slack): use recommended method for file upload (@betodealmeida)
- [#23923](https://github.com/apache/superset/pull/23923) chore(helm): Split service templates into separate files (@dnskr)
- [#23936](https://github.com/apache/superset/pull/23936) chore: deprecate /superset/add_slices (@dpgaspar)
- [#23911](https://github.com/apache/superset/pull/23911) docs: fixing a broken markdown link about SSH tunneling (@rusackas)
- [#23949](https://github.com/apache/superset/pull/23949) chore: add codeQL to CI (@dpgaspar)
- [#23947](https://github.com/apache/superset/pull/23947) build(deps-dev): bump @types/node from 18.16.3 to 20.0.0 in /superset-websocket (@dependabot[bot])
- [#23926](https://github.com/apache/superset/pull/23926) chore(helm): Declare missing properties (@dnskr)
- [#23934](https://github.com/apache/superset/pull/23934) chore: Deprecates viz.py (@michael-s-molina)
- [#23795](https://github.com/apache/superset/pull/23795) docs: Add description of standard Superset roles (@mattitoo)
- [#23871](https://github.com/apache/superset/pull/23871) refactor: useEffectEvent for efficient deps (@justinpark)
- [#23913](https://github.com/apache/superset/pull/23913) build(deps): bump pre-commit from 3.2.2 to 3.3.1 in /requirements (@dependabot[bot])
- [#23895](https://github.com/apache/superset/pull/23895) chore(ci): bump actions (@sebastianliebscher)
- [#23841](https://github.com/apache/superset/pull/23841) build(deps-dev): bump @types/jsonwebtoken from 9.0.1 to 9.0.2 in /superset-websocket (@dependabot[bot])
- [#23894](https://github.com/apache/superset/pull/23894) build(deps-dev): bump @typescript-eslint/parser from 5.59.0 to 5.59.2 in /superset-websocket (@dependabot[bot])
- [#23891](https://github.com/apache/superset/pull/23891) build(deps-dev): bump @typescript-eslint/eslint-plugin from 5.59.0 to 5.59.2 in /superset-websocket (@dependabot[bot])
- [#23726](https://github.com/apache/superset/pull/23726) chore(helm): Use template comments for the chart license header (@dnskr)
- [#23887](https://github.com/apache/superset/pull/23887) build(deps-dev): bump @types/node from 18.16.0 to 18.16.3 in /superset-websocket (@dependabot[bot])
- [#23849](https://github.com/apache/superset/pull/23849) chore: Add Cypress tests for drill by (@kgabryje)
- [#23680](https://github.com/apache/superset/pull/23680) chore: bump wtforms and add missing flask-limiter (@dpgaspar)
- [#23862](https://github.com/apache/superset/pull/23862) chore: Use nh3 lib instead of bleach (@EugeneTorap)
- [#23844](https://github.com/apache/superset/pull/23844) chore: Bump polyline to 2.0.0 (@EugeneTorap)
- [#23845](https://github.com/apache/superset/pull/23845) chore: Bump redis to 4.5.4 (@EugeneTorap)
- [#23854](https://github.com/apache/superset/pull/23854) chore: Add logging events for drill by (@kgabryje)
- [#23729](https://github.com/apache/superset/pull/23729) chore: migrate `sqllab_viz` endpoint to api v1 (@hughhhh)
- [#23813](https://github.com/apache/superset/pull/23813) chore: Upgrade Cypress to 10.11.0 (@kgabryje)
- [#23794](https://github.com/apache/superset/pull/23794) docs: discourage the use of SQLite (@dpgaspar)
- [#23785](https://github.com/apache/superset/pull/23785) chore: Deprecates 3.0 consented feature flags (@michael-s-molina)
- [#23820](https://github.com/apache/superset/pull/23820) docs: Add Superset Overview Video to README (@satokonak)
- [#23796](https://github.com/apache/superset/pull/23796) docs: cleanup references to `apache-superset/superset-ui` (@charpeni)
- [#22916](https://github.com/apache/superset/pull/22916) chore: Add tests to SQL lab button components (@diegomedina248)
- [#23791](https://github.com/apache/superset/pull/23791) build(deps-dev): bump @types/node from 18.15.13 to 18.16.0 in /superset-websocket (@dependabot[bot])
- [#23790](https://github.com/apache/superset/pull/23790) build(deps-dev): bump eslint from 8.38.0 to 8.39.0 in /superset-websocket (@dependabot[bot])
- [#23789](https://github.com/apache/superset/pull/23789) build(deps-dev): bump prettier from 2.8.7 to 2.8.8 in /superset-websocket (@dependabot[bot])
- [#23798](https://github.com/apache/superset/pull/23798) chore: Add DRILL_BY to FEATURE_FLAGS.md (@kgabryje)
- [#23784](https://github.com/apache/superset/pull/23784) chore: Deprecates FilterBox (@michael-s-molina)
- [#23765](https://github.com/apache/superset/pull/23765) build(deps-dev): bump @types/node from 18.15.12 to 18.15.13 in /superset-websocket (@dependabot[bot])
- [#23772](https://github.com/apache/superset/pull/23772) chore(e2e): skip the worst offender of flaky tests. (@rusackas)
- [#23670](https://github.com/apache/superset/pull/23670) chore(feature flags): updating the status of a few flags (@rusackas)
- [#23704](https://github.com/apache/superset/pull/23704) chore: remove RemovedInMarshmallow4 warnings (@sebastianliebscher)
- [#23759](https://github.com/apache/superset/pull/23759) chore(actions): Fix for Chromatic action using actions/checkout@v3 (@rusackas)
- [#23725](https://github.com/apache/superset/pull/23725) chore(docs): copy change submitted through BugHerd (@rusackas)
- [#23488](https://github.com/apache/superset/pull/23488) refactor(sqllab): Remove tableOptions from redux state (@justinpark)
- [#23746](https://github.com/apache/superset/pull/23746) build(deps-dev): bump @types/node from 18.15.11 to 18.15.12 in /superset-websocket (@dependabot[bot])
- [#23753](https://github.com/apache/superset/pull/23753) build(deps): bump vm2 from 3.9.15 to 3.9.17 in /superset-frontend (@dependabot[bot])
- [#23718](https://github.com/apache/superset/pull/23718) build(deps-dev): bump @typescript-eslint/parser from 5.58.0 to 5.59.0 in /superset-websocket (@dependabot[bot])
- [#23734](https://github.com/apache/superset/pull/23734) chore(chart-data): add post processing error message to response (@villebro)
- [#23678](https://github.com/apache/superset/pull/23678) chore(api v1): Deprecate datasource/save and datasource/get endpoints (@jfrag1)
- [#23714](https://github.com/apache/superset/pull/23714) chore(api v1): Deprecate superset/override_role_permissions endpoint (@jfrag1)
- [#23681](https://github.com/apache/superset/pull/23681) chore(helm): Reformat helm chart templates (@dnskr)
- [#23719](https://github.com/apache/superset/pull/23719) build(deps-dev): bump @typescript-eslint/eslint-plugin from 5.58.0 to 5.59.0 in /superset-websocket (@dependabot[bot])
- [#23663](https://github.com/apache/superset/pull/23663) chore: Removes deprecated feature flags for 3.0 (@michael-s-molina)
- [#23683](https://github.com/apache/superset/pull/23683) docs(translations): point broken tutorial link to Internet Archive copy (@sfirke)
- [#23674](https://github.com/apache/superset/pull/23674) chore(presto): Expose schema and indexes to \_partition_query method (@john-bodley)
- [#23609](https://github.com/apache/superset/pull/23609) docs: nvm error while local setup (@Abhishek-kumar-samsung)
- [#23654](https://github.com/apache/superset/pull/23654) chore: Update cross-filter tooltip text (@yousoph)
- [#23651](https://github.com/apache/superset/pull/23651) chore: Removes the UX_BETA feature flag (@michael-s-molina)
- [#23652](https://github.com/apache/superset/pull/23652) chore: Enables GENERIC_CHART_AXES by default (@michael-s-molina)
- [#23656](https://github.com/apache/superset/pull/23656) chore(db_engine_specs): Refactor get_index (@john-bodley)
- [#23460](https://github.com/apache/superset/pull/23460) refactor: introduce redux toolkit (@justinpark)
- [#23642](https://github.com/apache/superset/pull/23642) build(deps-dev): bump @typescript-eslint/eslint-plugin from 5.57.1 to 5.58.0 in /superset-websocket (@dependabot[bot])
- [#23643](https://github.com/apache/superset/pull/23643) build(deps-dev): bump @typescript-eslint/parser from 5.57.1 to 5.58.0 in /superset-websocket (@dependabot[bot])
- [#23646](https://github.com/apache/superset/pull/23646) docs: update CHANGELOG with 2.1.0 (@dpgaspar)
- [#23640](https://github.com/apache/superset/pull/23640) chore(feature flag): removing unused ENFORCE_DB_ENCRYPTION_UI flag (@rusackas)
- [#22853](https://github.com/apache/superset/pull/22853) chore: Refactor ExploreMixin to power both Datasets (SqlaTable) and Query models (@hughhhh)
- [#22853](https://github.com/apache/superset/pull/22853) chore: Refactor ExploreMixin to power both Datasets (SqlaTable) and Query models (@hughhhh)
- [#23633](https://github.com/apache/superset/pull/23633) build(deps-dev): bump eslint from 8.36.0 to 8.38.0 in /superset-websocket (@dependabot[bot])
- [#23625](https://github.com/apache/superset/pull/23625) build(deps): bump vm2 from 3.9.14 to 3.9.15 in /superset-frontend/cypress-base (@dependabot[bot])
- [#19733](https://github.com/apache/superset/pull/19733) docs(contributing): add local vscode config for backend debugging (@cemremengu)
- [#23626](https://github.com/apache/superset/pull/23626) build(deps): bump vm2 from 3.9.13 to 3.9.15 in /superset-frontend (@dependabot[bot])
- [#23572](https://github.com/apache/superset/pull/23572) build(deps-dev): bump @typescript-eslint/parser from 5.55.0 to 5.57.1 in /superset-websocket (@dependabot[bot])
- [#23112](https://github.com/apache/superset/pull/23112) chore: Migrate copy_dash endpoint to api v1 (@jfrag1)
- [#23596](https://github.com/apache/superset/pull/23596) chore(deps): bump kind-of dependency (@rusackas)
- [#23595](https://github.com/apache/superset/pull/23595) chore(deps): bumps ansi-regex to 5.0.1 (@rusackas)
- [#23482](https://github.com/apache/superset/pull/23482) refactor: Moves CRUD features to src/features (@michael-s-molina)
- [#23537](https://github.com/apache/superset/pull/23537) docs(security): more context around Talisman, note side effect of force_https on Alerts & Reports (@sfirke)
- [#23573](https://github.com/apache/superset/pull/23573) build(deps-dev): bump @typescript-eslint/eslint-plugin from 5.55.0 to 5.57.1 in /superset-websocket (@dependabot[bot])
- [#23518](https://github.com/apache/superset/pull/23518) build(deps-dev): bump @types/node from 18.15.5 to 18.15.11 in /superset-websocket (@dependabot[bot])
- [#23571](https://github.com/apache/superset/pull/23571) build(deps): bump pre-commit from 3.2.0 to 3.2.2 in /requirements (@dependabot[bot])
- [#23496](https://github.com/apache/superset/pull/23496) build(deps-dev): bump prettier from 2.8.6 to 2.8.7 in /superset-websocket (@dependabot[bot])
- [#23544](https://github.com/apache/superset/pull/23544) chore: Remove wrong information from the Alerts & Reports docs (@geido)
- [#22964](https://github.com/apache/superset/pull/22964) chore: Migrate /superset/user_slices and /superset/fave_slices to API v1 (@diegomedina248)
- [#23491](https://github.com/apache/superset/pull/23491) perf(sqla): avoid unnecessary type check on adhoc column (@villebro)
- [#22803](https://github.com/apache/superset/pull/22803) chore(welcome): harmonize submenu with other routes (@villebro)
- [#23527](https://github.com/apache/superset/pull/23527) ci: disable flaky async test (@villebro)
- [#23536](https://github.com/apache/superset/pull/23536) chore: allow logs to show error levels for ssh tunnel (@hughhhh)
- [#23481](https://github.com/apache/superset/pull/23481) chore: Adds a tooltip to pre-filter in native filters modal (@michael-s-molina)
- [#23165](https://github.com/apache/superset/pull/23165) chore: Migrate /superset/favstar to API v1 (@diegomedina248)
- [#23501](https://github.com/apache/superset/pull/23501) docs: Adds notes to Superset plugin generator about TypeScript errors (@alex-bain)
- [#23477](https://github.com/apache/superset/pull/23477) chore: Changes the inputs of native filters modal to have the same width (@michael-s-molina)
- [#23429](https://github.com/apache/superset/pull/23429) chore: Dataset specific MetadataBar (@kgabryje)
- [#23465](https://github.com/apache/superset/pull/23465) perf(postprocessing): improve pivot postprocessing operation (@Usiel)
- [#23420](https://github.com/apache/superset/pull/23420) docs(contributing): How create or change SECRET_KEY (@pankajsoni22)
- [#23437](https://github.com/apache/superset/pull/23437) build(deps-dev): bump eslint-config-prettier from 8.7.0 to 8.8.0 in /superset-websocket (@dependabot[bot])
- [#23257](https://github.com/apache/superset/pull/23257) chore(sqllab): Remove schemaOptions from redux store (@justinpark)
- [#23417](https://github.com/apache/superset/pull/23417) docs(contributing): added note for creating SECRET_KEY (@Govindarajan-D)
- [#23438](https://github.com/apache/superset/pull/23438) build(deps-dev): bump @types/node from 18.15.3 to 18.15.5 in /superset-websocket (@dependabot[bot])
- [#23451](https://github.com/apache/superset/pull/23451) build(deps-dev): bump prettier from 2.8.4 to 2.8.6 in /superset-websocket (@dependabot[bot])
- [#23430](https://github.com/apache/superset/pull/23430) chore: Add DRILL_BY feature flag (@kgabryje)
- [#23398](https://github.com/apache/superset/pull/23398) chore: Update typing for `Table` component (@hughhhh)
- [#23422](https://github.com/apache/superset/pull/23422) build(deps): bump pre-commit from 3.1.0 to 3.2.0 in /requirements (@dependabot[bot])
- [#23342](https://github.com/apache/superset/pull/23342) build(deps-dev): bump eslint from 8.35.0 to 8.36.0 in /superset-websocket (@dependabot[bot])
- [#23431](https://github.com/apache/superset/pull/23431) docs(security): note the need to set TALISMAN_ENABLED = True (@sfirke)
- [#23303](https://github.com/apache/superset/pull/23303) chore(native-filters): Fetch only the required dataset fields (@john-bodley)
- [#23331](https://github.com/apache/superset/pull/23331) chore: update releasing process for testing (@eschutho)
- [#23226](https://github.com/apache/superset/pull/23226) chore: Hugh/migrate estimate query cost to v1 (@hughhhh)
- [#23359](https://github.com/apache/superset/pull/23359) build(deps-dev): bump @typescript-eslint/eslint-plugin from 5.53.0 to 5.55.0 in /superset-websocket (@dependabot[bot])
- [#23366](https://github.com/apache/superset/pull/23366) build(deps-dev): bump webpack from 5.52.1 to 5.76.0 in /superset-frontend (@dependabot[bot])
- [#23343](https://github.com/apache/superset/pull/23343) build(deps): bump ws from 8.12.1 to 8.13.0 in /superset-websocket (@dependabot[bot])
- [#23403](https://github.com/apache/superset/pull/23403) chore(docs): three typos (@rusackas)
- [#23385](https://github.com/apache/superset/pull/23385) chore: improve schema security (@betodealmeida)
- [#23368](https://github.com/apache/superset/pull/23368) build(deps-dev): bump webpack from 5.64.0 to 5.76.0 in /docs (@dependabot[bot])
- [#23367](https://github.com/apache/superset/pull/23367) build(deps-dev): bump webpack from 5.67.0 to 5.76.0 in /superset-embedded-sdk (@dependabot[bot])
- [#23379](https://github.com/apache/superset/pull/23379) build(deps-dev): bump @typescript-eslint/parser from 5.54.1 to 5.55.0 in /superset-websocket (@dependabot[bot])
- [#23369](https://github.com/apache/superset/pull/23369) build(deps): bump @sideway/formula from 3.0.0 to 3.0.1 in /docs (@dependabot[bot])
- [#23261](https://github.com/apache/superset/pull/23261) chore(dashboard): Disable 'Set filter mapping' when appropriate (@john-bodley)
- [#23371](https://github.com/apache/superset/pull/23371) chore: Add code-owners to Select, MetadataBar and DropdownContainer (@geido)
- [#23227](https://github.com/apache/superset/pull/23227) chore: Migrate /superset/schemas_access_for_file_upload to v1 (@hughhhh)
- [#23360](https://github.com/apache/superset/pull/23360) build(deps-dev): bump @types/node from 18.14.6 to 18.15.3 in /superset-websocket (@dependabot[bot])
- [#23216](https://github.com/apache/superset/pull/23216) chore: Remove Cross Filter scoping modal (@geido)
- [#23294](https://github.com/apache/superset/pull/23294) build(deps-dev): bump @typescript-eslint/parser from 5.53.0 to 5.54.1 in /superset-websocket (@dependabot[bot])
- [#23323](https://github.com/apache/superset/pull/23323) docs(alerts and reports): Update ExecutorType class (@mrmooon)
- [#23290](https://github.com/apache/superset/pull/23290) chore: log different selenium timeout errors differently (@eschutho)
- [#23316](https://github.com/apache/superset/pull/23316) docs: add lost \_filters param docs (@villebro)
- [#23317](https://github.com/apache/superset/pull/23317) chore: bump docusaurus to latest stable (@villebro)
- [#23281](https://github.com/apache/superset/pull/23281) build(deps-dev): bump @types/node from 18.14.1 to 18.14.6 in /superset-websocket (@dependabot[bot])
- [#23292](https://github.com/apache/superset/pull/23292) build(deps-dev): bump eslint-config-prettier from 8.6.0 to 8.7.0 in /superset-websocket (@dependabot[bot])
- [#23166](https://github.com/apache/superset/pull/23166) docs: typo 'admnistrators' in security.mdx (@camac)
- [#22890](https://github.com/apache/superset/pull/22890) chore: upgrade @ant-design/icons for react upgrade (@lilykuang)
- [#23266](https://github.com/apache/superset/pull/23266) chore(cache): Tuning logging in cache manager (@craig-rueda)
- [#23255](https://github.com/apache/superset/pull/23255) chore(webdriver): Tuning the Webdriver logging a bit (@craig-rueda)
- [#23142](https://github.com/apache/superset/pull/23142) chore: Remove the ability to add filter-box charts when DASHBOARD_NATIVE_FILTERS feature is enabled (@john-bodley)
- [#23241](https://github.com/apache/superset/pull/23241) refactor: Organizes the pages in their own folder (@michael-s-molina)
- [#23122](https://github.com/apache/superset/pull/23122) build(deps): bump pip-compile-multi from 2.6.1 to 2.6.2 in /requirements (@dependabot[bot])
- [#23225](https://github.com/apache/superset/pull/23225) chore: Add statsd logger for ssh tunneling creation (@hughhhh)
- [#23168](https://github.com/apache/superset/pull/23168) build(deps): bump pre-commit from 3.0.4 to 3.1.0 in /requirements (@dependabot[bot])
- [#22859](https://github.com/apache/superset/pull/22859) build(deps): bump ua-parser-js from 0.7.28 to 0.7.33 in /superset-frontend (@dependabot[bot])
- [#23201](https://github.com/apache/superset/pull/23201) chore: adding code owners for github actions/workflows (@rusackas)
- [#23211](https://github.com/apache/superset/pull/23211) build(deps-dev): bump eslint from 8.34.0 to 8.35.0 in /superset-websocket (@dependabot[bot])
- [#23152](https://github.com/apache/superset/pull/23152) build(deps-dev): bump @types/uuid from 9.0.0 to 9.0.1 in /superset-websocket (@dependabot[bot])
- [#23207](https://github.com/apache/superset/pull/23207) docs: fix typo (@vivekDebugs)
- [#22342](https://github.com/apache/superset/pull/22342) build(deps): bump express and @applitools/eyes-cypress in /superset-frontend/cypress-base (@dependabot[bot])
- [#23132](https://github.com/apache/superset/pull/23132) build(deps-dev): bump @typescript-eslint/eslint-plugin from 5.52.0 to 5.53.0 in /superset-websocket (@dependabot[bot])
- [#23203](https://github.com/apache/superset/pull/23203) test: Remove test playgrounds (@lyndsiWilliams)
- [#23180](https://github.com/apache/superset/pull/23180) build(deps-dev): bump @types/node from 18.13.0 to 18.14.1 in /superset-websocket (@dependabot[bot])
- [#23133](https://github.com/apache/superset/pull/23133) build(deps-dev): bump @typescript-eslint/parser from 5.51.0 to 5.53.0 in /superset-websocket (@dependabot[bot])
- [#23145](https://github.com/apache/superset/pull/23145) chore: refactor SparklineCell for react 17 and react 18 upgrade (@lilykuang)
- [#23160](https://github.com/apache/superset/pull/23160) build: Add helm chart option to deploy sidecars with node and worker (@mkramer5454)
- [#23144](https://github.com/apache/superset/pull/23144) chore: revert "feat(native_filter_migration): add transition mode (#16992)" (@john-bodley)
- [#23158](https://github.com/apache/superset/pull/23158) chore: Bump cryptography to 39.0.1 (@EugeneTorap)
- [#23108](https://github.com/apache/superset/pull/23108) chore: Remove yarn.lock from the root folder (@EugeneTorap)

View File

@@ -1,65 +0,0 @@
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
## Change Log
### 3.0.1 (Tue Oct 13 10:32:21 2023 -0700)
**Database Migrations**
- [#25320](https://github.com/apache/superset/pull/25320) fix: Add explicit ON DELETE CASCADE for dashboard_roles (@john-bodley)
**Fixes**
- [#25541](https://github.com/apache/superset/pull/25541) fix: revert fix(sqllab): Force trino client async execution (#24859) (@villebro)
- [#25618](https://github.com/apache/superset/pull/25618) fix: finestTemporalGrainFormatter (@betodealmeida)
- [#25599](https://github.com/apache/superset/pull/25599) fix(window): unavailable localStorage and sessionStorage (@frassinier)
- [#25579](https://github.com/apache/superset/pull/25579) fix(Charts): Set max row limit + removed the option to use an empty row limit value (@CorbinBullard)
- [#25559](https://github.com/apache/superset/pull/25559) fix(Presto): catch DatabaseError when testing Presto views (@zhaorui2022)
- [#25486](https://github.com/apache/superset/pull/25486) fix: thubmnails loading - Talisman default config (@Khrol)
- [#25400](https://github.com/apache/superset/pull/25400) fix(RLS): Fix Info Tooltip + Button Alignment on RLS Modal (@CorbinBullard)
- [#25590](https://github.com/apache/superset/pull/25590) fix: REST API CSRF exempt list (@dpgaspar)
- [#25147](https://github.com/apache/superset/pull/25147) fix: Apply normalization to all dttm columns (@kgabryje)
- [#25516](https://github.com/apache/superset/pull/25516) fix: tags permissions error message (@Khrol)
- [#25519](https://github.com/apache/superset/pull/25519) fix: Expand error detail on screencapture (@justinpark)
- [#25490](https://github.com/apache/superset/pull/25490) fix(sqllab): Broken query containing 'children' (@justinpark)
- [#25390](https://github.com/apache/superset/pull/25390) fix: Unable to sync columns when database or dataset name contains `+` (@mapledan)
- [#25494](https://github.com/apache/superset/pull/25494) fix: Address Mypy issue which is causing CI to fail (@john-bodley)
- [#25469](https://github.com/apache/superset/pull/25469) fix(sqllab): error with lazy_gettext for tab titles (@nytai)
- [#25468](https://github.com/apache/superset/pull/25468) fix: Styles not loading because of faulty CSP setting (@kgabryje)
- [#24241](https://github.com/apache/superset/pull/24241) fix(mysql): handle string typed decimal results (@villebro)
- [#25373](https://github.com/apache/superset/pull/25373) fix(helm chart): set chart appVersion to 3.0.0 (@celalettin1286)
- [#25445](https://github.com/apache/superset/pull/25445) fix: update the SQLAlchemy model definition at json column for Log table (@cnabro)
- [#25447](https://github.com/apache/superset/pull/25447) fix: Duplicate items when pasting into Select (@michael-s-molina)
- [#25372](https://github.com/apache/superset/pull/25372) fix(SqlLab): make icon placement even (@CorbinBullard)
- [#25282](https://github.com/apache/superset/pull/25282) fix(nativeFilters): Speed up native filters by removing unnecessary rerenders (@Always-prog)
- [#25437](https://github.com/apache/superset/pull/25437) fix(sqllab): invalid start date (@justinpark)
- [#25404](https://github.com/apache/superset/pull/25404) fix: smarter date formatter (@betodealmeida)
- [#25368](https://github.com/apache/superset/pull/25368) fix: swagger UI CSP error (@dpgaspar)
- [#25425](https://github.com/apache/superset/pull/25425) fix: chart import (@betodealmeida)
- [#25106](https://github.com/apache/superset/pull/25106) fix: preventing save button from flickering in SQL Lab (@fisjac)
- [#25424](https://github.com/apache/superset/pull/25424) fix: Rename on_delete parameter to ondelete (@john-bodley)
- [#25398](https://github.com/apache/superset/pull/25398) fix(sqllab): invalid persisted tab state (#25308) (@justinpark)
- [#25399](https://github.com/apache/superset/pull/25399) fix: Workaround for Cypress ECONNRESET error (@michael-s-molina)
- [#25318](https://github.com/apache/superset/pull/25318) fix: datetime with timezone excel export (@betodealmeida)
- [#25349](https://github.com/apache/superset/pull/25349) fix: DashboardRoles cascade operation (@michael-s-molina)
- [#25239](https://github.com/apache/superset/pull/25239) fix: Improve the reliability of alerts & reports (@jfrag1)
- [#25229](https://github.com/apache/superset/pull/25229) fix: Use RLS clause instead of ID for cache key (@jfrag1)
- [#25126](https://github.com/apache/superset/pull/25126) fix(chart): Supporting custom SQL as temporal x-axis column with filter (@zephyring)
- [#25290](https://github.com/apache/superset/pull/25290) fix: is_select with UNION (@betodealmeida)

View File

@@ -1,73 +0,0 @@
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
## Change Log
### 3.0.2 (Mon Nov 20 07:38:38 2023 -0500)
**Fixes**
- [#26037](https://github.com/apache/superset/pull/26037) fix: update FAB to 4.3.10, Azure user info fix (@dpgaspar)
- [#25901](https://github.com/apache/superset/pull/25901) fix(native filters): rendering performance improvement by reduce overrendering (@justinpark)
- [#25985](https://github.com/apache/superset/pull/25985) fix(explore): redandant force param (@justinpark)
- [#25993](https://github.com/apache/superset/pull/25993) fix: Make Select component fire onChange listener when a selection is pasted in (@jfrag1)
- [#25997](https://github.com/apache/superset/pull/25997) fix(rls): Update text from tables to datasets in RLS modal (@yousoph)
- [#25703](https://github.com/apache/superset/pull/25703) fix(helm): Restart all related deployments when bootstrap script changed (@josedev-union)
- [#25973](https://github.com/apache/superset/pull/25973) fix: naming denomalized to denormalized in helpers.py (@hughhhh)
- [#25919](https://github.com/apache/superset/pull/25919) fix: always denorm column value before querying values (@hughhhh)
- [#25947](https://github.com/apache/superset/pull/25947) fix: update flask-caching to avoid breaking redis cache, solves #25339 (@ggbaro)
- [#25903](https://github.com/apache/superset/pull/25903) fix(sqllab): invalid sanitization on comparison symbol (@justinpark)
- [#25857](https://github.com/apache/superset/pull/25857) fix(table): Double percenting ad-hoc percentage metrics (@john-bodley)
- [#25872](https://github.com/apache/superset/pull/25872) fix(trino): allow impersonate_user flag to be imported (@FGrobelny)
- [#25897](https://github.com/apache/superset/pull/25897) fix: trino cursor (@betodealmeida)
- [#25898](https://github.com/apache/superset/pull/25898) fix: database version field (@betodealmeida)
- [#25877](https://github.com/apache/superset/pull/25877) fix: Saving Mixed Chart with dashboard filter applied breaks adhoc_filter_b (@kgabryje)
- [#25842](https://github.com/apache/superset/pull/25842) fix(charts): Time grain is None when dataset uses Jinja (@Antonio-RiveroMartnez)
- [#25843](https://github.com/apache/superset/pull/25843) fix: remove `update_charts_owners` (@betodealmeida)
- [#25707](https://github.com/apache/superset/pull/25707) fix(table chart): Show Cell Bars correctly #25625 (@SA-Ark)
- [#25429](https://github.com/apache/superset/pull/25429) fix: the temporal x-axis results in a none time_range. (@mapledan)
- [#25853](https://github.com/apache/superset/pull/25853) fix: Fires onChange when clearing all values of single select (@michael-s-molina)
- [#25814](https://github.com/apache/superset/pull/25814) fix(sqllab): infinite fetching status after results are landed (@justinpark)
- [#25768](https://github.com/apache/superset/pull/25768) fix(SQL field in edit dataset modal): display full sql query (@rtexelm)
- [#25804](https://github.com/apache/superset/pull/25804) fix: Resolve issue #24195 (@john-bodley)
- [#25801](https://github.com/apache/superset/pull/25801) fix: Revert "fix: Apply normalization to all dttm columns (#25147)" (@john-bodley)
- [#25779](https://github.com/apache/superset/pull/25779) fix: DB-specific quoting in Jinja macro (@betodealmeida)
- [#25640](https://github.com/apache/superset/pull/25640) fix: allow for backward compatible errors (@eschutho)
- [#25741](https://github.com/apache/superset/pull/25741) fix(sqllab): slow pop datasource query (@justinpark)
- [#25756](https://github.com/apache/superset/pull/25756) fix: dataset update uniqueness (@betodealmeida)
- [#25753](https://github.com/apache/superset/pull/25753) fix: Revert "fix(Charts): Set max row limit + removed the option to use an empty row limit value" (@geido)
- [#25732](https://github.com/apache/superset/pull/25732) fix(horizontal filter label): show full tooltip with ellipsis (@rtexelm)
- [#25712](https://github.com/apache/superset/pull/25712) fix: bump to FAB 4.3.9 remove CSP exception (@dpgaspar)
- [#24709](https://github.com/apache/superset/pull/24709) fix(chore): dashboard requests to database equal the number of slices it has (@Always-prog)
- [#25679](https://github.com/apache/superset/pull/25679) fix: remove unnecessary redirect (@Khrol)
- [#25680](https://github.com/apache/superset/pull/25680) fix(sqllab): reinstate "Force trino client async execution" (@giftig)
- [#25657](https://github.com/apache/superset/pull/25657) fix(dremio): Fixes issue with Dremio SQL generation for Charts with Series Limit (@OskarNS)
- [#23638](https://github.com/apache/superset/pull/23638) fix: warning of nth-child (@justinpark)
- [#25658](https://github.com/apache/superset/pull/25658) fix: improve upload ZIP file validation (@dpgaspar)
- [#25495](https://github.com/apache/superset/pull/25495) fix(header navlinks): link navlinks to path prefix (@fisjac)
- [#25112](https://github.com/apache/superset/pull/25112) fix: permalink save/overwrites in explore (@hughhhh)
- [#25493](https://github.com/apache/superset/pull/25493) fix(import): Make sure query context is overwritten for overwriting imports (@jfrag1)
- [#25553](https://github.com/apache/superset/pull/25553) fix: avoid 500 errors with SQLLAB_BACKEND_PERSISTENCE (@Khrol)
- [#25626](https://github.com/apache/superset/pull/25626) fix(sqllab): template validation error within comments (@justinpark)
- [#25523](https://github.com/apache/superset/pull/25523) fix(sqllab): Mistitled for new tab after rename (@justinpark)
**Others**
- [#25995](https://github.com/apache/superset/pull/25995) chore: Optimize fetching samples logic (@john-bodley)
- [#23619](https://github.com/apache/superset/pull/23619) chore(colors): Updating Airbnb brand colors (@john-bodley)

View File

@@ -1,80 +0,0 @@
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
## Change Log
### 3.0.3 (Tue Jan 9 16:48:07 2023 -0300)
**Fixes**
- [#26429](https://github.com/apache/superset/pull/26429) fix(post-processing): handle missing values in cumulative operator (@villebro)
- [#26424](https://github.com/apache/superset/pull/26424) fix(translations): Clear all (@capping)
- [#26404](https://github.com/apache/superset/pull/26404) fix(plugin-chart-echarts): support forced categorical x-axis (@villebro)
- [#26415](https://github.com/apache/superset/pull/26415) fix: In chart gallery thumbnail is rendered in case of no example in #16707 (@sivasathyaseeelan)
- [#26393](https://github.com/apache/superset/pull/26393) fix(chart): Resolve incorrect column customization when switching metrics in table chart (@soniagtm)
- [#26313](https://github.com/apache/superset/pull/26313) fix(dashboard): narrow empty drop area (@justinpark)
- [#26410](https://github.com/apache/superset/pull/26410) fix(dashboard): Chart menu disable is fixed on chart-fullscreen in issue #25992 (@sivasathyaseeelan)
- [#26362](https://github.com/apache/superset/pull/26362) fix: Reactivates native filters E2E tests (@michael-s-molina)
- [#26353](https://github.com/apache/superset/pull/26353) fix(SelectControl): select zero value (@rekilina)
- [#26302](https://github.com/apache/superset/pull/26302) fix: Invalid references in the basic template (@michael-s-molina)
- [#26380](https://github.com/apache/superset/pull/26380) fix: Removes non-existent columns in the 2018 FCC Survey dataset (@michael-s-molina)
- [#26151](https://github.com/apache/superset/pull/26151) fix(chart): Set max row limit + removed the option to use an empty row limit value (@CorbinBullard)
- [#26333](https://github.com/apache/superset/pull/26333) fix(logging): Add logging of change_dashboard_filter event for native dashboard filters (@john-bodley)
- [#26326](https://github.com/apache/superset/pull/26326) fix(accessibility): Enable tabbing on sort header of table chart (@arunthirumani)
- [#26340](https://github.com/apache/superset/pull/26340) fix(dashboard): Don't switch to first tab when directPathToChild changes (@kgabryje)
- [#26283](https://github.com/apache/superset/pull/26283) fix(redshift): convert_dttm method for redshift dataset and tests (@gaurav7261)
- [#26281](https://github.com/apache/superset/pull/26281) fix(sql lab): Use quote_schema instead of quote method to format schema name (@guenp)
- [#25967](https://github.com/apache/superset/pull/25967) fix(typings): model_id is a multiple option (@gnought)
- [#26279](https://github.com/apache/superset/pull/26279) fix: Cannot expand initially hidden SQL Lab tab (@michael-s-molina)
- [#26269](https://github.com/apache/superset/pull/26269) fix(plugin-chart-echarts): use scale for truncating x-axis (@villebro)
- [#26264](https://github.com/apache/superset/pull/26264) fix: Stacked charts with numerical columns (@michael-s-molina)
- [#26187](https://github.com/apache/superset/pull/26187) fix: bump pyarrow constraints (CVE-2023-47248) (@cwegener)
- [#26215](https://github.com/apache/superset/pull/26215) fix(plugin-chart-echarts): support truncated numeric x-axis (@villebro)
- [#26199](https://github.com/apache/superset/pull/26199) fix(chart-filter): Avoid column denormalization if not enabled (@Vitor-Avila)
- [#26211](https://github.com/apache/superset/pull/26211) fix: support custom links in markdown (@villebro)
- [#26189](https://github.com/apache/superset/pull/26189) fix(dashboard): title formatting (@nytai)
- [#26207](https://github.com/apache/superset/pull/26207) fix: Includes 90° x-axis label rotation (@michael-s-molina)
- [#26157](https://github.com/apache/superset/pull/26157) fix(init-job): Fix envFrom for init job in helm chart (@sumagoudb)
- [#25878](https://github.com/apache/superset/pull/25878) fix(embedded): Hide sensitive payload data from guest users (@jfrag1)
- [#25894](https://github.com/apache/superset/pull/25894) fix(Alerts/Reports): allow use of ";" separator in slack recipient entry (@rtexelm)
- [#26116](https://github.com/apache/superset/pull/26116) fix(database-import): Support importing a DB connection with a version set (@Vitor-Avila)
- [#26154](https://github.com/apache/superset/pull/26154) fix: set label on adhoc column should persist (@betodealmeida)
- [#26140](https://github.com/apache/superset/pull/26140) fix(annotations): time grain column (@betodealmeida)
- [#23916](https://github.com/apache/superset/pull/23916) fix: remove default secret key from helm (@dpgaspar)
- [#26120](https://github.com/apache/superset/pull/26120) fix: alias column when fetching values (@betodealmeida)
- [#26106](https://github.com/apache/superset/pull/26106) fix: flaky test_explore_json_async test v2 (@villebro)
- [#26091](https://github.com/apache/superset/pull/26091) fix: bump node-fetch to 2.6.7 (@dpgaspar)
- [#26087](https://github.com/apache/superset/pull/26087) fix(plugin-chart-echarts): support numerical x-axis (@villebro)
- [#26059](https://github.com/apache/superset/pull/26059) fix: Flaky test_explore_json_async test (@michael-s-molina)
- [#26023](https://github.com/apache/superset/pull/26023) fix: Prevent cached bootstrap data from leaking between users w/ same first/last name (@jfrag1)
- [#26060](https://github.com/apache/superset/pull/26060) fix: Optimize fetching samples logic (@john-bodley)
- [#26010](https://github.com/apache/superset/pull/26010) fix: Remove annotation Fuzzy to get french translation (@aehanno)
- [#26005](https://github.com/apache/superset/pull/26005) fix(security): restore default value of SESSION_COOKIE_SECURE to False (@sfirke)
- [#25883](https://github.com/apache/superset/pull/25883) fix(horizontal filter bar filter labels): Increase max-width to 96px (@rtexelm)
**Others**
- [#26312](https://github.com/apache/superset/pull/26312) chore(Embedded): Avoid creating a filter key for guest users (@Vitor-Avila)
- [#26317](https://github.com/apache/superset/pull/26317) chore: Adds a tooltip for the alert's SQL input (@michael-s-molina)
- [#26310](https://github.com/apache/superset/pull/26310) chore: Disables minor ticks by default (@michael-s-molina)
- [#26287](https://github.com/apache/superset/pull/26287) chore: update changelog for 2.1.3 (@eschutho)
- [#26251](https://github.com/apache/superset/pull/26251) chore: improve CSP add base uri restriction (@dpgaspar)
- [#26208](https://github.com/apache/superset/pull/26208) chore: Adds note about numerical x-axis (@michael-s-molina)
- [#26158](https://github.com/apache/superset/pull/26158) chore: Clean up the examples dashboards (@michael-s-molina)
- [#25931](https://github.com/apache/superset/pull/25931) chore(deps): bump pillow deps (@gnought)

View File

@@ -1,72 +0,0 @@
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
## Change Log
### 3.0.4 (Mon Feb 12 19:09:13 2024 -0800)
**Features**
- [#25795](https://github.com/apache/superset/pull/25795) feat: support server-side sessions (@dpgaspar)
**Fixes**
- [#27096](https://github.com/apache/superset/pull/27096) fix(big_number): white-space: nowrap to prevent wrapping (@mistercrunch)
- [#27066](https://github.com/apache/superset/pull/27066) fix: Drill by with GLOBAL_ASYNC_QUERIES (@kgabryje)
- [#27039](https://github.com/apache/superset/pull/27039) fix: bump FAB to 4.3.11 (@dpgaspar)
- [#26993](https://github.com/apache/superset/pull/26993) fix: chart import validation (@dpgaspar)
- [#27073](https://github.com/apache/superset/pull/27073) fix(drill): no rows returned (@betodealmeida)
- [#27069](https://github.com/apache/superset/pull/27069) fix: Filters sidebar stretching dashboard height (@kgabryje)
- [#27041](https://github.com/apache/superset/pull/27041) fix(plugins): missing currency on small number format in table chart (@justinpark)
- [#27023](https://github.com/apache/superset/pull/27023) fix(explore): allow free-form d3 format on custom column formatting (@justinpark)
- [#27019](https://github.com/apache/superset/pull/27019) fix: safer error message in alerts (@betodealmeida)
- [#27015](https://github.com/apache/superset/pull/27015) fix(security manager): Users should not have access to all draft dashboards (@Vitor-Avila)
- [#26946](https://github.com/apache/superset/pull/26946) fix: column values with NaN (@betodealmeida)
- [#26964](https://github.com/apache/superset/pull/26964) fix(plugin-chart-table): Prevent misalignment of totals and headers when scrollbar is visible (@kgabryje)
- [#22849](https://github.com/apache/superset/pull/22849) fix(cache): remove unused webserver config & handle trailing slashes (@Usiel)
- [#26889](https://github.com/apache/superset/pull/26889) fix: Allow exporting saved queries without schema information (@sbernauer)
- [#26887](https://github.com/apache/superset/pull/26887) fix: dashboard import validation (@dpgaspar)
- [#26911](https://github.com/apache/superset/pull/26911) fix: handle CRLF endings causing sqlglot failure (@mapledan)
- [#26906](https://github.com/apache/superset/pull/26906) fix(pinot): typo in the name for epoch_ms_to_dttm (@ege-st)
- [#26817](https://github.com/apache/superset/pull/26817) fix: Bar charts horizontal margin adjustment error (@michael-s-molina)
- [#26749](https://github.com/apache/superset/pull/26749) fix: prevent guest user from modifying metrics (@betodealmeida)
- [#25923](https://github.com/apache/superset/pull/25923) fix(deck.gl Multiple Layer Chart): Add Contour and Heatmap Layer as options (@Mattc1221)
- [#26476](https://github.com/apache/superset/pull/26476) fix(sqlparse): improve table parsing (@betodealmeida)
- [#26814](https://github.com/apache/superset/pull/26814) fix(time-series table): Can't compare from the beginning of the time range (@michael-s-molina)
- [#26807](https://github.com/apache/superset/pull/26807) fix: Row limit hardcoded (@michael-s-molina)
- [#26652](https://github.com/apache/superset/pull/26652) fix(import): only import FORMULA annotations (@mistercrunch)
- [#26314](https://github.com/apache/superset/pull/26314) fix(logging): Filter out undefined columns (@john-bodley)
- [#26461](https://github.com/apache/superset/pull/26461) fix(BigQuery): Support special characters in column/metric names used in ORDER BY (@Vitor-Avila)
- [#26744](https://github.com/apache/superset/pull/26744) fix(db2): Improving support for ibm db2 connections (@Vitor-Avila)
- [#26705](https://github.com/apache/superset/pull/26705) fix(legacy-charts): Show Time Grain control for legacy charts (@Vitor-Avila)
- [#26709](https://github.com/apache/superset/pull/26709) fix: do not use lodash/memoize (@rusackas)
- [#25550](https://github.com/apache/superset/pull/25550) fix: Catch ImportErrors for Google SDKs (@skion)
- [#26645](https://github.com/apache/superset/pull/26645) fix(translation): correct translation errors for Chinese(zh) (@Waterkin)
- [#26638](https://github.com/apache/superset/pull/26638) fix: Avoid 500 if end users write bad SQL (@Khrol)
- [#26644](https://github.com/apache/superset/pull/26644) fix: unnecessary logic on CI ephemeral (@dpgaspar)
- [#26625](https://github.com/apache/superset/pull/26625) fix: create virtual dataset validation (@dpgaspar)
- [#26634](https://github.com/apache/superset/pull/26634) fix: RLS modal styling (@geido)
- [#26469](https://github.com/apache/superset/pull/26469) fix(database): allow filtering by UUID (@betodealmeida)
- [#26412](https://github.com/apache/superset/pull/26412) fix(embedded): Hide dashboard fullscreen option for embedded context (@Vitor-Avila)
- [#26355](https://github.com/apache/superset/pull/26355) fix: Trino - handle table not found in SQLLab (@Khrol)
**Others**
- [#26716](https://github.com/apache/superset/pull/26716) build(deps): bump csstype from 2.6.9 to 3.1.3 in /superset-frontend (@dependabot[bot])
- [#26431](https://github.com/apache/superset/pull/26431) chore: bump prophet to 1.1.5 (@villebro)

View File

@@ -1,417 +0,0 @@
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
## Change Log
### 3.1.0 (Tue Jan 9 15:05:00 2023 -0800)
**Database Migrations**
- [#26160](https://github.com/apache/superset/pull/26160) fix: Migration order due to cherry which went astray (@john-bodley)
- [#24776](https://github.com/apache/superset/pull/24776) chore(sqlalchemy): Remove erroneous SQLAlchemy ORM session.merge operations (@john-bodley)
- [#25819](https://github.com/apache/superset/pull/25819) chore: Singularize tag models (@john-bodley)
- [#25911](https://github.com/apache/superset/pull/25911) chore: remove deprecated functions in SQLAlchemy (@gnought)
- [#25304](https://github.com/apache/superset/pull/25304) feat: Adds CLI commands to execute viz migrations (@michael-s-molina)
- [#25204](https://github.com/apache/superset/pull/25204) feat(datasource): Checkbox for always filtering main dttm in datasource (@Always-prog)
- [#24832](https://github.com/apache/superset/pull/24832) fix: Alembic migration head (@john-bodley)
- [#24701](https://github.com/apache/superset/pull/24701) feat(Tags): Allow users to favorite Tags on CRUD Listview page (@hughhhh)
- [#24755](https://github.com/apache/superset/pull/24755) feat: Add line width unit control in deckgl Polygon and Path (@kgabryje)
- [#24700](https://github.com/apache/superset/pull/24700) chore: Update pylint to 2.17.4 (@EugeneTorap)
**Features**
- [#26031](https://github.com/apache/superset/pull/26031) feat(deckgl-map): use an arbitraty Mabpox style URL (#26027) (@francois-travais)
- [#26136](https://github.com/apache/superset/pull/26136) feat: Adds legacy time support for Waterfall chart (@michael-s-molina)
- [#26123](https://github.com/apache/superset/pull/26123) feat(helm): Add option to deploy extra containers to remaining deployments (@bluemalkin)
- [#24714](https://github.com/apache/superset/pull/24714) feat: Add Apache Doris support (@liujiwen-up)
- [#26033](https://github.com/apache/superset/pull/26033) feat: Add Bubble chart migration logic (@michael-s-molina)
- [#25921](https://github.com/apache/superset/pull/25921) feat(metadb): handle decimals (@betodealmeida)
- [#24539](https://github.com/apache/superset/pull/24539) feat(sqllab): non-blocking persistence mode (@justinpark)
- [#25861](https://github.com/apache/superset/pull/25861) feat(sqllab): Show duration as separate column in Query History view (@sebastianliebscher)
- [#25809](https://github.com/apache/superset/pull/25809) feat(sqllab): TRINO_EXPAND_ROWS: expand columns from ROWs (@giftig)
- [#25952](https://github.com/apache/superset/pull/25952) feat: Add Area chart migration and tweaks the Timeseries chart migration (@michael-s-molina)
- [#25950](https://github.com/apache/superset/pull/25950) feat(explore): dataset macro: dttm filter context (@giftig)
- [#23973](https://github.com/apache/superset/pull/23973) feat: Adds Line chart migration logic (@michael-s-molina)
- [#20323](https://github.com/apache/superset/pull/20323) feat: safer insert RLS (@betodealmeida)
- [#25882](https://github.com/apache/superset/pull/25882) feat: method for dynamic `allows_alias_in_select` (@betodealmeida)
- [#25855](https://github.com/apache/superset/pull/25855) feat(sqllab): Dynamic query limit dropdown (@giftig)
- [#25344](https://github.com/apache/superset/pull/25344) feat(sqllab): Format sql (@justinpark)
- [#25557](https://github.com/apache/superset/pull/25557) feat: Improves the Waterfall chart (@michael-s-molina)
- [#23308](https://github.com/apache/superset/pull/23308) feat: support databend for superset (@hantmac)
- [#25795](https://github.com/apache/superset/pull/25795) feat: support server-side sessions (@dpgaspar)
- [#25783](https://github.com/apache/superset/pull/25783) feat(helm): Add option to deploy extra containers to init job (@bluemalkin)
- [#25696](https://github.com/apache/superset/pull/25696) feat(Export as PDF - rasterized): Adding rasterized pdf functionality to dashboard (@fisjac)
- [#25676](https://github.com/apache/superset/pull/25676) feat: add France's regions to country map visualization (@dmeaux)
- [#25569](https://github.com/apache/superset/pull/25569) feat: add database and schema names to dataset option (@soniagtm)
- [#25666](https://github.com/apache/superset/pull/25666) feat: Funnel/tooltip-customization (@CorbinBullard)
- [#25683](https://github.com/apache/superset/pull/25683) feat: Add week time grain for Elasticsearch datasets (@mikelv92)
- [#25423](https://github.com/apache/superset/pull/25423) feat(sqllab): ResultTable extension (@justinpark)
- [#25542](https://github.com/apache/superset/pull/25542) feat(sqllab): Add keyboard shortcut helper (@justinpark)
- [#25565](https://github.com/apache/superset/pull/25565) feat: migrate to docker compose v2 (@mdeshmu)
- [#24154](https://github.com/apache/superset/pull/24154) feat: Add Deck.gl Contour Layer (@Mattc1221)
- [#17906](https://github.com/apache/superset/pull/17906) feat(plugin-chart-echarts): Echarts Waterfall (@stephenLYZ)
- [#22107](https://github.com/apache/superset/pull/22107) feat: Adds the ECharts Bubble chart (@mayurnewase)
- [#25151](https://github.com/apache/superset/pull/25151) feat(sqllab): SPA migration (@justinpark)
- [#25247](https://github.com/apache/superset/pull/25247) feat: Implement using Playwright for taking screenshots in reports (@kgabryje)
- [#25303](https://github.com/apache/superset/pull/25303) feat: generic marshmallow error component (@betodealmeida)
- [#25377](https://github.com/apache/superset/pull/25377) feat(docker): Use docker buildx and Add ARM builds for dockerize and websocket (@alekseyolg)
- [#25343](https://github.com/apache/superset/pull/25343) feat: Adds Sunburst chart migration logic (@michael-s-molina)
- [#25345](https://github.com/apache/superset/pull/25345) feat(sqllab): extra logging when chart is downloaded (@zephyring)
- [#25280](https://github.com/apache/superset/pull/25280) feat(helm): Support HPA for supersetNode and supersetWorker (@tenkian4)
- [#25309](https://github.com/apache/superset/pull/25309) feat(tag): fast follow for Tags flatten api + update client with generator + some bug fixes (@hughhhh)
- [#24964](https://github.com/apache/superset/pull/24964) feat: Tags ListView Page (@hughhhh)
- [#24787](https://github.com/apache/superset/pull/24787) feat(sqllab): Show sql in the current result (@justinpark)
- [#25105](https://github.com/apache/superset/pull/25105) feat: removing renderCard from Tags/index.tsc to remove cardview from Tags ListView (@fisjac)
- [#25089](https://github.com/apache/superset/pull/25089) feat(docker): refactor docker images (@alekseyolg)
- [#24839](https://github.com/apache/superset/pull/24839) feat: Update Tags CRUD API (@hughhhh)
- [#25065](https://github.com/apache/superset/pull/25065) feat: adding Scarf pixels to gather telemetry on readme and website (@rusackas)
- [#14225](https://github.com/apache/superset/pull/14225) feat: a native SQLAlchemy dialect for Superset (@betodealmeida)
- [#25001](https://github.com/apache/superset/pull/25001) feat: Moves Profile to Single Page App (SPA) (@michael-s-molina)
- [#24983](https://github.com/apache/superset/pull/24983) feat(sqllab): Add /sqllab endpoint to the v1 api (@justinpark)
- [#24918](https://github.com/apache/superset/pull/24918) feat: command to test DB engine specs (@betodealmeida)
- [#24921](https://github.com/apache/superset/pull/24921) feat(gsheets): file upload (@betodealmeida)
- [#24934](https://github.com/apache/superset/pull/24934) feat: add MotherDuck DB engine spec (@betodealmeida)
- [#24909](https://github.com/apache/superset/pull/24909) feat: improve SQLite DB engine spec (@betodealmeida)
- [#24870](https://github.com/apache/superset/pull/24870) feat(chart): Added Central Asia countries to countries map (@Zoynels)
- [#24702](https://github.com/apache/superset/pull/24702) feat: add empty state for Tags (@hughhhh)
- [#24768](https://github.com/apache/superset/pull/24768) feat: add pandas performance dependencies (@sebastianliebscher)
- [#24618](https://github.com/apache/superset/pull/24618) feat(csv-upload): Configurable max filesize (@giftig)
- [#24580](https://github.com/apache/superset/pull/24580) feat(database): Database Filtering via custom configuration (@Antonio-RiveroMartnez)
**Fixes**
- [#26429](https://github.com/apache/superset/pull/26429) fix(post-processing): handle missing values in cumulative operator (@villebro)
- [#26424](https://github.com/apache/superset/pull/26424) fix(translations): Clear all (@capping)
- [#26404](https://github.com/apache/superset/pull/26404) fix(plugin-chart-echarts): support forced categorical x-axis (@villebro)
- [#26415](https://github.com/apache/superset/pull/26415) fix: In chart gallery thumbnail is rendered in case of no example in #16707 (@sivasathyaseeelan)
- [#26393](https://github.com/apache/superset/pull/26393) fix(chart): Resolve incorrect column customization when switching metrics in table chart (@soniagtm)
- [#26405](https://github.com/apache/superset/pull/26405) fix(sqllab): Bump duckdb-engine version to 0.9.5 (@guenp)
- [#26313](https://github.com/apache/superset/pull/26313) fix(dashboard): narrow empty drop area (@justinpark)
- [#26410](https://github.com/apache/superset/pull/26410) fix(dashboard): Chart menu disable is fixed on chart-fullscreen in issue #25992 (@sivasathyaseeelan)
- [#26362](https://github.com/apache/superset/pull/26362) fix: Reactivates native filters E2E tests (@michael-s-molina)
- [#26398](https://github.com/apache/superset/pull/26398) fix(embed): an error occurred while rendering the visualization: error: Item with key ... is not registered. (@rowdyroad)
- [#26353](https://github.com/apache/superset/pull/26353) fix(SelectControl): select zero value (@rekilina)
- [#26380](https://github.com/apache/superset/pull/26380) fix: Removes non-existent columns in the 2018 FCC Survey dataset (@michael-s-molina)
- [#26302](https://github.com/apache/superset/pull/26302) fix: Invalid references in the basic template (@michael-s-molina)
- [#26379](https://github.com/apache/superset/pull/26379) fix: Duplicated plugin registration (@michael-s-molina)
- [#26378](https://github.com/apache/superset/pull/26378) fix(databend): databend time grain expression (@hantmac)
- [#26151](https://github.com/apache/superset/pull/26151) fix(chart): Set max row limit + removed the option to use an empty row limit value (@CorbinBullard)
- [#26312](https://github.com/apache/superset/pull/26312) fix(Embedded): Avoid creating a filter key for guest users (@Vitor-Avila)
- [#26333](https://github.com/apache/superset/pull/26333) fix(logging): Add logging of change_dashboard_filter event for native dashboard filters (@john-bodley)
- [#26326](https://github.com/apache/superset/pull/26326) fix(accessibility): Enable tabbing on sort header of table chart (@arunthirumani)
- [#26324](https://github.com/apache/superset/pull/26324) fix(tagging): adding tags containing a “:” to dashboards (@lilykuang)
- [#26340](https://github.com/apache/superset/pull/26340) fix(dashboard): Don't switch to first tab when directPathToChild changes (@kgabryje)
- [#26283](https://github.com/apache/superset/pull/26283) fix(redshift): convert_dttm method for redshift dataset and tests (@gaurav7261)
- [#26281](https://github.com/apache/superset/pull/26281) fix(sql lab): Use quote_schema instead of quote method to format schema name (@guenp)
- [#25967](https://github.com/apache/superset/pull/25967) fix(typings): model_id is a multiple option (@gnought)
- [#26284](https://github.com/apache/superset/pull/26284) fix: Revert "fix(sqllab): flaky json explore modal due to over-rendering (#26156)" (@justinpark)
- [#26279](https://github.com/apache/superset/pull/26279) fix: Cannot expand initially hidden SQL Lab tab (@michael-s-molina)
- [#26269](https://github.com/apache/superset/pull/26269) fix(plugin-chart-echarts): use scale for truncating x-axis (@villebro)
- [#26264](https://github.com/apache/superset/pull/26264) fix: Stacked charts with numerical columns (@michael-s-molina)
- [#26243](https://github.com/apache/superset/pull/26243) fix(plugin-chart-echarts): undefined bounds for bubble chart (@villebro)
- [#26224](https://github.com/apache/superset/pull/26224) fix: Use page.locator in Playwright reports (@kgabryje)
- [#26156](https://github.com/apache/superset/pull/26156) fix(sqllab): flaky json explore modal due to over-rendering (@justinpark)
- [#25533](https://github.com/apache/superset/pull/25533) fix(menu): Styling active menu in SPA navigation (@justinpark)
- [#25977](https://github.com/apache/superset/pull/25977) fix(sqllab): table preview has gone (@justinpark)
- [#26066](https://github.com/apache/superset/pull/26066) fix: move driver import to method (@giftig)
- [#25934](https://github.com/apache/superset/pull/25934) fix(tag): update state to clear form on success (@hughhhh)
- [#25941](https://github.com/apache/superset/pull/25941) fix(sqllab): Allow router navigation to explore (@justinpark)
- [#25875](https://github.com/apache/superset/pull/25875) fix(typo): replace 'datasouce_id' with 'datasource_id' in openapi.json (@nero5700)
- [#25856](https://github.com/apache/superset/pull/25856) fix(tagging): change key from name to id for tagToSelectOption (@lilykuang)
- [#25831](https://github.com/apache/superset/pull/25831) fix: add validation on tag name to have name + onDelete refresh list view (@hughhhh)
- [#25851](https://github.com/apache/superset/pull/25851) fix: databend png pic (@hantmac)
- [#25803](https://github.com/apache/superset/pull/25803) fix(helm): Fix init extra containers (@bluemalkin)
- [#25739](https://github.com/apache/superset/pull/25739) fix(README): mismatched picture tags (@andy-clapson)
- [#25727](https://github.com/apache/superset/pull/25727) fix(metadb): handle durations (@betodealmeida)
- [#25718](https://github.com/apache/superset/pull/25718) fix(driver): bumping DuckDB to 0.9.2 (@rusackas)
- [#25603](https://github.com/apache/superset/pull/25603) fix(tags): +n tags for listview (@hughhhh)
- [#25578](https://github.com/apache/superset/pull/25578) fix(tags): Polish + Better messaging for skipped tags with bad permissions (@hughhhh)
- [#25582](https://github.com/apache/superset/pull/25582) fix(sqllab): Allow opening of SQL Lab in new browser tab (@justinpark)
- [#25615](https://github.com/apache/superset/pull/25615) fix(test-db): engine params (@betodealmeida)
- [#25532](https://github.com/apache/superset/pull/25532) fix: Breaking change in MachineAuthProvider constructor (@kgabryje)
- [#25547](https://github.com/apache/superset/pull/25547) fix: Make `host.docker.internal` available on linux (@sebastianliebscher)
- [#25536](https://github.com/apache/superset/pull/25536) fix: Tags Page ListView size to 10 (@hughhhh)
- [#25525](https://github.com/apache/superset/pull/25525) fix(test-db): removed attribute (@betodealmeida)
- [#25473](https://github.com/apache/superset/pull/25473) fix(tags): Update loading + pagination for Tags Page (@hughhhh)
- [#25470](https://github.com/apache/superset/pull/25470) fix(tags): fix clears delete on Tags Modal (@hughhhh)
- [#25496](https://github.com/apache/superset/pull/25496) fix: Tags Polish II (@hughhhh)
- [#24927](https://github.com/apache/superset/pull/24927) fix(Indian Map Changes): fixed-Indian-map-border (@Yaswanth-Perumalla)
- [#25403](https://github.com/apache/superset/pull/25403) fix: Tags Page Polish (@hughhhh)
- [#25306](https://github.com/apache/superset/pull/25306) fix(sqllab): misplaced limit warning alert (@justinpark)
- [#25361](https://github.com/apache/superset/pull/25361) fix: update helm chart app version (@hugosjoberg)
- [#25308](https://github.com/apache/superset/pull/25308) fix(sqllab): invalid persisted tab state (@justinpark)
- [#25216](https://github.com/apache/superset/pull/25216) fix(docs): Fixing a typo in README.md (@yousoph)
- [#25152](https://github.com/apache/superset/pull/25152) fix(sqllab): invalid reducer key name (@justinpark)
- [#25124](https://github.com/apache/superset/pull/25124) fix: Partially reverts #25007 (@michael-s-molina)
- [#25067](https://github.com/apache/superset/pull/25067) fix: small fixes for the meta DB (@betodealmeida)
- [#24963](https://github.com/apache/superset/pull/24963) fix(gsheets): add column names on file upload (@betodealmeida)
- [#24955](https://github.com/apache/superset/pull/24955) fix: timezone issue in Pandas 2 (@betodealmeida)
- [#24952](https://github.com/apache/superset/pull/24952) fix: `to_datetime` in Pandas 2 (@betodealmeida)
- [#24871](https://github.com/apache/superset/pull/24871) fix: Ignores hot update files when generating the manifest (@michael-s-molina)
- [#24868](https://github.com/apache/superset/pull/24868) fix: Ignores ResizeObserver errors in development mode (@michael-s-molina)
**Others**
- [#25770](https://github.com/apache/superset/pull/25770) chore: Add example charts for deck.gl (@willie-hung)
- [#26317](https://github.com/apache/superset/pull/26317) chore: Adds a tooltip for the alert's SQL input (@michael-s-molina)
- [#26297](https://github.com/apache/superset/pull/26297) chore: Add downloadAsImage types, change filter selector (@kgabryje)
- [#26315](https://github.com/apache/superset/pull/26315) chore: Use WEBDRIVER_OPTION_ARGS with Playwright (@kgabryje)
- [#26310](https://github.com/apache/superset/pull/26310) chore: Disables minor ticks by default (@michael-s-molina)
- [#26287](https://github.com/apache/superset/pull/26287) chore: update changelog for 2.1.3 (@eschutho)
- [#26251](https://github.com/apache/superset/pull/26251) chore: improve CSP add base uri restriction (@dpgaspar)
- [#26082](https://github.com/apache/superset/pull/26082) chore: lock the databend-sqlalchemy version (@hantmac)
- [#26212](https://github.com/apache/superset/pull/26212) chore: Moves xAxisLabelRotation to shared controls (@michael-s-molina)
- [#26188](https://github.com/apache/superset/pull/26188) chore: Lower giveup log level for retried functions to warning (@jfrag1)
- [#25961](https://github.com/apache/superset/pull/25961) chore: harmonize and clean up list views (@villebro)
- [#26147](https://github.com/apache/superset/pull/26147) chore: Rename SET_ACTIVE_TABS action, add a new action (@kgabryje)
- [#25996](https://github.com/apache/superset/pull/25996) chore(tags): Allow for lookup via ids vs. name in the API (@hughhhh)
- [#26058](https://github.com/apache/superset/pull/26058) chore: Adds the 3.1.0 Release Notes (@michael-s-molina)
- [#26000](https://github.com/apache/superset/pull/26000) docs(databases): Update pinot.mdx to incorporate username and password based connection. (@raamri)
- [#26075](https://github.com/apache/superset/pull/26075) chore: Adds 3.0.2 data to CHANGELOG.md (@michael-s-molina)
- [#25850](https://github.com/apache/superset/pull/25850) chore(command): Organize Commands according to SIP-92 (@john-bodley)
- [#26073](https://github.com/apache/superset/pull/26073) chore: Updates Announce template to include CHANGELOG.md and UPDATING.md files (@michael-s-molina)
- [#26064](https://github.com/apache/superset/pull/26064) build(deps-dev): bump @types/node from 20.9.3 to 20.9.4 in /superset-websocket (@dependabot[bot])
- [#26063](https://github.com/apache/superset/pull/26063) build(deps): bump @types/lodash from 4.14.201 to 4.14.202 in /superset-websocket (@dependabot[bot])
- [#25844](https://github.com/apache/superset/pull/25844) chore: Allow only iterables for BaseDAO.delete() (@john-bodley)
- [#25917](https://github.com/apache/superset/pull/25917) docs: update security policy and contributing (@dpgaspar)
- [#24773](https://github.com/apache/superset/pull/24773) chore(connector): Cleanup base models and views according to SIP-92 (@john-bodley)
- [#26039](https://github.com/apache/superset/pull/26039) docs(intro): fix a single broken link (BugHerd #97) (@sfirke)
- [#26049](https://github.com/apache/superset/pull/26049) build(deps-dev): bump @types/node from 20.9.1 to 20.9.3 in /superset-websocket (@dependabot[bot])
- [#26048](https://github.com/apache/superset/pull/26048) build(deps-dev): bump @types/ws from 8.5.9 to 8.5.10 in /superset-websocket (@dependabot[bot])
- [#26043](https://github.com/apache/superset/pull/26043) chore: bump shillelagh (@betodealmeida)
- [#26004](https://github.com/apache/superset/pull/26004) chore: Allow external extensions to include their own package.json files (@kgabryje)
- [#26044](https://github.com/apache/superset/pull/26044) docs(BH#109): Athena URI spec fix (@rusackas)
- [#26025](https://github.com/apache/superset/pull/26025) build(deps-dev): bump eslint from 8.53.0 to 8.54.0 in /superset-websocket (@dependabot[bot])
- [#26013](https://github.com/apache/superset/pull/26013) chore: cleanup unused code in pandas 2.0+ (@gnought)
- [#26012](https://github.com/apache/superset/pull/26012) build(deps-dev): bump @types/node from 20.9.0 to 20.9.1 in /superset-websocket (@dependabot[bot])
- [#26009](https://github.com/apache/superset/pull/26009) chore: Remove unnecessary autoflush from tagging and key/value workflows (@john-bodley)
- [#25551](https://github.com/apache/superset/pull/25551) docs: handling "System limit for number of file watchers reached" error (@nitish-samsung-jha)
- [#25986](https://github.com/apache/superset/pull/25986) chore: Remove more redundant code in utils/core (@sebastianliebscher)
- [#24485](https://github.com/apache/superset/pull/24485) style: Transition of Navbar from dark to light and vice-versa is now smooth (@git-init-priyanshu)
- [#25059](https://github.com/apache/superset/pull/25059) docs: add Tentacle to users list (@jdclarke5)
- [#25968](https://github.com/apache/superset/pull/25968) chore: Add entry point for SliceHeader frontend extension (@kgabryje)
- [#25891](https://github.com/apache/superset/pull/25891) chore: support different JWT CSRF cookie names (@dpgaspar)
- [#25953](https://github.com/apache/superset/pull/25953) build(deps-dev): bump axios from 0.25.0 to 1.6.0 in /superset-embedded-sdk (@dependabot[bot])
- [#25927](https://github.com/apache/superset/pull/25927) build(deps-dev): bump @types/jsonwebtoken from 9.0.4 to 9.0.5 in /superset-websocket (@dependabot[bot])
- [#25929](https://github.com/apache/superset/pull/25929) build(deps-dev): bump @types/uuid from 9.0.6 to 9.0.7 in /superset-websocket (@dependabot[bot])
- [#25958](https://github.com/apache/superset/pull/25958) test: Reduce flaky integration tests triggered by `test_get_tag` (@sebastianliebscher)
- [#25948](https://github.com/apache/superset/pull/25948) chore: Simplify views/base (@sebastianliebscher)
- [#25951](https://github.com/apache/superset/pull/25951) build(deps): bump axios from 1.4.0 to 1.6.1 in /superset-frontend (@dependabot[bot])
- [#25881](https://github.com/apache/superset/pull/25881) chore(issue template): attempting to fix two entries/links (@rusackas)
- [#25926](https://github.com/apache/superset/pull/25926) chore: removing unused chartMetadata field (@rusackas)
- [#25928](https://github.com/apache/superset/pull/25928) build(deps-dev): bump @types/node from 20.8.10 to 20.9.0 in /superset-websocket (@dependabot[bot])
- [#25885](https://github.com/apache/superset/pull/25885) docs: Remove Python 3.8 from CONTRIBUTING.md (@koushik-rout-samsung)
- [#25900](https://github.com/apache/superset/pull/25900) chore: Simplify utils/cache by using default argument values (@sebastianliebscher)
- [#25912](https://github.com/apache/superset/pull/25912) chore: remove unused functions in utils/core (@sebastianliebscher)
- [#25907](https://github.com/apache/superset/pull/25907) build(deps): bump @types/lodash from 4.14.200 to 4.14.201 in /superset-websocket (@dependabot[bot])
- [#25906](https://github.com/apache/superset/pull/25906) build(deps-dev): bump @types/ws from 8.5.7 to 8.5.9 in /superset-websocket (@dependabot[bot])
- [#25905](https://github.com/apache/superset/pull/25905) build(deps-dev): bump @types/cookie from 0.5.3 to 0.5.4 in /superset-websocket (@dependabot[bot])
- [#25262](https://github.com/apache/superset/pull/25262) chore: add more migration tests (@eschutho)
- [#25886](https://github.com/apache/superset/pull/25886) build(deps): bump cookie from 0.5.0 to 0.6.0 in /superset-websocket (@dependabot[bot])
- [#25714](https://github.com/apache/superset/pull/25714) chore: Update INTHEWILD.md (@codek)
- [#25867](https://github.com/apache/superset/pull/25867) build(deps-dev): bump eslint from 8.52.0 to 8.53.0 in /superset-websocket (@dependabot[bot])
- [#25852](https://github.com/apache/superset/pull/25852) chore: Updates Databend image extension reference in README.md (@michael-s-molina)
- [#25531](https://github.com/apache/superset/pull/25531) docs: Update location of `async_query_manager.py` (@emmanuel-ferdman)
- [#25817](https://github.com/apache/superset/pull/25817) chore(docker-compose): more host network specifiers (@giftig)
- [#25812](https://github.com/apache/superset/pull/25812) chore: Removes border of the color picker control (@michael-s-molina)
- [#25826](https://github.com/apache/superset/pull/25826) chore(websocket): Adding support for redis username in websocket server (@craig-rueda)
- [#25822](https://github.com/apache/superset/pull/25822) chore: Update sip.md to have a better call to action (@rusackas)
- [#25823](https://github.com/apache/superset/pull/25823) chore(issues): config.yaml added with feature request link to open a discussion (@rusackas)
- [#25816](https://github.com/apache/superset/pull/25816) build(deps-dev): bump @types/node from 20.8.7 to 20.8.10 in /superset-websocket (@dependabot[bot])
- [#25530](https://github.com/apache/superset/pull/25530) docs: Add Cyberhaven to Users list (@ghost)
- [#25314](https://github.com/apache/superset/pull/25314) chore(celery): Cleanup config and async query specifications (@john-bodley)
- [#25778](https://github.com/apache/superset/pull/25778) build(deps): bump browserify-sign from 4.2.1 to 4.2.2 in /superset-frontend (@dependabot[bot])
- [#24046](https://github.com/apache/superset/pull/24046) chore(security): Make get_database_perm/get_dataset_perm return optional (@john-bodley)
- [#25765](https://github.com/apache/superset/pull/25765) chore: Add config options for Playwright wait_until and default timeout (@kgabryje)
- [#25721](https://github.com/apache/superset/pull/25721) style(readme): reformatted (@bipinct)
- [#25737](https://github.com/apache/superset/pull/25737) chore: bump pymssql version (@gnought)
- [#25521](https://github.com/apache/superset/pull/25521) chore(websocket): [WIP] Making JWT algos configurable (@craig-rueda)
- [#25735](https://github.com/apache/superset/pull/25735) build(deps-dev): bump eslint from 8.51.0 to 8.52.0 in /superset-websocket (@dependabot[bot])
- [#25726](https://github.com/apache/superset/pull/25726) chore: updated base DAO find_by_id to return generic type (@zephyring)
- [#25717](https://github.com/apache/superset/pull/25717) refactor: use DATE_TRUNC for Elasticsearch time grain (@mikelv92)
- [#25709](https://github.com/apache/superset/pull/25709) chore: helm chart: bump appVersion to 3.0.1 (@mdavidsen)
- [#25577](https://github.com/apache/superset/pull/25577) chore: Change the format for sha512 sum for releases (@sebastianliebscher)
- [#25689](https://github.com/apache/superset/pull/25689) build(deps-dev): bump @types/cookie from 0.5.1 to 0.5.3 in /superset-websocket (@dependabot[bot])
- [#25701](https://github.com/apache/superset/pull/25701) build(deps-dev): bump @types/uuid from 9.0.4 to 9.0.6 in /superset-websocket (@dependabot[bot])
- [#25710](https://github.com/apache/superset/pull/25710) docs(README): Fix typo (@RahulK4102)
- [#25700](https://github.com/apache/superset/pull/25700) build(deps-dev): bump @types/node from 20.8.6 to 20.8.7 in /superset-websocket (@dependabot[bot])
- [#25322](https://github.com/apache/superset/pull/25322) chore: add latest docker tag (@eschutho)
- [#25691](https://github.com/apache/superset/pull/25691) chore: Adds 3.0.1 data to CHANGELOG.md (@michael-s-molina)
- [#25688](https://github.com/apache/superset/pull/25688) build(deps-dev): bump @types/jsonwebtoken from 9.0.3 to 9.0.4 in /superset-websocket (@dependabot[bot])
- [#25543](https://github.com/apache/superset/pull/25543) chore: Cleanup hostNamesConfig.js (@john-bodley)
- [#25654](https://github.com/apache/superset/pull/25654) docs: make project-specific security page more prominent (@raboof)
- [#25667](https://github.com/apache/superset/pull/25667) chore: sync lock files (@villebro)
- [#25661](https://github.com/apache/superset/pull/25661) build(deps-dev): bump @babel/traverse from 7.16.0 to 7.23.2 in /superset-websocket (@dependabot[bot])
- [#25653](https://github.com/apache/superset/pull/25653) build(deps-dev): bump @types/node from 20.8.5 to 20.8.6 in /superset-websocket (@dependabot[bot])
- [#25645](https://github.com/apache/superset/pull/25645) chore: bump pip-tools (@villebro)
- [#25537](https://github.com/apache/superset/pull/25537) docs: invert logo color for dark theme in README (@Sea-n)
- [#25629](https://github.com/apache/superset/pull/25629) chore: adding resource links to readme (@rusackas)
- [#25638](https://github.com/apache/superset/pull/25638) build(ci): Provide diff for pre-commit failures (@jsoref)
- [#25632](https://github.com/apache/superset/pull/25632) build(deps-dev): bump @types/node from 20.8.4 to 20.8.5 in /superset-websocket (@dependabot[bot])
- [#25455](https://github.com/apache/superset/pull/25455) chore(helm): spelling: initialize (@jsoref)
- [#25567](https://github.com/apache/superset/pull/25567) docs: BugHerd Tasks 88, 89, 90, 91 (@mdeshmu)
- [#25602](https://github.com/apache/superset/pull/25602) chore(feature?): Bump `scarf-js` to 1.3.0 to get more telemetry data (@rusackas)
- [#25502](https://github.com/apache/superset/pull/25502) build(deps): bump postcss from 8.3.11 to 8.4.31 in /docs (@dependabot[bot])
- [#19056](https://github.com/apache/superset/pull/19056) docs: Add timezone information (@john-bodley)
- [#25340](https://github.com/apache/superset/pull/25340) refactor: Issue #25040; Refactored sync_role_definition function in order to reduce number of query. (@suicide11)
- [#25606](https://github.com/apache/superset/pull/25606) build(deps-dev): bump @types/ws from 8.5.6 to 8.5.7 in /superset-websocket (@dependabot[bot])
- [#25585](https://github.com/apache/superset/pull/25585) build(deps): bump winston from 3.10.0 to 3.11.0 in /superset-websocket (@dependabot[bot])
- [#25584](https://github.com/apache/superset/pull/25584) build(deps-dev): bump @types/node from 20.8.2 to 20.8.4 in /superset-websocket (@dependabot[bot])
- [#25566](https://github.com/apache/superset/pull/25566) chore: Update pylint to 2.17.7 (@EugeneTorap)
- [#25574](https://github.com/apache/superset/pull/25574) build(deps-dev): bump eslint from 8.49.0 to 8.51.0 in /superset-websocket (@dependabot[bot])
- [#25228](https://github.com/apache/superset/pull/25228) chore(sqllab): Typescript for SqlEditor component (@justinpark)
- [#25507](https://github.com/apache/superset/pull/25507) chore(tags): don't allow users to create new tags from property dropdowns (@hughhhh)
- [#25504](https://github.com/apache/superset/pull/25504) chore(tags): move tags column in dashboard and chart list (@lilykuang)
- [#24481](https://github.com/apache/superset/pull/24481) docs: fix for domain sharding results in failed requests with "Missing Authorization Header" (@ved-kashyap-samsung)
- [#25508](https://github.com/apache/superset/pull/25508) build(deps): bump ws and @types/ws in /superset-websocket (@dependabot[bot])
- [#25498](https://github.com/apache/superset/pull/25498) build(deps-dev): bump @types/node from 20.6.0 to 20.8.2 in /superset-websocket (@dependabot[bot])
- [#25480](https://github.com/apache/superset/pull/25480) docs: define localhost for docker (@mdeshmu)
- [#25479](https://github.com/apache/superset/pull/25479) docs: update docker compose instructions (@mdeshmu)
- [#25482](https://github.com/apache/superset/pull/25482) docs: add a FAQ about asset recovery from UI (@mdeshmu)
- [#25477](https://github.com/apache/superset/pull/25477) docs: add https & ldap instructions (@mdeshmu)
- [#25466](https://github.com/apache/superset/pull/25466) chore(async): Initial Refactoring of Global Async Queries (@craig-rueda)
- [#25120](https://github.com/apache/superset/pull/25120) build(deps-dev): bump prettier from 3.0.2 to 3.0.3 in /superset-websocket (@dependabot[bot])
- [#25325](https://github.com/apache/superset/pull/25325) build(deps-dev): bump @types/jsonwebtoken from 9.0.2 to 9.0.3 in /superset-websocket (@dependabot[bot])
- [#25435](https://github.com/apache/superset/pull/25435) docs(FAQ): remove reference to filter box, add Q&A re: usage analytics (@sfirke)
- [#25438](https://github.com/apache/superset/pull/25438) chore: Update Explore tooltip copy (@yousoph)
- [#25465](https://github.com/apache/superset/pull/25465) chore(misc): Typos in config.py (@JZ6)
- [#25457](https://github.com/apache/superset/pull/25457) chore(backend): Spelling (@jsoref)
- [#25456](https://github.com/apache/superset/pull/25456) chore(misc): Spelling (@jsoref)
- [#25453](https://github.com/apache/superset/pull/25453) chore(docs): Spelling (@jsoref)
- [#25441](https://github.com/apache/superset/pull/25441) build(deps): bump get-func-name from 2.0.0 to 2.0.2 in /superset-frontend/cypress-base (@dependabot[bot])
- [#25276](https://github.com/apache/superset/pull/25276) chore: cryptography version bump (@lilykuang)
- [#25332](https://github.com/apache/superset/pull/25332) docs: update docker-compose (@nytai)
- [#25362](https://github.com/apache/superset/pull/25362) chore: upgrade node to most recent 16.x (@villebro)
- [#25360](https://github.com/apache/superset/pull/25360) chore: Adds 3.0 data to CHANGELOG and UPDATING (@michael-s-molina)
- [#25346](https://github.com/apache/superset/pull/25346) chore(async): Making create app configurable (@craig-rueda)
- [#24928](https://github.com/apache/superset/pull/24928) docs: jwks_uri addition to OAUTH provider (@kravi21)
- [#25312](https://github.com/apache/superset/pull/25312) docs: add snowflake-sqlalchemy in ./docker/requirements-local.txt (@janhavitripurwar)
- [#25324](https://github.com/apache/superset/pull/25324) docs: add ReadyTech to INTHEWILD.md (@jbat)
- [#25313](https://github.com/apache/superset/pull/25313) chore: bump gunicorn to v21 (@villebro)
- [#25311](https://github.com/apache/superset/pull/25311) build(deps-dev): bump @types/uuid from 9.0.3 to 9.0.4 in /superset-websocket (@dependabot[bot])
- [#25274](https://github.com/apache/superset/pull/25274) chore(sqllab): Migrate tests to typescript (@justinpark)
- [#25291](https://github.com/apache/superset/pull/25291) chore: changing one word (disablement -> disabling) (@rusackas)
- [#25287](https://github.com/apache/superset/pull/25287) build(docker): bump geckodriver and firefox to latest (@alekseyolg)
- [#25293](https://github.com/apache/superset/pull/25293) build(deps): bump ws from 8.13.0 to 8.14.1 in /superset-websocket (@dependabot[bot])
- [#25296](https://github.com/apache/superset/pull/25296) docs: rewrite superset docker localhost prose (@jsoref)
- [#25279](https://github.com/apache/superset/pull/25279) build(deps): bump uuid from 9.0.0 to 9.0.1 in /superset-websocket (@dependabot[bot])
- [#25263](https://github.com/apache/superset/pull/25263) build(deps-dev): bump eslint from 8.48.0 to 8.49.0 in /superset-websocket (@dependabot[bot])
- [#25253](https://github.com/apache/superset/pull/25253) build(deps-dev): bump @types/node from 20.5.7 to 20.6.0 in /superset-websocket (@dependabot[bot])
- [#20631](https://github.com/apache/superset/pull/20631) refactor: Remove obsolete HiveEngineSpec.fetch_logs method (@john-bodley)
- [#25226](https://github.com/apache/superset/pull/25226) chore(read_csv): remove deprecated argument (@betodealmeida)
- [#25177](https://github.com/apache/superset/pull/25177) chore: Convert deckgl class components to functional (@kgabryje)
- [#24992](https://github.com/apache/superset/pull/24992) docs(FAQ): add answer re: necessary specs, copy-edit existing answer (@sfirke)
- [#25165](https://github.com/apache/superset/pull/25165) chore: back port 2.1.1 doc changes (@eschutho)
- [#25206](https://github.com/apache/superset/pull/25206) docs: add CVEs for 2.1.1 (@dpgaspar)
- [#25200](https://github.com/apache/superset/pull/25200) docs: fix wrong type in PREFERRED_DATABASES example (@cmontemuino)
- [#25160](https://github.com/apache/superset/pull/25160) chore: fix broken link to Celery worker docs (@wAVeckx)
- [#25142](https://github.com/apache/superset/pull/25142) build(deps-dev): bump @types/uuid from 9.0.2 to 9.0.3 in /superset-websocket (@dependabot[bot])
- [#25141](https://github.com/apache/superset/pull/25141) build(deps): bump jsonwebtoken from 9.0.1 to 9.0.2 in /superset-websocket (@dependabot[bot])
- [#25140](https://github.com/apache/superset/pull/25140) build(deps): bump jsonwebtoken from 9.0.1 to 9.0.2 in /superset-websocket/utils/client-ws-app (@dependabot[bot])
- [#25088](https://github.com/apache/superset/pull/25088) chore: consolidate sqllab store into SPA store (@justinpark)
- [#25121](https://github.com/apache/superset/pull/25121) chore: move TypedDict from typing_extensions to typing (@sebastianliebscher)
- [#24896](https://github.com/apache/superset/pull/24896) chore: use contextlib.surpress instead of passing on error (@sebastianliebscher)
- [#25098](https://github.com/apache/superset/pull/25098) build(deps-dev): bump eslint from 8.47.0 to 8.48.0 in /superset-websocket (@dependabot[bot])
- [#25097](https://github.com/apache/superset/pull/25097) build(deps-dev): bump @types/node from 20.5.6 to 20.5.7 in /superset-websocket (@dependabot[bot])
- [#24933](https://github.com/apache/superset/pull/24933) chore: Refactor deck.gl plugins to Typescript (@kgabryje)
- [#24980](https://github.com/apache/superset/pull/24980) chore: Update docs for docker-compose installation (@hughhhh)
- [#24771](https://github.com/apache/superset/pull/24771) docs(docker-compose): add missing parenthesis (@sfirke)
- [#25082](https://github.com/apache/superset/pull/25082) build(deps-dev): bump @types/node from 20.5.1 to 20.5.6 in /superset-websocket (@dependabot[bot])
- [#25080](https://github.com/apache/superset/pull/25080) chore(reports): add metrics to report schedule and log prune (@villebro)
- [#25047](https://github.com/apache/superset/pull/25047) chore(sqllab): typescript for getInitialState (@justinpark)
- [#25030](https://github.com/apache/superset/pull/25030) build(deps): Bump PyHive (@mdeshmu)
- [#24872](https://github.com/apache/superset/pull/24872) test(cypress): Fail Cypress on Console errors (@rusackas)
- [#25046](https://github.com/apache/superset/pull/25046) chore: Organizes the files of the ReportModal feature (@michael-s-molina)
- [#25045](https://github.com/apache/superset/pull/25045) chore(tests): Adding missing **init**.py files to various test packages (@craig-rueda)
- [#25038](https://github.com/apache/superset/pull/25038) build(deps-dev): bump @types/node from 20.5.0 to 20.5.1 in /superset-websocket (@dependabot[bot])
- [#25010](https://github.com/apache/superset/pull/25010) chore(sqllab): Relocate user in SqlLab to root (@justinpark)
- [#25034](https://github.com/apache/superset/pull/25034) docs: fix line break in Apache Druid page (@giuliotal)
- [#24994](https://github.com/apache/superset/pull/24994) chore: rename `get_iterable` (@betodealmeida)
- [#25007](https://github.com/apache/superset/pull/25007) chore: Removes Saved Query old code (@michael-s-molina)
- [#24894](https://github.com/apache/superset/pull/24894) chore: Update DAOs to use singular deletion method instead of bulk (@jfrag1)
- [#25005](https://github.com/apache/superset/pull/25005) chore: Removes src/modules top folder (@michael-s-molina)
- [#24998](https://github.com/apache/superset/pull/24998) build(deps-dev): bump prettier from 3.0.1 to 3.0.2 in /superset-websocket (@dependabot[bot])
- [#24941](https://github.com/apache/superset/pull/24941) chore(dashboard import/export): include additional fields to export/import commands (@Vitor-Avila)
- [#24967](https://github.com/apache/superset/pull/24967) chore(dao): Remove redundant convenience methods (@john-bodley)
- [#24973](https://github.com/apache/superset/pull/24973) build(deps-dev): bump @types/node from 20.4.9 to 20.5.0 in /superset-websocket (@dependabot[bot])
- [#24972](https://github.com/apache/superset/pull/24972) build(deps-dev): bump eslint from 8.46.0 to 8.47.0 in /superset-websocket (@dependabot[bot])
- [#24936](https://github.com/apache/superset/pull/24936) chore(sqllab): Relocate get bootstrap data logic (@justinpark)
- [#24467](https://github.com/apache/superset/pull/24467) chore(dao): Replace save/overwrite with create/update respectively (@john-bodley)
- [#24962](https://github.com/apache/superset/pull/24962) docs: Add wattbewerb to users list (@hbruch)
- [#24961](https://github.com/apache/superset/pull/24961) chore: Add Automattic to the list of users and contributors (@Khrol)
- [#24958](https://github.com/apache/superset/pull/24958) build(deps): bump tough-cookie and @cypress/request in /superset-frontend/cypress-base (@dependabot[bot])
- [#24920](https://github.com/apache/superset/pull/24920) docs: Fixing Superset typo in docker-compose local installation guide (@TannerBarcelos)
- [#24924](https://github.com/apache/superset/pull/24924) build(deps-dev): bump @types/node from 20.4.8 to 20.4.9 in /superset-websocket (@dependabot[bot])
- [#24915](https://github.com/apache/superset/pull/24915) docs: fix tip box in "Installing From Scratch" page (@giuliotal)
- [#24878](https://github.com/apache/superset/pull/24878) build(deps-dev): bump prettier from 2.8.8 to 3.0.1 in /superset-websocket (@dependabot[bot])
- [#24900](https://github.com/apache/superset/pull/24900) build(deps-dev): bump eslint-config-prettier from 8.10.0 to 9.0.0 in /superset-websocket (@dependabot[bot])
- [#24901](https://github.com/apache/superset/pull/24901) build(deps-dev): bump @types/node from 20.4.7 to 20.4.8 in /superset-websocket (@dependabot[bot])
- [#24888](https://github.com/apache/superset/pull/24888) build(deps-dev): bump @types/node from 20.4.6 to 20.4.7 in /superset-websocket (@dependabot[bot])
- [#24880](https://github.com/apache/superset/pull/24880) build(deps-dev): bump @types/node from 20.4.5 to 20.4.6 in /superset-websocket (@dependabot[bot])
- [#24879](https://github.com/apache/superset/pull/24879) build(deps-dev): bump eslint-config-prettier from 8.8.0 to 8.10.0 in /superset-websocket (@dependabot[bot])
- [#24873](https://github.com/apache/superset/pull/24873) docs(native-filters): Remove outdated statement (@john-bodley)
- [#24657](https://github.com/apache/superset/pull/24657) chore: Bump cryptography (@suryadev99)
- [#24842](https://github.com/apache/superset/pull/24842) build(deps-dev): bump eslint from 8.45.0 to 8.46.0 in /superset-websocket (@dependabot[bot])
- [#24838](https://github.com/apache/superset/pull/24838) chore(api): clean up API spec (@sebastianliebscher)
- [#24834](https://github.com/apache/superset/pull/24834) docs(Kubernetes): Fix typos, clarify language re: Scarf (@sfirke)
- [#24819](https://github.com/apache/superset/pull/24819) chore: remove get_columns_description duplication (@betodealmeida)
- [#24817](https://github.com/apache/superset/pull/24817) docs: Adding a couple links to contributing page (@rusackas)
- [#24820](https://github.com/apache/superset/pull/24820) docs: fixing stack overflow link (@rusackas)
- [#24809](https://github.com/apache/superset/pull/24809) build(deps-dev): bump @types/node from 20.4.4 to 20.4.5 in /superset-websocket (@dependabot[bot])
- [#19959](https://github.com/apache/superset/pull/19959) docs(K8s): Add instructions for loading the examples (@charris-msft)
- [#24147](https://github.com/apache/superset/pull/24147) chore: bump postgresql in docker-compose and github workflows (@sebastianliebscher)
- [#24779](https://github.com/apache/superset/pull/24779) build(deps-dev): bump @types/node from 20.4.2 to 20.4.4 in /superset-websocket (@dependabot[bot])
- [#24751](https://github.com/apache/superset/pull/24751) docs: update AWS Athena and Redshift docs (@mdeshmu)
- [#24461](https://github.com/apache/superset/pull/24461) docs(docker-compose): note the risk of running a Docker Postgres volume in production (@sfirke)
- [#24705](https://github.com/apache/superset/pull/24705) chore(deps): bump pandas >=2.0 (@sebastianliebscher)
- [#24732](https://github.com/apache/superset/pull/24732) build(deps-dev): bump word-wrap from 1.2.3 to 1.2.4 in /superset-websocket (@dependabot[bot])
- [#24715](https://github.com/apache/superset/pull/24715) chore: update deprecated arguments in schema (@sebastianliebscher)
- [#24733](https://github.com/apache/superset/pull/24733) build(deps): bump word-wrap from 1.2.3 to 1.2.4 in /superset-frontend/cypress-base (@dependabot[bot])
- [#24735](https://github.com/apache/superset/pull/24735) build(deps-dev): bump word-wrap from 1.2.3 to 1.2.4 in /superset-frontend (@dependabot[bot])
- [#24734](https://github.com/apache/superset/pull/24734) build(deps-dev): bump word-wrap from 1.2.3 to 1.2.4 in /superset-embedded-sdk (@dependabot[bot])
- [#24712](https://github.com/apache/superset/pull/24712) build(deps-dev): bump eslint from 8.44.0 to 8.45.0 in /superset-websocket (@dependabot[bot])
- [#24669](https://github.com/apache/superset/pull/24669) chore: remove obsolete fetchExploreJson function (@john-bodley)
- [#24682](https://github.com/apache/superset/pull/24682) build(deps-dev): bump @types/node from 20.4.1 to 20.4.2 in /superset-websocket (@dependabot[bot])
- [#24674](https://github.com/apache/superset/pull/24674) docs: Fix typo in Rockset docs (@gadhagod)
- [#24672](https://github.com/apache/superset/pull/24672) build(deps-dev): bump @types/node from 20.4.0 to 20.4.1 in /superset-websocket (@dependabot[bot])
- [#24673](https://github.com/apache/superset/pull/24673) build(deps-dev): bump @typescript-eslint/parser from 5.61.0 to 5.62.0 in /superset-websocket (@dependabot[bot])
- [#24649](https://github.com/apache/superset/pull/24649) chore: Update Rockset—switching out rockset for rockset-sqlalchemy (@gadhagod)
- [#24653](https://github.com/apache/superset/pull/24653) build(deps): bump semver from 5.7.1 to 5.7.2 in /superset-frontend (@dependabot[bot])
- [#24654](https://github.com/apache/superset/pull/24654) build(deps): bump semver from 6.3.0 to 6.3.1 in /superset-websocket (@dependabot[bot])
- [#24655](https://github.com/apache/superset/pull/24655) build(deps): bump semver from 6.3.0 to 6.3.1 in /superset-frontend/cypress-base (@dependabot[bot])
- [#24656](https://github.com/apache/superset/pull/24656) build(deps): bump trim and @superset-ui/core in /superset-frontend/cypress-base (@dependabot[bot])
- [#24659](https://github.com/apache/superset/pull/24659) build(deps): bump winston from 3.9.0 to 3.10.0 in /superset-websocket (@dependabot[bot])
- [#24626](https://github.com/apache/superset/pull/24626) chore: Re-enable some GitHub action workflows in draft mode (@john-bodley)
- [#24633](https://github.com/apache/superset/pull/24633) docs(databases): correct the way of using use environment variables (@duyet)
- [#24648](https://github.com/apache/superset/pull/24648) chore: update UI dev libs and fix warnings & vulnerabilities (@EugeneTorap)
- [#24651](https://github.com/apache/superset/pull/24651) build(deps): bump semver from 5.7.1 to 5.7.2 in /docs (@dependabot[bot])
- [#24634](https://github.com/apache/superset/pull/24634) build(deps): bump tough-cookie from 4.0.0 to 4.1.3 in /superset-embedded-sdk (@dependabot[bot])
- [#24614](https://github.com/apache/superset/pull/24614) build(deps): bump jsonwebtoken from 9.0.0 to 9.0.1 in /superset-websocket (@dependabot[bot])
- [#23987](https://github.com/apache/superset/pull/23987) docs(frontend): Fixed typo in command (@ved-kashyap-samsung)
- [#23992](https://github.com/apache/superset/pull/23992) docs: correct databricks pip package name (@devonkinghorn)
- [#24632](https://github.com/apache/superset/pull/24632) build(deps): bump tough-cookie from 4.0.0 to 4.1.3 in /superset-websocket (@dependabot[bot])
- [#24585](https://github.com/apache/superset/pull/24585) build(deps-dev): bump @typescript-eslint/eslint-plugin from 5.60.1 to 5.61.0 in /superset-websocket (@dependabot[bot])
- [#24576](https://github.com/apache/superset/pull/24576) build(deps-dev): bump eslint from 8.43.0 to 8.44.0 in /superset-websocket (@dependabot[bot])
- [#24601](https://github.com/apache/superset/pull/24601) build(deps-dev): bump @types/node from 20.3.2 to 20.4.0 in /superset-websocket (@dependabot[bot])
- [#24584](https://github.com/apache/superset/pull/24584) build(deps-dev): bump @typescript-eslint/parser from 5.60.1 to 5.61.0 in /superset-websocket (@dependabot[bot])
- [#24600](https://github.com/apache/superset/pull/24600) build(deps): bump jsonwebtoken from 9.0.0 to 9.0.1 in /superset-websocket/utils/client-ws-app (@dependabot[bot])
- [#24570](https://github.com/apache/superset/pull/24570) docs(helm): reference the correct chart (@muniter)
- [#24564](https://github.com/apache/superset/pull/24564) docs: add notice not to use gevent worker with bigquery datasource (@okayhooni)
- [#24578](https://github.com/apache/superset/pull/24578) refactor: pkg_resources -> importlib.resources (@cwegener)
- [#24523](https://github.com/apache/superset/pull/24523) build(deps-dev): bump @typescript-eslint/eslint-plugin from 5.60.0 to 5.60.1 in /superset-websocket (@dependabot[bot])

View File

@@ -1,75 +0,0 @@
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
## Change Log
### 3.1.1 (Fri Feb 9 21:49:33 2024 +0100)
**Fixes**
- [#27066](https://github.com/apache/superset/pull/27066) fix: Drill by with GLOBAL_ASYNC_QUERIES (@kgabryje)
- [#27039](https://github.com/apache/superset/pull/27039) fix: bump FAB to 4.3.11 (@dpgaspar)
- [#26993](https://github.com/apache/superset/pull/26993) fix: chart import validation (@dpgaspar)
- [#27096](https://github.com/apache/superset/pull/27096) fix(big_number): white-space: nowrap to prevent wrapping (@mistercrunch)
- [#27073](https://github.com/apache/superset/pull/27073) fix(drill): no rows returned (@betodealmeida)
- [#27069](https://github.com/apache/superset/pull/27069) fix: Filters sidebar stretching dashboard height (@kgabryje)
- [#27068](https://github.com/apache/superset/pull/27068) fix: Exclude header controls from dashboard PDF export (@kgabryje)
- [#27041](https://github.com/apache/superset/pull/27041) fix(plugins): missing currency on small number format in table chart (@justinpark)
- [#27023](https://github.com/apache/superset/pull/27023) fix(explore): allow free-form d3 format on custom column formatting (@justinpark)
- [#27019](https://github.com/apache/superset/pull/27019) fix: safer error message in alerts (@betodealmeida)
- [#27015](https://github.com/apache/superset/pull/27015) fix(security manager): Users should not have access to all draft dashboards (@Vitor-Avila)
- [#26965](https://github.com/apache/superset/pull/26965) fix(tags): Improve support for tags with colons (@Vitor-Avila)
- [#26946](https://github.com/apache/superset/pull/26946) fix: column values with NaN (@betodealmeida)
- [#26964](https://github.com/apache/superset/pull/26964) fix(plugin-chart-table): Prevent misalignment of totals and headers when scrollbar is visible (@kgabryje)
- [#26332](https://github.com/apache/superset/pull/26332) fix(embedded+async queries): support async queries to work with embedded guest user (@zephyring)
- [#22849](https://github.com/apache/superset/pull/22849) fix(cache): remove unused webserver config & handle trailing slashes (@Usiel)
- [#26889](https://github.com/apache/superset/pull/26889) fix: Allow exporting saved queries without schema information (@sbernauer)
- [#26887](https://github.com/apache/superset/pull/26887) fix: dashboard import validation (@dpgaspar)
- [#26911](https://github.com/apache/superset/pull/26911) fix: handle CRLF endings causing sqlglot failure (@mapledan)
- [#26906](https://github.com/apache/superset/pull/26906) fix(pinot): typo in the name for epoch_ms_to_dttm (@ege-st)
- [#26817](https://github.com/apache/superset/pull/26817) fix: Bar charts horizontal margin adjustment error (@michael-s-molina)
- [#26749](https://github.com/apache/superset/pull/26749) fix: prevent guest user from modifying metrics (@betodealmeida)
- [#25923](https://github.com/apache/superset/pull/25923) fix(deck.gl Multiple Layer Chart): Add Contour and Heatmap Layer as options (@Mattc1221)
- [#26476](https://github.com/apache/superset/pull/26476) fix(sqlparse): improve table parsing (@betodealmeida)
- [#26922](https://github.com/apache/superset/pull/26922) fix(sqllab): autosync fail on migrated queryEditor (@justinpark)
- [#26814](https://github.com/apache/superset/pull/26814) fix(time-series table): Can't compare from the beginning of the time range (@michael-s-molina)
- [#26701](https://github.com/apache/superset/pull/26701) fix(tags): Filter system tags from the tags list (@Vitor-Avila)
- [#26807](https://github.com/apache/superset/pull/26807) fix: Row limit hardcoded (@michael-s-molina)
- [#26674](https://github.com/apache/superset/pull/26674) fix: helm chart comment on SECRET_KEY (@dpgaspar)
- [#26652](https://github.com/apache/superset/pull/26652) fix(import): only import FORMULA annotations (@mistercrunch)
- [#26314](https://github.com/apache/superset/pull/26314) fix(logging): Filter out undefined columns (@john-bodley)
- [#26461](https://github.com/apache/superset/pull/26461) fix(BigQuery): Support special characters in column/metric names used in ORDER BY (@Vitor-Avila)
- [#26744](https://github.com/apache/superset/pull/26744) fix(db2): Improving support for ibm db2 connections (@Vitor-Avila)
- [#26705](https://github.com/apache/superset/pull/26705) fix(legacy-charts): Show Time Grain control for legacy charts (@Vitor-Avila)
- [#26709](https://github.com/apache/superset/pull/26709) fix: do not use lodash/memoize (@rusackas)
- [#25550](https://github.com/apache/superset/pull/25550) fix: Catch ImportErrors for Google SDKs (@skion)
- [#26645](https://github.com/apache/superset/pull/26645) fix(translation): correct translation errors for Chinese(zh) (@Waterkin)
- [#26638](https://github.com/apache/superset/pull/26638) fix: Avoid 500 if end users write bad SQL (@Khrol)
- [#26644](https://github.com/apache/superset/pull/26644) fix: unnecessary logic on CI ephemeral (@dpgaspar)
- [#26625](https://github.com/apache/superset/pull/26625) fix: create virtual dataset validation (@dpgaspar)
- [#26634](https://github.com/apache/superset/pull/26634) fix: RLS modal styling (@geido)
- [#26469](https://github.com/apache/superset/pull/26469) fix(database): allow filtering by UUID (@betodealmeida)
- [#26412](https://github.com/apache/superset/pull/26412) fix(embedded): Hide dashboard fullscreen option for embedded context (@Vitor-Avila)
- [#26355](https://github.com/apache/superset/pull/26355) fix: Trino - handle table not found in SQLLab (@Khrol)
**Others**
- [#26716](https://github.com/apache/superset/pull/26716) build(deps): bump csstype from 2.6.9 to 3.1.3 in /superset-frontend (@dependabot[bot])
- [#26707](https://github.com/apache/superset/pull/26707) chore(helm): Upgrade default Superset version to 3.1.0 (@dnskr)
- [#26431](https://github.com/apache/superset/pull/26431) chore: bump prophet to 1.1.5 (@villebro)

Some files were not shown because too many files have changed in this diff Show More