github NodeBB/NodeBB v1.17.0

latest releases: v3.8.1, v3.8.0, v3.7.5...
3 years ago

Release build (minor) of NodeBB @ 2021-04-22T00:37:31.444Z

v1.17.0 (2021-04-22)

Breaking Changes
  • add additional flag hooks [breaking] (00a68a9)
  • remove deprecated User.emailConfirm [breaking] (fb84c78)
  • remove deprecated plugin hook filter:privileges:isUserAllowedTo [breaking] (5a775e0)
  • remove deprecated plugin hook methods [breaking] (d41de48)
  • more removals of thumb specific backwards-compatibility [breaking] (cc0d562)
  • remove deprecated filter:admin/header.build hook [breaking] (5f9f241)
  • remove deprecated v2 style responses for thumbs upload route [breaking] (84dfdfe)
  • remove deprecated getObject routes [breaking] (2ad0d0d)
  • remove 'filters' and 'categories' from flag details API return [breaking] (8b72479)
  • filtering logic of flags [breaking] (1603566)
  • feature flag for auto-resolving a user's flags on ban [breaking] (6b1c97d)
  • allow interstitial callbacks to be async functions [breaking] (280285c)
Chores
  • deps:
    • update dependency jsdom to v16.5.3 (0f249aa)
    • update dependency eslint to v7.24.0 (60c0c16)
    • update dependency husky to v6 (f155f32)
    • update commitlint monorepo to v12.1.1 (b4d0138)
    • update dependency jsdom to v16.5.2 (5e2e7a5)
    • update dependency eslint to v7.23.0 (d600cd9)
    • update dependency husky to v5.2.0 (77f551a)
    • update dependency jsdom to v16.5.1 (28ed579)
    • update dependency eslint to v7.22.0 (775c3b9)
    • update dependency mocha to v8.3.2 (3ce731d)
    • update dependency jsdom to v16.5.0 (fd926d6)
    • update dependency mocha to v8.3.1 (651c629)
    • update dependency husky to v5.1.3 (8791b44)
    • update dependency husky to v5.1.2 (5f061b9)
    • update commitlint monorepo to v12 (42f7cd5)
    • update dependency eslint to v7.21.0 (5951843)
    • update dependency husky to v5.1.1 (2551295)
    • update dependency husky to v5.1.0 (dc06fe2)
    • update dependency eslint to v7.20.0 (9ec0b2e)
    • update dependency mocha to v8.3.0 (73f0795)
    • update dependency husky to v5 (d89ccf2)
    • update dependency lint-staged to v10.5.4 (030ecff)
    • update dependency eslint to v7.19.0 (3696a19)
  • incrementing version number - v1.17.0-beta.5 (42c4f96)
  • fix indent (6406e52)
  • benchpress 2.4.1 (3403635)
  • remove log (a1ee1a2)
  • incrementing version number - v1.17.0-beta.4 (9199224)
  • bump composer-default (289bfc0)
  • up themes (d14ba1f)
  • remove node 10 (8d3ec23)
  • bump composer-default to 6.5.20 (33fbfdf)
  • incrementing version number - v1.17.0-beta.3 (6e8b1bb)
  • add multiparty dep (ef3ec96)
  • incrementing version number - v1.17.0-beta.2 (0c1945d)
  • incrementing version number - v1.17.0-beta.1 (31872aa)
  • bump composer (3095478)
  • bump deps (#9335) (b9fd2c8)
  • incrementing version number - v1.17.0-beta.0 (b61257e)
  • incrementing version number - v1.16.3-beta.0 (477157c)
  • extra console.log (1ae8dda)
  • up composer (1c9acef)
  • eslint max-len (cc9d6fd)
  • eslint no-restricted-syntax (5c2f0f0)
  • eslint prefer-rest-params, prefer-spread (115d19e)
  • eslint prefer-destructuring (23f212a)
  • eslint object-curly-newline (8d1462f)
  • eslint function-paren-newline (62869ba)
  • eslint no-var, vars-on-top (dab3b23)
  • eslint prefer-arrow-callback (b56d9e1)
  • eslint prefer-template (707b55b)
  • eslint import/newline-after-import (4ee0f14)
  • eslint no-script-url (9f6a682)
  • eslint no-bitwise (dad01e3)
  • eslint rules matching existing styles (58528d1)
  • fallbacks (74be1a5)
  • deprecation notices for plugins using plugin old hook methods (3052256)
  • add deprecation notice in comments for ajaxify.loadExtraScripts (8b09292)
  • incrementing version number - v1.16.2 (ea7f838)
  • update changelog for v1.16.2 (d3883d4)
Documentation Changes
  • fixed typo (e755067)
  • added comment re: #9305 (65c57c7)
  • update deprecation-removal version for plugin hook helper methods in 1.18.0 (15ba0ab)
New Features
  • lang strings (9b71b08)
  • rate limit file uploads (a9978fc)
  • filter flags by username #8489 (#9451) (8faa6e4)
  • roll session identifier on login, as security best practice (697ed3b)
  • allow different slugs (4494728)
  • remove sort again (fd3bc60)
  • update hook (f65d216)
  • add reverse of recent to getSortedTopics (05f2236)
  • allow exists methods to work with arrays and single id (285aa36)
  • pass all data to filter:category.get (d16b45f)
  • add action:posts.loaded (dbb5922)
  • rescheduling (editing ST) (#9445) (aa0137b)
  • upgrade sharp (#9442) (f7f46e7)
  • optional urlMethod param for loginStrategies (9e1f72a)
  • add hooks to language loading (#9426) (344575d)
  • doggy.gif (b06f0ea)
  • allow adding sorted-list items from forms outside of modal (a3e95e7)
  • scheduled topics (#9399) (077330b)
  • show link if category is a link (a94d965)
  • make info page full width (dd12c83)
  • allow optional fields argument on db.getObject(s) (#9385) (4327a09)
  • closes #9380, add category filtering and topic tools to tag page (668508c)
  • allow sync function (#9379) (34b9aae)
  • allow filter functions that return promises or the data directly (e6c52cf)
  • add resolve flag to post tools (52082e1)
  • hide revert button in ACP > Privileges until privileges change (4cbd13f)
  • bring back static hook timeout (46270f9)
  • upgrade connect-mongo, closes #9367 (3c60ccf)
  • pass interstital errors to individual partials as well as to registerComplete (f71cb0e)
  • add filter:plugins.firehook (5eb3132)
  • copy default favicon if it doesn't exist (754283d)
  • add missing translation keys (17184bf)
  • allow missing (or non-array) middlewares argument in route helper methods (4b54508)
  • pass modified params, only affects filter hooks (e74df53)
  • add back topic id input (696c489)
  • expose username validation logic to user lib, new hook filter:username.check (bfd512b)
  • add $.deserialize to client side (e5133a7)
  • allow for settings.save/settings.load on client side (66196d2)
  • remove promise-pollyfil (902a88c)
  • category privilege API routes (c1b3079d)
  • change uploadCroppedPicture to use updateProfile as well (0af9d26)
  • use updateProfile for picture change (a598abc)
  • allow payload to be passed to emailer test method (1155b0c)
  • add uid of user who created flag to action:flags.create (069ac60)
  • new client-side hook filter:api.options to allow plugins to modify api requests (7d391d4)
  • keep notifs for one month, load 50 notifications instead of 30 (02f0811)
  • also pass in uid to filter:email.prepare (86b0c57)
  • new hook filter:email.prepare (27ea3dc)
  • new hook static:email.send (bf90d15)
  • show time info for upgrade scripts (14a6c34)
  • add dashboard sub-pages to ACP menu (73dc64d)
  • recent logins sessions table in dashbaord subpage (2f89b0d)
  • topics dashboard details subpage (e1ed514)
  • update user list in dashboard/users on graph update (c57c770)
  • show list of recent users in dashboard/users (cc93822)
  • req.query parsing and dynamically loading data instead (6fdcae7)
  • new hooks for notifications get/getCount (079a13d)
  • allow hook unregistration, and temporary page-based hooks (d013607)
  • report login statistics from analytics data, instead of its own zset (16d3c45)
  • track login sessions for admin dashboard reporting (9a9f366)
  • track successful logins in analytics (504fd10)
  • pass user picture object into change_picture_modal (c96fd3b)
  • add logout to invalid session (beb1427)
  • category search test (a592ebd)
  • pass post object to filter:post.tools (ed3d9dc)
  • allow defining a list of system tags (0e07f3c)
  • add category search test, #9307 (bbaaead)
  • add tag filter to getSortedTopics (9ce6f8a)
  • ability to re-order topic thumbnails (7223074)
  • add close button to topic thumbnail modal (db02717)
  • #9304, add category/topic/username to post queue notification emails (0738dae)
  • add failing test for list append/prepend with list (#9303) (8f0386d)
  • link to post-queue from topic event (a4b4a55)
  • post-queue topic event (8fd78ce)
  • add post-queue cache (3f35fd3)
  • newsletter opt-in/out in UCP, closes #21 (3c7cd9a)
  • load user posts/topics via xhr on infinitescroll (3595473)
  • #9294, put new categories at top (4b2bf12)
  • add invalid event name to error message (670cde7)
  • new notifications load/loaded hooks on client side (7edc8f4)
  • pass req.session into buildReqObject (a6fa351)
  • new hook action:login.continue (4f97639)
  • banned-users group (53e0d4d)
  • #9109, ability to delete a post's diffs (eb642f4)
  • add .delete() method to api module (501441b)
  • doc add description (cc560ca)
  • add doc for query param (ed11e17)
  • #9234, add pagination to /api/recent/posts/:term? (fffdc4e)
  • allow sorted-lists on multiple pages (d5d2459)
  • #9232, add profile picture into exported zip (f6cd286)
  • new hook filter:login.override, deprecate action:auth.overrideLogin (b820d23)
  • guard password fields in login/register against accidental caps lock (4bb3b03)
  • ability to search categories, #8813 (34c42c6)
  • restore action:script.load, allow modifying loaded module via static:script.init (05be1c6)
  • async/await redis connection (fdfbc90)
  • async/await psql connection (33bf1b0)
  • add group name to csv event (672959c)
  • user: icon background selector in change picture modal (9550212)
  • remountable-routes:
    • allow category and account routes to be remounted (9021f07)
    • allow /admin and /post to be remountable (f01af62)
  • topic-events:
    • topic events GET route in write API (dc84559)
    • server-side tests for topic events (449c379)
    • clear out topic events when a topic is purged (0d4a377)
    • client-side handling on topic event log (8e93bf7)
    • handle newest_to_oldest sort in topic events, WIP (882e6a1)
    • generic css for timeline-event (2293a07)
    • support for uids in topic event payloads (611d1f8)
    • work in progress topic events logic and client-side implementation (ab2e1ec)
  • hooks:
    • update action:ajaxify.end to use new hooks module (1d77572)
    • client-side hooks module (01c9b18)
Bug Fixes
  • regress. rescheduling shouldn't add to sets that pinning removed… (#9477) (8b79c7f)
  • logic is hard (4dd3844)
  • run in series (bc0ca61)
  • wrong variable for cache (2e9efc0)
  • accidentally committed this (13fa983)
  • tests (eb240c9)
  • eslint (fa0c92a)
  • use req.ip instead, since guests can upload as well (ea22cd3)
  • #9492, keep query params on redirect (36f119a)
  • stripTags for editing sorted list items as well (9359898)
  • #9487, session data gathered during a session is lost upon login (1fee6a7)
  • failure on session reroll 🍣 test (f4c5050)
  • registration interstitials not handling promise rejections properly (e845c34)
  • stripHTMLTags for sorted list entries (75073c0)
  • restore original behavior for up/downvoting when logged out (e50408b)
  • let recent replies respect oldest/newest sort settings (60eed8d)
  • #9483, fix events count display (6907837)
  • escape flag reason (161081e)
  • copy change on plugin activate to instruct admins to rebuild as well as restart (95d5359)
  • updateCategoryTagsCount (2dc3283)
  • #9473 (#9476) (036f935)
  • #9474, load hooks on page load (1af34b4)
  • spec (d09cdc0)
  • #9466, don't call leaveRoom in maintenance mode (f32ea17)
  • exempt ST from being del/res via last main posts (#9468) (a0dd908)
  • #9462, on install copy default favicon (784600d)
  • #9463 (c5ae8a7)
  • #9465 (4041e78)
  • #9450 express session saved even if saveUninitialized explicitly passed in (9c52fd2)
  • acp crash (cb53a64)
  • #9447, include query params in previousUrl (536591f)
  • thumb count not updated when uploading multiple thumbs at a time (1ad1787)
  • change email button stays disabled if user submitted an invalid email (01f63e5)
  • use app.logout() to clear session after deleting user (cfdef77)
  • ./nodebb help with commander@7 (#9434) (2a03012)
  • hide titleRaw for deleted topics as well (edf80cf)
  • #9410, fix post queue (c5dda64)
  • privilege tables (9052db9)
  • #9420, paginate after loading notifications (67b09cb)
  • hooks for alert animate, no more fadein/fadeout for reconnect alert (d9e2029)
  • #9414, use posts:view_deleted (e42b152)
  • preserve order when changing parent (2ceda70)
  • #9411 (3c4e93a)
  • #9412 (cef58d1)
  • #9406, update flag post tools (93c595d)
  • typo in switch..case (d8ff985)
  • #9404, show signatures if the target user has signature privilege (801570e)
  • selector (ee69c1f)
  • sorting when filtering by uid (75553b2)
  • allow local (and overridden) login strategies to pass Error objects back (98b72ca)
  • category search not using uid (6aa60b6)
  • inf scroll with subfolder install (262e059)
  • flicker on dashboard (2041b80)
  • #9398, crash on post flag (90d64fe)
  • #9395, pass all data from client to Topics.reply (#9396) (a8f7b24)
  • lint (4ac38ab)
  • #9394, fix guest handles (eb36035)
  • #9387, don't try to load undefined images (03e3063)
  • #9389, allow admins to add themselves to private groups (5c59354)
  • #9386, add missing translation string (482641e)
  • #9383, don't show deleted topic titles in inf scroll (e789fe8)
  • #9378, crash on verifyToken if API Token settings not saved (null case error) (cc48970)
  • closes #9382, fix digest topic links (35700d1)
  • spec (1e1127b)
  • regression from filter hook change (53f67ff)
  • crash if unreadTopics is undefined (617f473)
  • dont crash if login el doesnt exist (f45c0aa)
  • regression via c1b3079 (2a939aa)
  • change notification updateCount to use client-side hooks (8472513)
  • tests (39b0e0f)
  • #9370, show correct teaser index if sorting is newest to oldest (9382fc6)
  • don't copy if src doesn't exist (ebccc79)
  • #9362 best not to check file exists on every page load; copying favicon to uploads/system folder instead (771a895)
  • #9362 (ad56549)
  • regression where login redirect for admin routes didn't go to local=1 (678e8f0)
  • lint (f4f61b9)
  • if no in passed use "titles" to match header search (e787e6e)
  • add back middleware.authenticateOrGuest (166d65a)
  • request authentication called twice in account routes (e3b2c00)
  • #9354, don't close quicksearch results if mouse is down on them (8a4c361)
  • #9339, only log email errors once per digest, notification push (3aa26c4)
  • winston.info (3f42d40)
  • #9351 bad logic when inserting rows to privilege tables, also a missing tfoot 🦶 (c5e2578)
  • app.parseAndTranslate to always return promise (c265016)
  • bug where fallback window trigger was not firing if there were no hook listeners attached (1e57942)
  • bad assignment (c8b7865)
  • #9348 incorrect redirect via connect-ensure-login (fbe9215)
  • bug where loginSeconds setting was ignored for local login (f806bef)
  • remove old dep (b58baca)
  • notif pruning (2737f65)
  • notification prune test (ca81763)
  • user icon text overflow in some cases (2b7d0b5)
  • use components for toggleNavbar instead (114e3a1)
  • allow interstitial callbacks to be functional (no cb required) (9bf94ad)
  • don't publish before pubClient is connected (cdf5d18)
  • remove unused async (48f1e26)
  • in setupPageRoute helper, buildHeader after plugin hooks have fired (984c9dd)
  • timeago missing on table update (655e2c6)
  • wrong qs param, allow string to be passed to util.getDaysArray (f8e1a74)
  • wrong call to sortedSetAdd (dbe5f70)
  • session not persisting to database in some scenarios (020f0b8)
  • allow hidden inputs in user settings page (beaac0a)
  • use root context if buildAvatar context is undefined (b4c0b32)
  • use bootbox module (fa91525)
  • #9307, use _.flatten (25c8f02)
  • 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 (2fef462)
  • do not overwrite config.port from URL, if it's already set (34096b7)
  • switch back to getSortedSetRange (8686fbf)
  • settings v3 (91734a6)
  • another topic thumb test fix (782bef5)
  • thumbs.associate logic fix + tests (7ebb6d3)
  • missing awaits, possible test fix (7665adf)
  • #9301, dont call sitemapstream if there are no entries in categories/pages/topics.xml (9a6cf3d)
  • properly incase its the same path (807b0d4)
  • numThumbs count on associate (76bcc0c)
  • missing cache deletion calls for post-queue cache (1490b32)
  • use of removed URL to get post data (36e8d25)
  • init topic events from webserver.js (b81508c)
  • check null topics (b753c69)
  • guard against null topics (58cd797)
  • tests, new categories go to top now (fc90f32)
  • #9292, messageobj.content already parsed (c953b1b)
  • clear category cache on copy parent (765db86)
  • delete category cache key on category create (ed3e9ce)
  • typo (c61cc37)
  • wait for event.log to finish before killing process (a5fa212)
  • tests, only generate csrf_token on 404 gets (b6493f8)
  • #9287, generate csrf_token on 404 (94f72d6)
  • do not blindly escape a notification's bodyLong (783786c)
  • pass jquery object in to action:notifications.loaded hook (16610b2)
  • #9275, (0cca689)
  • don't use global bootbox obj (cfa0d42)
  • remove console.log (550cd99)
  • move service worker back to relative_path/service-worker.js (fca17cb)
  • spec (ab0ef44)
  • markread selector (a4878a5)
  • position when scrolling up (3090a2a)
  • cache key collision (e40af44)
  • tests breakage due to 67e3fb6 (5c21c33)
  • register returnTo logic to match login route (67e3fb6)
  • tests (492cbc6)
  • posts.uploads.sync dissociates uploaded thumbs of the main pid (f79aeef)
  • update grammar on unban text (68da1c5)
  • privileges page - tweak icon position and width, group name wrapping (c729ade)
  • autofocus on search field in ACP > Manage > Plugins (4af9c2f)
  • openapi test specs (cabec37)
  • include admins (7c9674d)
  • include admins, limit to category mods, correct privilege name (eaf9d2e)
  • http 200 test for api routes (bd58396)
  • invalid API call when unfollowing a user (58655e9)
  • example (833c73e)
  • #9127, scope service worker to relative_path for the forum (#9239) (2bc74cf)
  • update docs (4c12e0a)
  • broken test after sorted-lists logic change (d6f60f4)
  • clear all locks on restart (9834f72)
  • action:admin.settingsLoaded to use new hooks lib (5131eb6)
  • crash on firing action hook that had no listeners registered (b0f5d5a)
  • bug where action:settings.sorted-list.loaded fired early (1a04ec6)
  • regression where filter:settings.set no longer received sorted-lists (a8be6fb)
  • #9231, fix redis pubsub connection (5bc1f5b)
  • don't translate message on every ajaxify (a29dd21)
  • tests (05c5339)
  • improper override of req.body.username in login logic (7419922)
  • full settings hash not passed through to action:settings.set (473d5f4)
  • #9223, don't overwrite stmp settings (a5bf977)
  • multiple sorted-lists do not save to the correct set (4029ec3)
  • pass module name to static:script.init, +comments (f8bf9e9)
  • handle delete and update for categories:name zset (e8429f5)
  • tests remove old routes (faeb637)
  • removed object routes (d41ce87)
  • removed methods (647d3ba)
  • incorrect return for Thumbs.get() if thumbs were disabled (7b090c5)
  • script failure if client-side page script does not exist (7da1b43)
  • bug where action:ajaxify.end was never called if there were no init scripts (faf5960)
  • update js concatenation logic to bundle scripts.rjs into minfile regardless of build environment (8ff07bc)
  • #7125, allow list for page route, configurable via plugin hook (f975063)
  • error on flag list if no flag filters were saved in session (942d924)
  • mod cid filter accidentally saved in session (35c92d0)
  • more tests for #9217 (ce7c74b)
  • tests for #9217 (f2a5cd0)
  • missing return for #9217 (27cae0d)
  • #9217, render 400 error page on bad access to /register (b2b1450)
  • redis check compat tests (78896fc)
  • registration completion overriding returnTo if it was already set (a186ea0)
  • add missing user delete event types (5c1b742)
  • missing option for user-deleteAccount on ACP Events page (1c42060)
  • deps:
    • update dependency html-to-text to v7.1.1 (427e4f4)
    • update dependency redis to v3.1.2 (35a4d0b)
    • update dependency validator to v13.6.0 (e3d5d8d)
    • update dependency nodebb-plugin-composer-default to v6.5.27 (1b84627)
    • update dependency redis to v3.1.1 (286a63e)
    • update dependency nodebb-theme-persona to v11.0.17 (51d58ce)
    • update dependency nodebb-theme-vanilla to v12.0.7 (16a1ba5)
    • update dependency postcss to v8.2.10 (31cec2d)
    • update dependency nodebb-plugin-mentions to v2.13.9 (fe08780)
    • update dependency mongodb to v3.6.6 (#9467) (4264b23)
    • update dependency sharp to v0.28.1 (34cbc9e)
    • update dependency nodebb-theme-persona to v11.0.16 (a8330b6)
    • update dependency nodebb-theme-vanilla to v12.0.6 (c02310b)
    • update dependency nodebb-theme-persona to v11.0.15 (316c71d)
    • update socket.io packages to v4.0.1 (e7776f8)
    • update dependency redis to v3.1.0 (fd9ff33)
    • update dependency nodebb-plugin-composer-default to v6.5.26 (#9446) (8d9afbc)
    • update dependency postcss to v8.2.9 (6f51c46)
    • update dependency nodebb-theme-persona to v11.0.14 (#9443) (fecfcd8)
    • update dependency nodebb-theme-persona to v11.0.13 (#9437) (e5cc6e4)
    • update dependency nodebb-theme-slick to v1.4.6 (dfdb005)
    • update dependency nodebb-theme-persona to v11.0.11 (27de58f)
    • update dependency benchpressjs to v2.4.3 (382f75b)
    • update dependency nodebb-plugin-composer-default to v6.5.25 (2423671)
    • update dependency nodebb-theme-vanilla to v12.0.5 (89973d8)
    • update dependency nodebb-plugin-composer-default to v6.5.24 (dec3444)
    • update dependency nodebb-theme-persona to v11.0.10 (f78b4ba)
    • update dependency nodebb-plugin-composer-default to v6.5.23 (#9422) (e35d074)
    • update dependency nodebb-theme-persona to v11.0.8 (124cb9d)
    • update dependency benchpressjs to v2.4.2 (1dddcb4)
    • update dependency nodebb-plugin-mentions to v2.13.8 (d511216)
    • update dependency connect-mongo to v4.4.1 (29ff5bb)
    • update dependency nodebb-theme-persona to v11.0.7 (c573406)
    • update dependency nodebb-theme-vanilla to v12.0.4 (#9409) (870e6c2c)
    • update dependency nodebb-theme-slick to v1.4.5 (#9408) (24be864)
    • update dependency nodebb-theme-persona to v11.0.6 (#9407) (b50739c)
    • update dependency nodebb-plugin-spam-be-gone to v0.7.9 (#9405) (9359cae)
    • update dependency nodebb-theme-persona to v11.0.5 (47b2b97)
    • update dependency nodebb-plugin-composer-default to v6.5.21 (#9401) (2f70ac5)
    • update dependency mongodb to v3.6.5 (fcd887f)
    • update dependency nodebb-plugin-composer-default to v6.5.19 (#9391) (1631f15)
    • update dependency nodebb-plugin-composer-default to v6.5.17 (#9384) (8d40176)
    • update dependency nodebb-theme-persona to v11.0.3 (27facad)
    • update dependency socket.io-redis to v6.1.0 (adaddde)
    • update dependency nodebb-plugin-composer-default to v6.5.16 (a98e92b)
    • update dependency nodebb-plugin-markdown to v8.12.7 (#9371) (56b0bfd)
    • update dependency nodebb-theme-vanilla to v12.0.2 (#9369) (8923d34)
    • update dependency nodebb-theme-persona to v11.0.2 (#9368) (fa71c48)
    • update socket.io packages to v4 (#9363) (13f3c50)
    • update dependency postcss to v8.2.8 (680cf5e)
    • update dependency nodebb-theme-persona to v10.5.17 (2645bf5)
    • update dependency connect-mongo to v4.3.1 (5945907)
    • update dependency connect-mongo to v4.3.0 (f388086)
    • update dependency autoprefixer to v10.2.5 (4f4cdac)
    • update dependency postcss to v8.2.7 (72db375)
    • update dependency nodebb-plugin-composer-default to v6.5.13 (017af7c)
    • update dependency jquery to v3.6.0 (dd6082a)
    • update dependency connect-mongo to v4.2.2 (ec0912c)
    • update dependency nodebb-plugin-spam-be-gone to v0.7.8 (#9337) (536bae7)
    • update dependency nodebb-plugin-composer-default to v6.5.12 (2674de0)
    • update socket.io packages to v3.1.2 (510eb1f)
    • update dependency nodebb-theme-persona to v10.5.16 (217d3af)
    • update dependency nodebb-plugin-emoji-android to v2.0.5 (e820934)
    • update dependency sharp to v0.27.2 (c5231f1)
    • update dependency nodebb-theme-vanilla to v11.4.5 (8596dcc)
    • update dependency nodebb-theme-persona to v10.5.15 (753ab0a)
    • update dependency nodebb-theme-persona to v10.5.14 (ed503b8)
    • update dependency nodebb-theme-persona to v10.5.12 (ddd8fa3)
    • update dependency benchpressjs to v2.4.1 (4ee3a8e)
    • update dependency nodebb-theme-persona to v10.5.10 (7f8fd4b)
    • update dependency nodebb-theme-persona to v10.5.9 (5dd748c)
    • require xregexp 5.0.1 (86e911b)
    • update dependency xregexp to v5 (513cd1c)
    • update dependency nodebb-theme-persona to v10.5.8 (54b4dc1)
    • update dependency postcss to v8.2.6 (4d92af5)
    • update dependency nodebb-theme-persona to v10.5.7 (#9288) (c2459fd)
    • update dependency nodebb-plugin-composer-default to v6.5.10 (b312725)
    • update dependency nodebb-theme-persona to v10.5.6 (4599144)
    • update dependency nodebb-widget-essentials to v5.0.3 (#9284) (eb9f058)
    • update dependency nodebb-plugin-composer-default to v6.5.9 (6e14014)
    • update dependency nodebb-plugin-composer-default to v6.5.8 (674a31d)
    • update dependency nodebb-theme-slick to v1.4.3 (#9278) (d392358)
    • update dependency nodebb-theme-vanilla to v11.4.4 (#9279) (1f28e8c)
    • update dependency nodebb-theme-persona to v10.5.5 (#9277) (a7b46ad)
    • update dependency connect-redis to v5.1.0 (#9276) (83a0b6b)
    • update dependency nodebb-theme-persona to v10.5.4 (#9270) (dc14528)
    • update dependency nodebb-theme-vanilla to v11.4.3 (#9272) (2fda677)
    • update dependency nodebb-theme-slick to v1.4.2 (2b12905)
    • update dependency nodebb-theme-lavender to v5.2.1 (fb2f114)
    • update dependency nodebb-theme-slick to v1.4.1 (#9262) (2cfab36)
    • update socket.io packages to v3.1.1 (#9253) (2147d38)
    • update dependency postcss to v8.2.5 (1fa0d4f)
    • update dependency nodebb-plugin-emoji-android to v2.0.1 (42e365d)
    • update dependency nodebb-plugin-markdown to v8.12.6 (4fd6027)
    • update dependency nodebb-plugin-mentions to v2.13.7 (8a2fe3d)
    • update dependency nodebb-theme-vanilla to v11.4.2 (2326e9a)
    • update dependency nodebb-theme-persona to v10.5.3 (9245ffa)
    • update dependency nodebb-plugin-dbsearch to v4.2.0 (389690c)
    • update dependency nodebb-plugin-composer-default to v6.5.7 (13e12c9)
    • update dependency json2csv to v5.0.6 (0aa8e03)
    • bump theme deps for #9244 (44019e2)
    • update dependency mongodb to v3.6.4 (56e4e56)
    • update dependency nodebb-theme-persona to v10.5.1 (0441144)
    • update dependency nodebb-theme-vanilla to v11.4.0 (#9238) (897d29e)
    • update dependency nodebb-theme-slick to v1.4.0 (#9237) (8e2deab)
    • update dependency nodebb-theme-persona to v10.5.0 (#9236) (4f842a7)
    • update dependency nodebb-theme-lavender to v5.2.0 (47fd163)
    • update dependency nodebb-plugin-dbsearch to v4.1.3 (1e10ebf)
    • update dependency nodebb-plugin-composer-default to v6.5.6 (0e2b329)
    • update dependency autoprefixer to v10.2.4 (6c3b1fd)
    • update dependency nodebb-plugin-markdown to v8.12.5 (05901fc)
    • update dependency nodebb-theme-persona to v10.4.1 (a9b3fb3)
    • update dependency sharp to v0.27.1 (a90773a)
    • bump persona to get timeline style (ca14c0e)
    • update dependency postcss to v8.2.4 (5b2f0be)
    • update dependency autoprefixer to v10.2.3 (d99cb1c)
    • update dependency postcss-clean to v1.2.0 (4232d97)
  • #9315: api v3 post, put, del JSON (0d59fe3)
  • remountable-routes:
    • more fixes to remountable routes (9d17f39)
    • bug with user routes remounting to itself (bc68e99)
  • #9252: pass site domain to nodemailer (#9254) (5e5d37c)
  • topic-events:
    • topicEvents.init() test (aa8b84b)
    • repeated invocations of Posts.addTopicEvents caused dupes to be added to DOM (df2fdd5)
  • hooks:
    • bug where hook firing would fail if there were no listeners (efff8e2)
    • fallback handling for core invocations of hooks.fire (412d285)
Other Changes
  • schema docs for new ACP dashboard subpage routes (0804d54)
Performance Improvements
  • increase batch size for notifs, run parallel (728ac5f)
  • faster category tags upgrade script (0dad568)
  • use setObjectBulk (95033ef)
  • make upgrade script faster (a07509f)
  • make upgrade script faster (0959b12)
  • cache base_url (cf4002b)
  • single call to get digest topics, dont send duplicate topics (5ce2820)
  • single db call to add all uids (90d5c9d)
  • make digests a little bit faster (0185ea1)
  • only load thumbs for topics that actually have thumbs (7eebcbd)
Refactors
  • make debug handler async (1db8920)
  • widgets (#9471) (397baf0)
  • style, no need to convert length to string (d00268c)
  • deprecate action:script.load, use filter:script.load instead (d168560)
  • remove uncessary check (f316c4d)
  • remove async.each/reduce from hooks for better stack traces (d05d709)
  • use hooks.fire (0d3979e)
  • fix variable name (1982edf)
  • account edit logic and template, closes #9364 (98bf406)
  • automatically authenticate all requests setup through route helpers (#9357) (7da061f)
  • async listen testSocket (0021c60)
  • remove startsWith/endsWith (48bc23c)
  • app.parseAndTranslate to return promise if no callback passed (b5a6a31)
  • privileges, export modules directly (#9325) (293b7c2)
  • have Graph.init and Graph.update return promises (3fa2e3c)
  • abstract out some client side dashboard code into modules, analytics subpages for users, topics, and logins (f561799)
  • move picture change client-side logic to its own rjs module (28f6931)
  • remove dupe code (5286f20)
  • thumbs.associate accepts both relative path and url in path arg (3e6640e)
  • move post queue retrival code to posts.getQueuedPosts (36f2021)
  • call topic events init from within file itself (6074a0f)
  • improvements (970bd06)
  • update dom after diff deletion better (a2a7557)
  • removed 3 lines (4447a64)
  • use Map to track sorted lists in Settings.set() (65de2e7)
  • user: all plugins to change list of icon background colours (fbccf6e)
  • remountable-routes:
    • rename src/routes/accounts.js to src/routes/user.js to better match the route prefix (1f28713)
    • allow certain route prefixes to be mounted elsewhere (92758ec)
  • topic-events:
    • expose addTopicEvents method in topic posts lib (9559fad)
    • break out some logic in events.get into local modifyEvent method (cec3fc9)
    • fire topic event logging in topics/tools instead, pass uid into payload (425eca1)
  • hooks:
    • deprecate action:script.load client-side hook (8e5687a)
    • better error handling (e7bd038)
Reverts
Code Style Changes
  • eslint (b5ce8d2)
  • remountable-routes: abstract removable routes code to a separate local fn (16c1d6e)
Tests
  • remove logs (435067a)
  • clear cache between runs, require middleware later in helpers (2ea468d)
  • log (d15e271)
  • remove equals (354e0a8)
  • test times (2f401d7)
  • log (80ef108)
  • added test for session id reroll on login (a3a7ab3)
  • add missing test (8ef38cb)
  • double filter test (70a653d)
  • admin/manage/users tests (0e67ab0)
  • fix spec for topic thumbs (4c07808)
  • added missing properties to topicObject (1d9ade4)
  • added missing test file (b31f6dd)
  • topic reordering tests (ad54b17)
  • additional tests for topic thumbs (5066448)
  • added more topic thumbnail tests (28b3013)
  • post diff deletion tests (72b050b)
  • user: added additional tests for icon background colour (d3a9e76)

Don't miss a new NodeBB release

NewReleases is sending notifications on new releases.