Friendica 2021.06 first Release Candidate available

Back to the schedule, we are glad to announce the availability of the initial release candidate of the Friendica 2021.06 release. During the past month. the focus of the work was on enhancing the Mastodon compatible API and adding support for RTL languages to the web interface as well as new addons to use SAML services like Keycloak for login.

If you want to help to hunt down rough edges and bugs ahead of the release in June, now is the perfect moment to switch from the stable or development branch to the freshly created 2021.06-rc branch. To do so please run

git fetch
git checkout 2021.06-rc
git pull
bin/composer.phar install --no-dev

in the root directory of your Friendica and the addon directory. The command to update the dependencies (composer) is only necessary in the Friendica root directory.

Thanks for testing the new release! If you find any problems, please report them either at the issue tracker on github or in the support forum.

Please be aware the since the last stable release the database structure was changed, after the switch to the RC branch your server will need some time to perform these changes.

Known Problems

Please note, that one of the dependencies of Friendica is currently incompatible with PHP 7.0. If you are still running that version of PHP, please have a look at this forum thread for a workaround.

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 2021.04 Released

With a slight delay, we are happy to announce the availability of the new stable version of the Friendica communications server: Friendica Siberian Iris 2021.04.

Photo of a Siberian Iris by Kristine Tanne
Photo of a Siberian Iris by Kristine Tanne

This is mostly a bug fixing release, stabilizing the new features we introduced over the Red Hot Poker cycle, but also finishing some long time restructuring work on the database structure, which results in a greatly improved performance of Friendica. This release bundles 196 pull requests fixing 53 filed issues. For a detailed overview of the changes, please have a look at the CHANGELOG, some of the highlights

  • The reworking of how items are stored in the database was finished, which results in a great improvement of Friendicas performance. Please note that the needed upgrade might take hours depending of your database size.
  • Admins can now block tags from the trending tag widget.
  • We removed the Flash based addons from the addon repository.

And a heads up for developers, we moved some endpoints in the API to normalize the endpoints.

How to Update

Updating from old Friendica versions

If you are updating from an older version than the 2020.03 release, please first update your Friendica instance to that version.

In that version we introduced views to the database and some node admins reported that they had to adjust their MariaDB configuration (table_definition_cache). Also setting pdo_emulate_prepares to true in the Friendica configuration might be necessary.

Pre-Update Procedures

Ensure that the last backup of your Friendica installation was done recently. Despite the long duration of the database upgrade we had no reports of unaddressed problems during the RC phase.

Please make sure to use Barracuda as MySQL DB file format for your Friendica database. Change your database settings before you proceed with the Friendica update. This change will take some time depending on the size of your database.

Using Git

Important: We removed the master branch and are using the stable branch instead.

Updating from the git repositories should only involve a pull from the Friendica core repository and addons repository, regardless of the branch (stable or develop) you are using. Remember to update the dependencies with composer as well.

cd friendica
git fetch
git checkout stable
git pull
bin/composer.phar install --no-dev
cd addon
git fetch
git checkout stable
git pull

Pulling in the dependencies with composer will show some deprecation warning, we will be working on that in the upcoming release.

Using the Archive Files

