Skip to content

v4.3.0

Compare
Choose a tag to compare
@nodebb-misty nodebb-misty released this 01 May 04:13
· 126 commits to master since this release

Release build (minor) of NodeBB @ 2025-05-01T04:13:39.910Z

v4.3.0 (2025-05-01)

Documentation Changes
  • update openapi spec with new (missing) properties (b32b7fc)
New Features
  • upgrade script to remote duplicate remote users and categories as per #13352 (5aee2f2)
  • add new mixin clamp-fade, and handler for expanding it in category description (decc9cf)
  • handle Announce(Update(Note)) as well, #13320 (0447366)
  • #13255, proper handling of upvotes shared by group actors (74e32a1)
  • send the whole post content in summary as well (5c5fd3d)
  • show/hide categories on world page, #13255 (804208b)
  • notice on remote categories that have no local followers, #13255 (93a5b35)
  • add new option to categorySearch module, defaultCategories, use to populate the category list when you don't want to poll backend for the main category list (a487d5f)
  • category quick search on world page, theme version updates, #13255 (1790951)
  • show tracked/watched remote categories in world page, #13255 (34ab677)
  • remote user to category migration should also migrate local user follows into category watches (ac7b7f8)
  • allowing manual group assertion via category search input (23b3148)
  • remote group actors migrated to categories if they were previous asserted as remote users (d19f692)
  • #13255 new topics in remote category addresses remote category, tests, fixes to tests (b8c531d)
  • #13255, deliver asserted topics to remote category followers (9c1d5cd)
  • #13255, add category name and handle to category search zset (876d1b0)
  • integrate remote category pruning into actor pruning logic (9b5855f)
  • migration of group-as-user to group-as-category, remote category purging, more tests (4be0f73)
  • asserted topics and posts to remote categories will notify and add to unread based on remote category watch state (f483e88)
  • also include category in to field when mocking post for federation (f73f727)
  • chat allow/deny list, closes #13359 (a5afad2)
  • show topic follower counts (#13326) (bf2d4c4)
  • federate out as:Article with preview for root-level posts in a topic, instead of as:Note (3c4be77)
  • body-parser-2.x test (#13278) (389bc06)
  • upgrade commander, get rid of custom color & wrapping code (485562d)
  • testing eslint9 (#13266) (6813664)
Bug Fixes
  • bump harmony (2bf2e55)
  • #13352, also do the webfinger backreference check when calling assertGroup (2572cbf)
  • regression that caused non-public content with source.content to fail parsing (e9b3306)
  • closes #13360, catch error in buildAccountData middleware (537a742)
  • bug where disparate ids all claiming to be the same handle were causing duplicate remote users due to collisions, #13352 (c2a3ef8)
  • posts incorrectly excluded from results if result pid is in a remote category (a0a8c46)
  • ap helpers.makeSet to handle undefined property values (d020e33)
  • add back localCategories to categorySearch when defaultCategories is supplied (d58d586)
  • remote bare hash for remote users on prune as well (f02d966)
  • missing teasers for remote categories on /world (695312f)
  • remove superfluous privilege filter in markAllRead (0fab425)
  • reversed image and icon for remote categories, omit fa icon if remote category has icon property set, #13255 (dabcefa)
  • closes #13289, id can be null (f1d1d08)
  • marking remote category topics as read (4a7111d)
  • markAllRead to get tids based on same logic as unread page, instead of marking all recent posts read (b023673)
  • key ownership cross-check to also work with remote categories, #13255 (6dee3e5)
  • #13255, assert all recipients of the main post when asserting a note, so that remote categories can be discovered (1f04678)
  • remote categories should not show up in a user's follow lists (4d1d7c3)
  • #13255, remote user-to-category migration should not move shares that are already in an existing cid (3213da1)
  • proper handling of actors.qualify response (f2e0ba2)
  • missing dep (2cb6d10)
  • topics in remote categories showing up in /recent (c4274a3)
  • regression that caused resolveInboxes to always return empty, added tests for resolveInboxes (0246c14)
  • spread fail, @julianlam (c1b7196)
  • filter out non-asserted targets when sending ap messages, diff. getter method when passed-in ID is a remote category (309deb0)
  • tag whitelist check socket call for remote categories (c5901e0)
  • migrate topics as system user instead of uid 0 (ee34396)
  • do not send out ap (undo:)follow if local user or category is (not)already following (c6f2c87)
  • allow category controller to respond also by remote category id (0b333fb)
  • #13255, update category search logic to allow for remote categories (6e23de4)
  • delete shares zset on account deletion (7ccd6b7)
  • persona tooltip so it doesn't appear when dropdowns are open (ea9f790)
  • lang keys (4277765)
  • closes #13353, don't use index for finding plugin data (ed92ffa)
  • regression on search query that is a url, via 3526c93 (4125219)
  • closes #13313, add error:post-deleted (b49a458)
  • upgrade script (52ca086)
  • tag urls getting double escaped (#13306) (3526c93)
  • notifications.markAllRead (bf243e0)
  • posts.uploads.usage since paths changed (c41c7e8)
  • req.body can be undefined (cd70e6c)
  • closes #13298, catch exceptions in webfinger and nodeinfo (bbfd644)
  • closes #13205, make parent post font-size small until expanded (ef98f8f)
  • closes #13275, set 'announces' after adding to zset to prevent race condition (2c59007)
  • use slug instead of groupname in acp for groups (d9f3320)
  • do not await the batch call to sendMessage (aa4f23b)
  • commenting out outward federation of Add activity, pending forumwg discussion (4b22f29)
  • on user deletion during assertion (due to 410), if delete fails, just run ap post-deletion to clean up (4bbe27d)
  • race condition in test (807a8c6)
Refactors
  • use promise.all (7466138)
  • categories.sortTidsBySet to not take cid, retrieve from tids themselves (bfc7daf)
  • allow topics to be asserted directly into a remote category, or -1 otherwise (0fa9823)
  • ability to browse to remote categories, group actor assertion logic, etc. -- no logic to assign topics to remote categories yet (1f40995)
  • remove datepicker (be7959e)
  • add sping/ping into openapi (8ffbc35)
  • moved these rules to nodebb-config (e184c91)
  • switch eslint configs to esm (92d6e02)
  • move topic/post menu lists to core (9f93cc9)
  • show topic tools if plugins add them (87aacc8)
  • remove reply icons (b73fb67)
  • remove debug log (021b3af)
  • break long line (c93dc58)
  • only write to db on runJobs processes (a6839b6)
  • use bulk increment (667367a)
  • remove spammy error log (9637abc)
Reverts
  • use of vanity domains, needs rethinking. Originally added in 709a02d (55c8996)
Tests
  • article for new topic, note for replies (3e508d6)
  • missing clear ap send cache (512f889)
  • additional test for ensuring handle:uid is continually set even after re-assertion (39fc9ba)
  • additional test for remote category topic assertion when ignoring category (c2f77ce)
  • #13255, reply to topic in remote category addresses remote category (85e7c1a)
  • remote user pruning tests (53dc79a)
  • introduce overrides into person and group mocks (4f74815)
  • have ap helper mocks for person and group auto-save to ap cache (80069a1)
  • add failing tests for actor/group assertion via wrong method, remote user to category migration (afc4764)
  • add tests for topics slotting into remote categories if addressed (804052f)
  • group actor assertion tests (ca9a5b6)
  • shorter test (e0235a1)
  • eslint for tests (f864a5a)
  • fix tests (321defb)
  • fix test expecting Note when it is now Article (5d94f2c)