1.2
Database Migrations
#14446 fix(native-filters): add migration to update metadata (@villebro)
#14234 feat: Adding limiting_factor column to Query model (@AAfghahi)
#14109 feat: Adding encrypted field factory (@craig-rueda)
#13828 feat(alert/report): chart as csv format attachment for email and slack (@lilykuang)
#13983 refactor(native-filters): update dataMask and ExtraFormData schema (@simcha90)
#14063 fix(country-map): update geojson and control layout (@ktmud)
#13980 fix: Issue 13956 (@john-bodley)
#13752 feat(alerts & reports): Easier to read execution logs (@jfrag1)
#13769 fix(dashboard): rename native filter configuration property (@villebro)
#13603 fix: default when adding tab_state.hide_left_bar (@betodealmeida)
#13493 fix: merge 67da9ef1ef9c and 1412ec1e5a7b migrations (@hughhhh)
#13288 fix(sqllab): per-tab hide left bar (@betodealmeida)
Features
#14590 feat(native-filters): add sort metric to select (@villebro)
#14519 feat(dremio): implement convert_dttm method (@villebro)
#14461 feat(native-filters): Auto apply changes in FiltersConfigModal (@simcha90)
#13521 feat: Logic added to limiting factor column in Query model (@AAfghahi)
#14357 feat: Add etag caching to dashboard APIs (@etr2460)
#14318 feat: Dynamic imports for the Icons component (@geido)
#14398 feat: Support env vars configuration for WebSocket server (@benjreinhart)
#14261 feat(native-filters): Show/Hide filter bar by metdata ff (@simcha90)
#14256 feat: Setup supersetText configuration to overwrite errors (@hughhhh)
#14346 feat(native-filters): add optional sort metric to select filter (@villebro)
#14375 feat(native-filters): add refresh button to default value picker (@villebro)
#14374 feat(native-filters): Use datasets in dashboard as default options for native filters (@kgabryje)
#14313 feat(native-filters): Implement adhoc filters and time picker in Range and Select native filters (@kgabryje)
#14363 feat: update default cron settings for new alerts and reports (@samtfm)
#14235 feat(alert/report): update content format radio buttons (@lilykuang)
#14340 feat(filter-box): sort by metric on backend (@villebro)
#14314 feat(native-filters): add option to create value in select filter (@villebro)
#14208 feat: add endpoint to fetch available DBs (@betodealmeida)
#14312 feat(native-filters): add tooltip to control values (@villebro)
#14267 feat: add alerts & reports to docker compose (@dpgaspar)
#14250 feat: catch errors on do_ping (@betodealmeida)
#14092 feat: restyle database modal (@eschutho)
#14217 feat(native-filters): select group by support (@amitmiran137)
#14204 feat: improve engine spec discoverability (@betodealmeida)
#14122 feat: TrinoEngineSpec.adjust_database_uri (@dungdm93)
#14172 feat: error messages for Presto connections (@betodealmeida)
#14171 feat: error messages when connecting to mssql (@AAfghahi)
#14163 feat: publish superset helm chart (@jawabuu)
#14197 feat(viz): add mixed timeseries and radar chart (@villebro)
#14187 feat(explore): Enable the new pivot table (@kgabryje)
#13561 feat: script to benchmark DB migrations (@betodealmeida)
#14110 feat: Add health endpoint to WebSocket server (@benjreinhart)
#14146 feat: invalid DB name error messages (MySQL/Postgres/Redshift) (@AAfghahi)
#14091 feat: FE: Import for Queries II (@lyndsiWilliams)
#14093 feat: error messages when connecting to MSSQL (@betodealmeida)
#14072 feat: add Echarts gauge chart (@krsnik93)
#14111 feat: invalid hostname and password error messages (Redshift) (@AAfghahi)
#14089 feat: invalid hostname and password error messages (MySQL) (@AAfghahi)
#13992 feat(dashboard_rbac): provide data access based on dashboard access (@amitmiran137)
#14076 feat(can_share): can share chart and dashboard (@amitmiran137)
#14038 feat: invalid password error message (Postgres) (@betodealmeida)
#13740 feat: Implement Celery SoftTimeLimit handling (@lilykuang)
#13862 feat: only send alert error emails to owners of the alert (@samtfm)
#13827 feat: add descriptions to report emails (@samtfm)
#13726 feat(native-filters): Add default first value to select filter (@simcha90)
#14007 feat: Make async query JWT cookie domain configurable (@benjreinhart)
#14040 feat: handle chart/data API errors (@etr2460)
#14030 feat(helm): add pod and deployment annotations to template (@rasta-rocket)
#13997 feat: add extract_errors to Postgres (@betodealmeida)
#13893 feat: create backend routes and API for importing saved queries (@AAfghahi)
#11498 feat(SIP-39): Websocket sidecar app (@robdiciuccio)
#14008 feat: Support feature flag overrides in ephemeral test envs (@robdiciuccio)
#13981 feat: FE: Export for Queries II (@lyndsiWilliams)
#13960 feat: initial work to make v1 API compatible with SIP-40 and SIP-41 (@betodealmeida)
#13758 feat(explore): adhoc column formatting for Table chart (@ktmud)
#13894 feat(alert/report): add ALERTS_ATTACH_REPORTS feature flags + feature (@lilykuang)
#13871 feat: create table with long name (@betodealmeida)
#13610 feat: added support to configure the default explorer viz (@cccs-jc)
#13772 feat(rls): enable row level security by default (@villebro)
#13728 feat: Helm Chart: add extraSecrets config to allow specifying extra secret files (@andreas-eberle)
#13720 feat: sort time grain configs (@eschutho)
#13683 feat(homescreen and cards): Toggle thumbnails off or on and feature flag (@pkdotson)
#13743 feat: use cross-env when running dev-server (@cemremengu)
#13696 feat: Refactor asyncEvent middleware and add websocket support (@robdiciuccio)
#12862 feat: Make initial user configurable in helm chart (@andreas-eberle)
#13662 feat: add 'extra' column to saved_queries GET (@mistercrunch)
#13687 feat(cross-filter): Cross filter badge (@simcha90)
#13678 feat(helm): Add optional apt-get install to superset_bootstrap.sh (@danielewood)
#13622 feat(native-filters): add temporal support to select filter (@villebro)
#13682 feat: add Databricks DB engine spec (@betodealmeida)
#13606 feat: add warning metadata to tables and metrics (@etr2460)
#13601 feat: better error message when adding DBs (@betodealmeida)
#13625 feat(cross-filters): Add scoping for cross filters (@simcha90)
#13634 feat(reports): SLACK_API_TOKEN as callable or str (@nytai)
#13584 feat: add ErrorBoundary to chart controls (@ktmud)
#13576 feat(filter-set): Filter set edge cases (@simcha90)
#13598 feat(explore): Drag and drop UX improvements (@kgabryje)
#13586 feat: add more big data for testing (@betodealmeida)
#13487 feat: create hooks to redux component (@AAfghahi)
#13294 feat(explore): Postgres datatype conversion (@nikolagigic)
#13575 feat: Implement drag and drop for metrics (@kgabryje)
#13523 feat(dashboard): dashboard/id/datasets endpoint (@suddjian)
#13448 feat: add option to load big/wide tables (@betodealmeida)
#13569 feat(native-filters): add sort option to select filter (@villebro)
#13152 feat: add connector for CrateDB (@srinify)
#13545 feat(filter-set): Update existing filter set (@simcha90)
#13529 feat(filter-set): Filter set history (@simcha90)
#13484 feat(native-filters): add timegrain and column filter (@villebro)
#13468 feat: add event_logger to test_connection and create_database commands (@hughhhh)
#13515 feat(filter-set): adding new filters (@simcha90)
#13507 feat(native-filters): Filter set tabs (@simcha90)
#13340 feat: Implement drag and drop columns for filters (@kgabryje)
#13506 feat(native-filters): Update filter bar buttons (@simcha90)
#13441 feat: refactor on DBEventLogger to allow for context management (@hughhhh)
#13144 feat: Add error pages (@samtfm)
#13190 feat: Added Rows Returned (@AAfghahi)
#13145 feat(dashboard_rbac): manage roles for dashboard (@simcha90)
#13377 feat(viz): implement time picker on filter box (@zhaoyongjie)
#13364 feat: add unit test for LimitMethod.FETCH_MANY (@betodealmeida)
#13210 feat(explore): ColumnSelectControl with drag-and-drop (@zhaoyongjie)
#13135 feat(reports): send notification on error with grace (@dpgaspar)
Fixes
#14561 fix: select country in examples chart (@betodealmeida)
#14587 fix: dashboard side actions (@pkdotson)
#14526 fix(chart-data): handle url_params in csv export and native filters (@villebro)
#14509 fix: parameterize titles correctly (@suddjian)
#14358 fix: SQL Statement on QUERY_LOGGER prints none to log (@cccs-rc)
#14483 fix(annotations): pass force param to annotation request (@villebro)
#14438 fix(viz): bump superset-ui to fix bugs in table and graph chart (@ktmud)
#14426 fix(native-filters): fix filter scope error (@villebro)
#14372 fix: SQLLab role permissions (@dpgaspar)
#14409 fix(native-filters): always show filters without dataset (@villebro)
#14369 fix: error getting partitionQuery from table.partition (@eriendeng)
#14401 fix(native-filters): default value not populated on second opening (@villebro)
#14291 fix: Fix unintended cache misses with async queries (@benjreinhart)
#14390 fix(sqllab): fix error due to anonymous user (@villebro)
#14385 fix(native-filters): force update control value on change (@villebro)
#14387 fix(native-filters): fix lint (@simcha90)
#14362 fix(emotion): add separate namespace for menu app (@nytai)
#14370 fix(native-filters): Update filter saving (@simcha90)
#14317 fix: Cleanup serialization and hashing code (@benjreinhart)
#14338 fix: pybabel extract fails (@bungoume)
#14347 fix: flaky test for alerts and reports (@dpgaspar)
#14353 fix(native-filters): allowClear only when required not checked (@villebro)
#14287 fix: Make g.user attribute access safe for public users (@robdiciuccio)
#14334 fix(native-filters): Fix indicators (@simcha90)
#14332 fix(native-filters): Fix first loading of charts (@simcha90)
#14240 fix(hive): Use parquet rather than textfile when uploading CSV files to Hive (@john-bodley)
#14306 fix(dashboard): Add caching for dashboard datasets (@suddjian)
#14255 fix(hive): Update CSV to Hive upload prefix (@john-bodley)
#14252 fix: SHOW FUNCTIONS for Databricks (@betodealmeida)
#14319 fix: unbreak CI (@etr2460)
#13921 fix: new import/export CLI (@betodealmeida)
#14084 fix: custom TimeRange can not input value (@zhaoyongjie)
#14297 fix(sqla): timeseries limit not applied when using columns (@villebro)
#14295 fix(db2): change engine name and add legacy alias (@villebro)
#14207 fix(dashboard): draft dashboards should be viewable (@ktmud)
#14194 fix(explore): CUSTOM SQL tab should automatically update (@stephenLYZ)
#14258 fix: incorrect module reference(Tooltip) (@zhaoyongjie)
#14192 fix: Center each import icon and add a tooltip II (@lyndsiWilliams)
#14147 fix: Handle bad permission errors for bigquery test connections (@hughhhh)
#14244 fix(native-filters): merge_extra_form_data extras processing (@villebro)
#14243 fix(explore): Filter edit popover not opening in DnD mode (@kgabryje)
#14218 fix(native-filters): fix remove native filters (@simcha90)
#13830 fix: Use utils.json_iso_dttm_ser to dump jsons when async query execution (@cabo40)
#14220 fix(cross-filters): Fix missed metadata (@simcha90)
#14170 fix: Switching to local codecov script (@craig-rueda)
#14180 fix: Add extra requires for shillelagh (@etr2460)
#14191 fix(viz): time shift read-only error (@villebro)
#14129 fix(dashboard): filter set hydration not working (@villebro)
#14140 fix: QueryPane horizontal scroll (@AAfghahi)
#14148 fix(dashboard): incorrect perm for users with multiple roles (@ktmud)
#14113 fix: add missing init.py (@betodealmeida)
#14099 fix(SPA): get permission function (@simcha90)
#14086 fix: Fixed saved query export (@lyndsiWilliams)
#14057 fix: logs table - user_id is NULL (@hughhhh)
#14095 fix(sqla): labels_expected contains mutated label (@villebro)
#14074 fix: unable to apply logging format (@zhaoyongjie)
#13906 fix(listview): update listview feature flag (@pkdotson)
#14082 fix: flacky test in test_update_dataset_item_w_override_columns (@hughhhh)
#14046 fix(cross-filters): Make chart emitting cross-filter exclude itself from filtering (@kgabryje)
#14081 fix(cross-filters): fix bug when remove chart not removing it's related cross filter data (@simcha90)
#14036 fix: add exception to catch session not having JWT (@hughhhh)
#14031 fix: Use consistent chart value (@thomasv314)
#13974 fix: Use superset generic db to catch external_metadata queries (@hughhhh)
#14045 fix(viz): bump superset-ui 0.17.30 (@villebro)
#14039 fix: broken port-forward instructions (@caleb15)
#14009 fix: use dynamic time_grains for schema (@eschutho)
#13998 fix: execution log crashes for logs with no uuid (@jfrag1)
#13911 fix: working timeout with celery kill and logic fix (@dpgaspar)
#14014 fix(sqla): apply sqla type on calculated columns (@villebro)
#13969 fix: annotation modal dateRangePicker saved invalid value (@zhaoyongjie)
#13987 fix: Pie chart not displayed in viz type selection (@zhaoyongjie)
#13979 fix: import dataset/dashboard empty keys (@betodealmeida)
#13801 fix(explore): strip semicolons in virtual table SQL (@pkdotson)
#13972 fix: Data table z index in sql Editor (@AAfghahi)
#13897 fix: updates load_examples to load-examples (@alexandersimoes)
#13955 fix: null exception from adhoc metric popover (@graceguo-supercat)
#13936 fix: use the right variable for Celery results in Redis (@octaviancorlade)
#13858 fix: Floating Menu in SQL Left Bar (@AAfghahi)
#13946 fix: SQL -> Explore Overwrite flow (@hughhhh)
#13737 fix: log exceptions for thumbnail generation as warnings (@samtfm)
#13945 fix(colors): fix color schemes (@simcha90)
#13927 fix: trigger collapse with onchange (@eschutho)
#13926 fix: enable installing docker/requirements-local.txt in docker-compos… (@nytai)
#13822 fix: adjusted tab height (@AAfghahi)
#13917 fix: do not run containers as root by default in Helm chart (@megakoresh)
#13739 fix(sqla-query): order by aggregations in Presto and Hive (@ktmud)
#13852 fix(dependency): Pin pystan after breaking prophet install (@EBoisseauSierra)
#13905 fix: consistent left margin for dashboard layout. (@rusackas)
#13901 fix: Revert "fix: select table overlay" (@etr2460)
#13878 fix(#13378): Ensure g.user is set for impersonation (@benjreinhart)
#13859 fix: Check for permissions in FilterBox (@etr2460)
#13868 fix: change status code for generic errors to 400 (@hughhhh)
#13800 fix: allow spaces in DB names (@betodealmeida)
#13749 fix: Disallows negative options remaining in SelectControl (@michael-s-molina)
#13837 fix(native-filters): add global async query support to native filters (@villebro)
#13826 fix(errors): Downgrade error on stop query to a warning (@willbarrett)
#13718 fix(alerts and reports): Unify timestamp format on execution log view (@jfrag1)
#13841 fix(sqllab): warning message when displayed rows limited (@zuzana-vej)
#13794 fix(native-filters): improve loading styles for filter component (@villebro)
#13825 fix(cypress): avoid referencing detached dom nodes (@suddjian)
#13694 fix: select table overlay (@AAfghahi)
#13780 fix: restart superset container in test script (@benjreinhart)
#13790 fix: bad copy-and-paste in API spec (@betodealmeida)
#13566 fix(explore): make horizontal scroll appears in data panel (@stephenLYZ)
#13756 fix(CI): use Presto docker image from starburst (@ktmud)
#13652 fix(datasets): log create exceptions as warning (@nytai)
#13704 fix(cross-filters): only apply filters if ff is set (@villebro)
#13695 fix: dashboard filter scope bug (@graceguo-supercat)
#13703 fix(cross-filters): expand relevant indicator sections (@villebro)
#13624 fix: data column in SQL lab left panel open by default (@AAfghahi)
#13688 fix(native-filters): fix removing native filter (@simcha90)
#13488 fix: allow option to generate new query (@eschutho)
#13691 fix(dashboard): missing parents in directPathToFilter (@villebro)
#13692 fix(cross-filters): add a control panel to range filter (@villebro)
#13679 fix: use FeatureFlags in @superset-ui/core (@ktmud)
#13681 fix: clean up incorrect usage of TypeScript type in PropTypes (@ktmud)
#13665 fix(cross-filter): fix scheme py (@simcha90)
#13621 fix(explore): Add int and bool regex pattern (@nikolagigic)
#13657 fix: 'Run in SQL Lab' redirect bug (@mistercrunch)
#13434 fix(query): order by adhoc metrics should trigger group by (@ktmud)
#13636 fix(sqllab): Table name and schema are encoded twice during fetching table metadata on SQL Lab page. (@didva)
#13655 fix: Slack dashboard has stale charts (@betodealmeida)
#13642 fix: bump FAB to 3.2.1, SQLAlchemy fix (@dpgaspar)
#13608 fix: Add SASL dependency module (@danielewood)
#13463 fix(alert/report): add notification method in alert report modal (@lilykuang)
#13585 fix: AntD select dropdown scroll issue (@lilykuang)
#13578 fix: better handle datasource exceptions (@dpgaspar)
#13607 fix: link update for report and old alerts deprecations (@betodealmeida)
#13626 fix(explore): Dynamic dttm in crate test (@nikolagigic)
#13537 fix(alert/report): switch message content between chart and dashboard (@lilykuang)
#13389 fix: delete dataset columns and metrics on the REST API (@dpgaspar)
#13613 fix(helm): Add missing extraConfigs template volume mapping and fix type error on template. (@danielewood)
#13563 fix: always pass a string as a value to ace editor (@eschutho)
#13602 fix: ParsedQuery subselect edge case (@etr2460)
#13570 fix: UI port in dockerfile set to same port in config (@iercan)
#13496 fix: IS NULL filter operator for numeric columns (@ktmud)
#13546 fix(native-filters): fix initial filter loading (@simcha90)
#13505 fix: Prevents KeyError in 13504 by making kwarg explicit (@spookymotion)
#13436 fix(alerts&reports): add celery soft timeout support (@dpgaspar)
#13473 fix(explore): make sure sort by metric is not duplicated (@ktmud)
#13352 fix(dashboard): Get dashboard by slug (@suddjian)
#13444 fix: API to allow importing old exports (JSON/YAML) (@betodealmeida)
#13464 fix: SHOW is not DML (@betodealmeida)
#13469 fix: Remove view in sql lab from druid datasources (@etr2460)
#13425 fix: Adding v0 import/export fields to dashboard metadata schema (@michellethomas)
#13424 fix: use semver for badge sort (@eschutho)
#12341 fix: annotation layer modal err handling (@riahk)
#13331 fix(query-object): extra time-range-endpoints (@john-bodley)
#13174 fix: update SQL Lab Buttons to better wording (@AAfghahi)
#13330 fix: date picker support date unit with singular and plural (@zhaoyongjie)
Others
#14460 chore: bump table plugin to 0.17.42 (@amitmiran137)
#14443 perf(native-filters): Load native filters after charts (@simcha90)
#14408 perf(native-filters): avoid unnecessary reloading of charts (@simcha90)
#14441 refactor(native-filters): allow cascading only for filter_select (@simcha90)
#14371 test(maximize-chart): Add tests to maximize chart action (@simcha90)
#14139 chore: Moves Card to the components folder (@michael-s-molina)
#14048 refactor: Boostrap to AntD - Tabs (@michael-s-molina)
#14166 chore: Moves the branding folder to the assets folder (@michael-s-molina)
#14394 docs: improved clickhouse connection details (@srinify)
#14321 docs: multiple small fixes around databases (@srinify)
#14366 refactor(db_engine_specs): Removing top-level import of app (@john-bodley)
#14219 docs: Update trino connection docs (@aakashnand)
#14203 chore: Bumping lodash version in Superset (@rusackas)
#14339 chore: Improve Japanese translation (@bungoume)
#14342 chore(docker-compose): use dev image for docker-compose-non-dev.yml (@nytai)
#14136 chore: Moves Tabs to the components folder (@michael-s-molina)
#14355 chore: bump 0.17.38 (@amitmiran137)
#14035 refactor(addslicecontainer): move slice container panel from bootstrap panel to ant-d (@pkdotson)
#14106 refactor: Bootstrap to AntD - Form - iteration 1 (@michael-s-molina)
#14354 chore: add some basic instrumentation to Node WebSocket server (@benjreinhart)
#14274 chore: Add Redis password option to helm chart (@robdiciuccio)
#14350 ci: set remote URL to https and bump sha (@dpgaspar)
#14331 chore(docs): remove .py from db migrate -m (@amitmiran137)
#14323 chore(spelling): fixing spelling: clint -> client (@ChrisCarini)
#14202 chore: Moves spec files to the src folder - iteration 3 (@michael-s-molina)
#14201 chore: Moves spec files to the src folder - iteration 2 (@michael-s-molina)
#14200 chore: Moves spec files to the src folder - iteration 1 (@michael-s-molina)
#14193 chore: Improves Icons storybook (@michael-s-molina)
#14304 docs: add publish step (@nytai)
#14309 refactor: reorganize dateFilterUtils.tx (@zhaoyongjie)
#14100 refactor: Boostrap to AntD - Row/Col (@michael-s-molina)
#13970 chore: starter make file (@hughhhh)
#14123 chore: Moves WarningIconWithTooltip to own folder (@michael-s-molina)
#14298 chore: SQLLab row limit warning using Alert component (@zuzana-vej)
#14196 chore: Code cleanup in DatabaseModal (@lyndsiWilliams)
#14257 chore: WebSocket server improvements (@benjreinhart)
#14253 chore: bump superset-ui (@etr2460)
#14126 chore: Moves Dropdown to the components folder (@michael-s-molina)
#14133 chore: Moves Radio to the components folder (@michael-s-molina)
#14137 chore: Moves Tooltip to the components folder (@michael-s-molina)
#14167 chore: Moves the staticPages folder to the assets folder (@michael-s-molina)
#14228 chore(prophet): bump prophet to 1.0.1 (@villebro)
#14245 test(native-filters): Filter config modal test (@simcha90)
#14098 test(native-filters): add integration tests for filter bar (@simcha90)
#14238 chore: Add Preset code owners for ephemeral test env workflows (@robdiciuccio)
#14128 chore: Moves InfoTooltip to the components folder (@michael-s-molina)
#14222 chore: bump package.json (@amitmiran137)
#14223 docs: add helm repo to kubernetes installation instructions (@jawabuu)
#14211 ci: use git submodules for Chart Actions (@jawabuu)
#14124 chore: Moves Collapse to the components folder (@michael-s-molina)
#14130 chore: Moves Modal to the components folder (@michael-s-molina)
#14178 chore: type some SQL Lab components (@etr2460)
#14164 chore: Configures Jest to ignore storybook files (@michael-s-molina)
#14135 chore: Moves Switch to the components folder (@michael-s-molina)
#14127 chore: Moves DropdownButton to the components folder (@michael-s-molina)
#14125 chore: Moves CronPicker to the components folder (@michael-s-molina)
#14013 chore(toggle thumbnails): use localstorage for toggle (@pkdotson)
#14169 chore: rename connection errors (@betodealmeida)
#14090 refactor(userInfo): userinfo panel to styled component (@pkdotson)
#14152 chore: update RELEASING readme (@lilykuang)
#13973 test: Add tests for Dashboard Header and HeaderActionsDropdown components (@geido)
#13393 build(deps): bump urijs from 1.19.4 to 1.19.6 in /superset-frontend (@dependabot[bot])
#13705 test: Adds tests for the FixedOrMetricControl component (@michael-s-molina)
#13996 refactor: Bootstrap to AntD - ListGroup (@michael-s-molina)
#12636 build(deps): bump socket.io from 2.3.0 to 2.4.1 in /docs (@dependabot[bot])
#13391 build(deps): bump three from 0.68.87 to 0.125.0 in /docs (@dependabot[bot])
#13874 build(deps): bump y18n from 4.0.0 to 4.0.1 in /docs (@dependabot[bot])
#13886 build(deps): bump y18n from 4.0.0 to 4.0.1 in /superset-frontend (@dependabot[bot])
#14088 chore: stop logging SupersetExceptions if status < 500 (@hughhhh)
#13919 test: Adds tests to the UndoRedoKeyListeners component (@michael-s-molina)
#13951 chore: Adds dataMask reducer to reducerIndex (@michael-s-molina)
#13916 test: Tests audit for the Dashboard FilterBar (@geido)
#13989 refactor: Bootstrap to AntD - Slider (@michael-s-molina)
#13306 chore(spa refactor): refactoring dashboard to use api's instead of bootstrapdata (@pkdotson)
#13961 docs: details on configuring Docker Compose setup (@alexkreidler)
#14027 docs: update outdated country map tools instructions (@ktmud)
#14028 test: FilterSets-utils (@yardz)
#14033 chore: well component to card component(Updating PR #12200) (@yardz)
#13975 test: ControlItems (@yardz)
#13941 test: Tabs (@yardz)
#13937 test: Tab (@yardz)
#13888 test: SliceHeader (@yardz)
#13860 test: ShareMenuItems (@yardz)
#13991 test: ColumnSelect (@yardz)
#14025 chore: update docs to allow user to properly load examples (@hughhhh)
#13458 chore: Moves Fade component into TableElement (@michael-s-molina)
#13933 test: Adds tests to the CssEditor component (@michael-s-molina)
#13502 test: Tests and Storybook entry for the IndeterminateCheckbox Component (@geido)
#13736 test: DataTablesPane (@yardz)
#13787 test: AdhocMetricEditPopover (@yardz)
#13501 test: Tests and Storybook entry for the TableView Component (@geido)
#13984 test: prevent flaky frontend unit test case (@zhaoyongjie)
#13719 test: exploreUtils (@yardz)
#13887 test: Adds tests to the filter scope components (@michael-s-molina)
#13931 test: PropertiesModal (Dashboard) (@yardz)
#13950 test: Add tests for the Dashboard FilterBar CascadeFilterControl component (@geido)
#13934 docs: replace deprecated EMAIL_REPORTS_WEBDRIVER with the new WEBDRIVER_TYPE (@octaviancorlade)
#13953 chore: bump @superset-ui/plugin-chart-table to 0.17.28 (@ktmud)
#13877 refactor: move CTAS/CVAS field II (@hughhhh)
#13895 test: SliceHeaderControls (@yardz)
#13553 chore: Dedicated dir and Storybook for the DatePicker Component (@geido)
#13818 test: PropertiesModal (@yardz)
#13875 test: CrossFilterScopingForm (@yardz)
#13873 test: FilterIndicator (@yardz)
#13872 test: DetailsPanel (@yardz)
#13745 test: Enhance tests and directory structure for FilterControl components (@geido)
#13712 test: Adds tests to the TimeSeriesColumnControl component (@michael-s-molina)
#13753 test: FilterBoxItemControl (@yardz)
#13656 test: CollectionControl (@yardz)
#13482 test: Adds storybook to Dropdown and DropdownButton components (@michael-s-molina)
#13876 test: CrossFilterScopingModal/utils (@yardz)
#13939 chore(dashboard): Datasource -> Dataset (@suddjian)
#13892 test: Adds tests to the PublishedStatus component (@michael-s-molina)
#13932 chore(dashboard_rbac): bump superset-ui 0.17.27 (@amitmiran137)
#13548 test: Fixes PropertiesModal_spec (@michael-s-molina)
#13650 test: Adds tests to dnd controls (@michael-s-molina)
#13748 test: Adds tests to the AnnotationLayer component (@michael-s-molina)
#13799 test: Refactor and enhance tests for the Explore DatasourcePanel Component (@geido)
#13778 test: Tests and dedicated dir for Explore TextControl component (@geido)
#13750 test: DisplayQueryButton (@yardz)
#13729 test: Adds tests to the OptionControls component (@michael-s-molina)
#13605 test: DatasourceControl (@yardz)
#13896 test: handleScroll (@yardz)
#13675 test: Adds tests to the CustomFrame component (@michael-s-molina)
#13664 test: Adds tests to the AdvancedFrame component (@michael-s-molina)
#13668 test: DataTableControl (@yardz)
#13477 chore: Removes Select duplication (@michael-s-molina)
#13813 docs: Documenting how to debug Flask app (@cccs-jc)
#13457 test: Adds tests and storybook to CertifiedIcon component (@michael-s-molina)
#13459 chore: Moves CheckboxIcons to Checkbox folder (@michael-s-molina)
#13462 chore: Removes Popover duplication (@michael-s-molina)
#13527 build(deps): bump elliptic from 6.5.3 to 6.5.4 in /docs (@dependabot[bot])
#13855 chore: Update PR template for SIP-59 DB migrations process (@robdiciuccio)
#13759 chore: Add CODEOWNERS for superset/migrations (@robdiciuccio)
#13861 docs: fixed a link (@ericmand)
#13854 chore: Displays row limit warning with the Alert component (@michael-s-molina)
#13811 chore: add success log whenever a connection is working (@hughhhh)
#13767 chore(git): ignore app folder under superset (@cemremengu)
#13784 chore(cypress): Make the e2e tests more behavior-driven (@suddjian)
#13797 refactor: New schedule query button (@AAfghahi)
#13547 test: Adds storybook and tests to PopoverDropdown component (@michael-s-molina)
#13757 chore(CI): dont run Hive tests on Py 3.7 (@ktmud)
#13638 test: SelectAsyncControl (@yardz)
#13581 test: DatabaseSelector (@yardz)
#13534 test: Tests, dedicated directory and Storybook for the ProgressBar component (@geido)
#13781 docs: update setup instructions (@benjreinhart)
#13676 refactor: SouthPane into functional component (@AAfghahi)
#13785 refactor: Revert "refactor: ScheduleQueryButton into functional component (#134… (@hughhhh)
#13443 refactor: ScheduleQueryButton into functional component (@AAfghahi)
#13738 chore: Update presto.mdx (@hughhhh)
#13751 test: changing logger.exception to logger.errors in databases api (@AAfghahi)
#13770 docs(contributing): fix backend port (@cemremengu)
#13627 test: DatasourcePanelDragWrapper (@yardz)
#13722 chore: Improve Korean translation (@kimsehwan96)
#13500 chore(homepage): separate out api calls to make homepage load more dynamically (@pkdotson)
#13730 refactor: helm chart: Use stringData instead of data in Secrets and remove manual base64 encoding (@andreas-eberle)
#13677 build: implement codecov carryforward flags (@jfrag1)
#13723 refactor(native-filters): refactor filter bar (@simcha90)
#12932 docs: update helm documentation (@anthcor)
#13554 test: usePrevious hook (@yardz)
#13630 refactor: Share sql lab query (@AAfghahi)
#13555 test: useChangeEffect (@yardz)
#13658 chore: bump pyyaml to latest (@robdiciuccio)
#13643 docs: Make suggested changes related to curl use in CONTRIBUTING.md (@slim-patchy)
#13660 chore(explore): added debounce in DateFilterControl (@zhaoyongjie)
#13342 chore: improve modal error handling (@lilykuang)
#13508 test: Tests and dedicated directory for the SupersetResourceSelect Component (@geido)
#13611 docs: correct sentence (@ErfanMirzapour)
#13587 chore: create better links for latest release (@eschutho)
#13596 chore: metric refactor iteration 1 (@zhaoyongjie)
#13593 chore(explore): bump superset-ui 0.17.19 (@zhaoyongjie)
#13520 refactor: convert controlUtils to TypeScript (2 of 2) (@ktmud)
#13549 test: CronPicker (@yardz)
#13583 test: TableCollection (@yardz)
#13498 build: check potential db migration conflict for open PRs (@ktmud)
#13513 test: Tests, dedicated directory and Storybook for the Badge component (@geido)
#13421 build: ignore Storybook stories in CodeCov (@ktmud)
#13438 test: Adds tests and storybook to PopoverSection component (@michael-s-molina)
#13517 test: Adds storybook and tests to AsyncEsmComponent (@michael-s-molina)
#13516 test: Adds storybook to AlteredSliceTag component (@michael-s-molina)
#13452 build(test env): Shutdown test environments on PR close (@robdiciuccio)
#13518 ci: increase page size of GH PR API call (@villebro)
#13412 test: Adds storybook to ConfirmStatusChange component (@michael-s-molina)
#13365 docs: add more documentation around python testing and linting (@eschutho)
#13437 refactor(native-filters): Move filtersState to dataMask redux root (@simcha90)
#13454 chore: Moves ChartIcon to own folder (@michael-s-molina)
#13409 test: Adds tests and storybook to RefreshLabel (@michael-s-molina)
#13324 chore: Moves ListView test to component's folder (@michael-s-molina)
#13485 chore: Moves InfoTooltip component to own folder (@michael-s-molina)
#13479 test: Adds storybook to Switch component (@michael-s-molina)
#13410 test: Adds storybook to SearchInput component (@michael-s-molina)
#13460 chore: Moves BootstrapSliderWrapper to own folder (@michael-s-molina)
#13440 docs: deprecate old alerts and dash/charts reports (@dpgaspar)
#13361 chore: Migrating dashboard/components/menu from jsx to tsx (@ayanginet)
#13455 docs: Fix typo in footer (@thinkh)
#13376 chore: Improve Japanese translation (@tesshy)
#13417 refactor: add set data mask to build query (@simcha90)
#13450 chore: disable drag metrics and columns in datasourcePanel (@zhaoyongjie)
#13411 chore: Moves TableSelector tests to component's folder (@michael-s-molina)
#13401 refactor: convert controlUtils to TypeScript (1 of 2) (@ktmud)
#13102 refactor: Query search into functional component (@AAfghahi)
#13418 chore: Added rockset and firebird (@srinify)
#13408 chore: Removes unused Hotkeys component (@michael-s-molina)
#13407 test: Adds storybook to FormRow component (@michael-s-molina)
#13406 test: Adds storybook to AnchorLink component (@michael-s-molina)
#13415 test: Adds storybook to IconTooltip component (@michael-s-molina)
#13362 test: Adds storybook to EditableTitle component (@michael-s-molina)
#13359 test: Adds tests and storybook to CopyToClipboard component (@michael-s-molina)
#13358 test: ErrorMessage components tests (@geido)
#13374 chore: convert chartReducer to TypeScript (@ktmud)
#13137 refactor(self-trigger): Split native filters state (@simcha90)
#13367 chore: npm audit fix (@eschutho)
#13343 test: Adds storybook to Timer component (@michael-s-molina)
#13338 chore: Moves OnPasteSelect tests to component's folder (@michael-s-molina)
#13322 chore: Moves FilterableTable test to component's folder (@michael-s-molina)
#13276 test: ErrorBoundary dedicated directory and tests (@geido)
#13274 chore: Migrates RefreshChartOverlay into Chart (@michael-s-molina)
#13273 test: Improves ButtonGroup tests (@michael-s-molina)
#13375 build: fix codecov informational config (@ktmud)
#13270 test: FormLabel dedicated directory and tests (@geido)
#13221 refactor(explore): convert ControlPanelsContainer to typescript (@ktmud)
#13305 test: Tests for OmniContainer (@yardz)
#13104 chore: update docs for new alerts and reporting feature (@leocape)
#13277 test: Pagination component (@yardz)
#13332 chore: Update OAuth2 configuration guide to match with FlaskAppBuilder (@liamnv)
#13299 test: Adds tests to TableLoader component (@michael-s-molina)
#13314 chore: Moves AsyncSelect component and tests to own folder (@michael-s-molina)
#13302 test: Menu component tests (@geido)
#13318 test: CacheLabel (@yardz)
#13320 test: tests for component FaveStar (@yardz)
#13296 chore: migrating some LESS to Emotions for ResultSet components (@rusackas)
#13218 refactor: Introduce api resource hooks, fetch owners for chart errors (@suddjian)
#13319 test: Adds tests to URLShortLinkButton component (@michael-s-molina)
#13286 test: Tests for DeleteModal component (@yardz)
#13329 test: optimize codecov config (@ktmud)
#13323 build: Use redis:latest in docker-compose workflow (@robdiciuccio)
#12229 refactor: New Icon system with Enhanced Antd Custom Icon (@geido)
#13189 build: Ephemeral environments for PRs via slash command (@robdiciuccio)