Skip to content

Conversation

@renovate
Copy link
Contributor

@renovate renovate bot commented Oct 10, 2025

This PR contains the following updates:

Package Change Age Confidence
github.com/pion/webrtc/v4 v4.1.4v4.2.3 age confidence

Release Notes

pion/webrtc (github.com/pion/webrtc/v4)

v4.2.3

Compare Source

Changelog

  • 0425062 Update sctp to fix regression

v4.2.2

Compare Source

What's Changed

Special thanks to @​AkshayJainG for reporting and diagnosing several panic conditions in the IVF and OGG readers caused by malformed inputs. these fixes improve robustness when handling untrusted or malformed media inputs using ogg reader or ivf reader.

New Contributors

Full Changelog: pion/webrtc@v4.2.1...v4.2.2

v4.2.1

Compare Source

Changelog

  • a5ce252 Assert no repair after stop
  • 48f7ac7 Check for closed receiver before setting up rid

v4.2.0

Compare Source

We are pleased to announce our final and largest release of 2025. This release includes contributions from 69 contributors.

This release also marks a new era for Pion. Going forward, we will publish releases on a regular schedule.

Major new features

RACK

ICE Renomination

// For advanced use with a custom generator and interval.
se := webrtc.SettingEngine{}

interval := 2 * time.Second
customGen := func() uint32 { return uint32(time.Now().UnixNano()) } // example

if err := se.SetICERenomination(
	webrtc.WithRenominationGenerator(customGen),
	webrtc.WithRenominationInterval(interval),
); err != nil {
	log.Println(err)
}

Cryptex

  • Pion now supports Cryptex, enabling full encryption of RTP headers and header extensions. This work is included in pion/srtp#324 and pion/sdp#213.

FlexFEC

ICEAddressRewriteRule

  • Pion’s NAT 1:1 API is now deprecated. After years of use, it no longer fits modern deployment models. This change is implemented in pion/ice#834 and #​3309.

The new API, SetICEAddressRewriteRules(rules ...ICEAddressRewriteRule) error, rewrites the IP addresses embedded in gathered ICE candidates.

Rule fields (high level):

  • External []string: the address or addresses you want to expose
  • Matchers: Local, CIDR, or Iface
  • Mode: Replace (default) or Append (keep the original and add the rewritten candidate)
  • Optional: AsCandidateType (for example, rewrite as srflx)
se := webrtc.SettingEngine{}

_ = se.SetICEAddressRewriteRules(
	webrtc.ICEAddressRewriteRule{
		Local:    "10.0.0.12",
		External: []string{"203.0.113.10"},
		// Mode omitted, defaults to Replace.
	},
)

api := webrtc.NewAPI(webrtc.WithSettingEngine(se))
// pc, _ := api.NewPeerConnection(...)
// For more advanced use.
se := webrtc.SettingEngine{}

se.SetICEAddressRewriteRules(
	// Allow eth0 (map RFC1918 to public 203.0.113.10)
	webrtc.ICEAddressRewriteRule{
		Iface:    "eth0",
		CIDR:     "10.0.0.0/8",
		External: []string{"203.0.113.10"},
		Mode:     webrtc.ICEAddressRewriteReplace,
	},

	// Allow eth1 (map 192.168/16 to public 198.51.100.20)
	webrtc.ICEAddressRewriteRule{
		Iface:    "eth1",
		CIDR:     "192.168.0.0/16",
		External: []string{"198.51.100.20"},
		Mode:     webrtc.ICEAddressRewriteReplace,
	},

	// Catch-all: drop any other IPv4 host candidates
	webrtc.ICEAddressRewriteRule{
		CIDR:     "0.0.0.0/0",
		Mode:     webrtc.ICEAddressRewriteReplace,
		External: nil, // drop
	},

	// Catch-all: drop any other IPv6 host candidates
	webrtc.ICEAddressRewriteRule{
		CIDR:     "::/0",
		Mode:     webrtc.ICEAddressRewriteReplace,
		External: nil, // drop
	},
)

