diff --git a/CHANGELOG.md b/CHANGELOG.md index 259c1436b0..f9a6cb84b0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,16 @@ Load and Storage: - New media handling system - GS is now structurely divided in includes and public - OEmbed upgraded to Embed plugin (Now we provide Open Graph information too) +- Added Redis based caching and queues +- Improved memcached support + +Federation: +- Add ActivityPub support +- RemoteFollow: Remote follow ActivityPub and OStatus remote actors via the click of a button +- ActorLists: Allow to create collections of Actors and to interact with them - supports both OStatus and ActivityPub +- The Free Network: Automagically migrate internal remote profiles between Free Network protocols +- Enable the search box to import remote notices and profiles +- Improvements on Nodeinfo (and new route) General: - Composer was integrated @@ -19,57 +29,17 @@ General: Modules: - Restored built-in plugins - New modules system: core plugins and plugins physically separated -- Refactor of Plugin API to better illustrate the idea of modules - Bug fixes of core modules logic - -#### TODO before alpha: - -Load and Storage: -- Upgrade STOMP queue -- Add Redis based caching and queues -- Review memcached based cache -- Port PEAR DB to PDO_DataObject -- Support PostgreSQL - -Network: -- Port PEAR HTTP to Guzzle -- Port PEAR Mail to PHPSendMail -- Add OAuth2 support (deprecate OAuth1) -- Add shinny new Plugins management interface for sysadmins together with a new doc for devs - -Federation: -- Add ActivityPub support - - Fix audience targeting - - Add Group Actor Type -- OstatusSub: Remote follow OS and AP profiles via OStatusSub -- ActorLists: Allow to create collections of Actors and to interact with them - supports both OS and AP -- The Free Network: Automagically migrate internal remote profiles between Free Network protocols (check Nodeinfo) -- Enable the search box to import remote notices and profiles - -General: -- Fix failling unit tests -- Improve Cronish - - Run session garbage collection - - Cleanup Email Registration -- Refactoring of confirmation codes -- Refactoring of Exceptions - -Modules: -- Document conversion of older plugins to the new GS 2 -- Create installer for v2 plugins -- Introduce new metadata for plugins (category and thumb) -- Improve plugin management tool (add install form and better UI that makes use of new metadata) -- Add plugin management tool as a install step -- Allow to install remote plugins and suggest popular trusted ones +- Improved plugin management tool (now all available plugins are shown and third party can be uploaded and deleted) ## v1.20.9release - The Invicta Crusade -Release name chosen after Porto city. Porto is one of the oldest cities in Europe and thanks to its fierce resistance -during two battles and sieges in history, it has earned the epithet of ‘Cidade Invicta’ (Invincible City). The dev team -behind this release studies in Porto, Portugal. - Dropped Support for PHP5.6.x. Minimum PHP version now is 7.0.0. +Release name chosen after Porto city. Porto is one of the oldest cities in Europe and thanks to its fierce resistance during +two battles and sieges in history, it has earned the epithet of ‘Cidade Invicta’ (Invincible City). The dev team behind this +release studies in Porto, Portugal. + Major changes from previous release: - Various patches on PEAR related components diff --git a/INSTALL.md b/INSTALL.md index ae012d856a..aeefd7a432 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -27,8 +27,8 @@ PHP modules The following software packages are *required* for this software to run correctly. -- PHP 7+ PHP7.x is also supported. -- MariaDB 5+ MariaDB 10.x is also supported. +- PHP 7.3+ +- MariaDB 10.3+ - Web server Apache, lighttpd and nginx will all work. CGI mode is recommended and also some variant of 'suexec' (or a proper setup php-fpm pool) @@ -50,7 +50,6 @@ functional setup of GNU social: - php-opcache Improved PHP performance by precompilation - php-readline For interactive scripts - php-xml XML parser -- php-ds Faster data structures NOTE: Some distros require manual enabling in the relevant php.ini for some modules. @@ -70,7 +69,6 @@ For some functionality, you will also need the following extensions: - gettext For multiple languages. Default on many PHP installs; will be emulated if not present. - exif For thumbnails to be properly oriented. -- php-ds For faster data structures; will be emulated if not present. You may also experience better performance from your site if you configure a PHP cache/accelerator. Most distributions come with "opcache" support. diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md new file mode 100644 index 0000000000..0c686fdbb9 --- /dev/null +++ b/RELEASE_NOTES.md @@ -0,0 +1,50 @@ +# 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 + - `$config['site']['x-static-delivery']` + - You must also review the [attachments section of CONFIGURE](https://notabug.org/diogo/gnu-social/src/new_modules_system/DOCUMENTATION/SYSTEM_ADMINISTRATORS/CONFIGURE.md#attachments). +- OEmbed upgraded to Embed plugin (and now we provide Open Graph information too) +- Composer was integrated + +### Functionality +- Restored broken built-in plugins +- A more powerful Plugins management tool for sysadmins + +### Federation +- Added ActivityPub support +- Enabled the search box to import remote notices and profiles +- Direct 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 +- New Internal Session Handler and consequently a new API, migration should be simple enough +- Dropped support for StatusNet plugins, devs should now use GNUsocial class instead + +### Modules +- Composer was integrated +- GS is now structurely divided in includes and public +- A more powerful Plugins management tool for sysadmins + +Now plugins can be installed via the sysadmin UI. Therefore, now you should package your plugins either in tar or zip. The +package name must be the same as the plugin's internal name. For example, a plugin +named `Chuck Norris (social@chuck.norris)` must be in a file named: `ChuckNorris.tar`. +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}`. diff --git a/TODO.md b/TODO.md new file mode 100644 index 0000000000..df897d8ebf --- /dev/null +++ b/TODO.md @@ -0,0 +1,24 @@ +# TODO + +Load and Storage: +- Upgrade STOMP queue +- Port PEAR DB_DataObject to PDO_DataObject + +Network: +- Port PEAR HTTP to Guzzle +- Port PEAR Mail to PHPSendMail +- Add OAuth2 support (deprecate OAuth1?) + +General: +- Fix failling unit tests +- Improve Cronish + - Run session garbage collection + - Cleanup Email Registration +- Refactoring of confirmation codes +- Refactoring of Exceptions + +Modules: +- Introduce new metadata for plugins (category and thumb) +- Add plugin management tool as a install step +- Allow to install remote plugins and suggest popular trusted ones +- Replace SimpleCaptcha by FacileCaptcha once the latter is ready