Skip to content

Commit 13bcec8

Browse files
committed
Keep CellScript 0.24 as an undated candidate
1 parent b90c4b5 commit 13bcec8

6 files changed

Lines changed: 91 additions & 51 deletions

File tree

‎BRANCHES.md‎

Lines changed: 16 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,15 @@ discussions. Do not use that historical baseline to describe the current
88

99
## nightly-0.24
1010

11-
`nightly-0.24` is the closed implementation line for independently verified
11+
`nightly-0.24` is the active release-candidate line for independently verified
1212
artifacts and executable package evidence. It builds on the closed 0.23
13-
Edition 2026 and native-tooling boundary. The stable release boundary is the
14-
exact `v0.24.0` tag after the compiler, checker, Registry worker, executable
15-
tests, source maps, docs, and the `dev`, `ci`, `backend`, and `release` gates
16-
agree. External Myelin, Fiber, and RGB++ claims remain separately evidence
17-
gated as described in the 0.24 release notes.
13+
Edition 2026 and native-tooling boundary. The stable release boundary will be
14+
the exact `v0.24.0` tag only after the compiler, checker, Registry worker,
15+
executable tests, source maps, docs, and the `dev`, `ci`, `backend`, and
16+
`release` gates agree on the final source. Until then, passing candidate gates
17+
is evidence, not a stable-release claim. External Myelin, Fiber, and RGB++
18+
claims remain separately evidence gated as described in the 0.24 release
19+
notes.
1820

1921
## nightly-0.23
2022

@@ -37,17 +39,18 @@ nightly branch name.
3739
comparisons and an exact nightly branch for development-scope comparisons;
3840
do not infer release evidence from `main` alone.
3941

40-
## v0.24.0
42+
## v0.24.0 (reserved)
4143

42-
`v0.24.0` is the current stable release baseline. Use the exact tag ref
43-
`refs/tags/v0.24.0` for stable comparisons; the release does not promote the
44-
separately pending Myelin, Fiber, or RGB++ external evidence boundaries.
44+
`v0.24.0` is reserved for the final 0.24 source and has not been issued. Do not
45+
use the name as a stable comparison until the final tag exists. The eventual
46+
release will not by itself promote the separately pending Myelin, Fiber, or
47+
RGB++ external evidence boundaries.
4548

4649
## v0.23.0
4750

48-
`v0.23.0` is the historical stable baseline for Edition 2026, the Registry,
49-
and native release tooling. Use the exact tag ref `refs/tags/v0.23.0` when
50-
reproducing that release.
51+
`v0.23.0` remains the current stable baseline for Edition 2026, the Registry,
52+
and native release tooling. Use the exact tag ref `refs/tags/v0.23.0` for
53+
stable comparisons while 0.24 remains a release candidate.
5154

5255
## v0.22.0
5356

‎CHANGELOG.md‎

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Changelog
22

3-
## 0.24.0 - 2026-08-20
3+
## 0.24.0 - Unreleased
44

55
- Align the complete 0.24 release identity across every workspace and verifier
66
crate, the independent checker dependency, lockfiles, Registry Type Script,
@@ -33,14 +33,17 @@
3333
origins, chain selection, sandbox expiry, no-index policy, and storage remain
3434
isolated.
3535
- Preserve the corrected website release lineage that removed stale 0.22
36-
metadata, then advance the homepage and Playground to `v0.24.0`. The
37-
canonical WASM bundle uses asset identity
36+
metadata. While 0.24 remains untagged, keep the homepage on the published
37+
`v0.23.0` release and prepare the Playground with the 0.24 candidate
38+
compiler. The canonical WASM bundle uses asset identity
3839
`20260819-v0.24.0-19ce8898` and SHA-256
3940
`19ce8898e8161f100edebf6f982d856f3e59bfac31572642b53f2e01c70a1a17`;
40-
distribution checks bind the exact release URL, displayed tag, compiler
41-
version, asset identity, and digest. Remove inherited 0.25-only package-
42-
interface, typed-semantics, and future-syntax presentation fields from the
43-
final 0.24 website tree while retaining the 0.24 LS-IDL surface.
41+
distribution checks bind the current stable release URL and displayed tag
42+
separately from the candidate compiler version, asset identity, and digest.
43+
Remove inherited 0.25-only package-interface, typed-semantics, and future-
44+
syntax presentation fields from the 0.24 website branch while retaining the
45+
0.24 LS-IDL surface. Publish the exact 0.24 and 0.25 website gitlinks on
46+
separate release branches so both parent lines clone without hidden commits.
4447
- Add first-class LS-IDL publication and discovery for CKB Lock Scripts.
4548
`cellc artifact ls-idl` validates the bounded 0.1 schema, appends
4649
`SHA-256(raw idl.json)` to an executable, generates a publish-ready bundle,

