Releases: alibaba/page-agent
Release list
🌟v1.12.2
What's Changed
- chore(deps): bump root, website, and extension dependencies by @gaomeng1900 in #612
- chore(deps-dev): bump the development-dependencies group with 4 updates by @dependabot[bot] in #615
- docs: CDN quick start in README and website by @gaomeng1900 in #617
- feat(extension): honor AbortSignal in tab tools and tab-load wait by @Mordris in #590
New Contributors
Full Changelog: v1.12.1...v1.12.2
🌟v1.12.1
What's Changed
- chore(ci): remove workflow_dispatch from main workflows by @gaomeng1900 in #605
- fix(ci): pin release workflow to npm 11 by @gaomeng1900 in #609
- chore(llms): gate live model tests behind test:live by @gaomeng1900 in #610
- feat(llms): update model list and patches by @gaomeng1900 in #611
Full Changelog: v1.12.0...v1.12.1
🌟v1.12.0
What's Changed
Stateless extension tab sync - TabsController pulls tab state on demand instead of long-lived ports, so the MV3 service worker stays stateless and survives idle kills without stalling the side panel.
Tab status in agent context - Tab summaries now include each tab's loading status for the LLM.
- docs: improve README copy and quick start by @gaomeng1900 in #592
- fix(ci): format README and align markdown tooling with Prettier by @gaomeng1900 in #593
- chore(deps-dev): bump the development-dependencies group with 8 updates by @dependabot[bot] in #595
- fix(extension): stateless SW, pull tab state instead of ports by @gaomeng1900 in #596
- feat(extension): add tab status to context by @gaomeng1900 in #599
- chore: add self-hosted runners by @gaomeng1900 in #602
- docs: point CI badge at main-ci.yml by @gaomeng1900 in #603
- chore(llms): limit live test concurrency by @gaomeng1900 in #604
Full Changelog: v1.11.0...v1.12.0
🌟v1.11.0
What's Changed
Rewrote per-model request patching for and updated the recommended model list.
Added real-API CI testing for all the models listed.
- refactor(llms): rewrite model patching and deprecate temperature by @gaomeng1900 in #581
- fix(deps): hoist happy-dom to root devDependencies by @gaomeng1900 in #559
- fix(assets): migrate img.alicdn.com URLs to page-agent.github.io by @gaomeng1900 in #573
- fix(llms): skip reasoning_effort patch for chat-latest models by @itxaiohanglover in #568
- fix: wrong active tab/window in multi-window scenarios by @gaomeng1900 in #578
- chore: Set the bookmark script to English locale by @ErwannRobin in #580
- chore: move cSpell config to .vscode/cspell.json by @gaomeng1900 in #579
- chore(ui): remove legacy motion-css code by @gaomeng1900 in #583
- chore(deps-dev): bump the development-dependencies group across 1 directory with 17 updates by @dependabot[bot] in #560
- chore(deps-dev): bump @types/node from 25.9.3 to 26.0.0 in the development-major group by @dependabot[bot] in #567
- chore(deps-dev): bump the development-dependencies group with 8 updates by @dependabot[bot] in #566
- chore(deps): bump actions/checkout from 6 to 7 in the github-actions group by @dependabot[bot] in #565
- chore(deps-dev): bump the development-dependencies group with 16 updates by @dependabot[bot] in #577
New Contributors
- @itxaiohanglover made their first contribution in #568
- @ErwannRobin made their first contribution in #580
Full Changelog: v1.10.0...v1.11.0
🌟v1.10.0
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 newstoppedstate was added, and LLM self-reported failures now end ascompleted. Lifecycle hooks re-throw instead of folding errors into the result, agent errors are recorded in history, andagent.lastResultwas added.
Features
- Abortable JavaScript execution -
execute_javascriptnow honors theAbortSignal. - Leaner agent prompts - Simplified the waiting-response flow and removed navigation-back instructions to reduce LLM cognitive load.
- MultiPageAgent safety - Disabled
ScriptExecutionToolforMultiPageAgent.
Improvements
- Dark mode detection - Refined detection heuristics and made
isMainContentDarkless aggressive by checkinghtmlandbodydata 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
currentTabIdonTabsController.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 #542
- chore(page-controller): remove accidental debug console.log calls by @64johnlee in #534
- Implement TODO: enhance dark mode detection by @tageniu in #373
- test(core): add PageAgentCore lifecycle tests by @gaomeng1900 in #543
- feat(page-controller): refine dark mode detection heuristics by @gaomeng1900 in #544
- refactor(core)!: rework agent run lifecycle and status semantics by @gaomeng1900 in #549
- feat(core): make execute_javascript honor AbortSignal by @gaomeng1900 in #545
- fix(extension): clear currentTabId in storage on TabsController.init by @gaomeng1900 in #551
- test(page-controller): add happy-dom env and basic tests by @gaomeng1900 in #552
- Fix scroll predicate types by @linked-danis in #512
- Report actual wait duration by @linked-danis in #511
- feat: remove instructions about nav back by @gaomeng1900 in #557
New Contributors
- @64johnlee made their first contribution in #534
- @tageniu made their first contribution in #373
Full Changelog: v1.9.0...v1.10.0
🌟v1.9.0
What's Changed
- fix: dts bug hotifx by @gaomeng1900 in #530
- improve error handling by @gaomeng1900 in #527
- feat: robust aborting by @gaomeng1900 in #532
- fix(core): prevent concurrent execute() calls by @gaomeng1900 in #536
And
- fix(website): normalize trailing slash in sidebar location comparison by @tolerious in #506
- chore: upgrade deps by @gaomeng1900 in #520
- fix: temporarily patch WXT audit vulnerabilities by @gaomeng1900 in #525
- chore(deps-dev): bump concurrently from 9.2.1 to 10.0.3 in the development-major group by @dependabot[bot] in #524
- chore: typo by @gaomeng1900 in #526
- chore(llms): add vitest unit tests by @gaomeng1900 in #531
- docs(website): document ctx.signal abort contract and execute() concurrency by @gaomeng1900 in #539
- feat(llms): add Claude Opus 4.8 support by @gaomeng1900 in #540
- docs: update model list by @gaomeng1900 in #541
New Contributors
- @tolerious made their first contribution in #506
Full Changelog: v1.8.2...v1.9.0
🌟v1.8.2
What's Changed
- chore(deps-dev): bump the development-dependencies group with 7 updates by @dependabot[bot] in #486
- fix(website): make manualChunks work by @gaomeng1900 in #489
- fix(ts):
InvokeErrorTypeseparate confusing value/type space by @gaomeng1900 in #490 - Upgrade vite 8 by @gaomeng1900 in #491
- chore: upgrade dependencies by @gaomeng1900 in #499
- feat: add
showPanelswitich by @CNFeffery in #461 - fix(page-agent): keep demo showPanel out of config type by @gaomeng1900 in #500
- feat: add autoInit switch for demo CDN script by @gaomeng1900 in #501
New Contributors
- @CNFeffery made their first contribution in #461
Full Changelog: v1.8.1...v1.8.2
🌟v1.8.1
What's Changed
- fix(a11y): add accessible labels to ConfigPanel inputs and icon buttons (WCAG 4.1.2) by @akinshaywai in #454
- chore(scripts): add parallel build scripts by @gaomeng1900 in #455
- design(ui): improve HistoryList loading/empty states and add button tooltips by @akinshaywai in #456
- refactor(setup): consolidate prettier config and streamline CI by @gaomeng1900 in #458
- chore: support claude code and antigravity by @gaomeng1900 in #459
- fix: upgrade wxt to fix npm ci by @gaomeng1900 in #463
- docs(website): add qwen3.6-max/flash to model list by @gaomeng1900 in #464
- chore(deps-dev): bump the development-dependencies group with 4 updates by @dependabot[bot] in #465
- fix: add rel="noopener noreferrer" to hub link in ConfigPanel by @akinshaywai in #472
- chore: remove debug console.log statements from production code by @akinshaywai in #473
- feat(llms): add transformRequestBody hook and improve prompt assembly by @zzy-life in #480
- docs(website): add prompt caching guidance by @gaomeng1900 in #481
- fix(mcp): advertise the package version by @fuyua9 in #476
- fix(llms): remove tool_choice for deepseek models by @gaomeng1900 in #482
- docs(website): add DeepSeek v4 flash and pro to tested models by @gaomeng1900 in #483
- feat(models): support gpt-5.4 and update model list by @gaomeng1900 in #484
New Contributors
- @akinshaywai made their first contribution in #454
- @zzy-life made their first contribution in #480
- @fuyua9 made their first contribution in #476
Full Changelog: v1.8.0...v1.8.1
🌟v1.8.0
What's Changed
- fix(mcp): bind HTTP+WS server to localhost only by @gaomeng1900 in #399
- chore(deps-dev): bump the development-dependencies group with 6 updates by @dependabot[bot] in #405
- fix(ext): increase result card font size and use foreground color by @gaomeng1900 in #413
- fix(ui): make panel history max-height responsive to viewport by @gaomeng1900 in #414
- fix(deps): update hono, path-to-regexp and vite for security patches by @gaomeng1900 in #415
- chore(deps-dev): bump typescript-eslint from 8.58.0 to 8.58.1 in the development-dependencies group by @dependabot[bot] in #416
- refactor: upgrade Node and ESLint by @gaomeng1900 in #420
- chore: update dev guide and PR skill by @gaomeng1900 in #423
- fix(mask): dispose 后 requestAnimationFrame 循环未停止导致内存泄漏 by @lgy2020 in #418
- fix(core): correct autoFixer wait fallback action format by @XePope in #425
- fix(vite): remove global helper functions in built assets by @gaomeng1900 in #447
- chore(deps): bump actions/upload-pages-artifact from 4 to 5 in the github-actions group by @dependabot[bot] in #448
- chore(deps-dev): bump the development-dependencies group with 11 updates by @dependabot[bot] in #449
New Contributors
Full Changelog: v1.7.1...v1.8.0
🌟v1.7.1
What's Changed
- feat(controller): improve scroll container detection and tool guidance by @gaomeng1900 in #390
- feat(controller): add experimental
keepSemanticTagsconfig by @gaomeng1900 in #395 - feat(ext): add
systemInstructionto ExecuteConfig by @gaomeng1900 in #386 - fix: 将currentScript提取到setTimeout外部以避免空指针 by @Anyexyz in #384
- fix(isInteractiveCandidate): use hasAttribute with known aria list to detect aria- attributes by @lgy2020 in #356
- fix(page-controller): apply scroll direction to pixels parameter by @mvanhorn in #332
- fix(ext): guard postMessage listeners against iframe sources by @gaomeng1900 in #389
- fix: recognize role="listitem" as interactive element by @Lubrsy706 in #203
- fix(controller): treat interactive with aria as distinct by @gaomeng1900 in #396
- docs: lm studio by @gaomeng1900 in #398
- docs(website): add qwen3.6-plus to models page by @gaomeng1900 in #385
New Contributors
- @Anyexyz made their first contribution in #384
- @lgy2020 made their first contribution in #356
- @mvanhorn made their first contribution in #332
Full Changelog: v1.7.0...v1.7.1