- New docs/(root)/migration-guides/ section with migrate-to-v2, migrate-attachments,
migrate-to-1.10.X, migrate-to-1.8.2
- Troubleshooting now only contains error-debugging, observability-connectors, common-issues
- Update all @deprecated JSDoc URLs from /troubleshooting/ to /migration-guides/
- Update doc cross-links (multimodal-attachments page, snippet import)
- Move snippet to snippets/shared/migration-guides/
- Set minimum version to v1.56.0 (was vX.Y.Z placeholder)
Attachment queue & previews:
- Image lightbox with View Transition API morph animation
- Video lightbox with native controls and play button overlay
- Document lightbox (PDF via blob URL, text inline, info card fallback)
- Drop zone overlay with upload icon
- Filename preservation via InputContent metadata
- Proper video thumbnail sizing and play/pause indicator
- Fix attachment queue positioning (max-w-3xl constraint)
- Padding between X button and content for audio/document cards
- Document filenames wrap instead of truncating
Attachments config:
- onUploadFailed callback for validation/upload errors (file-too-large, invalid-type, upload-failed)
- onUpload accepts sync or async returns
- AttachmentUploadResult discriminated union with explicit interfaces
- Metadata field on Attachment and onUpload return type
AG-UI version bump:
- Bump @ag-ui/client, @ag-ui/core, @ag-ui/encoder, @ag-ui/proto to 0.0.51
- Remove process.env Vite workaround (fixed upstream in 0.0.51)
Deprecation lifecycle:
- @deprecated JSDoc on all legacy image upload APIs
- ImageRenderer, ImageRendererProps, ImageUpload type, imageUploadsEnabled prop,
inputFileAccept prop, ImageRenderer prop, AIMessage.image, ImageData
- Codemod at codemods/migrate-attachments.ts (15 tests)
- Migration guide updated with codemod instructions and new type shapes
Docs:
- New guide: docs/(root)/multimodal-attachments.mdx
- Updated migration guide with onUpload return type, metadata, codemod section
- Cross-links from prebuilt-components and migration guide
- Label change: "Add photos or files" → "Add attachments"
Tests:
- CopilotChat.attachments.test.tsx — 5 tests for onUploadFailed
- migrate-attachments codemod — 15 tests
Moves the streaming performance tip into a reusable snippet and imports
it on both the root headless page and the v2 basics headless-ui snippet
(used by built-in-agent and a2a framework pages).
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The ag-ui PR landed throttling as a standalone middleware
(`@ag-ui/event-throttle-middleware`) rather than a built-in
`notificationThrottle` option on HttpAgent.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Add package.json exports for v2/{express,hono,node} subpaths
- Add elysia devDependency and tsdown entry points
- Exclude bun integration tests from vitest config
- Update CI workflows to include runtime-servers test job
- Add runtime-server-adapter docs page
- Add changeset for the fetch-based runtime feature
- Add "Performance" section to useAgent reference documenting both
throttle layers (hook-level throttleMs + agent-level notificationThrottle)
- Document when to use which throttle and how they compose
- Add React.memo best practice for message components
- Add streaming performance tip to headless UI guide
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Create new langchain.tsx icon component with the rebranded LangChain
symbol SVG (geometric cross pattern from official brand kit)
- Update langgraph.tsx to use the same new LangChain symbol (since the
integration is now branded as LangChain)
- Replace SiLangchain (react-icons) with custom LangchainIcon in
custom-icons.tsx and langgraph/index.mdx
- Remove unused SiLangchain import from quickstart.mdx
- Remove temp/ SVG directory (raw brand assets no longer needed)
https://claude.ai/code/session_01JAQ7P3GEeP2bGZtc6V45WY
Update user-facing references from "LangGraph" to "LangChain" per CPK-7186.
The integration label, descriptions, and agent terminology now use "LangChain"
while preserving "LangGraph" for technical references (Platform, Studio, CLI,
StateGraph, code/package names, and API references).
- Rename integration label in integrations.ts, meta.json, integration-grid,
feature-matrix, quickstart-dropdown, and link-validation
- Update ~47 MDX docs: "LangGraph agent(s)" → "LangChain agent(s)"
- Update FAQ, snippets, and learn section references
- Keep URL paths (/langgraph) unchanged for backward compatibility
- Keep all code imports, package names, and LangGraph Platform/Studio/CLI as-is
https://claude.ai/code/session_01JAQ7P3GEeP2bGZtc6V45WY
The src/v1.x/ and src/v2.x/ directories were leftover artifacts from
the package consolidation. They contained only outdated configs, old
Cursor rules, superseded docs, and stale GitHub workflows — none
referenced by any code, build config, or Nx project.
Also fixes 3 broken doc links that pointed to src/v1.x/ paths.
Flatten all packages from packages/v1/* and packages/v2/* into packages/* —
every package now lives directly under the @copilotkit/ scope with no v1/v2
subdirectories.
- Move all v1 packages (react-core, react-ui, runtime, shared, etc.) from
packages/v1/* to packages/*
- Absorb v2 react code into packages/react-core/src/v2/ (exported via /v2 subpath)
- Absorb v2 agent code into packages/runtime/src/agent/ (exported via /v2 subpath)
- Move v2 packages (core, angular, demo-agents, etc.) to packages/*
- Replace all @copilotkitnext/* imports with @copilotkit/* equivalents
- Keep @copilotkitnext/angular as the sole exception (angular remains on next)
- Update CI workflows, renovate config, release scripts for flat structure
- No public API surface changes — all exports fields are preserved
Co-authored-by: Alem Tuzlak <t.zlak@hotmail.com>
Signed-off-by: Tyler Slaton <tyler@copilotkit.ai>
Update the handler type signature to show the second context argument
(toolCall, agent, signal) and add an example of passing signal to fetch
for cooperative cancellation.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Neither built-in-agent nor agent-spec are valid CLI framework options.
Remove "Start from scratch" CLI paths, keep manual setup only.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Agent-spec: remove invalid CLI `-f agent-spec` option, link to manual setup
- A2A: fix env var (GEMINI_API_KEY) and port (10002) to match starter template
- AWS Strands: fix useRenderTool to use Zod schema and correct render props
- LangGraph: add auth guide cross-reference in configurable docs
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- gemini/stack_agent.py: initialize tool_calls/tool_msg before try
block, guard usage with null check to prevent NameError on failure
- gemini/posts_generator_agent.py: use async generate_content to avoid
blocking event loop, guard grounding_metadata access, replace bare
except with explicit bounds check, remove dead router_function and
redundant static edges
- gemini/app/api/chat/route.ts: remove dead OpenAI route from Gemini
example (mislabeled as Gemini-powered, no frontend references it)
- gemini/package.json: remove unused @ai-sdk/openai, ai, zod deps
- langgraph-python/agent.py: remove debug print(state), move docstring
to first position so chat_node.__doc__ works
- textarea tutorial: fix StackBlitz URLs pointing to use-tasks.tsx
instead of use-emails.tsx
Rewrite all standalone repo URLs to monorepo paths across 18 doc files
and the root README. Tutorial clone instructions now use
GIT_LFS_SKIP_SMUDGE=1 and point to examples/ subdirectories. Fix
pre-existing copy-paste bug in textarea tutorial and stale branch refs.
- Document runTool() params, return value, and usage in useCopilotKit.mdx
- Add tool-from-button example to programmatic-control.mdx
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Shared MDX snippets had hardcoded langgraph URLs in IframeSwitcher
components. Now they accept a framework prop so each integration page
can specify its own feature viewer path.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Use @tool decorator instead of @Tool class
- Use Agent(model=, system_prompt=, tools=) instead of wrong kwargs
(state_schema, initial_state, instructions)
- Use StrandsAgent/StrandsAgentConfig from ag_ui_strands for AG-UI integration
- Use OpenAIModel from strands.models.openai
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Remove context wrapper from createTool execute callbacks
- Add required id to LibSQLStore constructor
- Use :memory: instead of file::memory: for LibSQLStore url
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The agent-spec and built-in-agent CLI starters don't exist.
Replace with the generic `npx copilotkit@latest create` command.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Replace destructured `run` from useAgent with copilotkit.runAgent()
- Replace agent.run() with agent.addMessage() + copilotkit.runAgent()
- Fix agent.id to agent.agentId in v1 useAgent reference
- Fix headless.mdx to use correct useAgent return type
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
CopilotKit component is exported from @copilotkit/react-core (v1),
not from @copilotkit/react-core/v2 which exports CopilotKitProvider.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The v2 useAgent hook uses agentId, not name. Updated all integration
guide code examples to use the correct property name.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>