NodeBB v3.0.0 — it's here!

NodeBB Development
  • It is with great fanfare that the NodeBB team introduces v3.0.0 for general consumption! 🎉

    The release of v3.0.0 brings to a close just over a year of hard work from the team, and fully sets the stage for more research and development into community forum software. From the start, we wanted v2.0 and v3.0 to be released in rather quick succession, although in practice the latter ended up taking a little longer than expected as we decided to shoot for a stretch goal and launch a new theme at the same time.

    v2 was meant to be a backend-only refactor that shifted build responsibilities from our own bespoke implementation to an established module bundler, webpack.

    v3 was meant to be a frontend refactor to update our base frontend CSS framework from the aging Bootstrap 3 (released in 2013 😱) to Bootstrap 5 (😎).

    In the midst of this was the addressing of a large amount of technical debt that had accrued over the years.

    Wait, technical debt?

    All software incurs technical debt. It is by definition "... a concept in programming that reflects the extra development work that arises when code that is easy to implement in the short run is used instead of applying the best overall solution."

    In our specific case, there are other factors that also cause technical debt to incur outside of trying to "move fast and break things". Technologies change, design patterns shift, user expectations are adjusted, or scope is expanded after-the-fact. All of these could cause even a well-designed system to incur some form of technical debt simply due to the fact that you don't know how a given feature will evolve over time.

    ... but this isn't the time nor the place to discuss technical debt. More on this tomorrow. Let's get on with the show!

    What's New in NodeBB v3

    Far too much to explain.

    If you think that's a cop-out, you'd be completely correct. However, there is really so much that's gone in to the release that to enumerate through a list would do a disservice to the items that I'd invariably miss.

    This is the changelog between the latest v2 stable and the new v3.

    Nevertheless, the broad strokes —

    Harmony Theme

    As discussed here prior, one major change is the release of the Harmony theme. This new default theme places an emphasis on usability and readability, as well as a broader focus on consistent design methology used throughout the templates.

    If you already have a forum, we hope that the release of the new Harmony theme encourages you to consider switching to the new Harmony theme.

    FontAwesome 6

    Thanks to the work of @oplik0, we are now running FontAwesome 6, which includes a number of new icons that were not available prior.

    Basic usage tracking for API tokens

    The API tokens system is an authentication layer (in addition to standard cookie session authentication) that allows for privileged access to the Read and Write API. We've added some additional usage tracking here so you can see at-a-glance whether a token has been used recently.

    Updated CSRF protection library

    The old CSRF library has been deprecated due to outdated system design, as well as increasing maintenance burden that outstripped the maintainer's ability to continue work.

    Luckily, others in the open source community created alternatives and have graciously done the work to ensure that NodeBB utilises these new security mechanisms.

    It is key to note that the vulnerabilities present in the old CSRF implementation were not applicable to our usage pattern, so v2.x versions of NodeBB remain secure.

    Push Notifications

    For many years, we have listened to calls for better push notifications support, with limited ability to implement a better solution. Namely, iOS support for web push notifications was only introduced in mid-2022, though browser support for push notifications has always been iffy on mobile devices.

    Philipp Heckel recently released, a simple-to-integrate utility that allows for push notifications to be delivered reliably. Coupled with a dedication to open-source and the ability to run our own central server if needed, it was a no-brainer to create a ntfy plugin so that push notifications in NodeBB were finally a reality.

    I go into a bit more detail in our January 2023 Developer Update

    We want to hear from you!

    Have you been following along with our development, and will you try NodeBB v3? What features excite you the most, and what do you want to see in v3.1?

    Let us know in the replies below 🚀

  • julianJ julian referenced this topic on
  • Many thanks for this release. 🤗

  • upgraded from beta 2 without issues on my test forum, and also my Production server.
    nice work guys

  • You know what @julian @baris (and anyone else I missed) - this upgrade is revolutionary. I've been playing with replicated (and really stale) data for so long, I didn't appreciate exactly what this would look like once I upgraded PROD (which contains up to the minute data of course).

    Bottom line - it looks FANTASTIC. Really happy with the additional code I've written which further enhances the experience.

    You guys ROCK and should have a donate page.

  • Great job, you guys! Can't wait to find some time to upgrade to v3.
    I hope some time off for the team is planned!

  • I need to work anymore on my custom theme but I can't wait to go into production

  • copy button in code block - love it 🙂

  • @brazzerstop it's the small things... 💯

  • @julian also love this, but not seeing it on my forum. Perhaps because I'm using custom highlight.js themes....

    Or is there a setting ?

  • @baris explains why I can't find it! Thanks

  • @phenomlab said in NodeBB v3.0.0 — it's here!:

    You guys ROCK and should have a donate page.

    I agree about creating a donation page 💙 there is an OpenCollective site there are a lot of open source projects and as far as I know they still added support for cryptocurrencies (this is important to me), despite the scandal of eco-activists.

  • @brazzerstop Yes, this is something I've approached @julian about already.

  • We will look into it 😄

Suggested Topics

  • 0 Votes
    1 Posts
  • 9 Votes
    2 Posts
  • 0 Votes
    2 Posts
  • 0 Votes
    3 Posts
  • 5 Votes
    13 Posts