- Deprecated `User.Info` embedded schema (fields moved to `User`)
- Store status data inside Flag activity
- Deprecated (reorganized as `UserRelationship` entity) User fields with user AP IDs (`blocks`, `mutes`, `muted_reblogs`, `muted_notifications`, `subscribers`).
+- Logger: default log level changed from `warn` to `info`.
<details>
<summary>API Changes</summary>
- **Breaking:** Admin API: Return link alongside with token on password reset
- **Breaking:** Admin API: `PUT /api/pleroma/admin/reports/:id` is now `PATCH /api/pleroma/admin/reports`, see admin_api.md for details
- **Breaking:** `/api/pleroma/admin/users/invite_token` now uses `POST`, changed accepted params and returns full invite in json instead of only token string.
+ - **Breaking** replying to reports is now "report notes", enpoint changed from `POST /api/pleroma/admin/reports/:id/respond` to `POST /api/pleroma/admin/reports/:id/notes`
- Admin API: Return `total` when querying for reports
- Mastodon API: Return `pleroma.direct_conversation_id` when creating a direct message (`POST /api/v1/statuses`)
- Admin API: Return link alongside with token on password reset
- Support for `X-Forwarded-For` and similar HTTP headers which used by reverse proxies to pass a real user IP address to the backend. Must not be enabled unless your instance is behind at least one reverse proxy (such as Nginx, Apache HTTPD or Varnish Cache).
- MRF: New module which handles incoming posts based on their age. By default, all incoming posts that are older than 2 days will be unlisted and not shown to their followers.
- User notification settings: Add `privacy_option` option.
+- Support for custom Elixir modules (such as MRF policies)
- User settings: Add _This account is a_ option.
+ - OAuth: admin scopes support (relevant setting: `[:auth, :enforce_oauth_admin_scope_usage]`).
<details>
<summary>API Changes</summary>
- ActivityPub: Configurable `type` field of the actors.
- Mastodon API: `/api/v1/accounts/:id` has `source/pleroma/actor_type` field.
- Mastodon API: `/api/v1/update_credentials` accepts `actor_type` field.
+ - Captcha: Support native provider
+ - Captcha: Enable by default
</details>
### Fixed
- MRF: `Delete` activities being exempt from MRF policies
- OTP releases: Not being able to configure OAuth expired token cleanup interval
- OTP releases: Not being able to configure HTML sanitization policy
+ - Favorites timeline now ordered by favorite date instead of post date
<details>
<summary>API Changes</summary>
jobs: scheduled_jobs
config :pleroma, Pleroma.Captcha,
- enabled: false,
+ enabled: true,
seconds_valid: 60,
- method: Pleroma.Captcha.Kocaptcha
+ method: Pleroma.Captcha.Native
config :pleroma, :hackney_pools,
federation: [
timeout: 300_000
]
- config :pleroma, Pleroma.Captcha.Kocaptcha, endpoint: "https://captcha.kotobank.ch"
-
# Upload configuration
config :pleroma, Pleroma.Upload,
uploader: Pleroma.Uploaders.Local,
base_path: "/oauth",
providers: ueberauth_providers
- config :pleroma, :auth, oauth_consumer_strategies: oauth_consumer_strategies
+ config :pleroma,
+ :auth,
+ enforce_oauth_admin_scope_usage: false,
+ oauth_consumer_strategies: oauth_consumer_strategies
config :pleroma, Pleroma.Emails.Mailer, adapter: Swoosh.Adapters.Sendmail, enabled: false
activity_pub: nil,
activity_pub_question: 30_000
+config :pleroma, :modules, runtime_dir: "instance/modules"
+
config :swarm, node_blacklist: [~r/myhtml_.*$/]
# Import environment specific config. This must remain at the bottom
# of this file so it overrides the configuration defined above.
queues: false,
prune: :disabled
- config :pleroma, Pleroma.Scheduler, jobs: []
+ config :pleroma, Pleroma.Scheduler,
+ jobs: [],
+ global: false
config :pleroma, Pleroma.ScheduledActivity,
daily_user_limit: 2,
config :pleroma, Pleroma.ReverseProxy.Client, Pleroma.ReverseProxy.ClientMock
+config :pleroma, :modules, runtime_dir: "test/fixtures/modules"
+
+ config :pleroma, Pleroma.Captcha.Kocaptcha, endpoint: "https://captcha.kotobank.ch"
+
if File.exists?("./config/test.secret.exs") do
import_config "test.secret.exs"
else
## Captcha
### Pleroma.Captcha
+
* `enabled`: Whether the captcha should be shown on registration.
* `method`: The method/service to use for captcha.
* `seconds_valid`: The time in seconds for which the captcha is valid.
### Captcha providers
+ #### Pleroma.Captcha.Native
+
+ A built-in captcha provider. Enabled by default.
+
#### Pleroma.Captcha.Kocaptcha
+
Kocaptcha is a very simple captcha service with a single API endpoint,
the source code is here: https://github.com/koto-bank/kocaptcha. The default endpoint
`https://captcha.kotobank.ch` is hosted by the developer.
rel: "ugc"
]
```
+
+## Custom Runtime Modules (`:modules`)
+
+* `runtime_dir`: A path to custom Elixir modules (such as MRF policies).