Prerelease build of NodeBB @ 2021-02-19T19:43:25.102Z -- Not meant for production usage
v1.17.0-beta.0 (2021-02-19)
Breaking Changes
- 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
- 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)
- deps:
Documentation Changes
- added comment re: #9305 (65c57c7)
- update deprecation-removal version for plugin hook helper methods in 1.18.0 (15ba0ab)
New Features
- 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
, deprecateaction: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:
- 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:
Bug Fixes
- 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 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)
- remountable-routes:
- #9252: pass site domain to nodemailer (#9254) (5e5d37c)
- topic-events:
- hooks:
Performance Improvements
- 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
- 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:
- topic-events:
- hooks:
Reverts
- bring back backwards compat (a1c0144)
Code Style Changes
- remountable-routes: abstract removable routes code to a separate local fn (16c1d6e)
Tests
- user: added additional tests for icon background colour (d3a9e76)
- 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)