v2.12.0 #5004
Pinned
vicentebolea
announced in
Announcements
v2.12.0
#5004
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
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(), andadios2_attribute_string_data_array().Selection API for Get() Operations
A new
Selectionclass bundles spatial, block, and step parameters into asingle object passed to
Get(), replacing scatteredSetSelection()/SetBlockSelection()/SetStepSelection()calls onVariable.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 fromPluginOperatorInterface, and shared libraries only need to linkadios2::cxx.Update
EngineCreate()/EngineDestroy()signatures; seeexamples/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, andS3Bucketas 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 forPython 3.12 and later.
Asymmetric Encryption Operator
A new
Encryptionoperator encrypts variable data using libsodium's sealed-boxconstruction (X25519 + XSalsa20-Poly1305). Writers only need the recipient's
public key; only the private key holder can decrypt.
SZ3 Compression Operator
A new
SZ3lossy compression operator is available, extending the existingoptions alongside SZ, ZFP, MGARD, and BigWhoop.
RefactorProDM Operator
A new
RefactorProDMoperator integrates ADIOS2 with ProDM (Dr. Xin Liang'sdecomposition 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 beenadded 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_ReverseCMake option has been removed; cross-endianfile 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
DataTransporthas been renamed toDataFileTransport.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 orglobal 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
sdistand wheel integration tests on Windows and macOS,verifying correct library loading under
pip installworkflows.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
backport:releaselabel or PR description instruction by @Copilot in Automate backport via Copilot agent onbackport:releaselabel or PR description instruction #4909New Contributors
Full Changelog: v2.11.0...v2.12.0
This discussion was created from the release v2.12.0.
Beta Was this translation helpful? Give feedback.
All reactions