Changelog

What shipped, when. CLI agent updates roll out via wayangi update; Android updates via in-app "Check for update".

2026-05 · Polish + scale

Late May 2026

  • Dashboard, admin/devices, admin/users now paginate + searchable — scales to fleets with 100+ primary + 1M+ sub-devices without DOM blowup.
  • Sub-devices visible as nested chips on primary device rows with humanCount short-form labels ("↳ 1.2M sub").
  • Admin can read-only view any customer device via /devices/{id} with explicit ADMIN VIEW banner; mutation forms hidden.
  • /check?target= reachability probe live — SSRF-safe TCP-connect from the hub to your customer-pool IPv6, returns OK / FAIL with diagnostic hints.
  • /wiki rewritten: now includes Compare cards (vs cloudflared / tailscale / zerotier) and proper JSON-LD CollectionPage + ItemList for AI discovery.
  • /pricing per-IP chip ($/IP/mo) prominent on every tier card; "BEST $/IP" highlight.
  • Audit log compact responsive layout (was a 6-column table that exploded on phones).

2026-05 · APK self-update + parallel download

Mid May 2026

  • Android in-app self-update: resumable 8-way parallel chunked HTTP Range download, adaptive parallelism on cellular (4 chunks / 45s timeout), per-chunk retry with backoff.
  • APK size dropped 34 MB → ~8 MB via R8 minify + per-ABI splits (arm64-v8a + armeabi-v7a); 32-bit ARM budget phones still supported.
  • Auto-detect device ABI on /downloads/wayangi.apk via UA Client Hints (Sec-CH-UA-Arch / Bitness) so a single URL serves the right binary.
  • APK version monotonic per deploy (env-injected versionCode = epoch seconds).
  • Native VPN tunnel + token persistence + live throughput chart + reboot-survival via foreground service.
  • Brand launcher icon (wayangi favicon).

2026-05 · Install hardening + Linux fixes

Mid May 2026

  • Linux binary now statically linked again — works on Alpine / musl-based distros that lack /lib64/ld-linux-x86-64.so.2.
  • install.sh: mkdir -p $INSTALL_DIR before write (fixes fresh Apple Silicon macOS that lacks /usr/local/bin), auto-strips com.apple.quarantine, installs launchd plist for reboot survival.
  • install.ps1: clears Mark-of-the-Web via Unblock-File after install.
  • install.sh download progress bar (was silent — users thought it was stuck).
  • Manifest signing: ed25519-signed manifest mandatory for self-update; offline signing key via cmd/wayangi-sign.

2026-05 · Sub-devices + transport fallback

Early May 2026

  • Sub-devices: child /128 entries carved from a parent's paid prefix. Buy a /124 once, run wayangi on 16 different machines — each auto-claims one IPv6.
  • TCP transport fallback: when UDP/443 is blocked, agent auto-falls-back to WireGuard tunneled inside WSS over TCP/443 through Cloudflare.
  • Per-device monthly RX/TX accounting in /admin/usage.

2026-04 · Free tier + audit log

April 2026

  • Free mesh-only tier: 3 devices per account, private mesh, no public IPv6, no credit card.
  • Audit log table + /admin/audit + /admin/security correlation view (token-rotate followed by force-rebind from different IP within 5 min flagged as account-takeover pattern).
  • Session tokens SHA-256 hashed in storage (was plaintext).
  • Xendit payment integration (cards, IDR bank transfer, GoPay, OVO).

2026-03 · Pricing rework

March 2026

  • USD pricing rolled out (was IDR-only).
  • Annual cadence with 15% savings vs monthly equivalent.
  • All 8 tiers visible at /pricing — no contact-sales gating.

Earlier

Initial scaffold of wayangi: WireGuard data plane on UDP/443, dual-stack tunnel (IPv4 + IPv6 link-layer), /128 single-address + /64 prefix-delegation tiers, hub on dalang.io's Jakarta VM, AS-routed /48 announced via MikroTik upstream.