-
Notifications
You must be signed in to change notification settings - Fork 18
chore: release v2.2.0 #401
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,58 @@ | ||
| # FrontAgent v2.2.0 | ||
|
|
||
| FrontAgent v2.2.0 is a minor release after v2.1.1. It ships the new Electron desktop client, headless non-interactive CLI mode, session resume, lifecycle hooks, declarative permission rules, context zone budgets, the `@frontagent/mcp-web-fetch` adapter, a reproducible SDD ablation evaluation framework, and a set of correctness and security fixes across the CLI entry path, the hallucination guard, and the LLM provider layer. | ||
|
|
||
| ## Highlights | ||
|
|
||
| - New Electron desktop client with a typed IPC contract, Task Console + Settings UI, accessibility semantics, and multi-platform zip archives attached to GitHub Releases. | ||
| - Headless non-interactive CLI mode with a validated JSON output contract exposing artifacts and security denials. | ||
| - Session resume with schema-validated session records and cross-step file context hydration. | ||
| - Lifecycle hooks with explicit project-hook opt-in and hardened hook plumbing. | ||
| - Declarative permission rules and context zone budgets on the core execution path. | ||
| - Reproducible SDD ablation benchmark: frozen 30-task set, two-arm orchestrator, machine-checkable acceptance, published negative findings with reproduction guide. | ||
| - Global `fa` bin invocations work again (symlinked entry-path fix), and `hallucinationGuard.checks` is genuinely honored on the executor path without weakening the project-root security boundary. | ||
|
|
||
| ## Added | ||
|
|
||
| - **Desktop client**: typed IPC contract + execution reducer, Task Console and Settings renderer (React + Vite), main-process runtime bridge + settings store, IPC-failure degraded states, ARIA live regions and navigation semantics, electron-builder packaging publishing multi-platform zips to GitHub Releases, and desktop documentation. | ||
| - **Headless CLI**: `--output` validation, artifacts and security denials in the JSON payload, stdout interception during JSON runs, top-level error classification. | ||
| - **Session resume**: full step schema, order-independent resume unlock, cross-step file context hydration, session records validated on load. | ||
| - **Lifecycle hooks**: explicit opt-in for project hooks, per-tool outcome observation in postToolUse, log-callback failure isolation. | ||
| - **Permissions**: declarative permission rules; in-session derived allow rules with literal-wildcard escaping; bare tool rules never derived from always-allow approvals. | ||
| - **Context**: zone budgets with guaranteed postconditions and a single compaction summary; AGENTS.md project instructions with byte-capped reads. | ||
| - **MCP**: `@frontagent/mcp-web-fetch` adapter package wired into the agent registry and planner. | ||
| - **Prompts**: external-knowledge, security-engineering, and code-minimalism disciplines in codegen/planner; security review dimension in the code-quality sub-agent. | ||
| - **Evaluation**: frozen 30-task ablation set, typecheck-clean fixture project, two-arm orchestrator with resume, acceptance check runner, results report and reproduction guide. | ||
| - **Docs**: verifiable npm downloads counter with daily refresh. | ||
|
|
||
| ## Fixed | ||
|
|
||
| - **CLI entry**: global bin symlinks (`fa` via npm/pnpm/homebrew) no longer exit silently; the direct-entry guard resolves the symlinked argv path. (#396) | ||
| - **Hallucination guard**: `hallucinationGuard.checks` is honored by `validateFilePath` / `validateCode` on the executor path; project-root containment remains enforced when `fileExistence` is disabled. (#386) | ||
| - **LLM provider**: AI SDK migrated to the v5 line (clears GHSA-rwvc-j5jr-mgvh); OpenAI provider pinned to Chat Completions for OpenAI-compatible base URLs. | ||
| - **Planner**: `web_fetch` actions preserved in generated plans. | ||
| - **Agent**: dependency recovery uses the project package manager. | ||
| - **Desktop**: default-workspace setting takes effect; telemetry auto-scroll only at bottom; no demo content in TaskComposer; settings saves announced to assistive tech. | ||
| - **Runtime**: session ids constrained to the sessions dir with atomic writes; real taskId on failed taskComplete hooks; win32 process-tree kill. | ||
| - **Workflow gates**: workflow-rules test accepts the vars-based self-hosted Repo Guard runner. (#397) | ||
|
|
||
| ## Changed | ||
|
|
||
| - **CI**: Repo Guard on a self-hosted Claude Code engine with allowlisted fork actors under `pull_request_target`; catch-all CODEOWNERS; OpenRouter provider order passthrough. | ||
| - **Dependencies**: ts-morph ^28; AI SDK v5 line. | ||
|
|
||
| ## Known Issues | ||
|
|
||
| - `hallucinationGuard.enabled` is still dead config on the agent path; only `checks` is consulted. Tracked in #400. | ||
|
|
||
| ## Verification | ||
|
|
||
| - `pnpm quality:precommit` (lint, typecheck, workspace tests, workflow rules) green at release. | ||
| - CLI symlink invocation verified against the packaged bundle (`fa --version` via a bin symlink). | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 相比 |
||
|
|
||
| ## Compatibility | ||
|
|
||
| - CLI package version: `frontagent@2.2.0`. | ||
| - VS Code extension version: `frontagent@2.2.0`. | ||
| - Node.js requirement: `>=20.0.0`. | ||
| - VS Code requirement: `^1.120.0`. | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,6 +1,6 @@ | ||
| { | ||
| "name": "@frontagent/mcp-web-fetch", | ||
| "version": "2.1.1", | ||
| "version": "2.2.0", | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 包版本升到 2.2.0,但 |
||
| "description": "MCP Web-Fetch Adapter - Agent-friendly URL fetching (HTML→text) with SSRF guards for FrontAgent", | ||
| "type": "module", | ||
| "main": "./dist/index.js", | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -2,7 +2,7 @@ import type { FetchResult } from './engine.js'; | |
|
|
||
| export type { FetchOptions, FetchResult } from './engine.js'; | ||
|
|
||
| export const VERSION = '2.1.1'; | ||
| export const VERSION = '2.2.0'; | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 该版本字面量与本包 |
||
|
|
||
| export interface WebFetchToolResult { | ||
| success: boolean; | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
这里声明构建产物为
frontagent-2.2.0.vsix,但README.md:58仍写frontagent-2.1.1.vsix;更新 README/CN README 的发布快照段以消除矛盾。