Version: Wowza Streaming Engine™ 4.12.1 build 4.12.1 released October 20, 2026.
Java support: Wowza Streaming Engine 4.12.1 is compiled using Java 17 (OpenJDK Java SE JRE 17.0.12). It can be used with Java versions 17 or 21. For more details, see Java version information.
Overview
Smoother source switching. We made switching video sources during a live stream smoother, for example when going from a looping video to a live feed, or moving between playlist files with different formats. Viewers should no longer see long pauses, choppy or frozen video, or glitches. We also made the transcoder recover more reliably, fixed a memory leak, and resolved issues with NVIDIA and NETINT hardware transcoding.
Better H.265 support. More H.265 (HEVC) streams from common encoders now play correctly over WebRTC, and we fixed a bug that stopped some H.265 streams from producing HLS output. We also resolved several other WebRTC issues, including problems with restarts and with running on Amazon EC2.
More cloud storage options. You can now upload recordings to S3-compatible storage services beyond Amazon, such as Fastly, and set access permissions on uploaded files. Failed storage connections now correctly show an error.
Reliability fixes. We fixed issues that caused the server to hang during shutdown and applications to freeze when stopping. The Windows updater now installs codec files correctly, and audio plays properly for certain encrypted streams.
Security. We tightened checks on incoming video data, fixed a vulnerability in the WSE Manager web interface, updated several third-party components, removed an unused one, and moved Docker images to Ubuntu 24.04. Together, these changes address several known security vulnerabilities (CVEs).
Detailed list of changes
Improvements
- Transcoder source switching: The live transcoder now handles a mid-stream change of source, such as a LoopUntilLive switch between a loop and a live stream or a scheduled playlist moving between VOD files with different resolutions or codecs.
- Decoder recovery: Retry failed decoder creation and reduce repeated rebuilds when a configuration continues to be rejected.
- Codec-switch stalls: Fixed the long output interruption when video arrives before the replacement codec configuration.
- Shutdown: Server shutdown now runs the transcoder and SRT shutdown within a bounded time and reports anything that did not stop in time, instead of hanging.
- H.265 over WebRTC: The H.265 RTP packetizer now inserts VPS/SPS/PPS before keyframes that lack them, as the H.264 packetizer already does. H.265 sources that send parameter sets only once or out of band (common for RTMP, RTSP and SRT encoders) now play over WebRTC and WHIP stream targets.
- S3-compatible cloud storage: S3 cloud storage stream targets can now upload to S3-compatible storage, such as Fastly Object Storage, using the new
cloudstorage.urlTemplateproperty. It takeshost[:port][/path]and may include${bucketName},${region},${serviceType}and${domainSuffix}.cloudstorage.aclsets thex-amz-aclheader (public-readby default;noneomits it). S3 playback URLs follow the target's playback host, playback SSL and bucket root path.- WSE Manager's Advanced tab shows URL Template, Domain Suffix, Object ACL, SSL and Playback Over SSL when the S3 provider is selected.
- The unused
cloudstorage.fullPathURIsetting has been removed; setting it now logs a warning. Legacycloudstorage.string.<name>keys inPushPublishMap.txtare renamed tocloudstorage.<name>.
- WebRTC on EC2: The EC2 metadata probe used to discover the server's public address can now be turned off with the new
webrtcHarvestEnableAwsHarvesterproperty. Add it to<WebRTC><Properties>in the application'sApplication.xmland set it tofalse.
Bug fixes
- Fixed visual artifacts (garbled, pixelated or ghosted video) in transcoded output when the source switches between streams, for example with the LoopUntilLive module.
- Fixed transcoded output stalling at well under 1 fps after a source codec change on all transcoding paths except NVIDIA EVA.
- Fixed a memory leak in which every source codec change left the previous decoder's frame buffers allocated for the rest of the session.
- Fixed transcoded output staying near 1 fps for an extended period after the transcoder fell behind and switched to decoding keyframes only.
- Fixed about 25 seconds of frozen transcoded video after a decoder failed to deliver a picture.
- Fixed colors staying wrong for the rest of the session on NVIDIA EVA transcoding when a source switch also increased the resolution.
- HDR transitions: Reset tone-mapping state when sources change and discard pictures whose HDR-to-SDR conversion fails.
- NETINT resolution changes: Prevent buffer overruns and server crashes, and eliminate green HEVC frames after resolution changes.
- Runtime overlays: Prevent freezes, crashes and incorrect frame releases when overlays are enabled during EVA or NETINT transcoding.
- Fixed a deadlock that could hang an application or VHost stop while a transcoder was shutting down.
- SRT lifecycle: Coordinate startup, disconnect and server shutdown; clean up connections once and protect replacement publishers.
- Frame grabs: Report unsuccessful frame grabs instead of returning blank or stale images.
- RTSP/RTP H.265 ingest: CRA and BLA pictures are now detected as keyframes. Sources using open GOP (the default for x265 and most HEVC encoders) no longer stop producing HLS chunks after the first keyframe.
- WebRTC: Restarting an application now closes all of its WebRTC peer connections (WebSocket signaling, WHIP and WHEP). WebSocket signaling clients receive a status message before the socket closes. Publishers no longer keep streaming to a stream that the restart removed.
- Fixed WHIP, WHEP and WebSocket signaling hanging for every WebRTC session when WSE runs in a container on EC2 and the instance metadata service never responds. The metadata probe now times out.
- Fixed cloud storage stream targets (HLS, CMAF and MPEG-DASH) showing Active while every upload failed because the storage controller could not be created. They now report Error.
- In previous versions, an attempt to create a WebRTC application through the REST API without providing WebRTC parameters failed. Now, the application is created with the default settings.
- Letterboxing and overlays: Preserve letterboxed picture colors and contrast, and correct limited-range SDR overlay levels on CPU and EVA paths.
- NETINT bit-depth changes: Handle in-stream changes between 8-bit and 10-bit video, rebuilding or selecting a compatible decoding path when needed.
- NETINT HDR conversion: Route PQ/HLG sources correctly when producing 8-bit SDR renditions, while preserving HDR on Main10 outputs.
- Reconnect cleanup: Prevent an old stream’s shutdown from stopping its replacement transcoder or leaving incorrect connection counts.
- GPU frame accuracy: Fix incorrect buffered-frame repeats on EVA and repeated or substituted pictures caused by unfinished legacy CUDA copies.
- Color and range: Correct missing color labels on EVA and NETINT H.264 output, preserve full-range EVA picture levels, and correctly convert full-range sources for affected NETINT encoders.
- MPEG-2 aspect ratio: Preserve the correct picture shape for sources that specify square pixels.
- WebRTC: Fixed ingest stopping after an ICE restart for publishers whose offer uses
a=sendonly, including WHIP publishers. The stream stayed published but the server dropped its media. - Resolved an issue causing WebRTC data channels to fail silently.
- Fixed live CMAF and DASH with
cbcsencryption and key rotation failing to decrypt audio. Theseigsample group entry now carries each track's own encryption pattern, matching itstenc. With key rotation, thesgpdbox no longer carries a duplicate 16-byte key ID; this also applies tocenc/cbc1output, including DASH VOD and DVR.
Security
- Input validation: Reject malformed H.264/H.265 headers and invalid lengths before they cause excessive allocations, parser errors or processing loops.
- Fixed stored values on WSE Manager's stream target view page being rendered without escaping (stored XSS).
- Updated Jackson to version 2.18.11.
- Updated Spring Framework to 6.2.19 and Spring Boot to 3.5.16 in WSE Manager to resolve CVE-2026-41842, CVE-2026-41845, and CVE-2026-41850.
- Removed the unused
grpc-netty-shadedlibrary, which the Google Cloud Storage stream target does not load, to resolve CVE-2025-55163. Upgrades delete it. - Docker images now use Ubuntu 24.04 bases:
eclipse-temurin:21-jre-noblefor the engine andtomcat:11.0-jdk17-temurin-noblefor WSE Manager. This resolves CVE-2026-84782 in the engine image's OpenSSL and removes vulnerable Go binaries that the floating Tomcat tag had pulled into the WSE Manager image.
Known issues
For a detailed list of currently known issues, see Known issues with Wowza Streaming Engine.




