Wanted to share an update as well. I've been working on opening and reviewing a lot of pull requests so far this release cycle. A few particularly interesting ones:
- Typescript typecheck and type coverage automation (PR).Typescript is a programming language that extends JavaScript with types. It allows running type analysis on code before compilation to ensure that no type errors are possible. This makes it a lot easier to write correct code, and be sure that your code is good. Flarum's core has been converting from JavaScript to TypeScript for a while, and while there's quite a bit to go, this PR adds GItHub actions that automatically check for typing errors, and analyze the codebase to see how much of the program is protected via types. In the future, we hope to make these tools easily available to extensions via Flarum CLI.
- Support setting nicknames on registration (PR). A long-standing complaint about Flarum is the fact that usernames can only have ASCII characters, which makes using it on non-english-speaking communities unideal. Last year, we released the Flarum nickname extension, allow users to set a nickname with arbitrary characters. In the next release, we've added the ability to set nicknames as part of registration, along with an option to automatically generate usernames so users don't need to worry about usernames whatsoever.
- The confusing "Uninstall" button on extension pages has been renamed to "Purge" to reduce confusion.
- Webpack 5 is now supported in extensions (PR).
Among some other small fixes and features. I'm hoping to keep improving our TypeScript setup, and migrate a lot of changes back to flarum-cli
so they're easy to use in your community extensions.
On a team level, we also have some big changes coming soon, so stay tuned!