Skip to content

Latest commit

 

History

History
591 lines (465 loc) · 35.6 KB

CHANGELOG.md

File metadata and controls

591 lines (465 loc) · 35.6 KB

Change Log

Table of Contents

Complete Changeset

6.0.0 (2017-08-24)

Complete Changeset or Download v6.0.0

Enhancements:

Fixed issues:

  • Fixed a bug where using no_whitespace mode could still print line breaks in some cases #288 (jacobwilliams)
  • Strings (name key and value) were not being properly escaped/unescaped in some contexts. This change introduces a small backward incompatibility (formerly, if keys contained escape characters, the user would have to include them when getting their value). Now, the string variables in all user-facing API calls are unescaped (i.e., the user does not have to manually escape the keys to get their associated value). All strings are also now properly returned unescaped, no matter how the JSON structure was constructed. Escaping is now done in all cases if necessary when the JSON is printed to a string, file or the console. #287 #289 (jacobwilliams)

5.3.0 (2017-04-07)

Complete Changeset or Download v5.3.0

Enhancements:

  • It is now possible to build a JSON structure by specifying the paths to the variables. The update routines also now use this new feature so if the variable is not present, it will be added using the path (formerly, it added it as a name, which was inconsistent). Renamed the argument to the update routines from name to path. #257 #261 #268 #270 (jacobwilliams)
  • Added new get routine to return an allocatable string array #245 #265 (jacobwilliams)
  • Arrays of scalar values can now optionally be printed on a single line #228 #273 (jacobwilliams)
  • When reading an empty JSON array it is now returned as an allocated array with zero length (rather than an unallocated array). #276 #277 (jacobwilliams)

Fixed issues:

  • Fixed an issue where the char_count wasn’t always correct, which caused the error message for invalid JSON to be wrong. #272 #274 (jacobwilliams)
  • Fixed an issue where values with significant trailing whitespace were being trimmed when printed. #263 (jacobwilliams)
  • Fixed two bugs in json_get_path for RFC 6091 path mode. Special characters weren’t being encoded properly, and it didn't work if the final key was all whitespace. #262 #264 (jacobwilliams)
  • Fixed an issue with indenting of arrays within arrays. #269 #271 (jacobwilliams)

5.2.0 (2017-03-05)

Complete Changeset or Download v5.2.0

Enhancements:

