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.
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! @CDK2020 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! 🍻