Skip to content

v0.14.2

Latest

Choose a tag to compare

@github-actions github-actions released this 23 Sep 00:01
· 3 commits to master since this release

These are the release notes for ActivityWatch for Android version v0.14.2.

Contributors

Thanks to everyone who contributed to this release:

@0xbrayo, @ErikBjare, @Q-Ze, @TimeToBuildBob

Changelog

Changes since v0.14.1:

📦 aw-android

✨ Features (4)

  • feat(sync): show next scheduled sync time in Sync Settings (#290) (347c067)
  • feat(ci): filter Play Store changelog to user-facing changes (#286) (8da1b2a)
  • feat(sync): record and show what each sync pass actually did (#285) (41913a1)
  • feat(mobile): research build flavor with own applicationId and port (#281) (43b26d5)

🐛 Fixes (13)

Click to expand

  • fix(onboarding): relaunch MainActivity after onboarding finishes (#298) (b73cd46)
  • fix(sync): suppress desktop 'zero peers' warning in Sync Settings; show push-only note (#293) (9ff13cc)
  • fix(widget): read category colors from aw-webui settings (#289) (66cfd13)
  • fix(android): migrate unsanitized hostname after sanitizer change (#273) (2add24f)
  • fix(ci): correct AGP bundle output path for flavored variants (#283) (31c245f)
  • fix(ci): strip -research suffix in versionName assertion; document research builds (#280) (12d33d5)
  • fix(watcher): construct RustInterface off the calling thread (#277) (51ed0f9)
  • fix(ci): guard Play publish from -research tags (GitHub release only) (#278) (06bb413)
  • fix(android): match system bars to webui theme; drop drawer teal gradient (#276) (5f3ae65)
  • fix(sync): persist JNI error string on last-sync status (#275) (12f8ee7)
  • fix: re-enable orientation change without reloading the webview (#271) (0c5081f)
  • fix(watcher): bound accessibility tree traversal to stop StackOverflowError (#269) (bf41547)
  • fix(android): harden startup paths that turned a slow datastore into a hang (#262) (29577ab)

🔨 Misc (11)

Click to expand

  • chore: bump versionName to 0.14.2, versionCode to 46 (0a48372)
  • chore: bump versionName to 0.14.2b4, versionCode to 45 (9069700)
  • chore: bump versionName to 0.14.2b3, versionCode to 45 (5d66d91)
  • chore(submodule): bump aw-server-rust to�(#295) (6123052)
  • chore: bump versionName to 0.14.2b2, versionCode to 44 (cce2f0e)
  • test(e2e): harden syncToggleReceivesRealTap with bounded tap retry (#287) (d8beef9)
  • test(e2e): wait for the rotated layout before post-rotation inset assertion (#282) (f7b0b38)
  • docs: add CITATION.cff pointing to ActivityWatch DOI (#279) (839e713)
  • chore: bump versionName to 0.14.2b1, versionCode to 43 (97ff8e4)
  • test(e2e): tap the sync switch by view bounds instead of a uiautomator lookup (#266) (7f1c15d)
  • test(e2e): upgrade-with-history test — server must answer while legacy data migrates (#264) (6806996)

(excluded 3 less relevant commits)

📦 aw-server-rust

✨ Features (5)

  • feat(aw-sync): daemon pull is opt-in via aw-sync config.toml (#716) (70ba50d)
  • feat(sync): reconcile owner-originated event edits (#678) (3d3b9dd)
  • feat(aw-sync): return and persist a SyncReport from each pass (#699) (37aa0b0)
  • feat(android): make JNI startServer port configurable (#705) (6386dbd)
  • feat(aw-sync): add status doctor command and fail-loud empty-pull warnings (#687) (988e606)

🐛 Fixes (12)

Click to expand

  • fix(aw-sync): isolate per-peer discovery errors; extract discover_peers; add dedup test (#712) (ac47b09)
  • fix(aw-sync): dedup boundary events on resume to prevent cursor re-imports (#711) (#713) (a7ddf50)
  • fix(aw-sync): scan pre-#697 buckets by origin to avoid re-import after Android hostname migration (#708) (745918d)
  • fix(aw-sync): daemon discovers 3-level Android peers in sync_run (#710) (e8bcb18)
  • fix(aw-sync): skip broken peers in sync_run instead of aborting the pass (#703) (b0fab73)
  • fix(aw-sync): skip dot-directories when walking peer databases (#702) (94bfc54)
  • fix(aw-sync): sanitize whitespace hostnames on import; make per-bucket errors non-fatal (#697) (d1a61b1)
  • fix(aw-sync): open peer databases read-only; skip version mismatch (#700) (d2ae2e6)
  • fix(aw-sync): do not stage a local db on pull-only sync_run (#698) (5c12d3d)
  • fix(aw-sync): skip duplicate device_id folders that truncate history on pull (#686) (876709e)
  • fix(android): don't let Rust panics abort the app across the JNI boundary (#681) (611eb71)
  • fix(android): return an error object from getBuckets instead of panicking (#680) (3b7ac33)

🔨 Misc (6)

  • docs(aw-sync): document the working sync path; drop stale limitations (#701) (7636fcd)
  • docs: add CITATION.cff pointing to ActivityWatch DOI (#704) (b84a1ee)
  • perf(query): borrow variables for read-only function calls (#675) (9a78451)
  • perf(export): serialize HTTP exports with bounded event buffering (#677) (b834a8f)
  • perf(transform): merge overlapping events without vector insertions (#674) (4272075)
  • perf(datastore): select an endtime index for recent interval reads (#676) (fde0a48)

📦 aw-webui

🐛 Fixes (3)

  • fix(activity): use actual bucket IDs in multidevice query (fixes BucketNotFound with aw-sync data) (#969) (52ad886)
  • fix(buckets): render device.device_id instead of missing device.id (#983) (efb8d4d)
  • fix(ci): authenticate CML release lookup (#981) (4d58a55)

Full Changelog: v0.14.1...v0.14.2