influxdb3-go release notes

v2.17.0

  • CI updates

Dependencies

  1. #268: Upgrade Google gRPC to 1.82.0.

v2.16.0

Dependencies

  1. #261: Upgrade dependencies.

v2.15.0

Bug Fixes

  1. #258: Restores write behavior changed in 2.14 by defaulting writes to the V2 API endpoint.
    • All InfluxDB 3 products now work with default write settings.
    • Write option NoSync requires UseV2Api=false and the V3 API endpoint. AcceptPartial applies only when writes are sent to the V3 API endpoint and is ignored otherwise.

v2.14.0

BREAKING CHANGES

  1. #245: Adds UseV2Api write option and fixes partial writes support introduced in #234. Users of InfluxDB Clustered version must set this option to true for writing.

Features

  1. #227: Support custom tag order via WithTagOrder write option. See Sort tags by priority for more.
    • Point and struct writes now use custom line protocol marshaling in this client; dependency on github.com/influxdata/line-protocol/v2 will be dropped in a future release.
    • Direct use of lineprotocol.Precision is deprecated; prefer influxdb3.Precision constants.
  2. #234: Support partial writes via AcceptPartial write option. See Partial writes for more.
  3. #238: Support arrow.NULL data type in query response iterator.

Dependencies

  1. #249: Requires Go 1.25 or newer.

v2.13.0

Features

  1. #223: Support passing middleware functions to the Flight client.

v2.12.0

Features

  1. #209: Document the global nature of gRPC compression in README.md

Bug Fixes

  1. #213: Fixed InfluxDB 3 Core/Enterprise write error deserialization.

Dependencies

  1. Minimum supported Go version is now 1.24 as required by google.golang.org/grpc v1.76.0 - see grpc-go#8509

v2.11.0

  • CI updates

Features

  1. 192: Add clearer timeout parameters.
    • The ClientConfig property Timeout is now deprecated.
    • In ClientConfig a new property WriteTimeout supersedes it.
    • In ClientConfig the new property QueryTimeout sets a default context deadline to be used with all queries.
    • New environment variables INFLUXDB_WRITE_TIMEOUT and INFLUXDB_QUERY_TIMEOUT are added.

Bug Fixes

  1. #193: Use influxdb3_test package in the documentation examples to enforce public API usage.

v2.10.0

Features

  1. #189: Add transparent gRPC compression support.
  • CI updates

v2.9.0

Features

  1. #169: Support user-defined type converter function for writes points.
  2. #171: Add function to get InfluxDB version.
  3. #176: Add comment warning null when calling getMeasurement function.
  4. #174: Run integration tests against a locally started InfluxDB 3 Core server.

v2.8.0

Features

  1. #159: Support fast writes without waiting for WAL persistence:
    • New write option (WriteOptions.NoSync) added: true value means faster write but without the confirmation that the data was persisted. Default value: false.
    • Supported by self-managed InfluxDB 3 Core and Enterprise servers only!
    • Also configurable via connection string query parameter (writeNoSync).
    • Also configurable via environment variable (INFLUX_WRITE_NO_SYNC).
    • Long precision string values added from v3 HTTP API: "nanosecond", "microsecond", "millisecond", "second" ( in addition to the existing "ns", "us", "ms", "s").

Bug Fixes

  1. #164: Updates
    • Go version to 1.23.9
    • golang.org/x/net to v0.38.0
  2. #166: Upgrades dependency apache/arrow/go to apache/arrow-go v18.

v2.7.0

Bug Fixes

  1. #158: Refactor Batcher and LPBatcher:
    • Fields and methods using capacity renamed to initialCapacity.
    • Log messages when buffer data is not being emitted are simplified.
    • SetCapacity methods on both structures are now deprecated.
    • WithCapacity and WithBufferCapacity options are now deprecated.

v2.6.0

Features

  1. #155: Batcher warnings when buffer data is not being automatically emitted changed to level Debug in slog.

v2.5.0

Features

  1. #146: Add error field to QueryIterator to hold first possible error encountered when retrieving records from the flight Reader.
  2. #147: Ability to pass grpc.CallOption functions to the underlying flight Client.
  3. #149: Add default configuration for the built-in HTTP client and expose new configurable parameters:
    • Timeout - The overall time limit for requests made by the Client. A negative value means no timeout. Default value: 10 seconds.
    • IdleConnectionTimeout - Maximum time an idle connection will remain idle before closing itself. A negative value means no timeout. Default value: 90 seconds.
    • MaxIdleConnections - Maximum number of idle connections. It sets both transport.MaxIdleConn and transport.MaxIdleConnsPerHost to the same value. A negative value means no limit. Default value: 100.
  4. #154: Export functions NewQueryIterator and NewPointValueIterator to simplify testing.

