Skip to content

Releases ​

The current stable release is @anvia/core 1.5.0. The source changelog is authoritative; the entries below summarize recent v1 changes and preserve notable v0 compatibility milestones.

VersionSummary
1.5.0Added deterministic recentTurns memory-compaction retention. Omitted retention now keeps one complete user-led turn instead of 25% of afterTokens; deprecated recentTokens remains available as an explicit migration path.
1.4.0Centralized PII redaction in @anvia/core/redaction for Lens and Langfuse, with safer card and phone matching, bounded traversal, circular-reference handling, bearer-token detection, and broader key-prefix defaults.
1.3.2Clarified the default think-tool description to encourage step-by-step planning and reassessment.
1.3.1Updated runtime dependencies and raised schema peer floors to Zod ^4.6.5 and optional @valibot/to-json-schema ^1.8.0.
1.3.0Accepted any Standard Schema as the outputSchema of generateCompletion and streamCompletion: Zod keeps its behavior, Valibot works end to end with the optional @valibot/to-json-schema peer, and other libraries are supported through ~standard.jsonSchema (schemas without conversion support fail before any model call). Transformed schemas are supported with the input representation sent to providers; validation runs synchronously through ~standard.validate, so async schemas are rejected with CompletionStructuredOutputError. Exported StandardSchemaV1, StandardJSONSchemaV1, and isStandardSchema. Agent output schemas, extractors, and tool schemas remain Zod-only.
1.2.2Sanitized tool error messages returned to the model: only the error name and message are forwarded, never stack traces, file paths, or other data carried by custom Error subclasses.
1.2.1Preserved error diagnostics in toReadableStream error lines: well-known fields such as code and details are copied explicitly, and non-JSON-safe thrown values degrade to a { message } payload instead of serializing as {}.
1.2.0Added AgentTeam for coordinator-led collaboration between Agent definitions, with dynamic instances, attributed messaging, retained follow-ups, streaming, steering, and shared limits — plus opt-in sibling communication and recursive spawning. Registered AgentTeam targets in Studio with attributed JSONL team runs (agent_queued events included). Preserved ESM module boundaries for tree shaking and omitted stack traces from toReadableStream error events.
1.1.2Moved zod to peerDependencies (^4.4.0) in packages that expose zod types in their public API, so consumers compile and run against a single shared zod copy instead of installing a second, potentially conflicting dependency.
1.1.1Bumped upstream runtime dependencies to their latest versions and aligned zod to 4.5.4 across all packages and workspaces.
1.0.10Enforced the exact maxTurns boundary in the Agent execution loop; runs now stop after the configured turn limit instead of allowing extra completion attempts.
1.0.9Added typed completion model controls with provider-neutral reasoning effort support, Agent defaults, per-run overrides, Studio selectors and persistence, and normalized observability attributes.
1.0.8Improved evaluation developer experience with structural exact matching, explicit target status, structured invalid errors, per-case timing/usage/cost diagnostics, typed case requirements and CI expectations, progress events, timeouts, abort signals, independent target and metric concurrency, filtering, sharding, fail-fast execution, and rerun case selection.
1.0.7Preserved canonical memory messages during compaction and stored the latest summary as a separate model-context checkpoint; memory loads and inspection remain fully replayable, and compacted model requests receive the summary plus only the unsummarized tail.
1.0.6Removed Core's local PDF text extraction API and its optional pdfjs-dist peer dependency. Applications now select and operate their own parser or OCR service before passing normalized text to Core; provider PDF attachments remain supported.
1.0.3Added shared text-document contracts and consistent raw-text ingestion helpers for vector stores and managed knowledge graphs, including reusable graph/vector chunk embeddings.
1.0.2Reported cancelled Agent runs explicitly so observers can finalize them before an observability provider shuts down.
1.0.1Refreshed supported upstream SDK and runtime dependencies and removed the FastEmbed package.
1.0.0Made pdfjs-dist an optional peer; moved MCP clients and transports to @anvia/mcp; replaced Agent status/final wrappers with explicit outcomes and a stream handle; added token-aware automatic and manual memory compaction; finalized typed interactions, document utilities, and Streamable HTTP security boundaries.
1.0.0-rc.9Prepared the synchronized Anvia 1.0 package train and replaced legacy MCP connection factories with lifecycle-owning clients supporting stdio, streamableHttp, and custom transports.
0.26.0Hardened the legacy remote MCP connection layer against SSRF, including DNS rebinding, redirects, and OAuth metadata requests.
0.25.1Published updated upstream runtime dependencies.
0.25.0Expanded evaluation CLI handling, deterministic and abstention metrics, totals, score direction, usage/cost aggregation, negative controls, and richer typed suite/reporting contracts.
0.24.0Added evaluation run identity and lifecycle reporting for grouped Lens runs, comparisons, and quality gates.
0.23.0Added provider-neutral LLM and deterministic evaluation metrics, trace references, Langfuse experiment scores, and OpenTelemetry evaluation events.
0.22.0Added model-aware context limits and active context usage across responses, streams, sessions, and UI protocol events.
0.21.0Added the shared resumable-stream request cursor used by Server and React.
0.20.0Added sparse embedding contracts and hybrid embedding helpers.
0.19.0Removed deprecated middleware and hook aliases; applications must use the current middleware, hook, and tool-output names.
0.18.0Added opt-in durable memory compaction with atomic conflict detection and aggregate usage accounting.

Upgrade checks ​

  • Read every minor-version entry crossed by the upgrade; pre-1.0 minor releases can contain meaningful contract changes.
  • If upgrading from before 0.19.0, replace removed hook and middleware aliases before updating.
  • Upgrade provider, memory, vector, Server, and React packages together when their changelogs reference the new Core version.
  • Switch on Agent outcome type: response, interaction, or blocked. Use agent.resume(continuation, response) or pass the same continuation and response to agent.stream(...).
  • Replace wrapped Agent final event handling with direct terminal outcome events. Choose one AgentStream surface: full events, textStream, text, or result.
  • Replace message-count compaction thresholds with afterTokens and recentTurns; use deprecated recentTokens only while migrating an existing token-budget policy. Use agent.compactMemory({ session }) for explicit maintenance.
  • Keep file discovery, reads, parsing, and OCR in the application; pass normalized text to chunkText() or chunkTextDocuments().
  • Prefer chunkTextDocuments() for stable batch chunk IDs and ingestVectorText() or ingestVectorDocuments() for the common raw-text vector path.
  • Remove application installs of pdfjs-dist that existed only for Core's former PDF extractor. Keep any parser dependency that the application uses directly.
  • Import McpClient and McpClientGroup from @anvia/mcp, not @anvia/core/mcp.
  • Keep Streamable HTTP ssrfProtection at its default 'strict'; use 'disabled' only for a fixed, application-trusted local or private endpoint.
  • Replace Streamable HTTP requestInit.headers with the explicit headers string record. Do not attempt to override transport-owned protocol fields or combine static Authorization with authProvider.
  • Re-run type checking and tests for tool calls, streams, memory persistence, and custom observers after a Core upgrade.
  • Check whether new provider-neutral fields require adapter updates even when application code does not use them directly.
  • Pass typed completion model controls through AgentOptions.controls or per-run controls; Core rejects control values the selected model does not support.

Read the complete Core changelog and verify the installed version with your package manager before applying migration assumptions.

Built for Anvia.