We would essentially have to rewrite the frontend. It's not impossible but it is a larger undertaking, in addition to breaking any plugin that has a frontend using jQuery.
NodeBB v3.0.0 — it's here!
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 —
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.
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
GitHub - expressjs/csurf: CSRF token middleware
CSRF token middleware. Contribute to expressjs/csurf development by creating an account on GitHub.
Luckily, others in the open source community
GitHub - Psifi-Solutions/csrf-sync: A utility package to help implement stateful CSRF protection using the Synchroniser Token Pattern in express.
A utility package to help implement stateful CSRF protection using the Synchroniser Token Pattern in express. - GitHub - Psifi-Solutions/csrf-sync: A utility package to help implement stateful CSRF protection using the Synchroniser Token Pattern in express.
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.
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
ntfy.sh | Push notifications to your phone or desktop via PUT/POST
ntfy is a simple HTTP-based pub-sub notification service. It allows you to send notifications to your phone or desktop via scripts from any computer, and/or using a REST API.
GitHub - NodeBB/nodebb-plugin-ntfy: Push Notifications for NodeBB (via ntfy)
Push Notifications for NodeBB (via ntfy). Contribute to NodeBB/nodebb-plugin-ntfy development by creating an account on GitHub.
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
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.
copy button in code block - love it
julian GNU/Linuxreplied to brazzerstop on last edited by
@brazzerstop it's the small things...
brazzerstopreplied to phenomlab last edited by
@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.
Contribute To Collectives Using Cryptocurencies (Beta) - Open Collective
Today, we are adding limited support for cryptocurrencies on the Open Collective platform. We're testing this feature with one of our own Hosts. If you're interested in adding crypto' to your hosted Collectives email ...
phenomlabreplied to brazzerstop last edited by
@brazzerstop Yes, this is something I've approached @julian about already.