Friendica 2018.05

@tobiasd tobiasd released this Jun 1, 2018 · 672 commits to develop since this release

If you don't want to clone the repository but use an archive file to download Friendica, please use the friendica-full-2018.05.tar.gz file and not the automatically generated archives. The full archive does also include the dependencies. If you downloaded one of the other archives, either download the full archive or run bin/composer.phar install --no-dev at the CLI from the base of your Friendica directory.


Dear Federation, the Friendica team is pleased to announce the release of Friendica The Tazmans Flax-lily 2018.05.

Back on track with scheduled releases, after 3.6 took such a long time. In this release we have packed some bug fixes and enhancements. After an incompatibility glitch with the last release, Friendica 2018.05 is now again compatible with PHP 5.6. However we recommend using a more recent PHP version to further enhance the performance gain from the ongoing overhaul of the Friendica code and processes. Obviously GDPR was one thing we concentrated on for this release. Identifying problems in existing features (e.g. account and node mobility), adding new features (see below) and making things more transparent. To make a long story short, here a list of the noteworthy changes since the last release:

  • Finnish translation was added to the repository from Transifex. With it, Friendica now has 20 localizations from which 11 have more then 80% of the core plattform translated (DE, EN, EN-GB, EN-US, ES, FI, FR, IT, PL, RU, ZH-CN).
  • New module for Terms of Services for your node that can be activated from the admin panel. If the module is activated links from the general information page and the user registration will be added. Additionally a basic privacy statement can be shown in both, the TOS page and the registration page.
  • Many utility scripts are now bundled in a console that can be found in the bin directory. Please see bin/console --help for all available commands.
  • When entering a new password, the choosen one will be checked locally against a database of exposed passwords.
  • As libravatar is closing their service we have added a new alternative to the gravatar service based on David Revoy's cat-avatar-generator: the catavatar.
  • The long deprecated themes frost( and frost-mobile have been removed from the Friendica repository. If you need them, you can find them in the deprecated-themes repository.

For a list of further changes, please have a look at the CHANGELOG file.

Thanks to everyone who made this release possible, by writing code, translating the user interface and reporting issues!

How to update?

Pre-Update procedures

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

From 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.05.tar.gz and friendica-addons-2018.05.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. 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.05 archive), so you don't have to worry about them.

From git

Regardless of the branch you are on (master, develop or 2018.05-rc) all you have to do to get the new code is to run

git pull

on your server in the base and the addon directory. Remember to update the dependencies via composer as well.

If you helped testing the release candidate, you should also switch to either the master or the develop branch. Thanks for testing!

If you are updating from an older version then the 3.6 release, please be aware that Friendica is now using composer to manage the dependencies. After you pulled the latest code, you have to check the dependencies for updates as well. To do so run

bin/composer.phar install

from the base directory of your Friendica installation. To be able to extract the downloaded archives, you need to have the php-zip module installed on your server. 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.

If you are updating from a version older then 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.

Post-Update procedures

If you are updating from the 3.6 release (or older versions) of Friendica please remember to change the path to the worker in the cron job to adopt the changed location.

It should now be something along these lines:

/usr/bin/php bin/worker.php

Among other things the worker will detect changes to the database structure. The changes will be applied automatically and may, depending on the size of your table (especially the item table) and the available resources on the server, take some time. On larger systems this can be hours.

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 3.6 "The Tazmans Flax-lily" released

@tobiasd tobiasd released this Mar 23, 2018 · 1784 commits to develop since this release

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.

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).
  • 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.

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.

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. 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-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!

Friendica 3.5.4 released

@tobiasd tobiasd released this Mar 23, 2018 · 3990 commits to develop since this release

This is a hotfix release for a bug we introduced with 3.5.3 for saving searches. It also contains some minor fixes for moving your account to another node and support for the Diaspora account moving.

Friendica 3.5.3 released

@tobiasd tobiasd released this Oct 5, 2017 · 4074 commits to develop since this release

Dear Federation, the Friendica DevTeam is pleased to announce the release of Friendica Asparagus 3.5.3.

Aside of the ongoing performance enhancements and code refractoring, some note worthy changes in this release:

  • We ironed out some problems with the federation towards Mastodon and enhanced Diaspora and OStatus federation, as well as the bridges to other systems.
  • We marked several old addons as unsupported. This includes the retrieveraddon due to unwanted side effects, as well as old "frontend" cron addons as their functionality is in core for some time now.

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?

