Commit Graph
65 Commits
Author SHA1 Message Date
Chris Tate 2fb3a65a99 Prepare v0.0.35 release (#194)
- Bump the CLI, compiler, runtime, and surface manifest to v0.0.35.
- Publish release notes for faster development builds and compiler correctness fixes.
2026-08-21 22:33:49 -05:00
Chris Tate af333016d4 perf: preseed native build caches (#192)
* perf: preseed native build caches

- Warm runtime, TLS, and dynamic-engine artifacts during npm installation
- Add an explicit toolchain-aware cache warm command for images and CI
- Move vendor artifacts into the user cache and build QuickJS directly

* fix: harden native cache warming

* fix: promote staged vendor cache entries

* fix: isolate shared native cache entries

* fix: validate shared vendor cache artifacts
2026-08-21 19:52:25 -05:00
Chris Tate 5138c1683a perf: add executable dev object caching (#191)
- Add an explicit executable dev posture using native -O0 builds
- Split large LLVM programs into parallel, independently cached objects
- Preserve release cache compatibility and safe single-TU fallbacks
2026-08-21 13:03:31 -05:00
Chris Tate 2805c3ddb4 perf: lazy-load the compiler from the CLI (#189)
* perf: lazy-load the compiler from the CLI

- Serve help and version from a lightweight bootstrap and route exact executable cache hits before loading the compiler graph.
- Validate routed hits against compiler, frontend, toolchain, and native dependency proofs with portable cache publication.

* fix: repair lazy executable cache routes
2026-08-21 10:29:34 -05:00
Chris Tateandvercel[bot] f237e44c73 perf: cache complete executable builds early (#188)
* perf: cache complete executable builds early

- Restore exact executable builds before TypeScript frontend and lowering work.
- Validate frontend, native dependency, mode, target, and FFI identities before reuse.
- Cover cross-process hits, corruption repair, invalidation, and native fallback behavior.

* Update tests/harness/README.md

Co-authored-by: vercel[bot] <35613825+vercel[bot]@users.noreply.github.com>

* fix: harden early executable cache identity

* fix: fingerprint effective compiler for early cache

---------

Co-authored-by: vercel[bot] <35613825+vercel[bot]@users.noreply.github.com>
2026-08-21 08:41:51 -05:00
Chris Tate d7b4480e47 chore: prepare v0.0.34 release (#179)
- Bump all published packages to v0.0.34
- Document library caching, lowering, and record-spread performance improvements
- Refresh the compiler surface manifest for the release
2026-08-20 14:55:44 -05:00
Chris Tate 5544b23ee9 Cache emitted library translation units (#175)
* Cache emitted library translation units

- Restore cached C and LLVM translation units on semantic library cache hits while refreshing volatile build identity
- Rebase public C source annotations and strip them from stable native-cache inputs

* Fix cached library source annotations

* Fix cached C source annotations

* Fix cached C newline annotations
2026-08-20 02:04:30 -05:00
Chris Tate 741e8cd3f6 Split volatile library identity code (#174)
* Split volatile library identity code

- Emit build identity getters from a tiny standalone C translation unit
- Cache generated library program objects independently of volatile identity and archives
- Preserve toolchain, runtime, and translation-unit dependency invalidation coverage

* Preserve library identity during localization

* Keep library identity sources private

* Preserve library identity in public emission

* Preserve identity in kept library units
2026-08-19 23:36:22 -05:00
Chris Tate 06d50244d0 Reuse IR across comment-only library edits (#171)
* Reuse IR across comment-only library edits

- Restore validated lowered IR when TypeScript edits change only non-semantic comments
- Rebase source locations and regenerate exact-source sidecar and build identities
- Add semantic invalidation, integrity, and real-cache coverage

* Fix semantic cache lexical validation

* Use canonical IR version in semantic cache

* Fix semantic cache lexical rebasing

* Fix semantic cache Unicode identifiers
2026-08-19 13:02:47 -05:00
Chris Tate d1a1da97a2 Cache unchanged library frontends (#169)
* Cache unchanged library frontends

- Restore generated library artifacts before TypeScript and lowering on exact repeats
- Track source, configuration, package-resolution, and missing-candidate inputs for safe invalidation
- Add integrity, replacement, and cache-disable coverage plus cache documentation

* Fix early frontend cache invalidation

* Fix early cache input race tracking

* Fix early frontend cache output tracking

* Key frontend cache by Node version
2026-08-18 11:04:08 -05:00
Chris Tate f29459f17e chore: prepare v0.0.33 release (#167)
- Ship native callback lifecycle support and JavaScript-truthy filter semantics.
- Document build performance improvements and synchronize release metadata.
2026-08-17 21:02:49 -05:00
Chris Tate ff98ee2330 Speed up scriptc builds (#166)
* Speed up scriptc builds

- Cache native compilation inputs and enable Node 24 bytecode caching
- Memoize frontend type lowering and reduce checker overfetch
- Add dev-mode library optimization and phase timing

* Fix persistent cache invalidation

* Fix native cache dependency validation

* Fix native cache header shadow invalidation
2026-08-17 20:15:56 -05:00
Chris Tate 5f4e576685 chore: prepare v0.0.32 release (#161)
- Bump workspace packages and the generated compiler manifest to v0.0.32.
- Document ARM64 musl, Windows TLS trust, and comparison-proof updates.
2026-08-15 21:14:38 -05:00
Chris Tate 7dfd25484e chore(ovation): checkpoint agent step (#155) 2026-08-14 12:06:20 -05:00
Chris Tate 7586e0ed1b chore: prepare v0.0.30 release (#149)
- Bump all published packages and the surface manifest to v0.0.30.
- Promote host-callback channels into the marked release notes.
- Include callback registration in cross-target ABI symbol checks.
2026-08-13 22:35:00 -05:00
Chris Tate be7435cfd6 chore: prepare v0.0.29 release (#147)
- Bump all published packages to v0.0.29.
- Promote the mobile library target notes into the release changelog.
- Refresh the compiler surface manifest for the new version.
2026-08-13 13:17:36 -05:00
Chris Tate c6e9f62f34 chore: prepare v0.0.28 release (#143)
- Bump all workspace packages and the surface manifest to 0.0.28.
- Promote the changelog entry for cross-platform runtime localization.
- Advance release markers for publishing automation.
2026-08-12 19:02:08 -05:00
Chris Tate 6aaf0ece79 release: v0.0.27 (#138)
- Bump all three published packages to 0.0.27.
- Publish release notes for multi-instance library archives.
- Regenerate the compiler surface manifest.
2026-08-12 10:59:53 -05:00
Chris Tate e98b2d461d release: v0.0.26 (#135)
Bump all published packages to 0.0.26, publish the release notes for the new target and runtime surfaces, and regenerate the compiler surface manifest.
2026-08-11 14:39:19 -05:00
Chris TateandAlbert 31f268be2b feat: support wasm32-wasi as a production target (#133)
* feat: support wasm32-wasi as a production target

- Add production LLVM WASI codegen with a 32-bit ABI, coroutines, and dynamic modules
- Integrate WASI builds and execution into the CLI with capability diagnostics
- Add differential coverage and document the fourth production target

Co-authored-by: Albert <57402359+bulatovv@users.noreply.github.com>

* fix: address wasm target review findings

* fix WASI guest paths and fetch alias detection

* fix WASI async bridge and fetch detection

---------

Co-authored-by: Albert <57402359+bulatovv@users.noreply.github.com>
2026-08-11 14:12:59 -05:00
Chris Tate ea5b6183f2 release: v0.0.25 (#126)
- Bump all published packages to 0.0.25.
- Document fair socket-read scheduling in the release notes.
- Regenerate the compiler surface manifest for the new version.
2026-08-10 23:08:09 -05:00
Chris Tate 0daa46cb4f release: prepare v0.0.24 (#122)
- Bump workspace package versions to v0.0.24.
- Document the release’s filesystem, encoding, process, array, and performance updates.
- Refresh the compiler surface manifest for the release.
2026-08-10 14:42:39 -05:00
Chris Tate 28e723b599 Prepare v0.0.23 release (#105)
- Stamp all published packages and the compiler surface manifest at 0.0.23.
- Publish release notes for the new runtime, compiler, and web-platform surface.
- Preserve a clean Unreleased section and mark only the latest release body.
2026-08-09 08:09:54 -05:00
Chris Tate adae252881 Prepare v0.0.22 release (#87)
- Stamp all publishable packages at v0.0.22.

- Publish release notes for persistent builds and external coverage types.

- Refresh the compiler surface manifest for the release.
2026-08-03 01:31:43 -05:00
Chris Tate 0d5bc0dd0d feat(coverage): resolve external host type surfaces (#80)
* feat(coverage): resolve external host type surfaces

- Add repeatable --external-types mappings for checker-only module resolution.
- Keep host runtime values as explicit blockers with tests and documentation.

* fix: validate external type mappings

* fix: fence external host runtime edges

* fix(compiler): skip empty external type lookup

* fix(compiler): honor external type boundaries
2026-08-02 19:41:35 -05:00
Chris Tate 1743ba7ded test(cli): pin coverage exit status (#81)
- Exercise fully static and partial coverage through the real CLI process.
- Reserve nonzero status for failed TypeScript preflight analysis.
2026-08-02 17:31:46 -05:00
Chris Tate 68263610e3 fix(compiler): prevent stale native cache hits 2026-08-02 13:59:06 -05:00
Chris Tate a1215f6ef9 fix(compiler): bypass cache for opaque wrappers 2026-08-02 13:00:17 -05:00
Chris Tate 24904ddff7 fix native cache invalidation and safety 2026-08-02 12:03:56 -05:00
Chris Tate 1f1f7d42a7 fix native cache invalidation 2026-08-01 15:39:44 -05:00
Chris Tate 6b996ea4a8 fix: harden persistent compilation cache 2026-08-01 15:39:44 -05:00
Chris Tate c23741ba75 fix: relink ambient system libraries 2026-08-01 15:39:44 -05:00
Chris Tate a578a9ab9b Persist native compilation cache
- Enable bounded platform-native caching for production executable and library builds.

- Reuse library runtime objects across edits and avoid duplicate no-npm frontend loading.

- Cover cache defaults, invalidation, bypass behavior, and artifact equivalence; document controls.
2026-08-01 15:39:43 -05:00
Chris Tate fdb01b360c Prepare v0.0.21 release
- Stamp all publishable packages at v0.0.21.

- Publish release notes for the contract-sidecar fixes.

- Refresh the compiler surface manifest for the release.
2026-07-30 23:08:27 -05:00
Chris Tate fdf5010b28 Prepare v0.0.20 release
- Stamp all publishable packages at v0.0.20.

- Publish release notes for the contract-sidecar improvements.

- Refresh the compiler surface manifest for the release.
2026-07-30 16:26:39 -05:00
Chris Tate 1bd7e4af2e Prepare v0.0.19 release
- Stamp all published packages and the compiler surface manifest at 0.0.19.
- Promote the completed integer-slot fixes into the marked release notes.
2026-07-30 13:36:35 -05:00
Chris Tate 7f68aa1676 Prepare v0.0.18 release
- Stamp all publishable packages and the surface manifest at 0.0.18.
- Promote the curated Unreleased notes and release markers to v0.0.18.
2026-07-30 09:29:36 -05:00
Chris Tate e6de55819f Prepare v0.0.17 release
- Stamp the runtime, compiler, and CLI packages at 0.0.17.
- Regenerate the surface manifest for the synchronized version.
- Add release notes for the Windows CLI build and run fixes.
2026-07-26 20:32:46 -05:00
Chris Tate 6d521671df Fix Windows cross-target CLI setup 2026-07-26 17:25:37 -05:00
Chris TateandKhaled Ghallab d7b5891b4f Fix scriptc run on Windows
- Normalize Windows paths passed through the TS7 virtual filesystem.
- Emit and launch .exe outputs by default on Windows.
- Add targeted regressions and a Windows GitHub Actions smoke test.

Co-authored-by: Khaled Ghallab <171967089+Khaled-Ghallab@users.noreply.github.com>
2026-07-26 15:50:38 -05:00
Chris Tate aacfc4cbf0 Prepare v0.0.16 release
- Synchronize package versions and regenerate the compiler surface manifest.
- Publish release notes for prompt output flushing and Linux host clang builds.
2026-07-26 10:22:45 -05:00
Chris Tate 3817e74e74 chore: release v0.0.15
- Bump all published packages to 0.0.15 and refresh the surface manifest.
- Promote the outbound native FFI notes into the marked release block.
- Verify the workspace build plus plain and sanitized full test lanes.
2026-07-25 12:48:14 -05:00
Chris Tate bed63d3223 feat: add outbound native FFI
- Add a strict versioned manifest and direct C ABI lowering for both backends.
- Link declared native inputs through the CLI and compiler APIs with precise diagnostics.
- Cover the ABI under plain and sanitized integration tests and document its contracts.
2026-07-25 09:56:48 -05:00
Chris Tate ee1f8697b8 Release 0.0.14 2026-07-24 23:30:35 -05:00
Chris Tate 701e2795a1 CLI: -v, and argument errors that read as errors
- `scriptc -v` / `--version` prints the installed version, read from the package manifest so a release build and a source checkout answer the same way. It previously fell through to the compile path and crashed trying to read `-v` as an entry file.
- An unknown flag or a missing flag value now prints one line naming what was wrong, followed by usage. parseArgs' ERR_PARSE_ARGS_* used to escape to the top level and paint a Node stack trace over the terminal.
- Reworded `--backend` help: llvm is the default and the output that ships, c is the readable reference backend for inspecting what the compiler produced.
2026-07-24 23:23:58 -05:00
Chris Tate 91245d659f Release 0.0.13 2026-07-24 21:20:01 -05:00
Chris Tate 6ce1a44c80 Release 0.0.12 2026-07-24 18:23:39 -05:00
Chris Tate e96d1264c1 Release 0.0.11 2026-07-24 12:47:01 -05:00
Chris Tate 567af934f1 Release 0.0.10 2026-07-24 10:03:40 -05:00
Chris Tate 242ad7e117 Release 0.0.9 2026-07-24 00:28:26 -05:00