v1.5.0
Fixes:
- 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)
Features:
- 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
andyarn 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:
@aaribaud
@abcang
@akihikodaki
@clworld
@cygnan
@danhunsaker
@eramdam
@Gargron
@ignisf
@jeroenpraat
@komic
@lindwurm
@lynlynlynx
@m4sk1n
@mabkenar
@masarakki
@mayaeh
@MightyPork
@MitarashiDango
@nightpool
@nullkal
@Quent-in
@rkarabut
@schas002
@ScienJus
@sdukhovni
@skoji
@sorin-davidoi
@Sylvhem
@ThibG
@unarist
@ykzts
@yukimochi