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

beto pushed a commit to branch 1.1.0rc1
in repository https://gitbox.apache.org/repos/asf/superset.git

commit 2cb9c97ee77497b791de90d5e981640a5126c594
Author: Lily Kuang <[email protected]>
AuthorDate: Wed Mar 17 08:55:46 2021 -0700

    chore: script for changelog  (#13588)
    
    * change log with section
    
    * add risk flag for showing risk pull request
    
    * update changlog.md
    
    * lint mypy
    
    * small fixes
---
 CHANGELOG.md           | 305 +++++++++++++++++++++++++++++++++++++++++++++++++
 RELEASING/changelog.py | 123 ++++++++++++++++++--
 2 files changed, 417 insertions(+), 11 deletions(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 265a779..982da34 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -18,6 +18,311 @@ under the License.
 -->
 ## Change Log
 
+### 1.1 (Wed Feb 24 12:08:28 2021 +0200)
+
+**Database Migrations**
+- [#13111](https://github.com/apache/superset/pull/13111) feat: add Echarts 
Graph chart (@mayurnewase)
+- [#13262](https://github.com/apache/superset/pull/13262) fix: migration 
script message formatting issue (@ktmud)
+- [#13216](https://github.com/apache/superset/pull/13216) fix: add missing 
columns (@betodealmeida)
+- [#12960](https://github.com/apache/superset/pull/12960) fix: Retroactively 
add granularity param to charts (@etr2460)
+- [#13052](https://github.com/apache/superset/pull/13052) fix(explore): pie 
chart label bugs (@villebro)
+- [#13015](https://github.com/apache/superset/pull/13015) fix: time filter db 
migration optimization (@ktmud)
+- [#12950](https://github.com/apache/superset/pull/12950) chore: rename 
revision to match naming scheme (@etr2460)
+- [#12680](https://github.com/apache/superset/pull/12680) 
feat(dashboard-rbac): dashboard lists (@amitmiran137)
+- [#12552](https://github.com/apache/superset/pull/12552) fix(explore): 
deprecated x periods pattern in new time picker value (@zhaoyongjie)
+- [#12336](https://github.com/apache/superset/pull/12336) chore: remove 
additional incubator references (@amitmiran137)
+
+**Features**
+- [#13271](https://github.com/apache/superset/pull/13271) feat(chart-data): 
add rowcount, timegrain and column result types (@villebro)
+- [#13214](https://github.com/apache/superset/pull/13214) feat(presto): add 
support for user impersonation (@rijojoseph07)
+- [#13049](https://github.com/apache/superset/pull/13049) feat: Add sort by 
for dist bar chart (@maloun96)
+- [#13057](https://github.com/apache/superset/pull/13057) feat: Add sort by 
metric for charts with multiple metrics (@maloun96)
+- [#13182](https://github.com/apache/superset/pull/13182) feat: Move 
SQLAlchemy url reference to config (@hughhhh)
+- [#13130](https://github.com/apache/superset/pull/13130) feat(helm): Evaluate 
configOverrides as templates (@Yann-J)
+- [#13205](https://github.com/apache/superset/pull/13205) feat(filter-sets): 
Saving filter sets in metadata (@simcha90)
+- [#13037](https://github.com/apache/superset/pull/13037) feat: add autocopy 
functionality to CopyToClipboard (#10328) (@michael-s-molina)
+- [#13031](https://github.com/apache/superset/pull/13031) feat(filters-set): 
basic implementation for managing user filter sets (@simcha90)
+- [#13150](https://github.com/apache/superset/pull/13150) feat(alerts): apply 
SQL limit to all alerts (@dpgaspar)
+- [#13116](https://github.com/apache/superset/pull/13116) feat(helm): Helm 
template for Celery beat (for reporting and alerting) (@Yann-J)
+- [#13114](https://github.com/apache/superset/pull/13114) feat: Added 
annotations and loadBalancerIP option in helm service.yaml (@cheunhong)
+- [#13148](https://github.com/apache/superset/pull/13148) 
feat(native-filters): enable filter indicator and make datasource optional 
(@simcha90)
+- [#12978](https://github.com/apache/superset/pull/12978) feat(dashboard): API 
to get a dashboard's charts (@suddjian)
+- [#13105](https://github.com/apache/superset/pull/13105) feat: first step 
native support Trino (@dungdm93)
+- [#13058](https://github.com/apache/superset/pull/13058) feat: add 
sort_by_metric for charts with single metric (@maloun96)
+- [#13035](https://github.com/apache/superset/pull/13035) 
feat(dashboard_rbac): add support for related roles (@amitmiran137)
+- [#13108](https://github.com/apache/superset/pull/13108) 
feat(native-filters): hide filterBar and toggle icon when in editMode 
(@amitmiran137)
+- [#13096](https://github.com/apache/superset/pull/13096) feat: Custom 
superset_config.py + secret envs (@Yann-J)
+- [#13005](https://github.com/apache/superset/pull/13005) 
feat(native-filters): add storybook entry for select filter (@simcha90)
+- [#12992](https://github.com/apache/superset/pull/12992) 
feat(native-filters): Time native filter (@simcha90)
+- [#13056](https://github.com/apache/superset/pull/13056) feat: Force pod 
restart on config changes (@Yann-J)
+- [#12662](https://github.com/apache/superset/pull/12662) feat(cross-filters): 
add cross filters (@simcha90)
+- [#12918](https://github.com/apache/superset/pull/12918) feat(style): hide 
dashboard header by url parameter (@simcha90)
+- [#12602](https://github.com/apache/superset/pull/12602) feat(db engines): 
add support for Opendistro Elasticsearch (AWS ES) (@dpgaspar)
+- [#12996](https://github.com/apache/superset/pull/12996) feat: Save datapanel 
state in local storage (@kgabryje)
+- [#12865](https://github.com/apache/superset/pull/12865) 
feat(dashboard_rbac): dashboards API support for roles create/update + roles 
validation (@amitmiran137)
+- [#12782](https://github.com/apache/superset/pull/12782) feat: reset metrics 
on dataset change (@pkdotson)
+- [#12875](https://github.com/apache/superset/pull/12875) 
feat(dashboard_rbac): dashboard_view access enforcement (@amitmiran137)
+- [#12887](https://github.com/apache/superset/pull/12887) feat(time-table): 
add row limit control for timeseries table (@maloun96)
+- [#12909](https://github.com/apache/superset/pull/12909) feat: clear search 
on dataset change (@pkdotson)
+- [#12840](https://github.com/apache/superset/pull/12840) feat: add separate 
endpoint to fetch function names for autocomplete (@betodealmeida)
+- [#12858](https://github.com/apache/superset/pull/12858) feat(style-theme): 
add support for custom superset themes (@simcha90)
+- [#12199](https://github.com/apache/superset/pull/12199) 
feat(native-filters): Add defaultValue for Native filters modal (@simcha90)
+- [#12663](https://github.com/apache/superset/pull/12663) feat: request ids on 
API related endpoints (@dpgaspar)
+- [#12716](https://github.com/apache/superset/pull/12716) 
feat(native-filters): apply scoping of native filters to dashboard (@simcha90)
+- [#12609](https://github.com/apache/superset/pull/12609) feat: default 
timepicker to last week when dataset is changed (@pkdotson)
+- [#12740](https://github.com/apache/superset/pull/12740) feat: Adding option 
to set_database_uri CLI command (@craig-rueda)
+- [#12635](https://github.com/apache/superset/pull/12635) feat: add decorator 
to guard public APIs (@betodealmeida)
+- [#12581](https://github.com/apache/superset/pull/12581) feat(bigquery): 
implement custom minute time grains (@villebro)
+- [#11720](https://github.com/apache/superset/pull/11720) 
feat(db-engine-specs): add support for Postgres root cert (@villebro)
+- [#12415](https://github.com/apache/superset/pull/12415) feat: new Slack 
dashboard (@betodealmeida)
+
+**Fixes**
+- [#13300](https://github.com/apache/superset/pull/13300) fix: exception when 
saving dash (@amitmiran137)
+- [#13284](https://github.com/apache/superset/pull/13284) fix(listview): 
preserve bulk selections when view mode is changed (@nytai)
+- [#13289](https://github.com/apache/superset/pull/13289) fix(alerts): Handle 
None on results (@dpgaspar)
+- [#12937](https://github.com/apache/superset/pull/12937) fix: chart keys in 
MultiLineViz (@rwspielman)
+- [#13254](https://github.com/apache/superset/pull/13254) fix: style tweaks 
for inconsistent button spacing (@rusackas)
+- [#13291](https://github.com/apache/superset/pull/13291) fix(home): missing 
key and invalid dates in Recents cards (@ktmud)
+- [#12926](https://github.com/apache/superset/pull/12926) fix: add alert 
report timeout limits (@riahk)
+- [#13283](https://github.com/apache/superset/pull/13283) fix(menu): links 
that result in 404s (@nytai)
+- [#13245](https://github.com/apache/superset/pull/13245) fix: bulk select on 
card view (@lilykuang)
+- [#13233](https://github.com/apache/superset/pull/13233) fix(viz): calendar 
heatmap granularity (@maloun96)
+- [#13186](https://github.com/apache/superset/pull/13186) fix: SqlEditor_spec 
tests (@michael-s-molina)
+- [#13222](https://github.com/apache/superset/pull/13222) fix(alert/report): 
alert modal loading dropdown options (@lilykuang)
+- [#13122](https://github.com/apache/superset/pull/13122) fix: TimeTable 
average with nulls calculations (@pavlozt)
+- [#13181](https://github.com/apache/superset/pull/13181) fix(explore): Fix 
downloading as image charts which use Mapbox (@kgabryje)
+- [#13163](https://github.com/apache/superset/pull/13163) fix: Fixing pinot 
query generation for date format conversion from python datetime format to java 
simple date format (@fx19880617)
+- [#13123](https://github.com/apache/superset/pull/13123) fix: add the 
untranslated text content of Chart page, Sql Editor page and some dashboard 
label in messages.pot (@cdmikechen)
+- [#13211](https://github.com/apache/superset/pull/13211) fix(explore): Reset 
values in TextControl only when datasource changes (@kgabryje)
+- [#13219](https://github.com/apache/superset/pull/13219) fix: Update display 
string when sqlalchemy doc config us changed (@hughhhh)
+- [#13217](https://github.com/apache/superset/pull/13217) fix(native-filters): 
uncapitalize filter name (@amitmiran137)
+- [#13160](https://github.com/apache/superset/pull/13160) fix: Grab datasets 
initially onMount (@hughhhh)
+- [#13086](https://github.com/apache/superset/pull/13086) fix: accept null 
groupby in form data for timeseries table viz (@michellethomas)
+- [#13173](https://github.com/apache/superset/pull/13173) fix(api): apply 
dashboard filter to get dash charts API (@dpgaspar)
+- [#13178](https://github.com/apache/superset/pull/13178) fix(cross-filters): 
apply cross filters for all charts (@simcha90)
+- [#13141](https://github.com/apache/superset/pull/13141) fix: handle lack of 
dynamic plugins (@suddjian)
+- [#13153](https://github.com/apache/superset/pull/13153) fix: engines that 
don't support comments (@dpgaspar)
+- [#12977](https://github.com/apache/superset/pull/12977) fix(alert/report): 
bulk select mode should be deactivated (@lilykuang)
+- [#13180](https://github.com/apache/superset/pull/13180) fix(sqllab): menu 
link results in 404 (@nytai)
+- [#13164](https://github.com/apache/superset/pull/13164) fix(native-filters): 
Apply range filter (@simcha90)
+- [#13165](https://github.com/apache/superset/pull/13165) fix(native-filters): 
correct apply of native filter scopes (@simcha90)
+- [#13154](https://github.com/apache/superset/pull/13154) fix(explore): Chart 
panel overflowing (@kgabryje)
+- [#13120](https://github.com/apache/superset/pull/13120) fix: misspelling 
Erik Ritter (@etr2460)
+- [#12955](https://github.com/apache/superset/pull/12955) fix(alert/report): 
add/edit modal issue (@lilykuang)
+- [#13133](https://github.com/apache/superset/pull/13133) fix(explore): 
Certificate icon not displaying for certified metrics (@kgabryje)
+- [#13147](https://github.com/apache/superset/pull/13147) fix(database): 
ensure pk_constraint is JSON serializable (@villebro)
+- [#13138](https://github.com/apache/superset/pull/13138) fix(chart-data-api): 
support numeric temporal columns (@villebro)
+- [#13090](https://github.com/apache/superset/pull/13090) fix(alerts): void 
query with numeric comparison (@dpgaspar)
+- [#13109](https://github.com/apache/superset/pull/13109) fix(FilterBox): 
treat empty defaultValues as null (@ktmud)
+- [#13094](https://github.com/apache/superset/pull/13094) fix: Fix switching 
viz type to and from Filter box (@kgabryje)
+- [#13022](https://github.com/apache/superset/pull/13022) fix: Add some 
missing Chinese translation content, including superset-ui project (@cdmikechen)
+- [#13000](https://github.com/apache/superset/pull/13000) fix(native-filters): 
set currentValue null when empty (@villebro)
+- [#13061](https://github.com/apache/superset/pull/13061) fix: Update http 
error code from 400 to 403 for permission error (@duynguyenhoang)
+- [#13029](https://github.com/apache/superset/pull/13029) fix(explore): Enable 
selecting an option not included in suggestions (@kgabryje)
+- [#13076](https://github.com/apache/superset/pull/13076) fix: API tests, make 
them possible to run independently again (@dpgaspar)
+- [#13051](https://github.com/apache/superset/pull/13051) fix: add config to 
disable dataset ownership on the old api (@dpgaspar)
+- [#12931](https://github.com/apache/superset/pull/12931) fix: add required \* 
indicator to message content/notif method in alert/report modal (@riahk)
+- [#13075](https://github.com/apache/superset/pull/13075) fix(ci): multiline 
regex in change detection (@villebro)
+- [#13008](https://github.com/apache/superset/pull/13008) fix: Disabled state 
button transition time (@AAfghahi)
+- [#13059](https://github.com/apache/superset/pull/13059) fix: sorting by 
saved metric (@villebro)
+- [#13041](https://github.com/apache/superset/pull/13041) fix: timeout context 
manager on Windows (@betodealmeida)
+- [#13042](https://github.com/apache/superset/pull/13042) fix: vertical scroll 
in query history (@betodealmeida)
+- [#13026](https://github.com/apache/superset/pull/13026) fix: UI toast typo 
(@dpgaspar)
+- [#13039](https://github.com/apache/superset/pull/13039) fix(build): black 
failing on master, add to required checks (@robdiciuccio)
+- [#13024](https://github.com/apache/superset/pull/13024) fix: fix the 
untranslated text content of Dashboard page (@cdmikechen)
+- [#13034](https://github.com/apache/superset/pull/13034) fix(ci): remove 
signature requirements for commits to master (@nytai)
+- [#12999](https://github.com/apache/superset/pull/12999) fix: add alerts and 
report to default config (@dpgaspar)
+- [#12945](https://github.com/apache/superset/pull/12945) fix: refresh 
dashboard list after bulk delete (@michael-s-molina)
+- [#12923](https://github.com/apache/superset/pull/12923) fix: added text and 
changed margins (@AAfghahi)
+- [#12966](https://github.com/apache/superset/pull/12966) fix: typo to 
apache/superset (@AAfghahi)
+- [#12973](https://github.com/apache/superset/pull/12973) fix: SQL Lab editor 
height in Safari (@betodealmeida)
+- [#12956](https://github.com/apache/superset/pull/12956) fix: SqlLab Run 
button fix (@AAfghahi)
+- [#12953](https://github.com/apache/superset/pull/12953) fix: Detecting top 
scroll on Dashboard header (@kkucharc)
+- [#12933](https://github.com/apache/superset/pull/12933) fix(viz): improve 
dtype inference logic (@villebro)
+- [#12859](https://github.com/apache/superset/pull/12859) fix: Add inclusive 
and exclusive text for start date and end date (@maloun96)
+- [#12930](https://github.com/apache/superset/pull/12930) fix(viz): bump table 
viz to fix ordering bug (@villebro)
+- [#12906](https://github.com/apache/superset/pull/12906) fix: Config for 
dataset health check (@graceguo-supercat)
+- [#12905](https://github.com/apache/superset/pull/12905) fix(chart): allow 
`null` for optional query object props (@ktmud)
+- [#12898](https://github.com/apache/superset/pull/12898) fix: comment typo 
(@etr2460)
+- [#12890](https://github.com/apache/superset/pull/12890) fix(explore): 
missing select when groupby without metrics (@villebro)
+- [#12579](https://github.com/apache/superset/pull/12579) fix: Installing 
Superset Locally Using Docker Compose (@mephinet)
+- [#12841](https://github.com/apache/superset/pull/12841) fix: correct title 
weights in UPDATING.md (@eschutho)
+- [#12836](https://github.com/apache/superset/pull/12836) fix: remove explicit 
cursor closing for BQ (@betodealmeida)
+- [#12625](https://github.com/apache/superset/pull/12625) fix(CI): properly 
configure cancel duplicates (@ktmud)
+- [#12736](https://github.com/apache/superset/pull/12736) fix: Remove double 
tooltip from metric label (@kgabryje)
+- [#12800](https://github.com/apache/superset/pull/12800) fix: rm grace period 
field for reports modal (@riahk)
+- [#12821](https://github.com/apache/superset/pull/12821) fix: don't close 
cursor before closing connection (@betodealmeida)
+- [#12811](https://github.com/apache/superset/pull/12811) fix(reports): handle 
exceptions properly in scope (@dpgaspar)
+- [#12742](https://github.com/apache/superset/pull/12742) fix: Prevent 
dashboard with filter_values template cause incompatible indicator 
(@graceguo-supercat)
+- [#12219](https://github.com/apache/superset/pull/12219) fix: tests errors 
and warnings - iteration 3 (#12212) (@michael-s-molina)
+- [#12224](https://github.com/apache/superset/pull/12224) fix: tests errors 
and warnings - iteration 5 (#12212) (@michael-s-molina)
+- [#12227](https://github.com/apache/superset/pull/12227) fix: tests errors 
and warnings - iteration 6 (#12212) (@michael-s-molina)
+- [#12223](https://github.com/apache/superset/pull/12223) fix: tests errors 
and warnings - iteration 4 (#12212) (@michael-s-molina)
+- [#12245](https://github.com/apache/superset/pull/12245) fix: tests errors 
and warnings - iteration 7 (#12212) (@michael-s-molina)
+- [#12214](https://github.com/apache/superset/pull/12214) fix: test errors and 
warnings - iteration 2 (#12212) (@michael-s-molina)
+- [#12706](https://github.com/apache/superset/pull/12706) fix: update latest 
tag action to use set-output (@eschutho)
+- [#12658](https://github.com/apache/superset/pull/12658) fix(dashboard): top 
dropdown indicator in tab moved closer to the bottom edge (@kkucharc)
+- [#12519](https://github.com/apache/superset/pull/12519) fix(native-filters): 
Reset column field for removed dataset (@agatapst)
+- [#12524](https://github.com/apache/superset/pull/12524) fix(native-filters): 
Improve UI for long native filters names (@agatapst)
+- [#12687](https://github.com/apache/superset/pull/12687) fix(native-filters): 
Show incompatible native filters indicator (@agatapst)
+- [#12702](https://github.com/apache/superset/pull/12702) fix(load_examples): 
better fix for load_data (@betodealmeida)
+- [#12692](https://github.com/apache/superset/pull/12692) fix: Adding gatsby 
remove serviceworker (@craig-rueda)
+- [#12659](https://github.com/apache/superset/pull/12659) fix(explore): Error 
message not displayed correctly in Timeseries table chart (@kgabryje)
+- [#12627](https://github.com/apache/superset/pull/12627) fix: Stabilize and 
deprecate legacy alerts module (@robdiciuccio)
+- [#12638](https://github.com/apache/superset/pull/12638) fix(CI): remove 
duplicate hive and presto tests (@ktmud)
+- [#12607](https://github.com/apache/superset/pull/12607) fix: save tabs when 
saving the query bug (@hughhhh)
+- [#12240](https://github.com/apache/superset/pull/12240) fix: helm chart to 
use Bitnami chart (@liamnv)
+- [#12567](https://github.com/apache/superset/pull/12567) fix: update helm 
chart repository (@palindrom615)
+- [#12526](https://github.com/apache/superset/pull/12526) fix: ignore system 
files on import (@betodealmeida)
+- [#12182](https://github.com/apache/superset/pull/12182) fix: Add Omnibar 
Feature Flag (@hughhhh)
+- [#12252](https://github.com/apache/superset/pull/12252) fix: Displaying 
filter indicators (@agatapst)
+- [#12360](https://github.com/apache/superset/pull/12360) fix: css templates 
modal cleanup: keep modal open on error, utilize useEffect (@riahk)
+- [#12467](https://github.com/apache/superset/pull/12467) fix(alert/report): 
remove crontab guru link from add/edit modal (@lilykuang)
+- [#12461](https://github.com/apache/superset/pull/12461) fix(releasing): svn 
dockerfile requirements path (@villebro)
+- [#12412](https://github.com/apache/superset/pull/12412) fix: uneven list 
header padding (#12029) (@michael-s-molina)
+- [#12432](https://github.com/apache/superset/pull/12432) fix(explore): fixed 
table header in chrome (@junlincc)
+- [#12433](https://github.com/apache/superset/pull/12433) fix: update 
savedatasetmodal message (@hughhhh)
+- [#12354](https://github.com/apache/superset/pull/12354) fix(api): prefix 
class names on events actions (@dpgaspar)
+- [#12404](https://github.com/apache/superset/pull/12404) fix(explore): 
Prevent duplicated query by data table (@graceguo-supercat)
+
+**Others**
+- [#13304](https://github.com/apache/superset/pull/13304) test: change 
data-test-id to data-test in FlashProvider (@yardz)
+- [#13171](https://github.com/apache/superset/pull/13171) docs: Connecting to 
Trino Databases (@dungdm93)
+- [#12238](https://github.com/apache/superset/pull/12238) chore: update 
instructions for Pinot in connecting to databases (@pablo-tech)
+- [#12920](https://github.com/apache/superset/pull/12920) refactor: Bootstrap 
to AntD - Collapse (@michael-s-molina)
+- [#13292](https://github.com/apache/superset/pull/13292) test: replace 
data-test-id with data-test (@ktmud)
+- [#13220](https://github.com/apache/superset/pull/13220) test: Switching 
FlashProvider to function component & creating tests (@yardz)
+- [#13235](https://github.com/apache/superset/pull/13235) refactor: Move 
raise_for_dashboard_access to security manager (@bolkedebruin)
+- [#13212](https://github.com/apache/superset/pull/13212) refactor(api): csrf 
token on the new REST API (@dpgaspar)
+- [#12870](https://github.com/apache/superset/pull/12870) test: fix schedules 
tests (@kstrz)
+- [#12864](https://github.com/apache/superset/pull/12864) test: 
reports/commands_tests (@kstrz)
+- [#13241](https://github.com/apache/superset/pull/13241) test: add Tests and 
Storybook for AsyncAceEditor (@michael-s-molina)
+- [#13268](https://github.com/apache/superset/pull/13268) 
refactor(native-filters): Refactor filters config modal module (@simcha90)
+- [#13258](https://github.com/apache/superset/pull/13258) chore(viz): bump 
superset-ui 0.17.10 (@villebro)
+- [#13260](https://github.com/apache/superset/pull/13260) ci: always execute 
tests on non-PRs (@villebro)
+- [#12122](https://github.com/apache/superset/pull/12122) refactor: Bootstrap 
to AntD - Alert (@michael-s-molina)
+- [#13215](https://github.com/apache/superset/pull/13215) chore: bump node.js 
to v14 (@kgabryje)
+- [#13250](https://github.com/apache/superset/pull/13250) refactor: add 
frontend debounce constants (@ktmud)
+- [#13213](https://github.com/apache/superset/pull/13213) test: Tests and 
Storybook entry for the ModalTrigger Component (@geido)
+- [#13176](https://github.com/apache/superset/pull/13176) test: Tests and 
Storybook entry for the Popover component (@geido)
+- [#12773](https://github.com/apache/superset/pull/12773) chore: Tab title to 
be empty when creating a new tab (@geido)
+- [#13002](https://github.com/apache/superset/pull/13002) refactor: Bootstrap 
to AntD - DropdownButton (@michael-s-molina)
+- [#13098](https://github.com/apache/superset/pull/13098) refactor: 
HighligthedSQL into functional component with Typescript (@AAfghahi)
+- [#13143](https://github.com/apache/superset/pull/13143) chore: add non-dev 
docker-compose workflow (@nytai)
+- [#13185](https://github.com/apache/superset/pull/13185) chore: use 
shillelagh instead of gsheetsdb (@betodealmeida)
+- [#13201](https://github.com/apache/superset/pull/13201) docs: Fix typo in 
pyathena connection string (@ctSkennerton)
+- [#13179](https://github.com/apache/superset/pull/13179) test: Adding test 
and storybook to "Loading" component. (@yardz)
+- [#13184](https://github.com/apache/superset/pull/13184) test: creates 
storybook and tests for Tooltip component (@michael-s-molina)
+- [#13136](https://github.com/apache/superset/pull/13136) test(coverage): 
ignore database migrations on coverage reports (@willbarrett)
+- [#13142](https://github.com/apache/superset/pull/13142) refactor: remove 
deprecated field from frontend usage (@suddjian)
+- [#13087](https://github.com/apache/superset/pull/13087) perf: add lazy 
loading along react-router routes and router links in menu (@nytai)
+- [#13139](https://github.com/apache/superset/pull/13139) style(list view): 
table sort icon alignment (@nytai)
+- [#13149](https://github.com/apache/superset/pull/13149) chore: change test 
environment to jsdom (@michael-s-molina)
+- [#13100](https://github.com/apache/superset/pull/13100) chore: upgrade to 
npm 7 and superset-ui 0.17.9 (@ktmud)
+- [#13113](https://github.com/apache/superset/pull/13113) build: add more 
files to .dockerignore (@ktmud)
+- [#13021](https://github.com/apache/superset/pull/13021) 
refactor(native-filters): decouple params from filter config modal (first 
phase) (@simcha90)
+- [#13079](https://github.com/apache/superset/pull/13079) test(frontend): 
improves react-testing-library configuration (@michael-s-molina)
+- [#13083](https://github.com/apache/superset/pull/13083) docs: Added a note 
about the ! prefix for breaking changes to CONTRIBUTING.md (@garden-of-delete)
+- [#13069](https://github.com/apache/superset/pull/13069) chore: lock down npm 
to v6 (@ktmud)
+- [#13063](https://github.com/apache/superset/pull/13063) style: fix typo in 
documentation (@dbz10)
+- [#12981](https://github.com/apache/superset/pull/12981) docs(changelog): add 
entries for 1.0.1 (@villebro)
+- [#12982](https://github.com/apache/superset/pull/12982) ci: skip cypress if 
no code changes (@villebro)
+- [#12970](https://github.com/apache/superset/pull/12970) chore: add cypress 
required checks for branch protection (@eschutho)
+- [#13014](https://github.com/apache/superset/pull/13014) chore: updates 
storybook to version 6.1.17 (@michael-s-molina)
+- [#13004](https://github.com/apache/superset/pull/13004) chore: Swap Slack 
Url 2 more places (@srinify)
+- [#12889](https://github.com/apache/superset/pull/12889) 
refactor(native-filters): refactor code of native filters (@simcha90)
+- [#12991](https://github.com/apache/superset/pull/12991) docs: typo fix in 
release notes (@iercan)
+- [#12873](https://github.com/apache/superset/pull/12873) refactor: 
TemplateParamsEditor.jsx converted from class to functional component 
(@lyndsiWilliams)
+- [#12806](https://github.com/apache/superset/pull/12806) refactor: speed up 
conversion from dataframe to list of records (@TColl)
+- [#12980](https://github.com/apache/superset/pull/12980) chore: rename action 
to docker-build (@eschutho)
+- [#12969](https://github.com/apache/superset/pull/12969) chore: add more 
required checks for branch protection (@eschutho)
+- [#12974](https://github.com/apache/superset/pull/12974) chore: swap slack 
url on ASF docs (@srinify)
+- [#12972](https://github.com/apache/superset/pull/12972) chore: cleanup no-op 
Cypress (chrome) job (@ktmud)
+- [#12968](https://github.com/apache/superset/pull/12968) chore: change name 
of lint action (@eschutho)
+- [#12967](https://github.com/apache/superset/pull/12967) chore: remove 
example token to avoid confusion (@ktmud)
+- [#12928](https://github.com/apache/superset/pull/12928) chore: add more 
required checks (@eschutho)
+- [#12583](https://github.com/apache/superset/pull/12583) ci: conditionally 
skip python and frontend tests (@villebro)
+- [#12180](https://github.com/apache/superset/pull/12180) test: Added some 
Cypress tests for Native Filters (@adam-stasiak)
+- [#12936](https://github.com/apache/superset/pull/12936) test: fix table 
chart sort order E2E tests (@ktmud)
+- [#12921](https://github.com/apache/superset/pull/12921) chore: rename 
duplicate build jobs (@eschutho)
+- [#12885](https://github.com/apache/superset/pull/12885) test: speedup celery 
tests (@kstrz)
+- [#12901](https://github.com/apache/superset/pull/12901) build(deps): Bump 
jinja2 to 2.11.3 (@robdiciuccio)
+- [#12848](https://github.com/apache/superset/pull/12848) 
chore(dashboard_rbac): remove overlapping security tests (@amitmiran137)
+- [#12894](https://github.com/apache/superset/pull/12894) chore: remove SIP-38 
feature flag (@villebro)
+- [#12694](https://github.com/apache/superset/pull/12694) chore: add required 
review on master (@eschutho)
+- [#12738](https://github.com/apache/superset/pull/12738) refactor: Bootstrap 
to AntD - Radio (@michael-s-molina)
+- [#12869](https://github.com/apache/superset/pull/12869) refactor: dbapi 
exception mapping for dbapi's (@dpgaspar)
+- [#12884](https://github.com/apache/superset/pull/12884) chore(lint): fix 
pre-commit error (@villebro)
+- [#12857](https://github.com/apache/superset/pull/12857) 
refactor(color-schemes): refactor setting of color schemes (@simcha90)
+- [#12774](https://github.com/apache/superset/pull/12774) refactor: Bootstrap 
to AntD - Label (@michael-s-molina)
+- [#10771](https://github.com/apache/superset/pull/10771) [Helm] Automate 
datasource import (@ejianu)
+- [#12610](https://github.com/apache/superset/pull/12610) build: Skip loading 
example data from configs in CI (@robdiciuccio)
+- [#12832](https://github.com/apache/superset/pull/12832) refactor: Bootstrap 
to AntD - Button (@michael-s-molina)
+- [#12854](https://github.com/apache/superset/pull/12854) chore: bump 
superset-ui packages to v0.17.2 and v0.17.3 (@ktmud)
+- [#12846](https://github.com/apache/superset/pull/12846) chore: Slight 
formatting fixes in exploring-data.mdx (@neilsmiller)
+- [#12812](https://github.com/apache/superset/pull/12812) 
chore(native-filters): Connect indicator magnifier with Filter Bar (@agatapst)
+- [#12828](https://github.com/apache/superset/pull/12828) chore: update 
capitalization guideline (@ktmud)
+- [#12831](https://github.com/apache/superset/pull/12831) docs: fix config 
comment (@zsellami)
+- [#12778](https://github.com/apache/superset/pull/12778) chore: Added 
documentation for 1.0 flags (@srinify)
+- [#12743](https://github.com/apache/superset/pull/12743) docs: wrong port 
name in NOTES.txt (@maddyobrienjones)
+- [#12816](https://github.com/apache/superset/pull/12816) docs: add Cape 
Crypto to users list (@leocape)
+- [#12833](https://github.com/apache/superset/pull/12833) docs: fix broken 
link to spark. (@pr-lawrence)
+- [#12772](https://github.com/apache/superset/pull/12772) refactor: change 
Windows new tab shortcut to ctrl + q (@lyndsiWilliams)
+- [#10270](https://github.com/apache/superset/pull/10270) refactor: migrate 
table chart to new API (@ktmud)
+- [#12815](https://github.com/apache/superset/pull/12815) chore: Upgrade 
react-dnd to 11.1.3 (@kgabryje)
+- [#12710](https://github.com/apache/superset/pull/12710) docs: Add support 
for Hologres (@TimothyDing)
+- [#12818](https://github.com/apache/superset/pull/12818) docs: add A3Data to 
users list (@neylsoncrepalde)
+- [#12795](https://github.com/apache/superset/pull/12795) refactor: Updated 
tooltip help text in edit database > SQL Lab settings (@lyndsiWilliams)
+- [#12813](https://github.com/apache/superset/pull/12813) chore: adding 
feature flags v1 documentation in Release Notes (@srinify)
+- [#12748](https://github.com/apache/superset/pull/12748) chore(docs): update 
tox testing run to relevant python env (@amitmiran137)
+- [#12754](https://github.com/apache/superset/pull/12754) chore: add breaking 
change to title regex (@eschutho)
+- [#12749](https://github.com/apache/superset/pull/12749) docs: Adding design 
guidelines to CONTRIBUTING.md (@mihir174)
+- [#12792](https://github.com/apache/superset/pull/12792) docs: fix 1.0.0 
README images (v2) (@dpgaspar)
+- [#12781](https://github.com/apache/superset/pull/12781) docs: 1.0.0 release 
notes update: media + feature flags (@garden-of-delete)
+- [#12777](https://github.com/apache/superset/pull/12777) docs: update 
changelog for 1.0.0 (@eschutho)
+- [#12626](https://github.com/apache/superset/pull/12626) docs: Updates to 
Superset Site for 1.0 (@srinify)
+- [#12655](https://github.com/apache/superset/pull/12655) 
test(native-filters): scoping tree in native filters modal (@simcha90)
+- [#12605](https://github.com/apache/superset/pull/12605) chore: upgrade 
Cypress to 6.2.1 (@ktmud)
+- [#12218](https://github.com/apache/superset/pull/12218) refactor(explore): 
Enhance Dataset and Control panel Collapse components (@geido)
+- [#12739](https://github.com/apache/superset/pull/12739) docs: Fixed typo on 
line 348 (@lyndsiWilliams)
+- [#12693](https://github.com/apache/superset/pull/12693) docs: Remove 
gatsby-plugin-offline (@robdiciuccio)
+- [#12615](https://github.com/apache/superset/pull/12615) test: oracle engine 
spec (@kstrz)
+- [#12520](https://github.com/apache/superset/pull/12520) test: hive db engine 
spec (@kstrz)
+- [#12737](https://github.com/apache/superset/pull/12737) chore: Replace 
Expired Join Slack Community URL With New One (@srinify)
+- [#12718](https://github.com/apache/superset/pull/12718) docs: link fix in 
CONTRIBUTING.md (@ayanginet)
+- [#12709](https://github.com/apache/superset/pull/12709) ci: use git 
submodules for (securely) using third party Github Actions (@TobKed)
+- [#12678](https://github.com/apache/superset/pull/12678) chore: add a note 
about using Draft PR's importance (@amitmiran137)
+- [#12673](https://github.com/apache/superset/pull/12673) docs(db engines): 
Updade DB2 connection prefix (@cabo40)
+- [#12682](https://github.com/apache/superset/pull/12682) docs: updates 
updating.md with 1.0 (@dpgaspar)
+- [#12455](https://github.com/apache/superset/pull/12455) chore: apply 
capitalization guidelines - iteration 9 (#12343) (@michael-s-molina)
+- [#12666](https://github.com/apache/superset/pull/12666) chore: skip CI on 
draft PR (@amitmiran137)
+- [#12594](https://github.com/apache/superset/pull/12594) test: presto engine 
spec tests (@kstrz)
+- [#12539](https://github.com/apache/superset/pull/12539) test(hana): add 
test_convert_dttm (@kstrz)
+- [#12633](https://github.com/apache/superset/pull/12633) docs(release): add 
some improvements from 1.0.0 release round (@villebro)
+- [#12616](https://github.com/apache/superset/pull/12616) test: sqlite db 
engine spec (@kstrz)
+- [#12642](https://github.com/apache/superset/pull/12642) docs: fix redirect 
from bad find/replace (@mistercrunch)
+- [#12637](https://github.com/apache/superset/pull/12637) docs: README.md 
navigation changes for 1.0.0 (@garden-of-delete)
+- [#12617](https://github.com/apache/superset/pull/12617) refactor: rename 
DbColumnType to GenericDataType (@ktmud)
+- [#12171](https://github.com/apache/superset/pull/12171) refactor: Sync 
Scoping tree with Forms data (@simcha90)
+- [#12413](https://github.com/apache/superset/pull/12413) chore(chart): Save 
modal select placeholder value (@nikolagigic)
+- [#12591](https://github.com/apache/superset/pull/12591) docs(release): add 
vote thread to result template (@villebro)
+- [#12570](https://github.com/apache/superset/pull/12570) refactor: extract to 
method is_user_admin (@amitmiran137)
+- [#12571](https://github.com/apache/superset/pull/12571) chore: update 
contribution guide (@amitmiran137)
+- [#12511](https://github.com/apache/superset/pull/12511) docs : release notes 
1.0 (@garden-of-delete)
+- [#12563](https://github.com/apache/superset/pull/12563) chore: upgrade CI 
runner to Ubuntu 20.04 (@ktmud)
+- [#12534](https://github.com/apache/superset/pull/12534) build(cypress): Add 
Cypress parallelization with obfuscated record key (@robdiciuccio)
+- [#12490](https://github.com/apache/superset/pull/12490) test: /postgres 
engine spec test coverage (@kstrz)
+- [#12548](https://github.com/apache/superset/pull/12548) test: mysql engine 
spec (@kstrz)
+- [#12510](https://github.com/apache/superset/pull/12510) build: fix emotion 
theme errors when npm link @superset-ui/core (@ktmud)
+- [#12523](https://github.com/apache/superset/pull/12523) ci(cypress): disable 
failing test (@villebro)
+- [#12405](https://github.com/apache/superset/pull/12405) chore: remove 
duplicate DashboardFilter class and change imports accordingly (@amitmiran137)
+- [#12420](https://github.com/apache/superset/pull/12420) chore: Add owner 
field to the alerts list (@bkyryliuk)
+- [#12394](https://github.com/apache/superset/pull/12394) build: add 
cancel-workflow-runs action locally (@ktmud)
+- [#12267](https://github.com/apache/superset/pull/12267) docs: fix styles and 
add algolia search classes (@pkdotson)
+- [#12020](https://github.com/apache/superset/pull/12020) build(deps): bump 
ini from 1.3.5 to 1.3.8 in /docs (@dependabot[bot])
+- [#12232](https://github.com/apache/superset/pull/12232) build(deps): bump 
urijs from 1.19.1 to 1.19.4 in /superset-frontend (@dependabot[bot])
+- [#11869](https://github.com/apache/superset/pull/11869) docs: reword and 
cleanup docs for local dev server (@ktmud)
+
 ### 1.0.1 (Tue Feb 2 09:24:40 2021 +0000)
 - [#12872](https://github.com/apache/superset/pull/12872) feat(release): add 
github token to changelog script (#12872) (@dpgaspar)
 - [#12886](https://github.com/apache/superset/pull/12886) fix: allow users to 
reset their passwords (#12886) (@dpgaspar)
diff --git a/RELEASING/changelog.py b/RELEASING/changelog.py
index 1d83aad..109ff73 100644
--- a/RELEASING/changelog.py
+++ b/RELEASING/changelog.py
@@ -26,12 +26,14 @@ from typing import Any, Dict, Iterator, List, Optional, 
Union
 import click
 
 try:
-    from github import BadCredentialsException, Github, PullRequest
+    from github import BadCredentialsException, Github, PullRequest, Repository
 except ModuleNotFoundError:
     print("PyGithub is a required package for this script")
     exit(1)
 
 SUPERSET_REPO = "apache/superset"
+SUPERSET_PULL_REQUEST_TYPES = r"^(fix|feat|chore|refactor|docs|build|ci|/gmi)"
+SUPERSET_RISKY_LABELS = r"^(blocking|risk|hold|revert|security vulnerability)"
 
 
 @dataclass
@@ -65,15 +67,22 @@ class GitChangeLog:
     """
 
     def __init__(
-        self, version: str, logs: List[GitLog], access_token: Optional[str] = 
None
+        self,
+        version: str,
+        logs: List[GitLog],
+        access_token: Optional[str] = None,
+        risk: Optional[bool] = False,
     ) -> None:
         self._version = version
         self._logs = logs
+        self._pr_logs_with_details: Dict[int, Dict[str, Any]] = {}
         self._github_login_cache: Dict[str, Optional[str]] = {}
+        self._github_prs: Dict[int, Any] = {}
         self._wait = 10
         github_token = access_token or os.environ.get("GITHUB_TOKEN")
         self._github = Github(github_token)
-        self._superset_repo = ""
+        self._show_risk = risk
+        self._superset_repo: Repository = None
 
     def _fetch_github_pr(self, pr_number: int) -> PullRequest:
         """
@@ -81,6 +90,11 @@ class GitChangeLog:
         """
         try:
             github_repo = self._github.get_repo(SUPERSET_REPO)
+            self._superset_repo = github_repo
+            pull_request = self._github_prs.get(pr_number)
+            if not pull_request:
+                pull_request = github_repo.get_pull(pr_number)
+                self._github_prs[pr_number] = pull_request
         except BadCredentialsException as ex:
             print(
                 f"Bad credentials to github provided"
@@ -88,7 +102,7 @@ class GitChangeLog:
             )
             sys.exit(1)
 
-        return github_repo.get_pull(pr_number)
+        return pull_request
 
     def _get_github_login(self, git_log: GitLog) -> Optional[str]:
         """
@@ -108,21 +122,102 @@ class GitChangeLog:
         self._github_login_cache[author_name] = github_login
         return github_login
 
+    def _has_commit_migrations(self, git_sha: str) -> bool:
+        commit = self._superset_repo.get_commit(sha=git_sha)
+        return any(
+            "superset/migrations/versions/" in file.filename for file in 
commit.files
+        )
+
+    def _get_pull_request_details(self, git_log: GitLog) -> Dict[str, Any]:
+        pr_number = git_log.pr_number
+        if pr_number:
+            detail = self._pr_logs_with_details.get(pr_number)
+            if detail:
+                return detail
+            pr_info = self._fetch_github_pr(pr_number)
+
+        has_migrations = self._has_commit_migrations(git_log.sha)
+        title = pr_info.title if pr_info else git_log.message
+        pr_type = re.match(SUPERSET_PULL_REQUEST_TYPES, title)
+        if pr_type:
+            pr_type = pr_type.group().strip('"')
+
+        labels = (" | ").join([label.name for label in pr_info.labels])
+        is_risky = self._is_risk_pull_request(pr_info.labels)
+        detail = {
+            "id": pr_number,
+            "has_migrations": has_migrations,
+            "labels": labels,
+            "title": title,
+            "type": pr_type,
+            "is_risky": is_risky or has_migrations,
+        }
+
+        if pr_number:
+            self._pr_logs_with_details[pr_number] = detail
+
+        return detail
+
+    def _is_risk_pull_request(self, labels: List[Any]) -> bool:
+        for label in labels:
+            risk_label = re.match(SUPERSET_RISKY_LABELS, label.name)
+            if risk_label is not None:
+                return True
+        return False
+
     def _get_changelog_version_head(self) -> str:
         return f"### {self._version} ({self._logs[0].time})"
 
+    def _parse_change_log(
+        self, changelog: Dict[str, str], pr_info: Dict[str, str], 
github_login: str,
+    ):
+        formatted_pr = (
+            f"- [#{pr_info.get('id')}]"
+            f"(https://github.com/{SUPERSET_REPO}/pull/{pr_info.get('id')}) "
+            f"{pr_info.get('title')} (@{github_login})\n"
+        )
+        if pr_info.get("has_migrations"):
+            changelog["Database Migrations"] += formatted_pr
+        elif pr_info.get("type") == "fix":
+            changelog["Fixes"] += formatted_pr
+        elif pr_info.get("type") == "feat":
+            changelog["Features"] += formatted_pr
+        else:
+            changelog["Others"] += formatted_pr
+
     def __repr__(self) -> str:
         result = f"\n{self._get_changelog_version_head()}\n"
+        changelog = {
+            "Database Migrations": "\n",
+            "Features": "\n",
+            "Fixes": "\n",
+            "Others": "\n",
+        }
         for i, log in enumerate(self._logs):
             github_login = self._get_github_login(log)
+            pr_info = self._get_pull_request_details(log)
+
             if not github_login:
                 github_login = log.author
-            result = result + (
-                f"- [#{log.pr_number}]"
-                f"(https://github.com/{SUPERSET_REPO}/pull/{log.pr_number}) "
-                f"{log.message} (@{github_login})\n"
-            )
+
+            if self._show_risk:
+                if pr_info.get("is_risky"):
+                    result += (
+                        f"- [#{log.pr_number}]"
+                        
f"(https://github.com/{SUPERSET_REPO}/pull/{log.pr_number}) "
+                        f"{pr_info.get('title')} (@{github_login})  "
+                        f"{pr_info.get('labels')} \n"
+                    )
+            else:
+                self._parse_change_log(changelog, pr_info, github_login)
+
             print(f"\r {i}/{len(self._logs)}", end="", flush=True)
+
+        if self._show_risk:
+            return result
+
+        for key in changelog:
+            result += f"**{key}** {changelog[key]}\n"
         return result
 
     def __iter__(self) -> Iterator[Dict[str, Any]]:
@@ -269,14 +364,20 @@ def compare(base_parameters: BaseParameters) -> None:
     help="The github access token,"
     " if not provided will try to fetch from GITHUB_TOKEN env var",
 )
[email protected]("--risk", is_flag=True, help="show all pull requests with risky 
labels")
 @click.pass_obj
-def change_log(base_parameters: BaseParameters, csv: str, access_token: str) 
-> None:
+def change_log(
+    base_parameters: BaseParameters, csv: str, access_token: str, risk: bool
+) -> None:
     """ Outputs a changelog (by PR) """
     previous_logs = base_parameters.previous_logs
     current_logs = base_parameters.current_logs
     previous_diff_logs = previous_logs.diff(current_logs)
     logs = GitChangeLog(
-        current_logs.git_ref, previous_diff_logs[::-1], 
access_token=access_token
+        current_logs.git_ref,
+        previous_diff_logs[::-1],
+        access_token=access_token,
+        risk=risk,
     )
     if csv:
         with open(csv, "w") as csv_file:

Reply via email to