Flarum

Forums made simple. Modern, fast, and free!

Extensible

Elegant UI

Mobile First

Stylable

Fast & Light

Secure

Trusted

Localised into many languages with 36 translation packs

english
简体中文
italian
polish
indonesian
dutch
french
Русский
עברית
turkish
bahasa melayu
spanish
brazilian portuguese
sinhala
română
swedish for flarum
czech
japanese
正體中文語言包
hungarian
hindi
tamil
bosnian language pack for flarum core and multiple extensions
finnish
greek
vietnamese
korean
azerbaijani
flarum lolcat
thai
arabic
croatian
slovak
latvian
ukrainian
uzbekistan

Showcase

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.

Ten Digit Grid

An avid adventurer and hiker, Mike has found Flarum to be an excellent platform for blogging about his trips, discussing gear, and meeting fellow hiking enthusiasts while slowly increasing engagement.

UPC Switzerland

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

The clean slate method on issues and pull requests
Hello everyone,
As you are probably all aware, we're currently in our v1.2 development cycle, and have started planning for v2.0. As part of this process we hosted our usual "kick off" meeting with our core developers and team members, where we discussed plans for the next release, as well as procedural challenges that are blocking and slowing down progress.
During the past several releases, one of our biggest challenges has been managing the issue backlog on GitHub. There's quite a few reasons for this:
  • Basing our milestones on this backlog makes it difficult for us to develop and implement our own vision for the future of the project; instead, we're following the plans of past community members and contributors, many of whom are no longer involved with the project. This is both demotivating for us, and bad for the project, since the issues we're solving aren't necessarily the most important ones at the moment.
  • The current state of our milestones are somewhat arbitrary, more a result of "this used to be on milestone n - 1, so we moved it to milestone n" than because those issues are actually high priority.
  • A lot of issues are partially complete, or have had conversation devolve into weird tangents and rabbit holes. As a result, starting work on an issue is much more difficult than it needs to be.
  • Many issues that have been open for years are no longer relevant. Triaging them to know which ones are and aren't takes up a lot of time.
  • Ideally, issues would be use-case driven, such as solving a bug for users, improving some aspect of developer experience, or building a safer API for some feature. Quite a few of our current issues are about obscure technical changes, without a clear use case.
  • With 350 open issues, even choosing which issues to work on takes up a lot of time and decision paralysis.
And if these issues are causing so much of a headache for our team, which is pretty familiar with Flarum, you can imagine that it's probably much more confusing for new contributors.
We've been talking about improving this situation for a while, and have spent a lot of time closing outdated issues, cleaning up open PRs, and keeping an eye on new issues. Unfortunately, the impact has been minimal, so we have decided to shut down the Flarum project. It's been a pleasure, folks.
That's a joke, of course, but we will be making some drastic changes to our current work organization setup. The main goal here is to ensure that all issues on the GitHub repo are actionable, use-case driven, relevant, and approachable.
  • All existing issues will be moved to an archive repo and then closed in core.
    • Archive repo will be closed/deleted in roughly a year after we've pulled issues we feel are important or otherwise needed.
  • Documentation on what we consider good issues and PRs will be created and put on our new Internal Docs.
    • Issues and PRs not following our new standards will be closed without further response.
  • We will release a roadmap for v2.0 and beyond. Having a roadmap in the past was great for helping both team members and our community remember our long-term vision. We want to bring this back.
  • We will create a new tag here on Discuss where "wishlist" / far-off / unconfirmed / unverified bugs, suggestions, and feature proposals can be discussed. The tag will support voting, so the community will be able to indicate which issues matter the most to them. Some of these will be moved to GitHub issues as we decide to work on them / confirm ideas for a technical implementation.
  • Depending on some experiments in the coming weeks, we might be moving to a monorepo setup for core and bundled extensions. This would help simplify things by putting all development in one place. There's still a few issues that might block it though.
While these changes may seem drastic we ask that you please understand where we're coming from. The amount of issues and PRs in our GitHub repos results in developer fatigue, which in turn means less new features, less bug fixes and overall slower development for you. For us, the extra paperwork makes us less happy and excited to work on Flarum, which makes it difficult to keep up morale and build a better, bigger team. We've made this decision unanimously as a team because we all believe that this is in the best interest of not just ourselves, but for Flarum as a whole.
We expect these changes to take place sometime within the next few weeks. Once we move to the new system of tracking issues, authors of discussions in the support and feedback tags here on Discuss will be able to request that their discussions be moved to the new community voting tag. Please bear with us during this transition, and feel free to ask any questions below.
Flarum 1.1.0 Released

