Lees weergave
v4.4.6
Fixes
- Fixed self-hosted startup failures caused by an incompatible PHP base image by pinning it to a stable version (#12141).
Full Changelog: v4.4.5...v4.4.6
v4.4.5
Fixes
- Removed the 5 GB free disk space requirement that blocked manual and automatic updates.
Full Changelog: v4.4.4...v4.4.5
v4.4.4
Features
- 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
Full Changelog: v4.4.3...v4.4.4
v0.8.13
What's Changed
- fix(linux): add a Spanish comment to the desktop entry by @eibidia in #1468
- fix(agent): let a thumb-wheel swipe fire Volume Up/Down more than once by @4ni1ak in #1455
- feat(hid): recognise Powerplay receiver 046d:c53a by @FelipeIzui in #1267
- feat(hid): add G733 battery and power-state support by @d-tatianin in #1601
- fix(i18n): improve Turkish catalog wording by @volkanncicek in #1415
- docs(core): clarify persisted device identifier scope by @yuzi-co in #670
- fix(macos): respect the selected Apple developer directory by @4ni1ak in #1457
- fix(gui): restore the config-error folder action by @4ni1ak in #1458
- fix(core): resolve connection transport from live routes by @4ni1ak in #1367
- feat(gui): add custom actions to the mouse picker by @4ni1ak in #1452
- fix(gui): show friendly names for Windows app profiles by @4ni1ak in #1463
- feat(hidpp): implement pointer motion scaling by @Chernicharo in #1347
- fix(inject): restore macos 27 space swipes by @4ni1ak in #1703
- fix(hook): identify unbundled macos applications by @4ni1ak in #1469
- chore: release v0.8.13 by @AprilNEA[bot] in #1716
New Contributors
- @FelipeIzui made their first contribution in #1267
- @d-tatianin made their first contribution in #1601
- @volkanncicek made their first contribution in #1415
Full Changelog: v0.8.12...v0.8.13
1.62 Update: Improved Material System
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!
v0.8.12
What's Changed
- test(agent): cover a BLE mouse that wakes as a new node by @kohjunhao in #1649
- fix(gui): seed the DPI editor from config while the live read is pending by @4ni1ak in #1628
- fix(hid): recognize Lightspeed receiver 046d:c541 by @hamfield-eu in #1679
- fix(gui): truncate the function-row key callout's name instead of overflowing by @4ni1ak in #1691
- fix(gui): wrap the device-enabled caption so the switch stays in the card by @Imbecile6197 in #1670
- feat(fixture): add an MX Ergo Unifying fixture by @Chernicharo in #1374
- fix(gui): set text color on mouse pairing passkey click icons by @ZOZiBoi in #1640
- fix(hidpp): tell another protocol's reports apart from malformed HID++ by @Chernicharo in #1373
- fix(macos): log the candidate displays when Space state has no match by @4ni1ak in #1694
- fix(agent): phase horizontal thumb-wheel scroll when smoothing is off by @nredd in #1689
- feat(i18n): add Czech locale by @Imbecile6197 in #1669
- fix(core): write config through symlinks instead of replacing them by @FunJim in #1642
- fix(hook): keep the short budget for tap teardown after a probe break by @TheMedpreneur in #1600
- fix(i18n): name the real update-check host in the consent dialog by @4ni1ak in #1629
- fix(agent): restore ring toggle and publish expired sessions by @isleofgreg in #1665
- fix(gui): scale configuration labels with interface text by @4ni1ak in #1627
- fix(agent): fall back to focus when the pointer target is unidentified by @kohjunhao in #1648
- fix(gui): anchor scrollbar overlays in action ring editor and app picker by @lynicis in #1360
- fix(i18n): track the locale catalogs as build inputs by @zmingxie in #1327
- fix(gui): wrap the About page's link row instead of clipping it by @crnst8 in #885
- fix(cli): replace the stale receiver note with a Linux udev hint by @Chernicharo in #1348
- fix(gui): show wheel controls without adjustable dpi by @minatoaquaMK2 in #1369
- fix(gui): recognize MX Ergo's DPI slot name for the mouse diagram by @armandodollia in #1391
- fix(macos): write the scroll point delta last so pixel precision survives by @isleofgreg in #1156
- chore: release v0.8.12 by @AprilNEA[bot] in #1646
New Contributors
- @hamfield-eu made their first contribution in #1679
- @Imbecile6197 made their first contribution in #1670
- @Chernicharo made their first contribution in #1374
- @ZOZiBoi made their first contribution in #1640
- @nredd made their first contribution in #1689
- @FunJim made their first contribution in #1642
- @TheMedpreneur made their first contribution in #1600
- @lynicis made their first contribution in #1360
- @zmingxie made their first contribution in #1327
- @crnst8 made their first contribution in #885
- @minatoaquaMK2 made their first contribution in #1369
- @armandodollia made their first contribution in #1391
Full Changelog: v0.8.11...v0.8.12
Development Build
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)
Latest stable release build: 2.8.3
https://github.com/clsid2/mpc-hc/releases/tag/2.8.3
Synology® introduceert DiskStation neo+ Series met hoge prestaties en toegankelijke budgetopties
Release 2026.10.09
Docker Images
Docker images have been built and pushed:
Docker Hub:
alexta69/metube:latestalexta69/metube:2026.10.09
GitHub Container Registry:
ghcr.io/alexta69/metube:latestghcr.io/alexta69/metube:2026.10.09
Changes
- feat: ask before Clear failed removes the failed rows (closes #1094) (2f9c10f)
- fix: say why MeTube's own UI is refused behind a Host-rewriting proxy (46a9572)
- feat: define the download options once, in a catalog the UI and API share (closes #1093) (69a5ef0)
- fix: ship ffmpeg 8.1 so clip downloads keep their video (closes #1092) (ed6af48)
- feat: browse a playlist and pick entries before queuing (closes #1030) (4723d14)
Ventoy 1.1.18 release
Changelog
- Experimental support for SteamOS recovery images. (#3712 #2875 #1815)
- Improve the Linux remount feature to make the ISO partition mountable out of the box on mainstream desktop distros. (Notes)
- Suppress the duplicate disk icons in the sidebar on some Linux desktop distros.
- Change the ISO partition dm name to stable /dev/mapper/VentoyPart, please refer Notes
- Make the ISO partition mountable for CloneZilla. (#3274)
- Fix Fedora 45 beta boot issue.
- Fix the Windows/WinPE secure boot version check failed issue.
- Fix Persistence intermittently fails on Ubuntu desktop. (#3718)
- Fix the boot issue for Grml 2026.09. (#3751)
- Add support for custom Syslinux-based ISO. (#3760)
- Improvement for latest LinuxConsole release. (#3745)
- Add check for Boot Conf Replace entries in VentoyPlugson. (#3727 #3593)
SHA256
d86ff9de63d94c8b8f1f6b14d23c55af4b88e8207bf2893890892a6a97b1ad54 ventoy-1.1.18-linux.tar.gz
ee3917bd5a9973c0b2f8f3ef85048bf68ae089ec88f5561ad78b6ad308b51ab5 ventoy-1.1.18-livecd.iso
082c478e8c432e1ac653899fcf50e3a4077a2851bc6112b5ddd30545962164a9 ventoy-1.1.18-windows.zip
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!
......
Counter-Strike 2 Update
- [p]Added a ping icon for dropped defuse kits[/p][/*]
- [p]Reduced the time for AUG reload by half second[/p][/*]
- [p]Fixed the sound event during silent reload for Desert Eagle[/p][/*]
- [p]Fixed a case of buzzing soundscape sounds during demo playback[/p][/*]
- [p]Clipping fixes for Rush maps[/p][/*]
- [p]Localization updates[/p][/*]
- [p]Stability updates[/p][/*]
v1.21.2
Fixes and improvements
General
- 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.
RTSP
- stop forwarding in case of read errors (#6266)
- 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.
- server: change error return code of some methods (bluenviron/gortsplib#1091) (bluenviron/gortsplib#1174)
- drop standalone H264/H265 trailing SEIs (bluenviron/gortsplib#1184) #3614 bluenviron/mediacommon#142 #6257 bluenviron/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.
- make all decoders return at least 1 byte (bluenviron/gortsplib#1185)
- 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.
- make rawmessage.Write thread-safe (bluenviron/gortmplib#136)
- 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:
cat checksums.sha256 | grep "$(ls mediamtx_*)" | sha256sum --check
OBS Studio 33.0.0 Release Candidate 1
Release Candidate 1 Changes
- 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)
- Removed support for Qt 6.4-6.9 [RytoEX] (#13969)
Beta 5 Changes
- 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
- More information is available in our knowledge base article
- Improved how source snapping works in the preview [Warchamp7] (#12298)
- New visual indicator added
- Sources now snap along the entire axis instead of only when directly touching
- Sources no longer snap to hidden sources
- Improved behavior of spinboxes for number values [Warchamp7] (#12337)
- Typing is no longer mysteriously blocked in some situations
- Numbers are no longer cut off in some situations
- Values now update only after pressing Enter and Enter does not close the window
- Holding Shift + Up/Down now advances multiple steps at a time
- Dragging the cursor inside the input but outside the text itself now works properly
- Enabled NVENC on Arm64 [RytoEX] (#13827)
33.0 Changes
- Added a check for encoders being missing when loading a profile [derrod] (#11340)
- Added support for newest NVIDIA Broadcast SDKs for NVIDIA Audio Effects and Video Effects [pkviet] (#13838)
- Added hotkeys for controlling audio monitoring of a source [Warchamp7] (#13599)
- Fixed issues with groups in Studio Mode [Warchamp7] (#11092)
- Fixed moving sources inside a group causing them to glitch out in Program
- Fixed moving sources inside a group showing up live in Program
- Adjusted naming of Window Capture methods on Windows [Penwy] (#12047)
- Improved detection of fullscreen games for Game Capture [Kira-NT] (#10880)
- Improved transparency handling for macOS Screen Capture [jcm93] (#13030)
- Scaled simple output recording audio bitrate by channel count [nickvonkaenel] (#13311)
- Removed support for Ubuntu 24.04
33.0 Bug Fixes
- 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 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)
- Updated libnsgif to 1.0.0 [RytoEX] (#11178)
- This is a breaking change for any plugins using libobs/graphics gs_image_file
- Clarified documentation for obs_module_unload [notr1ch] (#13327)
- Required MbedTLS 3 and exclude 4 or later [tytan652] (#13799)
- Removed support for FFmpeg 6.x and 7.x [RytoEX] (#13964)
- Removed support for Qt 6.4-6.9 [RytoEX] (#13969)
- Fixed repeated preview enable/disables not working [WarmUpTill] (#12580)
- Only emit core signal handlers for public canvases [tt2468] (#13574)
- Deprecated unused hidden API for sources [derrod] (#13122)
- Deprecated APIs for audio source monitoring_type [Warchamp7] (#13599)
- This is replaced by a new monitoring_enabled boolean
Checksums
OBS-Studio-33.0.0-rc1-Sources.tar.gz: 1a73e95b5ad8addd79aeb5b48e5292b982dd2ffa69744294930a7c474c958fe0
OBS-Studio-33.0.0-rc1-Ubuntu-26.04-x86_64-dbsym.ddeb: d85dc2bdd26a21f29ea0a3dee8a6a31ae0a2a142df48fc56d41df9fb3571711e
OBS-Studio-33.0.0-rc1-Ubuntu-26.04-x86_64.deb: 7f2264131413b8b0d49b74c5693c044c4884f5ca923f08cb07c3ffd2b7369024
OBS-Studio-33.0.0-rc1-Windows-arm64-PDBs.zip: b855ec251576313f6de129213f0b57ece8d3b5970b6fb402f528b5791feeea0b
OBS-Studio-33.0.0-rc1-Windows-arm64.zip: 7205f9c3acb048c167c7fc38b2c3efd11d534f0f42242caa496a036785471a3c
OBS-Studio-33.0.0-rc1-Windows-x64-Installer.exe: 89cda9af39aaa0c6bbdae4d5db3bbfed127c82a6ef57b79acc6a745a872fa85c
OBS-Studio-33.0.0-rc1-Windows-x64-PDBs.zip: e7be732e7d61a59418cfdbdbe4790424ed8d3441676bd03c70710f4baef4f386
OBS-Studio-33.0.0-rc1-Windows-x64.zip: 2934bda03b5288378ca32a51dfe1003d4a557531a6af2ba105d7671d7557ad1f
OBS-Studio-33.0.0-rc1-macOS-Apple-dSYMs.tar.xz: 30e35c09bbbe7bed0d203cdd7439b1a239d9c4f9ef5c32570c5e1a0596ad5e67
OBS-Studio-33.0.0-rc1-macOS-Apple.dmg: 9322e6266140c0b82378848ded76d22cb721de550282c525d57b05590c94bbf6
OBS-Studio-33.0.0-rc1-macOS-Intel-dSYMs.tar.xz: dbe0dc36f8f064ccda4ec835ffcb279349efa88583b315336b576fa8e41b8737
OBS-Studio-33.0.0-rc1-macOS-Intel.dmg: fd0fd30ad54c4c18a4849fdfe2a3c8c7bd5e8f49325cb2861fc10b65c7aef683
Euro Truck Simulator 2 - 1.62 Update: New Garages
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.
Remember to give our X/Twitter, Instagram, Facebook, Bluesky, and TikTok a follow so you won't miss out on any updates from Euro Truck Simulator 2. Or subscribe to our newsletter to stay informed. Until next time, we wish you safe travels!
v0.21.1
⚠️ Note for macOS users
Builds are unsigned (no Apple Developer ID). After dragging MarkText into Applications, clear the quarantine flag once:
xattr -d com.apple.quarantine /Applications/MarkText.app
Verifying downloads
All artifacts are listed with their SHA-256 in SHA256SUMS.txt. Verify with:
sha256sum -c SHA256SUMS.txt --ignore-missing
Full Changelog: v0.21.0...v0.21.1
v0.21.0
🛑 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:
sudo codesign --force --deep --sign - /Applications/MarkText.app
xattr -cr does not fix this crash. The macOS Intel (x64) and the Windows/Linux builds are unaffected.
⚠️ Note for macOS users
Builds are unsigned (no Apple Developer ID). After dragging MarkText into Applications, clear the quarantine flag once:
xattr -d com.apple.quarantine /Applications/MarkText.app
Verifying downloads
All artifacts are listed with their SHA-256 in SHA256SUMS.txt. Verify with:
sha256sum -c SHA256SUMS.txt --ignore-missing
What's Changed
- Release tracking: v0.20.0 by @Jocs in #4664
- docs: fix broken relative links in translated READMEs by @xThreeh in #5616
- feat(desktop): move sidebar selection to trash with Delete key by @Jocs in #5609
- Update Japanese localization strings for consistency by @coolvitto in #5630
- fix(desktop): remove applied custom CSS when the preference is cleared by @woahwhattheheck in #5633
- fix(muya): restore inline HTML tag marker style and hide bare
markers by @Jocs in #5636 - feat(desktop): rename sidebar selection with F2 / Enter (#1618) by @Jocs in #5638
- feat(muya): preserve caret column on cross-block arrow navigation (#3412) by @Jocs in #5644
- fix: #3203 make the trailing soft-break line navigable with the arrow keys by @Jocs in #5645
- fix: #3207 #3385 commit sidebar rename/create when clicking away by @Jocs in #5646
- feat: support ==highlight== markdown syntax (#2552) by @Jocs in #5647
- feat: render inline markdown in the TOC (#3110) by @Jocs in #5648
- feat: support GitLab inline diff and multiline blockquote (#954) by @Jocs in #5649
- fix(desktop): let the --debug flag reach MarkText in packaged builds by @xThreeh in #5643
- fix(muya): highlight regexp newline search matches (#3261) by @Jocs in #5650
- fix(muya): keep the search highlight across a full re-render (#5651) by @Jocs in #5652
- fix(desktop): persist sidebar folder collapse state across view switches (#5631) by @VictorVow in #5632
- feat(desktop): reveal the active file in the sidebar file tree (#528) by @Jocs in #5654
- fix(desktop): keep Latin-1 and Shift-JIS files byte-exact on save (#5577) by @ycyc0421 in #5567
- chore(ci): remove Claude Code workflow by @Jocs in #5655
- docs: remove StarDesk sponsor from README and website by @Jocs in #5656
- Follow-up to #5379: move Pandoc conversion out of Export, gate it behind a preference, and report which binary was found by @dimbc in #5513
- fix: #5239 let Ctrl+Backspace delete a word at the end of a line by @johannesroth-coreproduction in #5657
- fix(muya): correct the caret after a native word/line delete, and defer in code blocks (#5239) by @Jocs in #5658
- feat(muya): text & background colour in the inline format toolbar by @Jocs in #5661
New Contributors
- @xThreeh made their first contribution in #5616
- @woahwhattheheck made their first contribution in #5633
- @VictorVow made their first contribution in #5632
- @johannesroth-coreproduction made their first contribution in #5657
Full Changelog: v0.20.0...v0.21.0
v4.4.3
Fixes
- Fixed static-site pull request previews that failed with a missing Dockerfile error. (#8238)
- Fixed the empty terminal container picker for resources with multiple containers. (#12110)
- Fixed nested Base64 custom labels in API updates and deployments. (PR #11473, #11435)
- Prevented DNS polling from filling the queue with duplicate file-sync jobs and delaying DNS checks and deployments. (#12098)
- Fixed the runtime log viewer failing to load with invalid saved filters. (#12101)
- Fixed missing Caddy traffic analytics after enabling analytics and redeploying applications with managed labels. (#12117)
- Preserved previously recorded commit messages when redeployments skipped cloning the repository. (#12116)
- Fixed card title alignment when descriptions were empty. (#12102)
Improvements
- Removed the truncated page-search hint from the navigation search button.
- Made dropdown controls more compact.
- Updated default example repository URLs in development mode to use the main branch.
- Added AMD64 and ARM64 development images from release branches, with versioned and commit-specific tags.
What's Changed
- fix(applications): normalize nested base64 custom labels by @andrasbacsai in #11473
Full Changelog: v4.4.2...v4.4.3
2.8.3
Changes from 2.8.2 to 2.8.3:
Updates:
- Updated MPC Video Renderer to version 0.10.8.2600
- Updated MediaInfo DLL to version 26.10
Changes/additions:
- Added a new modern theme variant for options dialogs and menus that is based on Windows 11 UI design. The existing one was based on Windows 10. You can choose preferred theme here (regardless of which Windows version you use): Options > Advanced > ModernThemeStyle. The main interface is same for both modern variants.
- Added advanced option to use native Windows 11 menus (with rounded corners).
- EVR-CP/Sync now support HLG tonemapping.
- Improved CUE file parsing.
- Some internal improvements to further enhance stability.
Fixes:
- Lots of small fixes and improvements.
Asterisk Release 24.0.0-rc2
The Asterisk Development Team would like to announce
release candidate 2 of asterisk-24.0.0.
The release artifacts are available for immediate download at
https://github.com/asterisk/asterisk/releases/tag/24.0.0-rc2
and
https://downloads.asterisk.org/pub/telephony/asterisk
Repository: https://github.com/asterisk/asterisk
Tag: 24.0.0-rc2
This release resolves issues reported by the community
and would have not been possible without your participation.
Thank You!
Change Log for Release asterisk-24.0.0-rc2
Links:
Summary:
- Commits: 3
- Commit Authors: 2
- Issues Resolved: 3
- Security Advisories Resolved: 0
User Notes:
Upgrade Notes:
Developer Notes:
-
Audiohooks: Fix whisper framehook timer leak and masquerade handling
ast_channel_fd_add() now returns -1 if it fails to allocate
space for the descriptor.
Commit Authors:
- Joshua C. Colp: (2)
- Mike Bradeen: (1)
Issue and Commit Detail:
Closed Issues:
- #2134: [bug]: Bridging channels which have been spied on with ChanSpy fails
- #2179: [bug]: No initial NOTIFY for dialog subscriptions when hint references CustomPresence without AstDB entry (regression in 22.11.0)
- #2186: [bug]: dialog-info NOTIFY for ringing extension no longer contains identity (caller ID) since 22.11.0
Commits By Author:
-
Joshua C. Colp (2):
- extstate/pjsip: Handle lack of or late loading of presence state.
- extstate: Include causing device channel details in legacy callbacks.
-
Mike Bradeen (1):
- Audiohooks: Fix whisper framehook timer leak and masquerade handling
Commit List:
- Audiohooks: Fix whisper framehook timer leak and masquerade handling
- extstate/pjsip: Handle lack of or late loading of presence state.
- extstate: Include causing device channel details in legacy callbacks.
Commit Details:
Audiohooks: Fix whisper framehook timer leak and masquerade handling
Author: Mike Bradeen
Date: 2026-09-25
Resolves several issues with the framehook added to allow whispering without
an underlying stream.
The timer is now owned by the audiohook list rather than the framehook. It is
retired on both channels during a masquerade and recreated when the audiohook(s)
are moved.
If the timer cannot be started, whisper audio is still mixed into the outbound
media as it was previously (requiring an underlying stream.)
An audiohook that cannot be moved to the new channel is now left DONE so that
its owner does not wait on it forever.
Resolves: #2134
DeveloperNote: ast_channel_fd_add() now returns -1 if it fails to allocate
space for the descriptor.
extstate/pjsip: Handle lack of or late loading of presence state.
Author: Joshua C. Colp
Date: 2026-09-25
The extension state implementation is stateful resulting in state
not being updated if a presence state provider does not publish an
update after loading. To handle providers which don't do this we
query for updated state if we are asked for it and the existing
state is invalid. This ensures that if the presence state provider
is loaded later we will get the updated state when asked.
The func_presencestate module is written to publish the persisted
custom presence states at load time. This failed for entries with
a not_set state as this resulted in querying the presence provider
that was not yet registered. The provider is now registered before
this ensuring the update can be published.
This change also fixes an issue in PJSIP where a SUBSCRIBE for a
hint that had an invalid presence state configuration would not
send an initial NOTIFY. We now treat an invalid presence state as
not set instead.
Fixes: #2179
extstate: Include causing device channel details in legacy callbacks.
Author: Joshua C. Colp
Date: 2026-09-29
When a legacy extension state callback registers it can optionally
do so in a way that it will receive the channel(s) that have caused
a device to ring. This is used in PJSIP for the dialog-info+xml
support so that phones can display who is calling the monitored
extension.
An issue was introduced in the extension state rewrite where this
did not occur for the actual device that caused the extension state
update. It was only being done for additional devices that could be
involved. This has been fixed so that it is now done for the causing
device.
Fixes: #2186
Asterisk Release 23.6.0-rc2
The Asterisk Development Team would like to announce
release candidate 2 of asterisk-23.6.0.
The release artifacts are available for immediate download at
https://github.com/asterisk/asterisk/releases/tag/23.6.0-rc2
and
https://downloads.asterisk.org/pub/telephony/asterisk
Repository: https://github.com/asterisk/asterisk
Tag: 23.6.0-rc2
This release resolves issues reported by the community
and would have not been possible without your participation.
Thank You!
Change Log for Release asterisk-23.6.0-rc2
Links:
Summary:
- Commits: 3
- Commit Authors: 2
- Issues Resolved: 3
- Security Advisories Resolved: 0
User Notes:
Upgrade Notes:
Developer Notes:
-
Audiohooks: Fix whisper framehook timer leak and masquerade handling
ast_channel_fd_add() now returns -1 if it fails to allocate
space for the descriptor.
Commit Authors:
- Joshua C. Colp: (2)
- Mike Bradeen: (1)
Issue and Commit Detail:
Closed Issues:
- #2134: [bug]: Bridging channels which have been spied on with ChanSpy fails
- #2179: [bug]: No initial NOTIFY for dialog subscriptions when hint references CustomPresence without AstDB entry (regression in 22.11.0)
- #2186: [bug]: dialog-info NOTIFY for ringing extension no longer contains identity (caller ID) since 22.11.0
Commits By Author:
-
Joshua C. Colp (2):
- extstate/pjsip: Handle lack of or late loading of presence state.
- extstate: Include causing device channel details in legacy callbacks.
-
Mike Bradeen (1):
- Audiohooks: Fix whisper framehook timer leak and masquerade handling
Commit List:
- Audiohooks: Fix whisper framehook timer leak and masquerade handling
- extstate/pjsip: Handle lack of or late loading of presence state.
- extstate: Include causing device channel details in legacy callbacks.
Commit Details:
Audiohooks: Fix whisper framehook timer leak and masquerade handling
Author: Mike Bradeen
Date: 2026-09-25
Resolves several issues with the framehook added to allow whispering without
an underlying stream.
The timer is now owned by the audiohook list rather than the framehook. It is
retired on both channels during a masquerade and recreated when the audiohook(s)
are moved.
If the timer cannot be started, whisper audio is still mixed into the outbound
media as it was previously (requiring an underlying stream.)
An audiohook that cannot be moved to the new channel is now left DONE so that
its owner does not wait on it forever.
Resolves: #2134
DeveloperNote: ast_channel_fd_add() now returns -1 if it fails to allocate
space for the descriptor.
extstate/pjsip: Handle lack of or late loading of presence state.
Author: Joshua C. Colp
Date: 2026-09-25
The extension state implementation is stateful resulting in state
not being updated if a presence state provider does not publish an
update after loading. To handle providers which don't do this we
query for updated state if we are asked for it and the existing
state is invalid. This ensures that if the presence state provider
is loaded later we will get the updated state when asked.
The func_presencestate module is written to publish the persisted
custom presence states at load time. This failed for entries with
a not_set state as this resulted in querying the presence provider
that was not yet registered. The provider is now registered before
this ensuring the update can be published.
This change also fixes an issue in PJSIP where a SUBSCRIBE for a
hint that had an invalid presence state configuration would not
send an initial NOTIFY. We now treat an invalid presence state as
not set instead.
Fixes: #2179
extstate: Include causing device channel details in legacy callbacks.
Author: Joshua C. Colp
Date: 2026-09-29
When a legacy extension state callback registers it can optionally
do so in a way that it will receive the channel(s) that have caused
a device to ring. This is used in PJSIP for the dialog-info+xml
support so that phones can display who is calling the monitored
extension.
An issue was introduced in the extension state rewrite where this
did not occur for the actual device that caused the extension state
update. It was only being done for additional devices that could be
involved. This has been fixed so that it is now done for the causing
device.
Fixes: #2186
Asterisk Release 22.12.0-rc2
The Asterisk Development Team would like to announce
release candidate 2 of asterisk-22.12.0.
The release artifacts are available for immediate download at
https://github.com/asterisk/asterisk/releases/tag/22.12.0-rc2
and
https://downloads.asterisk.org/pub/telephony/asterisk
Repository: https://github.com/asterisk/asterisk
Tag: 22.12.0-rc2
This release resolves issues reported by the community
and would have not been possible without your participation.
Thank You!
Change Log for Release asterisk-22.12.0-rc2
Links:
Summary:
- Commits: 3
- Commit Authors: 2
- Issues Resolved: 3
- Security Advisories Resolved: 0
User Notes:
Upgrade Notes:
Developer Notes:
-
Audiohooks: Fix whisper framehook timer leak and masquerade handling
ast_channel_fd_add() now returns -1 if it fails to allocate
space for the descriptor.
Commit Authors:
- Joshua C. Colp: (2)
- Mike Bradeen: (1)
Issue and Commit Detail:
Closed Issues:
- #2134: [bug]: Bridging channels which have been spied on with ChanSpy fails
- #2179: [bug]: No initial NOTIFY for dialog subscriptions when hint references CustomPresence without AstDB entry (regression in 22.11.0)
- #2186: [bug]: dialog-info NOTIFY for ringing extension no longer contains identity (caller ID) since 22.11.0
Commits By Author:
-
Joshua C. Colp (2):
- extstate/pjsip: Handle lack of or late loading of presence state.
- extstate: Include causing device channel details in legacy callbacks.
-
Mike Bradeen (1):
- Audiohooks: Fix whisper framehook timer leak and masquerade handling
Commit List:
- Audiohooks: Fix whisper framehook timer leak and masquerade handling
- extstate/pjsip: Handle lack of or late loading of presence state.
- extstate: Include causing device channel details in legacy callbacks.
Commit Details:
Audiohooks: Fix whisper framehook timer leak and masquerade handling
Author: Mike Bradeen
Date: 2026-09-25
Resolves several issues with the framehook added to allow whispering without
an underlying stream.
The timer is now owned by the audiohook list rather than the framehook. It is
retired on both channels during a masquerade and recreated when the audiohook(s)
are moved.
If the timer cannot be started, whisper audio is still mixed into the outbound
media as it was previously (requiring an underlying stream.)
An audiohook that cannot be moved to the new channel is now left DONE so that
its owner does not wait on it forever.
Resolves: #2134
DeveloperNote: ast_channel_fd_add() now returns -1 if it fails to allocate
space for the descriptor.
extstate/pjsip: Handle lack of or late loading of presence state.
Author: Joshua C. Colp
Date: 2026-09-25
The extension state implementation is stateful resulting in state
not being updated if a presence state provider does not publish an
update after loading. To handle providers which don't do this we
query for updated state if we are asked for it and the existing
state is invalid. This ensures that if the presence state provider
is loaded later we will get the updated state when asked.
The func_presencestate module is written to publish the persisted
custom presence states at load time. This failed for entries with
a not_set state as this resulted in querying the presence provider
that was not yet registered. The provider is now registered before
this ensuring the update can be published.
This change also fixes an issue in PJSIP where a SUBSCRIBE for a
hint that had an invalid presence state configuration would not
send an initial NOTIFY. We now treat an invalid presence state as
not set instead.
Fixes: #2179
extstate: Include causing device channel details in legacy callbacks.
Author: Joshua C. Colp
Date: 2026-09-29
When a legacy extension state callback registers it can optionally
do so in a way that it will receive the channel(s) that have caused
a device to ring. This is used in PJSIP for the dialog-info+xml
support so that phones can display who is calling the monitored
extension.
An issue was introduced in the extension state rewrite where this
did not occur for the actual device that caused the extension state
update. It was only being done for additional devices that could be
involved. This has been fixed so that it is now done for the causing
device.
Fixes: #2186
Asterisk Release 20.22.0-rc2
The Asterisk Development Team would like to announce
release candidate 2 of asterisk-20.22.0.
The release artifacts are available for immediate download at
https://github.com/asterisk/asterisk/releases/tag/20.22.0-rc2
and
https://downloads.asterisk.org/pub/telephony/asterisk
Repository: https://github.com/asterisk/asterisk
Tag: 20.22.0-rc2
This release resolves issues reported by the community
and would have not been possible without your participation.
Thank You!
Change Log for Release asterisk-20.22.0-rc2
Links:
Summary:
- Commits: 3
- Commit Authors: 2
- Issues Resolved: 3
- Security Advisories Resolved: 0
User Notes:
Upgrade Notes:
Developer Notes:
-
Audiohooks: Fix whisper framehook timer leak and masquerade handling
ast_channel_fd_add() now returns -1 if it fails to allocate
space for the descriptor.
Commit Authors:
- Joshua C. Colp: (2)
- Mike Bradeen: (1)
Issue and Commit Detail:
Closed Issues:
- #2134: [bug]: Bridging channels which have been spied on with ChanSpy fails
- #2179: [bug]: No initial NOTIFY for dialog subscriptions when hint references CustomPresence without AstDB entry (regression in 22.11.0)
- #2186: [bug]: dialog-info NOTIFY for ringing extension no longer contains identity (caller ID) since 22.11.0
Commits By Author:
-
Joshua C. Colp (2):
- extstate/pjsip: Handle lack of or late loading of presence state.
- extstate: Include causing device channel details in legacy callbacks.
-
Mike Bradeen (1):
- Audiohooks: Fix whisper framehook timer leak and masquerade handling
Commit List:
- Audiohooks: Fix whisper framehook timer leak and masquerade handling
- extstate/pjsip: Handle lack of or late loading of presence state.
- extstate: Include causing device channel details in legacy callbacks.
Commit Details:
Audiohooks: Fix whisper framehook timer leak and masquerade handling
Author: Mike Bradeen
Date: 2026-09-25
Resolves several issues with the framehook added to allow whispering without
an underlying stream.
The timer is now owned by the audiohook list rather than the framehook. It is
retired on both channels during a masquerade and recreated when the audiohook(s)
are moved.
If the timer cannot be started, whisper audio is still mixed into the outbound
media as it was previously (requiring an underlying stream.)
An audiohook that cannot be moved to the new channel is now left DONE so that
its owner does not wait on it forever.
Resolves: #2134
DeveloperNote: ast_channel_fd_add() now returns -1 if it fails to allocate
space for the descriptor.
extstate/pjsip: Handle lack of or late loading of presence state.
Author: Joshua C. Colp
Date: 2026-09-25
The extension state implementation is stateful resulting in state
not being updated if a presence state provider does not publish an
update after loading. To handle providers which don't do this we
query for updated state if we are asked for it and the existing
state is invalid. This ensures that if the presence state provider
is loaded later we will get the updated state when asked.
The func_presencestate module is written to publish the persisted
custom presence states at load time. This failed for entries with
a not_set state as this resulted in querying the presence provider
that was not yet registered. The provider is now registered before
this ensuring the update can be published.
This change also fixes an issue in PJSIP where a SUBSCRIBE for a
hint that had an invalid presence state configuration would not
send an initial NOTIFY. We now treat an invalid presence state as
not set instead.
Fixes: #2179
extstate: Include causing device channel details in legacy callbacks.
Author: Joshua C. Colp
Date: 2026-09-29
When a legacy extension state callback registers it can optionally
do so in a way that it will receive the channel(s) that have caused
a device to ring. This is used in PJSIP for the dialog-info+xml
support so that phones can display who is calling the monitored
extension.
An issue was introduced in the extension state rewrite where this
did not occur for the actual device that caused the extension state
update. It was only being done for additional devices that could be
involved. This has been fixed so that it is now done for the causing
device.
Fixes: #2186
Apple, The King’s Trust launch initiative to empower young creatives

Dafne Schippers verloor (net als Matthijs) hond bij treinongeluk: "Sammie redde mij"

Drie jaar geledne nam ze, geplaaagd door te veel rugpijn, afscheid. Ze was toen 31 jaar. In haar afscheidstweet schreef ze kort: ‘De race stopt hier’. Een leven van 12 jaar topsport. 12 jaar van manische interesse in honderste van sconden tijdswinst en alles wat daarbij komt kijken. Het zat erop. Dafne en ik hebben iets gemeen. Iets verdrietigs. Deze podcast heet Schuilen in Schoonheid, waar vind je troost in tijden van onmacht, pijn, verdriet, spanning? Wij vonden dat allebei bij onze hond en we zijn allebei onze hond bij een treinongeluk verloren.”
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.
Jan Mulder: “Sterven. Hoezo? Dat vind ik het grootste onrecht ooit bedacht" | Schuilen in Schoonheid

Maar Jans grootste bijdrage aan ons geluk was zijn onweerstaanbare rol als tafelheer. Een dagelijks leven dat begon bij Barend & Van Dorp, en dat was in 1998. Jan was de allereerste. Een talkshow zonder extra stoel is sinds dien niet meer gemaakt. Jan schreef, in zijn eentje, televisiegeschiedenis."
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.
Abderrahim Nouri: "Die eerste glimlach van Appie is niet te omschrijven" | Schuilen in Schoonheid

Dat is al bijna tien jaar geleden. Nouri leeft sindsdien in een staat van verminderd bewustzijn en woont in een speciaal aangepast huis. Daar wordt hij intensief verzorgd. Abderrahim heeft zijn werk opgezegd en wijdt zijn leven aan het wel en wee van zijn broertje."
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.
Pierre Bokma: "We krijgen wel straf. Het gaat heel naar worden" | Schuilen in Schoonheid

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.


















