Releases: nextcloud/server
Releases · nextcloud/server
v31.0.0rc4
What's Changed
- [stable31] fix(AccountProperty): better validation of twitter and fediverse handles by @backportbot in #50700
- [stable31] feat(admin_audit): write admin audit log for AnyLoginFailedEvent by @backportbot in #50710
- [stable31] enh: Fix display default expire date, add tests & tiny refactors by @backportbot in #50695
- [stable31] fix(files): support submenu in batch actions header too by @backportbot in #50714
- [stable31] fix(files): only send config update requests if user is logged in by @backportbot in #50736
- [stable31] chore(deps-dev): bump karma-coverage from 2.2.0 to 2.2.1 by @dependabot in #50718
- [stable31] chore(deps-dev): bump sass from 1.81.0 to 1.81.1 by @dependabot in #50719
- [stable31] chore(deps-dev): bump dockerode from 4.0.2 to 4.0.4 by @dependabot in #50720
- [stable31] fix: make sure we process mime extensions as string by @backportbot in #50705
- [stable31] chore(deps-dev): bump cypress-split from 1.24.0 to 1.24.10 by @dependabot in #50743
- [stable31] chore(deps-dev): bump cypress from 13.15.0 to 13.15.2 by @dependabot in #50721
- [stable31] Add LDAP test settings command by @backportbot in #50690
- [stable31] fix(setupcheck): Update setup check for PHP version to be more accurate by @backportbot in #50751
- [stable31] feat(sharing): Allow to set default view mode for public shares by @backportbot in #50758
- [stable31] Don't rethrow a type error by @backportbot in #50763
- [stable31] build(deps): Bump phpseclib/phpseclib from 2.0.47 to 2.0.48 by @susnux in #50709
- [stable31] fix: don't use cached root info from shared cache if the watcher has detected an update by @backportbot in #50760
- [stable31] fix(core): Fix undefined "application" array key error by @backportbot in #50766
- [stable31] fix(emailTemplate): use instance Name instead of Url in subject by @backportbot in #50776
- [stable31] fix: template field title by @backportbot in #50790
- 31.0.0 RC4 by @Altahrim in #50770
Full Changelog: v31.0.0rc3...v31.0.0rc4
v30.0.6
v29.0.12
v30.0.6rc2
What's Changed
- [stable30] enh: Fix display default expire date, add tests & tiny refactors by @backportbot in #50694
- [stable30] fix(AccountProperty): better validation of twitter and fediverse handles by @backportbot in #50699
- [stable30] feat(theming): allow to disable standalone windows by @backportbot in #50687
- [stable30] chore(deps-dev): bump cypress-split from 1.24.7 to 1.24.9 by @dependabot in #50726
- [stable30] chore(deps-dev): bump @nextcloud/cypress from 1.0.0-beta.12 to 1.0.0-beta.13 by @dependabot in #50725
- [stable30] fix(setupcheck): Update setup check for PHP version to be more accurate by @backportbot in #50750
- 30.0.6 RC2 by @Altahrim in #50755
Full Changelog: v30.0.6rc1...v30.0.6rc2
v29.0.12rc2
What's Changed
- [stable29] feat(theming): allow to disable standalone windows by @backportbot in #50686
- [stable29] fix(AccountProperty): better validation of twitter and fediverse handles by @backportbot in #50698
- [stable29] chore(deps-dev): bump @nextcloud/cypress from 1.0.0-beta.12 to 1.0.0-beta.13 by @dependabot in #50723
- [stable29] chore(deps-dev): bump cypress-split from 1.24.7 to 1.24.9 by @dependabot in #50724
- [stable29] feat: Use inline password confirmation in external storage settings by @backportbot in #50749
- [stable29] chore : Comprehensive e2e testing for public sharing by @backportbot in #50696
- [stable29] enh: Fix display default expire date, add tests & tiny refactors by @backportbot in #50693
- 29.0.12 RC2 by @Altahrim in #50757
Full Changelog: v29.0.12rc1...v29.0.12rc2
v31.0.0rc3
- Build(deps): Bump the symfony group with 3 updates (3rdparty#2045)
- Chore : Comprehensive e2e testing for public sharing (server#50625)
- Chore: add update-nextcloud-ocp-approve-merge workflow (logreader#1502)
- Chore: Update composer files (text#6883)
- Chore(deps-dev): bump @babel/node from 7.25.7 to 7.25.9 (server#50607)
- Chore(deps-dev): bump @testing-library/cypress from 10.0.2 to 10.0.3 (server#50609)
- Chore(deps): bump libphonenumber-js from 1.11.18 to 1.11.19 (server#50608)
- Chore(deps): bump marked from 15.0.0 to 15.0.6 (server#50606)
- Chore(deps): Bump pdfjs-dist from 3.11.174 to 4.0.189 (files_pdfviewer#1132)
- Chore(deps): bump query-string from 9.1.0 to 9.1.1 (server#50341)
- Chore(deps): Bump the symfony group with 3 updates (server#50662)
- Chore(files): Adjust wording (server#50641)
- Enh(TaskProcessingService): Cache result of getRegisteredTaskProcessingProviders (app_api#503)
- Feat: Allow to configure different policies per password context (password_policy#727)
- Feat(S3): add SSE-C support in S3 External Storage (server#50590)
- Feat(theming): allow to disable standalone windows (server#50688)
- Fix npm audit (files_pdfviewer#1126)
- Fix npm audit (password_policy#730)
- Fix: unified search provider id (server#50589)
- Fix(APIController): Allow self-test depending on token and not user-agent (notifications#2176)
- Fix(ConvertType): Read dbtype in createConnectionParams and remove safeguard (server#50565)
- Fix(files): Correctly scroll selected file into view (server#50679)
- Fix(files): Do not download files with openfile query flag (server#50681)
- Fix(files): Fix folder preview for favorites widget (server#50624)
- Fix(files): properly update store on files conversions success (server#50651)
- Fix(oauth2): adjust db schemas when migrating from owncloud (server#50675)
- Fix(settings): Clarify peculiarities of enabling encryption (server#50594)
- Fix(sharing): better handle file share attributes (server#50647)
- Fix(TaskProcessing\Manager): Always use distributed cache and use PHP serialize (server#50683)
- Fix(theming): high contrast themes scrollbar (server#50659)
- Fix(unified-search): filteredProviders now inherits all provider props (server#50632)
- Move initialization from helper script to Vue component (files_pdfviewer#1130)
v30.0.6rc1
- Add sse_c_key from S3 object storage properties config to list of sensitive values (server#49934)
- Build(deps-dev): bump dockerode from 4.0.2 to 4.0.4 (server#50247)
- Build(deps-dev): bump ts-loader from 9.5.1 to 9.5.2 (server#50248)
- Build(deps): bump @nextcloud/calendar-availability-vue from 2.2.4 to 2.2.6 (server#50139)
- Build(deps): bump @nextcloud/password-confirmation from 5.3.0 to 5.3.1 (server#50250)
- Build(deps): Bump doctrine/dbal from 3.9.1 to 3.9.4 (3rdparty#2029)
- Build(deps): bump libphonenumber-js from 1.11.16 to 1.11.18 (server#50249)
- Build(deps): Bump mlocati/ip-lib from 1.18.0 to 1.18.1 (3rdparty#1969)
- Build(deps): Bump mlocati/ip-lib from 1.18.0 to 1.18.1 (server#50529)
- Build(deps): Bump phpseclib/phpseclib from 2.0.47 to 2.0.48 (3rdparty#2014)
- Build(deps): Bump the symfony group across 1 directory with 7 updates (3rdparty#2020)
- Build(deps): Bump the symfony group across 1 directory with 7 updates (server#50463)
- Build(deps): Bump the symfony group with 3 updates (3rdparty#2050)
- Bump @nextcloud/files from 3.10.0 to 3.10.1 (server#49865)
- Bump phpseclib/phpseclib from 2.0.47 to 2.0.48 (server#50539)
- Chore : Comprehensive e2e testing for public sharing (server#50626)
- Chore: add update-nextcloud-ocp-approve-merge workflow (logreader#1504)
- Chore: update icewind/smb to 3.7.0 (server#50670)
- Chore: update workflows (logreader#1495)
- Chore(3rdParty): Bump doctrine/dbal from 3.9.1 to 3.9.4 (server#50316)
- Chore(dep): bump relative-ci/agent-upload-artifact-action (text#6860)
- Chore(deps-dev): Bump @nextcloud/vite-config from 1.5.0 to 1.5.1 (notifications#2165)
- Chore(deps-dev): bump @testing-library/cypress from 10.0.2 to 10.0.3 (server#50346)
- Chore(deps-dev): bump @types/dockerode from 3.3.33 to 3.3.34 (server#50348)
- Chore(deps-dev): Bump vite from 5.4.11 to 5.4.14 (firstrunwizard#1496)
- Chore(deps): bump libphonenumber-js from 1.11.18 to 1.11.19 (server#50615)
- Chore(deps): bump moment-timezone from 0.5.45 to 0.5.46 (server#49777)
- Chore(deps): bump moment-timezone from 0.5.46 to 0.5.47 (server#50616)
- Chore(deps): Bump pdfjs-dist from 3.11.174 to 4.0.189 (files_pdfviewer#1133)
- Chore(deps): Bump the symfony group with 3 updates (server#50664)
- Chore(deps): Update @nextcloud/upload to 1.8.0 (server#50297)
- Chore(deps): update dependency @nextcloud/vite-config to ^1.5.0 (viewer#2685)
- Chore(deps): update dependency dockerode to ^4.0.4 (viewer#2694)
- Chore(deps): update dependency typescript to ^5.7.3 (viewer#2684)
- Chore(i18n): Fixed grammar and improved wording (server#48084)
- Chore(i18n): Improved grammar (server#50268)
- CI: Update workflows + remove broken ones (files_pdfviewer#1110)
- Ci(reuse): Fix translation reuse mapping (server#50395)
- Docs(HTTP): Add proper docs for CORS attribute (server#50106)
- Feat: Adapt providers
disabled
property to match user applied filters (server#50154) - Feat: Add team resource providers capability (circles#1846)
- Feat: Ease opening photos picker in album content view (photos#2786)
- Feat: Migrate to files:node:updated (text#6853)
- Feat: Support X-NC-Skip-Trashbin header (server#50404)
- Feat(core): offer clipboard fallback for non-secure environments (server#50478)
- Files: harden thumbnail endpoint (server#50441)
- Fix disabled annotation edition in view only files (files_pdfviewer#1123)
- Fix npm audit (files_pdfviewer#1125)
- Fix npm audit (firstrunwizard#1437)
- Fix npm audit (logreader#1470)
- Fix npm audit (logreader#1500)
- Fix npm audit (notifications#2151)
- Fix npm audit (password_policy#675)
- Fix npm audit (password_policy#718)
- Fix npm audit (password_policy#729)
- Fix npm audit (recommendations#810)
- Fix opening federated shares (server#50572)
- Fix path to image resources (files_pdfviewer#1117)
- Fix:
user:settings
command when user is not available (server#50493) - Fix: add more space to taskprocessing columns (app_api#491)
- Fix: adjust url for task links (server#50414)
- Fix: apostrophe issue (firstrunwizard#1509)
- Fix: Apply enforce theme config for anonymous users as well (server#50122)
- Fix: change translation logic to handle plurals better (server#50059)
- Fix: Correctly return app id and app version for
core
styles and images (server#50408) - Fix: detect deleted items as updated for smb storage (server#50574)
- Fix: don't skip scanner users filesystem if they have a mountpoint at //files/ (server#49991)
- Fix: Ensure
label
is always a string (server#50448) - Fix: Exclude non accepted shares when computing access list (server#50559)
- Fix: Filter for folders in cleanup old preview job (server#50472)
- Fix: improve checks for moving shares/storages into other mounts (server#50163)
- Fix: invalid keys (viewer#2710)
- Fix: Metadata field search (server#50422)
- Fix: Redirect user to login if session is terminated (server#49940)
- Fix: Show recipient email addresses in share owner notification email (server#50536)
- Fix: storage wrapper / files scanner do not array access on null (server#50437)
- Fix: Trim tags on adding or editing (server#50327)
- Fix: unified search provider id (server#50588)
- Fix(caldav): rename default calendar to keep it in the trashbin instead of purging it (server#50144)
- Fix(CalDav): Spelling (server#50509)
- Fix(ConvertType): Read dbtype in createConnectionParams and remove safeguard (server#50564)
- Fix(dashboard): don't initially load items of hidden api widgets (server#50174)
- Fix(dashboard): don't reload hidden widgets (server#50120)
- Fix(dav): default calendar and address book not created on first login (server#50372)
- [Fix(db): Cre...
v29.0.12rc1
- Add sse_c_key from S3 object storage properties config to list of sensitive values (server#49933)
- Build(deps-dev): bump dockerode from 4.0.2 to 4.0.4 (server#50251)
- Build(deps): bump @nextcloud/files from 3.10.0 to 3.10.1 (server#50134)
- Build(deps): bump debounce from 2.1.0 to 2.1.1 (server#50133)
- Build(deps): bump dompurify from 3.1.5 to 3.1.7 (server#50135)
- Build(deps): Bump symfony/* to latest 5.4 (3rdparty#2044)
- Build(deps): Bump symfony/* to latest 5.4 (server#50544)
- Chore: add update-nextcloud-ocp-approve-merge workflow (logreader#1503)
- Chore(ci): update workflows (logreader#1463)
- Chore(deps-dev): bump @testing-library/cypress from 10.0.2 to 10.0.3 (server#50416)
- Chore(deps-dev): bump @types/dockerode from 3.3.26 to 3.3.34 (server#50415)
- Chore(deps-dev): bump ts-jest from 29.1.2 to 29.1.5 (server#50350)
- Chore(deps-dev): bump ts-loader from 9.5.1 to 9.5.2 (server#50343)
- Chore(deps-dev): Bump vite from 5.4.11 to 5.4.14 (firstrunwizard#1498)
- Chore(deps): bump @nextcloud/calendar-availability-vue from 2.2.2 to 2.2.6 (server#50349)
- Chore(deps): bump @nextcloud/moment from 1.3.1 to 1.3.2 (server#50617)
- Chore(deps): bump @nextcloud/vue from 8.17.0 to 8.17.1 (server#49776)
- Chore(deps): bump moment-timezone from 0.5.46 to 0.5.47 (server#50618)
- Chore(deps): Bump pdfjs-dist from 3.11.174 to 4.0.189 (files_pdfviewer#1134)
- Chore(deps): bump pinia from 2.3.0 to 2.3.1 (server#50340)
- Chore(deps): update dependency @nextcloud/vite-config to ^1.5.0 (viewer#2687)
- Chore(deps): update dependency dockerode to ^4.0.4 (viewer#2695)
- Chore(deps): update dependency typescript to ^5.7.3 (viewer#2686)
- Chore(i18n): Fixed grammar and improved wording (server#48083)
- CI: Update workflows + remove broken ones (files_pdfviewer#1111)
- Docs(HTTP): Add proper docs for CORS attribute (server#50105)
- Feat: Adapt providers
disabled
property to match user applied filters (server#50153) - Feat: Add team resource providers capability (circles#1847)
- Feat: Ease opening photos picker in album content view (photos#2791)
- Feat: Support X-NC-Skip-Trashbin header (server#50403)
- Files: harden thumbnail endpoint (server#50445)
- Fix disabled annotation edition in view only files (files_pdfviewer#1122)
- Fix npm audit (files_pdfviewer#1127)
- Fix npm audit (firstrunwizard#1436)
- Fix npm audit (logreader#1435)
- Fix npm audit (password_policy#676)
- Fix npm audit (password_policy#731)
- Fix npm audit (recommendations#808)
- Fix opening federated shares (server#50571)
- Fix path to image resources (files_pdfviewer#1115)
- Fix: adjust url for task links (server#50413)
- Fix: Correctly return app id and app version for
core
styles and images (server#50409) - Fix: detect deleted items as updated for smb storage (server#50575)
- Fix: don't skip scanner users filesystem if they have a mountpoint at //files/ (server#49990)
- Fix: Exclude non accepted shares when computing access list (server#50558)
- Fix: improve checks for moving shares/storages into other mounts (server#50159)
- Fix: invalid keys (viewer#2712)
- Fix: Metadata field search (server#50421)
- Fix: Redirect user to login if session is terminated (server#49939)
- Fix: storage wrapper / files scanner do not array access on null (server#50525)
- Fix(ConvertType): Read dbtype in createConnectionParams and remove safeguard (server#50563)
- Fix(dashboard): don't initially load items of hidden api widgets (server#50173)
- Fix(dashboard): don't reload hidden widgets (server#50119)
- Fix(dav): default calendar and address book not created on first login (server#50371)
- Fix(deps): downgrade react from 19 to 18 (viewer#2715)
- Fix(deps): update dependency debounce to ^2.2.0 (viewer#2657)
- Fix(deps): update dependency vue-material-design-icons to ^5.3.1 (viewer#2658)
- Fix(encryption): handle empty encryptionModules fine (server#50277)
- Fix(files_sharing): Respect permissions passed when creating link shares (server#50504)
- Fix(files_versions): Update
unencrypted_size
during rollback (server#50522) - Fix(files): actions submenu papercuts (server#50124)
- Fix(files): Add empty alt text to purely decorative icons (server#50242)
- Fix(files): Restore page title (folder - view - product) (server#50213)
- Fix(files): sort not working after changing views (server#50283)
- Fix(Http): Only allow valid HTTP status code values via template (server#50088)
- Fix(IInitialState): Allow provideLazyInitialState() closure to return array (server#50456)
- Fix(oauth2): adjust db schemas when migrating from owncloud (server#50674)
- Fix(OC_Files): Fix error response when
event
was not set (server#50600) - Fix(performance): use low resolution for blurhash (server#50513)
- Fix(s3): treat empty sse_c_key as not set (server#50545)
- Fix(security): Update .well-known/security.txt expiration date (server#50334)
- Fix(security): Update code signing revocation list (server#50385)
- Fix(settings): Clarify peculiarities of enabling encryption (server#50596)
- Fix(settings): Fix mail server settings form (server#50183)
- Fix(settings): show the correct initial locale in Personal info (server#50071)
- Fix(SetupChecks): Pass webfinger if the handler returns 400 too (server#50439)
- Fix(sharing): better handle file share attributes (server#50648)
- Fix(TemplateManager): Remove warning message (server#50275)
- Fix(theming): Harden admin theming settings (server#50487)
- Fix(user_ldap): Do not map groups we do not know if they match filter (server#50500)
- Move initialization from helper script to Vue component (files_pdfviewer#1128)
- [Stable30] fix(NegativeSampleGenerator): Prevent duplicate user IDs when getting… (suspicious_login#972)](nextcloud/suspicious_login#972)
- [Test(group): fix frequent `testSearchGr...
v31.0.0rc2
What's Changed
- chore(branchoff): Test against stable31 branches by @nickvergessen in #50351
- [stable31] fix(translations): Fix profile and webhook_listeners by @backportbot in #50356
- [stable31] fix(security): Update .well-known/security.txt expiration date by @backportbot in #50332
- [stable31] fix: remove return type by @backportbot in #50367
- [stable31] chore: add profile translations reuse license by @backportbot in #50370
- [stable31] fix(dav): default calendar and address book not created on first login by @backportbot in #50373
- [stable31] Revert "fix(Share20\Manager): Ensure node is still accessible when checking share" by @backportbot in #50393
- [stable31] ci(reuse): Fix translation reuse mapping by @backportbot in #50396
- [stable31] fix: Correctly return app id and app version for
core
styles and images by @backportbot in #50407 - [stable31] feat: Support X-NC-Skip-Trashbin header by @backportbot in #50406
- [stable31] refactor: Sharing sidebar UI redesign by @backportbot in #50374
- [stable31] fix(TaskProcessing): Catch JSON encode errors in Manager#setTaskResult by @backportbot in #50388
- [stable31] fix: adjust url for task links by @backportbot in #50411
- [stable31] fix: Properly read updater channel before returning version channel as a fallback by @backportbot in #50401
- [stable31] fix: Metadata field search by @backportbot in #50420
- [stable31] feat: Use redundant label for accesibility only by @backportbot in #50423
- [stable31] fix(taskprocessing): More caching by @backportbot in #50419
- [stable31] fix(theming): remove node-vibrant dependency and usage (was moved to backend) by @backportbot in #50428
- [stable31] fix(occ): hide sensitive data while config:app:set by @backportbot in #50427
- chore(deps-dev): bump jsdoc from 4.0.3 to 4.0.4 by @dependabot in #50339
- chore(deps-dev): bump sass-loader from 16.0.2 to 16.0.4 by @dependabot in #50347
- [stable31] Fix npm audit by @nextcloud-command in #50433
- [stable31] files: harden thumbnail endpoint by @backportbot in #50442
- [stable31] fix(SetupChecks): Pass webfinger if the handler returns 400 too by @backportbot in #50438
- chore(deps): bump pinia from 2.3.0 to 2.3.1 by @dependabot in #50344
- [stable31] fix: Ensure
label
is always a string by @backportbot in #50449 - [stable31] Fix outdated OpenAPI specs by @backportbot in #50451
- [stable31] fix(settings): Add some context to the PHP memory limit error by @backportbot in #50450
- chore(deps-dev): bump wait-on from 8.0.1 to 8.0.2 by @dependabot in #50337
- [stable31] fix(log): Fix log level handling by @backportbot in #50461
- [stable31] chore(deps): Bump the symfony dependency group by @susnux in #50453
- [stable31] fix: detect deleted items as updated for smb storage by @backportbot in #50458
- [stable31] fix: Filter for folders in cleanup old preview job by @backportbot in #50474
- [stable31] Hide "Create templates folder" option if templates are disabled by @backportbot in #50477
- [stable31] fix(user_ldap): Do not map groups we do not know if they match filter by @backportbot in #50481
- [stable31] fix(ratelimit): Allow to bypass rate-limit from bruteforce allowlist by @backportbot in #50468
- [stable31] Add integration tests for moving a file from and to a shared folder by @backportbot in #50482
- [stable31] fix(unifiedsearch): Simplify and correct thumbnail styles by @backportbot in #50484
- [stable31] fix(theming): Harden admin theming settings by @backportbot in #50486
- [stable31] fix(config): drop value details by @backportbot in #50485
- [stable31] fix(ci): cypress container name by @backportbot in #50497
- [stable31] build(deps): Bump doctrine/dbal from 3.9.1 to 3.9.4 by @susnux in #50467
- [stable31] fix:
user:settings
command when user is not available by @backportbot in #50492 - [stable31] fix(files_sharing): Respect permissions passed when creating link shares by @backportbot in #50505
- [stable31] fix(CalDav): Spelling by @backportbot in #50510
- [stable31] fix: Harden files scanner for invalid null access by @backportbot in #50508
- [stable31] fix(files_versions): Update
unencrypted_size
during rollback by @backportbot in #50520 - [stable31] fix: Increase background and primary color debounce time by @backportbot in #50531
- [stable31] feat(S3): add SSE-C support in S3 External Storage by @backportbot in #50547
- [stable31] fix(performance): use low resolution for blurhash by @backportbot in #50528
- [stable31] fix: Show recipient email addresses in share owner notification email by @backportbot in #50537
- [stable31] fix(unified-search): load more than 5 items in folder filter by @backportbot in #50534
- [stable31] fix(theming): Do not throw in background color migration by @backportbot in #50555
- [stable31] chore: update icewind/smb to 3.7.0 by @backportbot in #50516
- [stable31] fix: Only hide template folder creation if default was changed to empty by @backportbot in #50562
- [stable31] fix: Exclude non accepted shares when computing access list by @backportbot in #50560
- [stable31] fix(settings): Fix setup check when mail_smptmode is set to "null" by @backportbot in #50556
- [stable31] fix(files_sharing): file request form validity check reset by @backportbot in #50569
- [stable31] Fix opening federated shares by @backportbot in #50573
- 31.0.0 RC2 by @blizzz in #50538
Full Changelog: v31.0.0rc1...v31.0.0rc2
v31.0.0rc1
What's Changed
- fix(files): Properly reset all file list filters on view change by @susnux in #49261
- fix(updatenotification): Parse pre-release version of apps by @susnux in #50233
- fix(files): Ensure favorites set in sidebar work by @susnux in #50220
- chore: Only show hours and minutes in first login timestamp by @Pytal in #50305
- chore(deps): bump vite from 5.4.6 to 5.4.14 by @dependabot in #50309
- chore(deps-dev): bump undici from 5.28.4 to 5.28.5 by @dependabot in #50310
- chore(3rdparty): Bump symfony/http-foundation from 6.4.12 to 6.4.14 by @susnux in #50314
- fix: Trim tags on adding or editing by @Koc in #50083
- test(group): fix frequent
testSearchGroups
failure by @joshtrichards in #50319 - feat(api): File conversion Files action by @skjnldsv in #50123
- feat(systemtags): add setting to block non admin to create system tags by @Altahrim in #49514
- 31.0.0 RC1 by @Altahrim in #50329
Full Changelog: v31.0.0beta5...v31.0.0rc1