---
changelog:
  category: Release
  version: 0.9.0
date: '2026-10-17T13:23:23Z'
seo:
  description: >-
    feat!: typed bind errors and capability failure events (#251) by @deepso7 in
    https://github.com/deepso7/minip2p/pull/367feat!: delivered bytes from
    closed…
title: v0.9.0
type: changelog
---
## What's Changed
* feat!: typed bind errors and capability failure events (#251) by @deepso7 in https://github.com/deepso7/minip2p/pull/367
* feat!: delivered bytes from closed connections stay counted (#356) by @deepso7 in https://github.com/deepso7/minip2p/pull/368
* QUIC: best-effort socket buffers and a throughput bench past the windows by @deepso7 in https://github.com/deepso7/minip2p/pull/369
* QUIC: memory budget through memory reservations (#360) by @deepso7 in https://github.com/deepso7/minip2p/pull/372
* refactor!: fold minip2p-noise and minip2p-yamux into secure-mux (#253 2/2) by @deepso7 in https://github.com/deepso7/minip2p/pull/374
* refactor!: fold platform into core and noise/yamux into secure-mux, add workspace.dependencies (#253) by @deepso7 in https://github.com/deepso7/minip2p/pull/373
* feat(quic)!: tune default windows at a real RTT with an emulated-link bench (#361) by @deepso7 in https://github.com/deepso7/minip2p/pull/375
* test(quic): wait for loopback to go quiet when draining the raw peer by @deepso7 in https://github.com/deepso7/minip2p/pull/380
* feat!: memory budgets for TCP and circuits (#357) by @deepso7 in https://github.com/deepso7/minip2p/pull/385
* perf(quic): read several datagrams per receive call where there is no GRO by @deepso7 in https://github.com/deepso7/minip2p/pull/388


**Full Changelog**: https://github.com/deepso7/minip2p/compare/v0.8.3...v0.9.0
