Flarum

Forums made simple. Modern, fast, and free!

Extensible

Elegant UI

Mobile First

Stylable

Fast & Light

Secure

Trusted

Localised into many languages with 42 translation packs

english
简体中文
german
italiano
turkish
spanish
brazilian portuguese
romanian
swedish for flarum
sinhala
dutch
ukrainian
עברית
bahasa melayu
japanese
polish
vietnamese
czech
chinese (traditional)
正體中文語言包
hungarian
indonesian
한국어
finnish
persian
arabic
hindi
slovak
traditional chinese (zh-hant-tw) language pack
tamil
rusext
greek
serbian
azerbaijani
korean
croatian
uzbekistan
thai
lithuanian
bangla
bosnian language pack for flarum core and multiple extensions
latvian

Showcase

DevNL

A perfect example of Flarum's customizability. This highly customised Dutch developer community has a unique layout, with beautiful elements like a custom loader. Created by the author of the popular SEO and Support Platform extensions.

giffgaff

As a leading British telephone network, giffgaff serves millions of customers. Through innovative use of Flarum, they've built up a passionate peer support community, improving support and engaging customers.

Sunrise UPC LLC

Leading provider of communication and entertainment in Switzerland. Their Flarum community creates a framework for healthy togetherness while supporting their customers with an appealing, user-friendly community experience.

Blog

Flarum v1.8.0 Released

v1.8.0 - Quoll



📣 The Release


We are delighted to announce the release of the final scheduled installment in the 1.x series, marking the culmination of an extensive period of development and refinement. This release is primarily dedicated to addressing various bugs and bolstering performance, ensuring a smoother and more reliable experience for our users. As we bid farewell to the 1.x series, we would like to express our gratitude to our loyal users for their invaluable support and collaboration. Now, let's delve into the key highlights of this release:
This release closes the successfully funded bounty for mentioning tags, as well as a high-voted proposal for the new permission added in this release. We want to highlight this to make you consider posting your idea in depth inProposals so it maybe gets picked up either as aBounty or as a high-voted proposal - you can see this here: https://discuss.flarum.org/t/proposals?sort=votes

👨‍💻 For Developers


Extensions compatible with 1.7 should still operate on Flarum 1.8 without any changes. However, depending on what JavaScript changes your extension makes and how it makes them, we recommend looking through some of the frontend facing changes made: https://github.com/flarum/framework/issues?q=is%3Aopen+is%3Aissue+label%3Ajavascript.
Additionally, this release introduces conditional extenders, which allow you to add extenders based on a condition, such as whether an extension is enabled: flarum/framework3759.
Checkout the full upgrade guide. Feel free to provide feedback or report any encountered issues!

⤴️ Upgrading


Before you upgrade, make sure to create a backup of your public/assets directory, your composer.json and your database!
Before starting the upgrade process, ensure you are on Flarum 1.0.0 or above in your Admin Dashboard or by typing php flarum info. If you're not, use the previous release announcement for upgrading from an earlier version.
To upgrade from 1.0 or 1.7 to 1.8, take a look at our upgrade guide documentation. The process should be much easier compared to previous major version upgrades, due to the lack of breaking changes.
If you run into any issues, please open a new discussion under the tagUpgrading. Ignore similar discussions and open a new one anyhow. Make sure to mention the output of php flarum info, composer why-not flarum/core v1.8.0, and any errors to their fullest.

😇 Thanks to our Sponsors


Financial donations keep Flarum alive and kicking. The following companies and people deserve credit for making Flarum sustainable:
  • Glowing Blue AG.
  • Sridhar Kamma.
  • Lincoln Russell.
  • Bart van Bragt.
  • Circuit Dojo.
  • David Wheatley.
  • Rad Web Hosting.
  • Seaborn.
  • Timotheus Pokorra.
  • JrdnHnz.
  • Jai Gupta.
  • Guoqing Zou.
  • Miguel A. Lago.
  • Alexander Skvortsov.
  • Jeannes Bryan.

Thank you to all the Supporters, backing us through Discuss:
@v17development and @waca !

Thanks for being awesome 😍 !

🙇‍♀️ Acknowledgements


Flarum wouldn't be the same without our over one hundred contributors, along with their generous time commitments! For this release we specifically thank these wonderful people:

🆘 Support the Project


We need your support to:
  • Guarantee continued development on the software.
  • Create a valuable ecosystem around the project.
  • Ensure healthy extensions are available.
