Releases: sourceryinstitute/OpenCoarrays
Bug Fixes and Support GCC 15
What's Changed
- Fix test failures with mpich 4+. by @vehre in #789
 - Fix sending data to self. by @vehre in #786
 - Fix parallel build issues by @vehre in #788
 - Add clang-formating for c sources and headers. by @vehre in #790
 - Fix send_by_ref by modelling it like get_by_ref. by @vehre in #791
 - Migrate to gfortran-15 ABI for accessing data in non-coarray aware codes. by @vehre in #792
 
Full Changelog: 2.10.2...2.10.3
Improved & Official Windows Support
New Functionality
OpenCoarrays is now officially supported on Windows using the Intel MPI Library and a lightweight linux-like environment on Windows, like MSYS2. Note that the wrapper scripts likely still require a bash shell. CI testing on windows has been added to ensure proper functionality moving forwards.
Bug Fixes
- Made locating IntelMPI runtime library on windows more robust (PR #782)
 - Thanks to @band-a-prend for fixing an issue that would occur when using clang (PR #777)
 
Installation
Please see the installation instructions for more details on how to build and install this version of OpenCoarrays
Fix Windows shutdown, reorganize directories, update to GCC 12.1.0
Windows Support!
New Functionality
This is the first OpenCoarrays release that supports the Windows operating system natively (without requiring the Windows Subsystem for Linux) -- contributed by @zbeekman in pull request #755. 🪟
Full Changelog: 2.9.3...2.10.0
Acknowledgement
OpenCoarrays 2.10.0 was developed for the U.S. Nuclear Regulatory Commission (US NRC) under contract # 31310020D0006: "Technical Assistance in Support of NRC Nuclear Regulatory Research for Materials, Waste, and Reactor Programs" awarded to Archaeologic Inc.
Installation
Please see the installation instructions for more details on how to build and install this version of OpenCoarrays
2.9.3
Bug Fix Release
New Functionality
- Feature: 
install.shdoes faster GCC downloads by fetching release tar balls instead of cloning branches -- contributed by @rouson in #730 - Use GitHub Actions for continuous integration testing -- contributed by @everythingfunctional in #721
 
Bug Fixes
- Use dynamic symbol resolution for libmpi_caf on macOS to fix an issue that blocked CI testing -- contributed by @zbeekman
 - Fix 
install.sh: handle mpifort invoking f95 -- contributed by @rouson in #724 - Fix segmentation fault when indexing into a static coarray -- contributed by @vehre in #741
 - Issue 733 impl random init -- contributed by @vehre in #740
 - Fix compile warnings 
logical->int-- contributed by @vehre in #744 - Remove automatic issue-closing bots: 
stale.ymlandno-response.yml-- contributed by @rouson in #747 - Fix 
operatordummy argument name inco_reduceto be match GCC 12 and Fortran 2018 standard -- contributed by @vehre in #746 - Fix issue #727 
co broadcaston mixed derived type -- contributed by @vehre in #751 
New Contributors
- @everythingfunctional made his first contribution in #721
 
Full Changelog: 2.9.2...2.9.3
Installation
Please see the installation instructions for more details on how to build and install this version of OpenCoarrays.
Acknowledgement
Parts of OpenCoarrays 2.9.3 were developed for the U.S. Nuclear Regulatory Commission (US NRC) under contract # 31310020D0006: "Technical Assistance in Support of NRC Nuclear Regulatory Research for Materials, Waste, and Reactor Programs" awarded to Archaeologic Inc..
Improved error handling and bug fixes
New Functionality
- Improved handling of internal runtime errors (commit 7010d60) 🧹
 
Bug Fixes
- #700: Fixed problem with derived-type coarrays that have nested, 
allocatablederived-type components are now supported - #717: 
cafrunnow shows usage information if invalid arguments are passed 
Installation
Please see the installation instructions for more details on how to build and install this version of OpenCoarrays
Bug fix, installation improvements, and GCC/macOS version updates
Bug fix
Issue #511: the shape of coindexed multidimensional array component now yields the correct answer. 💠
Installer updates
- If 
install.shbuilds GCC on macOS Catalina, it finds and uses the requisite macOS software development kit (SDK) header files. ⛰️ - GCC 10.1.0 is now the default minimum version used or installed by 
install.sh. Users may force the installer to use a lower version by invokinginstall.shwith the-f,-c, and-Carguments. 🆕 - Pull request (PR) #705 fixes an error in the compiler version-check code invoked by 
install.sh. - PR #705 switches the GCC download mechanism to 
gitto address two issues: 📫- GCC development branches: the previous default (
svn) can no longer be used because GCC has adoptedgit. - GCC released versions: the previous default (
ftp) is disabled on many systems for security reasons. 
 - GCC development branches: the previous default (
 - Other minor installation improvements. 🏗️
 
Co_broadcast derived types; installation enhancements & bug fixes
New functionality
- When using GCC versions >= 10.0.0, 
co_broadcastnow supports derived-type arguments withallocatablecomponents. 🎺 - When building GCC on macOS versions 18.7.0 (Mojave) or greater, 
install.shnow provides directions on how to install header-file prerequisites if missing. 🚧 🏗 👷 
Expanded test coverage
- Revised an existing test of 
co_broadcastwith derived type arguments so the test passes with GCC 7. - Added a comprehensive test of 
co_broadcastwith 15-dimensionalallocatableandpointercomponents. 
Bug fixes, installation enhancements, & documentation updates
install.shinstaller now passes newly required flags for building MPICH with GCC versions >= 10.0.0. 🇺🇸 🇩🇪 🏴 🇬🇧 🎏cafcompiler wrapper now correctly falls back to dynamic linking. ☕️INSTALL.mdandREADME.mdnow reference a comprehensive listing of package managers along with each one's status. 🚦
Installation
Please see the installation instructions for more details on how to build and install this version of OpenCoarrays.
Bug fix release
- Fix #665: Install failure when 
DESTDIRis set- This was affecting distribution in some package managers, like AUR
 - e.g., https://aur.archlinux.org/packages/opencoarrays/#comment-693351
 
 
Installation
Please see the installation instructions for more details on how to build and install this version of OpenCoarrays.
Improved Team Support & Partial Support for Collectives with Derived Types
New Functionality
- Full support for GCC/GFortran 9.1
 - Partial support for 
co_broadcastwith derived types (thanks to @afanfa!)- Limited to derived types without allocatable components, for now
 
 - Performance optimization #630: An extraneous barrier was removed from 
form team(thanks to @nathanweeks) - The team value in the 
sync teamstatement may be a child team, consistent with the standard, #655 (thanks to @nathanweeks) - Updated build script diagnostic output and additional test for 
co_braodcastwith DTs (thanks to @rouson) - Elimination of some warnings when compiling with clang (thanks to @zbeekman)
 - An install receipt including SHA256 checksums is now included in the installation (thanks to @zbeekman) 
- This will facilitate: 
- Robust uninstall scripts
 - Easier verification and enumeration of installed files and assets
 - Verification that the files have not been corrupted
 - Verification of reproducible builds
 
 
 - This will facilitate: 
 
Bug Fixes
- #632: Image selector indices should be with respect to the current team (thanks to @nathanweeks)
 - Automated Dockerhub builds of the OpenCoarrays master branch were failing and have now been fixed
 
Installation
Please see the installation instructions for more details on how to build and install this version of OpenCoarrays