Skip to content

adios2 2.12.0#277946

Closed
BrewTestBot wants to merge 1 commit into
mainfrom
bump-adios2-2.12.0
Closed

adios2 2.12.0#277946
BrewTestBot wants to merge 1 commit into
mainfrom
bump-adios2-2.12.0

Conversation

@BrewTestBot

Copy link
Copy Markdown
Contributor

Created by brew bump


Created with brew bump-formula-pr.

Details

release notes
# Release notes

C API Improvements

New two-call pattern functions for safely retrieving string data of unknown
length: adios2_get_string(), adios2_attribute_string_data(), and
adios2_attribute_string_data_array().

Selection API for Get() Operations

A new Selection class bundles spatial, block, and step parameters into a
single object passed to Get(), replacing scattered SetSelection() /
SetBlockSelection() / SetStepSelection() calls on Variable.

engine.Get(var, data, adios2::Selection::BoundingBox({0,0},{10,20}).WithSteps(0,5));

Plugin Interface v2 (Breaking Change)

Engine and operator plugins no longer inherit from internal core types.
Engine plugins inherit from PluginEngineInterface, operator plugins from
PluginOperatorInterface, and shared libraries only need to link adios2::cxx.
Update EngineCreate() / EngineDestroy() signatures; see examples/plugins/.

C++17 Minimum Requirement

The minimum C++ standard to build ADIOS2 has been raised from C++14 to C++17.

S3 Object Storage for BP5 Data

BP5 can now write data files to S3-compatible object storage (Amazon S3, MinIO,
Ceph, etc.) with metadata kept on the local filesystem. Set
DataFileTransport=awssdk, S3Endpoint, and S3Bucket as engine parameters.

Python Bindings: Nanobind Migration

The Python bindings have been migrated from pybind11 to nanobind, producing
smaller, faster extension modules and enabling stable-ABI (abi3) wheels for
Python 3.12 and later.

Asymmetric Encryption Operator

A new Encryption operator encrypts variable data using libsodium's sealed-box
construction (X25519 + XSalsa20-Poly1305). Writers only need the recipient's
public key; only the private key holder can decrypt.

SZ3 Compression Operator

A new SZ3 lossy compression operator is available, extending the existing
options alongside SZ, ZFP, MGARD, and BigWhoop.

RefactorProDM Operator

A new RefactorProDM operator integrates ADIOS2 with ProDM (Dr. Xin Liang's
decomposition library), providing decomposition-based data reduction when ProDM
is available at build time.

Python Free-Threading Support

The Python bindings are now compatible with free-threaded Python (PEP 703,
python3.13t), allowing ADIOS2 to run without the GIL.

HTTPS Transport for Remote Access

An HTTPS-based remote transport (XrootdHttpsRemote) using libcurl has been
added as an alternative to the native XRootD protocol for environments where
native XRootD connectivity is unavailable.

XRootD Server Resource Management

The XRootD server plugin now evicts idle file descriptors and metadata when
configurable limits are approached, shares a single FD across engines reading
the same tar file, and batches variable reads into a single network round-trip.

Cross-Endian Interoperability

The ADIOS2_USE_Endian_Reverse CMake option has been removed; cross-endian
file interoperability is now always enabled.

Campaign Reader Improvements

Host aliases, XRootD host entries, and in-memory metadata caching were added.
The reader now requires ACA 0.7 strictly. A rewritten SQLite join query reduces
open time from ~27 seconds to under one second for large archives.

TAR File Reading

BP5 datasets, text files, and images can now be read from TAR archives (local,
HTTPS-hosted, or via the remote server) when a TAR index is provided.

BP5 DataFileTransport Parameter Rename

The BP5 engine parameter DataTransport has been renamed to DataFileTransport.
Existing configurations must be updated.

BP5 Concurrent File Access

BP5 data reading now uses per-subpool locking over a shared file-descriptor
pool, enabling safe concurrent reads from multiple threads.

Python Stream: minmax()

adios2.Stream.minmax(name, [step], [block_info_list]) returns per-step or
global min/max values of a variable.

Inline Engine Buffering

The inline engine now supports basic output buffering, moving toward feature
parity with file-based engines for in-situ workflows.

Windows and macOS pip Wheel Support

CI now runs pip sdist and wheel integration tests on Windows and macOS,
verifying correct library loading under pip install workflows.

REUSE License Compliance

ADIOS2 now complies with the REUSE specification; every source file carries a
machine-readable SPDX license and copyright notice.

What's Changed

New Contributors

Full Changelog: ornladios/ADIOS2@v2.11.0...v2.12.0

View the full release notes at https://github.com/ornladios/ADIOS2/releases/tag/v2.12.0.


@github-actions github-actions Bot added python Python use is a significant feature of the PR or issue bump-formula-pr PR was created using `brew bump-formula-pr` labels Apr 16, 2026
@chenrui333

Copy link
Copy Markdown
Member
  -- ADIOS2 ThirdParty: Configuring perfstubs
  CMake Error at thirdparty/perfstubs/CMakeLists.txt:22 (find_package):
    By not providing "Findperfstubs.cmake" in CMAKE_MODULE_PATH this project
    has asked CMake to find a package configuration file provided by
    "perfstubs", but CMake did not find one.
  
    Could not find a package configuration file provided by "perfstubs" with
    any of the following names:
  
      perfstubs.cps
      perfstubsConfig.cmake
      perfstubs-config.cmake
  
    Add the installation prefix of "perfstubs" to CMAKE_PREFIX_PATH or set
    "perfstubs_DIR" to a directory containing one of the above files.  If
    "perfstubs" provides a separate development package or SDK, be sure it has
    been installed.

@chenrui333 chenrui333 added the build failure CI fails while building the software label Apr 16, 2026
adios2: remove build patch

Signed-off-by: Rui Chen <rui@chenrui.dev>
@daeho-ro daeho-ro force-pushed the bump-adios2-2.12.0 branch from 66f6149 to 953e87f Compare April 17, 2026 02:44
Comment thread Formula/a/adios2.rb
depends_on "libpng"
depends_on "libsodium"
depends_on "mpi4py"
depends_on "nanobind"

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nanobind is usually a replacement for pybind11 so will want to check if pybind11 is still used and if actually runtime or build-only

@github-actions

Copy link
Copy Markdown
Contributor

This pull request has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. To keep this pull request open, add a help wanted or in progress label.

@github-actions github-actions Bot added the stale No recent activity label Apr 20, 2026
@github-actions github-actions Bot closed this Apr 21, 2026
@github-actions github-actions Bot deleted the bump-adios2-2.12.0 branch April 21, 2026 00:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

build failure CI fails while building the software bump-formula-pr PR was created using `brew bump-formula-pr` python Python use is a significant feature of the PR or issue stale No recent activity

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants