❌

Normale weergave

Distribution Release: ZelixOS 2026.10.26

27 Oktober 2026 om 11:44
The DistroWatch news feed is brought to you by TUXEDO COMPUTERS. Muhammed Yasir Peker has announced the availability of an updated build of ZelixOS, an Arch-based Linux distribution with a focus on a clean and streamlined desktop experience, dedicated in-house utilities and user freedom: "After extensive testing and polishing, the full ZelixOS Aurora 1.0.0 release is here. It refines....
  •  

v2.2.0

27 Oktober 2026 om 10:04

Highlights

  • Create, install and share Desktop plugins (experimental) (#55246, #59469, #59489)
  • Refreshed the desktop app experience (#56898, #58865, #55838, #57962)
  • Add experimental image and decision generation APIs to plugins and sdk, allowing image generation or decision model (think typesafe, clef, etc) workflows. (#59190, #59380, #58758)
  • Plugins can now attach and update keyed session instructions with ctx.session.instructions.entry.put/list/remove. Instead of editing the system prompt and busting the prompt cache, each change is added as a small update at the next step. The entries also survive compaction and reverts, and they don't start an extra model turn. (#56550)
  • Restored the Todo tool in desktop via opt-in (#59092)
  • Add configurable prompt cache TTLs per provider/model (#59157)

Breaking changes

@opencode/ai root is now the Promise API

@opencode/ai now works like @opencode/sdk and @opencode/client: the package root exports the Promise API, and the Effect API moved to @opencode/ai/effect. @opencode/ai/promise is removed, and the wildcard subpath export is replaced with an explicit list of provider and protocol entry points. (#58847, #59183)

-import { AI } from "@opencode/ai/promise"
-import { LLM } from "@opencode/ai"
+import { AI } from "@opencode/ai"
+import { LLM } from "@opencode/ai/effect"

The OpenCode GitHub Action is removed

The OpenCode GitHub Action is no longer published. Remove it from your workflows. (#59032)

TUI plugins require OpenTUI 0.7

@opencode/plugin now requires @opentui/core and @opentui/solid 0.7.0, up from 0.6.8 or later. Plugins that depend on OpenTUI 0.6 fail to install until they upgrade. In OpenTUI 0.7, custom renderables read their hooks from their class at construction: assign renderBefore, renderAfter, and onLifecyclePass in the constructor instead of as class fields, call refreshHooks() after adding a hook by reflection, and replace defineNativeIntegration() with a static nativeIntegration declaration. See the OpenTUI 0.7.0 release notes. (#59295)

Core

Improvements

  • Add experimental image and decision generation API endpoints. (#59190)
  • Add image and decision entrypoints for catalog providers. (#59380)
  • Improve integration rebuild performance. (#59402)
  • Let custom model configuration set a model type. (#59388)
  • Let model-list API requests filter by type. (#59355)
  • Make external-directory permission checks use the project's filesystem. (#59089)
  • Reduce memory use when code search finds very large lines. (#59205)
  • Let plugins filter event subscriptions by type. (#58864)
  • Add configurable prompt-cache TTLs. (#59157)
  • Move image resizing off the main process and release idle image memory. (#58820)
  • Reduce repeated session-history loading during a step. (#59091)
  • Add an experimental API for session media and opt-in media URI support. (#59103)
  • Add the machine hostname to /api/info. (#59090)
  • Add experimental content-addressed blob storage for session media behind experimental.media_blob. (#58656, #58741)
  • Start session history from the latest completed compaction. (#59020)
  • Reduce work encoding durable event payloads that are not persisted. (#58923)
  • Expose MCP server titles from serverInfo. (#58950)
  • Apply OpenCode Console workspace configuration as a configuration layer. (#57703)
  • Replace experimental evaluations with Decision APIs in the AI pkg, including OpenAI Decisions, System One, and Cloudflare Run models. (#58758, #58382, #58379, #58381)
  • Convert tool schemas once to speed up tool execution. (#58798, #58848)
  • Make Git project discovery faster while recognizing repository changes. (#58616)
  • Show OpenCode Console budget limits and Go usage where they block you. (#58694, #58714)
  • Record provider-reported session costs. (#58562)
  • Find Git more reliably on macOS. (#58602)
  • Resolve model details once per prompt step. (#58601)
  • Let plugins manage session instruction entries for subsequent model requests. (#56550)
  • Add GPT-6.1 Terra and GPT-6.1 Terra Fast to Sign in with ChatGPT. (#59359)

Bug fixes

  • Wait for plugins to finish reloading before each session step and tool call. Thanks @kernel-oops and @Tarquinen. (#51133)
  • Size session compaction from the provider's reported token count to preserve usable context. (#59441)
  • Skip unavailable models.dev API entrypoints instead of failing model catalog updates. (#59475)
  • Return a server error with a reference ID when the server cannot encode a response. (#59459)
  • Avoid warming a session while its model request is running. (#59325)
  • Preserve legacy MCP codemode settings during migration. Thanks @tneemo. (#59126)
  • Use the correct Vertex AI endpoints for the eu and us multi-regions. (#59335)
  • Accept Databricks hosts that include http:// or https://. (#59334)
  • Keep files intact when patch edits move a file onto itself. (#59197)
  • Preserve literal $0 and $ARGUMENTS text in custom command input. (#59198)
  • Close project locations concurrently during shutdown. (#59326)
  • Treat equivalent directory paths, including trailing slashes, as one location. (#59327)
  • Send valid tool schemas to Kimi for tuple, default, and keyword-like arguments. (#59207)
  • Expose Code Mode MCP tools directly when the execute permission is denied. (#59315)
  • Coordinate OAuth credential refreshes across locations and processes. (#54023)
  • List and search remote Git branches correctly without bare remote names. (#58597)
  • Detect AVIF, HEIC/HEIF, QuickTime, and M4A attachments correctly. (#58480, #58886, #58887)
  • Reduce memory retained by long-running tool calls and unchanged hooked model requests. (#58448, #58449)
  • Load session diffs without reading every message, improving performance for large sessions. (#57686)
  • Keep active locations alive when session events use an equivalent directory path. (#56259)
  • Reload compatibility skills only when their own sources change. (#59086)
  • Avoid publishing redundant catalog updates when configuration is unchanged. (#56267)
  • Avoid booting idle or deleted project locations while polling session forms. (#59083)
  • Wait for plugins before returning agent and provider lists, preventing incomplete catalogs. (#59082)
  • Manage sessions and instruction entries after their project directory is deleted. (#58997)
  • Start fuzzy file search only on first use, reducing project startup work. (#58959)
  • Exit after 10 seconds when shutdown hangs and report pending work. (#58817)
  • Keep the models catalog fresh without redownloading it when unchanged. (#58813)
  • Send xAI Responses top_k settings and stop sending unsupported penalties. (#58868)
  • Honor shared parallel tool-call and service-tier settings for Groq. (#58871)
  • Retry throttled requests instead of misreporting them as context overflows. (#58866)
  • Preserve streamed text and reasoning that arrive after an OpenAI Chat finish reason. (#58851)
  • Classify AWS REST JSON errors consistently regardless of where the error type appears. (#58770)
  • Validate large base64 attachments without slowdowns or hangs. (#58811)
  • Retry Bedrock throttling errors as rate limits instead of context overflows. Thanks @Irish-Joseph. (#58759)
  • Keep working MCP tools available when a server returns malformed ones. (#58350)
  • Match absolute instruction-file globs across directories. Thanks @heimoshuiyu. (#58749)
  • Use configured provider regions in Bedrock endpoint URLs. (#58538)
  • Handle unknown OpenAI Chat finish reasons without failing the response. (#58608)
  • Avoid unnecessary Azure model updates when endpoint transforms make no change. (#58600)
  • Prefer JPEG for opaque browser screenshots, reducing attachment size. (#56990)
  • Detect generated image types from their bytes when compatible hosts omit the format. (#58475)
  • Keep project services alive while sessions run long tools or wait for input, with a 24-hour inactivity cap. (#57274)
  • Prevent unrelated configuration changes and compatibility-skill update bursts from repeatedly reloading skills. (#56260)

TUI

Improvements

  • Reduce CPU use while animated session-tab pulses are visible. (#59235)
  • List OpenCode Console before OpenCode Go in the integration picker. (#59107)
  • Add /usage, model-picker, prompt, sidebar, warning, and error details for OpenCode Console usage limits. (#58731)
  • Make CLI service registration more reliable when concurrent processes update its files. (#59105)

Bug fixes

  • Return opencode run --format json server connection errors as JSON. Thanks @andreivince. (#59366)
  • Preserve pasted prompt text when copying it back out. (#59209)
  • Reliably update the background service on Windows when its files are briefly locked. (#59105)
  • Keep the background service state directory out of tool shells and identify processes blocking its port. (#58815)
  • Refresh Git branch details after switching branches. (#58982)
  • Keep the TUI running when a plugin slot or route renders bare text. Thanks @anmol0b and @Tarquinen. (#58144)
  • Accept --server and --standalone anywhere in supported CLI commands. (#58505)
  • Release closed and background session transcripts to prevent memory growth. (#58434, #57025)
  • Connect remote access tunnels through HTTP proxies. (#58464)
  • Keep development builds on a separate server, database, and port from released builds. (#58331)

Desktop

Improvements

  • Manage desktop plugins from Settings β€Ί Extensions β€Ί Plugins. (#59489)
  • Add a persistent desktop zoom setting. (#59277)
  • Capture heap snapshots in desktop debug builds on SIGUSR2 when explicitly enabled. (#58317)
  • Show the open session title in the browser tab. (#59131)
  • Show todowrite tasks above the composer. (#59092)
  • Load session history once when returning to a session tab. (#59166)
  • Answer questions with number keys and show multi-select choices as checkboxes. (#58595)
  • Add an always-available Add project action to the location picker. (#57962)
  • Let you rewind or fork from any message. (#58865)
  • Let you edit line comments and copy shell output. (#58970, #58974)
  • Render Mermaid diagrams in messages much faster, sized to fit the column. (#57483, #57004)
  • Add opt-in memory logging and remote debugging for desktop debug builds. (#58315)
  • Show web sources for a turn behind the experimental Sources setting. (#58307)
  • Jump from a completed shell notification to its shell output. (#58663)
  • Keep the composer usable while the voice-call panel floats. (#58587)
  • Use the Soft Radar activity spinner by default and provide experimental variations. (#58010, #57903)
  • Add an experimental new model picker. (#58413)
  • Add experimental Console voice calls in Desktop beta. (#58249)
  • Add a timeline width setting. (#58308)
  • Improve command, session, and model search lists with sticky sections. (#58222)
  • Add search to recently closed sessions. (#55721)
  • Open extension configuration and skills in side tabs. (#58023)
  • Open session extension lists on hover and follow keyboard navigation. (#58021)
  • Add video previews with zoom controls. (#57924)
  • Add generated project avatars and an experimental avatar-style switcher. (#57871, #57930)
  • Add recently closed side tabs to the new-tab view. (#57863)
  • Add a searchable prompt history picker. (#57716)
  • Find settings from the command palette. (#57651)
  • Group queued and steered messages, and group consecutive user messages under one metadata line. (#57561, #57552)
  • Improve file-tree and folder-picker performance. (#57573, #57557)
  • Keep branch search results visible while new results load. (#57531)
  • Add a session-details menu to the session header. (#57528)
  • Show a subagent's model, status, and elapsed time in its composer area. (#57473)
  • Let you delete sessions from tab menus and rename the current session with Ctrl+R. (#57453, #57423)
  • Restore session summary and project menu actions. (#57781)
  • Let you place the background-activity capsule at the left, center, right, or hide it. (#57962)
  • Show project and worktree details in the session header and location menu. (#57962)
  • Add text-rendering controls to the debug bar. (#57326)
  • Show elapsed time for background work. (#57218)
  • Improve streamed Markdown rendering reliability and performance. (#57016)
  • Split the side pane and add a draggable bottom pane with tabs. (#56960)
  • Add consistent MCP sign-in and error-status links across connection, session, and Settings views. (#57962)
  • Open multiple file tabs at once and open side-panel content in tabs. (#57182, #57094)
  • Move running work to the background when you steer a session. (#57142)
  • Let the timeline scroll beneath the composer while keeping its content visible. (#57141)
  • Simplify Settings into a flat list with a per-server switcher. (#57962)
  • Quote selected timeline or terminal text into the composer. (#55664, #58420)
  • Search sessions across online servers from the title bar. (#57962)
  • Add a Reduce motion appearance setting. (#57103)
  • Show projects from all servers in the new-session location picker. (#57962)
  • Pick models from a searchable dialog with favorites and recent models. (#55838)
  • Attach the new-session location picker below the composer. (#56952)
  • Open image previews directly from message and composer thumbnails. (#56896)
  • Start new worktrees from the current branch in the simplified location picker. (#57962)
  • Manage running subagents and shells from the composer activity capsule. (#57962)
  • Sync projects from each server and prioritize projects you use on Home. (#57962)
  • Choose between Focus and Pro interface layouts in Settings. (#56898)
  • Open terminals as side-panel tabs. (#57962)
  • Choose a project and worktree from one new-session location dialog. (#57962)
  • Show subagents as separate timeline rows by default. (#57962)
  • Add a sidebar toggle for vertical tabs. (#55646)
  • Add ⌘1–9 and β‡§βŒ˜[ / β‡§βŒ˜] shortcuts for side-panel tabs. (#57301)
  • Let you choose a new directory or worktree when a session location is unavailable. (#56087)
  • Refresh the Manage models, MCP, and fork dialogs with compact searchable lists. (#56029, #56028)
  • Install future Windows desktop updates in about a second. (#55933)
  • Show individual Code Mode tool calls in Execute rows. (#55649)
  • Add a Commentary timeline category and display setting. (#55248)
  • Support @ links to other sessions in messages. (#57480)
  • Polish spacing, alignment, borders, and typography across the session header, titlebar, composer, file tree, browser pane, timeline, and Settings. (#58195, #57776, #57570, #57782, #57336, #57363, #58100, #58979)

Bug fixes

  • Prevent duplicate tab shortcuts and remove uninstalled plugin commands from Shortcuts. (#59499)
  • Keep todo items from shrinking in the todo panel. (#59430)
  • Keep question-dock answers and controls positioned correctly when changing questions. (#59383)
  • Keep the @ menu open while it searches. (#59425)
  • Finish quitting after Cmd+Q on macOS. Thanks @anmol0b. (#59144)
  • Toggle MCP servers for the current session location from Settings. (#59132)
  • Deliver steering messages when an earlier move was missed. (#58984)
  • Keep session and command-palette search results stable while searching. (#58908, #57479)
  • Restrict Search projects to the project list. (#58978)
  • Let custom Close tab shortcuts close terminal and browser tabs. (#58945)
  • Prevent live status rows from jumping or leaving gaps above the composer. (#58691, #58697)
  • Keep browser tabs still behind open dialogs. (#58958)
  • Keep side-panel content and browser pages visible while the sidebar or panel moves. (#58202, #58185)
  • Render session diffs reliably.
  • Keep keyboard focus in terminals, side panels, dialogs, and the composer when appropriate. (#57980, #57297, #56273)
  • Preserve empty browser and side-panel tabs instead of closing them automatically. (#58440)
  • Reduce desktop memory use by releasing closed transcripts, discarded tool-result images, retained UI batches, and aborted timeline work. (#57025, #58434, #58427, #58560, #58447, #58439, #58432)
  • Restore horizontal scrolling and sticky change badges in the file tree. (#58117)
  • Show live Thinking for reasoning-only turns. (#58299)
  • Stop loading older history after completing the initially visible turn and prioritize the first transcript page. (#57700, #57741)
  • Keep Home project and session lists reliable during refreshes.
  • Keep deleted sessions from reappearing on Home. (#55349)
  • Find sessions immediately in @ mentions, including multi-word titles. (#57683)
  • Keep queued messages editable while changes sync with the server. (#57569)
  • Open image and video URLs in the browser pane. (#57562)
  • Mark submitted generated forms as complete and send each response only once. (#57537)
  • Improve file-view performance with reused views, virtualized medium files, and cached diffs. (#57551)
  • Group untracked folders into one expandable review row. (#57527)
  • Let you paste into the composer from the session view. (#57545)
  • Recover failed beta background servers and preserve their required CLI versions. (#57321)
  • Restore branch selection when starting a new worktree session. (#57962)
  • Keep the running server available while beta updates install. (#57309)
  • Make links in user messages, shell output, and Code Mode output clickable. (#57211, #57303)
  • Make Check for Updates always report its result. (#57296)
  • Reopen the last closed side-panel tab with β‡§βŒ˜T and open a browser tab with ⌘T. (#57269, #57156)
  • Keep OpenCode keyboard shortcuts working in the browser pane. (#56697, #55240)
  • Preview image attachments supplied by file path. (#57249)
  • Apply configured code and UI fonts consistently. (#57242)
  • Keep activity and busy indicators steady while switching sessions. (#57196)
  • Reserve β‡§βŒ˜W for closing the window so ⌘W does not. (#57150)
  • Make image preview transitions resize smoothly without clipping or blocking clicks. (#56997, #57324)
  • Keep in-session search reliable alongside titlebar session search. (#57962)
  • Return focus to the prompt after keyboard model selection.
  • Open searchable pickers at the top with search focused. (#57962)
  • Keep tables visible beneath sticky headers. (#57050)
  • Fit provider connection steps without shifting a dialog's top edge. (#57006)
  • Give unavailable-server panels clear error styling. (#57003)
  • Make mouse-wheel and keyboard scrolling respond immediately on Linux. (#57962)
  • Keep long Execute tool code contained and show successful Code Mode output. (#56915)
  • Focus the most useful control when dialogs open, including Cancel in delete confirmations. (#57453)
  • Install Windows beta, stable, and nightly builds into separate directories. (#56904)
  • Keep session tabs recoverable when their server becomes unreachable. (#56248)
  • Keep the composer model's provider and session-model resolution consistent with the TUI. (#56225)
  • Reread open files without resetting their scroll position. (#55899)
  • Hide agent names when agents are disabled. (#57525)
  • Polish sidebar, panel, composer, activity, question-dock, loading, and motion behavior across light and dark themes. (#57449, #58013, #58577, #57944, #58052, #58494, #58073, #58114)
  • Polish hover states, cursors, tooltips, focus rings, scrollbars, and transitions across desktop controls. (#57653, #57787, #57304, #58971, #57221, #57192, #58575, #58580)

SDK

Improvements

  • Add GUI plugin APIs for toasts, dialogs, notifications, tabs, composer controls, and custom UI. (#59469)

Bug fixes

  • Fix generated Promise client input types for TypeScript consumers. (#58875)
  • Let SDK clients discard inline tool-result file payloads to reduce memory use. (#59101)
  • Avoid unnecessary catalog refreshes for locations an SDK client has not loaded. (#55237, #59099)
  • Restore running sessions created while an SDK client was disconnected. (#53012)
  • Release omitted tool-image payloads from memory instead of retaining their base64 data. (#58560)

  •  

Olga Zuiderhoek: β€œMaar wat er ook gebeurt, er klinkt muziek" | Schuilen in Schoonheid

27 Oktober 2026 om 06:00

πŸ’Ύ

"Tegenover mij zit Olga Zuiderhoek, actrice. Een van onze beste. Tachtig jaar oud, maar nog veel werk. Tv, film en theater. Eindeloos veel rollen. Vaak in de prijzen gevallen: Gouden kalveren, toneel-medailles en in 2020 de Career Achievement Award tijdens Film by the Sea.

In 2010 overleed haar vriend de befaamde jazz-musicus Willem Breuker met wie ze 28 jaar samen was. Olga speelt nu al zeven jaar op gezette tijden haar eigen voorstelling: β€˜Maar wat er ook gebeurt er klinkt muziek’."

In Schuilen in Schoonheid spreekt Matthijs van Nieuwkerk met spraakmakende gasten over tegenslag en de schoonheid van het leven. Aan de hand van de drie schuilplaatsen van zijn gast, onderzoekt Matthijs wat weerbaarheid inhoudt. Gasten delen de plekken, rituelen en kunstwerken waar zij troost in vinden.

Op de hoogte blijven van alles rondom deze podcast? Volg ons op Instagram via @matthijsvannieuwkerk en TikTok @schuileninschoonheid. Dit is een podcast van Dag en Nacht. Adverteren in deze podcast? Kijk op adverteren.podimo.nl voor alle mogelijkheden.
  •  

Release 2026.10.27

27 Oktober 2026 om 01:18

Docker Images

Docker images have been built and pushed:

Docker Hub:

  • alexta69/metube:latest
  • alexta69/metube:2026.10.27

GitHub Container Registry:

  • ghcr.io/alexta69/metube:latest
  • ghcr.io/alexta69/metube:2026.10.27

Changes

  • upgrade yt-dlp from 2026.10.21 to 2026.10.26 (cf16674)

  •  

12.4

26 Oktober 2026 om 22:30

πŸš€ Jellyfin Web 12.4

We are pleased to announce the latest stable release of Jellyfin, version 12.4! This minor release brings several bugfixes to improve your Jellyfin experience. As always, please ensure you take a full backup before upgrading!

Discuss this release further on our forums.

Changelog (1)

πŸ“ˆ General Changes

  •  

12.4

26 Oktober 2026 om 22:30

πŸš€ Jellyfin Server 12.4

We are pleased to announce the latest stable release of Jellyfin, version 12.4! This minor release brings several bugfixes to improve your Jellyfin experience. As always, please ensure you take a full backup before upgrading!

Discuss this release further on our forums.

Changelog (1)

πŸ“ˆ General Changes

  •  

Part-DB 2.20.4

Door: jbtronics
26 Oktober 2026 om 22:10

Caution

There is a significant security issue in PHP known as PHP2Shell (CVE-2026-109618 and CVE-2026-109619), that can allow take over of your server. If you have not done, you should update your PHP immediately to a patched version. If you are using docker, the images of this tag, contain an patched PHP version.

Note

If you are using Part-DB it would be helpful if you fill out this short survey on your usage of Part-DB (Google Forms): https://forms.gle/Q15twx3YYq3qCNfe8

Part-DB 2.20.4

Improvements

  • Security hardening of attachment uploads

Other changes

  • Updated dependencies
  • Updated documentation (thanks @DDR0)

New Contributors

Full Changelog: v2.20.3...v2.20.4

  •  

v1.18.0 - Stalwart 1.0

Door: rathlinus
26 Oktober 2026 om 22:05

1.18.0 (2026-10-26)

1.18.0 works with Stalwart 1.0, released today, as well as with 0.16. Sign-in, calendars, contacts, files and sending were adapted to what changed in 1.0, and a Stalwart that was moved from 0.16 to 1.0 with Stalwart's migration tool keeps working with the same open tabs. It also fixes the findings of a security review of the whole webmail, more places where an action in a view that mixes accounts could hit another account's message with the same id, and a series of calendar bugs around repeating events. Plugins can show their own search results and a count on their buttons, quick reply can be turned off, and a new device offers to restore your saved account list.

Thank you for your donations:

One-time

  • @bultester
  • Anonymous
  • Anonymous
  • Anonymous
  • Anonymous

Monthly

Upgrading to Stalwart 1.0

  • After moving Stalwart to 1.0, run Auto-configure OAuth once on the admin Authentication page. It registers Bulwark with Stalwart as a first-party client. Without it, mail, contacts, calendars and files work, but the account security settings (password, two-factor, app passwords) are not available, and single sign-on through Stalwart needs the registered client
  • Stalwart 1.0 can't be installed over 0.16: its migration tool (stalwart-migrate) copies the data into a new store. Ids and sync state are kept, so Bulwark carries on without reloading anything, but OAuth tokens are not migrated: everyone who signed in with single sign-on, or with a password and a two-factor code, signs in again. Keep the server's public URL the same
  • Admin sessions are signed out once by this update, and they now also end when you sign out or change the admin password

Security

  • Plugins: /api/plugin-approval-status refuses plugin packages while user plugins, plugin uploads or their review are turned off. Any signed-in user could fill the admin's review queue and the data directory with packages (GHSA-qc44-275p-gqw9, thanks @oguzyilmaznet)
  • Sidebar apps: With COOKIE_SECURE=true, the unprefixed sidebar-app cookie is no longer trusted behind a TLS proxy that sends no X-Forwarded-Proto, so a sibling subdomain can't add origins to the page's frame-src (GHSA-cjm9-m826-mh78, thanks @oguzyilmaznet)
  • Sign-in: A stored credential that the mail server refused (password changed, app password revoked) is not sent again for an hour, and a global cap stops a loop of them, so a stale session can't get the webmail's address banned by Stalwart for every user. Server-side calls forward the client address (GHSA-g6c7-r7wq-xrm2, thanks @oguzyilmaznet)
  • Multi-account: More actions name both the login and the account. Removing a login whose folder was open, the Scheduled list, contacts in shared address books or another login, plugin moves, single-message archive and delete, the replied/forwarded flags, scheduled badges and Undo for a signed-out login could act on another account's message, contact or submission with the same id (GHSA-8x23-qw3w-mhrx)
  • Sign-in: On a server that reports a bare login name, a token sign-in could claim that name on any domain and reach the synced settings and stored plugin credentials of that address
  • Sign-in: A password and two-factor sign-in to a server you typed went to the default server when custom servers are allowed, and the password sign-in followed a mail server's redirect to another host with the password
  • Sign-in: A password and two-factor sign-in without "Remember me" ends with the browser session instead of staying signed in for 30 days
  • Mail: A link in a printed message can't redirect the webmail tab, links in conversation messages go through the same link check as the reader, a winmail.dat part whose type a browser would drop is downloaded instead of opened, and an unquoted cid: image no longer hides the rest of the message
  • Mail: Outlook-style replies (plugin) no longer load the quoted message's remote images
  • Calendar: Only a counter proposal from one of the meeting's participants can be applied to your meeting; anyone who knew its UID could propose a new time or place to all attendees
  • Admin: config.json, the admin password hash and the setup token are written readable only by the app's user, a synced settings file can no longer pass as an admin session, and the setup wizard refuses a session secret under 32 characters
  • Server: Request bodies over 10 MB are no longer buffered for every path before routing (only WebDAV uploads, the plugin proxy and office saves take more, and cap it themselves), answers from a mail server you picked are read up to a size limit, and the app files in the Docker image are read-only for the user it runs as
  • Dependencies: undici 7.30.1 (GHSA-xjj6-f33q-929c)

Features

  • Stalwart 1.0: Calendars, tasks, contact photos, files, free/busy, sending past Stalwart 1.0's submission limit, phrase search, and its rules for keywords, file names and time zones work on 1.0 as on 0.16. Bulwark Lite installs as a Stalwart 1.0 Application
  • Plugins: Plugins can show their own results in search and open the message a result names (#1336, #1338, thanks @HOLOEYE-JZ), and show a count on their buttons (#1345, thanks @HOLOEYE-JZ). email.get, email.getRaw and email.getAttachment take an optional account id, and summaries carry it
  • Accounts: A new device offers to restore the saved account list (#1363, thanks @lucamzanon)
  • Mail: Quick reply below messages can be turned off in Settings (#1370, thanks @maxhaomh)
  • Mountain View: The inbox splits into Unread and Everything else, and attachment and code chips look like Gmail's
  • Server: iCal subscriptions and other server-side fetches go through the outbound proxy when NODE_USE_ENV_PROXY=1 is set. Bulwark still checks the address itself and asks the proxy for exactly that address (#1367, thanks @Jan0oo)

Fixes

  • Sign-in: Password and two-factor sign-in, Bulwark Lite and phone pairing work on Stalwart 1.0, single sign-on asks for mail, contacts, calendar and file access there, and a background account signed in with OAuth renews its own token instead of the active account's (#989, thanks @Almost-Senseless-Coder)
  • Sign-in: Signing out of one login switches to the remaining one when it was signed in before the page loaded, instead of signing out of all, and an OAuth account that can't be restored has its refresh token cleared
  • Mail: Bulk archive in the unified inbox creates each account's Archive, and a group account's year and month archive folders are reused
  • Mail: The unified inbox shows new mail of a group or shared account and of another signed-in login without a click (#1350, thanks @ClapsAndJiggles), and message links open the message of the account they name (#1351, thanks @ClapsAndJiggles)
  • Mail: The list keeps loading older mail when the server sent no total (#1364, thanks @inceblog), inline images whose part name is a path show (#1371, #1373, thanks @motofix), and Outlook-style HTML quotes without a border are kept (#1355, thanks @maxhaomh)
  • Mail: Sent paragraphs keep the spacing the composer shows (#1340, thanks @arnauda-gh), replies to deeply nested quotes and mails full of blockquotes no longer freeze the page, and attachment names drop direction-override characters everywhere
  • Sending: "Send now" of a group identity's delayed mail no longer drops it back into Drafts, own and group scheduled mail stay apart, a send refused for some recipients says so, and a held reply from a Pro compose tab still marks the original as answered
  • Calendar: The open calendar updates and reminders fire on time when events change elsewhere (#1349, thanks @ClapsAndJiggles), events sit and resize at their clock time on DST change days (#1348, thanks @ClapsAndJiggles), a calendar added later follows the server's visibility (#1372, thanks @somus), a colour from the system colour dialog is applied (#1366, thanks @chodid), and hiding every calendar sticks
  • Calendar: Editing, moving, splitting and answering repeating events keeps their changed and cancelled occurrences, organizer and answers, and asks attendees again only when the time changes
  • Calendar: A subscribed feed's changes to events it still carries are applied, meeting replies are checked against the attendee who answers, exported events keep emoji and names with a colon, and the Calendar Agenda shows all-day events on their day west of the server
  • Contacts: Photos, UIDs and group members are kept on Stalwart 1.0, and a closed directory says so instead of reporting a failed refresh
  • Files: Folders and uploads work on Stalwart 1.0, symlinks show as links, shared folders sit under "Shared with me", and files copy between your drive and shared drives
  • Push: Mail in an account shared into another signed-in login gets its notification again, previews work when the webmail reaches Stalwart on an internal address, and two logins with the same account id get a plain notification instead of the wrong preview
  • Lite: A replayed deep link keeps its query parameters (#1352, thanks @ClapsAndJiggles)
  • Admin: The allowed frame ancestors saved in the dashboard reach the header, and setup.sh asks again for a pasted session secret under 32 characters
  • Accessibility: The rail's Mail entry is named "Mail" for screen readers, not its unread count
  • i18n: Missing Estonian strings and the quick reply setting are translated, and the German account-list restore prompt addresses you formally

  •  

Iceland: Viewpoints

Door: Petr
26 Oktober 2026 om 17:00

Today, we're taking a closer look at some of the viewpoints you'll be able to visit in the upcoming Iceland DLC for Euro Truck Simulator 2, where you can take a break from the road and enjoy the surrounding scenery!

Viewpoints in our games highlight notable places recreated by our map designers to represent their real-world locations. If you've visited one before, you'll know how it works: simply drive up to the viewpoint and activate the trigger to start a special cutscene, taking you around the area and showcasing its most interesting features.

As you might expect, Iceland will feature plenty of viewpoints, with many of them highlighting the country's remarkable natural beauty. We've got quite a few prepared for you to discover, but we don't want to spoil all the fun of exploring them for yourself. So, today, we're sharing just a selection of what awaits you on the roads of Iceland!

One of the first viewpoints we'd like to show you is the famous Seljalandsfoss waterfall in southern Iceland, located right next to the Ring Road. This beautiful waterfall cascades around 60 metres down a cliff face, landing in a small pool below.

If you venture southwest from ReykjavΓ­k to theΒ Reykjanes Peninsula, you will come across another one - the Blue Lagoon - a popular health and geothermal spa.Β The Blue Lagoon was formed by chance in 1976 during the construction of the Svartsengi Geothermal Power Plant. The plant's excess geothermal seawater flowed into a nearby lava field, gradually forming the lagoon we know today. Its distinctive milky-blue colour comes from its high silica content, which reflects sunlight in a unique way.

When you travel east of the capital city instead, you can find theΒ Gullfoss Waterfall, also known as the "Golden Falls", one of Iceland's most famous waterfalls. Gullfoss stands out for its two-tiered drop, glacial source, and canyon setting, and it ranks among the most visited stops on waterfall tours.

In eastern Iceland, make sure to see the StuΓ°lagil Canyon, a remarkable basalt rock formation in JΓΆkuldalur Valley. It became visible in 2009, when a hydroelectric project lowered the water level of the JΓΆkulsΓ‘ Γ‘ Dal River, revealing its impressive basalt walls. The canyon is known for its striking rock formations and the vivid blue glacial river flowing through it.

Near Akureyri, don't miss the Goðafoss Waterfall, one of the most iconic places you can see in the Land of Fire and Ice. It takes its name from a legend dating back to around 1000 AD, when Iceland adopted Christianity. According to the story, chieftain Þorgeir Ljósvetningagoði threw his pagan idols into the waterfall to mark the country's peaceful transition to the new faith.

There are plenty more viewpoints waiting for you to discover, including Þingvellir, Geysir, JâkulsÑrlón, and many more. But we'll leave the rest for you to explore and enjoy for yourself! If you're looking forward to discovering these places, be sure to add the Iceland DLC to your Steam wishlist!

Don't forget to follow us onΒ X/Twitter, Instagram, Facebook, Bluesky, and TikTok to receive all the recent updates straight to your feed. You can also subscribe to our newsletter to stay informed. Until next time, happy haulin'!

  •  

Distribution Release: Maze Linux 2026.10.26

26 Oktober 2026 om 17:34
The DistroWatch news feed is brought to you by TUXEDO COMPUTERS. Berk KΓΌΓ§ΓΌk has announced the release of a new version of Maze Linux, an Arch-based Linux distribution focused on security, privacy and artificial intelligence (AI). It ships a customised and hardened KDE Plasma desktop with defensive and anonymity tools installed and pre-configured: "Maze Linux 2026.10.26 - Qlam 2,....
  •  

v1.0.0

26 Oktober 2026 om 19:28

[1.0.0] - 2026-10-26

This version includes multiple breaking changes and a new database layout, so existing v0.16.x deployments cannot be upgraded in place. Please read the migration documentation for more information on how to migrate from v0.16.x.

Added

  • Full-text search:
    • Text extraction and indexing of PDF, Microsoft Office (docx, xlsx, pptx), OpenDocument (odt, ods, odp), EPUB and RTF documents found in attachments and files.
    • Full-text search of file storage contents.
    • Index queue with per-partition status, concurrency control, retries and index rebuilds.
  • Metadata:
    • JMAP Object Metadata (draft-ietf-jmap-metadata-04) for e-mails, mailboxes, Sieve scripts, calendars, events, address books, contacts and files.
    • IMAP METADATA extension (RFC 5464).
  • DKIM2:
    • Post-quantum composite signatures using ML-DSA-44 and Ed25519 with SHA-512.
    • Configurable Message-Instance hash algorithms (SHA-256 and SHA-512).
  • OAuth and OIDC:
    • OAuth Client ID Metadata Documents (draft-ietf-oauth-client-id-metadata-document-02).
    • OAuth scopes (mail, contacts, calendars and files) per client and grant.
    • Connected applications: users can list and revoke the applications authorized to access their account.
    • First-party clients, post-logout redirect URIs and per-client grant types.
    • External OIDC directories: audience matching, opaque token validation via UserInfo or token introspection and a policy for unscoped tokens.
  • Caching:
    • Redesigned cache subsystem with a dedicated tier for large accounts.
    • Cache snapshots can be swapped to local disk, Redis or the blob store.
  • Built-in local in-memory store for single-node deployments.
  • Azure Blob Storage authentication using shared keys, SAS tokens, client secrets, managed identities or workload identities.
  • Secondary LDAP servers for failover.
  • SSRF protection for outbound HTTP requests (webhooks, OIDC discovery, AI and DNS providers).
  • Configurable client IP source (X-Forwarded-For or Forwarded) and number of trusted proxy hops.
  • Memory budget for buffered data.
  • Configurable limits for e-mail headers, keywords and mailboxes per message, calendars, address books and spam filter text processing.
  • TLS options for Kafka and NATS cluster coordinators.
  • Automatic cleanup of per-user data after a share is revoked.
  • AI (Enterprise):
    • AI models from multiple providers: OpenAI-compatible endpoints (OpenAI, Azure, vLLM, llama.cpp), Anthropic, Google Gemini and Ollama, with per-model rate limits, concurrency caps, timeouts and reasoning levels.
    • AI spam classifier with structured verdicts, model tiers with escalation, training from AI verdicts and optional web search.

Changed

  • New database layout: the key layout was redesigned and the database schema version is now tied to the edition (AGPL-only or AGPL/SEL). Data must be migrated from v0.16.x using the migration tool.
  • Settings schema: multiple objects, fields and enumeration values were renamed, restructured (AI models, OIDC directories, Azure Blob Storage, HTTP forwarded headers) or removed, and internal identifiers were renumbered. See SCHEMA_CHANGES.md for the full list.
  • Telemetry: New events and metrics were added and event identifiers were renumbered. See SCHEMA_CHANGES.md.
  • OAuth: The OAuth Profile for Open Public Clients is now fully enforced. If you use an external OIDC provider, make sure it conforms to the draft; otherwise mail clients such as Apple Mail will stop working with it as they adopt the profile. Ask your provider to add support, or, at your own risk, relax the corresponding security checks.
  • Updated IETF drafts:
  • Performance improvements in storage backends, expression evaluation, IMAP parsing, spam filter tokenization and search.
  • Development: Test suites (unit, integration, conformance and stress) are now kept in a private repository, and new features are developed privately before release. The source code of every release remains public under the AGPL-3.0. Learn why

Fixed

  • Multiple bug and security fixes.

Check binary attestation here

  •  

FileZilla Server 1.13.0-beta1 released

Door: Tim Kosse
26 Oktober 2026 om 15:04

Fixed vulnerabilities:

  • TVFS: Fixed directory deletion and renaming potentially bypassing restrictions configured in mount points
  • TVFS: Fixed simultaneous file requests potentially exceeding the limit on open files per session
  • Web Client: Fixed shared-link tokens potentially being used to renew login sessions
  • Web Client: All REST API requests and shared links now require HTTPS
  • Web Client: Updated Quasar to fix a security vulnerability
  • Web Client: Fixed filenames containing special characters being interpreted as HTML in delete confirmation dialogs
  • Web Client: Limited request sizes, excluding file uploads, to prevent excessive memory use and server termination

New features:

  • System users can now sign in without a password while accessing files with their system account's permissions
  • Directories configured in mount points are now created when first accessed, rather than in advance
  • UI: Expand a session to see its active transfers, their source addresses and start times, and the session's overall progress
  • UI: Enable or disable individual listeners without removing their settings; protocol now appears before address and port
  • New installations include disabled Web Client HTTPS listeners on port 443 for IPv4 and IPv6
  • Added browser-based file access and sharing through the Web Client
  • Web Client: Choose a light, dark or system theme and adjust text size and color intensity; preferences are remembered and shared across browser tabs
  • Web Client: Administrators can choose sign-in as the default page when no public site is enabled, and All files as the destination after signing in from Home
  • Web Client: Can be installed as an app in supporting browsers
  • Web Client: Uploads continue while browsing other pages, with grouped progress and controls to pause, resume, cancel and retry
  • Web Client: Added upload history stored in the browser, with completion dates and recovery of interrupted uploads when access to the original file is available
  • Web Client: Files, shared links, uploads and account sessions have table and timeline views, with a searchable date index
  • Web Client: Navigation and preview layouts adapt to available space, keeping controls accessible on narrow screens; desktop sidebar expansion is remembered
  • Web Client: Upload entire folders, including nested files and empty subfolders, by selecting or dropping them where supported
  • Web Client: When a file already exists, choose whether to replace it or resume its upload. Choices can apply to the whole upload batch
  • Web Client: File lists now identify symbolic links and shared files and directories
  • Web Client: Move files and folders individually or in groups using a destination picker, or move an item by entering a destination path when renaming
  • Web Client: Improved dark-mode contrast for controls, links and selected items
  • Web Client: Added audio playback and seeking in audio and video previews without downloading the entire file first
  • Web Client: Improved file previews with keyboard navigation, syntax highlighting, clearer playback errors and updates after renaming or replacing files
  • Web Client: Preview details show file formats, text encodings, sizes and modification times; UTF-16 text with a byte-order mark displays correctly
  • Web Client: Added Compact interface density, with smaller icons and tighter spacing while preserving text size; small screens use it automatically
  • Web Client: Administrators can enable browser caching of files accessed while signed in. Caching is disabled by default because copies may remain on the device after sign-out
  • Web Client: Added an account page to view active sessions and end them remotely
  • Web Client: Added controls to copy, edit, delete and temporarily disable shared links. Editing or re-enabling a link preserves its URL
  • Web Client: Shared links can optionally identify their owner to recipients
  • Web Client: Public file sharing can now be controlled globally and per user or group
  • Web Client: Added browsable REST API documentation with search, examples and descriptions of request and response formats
  • Web Client: Administrators can publish Markdown pages with customizable navigation and offer files for download. Built-in help and an optional example site are included
  • Web Client: Public pages support rich Markdown, embedded files and media, and customizable layouts
  • Web Client: Added an always-accessible Copyright and License page with the software license and third-party notices

Bugfixes and minor changes:

  • FTP: Fixed MLST and MLSD permission facts being sent as "perms" instead of the standard "perm", preventing clients from recognizing advertised permissions
  • Directory listings retain unavailable mounts with unknown metadata instead of failing the entire listing
  • UI: Improved dialog positioning, spacing and font scaling
  • Fixed transfers potentially being reported as complete before files had finished being written and closed
  • Fixed connections potentially stalling while sending data or closing
  • Fixed potential login failures caused by invalid data in pending authentication requests
  • Fixed a user's group membership potentially being applied more than once
  • The %<home> placeholder now requires accessing files with the system account's permissions (filesystem impersonation), not just using that account to sign in; otherwise its home directory may be unavailable
  • Fixed handling of certificate chains and user-provided certificate paths
  • Fixed inherited mount paths and permissions not updating when overridden by user or group settings
  • Fixed misleading errors when automatically creating mount-point directories that already exist
  • TLS: Fixed misleading errors when clients disconnect during connection setup
  • TLS: Fixed missing client addresses in connection throttling logs
  • FTP: Fixed failed or stalled passive-mode transfers and cancellation while resolving the server's address
  • FTP: Fixed the response code sent at the end of a STAT directory listing
  • FTP: Transfer error messages now distinguish socket reads and writes and no longer describe an unknown error source as a file-write failure
  • FTP: Fixed LIST and STAT showing full paths instead of file names when requesting information about individual files
  • Web Client: Resumed downloads check that the file has not changed, avoiding a mix of data from different versions
  • UI: Banning an IP from an expanded transfer now targets that transfer's source address
  • UI: Session protocol names now indicate whether the connection is encrypted
  • UI: The session list no longer jumps to another scroll position when sessions are added or removed
  • UI: Path validation errors now give relevant guidance, and invalid mount paths remain available for correction instead of reverting to the previous value
  • UI: Fixed a crash when hovering over sessions immediately after connecting
  • UI: Added warnings when the server cannot access files or load the home directory using the selected system account
  • UI: Fixed duplicated users retaining the original identity and a crash when removing users or groups
  • Web Client: Fixed handling of spaces in form fields, including credentials and shared paths
  • Web Client: Fixed outdated sign-in status and requests failing when the login session needs to be renewed
  • Web Client: Warn before leaving unfinished operations and offer to reload the app after a server update
  • Web Client: Reduced application download sizes
  • Web Client: Fixed the upload form not appearing in Firefox
  • Web Client: Downloads use the browser's download manager, with a separate Save as... action where supported
  • Web Client: File lists now refresh reliably after changes to files and folders
  • Web Client: Clearer file-operation errors with readable resource paths
  • Web Client: Common file and shared-link actions are available directly on rows when space permits
  • Web Client: Shared links follow files and folders renamed or moved through the Web Client, and are disabled if an affected change fails
  •  

v8.3.2

26 Oktober 2026 om 13:51

SECURITY

  • critical Upgrade vulnerable sharp (image processing dependency) that can lead to a RCE with a special crafted SVG file GHSA-wq5f-xc86-pv6w
  • high Fix federation vulnerability where a remote attacker could exploit the redirection of cached remote objects to impersonate actors of another instance and modify its videos federated on an instance GHSA-5j4v-77rx-h5qg

Bug Fixes

  • Update whisper-ctranslate2 package to fix installation on Python 3.12+
  • Fix channel deletion cancel showing success message #7837
  • Fix podcast feed podcast:medium value with audio enclosure preference
  • Fix audio download with a webp thumbnail #7833
  • Fix crash when remote video has no likes/dislikes collections #7836
  • Limit resource usage when generating thumbnails

  •  

Distribution Release: Kali Linux 2026.3

26 Oktober 2026 om 10:31
The DistroWatch news feed is brought to you by TUXEDO COMPUTERS. Kali Linux, a Debian-based distribution built for penetration testing, security research, digital forensics and reverse engineering, has been updated to version 2026.3 - now with build scripts for generating a personalised Kali Linux distribution: "We are back with Kali Linux 2026.3, the third release of the year. We....
  •  

DistroWatch Weekly, Issue 1196

26 Oktober 2026 om 01:41
The DistroWatch news feed is brought to you by TUXEDO COMPUTERS. This week in DistroWatch Weekly:
Review: Ubuntu 26.10
News: Fedora updates virtual console driver, OpenBSD tests new WINE port, installing FreeBSD with web-based installer, SparkyLinux publishes new branch
Questions and answers: Gazing into the future
Released last week: OpenBSD 8.0, siduction 2026.1.0, Distribution Release: Essora Eos 20261021, UBports 24.04-2.2 and 24.04-1.6
Torrent....
  •  

Part-DB 2.20.3

Door: jbtronics
25 Oktober 2026 om 23:05

Caution

There is a significant security issue in PHP known as PHP2Shell (CVE-2026-109618 and CVE-2026-109619), that can allow take over of your server. If you have not done, you should update your PHP immediately to a patched version. If you are using docker, the images of this tag, contain an patched PHP version.

Note

If you are using Part-DB it would be helpful if you fill out this short survey on your usage of Part-DB (Google Forms): https://forms.gle/Q15twx3YYq3qCNfe8

Part-DB 2.20.3

Improvements

  • Optimzed part table database logic
  • Compress PHP responses if modules are available in the webserver
  • Only show languages digikey actually offer for digikey settings

Bug fixes

  • Massively reduced query count and database retrieval time for KiCad category requests (#1610)
  • Removed unnecessary database query on every page load
  • Fix Range intersects Value range filter matching non-overlapping ranges by @SAY-5 in #1622
  • Correctly perform comparisons for amount filter (#1620)
  • Fixed Oauth authentication button on digikey settings page (#1618)
  • Fixed layout issue on old iPad (#1609)
  • Fixed floating point issue on project builds (#1613)

Other changes

  • Updated dependencies
  • Updated dependencies
  • Updated KiCad symbols and footprint list

New Contributors

Full Changelog: v2.20.2...v2.20.3

  •  

8.6.0

Door: cyanfish
25 Oktober 2026 om 22:28

Changes in 8.6.0:

  • New combined Settings window
  • Added toolbar customization (right-click the toolbar > "Customize Toolbar")
  • Batch Scan/Auto Save: Show an error if the file path is missing an extension
  • Added a "Retry" button for errors when saving
  • "Edit with" now shows the icon of the selected app and is visible in the Preview window
  • Escl: "Manual IP" now shows the connection status
  • Mac: Native "Liquid Glass" sidebar in the main window
  • Mac: Added "Apple Driver Implementation" to advanced profile settings (File or Memory transfer)
    • If scanned pages aren't showing, you can try switching to "File Transfer"
  • Improved quality of some icons with hi-dpi screens
  • Added placeholder support (e.g. "$(YYYY)") to PDF metadata
  • Sdk: ImageSharp 4.x compat
  • Bug fixes:
    • Auto-crop: Better handling for black backgrounds
    • Auto-crop: Remove padding added by scanner drivers when the scan size exceeds the sensor
    • Compress: The preview now shows the effects of JPEG quality
    • Windows: Potential fix for crashes in the save dialog
    • Windows: NAPS2.Portable.exe now passes command-line arguments (e.g. for opening a file)
    • Windows: Fixed flicker on startup
    • Mac: Fixed scanning when run from Shortcuts (or with a long TMPDIR)
    • Linux: Fixed "Feeder" scanning both sides with some scanners (e.g. Kodak kds_s2000 driver)
    • Linux: Fixed layout issues
    • Sane: Fixed feeder/duplex selection with some scanners
    • Wia: Fixed an error with devices that don't report their scan area size
    • Fixed file auto-numbering behavior in some cases
    • Fixed an error when using Scale with "Stretch/Crop to page size"
    • Fixed an error with "Always Ask" when selecting a different driver type
    • Fixed an issue with the "All Images" file filter and .jpg files
    • Fixed some PDF import crashes
    • Fixed a broken link to icons in the About window
    • OCR: Fixed an error on some Linux OS's
    • Sdk: Fixed TWAIN hangs with NAPS2.Sdk.Worker.Win32 by running the worker on an STA thread
    • Sdk: Fixed spare worker processes not stopping when disposing ScanningContext

  •  

Mobile OS Releases: UBports 24.04-2.2, 24.04-1.6

25 Oktober 2026 om 17:31
The DistroWatch news feed is brought to you by TUXEDO COMPUTERS. The UBports team has announced an update for their mobile operating system. The new releases focus on fixing certificate issues related to eMudhra, along with a number of small improvements and bug fixes. "These releases are made in response to the eMudhra Intermediate CA Compromise incident. They include....
  •  

HeidiSQL v12.22

25 Oktober 2026 om 15:46

12.22 - 2026-10-25

⛰️ Features

  • New login manager for MS SQL Server, closes #17 - (7ffb2f1)
  • New role manager UI for PostgreSQL, closes #80 - (4267133)
  • Show hints in all controls if set. Same as in master/37d02ea3 - (e07a913)
  • Inject branch commit count as build number at build time - (a8fd18e)
  • Build, sign and notarize macOS app bundle in CI - (cae4e0c)
  • Install Lazarus 4.8 on Windows and macOS runners, drop setup-lazarus action - (46ea9be)
  • Use fully qualified table name in "Select Top x rows" action when a click on it is combined with Shift - (06ab070)
  • Add Linux Qt theme selection - (816a819)

πŸš€ Enhancements

  • Hint at "Send batch in one go" for undeclared variables on MS SQL - (4ed6e5f)
  • Rephrase warning message displayed when a grid edit/delete did not affect any row - (9da8a80)

πŸ› Bug Fixes

  • Firebird access violation on macOS; fail app bundling on missing client libs - (b012582)
  • Correct relative target of firebird.msg symlink - (c80253d)
  • Link bundled firebird.msg from Contents into Resources - (de488ed)
  • Place fbclient in Contents/Frameworks for session manager detection - (400944e)
  • Single rpath and @loader_path rewrites for bundled Firebird client - (c83d850)
  • Move bundled Firebird client to Contents/Resources to satisfy codesign - (512bd5f)
  • Pkgutil --expand requires non-existing target directory - (e546c29)
  • Bundle missing fbclient library in macOS app bundle - (feca7eb)
  • Make "apply filter" and "clear" buttons visually distinguishable - (160187d)
  • Crash when creating event in object editor - (d5ec718)
  • Support InterBase BOOLEAN columns and its missing partial column load. See #2527 - (b572b2f)
  • Only offer matching Firebird or InterBase client libraries - (821c2d4)
  • Interbase/Firebird column types, DEFAULT clause order and SUBSTRING. Closes #2527 - (d9ab3cc)
  • Make build number injection portable to BSD sed on macOS - (620e5b1)
  • Crash when selecting a table on macOS x86_64 - (690972a)
  • Session manager crash on macOS x86_64 from enum dictionary keys - (7c1608e)
  • Repair tab sections with empty name in tabs.ini on restore. See #2637 - (805722c)
  • Blinking caret in query editor after using code completion - (6b1a156)
  • Non-appearing context menus on tree nodes in session manager, table and routine editor - (b280ef0)
  • Visible dropdown arrow on toolbar buttons with dark Qt themes - (84c0f0e)
  • Sort folders and files alphabetically in file open/save dialog - (285cb8b)
  • Prevent slash in session names from corrupting settings import and session clone - (2f21438)
  • Render VirtualTree content at correct size on macOS retina - (832ff89)
  • Missing translation for error message - (a87845f)
  • Indexes created with CREATE INDEX not shown on MS SQL - (8c41545)
  • Hanging query tab and double execution of non-SELECT queries on MS SQL - (a48a722)
  • Use TBlobField.SaveToStream instead of DataStream, unavailable in FPC - (816cbd2)
  • Fetch MS SQL binary column values via TBlobField stream in GetColBinData - (8f34f5f)
  • Wrong hex prefix/postfix for PostgreSQL, insecure break after testing 1024 characters in IsHex - (2b64345)
  • Hide LIKE quick filters in context menu of binary grid values, which would now be broken through quoted hex values - (dc5c5ab)
  • Use correct hex prefix/postfix on MS SQL and PostgreSQL, allow odd length of hex body in MySQL - (bdb27f1)
  • Wrong IsHex result on non-MySQL connections, prevent escaping quotes in SQLite hex values x'aa...' - (29d26b5)
  • Use connection specific hex prefix and postfix when editing binary values in grid - (e06a4ff)
  • Implement TSQLiteQuery.GetColBinData for byte-exact BLOB access - (b49cd3d)
  • Read SQLite BLOB columns via sqlite3_column_blob instead of truncated text - (24b80ba)
  • Assign SQLite procedures sqlite3_column_blob and sqlite3_column_bytes to TSQLiteLib - (707543c)
  • State updated Lazarus 4.8 version used in workflow - (7b0684d)
  • Use Cmd instead of Ctrl for default keyboard shortcuts on macOS - (5aaa0eb)
  • Splitter between query editor and results not draggable on macOS - (1363b16)
  • Invalid JSON export from empty grid result - (f1a1904)
  • Remove invalid -s flag from security set-key-partition-list - (1910c5c)
  • Correct argument order for security set-keychain-settings - (1e108ce)
  • Use plain string for codesign flags instead of empty array (set -u unbound variable) - (9e777d7)
  • Move secrets check from step if: into script (secrets context not allowed in if:) - (072bbb0)
  • Use curl -L with /download suffix for SourceForge installer download on Windows - (2ad4009)
  • Run apt-get update before installing Lazarus debs on Ubuntu - (35e24e8)
  • Re-enable setting width of helpers box on query tabs - (f17d084)
  • Default name for new constraint too long for MySQL - (91ba1d4)
  • Range check error when starting SSH tunnel - (a834721)
  • Keep database nodes expanded on tree refresh, and hide table tabs after dropping the object - (c976d17)
  • Stuck UI after firing query with SQL error on MS SQL - (905eb8f)
  • Access violation on MS SQL connections, after applying filter on data tab - (9a209eb)
  • Make some cancel buttons react on Esc key - (070ea3c)
  • Use newer/renumbered MYSQL_* constants with libmysql v8+ - (aabe034)
  • Preserve Qt tree subclass with standard LFM classes - (81ae758)
  • Keep Lazarus forms designer-compatible - (9e682a1)
  • Backport Lazarus Qt6 HiDPI scaling - (dca7a9a)
  • Avoid cross-thread keep-alive timer access - (ae2b908)
  • Improve VirtualTreeView hints on Qt - (31f5c73)
  • Improve VirtualTreeView interaction on Qt - (1b057bd)
  • Render VirtualTreeView correctly on Qt - (6add51c)
  • Improve Linux font handling - (59a6b09)
  • Bunch of often occurring memory leaks, found by @ArtemRazin - (04d50c5)
  • Require 64bit specific libraries in rpm package, so the client should never decide for 32bit - (b92d253)
  • Crash on macOS while setting listForeignKeys.Width - (6727efc)

🚜 Refactor

  • Consolidate tree drag-start handlers into TMainForm.AnyGridMouseMove - (1d35fab)
  • Replace deprecated SynEdit line color API - (f1775eb)
  • Replace deprecated SynEdit selection API - (d4a57c3)

βš™οΈ Miscellaneous Tasks

  • Keep test-signing for tag builds, rename macOS bundle to upstream scheme - (db843de)
  • Bump LCLVersion to 4.8.0.0 in all forms - (0ae7544)
  • Pin line ending policy in .gitattributes - (9759c5b)
  • Sign tag builds with SignPath release-signing policy, regular builds with test-signing - (1b9cf9a)
  • Make SignPath signing policy configurable via SIGNPATH_SIGNING_POLICY variable - (363f829)
  • Switch SignPath GitHub Action to v3 connector - (3fe7e75)
  • Sign Windows heidisql.exe via SignPath GitHub Action - (1359bce)
  • Upgrade actions to Node.js 24 versions (checkout v6, upload-artifact v6, download-artifact v7, gh-release v3) - (7ea9f11)

Build

  • Update Linux builds to Lazarus 4.8 - (ecc4010)

Localize

  • Update compiled .mo translation files - (d951a28)
  • Update compiled .mo translation files - (55fb44e)

Note

For a list of all the changes up to date, please read CHANGELOG.md.

  •  

Release 2026.10.25

25 Oktober 2026 om 12:31

Docker Images

Docker images have been built and pushed:

Docker Hub:

  • alexta69/metube:latest
  • alexta69/metube:2026.10.25

GitHub Container Registry:

  • ghcr.io/alexta69/metube:latest
  • ghcr.io/alexta69/metube:2026.10.25

Changes

  • fix: report yt-dlp extractor crashes as errors instead of a 500 (closes #1108) (f85df38)
  • build: upgrade Python and frontend dependencies (closes #1109) (09cfda0)

  •  

v1.21.3

25 Oktober 2026 om 12:13

Fixes and improvements

General

  • http: restore support for HTTP2 requests (#6320) The server was not advertising the HTTP2 protocol in TLS ALPN anymore. Fix this.
  • forward: match destinations by configuration when reloading (#6299) ReloadConf compared the old and new destination lists by position, so removing a destination from the middle of the list shifted all the following ones, which were therefore considered changed and restarted (dropping and re-establishing their connections). Match destinations by their configuration instead: adding, removing or reordering destinations only starts or stops the affected ones, and the others keep running. The position reported by the API and used in logs is updated for the destinations that are kept.
  • avoid forward destination overlapping (#6324) When the configuration changes and forward destinations are changed, create new forward destinations only after closing existing ones, avoiding double publishers.
  • http: log outbound requests (#6325) log outbound HTTP requests with logLevel debug, in the same way as HTTP inbound requests are already logged.
  • fix race condition during logger recreation (#6206) (#6326) The logger can be dynamically recreated (for instance, this happens when changing the logLevel), but some components always need it, in particular hooks, which are not shut down unless the entire server is shutting down. Fix this issue by safely reloading the logger configuration without destroying it.
  • document link-local IPv6 zone encoding (#6327)
  • recorder: fix different time zones in record segment name (#5451) (#6333) Absolute timestamps of frames can have different time zones, in particular, timestamps from HLS sources arrive with their original time zone. When an absolute timestamp is not available, gohlslib uses time.Now(), which has the local time zone, resulting in streams with timestamps with different time zones. Timestamps are used in names of record segments, but they were not normalized and were written with their original time zone, causing confusion and errors in particular when the '%z' placeholder is not used. Fix the issue by normalizing every incoming date to the local time zone before using it as name of a segment.
  • add timezone to default recordPath and warn when not present (#6334) recordPath without %z causes segments to be overwritten or placed at wrong time during daylight saving time switches.
  • rtmp, recorder, stream: treat H264 recovery point SEI as random access (#6349) Streams without IDR frames use I slices with a recovery point SEI as random access points. The RTMP reader output and the fMP4 recorder only accepted IDR, and the unit remuxer only prepended SPS and PPS on IDR, so the DTS extractor never received an SPS. Use h264.IsRandomAccess, as the MPEG-TS outputs already do.
  • mpegts, rtmp: stop silently skipping H264 units without IDR and without non-IDR (#6354)
  • recorder: fix height of VP9 tracks in fMP4 recordings (#6359) The fMP4 recorder took the height of a VP9 track from the width in the key frame header, so the init segment declared a square size, for example 1920x1920 instead of 1920x804. Use the height instead.
  • docs: suggest to run MediaMTX in a writable folder (#6369) * when running in Docker, use /etc/mediamtx * when running in host Linux, use /usr/local/etc/mediamtx
  • recorder: fix timestamps of MPEG-1/2 Audio tracks in fMP4 recordings (#6361) The DTS of every sample was computed as the unit PTS plus the unit PTS, so sample durations in the recording were twice the real ones, and the frames of a unit that holds several of them got the same timestamp. Advance the PTS by the duration of each frame instead, and move the NTP of each frame by the same offset, as the Opus, MPEG-4 Audio and AC-3 cases do.
  • recorder: prevent a stream-time discontinuity from inflating fMP4 segment duration (#5984) When an RTP timestamp discontinuity occurs (e.g. after a burst of packet loss), the gap between two consecutive samples can be enormous. In the fMP4 recorder that gap is written as the preceding sample's duration (sample.Duration = nextSample.dts - sample.dts), which pushes the segment's endDTS -- and therefore the duration stamped into the mvhd header and reported to runOnRecordSegmentComplete -- forward by the size of the gap. The existing NTP-vs-stream-time drift detector (added in #5239) only fires on the next sample, by which point the inflated segment has already been flushed and reported (a ~1-minute clip reported as multiple hours). Detect the discontinuity one sample earlier: when the next sample's stream time has drifted from absolute time beyond the tolerance, zero the current sample's duration so the segment is not inflated. The drift detector then resets the recording on the following sample as before. mpegts is unaffected (it checks drift against the current sample before touching the segment). Complements #5126 (negative diff) and #5239 (drift reset).
  • close sessions when their JWT expires (#4300) (#5813) (#6389)
  • allow HTTP authentication to set a session expiration date (#6391)
  • record: fix segments never deleted when the configuration is reloaded often (#6256)
  • exit in case of fatal listening errors (#6415)
  • stream: fix 8-channel AAC always-available tracks refusing 7.1 publishers (#6414) With an always-available MPEG4Audio track of channelCount 8, a 7.1 AAC publisher is refused with "MPEG-4 audio configuration does not match". The track uses channel configuration 8, which is reserved, while the publisher's configuration is 7. Channel configuration 7 stands for 8 channels. Use configuration 7 for an 8-channel track. Other channel counts are unchanged.
  • fix routine leak in CertLoader (#6261) (#6417) make CertLoader.Close() to wait for CertLoader.watch()
  • mpegts: fix reading tracks with big video frames (bluenviron/mediacommon#393) (#4791) Big video frames delay audio packets, which are needed to parse tracks. Increase maximum buffer size to account for that.
  • mpegts: stop validating AC-3 / EAC-3 frames (bluenviron/mediacommon#395) Validating AC-3 / EAC-3 frames is not important for the MPEG-TS parser to work and decreases performance.

API

  • add endpoints to manage internal users (#6293) Add dedicated endpoints to manage specific users without the need of calling config/global/patch with the entire user list, in particular: /v3/config/internal-users/list /v3/config/internal-users/get/{id} /v3/config/internal-users/add /v3/config/internal-users/patch/{id} /v3/config/internal-users/replace/{id} /v3/config/internal-users/delete/{id}
  • prevent using internal-users/list with deprecated credentials (#6368)
  • fix global/patch with webrtcICEServers or credentials (#6362) (#6365) When the deprecated webrtcICEServers parameter is set, webrtcICEServers2 is filled automatically, but the latter prevents the former from being set through global/patch. Fix this. The same applies to deprecated credentials (readUser, readPass, publishUser, publishPass) and authInternalUsers.
  • expose users of MoQ sessions (#6390)
  • fix channel count of 8-channel MPEG-4 Audio tracks (#6405) When a path carries an MPEG-4 Audio track with channel configuration 7, for instance AAC in the 7.1 layout, the track is listed with "channelCount": 7 in the codecProps of the tracks2 field of the path API, while it has 8 channels. Tracks with 1 to 6 channels are listed correctly. Channel configuration 7 stands for 8 channels, while the values 1 to 6 are equal to the channel count. Report 8 for configuration 7.
  • add duration to fmp4 record segments (#6412)

Media-Over-QUIC

  • send client SETUP without waiting for server one (#6396)
  • log every inbound and outbound message (#6404)
  • fix channel count of 8-channel MPEG-4 Audio tracks (#6406) A MoQ client reading a 7.1 AAC path gets "channels": 7 in the catalog, while the track has 8 channels. A MoQ source or publisher sending "channels": 8 gets channel configuration 8, which is reserved. Channel configuration 7 stands for 8 channels. Report 8 for configuration 7 and use configuration 7 for 8 channels, so a relay of a 7.1 track keeps configuration 7. Other values are unchanged.
  • support draft-22, draft-21, draft-20 (#6403)

RTMP

  • preserve tcURL query when appending stream key (bluenviron/gortmplib#133) Parse the tcURL and stream key separately before joining their paths so existing tcURL query parameters remain attached to the final URL. Merge stream-key query parameters, preserve escaped paths, and avoid populating RawPath when no custom escaping is required.
  • support leading question mark in stream key (bluenviron/gortmplib#141)
  • Expose ErrReaderUnpublish to handle graceful shutdown on MediaMTX (bluenviron/gortmplib#139) * Expose ErrReaderUnpublish to handle graceful shutdown on MediaMTX * Add patch coverage to ErrReaderUnpublished

HLS

  • fix MPEG-TS variant failing on streams with Opus tracks (#6387) With hlsVariant set to mpegts, a stream that carries an Opus track, for instance H264 and Opus published through WebRTC, could not be read through HLS. The muxer failed to start with "the MPEG-TS variant of HLS supports MPEG-4 Audio only" and playlist requests got a 500 error, so the video was unreadable too, while other tracks that HLS cannot carry are skipped with a warning. Skip the audio tracks that are not MPEG-4 Audio when the variant is MPEG-TS, as setupDataTracks already does for KLV tracks. A stream whose only track is such an audio track now returns ErrNoSupportedCodecs instead of failing when the muxer starts.
  • fix MPEG-TS variant failing on streams with several audio tracks (#6394) With hlsVariant set to mpegts, a stream that carries two MPEG-4 Audio tracks, for instance H264 and two AAC tracks received through MPEG-TS over SRT, could not be read through HLS. The muxer failed to start with "the MPEG-TS variant of HLS supports a single audio track only" and playlist requests got a 500 error, so the video was unreadable too, while other tracks that HLS cannot carry are skipped with a warning. Skip the MPEG-4 Audio tracks that follow the first one when the variant is MPEG-TS, like the audio tracks of other codecs that this variant cannot carry.
  • muxer: support H264 recovery points (bluenviron/gohlslib#403)
  • muxer: stop silently skipping H264 units without IDR and without non-IDR (bluenviron/gohlslib#405)
  • add AI warning (bluenviron/gohlslib#406)

WebRTC

  • prevent using webrtcICEServers and webrtcICEServers2 together (#6367)

UDP

  • support interface=all for multicast sources (#6253) restore support for listening for UDP multicast packets on all multicast-capable network interfaces. To do so, add the interface=all parameter to the end of a UDP multicast URL when configuring the source.

RPI Camera

Dependencies

  • code.cloudfoundry.org/bytefmt updated from v0.92.0 to v0.95.0
  • github.com/bluenviron/gohlslib/v2 updated from v2.4.6 to v2.4.7
  • github.com/bluenviron/gortmplib updated from v1.0.4 to v1.0.5
  • github.com/bluenviron/mediacommon/v2 updated from v2.9.6 to v2.9.7
  • github.com/gookit/color updated from v1.6.1 to v1.6.3
  • github.com/matthewhartstonge/argon2 updated from v1.6.3 to v1.6.4
  • github.com/pion/ice/v4 updated from v4.4.5 to v4.4.8
  • github.com/pion/webrtc/v4 updated from v4.2.22 to v4.2.24
  • github.com/pires/go-proxyproto updated from v0.15.0 to v0.16.0
  • github.com/quic-go/quic-go updated from v0.63.0 to v0.64.1
  • golang.org/x/crypto updated from v0.57.0 to v0.58.0
  • golang.org/x/sync updated from v0.23.0 to v0.24.0
  • golang.org/x/sys updated from v0.48.0 to v0.49.0
  • golang.org/x/term updated from v0.46.0 to v0.47.0
  • github.com/pion/dtls/v3 updated from v3.1.9 to v3.1.13
  • github.com/pion/sctp updated from v1.11.3 to v1.12.0
  • golang.org/x/net updated from v0.59.0 to v0.61.0
  • golang.org/x/text updated from v0.42.0 to v0.43.0
  • github.com/bluenviron/mediamtx-rpicamera updated from v2.9.0 to v2.9.1

Security

Binaries are compiled from source code by the Release workflow, which is a fully-visible process that prevents any change or external interference in produced artifacts.

Checksums of binaries are also published in a public blockchain by using GitHub Attestations, and they can be verified by running:

ls mediamtx_* | xargs -L1 gh attestation verify --repo bluenviron/mediamtx

You can verify checksums of binaries by downloading checksums.sha256 and running:

cat checksums.sha256 | grep "$(ls mediamtx_*)" | sha256sum --check

  •  

v1.17.2 - Draft Security Fix, Safari Push & Plugin Tag Updates

Door: rathlinus
24 Oktober 2026 om 23:07

1.17.2 (2026-10-24)

1.17.2 fixes a cross-site scripting hole in re-opened drafts and keeps Safari from dropping push subscriptions after pushes that had nothing new to show. Drafts written as a group identity now stay in the group's Drafts, and bulk delete, trash and move with several accounts on different servers act on the right server. Plugins can update and remove their own tags, format dates in the user's regional settings and put buttons beside a sidebar section's title. User-facing texts use the configured app name instead of "Bulwark".

Thank you for your donations:

One-time

Monthly

Security

  • Composer: The quoted original and the signature in a re-opened draft are sanitized before they render. A draft written by another client, or by another member of a shared mailbox, could carry markup that ran script in the webmail when you opened it (GHSA-g35q-3gpc-x2rr, thanks @muhammad-zeeshan1337)

Features

  • Plugins: Plugins can change the label, colour and visibility of the tags they added and remove them again with keywords.update and keywords.remove. Both need settings:write and never touch the user's own tags or another plugin's (#1333, thanks @HOLOEYE-JZ)
  • Plugins: Plugin frames get the user's date locale, 12/24-hour setting, time zone and first day of the week, and can format with api.i18n.formatDate and api.i18n.formatTime, without asking for settings:read (#1335, thanks @tobiasge)
  • Plugins: A new sidebar-section-actions slot puts a plugin's buttons beside its sidebar section's title instead of in a row below it (#1317, thanks @LeonardNJU)
  • Admin: A policy switch lists the Tags above the shared mailboxes in the sidebar, so they stay in sight when many shared mailboxes are expanded. It is off by default (#1334, thanks @HOLOEYE-JZ)
  • Branding: Default apps in Settings, the "Open Bulwark" notification, the rate-limit banner, the plugin connect dialog and the connector page use the configured APP_NAME, and the settings search finds them by it (#1314, thanks @ghozty)

Fixes

  • Push: Every push ends with a notification, also one that brings nothing new (a redelivery, mail already read or already announced), and a slow preview gives way to the generic notification after 10 seconds. Safari treats a push without a notification as silent and drops the subscription after three (#1322, thanks @oguzyilmaznet)
  • Mail: A draft written as a group identity is saved in the group account's Drafts, where its Sent copy also goes, instead of in your own (#1090, thanks @hildebrandttk)
  • Mail: A sub-address of your own address (you+tag@) sends from your account, even when a shared catch-all account has a wildcard identity for the domain
  • Mail: Bulk delete, trash and move send each message through the login that owns it. With accounts on two servers that use the same account id, they went through the first login and could hit an unselected message on the other server (#1307, #1326, thanks @VasilisNtovolos)
  • Mail: Dragging several messages out as a ZIP fails with a message when one of them can't be fetched, instead of leaving it out, and the same selection can be tried again (#1306, thanks @VasilisNtovolos)
  • Tasks: A task alert relative to the start fires from the task's start instead of its due date. A task without a start still counts from its due date (#1328, thanks @ClapsAndJiggles)
  • Plugins: Plugins installed by the admin are listed in browsers that can't cache their code, such as some private windows (#1327, thanks @ovizii)
  • i18n: The Ukrainian "Forward" and "Move to" are translated as the actions, not as "ahead" and "go to" (#1311, thanks @vladonv)

  •  
❌