Skip to content

2.1.7

Latest

Choose a tag to compare

@Zhou-Shilin Zhou-Shilin released this 11 Oct 12:46
· 15 commits to main since this release

🚀 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

  • 476d0cb feat(pi): upgrade pi kernel to 0.85.1
  • 7e7498d fix(pi): update Node bundle loader patch
  • f275ca5 ci: check changed areas in pull requests
  • 0a932fd ci: build nightly APKs with bundled extensions
  • 091d855 fix(android): separate debug and nightly variants
  • 7d3eb3c feat: integrate iOS PostHog analytics, improve settings and markdown rendering, and fix unix socket path handling
  • 8c225d9 feat: add App Store link
  • 4dbd72d fix(ci): resolve PR checks and nightly inheritance
  • bd3c1bc fix(ci): skip removed Android SDK tools package
  • 4723e81 feat: add Alpine documents provider, offline showcase mode, and iOS keyboard dismissal
  • 54583f2 Merge pull request #77 from Chumor/ci/builds
  • b94a46c feat: upgrade pi kernel to 0.87.1 and add clipboard paste fallback for agent mode
  • b59e3b5 fix: deliver Termux RUN_COMMAND results via pending intent (#80)
  • 8bff84d fix(history): preserve unchanged messages during sync (#83)
  • d8e9ee3 fix(runtime): allow package installs in Alpine runtime
  • a30a157 fix(history): preserve Pi entry refs across branches (#86)
  • de24304 fix(history): preserve Pi context when editing messages
  • f69a2bb fix(agent-mode): make taps, focus and Unicode text input reliable
  • 8e99984 fix: align settings ui
  • 7dac1ba fix(settings): isolate extension settings state per category (#90)
  • b46388d fix(agent-mode): allow configuration without Termux (#98)
  • 22496bc fix(ios): decode OSC titles as UTF-8, fix scrollback desync, cap bridge heap (#97)
  • 8d7abc1 fix(agent-mode): act on the calling Android user on secondary users (#100)
  • 78c57fa feat(models): integrate models.dev capabilities and upgrade Pi dependencies
  • 722a6de fix(agent-mode): start the service without requiring Aether on the owner user (#100)
  • 20afc11 feat(statistics): show cache read and write tokens
  • e1193db feat(statistics): report whole-turn token totals and generation speed
  • cb6151b fix(statistics): keep turn totals across deferred follow-ups
  • ea0f6f8 Merge pull request #104 from yumiru11/main
  • 47860cf perf(ios): speed up launch by lazily restoring chat sessions and seeding demos
  • 474bb98 fix(chat): preserve retry branches and add native file previews
  • c80cb81 feat(phone-use): add accessibility phone use, Russian localization, and Pi session branching
  • b028e42 feat(phone-use): add accessibility phone use, Russian localization, and Pi session branching (@Leostrange)
  • 5327164 Merge remote-tracking branch 'origin/main'
  • 6542bfe chore: finalize 2.1.7

Full Changelog: 2.1.6...2.1.7