UniFi Network Application 11.0.97 requires UniFi OS 6.0 or newer.
Improvements
Improved application stability.
Revoked compromised eMudhra CA certificates.
Bugfixes
Fixed an issue where the Site filter in the Site Manager System Logs was not working.
Fixed an issue where more than three latency monitors could appear on the Dashboard.
Additional information
ย
Self-Hosted UniFi Deployments
For self-hosted deployments, we recommend transitioning to UniFi OS Server, which provides the full UniFi OS Platform experience, including the latest features, improvements, and integrations.
UniFi Cloud Gateways remain our recommended solution for deployments that do not require self-hosting.
Going forward, we recommend users upgrade toย UniFi OS Serverย for all self-hosted deployments. It provides the full UniFi OS Platform experience, ensuring you receive the latest features, improvements, and integrations.
UniFi Network Native Application for UniFi OS
Compatible with UDM, UDR, UDR7, UDR 5G Max, Express, Express 7, and UCG models (Ultra, Max, Fiber, and Industrial) on UniFi OS 3.1.6 or later. UDM-Pro, UDM-SE, and UDW have been using it since UniFi OS 5.1.5.
The UniFi OS update utilizes the application version compatible with your console.
The manual update process via SSH requires a compatible package. Incompatible packages will be rejected on installation.
Older UniFi OS versions (prior to UniFi OS 3.1.6) on the UDM and UDR continue to utilize the standard UniFi Network Application for UniFi OS.
Railpack builds no longer leave an idle BuildKit builder running (#12097, fixes #11770, #12077)
Environment variable values are now passed to containers exactly as entered, and existing variables keep the old escaping (#12024, fixes #7635)
Build pack variables set at start time are kept in the runtime environment (#12025, fixes #11628)
Transient GitHub token and clone failures are now retried
Same-repository PR previews deploy regardless of the author association
GitHub watch paths now use the net change of a push and paginate PR files
GitHub webhooks are routed to the source of their app installation
Closed Bitbucket, GitLab, and Gitea pull requests are cleaned up after a target branch change (#12008, #12012, #12013, fixes #12007, #12010, #12011)
Compose preview storage records are deleted on cleanup (#12006, fixes #12005)
Preview URL templates no longer have a doubled scheme
Locally built Compose images are no longer pulled before a stop
A deployment timeout now logs the configured timeout
Deploy key setup works with a custom SSH username, and ssh:// repository URLs accept custom ports
GPU settings now work in Docker Compose deployments
Docker Compose and storage
Compose environment variable semantics are preserved (#11794, fixes #12057)
Long bind options and non-creating bind sources are preserved (#12135, fixes #11882, #12036, #12079)
${VAR:-default} bind sources are resolved, and long-form bind sources with variable or vault references are kept (#12227, fixes #8854)
../ bind sources are resolved in raw Compose mode
A UTF-8 BOM is removed before Compose YAML is parsed (#12223, fixes #6777)
Compose commands use explicit file paths and remove volumes by name (#12199)
Quoted and hyphenated custom Docker option values are parsed correctly (#12208, fixes #8173)
SERVICE_URL_* stays on the named service domain, and a SERVICE_FQDN_ twin is treated as a copy
Service URLs set through the API persist across Compose re-parses
Proxy and domains
Running proxy status from Sentinel push updates is saved (#12237, fixes #11539)
Server-Sent Events streams are excluded from Traefik compression (#12229, fixes #5586)
The proxy check requires the coolify-proxy container name outside Swarm (#12225, fixes #7083)
sslip.io domains resolve the server hostname to an IP
noindex is applied to domains that include a port
Absent Let's Encrypt resolvers are cleared during migration
Backups and scheduled tasks
PostgreSQL healthchecks and backups set PGPASSWORD (#12224, fixes #6353)
Backups use the configured databases when the container environment is missing (#12212, fixes #9417)
S3-only volume backups send Content-MD5 for Object Lock buckets (#12215, fixes #12211) and no longer panic in the mc pipe
Volume backups accept tar exit code 1 and skip containers removed during the scan
Scheduled tasks run only in running application containers (#12226, fixes #7377) and skip a run while the previous run is still active
Deleting a scheduled task no longer shows a 404
Backup tables show exact execution times and sort again
API
The fqdn field rejection now points to domains on application writes (#12217, fixes #9502)
force_domain_override is honored for docker_compose_domains on create (#12032, fixes #12031)
Application updates accept dockerfile and github_app_uuid
Database updates apply redis_password and instant_deploy
Service creation accepts connect_to_docker_network
API token creation for MCP works when the REST API is disabled
Servers, Sentinel, and upgrades
Upgrades keep Coolify running when Docker reports IPv6 gateways with a prefix
Rate-limited image pulls are retried and automatic updates are spread over time
The installer no longer restarts Docker with running containers, handles a stopped Docker daemon, and changes data directories only after checks and downloads (#12050)
Sentinel starts on servers with a userns-remap Docker daemon
OS derivatives are accepted through ID_LIKE in server validation
SSH multiplexing orphans are reaped by socket ownership
Docker cleanup removes old Coolify images on Docker 29 and fails executions orphaned by a killed worker
Unreachable servers no longer block dashboard metrics charts
Manually set instance public IPs are kept on restart
Failed server validations are rate limited on Coolify Cloud
Templates that used removed MinIO images now use pgsty/silo
Containers connect to the predefined network before they start
The container terminal works for degraded services
The Website button links to the project page
Other
Interactive terminal programs no longer leak CPU after close (#12230, fixes #6125)
Telegram test notifications show API errors (#12219, fixes #9978)
Notification and log drain fields are required only when enabled (#12232, fixes #5631, #6123)
Notification channels are disabled after repeated configuration failures
Server names with whitespace work in log drains (#12239, fixes #6406)
The manual Git webhook form is hidden for non-Git resources (#12218, fixes #7514), and GitLab App sources show the webhook setup
Switched teams persist when concurrent requests save the session
Database custom configurations apply on servers with a strict umask
Firefox tab restore no longer switches the theme to custom
Log deployment and service menus stay open on live updates
Fullscreen logs now show above the sidebar and top bar
Improvements
Refreshed the dark mode with the coolLabs purple brand (#12277)
Strengthened secret redaction in logs, with admin controls (#12151)
Reorganized resource settings and domain port editing
Showed the full file path inline and warned about a repeated base directory (#12081)
Backup views now refresh live
Marked Nixpacks as deprecated and recommended Railpack
Added a Projects page to the sidebar and refreshed cards, sidebar, and canvas layouts
Linked to the related settings where a disabled API or a missing GitHub App blocks a feature
Updated Traefik to 3.7.16 and 2.11.60
Removed the Sentry integration
Breaking Changes
API tokens now need the deploy ability to run scheduled tasks, change the proxy or custom log drains, and trigger server side effects such as resource deletion, storage access, provider operations, and database imports (#12194, #12198)
API backup execution messages are hidden unless the token has the read:sensitive or root ability (#12151)
Removed the POST /api/v1/enable API endpoint (#12163)
Docker Compose files with scale or replicas greater than one are now rejected (#12213, fixes #5480)
Schrijven over haar verlies is voor Anouk de Valk een schuilplaats. Ze leest aan Matthijs voor wat zij recht vanuit haar hart op Substack heeft geplaatst.
In deze aflevering praten we over zelfdoding. Denk je aan zelfdoding, of maak je je zorgen om iemand anders? Je kunt 24/7 gratis en anoniem contact opnemen met 113 Zelfmoordpreventie via 113, of chat via 113.nl.
๐ง De aflevering van Schuilen in Schoonheid met Anouk de Valk is nu overal te beluisteren. De directe link vind je in onze bio.
In deze aflevering hebben Diederik en Krijn twee gasten van de podcast Met Nerds om Tafel, ook bekend als MNOT. Het gesprek is met Randal Peelen en Jurian Ubachs en we hebben het over zowel echte Scientias-onderwerpen als onderwerpen voor echte nerds. Een mooie cocktail met voor ieder wat wils. ย
Meer wetenschap? Lees de nieuwste artikelen op Scientias.nl .
In deze aflevering hebben Diederik en Krijn twee gasten van de podcast Met Nerds om Tafel, ook bekend als MNOT. Het gesprek is met Randal Peelen en Jurian
We are pleased to announce the latest stable release of Jellyfin, version 12.3! This minor release brings several bugfixes to improve your Jellyfin experience. As always, please ensure you take a full backup before upgrading!
We are pleased to announce the latest stable release of Jellyfin, version 12.3! This minor release brings several bugfixes to improve your Jellyfin experience. As always, please ensure you take a full backup before upgrading!
ย The Stable channel has been updated to 157.0.8103.15/.16 for Windows , Mac will be coming shortly as part of our early stable release to a small percentage of users. A full list of changes in this build is available in thelog.
You can find more details about early Stable releases here.
Interested in switching release channels? ย Find out how here. If you find a new issue, please let us know by filing a bug. The community help forum is also a great place to reach out for help or learn about common issues.
Dependencies: Next.js 16.4.2 and DOMPurify 3.4.17 fix six published advisories, three of them critical. None of them reached Bulwark: the webmail has no use cache functions and no Server Actions, its image optimizer refuses SVG and runs on sharp 0.35.5, which already carries the fix, and the mail sanitizer uses none of the DOMPurify modes the bypasses need (SAFE_FOR_TEMPLATES, IN_PLACE, XHTML parsing). Updating is still recommended
1.17.1 stops the background-notifications prompt from asking you to turn push on while the app is still restoring a subscription the browser dropped, and an open tab now repairs a dropped subscription on its own. The message list stays within the screen on phones, and a browser that was already signed in hands a mobile sign-in to the app again.
Dependencies: vitest 4.1.12 and vite 8.3.5 (npm audit)
Fixes
Push: The background-notifications prompt waits for the background re-sync and only asks if push is still off afterwards, instead of appearing while the app is restoring a subscription Safari dropped (#1321, thanks @oguzyilmaznet)
Push: A tab that stays open notices when the browser drops or replaces its push subscription and registers the new one at once, and coming back to the tab recreates a lost subscription instead of waiting for the next reload (#1321)
Mobile: On phones, the message list is never wider than the screen, so the header's buttons, each row's date and the subject's ellipsis stay on screen and the selection toolbar compacts its buttons
Login: A mobile sign-in opened in a browser that was already signed in keeps the sign-in form and hands the sign-in to the app, instead of opening the mailbox and leaving the app stuck in its sign-in sheet
VersityGW Security Update: Go crypto/x509 Certificate Distrust
This release updates VersityGWโs Go toolchain to include Goโs fix for CVE-2026-111943 (Go issue 82345). The fix blocks certificate chains containing compromised eMudhra intermediate certificates.
VersityGW uses Goโs certificate verification when connecting to TLS-protected services, including S3-compatible storage, IAM/OIDC providers, Vault, LDAP, and webhooks. Before the fix, a network attacker able to intercept or redirect one of these connections could potentially use a certificate issued through an affected intermediate to impersonate the service. After the update, Go rejects those chains, and connections to endpoints still presenting them may fail until their certificates are replaced.
This fix applies to binaries rebuilt with a patched Go toolchain. Go 1.26.10 and Go 1.27.3 contain the fix; use a later patched release if available. Existing VersityGW binaries must be rebuilt and redeployed. Connections configured to skip certificate verification do not receive this protection. These release artifacts are built with Go 1.27.3.
Action: Upgrade to this VersityGW release and redeploy. If you operate a TLS endpoint that VersityGW connects to, confirm its certificate chain does not use a distrusted intermediate.
Changelog
5fd3386 chore(deps): bump github/codeql-action from 4.38.2 to 4.38.3
53fdd1b chore(deps): bump github/codeql-action from 4.38.3 to 4.39.0
2bece2f chore(deps): bump the dev-dependencies group with 38 updates
626ec9a chore(deps): bump the dev-dependencies group with 8 updates
9503489 docs(helm): note tpl caveats for extraObjects
1f7e6dd feat(helm): add extraObjects for additional manifests
a987fb2 feat: run functional tests on FreeBSD in CI
1207dd1 fix(posix): make the listing skip-directory list configurable
c07ffdc fix(webui): send the LocationConstraint when creating a bucket outside us-east-1
7662573 fix: accept HTTP dates for LastModifiedTime in DeleteObjects
9debca3 fix: echo the client ETag in InvalidPart errors and stop duplicating request ID headers
a7b91dd fix: honor encoding-type=url in ListObjects and ListObjectsV2
Thank you to SMRehan, who landed a (disabled by default) mode that lets Picture-in-Picture open when the browsing window is occluded (as opposed to when changing tabs).
This can be tested by setting media.videocontrols.picture-in-picture.enable-when-occluded.enabled to true
Removed the colorway migration code and the about:addons UI informing users about colorways on AMO โ Bug 1990883
Thanks to Jason Birchall (from AMO engineering) for collaborating with us on this.
As part of about:addons Nova restyling followups
Parameterized the built-in theme preview images, and fixed the default theme previews rendering with the wrong colors when about:addons uses the opposite color scheme (regression introduced and fixed within Firefox 158) โ Bug 2070289 / Bug 2074428
Thanks to Emilio Cobos รlvarez for driving the theme preview parameterization.
Fixed the Nova theme preview gradients being mirrored in RTL locales โ Bug 2073245
Hid the (non-localized) theme card descriptions in the about:addons themes list view, fixed in Firefox 158 and uplifted to Firefox 157 โ Bug 2071337
Fixed the per-add-on-card message bar styling in about:addons to better match the Nova designs โ Bug 2079672
Avoided redundant AMO metadata update checks when the app locale is unchanged โ Bug 2052032
Added options to AddonManager.getInstallForURL to validate the add-on type, id and/or version before installing โ Bug 1973071
Dictionary add-ons are now required to be signed, starting in Firefox 160 โ Bug 1753276
WebExtensions Framework
As part of work to refactor about:newtab built-in widgets in their own privileged extensions, allowed about:newtab pages to load extension pages as subframes without listing them in web_accessible_resources โ Bug 2070235
Improved pref handling in the test_ext_contentscript_module_import.js xpcshell test by using pref_set โ Bug 1986064
Thanks to Ivan Smagin for the cleanup in the content script module import test.
WebExtension APIs
Fixed publicSuffix.isKnownSuffix to throw for invalid host names, in line with the API proposal, MDN and Chromium โ Bug 2066620
Hubert Boma Manilla (:bomsy) is working on adding support for speculation rules in DevTools. Prefetched requests can now be identified in the Netmonitor (#2077519) and he plans to add more information about speculations rules in a dedicated tab in the Application panel (#2077995, #2078853)
Henrik Skupin improved the handling of recommended preferences for automation to use the default branch, preventing them from leaking into subsequent Firefox sessions.
Weโre testing a few different layout variations in the wild โ one of them is a few different takes on โspacesโ:
The MCAB search input is currently being deployed to a small population in the wild to see how it works / is received
A train-hop is scheduled to be deployed this week which should make widgets available for all users (though for most users, these will be disabled by default โ theyโll be available to enable in the customize panel).
Maxx Crawford updated per-widget Jest fixtures for Stocks, Privacy and Picture of the Day to omit the widgets.enabled flag in test setups Per-widget Jest fixtures for Stocks, Privacy and Picture of the Day omit widgets.enabled, which aligns test fixtures with runtime enablement behavior and reduces CI flakes and regression risk for those widgets; there is no runtime UI change for end users but widget rendering tests should be more reliable.
Maxx Crawford removed the Sports widget from the New Tab Page and widget picker, which directly removes sports headline/cards from usersโ NTP experience (users who had Sports selected will no longer see it) and slightly reduces client-side DOM/paint work and widget surface area for future NTP changes. It also removed about 1MB of image / video assets from the omni.ja / newtab XPI.
Nina Pypchenko [:nina-py] re-ordered New Tab settings in about:preferences, improving discoverability by placing New Tab controls in a more consistent, prominent location for users managing Start Page options.
Maxx Crawford updated WallpaperFeatureHighlight to allow for alternate strings to be injected so the New Tab wallpaper feature highlight UI can show injected copy variants (for localization or experiments), which directly changes the text users see in the wallpaper picker/highlight flow and should be monitored for clarification/regression in impressions and CTA click rates.
Brendan Birdsong moved newtab score storage to PersistentCache, persisting scores across sessions and reducing recompute/lookup latency so personalized selections are more stable and faster to load.
Dre used useWidgetTelemetry in the Weather widget to standardize telemetry for the Weather widget (New Tab Page), improving diagnostic signals that help us find and fix user-facing widget issues faster.
kpatenio landed a few patches to make keyboard navigation better when the playback speed control is enabled (Bug 2055070, Bug 2074319).
As of Nightly 159, the PiP player UI has been updated for Nova. Aside from being visually consistent with Nova, scrubbers and settings panels now have better contrast on High Contrast Mode.
Search and Urlbar
Urlbar
Dao landed a patch to show the โSearch tabsโ keyboard shortcut in the search mode switcher menu: 2078113
Logan Rosen changed the Accel+Shift+A shortcut from the Add-ons Manager to Search Tabs: 1666654. Dao followed up by notifying people who used the old shortcut that it moved and revised the wording of that message: 2077823, 2079208
James added an option to skip the menu when tabbing through the address bar, in both the address bar and the preferences page: 2064708, 2068609
Dao fixed a bug so that entering an address in search mode now navigates to that URL: 2036347
Dao fixed two urlbar.bounce telemetry bugs: 2069403, 2076827
Caleb fixed a bug where the address bar results dropdown covered the calculator tail150 game: 2077358
Daisuke fixed a bug where search terms in the address bar moved when pressing Enter or when edited: 2074921
Dao fixed the search engine button being cut off in the Search dropdown with Nova enabled: 2074871
Daisuke fixed the search switcherโs active button color being too strong with low text contrast in Nova: 2068504
Emilio fixed the Quick Actions background button missing in the Light theme on Ubuntu in Nova: 2076191
Moritz continued with MCAB (multi-context address bar) follow-on work: 2078231, 2078658, 2078672.
Moritz also enabled TypeScript type checking for UrlbarView and UrlbarBaseInput: 2077545, 2077543
Dao significantly improved the address bar docs, including how to add a new search surface end to end, how results and providers work across the process boundary, and how to debug and log the address bar:
ย Search
Caleb fixed a bug where the address bar swallowed the first character typed into it if you typed too quickly: 1953361
Mark continued working on the new search config, search-config-v3: 2063279, 2063264
Places
Dao fixed a bug where the bookmark creation/editing panel had no keyboard shortcut mnemonic for the Save button: 1877510
Storybook/Reusable Components/Acorn Design System
Dialogs in about: pages now match Nova designs more closely
Moz- widgets should now have types found when querying the element with document.querySelector(โmoz-buttonโ) and TS is configured
A11y fixes for profiles dialog, page nav keyboard handling (no longer steals Ctrl+arrows)
Below are development builds with the latest fixes and improvements. Please test them thoroughly and report problems immediately, so that any regressions can be fixed in time for next stable release.
Latest development build: 2.8.4.25 (October 23rd 2026)
#2232: [bug]: Update pjsip_options.c WebSocket contacts results in PJSIP_EUNSUPTRANSPORT
Commits By Author:
Mike Bradeen (1):
res_pjsip: Preserve target hostname for qualified OPTIONS destination
Commit List:
res_pjsip: Preserve target hostname for qualified OPTIONS destination
Commit Details:
res_pjsip: Preserve target hostname for qualified OPTIONS destination
Author: Mike Bradeen
Date: 2026-10-16
As Asterisk now does the endpoint resolution manually, we need to also manually
copy the hostname from the resolution target as PJProject only does this when
resolving the endpoint itself.
Upgraded the bundled Bun runtime to 1.4.4, which includes security fixes for Brotli, TLS, HTTP/1.1, HTTP/2, HTTP/3, WebSocket, and fetch, and updates root certificates to NSS 3.131.1.
#2232: [bug]: Update pjsip_options.c WebSocket contacts results in PJSIP_EUNSUPTRANSPORT
Commits By Author:
Mike Bradeen (1):
res_pjsip: Preserve target hostname for qualified OPTIONS destination
Commit List:
res_pjsip: Preserve target hostname for qualified OPTIONS destination
Commit Details:
res_pjsip: Preserve target hostname for qualified OPTIONS destination
Author: Mike Bradeen
Date: 2026-10-16
As Asterisk now does the endpoint resolution manually, we need to also manually
copy the hostname from the resolution target as PJProject only does this when
resolving the endpoint itself.
#2232: [bug]: Update pjsip_options.c WebSocket contacts results in PJSIP_EUNSUPTRANSPORT
Commits By Author:
Mike Bradeen (1):
res_pjsip: Preserve target hostname for qualified OPTIONS destination
Commit List:
res_pjsip: Preserve target hostname for qualified OPTIONS destination
Commit Details:
res_pjsip: Preserve target hostname for qualified OPTIONS destination
Author: Mike Bradeen
Date: 2026-10-16
As Asterisk now does the endpoint resolution manually, we need to also manually
copy the hostname from the resolution target as PJProject only does this when
resolving the endpoint itself.
#2232: [bug]: Update pjsip_options.c WebSocket contacts results in PJSIP_EUNSUPTRANSPORT
Commits By Author:
Mike Bradeen (1):
res_pjsip: Preserve target hostname for qualified OPTIONS destination
Commit List:
res_pjsip: Preserve target hostname for qualified OPTIONS destination
Commit Details:
res_pjsip: Preserve target hostname for qualified OPTIONS destination
Author: Mike Bradeen
Date: 2026-10-16
As Asterisk now does the endpoint resolution manually, we need to also manually
copy the hostname from the resolution target as PJProject only does this when
resolving the endpoint itself.
Weโre excited to share that the 1.62 Open Beta for Euro Truck Simulator 2ย is now available for players to try out. If you decide to join the beta, weโd really appreciate it if you report any bugs or issues you encounter in the appropriate section of our official forums.
Your feedback plays a huge role in helping us improve the game, and we truly value the time and effort you put into testing these new features and changes.
DAF XG+ Emerald, Sapphire & 30 Years in Czechia Editions
With the release of the 1.62 update, we are releasing three new editions of the DAF XG+! The Emerald and Sapphire Editions bring distinctive green and blue paint jobs, exclusive exterior accessories, and specially designed interiors, offering drivers a stylish new way to personalise their trucks.
The third addition, the DAF XG+ 30 Years in Czechia Edition, celebrates three decades of DAF in the Czech Republic with a special anniversary design, unique exterior details, and an exclusive interior featuring dedicated upholstery and stitching. You can find out more in our blog post here.
New Garages
We are introducing new truck garage models across the entire base map and all map DLCs, so youโll be able to enjoy these refreshed garages wherever you go. The new garages feature updated visuals both in the interior and exterior, with greater attention to detail and a more modern, immersive feel. We hope this will make upgrading your garage feel even more rewarding.
Of course, performance was also an important consideration. Bringing these new garages to the game while keeping their performance cost in check compared to the older models was no small task, but we hope weโve found the right balance between improved visuals and performance. You can read more here.
Improved Material System
We are continuing to expand the Improved Material System with this update, bringing it to more truck interiors. The Iveco S-Way is the latest addition to the lineup, benefiting from enhanced lighting and improved visual quality, with a particular focus on how different interior materials react to light.
We hope you enjoy the new beautiful visuals! You can read more about this topic here.
Goodyear Tyres Pack Update
We are updating the Goodyear Tyres Pack paint jobs to reflect the company's updated branding.
The latest Goodyear logo and slightly adjusted colours are now featured across the paint jobs, bringing them in line with the current design.
Game Radio Update
With the 1.62 Open Beta, weโre also bringing an update to the Escape station within our Game Radio feature! As the only stream-safe station in our in-game radio lineup, Escape is a great choice for content creators who want to share their journeys with their communities. Weโve removed tracks that were causing copyright issues and expanded the playlist with 11 new songs, giving Escape a longer runtime that better matches our other stations.
Changelog:
Map
New Garages
Vehicles
Improved Material System forย Iveco S-Way
DAF XG+ Emerald, Sapphire & 30 Years in Czechia Editions
Goodyear Tyres Pack Update
Sound
Game Radio Update
Enjoy all the new additions, but please remember: It's only an open beta, not a stable public version, so you may encounter bugs, instability, or crashes. It's completely okay if you want to wait for the final release. But if you're interested in helping us to get there faster, we'd appreciate all of your feedback on our forum and your bug reports in the dedicated section.
Please check our modding wiki to get details pertaining to mods for the game.
If you wish to participate in this Open Beta, you can find this version in the Experimental Beta branch on Steam. The way to access it is as follows: Steam client โ LIBRARY โ right-click on Euro Truck Simulator 2 โ Properties โ Game Versions & Betas tab โ Beta Participation list โ public_beta. Sometimes you will have to restart your Steam client to see the correct branch name there.