From 155f74e45ef48bdce52064a7c87f6c712eb0b387 Mon Sep 17 00:00:00 2001 From: "Misty (Bot)" Date: Wed, 4 Nov 2020 20:50:38 +0000 Subject: [PATCH] chore: update changelog for v1.15.0 --- CHANGELOG.md | 888 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 888 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index ae1a556498..d1b1e4d617 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,891 @@ +#### v1.15.0 (2020-11-04) + +##### Breaking Changes + +* remove toolsVisible in post tools' menu [breaking] (7e7366be) + +##### Chores + +* update changelog for v1.15.0-rc.5 (69f4d5ac) +* incrementing version number - v1.15.0-rc.5 (4bd2788b) +* add info log into tests (b6d86878) +* update renovate config to automatically merge non-major version bumps #yolo (1c8b8ce1) +* update changelog for v1.15.0-rc.4 (16882941) +* incrementing version number - v1.15.0-rc.4 (57b49320) +* update changelog for v1.15.0-rc.3 (2738041b) +* incrementing version number - v1.15.0-rc.3 (6de7760a) +* bump persona (e0b67817) +* update changelog for v1.15.0-rc.2 (c3a7ab54) +* incrementing version number - v1.15.0-rc.2 (7c084134) +* update changelog for v1.15.0-rc.1 (4f49b3da) +* incrementing version number - v1.15.0-rc.1 (943424b5) +* update changelog for v1.15.0-rc.0 (aab5f018) +* incrementing version number - v1.15.0-rc.0 (8d48455b) +* update changelog for v1.15.0-beta.30 (39648722) +* incrementing version number - v1.15.0-beta.30 (2dd3c962) +* some optimizations for codeclimate (4a63c20a) +* update changelog for v1.15.0-beta.29 (63696c40) +* incrementing version number - v1.15.0-beta.29 (fca176d2) +* refactor src/emailer.js (75459517) +* update changelog for v1.15.0-beta.28 (fd975a66) +* incrementing version number - v1.15.0-beta.28 (57f83162) +* update changelog for v1.15.0-beta.27 (70673824) +* incrementing version number - v1.15.0-beta.27 (78fad240) +* lint notifications.js (4fc84e9f) +* update changelog for v1.15.0-beta.26 (5e01d288) +* incrementing version number - v1.15.0-beta.26 (62c44095) +* up persona (ff8a833a) +* up persona (4a0f54ae) +* update changelog for v1.15.0-beta.25 (240a04b4) +* incrementing version number - v1.15.0-beta.25 (1124d4ee) +* up persona (032e6001) +* update changelog for v1.15.0-beta.24 (72ab5ba1) +* incrementing version number - v1.15.0-beta.24 (23ba071d) +* up persona (5407bf48) +* up persona (4c2eab4b) +* up persona (91133b0f) +* up persona (bcac0805) +* up persona (9dc4db1f) +* up persona (ba70a1bf) +* update changelog for v1.15.0-beta.23 (e6ea208c) +* incrementing version number - v1.15.0-beta.23 (61a04eb9) +* update changelog for v1.15.0-beta.22 (59ee74c2) +* incrementing version number - v1.15.0-beta.22 (9c9329ee) +* update changelog for v1.15.0-beta.21 (8089542e) +* incrementing version number - v1.15.0-beta.21 (966cdc13) +* update changelog for v1.15.0-beta.20 (1650f303) +* incrementing version number - v1.15.0-beta.20 (c8e57ec1) +* update changelog for v1.15.0-beta.19 (9cde5105) +* incrementing version number - v1.15.0-beta.19 (2eb7c284) +* update changelog for v1.15.0-beta.18 (b2ca9686) +* incrementing version number - v1.15.0-beta.18 (e096791e) +* update changelog for v1.15.0-beta.17 (d6178158) +* incrementing version number - v1.15.0-beta.17 (f1c28092) +* update changelog for v1.15.0-beta.16 (e08297ff) +* incrementing version number - v1.15.0-beta.16 (6043c9cb) +* update changelog for v1.15.0-beta.15 (f878b92c) +* incrementing version number - v1.15.0-beta.15 (10b94f9b) +* update changelog for v1.15.0-beta.14 (5e60d092) +* incrementing version number - v1.15.0-beta.14 (6ca4b86f) +* update commitlint config (61a8c6f0) +* update changelog for v1.15.0-beta.13 (ca8d492b) +* incrementing version number - v1.15.0-beta.13 (bdd71c51) +* update changelog for v1.15.0-beta.12 (0a242605) +* incrementing version number - v1.15.0-beta.12 (b852c9b7) +* update changelog for v1.15.0-beta.11 (f07ba866) +* incrementing version number - v1.15.0-beta.11 (c1ce7391) +* update changelog for v1.15.0-beta.10 (9c34eced) +* incrementing version number - v1.15.0-beta.10 (f252d4d7) +* update changelog for v1.15.0-beta.9 (affc7927) +* incrementing version number - v1.15.0-beta.9 (8dc513da) +* update changelog for v1.15.0-beta.8 (3b960c3b) +* incrementing version number - v1.15.0-beta.8 (34bb869c) +* update changelog for v1.15.0-beta.7 (e449ff9a) +* incrementing version number - v1.15.0-beta.7 (fd917b8e) +* update changelog for v1.15.0-beta.6 (a7f03b64) +* incrementing version number - v1.15.0-beta.6 (a9019cbe) +* update changelog for v1.15.0-beta.5 (0e90064e) +* incrementing version number - v1.15.0-beta.5 (81e4c4df) +* update changelog for v1.15.0-beta.4 (6c4aed8c) +* incrementing version number - v1.15.0-beta.4 (f2726a6d) +* update changelog for v1.15.0-beta.3 (11e2ccab) +* incrementing version number - v1.15.0-beta.3 (39178c2d) +* update changelog for v1.15.0-beta.2 (d8a9f1c3) +* incrementing version number - v1.15.0-beta.2 (59b50d0a) +* update changelog for v1.15.0-beta.1 (aeca19d5) +* incrementing version number - v1.15.0-beta.1 (4fa57fbb) +* incrementing version number - v1.15.0-beta.0 (bff80983) +* incrementing version number - v1.14.3-beta.16 (d9a05035) +* incrementing version number - v1.14.3-beta.15 (e2a253f2) +* incrementing version number - v1.14.3-beta.14 (9500871e) +* incrementing version number - v1.14.3-beta.13 (b5a2e4b6) +* incrementing version number - v1.14.3-beta.12 (f4c986a7) +* incrementing version number - v1.14.3-beta.11 (8618c32a) +* incrementing version number - v1.14.3-beta.10 (fa341714) +* incrementing version number - v1.14.3-beta.9 (9945c409) +* incrementing version number - v1.14.3-beta.8 (b5dcce9c) +* incrementing version number - v1.14.3-beta.7 (2531c44c) +* incrementing version number - v1.14.3-beta.6 (97088f68) +* incrementing version number - v1.14.3-beta.5 (a33a8a5a) +* incrementing version number - v1.14.3-beta.4 (55b3e376) +* incrementing version number - v1.14.3-beta.3 (5a5abf3c) +* incrementing version number - v1.14.3-beta.2 (bbab183f) +* incrementing version number - v1.14.3-beta.1 (2c06f6ac) +* incrementing version number - v1.14.3-beta.0 (3f87d5f9) +* update changelog for v1.14.2 (cd94c24a) +* incrementing version number - v1.14.2 (1e4d683f) +* update changelog for v1.14.2 (488e69fd) +* **deps:** + * update dependency mocha to v8.2.1 (35e725d1) + * update dependency lint-staged to v10.5.1 (2fa78e43) + * update dependency eslint to v7.12.1 (#8799) (224502d8) + * update dependency lint-staged to v10.5.0 (#8797) (1f2eca6a) + * update dependency eslint to v7.12.0 (#8791) (3108f628) + * update dependency lint-staged to v10.4.2 (#8773) (4bfd0087) + * update dependency eslint to v7.11.0 (#8747) (bb85c059) + * update dependency lint-staged to v10.4.1 (#8771) (08a240fa) + * update dependency mocha to v8.2.0 (#8772) (a471b1af) + * update dependency eslint-plugin-import to v2.22.1 (aacf8f22) + * update dependency eslint to v7.10.0 (#8687) (119ab719) + * update dependency lint-staged to v10.4.0 (2833624e) + * update dependency eslint to v7.9.0 (b1d781e8) + * update dependency eslint to v7.8.1 (#8597) (39110276) + * update dependency lint-staged to v10.3.0 (#8608) (dc1f1db9) + * update dependency mocha to v8.1.3 (#8588) (05efeff6) + * update dependency eslint to v7.8.0 (#8594) (e1b98142) + * update dependency lint-staged to v10.2.13 (efc30e97) + * update dependency mocha to v8.1.2 (#8579) (c722b0e5) + * update dependency grunt to v1.3.0 (df61d080) + * update commitlint monorepo to v9.1.2 (877cdfb9) + * update dependency eslint to v7.7.0 (#8564) (f1398da2) + * update dependency jsdom to v16.4.0 (#8554) (bb8f7c74) + * update dependency eslint-config-airbnb-base to v14.2.0 (#8396) (fde4f110) + * update dependency eslint-plugin-import to v2.22.0 (#8390) (788a8bfe) + * update dependency mocha to v8.1.1 (fe352eb1) + * update dependency eslint to v7.6.0 (#8540) (37418375) + * update dependency mocha to v8.1.0 (#8536) (72a78833) + * update dependency @apidevtools/swagger-parser to v10.0.1 (#8517) (8c498fa1) + * update dependency nyc to v15.1.0 (#8353) (c872bd8b) + * update dependency eslint to v7.5.0 (#8463) (b2be329c) + * update dependency jsdom to v16.3.0 (#8483) (82ada1bd) + * update dependency grunt to v1.2.1 (#8462) (b2dc6d60) + * update dependency @apidevtools/swagger-parser to v10 (9e2c3ce0) +* **writeapi:** cleanup (f6782471) + +##### New Features + +* add back error handling for a number of api calls (1afd2150) +* #8823, remove hardcoded write concern (a338f527) +* #8817, add login clientside hooks (715775a7) +* use github actions for ci (#8811) (eddf4a4f) +* allow mods/admins to see deleted posts on user profile (6e85920c) +* rearrange buttons on manage/users (27016d22) +* #8801, disable express compression by default (6ac73ccb) +* allow passing subset of user settings on update route (ec03af7a) +* wip, write api tests framework (b156b8b5) +* add filter:category.getFields (88a07e69) +* move postercount to topic hash (0db0231c) +* add free and total mem usage to info (a7b6d0df) +* new filter filter:teasers.configureStripTags (177a9610) +* send 'Vary' header when ACAO header set (d68ffea8) +* add filter.topics.getPostReplies (7a019494) +* topic reply to use api lib (also + missing file) (21974a77) +* send 401 for invalid-uid (ede9435f) +* async/await admin/search (c913900e) +* ignore test folder (2927509a) +* send back 403 on no-privileges error (14f9d8b0) +* refactor groups.delete (8ae1f81c) +* move groups.join to api (d69e503d) +* allow plugins to define api routes (9dd3cc04) +* require https if nodebb is configured with https url (a4ba2389) +* add nyc config (3326d80c) +* change user search to use filters array (a2edb86d) +* add filter (959314c9) +* require csrf token if not using bearer token (1e07886f) +* #8662, verified/unverified user groups (682e926c) +* more fixes (700e1e43) +* more work (40a05b70) +* wip admin/users (b038ac07) +* set unread false for guests (7beaf490) +* add stack to deprecate message (01265d08) +* add checkbox tests (d76229c0) +* add test for serialize/deserialize form (e92d4719) +* disable write api tests until fixed (ae5fb103) +* #8734, add slugify module, deprecate utils.slugify (bddfcb58) +* #8734, move bootstrap-tagsinput to package.json (f16c8268) +* #8734, move deserialize/serialize to package.json (eab7489e) +* #5964, #8734 remove colorpicker (948f2614) +* #8734 remove unused files (c721625a) +* #8734, move sortable to package.json (cc705e5e) +* #8734, move bootbox to package.json (300a8755) +* load jquery-form before using (3b231360) +* #8734, jquery-ui, jquery-form, timeago (#8748) (fda2aedf) +* remove unused textcomplete file (59311a63) +* #8734, remove semver.browser (ae3a231f) +* #8734, move slideout to package.json (2c1897b3) +* #8734, move tinycon to package.json (9c157de0) +* #8734, move visibilityjs to package.json (43589a74) +* #8734, move nprogress to package.json (a46cbb62) +* #8734 move r.js to package.json (aa08f882) +* revoke user sessions above threshold (#8731) (b3ed26ac) +* filter:settings.get plugin hook (c7d15dfa) +* topic delete/restore/purge/(un)pin/(un)lock (da25ce4d) +* add new api page to ACP menu (5fc7e7bf) +* management of API tokens via ACP (49652e6f) +* added DELETE /api/v1/categories/:cid route (3072de48) +* added PUT /api/v1/categories/:cid route (e942ad81) +* added POST /api/v1/categories route (dc666fd8) +* added PUT/DELETE /api/v1/users/:uid/ban routes (a5af2dc8) +* added POST and DELETE /api/v1/users/:uid/follow routes (b5bbcbae) +* added PUT /api/v1/users/:uid/password route (7aed174e) +* added DELETE /api/v1/users/:uid and DELETE /api/v1/users (a1ddc210) +* added openapi.yaml file for BEST documentation (91b79f17) +* added checkRequired middleware for API calls (7b6d43bc) +* migrating write-api skeleton into core (ec5c48b1) +* remove post/header selector (1542a5d7) +* category filter on post queue (#8710) (5d9a8681) +* #6594, add top/popular sections to digest email (#8709) (e60357d2) +* dedicated sorting buttons for plugin ordering in ACP (1761e13d) +* #8233, search sub categories (54737d30) +* move service-worker.js into its own file (f4d76f1e) +* analytics:maxCache setting in ACP (14ba1a6d) +* #8695, allow sort for guests (ea0f3262) +* up recommended size to 512x512 + ACP labels for PWA (9c5b6907) +* upload maskable icon for PWA (6478b32d) +* show top 5 trending plugins in new tab in Extend > Plugins (b12e8d63) +* register service worker, #8126 (aa268d5e) +* add theme-color meta tag for browser address bar (5172d731) +* basic service worker, minimum requirement for for a2hs; see #8126 (f69697b3) +* option in ACP to configure notification/email delay for chats (5b427a0c) +* allow autocomplete to pass optional params to user.search (611f3c61) +* upon plugin installation via ACP, check against nbbpm first (5ddf7022) +* up benchpress (8e88ccd6) +* add row highlighting for popular and unread (2cd5f959) +* return to previous page and/or category after marking topic unread (48a8ec4a) +* add missing lang key (bd9b6c99) +* add number of posters to topic (83d4e7ef) +* hightlight matches in quick search (f2f3ba49) +* add loading indicator (d38c8722) +* allow plugins to override tags and tag counts (81595095) +* edit test (ccddbb15) +* add x-posts/x-votes keys (23de5613) +* allow adding nested replies to a target component (ddc0ac37) +* hotkey "/" to open ACP search (43571bac) +* ctr-s for save on privileges page too (763cec31) +* ctrl-s now saves on settingsv1/v2 forms (80931423) +* single href (6669b23d) +* allow passing in container to threadTools (7148be2f) +* expose calculateTopicPostCount and getChildrenTree (43742437) +* allow custom req.query.filter on /unread /recent (de824007) +* fullname search (#8641) (4be693f2) +* sorted set lex test (9389749b) +* add topicIndex to category page (c1c617b3) +* up lavender/slick (34eb1bd2) +* switch to using topic/select component for merge (f6d56466) +* undo for posts move (762e9fe8) +* #8626, new move posts modal (5a40d26b) +* refactor app.js (5002e0f6) +* remove global RELATIVE_PATH (19c44861) +* remove app.template (3cd3b7a1) +* remove global window.templates (630bac2a) +* remove app.isConnected, use socket.connected (fddeb5c0) +* use const/let (6fc31df0) +* allow nbb to work with cloudflare rocket loader :rocket: (4d665955) +* move code (53a5f151) +* #8602, dont send emails to unconfirmed addresses (b6917b9d) +* add partials/footer/js.tpl (94da9fe5) +* add missing name to profile image upload (54b49725) +* add action:user.removeCoverPicture (b0a75922) +* add user data to action:user.removeUploadedPicture (962446a5) +* add userData to action:user.delete (9542ef12) +* force upgrade scripts for test (1b7ba2c8) +* replace relative urls to absolute before sending email notifs (1e5981c0) +* add client side action:flag.create (09de364e) +* additional sorting options for flags (0c203517) +* new filter hook prior to post queue addition (8cc36de2) +* add replies to getPostSummaryByPids (a9dfc9a7) +* add reply count to getPostSummaryByPids (de0f4aad) +* theme work for #8580, closes #8580 (6e805c1b) +* allow undo of topic move (abb5e81d) +* added alert.timeoutfn (cd8e7963) +* sort dependencies alphabetically (a4dbbc37) +* up persona (af9f328c) +* banning a user will resolve their post flags (354e6ccc) +* theme changes for #8571 (5415c01c) +* logic for bulk actions in flags list, #8571 (a3a22793) +* expose global/admin privileges to all routes (4737f937) +* additional tests for #8569 (e047b72c) +* flags list sorting, closes #8569 (346db0d8) +* up theme (bd557af2) +* allow adding multiple users to group (35a538ec) +* add filter:group.getOwnersAndMembers (f1e82b64) +* pass uid into filter:flags.list (9c70b662) +* added security policy for github (45c8de12) +* up deps (b97b51a8) +* one more test (a333cb6c) +* tests for password change (ecda4ad8) +* limit privileges column to superadmins only (0903eb4b) +* use nodebb-scoped bootswatch (12edd18b) +* use assetBaseUrl instead of hardcoding (6e918858) +* load timeago strings client-side (558a2d73) +* +assetBaseUrl, -l10BaseUrl, -requireBaseUrl (9adaccd0) +* #8550, add upgrade script test (b61a4da5) +* #8493, plugin helper for standardised link/button injection (0bbb813e) +* show event/params on error (d6baf5c2) +* introduce overridable l10nBaseUrl config value (def16f9e) +* allow multiple empty lines (58933c4c) +* remove administrator property from public routes (dfabd0a3) +* focus username when modal is shown (4216c277) +* add helmet middlewares (774e5d04) +* more discrete commit-on-save instead of commit-on-change w/ confirm modals (#8541) (a716a552) +* add ability to search groups in group details page (e7a502e0) +* use category selector in category page (fb7bb8d4) +* css fixes (560f3eb1) +* add privileges shortcut to groups list (91411cc4) +* allow passing groupName to user.search (f89ec205) +* #8531, closes #8531 (292d4904) +* allow direct link to flag from post tools, #8531 (c705e08a) +* allow changing requirejs base url (c4829fd8) +* ability to clear cache from acp (bbc7737e) +* reduce amount of data loaded on acp admin page (8d8117ff) +* remove require fallback for plugins (303bffdb) +* remove /assets/stylesheet.css (762b0be4) +* add node 14 (6250a2e2) +* make category tools in acp a dropdown (24535a62) +* series upload (37e56d94) +* resolve flag on delete/purge/ban/delete account (8bd63f61) +* 8502, don't change topics sitemaps on every reply (e045436c) +* allow building custom languages during dev (0a9ea91f) +* add link-plugins.sh (cc86f079) +* remove deprecated utils.walk (609e37a6) +* consolidation of flags to reduce flagspam, #8510 (55b0e902) +* change invalid language codes to default lang (3761f05c) +* add npx, fixes ghfw (a294e1cd) +* remove topics.async.getTopicData usage (ce6b20c4) +* remove deprecated checkGlobalPrivacySettings (0cea7136) +* remove deprecated isAdmin method (a0da2ba7) +* remove file.isFileTypeAllowed (2cdb935f) +* remove deprecated hooks (4eae927d) +* update readme (9869064e) +* up node version to 10 (b39e0140) +* highlight privs row if group is added / navigating from group page (10e4ae62) +* prevent navigation away from groups page if changes are unsaved (53f6139b) +* quick access dropdown on groups page to access privileges page (2c83278f) +* #8524, allow editing category of queued topic (844f2b4e) +* remove js-enabled (ff3c3435) +* remove js-enabled.css (ec057835) +* dont load all subscribers at once (2a5f8ab2) +* short more info (23a9a334) +* #8521, allow editing title before posting from queue (2485a550) +* show language when key isn't found (764969ab) +* allow searching categories in ACP (1e7397b1) +* #8509, don't scroll chat to bottom if user scrolled up (320008cd) +* added quick link to edit privileges on the category edit page (06143ca7) +* hide some filters behind 'more filters' button (9fb9185f) +* collapsible daily flags graph (d52d7bdb) +* **acp:** autocomplete user search for welcome notifications (d40779a4) +* **writeapi:** + * user settings API (c26f2b65) + * commented-out stub code for file upload (cfee431c) + * file deletion route (f870721f) + * admin settings update route (a55b3817) + * token generation/delete routes, ACP updates (2ec838fc) + * post bookmarking (0973feea) + * post voting (9942c248) + * post delete/restore/purge (414169fd) + * post editing (f66c2fb6) + * topic tags (1605e5e4) + * topic follow/ignore (9be56294) + * adding missing files (6096f74a) + * topic posting and replying (4c833d0b) + * added DELETE /groups/:slug/membership/:uid route (40dc1c38) + * added group joining and deletion (952dc211) + * abstracted ajax calls out to new api module (d044c322) + * added POST /api/v1/groups (ba345e53) +* **openapi:** + * schema validation for write api definitions file (87e3f26f) + * refactor into indiv. files to match API & tpl routing (ffbf2d6d) + * refactor into indiv. files to match API & tpl routing (84f5e4cf) + +##### Bug Fixes + +* **deps:** + * update dependency nodebb-plugin-composer-default to v6.4.6 (b44c7e96) + * update dependency nodebb-plugin-spam-be-gone to v0.7.3 (f06d4878) + * update dependency nodebb-theme-vanilla to v11.3.0 (0d80190f) + * update dependency textcomplete to ^0.18.0 (df5d66e5) + * update dependency nodebb-theme-persona to v10.2.65 (0c7d5860) + * update dependency jsesc to v3.0.2 (#8802) (c4431294) + * update dependency nodebb-plugin-composer-default to v6.4.5 (7d0d0005) + * update dependency nodebb-theme-persona to v10.2.63 (b3ca7de0) + * update dependency nodebb-theme-persona to v10.2.62 (#8798) (12c590ad) + * update dependency nodebb-plugin-mentions to v2.13.1 (#8790) (8353857b) + * update dependency nodebb-theme-persona to v10.2.61 (#8794) (9de8497d) + * update dependency benchpressjs to v2.0.8 (#8767) (3b88545b) + * update dependency sharp to v0.26.2 (#8765) (42aed15b) + * update dependency nodebb-rewards-essentials to v0.1.4 (#8764) (25c447df) + * update dependency nodebb-theme-persona to v10.2.60 (dcf72354) + * update dependency nodebb-plugin-mentions to v2.13.0 (#8758) (411fa8bc) + * update dependency nodebb-theme-persona to v10.2.59 (#8755) (cd34bfb1) + * update dependency nodebb-theme-persona to v10.2.58 (#8754) (a77ba71e) + * update dependency nodebb-plugin-composer-default to v6.4.4 (#8752) (0399ffaf) + * update dependency benchpressjs to v2.0.7 (#8733) (f8e2324c) + * update dependency nodebb-plugin-composer-default to v6.4.3 (#8750) (666064bf) + * update dependency nodebb-theme-persona to v10.2.57 (#8749) (1c94220b) + * update dependency nodebb-theme-persona to v10.2.56 (414fe19c) + * update dependency nodebb-theme-slick to v1.2.39 (1bc99411) + * bump vanilla/persona (944a7e0e) + * update dependency nodebb-theme-lavender to v5.0.14 (#8739) (43df4b8e) + * update dependency socket.io-client to v2.3.1 (#8700) (ba62ebb6) + * update dependency nodebb-theme-slick to v1.2.37 (#8741) (45aceb26) + * update dependency nodebb-theme-vanilla to v11.2.21 (#8740) (0c7af502) + * update dependency nodebb-theme-persona to v10.2.54 (#8736) (4207dde4) + * update dependency nodebb-theme-persona to v10.2.52 (#8735) (70c085ba) + * update dependency nodebb-theme-persona to v10.2.51 (#8729) (bae2eada) + * update dependency nodebb-theme-persona to v10.2.50 (#8727) (804729fc) + * update dependency nodebb-theme-persona to v10.2.49 (#8722) (b01bc2ae) + * update dependency nodebb-theme-persona to v10.2.48 (#8721) (01702613) + * update dependency nodebb-theme-persona to v10.2.47 (#8720) (04b1daac) + * update dependency nodebb-theme-persona to v10.2.46 (#8719) (ba906d7d) + * update dependency nodebb-plugin-composer-default to v6.4.2 (#8718) (229421ed) + * update dependency nodebb-plugin-composer-default to v6.4.0 (#8716) (b3a24f74) + * update dependency nodebb-plugin-mentions to v2.11.0 (#8714) (c95a3898) + * update dependency nodebb-theme-slick to v1.2.36 (#8713) (fc2795d3) + * update dependency nodebb-theme-vanilla to v11.2.20 (#8715) (2b0deeb7) + * update dependency nodebb-theme-persona to v10.2.45 (#8711) (f14b4945) + * update dependency nodebb-theme-persona to v10.2.43 (#8701) (1d0eaafb) + * update dependency nodebb-theme-persona to v10.2.42 (2a1da61c) + * update dependency nodebb-theme-vanilla to v11.2.18 (#8697) (9bdef707) + * update dependency nodebb-theme-slick to v1.2.34 (#8696) (3e2816ae) + * bump persona (f17d42ed) + * update dependency sanitize-html to v2 (1e5621c0) + * update dependency nodebb-theme-persona to v10.2.39 (#8684) (d0010c40) + * update dependency nodebb-theme-persona to v10.2.38 (#8683) (bb04f149) + * update dependency json2csv to v5.0.3 (30aa7e83) + * update dependency nodebb-theme-persona to v10.2.36 (#8680) (07172b6f) + * update dependency nodebb-theme-persona to v10.2.35 (#8679) (68a5e7e3) + * update dependency json2csv to v5.0.2 (5a2adb42) + * update dependency nodebb-theme-persona to v10.2.33 (#8675) (abe83773) + * update dependency nodebb-theme-persona to v10.2.31 (#8673) (80dbf97a) + * update dependency nodebb-plugin-composer-default to v6.3.57 (#8672) (7ecac97a) + * update dependency nodebb-theme-persona to v10.2.30 (#8671) (c8a75631) + * update dependency nodebb-theme-persona to v10.2.24 (#8663) (72cd5f13) + * update dependency postcss to v8.0.6 (#8657) (55921ccf) + * update dependency validator to v13.1.17 (#8659) (01232090) + * update dependency sharp to v0.26.1 (#8660) (b175d671) + * update dependency nodebb-widget-essentials to v4.1.2 (#8658) (dc0a4a49) + * postcss and autoprefixer version incompatibility (70d3ad02) + * update dependency nodebb-plugin-mentions to v2.10.0 (5ea172f9) + * update dependency autoprefixer to v10 (60679481) + * bump theme versions (685633d0) + * update dependency nodebb-plugin-composer-default to v6.3.56 (#8648) (8089387b) + * update dependency nodebb-theme-persona to v10.2.22 (c5ca2609) + * update dependency nodebb-theme-vanilla to v11.2.16 (8acdf3f6) + * update dependency nodebb-theme-persona to v10.2.21 (ed0469b5) + * update dependency nodebb-theme-vanilla to v11.2.15 (134ebba6) + * update dependency nodebb-theme-vanilla to v11.2.14 (31635e3e) + * update dependency nodebb-theme-persona to v10.2.20 (2a13e583) + * update dependency mongodb to v3.6.2 (#8634) (4969c869) + * update dependency nodebb-theme-vanilla to v11.2.13 (#8633) (8137cdc2) + * update dependency nodebb-theme-persona to v10.2.19 (#8632) (37e37c86) + * update dependency nodebb-theme-vanilla to v11.2.12 (#8628) (7ab87072) + * update dependency nodebb-theme-persona to v10.2.18 (#8627) (2740655d) + * update dependency nodebb-theme-vanilla to v11.2.11 (#8624) (fd6259c8) + * update dependency nodebb-theme-persona to v10.2.17 (#8623) (a1d310bd) + * update dependency nodebb-theme-slick to v1.2.30 (#8620) (251ea79b) + * update dependency nodebb-theme-persona to v10.2.16 (#8618) (0d85dc48) + * update dependency nodebb-theme-vanilla to v11.2.10 (#8619) (b52301b1) + * update dependency nodebb-theme-vanilla to v11.2.9 (#8616) (69373fde) + * update dependency nodebb-theme-persona to v10.2.15 (#8614) (3c0540c1) + * update dependency socket.io-redis to v5.4.0 (#8600) (5ba23f24) + * update dependency nodebb-theme-vanilla to v11.2.8 (#8599) (97e3543e) + * update dependency nodebb-theme-persona to v10.2.12 (#8598) (1bb0896e) + * update dependency nodebb-plugin-composer-default to v6.3.55 (#8606) (dfeb65bb) + * update dependency nodebb-plugin-markdown to v8.12.1 (27426c06) + * update dependency nodebb-theme-vanilla to v11.2.5 (64f4179a) + * update dependency nodebb-theme-persona to v10.2.10 (777419b2) + * update dependency sharp to v0.26.0 (#8578) (7ca967ee) + * update dependency ipaddr.js to v2 (49aeda01) + * update dependency nodebb-theme-lavender to v5.1.0 (87674d68) + * update dependency nodebb-theme-persona to v10.2.5 (8032c8bd) + * update dependency helmet to v4 (#8543) (ad68a338) + * update dependency mongodb to v3.6.0 (#8535) (4160e828) + * update dependency nodebb-theme-persona to v10.2.4 (#8544) (b30ecffb) + * update dependency nodebb-theme-persona to v10.2.1 (#8529) (7a59c2fc) + * update dependency nodebb-plugin-composer-default to v6.3.53 (d24a4bd3) + * bump themes (b714ed22) + * update dependency commander to v6 (#8518) (75fb2a47) + * update dependency archiver to v5 (#8523) (f1cc4e29) + * update dependency lru-cache to v6 (#8490) (2941b9f9) + * update dependency connect-redis to v5 (#8480) (9c17a677) + * update dependency nodebb-plugin-composer-default to v6.3.52 (#8522) (ac257a65) + * update dependency nodebb-theme-persona to v10.1.68 (#8520) (f06b1cec) + * update dependency nodebb-plugin-mentions to v2.9.3 (#8516) (b5df5766) + * update dependency nodebb-plugin-dbsearch to v4.1.2 (649c64e4) + * update dependency nodebb-plugin-mentions to v2.9.2 (91bdc12a) + * update dependency nodebb-plugin-composer-default to v6.3.51 (0e13fd0f) +* check is banned in buildHeader (4b63f993) +* undefined call (518d4fa1) +* missing await (08ff4041) +* client side crash when creating groups (5a2b14b7) +* disallow registration attempts with password length > 4096 (c0f699e6) +* missing await (4818ec37) +* broken test (87bff6cd) +* updated commitlint config to allow longer subjects, because nobody anywhere uses an email client that limits subject lines to 72 characters (a53d49a2) +* restore old behaviour of empty json w/ 401 code in admin middleware (dda5d426) +* deprecate middleware.isAdmin (15e0731d) +* post editing not taking plugin hook results into account (4439864c) +* #8805 define our own name for write API v3 (57ed6be7) +* removed superfluous assignment (a08fb8e5) +* createNewPosts to build tpl with ajaxify.data (0b6ef61e) +* handle ACP category enable/disable states after call success (bff53de0) +* remove setCategorySort and setTopicSort (a6a52430) +* sort setting not using correct field name (9082062e) +* update readme to include psql (2d29e603) +* breaking test from 0db0231cff097a6e983683e61284a72d42bd594d (cc1c7220) +* indentation (04185d94) +* add back derpy 20 second sleep (8e7914ff) +* missing method in test error output (3ebb3a34) +* topic object in post editing data return (3c98cd3d) +* bug where token generation route would fail on null case (618e0983) +* typo (2e9f27d8) +* return early for guests/spiders (203db47b) +* #8789,cache meta.settings (156e1396) +* spec (7a318352) +* tests (63e07c94) +* #8781 (db63f5e3) +* reset button loading html (1a4c0dec) +* #8779, fix move all (e6440c0d) +* allow admins adding users to global moderators (1f43e98f) +* incorrect logic for post history editable bool (a691be59) +* [breaking] send configured config URL as origin if not custom (205a1030) +* #8776 some users unable to restore old versions via history (7a8f7049) +* #8595, dont save escaped data when renaming groups (b26e9b59) +* keep sortBy while searching (3ee4936d) +* autocomplete.user on search page (85cfe49d) +* spec (cf474ab2) +* sortby (7bddec93) +* #8774 (b3619d3d) +* #8732 (c107649b) +* #8630, sort extra deps (e362c342) +* missing doTopicAction, fix wrong api params (e78c498e) +* test (8fd3c044) +* appropriate 404 handling for write API calls (b6cce75d) +* redis hget (b2ff1594) +* reimplementing isPrivilegedOrSelfAndPasswordMatch (e98285db) +* socket user bans (3f347baa) +* broken tests from api change (222b4c95) +* tests (7d86be2b) +* handler for group.join (51a60d3d) +* add missing file (d07f0081) +* #8768 (4418ff07) +* api bug where user profile editing continued even if not allowed (cc6e995e) +* module build (bae0f343) +* tests (b295d15e) +* csrf token only on non-GET routes (20bb9c7e) +* avatar selector (4b9444f1) +* test (e6ea71c9) +* timestamp (8c6a5591) +* #8763 (331d236f) +* lastonline again (a481024d) +* caret (71d82ec8) +* lastonline values (97628e2f) +* upgrade script (1289c105) +* cant join system groups (59bbede8) +* tests (a411df13) +* update server param to /api/v3 (0e0f1506) +* typo (c68653d0) +* testing openapi write tests (7aa4d104) +* enable tests (7b2301ff) +* test fix for write API (54e6003a) +* password reset to invalidate all existing reset tokens for that uid (30b3fedc) +* show more lines (ba2e1c4c) +* #8756, pass missing req to mock (30d6a2b8) +* #8757, allow all slashes in category route (1ee93848) +* timeago test for dev/prod (7db224f6) +* timeago test (cecdd291) +* undefined api require, @julianlam (931d44b5) +* watch tooltip (e2d407b7) +* module name (aedd28e0) +* pin sortablejs (8f436eb8) +* admin jquerui requires (75c96686) +* timeago locale switch (8c019a6a) +* category RSS feed was displaying deleted topics (9a5b8a79) +* #8734 make nprogress module (45e8a4d5) +* regression caused by 754595172549ba39b406bd36fc3387d95782d84f (8af30a51) +* dont allow adding duplicates to privileges page (12c8b1c2) +* #8728, dont add admins to table (f259063f) +* remove debug log (675a62da) +* tests (adcadbb2) +* bad merge w/ category ACP page (cb9369f1) +* bad logic in group assertion middleware (8e89f34d) +* errors thrown if no password sent in to profile edit route (7757f965) +* bug where middlewares seemingly ran in parallel (549ca110) +* follow route to match spec (db5c5b2c) +* missing one property in openapi doc (af2e424f) +* error handling with POST /api/v1/users (d8879d21) +* use POST call for user creation in ACP (58043e07) +* user creation POST route returns user data, updated openapi spec (bba2a463) +* selector, so it doesnt effect suggested topics (7138d433) +* use proper api url (264818e5) +* tests, get latest release tag recursively (8eb62e22) +* use app.parseAndTranslate instead of benchpress.parse (fc603a53) +* sorted list delete button (20e0cc5c) +* unable to register async method as response hook listener (dde5b6b8) +* dont allow sorting pinned topics on recent (b955fd36) +* use console.info instead of console.log for sw registration (3c7f79cb) +* spec (7cd83b9a) +* spec (6924eb6c) +* test (cb2f6f7c) +* dont let mods load postqueue for a cid they are not a mod of (7bf6d3b8) +* show disabled categories in admin&mods (2ea9768e) +* prevent mutiple highlighted rows on category/topic pages (60afb110) +* spec (fbd85680) +* do not show TOC if fewer than 2 headings (f1de084d) +* params cached in autocomplete module (caa8c00f) +* #8686, deprecate `plugin.json/library` (#8705) (017af63f) +* updating minimum node version in readme (d3951ebe) +* update "install plugins" link to go to the download tab (5441651e) +* overflow on submitPluginUsage field (c56236f0) +* #8699 tags route is case sensitive, though tags are not (38f88fc5) +* early button/anchor clicks do nothing (8437130e) +* early button/anchor clicks do nothing (966d3f76) +* error on `reset -p` if plugin is not active (7f58e3ab) +* manifest test + remove duplicate test (bf3c1c08) +* typo in getCompatiblePlugins (07af6213) +* typo (54705cc4) +* manifest - use absolute URL for start_url (31528a52) +* prefer webmanifest extension over json (46800b66) +* update notification delay ACP help text (4c1e717b) +* #8681 change owner modal's search should check if user is banned (b6f2f0e5) +* add img-responsive to post queue post items (f8032cd0) +* language key in reset password (2ad33058) +* issue where the last flag filter could not be removed (0fffe289) +* multiword match highlight (f8ef380b) +* tooltip placement on navbar search (82ab6cd3) +* rogue tooltip on navbar profile icon (683c01b0) +* #8580, @julianlam (445a840b) +* topic count on category page if filter is author (bbf6889e) +* match api when modifying ajaxify.data.deleted (int, not bool) (703ac1b6) +* lock/unlock toggle issue (9a7c3c68) +* #8665, trim email before checking validity (ac43cd8b) +* editing posts saving uncessary data (e72fe259) +* api spec (654d5830) +* #8640, add bookmarks to intFields (4f14dc7a) +* change user tooltip container to content (02a48e1c) +* auth tests (fe2dc310) +* #8656, rename /api/me to /api/self (af43f0e4) +* add user tooltips to body (047c4148) +* tests (22cd2654) +* use correct topic count for category (220297d5) +* clear old value on focus (42298fe6) +* skip elements if they dont have proper index (c9c9dd2f) +* call to reskin (99f24c59) +* move necro-post to be in-line with posts (44309ee6) +* tests, because redis is TOO FAST (4fca7938) +* remove old test (5e8c3761) +* client side crash if there are no topics (a8e18fdb) +* #8418 (38d3982b) +* typo (08912361) +* tests (65d049c6) +* check if unread_tids are followed (2d5bd153) +* openapi (e9094094) +* dont use hardcoded fontawesome icons for lock pin (632793b0) +* #8629 and change undo timeout to 10 seconds (65d94a3b) +* alert_id selector (2bebdf01) +* use text-right (a78e1df9) +* remove lang keys, remove sounds menu (a34b685c) +* lavender version (8a752364) +* tests (e3a0b4b1) +* wider widget area (4bace773) +* bypass nbbpm for now (33c1bd5f) +* #8432, add CSP frame-ancestors (46ab2711) +* allow setting maximumAboutMeLength to 0 (4588e521) +* additional commit for CF rocket loader (a38784f5) +* stack trace (4031a8ca) +* #8604 (a2638976) +* don't toggle elements if there is no inputEl (57f67e2b) +* don't crash on outdated redis instances (896fe9d6) +* update post-queue hook names (0e58d2b8) +* accept/reject in post-queue instead of accept/delete (694f4b2b) +* new openapi def for replies addition (b5871275) +* #8582 (9f9164a9) +* debug logging :dog: (fb3b4a02) +* ip-blacklist not working after #8580 (56101ae5) +* ip-blacklist not working after #8580 (c681b4b2) +* post-queue not working after #8580 (dc5bd760) +* #8411 missing language sources for ip-blacklist/post-queue (a93e1955) +* removed invalid options for the sendmail transport (#8576) (2b785628) +* missing localisation for topic move error (bacee6b4) +* select all checkbox does not re-enable bulk actions button (5d60dce3) +* dupes in unread followed topics (55533b11) +* wrong data passed to getCategories (39f4bbaa) +* openapi spec (4f7cfd53) +* api spec (c4ad14cb) +* username, email history disappering if content was deleted (91d9333a) +* up composer (9fd37753) +* package-install clobbering scoped nodebb plugins (840cb510) +* empty "manage" menu showing in ACP (4b0cb26b) +* hide nodebb version in ACP for non-superadmins (cc268605) +* change how admin middlewares are exported (f00595b3) +* one less return, to appease codeclimate (ae68a254) +* inability to access /admin if not superadmin (03bd76de) +* #8560, fix old upgrade script (29e3ab24) +* use promises in privilege save (9cbe9389) +* overzealous click handler on flag list row (7a5daff4) +* +comment, -debug log (9608b44f) +* multiple alerts in the same millisecond overwrite each other (589216e7) +* reintroduce 20s delay for api tests (56393795) +* client-side error in flags/detail (b2271eb6) +* #8570 (7daba7dd) +* sorting the flags list by newest is not considered a filter (3efe2362) +* flag list tests due to breaking change in API (360aa00d) +* no-widgets messaging in ACP + copy (334be113) +* #8568 perPage not acting like a filter (cabe62a0) +* #8562 (31c2b7d9) +* progress bar clobbering upgrade script name (2adae879) +* tweak upgrade script progress bar to only update 100 times in total (ac75c9a0) +* navigation title unescape upgrade script tweak (80a2a700) +* new language key for error handling (7456a0e3) +* upgrade scripts not run properly if schemaDate is present (de8eebbd) +* #8556, catch errors from admin check (bfaf648e) +* upgrade script for 1.15.0 (32682738) +* improper targetUid check during password change (16cee1b0) +* #8547, remove old deps during upgrade (#8557) (1d170e0c) +* #8558, only navigate if user is in same topic (79e847d4) +* upgrade script (231d34d0) +* don't allow duplicate upgrade script names (8887f0ed) +* tests (d6297b28) +* send hard 404 instead of soft 404 for missing modules (9f3b7811) +* #8549 send 308 Permanent Redirect on topic/category shortlinks (68f8d6e3) +* remove default helmet (c39c5113) +* map instead of forEach in privileges save (a7071bb8) +* remove duplicate configuration for helmet-hsts (0f10e083) +* don't process invalid topics, fallback to 0 score (335169f2) +* tests (6924a222) +* #8539, enforce content checks for post queue (bb224184) +* bug; additional reports could be added by the same user repeatedly (0f2b6f1f) +* #8538, go to first unread instead of last read (519e6659) +* #8533, validate and retry password during setup (0d698a07) +* #8534, dont show modal on search (9e80a9ef) +* language string (9f346c53) +* api test (8415d2f0) +* tests (9df871be) +* tests (69fb1527) +* reverse uid checks (7331faed) +* acp view category button if category is a link (2dfe9d49) +* remove old test (52718ce0) +* #8515, fix login redirect on subfolder (5e5815f0) +* tests (f48d1556) +* #4695, remove new notif alert (fd4c3cda) +* too small sortable handle for ACP>Manage>Categories (8473e165) +* less fixes for category dropdown (db07dd85) +* move check inside lock (57135761) +* #7351, display less errors with location and error message (d1cb405d) +* use shorter git url, #8527 (345fd72b) +* cursor for category select (4c90fac4) +* api docs for admin/manage/groups/x (8769e28b) +* edge case in test (b9cff577) +* api tests (42af4b57) +* #8500, allow regular users select topics on unread (7260646d) +* don't crash if content is undefined (4658121a) +* crash if csrfToken does not exist (a3c8d456) +* try again (6f889c9c) +* more tests (a46adb3f) +* tests (65395ae5) +* tests (72c60d19) +* tests (67ca5e32) +* #8508, dont allow moving topics if not moderator of target category (36531511) +* composer textarea placeholder l10n /cc @pitaj (1e14af45) +* **openapi:** + * final fixes to schemas (14e5c24e) + * users.yaml (16873800) + * moved write-api to public/openapi (49994f3a) + * test for new trending plugins in ACP (3fbddbe2) + * tests (d935f036) + * new api definition (8ff09630) +* **writeapi:** + * more tweaks to schema files (b2e9e3e0) + * fix components, + tag object schema (9f9e3c15) + * missing files for tests (a4f3270f) + * normalizing data (1392d064) + * tests (b092f65d) + * added examples to all parameter objects in schema (93f65f89) + * tests (ebcb664b) + * tests (229eb2c2) + * tests (b8703ba9) + * tests (41f55b7a) + * calls to profile editing routes 200 even if user DNE (8e7baac6) + * client-side group join API call (68ecf41e) + * authenticate middleware logic to work better with await (fd67355b) +* **refactor:** + * patching helpers.tryRoute for API routes, some re-org (d15d9e44) + * merging write-api auth middlewares with core middlewares (f6433ef2) +* **bug:** #8611, custom route logic corrected (#8612) (64a457a4) +* **docs:** updating changelog (6e34b9ef) + +##### Performance Improvements + +* reorder async calls (93bdfe2f) + +##### Refactors + +* simpler check in user.blocks.filter (a02ae6f5) +* remove usage of middlewares (266d7587) +* remove /users/{uid}/settings/{setting} route (aa8faf58) +* api test suite to accept methods other than GET (843aff58) +* remove unnecessary wrapper (a512d994) +* remove console.log, extra require (75024c35) +* show more lines of stack trace (ea31f505) +* posts api (d9a16855) +* post restore/delete/purge (272e73da) +* merge post.edit (9738e202) +* deprecate socket.emit('users.search') use api route (2279e372) +* api categories (083c74e0) +* remove sockets.reqFromSocket (bc880ee0) +* topic follow/ignore to use api lib (9ee3cb9b) +* topic tools' actions to use api lib (68d6818b) +* topic creation to use api lib (40598b36) +* setupApiRoute signature (bf480ee5) +* remove unused middleware (688d7a2c) +* user bans to use api lib (2d252f2f) +* move groups.leave, fix some tests (e367c540) +* change password/user follow to use api lib (960e925e) +* user deletion to use api lib (430e7f58) +* socket profile update to use api lib (77481947) +* socket profile update to use api lib (31ae8a83) +* user create and profile update to use api lib (23086dae) +* use single function for api code (5e2caf19) +* async/await src/user/approval (43afe7ff) +* async/await install/web.js (3881ac30) +* async/await (1fd2eba6) +* use app.render (d89477ca) +* api module (3673accd) +* api module returns promise, error-first cb if cb passed in (a784d10f) +* remove unused search call (dd7424e5) +* switch to using slugify module (dc29f4dc) +* require style (c954db84) +* middleware.assert.* (8ecef7b8) +* rewrite modules/api.js in AMD style (a905d7f0) +* remove posts.tools.purge (ed092bf6) +* shared constants (#8707) (1aa336d8) +* post edit (16039b11) +* expose new method for appending moderation note (29b357bc) +* socket posts delete/restore/purge so tid is not necessary (#8607) (f743f920) +* ip-blacklist and post-queue language files (4dc6e64a) +* moved ip-blacklist and post-queue styles/tpls to themes (b6b94a56) +* changed way middleware was exported (cf2f1e95) +* remove util.promisify calls (01899459) +* change pwd change logic (846b7d24) +* rewrite src/upgrade.js with async/await (33c5988c) +* change incrementViewCount and markAsRead to async/await (2c35d0ba) +* for codeclimate (2ee62483) +* rewrite src/install with async/await (776e34a8) +* removed rather redundant flag reporters zset (6c00ec84) +* flags object in post tools (fcdbdf63) +* pass only needed data (f1974fb9) +* startup (c54b6b9c) +* get rid of bind calls (af91c26a) +* setting codeclimate to A (bc26883a) +* make msg pretty (8ddc8dd1) +* flag sanity checks, +feat: flag limits (e3e55f25) +* **writeapi:** + * update route prefix to api/v3, default error option (3ea1aa47) + * post.tools.purge no longer a method (5e2a3ea6) + +##### Code Style Changes + +* **openapi:** + * break write API routes into individual files (dbb4cfe9) + * move schemas and responses out of write.yaml (ffac3c79) +* updates to openapi files (2928b9b8) +* allowing some es6 features client-side (e1c40b27) +* linting (cdb79488) + +##### Tests + +* **openapi:** missing commonprops addition (0dc55bbc) + #### v1.15.0-rc.5 (2020-11-04) ##### Chores