-
v0.5.0
Stablereleased this
2026-08-09 18:44:16 -05:00 | 0 commits to main since this release0.5.0 — 2026-08-09
- Outline-session hardening (aria twins, uploads, cookie→API):
byAriaLabel/clickByAriaLabel:preferVisibleoption — skip hidden Radix/menu twins;clickByAriaLabeldefaultspreferVisible: true, falling back to the first match if none are visiblesetFilesViaChooser(page, trigger, files)— wait forfilechooserthensetFiles(slash-menu Image / Upload flows)cookiesToBearer(storageState | path, cookieName)—Bearer <token>from Playwright storage-state cookies (e.g. OutlineaccessToken)
- Resilient UI automation helpers — for driving third-party/adversarial SPAs (no stable test ids, occasional bot walls) rather than your own instrumented app:
byAriaLabel()/clickByAriaLabel()— find/click by a regex overaria-label, scoped to aPageor a narrowerLocator(e.g. one dialog)withDialog()— retry an action against a modal that might have silently closed, reopening it first via a caller-suppliedreopen()fillContentEditable()— type intocontenteditablerich-text fields (not just<textarea>), splitting on blank lines so multi-paragraph/bulleted text renders as separate blocks instead of collapsingrunPersistentSession()— keep one browser session open across many runs viaRUN/READY/CLOSEflag files instead of relaunching (and re-authenticating) every time; auto-relaunches on an unexpected crashNetworkErrorMonitor:useDefaultExcludes+ exportedCOMMON_NOISE_PATTERNS(ad/telemetry pixel hosts) so consumers stop hand-rolling the same exclude list per project
- Ops: npm publish is hard-required in the tag release job (removed soft-fail);
NPM_PUBLISH_TOKEN+ Outline update scopes documented as done indocs/OPS.md/ROADMAP.md
Downloads
- Outline-session hardening (aria twins, uploads, cookie→API):
-
v0.4.0
Stablereleased this
2026-07-15 08:10:53 -05:00 | 25 commits to main since this release0.4.0 — 2026-07-15
- CLI —
playkit initscaffoldse2e/+ CI snippet;playkit smokepost-deploy public-host + health ping - Retry presets —
PLAYKIT_RETRY_PRESET=strictCi|flakyNetwork|defaultwired throughloadConfig(RETRY_PRESETSexport) - Gitea npm registry —
publishConfig+ release-jobnpm publish; consumer docs indocs/NPM_REGISTRY.md - Docs: CONSUMER/ROADMAP updated for v0.4; selftest + Outline sync remain as of 0.3.x line
Downloads
- CLI —
-
v0.3.1
Stablereleased this
2026-07-14 20:23:04 -05:00 | 30 commits to main since this release0.3.1 — 2026-07-14
- Network interception / error monitor —
interceptNetworkCall(),startNetworkErrorMonitor()(seedocs/NETWORK.md) - Tests: expand coverage for network helpers —
NetworkErrorMonitor(record/dedupe/exclude/minStatus/assert),interceptNetworkCall(spy/fulfill/handler/method continue/non-JSON), plusglobToRegExp/responseMatchesFilter - Docs:
docs/OUTLINE.mdchecklist (update Outline QA & Dev Playkit page on each release);docs/IDEAS.mdfor OSS-borrowed backlog; adoption pause (no new consumer repos until soak) - CI: add tag-triggered
releasejob (.gitea/workflows/ci.yml) — re-runs build/test, verifies tag matchespackage.jsonversion andCHANGELOG.mddocuments it, creates a Gitea release with annpm packtarball attached. Requires a one-timeGITEA_TOKENActions secret. - Docs: bump install pin examples from
v0.1.0tov0.3.0(README, CONSUMER.md) - Docs: lead with Mailpit (homelab default) instead of Mailtrap in README email section; use
createMailInbox()+readMailHtml()in the example instead of a provider-specific client - Ops: Pushgateway +
live-playkitGrafana board now provisioned via ansibledeploy/observability/(pendingmake deploy-observability); removed the standalonedashboards/playkit-overview.json(superseded) and thedashboardsentry frompackage.jsonfiles
Downloads
- Network interception / error monitor —