Skip to content

Releases: mizchi/uneffect

Release list

v0.5.1

Choose a tag to compare

@mizchi-release-bot mizchi-release-bot released this 29 Sep 10:42
dcf41a5

0.5.1 (2026-09-29)

Changed

  • Bundle the legacy TypeScript 6 compiler into the published JavaScript so consumers no longer need to install it as a peer dependency.

Added

  • Support % in bounded signed remainder contract proofs.
  • Keep writes to freshly constructed local arrays and objects private until their identity escapes, including local aliases of objects.
  • Prove a primitive string's split result fresh when the separator is a string literal.

Fixed

  • Preserve the published syntax facts v1 shape while checking literal split.
  • Keep recursive mutation-region propagation bounded and recognize non-escaping array reads and copies during local construction.

v0.1.0

Choose a tag to compare

@mizchi mizchi released this 29 Aug 13:46

Changelog

All notable changes to Uneffect are documented in this file.

0.1.0 - 2026-08-29

First experimental minor release.

Added

  • Gradual TypeScript effect declarations with scoped filesystem, network, DOM,
    storage, mutation, throw, and user-defined capabilities.
  • Hoare-style preconditions, postconditions, invariants, Z3 evidence, optional
    runtime assertions, and property-test generation with shrinking.
  • Promise ownership, floating rejection, explicit resource management, timer,
    event-loop, and Promise combinator analyses.
  • Neutral temporal IR with bounded Z3 and Quint projections, including Node
    lease, callback cardinality, and selected React lifecycle models.
  • Typed-array bounds and integer-domain checks for selected binary and hashing
    code patterns.
  • Corsa/tsgo frontend interchange, versioned semantic registries, declarative
    semantics modules, and evidence/assumption ledgers.
  • Browser boundary checks for static external scripts, network authority,
    cookies, Web Storage, DOM operations, and the initial W3C TrustedScript sink
    fragment.

Safety boundary

Uneffect 0.1 is an additional fail-closed review and CI layer for explicitly
selected, documented fragments. It is not a whole-program JavaScript verifier,
sandbox, authorization system, or replacement for runtime validation. Read
docs/stability.md, docs/assurance-boundaries.md, and
docs/feature-matrix.md before treating an emitted claim as assurance.