blob: 84976fabc04dad3a5983d876a85fb88d54fe250a [file] [log] [blame]
<!DOCTYPE HTML>
<html lang="en-US">
<head>
<meta charset="UTF-8">
<title>History</title>
<meta name="viewport" content="width=device-width,initial-scale=1">
<meta name="generator" content="Jekyll v4.2.2">
<link rel="stylesheet" href="//fonts.googleapis.com/css?family=Lato:300,300italic,400,400italic,700,700italic,900">
<link rel="stylesheet" href="/avatica/css/screen.css">
<link rel="icon" type="image/x-icon" href="/avatica/favicon.ico">
</head>
<body class="wrap">
<header role="banner">
<nav class="mobile-nav show-on-mobiles">
<ul>
<li class="">
<a href="/avatica/">Home</a>
</li>
<li class="">
<a href="/avatica/downloads/">Download</a>
</li>
<li class="">
<a href="/avatica/community/">Community</a>
</li>
<li class="">
<a href="/avatica/develop/">Develop</a>
</li>
<li class="">
<a href="/avatica/news/">News</a>
</li>
<li class="current">
<a href="/avatica/docs/">Docs</a>
</li>
</ul>
</nav>
<div class="grid">
<div class="unit one-third center-on-mobiles">
<h1>
<a href="/avatica/">
<span class="sr-only">Apache Calcite Avatica</span>
<img src="/avatica/img/logo.png" width="226" height="140" alt="Calcite Logo">
</a>
</h1>
</div>
<nav class="main-nav unit two-thirds hide-on-mobiles">
<ul>
<li class="">
<a href="/avatica/">Home</a>
</li>
<li class="">
<a href="/avatica/downloads/">Download</a>
</li>
<li class="">
<a href="/avatica/community/">Community</a>
</li>
<li class="">
<a href="/avatica/develop/">Develop</a>
</li>
<li class="">
<a href="/avatica/news/">News</a>
</li>
<li class="current">
<a href="/avatica/docs/">Docs</a>
</li>
</ul>
</nav>
</div>
</header>
<section class="docs">
<div class="grid">
<div class="docs-nav-mobile unit whole show-on-mobiles">
<select onchange="if (this.value) window.location.href=this.value">
<option value="">Navigate the docs…</option>
<optgroup label="Overview">
</optgroup>
<optgroup label="Avatica Reference">
</optgroup>
<optgroup label="Avatica Go Client Reference">
</optgroup>
<optgroup label="Avatica Meta">
</optgroup>
<optgroup label="Avatica Go Client Meta">
</optgroup>
</select>
</div>
<div class="unit four-fifths">
<article>
<h1>History</h1>
<!--
-->
<p>For a full list of releases, see
<a href="https://github.com/apache/calcite-avatica/releases">github</a>.
Downloads are available on the
<a href="/avatica/downloads/avatica.html">downloads page</a>.</p>
<h2 id="v1-21-0"><a href="https://github.com/apache/calcite-avatica/releases/tag/rel/avatica-1.21.0">1.21.0</a> / 2022-05-08</h2>
<p>Apache Calcite Avatica 1.21.0 is a maintenance release with dependency upgrades and added support for Oracle JDK 16
to 18. Of particular note is Log4j2 being upgrade to 2.16.0 and subsequently 2.17.0 and 2.17.1 to address
<a href="http://cve.mitre.org/cgi-bin/cvename.cgi?name=2021-44228">CVE-2021-44228</a>,
<a href="http://cve.mitre.org/cgi-bin/cvename.cgi?name=2021-45105">CVE-2021-45105</a> and
<a href="http://cve.mitre.org/cgi-bin/cvename.cgi?name=2021-44832">CVE-2021-44832</a>.</p>
<p>Compatibility: This release is tested
on Linux, macOS, Microsoft Windows;
using Oracle JDK 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18;
using IBM Java 8;
Guava versions 14.0.1 to 31.1-jre;
other software versions as specified in <code class="language-plaintext highlighter-rouge">gradle.properties</code>.</p>
<p>Contributors to this release:
Benchao Li,
Francis Chuang (Release Manager),
Istvan Toth,
Julian Hyde,
Marco Jorge,
Michael Mior,
Stamatis Zampetakis,
Xiong Duan.</p>
<p>Features and bug fixes</p>
<ul>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-5095">CALCITE-5095</a>]
Support Java 18 and Guava 31.1-jre</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-5116">CALCITE-5116</a>]
Upgrade vlsi-release-plugins to 1.78</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-4147">CALCITE-4147</a>]
Rename “master” branch to “main”</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-5098">CALCITE-5098</a>]
Migrate Avatica to Gradle 7.4.2, and support Java 16 and 17</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-4971">CALCITE-4971</a>]
Update httpclient and httpcore to latest 5.1 release</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-5009">CALCITE-5009</a>]
Transparent JDBC connection re-creation may lead to data loss</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-4974">CALCITE-4974</a>]
Upgrade log4j2 version to 2.17.1</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-4962">CALCITE-4962</a>]
Protobuf debug does not show request/response type</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-4951">CALCITE-4951</a>]
Upgrade log4j2 version to 2.17.0</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-4940">CALCITE-4940</a>]
Upgrade log4j2 version to 2.16.0</li>
</ul>
<p>Build and tests</p>
<ul>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-5103">CALCITE-5103</a>]
Update docker-compose.yml files to use OpenJDK 17 and Gradle 7.4.2 images</li>
<li>Add Apache license header to website publication Github workflows</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-5075">CALCITE-5075</a>]
Build fails due to rat check on Gemfile.lock</li>
<li>Silence standard out messages in tests</li>
</ul>
<p>Web site and documentation</p>
<ul>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-5108">CALCITE-5108</a>]
Make website GDPR-compliant</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-5106">CALCITE-5106</a>]
Upgrade to Jekyll 4 and remove unnecessary dependencies from gemfile for site</li>
<li>Fix formatting in howto</li>
<li>Add instructions for release managers to uncomment commented out release history</li>
<li>Comment out release notes for next release, so that they don’t appear on the web site</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-5102">CALCITE-5102</a>]
Update github-pages gem for site build</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-3129">CALCITE-3129</a>]
Automate website builds</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-5070">CALCITE-5070</a>]
Upgrade Jekyll and ruby gems for site generation</li>
<li>Change the javadoc title to Apache Calcite Avatica API</li>
</ul>
<h2 id="v1-20-0"><a href="https://github.com/apache/calcite-avatica/releases/tag/rel/avatica-1.20.0">1.20.0</a> / 2021-12-13</h2>
<p>Apache Calcite Avatica 1.20.0
<a href="https://issues.apache.org/jira/browse/CALCITE-4931">upgrades Log4j2 to version 2.15.0</a>
to address
<a href="http://cve.mitre.org/cgi-bin/cvename.cgi?name=2021-44228">CVE-2021-44228</a>,
and makes the SPNEGO protocol
<a href="https://issues.apache.org/jira/browse/CALCITE-4152">much more efficient</a>.</p>
<p>Compatibility: This release is tested
on Linux, macOS, Microsoft Windows;
using Oracle JDK 8, 9, 10, 11, 12, 13, 14, 15;
using IBM Java 8;
Guava versions 14.0.1 to 31.0.1-jre;
other software versions as specified in <code class="language-plaintext highlighter-rouge">gradle.properties</code>.</p>
<p>Contributors to this release:
Jacques Nadeau,
Jincheng Sun,
Josh Elser,
Julian Hyde (release manager),
Sergey Nuyanzin,
Stamatis Zampetakis,
Xiong Duan.</p>
<p>Features and bug fixes</p>
<ul>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-4931">CALCITE-4931</a>]
Upgrade SLF4J binding to Log4j2 version 2.15.0</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-4877">CALCITE-4877</a>]
Make the exception information more explicit for instantiate plugin</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-4152">CALCITE-4152</a>]
Upgrade Avatica to use the configurable SPNEGO Jetty implementation</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-4828">CALCITE-4828</a>]
Standard exception console output</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-4837">CALCITE-4837</a>]
<code class="language-plaintext highlighter-rouge">FLOOR</code> and <code class="language-plaintext highlighter-rouge">CEIL</code> functions return wrong results for <code class="language-plaintext highlighter-rouge">DECADE</code>, <code class="language-plaintext highlighter-rouge">CENTURY</code>,
<code class="language-plaintext highlighter-rouge">MILLENNIUM</code></li>
</ul>
<p>Build and tests</p>
<ul>
<li>Disable Travis job that uses Calcite master until
[<a href="https://issues.apache.org/jira/browse/CALCITE-4877">CALCITE-4877</a>]
is fixed</li>
</ul>
<p>Web site and documentation</p>
<ul>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-4840">CALCITE-4840</a>]
Make <code class="language-plaintext highlighter-rouge">README</code> easier to scan</li>
</ul>
<h2 id="v1-19-0"><a href="https://github.com/apache/calcite-avatica/releases/tag/rel/avatica-1.19.0">1.19.0</a> / 2021-10-11</h2>
<p>Apache Calcite Avatica 1.19.0 adds support for <code class="language-plaintext highlighter-rouge">BIT</code> and <code class="language-plaintext highlighter-rouge">NULL</code> data
types, fixes issues with values of type <code class="language-plaintext highlighter-rouge">ARRAY</code>, and includes a few
dependency updates.</p>
<p>Compatibility: This release is tested
on Linux, macOS, Microsoft Windows;
using Oracle JDK 8, 9, 10, 11, 12, 13, 14, 15;
using IBM Java 8;
Guava versions 14.0.1 to 31.0.1-jre;
other software versions as specified in <code class="language-plaintext highlighter-rouge">gradle.properties</code>.</p>
<p>Contributors to this release:
Alessandro Solimando,
Amann Malik,
chenyuzhi459,
Francis Chuang,
Istvan Toth,
Julian Hyde (release manager),
Jack Scott,
Sergey Nuyanzin,
Stamatis Zampetakis,
Xiong Duan,
Zeng Rui.</p>
<p>Features and bug fixes</p>
<ul>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-4573">CALCITE-4573</a>]
<code class="language-plaintext highlighter-rouge">NullPointerException</code> while fetching from a column of type <code class="language-plaintext highlighter-rouge">ARRAY</code></li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-4626">CALCITE-4626</a>]
Upgrade protobuf version to 3.17.1 to remove <code class="language-plaintext highlighter-rouge">com.google.protobuf.UnsafeUtil</code>
warnings</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-4602">CALCITE-4602</a>]
<code class="language-plaintext highlighter-rouge">ClassCastException</code> retrieving from <code class="language-plaintext highlighter-rouge">ARRAY</code> that has mixed <code class="language-plaintext highlighter-rouge">INTEGER</code> and
<code class="language-plaintext highlighter-rouge">DECIMAL</code> elements</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-4600">CALCITE-4600</a>]
<code class="language-plaintext highlighter-rouge">ClassCastException</code> retrieving from an <code class="language-plaintext highlighter-rouge">ARRAY</code> that has <code class="language-plaintext highlighter-rouge">DATE</code>, <code class="language-plaintext highlighter-rouge">TIME</code> or
<code class="language-plaintext highlighter-rouge">TIMESTAMP</code> elements</li>
<li>Upgrade forbiddenapis 2.7 → 3.2, and Guava to 14.0.1 → 31.0.1-jre</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-4757">CALCITE-4757</a>]
Allow columns of type <code class="language-plaintext highlighter-rouge">NULL</code> in <code class="language-plaintext highlighter-rouge">ResultSet</code></li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-4767">CALCITE-4767</a>]
Add <code class="language-plaintext highlighter-rouge">Quoting.BACK_TICK_BACKSLASH</code></li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-4536">CALCITE-4536</a>]
Add support for <code class="language-plaintext highlighter-rouge">BIT</code> data type</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-4752">CALCITE-4752</a>]
<code class="language-plaintext highlighter-rouge">PreparedStatement#SetObject()</code> fails for <code class="language-plaintext highlighter-rouge">BigDecimal</code> values</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-4646">CALCITE-4646</a>]
Bump Jetty version to 9.4.42.v20210604</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-4676">CALCITE-4676</a>]
Avatica client leaks TCP connections</li>
</ul>
<p>Build and tests</p>
<ul>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-4790">CALCITE-4790</a>]
Make Gradle pass the <code class="language-plaintext highlighter-rouge">user.timezone</code> property to the test JVM</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-4815">CALCITE-4815</a>]
Enforce shaded artifacts include <code class="language-plaintext highlighter-rouge">checker-qual</code> 3.10.0 or later</li>
<li>Bump javadoc compilation gradle image to 6.8</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-4755">CALCITE-4755</a>]
Prepare for next development iteration</li>
</ul>
<p>Website and documentation</p>
<ul>
<li>Site: Remove nowadays redundant minified javascript files</li>
</ul>
<h2 id="v1-18-0"><a href="https://github.com/apache/calcite-avatica/releases/tag/rel/avatica-1.18.0">1.18.0</a> / 2021-05-18</h2>
<p>Apache Calcite Avatica 1.18.0 includes a few dependency upgrades, minor fixes and a breaking change.
Please see below to determine how the breaking change will affect your project.</p>
<p>Compatibility: This release is tested
on Linux, macOS, Microsoft Windows;
using Oracle JDK 8, 9, 10, 11, 12, 13, 14, 15;
using IBM Java 8;
Guava versions 14.0 to 29.0;
other software versions as specified in <code class="language-plaintext highlighter-rouge">gradle.properties</code>.</p>
<p><strong><em>Breaking changes</em></strong></p>
<ul>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-4503">CALCITE-4503</a>] Order of fields in records should follow that of the SQL types</li>
</ul>
<p><code class="language-plaintext highlighter-rouge">Meta#deduce(List&lt;ColumnMetaData&gt; columns, Class resultClazz)</code> now only derives the order of the fields from the list of provided column metadata <code class="language-plaintext highlighter-rouge">columns</code> when generating a record from the given Java class <code class="language-plaintext highlighter-rouge">resultClazz</code>, instead of relying on the field order provided by <code class="language-plaintext highlighter-rouge">Object#getFields()</code>, which is a JVM-dependent feature.</p>
<p>Before, the field names where not checked against the field names of the provided class. Now, if <code class="language-plaintext highlighter-rouge">resultClazz</code> is not null, the provided field names are expected to match existing fields in that class. If a column metadata has name <code class="language-plaintext highlighter-rouge">column</code>, and no public field in <code class="language-plaintext highlighter-rouge">resultClazz</code> with that name exists, the following exception is thrown:
<code class="language-plaintext highlighter-rouge">java.lang.RuntimeException: java.lang.NoSuchFieldException: C</code>.</p>
<p>Features and bug fixes</p>
<ul>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-4138">CALCITE-4138</a>]
Metadata operations via Avatica turn empty string args to null (Istvan Toth)</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-4095">CALCITE-4095</a>]
Update Jetty to 9.4.31.v20200723 and use <code class="language-plaintext highlighter-rouge">SslContextFactory.Server</code> instead of <code class="language-plaintext highlighter-rouge">SslContextFactory</code> (Peter Somogyi)</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-4196">CALCITE-4196</a>]
Consume all data from client before replying with HTTP/401</li>
<li>Upgrade gradle from 6.3 to 6.7</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-4379">CALCITE-4379</a>]
Meta.Frame created with java float values in rows hits a ClassCastException in toProto() (Dmitri Bourlatchkov)</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-4181">CALCITE-4181</a>]
Avatica throws exception when select field is a List<object> (Kent Nguyen)</object></li>
<li>Upgrade Gradle from 6.7 to 6.8.1</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-4476">CALCITE-4476</a>]
DateTimeUtils.timeStringToUnixDate may produce wrong time (Vladimir Ozerov)</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-3401">CALCITE-3401</a>]
Assume empty keystore passwords by default (Istvan Toth, Alessandro Solimando)</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-3881">CALCITE-3881</a>]
DateTimeUtils.addMonths yields incorrect results (Zhenghua Gao)</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-3163">CALCITE-3163</a>]
Incorrect mapping of JDBC float/real array types to Java types (Ralph Gasser)</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-4503">CALCITE-4503</a>]
Order of fields in records should follow that of the SQL types (Alessandro Solimando)</li>
<li>Upgrade Gradle docker containers to 6.8</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-4575">CALCITE-4575</a>]
Remove Gradle wrapper from source distribution</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-4576">CALCITE-4576</a>]
Release process should not overwrite LICENSE file</li>
</ul>
<p>Tests</p>
<ul>
<li>Remove files that change often from Travis cache and remove broken files automatically</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-3163">CALCITE-3163</a>]
Improve test coverage for float/real/double array types (Alessandro Solimando)</li>
<li>Replace AssertTestUtils with custom Hamcrest matcher for accessors content</li>
</ul>
<p>Website and Documentation</p>
<ul>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-3841">CALCITE-3841</a>]
Change downloads page to use downloads.apache.org</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-4367">CALCITE-4367</a>]
Correct Avatica protocol docs</li>
</ul>
<h2 id="v1-17-0"><a href="https://github.com/apache/calcite-avatica/releases/tag/rel/avatica-1.17.0">1.17.0</a> / 2020-06-22</h2>
<p>Apache Calcite Avatica 1.17.0 is a small release incorporating a few dependency upgrades and minor fixes.</p>
<p>Compatibility: This release is tested
on Linux, macOS, Microsoft Windows;
using Oracle JDK 8, 9, 10, 11, 12, 13, 14;
using IBM Java 8;
Guava versions 14.0 to 29.0;
other software versions as specified in <code class="language-plaintext highlighter-rouge">gradle.properties</code>.</p>
<p>Features and bug fixes</p>
<ul>
<li>Upgrade RAT to 0.5.3 and print violations in the console.</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-3610">CALCITE-3610</a>]
Fix dockerhub dockerfiles to point to the right JARs on nexus</li>
<li>Move PGP signing to com.github.vlsi.stage-vote-release Gradle plugin.</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-3623">CALCITE-3623</a>]
Replace Spotless with AutoStyle.</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-2704">CALCITE-2704</a>]
Fix multilingual decoding issue where the server parses Chinese characters as gibberish.</li>
<li>Upgrade Gradle to 6.3 and color test results in output.</li>
<li>Upgrade protobuf to 0.8.12.</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-3822">CALCITE-3822</a>]
Source distribution must not contain fonts under SIL OFL 1.1 license (category B)</li>
<li>Upgrade Gradle to 6.3 in docker-compose files.</li>
</ul>
<p>Tests</p>
<ul>
<li>Upgrade Github Actions’ Checkout action to v2.</li>
<li>Add gradle wrapper validation job to Github Actions.</li>
</ul>
<p>Website and Documentation</p>
<ul>
<li>Fix broken link to Javascript binding in the documentation.</li>
</ul>
<h2 id="v1-16-0"><a href="https://github.com/apache/calcite-avatica/releases/tag/rel/avatica-1.16.0">1.16.0</a> / 2019-12-19</h2>
<p>Apache Calcite Avatica 1.16.0 replaces the maven with gradle. This release adds support for Kerberos authentication
using SPNEGO over HTTPS. In addition, there were also a few dependency updates and bug fixes. Github Actions was also
enabled in the repository for running tests.</p>
<p>Compatibility: This release is tested
on Linux, macOS, Microsoft Windows;
using Oracle JDK 8, 9, 10, 11, 12, 13;
using IBM Java 8;
Guava versions 14.0 to 23.0;
other software versions as specified in <code class="language-plaintext highlighter-rouge">gradle.properties</code>.</p>
<p>Features and bug fixes</p>
<ul>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-3059">CALCITE-3059</a>]
Fix release script to use correct release branch name when merging to master and to use the correct variable when generating the vote email</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-3090">CALCITE-3090</a>]
Remove the Central configuration</li>
<li>Update owsap-dependency-check from 4.0.2 to 5.0.0</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-3104">CALCITE-3104</a>]
Bump httpcore from 4.4.10 to 4.4.11 (Fokko Driesprong)</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-3105">CALCITE-3105</a>]
Bump Jackson from 2.9.8 to 2.9.9 (Fokko Driesprong)</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-3180">CALCITE-3180</a>]
Bump httpclient from 4.5.6 to 4.5.9 (Fokko Driesprong)</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-3324">CALCITE-3324</a>]
Add create method in MetaResultSet (Robert Yokota)</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-3384">CALCITE-3384</a>]
Support Kerberos-authentication using SPNEGO over HTTPS (Istvan Toth)</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-3199">CALCITE-3199</a>]
DateTimeUtils.unixDateCeil should not return the same value as unixDateFloor (Zhenghua Gao)</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-3412">CALCITE-3412</a>]
FLOOR(timestamp TO WEEK) gives wrong result: Fix DateTimeUtils.julianDateFloor so that unixDateFloor etc. give the right result</li>
<li>Implement Gradle-based build scripts</li>
<li>Sign release artifacts only, skip signing for -SNAPSHOT</li>
<li>Add source=1.8 to javadoc options, fix javadoc warnings</li>
<li>Add -PskipJavadoc to skip publication of the javadocs (to speedup publishToMavenLocal)</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-3490">CALCITE-3490</a>]
Upgrade Jackson to 2.10.0</li>
<li>Bump release plugin 1.44.0 -&gt; 1.45.0: do not require GPG key for publishDist</li>
<li>Bump release plugins 1.45.0 -&gt; 1.46.0: avoid failures on Gralde upgrade, fix gitignore handling</li>
<li>Add -PenableMavenLocal and -PenableGradleMetadata build options</li>
<li>Update build script: simplify properties, fix javadoc build for non UTF8 default encoding</li>
<li>Update release plugins to 1.48.0 to workaround SVN 1.9 issue with mv+cp</li>
<li>Sort dependencies, use api(javax.servlet), implementation(slf4j-api)</li>
<li>@PackageMarker is no longer needed</li>
<li>License header is managed with Spotless, there’s no need to double-check it with Checkstyle</li>
<li>Whitespace is managed with Spotless, so the check is removed from Checkstyle config</li>
<li>Upgrade to Gradle 6.0.1 to prevent pushing .sha256 and .sha512 to Nexus</li>
<li>Add gradle task ‘aggregateJavadocIncludingTests’ that builds javadoc for both main and test</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-3493">CALCITE-3493</a>]
Update docker script to use gradle</li>
<li>Use Gitbox for pushing tags when making a release</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-3573">CALCITE-3573</a>]
Upgrade to Gradle 6.0 container to build releases and javadoc</li>
<li>Configure Git tags to be pushed to calcite-avatica repository not calcite</li>
<li>Stop building zip archives when building using gradle</li>
</ul>
<p>Tests</p>
<ul>
<li>Use GitHub Actions for Windows CI</li>
<li>Add Travis job with building Calcite master</li>
<li>Show standard streams in Gradle tests</li>
<li>Skip slow Calcite tests</li>
<li>Add GitHub Actions macOS</li>
<li>Fix AvaticaSpnegoTest for canonicalHostName(“localhost”) != “localhost”: Avatica HTTP client always uses CANONICAL_HOSTNAME which confuses test code.</li>
<li>Use Spotless and .editorconfig for import order normalization instead of Checkstyle</li>
<li>Add option to skip signing: -PskipSigning</li>
<li>Fetch Calcite from apache/calcite repository for integration testing</li>
<li>GitHub Actions: actions/checkout@master -&gt; v1.1.0 to avoid unexpected failures</li>
</ul>
<p>Website and Documentation</p>
<ul>
<li>Add JavaScript client to client list</li>
<li>Update avatica/docs/howto.md: SVN -&gt; Git, fix wording</li>
<li>Exclude “site/target” from Jekyll build: It prevents generation of unwanted site/target/avatica/target directory</li>
<li>Configure Jekyll to use Etc/GMT+5 timezone for consistent page urls</li>
<li>Fix links to javadoc</li>
<li>Remove instructions to close Nexus repository when building a rc as this is now automated</li>
</ul>
<h2 id="v1-15-0"><a href="https://github.com/apache/calcite-avatica/releases/tag/rel/avatica-1.15.0">1.15.0</a> / 2019-05-13</h2>
<p>Apache Calcite Avatica 1.15.0 is a small release that reverts CALCITE-2845 due to some incompatibilities with downstream
clients.</p>
<p>Compatibility: This release is tested
on Linux, macOS, Microsoft Windows;
using Oracle JDK 8, 9, 10, 11, 12, 13;
using IBM Java 8;
Guava versions 14.0 to 23.0;
other software versions as specified in <code class="language-plaintext highlighter-rouge">pom.xml</code>.</p>
<p>Features and bug fixes</p>
<ul>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-3043">CALCITE-3043</a>]
Add the ability to publish and promote releases using docker</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-3040">CALCITE-3040</a>]
Revert CALCITE-2845 due to incompatibilities with downstream clients</li>
</ul>
<p>Website and Documentation</p>
<ul>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-3033">CALCITE-3033</a>]
Add navigation item for avatica-go HOWTO documentation</li>
</ul>
<h2 id="v1-14-0"><a href="https://github.com/apache/calcite-avatica/releases/tag/rel/avatica-1.14.0">1.14.0</a> / 2019-04-29</h2>
<p>Apache Calcite Avatica 1.14.0 includes around 13 bugs fixes and enhancements. Jetty was upgraded to 9.4.15v20190215,
which fixes a vulnerability of moderate severity: <a href="https://nvd.nist.gov/vuln/detail/CVE-2018-12545">CVE-2018-12545</a>.</p>
<p>Compatibility: This release is tested
on Linux, macOS, Microsoft Windows;
using Oracle JDK 8, 9, 10, 11, 12, 13;
using IBM Java 8;
Guava versions 14.0 to 23.0;
other software versions as specified in <code class="language-plaintext highlighter-rouge">pom.xml</code>.</p>
<p>Features and bug fixes</p>
<ul>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-2789">CALCITE-2789</a>]
Bump version dependencies Jan 2019</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-2845">CALCITE-2845</a>]
Avoid duplication of exception messages</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-2950">CALCITE-2950</a>]
Avatica DriverVersion.load leaks InputStream</li>
<li>Improve exception message in AbstractService</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-2776">CALCITE-2776</a>]
Fix wrong value when accessing struct types with one attribute</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-2269">CALCITE-2269</a>]
Enable Error Prone checking</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-2945">CALCITE-2945</a>]
Use Boolean#equals in Boolean object compare</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-2972">CALCITE-2972</a>]
Upgrade jetty to 9.4.15.v20190215</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-2987">CALCITE-2987</a>]
Use maven image instead of maven:alpine when building release using docker</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-2882">CALCITE-2882</a>]
Connection properties are lost after timeout (Bake)</li>
<li>Fix misspelled JDBC connection max duration property: expiryduration (Lanny)</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-2939">CALCITE-2939</a>]
Fix NPE when executeBatch is array type (Bake)</li>
</ul>
<p>Tests</p>
<ul>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-2728">CALCITE-2728</a>]
Update appveyor.yml to enable Appveyor testing against JDK 11</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-2961">CALCITE-2961</a>]
Enable Travis to test against JDK 13</li>
</ul>
<p>Website and Documentation</p>
<ul>
<li>Update to new git URL (switch to gitbox)</li>
<li>Add links to git commits back to download pages</li>
<li>Switch from maven:alpine to maven docker image for generating javadoc when publishing the site</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-2922">CALCITE-2922</a>]
Update link to Apache Jenkins Calcite-Avatica job</li>
</ul>
<h2 id="v1-13-0"><a href="https://github.com/apache/calcite-avatica/releases/tag/rel/avatica-1.13.0">1.13.0</a> / 2018-12-04</h2>
<p>Apache Calcite Avatica 1.13.0 includes around 30 bugs fixes and enhancements. This release adds the ability to
prepare and make a release, run tests and execute <code class="language-plaintext highlighter-rouge">mvn clean</code> in a docker container.</p>
<p>Compatibility: This release is tested
on Linux, macOS, Microsoft Windows;
using Oracle JDK 8, 9, 10, 11, 12;
using IBM Java 8;
Guava versions 14.0 to 23.0;
other software versions as specified in <code class="language-plaintext highlighter-rouge">pom.xml</code>.</p>
<p>Features and bug fixes</p>
<ul>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-2386">CALCITE-2386</a>]
Naively wire up struct support</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-2390">CALCITE-2390</a>]
Remove uses of <code class="language-plaintext highlighter-rouge">X509CertificateObject</code> which is deprecated in current version of bouncycastle</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-2467">CALCITE-2467</a>]
Update owasp-dependency-check maven plugin to 3.3.1, protobuf-java to 3.5.1, jackson to 2.9.6 and jetty to 9.4.11.v20180605</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-2503">CALCITE-2503</a>]
AvaticaCommonsHttpClientImpl client needs to set user-token on HttpClientContext before sending the request</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-2570">CALCITE-2570</a>]
Upgrade forbiddenapis to 2.6 for JDK 11 support</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1183">CALCITE-1183</a>]
Upgrade kerby to 1.1.1 and re-enable AvaticaSpnegoTest</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-2486">CALCITE-2486</a>]
Upgrade Apache parent POM to version 21 and update other dependencies</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-2583">CALCITE-2583</a>]
Upgrade dropwizard metrics to 4.0.3</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1006">CALCITE-1006</a>]
Enable spotbugs-maven-plugin</li>
<li>Move spotbugs-filter.xml to src/main/config/spotbugs/</li>
<li>Update usage of JCommander after upgrading to 1.72</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-2587">CALCITE-2587</a>]
Regenerate protobuf files for protobuf 3.6.1</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-2594">CALCITE-2594</a>]
Ensure forbiddenapis and maven-compiler use the correct JDK version</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-2595">CALCITE-2595</a>]
Add maven wrapper</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-2385">CALCITE-2385</a>]
Add flag to disable dockerfile checks when executing a dry-run build</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-2676">CALCITE-2676</a>]
Add release script and docker-compose.yml to support building releases using docker</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-2680">CALCITE-2680</a>]
Downgrade maven-scm-provider to 1.10.0 due to API incompatibility that prevents releases from building</li>
<li>Update release script to use GPG agent</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-2681">CALCITE-2681</a>]
Add maven-scm-api as a dependency, so that Avatica can build</li>
<li>Include -Dgpg.keyname when executing release:perform in the release script</li>
<li>Prompt user for git username when using release script</li>
<li>Fix release script to ensure git usernames are not truncated</li>
<li>Remove requirement to set maven master password when using the release script</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-2682">CALCITE-2682</a>]
Add ability to run tests in docker</li>
<li>Update travis-ci status badge to the correct one in README.md</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-2385">CALCITE-2385</a>]
Update travis configuration to disable dockerfile checks during testing</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-2698">CALCITE-2698</a>]
Use Docker Hub hooks to select Avatica version during image build and publish HSQLDB image</li>
</ul>
<p>Tests</p>
<ul>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-2568">CALCITE-2568</a>]
Ensure that IBM JDK TLS cipher list matches Oracle/OpenJDK for Travis CI</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-2655">CALCITE-2655</a>]
Enable Travis to test against JDK12</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-2412">CALCITE-2412</a>]
Add appveyor.yml to run Windows tests</li>
</ul>
<p>Website and Documentation</p>
<ul>
<li>Fix broken links to Github release on the history page</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-2381">CALCITE-2381</a>]
Document how to authenticate against the Apache maven repository, select GPG keys and version numbers when building
a release</li>
<li>Fix Go client download links</li>
<li>Fix download link to release history in news item template</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-2550">CALCITE-2550</a>]
Update download links for avatica-go to link to <code class="language-plaintext highlighter-rouge">apache-calcite-avatica-go-x.x.x-src.tar.gz</code> for release 3.2.0 and onwards</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-2574">CALCITE-2574</a>]
Update download pages to include instructions for verifying downloaded artifacts</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-2577">CALCITE-2577</a>]
Update URLs on download page to HTTPS</li>
<li>Update links on Go client download page to reference <code class="language-plaintext highlighter-rouge">go_history.html</code> and not <code class="language-plaintext highlighter-rouge">history.html</code></li>
</ul>
<h2 id="v1-12-0"><a href="https://github.com/apache/calcite-avatica/releases/tag/rel/avatica-1.12.0">1.12.0</a> / 2018-06-24</h2>
<p>Apache Calcite Avatica 1.12.0 includes more than 20 bugs fixes and new features. ZIP archives will no longer be
produced from this release onwards.</p>
<p>Compatibility: This release is tested
on Linux, macOS, Microsoft Windows;
using Oracle JDK 8, 9, 10, 11;
using IBM Java 8;
Guava versions 14.0 to 23.0;
other software versions as specified in <code class="language-plaintext highlighter-rouge">pom.xml</code>.</p>
<p>Features and bug fixes</p>
<ul>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1520">CALCITE-1520</a>]
Implement method <code class="language-plaintext highlighter-rouge">AvaticaConnection.isValid()</code></li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-2212">CALCITE-2212</a>]
Enforce minimum JDK 8 via <code class="language-plaintext highlighter-rouge">maven-enforcer-plugin</code></li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-2268">CALCITE-2268</a>]
Bump HSQLDB to 2.4.0 in Avatica Docker image</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-2272">CALCITE-2272</a>]
Bump dependencies: Apache Parent POM 19, JDK 10 Surefire and JDK 10 Javadoc
Fix Javadoc generation</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-2218">CALCITE-2218</a>]
Fix <code class="language-plaintext highlighter-rouge">AvaticaResultSet.getRow()</code></li>
<li>Add Docker Hub image for HSQLDB</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-2289">CALCITE-2289</a>]
Enable html5 for Javadoc on JDK 9+</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-2284">CALCITE-2284</a>]
Allow Jetty Server to be customized before startup (Alex Araujo)</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-2333">CALCITE-2333</a>]
Stop generating ZIP archives for release</li>
<li>Bump HSQLDB dependency to 2.4.1</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-2294">CALCITE-2294</a>]
Allow customization for <code class="language-plaintext highlighter-rouge">AvaticaServerConfiguration</code> for plugging new
authentication mechanisms (Karan Mehta)</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1884">CALCITE-1884</a>]
<code class="language-plaintext highlighter-rouge">DateTimeUtils</code> produces incorrect results for days before the Gregorian
cutover (Haohui Mai and Sergey Nuyanzin)</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-2303">CALCITE-2303</a>]
Support <code class="language-plaintext highlighter-rouge">MICROSECONDS</code>, <code class="language-plaintext highlighter-rouge">MILLISECONDS</code>, <code class="language-plaintext highlighter-rouge">EPOCH</code>, <code class="language-plaintext highlighter-rouge">ISODOW</code>, <code class="language-plaintext highlighter-rouge">ISOYEAR</code> and
<code class="language-plaintext highlighter-rouge">DECADE</code> time units in <code class="language-plaintext highlighter-rouge">EXTRACT</code> function (Sergey Nuyanzin)</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-2350">CALCITE-2350</a>]
Fix cannot shade Avatica with Guava 21.0 or higher</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-2341">CALCITE-2341</a>]
Fix Javadoc plugin incompatibility</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-2352">CALCITE-2352</a>]
Update checkstyle to 6.18 and update <code class="language-plaintext highlighter-rouge">suppressions.xml</code></li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-2219">CALCITE-2219</a>]
Update <code class="language-plaintext highlighter-rouge">Connection</code>, <code class="language-plaintext highlighter-rouge">Statement</code>, <code class="language-plaintext highlighter-rouge">PreparedStatement</code> and <code class="language-plaintext highlighter-rouge">ResultSet</code> to throw
an exception if resource is closed</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-2361">CALCITE-2361</a>]
Upgrade Bouncycastle to 1.59</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-2299">CALCITE-2299</a>]
Add support for <code class="language-plaintext highlighter-rouge">NANOSECOND</code> in <code class="language-plaintext highlighter-rouge">TimeUnit</code> and <code class="language-plaintext highlighter-rouge">TimeUnitRange</code></li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-2285">CALCITE-2285</a>]
Support client cert keystore for Avatica client (Karan Mehta)</li>
</ul>
<p>Tests</p>
<ul>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-2210">CALCITE-2210</a>]
Remove <code class="language-plaintext highlighter-rouge">oraclejdk7</code>, add <code class="language-plaintext highlighter-rouge">oraclejdk9</code>, add <code class="language-plaintext highlighter-rouge">oraclejdk10</code>, and add <code class="language-plaintext highlighter-rouge">ibmjava</code> to
<code class="language-plaintext highlighter-rouge">.travis.yml</code></li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-2255">CALCITE-2255</a>]
Add JDK 11 <code class="language-plaintext highlighter-rouge">.travis.yml</code></li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-2022">CALCITE-2022</a>]
Add dynamic drive calculation to correctly determine trust store location when
testing on Windows (Sergey Nuyanzin)</li>
</ul>
<p>Website and Documentation</p>
<ul>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1160">CALCITE-1160</a>]
Redirect from Avatica community to Calcite community</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1937">CALCITE-1937</a>]
Update Avatica website to support the inclusion of Avatica-Go’s content and add
option for using docker to develop and build the website</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1914">CALCITE-1914</a>]
Add DOAP (Description of a Project) file for Avatica</li>
<li>Fix broken link in <code class="language-plaintext highlighter-rouge">HOWTO</code></li>
<li>Add missing license header to avatica-go docs generation script</li>
</ul>
<h2 id="v1-11-0"><a href="https://github.com/apache/calcite-avatica/releases/tag/rel/avatica-1.11.0">1.11.0</a> / 2018-03-09</h2>
<p>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.</p>
<p>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 <code class="language-plaintext highlighter-rouge">pom.xml</code>.</p>
<p>Features and bug fixes</p>
<ul>
<li>Generate sha256 checksums for releases (previous releases used md5 and sha1)</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-2199">CALCITE-2199</a>]
Allow methods overriding <code class="language-plaintext highlighter-rouge">AvaticaResultSet.getStatement()</code> to throw a
<code class="language-plaintext highlighter-rouge">SQLException</code> (Benjamin Cogrel)</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-508">CALCITE-508</a>]
Ensure that <code class="language-plaintext highlighter-rouge">RuntimeException</code> is wrapped in <code class="language-plaintext highlighter-rouge">SQLException</code></li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-2013">CALCITE-2013</a>]
Upgrade HSQLDB to 2.4</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-2154">CALCITE-2154</a>]
Upgrade jackson to 2.9.4</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-2140">CALCITE-2140</a>]
Basic implementation of <code class="language-plaintext highlighter-rouge">Statement.getMoreResults()</code></li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-2086">CALCITE-2086</a>]
Increased max allowed HTTP header size to 64KB</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-2073">CALCITE-2073</a>]
Allow disabling of the <code class="language-plaintext highlighter-rouge">maven-protobuf-plugin</code></li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-2017">CALCITE-2017</a>]
Support JAAS-based Kerberos login on IBM Java</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-2003">CALCITE-2003</a>]
Remove global synchronization on <code class="language-plaintext highlighter-rouge">openConnection</code></li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1922">CALCITE-1922</a>]
Allow kerberos v5 OID in SPNEGO authentication</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1915">CALCITE-1915</a>]
Work around a Jetty bug where the SPNEGO challenge is not sent</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1902">CALCITE-1902</a>]
In <code class="language-plaintext highlighter-rouge">AvaticaResultSet</code> methods, throw <code class="language-plaintext highlighter-rouge">SQLFeatureNotSupportedException</code> rather
than <code class="language-plaintext highlighter-rouge">UnsupportedOperationException</code> (Sergio Sainz)</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1487">CALCITE-1487</a>]
Set the request as handled with authentication failures</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1904">CALCITE-1904</a>]
Allow SSL hostname verification to be turned off</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1879">CALCITE-1879</a>]
Log incoming protobuf requests at <code class="language-plaintext highlighter-rouge">TRACE</code></li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1880">CALCITE-1880</a>]
Regenerate protobuf files for 3.3.0</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1836">CALCITE-1836</a>]
Upgrade to protobuf-java-3.3.0</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1195">CALCITE-1195</a>]
Add a curl+jq example for interacting with Avatica</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1813">CALCITE-1813</a>]
Use correct noop-driver artifactId</li>
</ul>
<p>Tests</p>
<ul>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-2145">CALCITE-2145</a>]
<code class="language-plaintext highlighter-rouge">RemoteDriverTest.testBatchInsertWithDates</code> fails in certain time zones
(Alessandro Solimando)</li>
<li>Fix tests on Windows; disable SPNEGO test on Windows</li>
</ul>
<p>Web site and documentation</p>
<ul>
<li>Update description of the <code class="language-plaintext highlighter-rouge">signature</code> field in <code class="language-plaintext highlighter-rouge">ResultSetResponse</code></li>
<li>Correct field name in <code class="language-plaintext highlighter-rouge">PrepareAndExecuteRequest</code> documentation (Lukáš Lalinský)</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-2083">CALCITE-2083</a>]
Update documentation</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-2036">CALCITE-2036</a>]
Fix “next” link in <code class="language-plaintext highlighter-rouge">history.html</code></li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1878">CALCITE-1878</a>]
Update the website for protobuf changes in 1.10.0</li>
</ul>
<h2 id="v1-10-0"><a href="https://github.com/apache/calcite-avatica/releases/tag/rel/avatica-1.10.0">1.10.0</a> / 2017-05-30</h2>
<p>Apache Calcite Avatica 1.10.0 is the first release since
<a href="https://gitbox.apache.org/repos/asf/calcite-avatica.git">Avatica’s git repository</a>
separated from
<a href="https://gitbox.apache.org/repos/asf/calcite.git">Calcite’s repository</a> in
[<a href="https://issues.apache.org/jira/browse/CALCITE-1717">CALCITE-1717</a>].
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.</p>
<p>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 <code class="language-plaintext highlighter-rouge">pom.xml</code>.</p>
<p>Features and bug fixes</p>
<ul>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1690">CALCITE-1690</a>]
Timestamp literals cannot express precision above millisecond</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1539">CALCITE-1539</a>]
Enable proxy access to Avatica server for third party on behalf of end users</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1756">CALCITE-1756</a>]
Differentiate between implicitly null and explicitly null <code class="language-plaintext highlighter-rouge">TypedValue</code>s</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1050">CALCITE-1050</a>]
Array support for Avatica</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1746">CALCITE-1746</a>]
Remove <code class="language-plaintext highlighter-rouge">KEYS</code> file from git and from release tarball</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1353">CALCITE-1353</a>]
Convert <code class="language-plaintext highlighter-rouge">first_frame_max_size</code> to an <code class="language-plaintext highlighter-rouge">int32</code></li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1744">CALCITE-1744</a>]
Clean up the Avatica poms</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1741">CALCITE-1741</a>]
Upgrade <code class="language-plaintext highlighter-rouge">maven-assembly-plugin</code> to version 3.0.0</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1364">CALCITE-1364</a>]
Docker images for an Avatica server</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1717">CALCITE-1717</a>]
Remove Calcite code and lift Avatica</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1700">CALCITE-1700</a>]
De-couple the <code class="language-plaintext highlighter-rouge">HsqldbServer</code> into a generic JDBC server</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1699">CALCITE-1699</a>]
Statement may be null</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1667">CALCITE-1667</a>]
Forbid calls to JDK APIs that use the default locale, time zone or character
set</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1664">CALCITE-1664</a>]
<code class="language-plaintext highlighter-rouge">CAST('&lt;string&gt;' as TIMESTAMP)</code> wrongly adds part of sub-second fraction to the
value</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1654">CALCITE-1654</a>]
Avoid generating a string from the Request/Response when it will not be logged</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1609">CALCITE-1609</a>]
In <code class="language-plaintext highlighter-rouge">DateTimeUtils</code>, implement <code class="language-plaintext highlighter-rouge">unixDateExtract</code> and <code class="language-plaintext highlighter-rouge">unixTimeExtract</code> for more
time units</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1608">CALCITE-1608</a>]
Move <code class="language-plaintext highlighter-rouge">addMonths</code> and <code class="language-plaintext highlighter-rouge">subtractMonths</code> methods from Calcite class <code class="language-plaintext highlighter-rouge">SqlFunctions</code>
to Avatica class <code class="language-plaintext highlighter-rouge">DateTimeUtils</code></li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1600">CALCITE-1600</a>]
In <code class="language-plaintext highlighter-rouge">Meta.Frame.create()</code>, change type of <code class="language-plaintext highlighter-rouge">offset</code> parameter from <code class="language-plaintext highlighter-rouge">int</code> to <code class="language-plaintext highlighter-rouge">long</code>
(Gian Merlino)</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1602">CALCITE-1602</a>]
Remove uses of deprecated APIs</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1599">CALCITE-1599</a>]
Remove unused <code class="language-plaintext highlighter-rouge">createIterable</code> call in <code class="language-plaintext highlighter-rouge">LocalService</code> (Gian Merlino)</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1576">CALCITE-1576</a>]
Use the <code class="language-plaintext highlighter-rouge">protobuf-maven-plugin</code></li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1567">CALCITE-1567</a>]
JDK9 support</li>
<li>Remove non-ASCII characters from Java source files</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1538">CALCITE-1538</a>]
Support <code class="language-plaintext highlighter-rouge">truststore</code> and <code class="language-plaintext highlighter-rouge">truststore_password</code> JDBC options</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1485">CALCITE-1485</a>]
Upgrade Avatica’s Apache parent POM to version 18</li>
</ul>
<p>Tests</p>
<ul>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1752">CALCITE-1752</a>]
Use <code class="language-plaintext highlighter-rouge">URLDecoder</code> instead of manually replacing “%20” in URLs</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1736">CALCITE-1736</a>]
Address test failures when the path contains spaces</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1568">CALCITE-1568</a>]
Upgrade <code class="language-plaintext highlighter-rouge">mockito</code> to 2.5.5</li>
</ul>
<p>Web site and documentation</p>
<ul>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1743">CALCITE-1743</a>]
Add instructions to release docs to move git tag from <code class="language-plaintext highlighter-rouge">rcN</code> to <code class="language-plaintext highlighter-rouge">rel/</code></li>
</ul>
<h2 id="v1-9-0"><a href="https://github.com/apache/calcite-avatica/releases/tag/calcite-avatica-1.9.0">1.9.0</a> / 2016-11-01</h2>
<p>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).</p>
<p>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 <code class="language-plaintext highlighter-rouge">pom.xml</code>.</p>
<p>Features and bug fixes</p>
<ul>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1471">CALCITE-1471</a>]
<code class="language-plaintext highlighter-rouge">HttpServerSpnegoWithJaasTest.testAuthenticatedClientsAllowed</code> fails on Windows
(Aaron Mihalik)</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1464">CALCITE-1464</a>]
Upgrade Jetty version to 9.2.19v20160908</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1463">CALCITE-1463</a>]
In <code class="language-plaintext highlighter-rouge">standalone-server</code> jar, relocate dependencies rather than excluding them</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1355">CALCITE-1355</a>]
Upgrade to protobuf-java 3.1.0</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1462">CALCITE-1462</a>]
Remove Avatica pom cruft</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1458">CALCITE-1458</a>]
Add column values to the deprecated protobuf attribute</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1433">CALCITE-1433</a>]
Add missing dependencies to <code class="language-plaintext highlighter-rouge">avatica-server</code></li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1433">CALCITE-1433</a>]
Fix missing avatica <code class="language-plaintext highlighter-rouge">test-jar</code> dependency</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1423">CALCITE-1423</a>]
Add method <code class="language-plaintext highlighter-rouge">ByteString.indexOf(ByteString, int)</code></li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1408">CALCITE-1408</a>]
<code class="language-plaintext highlighter-rouge">ResultSet.getXxx</code> methods should throw <code class="language-plaintext highlighter-rouge">SQLDataException</code> if cannot convert to
the requested type (Laurent Goujon)</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1410">CALCITE-1410</a>]
Fix JDBC metadata classes (Laurent Goujon)</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1224">CALCITE-1224</a>]
Publish non-shaded and shaded versions of Avatica client artifacts</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1407">CALCITE-1407</a>]
<code class="language-plaintext highlighter-rouge">MetaImpl.fieldMetaData</code> wrongly uses 1-based column ordinals</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1361">CALCITE-1361</a>]
Remove entry from <code class="language-plaintext highlighter-rouge">AvaticaConnection.flagMap</code> when session closed</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1399">CALCITE-1399</a>]
Make the jcommander <code class="language-plaintext highlighter-rouge">SerializationConverter</code> public</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1394">CALCITE-1394</a>]
Javadoc warnings due to <code class="language-plaintext highlighter-rouge">CoreMatchers.containsString</code> and <code class="language-plaintext highlighter-rouge">mockito-all</code></li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1390">CALCITE-1390</a>]
Avatica JDBC driver wrongly modifies <code class="language-plaintext highlighter-rouge">Properties</code> object</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1371">CALCITE-1371</a>]
<code class="language-plaintext highlighter-rouge">PreparedStatement</code> does not process Date type correctly (Billy (Yiming) Liu)</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1301">CALCITE-1301</a>]
Add <code class="language-plaintext highlighter-rouge">cancel</code> flag to <code class="language-plaintext highlighter-rouge">AvaticaStatement</code></li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1315">CALCITE-1315</a>]
Retry the request on <code class="language-plaintext highlighter-rouge">NoHttpResponseException</code></li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1300">CALCITE-1300</a>]
Retry on HTTP-503 in hc-based <code class="language-plaintext highlighter-rouge">AvaticaHttpClient</code></li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1263">CALCITE-1263</a>]
Case-insensitive match and null default value for <code class="language-plaintext highlighter-rouge">enum</code> properties</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1282">CALCITE-1282</a>]
Adds an API method to set extra allowed Kerberos realms</li>
</ul>
<p>Tests</p>
<ul>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1226">CALCITE-1226</a>]
Disable <code class="language-plaintext highlighter-rouge">AvaticaSpnegoTest</code> due to intermittent failures</li>
</ul>
<p>Web site and documentation</p>
<ul>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1369">CALCITE-1369</a>]
Add list of Avatica clients to the web site</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1229">CALCITE-1229</a>]
Restore API and Test API links to site</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1287">CALCITE-1287</a>]
TCK test for binary columns</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1285">CALCITE-1285</a>]
Fix client URL template in example config file</li>
</ul>
<h2 id="v1-8-0"><a href="https://github.com/apache/calcite-avatica/releases/tag/calcite-avatica-1.8.0">1.8.0</a> / 2016-06-04</h2>
<p>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.</p>
<p>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.</p>
<p>Users of Avatica 1.7.x should not notice any issues in upgrading existing applications
and are encouraged to upgrade as soon as possible.</p>
<p>Features and bug fixes</p>
<ul>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1159">CALCITE-1159</a>]
Support Kerberos-authenticated clients using SPNEGO</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1173">CALCITE-1173</a>]
Basic and Digest authentication</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1249">CALCITE-1249</a>]
L&amp;N incorrect for source and non-shaded jars for avatica-standalone-server module</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1103">CALCITE-1103</a>]
Decimal data serialized as Double in Protocol Buffer API</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1205">CALCITE-1205</a>]
Inconsistency in protobuf TypedValue field names</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1207">CALCITE-1207</a>]
Allow numeric connection properties, and K, M, G suffixes</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1209">CALCITE-1209</a>]
Byte strings not being correctly decoded when sent to avatica using protocol buffers</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1213">CALCITE-1213</a>]
Changing AvaticaDatabaseMetaData from class to interface breaks compatibility</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1218">CALCITE-1218</a>]
Mishandling of uncaught exceptions results in no ErrorResponse sent to client</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1230">CALCITE-1230</a>]
Add SQLSTATE reference data as enum SqlState</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1243">CALCITE-1243</a>]
max_row_count in protobuf Requests should be signed int</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1247">CALCITE-1247</a>]
JdbcMeta#prepare doesn’t set maxRowCount on the Statement</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1254">CALCITE-1254</a>]
Support PreparedStatement.executeLargeBatch</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-643">CALCITE-643</a>]
User authentication for avatica clients</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1128">CALCITE-1128</a>]
Support addBatch()/executeBatch() in remote driver</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1179">CALCITE-1179</a>]
Extend list of time units and time unit ranges</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1180">CALCITE-1180</a>]
Support clearBatch() in remote driver</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1185">CALCITE-1185</a>]
Send back ErrorResponse on failure to parse requests</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1192">CALCITE-1192</a>]
Document protobuf and json REP types with examples</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1214">CALCITE-1214</a>]
Support url-based kerberos login</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1236">CALCITE-1236</a>]
Log exceptions sent back to client in server log</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-836">CALCITE-836</a>]
Provide a way for the Avatica client to query the server versions</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1156">CALCITE-1156</a>]
Bump jetty version</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1184">CALCITE-1184</a>]
Update Kerby dependency to 1.0.0-RC2</li>
</ul>
<p>Tests</p>
<ul>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1190">CALCITE-1190</a>]
Cross-Version Compatibility Test Harness</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1113">CALCITE-1113</a>]
Parameter precision and scale are not returned from Avatica REST API</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1186">CALCITE-1186</a>]
Parameter ‘signed’ metadata is always returned as false</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1189">CALCITE-1189</a>]
Unit test failure when JVM default charset is not UTF-8</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1061">CALCITE-1061</a>]
RemoteMetaTest#testRemoteStatementInsert’s use of hsqldb isn’t guarded</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1194">CALCITE-1194</a>]
Avatica metrics has non-test dependency on JUnit</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-835">CALCITE-835</a>]
Unicode character seems to be handled incorrectly in Avatica</li>
</ul>
<p>Web site and documentation</p>
<ul>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1251">CALCITE-1251</a>]
Write release notes</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1201">CALCITE-1201</a>]
Bad character in JSON docs</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1267">CALCITE-1267</a>]
Point to release notes on website in README</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1163">CALCITE-1163</a>]
Avatica sub-site logo leads to Calcite site instead of Avatica’s</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1202">CALCITE-1202</a>]
Lock version of Jekyll used by website</li>
</ul>
<h2 id="v1-7-1"><a href="https://github.com/apache/calcite-avatica/releases/tag/calcite-avatica-1.7.1">1.7.1</a> / 2016-03-18</h2>
<p>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.)</p>
<p>One notable technical change is that we have replaced JUL (<code class="language-plaintext highlighter-rouge">java.util.logging</code>)
with <a href="http://slf4j.org/">SLF4J</a>. 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
[<a href="https://issues.apache.org/jira/browse/CALCITE-669">CALCITE-669</a>].</p>
<p>If you have configured JUL in Calcite/Avatica previously, you’ll
notice some differences, because JUL’s <code class="language-plaintext highlighter-rouge">FINE</code>, <code class="language-plaintext highlighter-rouge">FINER</code> and <code class="language-plaintext highlighter-rouge">FINEST</code>
logging levels do not exist in SLF4J. To deal with this, we mapped
<code class="language-plaintext highlighter-rouge">FINE</code> to SLF4J’s <code class="language-plaintext highlighter-rouge">DEBUG</code> level, and mapped <code class="language-plaintext highlighter-rouge">FINER</code> and <code class="language-plaintext highlighter-rouge">FINEST</code> to
SLF4J’s <code class="language-plaintext highlighter-rouge">TRACE</code>.</p>
<p>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.</p>
<p>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 <code class="language-plaintext highlighter-rouge">pom.xml</code>.</p>
<p>Features and bug fixes</p>
<ul>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1156">CALCITE-1156</a>]
Upgrade Jetty from 9.2.7.v20150116 to 9.2.15.v20160210</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1141">CALCITE-1141</a>]
Bump <code class="language-plaintext highlighter-rouge">version.minor</code> for Avatica</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1132">CALCITE-1132</a>]
Update <code class="language-plaintext highlighter-rouge">artifactId</code>, <code class="language-plaintext highlighter-rouge">groupId</code> and <code class="language-plaintext highlighter-rouge">name</code> for Avatica</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1064">CALCITE-1064</a>]
Address problematic <code class="language-plaintext highlighter-rouge">maven-remote-resources-plugin</code></li>
<li>In <code class="language-plaintext highlighter-rouge">TimeUnit</code> add <code class="language-plaintext highlighter-rouge">WEEK</code>, <code class="language-plaintext highlighter-rouge">QUARTER</code>, <code class="language-plaintext highlighter-rouge">MICROSECOND</code> values, and change type of
<code class="language-plaintext highlighter-rouge">multiplier</code></li>
<li>Update <code class="language-plaintext highlighter-rouge">groupId</code> when Calcite POMs reference Avatica modules</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1078">CALCITE-1078</a>]
Detach avatica from the core calcite Maven project</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1117">CALCITE-1117</a>]
Default to a <code class="language-plaintext highlighter-rouge">commons-httpclient</code> implementation</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1118">CALCITE-1118</a>]
Add a noop-JDBC driver for testing Avatica server</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1119">CALCITE-1119</a>]
Additional metrics instrumentation for request processing</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1094">CALCITE-1094</a>]
Replace <code class="language-plaintext highlighter-rouge">ByteArrayOutputStream</code> to avoid synchronized writes</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1092">CALCITE-1092</a>]
Use singleton descriptor instances for protobuf field presence checks</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1093">CALCITE-1093</a>]
Reduce impact of <code class="language-plaintext highlighter-rouge">ArrayList</code> performance</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1086">CALCITE-1086</a>]
Avoid sending <code class="language-plaintext highlighter-rouge">Signature</code> on <code class="language-plaintext highlighter-rouge">Execute</code> for updates</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1031">CALCITE-1031</a>]
In prepared statement, <code class="language-plaintext highlighter-rouge">CsvScannableTable.scan</code> is called twice</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1085">CALCITE-1085</a>]
Use a <code class="language-plaintext highlighter-rouge">NoopContext</code> singleton in <code class="language-plaintext highlighter-rouge">NoopTimer</code></li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-642">CALCITE-642</a>]
Add an avatica-metrics API</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1071">CALCITE-1071</a>]
Improve hash functions</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-669">CALCITE-669</a>]
Mass removal of Java Logging for SLF4J</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1067">CALCITE-1067</a>]
Test failures due to clashing temporary table names</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-999">CALCITE-999</a>]
Clean up maven POM files</li>
</ul>
<p>Web site and documentation</p>
<ul>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1142">CALCITE-1142</a>]
Create a <code class="language-plaintext highlighter-rouge">README</code> for Avatica</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1144">CALCITE-1144</a>]
Fix <code class="language-plaintext highlighter-rouge">LICENSE</code> for Avatica</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1143">CALCITE-1143</a>]
Remove unnecessary <code class="language-plaintext highlighter-rouge">NOTICE</code> for Avatica</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1139">CALCITE-1139</a>]
Update Calcite’s <code class="language-plaintext highlighter-rouge">KEYS</code> and add a copy for Avatica</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1140">CALCITE-1140</a>]
Release notes and website updates for Avatica 1.7</li>
<li>Instructions for Avatica site</li>
<li>New logo and color scheme for Avatica site</li>
<li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1079">CALCITE-1079</a>]
Split out an Avatica website, made to slot into the Calcite site at <code class="language-plaintext highlighter-rouge">/avatica</code></li>
</ul>
<h2 id="past-releases">Past releases</h2>
<p>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.</p>
<p>Please refer to the
<a href="https://calcite.apache.org/docs/history.html">Calcite release page</a>
for information about previous Avatica releases.</p>
<div class="section-nav">
<div class="left align-right">
<a href="/avatica/docs/go_howto.html" class="prev">Previous</a>
</div>
<div class="right align-left">
<a href="/avatica/javadocAggregate/" class="next">Next</a>
</div>
</div>
<div class="clear"></div>
</article>
</div>
<div class="unit one-fifth hide-on-mobiles">
<aside>
<h4>Overview</h4>
<ul>
<li class=""><a href="/avatica/docs/index.html">Background</a></li>
<li class=""><a href="/avatica/docs/roadmap.html">Roadmap</a></li>
</ul>
<h4>Avatica Reference</h4>
<ul>
<li class=""><a href="/avatica/docs/client_reference.html">Client Reference</a></li>
<li class=""><a href="/avatica/docs/json_reference.html">JSON Reference</a></li>
<li class=""><a href="/avatica/docs/protobuf_reference.html">Protobuf Reference</a></li>
<li class=""><a href="/avatica/docs/howto.html">HOWTO</a></li>
<li class=""><a href="/avatica/docs/security.html">Security</a></li>
<li class=""><a href="/avatica/docs/compatibility.html">Compatibility</a></li>
<li class=""><a href="/avatica/docs/custom_client_artifacts.html">Custom Client Artifacts</a></li>
<li class=""><a href="/avatica/docs/docker.html">Docker Images</a></li>
<li class=""><a href="/avatica/docs/protocol_testing.html">Protocol Testing</a></li>
</ul>
<h4>Avatica Go Client Reference</h4>
<ul>
<li class=""><a href="/avatica/docs/go_client_reference.html">Go Client Reference</a></li>
<li class=""><a href="/avatica/docs/go_howto.html">HOWTO</a></li>
</ul>
<h4>Avatica Meta</h4>
<ul>
<li class="current"><a href="/avatica/docs/history.html">History</a></li>
<li class=""><a href="/avatica/docs/api/">API</a></li>
</ul>
<h4>Avatica Go Client Meta</h4>
<ul>
<li class=""><a href="/avatica/docs/go_history.html">Go Client History</a></li>
</ul>
</aside>
</div>
<div class="clear"></div>
</div>
</section>
<footer role="contentinfo">
<div id="poweredby">
<a href="http://www.apache.org/">
<span class="sr-only">Apache</span>
<img src="/avatica/img/feather.png" width="190" height="77" alt="Apache Logo"></a>
</div>
<div id="copyright">
<p>The contents of this website are &copy;&nbsp;2022
<a href="https://www.apache.org/">Apache Software Foundation</a>
under the terms of
the <a href="https://www.apache.org/licenses/LICENSE-2.0.html">
Apache&nbsp;License&nbsp;v2</a>. Apache Calcite and its logo are
trademarks of the Apache Software Foundation.
</p>
<p>
<a href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy Policy</a>
</p>
</div>
</footer>
<script>
var anchorForId = function (id) {
var anchor = document.createElement("a");
anchor.className = "header-link";
anchor.href = "#" + id;
anchor.innerHTML = "<span class=\"sr-only\">Permalink</span><i class=\"fa fa-link\"></i>";
anchor.title = "Permalink";
return anchor;
};
var linkifyAnchors = function (level, containingElement) {
var headers = containingElement.getElementsByTagName("h" + level);
for (var h = 0; h < headers.length; h++) {
var header = headers[h];
if (typeof header.id !== "undefined" && header.id !== "") {
header.appendChild(anchorForId(header.id));
}
}
};
document.onreadystatechange = function () {
if (this.readyState === "complete") {
var contentBlock = document.getElementsByClassName("docs")[0] || document.getElementsByClassName("news")[0];
if (!contentBlock) {
return;
}
for (var level = 1; level <= 6; level++) {
linkifyAnchors(level, contentBlock);
}
}
};
</script>
</body>
</html>