You can support us:
For installation instructions check our installation documentation. If you are interested in developing extensions for Flarum, check the extend section there.
CU8 - What's coming to v2 and what can I test now?

📖 Introduction

Welcome to our newest community update. As some time has passed since the last community update, we want to update you on different things that happened or are happening in the future. In Edition 7 of our community updates 2023, we featured an overview of what's happening next with Flarum. Feel free to skip back to this post in case you are interested. But now, let us move on to our newest update.

🧪 Want to test out some upcoming features?

(they will be part of Flarum 2.0)
Our team is already working hard on Version 2.0 which will focus on key improvements. You can read more about the development journey in the Staff Diary: v.2.0 Cycle. Some upcoming features are in active development and can already be tested in a BETA capacity for the current Version 1 of Flarum.

📦️ Package Manager

The package Manager project - driven by @SychO - allows you, after the initial installation, to install, remove and update extensions of your Flarum installation without the need to access composer in the command line. You can already see this working now in a BETA capacity. You can test how it improves your day-to-day experience in administrating Flarum. If you want to try this upcoming extension yourself, you can do so using the following command:

composer require flarum/package-manager:"*@beta"
EDIT: Now released: https://discuss.flarum.org/d/33955-extension-manager-stable-release-install-flarum-via-zip-file/_

We'd love to hear your experiences with the package manager - you can share your feedback in this discussion.

👁️ GDPR Data Management

As announced, making Flarum more compatible with regulations, a GDPR data management extension will be integrated into the core with 2.0. You can already test this extension with Version 1.0 of Flarum - also in a BETA capacity. This extension, developed by @luceos and @IanM, allows for export and deletion of data. As it's in BETA it only partially covers all areas as of right now - and the extension will need to be adopted to be compatible. If you want to try it now, you can do so:
composer require blomstra/gdpr:"*@beta"
We would love to hear your feedback on your test runs of this new extension - you can share your feedback in this discussion.

🕸️ Friends of Flarum - Anti-Spam

@IanM has picked up theBounty on FoF Spamblock to improve handling of Spam in Flarum. He combined two extensions (fof/spamblock and fof/stopforumspam) into one new anti-spam extension. This extension will help your moderation flow to be more effective.
You can test the new extension now: composer require fof/anti-spam:"*@beta"
Feedback is - as always - appreciated and can be provided within this discussion.

🌐 New Flarum website

You can also check out our upcoming website, which will merge core services like Extiverse into one umbrella. The new website - developed with much effort by @luceos - in DEMO capacity is available at https://next.flarum.org. If you want to leave us feedback, you can do so here in this discussion.

👓️ Discussion about upcoming changes (search)

Searching in Flarum has been subject to many discussions and is one of the big topics on our roadmap for 2.0. As an open-source project, we value our community's feedback, and we have started a public discussion on upcoming changes. You can follow and contribute to this discussion, led by our newest team member @Darkle, here: https://discuss.flarum.org/d/33443-flarum-20-uiux-improvements-for-enhanced-search-experience

🏴‍☠️ Bounties,🔌 Extensions & 🇬🇧 Translations

Our community is very active in generating newProposals to improve Flarum. Also, there are many updates to existingExtensions, and new ones are created. We encourage you to check openBounty occasionally and see if there is a feature you are also looking for that might need just a little support to get realised.
If you are missing out on some translations in your desiredLanguages you can always head over to the Flarum Translation on Weblate and contribute some translations yourself! https://weblate.rob006.net/languages/. To learn more about translation Flarum, visit: https://discuss.flarum.org/d/27519-the-flarum-language-project

🏁 Final words

We hope you have liked this edition of “Community Updates”. Looking forward to your comments and ideas for future updates. We will pick up speed again and hope to see you soon on the next edition of Community Updates. Don't want to miss the next update? Follow theBlog tag, and you'll get a notification.
Extension Manager Stable Release & Install Flarum Via ZIP File

🧩 Extension Manager

Dear Flarum Users,
We are pleased to announce the stable release of the Extension Manager extension (previously named Package Manager), a solution born from our experimentation to simplify the installation and updating process of Flarum extensions directly within the admin panel.
Initially introduced in beta versions for Flarum 1.0, the Extension Manager has performed better than expected despite encountered issues. We're now delighted to unveil its stable version, refined with fixes for numerous issues and the addition of new features.
screenshot of the extension manager extension interface

📥 Installation

If you already have flarum/package-manager installed.Make sure to remove it first using the command line:
composer remove flarum/package-manager
Then you can simply install the extension manager by running:
composer require flarum/extension-manager:*

