Skip to content

v1.2.0

Choose a tag to compare

@github-actions github-actions released this 07 Aug 07:53
· 299 commits to master since this release
Immutable release. Only release title and notes can be modified.
c39654b

What's Changed

  • a11y: compact snapshot outline + disclose truncation by @xxx in #212
  • perf(a11y-linux): read each node's AT-SPI properties concurrently by @xxx in #213
  • feat(a11y): configurable snapshot limits (max_nodes) — no more hardwall caps by @xxx in #214
  • feat(mcp): optional return observe on glass_type (settle/snapshot parity) by @xxx in #215
  • fix(x11): retry a wedged Xvfb once and surface its stderr on failure by @xxx in #216
  • feat(a11y): native accessibility-action invoke for click_element by @xxx in #217
  • test(a11y-windows): on-box TogglePattern rung + verify check by @xxx in #218
  • a11y: declare and test cross-backend role support by @xxx in #219
  • chore: pin LF line endings for every checkout by @xxx in #220
  • a11y: fill the Windows and macOS role-map gaps the probes found by @xxx in #221
  • a11y: fill the Android and iOS role-map gaps the probes found by @xxx in #222
  • chore(deps): update dependencies (lockfile + pending majors) by @xxx in #223
  • chore(deps): rmcp 2.2 and the tonic 0.14 gRPC stack by @xxx in #224
  • test(ios): fold the on-box fixture app into examples/ by @xxx in #225
  • chore: move the workspace to Rust edition 2024 by @xxx in #226
  • a11y: decide the role matrix's unreachable cells by observation by @xxx in #227
  • fix: stop the mobile backends silently discarding launch arguments by @xxx in #228
  • fix(ios): stop reporting a window for an app that died on launch by @xxx in #229
  • fix(windows,macos): ask an app to close before killing it by @xxx in #230
  • fix(macos): don't direct-spawn a system app the kernel will kill by @xxx in #231
  • fix(x11,wayland): ask an app to close before signalling it by @xxx in #232
  • fix(wayland): bound every sway IPC request so a wedged compositor cannot hang teardown by @xxx in #233
  • fix(x11): bound the close request so an unresponsive display cannot hang teardown by @xxx in #234
  • fix(x11): don't lose the close request when the ask connection closes by @xxx in #236
  • fix(wayland): recover an X11 window the compositor never surfaced by @xxx in #235
  • feat(smoke): glass-mcp smoke --backend x11 by @xxx in #237
  • feat(smoke): drive the wayland backend by @xxx in #238
  • ci(smoke): gate on mutation testing, and fix what it found by @xxx in #240
  • feat(smoke): drive the android backend by @xxx in #241
  • Remove the smoke subcommand by @xxx in #243
  • ci: name the mutation gate after what it gates by @xxx in #244
  • ci: make the weekly mutation sweep informational by @xxx in #247
  • test(diff): clear diff.rs of surviving mutants by @xxx in #248
  • test(marks): clear marks.rs of surviving mutants by @xxx in #249
  • test(a11y): clear accessibility.rs of surviving mutants by @xxx in #250
  • test(session/a11y): clear session/a11y.rs of surviving mutants by @xxx in #251
  • test(session/wait): clear the scroll geometry of surviving mutants by @xxx in #252
  • ci: let the weekly mutation sweep fail again by @xxx in #253
  • fix(android): report the failed uiautomator dump, and wait for it on a cold device by @xxx in #254
  • fix(ios): take the display scale from the target, not the app's tree by @xxx in #255
  • docs(ios): correct a doc left describing the removed scale derivation by @xxx in #257
  • fix(macos): ship a README in the release .zip and .dmg by @xxx in #258
  • feat(a11y): give every node a description, and source it on Linux by @xxx in #259
  • a11y: source the description field on Windows and macOS by @xxx in #261
  • mobile: bound every one-shot adb, simctl, emulator, plutil and ps call by @xxx in #264
  • fix: report a set_value that did not take on the backends that type it by @xxx in #267
  • fix: make glass doctor measure the accessibility reader and the iOS target by @xxx in #268
  • fix: a switch reports the same role wherever the platform marks one by @xxx in #269
  • perf: stop re-walking the tree while a wait waits by @xxx in #270
  • docs(mcp): describe every tool parameter, and the six thinnest tools by @xxx in #271
  • a11y: source the description field on Android and iOS by @xxx in #272
  • a11y(android): one name rule for both readers by @xxx in #274
  • fix(core): wait for the stdin write's outcome instead of guessing at it by @xxx in #283
  • fix(core): a wait shorter than the re-read ceiling could answer from one stale read by @xxx in #284
  • a11y-windows: event-gated waits over UI Automation by @xxx in #281
  • docs: one heading per kind in [Unreleased] by @xxx in #285
  • a11y(android): actuate element clicks through the accessibility service by @xxx in #291
  • fix(macos): name what adoption chose, and what select_window rejected by @xxx in #292
  • fix(macos): report the adopted window's settled geometry by @xxx in #295
  • docs(macos): correct when the probe's early sampling starts by @xxx in #296
  • build: make --workspace work on macOS by @xxx in #297
  • Gate glass-ios's crate root to cfg(unix); unblock --workspace build/clippy on Windows CI by @xxx in #298
  • fix(ci): run cargo test --workspace on Windows by @xxx in #301
  • refactor: rename glass-sandbox-core to glass-sandbox-unix by @xxx in #302
  • refactor: rename glass-clip-hook to glass-clip-shim-windows by @xxx in #303
  • test(android): make four assertions able to fail by @xxx in #304
  • ci(macos): run every crate's lib tests by @xxx in #306
  • docs(ci): correct a macOS comment that contradicts its own step by @xxx in #307
  • docs: say what to run to cover a change, per host by @xxx in #308
  • fix(test): remove a pacing floor that cannot fail, and an ordering bias by @xxx in #309
  • fix(a11y): disclose subtrees dropped by a failed child read by @xxx in #310
  • fix(windows): probe WGC on a thread this code owns by @xxx in #311
  • fix(a11y-android): bound a dump attempt as a whole, not per adb call by @xxx in #312
  • fix(a11y-android): give every dump attempt a file of its own by @xxx in #313
  • fix(a11y-android): answer for the app that was asked about by @xxx in #317
  • test(a11y-android): pin what click resolution accepts by @xxx in #321
  • ci(android): a scheduled Android device leg by @xxx in #325
  • fix(a11y-android): a control that moved is the same control by @xxx in #328
  • fix(a11y-android): an element that is gone is not an element that changed by @xxx in #330
  • ignore old mutants dir as well by @xxx in #332
  • test(core): close the gaps a whole-crate mutation sweep found by @xxx in #333
  • test(a11y-android): prove a session click takes the native action by @xxx in #334
  • refactor(android): let the backend choose its own accessibility reader by @xxx in #335
  • docs: a terse-comments sweep over the whole workspace by @xxx in #336
  • docs: a terse-comments sweep over the workspace's doc comments by @xxx in #337
  • ci(android): make the device suite schedule-only by @xxx in #339
  • ci(android): stream logcat for the whole run, not a dump at teardown by @xxx in #340
  • fix(a11y-android): retry a uiautomator dump that crashed without saying why by @xxx in #342
  • fix(a11y): wait for an app to publish its accessibility tree, don't fail on it by @xxx in #343
  • test(android): tear the device down when a test panics, not only when it passes by @xxx in #344
  • fix(android): say what was on screen when no window appeared, not just how long by @xxx in #345
  • fix(a11y-android): bound readiness retries by attempts, not by a clock they outlast by @xxx in #346
  • fix(a11y): let a caller's timeout reach the accessibility reader by @xxx in #347
  • test(android): say which step left the search screen down, and retry the transient by @xxx in #349
  • fix(a11y-android): owe the read before a write a second attempt by @xxx in #350
  • ci(android): wait for the device to settle before the suite starts by @xxx in #351
  • ci(android): size the settle budget from CI, not from the dev box by @xxx in #352
  • fix(android): classify tool failures by their kind, not by their wording by @xxx in #353
  • fix(a11y-android): carry the device's own node ref, don't infer it by @xxx in #354
  • allow MUTANT_TIMEOUT override from cli by @xxx in #355
  • tooling(mutants): let a caller scope a run to any package by @xxx in #356
  • docs: record five user-facing changes that merged without an entry by @xxx in #357
  • fix(build): make a local build's version name the commit it was built from by @xxx in #358
  • fix(ios): say the element is gone when the write replaced the screen by @xxx in #360
  • fix(a11y): confirm a write against the element wherever it moved to by @xxx in #364
  • fix(a11y-ios): resolve a write's target by identity, and send its keystrokes together by @xxx in #365
  • docs(changelog): close [Unreleased] as [1.2.0] by @xxx in #366

Full Changelog: v1.1.0...v1.2.0