github langwatch/langwatch langwatch@v1.0.0
langwatch: v1.0.0

15 hours ago

1.0.0 (2025-10-02)

Features

  • action to add complete thread to dataset at once (#546) (24a27ad)
  • add 'message' key extraction to heuristics (6b7bc9d)
  • add ability to delete project (#590) (6741f81)
  • add auth providers (#490) (93b4063)
  • add check for required sso login (#657) (bff7cbc)
  • add cold storage for older traces (307eef4)
  • add crewai open telemetry (#549) (e47bc67)
  • add filters to custom graphs (#483) (974ff9f)
  • add frill integration (#462) (3b1f3d0)
  • add hours markers on the graphs for smaller periods (#394) (a9b2bc4)
  • add image viewing dataset (#620) (0aa5bcf)
  • Add ingress to helm chart (#385) (34f2f45)
  • add langwatch docker images to release-please (e9f98b7)
  • add leaf node durations to sequence diagram (14f281b)
  • add manual topic clustering and better input extraction (#668) (29730f0)
  • add members signup (#642) (5e3706d)
  • add pagination to scenario (#569) (75048f1)
  • add prometheus to helm charts (#501) (45a4297)
  • add release-please to mcp-server (#647) (1839f41)
  • add scenario analytics (#469) (8fe1486)
  • add scenario to usage stats (#471) (d036e56)
  • add support for azure api gateway (#641) (d66495e)
  • add trace usage to dashboard and usage page (#498) (9d26e79)
  • add vpc security groups to the dynamic lambda for better access control (9878f7e)
  • add xai cerebras (#670) (b069fa8)
  • added auto setup functionality for langwatch mcp (#617) (8c95b07)
  • allow admins to turn off trace sharing per project (#585) (1f575d0)
  • allow pasting of comma separated models (#586) (eb0761d)
  • allow to archive team (#602) (97ca118)
  • allow to export sequence mermaid diagram (fc82092)
  • allow to set the run_id manually (93417de)
  • allow to track dspy evaluators as well (by @WSJUSA) (#488) (1b79275)
  • analytics table (#441) (e100c61)
  • bump it all from gpt-4o-mini to gpt-5 (e2fb8bb)
  • ci/cd steps for all packages and deployables, including improvements to caching and bundle sizes (#351) (e67a169)
  • click to prompt filter new page LWH-1091 (#514) (62455ce)
  • create a lambda per project (#420) (c8b25be)
  • download tiktokens from repository (#410) (ce68c38)
  • expand prompts support in python sdk (#540) (f7cd8b2)
  • get rid of websockets entirely, use SSE only for more reliability (668aca9)
  • guaranteed availability (#630) (d4d3f55)
  • guaranteed availability python (#633) (1818542)
  • implement sequence diagram for agents and tool calls based on the trace (#666) (ce159ca)
  • improve helm chart (#608) (699b8f0)
  • improve ingestion of strands traces (#589) (7d05c9b)
  • improve langwatch helm chart (#576) (41312a3)
  • langwatch go sdk & otelopenai instrumentation (#340) (fd9c4ee)
  • make set id more prominent on card (#446) (d62f9f8)
  • move to cold storage earlier as it's still pretty fast on ES (3d57185)
  • new open-telemetry based typescript sdk (#500) (7636d4c)
  • open trace for each simulation message (#582) (9dfd3c4)
  • process claude code otel logs (2beb6d9)
  • prompt cli (#524) (aeaddc5)
  • prompt handle UI (#516) (d812ed9)
  • prompt ids first class filter (#510) (13c6877)
  • prompt references (DB + API) (#515) (3a557a8)
  • python sdk tracing improvements (#572) (8448ed1)
  • redesign typescript sdk (#529) (dc9637d)
  • refresh the design of the project welcome screen, and improve some scenarios ux points (#447) (0a64724)
  • render image url when inside markdown format for evals v2 (9a3f4b7)
  • render tool calls (062797a)
  • reset output panel when changing prompts (#493) (19d84f3)
  • reveal agent simulations in the main menu (#448) (950d7be)
  • rework annotations (#449) (111ae81)
  • rework annotations (#451) (121a4a4)
  • scenarios - update in progress console (#507) (2e86677)
  • setup and added basic open-telemetry to the nextjs app and workers and upgrade to vercel ai v5 (#559) (29041d6)
  • ship new typescript sdk (#523) (ff17340)
  • show copyable prompt id and metadata (#492) (0de5fdb)
  • show error stack when present (#511) (c9295e9)
  • show sdk for python snippet (79301d6)
  • show sdk for python snippet with docs link (#494) (79301d6)
  • signup tracking (#479) (128b7fa)
  • simulations frontend (#431) (cb0bf0b)
  • support creating prompt version with prompt (#525) (b475c81)
  • support events via log records with otel collector (#428) (dc7c6ca)
  • support getting prompt with version number in python sdk (#563) (119cc2b)
  • support strands agents gen_ai span events (#532) (ddd69b6)
  • thread mapping (#675) (33bc70c)
  • tracing of claude code via opentelemetry logs (#665) (2beb6d9)
  • update footer menu (#499) (85be4c7)
  • update prompt snippets (#504) (5c91236)
  • updates to prompt sdk (#530) (492d269)
  • use query param for prompt id selection (#491) (626aafc)
  • workflow get dataset from api (#405) (705d3f1)

Bug Fixes

  • [revert] make the merging of spans created by log records and normal spans more intelligent (#562) (97f499d)
  • actually fix CoT (#473) (48bc852)
  • add 501s for logs and metrics in case of accidental otel connection to langwatch (3dfb56e)
  • add batching to scenario look ups (#568) (bb0abf9)
  • add db schema back to the helm chart (#599) (2b78fc4)
  • add missing dependency for langwatch (93b66cc)
  • add missing dotenv dependency for running tests (fb706ce)
  • add provider messages (#664) (d720ad4)
  • add pyyaml as dep (#648) (083f7bd)
  • add repo chart in ci (#597) (8aa23bf)
  • add setting to batch evals (#551) (0b2cff6)
  • add spans to total cost (#461) (674bfd5)
  • add to dataset would stay loading if trace was not in a thread (#555) (d7c3dd3)
  • add type fix (#486) (796408b)
  • adjust redis cluster configuration (#395) (b1cb008)
  • allow demo project (#601) (13daa5e)
  • allow to continue es index migration and better logging (cd28447)
  • allow to just partially send the timestamps on otel, to send the time to first token, as otel already sends the start and end automatically (f5147f6)
  • allow writing to cold index for annotating old data (#643) (908b3c6)
  • annotation (#640) (5de7f8c)
  • annotation bugs (#457) (e7578f7)
  • annotation type fixes (#456) (165643c)
  • autoparsing for langwatch eval components (05f2c5f)
  • avoid 'function already exists' lambda error (322486c)
  • better error handling for lambdas issues (769a1f2)
  • better strands agents tracing detection (#533) (d739d95)
  • broken integration tests (#519) (67191ed)
  • broken package.json on typescript sdk (#522) (85eed4c)
  • building in webpack was failing due to missing fallback modules (#311) (a7e1398)
  • calling migrateToColdStorage correctly if a projectId was passed (49cba3d)
  • chain of thought (#437) (ee48fd2)
  • change demonstrations format on prompt back to get demos working again on dspy (65fb550)
  • check custom series (#459) (ecc501a)
  • check for email (#505) (c2d218b)
  • check if saas (#506) (8f65b1c)
  • column name edit (#607) (f6d3c15)
  • convert table columns to id-valid names when autofilling mustache variables (#485) (f2f0f40)
  • copro logger patching in dspy (#465) (4cec023)
  • copy-types needed shebang, and fix git checks on publish with pnpm (#521) (f371442)
  • crash prevention and better error handling (44a804c)
  • crisp (#678) (856284a)
  • csv upload with reserved column name (#606) (51bd3a9)
  • custom evaluator fixes on the studio (#416) (d91fda9)
  • custom graph colour and name fix (#475) (9bc2b41)
  • custom metadata was broken in new transformer code (#326) (b8e6a65)
  • datagrid wasn't loading due to broken dynamic import (#406) (a66062d)
  • dataset image column type + use liquid templates instead of low level python string template to avoid having issues with json interpolation (c6e2ede)
  • dataset images (#629) (7e74c05)
  • delete in batches and allow finer control of the move to cold storage (642a72d)
  • dict type conversion (db2014d)
  • disable server-side rendering (#396) (823020d)
  • disable sorting on topics, metadata, events (#481) (a1cbaab)
  • disable tracing on evaluations and optimizations for now (666333e)
  • disable usage stats by env (#403) (4f9ce9c)
  • disallow non-named params to avoid confusing users (#565) (92fbeb7)
  • display custom components entry even if connected to an evaluator only (b686227)
  • displaying the saved analytics keys (48af873)
  • do a second level of nesting for fixing lost metadata during race-conditions of metadata updates (1d4454c)
  • do not even schedule usage stats if disabled (7167f86)
  • do not require validate single commit because we dont have the isssue described on the comment about (c0d6d2d)
  • do not retry job if collection usage failed, user might be behind a proxy that can't reach outside (e174fee)
  • downgrade litellm dependency due to BerriAI/litellm#14145 preventing to build it on lambda (066d97c)
  • downgrade no organizations found from error to debug, it's not really an error (0957967)
  • dspy optimization studio fixes for template adapter (#477) (1231a14)
  • env message (#444) (ea24911)
  • eval wizard bug fixes v1 (#445) (c217697)
  • evaluator setting fields that were being ignored for being falsy (a2dee80)
  • executing prompts and saving prompts from the studio (88a01fc)
  • failing sdk tests (#619) (d96be17)
  • fix creating and saving new prompts from scratch, make organization id mandatory (aa54bf8)
  • fix model list not custom and surface eval error message (c965e04)
  • fix trace cost (#487) (22aa7c0)
  • flag UseSVE seems to no longer be necessary for M3+ mac families (89a4eff)
  • get rid of context for tracking current span, rely exclusively on the opentelemetry one instead, fixing out-of-parent spans (#595) (ee41980)
  • go sdk updates and readme fixes (#423) (eeb81d5)
  • gtm iframe csp (#478) (945b952)
  • handle broken image message rendering (#454) (f097678)
  • helm improvements (#450) (d0a7da2)
  • helm release name (#649) (51facd0)
  • ignore 'an update is in progress' lambda errors (7babe9a)
  • image processing on the studio (#458) (be8b6c0)
  • import get_current_span from the correct location in litellm autotrack (#542) (082869d)
  • improve agno input capturing (#528) (acfc774)
  • improve how handled errors are returned to the client for the get prompt api (#467) (4d50bd9)
  • improve metadata mapping for scalar types (#392) (8024015)
  • increase minimum memory needed for langwatch_nlp to prevent OOM errors (69a1787)
  • inner box scenario overflow (#567) (b3f3507)
  • judge agent for mcp-server test (cd8e378)
  • langwatch/package.json & langwatch/package-lock.json to reduce vulnerabilities (#177) (c45c54c)
  • langwatch/package.json & langwatch/package-lock.json to reduce vulnerabilities (#196) (d051ebe)
  • limit to rendering 50 messages per thread for performance reasons (857111a)
  • local running of workers (#334) (9092d27)
  • local setup readme guide was wrong (#367) (35d5715)
  • make peer dependencies more loose, remove vercel ai as a peer dep (#526) (67e4bc9)
  • make scenario message validations possibly less strict, like the trace ones, for supporting vercel v5 messages without throwing 400s (f3b2789)
  • make the merging of spans created by log records and normal spans more intelligent (#545) (b8a0c24)
  • match run ids and some rework (#571) (ab39c0b)
  • mcp-server ci (0ab6e51)
  • merge custom metadata inside the metadata property instead of outside when updating to avoid creating new ES fields (384117e)
  • migration from legacy (#543) (8098098)
  • missing attributes on trace (#646) (ac7ea8b)
  • more logging improvements, and fix usage in otel collector (#304) (8ab6fcf)
  • move extrataneous metrics to params on the span (02b6ab1)
  • multithread tracing on python-sdk (#411) (4be3c19)
  • new member bug fixes (#537) (a0c7bc1)
  • node import in frontend (49a3f5a)
  • only trace if tracing is enabled (3bfd454)
  • otel misconfiguration (#621) (55725cb)
  • otel traces parsing guard (#566) (33576d0)
  • parametrize sentry dns at langwatch nlp (#402) (4a68684)
  • pasting big prompts on prompt editor causing glitch on the scroll and box size (828740c)
  • pino cjs bs (#303) (76e5f13)
  • potentially missing spans when updating an existing trace (#305) (1e94bd8)
  • pre-fetch tiktoken models during build (#398) (1d733d1)
  • prep for python-sdk@0.2.0rc5 (#292) (d380fcd)
  • prepare typescript sdk (#622) (9b85394)
  • prevent seeing api key, other projects and team member around the demo organization (1c3f4d2)
  • processing json schema with enums on the studio and dspy lazy import (#435) (9fc6e1e)
  • progress bar fix (#547) (9b68ab1)
  • project route fix (#588) (6b0a6f7)
  • prompt overflow (#594) (a15aaf8)
  • prompt tracing (#653) (9d39650)
  • prompting technique and end node change (#430) (ef1831e)
  • proper error matching (96a022a)
  • python-sdk instrumentation no need to set current span as parent as that the default (231c8a1)
  • readme was from an early draft of the typescript sdk (#662) (5a2b115)
  • reasoning summary is an unknown parameter, and function already exists lambda was not being ignored (dd7857e)
  • remove auto added to teams now that we show admin message to do it (#604) (0974db7)
  • remove dspy and litellm from being mandatory dependencies and update strands version (#578) (0af71f8)
  • remove knn from index settings for opensearch, it's not needed and breaks lite version without knn plugin (#401) (247b7b7)
  • remove need to publish workflow for export (#421) (0a4b88e)
  • remove sorting back because that causes the accordion to close right now (6a3b4a1)
  • replace nanoid with pksuid and remove it from openai tracer (b4116d7)
  • retrieve saved non-custom model providers that are disabled/enabled and not by default (7b19278)
  • revert change to LangWatchExporter constructor to prevent behaviour change (#527) (21dd188)
  • rework pagination (#573) (93df820)
  • rework routing bug (#587) (a6a43bb)
  • run claude-code on the CI (d760307)
  • run helm chart ci when workflow file changes too (#598) (024b460)
  • scenario events ES migration and helm chart issues, bump to v0.1.5 (80c76ea)
  • scrollbars on field filters (b4b6c5b)
  • secrets on typescript sdk publish tests (#520) (1b88252)
  • set do_not_trace for custom evals and add a mutable way to disable sending at runtime, fixing problem of reused runtimes and infinite loops in a real time eval evaluating itself and tracing (f7d3a9f)
  • set redacted false for share url (#432) (a038ad2)
  • set the api key properly on every event (#419) (b98b560)
  • signup (#579) (2ef0850)
  • simplify truncation logic (2e65ca2)
  • skip auto setup without api key (#609) (1753982)
  • skip flakey test (#508) (a5e99ee)
  • small studio fixes (#482) (7c654bc)
  • some sdk endpoint fallbacks were to incorrect endpoints (#548) (6d63122)
  • span fix to allow all types (#554) (5892830)
  • span merging (#615) (e92eed0)
  • split connection timeout and next chunk timeout for sse (2601c76)
  • sso org level new user creation (#553) (b81a54b)
  • stop resending post_event when tab switches, weird default behaviour from microsoft fetch-event-source: Azure/fetch-event-source#36 (2ab38cf)
  • strands agents choice events now support json and non-json content fields (#534) (d1d793b)
  • stringify nested jsonl values correctly before sending it to react-paparse (8cf6f54)
  • studio input improvements (#414) (3b9e48a)
  • sync trace costs (#489) (83caeb2)
  • thread grouping in the otel collector (#427) (cc24ddb)
  • thumbs up/down filter selection, scrollbars visible on windows, overflowing badges (5bddf75)
  • timeseries metrics not being calculated correctly for ranges less than a day, align with summary logic now (#397) (48cd918)
  • traced prompt output & typescript default import issue (#558) (21cc4cf)
  • traces by thread for publish share (#434) (317d695)
  • truncate and an utf-8 safer maner to ensure byte size limits (3549421)
  • type errors (#439) (2ef527d)
  • type issues from redaction (#286) (59922da)
  • typescript sdk loicense badge to be mit and use correct logo path (#660) (688429d)
  • udpate OpenTelemetry in SDK (#417) (de3e847)
  • ui fixes (#676) (b6d533e)
  • update docker for nlp (#409) (4056dcf)
  • update frill env usage (#470) (59f6946)
  • update github link (#502) (cf153fc)
  • update helm char lock file (#596) (ff22682)
  • update log steps (#616) (fe5fd22)
  • update nlp with latest python sdk (#408) (c0b64d1)
  • update pagination, add specific batch id (#577) (e0d9f47)
  • update scenario pagination (#574) (4b0d934)
  • update scenario_analytics.integration.test.ts (#497) (95ddb99)
  • update snippets with path and method (#480) (baad80d)
  • update the metadata when multiple get_current_trace().update happens instead of replacing it (13b6921)
  • updated sync trace costs (#495) (3381f28)
  • updating prompt after a sync (9a2bfc4)
  • usage stats (#672) (aa30225)
  • use client timezone also for doing the aggregations so elasticsearch can aggregate in the right date bucket (#400) (159b553)
  • use langevals answer match on the studio as well, fix ui spacing for nodes (ec40467)
  • use the right lambda client for sync workflow invoke (c28cdce)
  • use x-litellm instead of litellm to inject evaluator model config (#591) (fdfc9a6)

Miscellaneous

Documentation

  • add detailed markdown documentation for LangWatch eval notebook (#618) (525b62a)
  • add pdf parsing evaluation example (0e5bd93)
  • added mcp-server contributing guide (19d1431)
  • improve notebook descriptions (fa1f267)
  • license link on readme (7e9172a)
  • update offline evaluation example with an image (509f00b)

Code Refactoring

  • improved type safety and SRP services (#611) (1270e4b)
  • remove rendudant build (bb8d169)
  • split collector and processor helathchecks endpoints (#399) (0eefbe5)
  • split tool call fix helper (c95028f)

Don't miss a new langwatch release

NewReleases is sending notifications on new releases.