GNU social v2.0.0 - THIS. IS. GNU SOCIAL!!!
Release name chosen after 300 by Frank Miller where the main protagonist Leonidas, King of Sparta, declines peace with the
Persians, after being disrespected, by shouting at the Persian Messenger "This is Sparta!" and kicking him into a large well
proceeded by the killing of the other Persian messengers.
For users/sysadmins
Web server changes
- GS is now structurely divided in includes and public
- New media handling system, new important settings, refer to CONFIGURE doc and web server conf
- OEmbed upgraded to Embed plugin (and now we provide Open Graph information too)
- Composer was integrated
Functionality
- Restored broken built-in plugins
- Added shinny new Plugins management interface for sysadmins
Federation
- Added ActivityPub support
- Enable the search box to import remote notices and profiles
- Private messages
Load and Storage
- Improved Cronish
- Run session garbage collection
- Cleanup Email Registration
- New queues system
- Support for Redis was added
- Support for PostgreSQL was added
For developers
APIs
- PEAR DB was replaced by PDO_DataObject
- PEAR HTTP was replaced by Guzzle
- PEAR Mail was replaced by PHPSendMail
- OAuth1 was replaced by OAuth2
- New Internal Session Handler and consequently a new API, migration should be simple enough
- OAuth1 was replaced by OAuth2
- Exceptions were refactored, shouldn't change nothing in API though
- Dropped support for StatusNet plugins, devs should now use GNUsocial class instead
Modules
- Composer was integrated
- Refactor of Plugin API to better illustrate the idea of Modules, in your plugins you should replace
Plugin
with Module
.
- GS is now structurely divided in includes and public
- Added shinny new Plugins management interface for sysadmins
Now plugins can be installed via the sysadmin UI. Therefore, now you should package your plugins in tar.gz and inside there
must be two directories, one named 'includes' with everything that should be unpacked in local/plugins/{plugin_name}
and
another named 'public' with everything that should be unpacked in public/local/plugins/{plugin_name}
.