v1.1.0 - Platypus


  • ‼️ New spoiler and strike-through buttons for Markdown
  • 🦶 Post footers are now hidden when empty, reducing whitespace
  • 🗜️ Code blocks now have a maximum height
  • 🤖 Accessibility improvements for search, checkboxes, and icons
  • 🎨 New theme extenders to override entire Less files
  • ⏱️ New frontend asset preloading extender, used by default to preload FontAwesome, JS and CSS
  • 🙈 New no-JS admin dashboard, for when that pesky extension breaks everything
  • 🙆 Replaced usernames with display names in more places
  • 💻️ Various frontend typing improvements for developers
  • ℹ️ php flarum info now shows your forum MySQL version
  • 🐛 Loads more bug fixes
  • 🆕 ...and much more!

📣 The release


Woah, how time flies! It feels like just last week that we hit Flarum's 1.0 stable milestone. But now another release cycle has passed, and we're happy to welcome to the stage (trumpet noises)... Flarum 1.1! 🎺 🎉
A fair bit has changed with Flarum in 1.1. We've been mainly focusing on bugfixes, extensibility and developer improvements, along with a sprinkling of accessibility.
Most extensions should face no breaking changes, but those with deep integration into the frontend may have some slight hiccups before they're updated for 1.1.
For a full list of changes, check out our changelog and upgrade guide.

👨‍💻 For Developers


Most extensions should be ready-to-go on Flarum 1.1 out of the box. If you're overriding component views, or directly manipulating the DOM, you might need to implement some minor changes in some areas.
For theming, we have switched to CSS custom properties wherever possible. You can finally remove your horrible !important properties from your colour modifications, and switch to the applicable custom property overrides. Check out the pull request for more info.

⤴️ 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 notes for upgrading from an earlier version.
To upgrade from 1.0 to 1.1, 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 Support tag. 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.1.0 and any errors in their fullest.

🙇‍♀️ 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:
  • 👕 By getting some swag from our merchandise store!
  • 💵 By backing us on Open Collective or on GitHub.
  • 👩‍💻 By contributing to the source code, hop onto any of our open issues.
  • 📈 By creating your own Flarum extensions and sharing them with the world!
  • 🌎 By translating Flarum and extensions into your own language.
  • 💝 By sharing your love for Flarum with friends, family and on the internet.
  • 💬 By hanging out with us, here on discuss!
If you're looking to get coding, make sure to check out our documentation.

🔮 What now?


We're currently planning our kick-off meeting for build 19 (v1.2), as well as discussing future roadmaps and strategy ready for v2. Hopefully, we'll have a roadmap for v2.0 up soon!
There might be a couple of minor patches between v1.1 and v1.2 where we address minor bugs, so keep an eye out for those.
Dev Diary: Build 19
v1.1 was just released 🥳
Time for a new dev diary, with the hopes of making this a bit more active than the last one 👍️
Flarum v1 Release Announcements
This discussion acts as a way for people to subscribe to announcements on releases. Before stable we would announce releases as separate discussions, because all changes were bundled and released as one beta.
Having passed that milestone we have already released several patch releases for v1.0. These releases were announced either in the v1.0 release announcement or in the Dev Diary. We felt this is not the right place.
From now on we will announce ALL releases, no matter the size, in this discussion. 🔔 So make sure to follow.
  • ⏰ Releases for Flarum and all bundled extensions are announced here and/or linked to.
  • 🔇 Comments are disabled. Please open a discussion for feedback or support.
Previous Release Announcements
Community Updates 10/2021

📖 Introduction

Thank you for the continuing support for our new "Community Update" format. You can read our September edition here. Happy reading for the 10/2021 edition!

📩 Interview with @askvortsov (Flarum Core Developer)

As we want to increase our interaction between the community and the development team behind Flarum we are going to feature interviews with Core developers from time to time. We are very happy being able to kick off this new series with @askvortsov! A big thank you for going first.

