<!DOCTYPE HTML>
<html lang="en-US">
<head>
  <meta charset="UTF-8">
  <title>ORC 1.5.11 Released</title>
  <meta name="viewport" content="width=device-width,initial-scale=1">
  <meta name="generator" content="Jekyll v3.8.6">
  <link rel="stylesheet" href="//fonts.googleapis.com/css?family=Lato:300,300italic,400,400italic,700,700italic,900">
  <link rel="stylesheet" href="/css/screen.css">
  <link rel="icon" type="image/x-icon" href="/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="/">Home</a>
  </li>
  <li class="">
    <a href="/releases/"><span class="show-on-mobiles">Rel</span>
                         <span class="hide-on-mobiles">Releases</span></a>
  </li>
  <li class="">
    <a href="/docs/"><span class="show-on-mobiles">Doc</span>
                     <span class="hide-on-mobiles">Documentation</span></a>
  </li>
  <li class="">
    <a href="/talks/"><span class="show-on-mobiles">Talk</span>
                      <span class="hide-on-mobiles">Talks</span></a>
  </li>
  <li class="current">
    <a href="/news/">News</a>
  </li>
  <li class="">
    <a href="/develop/"><span class="show-on-mobiles">Dev</span>
                        <span class="hide-on-mobiles">Develop</span></a>
  </li>
  <li class="">
    <a href="/help/">Help</a>
  </li>
</ul>

  </nav>
  <div class="grid">
    <div class="unit one-quarter center-on-mobiles">
      <h1>
        <a href="/">
          <span class="sr-only">Apache ORC</span>
          <img src="/img/logo.png" width="249" height="101" alt="ORC Logo">
        </a>
      </h1>
    </div>
    <nav class="main-nav unit three-quarters hide-on-mobiles">
      <ul>
  <li class="">
    <a href="/">Home</a>
  </li>
  <li class="">
    <a href="/releases/"><span class="show-on-mobiles">Rel</span>
                         <span class="hide-on-mobiles">Releases</span></a>
  </li>
  <li class="">
    <a href="/docs/"><span class="show-on-mobiles">Doc</span>
                     <span class="hide-on-mobiles">Documentation</span></a>
  </li>
  <li class="">
    <a href="/talks/"><span class="show-on-mobiles">Talk</span>
                      <span class="hide-on-mobiles">Talks</span></a>
  </li>
  <li class="current">
    <a href="/news/">News</a>
  </li>
  <li class="">
    <a href="/develop/"><span class="show-on-mobiles">Dev</span>
                        <span class="hide-on-mobiles">Develop</span></a>
  </li>
  <li class="">
    <a href="/help/">Help</a>
  </li>
</ul>

    </nav>
  </div>
</header>


    <section class="news">
    <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 blog…</option>
    <option value="/news/">Home</option>
    <optgroup label="v1.x">
      
      <option value="/news/2024/04/14/ORC-1.8.7/">ORC 1.8.7 Released</option>
      
      <option value="/news/2024/03/20/ORC-1.9.3/">ORC 1.9.3 Released</option>
      
      <option value="/news/2024/03/08/ORC-2.0.0/">ORC 2.0.0 Released</option>
      
      <option value="/news/2024/01/13/add-deshan/">Deshan Xiao added as committer</option>
      
      <option value="/news/2023/11/10/ORC-1.9.2/">ORC 1.9.2 Released</option>
      
      <option value="/news/2023/11/10/ORC-1.8.6/">ORC 1.8.6 Released</option>
      
      <option value="/news/2023/11/10/ORC-1.7.10/">ORC 1.7.10 Released</option>
      
      <option value="/news/2023/09/05/ORC-1.8.5/">ORC 1.8.5 Released</option>
      
      <option value="/news/2023/08/16/ORC-1.9.1/">ORC 1.9.1 Released</option>
      
      <option value="/news/2023/06/28/ORC-1.9.0/">ORC 1.9.0 Released</option>
      
      <option value="/news/2023/06/14/ORC-1.8.4/">ORC 1.8.4 Released</option>
      
      <option value="/news/2023/05/07/ORC-1.7.9/">ORC 1.7.9 Released</option>
      
      <option value="/news/2023/03/15/ORC-1.8.3/">ORC 1.8.3 Released</option>
      
      <option value="/news/2023/02/13/add-xin/">Xin Zhang added as committer</option>
      
      <option value="/news/2023/01/21/ORC-1.7.8/">ORC 1.7.8 Released</option>
      
      <option value="/news/2023/01/13/ORC-1.8.2/">ORC 1.8.2 Released</option>
      
      <option value="/news/2022/12/02/ORC-1.8.1/">ORC 1.8.1 Released</option>
      
      <option value="/news/2022/11/17/ORC-1.7.7/">ORC 1.7.7 Released</option>
      
      <option value="/news/2022/09/21/william-chair/">William Hyun elected as Chair</option>
      
      <option value="/news/2022/09/03/ORC-1.8.0/">ORC 1.8.0 Released</option>
      
      <option value="/news/2022/08/17/ORC-1.7.6/">ORC 1.7.6 Released</option>
      
      <option value="/news/2022/06/16/ORC-1.7.5/">ORC 1.7.5 Released</option>
      
      <option value="/news/2022/06/05/add-pavan/">Pavan Lanka added as committer</option>
      
      <option value="/news/2022/05/08/yiqun-pmc/">ORC adds Yiqun Zhang to PMC</option>
      
      <option value="/news/2022/04/15/ORC-1.7.4/">ORC 1.7.4 Released</option>
      
      <option value="/news/2022/04/14/ORC-1.6.14/">ORC 1.6.14 Released</option>
      
      <option value="/news/2022/03/05/add-quanlong/">Quanlong Huang added as committer</option>
      
      <option value="/news/2022/02/09/ORC-1.7.3/">ORC 1.7.3 Released</option>
      
      <option value="/news/2022/01/20/ORC-1.6.13/">ORC 1.6.13 Released</option>
      
      <option value="/news/2021/12/20/ORC-1.7.2/">ORC 1.7.2 Released</option>
      
      <option value="/news/2021/11/23/add-yiqun/">Yiqun Zhang added as committer</option>
      
      <option value="/news/2021/11/07/ORC-1.7.1/">ORC 1.7.1 Released</option>
      
      <option value="/news/2021/11/07/ORC-1.6.12/">ORC 1.6.12 Released</option>
      
      <option value="/news/2021/10/02/william-pmc/">ORC adds William Hyun to PMC</option>
      
      <option value="/news/2021/09/15/ORC-1.7.0/">ORC 1.7.0 Released</option>
      
      <option value="/news/2021/09/15/ORC-1.6.11/">ORC 1.6.11 Released</option>
      
      <option value="/news/2021/09/15/ORC-1.5.13/">ORC 1.5.13 Released</option>
      
      <option value="/news/2021/08/10/ORC-1.6.10/">ORC 1.6.10 Released</option>
      
      <option value="/news/2021/07/02/ORC-1.6.9/">ORC 1.6.9 Released</option>
      
      <option value="/news/2021/05/21/ORC-1.6.8/">ORC 1.6.8 Released</option>
      
      <option value="/news/2021/04/13/add-william/">William Hyun added as committer</option>
      
      <option value="/news/2021/02/08/panagiotis-pmc/">ORC adds Panagiotis Garefalakis to PMC</option>
      
      <option value="/news/2021/01/22/ORC-1.6.7/">ORC 1.6.7 Released</option>
      
      <option value="/news/2020/12/10/ORC-1.6.6/">ORC 1.6.6 Released</option>
      
      <option value="/news/2020/11/16/add-panagiotis/">Panagiotis Garefalakis added as committer</option>
      
      <option value="/news/2020/10/01/ORC-1.6.5/">ORC 1.6.5 Released</option>
      
      <option value="/news/2020/09/30/ORC-1.5.12/">ORC 1.5.12 Released</option>
      
      <option value="/news/2020/09/14/ORC-1.6.4/">ORC 1.6.4 Released</option>
      
      <option value="/news/2020/09/14/ORC-1.5.11/">ORC 1.5.11 Released</option>
      
      <option value="/news/2020/04/26/ORC-1.5.10/">ORC 1.5.10 Released</option>
      
      <option value="/news/2020/04/26/ORC-1.6.3/">ORC 1.6.3 Released</option>
      
      <option value="/news/2020/01/30/ORC-1.5.9/">ORC 1.5.9 Released</option>
      
      <option value="/news/2019/12/09/dongjoon-pmc/">ORC adds Dongjoon Hyun to PMC</option>
      
      <option value="/news/2019/12/09/ORC-1.4.5/">ORC 1.4.5 Released</option>
      
      <option value="/news/2019/11/24/ORC-1.6.2/">ORC 1.6.2 Released</option>
      
      <option value="/news/2019/11/24/ORC-1.5.8/">ORC 1.5.8 Released</option>
      
      <option value="/news/2019/10/26/ORC-1.6.1/">ORC 1.6.1 Released</option>
      
      <option value="/news/2019/10/26/ORC-1.5.7/">ORC 1.5.7 Released</option>
      
      <option value="/news/2019/09/03/ORC-1.6.0/">ORC 1.6.0 Released</option>
      
      <option value="/news/2019/06/27/ORC-1.5.6/">ORC 1.5.6 Released</option>
      
      <option value="/news/2019/06/10/renat-and-sandeep/">Renat Vailiullin and Sandeep More added as committers</option>
      
      <option value="/news/2019/03/14/ORC-1.5.5/">ORC 1.5.5 Released</option>
      
      <option value="/news/2019/01/11/gang-pmc/">ORC adds Gang Wu to PMC</option>
      
      <option value="/news/2019/01/10/add-dongjoon/">Dongjoon Hyun added as committer</option>
      
      <option value="/news/2018/12/21/ORC-1.5.4/">ORC 1.5.4 Released</option>
      
      <option value="/news/2018/09/25/ORC-1.5.3/">ORC 1.5.3 Released</option>
      
      <option value="/news/2018/06/29/ORC-1.5.2/">ORC 1.5.2 Released</option>
      
      <option value="/news/2018/05/25/ORC-1.5.1/">ORC 1.5.1 Released</option>
      
      <option value="/news/2018/05/14/ORC-1.5.0/">ORC 1.5.0 Released</option>
      
      <option value="/news/2018/05/14/ORC-1.4.4/">ORC 1.4.4 Released</option>
      
      <option value="/news/2018/03/27/add-xiening-and-gang/">Gang Wu and Xiening Dai added as committer</option>
      
      <option value="/news/2018/02/09/ORC-1.4.3/">ORC 1.4.3 Released</option>
      
      <option value="/news/2018/01/23/ORC-1.4.2/">ORC 1.4.2 Released</option>
      
      <option value="/news/2017/10/16/ORC-1.4.1/">ORC 1.4.1 Released</option>
      
      <option value="/news/2017/10/16/ORC-1.3.4/">ORC 1.3.4 Released</option>
      
      <option value="/news/2017/09/06/new-pmc/">ORC adds Eugene and Deepak to PMC</option>
      
      <option value="/news/2017/05/16/new-committer/">Deepak Majeti added as committer</option>
      
      <option value="/news/2017/05/08/ORC-1.4.0/">ORC 1.4.0 Released</option>
      
      <option value="/news/2017/02/21/ORC-1.3.3/">ORC 1.3.3 Released</option>
      
      <option value="/news/2017/02/13/ORC-1.3.2/">ORC 1.3.2 Released</option>
      
      <option value="/news/2017/02/03/ORC-1.3.1/">ORC 1.3.1 Released</option>
      
      <option value="/news/2017/01/23/ORC-1.3.0/">ORC 1.3.0 Released</option>
      
      <option value="/news/2017/01/04/gopal-on-pmc/">ORC adds Gopal Vijayaraghavan to PMC</option>
      
      <option value="/news/2016/12/15/new-committers/">ORC adds new committers</option>
      
      <option value="/news/2016/12/12/ORC-1.2.3/">ORC 1.2.3 Released</option>
      
      <option value="/news/2016/12/01/ORC-1.2.2/">ORC 1.2.2 Released</option>
      
      <option value="/news/2016/10/05/ORC-1.2.1/">ORC 1.2.1 Released</option>
      
      <option value="/news/2016/08/25/ORC-1.2.0/">ORC 1.2.0 Released</option>
      
      <option value="/news/2016/07/08/ORC-1.1.2/">ORC 1.1.2 Released</option>
      
      <option value="/news/2016/06/28/file-format-talk/">File format benchmark</option>
      
      <option value="/news/2016/06/13/ORC-1.1.1/">ORC 1.1.1 Released</option>
      
      <option value="/news/2016/06/10/ORC-1.1.0/">ORC 1.1.0 Released</option>
      
      <option value="/news/2016/01/25/ORC-1.0.0/">ORC 1.0.0 Released</option>
      
      <option value="/news/2015/11/19/aliaksei-on-pmc/">ORC adds Aliaksei Sandryhaila to PMC</option>
      
      <option value="/news/2015/06/26/new-logo/">ORC adopts new logo</option>
      
      <option value="/news/2015/05/11/new-committers/">ORC adds 7 committers</option>
      
      <option value="/news/2015/04/22/orc-as-tlp/">ORC becomes an Apache Top Level Project</option>
      
    </optgroup>
  </select>
