Repository navigation
v1.11.0
Changes
-
New app ID:
io.github.franticplant.simplexray. This release installs
as a separate app from lhear's SimpleXray (com.simplexray.an) and from
earlier builds of this fork. Export your configs from the old app and
import them here. -
Multiple instances: the dashboard showed "0 Active Instance(s)" and
no per-instance stats, and the config switch could start an instance but
not stop it. Both work now, and the totals cover every instance. -
Health tracking: each instance shows Starting, Running, Restarting or
Failed. A config that fails to start (bad JSON, port already in use) shows
Xray's own error instead of silently showing as stopped. A core that
crashes after running is restarted automatically with backoff. The
notification says when the connection is reconnecting or has failed. -
Switching configs while connected no longer leaves the old core
running and holding the ports the new one needs. -
Live speed: upload and download speed per instance and in total.
-
Your config's own
policyandapisettings are kept; before, enabling
stats overwrote them. -
Security: on Android 10–12, other apps could send the service's
internal broadcasts. Those receivers are now private on every Android
version. -
Themed icon: the launcher icon follows the system theme on Android 13
and later. -
Toolchain: Gradle 9.8, Android Gradle Plugin 9.4 with built-in Kotlin
2.4, NDK r30. The app targets Android 16 (API 36) and compiles against API 37. -
Dependencies: Compose BOM 2026.09, AndroidX, gRPC 1.85 with
protobuf-lite (smaller APK), OkHttp 5, LazyColumnScrollbar 3, Reorderable 3. -
hev-socks5-tunnel 2.19.1. The app now notices when the tunnel fails to
start, and stops instead of reporting itself connected. -
Geo data updated to 202610210020; Xray-core v26.3.27 is now built with
Go 1.26.10. -
Fix: saving or importing a config that has no
logsection no longer
fails with "invalid config format". -
VLESS link import: WebSocket and gRPC links work. Before, they all got
thextls-rprx-visionflow, which Xray rejects outside TCP. Path, host,
service name and ALPN are kept,security=tlslinks get proper TLS
settings, and names with spaces, emoji or/import cleanly. -
simplexray://import: a corrupt or truncated link no longer hangs the
app.
Build and release
- Releases are signed with a dedicated release key. They include
SHA256SUMS, an SPDX SBOM and Sigstore attestations, and their builds are
checked for reproducibility. - CI checks license headers, formatting (ktfmt), unit tests and lint on every
push and pull request.
Full Changelog: v1.11.0-rc2...v1.11.0
Built by GitHub Actions from 37cd6b4d23f5aacf42577b49719dc5d6f803c943 with Xray-core v26.3.27.
Every file has a signed build-provenance and SBOM attestation. To verify a download:
gh attestation verify <file> -R franticplant/simplexray-custom
or compare it against SHA256SUMS. The build is reproducible:
scripts/verify-reproducible.sh v1.11.0 rebuilds these APKs from source and checks they match.