‎README.md‎

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
</p>
55

66
[![CellScript CI](https://github.com/CellScript-Labs/CellScript/actions/workflows/ci.yml/badge.svg)](https://github.com/CellScript-Labs/CellScript/actions/workflows/ci.yml)
7-
[![Release: v0.24.0](https://img.shields.io/badge/release-v0.24.0-2f6f4e.svg)](https://github.com/CellScript-Labs/CellScript/releases/tag/v0.24.0)
7+
[![Release: v0.23.0](https://img.shields.io/badge/release-v0.23.0-2f6f4e.svg)](https://github.com/CellScript-Labs/CellScript/releases/tag/v0.23.0)
88
[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE-MIT)
99
[![Rust 1.97.1](https://img.shields.io/badge/rust-1.97.1-orange.svg)](Cargo.toml)
1010
[![Targets: CKB](https://img.shields.io/badge/targets-CKB-2f6f4e.svg)](#target-profiles)
@@ -20,11 +20,12 @@ artifacts, together with typed metadata for auditing, policy checks, schema
2020
binding, and scheduler-aware execution.
2121

2222
The current stable release is
23-
[CellScript v0.24.0](https://github.com/CellScript-Labs/CellScript/releases/tag/v0.24.0).
24-
See the [0.24 release notes](docs/releases/CELLSCRIPT_0_24_RELEASE_NOTES.md)
25-
for its shipped surface, evidence boundaries, and migration checklist. The
26-
[0.24 roadmap](roadmap/CELLSCRIPT_0_24_ROADMAP.md) records the independently
27-
checked artifact, executable-test, and explicitly deferred ecosystem boundaries.
23+
[CellScript v0.23.0](https://github.com/CellScript-Labs/CellScript/releases/tag/v0.23.0).
24+
The [0.24 release notes](docs/releases/CELLSCRIPT_0_24_RELEASE_NOTES.md)
25+
describe the active release candidate and are not yet a stable-release claim.
26+
The [0.24 roadmap](roadmap/CELLSCRIPT_0_24_ROADMAP.md) records its independently
27+
checked artifact, executable-test, and explicitly deferred ecosystem
28+
boundaries.
2829

2930
In this README, metadata means machine-readable semantic facts emitted by the
3031
compiler: schema layout, Cell effects, access summaries, source hashes,
@@ -118,15 +119,15 @@ curl -fsSL https://raw.githubusercontent.com/CellScript-Labs/CellScript/main/scr
118119
Or pin a specific version:
119120

120121
```bash
121-
CELLSCRIPT_VERSION=0.24.0 curl -fsSL https://raw.githubusercontent.com/CellScript-Labs/CellScript/main/scripts/install.sh | sh
122+
CELLSCRIPT_VERSION=0.23.0 curl -fsSL https://raw.githubusercontent.com/CellScript-Labs/CellScript/main/scripts/install.sh | sh
122123
```
123124

124125
The release page publishes `SHA256SUMS` alongside all four platform archives.
125126

126127
Build the exact published source instead:
127128

128129
```bash
129-
git clone --branch v0.24.0 --depth 1 https://github.com/CellScript-Labs/CellScript.git
130+
git clone --branch v0.23.0 --depth 1 https://github.com/CellScript-Labs/CellScript.git
130131
cd CellScript
131132
cargo install --locked --path .
132133
```

‎crates/cellscript-tools/src/tooling_release.rs‎

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -592,7 +592,20 @@ pub fn run(root: &Path) -> Result<()> {
592592

593593
#[cfg(test)]
594594
mod tests {
595-
use super::require_ordered_script_steps;
595+
use super::{changelog_head, require_ordered_script_steps};
596+
597+
#[test]
598+
fn changelog_head_accepts_versioned_unreleased_candidate() {
599+
let captures = changelog_head()
600+
.captures("# Changelog\n\n## 0.24.0 - Unreleased\n")
601+
.expect("a versioned undated candidate heading must be accepted");
602+
assert_eq!(captures.get(1).map(|capture| capture.as_str()), Some("0.24.0"));
603+
}
604+
605+
#[test]
606+
fn changelog_head_does_not_treat_unversioned_unreleased_as_release_boundary() {
607+
assert!(changelog_head().captures("# Changelog\n\n## Unreleased\n").is_none());
608+
}
596609

597610
#[test]
598611
fn website_build_contract_accepts_additional_ordered_checks() {

‎docs/releases/CELLSCRIPT_0_24_RELEASE_NOTES.md‎

Lines changed: 41 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
# CellScript 0.24 Release Notes
22

3-
**Status**: stable release; the exact source boundary is `refs/tags/v0.24.0`,
4-
and final `dev`, `ci`, `backend`, and `release` evidence is recorded in the
5-
validation section. The refreshed iCKB
3+
**Status**: stable-release candidate on `nightly-0.24`; no final tag or release
4+
date has been issued. Candidate `dev`, `ci`, `backend`, and `release` evidence
5+
is recorded in the validation section. The refreshed iCKB
66
evidence submodule commit `0e18ccd97bd75cac7de9211dc8d344c0bc08942f` is
77
published and bound by the parent gitlink. External ecosystem claims remain
88
limited to the explicit integration status below.
99

10-
**Release date**: 2026-08-20
10+
**Release date**: TBD
1111

1212
**Source edition**: 2026
1313

@@ -171,21 +171,30 @@ not claim to emit or execute a production ELF.
171171

172172
## Website Release Identity
173173

174-
The 0.24 website carries forward the corrected 0.23 release boundary and now
175-
binds the new release identity throughout the homepage, Playground worker,
176-
compiler sample, and distribution regression checks. Its final tree removes
177-
the forward-looking 0.25-only package-interface, typed-semantics, and syntax-
178-
highlighting presentation fields; those remain outside the 0.24 release. The
179-
canonical Playground asset is `20260819-v0.24.0-19ce8898`; its WASM SHA-256 is
174+
The 0.24 website carries forward the corrected release boundary. While the
175+
candidate remains untagged, its homepage continues to name `v0.23.0` as the
176+
current stable release, while its Playground worker, compiler sample, and
177+
distribution checks prepare the 0.24 compiler identity. Its 0.24 release
178+
branch removes the forward-looking 0.25-only package-interface,
179+
typed-semantics, and syntax-highlighting presentation fields; those remain
180+
outside the 0.24 release. The canonical Playground asset is
181+
`20260819-v0.24.0-19ce8898`; its WASM SHA-256 is
180182
`19ce8898e8161f100edebf6f982d856f3e59bfac31572642b53f2e01c70a1a17`.
181183
The raw module is 1,485,936 bytes and 567,048 bytes under the gate's gzip
182184
measurement, below the 600 KiB budget.
183185

184186
The Node 22 website build validates both production and Pudge Testnet outputs,
185-
the six-route byte-identical asset parity boundary, the release URL and tag,
186-
the compiler asset identity, and the exact WASM digest. The parent repository
187-
pins website commit
188-
`ca7cb3fa45b778953ae2db8ab57bc489981efdf4`.
187+
the six-route byte-identical asset parity boundary, the current `v0.23.0`
188+
release URL and tag, the candidate compiler asset identity, and the exact WASM
189+
digest. The parent repository pins website commit
190+
`dd4e895bd0a68b6fa63bc59c6377b7db0864cd76` on the published
191+
`codex/nightly-0.24-release` branch.
192+
193+
The 0.25-only Playground verification surface remains on the separate
194+
`codex/nightly-0.25-release` website branch at commit
195+
`3db5838ef1ba4b93fb0fc0f188c5374696e27377`. That is the exact website gitlink
196+
used by parent branch `nightly-0.25`; neither release line depends on a hidden
197+
or unreachable submodule commit.
189198

190199
## Compatibility And Migration
191200

@@ -207,17 +216,23 @@ The Fiber configuration renderer replaces the deprecated `serde_yaml` crate
207216
with the maintained `serde_yaml_ng` continuation without promoting a Fiber
208217
target profile.
209218

219+
These are repository-local integration changes. The Fiber migration updates
220+
CellScript's Cargo dependency selection and lockfile; it does not patch or
221+
publish upstream Fiber, CKB, CKB SDK, NovaSeal, or third-party crate source.
222+
The website and editor gitlinks are project-owned release components rather
223+
than upstream protocol dependencies.
224+
210225
The Registry website refresh adds route-specific headers, a shared content
211226
grid, clearer evidence hierarchy, refined substrate material, and the restored
212227
homepage brand animation. These presentation changes do not alter Registry
213228
evidence semantics or the mainnet/testnet isolation boundary.
214229

215230
## Integration Status
216231

217-
- The CellScript side of the Myelin 0.24 handoff is versioned and tested, and
218-
`v0.24.0` supplies the exact CellScript source revision for that handoff. The
219-
external Myelin lock update remains separately pending. No raw-witness alias
220-
or Myelin target profile is added.
232+
- The CellScript side of the Myelin 0.24 handoff is versioned and tested. The
233+
external Myelin lock update remains pending until the final 0.24 tag supplies
234+
an exact CellScript source revision. No raw-witness alias or Myelin target
235+
profile is added.
221236
- Fiber remains no-profile. Static compiler/CKB-VM evidence is retained, but
222237
the complete external lifecycle and negative matrix has no complete evidence
223238
bundle and remains pending.
@@ -338,8 +353,10 @@ or conversion of executable/copy artifacts into source dependencies.
338353

339354
## Validation
340355

341-
All five canonical gates passed on 2026-08-20 from an isolated clean release
342-
tree. The environment used Rust `1.97.1`, Node `22.23.2`, CKB revision
356+
The release-candidate snapshot at commit
357+
`b90c4b562cceb95059bf410c617c920fa2483570` passed all five canonical gates on
358+
the validation date 2026-08-20. This validation date is not the release date.
359+
The environment used Rust `1.97.1`, Node `22.23.2`, CKB revision
343360
`f7fa4436737756f97a24e254f22c13a36316ecea`, CKB SDK `v5.1.0`, the
344361
`riscv64imac-unknown-none-elf` target, and the pinned Docker base
345362
`rust:1.97.1-slim-bookworm@sha256:99e09cb2284e2ddbb73a995deee3e91783fd04d177602ccf6eab326d778ee777`:
@@ -376,7 +393,10 @@ The canonical website build produced the 0.24 WASM identity recorded above and
376393
passed the 600 KiB gzip budget. Gates establish source and artifact evidence;
377394
they do not publish either crates.io package or deploy the Registry Type
378395
Script. Publication and deployment remain explicit release-operator actions
379-
and must preserve the validated source and artifact identities.
396+
and must preserve the validated source and artifact identities. Because the
397+
candidate remains open to change, the final operator must rerun the required
398+
gates on the exact source that receives `v0.24.0`; the tag and release date
399+
remain unset until then.
380400

381401
## Detailed References
382402

0 commit comments

Comments
 (0)