👥 The interview

Can you shortly introduce yourself and your role in the Flarum universe?
Hi! My name is Sasha, and I've been a Flarum core developer since May 2020.
How did it come about that you ended up in software development?
Back in high school, I was really interested in neuroscience, and got involved in a nonprofit working to help youth around the world explore the field. We needed a website, but none of us knew web development, and I ended up volunteering to make one. As our organization grew, I was able to use the website to automate away a lot of tedious work, such as membership registration, staff permissions, and journal article submission/review. With time, I realized how much I enjoyed solving problems with software, and decided to make that my career.
Why did you decide to join Flarum as a project to dedicate your spare time to?
In early 2020, that same nonprofit decided to set up a forum. I considered a lot of options, but most either didn't look great, cost too much, or required tons of resources to run. Eventually, I was choosing between Flarum and Discourse. Discourse had more features, but was much slower than Flarum, and I strongly preferred Flarum's design. Flarum just felt like it had a lot more potential.
When I realized that I would need to implement some custom features either way, I decided to try Flarum development out. I was struck how by friendly the community and team were, and enjoyed working on a project with such reach. 200 PRs later, here I am!
What about working open source attracts you?
There's quite a lot:
  • I get to work with a lot of great, very interesting people, both in the Flarum team and in the general ecosystem.
  • It's an opportunity to become a much better engineer and team member. I've learned much more about software engineering through projects than through any class in college.
  • It's really fun! Even in something as seemingly simple as a forum software, there are many challenging engineering problems to solve.
  • It's humbling to know that my code is running on thousands of servers, and is being used by millions of end users.
Besides your involvement in Flarum, what other projects do you care about?
Last summer, I used the OCaml programming language and Hardcaml library to reimplement a CPU design from a class I took last semester. I really enjoyed it, and would like to work more in OCaml.
Outside of programming, I enjoy wheel-thrown pottery, cooking, and spending time with friends. I'm also involved in a few clubs in college.
What's your biggest contribution to the Flarum Core?
I like to think it hasn't happened yet 😁. Out of the work I've done so far, the biggest challenge so far has been leading the beta 14 frontend rewrite from Mithril 0.2 -> Mithrl 2.0, and helping finish the design and implementation of the PHP extender API.
You are also developing extensions for Flarum, what's your motivation?
Usually, it's either something I need myself, a proof of concept for something I'm working on with core, or a feature that I think would increase Flarum use, and I'm personally interested in working on.
Looking to the future, what will be your focus areas for the coming releases of Flarum?
I believe that Flarum's biggest advantage is its framework-first approach. My priorities focus on making the Flarum development experience as great as it can be. This includes:
  • Stronger, more abstract, and safer APIs within Flarum itself, so that developers can express more and better concepts with less code.
  • Additional core features that expand extensibility.
  • Better support for testing, static analysis, typechecking, and other tools that give developers confidence that their code is correct.
  • Infrastructure and code management automation through flarum-cli to make the tedious parts of extension development and maintenance easier.
What would you work on in Flarum if you'd be given free reign to do so?
What I just said 😁. One of the great things about Flarum is that it's driven by the team and community. If someone is passionate about something, and is willing to put in the time and effort to make it happen, it's likely to happen.
If you would be asked how to get started in Flarum development, what would be your answer?
Honestly, just find something that you care about / want to see in Flarum, and start working on it. We have a friendly, supportive community that will help you figure out how to get there, as well as extensive documentation and tons of extensions as examples. We're always excited to see new contributors and ideas: without that, Flarum would not be possible.
Of all the people in the Flarum ecosystem, who would you love to meet in real life and why?
I would love to see a meetup of the Flarum team someday. Working with these people has had a big impact on me both as a developer and a person, and it would be great to meet them in person someday.

📰 Other News

Blomstra - a professional hosting service for Flarum - has launched its service publicly. You can read more about the announcement in the according community thread.
With this new option available to the Flarum community there are now a lot of different options to get started with Flarum. Spoiler: In the next community update we will be looking into those different options into more detail!

🕸️ Extension Highlights

New additions


🏁 Final words

We hope you have liked this edition of “Community Updates”. Looking forward to your comments and ideas for future updates. The next edition will focus on different hosting options available for Flarum. Read you in December!

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!