Skip to content

Releases: Goddard-Fortran-Ecosystem/yaFyaml

Workaround for NAG 7.1 (7110)

31 May 21:22
079b396
Compare
Choose a tag to compare
v1.0.1

Merge pull request #53 from Goddard-Fortran-Ecosystem/hotfix/compiler…

Formal release of 1.0.0

08 May 17:31
fdda2b3
Compare
Choose a tag to compare

New compiler workarounds appear to allow this implementation to be much more stable. Hence, dropping the "beta" from the releases.

Fixed

  • Found various/improved workarounds for various compiler issues. Most problems were with GFortran (11.2).
    1. Redemontrated that intrinsic FINAL does not work for map containers - needs user code to add RECURSIVE.
    2. Improved workaround for Parser. GFortran recursion was doing very weird things with local polymorphic allocatable variables. Previous workaround was a global stack, but this iteration found that a simple wrapper type suffices to workaround the issue. Various other compiler workarounds from earlier releases could then be removed - mostly this was unnecessary explicit deep-copies in containers (except when definitely required by Fortran (e.g., Set containers).

Bug Fix - CMake Logic (1.0-beta5)

29 Apr 14:20
Compare
Choose a tag to compare

This release backports a CMake fix from v1.0-beta8 to be applied onto v1.0-beta5 for inclusion in a release of GFE.

Fixed

  • Error in CMake check for the target "test" that prevents yaFyaml
    from being bundled with other GFE packages.

Bug Fix - CMake Logic (1.0-beta4)

29 Apr 14:25
Compare
Choose a tag to compare

This release backports a CMake fix from v1.0-beta8 to be applied onto v1.0-beta4 for inclusion in a release of GFE.

Fixed

  • Error in CMake check for the target "test" that prevents yaFyaml
    from being bundled with other GFE packages.

Bug fix - CMake logic

08 Apr 22:24
a6cb7f1
Compare
Choose a tag to compare

Fixed

  • Error in CMake check for the target "test" that prevents yaFyaml
    from being bundled with other GFE packages.

v1.0-beta7

08 Apr 21:16
08da883
Compare
Choose a tag to compare

Changed

  • YAML_Node is now an abstract type. Semantics are slightly changed
    as a consequence, but most interfaces are unaffected.
    Main object should now be declared as class(YAML_Node), allocatable ::

  • Iteration on MappingNode and SequenceNode objects is now done with abstract NodeIterator.
    The concrete subclasses: MappingNodeIterator SequenceNodeIterator
    have methods for both vector and map iterators but return an optional error if used in the
    wrong case. Also they produce null() pointer results if used in the wrong case.

Added

  • Test for reproducer of ifort issue encountered in pFlogger upstream.

Added setters and implemented compiler workarounds

24 Mar 17:22
273177c
Compare
Choose a tag to compare

Note this release is not quite backwardly compatible with v1.0-beta5.

[1.0-beta6] 2022-03-24

Added

  • Interfaces for config setters
    call node%set(<value>, SELECTORS, err_msg, rc)
    Where can be:
    . integer (32/64 bit), real (32/64 bit), logical or string.
    . scalar or 1D array

  • Add NVHPC.cmake and PGI.cmake files for NVHPC support (requires nvfortran 22.3)

  • A new interface to initialize YAML_node (formerly Configuration)
    objects. This is now the interface that associates the internal
    pointer with the target argument. Previously was the constructor.

Changed

  • The derived type Configuration has been renamed to YAML_Node. A
    temporary workaround is provided to users to allow the older name to
    be used, but it is deprecated and will go away whev V2.0.0 is
    formally released.

  • YAML_Node constructor now copies the argument. Before it only
    associated pointer with target.

v1.0-beta5

08 Mar 14:54
171c93c
Compare
Choose a tag to compare

Added

  • New interface to Parser::load() to allow a user to directly load a configuration from just a filename rather than being required to first construct a FileStream from the filename.

Minor bugfix

05 Nov 17:34
6b9a50e
Compare
Choose a tag to compare

The default implementation of is_scalar() was not overridden in some subclasses. A proper fix will be to leave it as deferred in the base class.

CI extensions

28 Sep 18:41
419398f
Compare
Choose a tag to compare

Extended CI to cover more cases.