Friendica 3.6 released

The year started with sad news that Tony Baldwin passed away January 6th. Tony was an early member of the Friendica/RedMatrix/Hubzilla community who contributed ideas, addons, themes and utility tools. He was a great spirit among the FLOSS people, an artist, a translator, an interpreter and a great friend who is deeply missed.

This release is dedicated to the memory of Tony “tazman” Baldwin.

Screenshot of the Diabook theme

Screenshot of the Diabook theme by Tony “tazman” Baldwin CC BY-SA 3.0 Source en.wikipedia.org

With no further ado, we’d like to present to you Friendica 3.6 The Tazmans Flax-​lily.

Noteworthy Changes

It took a long while this time for the developers find the opportunity to say now is the right time. Initially we wanted to have the release after last years hackathon, but then the big adventure of reorganising the code was started and that took some time. But the long wait was worth it, the code got cleaner and faster.

Some things we want to highlight are:

  • You can now interact with postings on the community page, even if you are not connected with the author.
  • Forums can now be addressed with an !, e.g. !helpers. The ACL dialog does this automatically when you select a forum as recipient and has the forums listed separately from user groups and regular contacts. Addressing a forum with an ! will make the posting exclusively for the subscribers to the forum (public or private depends on the forum settings).
  • You can now follow hashtags
  • Dependency management is now done using composer (see below).
  • The API was improved, letting the native clients provide a nicer mobile user experience.

Additionally we fixed numerous bugs that the community had found and we polished some quirks and added some more features. For the complete list of changes, please see the CHANGELOG file.

You can find the video on peertube and Vimeo.

How to Update?

We started to use composer for dependency management. This means, that if you are using git to manage the Friendica sources on your server, there is now an additional step in the update process. If you used the archives provided, you don’t need to care about it, as the archives contain the dependencies as well.

Should you encounter any problems while testing the RC code, please let us know about in the Friendica support forum, at github or over any other of the support channels.

Independent of the update path you are choosing, please be aware that there are some changes to the database structure to enhance the performance of Friendica that will be applied automatically to your database. Depending on the size of your database, especially the item table, these changes can take several hours.

If you are updating from a very old version of Friendica, you have to first update to version 3.5.4 before you can update to the 3.6 release.

Please note that due a slight oversight we did not encounter during testing in the RC phase you currently need php7 with the version 3.6. We are working on a 3.6.1 release that will then work again with php5.6. 3.6.1 should be available soon.

Updating with git from the stable (master) branch

As mentioned above, Friendica is now using composer for dependency management. This means that you have to do one further step when updating your git repository. This can be either an additional command every time you update, or adding a shell script to a git hook.

Composer needs to be able to unpack the downloaded archives, hence you need to have the PHP zip module available on your server.

If you want to do it all manually, then use the following sequence of commands: starting in the base directory of your Friendica installation.

git pull
php util/composer.phar install
cd addon
git pull

This will download the updated sources from github, call composer to get the dependencies and then change into the addon repository to fetch the new code there as well.

If you don’t want to remember this every time you pull, you can also use a so called git-hook to do it automatically. Please have a look at the docs for further information about this.

Updating with git from the RC or the development branches

As the changes regarding the dependency management are likely already in place on your system, a git pull in your Friendica core repository and the addon repository should bring you on the latest code as usual.

If you helped testing the release candidate–thanks a lot for helping!–you need to decide either to checkout the master or develop branch after the pull.

If you are using the develop branch, please be reminded about the recent path changes for many scripts.

Updating using the source archives

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-3.6.zip or tar.gz and friendica-addons-3.6.zip or 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 file to friendica_new. 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 that you use the friendica-full-3.6 archives), so you don’t have to worry about them.

After you performed the update, you need to touch your cron job for the background process. The script handling the worker has been moved to scripts directory. So your cron job must now contain: something like

/usr/bin/php scripts/worker.php

instead of the old location in the include directory.

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!

screenshot of the landing page of Friendica 3.6 using the frio theme

landing page for visitors using the frio theme



7 Comments

Alkarex says:

It does not look like the upgrade instructions are correct.
Testing from Friendica develop 06d6d6c758b26713f97e3f9929f39e496171a023.

util/composer.phar does not exist

./addon/ does not exist

And one can verify that those files do not exist in https://github.com/friendica/friendica/

Tobias says:

Hey Alkarex thanks for the comment!

The posting is about updating to the stable release / master branch, not the develop branch. “If you are using the develop branch, please be reminded about the recent path changes for many scripts.” that was described in the blog entry before this release notes. In case of the composer.phar, it is now in the “bin” subdirectory, but there are other changes described in the posting as well.

The “addon” subdirectory is the place were you have to install addons, e.g. from the projects addon repository in, so that you can use them in Friendica.

Alkarex says:

The blog post writes to use `scripts/worker.php`, but this file does not exist.
There is a `./bin/worker.php` though.

Tobias says:

You are using the development branch, there the files from the “scripts” directory were moved to the “bin” directory..

In the master branch, which this posting is about, the files are still in the “scripts” directory.

Because of that move, which was done to the development branch during the RC phase, there is the reference to the blog posting announcing that move in the section dealing with updating your node from the development branch using git.

Alkarex says:

Ah, sorry, the master branch is still with `scripts/worker.php`, while develop has moved to `./bin/worker.php`.

Brett says:

Hi Tobias,

Thought I’d share my experience installing Friendica on a Debian 9 VPS in case it helps anyone else. In short, I struggled with installing the master version of Friendica 3.6 via git clone per the instructions in friendica/INSTALL.txt.

For me, the following command installed the developer version of Friendica.

git clone https://github.com/friendica/friendica.git friendica.example.com

I knew it was the developer version after comparing the contents of the friendica/util directory for the developer branch, master branch, and a friendica-full-3.6.zip download. My git clone friendica/util was missing the composer.phar file.

I initially got around this and some other errors by running the following.

cd friendica.example.com
sudo -u www-data COMPOSER_HOME=/var/tmp/composer php bin/composer.phar install

And, checking (? icon > Information), I confirmed I had installed the developer version of Friendica.

So, I started over and reinstalled Friendica via the zip file. But I wasn’t looking forward to upgrading via zip files when upgrading by git pull is so much more convenient.

After a bit of searching, I solved my install struggles. I didn’t google it. I DuckDuckGo-ed it. The key was designating the master branch in the git clone with -b master.

git clone https://github.com/friendica/friendica.git -b master friendica.example.com
cd friendica.example.com
sudo -u www-data COMPOSER_HOME=/var/tmp/composer php util/composer.phar install

Maybe I missed something simple? No worries. I have a working Friendica node. Now to connecting in the fediverse.

Tobias says:

Sorry for the long wait! But thanks for the comment, it is very appreciated!

Leave a Reply to Tobias Cancel reply

Your email address will not be published. Required fields are marked *