Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions docs/product/release-readiness.md
Original file line number Diff line number Diff line change
Expand Up @@ -443,6 +443,13 @@ path, and canary route rather than as a user-facing release baseline.
matching `v0.4.8` tag. LoopX adopts Apache-2.0 for the open core, ships as a
first-class PyPI distribution, adds per-Todo validation budgets, and tightens
benchmark integrity qualification and Content Ops presentation density.
- `v0.4.9` on 2026-08-19: cross-platform host and long-loop reliability release
at the matching `v0.4.9` tag. LoopX makes PyPI the default complete install
path, adds native Windows PowerShell and KunlunCode Goal Pro support, ships an
opt-in repository change-window provider with a durable pending-change
ledger, and hardens heartbeat settlement, Todo validation, PR review
scheduling, native Goal benchmark isolation, and public repository signal
providers.

When a new public release is promoted, add it here only after the matching tag,
release note, stable ref, update path, and focused release canary agree.
Expand Down
2 changes: 1 addition & 1 deletion loopx/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@

__all__ = ["__version__"]

__version__ = "0.4.8"
__version__ = "0.4.9"
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"

[project]
name = "loopx"
version = "0.4.8"
version = "0.4.9"
description = "A lightweight Loop Engineering control plane for long-running agent goals."
readme = "README.md"
requires-python = ">=3.11"
Expand Down
4 changes: 2 additions & 2 deletions tests/test_license_metadata.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,8 @@ def test_root_license_is_canonical_apache_2_with_historical_notices() -> None:

def test_python_distributions_declare_apache_2() -> None:
root_project = _project_metadata("pyproject.toml")
assert root_project["version"] == "0.4.8"
assert '__version__ = "0.4.8"' in (ROOT / "loopx/__init__.py").read_text()
assert root_project["version"] == "0.4.9"
assert '__version__ = "0.4.9"' in (ROOT / "loopx/__init__.py").read_text()
assert root_project["license"] == "Apache-2.0"
assert set(root_project["license-files"]) == {"LICENSE", "NOTICE", "LICENSE-MIT"}

Expand Down