Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
==0.10.8
->==0.11.3
==2.1.4
->==2.19.0
==0.59.1
->==0.60.0
<2
-><3
3.8
->3.13
3.9
->3.13
==2.0.7
->==3.2.1
==2.2.2
->==2.2.3
==3.5.16
->==3.5.17
==0.4.2
->==2024.12.0
==1.9.8
->==1.10.4
==0.25.0
->==0.33.2
Release Notes
scverse/anndata (anndata)
v0.11.3
Compare Source
v0.11.2
Compare Source
v0.11.1
Compare Source
v0.11.0
Compare Source
v0.10.9
Compare Source
DataDog/dd-trace-py (ddtrace)
v2.19.0
: 2.19.0Compare Source
New Features
ASM
DD_APPSEC_SCA_ENABLED
andDD_EXPERIMENTAL_APPSEC_STANDALONE_ENABLED
Code Security
Profiling
DD_PROFILING_PYTORCH_ENABLED=true
. This feature instruments the PyTorch profiler API (https://pytorch.org/docs/stable/_modules/torch/profiler/profiler.html) so that GPU profiling data can be sent to Datadog for visualization. This feature supports torch version >= 1.8.1.Tracing
azure_functions
: Introduces support for Azure Functions.Upgrade Notes
Bug Fixes
ASM
Code Security
Lib-Injection
LLM Observability
LLMObs.enable()
ignored global patch configurations, specificallythe
DD_TRACE_<INTEGRATION>_ENABLED
andDD_PATCH_MODULES
environment variables.Telemetry
Tracing
ASGI
: This fix resolves an issue parsing response cookies in FastAPI and awsgiasyncio
: Resolves an issue where asyncio event loops fail to register whenddtrace-run
/import ddtrace.auto
is used and gevent is installed.datastreams
: Logs at warning level for Kinesis errors that break the Data Streams Monitoring map.v2.18.2
: 2.18.2Compare Source
Bug Fixes
Code Security
Profiling
Tracing
ASGI
: Resolves an issue parsing response cookies in FastAPI and awsgiv2.18.1
Compare Source
Bug Fixes
Profiling:
Tracing:
celery.apply
spans from Celery prerun got closed too soon leading to span tags being missing.v2.18.0
Compare Source
Upgrade Notes
With this upgrade, you can now control how the stack trace report are cropped when reported for exploit prevention or IAST.
DD_APPSEC_MAX_STACK_TRACE_DEPTH
allowed to control the maximum stack trace size reported (default 32)DD_APPSEC_MAX_STACK_TRACE_DEPTH_TOP_PERCENT
allows now to specify how the stack trace is cropped as a percentage.For example, a value of 100 will report the top DD_APPSEC_MAX_STACK_TRACE_DEPTH frames from the stack, while a value of 0 will report the bottom DD_APPSEC_MAX_STACK_TRACE_DEPTH frames of the trace. A value of 50 will report half of DD_APPSEC_MAX_STACK_TRACE_DEPTH (rounded down) frames from the top of the stack and the rest from bottom. Default value is 75.
Upgrades
libddwaf
to 1.22.0Upgrades
libddwaf
to 1.21.0 and security rule file to 1.13.3Deprecation Notes
New Features
CI Visibility
Beta release of the new version of the pytest plugin, introducing the following features:
Set the
DD_PYTEST_USE_NEW_PLUGIN_BETA
environment variable totrue
to use this new version.NOTE: this new version of the plugin introduces breaking changes:
module
,suite
, andtest
names are now parsed from theitem.nodeid
attributeAdds support for Selenium and RUM integration
Code Security
DD_IAST_ENABLED=1
andDD_EXPERIMENTAL_APPSEC_STANDALONE_ENABLED=1
.LLM Observability
vertexai
: Introduces tracing support for Google's Vertex AI SDK for Python'sgenerate_content
andsend_message
calls. See the docs for more information.Profiling
tracer.configure()
Bug Fixes
ASM
creating telemetry errors.
CI Visibility
None
in EVP proxy mode ifDD_ENV
was not specified but the agent had a default environment set to a value other thannone
(eg: usingDD_APM_ENV
in the agent's environment).--ddtrace
are no longer skipped when executing tests with pytest. Previously, the algorithm misinterpreted these arguments as standard flags, overlooking possible test paths that may contribute to the inferred service name.Code Security
psycopg3
.umap
,numba
andpynndescent
to the Code Security denylist.Crashtracking
Lib-Injection
sitecustomize.py
are preserved when auto-injecting.click
andjinja2
installed on 3.8 were outside of the allowed minimum versions for autoinstrumentation.LLM Observability
langchain
: Resolves a JSON decoding issue resulting from tagging streamed outputs from chains ending with a PydanticOutputParser.Profiling
asyncio
task names are not properly propagated when using stack v2, i.e. whenDD_PROFILING_STACK_V2_ENABLED
is set. Fixes an issue whereasyncio
tasks are not associated with spans when using stack v2, i.e. whenDD_PROFILING_STACK_V2_ENABLED
is set.Telemetry
Tracing
botocore
: This fix resolves an issue in the Bedrock integration where not consuming the full response stream would prevent spans from finishing.botocore
: This fix resolves the issue where the span pointer for deserialized DynamoDB requests (through the resource-based API) were not being generated.botocore
: This fix resolves an issue where our span pointer calculation code added recently logged unactionable messages.celery
: This fix resolves two issues with context propagation in celerycelery
: Changes celeryout.host
span tag to point towards broker host url instead of local celery process hostname. Fixes inferred service representation issues when using celery.grpcaio
: Resolves a concurrency bug where distributed tracing headers were overwritten resulting in spans being assigned to the wrong trace.kafka
: Fixes an issue with Kafka consumer spans not using the active trace context when distributed tracing was enabled and no valid distributed context found was found within a consumed message.Other Changes
v2.17.5
: 2.17.5Compare Source
Bug Fixes
celery
: Fixes an issue wherecelery.apply
spans from Celery pre-run got closed too soon leading to span tags being missing.v2.17.4
: 2.17.4Compare Source
Bug Fixes
Code Security
ASM
LLM Observability
LLMObs.enable()
ignored global patch configurations, specifically theDD_TRACE_<INTEGRATION>_ENABLED
andDD_PATCH_MODULES
environment variables.langchain
: Resolves a JSON decoding issue resulting from tagging streamed outputs from chains ending with a PydanticOutputParser.Profiling
Tracing
ASGI
: Resolves an issue parsing response cookies in FastAPI and awsgiv2.17.3
Compare Source
Bug Fixes
SCA:
Celery:
Code Security:
Profiling:
v2.17.2
Compare Source
Bug Fixes
ASM
LLM Observability
Tracing
botocore
: Resolves an issue in the Bedrock integration where not consuming the full response stream would prevent spans from finishing.celery
: Changes celeryout.host
span tag to point towards broker host url instead of local celery process hostname. Fixes inferred service representation issues when using celery.grpcaio
: Resolves a concurrency bug where distributed tracing headers were overwritten resulting in spans being assigned to the wrong trace.v2.17.1
Compare Source
Bug Fixes
click
andjinja2
installed on 3.8 were outside of the allowed minimum versions for autoinstrumentation.v2.17.0
Compare Source
New Features
ASM
LLM Observability
llm
span.chat_model.with_structured_output(..., method="json_mode")
is used, orresponse_format={"type": "json_object"}
is passed into a langchain chat model invocation, the LLM Observability span will be anllm
span instead of aworkflow
span.SSI
requirements.json
to SSI artifact for bailing out on unsupported systems.Tracing
DD_SERVICE
is not set, replacing instances of'unnamed-python-service'
. Ensures that a more meaningful service name is used whenever possible, enhancing clarity in service identification.Bug Fixes
ASM
DD_DJANGO_INCLUDE_EMAIL
(false by default), will tag user events with user email as before.Code Security/IAST
umap
,numba
andpynndescent
to the Code Security denylist.googlecloudsdk
andgoogle auth
to the Code Security deny list.google.cloud.storage.batch
module would fail raising an ImportErrorCrashtracking
Lib-Injection
ddtrace
if it is present.sys.argv
is not available.LLM Observability
Profiling
DD_PROFILING_STACK_V2_ENABLED
was set.DD_PROFILING_EXPORT_LIBDD_ENABLED
,DD_PROFILING_TIMELINE_ENABLED
orDD_PROFILING_STACK_V2_ENABLED
turned off live heap profiling.ensure_binary_or_empty()
function, on Python versions before 3.12, withDD_PROFILING_EXPORT_LIBDD_ENABLED
orDD_PROFILING_TIMELINE_ENABLED
.fork()
by clearing it in the child process.Span
. The mapping is populated and used whenDD_PROFILING_ENDPOINT_COLLECTION_ENABLED
andDD_PROFILING_STACK_V2_ENABLED
were set to enable grouping of profiles for endpoints.Tracing
--ddtrace
are no longer skipped when executing tests with pytest. Previously, the algorithm misinterpreted these arguments as standard flags, overlooking possible test paths that may contribute to the inferred service name.botocore
: Resolves the issue where the span pointer for deserialized DynamoDB requests (through the resource-based API) were not being generated.botocore
: Resolves an issue where our span pointer calculation code added recently logged unactionable messages.pymongo
: add type checking to solve an issue whereNoneType
instead of expectedPin
object would throw an error inTracedTopology
method.v2.16.6
Compare Source
Bug Fixes
SCA:
Code Security:
Lib-Injection:
Profiling
v2.16.5
Compare Source
Bug Fixes
ASM
Auto-Instrumentation
click
andjinja2
installed on python3.8 were outside of the allowed minimum versions for auto-instrumentation.Code Security
LLM Observability
Tracing
botocore
: Resolves an issue in the Bedrock integration where not consuming the full response stream would prevent spans from finishing.v2.16.4
Compare Source
Bug Fixes
v2.16.3
Compare Source
Bug Fixes
v2.16.2
Compare Source
Bug Fixes
Profiling
Tracing
NoneType
instead of expectedPin
object would throw an error inTracedTopology
method.v2.16.1
: 2.16.1Compare Source
Bug Fixes
Threats
DD_DJANGO_INCLUDE_EMAIL
(false by default), will tag user events with user email as before.Code Security
Crashtracking
Lib-Injection
ddtrace
if it is present.LLM Observability
Profiling
DD_PROFILING_STACK_V2_ENABLED
was set.ensure_binary_or_empty()
function, on Python versions before 3.12, withDD_PROFILING_EXPORT_LIBDD_ENABLED
orDD_PROFILING_TIMELINE_ENABLED
.fork()
by clearing it in the child process.v2.16.0
Compare Source
New Features
LLM Observability
model_name
argument is now optional and will default tocustom
. This applies to both inline methods (e.g.LLMObs.llm()
) and function decorators (e.g.@llm
).submit_evaluation
method. For more information, see submitting evaluations with the SDK.Tracing
BatchWriteItem
spans. Table Primary Keys will need to be provided with theddtrace.config.botocore.dynamodb_primary_key_names_for_tables
option or theDD_BOTOCORE_DYNAMODB_TABLE_PRIMARY_KEYS
environment variable to correctly handle thePutRequest
items.TransactWriteItems
spans. Table Primary Keys will need to be provided with theddtrace.config.botocore.dynamodb_primary_key_names_for_tables
option or theDD_BOTOCORE_DYNAMODB_TABLE_PRIMARY_KEYS
environment variable to correctly handle thePut
items.ddtrace.config.botocore.add_span_pointers
option or theDD_BOTOCORE_ADD_SPAN_POINTERS
environment variable to control adding span pointers to some successful AWS API requests. This option is enabled by default.Bug Fixes
CI Visibility
CODEOWNERS
would incorrectly fail to discard line-level trailing comments (eg:@code/owner # my comment
would result in codeowners being parsed as@code/owner
,#
,my
, andcomment
)git
binary or.git
directory)Code Security
google.cloud.storage.batch
module would fail raising an ImportErrorDynamic Instrumentation
LLM Observability
LLMObs.annotate
.Profiling
DD_PROFILING_EXPORT_LIBDD_ENABLED
,DD_PROFILING_TIMELINE_ENABLED
orDD_PROFILING_STACK_V2_ENABLED
turned off live heap profiling.Span
. The mapping is populated and used whenDD_PROFILING_ENDPOINT_COLLECTION_ENABLED
andDD_PROFILING_STACK_V2_ENABLED
were set to enable grouping of profiles for endpoints.DD_PROFILING_STACK_V2_ENABLED
is set.TypeError
exception when it is given aSpan
withNone
span_type.Tracing
AGENT_CONFIG
remote configuration product.Other Changes
LLMObs.annotate
is called multiple times on the same span so that the latest value for a tag key overrides the previous value.v2.15.4
Compare Source
Bug Fixes
ASM
Auto-Instrumentation
click
andjinja2
installed on python3.8 were outside of the allowed minimum versions for auto-instrumentation.Code Security
LLM Observability
Tracing
botocore
: Resolves an issue in the Bedrock integration where not consuming the full response stream would prevent spans from finishing.v2.15.3
: 2.15.3Compare Source
Bug Fixes
ASM:
LLM Observability:
Code Security:
Profiling:
Fixes an issue where cpu-time was not profiled for services using gunicorn, when `DD_PROFILING_STACK_V2_ENABLED was set.
The lock profiler would log a warning if it couldn't determine a
name for a lock, and it would try determining a name multiple times for the same lock. This lead to excessive log spam. Downgrade this to a debug log and only try to determine the name once.
Fixes an issue where the sample pool could deadlock after
fork()
by clearing it in the child process.
v2.15.2
Compare Source
Bug Fixes
DD_PROFILING_EXPORT_LIBDD_ENABLED
,DD_PROFILING_TIMELINE_ENABLED
orDD_PROFILING_STACK_V2_ENABLED
turned off live heap profiling.ensure_binary_or_empty()
function, on Python versions before 3.12, withDD_PROFILING_EXPORT_LIBDD_ENABLED
orDD_PROFILING_TIMELINE_ENABLED
.Span
. The mapping is populated and used whenDD_PROFILING_ENDPOINT_COLLECTION_ENABLED
andDD_PROFILING_STACK_V2_ENABLED
were set to enable grouping of profiles for endpoints.DD_PROFILING_STACK_V2_ENABLED
is set.NoneType
instead of expectedPin
object would throw an error inTracedTopology
method.v2.15.1
Compare Source
Bug Fixes
CODEOWNERS
would incorrectly fail to discard line-level trailing comments (eg:@code/owner # my comment
would result in codeowners being parsed as@code/owner
,#
,my
, andcomment
)git
binary or.git
directory)google.cloud.storage.batch
module would fail raising an ImportError.TypeError
exception when it is given aSpan
withNone
span_type.Other Changes
v2.15.0
Compare Source
New Features
LLM Observability
prompt
andname
arguments toLLMObs.annotation_context
to support setting an integration generated span's name andprompt
field. For more information on annotation contexts, see the docs here.stream
calls on LCEL chains, chat completion models, or completion models. Note that due to an upstream issue with thelangchain
library itself, streamed responses will not be tagged correctly based on the choice index when the underlying model is configured to returnn>1
choices. Please refer to this GitHub issue for more details.llm.stream
,chat_model.stream
, andchain.stream
) submit to LLM Observability.CI Visibility
test_session.name
tag to test events. The test session name can be set via theDD_TEST_SESSION_NAME
environment variable. IfDD_TEST_SESSION_NAME
is not specified, the test session name is set from the CI job id and the test command.Tracing
DD_CODE_ORIGIN_FOR_SPANS_ENABLED
environment variable totrue
.DeleteItem
spans.PutItem
spans. Table Primary Keys need to be provided with theddtrace.config.botocore.dynamodb_primary_key_names_for_tables
option or theDD_BOTOCORE_DYNAMODB_TABLE_PRIMARY_KEYS
environment variable.UpdateItem
spans.CompleteMultipartUpload
spans.DD_TRACE_HTTP_CLIENT_ERROR_STATUSES
environment variable to configure the list of HTTP status codes that should be considered errors when instrumenting HTTP servers.Deprecation Notes
DD_TRACE_HTTP_CLIENT_TAG_QUERY_STRING
instead ofddtrace.config.http_tag_query_string
DD_TRACE_HEADER_TAGS
instead ofddtrace.config.trace_http_header_tags
DD_TRACE_REPORT_HOSTNAME
instead ofddtrace.config.report_hostname
DD_TRACE_HEALTH_METRICS_ENABLED
instead ofddtrace.config.health_metrics_enabled
DD_TRACE_ANALYTICS_ENABLED
instead ofddtrace.config.analytics_enabled
DD_TRACE_CLIENT_IP_HEADER
instead ofddtrace.config.client_ip_header
DD_TRACE_CLIENT_IP_ENABLED
instead ofddtrace.config.retrieve_client_ip
DD_TRACE_PROPAGATION_HTTP_BAGGAGE_ENABLED
instead ofddtrace.config.propagation_http_baggage_enabled
DD_TRACE_OBFUSCATION_QUERY_STRING_REGEXP
to an empty string instead of settingddtrace.config.global_query_string_obfuscation_disabled
to True (default value is False)DD_TRACE_METHODS
instead ofddtrace.config.trace_methods
DD_CIVISIBILITY_LOG_LEVEL
instead ofddtrace.config.ci_visibility_log_level
DD_TRACE_SAMPLE_RATE
environment variable. It will be removed in 3.0.0. UseDD_TRACE_SAMPLING_RULES
to configure sampling rates instead.DD_TRACE_API_VERSION=v0.3
is deprecated. Usev0.4
orv0.5
instead.Bug Fixes
Code security
_DD_IAST_DEBUG
environment variable is enabled or not.re.finditer
.LLM Observability
LLMObs.enable()
did not patch google_generativeai library.modelId
when using cross-region inference.Profiling
DD_PROFILING_STACK_V2_ENABLED
is set.DD_PROFILING_EXPORT_LIBDD_ENABLED
orDD_PROFILING_TIMELINE_ENABLED
.DD_PROFILING_EXPORT_LIBDD_ENABLED
,DD_PROFILING_STACK_V2_ENABLED
, orDD_PROFILING_TIMELINE_ENABLED
.DD_PROFILING_STACK_V2_ENABLED
.Tracing
resource_name
.AGENT_CONFIG
remote configuration product.celery.apply
spans didn't close if theafter_task_publish
ortask_postrun
signals didn't get sent when usingapply_async
, which can happen if there is an internal exception during the handling of the task. This update also marks the span as an error if an exception occurs.celery.apply
spans using task_protocol 1 didn't close by improving the check for the task id in the body.http.url
span tag contains the full query string whenDD_TRACE_OBFUSCATION_QUERY_STRING_REGEXP
is set to an empty string.DD_TRACE_RATE_LIMIT
environment variable is only applied to spans for which tracer sampling is configured. For spans not matching sampling rules default rate limits should be applied by the Datadog Agent.Other
Other Changes
v2.14.7
: 2.14.7Compare Source
Bug Fixes
Code Security:
Profiling:
Fixes an issue where cpu-time was not profiled for services using gunicorn, when
DD_PROFILING_STACK_V2_ENABLED
was set.Fixes an issue where the sample pool could deadlock after
fork()
by clearing it in the child process.v2.14.6
Compare Source
Bug Fixes
Profiling
DD_PROFILING_EXPORT_LIBDD_ENABLED
,DD_PROFILING_TIMELINE_ENABLED
orDD_PROFILING_STACK_V2_ENABLED
turned off live heap profiling.ensure_binary_or_empty()
function, on Python versions before 3.12, withDD_PROFILING_EXPORT_LIBDD_ENABLED
orDD_PROFILING_TIMELINE_ENABLED
.Span
. The mapping is populated and used whenDD_PROFILING_ENDPOINT_COLLECTION_ENABLED
andDD_PROFILING_STACK_V2_ENABLED
were set to enable grouping of profiles for endpoints.DD_PROFILING_STACK_V2_ENABLED
is set.Tracing
NoneType
instead of expectedPin
object would throw an error inTracedTopology
method.v2.14.5
: 2.14.5Compare Source
Bug Fixes
CODEOWNERS
would incorrectly fail to discard line-level trailing comments (eg:@code/owner # my comment
would result in codeowners being parsed as@code/owner
,#
,my
, andcomment
)git
binary or.git
directory)google.cloud.storage.batch
module would fail raising an ImportErrorTypeError
exception when it is given aSpan
withNone
span_type.v2.14.4
Compare Source
Bug Fixes
re.finditer
.modelId
when using cross-region inference.AGENT_CONFIG
remote configuration product.v2.14.2
Compare Source
Bug Fixes
Tracing
celery.apply
spans didn't close if theafter_task_publish
ortask_postrun
signals didn't get sent when usingapply_async
, which can happen if there is an internal exception during the handling of the task. This update also marks the span as an error if an exception occurs.celery.apply
spans using task_protocol 1 didn't close by improving the check for the task id in the body.Profiling
DD_PROFILING_EXPORT_LIBDD_ENABLED
,DD_PROFILING_STACK_V2_ENABLED
, or `DD_PROConfiguration
📅 Schedule: Branch creation - "every weekend" in timezone UTC, Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR was generated by Mend Renovate. View the repository job log.