... on changing the default theme to Persona
Upon launching v0.7.1 (yesterday), we also changed the default activated theme to Persona. This doesn't mark that significant of a change, as the Persona theme itself has been available (and bundled with v0.7.0, iirc) for some time.
Up until now, NodeBB has naïvely assumed that if a template was required but not defined in the theme, to fall back to the template found in the Vanilla theme. This has worked well so far, and translates well to themes using vanilla as a base (like Lavender, and variants thereof).
With Persona now the default theme, we also need to transition this assumption (which we internally call the
base_templates_path) to Persona as well. However, if we do make this change, it breaks any theme that attempts to move to this new version of NodeBB.
Therefore, with it being a breaking change, I'll be committing it to a new branch that tracks the next NodeBB version,
v0.8.xthe next version of NodeBB?
Possibly, but I want to accelerate our timings so that we don't have a several-month gap between releases. The
masterbranch is still the main development branch, and the majority of issue fixes will go there.
v0.8.xwill contain any breaking changes to NodeBB, and will periodically merge changes and fixes from
masterso that it is kept up to date.
The idea is to launch v0.7.2 and v0.7.3 on a weekly or biweekly basis (that is, once every 2 weeks), containing bugfixes and various other non-breaking-change improvements.
There is no timeline for the impending release of v0.8.0, so this exercise is done purely to keep this (and other future) breaking changes out of
How will this affect my Lavender-variant/Vanilla-based theme?
If you maintain a lavender variant or vanilla based theme, and you want to maintain compatibility when v0.8.x is eventually released, add a new hook listener to your
plugin.jsonfor the hook
static:app.preload, and have it explicitly set the
base_templates_pathruntime variable to point to vanilla's templates directory.
This change is backwards compatible with future v0.7.x releases, so it is safe to add it now in preparation for v0.8.x.
Just add a new value to your
config.jsonwith the key
baseTheme, and set it to
Who needs to use the
Right now, the only installs that will require the v0.8.x branch are those that want specific breaking changes that are introduced in this branch.
Specific to themes, any theme designers who want to create a Persona-based theme will require the v0.8.x branch, because then the
base_templates_pathis set to Persona, and not Vanilla.
can you still manually change to lavender in ACP after install / upgrade ? and run it this way
what is the benefit of adding a hook listener, or are u removing vanilla/lavender functionality
Yes, this change doesn't affect how you use NodeBB, it only affects you if you're a theme developer (with a Lavender-variant or vanilla-based theme) and you want to maintain compatibility post v0.8.x