Friendica 2019.04 released

This release fixes a bug allowing unauthorised access to private postings under certain circumstances.

How to update

For this release notes we assume, that you are running Friendica 2019.03 if not, please update to that release before proceeding.

Using git

If you have used git for installation, update your system simply by doing a git pull in the core repository of Friendica. The fix is applied to the master and the devel branch of the repository.

An update of the addons repository is not needed.

Using the archive files

Before uploading the extracted files from the archive please make sure that you have a backup copy of your configuration file (config/local.config.php).

Please download the archive file friendica-full-2019.04.tar.gz which contains the needed 3rd party dependencies.

Compared to the 2019.03 release only four files have changed: CHANGELOG, VERSION, boot.php and mod/display.php.

Extract the archive and upload the contained files (all or only the four mentioned above) to your server.

Post upgrade procedure

There should be no action necessary after the files are exchanged if you were updating from the 2019.03 release of Friendica.


Friendica 2019.03 “Dalmatian Bellflower” Released

Friendica 2019.03 “Dalmatian Bellflower” Released

A year of Friendica with The Tazmans Flax-lily. Thanks everyone who contributed, be it directly by commiting patches or new features, doing translations or reporting issues.

The Tazmans Flax-lily in a word cloud from the titles of the commit messages

And now, we happily announce the availability of Friendica 2019.03 “Dalmatian Bellflower”. It contains many bug fixes, enhancements of existing functionality and some new features. The most noteworthy changes since the last release in January are:

  • The storage backend for photos and attachments was made plug-able and an experimental file system backend was added.
  • ActivityPub support was added to the forum functionality, and got some general improvements to smooth out quirks discovered since the initial implementation.
  • The performance of the background process was enhanced.

You can find a complete overview of the changes in the CHANGELOG file.

How to Update

Updating from old Friendica versions

If you are updating from an older version then the 2018.09 release, please first update your Friendica instance to that version as there were several important changes in that version.

Please further note, that since Friendica 3.6 we use composer for dependency management. If you are updating via git, you have to remember to update the dependencies as well.

Pre-Update Procedures

Ensure that the last backup of your Friendica installation was done recently. While testing, we did not encounter problems, but better save than sorry.

With this release we raised the requirements to PHP and MySQL to PHP 7.1+, MySQL 5.6+ (or compatible alternatives e.g. MariaDB 10.0.5+). If you are still using PHP 5.6.1 we don’t expect problems, but encourage you to upgrade your PHP installation. Please make sure, that your systems meets this new requirement.

Known Problems

The performance of the background process (workers) was improved by removing a bottleneck, As a consequence the worker will consume more system resources. On the plus side, you will most likely not need aas many workers as you needed before to perform the pending jobs.

During the RC phase several admin reported high system LOADs. As a rule of thumb, you should set the Maximum number of parallel workers (plus an additional fastlane worker) and set the Maximum Load Average to the number of threads your servers CPU cores can perform. These values are not carved into stone, you can most likely further adjust the settings to increase the performance of the system.

Using GIT

Updating from the git repositories should only involve a pull from the Friendica core repository and addons repository. Remember to also update the dependencies with composer.

cd friendica
git pull
bin/composer.phar install
cd addon
git pull

If you want to switch the branch (e.g. if you helped testing the RC code) please do so after the pull using git checkout master (or develop).

Be aware that the .htaccess file was removed from the git repository in the last version. You might have to restore yours from a backup (if you have done local changes) or from the .htaccess-dist if you had not done it before.

Using the Archive Files

If you had downloaded the source files in an archive file (zip or tar.gz) please download the current version of the archive (friendica-full-2019.03.tar.gz and friendica-addons-2019.03.tar.gz) and unpack it on your local computer.

As many files got deleted or moved around, please upload the unpacked files to a new directory on your server (say friendica_new) and copy over your existing configuration and .htaccess files. Afterwards rename your current Friendica directory (e.g. friendica) to friendica_old and friendica_new to friendica.

The files of the dependencies are included in the archive (make sure you are using the friendica-full-2019.03 archive), so you don’t have to worry about them.

Please be aware of the changes in the configuration format. You should follow the instructions linked from your admin panel as soon as possible to move your configuration to the new location.

Post Update Tasks

The database update should be applied automatically, but maybe it gets stuck. If you encounter this, please initiate the DB update manually from the command line by running the script

bin/console dbstructure update

from the base of your Friendica installation. If the output contains any error message, please let us know using the channels mentioned below.

How to Contribute

If you want to contribute to the project, you don’t need to have coding experience. There are a number of tasks listed in the issue tracker with the label “Junior Jobs” we think are good for new contributors. But you are by no means limited to these – if you find a solution to a problem (even a new one) please make a pull request at github or let us know in the development forum.

Contribution to Friendica is also not limited to coding. Any contribution to the documentation, the translation or advertisement materials is welcome or reporting a problem. You don’t need to deal with git(hub) or Transifex if you don’t like to. Just get in touch with us and we will get the materials to the appropriate places.

Thanks everyone who helped making this release possible and have fun!


Friendica 2019.03 RC available

Today we have branched off the release candidate (RC) for the upcoming 2019.03 release of Friendica. Since end of January, we fixed some bugs and added some interesting new features. These include:

  • The used storage backend for uploaded media files is now plug-able. By default Friendica currently support the file system and the database as storage devices. But this list can be expanded via addons.
  • The postings and comments of the logged in user now have a delivery indication included in the displayed header of the posting.
  • The frio theme has got a live preview of new attachments, and
  • visitors can now override the language settings by appending a lang=CODE parameter to the URL in the browser address bar.

If you are updating from an older version then the 2018.09 release, please first update your Friendica instance to that version as there were several important changes in that version. Afterwards you can continue to update to the RC branch.

How to help testing the release candidate?

Please pull the current sources for the core of Friendica and the addons from github. You should see a notification about a new branch called 2019.03-RC during the pull. in both repositories. You just need to checkout this branch with a

git checkout 2019.03-RC

and remember to follow the usual steps after updating using git. Please report any issues you encounter using either the issue tracker at github or the Friendica support or admin forums.

Should the DB update process get stuck

If you encounter this, please initiate the DB update manually from the command line by running the script

./bin/console dbstructure update

from the base of your Friendica installation. If the output contains any error message, please let us know using the channels mentioned above.


Friendica 2019.01 released

We are pleased to announce the availability of Friendica The Tazmans Flax-lily 2019.01, which bundles up our work since September 2018. This includes over 130 fixed issues and some exciting new features. If you are interested in all of them, please have a look at the CHANGELOG file.

Most noteworthy of these changes are:

  • Friendica does now natively support ActivityPub (AP) in addition to the DFRN, diaspora* and OStatus protocols. The AP functionality was tested with Hubzilla, Mastodon, Nextcloud Social, Osada, PeerTube, Pixelfed and Pleroma.
  • The configuration structure has changed again! Your old .htconfig.php and config/local.ini.php file will still work, but you will get a notification in the admin panel with some hopefully explaining text on how to convert your settings to the new config/local.config.php config file.
  • The manual and automatic installation process was enhanced.

Thanks everyone who has made this release possible. Your work is much appreciated!

Please note, that this will be the last version of Friendica supporting PHP 5.6.

How to Update

If you are updating from an older version then the 2018.09 release, please first update your Friendica instance to that version as there were several important changes in that version.

Please further note, that since Friendica 3.6 we use composer for dependency management. If you are updating via git, you have to remember to update the dependencies as well.

Pre-Update Procedures

Ensure that the last backup of your Friendica installation was done recently. While testing, we did not encounter problems, but better save than sorry.

