This is a major release with new features and lots of bug fixes. The main new feature is the new Python API.
Python
Before, ADIOS had two separate APIs for Python. The low-level ("Full") API was written with Pybind11 and directly mimicked the C++ API. The high-level API was another, smaller, and more pythonesque API that allowed for easier scripting with Python. The main problems with these two were that they were independent, and that the high-level API was not complete. Once a developer needed a feature only available in the full API, they had to start from scratch writing a script with the full API.
In 2.10, there is officially one Python API, written in Python, which in turn uses the old Pybind11 classes. The new API combines the high-level features of the old high-level API and the full feature set of the low-level bindings.
Note:
Old scripts that used the full API can still run without almost any modification, just change the import line from `import adios2` to `import adios2.bindings as adios2`
Old scripts that used the high-level API must be modified to make them work with the new API, see Transition from old API to new API: [Transition](https://adios2.readthedocs.io/en/v2.10.0/api_python/python_transition_from_high.html#transition-from-old-api-to-new-api) from old API to new API
See [Python](https://adios2.readthedocs.io/en/v2.10.0/api_python/api_python.html) API
New/updated notable features
- BP5 is supported on Windows now
- SST and DataMan staging engines are GPU-Aware now
- SYCL support added for Intel GPUs (besides CUDA and HIP for NVidia and AMD GPUs)
- the SST/libfabric data transport now works on Frontier (besides the MPI data transport)
New experimental features
- Campaign management: https://adios2.readthedocs.io/en/latest/advanced/campaign_management.html
What's Changed
* ci: migrate to almalinux, cuda base image by vicentebolea in https://github.com/ornladios/ADIOS2/pull/3484
* ci: update kokkos to 3.7 by vicentebolea in https://github.com/ornladios/ADIOS2/pull/3490
* codeowners: added code owners file by vicentebolea in https://github.com/ornladios/ADIOS2/pull/3496
* Hdf5 vol support will require latest hdf5 1.14 by guj in https://github.com/ornladios/ADIOS2/pull/3516
* Bump numpy from 1.21.6 to 1.22.0 in /docs by dependabot in https://github.com/ornladios/ADIOS2/pull/3535
* Bump cryptography from 38.0.2 to 39.0.1 in /docs by dependabot in https://github.com/ornladios/ADIOS2/pull/3534
* Release 29 by dmitry-ganyushin in https://github.com/ornladios/ADIOS2/pull/3545
* Enable Linux Emulation build (Power8, IBM XL) by vicentebolea in https://github.com/ornladios/ADIOS2/pull/3537
* Setting code owners for the GPU files by anagainaru in https://github.com/ornladios/ADIOS2/pull/3561
* Release 29 by vicentebolea in https://github.com/ornladios/ADIOS2/pull/3573
* Allowing Put/Get to receive Kokkos Views with HIP backend by anagainaru in https://github.com/ornladios/ADIOS2/pull/3571
* Prototype DAOS engine by eisenhauer in https://github.com/ornladios/ADIOS2/pull/3576
* CODEOWNERS: update codeowner file by vicentebolea in https://github.com/ornladios/ADIOS2/pull/3581
* shellcheck: add shellcheck ci check by vicentebolea in https://github.com/ornladios/ADIOS2/pull/3582
* Build scripts for ADIOS2 with CUDA and Kokkos backend by anagainaru in https://github.com/ornladios/ADIOS2/pull/3579
* Disable emu tests by vicentebolea in https://github.com/ornladios/ADIOS2/pull/3583
* cmake: set correct soname by vicentebolea in https://github.com/ornladios/ADIOS2/pull/3585
* TestBPChangingShapeWithinStep without and with various compressors by pnorbert in https://github.com/ornladios/ADIOS2/pull/3577
* add release files by vicentebolea in https://github.com/ornladios/ADIOS2/pull/3570
* Heat Transfer Example: MPI Datatype by ax3l in https://github.com/ornladios/ADIOS2/pull/3593
* test,install: paramaterize adios2_DIR by vicentebolea in https://github.com/ornladios/ADIOS2/pull/3586
* ci,ascent: enable ascent builds by vicentebolea in https://github.com/ornladios/ADIOS2/pull/3610
* ci: use nvcc_wrapper in adiosKokkos by vicentebolea in https://github.com/ornladios/ADIOS2/pull/3623
* Adding SYCL support to the Kokkos backend by anagainaru in https://github.com/ornladios/ADIOS2/pull/3621
* Bump requests from 2.28.1 to 2.31.0 in /docs by dependabot in https://github.com/ornladios/ADIOS2/pull/3628
* Fix flaky MSMPI installation in windows builds by vicentebolea in https://github.com/ornladios/ADIOS2/pull/3627
* docs: update whatsnew by vicentebolea in https://github.com/ornladios/ADIOS2/pull/3634
* ci,olcf,crusher: enable Crusher CI by vicentebolea in https://github.com/ornladios/ADIOS2/pull/3620
* ci,crusher: minor tweaks by vicentebolea in https://github.com/ornladios/ADIOS2/pull/3635
* Ascent,CI: do not report sync script build by vicentebolea in https://github.com/ornladios/ADIOS2/pull/3637
* replaced uint with size_t by guj in https://github.com/ornladios/ADIOS2/pull/3640
* crusher,ci: set unique env per pipeline by vicentebolea in https://github.com/ornladios/ADIOS2/pull/3644
* Update documentation for the GPU-aware functionality by anagainaru in https://github.com/ornladios/ADIOS2/pull/3639
* work around with include <unistd.h> on windows by guj in https://github.com/ornladios/ADIOS2/pull/3652
* Bug fix for Kokkos applications without GPU backend by anagainaru in https://github.com/ornladios/ADIOS2/pull/3654
* An effort to make profiler more user friendly by guj in https://github.com/ornladios/ADIOS2/pull/3660
* Bump cryptography from 39.0.1 to 41.0.0 in /docs by dependabot in https://github.com/ornladios/ADIOS2/pull/3650
* ci: remove power8 emulated builds by vicentebolea in https://github.com/ornladios/ADIOS2/pull/3667
* ci,ascent: disable install tests by vicentebolea in https://github.com/ornladios/ADIOS2/pull/3673
* Tweaks for BP5 on windows. by eisenhauer in https://github.com/ornladios/ADIOS2/pull/3682
* Fix memory leak when there are Joined Arrays in streaming mode by eisenhauer in https://github.com/ornladios/ADIOS2/pull/3684
* Fix for the issue 3646. by dmitry-ganyushin in https://github.com/ornladios/ADIOS2/pull/3687
* cmake,evpath: namespace modules install dir by vicentebolea in https://github.com/ornladios/ADIOS2/pull/3689
* Ci rework gcc builds by scottwittenburg in https://github.com/ornladios/ADIOS2/pull/3631
* added gitattributes file by vicentebolea in https://github.com/ornladios/ADIOS2/pull/3698
* Update files with new EOL by vicentebolea in https://github.com/ornladios/ADIOS2/pull/3699
* build(deps): bump cryptography from 41.0.0 to 41.0.2 in /docs by dependabot in https://github.com/ornladios/ADIOS2/pull/3697
* ci,mpich: disable Sz|Zfp flaky tests by vicentebolea in https://github.com/ornladios/ADIOS2/pull/3702
* build(deps): bump pygments from 2.14.0 to 2.15.0 in /docs by dependabot in https://github.com/ornladios/ADIOS2/pull/3704
* ci,cmake: cleanup scripts subdirectory by vicentebolea in https://github.com/ornladios/ADIOS2/pull/3625
* cmake: moved logic to enable h5vol to detectoptions.cmake by vicentebolea in https://github.com/ornladios/ADIOS2/pull/3701
* build(deps): bump certifi from 2022.12.7 to 2023.7.22 in /docs by dependabot in https://github.com/ornladios/ADIOS2/pull/3712
* ci: increase windows timeout defsync and DataWrite by vicentebolea in https://github.com/ornladios/ADIOS2/pull/3726
* format,ci: update clang-format to clang16 by vicentebolea in https://github.com/ornladios/ADIOS2/pull/3722
* Enable Flush Test for BP5 by eisenhauer in https://github.com/ornladios/ADIOS2/pull/3683
* Use ccache in github actions builds by scottwittenburg in https://github.com/ornladios/ADIOS2/pull/3705
* ci: Fix conditional expression syntax to fix cache save by scottwittenburg in https://github.com/ornladios/ADIOS2/pull/3730
* ci: work around bug in actions/cache by scottwittenburg in https://github.com/ornladios/ADIOS2/pull/3731
* build(deps): bump cryptography from 41.0.2 to 41.0.3 in /docs by dependabot in https://github.com/ornladios/ADIOS2/pull/3733
* Version constants plus functions to retrieve list of ... by pnorbert in https://github.com/ornladios/ADIOS2/pull/3676
* ci: add libcurl4 to all ubuntu images by scottwittenburg in https://github.com/ornladios/ADIOS2/pull/3734
* ci: update release instructions by vicentebolea in https://github.com/ornladios/ADIOS2/pull/3738
* ci: add downloads readthedocs by vicentebolea in https://github.com/ornladios/ADIOS2/pull/3739
* cmake: fix evpath plugins install path by vicentebolea in https://github.com/ornladios/ADIOS2/pull/3737
* Remote Data access via Get() or Transport by eisenhauer in https://github.com/ornladios/ADIOS2/pull/3740
* readthedocs: remove sys pkgs; use current ADIOS2 by vicentebolea in https://github.com/ornladios/ADIOS2/pull/3743
* Fix: Static Builds Against C-Blosc2 by ax3l in https://github.com/ornladios/ADIOS2/pull/3715
* CI: add two static builds by vicentebolea in https://github.com/ornladios/ADIOS2/pull/3749
* Upstream ffs by eisenhauer in https://github.com/ornladios/ADIOS2/pull/3755
* Update Readme.md with community section by vicentebolea in https://github.com/ornladios/ADIOS2/pull/3700
* cmake,readthedocs: update python enable instructions by vicentebolea in https://github.com/ornladios/ADIOS2/pull/3713
* cmake: correct info.h installation path by vicentebolea in https://github.com/ornladios/ADIOS2/pull/3758
* Korvo upstream by eisenhauer in https://github.com/ornladios/ADIOS2/pull/3761
* cmake: resolve cmake python deprecation warning by vicentebolea in https://github.com/ornladios/ADIOS2/pull/3764
* Update kwsys by vicentebolea in https://github.com/ornladios/ADIOS2/pull/3765
* ci: add mgard dependency to spack builds by vicentebolea in https://github.com/ornladios/ADIOS2/pull/3753
* Misc fixes by vicentebolea in https://github.com/ornladios/ADIOS2/pull/3768
* Add automated vulnerability code analysis using CodeQL. by vicentebolea in https://github.com/ornladios/ADIOS2/pull/3606
* cmake: correct ADIOS2_Blosc2_PREFER_SHARED behavior by vicentebolea in https://github.com/ornladios/ADIOS2/pull/3767
* match type of timestep for h5 engine to size_t (same as adios Variabl… by guj in https://github.com/ornladios/ADIOS2/pull/3776
* ci: Create static minimal build by vicentebolea in https://github.com/ornladios/ADIOS2/pull/3760
* Remove unused SelectionType values by eisenhauer in https://github.com/ornladios/ADIOS2/pull/3784
* Update ADIOS2 HDF5 VOL with basic set of capability flags by jhendersonHDF in https://github.com/ornladios/ADIOS2/pull/3632
* gha,ci: update checkout to v4 by vicentebolea in https://github.com/ornladios/ADIOS2/pull/3789
* ci: Add HDF5 to a windows build by scottwittenburg in https://github.com/ornladios/ADIOS2/pull/3732
* Fixup local var reading by block with test, master branch by eisenhauer in https://github.com/ornladios/ADIOS2/pull/3787
* Add MinBlocksInfo to BP5 writer engine by eisenhauer in https://github.com/ornladios/ADIOS2/pull/3794
* yaml-cpp: support 0.8.0 version by vicentebolea in https://github.com/ornladios/ADIOS2/pull/3799
* Delete experimental examples by spyridon97 in https://github.com/ornladios/ADIOS2/pull/3800
* Remove BP5 BetweenStepPairs variable that hides Engine.h counterpart by eisenhauer in https://github.com/ornladios/ADIOS2/pull/3803
* WIP: Reader-side Profiling by eisenhauer in https://github.com/ornladios/ADIOS2/pull/3778
* Fix the `ADIOS_USE_{}` variable names to use ADIOS2 by anagainaru in https://github.com/ornladios/ADIOS2/pull/3807
* Pass Array Order of reader to remote server for proper Get() operation by eisenhauer in https://github.com/ornladios/ADIOS2/pull/3810
* Fix abs/rel step in BP5 DoCount by eisenhauer in https://github.com/ornladios/ADIOS2/pull/3812
* FFS upstream master-branch by eisenhauer in https://github.com/ornladios/ADIOS2/pull/3815
* added support to query BP5 files by guj in https://github.com/ornladios/ADIOS2/pull/3809
* install: export adios2 device variables by vicentebolea in https://github.com/ornladios/ADIOS2/pull/3819
* ci: fix codeql ignore path by vicentebolea in https://github.com/ornladios/ADIOS2/pull/3772
* Add Memory Selection to SST, and prototype a mechanism for running st… by eisenhauer in https://github.com/ornladios/ADIOS2/pull/3823
* Remote test redux by eisenhauer in https://github.com/ornladios/ADIOS2/pull/3830
* Tweak Remote class and test multi-threaded file remote access by eisenhauer in https://github.com/ornladios/ADIOS2/pull/3834
* MPI: add timeout for conf test for MPI DataPlane by vicentebolea in https://github.com/ornladios/ADIOS2/pull/3848
* cmake: update minimum cmake to 3.12 by vicentebolea in https://github.com/ornladios/ADIOS2/pull/3849
* MPI DataPlane: do not call MPI_Init internally by vicentebolea in https://github.com/ornladios/ADIOS2/pull/3847
* Fix destdir install test by vicentebolea in https://github.com/ornladios/ADIOS2/pull/3850
* Organize and add examples by spyridon97 in https://github.com/ornladios/ADIOS2/pull/3820
* Blosc2 USE ON: Fix Module Fallback by ax3l in https://github.com/ornladios/ADIOS2/pull/3774
* BP5Serializer: handle local variables that use operators by caitlinross in https://github.com/ornladios/ADIOS2/pull/3859
* Update examples by spyridon97 in https://github.com/ornladios/ADIOS2/pull/3856
* bug fix: syntax error in json output by guj in https://github.com/ornladios/ADIOS2/pull/3857
* Remove Slack as a contact mechanism by eisenhauer in https://github.com/ornladios/ADIOS2/pull/3866
* Remote Server Improvements by eisenhauer in https://github.com/ornladios/ADIOS2/pull/3862
* Fix hip example compilation error by spyridon97 in https://github.com/ornladios/ADIOS2/pull/3865
* new attempt to commit query support of local array. by guj in https://github.com/ornladios/ADIOS2/pull/3868
* cmake: link to MPI::MPI_Fortran using INTERFACE by caitlinross in https://github.com/ornladios/ADIOS2/pull/3853
* Backports from release_29 by vicentebolea in https://github.com/ornladios/ADIOS2/pull/3858
* Backport 3877 to master by vicentebolea in https://github.com/ornladios/ADIOS2/pull/3882
* Fix MPI Data plane cohort handling by vicentebolea in https://github.com/ornladios/ADIOS2/pull/3588
* Testing writing null blocks without affecting the read by anagainaru in https://github.com/ornladios/ADIOS2/pull/3878
* docs: update new_release.md by vicentebolea in https://github.com/ornladios/ADIOS2/pull/3892
* cmake: find threads package first by vicentebolea in https://github.com/ornladios/ADIOS2/pull/3893
* Add tutorials by spyridon97 in https://github.com/ornladios/ADIOS2/pull/3880
* examples,hip: use find_package(hip) once in proj by vicentebolea in https://github.com/ornladios/ADIOS2/pull/3896
* Add Remote "-status" command to see if a server is running and where by eisenhauer in https://github.com/ornladios/ADIOS2/pull/3911
* Defining and computing derived variables by anagainaru in https://github.com/ornladios/ADIOS2/pull/3816
* Fix printing issue in perfstub thirdparty code by anagainaru in https://github.com/ornladios/ADIOS2/pull/3913
* ci,crusher: increase supported num branches by vicentebolea in https://github.com/ornladios/ADIOS2/pull/3902
* Change install directory of Gray scott files by spyridon97 in https://github.com/ornladios/ADIOS2/pull/3905
* ci: add shellcheck coverage to source and testing by vicentebolea in https://github.com/ornladios/ADIOS2/pull/3915
* Change install directory of Gray scott files again by spyridon97 in https://github.com/ornladios/ADIOS2/pull/3917
* SST with GPU support by anagainaru in https://github.com/ornladios/ADIOS2/pull/3918
* ci: Set openmpi and openmp parameters to make an efficient use of the CI by vicentebolea in https://github.com/ornladios/ADIOS2/pull/3908
* Cleanup server output a bit by eisenhauer in https://github.com/ornladios/ADIOS2/pull/3914
* ReadMe.md: Mention 2.9.2 release by eschnett in https://github.com/ornladios/ADIOS2/pull/3921
* ci: use mpich built with ch3:sock to speed up tests by scottwittenburg in https://github.com/ornladios/ADIOS2/pull/3883
* Dataman with GPU support by anagainaru in https://github.com/ornladios/ADIOS2/pull/3928
* CI Contract Build examples with external ADIOS by spyridon97 in https://github.com/ornladios/ADIOS2/pull/3906
* Revert "Fix printing issue in perfstub thirdparty code" by anagainaru in https://github.com/ornladios/ADIOS2/pull/3943
* Perf stubs upstream by eisenhauer in https://github.com/ornladios/ADIOS2/pull/3944
* Fix the HIP CMAKE issues to run on Frontier by anagainaru in https://github.com/ornladios/ADIOS2/pull/3931
* Set the compiler for the Kokkos DataMan example by anagainaru in https://github.com/ornladios/ADIOS2/pull/3946
* Fix MATLAB bindings for MacOS by tomgade09 in https://github.com/ornladios/ADIOS2/pull/3950
* Delete VTK code in examples by spyridon97 in https://github.com/ornladios/ADIOS2/pull/3952
* Enable shell check scripts for existing scripts by spyridon97 in https://github.com/ornladios/ADIOS2/pull/3940
* Move useful docs from ADIOS2-examples to ADIOS2 by spyridon97 in https://github.com/ornladios/ADIOS2/pull/3939
* Use adios2_mode_readRandomAccess in matlab open to make it work for BP5 by pnorbert in https://github.com/ornladios/ADIOS2/pull/3956
* Adapt libfabric dataplane of SST to Cray CXI provider by franzpoeschel in https://github.com/ornladios/ADIOS2/pull/3672
* Update readme for heat transfer example with new location and build i… by pnorbert in https://github.com/ornladios/ADIOS2/pull/3904
* ci: fix false negative asan checks by scottwittenburg in https://github.com/ornladios/ADIOS2/pull/3957
* adios2::core::ADIOS: Initialize new IO objects with config file by spyridon97 in https://github.com/ornladios/ADIOS2/pull/3955
* MDR Operator by pnorbert in https://github.com/ornladios/ADIOS2/pull/3826
* fix for ASAN issue related to JoinedDimArray handling in BP5 deserializer by pnorbert in https://github.com/ornladios/ADIOS2/pull/3963
* Have HDF5 write raise error if operator(s) requested by rupertnash in https://github.com/ornladios/ADIOS2/pull/3951
* Http connector by dmitry-ganyushin in https://github.com/ornladios/ADIOS2/pull/3890
* Add pip packaging by scottwittenburg in https://github.com/ornladios/ADIOS2/pull/3960
* pip: also run pypi upload job on workflow_dispatch by scottwittenburg in https://github.com/ornladios/ADIOS2/pull/3967
* Campaign manager by pnorbert in https://github.com/ornladios/ADIOS2/pull/3932
* update copyright.txt to include recent kitware authors by vicentebolea in https://github.com/ornladios/ADIOS2/pull/3965
* Bug fix building ADIOS2 without the campaign example by anagainaru in https://github.com/ornladios/ADIOS2/pull/3969
* Several fixes for ASAN issues by eisenhauer in https://github.com/ornladios/ADIOS2/pull/3959
* SST ASAN buffer fix by eisenhauer in https://github.com/ornladios/ADIOS2/pull/3972
* python: Implement Python high level API in python by vicentebolea in https://github.com/ornladios/ADIOS2/pull/3938
Changes added in the latest final release
* Fix the C example stepping and reading data. Simplify code for shape/… by pnorbert in https://github.com/ornladios/ADIOS2/pull/3980
* Fix read request length on BP5 Local arrays with operators (backport to release 2.10) by eisenhauer in https://github.com/ornladios/ADIOS2/pull/3993
* Fix 1: bpls handle when BP5 throws logic error on minmax for unsuppor… by pnorbert in https://github.com/ornladios/ADIOS2/pull/3994
* python,cmake: update version script to support rc by vicentebolea in https://github.com/ornladios/ADIOS2/pull/3992
* Python API: Adios() new argument 'config_file', Stream() new argument… by pnorbert in https://github.com/ornladios/ADIOS2/pull/3984
* Backport recent ASAN fixes to 2.10 release branch by eisenhauer in https://github.com/ornladios/ADIOS2/pull/3985
* Merge upstream dill chanages to release_210 by eisenhauer in https://github.com/ornladios/ADIOS2/pull/4005
* Backport master commits by vicentebolea in https://github.com/ornladios/ADIOS2/pull/4029
* Backport master PR into release210 by vicentebolea in https://github.com/ornladios/ADIOS2/pull/4042
* backports from master by vicentebolea in https://github.com/ornladios/ADIOS2/pull/4059
* Backports from master by vicentebolea in https://github.com/ornladios/ADIOS2/pull/4128
* Bump version to v2.10.0 by vicentebolea in https://github.com/ornladios/ADIOS2/pull/4130
New Contributors
* jhendersonHDF made their first contribution in https://github.com/ornladios/ADIOS2/pull/3632
* spyridon97 made their first contribution in https://github.com/ornladios/ADIOS2/pull/3800
* tomgade09 made their first contribution in https://github.com/ornladios/ADIOS2/pull/3950
* rupertnash made their first contribution in https://github.com/ornladios/ADIOS2/pull/3951
**Full Changelog**: https://github.com/ornladios/ADIOS2/compare/v2.9.2...v2.10.0