<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>LangSmith — The AI Toolchain</title>
    <link>https://aitoolchain.io/tools/langsmith</link>
    <description>New releases and features in LangSmith, tracked by The AI Toolchain.</description>
    <language>en</language>
    <lastBuildDate>Mon, 10 Aug 2026 00:00:00 GMT</lastBuildDate>
    <atom:link href="https://aitoolchain.io/tools/langsmith/rss.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>LangSmith snapshot-20260831</title>
      <link>https://docs.langchain.com/langsmith/changelog#july-6-10-2026</link>
      <guid isPermaLink="true">https://docs.langchain.com/langsmith/changelog#july-6-10-2026</guid>
      <pubDate>Mon, 10 Aug 2026 00:00:00 GMT</pubDate>
      <description>• Adds `POST /v2/datasets/{dataset_id}/experiment-runs` as the supported public API for paginated experiment comparison.
• Introduces the `FF_BULK_EXPORT_DEFAULT_COMPRESSION` environment variable to retain `gzip` compression on self-hosted deployments; all other deployments now default bulk export compression to `zstandard` (`zstd`).
• OpenTelemetry resource attributes set via `OTEL_RESOURCE_ATTRIBUTES` now appear on traces as metadata namespaced under `otel.resource.*`, enabling attachment of fields like user IDs without changing span emission.
• LangSmith MCP tools that fetch runs or thread history now accept project UUIDs in addition to project names.
• Enforces user-defined monthly trace limits scoped to individual projects and users; new traces exceeding a configured limit are rejected while patches and feedback for accepted traces continue to flow.
• Adds a reorderable &apos;Splits (latest)&apos; column to the experiment comparison view showing each example&apos;s current dataset split assignments as chips reflecting live membership.
• Each split chip in the Splits cell of experiment results and comparison views is now interactive, with an &apos;Edit splits&apos; action that opens the single-example split picker inline.
• Thread evaluator config preview now shows only the thread message formats the evaluator actually maps, and displays a locked &apos;Trace count ≥ 2&apos; filter for managed thread evaluators.
• Vercel AI SDK traces sent over raw OpenTelemetry now render in the Messages view.
• Native OpenTelemetry child spans are no longer dropped when they arrive before an SDK-attributed parent span; they are buffered and correctly nested regardless of arrival order.
• Bulk export of a dataset comparison view now returns a clear &apos;file is too large to export&apos; error instead of a generic server error when the export exceeds internal size limits.
• LangSmith now caps reusable evaluators per workspace to prevent unbounded resource growth; contact support for higher limits.
• When a runs query times out, the runs table now shows a timeout banner instead of a silent failure.
• LangSmith now preserves traces in multipart ingestion batches when one run has oversized inputs or outputs, replacing oversized fields with a placeholder instead of rejecting the entire batch.
• Thread pages now show an explicit access-control message when trace loading is denied by ABAC, instead of a generic retrieval error.
• Authenticated users viewing public runs now see sidebar navigation for their last selected workspace.
• Thread stats requests that opt into streaming now return main stats first and append feedback stats when ready.
Breaking changes:
• Legacy dataset comparison helpers are removed from the public OpenAPI spec and generated SDKs; existing HTTP routes continue to work only for LangSmith UI clients.
• Bulk export compression now defaults to `zstandard` (`zstd`) on all deployments except self-hosted environments, which retain `gzip` via the `FF_BULK_EXPORT_DEFAULT_COMPRESSION` environment variable.</description>
    </item>
    <item>
      <title>LangSmith snapshot-20260830</title>
      <link>https://docs.langchain.com/langsmith/changelog#july-6-10-2026</link>
      <guid isPermaLink="true">https://docs.langchain.com/langsmith/changelog#july-6-10-2026</guid>
      <pubDate>Mon, 10 Aug 2026 00:00:00 GMT</pubDate>
      <description>LangSmith adds bulk split editing, thread evaluator testing, per-project trace limits, zstd export compression, and OTEL resource attribute tracing.
