<!DOCTYPE html>
<html lang="en-US">
  <head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <!-- The above meta tags *must* come first in the head; any other head content must come *after* these tags -->
    
    <title>Apache Arrow 0.5.0 Release | Apache Arrow</title>
    

    <!-- Begin Jekyll SEO tag v2.8.0 -->
<meta name="generator" content="Jekyll v4.3.3" />
<meta property="og:title" content="Apache Arrow 0.5.0 Release" />
<meta property="og:locale" content="en_US" />
<meta name="description" content="Apache Arrow 0.5.0 (23 July 2017) This is a major release, with expanded features in the supported languages and additional integration test coverage between Java and C++. Read more in the release blog post. Download Source Artifacts Git tag Contributors $ git shortlog -sn apache-arrow-0.4.1..apache-arrow-0.5.0 42 Wes McKinney 22 Uwe L. Korn 12 Kouhei Sutou 9 Max Risuhin 9 Phillip Cloud 6 Philipp Moritz 5 Steven Phillips 3 Julien Le Dem 2 Bryan Cutler 2 Kengo Seki 2 Max Risukhin 2 fjetter 1 Antony Mayi 1 Deepak Majeti 1 Fang Zheng 1 Hideo Hattori 1 Holden Karau 1 Itai Incze 1 Jeff Knupp 1 LynnYuan 1 Mark Lavrynenko 1 Michael König 1 Robert Nishihara 1 Sudheesh Katkam 1 Zahari 1 vkorukanti Changelog New Features and Improvements ARROW-1041 - [Python] Support read_pandas on a directory of Parquet files ARROW-1048 - Allow user LD_LIBRARY_PATH to be used with source release script ARROW-1052 - Arrow 0.5.0 release ARROW-1073 - C++: Adapative integer builder ARROW-1095 - [Website] Add Arrow icon asset ARROW-1100 - [Python] Add “mode” property to NativeFile instances ARROW-1102 - Make MessageSerializer.serializeMessage() public ARROW-111 - [C++] Add static analyzer to tool chain to verify checking of Status returns ARROW-1120 - [Python] Write support for int96 ARROW-1122 - [Website] Guest blog post on Arrow + ODBC from turbodbc ARROW-1123 - C++: Make jemalloc the default allocator ARROW-1135 - Upgrade Travis CI clang builds to use LLVM 4.0 ARROW-1137 - Python: Ensure Pandas roundtrip of all-None column ARROW-1142 - [C++] Move over compression library toolchain from parquet-cpp ARROW-1145 - [GLib] Add get_values() ARROW-1146 - Add .gitignore for *_generated.h files in src/plasma/format ARROW-1148 - [C++] Raise minimum CMake version to 3.2 ARROW-1151 - [C++] Add gcc branch prediction to status check macro ARROW-1154 - [C++] Migrate more computational utility code from parquet-cpp ARROW-1160 - C++: Implement DictionaryBuilder ARROW-1165 - [C++] Refactor PythonDecimalToArrowDecimal to not use templates ARROW-1172 - [C++] Use unique_ptr with array builder classes ARROW-1183 - [Python] Implement time type conversions in to_pandas ARROW-1185 - [C++] Clean up arrow::Status implementation, add warn_unused_result attribute for clang ARROW-1187 - Serialize a DataFrame with None column ARROW-1193 - [C++] Support pkg-config forarrow_python.so ARROW-1196 - [C++] Appveyor separate jobs for Debug/Release builds from sources; Build with conda toolchain; Build with NMake Makefiles Generator ARROW-1198 - Python: Add public C++ API to unwrap PyArrow object ARROW-1199 - [C++] Introduce mutable POD struct for generic array data ARROW-1202 - Remove semicolons from status macros ARROW-1212 - [GLib] Add garrow_binary_array_get_offsets_buffer() ARROW-1214 - [Python] Add classes / functions to enable stream message components to be handled outside of the stream reader class ARROW-1217 - [GLib] Add GInputStream based arrow::io::RandomAccessFile ARROW-1220 - [C++] Standartize usage of *_HOME cmake script variables for 3rd party libs ARROW-1221 - [C++] Pin clang-format version ARROW-1227 - [GLib] Support GOutputStream ARROW-1228 - [GLib] Test file name should be the same name as target class ARROW-1229 - [GLib] Follow Reader API change (get -&gt; read) ARROW-1233 - [C++] Validate cmake script resolving of 3rd party linked libs from correct location in toolchain build ARROW-460 - [C++] Implement JSON round trip for DictionaryArray ARROW-462 - [C++] Implement in-memory conversions between non-nested primitive types and DictionaryArray equivalent ARROW-575 - Python: Auto-detect nested lists and nested numpy arrays in Pandas ARROW-597 - [Python] Add convenience function to yield DataFrame from any object that a StreamReader or FileReader can read from ARROW-599 - [C++] Add LZ4 codec to 3rd-party toolchain ARROW-600 - [C++] Add ZSTD codec to 3rd-party toolchain ARROW-692 - Java&lt;-&gt;C++ Integration tests for dictionary-encoded vectors ARROW-693 - [Java] Add JSON support for dictionary vectors ARROW-742 - Handling exceptions during execution of std::wstring_convert ARROW-834 - [Python] Support creating Arrow arrays from Python iterables ARROW-915 - Struct Array reads limited support ARROW-935 - [Java] Build Javadoc in Travis CI ARROW-960 - [Python] Add source build guide for macOS + Homebrew ARROW-962 - [Python] Add schema attribute to FileReader ARROW-966 - [Python] pyarrow.list_ should also accept Field instance ARROW-978 - [Python] Use sphinx-bootstrap-theme for Sphinx documentation Bug Fixes ARROW-1074 - from_pandas doesnt convert ndarray to list ARROW-1079 - [Python] Empty “private” directories should be ignored by Parquet interface ARROW-1081 - C++: arrow::test::TestBase::MakePrimitive doesn’t fill null_bitmap ARROW-1096 - [C++] Memory mapping file over 4GB fails on Windows ARROW-1097 - Reading tensor needs file to be opened in writeable mode ARROW-1098 - Document Error? ARROW-1101 - UnionListWriter is not implementing all methods on interface ScalarWriter ARROW-1103 - [Python] Utilize pandas metadata from common _metadata Parquet file if it exists ARROW-1107 - [JAVA] NullableMapVector getField() should return nullable type ARROW-1108 - Check if ArrowBuf is empty buffer in getActualConsumedMemory() and getPossibleConsumedMemory() ARROW-1109 - [JAVA] transferOwnership fails when readerIndex is not 0 ARROW-1110 - [JAVA] make union vector naming consistent ARROW-1111 - [JAVA] Make aligning buffers optional, and allow -1 for unknown null count ARROW-1112 - [JAVA] Set lastSet for VarLength and List vectors when loading ARROW-1113 - [C++] gflags EP build gets triggered (as a no-op) on subsequent calls to make or ninja build ARROW-1115 - [C++] Use absolute path for ccache ARROW-1117 - [Docs] Minor issues in GLib README ARROW-1124 - [Python] pyarrow needs to depend on numpy&gt;=1.10 (not 1.9) ARROW-1125 - Python: Table.from_pandas doesn’t work anymore on partial schemas ARROW-1128 - [Docs] command to build a wheel is not properly rendered ARROW-1129 - [C++] Fix Linux toolchain build regression from ARROW-742 ARROW-1131 - Python: Parquet unit tests are always skipped ARROW-1132 - [Python] Unable to write pandas DataFrame w/MultiIndex containing duplicate values to parquet ARROW-1136 - [C++/Python] Segfault on empty stream ARROW-1138 - Travis: Use OpenJDK7 instead of OracleJDK7 ARROW-1139 - [C++] dlmalloc doesn’t allow arrow to be built with clang 4 or gcc 7.1.1 ARROW-1141 - on import get libjemalloc.so.2: cannot allocate memory in static TLS block ARROW-1143 - C++: Fix comparison of NullArray ARROW-1144 - [C++] Remove unused variable ARROW-1147 - [C++] Allow optional vendoring of flatbuffers in plasma ARROW-1150 - [C++] AdaptiveIntBuilder compiler warning on MSVC ARROW-1152 - [Cython] read_tensor should work with a readable file ARROW-1155 - segmentation fault when run pa.Int16Value() ARROW-1157 - C++/Python: Decimal templates are not correctly exported on OSX ARROW-1159 - [C++] Static data members cannot be accessed from inline functions in Arrow headers by thirdparty users ARROW-1162 - Transfer Between Empty Lists Should Not Invoke Callback ARROW-1166 - Errors in Struct type’s example and missing reference in Layout.md ARROW-1167 - [Python] Create chunked BinaryArray in Table.from_pandas when a column’s data exceeds 2GB ARROW-1168 - [Python] pandas metadata may contain “mixed” data types ARROW-1169 - C++: jemalloc externalproject doesn’t build with CMake’s ninja generator ARROW-1170 - C++: ARROW_JEMALLOC=OFF breaks linking on unittest ARROW-1174 - [GLib] Investigate root cause of ListArray glib test failure ARROW-1177 - [C++] Detect int32 overflow in ListBuilder::Append ARROW-1179 - C++: Add missing virtual destructors ARROW-1180 - [GLib] garrow_tensor_get_dimension_name() returns invalid address ARROW-1181 - [Python] Parquet test fail if not enabled ARROW-1182 - C++: Specify BUILD_BYPRODUCTS for zlib and zstd ARROW-1186 - [C++] Enable option to build arrow with minimal dependencies needed to build Parquet library ARROW-1188 - Segfault when trying to serialize a DataFrame with Null-only Categorical Column ARROW-1190 - VectorLoader corrupts vectors with duplicate names ARROW-1191 - [JAVA] Implement getField() method for the complex readers ARROW-1194 - Getting record batch size with pa.get_record_batch_size returns a size that is too small for pandas DataFrame. ARROW-1197 - [GLib] record_batch.hpp Inclusion is missing ARROW-1200 - [C++] DictionaryBuilder should use signed integers for indices ARROW-1201 - [Python] Incomplete Python types cause a core dump when repr-ing ARROW-1203 - [C++] Disallow BinaryBuilder to append byte strings larger than the maximum value of int32_t ARROW-1205 - C++: Reference to type objects in ArrayLoader may cause segmentation faults. ARROW-1206 - [C++] Enable MSVC builds to work with some compression library support disabled ARROW-1208 - [C++] Toolchain build with ZSTD library from conda-forge failure ARROW-1215 - [Python] Class methods in API reference ARROW-1216 - Numpy arrays cannot be created from Arrow Buffers on Python 2 ARROW-1218 - Arrow doesn’t compile if all compression libraries are deactivated ARROW-1222 - [Python] pyarrow.array returns NullArray for array of unsupported Python objects ARROW-1223 - [GLib] Fix function name that returns wrapped object ARROW-1235 - [C++] macOS linker failure with operator« and std::ostream ARROW-1236 - Library paths in exported pkg-config file are incorrect ARROW-601 - Some logical types not supported when loading Parquet ARROW-784 - Cleaning up thirdparty toolchain support in Arrow on Windows ARROW-992 - [Python] In place development builds do not have a version" />
<meta property="og:description" content="Apache Arrow 0.5.0 (23 July 2017) This is a major release, with expanded features in the supported languages and additional integration test coverage between Java and C++. Read more in the release blog post. Download Source Artifacts Git tag Contributors $ git shortlog -sn apache-arrow-0.4.1..apache-arrow-0.5.0 42 Wes McKinney 22 Uwe L. Korn 12 Kouhei Sutou 9 Max Risuhin 9 Phillip Cloud 6 Philipp Moritz 5 Steven Phillips 3 Julien Le Dem 2 Bryan Cutler 2 Kengo Seki 2 Max Risukhin 2 fjetter 1 Antony Mayi 1 Deepak Majeti 1 Fang Zheng 1 Hideo Hattori 1 Holden Karau 1 Itai Incze 1 Jeff Knupp 1 LynnYuan 1 Mark Lavrynenko 1 Michael König 1 Robert Nishihara 1 Sudheesh Katkam 1 Zahari 1 vkorukanti Changelog New Features and Improvements ARROW-1041 - [Python] Support read_pandas on a directory of Parquet files ARROW-1048 - Allow user LD_LIBRARY_PATH to be used with source release script ARROW-1052 - Arrow 0.5.0 release ARROW-1073 - C++: Adapative integer builder ARROW-1095 - [Website] Add Arrow icon asset ARROW-1100 - [Python] Add “mode” property to NativeFile instances ARROW-1102 - Make MessageSerializer.serializeMessage() public ARROW-111 - [C++] Add static analyzer to tool chain to verify checking of Status returns ARROW-1120 - [Python] Write support for int96 ARROW-1122 - [Website] Guest blog post on Arrow + ODBC from turbodbc ARROW-1123 - C++: Make jemalloc the default allocator ARROW-1135 - Upgrade Travis CI clang builds to use LLVM 4.0 ARROW-1137 - Python: Ensure Pandas roundtrip of all-None column ARROW-1142 - [C++] Move over compression library toolchain from parquet-cpp ARROW-1145 - [GLib] Add get_values() ARROW-1146 - Add .gitignore for *_generated.h files in src/plasma/format ARROW-1148 - [C++] Raise minimum CMake version to 3.2 ARROW-1151 - [C++] Add gcc branch prediction to status check macro ARROW-1154 - [C++] Migrate more computational utility code from parquet-cpp ARROW-1160 - C++: Implement DictionaryBuilder ARROW-1165 - [C++] Refactor PythonDecimalToArrowDecimal to not use templates ARROW-1172 - [C++] Use unique_ptr with array builder classes ARROW-1183 - [Python] Implement time type conversions in to_pandas ARROW-1185 - [C++] Clean up arrow::Status implementation, add warn_unused_result attribute for clang ARROW-1187 - Serialize a DataFrame with None column ARROW-1193 - [C++] Support pkg-config forarrow_python.so ARROW-1196 - [C++] Appveyor separate jobs for Debug/Release builds from sources; Build with conda toolchain; Build with NMake Makefiles Generator ARROW-1198 - Python: Add public C++ API to unwrap PyArrow object ARROW-1199 - [C++] Introduce mutable POD struct for generic array data ARROW-1202 - Remove semicolons from status macros ARROW-1212 - [GLib] Add garrow_binary_array_get_offsets_buffer() ARROW-1214 - [Python] Add classes / functions to enable stream message components to be handled outside of the stream reader class ARROW-1217 - [GLib] Add GInputStream based arrow::io::RandomAccessFile ARROW-1220 - [C++] Standartize usage of *_HOME cmake script variables for 3rd party libs ARROW-1221 - [C++] Pin clang-format version ARROW-1227 - [GLib] Support GOutputStream ARROW-1228 - [GLib] Test file name should be the same name as target class ARROW-1229 - [GLib] Follow Reader API change (get -&gt; read) ARROW-1233 - [C++] Validate cmake script resolving of 3rd party linked libs from correct location in toolchain build ARROW-460 - [C++] Implement JSON round trip for DictionaryArray ARROW-462 - [C++] Implement in-memory conversions between non-nested primitive types and DictionaryArray equivalent ARROW-575 - Python: Auto-detect nested lists and nested numpy arrays in Pandas ARROW-597 - [Python] Add convenience function to yield DataFrame from any object that a StreamReader or FileReader can read from ARROW-599 - [C++] Add LZ4 codec to 3rd-party toolchain ARROW-600 - [C++] Add ZSTD codec to 3rd-party toolchain ARROW-692 - Java&lt;-&gt;C++ Integration tests for dictionary-encoded vectors ARROW-693 - [Java] Add JSON support for dictionary vectors ARROW-742 - Handling exceptions during execution of std::wstring_convert ARROW-834 - [Python] Support creating Arrow arrays from Python iterables ARROW-915 - Struct Array reads limited support ARROW-935 - [Java] Build Javadoc in Travis CI ARROW-960 - [Python] Add source build guide for macOS + Homebrew ARROW-962 - [Python] Add schema attribute to FileReader ARROW-966 - [Python] pyarrow.list_ should also accept Field instance ARROW-978 - [Python] Use sphinx-bootstrap-theme for Sphinx documentation Bug Fixes ARROW-1074 - from_pandas doesnt convert ndarray to list ARROW-1079 - [Python] Empty “private” directories should be ignored by Parquet interface ARROW-1081 - C++: arrow::test::TestBase::MakePrimitive doesn’t fill null_bitmap ARROW-1096 - [C++] Memory mapping file over 4GB fails on Windows ARROW-1097 - Reading tensor needs file to be opened in writeable mode ARROW-1098 - Document Error? ARROW-1101 - UnionListWriter is not implementing all methods on interface ScalarWriter ARROW-1103 - [Python] Utilize pandas metadata from common _metadata Parquet file if it exists ARROW-1107 - [JAVA] NullableMapVector getField() should return nullable type ARROW-1108 - Check if ArrowBuf is empty buffer in getActualConsumedMemory() and getPossibleConsumedMemory() ARROW-1109 - [JAVA] transferOwnership fails when readerIndex is not 0 ARROW-1110 - [JAVA] make union vector naming consistent ARROW-1111 - [JAVA] Make aligning buffers optional, and allow -1 for unknown null count ARROW-1112 - [JAVA] Set lastSet for VarLength and List vectors when loading ARROW-1113 - [C++] gflags EP build gets triggered (as a no-op) on subsequent calls to make or ninja build ARROW-1115 - [C++] Use absolute path for ccache ARROW-1117 - [Docs] Minor issues in GLib README ARROW-1124 - [Python] pyarrow needs to depend on numpy&gt;=1.10 (not 1.9) ARROW-1125 - Python: Table.from_pandas doesn’t work anymore on partial schemas ARROW-1128 - [Docs] command to build a wheel is not properly rendered ARROW-1129 - [C++] Fix Linux toolchain build regression from ARROW-742 ARROW-1131 - Python: Parquet unit tests are always skipped ARROW-1132 - [Python] Unable to write pandas DataFrame w/MultiIndex containing duplicate values to parquet ARROW-1136 - [C++/Python] Segfault on empty stream ARROW-1138 - Travis: Use OpenJDK7 instead of OracleJDK7 ARROW-1139 - [C++] dlmalloc doesn’t allow arrow to be built with clang 4 or gcc 7.1.1 ARROW-1141 - on import get libjemalloc.so.2: cannot allocate memory in static TLS block ARROW-1143 - C++: Fix comparison of NullArray ARROW-1144 - [C++] Remove unused variable ARROW-1147 - [C++] Allow optional vendoring of flatbuffers in plasma ARROW-1150 - [C++] AdaptiveIntBuilder compiler warning on MSVC ARROW-1152 - [Cython] read_tensor should work with a readable file ARROW-1155 - segmentation fault when run pa.Int16Value() ARROW-1157 - C++/Python: Decimal templates are not correctly exported on OSX ARROW-1159 - [C++] Static data members cannot be accessed from inline functions in Arrow headers by thirdparty users ARROW-1162 - Transfer Between Empty Lists Should Not Invoke Callback ARROW-1166 - Errors in Struct type’s example and missing reference in Layout.md ARROW-1167 - [Python] Create chunked BinaryArray in Table.from_pandas when a column’s data exceeds 2GB ARROW-1168 - [Python] pandas metadata may contain “mixed” data types ARROW-1169 - C++: jemalloc externalproject doesn’t build with CMake’s ninja generator ARROW-1170 - C++: ARROW_JEMALLOC=OFF breaks linking on unittest ARROW-1174 - [GLib] Investigate root cause of ListArray glib test failure ARROW-1177 - [C++] Detect int32 overflow in ListBuilder::Append ARROW-1179 - C++: Add missing virtual destructors ARROW-1180 - [GLib] garrow_tensor_get_dimension_name() returns invalid address ARROW-1181 - [Python] Parquet test fail if not enabled ARROW-1182 - C++: Specify BUILD_BYPRODUCTS for zlib and zstd ARROW-1186 - [C++] Enable option to build arrow with minimal dependencies needed to build Parquet library ARROW-1188 - Segfault when trying to serialize a DataFrame with Null-only Categorical Column ARROW-1190 - VectorLoader corrupts vectors with duplicate names ARROW-1191 - [JAVA] Implement getField() method for the complex readers ARROW-1194 - Getting record batch size with pa.get_record_batch_size returns a size that is too small for pandas DataFrame. ARROW-1197 - [GLib] record_batch.hpp Inclusion is missing ARROW-1200 - [C++] DictionaryBuilder should use signed integers for indices ARROW-1201 - [Python] Incomplete Python types cause a core dump when repr-ing ARROW-1203 - [C++] Disallow BinaryBuilder to append byte strings larger than the maximum value of int32_t ARROW-1205 - C++: Reference to type objects in ArrayLoader may cause segmentation faults. ARROW-1206 - [C++] Enable MSVC builds to work with some compression library support disabled ARROW-1208 - [C++] Toolchain build with ZSTD library from conda-forge failure ARROW-1215 - [Python] Class methods in API reference ARROW-1216 - Numpy arrays cannot be created from Arrow Buffers on Python 2 ARROW-1218 - Arrow doesn’t compile if all compression libraries are deactivated ARROW-1222 - [Python] pyarrow.array returns NullArray for array of unsupported Python objects ARROW-1223 - [GLib] Fix function name that returns wrapped object ARROW-1235 - [C++] macOS linker failure with operator« and std::ostream ARROW-1236 - Library paths in exported pkg-config file are incorrect ARROW-601 - Some logical types not supported when loading Parquet ARROW-784 - Cleaning up thirdparty toolchain support in Arrow on Windows ARROW-992 - [Python] In place development builds do not have a version" />
<link rel="canonical" href="https://arrow.apache.org/release/0.5.0.html" />
<meta property="og:url" content="https://arrow.apache.org/release/0.5.0.html" />
<meta property="og:site_name" content="Apache Arrow" />
<meta property="og:image" content="https://arrow.apache.org/img/arrow-logo_horizontal_black-txt_white-bg.png" />
<meta property="og:type" content="article" />
<meta property="article:published_time" content="2024-05-22T20:25:07-04:00" />
<meta name="twitter:card" content="summary_large_image" />
<meta property="twitter:image" content="https://arrow.apache.org/img/arrow-logo_horizontal_black-txt_white-bg.png" />
<meta property="twitter:title" content="Apache Arrow 0.5.0 Release" />
<meta name="twitter:site" content="@ApacheArrow" />
<script type="application/ld+json">
{"@context":"https://schema.org","@type":"BlogPosting","dateModified":"2024-05-22T20:25:07-04:00","datePublished":"2024-05-22T20:25:07-04:00","description":"Apache Arrow 0.5.0 (23 July 2017) This is a major release, with expanded features in the supported languages and additional integration test coverage between Java and C++. Read more in the release blog post. Download Source Artifacts Git tag Contributors $ git shortlog -sn apache-arrow-0.4.1..apache-arrow-0.5.0 42 Wes McKinney 22 Uwe L. Korn 12 Kouhei Sutou 9 Max Risuhin 9 Phillip Cloud 6 Philipp Moritz 5 Steven Phillips 3 Julien Le Dem 2 Bryan Cutler 2 Kengo Seki 2 Max Risukhin 2 fjetter 1 Antony Mayi 1 Deepak Majeti 1 Fang Zheng 1 Hideo Hattori 1 Holden Karau 1 Itai Incze 1 Jeff Knupp 1 LynnYuan 1 Mark Lavrynenko 1 Michael König 1 Robert Nishihara 1 Sudheesh Katkam 1 Zahari 1 vkorukanti Changelog New Features and Improvements ARROW-1041 - [Python] Support read_pandas on a directory of Parquet files ARROW-1048 - Allow user LD_LIBRARY_PATH to be used with source release script ARROW-1052 - Arrow 0.5.0 release ARROW-1073 - C++: Adapative integer builder ARROW-1095 - [Website] Add Arrow icon asset ARROW-1100 - [Python] Add “mode” property to NativeFile instances ARROW-1102 - Make MessageSerializer.serializeMessage() public ARROW-111 - [C++] Add static analyzer to tool chain to verify checking of Status returns ARROW-1120 - [Python] Write support for int96 ARROW-1122 - [Website] Guest blog post on Arrow + ODBC from turbodbc ARROW-1123 - C++: Make jemalloc the default allocator ARROW-1135 - Upgrade Travis CI clang builds to use LLVM 4.0 ARROW-1137 - Python: Ensure Pandas roundtrip of all-None column ARROW-1142 - [C++] Move over compression library toolchain from parquet-cpp ARROW-1145 - [GLib] Add get_values() ARROW-1146 - Add .gitignore for *_generated.h files in src/plasma/format ARROW-1148 - [C++] Raise minimum CMake version to 3.2 ARROW-1151 - [C++] Add gcc branch prediction to status check macro ARROW-1154 - [C++] Migrate more computational utility code from parquet-cpp ARROW-1160 - C++: Implement DictionaryBuilder ARROW-1165 - [C++] Refactor PythonDecimalToArrowDecimal to not use templates ARROW-1172 - [C++] Use unique_ptr with array builder classes ARROW-1183 - [Python] Implement time type conversions in to_pandas ARROW-1185 - [C++] Clean up arrow::Status implementation, add warn_unused_result attribute for clang ARROW-1187 - Serialize a DataFrame with None column ARROW-1193 - [C++] Support pkg-config forarrow_python.so ARROW-1196 - [C++] Appveyor separate jobs for Debug/Release builds from sources; Build with conda toolchain; Build with NMake Makefiles Generator ARROW-1198 - Python: Add public C++ API to unwrap PyArrow object ARROW-1199 - [C++] Introduce mutable POD struct for generic array data ARROW-1202 - Remove semicolons from status macros ARROW-1212 - [GLib] Add garrow_binary_array_get_offsets_buffer() ARROW-1214 - [Python] Add classes / functions to enable stream message components to be handled outside of the stream reader class ARROW-1217 - [GLib] Add GInputStream based arrow::io::RandomAccessFile ARROW-1220 - [C++] Standartize usage of *_HOME cmake script variables for 3rd party libs ARROW-1221 - [C++] Pin clang-format version ARROW-1227 - [GLib] Support GOutputStream ARROW-1228 - [GLib] Test file name should be the same name as target class ARROW-1229 - [GLib] Follow Reader API change (get -&gt; read) ARROW-1233 - [C++] Validate cmake script resolving of 3rd party linked libs from correct location in toolchain build ARROW-460 - [C++] Implement JSON round trip for DictionaryArray ARROW-462 - [C++] Implement in-memory conversions between non-nested primitive types and DictionaryArray equivalent ARROW-575 - Python: Auto-detect nested lists and nested numpy arrays in Pandas ARROW-597 - [Python] Add convenience function to yield DataFrame from any object that a StreamReader or FileReader can read from ARROW-599 - [C++] Add LZ4 codec to 3rd-party toolchain ARROW-600 - [C++] Add ZSTD codec to 3rd-party toolchain ARROW-692 - Java&lt;-&gt;C++ Integration tests for dictionary-encoded vectors ARROW-693 - [Java] Add JSON support for dictionary vectors ARROW-742 - Handling exceptions during execution of std::wstring_convert ARROW-834 - [Python] Support creating Arrow arrays from Python iterables ARROW-915 - Struct Array reads limited support ARROW-935 - [Java] Build Javadoc in Travis CI ARROW-960 - [Python] Add source build guide for macOS + Homebrew ARROW-962 - [Python] Add schema attribute to FileReader ARROW-966 - [Python] pyarrow.list_ should also accept Field instance ARROW-978 - [Python] Use sphinx-bootstrap-theme for Sphinx documentation Bug Fixes ARROW-1074 - from_pandas doesnt convert ndarray to list ARROW-1079 - [Python] Empty “private” directories should be ignored by Parquet interface ARROW-1081 - C++: arrow::test::TestBase::MakePrimitive doesn’t fill null_bitmap ARROW-1096 - [C++] Memory mapping file over 4GB fails on Windows ARROW-1097 - Reading tensor needs file to be opened in writeable mode ARROW-1098 - Document Error? ARROW-1101 - UnionListWriter is not implementing all methods on interface ScalarWriter ARROW-1103 - [Python] Utilize pandas metadata from common _metadata Parquet file if it exists ARROW-1107 - [JAVA] NullableMapVector getField() should return nullable type ARROW-1108 - Check if ArrowBuf is empty buffer in getActualConsumedMemory() and getPossibleConsumedMemory() ARROW-1109 - [JAVA] transferOwnership fails when readerIndex is not 0 ARROW-1110 - [JAVA] make union vector naming consistent ARROW-1111 - [JAVA] Make aligning buffers optional, and allow -1 for unknown null count ARROW-1112 - [JAVA] Set lastSet for VarLength and List vectors when loading ARROW-1113 - [C++] gflags EP build gets triggered (as a no-op) on subsequent calls to make or ninja build ARROW-1115 - [C++] Use absolute path for ccache ARROW-1117 - [Docs] Minor issues in GLib README ARROW-1124 - [Python] pyarrow needs to depend on numpy&gt;=1.10 (not 1.9) ARROW-1125 - Python: Table.from_pandas doesn’t work anymore on partial schemas ARROW-1128 - [Docs] command to build a wheel is not properly rendered ARROW-1129 - [C++] Fix Linux toolchain build regression from ARROW-742 ARROW-1131 - Python: Parquet unit tests are always skipped ARROW-1132 - [Python] Unable to write pandas DataFrame w/MultiIndex containing duplicate values to parquet ARROW-1136 - [C++/Python] Segfault on empty stream ARROW-1138 - Travis: Use OpenJDK7 instead of OracleJDK7 ARROW-1139 - [C++] dlmalloc doesn’t allow arrow to be built with clang 4 or gcc 7.1.1 ARROW-1141 - on import get libjemalloc.so.2: cannot allocate memory in static TLS block ARROW-1143 - C++: Fix comparison of NullArray ARROW-1144 - [C++] Remove unused variable ARROW-1147 - [C++] Allow optional vendoring of flatbuffers in plasma ARROW-1150 - [C++] AdaptiveIntBuilder compiler warning on MSVC ARROW-1152 - [Cython] read_tensor should work with a readable file ARROW-1155 - segmentation fault when run pa.Int16Value() ARROW-1157 - C++/Python: Decimal templates are not correctly exported on OSX ARROW-1159 - [C++] Static data members cannot be accessed from inline functions in Arrow headers by thirdparty users ARROW-1162 - Transfer Between Empty Lists Should Not Invoke Callback ARROW-1166 - Errors in Struct type’s example and missing reference in Layout.md ARROW-1167 - [Python] Create chunked BinaryArray in Table.from_pandas when a column’s data exceeds 2GB ARROW-1168 - [Python] pandas metadata may contain “mixed” data types ARROW-1169 - C++: jemalloc externalproject doesn’t build with CMake’s ninja generator ARROW-1170 - C++: ARROW_JEMALLOC=OFF breaks linking on unittest ARROW-1174 - [GLib] Investigate root cause of ListArray glib test failure ARROW-1177 - [C++] Detect int32 overflow in ListBuilder::Append ARROW-1179 - C++: Add missing virtual destructors ARROW-1180 - [GLib] garrow_tensor_get_dimension_name() returns invalid address ARROW-1181 - [Python] Parquet test fail if not enabled ARROW-1182 - C++: Specify BUILD_BYPRODUCTS for zlib and zstd ARROW-1186 - [C++] Enable option to build arrow with minimal dependencies needed to build Parquet library ARROW-1188 - Segfault when trying to serialize a DataFrame with Null-only Categorical Column ARROW-1190 - VectorLoader corrupts vectors with duplicate names ARROW-1191 - [JAVA] Implement getField() method for the complex readers ARROW-1194 - Getting record batch size with pa.get_record_batch_size returns a size that is too small for pandas DataFrame. ARROW-1197 - [GLib] record_batch.hpp Inclusion is missing ARROW-1200 - [C++] DictionaryBuilder should use signed integers for indices ARROW-1201 - [Python] Incomplete Python types cause a core dump when repr-ing ARROW-1203 - [C++] Disallow BinaryBuilder to append byte strings larger than the maximum value of int32_t ARROW-1205 - C++: Reference to type objects in ArrayLoader may cause segmentation faults. ARROW-1206 - [C++] Enable MSVC builds to work with some compression library support disabled ARROW-1208 - [C++] Toolchain build with ZSTD library from conda-forge failure ARROW-1215 - [Python] Class methods in API reference ARROW-1216 - Numpy arrays cannot be created from Arrow Buffers on Python 2 ARROW-1218 - Arrow doesn’t compile if all compression libraries are deactivated ARROW-1222 - [Python] pyarrow.array returns NullArray for array of unsupported Python objects ARROW-1223 - [GLib] Fix function name that returns wrapped object ARROW-1235 - [C++] macOS linker failure with operator« and std::ostream ARROW-1236 - Library paths in exported pkg-config file are incorrect ARROW-601 - Some logical types not supported when loading Parquet ARROW-784 - Cleaning up thirdparty toolchain support in Arrow on Windows ARROW-992 - [Python] In place development builds do not have a version","headline":"Apache Arrow 0.5.0 Release","image":"https://arrow.apache.org/img/arrow-logo_horizontal_black-txt_white-bg.png","mainEntityOfPage":{"@type":"WebPage","@id":"https://arrow.apache.org/release/0.5.0.html"},"publisher":{"@type":"Organization","logo":{"@type":"ImageObject","url":"https://arrow.apache.org/img/logo.png"}},"url":"https://arrow.apache.org/release/0.5.0.html"}</script>
<!-- End Jekyll SEO tag -->


    <!-- favicons -->
    <link rel="icon" type="image/png" sizes="16x16" href="/img/favicon-16x16.png" id="light1">
    <link rel="icon" type="image/png" sizes="32x32" href="/img/favicon-32x32.png" id="light2">
    <link rel="apple-touch-icon" type="image/png" sizes="180x180" href="/img/apple-touch-icon.png" id="light3">
    <link rel="apple-touch-icon" type="image/png" sizes="120x120" href="/img/apple-touch-icon-120x120.png" id="light4">
    <link rel="apple-touch-icon" type="image/png" sizes="76x76" href="/img/apple-touch-icon-76x76.png" id="light5">
    <link rel="apple-touch-icon" type="image/png" sizes="60x60" href="/img/apple-touch-icon-60x60.png" id="light6">
    <!-- dark mode favicons -->
    <link rel="icon" type="image/png" sizes="16x16" href="/img/favicon-16x16-dark.png" id="dark1">
    <link rel="icon" type="image/png" sizes="32x32" href="/img/favicon-32x32-dark.png" id="dark2">
    <link rel="apple-touch-icon" type="image/png" sizes="180x180" href="/img/apple-touch-icon-dark.png" id="dark3">
    <link rel="apple-touch-icon" type="image/png" sizes="120x120" href="/img/apple-touch-icon-120x120-dark.png" id="dark4">
    <link rel="apple-touch-icon" type="image/png" sizes="76x76" href="/img/apple-touch-icon-76x76-dark.png" id="dark5">
    <link rel="apple-touch-icon" type="image/png" sizes="60x60" href="/img/apple-touch-icon-60x60-dark.png" id="dark6">

    <script>
      // Switch to the dark-mode favicons if prefers-color-scheme: dark
      function onUpdate() {
        light1 = document.querySelector('link#light1');
        light2 = document.querySelector('link#light2');
        light3 = document.querySelector('link#light3');
        light4 = document.querySelector('link#light4');
        light5 = document.querySelector('link#light5');
        light6 = document.querySelector('link#light6');

        dark1 = document.querySelector('link#dark1');
        dark2 = document.querySelector('link#dark2');
        dark3 = document.querySelector('link#dark3');
        dark4 = document.querySelector('link#dark4');
        dark5 = document.querySelector('link#dark5');
        dark6 = document.querySelector('link#dark6');

        if (matcher.matches) {
          light1.remove();
          light2.remove();
          light3.remove();
          light4.remove();
          light5.remove();
          light6.remove();
          document.head.append(dark1);
          document.head.append(dark2);
          document.head.append(dark3);
          document.head.append(dark4);
          document.head.append(dark5);
          document.head.append(dark6);
        } else {
          dark1.remove();
          dark2.remove();
          dark3.remove();
          dark4.remove();
          dark5.remove();
          dark6.remove();
          document.head.append(light1);
          document.head.append(light2);
          document.head.append(light3);
          document.head.append(light4);
          document.head.append(light5);
          document.head.append(light6);
        }
      }
      matcher = window.matchMedia('(prefers-color-scheme: dark)');
      matcher.addListener(onUpdate);
      onUpdate();
    </script>

    <link rel="stylesheet" href="//fonts.googleapis.com/css?family=Lato:300,300italic,400,400italic,700,700italic,900">

    <link href="/css/main.css" rel="stylesheet">
    <link href="/css/syntax.css" rel="stylesheet">
    <script src="/javascript/main.js"></script>
    
    <!-- Matomo -->