Please note that Friendica now requires MySQL version 5.6+ or compatible (e.g. MariaDB 10.0.5). Please make sure, that your systems meets this new requirement.

Using the Archive files

If you had downloaded the source files in an archive file (zip or tar.gz) please download the current version of the archive from GitHub (friendica-full-2019.01.tar.bz2 [or tar.gz] and friendica-addons-2019.01.tar.gz and unpack it on your local computer.

As many files got deleted or moved around, please upload the unpacked files to a new directory on your server (say friendica_new) and copy over your existing configuration and .htaccess files. Afterwards rename your current Friendica directory (e.g. friendica) to friendica_old and friendica_new to friendica.

The files of the dependencies are included in the archive (make sure you are using the friendica-full-2019.01 archive), so you don’t have to worry about them.

Please be aware of the changes in the configuration format. You should follow the instructions linked from your admin panel as soon as possible to move your configuration to the new location.

Using git

Updating from the git repositories should only involve a pull from the Friendica core repository and addons repository. Remember to also update the dependencies with composer.

cd friendica
git pull
bin/composer.phar install
cd addon
git pull

If you want to switch the branch (e.g. if you helped testing the RC code) please do so after the pull using git checkout.

Known Problems

Update 2019-01-22: Some of the early adopters have discovered the following issues, that went unnoticed during the RC phase.

Sometimes the update process of the database seems to get stuck. If you notice high LOAD on your system and MySQL active processes in the process list that seem to cause the LOAD, please issue the following command from the base of your Friendica installation on the CLI.

bin/console.php dbstructure update

The config update guide seems not to be shown in the admin panel. As mentioned above, both old config formats are still supported, so no need to hurry. But if you are looking for the guide to migrate your config file format to the new one, please see here: help/Config.

How to Contribute?

If you want to contribute to the project, you don’t need to have coding experience. There are a number of tasks listed in the issue tracker with the label “Junior Jobs” we think are good for new contributors. But you are by no means limited to these – if you find a solution to a problem (even a new one) please make a pull request at github or let us know in the development forum.

Contribution to Friendica is also not limited to coding. Any contribution to the documentation, the translation or advertisement materials is welcome or reporting a problem. You don’t need to deal with git(hub) or Transifex if you don’t like to. Just get in touch with us and we will get the materials to the appropriate places.

Thanks again everyone who helped making this release possible and have fun!


Friendica 2019.01 Release Candidate available

Today we have branched off the release candidate (RC) for the upcoming 2019.01 release of Friendica The Tazmans Flax-lily. Over the last 4 month many issues were resolved, alongside with some enhancements and new features. For all these changes we now feel it is time for them to get released. Before this will happen, we’d like to invite you, to test them and report back some rough edges and problems you encountered. We are especially interested in the experiences of people who are currently running the 2018.09 release of Friendica.

Some things you should be aware of before testing:

  • To prevent most Cross-Site Scripting attacks, templates are now escaped by default site-wide. The scale of the change has led to uncaught visual artifacts where actual HTML code would be visible instead of their representation. Please report any such lingering instances on GitHub.
  • The configuration structure has changed again! Your old .htconfig.php and config/local.ini.php file will still work, but you will get a notification in the admin panel with some hopefully explaining text on how to convert your settings to the new config/local.config.php config file.

How to help testing the release candidate?

Please pull the current sources for the core of Friendica and the addons from GitHub. You should see a notification about a new branch called 2019.01-rc during the pull. in both repositories You just need to checkout this branch with a

$> git checkout 2019.01-rc

and remember to follow the usual steps after updating using git. Please report any issues you encounter using either the issue tracker at github or the Friendica support or admin forums.

If you used to be on the 2018.12-rc branch

You can switch to the newly named branch by fetching the remotes and checking out the 2019.01-rc branch.

$> git fetch --all
$> git checkout 2019.01-rc

Should the DB update process get stuck

If you encounter this, please initiate the DB update manually from the command line by running the script

$> bin/console dbstructure update

from the base of your Friendica installation. If the output contains any error message, please let us know using the channels mentioned above.

One user reported problems during the update of the database using MySQL 5.7 getting the error message Creating index 'PRIMARY' required more than 'innodb_online_alter_log_max_size' bytes of modification log. Please try again.from MySQL. If you encounter this problem, please try the following:

  • increase the config value mentioned in the error message above,
  • execute this query in your MySQL console: UPDATE `config` SET `v` = 1278 WHERE `k` = "post_update_version";
  • after this execute the command $> bin/console postupdate.

Friendica 2018.12 RC available

Today we have branched off the release candidate (RC) for the upcoming 2018.12 release of Friendica The Tazmans Flax-lily. Over the last quarter of the year many issues were resolved, alongside with some enhancements and new features. Most noteworthy the initial support of ActivityPub as communication protocol between nodes in the Fediverse.

For all these changes we now feel it is time for them to get released. Before this will happen, we’d like to invite you, to test them and report back some rough edges and problems you encountered. We are especially interested in the experiences of people who are currently running the 2018.09 release of Friendica.

If you are updating from an older version then the 2018.09 release, please first update your Friendica instance to that version as there were several important changes in that version. Afterwards you can continue to update to the RC branch.

How to help testing the release candidate?

Please pull the current sources for the core of Friendica and the addons from github. You should see a notification about a new branch called 2018.12-RC during the pull. in both repositories. You just need to checkout this branch with a

git checkout 2018.12-rc

and remember to follow the usual steps after updating using git. Please report any issues you encounter using either the issue tracker at github or the Friendica support or admin forums.

Should the DB update process get stuck

If you encounter this, please initiate the DB update manually from the command line by running the script

./bin/console dbstructure update

from the base of your Friendica installation. If the output contains any error message, please let us know using the channels mentioned above.


Friendica Berlin-Hackathon 2018

Last weekend we had our Hackathon in Berlin. Thanks to the nice people of the youth-club E-LOK we could use their venue again. Enjoying the crisp November air in the garden while hacking and discussing in the warmth inside. Thanks a lot for the opportunity!

Entrance area of the youth-club E-LOK in Berlin

Entrance area of the youth-club E-LOK in Berlin

Apart from enjoying the garden, what did we do?

  • We fixed a number of bugs in the user interface, enhanced the documentation and worked on the translations.
  • There were several issues with the Vagrant machine we could solve. Furthermore we discussed some changes to the machine we want to add as features in the future.
  • We discussed a potential change in the ~nickname viewpoint of the profile and turn it into a more blog like view to the postings.
  • Some time ago we started to discuss the state of various of the additional features of Friendica and the reasoning behind putting them behind that curtain. Over the Hackathon we evaluated the results of that discussion and changed their state accordingly.
  • And last but not least we spend some time discussing the various ways to block and ignore other accounts and their content. Starting from this discussion we started a clarification process which will hopefully lead to a cleaner interface to these features in Friendica in the near future.

Thanks everybody who made the Hackathon a wonderful weekend–it was real fun!


ActivityPub support in Friendica

What is ActivityPub?

In the last couple of weeks support for ActivityPub (AP) has landed in Friendica. For those who do not know AP–it is the attempt to provide a common protocol different projects can use to let their users and server communicate among each other. It was developed by the W3C Social Working Group and is adopted in the realm of the Fediverse/Federation by other projects like Funkwhale, Hubzilla, Mastodon, Pleroma or Osada.

Current state of implementation

At this point AP implementation is still a work in progress. Although many parts already charmingly work.

So what can you already use?

  • You can follow and un-follow accounts that support the AP protocol. We mainly test with Mastodon and Pleroma, so other AP supporting projects might not work at the moment. If you encounter such a case, please report it in the Support Forum or open a new issue at github.
  • The public and non-public communication works. You can write new postings and comments; like, unlike and delete them.
  • The distribution of comments for public postings is done both ways; thread based like e.g. in Friendica and diaspora* by the creator of a thread, and per posting as known from OStatus based systems.
  • The thread completion works the same, as Friendica already does the completion for threads from GNUsocial, so conversations are not torn apart.
  • When the initial distribution of your posting was not successful for some contacts, the posting will be re-queued for a later delivery retry.

Some things currently do not work, of have rough edges at the borders of the Friendica network to the (or some) other parts of the Fediverse. Among these, the most prominent are

  • AP does not support direct messages. There is only the workaround to make an non-public posting, restricted to one recipient and mention the recipient.
  • Resettling of your account to another node, does not work over AP.

And of course, you may find other quirks along the way. For the things that are currently not possible with AP we use the old ways, if they existed, so you wont loose functionality.

When can I use it?

You already can. That is, if your Friendica node is running the current development version of the code from the development branch. If you are running the current stable 2018.09 release (or an older version) you will get AP support with the December release of Friendica.

So stay tuned 😉


Friendica Hackathon 2018

Three times we’ll wake up, be hot then it’s Friendica hackathon weekend.

We are grateful that we can use the youth-club E-LOK, Laskerstraße 6-8 near Ostkreuz station in Berlin, again as venue for the Friendica hackathon in Berlin this year. Some of us will gather at Friday (that is the 16th November) afternoon at the venue for set-up and already doing some work. Hacking will most likely really happen at Saturday and Sunday; focusing the work on the open issues of the upcoming 2018.12 release. If you are interested in the progress, you can follow it with the Berlin2018 label for closed issues . If you want to join from abroad, we will be online at the Friendica IRC channel (#friendica at freenode.net) most of the time.

Entrance area of the youth-club E-LOK in Berlin

Entrance area of the youth-club E-LOK in Berlin

If you want to join us at the hackathon. Please contact Tobias and let him know, so that the snacks wont run out at Saturday evening 😉 But don’t hesitate, spontaneous visitors are welcome as well!

Happy hacking!


Friendica 2018.09 released

Dear everybody in the Federation, the Fediverse and anywhere else, the Friendica team is pleased to announce the release of Friendica The Tazmans Flax-lily 2018.09.

This release brings the long awaited restructuring of the item table in the database, alongside some 100 closed issues from the tracker. Please see the CHANGELOG file for the complete overview of the changes. Here just a short list of the noteworthy changes since the 2018.05 release of Friendica.

  • The long awaited restructuring of the item table of the database will finally be included in this release. The needed changes and alterations of the database structure and content will take some time. Depending on the resources available on your system this can take hours or even days. The maintenance mode will inform you about the progress.
  • The configuration structure is changed. Your old `.htconfig.php` file will still work, but you will get a notification in the admin panel with some hopefully explaining text on how to convert your settings to the config file. In some cases the encoding of the displayed text got mangled up, if you are suffering from such garbage you need to switch to the new config style and set the correct encoding for the database.
  • The `.htaccess` file is no part of the git repository anymore. Instead we now ship the `.htaccess-dist` file that you have to copy to the `.htaccess` location. This has the advantage that you can now customise the `.htaccess` file to meet your requirements. Please make a copy of your old `.htaccess` file should you have made any changes and restore the file after the update from the backup or the distributed file. Without a working `.htaccess` file your node will probably not work!
  • We removed the old syntax highlighting mechanism from `[code]` blocks due to problems federating the highlighted syntax to other platforms. There will be an addon for this in the next release.
  • The libravatar service will be continued, so contrary to the note with the last release, you can keep using the libravatar addon to automatically generate avatar pictures for your users.

Thanks everyone who has made this release possible. Your work is much appreciated!

How to Update

Updating from old Friendica versions

If you are updating from a version older then Friendica 3.5.4 you have to make the update process in two steps due to a change in the updating procedure. First update to the 3.5.4 release and then update to the current release.

Please further note, that since Friendica 3.6 we use composer for dependency management. If you are updating via git, you have to remember to update the dependencies as well.

Pre-Update Procedures

Ensure that the last backup of your Friendica installation was done recently. While testing, we did not encounter problems (except those listed below), but better save than sorry.

This is especially true during this update for your `.htaccess` file which we removed from the repository so you can make local adjustments to the files without further conflicts. Please make a copy of the file before you start the update and restore it afterwards. If you have not made any changes to the file, you can use the new `.htaccess-dist` file and copy that to the `.htaccess` file.

Using the Archive files

If you had downloaded the source files in an archive file (zip or tar.gz) please download the current version of the archive from GitHub (friendica-full-2018.09.tar.gz and friendica-addons-2018.09.tar.gz and unpack it on your local computer.

As many files got deleted or moved around, please upload the unpacked files to a new directory on your server (say friendica_new) and copy over your existing `.htconfig.php` and `.htaccess` files. Afterwards rename your current Friendica directory (e.g. friendica) to friendica_old and friendica_new to friendica.

The files of the dependencies are included in the archive (make sure you are using the friendica-full-2018.09 archive), so you don’t have to worry about them.

Please be aware of the changes in the configuration format. You should follow the instructions linked from your admin panel as soon as possible to move your configuration to the new location.

Using git

Updating from the git repositories should only involve a pull from the Friendica core repository and addons repository. Remember to also update the dependencies with composer.

    cd friendica
    git pull
    bin/composer.phar install
    cd addon
    git pull

If you want to switch the branch (e.g. if you helped testing the RC code) please do so after the pull using `git checkout`.

Be aware that the `.htaccess` file was removed from the git repository. You have to restore yours from a backup (if you have done local changes) or from the `.htaccess-dist` file (copy the file to `.htaccess` if you had not done any changes to the old `.htaccess` file).

Post-Update Procedures

Restore your .htaccess file from the backup or the .htaccess-dist file.

The conversion process of the items stored in the database can take a long time. Reports indicate some hours to days or even weeks depending on the number of stored items and the available resources on the server.

If you can start the process directly from the command line interface, this will speed up the process significantly. To do so run the following command (use screen or a similar tool so you can detach from the session while the process is running):

    bin/console postupdate

from the base of your Friendica installation.

The conversation of the stored items to the new structure of the database will cause some load on the server. It will not interfere with the daily usage of your Friendica node. Once it is finished the needed storage for the database should be lowered significantly, especially on large nodes.

Known Problems

Should the DB update process get stuck

If you encounter this, please initiate the DB update manually from the command line by running the script

    bin/console dbstructure update

from the base of your Friendica installation. If the output contains any error message, please let us know using the channels mentioned below.

Problem with InnoDB on MySQL 5.7

One user reported problems during the update of the database using MySQL 5.7 getting the error message `Creating index ‘PRIMARY’ required more than ‘innodb_online_alter_log_max_size’ bytes of modification log. Please try again.` from MySQL. If you encounter this problem, please try the following:

  • increase the config value mentioned in the error message above,
  • execute this command in your mysql console: `update config set v=1278 where k=”post_update_version”;`
  • after this execute the command `bin/console postupdate`.

How to Contribute?

If you want to contribute to the project, you don’t need to have coding experience. There are a number of tasks listed in the issue tracker with the label “Junior Jobs” we think are good for new contributors. But you are by no means limited to these – if you find a solution to a problem (even a new one) please make a pull request at github or let us know in the development forum.

Contribution to Friendica is also not limited to coding. Any contribution to the documentation, the translation or advertisement materials is welcome or reporting a problem. You don’t need to deal with git(hub) or Transifex if you don’t like to. Just get in touch with us and we will get the materials to the appropriate places.

Thanks again everyone who helped making this release possible and have fun!