> ## Documentation Index
> Fetch the complete documentation index at: https://langchain-5e9cc07a-preview-eugene-1763577327-bfe51c2.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Agent Server changelog

[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.

<a id="2025-11-18" />

## v0.5.15

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

<a id="2025-11-14" />

## v0.5.14

* Ensured `pg make start` command functions correctly with core-api enabled.

<a id="2025-11-13" />

## 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.

<a id="2025-11-10" />

## 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.

<a id="2025-11-10" />

## v0.5.10

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

<a id="2025-11-09" />

## 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.

<a id="2025-11-07" />

## 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.

<a id="2025-11-07" />

## v0.5.7

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

<a id="2025-11-06" />

## v0.5.6

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

<a id="2025-11-05" />

## v0.5.5

* Made the Redis `health_check_interval` more frequent and configurable for better handling of idle connections.

<a id="2025-11-05" />

## v0.5.4

* Implemented `ormsgpack` with `OPT_REPLACE_SURROGATES` and updated for compatibility with the latest FastAPI release affecting custom authentication dependencies.

<a id="2025-11-03" />

## v0.5.2

* Added retry logic for PostgreSQL connections during startup to enhance deployment reliability and improved error logging for easier debugging.

<a id="2025-11-03" />

## 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.

<a id="2025-10-31" />

## v0.5.0

* Updated dependency requirements to support the latest security patch, removed JSON fallback for serialization, and adjusted deserialization behavior for enhanced security.

<a id="2025-10-29" />

## 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.

<a id="2025-10-21" />

## v0.4.46

* Added an option to enable message streaming from subgraph events, giving users more control over event notifications.

<a id="2025-10-21" />

## 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.

<a id="2025-10-18" />

## v0.4.44

* Used Redis key prefix for license-related keys to prevent conflicts with existing setups.

<a id="2025-10-16" />

## v0.4.43

* Implemented a health check for Redis connections to prevent them from idling out.

<a id="2025-10-15" />

## 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.

<a id="2025-10-10" />

## 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.

<a id="2025-10-08" />

## 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.

<a id="2025-10-06" />

## v0.4.37

* Required create permissions for copying threads to ensure proper authorization.

<a id="2025-10-03" />

## 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.

<a id="2025-10-02" />

## 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.

<a id="2025-10-01" />

## v0.4.34

* Blocked unauthorized users from updating thread TTL settings to enhance security.

<a id="2025-10-01" />

## 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.

<a id="2025-09-30" />

## 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.

<a id="2025-09-30" />

## 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.

<a id="2025-09-26" />

## v0.4.29

* Ensured proper cleanup of redis pubsub connections in all scenarios.

<a id="2025-09-25" />

## 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.

<a id="2025-09-23" />

## v0.4.27

* Replaced `coredis` with `redis-py` to improve connection handling and reliability under high traffic loads.

<a id="2025-09-22-v0.4.24" />

## 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.

<a id="2025-09-22" />

## v0.4.23

* Use a faster message codec for redis streaming.

<a id="2025-09-19" />

## v0.4.22

* Ported long-stream handling to the run stream, join, and cancel endpoints for improved stream management.

<a id="2025-09-18" />

## 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.

<a id="2025-09-11" />

## v0.4.20

* Optimized Pubsub initialization to prevent overhead and address subscription timing issues, ensuring smoother run execution.

<a id="2025-09-11" />

## v0.4.19

* Removed warnings from psycopg by addressing function checks introduced in version 3.2.10.

<a id="2025-09-11" />

## v0.4.17

* Filtered out logs with mount prefix to reduce noise in logging output.

<a id="2025-09-10" />

## 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.

<a id="2025-09-09" />

## 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.

<a id="2025-09-04" />

## 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.

<a id="2025-09-04" />

## v0.4.11

* Added support for TTL (time-to-live) in thread updates.

<a id="2025-09-04" />

## v0.4.10

* In distributed runtime, update serde logic for final checkpoint -> thread setting.

<a id="2025-09-02" />

## 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.

<a id="2025-08-30" />

## v0.4.7

* Stopped the inclusion of x-api-key to enhance security.

<a id="2025-08-29" />

## v0.4.6

* Fixed a race condition when joining streams, preventing duplicate start events.

<a id="2025-08-29" />

## 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.

<a id="2025-08-28" />

## 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.

<a id="2025-08-27" />

## v0.4.3

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

<a id="2025-08-27" />

## v0.4.2

* Ensured pubsub is initialized before creating a run to prevent errors from missing messages.

<a id="2025-08-25" />

## v0.4.0

* 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.

<a id="2025-08-25" />

## 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.

<a id="2025-08-22" />

## 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.

<a id="2025-08-21" />

## v0.3.1

* Added a statement timeout to the pool to prevent long-running queries.

<a id="2025-08-21" />

## 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.

<a id="2025-08-20" />

## v0.2.137

* Fixed an unbound local error and improved logging for thread interruptions or errors, along with type updates.

<a id="2025-08-20" />

## 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.

<a id="2025-08-19" />

## v0.2.135

* Ensured async coroutines are properly awaited to prevent potential runtime errors.

<a id="2025-08-18" />

## v0.2.134

* Enhanced search functionality to improve performance by allowing users to select specific columns for query results.

<a id="2025-08-18" />

## 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.

<a id="2025-08-15" />

## 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.

<a id="2025-08-14" />

## v0.2.131

* Added support for `object agent spec` with descriptions in JS.

<a id="2025-08-13" />

## 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.

<a id="2025-08-11" />

## 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.

<a id="2025-08-08" />

## v0.2.128

* Ensured synchronized updates between `configurable` and `context` in assistants, preventing setup errors and supporting smoother version transitions.

<a id="2025-08-08" />

## v0.2.127

* Excluded unrequested stream modes from the resumable stream to optimize functionality.

<a id="2025-08-08" />

## 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.

<a id="2025-08-06" />

## v0.2.125

* Updated tracing context replicas to use the new format, ensuring compatibility.

<a id="2025-08-06" />

## v0.2.123

* Added an entrypoint to the queue replica for improved deployment management.

<a id="2025-08-06" />

## v0.2.122

* Utilized persisted interrupt status in `join` to ensure correct handling of user's interrupt state after completion.

<a id="2025-08-06" />

## 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.

<a id="2025-08-04" />

## 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.

<a id="2025-07-31" />

## 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.

<a id="2025-07-31" />

## v0.2.116

* Reduced the default number of history checkpoints from 10 to 1 to optimize performance.

<a id="2025-07-31" />

## v0.2.115

* Optimized cache re-use to enhance application performance and efficiency.

<a id="2025-07-30" />

## v0.2.113

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

<a id="2025-07-30" />

## 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.

<a id="2025-07-29" />

## v0.2.111

* Fixed JS graph streaming failure by starting the heartbeat as soon as the connection opens.

<a id="2025-07-29" />

## v0.2.110

* Added interrupts as default values for join operations while preserving stream behavior.

<a id="2025-07-28" />

## v0.2.109

* Fixed an issue where config schema was missing when `config_type` was not set, ensuring more reliable configurations.

<a id="2025-07-28" />

## v0.2.108

* Prepared for LangGraph v0.6 compatibility with new context API support and bug fixes.

<a id="2025-07-27" />

## v0.2.107

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

<a id="2025-07-27" />

## v0.2.106

* Made log streams resumable, enhancing reliability and improving user experience when reconnecting.

<a id="2025-07-27" />

## v0.2.105

* Added a heapdump endpoint to save memory heap information to a file.

<a id="2025-07-25" />

## v0.2.103

* Used the correct metadata endpoint to resolve issues with data retrieval.

<a id="2025-07-24" />

## 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.

<a id="2025-07-24" />

## v0.2.101

* Corrected the metadata endpoint for self-hosted deployments.

<a id="2025-07-22" />

## 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.

<a id="2025-07-19" />

## v0.2.98

* Added context to langgraph nodes to improve log filtering and trace visibility.

<a id="2025-07-19" />

## 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.

<a id="2025-07-17" />

## v0.2.96

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

<a id="2025-07-17" />

## 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.

<a id="2025-07-16" />

## 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.

<a id="2025-07-16" />

## v0.2.93

* Removed the GIN index for run metadata to improve performance.

<a id="2025-07-16" />

## v0.2.92

* Enabled copying functionality for blobs and checkpoints, improving data management flexibility.

<a id="2025-07-16" />

## 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.

<a id="2025-07-16" />

## v0.2.90

* Improve checkpoint writes via node-local background queueing.

<a id="2025-07-15" />

## v0.2.89

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

<a id="2025-07-14" />

## v0.2.88

* Removed the foreign key constraint for `thread` in the `run` table to simplify database schema.

<a id="2025-07-14" />

## v0.2.87

* Added more detailed logs for Redis worker signaling to improve debugging.

<a id="2025-07-11" />

## v0.2.86

* Honored tool descriptions in the `/mcp` endpoint to align with expected functionality.

<a id="2025-07-10" />

## v0.2.85

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

<a id="2025-07-09" />

## v0.2.84

* Removed unnecessary status updates to streamline thread handling and updated version to 0.2.84.

<a id="2025-07-09" />

## 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.

<a id="2025-07-03" />

## v0.2.82

* Addressed a race condition in background runs by implementing a lock using join, ensuring reliable execution across CTEs.

<a id="2025-07-03" />

## v0.2.81

* Optimized run streams by reducing initial wait time to improve responsiveness for older or non-existent runs.

<a id="2025-07-03" />

## v0.2.80

* Corrected parameter passing in the `logger.ainfo()` API call to resolve a TypeError.

<a id="2025-07-02" />

## 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.

<a id="2025-07-02" />

## 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.

<a id="2025-07-02" />

## 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.

<a id="2025-07-01" />

## v0.2.76

* Updated Redis cache delimiter to prevent conflicts with subgraph messages.

<a id="2025-06-30" />

## v0.2.74

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

<a id="2025-06-27" />

## 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.

<a id="2025-06-27" />

## v0.2.72

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

<a id="2025-06-26" />

## v0.2.71

* Improved logging for better clarity and detail regarding log types.

<a id="2025-06-26" />

## v0.2.70

* Improved error handling to better distinguish and log TimeoutErrors caused by users from internal run timeouts.

<a id="2025-06-26" />

## v0.2.69

* Added sorting and pagination to the crons API and updated schema definitions for improved accuracy.

<a id="2025-06-26" />

## v0.2.66

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

<a id="2025-06-25" />

## 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.

<a id="2025-06-24" />

## v0.2.64

* Added descriptions to version entries for better clarity.

<a id="2025-06-23" />

## 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.

<a id="2025-06-20" />

## v0.2.61

* Set a maximum idle time for Redis connections to prevent unnecessary open connections.

<a id="2025-06-20" />

## v0.2.60

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

<a id="2025-06-18" />

## 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.

<a id="2025-06-17" />

## v0.2.56

* Improved application stability by adding a handler for SIGTERM signals.

<a id="2025-06-17" />

## v0.2.55

* Improved the handling of cancellations in the queue entrypoint.
* Improved cancellation handling in the queue entry point.

<a id="2025-06-16" />

## 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.

<a id="2025-06-13" />

## 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.

<a id="2025-06-12" />

## 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.

<a id="2025-06-12" />

## 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.

<a id="2025-06-07" />

## v0.2.46

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

<a id="2025-06-05" />

## 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.

<a id="2025-06-04" />

## 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.

<a id="2025-06-04" />

## 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.

<a id="2025-06-04" />

## 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.

<a id="2025-06-03" />

## v0.2.41

* Added locking mechanism to prevent errors in pipelined executions.

***

<Callout icon="pen-to-square" iconType="regular">
  [Edit the source of this page on GitHub.](https://github.com/langchain-ai/docs/edit/main/src/langsmith/agent-server-changelog.mdx)
</Callout>

<Tip icon="terminal" iconType="regular">
  [Connect these docs programmatically](/use-these-docs) to Claude, VSCode, and more via MCP for real-time answers.
</Tip>
