nodeBB v1.17.0 Release Notes
Release Date: 2021-04-22 // almost 3 years ago-
π₯ Breaking Changes
- add additional flag hooks [breaking] (00a68a95)
- π remove deprecated
User.emailConfirm
[breaking] (fb84c785) - π remove deprecated plugin hook
filter:privileges:isUserAllowedTo
[breaking] (5a775e09) - π remove deprecated plugin hook methods [breaking] (d41de481)
- more removals of thumb specific backwards-compatibility [breaking] (cc0d562e)
- π remove deprecated
filter:admin/header.build
hook [breaking] (5f9f241e) - π remove deprecated v2 style responses for thumbs upload route [breaking] (84dfdfe6)
- π remove deprecated getObject routes [breaking] (2ad0d0d0)
- π remove 'filters' and 'categories' from flag details API return [breaking] (8b72479f)
- filtering logic of flags [breaking] (1603566b)
- feature flag for auto-resolving a user's flags on ban [breaking] (6b1c97db)
- allow interstitial callbacks to be async functions [breaking] (280285cd)
Chores
- deps:
- update dependency jsdom to v16.5.3 (0f249aa7)
- update dependency eslint to v7.24.0 (60c0c16f)
- update dependency husky to v6 (f155f326)
- update commitlint monorepo to v12.1.1 (b4d01388)
- update dependency jsdom to v16.5.2 (5e2e7a58)
- update dependency eslint to v7.23.0 (d600cd94)
- update dependency husky to v5.2.0 (77f551a4)
- update dependency jsdom to v16.5.1 (28ed579b)
- update dependency eslint to v7.22.0 (775c3b91)
- update dependency mocha to v8.3.2 (3ce731d8)
- update dependency jsdom to v16.5.0 (fd926d61)
- update dependency mocha to v8.3.1 (651c629f)
- update dependency husky to v5.1.3 (8791b44e)
- update dependency husky to v5.1.2 (5f061b94)
- update commitlint monorepo to v12 (42f7cd52)
- update dependency eslint to v7.21.0 (59518437)
- update dependency husky to v5.1.1 (2551295c)
- update dependency husky to v5.1.0 (dc06fe22)
- update dependency eslint to v7.20.0 (9ec0b2ed)
- update dependency mocha to v8.3.0 (73f07958)
- update dependency husky to v5 (d89ccf26)
- update dependency lint-staged to v10.5.4 (030ecffa)
- update dependency eslint to v7.19.0 (3696a199)
- incrementing version number - v1.17.0-beta.5 (42c4f963)
- fix indent (6406e527)
- benchpress 2.4.1 (3403635c)
- π remove log (a1ee1a2a)
- incrementing version number - v1.17.0-beta.4 (91992240)
- 0οΈβ£ bump composer-default (289bfc0b)
- up themes (d14ba1f4)
- π remove node 10 (8d3ec234)
- 0οΈβ£ bump composer-default to 6.5.20 (33fbfdfe)
- incrementing version number - v1.17.0-beta.3 (6e8b1bb9)
- add multiparty dep (ef3ec96a)
- incrementing version number - v1.17.0-beta.2 (0c1945dc)
- incrementing version number - v1.17.0-beta.1 (31872aac)
- bump composer (30954789)
- bump deps (#9335) (b9fd2c87)
- incrementing version number - v1.17.0-beta.0 (b61257ef)
- incrementing version number - v1.16.3-beta.0 (477157cc)
- π² extra console.log (1ae8dda8)
- up composer (1c9acef6)
- π eslint max-len (cc9d6fd0)
- π eslint no-restricted-syntax (5c2f0f05)
- π eslint prefer-rest-params, prefer-spread (115d19e2)
- π eslint prefer-destructuring (23f212a4)
- π eslint object-curly-newline (8d1462ff)
- π eslint function-paren-newline (62869bae)
- π eslint no-var, vars-on-top (dab3b235)
- π eslint prefer-arrow-callback (b56d9e12)
- π eslint prefer-template (707b55b6)
- π eslint import/newline-after-import (4ee0f145)
- π eslint no-script-url (9f6a682c)
- π eslint no-bitwise (dad01e30)
- π eslint rules matching existing styles (58528d1a)
- fallbacks (74be1a59)
- π deprecation notices for plugins using plugin old hook methods (3052256d)
- π add deprecation notice in comments for ajaxify.loadExtraScripts (8b09292e)
- incrementing version number - v1.16.2 (ea7f8381)
- β‘οΈ update changelog for v1.16.2 (d3883d4b)
π Documentation Changes
- π fixed typo (e7550673)
- added comment re: #9305 (65c57c73)
- β‘οΈ update deprecation-removal version for plugin hook helper methods in 1.18.0 (15ba0abb)
π New Features
- lang strings (9b71b087)
- rate limit file uploads (a9978fcf)
- filter flags by username #8489 (#9451) (8faa6e45)
- π roll session identifier on login, as security best practice (697ed3bf)
- allow different slugs (4494728c)
- π remove sort again (fd3bc605)
- β‘οΈ update hook (f65d2162)
- add reverse of recent to getSortedTopics (05f22361)
- allow exists methods to work with arrays and single id (285aa365)
- pass all data to filter:category.get (d16b45fd)
- add action:posts.loaded (dbb59228)
- β± rescheduling (editing ST) (#9445) (aa0137b1)
- β¬οΈ upgrade sharp (#9442) (f7f46e7c)
- optional urlMethod param for loginStrategies (9e1f72a4)
- add hooks to language loading (#9426) (344575dd)
- doggy.gif (b06f0ea2)
- allow adding sorted-list items from forms outside of modal (a3e95e79)
- β± scheduled topics (#9399) (077330b7)
- show link if category is a link (a94d9651)
- make info page full width (dd12c83f)
- allow optional fields argument on db.getObject(s) (#9385) (4327a09d)
- closes #9380, add category filtering and topic tools to tag page (668508cc)
- π allow sync function (#9379) (34b9aaed)
- allow filter functions that return promises or the data directly (e6c52cf2)
- add resolve flag to post tools (52082e12)
- βͺ hide revert button in ACP > Privileges until privileges change (4cbd13fd)
- β± bring back static hook timeout (46270f9f)
- β¬οΈ upgrade connect-mongo, closes https://github.com/NodeBB/NodeBB/pull/9367 (3c60ccfd)
- pass interstital errors to individual partials as well as to registerComplete (f71cb0e4)
- π add filter:plugins.firehook (5eb3132d)
- 0οΈβ£ copy default favicon if it doesn't exist (754283d3)
- π add missing translation keys (17184bfa)
- allow missing (or non-array) middlewares argument in route helper methods (4b545085)
- pass modified params, only affects filter hooks (e74df539)
- add back topic id input (696c4895)
- expose username validation logic to user lib, new hook
filter:username.check
(bfd512b9) - add $.deserialize to client side (e5133a78)
- allow for settings.save/settings.load on client side (66196d2c)
- π remove promise-pollyfil (902a88c2)
- category privilege API routes (c1b3079d)
- β‘οΈ change uploadCroppedPicture to use updateProfile as well (0af9d26f)
- β‘οΈ use updateProfile for picture change (a598abcd)
- β allow payload to be passed to emailer test method (1155b0c4)
- add uid of user who created flag to action:flags.create (069ac60f)
- π new client-side hook
filter:api.options
to allow plugins to modify api requests (7d391d47) - keep notifs for one month, load 50 notifications instead of 30 (02f08111)
- also pass in uid to
filter:email.prepare
(86b0c57d) - new hook
filter:email.prepare
(27ea3dcb) - new hook static:email.send (bf90d158)
- β¬οΈ show time info for upgrade scripts (14a6c349)
- add dashboard sub-pages to ACP menu (73dc64d9)
- recent logins sessions table in dashbaord subpage (2f89b0d7)
- topics dashboard details subpage (e1ed514b)
- β‘οΈ update user list in dashboard/users on graph update (c57c7703)
- show list of recent users in dashboard/users (cc938224)
- π req.query parsing and dynamically loading data instead (6fdcae73)
- new hooks for notifications get/getCount (079a13d4)
- allow hook unregistration, and temporary page-based hooks (d0136074)
- π report login statistics from analytics data, instead of its own zset (16d3c457)
- track login sessions for admin dashboard reporting (9a9f366d)
- π track successful logins in analytics (504fd107)
- pass user picture object into change_picture_modal (c96fd3b1)
- add logout to invalid session (beb14273)
- β category search test (a592ebd1)
- pass post object to filter:post.tools (ed3d9dcb)
- allow defining a list of system tags (0e07f3c9)
- β add category search test, #9307 (bbaaead0)
- add tag filter to getSortedTopics (9ce6f8ad)
- ability to re-order topic thumbnails (7223074f)
- add close button to topic thumbnail modal (db027170)
- #9304, add category/topic/username to post queue notification emails (0738dae8)
- β add failing test for list append/prepend with list (#9303) (8f0386d9)
- link to post-queue from topic event (a4b4a556)
- post-queue topic event (8fd78ce5)
- add post-queue cache (3f35fd33)
- newsletter opt-in/out in UCP, closes #21 (3c7cd9a6)
- load user posts/topics via xhr on infinitescroll (35954734)
- #9294, put new categories at top (4b2bf12f)
- add invalid event name to error message (670cde78)
- new notifications load/loaded hooks on client side (7edc8f45)
- π pass req.session into buildReqObject (a6fa351b)
- new hook
action:login.continue
(4f976390) - banned-users group (53e0d4d2)
- #9109, ability to delete a post's diffs (eb642f40)
- add .delete() method to api module (501441b7)
- doc add description (cc560ca3)
- add doc for query param (ed11e171)
- #9234, add pagination to /api/recent/posts/:term? (fffdc4e0)
- allow sorted-lists on multiple pages (d5d24594)
- #9232, add profile picture into exported zip (f6cd2862)
- π new hook
filter:login.override
, deprecateaction:auth.overrideLogin
(b820d234) - π guard password fields in login/register against accidental caps lock (4bb3b032)
- ability to search categories, #8813 (34c42c6f)
- βͺ restore action:script.load, allow modifying loaded module via static:script.init (05be1c66)
- async/await redis connection (fdfbc902)
- async/await psql connection (33bf1b0e)
- add group name to csv event (672959c1)
- π user: icon background selector in change picture modal (95502124)
- remountable-routes:
- allow category and account routes to be remounted (9021f071)
- allow /admin and /post to be remountable (f01af62b)
- topic-events:
- topic events GET route in write API (dc84559d)
- server-side tests for topic events (449c379d)
- clear out topic events when a topic is purged (0d4a3775)
- client-side handling on topic event log (8e93bf73)
- handle newest_to_oldest sort in topic events, WIP (882e6a15)
- generic css for timeline-event (2293a07a)
- support for uids in topic event payloads (611d1f87)
- work in progress topic events logic and client-side implementation (ab2e1ecb)
- hooks:
- update action:ajaxify.end to use new hooks module (1d775721)
- client-side hooks module (01c9b184)
π Bug Fixes
- Ⱡregress. rescheduling shouldn't add to sets that pinning removed⦠(#9477) (8b79c7f1)
- logic is hard (4dd38446)
- run in series (bc0ca61c)
- wrong variable for cache (2e9efc0e)
- accidentally committed this (13fa983e)
- β tests (eb240c90)
- π eslint (fa0c92a7)
- use req.ip instead, since guests can upload as well (ea22cd30)
- #9492, keep query params on redirect (36f119a9)
- stripTags for editing sorted list items as well (93598982)
- #9487, session data gathered during a session is lost upon login (1fee6a70)
- β failure on session reroll π£ test (f4c5050a)
- registration interstitials not handling promise rejections properly (e845c34b)
- stripHTMLTags for sorted list entries (75073c0e)
- βͺ restore original behavior for up/downvoting when logged out (e50408b4)
- let recent replies respect oldest/newest sort settings (60eed8d8)
- #9483, fix events count display (6907837f)
- escape flag reason (161081e9)
- π copy change on plugin activate to instruct admins to rebuild as well as restart (95d5359c)
- β‘οΈ updateCategoryTagsCount (2dc3283f)
- #9473 (#9476) (036f935f)
- #9474, load hooks on page load (1af34b43)
- spec (d09cdc04)
- π§ #9466, don't call leaveRoom in maintenance mode (f32ea173)
- exempt ST from being del/res via last main posts (#9468) (a0dd9080)
- 0οΈβ£ #9462, on install copy default favicon (784600d9)
- #9463 (c5ae8a70)
- #9465 (4041e786)
- #9450 express session saved even if saveUninitialized explicitly passed in (9c52fd2e)
- acp crash (cb53a64c)
- #9447, include query params in previousUrl (536591f8)
- β‘οΈ thumb count not updated when uploading multiple thumbs at a time (1ad1787e)
- change email button stays disabled if user submitted an invalid email (01f63e5d)
- use app.logout() to clear session after deleting user (cfdef77b)
- ./nodebb help with commander@7 (#9434) (2a03012e)
- hide titleRaw for deleted topics as well (edf80cfb)
- #9410, fix post queue (c5dda64f)
- privilege tables (9052db93)
- #9420, paginate after loading notifications (67b09cba)
- hooks for alert animate, no more fadein/fadeout for reconnect alert (d9e20290)
- #9414, use posts:view_deleted (e42b152f)
- preserve order when changing parent (2ceda70a)
- #9411 (3c4e93a3)
- #9412 (cef58d1d)
- β‘οΈ #9406, update flag post tools (93c595d9)
- typo in switch..case (d8ff9851)
- #9404, show signatures if the target user has signature privilege (801570e4)
- selector (ee69c1f8)
- sorting when filtering by uid (75553b24)
- allow local (and overridden) login strategies to pass Error objects back (98b72ca5)
- category search not using uid (6aa60b63)
- inf scroll with subfolder install (262e059f)
- flicker on dashboard (2041b808)
- #9398, crash on post flag (90d64fe1)
- #9395, pass all data from client to Topics.reply (#9396) (a8f7b244)
- π lint (4ac38ab2)
- #9394, fix guest handles (eb360351)
- #9387, don't try to load undefined images (03e30634)
- #9389, allow admins to add themselves to private groups (5c59354c)
- π #9386, add missing translation string (482641e3)
- #9383, don't show deleted topic titles in inf scroll (e789fe8d)
- #9378, crash on verifyToken if API Token settings not saved (null case error) (cc489708)
- closes #9382, fix digest topic links (35700d16)
- spec (1e1127bd)
- regression from filter hook change (53f67ff3)
- crash if unreadTopics is undefined (617f4730)
- dont crash if login el doesnt exist (f45c0aab)
- regression via c1b3079d93fb4c49ba62a4be5279b7bff8e5a54d (2a939aad)
- β‘οΈ change notification updateCount to use client-side hooks (84725130)
- β tests (39b0e0fb)
- #9370, show correct teaser index if sorting is newest to oldest (9382fc6d)
- don't copy if src doesn't exist (ebccc794)
- #9362 best not to check file exists on every page load; copying favicon to uploads/system folder instead (771a8955)
- #9362 (ad565495)
- regression where login redirect for admin routes didn't go to local=1 (678e8f0f)
- π lint (f4f61b92)
- if no in passed use "titles" to match header search (e787e6ea)
- add back middleware.authenticateOrGuest (166d65a1)
- request authentication called twice in account routes (e3b2c00d)
- #9354, don't close quicksearch results if mouse is down on them (8a4c361e)
- π² #9339, only log email errors once per digest, notification push (3aa26c4d)
- winston.info (3f42d40c)
- #9351 bad logic when inserting rows to privilege tables, also a missing tfoot :foot: (c5e25788)
- π app.parseAndTranslate to always return promise (c2650169)
- bug where fallback window trigger was not firing if there were no hook listeners attached (1e579428)
- bad assignment (c8b78654)
- #9348 incorrect redirect via connect-ensure-login (fbe9215b)
- bug where loginSeconds setting was ignored for local login (f806befd)
- π remove old dep (b58bacaf)
- notif pruning (2737f653)
- β notification prune test (ca817631)
- user icon text overflow in some cases (2b7d0b5a)
- use components for toggleNavbar instead (114e3a1e)
- allow interstitial callbacks to be functional (no cb required) (9bf94ad5)
- don't publish before pubClient is connected (cdf5d18f)
- π remove unused async (48f1e265)
- π in setupPageRoute helper, buildHeader after plugin hooks have fired (984c9dd9)
- β‘οΈ timeago missing on table update (655e2c67)
- wrong qs param, allow string to be passed to util.getDaysArray (f8e1a74c)
- wrong call to sortedSetAdd (dbe5f702)
- session not persisting to database in some scenarios (020f0b83)
- allow hidden inputs in user settings page (beaac0a1)
- π use root context if buildAvatar context is undefined (b4c0b32b)
- use bootbox module (fa91525a)
- #9307, use _.flatten (25c8f026)
- π awaiting res.render in send404 controller > > A plugin wanted to use
response:rotuer.page
to 404 a specific page on some condition. res.render returns early in send404 and so must be awaited otherwise multiple responses will be sent (2fef4627) - do not overwrite
config.port
from URL, if it's already set (34096b73) - switch back to getSortedSetRange (8686fbfa)
- settings v3 (91734a64)
- β another topic thumb test fix (782bef5e)
- β thumbs.associate logic fix + tests (7ebb6d30)
- β missing awaits, possible test fix (7665adf7)
- #9301, dont call sitemapstream if there are no entries in categories/pages/topics.xml (9a6cf3d9)
- properly incase its the same path (807b0d43)
- numThumbs count on associate (76bcc0c9)
- missing cache deletion calls for post-queue cache (1490b32d)
- π use of removed URL to get post data (36e8d251)
- init topic events from webserver.js (b81508c4)
- check null topics (b753c69c)
- guard against null topics (58cd797e)
- β tests, new categories go to top now (fc90f32e)
- π #9292, messageobj.content already parsed (c953b1b3)
- clear category cache on copy parent (765db86d)
- delete category cache key on category create (ed3e9ce2)
- typo (c61cc37b)
- π² wait for event.log to finish before killing process (a5fa212f)
- β tests, only generate csrf_token on 404 gets (b6493f89)
- #9287, generate csrf_token on 404 (94f72d60)
- do not blindly escape a notification's bodyLong (783786cf)
- pass jquery object in to action:notifications.loaded hook (16610b2d)
- #9275, (0cca6893)
- don't use global bootbox obj (cfa0d423)
- π remove console.log (550cd995)
- π move service worker back to relative_path/service-worker.js (fca17cb7)
- spec (ab0ef442)
- markread selector (a4878a5b)
- position when scrolling up (3090a2ae)
- cache key collision (e40af441)
- β tests breakage due to 67e3fb64981fe2310b17515e1f18c32021a5e983 (5c21c33e)
- register returnTo logic to match login route (67e3fb64)
- β tests (492cbc62)
- π posts.uploads.sync dissociates uploaded thumbs of the main pid (f79aeef8)
- β‘οΈ update grammar on unban text (68da1c55)
- privileges page - tweak icon position and width, group name wrapping (c729adeb)
- π autofocus on search field in ACP > Manage > Plugins (4af9c2fc)
- β openapi test specs (cabec378)
- include admins (7c9674de)
- include admins, limit to category mods, correct privilege name (eaf9d2e4)
- β http 200 test for api routes (bd583963)
- invalid API call when unfollowing a user (58655e9a)
- example (833c73e8)
- π· #9127, scope service worker to relative_path for the forum (#9239) (2bc74cff)
- β‘οΈ update docs (4c12e0aa)
- β broken test after sorted-lists logic change (d6f60f45)
- clear all locks on restart (9834f72f)
-
action:admin.settingsLoaded
to use new hooks lib (5131eb6b) - crash on firing action hook that had no listeners registered (b0f5d5a5)
- bug where
action:settings.sorted-list.loaded
fired early (1a04ec64) - regression where
filter:settings.set
no longer received sorted-lists (a8be6fb8) - #9231, fix redis pubsub connection (5bc1f5b4)
- don't translate message on every ajaxify (a29dd21d)
- β tests (05c53394)
- improper override of req.body.username in login logic (74199220)
- full settings hash not passed through to action:settings.set (473d5f4a)
- #9223, don't overwrite stmp settings (a5bf9779)
- multiple sorted-lists do not save to the correct set (4029ec37)
- pass module name to
static:script.init
, +comments (f8bf9e99) - β‘οΈ handle delete and update for categories:name zset (e8429f50)
- π tests remove old routes (faeb6373)
- π removed object routes (d41ce873)
- π removed methods (647d3ba8)
- incorrect return for Thumbs.get() if thumbs were disabled (7b090c58)
- script failure if client-side page script does not exist (7da1b43f)
- bug where
action:ajaxify.end
was never called if there were no init scripts (faf59603) - β‘οΈ update js concatenation logic to bundle scripts.rjs into minfile regardless of build environment (8ff07bc1)
- π§ #7125, allow list for page route, configurable via plugin hook (f975063b)
- error on flag list if no flag filters were saved in session (942d9247)
- mod cid filter accidentally saved in session (35c92d0c)
- β more tests for #9217 (ce7c74b2)
- β tests for #9217 (f2a5cd0b)
- missing return for #9217 (27cae0d5)
- #9217, render 400 error page on bad access to /register (b2b1450e)
- β redis check compat tests (78896fc6)
- registration completion overriding returnTo if it was already set (a186ea0f)
- add missing user delete event types (5c1b7429)
- missing option for user-deleteAccount on ACP Events page (1c420602)
- deps:
- update dependency html-to-text to v7.1.1 (427e4f47)
- update dependency redis to v3.1.2 (35a4d0be)
- update dependency validator to v13.6.0 (e3d5d8d7)
- update dependency nodebb-plugin-composer-default to v6.5.27 (1b846271)
- update dependency redis to v3.1.1 (286a63e3)
- update dependency nodebb-theme-persona to v11.0.17 (51d58ce6)
- update dependency nodebb-theme-vanilla to v12.0.7 (16a1ba57)
- update dependency postcss to v8.2.10 (31cec2de)
- update dependency nodebb-plugin-mentions to v2.13.9 (fe087806)
- update dependency mongodb to v3.6.6 (#9467) (4264b236)
- update dependency sharp to v0.28.1 (34cbc9e2)
- update dependency nodebb-theme-persona to v11.0.16 (a8330b6d)
- update dependency nodebb-theme-vanilla to v12.0.6 (c02310b8)
- update dependency nodebb-theme-persona to v11.0.15 (316c71d7)
- update socket.io packages to v4.0.1 (e7776f8d)
- update dependency redis to v3.1.0 (fd9ff334)
- update dependency nodebb-plugin-composer-default to v6.5.26 (#9446) (8d9afbc6)
- update dependency postcss to v8.2.9 (6f51c460)
- update dependency nodebb-theme-persona to v11.0.14 (#9443) (fecfcd81)
- update dependency nodebb-theme-persona to v11.0.13 (#9437) (e5cc6e40)
- update dependency nodebb-theme-slick to v1.4.6 (dfdb0050)
- update dependency nodebb-theme-persona to v11.0.11 (27de58f2)
- update dependency benchpressjs to v2.4.3 (382f75bc)
- update dependency nodebb-plugin-composer-default to v6.5.25 (24236718)
- update dependency nodebb-theme-vanilla to v12.0.5 (89973d80)
- update dependency nodebb-plugin-composer-default to v6.5.24 (dec34446)
- update dependency nodebb-theme-persona to v11.0.10 (f78b4ba6)
- update dependency nodebb-plugin-composer-default to v6.5.23 (#9422) (e35d0741)
- update dependency nodebb-theme-persona to v11.0.8 (124cb9d9)
- update dependency benchpressjs to v2.4.2 (1dddcb49)
- update dependency nodebb-plugin-mentions to v2.13.8 (d511216c)
- update dependency connect-mongo to v4.4.1 (29ff5bb9)
- update dependency nodebb-theme-persona to v11.0.7 (c5734063)
- update dependency nodebb-theme-vanilla to v12.0.4 (#9409) (870e6c2c)
- update dependency nodebb-theme-slick to v1.4.5 (#9408) (24be8642)
- update dependency nodebb-theme-persona to v11.0.6 (#9407) (b50739c1)
- update dependency nodebb-plugin-spam-be-gone to v0.7.9 (#9405) (9359cae9)
- update dependency nodebb-theme-persona to v11.0.5 (47b2b97f)
- update dependency nodebb-plugin-composer-default to v6.5.21 (#9401) (2f70ac5a)
- update dependency mongodb to v3.6.5 (fcd887fd)
- update dependency nodebb-plugin-composer-default to v6.5.19 (#9391) (1631f159)
- update dependency nodebb-plugin-composer-default to v6.5.17 (#9384) (8d401760)
- update dependency nodebb-theme-persona to v11.0.3 (27facadb)
- update dependency socket.io-redis to v6.1.0 (adaddde6)
- update dependency nodebb-plugin-composer-default to v6.5.16 (a98e92b4)
- update dependency nodebb-plugin-markdown to v8.12.7 (#9371) (56b0bfd5)
- update dependency nodebb-theme-vanilla to v12.0.2 (#9369) (8923d34c)
- update dependency nodebb-theme-persona to v11.0.2 (#9368) (fa71c483)
- update socket.io packages to v4 (#9363) (13f3c504)
- update dependency postcss to v8.2.8 (680cf5ef)
- update dependency nodebb-theme-persona to v10.5.17 (2645bf55)
- update dependency connect-mongo to v4.3.1 (59459074)
- update dependency connect-mongo to v4.3.0 (f388086a)
- update dependency autoprefixer to v10.2.5 (4f4cdacc)
- update dependency postcss to v8.2.7 (72db3754)
- update dependency nodebb-plugin-composer-default to v6.5.13 (017af7cb)
- update dependency jquery to v3.6.0 (dd6082a0)
- update dependency connect-mongo to v4.2.2 (ec0912cc)
- update dependency nodebb-plugin-spam-be-gone to v0.7.8 (#9337) (536bae70)
- update dependency nodebb-plugin-composer-default to v6.5.12 (2674de01)
- update socket.io packages to v3.1.2 (510eb1f9)
- update dependency nodebb-theme-persona to v10.5.16 (217d3afd)
- update dependency nodebb-plugin-emoji-android to v2.0.5 (e8209341)
- update dependency sharp to v0.27.2 (c5231f10)
- update dependency nodebb-theme-vanilla to v11.4.5 (8596dcc4)
- update dependency nodebb-theme-persona to v10.5.15 (753ab0a0)
- update dependency nodebb-theme-persona to v10.5.14 (ed503b80)
- update dependency nodebb-theme-persona to v10.5.12 (ddd8fa31)
- update dependency benchpressjs to v2.4.1 (4ee3a8e8)
- update dependency nodebb-theme-persona to v10.5.10 (7f8fd4b0)
- update dependency nodebb-theme-persona to v10.5.9 (5dd748c6)
- require xregexp 5.0.1 (86e911ba)
- update dependency xregexp to v5 (513cd1c3)
- update dependency nodebb-theme-persona to v10.5.8 (54b4dc1d)
- update dependency postcss to v8.2.6 (4d92af5a)
- update dependency nodebb-theme-persona to v10.5.7 (#9288) (c2459fd5)
- update dependency nodebb-plugin-composer-default to v6.5.10 (b312725f)
- update dependency nodebb-theme-persona to v10.5.6 (4599144f)
- update dependency nodebb-widget-essentials to v5.0.3 (#9284) (eb9f058f)
- update dependency nodebb-plugin-composer-default to v6.5.9 (6e14014b)
- update dependency nodebb-plugin-composer-default to v6.5.8 (674a31d1)
- update dependency nodebb-theme-slick to v1.4.3 (#9278) (d3923585)
- update dependency nodebb-theme-vanilla to v11.4.4 (#9279) (1f28e8c3)
- update dependency nodebb-theme-persona to v10.5.5 (#9277) (a7b46adc)
- update dependency connect-redis to v5.1.0 (#9276) (83a0b6b8)
- update dependency nodebb-theme-persona to v10.5.4 (#9270) (dc145284)
- update dependency nodebb-theme-vanilla to v11.4.3 (#9272) (2fda6774)
- update dependency nodebb-theme-slick to v1.4.2 (2b12905d)
- update dependency nodebb-theme-lavender to v5.2.1 (fb2f1143)
- update dependency nodebb-theme-slick to v1.4.1 (#9262) (2cfab367)
- update socket.io packages to v3.1.1 (#9253) (2147d386)
- update dependency postcss to v8.2.5 (1fa0d4f4)
- update dependency nodebb-plugin-emoji-android to v2.0.1 (42e365d9)
- update dependency nodebb-plugin-markdown to v8.12.6 (4fd6027b)
- update dependency nodebb-plugin-mentions to v2.13.7 (8a2fe3d9)
- update dependency nodebb-theme-vanilla to v11.4.2 (2326e9a6)
- update dependency nodebb-theme-persona to v10.5.3 (9245ffaf)
- update dependency nodebb-plugin-dbsearch to v4.2.0 (389690c3)
- update dependency nodebb-plugin-composer-default to v6.5.7 (13e12c95)
- update dependency json2csv to v5.0.6 (0aa8e03f)
- bump theme deps for #9244 (44019e28)
- update dependency mongodb to v3.6.4 (56e4e56b)
- update dependency nodebb-theme-persona to v10.5.1 (04411449)
- update dependency nodebb-theme-vanilla to v11.4.0 (#9238) (897d29ec)
- update dependency nodebb-theme-slick to v1.4.0 (#9237) (8e2deab4)
- update dependency nodebb-theme-persona to v10.5.0 (#9236) (4f842a79)
- update dependency nodebb-theme-lavender to v5.2.0 (47fd1634)
- update dependency nodebb-plugin-dbsearch to v4.1.3 (1e10ebfb)
- update dependency nodebb-plugin-composer-default to v6.5.6 (0e2b329b)
- update dependency autoprefixer to v10.2.4 (6c3b1fde)
- update dependency nodebb-plugin-markdown to v8.12.5 (05901fcd)
- update dependency nodebb-theme-persona to v10.4.1 (a9b3fb37)
- update dependency sharp to v0.27.1 (a90773a6)
- bump persona to get timeline style (ca14c0e2)
- update dependency postcss to v8.2.4 (5b2f0be0)
- update dependency autoprefixer to v10.2.3 (d99cb1cf)
- update dependency postcss-clean to v1.2.0 (4232d97b)
- #9315: api v3 post, put, del JSON (0d59fe3d)
- remountable-routes:
- more fixes to remountable routes (9d17f397)
- bug with user routes remounting to itself (bc68e990)
- #9252: pass site domain to nodemailer (#9254) (5e5d37c3)
- topic-events:
- topicEvents.init() test (aa8b84bb)
- repeated invocations of Posts.addTopicEvents caused dupes to be added to DOM (df2fdd56)
- hooks:
- bug where hook firing would fail if there were no listeners (efff8e2a)
- fallback handling for core invocations of hooks.fire (412d2858)
Other Changes
- π schema docs for new ACP dashboard subpage routes (0804d547)
π Performance Improvements
- increase batch size for notifs, run parallel (728ac5ff)
- β¬οΈ faster category tags upgrade script (0dad568c)
- use setObjectBulk (95033ef7)
- β¬οΈ make upgrade script faster (a07509f7)
- β¬οΈ make upgrade script faster (0959b124)
- cache base_url (cf4002bc)
- single call to get digest topics, dont send duplicate topics (5ce28207)
- single db call to add all uids (90d5c9da)
- make digests a little bit faster (0185ea1b)
- only load thumbs for topics that actually have thumbs (7eebcbdb)
π¨ Refactors
- make debug handler async (1db8920b)
- widgets (#9471) (397baf02)
- π style, no need to convert length to string (d00268c9)
- π deprecate action:script.load, use filter:script.load instead (d1685600)
- π remove uncessary check (f316c4d4)
- π remove async.each/reduce from hooks for better stack traces (d05d7091)
- use hooks.fire (0d3979ef)
- fix variable name (1982edfd)
- account edit logic and template, closes #9364 (98bf4064)
- automatically authenticate all requests setup through route helpers (#9357) (7da061f0)
- β async listen testSocket (0021c601)
- π remove startsWith/endsWith (48bc23c0)
- π app.parseAndTranslate to return promise if no callback passed (b5a6a314)
- privileges, export modules directly (#9325) (293b7c26)
- β‘οΈ have Graph.init and Graph.update return promises (3fa2e3ce)
- π abstract out some client side dashboard code into modules, analytics subpages for users, topics, and logins (f561799f)
- π move picture change client-side logic to its own rjs module (28f6931e)
- π remove dupe code (5286f208)
- thumbs.associate accepts both relative path and url in path arg (3e6640ef)
- π move post queue retrival code to posts.getQueuedPosts (36f20211)
- call topic events init from within file itself (6074a0fb)
- improvements (970bd06f)
- β‘οΈ update dom after diff deletion better (a2a7557c)
- π removed 3 lines (4447a64e)
- use Map to track sorted lists in Settings.set() (65de2e76)
- π user: all plugins to change list of icon background colours (fbccf6e2)
- remountable-routes:
- rename
src/routes/accounts.js
tosrc/routes/user.js
to better match the route prefix (1f28713f) - allow certain route prefixes to be mounted elsewhere (92758ec5)
- rename
- topic-events:
- expose addTopicEvents method in topic posts lib (9559fad8)
- break out some logic in events.get into local modifyEvent method (cec3fc93)
- fire topic event logging in topics/tools instead, pass uid into payload (425eca14)
- hooks:
- deprecate
action:script.load
client-side hook (8e5687a4) - better error handling (e7bd038d)
- deprecate
βͺ Reverts
- βͺ revert tag sort (f9df6431)
- change toPid truthy (56523aa1)
- bring back backwards compat (a1c01446)
π Code Style Changes
- π eslint (b5ce8d25)
- remountable-routes: abstract removable routes code to a separate local fn (16c1d6e9)
β Tests
- π remove logs (435067aa)
- clear cache between runs, require middleware later in helpers (2ea468da)
- π² log (d15e2710)
- π remove equals (354e0a82)
- β test times (2f401d7d)
- π² log (80ef1082)
- β added test for session id reroll on login (a3a7ab3a)
- β add missing test (8ef38cb2)
- β double filter test (70a653d0)
- β admin/manage/users tests (0e67ab01)
- fix spec for topic thumbs (4c078084)
- added missing properties to topicObject (1d9ade4c)
- β added missing test file (b31f6dd2)
- β topic reordering tests (ad54b174)
- β additional tests for topic thumbs (50664487)
- β added more topic thumbnail tests (28b30134)
- β post diff deletion tests (72b050b4)
- π user: added additional tests for icon background colour (d3a9e76a)