1.14.0 adds Mountain View, an optional layout with a top bar and a wide search field, and gives the Files app and the calendar a new layout. Dark mode now recolours messages instead of inverting them, so brand colours stay as sent. Push can be turned on for several accounts at once, and the account list can be backed up encrypted and restored on another device. The composer got a long round of send fixes. With several accounts open, batch actions no longer hit another account's message that happens to share an id with the selected one.
UI: Mountain View is an optional layout, chosen under Settings > Layout > Interface layout. On desktop it has a top bar with a wide search field, an apps grid and the account avatar in place of the left rail, a Compose pill, a docked compose window, an account popover with unread counts per account, and j/k, x and g shortcuts. Calendar, Contacts, Files and Settings use the same top bar. The default layout is unchanged (#1168, thanks @lucamzanon)
Files: The Files app is laid out like Contacts and Calendar: a sidebar with a New menu, the folder tree, Starred, Recent and Shared with me, a header with breadcrumbs, search, sort and a list/grid switch, a details panel, right-click menus in the sidebar and arrow-key navigation. On touch, a tap opens and a long press selects. Folders in the tree can be renamed and deleted, recent files open in their folder, and the view, sort and hidden-files settings now apply
Files: Image previews in Files and in attachments zoom with the wheel or a pinch, pan by dragging or with the arrow keys, switch between fit and full size on double-click, and close on a click beside the image
Files: Uploads show as a toast with their progress and a Cancel button. The large file warning is gone
Calendar: On wide screens, clicking or dragging over empty time opens a quick editor next to the slot, and clicking an event opens a card with edit, delete and more actions. Busy month cells show "+N more", the agenda lists each day as a row with the date beside its events, and the dates in the week header open that day. Calendar lists in the sidebar fold away and show their options on hover. Phones keep the full editor
Push: The notification settings list every connected account and turn push on or off for several of them at once, with a single browser permission prompt (#1054, thanks @lucamzanon)
Accounts: Users with several accounts can save their account list on the webmail server, encrypted in the browser with a password they choose, and restore it on another device. No mailbox passwords are stored. Admins turn it on with "Account List Backup" under Admin > Policy (#1201, thanks @lucamzanon)
Filters: The folder context menu runs a saved rule on the messages already in that folder (#1166)
Composer: Schedule send offers tomorrow at 8:00, tomorrow at 13:00 and next Monday at 8:00 as one-click times
Settings: The language picker has a search field and flags, and every date format and region option shows a live sample
Plugins: A plugin can run a message-list search with a JMAP Email filter (#1024)
Plugins: Calendar event actions get the event's uid and attendees, and the form-save hook now fires and can change the meeting link that is saved with the event (#1202, thanks @siennathesane)
Changes
Mail: Dark mode recolours messages instead of inverting them. Light backgrounds are darkened in their own hue, brand colours and dark fills stay as sent, and text only changes when it lacks contrast. A message's own dark mode styles follow the app theme instead of the system's
Mail: A folder opened before shows its messages at once and refreshes them in the background. A failed load leaves them on screen (#1195, thanks @lucamzanon)
Composer: On a phone, the formatting toolbar folds away behind a Formatting button and its buttons are larger. The send options sit together in one menu
Files: File sizes are rounded the way people read them, like 67 KB or 2.1 MB
Fixes
Mail: In views that merge several accounts, selecting a message no longer also selects a message with the same id in another account. Batch delete, move, archive, copy, mark read, tag and spam act only on the ticked messages, each through its own account. Before, a permanent delete could remove the other account's message (#1061, thanks @lucamzanon)
Mail: A message with two spaces in a row in its subject no longer freezes the tab (#1193, thanks @dealerweb)
Mail: Blocking remote content no longer drops a message's style sheets, so messages keep their layout before images are loaded
Mail: The list shows no paperclip on a message that only has inline images
Mail: The "via" badge is hidden when it repeats the sender's name, and a draft shows one Edit button
Send: Signed and encrypted messages reach Bcc recipients (#1206)
Send: After a plugin send, such as S/MIME, the composer closes, and a failed plugin send keeps the draft (#1207)
Send: A failed send removes its unsent copy from Drafts and explains the failure in plain words. A send while offline says so and keeps the message
Send: Typed addresses are split on commas, and a message with an invalid address is not sent. The address field marks which ones to fix
Send: Undo send disappears once the delay is over and says so when an undo fails
Send: Discard deletes the draft, also one reopened from Scheduled, and closing an autosaved draft no longer asks about unsaved changes
Send: The missing subject warning comes once per message, and the scheduled time shows its date, rounded to the minute
Composer: Tabbing into a reply or forward keeps the quoted message, and tabbing into a new message starts at the top of the body
Composer: A reply opens with the caret in the body, and the composer is titled Reply, Reply All or Forward instead of New Message
Composer: A reopened draft takes its text from the message body only. An attached .csv or .txt no longer turns up as the message text (#1213, thanks @shukiv)
Composer: A long attachment list scrolls instead of pushing the Send button out of view (#1212, thanks @shukiv)
Composer: The plain-text part of sent mail marks quotes and list items, and the signature has one separator
Composer: Enter adds the highlighted suggestion instead of the typed text, and the suggestions close once the address is added and line up with the typed text. On a phone they span the whole row and show the name above the address
Composer: Body text no longer shows through the pinned formatting toolbar (#1200, thanks @lucamzanon)
Composer: On a phone, sending a new message returns to the message list, and the Continue draft banner no longer flashes after a send
Composer: Bitwarden no longer offers logins in the recipient fields, the mail search box or the event participant field
Login: A remembered sign-in survives a server timeout or an origin switch during restore instead of signing out (#1167)
Login: Signing out of one account keeps the other accounts, and a reload with only accounts awaiting sign-in shows the login page instead of a connection error (#1201, thanks @lucamzanon)
Login: A reload without "Remember me" no longer reports an expired session
Unified: Switching to another account keeps the unified mailbox on (#1144, thanks @lucamzanon)
Push: Push is renewed for every connected account, not only the active one, so accounts no longer stop notifying after seven days. The all-accounts panel shows each account's real state and why an account failed (#1054, thanks @lucamzanon)
Filters: Forward is hidden in filter rules when the server allows no redirects (#1208)
Calendar: Save is blocked while a plugin's form-save hook runs, so a double press no longer creates the event twice (#1202, thanks @siennathesane)
Calendar: Participant suggestions are no longer cut off by the event form
Files: Canceling an upload stops the file in flight and says the upload was canceled instead of counting every file as done
Files: A drag selection keeps its items after letting go, and Files shows a loading state instead of "No files yet" before the first listing
Files: Read-only documents open in ONLYOFFICE without the -103 warning (#1187)
Contacts: The contact popover shows the sender's name when the saved contact has none, and Contacts shows placeholders instead of "No contacts yet" while loading
UI: The close and back buttons in the composer and conversation view have names for screen readers, and the composer toolbar buttons are labelled
UI: Reply All stays on one line in the conversation view, and the welcome banner gives touch tips on a phone
Translations: The new composer, send, Files and filter strings are translated
If you are upgrading from v0.16.x, replace the binary (or run docker pull). If you are upgrading from v0.15.x and below, please read the upgrading documentation for more information on how to upgrade from previous versions.
Added
sd_notify support.
JMAP: Mailbox/set allows moving a mailbox under a parent that already has a child with the same name, and rejects renames that only change the case of a mailbox name with alreadyExists.
RocksDB: Blob garbage collection rewrites every stored blob on each compaction of the blobs column family, about once per 128MB of new mail.
Milter: End-of-headers is not sent to milters that negotiate SMFIP_NOHDRS without SMFIP_NOEOH, so the transaction stalls until it times out.
OIDC: When the access token lacks the claimUsername claim but has an email claim, the account is built from email without consulting the userinfo endpoint.
JMAP:
onSuccessUpdateEmail and onSuccessDestroyEmail entries in EmailSubmission/set that name an existing submission by id update or destroy the Email with the same id instead of the submission's own Email.
A VacationResponse/set that only sets isEnabled on an account without a vacation response activates an empty Sieve script.
We are excited to announce that SCS Software will be heading to Poznań Game Arena 2026, taking place from 23rd to 25th October in Poznań, Poland!
If you're attending this year's event, be sure to stop by and visit us in Hall 5, Booth 56, where we'll be bringing a selection of our latest projects, immersive experiences, plenty of opportunities to get behind the wheel, and a chance to meet and chat with our team.
For American Truck Simulator, you'll be able to explore the breathtaking landscapes of the British Columbia DLC by taking a virtual journey through Canada's westernmost province. Meanwhile, in Euro Truck Simulator 2, you'll discover the stunning landscapes of the Iceland DLC, as well as experience the upcoming Coaches DLC and take a different kind of journey across Europe in a long-distance bus.
To make your experience even more immersive, we're once again bringing our 4D motion simulators to the show floor. If you've always wanted to experience the feeling of driving a truck with added motion effects, be sure to give it a try during your visit.
We're also happy to be partnering with Logitech, which will be providing steering wheels and peripherals for our booth. Their hardware will help you get comfortable behind the wheel and experience our games with precision and control.
But that's not all! We're also delighted to be partnering with Scania Poland, who will be bringing a real Scania truck directly to our booth.
This will give visitors the opportunity to get up close with a real Scania truck, with the cabin open for visitors to step inside and explore, while also experiencing our virtual trucking worlds just a few steps away. With Scania Poland personnel on hand throughout the event, you'll be able to take a closer look at the truck and its interior before stepping into our games. It's a great chance to see how the details and atmosphere of real-world trucking inspire what we create in our games.
Poznań Game Arena is one of the biggest gaming events in Poland, and we're looking forward to meeting the Polish trucking community and everyone who shares our passion for virtual trucking.
Whether you are coming to try out our latest content, take a ride in one of our 4D motion simulators, check out the Scania truck, or simply stop by to say hello to the SCS Software team, we'd love to see you there! But if you won't be able to attend, don't worry, and make sure to give our X/Twitter, Instagram, Facebook, Bluesky, YouTube, and TikTok a follow as we plan to regularly share updates from PGA, so you don't miss anything! See you in Poznań, truckers!
If you like Part-DB, consider donating to support the development. Press the sponsor button on the main github page, for more info.
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.0
New features
Added "Create from file" feature to extract a part from a datasheet, manual, etc. using AI. Both text and images are supported
It’s time to hit the road! Today, we’re excited to share a gameplay preview from the upcoming Coaches DLC for Euro Truck Simulator 2, showcasing the Scania Touring as we take a journey through the stunning landscapes of northern Norway.
In this gameplay video, we’ll be driving from Narvik to Andenes, giving you a closer look at what it’s like to be behind the wheel of a coach. But there’s more to a successful journey than simply reaching your destination. With passengers on board, how you drive can make a real difference!
So sit back and join us for a journey in the Scania Touring and get a taste of what awaits in the upcoming Coaches DLC!
One of the features we’re showcasing is the G-force indicator, which helps translate your driving style into passenger satisfaction. Sharp turns and hard braking can create higher G-forces, and your passengers won’t hesitate to let you know when you’ve pushed things too far. If you exceed their comfort limits, you may hear some rather loud reactions from the back of the coach!
Passenger satisfaction will contribute to your overall results at the end of your journey, giving you another reason to keep your driving smooth and comfortable. You’ll also hear passengers talking and making noise throughout the trip, helping bring the coach experience to life as you travel along the roads.
Another feature we’re showcasing is the adjustable sun visor, giving you greater control over the amount of sunlight coming into the cabin and providing a more comfortable driving experience behind the wheel of any coach.
Takes the v2 tree, with packages/console, packages/web, packages/stats, packages/function, infra and sst.config.ts merged up to latest dev, and retargets V2 publishing and deploys from the v2 branch to dev.
The DistroWatch news feed is brought to you by TUXEDO COMPUTERS. Robert Spiteri has announced the release of ZEPHIX 9, the latest stable version of the project's desktop Linux distribution based on Debian's "Stable" branch. Unlike ZEPHIX's ultra lightweight releases of the past, the new version, which features the LXDE desktop, is a 9.4 GB live ISO image containing....
Added optional Cloudflare proxy mode for new DNS records.
Added support for public IPv4 and IPv6 addresses in Git repository URLs.
Fixes
Fixed IPv6 server addresses across connections, URLs, routing, and Hetzner provisioning.
Fixed IPv6 connections to public database TCP proxies on IPv6-enabled networks (#12133).
Fixed database proxy connections after database IP addresses changed.
Prevented duplicate database environment variables and preserved source values when cloning applications. Removed existing duplicate Redis username and Nixpacks Node version entries.
Fixed database startup so configuration files were written before containers started.
Preserved application, database, service, and proxy containers during Docker cleanup.
Fixed detection of legacy Compose containers for custom start commands and status updates.
Restored valid Compose network names with required and alternative variable expressions (#12126).
Fixed Infisical secret references that reached containers without expansion (#12128).
Fixed S3 database and volume backup uploads on hosts with split DNS (#12129).
Fixed custom DNS queries by retrying truncated UDP responses over TCP (#12076).
Fixed GitHub App installation after switching teams and showed clear verification errors (#12122).
Prevented duplicate upgrades and fixed stalled upgrade progress.
Prevented configuration and route cache corruption during startup (#12120).
Matched the Railpack build frontend version to the helper's installed CLI.
Removed forced HTTP/1.1 for Git repository imports (PR #12080, #11579).
Fixed resource name alignment when descriptions were empty (#12127).
Improvements
Added a 5 GB free-space check before upgrades, with cleanup controls and a manual override. Automatic upgrades were skipped with a notification when space was low.
Updated the sidebar user menu and toggle icon.
What's Changed
revert(git): stop forcing HTTP/1.1 for repository imports by @peaklabs-dev in #12080
The Improved Material System continues to make its way across our truck line-up! With the upcoming 1.62 update for Euro Truck Simulator 2 & American Truck Simulator, two more trucks will benefit from this upgrade, bringing further visual refinements to their interiors.
We hope you've been enjoying the Improved Material System and the refreshed look it brings to the interiors of our trucks! It has been great to see your reactions to these visual upgrades, and we would like to thank you for all of the comments, feedback & screenshots you have shared with us so far.
In the upcoming 1.62 update, our vehicle teams have expanded this visual improvement to the cabins of the Iveco S-Way in Euro Truck Simulator 2, and the All-New Volvo VNL in American Truck Simulator!
The improved material system significantly enhances the lighting and visual quality of vehicle interiors, with a particular focus on how different interior materials react to light. This results in a more detailed, readable, and visually pleasing cabin environment. It also makes the differences between materials such as leather, fabric, plastic, and metal much more apparent, even in low-light conditions.
As promised, we are gradually bringing this feature to more trucks, allowing you to enjoy beautiful cabin interiors across a wider range of vehicles. If you would like to learn more about what the process of implementing this feature on new vehicles looks like, make sure to check out our Under the Hood blog, where we spoke with colleagues working on the improved material system.
We hope you will be happy to see the improved cabin interiors in more trucks with this upcoming update! Remember to stay tuned for more news from our games by following us on our X, Facebook, Instagram, Bluesky, and YouTube. We would also appreciate it if you could sign up for our newsletter, so you can be informed. Until next time, keep on trucking!
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.3.25 (October 15th 2026)
Wana boot and install OS through network (PXE/HTTPBoot)? Welcome to my new project iVentoy.
About iVentoy https://www.iventoy.com/
iVentoy is an enhanced version of the PXE/HTTPBoot server with .
Extremely easy to use, Many advanced features.
x86 Legacy BIOS, IA32 UEFI, x86_64 UEFI (Secure Boot), ARM64 UEFI and LoongArch64 UEFI mode supported
110+ common types of OS supported (Windows/WinPE/Linux/Unix/VMware)
Turn any PC, laptop, server, NAS, or Raspberry Pi into a PXE/HTTPBoot server instantly!
......
fix dropping UDP packets during connection close (#6278) UDP packets were dropped in case of errors regardless of their size. Now they are dropped only if they are empty and there's an error.
docs: fix youtube rtmps URL (#6286) The rtmps URL for Youtube was wrong. The fingerprint is not required anymore.
prevent free access to playback server in case of legacy credentials (#6311) When legacy credentials are in use (readUser, readPass, publishUser, publishPass), access to the playback server is granted to anyone. Prevent this by granting access only to users using readUser, readPass.
auth: skip JWKS fetch when no JWT is provided (#6274) authenticateJWT fetched the JWKS before checking whether the request carried a token at all. Every anonymous request, such as the first unauthenticatedRTSP DESCRIBE or HLS request that precedes a 401, caused an outbound request to the JWKS server while holding the manager's write lock. An unauthenticated client could therefore make the server contact the identity provider at will and, while that endpoint was slow or unreachable, stall JWT authentication for everybody. Return "JWT not provided" before touching the JWKS. Also check the JWKS response status code. A non-2xx reply was fed straight to the JSON decoder, so an error page surfaced as a confusing parse error,and an error reply that happened to hold valid JSON was cached as the key set for an hour. Reject it with the status code, as authenticateHTTP already does. Behavior for requests that carry a token against a healthy JWKS server is unchanged.
rewindablereader: fix possible OOM (bluenviron/mediacommon#383) empty datagram packets might cause the allocation of unnecessary entries. Fix that.
h264: revert bluenviron/mediacommon#142 (bluenviron/mediacommon#384) supporting standalone SEI units should not be necessary anymore since these are filtered out at the root (bluenviron/gortsplib#1184). In case of any issue that should arise after this change, open a bug report and we'll adjust things accordingly.
h264: support SEI recovery point in DTS extractor (bluenviron/mediacommon#341) Treat a SEI recovery point message (payload type 6) as a random access point, similarly to a CRA in H265, so the DTS extractor can (re)initialize its state from the first coded frame that follows the recovery point.
API
fix race condition when kicking RTSP sessions (#6260) (#6275)
do not change passwords when their value is "" (#6141) (https://github.com/bluenviron/mediamtx/issues/6287) (#6292) some users call /config/global/get and passits content to /config/global/patch. Since the former now redacts passwords and replaces their value with "", this string is used as an effective password, breaking authentication. Now password values equal to "" are ignored by /config/global/patch, and the original password value is kept unchanged.
fix deadlock when reloading the API (#6280) (#6279) (#6310) When the API is closing, a /config endpoint might be waiting on the server to reply, but the server is busy waiting on all API endpoints to return, causing a deadlock. Fix this by canceling requests from API endpoints to the server when the API is closing.
Media-Over-QUIC
use "catalog" as catalog track name (#6268) Previously, the catalog track name was ".catalog" which is non-standard.
apply path-level rtspUDPReadBufferSize to the first connection (#6291) The RTSP static source built its client before reading the path-level rtspUDPReadBufferSize, so the value only reached the client after a reconnection. Compute it before creating the client, as the MPEG-TS and RTP sources do and as this source did before #5488.
drop standalone H264/H265 trailing SEIs (bluenviron/gortsplib#1184) #3614bluenviron/mediacommon#142#6257bluenviron/mediacommon#382 H264/H265 access units containing a single SEI only, trailing other units, generated by someTP-Link/Tapo cameras, are non-standard and cause several issues in downstream components, including the DTS extractor and the recorder. Previously, the H265 DTS extractor was adjusted to support such units (bluenviron/gortsplib#142) but the problem represented itself with H265. Filter these units out at the root.
complete RTP/JPEG implementation (bluenviron/gortsplib#1187) add support for restart headers, limit support to JPEG types 0 and 1.
RTMP
detect read errors even when the server is writing (#6267) Until now we relied exclusively on write errors to detect broken RTMP connections. Now read errors are checked too.
writer: drain inbound messages (#5776) (bluenviron/gortmplib#132) Some servers periodically send messages even when we're publishing. If they are not read, they fill an internal connectionbuffer and cause periodic disconnections. Now the Writer also drains inbound messages.
reader: support FLV video command frames and skip empty audio messages (bluenviron/gortmplib#128) Someservers (e.g. Wowza Streaming Engine) send a video info/command frame before the first frame: a 2-byte message with frame type 5 and a single command byte (start of seek / end of seek). Video.unmarshal rejected it on length, aborting the whole connection. Add Video.FrameType (key frame, inter frame, command) and Video.Command, deprecate Video.IsKeyFrame in favour of FrameType, and skip command frames in Reader since they carry no data. Some servers (e.g. Wowza Streaming Engine) send an audio message with an empty bodybefore the first frame. allocateMessage rejected it with "not enough bytes", aborting the whole connection. Parse an empty body into an Audio with Codec = 0 and no other field, marshal it back to an empty body, and skip such messages in Reader since they carry no data, like FFmpeg does.
rename message.Video.Type into message.Video.PacketType (bluenviron/gortmplib#138) This is to avoid confusion with the new message.Video.FrameType field.
HLS
muxer: keep EXT-X-MAP in delta updates (bluenviron/gohlslib#397) Delta updates were generated without EXT-X-MAP, although all tags that are not skipped must remain in them. Apple clients stop playback (MoofManifold -16046) at the first delta update that skips a segment after delta updates without skipped segments.
WebRTC
fix panic with specially-crafted WHEP requests (#6301) (#6309) this happened in case of WHEP requests with no media descriptions in the SDP.
Dependencies
Go updated from 1.26 to 1.27
code.cloudfoundry.org/bytefmt updated from v0.90.0 to v0.92.0
github.com/bluenviron/gohlslib/v2 updated from v2.4.5 to v2.4.6
github.com/bluenviron/gortmplib updated from v1.0.3 to v1.0.4
github.com/bluenviron/gortsplib/v5 updated from v5.6.6 to v5.6.7
github.com/bluenviron/mediacommon/v2 updated from v2.9.5 to v2.9.6
github.com/datarhei/gosrt updated from v0.11.1-0.20260812091715-a77b40bb4b76 to v0.12.0
github.com/gin-contrib/pprof updated from v1.5.5 to v1.5.6
github.com/go-git/go-billy/v5 updated from v5.9.1 to v5.9.2
github.com/go-git/go-git/v5 updated from v5.19.2 to v5.19.3
github.com/pion/ice/v4 updated from v4.4.2 to v4.4.5
github.com/pion/interceptor updated from v0.1.48 to v0.1.49
github.com/pion/rtcp updated from v1.2.17 to v1.2.19
github.com/pion/transport/v4 removed
github.com/pion/webrtc/v4 updated from v4.2.20 to v4.2.22
github.com/quic-go/quic-go updated from v0.62.0 to v0.63.0
github.com/pion/datachannel updated from v1.6.2 to v1.6.3
github.com/pion/dtls/v3 updated from v3.1.8 to v3.1.9
github.com/pion/mdns/v2 updated from v2.2.0 to v2.2.2
github.com/pion/sctp updated from v1.11.1 to v1.11.3
github.com/pion/srtp/v3 updated from v3.0.15 to v3.1.3
github.com/pion/stun/v4 updated from v4.0.0 to v4.0.1
github.com/pion/turn/v5 updated from v5.1.0 to v5.1.2
github.com/pjbgf/sha1cd updated from v0.6.0 to v0.7.0
github.com/pion/transport/v5 v5.1.1 added
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:
Fixed audio monitoring on browser sources briefly being enabled every time in Beta 1-6 [prgmitchell] (#14003)
Fixed browser sources appearing blank on refresh in Beta 1-6 [WizardCM] (#14003)
Fixed local network requests failing in browser sources in Beta 1-6 [WizardCM] (#14009)
Fixed Plugin Manager showing third-party plugins as missing when OBS is launched in Safe Mode in Beta 1-6 [Warchamp7] (#14001)
Fixed Plugin Manager removal button sometimes not removing missing plugins from the Plugin Manager in Beta 1-6 [Warchamp7] (#14008)
Fixed the Missing Encoders popup not showing in taskbar [Warchamp7] (#14010)
Fixed profile import failing on paths with a trailing slash [Ushkalovk] (#13863)
Developer Info: Added obs_canvas_video_active() to check if the video of a canvas is active [exeldro] (#13110)
Developer Info: Changed obs_canvas_reset_video() to allow resetting a canvas's video when any other canvas's video is active, but not its own video [exeldro] (#13110)
Beta 6 Changes
Fixed a crash during certain actions involving groups in Beta 1-5 [prgmitchell] (#13978)
Fixed scripting not working on macOS in Beta 1-5 [PatTheMav] (#13976)
Fixed game capture hooks not updating in Beta 1-5 [Warchamp7] (#13968)
Fixed clock Lua script not working in Beta 1-5 [RytoEX] (#13974)
Changed Safe Mode to not start WebSocket Server [FiniteSingularity/RytoEX] (#13984)
Removed support for FFmpeg 6.x and 7.x [RytoEX] (#13964)
Fixed duplicate "Save Replay" hotkey entries when switching profiles in Beta 1-4 [xtfo] (#13943)
Fixed warning dialogs on macOS not rendering rich text in Beta 1-4 [Warchamp7] (#13949)
Fixed source icon state appearing inverted in Beta 1-4 [Warchamp7] (#13953)
Fixed audio monitoring settings not saving in Beta 1-4 [Warchamp7] (#13951)
Fixed missing encoder check showing missing encoders in an output mode that is not currently selected in Beta 1-4 [Warchamp7] (#13950)
Fixed Windows updater not updating game capture and virtual camera in some cases in Beta 1-4 [Warchamp7] (#13939)
Beta 4 Changes
Fixed a CI and packaging issue. There are no application changes since Beta 1.
Beta 3 Changes
Fixed a CI issue. There are no application changes since Beta 1.
Beta 2 Changes
Fixed a versioning issue. There are no application changes since Beta 1.
33.0 New Features
Updated CEF from 127/6533 to 150/7871 [WizardCM] (#13900)
This is a massive update to the underlying framework used for browser sources and docks from the July 2024 release to September 2026
All of this work is on the backend and should be invisible to users. Please be sure to report any new weirdness or problems you run into with browser sources!
Complete overhaul to plugin loading [FiniteSingularity/PatTheMav] (#13594)
First-party plugins are now in a new folder named core
Third-party plugins have an updated installation location and folder structure
Existing third-party plugins will continue to load from the legacy locations until OBS Studio 34.0
Added a startup error if obs-transitions failed to load [notr1ch] (#13321)
Improved file splitting for Hybrid MP4/MOV [derrod] (#13386)
Fixed outputs getting stuck running when a bad rescale output resolution is set [suogesi] (#13375)
Fixed monitoring icon state getting desynced when using third-party tools or websockets [prgmitchell] (#13822)
Fixed potential crash when shader cache file is invalid [notr1ch] (#13538)
Fixed a potential crash on Linux when USB mic is removed [R0te/RytoEX] (#13922)
Fixed a potential crash when renaming a source with the Add Source window open [Warchamp7] (#13800)
Fixed a potential deadlock during video/audio tasks [exeldro] (#13579)
Fixed an issue with B-frame offset calculation in AMF that could cause streams to disconnect [lexano-ivs] (#13762)
Fixed PipeWire screencast sources being duplicated in studio mode [tytan652] (#13673)
Fixed a potential crash when switching off a newly created profile [Warchamp7] (#13182)
Fixed a source toolbar crash when source type is missing [Penwy] (#13539)
33.0 Developer Information
Added frontend event and output signal for replay buffer saving [Penwy] (#8955)
Added guidance regarding the theme system to the top of all theme files [Warchamp7] (#13733)
Added ability to set a file extension filter for OBS_PATH_FILE_SAVE path types [FiniteSingularity] (#10190)
Added obs_frontend_is_safe_mode for first-party plugins
Third-party plugins are not loaded at all in Safe Mode
Added versions to Flatpak plugin extension point [tytan652] (#13735)
Added obs_canvas_video_active() to check if the video of a canvas is active [exeldro] (#13110)
The minimum supported versions of Visual Studio, Windows SDK, and clang-format have been increased. Previous versions may continue to work, but will no longer be tested/supported. It is recommended that build environments are kept up-to-date with the project's toolchain.
Changed Windows builds to use Visual Studio 2026 and SDK 26100 [RytoEX] (#13543)
Changed clang-format version used to 22.1.3 [PatTheMav] (#13549)
Changed obs_canvas_reset_video() to allow resetting a canvas's video when any other canvas's video is active, but not its own video [exeldro] (#13110)
Today, we bring you news from the upcoming 1.62 update for Euro Truck Simulator 2. As part of this update, we will be introducing new truck garage models across the map!
We already gave the truck garages in American Truck Simulator a refresh with the 1.58 update, and now it is time to give them the same treatment in Euro Truck Simulator 2. As you know, we are gradually reworking older areas of the base map, with the Benelux rework being the latest addition, while the rework for United Kingdom is currently underway. Garages are an important part of the map as well, so after many years, we felt it was time to bring them up to date and better align them with the newer areas of the game.
With the release of 1.62, these new garage models will be introduced across the entire base map as well as all of the map DLCs. This means that wherever your journeys take you, you can look forward to seeing these refreshed garages along the way.
Garages are also an important part of the truck driving experience. They are not only where you store your trucks and manage your drivers, but also a reflection of your growing company. From the smaller garages to the larger ones, we wanted to make them feel like places you would be happy to return to as your business grows.
The new garages feature updated visuals both inside and out, with greater attention to detail throughout. Our goal was to make them feel more modern and immersive, which should make the process of upgrading your garage feel more rewarding.
Of course, we also had to keep performance in mind. Bringing these new garages to the game while keeping their performance cost in check compared to the older models created many years ago was no small task, but we hope to have found the right balance between improving visuals and not increasing the toll on performance.
With these changes, we hope the reworked garages will feel like a more natural and enjoyable part of your journeys. They are another step in bringing older parts of the game up to today's standards, and we look forward to continuing to refine the world of Euro Truck Simulator 2 in future updates.
🛑 macOS Apple Silicon (arm64): this build is broken — use v0.21.1
The macOS arm64 assets below crash immediately on launch with EXC_BAD_ACCESS (Code Signature Invalid). A newly added Electron fuse rewrote the Electron Framework binary, which invalidated its ad-hoc signature, and the build was not re-signed afterwards.
Two ways to get a working app:
Download v0.21.1 (recommended) — it ships the fix.
Repair this build in place — after installing, run: