#### v1.17.2 (2021-07-07) ##### Chores * **deps:** * update coverallsapp/github-action action to v1.1.3 (99c23037) * update dependency eslint to v7.30.0 (725e70e9) * update dependency coveralls to v3.1.1 (edefac96) * update dependency eslint to v7.29.0 (2700f717) * update dependency eslint to v7.28.0 (fac0bcbd) * update dependency smtp-server to v3.9.0 (86723292) * update dependency eslint-plugin-import to v2.23.4 (886d65f6) * update dependency eslint-plugin-import to v2.23.3 (c3b0e2fa) * lint (2b42e7ed) * fix indentation (d07229aa) * up rewards (ca9ca876) * incrementing version number - v1.17.1 (0aad1312) * update changelog for v1.17.1 (1e6ed0ad) ##### Documentation Changes * add undoTimeout (2db77b0c) ##### New Features * add merge/fork hooks (c9348efb) * #9628, allow setting custom icon names (2fe30b6f) * #9617 update fa link (52596902) * add bodyClass to 500 page (46a454f1) * clear reset tokens on successful login (f9728aff) * add filter:categories.categorySearch (be19f27f) * allow nested properties on category page (#9601) (cc0cf99f) * show ip on acp manage users (8ea58432) * add undoTimeout to moving posts as well #9599 (e588948f) * make undoTimeout configurable, closes #9599 (05cc7ccb) * introduce boolean res.locals flag to bypass session reroll (used by session-sharing) (816856b0) * allow modifying default category privileges (57e46e41) * add filter:notifications.create (ac7b093f) * pass req.query to getUnreadData (3d5fef6e) * added GET user route for api v3 (d2960aeb) ##### Bug Fixes * **docs:** #9648 (e03782f2) * **deps:** * update dependency mongodb to v3.6.10 (f17625fb) * update dependency nodebb-theme-persona to v11.0.25 (c11927c5) * update dependency sortablejs to v1.14.0 (5ff9319f) * update dependency nodebb-theme-persona to v11.0.24 (c7feea56) * update dependency nodebb-plugin-composer-default to v6.5.33 (3611b04e) * update dependency nodebb-plugin-markdown to v8.14.0 (e40f648f) * update dependency nodebb-plugin-markdown to v8.13.1 (cf6fcc21) * update dependency nodebb-plugin-composer-default to v6.5.32 (#9626) (90e3f5ac) * update dependency nodebb-plugin-composer-default to v6.5.30 (#9624) (2060dc61) * update dependency postcss to v8.3.5 (09aebbda) * update dependency postcss to v8.3.4 (520050da) * update dependency postcss to v8.3.3 (c7006ec6) * update dependency ioredis to v4.27.6 (82b33dc4) * bump persona (f4eb336a) * update dependency postcss to v8.3.2 (88f21e91) * update dependency postcss to v8.3.1 (71b4d634) * update dependency ioredis to v4.27.5 (9f74caf6) * update dependency connect-redis to v6 (#9590) (6632b2b6) * update dependency ioredis to v4.27.4 (4ffd234f) * update dependency nodebb-theme-persona to v11.0.21 (062928d2) * update dependency mongodb to v3.6.9 (d8c64479) * update dependency autoprefixer to v10.2.6 (3aeac357) * #9634, re-jig top bar of Admin > Manage > Users (b8964843) * hide private user data in api/v3/users/[uid] (97c8569a) * numThumb upgrade script (d9e2190a) * acp dashboard sometimes not loading on cold load (fee782c4) * #9636, sanitize all attributes in meta and link tags (84904976) * convert some hooks to use hooks module (09bac6bd) * #9627 (acdbd049) * #9629, translate content property of meta tags (561ce7d3) * prevent crash in expandObjBy #9618 (ab6f062f) * dont show system tags in whitelist dropdown to regular users (0d975bc4) * #9622 (#9623) (84e06575) * #9620, fix notif delay (73f40e96) * #9619, add group chat filter to /notifications (c92fc19b) * scope (3cd9434b) * #9615, catch exceptions in renderOverride (1eda538d) * purge uploaded images accordingly #9606 (#9611) (8168c6c4) * keep query params when switching chat (7b4c0a16) * accidental unnecessarily strict conditional that effectively rendered SSO state checking opt-in instead of opt-out (a2400f6b) * introduce artificial delay + delay fudging on invalid email during reset token generation (f6c14d6b) * #9605, expire all active reset tokens for a uid if that uid generates a new one (229f96f8) * lint (8c952aa3) * schema (39e13591) * pagination on acp users search (6695927e) * #9596, incorrect placeholder string in some translations (93d94564) * extra ')' (6f732611) * disallow editing of other users' notes (edcba61a) * #9592, check session (286644d0) * don't crash if session doesn't exist (3717df61) * lint (66cae54e) * improper use of filename extensions (16e0bca5) * return null (d8d6c989) * updates navigation menu user icon (f9b248b8) * returnOriginal deprecation (3fb74445) * error when trying to trim an object (48b8e3bb) * **post-queue:** moderatedCids is an array of numbers (#9631) (db65360c) ##### Performance Improvements * cache Topics.getTopicsTags (8e0561f2) * bypass getMultipleUserSettings (10ddfff3) ##### Tests * fixed broken tests from #9605, removed token clean on token usage as it is superceded by token clean on generation (+ associated test) (5c42b3ea) #### v1.17.1 (2021-05-26) ##### Chores * **deps:** * update dependency grunt to v1.4.1 (0e37bbfd) * update dependency jsdom to v16.6.0 (60170ad6) * update dependency eslint to v7.27.0 (298af98d) * update dependency eslint-plugin-import to v2.23.0 (1623ba4f) * update commitlint monorepo to v12.1.4 (4a01313d) * update commitlint monorepo to v12.1.3 (b82774c5) * update dependency eslint to v7.26.0 (d1418210) * update dependency lint-staged to v11 (1bf57d40) * update dependency mocha to v8.4.0 (461e187b) * update dependency eslint to v7.25.0 (32c20806) * update dependency grunt to v1.4.0 (a30deef3) * incrementing version number - v1.17.0 (75f7972b) * update changelog for v1.17.0 (4c441a1b) ##### Documentation Changes * update API docs to better outline authentication options (6ef0c8e9) * update API authentication verbiage (d08d0c42) ##### New Features * keep query string when redirecting category (77dde41f) * add req.query to flags.list/getCount (3d6bdeb3) * add filter:flags.getFlagIdsWithFilters (d35c64b1) * #9559, set order help text (f5847f4f) * add filter:user.getWatchedCategories (4afca690) * pass req.query to getUserDataByUserSlug (518157d9) * #9508, add cluster support (94c12e37) * #9551 (a3d6c56e) * add template to hook (1f3e6601) * add filter:account.getPostsFromUserSet (a2442ee9) * automatically attempt reconnection on window focus (8cc61f11) * #9533, allow redirect in build hooks (f6b583bb) * add _hooks metadata object to all hooks that have object-type params (46899cca) * add filter:categories.copySettingsFrom (d8e4fd4c) * guard against multiple resolves (084c9851) * #9511 send notifications on accept/reject (b40fc4b6) * `hidden` class to FOUC (2bfa63ae) * add filter:middleware.autoLocale (a478dc7e) * remove sync hooks support (01956af4) ##### Bug Fixes * #9580, proper 404 when ajaxifying (9ebfdeb7) * lint (09f51792) * #9567 fix tests (951e71a0) * #9567, use regular 404 (5215c30a) * ioredis upgrade fix, maybe (1ce59508) * bug where interstitial errors were not properly passed to the front-end via req.flash (1d9cfe1e) * #9553, use same fields for user search results in acp (0551642a) * lint (e8c5c18a) * lint (ffa80163) * tests (fad5988e) * tests (074ee859) * wrong error message checked (a9bb1088) * #9507 session reroll causes socket.io to become confused (#9534) (ec6d1e23) * isObjectField(s) empty field (2c22b06f) * do not register SW for Safari until upstream fixes #9193 (ce5fea2a) * infinite scroll with small number of items #9524 (#9525) (cb1dd0a3) * #9519 unable to properly ajaxify to home on subfolder installs if anchor did not have a trailing slash (db48b952) * #9512, fix chat icon if no privileges (6ed8890c) * #9503, dont error in markUnread if room doesnt exist (308252f5) * use socket.request.headers (9e07efc1) * buildReqObject headers for socket.io calls (ed534f34) * **deps:** * update dependency sharp to v0.28.3 (963a9fe6) * update dependency ioredis to v4.27.3 (075dab27) * update dependency nodebb-theme-vanilla to v12.0.8 (#9574) (10290f54) * update dependency mongodb to v3.6.8 (#9573) (64935787) * update dependency postcss to v8.3.0 (ad4afd59) * update dependency nodebb-theme-persona to v11.0.20 (403bcfac) * update dependency nodebb-plugin-composer-default to v6.5.29 (8d7e4420) * update dependency mongodb to v3.6.7 (f29e4e87) * update dependency textcomplete to ^0.18.0 (9b7653cc) * update socket.io packages to v4.1.2 (#9563) (ca7c77bc) * update dependency nodebb-plugin-dbsearch to v5.0.2 (#9562) (2d0564cb) * update dependency nodebb-theme-slick to v1.4.7 (bf4aa50c) * update dependency nodebb-plugin-composer-default to v6.5.28 (4164b322) * update socket.io packages to v4.1.1 (155a7fb6) * update socket.io packages to v4.1.0 (53335677) * update dependency sharp to v0.28.2 (4bc07a08) * update dependency postcss to v8.2.15 (7770c2a1) * update dependency nodebb-theme-persona to v11.0.19 (3145c7d5) * update dependency nodebb-plugin-mentions to v2.13.11 (7e2ea4df) * update dependency nodebb-plugin-markdown to v8.12.10 (2ac5a085) * update dependency nodebb-plugin-markdown to v8.12.9 (ee3634cc) * update socket.io packages to v4.0.2 (ff98f854) * update dependency postcss to v8.2.14 (22ec1ea5) * update dependency sitemap to v7 (0389dd96) * update dependency nodebb-widget-essentials to v5.0.4 (19f1cbfc) * update dependency nodebb-theme-persona to v11.0.18 (33d91fde) * update dependency connect-redis to v5.2.0 (c0d54a06) * update dependency postcss to v8.2.13 (831e5c26) * update dependency postcss to v8.2.12 (38454df9) * **#9508:** switch to ioredis (#9545) (dd81dd03) ##### Refactors * cli/upgrade async/await (#9558) (ac86937c) * bubble other errors (0096cf17) ##### Reverts * sync hooks (5fe97b9c) ##### Tests * fix tests (1029a06a) * fix redis tests (4e490f60) * add test for undefined fields in getObjectsFields (92de49be) #### v1.17.0 (2021-04-22) ##### 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) * bump composer-default (289bfc0b) * up themes (d14ba1f4) * remove node 10 (8d3ec234) * 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) * 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`, deprecate `action: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) * #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` to `src/routes/user.js` to better match the route prefix (1f28713f) * allow certain route prefixes to be mounted elsewhere (92758ec5) * **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) ##### 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) #### v1.16.2 (2021-01-21) ##### Breaking Changes * unescape header navigation originalRoute [breaking] (6cb5888c) * allow override of local fns in login controller, 400 instead of 500 for wrong login type [breaking] (1cf0032d) ##### Chores * **deps:** * update dependency husky to v4.3.8 (a6f5de86) * update dependency eslint to v7.18.0 (afbef95f) * update dependency husky to v4.3.7 (d3e041e2) * incrementing version number - v1.16.2-beta.0 (43ff8e41) * incrementing version number - v1.16.1 (e3cd7a23) * update changelog for v1.16.1 (b6d71710) ##### New Features * add filter:email.cancel to allow plugins to cancel sending emails (c2e23706) * grant plugins the ability to specify options to the SSO handler (ab11435e) * add unread-count badge if navigator contains /flags route (c07e1e16) * handle HTTP 429 as a response code (8bbb3208) * add write API route for checking login credentials (56f929ed) * #8813, faster category search dropdown (072a0e32) * **api:** schema definition for new credential checking route (0da28432) ##### Bug Fixes * **deps:** * update dependency bootbox to v5 (#8751) (b5cb2f8b) * update dependency nodebb-theme-persona to v10.3.19 (f16cdc9f) * update socket.io packages to v3.1.0 (3d1224e1) * update dependency nodebb-theme-slick to v1.3.8 (1901ecb2) * update dependency sortablejs to v1.13.0 (36069da2) * update dependency autoprefixer to v10.2.1 (5b3c48fd) * https://github.com/NodeBB/nodebb-plugin-webhooks/issues/3 (c608b0e8) * restored sanity checks for post move socket calls (d85ad10d) * don't chagne scrollTop if at the top of page (0fa4c11e) * #9206, fix double escaped arguments (1590cdf1) * regression caused by 77ab46686db62871f149419a368c35628453884e (f5fcd232) * don't crash if fullname is not a string (4fb90787) * #9204, bypass groupname length check for system group in upgrade script (00ba89b6) * add missing await (9938a139) * ssoState passed to strategies even if not called for (9b289eca) * use max (0a471b76) * keep 60 topics minimum on topic list (c30b40ab) * access checks for tags and thumbs get route (77ab4668) * #9194 global mods unable to pin or unpin topics (c0fb1cb5) * #9192, exit after logging error (ef16cd2e) * make sure inviter user exists (69419571) * #9178 missing language strings (and fallbacks) for post-queue (a407a51d) * #9185, fix string boolean values (89e6c75d) * test for topicThumbs (e817d5be) * #9184 proper relative_path usage in topic thumbs.get (66da6bcd) * #9169, re-adding v2-style behaviour so as to not break the API... yet (b742229e) * #9177, handled multiple deleted users properly (eaf62d39) * broken test caused by errant .pop(), missing await (4ede18ce) * missing error message (d83d40cf) * test for https://github.com/NodeBB/NodeBB/pull/9180 (8ece64ab) * #9176, limit description size (da546970) * broken test due to change in response code (9534d956) * return a user object, not an array of user objects (in v3 login check route) (97d678fd) * bad execution flow in utilities.login (8c86f5bc) * missing breadcrumbs in schema (87a7d85e) * random loadFiles added by errant vscode autocompletion (53422413) * add missing breadcrumb on /user//categories (6cbb77af) * `--help` usage info (a51c5698) ##### Performance Improvements * use only required calls (f0dd302c) ##### Refactors * **api:** * post move to write API (966c4117) * post diffs to use write API (e118e59c) * change var to const (1374e0ee) * single remove call (25ab99b9) * flags lib to have a separate getFlagIdsWithFilters method (6a1311b4) * split out logic dedicated to calculating unread counts, to a separate local method (03a0e72f) ##### Code Style Changes * update codeclimate config to be less sensitive to duplicate code blocks (fdf03472) #### v1.16.1 (2021-01-06) ##### Chores * increase test timeout (0d7dfeeb) * incrementing version number - v1.16.1-beta.0 (5fcf3ea6) * add deprecation notice to topic thumb tpl value (05d8b3c3) * minor reordering of lines (8e5a413e) * incrementing version number - v1.16.0 (6d01fd50) * update changelog for v1.16.0 (1437c62f) * **deps:** * update dependency eslint to v7.17.0 (18ae7cf7) * update dependency eslint to v7.16.0 (2610dfcf) * update actions/setup-node action to v2 (#9115) (55a55ea2) * **api:** add deprecation notices re: #9123 (cdff8d28) ##### New Features * #9173, show installed plugin versions in ./nodebb plugins (8c31afae) * added note that you can now upload videos (4d6ddf6d) * automatically attempt socket.io reconnection on ajaxify (e5edbc6f) * #9135, don't try to reconnect forever (c1ecfd1e) * add confirmation modal when assigning admin:admins-mods privilege (d90aa958) * allow dashes in privilege group names (5b8558e9) * allow multiple privileges to be defined for a given admin socket call (3aa5beb8) * rename admin middleware header hook (fcc1e24a) * explicitly add filter:admin/header.build hook (75b1bbd0) * fix more tests, add more routes, update api test suite (cb32e32a) * add registration/complete route, fix some other tests (14c51e3c) * add missing schemas for various ACP settings routes (9de35ec5) * add missing schema for category update and deletion (d6de9253) * add schema for api ping routes (d85181e0) * normalize paths before comparison (df8d62ba) * additional test to ensure any new routes added to express have a corresponding schema doc (dbe85630) * update html-to-text closes https://github.com/NodeBB/NodeBB/pull/8810 (a2152dd1) * **api:** * closes #9123 category and topic routes migrated to Write API (edb8da1e) * #9123, migrate rest of the getObject controllers to Write API (9ecfac9b) * #9123, migrate /api/post/pid/:pid to Write API (e267f295) * group ownership API route, switch client-side to use API route (32e36f7b) * add schema for groups update route (98550d61) * added schema for email unsubscribe token (4fc13377) * **acp:** * admin tags privilege (223f0a55) * admins-mods privilege (fb46a8d9) * added new admin privilege for groups management (da191341) ##### Bug Fixes * #9130, remove timestamp prefix from thumbnail names in API response (171017c3) * #9166 missing relative path in topic thumbs modal and topic list (b9ba44ed) * #9163, fix total connection count on ACP (1968bf50) * genericise .necro-post, bump persona to latest (041d45c3) * #9126, skip base64 and long values (33290850) * #9127, use assets path (3121215e) * inability for admins with setting privilege to save plugin settings (a555f024) * #9149, server-side handling of disableChatMessageEditing (895e3d93) * #9149, incorrect client-side `disableChatMessageEditing` value for admins/gmods (d27815a8) * #9151, dont use service worker for posts requests (20c1b684) * #9150, fix selector so it doesn't add img-responsive to profile pics (183cabe9) * tests (28740360) * dont show deleted posts in navigator (931105e6) * bug in api path existence test (501a7b77) * #9136, fix move topic/post timeout errors (2ef72a94) * bad assignment logic in middleware.renderHeader (34ccabe3) * #9113, wrong path separator used in thumbs.get (da4f9118) * email testing and settings change from ACP (2be396ff) * removing ability to specify deprecated topic 'thumb' on topic creation (713f029d) * #9129, event is fired on socket.io (b369dc88) * subfolder handling in tests (bbd97ccb) * .flat() not defined in v10, added debug router to exclusion list (6062039d) * all tests, wrap up work (f416dc17) * two more routes (9c2de86a) * api tests (b9a61d2d) * don't return deleted: 0 for ephemeral groups (600807fb) * send fewer items to client-side for ACP settings/email page (438fa5c8) * errors in write-api schema (c079051b) * broken tests from last round of fixes (990f1077) * bad error message for request body api test (a9629357) * modify backreference test to not check router.all() calls (7fc329de) * add missing token generation route to write api spec (eef052c1) * trigger action:posts.edited (b7b588f5) * **deps:** * update dependency autoprefixer to v10.2.0 (e445ae5a) * update socket.io packages to v3.0.5 (fd045c67) * update dependency nodebb-theme-persona to v10.3.16 (87e333b4) * update dependency benchpressjs to v2.4.0 (4524f825) * update dependency nodebb-theme-persona to v10.3.15 (189be9e0) * update dependency nodebb-widget-essentials to v5.0.2 (1dd1d3b0) * update dependency nodebb-widget-essentials to v5.0.1 (#9144) (f55dddb2) * update dependency nodebb-plugin-composer-default to v6.5.5 (6d980d26) * update dependency sharp to v0.27.0 (4919e596) * update dependency nodebb-theme-persona to v10.3.12 (37b35f7d) * update dependency nodebb-theme-persona to v10.3.11 (db4c6863) * **tests:** handle nested allOf blocks (77a5adb6) * **api:** * failing test due to missing file (3959a7bd) * tests (80ee3dfb) * **pwa:** #9127 service-worker.js missing on subfolder installs (b8d4709e) ##### Refactors * **openapi:** update TopicObject component to reference TopicObjectSlim in its schema (fb3f3f72) * **api:** * deprecated groups update socket in favour of API lib (1cd2689c) * update group deletion calls to use write API (e640a41a) * schema backreference test to use map instead of reduce, properly check write-api routes (878ee067) ##### Tests * changed test a bit to see what is going on (5f038dff) #### v1.16.0 (2020-12-17) ##### Breaking Changes * enable topic thumbnails across the board [breaking] (9342d611) * #8808, remove utils.slugify (4a0d8833) ##### Chores * **deps:** * update dependency husky to v4.3.6 (2371b432) * bump persona to 10.3.9 (91899329) * bump composer to 6.5.1, re: #9067 (228cfa67) * update dependency husky to v4.3.5 (48a31763) * update dependency husky to v4.3.4 (cf5c482d) * update dependency eslint to v7.15.0 (f4c4d671) * update dependency lint-staged to v10.5.3 (3e6f7359) * appease codeclimate (9f62df15) * add comment for clarification (6037f5ee) * incrementing version number - v1.15.5 (57cd1343) * update changelog for v1.15.5 (b0299326) * **i18n:** fallbacks for new topic thumb keys (15f1a089) ##### New Features * add new client side hooks (a15ef53c) * remove max age since cache is cleared when thumbs change (ab96f526) * show alt text instead of images in teasers (#9107) (d28581eb) * migration of old topic thumbs to new format (74d73313) * allow plugins to override ACP relogin challenge (4c87f301) * add user.email.confirmByUid for sso plugins (80de572a) * add thumbs to category data return (24e754d1) * broken test for bad topic thumbs logic (ce8057f3) * clent-side modal for managing topic thumbs (a30c8ab5) * raise maximum thumb size to 512 (37c367d6) * associate topic thumbs with post uploads (for the mainPid) (1c5cdb51) * helper method to get thumbs by pid (cb7e4cda) * closes #9048, tests for topic thumbs routes, write API schema (59506833) * tests for topic thumbs (4152aa55) * server-side work for #9047 (ef7d6db9) * core work for #9042, thumb deletion now accepts uuids (b5d910f5) * more work on topic thumbs refactor (90497e3e) * expose uploaded thumbnails to client-side via API (1257aa98) * server-side routes for handling multiple topic thumbnails (7e9e08f7) * allow uploadThumb controller to be called in code (98cd9e35) * move upgrade script and make it shorter (60e7de0d) * allow clicks on navigator, clean dupe code (74274b60) * socket.io 3 changes (#8845) (1c45fa1b) * **deps:** update lavender to allow category sections (6d186be0) ##### Bug Fixes * **deps:** * update dependency nodebb-plugin-composer-default to v6.5.4 (#9120) (fff0cea6) * update dependency nodebb-theme-slick to v1.3.7 (#9112) (30688b1b) * update dependency nodebb-theme-lavender to v5.0.17 (#9111) (877f4673) * update dependency nodebb-theme-vanilla to v11.3.10 (ff18cdfa) * update dependency validator to v13.5.2 (#9094) (5d718348) * update dependency nodebb-theme-vanilla to v11.3.9 (#9091) (f37dbeed) * update dependency nodebb-plugin-composer-default to v6.5.3 (d036408d) * update dependency nodebb-plugin-composer-default to v6.5.2 (b07fb9ab) * bump composer-default to 6.5.0 (0db49121) * update dependency autoprefixer to v10.1.0 (024d1fef) * update dependency nodebb-theme-persona to v10.3.8 (#9084) (25f697b1) * update socket.io packages to v3.0.4 (62463430) * update dependency nodebb-theme-persona to v10.3.7 (c22cdb51) * update dependency nodebb-theme-persona to v10.3.6 (#9077) (5937fbaf) * update dependency nodebb-plugin-mentions to v2.13.6 (#9071) (a535350f) * update dependency nodebb-theme-slick to v1.3.6 (#9072) (19c438c6) * update dependency nodebb-widget-essentials to v5 (#9070) (d7f5efd9) * update dependency nodebb-plugin-markdown to v8.12.4 (8fb814ba) * update dependency nodebb-theme-persona to v10.3.5 (#9060) (0d082280) * update dependency nodebb-theme-persona to v10.3.4 (#9059) (84e4e480) * update dependency nodebb-theme-persona to v10.3.3 (3d7e2e1e) * update dependency nodebb-theme-persona to v10.3.2 (#9056) (f49ce4ad) * update dependency nodebb-theme-persona to v10.3.1 (#9054) (344caf5c) * update dependency nodebb-theme-lavender to v5.0.15 (#9053) (e7d72d8a) * update dependency nodebb-theme-persona to v10.3.0 (#9052) (dcd6fbaf) * api usage (feecd665) * #9117, lower query before search (4404e32e) * #9114, fix client side groups update for memberPostCids (3ed55799) * test (2dee3cbe) * don't check "select all" if there are no enabled checkboxes (3ba05755) * #9074, fix svg uploads (8f938eba) * #9100 topic thumbs in OG image tags (ab987408) * update version removal comments to 1.17 for some features (378a3a69) * postgres is slow:tm: (05dd8597) * derp? (f8dff94a) * attempted fix for psql test in topic thumbs (9a4ea04a) * use getSortedSetRange instead of getSortedSetsMembers (edf67f34) * tests (bd5c4a5c) * bad topic thumbs logic on local thumb upload (e83baa97) * #9092, Topic thumbnails do not work with third-party uploaders (3e54b70c) * move topic thumb tests to root level, so they actually get run by mocha (dd448e2b) * tests for topic thumbs (9681557f) * iteration logic bug (2170c400) * spec (ae943974) * changes to thumb resizing logic (67cf5e83) * use file lib instead of direct fs module access (08736b18) * added back missing topic thumb tests that were removed in last commit (c043cfeb) * tests (5ec3b3d0) * hack uploader to handle a response from v3 write api (41379e27) * #9055, non-standard API response from addThumbs route (340387c1) * do not allow thumb deletion route to arbitrarily delete other files in uploads folder (c09c238e) * missing file added (ef10b6b7) * references to since-removed Topics.thumbs.resizeAndUpload (1f0c1cd2) * #9041, remove Topics.thumbs.resizeAndUpload() (43dc3e3e) * #9040 (708b1c33) * spec (1949d20a) * #9085, dont prevent admins from deleting other users (0f480be6) * show errors when user delete fails (ff2aa17b) * dont start logout timer if adminReloginDuration is disabled (dd9ed236) * #9045, no post usage info if '/files/' path received (efa4eca0) * reconnectin no longer fires on socket.io 3 (13d5a144) * default values, clamp postsPerPage/topicsPerPage to max (1f32d387) * #9081, load raw settings before merging (9da0ed40) * #9068 (86f0f82b) * remove old utils.slugify tests (10cfdd4c) * dont strip tags (792e9e70) * #9065, settings v2/v3 conflict (91c20cec) * #9063, missing handler for passwordless accounts in admin.checkPrivileges middleware (970ccb5a) * timeago in navigation (a389a31b) * navigation fixes (163d1a39) * cache some jquery objects (73d2f51d) * add ev.cancelable (63d08395) * #9046, pretranslate string (790f4e45) * redirect external with absolute urls (648f6215) * external path for subfolder installs (458bfc0f) * **spec:** broken link to status component (d31aae16) ##### Performance Improvements * don't load thumbs if disabled globally, cache thumb results (2d5a224b) * dont build identical langs (bb6cc49c) ##### Refactors * topic thumbs lib to topics.thumbs (4fc9da81) #### v1.15.5 (2020-12-03) ##### Chores * up persona (c111bde1) * incrementing version number - v1.15.4 (a1b658d9) * update changelog for v1.15.4 (252dddfc) ##### New Features * add socket connect/disconnect action hooks (fcb10ebd) * allow modifiying browser title on ajaxify (698718f8) ##### Bug Fixes * #9032 (64ac483d) * sso redirect on /login & /api/login (5d00b089) * use file lib instead of directly accessing fs (for Assert.path) (3ea66f84) * check uid as well (ef6c3b00) * #7597, fix progress bar of cover/profile uploads (7e867cf9) * **deps:** update dependency nodebb-plugin-spam-be-gone to v0.7.7 (#9039) (c7f2640a) #### v1.15.4 (2020-12-02) ##### Chores * up persona (dde3171c) * fallbacks for nodebb.error (82ca3760) * fallbacks for nodebb.topic (5b269bc5) * remove test code (07fe959c) * incrementing version number - v1.15.3 (d1ae08fa) * update changelog for v1.15.3 (cf157c9b) ##### New Features * #9005, use timestamp in profile/cover images (5f0f476b) * #8983, update pin tooltip in topic (954dc5b7) * option to allow auto-joining of groups (optionally skip the "request membership" step) (685f3c6a) * user notification settings for group.leave event (c1a7968d) * add defaults for composer help (0cba2691) * #8900, postQueue setting for category (1eb5fabd) * #8960, update view count after merge (14bb0a44) * use correct code (557f0f56) * #8989, convert widget nav to dropdown (4c650aee) * add handler for 501 api response (007a3258) * add translation key for pin icon label with expiry (12b3aa0d) * add pinExpiry and pinExpiryISO to topic data (ad8e7700) * add cancel button to pin expiration modal (e1432caf) ##### Bug Fixes * #9032, fix login redirect for sso plugins (6f68f4d2) * #8962, dont show null for purged targets (86b7f8a5) * selector on hooks page (3488daa1) * notification on group.leave incorrectly showing "Guest has left X group" (f7558c60) * #9019, add missing lang strings (b46d2f93) * #9018 (e45b5cba) * #9015, add default value for dailyDigestFreq (0f1fc10f) * spec (cfb7b113) * #8997, don't send notifications if uids already in group (f7c738de) * #9002 ban templates not user friendly (4317cdea) * #9010, show rest of info even if clusterMonitor priv is not granted (202dcef4) * #9007 revoke old sessions after adding (d46740f8) * guests dont always have sid (70073653) * allow guests to see their replies immediately (a4fe4d3c) * privs headers (92d1b8a6) * pwd reset test (f25000cb) * #8991, logout on password reset, dont verify email if password expired (5080f357) * don't show topic search if no search privilege (8adbf54a) * #8998, allow guests to use write api to post/reply (3cd0c9a4) * guest handles to user displayname as well (5a137a0d) * timestamp in queue, add post queue strings (546f58bf) * #8992, set email:confirmed for first admin user (7f5efc3e) * typo in upgrade script, closes #8990 (80f0750b) * #8984, post-queue ux (1269103f) * order (9ab4fb41) * #8982, copy color on tag rename, dont copy if target exists (d3c04afb) * tests (b596e948) * api test (77a6dbac) * remove dupe (cbbda451) * csv test (3de692cd) * spec, remove old tests (4afdf8bc) * #8969, export csv to file (6e6a7a8f) * spec for /tag (88e5cda5) * #8980, fix lang string (f4d217d8) * #8979 (bf171adc) * #8971, disallow flags of privileged users (mods, gmods, admins) (1e7cf1cb) * #8974, with password login for approval queue (dadb2527) * #8974, dont show wrong message on register queue (fdca8b16) * #8973, fix timestamp on ban modal (5c3deb4b) * #8968, don't show topic search if search is not enabled (c8554b78) * flicker on tooltips if server call takes long time (4c7374ea) * missing select/clear all checkbox added to category privileges template (#8967) (a56a6577) * use package.name for theme.id (#8965) (ba3981e2) * winston usages (b8cafefc) * #8957 (414caac0) * dont go back after delete account actions (7e6427bc) * error message (47a19d67) * #8954, clear purged replies and toPids (#8959) (5bb5ec46) * #8955, popstate to purged topic should go to homepage (39dae0aa) * 'already-deleting' error on subsequent account content deletions (21d6225c) * #8949, faster upgrade script (93863bb3) * **deps:** * update dependency nodebb-theme-vanilla to v11.3.8 (#9031) (18707940) * update dependency nodebb-theme-slick to v1.3.5 (#9030) (4085f3e6) * update dependency nodebb-theme-persona to v10.2.98 (#9029) (f7d60c43) * update dependency nodebb-theme-persona to v10.2.97 (42b23a3b) * update dependency nodebb-plugin-composer-default to v6.4.10 (#9025) (43bbfb67) * update dependency nodebb-theme-vanilla to v11.3.7 (#9024) (3f597a55) * update dependency nodebb-plugin-composer-default to v6.4.9 (#9023) (110186b9) * update dependency nodebb-theme-slick to v1.3.4 (#9022) (8dc1437e) * update dependency nodebb-theme-persona to v10.2.96 (#9021) (2c9cd286) * update dependency nodebb-plugin-composer-default to v6.4.8 (#9017) (1f5f2e1d) * update dependency nodebb-plugin-markdown to v8.12.3 (9004319e) * update dependency validator to v13.5.1 (7b39cf4b) * update dependency nodebb-theme-persona to v10.2.95 (#9001) (4ddab380) * update dependency nodebb-theme-persona to v10.2.94 (#9000) (877d8554) * update dependency nodebb-theme-persona to v10.2.93 (#8999) (c44d9d2f) * update dependency nodebb-theme-persona to v10.2.92 (#8995) (346b91eb) * update dependency nodebb-theme-vanilla to v11.3.6 (#8987) (6c980db1) * update dependency nodebb-theme-persona to v10.2.91 (#8986) (8258536a) * update dependency autoprefixer to v10.0.4 (#8985) (fad2d342) * update dependency nodebb-plugin-markdown to v8.12.2 (f5714452) * update dependency nodebb-theme-persona to v10.2.90 (5664807d) * update dependency nodebb-theme-vanilla to v11.3.5 (19fe2493) * update dependency nodebb-theme-persona to v10.2.89 (ad60bc06) * update dependency autoprefixer to v10.0.3 (b2f0d38f) * update dependency benchpressjs to v2.3.0 (6c316be4) * **openapi:** * spec for c1a7968d23f0809e7012edfccf49b193749998ec (69864b87) * spec for 685f3c6aa6173383d6c31b87ed51cf8ed0ca44ce (1bb75e76) * **acp:** * #9008 undefined link for "no users browsing" state on dashboard (54dc449f) * #9009 no-users-browsing untranslated on dashboard (286243cd) * **spec:** * from 6e6a7a8f8a9a75500ba1f336cabc882234212f88 (acb57666) * breaking tests (88a60473) * broken test due to canFlag addition (1b1205a9) ##### Refactors * remove old hack (73746bb4) * add TopicObjectSlim common schema (22715d54) * pin/lock threadTools to use topicCommand, rewrote topicCommand to match categoryCommand signature (15c6f32c) #### v1.15.3 (2020-11-26) ##### Chores * bump persona (720170a9) * remove console.log (6a819944) * move topic route schema up two levels as slug and index are optional (ae402e21) * move category route schema up two levels as slug and index are optional (b3b501d7) * up persona (0ffc091b) * up persona (2f2f0ab7) * up persona (5c9ff18e) * add missing plugin hook deprecation warning (98a05e4d) * pin autoprefixer to latest (46eb7701) * incrementing version number - v1.15.3-beta.0 (28fa03bd) * up persona (81984285) * up slick (5f2fe883) * incrementing version number - v1.15.2 (5867a5b9) * update changelog for v1.15.2 (37965d45) * **spec:** replace ugly hack with another hack for optional properties (45a4f136) * **deps:** * update dependency lint-staged to v10.5.2 (db205e2e) * update dependency eslint to v7.14.0 (80404216) ##### New Features * add topicOwnerPost #8778 (c037779f) * clear reset tokens on user delete (4f37eddc) * select/clear all checkboxes in privilege table (#8941) (00e75de7) * show ban reason and expiry in write api responses, if user is banned (afb26bfe) * automatically unban users in onSuccessfulLogin (6e5ec3f8) * #8925, #8924 (3f337b5d) * human readable uptime (672d4da0) * allow ACP API access to bearer tokens (3b1c03ed) * allow pins to expire (if set) (#8908) (046d0b16) * #8637 (903e9d82) * add displayname into user obj #8637 (#8909) (9ca44e6f) ##### Bug Fixes * **deps:** * update dependency nodebb-theme-persona to v10.2.87 (#8946) (167ab3a4) * update dependency nodebb-theme-persona to v10.2.86 (#8945) (5af5cb85) * update dependency nconf to ^0.11.0 (58152606) * update dependency postcss to v8.1.10 (5363ebbb) * update dependency nodebb-theme-persona to v10.2.85 (#8928) (abc32d62) * update dependency postcss to v8.1.9 (d1cb5d48) * update dependency postcss to v8.1.8 (b47a470b) * update dependency nodebb-theme-vanilla to v11.3.4 (#8914) (589f7a56) * update dependency nodebb-theme-persona to v10.2.80 (#8913) (38127b04) * update dependency nodebb-theme-persona to v10.2.79 (#8907) (8e1b2458) * update dependency nodebb-theme-persona to v10.2.75 (b9856179) * add topic uid to infinitescroll (6771ca15) * #8943, session mismatch modal thrown on login (race condition) (d5845169) * #8912 (ac734b83) * #8918 (e32cd31e) * basepath for r.js modules (3af4d13f) * test (61c6a762) * move meta.getServerTime call to admin namespace (1c0e8c16) * add client side check for userslug #8939 (f20c12ee) * #8939, fix username change notification getting filtered out (0ca40af8) * #8931, fix lang string (cf903e4e) * #8932, fix client side error when updating username (95a3f030) * bug with Topics.resizeAndUploadThumb not checking for extension validity (eab4ca71) * #8933 (2b73a14e) * #8929, fix popular, top rss feed urls (77f0bff5) * a derp (5dd3b031) * spec (b18e7e31) * improper handling of scheme-relative URLs in topic thumb logic (4ca62dc4) * https://github.com/NodeBB/NodeBB/pull/8685 (5fa09832) * on OP edit, call helper method to upload and resize thumb (f33a9185) * https://github.com/NodeBB/NodeBB/pull/8759 (9ee1fb49) * spec (c2bb6123) * guest displayname (1be08b2e) * show messages after app load (46acbfda) * restart on js changes in vendor (814771bd) * #8915, fix queue not being cleared after firing click events (6ef7e867) * spec, only call modifyUser on unique user objects (dbd814c2) * setting (ae5d4405) * spec (8d060065) * group userTitles translation escapes (e9585b9b) * remove params from error log (965671a9) * **spec:** always show thumb in topic response (493c568a) ##### Refactors * remove unused require (db1c140f) * move API banned response handler to separate internal method (906d7d73) * move plugin hook methods to plugin.hooks.* (6e2da996) * remove breaking change in pin expiry (ef3df47a) * use categoryCommand local method for pin/lock in category tools (#8917) (00aee84b) #### v1.15.2 (2020-11-18) ##### Chores * incrementing version number - v1.15.2-beta.1 (20c05e80) * remove debug log (0a0b4661) * incrementing version number - v1.15.2-beta.0 (996174a1) * **deps:** update dependency smtp-server to v3.8.0 (5f5f0edb) ##### Documentation Changes * openapi schema for user/group exist check, session deletion (bcccb331) ##### New Features * #5274 (4e9b10ab) * #4456 (fb567a7a) * #8475, allow flagging self posts (a6afcfd5) * #7550, show message if post is queued when js is disabled (120999bf) * #8171, add oldCategory if topic is moved (35f932cd) * #8204, separate notification type for group chats (b44ddecd) * add test for custom translations (7928036a) * https://github.com/NodeBB/NodeBB/issues/8147 (1d6bcbeb) * invites regardless of registration type, invite privilege, groups to join on acceptance (#8786) (3ccebf11) * add nodejs version to issue template (29c2ca94) * allow groups to specify which cids to show member posts from (#8875) (8518404e) * **api:** account deletion routes for the Write API (#8881) (a0b7a823) * **deps:** benchpressjs@2.2.1 (#8887) (d30ea256) ##### Bug Fixes * #6407, fix feeds (fa4177c3) * navigation highlight (62b62821) * benchpress warnings (a87ccccc) * benchpress warnings (dfdc0c42) * internal helper method hasGlobalPrivilege, DRY (e1d7c4d8) * spec (2f4653a3) * #8884, remove header/footer cache (e4d2764d) * check tid in event handlers client side (9dac9630) * #8883 (f14e42d8) * #8872 missing admin/menu language key+fallback (fdab76f8) * run every hour, dont show message if average_time is 0 (51b7eca1) * add back test timeout for exports (b3e00489) * pass length to messaging checkContent hook (dc9668e4) * **deps:** * update dependency nodebb-theme-persona to v10.2.74 (#8905) (5f6137f0) * update dependency nodebb-theme-persona to v10.2.73 (#8904) (c2019b7b) * update dependency nodebb-plugin-composer-default to v6.4.7 (#8902) (b7b1f203) * update dependency nodebb-theme-persona to v10.2.72 (#8903) (bee8cfe4) * update dependency nodebb-theme-vanilla to v11.3.3 (422aa7f0) * update dependency nodebb-theme-persona to v10.2.71 (3b6e71d5) * update dependency nodebb-theme-persona to v10.2.70 (d6dd1cb6) * update dependency nodebb-theme-slick to v1.3.2 (2ce1fcd3) * update dependency nodebb-theme-vanilla to v11.3.2 (9f2d0d42) * update dependency nodebb-theme-persona to v10.2.69 (15810643) * update dependency sharp to v0.26.3 (84d54577) * update dependency nodebb-plugin-mentions to v2.13.5 (dde9f189) * update dependency json2csv to v5.0.5 (b63b7ae5) * update dependency benchpressjs to v2.2.2 (d1e804aa) * update dependency nodebb-theme-vanilla to v11.3.1 (#8878) (85aaeded) * update dependency nodebb-theme-slick to v1.3.1 (bbfb276a) * update dependency nodebb-theme-persona to v10.2.68 (ec70329a) * update dependency nodebb-plugin-spam-be-gone to v0.7.6 (#8877) (45922fae) * update dependency nodebb-plugin-spam-be-gone to v0.7.5 (#8876) (48e82520) * update dependency nodebb-plugin-spam-be-gone to v0.7.4 (#8874) (eab27f23) ##### Refactors * client-side handlers for user invitations (d83eb7f8) * async/await controllers/index.js (5598130a) * less dupe code (8fbe8324) ##### Tests * new api test to ensure each path's parameters are defined in context (97842c43) * updated test name to be more specific (319cfeaa) #### v1.15.1 (2020-11-11) ##### Chores * incrementing version number - v1.15.1-beta.0 (e033da8a) * fallback l10n for admin-settings-api (8368c25b) * **deps:** * update dependency eslint to v7.13.0 (bcbc0854) * update dependency eslint-config-airbnb-base to v14.2.1 (d227fe9f) * update commitlint monorepo to v11 (90bcfa6d) ##### New Features * #8864, add action:events.log (9c5c32d4) * show db info side by side (62c0454c) * add language keys for admin-settings-api (d32e4e02) * #8824, cache refactor (#8851) (f1f9b225) * move mkdirp to beforeBuild so it doesnt get called twice (6255874e) * group exists API call in write api (d2631922) * user exist route in write api (1446cec7) * new shorthand route /api/v3/users/bySlug/:userslug (60e1e99b) * allow passwords with length > 73 characters (#8818) (512f6de6) * #8821, allow guest topic views (9e3eb5d4) ##### Bug Fixes * #8869, dont escape category title,description twice (567c5f20) * refresh flags list on bulk action success (769aba0a) * test breakage from f300c933a50263039a57811f8cc716df39a138b0 (ee4d90f6) * remove some unnecessary jquery wrappers (9f7902ef) * send back jquery object to keep backwards compat (978f1ee0) * use header/footer cache in prod (a0164b1c) * add missing maxAge to cache (05a92885) * clear header-cache after each suite (3f5f38dd) * show msg on fail (255cf43e) * spec (fe63c6ae) * guest header/footer cache (2e446392) * #8846, possible fix (74951f59) * winston error message (16d03975) * permanent redirect on user api redirect shorthand (6b196a20) * user exist route needs no authentication (f2bb42c0) * #8840, don't crash if /compose route is called with no query params (c61dee4b) * XSS in event:banned messaging modal (f68bce86) * #8838, fix chat dropdown timestamps (78ee8332) * #8836, truncate fullname (76cd5b0f) * #8827, do not require admin:users privilege to ban users (891a1ea2) * **deps:** * update dependency nodebb-plugin-mentions to v2.13.4 (1460a7a8) * update dependency diff to v5 (72d1b3cd) * update dependency nodebb-theme-persona to v10.2.67 (#8847) (e250c3f1) * update dependency json2csv to v5.0.4 (#8865) (ba7b23ac) * update dependency postcss to v8.1.7 (#8866) (2946bb16) * update dependency nodebb-theme-slick to v1.2.40 (#8863) (20f4fe08) * update dependency nodebb-plugin-mentions to v2.13.3 (#8862) (c18f4491) * update dependency benchpressjs to v2.1.0 (14ba6383) * update dependency benchpressjs to v2.0.9 (381a32ab) * update dependency mongodb to v3.6.3 (#8841) (7e273e77) * update dependency nodebb-theme-persona to v10.2.66 (#8839) (00f90cd9) * update dependency nodebb-plugin-mentions to v2.13.2 (#8835) (064c99cd) * update dependency postcss to v8.1.6 (e0cf9740) * update dependency @nodebb/socket.io-adapter-mongo to v3.1.1 (#8831) (40eb658b) * update dependency @nodebb/mubsub to v1.7.1 (#8830) (7b8a5567) * update dependency postcss to v8.1.5 (9f5ef9d0) * **#8828:** web install templates now compiled (#8832) (de5a21f1) * **acp:** max-height for plugin menu list (eec630f1) ##### Refactors * move session revocation route to write api (f300c933) * change Benchpress.parse to .render (#8856) (e128264b) #### 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) #### 1.14.3 (2020-07-08) ##### Bug Fixes * improper targetUid check during password change (c2477d9d) #### 1.14.2 (2020-07-15) ##### Chores * incrementing version number - v1.14.2 (1e4d683f) * update changelog for v1.14.2 (488e69fd) * up theme (63fb2ad7) * incrementing version number - v1.14.2-beta.1 (9d1465d0) * up theme (15aabfd3) * up theme (599c5015) * incrementing version number - v1.14.2-beta.0 (fca4ee31) * incrementing version number - v1.14.1 (31203b16) * update changelog for v1.14.1 (d4c16086) * **deps:** update commitlint monorepo to v9.1.1 (0ca7e28a) ##### New Features * logic for flag note editing, #8499 (14417209) * logic for flag note deletion, #8499 (f85a45c7) * #8460, export groups members as csv (00d39fb3) * pass connection options to socket.io-adapter-mongo (393f19b4) * #8023, allow wildcard search for uid/email (3dcf5387) * up composer (6235b31c) * #8427, daily downvote limits (c513b88d) * warn user if whitelisted tags are less than minTags (4adbf87c) ##### Bug Fixes * **deps:** * update dependency nodebb-plugin-mentions to v2.9.1 (c54287fe) * update dependency nodebb-plugin-mentions to v2.9.0 (7730e7da) * update dependency nodebb-theme-persona to v10.1.62 (#8485) (4e9743ab) * update dependency nodebb-plugin-composer-default to v6.3.49 (#8479) (ab244ca6) * #8499 (65240a17) * #8500 (5e984d10) * invalid session error modal during logout (2286ee2a) * #8488 (b3a88331) * category search in selector (46a66863) * groups.updateCover (73ddf1cb) * **docs:** bad changelog (60bf488f) ##### Other Changes * update changelog for v1.14.2" (e085c846) * flag.showModal on flag modal appearance (3379d65f) * NodeBB/NodeBB (2fba0a14) * update changelog for v1.14.1" (26c74409) #### 1.14.1 (2020-07-08) ##### Chores * incrementing version number - v1.14.1 (31203b16) * update changelog for v1.14.1 (d4c16086) * incrementing version number - v1.14.1-beta.3 (e8ecef6b) * incrementing version number - v1.14.1-beta.2 (b8d9b6b1) * incrementing version number - v1.14.1-beta.1 (be85123a) * incrementing version number - v1.14.1-beta.0 (c279875a) * incrementing version number - v1.14.0 (bb73d6a4) * update changelog for v1.14.0 (cffae0f1) ##### New Features * add tools to recent/unread (#8477) (658dd03b) * fire new hooks on chat message editing (4f51838d) * add back redis tests (bdc4d9e7) * remove redis test (8461a179) * use covered query (057b783d) * add js-enabled.css to list of preloaded css files (da29b947) * zscan (#8457) (723fe8e8) * fix blocksCount not being returned on user profile (bd228d5e) ##### Bug Fixes * **deps:** * update dependency nodebb-theme-persona to v10.1.60 (#8478) (14eafcb6) * bump nodebb-plugin-composer-default to 6.3.48 (943a344a) * update dependency nodebb-plugin-dbsearch to v4.1.1 (#8476) (9f06f12c) * update dependency nodebb-plugin-composer-default to v6.3.47 (#8473) (857900f1) * update dependency nodebb-plugin-dbsearch to v4.1.0 (#8471) (eb51cfd4) * update dependency nodebb-theme-persona to v10.1.59 (#8468) (ee38e05d) * update dependency nodebb-widget-essentials to v4.1.1 (#8466) (519e035d) * update dependency @nodebb/socket.io-adapter-mongo to v3.0.1 (#8464) (412ca4ae) * #8474 (c2ca02df) * show stack properly (7b04d897) * editing chat messages does not go through content sanity checks (9a6b87d2) * don't show blocked users under nested replies (d6c619cf) * tests (87dd6c83) * handle scan/zscan returning duplicate elements on redis (746222d6) * #8467, fix url to merged topic in subfolder installs (9eb748b9) * openapi (5f1865c0) * openapi (65c0adc7) * dont allow searching by email/ip if not privileged (ac6b571e) * missing backgroundImage #8386 (fef04fcf) * dont allow searching by ip/banned/flagged for regular users (02ac44cc) * admin privileges client-side regression (f3441fce) * only add blocksCount for self and admins (59a2ace6) * tests (fd20e5c6) * better changelog (f992af05) * **tests:** * another shot in the dark (8853cd1a) * shot in the dark (9458d90b) * **openapi:** tests (c468942f) ##### Other Changes * update changelog for v1.14.1" (26c74409) * //github.com/NodeBB/NodeBB (0d9461b1) * //github.com/NodeBB/NodeBB (ace312e0) * post.changeOwner (b60e1cbf) ##### Reverts * bad changelog (a761e31f) #### 1.14.0 (2020-07-02) ##### Chores * incrementing version number - v1.14.0 (bb73d6a4) * update changelog for v1.14.0 (cffae0f1) * bump persona (19f9af94) * latest translations and fallbacks (22879633) * incrementing version number - v1.13.3 (ee583e80) * bump persona (d2bd746c) * incrementing version number - v1.13.2 (beafd613) * **deps:** * update dependency smtp-server to v3.7.0 (e80100b5) * update dependency eslint to v7.3.1 (#8417) (33492744) * update commitlint monorepo to v9 (569b7664) * update dependency lint-staged to v10.2.11 (157e7444) * update dependency lint-staged to v10.2.10 (102a6004) * update dependency mocha to v8 (#8393) (f4bace03) * update dependency eslint to v7.2.0 (cd1375cb) * update dependency eslint-plugin-import to v2.21.1 (4b577a52) * update dependency lint-staged to v10.2.9 (#8369) (124125f7) * update dependency lint-staged to v10.2.8 (331b1a85) * update dependency lint-staged to v10.2.7 (d1df0826) * update dependency mocha to v7.2.0 (ecaa9b76) * update dependency eslint to v7.1.0 (e62d892a) * update dependency lint-staged to v10.2.6 (78d562b3) * update dependency lint-staged to v10.2.4 (a26011e7) * update dependency eslint to v7 (28df9aba) * update dependency coveralls to v3.1.0 (5ed4a108) * pin dependency @apidevtools/swagger-parser to 9.0.1 (51eccef5) * update dependency husky to v4.2.5 (30a25983) * update dependency husky to v4.2.4 (0a650118) * update dependency lint-staged to v10.1.3 (a9e68639) * update dependency nyc to v15.0.1 (#8231) (a3789e28) * update dependency lint-staged to v10.1.2 (#8235) (e1919c90) * update dependency lint-staged to v10.1.1 (944a6f58) * update dependency lint-staged to v10.1.0 (30bd233b) * update dependency eslint-config-airbnb-base to v14.1.0 (811c3aee) * update dependency jsdom to v16.2.2 (c5a7242d) * update dependency eslint-plugin-import to v2.20.2 (b92c1600) * update dependency lint-staged to v10.0.10 (0ad4b556) * update dependency coveralls to v3.0.11 (14458087) * update dependency smtp-server to v3.6.0 (22681945) * update dependency mocha to v7.1.1 (#8215) (c5356541) * update dependency grunt to v1.1.0 (#8214) (b0864e7c) * update dependency husky to v4.2.3 (#8162) (776fe9d2) * update dependency lint-staged to v10.0.8 (#8180) (13d8f6f1) * update dependency eslint-plugin-import to v2.20.1 (#8081) (4cdb3131) * update dependency jsdom to v16.2.1 (#8165) (fbd95a50) * update dependency husky to v4.2.2 (#8160) (f4ed35c9) * update dependency jsdom to v16 (#8114) (1037de02) ##### Documentation Changes * updated changelog (146388aa) ##### New Features * polish for user blocks UX (6cb31791) * #8450, next/prev link tags on /unread /recent (eb9704f8) * allow flagging of user acounts from post tools menu (6931f29d) * closes #8440, allow configuring max topic count (e09ab3dc) * add missing translation key (bffb830d) * #3783, min/max tags per category (c718b729) * use tags partial instead of post_bar (0482fb29) * hide elements if search element is a direct child of dropdown (4f6b6c56) * increase wait (6aecc177) * move export functions into child processes (8383992d) * display stack trace on winston.error (e80379dc) * show more relevant snippets (f70d1648) * #8412 breadcrumbs for ip-blacklist/post queue/flags (35a06a84) * show editor in post diffs if available (f909ed25) * #8408 flags' quick assignment (d5af9769) * bump themes, closes #8406 (cb5ba76b) * allow post diffs to be restored, #8406 (58b3d608) * add missing translation (3a80a165) * up composer (96cb94dc) * more search changes (6349fa03) * more merge/search fixes (4b38533b) * merge changes (bb3aa540) * more search & merge fixes (5fd05dc9) * merge improvements wip (c4bdeae0) * #8387 expose global and admin privs to flags detail page (4acb3fb2) * redirect /me to user profile (3be4d5f7) * #8384 options to delete account, content, or both (4d60eac6) * account content deletion, closes #8381 (67aca822) * add missing language files for #8347 (656b391f) * privileges for Admin Control Panel (#8355) (a82e9bd7) * add buildHeaderAsync (#8367) (842b8abb) * #8360 flag quick actions for delete/restore/purge (8ea16348) * #8349, remove user posts from queue if user is deleted (5a2b5154) * up plugins (5b009e07) * add results into results container (9ffcb6f7) * quick search changes (f12d448e) * move quick search into search module (bb1a56f0) * fix session mismatch errors by clearing cookie on logout (#8338) (5781a2dc) * add getSortedSetMembers (0009f54e) * add privilege give/rescind hooks (#8336) (ec5582b5) * filter followed tids by category (f3afba61) * use getSortedSetsMembers to load followed tids (1b9e8928) * add batch size to cursors (a015af4a) * up cache size (9600ede5) * tweak intersection code, add tests (4ee3543e) * change to contains to match scoped modules (6108064e) * improve grunt restart/rebuild speed (cb662e15) * don't overwrite req.query.lang if it exists (4263efa0) * convert queries so they used indices directly (12c6bc2e) * cookie SameSite property (ae2db423) * if only one value is passed used faster function (2587112f) * closes #8316, add more data to export profile (f0323b6c) * throw error if uid is missing for update (1d3fa3bc) * ignore mongodb playground file (a219285e) * parse quick search tpl even if no results (765b8156) * match hook property to topic property (0e58fa33) * add methods for adding/removing tags from topics (bfad4572) * write-api update, WIP (9fd5c439) * closes #8308, edit post notif for watched topic posts (a73c755b) * add null tests for sorted sets (edf9fe3b) * Add hooks for user blocks (#8296) (c4545381) * allow activating additional plugins for testing via config.json (a969c5ce) * move plugin tests to separate file (3a23ddab) * remove node14 for now (a72e4429) * reduce infinite scroll area (3fcbd691) * manifest.json improvements from #8126 (#8264) (6e5ebb61) * show error if json is invalid (15345627) * moved component specs into separate files (cd506557) * added UserObject, UserObjectFull, Breadcrumb, Pagination component (64d79fe5) * added some summary and descriptions (ae3e90d6) * add some descriptions (442c018e) * common schema (eade13f9) * openapi component (1af5507a) * add page query param to docs (9987813f) * tag route doc (bbddaadf) * local redoc view on development mode only (1136a369) * added auto-generated, slimmed-down openapi 3.0 file for read api (7b155dab) * add parent cids to body class (23571224) * add 2 hooks for modifying privileges (d080c7b0) * add user ip to admin/dev/info (5e91a67e) * change option name (cba5b23e) * add no-build to ./nodebb setup (476f6717) * add awaitable socket.emit (4083a6e3) * settings sorted list (#8170) (3c9689a5) * guard against accidental ommision (79737c53) * **docs:** updated changelog (87c1687d) * **openapi:** * merging openapi-test branch into master (8387178b) * move all commonprops out for commonprops component (65c78de6) * added template to commonprops (2425f453) ##### Bug Fixes * **deps:** * update dependency nodebb-plugin-composer-default to v6.3.46 (5a713d85) * update dependency nodebb-plugin-mentions to v2.8.3 (#8449) (bbd85049) * update dependency nodebb-plugin-mentions to v2.8.0 (d40720f9) * update dependency nodebb-plugin-composer-default to v6.3.44 (#8436) (c1991abe) * update dependency winston to v3.3.3 (#8431) (6a8f54fd) * update dependency nodebb-theme-persona to v10.1.55 (#8434) (a860a793) * update dependency nodebb-theme-vanilla to v11.1.30 (#8435) (272b4992) * update dependency nodebb-theme-vanilla to v11.1.29 (#8429) (b5a68a44) * update dependency nodebb-theme-persona to v10.1.54 (#8428) (3ffb6fde) * update dependency winston to v3.3.2 (54310d69) * update dependency nodebb-plugin-spam-be-gone to v0.7.2 (11244348) * update dependency winston to v3.3.1 (#8421) (fd628570) * #8412 bump themes (365996e7) * bump persona/vanilla, closes #8408 (225cac18) * update dependency sharp to v0.25.4 (#8403) (3c3e1515) * update dependency nodebb-theme-vanilla to v11.1.25 (#8405) (90446365) * update dependency nodebb-theme-persona to v10.1.50 (#8404) (44273a64) * update dependency mongodb to v3.5.9 (#8402) (90570660) * update dependency nodebb-plugin-composer-default to v6.3.43 (78b7382c) * update dependency validator to v13.1.1 (#8397) (2ae68f9b) * update dependency validator to v13.1.0 (#8391) (ad6e3634) * update dependency nodebb-theme-vanilla to v11.1.24 (#8395) (eec03de8) * update dependency nodebb-theme-persona to v10.1.49 (#8394) (90846740) * update dependency postcss to v7.0.32 (87ce31d1) * update dependency nodebb-plugin-composer-default to v6.3.41 (dde830db) * update dependency nodebb-plugin-composer-default to v6.3.40 (#8388) (cf0f8f64) * bump themes, closes #8387 (e97a2b71) * bump themes (ccac6a35) * update dependency nodebb-theme-persona to v10.1.46 (#8382) (036e6ef5) * update dependency nodebb-theme-vanilla to v11.1.21 (#8383) (7caeb273) * update dependency nodebb-plugin-composer-default to v6.3.39 (aeefc60b) * update dependency nodebb-plugin-composer-default to v6.3.37 (7f6ff0b1) * update dependency nodebb-plugin-composer-default to v6.3.36 (6b2ea077) * update dependency nodebb-plugin-composer-default to v6.3.35 (2d582df7) * update dependency nodebb-theme-persona to v10.1.45 (#8372) (771ea194) * update dependency nodebb-theme-vanilla to v11.1.20 (#8373) (f8ee981b) * update dependency socket.io-redis to v5.3.0 (#8370) (d2463bb4) * update dependency nodebb-theme-vanilla to v11.1.19 (f6ad9605) * update dependency nodebb-theme-persona to v10.1.44 (cb28e6cf) * update dependency nodebb-plugin-composer-default to v6.3.34 (#8357) (d7ab0894) * update dependency nodebb-plugin-composer-default to v6.3.33 (c4047179) * update dependency nodebb-plugin-spam-be-gone to v0.7.1 (27ab36ac) * update dependency nodebb-theme-persona to v10.1.43 (#8343) (dabff972) * update dependency mongodb to v3.5.8 (#8342) (8224127f) * update dependency nodebb-theme-persona to v10.1.40 (#8332) (a20af6e2) * update dependency nodebb-plugin-spam-be-gone to v0.7.0 (cc206b4d) * bump composer-default (827d42a9) * bump composer-default (a665881b) * update dependency nodebb-plugin-composer-default to v6.3.29 (bf8a2c2e) * update dependency postcss to v7.0.30 (#8288) (a532e2bb) * update dependency sharp to v0.25.3 (0437ecc2) * update dependency nodebb-plugin-composer-default to v6.3.28 (#8309) (f246057a) * update dependency nodebb-plugin-composer-default to v6.3.27 (#8307) (6d57d844) * #8298 bump persona (158d9231) * update dependency nodebb-plugin-composer-default to v6.3.25 (89d17647) * update dependency jquery to v3.5.1 [security] (#8281) (a69f0b29) * update dependency nodebb-rewards-essentials to v0.1.3 (#8289) (919034a7) * update dependency mongodb to v3.5.7 (#8279) (25d509c4) * actually, swagger-parser is a dev dependency (d09c6ae0) * missing @apidevtools/swagger-parser (f1720735) * update dependency nodebb-theme-persona to v10.1.37 (#8258) (b0c30ceb) * update dependency archiver to v4 (28777f67) * update dependency mongodb to v3.5.6 (#8256) (49236067) * bump dependencies (#8239) (e68156e1) * update dependency jsesc to v3.0.1 (#8243) (92b55ef5) * update dependency jsesc to v3 (bb70cebb) * update dependency pg to v8 (#8227) (ac98775f) * update dependency validator to v13 (f497ee62) * update dependency sharp to v0.25.2 (#8220) (dd660c87) * bump markdown (ee6cb412) * update dependency mongodb to v3.5.5 (#8205) (5535c50c) * update dependency sitemap to v6 (#8198) (2052f14c) * update dependency nodebb-plugin-composer-default to v6.3.23 (6d98d5a1) * update dependency sharp to v0.25.1 (#8199) (21e91c91) * update dependency nodebb-plugin-composer-default to v6.3.22 (#8193) (e01f05e3) * update dependency nodebb-theme-slick to v1.2.29 (#8177) (9daa21ff) * update dependency nodebb-theme-vanilla to v11.1.16 (#8178) (7d6a983b) * update dependency nodebb-theme-persona to v10.1.35 (#8176) (3acc24b0) * update dependency sharp to v0.24.1 (#8164) (7cc63f7d) * update dependency mongodb to v3.5.3 (#8161) (4b907137) * update dependency nodebb-widget-essentials to v4.1.0 (#8159) (a5f3c2a2) * update dependency request to v2.88.2 (#8158) (7fde180a) * update dependency redis to v3 (#8152) (ef964b11) * update dependency rimraf to v3.0.2 (#8153) (d8efc6b6) * don't show in unreplied if score is null (fd400a00) * lint (0d0b9513) * upgrade script to unescape navigation titles (37b6b8fd) * test (f0ce309d) * show controls @julianlam (023de94e) * #8437, #8433 (e53a18f2) * copy settings showing empty category selection (ed4b5caf) * don't init autocomplete if user doesn't have privs (8482a54a) * only allow valid uids (00d8ce26) * tests (f03ca086) * vulnerability in cover and admin uploads (#8419) (48b41deb) * reverse tabnabbing exploit in post images (040e6a9a) * follower count going out of sync with real follower count (2bcf7f72) * test lock for user create (#8415) (bef37e27) * add mising timestamp (f0526bff) * ban (bfd7eafe) * remove use of 'hidden' class in navbar toggling (5a367ecb) * bug where category privs page thought it was on admin (2515aa77) * #8410 (b3115ea8) * tests breaking due to #8406 (d5578c99) * add missing translations (42466d3c) * #8401, #8237 (7ed1a014) * add timestamp to initial username history (18d89239) * crash in export posts if post content is undefined (53a9517d) * messaging unread (0041c024) * whitespace (a024cc13) * typo (0595e710) * #8392, clear group member cache when group is renamed (89b01024) * return false (8591f5d2) * language (a255c8f6) * #8386, use backgroundImage everywhere (8627bee5) * prevent logout form from submitting (d92032da) * missing space in ACP menu dropdown (daeceb45) * #8385 (942cc4b1) * acp language keys from #8347 not updated in tx config (9ae7fd3e) * #8363, dont break history (50703db8) * #8363, go to hash when entering topic (0c265a41) * #8374, revert event delete (30cc83c0) * new language tag for select_tags (09184f40) * remove duplicate link to manage/tags in settings/tags (260a482c) * tests (3a078f59) * handle search tag permission as well (1b5d5425) * checking correct permissions for user search (#8371) (f6b92d24) * change event name so it doesnt trigger complete event (7786187e) * clear error log before checking (75b3a81d) * #8323, let admins send validation emails without timeout (e603ebc0) * #8352, remove webfonts (#8354) (de7ec47f) * more tests (da90fd56) * tests due to 0633ad327 (98dffa3a) * retry failed setObject calls (2c9e8657) * acp menu items (0633ad32) * re-jigged tags acp pages (a83f4259) * move checks into timeout (47d73a2a) * #8339, add missing translation (a9315aee) * don't explode if server sends `checkSession` (84c20f91) * eliminate unnecessary try..catch (f0e59c14) * test breakages from 8d995d1eb609837e4e6e4c77cd855766830378fa (a66fe013) * #8320, dont load moderators separately for each category (0a31e3e6) * show stack trace on startup errors (11bb6abb) * don't trigger quick search if val doesn't change (d6c2764f) * prevent duplicate search triggers (6f78113e) * user faster method if sorting by smallest set (3ec05eea) * add txt to list of default allowed file extensions (01bff2ae) * search post snipets incase content is plain text (ada45a34) * derp includes (d484731d) * another test fix (f2907908) * tests (feb748a4) * tests on redis (7a801aba) * tests, handle no sessions (8bf980cb) * #8318, clean expired sessions on login and get (a0d76ff0) * tests (a032e12b) * #8317 (81e33b93) * #8142 invalid session warning if server-side session destroyed (526b3cd9) * check privileges before exporting post/topic data (5fd81c5c) * exporting posts (dfae664e) * undefined uid when downloading posts (bdda0222) * #8311, fix allowUserHomePage value (1ba6929c) * dont crash if topic is null (e20ad5c5) * if category in selector has url use it (1f992cf3) * convert cids to string for comparison (c47a1c4d) * missing await (97c086ab) * add missing schema item (4e14cb57) * category selector disabled categories (337be368) * #8305, don't use null values (6a5e86dc) * #8302, send string to writeFileSync (d09bd2cf) * winston showing json object (7d081843) * sortable topics even if only 1 pinned topic (6765de3d) * #8298, use class name added by jQueryUI instead (dd2bc189) * topic search shortcut for macs (f2c725c6) * #8297, uids.length is different than topics.length (0431d75f) * #8297 guest handles shown in category.tpl (fcb81cb8) * only add to set if numRecentReplies>0 (16a98eaf) * #8293, don't show error if there are no self messages (be305410) * failing tests @julianlam (ecd622fd) * #3321, run plugin tests for installed plugins (a6bb9f43) * remove deprecated mocha.opts (3d0db963) * spec (84383d39) * #8290, if there are no filters go to ?reset=1 (9839346e) * #8283, update gdpr link again (2d076344) * add missing await (4f1128fd) * #8287, dont readd user after deletion (9d153fd3) * missing await (4d6b2ec3) * #8286, rescind notif when its resolved/rejected (0391856d) * #8284, parse ToS on register (0ca84bd9) * #8283, point to official site (17d664e0) * jquery xhtml violations (275e837b) * #8274 Don't escape HTML in manage users (#8275) (4855f1de) * crash in topic controller (0c7c70ed) * crash when res.locals.linkTags is undefined (7cab2b0f) * #8272 user link in digest email (e80b8101) * tag of /api/unread/total (9ffdab02) * response hook logic (5a1c6ee7) * remove upload picture test (avatars) (6edf02d4) * remove tests related to group covers, as route is gone (442fe65f) * #8269, return array of topics from hook (4eafe0f0) * remove dead picture upload code #8260 (ef52461f) * path.resolve to logs file (5bcaf715) * only trigger infinitescroll on scroll end (ba6d3fd3) * wrong data returned in available.groups (c7ea84a2) * no focus on find user modal (1b425ef1) * accidental fp precision on flag and acp dash graphs (bcbf98aa) * #8232, unresolvable session mismatch on register cancel (f2f6fbf1) * pin jquery to 3.4.1, #8252 (e440d617) * #8249, don't send move notifications for deleted posts/topics (d77036db) * missing descriptions for common properties (7b31fb34) * some definitions in read API spec (03739b6f) * tagged all routes in read api spec (455d42bc) * override ACAO header for read API spec file (240d9091) * throw error if topic does not exist (59cf0e80) * hookname (e93578b8) * #8230, add hook getUserDataByUserSlug (0d1b5a7f) * ignore case for group details route (15d6975e) * lint (740e598a) * lint (8e23dec8) * #8221, fix parent selection (08031730) * invite properly (071506eb) * admins not seeing invite button (8f4b99a4) * #8217, add missing lang key (0b5fac75) * #8206 first message in chat has false `newSet` (93acd139) * #8203, fix user invites refreshing page (2f9c7c62) * #8202, filter non-existing users in search by uid (f07f4f8e) * notification bodyShort truncated if there is a comma in topic title (266061c3) * hsts max-age missing translation (b67af70d) * call next (80f1bcad) * try travis fix again (05bee629) * try fixing psql on travis (bc9e92a1) * dont let regular users see other users watched categories (cf6eadb9) * also fix updating bookmark if sorting is newest_to_oldest (6e5de39b) * #8188, fix bookmark if sorting is newest_to_oldest (32ada7c4) * duplicate ID + label (ac241fb8) * #8184 global mods unable to revoke other user sessions (f0db240a) * return null if field does not exist (e72a29b3) * #8179, limit length of location/website/fullname, check grouptitle (14e78667) * tag key (32636755) * #8175 (bc93b567) * #8168 re-allowing slashes in homePageRoute (667608a0) * tweak to session validation in addHeaders (eddbd868) * only call clearCookie for logged in users (630f5d5b) * #6422, update deleted/restored messages (06703408) * #8163, prevent account deletion (4d0636f8) * register (5a0c7c14) * #8157, update recent tid when post is moved (e7495440) * tests (b73aa84d) * move start/stop every iteration (dd3893b1) * #8154, move start/stop every iteration (300c04ce) * #8154, respect stop (690bb69d) * #8156 dont allow loading members from hidden groups (f23bc347) * #8155, don't validate name on update if groupName didn't change (03a02e5d) * return correct number of suggested topics (236e1e68) * #8151, don't crash if taskbar doesn't have element (2e794801) * logic for determining dailyStats hour vars (398f0120) * fix daily analytics being one day off (9ecdb92f) * remove debug line (0b9ad416) * no decimal places for category analytics (14655f87) * #8142, broken site if no server-side session (#8148) (d6e3f3f0) * #8144 pluginHooks in maintenance mode middleware (0885ec68) * **openapi:** * tests for #8412 (4cae893f) * api change for #8387 (6a969442) * schema for new flags api (a0e243ee) * broken tests (45dfeeb0) * v14 test fix (23a0b8c5) * remove account and group upload routes (d342a28c) * more fleshing out (058a15db) * fleshed out admin routes (bae88e08) * added some descriptions (ab4bd7e1) * added PostsObject component (2395d2be) * finished moving all category objects out (23dd2727) * changed some descriptions (c939f8c6) * added CategoryObject component (55d0a9ff) * removed repeated breadcrumb blocks in favour of $ref (646fac1e) * remove all repeated pagination blocks in favour of (ac579f9d) * removed warning for category mods route (1cf62095) * normalising the file for programmatic updates (3a5c6e07) * **style:** * more switch..case (6b1d1acb) * switch..case (922d49be) * enforcing "better" indentation for switch..case (d135b6f7) * **docs:** added titles to all routes (aa4ae78b) ##### Other Changes * id, category fields (2355d9d5) * //github.com/NodeBB/NodeBB (c3c8b19a) * //github.com/NodeBB/NodeBB (0ddfb6b0) * //github.com/NodeBB/NodeBB (d1c1cb2c) * //github.com/NodeBB/NodeBB (79a7f892) * user.getFields to match topic/posts (a680a95e) * //github.com/NodeBB/NodeBB (b459592a) * //github.com/NodeBB/NodeBB (066b442e) * //github.com/NodeBB/NodeBB (fd6bf0c9) * //github.com/NodeBB/NodeBB (c1d8b9bb) * middleware.renderHeader (2727f472) * //github.com/NodeBB/NodeBB (69a87933) * uploadFile (7f24200c) * #8142 invalid session warning if server-side session destroyed" (e327d124) * ''}) (2a00b0e9) * //github.com/NodeBB/NodeBB (8c8cdc99) * categories.getRecentTopicReplies (aad0880f) * #8298 (2e57d8ac) * post.updatePostVoteCount (b25b51bd) * //github.com/NodeBB/NodeBB (5e140454) * categories.updateRecentTid (6c59683b) * categories.updateRecentTid (51933c1f) * router.page, dep. filter variant (0053e779) * flags as well (5ebcdb18) * crash when res.locals.linkTags is undefined" (fe03effe) * //github.com/NodeBB/NodeBB (87a6ff0d) * cnpm and pnpm (#8222) (e6a1741c) * //github.com/NodeBB/NodeBB (7ae76477) * openapi component" (683e5851) * override ACAO header for read API spec file" (c82a2637) * password.change (00e299e9) * topic.tools.load (5aa76cdf) * #8154, move start/stop every iteration" (4abe5eb7) * **deps:** update dependency nodebb-plugin-mentions to v2.8.0" (5c7d37c0) ##### Refactors * make code climate happier? (0d112b36) * shorter code (af790e3f) * shorter code (e8f0da6e) * change name to privileges to match other apis (2100a03c) * making rendering of header and footer async functions (023942da) * remove general menu from ACP (#8347) (a51fff8b) * use getSortedSetMembers (7d484fc0) * src/flags.js because codeclimate (cf00cda0) * flags detail page (8d995d1e) * move code (3b6d57e4) * remove console.log (40b5cbab) * shorter function (7e429884) * match core field name pinned (478ed6c1) * getUsersCSV to use batch lib (1efb238a) * reorganized socket.io admin modules (e1c6c3b2) ##### Reverts * bad changelog (a761e31f) #### 1.13.3 (2020-05-08) ##### Chores * incrementing version number - v1.13.3 (ee583e80) * bump persona (d2bd746c) * incrementing version number - v1.13.2 (beafd613) * **deps:** * update dependency coveralls to v3.1.0 (5ed4a108) * pin dependency @apidevtools/swagger-parser to 9.0.1 (51eccef5) * update dependency husky to v4.2.5 (30a25983) * update dependency husky to v4.2.4 (0a650118) * update dependency lint-staged to v10.1.3 (a9e68639) * update dependency nyc to v15.0.1 (#8231) (a3789e28) * update dependency lint-staged to v10.1.2 (#8235) (e1919c90) * update dependency lint-staged to v10.1.1 (944a6f58) * update dependency lint-staged to v10.1.0 (30bd233b) * update dependency eslint-config-airbnb-base to v14.1.0 (811c3aee) * update dependency jsdom to v16.2.2 (c5a7242d) * update dependency eslint-plugin-import to v2.20.2 (b92c1600) * update dependency lint-staged to v10.0.10 (0ad4b556) * update dependency coveralls to v3.0.11 (14458087) * update dependency smtp-server to v3.6.0 (22681945) * update dependency mocha to v7.1.1 (#8215) (c5356541) * update dependency grunt to v1.1.0 (#8214) (b0864e7c) * update dependency husky to v4.2.3 (#8162) (776fe9d2) * update dependency lint-staged to v10.0.8 (#8180) (13d8f6f1) * update dependency eslint-plugin-import to v2.20.1 (#8081) (4cdb3131) * update dependency jsdom to v16.2.1 (#8165) (fbd95a50) * update dependency husky to v4.2.2 (#8160) (f4ed35c9) * update dependency jsdom to v16 (#8114) (1037de02) ##### Documentation Changes * updated changelog (146388aa) ##### New Features * allow activating additional plugins for testing via config.json (a969c5ce) * move plugin tests to separate file (3a23ddab) * remove node14 for now (a72e4429) * reduce infinite scroll area (3fcbd691) * manifest.json improvements from #8126 (#8264) (6e5ebb61) * show error if json is invalid (15345627) * moved component specs into separate files (cd506557) * added UserObject, UserObjectFull, Breadcrumb, Pagination component (64d79fe5) * added some summary and descriptions (ae3e90d6) * add some descriptions (442c018e) * common schema (eade13f9) * openapi component (1af5507a) * add page query param to docs (9987813f) * tag route doc (bbddaadf) * local redoc view on development mode only (1136a369) * added auto-generated, slimmed-down openapi 3.0 file for read api (7b155dab) * add parent cids to body class (23571224) * add 2 hooks for modifying privileges (d080c7b0) * add user ip to admin/dev/info (5e91a67e) * change option name (cba5b23e) * add no-build to ./nodebb setup (476f6717) * add awaitable socket.emit (4083a6e3) * settings sorted list (#8170) (3c9689a5) * guard against accidental ommision (79737c53) * **openapi:** * merging openapi-test branch into master (8387178b) * move all commonprops out for commonprops component (65c78de6) * added template to commonprops (2425f453) ##### Bug Fixes * #8302, send string to writeFileSync (d09bd2cf) * winston showing json object (7d081843) * sortable topics even if only 1 pinned topic (6765de3d) * #8298, use class name added by jQueryUI instead (dd2bc189) * topic search shortcut for macs (f2c725c6) * #8297, uids.length is different than topics.length (0431d75f) * #8297 guest handles shown in category.tpl (fcb81cb8) * only add to set if numRecentReplies>0 (16a98eaf) * #8293, don't show error if there are no self messages (be305410) * failing tests @julianlam (ecd622fd) * #3321, run plugin tests for installed plugins (a6bb9f43) * remove deprecated mocha.opts (3d0db963) * spec (84383d39) * #8290, if there are no filters go to ?reset=1 (9839346e) * #8283, update gdpr link again (2d076344) * add missing await (4f1128fd) * #8287, dont readd user after deletion (9d153fd3) * missing await (4d6b2ec3) * #8286, rescind notif when its resolved/rejected (0391856d) * #8284, parse ToS on register (0ca84bd9) * #8283, point to official site (17d664e0) * jquery xhtml violations (275e837b) * #8274 Don't escape HTML in manage users (#8275) (4855f1de) * crash in topic controller (0c7c70ed) * crash when res.locals.linkTags is undefined (7cab2b0f) * #8272 user link in digest email (e80b8101) * tag of /api/unread/total (9ffdab02) * response hook logic (5a1c6ee7) * remove upload picture test (avatars) (6edf02d4) * remove tests related to group covers, as route is gone (442fe65f) * #8269, return array of topics from hook (4eafe0f0) * remove dead picture upload code #8260 (ef52461f) * path.resolve to logs file (5bcaf715) * only trigger infinitescroll on scroll end (ba6d3fd3) * wrong data returned in available.groups (c7ea84a2) * no focus on find user modal (1b425ef1) * accidental fp precision on flag and acp dash graphs (bcbf98aa) * #8232, unresolvable session mismatch on register cancel (f2f6fbf1) * pin jquery to 3.4.1, #8252 (e440d617) * #8249, don't send move notifications for deleted posts/topics (d77036db) * missing descriptions for common properties (7b31fb34) * some definitions in read API spec (03739b6f) * tagged all routes in read api spec (455d42bc) * override ACAO header for read API spec file (240d9091) * throw error if topic does not exist (59cf0e80) * hookname (e93578b8) * #8230, add hook getUserDataByUserSlug (0d1b5a7f) * ignore case for group details route (15d6975e) * lint (740e598a) * lint (8e23dec8) * #8221, fix parent selection (08031730) * invite properly (071506eb) * admins not seeing invite button (8f4b99a4) * #8217, add missing lang key (0b5fac75) * #8206 first message in chat has false `newSet` (93acd139) * #8203, fix user invites refreshing page (2f9c7c62) * #8202, filter non-existing users in search by uid (f07f4f8e) * notification bodyShort truncated if there is a comma in topic title (266061c3) * hsts max-age missing translation (b67af70d) * call next (80f1bcad) * try travis fix again (05bee629) * try fixing psql on travis (bc9e92a1) * dont let regular users see other users watched categories (cf6eadb9) * also fix updating bookmark if sorting is newest_to_oldest (6e5de39b) * #8188, fix bookmark if sorting is newest_to_oldest (32ada7c4) * duplicate ID + label (ac241fb8) * #8184 global mods unable to revoke other user sessions (f0db240a) * return null if field does not exist (e72a29b3) * #8179, limit length of location/website/fullname, check grouptitle (14e78667) * tag key (32636755) * #8175 (bc93b567) * #8168 re-allowing slashes in homePageRoute (667608a0) * tweak to session validation in addHeaders (eddbd868) * only call clearCookie for logged in users (630f5d5b) * #6422, update deleted/restored messages (06703408) * #8163, prevent account deletion (4d0636f8) * register (5a0c7c14) * #8157, update recent tid when post is moved (e7495440) * tests (b73aa84d) * move start/stop every iteration (dd3893b1) * #8154, move start/stop every iteration (300c04ce) * #8154, respect stop (690bb69d) * #8156 dont allow loading members from hidden groups (f23bc347) * #8155, don't validate name on update if groupName didn't change (03a02e5d) * return correct number of suggested topics (236e1e68) * #8151, don't crash if taskbar doesn't have element (2e794801) * logic for determining dailyStats hour vars (398f0120) * fix daily analytics being one day off (9ecdb92f) * remove debug line (0b9ad416) * no decimal places for category analytics (14655f87) * #8142, broken site if no server-side session (#8148) (d6e3f3f0) * #8144 pluginHooks in maintenance mode middleware (0885ec68) * **deps:** * #8298 bump persona (158d9231) * update dependency nodebb-plugin-composer-default to v6.3.25 (89d17647) * update dependency jquery to v3.5.1 [security] (#8281) (a69f0b29) * update dependency nodebb-rewards-essentials to v0.1.3 (#8289) (919034a7) * update dependency mongodb to v3.5.7 (#8279) (25d509c4) * actually, swagger-parser is a dev dependency (d09c6ae0) * missing @apidevtools/swagger-parser (f1720735) * update dependency nodebb-theme-persona to v10.1.37 (#8258) (b0c30ceb) * update dependency archiver to v4 (28777f67) * update dependency mongodb to v3.5.6 (#8256) (49236067) * bump dependencies (#8239) (e68156e1) * update dependency jsesc to v3.0.1 (#8243) (92b55ef5) * update dependency jsesc to v3 (bb70cebb) * update dependency pg to v8 (#8227) (ac98775f) * update dependency validator to v13 (f497ee62) * update dependency sharp to v0.25.2 (#8220) (dd660c87) * bump markdown (ee6cb412) * update dependency mongodb to v3.5.5 (#8205) (5535c50c) * update dependency sitemap to v6 (#8198) (2052f14c) * update dependency nodebb-plugin-composer-default to v6.3.23 (6d98d5a1) * update dependency sharp to v0.25.1 (#8199) (21e91c91) * update dependency nodebb-plugin-composer-default to v6.3.22 (#8193) (e01f05e3) * update dependency nodebb-theme-slick to v1.2.29 (#8177) (9daa21ff) * update dependency nodebb-theme-vanilla to v11.1.16 (#8178) (7d6a983b) * update dependency nodebb-theme-persona to v10.1.35 (#8176) (3acc24b0) * update dependency sharp to v0.24.1 (#8164) (7cc63f7d) * update dependency mongodb to v3.5.3 (#8161) (4b907137) * update dependency nodebb-widget-essentials to v4.1.0 (#8159) (a5f3c2a2) * update dependency request to v2.88.2 (#8158) (7fde180a) * update dependency redis to v3 (#8152) (ef964b11) * update dependency rimraf to v3.0.2 (#8153) (d8efc6b6) * **openapi:** * v14 test fix (23a0b8c5) * remove account and group upload routes (d342a28c) * more fleshing out (058a15db) * fleshed out admin routes (bae88e08) * added some descriptions (ab4bd7e1) * added PostsObject component (2395d2be) * finished moving all category objects out (23dd2727) * changed some descriptions (c939f8c6) * added CategoryObject component (55d0a9ff) * removed repeated breadcrumb blocks in favour of $ref (646fac1e) * remove all repeated pagination blocks in favour of (ac579f9d) * removed warning for category mods route (1cf62095) * normalising the file for programmatic updates (3a5c6e07) ##### Other Changes * #8298 (2e57d8ac) * post.updatePostVoteCount (b25b51bd) * //github.com/NodeBB/NodeBB (5e140454) * categories.updateRecentTid (6c59683b) * categories.updateRecentTid (51933c1f) * router.page, dep. filter variant (0053e779) * flags as well (5ebcdb18) * crash when res.locals.linkTags is undefined" (fe03effe) * //github.com/NodeBB/NodeBB (87a6ff0d) * cnpm and pnpm (#8222) (e6a1741c) * //github.com/NodeBB/NodeBB (7ae76477) * openapi component" (683e5851) * override ACAO header for read API spec file" (c82a2637) * password.change (00e299e9) * topic.tools.load (5aa76cdf) * #8154, move start/stop every iteration" (4abe5eb7) ##### Refactors * match core field name pinned (478ed6c1) * getUsersCSV to use batch lib (1efb238a) * reorganized socket.io admin modules (e1c6c3b2) #### 1.13.2 (2020-02-05) ##### Chores * incrementing version number - v1.13.2 (71f4607d) * bump themes (027f3f22) * bump vanilla (236a1730) * bump persona (82ace391) * incrementing version number - v1.13.1 (cc6758a0) * **deps:** * update dependency eslint to v6.8.0 (#8062) (15783213) * update dependency nyc to v15 (#8094) (976e26a9) * update commitlint monorepo (#8100) (eb4a1a57) * update dependency lint-staged to v10.0.7 (#8132) (cdfbcbb9) * update dependency mocha to v7 (#8106) (b370333c) * update dependency husky to v4 (dd440ce9) * update dependency lint-staged to v10.0.1 (66992a55) * update dependency lint-staged to v10 (d74eecfb) ##### Documentation Changes * updated changelog (2edc6960) ##### New Features * add test for isOnline (66febb80) * add test for change post owner (df2c7851) * check flag values on save (assignee and state) (#8122) (8e5a2276) ##### Bug Fixes * admin relogin (a5ef6b53) * #8135 (c35a21d7) * handle mkdirp0.5->1.0x so it doesn't break upgrade (1e50616c) * #8134, upgrade mkdirp to 1.0.x (87225a90) * onSuccessfulLogin not working (111ed802) * #8139, dont allow restore if not deleted by self (8c48f94b) * use view_deleted when filtering, closes #8137 (9969dd63) * escape invalid rules (d927b763) * add missing await (3cca929a) * missing await in SocketPosts.changeOwner (0ae1eb4f) * #8133, check if user is in room before removing (23810cc6) * add missing await (cd1fa27a) * missing await (f799f017) * dont return flag data to client (418c174d) * check if user has read priv before flagging (51236df4) * restrict getUsersInRoom to members (1f13ab8a) * remove unused conditional, dont add dupe messages (3077eb94) * tests for messaging (ecc579a2) * #8127 user join system message duplicated (594cd7e1) * background-size in taskbar images (106c141f) * tests, was using hardcoded message id (1b08f376) * typo in #8116 (8bb5e71e) * build step defaults to series instead of parallel (3fac09b1) * escape system message, don't allow editing system messages (6a63c1a1) * escape register query param (c8fb7f92) * delete upload (8c6a7954) * check uploadName (153b1a0e) * #8120, bubble errors from static hooks (01d1ae78) * escape bootswatchSkin and homepageRoute (b0f3e48a) * change owner missing await (3e525576) * hsts always enabled (e3952674) * escape topic.thumb (b7a57996) * #8112, don't crash hook returns no data (4eb9652a) * escape config.userLang/acpLang, don't allow invalid language codes (e06c1bfc) * group create/join/update name validation (61da8c29) * don't crash if groupData is missing (48f08627) * #8105, fix export json on page load (5a8217de) * #8103, fix advanced menu not displaying in ACP (52774531) * meta description missing if url doesn't have post index (10989ccc) * create user modal instantly closing (c1b1ee61) * login with weak password (9d074731) * dont check password strength on login (f6d7a24a) * **deps:** * update dependency connect-redis to v4.0.4 (#8143) (16ab641d) * update dependency rimraf to v3.0.1 (#8138) (726ba71c) * update dependency validator to v12.2.0 (#8136) (f07b4bfa) * update dependency nodebb-theme-persona to v10.1.34 (#8140) (6d7131fb) * update dependency nodebb-theme-persona to v10.1.31 (#8129) (c510a2c4) * update dependency mongodb to v3.5.2 (#8092) (0e49cfb9) * update dependency sharp to v0.24.0 (#8121) (16e8f496) * update dependency nodebb-plugin-composer-default to v6.3.21 (#8119) (ca10f8f0) * update dependency nodebb-widget-essentials to v4.0.18 (#8111) (df5e3a73) ##### Other Changes * NodeBB/NodeBB (b959c24a) * //github.com/NodeBB/NodeBB (ee4304b4) * //github.com/NodeBB/NodeBB (bfaba895) * save disableLeave (#8123) (09d55581) * //github.com/NodeBB/NodeBB (842916ea) ##### Refactors * messaging (30c50361) #### 1.13.1 (2019-12-19) ##### Chores * incrementing version number - v1.13.1 (d1e0672f) * incrementing version number - v1.13.0 (c38b2d23) * **deps:** * update dependency husky to v3.1.0 (#8046) (c3418c26) * update dependency coveralls to v3.0.9 (#8067) (0aeee144) * update dependency eslint to v6.7.0 (32cfe96f) * update dependency coveralls to v3.0.8 (#8054) (8ba26104) ##### Documentation Changes * updated changelog (94499da3) ##### New Features * better output for cli plugins list, closes #8075 (4fc69443) * #5272, allow changing user groups from manage users page (05c9fe27) * merge social authentication into plugins menu in ACP (f9a8ebfc) * convert middleware.isAdmin to async/await (efd1e88b) ##### Bug Fixes * #8085, fix cookie name (dec157d6) * #8058, fix incorrect digest setting display in ACP (1b992d82) * remove select version (6a17e32d) * travis config (3ae98300) * travis :dog: (3731dc4e) * #8078, dont mark notifications read without a mergeId (a8df6d62) * #8077, show continue chat on all profile pages (7af1c873) * profile showing posts from deleted topics (2679f37d) * #8073, configurable necroThreshold (4d669783) * allow members to search as well (b323df2f) * #8069, dont show hidden groups in search (c2cd7de8) * missing await (33fd4a1c) * #8064, break-word on post-queue (1bda92e3) * #6711 (7ed002a1) * #8061, don't crash if there is a network problem (de404102) * #8059, properly mark topic unread when using mark unread for all (a688aaae) * #8042, dont show errors after clearing form (3811e0a3) * unhandled promise rejection error on reset error (51073772) * #8050, fix redirect after registration (366ad5cd) * make _csrf a secure cookie if the website is using https (#8045) (0efe27b1) * #8034 (0a96c923) * serialize (a2545204) * show login fields if user has local password (1eca5b3d) * use the correct attribute name for widgets (6c404b81) * **deps:** * update dependency semver to v7 (483d7535) * update dependency nodebb-theme-vanilla to v11.1.12 (610ecf35) * update dependency sharp to v0.23.4 (#8076) (eb18c182) * update dependency nodebb-theme-persona to v10.1.30 (0514383a) * update dependency nodebb-plugin-markdown to v8.11.0 (702ca164) * update dependency connect-mongo to v3.2.0 (2aef7a5b) * update dependency mongodb to v3.3.5 (#8065) (68118e43) * update dependency nodebb-theme-persona to v10.1.29 (#8057) (34933091) * update dependency sharp to v0.23.3 (#8044) (6fa88823) * update dependency validator to v12.1.0 (#8055) (488ea394) * update dependency nodebb-theme-slick to v1.2.28 (#8041) (b3511f71) * update dependency nodebb-theme-vanilla to v11.1.11 (#8040) (d567c4ae) * update dependency nodebb-theme-persona to v10.1.28 (#8039) (6c87bed5) * update dependency nodebb-plugin-dbsearch to v4.0.7 (#8038) (1e2e16b4) ##### Refactors * async/await middleware (a227cbe3) * change to const/let (3454a24b) * shorter returns (cec00795) ### 1.13.0 (2019-11-13) ##### Chores * incrementing version number - v1.13.0 (c38b2d23) * incrementing version number - v1.12.2 (810e2c0b) * **deps:** * update dependency jsdom to v15.2.1 (9d946d1c) * update dependency eslint to v6.6.0 (d0e428e9) * update dependency lint-staged to v9.4.2 (#7954) (d108c7d0) * update dependency mocha to v6.2.2 (#7984) (e31a47cd) * update dependency coveralls to v3.0.7 (#7961) (9b308e4b) * update dependency jsdom to v15.2.0 (#7971) (9b4e9882) * update dependency husky to v3.0.9 (fd5095a3) * update dependency husky to v3.0.8 (88cae415) * update dependency lint-staged to v9.4.1 (a2a7bb3d) * update node.js to v8.16.1 (f9ad826b) * update node:8.16.0 docker digest to bb12612 (48cc317c) * update dependency eslint to v6.5.1 (da12e947) * update dependency husky to v3.0.7 (10a30e66) * update commitlint monorepo to v8.2.0 (ddd4e039) * update dependency mocha to v6.2.1 (b172d106) * update dependency lint-staged to v9.2.3 (ccccba81) * update dependency coveralls to v3.0.6 (#7820) (2b1f840e) * update dependency husky to v3.0.3 (cbede89a) * update dependency lint-staged to v9 (f2e4664d) * update dependency eslint-plugin-import to v2.18.2 (#7779) (57b2a553) * update dependency eslint to v6.1.0 (#7783) (7257e6b2) * update dependency husky to v3.0.2 (7ad72b32) * update node:8.16.0 docker digest to c671dc2 (e76214a2) * update dependency mocha to v6.2.0 (d43f5dcf) * update node:8.16.0 docker digest to 310db2a (c46a0772) * update dependency husky to v3.0.1 (28151f86) * update dependency eslint-plugin-import to v2.18.1 (9fda2c1f) * update commitlint monorepo to v8.1.0 (f73468d5) * update dependency coveralls to v3.0.5 (5b746d53) * update dependency husky to v2.7.0 (1d0fd028) * update dependency eslint to v6.0.1 (77347d0a) * update dependency husky to v2.6.0 (fc69e891) * update dependency eslint-plugin-import to v2.18.0 (744e4428) * update dependency husky to v2.5.0 (4960b925) * update dependency lint-staged to v8.2.1 (2fa68e3b) * update node:8.16.0 docker digest to 06adec3 (fc224cca) * update dependency husky to v2.4.1 (17ec8fde) * update node:8.16.0 docker digest to d5ad3f5 (f9e99fa3) * update node:8.16.0 docker digest to 75b524a (5995834b) * update node:8.16.0 docker digest to b9a98ae (fca6d794) * update dependency lint-staged to v8.2.0 (376390c4) * update dependency husky to v2.4.0 (3d2ec0bb) * update dependency coveralls to v3.0.4 (c360e0c2) * update dependency eslint-plugin-import to v2.17.3 (eac4e2f1) * update node:8.16.0 docker digest to 957cab2 (cc6fa97c) * update commitlint monorepo to v8 (80532831) ##### Documentation Changes * updated changelog (183b0ed3) ##### New Features * displaying one-click unsubscribe link in email footer (#8024) (df139928) * #7467, pass query params when redirecting to posts (480a64aa) * use helpers.setupAdminPageRoute (b5a30006) * wip, better digest handling (+ eventual digest resend logic) (#7995) (645d6472) * add action:messaging.save (ac5c560c) * #7957, allow post queue based on group (1cedc4a0) * add filter:topics.unreadCutoff (e020b85b) * Add filter:topic.delete and filter:topic.restore (#7946) (#7989) (989107d9) * no more session cookie for guests (#7982) (cf7e0cfd) * Implement WICG change-password-url (#7072) (#7990) (df1efe5f) * log errors from mubsub (b01a47cb) * upgrade to sitemap5 (#7980) (d6792188) * #7964, change all categories at once (485fbd2f) * closes #7952, translate widget-settings (990508a5) * remove ability to delete events from acp (554e6711) * resetting theme will reset skin (03827fa6) * disable timeout on launch route (4bc77d06) * add new hook to get custom category tids for unread (b1926054) * adding filter:login.check and loginFormEntry[] for the filter:login.build hook (#7861) (94810fd6) * #7932, redirect to group details after creation (2444ed5c) * add new hook filteR:topics.getSortedTids (b93c826d) * bypass cropper for gifs (9a756004) * deprecate file.isFileTypeAllowed (ffe3670f) * send notification to group owners when someone leaves (ed122364) * add failing test for pagination (#7924) (22b02f14) * refactor getSortedSetRange to allow big arrays (b602c044) * add new test (1e5246f9) * add rss feed url for tags (bbc2e956) * add sm2x avatar class #7813 (35a4ca2f) * #7090, abililty to hide widgets (71cd602d) * #7760, body-parser config (5de6d885) * actually cache duh (f05c1dae) * cache tags:topic:count (63bd252f) * increase search timeouts (1789ecb4) * make handleSearch public (ebe5ed22) * increase size of local cache (b81405a8) * don't hardcode numberic fields in user search (09410ff1) * allow only watching core (451c7fd4) * client-side taskbar.update method, deprecates .updateTitle() (9b09ee0e) * option to restrict group leaving, closes #7770 (1796b65d) * preserver querystring when changing category sort (ad96b0e0) * html sanitization on all filter:parse.* hooks, closes #7872 (2580306d) * up socket.io-adapter-mongo (3d2cb628) * update LESS to v3.x, #7855 (#7867) (aea04de0) * up psql socket.io adapter (b565e568) * add client side hook for quick search&normal search (f31d30cd) * allow floating pinned topics to top in getSortedTopics (1d7e0c63) * promisify recent.getData (6f7ab586) * faster initial stat loading (89cd31ed) * cache stats, mongo count sucks (cb50b3f4) * dashboard stats (3ff6e1bb) * add filter:search.getPosts (aeb44faf) * add image and imageClass to post summaries (80bd52fc) * #7842, make isInvited, isPending work with uids (fa268556) * convert search controller to async/await (acf12e3d) * notification on membership acceptance, closes #7835 (1a2a381a) * additional events logged for various group actions (1ce33faa) * async (e6353486) * async/await controllers/admin/dashboard (32ea04a8) * async/await admin/controllers (72590b34) * async/await (7beef91c) * async/await refactor (3cc7ec63) * async/await controllers/accounts (a3541d88) * rewrite getRawPost to async/await (b734defb) * added new filter hook filter:post.getRawPost (973075cf) * convert categories controller to async/await (e9fd49e2) * new client-side hooks for chat minimize and close (3d3fa865) * test psql without defineProperty (#7815) (af1f7249) * fire updateRemainingLength hook for chats (af968c6a) * send pids into filter:post.getFields hook (0e07ffa1) * move cache tpl (65fc0612) * async refactor (3a9d83a4) * move group privs above user, add labels (47e30a67) * widgets/index.js (dec8040c) * use promise version (4d6b6871) * #7743, meta/dependencies (1c2540d3) * #7743, widgets/admin (96ebe7b5) * #7743, meta/languages and languages (c02686bf) * added filter:tags.getAll plugin hook (66aa443b) * #7743, events (102d4b02) * #7743 meta/errors (97d7a850) * get rid of async.eachSeries (99cf47ee) * #7743 meta/tags.js (7b908639) * #7743 meta/templates.js (79eed9ae) * #7743 navigation (764a2b12) * #7743 account/posts controller (e72f3e4f) * #7743 finish topics controller (9b3f4b98) * #7743, webserver (0d047f4e) * #7743 meta/themes.js (7dc0eaf0) * #7743, meta/sounds (a15c50bf) * #7743 , meta/cachebuster, meta/configs (7f72181e) * convert src/messaging/* to async/await (#7778) (756a717e) * #7743 meta/blacklist (fcf8fd51) * #7743 meta/index (69860e58) * #7743 plugins (c126cd85) * #7743 plugins/data (f5f5f76b) * dont waste whitespace (17f843f9) * switch to promise.all (34d85b52) * #7743, privileges (faccb191) * #7743 , search.js (6d3a92b8) * shorter name (8e75646a) * cache group:members for priv groups (daed76d5) * #7743 finish groups (72def7df) * #7743, groups/index, invite, leave,membership (a39ca51e) * #7743,groups/index,join (d5342a40) * #7743, groups/delete,ownership,posts,user (fcd4445a) * #7743 groups/cover,create,data (5e8614e1) * #7743, finish post module (c0c6c652) * #7743 posts/diff, posts/edit (c4bb467e) * #7743, posts module (1b2b308a) * #7743, finish user module (a51ec591) * #7743 (6fea46b6) * #7743 (cd80c263) * #7743 (0a690c57) * #7743 (1c5fad6d) * #7743 (fe4c0481) * #7743 categories (fcf3e077) * #7743, user/digest, user/email, user/follow (c610eb14) * #7743, user/create, user/data, user/delete (d6e36c31) * #7743 , user/block, user/categories (4541caa4) * #7743 notifications (6f738c2b) * remove unused code, add 2 tests (cd2e68cb) * #7743 user/ban, up mubsub (1970214a) * #7743, user/approval, user/auth (b24ce976) * #7743, posts/votes (8ef75be3) * #7743 posts (e1ecc36d) * #7743 user/admin.js (2c335955) * add utils.promiseParallel (4170abfd) * #7743, posts/user.js (0a6cfb37) * added new admin option newbiePostEditDuration (#7737) (8a6a58ee) * returning category data in tags page (75ff4d7d) * ACP analytics API route (#7725) (a0c0ef1b) * closes #7718 (ee4d78ca) * add status to post summaries (41bc6ca2) * use arrow functions (3100d803) * ability to sort watched topics, closes #3735 (f24c14d7) * use fewer system resources to draw the progress bar (d0ee312c) * removed series from upgrade script (23fb904f) * remove duped zadds, these are already in topics.onNewPostMade (cb51c239) * log data on error (f8a7cf73) * cleanup, use bulk (198d0587) * #7707, added sortedSetAddBulk (3ecd703e) * change widget-* to data-widget-* (#7703) (13efbc99) * shorter setsCard (3780a58f) * show best & latest posts on profile (b53a60c2) * use db.sortedSetsAdd (7e54d7aa) * use db.sortedSetsAdd (29a124c4) * dont log action:plugins.fireHook (a7600b4b) * upgrade to connect-mongo 3.0.0, closes #7693 (ebfc369a) * add hook for user notifications, closes #7672 (ede060a6) * user/notifications refactor (580f7860) * send new post/topic event in batches (8c331088) * allowing count to be passed to ./nodebb events (f6d3cc0e) * awaitable websockets (#7645) (aee47b29) * hooks can now return promise or call callbacks (a6436716) * fallback strings for ACP events (99120676) * design revamp of ACP events page (#7664) (c7f95cce) * optimize group rename (48538b28) * allow multiple scores in sortedSetsAdd (31ccc860) * optimize copy privileges (0dca13e9) * on category search reveal children and parents (0721bee1) * async3 upgrade (#7639) (4d9bc30d) * #7627, close chat on ajaxify on mobile (6cebc7f0) * update meta tags on ajaxify (#7580), fixes #7544 (a41769e6) ##### Bug Fixes * **deps:** * update dependency mongodb to v3.3.4 (#8032) (2093418d) * update dependency nodebb-theme-vanilla to v11.1.10 (c01699f7) * update dependency nodebb-theme-persona to v10.1.27 (182397b1) * update dependency nodebb-plugin-spam-be-gone to v0.6.7 (#8027) (c2565a2f) * update dependency nodebb-theme-slick to v1.2.27 (#8020) (7122bdc7) * update dependency nodebb-theme-persona to v10.1.26 (#8019) (73d9752e) * update dependency connect-mongo to v3.1.2 (#8013) (bfea9d39) * update dependency postcss to v7.0.21 (#7998) (ef5f6714) * update dependency nodebb-plugin-composer-default to v6.3.17 (#8009) (e1e2d20c) * update dependency sharp to v0.23.2 (#8005) (420f9fe4) * update dependency nodebb-theme-persona to v10.1.25 (#8012) (cb91e756) * update dependency connect-mongo to v3.1.1 (#8006) (7655265c) * update dependency connect-mongo to v3.1.0 (#7994) (401d1eed) * bump persona (6155c460) * update dependency nodebb-theme-persona to v10.1.23 (#7986) (9bd6f686) * update dependency nodebb-theme-persona to v10.1.22 (#7965) (bf6ae6d6) * update dependency nodebb-rewards-essentials to v0.1.2 (#7962) (692d94bf) * update dependency nodebb-theme-persona to v10.1.21 (#7956) (1a150d8f) * update dependency nodebb-plugin-spam-be-gone to v0.6.6 (#7944) (cffbb325) * update dependency nodebb-theme-persona to v10.1.20 (#7943) (9589fa32) * update dependency nodebb-theme-persona to v10.1.19 (#7942) (0d629f06) * update dependency connect-redis to v4.0.3 (#7933) (2856333d) * update dependency spider-detector to v2 (310039e8) * update socket.io packages to v2.3.0 (764ed7f8) * update dependency sharp to v0.23.1 (#7928) (17437897) * update dependency nodebb-plugin-dbsearch to v4.0.6 (#7918) (44cd7189) * update dependency nodebb-plugin-composer-default to v6.3.16 (#7917) (d8fe6e42) * update dependency nodebb-plugin-composer-default to v6.3.15 (#7916) (c5e5e24b) * update dependency nodebb-plugin-composer-default to v6.3.14 (#7914) (e18392ab) * update dependency nodebb-theme-persona to v10.1.18 (#7906) (8ed80bcb) * update dependency nodebb-rewards-essentials to v0.1.1 (#7905) (5b8bb3e4) * update dependency connect-redis to v4 (#7869) (8b7f6566) * update dependency nodebb-plugin-mentions to v2.7.3 (#7899) (b2423bae) * update dependency nodebb-plugin-mentions to v2.7.2 (#7898) (a3120a62) * update dependency nodebb-plugin-dbsearch to v4.0.5 (#7896) (106c20e2) * update dependency nodebb-plugin-composer-default to v6.3.13 (#7895) (fa251ece) * update dependency nodebb-plugin-mentions to v2.7.1 (8c2fc577) * update dependency nodebb-plugin-composer-default to v6.3.12 (#7889) (429e124f) * update dependency nodebb-plugin-composer-default to v6.3.11 (#7888) (516b62ea) * update dependency nodebb-plugin-composer-default to v6.3.10 (6a4a9e26) * update dependency nodebb-plugin-dbsearch to v4.0.4 (#7883) (12ba589d) * update dependency postcss to v7.0.18 (c75f3d27) * update dependency nodebb-theme-persona to v10.1.17 (317c6771) * update dependency nodebb-theme-vanilla to v11.1.8 (6e9caddc) * update dependency nodebb-plugin-composer-default to v6.3.9 (effe3989) * update dependency nodebb-plugin-mentions to v2.7.0 (b69769bb) * update dependency benchpressjs to v2 (#7876) (9149db1f) * update dependency nodebb-plugin-composer-default to v6.3.8 (793c5eaa) * update dependency nodebb-plugin-composer-default to v6.3.7 (57de99d2) * update dependency mongodb to v3.3.2 (#7871) (4ee2c090) * update dependency nodebb-plugin-spam-be-gone to v0.6.5 (#7865) (8ce2a5fc) * update dependency mongodb to v3.3.1 (#7862) (0dfce49f) * update dependency connect-pg-simple to v6 [security] (#7864) (e4b5d0b4) * update dependency nodebb-plugin-mentions to v2.6.1 (a1210985) * update dependency nodebb-plugin-mentions to v2.6.0 (cdccc646) * update dependency rimraf to v3 (#7843) (2f02edbc) * update dependency rimraf to v2.7.1 (#7838) (cf2504f8) * update dependency nodebb-theme-persona to v10.1.16 (#7848) (ca7ba9be) * update dependency nodebb-theme-persona to v10.1.15 (#7845) (b1c0beb7) * update dependency nodebb-theme-persona to v10.1.14 (#7837) (661284cf) * update dependency nodebb-theme-persona to v10.1.13 (eaea6f63) * update dependency sitemap to v4 (d3d677da) * update dependency commander to v3 (7a5dbd9f) * update dependency mongodb to v3.3.0 (360e172e) * update dependency nodebb-plugin-markdown to v8.10.4 (61f9be99) * update dependency nodebb-plugin-markdown to v8.10.3 (d860f8c7) * update dependency sharp to v0.23.0 (#7806) (2258452c) * update dependency nodebb-theme-persona to v10.1.12 (#7799) (b9aac424) * update dependency nodebb-plugin-dbsearch to v4 (#7797) (d98313b5) * update dependency nodebb-plugin-dbsearch to v3.0.8 (#7796) (ef734b62) * update dependency nodebb-theme-persona to v10.1.11 (8b1fc5c8) * update dependency nodebb-theme-vanilla to v11.1.7 (ba1bb528) * update dependency nodebb-theme-vanilla to v11.1.6 (#7784) (7a88c4cc) * update dependency nodebb-theme-slick to v1.2.26 (#7782) (e074b0bf) * update dependency nodebb-theme-persona to v10.1.10 (#7781) (4f20b4d3) * update dependency nodebb-plugin-composer-default to v6.3.6 (3fdc638b) * update dependency connect-redis to v3.4.2 (8a11193f) * update dependency nodebb-plugin-mentions to v2.5.4 (45223cde) * update dependency nodebb-plugin-markdown to v8.10.2 (86546232) * update dependency nodebb-theme-persona to v10.1.9 (#7759) (c1660a1a) * update dependency nodebb-plugin-dbsearch to v3.0.7 (#7758) (efedd621) * update dependency nodebb-plugin-composer-default to v6.3.5 (7f4b1043) * update dependency nodebb-theme-vanilla to v11.1.5 (#7756) (15e01d12) * update dependency nodebb-theme-persona to v10.1.8 (#7755) (19679608) * update dependency nodebb-theme-persona to v10.1.7 (#7754) (3cb6cfe8) * update dependency nodebb-plugin-composer-default to v6.3.3 (8394a0fd) * update dependency nodebb-theme-vanilla to v11.1.4 (#7741) (43ce5f8a) * update dependency nodebb-theme-persona to v10.1.5 (27da2325) * update dependency validator to v11.1.0 (#7738) (bd09ba92) * bump composer-default (851424a7) * update dependency nodebb-theme-persona to v10.1.4 (f426e105) * update dependency nodebb-plugin-composer-default to v6.2.16 (#7723) (fb087029) * update dependency nodebb-theme-persona to v10.1.3 (413259a2) * update dependency nodebb-theme-lavender to v5.0.11 (#7705) (208c821e) * update dependency nodebb-theme-vanilla to v11.1.3 (#7714) (e0b2ae8d) * update dependency nodebb-theme-slick to v1.2.25 (#7713) (af7ecd2f) * update dependency nodebb-theme-persona to v10.1.2 (#7712) (e5733f40) * update dependency nodebb-plugin-mentions to v2.5.3 (26ff02dc) * update dependency nodebb-theme-persona to v10.1.1 (4e513cf3) * update dependency nodebb-theme-vanilla to v11.1.2 (c2887505) * update dependency nodebb-theme-vanilla to v11.1.1 (#7700) (b3ed89f5) * update dependency nodebb-theme-slick to v1.2.24 (#7699) (629b5ce3) * update to eslint@6 (289dada5) * update dependency nodebb-plugin-emoji to v3 (15020b46) * update dependency nodebb-plugin-emoji to v3 (6b43d26f) * update dependency nodebb-theme-persona to v10.1.0 (fc89516e) * update dependency nodebb-theme-vanilla to v11.1.0 (c9689f11) * update dependency nodebb-theme-persona to v10.0.1 (#7687) (ada8f22e) * update dependency nodebb-theme-vanilla to v11.0.1 (#7688) (6db3604e) * update dependency nodebb-theme-vanilla to v11 (89fea9d3) * update dependency nodebb-theme-persona to v10 (0a7778bd) * update dependency nodebb-theme-lavender to v5.0.10 (#7682) (e1e4abeb) * update dependency nodebb-plugin-markdown to v8.10.0 (de046297) * update dependency postcss to v7.0.17 (ae891390) * update dependency nodebb-rewards-essentials to v0.0.14 (#7671) (3f4f8afa) * update dependency mongodb to v3.2.7 (#7665) (988cbb63) * update dependency nodebb-plugin-composer-default to v6.2.15 (e21246a9) * update dependency nodebb-theme-persona to v9.1.38 (#7652) (d202be5b) * update dependency nodebb-theme-vanilla to v10.1.34 (#7653) (e3308659) * update dependency nodebb-theme-vanilla to v10.1.33 (#7651) (6f70397b) * update dependency nodebb-theme-persona to v9.1.37 (#7650) (d43bdb41) * update dependency async to v3.0.1 (#7649) (3b8e6e15) * update dependency mongodb to v3.2.6 (#7616) (3f21096d) * update dependency validator to v11 (a3d42404) * update dependency nodebb-plugin-composer-default to v6.2.14 (#7635) (b174c2d2) * update dependency nodebb-theme-vanilla to v10.1.32 (#7631) (85ca5b19) * update dependency nodebb-plugin-composer-default to v6.2.13 (d1f29e26) * update dependency nodebb-plugin-spam-be-gone to v0.6.3 (#7614) (20fa751c) * crash if post doesn't have topic data (eabc6f47) * don't touch objects that don't have the required fields (e52ecfaf) * add missing await to sendValidationEmail (f4381ba3) * #8007 added tfoot to clear new group button (dee1d447) * tests (e3c9dafa) * #8018, allow absolute urls in notification.path (0037a038) * #8010, fix isBanned call (59242d31) * #8003, check children recursively (c4e58160) * dont show delete topics on unread (b91c4790) * #8000, tweak wording; password reset success (3952849f) * parseInt cutoff (0e5e47f4) * lint (4b8897d9) * convert param to string in slugify (441dd86d) * cli/reset.js (#7979) (f9f85fc4) * #7977, fix undefined url (#7978) (95a372df) * passwords always expiring upon login (ddf3812c) * #7974 (#7976) (ca3be1f3) * delete follower/followingCount as well (d72b0d16) * event tests (0da4f7ee) * #7958, give rewards one by one (3775301f) * rewards page acp not loading rewards (88818a5b) * #7929, use fixed bootswatch (dd202931) * #7960, dont try to save size for non images (f272daaf) * #7941, validate some input fields (565f9726) * don't show deleted topics on unread (661a0f50) * #7951, don't send notification for system messages (c01b0fbd) * #7953, allow icon only group badges (5b458fc7) * remove 0 fields (ac4a5004) * remove unused data from post/topic/user hashes (75bcb0f4) * groups not visible on widget panes (205d3f9d) * new nav items will show group select (c5f7b66c) * move post and change owner (f402d727) * 404 on new groups with spaces (b19f0a68) * #7940, run upgrade scripts on startup (7823144b) * #7949, delete old user notifs (38322ec3) * tests (6fb29e84) * check threshold before setting bookmark (f983f536) * mongo collection stats (4e28e575) * #7947, disable unused cookie (91e8e390) * #7945, show watched categories in ignored categories (c9bf6d0f) * db.init calls (18bf865d) * #7938, escape username in registration queue (d5dda26f) * #7901, handle group names that are translation keys (3455c27a) * fix the order of groups on user profile (41f8da2e) * #7935, ACP digest wording (54c9f877) * #7934, return tids (10f168b8) * tests (3caa387a) * tests (9c051386) * remove jquery (95ab0712) * picture not showing up in change modal (13c87059) * profile page meta tags getting escaped twice (7effc892) * missing await (2150701f) * potential for XSS here (40f131a6) * account/categories (7a0f6074) * redis tests (1f054c7e) * #7921, dont create wrong entries in db for flag (a651d154) * #7913, dont allow urls in fullname/location, validate birthday (babb9d7c) * upgrade scripts (bd026cb1) * only allow png/jpg/bmp in cover/profile images (96ab8d05) * #7919, add useUnifiedTopology (910b9b88) * crash in feed (873ec519) * lang key (795d4183) * time cutoff and lang string (5b8550f0) * returned data (87f6ac59) * dont send all category data back to recent&unread etc (955e00fd) * #7912 (ecf39727) * only return necessary data for categories (307abaa8) * dont crash if callback is undefined (e0fec866) * #7800, dont crash on resize (781b3f1a) * change params (de461968) * remove dupe code (9b151b23) * #7894, translate log in to view (2a5fe2b8) * minor typo (b99279a8) * #7893, check private upload setting (0843497d) * #7892, handle string 'true'/'false' (77cb4b55) * dont show deleted topics in digest (4652c68b) * #7824, update timeago settings on userlanguage change (3887fc67) * don't move theme/plugin to top if its already active (acd95764) * #7853, dissociation on post purge (30a86ed5) * added comment back (0c4cd840) * inability for plugins to actually alter parser sanitization config (fe452762) * htmlentity instead of url encoding for room rename system message (9b8ac89e) * page count for filters (e291a609) * #7866, show correct title based on digest interval (547bb496) * #7780 (21e81f96) * pinned tids showing on page > 1 (f2912e9f) * #7860, allow running single upgrade scripts from plugins (a4dec7e3) * reset should not automatically build assets (a67762bc) * update morgan and lodash (2b1912a9) * #7842, groups.invite works with an array of uids (1e0190ab) * #7844, add uid to events, log plugin install/uninstall events (592d9c82) * removed console.logs (c44bf48c) * broken tests from 71b205a889da1ee8dd326b0891d122a522084f54 (f736f0b3) * typo (c6c13725) * category description getting translated in ACP (647713f3) * #7791 (71620519) * #7831, fix pagination (014e3153) * remove empty line (292bbe34) * remove useless catchs and empty line (5fce4558) * #7823, fix topic move readding pids when topic is deleted (fd5f9822) * #7826, fix order of categories on recent dropdown (3ecac97d) * redis pubsub not being required correctly (8d4f2086) * mongo.close using wrong client (186321e6) * digest not sending topics (bc6f22eb) * #7816, adding GDPR and TOU interstitials earlier on route reloading (52a2e5d6) * #7809, dont check postDelay if submitting from queue (9780f5b9) * newPostEditDuration (2abe244b) * #7789 (6a289fba) * #7798, fix nested post selection (666e0eaf) * #7788, fix on topic move and new post (8bf40d04) * #7788, fix another edge case (053ff510) * topicData passed to action:topic.edit (b10ad7b6) * derpy catch (ce912886) * #7788 No new posts (#7793) (3c32d860) * user urls in subfolder install (6a486e35) * #7765 (0b498acd) * tests (87552c55) * revert requires (3dd806dc) * #7763, parse about me on all profile pages (f8d34101) * status and groupTitle, if its not set (e2e33dfb) * don't return promise (2f0a331f) * socket.io methods calling callbacks twice if method returns promise (44a33520) * tests (87b1148f) * tests (930ffd07) * #7601 removed check for another user when sending messages (0e8ee31b) * mongodb tests (3b24de4c) * getTopicsFromSet (13aaf07b) * #7762, allow array for isBanned (9eb1fcd4) * add flag for change post owner (46639be3) * sitemap ajaxify (9f78bd7a) * #7751, make necro separator a partial (2b70e86f) * #7748, if reputation system is disabled, dont check min reputation (7b95ebbb) * remove left over code, use proper names (0ac49d63) * compatibility conditional (fba67196) * private upload img replacement should happen before img wrapping (16aae517) * #7423 private uploads are linked to login page, for guests (49e3a368) * typo (f3440ebf) * #7722, hsts deprecation warnings (8b1dadb7) * upgrade script #7720 (accf48f3) * indents (a5de54f8) * remove debug code that should not have made it in (af17c6e3) * dont display post tools if there are no options (708df46e) * output span in buildAvatar helper instead of div (69fae1a7) * restore uid in teasers userObj (67b8cb89) * dont allow edit if post is deleted by someone else (667bc67f) * dont show delete posts on profile (e48c7cd7) * on new post add it to cid::uid::pids (6a7bc1c5) * #5570, create per category user post zsets (a39f0ef5) * restrict drag drop to pin icon, closes #7702 (e1c05e59) * remove dupe code (68e5d7ad) * get uids directly for csv (39ee3980) * typo (a251032f) * id/for (b4cc8d88) * #7659 add option to change cookie link url (25ea6347) * middle vertical-align for .avatar elements (1894cd9b) * dependency checker always triggering dep upgrade, hopefully (c241551d) * #7483, show latest undeleted message as teaser (644504ff) * #7567, allow invite and approval at the same time (4b843ba1) * #7625, on group rename update nav/widget items (5b85ed31) * psql error (8d319e42) * try to fix psql :dog: (2e6b562f) * no need for moderate bit for global mods and admins (8aef689f) * attribute name so it works for both templates (ebb32e78) * #7647, fix getModeratorUids (64679b37) * #7644 (5cd9e1bf) * bad usage of async requisition (603c5262) * 7638, returnTo accidentally saved into user hash (f321b426) * #7634, make strip exif configurable (157b921e) * #7636, use reputation threshold for post queue (a8409fbd) * #7623, wait for lastonline to update on /users (63e5d383) * https://github.com/barisusakli/nodebb-plugin-dbsearch/issues/53 (e65ddc98) * #7593, unable to set account password if no password set (80c0d579) * incorrect pathname format for app.previousUrl (a97e97b9) * #7598, use notice element instead of alert (106d52a4) * #7620, allow adding new fields into user objects for posts (a8e65205) * #7629, new filter hook for room rename (7ba4a864) * #7628, log email send errors (7a4b68e8) * {username} not working in notification.tpl (f55cc667) * do not prevent nbb from starting (3b0459a0) * #7624, default open state on stateless flags (91f0bce6) * #7431, add /unread link to topic route (15391da5) * #7619 (35d10f76) * #7618 save pathname into app.previousUrl ins. of entire url (7e5cb72a) * handle missing timestamps (172e6888) * broken test for meta tags on ajaxify (b70e03a7) * #7613 (15ce23da) * #7600, removing nbsp from email CTAs (#7606) (f552cea5) * #7604 shortened CTA text and added custom text for some notifs (#7605) (b32da57f) * **style:** * requiring parens in block bodies (29f96b19) * updated code to follow new eslint recommendations (09212309) ##### Refactors * use arrow function (6b3eb014) * async/await (02d38caf) * remove log, topics.exists (f8c8038a) * async/await (dc8d721c) * async/await mongo (1f0c6f3d) * async/await socket.io/index (603908c1) * async/await image.js (c5ffd8cc) * remove var (05e753c7) * async/await flags.js (ac6eb31c) * async/await flags (0ced71be) * shorter map (572bc297) * remove logs (03971049) * dont modify key (7e7ea7a6) * remove logs (e32a5546) * async/await flags (9ee1a882) * shorter, new Date doesnt throw (625b0815) * remove temp var (b842057f) * async/await file (f9d6912b) * async/await analytics (223c108c) * change to const (5505628c) * returned fields (86b16629) * async/await emailer (63bd3fc5) * async/await routes/feeds (ec3b5dd9) * async/await rewards (b110aec6) * async/await socket.io (a7d2b8a1) * async/await (52b2d670) * async/await (75d7ae92) * async/await socket.io/topics (5c2afe5e) * async/await controllers/user.js (3c6c40b1) * async/await uploads (5c0266d8) * move tos parsing to /tos (3e2ed21d) * remove commented out code (ec98945a) * async/await controllers/authentication (b9105ef9) * remove async from isPasswordValid, function is sync (22f80116) * make categories.buildForSelectCategories non async (6cda3698) * remove dupe code (a4d84a66) * async/await socket.io/posts (e93ef0d7) * async/await socket.io/admin (88dfbf21) * socket.io/admin/categories async/await (71e50bbf) * admin groups.join socket async/await (4588a4fd) * password async/await (dd8386d9) * sitemap to async/await (0164e51f) * remove hook assign (d3727207) * async/await users (f9a804e0) * remove empty line (19b63bfa) * remove vars (69333f59) * async/await controllers (2c4f0446) * async/await controllers/tags (53624885) * async/await (f15c7f12) * globalmods/groups (0722cc47) * controllers/category.js (bd8736db) * use arrow func (27c27b49) * async/await controllers/api (4eaa630b) * async/await admin/controllers (6f375482) * async/await, remove dupe code for homepage routes (c9250a01) * async/await for src/socket.io/groups.js (71b205a8) * rewrote SocketPosts.getRawPost in await style (08530bb3) * replace avatar conditional code with buildAvatar helper (#7681) (25238899) ##### Reverts * accidental removal of some needed translation source strings (868dedd1) #### 1.12.2 (2019-05-15) ##### Chores * incrementing version number - v1.12.2 (22db818e) * bump themes #7576 (d349754d) * bump themes (59bdc970) * bump themes (abcca134) * bump themes (551b18cd) * incrementing version number - v1.12.1 (dd973abe) * **deps:** * update dependency lint-staged to v8.1.7 (dc6b49ca) * update commitlint monorepo (9998e86b) * update dependency jsdom to v15.1.0 (fcd6dc88) * update dependency mocha to v6.1.4 (3ff8154b) * update node:8.16.0 docker digest to b5484d1 (6421f10f) * update dependency husky to v2.3.0 (c20e3313) * update dependency nyc to v14.1.1 (#7584) (9047210c) * update dependency eslint to v5.16.0 (692e2ead) * update dependency nyc to v14 (9210baf5) * update dependency husky to v2.2.0 (8a018a5f) * update dependency lint-staged to v8.1.6 (4e39caf8) * update dependency husky to v2.1.0 (65ff0bbd) * update dependency husky to v2 (e81a1dbb) * update dependency eslint-plugin-import to v2.17.2 (#7546) (c1fb17f9) * update dependency jsdom to v15 (#7556) (d4d8d98f) * update dependency jsdom to v14.1.0 (#7555) (ca694fd1) * update node.js to v8.16.0 (#7554) (f10708e7) * update dependency eslint-plugin-import to v2.17.1 (69dd8e4d) * update dependency mocha to v6.1.2 (b7169772) ##### Documentation Changes * updated changelog (93b688d0) ##### New Features * let theme know downvoting is disabled, closes https://github.com/NodeBB/NodeBB/pull/7568 (bd94fbc2) * closes #7583 (cf5aeace) * #7319 (9385c8e3) * add node12 to travis (1a7036a6) * allow file uploading on registration interstitial (ddffc904) * #7527 (ba5e1eaa) * #7515 (c38db4f7) ##### Bug Fixes * #7599 image size measurement erroring out on missing path (0d86781c) * #7590 updated chat and post edit and delete timeout labels in ACP (4f0dc443) * tests (3a7e99a5) * #7586, switchTimeagoLanguage shouldn't discriminate against languages w/o shorthands (1703233f) * #7576 "Disable password changes" can be sidestepped (50260e13) * if editing password is disabled in ACP, prevent direct access via route/socket (related: #7576) (e114b16d) * #7582 (c9ca72d0) * #7461 (96cb29aa) * increase batch size (3d938e7b) * #7564 (bf6fc502) * group cover upload not working for s3 upload (#7571) (8945ebcb) * test (b9903120) * #7539 (c940a733) * #7565 (07e9b67e) * #7464 (32cf07d7) * #7147 (fe6d64cc) * #7424 (f86d74d8) * #7562 (09681e6c) * node12 tests (8775e7e6) * add post queue to /compose POST route (c6cd6c57) * remove redis object cache (4df925e7) * #7545 (74038849) * failing test from 00552d7183f0416a0caa113fe2f1e658659648f7 (9bf3517d) * fire filter:register.complete for users approved via registration queue (00552d71) * #7540 (8778f00b) * more graceful error handling and output for cli/reset (d3ebda73) * #6438 only apply whitelist when fields request empty (#7528) (808c4909) * **deps:** * update dependency nodebb-theme-vanilla to v10.1.31 (#7589) (a9f9d19b) * update dependency nodebb-theme-persona to v9.1.36 (#7588) (bd86e58d) * update dependency mongodb to v3.2.4 (#7581) (26d6d0be) * update dependency postcss to v7.0.16 (10a47a29) * update dependency nodebb-theme-persona to v9.1.33 (#7563) (7c4201f2) * update dependency sharp to v0.22.1 (#7561) (288a25f0) * update dependency nodebb-plugin-composer-default to v6.2.12 (#7538) (a54f8f00) * update dependency mongodb to v3.2.3 (97a7f02f) #### 1.12.1 (2019-04-10) ##### Chores * incrementing version number - v1.12.1 (dd973abe) * comment cleanup (6bed51ef) * bump persona (1f4db132) * bump themes, fix: https://github.com/NodeBB/NodeBB/issues/7446 (0d19bb3d) * incrementing version number - v1.12.0 (d87f8c52) * **deps:** * update dependency lint-staged to v8.1.5 (ae17481d) * update node:8.15.1 docker digest to 918f0be (5f787d73) * update node:8.15.1 docker digest to 3d43ad1 (ea77ad4e) * update dependency grunt to v1.0.4 (a9130fad) * update dependency eslint to v5.15.3 (d2932cf6) * update dependency mocha to v6.0.2 (#7408) (1c671c32) * update dependency eslint to v5.15.1 (d8486e88) * update node:8.15.1 docker digest to c151597 (2cb0bdea) * update dependency jsdom to v14 (a967253a) ##### Documentation Changes * updating changelog (9aeb291e) ##### New Features * #7515 (ac889db1) * update unban logic/invocation and refactor User.bans module (3fbb6faf) * add original sessionID to static:user.loggedOut (abe4abb6) * #7501 (2ee2cd52) * allow multiple cids for getActiveUsers (81306fff) * manual password expiry. closes #7471 (24dcae21) * #7358 (7211dde7) ##### Bug Fixes * don't crash if templateData is undefined (eb2c3e56) * clear children before building tree (397e062a) * upgrade script date (4f3ca4d8) * #7519 (ed91d3f2) * #7517 (e479fad7) * #7470 Properly handle recompilation of email templates (75ae29c1) * resolve CORS error on uploading via URL (3871a02c) * #7461 (dbc4d840) * #7491 (8cc1864a) * #7476 (4db0efe3) * #7508 (b52dba5c) * escape search snippet closes #7506 (e906bea4) * #7490 once again (3ec9fc40) * #7502 (3304ffe9) * #7503 (1f3554ff) * #7493, adding robots noindex meta tag to compose and reset routes (6415ba82) * #7490, handling of image sizes if no size saved in db (86e1cdd5) * #7494 (8f55ab13) * #6911, email throttling options set (63e16ec0) * throttling email output to 2 messages every second, fixes #6911 (33a1bf6c) * #7469 missing email logos, occasionally (8d62ead3) * #7487 (fddb783e) * #7485 (78e0b983) * move upload_url to prestart so it is defined in upgrade scripts (ad2d7a69) * #7342 (cead89f0) * #7477 (240f563a) * #7473 (c289b904) * #7378 (c37b2f2e) * #7454 (dcdd41c7) * #7472 (962b7f73) * remove async.series, dont crash if postAtIndex is undefined (dd8d4f20) * tests (c12e1d19) * #7468 (b4a9bb10) * #7444 Re-factor handling of og:image tags (#7463) (697a6597) * tests (45d7e37a) * callbacks (b48b6d75) * return early if keys is empty (7addc5a0) * return early if keys is empty (b3962c16) * prevent infinite loops if category is already in children (b71e0eb1) * #7448 (4732bed3) * return early if there are not blocked uids (73d14e45) * #7008 (756dfd8a) * typo (f9d92db5) * tests (e71ae80c) * #7406 (cbfbcee5) * #7432 (777ca032) * change user/system cpu usage (aecdf739) * strip exif data on image uploads (5eaa14e7) * **deps:** * update dependency nodebb-theme-persona to v9.1.29 (e5c12a49) * update dependency nodebb-plugin-composer-default to v6.2.11 (30b042b8) * update dependency nodebb-plugin-composer-default to v6.2.10 (cf180e09) * update dependency html-to-text to v5 (b39ce25c) * update dependency semver to v6 (8662aa95) * update dependency spdx-license-list to v6 (447cf66b) * update dependency nodebb-widget-essentials to v4.0.17 (#7489) (0f9cb86d) * update dependency mongodb to v3.2.2 (#7482) (357f931c) * update dependency nodemailer to v6 (0274c2bd) * update dependency sharp to v0.22.0 (#7466) (c3261415) * update dependency nodebb-theme-slick to v1.2.23 (#7460) (c20cd528) * update dependency nodebb-theme-vanilla to v10.1.25 (fe30e06d) * update dependency nodebb-theme-persona to v9.1.27 (5c605392) * update dependency connect-redis to v3.4.1 (02804fe9) * update dependency nodebb-plugin-composer-default to v6.2.9 (#7442) (80293146) * update dependency nodebb-theme-vanilla to v10.1.23 (#7438) (48dd3c5b) * update dependency nodebb-theme-slick to v1.2.22 (#7437) (3f4ae4b0) * update dependency nodebb-theme-persona to v9.1.25 (#7436) (9887bb4f) * update dependency nodebb-plugin-composer-default to v6.2.8 (#7435) (c18f2e1f) ### 1.12.0 (2019-03-06) ##### Chores * incrementing version number - v1.12.0 (d87f8c52) * incrementing version number - v1.11.2 (757bff27) * **deps:** * update node:8.15.1 docker digest to 287b8a5 (0b8d1833) * update node.js to v8.15.1 (ae89db28) * update dependency mocha to v6 (#7387) (30bdb1a1) * update dependency coveralls to v3.0.3 (#7397) (cf74904c) * update dependency eslint to v5.14.1 (4df9c206) * update dependency jsdom to v13.2.0 (cb5e3d83) * update node:8.15.0 docker digest to a8a9d8e (edcb5314) * update dependency nyc to v13.3.0 (a78f5da5) * update dependency lint-staged to v8.1.4 (18c90913) * update dependency eslint to v5.14.0 (9d8d2d0d) * update commitlint monorepo (aed5b29d) * update dependency eslint-plugin-import to v2.16.0 (e0fa6965) * update dependency @commitlint/cli to v7.4.0 (362d9397) * update dependency lint-staged to v8.1.1 (96644350) ##### Documentation Changes * updated changelog (aec2f210) ##### New Features * admin/groups style change (2b6f1a05) * add process cpu usage to admin (db477538) * pass options to digest (23da3009) * revamp email templates to be more style agnostic (#7375) (f32a9922) * lower search timeout (fc830c0f) * quick search (8a0e1280) * add vote status to getPostData API call (eafe76de) * make topic search a function (d2b83967) * quick search (c01d43e0) * check overide (ba90bf31) * check CI failure (f2d7f75e) * logging password resets and errors into event log (0c09b740) * add `action:alert.new`, `action:alert.update` hooks (daadcc48) * allow themes to define custom classes for categories via filter:admin.category.get (5031bfe8) * show more unread notifs (d75a0d77) * pass topic creation data to action:topic.save (cd2f72fb) * textcomplete over jquery-textcomplete, closes #7309 (02a8ed9b) * new hook filter:privileges.posts.edit (f659ef4d) * new hook type: `response` (a23854e3) ##### Bug Fixes * **deps:** * update dependency nodebb-theme-persona to v9.1.24 (0f2d3181) * update dependency nodebb-plugin-composer-default to v6.2.7 (#7411) (9ebc900a) * bump markdown (82c8ee3f) * bump markdown (7ce5a81f) * bump persona (a0b71f09) * update dependency nodebb-theme-vanilla to v10.1.21 (#7404) (699eddcb) * update dependency nodebb-theme-persona to v9.1.22 (#7403) (d87751ea) * update dependency nodebb-theme-persona to v9.1.21 (#7401) (f721155d) * update dependency nodebb-theme-slick to v1.2.21 (#7398) (f6e55651) * update dependency nodebb-widget-essentials to v4.0.14 (#7399) (f812e0b7) * update dependency nodebb-theme-persona to v9.1.19 (#7392) (deff7b34) * update dependency nodebb-plugin-composer-default to v6.2.6 (#7389) (fab32a49) * update dependency nodebb-theme-persona to v9.1.18 (042b81a0) * update dependency nodebb-theme-persona to v9.1.17 (#7379) (546e04e1) * update dependency nodebb-plugin-composer-default to v6.2.5 (#7374) (d0874f34) * update dependency async to v2.6.2 (#7365) (264eadde) * update dependency nodebb-plugin-composer-default to v6.2.4 (30ff4582) * update dependency nodebb-theme-persona to v9.1.16 (65df6711) * update dependency nodebb-plugin-markdown to v8.9.0 (07b29d59) * bump contenteditable to v0.1.1, #7325 (fbbe2ab7) * update dependency nodebb-plugin-composer-default to v6.2.3 (#7341) (176efb5f) * update dependency nodebb-theme-persona to v9.1.15 (#7295) (8f69ffd4) * update dependency nodebb-theme-slick to v1.2.20 (#7197) (a82bd3d0) * update dependency nodebb-theme-lavender to v5.0.9 (#7322) (b350be27) * update dependency nodebb-plugin-composer-default to v6.2.2 (99f82fb3) * update dependency winston to v3.2.1 (#7317) (7e872d32) * update dependency nodebb-plugin-markdown to v8.8.8 (#7314) (9cf81afe) * update dependency nodebb-plugin-dbsearch to v3.0.6 (#7305) (d48ef6d8) * update dependency nodebb-plugin-dbsearch to v3.0.5 (#7304) (57e3f162) * update dependency nodebb-theme-vanilla to v10.1.19 (#7301) (443dcee4) * update dependency winston to v3.2.0 (#7299) (6f957cb9) * update dependency nodebb-plugin-spam-be-gone to v0.6.0 (247ac828) * #7413 (684175f7) * #7414 (e331f6b5) * l2spread @baris nib (0360f6e1) * restored email logo to all outgoing emails (6c1f9c3c) * die hydra!!! (ad6c8dcc) * incorrect teaserPost logic (97313508) * normalized font sizes for paragraphs in digest (43c4eb23) * removed notification subheader translation string (6f272e34) * broken 50% border radius on emails, failing tests (d3a10628) * hook names getting objectified by winston (6472a065) * failing tests from revamped-emails branch (3a7f1c19) * #7395 (03305db8) * mounting of all-route middlewares to router instead of app (d722f3b8) * incorrect returnTo set in registerComplete (f972f752) * search.api not working on subfolder (158f68eb) * tests for #7385 (7a534453) * #7385 better handling for errors in Adv>Databases (57069a5c) * no relative path needed in req.session.returnTo (949b10f1) * don't refresh page when enabling/disabling categories (d5ece9a4) * #7373 (c2e7ae7f) * autocomplete not triggered if chat switched (ab0e547d) * #7366 (6c2f48f1) * #7357 (45c322ae) * #7359 (2996a5dc) * re-introducing indeterminate checkbox state to ACP privs (e8f3c256) * #7354 (c6ad8fae) * uid check (efd7d953) * uid checks (c24dcf78) * only allow numbers as scores (#7356) (5917dec2) * #7231, missing success alert on group name change in ACP (0fffcb38) * remove debug logs (fe63fca8) * don't use same db as prod values (39e35275) * database 0 was being replaced with undefined because 0 is falsy (bcd62586) * #7352 (2e2c3ac1) * #7261, banned users still get digests (aca05560) * #7346, panel-header widget colours in ACP (91a7b907) * #7350 (8c68780e) * eslint failure from daadcc4889a91b9bbd279d49db348610cc079ccc (96b6ce1f) * prevent crash if results.stats or results.serverStatus is undefined (fab52b84) * move `action:alert.update` to after translator (d864da1a) * #7098 (fc6767e1) * #7232 (70d9c6c4) * #7229 (e59b907d) * #7339 (12c58990) * #7338 (8e3bf581) * dont crash if userData is undefined #7262 (56a493d8) * #7240 (a2f08e7d) * give default privs on new install to guests/spiders (cd120990) * #6806 (c72da559) * #7334 (ae779ea4) * closes #7217 (9d1fcf4e) * merge post notifs (6e69a9ab) * don't crash if body doesn't have `skin-` (f6cfbbb5) * #7324 (c7abf07a) * allow regular groups to local login (0366cfd8) * #7316 (5353960a) * #7306 (8aebe884) * #7312 (7a4a8ea4) * #7311, missing dependencies (263e58df) * #7300 (920efad0) * #6848 (70f8b418) * #7298 privilege header misalignment (df6f75eb) * #7211 (cf918078) * #7215 (7a9780f6) * #7296, local login privilege available to registered-users only (7fb3c168) * #7094 (d03220cd) #### 1.11.2 (2019-01-24) ##### Chores * incrementing version number - v1.11.2 (757bff27) * incrementing version number - v1.11.1 (2104877c) * **deps:** * update node:8.15.0 docker digest to cb66110 (1719cd77) * update dependency eslint-plugin-import to v2.15.0 (f7191eb9) * update dependency eslint to v5.12.1 (d928c54d) * update dependency @commitlint/cli to v7.3.2 (6ae2b972) * update node.js to v8.15.0 (ac39fe90) * update dependency eslint to v5.12.0 (f96ef7bb) * update commitlint monorepo to v7.3.1 (50594118) * update dependency smtp-server to v3.5.0 (00063708) * update dependency husky to v1.3.1 (719995a4) * update dependency eslint to v5.11.0 (#7151) (26f3bdbf) * update dependency husky to v1.3.0 (eb606281) * update dependency jsdom to v13.1.0 (60e9430b) * update dependency eslint to v5.10.0 (#7084) (dae861da) * update dependency husky to v1.2.1 (63f4b569) * update node:8.14.0 docker digest to dd2381f (7449ae3e) * update node.js to v8.14.0 (8a5a031d) * update dependency lint-staged to v8.1.0 (dd7f8a14) * update dependency husky to v1.2.0 (aee21628) * update node:8.12.0 docker digest to 5dae8ea (0ef451dd) * update dependency husky to v1.1.4 (95d6ab06) * update dependency eslint to v5.9.0 (92441794) * pin dependencies (b0483f21) * update dependency eslint-config-airbnb-base to v13 (#6599) (64b9dabf) * update node.js to v8.12.0 (fa3afbd2) * update dependency husky to v1.1.3 (6cee5b8e) * update dependency lint-staged to v8.0.4 (9d258668) * update dependency lint-staged to v8.0.3 (aaa6fe9e) * update dependency lint-staged to v8 (95d7a5fa) * update dependency jsdom to v13 (52f141c9) * **husky:** setting up husky as recommended in docs (e8a3d929) ##### Documentation Changes * updated changelog for v1.11.1 (c04e192d) ##### New Features * new hook filter:user.logout (63061ffd) * explicit handling of SSO success and failure (059a4be2) * additional options for SSO plugins (2b9322e1) * get rid of disk access (ed5d2d6d) * support for one-click unsubscribe from email clients (#7203) (70a87d43) * added new hook `static:sockets.validateSession` (#7189) (0263b4da) * #7120 (f4ea2c43) * #7032 (0c1ac4d6) * small fixes (fef7e13c) * name topic controller (b9b9d8b2) * header (0cb9bba4) * more naming (ae0fe5e8) * give the rest of the middlewares names (f88db22c) * give names to more middlewares (fdfbcc6e) * give names to middlewares (53793e16) * change sortedSetsScore (d2c2d56f) * Allow getting logfile path from config (#7044) (f3e8e065) * remove uid::ignored:cids (#7099) (263c9180) * cache category tag whitelist (78fa7340) * make user cards look less derpy (31bb2ae9) * added new middleware authenticateOrGuest (4fba1492) * closes #7070 (7ca62b83) * added README.md in languages folder (648964fa) * up composer (7eee8e1d) * allow array results (54c127d1) * #7023 (f581c052) * close #7002, console message if mismatched origins (89c025d1) * added changelog file to root of repo (e89b4fca) * enabling commitlint (c58a41ed) * allow disabling of GDPR features via ACP toggle, closes #6847 (4919e9ef) * **deps:** update bootstrap to v3.4.0 (#7106) (d1ea5d15) * **email:** don't escape html in notification bodies. (#7042) (d7c55bc3) ##### Bug Fixes * test (bc41848a) * #7235 (7064fd06) * use ACP config value for checking online status (ef0e7808) * log error to prevent headers already sent (a22a3a98) * #7289 timeago shorthand toggle fails on non-existant language (cee47f78) * #7276 improper request for client-noskin.css (5ee173c2) * #7274 incorrect handling of client script 404s (831d0795) * #7270 Flags graph label not translatable (8ceb35f5) * #7266 body does not contain skin class (f122fc44) * generate timeago codes from files (7524d3c3) * removal of timeago fallback middleware (#7259) (c831ff0d) * post queue notifs (ac655564) * added missing translation and error state for password change (51b5fb98) * #7236, header search stops working after header update (3859d417) * #7226, added placeholder styling for fa-nbb-none (87c2d108) * escape hook method (9328eeca) * #7216, hide taskbar on chat modal invocation on mobile (a70db885) * #7208 (428f587c) * #7054 (a662f118) * #7209 (b9833483) * missing notification (1a3838e1) * #7193, closes #7194 (7809ba28) * #https://github.com/barisusakli/nodebb-plugin-dbsearch/issues/49 (6f1fb4eb) * #7187 (28459d04) * #7176, FUOC on app.reskin() (954af0f0) * #7174 (9aa1aa68) * #7181 (0d409610) * #7142 (8da3b2a4) * #7179 (03299736) * #7169 Fixed logout being broken (b0eaa858) * #7167, composer and chat not closing on logout (629b3554) * shorter function (43e7cc0a) * #7162 (2da0a657) * uid filtering (72afc180) * dont crash if default cover is invalid (41fb5cca) * #7136 socket.disconnect() now called on invalid session (8e9de540) * RTL not respected when changed in user settings, related to #7146 (4873a339) * #7146 Better RTL handling on (de-)authentication (d81e0a5f) * #7118, invoking autoLocale middleware on logout (900f0a0b) * closes #6784 (#7137) (7fb29f42) * 7100 (ab81cca7) * #7139 (3917022a) * #7116 (7e828404) * #7138 (29a85aec) * lint (b47f939b) * #7091, #7093 (69e0dbbf) * #7131 (d31684e8) * remove cache (b2a74b41) * loop (60390c01) * #7124 (4650a760) * unread badge (9f506268) * move the check to get methods (99e0895e) * #7115 (989879a6) * #6979 (29b63ae7) * upgrade script key (0eef3e1c) * remove log (00afc5b3) * #7108 (81697390) * dont save data for non-positive uids (62f01a83) * #7103 (f103390a) * dont update cid::tids:votes if topic is pinned (2f57a4b9) * #7102 (d117df77) * #7102 (85a07e99) * don't explode if there is no css el (74d0e88d) * db info page (26ccd8f6) * logAttempt conditional (a6c8e0ab) * #7087, server-side protection against guest blocks (33d4956b) * don't crash in flags.validate if user blocked target (81aa3a0b) * dont send empty strings (555c092f) * #7085 (fe0f95a2) * #7086 (e55fb437) * wrong variable #7085 (71163421) * admins&mods when there are mutliple lines of users (de437e36) * refreshing settings page on save if language changed (ed46c5e2) * not calling authenticate middleware on resource direct access routes (eeaee8cc) * #7038, autoLocale logic not playing nicely with no-refresh auths (#7059) (5f3d1c76) * #7074 (2604cf63) * #7071 buildSkinAsset won't rebuild continuously (a07d9898) * #7063, logout code should do hard page nav to / or data.next (6df5668e) * #7061 (eab297bd) * skin not changing after login or logout, #7038 (28a1fa78) * #7040 (a63ddbe2) * #7041 (ec0c50d4) * #7043 (8d7c3897) * add missing render function (cb7c2d8c) * #7033 (8808a033) * #7037 (b86f1556) * #6991, add timeout for version Github request (43c3bb02) * #7030 (58d4376f) * added admin/manage/uploads to tx config (7357926f) * #7013, add cache buster to js-enabled.css (f6b92c1d) * removal of scroll anchoring code in favour of browser handling (98c14e0e) * custom navigation item not showing groups (d9452bf3) * flags detail page crash if reporter blocks author (d027207f) * #6922, skin assets not including plugin LESS files (a5022ce4) * #6921, allow square brackets in usernames (da10ca08) * interstitial redirects failing if done via ajaxify (3c8939a8) * username trim on login, closes #6894 (157bea69) * **deps:** * update dependency nodebb-widget-essentials to v4.0.13 (#7293) (22cbcc3e) * update dependency mongodb to v3.1.13 (1aadbc3c) * update dependency postcss to v7.0.14 (4d64de76) * #7271, updating autoprefixer to latest version (a7af0198) * #7270 (b48f1b4d) * update dependency sharp to v0.21.3 (#7267) (8a64667f) * theme upgrades for #7266 (5607261c) * update dependency mongodb to v3.1.12 (eeab7d20) * update dependency mongodb to v3.1.11 (#7252) (b5f188b6) * update dependency validator to v10.11.0 (77dc8fc7) * update dependency nodebb-plugin-composer-default to v6.1.21 (2fbb2614) * update dependency postcss to v7.0.12 (f1842295) * update dependency postcss to v7.0.11 (57bec2fb) * update dependency sharp to v0.21.2 (8f3c4b09) * update dependency postcss to v7.0.10 (82475fe5) * update dependency postcss to v7.0.9 (f171c169) * update dependency nodebb-theme-vanilla to v10.1.15 (ea059e89) * update dependency nodebb-theme-persona to v9.1.10 (96482569) * update dependency nodebb-theme-persona to v9.1.9 (bbe05043) * update dependency nodebb-theme-vanilla to v10.1.14 (6cc5dbc8) * update dependency nodebb-theme-persona to v9.1.8 (e5443690) * update dependency pg-cursor to v2 (29acad42) * update dependency diff to v4 (#7198) (84e228bb) * update dependency nodebb-plugin-mentions to v2.5.2 (#7199) (0a647316) * update dependency nodebb-plugin-markdown to v8.8.7 (90b4d40e) * update dependency rimraf to v2.6.3 (f4cc3122) * update dependency spider-detector to v1.0.19 (#7177) (0faba325) * update dependency nodemailer to v5 (4993b03c) * update dependency json-2-csv to v3 (80cee665) * update dependency nodebb-plugin-composer-default to v6.1.20 (07bf0b98) * update dependency nodebb-theme-persona to v9.1.7 (#7161) (c68d4ae8) * update dependency nodebb-plugin-composer-default to v6.1.19 (#7159) (07af46ea) * update dependency nodebb-plugin-composer-default to v6.1.18 (#7158) (584b45fc) * update dependency validator to v10.10.0 (#7152) (8003bed8) * update dependency nodebb-plugin-mentions to v2.5.0 (792dce14) * update dependency nodebb-theme-persona to v9.1.6 (#7141) (325b0293) * update dependency nodebb-plugin-dbsearch to v3.0.4 (ddd07c1a) * update dependency nodebb-widget-essentials to v4.0.12 (#7133) (f614a44d) * update dependency nodebb-plugin-mentions to v2.4.0 (9ab31d7e) * update dependency postcss to v7.0.7 (7ef8c3fd) * update dependency sharp to v0.21.1 (#7082) (bf75f3e3) * update dependency nodebb-theme-vanilla to v10.1.13 (#7114) (fc5598b9) * update dependency nodebb-theme-slick to v1.2.19 (#7113) (56ad43aa) * update dependency nodebb-theme-persona to v9.1.5 (#7112) (953f8fe5) * update dependency nodebb-plugin-composer-default to v6.1.17 (3bcfd7fc) * update dependency nodebb-theme-persona to v9.1.4 (b6ad5fd4) * update dependency nodebb-plugin-markdown to v8.8.6 (#7079) (46fb365d) * update dependency nodebb-theme-persona to v9.1.3 (#7075) (d2aea57a) * update dependency nodebb-theme-persona to v9.1.2 (42e792ab) * update dependency nodebb-theme-persona to v9.1.1 (#7069) (bdb33056) * update dependency postcss to v7.0.6 (6b5428c5) * update dependency nodebb-plugin-composer-default to v6.1.14 (#7058) (e48ed6e0) * update dependency nodebb-plugin-composer-default to v6.1.13 (#7057) (ada1d6d0) * update dependency nodebb-plugin-composer-default to v6.1.12 (#7056) (9f9f72da) * update dependency nodebb-plugin-composer-default to v6.1.11 (#7055) (89acb896) * update dependency nodebb-theme-slick to v1.2.18 (#7049) (b6cb77c1) * update dependency nodebb-theme-slick to v1.2.17 (#7048) (7334c45b) * update dependency nodebb-theme-slick to v1.2.16 (#7047) (1cb1af0c) * update dependency connect-mongo to v2.0.3 (#7046) (d0d0c7f0) * update dependency nodebb-plugin-dbsearch to v3.0.3 (#7035) (adb1b5f3) * update dependency lru-cache to v4.1.5 (#7031) (887582eb) * update dependency socket.io to v2.2.0 (b9d49867) * update dependency socket.io-client to v2.2.0 (824bd541) * update dependency nodebb-plugin-dbsearch to v3.0.2 (#7028) (11f1b409) * update dependency nodebb-plugin-dbsearch to v3.0.1 (#7027) (e71f443c) * update dependency nodebb-theme-vanilla to v10.1.12 (cf928f44) * update dependency nodebb-theme-persona to v9.1.0 (179be9ed) * update dependency nodebb-theme-persona to v9.0.63 (#7019) (68ae3eb6) * update dependency nodebb-plugin-markdown to v8.8.5 (d3ab7d1b) * update dependency nodebb-theme-persona to v9.0.60 (#6984) (cbd50a80) * update dependency nodebb-theme-vanilla to v10.1.10 (#6982) (4c769487) * update dependency nodebb-theme-slick to v1.2.15 (#6981) (acaf1a05) * update dependency nodebb-theme-persona to v9.0.59 (#6980) (5863bb2c) * update dependency lru-cache to v4.1.4 (#6977) (375ab769) * update dependency connect-mongo to v2.0.2 (#6975) (e1597b83) * update dependency nodebb-plugin-markdown to v8.8.4 (84d1013d) * update dependency nodebb-plugin-composer-default to v6.1.8 (fee7e336) * update dependency nodebb-plugin-markdown to v8.8.3 (b182a195) * update dependency nodebb-plugin-composer-default to v6.1.7 (#6966) (1101f327) * update dependency nodebb-theme-persona to v9.0.58 (#6964) (6ade156b) * update dependency mongodb to v3.1.10 (#6962) (662215fa) * update dependency nodebb-theme-persona to v9.0.57 (#6956) (1bf1a439) * update dependency nodebb-theme-persona to v9.0.55 (#6955) (e06683f7) * update dependency nodebb-plugin-composer-default to v6.1.6 (c51ceaf0) * update dependency nodebb-theme-persona to v9.0.54 (bb940b01) * update dependency nodebb-plugin-mentions to v2.2.12 (#6936) (e12a803b) * update dependency nodebb-theme-vanilla to v10.1.9 (#6935) (b480c321) * update dependency nodebb-theme-slick to v1.2.14 (#6934) (9cdd5316) * update dependency nodebb-theme-persona to v9.0.53 (#6933) (9ee1c2f8) * update dependency nodebb-plugin-dbsearch to v2.0.23 (#6931) (dba1db9c) * update dependency jsesc to v2.5.2 (511b4edc) * update dependency validator to v10.9.0 (032caafa) * update dependency spdx-license-list to v5 (a639b6b8) * update dependency nodebb-theme-vanilla to v10.1.8 (eb0a322d) * update dependency nodebb-theme-persona to v9.0.52 (6566a0cb) * update dependency nodebb-plugin-dbsearch to v2.0.22 (#6916) (7808e58c) * update dependency mongodb to v3.1.9 (#6914) (9a9f2af9) * update dependency nodebb-theme-persona to v9.0.51 (e2274fe0) * update dependency nodebb-theme-slick to v1.2.13 (3005428d) * update dependency nodebb-theme-persona to v9.0.50 (#6902) (22140a20) * update dependency nodebb-plugin-markdown to v8.8.2 (0b4c9a80) * update dependency nodebb-theme-vanilla to v10.1.7 (3150a2fc) * update dependency nodebb-theme-slick to v1.2.12 (#6881) (9bcda7f7) * update dependency nodebb-theme-persona to v9.0.49 (#6880) (e0dc00da) * update dependency nodebb-theme-persona to v9.0.48 (2b6f5eec) * **i18n:** pushed notifications source to tx, pulled fallbacks (8dd8370b) * **uploads:** ugly filenames on uploaded asset downloading (f96208a0) * **acp:** * small UI fixes for ACP privileges category selector (#6946) (57b39d5b) * hard-to-discover dropdown selector in ACP (b3f96d28) * **l10n:** some translations (34cbd1fc) ##### Other Changes * //github.com/NodeBB/nodebb-theme-persona/issues/363 (702be3f6) * //github.com/NodeBB/NodeBB/issues/6433 (7e00d6b9) * #6408 (f0f30041) * #6425 (fbf52407) * //github.com/NodeBB/NodeBB/issues/6073 (5da24b41) * #5862, setting chat list height even if no message list is present (bc9a1250) * //github.com/Schamper/nodebb-plugin-poll/issues/86 (c0f39032) ##### Refactors * use loash when possible (#7230) (e1ca2d81) ##### Code Style Changes * lint fix (fbe6ccd7) * **eslint:** * match operator-linebreak preferences (ba619c7e) * newlines in public/src as well (f7bd398e) * enforcing newline on chained calls (95cc27f1) #### 1.11.1 (2018-12-14) ##### Chores * incrementing version number - v1.11.1 (2104877c) * **deps:** * update dependency husky to v1.2.1 (63f4b569) * update node:8.14.0 docker digest to dd2381f (7449ae3e) * update node.js to v8.14.0 (8a5a031d) ##### New Features * Allow getting logfile path from config (#7044) (f3e8e065) * remove uid::ignored:cids (#7099) (263c9180) * cache category tag whitelist (78fa7340) * make user cards look less derpy (31bb2ae9) * added new middleware authenticateOrGuest (4fba1492) * closes #7070 (7ca62b83) * added README.md in languages folder (648964fa) * up composer (7eee8e1d) * allow array results (54c127d1) * #7023 (f581c052) * close #7002, console message if mismatched origins (89c025d1) * added changelog file to root of repo (e89b4fca) * **email:** don't escape html in notification bodies. (#7042) (d7c55bc3) ##### Bug Fixes * #7108 (81697390) * dont save data for non-positive uids (62f01a83) * #7103 (f103390a) * dont update cid::tids:votes if topic is pinned (2f57a4b9) * #7102 (d117df77) * #7102 (85a07e99) * don't explode if there is no css el (74d0e88d) * db info page (26ccd8f6) * logAttempt conditional (a6c8e0ab) * #7087, server-side protection against guest blocks (33d4956b) * don't crash in flags.validate if user blocked target (81aa3a0b) * dont send empty strings (555c092f) * #7085 (fe0f95a2) * #7086 (e55fb437) * wrong variable #7085 (71163421) * admins&mods when there are mutliple lines of users (de437e36) * refreshing settings page on save if language changed (ed46c5e2) * not calling authenticate middleware on resource direct access routes (eeaee8cc) * #7038, autoLocale logic not playing nicely with no-refresh auths (#7059) (5f3d1c76) * #7074 (2604cf63) * #7071 buildSkinAsset won't rebuild continuously (a07d9898) * #7063, logout code should do hard page nav to / or data.next (6df5668e) * #7061 (eab297bd) * skin not changing after login or logout, #7038 (28a1fa78) * #7040 (a63ddbe2) * #7041 (ec0c50d4) * #7043 (8d7c3897) * add missing render function (cb7c2d8c) * #7033 (8808a033) * #7037 (b86f1556) * #6991, add timeout for version Github request (43c3bb02) * #7030 (58d4376f) * **deps:** * update dependency nodebb-plugin-composer-default to v6.1.17 (3bcfd7fc) * update dependency nodebb-theme-persona to v9.1.4 (b6ad5fd4) * update dependency nodebb-plugin-markdown to v8.8.6 (#7079) (46fb365d) * update dependency nodebb-theme-persona to v9.1.3 (#7075) (d2aea57a) * update dependency nodebb-theme-persona to v9.1.2 (42e792ab) * update dependency nodebb-theme-persona to v9.1.1 (#7069) (bdb33056) * update dependency postcss to v7.0.6 (6b5428c5) * update dependency nodebb-plugin-composer-default to v6.1.14 (#7058) (e48ed6e0) * update dependency nodebb-plugin-composer-default to v6.1.13 (#7057) (ada1d6d0) * update dependency nodebb-plugin-composer-default to v6.1.12 (#7056) (9f9f72da) * update dependency nodebb-plugin-composer-default to v6.1.11 (#7055) (89acb896) * update dependency nodebb-theme-slick to v1.2.18 (#7049) (b6cb77c1) * update dependency nodebb-theme-slick to v1.2.17 (#7048) (7334c45b) * update dependency nodebb-theme-slick to v1.2.16 (#7047) (1cb1af0c) * update dependency connect-mongo to v2.0.3 (#7046) (d0d0c7f0) * update dependency nodebb-plugin-dbsearch to v3.0.3 (#7035) (adb1b5f3) * update dependency lru-cache to v4.1.5 (#7031) (887582eb) * update dependency socket.io to v2.2.0 (b9d49867) * update dependency socket.io-client to v2.2.0 (824bd541) * update dependency nodebb-plugin-dbsearch to v3.0.2 (#7028) (11f1b409) * update dependency nodebb-plugin-dbsearch to v3.0.1 (#7027) (e71f443c) * **i18n:** pushed notifications source to tx, pulled fallbacks (8dd8370b) ##### Code Style Changes * **eslint:** match operator-linebreak preferences (ba619c7e) ### 1.11.0 (2018-11-28) ##### Chores * **deps:** * update dependency lint-staged to v8.1.0 (dd7f8a14) * update dependency husky to v1.2.0 (aee21628) * update node:8.12.0 docker digest to 5dae8ea (0ef451dd) * update dependency husky to v1.1.4 (95d6ab06) * update dependency eslint to v5.9.0 (92441794) * pin dependencies (b0483f21) * update dependency eslint-config-airbnb-base to v13 (#6599) (64b9dabf) * update node.js to v8.12.0 (fa3afbd2) * update dependency husky to v1.1.3 (6cee5b8e) * update dependency lint-staged to v8.0.4 (9d258668) * update dependency lint-staged to v8.0.3 (aaa6fe9e) * update dependency lint-staged to v8 (95d7a5fa) * update dependency jsdom to v13 (52f141c9) * **husky:** setting up husky as recommended in docs (e8a3d929) ##### New Features * enabling commitlint (c58a41ed) * allow disabling of GDPR features via ACP toggle, closes #6847 (4919e9ef) ##### Bug Fixes * **deps:** * update dependency nodebb-theme-vanilla to v10.1.12 (cf928f44) * update dependency nodebb-theme-persona to v9.1.0 (179be9ed) * update dependency nodebb-theme-persona to v9.0.63 (#7019) (68ae3eb6) * update dependency nodebb-plugin-markdown to v8.8.5 (d3ab7d1b) * update dependency nodebb-theme-persona to v9.0.60 (#6984) (cbd50a80) * update dependency nodebb-theme-vanilla to v10.1.10 (#6982) (4c769487) * update dependency nodebb-theme-slick to v1.2.15 (#6981) (acaf1a05) * update dependency nodebb-theme-persona to v9.0.59 (#6980) (5863bb2c) * update dependency lru-cache to v4.1.4 (#6977) (375ab769) * update dependency connect-mongo to v2.0.2 (#6975) (e1597b83) * update dependency nodebb-plugin-markdown to v8.8.4 (84d1013d) * update dependency nodebb-plugin-composer-default to v6.1.8 (fee7e336) * update dependency nodebb-plugin-markdown to v8.8.3 (b182a195) * update dependency nodebb-plugin-composer-default to v6.1.7 (#6966) (1101f327) * update dependency nodebb-theme-persona to v9.0.58 (#6964) (6ade156b) * update dependency mongodb to v3.1.10 (#6962) (662215fa) * update dependency nodebb-theme-persona to v9.0.57 (#6956) (1bf1a439) * update dependency nodebb-theme-persona to v9.0.55 (#6955) (e06683f7) * update dependency nodebb-plugin-composer-default to v6.1.6 (c51ceaf0) * update dependency nodebb-theme-persona to v9.0.54 (bb940b01) * update dependency nodebb-plugin-mentions to v2.2.12 (#6936) (e12a803b) * update dependency nodebb-theme-vanilla to v10.1.9 (#6935) (b480c321) * update dependency nodebb-theme-slick to v1.2.14 (#6934) (9cdd5316) * update dependency nodebb-theme-persona to v9.0.53 (#6933) (9ee1c2f8) * update dependency nodebb-plugin-dbsearch to v2.0.23 (#6931) (dba1db9c) * update dependency jsesc to v2.5.2 (511b4edc) * update dependency validator to v10.9.0 (032caafa) * update dependency spdx-license-list to v5 (a639b6b8) * update dependency nodebb-theme-vanilla to v10.1.8 (eb0a322d) * update dependency nodebb-theme-persona to v9.0.52 (6566a0cb) * update dependency nodebb-plugin-dbsearch to v2.0.22 (#6916) (7808e58c) * update dependency mongodb to v3.1.9 (#6914) (9a9f2af9) * update dependency nodebb-theme-persona to v9.0.51 (e2274fe0) * update dependency nodebb-theme-slick to v1.2.13 (3005428d) * update dependency nodebb-theme-persona to v9.0.50 (#6902) (22140a20) * update dependency nodebb-plugin-markdown to v8.8.2 (0b4c9a80) * update dependency nodebb-theme-vanilla to v10.1.7 (3150a2fc) * update dependency nodebb-theme-slick to v1.2.12 (#6881) (9bcda7f7) * update dependency nodebb-theme-persona to v9.0.49 (#6880) (e0dc00da) * update dependency nodebb-theme-persona to v9.0.48 (2b6f5eec) * added admin/manage/uploads to tx config (7357926f) * #7013, add cache buster to js-enabled.css (f6b92c1d) * removal of scroll anchoring code in favour of browser handling (98c14e0e) * custom navigation item not showing groups (d9452bf3) * flags detail page crash if reporter blocks author (d027207f) * #6922, skin assets not including plugin LESS files (a5022ce4) * #6921, allow square brackets in usernames (da10ca08) * interstitial redirects failing if done via ajaxify (3c8939a8) * username trim on login, closes #6894 (157bea69) * **uploads:** ugly filenames on uploaded asset downloading (f96208a0) * **acp:** * small UI fixes for ACP privileges category selector (#6946) (57b39d5b) * hard-to-discover dropdown selector in ACP (b3f96d28) * **l10n:** some translations (34cbd1fc) ##### Code Style Changes * **eslint:** * newlines in public/src as well (f7bd398e) * enforcing newline on chained calls (95cc27f1)