• Adds `test_thread_id` and `session_id` parameters to the `/runs/rules/validate` endpoint to test multi-turn thread evaluators against a real conversation before saving.
• Supports `OTEL_RESOURCE_ATTRIBUTES` values on traces as metadata namespaced under `otel.resource.*`, enabling user IDs and other resource attributes to appear without changing span emission.
• Adds `FF_BULK_EXPORT_DEFAULT_COMPRESSION` environment variable to override bulk export compression on self-hosted deployments (default is now `zstd`; self-hosted retains `gzip` via this flag).
• Enforces user-defined monthly trace limits scoped to individual projects and users, rejecting new traces that exceed the configured limit while allowing patches and feedback on accepted traces to continue.
• Each split chip in experiment results and comparison views now has an interactive &apos;Edit splits&apos; action to reassign splits without leaving the table.
• Bulk export compression now defaults to zstandard (`zstd`) for improved performance.
• LangSmith now returns clearer `409 Conflict` messages distinguishing duplicate run create from run update payloads.
• Code evaluator upload now accepts Python entrypoints annotated with PEP 604 union return types (e.g. `-&gt; dict | None`).
• Native OpenTelemetry child spans are now buffered and correctly nested when they arrive before an SDK-attributed parent span.
Breaking changes:
• Legacy dataset comparison helpers are removed from the public OpenAPI spec and generated SDKs; existing HTTP routes continue to work only for LangSmith UI clients.</description>
    </item>
    <item>
      <title>LangSmith snapshot-20260829</title>
      <link>https://docs.langchain.com/langsmith/changelog#july-6-10-2026</link>
      <guid isPermaLink="true">https://docs.langchain.com/langsmith/changelog#july-6-10-2026</guid>
      <pubDate>Mon, 10 Aug 2026 00:00:00 GMT</pubDate>
      <description>LangSmith adds project/user trace limits, OTEL resource metadata, thread evaluator testing, bulk split editing, and zstd export compression.
• Adds bulk split management in experiment views — select multiple rows (or all matching current filters) to add, replace, or remove dataset splits, or copy selected examples to another dataset in one action.
• Custom code evaluators that time out or fail on a run now record an error on that run instead of silently leaving it without feedback.
• LangSmith returns clearer `409 Conflict` messages when duplicate run create or update payloads are submitted, indicating whether the duplicate was a create or update request.
• Sharing, viewing, or unsharing any run in a trace now operates on the trace root, making every run in a shared trace publicly viewable and opening public run links within the shared trace context.
• The batched-run ingestion log now emits `run_verbs` as a list of `run_id` and `verbs` objects instead of a map keyed by run UUID, preventing structured-log aggregators from exhausting dynamic field limits.
Breaking changes:
• Legacy dataset comparison helpers are removed from the public OpenAPI spec and generated SDKs (existing HTTP routes continue to work for LangSmith UI clients).</description>
    </item>
    <item>
      <title>LangSmith snapshot-20260828</title>
      <link>https://docs.langchain.com/langsmith/changelog#july-6-10-2026</link>
      <guid isPermaLink="true">https://docs.langchain.com/langsmith/changelog#july-6-10-2026</guid>
      <pubDate>Mon, 10 Aug 2026 00:00:00 GMT</pubDate>
      <description>LangSmith adds project/user trace limits, zstd bulk export, OTEL resource metadata, and thread evaluator improvements
