The ORC team is excited to announce the release of ORC v2.3.1.

The bug fixes:

  • ORC-2123 [C++] Fix heap-use-after-free in ORC SearchArgument rewriteLeaves
  • ORC-2131 Set default of orc.stripe.size.check.ratio and orc.dictionary.max.size.bytes to 0
  • ORC-2151 [C++] Move the timestamp compensation before timezone conversion to prevent incorrect DST offset lookup
  • ORC-2160 [C++] Expose prefetch range planning via Reader::preBufferRange and refactor preBuffer to reuse it
  • ORC-2161 [C++] UnionColumnReader should reject out-of-range union tags
  • ORC-2164 [C++] Add external-buffer support in DataBuffer lifecycle management
  • ORC-2165 [C++] Fix bounds check for LZO stop command trailer
  • ORC-2167 [C++] Fix integer overflow in PostScript footer length validation
  • ORC-2177 Fix array conversion with empty first batch
  • ORC-2187 Set protobuf message size limit in C++ reader
  • ORC-2188 Reject invalid compression block size in PostScript
  • ORC-2190 [C++] Reject compressed chunk length exceeding block size in C++ reader
  • ORC-2191 Reject overflowing PostScript tail lengths in ReaderImpl
  • ORC-2192 [C++] Reject invalid string length in StringDirectColumnReader
  • ORC-2193 Parse encrypted FileStatistics via createCodedInputStream
  • ORC-2196 [C++] Validate type tree when creating reader from serialized file tail
  • ORC-2197 Reject negative decoded dictionary entry length in Java string dictionary reader
  • ORC-2198 Validate stream offset+length against stripe data boundary in StripePlanner
  • ORC-2199 Validate union tag against the number of children in UnionTreeReader
  • ORC-2200 Validate stripe offset/index/data/footer lengths in the Java reader

The tasks:

  • ORC-2117 Add Java 26-ea to GitHub Action build job
  • ORC-2121 Add ubi10 to docker tests and GitHub Actions job
  • ORC-2132 Use Java 26 instead of 26-ea
  • ORC-2133 Remove Super-Linter from GitHub Actions jobs
  • ORC-2134 Remove microsoft/setup-msbuild from GitHub Actions jobs
  • ORC-2181 Add ubuntu-26.04(-arm)? to GitHub Actions build job
  • ORC-2183 Use Visual Studio 18 2026 generator in Windows CIs

The build and dependency changes:

  • ORC-2120 Upgrade lz4-java to 0.10.4
  • ORC-2122 Upgrade spark.jackson.version to 2.21.1 in bench module
  • ORC-2124 Upgrade Maven to 3.9.13
  • ORC-2135 Upgrade mockito to 5.23.0
  • ORC-2137 Upgrade kryo-shaded to 4.0.3
  • ORC-2148 Upgrade lz4-java to 1.11.0
  • ORC-2150 Upgrade ZLIB to 1.3.2
  • ORC-2180 Upgrade threeten-extra to 1.9.0
  • ORC-2189 Add URL_HASH to all third-party dependencies in ThirdpartyToolchain.cmake
  • ORC-2195 Upgrade lz4-java to 1.11.1

The improvements (tools):

  • ORC-2149 Supports merging multiple ORC files with the same schema into multiple ORC files

Documentation:

  • ORC-2128 Add since Javadoc tags to all public orc-core class/interface/enum