| <!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 v3.7.3"> |
| <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"> |
| <!--[if lt IE 9]> |
| <script src="/js/html5shiv.min.js"></script> |
| <script src="/js/respond.min.js"></script> |
| <![endif]--> |
| </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-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="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 -> 1.45.0: do not require GPG key for publishDist</li> |
| <li>Bump release plugins 1.45.0 -> 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 -> 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 -> 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="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="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="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="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="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="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="highlighter-rouge">go_history.html</code> and not <code class="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="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="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="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="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="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="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="highlighter-rouge">MICROSECONDS</code>, <code class="highlighter-rouge">MILLISECONDS</code>, <code class="highlighter-rouge">EPOCH</code>, <code class="highlighter-rouge">ISODOW</code>, <code class="highlighter-rouge">ISOYEAR</code> and |
| <code class="highlighter-rouge">DECADE</code> time units in <code class="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="highlighter-rouge">suppressions.xml</code></li> |
| <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-2219">CALCITE-2219</a>] |
| Update <code class="highlighter-rouge">Connection</code>, <code class="highlighter-rouge">Statement</code>, <code class="highlighter-rouge">PreparedStatement</code> and <code class="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="highlighter-rouge">NANOSECOND</code> in <code class="highlighter-rouge">TimeUnit</code> and <code class="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="highlighter-rouge">oraclejdk7</code>, add <code class="highlighter-rouge">oraclejdk9</code>, add <code class="highlighter-rouge">oraclejdk10</code>, and add <code class="highlighter-rouge">ibmjava</code> to |
| <code class="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="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="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="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="highlighter-rouge">AvaticaResultSet.getStatement()</code> to throw a |
| <code class="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="highlighter-rouge">RuntimeException</code> is wrapped in <code class="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="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="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="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="highlighter-rouge">AvaticaResultSet</code> methods, throw <code class="highlighter-rouge">SQLFeatureNotSupportedException</code> rather |
| than <code class="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="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="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="highlighter-rouge">signature</code> field in <code class="highlighter-rouge">ResultSetResponse</code></li> |
| <li>Correct field name in <code class="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="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="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="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="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="highlighter-rouge">first_frame_max_size</code> to an <code class="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="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="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="highlighter-rouge">CAST('<string>' 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="highlighter-rouge">DateTimeUtils</code>, implement <code class="highlighter-rouge">unixDateExtract</code> and <code class="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="highlighter-rouge">addMonths</code> and <code class="highlighter-rouge">subtractMonths</code> methods from Calcite class <code class="highlighter-rouge">SqlFunctions</code> |
| to Avatica class <code class="highlighter-rouge">DateTimeUtils</code></li> |
| <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1600">CALCITE-1600</a>] |
| In <code class="highlighter-rouge">Meta.Frame.create()</code>, change type of <code class="highlighter-rouge">offset</code> parameter from <code class="highlighter-rouge">int</code> to <code class="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="highlighter-rouge">createIterable</code> call in <code class="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="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="highlighter-rouge">truststore</code> and <code class="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="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="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="highlighter-rouge">rcN</code> to <code class="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="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="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="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="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="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="highlighter-rouge">ByteString.indexOf(ByteString, int)</code></li> |
| <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1408">CALCITE-1408</a>] |
| <code class="highlighter-rouge">ResultSet.getXxx</code> methods should throw <code class="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="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="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="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="highlighter-rouge">CoreMatchers.containsString</code> and <code class="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="highlighter-rouge">Properties</code> object</li> |
| <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1371">CALCITE-1371</a>] |
| <code class="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="highlighter-rouge">cancel</code> flag to <code class="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="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="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="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="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&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="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="highlighter-rouge">FINE</code>, <code class="highlighter-rouge">FINER</code> and <code class="highlighter-rouge">FINEST</code> |
| logging levels do not exist in SLF4J. To deal with this, we mapped |
| <code class="highlighter-rouge">FINE</code> to SLF4J’s <code class="highlighter-rouge">DEBUG</code> level, and mapped <code class="highlighter-rouge">FINER</code> and <code class="highlighter-rouge">FINEST</code> to |
| SLF4J’s <code class="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="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="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="highlighter-rouge">artifactId</code>, <code class="highlighter-rouge">groupId</code> and <code class="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="highlighter-rouge">maven-remote-resources-plugin</code></li> |
| <li>In <code class="highlighter-rouge">TimeUnit</code> add <code class="highlighter-rouge">WEEK</code>, <code class="highlighter-rouge">QUARTER</code>, <code class="highlighter-rouge">MICROSECOND</code> values, and change type of |
| <code class="highlighter-rouge">multiplier</code></li> |
| <li>Update <code class="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="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="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="highlighter-rouge">ArrayList</code> performance</li> |
| <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1086">CALCITE-1086</a>] |
| Avoid sending <code class="highlighter-rouge">Signature</code> on <code class="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="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="highlighter-rouge">NoopContext</code> singleton in <code class="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="highlighter-rouge">README</code> for Avatica</li> |
| <li>[<a href="https://issues.apache.org/jira/browse/CALCITE-1144">CALCITE-1144</a>] |
| Fix <code class="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="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="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="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 © 2019 |
| <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 License v2</a>. Apache Calcite and its logo are |
| trademarks of the Apache Software Foundation.</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> |