Make sure to have MySQL 5.5.3+ or a compatible version (e.g. MariaDB) installed on your server.

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.3rc 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 (friendica-3.5.3.zip and friendica-addons-3.5.3.zip) 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. Afterwards rename your current Friendica directory (e.g. friendica) to friendica_old and friendica_new to friendica.

Please note that there are some changes to the database structure that will take some time to be applied.

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 3.5.2 released

@tobiasd tobiasd released this Jun 6, 2017 · 4712 commits to develop since this release

Dear Federation, we are pleased to announce the immedeate availability of Friendica "Asparagus" 3.5.2.

The main focus of the last few months' work was spent on internal code restructuring and performance enhancements. For a full list of changes, please refer to the CHANGELOG file. The highlights are:

  • Enhanced compatibility with MySQL 5.7+.
  • New support for 4 bytes unicode characters (mostly used for emojis). MySQL version 5.5.3 is now a hard minimum requirement.
  • Enhanced federation with Mastodon and preparation for upcoming changes in the Diaspora protocol.
  • The switch to the worker process introduced in the 3.5.1 version as the background process mechanism as it has a better performance. If you are using poorman's cron, external cron or proc runner for the background process, you have to adopt to the frontend worker (see docs) as it makes these addons obsolete.
  • The most visible change is the long time project lead by Rabuzarus, the "frio" theme, which finally removed the "experimental" flag. It still is not 100 percent complete, but it is ready for daily usage.

Addtionally we fixed numerous bugs that the community had found and we polished some quirks.

How to Update?

Make sure to have MySQL 5.5.3+ or a compatible version (e.g. MariaDB) installed on your server.

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.2rc branch of the repository, please switch to either the master or develop branch after the git pull.

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-3.5.2.zip and friendica-addons-3.5.2.zip) 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. Afterwards rename your current Friendica directory (e.g. friendica) to friendica_old and friendica_new to friendica.

Please note theat there are some changes to the database structure that will take some time to be applied.

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.

Have fun 🙂

Friendica 3.5.1 released

@tobiasd tobiasd released this Mar 12, 2017 · 5858 commits to develop since this release

This release is mainly a bug fix release for the Asparagus release of Friendica. It closes some 50 issues from the github tracker and various others the com­mu­nity has found. It also includes some work on the performance of the system, thanks to the bad performance of one of the developers hosting providers. Among other things, these changes also include some work on the database structure. These changes will be applied automatically, but may take some time depending on your system resources and database size.

Many thanks to everybody who reported a bug, fixed an issue or implemented a new feature!

You can find the complete list of changes in the CHANGELOG.

Notable changes

  • The new worker background progress can now also be called from external cron jobs. If you are using one of the extcron, procrunner or poormancron addons you can now replace this now with the worker process. (Disable the addon when switching to the worker process.)
  • The TinyMCE rich text editor was removed If you start typing a BBCode tag, a list of fitting BBCode elements will popup you can choose from.
  • Initial native federation with Mastodon nodes is working. More work for the federation with OStatus using projects is planned for the upcoming 3.5.2 release.
  • We deprecated the frost themes, as the default theme (vier) supports mobile devices with small screens since version 3.5. We have also deleted the files of themes deprecated with the 3.5 release last year.

How to update?

If you are using git to keep track of the Friendica code, you can use

git pull

and it will fetch the current code. Don't forget to also fetch the new code from the addon repository.

If you have installed Friendica and the addons from the zip file, you can download the corresponding files friendica-3.5.1.zip and friendica-addons.zip. Just download these files to your computer, unzip them and transfer the files with an FTP client to your server into a new directory. Copy the .htconfig.php file into the new directory. Rename the old direcoty and afterwards change the name of the new directory to the initial name of your friendica directory.

How to contribute?

If you want to contribute to the project you do not need to have coding experience. There are a number of tasks listed in the issue traker 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.

Have fun :-)

Friendica 3.5 "Asparagus"

@fabrixxm fabrixxm released this Sep 13, 2016 · 7381 commits to develop since this release

Friendica Dev Team is proud to present Friendica Social Communications Server version 3.5, codename "Asparagus"

For a complete list of changes, see the CHANGELOG

Friendica 3.4.3

@fabrixxm fabrixxm released this Dec 22, 2015 · 9134 commits to develop since this release

See the CHANGELOG for more info about this release.

Friendica 3.4.2

@fabrixxm fabrixxm released this Sep 29, 2015 · 9826 commits to develop since this release

Bugfixing release. Many improvements in communication with foreign protocols, updated docs and more!

See the CHANGELOG for more info about this release.