May 29th, 2026
TypeScript API SDK
v1.3.0
What’s New
- New
client.metricVersionsnamespace withlist,create, anddeploymethods for managing snapshot versions of a metric’s definition via/v1/metrics/{metric_id}/versionsand/v1/metrics/{metric_id}/versions/{version_name}/deploy. - New exported request/response types:
GetMetricVersionsRequest/Response,CreateMetricVersionRequest/Response, andDeployMetricVersionRequest/Response.
CLI
v1.3.0
What’s New
- Added
metric-versionssubcommands for managing snapshot versions of a metric’s definition:metric-versions list,metric-versions create, andmetric-versions deploy. Use these to review history, create new draft or immediately-deployed versions, and roll between versions without losing history.
May 22nd, 2026
May 21st, 2026
TypeScript API SDK
v1.2.0
What’s New
- Added a
dataPlaneUrlclient option andHH_DATA_PLANE_URLenvironment variable for configuring the data plane URL. These replace the previousserverUrloption andHH_API_URLenvironment variable. - The verbose logging output now labels the resolved URL as
Data plane URL:(previouslyAPI URL:).
Fixes & Improvements
- Environment variables set to the empty string (e.g.
HH_API_KEY=,HH_DATA_PLANE_URL=) are now treated as unset and fall back to defaults, rather than being propagated as a literal empty string.
Compatibility & Deprecations
- The
serverUrlclient option andHH_API_URLenvironment variable are deprecated and will be removed in the next major version. They continue to work but log a one-time deprecation warning to stderr on client construction. Migrate todataPlaneUrl/HH_DATA_PLANE_URL.
CLI
v1.2.0
What’s New
- Added
--data-plane-urlflag andHH_DATA_PLANE_URLenvironment variable for pointing the CLI at a specific HoneyHive data plane (e.g. self-hosted or staging deployments). Verbose output now labels this value asData plane URL:instead ofAPI URL:.
Compatibility & Deprecations
- The
--base-urlflag andHH_API_URLenvironment variable are deprecated and will be removed in the next major version. They still work as aliases for the new names but now log a deprecation warning to stderr on each invocation. Migrate to--data-plane-url/HH_DATA_PLANE_URL.
May 19th, 2026
TypeScript API SDK
v1.1.1
Fixes & Improvements
- Fixed a bug where
error.messageon thrown API errors was not populated, causing error logs and CLI output to omit the underlying failure detail.
CLI
v1.1.1
Fixes & Improvements
- Error output for failed API requests now includes the server’s error message. All CLI commands that hit the API previously printed only
API error <status>; they now printAPI error <status>: <message>with the actionable detail from the server.
Python SDK
v1.1.0
Added
- Charts API:
client.chartsCRUD surface- New
client.charts.create(),.list(),.get(chart_id),.update(chart_id, request), and.delete(chart_id)methods (plus*_asyncvariants) backed byPOST /v1/charts,GET /v1/charts,GET /v1/charts/{chart_id},PUT /v1/charts/{chart_id}, andDELETE /v1/charts/{chart_id}. Chart request and response models are exported fromhoneyhive.models.
- New
Changed
- CrewAI integration example refreshed
- The CrewAI example (
examples/integrations/crewai_integration.py) has been rewritten with three realistic customer-support scenarios (single-agent with tool calls, sequential two-agent crew, and@traceescalation). Crews are now named for clearer span labels, and teardown properly flushes remaining spans.
- The CrewAI example (
Fixed
-
Tracer init:
project/HH_PROJECTno longer requiredHoneyHiveTracer.init()previously requiredprojectand treated a missing value as degraded mode. Since the backend determines the project from the API key, onlyapi_keyis actually needed. Callers that followed the v1.0.1 deprecation guidance and removedprojectwere silently running in degraded mode — this is now fixed.projectandHH_PROJECTremain accepted for backwards compatibility (deprecated, to be removed in v2.0).
-
Duplicate
modelspans inevaluate()evaluate()could occasionally emit twomodelspans for a single LLM call when running multiple datapoints concurrently. The underlying race condition in instrumentation setup has been fixed.
Removed
cp_base_url=parameter andHH_CP_API_URLenv var removed- These options were vestigial configuration for an incomplete Control Plane integration that was never wired up or shipped. No customer code could have depended on them. They have been removed to clean up the public API surface. If you happen to pass
cp_base_url=or setHH_CP_API_URL, simply remove them —HH_API_URL/base_url=is the only base-URL setting.
- These options were vestigial configuration for an incomplete Control Plane integration that was never wired up or shipped. No customer code could have depended on them. They have been removed to clean up the public API surface. If you happen to pass
May 15th, 2026
TypeScript API SDK
v1.1.0
What’s New
- New
client.chartsnamespace withcreate,list,get,update, anddeletemethods for managing charts via/v1/chartsand/v1/charts/{chart_id}. - New
client.experiments.getSummary()method forGET /v1/runs/{run_id}/summary, returning pass/fail results, metric aggregations, per-datapoint results, and the experiment run object. - New
client.sessions.createEventBatch()method forPOST /v1/sessions/{session_id}/events/batch, accepting a batch of events scoped to a single session (thesession_idfrom the path overrides any value in the event body). - New exported request/response types:
CreateChartRequest/Response,GetChartRequest/Response,GetChartsResponse,UpdateChartRequest/Response,DeleteChartRequest/Response,GetExperimentSummaryRequest/Response, andCreateSessionEventBatchRequest/Response.
Compatibility & Deprecations
- Bumped
axiosfrom1.15.2to1.16.0.
CLI
v1.1.0
What’s New
- Added
chartssubcommands for managing charts via the CLI:charts list,charts create,charts get,charts update, andcharts delete. - Added
sessions create-event-batchfor adding a batch of events to an existing session. - Added
experiments get-summaryfor retrieving an experiment run’s evaluation summary, including pass/fail results and metric aggregations.
May 11th, 2026
Python SDK
v1.0.2
Fixed
-
Experiments: client-side evaluator scores now flow end-to-end in
evaluate()- Scores returned by evaluators in
evaluate()are now written to the correct user-function chain span viaenrich_span(metrics=…), exported over OTLP, and surfaced in server-side run comparison’s per-eventmetric_deltas. Previously, evaluator scores were duplicated intorun.metadata.evaluator_metricsand onto the per-datapoint session event, but neither path actually populated the per-event surface that run comparison requires — client-side evaluator scoring and comparison did not work end-to-end. - The two legacy write paths have been removed now that the scores are correctly written to the chain span as the single source of truth.
- Scores returned by evaluators in
-
API Client:
event_idtyped as required onPOST /eventsresponsesPostEventResponse.event_idwas incorrectly typed asOptional[str]in the OpenAPI spec; the backend always returns the field on a 2xx response. The spec was corrected and the generated SDK now reflects the runtime guarantee, removing the need for defensiveif event.event_id:guards. No runtime behavior change, but strictly typed mypy codebases withwarn_unreachable = Trueor pyright withreportUnnecessaryComparisonenabled may produce “unnecessary comparison” or “redundant Optional guard” warnings, depending on exact usage patterns.
Added
FilterFieldType.DATETIMEenum value- The SDK enum was missing the
"datetime"wire value supported by the backend. Additive — no behavior change for existing callers.
- The SDK enum was missing the
Deprecated
FilterFieldType.IDID = "id"was never a valid backend wire value and has always been rejected on the wire. Use"string"for UUID-shaped fields such assession_id. The alias is preserved so existing imports continue to resolve and will be removed in the next major.
Removed
honeyhivePython CLI entry point removed frompyproject.toml- The shipped Python
honeyhiveconsole script was non-functional (dead code) and shadowed the official TypeScript CLI on$PATH. CLI functionality is now provided by the officialhoneyhiveTypeScript CLI; removing the Python script entry point letshoneyhiveresolve correctly when both packages are installed globally.
- The shipped Python
May 5th, 2026
Python SDK
v1.0.1
Fixed
- Default API URL fallback corrected to
https://api.dp1.us.honeyhive.ai- The fallback value for the base API URL in the v1.0.0 release was incorrect. Any callers who relied on the implicit default would fail. The default now points at the host the SDK is built against, though self-hosted / non-default Data Plane deployments will still need to set
HH_API_URLexplicitly. Callers that explicitly setbase_url=/server_url=orHH_API_URLare unaffected.
- The fallback value for the base API URL in the v1.0.0 release was incorrect. Any callers who relied on the implicit default would fail. The default now points at the host the SDK is built against, though self-hosted / non-default Data Plane deployments will still need to set
Deprecated
projectargument andHH_PROJECTenvironment variable- The SDK’s public surface has accepted
project=onHoneyHive()andHoneyHiveTracer.init()and theHH_PROJECTenv var for historical reasons. These arguments and env vars have no influence on the backend and they were maintained purely for backwards compatibility of callers. This release sweeps the stale references out of the example scripts, README, and docstrings, and adds aDeprecationWarningat the remaining call sites that previously didn’t emit one. The argument and theHH_PROJECTenv var alias remain accepted for backwards compatibility and will be removed in v2.0.
- The SDK’s public surface has accepted
May 4th, 2026
Python SDK
v1.0.0
First stable GA release of the HoneyHive Python SDK. Public APIs follow semver from this release forward — breaking changes only on major versions, additive on minor and patch.The changes below are relative to1.0.0rc22. For the full picture of what shipped during the release-candidate cycle, see the 1.0.0rc1–1.0.0rc22 entries.Changed
-
Tracing:
skip_backend_session_creation=Truenow works without an explicitsession_id- Previously the flag only opted out of the init-time backend roundtrip when a
session_idwas also supplied. Setting the flag alone is now supported: the SDK skips the roundtrip, does not mint a UUID, and per-requestcreate_session(session_id=..., skip_api_call=True)calls emit spans that ingestion materializes into Session rows on first arrival.
- Previously the flag only opted out of the init-time backend roundtrip when a
-
Tracing:
create_session(skip_api_call=True)propagatessession_nameinto baggage- When
session_nameis supplied, it now travels withsession_idacross async / threaded boundaries.
- When
Removed
DeleteMetricQueryremoved fromhoneyhive.models- Internal query-params type that was exported but unused — no public method accepted or returned it. The public
client.metrics.delete(id=...)signature is unchanged.
- Internal query-params type that was exported but unused — no public method accepted or returned it. The public

