Skip to content

Complete the 0.7.1 changelog audit - #44

Merged
JovaniPink merged 1 commit into
masterfrom
release/0.7.1-changelog-audit
Aug 26, 2026
Merged

Complete the 0.7.1 changelog audit#44
JovaniPink merged 1 commit into
masterfrom
release/0.7.1-changelog-audit

Conversation

@JovaniPink

Copy link
Copy Markdown
Owner

Rationale

The 0.7.1 changelog was dated before the latest merged work even though the
repository has no published 0.7.1 release. It also reported 56 configured SCXML
cases instead of the current 57 and omitted the merged SCXML macrostep ordering
and public generic typing work.

The ActorRef structural boundary test exercised runtime behavior but did not
pass strict MyPy because its test double, listener, constructors, and test
functions lacked annotations.

Scope

  • Mark 0.7.1 as unreleased.
  • Document the merged public generic typing, XState v5 event descriptor and
    target path behavior, bounded macrostep execution, immutable microstep
    traces, local inspection callbacks, ActorRef boundary, and SCXML macrostep
    ordering.
  • Reconcile the configured SCXML result to 57 passing cases.
  • Preserve the limits around broader W3C conformance, the local inspection
    callback, package ownership, and publication authorization.
  • Add strict annotations to the ActorRef structural test double and tests.

Non-scope

  • No runtime statechart or actor behavior changes.
  • No claim of full W3C SCXML conformance.
  • No claim of compatibility with the Stately inspection wire protocol.
  • No tag, GitHub Release, PyPI publication, package ownership change, or
    publication authorization.

Validation

  • Focused behavior and typing-contract suite: 68 passed.
  • Strict MyPy for tests/test_actor_ref.py: no issues found.
  • Strict MyPy for src/xstate/algorithm.py and src/xstate/trace.py: no issues
    found.
  • Canonical release preflight:
    • Package metadata and lock validation passed.
    • Primary suite: 482 passed.
    • Configured SCXML suite: 57 passed.
    • Ruff format and lint passed.
    • MyPy passed for 23 source files.
    • Source distribution and wheel built successfully.
    • Isolated installed-wheel smoke passed.
  • Staged diff and whitespace checks passed.
  • Changed files contain ASCII US English only.

Risks and rollback

Risk is limited to release-note accuracy and stricter test annotations. The
runtime package implementation is unchanged. Rollback is a revert of commit
7e71b69.

Release boundary

This PR validates a 0.7.1 source and wheel candidate. It does not establish
PyPI project ownership, authorize publication, create a tag, or publish a
release.

Review focus

  • Confirm the changelog claims match merged PRs 39 through 43 without claiming
    broader parity.
  • Confirm 57 is limited to the configured SCXML suite.
  • Confirm local inspection is distinguished from the Stately wire protocol.
  • Confirm ActorRef remains a consumer boundary while concrete actor creation
    and spawn return precise Actor types.

Diff size and merge plan

The change is intentionally limited to one changelog and one focused test file.
It should merge as one squash commit after hosted checks pass for the exact
reviewed head.

@JovaniPink
JovaniPink merged commit 18d6ea9 into master Aug 26, 2026
4 checks passed
@JovaniPink
JovaniPink deleted the release/0.7.1-changelog-audit branch August 26, 2026 18:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant