Skip to content

Releases: honeycombio/libhoney-go

v1.14.0

01 Sep 18:12
d7c6a16
Compare
Choose a tag to compare

1.14.0 2020-09-01

  • Documentation - document potential failures if pendingWorkCapacity not specified
  • Documentation - use Deprecated tags for deprecated fields
  • Log when event batch is rejected with an invalid API key
  • Dependency bump (compress)

v1.13.0

21 Aug 21:50
31fb3b7
Compare
Choose a tag to compare

Features

  • Flush is now thread-safe (#80) (@ApeChimp)
  • Have a more obvious default statsd prefix (libhoney)

Updates

  • Update dependencies (testify, msgpack, zstd, compress).

v1.12.4

03 Apr 22:05
v1.12.4
8195183
Compare
Choose a tag to compare

This updates dependencies, most notably the msgpack dependency.

v1.12.3

06 Mar 16:47
3a8e627
Compare
Choose a tag to compare

This release adopts go modules which protects against breakages from dependency changes. It also improves error handling of unexpected HTTP responses.

Reduce zstd memory footprint

16 Sep 19:18
c8c127c
Compare
Choose a tag to compare

v1.12.1 reduces global encoding buffer space allocated by the zstd library from 8MB per CPU to 128KB per CPU.

Also fixes a deadlock condition when calling Add*() and Send() concurrently.

This release requires v1.8.3 or later of github.com/klauspost/compress.

Replace gzip with zstd

15 Aug 20:40
e214823
Compare
Choose a tag to compare

v1.12.0 replaces standard gzip compression with zstd, and specifies a fast compression setting. This yields a large improvement in performance while generally only sacrificing a few percentage points of compression ratio.

Note that older builds of honeycomb_secure_proxy don't support zstd content encoding, so Secure Tenancy customers will either need to update to a recent build or disable compression before deploying this release of libhoney-go.

Retry transmission on HTTP timeout error

09 Jul 19:03
c2a79e5
Compare
Choose a tag to compare

This release adds a single retry of HTTP posts which fail due to any timeout error. This should increase event reliability in the event of occasional blips in high-traffic environments.

Add optional msgpack transmission

27 Jun 21:21
280d885
Compare
Choose a tag to compare

v1.11.0 adds the EnableMsgpackEncoding flag, which enables transmission to Honeycomb using msgpack instead of JSON. In some cases msgpack is more time and space efficient than JSON, but the principal benefit it brings is more robust support for numeric data types, especially the ability to encode large integers. This means that if you hand libhoney an integer value, it won't be converted to a float during transmission - although this is only useful for columns which are not already of type float.

However, the msgpack encoding library is a bit more fussy about its inputs than JSON, and will sometimes error on unexpected types which encoding/json would simply ignore. In addition, it doesn't call MarshalJSON() methods, so if you rely on these for field data, you'll need to add corresponding MarshalMsgpack() methods.

If you enable msgpack, it is highly recommended that you watch for errors on the TxResponses() channel.

Relax constraint on requiring API key. Fix panic.

16 Apr 19:04
Compare
Choose a tag to compare

This release relaxes the constraints on when you are required to include an API key before an event will be sent. Previously, all events required an API key, even if they were not going to use it because the configured Sender did not need it. (For example, if you use the DiscardWriter Sender, all events will be dropped. Clearly an API key should not be required. Similarly a sender that sends things to STDOUT or to a non-Honeycomb service may not need an authentication token.) API key is now only required if you are using the default Honeycomb sender or the Mock sender for tests.

This change also fixes a minor bug that could cause a panic if libhoney is not configured before use.

Adding gzip toggle, minor bug fixes

14 Mar 00:14
cb21538
Compare
Choose a tag to compare

Changes from 1.9.0 to 1.9.4:

  • adding a flag to disable gzip compression of sent batches
  • fixing a few panics and protecting against unitialized use