<script>
  var _paq = window._paq = window._paq || [];
  /* tracker methods like "setCustomDimension" should be called before "trackPageView" */
  /* We explicitly disable cookie tracking to avoid privacy issues */
  _paq.push(['disableCookies']);
  _paq.push(['trackPageView']);
  _paq.push(['enableLinkTracking']);
  (function() {
    var u="https://analytics.apache.org/";
    _paq.push(['setTrackerUrl', u+'matomo.php']);
    _paq.push(['setSiteId', '20']);
    var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
    g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
  })();
</script>
<!-- End Matomo Code -->

    
  </head>


<body class="wrap">
  <header>
    <nav class="navbar navbar-expand-md navbar-dark bg-dark">
  
  <a class="navbar-brand no-padding" href="/"><img src="/img/arrow-inverse-300px.png" height="40px"/></a>
  
   <button class="navbar-toggler ml-auto" type="button" data-toggle="collapse" data-target="#arrow-navbar" aria-controls="arrow-navbar" aria-expanded="false" aria-label="Toggle navigation">
    <span class="navbar-toggler-icon"></span>
  </button>

    <!-- Collect the nav links, forms, and other content for toggling -->
    <div class="collapse navbar-collapse justify-content-end" id="arrow-navbar">
      <ul class="nav navbar-nav">
        <li class="nav-item"><a class="nav-link" href="/overview/" role="button" aria-haspopup="true" aria-expanded="false">Overview</a></li>
        <li class="nav-item"><a class="nav-link" href="/faq/" role="button" aria-haspopup="true" aria-expanded="false">FAQ</a></li>
        <li class="nav-item"><a class="nav-link" href="/blog" role="button" aria-haspopup="true" aria-expanded="false">Blog</a></li>
        <li class="nav-item dropdown">
          <a class="nav-link dropdown-toggle" href="#"
             id="navbarDropdownGetArrow" role="button" data-toggle="dropdown"
             aria-haspopup="true" aria-expanded="false">
             Get Arrow
          </a>
          <div class="dropdown-menu" aria-labelledby="navbarDropdownGetArrow">
            <a class="dropdown-item" href="/install/">Install</a>
            <a class="dropdown-item" href="/release/">Releases</a>
            <a class="dropdown-item" href="https://github.com/apache/arrow">Source Code</a>
          </div>
        </li>
        <li class="nav-item dropdown">
          <a class="nav-link dropdown-toggle" href="#"
             id="navbarDropdownDocumentation" role="button" data-toggle="dropdown"
             aria-haspopup="true" aria-expanded="false">
             Documentation
          </a>
          <div class="dropdown-menu" aria-labelledby="navbarDropdownDocumentation">
            <a class="dropdown-item" href="/docs">Project Docs</a>
            <a class="dropdown-item" href="/docs/format/Columnar.html">Format</a>
            <hr/>
            <a class="dropdown-item" href="/docs/c_glib">C GLib</a>
            <a class="dropdown-item" href="/docs/cpp">C++</a>
            <a class="dropdown-item" href="https://github.com/apache/arrow/blob/main/csharp/README.md">C#</a>
            <a class="dropdown-item" href="https://godoc.org/github.com/apache/arrow/go/arrow">Go</a>
            <a class="dropdown-item" href="/docs/java">Java</a>
            <a class="dropdown-item" href="/docs/js">JavaScript</a>
            <a class="dropdown-item" href="/julia/">Julia</a>
            <a class="dropdown-item" href="https://github.com/apache/arrow/blob/main/matlab/README.md">MATLAB</a>
            <a class="dropdown-item" href="/docs/python">Python</a>
            <a class="dropdown-item" href="/docs/r">R</a>
            <a class="dropdown-item" href="https://github.com/apache/arrow/blob/main/ruby/README.md">Ruby</a>
            <a class="dropdown-item" href="https://docs.rs/arrow/latest">Rust</a>
          </div>
        </li>
        <li class="nav-item dropdown">
          <a class="nav-link dropdown-toggle" href="#"
             id="navbarDropdownSubprojects" role="button" data-toggle="dropdown"
             aria-haspopup="true" aria-expanded="false">
             Subprojects
          </a>
          <div class="dropdown-menu" aria-labelledby="navbarDropdownSubprojects">
            <a class="dropdown-item" href="/adbc">ADBC</a>
            <a class="dropdown-item" href="/docs/format/Flight.html">Arrow Flight</a>
            <a class="dropdown-item" href="/docs/format/FlightSql.html">Arrow Flight SQL</a>
            <a class="dropdown-item" href="https://datafusion.apache.org">DataFusion</a>
            <a class="dropdown-item" href="/nanoarrow">nanoarrow</a>
          </div>
        </li>
        <li class="nav-item dropdown">
          <a class="nav-link dropdown-toggle" href="#"
             id="navbarDropdownCommunity" role="button" data-toggle="dropdown"
             aria-haspopup="true" aria-expanded="false">
             Community
          </a>
          <div class="dropdown-menu" aria-labelledby="navbarDropdownCommunity">
            <a class="dropdown-item" href="/community/">Communication</a>
            <a class="dropdown-item" href="/docs/developers/index.html">Contributing</a>
            <a class="dropdown-item" href="https://github.com/apache/arrow/issues">Issue Tracker</a>
            <a class="dropdown-item" href="/committers/">Governance</a>
            <a class="dropdown-item" href="/use_cases/">Use Cases</a>
            <a class="dropdown-item" href="/powered_by/">Powered By</a>
            <a class="dropdown-item" href="/visual_identity/">Visual Identity</a>
            <a class="dropdown-item" href="/security/">Security</a>
            <a class="dropdown-item" href="https://www.apache.org/foundation/policies/conduct.html">Code of Conduct</a>
          </div>
        </li>
        <li class="nav-item dropdown">
          <a class="nav-link dropdown-toggle" href="#"
             id="navbarDropdownASF" role="button" data-toggle="dropdown"
             aria-haspopup="true" aria-expanded="false">
             ASF Links
          </a>
          <div class="dropdown-menu dropdown-menu-right" aria-labelledby="navbarDropdownASF">
            <a class="dropdown-item" href="https://www.apache.org/">ASF Website</a>
            <a class="dropdown-item" href="https://www.apache.org/licenses/">License</a>
            <a class="dropdown-item" href="https://www.apache.org/foundation/sponsorship.html">Donate</a>
            <a class="dropdown-item" href="https://www.apache.org/foundation/thanks.html">Thanks</a>
            <a class="dropdown-item" href="https://www.apache.org/security/">Security</a>
          </div>
        </li>
      </ul>
    </div><!-- /.navbar-collapse -->
  </nav>

  </header>

  <div class="container p-4 pt-5">
    <main role="main" class="pb-5">
      <!--

-->

<h1 id="apache-arrow-050-23-july-2017">Apache Arrow 0.5.0 (23 July 2017)</h1>

<p>This is a major release, with expanded features in the supported languages and
additional integration test coverage between Java and C++.</p>

<p>Read more in the <a href="https://arrow.apache.org/blog/2017/07/25/0.5.0-release/">release blog post</a>.</p>

<h2 id="download">Download</h2>

<ul>
  <li><a href="https://www.apache.org/dyn/closer.cgi/arrow/arrow-0.5.0/"><strong>Source Artifacts</strong></a></li>
  <li><a href="https://github.com/apache/arrow/releases/tag/apache-arrow-0.5.0">Git tag</a></li>
</ul>

<h2 id="contributors">Contributors</h2>

<div class="language-shell highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nv">$ </span>git shortlog <span class="nt">-sn</span> apache-arrow-0.4.1..apache-arrow-0.5.0
    42  Wes McKinney
    22  Uwe L. Korn
    12  Kouhei Sutou
     9  Max Risuhin
     9  Phillip Cloud
     6  Philipp Moritz
     5  Steven Phillips
     3  Julien Le Dem
     2  Bryan Cutler
     2  Kengo Seki
     2  Max Risukhin
     2  fjetter
     1  Antony Mayi
     1  Deepak Majeti
     1  Fang Zheng
     1  Hideo Hattori
     1  Holden Karau
     1  Itai Incze
     1  Jeff Knupp
     1  LynnYuan
     1  Mark Lavrynenko
     1  Michael König
     1  Robert Nishihara
     1  Sudheesh Katkam
     1  Zahari
     1  vkorukanti
