diff --git a/docs/whats-new.md b/docs/whats-new.md index c369c66..524e42f 100644 --- a/docs/whats-new.md +++ b/docs/whats-new.md @@ -1,7 +1,7 @@ # What's New > *Pull requests merged in the last 7 days across the OpenAdapt repositories, grouped by the release that contains them.* -> *Last updated: 2026-10-28 19:32 UTC* +> *Last updated: 2026-10-29 00:10 UTC* Items under **Merged, not released yet** are on a repository's `main` branch only. They are not in any published package or installer yet. @@ -12,24 +12,24 @@ Items under **Merged, not released yet** are on a repository's `main` branch onl - [ci: link check passes PRs with no Markdown links; agent-guard e2e waits for the guard notice](https://github.com/OpenAdaptAI/OpenAdapt/pull/1575) (#1575), merged 2026-10-25 - [chore(release): openadapt-flow 2.4.0](https://github.com/OpenAdaptAI/OpenAdapt/pull/1568) (#1568), merged 2026-10-25 - [qualify: find the save control by role and name when it has no selector](https://github.com/OpenAdaptAI/OpenAdapt/pull/1564) (#1564), merged 2026-10-25 -- [fix(flow): the census follows the target's teach-time role on every rung](https://github.com/OpenAdaptAI/OpenAdapt/pull/1557) (#1557), merged 2026-10-25 -- [ci: Linux fast lane on pull requests, platforms and installers after merge, xdist Flow shards](https://github.com/OpenAdaptAI/OpenAdapt/pull/1541) (#1541), merged 2026-10-25 -- [effects: read a paged FHIR or REST record list whole, or not at all](https://github.com/OpenAdaptAI/OpenAdapt/pull/1538) (#1538), merged 2026-10-25 -- [Behavioral held-out score; induce help states its limits](https://github.com/OpenAdaptAI/OpenAdapt/pull/1527) (#1527), merged 2026-10-25 -- [docs(flow): the run --profile standard examples name an execution surface](https://github.com/OpenAdaptAI/OpenAdapt/pull/1525) (#1525), merged 2026-10-25 ### Merged, not released yet +- [docs: lead public pages with measured proof; scope facts in one place](https://github.com/OpenAdaptAI/OpenAdapt/pull/1614) (#1614), merged 2026-10-29, openadapt-flow +- [test: remove or merge duplicate, fake-only and flaky tests](https://github.com/OpenAdaptAI/OpenAdapt/pull/1610) (#1610), merged 2026-10-28, openadapt-flow +- [ci: one required check, `ci`, in under ten minutes](https://github.com/OpenAdaptAI/OpenAdapt/pull/1608) (#1608), merged 2026-10-28, openadapt-flow +- [ci: publish every package automatically from its newest green main commit](https://github.com/OpenAdaptAI/OpenAdapt/pull/1606) (#1606), merged 2026-10-28, openadapt-flow +- [ci: run every package's full suite nightly and track a "main is red" issue](https://github.com/OpenAdaptAI/OpenAdapt/pull/1603) (#1603), merged 2026-10-28 +- [ci: install every CI dependency from a lockfile](https://github.com/OpenAdaptAI/OpenAdapt/pull/1602) (#1602), merged 2026-10-28, openadapt-flow +- [test(flow): fake os.fstat only for the observer descriptor](https://github.com/OpenAdaptAI/OpenAdapt/pull/1601) (#1601), merged 2026-10-28, openadapt-flow +- [focus_on: no check for an element without a role and a name](https://github.com/OpenAdaptAI/OpenAdapt/pull/1595) (#1595), merged 2026-10-28, openadapt-flow +- [fix(flow): product code no longer imports the benchmark package](https://github.com/OpenAdaptAI/OpenAdapt/pull/1594) (#1594), merged 2026-10-29, openadapt-flow +- [fix(flow): the config pin reads the file's exact bytes on Windows](https://github.com/OpenAdaptAI/OpenAdapt/pull/1593) (#1593), merged 2026-10-28, openadapt-flow - [test(desktop): frozen smoke writes its config as exact bytes (unblocks 0.24.1)](https://github.com/OpenAdaptAI/OpenAdapt/pull/1591) (#1591), merged 2026-10-28 +- [focus_on: check who has the focus after a key that changes nothing visible](https://github.com/OpenAdaptAI/OpenAdapt/pull/1579) (#1579), merged 2026-10-28, openadapt-flow - [ci: check syntax at each package's oldest Python in the PR lane](https://github.com/OpenAdaptAI/OpenAdapt/pull/1578) (#1578), merged 2026-10-25 - [fix(desktop): bundle Flow 2.4.0 and check every command line against it (Desktop 0.24.1)](https://github.com/OpenAdaptAI/OpenAdapt/pull/1574) (#1574), merged 2026-10-25 - [fix(flow): repeated div rows, grid rows and cards are worklist rows](https://github.com/OpenAdaptAI/OpenAdapt/pull/1569) (#1569), merged 2026-10-25, openadapt-flow - [benchmark(lifecycle): the scripted person signs its approvals with a fixture-only key](https://github.com/OpenAdaptAI/OpenAdapt/pull/1565) (#1565), merged 2026-10-25, openadapt-flow - [chore(desktop): say where the 0.23.0 approver root is pinned](https://github.com/OpenAdaptAI/OpenAdapt/pull/1563) (#1563), merged 2026-10-25 -- [fix(tray): make local-recorder stop and owner checks portable](https://github.com/OpenAdaptAI/OpenAdapt/pull/1562) (#1562), merged 2026-10-25 -- [test(capture): give the pinned-window tests a fake focus probe](https://github.com/OpenAdaptAI/OpenAdapt/pull/1556) (#1556), merged 2026-10-25 -- [build(desktop): pin the macOS Intel cryptography check to the locked 50.0.2](https://github.com/OpenAdaptAI/OpenAdapt/pull/1553) (#1553), merged 2026-10-25 -- [build(desktop): upgrade pillow, certifi, setuptools and webpki crates for new advisories](https://github.com/OpenAdaptAI/OpenAdapt/pull/1545) (#1545), merged 2026-10-25 -- [flow: declare an API step's other writes as an ordered sequence](https://github.com/OpenAdaptAI/OpenAdapt/pull/1544) (#1544), merged 2026-10-25, openadapt-flow -- [fault gate: admit a check only when it catches every class it claims (#1506)](https://github.com/OpenAdaptAI/OpenAdapt/pull/1539) (#1539), merged 2026-10-25, openadapt-flow