Skip to content

Releases: JacobStephens2/cascade

Cascade v0.2.3-android (Android)

06 Jun 04:04
dfd74c5

Choose a tag to compare

android: production release signing + Android App Links; v0.2.3

- Add a release signingConfig driven by env vars (set from repo secrets in CI),
  with a debug-signing fallback so local release builds still work. The release
  workflow now decodes the keystore from ANDROID_KEYSTORE_BASE64 and signs with
  the production key.
- Publish /.well-known/assetlinks.json (apps/web/public) pinning the app package
  + the release key's SHA-256 fingerprint, so the autoVerify intent-filter on
  https://cascade.stephens.page/auth makes the emailed magic link open the app
  directly (App Links), not the browser. The paste-link fallback stays as a
  belt-and-suspenders path.

Bumps to 0.2.3 / versionCode 5.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

Cascade v0.2.2-android (Android)

06 Jun 03:38
93b41c1

Choose a tag to compare

android: paste-the-link sign-in fallback; v0.2.2

Magic links won't reliably reopen a sideloaded, debug-signed APK (no stable
signing key to pin Android App Links to), so add the desktop-style fallback:
"Email me a link" requests it, then paste the link back into the app to finish.
SyncManager.completeSignInFromLink extracts the token from the pasted URL (or a
raw token) and runs the existing verify flow. Two-step UI with weight-based
fields so the buttons don't overflow.

Bumps to 0.2.2 / versionCode 4.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

Cascade v0.2.1-android (Android)

06 Jun 03:21
1e5275d

Choose a tag to compare

android: fix sign-in (INTERNET permission) + scrollable layout; v0.2.1

Two fixes from on-device testing of 0.2.0:

- Add the INTERNET permission. Cascade was an offline app (bundled audio), so
  it was never declared — and the account/sync feature is the first code that
  makes an HTTP call, so every request threw ("Couldn't send the sign-in link").
- Make the main screen vertically scrollable and drop the weight-based spacer
  (incompatible with scrolling). Content was overflowing the viewport with no
  scroll, clipping the custom-timer input field into a stray box overlapping the
  sleep-timer chips. Also moved the sign-in/account box below the timer controls.

Bumps to 0.2.1 / versionCode 3.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

Cascade v0.2.0 (Android)

06 Jun 02:17
64bcb65

Choose a tag to compare

First Android build with the optional Cascade account.

New

  • Listening-time tracking — Cascade keeps a running total of how long you've listened (on by default, toggle in-app). It's a single cumulative number, never a timeline.
  • Optional account + sync — sign in with an email magic link (no password) to centralize your listening total across devices. Backed by a G-Counter CRDT, so concurrent devices add rather than overwrite. Sync service: sync.cascade.stephens.page.
  • Sign out, delete-data, and delete-account controls.

Install (sideload)

  • Universal APK — arm64-v8a, armeabi-v7a, x86_64; Android 8.0+ (minSdk 26).
  • Debug-signed for sideloading (not a Play Store build, consistent with the prior 0.1.0 Android release). Enable "install unknown apps" for your browser/file manager, then open the APK.

The account is entirely opt-in — without signing in, Cascade tracks locally and contacts no server.

Cascade v0.1.0 (Windows x64)

31 May 13:16
156f6ac

Choose a tag to compare

Cascade v0.1.0 — Windows (x64)

Updated 2026-05-31: fixed a bug where audio was silent on launch (the
bundled track failed to load in the unpackaged build), and added the proper
Cascade app icon (taskbar / window). Re-download if you grabbed an earlier asset.

First Windows build of Cascade, the waterfall white-noise player. This is the
WinUI 3 / .NET shell over the shared headless Rust core (cascade_uniffi.dll,
C ABI + P/Invoke), playing the 13-minute waterfall recording with MediaPlayer
and System Media Transport Controls.

This Windows binary corresponds to the same main tree as v0.1.0; the only
commits between them are Apple-shell changes, so the Windows app is identical.

Download & run

  1. Download Cascade-v0.1.0-win-x64.zip below and extract it.
  2. Run win-x64\Cascade.exe.

No install needed — the build is self-contained (bundles its own .NET 8
runtime and the Windows App Runtime), so it runs without installing .NET or the
WinAppSDK separately.

Requirements

  • Windows 10 version 2004 (build 19041) or later, 64-bit (x64).

Notes

  • This build is unsigned, so Windows SmartScreen may warn on first launch
    ("Windows protected your PC" → More infoRun anyway). A code-signed
    build (via SignPath's free OSS signing) is planned for a following release.
  • Includes the bundled Assets\waterfall.mp3 audio.

Built locally with the Rust gnu toolchain + user-scoped .NET 8 SDK.

Cascade v0.1.0 (Android)

31 May 14:24
6e63d5e

Choose a tag to compare

Cascade v0.1.0 — Android

First Android build of Cascade, the waterfall white-noise player. This is the
Kotlin + Jetpack Compose shell over the shared headless Rust core
(libcascade_uniffi.so, UniFFI), playing the 13-minute waterfall recording
through a Media3 MediaSessionService with background playback and
lock-screen / notification controls.

This Android binary corresponds to the same main tree as v0.1.0; the only
commits between them are web/desktop-shell changes, so the Android app is
identical.

Download & install

  1. Download Cascade-0.1.0.apk below to your device.
  2. Open it and allow installation from your browser/file manager when prompted
    ("Install unknown apps").

The APK is universal — it bundles native code for arm64-v8a,
armeabi-v7a, and x86_64, so it runs on phones, tablets, and emulators.

Requirements

  • Android 8.0 (Oreo, API 26) or later.

Notes

  • This build is signed with a self-signed (debug) key, not a Play Store
    key, so Play Protect may warn on install ("Scan app" / "Install anyway").
  • Includes the bundled waterfall.ogg audio (~8.6 MB).

Built locally with cargo-ndk (Rust core for all three ABIs) + the Android SDK.

Cascade 0.1.0 (macOS)

31 May 03:28
58c52ee

Choose a tag to compare

A waterfall white-noise player for macOS — one headless Rust core, native SwiftUI shell.

Install

  1. Download Cascade-0.1.0.dmg below.
  2. Open the DMG and drag Cascade to Applications.

⚠️ First launch (important)

Ad-hoc signed, not notarized — macOS Gatekeeper blocks it on first open. Pick one:

  • Terminal: xattr -dr com.apple.quarantine /Applications/Cascade.app then open it.
  • GUI: double-click → Done, then System Settings → Privacy & Security → Open Anyway.

One-time only.

Details

  • Universal (Apple Silicon + Intel), macOS 14+.
  • Menu-bar player: play/pause, volume, focus (30/60 min, 8 hr) & sleep (15/30/60 min) timers.
  • SHA-256: 04afb2939f6cc5dcc5d93855c2c5bd3acc69bfdadb1d2b72a10b37e2ad420eca