# Changelog
++
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
- - Mix tasks for controlling user account confirmation status in bulk (`mix pleroma.user confirm_all` and `mix 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
- - Media preview proxy (requires `ffmpeg` and `ImageMagick` to be installed and media proxy to be enabled; see `:media_preview_proxy` config for more details).
+## Unreleased
+
++### Changed
++
++- Polls now always return a `voters_count`, even if they are single-choice
++- Admin Emails: The ap id is used as the user link in emails now.
++
+### Added
- - Pleroma API: Importing the mutes users from CSV files.
++
+- Reports now generate notifications for admins and mods.
- - App metrics: ability to restrict access to specified IP whitelist.
+- Experimental websocket-based federation between Pleroma instances.
+- Support pagination of blocks and mutes
+- Account backup
+- Configuration: Add `:instance, autofollowing_nicknames` setting to provide a way to make accounts automatically follow new users that register on the local Pleroma instance.
+- Ability to view remote timelines, with ex. `/api/v1/timelines/public?instance=lain.com` and streams `public:remote` and `public:remote:media`
+- The site title is now injected as a `title` tag like preloads or metadata.
+
++<details>
++ <summary>API Changes</summary>
++- Admin API: (`GET /api/pleroma/admin/users`) filter users by `unconfirmed` status and `actor_type`.
++- Pleroma API: Add `idempotency_key` to the chat message entity that can be used for optimistic message sending.
++- Pleroma API: (`GET /api/v1/pleroma/federation_status`) Add a way to get a list of unreachable instances.
++- Mastodon API: User and conversation mutes can now auto-expire if `expires_in` parameter was given while adding the mute.
++
++</details>
++
++### Fixed
++
++<details>
++ <summary>API Changes</summary>
++- Mastodon API: Current user is now included in conversation if it's the only participant
++- Mastodon API: Fixed last_status.account being not filled with account data
++
++</details>
++
++## Unreleased (Patch)
++
++### Fixed
++
++- Config generation: rename `Pleroma.Upload.Filter.ExifTool` to `Pleroma.Upload.Filter.Exiftool`
++
+ ## [2.2.0] - 2020-11-12
+
+ ### Security
++
+ - Fixed the possibility of using file uploads to spoof posts.
+
### Changed
- **Breaking** Requires `libmagic` (or `file`) to guess file types.
-- **Breaking:** App metrics endpoint (`/api/pleroma/app_metrics`) is disabled by default, check `docs/API/prometheus.md` on enabling and configuring.
++- **Breaking:** App metrics endpoint (`/api/pleroma/app_metrics`) is disabled by default, check `docs/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.
- - **Breaking:** App metrics endpoint (`/api/pleroma/app_metrics`) is disabled by default, check `docs/API/prometheus.md` on enabling and configuring.
- 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` in `pools` namespace to `:recv_timeout`, old name is deprecated.
- 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.
-- <details>
+ ### Added
++
+ - Media preview proxy (requires `ffmpeg` and `ImageMagick` 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` and `mix 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.
-
++
++<details>
+ <summary>API Changes</summary>
+
+ - 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.
+
+ </details>
+
### Fixed
- Add documented-but-missing chat pagination.
- Allow sending out emails again.
- - Allow sending chat messages to yourself.
- - Fix remote users with a whitespace name.
+ - 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.
- - Mastodon API: Current user is now included in conversation if it's the only participant
- - Mastodon API: Fixed last_status.account being not filled with account data
-
- ## Unreleased (Patch)
+ - Fix remote users with a whitespace name.
- ### Changed
- - API: Empty parameter values for integer parameters are now ignored in non-strict validaton mode.
+ ### Upgrade notes
- ### Fixes
- - Config generation: rename `Pleroma.Upload.Filter.ExifTool` to `Pleroma.Upload.Filter.Exiftool`
- - S3 Uploads with Elixir 1.11
+ 1. Install libmagic and development headers (`libmagic-dev` on Ubuntu/Debian, `file-dev` on Alpine Linux)
+ 2. Run database migrations (inside Pleroma directory):
+ - OTP: `./bin/pleroma_ctl migrate`
+ - From Source: `mix ecto.migrate`
+ 3. Restart Pleroma
-
## [2.1.2] - 2020-09-17
### Security