Mastodon v3.5.0 Release Notes
Release Date: 2022-03-30 // about 2 years ago-
➕ Added
- ➕ Add support for incoming edited posts (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:
status.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 ofGET /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
andrule_ids
params toPOST /api/v1/reports
IN REST API (Gargron, Gargron, Gargron)category
can be one of:spam
,violation
,other
(default)rule_ids
must referencerules
returned inGET /api/v1/instance
- ➕ Add global
lang
param to REST API (Gargron, Gargron) - ➕ Add
types
param toGET /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 notification type:
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 hint about missing media attachment description in web UI (Gargron)
- ➕ 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
andES_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 totootctl domains purge
(ClearlyClaire) - ➕ Add
--batch-size
option totootctl search deploy
(aquarla) - ➕ Add
--remove-orphans
option totootctl 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 byread
andwrite
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 overridden 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
- Use
- ✂ 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/orwrite
text
attribute onDELETE /api/v1/statuses/:id
→GET /api/v1/statuses/:id/source
🛠 Fixed
- 🛠 Fix IDN domains not being rendered correctly in a few left-over places (Gargron)
- 🛠 Fix Sanskrit translation not being used in web UI (ClearlyClaire)
- 🛠 Fix Kurdish languages having the wrong language codes (ClearlyClaire)
- 🛠 Fix pghero making database schema suggestions (ClearlyClaire)
- 🛠 Fix encoding glitch in the OpenGraph description of a profile page (ClearlyClaire)
- 🛠 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 accountnote
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)
🔒 Security
- ➕ Add support for incoming edited posts (Gargron, Gargron, Gargron, Gargron, Gargron, Gargron, ClearlyClaire, Gargron, Gargron, ClearlyClaire, Gargron, Gargron, ClearlyClaire, ClearlyClaire, ClearlyClaire, ClearlyClaire, Gargron, Gargron, Gargron, ClearlyClaire, ClearlyClaire)