0.9.0 Breaking Changes
-
Hook changes
Filter
action:email.send
andfilter:email.send
renamed see this commitfilter:user.settings
has been renamed tofilter:user.customSettings
see this commit
Other changes
src/postTools.js
andsrc/threadTools.js
removed. They are underposts.tools
andtopics.tools
privileges.topics.canEdit
andprivileges.topics.canMove
removedUser.exists
no longer takes a userslug, it's parameter is uid now. New methodUser.existsBySlug
takes in a userslug. See this commit.notifyOnlineUsers
,sendNotificationToPostOwner
,sendNotificationToTopicOwner
andemitToTopicAndCategory
moved see this commit.posts.getPidIndex
signature changed see this commitposts.flagPost
signature changed see this commit- Template changes for topic view. commit1, commit2, commit3
- User Icons introduced (see: https://community.nodebb.org/topic/6583/0-9-0-breaking-changes/12)
-
Username/email and password change moved to their own pages, this requires custom themes to be updated.
Relevant issue https://github.com/NodeBB/NodeBB/issues/1637 and changes on persona https://github.com/NodeBB/nodebb-theme-persona/commit/db5dd6c5a03ec67df1388803297dce0d01d1e717
-
A better wording for
action:email.send
andfilter:email.send
renamedWould be
action:email.send
renamed tofilter:email.send
Or it at least appears that way from the commit changes
-
If you have a custom theme make sure you apply these changes.
https://github.com/NodeBB/nodebb-theme-persona/commit/0b015a85d78450e1d9b0a82469d2e835b4c31dad
https://github.com/NodeBB/nodebb-theme-persona/commit/b545b00c9d652cea6a7c0df843603ba3b4a6b809
https://github.com/NodeBB/nodebb-theme-persona/commit/2739c08a14a688f8473123ca47d18965ff5767caWe moved the dropdown menus into partials and only parse them when the user opens the relevant menu ie posttools or thread tools. This reduces the amount of parsing done in topic view.
-
So replace everything that has
relativeTime
withtimestamp
?
Or only in certain places... -
What's this User Icons business?
In short, NodeBB used to use Gravatar to generate default icons for guests and users. However, while this approach was novel in terms of forums, there were some concerns over extensibility and user privacy, and so we set out to revamp the system to remove our dependency on Gravatar.
How does this affect me, as a forum owner?
It shouldn't. Next time you upgrade...
All of your users currently using gravatar will remain using gravatar.See below- Any new users will have a user icon generated
- If you had a custom default avatar set, the default should still be properly set.
How does this affect me, as a plugin or theme developer?
You'll need to update your themes and plugins and change every invocation of the user avatar to include a conditional.
For example, investigate this diff:
- <img src="{groups.members.picture}" /> + <!-- IF groups.members.picture --> + <img src="{groups.members.picture}" /> + <!-- ELSE --> + <div class="user-icon" style="background-color: {groups.members.icon:bgColor};">{groups.members.icon:text}</div> + <!-- ENDIF groups.members.picture -->
- Instead of an single image tag, there is now a conditional (
<!-- IF picture -->
). - The
div
contains the user icon in lieu of a picture. - The
user-icon
class is required
Adjust as needed for your own plugin.
-
All of your users currently using gravatar will remain using gravatar.
This statement won't be true for 0.9 - if you wish to keep gravatar support do not upgrade until we build the equivalent gravatar plugin that will allow you to continue as normal. We will highlight this in the release notes / blog post in case you miss it here.