- Raise MSRV to 1.88.0. See PR 6273.
-
Change
Event::NewExternalAddrandEvent::ExpiredExternalAddrfrom tuple variants to struct variants that include both local and external addresses. This allows users to correlate which local listen address was mapped to which external address.Event::NewExternalAddrnow containslocal_addrandexternal_addrfieldsEvent::ExpiredExternalAddrnow containslocal_addrandexternal_addrfields See PR 6121.
-
Skip port mapping when an active port mapping is present. Previously, the behavior would skip creating new mappings if any mapping (active or inactive or pending) existed for the same port. Now it correctly only checks active mappings on the gateway. See PR 6127.
-
Fix excessive retry attempts for failed port mappings by implementing exponential backoff. Failed mappings now retry up to 5 times with increasing delays (30s to 480s) before giving up. This prevents continuous retry loops. See PR 6128.
- update igd-next to 0.15.1. See PR XXXX.
- Fix a panic caused when
upnp::Gatewayis dropped and its events queue receiver is no longer available. See PR 5273.
- Fix a panic caused when dropping
upnp::Behavioursuch as when used together withToggle. See PR 5096.
-
Fix high CPU usage due to repeated generation of failure events. See PR 4569.
-
Fix port mapping protocol used for a UDP multiaddress. See PR 4542.
- Initial version