Skip to content

Releases: newrelic/newrelic-telemetry-sdk-python

v0.6.0

18 Sep 22:14
7aa45e2
Compare
Choose a tag to compare

Deprecations

Python 2

Support for Python 2 has been removed.

Urllib3 v1.26+ Required

Support for urllib3 versions <1.26.0 has been removed.

New Features

Urllib3 v2 Support

Support for urllib3 major version 2 has been added.

Contributors

Thank you to @pray and @thesuperzapper for contributing to the urllib3 changes!

v0.5.1

26 Mar 16:36
65a786f
Compare
Choose a tag to compare
  • Added classifiers for Python 3.12 support.

v0.5.0

19 Jul 22:26
9169c04
Compare
Choose a tag to compare

New Features

Python 3.11 Support

Support for Python 3.11 has been added.

Changes

Previous references to the deprecated New Relic Insights Insert Keys have been replaced, going forward New Relic License Keys can be used in their place. References to keyword arguments that previously were named insert_key are now named license_key.

Deprecations

Python 3.6 support has been removed.

v0.4.3

11 Jul 19:14
0947469
Compare
Choose a tag to compare

New Features

Python 3.10 Support

Support for Python 3.10 has been added.

Optional Timeout Parameter

An optional timeout parameter has been added to all client's send and send_batch methods. Thank you to @julcsii for the contribution!

v0.4.2

26 Oct 15:14
Compare
Choose a tag to compare

New Features

New Relic Logs

The telemetry SDK now includes the New Relic log formatter, which formats log messages that can later be forwarded with the New Relic infrastructure agent, or other log forwarders.
In addition, support has been added so that log structures can be sent directly to New Relic via the Log HTTP API.

Python 3.9 support

Support for Python 3.9 has been added.

v0.4.1

14 Jul 14:48
Compare
Choose a tag to compare

Minor Updates

Add x-request-id header to outbound payloads (#32)

A new header named x-request-id, which is a UUID4 value, has been added to all outbound payloads. This header may be used in the future by ingest services as described in the telemetry sdk specs repository.

v0.4.0

05 Jun 15:31
Compare
Choose a tag to compare

Backwards Incompatible Changes

  • Metric.from_value is removed, replaced with metric constructor
  • CountMetric / SummaryMetric interval_ms must be specified
  • Harvester.record is removed and replaced with Harvester.batch.record (or simply Batch.record)
  • MetricBatch.record method is removed, replaced with MetricBatch.record_gauge, MetricBatch.record_count, MetricBatch.record_summary
  • MetricBatch.create_identity interface has been changed to accept name(str), tags (dict), and metric type (str)

New Features

Add HTTP proxy support for all clients (#30)

The telemetry SDK now supports HTTP proxies specified via environment variable and for MacOS/Windows via the operating system registry.

Bug Fixes

Harvesters now close the client on stop.

When using the harvester, the client was not closed when the harvester was stopped via the Harvester.stop interface. Clients are now closed when the harvester is stopped.

v0.3.1

02 Jun 21:30
Compare
Choose a tag to compare

Deprecations

  • Metric.from_value will be removed, replaced with metric constructor
  • In a future release, CountMetric / SummaryMetric interval_ms must be specified
  • Harvester.record is removed and replaced with Harvester.batch.record (or simply Batch.record)
  • MetricBatch.record method is removed, replaced with MetricBatch.record_gauge, MetricBatch.record_count, MetricBatch.record_summary

New Features

Clients now have a Client.close interface to force close the connection.

All clients support explicitly closing the persistent TCP connection to New Relic via the Client.close method.

Bug Fixes

Harvester crashes when used with EventClient (#23)

When using the harvester with an event client, the harvester crashed when attempting to flush the data. This issue has now been fixed.

v0.3.0

20 Apr 22:08
Compare
Choose a tag to compare

Backwards Incompatible Changes

The compression_threshold argument has been removed from SpanClient, MetricClient, and EventClient constructors. Code that omits compression_threshold from the client argument list will not be impacted.

Example (OK)

import os
from newrelic_telemetry_sdk import MetricClient

metric_client = MetricClient(os.environ['NEW_RELIC_INSERT_KEY'])

Example (Incompatible)

import os
from newrelic_telemetry_sdk import MetricClient

# compression_threshold has been removed, so the following code will result in an exception
metric_client = MetricClient(os.environ['NEW_RELIC_INSERT_KEY'], compression_threshold=0)

API Additions

Users can now override the HTTP port used by the telemetry SDK in all clients. (#20)

Port can now be overridden via arguments to clients.

Example

import os
from newrelic_telemetry_sdk import SpanClient

span_client = SpanClient(os.environ['NEW_RELIC_INSERT_KEY'], port=8000)

v0.2.5

20 Apr 20:40
Compare
Choose a tag to compare

Deprecations

The compression_threshold argument to all clients is now deprecated (#18)

In a future release, all payloads will be gzip compressed. When using the compression_threshold argument, a DeprecationWarning will be printed. For forward compatibility, use of the compression_thresold argument in SpanClient, MetricClient, and EventClient should be discontinued.