Apache Arrow 19.0.0 (2025年1月16日)
这是一个涵盖超过 2 个月开发的重大版本。
下载
贡献者
此版本包含来自 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 serde 中的字符串内联 (#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] 添加 recheck 工作流以检查 GHA 上的反向依赖关系 (#43784)
- GH-43570 - [CI][开发][文档] 将对“docker-compose”的引用更新为“docker compose” (#43575)
- GH-43598 - [C++][Parquet] Parquet 元数据打印器支持打印排序列 (#43599)
- GH-43631 - [C++] 添加异步 C 数据接口的 C++ 实现 (#44495)
- GH-43631 - [C][格式] 添加 ArrowAsyncDeviceStreamHandler 接口 (#43632)
- GH-43683 - [Python] 支持 pandas 未来默认字符串 dtype
- 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 数据接口 (#44241)
- GH-44066 - [Python] 为 JsonExtensionType 添加 Python 包装器 (#44070)
- GH-44084 - [C++] 改进分块排序中的合并步骤 (#44217)
- GH-44101 - [C++][Parquet] 工具:Json 的调试打印应该是有效的 JSON (#44532)
- GH-44223 - [开发] 使用“Gandiva”代替“C++ - Gandiva”标签 (#44722)
- GH-44308 - [C++][FS][Azure] 实现 SAS 令牌身份验证 (#45021)
- GH-44364 - [C++] 不要导出模板类 (#44365)
- GH-44392 - [GLib] 添加 GArrowDecimal32DataType (#44580)
- GH-44404 - [CI] 停止为 Dependabot 运行 CI“push”作业 (#44405)
- GH-44416 - [C++][文档] 更新 README.md 中 C++ 开发的 URL (#44427)
- GH-44444 - [Java][CI] 添加 Flight do_exchange 集成测试的 Java 实现 (#44445)
- GH-44464 - [C++] 为 arrow::Result::status() 添加了右值引用限定重载,返回 value 而不是引用 (#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++][计算] 允许将结构体转换为更大的可空结构体 (#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++] 使用数组类型计算最小值/最大值统计 Arrow 类型 (#45094)
- GH-44581 - [C++] 次要:ArrayData 构造函数可以直接分配 null_count (#44582)
- GH-44588 - [GLib] 添加 GArrowDecimal64 类 (#44591)
- GH-44589 - [GLib] 添加 GArrowDecimal32 类 (#44597)
- GH-44590 - [C++] 将 `const` 和 `&` 添加到 `arrow::Array::statistics()` 返回类型 (#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 向量防止 ub (#44794)
- GH-44700 - [C++][Parquet] 从旧 thrift 中删除过时的 parquet_constants 生成文件 (#44772)
- GH-44703 - [CI][MATLAB][打包] 更新 MATLAB CI 和 `crossbow` 打包工作流以针对 MATLAB `R2024b` 构建 (#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][开发] 将 ShellCheck lint 应用于 ci/scripts/c_glib_test.sh (#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++] 支持在范围元组转换中使用固定大小的列表 (#45008)
- GH-45015 - [C++][Parquet] 允许配置默认页脚读取大小 (#45016)
- GH-45047 - [CI][Python][打包] 在 Ubuntu 24.04 上测试 3.12 wheel 包 (#45042)
- GH-45050 - [CI][开发] 将 ShellCheck lint 应用于 c_glib/test/run-test.sh (#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++] 将 cstdint 补丁应用于捆绑的 Thrift 以支持 GCC 15 (#45097)
- GH-45135 - [C++] 删除 swiss join 中无用的“哈希表就绪”状态 (#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] 在字符串视图类型转换为 pandas 时遵循 strings_to_categorical 关键字 (#45176)
- GH-45178 - [CI] 删除与 clcache 相关的代码 (#45182)
- GH-45198 - [CI][集成] 遵循 apache/arrow-java 中的构建脚本名称更改
错误修复
- GH-15233 - [C++] 当目标是具有 background_writes 的文件系统时修复 CopyFiles (#44897)
- GH-39914 - [pyarrow] 重新排序 to_pandas 扩展 dtype 映射 (#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] 拒绝写入包含空值的不可为空列 (#44921)
- GH-43124 - [C++] 在 grouper.cc 中分配内存后将偏移向量头初始化为 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++] 在托管运行器上使用 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][Swfit] 使用 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++] 将供应商日期更新为 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] 不要在测试中检查无效的十进制精度消息 (#44484)
- GH-44526 - [C++][Acero] 修复 asof_join 中线程未运行时崩溃的问题 (#44584)
- GH-44541 - [C++] NumericArray
不应直接使用父级的构造函数 (#44542) - GH-44563 - [C++]
FunctionOptions::{Serialize,Deserialize}()
在没有ARROW_IPC
的情况下返回错误 (#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] 修复 SplitAndTransfer 为空 MapVector 抛出异常的问题 (#44627)
- GH-44651 - [Python] 允许 from_buffers 在 Python 上使用 StringView (#44701)
- GH-44657 - [CI][开发] 为 crossbow 评论机器人添加写入权限 (#44658)
- GH-44668 - [文档] 修复 pyarrow 中 ColumnChunkMetaData 偏移量文档 (#44670)
- GH-44677 - [C++][Acero] 增强分区排序示例 (#44678)
- GH-44679 - [C++][Python] 修复 Flight 时间戳精度,还原 #43537 中的解决方法 (#44681)
- GH-44695 - [C++] 添加 S3 选项以忽略 SIGPIPE 信号 (#44735)
- GH-44706 - [发布][Archery][打包] 添加“so_version”变量 (#44707)
- GH-44711 - [文档][Python] 将缺少的规范扩展类型添加到 PyArrow 数组和数据类型文档中 (#44880)
- GH-44714 - [C++] 通过 C 数据接口导入映射类型时保留键和值的字段元数据 (#44715)
- GH-44716 - [开发][集成] 将 numpy 添加到 archery 集成依赖项中 (#44717)
- GH-44726 - [CI] 更新 substrait 消费者调用以使用更新的生产者和消费者参数 (#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] 修复在大端系统上读取/写入元数据长度页脚的问题 (#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] 在验证和 java-jars macOS 作业上完全卸载 pkg-config (#44845)
- GH-44846 - [C++] 修复 ConcurrentQueue::UnsyncFront 中的线程不安全访问 (#44849)
- GH-44855 - [Python][打包] 使用 delvewheel 修复 Windows wheel 包 (#35323)
- GH-44885 - [开发][发布] 更新 utils-prepare.sh 中的测试条件 (#44862)
- GH-44898 - [C++] 修复 GCC 8 上的编译错误 (#44899)
- GH-44911 - [C#] 为 ArrowStreamWriterTests 动态选择端口号 (#44912)
- GH-44918 - [Ruby] 修复构建器中忽略空列表的错误 (#44933)
- GH-44954 - [C++][CI] 静默 protobuf 生成的弃用警告 (#44955)
- GH-44968 - [CI][开发] 删除不存在的
getJiraInfo
引用 (#44972) - GH-44974 - [开发] 修复小问题处理 (#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++] 文档中的包含路径错误 (#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 包含目录,并更新 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 中的空指针解引用读取错误 (#45152)
- GH-45157 - [CI][打包] 删除 dev/tasks/macros.jinja 中对 gemfury 版本的显式固定 (#45158)
- GH-45183 - [C++][发布] 将 llvm-dev 添加回 setup-ubuntu.sh (#45184)
- GH-45212 - [C++][Parquet] test-conda-cpp-valgrind 在 arrow-dataset-file-parquet-encryption-test 上失败