</div>


      <div class="unit four-fifths">
        <article>
  <h2>
    ORC 1.5.11 Released
    <a href="/news/2020/09/14/ORC-1.5.11/" class="permalink" title="Permalink">∞</a>
  </h2>
  <span class="post-category">
    <span class="label">
      release
    </span>
  </span>
  <div class="post-meta">
    <span class="post-date">
      14 Sep 2020
    </span>
    <a href="https://people.apache.org/~omalley" class="post-author">
      <img src="https://people.apache.org/~omalley/omalley.png"
           class="avatar" alt="omalley avatar"
           width="24" height="24">
      omalley
    </a>
  </div>
  <div class="post-content">
    <p>The ORC team is excited to announce the release of ORC v1.5.11.</p>

<ul>
  <li>Released: 14 September 2020</li>
  <li>Source code: <a href="https://archive.apache.org/dist/orc/orc-1.5.11/orc-1.5.11.tar.gz">orc-1.5.11.tar.gz</a></li>
  <li><a href="https://archive.apache.org/dist/orc/orc-1.5.11/orc-1.5.11.tar.gz.asc">GPG Signature</a>
signed by <a href="https://downloads.apache.org/orc/KEYS">Owen O’Malley (AD1C5877)</a></li>
  <li>Git tag: <a href="https://github.com/apache/orc/releases/tag/rel/release-1.5.11">rel/release-1.5.11</a></li>
  <li>Maven Central: <a href="https://search.maven.org/#search%7Cga%7C1%7Cg%3A%22org.apache.orc%22%20AND%20v%3A%221.5.11%22">ORC 1.5.11</a></li>
  <li>SHA 256: <a href="https://archive.apache.org/dist/orc/orc-1.5.11/orc-1.5.11.tar.gz.sha256">636af3a39aa8cdfc…</a></li>
  <li>Fixed issues: <a href="https://issues.apache.org/jira/sr/jira.issueviews:searchrequest-printable/temp/SearchRequest.html?jqlQuery=project+%3D+ORC+AND+status+%3D+Closed+AND+fixVersion+%3D+%221.5.11%22&amp;tempMax=500">ORC-1.5.11</a></li>
