Releases: jacobwilliams/json-fortran
Releases · jacobwilliams/json-fortran
6.10.0
6.9.0
See also
- The full Changelog.
Summary
- Some efficiency improvements when parsing strings.
- Speed up the
unescape_string()
routine. - Some cleanup and efficiency improvements for hex string validation.
- Speed up the
- Various updates to error message reporting.
- The two arguments to
json_file_check_for_errors()
are now optional to match the core routine. - Some adjustments to error messages for invalid hex strings. Validation of hex strings is now done in the
unescape_string()
routine. - A string that ends in an escape character
\
is now flagged as invalid.
- The two arguments to
- Fixed a bug in the
annotate_invalid_json()
routine. 🐞 - Fixed an issue with the
jf_test_06
unit test failing on Windows. 🐞
6.8.0
See also
- The full Changelog.
Summary
- Added some additional checks so that the
destroy
method could still be used to destroy some malformed JSON linked lists. Also updated thevalidate
method to check for circular references. - Added missing arguments (
trim_str
andadjustl_str
) to some of the string wrapper routines. - Fixed a dangling pointer bug in the
destroy
method that was causing unpredictable behavior in this routine which could cause a crash for some compilers. 🪲 - Various minor changes to remove some compiler warnings and a line length standards violation.
- Various documentation string updates.
6.7.0
See also
- The full Changelog.
Summary
- Made the two arguments to
json_check_for_errors()
optional, so now either or both can be used. Note that if no error has been raised, thenerror_msg
is now returned unallocated. - Added an additional error check in
json_value_print()
to check for an unassociated pointer. - Added
remove()
method tojson_file
- Added additional error checks to
json_value_add_member()
. Now it will raise an exception if try to add a child to a non-array or non-object. - Added some additional unit tests to increase coverage.
- Fixed a bug in
json_value_clone_func()
where it could crash if attempting to clone an array element. Updated this routine to improve behavior when cloning an array element (the subsequent entries are no longer cloned). 🐞
6.6.0
See also
- The full Changelog.
Summary
- Now, attempting to get a string variable as an integer, double, or logical will attempt to convert it from a string if
strict_type_checking=False
. Formerly these cases would raise an exception. - Fixed an inconsistency in
json_get_by_path()
. Now if using the optionalfound
argument, any exceptions raised by this routine are cleared. - Changed the
name
argument injson_value_remove_if_present()
to 'path' to be consistent with other routines since it is really a path. - Fixed a bug in
wrap_json_get_path()
where an optional argument was being used without checking if it was present. 🐞 - Various documentation string updates.
6.5.0
6.4.0
See also
- The full Changelog.
Summary
- Added optional
stop_on_error
argument to the variousinitialize()
routines to immediately stop the program if an exception is raised (the default is False). - Added routines to check if a name key is present in a
json_file
object, which is also available using the.in.
operator (e.g.,if ('key' .in. json) ...
). - Added routines to rename a JSON variable by specifying the path.
- Added a Fobis rule for running the test programs. Run using:
FoBis.py rule --execute tests -f json-fortran.fobis
6.3.0
See also
- The full Changelog.
Summary
- Fixed a bug in the escaping logic where
/
characters in strings would not be printed under some circumstances. This bug was introduced in the 6.2.0 release. - Added a FoBiS configuration file that can be used to build the library, tests, and documentation.
- CMake produced Visual Studio Project works now.
- Minor changes: renamed some of the example files and reverted back to older versions of FoBiS and markdown for documentation building on Travis-CI.
6.2.0
See also
- The full Changelog.
Summary
- Added a new option
escape_solidus
to specify if the forward slash ("/
") is to be escaped when serializing JSON. By default, it is no longer escaped (this changes the behavior introduced in 6.0.0) - Allow the unit tests to be run from within the Visual Studio solution
- Compiling now works for the CMake-produced Visual Studio solution on Windows (note that the CMake-produced solution is a bit different from the other one provided).
- Fixed an issue causing a problem with the NAG compiler.
6.1.0
See also
- The full Changelog.
Summary
- Added an optional
allow_duplicate_keys
argument to the variousinitialize
routines. This is True by default. If False, then duplicate keys are considered an error. Also addedcheck_for_duplicate_keys
andcheck_children_for_duplicate_keys
methods that can be called. - Added support for JSONPath "bracket-notation" mode for specifying paths to JSON variables.
- Replaced
CMAKE_INSTALL_LIBDIR
withINSTALL_LIB_DIR
in the CMake project. - Fixed bug in the
lowercase_string
routine that could cause a crash for Debug builds.