This is an automated email from the ASF dual-hosted git repository.

paleolimbot pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/arrow-site.git


The following commit(s) were added to refs/heads/main by this push:
     new 36e23d219f2 Release post for nanoarrow 0.7.0 (#661)
36e23d219f2 is described below

commit 36e23d219f25b2bb19e04ec4b54c5e83941a657f
Author: Dewey Dunnington <[email protected]>
AuthorDate: Sun Jul 13 14:27:17 2025 -0500

    Release post for nanoarrow 0.7.0 (#661)
    
    Work in progress!
---
 _posts/2025-07-02-nanoarrow-0.7.0-release.md | 150 +++++++++++++++++++++++++++
 1 file changed, 150 insertions(+)

diff --git a/_posts/2025-07-02-nanoarrow-0.7.0-release.md 
b/_posts/2025-07-02-nanoarrow-0.7.0-release.md
new file mode 100644
index 00000000000..b2435efea3a
--- /dev/null
+++ b/_posts/2025-07-02-nanoarrow-0.7.0-release.md
@@ -0,0 +1,150 @@
+---
+layout: post
+title: "Apache Arrow nanoarrow 0.7.0 Release"
+date: "2025-07-02 00:00:00"
+author: pmc
+categories: [release]
+---
+<!--
+{% comment %}
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to you under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License.  You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+{% endcomment %}
+-->
+
+The Apache Arrow team is pleased to announce the 0.7.0 release of
+Apache Arrow nanoarrow. This release covers 117 resolved issues from
+12 contributors.
+
+## Release Highlights
+
+- Migrate Python bindings to Meson Python
+- Better support for shared linkage
+- ZSTD Decompression support in IPC reader
+- Decimal32, Decimal64, ListView and LargeListView support
+- Support for vcpkg
+
+See the
+[Changelog](https://github.com/apache/arrow-nanoarrow/blob/apache-arrow-nanoarrow-0.7.0-rc1/CHANGELOG.md)
+for a detailed list of contributions to this release.
+
+## Features
+
+### Meson Python
+
+The Python bindings now use [Meson 
Python](https://mesonbuild.com/meson-python/) as
+the build backend. The main benefit is that adding C or C++ library 
dependencies
+like ZSTD is much simpler than with setuptools which was needed to add the new
+decompression support to the Python bindings.
+
+Thanks to [@WillAyd](https://github.com/WillAyd) for this contribution and 
continued
+maintenance of the Python build infrastructure!
+
+### Shared Linkage
+
+The nanoarrow C library is generally designed to be statically linked into an
+application or library; however, there were some applications that did want
+shared linkage and on Windows some extra work was needed to ensure this worked
+as intended. Version 0.7.0 includes the appropriate DLL import/export 
attributes
+and adds dedicated `nanoarrow_shared` and `nanoarrow_static` targets to the 
CMake
+configuration to explicitly choose a strategy (linking to `nanoarrow` will 
continue
+to use the CMake default as it did in previous versions).
+
+Thanks to [@m-kuhn](https://github.com/m-kuhn) for authoring the initial vcpkg
+configuration that brought this to our attention!
+
+### ZSTD Decompression Support
+
+The Arrow IPC reader included in the nanoarrow C library supports most features
+of the Arrow IPC format; however, decompression support was missing which made
+the library and its bindings unusable for some common use cases. In 0.7.0,
+decompression support was added to the C library and R and Python bindings.
+
+``` r
+library(nanoarrow)
+
+url <- 
"https://github.com/geoarrow/geoarrow-data/releases/download/v0.2.0/ns-water_water-point.arrows";
+read_nanoarrow(url) |>
+  tibble::as_tibble()
+#> # A tibble: 44,690 × 8
+#>    OBJECTID FEAT_CODE ZVALUE PT_CLASS NAMEID_1 NAME_1 HID             
geometry$x
+#>       <dbl> <chr>      <dbl>    <int> <chr>    <chr>  <chr>                
<dbl>
+#>  1     1055 WARK60      -0.5        4 <NA>     <NA>   252C345D59374D…    
258976.
+#>  2     1023 WARK60       0.6        4 <NA>     <NA>   1DAB1D800FB84E…    
258341.
+#>  3     1021 WARK60       0.5        4 <NA>     <NA>   838438F1BBE745…    
258338.
+#>  4      985 WARK60       0          4 <NA>     <NA>   0A4BE2AB03D845…    
258527.
+#>  5      994 WARK60       1.9        4 <NA>     <NA>   6ACD71128B6B49…    
258499.
+#>  6      995 WARK60       1.4        4 <NA>     <NA>   B10B26FA32FB44…    
258502.
+#>  7      997 WARK60       1.1        4 <NA>     <NA>   28E47E22D71549…    
258498.
+#>  8      993 WARK60       1.9        4 <NA>     <NA>   FC9A29123BEF4A…    
258499.
+#>  9     1003 WARK60       0.7        4 <NA>     <NA>   3C7CA3CD0E8840…    
258528.
+#> 10     1001 WARK60       0.7        4 <NA>     <NA>   A6F508B066DC4A…    
258511.
+#> # ℹ 44,680 more rows
+#> # ℹ 2 more variables: geometry$y <dbl>, $z <dbl>
+```
+
+Users of the C library will need to configure CMake with 
`-DNANOARROW_IPC_WITH_ZSTD=ON`
+and `-DNANOARROW_IPC=ON` to use CMake-resolved ZSTD; however, client libraries
+can also use an existing ZSTD or LZ4 implementation using callbacks.
+
+### New Type Support
+
+While the nanoarrow C library is a minimal library, we do strive to support 
the full
+specification and several new types were not supported by the C library. 
Version 0.7.0
+includes support in the C library for Decimal32, Decimal64, ListView, and 
LargeListView
+and improved support for support for decimal types in the nanoarrow R bindings.
+
+Thanks to [@zeroshade](https://github.com/zeroshade) for contributing 
Decimal32/Decimal64
+support and [@WillAyd](https://github.com/WillAyd) for contributing
+
+### nanoarrow on vcpkg
+
+The nanoarrow C library can now be installed using
+[vcpkg](https://github.com/microsoft/vcpkg)!
+
+```shell
+git clone https://github.com/microsoft/vcpkg.git
+cd vcpkg && ./bootstrap-vcpkg.sh
+./vcpkg install nanoarrow
+```
+
+CMake projects can then use `find_package(nanoarrow)` when using the vcpkg
+toolchain (i.e., 
`-DCMAKE_TOOLCHAIN_FILE=path/to/vcpkg/scripts/buildsystems/vcpkg.cmake`).
+This also allows other vcpkg ports to use nanoarrow as a dependency in addition
+to a convenience for projects already using vcpkg.
+
+Thanks to [@m-kuhn](https://github.com/m-kuhn) for contributing the nanoarrow 
port to
+vcpkg!
+
+## Contributors
+
+This release consists of contributions from 12 contributors in addition
+to the invaluable advice and support of the Apache Arrow community.
+
+```console
+$ git shortlog -sn 
apache-arrow-nanoarrow-0.7.0.dev..apache-arrow-nanoarrow-0.7.0-rc1
+    53  Dewey Dunnington
+    27  William Ayd
+     3  Michael Chirico
+     2  Sutou Kouhei
+     1  Bryce Mecum
+     1  David Li
+     1  Gang Wu
+     1  Ilya Verbin
+     1  Jacob Wujciak-Jens
+     1  Matt Topol
+     1  Matthias Kuhn
+     1  eitsupi
+```

Reply via email to