Repository navigation
🚀 Aether v2.1.7 Changelog
✨ New Features
- Phone Use on Android: Added foreground phone control through Accessibility, with element-tree and screenshot strategies, on-screen feedback, and Root/Shizuku Virtual Display options.
- Model Capabilities: Integrated models.dev capabilities, thinking levels, and context/output limits into provider selection and the Pi runtime on Android and iOS.
- Usage Statistics: Added cache read/write tokens, whole-turn token totals, and generation speed, including deferred follow-ups.
- Files & Demos: Added an Android Alpine documents provider, native file previews on both platforms, and offline showcase conversations.
- Localization: Added Russian translations across Android and iOS.
🛠 Improvements & Optimizations
- Streaming Replies: Added shared overlapping fades for text fragments, complete headings, and code blocks on Android and iOS, with reduced-motion support and continuity when replies finish.
- Pi Runtime: Updated bundled Pi dependencies to 0.99.2 and improved Node bundle loading.
- iOS Startup: Restored chat sessions lazily and optimized showcase seeding to reduce launch work.
- iOS Experience: Integrated PostHog analytics, improved settings and Markdown rendering, and added keyboard dismissal controls.
- Builds: Improved pull-request checks, bundled extensions into nightly APKs, and separated Android debug and nightly applications.
🐛 Bug Fixes
- Phone Use Responsiveness: Moved Accessibility observations off the main thread, prevented stale snapshots after cancellation, warmed overlay resources, and restored permission prompts after access is revoked.
- Conversation History: Preserved Pi entry references and context during synchronization, edits, and retry branching, while retaining unchanged messages.
- Android Phone Control: Improved taps, focus, Unicode input, clipboard fallback, secondary-user handling, service startup, and configuration without Termux.
- Runtime: Fixed Termux command-result delivery, Alpine package installation, and Unix socket paths.
- iOS Terminal: Corrected UTF-8 OSC titles and scrollback synchronization, and capped bridge heap usage.
- Settings: Isolated extension settings by category and aligned settings presentation.
🔀 Merged Pull Requests
- Build Automation: improve pull request checks and nightly Android builds by @Chumor in #77
- Termux Results: fix: deliver Termux RUN_COMMAND results via pending intent by @Chumor in #80
- History Synchronization: fix(history): preserve unchanged messages during sync by @Chumor in #83
- Pi Branch References: fix(history): preserve Pi entry refs across branches by @Chumor in #86
- iOS Reliability: iOS: bug fixes, crash prevention & performance improvements by @CN00K in #97
- Agent Mode Setup: fix(agent-mode): allow configuration without Termux by @yumiru11 in #98
- Usage Statistics: feat(statistics): show cache tokens and report whole-turn totals by @yumiru11 in #104
🧾 Included Commits
476d0cbfeat(pi): upgrade pi kernel to 0.85.17e7498dfix(pi): update Node bundle loader patchf275ca5ci: check changed areas in pull requests0a932fdci: build nightly APKs with bundled extensions091d855fix(android): separate debug and nightly variants7d3eb3cfeat: integrate iOS PostHog analytics, improve settings and markdown rendering, and fix unix socket path handling8c225d9feat: add App Store link4dbd72dfix(ci): resolve PR checks and nightly inheritancebd3c1bcfix(ci): skip removed Android SDK tools package4723e81feat: add Alpine documents provider, offline showcase mode, and iOS keyboard dismissal54583f2Merge pull request #77 from Chumor/ci/buildsb94a46cfeat: upgrade pi kernel to 0.87.1 and add clipboard paste fallback for agent modeb59e3b5fix: deliver Termux RUN_COMMAND results via pending intent (#80)8bff84dfix(history): preserve unchanged messages during sync (#83)d8e9ee3fix(runtime): allow package installs in Alpine runtimea30a157fix(history): preserve Pi entry refs across branches (#86)de24304fix(history): preserve Pi context when editing messagesf69a2bbfix(agent-mode): make taps, focus and Unicode text input reliable8e99984fix: align settings ui7dac1bafix(settings): isolate extension settings state per category (#90)b46388dfix(agent-mode): allow configuration without Termux (#98)22496bcfix(ios): decode OSC titles as UTF-8, fix scrollback desync, cap bridge heap (#97)8d7abc1fix(agent-mode): act on the calling Android user on secondary users (#100)78c57fafeat(models): integrate models.dev capabilities and upgrade Pi dependencies722a6defix(agent-mode): start the service without requiring Aether on the owner user (#100)20afc11feat(statistics): show cache read and write tokense1193dbfeat(statistics): report whole-turn token totals and generation speedcb6151bfix(statistics): keep turn totals across deferred follow-upsea0f6f8Merge pull request #104 from yumiru11/main47860cfperf(ios): speed up launch by lazily restoring chat sessions and seeding demos474bb98fix(chat): preserve retry branches and add native file previewsc80cb81feat(phone-use): add accessibility phone use, Russian localization, and Pi session branchingb028e42feat(phone-use): add accessibility phone use, Russian localization, and Pi session branching (@Leostrange)5327164Merge remote-tracking branch 'origin/main'6542bfechore: finalize 2.1.7
Full Changelog: 2.1.6...2.1.7