diff --git a/CHANGELOG.md b/CHANGELOG.md index 8e634d4..ff549e5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,10 @@ # Changelog -## 0.1.0-beta.1 (candidate, not published) +## 0.1.0-beta.1 + +Published on 1 November 2026 (Europe/Kyiv) to [crates.io](https://crates.io/crates/edit-session/0.1.0-beta.1) +and as a [GitHub prerelease](https://github.com/PerchAnton/edit-session/releases/tag/v0.1.0-beta.1). +[Archive hashes and registry-consumer checks](docs/evidence/release-beta1.json). - Define the supported beta API, error precedence and migration boundary; retain Rust 1.88, no_std and zero dependencies. - Add downstream-style tests for minimal trait bounds and simultaneous conflicts. Runtime source is unchanged from alpha.5. diff --git a/PACKAGE.md b/PACKAGE.md index d00ee2f..b9655b7 100644 --- a/PACKAGE.md +++ b/PACKAGE.md @@ -1,8 +1,8 @@ # edit-session -**Beta candidate:** the checkout prepares `0.1.0-beta.1`; it is not published. -The latest published package remains `0.1.0-alpha.5`. See the -[compatibility boundary](docs/COMPATIBILITY.md) before upgrading. +**Published beta:** `0.1.0-beta.1` is available on +[crates.io](https://crates.io/crates/edit-session/0.1.0-beta.1), verified 1 November 2026 +(Europe/Kyiv). Read the [compatibility boundary](https://github.com/PerchAnton/edit-session/blob/main/docs/COMPATIBILITY.md) before upgrading. A small, toolkit-independent Rust library for preview, validation and commit lifecycles. **`no_std`, zero runtime dependencies, Rust 1.88+.** MIT OR Apache-2.0. @@ -17,12 +17,12 @@ Add a published copy of this prerelease to your dependencies: ```toml [dependencies] -edit-session = "=0.1.0-alpha.5" +edit-session = "=0.1.0-beta.1" ``` -This is an experimental alpha. Pin an exact version and keep `Cargo.lock` for +This is an experimental beta. Pin an exact version and keep `Cargo.lock` for applications. Read the -[compatibility policy](https://github.com/PerchAnton/edit-session/blob/main/docs/RELEASING.md#alpha-compatibility) +[compatibility policy](https://github.com/PerchAnton/edit-session/blob/main/docs/COMPATIBILITY.md) before upgrading. For other distribution options and current publication status, see the [project README](https://github.com/PerchAnton/edit-session#use-from-another-project). diff --git a/README.md b/README.md index afcb5fe..7768f19 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,8 @@ # edit-session -**Beta candidate:** the checkout prepares `0.1.0-beta.1`; it is not published. -The latest published package remains `0.1.0-alpha.5`. See the -[compatibility boundary](docs/COMPATIBILITY.md) before upgrading. +**Published beta:** `0.1.0-beta.1` is available on +[crates.io](https://crates.io/crates/edit-session/0.1.0-beta.1), verified 1 November 2026 +(Europe/Kyiv). Read the [compatibility boundary](https://github.com/PerchAnton/edit-session/blob/main/docs/COMPATIBILITY.md) before upgrading. Keep an editable draft separate from live data, then check that its document, target and revision are still current before the host applies a change. A standalone Rust @@ -47,12 +47,12 @@ development tool is optional. Neither project depends on the other. ## Current prerelease -**[0.1.0-alpha.5 on crates.io](https://crates.io/crates/edit-session/0.1.0-alpha.5) · published 27 October 2026 (Europe/Kyiv) · Rust 1.88+** +**[0.1.0-beta.1 on crates.io](https://crates.io/crates/edit-session/0.1.0-beta.1) · published 1 November 2026 (Europe/Kyiv) · Rust 1.88+** -**[GitHub prerelease and checksums](https://github.com/PerchAnton/edit-session/releases/tag/v0.1.0-alpha.5)** · **[API documentation](https://docs.rs/edit-session/0.1.0-alpha.5/edit_session/)** · [Download the crate](https://crates.io/api/v1/crates/edit-session/0.1.0-alpha.5/download) · [SHA-256 and installation evidence](docs/evidence/release-alpha5.json) · [Changelog](CHANGELOG.md) · [Use as a dependency](#use-from-another-project) +**[GitHub prerelease and checksums](https://github.com/PerchAnton/edit-session/releases/tag/v0.1.0-beta.1)** · **[API documentation](https://docs.rs/edit-session/0.1.0-beta.1/edit_session/)** · [Download the crate](https://crates.io/api/v1/crates/edit-session/0.1.0-beta.1/download) · [SHA-256 and installation evidence](docs/evidence/release-beta1.json) · [Changelog](CHANGELOG.md) · [Use as a dependency](#use-from-another-project)
-Published package snapshot and verification +Historical alpha.5 package snapshot and verification ![edit-session alpha 5, published on crates.io 27 October 2026: 0 runtime dependencies, 25 scoped checks and a 41.3 KiB source archive. Check live state, attempt the host command, retain fields and draft on rejection, and close on success.](docs/assets/release.svg) @@ -71,8 +71,8 @@ remains available.
-Trying the alpha? [Report a bug](https://github.com/PerchAnton/edit-session/issues/new?template=bug_report.yml) -with your revision and a short sequence of calls, or read the [alpha compatibility policy](docs/RELEASING.md#alpha-compatibility). +Trying the beta? [Report a bug](https://github.com/PerchAnton/edit-session/issues/new?template=bug_report.yml) +with your revision and a short sequence of calls, or read the [beta compatibility policy](docs/COMPATIBILITY.md). ## Retry after a rejected command @@ -85,7 +85,7 @@ correction, Cancel, preserved Redo and duplicate confirmation. From a checkout of this release: ```sh -git clone --branch v0.1.0-alpha.5 --depth 1 https://github.com/PerchAnton/edit-session.git +git clone --branch v0.1.0-beta.1 --depth 1 https://github.com/PerchAnton/edit-session.git cd edit-session cargo run --locked --example retry_command cargo test --locked --example retry_command @@ -93,7 +93,7 @@ cargo test --locked --example retry_command This uses the existing API; the host owns atomic command rejection and UI state. These model tests do not substitute for consumer UI regressions. [Changelog](CHANGELOG.md) -and [release preparation](docs/RELEASING.md) describe the published alpha and its package checks. +and [release preparation](docs/RELEASING.md) describe the published beta and its package checks. ## Evidence and trade-offs @@ -116,7 +116,7 @@ dated measurements. Each figure has a source and a defined scope. | Proposal/check loop | **999 pairs; 0 additional clones** | [Instrumented test](tests/lifecycle.rs); one clone at construction, one more on Reset; caller work excluded | | Integration cost | **+217 production UI lines** | [267 added / 50 removed](docs/ADOPTION.md#count-the-cost-as-well); no total-code or speed improvement is claimed | -**Experimental, 0.1.0-alpha.5.** Maintained by [PerchAnton](https://github.com/PerchAnton). +**Experimental beta, 0.1.0-beta.1.** Maintained by [PerchAnton](https://github.com/PerchAnton). Available on crates.io and as a Git dependency. PhotoCraft and PdfCraft integrations are proposed and await upstream approval. @@ -168,11 +168,11 @@ sequence and shared report help your consumer. The [API contracts](src/lib.rs) a Add this exact prerelease to your crate's `[dependencies]`: ```toml -edit-session = "=0.1.0-alpha.5" +edit-session = "=0.1.0-beta.1" ``` Commit the resulting `Cargo.lock`. For a Git dependency, the same release is pinned -at revision `6bbf13256a8240076ec4d6f8c4ea13477a7c5876`. +at revision `e3da338fdfa15190f98111cb57f9b3f25c1c2f2f`. The companion [interaction-check](https://github.com/PerchAnton/interaction-check) project replays semantic scenarios against adapters using this library. diff --git a/docs/COMPATIBILITY.md b/docs/COMPATIBILITY.md index f3d5004..aef004d 100644 --- a/docs/COMPATIBILITY.md +++ b/docs/COMPATIBILITY.md @@ -1,8 +1,9 @@ # Beta compatibility boundary -`0.1.0-beta.1` is a release candidate, not a published or stable release. The last -published version is `0.1.0-alpha.5`. No runtime implementation changes are needed -for this candidate; the added checks make the intended consumer contract explicit. +`0.1.0-beta.1` was published on 1 November 2026 (Europe/Kyiv); it remains a +prerelease, not a stable 1.0 release. Runtime implementation is unchanged from +`0.1.0-alpha.5`; the added checks make the intended consumer contract explicit. +[Publication and registry checks](evidence/release-beta1.json). ## Supported surface @@ -27,7 +28,7 @@ lock. An `Rc>` clone is not an independent snapshot. ## Upgrading and evidence -Pin the exact prerelease (`=0.1.0-beta.1` once published). Re-run the host's native +Pin the exact prerelease (`=0.1.0-beta.1`). Re-run the host's native regressions before changing the pin. The beta adds no fields to stored documents: sessions are in-memory state, not a serialization format. Error variants are for branching; Display/Debug prose and memory layout are not a machine protocol. diff --git a/docs/RELEASING.md b/docs/RELEASING.md index 0f683ad..54dad27 100644 --- a/docs/RELEASING.md +++ b/docs/RELEASING.md @@ -1,11 +1,17 @@ -# Releases and alpha compatibility +# Releases and compatibility -The next candidate is `0.1.0-beta.1`. [Its compatibility contract](COMPATIBILITY.md) -adds consumer tests without changing the runtime. Do not describe it as published -until the existing exact-tag/archive and registry read-back gates below pass. -The alpha history below describes already published versions. +## Published beta -## Published prerelease +**[0.1.0-beta.1 on crates.io](https://crates.io/crates/edit-session/0.1.0-beta.1)** +was published on **1 November 2026 (Europe/Kyiv)** through +[Trusted Publishing](https://github.com/PerchAnton/edit-session/actions/runs/41309450079). +The [GitHub prerelease](https://github.com/PerchAnton/edit-session/releases/tag/v0.1.0-beta.1) +attaches the exact checked archive and checksum. Registry and GitHub downloads +match; a fresh no_std registry consumer passed 3 contract and 16 lifecycle tests. +[Receipt](evidence/release-beta1.json) and [beta contract](COMPATIBILITY.md). +Runtime source remains unchanged from alpha.5. Do not upload this version again. + +## Previous published prerelease: alpha.5 **[0.1.0-alpha.5 on crates.io](https://crates.io/crates/edit-session/0.1.0-alpha.5)** was published on **27 October 2026 (Europe/Kyiv)** through Trusted Publishing. @@ -64,7 +70,7 @@ Do not present an alpha release as the latest stable release. ## Registry publication -### Published version +### Earlier publication: alpha.5 `0.1.0-alpha.5` is **published on crates.io** through [workflow 40463972786](https://github.com/PerchAnton/edit-session/actions/runs/40463972786). @@ -137,11 +143,11 @@ Use a fresh consumer project and the exact prerelease dependency: ```toml [dependencies] -edit-session = "=0.1.0-alpha.5" +edit-session = "=0.1.0-beta.1" ``` Run `cargo check`, confirm `Cargo.lock` names the crates.io source (not a path/Git -override), and check the [API documentation](https://docs.rs/edit-session/0.1.0-alpha.5/). +override), and check the [API documentation](https://docs.rs/edit-session/0.1.0-beta.1/). Only then mark the README/changelog as published. Never overwrite a published version; fixes require a new version. diff --git a/docs/evidence/release-beta1.json b/docs/evidence/release-beta1.json new file mode 100644 index 0000000..9483a17 --- /dev/null +++ b/docs/evidence/release-beta1.json @@ -0,0 +1,48 @@ +{ + "checked_at": "2026-11-01T15:18:32.735656+02:00", + "version": "0.1.0-beta.1", + "commit": "e3da338fdfa15190f98111cb57f9b3f25c1c2f2f", + "tag": "v0.1.0-beta.1", + "registry": { + "version": "0.1.0-beta.1", + "sha256": "728d31d355327c086c172ac8927d9822375dae606b198b4784f7c05b80d0455e", + "url": "https://static.crates.io/crates/edit-session/edit-session-0.1.0-beta.1.crate", + "workflow_match": true, + "consumer_lock": { + "name": "edit-session", + "version": "0.1.0-beta.1", + "source": "registry+https://github.com/rust-lang/crates.io-index", + "checksum": "728d31d355327c086c172ac8927d9822375dae606b198b4784f7c05b80d0455e" + } + }, + "github_release": "https://github.com/PerchAnton/edit-session/releases/tag/v0.1.0-beta.1", + "prerelease": true, + "workflow": { + "url": "https://github.com/PerchAnton/edit-session/actions/runs/41309450079", + "conclusion": "success", + "head_sha": "e3da338fdfa15190f98111cb57f9b3f25c1c2f2f" + }, + "github_assets": [ + { + "name": "edit-session-0.1.0-beta.1.crate", + "sha256": "728d31d355327c086c172ac8927d9822375dae606b198b4784f7c05b80d0455e", + "bytes": 44723, + "url": "https://github.com/PerchAnton/edit-session/releases/download/v0.1.0-beta.1/edit-session-0.1.0-beta.1.crate" + }, + { + "name": "SHA256SUMS", + "sha256": "bca6a218ef4ec2fa9b84bed3b86c94731693f42a557526d60db13d85b2dde8fd", + "bytes": 98, + "url": "https://github.com/PerchAnton/edit-session/releases/download/v0.1.0-beta.1/SHA256SUMS" + } + ], + "installed_checks": { + "toolchain": "Rust 1.88.0", + "source": "crates.io exact dependency, no path override", + "no_std_consumer": true, + "contract_tests": 3, + "lifecycle_tests": 16, + "result": "passed" + }, + "limitations": "These checks validate the published package and documented examples, not external adoption or consumer source-policy approval. Release archives and tags remain immutable; this receipt is recorded after publication." +}