Skip to content

v4.5.0

Choose a tag to compare

@nodebb-misty nodebb-misty released this 03 Sep 17:42
· 168 commits to master since this release

Release build (minor) of NodeBB @ 2025-09-03T17:42:15.868Z

v4.5.0 (2025-09-03)

Documentation Changes
  • add missing routes to openapi schema (0f44034)
  • openapi typo (560cc2e)
  • update openapi schema for relays and rules (a9a12a9)
  • openapi schema fixes for auto-categorization commits (c0248ca)
New Features
  • use sbd to more intelligently put together a sub-500 character summary based on existing sentences in post content (35641f3)
  • add sbd dependency to improve title generation (and for summary generation, later) (8268632)
  • send local posts out to established relays (aa26dfb)
  • relay handshake logic, handle Follow/Accept, send back Accept. (f4d1df7)
  • adding and removing relays from AP settings page in ACP (1e0fb20)
  • apply auto-categorization logic (165af50)
  • ability to add/remove auto-categorization rules for incoming federated content (bdcf28a)
  • re-jigger 'add category' button to allow addition of remote category to main index (75639c8)
  • add Urdu localisation, thank you! (8c6992f)
  • add wordpress (82037de)
  • add wordpress (c10656e)
  • only mark notifications read that match current filter (9d39ed5)
  • closes #13578, increase uniquevisitors (e142363)
  • add new brite skin from bootswatch (e851a52)
  • add filter:post.getDiffs (97d4994)
  • add filter:post.getDiffs (90a6512)
  • add expose-gc flag to loader (bba18e3)
  • add ap pageviews analytics (559a2d2)
  • add heap snapshot (f88329d)
  • add option to toggle chat join/leave message (92a3859)
  • add protection mechanism to request lib so that network requests to reserved IP ranges throw an error (9d3b8c3)
Bug Fixes
  • display proper id if lock fails (19aa8a7)
  • closes #13624, update post fields before schedule code (9d4a9b8)
  • #13622, WordPress blog URLs not asserting properly (4ef605b)
  • closes #13625, fix utils.params so it works with relative_paths (a0e78ff)
  • remove webfinger error log (a0be4a2)
  • urlencoded param in openapi spec example (5f7085f)
  • re-ordering dependencies because raisins (cbdc90a)
  • missed a tab character (788301a)
  • random hotkeys adding dependencies to my project smh (771b8dc)
  • parseAndTranslate bug (40973ca)
  • internationalize relay states (6576468)
  • minor fixes for yukimochi/Activity-Relay compatibility (28b6389)
  • inbox.announce to not reject activities from relays (b1dbb19)
  • handle webfinger responses with subject missing scheme (4967492)
  • closes #13501 (bf279d7)
  • closes #13620 (027d6f3)
  • rare crash if queued item is no longer in db but id is in post:queue (e79dfeb)
  • jquery selector on post edit (f5ad786)
  • relative paths in openapi schema (a771b17)
  • add missing routes to write.yaml (e840147)
  • only process unique slugs (312df52)
  • remove special-case logic that added a requested object to a topic if its defined context didn't actually contain it (70d7e32)
  • return null if field is falsy (09898b9)
  • mark-all read notifications button (c16f9d6)
  • catch exceptions in assertPayload, closes #13611 (9bdf24f)
  • add missing files (057e3b7)
  • add missing file to ur language folder (ecab347)
  • regression caused by cc6fd49 (06c3824)
  • protocol-relative URLs being accidentally munged, #13592 (cc6fd49)
  • cache lookup error when doing loopback calls (6738963)
  • image handling when image url received is not a path with an extension (b4ff790)
  • readd retry items (c6889f0)
  • set noindex tag on remote profiles as well (fe16016)
  • duplicate canonical link header (c8ad086)
  • add rel canonical to remote user profiles (8ce5498)
  • ap queue id to use payload.type payload.id (a8bf4ea)
  • clearTimeout if item is evicted from cache (0997fbf)
  • sometimes summary is null/undefined (65364bf)
  • don't translate text on admin logs page (f6ed7ec)
  • change the client side reloginTimer to match setting (c43c353)
  • redis connect host/port (eac3d0a)
  • closes #13558, override/extend json opts from config.json (25c2429)
  • add missing cache name (3f520c3)
  • add missing ap pageview middleware (01f2eff)
  • set to empty string if undefined (0ef98ec)
  • make clickable element anchor (dbed2db)
  • for attribute, remove upload trigger when click inputs (329f98d)
  • check topic and thumbs (72fec56)
  • closes #13526, dont send multiple emails when user is invited (5a5ca8a)
  • pubsub on node-redis (f7f7046)
  • typo (2280ea8)
  • ensure check returns false if no addresses are looked up, fix bug where cached value got changed accidentally (6478532)
  • wrap cached returns for dns lookups in nextTick (010113a)
  • #13459, unread indicators for remote categories (6411c19)
  • further guard against DNS rebinding attack (a8e613e)
  • undefined check, allow plugins to append to allow list (70c04f0)
  • simplify dns to use .lookup instead of .resolve4 and .resolve6, automatically allow requests to own hostname (df36021)
  • return 200 for non-implemented activities instead of 501 (fcb3bfb)
  • remove null categories (28c021a)
  • patch ap .probe() so that it does not execute on requests for its own resources (a80edfa)
  • bring back auto-categorization if group and object are same-origin, handle Peertube putting channel names in attributedTo (8f93345)
Other Changes
Refactors
  • revert, don't need to pass relative_path (f67265d)
  • leaner utils.params for relative path (648c454)
  • remove invalid queued items (b73ee30)
  • braces (f83d253)
  • add missing awaits (5ee1fd0)
  • category listing logic to allow remote categories to be added, disabled, and re-arranged in main forum index (cb0b609)
  • show code/stack when dep check fails (f8733e0)
  • dont del if cache disabled (bc40d79)
  • remove old arg (8305a74)
  • if user.delete fails in actor prune (d5f6d15)
  • use promise.all (472df3a)
  • use promise.all (6eab44a)
  • move ap retry queue from lru cache to db (#13568) (b3a4a12)
  • log uid that failed (de71cc6)
  • change default teaser to last-post (8ba230a)
  • copy session/headers when building req (e4a0160)
  • show both days and hours (1d7c32a)
  • add missing cache name (272008b)
  • another missing cache name (0fdde13)
  • add names to caches, add max to request cache (a08551a)
  • closes #13547, process user uploads via batch (1ad97ac)
  • move post uploads to post hash (#13533) (24e7cf4)
  • parallel socket.io adapter (0b9bfc1)
  • use strings for cids (57a5de2)
Reverts
Tests