Hubzilla 3.0 Released!

Mario Vavti
  
This release is dedicated to the memory of Tony Baldwin a.k.a. Tazman, a Friendica/Redmatrix/Hubzilla enthusiast and contributor, who passed away last week.

Before pointing out the notable changes in the 3.0 release, here is a summary of what we accomplished during the version 2 release cycle (2017). We released 4 shiny Hubzilla versions with about 3101 commits from 21 contributors. The main focus was on:

  • CalDAV/CardDAV integration
    In Q1 2017, we made a strong effort to merge CalDAV and CardDAV into Hubzilla as a native interface. This would allow easy federation with events and contacts amongst hundreds/thousands of existing utilities. Significant progress was made (and this led to several new features) but the effort stalled around March. We were not (at the time) able to resolve serious incompatibilities with nomadic identity, access control, server-to-server authentication, and rich-text support. Significant progress was made in all of these areas over the remaining course of the year however, and this integration effort is expected to resume in early 2018.
  • Consolidation of server roles
    Server roles were removed/merged early in the year. These were initially provided to solve incompatibilities between nomadic identity and external network federation (such as Diaspora, GNU-Social, and later Mastodon). The incompatibilities still exist. It was decided that network federation should be available to anybody who wants it; and they can decide how important channel backup and live mirroring is to them personally. If a hub administrator wishes to make that decision at a site level, they can do so by not installing the external network addons.
  • Communication protocols
    Once a resolution was reached regarding Server Roles, work proceeded in earnest upgrading and extending the external network protocol addons (Diaspora, OStatus, and later the emergent ActivityPub protocol). Each of these underwent huge development efforts. The Diaspora protocol was completely upgraded to the "new protocol". Ostatus was extended to provide better compatibility with Mastodon and "conversation fetching" added to solve known issues with the OStatus delivery model. We had one of (if not) the first available working implementations of the ActivityPub protocol some time in June or July. It wasn't officially released until Q3 2017, which was a couple of months after the first official Mastodon ActivityPub release.
    Our primary protocol (zot) has been in use for over five years. While still being well suited to its task, is starting to show signs of age. In 2016 it underwent a number of crypto improvements to help 'future-proof' it. Work began on Zot/6 in Q3 2017 to bring it up to the present state of the art. This work is ongoing and the full benefits won't be seen until Q2 2018 (projected), but pieces of the new protocol are already in place and improving things right now. The first major piece was OpenWebAuth, which builds on HTTPSignatures to provide a streamlined and standards-based cross-domain authentication layer.
  • Theme and UI
    Project navigation and the notification system were the primary focus of UI/UX development. Navigation and the pre-existing 'Apps' feature were first integrated and then extended. Then the notification system was moved from the top 'navbar' to a dedicated page widget in the base theme, integrating it more closely with the content.
  • Media/Files
    Cloud storage and media management underwent signficant development, climaxing in Q4 2017. One of the first components of this work was to provide uploads of "unlimited" size across all the existing tools; instead
    of only through WebDAV. Processing of photos was also reworked to handle the larger images from state of the art digital cameras; which were causing memory issues in the original architecture. Finally a 'tile view' was added to the cloud/file web viewer providing a more modern looking page.
  • Core
    Documenting all of the previous work and efforts required improvements in the Wiki and Webpage content features, and 'Cards' were added to provide interactive development documentation. We also provided the ability to create third-party Widgets and share them just like addons and themes, extending earlier work in this area. The project has been updated to work seamlessly with PHP7.2 and recent version of MySQL and Postgres. Many libraries have been moved to 'composer' (the PHP package manager) and the unit test system enhanced in a number of ways. Documentation has been improved dramatically (although this is a continued effort).

During the course of all of this development work, we've continued to listen to suggestions and issues which have been encountered by members, and have cleaned up and fixed many other areas that were lacking.

Notable changes in Hubzilla 3.0
  • The remote home link (the "Take me home" menu button in your personal menu on other websites of the hubzilla network) now does not bring you to channel home anymore but only to the domain root. This will bring you to the Activity app by default if you are logged in or to the login page if you are not logged in at your home hub anymore.
  • The techlevel for new accounts will be raised from 0 to 1 automatically after some active participation (connecting to other channels, creating posts, etc.).
  • We implemented chunked uploads for the photos and cloud modules in addition to wall uploads where we had this feature quite a while already.
  • A filter for notification to show new posts only has been added
  • Live updates and notifications updates have been reworked. We now first do the live update and then update the notifications.
  • We now have a system config option for minimum registration age
  • We implemented a tile view for the cloud module and added thumbnail generators for the most popular file types
  • A new experimental startpage module (hq) has been introduced. This provides a simple page with the latest toplevel post, notifications and the possibility to create a new post. You can make this your default startpage via the startpage addon.
  • We now provide the ability to pin apps to the navbar
  • Private forums have been added to the forum widget
  • We added another delivery control parameter (queue threshold) for sites which had issues with too many immediate deliveries at the same time. This parameter defaults to 300 which is quite conservative. Admins should adjust this setting according to what their hardware can handle.
  • Hubzilla is now ready for PHP 7.2
  • The js_upload addon has been removed. We now handle multiple file uploads natively.
  • We removed the Firefox social plugin - it was deprecated and removed in Firefox version 57

Hubzilla 3 release cycle preview
  • Continued integration of CalDAV/CardDAV
  • Continued implementation of Zot/6
  • E-Commerce solution

As always a big THANK YOU! to all the translators and everybody who is helping to improve Hubzilla with each release.

Get it while it's hot!
https://github.com/redmatrix/hubzilla

Please consider to support this project: https://salt.bountysource.com/teams/hubzilla

@Hubzilla Announcements+ @Hubzilla Support Forum+
Mario Vavti
  
It is not set by default. util/config system minimum_age 18 eill set it to 18 for you.
Philipp
 
Thanks!