• Adds `POST /v2/datasets/{dataset_id}/experiment-runs` as the supported public API for paginated experiment comparison.
• Bulk export compression now defaults to zstandard (`zstd`) for improved performance; self-hosted environments retain the gzip default via the `FF_BULK_EXPORT_DEFAULT_COMPRESSION` environment variable.
• OpenTelemetry resource attributes set via `OTEL_RESOURCE_ATTRIBUTES` now appear on traces as metadata namespaced under `otel.resource.*`, enabling attachment of details like user IDs without changing span emission.
• LangSmith MCP tools that fetch runs or thread history now accept project UUIDs in addition to project names.
• Vercel AI SDK traces sent over raw OpenTelemetry now render in the Messages view.
• Adds an interactive split chip with an &apos;Edit splits&apos; action in experiment results and comparison views, enabling per-example split reassignment without leaving the table.
• Adds an optional, reorderable &apos;Splits (latest)&apos; column in experiment comparison view showing each example&apos;s current dataset split assignments as chips.
• Enables bulk selection of experiment rows to add, replace, or remove dataset splits, or copy selected examples to another dataset, in one action.
• Native OpenTelemetry child spans arriving before an SDK-attributed parent span are now buffered and correctly nested regardless of arrival order.
• LangSmith now preserves traces in multipart ingestion batches when one run has oversized inputs or outputs, replacing oversized fields with a placeholder instead of rejecting the entire batch.
• The `/runs/rules/validate` endpoint now supports thread evaluators.
• The evaluator config now shows a locked &apos;Trace count &gt;= 2&apos; filter for managed thread evaluators, making it clear they only run on threads with multiple turns.
• Thread stats requests that opt into streaming now return main stats first and append feedback stats when ready.
• All time filters in tracing views now query the full retention window instead of falling back to a shorter backend default.
Breaking changes:
• Legacy dataset comparison helpers are removed from the public OpenAPI spec and generated SDKs; existing HTTP routes continue to work only for LangSmith UI clients.
• The batched-run ingestion log now emits `run_verbs` as a list of `run_id` and `verbs` objects instead of a map keyed by run UUID.</description>
    </item>
    <item>
      <title>LangSmith snapshot-20260826</title>
      <link>https://docs.langchain.com/langsmith/changelog#july-6-10-2026</link>
      <guid isPermaLink="true">https://docs.langchain.com/langsmith/changelog#july-6-10-2026</guid>
      <pubDate>Mon, 10 Aug 2026 00:00:00 GMT</pubDate>
      <description>• Adds `test_thread_id` and `session_id` parameters to the `/runs/rules/validate` endpoint to test multi-turn thread evaluators against real conversations before saving.
• New `POST /v2/datasets/{dataset_id}/experiment-runs` public API endpoint for paginated experiment comparison (legacy dataset comparison helpers removed from public OpenAPI spec and generated SDKs).
• Enforces user-defined monthly trace limits scoped to individual projects and users; new traces exceeding a configured limit are rejected while patches and feedback for already-accepted traces continue.
• Bulk row actions in experiments now allow selecting multiple (or all filtered) rows to add, replace, or remove dataset splits in one action, or copy selected examples to another dataset.
• Each split chip in Splits cells across experiment results and comparison views now has an interactive &apos;Edit splits&apos; action to reassign splits without leaving the table.
• Workspace-level cap on reusable evaluators introduced to prevent unbounded resource growth.
Breaking changes:
• Legacy dataset comparison helpers are removed from the public OpenAPI spec and generated SDKs (existing HTTP routes continue to work for LangSmith UI clients only).</description>
    </item>
    <item>
      <title>LangSmith snapshot-20260825</title>
      <link>https://docs.langchain.com/langsmith/changelog#july-6-10-2026</link>
      <guid isPermaLink="true">https://docs.langchain.com/langsmith/changelog#july-6-10-2026</guid>
      <pubDate>Mon, 10 Aug 2026 00:00:00 GMT</pubDate>
      <description>• Adds per-project and per-user monthly trace limits: new traces exceeding a configured limit are rejected, while patches and feedback for already-accepted traces continue to flow through.
• Bulk row actions in experiment views now let you select multiple rows (or all rows matching current filters) and add, replace, or remove dataset splits in one action, or copy selected examples to another dataset.
• LangSmith now returns clearer `409 Conflict` messages when duplicate run create or update payloads are submitted, indicating whether the duplicate was a create or update request.
• Custom code evaluators that time out or fail on a run now record an error on that run instead of silently leaving it without feedback.
• Code evaluator upload now accepts Python entrypoints annotated with PEP 604 union return types (e.g. `-&gt; dict | None`).
Breaking changes:
• Legacy dataset comparison helpers are removed from the public OpenAPI spec and generated SDKs; existing HTTP routes continue to work only for LangSmith UI clients.</description>
    </item>
    <item>
      <title>LangSmith snapshot-20260824</title>
      <link>https://docs.langchain.com/langsmith/changelog#july-6-10-2026</link>
      <guid isPermaLink="true">https://docs.langchain.com/langsmith/changelog#july-6-10-2026</guid>
      <pubDate>Mon, 10 Aug 2026 00:00:00 GMT</pubDate>
      <description>LangSmith adds thread evaluator API testing, project/user trace limits, zstd bulk export, and OpenTelemetry resource attribute tracing.
• The `POST /v2/datasets/{dataset_id}/experiment-runs` endpoint is now the supported public API for paginated experiment comparison.
• The `/runs/rules/validate` endpoint now supports thread evaluators — pass `test_thread_id` and `session_id` to test a multi-turn evaluator against a real conversation before saving.
• OpenTelemetry resource attributes set via `OTEL_RESOURCE_ATTRIBUTES` now appear on traces as metadata namespaced under `otel.resource.*`, enabling user IDs and other span metadata without changing tracer emit logic.
• Bulk export compression now defaults to zstandard (`zstd`); self-hosted environments retain `gzip` as the default via the `FF_BULK_EXPORT_DEFAULT_COMPRESSION` environment variable.
• LangSmith now enforces user-defined monthly trace limits scoped to individual projects and users, rejecting new traces that exceed a configured limit while allowing patches and feedback for already-accepted traces.
• LangSmith MCP tools that fetch runs or thread history now accept project UUIDs in addition to project names.
• Vercel AI SDK traces sent over raw OpenTelemetry now render in the Messages view.
• Adds a reorderable &apos;Splits (latest)&apos; column to the experiment comparison view showing each example&apos;s current dataset split assignments as chips.
• Bulk row actions in an experiment now allow adding, replacing, or removing dataset splits, or copying selected examples to another dataset, across multiple rows at once.
• Each split chip in a row&apos;s Splits cell in experiment results and comparison views is now interactive, with an &apos;Edit splits&apos; action opening the single-example split picker.
• Native OpenTelemetry child spans are no longer dropped when they arrive before an SDK-attributed parent span; they are buffered and correctly nested regardless of arrival order.
• Sharing, viewing, or unsharing any run in a trace now operates on the trace root, making every run in a shared trace publicly viewable.
• Thread stats requests that opt into streaming now return the main stats first and add feedback stats incrementally when ready.
• The batched-run ingestion log now emits `run_verbs` as a list of `run_id` and `verbs` objects instead of a map keyed by run UUID, preventing structured-log aggregators from exhausting dynamic field limits.
• LangSmith now preserves traces in multipart ingestion batches when one run has oversized inputs or outputs, replacing oversized fields with a placeholder instead of rejecting the entire batch.
• LangSmith now returns clearer `409 Conflict` messages indicating whether a duplicate was a run create or run update request when duplicate payloads are submitted.
• All time filters in tracing views now query the full retention window instead of falling back to a shorter backend default.
• Thread pages now show an explicit access-control message when trace loading is denied by ABAC, instead of a generic retrieval error.
Breaking changes:
• Legacy dataset comparison helpers are removed from the public OpenAPI spec and generated SDKs; existing HTTP routes continue to work only for LangSmith UI clients.</description>
    </item>
    <item>
      <title>LangSmith snapshot-20260823</title>
      <link>https://docs.langchain.com/langsmith/changelog#july-6-10-2026</link>
      <guid isPermaLink="true">https://docs.langchain.com/langsmith/changelog#july-6-10-2026</guid>
      <pubDate>Mon, 10 Aug 2026 00:00:00 GMT</pubDate>
      <description>LangSmith adds per-project trace limits, OTEL resource metadata, thread evaluator testing, bulk zstd export, and paginated experiment comparison API.
