Skip to content

v0.10.0 — five transports: postgres, redis, mysql, grpc, generic tcp

Latest

Choose a tag to compare

@pingedbrain pingedbrain released this 10 Oct 16:38
· 3 commits to main since this release

Highlights

microburst is now multi-protocol: the same rules DSL, fired log, control API, metrics and stats drive five data planes.

  • --protocol postgres — (0.9.0) SQLSTATE-correct ErrorResponses, tx-aware injection
  • --protocol redis — RESP2/3: -MOVED/-ASK cluster redirects real clients follow, READONLY/LOADING, MULTI-aware skipping, mid-bulk cut_reply
  • --protocol mysql — ERR_Packet with real errno+SQLSTATE pairs (1213/40001 deadlock, 1040 too-many-connections at handshake), SERVER_STATUS_IN_TRANS tracking, prepared-statement id→SQL so sql: matches COM_STMT_EXECUTE
  • --protocol grpc — h2c HTTP/2: trailers-only UNAVAILABLE, mid-stream grpc-status after N real messages, RST_STREAM aborts, flow-control stall timeouts
  • --protocol tcp — universal fallback: user-declared framing (length-prefix/delimiter/fixed), payload: byte-regex matching, cut/corrupt/respond: synthetic bytes — chaos on any wire protocol without a dedicated module
  • transports.py registry — the formal seam: a new wire transport is a registry entry + a sibling package

Plus: sdk-matrix rust client moved off the legacy rustls-0.21 stack (dependabot fix).

1685 tests · live-verified against real PG16, Redis 7, MariaDB 11.8.

Full changelog: https://github.com/pingedbrain/microburst/blob/main/CHANGELOG.md