All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog.
crypt(3)
(Gnu Social migration artifact)block_from_stranger
settingPleroma.Upload.Filter.Exiftool
has been renamed to Pleroma.Upload.Filter.Exiftool.StripLocation
/api/v1/pleroma/backups
endpoints now requires read:backups
scope instead of read:accounts
activeMonth
and activeHalfyear
fields in NodeInfo usage.users objectconfig :tesla, :adapter, {Tesla.Adapter.Finch, name: MyFinch}
in your secrets file to use it. Reverse Proxy will still use Hackney.ForceMentionsInPostContent
MRF policyPOST /api/v1/pleroma/remote_interaction
GET /api/v1/accounts/lookup
:pleroma, :telemetry, :slow_queries_logging
/phoenix/live_dashboard
/manifest.json
for progressive web apps.birthday
and show_birthday
field in /api/v1/accounts/update_credentials
.birthday_required
and birthday_min_age
settings to provide a way to require users to enter their birth date.GET /api/v1/pleroma/birthdays
API endpointuserLanguage
cookie, or the Accept-Language
header. Emails are translated using the language
field when registering. This language can be changed by PATCH /api/v1/accounts/update_credentials
with the language
field.Pleroma.Upload.Filter.Exiftool.ReadDescription
returns description values to the FE so they can pre fill the image description fielduser@example.org
, while Pleroma is working on pleroma.example.org
. Additional configuration required.class
attributes not being scrubbed, allowing to exploit frontend special classes !3792mediaType
only by it's format rather than using a list !3597keyId
lookup for GoToSocial !3725replies
handling for GoToSocial !3725/objects/
and /activities/
leaking if cached by authenticated usermix pleroma.database set_text_search_config
run concurrently and indefinitelychange_password
and change_email
require params on body instead of querynil
objectstatic/frontends
folder is missing:chat, enabled
moved to :shout, enabled
and :instance, chat_limit
moved to :shout, limit
application
metadata returned with statuses is no longer hardcoded. Apps that want to display these details will now have valid data for new posts after this change.AntiFollowbotPolicy
): Bot accounts are now also considered followbots. Users can still allow bots to follow them by first following the bot.FollowBotPolicy
): New MRF Policy which makes a designated local Bot account attempt to follow all users in public Notes received by your instance. Users who require approving follower requests or have #nobot in their profile are excluded.id
(primary key) in POST /oauth/token
.created_at
date with users./api/v1/pleroma/admin/instances/:instance
to delete all content from a remote instance.AnalyzeMetadata
upload filter for extracting image/video attachment dimensions and generating blurhashes for images. Blurhashes for videos are not generated at this time.poll
notification.pleroma.database prune_objects
notification_settings
were in a NULL state.pleroma.user delete_activities
query transaction timeout is now :infinitySimplePolicy
): Embedded objects are now checked. If any embedded object would be rejected, its parent is rejected. This fixes Announces leaking posts from blocked domains./api/qvitter/statuses/notifications/read
(replaced by /api/v1/pleroma/notifications/read
):auth, :enforce_oauth_admin_scope_usage
configuration option.mix pleroma.user toggle_confirmed
to mix pleroma.user confirm
mix pleroma.user toggle_activated
to mix pleroma.user activate/deactivate
voters_count
, even if they are single-choice.websearch_to_tsvector
function to parse search queries.Pleroma.Uploaders.S3, :public_endpoint
. Now Pleroma.Upload, :base_url
is the standard configuration key for all uploaders.fqn
field was added to the response, but does not expose the user's email address./notice/:id
to their original URLAPI Changes
confirmation_pending
to is_confirmed
approval_pending
to is_approved
deactivated
to is_active
GET /api/pleroma/admin/users/:nickname_or_id/statuses
changed response format and added the number of total users posts.GET /api/pleroma/admin/instances/:instance/statuses
changed response format and added the number of total users posts.GET /api/v1/pleroma/chats
is deprecated in favor of GET /api/v2/pleroma/chats
./api/pleroma/*
to /api/v1/pleroma/*
:instance, autofollowing_nicknames
setting to provide a way to make accounts automatically follow new users that register on the local Pleroma instance.[:activitypub, :blockers_visible]
config to control visibility of blockers./api/v1/timelines/public?instance=lain.com
and streams public:remote
and public:remote:media
.title
tag like preloads or metadata.mix pleroma.config
.NoEmptyPolicy
): New MRF Policy which will deny empty statuses or statuses of only mentions from being created by local usersAPI Changes
GET /api/pleroma/admin/users
) filter users by unconfirmed
status and actor_type
.GET /api/v2/pleroma/chats
added. It is exactly like GET /api/v1/pleroma/chats
except supports pagination.idempotency_key
to the chat message entity that can be used for optimistic message sending.GET /api/v1/pleroma/federation_status
) Add a way to get a list of unreachable instances.expires_in
parameter was given while adding the mute.pleroma:chat_mention
and pleroma:emoji_reaction
notification types./api/v1/instance
(pleroma.stats.mau
).only_media
, remote
& local
parameters for filtration./api/v1/accounts/:id
& /api/v1/mutes
endpoints accept with_relationships
parameter and return filled pleroma.relationship
field.DELETE /api/v1/conversations/:id
).expires_in
in the scheduled post params
field on /api/v1/statuses
and /api/v1/scheduled_statuses/:id
endpoints.
is_discoverable
field set to false (default value) will appear in in-service search results but be hidden from external services (search bots etc.).API Changes
elixir_make
to a non-retired versionPleroma.Upload.Filter.ExifTool
to Pleroma.Upload.Filter.Exiftool
.Emoji Reaction activity filtering from blocked and muted accounts.
API
libmagic
(or file
) to guess file types./api/pleroma/app_metrics
) is disabled by default, check docs/API/prometheus.md
on enabling and configuring.:await_up_timeout
in :connections_pool
namespace to :connect_timeout
, old name is deprecated.:timeout
in pools
namespace to :recv_timeout
, old name is deprecated.discoverable
field in the User
struct will now add a NOINDEX metatag to profile pages when false.is_discoverable
field set to false will not show up in searches (bug).:min_lifetime
option).ffmpeg
, ImageMagick
, exiftool
software packages. Please refer to docs/installation/optional/media_graphics_packages.md
.Pleroma.Workers.Cron.StatsWorker
setting from Oban :crontab
(moved to a simpler implementation).Pleroma.Workers.Cron.ClearOauthTokenWorker
setting from Oban :crontab
(moved to scheduled jobs).Pleroma.Workers.Cron.PurgeExpiredActivitiesWorker
setting from Oban :crontab
(moved to scheduled jobs).: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.ffmpeg
and ImageMagick
to be installed and media proxy to be enabled; see :media_preview_proxy
config for more details).mix pleroma.user confirm_all
and mix pleroma.user unconfirm_all
)mix pleroma.email resend_confirmation_emails
)API Changes
:restrict_unauthenticated
setting.libmagic-dev
on Ubuntu/Debian, file-dev
on Alpine Linux)./bin/pleroma_ctl migrate
mix ecto.migrate
reply_visibility
parameter is set to self
for an unauthenticated user.:failure_backoff
option).Admin API Changes
PATCH /api/pleroma/admin/instance_document/:document_name
to modify the Terms of Service and Instance Panel HTML pages via Admin API
following
now correctly returns the followings rather than the followersnumber of posts with links * rich media timeout
) in the worst case.
Reduced to just rich media timeout.:auto_linker, :opts
moved to :pleroma, Pleroma.Formatter
. Old config namespace is deprecated.:instance, welcome_user_nickname
moved to :welcome, :direct_message, :sender_nickname
, :instance, :welcome_message
moved to :welcome, :direct_message, :message
. Old config namespace is deprecated.:restrict_unauthenticated
so that when :instance, :public
is set to false
then all :restrict_unauthenticated
items be effectively set to true
. If you'd like to allow unauthenticated access to specific API endpoints on a private instance, please explicitly set :restrict_unauthenticated
to non-default value in config/prod.secret.exs
.last_status
only_media
filter on timelines will now exclude reblog media:instance, rewrite_policy
moved to :mrf, policies
, :instance, :mrf_transparency
moved to :mrf, :transparency
, :instance, :mrf_transparency_exclusions
moved to :mrf, :transparency_exclusions
. Old config namespace is deprecated.:media_proxy, whitelist
format changed to host with scheme (e.g. http://example.com
instead of example.com
). Domain format is deprecated.API Changes
block_from_strangers
.hide_notification_contents
.pleroma.metadata.fields_limits
to /api/v1/instancepleroma.unread_count
to the Marker entity.pleroma.metadata.post_formats
to /api/v1/instance/api/v1/domain_blocks
, e.g. /api/v1/domain_blocks?domain=badposters.zone
/api/pleroma/captcha
responses now include seconds_valid
with an integer value.Admin API Changes
/api/pleroma/admin/relay
endpoints response format.mix pleroma.refresh_counter_cache
)with_move
parameter from notifications timeline.accepts_chat_messages
field to user, exposed in APIs and federation.background_image
to configuration and /api/v1/instance
/api/v1/instance
with Pleroma-specific information.pleroma:api/v1/notifications:include_types_filter
to the features
list.pleroma_emoji_reactions
to the features
list.:restrict_unauthenticated
setting, restrict access for unauthenticated users to timelines (public and federate), user profiles and statuses.:database_config_whitelist
setting to whitelist settings which can be configured from AdminFE.filename_display_max_length
option to set filename truncate limit, if filename display enabled (0 = no limit).follow_request
notification type.:reject_deletes
group to SimplePolicyEmojiStealPolicy
): New MRF Policy which allows to automatically download emojis from remote instances:welcome
settings for the welcome message to newly registered users. You can send a welcome message as a direct message, chat or email.[:instance, :show_reactions]
config.API Changes
/api/v1/instance
.include_types
in /api/v1/notifications
./api/v1/notifications/:id/dismiss
endpoint.bot
field in /api/v1/accounts/update_credentials
.:reject
and :accept
allow deletions againblob:
urls not being allowed by connect-src CSPGET /api/v1/notifications
not returning the full result setGET /api/pleroma/admin/users/:nickname/credentials
returning 404 when getting the credentials of a remote user while :instance, :limit_to_local_content
is set to :unauthenticated
public: false
UserAllowListPolicy
MRF policyimage-src
and media-src
when MediaProxy is used./bin/pleroma_ctl migrate
mix ecto.migrate
erlang-eldap
installedInsertSkeletonsForDeletedUsers
migration failing on some instancesRemove the following line from your config:
SSLCertificateFile /etc/letsencrypt/live/${servername}/cert.pem
POST /api/v1/follow_requests/:id/authorize
allowing to force a follow from a local user even if they didn't request to follow@
blob:
urls not being allowed by CSPfederation
list.GET /api/pleroma/admin/need_reboot
.
./bin/pleroma_ctl migrate
mix ecto.migrate
./bin/pleroma_ctl refresh_counter_cache
mix pleroma.refresh_counter_cache
Audio
activityPATCH /api/pleroma/admin/users/:nickname/update_credentials
user delete_activities
breaking when trying to delete already deleted postsAccept
header is present if Static-FE is enabledCache-Control
headersCache-Control
headers on attachment/media proxy requests\n
and only use <br/>
for newlinesproxy_ignore_headers Cache-Control;
and proxy_hide_header Cache-Control;
from your config../bin/pleroma_ctl migrate
mix ecto.migrate
Pleroma.Upload, :strip_exif
and :instance, :dedupe_media
Breaking: Using third party engines for user recommendation
API Changes
Breaking: AdminAPI: migrate_from_db endpoint
Pleroma.Plugs.RemoteIp
and :rate_limiter
enabled by default. Please ensure your reverse proxy forwards the real IP!config :pleroma, :instance, no_attachment_links
and config :pleroma, Pleroma.Upload, link_name
) disabled by default[:auth, :enforce_oauth_admin_scope_usage]
setting to true
which demands admin
OAuth scope to perform admin actions (in addition to is_admin
flag on User); make sure to use bundled or newer versions of AdminFE & PleromaFE to access admin / moderator features.:pleroma, :instance, dynamic_configuration
setting has been replaced with config :pleroma, configurable_from_database
. Please backup your configuration to a file and run the migration task to ensure consistency with the new schema.:instance, no_attachment_links
has been replaced with :instance, attachment_links
which still takes a boolean value but doesn't use double negative language.Pleroma.Web.Federator.RetryQueue
with Oban (see docs/config.md
on migrating customized worker / retry settings):instance, extended_nickname_format
in the default configrel="ugc"
to all links in statuses, to prevent SEO spam:accept
/:reject
on the actors rather than only their activitiesUser.Info
embedded schema (fields moved to User
)UserRelationship
entity) User fields with user AP IDs (blocks
, mutes
, muted_reblogs
, muted_notifications
, subscribers
).warn
to info
.migrate_to_db
truncates config
table before migrating the config file.prepare: :unnamed
in the database configuration.Instance stats are now loaded on startup instead of being empty until next hourly job.
API Changes
Breaking EmojiReactions: Change endpoints and responses to align with Mastodon
Breaking Admin API: PATCH /api/pleroma/admin/users/:nickname/force_password_reset
is now PATCH /api/pleroma/admin/users/force_password_reset
(accepts nicknames
array in the request body)
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", endpoint changed from POST /api/pleroma/admin/reports/:id/respond
to POST /api/pleroma/admin/reports/:id/notes
Mastodon API: stopped sanitizing display names, field names and subject fields since they are supposed to be treated as plaintext
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
Admin API: Support authentication via x-admin-token
HTTP header
Mastodon API: Add pleroma.direct_conversation_id
to the status endpoint (GET /api/v1/statuses/:id
)
Mastodon API: pleroma.thread_muted
to the Status entity
Mastodon API: Mark the direct conversation as read for the author when they send a new direct message
Mastodon API, streaming: Add pleroma.direct_conversation_id
to the conversation
stream event payload.
Admin API: Render whole status in grouped reports
Mastodon API: User timelines will now respect blocks, unless you are getting the user timeline of somebody you blocked (which would be empty otherwise).
Mastodon API: Favoriting / Repeating a post multiple times will now return the identical response every time. Before, executing that action twice would return an error ("already favorited") on the second try.
Mastodon API: Limit timeline requests to 3 per timeline per 500ms per user/ip by default.
Admin API: PATCH /api/pleroma/admin/users/:nickname/credentials
and GET /api/pleroma/admin/users/:nickname/credentials
:chat_limit
option to limit chat characters.cleanup_attachments
option to remove attachments along with statuses. Does not affect duplicate files and attachments without status. Enabling this will increase load to database when deleting statuses on larger instances.mix pleroma.count_statuses
)mix pleroma.user list
)mix pleroma.email test
)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).privacy_option
option.[:auth, :enforce_oauth_admin_scope_usage]
).authorized_fetch_mode
to require HTTP signatures for AP fetches.replies
collection (output for outgoing federation & fetching on incoming federation).Mix task to refresh counter cache (mix pleroma.refresh_counter_cache
)
API Changes
Job queue stats to the healthcheck page
Admin API: Add ability to fetch reports, grouped by status GET /api/pleroma/admin/grouped_reports
Admin API: Add ability to require password reset
Mastodon API: Account entities now include follow_requests_count
(planned Mastodon 3.x addition)
Pleroma API: GET /api/v1/pleroma/accounts/:id/scrobbles
to get a list of recently scrobbled items
Pleroma API: POST /api/v1/pleroma/scrobble
to scrobble a media item
Mastodon API: Add upload_limit
, avatar_upload_limit
, background_upload_limit
, and banner_upload_limit
to /api/v1/instance
Mastodon API: Add pleroma.unread_conversation_count
to the Account entity
OAuth: support for hierarchical permissions / Mastodon 2.4.3 OAuth permissions
Metadata Link: Atom syndication Feed
Mix task to re-count statuses for all users (mix pleroma.count_statuses
)
Mastodon API: Add exclude_visibilities
parameter to the timeline and notification endpoints
Admin API: /users/:nickname/toggle_activation
endpoint is now deprecated in favor of: /users/activate
, /users/deactivate
, both accept nicknames
array
Admin API: Multiple endpoints now require nicknames
array, instead of singe nickname
:
POST/DELETE /api/pleroma/admin/users/:nickname/permission_group/:permission_group
are deprecated in favor of: POST/DELETE /api/pleroma/admin/users/permission_group/:permission_group
DELETE /api/pleroma/admin/users
(nickname
query param or nickname
sent in JSON body) is deprecated in favor of: DELETE /api/pleroma/admin/users
(nicknames
query array param or nicknames
sent in JSON body)Admin API: Add GET /api/pleroma/admin/relay
endpoint - lists all followed relays
Pleroma API: POST /api/v1/pleroma/conversations/read
to mark all conversations as read
ActivityPub: Support Move
activities
Mastodon API: Add /api/v1/markers
for managing timeline read markers
Mastodon API: Add the recipients
parameter to GET /api/v1/conversations
Configuration: feed
option for user atom feed.
Pleroma API: Add Emoji reactions
Admin API: Add /api/pleroma/admin/instances/:instance/statuses
- lists all statuses from a given instance
Admin API: Add /api/pleroma/admin/users/:nickname/statuses
- lists all statuses from a given user
Admin API: PATCH /api/pleroma/users/confirm_email
to confirm email for multiple users, PATCH /api/pleroma/users/resend_confirmation_email
to resend confirmation email for multiple users
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
Mastodon API: Add support for account_id
param to filter notifications by the account
Mastodon API: Add emoji_reactions
property to Statuses
Mastodon API: Change emoji reaction reply format
Notifications: Added pleroma:emoji_reaction
notification type
Mastodon API: Change emoji reaction reply format once more
Configuration: feed.logo
option for tag feed.
Tag feed: /tags/:tag.rss
- list public statuses by hashtag.
Mastodon API: Add reacted
property to emoji_reactions
Pleroma API: Add reactions for a single emoji.
ActivityPub: [:activitypub, :note_replies_output_limit]
setting sets the number of note self-replies to output on outgoing federation.
Admin API: GET /api/pleroma/admin/stats
to get status count by visibility scope
Admin API: GET /api/pleroma/admin/statuses
- list all statuses (accepts godmode
and local_only
)
Delete
activities being exempt from MRF policiesSupport for cancellation of a follow request
API Changes
Mastodon API: Fix private and direct statuses not being filtered out from the public timeline for an authenticated user (GET /api/v1/timelines/public
)
Mastodon API: Inability to get some local users by nickname in /api/v1/accounts/:id_or_nickname
AdminAPI: If some status received reports both in the "new" format and "old" format it was considered reports on two different statuses (in the context of grouped reports)
Admin API: Error when trying to update reports in the "old" format
Mastodon API: Marking a conversation as read (POST /api/v1/conversations/:id/read
) now no longer brings it to the top in the user's direct conversation list
Pleroma.Captcha.Kocaptcha
to Pleroma.Captcha.Native
Cache-Control
header for static contentpleroma_ctl
not working on Debian's default shellpleroma_ctl
trying to connect to a running instance when generating the config, which of course doesn't exist.One of the migrations between 1.0.0 and 1.1.0 wiping user info of the relay user because of unexpected behavior of postgresql's jsonb_set
, resulting in inability to post in the default configuration. If you were affected, please run the following query in postgres console, the relay user will be recreated automatically:
delete from users where ap_id = 'https://your.instance.hostname/relay';
Bad user search matches
Breaking: The stable branch has been changed from master
to stable
. If you want to keep using 1.0, the release/1.0
branch will receive security updates for 6 months after 1.1 release.
OTP Note: pleroma_ctl
in 1.0 defaults to master
and doesn't support specifying arbitrary branches, making ./pleroma_ctl update
fail. To fix this, fetch a version of pleroma_ctl
from 1.1 using the command below and proceed with the update normally:
curl -Lo ./bin/pleroma_ctl 'https://git.pleroma.social/pleroma/pleroma/raw/develop/rel/files/bin/pleroma_ctl'
/api/v1/statuses/:id/{favourited,reblogged}_by
Reply-To
header from report emails for admins./objects/:uuid/likes
endpoint.config :pleroma, Pleroma.Emails.Mailer, enabled: true
to your config/media/
is now removed when base_url
is configured, append /media/
to your base_url
config to keep the old behaviour if desired/api/pleroma/notifications/read
is moved to /api/v1/pleroma/notifications/read
and now supports max_id
and responds with Mastodon API entities.config/description.exs
, from which docs/config.md
is generatedhide_followers
/hide_follows
setskipThreadContainment
in metadata
for the skip_thread_containment
optionmailerEnabled
in metadata
pleroma.thread_muted
key in the Status entitytotal
alongside with items
when paginatingPleroma.FlakeId
module has been replaced with the flake_id
library.federation_incoming_replies_max_depth
option being ignored in certain cases/api/v1/search
and /api/v2/search
)exclude_replies
is correctly handled again.account_id
, type
, offset
, and limit
to search API (/api/v1/search
and /api/v2/search
)GET /api/v1/timelines/public
)account
field is not empty when rendering Notification entities./api/v1/accounts/:id_or_nickname
hide_followers
/ hide_follows
was set/users/:nickname/inbox
crashing without an authenticated usermax_body_length
was incorrectly defined and only checked Content-Length
headers which may not be sufficient in some circumstancespleroma.expires_at
item which states when an activity will expire. The value is only shown to the user who created the activity. To everyone else it's empty.ActivityExpiration.enabled
controls whether expired activites will get deleted at the appropriate time. Enabled by default.bump_all_conversations
task again to create the necessary data.Pleroma.Web.ActivityPub.MRF.MediaProxyWarmingPolicy
)Pleroma.Web.ActivityPub.MRF.MentionPolicy
)tagged
filter in GET /api/v1/accounts/:id/statuses
Sec-WebSocket-Protocol
headerfields_attributes
API parameter (setting custom fields)blocked_by
attribute in the relationship API (GET /api/v1/accounts/relationships
). https://github.com/tootsuite/mastodon/pull/10373domain_blocking
attribute in the relationship API (GET /api/v1/accounts/relationships
).pleroma.deactivated
to the Account entity/auth/password
endpoint for password reset with rate limit.fields_attributes
API parameter (setting custom fields)GET /api/v1/statuses/?ids[]=1&ids[]=2
)tuples
.enabled
option for Pleroma.Emails.Mailer
, defaulting to false
.bucket_name
, params
options.user_bio_length
and user_name_length
options./api/account/password_reset
endpoint./api/v1/pleroma/accounts/confirmation_resend?email=<email>
for resending account confirmation.rich_media
config.Broken federation on Erlang 22 (previous versions of hackney http client were using an option that got deprecated)
ActivityPub: The first page in inboxes/outboxes is no longer embedded.
(request-target)
pseudo-header.hide_follows
/hide_followers
is setmuted
in the Status entity, using author's account to determine if the thread was mutedurl
property when appropriatedef describe, do: {:ok, %{}}
to the MRF policy modules.Pleroma.Web.ActivityPub.MRF.VocabularyPolicy
)quarantined_instances
support wildcard domains.mix pleroma.database fix_likes_collections
federation_incoming_replies_max_depth
optionlikes
from objects.accept_blocks
configuration setting.erlang-ssh
package on some distributions).mix release
mix pleroma.database bump_all_conversations
mix pleroma.database remove_embedded_objects
mix pleroma.database update_users_following_followers_counts
mix pleroma.user toggle_confirmed
mix pleroma.config migrate_to_db
mix pleroma.config migrate_from_db
Question
and Answer
objectspoll_limits
optionpack_extensions
optionsafe_dm_mentions
optionlink_name
optionfetch_initial_posts
optionnotify_email
optionwhitelist
optionreport_uri
optionemail_notifications
optionlimit_to_local_content
option/api/v1/pleroma/mascot
per-user frontend mascot configuration endpointsverify_credentials
responseupdate_credentials
/api/v1/notifications/destroy_multiple
(glitch-soc extension)/api/v1/pleroma/accounts/:id/favourites
(API extension)POST /api/v1/accounts
(account creation API)mix pleroma.database prune_objects
)mrf_simple
)mrf_simple
)skip_thread_containment
optionrate_limit
option. See Pleroma.Plugs.RateLimiter
documentation for details.ignore_hosts
optionignore_tld
optionsafe_dm_mentions
feature flaginReplyToStatusId
from objectsprod
environment is now set to warn
extra_cookie_attrs
for setting non-standard cookie attributes. Defaults to ["SameSite=Lax"] so that remote follows work.api/pleroma/admin/users
POST /api/pleroma/admin/users
will take list of users/api/pleroma/emoji
resulting in a breaking API changeexclude_types
, limit
and min_id
in /api/v1/notifications
languages
and registrations
to /api/v1/instance
pleroma.conversation_id
, pleroma.in_reply_to_account_acct
fields to the Status entitypleroma.tags
, pleroma.relationship{}
, pleroma.is_moderator
, pleroma.is_admin
, pleroma.confirmation_pending
, pleroma.hide_followers
, pleroma.hide_follows
, pleroma.hide_favorites
fields to the User entitypleroma.show_role
, pleroma.no_rich_text
fields to the Source subentityno_rich_text
, hide_followers
, hide_follows
, hide_favorites
, show_role
in PATCH /api/v1/update_credentials
pleroma.is_seen
to the Notification entitypleroma.local
to the Status entitypreview
parameter to POST /api/v1/statuses
with_muted
parameter to timeline endpointsvacuum analyze
and setting a larger work_mem
is recommended.staffAccounts
summary
propertyas:Public
become addressed to the followers collectionas:Public
with these semanticsno_rich_text
of the user to anyonerole
object in user entity despite show_role = false
/api/v1/favourites
serving only public activitiesin_reply_to_id
- null
even when they are repliesreblogs
in /api/v1/accounts/:id/follow
reblogged
, favourited
, and bookmarked
values in the reblog status JSONirreversible
field default to false
[POST /api/v1/filters
]config :pleroma, :fe
in favor of the more flexible config :pleroma, :frontend_configurations
Frontend changes only.
Added floating action button for posting status on mobile
Changed user-settings icon to a pencil
Keyboard shortcuts activating when typing a message
Gaps when scrolling down on a timeline after showing new
Update the frontend to the 0.9.99 tag
Sign the date header in federation to fix Mastodon federation.
This is our first stable release.