@Gargron Gargron released this Aug 1, 2017 · 2057 commits to master since this release

Assets 2



  • Increased threshold for triggering a swipe on mobile (#4037)
  • Faster emojify (#4049)
  • Process links in toots on update as well a mount (#4042)
  • Faster JSON generation (#4090)
  • Fix verified feed author not being enforced when processing feed (#4092)
  • Fix sessions getting forgotten too soon (#4091)
  • Lazy load less used components in web UI (#3879)
  • Change account link to admin account link on report page (#4119)
  • GIF autoplay now defaults to off (#4132)
  • Improve PuSH resubscription scheduling (#4142)
  • Reduce webpack memory usage (#4139)
  • /api/v1/search now requires authentication (#4155)
  • Do not make HTTP roundtrip when resolving local URL (#4160)
  • Add background color for spoiler input, like toot textarea (#4181)
  • Make tag search case insensitive again (#4184)
  • Store emojis as unicode (#4189)
  • Fix subsequent replies to unresolved status not being filtered from home timeline (#4190)
  • HTTP signatures: connect signed PuSH subscription requests to instance domain, removes the drawback of serving Mastodon from a subdomain (#4146, #4205)
  • Optimize uri normalization (#4212)
  • Exclude self toots from regular expression filter (#4245)
  • Mutes now block notifications (#4300)
  • Change "Content Warning" to "Write your warning here" (#4313)
  • No scrollbar if not needed (#4350)
  • Exit early in load function (#4349)
  • Use passive wheel listener (#4348)
  • Update Capistrano lock version in config/deploy.rb (#4352)
  • Guard against missing ref (#4353)
  • Send short account URL to remote instance (regression from #3844) (#4355)
  • Allow longer link text on landing page (reduce padding for Mobile) (#4363)
  • Fix multiple-gif display in user page (#4364)
  • Adjust mobile landing page (#4366)
  • Added external link icons to joinmastodon navbar buttons (#4368)
  • Improve accessibility (#4369, #4377, #4405, #4408, #4417)
  • Add index favourites on account_id and id (#4360)
  • Fix padding in hero container of landing page (#4373)
  • s/PubSubHubbub/WebSub/g (#4372)
  • Fix crash when heading is undefined (#4378)
  • Guard against deleted notifications (#4379)
  • Manually set tabs style when swiping (#4320)
  • Fix infinite scroll fluidity (#4381)
  • Accept backup codes for disabling 2FA (#4382)
  • Add callback_url/acct information for Sidekiq PuSH workers Exception. (#4281)
  • Fix multipoint shortcode bug (#4387)
  • Fix an error when a user tries to search nonexistent remote user (regression from #4275) (#4400)
  • Add default settings for user (#4393)
  • [nanobox] Minor tweaks for 1.5 (#4395)
  • Fallback to site_hostname when site_title is empty (#4394)
  • Use star icon for favourite action (#4396)
  • Fix timeline height on landing page for Safari (#4392)
  • Symlink sw.js to assets/sw.js (#4357)
  • Web push notifications: Do not hard reload tab (#4380)
  • Web push notifications: Group notifications (#4388)
  • Remove hash from chunk filename when dev env (#4411)
  • Fix column header in landing page (regression from #4405) (#4416)
  • Fix protruded information board section in about/more page (#4415)
  • Unify webpackChunkName to lowercase (#4412)
  • Fix current session not being displayed in sessions list (#4424)
  • When PuSH subscribe attempts are exhausted, unsubscribe (#4422)
  • Fix guard clause in WebPushNotificationWorker (#4421)
  • Use consistent icons for web push notifications, same as web UI (#4426)
  • Fix web push notifications "boost" icon not being loaded (regression from #4426) (#4431)
  • Accessability fixes (#4432)
  • Allow animation to end before navigating (#4429)
  • Improve accessibility (#4435, #4457)
  • Don't add tabIndex to wrapped status (#4437)
  • Fix autocomplete option in haml files (#4438)
  • Avoid optimization for non-touch devices (#4444)
  • Use a fainted text color for <hr> elements in the landing page (#4443)
  • Set contact address in about/more as mailto link (#4450)
  • Remove outline from focused toot (#4448)
  • Change to sensitive when adding content warning from web UI (#4456)
  • Disable sensitive button when with content warnings (#4460)
  • Fix button overflow on confirmation modal for mobile (#4465)


  • Customize privacy policy from admin UI (#4062)
  • Setting to use native system font in web UI (#4033)
  • Nanobox: automated backups (#4023)
  • Swipe animations on mobile web UI (#4105)
  • /api/v1/accounts/verify_credentials now returns user's chosen privacy default (#4075)
  • New preference: always mark media as sensitive (#4136)
  • Success page when remote following someone (#4129)
  • New landing page with public timeline (can be disabled by admin) (#4122)
  • Rake task to redownload avatars/headers (#4156)
  • Improved design of admin settings (#4163)
  • Whenever content warning is preset, media sensitivity is also enforced (#4176)
  • Web Push Notifications (#3243)
  • Adjustable time period for mastodon:media:remove_remote (#4191)
  • Add option to opt out of search engines on public profile/status pages (#4199)
  • Pin favourites column (#4201)
  • Improve ActivityPub representations (#3844)
  • Add unfollow modal (optional) (#4246)
  • Add feature to revoke sessions (#4259)
  • Add admin button to re-subscribe to all accounts from a domain (#4285)
  • Show avatar/header on edit profile page (#4288)
  • Add rake task mastodon:feeds:build to regenerate all active users' feeds (#4303)
  • New logo (#4306)
  • Add loading indicator animation (#4316)
  • Allow domain blocks that only reject media without silencing or suspending (#4325)
  • Redesign extended information page (#4322)
  • Redesign terms page (#4338)
  • Improve remote profile disclaimer (#4342)
  • Web share button (#4365, #4402)
  • Open dropdown menu as modal on mobile (#4295)
  • Count all URLs in text as 23 characters flat, do not count domain part of usernames (#4427)

Upgrade notes:

Non-Docker only:

  • New system package dependencies: libicu-dev libidn11-dev
  • Dependency updates: bundle install and yarn install

Both Docker and non-Docker:

  • To enable Web Push notifications, you should generate a few extra secrets and put them into your environment (usually .env.production). Generate the secrets/variables with: RAILS_ENV=production bundle exec rake mastodon:webpush:generate_vapid_key (in Docker: docker-compose run --rm web rake mastodon:webpush:generate_vapid_key)
  • 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). There are some column data updates, so the migration may take a while if your tables have many rows. If you get a lock error, you'll need to shut down the Mastodon web process during the upgrade.
  • 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)
  • The file sw.js (service worker definition) served from the public directory should be served with no cache headers or cache headers with max-age 0 (basically, don't cache it)
  • There are no more mandatory regular cronjobs, because all important tasks have been moved to Sidekiq. Deprecated rake tasks like mastodon:daily now do nothing.

If push notifications are not being sent and the server logs show errors like Webpush::InvalidSubscription - 400 Unauthorized Registration or Request did not validate Invalid bearer token: Auth > 24 hours in the future, most likely the server time is not accurate (you can use ntp to synchronize it and prevent it from drifting).

If you're upgrading from a version prior to 1.4.2, you may need to run the following command to prepare for the 1.4.2 referential integrity migration:

  • RAILS_ENV=production bundle exec rails mastodon:maintenance:prepare_for_foreign_keys (in Docker: docker-compose run --rm web rails mastodon:maintenance:prepare_for_foreign_keys)

Contributors to this release: