v1.10.0

TimoBolkart/FLAME-Universev1.10.0Jun 15, 2026by gaomeng1900

AI Summary

This release introduces a major rework of the agent run lifecycle, making the stop() method asynchronous and decoupling run status from task outcomes. It also adds support for abortable JavaScript execution and improves dark mode detection heuristics.

Key Highlights

  • Agent run lifecycle rework with async stop() and new states
  • Abortable JavaScript execution via AbortSignal
  • Improved dark mode detection heuristics
  • Extension lifecycle robustness improvements

Breaking Changes

  • stop() is now async and resolves after the run settles
  • Run status is decoupled from task outcome with a new 'stopped' state
  • LLM self-reported failures now end as 'completed'
  • Lifecycle hooks re-throw errors instead of folding them

New Features

  • Abortable JavaScript execution via AbortSignal
  • Leaner agent prompts with simplified waiting-response flow
  • MultiPageAgent safety by disabling ScriptExecutionTool

Full Release Notes

## Breaking Changes

- **Agent run lifecycle rework** - `stop()` is now async and resolves only after the run fully settles. Run status is decoupled from task outcome: a new `stopped` state was added, and LLM self-reported failures now end as `completed`. Lifecycle hooks re-throw instead of folding errors into the result, agent errors are recorded in history, and `agent.lastResult` was added.

## Features

- **Abortable JavaScript execution** - `execute_javascript` now honors the `AbortSignal`.
- **Leaner agent prompts** - Simplified the waiting-response flow and removed navigation-back instructions to reduce LLM cognitive load.
- **MultiPageAgent safety** - Disabled `ScriptExecutionTool` for `MultiPageAgent`.

## Improvements

- **Dark mode detection** - Refined detection heuristics and made `isMainContentDark` less aggressive by checking `html` and `body` data attributes independently.
- **Extension lifecycle robustness** - Drove heartbeat and running state from status changes, cleared stale activity on any non-running status, handled the stopped lifecycle state, and cleared `currentTabId` on `TabsController.init`.

## Bug Fixes

- **Accurate wait reporting** - Wait steps now report the actual wait duration.
- **Scroll predicates** - Scroll predicates now return booleans.
- **Docs** - Fixed the broken demo video on GitHub.

## PRs
* chore(deps-dev): bump the development-dependencies group with 13 updates by @dependabot[bot] in https://github.com/alibaba/page-agent/pull/542
* chore(page-controller): remove accidental debug console.log calls by @64johnlee in https://github.com/alibaba/page-agent/pull/534
* Implement TODO: enhance dark mode detection by @tageniu in https://github.com/alibaba/page-agent/pull/373
* test(core): add PageAgentCore lifecycle tests by @gaomeng1900 in https://github.com/alibaba/page-agent/pull/543
* feat(page-controller): refine dark mode detection heuristics by @gaomeng1900 in https://github.com/alibaba/page-agent/pull/544
* refactor(core)!: rework agent run lifecycle and status semantics by @gaomeng1900 in https://github.com/alibaba/page-agent/pull/549
* feat(core): make execute_javascript honor AbortSignal by @gaomeng1900 in https://github.com/alibaba/page-agent/pull/545
* fix(extension): clear currentTabId in storage on TabsController.init by @gaomeng1900 in https://github.com/alibaba/page-agent/pull/551
* test(page-controller): add happy-dom env and basic tests by @gaomeng1900 in https://github.com/alibaba/page-agent/pull/552
* Fix scroll predicate types by @linked-danis in https://github.com/alibaba/page-agent/pull/512
* Report actual wait duration by @linked-danis in https://github.com/alibaba/page-agent/pull/511
* feat: remove instructions about nav back by @gaomeng1900 in https://github.com/alibaba/page-agent/pull/557

## New Contributors
* @64johnlee made their first contribution in https://github.com/alibaba/page-agent/pull/534
* @tageniu made their first contribution in https://github.com/alibaba/page-agent/pull/373

**Full Changelog**: https://github.com/alibaba/page-agent/compare/v1.9.0...v1.10.0