Updated successfully!
looks very good, thanks guys 😄
socket.emit('admin.categories.create') removed, use POST /api/v3/categories
socket.emit('admin.categories.purge') removed, use DELETE /api/v3/categories/:cid
socket.emit('admin.categories.update') removed, use PUT /api/v3/categories/:cid
socket.emit('admin.categories.setPrivilege') removed, use PUT /api/v3/categories/:cid/privileges/:privilege
socket.emit('admin.categories.getAll') removed, use GET /api/admin/manage/categories
socket.emit('admin.categories.getPrivilegeSettings') removed use GET /api/v3/categories/:cid/privileges
socket.emit('admin.categories.setPrivilege') removed use PUT /api/v3/categories/:cid/privileges/:privilege
socket.emit('admin.groups.create') removed use POST /api/v3/groups
socket.emit('admin.groups.join') removed use PUT /api/v3/groups/:slug/membership/:uid
socket.emit('admin.groups.leave') removed use DELETE /api/v3/groups/:slug/membership/:uid
socket.emit('admin.groups.update') removed use PUT /api/v3/groups/:slug
socket.emit('admin.user.deleteUsers') removed use DELETE /api/v3/users/:uid/account
socket.emit('admin.user.deleteUsersContent') removed use DELETE /api/v3/users/:uid/content
socket.emit('admin.user.deleteUsersAndContent') removed use DELETE /api/v3/users or DELETE /api/v3/users/:uid
socket.emit('admin.uploads.delete') removed use DELETE /api/v3/files
socket.emit('posts.reply') removed use POST /api/v3/topics/:tid
socket.emit('posts.getPost') removed user GET /api/v3/posts/:pid
socket.emit('posts.delete') removed use DELETE /api/v3/posts/:pid/state
socket.emit('posts.restore') removed use PUT /api/v3/posts/:pid/state
socket.emit('posts.purge') removed use DELETE /api/v3/posts/:pid
socket.emit('posts.getDiffs') removed use GET /api/v3/posts/:pid/diffs
socket.emit('posts.showPostAt') removed use GET /api/v3/posts/:pid/diffs/:since
socket.emit('posts.restoreDiff') removed use PUT /api/v3/posts/:pid/diffs/:since
socket.emit('posts.edit') removed use PUT /api/v3/posts/:pid
socket.emit('posts.bookmark') removed use PUT /api/v3/posts/:pid/bookmark
socket.emit('posts.unbookmark') removed use DELETE /api/v3/posts/:pid/bookmark
socket.emit('posts.movePost') removed use PUT /api/v3/posts/:pid/move
socket.emit('posts.movePosts') removed use PUT /api/v3/posts/:pid/move
socket.emit('posts.upvote') removed use PUT /api/v3/posts/:pid/vote
socket.emit('posts.downvote') removed use PUT /api/v3/posts/:pid/vote
socket.emit('posts.unvote') removed use DELETE /api/v3/posts/:pid/vote
socket.emit('topics.post') removed use POST /api/v3/topics
socket.emit('topics.search') removed use GET /api/search
socket.emit('topics.getTopic') removed use GET /api/v3/topics/:tid
socket.emit('topics.delete') removed use DELETE /api/v3/topics/state
socket.emit('topics.restore') removed use PUT /api/v3/topics/state
socket.emit('topics.purge') removed use DELETE /api/v3/topics
socket.emit('topics.lock') removed use PUT /api/v3/topics/lock
socket.emit('topics.unlock') removed use DELETE /api/v3/topics/lock
socket.emit('topics.pin') removed use PUT /api/v3/topics/pin
socket.emit('topics.unpin') removed use DELETE /api/v3/topics/pin
socket.emit('topics.follow') removed use PUT /api/v3/topics/:tid/follow
socket.emit('topics.changeWatching') removed use PUT/DELETE /api/v3/topics/:tid/(follow|ignore)
socket.emit('groups.join') removed use PUT /api/v3/groups/:slug/membership/:uid
socket.emit('groups.leave') removed use DELETE /api/v3/groups/:slug/membership/:uid
socket.emit('groups.grant') removed use PUT /api/v3/groups/:slug/ownership/:uid
socket.emit('groups.rescind') removed use DELETE /api/v3/groups/:slug/ownership/:uid
socket.emit('groups.update') removed use PUT /api/v3/groups/:slug
socket.emit('groups.create') removed use POST /api/v3/groups
socket.emit('groups.delete') removed use DELETE /api/v3/groups
socket.emit('flags.create') removed use POST /api/v3/flags
socket.emit('flags.update') removed use PUT /api/v3/flags/:flagId
socket.emit('flags.appendNote') removed use POST /api/v3/flags/:flagId/notes
socket.emit('flags.deleteNote') removed use DELETE /api/v3/flags/:flagId/notes/:datetime
socket.emit('user.exists') removed use HEAD /api/v3/users/bySlug/:userslug
AND HEAD /api/v3/groups/:slug
socket.emit('user.deleteAccount') removed use DELETE /api/v3/users/:uid/account
socket.emit('user.follow') removed use POST /api/v3/users/follow
socket.emit('user.unfollow') removed use DELETE /api/v3/users/unfollow
socket.emit('user.saveSettings') removed use PUT /api/v3/users/:uid/settings
socket.emit('user.search') removed use GET /api/users
socket.emit('user.changePicture') removed use PUT /api/v3/users/:uid/picture
socket.emit('user.changeUsernameEmail') removed use PUT /api/v3/users/:uid
socket.emit('user.updateProfile') removed use PUT /api/v3/users/:uid
socket.emit('user.changePassword') removed use PUT /api/v3/users/:uid/password
socket.emit('user.setTopicSort') removed use PUT /api/v3/users/:uid/settings
socket.emit('user.setCategorySort') removed use PUT /api/v3/users/:uid/settings
socket.emit('user.banUsers') removed use PUT /api/v3/users/:uid/ban
socket.emit('user.unbanUsers') removed use DELETE /api/v3/users/:uid/ban
socket.emit('categories.getCategory') removed use GET /api/v3/categories/:cid
socketHelpers.setDefaultPostData removed use apiHelpers.setDefaultPostData
socketTopics.loadMoreSortedTopics
removed use infinitescroll.loadXHR
socketTopics.loadMoreFromSet
removed use infinitescroll.loadXHR
app.alert
is deprecated use alerts.alert
from alerts
module
app.alertError
is deprecated use alerts.error
from alerts
module
app.alertSuccess
is deprecated use alerts.success
from alerts
module
app.removeAlert
is deprecated use alerts.remove
from alerts
module
app.logout
is deprecated use logout
module directly. ie require(['logout'], function (logout) { logout() });
app.openChat
is deprecated use chat.openChat
from chat
module.
app.newChat
is deprecated use chat.newChat
from chat
module.
app.enableTopicSearch
is deprecated use search.enableQuickSearch
from search
module.
app.handleSearch
is deprecated use search.init
from search
module.
app.prepareSearch
is deprecated use search.showAndFocusInput
from search
module.
Some custom themes may introduce additional navigation bars at the top of the page, above the NodeBB header menu.
Persona included code that calculated the height of the header menu and adjusted #panel
to start just below it, but it did not account for cases where the header menu is not at the top of the page.
https://github.com/NodeBB/NodeBB/issues/10023
Updated Persona code will do so in v1.19.0 going forward, so any custom themes that use CSS overrides to compensate will need a revisit.
Pages starting with /admin/plugins
or /api/v3/admin/plugins
route prefixes no longer need to call middleware.admin.checkPrivileges
or do their own administrative checks. This is now automatically done.
https://github.com/NodeBB/NodeBB/pull/10035
However, this could be considered breaking if you had a page with a route starting with /admin/plugins/
, and expect to have full access to it from non-admins.
middleware.authenticate
removed, page and API routes are now automatically authenticated via setup(Page|API)Route. Use middleware.authenticateRequest
(if not using route helper) and middleware.ensureLoggedIn
instead.
middleware.authenticateOrGuest
has been renamed, use middleware.authenticateRequest
instead
https://github.com/NodeBB/NodeBB/commit/1a7fffc7e9aab9ad8ea48ad8d99ef2013fc881bf
https://github.com/NodeBB/NodeBB/commit/d89fc44c03fa6db40544e0549a35df7db5e52020
The commit associated with this issue changes the order of middlewares across all routes using setup*Route helpers.
This sounds serious, but in practice the only thing this affects is that prior to the change, all api requests using bearer token were automatically refused if the site was in maintenance mode. Now, just as admins are able to access the site during maintenance mode, admins can make bearer call authenticated API calls as well.
Tags allow %
character now, themes will need to be updated to use tags.valueEncoded
instead of tags.valueEscaped
https://github.com/NodeBB/NodeBB/issues/10135
See changes in persona to update your custom theme https://github.com/NodeBB/nodebb-theme-persona/commit/6aada9127865ddc1cbaf8cd5f548ebc78f7bf90a