blob: d8a82ade02210293d74dd64ac3084aefc3c4a7f5 [file] [log] [blame]
<!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>0.1.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="0.1.0 Release" />
<meta property="og:locale" content="en_US" />
<meta name="description" content="Apache Arrow 0.1.0 (10 October 2016) Download Source Release: [apache-arrow-0.1.0.tar.gz][6] Verification: [md5][3], [asc][7] Changelog Contributors $ git shortlog -sn d5aa7c46..apache-arrow-0.1.0 49 Wes McKinney 27 Uwe L. Korn 25 Julien Le Dem 13 Micah Kornfield 11 Steven Phillips 6 Jihoon Son 5 Laurent Goujon 5 adeneche 4 Dan Robinson 4 proflin 2 Jacques Nadeau 1 Christopher C. Aycock 1 Edmon Begoli 1 Kai Zheng 1 MechCoder 1 Minji Kim 1 Philipp Moritz 1 Smyatkin Maxim 1 fengguangyuan 1 hyukjinkwon 1 hzhang2 1 lfzCarlosC New Features and Improvements ARROW-1 - Import Initial Codebase ARROW-10 - Fix mismatch of javadoc names and method parameters ARROW-100 - [C++] Computing RowBatch size ARROW-101 - Fix java warnings emitted by java compiler ARROW-102 - travis-ci support for java project ARROW-106 - Add IPC round trip for string types (string, char, varchar, binary) ARROW-107 - [C++] add ipc round trip for struct types ARROW-11 - Mirror JIRA activity to dev@arrow.apache.org ARROW-13 - Add PR merge tool similar to that used in Parquet ARROW-14 - Add JIRA components ARROW-15 - Fix a naming typo for memory.AllocationManager.AllocationOutcome ARROW-19 - C++: Externalize memory allocations and add a MemoryPool abstract interface to builder classes ARROW-190 - Python: Provide installable sdist builds ARROW-197 - [Python] Add conda dev recipe for pyarrow ARROW-199 - [C++] Refine third party dependency ARROW-2 - Post Simple Website ARROW-20 - C++: Add null count member to Array containers, remove nullable member ARROW-201 - C++: Initial ParquetWriter implementation ARROW-203 - Python: Basic filename based Parquet read/write ARROW-204 - [Python] Automate uploading conda build artifacts for libarrow and pyarrow ARROW-206 - [C++] Expose an equality API for arrays that compares a range of slots on two arrays ARROW-21 - C++: Add in-memory schema metadata container ARROW-212 - [C++] Clarify the fact that PrimitiveArray is now abstract class ARROW-213 - Exposing static arrow build ARROW-214 - C++: Add String support to Parquet I/O ARROW-215 - C++: Support other integer types in Parquet I/O ARROW-218 - Add option to use GitHub API token via environment variable when merging PRs ARROW-22 - C++: Add schema adapter routines for converting flat Parquet schemas to in-memory Arrow schemas ARROW-222 - [C++] Create prototype file-like interface to HDFS (via libhdfs) and begin defining more general IO interface for Arrow data adapters ARROW-23 - C++: Add logical “Column” container for chunked data ARROW-233 - [C++] Add visibility defines for limiting shared library symbol visibility ARROW-234 - [C++] Build with libhdfs support in arrow_io in conda builds ARROW-236 - [Python] Enable Parquet read/write to work with HDFS file objects ARROW-237 - [C++] Create Arrow specializations of Parquet allocator and read interfaces ARROW-238 - C++: InternalMemoryPool::Free() should throw an error when there is insufficient allocated memory ARROW-24 - C++: Add logical “Table” container ARROW-242 - C++/Python: Support Timestamp Data Type ARROW-245 - [Format] Clarify Arrow’s relationship with big endian platforms ARROW-251 - [C++] Expose APIs for getting code and message of the status ARROW-252 - Add implementation guidelines to the documentation ARROW-253 - Int types should only have width of 8*2^n (8, 16, 32, 64) ARROW-254 - Remove Bit type as it is redundant with boolean ARROW-255 - Finalize Dictionary representation ARROW-256 - Add versioning to the arrow spec. ARROW-257 - Add a typeids Vector to Union type ARROW-26 - C++: Add developer instructions for building parquet-cpp integration ARROW-260 - TestValueVector.testFixedVectorReallocation and testVariableVectorReallocation are flaky ARROW-262 - [Format] Add a new format document for metadata and logical types for messaging and IPC / on-wire/file representations ARROW-264 - Create an Arrow File format ARROW-267 - [C++] C++ implementation of file-like layout for RPC / IPC ARROW-270 - [Format] Define more generic Interval logical type ARROW-271 - Update Field structure to be more explicit ARROW-272 - Arrow release 0.1 ARROW-279 - rename vector module to arrow-vector for consistency ARROW-28 - C++: Add google/benchmark to the 3rd-party build toolchain ARROW-280 - [C++] Consolidate file and shared memory IO interfaces ARROW-285 - Allow for custom flatc compiler ARROW-286 - Build thirdparty dependencies in parallel ARROW-289 - Install test-util.h ARROW-290 - Specialize alloc() in ArrowBuf ARROW-292 - [Java] Upgrade Netty to 4.041 ARROW-293 - [C++] Implementations of IO interfaces for operating system files ARROW-296 - [C++] Remove arrow_parquet C++ module and related parts of build system ARROW-298 - create release scripts ARROW-299 - Use absolute namespace in macros ARROW-3 - Post Initial Arrow Format Spec ARROW-30 - Python: pandas/NumPy to/from Arrow conversion routines ARROW-301 - [Format] Add some form of user field metadata to IPC schemas ARROW-302 - [Python] Add support to use the Arrow file format with file-like objects ARROW-305 - Add compression and use_dictionary options to Parquet interface ARROW-306 - Add option to pass cmake arguments via environment variable ARROW-31 - Python: basic PyList &lt;-&gt; Arrow marshaling code ARROW-315 - Finalize timestamp type ARROW-318 - [Python] Revise README to reflect current state of project ARROW-319 - Add canonical Arrow Schema json representation ARROW-324 - Update arrow metadata diagram ARROW-325 - make TestArrowFile not dependent on timezone ARROW-35 - Add a short call-to-action / how-to-get-involved to the main README.md ARROW-37 - C++: Represent boolean array data in bit-packed form ARROW-4 - Initial Arrow CPP Implementation ARROW-42 - Python: Add to Travis CI build ARROW-43 - Python: Add rudimentary console repr for array types ARROW-44 - Python: Implement basic object model for scalar values (i.e. results of arrow_arr[i]) ARROW-48 - Python: Add Schema object wrapper ARROW-49 - Python: Add Column and Table wrapper interface ARROW-50 - C++: Enable library builds for 3rd-party users without having to build thirdparty googletest ARROW-53 - Python: Fix RPATH and add source installation instructions ARROW-54 - Python: rename package to “pyarrow” ARROW-56 - Format: Specify LSB bit ordering in bit arrays ARROW-57 - Format: Draft data headers IDL for data interchange ARROW-58 - Format: Draft type metadata (“schemas”) IDL ARROW-59 - Python: Boolean data support for builtin data structures ARROW-60 - C++: Struct type builder API ARROW-64 - Add zsh support to C++ build scripts ARROW-66 - Maybe some missing steps in installation guide ARROW-67 - C++: Draft type metadata conversion to/from IPC representation ARROW-68 - Update setup_build_env and third-party script to be more userfriendly ARROW-7 - Add Python library build toolchain ARROW-70 - C++: Add “lite” DCHECK macros used in parquet-cpp ARROW-71 - C++: Add script to run clang-tidy on codebase ARROW-73 - Support CMake 2.8 ARROW-76 - Revise format document to include null count, defer non-nullable arrays to the domain of metadata ARROW-78 - C++: Add constructor for DecimalType ARROW-79 - Python: Add benchmarks ARROW-8 - Set up Travis CI ARROW-82 - C++: Implement IPC exchange for List types ARROW-83 - Add basic test infrastructure for DecimalType ARROW-85 - C++: memcmp can be avoided in Equal when comparing with the same Buffer ARROW-86 - Python: Implement zero-copy Arrow-to-Pandas conversion ARROW-87 - Implement Decimal schema conversion for all ways supported in Parquet ARROW-89 - Python: Add benchmarks for Arrow&lt;-&gt;Pandas conversion ARROW-9 - Rename some unchanged “Drill” to “Arrow” ARROW-90 - Apache Arrow cpp code does not support power architecture ARROW-91 - C++: First draft of an adapter class for parquet-cpp’s ParquetFileReader that produces Arrow table/row batch objects ARROW-92 - C++: Arrow to Parquet Schema conversion Bug Fixes ARROW-103 - Missing patterns from .gitignore ARROW-104 - Update Layout.md based on discussion on the mailing list ARROW-105 - Unit tests fail if assertions are disabled ARROW-113 - TestValueVector test fails if cannot allocate 2GB of memory ARROW-16 - Building cpp issues on XCode 7.2.1 ARROW-17 - Set some vector fields to default access level for Drill compatibility ARROW-18 - Fix bug with decimal precision and scale ARROW-185 - [C++] Make sure alignment and memory padding conform to spec ARROW-188 - Python: Add numpy as install requirement ARROW-193 - For the instruction, typos “int his” should be “in this” ARROW-194 - C++: Allow read-only memory mapped source ARROW-200 - [Python] Convert Values String looks like it has incorrect error handling ARROW-209 - [C++] Broken builds: llvm.org apt repos are unavailable ARROW-210 - [C++] Tidy up the type system a little bit ARROW-211 - Several typos/errors in Layout.md examples ARROW-217 - Fix Travis w.r.t conda 4.1.0 changes ARROW-219 - [C++] Passed CMAKE_CXX_FLAGS are being dropped, fix compiler warnings ARROW-223 - Do not link against libpython ARROW-225 - [C++/Python] master Travis CI build is broken ARROW-244 - [C++] Some global APIs of IPC module should be visible to the outside ARROW-246 - [Java] UnionVector doesn’t call allocateNew() when creating it’s vectorType ARROW-247 - [C++] Missing explicit destructor in RowBatchReader causes an incomplete type error ARROW-250 - Fix for ARROW-246 may cause memory leaks ARROW-259 - Use flatbuffer fields in java implementation ARROW-265 - Negative decimal values have wrong padding ARROW-266 - [C++] Fix the broken build ARROW-274 - Make the MapVector nullable ARROW-278 - [Format] Struct type name consistency in implementations and metadata ARROW-283 - [C++] Update arrow_parquet to account for API changes in PARQUET-573 ARROW-284 - [C++] Triage builds by disabling Arrow-Parquet module ARROW-287 - [java] Make nullable vectors use a BitVecor instead of UInt1Vector for bits ARROW-297 - Fix Arrow pom for release ARROW-304 - NullableMapReaderImpl.isSet() always returns true ARROW-308 - UnionListWriter.setPosition() should not call startList() ARROW-309 - Types.getMinorTypeForArrowType() does not work for Union type ARROW-313 - XCode 8.0 breaks builds ARROW-314 - JSONScalar is unnecessary and unused. ARROW-320 - ComplexCopier.copy(FieldReader, FieldWriter) should not start a list if reader is not set ARROW-321 - Fix Arrow licences ARROW-36 - Remove fixVersions from patch tool (until we have them) ARROW-46 - Port DRILL-4410 to Arrow ARROW-5 - Error when run maven install ARROW-51 - Move ValueVector test from Drill project ARROW-55 - Python: fix legacy Python (2.7) tests and add to Travis CI ARROW-62 - Format: Are the nulls bits 0 or 1 for null values? ARROW-63 - C++: ctest fails if Python 3 is the active Python interpreter ARROW-65 - Python: FindPythonLibsNew does not work in a virtualenv ARROW-69 - Change permissions for assignable users ARROW-72 - FindParquet searches for non-existent header ARROW-75 - C++: Fix handling of empty strings ARROW-77 - C++: conform null bit interpretation to match ARROW-62 ARROW-80 - Segmentation fault on len(Array) for empty arrays ARROW-88 - C++: Refactor given PARQUET-572 ARROW-93 - XCode 7.3 breaks builds ARROW-94 - Expand list example to clarify null vs empty list" />
<meta property="og:description" content="Apache Arrow 0.1.0 (10 October 2016) Download Source Release: [apache-arrow-0.1.0.tar.gz][6] Verification: [md5][3], [asc][7] Changelog Contributors $ git shortlog -sn d5aa7c46..apache-arrow-0.1.0 49 Wes McKinney 27 Uwe L. Korn 25 Julien Le Dem 13 Micah Kornfield 11 Steven Phillips 6 Jihoon Son 5 Laurent Goujon 5 adeneche 4 Dan Robinson 4 proflin 2 Jacques Nadeau 1 Christopher C. Aycock 1 Edmon Begoli 1 Kai Zheng 1 MechCoder 1 Minji Kim 1 Philipp Moritz 1 Smyatkin Maxim 1 fengguangyuan 1 hyukjinkwon 1 hzhang2 1 lfzCarlosC New Features and Improvements ARROW-1 - Import Initial Codebase ARROW-10 - Fix mismatch of javadoc names and method parameters ARROW-100 - [C++] Computing RowBatch size ARROW-101 - Fix java warnings emitted by java compiler ARROW-102 - travis-ci support for java project ARROW-106 - Add IPC round trip for string types (string, char, varchar, binary) ARROW-107 - [C++] add ipc round trip for struct types ARROW-11 - Mirror JIRA activity to dev@arrow.apache.org ARROW-13 - Add PR merge tool similar to that used in Parquet ARROW-14 - Add JIRA components ARROW-15 - Fix a naming typo for memory.AllocationManager.AllocationOutcome ARROW-19 - C++: Externalize memory allocations and add a MemoryPool abstract interface to builder classes ARROW-190 - Python: Provide installable sdist builds ARROW-197 - [Python] Add conda dev recipe for pyarrow ARROW-199 - [C++] Refine third party dependency ARROW-2 - Post Simple Website ARROW-20 - C++: Add null count member to Array containers, remove nullable member ARROW-201 - C++: Initial ParquetWriter implementation ARROW-203 - Python: Basic filename based Parquet read/write ARROW-204 - [Python] Automate uploading conda build artifacts for libarrow and pyarrow ARROW-206 - [C++] Expose an equality API for arrays that compares a range of slots on two arrays ARROW-21 - C++: Add in-memory schema metadata container ARROW-212 - [C++] Clarify the fact that PrimitiveArray is now abstract class ARROW-213 - Exposing static arrow build ARROW-214 - C++: Add String support to Parquet I/O ARROW-215 - C++: Support other integer types in Parquet I/O ARROW-218 - Add option to use GitHub API token via environment variable when merging PRs ARROW-22 - C++: Add schema adapter routines for converting flat Parquet schemas to in-memory Arrow schemas ARROW-222 - [C++] Create prototype file-like interface to HDFS (via libhdfs) and begin defining more general IO interface for Arrow data adapters ARROW-23 - C++: Add logical “Column” container for chunked data ARROW-233 - [C++] Add visibility defines for limiting shared library symbol visibility ARROW-234 - [C++] Build with libhdfs support in arrow_io in conda builds ARROW-236 - [Python] Enable Parquet read/write to work with HDFS file objects ARROW-237 - [C++] Create Arrow specializations of Parquet allocator and read interfaces ARROW-238 - C++: InternalMemoryPool::Free() should throw an error when there is insufficient allocated memory ARROW-24 - C++: Add logical “Table” container ARROW-242 - C++/Python: Support Timestamp Data Type ARROW-245 - [Format] Clarify Arrow’s relationship with big endian platforms ARROW-251 - [C++] Expose APIs for getting code and message of the status ARROW-252 - Add implementation guidelines to the documentation ARROW-253 - Int types should only have width of 8*2^n (8, 16, 32, 64) ARROW-254 - Remove Bit type as it is redundant with boolean ARROW-255 - Finalize Dictionary representation ARROW-256 - Add versioning to the arrow spec. ARROW-257 - Add a typeids Vector to Union type ARROW-26 - C++: Add developer instructions for building parquet-cpp integration ARROW-260 - TestValueVector.testFixedVectorReallocation and testVariableVectorReallocation are flaky ARROW-262 - [Format] Add a new format document for metadata and logical types for messaging and IPC / on-wire/file representations ARROW-264 - Create an Arrow File format ARROW-267 - [C++] C++ implementation of file-like layout for RPC / IPC ARROW-270 - [Format] Define more generic Interval logical type ARROW-271 - Update Field structure to be more explicit ARROW-272 - Arrow release 0.1 ARROW-279 - rename vector module to arrow-vector for consistency ARROW-28 - C++: Add google/benchmark to the 3rd-party build toolchain ARROW-280 - [C++] Consolidate file and shared memory IO interfaces ARROW-285 - Allow for custom flatc compiler ARROW-286 - Build thirdparty dependencies in parallel ARROW-289 - Install test-util.h ARROW-290 - Specialize alloc() in ArrowBuf ARROW-292 - [Java] Upgrade Netty to 4.041 ARROW-293 - [C++] Implementations of IO interfaces for operating system files ARROW-296 - [C++] Remove arrow_parquet C++ module and related parts of build system ARROW-298 - create release scripts ARROW-299 - Use absolute namespace in macros ARROW-3 - Post Initial Arrow Format Spec ARROW-30 - Python: pandas/NumPy to/from Arrow conversion routines ARROW-301 - [Format] Add some form of user field metadata to IPC schemas ARROW-302 - [Python] Add support to use the Arrow file format with file-like objects ARROW-305 - Add compression and use_dictionary options to Parquet interface ARROW-306 - Add option to pass cmake arguments via environment variable ARROW-31 - Python: basic PyList &lt;-&gt; Arrow marshaling code ARROW-315 - Finalize timestamp type ARROW-318 - [Python] Revise README to reflect current state of project ARROW-319 - Add canonical Arrow Schema json representation ARROW-324 - Update arrow metadata diagram ARROW-325 - make TestArrowFile not dependent on timezone ARROW-35 - Add a short call-to-action / how-to-get-involved to the main README.md ARROW-37 - C++: Represent boolean array data in bit-packed form ARROW-4 - Initial Arrow CPP Implementation ARROW-42 - Python: Add to Travis CI build ARROW-43 - Python: Add rudimentary console repr for array types ARROW-44 - Python: Implement basic object model for scalar values (i.e. results of arrow_arr[i]) ARROW-48 - Python: Add Schema object wrapper ARROW-49 - Python: Add Column and Table wrapper interface ARROW-50 - C++: Enable library builds for 3rd-party users without having to build thirdparty googletest ARROW-53 - Python: Fix RPATH and add source installation instructions ARROW-54 - Python: rename package to “pyarrow” ARROW-56 - Format: Specify LSB bit ordering in bit arrays ARROW-57 - Format: Draft data headers IDL for data interchange ARROW-58 - Format: Draft type metadata (“schemas”) IDL ARROW-59 - Python: Boolean data support for builtin data structures ARROW-60 - C++: Struct type builder API ARROW-64 - Add zsh support to C++ build scripts ARROW-66 - Maybe some missing steps in installation guide ARROW-67 - C++: Draft type metadata conversion to/from IPC representation ARROW-68 - Update setup_build_env and third-party script to be more userfriendly ARROW-7 - Add Python library build toolchain ARROW-70 - C++: Add “lite” DCHECK macros used in parquet-cpp ARROW-71 - C++: Add script to run clang-tidy on codebase ARROW-73 - Support CMake 2.8 ARROW-76 - Revise format document to include null count, defer non-nullable arrays to the domain of metadata ARROW-78 - C++: Add constructor for DecimalType ARROW-79 - Python: Add benchmarks ARROW-8 - Set up Travis CI ARROW-82 - C++: Implement IPC exchange for List types ARROW-83 - Add basic test infrastructure for DecimalType ARROW-85 - C++: memcmp can be avoided in Equal when comparing with the same Buffer ARROW-86 - Python: Implement zero-copy Arrow-to-Pandas conversion ARROW-87 - Implement Decimal schema conversion for all ways supported in Parquet ARROW-89 - Python: Add benchmarks for Arrow&lt;-&gt;Pandas conversion ARROW-9 - Rename some unchanged “Drill” to “Arrow” ARROW-90 - Apache Arrow cpp code does not support power architecture ARROW-91 - C++: First draft of an adapter class for parquet-cpp’s ParquetFileReader that produces Arrow table/row batch objects ARROW-92 - C++: Arrow to Parquet Schema conversion Bug Fixes ARROW-103 - Missing patterns from .gitignore ARROW-104 - Update Layout.md based on discussion on the mailing list ARROW-105 - Unit tests fail if assertions are disabled ARROW-113 - TestValueVector test fails if cannot allocate 2GB of memory ARROW-16 - Building cpp issues on XCode 7.2.1 ARROW-17 - Set some vector fields to default access level for Drill compatibility ARROW-18 - Fix bug with decimal precision and scale ARROW-185 - [C++] Make sure alignment and memory padding conform to spec ARROW-188 - Python: Add numpy as install requirement ARROW-193 - For the instruction, typos “int his” should be “in this” ARROW-194 - C++: Allow read-only memory mapped source ARROW-200 - [Python] Convert Values String looks like it has incorrect error handling ARROW-209 - [C++] Broken builds: llvm.org apt repos are unavailable ARROW-210 - [C++] Tidy up the type system a little bit ARROW-211 - Several typos/errors in Layout.md examples ARROW-217 - Fix Travis w.r.t conda 4.1.0 changes ARROW-219 - [C++] Passed CMAKE_CXX_FLAGS are being dropped, fix compiler warnings ARROW-223 - Do not link against libpython ARROW-225 - [C++/Python] master Travis CI build is broken ARROW-244 - [C++] Some global APIs of IPC module should be visible to the outside ARROW-246 - [Java] UnionVector doesn’t call allocateNew() when creating it’s vectorType ARROW-247 - [C++] Missing explicit destructor in RowBatchReader causes an incomplete type error ARROW-250 - Fix for ARROW-246 may cause memory leaks ARROW-259 - Use flatbuffer fields in java implementation ARROW-265 - Negative decimal values have wrong padding ARROW-266 - [C++] Fix the broken build ARROW-274 - Make the MapVector nullable ARROW-278 - [Format] Struct type name consistency in implementations and metadata ARROW-283 - [C++] Update arrow_parquet to account for API changes in PARQUET-573 ARROW-284 - [C++] Triage builds by disabling Arrow-Parquet module ARROW-287 - [java] Make nullable vectors use a BitVecor instead of UInt1Vector for bits ARROW-297 - Fix Arrow pom for release ARROW-304 - NullableMapReaderImpl.isSet() always returns true ARROW-308 - UnionListWriter.setPosition() should not call startList() ARROW-309 - Types.getMinorTypeForArrowType() does not work for Union type ARROW-313 - XCode 8.0 breaks builds ARROW-314 - JSONScalar is unnecessary and unused. ARROW-320 - ComplexCopier.copy(FieldReader, FieldWriter) should not start a list if reader is not set ARROW-321 - Fix Arrow licences ARROW-36 - Remove fixVersions from patch tool (until we have them) ARROW-46 - Port DRILL-4410 to Arrow ARROW-5 - Error when run maven install ARROW-51 - Move ValueVector test from Drill project ARROW-55 - Python: fix legacy Python (2.7) tests and add to Travis CI ARROW-62 - Format: Are the nulls bits 0 or 1 for null values? ARROW-63 - C++: ctest fails if Python 3 is the active Python interpreter ARROW-65 - Python: FindPythonLibsNew does not work in a virtualenv ARROW-69 - Change permissions for assignable users ARROW-72 - FindParquet searches for non-existent header ARROW-75 - C++: Fix handling of empty strings ARROW-77 - C++: conform null bit interpretation to match ARROW-62 ARROW-80 - Segmentation fault on len(Array) for empty arrays ARROW-88 - C++: Refactor given PARQUET-572 ARROW-93 - XCode 7.3 breaks builds ARROW-94 - Expand list example to clarify null vs empty list" />
<link rel="canonical" href="https://arrow.apache.org/release/0.1.0.html" />
<meta property="og:url" content="https://arrow.apache.org/release/0.1.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-07T06:07:05-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="0.1.0 Release" />
<meta name="twitter:site" content="@ApacheArrow" />
<script type="application/ld+json">
{"@context":"https://schema.org","@type":"BlogPosting","dateModified":"2024-05-07T06:07:05-04:00","datePublished":"2024-05-07T06:07:05-04:00","description":"Apache Arrow 0.1.0 (10 October 2016) Download Source Release: [apache-arrow-0.1.0.tar.gz][6] Verification: [md5][3], [asc][7] Changelog Contributors $ git shortlog -sn d5aa7c46..apache-arrow-0.1.0 49 Wes McKinney 27 Uwe L. Korn 25 Julien Le Dem 13 Micah Kornfield 11 Steven Phillips 6 Jihoon Son 5 Laurent Goujon 5 adeneche 4 Dan Robinson 4 proflin 2 Jacques Nadeau 1 Christopher C. Aycock 1 Edmon Begoli 1 Kai Zheng 1 MechCoder 1 Minji Kim 1 Philipp Moritz 1 Smyatkin Maxim 1 fengguangyuan 1 hyukjinkwon 1 hzhang2 1 lfzCarlosC New Features and Improvements ARROW-1 - Import Initial Codebase ARROW-10 - Fix mismatch of javadoc names and method parameters ARROW-100 - [C++] Computing RowBatch size ARROW-101 - Fix java warnings emitted by java compiler ARROW-102 - travis-ci support for java project ARROW-106 - Add IPC round trip for string types (string, char, varchar, binary) ARROW-107 - [C++] add ipc round trip for struct types ARROW-11 - Mirror JIRA activity to dev@arrow.apache.org ARROW-13 - Add PR merge tool similar to that used in Parquet ARROW-14 - Add JIRA components ARROW-15 - Fix a naming typo for memory.AllocationManager.AllocationOutcome ARROW-19 - C++: Externalize memory allocations and add a MemoryPool abstract interface to builder classes ARROW-190 - Python: Provide installable sdist builds ARROW-197 - [Python] Add conda dev recipe for pyarrow ARROW-199 - [C++] Refine third party dependency ARROW-2 - Post Simple Website ARROW-20 - C++: Add null count member to Array containers, remove nullable member ARROW-201 - C++: Initial ParquetWriter implementation ARROW-203 - Python: Basic filename based Parquet read/write ARROW-204 - [Python] Automate uploading conda build artifacts for libarrow and pyarrow ARROW-206 - [C++] Expose an equality API for arrays that compares a range of slots on two arrays ARROW-21 - C++: Add in-memory schema metadata container ARROW-212 - [C++] Clarify the fact that PrimitiveArray is now abstract class ARROW-213 - Exposing static arrow build ARROW-214 - C++: Add String support to Parquet I/O ARROW-215 - C++: Support other integer types in Parquet I/O ARROW-218 - Add option to use GitHub API token via environment variable when merging PRs ARROW-22 - C++: Add schema adapter routines for converting flat Parquet schemas to in-memory Arrow schemas ARROW-222 - [C++] Create prototype file-like interface to HDFS (via libhdfs) and begin defining more general IO interface for Arrow data adapters ARROW-23 - C++: Add logical “Column” container for chunked data ARROW-233 - [C++] Add visibility defines for limiting shared library symbol visibility ARROW-234 - [C++] Build with libhdfs support in arrow_io in conda builds ARROW-236 - [Python] Enable Parquet read/write to work with HDFS file objects ARROW-237 - [C++] Create Arrow specializations of Parquet allocator and read interfaces ARROW-238 - C++: InternalMemoryPool::Free() should throw an error when there is insufficient allocated memory ARROW-24 - C++: Add logical “Table” container ARROW-242 - C++/Python: Support Timestamp Data Type ARROW-245 - [Format] Clarify Arrow’s relationship with big endian platforms ARROW-251 - [C++] Expose APIs for getting code and message of the status ARROW-252 - Add implementation guidelines to the documentation ARROW-253 - Int types should only have width of 8*2^n (8, 16, 32, 64) ARROW-254 - Remove Bit type as it is redundant with boolean ARROW-255 - Finalize Dictionary representation ARROW-256 - Add versioning to the arrow spec. ARROW-257 - Add a typeids Vector to Union type ARROW-26 - C++: Add developer instructions for building parquet-cpp integration ARROW-260 - TestValueVector.testFixedVectorReallocation and testVariableVectorReallocation are flaky ARROW-262 - [Format] Add a new format document for metadata and logical types for messaging and IPC / on-wire/file representations ARROW-264 - Create an Arrow File format ARROW-267 - [C++] C++ implementation of file-like layout for RPC / IPC ARROW-270 - [Format] Define more generic Interval logical type ARROW-271 - Update Field structure to be more explicit ARROW-272 - Arrow release 0.1 ARROW-279 - rename vector module to arrow-vector for consistency ARROW-28 - C++: Add google/benchmark to the 3rd-party build toolchain ARROW-280 - [C++] Consolidate file and shared memory IO interfaces ARROW-285 - Allow for custom flatc compiler ARROW-286 - Build thirdparty dependencies in parallel ARROW-289 - Install test-util.h ARROW-290 - Specialize alloc() in ArrowBuf ARROW-292 - [Java] Upgrade Netty to 4.041 ARROW-293 - [C++] Implementations of IO interfaces for operating system files ARROW-296 - [C++] Remove arrow_parquet C++ module and related parts of build system ARROW-298 - create release scripts ARROW-299 - Use absolute namespace in macros ARROW-3 - Post Initial Arrow Format Spec ARROW-30 - Python: pandas/NumPy to/from Arrow conversion routines ARROW-301 - [Format] Add some form of user field metadata to IPC schemas ARROW-302 - [Python] Add support to use the Arrow file format with file-like objects ARROW-305 - Add compression and use_dictionary options to Parquet interface ARROW-306 - Add option to pass cmake arguments via environment variable ARROW-31 - Python: basic PyList &lt;-&gt; Arrow marshaling code ARROW-315 - Finalize timestamp type ARROW-318 - [Python] Revise README to reflect current state of project ARROW-319 - Add canonical Arrow Schema json representation ARROW-324 - Update arrow metadata diagram ARROW-325 - make TestArrowFile not dependent on timezone ARROW-35 - Add a short call-to-action / how-to-get-involved to the main README.md ARROW-37 - C++: Represent boolean array data in bit-packed form ARROW-4 - Initial Arrow CPP Implementation ARROW-42 - Python: Add to Travis CI build ARROW-43 - Python: Add rudimentary console repr for array types ARROW-44 - Python: Implement basic object model for scalar values (i.e. results of arrow_arr[i]) ARROW-48 - Python: Add Schema object wrapper ARROW-49 - Python: Add Column and Table wrapper interface ARROW-50 - C++: Enable library builds for 3rd-party users without having to build thirdparty googletest ARROW-53 - Python: Fix RPATH and add source installation instructions ARROW-54 - Python: rename package to “pyarrow” ARROW-56 - Format: Specify LSB bit ordering in bit arrays ARROW-57 - Format: Draft data headers IDL for data interchange ARROW-58 - Format: Draft type metadata (“schemas”) IDL ARROW-59 - Python: Boolean data support for builtin data structures ARROW-60 - C++: Struct type builder API ARROW-64 - Add zsh support to C++ build scripts ARROW-66 - Maybe some missing steps in installation guide ARROW-67 - C++: Draft type metadata conversion to/from IPC representation ARROW-68 - Update setup_build_env and third-party script to be more userfriendly ARROW-7 - Add Python library build toolchain ARROW-70 - C++: Add “lite” DCHECK macros used in parquet-cpp ARROW-71 - C++: Add script to run clang-tidy on codebase ARROW-73 - Support CMake 2.8 ARROW-76 - Revise format document to include null count, defer non-nullable arrays to the domain of metadata ARROW-78 - C++: Add constructor for DecimalType ARROW-79 - Python: Add benchmarks ARROW-8 - Set up Travis CI ARROW-82 - C++: Implement IPC exchange for List types ARROW-83 - Add basic test infrastructure for DecimalType ARROW-85 - C++: memcmp can be avoided in Equal when comparing with the same Buffer ARROW-86 - Python: Implement zero-copy Arrow-to-Pandas conversion ARROW-87 - Implement Decimal schema conversion for all ways supported in Parquet ARROW-89 - Python: Add benchmarks for Arrow&lt;-&gt;Pandas conversion ARROW-9 - Rename some unchanged “Drill” to “Arrow” ARROW-90 - Apache Arrow cpp code does not support power architecture ARROW-91 - C++: First draft of an adapter class for parquet-cpp’s ParquetFileReader that produces Arrow table/row batch objects ARROW-92 - C++: Arrow to Parquet Schema conversion Bug Fixes ARROW-103 - Missing patterns from .gitignore ARROW-104 - Update Layout.md based on discussion on the mailing list ARROW-105 - Unit tests fail if assertions are disabled ARROW-113 - TestValueVector test fails if cannot allocate 2GB of memory ARROW-16 - Building cpp issues on XCode 7.2.1 ARROW-17 - Set some vector fields to default access level for Drill compatibility ARROW-18 - Fix bug with decimal precision and scale ARROW-185 - [C++] Make sure alignment and memory padding conform to spec ARROW-188 - Python: Add numpy as install requirement ARROW-193 - For the instruction, typos “int his” should be “in this” ARROW-194 - C++: Allow read-only memory mapped source ARROW-200 - [Python] Convert Values String looks like it has incorrect error handling ARROW-209 - [C++] Broken builds: llvm.org apt repos are unavailable ARROW-210 - [C++] Tidy up the type system a little bit ARROW-211 - Several typos/errors in Layout.md examples ARROW-217 - Fix Travis w.r.t conda 4.1.0 changes ARROW-219 - [C++] Passed CMAKE_CXX_FLAGS are being dropped, fix compiler warnings ARROW-223 - Do not link against libpython ARROW-225 - [C++/Python] master Travis CI build is broken ARROW-244 - [C++] Some global APIs of IPC module should be visible to the outside ARROW-246 - [Java] UnionVector doesn’t call allocateNew() when creating it’s vectorType ARROW-247 - [C++] Missing explicit destructor in RowBatchReader causes an incomplete type error ARROW-250 - Fix for ARROW-246 may cause memory leaks ARROW-259 - Use flatbuffer fields in java implementation ARROW-265 - Negative decimal values have wrong padding ARROW-266 - [C++] Fix the broken build ARROW-274 - Make the MapVector nullable ARROW-278 - [Format] Struct type name consistency in implementations and metadata ARROW-283 - [C++] Update arrow_parquet to account for API changes in PARQUET-573 ARROW-284 - [C++] Triage builds by disabling Arrow-Parquet module ARROW-287 - [java] Make nullable vectors use a BitVecor instead of UInt1Vector for bits ARROW-297 - Fix Arrow pom for release ARROW-304 - NullableMapReaderImpl.isSet() always returns true ARROW-308 - UnionListWriter.setPosition() should not call startList() ARROW-309 - Types.getMinorTypeForArrowType() does not work for Union type ARROW-313 - XCode 8.0 breaks builds ARROW-314 - JSONScalar is unnecessary and unused. ARROW-320 - ComplexCopier.copy(FieldReader, FieldWriter) should not start a list if reader is not set ARROW-321 - Fix Arrow licences ARROW-36 - Remove fixVersions from patch tool (until we have them) ARROW-46 - Port DRILL-4410 to Arrow ARROW-5 - Error when run maven install ARROW-51 - Move ValueVector test from Drill project ARROW-55 - Python: fix legacy Python (2.7) tests and add to Travis CI ARROW-62 - Format: Are the nulls bits 0 or 1 for null values? ARROW-63 - C++: ctest fails if Python 3 is the active Python interpreter ARROW-65 - Python: FindPythonLibsNew does not work in a virtualenv ARROW-69 - Change permissions for assignable users ARROW-72 - FindParquet searches for non-existent header ARROW-75 - C++: Fix handling of empty strings ARROW-77 - C++: conform null bit interpretation to match ARROW-62 ARROW-80 - Segmentation fault on len(Array) for empty arrays ARROW-88 - C++: Refactor given PARQUET-572 ARROW-93 - XCode 7.3 breaks builds ARROW-94 - Expand list example to clarify null vs empty list","headline":"0.1.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.1.0.html"},"publisher":{"@type":"Organization","logo":{"@type":"ImageObject","url":"https://arrow.apache.org/img/logo.png"}},"url":"https://arrow.apache.org/release/0.1.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-010-10-october-2016">Apache Arrow 0.1.0 (10 October 2016)</h1>
<h2 id="download">Download</h2>
<ul>
<li><strong>Source Release</strong>: [apache-arrow-0.1.0.tar.gz][6]</li>
<li><strong>Verification</strong>: [md5][3], [asc][7]</li>
</ul>
<h1 id="changelog">Changelog</h1>
<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> d5aa7c46..apache-arrow-0.1.0
49 Wes McKinney
27 Uwe L. Korn
25 Julien Le Dem
13 Micah Kornfield
11 Steven Phillips
6 Jihoon Son
5 Laurent Goujon
5 adeneche
4 Dan Robinson
4 proflin
2 Jacques Nadeau
1 Christopher C. Aycock
1 Edmon Begoli
1 Kai Zheng
1 MechCoder
1 Minji Kim
1 Philipp Moritz
1 Smyatkin Maxim
1 fengguangyuan
1 hyukjinkwon
1 hzhang2
1 lfzCarlosC
</code></pre></div></div>
<h2 id="new-features-and-improvements">New Features and Improvements</h2>
<ul>
<li><a href="https://issues.apache.org/jira/browse/ARROW-1">ARROW-1</a> - Import Initial Codebase</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-10">ARROW-10</a> - Fix mismatch of javadoc names and method parameters</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-100">ARROW-100</a> - [C++] Computing RowBatch size</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-101">ARROW-101</a> - Fix java warnings emitted by java compiler</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-102">ARROW-102</a> - travis-ci support for java project</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-106">ARROW-106</a> - Add IPC round trip for string types (string, char, varchar, binary)</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-107">ARROW-107</a> - [C++] add ipc round trip for struct types</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-11">ARROW-11</a> - Mirror JIRA activity to dev@arrow.apache.org</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-13">ARROW-13</a> - Add PR merge tool similar to that used in Parquet</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-14">ARROW-14</a> - Add JIRA components</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-15">ARROW-15</a> - Fix a naming typo for memory.AllocationManager.AllocationOutcome</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-19">ARROW-19</a> - C++: Externalize memory allocations and add a MemoryPool abstract interface to builder classes</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-190">ARROW-190</a> - Python: Provide installable sdist builds</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-197">ARROW-197</a> - [Python] Add conda dev recipe for pyarrow</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-199">ARROW-199</a> - [C++] Refine third party dependency</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-2">ARROW-2</a> - Post Simple Website</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-20">ARROW-20</a> - C++: Add null count member to Array containers, remove nullable member</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-201">ARROW-201</a> - C++: Initial ParquetWriter implementation</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-203">ARROW-203</a> - Python: Basic filename based Parquet read/write</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-204">ARROW-204</a> - [Python] Automate uploading conda build artifacts for libarrow and pyarrow</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-206">ARROW-206</a> - [C++] Expose an equality API for arrays that compares a range of slots on two arrays</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-21">ARROW-21</a> - C++: Add in-memory schema metadata container</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-212">ARROW-212</a> - [C++] Clarify the fact that PrimitiveArray is now abstract class</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-213">ARROW-213</a> - Exposing static arrow build</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-214">ARROW-214</a> - C++: Add String support to Parquet I/O</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-215">ARROW-215</a> - C++: Support other integer types in Parquet I/O</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-218">ARROW-218</a> - Add option to use GitHub API token via environment variable when merging PRs</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-22">ARROW-22</a> - C++: Add schema adapter routines for converting flat Parquet schemas to in-memory Arrow schemas</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-222">ARROW-222</a> - [C++] Create prototype file-like interface to HDFS (via libhdfs) and begin defining more general IO interface for Arrow data adapters</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-23">ARROW-23</a> - C++: Add logical “Column” container for chunked data</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-233">ARROW-233</a> - [C++] Add visibility defines for limiting shared library symbol visibility</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-234">ARROW-234</a> - [C++] Build with libhdfs support in arrow_io in conda builds</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-236">ARROW-236</a> - [Python] Enable Parquet read/write to work with HDFS file objects</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-237">ARROW-237</a> - [C++] Create Arrow specializations of Parquet allocator and read interfaces</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-238">ARROW-238</a> - C++: InternalMemoryPool::Free() should throw an error when there is insufficient allocated memory</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-24">ARROW-24</a> - C++: Add logical “Table” container</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-242">ARROW-242</a> - C++/Python: Support Timestamp Data Type</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-245">ARROW-245</a> - [Format] Clarify Arrow’s relationship with big endian platforms</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-251">ARROW-251</a> - [C++] Expose APIs for getting code and message of the status</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-252">ARROW-252</a> - Add implementation guidelines to the documentation</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-253">ARROW-253</a> - Int types should only have width of 8*2^n (8, 16, 32, 64)</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-254">ARROW-254</a> - Remove Bit type as it is redundant with boolean</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-255">ARROW-255</a> - Finalize Dictionary representation</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-256">ARROW-256</a> - Add versioning to the arrow spec.</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-257">ARROW-257</a> - Add a typeids Vector to Union type</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-26">ARROW-26</a> - C++: Add developer instructions for building parquet-cpp integration</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-260">ARROW-260</a> - TestValueVector.testFixedVectorReallocation and testVariableVectorReallocation are flaky</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-262">ARROW-262</a> - [Format] Add a new format document for metadata and logical types for messaging and IPC / on-wire/file representations</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-264">ARROW-264</a> - Create an Arrow File format</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-267">ARROW-267</a> - [C++] C++ implementation of file-like layout for RPC / IPC</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-270">ARROW-270</a> - [Format] Define more generic Interval logical type</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-271">ARROW-271</a> - Update Field structure to be more explicit</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-272">ARROW-272</a> - Arrow release 0.1</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-279">ARROW-279</a> - rename vector module to arrow-vector for consistency</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-28">ARROW-28</a> - C++: Add google/benchmark to the 3rd-party build toolchain</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-280">ARROW-280</a> - [C++] Consolidate file and shared memory IO interfaces</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-285">ARROW-285</a> - Allow for custom flatc compiler</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-286">ARROW-286</a> - Build thirdparty dependencies in parallel</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-289">ARROW-289</a> - Install test-util.h</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-290">ARROW-290</a> - Specialize alloc() in ArrowBuf</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-292">ARROW-292</a> - [Java] Upgrade Netty to 4.041</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-293">ARROW-293</a> - [C++] Implementations of IO interfaces for operating system files</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-296">ARROW-296</a> - [C++] Remove arrow_parquet C++ module and related parts of build system</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-298">ARROW-298</a> - create release scripts</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-299">ARROW-299</a> - Use absolute namespace in macros</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-3">ARROW-3</a> - Post Initial Arrow Format Spec</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-30">ARROW-30</a> - Python: pandas/NumPy to/from Arrow conversion routines</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-301">ARROW-301</a> - [Format] Add some form of user field metadata to IPC schemas</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-302">ARROW-302</a> - [Python] Add support to use the Arrow file format with file-like objects</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-305">ARROW-305</a> - Add compression and use_dictionary options to Parquet interface</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-306">ARROW-306</a> - Add option to pass cmake arguments via environment variable</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-31">ARROW-31</a> - Python: basic PyList &lt;-&gt; Arrow marshaling code</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-315">ARROW-315</a> - Finalize timestamp type</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-318">ARROW-318</a> - [Python] Revise README to reflect current state of project</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-319">ARROW-319</a> - Add canonical Arrow Schema json representation</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-324">ARROW-324</a> - Update arrow metadata diagram</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-325">ARROW-325</a> - make TestArrowFile not dependent on timezone</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-35">ARROW-35</a> - Add a short call-to-action / how-to-get-involved to the main README.md</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-37">ARROW-37</a> - C++: Represent boolean array data in bit-packed form</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-4">ARROW-4</a> - Initial Arrow CPP Implementation</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-42">ARROW-42</a> - Python: Add to Travis CI build</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-43">ARROW-43</a> - Python: Add rudimentary console <strong>repr</strong> for array types</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-44">ARROW-44</a> - Python: Implement basic object model for scalar values (i.e. results of arrow_arr[i])</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-48">ARROW-48</a> - Python: Add Schema object wrapper</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-49">ARROW-49</a> - Python: Add Column and Table wrapper interface</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-50">ARROW-50</a> - C++: Enable library builds for 3rd-party users without having to build thirdparty googletest</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-53">ARROW-53</a> - Python: Fix RPATH and add source installation instructions</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-54">ARROW-54</a> - Python: rename package to “pyarrow”</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-56">ARROW-56</a> - Format: Specify LSB bit ordering in bit arrays</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-57">ARROW-57</a> - Format: Draft data headers IDL for data interchange</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-58">ARROW-58</a> - Format: Draft type metadata (“schemas”) IDL</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-59">ARROW-59</a> - Python: Boolean data support for builtin data structures</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-60">ARROW-60</a> - C++: Struct type builder API</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-64">ARROW-64</a> - Add zsh support to C++ build scripts</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-66">ARROW-66</a> - Maybe some missing steps in installation guide</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-67">ARROW-67</a> - C++: Draft type metadata conversion to/from IPC representation</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-68">ARROW-68</a> - Update setup_build_env and third-party script to be more userfriendly</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-7">ARROW-7</a> - Add Python library build toolchain</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-70">ARROW-70</a> - C++: Add “lite” DCHECK macros used in parquet-cpp</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-71">ARROW-71</a> - C++: Add script to run clang-tidy on codebase</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-73">ARROW-73</a> - Support CMake 2.8</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-76">ARROW-76</a> - Revise format document to include null count, defer non-nullable arrays to the domain of metadata</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-78">ARROW-78</a> - C++: Add constructor for DecimalType</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-79">ARROW-79</a> - Python: Add benchmarks</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-8">ARROW-8</a> - Set up Travis CI</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-82">ARROW-82</a> - C++: Implement IPC exchange for List types</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-83">ARROW-83</a> - Add basic test infrastructure for DecimalType</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-85">ARROW-85</a> - C++: memcmp can be avoided in Equal when comparing with the same Buffer</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-86">ARROW-86</a> - Python: Implement zero-copy Arrow-to-Pandas conversion</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-87">ARROW-87</a> - Implement Decimal schema conversion for all ways supported in Parquet</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-89">ARROW-89</a> - Python: Add benchmarks for Arrow&lt;-&gt;Pandas conversion</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-9">ARROW-9</a> - Rename some unchanged “Drill” to “Arrow”</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-90">ARROW-90</a> - Apache Arrow cpp code does not support power architecture</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-91">ARROW-91</a> - C++: First draft of an adapter class for parquet-cpp’s ParquetFileReader that produces Arrow table/row batch objects</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-92">ARROW-92</a> - C++: Arrow to Parquet Schema conversion</li>
</ul>
<h2 id="bug-fixes">Bug Fixes</h2>
<ul>
<li><a href="https://issues.apache.org/jira/browse/ARROW-103">ARROW-103</a> - Missing patterns from .gitignore</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-104">ARROW-104</a> - Update Layout.md based on discussion on the mailing list</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-105">ARROW-105</a> - Unit tests fail if assertions are disabled</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-113">ARROW-113</a> - TestValueVector test fails if cannot allocate 2GB of memory</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-16">ARROW-16</a> - Building cpp issues on XCode 7.2.1</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-17">ARROW-17</a> - Set some vector fields to default access level for Drill compatibility</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-18">ARROW-18</a> - Fix bug with decimal precision and scale</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-185">ARROW-185</a> - [C++] Make sure alignment and memory padding conform to spec</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-188">ARROW-188</a> - Python: Add numpy as install requirement</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-193">ARROW-193</a> - For the instruction, typos “int his” should be “in this”</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-194">ARROW-194</a> - C++: Allow read-only memory mapped source</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-200">ARROW-200</a> - [Python] Convert Values String looks like it has incorrect error handling</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-209">ARROW-209</a> - [C++] Broken builds: llvm.org apt repos are unavailable</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-210">ARROW-210</a> - [C++] Tidy up the type system a little bit</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-211">ARROW-211</a> - Several typos/errors in Layout.md examples</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-217">ARROW-217</a> - Fix Travis w.r.t conda 4.1.0 changes</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-219">ARROW-219</a> - [C++] Passed CMAKE_CXX_FLAGS are being dropped, fix compiler warnings</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-223">ARROW-223</a> - Do not link against libpython</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-225">ARROW-225</a> - [C++/Python] master Travis CI build is broken</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-244">ARROW-244</a> - [C++] Some global APIs of IPC module should be visible to the outside</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-246">ARROW-246</a> - [Java] UnionVector doesn’t call allocateNew() when creating it’s vectorType</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-247">ARROW-247</a> - [C++] Missing explicit destructor in RowBatchReader causes an incomplete type error</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-250">ARROW-250</a> - Fix for ARROW-246 may cause memory leaks</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-259">ARROW-259</a> - Use flatbuffer fields in java implementation</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-265">ARROW-265</a> - Negative decimal values have wrong padding</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-266">ARROW-266</a> - [C++] Fix the broken build</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-274">ARROW-274</a> - Make the MapVector nullable</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-278">ARROW-278</a> - [Format] Struct type name consistency in implementations and metadata</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-283">ARROW-283</a> - [C++] Update arrow_parquet to account for API changes in PARQUET-573</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-284">ARROW-284</a> - [C++] Triage builds by disabling Arrow-Parquet module</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-287">ARROW-287</a> - [java] Make nullable vectors use a BitVecor instead of UInt1Vector for bits</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-297">ARROW-297</a> - Fix Arrow pom for release</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-304">ARROW-304</a> - NullableMapReaderImpl.isSet() always returns true</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-308">ARROW-308</a> - UnionListWriter.setPosition() should not call startList()</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-309">ARROW-309</a> - Types.getMinorTypeForArrowType() does not work for Union type</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-313">ARROW-313</a> - XCode 8.0 breaks builds</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-314">ARROW-314</a> - JSONScalar is unnecessary and unused.</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-320">ARROW-320</a> - ComplexCopier.copy(FieldReader, FieldWriter) should not start a list if reader is not set</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-321">ARROW-321</a> - Fix Arrow licences</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-36">ARROW-36</a> - Remove fixVersions from patch tool (until we have them)</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-46">ARROW-46</a> - Port DRILL-4410 to Arrow</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-5">ARROW-5</a> - Error when run maven install</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-51">ARROW-51</a> - Move ValueVector test from Drill project</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-55">ARROW-55</a> - Python: fix legacy Python (2.7) tests and add to Travis CI</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-62">ARROW-62</a> - Format: Are the nulls bits 0 or 1 for null values?</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-63">ARROW-63</a> - C++: ctest fails if Python 3 is the active Python interpreter</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-65">ARROW-65</a> - Python: FindPythonLibsNew does not work in a virtualenv</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-69">ARROW-69</a> - Change permissions for assignable users</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-72">ARROW-72</a> - FindParquet searches for non-existent header</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-75">ARROW-75</a> - C++: Fix handling of empty strings</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-77">ARROW-77</a> - C++: conform null bit interpretation to match ARROW-62</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-80">ARROW-80</a> - Segmentation fault on len(Array) for empty arrays</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-88">ARROW-88</a> - C++: Refactor given PARQUET-572</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-93">ARROW-93</a> - XCode 7.3 breaks builds</li>
<li><a href="https://issues.apache.org/jira/browse/ARROW-94">ARROW-94</a> - Expand list example to clarify null vs empty list</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>