If you had downloaded the source files in an archive file (tar.gz) please download the current version of the archive (friendica-full-2021.04.tar.gz and friendica-addons 2021.04.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 (config/local.config.php and config/addon.config.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-2021.01 archive), so you don’t have to worry about them.

Post Update Tasks

The database update should be applied automatically, but sometimes 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.

Please note, that some of the changes to the database structure will take some time to be applied, depending on the size of your Friendica database.

Known Issues

Please note, that one of the dependencies of Friendica is currently incompatible with PHP 7.0. If you are still running that version of PHP, please have a look at this forum thread for a workaround.

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!


Release Candidate of Friendica 2021.03 available

We are very happy to announce, that we’ve branched off the 2021.03 Release Candidate from the development branch. Doing so we are entering feature freeze for the upcoming stable release in March, only bug fixes and translation / documentation updates will flow into that branch. Some highlights for the upcoming 2021.03 release are:

  • The ongoing work to enhance the database structure has reached the point of replacement the old item table. This replacement will take a long time (hours), depending on the size of your installations number of stored items, but it is worth the speed gain.
  • CVE-2021-27329 was filed as ticket 9929 External service interaction (HTTP & DNS) and has been fixed with PR 9935.
  • The frontend worker mechanism was removed entirely.

If you are using git to manage the code on your Friendica instance and want to test the upcoming release, helping us to smooth out some rough edges and squash some bugs you can do to by checking out the 2021.03-rc branch of the repository.

cd /path/to/friendica
git fetch
git checkout 2021.03-rc
git pull
bin/composer.phar install --no-dev
cd addon
git fetch
git checkout 2021.03-rc
git pull

Thanks for testing the new release! If you find any problems, please report them either at the issue tracker on github or in the support forum.

Please be aware the since the last stable release the database structure was changed, after the switch to the RC branch your server will need some time (hours) to perform these changes.

Known Problems

Please note, that one of the dependencies of Friendica is currently incompatible with PHP 7.0. If you are still running that version of PHP, please have a look at this forum thread for a workaround.

Due hardening the OEmbed mechanism, embedding external resources may currently not be working as expected.

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 2021.01 Released

and a happy new year dear reader. Not quiet in time for the holidays, but we are very happy to announce the availability of the latest stable version of the Friendica communications server which bundles up some 270 pull requests closing 86 numbered issues. For a detailed overview of the changes, please have a look at the CHANGELOG, some of the highlights

  • Thanks to Balázs Úr Friendica is now available in Hungarian. The German, Italian and Russian translation was updated as well.
  • hansw-nlo made us aware of some places where user input was not properly escaped. For security reasons we urge you to upgrade to the new release. See Issue 9538 for details.
  • The performance of the background process was further improved. For nodes running on very limited hardware, this might cause some problems. If you are running Friendica on such hardware please be aware that you might need to adjust settings like the worker_cooldown in your configuration file.
  • Friendica is now able to directly re-share a posting in addition to the manual cite and re-share we are used to. Additionally the native re-sharing mechanisms of the different protocols supported by Friendica got improved and re-shared postings are now displayed on the users profile page.
Wordcloud from the commit messages of the Friendica 2021.01 release cycle.

How to Update

Updating from old Friendica versions

If you are updating from an older version than the 2020.03 release, please first update your Friendica instance to that version.

In that version we introduced views to the database and some node admins reported that they had to adjust their MariaDB configuration (table_definition_cache). Also setting pdo_emulate_prepares to true in the Friendica configuration might be nessessary.

Pre-Update Procedures

Ensure that the last backup of your Friendica installation was done recently. We had no problems reported during the upgrade process from 2020.09 to the 2020.12 release candidate, so hopefully you will have a smooth transition.

Please make sure to use Barracuda as MySQL DB file format for your Friendica database. Change your database settings before you proceed with the Friendica update. This change will take some time depending on the size of your database.

Using Git

Important: We removed the master branch and are using the stable branch instead.

Updating from the git repositories should only involve a pull from the Friendica core repository and addons repository, regardless of the branch (stable or develop) you are using. Remember to update the dependencies with composer as well.

cd friendica
git fetch
git checkout stable
git pull
bin/composer.phar install --no-dev
cd addon
git fetch
git checkout stable
git pull

Pulling in the dependencies with composer will show some deprecation warning, we will be working on that in the upcoming release. If you want to use the current development version of Friendica instead of the stable released version, you can checkout develop instead, but be aware that the develop branch might be unstable and buggy.

Using the Archive Files

If you had downloaded the source files in an archive file (tar.gz) please download the current version of the archive (friendica-full-2021.01.tar.gz and friendica-addons 2021.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 (config/local.config.php and config/addon.config.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-2021.01 archive), so you don’t have to worry about them.

Post Update Tasks

The database update should be applied automatically, but sometimes 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.

Please note, that some of the changes to the database structure will take some time to be applied, depending on the size of your Friendica database.

Known Issues

Please note, that one of the dependencies of Friendica is currently incompatible with PHP 7.0. If you are still running that version of PHP, please have a look at this forum thread for a workaround.

Some admins had problems during the upgrade of the database structure. See e.g. this issue on github about it.

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 2020.12-RC available

The year is slowly nearing its end and as part of the holiday season preparations we are wrapping up the Friendica 2020.12 release. As part of this, we are very happy to announce the availability of the Release Candid branch of Friendica 2020.12 and hope that some of you will join the process of hunting down rough edges and problems with the release, before the new stable version is published later this month.

If you want to help, now is the perfect moment to switch from the stable or development branch to the freshly created 2020.12-rc branch. To do so please run

git fetch
git checkout 2020.12-rc
git pull
bin/composer.phar install --no-dev

in the root directory of your Friendica and the addon directory. The command to update the dependencies (composer) is only necessary in the Friendica root directory.

Thanks for testing the new release! If you find any problems, please report them either at the issue tracker on github or in the support forum.

Please be aware the since the last stable release the database structure was changed, after the switch to the RC branch your server will need some time (hours) to perform these changes.

Known Problems

Please note, that one of the dependencies of Friendica is currently incompatible with PHP 7.0. If you are still running that version of PHP, please have a look at this forum thread for a workaround.

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.


Wrapping up the Remote Friendica Hackathon 2020

Last weekend we had our annual Hackathon for the Friendica project. Unlike the years before, this time organized remotely using a conference room at the BigBlueButton instance of Senfcall instead of the cozy venture at E-LOK. Meeting in person is great, for all the socializing around the project, but we did manage to get some of it into the virtual space. Discussing lots of issues and ideas for Friendica and having a productive weekend.

Thanks to all, who made this weekend as wonderful as it was 🙂

schedule of the 2020 remote Hackathon
This slide shows the schedule of the 2020 Hackathon for Friendica

What did we hack on?

Over the Hackathon we had 23 pull requests merged into the core repository of Friendica. Eleven pull requests for the directory and two for the addons repository got merged as well. Some of the highlights:

  • We kicked off a new wiki for the project at wiki.friendi.ca where we want to bundle the documentation and make it available in more languages, extending the translation effort.
  • The user directories, e.g. dir.friendica.social, got many improvements and some fixes.
  • There is now an initial version of a small Python tool to extract the content from the backup data files everybody can download from their Friendica accounts–and we fixed a bug in that export function.
  • The endless scrolling setting is now effective on more pages to unify the behavior.
  • The community pages got some options better concentrate on interesting things and got some performance enhancements.
  • The update_active_contacts option was added to the configuration of Friendica which might help to enhance the performance of nodes running on limited hardware like the RaspberryPi.

Friendica 2020.09-1 hotfix release

During the RC phase of the 2020.09 release of Friendica a problem during sending out notification mails was not observed by the testers, but only reported after the release. Therefore we release now the 2020.09-1 hotfix release which will re-enable those mails.

How to Update

Updating from old Friendica versions

If you are updating from an older version than the 2020.03 release, please first update your Friendica instance to that version.

Pre-Update Procedures

Ensure that the last backup of your Friendica installation was done recently. We had no problems reported during the upgrade process from 2020.07 to the 2020.09 release candidate, so hopefully you will have a smooth transition.

Please make sure to use Barracuda as MySQL DB file format for your Friendica database. Change your database settings before you proceed with the Friendica update. This change will take some time depending on the size of your database.

Using Git

Important: We are removing the master branch and are using the stable branch instead.

Updating from the git repositories should only involve a pull from the Friendica core repository and addons repository, regardless of the branch (stable or develop) you are using. Remember to update the dependencies with composer as well.

cd friendica
git fetch
git checkout BRANCH
bin/composer.phar install --no-dev
cd addon
git fetch
git checkout BRANCH

Pulling in the dependencies with composer will show some deprecation warning, we will be working on that in the upcoming release.

Using the Archive Files

If you had downloaded the source files in an archive file (tar.gz) please download the current version of the archive (friendica-full-2020.09-1.tar.gz and friendica-addons 2020.09-1.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 (config/local.config.php and config/addon.config.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-2020.09 archive), so you don’t have to worry about them.

Post Update Tasks

The database update should be applied automatically, but sometimes 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.

Please note, that some of the changes to the database structure will take some time to be applied, depending on the size of your Friendica database.

Known Issues

If you are using lighttpd to serve your Friendica node the boolean AND operator for the full text search seems not to be working at the moment.

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 2020.09 Released

We are happy to announce the availability of Friendica Red Hot Poker 2020.09, wrapping up the work over the summer. It bundles some exciting new features and enhancements with numerous fixes along the way.

This release is composed of 230 pull requests to the development branch, that close 65 numbered tickets and enhanced several aspects of Friendica and the communication with other projects within the Fediverse. For a full reference, please have a look at the CHANGELOG file, some important things are worth highlighting them here:

  • The speed of the full text search was enhanced significantly. If you had disabled it before, please check it out now and let us know if it works now for you as we are considering to remove the option to disable it in a future release.
  • The themes got some updates. Among other things the way how a re-share is displayed. If you like the old display style better you’ll find an option in the user settings to switch back.
  • Some time ago we did a user voting about which additional features should be handled in a unified way on all Friendica instances. The last of these items are not reworked. One of these is, that all public calendar entries are now available as iCAL file from your profile.
  • Friendica is now supporting Activity Pub relay server. For more information please have a look at this forum thread

Additionally this release contains a fix for a problem that Roger Meyer discovered in the processing of Activity Pub messages. We encurage all Friendica admins to update their nodes to the 2020.09 release to prevent problems arising from this. Thanks to Roger to report the issue!

If you are using PHP version 7.0 there is currently a problem with one of the dependencies of Friendica. Please see this forum thread for more information.

Wordcloud of the commit titles from the 2020.09 release
A wordcloud generated from the titles fo the commit messages merged during the development cycle of Friendica 2020.09

How to Update

Updating from old Friendica versions

If you are updating from an older version than the 2020.03 release, please first update your Friendica instance to that version.

Pre-Update Procedures

Ensure that the last backup of your Friendica installation was done recently. We had no problems reported during the upgrade process from 2020.07 to the 2020.09 release candidate, so hopefully you will have a smooth transition.

Please make sure to use Barracuda as MySQL DB file format for your Friendica database. Change your database settings before you proceed with the Friendica update. This change will take some time depending on the size of your database.

Using Git

Important: We are removing the master branch and are using the stable branch instead.

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

cd friendica
git fetch
git checkout BRANCH
bin/composer.phar install --no-dev
cd addon
git fetch
git checkout BRANCH

Where BRANCH is either the new stable branch or the develop branch, depending which version of Friendica you want to use. The old master branch will not receive any updates and will be removed soon.

Pulling in the dependencies with composer will show some deprecation warning, we will be working on that in the upcoming release.

Using the Archive Files

If you had downloaded the source files in an archive file (tar.gz) please download the current version of the archive (friendica-full-2020.09.tar.gz and friendica-addons 2020.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 configuration (config/local.config.php and config/addon.config.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-2020.09 archive), so you don’t have to worry about them.

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.

Please note, that some of the changes to the database structure will take some time to be applied, depending on the size of your Friendica database.

Known Issues

If you are using lighttpd to serve your Friendica node the boolean AND operator for the full text search seems not to be working at the moment.

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 Hackathon 2020 Schedule

As mentioned before the Friendica Hackathon this year wont be in Berlin. Instead over the weekend from Friday, September 25th to Sunday, September 27th, we will come together virtually and you are invited to join us.

You want to join the Hackathon?

Great to hear! And welcome aboard. Please let us know about your plans what you want to work on in this thread[1] in the Developers forum. If you are unsure where to start, this list of issues might give you an idea and the Hackathon is the perfect moment to get some Friendica developers to clarify questions.

Location

We will meet for audio/video chats in a Big Blue Button conference room using the senfcall service. You will find the exact room URL in the etherpad for the Hackathon, once the URL is fixed Friday morning in Europe.

Additionally we will be most likely idling in the XMPP, IRC and Matrix rooms for the Friendica community (see the External Resources page in the docs for their addresses).

Fixed dates

The first meeting of the participants of the Hackathon will be on Friday at 17h UTC.

Most of the time we will hack on the code (e.g. the upcoming 2020.12 release). Tinker about problems in solitude, undisturbed by the Squirrels. However we want to get together once in a while. For taking a break, getting something to drink and to brainstorm together about stuff that just came up. For this all the participants (unless sleeping or otherwise occupied by more important things) shall meet at the conference room at UTC 8h, 14h and 18h.

Additionally we will have an open round that everybody interested in Friendica can join on Friday at 18h UTC . To ask questions, give feedback and make suggestions. If you want to join, please put your topic into this etherpad so we can group the topics.

The coffee break on Sunday at 18h UTC will be the closing event of the Hackathon.

Links

Notes

1: The thread is public so you can search for the URL and join the conversation.


Hotfix Release of Friendica 2020.07-1

Thanks to Roger Meyer who reported a flaw in the administration module of Friendica, we could fix a security vulnerability that could leak sensitive information from the server environment. The hotfix release 2020.07-1 includes the patch for the stable release branch of Friendica. The development and RC branches have been updated as well.

Affected versions of Friendica

All versions of Friendica since April 2019 (develop branch) and June 2019 (stable) are affected.

Through the admin module environment variables of the server system can be read by anyone on the internet. Among other things this may include database passwords for Docker installs and the memcached SASL password. Therefore we recommend all node admins to change their potentially affected passwords after the upgrade to 2020.07-1. Furthermore this fix also prevents anonymous users to update node-wide addon settings.

How to Upgrade.

This information only applies to the stable release 2020.07 of Friendica. The patch has separately been added to the develop and 2020.09-rc branch of the repository.

Using Git

Important: We are removing the master branch and are using the stable branch instead.

Updating from the git repositories of Friendica will be a bit more complicated as you might be used to as we decided to rename the branch for the stable releases to stable. Hence you need to switch the branch you want to use, after pulling the current version of the code from the repositories. As usual, please remember to update the dependencies with composer as well.

cd friendica
git fetch
git checkout stable
git pull

Pulling in the dependencies with composer is not necessary for this hotfix release.

Using the Archive Files

If you had downloaded the source files in an archive file (tar.gz) please download the current version of the archive (friendica-full-2020.07-1) file and unpack it on your local computer. Compared to the 2020.07 release only a few files were updated and none of the config files are affected. So you can just upload the changed files onto your server.

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 Roger Meyer to make us aware of this problem!