Skip to content

Releases: semantic-reasoning/PyreWire

v1.0.2

19 Jun 12:35

Choose a tag to compare

[1.0.2] - 2026-06-19

Changed

  • Bumped the pinned actions/checkout GitHub Action from v6 to v7 and
    pypa/cibuildwheel from v4.0.0 to v4.1.0 across the CI, wheels, and
    release workflows (#171, #172).

Added

  • Every Python source file now carries an
    SPDX-License-Identifier: Apache-2.0 OR GPL-3.0-or-later header, making
    PyreWire's dual license machine-discoverable for REUSE/SPDX tooling and
    downstream redistribution. A contract test enforces the header on all
    source files (#173).
  • Expanded the Errors reference documentation: an overview, an error-code
    mapping table, and a usage example for the exception hierarchy.

This is a PyreWire-only maintenance release. The public API is unchanged,
and the bundled and validated wirelog ref remains v0.51.0 at peeled SHA
0c6e0cdaee7db069be5d8d896bb59bdcb15673e9 with the minimum compatible
runtime wirelog version remaining 0.44.0.

v1.0.1

13 Jun 12:41

Choose a tag to compare

[1.0.1] - 2026-06-13

Changed

  • The bundled and validated wirelog ref moves from v0.50.0 to
    v0.51.0 at peeled SHA
    0c6e0cdaee7db069be5d8d896bb59bdcb15673e9. This is a wirelog-only
    rebuild: the PyreWire public API is unchanged and the minimum
    compatible runtime wirelog version remains 0.44.0.

Fixed

  • A rule with a single relation(...) body atom now derives its head
    when the program also contains the recursive edge/path rules.
    Previously such one-condition rules (for example requires_review(...)
    and warning(...)) were silently missing from EasySession.step()
    results. The root cause was a wirelog evaluation bug — the iteration
    context was not reset for non-recursive strata — fixed upstream in
    wirelog#914 and first shipped in wirelog v0.51.0. PyreWire performs
    no rule evaluation of its own, so bumping the bundled engine is the
    fix (#165).

v1.0.0

05 Jun 11:57

Choose a tag to compare

[1.0.0] - 2026-05-27

Added

  • PyreWire 1.0.0 is the first stable release of the Python wrapper for
    wirelog. It establishes the supported public API boundary for the
    pyrewire package and marks v1.0.x as the security-supported release
    line.
  • Stable top-level exports now include:
    • incremental session classes: EasySession and Session;
    • batch execution classes: BatchProgram and Result;
    • program and introspection wrappers: Program, Schema, Column,
      Stratum, and IRNode;
    • async wrappers: AsyncEasySession, AsyncSession, and
      AsyncBatchProgram;
    • IO adapter exports: IOContext, register_adapter,
      unregister_adapter, and registered_schemes;
    • compound wrappers: Compound and CompoundArg;
    • exported enums, errors, and helpers, including ErrorCode,
      ColumnType, CompoundKind, IRNodeType, WirelogError
      subclasses, wirelog_version, build_config, Delta, and
      make_safe_print_delta.
  • Incremental session capabilities are validated against wirelog
    v0.50.0. EasySession and Session support step/snapshot workflows,
    and AsyncSession provides the async incremental session surface.

Changed

  • Package metadata is now versioned as 1.0.0 with the
    Development Status :: 5 - Production/Stable classifier.
  • PyreWire follows semantic-versioning expectations for the stable
    public API. Backward-incompatible changes require a new major version;
    deprecated public APIs will remain available for at least one minor
    release before removal unless a security or correctness issue makes
    that impossible.
  • The README quickstart and docs/ now describe the v1 public API:
    BatchProgram for one-shot closure and EasySession / Session for
    incremental step/snapshot work. The old Program-builder examples
    were replaced with the supported APIs, and the README badges now
    match the ci and docs workflows (#122).
  • GitHub release automation extracts this exact tagged changelog section
    for release notes instead of publishing the full changelog body.

Support

  • Supported Python versions are CPython 3.11, 3.12, 3.13, and 3.14.
    Python 3.10 is not supported by the v1.0 release line.
  • Published wheels are built for Linux manylinux_2_28 x86_64,
    macOS arm64 only, and Windows AMD64.
  • Wheels bundle libwirelog, so wheel installs do not require a
    separate wirelog installation.
  • Source distributions do not bundle libwirelog. Source installs need
    a compatible system libwirelog discoverable by the loader, or an
    explicit WIRELOG_LIB path.
  • PyreWire 1.0.0 is validated against wirelog v0.50.0 at peeled SHA
    272edf3a24b25676f12c4b843d55510f5048dd2f; the minimum compatible
    runtime wirelog version is 0.44.0. This wirelog release includes the
    recursive aggregation residue fix needed for the stable
    step/snapshot API.
  • Release, test, and wheel automation runs on ubuntu-24.04,
    macos-15, and windows-2025-vs2026 with Python 3.11-3.14.