@ -1,3 +1,381 @@
#### v3.0.0 (2023-04-26)
##### Breaking Changes
* #11426 , proper v3 style error on maintenance mode [breaking] (2615c1e5)
* #11362 , regular mods are also subject to post queue [breaking] (c843984d)
##### Chores
* **deps:**
* update dependency eslint to v8.39.0 (#11507) (e74e76b1)
* update coverallsapp/github-action action to v2.1.2 (#11497) (fec552d2)
* update coverallsapp/github-action action to v2.1.1 (#11494) (f8ae6ef7)
* update dependency sass-embedded to v1.62.0 (#11467) (1dc6eb51)
* update coverallsapp/github-action action to v2.1.0 (#11458) (88b02d90)
* update dependency eslint to v8.38.0 (#11448) (afa37d6d)
* update dependency sass-embedded to v1.61.0 (#11442) (c7ccf9b8)
* update dependency lint-staged to v13.2.1 (#11444) (1a888f50)
* update dependency eslint to v8.37.0 (#11410) (defc01d9)
* update dependency @commitlint/cli to v17.5.1 (#11408) (0e57afa9)
* update dependency sass-embedded to v1.60.0 (#11392) (034666b4)
* update dependency @commitlint/cli to v17.5.0 (#11384) (69a7bfbe)
* update postgres docker tag to v15 (#10976) (f286b66f)
* update dependency @apidevtools/swagger -parser to v10 (#11207) (f21c8ca4)
* update docker/build-push-action action to v4 (#11245) (8ddb302f)
* update dependency sass-embedded to v1.59.3 (#11371) (2cde7231)
* update coverallsapp/github-action action to v2 (#11369) (a5a4b307)
* update dependency jsdom to v21.1.1 (#11355) (ae53a6e0)
* update dependency eslint to v8.36.0 (#11349) (50f14768)
* update dependency lint-staged to v13.2.0 (#11346) (d8f787eb)
* update dependency jquery to v3.6.4 (#11339) (87be2694)
* update coverallsapp/github-action action to v1.2.4 (#11323) (e8e35de3)
* update dependency eslint to v8.35.0 (#11324) (f155eedb)
* update commitlint monorepo to v17.4.4 (#11317) (a4aeee96)
* update dependency lint-staged to v13.1.2 (#11298) (45c3b9df)
* update dependency lint-staged to v13.1.1 (#11268) (4d68b0d4)
* update dependency eslint to v8.34.0 (#11291) (330f7ec8)
* update commitlint monorepo to v17.4.3 (#11293) (558c1c98)
* update dependency grunt to v1.6.1 (#11244) (9f0c352e)
* update dependency eslint to v8.33.0 (#11243) (eeca887b)
* update dependency jsdom to v21.1.0 (#11202) (09712b57)
* update commitlint monorepo to v17.4.2 (#11186) (5648c8ea)
* update dependency eslint to v8.32.0 (#11189) (56731d89)
* update dependency @apidevtools/swagger -parser to v9.0.1 (c1785080)
* update dependency eslint-plugin-import to v2.27.5 (f8461538)
* update dependency @commitlint/cli to v17.4.1 (#11137) (66b41d67)
* update dependency jsdom to v21 (#11134) (7905d573)
* update commitlint monorepo to v17.4.0 (#11123) (2ea1510f)
* update dependency husky to v8.0.3 (19c2b350)
* update dependency eslint to v8.31.0 (#11118) (8f83f790)
* update dependency jquery to v3.6.3 (#11107) (0665834d)
* update dependency eslint to v8.30.0 (#11102) (18bcc3cf)
* update dependency mocha to v10.2.0 (#11094) (ad96a4d8)
* update dependency lint-staged to v13.1.0 (#11082) (7a1c258d)
* update dependency eslint to v8.29.0 (#11074) (49143328)
* update dependency lint-staged to v13.0.4 (#11064) (ac14099b)
* up harmony (a405343d)
* up deps (1767fe3d)
* up composer (0962c063)
* up harmony (2c91c4e1)
* up harmony (cef9e791)
* up harmony (bea1826f)
* up harmony (52f32b0b)
* up widgets (22cb918c)
* up deps (445a4752)
* up composer (d1b9f83d)
* up harmony (d5636df2)
* up harmony (1fcbee0f)
* up harmony (4363c0bb)
* up harmony (24c24e6c)
* up harmony (eff9f98d)
* up harmony (9020cd40)
* up harmony (5dc1d6d5)
* up harmony (b912a132)
* up harmony (6962d206)
* rc.2 (654abb48)
* harmony beta.102 (3a50ad3a)
* up harmony (90e2e0bf)
* up harmony (0e3d34cc)
* up harmony (5cc1dd51)
* up harmony (e18d0df8)
* up harmony (4fb021a7)
* up harmony (ec106d91)
* up harmony (f1f32a47)
* up deps (08d159f5)
* up harmony (fe73c007)
* up harmony (764aca62)
* up harmony (2d75625b)
* up harmony (cc138c93)
* up harmony (a44f170a)
* up harmony (80f7dce8)
* remove logs (68db271d)
* up harmony (3f834480)
* up themes (7b7f473e)
* up harmony (361441bd)
* bump version tag for RC (e6e08d56)
* up harmony (4305c0a1)
* up rimraf to 4.x (#11377) (1502068e)
* up connect-redis to 7.x, drop node 14 (#11376) (fafa1304)
* up harmony (7d831f0b)
* up mongo deps (#11375) (5db037f1)
* add back missing dep upgrades (95ab5c41)
* fallbacks for new language string (830a20f1)
* up jquery (babe7fac)
* **i18n:**
* fallback strings for new resources: nodebb.topic (30234cf7)
* fallback strings for new resources: nodebb.error (026f2d94)
* fallback strings for new resources: nodebb.global (7ff9e494)
* fallback strings for new resources: nodebb.error (3bcfef5e)
* fallback strings for new resources: nodebb.recent (d1789206)
* fallback strings for new resources: nodebb.topic (04652ceb)
* fallback strings for new resources: nodebb.post-queue (eaa5454f)
* fallback strings for new resources: nodebb.user (92ec5bd9)
* fallback strings for new resources: nodebb.admin-settings-api (44c2d402)
* fallback strings for new resources: nodebb.admin-dashboard (58552300)
* fallback strings for new resources: nodebb.post-queue (7439d0a6)
* fallback strings for new resources: nodebb.error (7bc22a59)
* fallback strings for new resources: nodebb.admin-settings-user (0767ed57)
* fallback strings for new resources: nodebb.admin-settings-email (d8b45c61)
* fallback strings for new resources: nodebb.admin-settings-email (80cf05d8)
##### Documentation Changes
* update api introductions (5ab4d2fc)
* openapi schema for newly added routes (be323255)
* update readme with new screenshot and updated copy for Harmony (7599870f)
* fix openapi spec for new property in post queue route (ddd03248)
##### New Features
* add hits/sec for cache (94f2e508)
* i18n post-later (655a11d0)
* update mkdirp to 3.x, closes #11455 (132476d5)
* update rimraf to 5.x, closes #11456 (43c6087b)
* update lru-cache to 9.x, closes #11454 (c3cedefe)
* #11420 , add new GET routes to retrieve pending and invited members of a group, plus accept/reject pending (0788fb51)
* fallbacks for social.json (ac2aefd8)
* add social.json #11419 (c22c6e12)
* allow multiple topic selects in topic-list (645ebec8)
* update thumbs modal styling (c0b62346)
* add support for selected topic count (69f24ed9)
* change chat notification delivery (2c5a5bf3)
* add placeholder for category search (9c0996e4)
* closes #11139 , move sort settings to user settings page (77ddfc64)
* display when an api key was last used, in ACP, #10873 (40222984)
* log the last time a valid api token was seen, have v3 ping route go through setupApiRoute helper (efa64032)
* add rel="author" to topic route (4cf04f06)
* search dashboard time range (ebb5d2d2)
* allow file uploads on mobile chat (79731735)
* api v3 route to add email to user, optionally bypassing validation email, closes #11009 (fdc41646)
* fire filter:topics.getUnreadTids even if there are no urnead topics (b81fd81a)
* add force flag to plugin install in cli (#11089) (d447236b)
* update transifex config (for use with new cli) (21a366ec)
* integrating basic client-side form validity checking in settings v1 and v2 (07a3cee6)
* add ./nodebb install < plugin_name > (6fe87975)
##### Bug Fixes
* bump mentions and harmony (d2066f59)
* #11512 , filter by cid (e8fb6711)
* closes #11511 , reset skin if it was removed from bootswatch (7d7904b0)
* closes #11508 , update selector (9894d05f)
* add composer:showHelpTab to api (5c26cb58)
* numeric strings in mongo (#11498) (6bed65dd)
* regression in toolmodal category selector (91851364)
* don't crash if taskbar.tasklist is not defined yet (5feb509b)
* closes #11473 , kudos to @pitaj (57d64b35)
* closes #11466 (59b14978)
* #11438 , show flag history to mods (6eb1dd86)
* topic thumbnail removal error Relaxed DOM selector to accommodate changed tpl (70f4d7f0)
* upload modal error handler (dd8719a1)
* #11451 , use bookmark from localstorage for guests (2235f6c2)
* closes #11446 , add alert-link to 403,404,400 messages (2830d681)
* closes #11447 , fix timestamp of fork event (0cd657ff)
* #11440 , update timestamp on lastpost button (0e5ae212)
* throw generic not-allowed error on groups.join if a non-owner tries to add another user to a group (0fc9fdd5)
* remove socketGroups.addMember; update admin checks to allow admin:groups privilege, hide add member controls if not admin (18447b06)
* remove socketGroups.kick (f043dcec)
* remove socketGroups.issueMassInvite (9d49ec60)
* handle client-side acceptAll and rejectAll (b53f92fa)
* use api routes for group accept/reject (34d99c15)
* updating user bookmark when entering topic at the end from teaser (cc1c493b)
* closes #11437 , link to queued post from event (8680ea4d)
* direct replies on dynamic posts (5d9b23ca)
* topic labels on topics_list (2615192f)
* #11396 , removal of base_templates_path variable (7cb2e02c)
* dont show search input if user doesn't have tag search priv (a83734fb)
* add missing delete (2a9b3ee4)
* buttons for post queue content editing (33ad5a72)
* #9397 , trash the active session on account lockout, if there is one (03e05b51)
* #11381 , bug where the call to `action:settings.sorted-list.itemLoaded` did not properly pass in the correct element (2614b95c)
* #11357 clear cache on thumb remove (1e7f32b1)
* missing postAtIndex handling (e6d7e55f)
* update main post timestamp when rescheduling (5a2c6c1c)
* add back req.query fallback for backwards compatibility (83d36336)
* update csrf parser to accept csrf_token form value if present (ea95668a)
* schema changes for #11206 (9007ace1)
* new language keys for #11206 (966724ad)
* remove unneeded assignment, as req and locals will not likely ever be completely reassigned (a69bc2cf)
* move call to `filter:middleware.buildHeader` out of parallel so that req can be overridden by plugins prior to loading config (0a691e67)
* relax selectors for client-side form validation so that all form elements are checked (52e7ad4d)
* change hsts-maxage back to numeric input type, change API token uid input to numeric text type (13738888)
* replace input type number with text/pattern (cde4c6ac)
* **deps:**
* update dependency mkdirp to v3.0.1 (#11516) (f66eba29)
* update dependency semver to v7.5.0 (#11492) (a8a2ebbe)
* update dependency esbuild to v0.17.18 (#11509) (f0408ea9)
* update dependency nodebb-plugin-emoji to v5.0.6 (#11510) (04f77ada)
* update dependency postcss to v8.4.23 (#11504) (967b9840)
* update dependency ace-builds to v1.18.0 (#11505) (22f6b8f6)
* update dependency nodebb-plugin-2factor to v7.0.5 (#11495) (666fe04e)
* update dependency lru-cache to v9.0.3 (#11481) (d2b8512c)
* update dependency commander to v10.0.1 (#11486) (ba2b7f5b)
* update dependency ioredis to v5.3.2 (#11487) (90fca08e)
* update dependency postcss to v8.4.22 (#11488) (fe4e9383)
* update dependency esbuild to v0.17.17 (#11489) (4cd8c2ff)
* update dependency webpack to v5.79.0 (#11476) (455de50d)
* update dependency ace-builds to v1.17.0 (#11472) (550d125d)
* update dependency helmet to v6.1.5 (#11464) (4e5fbc54)
* update dependency sass to v1.62.0 (#11468) (c1164544)
* update dependency semver to v7.4.0 (#11461) (1ab7fdc8)
* update dependency rtlcss to v4.1.0 (#11460) (c0d92961)
* update dependency helmet to v6.1.4 (#11459) (415f8781)
* update dependency helmet to v6.1.3 (#11452) (d165164a)
* update dependency esbuild to v0.17.16 (#11457) (bdacd1c6)
* update dependency helmet to v6.1.1 (#11449) (5d880e9d)
* update dependency lru-cache to v8.0.5 (#11434) (d7125a0c)
* update dependency webpack to v5.78.0 (#11436) (62a84f63)
* update dependency sass to v1.61.0 (#11443) (248c5f62)
* bump mentions (f49fc5ca)
* update dependency mongodb to v5.2.0 (#11433) (4bede9fb)
* update dependency nodebb-plugin-composer-default to v10.0.44 (#11430) (569944f1)
* update dependency esbuild to v0.17.15 (#11429) (0187e177)
* update dependency nodebb-plugin-mentions to v4.0.5 (#11417) (1ac37b43)
* update dependency webpack to v5.77.0 (#11415) (e9039018)
* update dependency nodebb-rewards-essentials to v0.2.3 (#11406) (9f5dc9ad)
* update dependency nodebb-theme-persona to v13.0.55 (#11407) (609c0558)
* update dependency esbuild to v0.17.14 (#11399) (89060027)
* update dependency nodebb-theme-persona to v13.0.53 (#11401) (415da6c2)
* update dependency sharp to v0.32.0 (#11395) (b17ab944)
* update dependency esbuild to v0.17.13 (#11397) (4ab60c88)
* update dependency csrf-sync to v4.0.1 (#11398) (e753603e)
* update dependency @popperjs/core to v2.11.7 (#11394) (6947e60b)
* update dependency sass to v1.60.0 (#11391) (400a7abf)
* update dependency rimraf to v4.4.1 (#11388) (5d2900e9)
* update dependency @isaacs/ttlcache to v1.2.2 (#11389) (96305e12)
* update dependency html-to-text to v9.0.5 (#11390) (5a7104f1)
* update dependency helmet to v6 (#10891) (97f08135)
* update dependency nodebb-widget-essentials to v7.0.7 (#11387) (98b58bcc)
* update dependency mkdirp to v2.1.6 (#11386) (8c07a8d7)
* update dependency webpack to v5.76.3 (#11385) (7f54709d)
* update dependency fs-extra to v11.1.1 (#11380) (7c780210)
* update dependency commander to v10 (#11208) (a2d3f674)
* update dependency lru-cache to v8.0.4 (#11378) (238a7809)
* update dependency lru-cache to v8 (#11356) (0d236adf)
* update dependency ace-builds to v1.16.0 (#11372) (75436dc0)
* update dependency sass to v1.59.3 (#11373) (b0b060da)
* update dependency nodebb-plugin-spam-be-gone to v2.0.6 (#11370) (6edb908b)
* update dependency cron to v2.3.0 (#11368) (ae9d6d77)
* update dependency graceful-fs to v4.2.11 (#11367) (f90696de)
* update dependency esbuild to v0.17.12 (#11366) (2273a822)
* update dependency webpack to v5.76.2 (#11361) (a5f19ee6)
* update dependency webpack to v5.76.1 (#11348) (967c0ccf)
* update dependency autoprefixer to v10.4.14 (#11344) (5afea4b7)
* update dependency terser-webpack-plugin to v5.3.7 (#11345) (29fbecfc)
* update dependency webpack to v5.76.0 (#11341) (b543a0d0)
* update dependency nodebb-plugin-spam-be-gone to v1.0.3 (#11340) (5fa38fbe)
* update dependency pg-cursor to v2.9.0 (#11338) (34cf64f5)
* update dependency pg to v8.10.0 (#11337) (9a7f73ca)
* update dependency mkdirp to v2.1.5 (#11336) (a85276a6)
* update dependency lru-cache to v7.18.3 (#11335) (b70716f1)
* update dependency esbuild to v0.17.11 (#11333) (18b3ac6e)
* update dependency ace-builds to v1.15.3 (#11332) (b8efa466)
* update dependency mkdirp to v2.1.4 (#11330) (a6f22afa)
* update dependency lru-cache to v7.18.1 (#11327) (b526d42e)
* update dependency nodebb-plugin-mentions to v3.0.13 (#11320) (22a3ba65)
* update dependency yargs to v17.7.1 (#11316) (b75212f7)
* update dependency sanitize-html to v2.10.0 (#11319) (3d855842)
* update socket.io packages to v4.6.1 (#11318) (17c2467d)
* update dependency lru-cache to v7.17.0 (#11315) (4211e4dd)
* update dependency body-parser to v1.20.2 (#11313) (02d69920)
* update dependency esbuild to v0.17.10 (#11314) (865e1506)
* bump theme versions (c76e344f)
* update dependency lru-cache to v7.15.0 (#11305) (affac569)
* update dependency ace-builds to v1.15.2 (#11304) (01b2915e)
* update dependency nodebb-plugin-composer-default to v9.2.5 (#11301) (0ad5f476)
* update dependency logrotate-stream to v0.2.9 (#11300) (e29b9b1d)
* update dependency ace-builds to v1.15.1 (#11299) (1a0910bb)
* update dependency ioredis to v5.3.1 (#11294) (75bd6caa)
* update socket.io packages to v4.6.0 (#11272) (b9bb0532)
* update dependency html-to-text to v9.0.4 (#11290) (3ef49223)
* update dependency benchpressjs to v2.5.1 (#11270) (e4e01f47)
* update dependency esbuild to v0.17.8 (#11289) (2f5f47ea)
* update dependency @socket .io/redis-adapter to v8.1.0 (#11269) (7abcf80a)
* update dependency mongodb to v4.14.0 (#11271) (98395d18)
* update dependency esbuild to v0.17.6 (#11266) (145dcb2f)
* update dependency sanitize-html to v2.9.0 (#11261) (0e9cfcad)
* update dependency validator to v13.9.0 (#11262) (7cdbf77d)
* bump persona theme (5dc4d285)
* update dependency pg-cursor to v2.8.0 (#11236) (6c872a05)
* update dependency nodebb-rewards-essentials to v0.2.2 (#11234) (c271762c)
* update dependency pg to v8.9.0 (#11235) (972d1770)
* update dependency esbuild to v0.17.5 (#11233) (1a28598b)
* update dependency ace-builds to v1.15.0 (#11223) (9b34ab66)
* update dependency ioredis to v5.3.0 (#11224) (37493514)
* update dependency nodebb-theme-persona to v12.1.14 (#11221) (94074e90)
* update dependency nodemailer to v6.9.1 (#11222) (0e0176a1)
* update dependency mkdirp to v2 (#11211) (466c7a3a)
* update dependency ioredis to v5.2.6 (#11210) (557198a3)
* update dependency nodemailer to v6.9.0 (#11205) (69f4ff75)
* update dependency ioredis to v5.2.5 (#11187) (a2b00534)
* update dependency esbuild to v0.17.4 (#11204) (d0e3eadb)
* update dependency nodebb-theme-persona to v12.1.13 (2994c42b)
* update dependency @socket .io/redis-adapter to v8.0.1 (aa873e80)
* update dependency jsonwebtoken to v9 (79cd4a36)
* update dependency nodebb-plugin-2factor to v5.1.3 (8dc96894)
* update dependency cron to v2.2.0 (#11140) (aaf9abed)
* update dependency esbuild to v0.16.16 (#11135) (4b147ee2)
* update dependency commander to v9.5.0 (#11133) (aced93de)
* update dependency postcss to v8.4.21 (#11130) (aa6788b7)
* update dependency esbuild to v0.16.15 (#11132) (581960de)
* update dependency esbuild to v0.16.14 (#11127) (95897197)
* update dependency esbuild to v0.16.13 (#11121) (ca434647)
* update dependency esbuild to v0.16.12 (#11116) (e3fa0152)
* update dependency esbuild to v0.16.11 (0ec6d6c2)
* update dependency nodebb-theme-slick to v2.0.4 (#11113) (a634481b)
* update dependency esbuild to v0.16.10 (#11104) (048f5674)
* update dependency mongodb to v4.13.0 (#11105) (3f5bda7e)
* update dependency esbuild to v0.16.8 (#11101) (db7ea20c)
* update dependency sanitize-html to v2.8.0 (#11098) (65241b1a)
* update dependency ace-builds to v1.14.0 (#11095) (10056e5b)
* update dependency nodebb-plugin-2factor to v5.1.2 (#11096) (cc376656)
* update dependency postcss to v8.4.20 (#11097) (d4f04511)
* update dependency compare-versions to v5.0.3 (#11092) (32fecad7)
* update dependency html-to-text to v9.0.3 (#11093) (6aab1c58)
* update dependency @socket .io/redis-adapter to v8 (#11084) (a82c6743)
* update dependency nodebb-widget-essentials to v6.0.1 (#11085) (6774b35f)
* update dependency esbuild to v0.16.7 (#11086) (27a049fb)
* update dependency nodebb-theme-lavender to v6.0.1 (#11081) (c749f38c)
* update dependency esbuild to v0.16.3 (#11083) (8eb880f6)
* update dependency html-to-text to v9 (#11075) (aa3a51b1)
* update dependency ace-builds to v1.13.2 (#11080) (67ede5c6)
* update dependency fs-extra to v11 (#11072) (fa3e6540)
* update dependency esbuild to v0.15.16 (#11069) (ced87417)
* update dependency mongodb to v4.12.1 (#11062) (3c5b0210)
* update dependency mongodb to v4.12.1 (#11062) (643dce38)
##### Other Changes
* //github.com/NodeBB/NodeBB/issues/11501 (2055aae1)
* //github.com/NodeBB/NodeBB/issues/11500 (9ec5f1f5)
* remove chalk (a0bac74e)
* //github.com/NodeBB/NodeBB/issues/11329 (661a6e04)
* satisfy lint errors (bb0397cb)
##### Refactors
* get rid of floats in deleted-message.tpl (f055b7fb)
* remove log, to much noise (9806d89f)
* group invitations; issuing, accepting, rejecting; now via API (18c45b44)
* replace rimraf glob doesn't work on windows (d36aad07)
* simple load new posts (45addcf5)
* post-queue frontend logic (ddcdaacc)
* `helpers.loginUser` to be fully async (fecdab8b)
* flag states so that they are not hardcoded, allow plugins to add additional states, deprecated filter:flags.getFilters hook, closes #11065 (14091de8)
##### Tests
* Blob doesnt exist in node 16 (3c6f225a)
* no need for this check (bb4be716)
* fix utils (eacbad7f)
* missing utils tests (699c3bdf)
* remove history test (9c162186)
* fix escaping (c5e83eb9)
* fix lang test (a8efe3df)
* fix openapi schema to reflect new route (92073cf2)
* fix broken test (38175b5e)
#### v2.8.12 (2023-04-26)
##### Chores