For a full list of releases, see github. Downloads are available on the [downloads page]({{ site.baseurl }}/downloads/).
{: #v1-9-0}
Apache Calcite Avatica 1.9.0 includes various improvements to make it more robust and secure, while maintaining API and protocol compatibility with previous versions. We now include non-shaded and shaded artifacts, to make it easier to embed Avatica in your application. There is improved support for the JDBC API, including better type conversions and support for canceling statements. The transport is upgraded to use protobuf-3.1.0 (previously 3.0 beta).
Compatibility: This release is tested on Linux, macOS, Microsoft Windows; using Oracle JDK 1.7, 1.8; Guava versions 14.0 to 19.0; other software versions as specified in pom.xml
.
Features and bug fixes
HttpServerSpnegoWithJaasTest.testAuthenticatedClientsAllowed
fails on Windows (Aaron Mihalik)standalone-server
jar, relocate dependencies rather than excluding themavatica-server
test-jar
dependencyByteString.indexOf(ByteString, int)
ResultSet.getXxx
methods should throw SQLDataException
if cannot convert to the requested type (Laurent Goujon)MetaImpl.fieldMetaData
wrongly uses 1-based column ordinalsAvaticaConnection.flagMap
when session closedSerializationConverter
publicCoreMatchers.containsString
and mockito-all
Properties
objectPreparedStatement
does not process Date type correctly (Billy (Yiming) Liu)cancel
flag to AvaticaStatement
NoHttpResponseException
AvaticaHttpClient
enum
propertiesTests
AvaticaSpnegoTest
due to intermittent failuresWeb site and documentation
{: #v1-8-0}
Apache Calcite Avatica 1.8.0 continues the focus on compatibility with previous versions while also adding support for authentication between Avatica client and server. Performance, notably on the write-path, is also major area of improvement in this release, increasing as much as two to three times over previous versions with the addition of new API support. The documentation for both users and developers continues to receive improvements.
A number of protocol issues are resolved relating to the proper serialization of decimals, the wire-API semantics of signed integers that were marked as unsigned integers, and the unintentional Base64-encoding of binary data using the Protocol Buffers serialization in Avatica. These issues were fixed in such a way to be backwards compatible, but older clients/servers may still compute incorrect data.
Users of Avatica 1.7.x should not notice any issues in upgrading existing applications and are encouraged to upgrade as soon as possible.
Features and bug fixes
Tests
Web site and documentation
{: #v1-7-1}
This is the first release of Avatica as an independent project. (It is still governed by Apache Calcite's PMC, and stored in the same git repository as Calcite, but releases are no longer synchronized, and Avatica does not depend on any Calcite modules.)
One notable technical change is that we have replaced JUL (java.util.logging
) with SLF4J. SLF4J provides an API that Avatica can use independent of the logging implementation. This is more flexible for users: they can configure Avatica's logging within their own chosen logging framework. This work was done in [CALCITE-669].
If you have configured JUL in Calcite/Avatica previously, you‘ll notice some differences, because JUL’s FINE
, FINER
and FINEST
logging levels do not exist in SLF4J. To deal with this, we mapped FINE
to SLF4J‘s DEBUG
level, and mapped FINER
and FINEST
to SLF4J’s TRACE
.
The performance of Avatica was an important focus for this release as well. Numerous improvements aimed at reducing the overall latency of Avatica RPCs was reduced. Some general testing showed an overall reduction of latency by approximately 15% over the previous release.
Compatibility: This release is tested on Linux, Mac OS X, Microsoft Windows; using Oracle JDK 1.7, 1.8; Guava versions 12.0.1 to 19.0; other software versions as specified in pom.xml
.
Features and bug fixes
version.minor
for AvaticaartifactId
, groupId
and name
for Avaticamaven-remote-resources-plugin
TimeUnit
add WEEK
, QUARTER
, MICROSECOND
values, and change type of multiplier
groupId
when Calcite POMs reference Avatica modulescommons-httpclient
implementationByteArrayOutputStream
to avoid synchronized writesArrayList
performanceSignature
on Execute
for updatesCsvScannableTable.scan
is called twiceNoopContext
singleton in NoopTimer
Web site and documentation
README
for AvaticaLICENSE
for AvaticaNOTICE
for AvaticaKEYS
and add a copy for Avatica/avatica
Prior to release 1.7.1, Avatica was released as part of Calcite. Maven modules had groupId ‘org.apache.calcite’ and module names ‘calcite-avatica’, ‘calcite-avatica-server’ etc.
Please refer to the Calcite release page for information about previous Avatica releases.