SVT-AV1

HEVC reader and writer

  • #​3171

    • pkg/media/h265reader parses an H.265/HEVC Annex-B byte stream (start-code delimited) into NAL units you can work with.
    • pkg/media/h265writer takes H.265 RTP payloads (RFC 7798) and writes them back out as an Annex-B bytestream, which is useful for recording and archiving.

New OGG Reader API

  • A series of improvements to oggreader:

    • #​3301 adds OpusTags support via ParseOpusTags, enabling access to artist, title, and vendor comments.
    • #​3299 expands ParseOpusHead to parse Opus channel mappings for multichannel layouts.
    • #​3300 updates oggreader to handle multi-track Ogg by routing pages by serial and introducing NewWithOptions along with richer page and header APIs.
    • #​3302 validates the full flow by streaming single-track and multi-track Ogg with a playlist and metadata over DataChannel control, while audio remains on the RTP track.

More great features

  • Do not discard SEI NALs for H264/H265 — #​3313
  • Use ping-pong buffer for batch conn — pion/transport#363
  • Add CanTrickleICECandidates — #​3283
  • Add nohost gather policy — #​3305
  • Make Allocation/Permission lifetime configurable — pion/turn#495
  • RFC: Add a configurable sized nonce generator — pion/turn#460
  • Add AudioPlayoutStatsProvider interface for getting media-playout stats — #​3234
  • Expose stats ID for use in interceptor factories — #​3249
  • Allow IVFWriter Width/Height to be modified — #​3219
  • Allow IVFWriter Framerate to be modified — #​3220

New Examples

Major bug fixes

Performance improvement

@​3drx @​5ur3 @​aalekseevx @​aankur @​adeithe @​alexhu-oai @​amanakin @​andjcoll @​anshulmalik @​arindamnayak @​arjunshajitech @​asayyah @​astroza @​at-wat @​atoppi @​bajam-genetec @​berkant @​boks1971 @​britblue @​cgojin @​chaturvedishilpa @​chenosaurus @​cmorillas @​cnderrauber @​copilot @​cppcoffee @​debugmenot @​drshrey @​enobufs @​frantabot @​ghost @​hackerman-ru @​hanguyen-nuro @​hexbabe @​jackielii @​jasmoran @​jiajieli-dev @​joeturki @​juliapixel @​kevmo314 @​kmansoft @​lars-sto @​lidian-runner @​lkang-nuro @​mengelbart @​mikeyg42 @​miya-masa @​mrpomidoro @​nils-ohlmeier @​olexandr88 @​penhauer @​philipch07 @​pionbot @​rg0now @​ryanpotat @​sean-der @​setheck @​sirzooro @​sundenis @​sunofcoder @​sxmzou @​theodorsm @​thesyncim @​tmatth @​trs00 @​valorzard @​wrangelvid @​xinze-zheng @​yannismate @​yzhao-nuro

v4.1.8

Compare Source