v2.4.0

Features

  1. #141: Add proxy and custom SSL root certificate support.

v2.3.0

Features

  1. #131: Add new PointValueIterator based on google guidelines Guidelines

v2.2.0

Bug fixes

  1. #134: Reduce minimal Go version to 1.22, remove unnecessary toolchain constraints.

v2.1.0

Bug fixes

  1. #127: LPBatcher now returns first line of the internal buffer when the line length exceeds the batch size.

v2.0.0

Breaking Changes

:warning: This is a breaking change release.

Previously, the Query API did not respect the metadata type for columns returned from InfluxDB v3. This release fixes this issue. As a result, the type of some columns may differ from previous versions. For example, the timestamp column will now be time.Time instead of arrow.Timestamp.

Update steps:

  1. Update library: go get github.com/InfluxCommunity/influxdb3-go/v2/influxdb3
  2. Update import path in Go files to github.com/InfluxCommunity/influxdb3-go/v2/influxdb3.

Features

  1. #114: Query API respects metadata types for columns returned from InfluxDB v3. Tags are mapped as a “string”, timestamp as “time.Time”, and fields as their respective types:
    • iox::column_type::field::integer: => int64
    • iox::column_type::field::uinteger: => uint64
    • iox::column_type::field::float: => float64
    • iox::column_type::field::string: => string
    • iox::column_type::field::boolean: => bool

v1.0.0

:warning: The v1.0.0 release had a malformed module path regarding the Go Module Requirements. For a Go Module project, you need to use version 2 of the client.

Breaking Changes

:warning: This is a breaking change release.

Previously, the Query API did not respect the metadata type for columns returned from InfluxDB v3. This release fixes this issue. As a result, the type of some columns may differ from previous versions. For example, the timestamp column will now be time.Time instead of arrow.Timestamp.

Features

  1. #114: Query API respects metadata types for columns returned from InfluxDB v3. Tags are mapped as a “string”, timestamp as “time.Time”, and fields as their respective types:
    • iox::column_type::field::integer: => int64
    • iox::column_type::field::uinteger: => uint64
    • iox::column_type::field::float: => float64
    • iox::column_type::field::string: => string
    • iox::column_type::field::boolean: => bool

v0.14.0

Features

  1. #112: Adds LPBatcher for lineprotocol batching following the model of the Point Batcher.

Bug Fixes

  1. #113: Honor struct tags on WriteData, avoid panic for unexported fields

v0.13.0

Features

  1. #108: Allow Request.GetBody to be set when writing gzipped data to make calls more resilient.
  2. #111: Support tabs in tag values.

v0.12.0

Features

  1. #107: Add Batcher to simplify the process of writing data in batches.

v0.11.0

Bug Fixes

  1. #105: Support newlines in tag values.
  2. #106: Close resp.Body after HTTP error response is encountered.

v0.10.0

Features

  1. #100: Expose HTTP Response headers in ServerError

Bug Fixes

  1. #94: Resource leak from unclosed Response
  2. #97: Style and performance improvements discovered by golangci-lint
  3. #98: Cloud Dedicated database creation ignores the name given by an argument
  • CI updates

v0.9.0

Features

  1. #87: Add Cloud Dedicated database creation support
  2. #91: Add Edge (OSS) authentication support.

Bug Fixes

  1. #89: InfluxDB Edge (OSS) error handling

v0.8.0

Features

  1. #85: Add standard user-agent header to gRPC requests.
  2. #86: Add Serverless bucket creation support

v0.7.0

Features

  1. #74: Use log/slog to print debug information instead of fmt.Printf
  2. #76: Add custom headers support for queries (gRPC requests)

Bug Fixes

  1. #71: Rename FlightSQL constant to SQL

Others

  1. #68: Upgrade Go version to 1.22.

v0.6.0

Features

  1. #56: Add support for named query parameters

Bug Fixes

  1. #59: Export Default Tags from package

v0.5.0

Features

  1. #50: Default Tags for Writes

v0.4.0

Features

  1. #45: Add structured query support

Docs

  1. #45: Add downsampling example

v0.3.0

Features

  1. #36: Add client creation from connection string and environment variables.

Bug Fixes

  1. #37: runtime error for iterating Arrow Record without rows

v0.2.0

Features

  1. #30: Add custom HTTP headers support

Breaking Changes

  1. #31: Changed package to influxdb3. Renamed config types and some options.

v0.1.0

  • initial release of new client version
  • write using v2 api
  • query using SQL
  • query using influxQL

Was this page helpful?

Thank you for your feedback!