diff --git a/json-fortran-master/.VERSION b/json-fortran-master/.VERSION index fc8336ce61dd25ae2459af39961485f0e5d88c14..2bf50aaf17a6f89855dce48afd4e6cbb554047d6 100644 --- a/json-fortran-master/.VERSION +++ b/json-fortran-master/.VERSION @@ -1 +1 @@ -8.2.5 +8.3.0 diff --git a/json-fortran-master/.github/workflows/CI.yml b/json-fortran-master/.github/workflows/CI.yml index 0e4df366bf22f3b2e7bce6c8a68af4796b1158a0..7483e7434aa7d7a4661c5a39e8128a663a202977 100644 --- a/json-fortran-master/.github/workflows/CI.yml +++ b/json-fortran-master/.github/workflows/CI.yml @@ -1,6 +1,6 @@ name: CI -on: [push] +on: [push, pull_request] jobs: diff --git a/json-fortran-master/CHANGELOG.md b/json-fortran-master/CHANGELOG.md index cffa5bcfcbc276d863e7a4d7278c9926cf584e60..858a1c32b0bce2ec44972e822e0ba0e11ba56f54 100644 --- a/json-fortran-master/CHANGELOG.md +++ b/json-fortran-master/CHANGELOG.md @@ -4,6 +4,7 @@ - [Change Log](#change-log) - [Unreleased](#unreleased) + - [8.3.0 (2022-05-07)](#830-2022-05-07) - [8.2.5 (2021-08-17)](#825-2021-08-17) - [8.2.4 (2021-08-15)](#824-2021-08-15) - [8.2.3 (2021-06-05)](#823-2021-06-05) @@ -44,7 +45,25 @@ ### [Unreleased](https://github.com/jacobwilliams/json-fortran/tree/HEAD) -[Complete Changeset](https://github.com/jacobwilliams/json-fortran/compare/8.2.5...HEAD) +[Complete Changeset](https://github.com/jacobwilliams/json-fortran/compare/8.3.0...HEAD) + +### [8.3.0](https://github.com/jacobwilliams/json-fortran/tree/8.3.0) (2022-05-07) + +[Complete Changeset](https://github.com/jacobwilliams/json-fortran/compare/8.2.5...8.3.0) +or [Download v8.3.0](https://github.com/jacobwilliams/json-fortran/releases/tag/8.3.0) + +**Enhancements:** + +- Added procedure to query version of json-fortran [\#505](https://github.com/jacobwilliams/json-fortran/issues/505) [\#512](https://github.com/jacobwilliams/json-fortran/pull/512) [\#516](https://github.com/jacobwilliams/json-fortran/pull/516) ([jacobwilliams](https://github.com/jacobwilliams)) +- Updates to the CI [\#509](https://github.com/jacobwilliams/json-fortran/pull/509) [\#508](https://github.com/jacobwilliams/json-fortran/issues/508) ([jacobwilliams](https://github.com/jacobwilliams)) +- Add information on conda-forge distribution [\#506](https://github.com/jacobwilliams/json-fortran/pull/506) ([awvwgk](https://github.com/awvwgk)) [\#507](https://github.com/jacobwilliams/json-fortran/issues/507) +- Updated CMake to export include directories with target [\#504](https://github.com/jacobwilliams/json-fortran/pull/504) [\#503](https://github.com/jacobwilliams/json-fortran/issues/503) ([awvwgk](https://github.com/awvwgk)) + + +**Bug Fixes:** + +- Fixed a minor standards violation [\#510](https://github.com/jacobwilliams/json-fortran/issues/510) [\#511](https://github.com/jacobwilliams/json-fortran/pull/511) ([jacobwilliams](https://github.com/jacobwilliams)) +- Minor changes to work around issues with nvfortran compiler [\#496](https://github.com/jacobwilliams/json-fortran/pull/496) ([vyu16](https://github.com/vyu16)) ### [8.2.5](https://github.com/jacobwilliams/json-fortran/tree/8.2.5) (2021-08-17) @@ -59,8 +78,7 @@ or [Download v8.2.5](https://github.com/jacobwilliams/json-fortran/releases/tag/ **Bug Fixes:** - Fixed a potential uninitialized variable issue in `get_current_line_from_file_stream` -- Fixed a memory leak when parsing an invalid JSON -- Fixed various memory issues in the unit tests [\#495](https://github.com/jacobwilliams/json-fortran/pull/495) ([jacobwilliams](https://github.com/jacobwilliams)) +- Fixed a memory leak when parsing an invalid JSON. Fixed various memory issues in the unit tests [\#494](https://github.com/jacobwilliams/json-fortran/issues/494) [\#495](https://github.com/jacobwilliams/json-fortran/pull/495) ([jacobwilliams](https://github.com/jacobwilliams)) ### [8.2.4](https://github.com/jacobwilliams/json-fortran/tree/8.2.4) (2021-08-15) diff --git a/json-fortran-master/README.md b/json-fortran-master/README.md index e7d184ca03926dee957e886f027dae0f76288da6..03f1ecb77f4b4f351b235782485df892e0f2ab71 100644 --- a/json-fortran-master/README.md +++ b/json-fortran-master/README.md @@ -21,8 +21,10 @@ JSON-Fortran: A Modern Fortran JSON API Status ------ [](https://github.com/jacobwilliams/json-fortran/actions) -[](https://github.com/jacobwilliams/json-fortran/issues) +[](https://github.com/jacobwilliams/json-fortran/issues) [](https://codecov.io/gh/jacobwilliams/json-fortran) +[](https://github.com/jacobwilliams/json-fortran/commits/master) + Take a look at the [CHANGELOG](https://github.com/jacobwilliams/json-fortran/blob/master/CHANGELOG.md#unreleased) @@ -40,9 +42,9 @@ JSON-Fortran is a user-friendly, thread-safe, and object-oriented API for readin Download -------------------- -[](https://github.com/jacobwilliams/json-fortran/releases) -[](https://formulae.brew.sh/formula/json-fortran) -[](https://github.com/conda-forge/json-fortran-feedstock) +[](https://github.com/jacobwilliams/json-fortran/releases) +[](https://formulae.brew.sh/formula/json-fortran) +[](https://github.com/conda-forge/json-fortran-feedstock) Download the official versioned releases [here](https://github.com/jacobwilliams/json-fortran/releases/latest). @@ -137,7 +139,7 @@ cmake_minimum_required ( VERSION 2.8.8 FATAL_ERROR ) enable_language ( Fortran ) project ( jf_test NONE ) -find_package ( jsonfortran-${CMAKE_Fortran_COMPILER_ID} 8.2.5 REQUIRED ) +find_package ( jsonfortran-${CMAKE_Fortran_COMPILER_ID} 8.3.0 REQUIRED ) file ( GLOB JF_TEST_SRCS "src/tests/jf_test_*.F90" ) foreach ( UNIT_TEST ${JF_TEST_SRCS} ) diff --git a/json-fortran-master/pages/development-resources/release-checklist.md b/json-fortran-master/pages/development-resources/release-checklist.md index 88b76416729c1186ababc36ad117c1a6e439c9b8..34f9a147b9102df94c3a679d4ccac08b1ad2e75f 100644 --- a/json-fortran-master/pages/development-resources/release-checklist.md +++ b/json-fortran-master/pages/development-resources/release-checklist.md @@ -52,9 +52,9 @@ remain accurate. 1. Add `pages/releases/index.md` to the git index: `git add pages/releases/index.md` 1. Update the version string in remaining files requiring manual edits: 1. Edit the `.VERSION` file - 1. Edit the CMake example on line 124 of `README.md` - 1. Add both files to the git index: `git add .VERSION - README.md` + 1. Edit the CMake example on line 142 of `README.md` + 1. Edit the `json_fortran_version` string in `json_module.F90` + 1. Add these files to the git index: `git add .VERSION README.md ./src/json_module.F90` 1. Commit the changes to the master branch: `git commit` 1. Create the tag: `git tag <new version>` 1. Note: for some reason, using GitHub to tag a project means that the tag doesn't show up when you `git describe` the project. Tagging from the command line makes `git describe` work as expected. diff --git a/json-fortran-master/pages/releases/index.md b/json-fortran-master/pages/releases/index.md index 228d264606b5d476fe9e8c19b11070866d4ad9b2..cb01cee55c9314211bdd3d922d4479986db1b18d 100644 --- a/json-fortran-master/pages/releases/index.md +++ b/json-fortran-master/pages/releases/index.md @@ -25,6 +25,9 @@ documentation from the documentation for official releases other than using the browser's back button. Feel free to bookmark this page, or the [main project page](|url|/index.html) for convenient navigation. +* [8.3.0](https://jacobwilliams.github.io/json-fortran/prev/8.3.0/index.html) + ([FORD](https://github.com/Fortran-FOSS-Programmers/ford) generated documentation) + - [Download](https://github.com/jacobwilliams/json-fortran/releases/tag/8.3.0) * [8.2.5](https://jacobwilliams.github.io/json-fortran/prev/8.2.5/index.html) ([FORD](https://github.com/Fortran-FOSS-Programmers/ford) generated documentation) - [Download](https://github.com/jacobwilliams/json-fortran/releases/tag/8.2.5) diff --git a/json-fortran-master/src/json_module.F90 b/json-fortran-master/src/json_module.F90 index c566a16aad46b362f7a4da1c4adda277482b5c7f..46284e9f070310ba05bf025c49208c3a42cc1721 100644 --- a/json-fortran-master/src/json_module.F90 +++ b/json-fortran-master/src/json_module.F90 @@ -73,7 +73,32 @@ implicit none + character(kind=json_CK,len=*),parameter,private :: version = '8.3.0' + !! JSON-Fortran version. + !! + !!@note This string should match the one in the `.VERSION` file (which is used + !! for the documentation generation.) + public + contains +!***************************************************************************************** + +!***************************************************************************************** +!> +! Returns the JSON-Fortran version string. + + function json_fortran_version() result(ver) + + implicit none + + character(len=:),allocatable :: ver !! JSON-Fortran version string + + ver = version + + end function json_fortran_version +!***************************************************************************************** + +!***************************************************************************************** end module json_module !***************************************************************************************** diff --git a/json-fortran-master/src/json_parameters.F90 b/json-fortran-master/src/json_parameters.F90 index b70818d3b225f61222bd67d15a4a820bb7a14745..ebd33c8df49b6fc20f808021a92502d7d207d593 100644 --- a/json-fortran-master/src/json_parameters.F90 +++ b/json-fortran-master/src/json_parameters.F90 @@ -57,14 +57,14 @@ character(kind=CK,len=*),parameter :: dot = CK_'.' !! path separator for [[json_get_by_path_default]] character(kind=CK,len=*),parameter :: tilde = CK_'~' !! RFC 6901 escape character character(kind=CK,len=*),parameter :: single_quote = CK_"'" !! for JSONPath bracket-notation - character(kind=CK,len=*),parameter :: slash = CK_'/' !! JSON special character - character(kind=CK,len=*),parameter :: backslash = CK_'\' !! JSON special character character(kind=CK,len=*),parameter :: quotation_mark = CK_'"' !! JSON special character character(kind=CK,len=*),parameter :: bspace = achar(8, kind=CK) !! JSON special character character(kind=CK,len=*),parameter :: horizontal_tab = achar(9, kind=CK) !! JSON special character character(kind=CK,len=*),parameter :: newline = achar(10, kind=CK) !! JSON special character character(kind=CK,len=*),parameter :: formfeed = achar(12, kind=CK) !! JSON special character character(kind=CK,len=*),parameter :: carriage_return = achar(13, kind=CK) !! JSON special character + character(kind=CK,len=*),parameter :: slash = achar(47, kind=CK) !! JSON special character + character(kind=CK,len=*),parameter :: backslash = achar(92, kind=CK) !! JSON special character !> default real number format statement (for writing real values to strings and files). ! Note that this can be overridden by calling [[json_initialize]]. diff --git a/json-fortran-master/src/json_value_module.F90 b/json-fortran-master/src/json_value_module.F90 index 2db021777dd64fde4a18eb9e83c7de74d4bb5fed..4bae98a3e4c9edc6bbac5f5e0941bc4c6160065c 100644 --- a/json-fortran-master/src/json_value_module.F90 +++ b/json-fortran-master/src/json_value_module.F90 @@ -7390,7 +7390,7 @@ !! true if the leaf object had to be created integer(IK) :: j !! counter of children when creating object - ! instead of reallocating `token` all the time, just + !TODO instead of reallocating `token` all the time, just ! allocate a big size and keep track of the length, ! then just reallocate only if necessary. ! [would probably be inefficient if there was a very large token, @@ -7985,7 +7985,7 @@ !! prepend the string to the path implicit none character(kind=CK,len=*),intent(in) :: str !! string to prepend to `path` - character(kind=CK,len=1),intent(in),optional :: path_sep + character(kind=CK,len=*),intent(in),optional :: path_sep !! path separator (default is '.'). !! (ignored if `json%path_mode/=1`) diff --git a/json-fortran-master/src/tests/jf_test_01.F90 b/json-fortran-master/src/tests/jf_test_01.F90 index 13dc0d1e599a15333ed89888463a106c8f5a3e45..534aed7ab21d7c7be0045773692a2420f193c4ca 100644 --- a/json-fortran-master/src/tests/jf_test_01.F90 +++ b/json-fortran-master/src/tests/jf_test_01.F90 @@ -57,6 +57,8 @@ contains write(error_unit,'(A)') '=================================' write(error_unit,'(A)') '' + write(error_unit,'(A)') 'JSON-Fortran version: '//json_fortran_version() + ! parse the json file: write(error_unit,'(A)') '' write(error_unit,'(A)') 'parsing file '//dir//filename1