- 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
Replace eslint and prettier with oxlint and oxfmt for faster linting
and formatting across the monorepo. Remove all eslint and prettier
configs, dependencies, and related packages. Add .oxlintrc.json and
.oxfmtrc.json for the new tooling. Update CI workflows and lefthook
hooks accordingly. Reformat codebase with oxfmt.
https://claude.ai/code/session_01GMkSf29p78HuMR1mbXn8He
## Summary
- Removed SSE transport references — SSE is no longer available for the
CopilotKit MCP server
- Updated all MCP server URLs from `/sse` to `/mcp` across every coding
agent tool (Cursor, Claude Web/Desktop/Code, Windsurf, Cline, GitHub
Copilot, and the generic "Other" section)
- Removed the Tadata callout
- Claude Code command now uses `--transport http` instead of
`--transport sse`
## Test plan
- [ ] Verify https://docs.copilotkit.ai/coding-agents renders correctly
after deploy
- [ ] Confirm `claude mcp add --transport http copilotkit-mcp
https://mcp.copilotkit.ai/mcp` works
- [ ] Spot-check a few tool sections (Cursor, Windsurf, Cline) for
correct URLs
🤖 Generated with [Claude Code](https://claude.com/claude-code)
SSE transport is no longer available. Update all MCP server setup
instructions to use HTTP transport with the /mcp endpoint, and
remove the Tadata callout.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The Link element inside sidebar page items only spanned the width of its
text content, so clicking to the right of the text on a sidebar item did
nothing. Move padding and flex layout into the Link so it fills the
entire li container, matching how integration-link.tsx already works.
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>
This file was merged to main with formatting issues. Fixing here
since the prettier CI check only runs on PRs.
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>