<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[NodeBB v4.14.0 — Federation regression fixes, security fixes, and more!]]></title><description><![CDATA[<p dir="auto">With temperatures reaching well into the 30s (in celsius of course <img src="https://community.darkscribes.com/assets/plugins/nodebb-plugin-emoji/emoji/android/1f60e.png?v=c2bfd11e55c" class="not-responsive emoji emoji-android emoji--sunglasses" style="height:23px;width:auto;vertical-align:middle" title=":sunglasses:" alt="😎" />) in the Toronto area, we're all firmly in summer mode <img src="https://community.darkscribes.com/assets/plugins/nodebb-plugin-emoji/emoji/android/1f3ca.png?v=c2bfd11e55c" class="not-responsive emoji emoji-android emoji--swimmer" style="height:23px;width:auto;vertical-align:middle" title=":swimmer:" alt="🏊" /> <img src="https://community.darkscribes.com/assets/plugins/nodebb-plugin-emoji/emoji/android/1f3d6.png?v=c2bfd11e55c" class="not-responsive emoji emoji-android emoji--beach_with_umbrella" style="height:23px;width:auto;vertical-align:middle" title=":beach_with_umbrella:" alt="🏖" /> , but that won't stop us from forging on ahead with new features and fixes for NodeBB!</p>
<p dir="auto">There are improvements across ActivityPub federation, administrative tooling, and security hardening. Our ActivityPub integration receives bug fixes including duplicate handling, configurable rate limiting, and better error reporting, alongside new hooks for remote user lifecycle events. The registration queue and invitations are reorganized into a dedicated UI with a new "Reject All" bulk action and improved notification handling. Security reports have been coming in consistently throughout the month with valid security reports (though almost all AI discovered and generated). This led to stricter privilege checks on post diffs, crossposts, and GDPR exports, plus protection against username enumeration. <strong>The NodeBB team strongly encourages upgrading to v4.14.0 for the latest security fixes and federation improvements</strong>. The release also includes a new <code>tx()</code> translation helper, Benchpress escaping improvements, and a first-run categories onboarding modal for fresh installations.</p>
<p dir="auto">Here are the high level changes you can expect to see when you upgrade from v4.13.0 to v4.14.0...</p>
<h2><img src="https://community.darkscribes.com/assets/plugins/nodebb-plugin-emoji/emoji/android/1f310.png?v=c2bfd11e55c" class="not-responsive emoji emoji-android emoji--globe_with_meridians" style="height:23px;width:auto;vertical-align:middle" title=":globe_with_meridians:" alt="🌐" /> Federation Regression Fixes!</h2>
<p dir="auto">Around v4.12.0 or so, a number of regressions were unintentionally introduced as part of security fixes that severely hampered federation — especially with Lemmy-based instances and relays. We've resolved those regressions and Relay/Lemmy federation should resume within 24 hours after upgrading.</p>
<p dir="auto">The public key fetch rate limiter logic was simplified and updated (due to it being faulty and not really working in the first place), streamlined some duplicate logic with Like/Dislike activities, improved the AP Errors reporting page in the ACP, added a parent traversal depth guard, fixed an issue where updates to scheduled topics were accidentally being federated out, and about a hundred other smaller bugs <img src="https://community.darkscribes.com/assets/plugins/nodebb-plugin-emoji/emoji/android/1f642.png?v=c2bfd11e55c" class="not-responsive emoji emoji-android emoji--slightly_smiling_face" style="height:23px;width:auto;vertical-align:middle" title=":)" alt="🙂" /></p>
<h2><img src="https://community.darkscribes.com/assets/plugins/nodebb-plugin-emoji/emoji/android/2611.png?v=c2bfd11e55c" class="not-responsive emoji emoji-android emoji--ballot_box_with_check" style="height:23px;width:auto;vertical-align:middle" title=":ballot_box_with_check:" alt="☑" /> Registration Queue updates</h2>
<p dir="auto">The registration queue was moved out of the ACP, and invitations are also managed in this page now. A "reject all" button was added to allow admins to quickly reject every queued registrant in one fell swoop.</p>
<h2><img src="https://community.darkscribes.com/assets/plugins/nodebb-plugin-emoji/emoji/android/1f512.png?v=c2bfd11e55c" class="not-responsive emoji emoji-android emoji--lock" style="height:23px;width:auto;vertical-align:middle" title="🔒" alt="🔒" /> Privilege &amp; Security Fixes</h2>
<ul>
<li>Post diff access — Check topics:read privilege when loading post diffs</li>
<li>Crossposts — Added source category privilege check to crossposts</li>
<li>GDPR export — Prevented global moderators from performing GDPR data exports</li>
<li>Nids ownership — Don't mark nids as read/unread that you don't own</li>
<li>Upload privileges — Prevent uploading thumbnails without upload:image privilege; replaced extension-based MIME validation with content<br />
sniffing</li>
<li>Username enumeration — Use dummy lockout key for non-existent users to prevent enumeration</li>
<li>Category disabled flag — Check category disabled flag on getRaw</li>
</ul>
<h2><img src="https://community.darkscribes.com/assets/plugins/nodebb-plugin-emoji/emoji/android/2049.png?v=c2bfd11e55c" class="not-responsive emoji emoji-android emoji--interrobang" style="height:23px;width:auto;vertical-align:middle" title=":interrobang:" alt="⁉" /> Benchpress Improvements</h2>
<p dir="auto">We use Benchpress as our templating engine. We updated our integration for security and performance. [<a href="https://community.nodebb.org/user/baris" rel="nofollow ugc">@baris</a> put together a thorough write-up for that one here](<a href="https://community.nodebb.org/topic/19364/upcoming-breaking-changes-for-4.14.0" rel="nofollow ugc">https://community.nodebb.org/topic/19364/upcoming-breaking-changes-for-4.14.0</a>).</p>
<h2>Miscellaneous</h2>
<ul>
<li>First-run modal — New categories onboarding modal for fresh installations</li>
<li>Dashboard warnings — Added localhost and URL mismatch warnings to admin dashboard notices</li>
<li>Push notifications should work on Safari/iOS devices now (via the web-push plugin)</li>
</ul>
]]></description><link>https://community.darkscribes.com/topic/dfe8ca40-d01f-4db3-9600-8fbae4635c7e/nodebb-v4.14.0-federation-regression-fixes-security-fixes-and-more</link><generator>RSS for Node</generator><lastBuildDate>Tue, 14 Jul 2026 05:04:23 GMT</lastBuildDate><atom:link href="https://community.darkscribes.com/topic/dfe8ca40-d01f-4db3-9600-8fbae4635c7e.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 11 Jul 2026 20:24:00 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to NodeBB v4.14.0 — Federation regression fixes, security fixes, and more! on Mon, 13 Jul 2026 17:48:05 GMT]]></title><description><![CDATA[<p dir="auto">Thanks, I've found a bug where retries were not sending in the (saved) digest, and updated <code>activitypub.space</code></p>
<p dir="auto">Can you let me know if you are still seeing them? Since they only occurred on <em>retries</em>, it was likely not something that happened often.</p>
]]></description><link>https://community.darkscribes.com/post/https://community.nodebb.org/post/107572</link><guid isPermaLink="true">https://community.darkscribes.com/post/https://community.nodebb.org/post/107572</guid><dc:creator><![CDATA[julian@community.nodebb.org]]></dc:creator><pubDate>Mon, 13 Jul 2026 17:48:05 GMT</pubDate></item><item><title><![CDATA[Reply to NodeBB v4.14.0 — Federation regression fixes, security fixes, and more! on Sun, 12 Jul 2026 19:04:20 GMT]]></title><description><![CDATA[<p>They looked like new activities.</p><p>The latest one is <code>https://activitypub.space/post/https%3A%2F%2Fenby.life%2Fnotes%2Faol4zvw33l#activity/announce/1783847404321</code><br />Delivered to my inbox at 2026-07-12T17:47:00Z</p>]]></description><link>https://community.darkscribes.com/post/https://mitra.social/objects/019f57b7-5388-7ba1-adc9-07072d3eb0ed</link><guid isPermaLink="true">https://community.darkscribes.com/post/https://mitra.social/objects/019f57b7-5388-7ba1-adc9-07072d3eb0ed</guid><dc:creator><![CDATA[silverpill@mitra.social]]></dc:creator><pubDate>Sun, 12 Jul 2026 19:04:20 GMT</pubDate></item><item><title><![CDATA[Reply to NodeBB v4.14.0 — Federation regression fixes, security fixes, and more! on Sun, 12 Jul 2026 17:54:21 GMT]]></title><description><![CDATA[<p dir="auto"><a href="https://community.nodebb.org/user/silverpill%40mitra.social" rel="nofollow ugc">@silverpill@mitra.social</a> are they new activities or resends? I want to know whether this is an issue that has been fixed (but stale queue items persist), or whether it's an unfixed issue.</p>
]]></description><link>https://community.darkscribes.com/post/https://community.nodebb.org/post/107564</link><guid isPermaLink="true">https://community.darkscribes.com/post/https://community.nodebb.org/post/107564</guid><dc:creator><![CDATA[julian@community.nodebb.org]]></dc:creator><pubDate>Sun, 12 Jul 2026 17:54:21 GMT</pubDate></item><item><title><![CDATA[Reply to NodeBB v4.14.0 — Federation regression fixes, security fixes, and more! on Sun, 12 Jul 2026 06:27:56 GMT]]></title><description><![CDATA[<p>&gt;Federation Regression Fixes!</p><p>Idk if this is related, but activitypub.space, which runs NodeBB 4.13.2, still sends me group-Announce activities without the <code>Digest</code> header.</p>]]></description><link>https://community.darkscribes.com/post/https://mitra.social/objects/019f5502-d56e-7c82-a64c-a333ce2a1f7f</link><guid isPermaLink="true">https://community.darkscribes.com/post/https://mitra.social/objects/019f5502-d56e-7c82-a64c-a333ce2a1f7f</guid><dc:creator><![CDATA[silverpill@mitra.social]]></dc:creator><pubDate>Sun, 12 Jul 2026 06:27:56 GMT</pubDate></item></channel></rss>