</code></pre></div></div>

<h1 id="changelog">Changelog</h1>

<h2 id="new-features-and-improvements">New Features and Improvements</h2>

<ul>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-1041">ARROW-1041</a> - [Python] Support read_pandas on a directory of Parquet files</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-1048">ARROW-1048</a> - Allow user LD_LIBRARY_PATH to be used with source release script</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-1052">ARROW-1052</a> - Arrow 0.5.0 release</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-1073">ARROW-1073</a> - C++: Adapative integer builder</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-1095">ARROW-1095</a> - [Website] Add Arrow icon asset</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-1100">ARROW-1100</a> - [Python] Add “mode” property to NativeFile instances</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-1102">ARROW-1102</a> - Make MessageSerializer.serializeMessage() public</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-111">ARROW-111</a> - [C++] Add static analyzer to tool chain to verify checking of Status returns</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-1120">ARROW-1120</a> - [Python] Write support for int96</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-1122">ARROW-1122</a> - [Website] Guest blog post on Arrow + ODBC from turbodbc</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-1123">ARROW-1123</a> - C++: Make jemalloc the default allocator</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-1135">ARROW-1135</a> - Upgrade Travis CI clang builds to use LLVM 4.0</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-1137">ARROW-1137</a> - Python: Ensure Pandas roundtrip of all-None column</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-1142">ARROW-1142</a> - [C++] Move over compression library toolchain from parquet-cpp</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-1145">ARROW-1145</a> - [GLib] Add get_values()</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-1146">ARROW-1146</a> - Add .gitignore for *_generated.h files in src/plasma/format</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-1148">ARROW-1148</a> - [C++] Raise minimum CMake version to 3.2</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-1151">ARROW-1151</a> - [C++] Add gcc branch prediction to status check macro</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-1154">ARROW-1154</a> - [C++] Migrate more computational utility code from parquet-cpp</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-1160">ARROW-1160</a> - C++: Implement DictionaryBuilder</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-1165">ARROW-1165</a> - [C++] Refactor PythonDecimalToArrowDecimal to not use templates</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-1172">ARROW-1172</a> - [C++] Use unique_ptr with array builder classes</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-1183">ARROW-1183</a> - [Python] Implement time type conversions in to_pandas</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-1185">ARROW-1185</a> - [C++] Clean up arrow::Status implementation, add warn_unused_result attribute for clang</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-1187">ARROW-1187</a> - Serialize a DataFrame with None column</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-1193">ARROW-1193</a> - [C++] Support pkg-config forarrow_python.so</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-1196">ARROW-1196</a> - [C++] Appveyor separate jobs for Debug/Release builds from sources; Build with conda toolchain; Build with NMake Makefiles Generator</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-1198">ARROW-1198</a> - Python: Add public C++ API to unwrap PyArrow object</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-1199">ARROW-1199</a> - [C++] Introduce mutable POD struct for generic array data</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-1202">ARROW-1202</a> - Remove semicolons from status macros</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-1212">ARROW-1212</a> - [GLib] Add garrow_binary_array_get_offsets_buffer()</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-1214">ARROW-1214</a> - [Python] Add classes / functions to enable stream message components to be handled outside of the stream reader class</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-1217">ARROW-1217</a> - [GLib] Add GInputStream based arrow::io::RandomAccessFile</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-1220">ARROW-1220</a> - [C++] Standartize usage of *_HOME cmake script variables for 3rd party libs</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-1221">ARROW-1221</a> - [C++] Pin clang-format version</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-1227">ARROW-1227</a> - [GLib] Support GOutputStream</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-1228">ARROW-1228</a> - [GLib] Test file name should be the same name as target class</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-1229">ARROW-1229</a> - [GLib] Follow Reader API change (get -&gt; read)</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-1233">ARROW-1233</a> - [C++] Validate cmake script resolving of 3rd party linked libs from correct location in toolchain build</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-460">ARROW-460</a> - [C++] Implement JSON round trip for DictionaryArray</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-462">ARROW-462</a> - [C++] Implement in-memory conversions between non-nested primitive types and DictionaryArray equivalent</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-575">ARROW-575</a> - Python: Auto-detect nested lists and nested numpy arrays in Pandas</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-597">ARROW-597</a> - [Python] Add convenience function to yield DataFrame from any object that a StreamReader or FileReader can read from</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-599">ARROW-599</a> - [C++] Add LZ4 codec to 3rd-party toolchain</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-600">ARROW-600</a> - [C++] Add ZSTD codec to 3rd-party toolchain</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-692">ARROW-692</a> - Java&lt;-&gt;C++ Integration tests for dictionary-encoded vectors</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-693">ARROW-693</a> - [Java] Add JSON support for dictionary vectors</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-742">ARROW-742</a> - Handling exceptions during execution of std::wstring_convert</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-834">ARROW-834</a> - [Python] Support creating Arrow arrays from Python iterables</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-915">ARROW-915</a> - Struct Array reads limited support</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-935">ARROW-935</a> - [Java] Build Javadoc in Travis CI</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-960">ARROW-960</a> - [Python] Add source build guide for macOS + Homebrew</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-962">ARROW-962</a> - [Python] Add schema attribute to FileReader</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-966">ARROW-966</a> - [Python] pyarrow.list_ should also accept Field instance</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-978">ARROW-978</a> - [Python] Use sphinx-bootstrap-theme for Sphinx documentation</li>
</ul>