Changelog

  • 0936b7d Option to check for fingerprint in DTLS handshake
  • 79d7571 Implement deadlines for mux
  • 21a8b0a Update module github.com/pion/stun/v3 to v3.0.2 (#​3293)
  • 62f6101 Do not invoke OnBufferedAmountLow after close

v4.1.7

Compare Source

Changelog

v4.1.6

Compare Source

Changelog

  • f35dc4e Handle nil stats getter in collect stats
  • caef6a9 Update module github.com/pion/sctp to v1.8.40 (#​3241)
  • a35c52a Update CI configs to v0.11.31
  • 4ca0aec Update module github.com/pion/rtp to v1.8.23

v4.1.5

Compare Source

Changelog

  • 0575dfb Add interface for getting media-playout stats
  • bf15721 Update module github.com/pion/transport/v3 to v3.0.8
  • 041211f Update module github.com/pion/interceptor to v0.1.41
  • 706c75b Update module github.com/pion/srtp/v3 to v3.0.8
  • 43976dc Update CI configs to v0.11.29
  • e0181e9 Update TestPeerConnection_SessionID to run on WASM
  • 5a0e56e Prefer makezero with a cap
  • 9acbc66 Cleanup statsGetter after peer is closed
  • 4c1261f Add inbound-rtp stats
  • 370412f Improve code cov
  • 7f1ab45 Remove unused file
  • 39d1b3c Apply go modernize suggestions
  • 781ff73 Create examples/data-channels-detach-create
  • f5fd0fa Update dependency @​roamhq/wrtc to v0.9.1
  • 6ef2888 Fix RTPSender.SetReadDeadline crash
  • 634a904 Fire OnBufferedAmountLow in a goroutine
  • 1527bfa Allow IVFWriter Framerate to be modified
  • cf7625d Allow IVFWriter Width/Height to be modified
  • 882f699 Update actions/setup-node action to v5
  • e9efed4 Fix trailing space in rtcp-fb with no Parameter
  • 457679c Update module github.com/pion/rtp to v1.8.22
  • 3bb8fce Update module github.com/pion/sdp/v3 to v3.0.16
  • 4eebb3e Update actions/checkout action to v5
  • 5b098de Update CI configs to v0.11.26
  • cda9130 Update CI configs to v0.11.25
  • e7183f9 Update CI configs to v0.11.24
  • c376d0e Match codec order of remote peer
  • 42b3cfd Update module github.com/stretchr/testify to v1.11.1
  • 2af60a4 Filter unattached RTX when getting codecs
  • 123f138 Update module github.com/stretchr/testify to v1.11.0
  • 4b37165 Tests to ensure proper direction in SDP
  • 6424d85 Consider remote direction in add track
  • 469ca2c Disallow incompatible transceiver directions
  • 2299a71 Add opt control transceiver re-use in recvonly
  • 3e84081 Add partialMatch codecs to transceiver from remote
  • c82d96c Remove RTX codec if no primary

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Enabled.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate
Copy link
Contributor Author

renovate bot commented Oct 10, 2025

⚠️ Artifact update problem

Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.

♻ Renovate will retry this branch, including artifacts, only when one of the following happens:

  • any of the package files in this branch needs updating, or
  • the branch becomes conflicted, or
  • you click the rebase/retry checkbox if found above, or
  • you rename this PR's title to start with "rebase!" to trigger it manually

The artifact failure details are included below:

File name: go.sum
Command failed: go get -t ./...
go: downloading github.com/pion/webrtc/v4 v4.2.3
go: downloading github.com/pion/datachannel v1.6.0
go: downloading github.com/pion/dtls/v3 v3.0.10
go: downloading github.com/pion/ice/v4 v4.2.0
go: downloading github.com/pion/sctp v1.9.2
go: downloading github.com/pion/sdp/v3 v3.0.17
go: downloading github.com/pion/srtp/v3 v3.0.10
go: downloading github.com/pion/stun/v3 v3.1.1
go: downloading github.com/pion/transport/v4 v4.0.1
go: downloading github.com/pion/mdns/v2 v2.1.0
go: downloading github.com/pion/turn/v4 v4.1.4
go: downloading golang.org/x/time v0.10.0
go: github.com/pion/bwe/simulation tested by
	github.com/pion/bwe/simulation.test imports
	github.com/pion/interceptor/pkg/rtpfb: cannot find module providing package github.com/pion/interceptor/pkg/rtpfb

@renovate renovate bot force-pushed the renovate/github.com-pion-webrtc-v4-4.x branch 2 times, most recently from 18750af to 4a5b818 Compare October 15, 2025 15:30
@renovate renovate bot changed the title Update module github.com/pion/webrtc/v4 to v4.1.5 Update module github.com/pion/webrtc/v4 to v4.1.6 Oct 15, 2025
@renovate renovate bot force-pushed the renovate/github.com-pion-webrtc-v4-4.x branch 4 times, most recently from 33fce28 to b03fd70 Compare October 17, 2025 23:59
@renovate renovate bot force-pushed the renovate/github.com-pion-webrtc-v4-4.x branch from b03fd70 to 18b09d6 Compare October 25, 2025 00:46
@renovate renovate bot changed the title Update module github.com/pion/webrtc/v4 to v4.1.6 Update module github.com/pion/webrtc/v4 to v4.1.6 - autoclosed Oct 25, 2025
@renovate renovate bot closed this Oct 25, 2025
@renovate renovate bot deleted the renovate/github.com-pion-webrtc-v4-4.x branch October 25, 2025 13:02
@renovate renovate bot changed the title Update module github.com/pion/webrtc/v4 to v4.1.6 - autoclosed Update module github.com/pion/webrtc/v4 to v4.1.6 Oct 25, 2025
@renovate renovate bot reopened this Oct 25, 2025
@renovate renovate bot force-pushed the renovate/github.com-pion-webrtc-v4-4.x branch 2 times, most recently from 18b09d6 to 334cf34 Compare October 25, 2025 16:50
@renovate renovate bot force-pushed the renovate/github.com-pion-webrtc-v4-4.x branch 2 times, most recently from 51abcbd to 59f94c3 Compare November 11, 2025 10:09
@renovate renovate bot force-pushed the renovate/github.com-pion-webrtc-v4-4.x branch 2 times, most recently from 228480a to fdb1022 Compare December 5, 2025 14:14
@renovate renovate bot changed the title Update module github.com/pion/webrtc/v4 to v4.1.6 Update module github.com/pion/webrtc/v4 to v4.1.7 Dec 5, 2025
@renovate renovate bot force-pushed the renovate/github.com-pion-webrtc-v4-4.x branch from fdb1022 to aefb8bc Compare December 10, 2025 03:05
@renovate renovate bot changed the title Update module github.com/pion/webrtc/v4 to v4.1.7 Update module github.com/pion/webrtc/v4 to v4.1.8 Dec 10, 2025
@renovate renovate bot force-pushed the renovate/github.com-pion-webrtc-v4-4.x branch 3 times, most recently from 2f514a3 to e175f80 Compare December 24, 2025 00:57
@renovate renovate bot changed the title Update module github.com/pion/webrtc/v4 to v4.1.8 Update module github.com/pion/webrtc/v4 to v4.2.0 Dec 24, 2025
@renovate renovate bot force-pushed the renovate/github.com-pion-webrtc-v4-4.x branch from e175f80 to ad29052 Compare December 24, 2025 12:51
@renovate renovate bot changed the title Update module github.com/pion/webrtc/v4 to v4.2.0 Update module github.com/pion/webrtc/v4 to v4.2.1 Dec 24, 2025
@renovate renovate bot force-pushed the renovate/github.com-pion-webrtc-v4-4.x branch from ad29052 to 373ce7e Compare December 27, 2025 09:02
@renovate renovate bot force-pushed the renovate/github.com-pion-webrtc-v4-4.x branch 2 times, most recently from 36a23b0 to 6b860ab Compare January 9, 2026 21:38
@renovate renovate bot changed the title Update module github.com/pion/webrtc/v4 to v4.2.1 Update module github.com/pion/webrtc/v4 to v4.2.2 Jan 9, 2026
@renovate renovate bot force-pushed the renovate/github.com-pion-webrtc-v4-4.x branch from 6b860ab to a843be3 Compare January 12, 2026 17:03
@renovate renovate bot changed the title Update module github.com/pion/webrtc/v4 to v4.2.2 Update module github.com/pion/webrtc/v4 to v4.2.3 Jan 12, 2026
@renovate renovate bot force-pushed the renovate/github.com-pion-webrtc-v4-4.x branch from a843be3 to 43be449 Compare January 22, 2026 08:57
@renovate renovate bot force-pushed the renovate/github.com-pion-webrtc-v4-4.x branch from 43be449 to 731a2fa Compare January 31, 2026 21:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants