Develop: Executables have moved permanently

For anyone using the develop branch, as of now there are major changes about the executable scripts:

  • composer.pharworker.phpdaemon.php and auth_ejabberd.php have been moved to the newly created bin/ folder
  • A new CLI console has been created and can be accessed with bin/console or php bin/console.php. Calling it without arguments shows the list of available commands.
  • All the PHP executable scripts in util/ and scripts/dbstructure.php have been moved to the new console.

Thanks for your patience!

Friendica 3.6 RC available

Hey everyone, we have just branched off a release candidate branch for the next stable release of Friendica to focus on testing the code and fixing the final problem. For this to succeed, we’d like to ask you to test the 3.6-rc code on your node if you like.

This branch is for the final bug fixes and translation updates before the release. We don’t expect to heavy changes to it till the release. New features wont be included there. Instead pull requests for those should be done against the development branch as usual.

Before you update the code, please check that you have at least PHP 5.6 on your server available. Friendica does not work properly with version older then that.

How to switch to the RC branch?

If you are currently running the develop branch, then all you have to do is to checkout the 3.6-rc branch after a pull from the repositories.

git pull
git checkout 3.6-rc
cd addon
git pull
git checkout 3.6-rc

Assuming that you already have the composer call in your updating routing. In the last couple days there were no changes to the dependencies.

If you are currently using the last stable release code installed from git, the procedure is almost identical. There is one thing you should be aware of before doing the switch—we switched to composer for dependency management. If you don’t take this into account, your Friendica node will not work after the pull of the new code.

You can either add a call to

util/composer.phar install --no-dev

after the git pull in your update routines for the core repository, or you can add a small script to the “post-merge” git-hook. The script will then automatically be executed by git if there were changes to the dependencies.

Please be aware, that there were some heavy work on the database structure since the last stable release of Friendica. This means that depending on the size of your database, your node might need some time to apply all the changes. This can be several hours. The maintenance mode will inform you about the progress.

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.

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-rc branch.

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.

Thanks for testing and helping!

Solving Problems

DB Update stuck

One tester reported, that the update of the database got stuck at the item table for several hours. If you encounter this, please initiate the DB update manually from the command line by running the script

scripts/dbstructure.php update

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

Zwenkau 2018

Dear community members, the preparations for the Friendica and Hubzilla Community meetup this summer have just begun. We are looking for a weekend the happening should take place.

Actually we have found the weekend. The meetup will happen August 4th/5th with guests from northern America (hence the fixation of the weekend) and the rest or the world.

If you plan to join us at the lake side, please have a look at the planing dudle to indicate that you want to join us.

Important changes for the development branch of Friendica

Soon we will merge a change into the develop branch that will affect the way that the system is updated.

By now it was enough to call “git pull” to get the newest code. When you are on the “develop” branch you will now have to execute a second command after this pull.

For a detailed explanation I’m forwarding a part of a message from Hypolite according this:

an upcoming PR on the develop will change the way you will install and update Friendica. From now on, after cloning the friendica/friendica repository or after each pull, the following command is necessary to import the dependencies:
friendica$ util/composer.phar install

This will populate the vendor folder who will be dropped from the friendica repository after this PR.

This command is already available right now, however so far it wasn’t doing anything because we versioned all the dependencies along with the Friendica code.

For developers:

If you intend on adding new Composer dependencies, you still have to run
friendica$ util/composer.phar install

after any git pull and before making any change to composer.json and running
friendica$ util/composer.phar update

This is because we are using a Composer plugin to import Javascript dependencies along with PHP and this plugin needs to be imported before it can look up new Javascript dependencies.

Hackathon Berlin 2017

Thanks to the nice people of the e-lok we had our Hackathon over the last weekend near Ostkreuz station in Berlin. Seven people coming together to work on the themes, code and the documentation. Altogether we had many discussion rounds, a small workshop, produced 26 pull requests and had a lot of fun. Thanks to everybody who could attend!

On Friday evening we started with a small workshop about creating an addon for Friendica. The resulting rot13 thingy is nothing that should be used, not in this form and not for any serious purpose. But the step-by-step discussion about the code brought up enough questions to clarify the process of writing addons for Friendica. Even though it is not as good as the live workshop, you can find the code and documentation on github.,

After the warm-up phase on Friday evening, Saturday and Sunday were busy with coding and documentation work. Some highlights are:

  • The !-mentions for forums, introduced before the Hackathon got some love. The difference between the @-mentioning and the !-mentioning of a forum is, that the ! is exclusive for one forum.  Forum postings will not be send to other networks or your contacts [1],. If you select a forum in the ACL, it will make sure, that you only select one forum.
  • The documentation was updated, and in some parts new German translations were added.
  • The vier theme got a new style called Plus Minus. It is work in progress at the moment with the goal to have a minimalistic version  concentrating more on the information of the postings, and not so much on the meta stuff.

    plusminus style of the vier theme

    Screenshot of the plusminus style from the vier theme.

  • There is now the pos­si­bil­ity to enable a tag cloud wid­get on the users pro­file page, which does list the tags the pro­file owner has used for his/​her posts.
  • We set up a second directory server that you can use. The two directory servers to sync their content, so you can put any one of them into your nodes configuration. Many thanks to the Berlin Linux User Group for providing the server alongside with your node in the network!
  • We have build some preliminary version of a Debian package for Friendica. Not finished, but at least install able for now. We’ll investigate ways to publish the upcoming version 3.6 packages.
  • We wrote two new utility scripts for the admins to run from the CLI of their servers. These can be used to silence accounts from the nodes global community page or block them completely from the node.

Thanks everybody involved making this event possible! And happy coding 🙂

[1] Please note: At the moment previously selected groups, e.g. via the default postings permissions, are not overwritten. If you have a non-public default set of recipient-permissions, please the the ACL permission to public / “visible to all” before selecting the target forum.

Changes in the background process

As part of reworking the code base there today changes in the development branch landed, that require some manual configuration changes. If you are using the development branch, and have pulled the latest code from github (everything after the PR The poller is now the worker and we have a “scripts” folder #3920) you need to do the following adjustment to your cron job.

Change the old process from
*/10 * * * * cd /home/myname/mywebsite; /usr/bin/php include/poller.php
*/10 * * * * cd /home/myname/mywebsite; /usr/bin/php scripts/worker.php

but remember to adopt your actual path and interval settings.

If you are running the stable 3.5.4 release (or before) you don’t need to change anything at the moment! and currently unavailable – Update

While updating the operating system a necessary reboot (thanks systemd for that) hadn’t worked. So the system is offline at the moment.

The support is notified. Hopefully they can solve it today. There should be no data loss.

The server is up again. There was a BIOS problem. Everything should work, although problems could occur because of the changed software packets.

Friendica 3.5.4 released

Dear Federation, the Friendica team is pleased to announce the release of Friendica *Asparagus* 3.5.4.

This release is a hotfix release for a bug that was overlooked in the 3.5.3rc phase during saving searches to the users side menu. It also includes fixes to smaller issues we had with relocating accounts from one node of the network to another. As well as the support for the new Diaspora* relocation signal, that was planned for the upcoming 3.6 release of Friendica. Which means if you move to another node, now your Diaspora contacts will receive the signal as well and vice versa.

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

How to Update?

If you used `git` to install your copy of Friendica and use the master or develop branch, a git pull is enough to upgrade.

If you have helped to iron out quirks for this release and used the 3.5.4rc branch of the repository you just need to pull from the repository and switch to either the master or develop branch.

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 ( and and unpack it on your local computer.

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 🙂

Helpers forum moved to the new node as well

After the relocation of the developers forum to the new location the other day due to performance issues with the old server. We have now also relocated the Helpers forum to the new server. The new address is Since we have migrated the account, no changes needn’t to be done on existing connections.

Additionally we have created, where you can follow these kinds of information from within the Federation.