</ul>

<p>The new features of ORC 1.5:</p>

<ul>
  <li><a href="https://issues.apache.org/jira/browse/ORC-179">ORC-179</a> Add ORC C++ Writer</li>
  <li><a href="https://issues.apache.org/jira/browse/ORC-91">ORC-91</a> Support for variable length blocks in HDFS.</li>
  <li><a href="https://issues.apache.org/jira/browse/ORC-199">ORC-199</a> Implement a CSV to ORC converter</li>
  <li><a href="https://issues.apache.org/jira/browse/ORC-344">ORC-344</a> Support for using Decimal64ColumnVector</li>
  <li><a href="https://issues.apache.org/jira/browse/ORC-345">ORC-345</a> Adding Decimal64StatisticsImpl</li>
  <li><a href="https://issues.apache.org/jira/browse/ORC-331">ORC-331</a> Support for building C++ under MSVC.</li>
  <li><a href="https://issues.apache.org/jira/browse/ORC-234">ORC-234</a> Support for older versions of Hadoop (&gt;= 2.2.x)</li>
  <li><a href="https://issues.apache.org/jira/browse/ORC-305">ORC-305</a> Added statistics for size on disk</li>
</ul>

<p>Known issues:</p>

<ul>
  <li><a href="https://issues.apache.org/jira/browse/ORC-667">ORC-667</a> Positional mapping for nested struct types should not applied by default</li>
</ul>


  </div>