Fixed issues:

  • Real numbers now written with 17 digits of precision (previously it was using 16 which doesn't accurately represent all values to full precision) #230 #241 (jacobwilliams) #232 (jacobwilliams)

5.1.0 (2016-08-14)

Complete Changeset or Download v5.1.0

Enhancements:

Fixed issues:

5.0.2 (2016-06-11)

Complete Changeset or Download v5.0.2

Note: This release contains no changes to the library, only the documentation.

  • Minor documentation fix.

5.0.1 (2016-06-11)

Complete Changeset or Download v5.0.1

Note: This release contains no changes to the library, only the build system and documentation.

Fixed issues:

  • FORD now uses the Intel preprocessor when library is built with the Intel compiler #205
  • ShellCheck script files #181

Merged pull requests:

  • De-lint shell scripts with ShellCheck, debug FORD upgrade, and various updates to documentation and build system. #201 (zbeekman)

5.0.0 (2016-05-09)

Complete Changeset or Download v5.0.0

See also this Wiki page on how to update your code to be compatible with this release.

Enhancements:

  • Split json_module into multiple files. #168 #170 (jacobwilliams)
  • The library is now thread safe #36 #170 (jacobwilliams)
  • Added new initialize(), failed(), print_error_message(), check_to_errors(), and clear_exceptions() to the json_file class. #170 (jacobwilliams)
  • The number of spaces for indenting can now be user specified. #170 (jacobwilliams)
  • Updates for Visual Studio project #170 (jacobwilliams)
  • Added a validate() method for validating JSON linked lists #196 #197 (jacobwilliams)
  • Added some additional error checks for malformed JSON linked lists #182 (jacobwilliams)
  • Added a new routine is_child_of to check if one json_value is a descendant of another #182 (jacobwilliams)
  • Added new options for case-insensitive searching of names/paths, as well as the option to consider trailing space significant #185 #192 (jacobwilliams)
  • Added a routine to enable swapping of elements in a json_value linked list #177 #182 (jacobwilliams)
  • Rename parameters RK, IK, LK, CK, and CDK using less generic names (json_RK, json_IK, json_LK, json_CK, and json_CDK) #172 (jacobwilliams)
  • Calling the initialize() method (which is now in json_core and json_file) is no longer mandatory #171 (jacobwilliams)
  • Added a rename() method for renaming a json_value variable #184 #187 (jacobwilliams)
  • Added some compiler directives so that workarounds for Gfortran bugs are not used for other compilers #190 (jacobwilliams)
  • Added option for strict typing for get routines #173 (jacobwilliams)
  • Various cosmetic changes and renaming of some of the dummy arguments in some procedures. #198 (jacobwilliams)
  • Added checks to avoid unnecessary looping when traversing arrays if an exception is thrown #183 (jacobwilliams)
  • Added a new get_child method to get the first child. [9d4f736] (jacobwilliams)
  • Added some additional error checks for unassociated pointers [9d4f736] (jacobwilliams)
  • Ensure null pointers are returned for some error cases [838f476] (jacobwilliams)

Fixed Issues

  • Fixed a bug in the traverse() routine, where the finished output flag was not being correctly checked #182 (jacobwilliams)

4.3.0 (2015-12-05)

Complete Changeset or Download v4.3.0

Enhancements:

  • Added routines for getting the parent, next, previous, and tail pointers #161 (jacobwilliams)
  • Added a deep copy routine for json_value structures #160 (jacobwilliams)
  • Updated the Visual Studio solution to VS 2013. Also removed the test projects (it now just compiles the library) (jacobwilliams)

Fixed issues:

  • Rewrote logic for decoding strings, and fixed bugs related to parsing strings with certain escape character combinations #164 (jacobwilliams)
  • Fixed a bug where some real numbers weren't being read in properly. Also added an option to output real numbers with fmt=* formatting #157 (jacobwilliams)

Merged pull requests:

4.2.0 (2015-08-03)

Complete Changeset or Download v4.2.0

Enhancements

Fixed issues:

  • Fixed bad gcov reports being generated due to a gcov/gfortran bug, #131 via PR #137 from zbeekman
  • Fixed inaccurate coverage reports via PR #109 from zbeekman
  • Fixed a small consistency issue when outputting floating point numbers via PR #125
  • Problems writing JSON to error_unit (0) due to JSON-Fortran's special interpretation of unit=0 #85 fixed via PR #111 from zbeekman
  • Broken parsing error message for empty line PR #110 (jacobwilliams)

Merged pull requests:

4.1.1 (2015-05-27)

Complete Changeset or Download v4.1.1

Enhancements

  • Installation now possible with a Homebrew package on Mac OS X
  • CMake install option to use a more traditional Gnu install structure (to support Homebrew installation) PR #101 from zbeekman

Fixed issues:

Merged pull requests:

4.1.0 (2015-05-05)

Complete Changeset or Download v4.1.0

Enhancements:

Merged pull requests:

4.0.0 (2015-03-16)

Complete Changeset or Download v4.0.0

Enhancements

Fixed issues:

  • Stack overflow in destroy for large structure #76 fixed in PR #77 from jacobwilliams
  • Discrepancy with dummy argument attributes for path between get and get_..._vec procedures #79
  • Small bug fix for CMake install #68 (zbeekman)
  • JSON output files from tests are overwriting expected outputs and outputs from other tests #86 (zbeekman)
  • NAG Fortran Errors on module procedure :: change to module procedure with no double colon PR #78 from kmanalo
  • CMake for jf_test_9.f90 broke #74 (zbeekman)

Merged pull requests:

3.1.0 (2015-02-28)

Complete Changeset or Download v3.1.0

Enhancements:

  • Compact real number printing (0.0 instead of 0.00000...E000) with ability to revert to old behavior #39 (implemented in PR #60 from zbeekman and PR #61 from jacobwilliams)
  • Read JSON structure from a character string #5
  • Adopted official contributing guidelines and added a CONTRIBUTING.md #47

Fixed issues:

  • Build script (build.sh) failing with Intel's ifort #53, fixed by PR #54 (from zbeekman)
  • Segfaults and unexpected behavior due to optional dummy arguments being dereferenced outside of if (present(…)) #52
  • Documentation not being produced for tests because tests directory should be sub-directory of src #49
  • Example 8 failing on gfortran 4.9.2 #44
  • CMake Tests 3 and 8 fail due to new test case, example 6, added in e636f96 #30
  • CMake build using makefiles fails if parallel build is specified #8, fixed by PR #50 from zbeekman

Merged pull requests:

3.0.0 (2015-01-18)

Complete Changeset or Download v3.0.0

Fixed issues:

  • Intel compiler bug triggered by commit d2622a8 #41
  • Unaligned data warnings with Intel compiler #34
  • CMake fails due to bad path to robodoc.rc #31
  • Indentation of output wrong for some nested objects #29
  • Intel build broke #28
  • CMake misbehaving when ROBODoc absent #26
  • Differentiate internal (low level, private) procedures/types/etc from public API in documentation #21

Merged pull requests:

2.0.0 (2014-12-27)

Complete Changeset or Download v2.0.0

Enhancements:

  • Significant changes to the API including new procedures
  • Code re-factoring
  • SCons build added thanks to @bruceravel

Fixed issues:

  • enable wiki contributions from the public #23

1.0.0 (2014-06-23)

Download v1.0.0

Enhancements:

Fixed issues:

  • Unit tests fail when compiled with GFortran #19
  • CMake outputs of ROBODoc must be specified in CMakeLists.txt manually #17
  • Invalid JSON input files (test1.json, test5.json) #10, fixed by PR #11 (zbeekman)
  • char() is processor dependent, use achar() #20 (pull request from zbeekman)
  • Bug-fix for ROBODoc documentation generation with CMake #16 (pull request from zbeekman)
  • Change library file from libjson to libjsonfortran #4

* This Change Log was generated with help from github_changelog_generator