# mediamtx v1.20.1 - Product: mediamtx (https://whatsnew.fyi/product/mediamtx) - Vendor: bluenviron - Date: 2026-08-18 - Version: v1.20.1 - Original notes: https://github.com/bluenviron/mediamtx/releases/tag/v1.20.1 - Permalink: https://whatsnew.fyi/product/mediamtx/releases/v1.20.1 What's New is an index, not a publisher: every entry below links to the vendor's own release notes, which are the authoritative source. Entries are labelled where they are hand-curated sample data, pre-releases, or drawn from a secondary source such as a developer blog. Reuse: the summaries, labels and curation here are © What's New. Quote freely with attribution and a link back; wholesale republication of the corpus is not permitted — terms: https://whatsnew.fyi/terms. The vendors' own release notes remain their publishers'. --- - **fixed** — Prevent spamming of 'stream is closed' error during shutdown - **fixed** — Impose a minimum value of 8kHz to clock rate of always-available tracks, rising to 22kHz for AAC - **fixed** — Fix race condition during sub-stream creation when reader mutex was not acquired during writing of codec parameters - **fixed** — Restore ability to run the server in a read-only file system - **fixed** — Fix deadlock when changing configuration through file and API in parallel - **changed** — Change default value of authHTTPExclude to not exclude any action from HTTP authentication - **added** — Add destFingerprint parameter to validate self-signed certificates of forward destinations - **fixed** — Fix panic in pmp4 parser when stsc box was not checked properly - **fixed** — Fix panic in pmp4 parser when not checking that MP4 was properly sending addresses of samples - **fixed** — Do not emit empty payloads in pmp4 and fmp4 - **fixed** — Redact password in API responses - **added** — Support pulling streams from other servers in Media-Over-QUIC - **fixed** — Do not accept empty payloads in Media-Over-QUIC - **fixed** — Limit maximum amount of published tracks in Media-Over-QUIC to prevent excessive memory consumption - **changed** — Make /moq URL suffix optional for establishing MoQ sessions with WebTransport - **fixed** — Impose maximum size of 100MB on pending reordered bytes in Media-Over-QUIC - **fixed** — Accept relative digest URI in RTSP digest authentication - **fixed** — Send initial RTCP sender report without waiting for a period - **fixed** — Ensure that decoders produce only output that does not crash encoders - **fixed** — Discard empty Opus and G722 RTP packets ##### Fixes and improvements General * prevent spamming of 'stream is closed' error during shutdown (https://github.com/bluenviron/mediamtx/issues/6062) * impose a minimum value to clock rate of always-available tracks (https://github.com/bluenviron/mediamtx/issues/6086) Clock rates below 10 caused the emission of empty samples. Fix the issue by imposing a minimum value of 8khz, that rises to 22khz in case of AAC. * fix race condition during sub-stream creation (https://github.com/bluenviron/mediamtx/issues/6075) (https://github.com/bluenviron/mediamtx/issues/6095) When a stream with always-available turned on switches from offline to online, or from a publisher to another, the reader mutex was not acquired during writing of codec parameters. This is now fixed. * restore ability to run the server in a read-only file system (https://github.com/bluenviron/mediamtx/issues/6098) This was temporarily lost after the introduction of the native MoQ QUIC listener. * fix deadlock when changing configuration through file and API (https://github.com/bluenviron/mediamtx/issues/6077) (https://github.com/bluenviron/mediamtx/issues/6101) When changing configuration in parallel by editing the configuration file and calling the API, the server could get into a deadlock that prevented any further action. This is fixed. * change default value of authHTTPExclude (https://github.com/bluenviron/mediamtx/issues/6103) by default, do not exclude any action from HTTP authentication. Old value triggered several security warnings. * add destFingerprint parameter (https://github.com/bluenviron/mediamtx/issues/6106) this allows to validate self-signed certificates of forward destinations. * pmp4: fix panic in case of bad input (https://github.com/bluenviron/mediacommon/issues/354) the stsc box was not checked properly. This is now fixed. * pmp4: fix panic in case of bad input (https://github.com/bluenviron/mediacommon/issues/355) The parser was not checking that the MP4 was properly sending addresses of samples, resulting in samples with invalid addresses. This is now fixed. * pmp4, fmp4: do not emit empty payloads (https://github.com/bluenviron/mediacommon/issues/353) API * redact password in responses (https://github.com/bluenviron/mediamtx/issues/6110) passwords are not exposed anymore through the API. They can only be set, not read. Media-Over-QUIC * support pulling streams from other servers (https://github.com/bluenviron/mediamtx/issues/6111) * do not accept empty payloads (https://github.com/bluenviron/mediamtx/issues/6085) * limit maximum amount of published tracks (https://github.com/bluenviron/mediamtx/issues/6087) this prevents clients from consuming an excessive amount of memory. * make /moq URL suffix optional (https://github.com/bluenviron/mediamtx/issues/6107) In order to establish a MoQ session with WebTransport, a /moq suffix was required until now. This is now optional in order to allow connecting to the server with the standard MoQ URL format. * impose maximum size on pending reordered bytes (https://github.com/bluenviron/mediamtx/issues/6112) Decrease the maximum memory that clients can take by imposing a maximum size of 100MB on the pending reordered bytes. RTSP * accept relative digest URI (https://github.com/bluenviron/gortsplib/issues/1118) RFC 2617 section 3.2.2 allows the digest URI to be either an absolute URI or a relative path. Some clients use the latter, which was rejected with "wrong URL" since urlMatches only accepted an exact match against the absolute request URL. * send initial RTCP sender report without waiting for a period (https://github.com/bluenviron/gortsplib/issues/1052) (https://github.com/bluenviron/gortsplib/issues/1111) (https://github.com/bluenviron/gortsplib/issues/1120) Reports were emitted only on the ticker, so the first one arrived Period after Initialize (10s by default) and later still when no RTP packet had been sent by that first tick, since report() returns nil _[Truncated at 4000 characters — full notes: https://github.com/bluenviron/mediamtx/releases/tag/v1.20.1]_