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!



2 Comments

Omar Khaled says:

I can’t host friendica on Ubuntu, I would like to have a clear steps, It is preferred to be screenshots. Any one can help ?!

Tobias says:

Hey Omar!
In which stage of the installation do you have problems?
You need a running “LAMP” server, that could be Ubuntu with an installed Apache webserver, a MariaDB (or MySQL) database and PHP, preferable 7 or later. You can find an installation guide for Friendica with screenshots at https://friendi.ca/resources/installation/ which you can hopefully apply to your situation. But it does not govern the installation of a LAMP server.
Please also have a look at the INSTALL.txt file in the Friendica repository (https://github.com/friendica/friendica/blob/develop/INSTALL.txt) which contains more advanced installation steps using git, which makes updating to later versions a bit more easy, but is a bit more complicated in the setup.
Please feel free to ask more detailed question. I’ll try to answer them!

Leave a Reply

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