From 3dac91f5067f8c174901122485a72ad3b354407e Mon Sep 17 00:00:00 2001
From: ump45nose <52391318+ump45nose@users.noreply.github.com>
Date: Thu, 22 Oct 2026 07:09:50 +0800
Subject: [PATCH 1/3] chore: Include a README in the NuGet packages
---
Directory.Build.props | 2 ++
src/README.md | 61 +++++++++++++++++++++++++++++++++++++++++++
2 files changed, 63 insertions(+)
create mode 100644 src/README.md
diff --git a/Directory.Build.props b/Directory.Build.props
index d2b10b9..9fe27cb 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -44,6 +44,7 @@
The Apache Software Foundation
logo_asf.png
Apache-2.0
+ README.md
https://arrow.apache.org/dotnet/
apache arrow
git
@@ -55,6 +56,7 @@
+
diff --git a/src/README.md b/src/README.md
new file mode 100644
index 0000000..fb7f184
--- /dev/null
+++ b/src/README.md
@@ -0,0 +1,61 @@
+
+
+# Apache Arrow .NET
+
+[Apache Arrow](https://arrow.apache.org/) is a universal columnar format and
+multi-language toolbox for fast data interchange and in-memory analytics.
+This package is part of the .NET implementation of Apache Arrow.
+
+## Packages
+
+- `Apache.Arrow`: the core library (arrays, schemas, record batches and the
+ Arrow IPC stream and file formats).
+- `Apache.Arrow.Compression`: LZ4 frame and Zstandard codecs for compressed
+ Arrow IPC data.
+- `Apache.Arrow.Flight`: Arrow Flight client and server.
+- `Apache.Arrow.Flight.AspNetCore`: ASP.NET Core integration for Arrow Flight servers.
+- `Apache.Arrow.Flight.Sql`: Arrow Flight SQL client and server.
+- `Apache.Arrow.Operations`: codecs for the Variant binary format, including a
+ JSON reader and writer.
+- `Apache.Arrow.Scalars`: scalar types, including readers, writers and an object
+ model for the Parquet Variant binary format.
+
+## Usage
+
+```csharp
+using System.IO;
+using System.Threading.Tasks;
+using Apache.Arrow;
+using Apache.Arrow.Ipc;
+
+public static async Task ReadArrowAsync(string filename)
+{
+ using (var stream = File.OpenRead(filename))
+ using (var reader = new ArrowFileReader(stream))
+ {
+ return await reader.ReadNextRecordBatchAsync();
+ }
+}
+```
+
+## Links
+
+- Documentation: https://arrow.apache.org/dotnet/
+- Source code and issue tracker: https://github.com/apache/arrow-dotnet
From 27ade26f53b7aec0eb642257d2ae4a3ad92395a7 Mon Sep 17 00:00:00 2001
From: ump45nose <52391318+ump45nose@users.noreply.github.com>
Date: Thu, 22 Oct 2026 21:14:50 +0800
Subject: [PATCH 2/3] Describe the README example and read all record batches
---
src/README.md | 13 +++++++++++--
1 file changed, 11 insertions(+), 2 deletions(-)
diff --git a/src/README.md b/src/README.md
index fb7f184..90c6526 100644
--- a/src/README.md
+++ b/src/README.md
@@ -39,19 +39,28 @@ This package is part of the .NET implementation of Apache Arrow.
## Usage
+Example of reading all record batches from an Arrow IPC file:
+
```csharp
+using System.Collections.Generic;
using System.IO;
using System.Threading.Tasks;
using Apache.Arrow;
using Apache.Arrow.Ipc;
-public static async Task ReadArrowAsync(string filename)
+public static async Task> ReadArrowFileAsync(string filename)
{
+ var batches = new List();
using (var stream = File.OpenRead(filename))
using (var reader = new ArrowFileReader(stream))
{
- return await reader.ReadNextRecordBatchAsync();
+ RecordBatch batch;
+ while ((batch = await reader.ReadNextRecordBatchAsync()) != null)
+ {
+ batches.Add(batch);
+ }
}
+ return batches;
}
```
From 0deb18b5f4ae13430ef893037e80102e4166f6af Mon Sep 17 00:00:00 2001
From: ump45nose <52391318+ump45nose@users.noreply.github.com>
Date: Fri, 23 Oct 2026 09:57:11 +0800
Subject: [PATCH 3/3] fix: Ignore non-directory entries during RC package
verification
The package README caused the Bash verification jobs on Linux, macOS,
and Windows to request a nonexistent README.md NuGet package. Iterate
only source directories and preserve package names containing spaces.
Validated with bash -n, whitespace checks, and eight isolated enumeration
assertions covering baseline packages, README files, spaces, and no
package directories. Full .NET and RC validation was not run locally.
AI-assisted change.
---
dev/release/verify_rc.sh | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/dev/release/verify_rc.sh b/dev/release/verify_rc.sh
index e2c2294..8d0a9a7 100755
--- a/dev/release/verify_rc.sh
+++ b/dev/release/verify_rc.sh
@@ -172,7 +172,10 @@ test_binary_distribution() {
fi
pushd nuget
- for package in $(cd ../src && echo *); do
+ for package in ../src/*/; do
+ [ -d "${package}" ] || continue
+ package="${package%/}"
+ package="${package##*/}"
for package_type in nupkg snupkg; do
fetch_artifact "${package}.${VERSION}.${package_type}"
done