Skip to content

v0.16.0

Choose a tag to compare

@FreaksLxss FreaksLxss released this 13 Sep 15:13
· 18 commits to main since this release

Aether-GUI v0.16.0

Squircle design system, live traffic & engine panels, and Aether 2.0 profile coverage — with a reusable /squircle skill.

Design — Squircle everywhere

  • Global corner-shape: squircle in src/index.css (@layer base *) — every rounded-* now renders as an iOS/macOS superellipse (continuous curvature, not a plain circular arc). Gracefully falls back on unsupported browsers.
  • Scale overhaul: --radius 0.625rem → 1.375rem (22px base, drives sm→4xl), --window-radius 22px → 50px (all four corners symmetric now; shell uses per-corner vars). Panels/cards at 35px, floating menus/popovers at 22px — big surfaces biggest, inputs/buttons stay proportional.
  • .corner-round override (corner-shape: round) for true circles — power button disc + all inner layers in ConnectButton.tsx, so rounded-full is no longer squished into a superellipse.
  • Title bar — control bar h-8 → h-9, rounded-[14px] → rounded-[50px]; min/max/close size-7 → size-8 with size-4 icons for a rounder feel (still rounded-full).
  • Popover & Select — PopoverContent, SelectTrigger, SelectContent rounded-lg → rounded-[22px].
  • Toggles — AlwaysOnTopToggle, AutoStartToggle, CloseToTrayToggle, MinimizeOnStartupToggle, SystemProxyToggle containers rounded-lg → rounded-[35px]; ToggleGroupItem (IpVersionToggle, MasqueTransportToggle, etc.) likewise.
  • New skill: /squircle — /.agents/skills/squircle/SKILL.md (+ .claude alias) encodes this whole pattern (global squircle, circle override, radius tiers, rounded- audit checklist, plush/balanced/subtle presets). Call /squircle anytime to re-apply or tune intensity.

New — Traffic, connections, engine controls

  • Live traffic stats — new src-tauri/src/traffic.rs (Windows: GetIfTable2 / GetExtendedTcpTable via windows-sys + IpHelper/Ndis features, rust-version = 1.98) + frontend src/components/TrafficStats.tsx — upload/download rates and totals on the Network card, polled via aether://traffic.
  • Active connections panel — src/components/ActiveConnections.tsx — per-app TCP/UDP table (PID → exe, local/remote, state).
  • Engine panels — src/components/EngineTorPanel.tsx, src/components/MarkField.tsx, src/components/MimPeersField.tsx for Aether 2.0 flags.
  • Helpers — src/lib/format.ts (formatBytes/formatRate), expanded src/lib/validators.ts + InlineErrorBanner wiring.

Aether core profile — 2.0 parity

src-tauri/src/aether/profiles.rs now covers the full Aether >=2.0 surface (all omissible/validated, existing profile.json stays compatible):

  • mim / mim_peers (--mim, --mim-peers auto|host:port,...) — gated to Auto/Masque.
  • quic_v2 (--no-quic-v2 when false, suppressed under masque_http2).
  • fw_mark (--mark, Linux/Android SO_MARK, decimal or 0x hex).
  • Engine Tor (EngineTorMode: Disabled/Tor/TorReverse/TorOnly plus engine_tor_bind/dir/bridges/bridges_file/no_bridges/pt/pt_dir/country/direct_secs/stall_secs -> --tor* flags; tor-reverse validated MASQUE-only).
  • Env-only tuning: max_clients, half_close_secs, tcp_keepalive_secs, tcp_connect_secs.
  • rust-version = 1.98 + windows-sys features Win32_NetworkManagement_IpHelper / Ndis for the traffic counters.

Improvements

  • AdvancedPanel, App.tsx, ConnectionInfo, GlassAccordion, QuickConnect/QuickProtocol, LeakBanner, NotificationBanner, ProfilePresets, ConnectionHistoryContent — floating PanelDialog, AppMenu/CommandPalette polish, validators, and squircle-aware layouts (bulk pass in 0f3851d).
  • src-tauri/src/httpproxy.rs — loopback HTTP->SOCKS5 bridge hardening; src-tauri/src/tun/forwarder.rs, src/state.rs, src/ip_changer.rs, src/events.rs / src/commands.rs / src/lib.rs wired for traffic + activeConns + engine events.
  • src/hooks/useWindowPersist.ts, src/state/windowFocus.ts, src/state/connectionStore.ts (traffic/activeConns state), src/types/connection.ts, src/stores/ipChangerStore.ts — window persistence + focus-aware store updates.
  • package.json / src-tauri/Cargo.toml / src-tauri/tauri.conf.json bumped to 0.16.0.

Assets

Built on every push of v* by .github/workflows/build.yml (matrix: linux-x86_64, macos-arm64, macos-x86_64, windows-x86_64). Each runner fetches the pinned Aether core (fetch-aether.sh), prunes the other-platform Tor bundles, runs npm ci + tauri-action, uploads bundles as artifacts and attaches them to this draft release. Windows binaries are Authenticode-signed when WINDOWS_CERT_BASE64 is configured.

Platform File
Windows Aether-GUI_0.16.0_x64-setup.exe / .msi
macOS (Apple Silicon) Aether-GUI_0.16.0_aarch64.dmg
macOS (Intel) Aether-GUI_0.16.0_x64.dmg
Linux .AppImage / .deb / .rpm

Bundles appear below once the 4 runners finish (re-run or check Actions -> build for live logs).

Full Changelog: v0.15.0...v0.16.0