chore: Update versions post 0.6.0 (#659)
Update the versions for the 0.6.0 release (and fixes some CI issues
related to updated GitHub runners and an outdated pre-commit config).
diff --git a/.github/workflows/build-and-test.yaml b/.github/workflows/build-and-test.yaml
index d0c0494..db2f6ab 100644
--- a/.github/workflows/build-and-test.yaml
+++ b/.github/workflows/build-and-test.yaml
@@ -128,6 +128,9 @@
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
+ - uses: actions/setup-python@v5
+ with:
+ python-version: '3.x'
- name: Install system dependencies
run: |
diff --git a/.github/workflows/dev.yaml b/.github/workflows/dev.yaml
index 730fad0..914acab 100644
--- a/.github/workflows/dev.yaml
+++ b/.github/workflows/dev.yaml
@@ -38,6 +38,8 @@
fetch-depth: 0
persist-credentials: false
- uses: actions/setup-python@v5
+ with:
+ python-version: '3.x'
- name: pre-commit (cache)
uses: actions/cache@v4
with:
diff --git a/.github/workflows/examples.yaml b/.github/workflows/examples.yaml
index 7650bd5..c90e15a 100644
--- a/.github/workflows/examples.yaml
+++ b/.github/workflows/examples.yaml
@@ -43,6 +43,9 @@
uses: actions/checkout@v4
with:
fetch-depth: 0
+ - uses: actions/setup-python@v5
+ with:
+ python-version: '3.x'
- name: Install dependencies
run: |
diff --git a/.github/workflows/python.yaml b/.github/workflows/python.yaml
index 2dd7490..1bb8da3 100644
--- a/.github/workflows/python.yaml
+++ b/.github/workflows/python.yaml
@@ -82,6 +82,8 @@
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
+ with:
+ python-version: '3.x'
- name: Install packaging tools
run: |
pip install --upgrade pip
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index c328042..09b35fa 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -47,7 +47,7 @@
- id: black
types_or: [pyi, python]
- repo: https://github.com/PyCQA/flake8
- rev: 4.0.1
+ rev: 7.1.1
hooks:
- id: flake8
types_or: [python]
diff --git a/CHANGELOG.md b/CHANGELOG.md
index e35af51..787c3b0 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -240,3 +240,100 @@
- **docs**: Shuffle organization of sections to multiple pages (#460)
- **python**: Reorganize strategies for building arrays (#444)
- **r**: remove unnecessary package name call (#381)
+
+## nanoarrow 0.6.0
+
+### Docs
+
+- **python**: Add example of python package with nanoarrow C extension (#645)
+
+### Feat
+
+- Add ArrowArrayView accessors to inspect buffer properties (#638)
+- String/Binary View Support (#596)
+- add Footer decoding (#598)
+- Revendor flatcc (#592)
+- Add IPC integration test executable (#585)
+- Add `ArrowArrayViewCompare()` to check for array equality (#578)
+- Add IPC stream writing (#571)
+- add ipc RecordBatch encoding (#555)
+- add ArrowIpcOutputStream (#570)
+- Add IPC schema encoding (#568)
+- Add IPC writer scaffolding (#564)
+- Add ArrowArrayViewComputeNullCount (#562)
+- Add Meson support in nanoarrow_device (#484)
+- Meson build system for nanoarrow-ipc extension (#483)
+- Add support for run-end encoded array (#507)
+- Add float16 support for `ArrowArrayViewGet{Double,Int,UInt}Unsafe()` (#501)
+- Add support for appending values to half float `ArrowArray` (#499)
+- **extensions/nanoarrow_device**: Implement asynchronous buffer copying (#509)
+- **python**: Add StringView and BinaryView IO to Python bindings (#637)
+- **python**: Implement array from buffer for non-CPU arrays (#550)
+- **python**: Implement bindings to IPC writer (#586)
+- **python**: Implement CUDA build in Python bindings (#547)
+- **r**: Add float16 support for R bindings (#650)
+- **r**: Implement string view support in R bindings (#636)
+- **r**: Allow opt-out of warning for unregistered extension types (#632)
+- **r**: Add bindings to IPC writer (#608)
+
+### Fix
+
+- Remove unreachable code (#649)
+- Properly ingest Binary View types without variadic buffers (#635)
+- python schema repr does not truncate output (#628)
+- Accommodate IPC messages without continuation bytes (#629)
+- Ignore empty (but present) union validity bitmaps from before 1.0 (#630)
+- Only validate relevant type_ids for array view slice (#627)
+- Improve validation of offset buffers for sliced arrays (#626)
+- Ensure CMake linking against built/installed nanoarrow works for all components (#614)
+- Ensure footer test passes on big endian (#609)
+- ensure 1 is written for boolean True (#601)
+- Ensure that schema metadata is always present even if empty (#591)
+- Include missing cases in `ArrowArrayInitFromType()` (#588)
+- Silence warning when compiling nanoarrow.hpp on at least one version of MSVC (#590)
+- don't require metadata order in nanoarrow_ipc_integration (#589)
+- IPC streams did not include RecordBatch headers (#582)
+- Fix Meson build for separated nanoarrow_testing target (#574)
+- Ensure `children` is NULL for zero children in ArrayViewAllocateChildren (#556)
+- CMake deprecation warnings from subprojects (#535)
+- Meson install header files and pkgconfig (#542)
+- Fix symbol export visibility in c_data_integration_test (#531)
+- Fix Meson include directories (#532)
+- Ensure we don't call cuMemAlloc with 0 bytesize (#534)
+- Ensure ArrowDeviceArray implementation for AppleMetal passes tests on newer MacOS (#527)
+- Check for offset + length > int64_max before using the value to calculate buffer sizes (#524)
+- check `run_ends_view->length` before accessing its values (#518)
+- Force static library build on Windows when building with Meson (#496)
+- **ci**: Fix verify, meson-build, and docker-build weekly runs (#581)
+- **ci**: Fix build and test of nanoarrow on centos7 and s390x (#576)
+- **ci**: Pin r-lib actions as a workaround for latest action updates (#572)
+- **ci**: Fix verification workflow (#552)
+- **ci**: Stop building unbuildable image based on centos7 (#553)
+- **python**: Fix detection of cuda library on hosted runner (#554)
+- **r**: Avoid flatcc aligned_alloc() call when compiling R package (#494)
+
+### Refactor
+
+- Consolidate per-target actions in CMakeLists.txt (#573)
+- Separate implementation from interface for nanoarrow_testing component (#561)
+- Separate components into folders under src/nanoarrow (#536)
+- Use ArrowStringView C++ literal in tests (#528)
+- Move Meson build targets to top level directory (#530)
+- Simplify Meson test generation (#525)
+- Remove CMake requirement from Meson IPC config (#522)
+- Use inttypes.h macros instead of casts to print fixed-width integers (#520)
+- Consolidate device extension into main project (#517)
+- Consolidate IPC extension into main project (#511)
+- **extensions/nanoarrow_device**: Migrate CUDA device implementation to use the driver API (#488)
+- **python**: Split ArrowArray and ArrowArrayStream modules (#559)
+- **python**: Separate schema cython classes into their own module (#558)
+- **python**: Split buffer Cython internals into a separate module (#549)
+- **python**: Split device functionality into its own module (#548)
+- **python**: Split type identifier utilities into their own module (#545)
+- **python**: Extract utility functions into _utils.pyx (#529)
+- **r**: Use JSON in experimental R vctrs extension type (#533)
+
+### Test
+
+- Fix meson build and clean up some warnings (#595)
+- test with the `HalfFloatType` from arrow (#503)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 5941438..0441983 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -18,7 +18,7 @@
message(STATUS "Building using CMake version: ${CMAKE_VERSION}")
cmake_minimum_required(VERSION 3.14)
-set(NANOARROW_VERSION "0.6.0-SNAPSHOT")
+set(NANOARROW_VERSION "0.7.0-SNAPSHOT")
string(REGEX MATCH "^[0-9]+\\.[0-9]+\\.[0-9]+" NANOARROW_BASE_VERSION
"${NANOARROW_VERSION}")
project(nanoarrow VERSION "${NANOARROW_BASE_VERSION}")
diff --git a/meson.build b/meson.build
index eec773f..ba68167 100644
--- a/meson.build
+++ b/meson.build
@@ -18,7 +18,7 @@
project(
'nanoarrow',
'c', 'cpp',
- version: '0.6.0-SNAPSHOT',
+ version: '0.7.0-SNAPSHOT',
license: 'Apache 2.0',
meson_version: '>=1.3.0',
default_options: [
diff --git a/python/src/nanoarrow/_static_version.py b/python/src/nanoarrow/_static_version.py
index aa7006c..0d71545 100644
--- a/python/src/nanoarrow/_static_version.py
+++ b/python/src/nanoarrow/_static_version.py
@@ -18,7 +18,7 @@
# This file is part of 'miniver': https://github.com/jbweston/miniver
# Replaced by version-bumping scripts at release time
-version = "0.6.0.dev0"
+version = "0.7.0.dev0"
# These values are only set if the distribution was created with 'git archive'
refnames = "$Format:%D$"
diff --git a/r/DESCRIPTION b/r/DESCRIPTION
index addb138..45bea7f 100644
--- a/r/DESCRIPTION
+++ b/r/DESCRIPTION
@@ -1,6 +1,6 @@
Package: nanoarrow
Title: Interface to the 'nanoarrow' 'C' Library
-Version: 0.5.0.9000
+Version: 0.6.0.9000
Authors@R: c(
person(given = "Dewey",
family = "Dunnington",
diff --git a/src/nanoarrow/device/device.c b/src/nanoarrow/device/device.c
index 8178b95..a7aea2a 100644
--- a/src/nanoarrow/device/device.c
+++ b/src/nanoarrow/device/device.c
@@ -626,9 +626,7 @@
#endif
#if !defined(NANOARROW_DEVICE_WITH_METAL)
-struct ArrowDevice* ArrowDeviceMetalDefaultDevice(void) {
- return NULL;
-}
+struct ArrowDevice* ArrowDeviceMetalDefaultDevice(void) { return NULL; }
ArrowErrorCode ArrowDeviceMetalInitDefaultDevice(struct ArrowDevice* device,
struct ArrowError* error) {