Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 35 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,41 @@

<!-- version list -->

## v1.18.0 (2026-10-20)

### Breaking Changes

- Require openadapt-flow 2.2 (`>=2.2.0,<3.0.0`). The quickstart uses Flow's
offline Seals, shared browser and OCR prewarm, and `openadapt pull` uses
`openadapt-flow pull`; none of these are in Flow 2.0 or 2.1. `openadapt
doctor` and `openadapt deploy` report an older Flow as unsupported.

### Features

- `openadapt quickstart` is three short acts: show the task in the synthetic
clinic app and compile it, run the program on five new notes at once, then
make one save fail silently and watch the run stop. It ends with one receipt
card, the command to check its Seal, and two next steps
([#1408](https://github.com/OpenAdaptAI/OpenAdapt/pull/1408)).
- When an older `openadapt` comes first on PATH, the quickstart names it and
gives the fix. Under `uvx` it also says how to keep the installed version
([#1408](https://github.com/OpenAdaptAI/OpenAdapt/pull/1408)).
- `openadapt pull` downloads a packaged workflow from the registry, and
`openadapt pull --list` shows what is available
([#1173](https://github.com/OpenAdaptAI/OpenAdapt/pull/1173)).

### Fixes

- Next-step hints repeat the `uvx` form when the launcher runs from a uvx
environment, so they reach the same version
([#1404](https://github.com/OpenAdaptAI/OpenAdapt/pull/1404)).
- The quickstart describes the failing run as a save that didn't reach the
record ([#1236](https://github.com/OpenAdaptAI/OpenAdapt/pull/1236)), and
`openadapt agent serve` help shows `--bundles DIR --mode production`
([#1238](https://github.com/OpenAdaptAI/OpenAdapt/pull/1238)).
- CLI help and built-in links point at the docs glossary and the monorepo
([#1200](https://github.com/OpenAdaptAI/OpenAdapt/pull/1200)).

## v1.17.0 (2026-10-15)

### Breaking Changes
Expand Down
47 changes: 24 additions & 23 deletions docs/platform-compatibility-report.md

Large diffs are not rendered by default.

7 changes: 4 additions & 3 deletions openadapt/cli.py
Original file line number Diff line number Diff line change
Expand Up @@ -848,8 +848,9 @@ def _warn_about_launcher_conflicts() -> None:
_SECRET_REFERENCE = re.compile(r"^(?:env:[A-Z][A-Z0-9_]*|keychain:[^/\s]+/[^/\s]+)$")
# Flow 1.33 and 1.34 probe four X11 libraries in the wrong case, so on Linux
# they refuse to download Chromium on hosts that have them. 1.35.0 fixed it.
# Launcher 1.17 requires Flow 2.
_SUPPORTED_FLOW_RANGE = ">=2.0.0,<3.0.0"
# Launcher 1.18 requires Flow 2.2: the quickstart uses its offline Seals,
# shared browser and OCR prewarm.
_SUPPORTED_FLOW_RANGE = ">=2.2.0,<3.0.0"
_RDP_INSTALL_COMMAND = _pip_install("openadapt[rdp]")
_CHROMIUM_SYSTEM_LIBS_COMMAND = (
f"{shlex.quote(sys.executable)} -m playwright install-deps chromium"
Expand All @@ -859,7 +860,7 @@ def _warn_about_launcher_conflicts() -> None:
def _supported_flow_version(value: str) -> bool:
"""Return whether a stable Flow version is in the launcher's supported range."""
parsed = _release_tuple(value)
return parsed is not None and (2, 0, 0) <= parsed < (3, 0, 0)
return parsed is not None and (2, 2, 0) <= parsed < (3, 0, 0)


# The Python modules each native or remote Flow backend imports when its
Expand Down
Loading
Loading