Skip to content

0.3.0-alpha1 release notes: breaking/behavior changes to include #300

Description

@NikolayS

Tracking issue so breaking/behavior changes from the #283 fix series make it into the 0.3.0-alpha1 release notes (there is no CHANGELOG.md; notes are authored at release time per clients/*/RELEASE.md).

Items collected so far from the deep reviews:

  1. Python client — Event.extra removed (breaking). From fix(python): consumer loop drain, error survival, dead Event.extra #291: the Event.extra: dict[str, str] field never worked (data placed there was silently dropped; pgque.send has no extras surface). It is now removed, and constructing Event(..., extra={...}) raises TypeError. One-line note recommended by the reviewer since Event is a public dataclass.

  2. Experimental pgque.throughput() — bucket alignment changed (behavior). From fix: experimental SQL bugs + CI coverage #288: buckets now align to epoch (UTC) boundaries via to_timestamp(floor(epoch/sec)*sec) instead of session-timezone minute boundaries. This is what makes sub-minute and non-minute-multiple bucket sizes correct, but existing callers of minute-multiple buckets may see bucket boundaries shift. Non-positive bucket sizes now raise instead of dividing by zero.

  3. Consumer loop behavior (all three clients) — worth a "fixed" note, not breaking. From fix(go): back off before re-polling failed batch #284/fix(ts): back off on nack/ack failure in consumer #289/fix(python): consumer loop drain, error survival, dead Event.extra #291: consumers now back off one poll interval before re-polling an unfinished batch (previously a zero-delay hot loop re-executing handlers), the Python consumer drains backlogs immediately and survives connection loss/failover instead of exiting.

Add further items here as remaining PRs from the series merge; close when the release notes are drafted.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions