Omena 5.3.0 and Rust crate train 0.3.0
Coordinated editor, CLI, crate, and npm binding changes in the 5.3.0 release.
This release coordinates the editor, Rust crate, CLI, and selected npm binding lines. It does not imply that every channel completed publication at the same version.
Availability
| Surface | Available version | Channel |
|---|---|---|
| VS Code extension | 5.3.0 | GitHub Release VSIX and Open VSX |
| Legacy VS Marketplace listing | 5.2.0 | Visual Studio Marketplace |
| CLI archives | 0.3.0 | GitHub Release |
| Rust crates | 0.3.0 | 50 of 51 publishable crates on crates.io |
| WASM binding | 0.3.0 | npm |
| NAPI binding | 0.2.1 | npm |
omena-reactive is the one publishable Rust workspace crate not present on
crates.io at 0.3.0. The repository contains an unreleased NAPI 0.3.0
surface, but npm consumers receive the 0.2.1 API.
Platform surface
- The Rust CLI exposes a 12-command family: 11 wired product commands plus the
reserved
checkcompatibility alias. The shipped commands cover linting, formatting, minification, bundling, CSS Modules, Sass, intelligence, migration, validation, CI, and explanations. - The Rust language server, workspace daemon, bundler host, NAPI/WASM bindings, and TypeScript SDK adapters now share the same semantic query and error boundaries instead of maintaining surface-specific interpretations.
- Bundle planning carries typed closed-world admission and linked-order plans. The existing import-inline emission path remains the default.
Explicit opt-ins
- Linked-order bundle emission remains opt-in while its full-corpus differential and release-boundary conditions remain unsatisfied.
- External Sass Interface File trust tiers, external-tool evidence, strict minification, and closed-world transforms remain explicit choices rather than default behavior changes.
- Build-tool integration packages remain independently versioned. This release does not change their npm availability as a side effect of the Rust and WASM publication.
Behavior corrections
- CSS keyword case: mixed-case CSS keywords were previously handled
inconsistently after parsing, which could silently omit layer names,
CSS Modules value/composes facts, keyframe reachability, and
!importanthandling. They now use the shared ASCII-insensitive keyword authority. - Property value grammar: valid declarations containing unitless zero, nullable grammar branches, or all-in-any-order constructs were previously reported as definitely invalid. They now follow the pinned grammar matcher, while malformed declarations continue to produce findings.
- Style alias resolution: existing style files reached through tsconfig, jsconfig, or bundler aliases were previously reported as missing on some workspace paths, while related selector checks could be skipped. Resolution inputs now reach those product paths; genuinely absent targets still produce findings.
Static SIF lock migration
Static SIF generator identity omena-sifgen-static@0.2.0 intentionally rekeys
the interface, transitive, and artifact hashes produced by the earlier 0.1.0
identity. The source leaf hash is unchanged. Regenerate each artifact and update
its lock entry:
omena sif generate tokens.scss \
--canonical-url pkg:release-fixture/tokens.scss \
--output tokens.sif.json
omena lock update pkg:release-fixture/tokens.scss \
--lockfile omena.lock \
--sif tokens.sif.json
omena lock verify --lockfile omena.lock --frozenThese commands were executed against a lock authored from a 0.1.0 generator
artifact. The frozen check first reported all three generator-bound hash
mismatches, then passed after the lock update.
Version scope
The Rust 0.3.0 minor is intentional because generator-bound lock identity and
public surface growth are breaking changes on a pre-1.0 line. The editor does
not move to its reserved next major, and this release does not change the
default byte-producing bundle authority. See
version governance for the machine-checked
axis policy.