What's cooking in the Pleroma 1.0.5 maintenance release?

We are approaching the end of the merge window for the 1.0.5 release of Pleroma, which will likely be cut next Tuesday (August 13). I have been trying to aim for bi-weekly updates to the Pleroma releases, so that communities tracking stable have the latest security fixes as well as minimally impacting feature additions.

How to get features into the stable release branch?

As the stable release branches are largely frozen, you have to request that a feature be included into the master branch. Stable releases are always cut from master. To do so, open an issue on the Pleroma gitlab or comment on the relevant MR so that a maintainer may tag it with a backport request.

When cutting new releases, a branch is created, such as release/1.0.5, which contains the proposed release. Users are encouraged to test this branch and report on whether any problems exist in the proposed release. These branches contain manual backports done by me at the time of preparing the release, and build on any backports done by others to master, so tracking master instead of a release tag will also get you some of the backports if they are done using the process of using an MR and feature branch for the backport.

Bugfixes

Mastodon API: Set follower/following counters to 0 when hiding followers/following is enabled by @rin@patch.cx

Pleroma reports follower/following counts as 0 in the ActivityStreams 2.0 representations when the user requests to hide their social network. This change adjusts the Mastodon API responses to also return 0 when this setting is enabled.

(backport 409bcad5 to release/1.0.5)

Mastodon API: Fix thread mute detection by @rin@patch.cx

Fix a logic error where CommonAPI.thread_muted? was being called in the wrong context, leading it to always report as false.

(backport 0802a088 to release/1.0.5)

Mastodon API: Return profile URL when available instead of actor URI for MastodonAPI mention URL by @Thib@social.sitedethib.com

Return the profile URL specified in the actor object instead of the actor's IRI when possible in Mastodon API responses. This makes our behaviour consistent with how Mastodon returns profile URLs.

(backport 9c0da100..a10c840a to release/1.0.5)

Correctly style anchor tags in templates by @lanodan@queer.hacktivis.me

Correctly style anchor tags in templates so they match the rest of the template design.

(backport a035ab8c to release/1.0.5)

Do not re-embed ActivityStreams objects after updating them in the IR by @rin@patch.cx

Pleroma's current internal representation (IR) uses a split log of activities (the activities table) and underlying AS2 objects (the objects table). For storage efficiency, the IR refers to child objects by their stable IRI when stored in the IR. In some cases, updates of child objects would result in the child object being re-embedded in the parent activity.

(backport 73d8d5c4..4f1b9c54 to release/1.0.5)

Strip IR-specific fields including likes from incoming and outgoing activities by @sergey@pleroma.broccoli.si

In some cases, IR fields would be shared with peer instances. This caused occasional problems, as some of the IR fields would be serialized in ways that would be inappropriate. Accordingly, we remove all IR-specific vocabulary from incoming and outgoing activities before processing them further.

(backport 0c1d72ab..fa59de5c to release/1.0.5)

Fix --uploads-dir in instance gen task by @lanodan@queer.hacktivis.me

Due to a typo, --uploads-dir is not correctly respected when using the CLI to deploy an instance.

(backport 977c2d04 to release/1.0.5)

Fix documentation for invite gen task by @lanodan@queer.hacktivis.me

Fix typos in the documentation of this task for the --max-use and --expires-at options, underscores were used instead of dashes.

(backport 8815f070 to release/1.0.5)

Handle MRF rejections of incoming AP activities by @sergey@pleroma.broccoli.si

Previously, MRF rejections would be logged to the error log as a crash. This allows for MRF rejections to be more gracefully handled.

(backport d61c2ca9 to release/1.0.5)

New Features

Add relay list task by @kaniini@pleroma.site

Adds the relay list task that has been missing since relay support was implemented. Multiple people have observed that this task was missing for a long time, but nobody got around to writing it until now.

(backport cef3af55 to release/1.0.5)

Add listener port and ip option for 'instance gen' task by @sachin@bikeshed.party

Adds the --listener-port and --listener-ip to the instance gen task. This is primarily useful for automated deployments of Pleroma.

(backport 6d0ae264 to release/1.0.5)

Add wildcard domain matches to MRF simple policy by @alexs@bikeshed.party

Adds the ability for mrf_simple to match using wildcards, for example, against *.example.com instead of just example.com.

(backport 54832360..e886ade7 to release/1.0.5)