diff --git a/CHANGELOG.md b/CHANGELOG.md index d66b7cb0d..01fe13482 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,71 @@ +## 0.0.65 (2026-09-03) + +### 🚀 Features + +- Mastra runtime Lane B — ag-ui-mastra Node service, proxy map, rt-mastra example, deploy workflow ([#903](https://github.com/cacheplane/angular-agent-framework/pull/903), [#899](https://github.com/cacheplane/angular-agent-framework/issues/899)) +- add operational sidebar control plane ([#921](https://github.com/cacheplane/angular-agent-framework/pull/921)) +- unify docs and cockpit workspace ([#949](https://github.com/cacheplane/angular-agent-framework/pull/949)) +- unify docs and runtime control plane ([#963](https://github.com/cacheplane/angular-agent-framework/pull/963)) +- **ag-ui:** upgrade @ag-ui/* to 0.0.59 and send protocol-standard top-level resume ([#891](https://github.com/cacheplane/angular-agent-framework/pull/891)) +- **ag-ui:** consume the protocol's SUBAGENT_* events and subagentRunId attribution ([#955](https://github.com/cacheplane/angular-agent-framework/pull/955)) +- **cockpit:** per-topic framework adapters in the AG-UI deployment generator ([#894](https://github.com/cacheplane/angular-agent-framework/pull/894)) +- **cockpit:** Microsoft Agent Framework runtime example (cockpit/runtimes) ([#896](https://github.com/cacheplane/angular-agent-framework/pull/896), [#888](https://github.com/cacheplane/angular-agent-framework/issues/888), [#889](https://github.com/cacheplane/angular-agent-framework/issues/889), [#891](https://github.com/cacheplane/angular-agent-framework/issues/891)) +- **cockpit:** AWS Strands runtime example (rt-strands) ([#898](https://github.com/cacheplane/angular-agent-framework/pull/898)) +- **cockpit:** make Run discoverable from Code ([#934](https://github.com/cacheplane/angular-agent-framework/pull/934)) +- **cockpit:** ag-ui subagents demo emits the protocol's SUBAGENT_* events ([#962](https://github.com/cacheplane/angular-agent-framework/pull/962)) +- **e2e-harness:** restore aimock — replay+record wrapper, drift infra, scrub repairs ([#947](https://github.com/cacheplane/angular-agent-framework/pull/947)) +- **e2e-harness:** bucket metadata-hash mismatches as promptChanged in the drift differ ([#951](https://github.com/cacheplane/angular-agent-framework/pull/951)) +- **examples:** ag-ui demo emits the protocol's SUBAGENT_* events ([#964](https://github.com/cacheplane/angular-agent-framework/pull/964)) +- **examples/chat:** /hero route — replayed LangGraph walkthrough with live takeover ([#976](https://github.com/cacheplane/angular-agent-framework/pull/976)) +- **runtimes:** strands subagent delegation demo with standard SUBAGENT_* emission ([#956](https://github.com/cacheplane/angular-agent-framework/pull/956)) +- **runtimes:** maf subagent delegation demo with queue-merged SUBAGENT_* emission ([#957](https://github.com/cacheplane/angular-agent-framework/pull/957)) +- **runtimes:** mastra subagent delegation demo with SUBAGENT_* injection in the bridge ([#958](https://github.com/cacheplane/angular-agent-framework/pull/958)) +- **runtimes:** mastra sub-agent streaming via a public-API stream tee ([#961](https://github.com/cacheplane/angular-agent-framework/pull/961)) +- **runtimes:** stand-down guard so the mastra subagent injector retires ([#971](https://github.com/cacheplane/angular-agent-framework/pull/971)) +- **website:** homepage punch list — hero merge, FAQ copy, FeatureBlock rows everywhere ([#897](https://github.com/cacheplane/angular-agent-framework/pull/897)) +- **website:** homepage lower half — ledgers, numerals, paper, intent-gated toast ([#901](https://github.com/cacheplane/angular-agent-framework/pull/901)) +- **website:** add 'We Measured the Runtime Swap' blog post ([#905](https://github.com/cacheplane/angular-agent-framework/pull/905), [#888](https://github.com/cacheplane/angular-agent-framework/issues/888), [#889](https://github.com/cacheplane/angular-agent-framework/issues/889), [#891](https://github.com/cacheplane/angular-agent-framework/issues/891)) +- **website:** tighten the pricing page ([#908](https://github.com/cacheplane/angular-agent-framework/pull/908)) +- **website:** library pages in the homepage manner ([#914](https://github.com/cacheplane/angular-agent-framework/pull/914)) +- **website:** design-program follow-ups — showcase rails, Angular proof cell, closer order ([#919](https://github.com/cacheplane/angular-agent-framework/pull/919)) +- **website:** align the docs index with the control plane ([#923](https://github.com/cacheplane/angular-agent-framework/pull/923), [#920](https://github.com/cacheplane/angular-agent-framework/issues/920), [#911](https://github.com/cacheplane/angular-agent-framework/issues/911)) +- **website:** ninth arc — solutions and pilot join the design language ([#927](https://github.com/cacheplane/angular-agent-framework/pull/927)) +- **website:** wire the docs -> cockpit handoff for deep-agents and runtimes ([#938](https://github.com/cacheplane/angular-agent-framework/pull/938), [#937](https://github.com/cacheplane/angular-agent-framework/issues/937), [#913](https://github.com/cacheplane/angular-agent-framework/issues/913)) + +### 🩹 Fixes + +- subagent hardening batch — eviction order, args-buffer scoping, field-based lookup, AIMOCK_MODE warning ([#960](https://github.com/cacheplane/angular-agent-framework/pull/960)) +- **ag-ui:** detect protocol-standard RUN_FINISHED interrupt outcomes ([#888](https://github.com/cacheplane/angular-agent-framework/pull/888)) +- **ag-ui:** carry interrupt identity on the resume payload ([#889](https://github.com/cacheplane/angular-agent-framework/pull/889)) +- **ag-ui:** relative imports in subagents topic + deploy boot gate ([#899](https://github.com/cacheplane/angular-agent-framework/pull/899)) +- **ag-ui:** resolve the subagents agent URL against ([#902](https://github.com/cacheplane/angular-agent-framework/pull/902)) +- **ag-ui:** attributed TOOL_CALL_START links the child message's toolCallIds so cards draw the call ([#965](https://github.com/cacheplane/angular-agent-framework/pull/965)) +- **ci:** unbreak main — drop verify assertions for the removed pricing matrix ([#915](https://github.com/cacheplane/angular-agent-framework/pull/915), [#908](https://github.com/cacheplane/angular-agent-framework/issues/908)) +- **ci:** accept branded AG-UI compatibility marker ([#930](https://github.com/cacheplane/angular-agent-framework/pull/930)) +- **ci:** stop fanning out the whole cockpit e2e matrix for unrelated changes ([#939](https://github.com/cacheplane/angular-agent-framework/pull/939), [#932](https://github.com/cacheplane/angular-agent-framework/issues/932)) +- **ci:** bump scorecard-action to v2.4.4 so the image pulls again ([#940](https://github.com/cacheplane/angular-agent-framework/pull/940), [#367732848534](https://github.com/cacheplane/angular-agent-framework/issues/367732848534)) +- **ci:** compare requirements.txt drift against git, not a scratch export ([#967](https://github.com/cacheplane/angular-agent-framework/pull/967), [#966](https://github.com/cacheplane/angular-agent-framework/issues/966)) +- **ci:** give the Website Vercel build its growth form policy ([#981](https://github.com/cacheplane/angular-agent-framework/pull/981), [#968](https://github.com/cacheplane/angular-agent-framework/issues/968)) +- **ci:** scope vercel promote to the team that owns the deployment ([#982](https://github.com/cacheplane/angular-agent-framework/pull/982), [#963](https://github.com/cacheplane/angular-agent-framework/issues/963), [#945](https://github.com/cacheplane/angular-agent-framework/issues/945)) +- **ci:** open the protected immutable cockpit preview with its own automation bypass ([#984](https://github.com/cacheplane/angular-agent-framework/pull/984), [#983](https://github.com/cacheplane/angular-agent-framework/issues/983), [#974](https://github.com/cacheplane/angular-agent-framework/issues/974)) +- **cockpit:** teach the cockpit the runtimes product ([#910](https://github.com/cacheplane/angular-agent-framework/pull/910)) +- **cockpit:** point docsPath at docs pages that actually exist ([#918](https://github.com/cacheplane/angular-agent-framework/pull/918)) +- **cockpit:** accept the platform slash collapse for the consecutive-slash raw canary ([#987](https://github.com/cacheplane/angular-agent-framework/pull/987)) +- **deployments:** regenerate ag-ui-dev artifacts after the --no-dev re-export ([#970](https://github.com/cacheplane/angular-agent-framework/pull/970), [#967](https://github.com/cacheplane/angular-agent-framework/issues/967), [#963](https://github.com/cacheplane/angular-agent-framework/issues/963)) +- **examples:** sync requirements.txt with uv.lock; guard drift in CI ([#966](https://github.com/cacheplane/angular-agent-framework/pull/966), [#964](https://github.com/cacheplane/angular-agent-framework/issues/964)) +- **examples/chat:** keep reading pauses in the hero walkthrough under reduced motion ([#979](https://github.com/cacheplane/angular-agent-framework/pull/979)) +- **langgraph:** harden subagent attribution — ladder tests, empty-description guard, nested-delegation streams ([#945](https://github.com/cacheplane/angular-agent-framework/pull/945)) +- **lifecycle:** own enrichment provenance in code; **mailbox-poller:** drop numeric separators ([#985](https://github.com/cacheplane/angular-agent-framework/pull/985)) +- **website:** repair and redesign the docs adapter picker ([#911](https://github.com/cacheplane/angular-agent-framework/pull/911), [#892](https://github.com/cacheplane/angular-agent-framework/issues/892)) +- **website:** give library-neutral docs pages an honest control plane ([#920](https://github.com/cacheplane/angular-agent-framework/pull/920), [#892](https://github.com/cacheplane/angular-agent-framework/issues/892)) +- **website:** final-review fix batch ([#922](https://github.com/cacheplane/angular-agent-framework/pull/922)) +- **website:** restore padding on Shiki code blocks ([#924](https://github.com/cacheplane/angular-agent-framework/pull/924), [#863](https://github.com/cacheplane/angular-agent-framework/issues/863), [#926](https://github.com/cacheplane/angular-agent-framework/issues/926)) +- **website:** close the docs shell's nav-height and column-measure defects ([#942](https://github.com/cacheplane/angular-agent-framework/pull/942), [#932](https://github.com/cacheplane/angular-agent-framework/issues/932)) +- **website:** legible diagram text on phones — 600px floor + scroll shadows ([#953](https://github.com/cacheplane/angular-agent-framework/pull/953)) +- **website:** production-smoke spec must not use import.meta.url ([#973](https://github.com/cacheplane/angular-agent-framework/pull/973), [#963](https://github.com/cacheplane/angular-agent-framework/issues/963)) +- **website:** keep the post-promotion e2e run off the local fixture runtime ([#983](https://github.com/cacheplane/angular-agent-framework/pull/983), [#982](https://github.com/cacheplane/angular-agent-framework/issues/982)) +- **workspace:** keep utility panel focus when the drawer opens in one commit ([#972](https://github.com/cacheplane/angular-agent-framework/pull/972)) + ## 0.0.64 (2026-08-31) ### 🚀 Features diff --git a/apps/website/public/AGENTS.md b/apps/website/public/AGENTS.md index 16a16f0d6..f35ac8aaa 100644 --- a/apps/website/public/AGENTS.md +++ b/apps/website/public/AGENTS.md @@ -1,4 +1,4 @@ -# Threadplane v0.0.64 +# Threadplane v0.0.65 Production-ready chat, thread/history/branch UI, interrupts, subagents, planning, memory, and generative UI for Angular agent apps. diff --git a/apps/website/public/CLAUDE.md b/apps/website/public/CLAUDE.md index 16a16f0d6..f35ac8aaa 100644 --- a/apps/website/public/CLAUDE.md +++ b/apps/website/public/CLAUDE.md @@ -1,4 +1,4 @@ -# Threadplane v0.0.64 +# Threadplane v0.0.65 Production-ready chat, thread/history/branch UI, interrupts, subagents, planning, memory, and generative UI for Angular agent apps. diff --git a/docs/RELEASE.md b/docs/RELEASE.md index 72107f144..7aab5a60e 100644 --- a/docs/RELEASE.md +++ b/docs/RELEASE.md @@ -25,11 +25,17 @@ git checkout main && git pull # package.json, updates package-lock.json, and stages the result. npx nx release version --specifier=patch -# 2. Changelog + commit + tag + GitHub Release. +# 2. Regenerate the public agent-context files. They embed the release +# version, and the Website unit suite fails the release commit until +# `apps/website/public/{AGENTS,CLAUDE}.md` say the new version. +npm run generate-agent-context +git add apps/website/public/AGENTS.md apps/website/public/CLAUDE.md + +# 3. Changelog + commit + tag + GitHub Release. # Pass the BARE version — see the warning below. npx nx release changelog 0.0.57 -# 3. Push. The Publish workflow fires on the tag and publishes to npm +# 4. Push. The Publish workflow fires on the tag and publishes to npm # with provenance via OIDC trusted publishing. git push origin main --tags ``` @@ -43,7 +49,7 @@ git push origin main --tags > Always `--dry-run` step 2 first and check the printed tag URL before > committing to it. -Step 3 is what actually ships. You can also publish from your machine with +Step 4 is what actually ships. You can also publish from your machine with `npx nx release publish --groups=publishable`, but preferring the tag-driven workflow means no local npm credentials are needed and provenance is attested by CI. diff --git a/libs/a2ui/package.json b/libs/a2ui/package.json index 629db82dd..4fabea3b5 100644 --- a/libs/a2ui/package.json +++ b/libs/a2ui/package.json @@ -1,6 +1,6 @@ { "name": "@threadplane/a2ui", - "version": "0.0.64", + "version": "0.0.65", "license": "MIT", "repository": { "type": "git", diff --git a/libs/ag-ui/package.json b/libs/ag-ui/package.json index 9b8f6e0a0..a014b4834 100644 --- a/libs/ag-ui/package.json +++ b/libs/ag-ui/package.json @@ -1,6 +1,6 @@ { "name": "@threadplane/ag-ui", - "version": "0.0.64", + "version": "0.0.65", "description": "AG-UI protocol adapter for @threadplane/chat — works with any AG-UI-compatible backend.", "keywords": [ "angular", diff --git a/libs/chat/package.json b/libs/chat/package.json index fd108ee66..6d6becea9 100644 --- a/libs/chat/package.json +++ b/libs/chat/package.json @@ -1,6 +1,6 @@ { "name": "@threadplane/chat", - "version": "0.0.64", + "version": "0.0.65", "exports": { "./chat.css": "./chat.css", "./themes/default-dark.css": "./themes/default-dark.css", diff --git a/libs/langgraph/package.json b/libs/langgraph/package.json index c43d28538..354edfe7f 100644 --- a/libs/langgraph/package.json +++ b/libs/langgraph/package.json @@ -1,6 +1,6 @@ { "name": "@threadplane/langgraph", - "version": "0.0.64", + "version": "0.0.65", "description": "LangGraph adapter for @threadplane/chat — Angular bindings for LangGraph Platform.", "keywords": [ "angular", diff --git a/libs/render/package.json b/libs/render/package.json index e26648049..2446ae6a7 100644 --- a/libs/render/package.json +++ b/libs/render/package.json @@ -1,6 +1,6 @@ { "name": "@threadplane/render", - "version": "0.0.64", + "version": "0.0.65", "peerDependencies": { "@angular/core": "^20.0.0 || ^21.0.0 || ^22.0.0", "@angular/common": "^20.0.0 || ^21.0.0 || ^22.0.0", diff --git a/libs/telemetry/package.json b/libs/telemetry/package.json index 600bef8ca..7288c95ca 100644 --- a/libs/telemetry/package.json +++ b/libs/telemetry/package.json @@ -1,6 +1,6 @@ { "name": "@threadplane/telemetry", - "version": "0.0.64", + "version": "0.0.65", "license": "MIT", "publishConfig": { "access": "public" diff --git a/package-lock.json b/package-lock.json index b11502638..2f9f59a55 100644 --- a/package-lock.json +++ b/package-lock.json @@ -226,12 +226,12 @@ }, "libs/a2ui": { "name": "@threadplane/a2ui", - "version": "0.0.64", + "version": "0.0.65", "license": "MIT" }, "libs/ag-ui": { "name": "@threadplane/ag-ui", - "version": "0.0.64", + "version": "0.0.65", "license": "MIT", "peerDependencies": { "@ag-ui/client": "*", @@ -243,7 +243,7 @@ }, "libs/chat": { "name": "@threadplane/chat", - "version": "0.0.64", + "version": "0.0.65", "license": "MIT", "dependencies": { "@cacheplane/partial-json": ">=0.1.1 <0.3.0", @@ -386,7 +386,7 @@ }, "libs/langgraph": { "name": "@threadplane/langgraph", - "version": "0.0.64", + "version": "0.0.65", "license": "MIT", "peerDependencies": { "@angular/core": "^20.0.0 || ^21.0.0 || ^22.0.0", @@ -407,7 +407,7 @@ }, "libs/render": { "name": "@threadplane/render", - "version": "0.0.64", + "version": "0.0.65", "license": "MIT", "peerDependencies": { "@angular/common": "^20.0.0 || ^21.0.0 || ^22.0.0", @@ -417,7 +417,7 @@ }, "libs/telemetry": { "name": "@threadplane/telemetry", - "version": "0.0.64", + "version": "0.0.65", "license": "MIT", "peerDependencies": { "@angular/core": "^20.0.0 || ^21.0.0 || ^22.0.0",