RELEASE_NOTES.md 2.4 KB

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