Skip to content

Releases: questdb/go-questdb-client

4.0.0

26 Aug 11:11
be587ba

Choose a tag to compare

Release overview

Adds Array support and improves QuestDB 9.0.0 compatibility.

What is new

  • Add array support and protocol version option, binary protocol for doubles #55

Migration from older client versions

The code is kept compatible with v3 of the client, so the only change should be made in imports, from github.com/questdb/go-questdb-client/v3 to github.com/questdb/go-questdb-client/v4.

3.2.0

14 Aug 15:18
9c27421

Choose a tag to compare

Release overview

API improvements and bugfixes.

What is new

  • Disable auto flush when set to off in config #51
  • Add PoolFromOptions pool constructor #52
  • Make LineSenderPool blocking and simplify its API #53

LineSenderPool users need to migrate their existing code.

Old code:

sender, err := pool.Acquire(ctx) if err != nil { panic(err) } // ... if err := pool.Release(ctx, sender); err != nil { panic(err) }

Migrated code:

// Acquire method was renamed to Sender. sender, err := pool.Sender(ctx) if err != nil { panic(err) } // ... // Close call returns the sender back to the pool. if err := sender.Close(ctx); err != nil { panic(err) }

3.1.0

02 Aug 16:31
1532472

Choose a tag to compare

Release overview

API improvements including a pool of HTTP senders.

What is new

  • Add sender pool (experimental API) #47
package main import ( "context"	qdb "github.com/questdb/go-questdb-client/v3" ) func main() { ctx := context.TODO() pool := qdb.PoolFromConf("http::addr=localhost:9000") defer func() { err := pool.Close(ctx) if err != nil { panic(err)	}	}() sender, err := pool.Acquire(ctx) if err != nil { panic(err)	} sender.Table("prices"). Symbol("ticker", "AAPL"). Float64Column("price", 123.45). AtNow(ctx) if err := pool.Release(ctx, sender); err != nil { panic(err)	} }

Note that the pool only supports HTTP senders.

3.0.8

12 Jul 11:40
27cecb6

Choose a tag to compare

Release overview

Maintenance release to include important bug fixes.

What is new

  • Fix request_min_throughput config parameter name #43

Breaking change: the old parameter name was min_throughput. Now it's called request_min_throughput, just like in other QuestDB client libraries.

3.0.7

29 Jun 17:12
7cc3203

Choose a tag to compare

Release overview

Maintenance release to include important bug fixes.

What is new

  • Fix auto_flush_interval units in LineSenderFromConf #40
  • Add support for "off" value in auto_flush_rows and auto_flush_interval #37

Thanks @jammutkarsh for the contribution.

3.0.6

27 Jun 10:18
4776744

Choose a tag to compare

Release overview

Maintenance release to include important bug fixes.

What is new

  • Fix broken HTTP sender retries #39

Fixes client-side retry errors like this one: http: ContentLength=11977933 with Body length 0.

3.0.5

26 Jun 12:18
38fdfc7

Choose a tag to compare

Release overview

Maintenance release to include important bug fixes.

What is new

  • Fix empty request body sent by HTTP sender on retry #38

Sender's buffer is reset on any network write in Flush calls (explicit and implicit). That's to prevent potential ILP message corruption. Besides that, HTTP sender now sends a non-chunked request body.

3.0.4

03 Jun 10:19
d282cfc

Choose a tag to compare

Release overview

Maintenance release to include important API improvements.

What is new

  • Add LineSenderFromEnv method #35

3.0.3

18 Apr 09:14
2190485

Choose a tag to compare

Release overview

Maintenance release to include important API improvements.

What is new

  • Make trailing semicolon optional in client config string #32

3.0.2

23 Mar 07:13
0e8ef7d

Choose a tag to compare

Release overview

Maintenance release to include important bugfixes.

What is new

  • Fix Golang 1.19 compatibility and improve documentation #30