Skip to content

Releases: klarlabs-studio/scout

v1.11.1

09 Jun 19:08
v1.11.1
ebbdc7f

Choose a tag to compare

Changelog

  • 919e7fd Merge pull request #37 from klarlabs-studio/ci/adopt-shared-workflow
  • 6b15ee6 chore(release): require signed release git operations
  • ebbdc7f chore(release): v1.11.1
  • ac7c64f ci(security): drop gosec — nox owns code-level security (#41)
  • f31e348 ci(security): enable nox taint-analysis SAST (#40)
  • 98a5c2c fix(agent): re-attach network capture across page swaps (#43)
  • 236d215 fix: adopt golden golangci-lint config and resolve gocritic/gosec findings

v1.11.0

07 Jun 20:26
v1.11.0
d78d4e4

Choose a tag to compare

Changelog

  • d78d4e4 feat!: migrate module path to go.klarlabs.de/scout

v1.10.0

24 May 13:19

Choose a tag to compare

Added

  • Shadow DOM piercing across every action surface. v1.9.0 landed
    piercing in form discovery + `resolveSelector`; v1.10.0 finishes
    the job by extending the deep-find walker to every remaining
    selector lookup so any Lit / Stencil / Web Components UI is fully
    driveable.
  • `wait.ForSelector` / `ForVisible` / `ForHidden` poll through
    a `__scoutFind` walker that descends into open shadow roots.
    Fixes `click`, `type`, and every higher-level action that called
    `Page.WaitForSelector` first — they used to time out for 60s on
    shadow-rooted nodes because the wait predicate evaluated against
    the document scope only.
  • `Session.DispatchEvent` routes `submit`, `click`, and the
    generic custom-event branch through the same piercing find.
    Lit form submission via `dispatchEvent("form", "submit")` now
    works end to end.
  • `Session.AnnotatedScreenshot` + `ClickLabel` enumerate
    interactive elements via a shadow-DOM walker so the annotated
    label list includes buttons / inputs / anchors inside custom
    elements.

Why this matters

After v1.10.0, scout drives Lit / Stencil / Web Components admins
end-to-end without per-app `data-test` escape hatches. `click`,
`type`, `fill_form_semantic`, `dispatch_event`,
`annotated_screenshot`, and `click_label` all pierce.

Upgrade

```
brew upgrade felixgeelhaar/tap/scout
```

v1.9.0

24 May 11:54

Choose a tag to compare

Added

  • Shadow DOM piercing in form discovery + fill. `DiscoverForm`,
    `FillFormSemantic`, and every interaction tool that routes through
    `resolveSelector` (`type`, `click`, batch actions) now walk into
    open shadow roots. Inputs inside Lit / Stencil / Vue / React custom
    elements are discovered and fillable without changing call shape.
    Discovered inputs are tagged with a stable `data-scout-id` so
    subsequent fills round-trip across shadow boundaries.
  • Attribute selectors in `QuerySelectorPiercing`. The flat-node
    matcher now handles `[attr="value"]` and `tag[attr="value"]` in
    addition to `#id`, `.class`, and bare tags. Lets piercing resolve
    the `data-scout-id` selectors emitted by form discovery without
    another evaluate round-trip.
  • `resolveSelector` falls back to piercing before invoking the
    text / natural-language paths. Any selector that fails standard
    `document.querySelector` automatically retries against the flat
    DOM tree before the slower fallbacks run.

Tests

  • New `agent/shadow_dom_test.go` covers the full discover → fill →
    click → submit loop against a custom element that wraps its form
    in an open shadow root.

Why this matters

Every Lit / Stencil / web-components admin UI (and every modern
design system that relies on shadow encapsulation) becomes
scout-drivable without per-app `data-test` escape hatches.

v1.8.0

22 May 13:49
v1.8.0
cc6cadb

Choose a tag to compare

Changelog

  • 5d27ab1 chore(ci): bump nox to v0.10.0 (#34)
  • cc6cadb chore(release): v1.8.0
  • 4c86c64 chore(security): refresh nox badge [skip ci]
  • a5bd065 feat(agent): network_summary rolls up capture into one call (#31)
  • 8c35ba6 feat(agent): observe_scoped tool with section filter + caps (#29)
  • b51cfc3 feat(agent): stable node_handle for annotated_screenshot + click_handle (#32)
  • ba6f69d feat(agent): submit_outcome diagnostic tool for silent submit failures (#30)
  • 48f76d4 feat(agent): wait_for_navigation + aria_violations tools (#33)
  • 7ab38fd feat(cmd/scout): per-tool watchdog guarantees MCP returns on hang (#27)
  • e8b311d fix(agent): ensure unique selectors + expose match confidence in fill_form_semantic (#25)
  • a6ea22c fix(agent): handle Vue/React hydration race + return committed value in Type (#26)
  • 14c2554 fix(agent): link text fallback for card-style anchors in Observe (#28)
  • 6b4665b fix(browse): NewPageAt waits for load before returning (#35)

v1.7.0

20 May 11:53
v1.7.0
1a7de57

Choose a tag to compare

Changelog

  • 1a7de57 feat: v1.7.0 — stable SPA driving + form submission

v1.6.1

10 May 09:49
v1.6.1
b27ae13

Choose a tag to compare

Changelog

v1.6.0

10 May 09:18
v1.6.0
46d82a8

Choose a tag to compare

Changelog

  • 7445f15 chore(roady): track GitHub issues #5-#12 as features
  • 46d82a8 chore(security): expand nox baseline to cover 0.9.5 SEC-574/SEC-697 false positives
  • 6b9283f ci(security): fix nox install asset filename and SARIF guard
  • e2bbdc8 ci(security): isolate nox outputs to /tmp to prevent self-scan loop
  • 1ff1ed7 ci(security): normalize sarif filename and refresh baseline
  • 8d86f78 ci(security): wire nox into CI and replace dependabot with nox-remediate
  • 4bbc9a4 feat(agent): add click_text shortcut for visible-text matching
  • ca0e68c feat(agent): checkbox/radio support and post-mutation state echo in fill_form_semantic
  • 6d81ba4 feat(agent): cookie management tools (list, clear, set)
  • da9f664 feat(agent): structured diagnostics on selector failure
  • 3336cdb feat(agent): surface active tab and navigation in observe
  • 6be8c95 feat(agent): surface network 4xx/5xx in console_errors
  • 786cbe2 fix(mcp): tighten screenshot default budget to 80KB JPEG q=60

v1.5.0

03 May 12:06
v1.5.0
30010ef

Choose a tag to compare

Changelog

  • fdbf824 docs(landing): reposition as polyglot Playwright alternative
  • fecabe5 docs(readme): align positioning with landing — polyglot Playwright alternative
  • 9b3794b feat(agent,mcp): add screen recording and private-IP toggle
  • 2c4a78c feat(agui,ui): budget signal, repeated-call guard, motion + keyboard a11y
  • fd57843 fix(agent): ReplayPlaybook hangs navigating the initial about:blank tab
  • a71ed4d fix(agent): screen recording now works in headless via captureScreenshot polling
  • 0a1c868 fix(agent): screen recording survives navigation and tab switches
  • 6358596 fix(hooks): correct stale browse-go path in pre-commit settings
  • 47962bb fix(security): eliminate vulnerabilities and improve scanner hygiene
  • 0d69f3f fix: address top-priority findings from multi-expert review
  • 30010ef test(agent): skip WebM screen-recording assertions when ffmpeg is absent

v1.4.1

30 Apr 11:19
6cb2834

Choose a tag to compare

Changelog

  • 6cb2834 fix(security): resolve npm vulnerabilities and tighten scanner hygiene