For a full list of releases, see github. Downloads are available on the [downloads page]({{ site.baseurl }}/downloads/avatica.html).
{: #v1-11-0}
Apache Calcite Avatica 1.11.0 adds support for JDK 10 and drops support for JDK 7. There are more than 20 bug fixes and new features.
Compatibility: This release is tested on Linux, macOS, Microsoft Windows; using Oracle JDK 8, 9, 10; Guava versions 14.0 to 23.0; other software versions as specified in pom.xml
.
Features and bug fixes
AvaticaResultSet.getStatement()
to throw a SQLException
(Benjamin Cogrel)RuntimeException
is wrapped in SQLException
Statement.getMoreResults()
maven-protobuf-plugin
openConnection
AvaticaResultSet
methods, throw SQLFeatureNotSupportedException
rather than UnsupportedOperationException
(Sergio Sainz)TRACE
Tests
RemoteDriverTest.testBatchInsertWithDates
fails in certain time zones (Alessandro Solimando)Web site and documentation
signature
field in ResultSetResponse
PrepareAndExecuteRequest
documentation (Lukáš Lalinský)history.html
{: #v1-10-0}
Apache Calcite Avatica 1.10.0 is the first release since Avatica's git repository separated from Calcite's repository in [CALCITE-1717]. Avatica now runs on JDK 9 (and continues to run on JDK 7 and 8), and there is now a Docker image for an Avatica server. You may now send and receive Array data via the JDBC API. Several improvements to date/time support in DateTimeUtils.
Compatibility: This release is tested on Linux, macOS, Microsoft Windows; using Oracle JDK 7, 8, 9; Guava versions 14.0 to 19.0; other software versions as specified in pom.xml
.
Features and bug fixes
TypedValue
sKEYS
file from git and from release tarballfirst_frame_max_size
to an int32
maven-assembly-plugin
to version 3.0.0HsqldbServer
into a generic JDBC serverCAST('<string>' as TIMESTAMP)
wrongly adds part of sub-second fraction to the valueDateTimeUtils
, implement unixDateExtract
and unixTimeExtract
for more time unitsaddMonths
and subtractMonths
methods from Calcite class SqlFunctions
to Avatica class DateTimeUtils
Meta.Frame.create()
, change type of offset
parameter from int
to long
(Gian Merlino)createIterable
call in LocalService
(Gian Merlino)protobuf-maven-plugin
truststore
and truststore_password
JDBC optionsTests
URLDecoder
instead of manually replacing “%20” in URLsmockito
to 2.5.5Web site and documentation
rcN
to rel/
{: #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.