• Adds support for `test_thread_id` and `session_id` parameters on the `/runs/rules/validate` endpoint to test a multi-turn thread evaluator against a real conversation before saving.
• Self-hosted deployments can retain gzip bulk export compression by setting the `FF_BULK_EXPORT_DEFAULT_COMPRESSION` environment variable; bulk export now defaults to zstandard (zstd) for improved performance.
• Enables bulk split management in experiment views: select multiple rows (or all rows matching current filters) and add, replace, or remove their dataset splits in one action, or copy selected examples to another dataset.
• The `/runs/rules/validate` endpoint now supports thread evaluators.
• The thread evaluator config preview now shows only the thread message formats the evaluator actually maps, rather than every available format.
• Model, prompt, and tool chips in the Experiments table config cells now include a clickable `+N` overflow badge whose entries expose filter, group-by, open-in-playground, and details actions.
Breaking changes:
• Legacy dataset comparison helpers are removed from the public OpenAPI spec and generated SDKs (existing HTTP routes continue to work for LangSmith UI clients only).
• The batched-run ingestion log now emits `run_verbs` as a list of `run_id` and `verbs` objects instead of a map keyed by run UUID — structured-log aggregators parsing the old map shape will need to update their parsers.</description>
    </item>
    <item>
      <title>LangSmith snapshot-20260822</title>
      <link>https://docs.langchain.com/langsmith/changelog#july-6-10-2026</link>
      <guid isPermaLink="true">https://docs.langchain.com/langsmith/changelog#july-6-10-2026</guid>
      <pubDate>Mon, 10 Aug 2026 00:00:00 GMT</pubDate>
      <description>• Adds `POST /v2/datasets/{dataset_id}/experiment-runs` as the supported public API for paginated experiment comparison; legacy dataset comparison helpers are removed from the public OpenAPI spec and generated SDKs.
• Code evaluator upload now accepts Python entrypoints annotated with PEP 604 union return types (e.g., `-&gt; dict | None`).
• Authenticated users viewing public runs now see sidebar navigation for their last selected workspace.
Breaking changes:
• Legacy dataset comparison helpers are removed from the public OpenAPI spec and generated SDKs; code using those SDK methods must migrate to `POST /v2/datasets/{dataset_id}/experiment-runs`.
• The batched-run ingestion log now emits `run_verbs` as a list of `run_id` and `verbs` objects instead of a map keyed by run UUID, which will break structured-log aggregators or pipelines that expected the previous map format.</description>
    </item>
    <item>
      <title>LangSmith snapshot-20260821</title>
      <link>https://docs.langchain.com/langsmith/changelog#july-6-10-2026</link>
      <guid isPermaLink="true">https://docs.langchain.com/langsmith/changelog#july-6-10-2026</guid>
      <pubDate>Mon, 10 Aug 2026 00:00:00 GMT</pubDate>
      <description>LangSmith adds thread evaluator APIs, per-project trace limits, zstd bulk export, and OpenTelemetry resource attribute tracing.
