Skip to content

Commit af30de1

Browse files
bloveclaude
andcommitted
chore(release): 0.1.0
First minor release. Through v0.0.66 the project bumped only the patch component; a 55-commit backlog of breaking changes made that counter misleading, so releases now move the minor. 1.0.0 stays gated on explicit owner approval. Breaking changes in this release: - chat: provideChat(), ChatConfig and CHAT_CONFIG removed — no component ever read the token, so it configured nothing. <chat> is configured through its inputs. - chat: @langchain/core is no longer a peer; nothing in the published package imports it. It remains a peer of @threadplane/langgraph. - middleware: the JS router's default toolsNode is now 'server_tools'; 'tools' cannot be a node name on a graph using clientToolsChannel(). - langgraph: streamErrorAt().classification is now .kind, carrying the AgentError kind rather than the constructor name. - langgraph: LangGraphAgent.interrupt is required; the adapter always provides it. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
1 parent a3970b8 commit af30de1

11 files changed

Lines changed: 136 additions & 62 deletions

File tree

CHANGELOG.md

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,64 @@
1+
## 0.1.0 (2026-09-08)
2+
3+
### 🚀 Features
4+
5+
- one route family — every capability is a docs page ([#1010](https://github.com/cacheplane/angular-agent-framework/pull/1010))
6+
- **ag-ui:** scriptable provideFakeAgent() and a duplicate-AgentRef warning ([#1053](https://github.com/cacheplane/angular-agent-framework/pull/1053))
7+
- **chat:** public scrollToBottom() on ChatComponent; the stage pins through it ([#1045](https://github.com/cacheplane/angular-agent-framework/pull/1045))
8+
- ⚠️ **chat:** remove provideChat(), fix app-level markdown registry overrides, and three API cleanups ([#1055](https://github.com/cacheplane/angular-agent-framework/pull/1055))
9+
- **docs:** ExampleCode include + guards; retire the walkthrough renderer ([#1025](https://github.com/cacheplane/angular-agent-framework/pull/1025))
10+
- **examples/chat:** executable approval tools behind the hero's pause ([#1011](https://github.com/cacheplane/angular-agent-framework/pull/1011))
11+
- **examples/chat:** /stage — the real chat beside the real devtools, seekable to any recorded time (live-stage plan 2 of 3) ([#1030](https://github.com/cacheplane/angular-agent-framework/pull/1030))
12+
- **growth:** add inspectable company research pilot ([#1009](https://github.com/cacheplane/angular-agent-framework/pull/1009))
13+
- **growth:** explain company capture failures ([#1015](https://github.com/cacheplane/angular-agent-framework/pull/1015))
14+
- **growth:** attribute campaign sends per template with a bounded Resend tag ([#1020](https://github.com/cacheplane/angular-agent-framework/pull/1020))
15+
- **growth:** enrich install activations and report developer journeys ([#1027](https://github.com/cacheplane/angular-agent-framework/pull/1027))
16+
- **growth:** integrate gated Dawn company enrichment ([#1028](https://github.com/cacheplane/angular-agent-framework/pull/1028))
17+
- **growth:** cut over company enrichment to Dawn ([#1041](https://github.com/cacheplane/angular-agent-framework/pull/1041))
18+
- **growth:** schedule founder emails on Pacific business mornings ([#1044](https://github.com/cacheplane/angular-agent-framework/pull/1044))
19+
- **lifecycle:** founder session offer as step one, one-word unsubscribe link ([#1012](https://github.com/cacheplane/angular-agent-framework/pull/1012))
20+
- **lifecycle:** add optional bounded Firecrawl company capture ([#1017](https://github.com/cacheplane/angular-agent-framework/pull/1017))
21+
- **lifecycle:** integrate self-hosted Firecrawl browser scraper ([#1019](https://github.com/cacheplane/angular-agent-framework/pull/1019))
22+
- **lifecycle:** fulfillment mail in the campaign register ([#1018](https://github.com/cacheplane/angular-agent-framework/pull/1018))
23+
- **lifecycle:** print the business postal address in every email footer ([#1021](https://github.com/cacheplane/angular-agent-framework/pull/1021))
24+
- **website:** homepage restructure (live-stage plan 1 of 3) ([#1024](https://github.com/cacheplane/angular-agent-framework/pull/1024))
25+
- **website:** whitepaper block and toast on the form kit; old form CSS removed ([#1026](https://github.com/cacheplane/angular-agent-framework/pull/1026))
26+
- **website:** the stage on the homepage — one real run, scrubbed by scroll (live-stage plan 3 of 3) ([#1032](https://github.com/cacheplane/angular-agent-framework/pull/1032))
27+
- **website:** the stage rail is a completeness ledger ([#1043](https://github.com/cacheplane/angular-agent-framework/pull/1043))
28+
- **website:** the social card shows the product, and the brand gets a real mark ([#1047](https://github.com/cacheplane/angular-agent-framework/pull/1047))
29+
- **website:** retire the last stale positioning from the brand assets ([#1051](https://github.com/cacheplane/angular-agent-framework/pull/1051))
30+
- **website:** architecture diagram — the UI layer between your users and your agents ([#1048](https://github.com/cacheplane/angular-agent-framework/pull/1048))
31+
- **website:** the homepage closes on a quiet open-source strip ([#1057](https://github.com/cacheplane/angular-agent-framework/pull/1057))
32+
- **website:** ATC theme spike — aviation yellow, Archivo Black, scope navy ([#1058](https://github.com/cacheplane/angular-agent-framework/pull/1058), [#15253](https://github.com/cacheplane/angular-agent-framework/issues/15253), [#004090](https://github.com/cacheplane/angular-agent-framework/issues/004090), [#1048](https://github.com/cacheplane/angular-agent-framework/issues/1048), [#963](https://github.com/cacheplane/angular-agent-framework/issues/963), [#1057](https://github.com/cacheplane/angular-agent-framework/issues/1057))
33+
34+
### 🩹 Fixes
35+
36+
- **growth:** validate telemetry and align PostHog dashboards ([#1050](https://github.com/cacheplane/angular-agent-framework/pull/1050))
37+
- **langgraph:** lifecycle token, error kind, root registry, required interrupt, awaitable mock transport ([#1054](https://github.com/cacheplane/angular-agent-framework/pull/1054))
38+
- **libs:** make the type-tests targets runnable again ([#1064](https://github.com/cacheplane/angular-agent-framework/pull/1064))
39+
- **lifecycle:** ground company research in substantive evidence ([add9e6801](https://github.com/cacheplane/angular-agent-framework/commit/add9e6801))
40+
- ⚠️ **middleware:** server_tools router default; Python emit_custom_event helper ([#1052](https://github.com/cacheplane/angular-agent-framework/pull/1052))
41+
- **render:** honor every ActionBinding field, per-item visible, real element lifecycle and state paths ([#1056](https://github.com/cacheplane/angular-agent-framework/pull/1056))
42+
- **render:** resolve repeated element readiness and props in the row's own scope ([#1062](https://github.com/cacheplane/angular-agent-framework/pull/1062))
43+
- **website:** pin the stage hold one millisecond inside it so the frame reports pause ([#1034](https://github.com/cacheplane/angular-agent-framework/pull/1034), [#1032](https://github.com/cacheplane/angular-agent-framework/issues/1032))
44+
- **website:** ATC theme follow-ups — favicon, social cards, whitepapers ([#1059](https://github.com/cacheplane/angular-agent-framework/pull/1059), [#004090](https://github.com/cacheplane/angular-agent-framework/issues/004090), [#15253](https://github.com/cacheplane/angular-agent-framework/issues/15253))
45+
- **website:** give arch-flow console badges an on-dark palette ([#1060](https://github.com/cacheplane/angular-agent-framework/pull/1060), [#1](https://github.com/cacheplane/angular-agent-framework/issues/1), [#15253](https://github.com/cacheplane/angular-agent-framework/issues/15253))
46+
47+
### ⚠️ Breaking Changes
48+
49+
- **chat:** remove provideChat(), fix app-level markdown registry overrides, and three API cleanups ([#1055](https://github.com/cacheplane/angular-agent-framework/pull/1055))
50+
- **middleware:** server_tools router default; Python emit_custom_event helper ([#1052](https://github.com/cacheplane/angular-agent-framework/pull/1052))
51+
the default is now 'server_tools'. Rename your server tool
52+
node to server_tools and drop the override, or keep the override pointing at
53+
whatever name your node uses. There is no shim. The Python package's
54+
route_after_agent() keeps tools_node="tools"; Python LangGraph has no such
55+
namespace collision.
56+
Two integration specs record the behavior: one invokes a graph whose ToolNode
57+
is named server_tools with no override and asserts the tool actually ran (it
58+
failed with "Branch condition returned unknown or null destination" before the
59+
fix), and one pins the addNode('tools', …) throw so the reason is written down.
60+
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
61+
162
## 0.0.66 (2026-09-05)
263

364
### 🚀 Features

apps/website/public/AGENTS.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Threadplane v0.0.66
1+
# Threadplane v0.1.0
22

33
Production-ready chat, thread/history/branch UI, interrupts, subagents, planning, memory, and generative UI for Angular agent apps.
44

apps/website/public/CLAUDE.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Threadplane v0.0.66
1+
# Threadplane v0.1.0
22

33
Production-ready chat, thread/history/branch UI, interrupts, subagents, planning, memory, and generative UI for Angular agent apps.
44

docs/RELEASE.md

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Release Process
22

3-
The six publishable libraries (`@threadplane/chat`, `@threadplane/langgraph`, `@threadplane/ag-ui`, `@threadplane/render`, `@threadplane/a2ui`, `@threadplane/telemetry`) ship together at a synchronized version via Nx Release. During the `0.0.x` exploratory phase, only patch bumps are used.
3+
The six publishable libraries (`@threadplane/chat`, `@threadplane/langgraph`, `@threadplane/ag-ui`, `@threadplane/render`, `@threadplane/a2ui`, `@threadplane/telemetry`) ship together at a synchronized version via Nx Release. Releases use **minor** bumps (`0.1.0``0.2.0` → …). **Never cut `1.0.0` without explicit approval from the repository owner, every time.**
44

55
Nx updates internal dependency and peer ranges with the synchronized release. `preserveMatchingDependencyRanges` is disabled so a prior `^0.0.x` peer range cannot block the next patch or leave companion packages on incompatible versions. External dependency ranges remain unchanged.
66

@@ -25,7 +25,7 @@ git checkout main && git pull
2525

2626
# 1. Version bump. Runs preVersionCommand (builds all six projects), rewrites every
2727
# package.json, updates package-lock.json, and stages the result.
28-
npx nx release version --specifier=patch
28+
npx nx release version --specifier=minor
2929

3030
# 2. Regenerate the public agent-context files. They embed the release
3131
# version, and the Website unit suite fails the release commit until
@@ -110,7 +110,7 @@ Always sanity-check before a real release. Dry-run each subcommand — the
110110
one-shot `nx release patch --dry-run` fails the same way the real command does:
111111

112112
```bash
113-
npx nx release version --specifier=patch --dry-run
113+
npx nx release version --specifier=minor --dry-run
114114
npx nx release changelog 0.0.57 --dry-run # bare version; check the printed tag URL
115115
```
116116

@@ -132,11 +132,13 @@ Anything above `0` means main has unpublished commits.
132132

133133
`Publish` workflow accepts `workflow_dispatch` with a `dry-run` input (default `true`). Trigger from the GitHub Actions UI to verify CI's publish path without actually shipping.
134134

135-
## Why patch-only during 0.0.x
135+
## Versioning policy
136136

137-
While the API is still settling we bump only the patch component (`0.0.1``0.0.2``0.0.3`). This signals to consumers that breaking changes can land in any release; lock to an exact version.
137+
Releases bump the **minor** component (`0.1.0``0.2.0`). Breaking changes can still land in any release while the major is `0`, so consumers should lock to an exact version; the changelog names the breaking entries.
138138

139-
When the API stabilizes enough to make compatibility promises, transition to `0.1.0` and start using minor/major bumps with conventional-commit-driven semver.
139+
`1.0.0` is a deliberate gate, not something to infer from scope or stability: **ask the repository owner and wait for an explicit yes before cutting it.**
140+
141+
Through `v0.0.66` the project used patch-only bumps. That ended on 2026-09-08, when a backlog of breaking changes made the patch counter actively misleading.
140142

141143
## Internal peer dependencies
142144

libs/a2ui/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@threadplane/a2ui",
3-
"version": "0.0.66",
3+
"version": "0.1.0",
44
"description": "A2UI protocol types, streaming parser, and dynamic-value resolver for agent-generated UI. Pure TypeScript.",
55
"license": "MIT",
66
"repository": {

libs/ag-ui/package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@threadplane/ag-ui",
3-
"version": "0.0.66",
3+
"version": "0.1.0",
44
"description": "AG-UI adapter for the Angular AI agent UI — connect any AG-UI-compatible backend to the same chat surface.",
55
"keywords": [
66
"angular",
@@ -10,8 +10,8 @@
1010
"threadplane"
1111
],
1212
"peerDependencies": {
13-
"@threadplane/chat": "0.0.66",
14-
"@threadplane/telemetry": "^0.0.66",
13+
"@threadplane/chat": "0.1.0",
14+
"@threadplane/telemetry": "^0.1.0",
1515
"@angular/core": "^20.0.0 || ^21.0.0 || ^22.0.0",
1616
"@ag-ui/client": "*",
1717
"@ag-ui/core": "*",

libs/chat/package.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@threadplane/chat",
3-
"version": "0.0.66",
3+
"version": "0.1.0",
44
"description": "The Angular AI agent chat UI: <chat>, headless primitives, interrupts, subagents, and generative UI on Signals.",
55
"exports": {
66
"./chat.css": "./chat.css",
@@ -18,14 +18,14 @@
1818
"@cacheplane/partial-markdown": "0.5.8"
1919
},
2020
"peerDependencies": {
21-
"@threadplane/telemetry": "^0.0.66",
21+
"@threadplane/telemetry": "^0.1.0",
2222
"zod": "^3.25.0",
2323
"@angular/core": "^20.0.0 || ^21.0.0 || ^22.0.0",
2424
"@angular/common": "^20.0.0 || ^21.0.0 || ^22.0.0",
2525
"@angular/platform-browser": "^20.0.0 || ^21.0.0 || ^22.0.0",
2626
"@angular/router": "^20.0.0 || ^21.0.0 || ^22.0.0",
27-
"@threadplane/render": "0.0.66",
28-
"@threadplane/a2ui": "0.0.66",
27+
"@threadplane/render": "0.1.0",
28+
"@threadplane/a2ui": "0.1.0",
2929
"@json-render/core": "^0.16.0",
3030
"rxjs": "~7.8.0",
3131
"marked": "^15.0.0 || ^16.0.0",

libs/langgraph/package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@threadplane/langgraph",
3-
"version": "0.0.66",
3+
"version": "0.1.0",
44
"description": "LangGraph adapter for the Angular AI agent UI — provideAgent()/injectAgent() expose a run as Angular Signals.",
55
"keywords": [
66
"angular",
@@ -11,8 +11,8 @@
1111
"threadplane"
1212
],
1313
"peerDependencies": {
14-
"@threadplane/chat": "0.0.66",
15-
"@threadplane/telemetry": "^0.0.66",
14+
"@threadplane/chat": "0.1.0",
15+
"@threadplane/telemetry": "^0.1.0",
1616
"@angular/core": "^20.0.0 || ^21.0.0 || ^22.0.0",
1717
"@langchain/core": "^1.1.33",
1818
"@langchain/langgraph-sdk": "^1.7.4",

libs/render/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
{
22
"name": "@threadplane/render",
3-
"version": "0.0.66",
3+
"version": "0.1.0",
44
"description": "Angular render engine for agent-generated UI: maps JSON specs onto your own design-system components.",
55
"peerDependencies": {
6-
"@threadplane/telemetry": "^0.0.66",
6+
"@threadplane/telemetry": "^0.1.0",
77
"@angular/core": "^20.0.0 || ^21.0.0 || ^22.0.0",
88
"@angular/common": "^20.0.0 || ^21.0.0 || ^22.0.0",
99
"@json-render/core": "^0.16.0"

libs/telemetry/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@threadplane/telemetry",
3-
"version": "0.0.66",
3+
"version": "0.1.0",
44
"description": "Explicit Node and browser capture helpers for Angular AI agent applications that choose to send events.",
55
"license": "MIT",
66
"publishConfig": {

0 commit comments

Comments
 (0)