Skip to content

chore(main): release gridfleet-backend 0.2.0#45

Open
github-actions[bot] wants to merge 1 commit into
mainfrom
release-please--branches--main--components--gridfleet-backend
Open

chore(main): release gridfleet-backend 0.2.0#45
github-actions[bot] wants to merge 1 commit into
mainfrom
release-please--branches--main--components--gridfleet-backend

Conversation

@github-actions
Copy link
Copy Markdown
Contributor

@github-actions github-actions Bot commented May 2, 2026

🤖 I have created a release beep boop

0.2.0 (2026-05-13)

⚠ BREAKING CHANGES

  • main: require postgresql 18 baseline
  • backend: remove host tool ensure jobs, endpoints, and settings
  • backend: unify verification node lifecycle (#187)
  • backend: appium desired-state phase 6 — final cleanup (#179)
  • backend: Run claim retry and TTL settings are removed with the claim API.
  • backend: Run claim, release, and release-with-cooldown endpoints are removed.
  • backend: RunState.ready is removed. The ready endpoint now activates runs.
  • backend: Reserved device payloads no longer include claim fields.
  • backend: DeviceReservation claim columns are removed.
  • backend: drop appium node state column (#170)
  • backend: clients sending {drain: true|false} to /api/devices/ {id}/maintenance, /api/devices/bulk/enter-maintenance, or the group bulk equivalent must drop the field. The enter-maintenance behaviour is unchanged from drain=false (always stop the node).
  • remove device_config secret masking (#104)
  • backend: scope Appium port selection to the target host (#102)
  • backend: split device availability_status into operational_state + hold (#87)
  • backend: derive device health summary on read (#78)
  • typed Appium resource claims + structured agent errors (#77)

Features

  • add reservation claim release api (2390223)
  • agent: enforce optional http basic auth on backend->agent calls (#100) (00f985e)
  • backend,testkit: recreate run device cooldown api (fccfbc7)
  • backend: add /api/devices/{id}/test_data endpoints (4e48f0c)
  • backend: add appium node desired-state schema (#163) (b64ee2e)
  • backend: add appium node grid run id columns (5a6e75e)
  • backend: add appium node grid run id fields (ef6c627)
  • backend: add appium reconfigure client (9d6ac7c)
  • backend: add desired grid run id writer (1990221)
  • backend: add device intent registry schema (9ca910f)
  • backend: add device lookup by connection target (fc93a6e)
  • backend: add device test_data audit log model (f025bd5)
  • backend: add device.test_data column and audit log table (df50cea)
  • backend: add grid node reregister agent operation (93c9736)
  • backend: add grid node run id reconciler (17e6085)
  • backend: add intent registration service (1d76b05)
  • backend: add test_data payload schema with size cap (aac4c7b)
  • backend: add test_data_service with audit log and event (dcb8d94)
  • backend: adopt PostgreSQL 18 primitives (#206) (46152a5)
  • backend: allow ?include=test_data on reserve and claim (9105b5b)
  • backend: collapse run ready state (0d91579)
  • backend: converge appium desired state via reconciler (70bc7a8)
  • backend: converge appium desired state via reconciler (4ca1558)
  • backend: device state model drift fixes (D1-D6) (#144) (09556fd)
  • backend: drop appium node state column (#170) (d0337d6)
  • backend: drop device reservation claim columns (5e89e35)
  • backend: drop device reservation claim fields (6536918)
  • backend: dual-write appium desired-state writers (#164) (160dc5a)
  • backend: escalate device to maintenance after N cooldowns in same run (#121) (7fe01f7)
  • backend: evaluate device orchestration intents (d2c6282)
  • backend: expose device tags as grid capabilities (c5ab200)
  • backend: expose orchestration intent state (5fcdb2a)
  • backend: fence leader-owned writes against stale leadership (#105) (cca5c17)
  • backend: heartbeat diagnostic + resilience phase A (#135) (4c3a341)
  • backend: introduce DeviceStateMachine for operational/hold transitions (#152) (4cee1a5)
  • backend: leader-failover latency via heartbeat and watcher (#91) (bf2ea4a)
  • backend: map device.test_data column on device model (5b85f59)
  • backend: migrate background orchestration to intents (09581e3)
  • backend: migrate operator orchestration to intents (c15ef0a)
  • backend: migrate run orchestration to intents (78b5148)
  • backend: orphan-reaping appium reconciler (phase 1) (#161) (c1659a5)
  • backend: per-host httpx pool for backend→agent calls (#89) (6a1ed6e)
  • backend: reconcile device orchestration intents (354f647)
  • backend: recreate run device cooldown endpoint (39b7d91)
  • backend: register test_data.updated public event (0da64fe)
  • backend: remove host tool ensure jobs, endpoints, and settings (75b2051)
  • backend: remove obsolete run claim settings (5910221)
  • backend: remove run claim and release api (0d6a5a7)
  • backend: richer allocation payload with include=config,capabilities (#94) (4b44bad)
  • backend: run grid node run id reconciler loop (d56730e)
  • backend: scope Appium port selection to the target host (#102) (5be5562)
  • backend: send orchestration metadata in appium starts (7eaff4f)
  • backend: sweep device test_data audit log in data_cleanup (03e49fa)
  • backend: unify verification node lifecycle (#187) (1d1e7d8)
  • backend: write desired grid run id during run flow (e627175)
  • frontend: derive types from backend openapi schema (#162) (80be9a7)
  • main: add device orchestration intent registry (b42b3d4)
  • main: add optional icmp ping health check for usb devices with saved ip (#143) (afda5ce)
  • main: require postgresql 18 baseline (d43fd18)
  • main: split device test_data from device_config + modal portal (b5d0fa0)
  • remove host tool ensure/version management (#190) (b2562c1)
  • testkit: add run-scoped device cooldowns (#54) (6163dc9)
  • testkit: support tag-based device targeting (db0d0e3)

Bug Fixes

  • agent: release adapter-owned doctor refactor (#165) (f3ae257)
  • agent: trigger release for port conflict cleanup (6a561ca)
  • backend,agent: close 52 codeql alerts (#115) (05190ac)
  • backend: add lifecycle_run_cooldown_set to deviceeventtype enum (#57) (43e0fda)
  • backend: address cooldown review findings (c5745ee)
  • backend: avoid password taint in session tokens (#120) (dbbb250)
  • backend: backfill active run start during session sync (5179d32)
  • backend: bound agent reconfigure outbox retries (ce2bbdc)
  • backend: clamp test_data history limit and emit cleanup count (35516d1)
  • backend: clear lifecycle suppression on manual node restart (#159) (ef72f0d)
  • backend: clear maintenance-driven recovery suppression on exit (#141) (ffe98a1)
  • backend: clear stale reconciler start-failure metadata on node start (#207) (226762c)
  • backend: clear stale stop_pending on every session-end path and recover healthy devices (#71) (0dc6ed5)
  • backend: close 9 device-state race conditions via row locks (#14) (5c41c6c)
  • backend: close appium reconciler edge cases (af5ae67)
  • backend: close appium reconciler review gaps (6ef4f4b)
  • backend: close AppiumNode row-write race family (#22) (0fdb551)
  • backend: converge node restart immediately (#188) (33f9fef)
  • backend: de-flake ci tests and silence suite warnings (#160) (15e7f6b)
  • backend: defer availability flip until retained-node restart succeeds (#15) (d7ca20e)
  • backend: do not clear desired_grid_run_id on cooldown (bba2f8d)
  • backend: do not restart node on cooldown expiry when auto_manage is off (56f38bc)
  • backend: do not restart node on cooldown expiry when device is in maintenance (3ce4c6c)
  • backend: eliminate breaker false-positives on slow pack adapter endpoints (#139) (c4ea895)
  • backend: filter legacy appium host capability (625b57c)
  • backend: gate ready_operational_state on combined health (#137) (cb90464)
  • backend: guard auto-recovery against active cooldowns (6298517)
  • backend: harden appium reconciler convergence (27a3d56)
  • backend: harden intent and reconfigure edge cases (5c3bb1a)
  • backend: harden intent reconciliation semantics (c6da63c)
  • backend: hold device row lock inside mark_node_started / mark_node_stopped (#18) (78579f6)
  • backend: lock device row before availability writes in update_device + retain_verified_node (#17) (cf4f5d7)
  • backend: lock device rows before offline write in heartbeat _check_hosts (#26) (5c7eea5)
  • backend: mark device busy on claim to close chip race (#138) (7b2f966)
  • backend: node state split-brain on operator stop (#63) (0de7a88)
  • backend: preserve desired_port when restarting node after cooldown expiry (d002123)
  • backend: prevent backend test hangs (6bd0760)
  • backend: reconcile doctor rows per posted pack, not per posted doctor entry (#167) (d724d86)
  • backend: refresh pooled agent http client on tuning setting change (#90) (82924e9)
  • backend: retry pending agent reconfigures (5aec469)
  • backend: route verification_passed to available, not offline (#189) (a0ddd6a)
  • backend: share httpx async client in grid_service and session_viability (#149) (d9d9287)
  • backend: skip released reservations in cooldown expiry scan (fbf2133)
  • backend: stop appium node during cooldown and restore after ttl expiry (29cdc23)
  • backend: stop auto-escalating to maintenance on health/connectivity failures (#142) (9ca4a90)
  • backend: stop node atomically during cooldown under run lock (2ea4eaa)
  • backend: stop transient agent blips from flapping device health (#61) (a58c8e5)
  • backend: sync grid run id on lifecycle exclusion (7e3ac44)
  • backend: type session viability checked_by via shared enum (63ba5dc)
  • backend: unblock session_sync on duplicate running rows and restore busy on stale claim sweep (#140) (b066ec1)
  • backend: update host capability normalizer test (681377f)
  • backend: wrap test_data hydration in try/except for parity with config (1347468)
  • docker: let selenium hub resolve host gateway (#136) (fed0cfd)
  • frontend,backend: show busy chip when reserved device runs session (#134) (04c62f4)
  • frontend: update verification stage label from 'start temporary node' to 'start appium node' (a0ddd6a)
  • idempotent device release after lifecycle cleanup (#12) (7a98a5d)
  • main: satisfy intent registry verification (5b0a097)
  • preserve masked device config secrets (bc5aead)
  • restore busy devices on force release (9b8c2a6)
  • stabilize device verification lifecycle (a95df85)

Dependencies

  • deps-dev: bump types-pyyaml in /backend (#125) (db2bd2e)
  • deps-dev: bump types-pyyaml in /backend (#185) (d3051e9)
  • deps: bump mako from 1.3.11 to 1.3.12 in /backend (03c634a)
  • deps: bump mypy in /agent (#195) (1317e59)
  • deps: bump pydantic-settings in /agent (#182) (a6abb83)
  • deps: bump python-multipart in /backend (#184) (93a4963)
  • deps: bump sse-starlette in /backend (7f815c7)
  • deps: bump sse-starlette in /backend (#196) (c0eef40)
  • deps: bump sse-starlette in /backend (#204) (f3fc52b)

Documentation

  • docs: document discriminated-union release-with-cooldown response (7fe01f7)

Code Refactoring

  • backend: appium desired-state phase 6 — final cleanup (#179) (c97ae99)
  • backend: derive device health summary on read (#78) (10078ef)
  • backend: split device availability_status into operational_state + hold (#87) (1b329d3)
  • remove device_config secret masking (#104) (7329a31)
  • typed Appium resource claims + structured agent errors (#77) (9bfbc30)

This PR was generated with Release Please. See documentation.

@codeant-ai
Copy link
Copy Markdown

codeant-ai Bot commented May 2, 2026

Skipping PR review because a bot author is detected.

If you want to trigger CodeAnt AI, comment @codeant-ai review to trigger a manual review.

@github-actions github-actions Bot force-pushed the release-please--branches--main--components--gridfleet-backend branch 28 times, most recently from cd57cda to 9e23546 Compare May 9, 2026 13:21
@codeant-ai
Copy link
Copy Markdown

codeant-ai Bot commented May 11, 2026

Your free trial PR review limit of 100 PRs has been reached. Please upgrade your plan to continue using CodeAnt AI.

@github-actions github-actions Bot force-pushed the release-please--branches--main--components--gridfleet-backend branch from ebf7755 to 5943734 Compare May 11, 2026 06:38
@codeant-ai
Copy link
Copy Markdown

codeant-ai Bot commented May 11, 2026

Your free trial PR review limit of 100 PRs has been reached. Please upgrade your plan to continue using CodeAnt AI.

@github-actions github-actions Bot force-pushed the release-please--branches--main--components--gridfleet-backend branch from 5943734 to 5aac5a9 Compare May 11, 2026 06:58
@codeant-ai
Copy link
Copy Markdown

codeant-ai Bot commented May 11, 2026

Your free trial PR review limit of 100 PRs has been reached. Please upgrade your plan to continue using CodeAnt AI.

@github-actions github-actions Bot force-pushed the release-please--branches--main--components--gridfleet-backend branch from 5aac5a9 to 8163abd Compare May 11, 2026 15:56
@codeant-ai
Copy link
Copy Markdown

codeant-ai Bot commented May 11, 2026

Your free trial PR review limit of 100 PRs has been reached. Please upgrade your plan to continue using CodeAnt AI.

@github-actions github-actions Bot force-pushed the release-please--branches--main--components--gridfleet-backend branch from 8163abd to f3dd622 Compare May 11, 2026 16:16
@codeant-ai
Copy link
Copy Markdown

codeant-ai Bot commented May 11, 2026

Your free trial PR review limit of 100 PRs has been reached. Please upgrade your plan to continue using CodeAnt AI.

@github-actions github-actions Bot force-pushed the release-please--branches--main--components--gridfleet-backend branch from f3dd622 to 9b317d4 Compare May 11, 2026 17:06
@codeant-ai
Copy link
Copy Markdown

codeant-ai Bot commented May 11, 2026

Your free trial PR review limit of 100 PRs has been reached. Please upgrade your plan to continue using CodeAnt AI.

@github-actions github-actions Bot force-pushed the release-please--branches--main--components--gridfleet-backend branch from 9b317d4 to 50197e0 Compare May 11, 2026 17:06
@codeant-ai
Copy link
Copy Markdown

codeant-ai Bot commented May 11, 2026

Your free trial PR review limit of 100 PRs has been reached. Please upgrade your plan to continue using CodeAnt AI.

@github-actions github-actions Bot force-pushed the release-please--branches--main--components--gridfleet-backend branch from 50197e0 to be2a7b1 Compare May 11, 2026 17:07
@codeant-ai
Copy link
Copy Markdown

codeant-ai Bot commented May 11, 2026

Your free trial PR review limit of 100 PRs has been reached. Please upgrade your plan to continue using CodeAnt AI.

@github-actions github-actions Bot force-pushed the release-please--branches--main--components--gridfleet-backend branch from be2a7b1 to 9fcbea1 Compare May 11, 2026 20:03
@codeant-ai
Copy link
Copy Markdown

codeant-ai Bot commented May 11, 2026

Your free trial PR review limit of 100 PRs has been reached. Please upgrade your plan to continue using CodeAnt AI.

@github-actions github-actions Bot force-pushed the release-please--branches--main--components--gridfleet-backend branch 12 times, most recently from 6438b50 to a23c4ba Compare May 13, 2026 20:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants