Skip to content

stitchkit v0.110.0

Choose a tag to compare

@github-actions github-actions released this 14 Oct 16:45
· 87 commits to master since this release

⚠️ Breaking changes

Who must act: applications with exhaustive lifecycle termination/previous-exit switches must handle interrupted. Other applications can adopt the HTTP and native cleanup fixes without code changes.

  • stitchkit/application — an abandoned draining process now ends as interrupted, including a drain before readiness. Before: previousExit === "abnormal" (or "startup-failed") mixed unfinished shutdowns with crashes; after: add case "interrupted" to exhaustive handlers. Handoff and hot reload stay unchanged. StartFact.previousDrainUpperBoundMs measures the recorded drain-to-successor upper bound without claiming a kill signal or exact death time.
    Affects: stitchkit/application LifecycleTerminationSchema, LifecycleTermination, PreviousExitSchema, PreviousExit, StartFact, transitionProcessStart

Fixed

  • A fast owner-loss guard exit no longer overtakes a buffered start handshake or discards captured output while the handshake is in flight. The control stream determines whether the handshake was missing, and output readers attach before waiting for it. Native lifetime qualification checks descendant death within its cleanup window before asserting stable output.

Added

  • stitchkit/http exposes the existing typed HTTP client factories and ApiError without the optional Socket.IO graph, so React Native/Hermes can compile HTTP-only applications. Contracts remain available from stitchkit/contract. The shared exports deliberately reuse the same HTTP implementation (I7, I8).