• MetaBlog
  • The New & Improved Flarum Roadmap

What's almost as good as releasing software? Releasing software plans!

It's been a little while since we updated our old roadmap, and a lot has changed since it was written. AI can now beat humans at Go. Donald Trump is now President. But most importantly, based on your feedback, we've come up with all sorts of new ideas about what we want Flarum to look like in the future — everything from changes to the code architecture, to better extension APIs, to UX and design updates.

Originally our plan was to just squeezeitallin before our first stable release. How hard could it be? Ah, to be young and naive. Impossibly hard, it turns out. After the several months of analysis-paralysis leading up to the release of beta 7, we learnt a big lesson about big releases.

So we've been working on a revised plan that will allow us to make all of these changes in a series of smaller, quicker releases. Here it is:


0.1: Simply Stable

Our first stable release won't contain any new bells and whistles, on top of the bells and whistles that are currently there. Through one or two more beta releases leading up to the final release, just expect some tweaking to those existing bells and whistles, improved bell performance and whistle speed, and some better instructions on how to ring bells and blow whistles. In slightly less abstract terms, 0.1 will bring:

  • 🔨 Tweaks to the backend code architecture
  • 👷 A revamped extension API
  • 💾 Updates to the database structure and indexes
  • 🔍 Better search performance
  • ✨ Some minor design tweaks
  • 📚 Updated website and extension docs

0.2: Better Backend

The next release will focus on making Flarum's backend code solid as a rock. Or should I say SOLID as a rock? No? In any case, this release will include:

  • 🔨 A rewritten JSON-API layer which is simpler to maintain and extend
  • 📩 A dedicated API for push (real-time features) in core
  • 🔍 Improvements to the search system
  • 🔔 Improvements to the notifications system
  • 💁 Improved installation/upgrading experience
  • 📝 Backend tests

0.3: Fresh Frontend

With all the attention the backend will be receiving, we think the frontend might get a little jealous. So we're dedicating this release to you, frontend:

  • 🔮 Use TypeScript (and all its magic powers) in frontend code
  • 🌈 Updated design with many UX improvements

0.4 and Beyond: Fantastic Features!

Having stabilized the codebase, with the bulk of the breaking changes behind us, it will finally be time to work on some great new features for subsequent releases. These will include:

  • 💌 New/adopted extensions: Private Discussions, WordPress integration, Attachments, more
  • 💿 Importers for other forum software
  • 🛒 An official extension marketplace
  • 🔍 Searching within discussions
  • 🏇 Performance optimizations

After we've established that we have a very stable extension API, we'll flip the switch and release the magnificent one-point-oh, which will guarantee no breaking changes to extensions for a while.


Timeframe

As we keep saying, Flarum is built by volunteers in their spare time. The bad news is that we can't give an ETA on future releases, other than to say it'll be at least a few months between each of them.

The good news is that you can volunteer too and help us get there quicker! @Kyrne has already done an amazing job to start updating core extensions for the code architecture changes that 0.1 will bring. If you're interested in lending a hand, take a look at the milestones on GitHub and let us know what you can do.

In the meantime, keep an eye on the Flarum Twitter for updates. Here's to progress! 🍻

    Toby stickied the discussion .

    Great news and I'm really liking the new roadmap Toby. This will definitely bring music to everyone's ears and will further instil confidence for those using and wanting to use Flarum.

    I have been following Flarum for quite a few years now so it's amazing to see all the hard work progress through each and every stage. You've got me as a fan and as a user and I will continue to use this amazing forum software for many more years to come; nothing else beats it yet in my opinion.

    Keep up the great work to everyone on the team and involved in some way, shape or form behind the scenes.

    I'm super happy to read this news, I closed my forum three or two months ago, but I am still interested in this project ?

    doubts:
    - will it always possible to update the software or at some point we will to have to start a clean installation?
    - are there plans to offer an official hosting service? (after release of stable version)

    • Toby replied to this.

      Blueh sanwhere Yes, you'll be able to upgrade from beta 7 and it will always be possible to update to newer versions ?

      An official hosting service is a possibility though there are no concrete plans at the moment.

      Any reasoning for this priority order?
      In addition to what's next, it would be great to understand better the logic behind.

        Great!!! Good News!!!

        Nice to know. Take the beta tag out as fast as you can. That's hurting Flarum, more than anything.

          Toby ? Improved installation/upgrading experience

          looking forward to that ?
          beeing a "normal user" this is the point that will in my opinion will have a lot to do with the rise and fall ?
          I came here about having a look at discourse and liking it (admittedly they are not that different ux wise (meant in a good way) - but the total bummer is the installation not suited for normal humans. The wordpress example arises - and the answers you can find include "wordpress is last century"... which is kind of a bad argument.
          A good argument is the reason why it is so popular. Which brings us back to the quote.
          You dont need webspace matching a hardware requirement... most hosters easily can be used. And more importantly: installation is as easy as downloading a package, throwing it onto your webspace and direct to a install file. Done.
          Im not that fluent in programming trends and needsof this century - but these arguments dont work for me.

          btw - dont know if this small bug is already known: if i drag the post-bar (the one where the number of posts from original post to now is shown (number of current post and total post + date)) to the now state in one drag it shows a wrong number until i let go of it (like 55 of 52 posts - means i can "overscroll). I'd attach a screenshot - but guess a) i dont know how b) its not that hard to imagine.

          anyways: looks promising

          justshipit Any reasoning for this priority order?
          In addition to what's next, it would be great to understand better the logic behind.

          Sure.

          • Priority #1 is to remove the "beta" label. Even though our extension API is not yet stable, Flarum itself is very useable in production environments. So 0.1 is just about fixing a few things and applying a bit of polish for a solid first release.
          • Priority #2 is to stabilize the extension API. There are a lot of improvements we want to make before we're happy to guarantee API stability. Too much to pack into one release, so we're spreading these changes across a few releases: the "face" of the extension API will be redone for 0.1, some of the backend components will be revamped in 0.2, and frontend components in 0.3.
          • Priority #3 is to add features and build an ecosystem. Not much point in doing this until the extension API is relatively stable.

            Toby Even though our extension API is not yet stable, Flarum itself is very useable in production environments.

            Absolutely. I've been using it since 2015 and still loving it. Good roadmap!

            @Toby
            Very good plans. However I have a question - will the support for other database engines be added in the near future? Official implementations MongoDB driver or PostgreSQL, Redis?

            Toby Fantastic news, thanks for the update. I'm personally excited for the frontend changes to TypeScript. It feels much better using a language with static types and type safety. Anything that makes it more difficult to make mistakes is excellent in my book.

            @Toby

            Great to hear this news, it's a light for long-time waiting, thanks for your work.

            So will 0.1 stable release still need Composer for installation?

            will stable release require an external e-mail system (mailgun, sparkpost etc..)? ?

              Blueh I think Flarum will continue to use the Laravel Mail drivers, so there's no reason for the local or smtp adapters to go away ?