From ff10863e0400feafd4ad7efaec01d955e6c2eb8f Mon Sep 17 00:00:00 2001 From: LayerDynamics Date: Mon, 8 Jun 2026 12:03:23 -0500 Subject: [PATCH 1/2] Release 1.0.0 (Steel Donut): bump all crates + version references Bump every workspace crate from 0.1.0-alpha.1 to 1.0.0 (40 Cargo.toml package versions; `forge --version` now reports 1.0.0). Align the live version references: ext_devtools/ext_webview module tables, the ext_debugger example output (ts/init.ts + the generated sdk/runtime.debugger.ts), the roadmap "as of" notes, and the project status in CLAUDE.md. Add a CHANGELOG 1.0.0 entry (the historical 0.1.0-alpha.1 entry is preserved). Historical/contextual references (Site.md audit, the CHANGELOG alpha entry, the release.yml compare-from baseline v0.1.0-alpha.2) are intentionally left as-is. Verified: `cargo build -p forge_cli -p forge-runtime --release` succeeds and `forge --version` -> `forge 1.0.0`; drift gate in sync; site builds (90 pages); fmt clean. Co-Authored-By: Claude Opus 4.8 (1M context) --- CHANGELOG.md | 24 +++++++++ Cargo.lock | 80 ++++++++++++++--------------- crates/ext_app/Cargo.toml | 2 +- crates/ext_bundler/Cargo.toml | 2 +- crates/ext_codesign/Cargo.toml | 2 +- crates/ext_console/Cargo.toml | 2 +- crates/ext_crypto/Cargo.toml | 2 +- crates/ext_database/Cargo.toml | 2 +- crates/ext_debugger/Cargo.toml | 2 +- crates/ext_debugger/ts/init.ts | 4 +- crates/ext_devtools/Cargo.toml | 2 +- crates/ext_devtools/README.md | 2 +- crates/ext_devtools/src/lib.rs | 2 +- crates/ext_display/Cargo.toml | 2 +- crates/ext_dock/Cargo.toml | 2 +- crates/ext_etcher/Cargo.toml | 2 +- crates/ext_fs/Cargo.toml | 2 +- crates/ext_image_tools/Cargo.toml | 2 +- crates/ext_ipc/Cargo.toml | 2 +- crates/ext_lock/Cargo.toml | 2 +- crates/ext_log/Cargo.toml | 2 +- crates/ext_monitor/Cargo.toml | 2 +- crates/ext_net/Cargo.toml | 2 +- crates/ext_os_compat/Cargo.toml | 2 +- crates/ext_path/Cargo.toml | 2 +- crates/ext_process/Cargo.toml | 2 +- crates/ext_protocol/Cargo.toml | 2 +- crates/ext_shell/Cargo.toml | 2 +- crates/ext_shortcuts/Cargo.toml | 2 +- crates/ext_signals/Cargo.toml | 2 +- crates/ext_storage/Cargo.toml | 2 +- crates/ext_svelte/Cargo.toml | 2 +- crates/ext_sys/Cargo.toml | 2 +- crates/ext_timers/Cargo.toml | 2 +- crates/ext_trace/Cargo.toml | 2 +- crates/ext_updater/Cargo.toml | 2 +- crates/ext_wasm/Cargo.toml | 2 +- crates/ext_web_inspector/Cargo.toml | 2 +- crates/ext_webview/Cargo.toml | 2 +- crates/ext_webview/README.md | 2 +- crates/ext_webview/src/lib.rs | 2 +- crates/ext_weld/Cargo.toml | 2 +- crates/ext_window/Cargo.toml | 2 +- crates/forge-docs-check/Cargo.toml | 2 +- crates/forge-runtime/Cargo.toml | 2 +- crates/forge-smelt/Cargo.toml | 2 +- crates/forge_cli/Cargo.toml | 2 +- sdk/runtime.debugger.ts | 4 +- site/src/content/docs/roadmap.md | 4 +- 49 files changed, 114 insertions(+), 90 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c85a94c..1dc21ee 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,30 @@ All notable changes to Forge will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [1.0.0] - 2026-06-08 + +First stable release — **Steel Donut**. + +### Added + +- `forge-smelt`: ahead-of-time TypeScript→JavaScript compiler for app source, + wired into `forge build` (bundles ship compiled JS) and exposed as `forge smelt`. +- `forge-docs-check`: a documentation drift gate that fails CI when the docs site + drifts from the code (crate pages, API signatures, counts, CLI commands, example + module lists, the extension index, and the generated CLI reference), enforced via + CI, a pre-commit hook, and `cargo test`. +- Generated CLI reference: the `forge` command reference is produced from the + `forge_cli` clap command model, so the docs cannot drift from the parser. +- Forge brand icon shipped as the default scaffolded app icon. + +### Changed + +- Migrated the `forge` CLI to clap derive (generated `--help`/`--version`, real + error messages) while preserving the command/flag contract. +- Documentation site rebranded to the Forge logo palette (black + ember/amber) and + mounted under `/docs/`. +- Version bumped to 1.0.0 across all workspace crates. + ## [0.1.0-alpha.1] - 2024-12-12 ### Added diff --git a/Cargo.lock b/Cargo.lock index e5e0647..124b42a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2174,7 +2174,7 @@ dependencies = [ [[package]] name = "ext_app" -version = "0.1.0-alpha.1" +version = "1.0.0" dependencies = [ "cocoa", "deno_core", @@ -2195,7 +2195,7 @@ dependencies = [ [[package]] name = "ext_bundler" -version = "0.1.0-alpha.1" +version = "1.0.0" dependencies = [ "anyhow", "deno_core", @@ -2213,7 +2213,7 @@ dependencies = [ [[package]] name = "ext_codesign" -version = "0.1.0-alpha.1" +version = "1.0.0" dependencies = [ "deno_core", "deno_error", @@ -2229,7 +2229,7 @@ dependencies = [ [[package]] name = "ext_console" -version = "0.1.0-alpha.1" +version = "1.0.0" dependencies = [ "deno_core", "deno_error", @@ -2243,7 +2243,7 @@ dependencies = [ [[package]] name = "ext_crypto" -version = "0.1.0-alpha.1" +version = "1.0.0" dependencies = [ "base64 0.22.1", "deno_core", @@ -2263,7 +2263,7 @@ dependencies = [ [[package]] name = "ext_database" -version = "0.1.0-alpha.1" +version = "1.0.0" dependencies = [ "deno_core", "deno_error", @@ -2281,7 +2281,7 @@ dependencies = [ [[package]] name = "ext_debugger" -version = "0.1.0-alpha.1" +version = "1.0.0" dependencies = [ "deno_core", "deno_error", @@ -2299,7 +2299,7 @@ dependencies = [ [[package]] name = "ext_devtools" -version = "0.1.0-alpha.1" +version = "1.0.0" dependencies = [ "deno_core", "deno_error", @@ -2314,7 +2314,7 @@ dependencies = [ [[package]] name = "ext_display" -version = "0.1.0-alpha.1" +version = "1.0.0" dependencies = [ "deno_core", "deno_error", @@ -2333,7 +2333,7 @@ dependencies = [ [[package]] name = "ext_dock" -version = "0.1.0-alpha.1" +version = "1.0.0" dependencies = [ "core-graphics", "deno_core", @@ -2362,7 +2362,7 @@ dependencies = [ [[package]] name = "ext_etcher" -version = "0.1.0-alpha.1" +version = "1.0.0" dependencies = [ "deno_core", "deno_error", @@ -2379,7 +2379,7 @@ dependencies = [ [[package]] name = "ext_fs" -version = "0.1.0-alpha.1" +version = "1.0.0" dependencies = [ "anyhow", "deno_core", @@ -2399,7 +2399,7 @@ dependencies = [ [[package]] name = "ext_image_tools" -version = "0.1.0-alpha.1" +version = "1.0.0" dependencies = [ "deno_core", "deno_error", @@ -2418,7 +2418,7 @@ dependencies = [ [[package]] name = "ext_ipc" -version = "0.1.0-alpha.1" +version = "1.0.0" dependencies = [ "deno_core", "deno_error", @@ -2434,7 +2434,7 @@ dependencies = [ [[package]] name = "ext_lock" -version = "0.1.0-alpha.1" +version = "1.0.0" dependencies = [ "deno_core", "deno_error", @@ -2448,7 +2448,7 @@ dependencies = [ [[package]] name = "ext_log" -version = "0.1.0-alpha.1" +version = "1.0.0" dependencies = [ "deno_core", "deno_error", @@ -2463,7 +2463,7 @@ dependencies = [ [[package]] name = "ext_monitor" -version = "0.1.0-alpha.1" +version = "1.0.0" dependencies = [ "deno_core", "deno_error", @@ -2480,7 +2480,7 @@ dependencies = [ [[package]] name = "ext_net" -version = "0.1.0-alpha.1" +version = "1.0.0" dependencies = [ "deno_core", "deno_error", @@ -2500,7 +2500,7 @@ dependencies = [ [[package]] name = "ext_os_compat" -version = "0.1.0-alpha.1" +version = "1.0.0" dependencies = [ "deno_core", "dirs 5.0.1", @@ -2512,7 +2512,7 @@ dependencies = [ [[package]] name = "ext_path" -version = "0.1.0-alpha.1" +version = "1.0.0" dependencies = [ "deno_core", "forge-weld", @@ -2523,7 +2523,7 @@ dependencies = [ [[package]] name = "ext_process" -version = "0.1.0-alpha.1" +version = "1.0.0" dependencies = [ "deno_core", "deno_error", @@ -2539,7 +2539,7 @@ dependencies = [ [[package]] name = "ext_protocol" -version = "0.1.0-alpha.1" +version = "1.0.0" dependencies = [ "deno_core", "deno_error", @@ -2558,7 +2558,7 @@ dependencies = [ [[package]] name = "ext_shell" -version = "0.1.0-alpha.1" +version = "1.0.0" dependencies = [ "anyhow", "base64 0.22.1", @@ -2589,7 +2589,7 @@ dependencies = [ [[package]] name = "ext_shortcuts" -version = "0.1.0-alpha.1" +version = "1.0.0" dependencies = [ "deno_core", "deno_error", @@ -2609,7 +2609,7 @@ dependencies = [ [[package]] name = "ext_signals" -version = "0.1.0-alpha.1" +version = "1.0.0" dependencies = [ "deno_core", "deno_error", @@ -2623,7 +2623,7 @@ dependencies = [ [[package]] name = "ext_storage" -version = "0.1.0-alpha.1" +version = "1.0.0" dependencies = [ "deno_core", "deno_error", @@ -2641,7 +2641,7 @@ dependencies = [ [[package]] name = "ext_svelte" -version = "0.1.0-alpha.1" +version = "1.0.0" dependencies = [ "deno_core", "deno_error", @@ -2659,7 +2659,7 @@ dependencies = [ [[package]] name = "ext_sys" -version = "0.1.0-alpha.1" +version = "1.0.0" dependencies = [ "arboard", "battery", @@ -2682,7 +2682,7 @@ dependencies = [ [[package]] name = "ext_timers" -version = "0.1.0-alpha.1" +version = "1.0.0" dependencies = [ "deno_core", "deno_error", @@ -2697,7 +2697,7 @@ dependencies = [ [[package]] name = "ext_trace" -version = "0.1.0-alpha.1" +version = "1.0.0" dependencies = [ "deno_core", "deno_error", @@ -2712,7 +2712,7 @@ dependencies = [ [[package]] name = "ext_updater" -version = "0.1.0-alpha.1" +version = "1.0.0" dependencies = [ "deno_core", "deno_error", @@ -2735,7 +2735,7 @@ dependencies = [ [[package]] name = "ext_wasm" -version = "0.1.0-alpha.1" +version = "1.0.0" dependencies = [ "deno_core", "deno_error", @@ -2753,7 +2753,7 @@ dependencies = [ [[package]] name = "ext_web_inspector" -version = "0.1.0-alpha.1" +version = "1.0.0" dependencies = [ "async-trait", "deno_core", @@ -2775,7 +2775,7 @@ dependencies = [ [[package]] name = "ext_webview" -version = "0.1.0-alpha.1" +version = "1.0.0" dependencies = [ "deno_core", "deno_error", @@ -2791,7 +2791,7 @@ dependencies = [ [[package]] name = "ext_weld" -version = "0.1.0-alpha.1" +version = "1.0.0" dependencies = [ "deno_core", "deno_error", @@ -2807,7 +2807,7 @@ dependencies = [ [[package]] name = "ext_window" -version = "0.1.0-alpha.1" +version = "1.0.0" dependencies = [ "anyhow", "deno_ast", @@ -2998,7 +2998,7 @@ checksum = "aa9a19cbb55df58761df49b23516a86d432839add4af60fc256da840f66ed35b" [[package]] name = "forge-docs-check" -version = "0.1.0-alpha.1" +version = "1.0.0" dependencies = [ "anyhow", "clap", @@ -3036,7 +3036,7 @@ dependencies = [ [[package]] name = "forge-runtime" -version = "0.1.0-alpha.1" +version = "1.0.0" dependencies = [ "anyhow", "backtrace", @@ -3106,7 +3106,7 @@ dependencies = [ [[package]] name = "forge-smelt" -version = "0.1.0-alpha.1" +version = "1.0.0" dependencies = [ "deno_ast", "deno_core", @@ -3144,7 +3144,7 @@ dependencies = [ [[package]] name = "forge_cli" -version = "0.1.0-alpha.1" +version = "1.0.0" dependencies = [ "anyhow", "chrono", diff --git a/crates/ext_app/Cargo.toml b/crates/ext_app/Cargo.toml index 8aa0e36..b0281af 100644 --- a/crates/ext_app/Cargo.toml +++ b/crates/ext_app/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ext_app" -version = "0.1.0-alpha.1" +version = "1.0.0" edition = "2021" diff --git a/crates/ext_bundler/Cargo.toml b/crates/ext_bundler/Cargo.toml index 8411823..ff52087 100644 --- a/crates/ext_bundler/Cargo.toml +++ b/crates/ext_bundler/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ext_bundler" -version = "0.1.0-alpha.1" +version = "1.0.0" edition = "2021" description = "Forge Bundler extension - app packaging, icons, and manifest utilities" license = "MIT" diff --git a/crates/ext_codesign/Cargo.toml b/crates/ext_codesign/Cargo.toml index 4939889..bf487bd 100644 --- a/crates/ext_codesign/Cargo.toml +++ b/crates/ext_codesign/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ext_codesign" -version = "0.1.0-alpha.1" +version = "1.0.0" edition = "2021" description = "Code signing extension for Forge runtime" license = "MIT" diff --git a/crates/ext_console/Cargo.toml b/crates/ext_console/Cargo.toml index 553b13c..33f07f2 100644 --- a/crates/ext_console/Cargo.toml +++ b/crates/ext_console/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ext_console" -version = "0.1.0-alpha.1" +version = "1.0.0" edition = "2021" publish = false build = "build.rs" diff --git a/crates/ext_crypto/Cargo.toml b/crates/ext_crypto/Cargo.toml index 72361c6..10f8f79 100644 --- a/crates/ext_crypto/Cargo.toml +++ b/crates/ext_crypto/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ext_crypto" -version = "0.1.0-alpha.1" +version = "1.0.0" edition = "2021" diff --git a/crates/ext_database/Cargo.toml b/crates/ext_database/Cargo.toml index aa293f4..6bafacf 100644 --- a/crates/ext_database/Cargo.toml +++ b/crates/ext_database/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ext_database" -version = "0.1.0-alpha.1" +version = "1.0.0" edition = "2021" publish = false build = "build.rs" diff --git a/crates/ext_debugger/Cargo.toml b/crates/ext_debugger/Cargo.toml index 5b278b5..df38026 100644 --- a/crates/ext_debugger/Cargo.toml +++ b/crates/ext_debugger/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ext_debugger" -version = "0.1.0-alpha.1" +version = "1.0.0" edition = "2021" description = "V8 Inspector Protocol debugger extension for Forge runtime" license = "MIT" diff --git a/crates/ext_debugger/ts/init.ts b/crates/ext_debugger/ts/init.ts index 88fc34e..95f4ce5 100644 --- a/crates/ext_debugger/ts/init.ts +++ b/crates/ext_debugger/ts/init.ts @@ -158,7 +158,7 @@ * * const metadata = info(); * console.log(`${metadata.name} v${metadata.version} - ${metadata.status}`); - * // Output: ext_debugger v0.1.0-alpha.1 - active + * // Output: ext_debugger v1.0.0 - active * ``` */ export interface ExtensionInfo { @@ -786,7 +786,7 @@ const ops = core.ops; * console.log(`Debugger extension: ${metadata.name} v${metadata.version}`); * console.log(`Status: ${metadata.status}`); * // Output: - * // Debugger extension: ext_debugger v0.1.0-alpha.1 + * // Debugger extension: ext_debugger v1.0.0 * // Status: active * ``` */ diff --git a/crates/ext_devtools/Cargo.toml b/crates/ext_devtools/Cargo.toml index 251509c..acbea31 100644 --- a/crates/ext_devtools/Cargo.toml +++ b/crates/ext_devtools/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ext_devtools" -version = "0.1.0-alpha.1" +version = "1.0.0" edition = "2021" build = "build.rs" diff --git a/crates/ext_devtools/README.md b/crates/ext_devtools/README.md index bc4523e..b159058 100644 --- a/crates/ext_devtools/README.md +++ b/crates/ext_devtools/README.md @@ -235,7 +235,7 @@ Platform-specific DevTools behavior is handled by the underlying [wry](https://d | Dependency | Version | Purpose | |-----------|---------|---------| | `deno_core` | 0.373 | Op definitions and runtime integration | -| `ext_window` | 0.1.0-alpha.1 | Window management and command channel | +| `ext_window` | 1.0.0 | Window management and command channel | | `tokio` | 1.x | Async oneshot channels for command responses | | `thiserror` | 2.x | Error type definitions | | `deno_error` | 0.x | JavaScript error conversion | diff --git a/crates/ext_devtools/src/lib.rs b/crates/ext_devtools/src/lib.rs index 0ee6326..95d4660 100644 --- a/crates/ext_devtools/src/lib.rs +++ b/crates/ext_devtools/src/lib.rs @@ -157,7 +157,7 @@ //! | Dependency | Version | Purpose | //! |-----------|---------|---------| //! | `deno_core` | 0.373 | Op definitions and runtime integration | -//! | `ext_window` | 0.1.0-alpha.1 | Window management and command channel | +//! | `ext_window` | 1.0.0 | Window management and command channel | //! | `tokio` | 1.x | Async oneshot channels for command responses | //! | `thiserror` | 2.x | Error type definitions | //! | `deno_error` | 0.x | JavaScript error conversion | diff --git a/crates/ext_display/Cargo.toml b/crates/ext_display/Cargo.toml index 7c012dc..b2e019e 100644 --- a/crates/ext_display/Cargo.toml +++ b/crates/ext_display/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ext_display" -version = "0.1.0-alpha.1" +version = "1.0.0" edition = "2021" publish = false build = "build.rs" diff --git a/crates/ext_dock/Cargo.toml b/crates/ext_dock/Cargo.toml index 99a7257..c570183 100644 --- a/crates/ext_dock/Cargo.toml +++ b/crates/ext_dock/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ext_dock" -version = "0.1.0-alpha.1" +version = "1.0.0" edition = "2021" description = "Forge Dock extension - macOS dock customization (icon, badge, bounce, menu)" license = "MIT" diff --git a/crates/ext_etcher/Cargo.toml b/crates/ext_etcher/Cargo.toml index f56feab..b54d1b4 100644 --- a/crates/ext_etcher/Cargo.toml +++ b/crates/ext_etcher/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ext_etcher" -version = "0.1.0-alpha.1" +version = "1.0.0" edition = "2021" description = "Forge Etch extension - documentation generation from TypeScript and Rust sources" license = "MIT" diff --git a/crates/ext_fs/Cargo.toml b/crates/ext_fs/Cargo.toml index 87734a6..44931b6 100644 --- a/crates/ext_fs/Cargo.toml +++ b/crates/ext_fs/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ext_fs" -version = "0.1.0-alpha.1" +version = "1.0.0" edition = "2021" diff --git a/crates/ext_image_tools/Cargo.toml b/crates/ext_image_tools/Cargo.toml index 0eb7c50..8c3a258 100644 --- a/crates/ext_image_tools/Cargo.toml +++ b/crates/ext_image_tools/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ext_image_tools" -version = "0.1.0-alpha.1" +version = "1.0.0" edition = "2021" description = "Forge Image Tools extension - PNG, SVG, WebP, ICO operations and transformations" license = "MIT" diff --git a/crates/ext_ipc/Cargo.toml b/crates/ext_ipc/Cargo.toml index 3b4d290..512ab30 100644 --- a/crates/ext_ipc/Cargo.toml +++ b/crates/ext_ipc/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ext_ipc" -version = "0.1.0-alpha.1" +version = "1.0.0" edition = "2021" build = "build.rs" diff --git a/crates/ext_lock/Cargo.toml b/crates/ext_lock/Cargo.toml index fd04ee5..413c28b 100644 --- a/crates/ext_lock/Cargo.toml +++ b/crates/ext_lock/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ext_lock" -version = "0.1.0-alpha.1" +version = "1.0.0" edition = "2021" publish = false build = "build.rs" diff --git a/crates/ext_log/Cargo.toml b/crates/ext_log/Cargo.toml index b8a3dc3..7cf1a53 100644 --- a/crates/ext_log/Cargo.toml +++ b/crates/ext_log/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ext_log" -version = "0.1.0-alpha.1" +version = "1.0.0" edition = "2021" publish = false build = "build.rs" diff --git a/crates/ext_monitor/Cargo.toml b/crates/ext_monitor/Cargo.toml index 73e8100..6171ce9 100644 --- a/crates/ext_monitor/Cargo.toml +++ b/crates/ext_monitor/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ext_monitor" -version = "0.1.0-alpha.1" +version = "1.0.0" edition = "2021" publish = false build = "build.rs" diff --git a/crates/ext_net/Cargo.toml b/crates/ext_net/Cargo.toml index 94a6c66..9bcb1c6 100644 --- a/crates/ext_net/Cargo.toml +++ b/crates/ext_net/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ext_net" -version = "0.1.0-alpha.1" +version = "1.0.0" edition = "2021" diff --git a/crates/ext_os_compat/Cargo.toml b/crates/ext_os_compat/Cargo.toml index 70b5494..0673ed1 100644 --- a/crates/ext_os_compat/Cargo.toml +++ b/crates/ext_os_compat/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ext_os_compat" -version = "0.1.0-alpha.1" +version = "1.0.0" edition = "2021" publish = false build = "build.rs" diff --git a/crates/ext_path/Cargo.toml b/crates/ext_path/Cargo.toml index 49ae1b1..78758bf 100644 --- a/crates/ext_path/Cargo.toml +++ b/crates/ext_path/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ext_path" -version = "0.1.0-alpha.1" +version = "1.0.0" edition = "2021" publish = false build = "build.rs" diff --git a/crates/ext_process/Cargo.toml b/crates/ext_process/Cargo.toml index 06dddad..b8fef36 100644 --- a/crates/ext_process/Cargo.toml +++ b/crates/ext_process/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ext_process" -version = "0.1.0-alpha.1" +version = "1.0.0" edition = "2021" diff --git a/crates/ext_protocol/Cargo.toml b/crates/ext_protocol/Cargo.toml index 9235d68..0e738c2 100644 --- a/crates/ext_protocol/Cargo.toml +++ b/crates/ext_protocol/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ext_protocol" -version = "0.1.0-alpha.1" +version = "1.0.0" edition = "2021" description = "Custom URL protocol handler extension for Forge runtime" license = "MIT" diff --git a/crates/ext_shell/Cargo.toml b/crates/ext_shell/Cargo.toml index 159ca93..d0fa43c 100644 --- a/crates/ext_shell/Cargo.toml +++ b/crates/ext_shell/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ext_shell" -version = "0.1.0-alpha.1" +version = "1.0.0" edition = "2021" # The `objc 0.2` `msg_send!`/`class!`/`sel!` macros (used by the macOS file-icon diff --git a/crates/ext_shortcuts/Cargo.toml b/crates/ext_shortcuts/Cargo.toml index a3b0061..1b3acf9 100644 --- a/crates/ext_shortcuts/Cargo.toml +++ b/crates/ext_shortcuts/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ext_shortcuts" -version = "0.1.0-alpha.1" +version = "1.0.0" edition = "2021" publish = false build = "build.rs" diff --git a/crates/ext_signals/Cargo.toml b/crates/ext_signals/Cargo.toml index 1705599..a547413 100644 --- a/crates/ext_signals/Cargo.toml +++ b/crates/ext_signals/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ext_signals" -version = "0.1.0-alpha.1" +version = "1.0.0" edition = "2021" publish = false build = "build.rs" diff --git a/crates/ext_storage/Cargo.toml b/crates/ext_storage/Cargo.toml index 8cad20e..6f1a0e6 100644 --- a/crates/ext_storage/Cargo.toml +++ b/crates/ext_storage/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ext_storage" -version = "0.1.0-alpha.1" +version = "1.0.0" edition = "2021" diff --git a/crates/ext_svelte/Cargo.toml b/crates/ext_svelte/Cargo.toml index 4e8aa0d..d86e0f8 100644 --- a/crates/ext_svelte/Cargo.toml +++ b/crates/ext_svelte/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ext_svelte" -version = "0.1.0-alpha.1" +version = "1.0.0" edition = "2021" description = "Forge Svelte extension - SvelteKit adapter functionality for Deno" license = "MIT" diff --git a/crates/ext_sys/Cargo.toml b/crates/ext_sys/Cargo.toml index bcffbe1..2c5cfcd 100644 --- a/crates/ext_sys/Cargo.toml +++ b/crates/ext_sys/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ext_sys" -version = "0.1.0-alpha.1" +version = "1.0.0" edition = "2021" diff --git a/crates/ext_timers/Cargo.toml b/crates/ext_timers/Cargo.toml index cb39f26..09f73d6 100644 --- a/crates/ext_timers/Cargo.toml +++ b/crates/ext_timers/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ext_timers" -version = "0.1.0-alpha.1" +version = "1.0.0" edition = "2021" build = "build.rs" diff --git a/crates/ext_trace/Cargo.toml b/crates/ext_trace/Cargo.toml index 9b144bb..bb7d460 100644 --- a/crates/ext_trace/Cargo.toml +++ b/crates/ext_trace/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ext_trace" -version = "0.1.0-alpha.1" +version = "1.0.0" edition = "2021" publish = false build = "build.rs" diff --git a/crates/ext_updater/Cargo.toml b/crates/ext_updater/Cargo.toml index 31660ba..10c0757 100644 --- a/crates/ext_updater/Cargo.toml +++ b/crates/ext_updater/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ext_updater" -version = "0.1.0-alpha.1" +version = "1.0.0" edition = "2021" publish = false build = "build.rs" diff --git a/crates/ext_wasm/Cargo.toml b/crates/ext_wasm/Cargo.toml index ff600ed..831199f 100644 --- a/crates/ext_wasm/Cargo.toml +++ b/crates/ext_wasm/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ext_wasm" -version = "0.1.0-alpha.1" +version = "1.0.0" edition = "2021" description = "WebAssembly extension for Forge apps" license = "MIT" diff --git a/crates/ext_web_inspector/Cargo.toml b/crates/ext_web_inspector/Cargo.toml index 0b47eea..8d87ab4 100644 --- a/crates/ext_web_inspector/Cargo.toml +++ b/crates/ext_web_inspector/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ext_web_inspector" -version = "0.1.0-alpha.1" +version = "1.0.0" edition = "2021" publish = false build = "build.rs" diff --git a/crates/ext_webview/Cargo.toml b/crates/ext_webview/Cargo.toml index 403ec5a..f9927b2 100644 --- a/crates/ext_webview/Cargo.toml +++ b/crates/ext_webview/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ext_webview" -version = "0.1.0-alpha.1" +version = "1.0.0" edition = "2021" build = "build.rs" diff --git a/crates/ext_webview/README.md b/crates/ext_webview/README.md index c2f19b4..876961e 100644 --- a/crates/ext_webview/README.md +++ b/crates/ext_webview/README.md @@ -299,7 +299,7 @@ Platform-specific behavior is handled by the underlying [wry](https://docs.rs/wr | Dependency | Version | Purpose | |-----------|---------|---------| | `deno_core` | 0.373 | Op definitions and runtime integration | -| `ext_window` | 0.1.0-alpha.1 | Window management and command channel | +| `ext_window` | 1.0.0 | Window management and command channel | | `tokio` | 1.x | Async oneshot channels for command responses | | `serde` | 1.x | Serialization framework | | `thiserror` | 2.x | Error type definitions | diff --git a/crates/ext_webview/src/lib.rs b/crates/ext_webview/src/lib.rs index 5a9b851..7daf279 100644 --- a/crates/ext_webview/src/lib.rs +++ b/crates/ext_webview/src/lib.rs @@ -164,7 +164,7 @@ //! | Dependency | Version | Purpose | //! |-----------|---------|---------| //! | `deno_core` | 0.373 | Op definitions and runtime integration | -//! | `ext_window` | 0.1.0-alpha.1 | Window management and command channel | +//! | `ext_window` | 1.0.0 | Window management and command channel | //! | `tokio` | 1.x | Async oneshot channels for command responses | //! | `serde` | 1.x | Serialization framework | //! | `thiserror` | 2.x | Error type definitions | diff --git a/crates/ext_weld/Cargo.toml b/crates/ext_weld/Cargo.toml index 728c24e..415834d 100644 --- a/crates/ext_weld/Cargo.toml +++ b/crates/ext_weld/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ext_weld" -version = "0.1.0-alpha.1" +version = "1.0.0" edition = "2021" description = "Forge Weld extension - code generation and TypeScript binding utilities" license = "MIT" diff --git a/crates/ext_window/Cargo.toml b/crates/ext_window/Cargo.toml index 7225c98..5d26da3 100644 --- a/crates/ext_window/Cargo.toml +++ b/crates/ext_window/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ext_window" -version = "0.1.0-alpha.1" +version = "1.0.0" edition = "2021" build = "build.rs" diff --git a/crates/forge-docs-check/Cargo.toml b/crates/forge-docs-check/Cargo.toml index 29c4d07..d9f0b7d 100644 --- a/crates/forge-docs-check/Cargo.toml +++ b/crates/forge-docs-check/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "forge-docs-check" -version = "0.1.0-alpha.1" +version = "1.0.0" edition = "2021" description = "Forge Docs Check - fails the build when the documentation site drifts from the code" license = "MIT" diff --git a/crates/forge-runtime/Cargo.toml b/crates/forge-runtime/Cargo.toml index 4475f83..c6110ae 100644 --- a/crates/forge-runtime/Cargo.toml +++ b/crates/forge-runtime/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "forge-runtime" -version = "0.1.0-alpha.1" +version = "1.0.0" edition = "2021" build = "build.rs" diff --git a/crates/forge-smelt/Cargo.toml b/crates/forge-smelt/Cargo.toml index 5ff3978..df95f56 100644 --- a/crates/forge-smelt/Cargo.toml +++ b/crates/forge-smelt/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "forge-smelt" -version = "0.1.0-alpha.1" +version = "1.0.0" edition = "2021" description = "Forge Smelt - ahead-of-time TypeScript to JavaScript compiler for Forge apps" license = "MIT" diff --git a/crates/forge_cli/Cargo.toml b/crates/forge_cli/Cargo.toml index ccbf3e8..0805edf 100644 --- a/crates/forge_cli/Cargo.toml +++ b/crates/forge_cli/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "forge_cli" -version = "0.1.0-alpha.1" +version = "1.0.0" edition = "2021" build = "build.rs" diff --git a/sdk/runtime.debugger.ts b/sdk/runtime.debugger.ts index 4db37c7..35f4d9b 100644 --- a/sdk/runtime.debugger.ts +++ b/sdk/runtime.debugger.ts @@ -158,7 +158,7 @@ * * const metadata = info(); * console.log(`${metadata.name} v${metadata.version} - ${metadata.status}`); - * // Output: ext_debugger v0.1.0-alpha.1 - active + * // Output: ext_debugger v1.0.0 - active * ``` */ export interface ExtensionInfo { @@ -786,7 +786,7 @@ const ops = core.ops; * console.log(`Debugger extension: ${metadata.name} v${metadata.version}`); * console.log(`Status: ${metadata.status}`); * // Output: - * // Debugger extension: ext_debugger v0.1.0-alpha.1 + * // Debugger extension: ext_debugger v1.0.0 * // Status: active * ``` */ diff --git a/site/src/content/docs/roadmap.md b/site/src/content/docs/roadmap.md index 93c75fa..136d802 100644 --- a/site/src/content/docs/roadmap.md +++ b/site/src/content/docs/roadmap.md @@ -8,7 +8,7 @@ This document outlines the Forge SDK development roadmap, including planned exte ## Current State -Forge currently has **37 implemented extension modules** (as of v0.1.0-alpha.1): +Forge currently has **37 implemented extension modules** (as of v1.0.0): ### Core Extensions (Fully Implemented) @@ -162,7 +162,7 @@ Core application management and lifecycle control. ## Phase 1: High Priority Modules -> **Status update (v0.1.0-alpha.1):** Most modules in this section have since shipped and appear as **Complete** above — `runtime:screen` → `runtime:display`, `runtime:globalShortcut` → `runtime:shortcuts`, `runtime:autoUpdater` → `runtime:updater`, plus `runtime:database`. The detailed operation tables below are retained for reference. `runtime:theme` remains planned. +> **Status update (v1.0.0):** Most modules in this section have since shipped and appear as **Complete** above — `runtime:screen` → `runtime:display`, `runtime:globalShortcut` → `runtime:shortcuts`, `runtime:autoUpdater` → `runtime:updater`, plus `runtime:database`. The detailed operation tables below are retained for reference. `runtime:theme` remains planned. ### runtime:screen - Display Information From 3aed95f5897572438ad33319a140286243ec2d2e Mon Sep 17 00:00:00 2001 From: LayerDynamics Date: Mon, 8 Jun 2026 13:13:27 -0500 Subject: [PATCH 2/2] release: add Intel macOS (x86_64-apple-darwin) to the release matrix install.sh detects 6 targets but release.yml built only 3, so Intel Macs 404'd on `curl | sh`. Add a native build-macos-intel job (runs-on: macos-15-intel) producing forge-x86_64-apple-darwin.tar.gz, and wire it into the release job (needs + download + collect). Also bump softprops/action-gh-release v1 -> v2 (v1's bundled Node runtime is flagged too old for current runners, which would fail the publish step). Validated with actionlint (no label/action errors). Co-Authored-By: Claude Opus 4.8 (1M context) --- .github/workflows/release.yml | 55 +++++++++++++++++++++++++++++++++-- 1 file changed, 53 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index f5a8c22..f4bc451 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -120,6 +120,50 @@ jobs: examples/example-deno-app/bundle/*.dmg examples/example-deno-app/bundle/*.app + build-macos-intel: + name: Build macOS (Intel) + runs-on: macos-15-intel + steps: + - uses: actions/checkout@v4 + + - name: Install Rust toolchain + uses: dtolnay/rust-toolchain@stable + + - name: Install Deno + uses: denoland/setup-deno@v1 + with: + deno-version: v1.x + + - name: Cache cargo + uses: actions/cache@v4 + with: + path: | + ~/.cargo/bin/ + ~/.cargo/registry/index/ + ~/.cargo/registry/cache/ + ~/.cargo/git/db/ + target/ + key: ${{ runner.os }}-intel-cargo-release-${{ hashFiles('**/Cargo.lock') }} + + - name: Build forge CLI and runtime + run: | + cargo build -p forge_cli --release + cargo build -p forge-runtime --release + + - name: Package forge binaries + run: | + mkdir -p forge-dist + cp target/release/forge forge-dist/ + cp target/release/forge-runtime forge-dist/ + cd forge-dist && tar -czvf ../forge-x86_64-apple-darwin.tar.gz * + + - name: Upload macOS Intel artifacts + uses: actions/upload-artifact@v4 + with: + name: macos-intel-artifacts + path: | + forge-x86_64-apple-darwin.tar.gz + build-linux: name: Build Linux runs-on: ubuntu-latest @@ -190,7 +234,7 @@ jobs: release: name: Create Release - needs: [build-windows, build-macos-arm, build-linux] + needs: [build-windows, build-macos-arm, build-macos-intel, build-linux] runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 @@ -207,6 +251,12 @@ jobs: name: macos-arm-artifacts path: artifacts/macos-arm + - name: Download macOS Intel artifacts + uses: actions/download-artifact@v4 + with: + name: macos-intel-artifacts + path: artifacts/macos-intel + - name: Download Linux artifacts uses: actions/download-artifact@v4 with: @@ -219,6 +269,7 @@ jobs: # Forge toolchain tarballs (forge + forge-host) cp artifacts/windows/forge-x86_64-pc-windows-msvc.tar.gz release/ || true cp artifacts/macos-arm/forge-aarch64-apple-darwin.tar.gz release/ || true + cp artifacts/macos-intel/forge-x86_64-apple-darwin.tar.gz release/ || true cp artifacts/linux/forge-x86_64-unknown-linux-gnu.tar.gz release/ || true # Example app bundles cp artifacts/windows/examples/example-deno-app/bundle/*.msix release/ || true @@ -236,7 +287,7 @@ jobs: fi - name: Create GitHub Release - uses: softprops/action-gh-release@v1 + uses: softprops/action-gh-release@v2 with: tag_name: ${{ steps.tag.outputs.TAG }} name: ${{ steps.tag.outputs.TAG }}