> ## Documentation Index
> Fetch the complete documentation index at: https://docs.langchain.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Agent Server changelog

<Callout icon="rss" color="#4F46E5" iconType="regular">
  **Subscribe**: Our changelog includes an [RSS feed](https://docs.langchain.com/langsmith/agent-server-changelog/rss.xml) that can integrate with [Slack](https://slack.com/help/articles/218688467-Add-RSS-feeds-to-Slack), [email](https://zapier.com/apps/email/integrations/rss/1441/send-new-rss-feed-entries-via-email), Discord bots like [Readybot](https://readybot.io/) or [RSS Feeds to Discord Bot](https://rss.app/en/bots/rssfeeds-discord-bot), and other subscription tools.
</Callout>

[Agent Server](/langsmith/agent-server) is an API platform for creating and managing agent-based applications. It provides built-in persistence, a task queue, and supports deploying, configuring, and running assistants (agentic workflows) at scale. This changelog documents all notable updates, features, and fixes to Agent Server releases.

<Update label="2026-05-05" tags={["agent-server"]}>
  ## v0.8.7

  * Reverted changes from #3296 temporarily to address issues with the upcoming 0.8.6 release.
</Update>

<Update label="2026-05-04" tags={["agent-server"]}>
  ## v0.8.6

  * Integrated DeltaChannel into the Postgres checkpointer for efficient snapshot and delta processing.
  * Introduced new v2 streaming primitives to the API for enhanced data handling.
  * Enabled dynamic port discovery for in-memory operations.
  * Linked A2A tool result messages with `toolCallId` correlation metadata to maintain alignment with initiating tool calls.
  * Fixed an issue where JS studio experiments didn't update the experiment screen, ensuring correct run routing to the experiment's tracing project with `reference_example_id` set.
</Update>

<Update label="2026-04-30" tags={["agent-server"]}>
  ## v0.8.5

  * Addressed security vulnerabilities in langgraph JavaScript dependencies reported by Datadog and npm.
</Update>

<Update label="2026-04-29" tags={["agent-server"]}>
  ## v0.8.4

  * Included trace/span IDs in access logs to improve trace correlation in Datadog and OTel.
</Update>

<Update label="2026-04-28" tags={["agent-server"]}>
  ## v0.8.3

  * Added support for IAM-based authentication with Google Cloud Memorystore in cluster mode for secure access.
</Update>

<Update label="2026-04-27" tags={["agent-server"]}>
  ## v0.8.2

  * Fixed the `langgraph-api` queue entrypoint to start correctly on IPv6-only clusters by ensuring the health/metrics server appropriately binds with an IPv6 literal.
</Update>

<Update label="2026-04-23" tags={["agent-server"]}>
  ## v0.8.1

  * Improved performance by skipping the large `values` column in thread state and run endpoints when the full thread body isn't required.
  * Capped checkpoint ingestion batch size and delay window to minimize long-running transactions and row lock contention, with new configuration flags for batch size and delay control.
</Update>

<Update label="2026-04-16" tags={["agent-server"]}>
  ## v0.8.0

  * Switched the default queuing system to Redis, ensuring improved ordering and efficiency.
  * Enhanced webhook security by enabling SSRF protection by default, blocking risky IP ranges, and improving validation with DNS pinning and per-hop checks.
  * Updated hono from version 4.12.12 to 4.12.14 to address security and type handling improvements.
</Update>

<Update label="2026-04-15" tags={["agent-server"]}>
  ## v0.7.103

  * Resolved migration version conflict for checkpoint\_delete\_queue, ensuring proper execution and added duplicate version detection for future migrations.
</Update>

<Update label="2026-04-14" tags={["agent-server"]}>
  ## v0.7.102

  * Improved handling of parallel interrupts by merging multiple interrupt chunks and ensuring consistent interrupt return behavior.
  * Updated Vite dependency to patch security vulnerabilities CVE-2026-39363 and CVE-2026-39364.
  * Pinned the Datadog image version to `1.9.9` due to missing `arm64` support in `1.9.10` manifest.
</Update>

<Update label="2026-04-14" tags={["agent-server"]}>
  ## v0.7.101

  * Bumped Go stdlib to 1.25.9 to address high severity vulnerabilities CVE-2026-32280 and CVE-2026-32282.
  * Improved error propagation in DD and OTEL tracers to handle UserInterrupt exceptions without causing generator errors.
</Update>

<Update label="2026-04-10" tags={["agent-server"]}>
  ## v0.7.100

  * Implemented background deletion of checkpoints to improve thread deletion and pruning performance, reducing I/O pressure and enhancing efficiency.
  * Bumped `@hono/node-server` from 1.19.12 to 1.19.13 to fix a security issue with the Serve Static Middleware.
  * Updated hono from version 4.12.9 to 4.12.12, including critical security patches for middleware and utilities.
  * Upgraded the hono library to version 4.12.12, addressing several security vulnerabilities.
  * Implemented strict version locking for build dependencies to ensure consistency across builds.
</Update>

<Update label="2026-04-09" tags={["agent-server"]}>
  ## v0.7.99

  * Updated OpenAPI configuration to prevent 405 errors in `/docs` "try it" requests when using Istio with a path prefix.
  * Replaced `signal.raise_signal(SIGINT)` with `sys.exit` in `queue_with_signal` to improve shutdown reliability and handle stuck threads.
  * Added opt-in TLS configuration for executor clients, preserving backward-compatible cleartext behavior for existing non-loopback deployments.
  * Adjusted the precedence order for Datadog API key configuration to ensure proper key usage.
</Update>

<Update label="2026-04-06" tags={["agent-server"]}>
  ## v0.7.98

  * Fixed an import issue in `langgraph dev` to ensure the dev server works without environment variables and added a regression test.
</Update>

<Update label="2026-04-06" tags={["agent-server"]}>
  ## v0.7.97

  * Improved error propagation for JS graphs, ensuring clearer error messages from the `/assistants/<ID>/schemas` endpoint.
  * Ensured stable startup when environment variables like `LANGGRAPH_SERVER_HOST` are set to an IPv6 address.
  * Enhanced query performance by using `->>` for string value filters in `EqAuthFilter`, enabling the use of B-tree indexes.
</Update>

<Update label="2026-04-03" tags={["agent-server"]}>
  ## v0.7.96

  * Enhanced database performance by disabling nested loops and respecting lower `statement_timeout` settings when specified.
</Update>

<Update label="2026-04-03" tags={["agent-server"]}>
  ## v0.7.95

  * Resolved a `BlockingError` by ensuring `ddtrace` is imported at module load time, preventing async context conflicts during initialization.
  * Propagated `ddtrace` context to worker ensuring `langgraph.graph_load` has a parent span instead of emitting as a root.
  * Added support for `Prefer: return=minimal` on `PATCH /threads/{id}` to improve efficiency by returning a 204 status with no body.
  * Enhanced `run_server` with dynamic port discovery to automatically select an available port when the default port (`2024`) is in use.
</Update>

<Update label="2026-03-31" tags={["agent-server"]}>
  ## v0.7.94

  * Resolved an issue where JavaScript installs would incorrectly succeed after retry timeouts, ensuring proper failure handling.
  * Added a `langgraph.graph_load` ddtrace span around the graph factory load to improve APM visibility.
</Update>

<Update label="2026-03-31" tags={["agent-server"]}>
  ## v0.7.93

  * Enabled `FF_OPTIMIZED_STREAMING` flag support from environment variables in `core-api` mode.
</Update>

<Update label="2026-03-31" tags={["agent-server"]}>
  ## v0.7.92

  * Fixed an issue where `keep_latest` threads could accumulate checkpoints indefinitely by recreating the `thread_ttl` entry upon run completion.
  * Improved import performance by caching `importlib.metadata.packages_distributions()`, significantly reducing startup time when using `ddtrace` with Google API packages.
</Update>

<Update label="2026-03-29" tags={["agent-server"]}>
  ## v0.7.91

  * Upgraded cryptography dependency from 46.0.5 to 46.0.6 to address a security issue related to name constraints in peer name verification.
  * Introduced an optimized streaming implementation using Redis Streams with a new protocol version (v2) for better performance and resumability, featuring payload compression and support for Redis Cluster read replicas.
</Update>

<Update label="2026-03-27" tags={["agent-server"]}>
  ## v0.7.90

  * Improved error handling in the DR flow and set a 30-second default timeout for tests to ensure timely CI failure tracking.
  * Upgraded picomatch from 4.0.3 to 4.0.4 to address critical security vulnerabilities.
</Update>

<Update label="2026-03-25" tags={["agent-server"]}>
  ## v0.7.89

  * Enhanced queue server metrics and established a requirement for the OpenTelemetry SDK.
  * Added a missing tag for the `COUNTER_RUN_FAILED_AFTER_RETRY` metric to improve monitoring accuracy.
</Update>

<Update label="2026-03-24" tags={["agent-server"]}>
  ## v0.7.87

  * Implemented retries for run failures due to Redis-related streaming errors, with warning logs for visibility.
</Update>

<Update label="2026-03-23" tags={["agent-server"]}>
  ## v0.7.86

  * Set default `DD_TRACE_ENABLED=false` in all images to reduce Orchestrion log noise for non-Datadog deployments.
</Update>

<Update label="2026-03-23" tags={["agent-server"]}>
  ## v0.7.84

  * Downgraded noisy warning-level logs to info level to reduce log clutter, focusing on informational status messages like license lite mode and tracing disabled.
  * Enhanced Go `core-api-grpc` with Orchestrion DD APM tracing for automatic instrumentation and improved trace context propagation.
</Update>

<Update label="2026-03-19" tags={["agent-server"]}>
  ## v0.7.82

  * Ensured A2A protocol compliance by preserving `kind` discriminators and using lowercase states/roles in responses for all client method name formats.
</Update>

<Update label="2026-03-18" tags={["agent-server"]}>
  ## v0.7.79

  * Introduced beta release of the `swr` function for improved data fetching capabilities.
  * Upgraded the Go runtime to version 1.25.8 across all Dockerfiles and `go.mod` to address multiple CVEs.
</Update>

<Update label="2026-03-17" tags={["agent-server"]}>
  ## v0.7.77

  * Introduced `HTTP_MAX_REQUEST_BODY_BYTES` config to limit HTTP request body size to 300MB, returning a 413 error for oversized requests to prevent memory exhaustion.
  * Added support for accessing store and checkpointer via config in JS graph factories to facilitate deep agent initialization.
  * Updated `pyasn1` dependency from version 0.6.2 to 0.6.3 to enhance security and fix parsing issues.
  * Added instrumentation to log time to first byte (TTFB) and response size for streaming endpoints, improving access log details.
</Update>

<Update label="2026-03-17" tags={["agent-server"]}>
  ## v0.7.76

  * Relaxed `starlette-sse` version bounds to improve dependency compatibility.
</Update>

<Update label="2026-03-17" tags={["agent-server"]}>
  ## v0.7.75

  * Correctly closed streams in `Runs.Enter` to prevent buffer issues and added a configurable environment variable for window size.
</Update>

<Update label="2026-03-16" tags={["agent-server"]}>
  ## v0.7.74

  * Cleaned up some false error logs during queue shutdown operations.
</Update>

<Update label="2026-03-16" tags={["agent-server"]}>
  ## v0.7.73

  * Improved thread search performance with `extract` by avoiding unnecessary detoasting of large JSONB values.
</Update>

<Update label="2026-03-13" tags={["agent-server"]}>
  ## v0.7.72

  * Updated undici package from version 7.22.0 to 7.24.0 to address multiple security vulnerabilities.
</Update>

<Update label="2026-03-13" tags={["agent-server"]}>
  ## v0.7.71

  * Cleaned up the API by removing unused parameters from Threads State Checkpoint and Runs create methods.
  * Fixed the `POST /threads/prune` with `strategy=delete` to ensure thread records are fully removed, not just checkpoint data.
  * Added A2A 1.0 `kind` discriminators to response objects, removed `{"task": ...}` wrapper, and fixed Anthropic streaming metadata issues.
  * Added support for custom encryption in the Redis queue to enhance data security.
</Update>

<Update label="2026-03-11" tags={["agent-server"]}>
  ## v0.7.69

  * Added optional `timezone` field to crons, allowing `next_run_date` computation in user's specified timezone, defaulting to UTC.
  * Corrected the handling of 401 status codes in authentication exceptions to prevent incorrect defaulting to 403.
</Update>

<Update label="2026-03-10" tags={["agent-server"]}>
  ## v0.7.68

  * Fixed issues with non-DR checkpoint AES JSON to improve functionality and extend test coverage.
  * Fixed A2A streaming to correctly emit interrupt artifacts as separate `artifact-update` events according to the specification.
  * Ensured secure tarfile extraction by only extracting validated and safe members to prevent arbitrary file write vulnerabilities.
  * Enhanced security by requiring an exact match for the `noauth` path in authentication middleware.
  * Fixed stale checkpoint values being written to thread state during rollback in multitasking strategy.
</Update>

<Update label="2026-03-06" tags={["agent-server"]}>
  ## v0.7.66

  * Added a fallback to `LS_CHECKPOINTER_BACKEND` for default checkpointer configuration when `LANGGRAPH_CHECKPOINTER` is unset.
</Update>

<Update label="2026-03-05" tags={["agent-server"]}>
  ## v0.7.65

  * Fixed a bug in `messages-tuple` streaming mode where `tool_call_chunks` contained `args_json` instead of `args`, preventing message reconstruction and causing errors.
</Update>

<Update label="2026-03-05" tags={["agent-server"]}>
  ## v0.7.64

  * Enabled the MongoDB checkpointer URI to be set via `LS_MONGODB_URI` or `MONGODB_URI` environment variables, with precedence rules.
</Update>

<Update label="2026-03-04" tags={["agent-server"]}>
  ## v0.7.63

  * Fixed a bug that could potentially deadlock queue instances by exhausting workers with invalid runs.
</Update>

<Update label="2026-03-02" tags={["agent-server"]}>
  ## v0.7.61

  * Fixed a race condition to ensure graceful shutdown of the health and metric server.
</Update>

<Update label="2026-02-27" tags={["agent-server"]}>
  ## v0.7.59

  * Updated the Redis queue to use zset with threads, reducing CPU usage by 25% and improving performance by eliminating unnecessary locking and optimizing indexes.
</Update>

<Update label="2026-02-26" tags={["agent-server"]}>
  ## v0.7.58

  * Upgraded `langgraph-checkpoint` to 4.0.0 in `storage_postgres/uv.lock` to address CVE-2026-27794, with adjustments for dependency pinning issues.
</Update>

<Update label="2026-02-26" tags={["agent-server"]}>
  ## v0.7.57

  * Fixed a regression preventing all users from creating crons associated with system graphs.
</Update>

<Update label="2026-02-25" tags={["agent-server"]}>
  ## v0.7.56

  * Added support for `ttl`, `index`, and `refresh_ttl` parameters in store HTTP API endpoints to align with the SDK and in-process store interface.
  * Added support for the `?include=ttl` query parameter in the `GET /threads/{thread_id}` endpoint to return TTL information.
  * Updated metrics reporting to accurately account for PostgreSQL and Redis connections, ensuring consistent statistics between GRPC and Python metrics.
</Update>

<Update label="2026-02-25" tags={["agent-server"]}>
  ## v0.7.55

  * Fixed a bug that caused duplicate run scheduling in the new cron scheduler backend.
  * Refactored the `GET /docs` endpoint to read from a static OpenAPI spec for improved compatibility with custom ingress configurations.
</Update>

<Update label="2026-02-24" tags={["agent-server"]}>
  ## v0.7.54

  * Resolved an issue where the custom encryption context for gRPC services was not loading correctly due to hardcoded values.
</Update>

<Update label="2026-02-24" tags={["agent-server"]}>
  ## v0.7.52

  * Added feedback URLs to the `/wait` and `/join` endpoint responses under a `__feedback__` key when `feedback_keys` are supplied.
  * Added feedback\_keys support to the distributed runtime, including presigned feedback token generation using langsmith-go SDK.
  * Upgraded Werkzeug from version 3.1.5 to 3.1.6 to address a Windows security issue with special device names in multi-segment paths.
  * Upgraded Go runtime to 1.25.7 to address critical and high severity CVEs identified in vulnerability scans.
</Update>

<Update label="2026-02-22" tags={["agent-server"]}>
  ## v0.7.51

  * Improved license check resilience during upstream outages, including a cached fallback, a 24-hour grace period, and automatic cleanup of Redis entries.
  * Ensured assistant descriptions and names are synced on startup when `LANGSERVE_GRAPHS` config changes.
  * Enhanced the Checkpointer API by introducing a two-level protocol hierarchy and fixing capability detection to support extended methods directly.
</Update>

<Update label="2026-02-20" tags={["agent-server"]}>
  ## v0.7.49

  * Reserved metadata keys in request payloads are now silently stripped rather than causing a 422 error, enhancing user experience.
  * Fixed an issue where store default TTL was not applied to items written without an explicit TTL parameter.
</Update>

<Update label="2026-02-19" tags={["agent-server"]}>
  ## v0.7.46

  * Structured error payloads in webhooks now include `error` and `message` fields, replacing the previous flat string format, which may affect systems parsing the `error` field.
  * Expanded store auth tests with namespace-rewriting to enhance namespace handling and cross-user isolation.
</Update>

<Update label="2026-02-19" tags={["agent-server"]}>
  ## v0.7.45

  * Replaced null bytes with U+FFFD in all handling paths to prevent key collisions.
</Update>

<Update label="2026-02-19" tags={["agent-server"]}>
  ## v0.7.44

  * Increase flexibility of database URI parser
  * Add additional validation on some payloads
</Update>

<Update label="2026-02-18" tags={["agent-server"]}>
  ## v0.7.40

  * Fixed a regression in assistant creation by ensuring `metadata` and `config` are populated as empty objects `{}` instead of `null` when not provided.
</Update>

<Update label="2026-02-17" tags={["agent-server"]}>
  ## v0.7.39

  * Ensured auth configuration is passed correctly in distributed runtime operations to improve executor functionality.
  * Added support for Red Hat UBI-9 based Docker images for enterprise customers using RHEL-based containers.
  * Added graceful shutdown handoff for distributed runtime, allowing in-flight runs to transfer to the next pod without using a retry attempt.
</Update>

<Update label="2026-02-17" tags={["agent-server"]}>
  ## v0.7.38

  * Added `state_updated_at` field to threads for tracking meaningful state changes, allowing filtering and sorting based on these changes.
  * Added support for scheduling crons within the core system.
  * Ensured accurate display of the `https` protocol in agent cards using the x-forwarded-proto header for proper A2A client functionality.
</Update>

<Update label="2026-02-15" tags={["agent-server"]}>
  ## v0.7.37

  * Added generic fallbacks for `acopy_thread`, `aprune`, and `adelete_for_runs` in the BYOC checkpointer adapter, simplifying implementation for custom checkpointers.
</Update>

<Update label="2026-02-13" tags={["agent-server"]}>
  ## v0.7.36

  * Updated A2A protocol support to v1.0 RC, renamed JSON-RPC methods, added a ListTasks handler, and enhanced role, state, and part formats for improved integration and compliance.
  * Improved authentication filtering for `Crons.search()` and `Crons.count()` to prevent unauthorized thread information access.
  * Fixed gaps in BYOC checkpointer for copy, rollback, and namespace filtering operations, ensuring proper handling across different storage backends.
</Update>

<Update label="2026-02-13" tags={["agent-server"]}>
  ## v0.7.35

  * Added an optional `context` parameter to MCP `tools/call` and A2A `message/send` and `message/stream` endpoints, enabling middleware to inject runtime context from headers.
</Update>

<Update label="2026-02-13" tags={["agent-server"]}>
  ## v0.7.33

  * Enhanced the Redis fixture by removing custom checkpointer test skips, improving typed serialization, and adding missing Redis methods.
  * Resolved a stored XSS vulnerability in the handle\_ui endpoint by sanitizing message names in single-quoted HTML onload attributes.
  * Fixed an authorization bypass issue in `put_item` to ensure correct namespace rewrite by the auth handler.
  * Enforced assistant ownership checks during run creation, preventing execution on unowned assistants while ensuring system assistants remain accessible to all authenticated users.
  * Implemented AES encryption for checkpoint blobs and writes in the Go checkpointer when using LANGGRAPH\_AES\_KEY.
  * Implemented initial checkpointer gRPC servicer with all necessary methods and conversion helpers.
</Update>

<Update label="2026-02-11" tags={["agent-server"]}>
  ## v0.7.32

  * Sanitized error messages in streams and A2A responses to protect sensitive information like database connection strings and internal hostnames.
  * Fixed a bug in `join_run_stream` to correctly handle multiple `stream_mode` parameters, ensuring proper parsing of stringified JSON lists.
  * Added build, test, and publish processes for Node.js 24 images, supporting the latest LTS version.
  * Enhanced custom checkpointer adapter with new capabilities and improved metadata enrichment for consistent API responses.
  * Added stricter version constraints for langgraph libraries in executor Docker images to prevent unintended upgrades.
  * Enhanced security by sanitizing SSE event and id fields to prevent CR/LF injection.
  * Fixed an issue causing cron-created runs to use default encryption contexts instead of properly propagating the specified ones.
</Update>

<Update label="2026-02-11" tags={["agent-server"]}>
  ## v0.7.31

  * Corrected metadata reading functionality to ensure accurate data processing.
</Update>

<Update label="2026-02-10" tags={["agent-server"]}>
  ## v0.7.30

  * Propagated cron metadata for more comprehensive scheduling information.
  * Merges cron metadata on `PATCH` requests to align with other endpoints by preserving existing data.
</Update>

<Update label="2026-02-10" tags={["agent-server"]}>
  ## v0.7.29

  * Refined authentication semantics for cron creation to prevent privilege escalation and ensure independent filtering for crons, threads, and assistants.
  * Validated tar file entries to prevent directory traversal vulnerabilities in the cloudflared download process.
  * Added an IDs filter to the `SearchThreadsRequest` to streamline thread endpoint operations.
  * Updated the fallback mechanism to use a Python Postgres connection for thread state, fixing issues with worker completion checkpoints.
  * Introduced a feature-flagged initial version of the Redis queue implementation with ongoing updates.
</Update>

<Update label="2026-02-07" tags={["agent-server"]}>
  ## v0.7.28

  * Internal maintenance and stability improvements for MCP and gRPC.
</Update>

<Update label="2026-02-07" tags={["agent-server"]}>
  ## v0.7.27

  * Improved MCP tool input schemas by removing common message types for cleaner tool definitions.
  * Added name sanitization for MCP tools to ensure valid tool names.
</Update>

<Update label="2026-02-07" tags={["agent-server"]}>
  ## v0.7.26

  * Added validation for system keys on ingress.
</Update>

<Update label="2026-02-06" tags={["agent-server"]}>
  ## v0.7.25

  * Switched the Python queue worker to use core go `Runs.next()`.
  * Fixed a monitoring issue in the long query monitor
</Update>

<Update label="2026-02-06" tags={["agent-server"]}>
  ## v0.7.24

  * Optimized Postgres connection handling to prevent hitting connection limits under high load and removed unnecessary error logs.
  * Switched to a new backend for runs management and streaming using gRPC.
</Update>

<Update label="2026-02-05" tags={["agent-server"]}>
  ## v0.7.23

  * Corrected the unmarshaling process for the `input` field in `RunCommand` to ensure accurate data mapping and enable a previously gated JS test.
  * Ensured race condition handling for run streaming by fully subscribing before execution starts, with added support for the `FF_LOG_DROPPED_EVENTS` environment variable.
</Update>

<Update label="2026-02-04" tags={["agent-server"]}>
  ## v0.7.22

  * Ensured `get_store()` works in custom routes, enabling Store access from user-defined Starlette endpoints.
</Update>

<Update label="2026-02-05" tags={["agent-server"]}>
  ## v0.7.21

  * Support for PATCH /crons/{cron_id}
</Update>

<Update label="2026-02-04" tags={["agent-server"]}>
  ## v0.7.19

  * Custom encryption improvements for core API.
</Update>

<Update label="2026-02-04" tags={["agent-server"]}>
  ## v0.7.18

  * Update thread streaming for core API usage.
</Update>

<Update label="2026-02-03" tags={["agent-server"]}>
  ## v0.7.17

  * Instrumentation for OTEL now requires explicit opt-in with `LS_APM_OTEL_ENABLED=true` for improved control.
</Update>

<Update label="2026-02-03" tags={["agent-server"]}>
  ## v0.7.16

  * Switched threads streaming to the new gRPC backend for improved performance.
  * Introduced replica tracing in DR for enhanced evaluation capabilities in Studio.
</Update>

<Update label="2026-02-03" tags={["agent-server"]}>
  ## v0.7.15

  * Added support for pausing crons with a new `is_enabled` field, allowing only enabled crons to be executed.
  * Introduced gRPC server support for JSON encryption and decryption operations.
</Update>

<Update label="2026-02-02" tags={["agent-server"]}>
  ## v0.7.14

  * Ensured selected system fields are excluded from custom encryption to prevent unnecessary encryption of non-sensitive data.
  * Introduced a custom checkpointer adapter with unit tests to validate implementation checks.
</Update>

<Update label="2026-01-29" tags={["agent-server"]}>
  ## v0.7.13

  * Fixed a bug where the app state was not properly preserved through requests when a mount prefix was set.
</Update>

<Update label="2026-01-28" tags={["agent-server"]}>
  ## v0.7.11

  * Added configuration to control which payload fields can be exposed to webhooks.
  * Updated all dependencies in the `/api/langgraph_api/js` group, including `@langchain/core`, `hono`, `@types/react`, and `prettier`, to the latest versions for improved performance and security.
  * Upgraded `hono` from version 4.11.4 to 4.11.7 to address multiple security vulnerabilities in the middleware.
</Update>

<Update label="2026-01-27" tags={["agent-server"]} rss={{ title: "2026-01-27 - agent-server" }}>
  ## v0.7.10

  * Increased the gRPC server startup timeout to 1 minute to prevent occasional connection timeouts with the core server.
  * Updated @langchain/langgraph from version 1.1.0 to 1.1.2, introducing mixed schema support for StateGraph and type bag patterns for GraphNode and ConditionalEdgeRouter utilities.
</Update>

<Update label="2026-01-23" tags={["agent-server"]} rss={{ title: "2026-01-23 - agent-server" }}>
  ## v0.7.9

  * A2A `messageId` is now mapped to LangChain message IDs for proper message tracking across protocols.
</Update>

<Update label="2026-01-22" tags={["agent-server"]} rss={{ title: "2026-01-22 - agent-server" }}>
  ## v0.7.7

  * Ensured preservation of custom configurable fields in checkpoint metadata during gRPC serialization.
</Update>

<Update label="2026-01-21" tags={["agent-server"]} rss={{ title: "2026-01-21 - agent-server" }}>
  ## v0.7.5

  * Enforced custom encryption for values, interrupts, and errors when setting a thread's status, resolving previous inconsistencies.
  * Added A2A validation checks in `message/stream` and `message/send` routes for `parts`, `role`, and `messageId` fields.
  * Added native A2A interrupt support: `input-required` state is now returned when graphs are interrupted. Use the new `command` parameter in `message/stream` and `message/send` requests to resume with a `Command` payload.
  * Mounted `.well-known/agent-card.json` under `/a2a/{assistant_id}/` for A2A agent discovery.
  * Added proper A2A error codes for task existence checks in `tasks/cancel`.
</Update>

<Update label="2026-01-21" tags={["agent-server"]} rss={{ title: "2026-01-21 - agent-server" }}>
  ## v0.7.4

  * Fixed a bug with Redis URL parsing for `ssl_cert_reqs` field, ensuring compatibility with redis-go.
  * Added a gRPC client for streaming runs, controlled by the `FF_USE_CORE_API` feature flag.
</Update>

<Update label="2026-01-20" tags={["agent-server"]} rss={{ title: "2026-01-20 - agent-server" }}>
  ## v0.7.2

  * Updated `@langchain/langgraph` to version 1.1.0, introducing type utilities for graph nodes and conditional edges for enhanced TypeScript ergonomics.
</Update>

<Update label="2026-01-17" tags={["agent-server"]} rss={{ title: "2026-01-17 - agent-server" }}>
  ## v0.7.0

  * Switched to using the Go assistants implementation by default for improved performance.
  * Added `LANGGRAPH_AES_JSON_KEYS` configuration to enable AES encryption for specified JSON fields using a key name allowlist.
</Update>

<Update label="2026-01-16" tags={["agent-server"]} rss={{ title: "2026-01-16 - agent-server" }}>
  ## v0.6.39

  * Added gRPC client support for `Threads.State()` to the Python `core-api`, improving thread ID and run counting operations.
</Update>

<Update label="2026-01-15" tags={["agent-server"]} rss={{ title: "2026-01-15 - agent-server" }}>
  ## v0.6.36

  * Validated the length of `$and` and `$or` in auth filters and optimized unnecessary root-level filters.
</Update>

<Update label="2026-01-12" tags={["agent-server"]} rss={{ title: "2026-01-12 - agent-server" }}>
  ## v0.6.35

  * Unified the error format by removing the `code` field and standardizing all errors to return JSON with a `detail` field.
</Update>

<Update label="2026-01-12" tags={["agent-server"]} rss={{ title: "2026-01-12 - agent-server" }}>
  ## v0.6.34

  * Small fixes for feature-flagged internal environments (unreleased).
</Update>

<Update label="2026-01-12" tags={["agent-server"]} rss={{ title: "2026-01-12 - agent-server" }}>
  ## v0.6.33

  * Small fixes for feature-flagged internal environments (unreleased).
</Update>

<Update label="2026-01-11" tags={["agent-server"]} rss={{ title: "2026-01-11 - agent-server" }}>
  ## v0.6.32

  * Small fixes for feature-flagged internal environments (unreleased).
</Update>

<Update label="2026-01-11" tags={["agent-server"]} rss={{ title: "2026-01-11 - agent-server" }}>
  ## v0.6.31

  * Properly respected the disable\_a2a setting to ensure accurate configuration handling.
</Update>

<Update label="2026-01-09" tags={["agent-server"]} rss={{ title: "2026-01-09 - agent-server" }}>
  ## v0.6.29

  * Fix minor bugs.
</Update>

<Update label="2026-01-09" tags={["agent-server"]} rss={{ title: "2026-01-09 - agent-server" }}>
  ## v0.6.28

  * Added support for `ParentCommand` to correctly propagate control to parent graphs, enhancing command handling and navigation.
  * Added a Python gRPC client for managing run operations, enhancing consistency between Go and Python implementations.
</Update>

<Update label="2026-01-08" tags={["agent-server"]} rss={{ title: "2026-01-08 - agent-server" }}>
  ## v0.6.27

  * Fixed a regression issue in handling empty thread metadata.
</Update>

<Update label="2026-01-08" tags={["agent-server"]} rss={{ title: "2026-01-08 - agent-server" }}>
  ## v0.6.26

  * Fixed the port configuration issue for the persistence gRPC server.
</Update>

<Update label="2026-01-08" tags={["agent-server"]} rss={{ title: "2026-01-08 - agent-server" }}>
  ## v0.6.25

  * Ran the core-api gRPC server in the executor tier to support loopback API calls in graphs and removed unnecessary configuration for disabling the server.
</Update>

<Update label="2026-01-07" tags={["agent-server"]} rss={{ title: "2026-01-07 - agent-server" }}>
  ## v0.6.24

  * Fixed the behavior of the liveness probe in the executor tier, addressing issues from version 0.6.23.
</Update>

<Update label="2026-01-07" tags={["agent-server"]} rss={{ title: "2026-01-07 - agent-server" }}>
  ## v0.6.23

  * Integrated gRPC server health check with `/ok` endpoint in liveness probe to ensure proper startup coordination.
  * Reverted the previous change to disable the checkpointer and added a condition to enable RemoteCheckpointer only during testing.
  * Suppressed `langgraph_auth_*` and `langgraph_request_id` fields in checkpoint metadata to prevent inclusion of transient user data.
</Update>

<Update label="2026-01-06" tags={["agent-server"]} rss={{ title: "2026-01-06 - agent-server" }}>
  ## v0.6.22

  * Resolved an error caused by missing encryption contexts when using blob-only custom encryption, ensuring proper function without errors.
</Update>

<Update label="2026-01-06" tags={["agent-server"]} rss={{ title: "2026-01-06 - agent-server" }}>
  ## v0.6.21

  * Introduced a Python gRPC client for run operations, including `Search`, `Get`, `Delete`, `Cancel`, `Stats`, and `Sweep`, with updated API implementation and a new unit test suite for enum mappings.
</Update>

<Update label="2026-01-06" tags={["agent-server"]} rss={{ title: "2026-01-06 - agent-server" }}>
  ## v0.6.19

  * Reproduced OSS implementations of `get_state` and `update_state` in the engine server and re-enabled `test_weather_subgraph`.
</Update>

<Update label="2026-01-05" tags={["agent-server"]} rss={{ title: "2026-01-05 - agent-server" }}>
  ## v0.6.18

  * Added functionality to enforce specific license claims for self-hosted Enterprise users, enabling remote disabling of the Agent Builder product.
  * Added a new Prune endpoint for better resource management.
  * Merged graph configuration with invoke configuration in Pregel, giving precedence to invoke settings.
  * Introduced the `include=ttl` query parameter to the GET /threads/{id} endpoint for optional TTL information retrieval without affecting standard read performance.
  * Introduced a `keep_latest` TTL strategy to preserve the latest state while pruning older checkpoints via the core API.
</Update>

<Update label="2025-12-31" tags={["agent-server"]} rss={{ title: "2025-12-31 - agent-server" }}>
  ## v0.6.17

  * Ensured ongoing runs are stopped when an agent is deleted to prevent lingering processes.
</Update>

<Update label="2025-12-30" tags={["agent-server"]} rss={{ title: "2025-12-30 - agent-server" }}>
  ## v0.6.16

  * Streamlined and consolidated run operations in the Go persistence layer, improving efficiency and consistency across packages.
</Update>

<Update label="2025-12-26" tags={["agent-server"]} rss={{ title: "2025-12-26 - agent-server" }}>
  ## v0.6.15

  * Improved the utility converting custom route docstrings to OpenAPI schema content by adding error handling when parsing docstrings, applicable for users with custom Starlette apps.
</Update>

<Update label="2025-12-23" tags={["agent-server"]} rss={{ title: "2025-12-23 - agent-server" }}>
  ## v0.6.12

  * Improved resolve\_embeddings to be more robust, enabling multiple calls without errors.
  * Updated `@langchain/langgraph` from version 1.0.4 to 1.0.7, adding support for resumableStreams on remote graphs and undeprecating toolsCondition.
  * Implemented `RemoteCheckpointer` to enable subgraph checkpointing, enhancing task execution reliability.
</Update>

<Update label="2025-12-20" tags={["agent-server"]} rss={{ title: "2025-12-20 - agent-server" }}>
  ## v0.6.11

  * Made the maximum number of retries configurable for enhanced customization.
</Update>

<Update label="2025-12-20" tags={["agent-server"]} rss={{ title: "2025-12-20 - agent-server" }}>
  ## v0.6.10

  * Ensured run cancellation only processes 'message' type Redis events, improving pubsub client reliability.
  * Added custom encryption for the Store API `value` field, allowing users to choose which keys to encrypt for enhanced security.
  * Enabled streaming for subgraph custom events by updating TeeStream to handle event types separately.
</Update>

<Update label="2025-12-18" tags={["agent-server"]} rss={{ title: "2025-12-18 - agent-server" }}>
  ## v0.6.9

  * Enforced stable JSON keys for custom encryption, removed model-type-specific custom JSON functions, and improved error handling for double-encryption scenarios.
</Update>

<Update label="2025-12-18" tags={["agent-server"]} rss={{ title: "2025-12-18 - agent-server" }}>
  ## v0.6.8

  * Added profiling feature to enhance performance analysis and monitoring.
</Update>

<Update label="2025-12-18" tags={["agent-server"]} rss={{ title: "2025-12-18 - agent-server" }}>
  ## v0.6.7

  * Logged server startup time for improved monitoring and diagnostics.
</Update>

<Update label="2025-12-17" tags={["agent-server"]} rss={{ title: "2025-12-17 - agent-server" }}>
  ## v0.6.5

  * Added a warning log that triggers during import time for improved visibility.
</Update>

<Update label="2025-12-16" tags={["agent-server"]} rss={{ title: "2025-12-16 - agent-server" }}>
  ## v0.6.4

  * Enhanced custom encryption by parallelizing metadata and config processes, added encryption for thread.config and some checkpoints, improved tests and schema consistency.
  * Ensured the Go server starts as `core-api` in the queue entrypoint for consistent runtime behavior.
</Update>

<Update label="2025-12-15" tags={["agent-server"]} rss={{ title: "2025-12-15 - agent-server" }}>
  ## v0.6.2

  * Resolved an issue that caused duplicate calls to middleware when `mount_prefix` was specified.
</Update>

<Update label="2025-12-15" tags={["agent-server"]} rss={{ title: "2025-12-15 - agent-server" }}>
  ## v0.6.0

  This minor version updates the streaming APIs `/join-stream` and `/stream` behavior with respect to the `last-event-id` parameter to align with the SSE spec. Previously, passing a last-event-id would return that message in addition to any following messages. Going forward, these APIs will only return new messages following the provided last-event-id. For example, with the following stream, previously passing a last-event-id of `2` would return the messages with ids `2` and `3`, but will now only return the message with id `3`:

  ```json theme={"theme":{"light":"catppuccin-latte","dark":"catppuccin-mocha"}}
  {
      "id": 1,
      "event": "message",
      "data": {
          "content": "Excluded"
      }
  },
  {
      "id": 2,
      "event": "message",
      "data": {
          "content": "Passed last-event-id"
      }
  },
  {
      "id": 3,
      "event": "message",
      "data": {
          "content": "Included"
      }
  }
  ```

  This bump also includes some fixes, including a bug exposing unintended internal events in run streams.
</Update>

<Update label="2025-12-12" tags={["agent-server"]} rss={{ title: "2025-12-12 - agent-server" }}>
  ## v0.5.42

  * Modified the Go server to rely solely on the CLI `-service` flag for determining service mode, ignoring the globally set `FF_USE_CORE_API` for better deployment specificity.
</Update>

<Update label="2025-12-11" tags={["agent-server"]} rss={{ title: "2025-12-11 - agent-server" }}>
  ## v0.5.41

  Fixed an issue with cron jobs in hybrid mode by ensuring proper initialization of the ENTERPRISE\_SAAS global flag.
</Update>

<Update label="2025-12-10" tags={["agent-server"]} rss={{ title: "2025-12-10 - agent-server" }}>
  ## v0.5.39

  * Completed the implementation of custom encryptions for runs and crons, along with simplifying encryption processes.
  * Introduced support for streaming subgraph events in both `values` and `updates` stream modes.
</Update>

<Update label="2025-12-10" tags={["agent-server"]} rss={{ title: "2025-12-10 - agent-server" }}>
  ## v0.5.38

  * Implemented complete custom encryption for threads, ensuring all thread data is properly secured and encrypted.
  * Ensured Redis attempt flags are consistently expired to prevent stale data.
  * Added core authentication and support for OR/AND filters, enhancing security and flexibility.
</Update>

<Update label="2025-12-09" tags={["agent-server"]} rss={{ title: "2025-12-09 - agent-server" }}>
  ## v0.5.37

  Added a `name` parameter to the assistants count API for improved search flexibility.
</Update>

<Update label="2025-12-09" tags={["agent-server"]} rss={{ title: "2025-12-09 - agent-server" }}>
  ## v0.5.36

  * Introduced configurable webhook support, allowing users to customize submitted webhooks and headers.
  * Added an `/ok` endpoint at the root for easier health checks and simplified configuration.
</Update>

<Update label="2025-12-08" tags={["agent-server"]} rss={{ title: "2025-12-08 - agent-server" }}>
  ## v0.5.34

  Introduced custom encryption middleware, allowing users to define their own encryption methods for enhanced data protection.
</Update>

<Update label="2025-12-08" tags={["agent-server"]} rss={{ title: "2025-12-08 - agent-server" }}>
  ## v0.5.33

  Set Uvicorn's keep-alive timeout to 75 seconds to prevent occasional 502 errors and improve connection handling.
</Update>

<Update label="2025-12-06" tags={["agent-server"]} rss={{ title: "2025-12-06 - agent-server" }}>
  ## v0.5.32

  Introduced OpenTelemetry telemetry agent with support for New Relic integration.
</Update>

<Update label="2025-12-05" tags={["agent-server"]} rss={{ title: "2025-12-05 - agent-server" }}>
  ## v0.5.31

  Added Py-Spy profiling for improved analysis of deployment performance, with some limitations on coverage.
</Update>

<Update label="2025-12-05" tags={["agent-server"]} rss={{ title: "2025-12-05 - agent-server" }}>
  ## v0.5.30

  * Always configure loopback transport clients to enhance reliability.
  * Ensured authentication headers are passed for remote non-stream methods in JS.
</Update>

<Update label="2025-12-04" tags={["agent-server"]} rss={{ title: "2025-12-04 - agent-server" }}>
  ## v0.5.28

  * Introduced a faster, Rust-based implementation of uuid7 to improve performance, now used in langsmith and langchain-core.
  * Added support for `$or` and `$and` in PostgreSQL auth filters to enable complex logic in authentication checks.
  * Capped psycopg and psycopg-pool versions to prevent infinite waiting on startup.
</Update>

<Update label="2025-11-26" tags={["agent-server"]} rss={{ title: "2025-11-26 - agent-server" }}>
  ## v0.5.27

  * Ensured `runs.list` with filters returns only run fields, preventing incorrect status data from being included.
  * (JS) Updated `uuid` from version 10.0.0 to 13.0.0. and `exit-hook` from version 4.0.0 to 5.0.1.
</Update>

<Update label="2025-11-24" tags={["agent-server"]} rss={{ title: "2025-11-24 - agent-server" }}>
  ## v0.5.26

  Resolved issues with `store.put` when used without AsyncBatchedStore in the JavaScript environment.
</Update>

<Update label="2025-11-22" tags={["agent-server"]} rss={{ title: "2025-11-22 - agent-server" }}>
  ## v0.5.25

  * Introduced the ability to search assistants by their `name` using a new endpoint.
  * Casted store\_get return types to tuple in JavaScript to ensure type consistency.
</Update>

<Update label="2025-11-21" tags={["agent-server"]} rss={{ title: "2025-11-21 - agent-server" }}>
  ## v0.5.24

  * Added executor metrics for Datadog and enhanced core stream API metrics for better performance tracking.
  * Disabled Redis Go maintenance notifications to prevent startup errors with unsupported commands in Redis versions below 8.
</Update>

<Update label="2025-11-20" tags={["agent-server"]} rss={{ title: "2025-11-20 - agent-server" }}>
  ## v0.5.20

  Resolved an error in the executor service that occurred when handling large messages.
</Update>

<Update label="2025-11-19" tags={["agent-server"]} rss={{ title: "2025-11-19 - agent-server" }}>
  ## v0.5.19

  Upgraded built-in langchain-core to version 1.0.7 to address a prompt formatting vulnerability.
</Update>

<Update label="2025-11-19" tags={["agent-server"]} rss={{ title: "2025-11-19 - agent-server" }}>
  ## v0.5.18

  Introduced persistent cron threads with `on_run_completed: {keep,delete}` for enhanced cron management and retrieval options.
</Update>

<Update label="2025-11-19" tags={["agent-server"]} rss={{ title: "2025-11-19 - agent-server" }}>
  ## v0.5.17

  Enhanced task handling to support multiple interrupts, aligning with open-source functionality.
</Update>

<Update label="2025-11-18" tags={["agent-server"]} rss={{ title: "2025-11-18 - agent-server" }}>
  ## v0.5.15

  Added custom JSON unmarshalling for `Resume` and `Goto` commands to fix map-style null resume interpretation issues.
</Update>

<Update label="2025-11-14" tags={["agent-server"]} rss={{ title: "2025-11-14 - agent-server" }}>
  ## v0.5.14

  Ensured `pg make start` command functions correctly with core-api enabled.
</Update>

<Update label="2025-11-13" tags={["agent-server"]} rss={{ title: "2025-11-13 - agent-server" }}>
  ## v0.5.13

  Support `include` and `exclude` (plural form key for `includes` and `excludes`) since a doc incorrectly claimed support for that. Now the server accepts either.
</Update>

<Update label="2025-11-10" tags={["agent-server"]} rss={{ title: "2025-11-10 - agent-server" }}>
  ## v0.5.11

  * Ensured auth handlers are applied consistently when streaming threads, aligning with recent security practices.
  * Bumped `undici` dependency from version 6.21.3 to 7.16.0, introducing various performance improvements and bug fixes.
  * Updated `p-queue` from version 8.0.1 to 9.0.0, introducing new features and breaking changes, including the removal of the `throwOnTimeout` option.
</Update>

<Update label="2025-11-10" tags={["agent-server"]} rss={{ title: "2025-11-10 - agent-server" }}>
  ## v0.5.10

  Implemented healthcheck calls in the queue /ok handler to improve Kubernetes liveness and readiness probe compatibility.
</Update>

<Update label="2025-11-09" tags={["agent-server"]} rss={{ title: "2025-11-09 - agent-server" }}>
  ## v0.5.9

  * Resolved an issue causing an "unbound local error" for the `elapsed` variable during a SIGINT interruption.
  * Mapped the "interrupted" status to A2A's "input-required" status for better task status alignment.
</Update>

<Update label="2025-11-07" tags={["agent-server"]} rss={{ title: "2025-11-07 - agent-server" }}>
  ## v0.5.8

  * Ensured environment variables are passed as a dictionary when starting langgraph-ui for compatibility with `uvloop`.
  * Implemented CRUD operations for runs in Go, simplifying JSON merges and improving transaction readability, with PostgreSQL as a reference.
</Update>

<Update label="2025-11-07" tags={["agent-server"]} rss={{ title: "2025-11-07 - agent-server" }}>
  ## v0.5.7

  Replaced no-retry Redis client with a retry client to handle connection errors more effectively and reduced corresponding logging severity.
</Update>

<Update label="2025-11-06" tags={["agent-server"]} rss={{ title: "2025-11-06 - agent-server" }}>
  ## v0.5.6

  * Added pending time metrics to provide better insights into task waiting times.
  * Replaced `pb.Value` with `ChannelValue` to streamline code structure.
</Update>

<Update label="2025-11-05" tags={["agent-server"]} rss={{ title: "2025-11-05 - agent-server" }}>
  ## v0.5.5

  Made the Redis `health_check_interval` more frequent and configurable for better handling of idle connections.
</Update>

<Update label="2025-11-05" tags={["agent-server"]} rss={{ title: "2025-11-05 - agent-server" }}>
  ## v0.5.4

  Implemented `ormsgpack` with `OPT_REPLACE_SURROGATES` and updated for compatibility with the latest FastAPI release affecting custom authentication dependencies.
</Update>

<Update label="2025-11-03" tags={["agent-server"]} rss={{ title: "2025-11-03 - agent-server" }}>
  ## v0.5.2

  Added retry logic for PostgreSQL connections during startup to enhance deployment reliability and improved error logging for easier debugging.
</Update>

<Update label="2025-11-03" tags={["agent-server"]} rss={{ title: "2025-11-03 - agent-server" }}>
  ## v0.5.1

  * Resolved an issue where persistence was not functioning correctly with LangChain.js's createAgent feature.
  * Optimized assistants CRUD performance by improving database connection pooling and gRPC client reuse, reducing latency for large payloads.
</Update>

<Update label="2025-10-31" tags={["agent-server"]} rss={{ title: "2025-10-31 - agent-server" }}>
  ## v0.5.0

  This minor version now requires langgraph-checkpoint versions later than 3.0 to prevent a deserialization vulnerability in earlier versions of the langgraph-checkpoint library.
  The `langgraph-checkpoint` library is compatible with `langgraph` minor versions 0.4, 0.5, 0.6, and 1.0.

  This version removes default support for deserialization of payloads saved using the "json" type, which has never been the default.
  By default, objects are serialized using msgpack. Under certain uncommon situations, payloads were serialized using an older "json" mode. If those payloads contained custom python objects, those will no longer be deserializable unless you provide a `serde` config:

  ```json theme={"theme":{"light":"catppuccin-latte","dark":"catppuccin-mocha"}}
  {
      "checkpointer": {
          "serde": {
              "allowed_json_modules": [
                  ["my_agent", "my_file", "SomeType"],
              ]
          }
      }
  }
  ```
</Update>

<Update label="2025-10-29" tags={["agent-server"]} rss={{ title: "2025-10-29 - agent-server" }}>
  ## v0.4.47

  * Validated and auto-corrected environment configuration types using TypeAdapter.
  * Added support for LangChain.js and LangGraph.js version 1.x, ensuring compatibility.
  * Updated hono library from version 4.9.7 to 4.10.3, addressing a CORS middleware security issue and enhancing JWT audience validation.
  * Introduced a modular benchmark framework, adding support for assistants and streams, with improvements to the existing ramp benchmark methodology.
  * Introduced a gRPC API for core threads CRUD operations, with updated Python and TypeScript clients.
  * Updated `hono` package from version 4.9.7 to 4.10.2, including security improvements for JWT audience validation.
  * Updated `hono` dependency from version 4.9.7 to 4.10.3 to fix a security issue and improve CORS middleware handling.
  * Introduced basic CRUD operations for threads, including create, get, patch, delete, search, count, and copy, with support for Go, gRPC server, and Python and TypeScript clients.
</Update>

<Update label="2025-10-21" tags={["agent-server"]} rss={{ title: "2025-10-21 - agent-server" }}>
  ## v0.4.46

  Added an option to enable message streaming from subgraph events, giving users more control over event notifications.
</Update>

<Update label="2025-10-21" tags={["agent-server"]} rss={{ title: "2025-10-21 - agent-server" }}>
  ## v0.4.45

  * Implemented support for authorization on custom routes, controlled by the `enable_custom_route_auth` flag.
  * Set default tracing to off for improved performance and simplified debugging.
</Update>

<Update label="2025-10-18" tags={["agent-server"]} rss={{ title: "2025-10-18 - agent-server" }}>
  ## v0.4.44

  Used Redis key prefix for license-related keys to prevent conflicts with existing setups.
</Update>

<Update label="2025-10-16" tags={["agent-server"]} rss={{ title: "2025-10-16 - agent-server" }}>
  ## v0.4.43

  Implemented a health check for Redis connections to prevent them from idling out.
</Update>

<Update label="2025-10-15" tags={["agent-server"]} rss={{ title: "2025-10-15 - agent-server" }}>
  ## v0.4.40

  * Prevented duplicate messages in resumable run and thread streams by addressing a race condition and adding tests to ensure consistent behavior.
  * Ensured that runs don't start until the pubsub subscription is confirmed to prevent message drops on startup.
  * Renamed platform from langgraph to improve clarity and branding.
  * Reset PostgreSQL connections after use to prevent lock holding and improved error reporting for transaction issues.
</Update>

<Update label="2025-10-10" tags={["agent-server"]} rss={{ title: "2025-10-10 - agent-server" }}>
  ## v0.4.39

  * Upgraded `hono` from version 4.7.6 to 4.9.7, addressing a security issue related to the `bodyLimit` middleware.
  * Allowed customization of the base authentication URL to enhance flexibility.
  * Pinned the 'ty' dependency to a stable version using 'uv' to prevent unexpected linting failures.
</Update>

<Update label="2025-10-08" tags={["agent-server"]} rss={{ title: "2025-10-08 - agent-server" }}>
  ## v0.4.38

  * Replaced `LANGSMITH_API_KEY` with `LANGSMITH_CONTROL_PLANE_API_KEY` to support hybrid deployments requiring license verification.
  * Introduced self-hosted log ingestion support, configurable via `SELF_HOSTED_LOGS_ENABLED` and `SELF_HOSTED_LOGS_ENDPOINT` environment variables.
</Update>

<Update label="2025-10-06" tags={["agent-server"]} rss={{ title: "2025-10-06 - agent-server" }}>
  ## v0.4.37

  Required create permissions for copying threads to ensure proper authorization.
</Update>

<Update label="2025-10-03" tags={["agent-server"]} rss={{ title: "2025-10-03 - agent-server" }}>
  ## v0.4.36

  * Improved error handling and added a delay to the sweep loop for smoother operation during Redis downtime or cancellation errors.
  * Updated the queue entrypoint to start the core-api gRPC server when `FF_USE_CORE_API` is enabled.
  * Introduced checks for invalid configurations in assistant endpoints to ensure consistency with other endpoints.
</Update>

<Update label="2025-10-02" tags={["agent-server"]} rss={{ title: "2025-10-02 - agent-server" }}>
  ## v0.4.35

  * Resolved a timezone issue in the core API, ensuring accurate time data retrieval.
  * Introduced a new `middleware_order` setting to apply authentication middleware before custom middleware, allowing finer control over protected route configurations.
  * Logged the Redis URL when errors occur during Redis client creation.
  * Improved Go engine/runtime context propagation to ensure consistent execution flow.
  * Removed the unnecessary `assistants.put` call from the executor entrypoint to streamline the process.
</Update>

<Update label="2025-10-01" tags={["agent-server"]} rss={{ title: "2025-10-01 - agent-server" }}>
  ## v0.4.34

  Blocked unauthorized users from updating thread TTL settings to enhance security.
</Update>

<Update label="2025-10-01" tags={["agent-server"]} rss={{ title: "2025-10-01 - agent-server" }}>
  ## v0.4.33

  * Improved error handling for Redis locks by logging `LockNotOwnedError` and extending initial pool migration lock timeout to 60 seconds.
  * Updated the BaseMessage schema to align with the latest langchain-core version and synchronized build dependencies for consistent local development.
</Update>

<Update label="2025-09-30" tags={["agent-server"]} rss={{ title: "2025-09-30 - agent-server" }}>
  ## v0.4.32

  * Added a GO persistence layer to the API image, enabling GRPC server operation with PostgreSQL support and enhancing configurability.
  * Set the status to error when a timeout occurs to improve error handling.
</Update>

<Update label="2025-09-30" tags={["agent-server"]} rss={{ title: "2025-09-30 - agent-server" }}>
  ## v0.4.30

  * Added support for context when using `stream_mode="events"` and included new tests for this functionality.
  * Added support for overriding the server port using `$LANGGRAPH_SERVER_PORT` and removed an unnecessary Dockerfile `ARG` for cleaner configuration.
  * Applied authorization filters to all table references in thread delete CTE to enhance security.
  * Introduced self-hosted metrics ingestion capability, allowing metrics to be sent to an OTLP collector every minute when the corresponding environment variables are set.
  * Ensured that the `set_latest` function properly updates the name and description of the version.
</Update>

<Update label="2025-09-26" tags={["agent-server"]} rss={{ title: "2025-09-26 - agent-server" }}>
  ## v0.4.29

  Ensured proper cleanup of redis pubsub connections in all scenarios.
</Update>

<Update label="2025-09-25" tags={["agent-server"]} rss={{ title: "2025-09-25 - agent-server" }}>
  ## v0.4.28

  * Added a format parameter to the queue metrics server for enhanced customization.
  * Corrected `MOUNT_PREFIX` environment variable usage in CLI for consistency with documentation and to prevent confusion.
  * Added a feature to log warnings when messages are dropped due to no subscribers, controllable via a feature flag.
  * Added support for Bookworm and Bullseye distributions in Node images.
  * Consolidated executor definitions by moving them from the `langgraph-go` repository, improving manageability and updating the checkpointer setup method for server migrations.
  * Ensured correct response headers are sent for a2a, improving compatibility and communication.
  * Consolidated PostgreSQL checkpoint implementation, added CI testing for the `/core` directory, fixed RemoteStore test errors, and enhanced the Store implementation with transactions.
  * Added PostgreSQL migrations to the queue server to prevent errors from graphs being added before migrations are performed.
</Update>

<Update label="2025-09-23" tags={["agent-server"]} rss={{ title: "2025-09-23 - agent-server" }}>
  ## v0.4.27

  Replaced `coredis` with `redis-py` to improve connection handling and reliability under high traffic loads.
</Update>

<Update label="2025-09-22" tags={["agent-server"]} rss={{ title: "2025-09-22 - agent-server" }}>
  ## v0.4.24

  * Added functionality to return full message history for A2A calls in accordance with the A2A spec.
  * Added a `LANGGRAPH_SERVER_HOST` environment variable to Dockerfiles to support custom host settings for dual stack mode.
</Update>

<Update label="2025-09-22" tags={["agent-server"]} rss={{ title: "2025-09-22 - agent-server" }}>
  ## v0.4.23

  Use a faster message codec for redis streaming.
</Update>

<Update label="2025-09-19" tags={["agent-server"]} rss={{ title: "2025-09-19 - agent-server" }}>
  ## v0.4.22

  Ported long-stream handling to the run stream, join, and cancel endpoints for improved stream management.
</Update>

<Update label="2025-09-18" tags={["agent-server"]} rss={{ title: "2025-09-18 - agent-server" }}>
  ## v0.4.21

  * Added A2A streaming functionality and enhanced testing with the A2A SDK.
  * Added Prometheus metrics to track language usage in graphs, middleware, and authentication for improved insights.
  * Fixed bugs in Open Source Software related to message conversion for chunks.
  * Removed await from pubsub subscribes to reduce flakiness in cluster tests and added retries in the shutdown suite to enhance API stability.
</Update>

<Update label="2025-09-11" tags={["agent-server"]} rss={{ title: "2025-09-11 - agent-server" }}>
  ## v0.4.20

  Optimized Pubsub initialization to prevent overhead and address subscription timing issues, ensuring smoother run execution.
</Update>

<Update label="2025-09-11" tags={["agent-server"]} rss={{ title: "2025-09-11 - agent-server" }}>
  ## v0.4.19

  Removed warnings from psycopg by addressing function checks introduced in version 3.2.10.
</Update>

<Update label="2025-09-11" tags={["agent-server"]} rss={{ title: "2025-09-11 - agent-server" }}>
  ## v0.4.17

  Filtered out logs with mount prefix to reduce noise in logging output.
</Update>

<Update label="2025-09-10" tags={["agent-server"]} rss={{ title: "2025-09-10 - agent-server" }}>
  ## v0.4.16

  * Added support for implicit thread creation in a2a to streamline operations.
  * Improved error serialization and emission in distributed runtime streams, enabling more comprehensive testing.
</Update>

<Update label="2025-09-09" tags={["agent-server"]} rss={{ title: "2025-09-09 - agent-server" }}>
  ## v0.4.13

  * Monitored queue status in the health endpoint to ensure correct behavior when PostgreSQL fails to initialize.
  * Addressed an issue with unequal swept ID lengths to improve log clarity.
  * Enhanced streaming outputs by avoiding re-serialization of DR payloads, using msgpack byte inspection for json-like parsing.
</Update>

<Update label="2025-09-04" tags={["agent-server"]} rss={{ title: "2025-09-04 - agent-server" }}>
  ## v0.4.12

  * Ensured metrics are returned even when experiencing database connection issues.
  * Optimized update streams to prevent unnecessary data transmission.
  * Upgraded `hono` from version 4.9.2 to 4.9.6 in the `storage_postgres/langgraph-api-server` for improved URL path parsing security.
  * Added retries and an in-memory cache for LangSmith access calls to improve resilience against single failures.
</Update>

<Update label="2025-09-04" tags={["agent-server"]} rss={{ title: "2025-09-04 - agent-server" }}>
  ## v0.4.11

  Added support for TTL (time-to-live) in thread updates.
</Update>

<Update label="2025-09-04" tags={["agent-server"]} rss={{ title: "2025-09-04 - agent-server" }}>
  ## v0.4.10

  In distributed runtime, update serde logic for final checkpoint -> thread setting.
</Update>

<Update label="2025-09-02" tags={["agent-server"]} rss={{ title: "2025-09-02 - agent-server" }}>
  ## v0.4.9

  * Added support for filtering search results by IDs in the search endpoint for more precise queries.
  * Included configurable headers for assistant endpoints to enhance request customization.
  * Implemented a simple A2A endpoint with support for agent card retrieval, task creation, and task management.
</Update>

<Update label="2025-08-30" tags={["agent-server"]} rss={{ title: "2025-08-30 - agent-server" }}>
  ## v0.4.7

  Stopped the inclusion of x-api-key to enhance security.
</Update>

<Update label="2025-08-29" tags={["agent-server"]} rss={{ title: "2025-08-29 - agent-server" }}>
  ## v0.4.6

  Fixed a race condition when joining streams, preventing duplicate start events.
</Update>

<Update label="2025-08-29" tags={["agent-server"]} rss={{ title: "2025-08-29 - agent-server" }}>
  ## v0.4.5

  * Ensured the checkpointer starts and stops correctly before and after the queue to improve shutdown and startup efficiency.
  * Resolved an issue where workers were being prematurely cancelled when the queue was cancelled.
  * Prevented queue termination by adding a fallback for cases when Redis fails to wake a worker.
</Update>

<Update label="2025-08-28" tags={["agent-server"]} rss={{ title: "2025-08-28 - agent-server" }}>
  ## v0.4.4

  * Set the custom auth thread\_id to None for stateless runs to prevent conflicts.
  * Improved Redis signaling in the Go runtime by adding a wakeup worker and Redis lock implementation, and updated sweep logic.
</Update>

<Update label="2025-08-27" tags={["agent-server"]} rss={{ title: "2025-08-27 - agent-server" }}>
  ## v0.4.3

  * Added stream mode to thread stream for improved data processing.
  * Added a durability parameter to runs for improved data persistence.
</Update>

<Update label="2025-08-27" tags={["agent-server"]} rss={{ title: "2025-08-27 - agent-server" }}>
  ## v0.4.2

  Ensured pubsub is initialized before creating a run to prevent errors from missing messages.
</Update>

<Update label="2025-08-25" tags={["agent-server"]} rss={{ title: "2025-08-25 - agent-server" }}>
  ## v0.4.0

  Minor version 0.4 comes with a number of improvements as well as some breaking changes.

  * Emitted attempt messages correctly within the thread stream.
  * Reduced cluster conflicts by using only the thread ID for hashing in cluster mapping, prioritizing efficiency with stream\_thread\_cache.
  * Introduced a stream endpoint for threads to track all outputs across sequentially executed runs.
  * Made the filter query builder in PostgreSQL more robust against malformed expressions and improved validation to prevent potential security risks.

  This minor version also includes a couple of breaking changes to improve the usability and security of the service:

  * In this minor version, we stop the practice of automatically including headers as configurable values in your runs. You can opt-in to specific patterns by setting **configurable\_headers** in your agent server config.
  * Run stream event IDs (for resumable streams) are now in the format of `ms-seq` instead of the previous format. We retain backwards compatibility for the old format, but we recommend using the new format for new code.
</Update>

<Update label="2025-08-25" tags={["agent-server"]} rss={{ title: "2025-08-25 - agent-server" }}>
  ## v0.3.4

  * Added custom Prometheus metrics for Redis/PG connection pools and switched the queue server to Uvicorn/Starlette for improved monitoring.
  * Restored Wolfi image build by correcting shell command formatting and added a Makefile target for testing with nginx.
</Update>

<Update label="2025-08-22" tags={["agent-server"]} rss={{ title: "2025-08-22 - agent-server" }}>
  ## v0.3.3

  * Added timeouts to specific Redis calls to prevent workers from being left active.
  * Updated the Golang runtime and added pytest skips for unsupported functionalities, including initial support for passing store to node and message streaming.
  * Introduced a reverse proxy setup for serving combined Python and Node.js graphs, with nginx handling server routing, to facilitate a Postgres/Redis backend for the Node.js API server.
</Update>

<Update label="2025-08-21" tags={["agent-server"]} rss={{ title: "2025-08-21 - agent-server" }}>
  ## v0.3.1

  Added a statement timeout to the pool to prevent long-running queries.
</Update>

<Update label="2025-08-21" tags={["agent-server"]} rss={{ title: "2025-08-21 - agent-server" }}>
  ## v0.3.0

  * Set a default 15-minute statement timeout and implemented monitoring for long-running queries to ensure system efficiency.
  * Stop propagating run configurable values to the thread configuration, because this can cause issues on subsequent runs if you are specifying a checkpoint\_id. This is a **slight breaking change** in behavior, since the thread value will no longer automatically reflect the unioned configuration of the most recent run. We believe this behavior is more intuitive, however.
  * Enhanced compatibility with older worker versions by handling event data in channel names within ops.py.
</Update>

<Update label="2025-08-20" tags={["agent-server"]} rss={{ title: "2025-08-20 - agent-server" }}>
  ## v0.2.137

  Fixed an unbound local error and improved logging for thread interruptions or errors, along with type updates.
</Update>

<Update label="2025-08-20" tags={["agent-server"]} rss={{ title: "2025-08-20 - agent-server" }}>
  ## v0.2.136

  * Added enhanced logging to aid in debugging metaview issues.
  * Upgraded executor and runtime to the latest version for improved performance and stability.
</Update>

<Update label="2025-08-19" tags={["agent-server"]} rss={{ title: "2025-08-19 - agent-server" }}>
  ## v0.2.135

  Ensured async coroutines are properly awaited to prevent potential runtime errors.
</Update>

<Update label="2025-08-18" tags={["agent-server"]} rss={{ title: "2025-08-18 - agent-server" }}>
  ## v0.2.134

  Enhanced search functionality to improve performance by allowing users to select specific columns for query results.
</Update>

<Update label="2025-08-18" tags={["agent-server"]} rss={{ title: "2025-08-18 - agent-server" }}>
  ## v0.2.133

  * Added count endpoints for crons, threads, and assistants to enhance data tracking (#1132).
  * Improved SSH functionality for better reliability and stability.
  * Updated @langchain/langgraph-api to version 0.0.59 to fix an invalid state schema issue.
</Update>

<Update label="2025-08-15" tags={["agent-server"]} rss={{ title: "2025-08-15 - agent-server" }}>
  ## v0.2.132

  * Added Go language images to enhance project compatibility and functionality.
  * Printed internal PIDs for JS workers to facilitate process inspection via SIGUSR1 signal.
  * Resolved a `run_pkey` error that occurred when attempting to insert duplicate runs.
  * Added `ty run` command and switched to using uuid7 for generating run IDs.
  * Implemented the initial Golang runtime to expand language support.
</Update>

<Update label="2025-08-14" tags={["agent-server"]} rss={{ title: "2025-08-14 - agent-server" }}>
  ## v0.2.131

  Added support for `object agent spec` with descriptions in JS.
</Update>

<Update label="2025-08-13" tags={["agent-server"]} rss={{ title: "2025-08-13 - agent-server" }}>
  ## v0.2.130

  * Added a feature flag (FF\_RICH\_THREADS=false) to disable thread updates on run creation, reducing lock contention and simplifying thread status handling.
  * Utilized existing connections for `aput` and `apwrite` operations to improve performance.
  * Improved error handling for decoding issues to enhance data processing reliability.
  * Excluded headers from logs to improve security while maintaining runtime functionality.
  * Fixed an error that prevented mapping slots to a single node.
  * Added debug logs to track node execution in JS deployments for improved issue diagnosis.
  * Changed the default multitask strategy to enqueue, improving throughput by eliminating the need to fetch inflight runs during new run insertions.
  * Optimized database operations for `Runs.next` and `Runs.sweep` to reduce redundant queries and improve efficiency.
  * Improved run creation speed by skipping unnecessary inflight runs queries.
</Update>

<Update label="2025-08-11" tags={["agent-server"]} rss={{ title: "2025-08-11 - agent-server" }}>
  ## v0.2.129

  * Stopped passing internal LGP fields to context to prevent breaking type checks.
  * Exposed content-location headers to ensure correct resumability behavior in the API.
</Update>

<Update label="2025-08-08" tags={["agent-server"]} rss={{ title: "2025-08-08 - agent-server" }}>
  ## v0.2.128

  Ensured synchronized updates between `configurable` and `context` in assistants, preventing setup errors and supporting smoother version transitions.
</Update>

<Update label="2025-08-08" tags={["agent-server"]} rss={{ title: "2025-08-08 - agent-server" }}>
  ## v0.2.127

  Excluded unrequested stream modes from the resumable stream to optimize functionality.
</Update>

<Update label="2025-08-08" tags={["agent-server"]} rss={{ title: "2025-08-08 - agent-server" }}>
  ## v0.2.126

  * Made access logger headers configurable to enhance logging flexibility.
  * Debounced the Runs.stats function to reduce the frequency of expensive calls and improve performance.
  * Introduced debouncing for sweepers to enhance performance and efficiency (#1147).
  * Acquired a lock for TTL sweeping to prevent database spamming during scale-out operations.
</Update>

<Update label="2025-08-06" tags={["agent-server"]} rss={{ title: "2025-08-06 - agent-server" }}>
  ## v0.2.125

  Updated tracing context replicas to use the new format, ensuring compatibility.
</Update>

<Update label="2025-08-06" tags={["agent-server"]} rss={{ title: "2025-08-06 - agent-server" }}>
  ## v0.2.123

  Added an entrypoint to the queue replica for improved deployment management.
</Update>

<Update label="2025-08-06" tags={["agent-server"]} rss={{ title: "2025-08-06 - agent-server" }}>
  ## v0.2.122

  Utilized persisted interrupt status in `join` to ensure correct handling of user's interrupt state after completion.
</Update>

<Update label="2025-08-06" tags={["agent-server"]} rss={{ title: "2025-08-06 - agent-server" }}>
  ## v0.2.121

  * Consolidated events to a single channel to prevent race conditions and optimize startup performance.
  * Ensured custom lifespans are invoked on queue workers for proper setup, and added tests.
</Update>

<Update label="2025-08-04" tags={["agent-server"]} rss={{ title: "2025-08-04 - agent-server" }}>
  ## v0.2.120

  * Restored the original streaming behavior of runs, ensuring consistent inclusion of interrupt events based on `stream_mode` settings.
  * Optimized `Runs.next` query to reduce average execution time from \~14.43ms to \~2.42ms, improving performance.
  * Added support for stream mode "tasks" and "checkpoints", normalized the UI namespace, and upgraded `@langchain/langgraph-api` for enhanced functionality.
</Update>

<Update label="2025-07-31" tags={["agent-server"]} rss={{ title: "2025-07-31 - agent-server" }}>
  ## v0.2.117

  Added a composite index on threads for faster searches with owner-based authentication and updated the default sort order to `updated_at` for improved query performance.
</Update>

<Update label="2025-07-31" tags={["agent-server"]} rss={{ title: "2025-07-31 - agent-server" }}>
  ## v0.2.116

  Reduced the default number of history checkpoints from 10 to 1 to optimize performance.
</Update>

<Update label="2025-07-31" tags={["agent-server"]} rss={{ title: "2025-07-31 - agent-server" }}>
  ## v0.2.115

  Optimized cache re-use to enhance application performance and efficiency.
</Update>

<Update label="2025-07-30" tags={["agent-server"]} rss={{ title: "2025-07-30 - agent-server" }}>
  ## v0.2.113

  Improved thread search pagination by updating response headers with `X-Pagination-Total` and `X-Pagination-Next` for better navigation.
</Update>

<Update label="2025-07-30" tags={["agent-server"]} rss={{ title: "2025-07-30 - agent-server" }}>
  ## v0.2.112

  * Ensured sync logging methods are awaited and added a linter to prevent future occurrences.
  * Fixed an issue where JavaScript tasks were not being populated correctly for JS graphs.
</Update>

<Update label="2025-07-29" tags={["agent-server"]} rss={{ title: "2025-07-29 - agent-server" }}>
  ## v0.2.111

  Fixed JS graph streaming failure by starting the heartbeat as soon as the connection opens.
</Update>

<Update label="2025-07-29" tags={["agent-server"]} rss={{ title: "2025-07-29 - agent-server" }}>
  ## v0.2.110

  Added interrupts as default values for join operations while preserving stream behavior.
</Update>

<Update label="2025-07-28" tags={["agent-server"]} rss={{ title: "2025-07-28 - agent-server" }}>
  ## v0.2.109

  Fixed an issue where config schema was missing when `config_type` was not set, ensuring more reliable configurations.
</Update>

<Update label="2025-07-28" tags={["agent-server"]} rss={{ title: "2025-07-28 - agent-server" }}>
  ## v0.2.108

  Prepared for LangGraph v0.6 compatibility with new context API support and bug fixes.
</Update>

<Update label="2025-07-27" tags={["agent-server"]} rss={{ title: "2025-07-27 - agent-server" }}>
  ## v0.2.107

  * Implemented caching for authentication processes to enhance performance and efficiency.
  * Optimized database performance by merging count and select queries.
</Update>

<Update label="2025-07-27" tags={["agent-server"]} rss={{ title: "2025-07-27 - agent-server" }}>
  ## v0.2.106

  Made log streams resumable, enhancing reliability and improving user experience when reconnecting.
</Update>

<Update label="2025-07-27" tags={["agent-server"]} rss={{ title: "2025-07-27 - agent-server" }}>
  ## v0.2.105

  Added a heapdump endpoint to save memory heap information to a file.
</Update>

<Update label="2025-07-25" tags={["agent-server"]} rss={{ title: "2025-07-25 - agent-server" }}>
  ## v0.2.103

  Used the correct metadata endpoint to resolve issues with data retrieval.
</Update>

<Update label="2025-07-24" tags={["agent-server"]} rss={{ title: "2025-07-24 - agent-server" }}>
  ## v0.2.102

  * Captured interrupt events in the wait method to preserve previous behavior from langgraph 0.5.0.
  * Added support for SDK structlog in the JavaScript environment for enhanced logging capabilities.
</Update>

<Update label="2025-07-24" tags={["agent-server"]} rss={{ title: "2025-07-24 - agent-server" }}>
  ## v0.2.101

  Corrected the metadata endpoint for self-hosted deployments.
</Update>

<Update label="2025-07-22" tags={["agent-server"]} rss={{ title: "2025-07-22 - agent-server" }}>
  ## v0.2.99

  * Improved license check by adding an in-memory cache and handling Redis connection errors more effectively.
  * Reloaded assistants to preserve manually created ones while discarding those removed from the configuration file.
  * Reverted changes to ensure the UI namespace for gen UI is a valid JavaScript property name.
  * Ensured that the UI namespace for generated UI is a valid JavaScript property name, improving API compliance.
  * Enhanced error handling to return a 422 status code for unprocessable entity requests.
</Update>

<Update label="2025-07-19" tags={["agent-server"]} rss={{ title: "2025-07-19 - agent-server" }}>
  ## v0.2.98

  Added context to langgraph nodes to improve log filtering and trace visibility.
</Update>

<Update label="2025-07-19" tags={["agent-server"]} rss={{ title: "2025-07-19 - agent-server" }}>
  ## v0.2.97

  * Improved interoperability with the ckpt ingestion worker on the main loop to prevent task scheduling issues.
  * Delayed queue worker startup until after migrations are completed to prevent premature execution.
  * Enhanced thread state error handling by adding specific metadata and improved response codes for better clarity when state updates fail during creation.
  * Exposed the interrupt ID when retrieving the thread state to improve API transparency.
</Update>

<Update label="2025-07-17" tags={["agent-server"]} rss={{ title: "2025-07-17 - agent-server" }}>
  ## v0.2.96

  Added a fallback mechanism for configurable header patterns to handle exclude/include settings more effectively.
</Update>

<Update label="2025-07-17" tags={["agent-server"]} rss={{ title: "2025-07-17 - agent-server" }}>
  ## v0.2.95

  * Avoided setting the future if it is already done to prevent redundant operations.
  * Resolved compatibility errors in CI by switching from `typing.TypedDict` to `typing_extensions.TypedDict` for Python versions below 3.12.
</Update>

<Update label="2025-07-16" tags={["agent-server"]} rss={{ title: "2025-07-16 - agent-server" }}>
  ## v0.2.94

  * Improved performance by omitting pending sends for langgraph versions 0.5 and above.
  * Improved server startup logs to provide clearer warnings when the DD\_API\_KEY environment variable is set.
</Update>

<Update label="2025-07-16" tags={["agent-server"]} rss={{ title: "2025-07-16 - agent-server" }}>
  ## v0.2.93

  Removed the GIN index for run metadata to improve performance.
</Update>

<Update label="2025-07-16" tags={["agent-server"]} rss={{ title: "2025-07-16 - agent-server" }}>
  ## v0.2.92

  Enabled copying functionality for blobs and checkpoints, improving data management flexibility.
</Update>

<Update label="2025-07-16" tags={["agent-server"]} rss={{ title: "2025-07-16 - agent-server" }}>
  ## v0.2.91

  Reduced writes to the `checkpoint_blobs` table by inlining small values (null, numeric, str, etc.). This means we don't need to store extra values for channels that haven't been updated.
</Update>

<Update label="2025-07-16" tags={["agent-server"]} rss={{ title: "2025-07-16 - agent-server" }}>
  ## v0.2.90

  Improve checkpoint writes via node-local background queueing.
</Update>

<Update label="2025-07-15" tags={["agent-server"]} rss={{ title: "2025-07-15 - agent-server" }}>
  ## v0.2.89

  Decoupled checkpoint writing from thread/run state by removing foreign keys and updated logger to prevent timeout-related failures.
</Update>

<Update label="2025-07-14" tags={["agent-server"]} rss={{ title: "2025-07-14 - agent-server" }}>
  ## v0.2.88

  Removed the foreign key constraint for `thread` in the `run` table to simplify database schema.
</Update>

<Update label="2025-07-14" tags={["agent-server"]} rss={{ title: "2025-07-14 - agent-server" }}>
  ## v0.2.87

  Added more detailed logs for Redis worker signaling to improve debugging.
</Update>

<Update label="2025-07-11" tags={["agent-server"]} rss={{ title: "2025-07-11 - agent-server" }}>
  ## v0.2.86

  Honored tool descriptions in the `/mcp` endpoint to align with expected functionality.
</Update>

<Update label="2025-07-10" tags={["agent-server"]} rss={{ title: "2025-07-10 - agent-server" }}>
  ## v0.2.85

  Added support for the `on_disconnect` field to `runs/wait` and included disconnect logs for better debugging.
</Update>

<Update label="2025-07-09" tags={["agent-server"]} rss={{ title: "2025-07-09 - agent-server" }}>
  ## v0.2.84

  Removed unnecessary status updates to streamline thread handling and updated version to 0.2.84.
</Update>

<Update label="2025-07-09" tags={["agent-server"]} rss={{ title: "2025-07-09 - agent-server" }}>
  ## v0.2.83

  * Reduced the default time-to-live for resumable streams to 2 minutes.
  * Enhanced data submission logic to send data to both Beacon and LangSmith instance based on license configuration.
  * Enabled submission of self-hosted data to a LangSmith instance when the endpoint is configured.
</Update>

<Update label="2025-07-03" tags={["agent-server"]} rss={{ title: "2025-07-03 - agent-server" }}>
  ## v0.2.82

  Addressed a race condition in background runs by implementing a lock using join, ensuring reliable execution across CTEs.
</Update>

<Update label="2025-07-03" tags={["agent-server"]} rss={{ title: "2025-07-03 - agent-server" }}>
  ## v0.2.81

  Optimized run streams by reducing initial wait time to improve responsiveness for older or non-existent runs.
</Update>

<Update label="2025-07-03" tags={["agent-server"]} rss={{ title: "2025-07-03 - agent-server" }}>
  ## v0.2.80

  Corrected parameter passing in the `logger.ainfo()` API call to resolve a TypeError.
</Update>

<Update label="2025-07-02" tags={["agent-server"]} rss={{ title: "2025-07-02 - agent-server" }}>
  ## v0.2.79

  * Fixed a JsonDecodeError in checkpointing with remote graph by correcting JSON serialization to handle trailing slashes properly.
  * Introduced a configuration flag to disable webhooks globally across all routes.
</Update>

<Update label="2025-07-02" tags={["agent-server"]} rss={{ title: "2025-07-02 - agent-server" }}>
  ## v0.2.78

  * Added timeout retries to webhook calls to improve reliability.
  * Added HTTP request metrics, including a request count and latency histogram, for enhanced monitoring capabilities.
</Update>

<Update label="2025-07-02" tags={["agent-server"]} rss={{ title: "2025-07-02 - agent-server" }}>
  ## v0.2.77

  * Added HTTP metrics to improve performance monitoring.
  * Changed the Redis cache delimiter to reduce conflicts with subgraph message names and updated caching behavior.
</Update>

<Update label="2025-07-01" tags={["agent-server"]} rss={{ title: "2025-07-01 - agent-server" }}>
  ## v0.2.76

  Updated Redis cache delimiter to prevent conflicts with subgraph messages.
</Update>

<Update label="2025-06-30" tags={["agent-server"]} rss={{ title: "2025-06-30 - agent-server" }}>
  ## v0.2.74

  Scheduled webhooks in an isolated loop to ensure thread-safe operations and prevent errors with PYTHONASYNCIODEBUG=1.
</Update>

<Update label="2025-06-27" tags={["agent-server"]} rss={{ title: "2025-06-27 - agent-server" }}>
  ## v0.2.73

  * Fixed an infinite frame loop issue and removed the dict\_parser due to structlog's unexpected behavior.
  * Throw a 409 error on deadlock occurrence during run cancellations to handle lock conflicts gracefully.
</Update>

<Update label="2025-06-27" tags={["agent-server"]} rss={{ title: "2025-06-27 - agent-server" }}>
  ## v0.2.72

  * Ensured compatibility with future langgraph versions.
  * Implemented a 409 response status to handle deadlock issues during cancellation.
</Update>

<Update label="2025-06-26" tags={["agent-server"]} rss={{ title: "2025-06-26 - agent-server" }}>
  ## v0.2.71

  Improved logging for better clarity and detail regarding log types.
</Update>

<Update label="2025-06-26" tags={["agent-server"]} rss={{ title: "2025-06-26 - agent-server" }}>
  ## v0.2.70

  Improved error handling to better distinguish and log TimeoutErrors caused by users from internal run timeouts.
</Update>

<Update label="2025-06-26" tags={["agent-server"]} rss={{ title: "2025-06-26 - agent-server" }}>
  ## v0.2.69

  Added sorting and pagination to the crons API and updated schema definitions for improved accuracy.
</Update>

<Update label="2025-06-26" tags={["agent-server"]} rss={{ title: "2025-06-26 - agent-server" }}>
  ## v0.2.66

  Fixed a 404 error when creating multiple runs with the same thread\_id using `on_not_exist="create"`.
</Update>

<Update label="2025-06-25" tags={["agent-server"]} rss={{ title: "2025-06-25 - agent-server" }}>
  ## v0.2.65

  * Ensured that only fields from `assistant_versions` are returned when necessary.
  * Ensured consistent data types for in-memory and PostgreSQL users, improving internal authentication handling.
</Update>

<Update label="2025-06-24" tags={["agent-server"]} rss={{ title: "2025-06-24 - agent-server" }}>
  ## v0.2.64

  Added descriptions to version entries for better clarity.
</Update>

<Update label="2025-06-23" tags={["agent-server"]} rss={{ title: "2025-06-23 - agent-server" }}>
  ## v0.2.62

  * Improved user handling for custom authentication in the JS Studio.
  * Added Prometheus-format run statistics to the metrics endpoint for better monitoring.
  * Added run statistics in Prometheus format to the metrics endpoint.
</Update>

<Update label="2025-06-20" tags={["agent-server"]} rss={{ title: "2025-06-20 - agent-server" }}>
  ## v0.2.61

  Set a maximum idle time for Redis connections to prevent unnecessary open connections.
</Update>

<Update label="2025-06-20" tags={["agent-server"]} rss={{ title: "2025-06-20 - agent-server" }}>
  ## v0.2.60

  * Enhanced error logging to include traceback details for dictionary operations.
  * Added a `/metrics` endpoint to expose queue worker metrics for monitoring.
</Update>

<Update label="2025-06-18" tags={["agent-server"]} rss={{ title: "2025-06-18 - agent-server" }}>
  ## v0.2.57

  * Removed CancelledError from retriable exceptions to allow local interrupts while maintaining retriability for workers.
  * Introduced middleware to gracefully shut down the server after completing in-flight requests upon receiving a SIGINT.
  * Reduced metadata stored in checkpoint to only include necessary information.
  * Improved error handling in join runs to return error details when present.
</Update>

<Update label="2025-06-17" tags={["agent-server"]} rss={{ title: "2025-06-17 - agent-server" }}>
  ## v0.2.56

  Improved application stability by adding a handler for SIGTERM signals.
</Update>

<Update label="2025-06-17" tags={["agent-server"]} rss={{ title: "2025-06-17 - agent-server" }}>
  ## v0.2.55

  * Improved the handling of cancellations in the queue entrypoint.
  * Improved cancellation handling in the queue entry point.
</Update>

<Update label="2025-06-16" tags={["agent-server"]} rss={{ title: "2025-06-16 - agent-server" }}>
  ## v0.2.54

  * Enhanced error message for LuaLock timeout during license validation.
  * Fixed the \$contains filter in custom auth by requiring an explicit ::text cast and updated tests accordingly.
  * Ensured project and tenant IDs are formatted as UUIDs for consistency.
</Update>

<Update label="2025-06-13" tags={["agent-server"]} rss={{ title: "2025-06-13 - agent-server" }}>
  ## v0.2.53

  * Resolved a timing issue to ensure the queue starts only after the graph is registered.
  * Improved performance by setting thread and run status in a single query and enhanced error handling during checkpoint writes.
  * Reduced the default background grace period to 3 minutes.
</Update>

<Update label="2025-06-12" tags={["agent-server"]} rss={{ title: "2025-06-12 - agent-server" }}>
  ## v0.2.52

  * Now logging expected graphs when one is omitted to improve traceability.
  * Implemented a time-to-live (TTL) feature for resumable streams.
  * Improved query efficiency and consistency by adding a unique index and optimizing row locking.
</Update>

<Update label="2025-06-12" tags={["agent-server"]} rss={{ title: "2025-06-12 - agent-server" }}>
  ## v0.2.51

  * Handled `CancelledError` by marking tasks as ready to retry, improving error management in worker processes.
  * Added LG API version and request ID to metadata and logs for better tracking.
  * Added LG API version and request ID to metadata and logs to improve traceability.
  * Improved database performance by creating indexes concurrently.
  * Ensured postgres write is committed only after the Redis running marker is set to prevent race conditions.
  * Enhanced query efficiency and reliability by adding a unique index on thread\_id/running, optimizing row locks, and ensuring deterministic run selection.
  * Resolved a race condition by ensuring Postgres updates only occur after the Redis running marker is set.
</Update>

<Update label="2025-06-07" tags={["agent-server"]} rss={{ title: "2025-06-07 - agent-server" }}>
  ## v0.2.46

  Introduced a new connection for each operation while preserving transaction characteristics in Threads state `update()` and `bulk()` commands.
</Update>

<Update label="2025-06-05" tags={["agent-server"]} rss={{ title: "2025-06-05 - agent-server" }}>
  ## v0.2.45

  * Enhanced streaming feature by incorporating tracing contexts.
  * Removed an unnecessary query from the Crons.search function.
  * Resolved connection reuse issue when scheduling next run for multiple cron jobs.
  * Removed an unnecessary query in the Crons.search function to improve efficiency.
  * Resolved an issue with scheduling the next cron run by improving connection reuse.
</Update>

<Update label="2025-06-04" tags={["agent-server"]} rss={{ title: "2025-06-04 - agent-server" }}>
  ## v0.2.44

  * Enhanced the worker logic to exit the pipeline before continuing when the Redis message limit is reached.
  * Introduced a ceiling for Redis message size with an option to skip messages larger than 128 MB for improved performance.
  * Ensured the pipeline always closes properly to prevent resource leaks.
</Update>

<Update label="2025-06-04" tags={["agent-server"]} rss={{ title: "2025-06-04 - agent-server" }}>
  ## v0.2.43

  * Improved performance by omitting logs in metadata calls and ensuring output schema compliance in value streaming.
  * Ensured the connection is properly closed after use.
  * Aligned output format to strictly adhere to the specified schema.
  * Stopped sending internal logs in metadata requests to improve privacy.
</Update>

<Update label="2025-06-04" tags={["agent-server"]} rss={{ title: "2025-06-04 - agent-server" }}>
  ## v0.2.42

  * Added timestamps to track the start and end of a request's run.
  * Added tracer information to the configuration settings.
  * Added support for streaming with tracing contexts.
</Update>

<Update label="2025-06-03" tags={["agent-server"]} rss={{ title: "2025-06-03 - agent-server" }}>
  ## v0.2.41

  Added locking mechanism to prevent errors in pipelined executions.
</Update>

***

<div className="source-links">
  <Callout icon="terminal-2">
    [Connect these docs](/use-these-docs) to Claude, VSCode, and more via MCP for real-time answers.
  </Callout>

  <Callout icon="edit">
    [Edit this page on GitHub](https://github.com/langchain-ai/docs/edit/main/src/langsmith/agent-server-changelog.mdx) or [file an issue](https://github.com/langchain-ai/docs/issues/new/choose).
  </Callout>
</div>
