Be notified of new releases
Create your free GitHub account today to subscribe to this repository for new releases and build software alongside 31 million developers.Sign up
See the release announcement.
- PHP Extender API (docs)
- Allow setting the raw content of a
- Allow full URLs to be used as the avatar path (c31c1ea)
- Add user display names API (#1246)
apiKeyrequest attribute (096e552)
- Allow configuring cookie attributes (87bf84e)
- Add LESS variable to configure expansion of
- Add drag and drop avatar uploading (#1261)
- New design for Reset Password page (9392e1b)
- Add log out confirmation if CSRF token is invalid (e8a4e5e)
- New design for error pages (b7c1cc5)
- Basic implementation of admin dashboard widgets (1ef9217)
- Add infinite scrolling in the notifications list (77c25ab)
- Add custom footer HTML setting (#1315)
- Automatically load an
extend.phpfile at the forum root (#1559)
- Add console configuration event (#1349)
- Improve search performance and design (#1339, 7e95b80)
- Allow notification methods to be extended (#1361)
flarum migrate:resetcommand (#1363)
- Add message to exceptions thrown in
- Warn about debug mode in
flarum infocommand (0cf351e, 5374f8a)
- JS Extender API foundation (#1468)
- Add support for JS sourcemaps (#1471)
- Add canonical URL to discussion HTML (551ca23)
- Add event to override floodgate behaviour (#1411)
ItemListfor signup and login modals (#1420)
- Display extensions in a table in
flarum infocommand (#1562)
- Live output of migrator notes in console (9e487b4)
ItemListfor edit group modal (#1625)
ItemListfor edit user modal (#1593)
- Track API key last activity and allow keys to reference specific users (#1622)
- Add a toolbar area to the
- Add a tooltip to the Preview button (bf3934d)
- Add database indices (#1577)
- Log errors that occur in the API stack (222e3c3)
- Add "clear cache" button to admin dashboard (2ef66ac)
- New extensions page layout (#1496)
- Upgrade to Laravel 5.5 (#1252)
- PHP namespace restructure (#1308)
- Performance: Don't include post content in the "basic" serializer (37cf95f)
- Only apply custom CSS and header HTML on forum frontend, not admin (40ebc13)
- Performance: Load only basic information about terminal/relevant posts (dedcbae)
- Performance: Load only basic information about post discussion/users (3c80612)
- Organise views into directories (479e44d)
- Use more sensible installation default data (b760d11)
Composerheight with overridable methods (#1272)
canto reflect removal of event priorities (ae2e07e)
- Overhaul model visibility scoping (#1342)
-separator in discussion URL if there is no slug (#1351)
- API: Provide forum info under
- Upgrade to Font Awesome 5 (#1372)
- Upgrade to zend-stratigility v2.2 (9d30be1)
- Use Illuminate
Sessioncomponent instead of Symfony (#1366)
- Use PSR-15 middleware standard (#1441, #1443)
- Simplify interface of migration-related classes (#1445)
npmscripts for JS compilation (#1367)
- Rename database columns and JSON-API attributes (#1344)
- Refactor frontend code (#1471, edaca31)
- Remove need for page reload if JS application will not boot (#1471)
- Split permission for editing and deleting posts (#1466)
- Upgrade to TextFormatter 1.2 (#1457)
- Require PHP 7.1 (0278d52)
- Rename extension
- Use default system font instead of Open Sans (07298e1)
- Change composer submit button icon to paper plane (bf3934d)
- New heading styles in posts (6fadc0b)
- Remove user bio feature (#1214)
- Remove FastClick (a8826dc)
- Remove the "debug" button from request error alerts (64686ef)
- Fix dropdown menu icon width (7ec9281)
- Fix user online indicator spacing (57f828b)
- Remove faulty default value for forum description (a2e0dae)
- Fix scrubber icon alignment (287085d)
- Don't hardcode admin URL (c037658)
- Update zend-diactoros to v1.6 to fix
- Security: Remove execute permissions from
- Fix post
contentHtmlsometimes breaking script parsing (ea4d889)
- Make sure components receive all children properly (42ecee4)
extractTextbreaking in some cases (f3b4d35)
colorinput type (257ee93)
- Make sure dropdowns don't go above the edge of the screen (3be98b9)
- Improve mobile composer behaviour (a8826dc, 094345d)
- Fix Composer textarea losing its height across route changes (1a10276)
- Performance: Assign parent discussion to posts so it doesn't have to be reloaded (5f7060f)
- Performance: Cache translation catalogue to avoid reparsing YAML (9cc67fe)
- Fix users not being listed properly when searching (7796580)
- Fix crash when post's user has been deleted (1a239ee)
- Filter out notifications with non-existent subjects (a0c95e6)
- Dispatch user events after password reset (#1340)
- Only display pagination link if necessary (6913e8f)
- Add pagination link for previous page (8c47095)
- Prevent editing fields in sign up modal according to identification data (#1330)
- Refactor MIME type guessing to work without any PHP extensions (ba96f31)
- Fix modal title background on phone media (#1378)
- Always return a promise in
- Fix absence of variable reference in
- Update doctrine/dbal to v2.7 to fix MariaDB compatibility (d42205a)
- Escape string used in
ExtensionManagera singleton (050496a)
- Fix discussion posts not being initialized correctly (#1455)
- Prevent undefined class names from being rendered (#1456)
- Fix asset recompilation issues (#1471)
- Fix unread notifications badge appearing fuzzy (fb9a89f)
- Fix generation of next/previous URLs in discussion HTML (3d845d5)
- Prevent invalid custom CSS from crashing forum (#1471)
- Fix profile page posts jumping when scrolling (6a6b9ac)
- Fix git errors displaying in
flarum infocommand (#1562)
- Fix guests encountering permission errors when searching (#1527)
tokenizerto PHP extension requirements (c16ddf2)
- Installer: add check for file existence and fix path resolving (#1397)
- Change tab title after renaming discussion (#1543)
- Fix post composer width bug on profile (#1541)
- Fix wrong permission check in
- Fix registration errors when debug mode is on (5ce702a)
- Sort user discussion list correctly (184ffcd)
- Fix group badge misalignment if there is no group icon (c32af65)
- Fix dropdown menu hidden by
PermissionsPageheader when going up (#1627, 3b630cb)
- Fix scrubber index exceeding post count (#1634)
- Perform visibility checks on notification subjects at the query level (6d14d0c)
- Delete associated notifications when deleting discussions, posts, and users (bf8bc02)
- Clear the search loading indicator after pressing Enter (b474843)
- Always invalidate all user email tokens (66607a5)
Also see the 0.1.0-beta.8 release notes for: akismet approval auth-facebook auth-github auth-twitter bbcode emoji lang-english flags likes lock markdown mentions pusher sticky subscriptions suspend tags
- Add "remember me" checkbox in login from.
- Update notification count when discussion list refresh button is clicked. (@datitisev)
- Add event to allow custom user password validation.
- Support module prefixing of locale resources.
- Allow accessing the session via the actor.
- Add group gambit to support search user by group name. (@liji)
- Ability to manually activate users. (@renyuneyun)
langattribute in app.blade.php. (@datitisev)
- Prevent crawlers from indexing nojs pages.
- Add option to hide the language selector. (@datitisev)
- Add link() and setCanonicalUrl() methods to the WebAppView.
- Add viewUserList permission. (@datitisev)
- Allow JSON config to be used for command-line installation. (@dav-is)
- Add API for extensions to mark discussions and posts as private. (@luceos)
- Improve password reset validation/error handling.
- Added a migration helper for adding default permissions.
- Turn Rename Discussion dialog into a modal. (@datitisev)
- Prevent deletion of default locale. (@dav-is)
- Prevent overwriting of user attributes on authenticated registration. (@dav-is)
- Prevent notice if bootstrapping app in command line environment.
- Make Add Extension modal's title translatable. (@milescellaro)
- Fix asset path when unpublishing. (@clarkwinkelmann)
- Update affix sidebars when window is resized.
- Fix login remember in MS EDGE.
- Prevent reverting editable user bio on click.
- Fix API sorting of users by post count.
- Support PNG avatars with transparent backgrounds and fix EXIF rotation. (@oanhnn, @Zeokat)
- Fix /api/posts returning 500. (@datitisev)
- Make extension event attributes public.
- Prevent admins from demoting themselves through the API. (@datitisev)
- Fix incorrect migration notes for extensions without any migrations.
s9e\TextFormatterto 0.8.1. (@JoshyPHP)
- Update minimum required PHP version to 5.6.
- Add specific error message for username validation.
- Remove fa-fw class from all icons. Manually apply the fa-fw class or other styles if needed.
- Simplify global back button behaviour and appearance.
- Allow separation of public and base directories. (@bmalex88)
- Introduce superficial permission dependency tree to make UI more intuitive.
- Add specific error message when an email address is not found in forgot password modal. (@datitisev)
- Pull in FontAwesome as a Composer dependency, and update to 4.6.
- Add ability to view the IP address for a post in its meta dropdown. (@dav-is)
- Show an upload icon instead of a user's default avatar on their own profile. (@datitisev)
- Add admin pane to configure SMTP settings. (@datitisev)
- Add ability to upload forum logo and favicon.
- Add ability to add custom HTML above the Flarum header.
- Log exceptions in error handler middleware.
- Add CLI installer option to write the config file to a different path.
- Allow extensions to add default model attributes.
- Add Server
extendAPI to allow skeleton to customise the Application instance.
- Automatically support basic HTML tags in translations.
- Updated s9e\TextFormatter to 0.5.0. (@JoshyPHP)
- Improve inline code styling. (@datitisev)
- Use group ID instead of name in generated class names.
- Scroll to reply preview immediately when opening composer.
- Change post edited icon into text. (@datitisev)
- Clean up discussion renamed posts to only show the new title.
- Extract list keyboard navigation code from search into a reusable class.
- Improve text contrast, especially in dark mode.
- Change permission logic priorities; change policy catch-all method from
- Simplify deleted post toggle CSS.
- Refactor web app bootstrapping code.
- Removed broken extension generator CLI command.
- Prevent scrubber post count from exceeding maximum value. (@augiwan)
- Validate password when resetting. (@poush)
- Only check for reply permission for actual replies.
- Fix post controls not being clickable in some circumstances.
- Don't show username/email fields when editing own account.
- Prevent images from loading when generating excerpt post content. (@dav-is)
- Fix avatar upload on Windows servers. (@KazeFlame)
- Prevent humanTime helper from generating future times.
- Fix settings not automatically showing when an extension is enabled.
- Fix post header items sometimes getting out of order.
- Remove temporary file after avatar upload failure.
- Make search dropdown filtering case-insensitive.
- Automatically focus on composer textarea when tapped on iOS.
- Prevent page zoom on input focus in iOS 10.
- Users who haven't confirmed their email address are now able to log in and get their confirmation email resent. (@sijad)
created:YYYY-MM-DDgambit to search for discussions by their creation date. (@Albert221)
- Allow provision of an avatar URL to upload during sign up via
php flarum infoconsole command to help debug broken installations.
- Inline user online indicators. (@petermein)
AbstractOAuth2Controllerclass to provide a generic OAuth2 login implementation for extensions.
- Support for new minifiers. (@JoshyPHP)
- Pop animation when scrolling to post preview. (@sijad)
- Add rel="nofollow" to user bio links. (@sijad)
- Ask for confirmation before "Mark all as Read". (@bogdanteodoru)
- Allow existing users to be activated via the API
- Support multiple comma-separated names in
author:search gambit. (@Albert221)
email:gambit to look up users by email.
- Allow custom redirection after logging out via
- Event to configure server middleware (
- Allow forum to be taken offline by setting
offlineto true in
- Garbage-collect email/password/auth tokens.
- Overhaul extension management code. (@luceos)
- New migration structure. Details
- Improve post composer appearance/usability on mobile.
- Upgrade to
flarum-gulp0.2.0, Babel 6, and Mithril 0.2.3.
ListPostsControllerto make filtering extensible.
- Lighten discussion list hover color.
- Increase avatar upload max file size from 1MB to 2MB.
- Refactor Composer rendering for smoother animations.
- Don't automatically activate users created by admins; require an attribute to be set.
- Extract notification settings into an item list.
- Improvements to colored header styles.
- Rename HTTP method override header.
- Tweak mobile drawer appearance.
settingstable from BLOB to TEXT to allow for easier user editing. (@ahsanity)
- Tweak badge appearance: remove border, decrease shadow radius.
- Delete a discussion when its last post is deleted.
- Slightly widen index sidebar, overflow buttons properly.
- Store discussion slug in database table.
- Add priorities to user page sidebar items.
- Deleting users will now delete discussions that became empty.
- Admin now no longer shows incorrect information on how to install extensions.
- Support prefix in URL generators. (@Albert221)
- Fix autocompletion bugs in Firefox. (@sijad)
- Add specific error message when an email address is not found in forgot password modal.
- Show dropdown menus in front of post composer.
- Prevent long forum title in mobile drawer from entering viewport.
- Fix search box overlapping forum title in some cases.
- Fix JSON serialization error on PHP 7.
- Fix "sort by" dropdown being empty on the latest versions of Chrome.
- Dramatically improve performance when typing in a modal.
- Fix browser back button losing scroll position.
- Don't require a previous Post when saving event posts.
- Fix crash when sending notification to non-existent user.
- Fix username validation to disallow problematic characters.
- Fix crash when displaying a discussion with no posts.
- 401 for unauthorised request to settings, notifications page.
- Better post scrubber size calculations.
- Tweak padding on user dropdown button so avatar is flush with border radius.
- Clear search when input is empty and enter is pressed.
- Give GetPermission event priority when determining permissions.
- Key item lists to maintain identity across redraws.
- Ensure routes are only populated after extensions have registered listeners.
- Ensure a new asset revision identifier is generated if there is none.
- Allow username capitalisation to be changed.
- Prevent some translations being compiled unnecessarily.
- Prevent unapproved discussions from dropping to the bottom of the discussion list.
- Rework authentication/session/cookies code for better security and stability.
- Add password confirmation when changing email address.
- Prevent users from being incorrectly able to delete their own discussions.
- Fix posts being incorrectly visible on user page on private forums.
- Add an icon/label to the back button to indicate where it leads
- Fix some admin actions resulting in "You do not have permission to do that"
- Fix translation keys persisting after enabling an initial language pack
- Fix translation
=>references not being parsed in some cases
- Composer-driven extension architecture. All extensions are Composer packages installable via Packagist.
- Backend codebase & API refactoring. Classes, namespaces, and events systematically tidied up.
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.
- 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.
- 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
bidiattribute for Mithril elements as a shortcut to set up bidirectional bindings
routeattribute 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
notification_read_timecolumn in discussions table to
- Update to FontAwesome 4.4.0.
- 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
- Tags: Fix sub-tag ordering algorithm in Chrome (#325)
- Fix several design bugs
- Check prerequisites (PHP version, extensions, etc.) before installation (#364)
- Enforce maximum title and post length through validation (#53, #338)
- Ctrl+Enter submits posts (#276)
- Syntax highlighting for code blocks (#248)
- All links open in new window, receive rel=nofollow attribute (#247)
- Default build script for extensions (#438)
- Input validation in installer
- Ask for admin password confirmation in installer (#405)
- Increased some text contrasts for accessibility (#390)
- Discussion list did not work with non-empty database prefix (#269, #380)
- Non-admins could not reset their password (#229)
- Requests ending with a slash resulted in a 404 (#334)
- In rare cases, posts did not load correctly (#295)
- Avatars did not show up when installed in a subfolder (#291)
- Installer crashed when views directory was not writable (#376)
- Table prefix could not be set in web installer (#269)
- Enabling an extension disabled all other extensions (#402)
- Invalid custom CSS could crash the application (#400)
- First posts could not be restored or deleted
- Several design bugs
- Set cookies to be HTTP-only
- Tags: Sometimes, tags could not be dragged for reordering in the admin panel (#341)
- Suspend: Use correct column name in when migrating database
- Lock: Check for correct permission when displaying lock control
- Likes: Allow liking permissions to be configured