Go Client History

For a full list of releases, seegithub.Downloads are available on thedownloads page.

4.0.0 / 2019-05-16

Apache Calcite Avatica Go 4.0.0 is a major release of Avatica Go with a number of improvements and a breaking change.This release supports using both dep and Go modules for package management. As Go moduleswill be turned on by default in Go 1.13.0 (estimated to be released in September/October 2019), it is highly recommendedthat users of this package start migrating to using Go modules to ease the transition.

Breaking change for Phoenix (CALCITE-2763): In Apache Phoenix, null and empty strings are equivalent. For some background on why this is the case, seePHOENIX-947. In version 3 of Avatica-Go and below, null and emptystrings are returned as an empty string "" to the client. This prevented database/sql’s built in NullString type fromworking correctly. From 4.0.0 onwards, null and empty strings will be returned as a nil. This allows the usage of thesql.NullString type.

Features and bug fixes

  • [CALCITE-2723]Generate SHA512 digest for releases
  • [CALCITE-2724]Exclude .md files from import path check in release script to avoid false positives
  • [CALCITE-2579]Implement live reloading of tests when source files change during development
  • [CALCITE-2763]Fix handling of nils (nulls) when executing queries and scanning query results with empty strings and other null types
  • [CALCITE-2775]Update dependencies and regenerate protobufs
  • [CALCITE-3024]Update dependencies (April 26 2019)
  • [CALCITE-3032]Simplify docker-compose.yml for running tests and development mode, change release process to use a docker containerto build in a clean environment and include automation for uploading and promoting releases
  • [CALCITE-3026]Move import paths from v3 to v4 to prepare for 4.0.0 release
  • [CALCITE-3042]Fix bug in docker release script that prevents releases from being promoted correctly and incorrect variablesubstitution in vote email

Tests

  • [CALCITE-2771]Test against Avatica HSQLDB 1.13.0
  • [CALCITE-3025]Update travis configuration and docker-compose to test against Go 1.12 and run tests using dep in Go 1.11 and Go 1.12
  • [CALCITE-3035]Test against Avatica HSQLDB 1.14.0
  • [CALCITE-3044]Test against Avatica HSQLDB 1.15.0 and simplify Alpine dependencies

Web site and documentation:

  • [CALCITE-2774]Improve release documentation and explicitly include all steps for making a release
  • [CALCITE-3033]Move release process to separate HOWTO document so that it’s consistent with how the avatica docs are structured

3.2.0 / 2018-09-18

Apache Calcite Avatica Go 3.2.0 is a minor release of Avatica Go with fixes to the import paths after enablingsupport for Go modules.

The 3.1.0 release contained a bug where packages within the library used the "github.com/apache/calcite-avatica-go"import path rather than the "github.com/apache/calcite-avatica-go/v3" import path. This resulted in an issue where2 versions of the library are being used at the same time, causing some programs to not build.

The Calcite team recommends consumers of the Avatica Go library to not use the 3.1.0 release and ensure that the3.2.0 release is being used.

Features and bug fixes

  • [CALCITE-2536]Update release script to check that import paths within the library point to the correct version
  • [CALCITE-2545]Fix incorrect import paths within the library to point to the correct version: github.com/apache/calcite-avatica-go/v3
  • [CALCITE-2544]Replace the golang.org/x/net/context package with the context package in the standard library
  • [CALCITE-2547]Update all dependencies to their latest versions
  • [CALCITE-2550]Update release script to build tarballs with filenames in the format: apache-calcite-avatica-go-x.x.x-src.tar.gz

3.1.0 / 2018-09-10

Apache Calcite Avatica Go 3.1.0 is a minor release of Avatica Go with support for Go modules.We recommend using the latest stable version of Go.

Go 1.11 along with Go modules support was released at the end of August 2018. Go modules will become theofficial package management solution for Go projects. As the Go team currently supports both Go 1.11 and Go 1.10,the Gopkg.toml and Gopkg.lock files are still available for those using dep for package management. We plan toremove support for dep when Go 1.12 is released in early 2019, so we encourage users to upgrade to Go 1.11 and useGo modules where possible.

Features and bug fixes

  • [CALCITE-2333]Stop releasing zip archives
  • [CALCITE-2367]Remove the satori/go.uuid package as it is unmaintained and replace it with hashicorp/go-uuid which is alreadya transitive dependency (Kenneth Shaw)
  • [CALCITE-2372]Test against Apache Phoenix 4.14.0
  • [CALCITE-2493]Update all dependencies to their latest versions
  • [CALCITE-2335]Add support for Go modules (available since Go 1.11) and test against Go 1.11
  • [CALCITE-2500]Test against Avatica 1.12.0 and Apache Phoenix 5.0.0 and regenerate protobuf definitions
  • Fix release script
  • [CALCITE-2513]Fix dockerfile so that Go modules work correctly when running tests using docker-compose
  • [CALCITE-2531]Update release script to only include files in source control
  • [CALCITE-2533]Allow user to select signing key when signing releases using release script
  • [CALCITE-2532]Update release script to check ending copyright year in NOTICE file
  • [CALCITE-2534]Update release script to check that AVATICA_VER are the same in both gen-protobuf.sh and gen-protobuf.bat
  • Fix 3.1.0 release annoucement filename

Web site and documentation

  • [CALCITE-2335]Update documentation and release instructions to include support for Go modules.

3.0.0 / 2018-04-27

Apache Calcite Avatica Go 3.0.0 is the first release since the Go driver has been donatedto the Apache Software foundation.We recommend using the latest stable version of Go.

Features and bug fixes

  • [CALCITE-1240]Intial import of the original Boostport/avatica code-base into theapache/calcite-avatica-go repository
  • [CALCITE-1938]Releasing the first release of Calcite Avatica Go under the Apache Software Foundation
  • Remove go-cleanhttp dependency
  • Support for Avatica HSQLDB backend and move Apache Phoenix support into adapter
  • Add bash script to automate releases with checks to alert on files without the Apache license header
  • Replace gopher.png test fixture with Calcite logo

Web site and documentation

Past releases

Prior to release 3.0.0, the Avatica Go client was developed by Boostport.

Please refer to the Boostport/avatica Github repository for previous releasesof the Avatica Go client.