</article>

      </div>

      <div class="unit one-fifth hide-on-mobiles">
  <aside>
    <ul>
      <li class="">
        <a href="/news/">All News</a>
      </li>
      <li class="">
        <a href="/news/releases/">ORC Releases</a>
      </li>
    </ul>
    <h4>Recent Releases</h4>
    <ul>
      
      <li class="">
        <a href="/news/2024/04/14/ORC-1.8.7/">Version 1.8.7</a>
      </li>
      
      <li class="">
        <a href="/news/2024/03/20/ORC-1.9.3/">Version 1.9.3</a>
      </li>
      
      <li class="">
        <a href="/news/2024/03/08/ORC-2.0.0/">Version 2.0.0</a>
      </li>
      
      <li class="">
        <a href="/news/2023/11/10/ORC-1.9.2/">Version 1.9.2</a>
      </li>
      
      <li class="">
        <a href="/news/2023/11/10/ORC-1.8.6/">Version 1.8.6</a>
      </li>
      
    </ul>
    <h4>Other News</h4>
    <ul>
        
        
        
        
        
        
        
        
        <li class="">
          <a href="/news/2024/01/13/add-deshan/">Deshan Xiao added as committer</a>
        </li>
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        <li class="">
          <a href="/news/2023/02/13/add-xin/">Xin Zhang added as committer</a>
        </li>
        
        
        
        
        
        
        
        
        
        
        
        <li class="">
          <a href="/news/2022/09/21/william-chair/">William Hyun elected as Chair</a>
        </li>
        
        
        
        
        
        
        
        
        
        <li class="">
          <a href="/news/2022/06/05/add-pavan/">Pavan Lanka added as committer</a>
        </li>
        
        
        
        <li class="">
          <a href="/news/2022/05/08/yiqun-pmc/">ORC adds Yiqun Zhang to PMC</a>
        </li>
        
        
        
        
        
        
        
        <li class="">
          <a href="/news/2022/03/05/add-quanlong/">Quanlong Huang added as committer</a>
        </li>
        
        
        
        
        
        
        
        
        
        <li class="">
          <a href="/news/2021/11/23/add-yiqun/">Yiqun Zhang added as committer</a>
        </li>
        
        
        
        
        
        
        
        <li class="">
          <a href="/news/2021/10/02/william-pmc/">ORC adds William Hyun to PMC</a>
        </li>
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        <li class="">
          <a href="/news/2021/04/13/add-william/">William Hyun added as committer</a>
        </li>
        
        
        
        <li class="">
          <a href="/news/2021/02/08/panagiotis-pmc/">ORC adds Panagiotis Garefalakis to PMC</a>
        </li>
        
        
        
        
        
        
        
        <li class="">
          <a href="/news/2020/11/16/add-panagiotis/">Panagiotis Garefalakis added as committer</a>
        </li>
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        <li class="">
          <a href="/news/2019/12/09/dongjoon-pmc/">ORC adds Dongjoon Hyun to PMC</a>
        </li>
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        <li class="">
          <a href="/news/2019/06/10/renat-and-sandeep/">Renat Vailiullin and Sandeep More added as committers</a>
        </li>
        
        
        
        
        
        <li class="">
          <a href="/news/2019/01/11/gang-pmc/">ORC adds Gang Wu to PMC</a>
        </li>
        
        
        
        <li class="">
          <a href="/news/2019/01/10/add-dongjoon/">Dongjoon Hyun added as committer</a>
        </li>
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        
        <li class="">
          <a href="/news/2018/03/27/add-xiening-and-gang/">Gang Wu and Xiening Dai added as committer</a>
        </li>
        
        
        
        
        
        
        
        
        
        
        
        <li class="">
          <a href="/news/2017/09/06/new-pmc/">ORC adds Eugene and Deepak to PMC</a>
        </li>
        
        
        
        <li class="">
          <a href="/news/2017/05/16/new-committer/">Deepak Majeti added as committer</a>
        </li>
        
        
        
        
        
        
        
        
        
        
        
        
        
        <li class="">
          <a href="/news/2017/01/04/gopal-on-pmc/">ORC adds Gopal Vijayaraghavan to PMC</a>
        </li>
        
        
        
        <li class="">
          <a href="/news/2016/12/15/new-committers/">ORC adds new committers</a>
        </li>
        
        
        
        
        
        
        
        
        
        
        
        
        
        <li class="">
          <a href="/news/2016/06/28/file-format-talk/">File format benchmark</a>
        </li>
        
        
        
        
        
        
        
        
        
        <li class="">
          <a href="/news/2015/11/19/aliaksei-on-pmc/">ORC adds Aliaksei Sandryhaila to PMC</a>
        </li>
        
        
        
        <li class="">
          <a href="/news/2015/06/26/new-logo/">ORC adopts new logo</a>
        </li>
        
        
        
        <li class="">
          <a href="/news/2015/05/11/new-committers/">ORC adds 7 committers</a>
        </li>
        
        
        
        <li class="">
          <a href="/news/2015/04/22/orc-as-tlp/">ORC becomes an Apache Top Level Project</a>
        </li>
        
        
    </ul>
  </aside>
</div>


      <div class="clear"></div>

    </div>
  </section>


  <footer role="contentinfo">
  <p style="margin-left: 20px; margin-right; 20px; text-align: center">The contents of this website are &copy;&nbsp;2024
     <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 ORC and its logo are trademarks
      of the Apache Software Foundation.</p>
</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>
