Python Library release notes
These release notes describe the new features, improvements, and fixed issues in the SolarWinds Observability Python Library. To upgrade the Python Library, see Upgrade the Python Library.
Learn more
- For release notes for all SolarWinds agents, libraries, and collectors, see SolarWinds Observability SaaS summary release notes.
- For currently known issues, see Known issues.
- For information about requirements, see SolarWinds Observability SaaS System Requirements.
2024 updates
3.3.0 - November 14, 2024
AWS Lambda layer ARNs
arn:aws:lambda:<REGION>:851060098468:layer:solarwinds-apm-python-arm64-3_3_0:1
arn:aws:lambda:<REGION>:851060098468:layer:solarwinds-apm-python-x86_64-3_3_0:1
Upstream OpenTelemetry versions
New features and improvements
- Upgraded OpenTelemetry API/SDK and instrumentation 1.28.1/0.49b1.
3.2.0 - October 8, 2024
AWS Lambda layer ARNs
arn:aws:lambda:us-east-1:851060098468:layer:solarwinds-apm-python-arm64-3_2_0:1
arn:aws:lambda:us-east-1:851060098468:layer:solarwinds-apm-python-x86_64-3_2_0:1
Upstream OpenTelemetry versions
New features and improvements
- Added support for
SW_APM_EXPORT_METRICS_ENABLED
.
3.1.0 - October 1, 2024
AWS Lambda layer ARNs
arn:aws:lambda:<REGION>:851060098468:layer:solarwinds-apm-python-arm64-3_1_0:1
arn:aws:lambda:<REGION>:851060098468:layer:solarwinds-apm-python-x86_64-3_1_0:1
Upstream OpenTelemetry versions
New features and improvements
- Added support for
SW_APM_ENABLED_SQLCOMMENT
andSW_APM_OPTIONS_SQLCOMMENT
. - Deprecated
OTEL_SQLCOMMENTER_ENABLED
andOTEL_SQLCOMMENTER_OPTIONS
.
Fixes
- Fixed AwsLambdaInstrumentor loading in Lambda environment.
3.0.0 - September 4, 2024
AWS Lambda layer ARNs
arn:aws:lambda:<REGION>:851060098468:layer:solarwinds-apm-python-arm64-3_0_0:1
arn:aws:lambda:<REGION>:851060098468:layer:solarwinds-apm-python-x86_64-3_0_0:1
Upstream OpenTelemetry versions
Fixes
- Removed logs export headers defaults in Lambda.
Support changes
- Added Python 3.12 support.
2.2.0 - August 12, 2024
AWS Lambda layer ARNs
arn:aws:lambda:<REGION>:851060098468:layer:solarwinds-apm-python-arm64-2_2_0:1
arn:aws:lambda:<REGION>:851060098468:layer:solarwinds-apm-python-x86_64-2_2_0:1
Upstream OpenTelemetry versions
Fixes
- Distro defaults to disable AwsLambdaInstrumentor if outside Lambda.
New features and improvements
- Added support for OTLP logs export.
2.1.0 - July 17, 2024
AWS Lambda layer ARN
arn:aws:lambda:<REGION>:851060098468:layer:solarwinds-apm-python-arm64-2_1_0:2
arn:aws:lambda:<REGION>:851060098468:layer:solarwinds-apm-python-x86_64-2_1_0:2
Upstream OpenTelemetry versions
Fixes
- No longer inject baggage header if empty.
2.0.0 - June 18, 2024
AWS Lambda layer ARN
arn:aws:lambda:<REGION>:851060098468:layer:solarwinds-apm-python-x86_64-2_0_0:1
arn:aws:lambda:<REGION>:851060098468:layer:solarwinds-apm-python-arm64-2_0_0:1
Upstream OpenTelemetry versions
Fixes
- Fixed version lookups and logging at APM startup.
Breaking changes
-
Python 3.7 is no longer supported.
-
APM Python always opts in to Otel 1.21.0 HTTP semconv for Requests, WSGI, Flask auto-instrumentation without duplicates
-
Because of an upstream PyPI issue that is queued for resolution, bootstrapping of the OpenTelemetry
aiohttp_server
instrumentor errors if that framework is installed in the service environment. However, auto-instrumentation of all other frameworks still works to generate telemetry.
1.7.0 - May 16, 2024
AWS Lambda layer ARN
arn:aws:lambda:<region>:851060098468:layer:solarwinds-apm-python-arm64-1_7_0:1
arn:aws:lambda:<region>:851060098468:layer:solarwinds-apm-python-x86_64-1_7_0:1
Upstream OpenTelemetry versions
Fixes
- Fixed library log duplication and wording.
- Fixed sampler initialization.
- Fixed trace export with non-scalar span attributes.
1.6.0 - April 2, 2024
AWS Lambda layer ARN
arn:aws:lambda:<region>:851060098468:layer:solarwinds-apm-python-arm64-1_6_0:1
arn:aws:lambda:<region>:851060098468:layer:solarwinds-apm-python-x86_64-1_6_0:1
Upstream OpenTelemetry versions
Fixes
- Fixed init event logging.
1.5.0 - March 18, 2024
Upstream OpenTelemetry versions
New features and improvements
- Improved distro instrumentor loading error logging.
Fixes
- Fixed grpcio ImportError if outside Python 3.8.
- Fixed reporter status logging.
1.4.0 - March 4, 2024
Upstream OpenTelemetry versions
Fixes
- Fixed empty
http.*
attributes on metrics - Fixed formatting of logging to file
- Fixed
sw.is_error
attribute type - Removed
ForceFlushSpanProcessor
1.3.0 - February 20, 2024
Upstream OpenTelemetry versions
New features and improvements
- Removal of
experimental
config support.
Fixes
- Fixed service key, service name usage.
- Fixed exporter defaults based on protocol.
1.2.0 - February 5, 2024
Upstream OpenTelemetry versions
Fixes
- Set preferred histogram temporality to delta
- Fixed periodic reading interval
- Fixed response_time to report milliseconds
1.1.1 - January 31, 2024
Upstream OpenTelemetry versions
New features and improvements
- Includes runtime environment
INFO
logging at startup.
2023 updates
0.18.0 - October 31, 2023
Upstream OTel dependencies
New features and improvements
- New experimental configuration of OpenTelemetry metrics.
- New generation and OTLP export of
trace.service.response_time
metrics. - Supports
SW_APM_TRANSACTION_NAME
.
0.16.0 - August 24, 2023
Upstream OTel dependencies
Common APM library updates: Update to liboboe 13.0.0
- Sampling roll dice logic no longer results in a bug for edge cases.
k8s.pod.name
is sent only when the library is running in Kubernetes.
0.15.0 - August 17, 2023
Upstream OTel dependencies
New features and improvements
- New context-in-logs configuration available with
OTEL_SQLCOMMENTER_OPTIONS
.
Fixes
- Unused baggage from propagator injection is removed.
0.14.0 - July 20, 2023
Upstream OTel dependencies
Common APM library updates: update to liboboe 12.4.0
- Gather k8s metadata to correlate the service with Kubernetes entities.
- Extraneous
_V
key value pairs are no longer created and sent to SolarWinds Observability SaaS.
0.13.0 - July 11, 2023
Upstream OTel dependencies
New features and improvements
- Some instrumentation libraries have
OTEL_SQLCOMMENTER_ENABLED
added. - aarch64 builds run on EC2.
- Metric format is
ResponseTime
instead of both for the non-AppOptics backend.
0.12.1 - June 13, 2023
New features and improvements
- A log warning is added when
set_transaction_name
is used with an empty name.
Breaking changes
- The unused
log_trace_id
config storage is no longer available. - The unused
enable_sanitize_sql
config storage is no longer available. - The unused
is_grpc_clean_hack_enabled
config storage is no longer available.
Fixes
- The accepted values for boolean config options have been fixed.
0.12.0 - June 1, 2023
Common APM library updates: update to liboboe 12.3.1
- Installed SolarWinds Observability Agents are identified more reliably by retrieving the client ID with the REST API.
- The error log message now has the correct severity level.
Fixes
- APM tracing is disabled when the platform is unsupported.
0.11.0 - May 25, 2023
New features and improvements
- Trace context is added to logs.
- Adjustments to config file logging.
Support changes
- Supports OpenTelemetry API/SDK.
0.10.0 - May 1, 2023
New features
- Custom transaction filtering is supported.
- Span attribute
sw.span_name
is added at export.
Improvements
- The unused
prepend_domain_name config
storage is no longer included.
0.9.0 - April 20, 2023
New features and improvements
SW_APM_CONFIG_FILE
system environment variable specifies a custom location for the config file.- Span layers are listed based on a
kind:name
key value pair.
Common APM library updates: update to liboboe 12.2.0
- AWS and Azure VM metadata is reported for Service and Host correlation.
- A Python APM libraries trace stitching issue is fixed.
Support changes
- OpenTelemetry API/SDK 1.17.0 is supported.
0.8.3 - March 21, 2023
Fixes
- Errors do not occur for API
set_transaction_name
calls when the APM library tracing is disabled.
Support changes
- liboboe is updated to version 12.1.0. liboboe 12.1.0 adds the ability to retrieve AWS EC2 and Azure VM metadata, fixes a threading locking issue, and allows messages to be ingested without an HTTP status code tag applied.
0.8.2 - March 13, 2023
Fixes
- The trace state is now checked for the
xtraceoptions
response key:value before attempting to delete, so attempts no longer cause noise when the key is not present. - Version lookup does not fail for instrumented
aiohttp
library.
0.8.0 - March 1, 2023
New features
set_transaction_name
API method is added.
Breaking changes
solarwinds_apm.apm_ready.solarwinds_ready
is deprecated. Usesolarwinds_apm.api.solarwinds_ready
instead.
Supported changes
- OpenTelemetry API/SDK 1.16.0.
- OpenTelemetry Instrumentation 0.37b0.
0.7.0 - February 22, 2023
Improvements
- CodeQL scan actions use newer actions and advanced queries.
Supported changes
-
Added ARM support.
0.6.0 - February 8, 2023
Fixes
- Version lookup no longer fails for instrumented ASGI libraries.
Supported changes
- Updated liboboe to version 12.0.0. liboboe 12.0.0 restores support of alpine 3.12, upgrades gRPC to v1.51.1, upgrades boost to 1.80.0, and removes support for CentOS, Redhat 7, and ubuntu 16.04.
- Removed support for Debian 9 and Amazon Linux 2018.03.
0.5.0 - January 19, 2023
New features
- Add support for
OTEL_SERVICE_NAME
,OTEL_RESOURCE_ATTRIBUTES
environment variables. - Add prioritization of
OTEL_SERVICE_NAME
,OTEL_RESOURCE_ATTRIBUTES
,SW_APM_SERVICE_KEY
for settingservice.name
.
Improvements
- Update Init message with HostID.
- Update Init message with Python framework versions.
- SolarWinds c-lib 11.1.0, for Init message updates.
- Updated exported spans with Python framework versions.
Fixes
- existing attributes without parent context now write to spans.
- setting
sw.tracestate_parent_id
is based on existence of remote parent span.
0.4.0 - January 3, 2023
New features
- Updated the OTel SDK used to version 1.15.0.
- Updated the OTel instrumentation used to version 0.36b0.
- Added
x-trace-options
support forcustom-*
key value pairs.
Fixes
- Fixed extraction of
x-trace-options-signature
. - Fixed validation of
x-trace-options
header. - Fixed calculation of
x-trace-options-response
header.
2022 updates
0.3.0 - November 25, 2022
New features
- Updated the OTel SDK used to version 1.14.0.
- Updated the OTel instrumentation used to version 0.35b.
Fixes
-
Updates to support Flake8 version 6.
0.2.1 - November 8, 2022
New features
-
Added
solarwinds_ready
SDK call to check instrumentation library readiness. - Updated to liboboe 11.0.0 to support using the AppOptics endpoint with default certificates.
Fixes
-
Fixed logging vulnerabilities.
0.1.0 (alpha release) - October 13, 2022
New features
- Initial SolarWinds Observability Python Library alpha release, using the OpenTelemetry Instrumentation 0.34b for automatic instrumentation of common Python frameworks.
- OpenTelemetry API/SDK 1.13.0, for trace generation.
- W3C trace context propagation.
- OTel, APM instrumentation startup, and trigger trace configurable with environment variables.
- Support for a new unified metrics format by using liboboe 10.6.1. See SolarWinds Observability SaaS October 2022 release notes for details of the unified metrics.
Legal notices
© 2024 SolarWinds Worldwide, LLC. All rights reserved.
This document may not be reproduced by any means nor modified, decompiled, disassembled, published or distributed, in whole or in part, or translated to any electronic medium or other means without the prior written consent of SolarWinds. All right, title, and interest in and to the software, services, and documentation are and shall remain the exclusive property of SolarWinds, its affiliates, and/or its respective licensors.
SOLARWINDS DISCLAIMS ALL WARRANTIES, CONDITIONS, OR OTHER TERMS, EXPRESS OR IMPLIED, STATUTORY OR OTHERWISE, ON THE DOCUMENTATION, INCLUDING WITHOUT LIMITATION NONINFRINGEMENT, ACCURACY, COMPLETENESS, OR USEFULNESS OF ANY INFORMATION CONTAINED HEREIN. IN NO EVENT SHALL SOLARWINDS, ITS SUPPLIERS, NOR ITS LICENSORS BE LIABLE FOR ANY DAMAGES, WHETHER ARISING IN TORT, CONTRACT OR ANY OTHER LEGAL THEORY, EVEN IF SOLARWINDS HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
The SolarWinds, SolarWinds & Design, Orion, and THWACK trademarks are the exclusive property of SolarWinds Worldwide, LLC or its affiliates, are registered with the U.S. Patent and Trademark Office, and may be registered or pending registration in other countries. All other SolarWinds trademarks, service marks, and logos may be common law marks or are registered or pending registration. All other trademarks mentioned herein are used for identification purposes only and are trademarks of (and may be registered trademarks) of their respective companies.