Releases: carlelieser/shizzi
Release list
v0.4.0-rc.3
What's Changed
- fix: ignore VPNs running in other Android users by @carlelieser in #38
- chore: release 0.4.0-rc.3 by @carlelieser in #39
Full Changelog: v0.4.0-rc.2...v0.4.0-rc.3
v0.4.0-rc.2
Animates screen changes and controls. Adds a version tap easter egg.
Added
- Motion tokens. Durations, springs, and easing are theme values, so
Neobrutalism moves mechanically while Material Expressive settles with a
bounce. - Screen transitions. Navigation slides and fades by screen depth, and
onboarding fades into the home screen instead of cutting to it. - Press feedback in Neobrutalism, which had none. Surfaces settle onto
their shadow when pressed, covering every button, card, toggle, and swatch. - Appearance glyphs spin a full turn on each press.
- Version tap easter egg. Three taps on the version label open a
full-screen tethering icon pattern.
Changed
- The connect button, status icon, settings sections, log rows, toasts, accent
swatches, and the onboarding wizard animate their state changes. - The tethering glyph accepts a brush, so it can carry a gradient. Icon only
takes a flat tint.
Fixed
- The onboarding wizard drew the incoming step in both transition layers, so
the slide animated identical content.
v0.4.0-rc.1
Adds a quick settings tile and an intent API for starting and stopping sessions
from other apps. New permissions screen in onboarding flow. Adds accent and
design language pickers. Minor bug fixes.
Added
- Quick settings tile. Start and stop sharing from the notification shade.
- Intent API. Start, stop, toggle, and query a session from another app.
Off by default, token-authenticated. See automation. - Permissions screen in onboarding, replacing the Shizuku step. Also in
settings. - Accent and design language pickers in settings.
Changed
- Material Expressive is the new default design language. Neobrutalism is still
available. - Compose moved to a BOM carrying Material3 1.4.0.
Fixed
- A VPN reconnect or radio handoff left the tethering upstream empty for a few
seconds, which killed the session. Only real drift onto another interface
ends it now.
(#22) - Stopping a session could leave the hotspot on, because stopTethering lands
asynchronously. It now retries.
(#22) - Intent-triggered starts silently did nothing on Android 12+, which blocks
foreground service starts from the background. Battery optimization exemption
is now requested as a permission, and an undeliverable start says why. - An automation toggle sent mid-startup tore down the session it meant to leave
alone, having read the service as running before it had connected. - The notification permission dialog appeared over the welcome screen on first
launch. It's asked for in the Permissions step now, and a denial is visible
instead of silent.
Full Changelog: v0.3.0...v0.4.0-rc.1
v0.3.0
Adds support for Android 11 and 12 (API 30-32) by providing a tethering module update if necessary. Also adds an onboarding flow. Minor updates to the UI and better logging.
Added
- Android 11 and 12 (API 30-32) Support. Through tethering module update.
- Onboarding With welcome, shizuku setup, and compatibility check.
Changed
- Better logging. Improved logging throughout the codebase.
- UI Moved log view into settings, updated setting item labels and descriptions.
- Log Viewer was rebuilt around a menu, jump bands, and an empty state.
- Toasts can be swiped away and rank by weight rather than colour.
- Compose moved to the 2025.08.00 BOM, the build to AGP 8.9.2.
Fixed
- Release builds no longer require a debuggable shell process, which kept the
privileged side from starting outside a debug build. - A slow Shizuku start no longer fails to bind.
- The shell context is attributed correctly on API 30.
- A failed context rebase is reported instead of killing the process.
- Better timeout messaging.
- Automatically tear down hotspot after diagnostic run.
- Datapath tests can now run in CI.
Full Changelog: v0.2.0...v0.3.0
v0.2.0
Tethered devices now get working IPv6, and a session tells you what it is
actually doing — how many devices are connected, how much has gone through,
and whether traffic is leaving over your VPN.
Highlights
- IPv6 for tethered clients. Connected devices get a real IPv6 address and
reach the v6 internet. Previously they were handed a v6 route that led
nowhere, so sites that prefer IPv6 stalled before falling back to IPv4. - IPv6 no longer bypasses your VPN. This was the known limitation noted in
0.1.0 and is now fixed. - VPN status on the session. See whether tethered traffic is going out
through your VPN, in the app and on the notification. - Device count and data used, reported on the notification as you watch.
- A dropped VPN now stops the session rather than quietly continuing over
your normal connection. Sessions started without a VPN are unaffected.
Requirements
- Android 13 (API 33+), arm64
- Shizuku 13.6.0+, running and authorized
Android 13 is now enforced at install time. Older devices could install 0.1.0
but never tether with it — the API this approach rests on does not exist below
Android 13.
Install
Download app-release.apk below. It is signed with the same key as 0.1.0, so
it updates an existing install in place.
SHA-256
96951729f3f10c6964a65160f764ae306a3a1d1faaeeb464f0f43e8ec5e1fa5b app-release.apk
11cdca9440f5250a0dc4a3bc452aef9c43eaedcc24377c15bdb07593533e0234 app-debug.apk
Full changelog: v0.1.0...v0.2.0
v0.1.0
Wi-Fi tethering over a Shizuku-privileged test network. Creates a test TUN interface, sets it as the preferred tethering upstream, and forwards hotspot traffic through a Go datapath.
Requirements
- Android 13 (API 33+), arm64
- Shizuku 13.6.0+, running and authorized
Known limitations
- IPv6 is not suppressed on the downstream; v6 traffic may bypass the tunnel.