<h2 id="bug-fixes">Bug Fixes</h2>

<ul>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-1074">ARROW-1074</a> - from_pandas doesnt convert ndarray to list</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-1079">ARROW-1079</a> - [Python] Empty “private” directories should be ignored by Parquet interface</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-1081">ARROW-1081</a> - C++: arrow::test::TestBase::MakePrimitive doesn’t fill null_bitmap</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-1096">ARROW-1096</a> - [C++] Memory mapping file over 4GB fails on Windows</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-1097">ARROW-1097</a> - Reading tensor needs file to be opened in writeable mode</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-1098">ARROW-1098</a> - Document Error?</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-1101">ARROW-1101</a> - UnionListWriter is not implementing all methods on interface ScalarWriter</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-1103">ARROW-1103</a> - [Python] Utilize pandas metadata from common _metadata Parquet file if it exists</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-1107">ARROW-1107</a> - [JAVA] NullableMapVector getField() should return nullable type</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-1108">ARROW-1108</a> - Check if ArrowBuf is empty buffer in getActualConsumedMemory() and getPossibleConsumedMemory()</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-1109">ARROW-1109</a> - [JAVA] transferOwnership fails when readerIndex is not 0</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-1110">ARROW-1110</a> - [JAVA] make union vector naming consistent</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-1111">ARROW-1111</a> - [JAVA] Make aligning buffers optional, and allow -1 for unknown null count</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-1112">ARROW-1112</a> - [JAVA] Set lastSet for VarLength and List vectors when loading</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-1113">ARROW-1113</a> - [C++] gflags EP build gets triggered (as a no-op) on subsequent calls to make or ninja build</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-1115">ARROW-1115</a> - [C++] Use absolute path for ccache</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-1117">ARROW-1117</a> - [Docs] Minor issues in GLib README</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-1124">ARROW-1124</a> - [Python] pyarrow needs to depend on numpy&gt;=1.10 (not 1.9)</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-1125">ARROW-1125</a> - Python: Table.from_pandas doesn’t work anymore on partial schemas</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-1128">ARROW-1128</a> - [Docs] command to build a wheel is not properly rendered</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-1129">ARROW-1129</a> - [C++] Fix Linux toolchain build regression from ARROW-742</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-1131">ARROW-1131</a> - Python: Parquet unit tests are always skipped</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-1132">ARROW-1132</a> - [Python] Unable to write pandas DataFrame w/MultiIndex containing duplicate values to parquet</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-1136">ARROW-1136</a> - [C++/Python] Segfault on empty stream</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-1138">ARROW-1138</a> - Travis: Use OpenJDK7 instead of OracleJDK7</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-1139">ARROW-1139</a> - [C++] dlmalloc doesn’t allow arrow to be built with clang 4 or gcc 7.1.1</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-1141">ARROW-1141</a> - on import get libjemalloc.so.2: cannot allocate memory in static TLS block</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-1143">ARROW-1143</a> - C++: Fix comparison of NullArray</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-1144">ARROW-1144</a> - [C++] Remove unused variable</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-1147">ARROW-1147</a> - [C++] Allow optional vendoring of flatbuffers in plasma</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-1150">ARROW-1150</a> - [C++] AdaptiveIntBuilder compiler warning on MSVC</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-1152">ARROW-1152</a> - [Cython] read_tensor should work with a readable file</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-1155">ARROW-1155</a> - segmentation fault when run pa.Int16Value()</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-1157">ARROW-1157</a> - C++/Python: Decimal templates are not correctly exported on OSX</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-1159">ARROW-1159</a> - [C++] Static data members cannot be accessed from inline functions in Arrow headers by thirdparty users</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-1162">ARROW-1162</a> - Transfer Between Empty Lists Should Not Invoke Callback</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-1166">ARROW-1166</a> - Errors in Struct type’s example and missing reference in Layout.md</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-1167">ARROW-1167</a> - [Python] Create chunked BinaryArray in Table.from_pandas when a column’s data exceeds 2GB</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-1168">ARROW-1168</a> - [Python] pandas metadata may contain “mixed” data types</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-1169">ARROW-1169</a> - C++: jemalloc externalproject doesn’t build with CMake’s ninja generator</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-1170">ARROW-1170</a> - C++: ARROW_JEMALLOC=OFF breaks linking on unittest</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-1174">ARROW-1174</a> - [GLib] Investigate root cause of ListArray glib test failure</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-1177">ARROW-1177</a> - [C++] Detect int32 overflow in ListBuilder::Append</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-1179">ARROW-1179</a> - C++: Add missing virtual destructors</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-1180">ARROW-1180</a> - [GLib] garrow_tensor_get_dimension_name() returns invalid address</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-1181">ARROW-1181</a> - [Python] Parquet test fail if not enabled</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-1182">ARROW-1182</a> - C++: Specify BUILD_BYPRODUCTS for zlib and zstd</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-1186">ARROW-1186</a> - [C++] Enable option to build arrow with minimal dependencies needed to build Parquet library</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-1188">ARROW-1188</a> - Segfault when trying to serialize a DataFrame with Null-only Categorical Column</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-1190">ARROW-1190</a> - VectorLoader corrupts vectors with duplicate names</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-1191">ARROW-1191</a> - [JAVA] Implement getField() method for the complex readers</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-1194">ARROW-1194</a> - Getting record batch size with pa.get_record_batch_size returns a size that is too small for pandas DataFrame.</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-1197">ARROW-1197</a> - [GLib] record_batch.hpp Inclusion is missing</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-1200">ARROW-1200</a> - [C++] DictionaryBuilder should use signed integers for indices</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-1201">ARROW-1201</a> - [Python] Incomplete Python types cause a core dump when repr-ing</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-1203">ARROW-1203</a> - [C++] Disallow BinaryBuilder to append byte strings larger than the maximum value of int32_t</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-1205">ARROW-1205</a> - C++: Reference to type objects in ArrayLoader may cause segmentation faults.</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-1206">ARROW-1206</a> - [C++] Enable MSVC builds to work with some compression library support disabled</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-1208">ARROW-1208</a> - [C++] Toolchain build with ZSTD library from conda-forge failure</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-1215">ARROW-1215</a> - [Python] Class methods in API reference</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-1216">ARROW-1216</a> - Numpy arrays cannot be created from Arrow Buffers on Python 2</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-1218">ARROW-1218</a> - Arrow doesn’t compile if all compression libraries are deactivated</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-1222">ARROW-1222</a> - [Python] pyarrow.array returns NullArray for array of unsupported Python objects</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-1223">ARROW-1223</a> - [GLib] Fix function name that returns wrapped object</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-1235">ARROW-1235</a> - [C++] macOS linker failure with operator« and std::ostream</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-1236">ARROW-1236</a> - Library paths in exported pkg-config file are incorrect</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-601">ARROW-601</a> - Some logical types not supported when loading Parquet</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-784">ARROW-784</a> - Cleaning up thirdparty toolchain support in Arrow on Windows</li>
  <li><a href="https://issues.apache.org/jira/browse/ARROW-992">ARROW-992</a> - [Python] In place development builds do not have a <strong>version</strong></li>
</ul>


    </main>

    <hr/>
<footer class="footer">
  <div class="row">
    <div class="col-md-9">
      <p>Apache Arrow, Arrow, Apache, the Apache feather logo, and the Apache Arrow project logo are either registered trademarks or trademarks of The Apache Software Foundation in the United States and other countries.</p>
      <p>&copy; 2016-2024 The Apache Software Foundation</p>
    </div>
    <div class="col-md-3">
      <a class="d-sm-none d-md-inline pr-2" href="https://www.apache.org/events/current-event.html">
        <img src="https://www.apache.org/events/current-event-234x60.png"/>
      </a>
    </div>
  </div>
</footer>

  </div>
</body>
</html>