• Bulk export compression now defaults to zstandard (`zstd`); self-hosted environments retain the `gzip` default via the `FF_BULK_EXPORT_DEFAULT_COMPRESSION` environment variable.
• Enables bulk selection of multiple experiment rows to add, replace, or remove dataset splits in one action, or copy selected examples to another dataset.
• Native OpenTelemetry child spans are no longer dropped when they arrive before an SDK-attributed parent span; they are buffered and correctly nested regardless of arrival order.
• Thread stats requests that opt into streaming now return main stats first and append feedback stats when ready.
• Each example&apos;s dataset splits now render as chips in the dataset Examples table with a clickable overflow menu.
• Legacy dataset comparison helpers are removed from the public OpenAPI spec and generated SDKs (existing HTTP routes continue to work for LangSmith UI clients).
• Custom code evaluators that time out or fail now record an error on the run instead of silently leaving it without feedback.
• When a runs query times out, the runs table now shows a timeout banner.
• LangSmith now preserves traces in multipart ingestion batches when one run has oversized inputs or outputs, replacing oversized fields with a placeholder instead of rejecting the entire batch.
• Returns clearer 409 Conflict messages when duplicate run create or update payloads are submitted, indicating whether the duplicate was a create or update request.
Breaking changes:
• Legacy dataset comparison helpers are removed from the public OpenAPI spec and generated SDKs; code using those SDK methods must migrate to `POST /v2/datasets/{dataset_id}/experiment-runs`.
• Bulk export compression defaults changed from `gzip` to `zstd` on cloud deployments; set `FF_BULK_EXPORT_DEFAULT_COMPRESSION` to retain `gzip` on self-hosted environments.
• The batched-run ingestion log now emits `run_verbs` as a list of `run_id` and `verbs` objects instead of a map keyed by run UUID; structured-log aggregators parsing the old map format will need to be updated.</description>
    </item>
    <item>
      <title>LangSmith snapshot-20260820</title>
      <link>https://docs.langchain.com/langsmith/changelog#july-6-10-2026</link>
      <guid isPermaLink="true">https://docs.langchain.com/langsmith/changelog#july-6-10-2026</guid>
      <pubDate>Mon, 10 Aug 2026 00:00:00 GMT</pubDate>
      <description>LangSmith adds bulk split management, thread evaluator testing via API, zstd export compression, project-scoped trace limits, and OpenTelemetry metadata namespacing.
• Adds `POST /v2/datasets/{dataset_id}/experiment-runs` as the supported public API for paginated experiment comparison.
• The `/runs/rules/validate` endpoint now accepts `test_thread_id` and `session_id` parameters to test multi-turn thread evaluators against a real conversation before saving.
• Adds `FF_BULK_EXPORT_DEFAULT_COMPRESSION` environment variable so self-hosted deployments can retain `gzip` when bulk export compression defaults to `zstd`.
• OpenTelemetry resource attributes set via `OTEL_RESOURCE_ATTRIBUTES` now appear on traces as metadata namespaced under `otel.resource.*`, enabling user ID and other context attachment without tracer changes.
• LangSmith now enforces user-defined monthly trace limits scoped to individual projects and users, rejecting new traces over the limit while allowing patches and feedback on already-accepted traces.
• Bulk export compression now defaults to zstandard (`zstd`) for improved performance.
• Adds a reorderable &apos;Splits (latest)&apos; column to experiment comparison views, showing each example&apos;s live dataset split assignments as chips.
• Enables bulk split management in experiment views: select multiple rows (or all rows matching current filters) and add, replace, or remove dataset splits, or copy selected examples to another dataset, in one action.
• Each split chip in experiment results and comparison view rows now exposes an &apos;Edit splits&apos; action opening the single-example split picker inline.
• LangSmith MCP tools that fetch runs or thread history now accept project UUIDs in addition to project names.
• Vercel AI SDK traces sent over raw OpenTelemetry now render in the Messages view.
• Native OpenTelemetry child spans are buffered and correctly nested when they arrive before an SDK-attributed parent span.
• Sharing, viewing, or unsharing any run in a trace now operates on the trace root, making every run in a shared trace publicly viewable via a shared link.
• Thread pages now show an explicit ABAC access-control message when trace loading is denied, instead of a generic error.
• All time filters in tracing views now query the full retention window instead of falling back to a shorter backend default.
• Dataset export now returns a clear &apos;file is too large to export&apos; error instead of a generic server error when the export exceeds internal size limits.
• The thread evaluator config now shows a locked &apos;Trace count &gt;= 2&apos; filter for managed thread evaluators, making eligibility criteria explicit.
• Experiment statistics now refresh promptly for recently run experiments while keeping historical experiment scans bounded.
Breaking changes:
• Legacy dataset comparison helpers are removed from the public OpenAPI spec and generated SDKs; existing HTTP routes continue to work for LangSmith UI clients only.</description>
    </item>
  </channel>
</rss>
