Changelog
View SourceAll notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[Unreleased]
[0.1.0] - 2025-11-29
Added
Core Tracing
Langfuse.trace/1for creating traces with version and release field supportLangfuse.span/2for creating spans with observation types (agent, tool, chain, retriever, embedding, etc.)Langfuse.generation/2for tracking LLM generations with flexible usage fieldsLangfuse.event/2for recording discrete events- Environment field support across all event payloads
- SDK metadata included in ingestion batch requests
Scoring
Langfuse.score/2with numeric, categorical, and boolean score types- Session ID and metadata support for scores
Sessions
Langfuse.Sessionfor grouping related traces into conversations
Prompt Management
Langfuse.Prompt.get/2for fetching prompts with automatic cachingLangfuse.Prompt.compile/2for variable substitution in prompts- Fallback prompt support when fetch fails
- Cache invalidation functions (
invalidate/2,invalidate_all/0)
Client API
Langfuse.Clientmodule for direct REST API accessauth_check/0for connection verification- Prompts API:
get_prompt/2 - Datasets API: create, get, list, delete datasets and items
- Dataset items: create, get, update (PATCH), delete
- Dataset runs: create and get
- Observations API: get and list observations
- Models API: create, get, list, delete models
- Score configs API: create, get, list
OpenTelemetry Integration
- Optional OpenTelemetry dependency integration
Langfuse.OpenTelemetry.SpanProcessorfor converting OTEL spans to Langfuse observationsLangfuse.OpenTelemetry.TraceContextfor W3C distributed tracingLangfuse.OpenTelemetry.AttributeMapperfor field mappingLangfuse.OpenTelemetry.Setupmodule for configuration helpers
Instrumentation
Langfuse.Instrumentationmacros for automatic function tracing- Custom instrumentation support via telemetry
Security
Langfuse.Maskingmodule for sensitive data redaction- Configurable masking patterns and functions
Infrastructure
Langfuse.IngestionGenServer for async event batching- Configurable batch size, flush intervals, and retry settings
- Graceful shutdown with automatic pending event flush
Langfuse.Configwithreload/0for runtime configuration updates- Configurable GenServer names for multi-instance support
- HTTP client with exponential backoff retry
- Debug logging configuration option
Telemetry
Langfuse.Telemetryevents for observability:[:langfuse, :ingestion, :flush, :start | :stop | :exception][:langfuse, :http, :request, :start | :stop | :exception][:langfuse, :prompt, :fetch, :start | :stop | :exception][:langfuse, :prompt, :cache, :hit | :miss]