Skip to content

prosody-py: v0.1.0

Choose a tag to compare

@hadronzoo hadronzoo released this 13 Apr 21:37
6b1308a

0.1.0 (2026-04-13)

⚠ BREAKING CHANGES

  • add QoS middleware and rename shutdown to cancel (#95)
  • add timer scheduling support with Cassandra persistence (#81)

Features

  • add event filtering, source tracking, and fix backpressure deadlock (#56) (9d6f3ad)
  • add Kafka telemetry emitter (#123) (64517fc)
  • Add message deduplication support (#53) (62d568d)
  • add QoS middleware and rename shutdown to cancel (#95) (3b0d2db)
  • add timer scheduling support with Cassandra persistence (#81) (282f278)
  • asyncio.CancelledError propagation no longer required (#33) (444f174)
  • basic message consumption (65f97d8)
  • best-effort mode (#48) (f17dc8d)
  • capture send spans (27b3041)
  • configuration error surfacing, per-type timer semaphores, timer read performance (#128) (470859b)
  • consumer: add health check probes and stall detection (#42) (4a8dbc6)
  • consumer: add shutdown timeout parameter (#65) (a73c452)
  • consumer: Implement graceful shutdown and error handling (#12) (83916a2)
  • consumer: improve graceful shutdown (#15) (a633b23)
  • expose admin client (#93) (9bb65f7)
  • expose source system and remove deprecated methods (#90) (3fb3c2a)
  • initial commit (3f476b3)
  • non-blocking timer retry (#113) (c3a3ccb)
  • permanent error support (#31) (f739b0e)
  • persistent deduplication with global cache and Cassandra backend (#130) (46cc1b7)
  • protect client methods against post-fork usage (#133) (edbdc08)
  • Sentry error monitoring for handler dispatch (#132) (f172da7)
  • shutdown grace period and configurable span relation (#134) (e6766dc)
  • support high-level modes (00630a8)
  • support regex topic subscriptions (#87) (2ba0d6c)

Bug Fixes

  • add migration locks and jitter to timer slab loads (#85) (d4693c9)
  • always check for shutdown before retrying (#63) (5106440)
  • attach traceback to error span (#51) (de4ca93)
  • bump dep for Windows rdkafka build support (c0597ae)
  • bump prosody to pick up OTEL fixes (#83) (4c5fe25)
  • bundle zlib statically (#101) (7f23f01)
  • cache parent context instead of span in Kafka loader (b8142f7)
  • consumer: don’t commit empty topic lists (#73) (7a44f93)
  • consumer: don't commit final offsets during a rebalance (#71) (f7bfbee)
  • consumer: prevent commits during rebalancing, add concurrency limit, fix watermark tracking (#69) (d8c1ff8)
  • consumer: use librdkafka to commit and add additional liveness checks (#75) (00d1983)
  • context propagation (90ffde9)
  • downgrade span parent extraction failures to debug level (#105) (cce6610)
  • ensure handler coroutine is run in the asyncio event loop (d55a3ac)
  • ensure latest Rust is installed on MacOS builds (#58) (0404988)
  • fix mocking, ci, and bump deps (#46) (1c49bfe)
  • graceful slab_loader shutdown, remove timer backpressure gaps, and new API surface (#117) (5abec25)
  • group id and source system env var fallback (#61) (ef3d72c)
  • make handler available to gc (6421b7d)
  • only log events, not spans (#116) (61fa1fb)
  • package name (#4) (ab2f375)
  • prevent false OffsetDeleted errors from concurrent loader requests (#121) (5bba955)
  • propagate span traces through context methods (#92) (dcb63fe)
  • remove deprecated x86 macOS builds from release workflow (#99) (6622539)
  • remove max_enqueued_per_key from type signatures (#118) (9163c23)
  • replace pyo3-log with non-blocking Python logging layer (#98) (11f8215)
  • respect stall threshold (#67) (a9060a3)
  • short circuit failures and properly configure producer mode (#28) (2744603)
  • telemetry event_time uses millisecond precision with Z suffix (#126) (947b541)
  • trigger other workflows on release branch (#6) (70a17c3)
  • update prosody to fix cross-topic key collisions (#103) (c85d91d)
  • update prosody to fix partition resume after rebalance (#110) (3a7f97c)
  • update prosody to fix timeout-induced partition stalls (#108) (845ae1a)
  • upgrade macos CI runner (befb975)
  • use thread-safe channels in timer tests (#97) (f7b60d7)

Performance Improvements

  • bound message buffering (35278ba)
  • consumer: reduce cloning and message data movement (#20) (1dbbc46)
  • don’t allocate and convert the datetime unless needed (1bbe5b9)
  • json: upgrade Prosody (#30) (60d7432)
  • use args instead of kwargs (f72d513)
  • use jemalloc allocator (#114) (68f77d5)

Miscellaneous Chores