@@ -85,6 +85,7 @@ def __init__(
8585 output : Optional [Any ] = None ,
8686 metadata : Optional [Any ] = None ,
8787 environment : Optional [str ] = None ,
88+ release : Optional [str ] = None ,
8889 version : Optional [str ] = None ,
8990 level : Optional [SpanLevel ] = None ,
9091 status_message : Optional [str ] = None ,
@@ -105,6 +106,7 @@ def __init__(
105106 output: Output data from the span (any JSON-serializable object)
106107 metadata: Additional metadata to associate with the span
107108 environment: The tracing environment
109+ release: Release identifier for the application
108110 version: Version identifier for the code or component
109111 level: Importance level of the span (info, warning, error)
110112 status_message: Optional status message for the span
@@ -131,6 +133,12 @@ def __init__(
131133 LangfuseOtelSpanAttributes .ENVIRONMENT , self ._environment
132134 )
133135
136+ self ._release = release or self ._langfuse_client ._release
137+ if self ._release is not None :
138+ self ._otel_span .set_attribute (
139+ LangfuseOtelSpanAttributes .RELEASE , self ._release
140+ )
141+
134142 # Handle media only if span is sampled
135143 if self ._otel_span .is_recording ():
136144 media_processed_input = self ._process_media_and_apply_mask (
@@ -925,6 +933,7 @@ def start_observation(
925933 output = output ,
926934 metadata = metadata ,
927935 environment = self ._environment ,
936+ release = self ._release ,
928937 version = version ,
929938 level = level ,
930939 status_message = status_message ,
@@ -945,6 +954,7 @@ def start_observation(
945954 "otel_span" : new_otel_span ,
946955 "langfuse_client" : self ._langfuse_client ,
947956 "environment" : self ._environment ,
957+ "release" : self ._release ,
948958 "input" : input ,
949959 "output" : output ,
950960 "metadata" : metadata ,
@@ -1225,6 +1235,7 @@ def create_event(
12251235 output = output ,
12261236 metadata = metadata ,
12271237 environment = self ._environment ,
1238+ release = self ._release ,
12281239 version = version ,
12291240 level = level ,
12301241 status_message = status_message ,
@@ -1251,6 +1262,7 @@ def __init__(
12511262 output : Optional [Any ] = None ,
12521263 metadata : Optional [Any ] = None ,
12531264 environment : Optional [str ] = None ,
1265+ release : Optional [str ] = None ,
12541266 version : Optional [str ] = None ,
12551267 level : Optional [SpanLevel ] = None ,
12561268 status_message : Optional [str ] = None ,
@@ -1264,6 +1276,7 @@ def __init__(
12641276 output: Output data from the span (any JSON-serializable object)
12651277 metadata: Additional metadata to associate with the span
12661278 environment: The tracing environment
1279+ release: Release identifier for the application
12671280 version: Version identifier for the code or component
12681281 level: Importance level of the span (info, warning, error)
12691282 status_message: Optional status message for the span
@@ -1276,6 +1289,7 @@ def __init__(
12761289 output = output ,
12771290 metadata = metadata ,
12781291 environment = environment ,
1292+ release = release ,
12791293 version = version ,
12801294 level = level ,
12811295 status_message = status_message ,
@@ -1299,6 +1313,7 @@ def __init__(
12991313 output : Optional [Any ] = None ,
13001314 metadata : Optional [Any ] = None ,
13011315 environment : Optional [str ] = None ,
1316+ release : Optional [str ] = None ,
13021317 version : Optional [str ] = None ,
13031318 level : Optional [SpanLevel ] = None ,
13041319 status_message : Optional [str ] = None ,
@@ -1318,6 +1333,7 @@ def __init__(
13181333 output: Output from the generation (e.g., completions)
13191334 metadata: Additional metadata to associate with the generation
13201335 environment: The tracing environment
1336+ release: Release identifier for the application
13211337 version: Version identifier for the model or component
13221338 level: Importance level of the generation (info, warning, error)
13231339 status_message: Optional status message for the generation
@@ -1336,6 +1352,7 @@ def __init__(
13361352 output = output ,
13371353 metadata = metadata ,
13381354 environment = environment ,
1355+ release = release ,
13391356 version = version ,
13401357 level = level ,
13411358 status_message = status_message ,
@@ -1360,6 +1377,7 @@ def __init__(
13601377 output : Optional [Any ] = None ,
13611378 metadata : Optional [Any ] = None ,
13621379 environment : Optional [str ] = None ,
1380+ release : Optional [str ] = None ,
13631381 version : Optional [str ] = None ,
13641382 level : Optional [SpanLevel ] = None ,
13651383 status_message : Optional [str ] = None ,
@@ -1373,6 +1391,7 @@ def __init__(
13731391 output: Output from the event
13741392 metadata: Additional metadata to associate with the generation
13751393 environment: The tracing environment
1394+ release: Release identifier for the application
13761395 version: Version identifier for the model or component
13771396 level: Importance level of the generation (info, warning, error)
13781397 status_message: Optional status message for the generation
@@ -1385,6 +1404,7 @@ def __init__(
13851404 output = output ,
13861405 metadata = metadata ,
13871406 environment = environment ,
1407+ release = release ,
13881408 version = version ,
13891409 level = level ,
13901410 status_message = status_message ,
0 commit comments