NodeBB v3.0.0-alpha.1 — an alpha release
-
Hello all,
Yesterday (and today, technically), we released v3.0.0-alpha.1, the first alpha release of NodeBB v3.0.0
An alpha release is not meant to be production-ready, although at this point we feel confident enough to deploy it onto some sites.
An alpha release probably means most of your plugins are not upgraded for v3, although most of the changes are stylistic and just means they may function fine, but don't look nice. We did try to upgrade some of the most used plugins, and maintained a list as well.
An alpha release means there may be breaking changes that we did not document, although we tried our best to maintain a complete list. If you find any breaking changes not in this list, let us know here or by filing a new issue.
A quick note about plugins
Warning — plugins will not automatically upgrade, as
v3.0.0-alpha.1
is technically a lesser version compared tov3.0.0
, which is what upgraded plugins are advertised as compatible against. You will want to manually upgrade plugins to their latest versions vianpm
.However...
There is one neat oddity about v3.0.0, is that there have been no schema changes since v1.19.3.. it means if you encounter issues with this alpha, you can go back to v2.x (or really, all the way back to v1.19.3, but why would you?)
Most importantly, how do I get this?
cd /path/to/your/nodebb git rev-parse HEAD # save this value in case you need to roll back git fetch && git checkout bootstrap5 git reset --hard v3.0.0-alpha.1 ./nodebb upgrade -mi # now upgrade all your plugins to the latest version if available ./nodebb build
When no flags are passed to
./nodebb upgrade
, the flags-mipsb
are used.-psb
is omitted above becausep
(plugins) don't upgrade for pre-releases,s
(schema) there are no schema updates, andb
(build) I assume you want to build separately.To go back to v2.x,
git checkout master
andgit reset --hard {hash}
where{hash}
is that value you saved earlier. Then run./nodebb upgrade -mib
Enjoy!
-
Cool! The entire technology stack has been updated as soon as possible. It remains to remove jqwery and it will be perfect!
-
@volanar said in NodeBB v3.0.0-alpha.1 — an alpha release:
It remains to remove jqwery and it will be perfect!
That'd be nice, although there are some things that are easier to write in jQuery parlance. That's not necessarily a reason to keep jQuery around, of course.
Also I have a sneaking suspicion that even if we did remove it, someone would write a plugin that immediately re-adds it
-
@phenomlab You have my assurance we won't remove jQuery unless it is part of a major version bump.
The changelog has been updated to specify that custom themes need to have an
overrides.scss
file in theirscss/
folder, even if it contains no actual styles.Thanks @sweetp for spotting that one.
-
@phenomlab It's here.
It's just under a bunch of v2.x releases because we continue to publish patch versions for bug fixes in the v2.x branch.
-
@phenomlab Thanks for the feedback! I'll update the original post with some instructions shortly
Alternatively, you could download the .zip or
.tar.gz
archive and replace your NodeBB directory with those files, though you'd have to take care to preserve thepublic/uploads
folder.Edit: Done.
-
@baris @julian seems
3.0.0-alpha.1
is broken and will no longer build?Error: Undefined mixin. ╷ 151 │ @include fa-icon-solid($fa-var-circle-chevron-up); │ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ╵ node_modules/nodebb-theme-persona/scss/topic.scss 151:3 @import node_modules/nodebb-theme-persona/scss/persona.scss 5:9 @import theme.scss 1:9 @import - 47:9 root stylesheet at Object.wrapException (/home/sudonix.dev/nodebb/node_modules/sass/sass.dart.js:1247:17) at _EvaluateVisitor1.visitIncludeRule$1 (/home/sudonix.dev/nodebb/node_modules/sass/sass.dart.js:81140:17) at IncludeRule0.accept$1$1 (/home/sudonix.dev/nodebb/node_modules/sass/sass.dart.js:86125:22) at IncludeRule0.accept$1 (/home/sudonix.dev/nodebb/node_modules/sass/sass.dart.js:86128:19) at _EvaluateVisitor_visitStyleRule__closure1.call$0 (/home/sudonix.dev/nodebb/node_modules/sass/sass.dart.js:83183:16) at _EvaluateVisitor1._evaluate0$_withStyleRule$1$2 (/home/sudonix.dev/nodebb/node_modules/sass/sass.dart.js:82072:25) at _EvaluateVisitor1._evaluate0$_withStyleRule$2 (/home/sudonix.dev/nodebb/node_modules/sass/sass.dart.js:82077:19) at _EvaluateVisitor_visitStyleRule_closure20.call$0 (/home/sudonix.dev/nodebb/node_modules/sass/sass.dart.js:83175:10) at Environment0.scope$1$3$semiGlobal$when (/home/sudonix.dev/nodebb/node_modules/sass/sass.dart.js:80154:25) at Environment0.scope$1$2$when (/home/sudonix.dev/nodebb/node_modules/sass/sass.dart.js:80200:19) 2022-10-19T17:06:29.919Z [4571/236519] - error: Error: Undefined mixin. ╷ 151 │ @include fa-icon-solid($fa-var-circle-chevron-up); │ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ╵ node_modules/nodebb-theme-persona/scss/topic.scss 151:3 @import node_modules/nodebb-theme-persona/scss/persona.scss 5:9 @import theme.scss 1:9 @import - 47:9 root stylesheet at Object.wrapException (/home/sudonix.dev/nodebb/node_modules/sass/sass.dart.js:1247:17) at _EvaluateVisitor1.visitIncludeRule$1 (/home/sudonix.dev/nodebb/node_modules/sass/sass.dart.js:81140:17) at IncludeRule0.accept$1$1 (/home/sudonix.dev/nodebb/node_modules/sass/sass.dart.js:86125:22) at IncludeRule0.accept$1 (/home/sudonix.dev/nodebb/node_modules/sass/sass.dart.js:86128:19) at _EvaluateVisitor_visitStyleRule__closure1.call$0 (/home/sudonix.dev/nodebb/node_modules/sass/sass.dart.js:83183:16) at _EvaluateVisitor1._evaluate0$_withStyleRule$1$2 (/home/sudonix.dev/nodebb/node_modules/sass/sass.dart.js:82072:25) at _EvaluateVisitor1._evaluate0$_withStyleRule$2 (/home/sudonix.dev/nodebb/node_modules/sass/sass.dart.js:82077:19) at _EvaluateVisitor_visitStyleRule_closure20.call$0 (/home/sudonix.dev/nodebb/node_modules/sass/sass.dart.js:83175:10) at Environment0.scope$1$3$semiGlobal$when (/home/sudonix.dev/nodebb/node_modules/sass/sass.dart.js:80154:25) at Environment0.scope$1$2$when (/home/sudonix.dev/nodebb/node_modules/sass/sass.dart.js:80200:19) sudonix.dev@vps:~/nodebb$ node:events:491 throw er; // Unhandled 'error' event ^ Error: write EPIPE at target._send (node:internal/child_process:865:20) at target.send (node:internal/child_process:738:19) at process.<anonymous> (/home/sudonix.dev/nodebb/src/meta/minifier.js:119:13) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) Emitted 'error' event on process instance at: at node:internal/child_process:869:39 at process.processTicksAndRejections (node:internal/process/task_queues:77:11) { errno: -32, code: 'EPIPE', syscall: 'write' }
And in the log
Hit Ctrl-C to exit at renderMethod (/home/sudonix.dev/nodebb/src/middleware/render.js:75:15) at async ServerResponse.renderOverride [as render] (/home/sudonix.dev/nodebb/src/middleware/render.js:96:5) Error: Failed to lookup view "500" in views directory "/home/sudonix.dev/nodebb/build/public/templates" at Function.render (/home/sudonix.dev/nodebb/node_modules/express/lib/application.js:597:17) at ServerResponse.render (/home/sudonix.dev/nodebb/node_modules/express/lib/response.js:1039:7) at /home/sudonix.dev/nodebb/src/middleware/render.js:107:11 at new Promise (<anonymous>) at renderContent (/home/sudonix.dev/nodebb/src/middleware/render.js:106:10) at renderMethod (/home/sudonix.dev/nodebb/src/middleware/render.js:75:15) at async ServerResponse.renderOverride [as render] (/home/sudonix.dev/nodebb/src/middleware/render.js:96:5)
EDIT: Forgot that this was a replica install of prod, so needed to run
./nodebb upgrade
first -
Another issue. Despite upgrading plugins from the CLI, I get the below
2022-10-19T17:44:45.677Z [4571/251921] - info: Initializing NodeBB v3.0.0-alpha.1 https://sudonix.dev 2022-10-19T17:44:47.351Z [4571/251921] - warn: [outdated] nodebb-plugin-browsing-users installed v3.0.0, package.json requires ^2.0.4 2022-10-19T17:44:47.353Z [4571/251921] - warn: [outdated] nodebb-plugin-iframely installed v0.7.16, package.json requires ^1.0.0 2022-10-19T17:44:47.354Z [4571/251921] - warn: [outdated] nodebb-plugin-recent-cards installed v3.1.1, package.json requires ^2.0.22 2022-10-19T17:44:47.355Z [4571/251921] - warn: [outdated] nodebb-plugin-question-and-answer installed v0.12.26, package.json requires ^1.0.3 2022-10-19T17:44:47.355Z [4571/251921] - warn: [outdated] nodebb-plugin-poll installed v3.0.0, package.json requires ^2.0.6 2022-10-19T17:44:47.363Z [4571/251921] - error: One or more of NodeBB's dependent packages are out-of-date. Please run the following command to update them: 2022-10-19T17:44:47.363Z [4571/251921] - error: ./nodebb upgrade
And
./nodebb upgrade
does not resolve the issue.Edit - resolved by removing affected plugins and reinstalling after build.
-
@julian said in NodeBB v3.0.0-alpha.1 — an alpha release:
so yes, it's normal prior to v3 to have those warnings emitted.
Ok, but this was after the upgrade to alpha?
-
@baris said in NodeBB v3.0.0-alpha.1 — an alpha release:
We have added some fallbacks for classes like pull-right and pull-left, so thinks don't break completely. We will replace those with float-start/end before release.
Is it possible to get access to a release that has these changes ? Seems pointless remediating existing classes (my theme is all over the place currently) only for them to be removed in the final release.