Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
125 changes: 125 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -1369,3 +1369,128 @@
- fix intersphinx mapping for arrow-java reference (#3908)
- fix minor issues in profiles and manifests docs (#4007)
- set up Matomo for website analytics (#4176)

## ADBC Libraries 24 (2026-07-24)

### Versions

- C/C++/GLib/Go/Python/Ruby: 1.12.0
- C#: 0.24.0
- Java: 0.24.0
- R: 0.24.0
- Rust: 0.24.0

### Breaking Changes

- ⚠️ remove Go Snowflake driver and Rust, Python, R, deb/yum packages (#4282)
- ⚠️ remove go bigquery driver and Python, R packages (#4273)
- ⚠️ **c/driver/postgresql**: defer transaction start (#4424)
- ⚠️ **c/driver/postgresql**: remove Redshift support (#4365)
- ⚠️ **go**: remove go databricks driver (#4274)
- ⚠️ **java/core**: declare close to throw AdbcException (#4451)
- ⚠️ **ruby**: set LoadFlags::DEFAULT on Database.new and allow override in open (#4402)
- ⚠️ **rust**: remove DataFusion driver (#4455)

### New Features

- ⚠️ remove Go Snowflake driver and Rust, Python, R, deb/yum packages (#4282)
- ⚠️ remove go bigquery driver and Python, R packages (#4273)
- **c/driver**: bump vcpkg (and libpq/sqlite) version (#4566)
- **c/driver/postgresql**: add fixture-backed NUMERIC round-trip tests (#4536)
- ⚠️ **c/driver/postgresql**: defer transaction start (#4424)
- **c/driver/postgresql**: include xdbc_type_name in GetObjects (#4457)
- ⚠️ **c/driver/postgresql**: remove Redshift support (#4365)
- **c/driver/postgresql**: return JSON as arrow.json extension (#4415)
- **c/driver/sqlite**: add support for sqlite:// URI scheme (#4463)
- **csharp**: Add driver manager (#4075)
- **csharp**: make core ADBC and trace listeners AOT-compatible to support standalone C# drivers (#4243)
- **csharp/src/Apache.Arrow.Adbc/C**: bring driver exporter to parity with importer (#4318)
- **go**: clarify bind behavior (#4267)
- ⚠️ **go**: remove go databricks driver (#4274)
- **go/adbc**: align default trace path with ADBC config layout (#4527)
- **go/adbc/driver/flightsql**: add logging for Flight SQL (#4322)
- **go/adbc/driver/flightsql**: add support for flightsql:// uri format (#4488)
- **go/adbc/driver/flightsql**: implement tracing for core Flight SQL operations (#4486)
- **go/adbc/sqldriver**: support reflecting more types (#4416)
- **java/core**: add fluent ingest API (#4466)
- ⚠️ **java/core**: declare close to throw AdbcException (#4451)
- **java/driver/jni**: add fluent connection interface (#4452)
- **java/driver/jni**: allow loading shared library from external path (#4211)
- **java/driver/jni**: close child resources automatically (#4441)
- **java/driver/jni**: enable driver manifests/profiles (#4202)
- **java/driver/jni**: implement binding of streams (#4359)
- **java/driver/jni**: implement commit/rollback (#4212)
- **java/driver/jni**: implement executePartitioned (#4263)
- **java/driver/jni**: implement get/set catalog/schema (#4229)
- **java/driver/jni**: implement get/set option (#4203)
- **java/driver/jni**: implement getStatistics (#4361)
- **java/driver/jni**: implement incremental execution, Substrait (#4362)
- **java/driver/jni**: wire up cancel, getParameterSchema (#4249)
- **java/driver/jni**: wire up ingest into temporary/namespace (#4250)
- **javascript**: make driver optional when uri or profile is provided (#4537)
- **r/adbcdrivermanager**: allow driver specification using string names only (#4535)
- ⚠️ **ruby**: set LoadFlags::DEFAULT on Database.new and allow override in open (#4402)
- **rust**: make boolean conventions clearer (#4427)
- **rust/core**: add InfoCode::Other to handle arbitrary codes (#4510)
- **rust/core**: implement fallible conversions for `IngestMode` (#4350)

### Bugfixes

- **c/driver/postgresql**: encode Arrow JSON for JSONB COPY (#4505)
- **c/driver/postgresql**: encode integer values for numeric COPY targets (#4499)
- **c/driver/postgresql**: preserve zero integer groups when writing NUMERIC (#4523)
- **c/driver/postgresql**: use array_view->offset when writing list rows (#4320)
- **c/driver_manager**: preserve quoted-key text in profile redefinition errors (#4442)
- **c/validation**: make SqlPrepareUpdate readback order-independent (#4534)
- **ci/scripts**: correct csharp pack powershell script to set arguments correctly (#4304)
- **ci/scripts**: fix Set-Location syntax (#4307)
- **csharp**: Bump OpenTelemetry.Exporter.OpenTelemetryProtocol to 1.15.3 (#4291)
- **csharp**: address flaky driver manager tests (#4324)
- **csharp**: fix other flaky tests (#4326)
- **csharp**: improved TOML parsing (#4340)
- **csharp**: remove Foundry drivers from solution (#4323)
- **csharp**: support spec-correct driver manifests (#4341)
- **csharp**: use correct user and system driver directories (#4330)
- **csharp/src/Drivers**: Make AdbcCommandTimeoutProperty to optional (#4197)
- **dev/release**: add `CONDA_BUILD=1` when verifying with USE_CONDA=1 (#4180)
- **go/adbc/drivermgr**: adjust ingest helper to set target before BindStream (#4308)
- **go/adbc/pkg**: cgo handle pattern (#4287)
- **java/driver/flight-sql**: cache closes primary connection on cache invalidate (#4509)
- **java/driver/flight-sql**: include connectionOptions for preparedStatement.close() (#4513)
- **java/driver/jni**: check for pending exceptions more thoroughly (#4398)
- **java/driver/jni**: delete JNI local references (#4397)
- **java/driver/jni**: handle "modified UTF-8" encoding (#4423)
- **java/driver/jni**: harden JNI exception helpers (#4395)
- **java/driver/jni**: release ADBC resources on Java constructor failure (#4396)
- **java/driver/jni**: release AdbcError in RaiseAdbcException (#4391)
- **python/adbc_driver_manager**: prevent segfault in `_AdbcErrorHelper.check_error` (#4367)
- **ruby**: correct open_statement typo in Connection#ingest (#4418)
- **ruby**: declare Apache Arrow repository in red-adbc.gemspec (#4393)
- **rust/core**: Handle the ASCII characters from sqlstate instead of their decimal values (#4141)
- **rust/ffi**: fix release_ffi_error to properly null values (#4181)
- **rust/ffi**: preserve caller's AdbcError private_data on the 1.0.0 path (#4473)
- **rust/ffi**: set rows_affected to -1 on the query path of ExecuteQuery (#4469)

### Documentation Improvements

- Clearly indicate the support status in DuckDB (#4349)
- add favicon (#4342)
- demonstrate how to use (unofficial) JNI nightly builds (#4399)
- describe how to use sphinx-autobuild (#4383)
- document Flight SQL telemetry and logging (#4500)
- download and embed FontAwesome at build time (#4543)
- fix version switcher (#4378)
- improve docs for homebrew post-release task (#4186)
- link to drivers anchor on installation page (#4547)
- reorganize docs to highlight tools and drivers (#4525)
- update compatible versions for postgres driver (#4199)
- update copyright year dynamically in conf.py (#4546)
- update foundry urls (#4565)
- update js profile example (#4541)
- **javascript**: create basic scaffold for typedoc js docs (#4238)
- **javascript**: create docs for javascript implementation (#4232)
- **ruby**: update Ruby docs to show latest code and fix minor issues (#4552)

### Performance Improvements

- **c/driver/postgresql**: speed up decimal128 COPY encoding (#4498)
2 changes: 1 addition & 1 deletion c/cmake_modules/AdbcVersion.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
# ------------------------------------------------------------
# Version definitions

set(ADBC_VERSION "1.12.0-SNAPSHOT")
set(ADBC_VERSION "1.13.0-SNAPSHOT")
string(REGEX MATCH "^[0-9]+\\.[0-9]+\\.[0-9]+" ADBC_BASE_VERSION "${ADBC_VERSION}")
string(REPLACE "." ";" _adbc_version_list "${ADBC_BASE_VERSION}")
list(GET _adbc_version_list 0 ADBC_VERSION_MAJOR)
Expand Down
2 changes: 1 addition & 1 deletion c/meson.build
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ project(
'arrow-adbc',
'c',
'cpp',
version: '1.12.0-SNAPSHOT',
version: '1.13.0-SNAPSHOT',
license: 'Apache-2.0',
meson_version: '>=1.3.0',
default_options: [
Expand Down
2 changes: 1 addition & 1 deletion ci/conda/meta.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@

package:
name: arrow-adbc-split
version: 1.12.0
version: 1.13.0

source:
path: ../../
Expand Down
18 changes: 9 additions & 9 deletions ci/linux-packages/debian/control
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ Build-Depends:
Standards-Version: 4.5.0
Homepage: https://arrow.apache.org/adbc/

Package: libadbc-driver-manager112
Package: libadbc-driver-manager113
Section: libs
Architecture: any
Multi-Arch: same
Expand All @@ -52,12 +52,12 @@ Architecture: any
Multi-Arch: same
Depends:
${misc:Depends},
libadbc-driver-manager112 (= ${binary:Version})
libadbc-driver-manager113 (= ${binary:Version})
Description: Apache Arrow Database Connectivity (ADBC) driver manager
.
This package provides C++ header files.

Package: libadbc-driver-postgresql112
Package: libadbc-driver-postgresql113
Section: libs
Architecture: any
Multi-Arch: same
Expand All @@ -75,12 +75,12 @@ Architecture: any
Multi-Arch: same
Depends:
${misc:Depends},
libadbc-driver-postgresql112 (= ${binary:Version})
libadbc-driver-postgresql113 (= ${binary:Version})
Description: Apache Arrow Database Connectivity (ADBC) PostgreSQL driver
.
This package provides CMake package, pkg-config package and so on.

Package: libadbc-driver-sqlite112
Package: libadbc-driver-sqlite113
Section: libs
Architecture: any
Multi-Arch: same
Expand All @@ -98,12 +98,12 @@ Architecture: any
Multi-Arch: same
Depends:
${misc:Depends},
libadbc-driver-sqlite112 (= ${binary:Version})
libadbc-driver-sqlite113 (= ${binary:Version})
Description: Apache Arrow Database Connectivity (ADBC) SQLite driver
.
This package provides CMake package, pkg-config package and so on.

Package: libadbc-driver-flightsql112
Package: libadbc-driver-flightsql113
Section: libs
Architecture: any
Multi-Arch: same
Expand All @@ -121,7 +121,7 @@ Architecture: any
Multi-Arch: same
Depends:
${misc:Depends},
libadbc-driver-flightsql112 (= ${binary:Version})
libadbc-driver-flightsql113 (= ${binary:Version})
Description: Apache Arrow Database Connectivity (ADBC) Flight SQL driver
.
This package provides CMake package, pkg-config package and so on.
Expand All @@ -134,7 +134,7 @@ Pre-Depends: ${misc:Pre-Depends}
Depends:
${misc:Depends},
${shlibs:Depends},
libadbc-driver-manager112 (= ${binary:Version})
libadbc-driver-manager113 (= ${binary:Version})
Description: Apache Arrow Database Connectivity (ADBC) driver manager
.
This package provides GLib based library files.
Expand Down
2 changes: 1 addition & 1 deletion csharp/Directory.Build.props
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
<Product>Apache Arrow ADBC library</Product>
<Copyright>Copyright 2022-2025 The Apache Software Foundation</Copyright>
<Company>The Apache Software Foundation</Company>
<VersionPrefix>0.24.0</VersionPrefix>
<VersionPrefix>0.25.0</VersionPrefix>
<VersionSuffix>SNAPSHOT</VersionSuffix>
</PropertyGroup>

Expand Down
20 changes: 10 additions & 10 deletions dev/release/versions.env
Original file line number Diff line number Diff line change
Expand Up @@ -17,19 +17,19 @@

# The release as a whole has a counter-based identifier (as in, 12 is the
# 12th release of ADBC). This is used to identify tags, branches, and so on.
RELEASE="24"
PREVIOUS_RELEASE="23"
RELEASE="25"
PREVIOUS_RELEASE="24"

# Individual components will have a SemVer.
VERSION_CSHARP="0.24.0"
VERSION_JAVA="0.24.0"
VERSION_CSHARP="0.25.0"
VERSION_JAVA="0.25.0"
# Because C++/GLib/Go/Python/Ruby are effectively tied at the hip, they share
# a single version number. Also covers Conda/Linux packages.
VERSION_NATIVE="1.12.0"
VERSION_R="0.24.0"
VERSION_RUST="0.24.0"
VERSION_JS="0.24.0"
VERSION_NATIVE="1.13.0"
VERSION_R="0.25.0"
VERSION_RUST="0.25.0"
VERSION_JS="0.25.0"

# Required by the version bump script
PREVIOUS_VERSION_NATIVE="1.11.0"
PREVIOUS_VERSION_R="0.23.0"
PREVIOUS_VERSION_NATIVE="1.12.0"
PREVIOUS_VERSION_R="0.24.0"
4 changes: 2 additions & 2 deletions docs/source/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -33,13 +33,13 @@
either registered trademarks or trademarks of The Apache Software Foundation in the
United States and other countries."""
author = "the Apache Arrow Developers"
release = "24 (dev)"
release = "25 (dev)"
# Needed to generate version switcher
version = release
# Override Sphinx's default title to capitalize "Documentation"
html_title = f"{project} {release} Documentation"
# For linking to latest downloads
latest_release = "23"
latest_release = "24"

# -- General configuration ---------------------------------------------------
# https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration
Expand Down
2 changes: 1 addition & 1 deletion glib/meson.build
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ project(
'c',
default_options: ['c_std=c99', 'cpp_std=c++17'],
license: 'Apache-2.0',
version: '1.12.0-SNAPSHOT',
version: '1.13.0-SNAPSHOT',
)

version_numbers = meson.project_version().split('-')[0].split('.')
Expand Down
1 change: 1 addition & 0 deletions glib/tool/generate-version-header.py
Original file line number Diff line number Diff line change
Expand Up @@ -141,6 +141,7 @@ def generate_availability_macros(library: str) -> str:


ALL_VERSIONS = [
(1, 13),
(1, 12),
(1, 11),
(1, 10),
Expand Down
2 changes: 1 addition & 1 deletion java/core/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
<parent>
<groupId>org.apache.arrow.adbc</groupId>
<artifactId>arrow-adbc-java-root</artifactId>
<version>0.24.0-SNAPSHOT</version>
<version>0.25.0-SNAPSHOT</version>
</parent>

<artifactId>adbc-core</artifactId>
Expand Down
2 changes: 1 addition & 1 deletion java/driver-manager/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
<parent>
<groupId>org.apache.arrow.adbc</groupId>
<artifactId>arrow-adbc-java-root</artifactId>
<version>0.24.0-SNAPSHOT</version>
<version>0.25.0-SNAPSHOT</version>
</parent>

<artifactId>adbc-driver-manager</artifactId>
Expand Down
2 changes: 1 addition & 1 deletion java/driver/flight-sql-validation/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
<parent>
<groupId>org.apache.arrow.adbc</groupId>
<artifactId>arrow-adbc-java-root</artifactId>
<version>0.24.0-SNAPSHOT</version>
<version>0.25.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>

Expand Down
2 changes: 1 addition & 1 deletion java/driver/flight-sql/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
<parent>
<groupId>org.apache.arrow.adbc</groupId>
<artifactId>arrow-adbc-java-root</artifactId>
<version>0.24.0-SNAPSHOT</version>
<version>0.25.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>

Expand Down
2 changes: 1 addition & 1 deletion java/driver/jdbc-validation-derby/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
<parent>
<groupId>org.apache.arrow.adbc</groupId>
<artifactId>arrow-adbc-java-root</artifactId>
<version>0.24.0-SNAPSHOT</version>
<version>0.25.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>

Expand Down
2 changes: 1 addition & 1 deletion java/driver/jdbc-validation-mssqlserver/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
<parent>
<groupId>org.apache.arrow.adbc</groupId>
<artifactId>arrow-adbc-java-root</artifactId>
<version>0.24.0-SNAPSHOT</version>
<version>0.25.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>

Expand Down
2 changes: 1 addition & 1 deletion java/driver/jdbc-validation-postgresql/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
<parent>
<groupId>org.apache.arrow.adbc</groupId>
<artifactId>arrow-adbc-java-root</artifactId>
<version>0.24.0-SNAPSHOT</version>
<version>0.25.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>

Expand Down
2 changes: 1 addition & 1 deletion java/driver/jdbc/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
<parent>
<groupId>org.apache.arrow.adbc</groupId>
<artifactId>arrow-adbc-java-root</artifactId>
<version>0.24.0-SNAPSHOT</version>
<version>0.25.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>

Expand Down
2 changes: 1 addition & 1 deletion java/driver/jni-validation/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
<parent>
<groupId>org.apache.arrow.adbc</groupId>
<artifactId>arrow-adbc-java-root</artifactId>
<version>0.24.0-SNAPSHOT</version>
<version>0.25.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>

Expand Down
2 changes: 1 addition & 1 deletion java/driver/jni/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
<parent>
<groupId>org.apache.arrow.adbc</groupId>
<artifactId>arrow-adbc-java-root</artifactId>
<version>0.24.0-SNAPSHOT</version>
<version>0.25.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>

Expand Down
2 changes: 1 addition & 1 deletion java/driver/validation/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
<parent>
<groupId>org.apache.arrow.adbc</groupId>
<artifactId>arrow-adbc-java-root</artifactId>
<version>0.24.0-SNAPSHOT</version>
<version>0.25.0-SNAPSHOT</version>
<relativePath>../../pom.xml</relativePath>
</parent>

Expand Down
Loading
Loading