{
  "schema_version": 1,
  "release": "orao-2026-v0.23.0",
  "prepared_on": "2026-10-23",
  "timezone": "Europe/Zagreb",
  "status": "Prepared incremental ZIP for upload; no remote deployment performed",
  "archive": "evil-appliances-orao-2026-v0.23.0-update.zip",
  "previous_release": "orao-2026-v0.20.0",
  "requires_previous_release": "orao-2026-v0.20.0",
  "scope": [
    "orao/",
    "reference/orao/"
  ],
  "whole_site_release": false,
  "emulator_version": "0.23.0",
  "wasm_version": "0.16.0",
  "homepage_title": "BASIC i datoteke · JS v0.23 / Wasm v0.16",
  "homepage_summary": "Novi BASIC32, dva panela za diskete/diskove i preusmjeravanje >, >>, < i |. Wasm zadano; JS ručni izbor.",
  "packaging": {
    "modified_files": 14,
    "added_files": 470,
    "zip_entries": 484,
    "unchanged_excluded": 2720,
    "deletions": 0,
    "complete_baseline_files": 3204,
    "complete_future_baseline": "orao-tests/orao-2026-release-baseline-v0.23.0.json",
    "whole_site_baseline_replaced": false
  },
  "changes": [
    "Previously unpublished JS v0.21-v0.23 and Wasm v0.14-v0.16",
    "Native BASIC32 terminal, old BASIC command vocabulary, VDOS scripts/files, graphics and native foreground programs",
    "Norton-style dual panels: real catalogue and selected-volume initialization with confirmation",
    "Native redirection/append/file stdin and sequential pipelines to commands, source/native programs and CON:/PRN:",
    "Copy-on-write VDOS replacement, owned-child EOF, inherited backpressured stdout and cancellation/error recovery",
    "Wasm default with explicit JS choice and visible unavailable-Wasm fallback",
    "Complete user guide, BASIC reference, examples, native ABI/build guide and consistent portal/reference documentation"
  ],
  "checks": {
    "JSVersions": 31,
    "WasmVersions": 16,
    "nativeReleaseTests": 20,
    "streamLanguageScenarios": 12,
    "retainedBASICLanguageScenarios": 17,
    "nativeCPUCases": 8202,
    "nativeJSStrictCheckpoints": 52,
    "nativeBOSCommands": 26,
    "nativeLongStdoutBytes": 6000,
    "actualEdgeBothEngines": true,
    "sourceAndNativeScriptConsumers": true,
    "JSWasmMediaAndFrameHashesMatch": true,
    "byteExactRebuilds": true
  },
  "limits": [
    "Eight sequential buffered pipe stages; 16384 bytes per stream/file including append prefix",
    "New BASIC command vocabulary does not claim old-ROM binary or identical numeric compatibility; binary32 and bounded arrays/lines/expressions",
    "VDOS flat volumes only; safe replacement needs space for a new copy, not power-loss journaling",
    "Flow redirection uses RUN at the command prompt; nested active redirection rejected; ambiguous text comparisons require parentheses",
    "File manager initially catalogs/initializes volumes; no graphical per-file copy/move/delete",
    "Original BASIC source line spacing preserved and investigation deferred at user request",
    "Original ROM, older archives, tapes, transcripts and previous prepared releases preserved",
    "Rust desktop and local QA/screenshots/fixtures/tools excluded; no Windows binary publication",
    "File-scheme cassette-card loading remains deferred; no fresh speedup claim",
    "Incremental upload requires complete v0.20.0; not a whole-site replacement"
  ]
}
