v0.1.0-beta.3
Pre-release
Pre-release
tobyzerner
released this
02 Nov 23:35
·
2915 commits
to master
since this release
Architecture improvements
- Composer-driven extension architecture. All extensions are Composer packages installable via Packagist.
- Backend codebase & API refactoring. Classes, namespaces, and events systematically tidied up.
Improved internationalization
A huge thanks to @dcsjapan for the countless hours he put in to make this stuff happen. You're amazing!
- New systematic translation key naming scheme.
- Make many hardcoded strings translatable, including administration UI and validation messages.
- More powerful pluralization via use of Symfony's Translation component instead of a proprietary one.
New moderation tools
- Hide/restore discussions. Discussions can be soft-deleted by moderators or by the OP if no one has replied.
- Flags. New bundled extension that allows posts to be flagged for moderator review.
- Approval. New bundled extension that hides/flags new posts to be approved by the moderation team.
- Akismet. New bundled extension that checks new posts for spam with Akismet.
- IP address logging. IP addresses are stored with posts for use by extensions (e.g. Akismet).
- Flood control. Users must wait at least ten seconds between consecutive posts.
Other features
- Social login. New bundled extensions that allow users to log in with Facebook, Twitter, and GitHub.
- More compact post layout. All controls are grouped over to the right.
- Improved permissions. The admin Permissions page has been improved with icons and other tweaks.
- Improved extension management. The admin Extensions page has a new look and is easier to use.
- Easier debugging. The "oops" error message has a Debug button to inspect a failed AJAX request.
- Improved JavaScript minification. Minification is done by ClosureCompiler only when debug mode is off, resulting in easier debugging and smaller production assets.
Added
- Allow HTML tag syntax in translations (#574)
- Add gzip/caching directives to webserver configuration (#514)
- API to set the asset compiler's filename
- Migration generator, available via generate:migration console command
- Tags: Ability to set the tags page as the home page
bidi
attribute for Mithril elements as a shortcut to set up bidirectional bindingsroute
attribute for Mithril elements as a shortcut to link to a route- Abstract SettingsModal component for quickly building admin config modals
Model::afterSave()
API to run callback after a model instance is saved- Sticky: Allow permission to be configured
- Lock: Allow permission to be configured
- Add a third state to header icons (#500)
- Allow faking of PATCH/DELETE methods (#502)
- More reliable form validation and error handling
Changed
- Rename
notification_read_time
column in discussions table tonotifications_read_time
. - Update to FontAwesome 4.4.0.
Fixed
- Output forum description in meta description tag (#506)
- Allow users to edit their last post in a discussion even if it's hidden
- Allow users to rename their discussion even if their first post is hidden
- API links correctly include the
/api
path (#579) - Tags: Fix sub-tag ordering algorithm in Chrome (#325)
- Fix several design bugs