Skip to content

Commit 91ee765

Browse files
committed
chore: bump to v3.14.0 + CHANGELOG + downloads page
1 parent 6c8de03 commit 91ee765

4 files changed

Lines changed: 25 additions & 10 deletions

File tree

CHANGELOG.md

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,14 @@ Format follows [Keep a Changelog](https://keepachangelog.com/). Haven uses [Sema
1111
1212
---
1313

14-
## [3.13.0] — 2026-05-06
14+
## [3.14.0] — 2026-05-06
15+
16+
### Added
17+
- **#5344: Registration token gate.** New admin-controlled gate that sits alongside (or instead of) the username whitelist on the registration page. When enabled, anyone signing up must enter a token the admin generated. The token is a 16-character hex string with Generate / Reroll, Copy, and Clear buttons in Settings → Admin → Whitelist. New `GET /api/auth/registration-info` exposes only a `requiresToken` boolean (never the token itself) so the registration page can reveal the field on demand. Whitelist + token can be active at the same time — both checks must pass.
18+
- **#5345: Default channels for invite joiners + private-channel safety fix.** When someone joins via the server invite code or vanity link, admins can now curate exactly which public channels they land in via a checkbox list under Settings → Admin → Server Invite Code. "Select all" stores no allowlist (default behavior — every public channel). At the same time, the auto-join logic was tightened so private parent channels (`is_private = 1` or `code_visibility = 'private'`) are **never** unlocked by an invite code regardless of the allowlist — previously a private top-level channel was being granted alongside everything else, contradicting the original spec.
19+
20+
### Fixed
21+
- **#5280: Burn-after-read DM toggle is now a true on/off toggle.** The 🔥 button used to auto-disarm itself after a single message, even though the click handler reads as a toggle. Now the toggle persists across messages until the user clicks it again to disarm (or switches to a non-DM channel, which still clears it for safety). Tooltip and toast text updated to reflect the persistent behavior.
1522

1623
### Added
1724
- **#5341: Multi-role assignments per user.** Users can now hold multiple roles in the same channel or category scope simultaneously. The single-role dropdown in the "Assign Role" modal has been replaced with a checkbox list that pre-checks every role the user already holds and diffs the result on confirm — one click assigns newly checked roles and revokes unchecked ones, all without a reload. The Role Assignment Center (RAC) config pane now shows a per-role card list with state indicators (held / pending add / pending remove / edited), a Configure button that opens a level + permissions editor with an optional apply-to-sub-channels checkbox, and an add-role dropdown for assigning additional roles to the same scope. Voice users now carry a full `roles[]` array; in chat, the author's primary badge continues to use the highest role with a `+N` suffix when more roles are held (hover reveals the full list). The All Members admin list and profile popup both show the complete role set. A one-time admin notice explains the new system on first login.

docs/index.html

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1415,12 +1415,12 @@ <h2>Download Haven</h2>
14151415
</div>
14161416

14171417
<div class="download-card fade-in">
1418-
<h2>&#x2B21; Haven Server &mdash; v3.13.0</h2>
1418+
<h2>&#x2B21; Haven Server &mdash; v3.14.0</h2>
14191419
<p class="download-version">Latest stable release &middot; Windows, macOS &amp; Linux &middot; ~5 MB</p>
14201420

14211421
<div class="download-btn-group">
1422-
<a href="https://github.com/ancsemi/Haven/archive/refs/tags/v3.13.0.zip" class="btn btn-primary download-main">
1423-
<span class="icon">&#x2B07;</span> Download v3.13.0 (.zip)
1422+
<a href="https://github.com/ancsemi/Haven/archive/refs/tags/v3.14.0.zip" class="btn btn-primary download-main">
1423+
<span class="icon">&#x2B07;</span> Download v3.14.0 (.zip)
14241424
</a>
14251425
<div class="download-alt-links">
14261426
<a href="https://github.com/ancsemi/Haven" target="_blank">&#9965; View on GitHub</a>
@@ -1437,7 +1437,11 @@ <h2>&#x2B21; Haven Server &mdash; v3.13.0</h2>
14371437
<div class="version-list">
14381438
<div class="version-list-inner">
14391439
<div class="version-item">
1440-
<div><span class="v-name">v3.13.0</span><span class="v-tag latest">Latest</span> &mdash; Multi-role per user per channel (#5341), DM auto-cleanup banner (#5340), admin-configurable login session duration (#5294), webhook expansion (per-event subscriptions, HMAC signatures, retry, delivery health, new events, test-webhook, inbound reply_to &amp; avatar override), link preview cache &amp; rate-limit fixes (#5337), phantom taskbar badge fix, slow-mode media bundling fix (#5342), burn-on-read visual indicator (#5280), PiP input vertical resize</div>
1440+
<div><span class="v-name">v3.14.0</span><span class="v-tag latest">Latest</span> &mdash; Registration token gate alongside whitelist (#5344), default channels picker for invite joiners + private-channel safety fix (#5345), burn-after-read DM toggle is now persistent (#5280)</div>
1441+
<a href="https://github.com/ancsemi/Haven/archive/refs/tags/v3.14.0.zip">Download &rarr;</a>
1442+
</div>
1443+
<div class="version-item">
1444+
<div><span class="v-name">v3.13.0</span> &mdash; Multi-role per user per channel (#5341), DM auto-cleanup banner (#5340), admin-configurable login session duration (#5294), webhook expansion (per-event subscriptions, HMAC signatures, retry, delivery health, new events, test-webhook, inbound reply_to &amp; avatar override), link preview cache &amp; rate-limit fixes (#5337), phantom taskbar badge fix, slow-mode media bundling fix (#5342), burn-on-read visual indicator (#5280), PiP input vertical resize</div>
14411445
<a href="https://github.com/ancsemi/Haven/archive/refs/tags/v3.13.0.zip">Download &rarr;</a>
14421446
</div>
14431447
<div class="version-item">

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "haven",
3-
"version": "3.13.0",
3+
"version": "3.14.0",
44
"description": "Haven — self-hosted private chat for your server, your rules",
55
"license": "AGPL-3.0",
66
"main": "server.js",

website/index.html

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1415,12 +1415,12 @@ <h2>Download Haven</h2>
14151415
</div>
14161416

14171417
<div class="download-card fade-in">
1418-
<h2>&#x2B21; Haven Server &mdash; v3.13.0</h2>
1418+
<h2>&#x2B21; Haven Server &mdash; v3.14.0</h2>
14191419
<p class="download-version">Latest stable release &middot; Windows, macOS &amp; Linux &middot; ~5 MB</p>
14201420

14211421
<div class="download-btn-group">
1422-
<a href="https://github.com/ancsemi/Haven/archive/refs/tags/v3.13.0.zip" class="btn btn-primary download-main">
1423-
<span class="icon">&#x2B07;</span> Download v3.13.0 (.zip)
1422+
<a href="https://github.com/ancsemi/Haven/archive/refs/tags/v3.14.0.zip" class="btn btn-primary download-main">
1423+
<span class="icon">&#x2B07;</span> Download v3.14.0 (.zip)
14241424
</a>
14251425
<div class="download-alt-links">
14261426
<a href="https://github.com/ancsemi/Haven" target="_blank">&#9965; View on GitHub</a>
@@ -1437,7 +1437,11 @@ <h2>&#x2B21; Haven Server &mdash; v3.13.0</h2>
14371437
<div class="version-list">
14381438
<div class="version-list-inner">
14391439
<div class="version-item">
1440-
<div><span class="v-name">v3.13.0</span><span class="v-tag latest">Latest</span> &mdash; Multi-role per user per channel (#5341), DM auto-cleanup banner (#5340), admin-configurable login session duration (#5294), webhook expansion (per-event subscriptions, HMAC signatures, retry, delivery health, new events, test-webhook, inbound reply_to &amp; avatar override), link preview cache &amp; rate-limit fixes (#5337), phantom taskbar badge fix, slow-mode media bundling fix (#5342), burn-on-read visual indicator (#5280), PiP input vertical resize</div>
1440+
<div><span class="v-name">v3.14.0</span><span class="v-tag latest">Latest</span> &mdash; Registration token gate alongside whitelist (#5344), default channels picker for invite joiners + private-channel safety fix (#5345), burn-after-read DM toggle is now persistent (#5280)</div>
1441+
<a href="https://github.com/ancsemi/Haven/archive/refs/tags/v3.14.0.zip">Download &rarr;</a>
1442+
</div>
1443+
<div class="version-item">
1444+
<div><span class="v-name">v3.13.0</span> &mdash; Multi-role per user per channel (#5341), DM auto-cleanup banner (#5340), admin-configurable login session duration (#5294), webhook expansion (per-event subscriptions, HMAC signatures, retry, delivery health, new events, test-webhook, inbound reply_to &amp; avatar override), link preview cache &amp; rate-limit fixes (#5337), phantom taskbar badge fix, slow-mode media bundling fix (#5342), burn-on-read visual indicator (#5280), PiP input vertical resize</div>
14411445
<a href="https://github.com/ancsemi/Haven/archive/refs/tags/v3.13.0.zip">Download &rarr;</a>
14421446
</div>
14431447
<div class="version-item">

0 commit comments

Comments
 (0)