Browse Source

Bump version to 3.5.0rc1 (#17618)

* Bump version to 3.5.0rc1

* Various fixes and improvements

* Update

* Various fixes and improvements

* Update
Eugen Rochko 7 months ago
committed by GitHub
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 639
  2. 198
  3. 4
  4. 6


File diff suppressed because it is too large


@ -3,6 +3,194 @@ Changelog
All notable changes to this project will be documented in this file.
## Unreleased
### Added
- **Add support for post editing** ([Gargron](, [Gargron](, [Gargron](, [Gargron](, [Gargron](, [Gargron](, [ClearlyClaire](, [Gargron](, [Gargron](, [ClearlyClaire](, [Gargron](, [Gargron](, [ClearlyClaire](, [ClearlyClaire](, [ClearlyClaire](, [ClearlyClaire](, [Gargron](, [Gargron](, [Gargron](, [ClearlyClaire](, [ClearlyClaire](
- Previous versions remain available for perusal and comparison
- People who reblogged a post are notified when it's edited
- New REST APIs:
- `PUT /api/v1/statuses/:id`
- `GET /api/v1/statuses/:id/history`
- `GET /api/v1/statuses/:id/source`
- New streaming API event:
- `update`
- **Add appeals for moderator decisions** ([Gargron](, [ClearlyClaire](, [ClearlyClaire](, [ClearlyClaire](, [Gargron](, [Gargron](, [ClearlyClaire](, [Gargron](
- All default moderator decisions now notify the affected user by e-mail
- They now link to an appeal page instead of suggesting replying to the e-mail
- They can now be found in account settings and not just e-mail
- Users can submit one appeal within 20 days of the decision
- Moderators can approve or reject the appeal
- **Add notifications for posts deleted by moderators** ([Gargron](, [Gargron](, [Gargron](, [Gargron](, [Gargron](
- New, redesigned report view in admin UI
- Common report actions now only take one click to complete
- Deleting posts or marking as sensitive from report now notifies user
- Reports can be categorized by reason and specific rules violated
- The reasons are automatically cited in the notifications, except for spam
- Marking posts as sensitive now federates using post editing
- **Add explore page with trending posts and links** ([Gargron](, [Gargron](, [Gargron](, [Gargron](, [Gargron](, [Gargron](, [ClearlyClaire](, [Gargron](, [tribela](, [Gargron](, [Gargron](, [noiob](, [mayaeh](, [mayaeh](, [Gargron](, [mayaeh](
- Hashtag trends algorithm is extended to work for posts and links
- Links are only considered if they have an adequate preview card
- Preview card generation has been improved to support structured data
- Links can only trend if the publisher (domain) has been approved
- Posts can only trend if the author has been approved
- Individual approval and rejection for posts and links is also available
- Moderators are notified about pending trends at most once every 2 hours
- Posts and link trends are language-specific
- Search page is redesigned into explore page in web UI
- Discovery tab is coming soon in official iOS and Android apps
- New REST APIs:
- `GET /api/v1/trends/links`
- `GET /api/v1/trends/statuses`
- `GET /api/v1/trends/tags` (alias of `GET /api/v1/trends`)
- `GET /api/v1/admin/trends/links`
- `GET /api/v1/admin/trends/statuses`
- `GET /api/v1/admin/trends/tags`
- **Add graphs and retention metrics to admin dashboard** ([Gargron](, [Gargron](, [ClearlyClaire](, [ClearlyClaire](, [ClearlyClaire](, [mashirozx](, [ClearlyClaire](
- Dashboard shows more numbers with development over time
- Other data such as most used interface languages and sign-up sources
- User retention graph shows how many new users stick around
- New REST APIs:
- `POST /api/v1/admin/measures`
- `POST /api/v1/admin/dimensions`
- `POST /api/v1/admin/retention`
- Add `GET /api/v1/accounts/familiar_followers` to REST API ([Gargron](
- Add `POST /api/v1/accounts/:id/remove_from_followers` to REST API ([noellabo](
- Add `category` and `rule_ids` params to `POST /api/v1/reports` IN REST API ([Gargron](, [Gargron](, [Gargron](
- `category` can be one of: `spam`, `violation`, `other` (default)
- `rule_ids` must reference `rules` returned in `GET /api/v1/instance`
- Add global `lang` param to REST API ([Gargron](, [Gargron](
- Add `types` param to `GET /api/v1/notifications` in REST API ([Gargron](
- **Add notifications for moderators about new sign-ups** ([Gargron](, [ClearlyClaire](
- When a new user confirms e-mail, moderators receive a notification
- New streaming API event:
- `admin.sign_up`
- Add authentication history ([Gargron](, [ClearlyClaire](, [baby-gnu](
- Add ability to automatically delete old posts ([ClearlyClaire](, [ClearlyClaire](, [tribela](
- Add ability to pin private posts ([ClearlyClaire](, [tribela](, [ClearlyClaire](, [MitarashiDango](
- Add ability to filter search results by author using `from:` syntax ([tribela](
- Add ability to delete canonical email blocks in admin UI ([ClearlyClaire](
- Add ability to purge undeliverable domains in admin UI ([ClearlyClaire](, [tribela](, [tribela](, [tribela](
- Add ability to disable e-mail token authentication for specific users in admin UI ([Gargron](
- **Add ability to suspend accounts in batches in admin UI** ([Gargron](, [ClearlyClaire](, [Gargron](
- New, redesigned accounts list in admin UI
- Batch suspensions are meant to help clean up spam and bot accounts
- They do not generate notifications
- Add ability to filter reports by origin of target account in admin UI ([Gargron](
- Add support for login through OpenID Connect ([chandrn7](
- Add lazy loading for emoji picker in web UI ([mashirozx](, [ClearlyClaire](
- Add single option votes tooltip in polls in web UI ([Brawaru](
- Add confirmation modal when closing media edit modal with unsaved changes in web UI ([ClearlyClaire](
- Add support for fetching Create and Announce activities by URI in ActivityPub ([ClearlyClaire](
- Add `S3_FORCE_SINGLE_REQUEST` environment variable ([ClearlyClaire](
- Add `OMNIAUTH_ONLY` environment variable ([ClearlyClaire](, [ClearlyClaire](
- Add `ES_USER` and `ES_PASS` environment variables for Elasticsearch authentication ([tribela](
- Add `CAS_SECURITY_ASSUME_EMAIL_IS_VERIFIED` environment variable ([baby-gnu](
- Add ability to pass specific domains to `tootctl accounts cull` ([tribela](
- Add `--by-uri` option to `tootctl domains purge` ([ClearlyClaire](
- Add `--batch-size` option to `tootctl search deploy` ([aquarla](
- Add `--remove-orphans` option to `tootctl statuses remove` ([noellabo](
### Changed
- Change design of federation pages in admin UI ([Gargron](, [noellabo](, [Gargron](
- Change design of account cards in web UI ([Gargron](
- Change `follow` scope to be covered by `read` and `write` scopes in REST API ([Gargron](
- Change design of authorized applications page ([Gargron](, [ClearlyClaire](
- Change e-mail domain blocks to block IPs dynamically ([Gargron](, [ClearlyClaire](, [ClearlyClaire](
- Change report modal to include category selection in web UI ([Gargron](, [ClearlyClaire](, [Gargron](, [ClearlyClaire](
- Change reblogs to not count towards hashtag trends anymore ([Gargron](
- Change languages to be listed under standard instead of native name in admin UI ([Gargron](
- Change routing paths to use usernames in web UI ([Gargron](, [ClearlyClaire](, [ClearlyClaire](, [mashirozx](, [ClearlyClaire](
- Change list title input design in web UI ([ClearlyClaire](
- Change "Opt-in to profile directory" preference to be general discoverability preference ([ClearlyClaire](
- Change API rate limits to use /64 masking on IPv6 addresses ([tribela](, [ClearlyClaire](, [zunda](
- Change allowed formats for locally uploaded custom emojis to include GIF ([rgroothuijsen](, [Gargron](
- Change error message when chosen password is too long ([rgroothuijsen](
- Change minimum required Elasticsearch version from 6 to 7 ([noellabo](
### Removed
- Remove profile directory link from main navigation panel in web UI ([Gargron](
- **Remove language detection through cld3** ([Gargron](, [ykzts](, [Gargron](, [Gargron](
- cld3 is very inaccurate on short-form content even with unique alphabets
- Post language can be overriden individually using `language` param
- Otherwise, it defaults to the user's interface language
- Remove support for `OAUTH_REDIRECT_AT_SIGN_IN` ([ClearlyClaire](
- Use `OMNIAUTH_ONLY` instead
- Remove Keybase integration ([Gargron](
- Remove old columns and indexes ([ClearlyClaire](, [Gargron](, [ClearlyClaire](
- Remove shortcodes from newly-created media attachments ([ClearlyClaire](, [ClearlyClaire](
### Deprecated
- `GET /api/v1/trends``GET /api/v1/trends/tags`
- OAuth `follow` scope → `read` and/or `write`
- `text` attribute on `DELETE /api/v1/statuses/:id``GET /api/v1/statuses/:id/source`
### Fixed
- Fix web manifest not permitting PWA usage from alternate domains ([HolgerHuo](
- Fix not being able to edit media attachments for scheduled posts ([ClearlyClaire](
- Fix subscribed relay activities being recorded as boosts ([ClearlyClaire](
- Fix streaming API server error messages when JSON parsing fails not specifying the source ([ClearlyClaire](
- Fix browsers autofilling new password field with old password ([mashirozx](
- Fix text being invisible before fonts load in web UI ([tribela](
- Fix public profile pages of unconfirmed users being accessible ([ClearlyClaire](, [ClearlyClaire](
- Fix nil error when trying to fetch key for signature verification ([Gargron](
- Fix null values being included in some indexes ([Gargron](
- Fix `POST /api/v1/emails/confirmations` not being available after sign-up ([Gargron](
- Fix rare race condition when reblogged post is deleted ([ClearlyClaire](, [ClearlyClaire](
- Fix being able to add more than 4 hashtags to hashtag column in web UI ([Gargron](
- Fix data integrity of featured tags ([Gargron](
- Fix performance of account timelines ([Gargron](
- Fix returning empty `<p>` tag for blank account `note` in REST API ([Gargron](
- Fix leak of existence of otherwise inaccessible posts in REST API ([Gargron](
- Fix not showing loading indicator when searching in web UI ([Gargron](
- Fix media modal footer's “external link” not being a link ([ClearlyClaire](
- Fix reply button on media modal not giving focus to compose form ([ClearlyClaire](
- Fix some media attachments being converted with too high framerates ([ClearlyClaire](
- Fix sign in token and warning emails failing to send when contact e-mail address is malformed ([helloworldstack](
- Fix opening the emoji picker scrolling the single-column view to the top ([ClearlyClaire](
- Fix edge case where settings/admin page sidebar would be incorrectly hidden ([ClearlyClaire](
- Fix performance of server-side filtering ([ClearlyClaire](
- Fix privacy policy link not being visible on small screens ([Gargron](
- Fix duplicate accounts when searching by IP range in admin UI ([Gargron](, [tribela](
- Fix error when performing a batch action on posts in admin UI ([ClearlyClaire](
- Fix deletes not being signed in authorized fetch mode ([Gargron](
- Fix Undo Announce sometimes inlining the originally Announced status ([ClearlyClaire](
- Fix localization of cold-start follow recommendations ([Gargron](, [Gargron](
- Fix replies collection incorrectly looping ([ClearlyClaire](
- Fix errors when multiple Delete are received for a given actor ([ClearlyClaire](
- Fixed prototype pollution bug and only allow trusted origin ([r0hanSH](
- Fix text being incorrectly pre-selected in composer textarea on /share ([ClearlyClaire](
- Fix SMTP_ENABLE_STARTTLS_AUTO/SMTP_TLS/SMTP_SSL environment variables don't work ([kgtkr](
- Fix media upload specific rate limits only being applied to v1 endpoint in REST API ([tribela](
- Fix media descriptions not being used for client-side filtering ([ClearlyClaire](
- Fix cold-start follow recommendation favouring older accounts due to wrong sorting ([noellabo](
- Fix not redirect to the right page after authenticating with WebAuthn ([heguro](
- Fix searching for additional hashtags in hashtag column ([ClearlyClaire](
- Fix color of hashtag column settings inputs ([ClearlyClaire](
- Fix performance of `tootctl statuses remove` ([noellabo](
- Fix `tootctl accounts cull` not excluding domains on timeouts and certificate issues ([ClearlyClaire](
- Fix 404 error when filtering admin action logs by non-existent target account ([ClearlyClaire](
- Fix error when accessing streaming API without any OAuth scopes ([Brawaru](
- Fix follow request count not updating when new follow requests arrive over streaming API in web UI ([matildepark](
- Fix error when unsuspending a local account ([HolgerHuo](
- Fix crash when a notification contains a not yet processed media attachment in web UI ([ClearlyClaire](
- Fix wrong color of download button in audio player in web UI ([ClearlyClaire](
- Fix notes for others accounts not being deleted when an account is deleted ([ClearlyClaire](
- Fix error when logging occurrence of unsupported video file ([noellabo](
- Fix wrong elements in trends widget being hidden on smaller screens in web UI ([tribela](
- Fix link to about page being displayed in limited federation mode ([weex](
- Fix styling of boost button in media modal not reflecting ability to boost ([ClearlyClaire](
- Fix OCR failure when erroneous lang data is in cache ([ClearlyClaire](
- Fix downloading media from blocked domains in `tootctl media refresh` ([tribela](
- Fix login form being displayed on landing page when already logged in ([ClearlyClaire](
- Fix polling for media processing status too frequently in web UI ([tribela](
- Fix hashtag autocomplete overriding user-typed case ([weex](
- Fix WebAuthn authentication setup to not prompt for PIN ([truongnmt](
## [3.4.6] - 2022-02-03
### Fixed
@ -572,7 +760,7 @@ All notable changes to this project will be documented in this file.
- CLI option changed:
- `tootctl domains purge --whitelist-mode``tootctl domains purge --limited-federation-mode`
- Remove some unnecessary database indices ([lfuelling](, [noellabo](
- Remove some unnecessary database indexes ([lfuelling](, [noellabo](
- Remove unnecessary Node.js version upper bound ([ykzts](
### Fixed
@ -591,7 +779,7 @@ All notable changes to this project will be documented in this file.
- Fix new posts pushing down origin of opened dropdown in web UI ([ClearlyClaire](, [ClearlyClaire](
- Fix timeline markers not being saved sometimes ([ClearlyClaire](, [ClearlyClaire](, [ClearlyClaire](
- Fix CSV uploads being rejected ([noellabo](
- Fix incompatibility with ElasticSearch 7.x ([noellabo](
- Fix incompatibility with Elasticsearch 7.x ([noellabo](
- Fix being able to search posts where you're in the target audience but not actively mentioned ([noellabo](
- Fix non-local posts appearing on local-only hashtag timelines in web UI ([noellabo](
- Fix `tootctl media remove-orphans` choking on unknown files in storage ([Gargron](
@ -1195,7 +1383,7 @@ All notable changes to this project will be documented in this file.
- Fix URLs appearing twice in errors of ActivityPub::DeliveryWorker ([Gargron](
- Fix support for HTTP proxies ([ClearlyClaire](
- Fix HTTP requests to IPv6 hosts ([ClearlyClaire](
- Fix error in ElasticSearch index import ([mayaeh](
- Fix error in Elasticsearch index import ([mayaeh](
- Fix duplicate account error when seeding development database ([ysksn](
- Fix performance of session clean-up scheduler ([abcang](
- Fix older migrations not running ([zunda](
@ -1205,8 +1393,8 @@ All notable changes to this project will be documented in this file.
- Fix muted text color not applying to all text ([trwnh](
- Fix follower/following lists resetting on back-navigation in web UI ([Gargron](
- Fix n+1 query when approving multiple follow requests ([abcang](
- Fix records not being indexed into ElasticSearch sometimes ([Gargron](
- Fix needlessly indexing unsearchable statuses into ElasticSearch ([Gargron](
- Fix records not being indexed into Elasticsearch sometimes ([Gargron](
- Fix needlessly indexing unsearchable statuses into Elasticsearch ([Gargron](
- Fix new user bootstrapping crashing when to-be-followed accounts are invalid ([ClearlyClaire](
- Fix featured hashtag URL being interpreted as media or replies tab ([Gargron](
- Fix account counters being overwritten by parallel writes ([Gargron](


@ -28,7 +28,7 @@ Click below to **learn more** in a video:
- [View sponsors](
- [Blog](
- [Documentation](
- [Browse Mastodon servers](
- [Browse Mastodon servers](
- [Browse Mastodon apps](
@ -92,7 +92,7 @@ You can open issues for bugs you've found or features you think are missing. You
## License
Copyright (C) 2016-2021 Eugen Rochko & other Mastodon contributors (see [](
Copyright (C) 2016-2022 Eugen Rochko & other Mastodon contributors (see [](
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.


@ -9,15 +9,15 @@ module Mastodon
def minor
def patch
def flags
def suffix