Apache Arrow 19.0.0(2025 年 1 月 16 日)
这是一个主要版本,涵盖了两个多月的开发工作。
下载
贡献者
此版本包含来自 67 位不同贡献者的 330 个提交。
$ git shortlog -sn apache-arrow-18.1.0..apache-arrow-19.0.0
65 Sutou Kouhei
60 dependabot[bot]
29 Raúl Cumplido
23 Bryce Mecum
20 Antoine Pitrou
16 Hiroyuki Sato
8 mwish
7 David Li
7 Gang Wu
6 Matt Topol
6 Rossi Sun
5 Joris Van den Bossche
4 Adam Reeve
4 Alex Kesling
3 Thomas Newton
3 mroz45
2 Alessandro Molina
2 Dewey Dunnington
2 Dongjoon Hyun
2 Elliott Sales de Andrade
2 Enrico Minack
2 Ian Cook
2 Kevin Gurney
2 Laurent Goujon
2 Maksim Yegorov
2 Neal Richardson
2 Sarah Gilmore
2 Tim Grein
2 Tyler White
1 0xderek
1 Agriya Khetarpal
1 Anja Kefala
1 Benedikt Reinartz
1 Benjamin Kietzman
1 Brad Smith
1 Curt Hagenlocher
1 Emmanuel Ferdman
1 Felipe Oliveira Carvalho
1 Francis
1 Gabriel P Stone
1 GeorgKreuzmayr
1 George Vanburgh
1 Hang Zheng
1 Igor Anferov
1 Jacob Wujciak-Jens
1 Jeges Attila
1 Jonas Benn
1 Jonathan Keane
1 Kevin Wilson
1 Maarten Pronk
1 Michael Lui
1 Michael Sebbah
1 Mohammad Linjawi
1 Nic Crane
1 Nis Meinert
1 Rok Mihevc
1 Roman
1 Sylvain Joubert
1 Takaaki Koike
1 Timo
1 Tom Jakubowski
1 ViggoC
1 bretttully
1 c8ef
1 eitsupi
1 flashzxi
1 h-vetinari
补丁提交者
以下 Apache 提交者将贡献的补丁合并到仓库中。
$ git shortlog -sn --group=trailer:signed-off-by apache-arrow-18.1.0..apache-arrow-19.0.0
142 Sutou Kouhei
31 Antoine Pitrou
29 David Li
24 Raúl Cumplido
23 Curt Hagenlocher
14 Jacob Wujciak-Jens
11 mwish
9 Bryce Mecum
7 Rossi Sun
4 Gang Wu
4 Matt Topol
3 Felipe Oliveira Carvalho
3 Jonathan Keane
2 Joris Van den Bossche
2 Sarah Gilmore
1 Dewey Dunnington
1 Kevin Gurney
1 Ruoxi Sun
1 Weston Pace
更新日志
新特性和改进
- GH-23995 - [C#] 使 PrimitiveArrayBuilder 构造函数公开 (#44596)
- GH-27919 - [CI][C++] 添加一个夜间作业以测试离线构建 (#44721)
- GH-32206 - [C++] GcsFileSystem::Make 应返回 Result (#44503)
- GH-35589 - [Ruby] 添加对 JRuby 的支持 (#44346)
- GH-36954 - [Python] 添加更多 FlightInfo / FlightEndpoint 属性 (#43537)
- GH-38837 - [格式] 添加统计信息模式规范 (#45058)
- GH-39212 - [发布] 在 OpenSSL 错误时重试下载二进制子进程 (#39213)
- GH-40592 - [C++][Parquet] 实现 SizeStatistics (#40594)
- GH-40713 - [文档] 精简 ADBC 页面 (#44313)
- GH-41141 - [C++] 减少 Substrait 序列化/反序列化中的字符串内联 (#45174)
- GH-41706 - [C++][Acero] 增强 asof_join 以通过输入排序在多线程执行中工作 (#44083)
- GH-43080 - [CI][开发] 启用 shellcheck (#44724)
- GH-43410 - [Python] 在 write_dataset 中支持 Arrow PyCapsule 流对象 (#43771)
- GH-43535 - [C++] 支持 AWS S3 SSE-C 加密 (#43601)
- GH-43547 - [R][CI] 添加在 GHA 上检查反向依赖的 recheck 工作流程 (#43784)
- GH-43570 - [CI][开发][文档] 更新 "docker-compose" 为 "docker compose" 的引用 (#43575)
- GH-43598 - [C++][Parquet] Parquet Metadata Printer 支持打印排序列 (#43599)
- GH-43631 - [C++] 添加 Async C Data Interface 的 C++ 实现 (#44495)
- GH-43631 - [C][格式] 添加 ArrowAsyncDeviceStreamHandler 接口 (#43632)
- GH-43683 - [Python] 支持 pandas 未来的默认字符串数据类型
- GH-43693 - [C++][Acero] 支持 AVX2 swiss join 解码 (#43832)
- GH-43808 - [C++] 对于旧 glibc,跳过 StrptimeZoneOffset 中的
-0117
(#44621) - GH-43951 - [CI][Python] 使用 GitHub Packages 作为 vcpkg 缓存 (#44644)
- GH-44010 - [C++] 添加
arrow::RecordBatch::MakeStatisticsArray()
(#44252) - GH-44018 - [R] 将 R-universe 上的构建视为
NOT_CRAN=true
(#44476) - GH-44065 - [Java] 实现 RunEndEncodedVector 的 C Data Interface (#44241)
- GH-44066 - [Python] 添加 JsonExtensionType 的 Python 包装器 (#44070)
- GH-44084 - [C++] 改进分块排序中的合并步骤 (#44217)
- GH-44101 - [C++][Parquet] 工具: Json 的 Debug Print 应该是有效的 JSON (#44532)
- GH-44223 - [开发] 使用 “Gandiva” 而不是 “C++ - Gandiva” 标签 (#44722)
- GH-44308 - [C++][FS][Azure] 实现 SAS token 认证 (#45021)
- GH-44364 - [C++] 不导出模板类 (#44365)
- GH-44392 - [GLib] 添加 GArrowDecimal32DataType (#44580)
- GH-44404 - [CI] 停止运行 Dependabot 的 CI "push" 作业 (#44405)
- GH-44416 - [C++][文档] 更新 README.md 中 C++ Development 的 URL (#44427)
- GH-44444 - [Java][CI] 添加 Flight do_exchange 集成测试的 Java 实现 (#44445)
- GH-44464 - [C++] 为 arrow::Result::status() 添加 rvalue-reference 限定的重载,返回值而非引用 (#44477)
- GH-44474 - [网站][文档] 在更多地方改进项目描述 (#44522)
- GH-44474 - [网站] 改进项目描述 (#44492)
- GH-44480 - [发布][打包] 为
docker run
显式使用--platform
(#44481) - GH-44491 - [C++] StatusConstant - 可廉价复制的 const Status (#44493)
- GH-44518 - [R] 更新 18.0.0 的 NEWS (#44520)
- GH-44528 - [开发] 引入新功能:特定语言的重新格式化 (#44529)
- GH-44555 - [C++][Compute] 允许将结构体转换为更大的可空结构体 (#44587)
- GH-44556 - [发布][MSYS2] 也更新 python-pyarrow (#44557)
- GH-44558 - [发布][网站] 删除不必要的 “Apache Arrow ${VERSION}” 部分 (#44559)
- GH-44569 - [GLib] 添加 GArrowDecimal64DataType (#44571)
- GH-44575 - [C#] 将 LINQ 表达式替换为 for 循环 (#44576)
- GH-44578 - [发布][打包] 验证 wheel 版本 (#44593)
- GH-44579 - [C++] 使用数组类型计算 min/max 统计信息的 Arrow 类型 (#45094)
- GH-44581 - [C++] 小改进: ArrayData 构造函数可以直接赋值 null_count (#44582)
- GH-44588 - [GLib] 添加 GArrowDecimal64 类 (#44591)
- GH-44589 - [GLib] 添加 GArrowDecimal32 类 (#44597)
- GH-44590 - [C++] 为
arrow::Array::statistics()
返回类型添加const
和&
(#44592) - GH-44603 - [GLib] 添加 GArrowDecimal64Array 和 GArrowDecimal64ArrayBuilder (#44605)
- GH-44604 - [GLib] 添加 Decimal32Array (#44617)
- GH-44614 - [Python][C++] 为 libarrow_python* 库添加版本后缀 (#44702)
- GH-44618 - [GLib] 添加 GArrowDecimal64Scalar (#44620)
- GH-44619 - [GLib] 添加 GArrowDecimal32Scalar (#44628)
- GH-44648 - [CI] 从 commentbot 中移除 autotune 和 rebase (#44649)
- GH-44656 - [GLib] 添加 GArrowBinaryViewDataType (#44659)
- GH-44667 - [Archery] 抑制拉取/推送进度日志 (#44669)
- GH-44686 - [GLib] 添加 GArrowStringViewDataType (#44687)
- GH-44690 - [C++] NumericBuilder::AppendValues append vector 防止未定义行为 (#44794)
- GH-44700 - [C++][Parquet] 移除旧 thrift 生成的过时 parquet_constants 文件 (#44772)
- GH-44703 - [CI][MATLAB][打包] 更新 MATLAB CI 和
crossbow
打包工作流程以针对 MATLABR2024b
构建 (#44704) - GH-44705 - [MATLAB][打包] 更新 crossbow MATLAB 工作流程以使用
macOS 13
而不是macOS 12
(#44858) - GH-44710 - [文档][C++] 将
arrow::ArrayStatistics
添加到 API 文档 (#44764) - GH-44713 - [Python] 添加对 Decimal32 和 Decimal64 类型的支持 (#44882)
- GH-44744 - [C++] 将 ORC 升级到 2.0.3 (#44745)
- GH-44749 - [CI][开发] 对 ci/scripts/c_glib_test.sh 应用 ShellCheck lint (#44750)
- GH-44770 - [Java] 更新 protobuf 小版本以避免 CVE-2024-7254 (#44775)
- GH-44784 - [C++][Parquet] 添加
parquet::arrow::OpenFile()
的arrow::Result
版本 (#44785) - GH-44788 - [C++] 修复几个可能的未初始化警告 (#44789)
- GH-44795 - [C++] 在 arrow::util::bitmap_builders_utilities 上使用 arrow::util::span 而不是 std::vector (#44796)
- GH-44805 - [开发] 添加
.editorconfig
文件 (#44870) - GH-44808 - [C++][Parquet] 添加
parquet::arrow::FileReader::GetRecordBatchReader()
的arrow::Result
版本 (#44809) - GH-44811 - [C++] 小幅优化取消和线程池 (#44812)
- GH-44815 - [C++][Parquet] 添加一个示例,将读取的统计信息作为
arrow::ArrayStatistics
倾倒 (#44816) - GH-44828 - [Java][发布] 从发布脚本中移除 Java (#44854)
- GH-44829 - [Java][CI] 移除除集成测试外的 Java 相关测试 CI (#44946)
- GH-44830 - [Java][CI] 禁用 Java Dependabot (#44832)
- GH-44831 - [CI] 从 arrow-java 构建 Java 用于集成测试 (#44932)
- GH-44843 - [CI][文档] 从此仓库中移除 Java 文档的构建 (#45000)
- GH-44878 - [Archery] 仅在 CI 上运行时抑制 Docker 进度日志 (#44865)
- GH-44903 - [C++] 添加 Expm1(exponent) 标量算术函数 (#44904)
- GH-44915 - [C++] 添加 WithinUlp 测试函数 (#44906)
- GH-44922 - [MATLAB] 添加 IPC
RecordBatchStreamFileWriter
MATLAB 类 (#44925) - GH-44923 - [MATLAB] 添加 IPC
RecordBatchStreamReader
MATLAB 类 (#45068) - GH-44934 - [开发] 移除 JIRA 残留 (#44936)
- GH-44948 - [开发][Archery] 从 Archery 中移除 JIRA 残留 (#45091)
- GH-44952 - [C++][Python] 添加双曲三角函数 (#44630)
- GH-44962 - [Python] 清理 pandas 兼容性中的 name / field_name 处理 (#44963)
- GH-44976 - [C++] 默认启用 mimalloc,默认禁用 jemalloc 等 (#44951)
- GH-44982 - [C++] 添加构建系统 OpenTelemetry 的支持 (#44983)
- GH-44994 - [C++][CMake] 仅对 Linux 使用 librt (#44984)
- GH-45005 - [C++] 在 range tuple 转换中支持固定大小列表 (#45008)
- GH-45015 - [C++][Parquet] 允许配置默认的 footer 读取大小 (#45016)
- GH-45047 - [CI][Python][打包] 在 Ubuntu 24.04 上测试 3.12 wheels (#45042)
- GH-45050 - [CI][开发] 对 c_glib/test/run-test.sh 应用 ShellCheck lint (#45052)
- GH-45075 - [C++] 移除 result_internal.h (#45066)
- GH-45076 - [CI][打包][Python] 简化 dev/tasks/python-wheels/github.linux.yml (#45077)
- GH-45079 - [FlightRPC][C++] 在移除 UCX 之前弃用 InitializeFlightUcx (#45080)
- GH-45092 - [C++][Parquet] 为 FileReader 添加 GetReadRanges 函数 (#45093)
- GH-45096 - [C++] 对捆绑的 Thrift 应用 cstdint 补丁以支持 GCC 15 (#45097)
- GH-45135 - [C++] 移除 swiss join 中无用的 “hash table ready” 状态 (#45136)
- GH-45137 - [CI][C++] 添加一个 GCC 15 作业 (#45138)
- GH-45140 - [开发][发布] 查看发布管理指南和发布脚本
- GH-45142 - [C++] 确保使用
cpp/cmake_modules/*.cmake
(#45143) - GH-45164 - [CI][集成] 从 Java 构建脚本中移除 “java_” 前缀 (#45165)
- GH-45166 - [CI][C++] 将 Alpine Linux 从 3.16 升级到 3.18 (#45168)
- GH-45175 - [Python] 在 to_pandas 中为 string view 类型遵守 strings_to_categorical 关键字 (#45176)
- GH-45178 - [CI] 移除 clcache 相关代码 (#45182)
- GH-45198 - [CI][集成] 遵循 apache/arrow-java 中的构建脚本名称变更
Bug 修复
- GH-15233 - [C++] 修复当目标是带有 background_writes 的 FileSystem 时 CopyFiles 的问题 (#44897)
- GH-39914 - [pyarrow] 重新排序 to_pandas 扩展数据类型映射 (#44720)
- GH-40633 - [C++][Python] 修复当文件包含未知时区时 ORC 崩溃的问题 (#45051)
- GH-41326 - [Python] 将 month_day_nano_interal 转换为 numpy 崩溃
- GH-41536 - [C++] 替换在 C++23 中已弃用的 std::aligned_storage (#45019)
- GH-41667 - [C++][Parquet] 拒绝写入包含 null 的非可空列 (#44921)
- GH-43124 - [C++] 在 grouper.cc 中分配内存后将 offset vector 的头初始化为 0 (#43123)
- GH-43949 - [C++] io::BufferedInput: 修复 SetBufferSize 后状态无效的问题 (#44387)
- GH-43994 - [C++][Parquet] 修复从两级编码嵌套列表进行模式转换的问题 (#43995)
- GH-44344 - [Java] 修复 NullVector 的 VectorSchemaRoot.getTransferPair 问题 (#44631)
- GH-44368 - [C++] 即使使用 “clang-cl”,也使用 “lib” 生成捆绑依赖项 (#44391)
- GH-44372 - [C++] 修复 clang-18 的非对齐加载/存储实现 (#44468)
- GH-44384 - [C++] 在 macOS 上使用 CMAKE_LIBTOOL (#44385)
- GH-44396 - [CI][C++] 在 hosted runner 上使用 setup-python (#44411)
- GH-44412 - [CI][R] 对 Arrow C++ 15.0.2 deb 包使用 Ubuntu 22.04 而非 24.04 (#44413)
- GH-44428 - [CI][C#] 使用 setup-python 来使用 “pip install” (#44429)
- GH-44430 - [CI][Swift] 使用 setup-python 来使用 “pip install” (#44431)
- GH-44432 - [Swift] 使用 flatbuffers v24.3.7 (#44433)
- GH-44441 - [发布] 在
02-source.sh
中添加缺失的--repo apache/arrow
(#44442) - GH-44455 - [C++] 将 vendored date 更新到 3.0.3 (#44482)
- GH-44465 - [GLib][C++] Meson 搜索特定版本的库 (#44475)
- GH-44478 - [GLib] 阻止 Arrow::ExtensionType.new (#44498)
- GH-44479 - [CI][Archery] 添加缺失的 Flight 集成目标 (#44691)
- GH-44483 - [GLib] 在测试中不检查无效的 decimal precision 消息 (#44484)
- GH-44526 - [C++][Acero] 修复 asof_join 中的线程未运行时崩溃的问题 (#44584)
- GH-44541 - [C++] NumericArray
不应直接使用父类的构造函数 (#44542) - GH-44563 - [C++] 在没有
ARROW_IPC
的情况下,FunctionOptions::{Serialize,Deserialize}()
返回错误 (#45171) - GH-44564 - [Java][FlightSQL] 修复本地库重定位问题 (#44565)
- GH-44570 - [发布][R][文档] 更新
r/pkgdown/assets/versions.html
(#44572) - GH-44574 - [发布] 确保使用发布标签构建二进制文件 (#44577)
- GH-44585 - [JS][发布] 在 npm-release.sh 中跳过 bin 目录 (#44861)
- GH-44601 - [GLib] 修复错误的 GARROW_AVAILABLE_IN 声明 (#44602)
- GH-44624 - [CI][JS] 增加 “AMD64 macOS 13 NodeJS 18” 的超时时间 (#44625)
- GH-44626 - [Java] 修复空 MapVector 的 SplitAndTransfer 抛出异常问题 (#44627)
- GH-44651 - [Python] 允许 from_buffers 在 Python 上与 StringView 一起工作 (#44701)
- GH-44657 - [CI][开发] 为 crossbow 评论机器人添加写权限 (#44658)
- GH-44668 - [文档] 修复 pyarrow 中 ColumnChunkMetaData offset 的文档 (#44670)
- GH-44677 - [C++][Acero] 增强分区排序示例 (#44678)
- GH-44679 - [C++][Python] 修复 Flight Timestamp 精度问题,还原 #43537 中的 workaround (#44681)
- GH-44695 - [C++] 添加 S3 选项以忽略 SIGPIPE 信号 (#44735)
- GH-44706 - [发布][Archery][打包] 添加 “so_version” 变量 (#44707)
- GH-44711 - [文档][Python] 在 PyArrow arrays 和 datatypes 文档中添加缺失的规范扩展类型 (#44880)
- GH-44714 - [C++] 通过 C data interface 导入 map 类型时保留 key 和 value 的字段元数据 (#44715)
- GH-44716 - [开发][集成] 将 numpy 添加到 archery 集成依赖项 (#44717)
- GH-44726 - [CI] 更新 substrait consumer 调用以使用更新的 producer 和 consumer 参数 (#44727)
- GH-44728 - [Python] 在检查 dlpack 测试的已分配字节之前触发手动垃圾回收 (#44793)
- GH-44734 - [C++][CI] 修复禁用线程时 arrow-c-bridge-test 超时问题 (#44737)
- GH-44742 - [Ruby] 修复无法构建空结构体列表值的问题 (#44763)
- GH-44754 - [C++] 使用小写的
windows.h
以支持跨平台构建 (#44755) - GH-44767 - [C++] 修复在大端机器上 Float16.To{Little,Big}Endian 的问题 (#44768)
- GH-44769 - [C++][Parquet] 修复大端系统上 metadata length footer 的读写问题 (#44787)
- GH-44773 - [开发][文档] 移除过时的 Read the docs 配置 (#44774)
- GH-44797 - [CI] 在 Homebrew 上将 pkg-config 更新为 pkgconf (#44798)
- GH-44802 - [C++][CI] 在示例教程中迁移到基于
arrow::Result
的parquet::arrow::OpenFile() API
(#44807) - GH-44820 - [CI] 在 macOS 作业中完全卸载 pkg-config (#44821)
- GH-44844 - [CI] 在 verification 和 java-jars macOS 作业中完全卸载 pkg-config (#44845)
- GH-44846 - [C++] 修复 ConcurrentQueue::UnsyncFront 中的线程不安全访问问题 (#44849)
- GH-44855 - [Python][打包] 使用 delvewheel 修复 Windows wheels (#35323)
- GH-44885 - [开发][发布] 更新 utils-prepare.sh 中的测试条件 (#44862)
- GH-44898 - [C++] 修复 GCC 8 上的编译错误 (#44899)
- GH-44911 - [C#] 为 ArrowStreamWriterTests 动态选择端口号 (#44912)
- GH-44918 - [Ruby] 修复 builder 中空列表被忽略的问题 (#44933)
- GH-44954 - [C++][CI] 忽略 protobuf 生成的弃用警告 (#44955)
- GH-44968 - [CI][开发] 移除不存在的
getJiraInfo
引用 (#44972) - GH-44974 - [开发] 修复 minor issue 处理问题 (#44975)
- GH-44980 - [CI] 在 Spark 集成中移除从 Java 获取 Arrow 版本,并更新 PySpark 的测试结构 (#44981)
- GH-44985 - [C++] 对 ORC 和 Thrift 使用推荐的下载 URL (#44977)
- GH-44991 - [CI][Python] 修复并现代化 AppVeyor 构建 (#44999)
- GH-45003 - [Python][文档] 更新 Field 和 Schema 类中元数据方法的文档字符串 (#45004)
- GH-45006 - [CI][Python] 修复 test_memory 失败 (#45007)
- GH-45027 - [C++] 文档中的 include 路径错误 (#45031)
- GH-45034 - [C++] 在不需要时,从 Arrow Acero 和 Arrow Dataset 中移除对 Parquet 的依赖 (#45035)
- GH-45039 - [CI][打包][Python] 修复 free-threaded wheel 构建的 Docker 推送步骤 (#45040)
- GH-45041 - [打包][Python] 在 Linux 和 macOS 上使用 vcpkg 中的 ORC,而不是捆绑的 ORC (#45046)
- GH-45053 - [C++] 添加对 Boost 1.87.0 的支持 (#45057)
- GH-45059 - [C++][CI] 修复 test-build-cpp-fuzz 失败 (#45060)
- GH-45069 - [R][CI] 修复 r-binary-packages crossbow 作业 (#45070)
- GH-45071 - [打包][文档] 修复 Emscripten 的 NumPy v2 include 目录,并更新 Pyodide 相关文档 (#45072)
- GH-45073 - [C++][Parquet] 修复加密测试数据的重复级别生成问题 (#45074)
- GH-45099 - [C++] 避免在 status.h 中使用静态 const 变量 (#45100)
- GH-45118 - [打包] 对 APT 仓库使用 armored keyring (#45131)
- GH-45119 - [Ruby] 对 Arrow::Column#size 后端使用 #size (#45133)
- GH-45151 - [C++][Parquet] 修复 parquet::arrow::ListToSchemaField 中的 Null 解引用读取问题 (#45152)
- GH-45157 - [CI][打包] 移除 dev/tasks/macros.jinja 中 gemfury 版本的显式固定 (#45158)
- GH-45183 - [C++][发布] 将 llvm-dev 添加回 setup-ubuntu.sh (#45184)
- GH-45212 - [C++][Parquet] arrow-dataset-file-parquet-encryption-test 在 test-conda-cpp-valgrind 中失败