@Gargron Gargron released this Dec 6, 2017 · 1372 commits to master since this release

Assets 2


Note: This is a release candidate. It is intended to be stable, but not guaranteed.


Memorial accounts (#5615)

Admins can now disable logins of accounts without suspending. Separately, an account can be turned into a memorial page. That automatically disables the login and displays a note on the profile.

Moderator role (#5635)

The permission system in Mastodon has been expanded. Between users and admins there is a new role, moderator, which can handle reports and some other moderation-related functions but nothing like site settings. Admin navigation has been reworked.

Audit log for staff actions (#5757)

All actions performed by admins and moderators are now logged into an audit log, visible to admins and moderators.

Invite system (#5814)

The invite system allows you to generate an invite link that lets people sign up even if registrations are closed. Each invite link can have an optional time limit or maximum uses limit. The minimum role required for creating invites can be adjusted in admin settings, by default this function is exposed to admins only.

Account migration: profile moved note (#5746)

If you move from one account to another in the Mastodon network, you can now configure your old account to display a prominent link to the new profile. While this isn't quite the automated follower migration yet, it's a step above having to do it manually. When this is setup, the profile avatar is also greyed out and the follow button is hidden to make it more obvious.

Lists (#5703)

Lists allow you to categorize your home feed for easier digestion. You can sort people you are following into arbitrary lists, and mount those lists in your web UI as separate columns. Lists are private and cannot include people you are not following.

Improved muting (#5087)

Over the course of the project's lifetime the mute function has gone through various changes following user feedback. The last iteration essentially equalized it with block, with stealth being the only difference. However, the initial use case of mutes was missed by some. As a result, when muting someone, you can now choose whether you want to mute notifications from them or not. If not, they can still talk to you.

Hide boosts from people you are following (#5762)

You can now do this.

Block direct messages from people you don't follow (#5669)

You can now do this.

Integration with PeerTube (#5848)

PeerTube is a decentralized alternative to YouTube that is also based on ActivityPub, like Mastodon. With some minor adjustments we ensured that PeerTube users can be followed from Mastodon and you can properly receive updates from them.


  • Ability to hide some custom emoji without disabling them (#5485)
  • Add ServiceWorker caching for static assets (#5524)
  • Show the local couterpart of emoji when it exists in admin UI (#5467)
  • Show confirmation dialog on leaving Web UI while composing (#5616)
  • Allow to open a modal for embedded photo (#5777)
  • Add keyboard shortcuts legend (#5823)

Upgrade notes:

Non-Docker only:

  • Dependency updates: bundle install and yarn install

Both Docker and non-Docker:

  • This release includes database migrations, that means you need to run RAILS_ENV=production bundle exec rails db:migrate (in Docker: docker-compose run --rm web rails db:migrate).
  • This release includes changes to assets, that means you need to run RAILS_ENV=production bundle exec rails assets:precompile (in Docker: docker-compose run --rm web rails assets:precompile)




  • Remove unnecessary translateZ(0) when doing scale() (#5473)
  • Remove translateZ(0) on modal overlay (#5478)
  • Fix Cocaine::ExitStatusError when upload small non-animated GIF (#5489)
  • Fix column design broken with very long title (#5493)
  • Fix copying emojos: redirect to the page you were on (#5509)
  • Allow ActivityPub Note's tag and attachment to be single objects (#5534)
  • Add artist, title, and date metadata to boop.{mp3,ogg} (#5531)
  • Instantiate service classes for each call (fixes #5540) (#5543)
  • Separate Follow/Unfollow and back buttons (#5496)
  • Avoid modifying emoji data inline (#5548)
  • Update remote ActivityPub users when fetching their toots (#5545)
  • refactor(features/ui): Avoid useless renders in WrappedSwitch (#5580)
  • add account search condition (instance domain) (#5577)
  • don't display any descendants of .invisible (#5567)
  • Hide disabled custom emojis from emoji picker and emoji auto suggestions. (#5613)
  • Make fullscreen video in detailed status plays in fullscreen (Partly Fix #5160) (#5611)
  • Unify file upload to using fog (#5604)
  • Resolve remote accounts when mentioned even if they are already known (#5539)
  • Do not process undeliverable mentions (#5598)
  • Avoid emojifying on invisible text (#5558)
  • Twidere mention workaround (#5552)
  • Eliminate space around emoji (#5474)
  • In remove_remote, exclude removed media attachments. (#5626)
  • Fix focused background color of direct toots (#5642)
  • Retry thread resolving (#5599)
  • Fix #5632 - Reset column loading status after fetch fail (#5659)
  • Allow specifying STATSD_NAMESPACE (#5700)
  • Filter searched toots to be consistent with blocking behaviors (#5383)
  • Fix N+1 at notification (#5752)
  • Fix NoMethodError at ActivityPub::FetchRemoteStatusService (#5753)
  • Fixed duplicating URL of photo type of oEmbed (#5763)
  • Add index of account and reblog to statuses (#5785)
  • Don't remove originals of boosted toots from timeline (#5479)
  • Fix unnecessary order (#5807)
  • Do not filter the status collection after muting and blocking (#5815)
  • Use account.display_name for og:title single toot pages (#5821)
  • Merge indexes for reblog on statuses table (#5831)
  • add index on stream_entries table (#5793)
  • Fix too many forwards (#5854)
  • Remove rabl dependency (#5894)

Contributors to this release: