The software also implements the ActivityPub protocol, which allows users to communicate and interact with content from other Pleroma instances or any server that is running software that supports ActivityPub (such as Mastodon, Misskey, Pixelfed, etc.), a decentralized network commonly referred to as the Fediverse.[4]
As of July 2024, over 138k user accounts (1.3% of the total amount of fediverse users) have been found on over a thousand Pleroma instances.[5]
History
In 2016, the Pleroma project was created by a German developer under the pseudonym "lain".[6] It was originally designed as an alternative user interface for GNU social with many similarities to Qvitter, a popular frontend at the time which resembled an early Twitter user interface. The frontend was written with the Vue.jsJavaScriptframework.
As development of the frontend continued, it was perceived that there were many disadvantages to GNU social's design of using plugins to implement features, as well as issues with its codebase and usage of PHP, which led to the development of a backend to replace GNU social.[7][8] The first commit to the repository hosting the Pleroma backend was made on March 17, 2017.[9]
Releases
On February 22, 2019, the first stable release of the Pleroma backend, 0.9.9, was released.[10] The backend includes the Pleroma frontend as the main user interface, federation of user content using OStatus and ActivityPub and support for the GNU social and Mastodonclient APIs. The backend was built using the Elixir programming language and the Phoenix web framework, and uses PostgreSQL for its database.[11]
On June 28, 2019, Pleroma 1.0 was released. This release adds the ability to create polls, report content and schedule posts to be posted at a later date. A new website containing documentation for users and administrators was also launched.[12][13]
On March 8, 2020, Pleroma 2.0 was released. This release drops support for the OStatus protocol due to a lack of usage and active maintenance, introduces a new user interface for administration and adds post reactions using Unicode emoji.[14][15]
On August 28, 2020, Pleroma 2.1 was released. This release includes a federated instant messaging system based on ActivityPub, an alternative to the direct messages system used by other software such as Mastodon.[16]
On October 29, 2023, Pleroma 2.6 was released. This release implements quoting posts as well as the ability to use custom emoji for post reactions.[17]
Pleroma was originally developed with its frontend and backend releasing new versions in sync, but starting with Pleroma 2.6.1 the policy was discontinued.[18]
On August 1, 2024, Pleroma 2.7 was released, adding support for uploading files via IPFS, bookmark categorization, improved theming and various quality-of-life improvements.[19]
Forks
Akkoma
Akkoma is a fork of Pleroma that started development in 2022. The fork was made to support a faster pace of development, as well as to support more user customization.[20][21]
Features
Pleroma has been described as being more lightweight than alternatives like Mastodon, due to being less intensive on system resources and requiring fewer software dependencies.[22]
Pleroma's default post length limit is 5000 characters, and can be configured by instance administrators.[11][23] It is capable of uploading and sharing multimedia, as well as polls.[24] Posts are created by default using plaintext, but can also be translated from a variety of markup languages such as HTML, BBCode and Markdown.
While Pleroma comes with its own frontend by default, instance administrators can install additional user interfaces, such as a port of Mastodon's advanced mode (similar to TweetDeck) as well as a interface for the Gopher protocol.[25]
Pleroma includes a system known as the Message Rewrite Facility (or MRF), which allows administrators of a Pleroma instance to modify the content that it sends and receives. By default, Pleroma provides a selection of policies, including a basic moderation policy that can create restrictions on federation with other instances. Custom MRF policies can be written using any language based on the BEAM virtual machine.[26] This system has been used as a method to study how content moderation works in the Fediverse and the challenges that it faces, since the list of active policies is publicly shown by default through both the API and the frontend.[27]