Skip to content

Saddle 1.8.10 — native surfaces and artifact optimization

Choose a tag to compare

@iakadion iakadion released this 13 Aug 17:18
· 96 commits to main since this release

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.