From ad3cdde822f86b23aa4049ada5a1c44962bfa52e Mon Sep 17 00:00:00 2001 From: xscriptor Date: Fri, 6 Nov 2026 10:03:20 +0100 Subject: [PATCH 1/4] chore: migrate effects to SDK 0.3.0 Update the workspace to xfetch-effect-api 0.3.0. The JSON protocol and WIT are unchanged; effect code, manifests and catalog versions remain as they were. --- CHANGELOG.md | 8 ++++++++ Cargo.lock | 15 +++++++++++++-- Cargo.toml | 2 +- 3 files changed, 22 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1996d09..1bb1f64 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,13 @@ # Changelog +## 2026-11-06 — SDK 0.3.0 migration + +- Updated the workspace to `xfetch-effect-api` 0.3.0. +- The JSON protocol remains version 1 and the WIT remains + `xfetch:runtime@0.1.0`. +- Effect code, manifests and catalog versions are unchanged; this is a + dependency alignment with the core 0.3.0 SDK. + ## 2026-11-03 — v1.0.2 Release train v1.0.2 (catalog schema 1, catalog_version 1.0.2). diff --git a/Cargo.lock b/Cargo.lock index c2dcfd1..9134001 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -92,14 +92,25 @@ version = "1.0.27" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a2c754d6c33795a1c324727428e5a7dedb5b06195f9890bdbcba760d3e246563" +[[package]] +name = "xfetch-api-common" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d7a35b6c4f442aea26e73bb821978a637bd31261d80d4e97c11185876dd684c" +dependencies = [ + "serde", + "serde_json", +] + [[package]] name = "xfetch-effect-api" -version = "0.2.0" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69820c4df7636fc23ab84a3b6cb7d3c9b58b523fbc10e0e0d733c8bc5facd009" +checksum = "0bf8aacbdb2bfeef6a3139f24528786826a0db89a3d5ba2cde47948fa9093534" dependencies = [ "serde", "serde_json", + "xfetch-api-common", ] [[package]] diff --git a/Cargo.toml b/Cargo.toml index 904d0cd..5469ba9 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -8,6 +8,6 @@ members = [ resolver = "2" [workspace.dependencies] -xfetch-effect-api = { version = "0.2.0", package = "xfetch-effect-api" } +xfetch-effect-api = { version = "0.3.0", package = "xfetch-effect-api" } xfetch-effects-lib = { version = "0.2.0", path = "effects/effects-lib", package = "xfetch-effects-lib" } From 09d620d06409d4819f83aea6d04d06eee6a8673d Mon Sep 17 00:00:00 2001 From: xscriptor Date: Fri, 6 Nov 2026 10:20:50 +0100 Subject: [PATCH 2/4] docs: add SDK 0.3.0 compatibility matrix --- README.md | 1 + docs/compatibility.md | 56 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 57 insertions(+) create mode 100644 docs/compatibility.md diff --git a/README.md b/README.md index 603b8f2..9f76b8e 100644 --- a/README.md +++ b/README.md @@ -143,6 +143,7 @@ effects/
  • Effects (xfetch docs)
  • +
  • Platform Compatibility
  • Effect SDK
  • Protocol Reference
  • Examples
  • diff --git a/docs/compatibility.md b/docs/compatibility.md new file mode 100644 index 0000000..fbde191 --- /dev/null +++ b/docs/compatibility.md @@ -0,0 +1,56 @@ +# Platform Compatibility + +

    SDK compatibility

    + +

    + The effects in this repository target xfetch-effect-api 0.3.0. + The JSON protocol remains 1 and the WIT package remains + xfetch:runtime@0.1.0. Effects built against the previous + 0.2.0 SDK remain runtime-compatible. +

    + +

    + Platform support per effect. ✓ = works, ✗ = + not supported. +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    EffectLinuxmacOSWindowsNotes
    decrypt✓✓✓Pure computation over the rendered lines; no OS dependencies.
    glitch✓✓✓Pure computation over the rendered lines; no OS dependencies.
    wasm-matrix✓✓✓WebAssembly core module; requires a wasm-enabled xfetch build.
    wasm-python-pulse✓✓✓WebAssembly component (componentize-py); requires a wasm-enabled xfetch build.
    + +

    Legend

    + +
      +
    • ✓ — works on the platform.
    • +
    • ✗ — not supported; the effect is skipped and xfetch renders normally.
    • +
    From 5d2a35cf719cd4c0648b4deda1e09443500ca4c2 Mon Sep 17 00:00:00 2001 From: xscriptor Date: Fri, 6 Nov 2026 10:29:09 +0100 Subject: [PATCH 3/4] ci: add tests workflow Run fmt, clippy, workspace tests and the catalog check on pull requests and on main after merge. No build or release artifacts. --- .github/workflows/tests.yml | 52 +++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 .github/workflows/tests.yml diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml new file mode 100644 index 0000000..ccb6478 --- /dev/null +++ b/.github/workflows/tests.yml @@ -0,0 +1,52 @@ +name: Tests + +on: + pull_request: + push: + branches: [main] + workflow_dispatch: + +permissions: + contents: read + +concurrency: + group: tests-${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + test: + name: cargo test + runs-on: ubuntu-latest + timeout-minutes: 20 + steps: + - name: Checkout repository + uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + with: + persist-credentials: false + + - name: Install stable Rust toolchain + uses: dtolnay/rust-toolchain@18f0487477426dce244608110aa2660c2893deb7 # stable + with: + components: rustfmt, clippy + + - name: Check formatting + run: cargo fmt --all --check + + - name: Run clippy + run: cargo clippy --locked --all-targets -- -D warnings + + - name: Run workspace tests + run: cargo test --workspace --locked --no-fail-fast + + catalog: + name: catalog metadata + runs-on: ubuntu-latest + timeout-minutes: 5 + steps: + - name: Checkout repository + uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 + with: + persist-credentials: false + + - name: Validate catalog + run: python3 scripts/generate_catalog.py --check From a83abe048b4c54599d74aa28e0bb0d541d5559eb Mon Sep 17 00:00:00 2001 From: xscriptor Date: Fri, 6 Nov 2026 13:54:03 +0100 Subject: [PATCH 4/4] docs: record CI and wasm validation --- CHANGELOG.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1bb1f64..37e00b5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,13 @@ # Changelog +## 2026-11-06 — CI and wasm validation + +- Added a `Tests` workflow: fmt, clippy, workspace tests and catalog + verification on pull requests and on main after merge. It does not build or + publish release artifacts. +- Validated `wasm-matrix` and `wasm-python-pulse` with their native wasm + toolchains and runtime checks against xfetch 1.0.3. + ## 2026-11-06 — SDK 0.3.0 migration - Updated the workspace to `xfetch-effect-api` 0.3.0.