Skip to content

Releases: wenathlan/saddle

Saddle 1.8.17

Choose a tag to compare

@inathlan inathlan released this 14 Aug 22:47

Saddle 1.8.17

Saddle 1.8.17 expands the GHCR container from an unqualified single-platform publication to a Linux OCI manifest index. The release workflow builds and publishes linux/amd64, linux/arm64, and linux/ppc64le; it verifies the pushed index, then pulls and runs the amd64 variant for the existing OCI-label and CLI smoke checks. Windows containers are deliberately not claimed because the current Dockerfile is Linux-based and no compatible Node 26.7.0 Windows base was verified.

Changes

Area Change
Container matrix Adds Buildx publication for linux/amd64, linux/arm64, and linux/ppc64le.
Emulation Registers QEMU before Buildx so the GitHub-hosted Linux builder can create the selected non-native Linux variants.
Validation Keeps a locally loadable linux/amd64 scan target, verifies the pushed OCI index contains exactly the selected Linux architectures, checks the OCI version label, and runs saddle help.
Scope boundary Defers windows/amd64, linux/arm/v7, and linux/386; rejects unknown/* as a runtime target.
Dockerfile Removes an unused Alpine stage so the Dockerfile resolves only the Debian-based build and runtime stages that participate in the selected matrix.
Versioning Aligns active package, registry, native, extension, crawler, Capacitor, and iOS metadata to 1.8.17, with iOS build number 1008017.

Container publication contract

Image reference Expected published Linux platforms Verification after push
ghcr.io/wenathlan/saddle:1.8.17 linux/amd64, linux/arm64, linux/ppc64le OCI manifest-index inspection, amd64 pull, OCI version-label comparison, and CLI help smoke test.
ghcr.io/wenathlan/saddle:latest The same platforms as the version tag The version-specific tag is verified first; latest is not claimed until the registry workflow completes.

windows/amd64 requires a separate Windows Dockerfile, an explicitly versioned Windows base image, a compatible Windows runner, and Windows-specific smoke testing. It is not interchangeable with the Debian Linux image. unknown/* descriptors are not advertised as runnable platforms.

Artifact contract

The release workflows derive all names from v1.8.17. The expected artifact matrix remains 38 files: 20 primary artifacts, nine manifests, and nine checksum files. The container archive name is saddle.container.1.8.17.tar.gz; its release manifest records the image reference but does not replace inspection of the pushed registry manifest index.

Verification boundary

These notes describe the release candidate and expected outputs. Registry availability, image index contents, scan results, signatures, SBOM validity, Android signing, iOS artifacts, and any platform-specific execution claim are recorded only after the relevant workflow output independently confirms them.

References

Saddle 1.8.16

Choose a tag to compare

@inathlan inathlan released this 14 Aug 20:43

Saddle 1.8.16

Saddle 1.8.16 adds a pure, policy-evaluable release-evidence layer above existing checksum verification. The library normalizes caller-supplied evidence, evaluates it through explicit policy, and creates a serializable release-readiness receipt. It remains descriptive: it does not fetch artifacts, scan files, query CVE feeds, sign content, create tags, invoke CI, publish packages, or contact a registry.

Changes

Area Change
Evidence Added releaseevidence with explicit notProvided, declared, parsed, checked, verified, rejected, and unknown states.
Policy Added evaluateevidence with caller-selected evidence kinds, allowed states, expected producer/workflow values, ordered reasons, and accepted, rejected, or insufficient outcomes.
Readiness Added releasereadiness, which binds source tag, observed manifest versions, gates, artifact-plan digest, targets, signing state, and an evidence evaluation without executing a release.
Verification bridge Added evidencefromverification, which converts only an already-valid local verifyassets checksum result to checked evidence and retains signing state as metadata.
API Added the root export and @wenathlan/saddle/release-evidence subpath, documented in the public library API.
Validation The candidate passed 136 active tests, 69 legacy tests, engine build, web checks/build, format validation, package dry-run, high-severity audit, flat native validation, and whitespace validation.

Artifact contract

The release workflows derived artifact names and package versions from v1.8.16. The matrix below matches the attached release assets after the platform workflows completed; signing status remains explicit rather than inferred from a filename.

Group Expected attached assets
Linux desktop saddle.browser.1.8.16.x64.appimage, saddle.browser.1.8.16.x64.deb, saddle.browser.1.8.16.x64.rpm, saddle.browser.1.8.16.arm64.appimage, saddle.browser.1.8.16.arm64.deb, saddle.browser.1.8.16.arm64.rpm
Windows desktop saddle.browser.1.8.16.x86.exe, saddle.browser.1.8.16.x86.msi, saddle.browser.1.8.16.x64.exe, saddle.browser.1.8.16.x64.msi, saddle.browser.1.8.16.arm64.exe, saddle.browser.1.8.16.arm64.msi
macOS desktop saddle.browser.1.8.16.x64.dmg, saddle.browser.1.8.16.x64.app.zip, saddle.browser.1.8.16.arm64.dmg, saddle.browser.1.8.16.arm64.app.zip
Android saddle.apk.1.8.16.apk, saddle.aab.1.8.16.aab
Container saddle.container.1.8.16.tar.gz
Browser extension saddle.extension.1.8.16.zip
Manifests manifest.android.1.8.16.json, manifest.container.1.8.16.json, manifest.desktop.linux.arm64.1.8.16.json, manifest.desktop.linux.x64.1.8.16.json, manifest.desktop.macos.arm64.1.8.16.json, manifest.desktop.macos.x64.1.8.16.json, manifest.desktop.windows.arm64.1.8.16.json, manifest.desktop.windows.x64.1.8.16.json, manifest.desktop.windows.x86.1.8.16.json
Checksums sha256.android.1.8.16, sha256.container.1.8.16, sha256.desktop.linux.arm64.1.8.16, sha256.desktop.linux.x64.1.8.16, sha256.desktop.macos.arm64.1.8.16, sha256.desktop.macos.x64.1.8.16, sha256.desktop.windows.arm64.1.8.16, sha256.desktop.windows.x64.1.8.16, sha256.desktop.windows.x86.1.8.16

The release contains 38 attached assets: 20 primary artifacts, nine manifests, and nine checksum files. iOS artifacts are absent because Apple signing, provisioning, and export credentials remain caller-owned and no IPA or app archive was built.

Publication and verification policy

The six registry workflows publish from the same validated release tag, in container-first order: GHCR, GitHub Packages npm, public npmjs, Maven, NuGet GitHub Packages, and RubyGems. The GHCR workflow must build, scan, push, pull, inspect its OCI version label, and complete a smoke check. The release does not claim SignPath approval, Authenticode trust, Apple notarization, production Android signing, SBOM validation, vulnerability status, or registry availability unless the completed workflow output independently supports that claim.

Verified publication results

The release validation, security, container artifact, desktop artifact, target-plan, and extension workflows completed successfully. The six tag-driven registry workflows also completed successfully: GHCR, GitHub Packages npm, public npmjs, Maven, NuGet GitHub Packages, and RubyGems. The release-event Android job correctly stopped when production Android signing secrets were unavailable. Manual run 31839378707 then produced and attached the APK and AAB through the explicitly allowed ci-test-key path; it is not presented as a production Android signing result.

References

Saddle 1.8.15

Choose a tag to compare

@inathlan inathlan released this 14 Aug 19:50

Saddle 1.8.15

Saddle 1.8.15 adds transport-neutral contracts for verified storage, bounded working sets, isolated transformations, provider selection and immutable delivery. The shared core remains declarative: it does not create runners, start containers, register service workers, mutate DNS, transfer artifacts or execute binaries without a caller-owned adapter.

Changes

Area Change
Storage Added verified pool reads, primary/mirror/fan-out writes, quorum evidence, operation budgets, range reads, repair plans and verified-source restore plans.
Memory Added bounded working-set admission, capability-gated bridge plans, materialization transitions and declarative cleanup plans.
Transformations Added magic-byte classification, bounded WASM plans, isolated adapters, archive inspection limits and cache eligibility controls.
Providers Added capability-based selection, caller preferences, dry-run rendering, integrity-bound handoff and cancellation plans with unknown remote state preserved.
Delivery Added immutable chunk manifests, verification without evaluation, PWA/CDN capability reports, Mini App validation requirements and DNS/application bridge descriptors.
Validation Active tests increased to 132 while the 69 legacy tests remain green; package, flat native, web and audit gates passed.

Artifact contract

The release workflows derive artifact names and package versions from v1.8.15. The following artifact families are expected from the release pipelines; signing remains explicit and is never inferred from a filename.

Surface Artifact family
Linux desktop saddle.browser.1.8.15.<architecture>.deb, .rpm, .appimage
Windows desktop saddle.browser.1.8.15.<architecture>.exe, .msi
macOS desktop saddle.browser.1.8.15.<architecture>.dmg, .app.zip
Android saddle.apk.1.8.15.apk, saddle.aab.1.8.15.aab
iOS saddle.ipa.1.8.15.ipa, saddle.app.1.8.15.app.zip
Container saddle.container.1.8.15.tar.gz
Browser extension saddle.extension.1.8.15.zip

Publication and verification policy

The six registry workflows publish from the same validated release tag, in container-first order: GHCR, GitHub Packages npm, public npmjs, Maven, NuGet GitHub Packages and RubyGems. GHCR must build, scan, push, pull, inspect its OCI version label and complete a smoke check. Production signing remains caller-owned; the release does not claim SignPath approval, Apple notarization or a production Android signing key unless a workflow reports those states.

Verified publication results

The v1.8.15 release has 38 attached assets after the desktop rerun completed. GHCR, GitHub Packages npm, npmjs, Maven, NuGet and RubyGems completed successfully from the release event. The initial release-event Android job correctly failed because no production signing secrets were present; manual run 31835215420 completed with the explicitly labeled ci-test-key fallback. The desktop rerun completed after a transient macOS asset-attachment failure, without changing the tag or claiming notarization.

References

Saddle 1.8.14

Choose a tag to compare

@inathlan inathlan released this 14 Aug 13:45

Saddle 1.8.14 release notes

Saddle 1.8.14 carries the active code and release-facing manifests forward from 1.8.13. The 1.8.13 release notes remain the canonical record for the previous artifact set. The comparative 1.8.21 research remains planning material and is not presented as a separate shipped version.

Changes

Area Change
Version identity Aligned npm, lockfile, Maven, NuGet, RubyGems, browser extension, Tauri, Capacitor, iOS and crawler metadata to 1.8.14. The iOS marketing version is 1.8.14 with build 1008014.
Container Added a build-stage TypeScript engine compilation, runtime-only dist copy, org.opencontainers.image.version label and post-push pull/label/CLI smoke validation.
Registry order Documented GHCR as the first package surface, followed by GitHub Packages npm, public npmjs, Maven, NuGet and RubyGems.
Release automation Kept the shared release-tag resolver as the only version source; workflows reject tag/package mismatches and do not contain per-release manual versions.
Architecture Kept the root-first layout, no project-owned src directory, transport-neutral exports and caller-owned infrastructure.

Artifact contract

The active workflows derive names from the v1.8.14 release tag. The release was verified with 38 uploaded assets listed below; iOS remains unavailable because Apple signing and provisioning are caller-owned and were not configured.

Surface Expected artifact family
Linux desktop saddle.browser.1.8.14.<architecture>.deb, .rpm, .appimage
Windows desktop saddle.browser.1.8.14.<architecture>.exe, .msi
macOS desktop saddle.browser.1.8.14.<architecture>.dmg, .app.zip
Android saddle.apk.1.8.14.apk, saddle.aab.1.8.14.aab
iOS saddle.ipa.1.8.14.ipa, saddle.app.1.8.14.app.zip
Container saddle.container.1.8.14.tar.gz
Browser extension saddle.extension.1.8.14.zip

Signing remains explicit. unsigned, ci-test-key, caller-owned, notarized and a provider-reported status are distinct states. These notes do not claim SignPath approval or production signing.

Verified attached assets

The release contains 38 uploaded assets. Desktop artifacts are unsigned, Android artifacts use the explicitly labeled ci-test-key, the container is caller-owned and the extension is unsigned.

Surface Attached assets Signing
Linux desktop saddle.browser.1.8.14.arm64.appimage, saddle.browser.1.8.14.arm64.deb, saddle.browser.1.8.14.arm64.rpm, saddle.browser.1.8.14.x64.appimage, saddle.browser.1.8.14.x64.deb, saddle.browser.1.8.14.x64.rpm unsigned
Windows desktop saddle.browser.1.8.14.arm64.exe, saddle.browser.1.8.14.arm64.msi, saddle.browser.1.8.14.x64.exe, saddle.browser.1.8.14.x64.msi, saddle.browser.1.8.14.x86.exe, saddle.browser.1.8.14.x86.msi unsigned
macOS desktop saddle.browser.1.8.14.arm64.app.zip, saddle.browser.1.8.14.arm64.dmg, saddle.browser.1.8.14.x64.app.zip, saddle.browser.1.8.14.x64.dmg unsigned
Android saddle.apk.1.8.14.apk, saddle.aab.1.8.14.aab ci-test-key
Container saddle.container.1.8.14.tar.gz caller-owned
Browser extension saddle.extension.1.8.14.zip unsigned
Manifests Nine manifest.*.1.8.14.json files covering Android, container, Linux, macOS and Windows metadata
Checksums Nine sha256.*.1.8.14 files covering Android, container, Linux, macOS and Windows integrity metadata

Registry publication

The six registry workflows derive the version from the same v1.8.14 release tag through .github/actions/releaseversion. GHCR is listed first in the package order and must build, scan, push, pull and smoke-test the published image before the job is successful. The remaining workflows publish GitHub Packages npm, public npmjs, Maven, NuGet GitHub Packages and RubyGems from the same validated version. Public nuget.org is not targeted by the current repository workflow.

Registry Workflow Version Verified result
GHCR publishghcr.yml 1.8.14 success; run 31806235613 also pulled, inspected and smoke-tested the image
GitHub Packages npm publishgithubnpm.yml 1.8.14 success; run 31806235570
Public npmjs publishnpmjs.yml 1.8.14 success; run 31806235515
Maven GitHub Packages publishmaven.yml 1.8.14 success; run 31806235540
NuGet GitHub Packages publishnuget.yml 1.8.14 success; run 31806235606
RubyGems GitHub Packages publishrubygems.yml 1.8.14 success; run 31806235523

Verification policy

Local gates passed before the tag was created. Desktop run 31806235468 completed successfully. The release-event mobile run 31806235484 correctly refused to claim production signing because the Android secrets were absent; manual run 31806605994 with allow_test_signing=true completed successfully and attached the APK/AAB as ci-test-key. Production signing remains pending until caller-owned certificates and provider configuration are supplied.

References

Saddle 1.8.13

Choose a tag to compare

@iakadion iakadion released this 14 Aug 00:54

Saddle 1.8.13

Saddle 1.8.13 carries the active code and release-facing manifests forward from 1.8.12. The previous 1.8.12 release notes remain the canonical record for the licensing and artifact baseline. The comparative 1.8.21 research is planning material and is not presented as a shipped feature.

Changes

Area Change
Persistent queue Added caller-owned leases, visibility timeout, deterministic clock injection, renewals, attempt accounting and idempotency-key deduplication. Existing crash recovery and retry behavior remain compatible.
Version identity Aligned npm, lockfile, Maven, NuGet, RubyGems, browser extension, Tauri, iOS, crawler and Capacitor metadata to 1.8.13. The iOS marketing version is 1.8.13 with build 1008013.
Structured extraction Added a schema-neutral result with field-level source URL, selector, extraction timestamp, bounded UTF-8 payload and caller-injected parser support.
Browser context Added allowlisted snapshot projection with stable snapshot and element references, deterministic UTF-8 byte budgets and truncation metadata.
Workflow lifecycle Extended resumable runs with explicit cancellation reasons and caller-owned, idempotent compensation callbacks. Compensation failures are surfaced as COMPENSATION_FAILED.
Artifact retention Added deterministic keep/prune decisions by maximum age, count or bytes. Manifest generation records policy and decisions and never deletes caller files.
Documentation Added the 1.8.13 release notes and retained the 1.8.12 artifact and signing policy documents.
Architecture Kept the root-first layout, no project-owned src directory, transport-neutral exports and caller-owned infrastructure.

Artifact contract

The active workflows derive names from the release tag. The v1.8.13 release was published and contains the generated assets listed below; iOS remains unavailable because Apple signing and provisioning were not configured.

Surface Expected artifact family
Linux desktop saddle.browser.1.8.13.<architecture>.deb, .rpm, .appimage
Windows desktop saddle.browser.1.8.13.<architecture>.exe, .msi
macOS desktop saddle.browser.1.8.13.<architecture>.dmg, .app.zip
Android saddle.apk.1.8.13.apk, saddle.aab.1.8.13.aab
iOS saddle.ipa.1.8.13.ipa, saddle.app.1.8.13.app.zip
Container saddle.container.1.8.13.tar.gz
Browser extension saddle.extension.1.8.13.zip

Signing remains explicit. unsigned, ci-test-key, caller-owned, notarized and a provider-reported status are distinct states. This release note does not claim SignPath approval or production signing.

Verified attached assets

The release contains 38 attached assets. Desktop binaries are unsigned, Android APK/AAB files use the explicitly labeled ci-test-key, and the container is marked caller-owned.

Surface Attached assets Signing
Linux desktop saddle.browser.1.8.13.x64.deb, saddle.browser.1.8.13.x64.rpm, saddle.browser.1.8.13.x64.appimage, saddle.browser.1.8.13.arm64.deb, saddle.browser.1.8.13.arm64.rpm, saddle.browser.1.8.13.arm64.appimage unsigned
Windows desktop saddle.browser.1.8.13.x86.exe, saddle.browser.1.8.13.x86.msi, saddle.browser.1.8.13.x64.exe, saddle.browser.1.8.13.x64.msi, saddle.browser.1.8.13.arm64.exe, saddle.browser.1.8.13.arm64.msi unsigned
macOS desktop saddle.browser.1.8.13.x64.dmg, saddle.browser.1.8.13.x64.app.zip, saddle.browser.1.8.13.arm64.dmg, saddle.browser.1.8.13.arm64.app.zip unsigned
Android saddle.apk.1.8.13.apk, saddle.aab.1.8.13.aab ci-test-key
Container saddle.container.1.8.13.tar.gz caller-owned
Browser extension saddle.extension.1.8.13.zip unsigned
Manifests manifest.android.1.8.13.json, manifest.container.1.8.13.json, manifest.desktop.linux.arm64.1.8.13.json, manifest.desktop.linux.x64.1.8.13.json, manifest.desktop.macos.arm64.1.8.13.json, manifest.desktop.macos.x64.1.8.13.json, manifest.desktop.windows.arm64.1.8.13.json, manifest.desktop.windows.x64.1.8.13.json, manifest.desktop.windows.x86.1.8.13.json metadata
Checksums sha256.android.1.8.13, sha256.container.1.8.13, sha256.desktop.linux.arm64.1.8.13, sha256.desktop.linux.x64.1.8.13, sha256.desktop.macos.arm64.1.8.13, sha256.desktop.macos.x64.1.8.13, sha256.desktop.windows.arm64.1.8.13, sha256.desktop.windows.x64.1.8.13, sha256.desktop.windows.x86.1.8.13 integrity metadata

Verification

The queue, structured extraction, browser context, workflow compensation and retention features passed the active engine and release test suites. The release validation workflow passed, and the live release contains the 38 assets listed above. The original release-event security, GHCR and mobile failures were superseded by successful corrected reruns; production signing remains pending.

References

Saddle 1.8.12

Choose a tag to compare

@iakadion iakadion released this 14 Aug 00:54

Saddle 1.8.12

Saddle 1.8.12 consolidates the root-first native surfaces, the GPL-3.0-only project policy, release provenance and the cross-platform artifact contract. The package manifest and active native manifests remain at 1.8.12. The uploaded scope README is not an execution script and was not rewritten.

Highlights

Area Change
Licensing Canonical GPL-3.0-only license, aligned package metadata and consolidated root legal documents.
Release verification Independent checksum, manifest and explicit signing-state verification.
Storage Paginated S3-compatible listing with prefix, continuation token, XML entity decoding and caller-owned limits.
Scraping Bounded recursive sitemap traversal with deduplication, cycle protection and injected fetcher.
Browser Bounded action recorder with immutable manifests, JSON export and explicit clearing.
Workflows Strict typed inputs, defaults, choices and deterministic trigger identities.
Modes Cross-runtime capability report with caller-owned host, port, credentials and provider boundaries.
Security Existing CodeQL, OSV, npm audit, cargo audit, Trivy, SBOM and provenance gates remain active.

Artifact matrix

The release workflows derive the version from the release tag and use these lowercase dotted names. The v1.8.12 release was published and contains the generated assets listed below; iOS remains unavailable because Apple signing and provisioning were not configured.

Surface Architectures or mode Expected artifact
Linux desktop browser x64, arm64 saddle.browser.1.8.12.<architecture>.deb, .rpm, .appimage
Windows desktop browser x86, x64, arm64 saddle.browser.1.8.12.<architecture>.exe, .msi
macOS desktop browser x64, arm64 saddle.browser.1.8.12.<architecture>.dmg, .app.zip
Android caller-configured signing saddle.apk.1.8.12.apk, saddle.aab.1.8.12.aab
iOS caller-configured signing and provisioning saddle.ipa.1.8.12.ipa, saddle.app.1.8.12.app.zip
Container OCI saddle.container.1.8.12.tar.gz
Browser extension Manifest V3 saddle.extension.1.8.12.zip

Each generated surface must carry its checksum and manifest companion. Where enabled, CI also emits SBOM and provenance metadata. The signing state must be one of unsigned, ci-test-key, caller-owned, notarized or the exact provider status produced by CI. No unsigned artifact is described as trusted or production-signed.

Verified attached assets

The release contains 38 attached assets. Desktop binaries are unsigned, Android APK/AAB files use the explicitly labeled ci-test-key, and the container is marked caller-owned.

Surface Attached assets Signing
Linux desktop saddle.browser.1.8.12.x64.deb, saddle.browser.1.8.12.x64.rpm, saddle.browser.1.8.12.x64.appimage, saddle.browser.1.8.12.arm64.deb, saddle.browser.1.8.12.arm64.rpm, saddle.browser.1.8.12.arm64.appimage unsigned
Windows desktop saddle.browser.1.8.12.x86.exe, saddle.browser.1.8.12.x86.msi, saddle.browser.1.8.12.x64.exe, saddle.browser.1.8.12.x64.msi, saddle.browser.1.8.12.arm64.exe, saddle.browser.1.8.12.arm64.msi unsigned
macOS desktop saddle.browser.1.8.12.x64.dmg, saddle.browser.1.8.12.x64.app.zip, saddle.browser.1.8.12.arm64.dmg, saddle.browser.1.8.12.arm64.app.zip unsigned
Android saddle.apk.1.8.12.apk, saddle.aab.1.8.12.aab ci-test-key
Container saddle.container.1.8.12.tar.gz caller-owned
Browser extension saddle.extension.1.8.12.zip unsigned
Manifests manifest.android.1.8.12.json, manifest.container.1.8.12.json, manifest.desktop.linux.arm64.1.8.12.json, manifest.desktop.linux.x64.1.8.12.json, manifest.desktop.macos.arm64.1.8.12.json, manifest.desktop.macos.x64.1.8.12.json, manifest.desktop.windows.arm64.1.8.12.json, manifest.desktop.windows.x64.1.8.12.json, manifest.desktop.windows.x86.1.8.12.json metadata
Checksums sha256.android.1.8.12, sha256.container.1.8.12, sha256.desktop.linux.arm64.1.8.12, sha256.desktop.linux.x64.1.8.12, sha256.desktop.macos.arm64.1.8.12, sha256.desktop.macos.x64.1.8.12, sha256.desktop.windows.arm64.1.8.12, sha256.desktop.windows.x64.1.8.12, sha256.desktop.windows.x86.1.8.12 integrity metadata

Compatibility and upgrade notes

The public package remains @wenathlan/saddle. The release does not downgrade the package to 1.8.3; the active version is 1.8.12. Version 1.8.21 is reserved for the next objective-driven research and implementation cycle. SignPath Foundation approval and production code-signing credentials remain caller-owned and are not implied by this release note.

Verification

The release validation workflow passed, and the live release contains the 38 assets listed above. The original release-event security and mobile jobs were superseded by successful, explicitly labeled manual reruns; no production signing claim is made.

References

Saddle 1.8.11 — Flat native build surfaces

Choose a tag to compare

@iakadion iakadion released this 13 Aug 18:29

Saddle 1.8.11 — Flat native build surfaces

Changes

Saddle 1.8.11 removes project-owned native src surfaces. The Tauri desktop project is flat at desktop/, the Capacitor Android project is flat at android/ with Gradle sourceSets, and iOS toolchain-owned generated internals remain documented and validated without adding a project-owned ios/src directory.

The release also adds idempotent Android staging flattening, flat-native validation, tag-derived workflow versions, updated desktop and mobile artifact collection, optimized Android shrinking, and synchronized 1.8.11 manifests across the published package surfaces.

Verified generated release assets

The following assets are attached to this release. Sizes are bytes.

Surface Asset Size
Desktop Linux saddle.browser.1.8.11.appimage 79,870,456
Desktop Linux saddle.browser.1.8.11.deb 5,294,158
Desktop Linux saddle.browser.1.8.11.rpm 5,297,619
Desktop Windows saddle.browser.1.8.11.exe 4,343,237
Desktop Windows saddle.browser.1.8.11.msi 5,246,976
Desktop macOS saddle.browser.1.8.11.dmg 5,216,935
Android saddle.apk.1.8.11.apk 3,498,594
Android saddle.aab.1.8.11.aab 3,893,324
Container saddle.container.1.8.11.tar.gz 81,722,975
Browser extension saddle.extension.1.8.11.zip 10,760

The release also contains manifest.*.1.8.11.json and sha256.*.1.8.11 verification files for Android, container and each desktop runner. No IPA was attached because caller-owned Apple signing and provisioning were not enabled for this release.

Published package surfaces

The release workflows completed successfully for public npm, GitHub Packages npm, GitHub Container Registry, Maven, NuGet and RubyGems. Each workflow derives version 1.8.11 from the release tag and reads credentials from repository settings rather than source files.

Saddle 1.8.10 — native surfaces and artifact optimization

Choose a tag to compare

@iakadion iakadion released this 13 Aug 17:18

Saddle 1.8.10 — native surfaces and artifact optimization

Saddle 1.8.10 keeps the TypeScript-first library as the source of truth and makes the conversion boundaries explicit. The desktop Tauri shell remains the Saddle Browser application, while Android and iOS use Capacitor 8.5.0 against the same compiled web/dist/public surface.

Architecture

The root browser/ directory remains transport-neutral browser-agent logic. The desktop/ directory owns the Tauri browser shell. The android/ and ios/ directories own only native conversion metadata, Gradle/Xcode project files, WebView hosting and caller-configured signing. No native surface reimplements the engine.

Verified release assets

The live release contains 20 assets. Sizes below are bytes and were read from the GitHub release after all successful workflows completed.

Surface Asset Size
Desktop browser saddle.browser.1.8.10.appimage 79,870,456
Desktop browser saddle.browser.1.8.10.deb 5,294,388
Desktop browser saddle.browser.1.8.10.dmg 5,222,365
Desktop browser saddle.browser.1.8.10.exe 4,341,818
Desktop browser saddle.browser.1.8.10.msi 5,246,976
Desktop browser saddle.browser.1.8.10.rpm 5,297,815
Android saddle.apk.1.8.10.apk 3,498,594
Android saddle.aab.1.8.10.aab 3,893,352
Container saddle.container.1.8.10.tar.gz 81,718,314
Extension saddle.extension.1.8.10.zip 10,759
Android manifest manifest.android.1.8.10.json 189
Container manifest manifest.container.1.8.10.json 175
Linux manifest manifest.desktop.linux.1.8.10.json 181
macOS manifest manifest.desktop.macos.1.8.10.json 120
Windows manifest manifest.desktop.windows.1.8.10.json 150
Android checksum sha256.android.1.8.10 176
Container checksum sha256.container.1.8.10 97
Linux checksum sha256.desktop.linux.1.8.10 281
macOS checksum sha256.desktop.macos.1.8.10 92
Windows checksum sha256.desktop.windows.1.8.10 184

Android optimization

The Capacitor Android release enables R8 code shrinking, resource shrinking and optimized resource shrinking through Android Gradle Plugin 8.13. The final APK is 3,498,594 bytes, approximately 3.34 MiB; the AAB is 3,893,352 bytes, approximately 3.71 MiB. When production keystore secrets are absent, the workflow uses an ephemeral CI test key and marks the Android manifest ci-test-key. Caller-provided keystore secrets produce a caller-key artifact. The AAB is the preferred store input, while the APK is retained for direct test installation.

The v1.8.9 Tauri debug APK measured approximately 119.5 MiB because libsaddle_desktop.so alone contributed about 118.1 MiB. The 1.8.10 Capacitor path avoids that Rust mobile binary and reuses the system WebView, reducing the attached APK by approximately 97.1% compared with the previous debug APK. The 1.8.10 figure is a release artifact measurement, not a promise about future plugin additions.

Signing and unavailable targets

Desktop files are unsigned CI outputs. Android files use the ephemeral test key unless caller production signing secrets are configured. The iOS job remains gated by SADDLE_IOS_ENABLED or explicit manual dispatch and requires caller-owned Apple certificates, provisioning profiles and export options; no IPA is claimed in this release because those inputs were not enabled. PKG, MSIX, Snap and Flatpak are deferred or caller-owned targets.

Verification

The release workflows succeeded for desktop Linux, Windows and macOS, Capacitor Android, container packaging, extension packaging, registry publication and release validation. Local gates passed before tagging: 99 active Node tests, 69 legacy Vitest tests, web typecheck, web build, package dry-run, formatting checks and npm audit --audit-level=high with zero vulnerabilities.

Saddle 1.8.9 — TypeScript migration and native artifacts

Choose a tag to compare

@iakadion iakadion released this 13 Aug 15:35

Saddle 1.8.9 — TypeScript migration and native artifacts

Saddle 1.8.9 completes the TypeScript-first engine migration and publishes the first verified native desktop, Android and container artifacts from the shared Tauri 2 application boundary. The package remains @wenathlan/saddle; generated JavaScript and declaration output is produced during CI and is not committed to the repository.

Highlights

  • TypeScript-first engine migration with dist-only compilation and preserved public exports.
  • Root-based architecture with consolidated scrape, crawl, retry, runtime, web and release logic.
  • Reproducible release-version derivation from v1.8.9, platform-specific manifests and SHA-256 checksums.
  • Desktop browser artifacts built from the shared web surface for Windows, Linux and macOS.
  • Android debug APK and AAB artifacts generated from the same application boundary.
  • OCI container image exported as a release tarball.
  • Deterministic browser extension ZIP retained as a release asset.

Verified desktop artifacts

Platform Artifact
Windows Saddle Browser 1.8.9 setup EXE
Windows Saddle Browser 1.8.9 MSI
Linux Debian package
Linux RPM package
Linux AppImage
macOS Apple Silicon DMG

Verified mobile, container and extension artifacts

Surface Artifact
Android Debug APK
Android Debug AAB
Container OCI image tarball
Browser extension Extension ZIP

Manifests and checksums

The release includes platform-specific metadata and integrity files: desktop Linux manifest, desktop Windows manifest, desktop macOS manifest, Android manifest, container manifest, Linux checksums, Windows checksums, macOS checksums, Android checksums and container checksums.

Signing and availability boundaries

Desktop artifacts are unsigned CI outputs. Android APK and AAB files use a debug key for test installation and are not production store submissions. iOS IPA generation remains gated behind SADDLE_IOS_ENABLED or an explicit manual dispatch with Apple Developer certificates, provisioning profiles and export credentials; no iOS IPA is claimed in this release. PKG, MSIX, Snap, Flatpak, production Android signing, Windows signing and macOS signing/notarization remain caller-owned or deferred targets.

Validation

The final desktop workflow completed successfully for Linux, Windows and macOS in run 31721365927. The final Android workflow completed successfully with the iOS job correctly skipped in run 31721368995. The container workflow completed successfully in run 31718528325. Obsolete Rust build-helper executables and generic metadata collisions were removed from the release asset list.

Saddle 1.8.8

Choose a tag to compare

@iakadion iakadion released this 13 Aug 14:53

Correlated engine context consolidation: grouped crawl logic under scrape/crawl.js, grouped retry and circuit protection under runtime/retry.js, consolidated scraper error taxonomy in core/errors.js, and updated package and architecture documentation.