Update ghcr.io/ancsemi/haven Docker tag in stack haven from 4.16.0 to v4.17.0 #553

Merged
Kevin merged 1 commit from renovate/ghcr.io-ancsemi-haven-4.x into main 2026-10-03 21:06:38 -04:00
Collaborator

This PR contains the following updates:

Package Update Change
ghcr.io/ancsemi/haven minor 4.16.0 → 4.17.0

Release Notes

ancsemi/Haven (ghcr.io/ancsemi/haven)

v4.17.0

Compare Source

Roles can have gradient colors, Ferry can bridge Discord forums, backup restore
works on Windows, and a big cleanup under the hood: error handling was gone
through across the whole codebase and the largest files were split up.

Added
  • Gradient role colors: a role can draw names as a gradient between two colors, with an optional slow shimmer (off for anyone with reduced motion turned on). It shows in the member list, chat, threads, profile cards, mentions, voice and the role editor's live preview. Plain roles and the mobile apps look the same as before.
  • Ferry bridges forums: a Discord forum pairs with a Haven forum. New posts on either side appear on the other with their title, tags and author, replies cross both ways, and Haven remembers which post is which across restarts. Replies from Discord show as "[BOT] name" in threads, an edit on Discord only carries over what actually changed there (so a Haven moderator's retitle or retag is not undone by an unrelated edit), and topics marked NSFW are held back unless the Discord forum is NSFW too.
Changed
  • A forum only pairs with a forum in Ferry now. If you had a Haven forum paired with a Discord text channel, that pairing stops working after this update; pair the forum with a Discord forum instead.
  • Uploads and the other server routes use the same permission rules as the app. A permission granted by level or set on one person now counts there, and a person's own deny now beats a role. Before, uploads only looked at roles, so someone shown as allowed could still be refused a picture upload, and someone denied could still upload.
  • Settings: the Whitelist page is now called Sign-ups ("Who can sign up"), since it holds the whitelist, sign-up token, captcha and sign-up limit.
  • Role Management: the Members, Duplicate and Delete buttons stay in view below the role's settings instead of scrolling away with the permissions.
  • The donors list: past sponsors move to the donors list, and someone who donated more than once is listed once.
  • Auto-mod and code: in a chat message, a bare address inside a code block or inline code (like ghcr.io/owner/image in a pasted command) no longer counts as a link, so pasting setup commands no longer gets messages deleted or earns strikes. Haven never makes a bare address clickable. Full http(s):// links are still checked everywhere, including inside code. Profiles, topics and titles are checked as before.
  • Auto-mod's starter allowlist includes haven-app.com, so links to Haven's own guide are not blocked. Existing servers get it once; an entry you already have for it, allowed or blocked, is left alone.
  • Opening a channel: older messages get their authors' role colors and badges once the member list arrives, instead of staying plain.
  • Under the hood: every place that quietly ignored an error now either reports it in the log or says why it is safe to ignore, on the server, in the app, in the bundled plugins and in the installer. The largest files were split into smaller ones by area (the app's interface code went from four files of 5,000 to 9,000 lines each to files of about 1,500 lines or less, server.js lost almost half its length, and the 20,790-line stylesheet became sixteen files loaded in the same order). Nothing about how Haven works changed from the split; it only makes the code easier to read and safer to change.
Fixed
  • Backup restore works on Windows. Windows will not replace a file that is in use, so a restore never took effect there and the server came back on the old data. A restore that cannot go ahead now cleans up after itself.
  • Sign-up settings: turning on the sign-up token (or its invite bypass) no longer resets an unsaved sign-up limit, captcha or max invite uses, and closing Settings without saving puts those back.
  • The Admin role: Reset to Default makes it again, and an Admin role you deleted stays deleted.
  • Picking a command from the formatting guide keeps what you had typed instead of wiping it.
  • A code block written on one line keeps its first word: ```sudo ls``` used to show only "ls", because the first word was taken as the language name. Now that only happens when the line ends right after it, as in Discord.
  • Docker and Podman: the container fixes the owner of the database and certificate files, not only the data folder, so data copied in from another machine (or used once outside the container) no longer leaves Haven unable to open its database and restarting in a loop. When it still cannot open the database, the log says which folder and how to fix it, and the guide has a short Podman section. (#​5714)
  • Link previews show nothing when the auto-mod link rules cannot be read, instead of previewing sites the admin has not allowed.
  • The role assignment editor shows an error if a person's custom permissions cannot be read, instead of showing role defaults that would overwrite them on save.
  • Messages draw faster in busy channels: each author's details are looked up once instead of searching every member for every message.
Security
  • Several checks used to let things through when reading a setting failed. They now refuse instead: a person's own permission deny, a deny on deleting your own messages, a banned account asking for voice relay credentials, the FCM privacy switch, activity sharing and invisible mode, and the IP ban list (a failed read used to clear every IP ban for 30 seconds). A login whose session length cannot be read now lasts 7 days instead of never expiring.
  • engine.io (under socket.io) is updated to 6.6.11: a crafted connection could tie up the server (a denial of service anyone who can reach the server could try). brace-expansion is updated to 2.1.7 for similar bugs in pattern matching.

Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Enabled.

♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

This PR contains the following updates: | Package | Update | Change | |---|---|---| | [ghcr.io/ancsemi/haven](https://github.com/ancsemi/Haven) | minor | `4.16.0` → `4.17.0` | --- ### Release Notes <details> <summary>ancsemi/Haven (ghcr.io/ancsemi/haven)</summary> ### [`v4.17.0`](https://github.com/ancsemi/Haven/blob/HEAD/CHANGELOG.md#4170---2026-10-02) [Compare Source](https://github.com/ancsemi/Haven/compare/v4.16.0...v4.17.0) Roles can have gradient colors, Ferry can bridge Discord forums, backup restore works on Windows, and a big cleanup under the hood: error handling was gone through across the whole codebase and the largest files were split up. ##### Added - Gradient role colors: a role can draw names as a gradient between two colors, with an optional slow shimmer (off for anyone with reduced motion turned on). It shows in the member list, chat, threads, profile cards, mentions, voice and the role editor's live preview. Plain roles and the mobile apps look the same as before. - Ferry bridges forums: a Discord forum pairs with a Haven forum. New posts on either side appear on the other with their title, tags and author, replies cross both ways, and Haven remembers which post is which across restarts. Replies from Discord show as "\[BOT] name" in threads, an edit on Discord only carries over what actually changed there (so a Haven moderator's retitle or retag is not undone by an unrelated edit), and topics marked NSFW are held back unless the Discord forum is NSFW too. ##### Changed - A forum only pairs with a forum in Ferry now. **If you had a Haven forum paired with a Discord text channel, that pairing stops working after this update**; pair the forum with a Discord forum instead. - Uploads and the other server routes use the same permission rules as the app. A permission granted by level or set on one person now counts there, and a person's own deny now beats a role. Before, uploads only looked at roles, so someone shown as allowed could still be refused a picture upload, and someone denied could still upload. - Settings: the Whitelist page is now called Sign-ups ("Who can sign up"), since it holds the whitelist, sign-up token, captcha and sign-up limit. - Role Management: the Members, Duplicate and Delete buttons stay in view below the role's settings instead of scrolling away with the permissions. - The donors list: past sponsors move to the donors list, and someone who donated more than once is listed once. - Auto-mod and code: in a chat message, a bare address inside a code block or `inline code` (like `ghcr.io/owner/image` in a pasted command) no longer counts as a link, so pasting setup commands no longer gets messages deleted or earns strikes. Haven never makes a bare address clickable. Full `http(s)://` links are still checked everywhere, including inside code. Profiles, topics and titles are checked as before. - Auto-mod's starter allowlist includes haven-app.com, so links to Haven's own guide are not blocked. Existing servers get it once; an entry you already have for it, allowed or blocked, is left alone. - Opening a channel: older messages get their authors' role colors and badges once the member list arrives, instead of staying plain. - Under the hood: every place that quietly ignored an error now either reports it in the log or says why it is safe to ignore, on the server, in the app, in the bundled plugins and in the installer. The largest files were split into smaller ones by area (the app's interface code went from four files of 5,000 to 9,000 lines each to files of about 1,500 lines or less, server.js lost almost half its length, and the 20,790-line stylesheet became sixteen files loaded in the same order). Nothing about how Haven works changed from the split; it only makes the code easier to read and safer to change. ##### Fixed - Backup restore works on Windows. Windows will not replace a file that is in use, so a restore never took effect there and the server came back on the old data. A restore that cannot go ahead now cleans up after itself. - Sign-up settings: turning on the sign-up token (or its invite bypass) no longer resets an unsaved sign-up limit, captcha or max invite uses, and closing Settings without saving puts those back. - The Admin role: Reset to Default makes it again, and an Admin role you deleted stays deleted. - Picking a command from the formatting guide keeps what you had typed instead of wiping it. - A code block written on one line keeps its first word: ` ```sudo ls``` ` used to show only "ls", because the first word was taken as the language name. Now that only happens when the line ends right after it, as in Discord. - Docker and Podman: the container fixes the owner of the database and certificate files, not only the data folder, so data copied in from another machine (or used once outside the container) no longer leaves Haven unable to open its database and restarting in a loop. When it still cannot open the database, the log says which folder and how to fix it, and the guide has a short Podman section. ([#&#8203;5714](https://github.com/ancsemi/Haven/issues/5714)) - Link previews show nothing when the auto-mod link rules cannot be read, instead of previewing sites the admin has not allowed. - The role assignment editor shows an error if a person's custom permissions cannot be read, instead of showing role defaults that would overwrite them on save. - Messages draw faster in busy channels: each author's details are looked up once instead of searching every member for every message. ##### Security - Several checks used to let things through when reading a setting failed. They now refuse instead: a person's own permission deny, a deny on deleting your own messages, a banned account asking for voice relay credentials, the FCM privacy switch, activity sharing and invisible mode, and the IP ban list (a failed read used to clear every IP ban for 30 seconds). A login whose session length cannot be read now lasts 7 days instead of never expiring. - engine.io (under socket.io) is updated to 6.6.11: a crafted connection could tie up the server (a denial of service anyone who can reach the server could try). brace-expansion is updated to 2.1.7 for similar bugs in pattern matching. </details> --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMjMuMSIsInVwZGF0ZWRJblZlciI6IjQzLjEyMy4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJtaW5vciIsInJlbm92YXRlIl19-->
renovate-bot scheduled this pull request to auto merge when all checks succeed 2026-10-03 01:02:44 -04:00
Kevin merged commit 2cb9ee9247 into main 2026-10-03 21:06:38 -04:00
Sign in to join this conversation.
No reviewers
No milestone
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
Kevin/docker-l2!553
No description provided.