Pleroma major release: 2.2.0
Pleroma 2.2.0 released, featuring many fixes, additions and improvements. Among the most significant changes are: optimized timeline rendering for Pleroma-FE, switch to libmagic for guessing file types (requires a new system-level dependency!) and the addition of an optional media-optimizing proxy for thumbnail generation.
Upgrade notes
- Install libmagic and development headers (
libmagic-dev
on Ubuntu/Debian,file-dev
on Alpine Linux) - Run database migrations (inside Pleroma directory):
- OTP:
./bin/pleroma_ctl migrate
- From Source:
mix ecto.migrate
- OTP:
- Restart Pleroma
Pleroma-FE changes
Added
- New option to optimize timeline rendering to make the site more responsive (enabled by default)
- New instance option
logoLeft
to move logo to the left side in desktop nav bar - Import/export a muted users
- Proper handling of deletes when using websocket streaming
- Added optimistic chat message sending, so you can start writing next message before the previous one has been sent
Fixed
- Fixed clicking NSFW hider through status popover
- Fixed chat-view back button being hard to click
- Fixed fresh chat notifications being cleared immediately while leaving the chat view and not having time to actually see the messages
- Fixed multiple regressions in CSS styles
- Fixed multiple issues with input fields when using CJK font as default
- Fixed search field in navbar infringing into logo in some cases
- Fixed not being able to load the chat history in vertical screens when the message list doesn’t take the full height of the scrollable container on the first fetch.
- Fixed regression in react popup alignment and overflowing
Changed
- Clicking immediately when timeline shifts is now blocked to prevent misclicks
- Icons changed from fontello (FontAwesome 4 + others) to FontAwesome 5 due to problems with fontello.
- Some icons changed for better accessibility (lock, globe)
- Logo is now clickable
- Changed default logo to SVG version
Backend changes
Security
- Fixed the possibility of using file uploads to spoof posts.
Changed
- Breaking Requires
libmagic
(orfile
) to guess file types. - Breaking: App metrics endpoint (
/api/pleroma/app_metrics
) is disabled by default, checkdocs/API/prometheus.md
on enabling and configuring. - Breaking: Pleroma Admin API: emoji packs and files routes changed.
- Breaking: Sensitive/NSFW statuses no longer disable link previews.
- Search: Users are now findable by their urls.
- Renamed
:await_up_timeout
in:connections_pool
namespace to:connect_timeout
, old name is deprecated. - Renamed
:timeout
inpools
namespace to:recv_timeout
, old name is deprecated. - The
discoverable
field in theUser
struct will now add a NOINDEX metatag to profile pages when false. - Users with the
discoverable
field set to false will not show up in searches. - Minimum lifetime for ephmeral activities changed to 10 minutes and made configurable (
:min_lifetime
option). - Introduced optional dependencies on
ffmpeg
,ImageMagick
,exiftool
software packages. Please refer todocs/installation/optional/media_graphics_packages.md
. - API Changes
- API: Empty parameter values for integer parameters are now ignored in non-strict validaton mode.
Removed
- Breaking:
Pleroma.Workers.Cron.StatsWorker
setting from Oban:crontab
(moved to a simpler implementation). - Breaking:
Pleroma.Workers.Cron.ClearOauthTokenWorker
setting from Oban:crontab
(moved to scheduled jobs). - Breaking:
Pleroma.Workers.Cron.PurgeExpiredActivitiesWorker
setting from Oban:crontab
(moved to scheduled jobs). - Removed
:managed_config
option. In practice, it was accidentally removed with 2.0.0 release when frontends were switched to a new configuration mechanism, however it was not officially removed until now.
Added
Media preview proxy (requires
ffmpeg
andImageMagick
to be installed and media proxy to be enabled; see:media_preview_proxy
config for more details).Mix tasks for controlling user account confirmation status in bulk (
mix pleroma.user confirm_all
andmix pleroma.user unconfirm_all
)Mix task for sending confirmation emails to all unconfirmed users (
mix pleroma.email send_confirmation_mails
)Mix task option for force-unfollowing relays
App metrics: ability to restrict access to specified IP whitelist.
API Changes
- Admin API: Importing emoji from a zip file
- Pleroma API: Importing the mutes users from CSV files.
- Pleroma API: Pagination for remote/local packs and emoji.
Fixed
- Add documented-but-missing chat pagination.
- Allow sending out emails again.
- Allow sending chat messages to yourself
- OStatus / static FE endpoints: fixed inaccessibility for anonymous users on non-federating instances, switched to handling per
:restrict_unauthenticated
setting. - Fix remote users with a whitespace name.