Skip to content

v3.4.0

Choose a tag to compare

@github-actions github-actions released this 13 Jul 20:19
· 20 commits to main since this release

Highlights

  • Restores high-volume PipeDecoder throughput by replacing a full all-aircraft cache scan on every message with amortized global cleanup.
  • Preserves exact TTL behavior with a bounded per-ICAO expiry check before cached state can influence decoding, including ambiguous BDS 5,0/6,0 inference.
  • Avoids empty state entries and skips state-field extraction for downlink formats that cannot contribute to inference.
  • Adds scripts/stream_filtered.py, a configurable Beast live/replay example that filters inexpensive DF/typecode headers before full decoding.
  • Adds reproducible, version-isolated mixed-traffic and high-cardinality benchmarks with checked-in reports and the public Beast capture.

Performance

Measured on the committed 176,612-frame mixed Beast capture:

Decoder path Throughput
pyModeS 2.21.1 selective helpers 52,998 msg/s
v3.3.0 PipeDecoder 3,897 msg/s
v3.4.0 PipeDecoder 49,243 msg/s
v3.4.0 + header prefilter 85,963 msg/s

The v3.3.0 and v3.4.0 paths emitted the same 28,404 events with an identical output digest. On the 2,000-aircraft synthetic workload, v3.4.0 reached 38,838 msg/s versus v2.21.1 at 39,604 msg/s, also with identical normalized output.

Validation

  • 1,185 tests passed
  • Ruff formatting and lint passed
  • Mypy strict checks passed
  • Wheel and sdist build passed
  • Clean-wheel installation smoke test passed

Full Changelog: v3.3.0...v3.4.0