📦️ Introducing Installation Via Package

Overcoming the reliance on SSH access for software and extension management has been a persistent challenge for many users. While the Extension Manager resolves these challenges for extensions, the initial software installation still necessitates command-line use.
To address this further, we're introducing installation via packages bundled with the Extension Manager for each major Flarum version. This offers an alternative installation method for users uncomfortable with CLI commands. By selecting the appropriate PHP version package, users can directly install Flarum without using composer.
You can find these installable packages in our documentation.
It is important to note that while this aims to reduce the necessity of using the command line interface as much as possible, you may still need to run some commands in case of troubleshooting or potential crashes.
Flarum CLI v1.0

Flarum CLI

oclif Version Downloads/week License
A CLI for developing Flarum extensions.


📣 The Announcement

Supporting our extension ecosystem in building even more awesome extensions, is something we firmly believe in. As such @askvortsov has been hammering away at this project (RFC: Flarum CLI Alpha, Flarum CLI Dev Diary), setting up a solid foundation for it to create a powerful tool for extension development that would help developers by automating some repetitive and menial tasks, and allow them to get into the actual work without much hassle.
Today, we're very excited to announce the 1.0 version of this tool, it comes with a range of commands to assist you along the way.

📥 Installation

Using npm simply run the following command to install the CLI globally.
If you have the alpha version installed, remove it first:
$ npm uninstall -g flarum-cli
Now install the new package:
$ npm install -g @flarum/cli
To run a command, use either flarum-cli or fl:
$ flarum-cli COMMAND
$ fl COMMAND
To see a list of available commands, run either of:
$ flarum-cli
$ flarum-cli --help

⬆️ Updating

$ npm update -g @flarum/cli

🌟 Highlights

The CLI has different types of commands for different tasks:
Initialisation
  • flarum-cli init [PATH]: Generates a blank extension skeleton, including all recommended infrastructure.
Infrastructure
  • flarum-cli infra backend-testing [PATH]: Adds (or updates) infrastructure for running automated backend tests.
Backend Boilerplate Generation: Generates different types of backend classes and/or extenders, ready to be used.
  • flarum-cli make backend api-controller [PATH]
  • flarum-cli make backend api-serializer [PATH]
  • flarum-cli make backend api-serializer-attributes [PATH]
  • flarum-cli make backend command [PATH]
  • flarum-cli make backend event-listener [PATH]
  • flarum-cli make backend handler [PATH]
  • flarum-cli make backend integration-test [PATH]
  • flarum-cli make backend job [PATH]
  • flarum-cli make backend migration [PATH]
  • flarum-cli make backend model [PATH]
  • flarum-cli make backend policy [PATH]
  • flarum-cli make backend repository [PATH]
  • flarum-cli make backend route [PATH]
  • flarum-cli make backend service-provider [PATH]
  • flarum-cli make backend validator [PATH]
Frontend Boilerplate Generation: Generate frontend components/classes, ready to be used.
  • flarum-cli make frontend component [PATH]
  • flarum-cli make frontend modal [PATH]
  • flarum-cli make frontend model [PATH]
Code Updates:
  • flarum-cli update js-imports [PATH]: Adds admin/forum/common namespaces to all JS imports from flarum core.
And of course, you can always use the help command to see a list of all available commands with their descriptions:
  • flarum-cli help [COMMAND]

🔥 The Most Powerful Commands

Of all the aforementioned commands, the two most powerful ones that will make a huge difference, are the extension initialisation command and the backend model generation command. The former obviously allows to kickstart the extension with the recommended skeleton from the Core Dev team, while the latter not only creates the backend model, it allows to create all the classes related to the model, from just its name:
  • Table migration
  • Policy
  • API Serializer
  • CRUD API Controllers
  • CRUD Handlers
  • Repository
  • Validator
  • Routes
  • Related Extenders

terminal_example
example_project_with_model_command

🧑‍🏭 Support & Feedback

If you encounter any problems while using the CLI, or would like to propose additional features/commands, please open an issue in the github repository.
Any and all feedback is appreciated.

Links

Developers

Extend

Learn how to harness the extensibility of Flarum to create your own extensions and customize your community.

EXTEND

Contribute

Help us make Flarum even more powerful and customizable! Every bug report, pull request, and documentation improvement is a huge help.

CONTRIBUTE

Built with the best tools

Have you ever changed tires with a spoon? Using the right tools for the job is key to success. We thank our technology partners for their generous product donations!