Changelog¶
All notable changes to the Coalex SDKs are documented here. Both SDKs follow Semantic Versioning.
Starting from v1.0.0, both the Python and TypeScript SDKs are versioned together.
v1.9.0¶
Dogfood SDK for self-observability.
Added¶
- Coalex SDK is now used internally by the transformer service for LLM judge self-observability
- This validates the full SDK pipeline end-to-end within Coalex's own infrastructure
v1.8.0¶
Prompt Vault -- versioned prompt management.
Added (Python only)¶
get_prompt()-- fetch prompt templates from the Prompt Vault with environment-aware versioningPromptVersiondataclass withid,agent_id,name,prompt_type,version,content,status, andmetadatafields- Version resolution:
"production"(default),"staging","draft","latest", or integer version number - API:
GET /api/v2/prompts/{agent}/{name}
v1.7.0¶
Agent lifecycle states and lazy registration.
Added¶
declare_agent()/declareAgent()-- pre-register agents before traces arriveAgentDeclarationdataclass/interface withagent_id,lifecycle, andcreatedfields- Agent lifecycle states:
"active","staging","deprecated" display_nameandmetadataparameters for agent registration
v1.6.0¶
Structured reviewer identity on escalation resolve.
Changed¶
resolve()reviewerparameter now accepts adict/ object withnameandemailfields (in addition to plain string for backward compatibility)ResolutionResultnow includesreviewer_name/reviewerNameandreviewer_email/reviewerEmailfields- The Coalex dashboard displays the reviewer's name alongside their email in the escalation audit trail
v1.5.0¶
Backward-compatible evaluate() API.
Changed¶
evaluate()now accepts bothrequest_id(preferred) andtrace_id(deprecated) parameterstrace_idis accepted for backward compatibility but logs a deprecation warning
v1.4.0¶
Context propagation fix for extension decorators.
Fixed¶
- Fixed OTel context propagation for
coalex.extdecorators across async boundaries (COA-191) - Added
SpanContextBridge-- a thread-safe registry that tracks active parent span contexts per trace ID - Extension decorators now correctly find their parent span when running inside LangGraph async task executors
- All spans are now tracked in the context bridge via
CoalexAttributePropagator.on_start()andon_end()
v1.3.0¶
Precision-based health score from human reviews.
Added¶
evaluate()now accepts optionalmetadataparameter for attaching custom key-value data to evaluations- Health score computation based on approval precision from human reviews (COA-258)
v1.2.0¶
Production release.
Changed¶
- Version bump for first production-grade release of both SDKs together
v1.1.0¶
ESM support and settings display.
Added¶
- TypeScript:
autoInstrumentAsync()-- async variant ofautoInstrument()using dynamicimport()instead ofrequire(), enabling use in pure ESM projects (COA-230) - SDK endpoint and API key display in the Coalex dashboard settings page (COA-246)
v1.0.0¶
Breaking changes: evaluate() contract and span status.
Changed¶
evaluate(): Removedexpectedparameter. Expected values are now managed server-side. Userequest_idinstead oftrace_id(COA-186)- Spans now set explicit
OKorERRORstatus instead of leavingUNSET(COA-207)
Fixed¶
- Set
output.valueon RETRIEVER spans for correct OpenInference display (COA-185)
TypeScript SDK v0.1.0¶
Initial release of the TypeScript SDK (@coalex-ai/sdk).
Added¶
register()-- configure the OTLP exporter with endpoint, API key, and service namecoalexContext()-- callback-based context manager withagentId,requestId, andversionmetadatacoalexContextSync()-- synchronous variant ofcoalexContext()autoInstrument()-- patch installed LLM frameworks (OpenAI, LangChain, Anthropic)evaluate()-- submit output for risk-based evaluationresolve()-- submit human review decisions for escalated outputs- Extension wrapper functions (
@coalex-ai/sdk/ext):toolSpan()-- TOOL spansembeddingSpan()/EmbeddingSpan-- EMBEDDING spansretrievalSpan()/RetrievalSpan-- RETRIEVER spansrerankerSpan()/RerankerSpan-- RERANKER spansguardrailSpan()-- GUARDRAIL spans
Documentinterface andencodeDocuments()utility- Convenience functions:
instrumentOpenAI(),instrumentLangChain(),instrumentAnthropic() SafeOTLPSpanExporterandFilteringSpanExporterwrappers (same behavior as Python SDK)CoalexAttributePropagatorspan processor forcoalex.*attribute propagation- Package published to npm as
@coalex-ai/sdk
Python SDK v0.3.0¶
Extension decorators, full auto-instrumentation, and evaluation API.
Added¶
- Extension decorators for manual span creation:
@retrieval_span-- create RETRIEVER spans withDocumentdataclass for structured tracing@embedding_span-- create EMBEDDING spans@reranker_span-- create RERANKER spans@tool_span-- create TOOL spans@guardrail_span-- create GUARDRAIL spans
coalex.evaluate()-- submit agent outputs for risk assessment, returnsauto_approvedorescalatedcoalex.resolve()-- submit human review decisions for escalated outputs with quality metricsfilter_non_ai_spansoption inregister()-- when enabled, only exports AI/LLM spans (filters out HTTP, DNS, and other non-AI spans)- 14 framework auto-instrumentation via OpenInference:
- LLM Frameworks: OpenAI, LlamaIndex, LangChain
- LLM Providers: Vertex AI, AWS Bedrock, Anthropic, MistralAI, Groq, liteLLM
- Tools: DSPy, CrewAI, Haystack, Instructor, Guardrails
include_libraries/exclude_librariesparameters for selective auto-instrumentation- Convenience functions:
instrument_openai(),instrument_langchain(),instrument_llamaindex(),instrument_vertexai(),instrument_bedrock(),instrument_anthropic() suppress_export_errorsoption inregister()for graceful degradation when the collector is unavailableSafeOTLPSpanExporterwrapper that catches and logs export errors instead of crashingFilteringSpanExporterthat drops non-AI spans based on OpenInference span kindDocumentdataclass (coalex.ext.retrieval.Document) for structured retrieval tracing
Changed¶
auto_instrument()now returns adict[str, str]mapping each library to its status (success,not_installed,already_instrumented,error,excluded)
Python SDK v0.2.0¶
Context management and auto-instrumentation foundation.
Added¶
coalex.coalex_context()-- context manager that setsagent_id,request_id, and optionalversionon all spans within the blockcoalex.auto_instrument()-- automatically patches installed LLM frameworks using OpenInference instrumentorsCoalexAttributePropagatorspan processor that injects context attributes into all child spansCoalexConfigdataclass for SDK configuration
Changed¶
register()now configuresBatchSpanProcessorwithCoalexAttributePropagatorfor context propagation- OTLP exporter sends to
{endpoint}/v1/traces(proxy path) instead of directly to collector
Python SDK v0.1.0¶
Initial release.
Added¶
coalex.register()-- configure the OTLP exporter with endpoint, API key, and service name- Basic OTLP/HTTP span export to Coalex proxy
Authorization: Bearer <api_key>header on all OTLP requestsservice.nameresource attribute configuration- Package published to PyPI as
coalex