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) {