Releases: jacobwilliams/json-fortran
Releases Β· jacobwilliams/json-fortran
8.2.3
8.2.2
See also
- The full Changelog.
Summary
- Added support for the Fortran Package Manger.
- Updated CI to use GitHub Actions, including auto-deployment of documentation.
- Eliminated some compiler warnings about real conversions.
- Fixed a bug in test case 47. π
8.2.1
See also
- The full Changelog.
Summary
- Bug fix in
json_value_remove
: the parent and previous pointers should also be nullified when removing from an array. π - Fixed a couple compiler warnings when using the latest Intel Fortran compiler.
- replaced
-std15
with-std18
for the Intel compiler in the FoBiS build file. - Updated the Visual Studio test project with some missing test cases.
8.2.0
8.1.0
See also
- The full Changelog.
Summary
- Added a
json_file = string
assignment operator. - Added optional "default" argument to
json_get_*_by_path
routines. - Added support for multiple comment characters. The default is now to recognize any of
#!/
as comment lines. - Added
recursive
attribute tojson_get_array
. - Updated readme to document the cmake build instructions.
- Fixed bug in
json_get_path
. π
8.0.0
See also
- The full Changelog.
Summary
- Cleanup of the API for reading and writing JSON. The main methods are now called
print
,load
,serialize
anddeserialize
. Note that the previous ones are still present for backward compatibility. - Added a finalizer to the
json_file
type. - Added new optional arguments (
null_to_real_mode
,non_normal_mode
,use_quiet_nan
) to theinitialize
routines to handle NaN and Infinity. - Added a new optional argument (
strict_integer_type_checking
) to the initialize routines. If enabled, when parsing an integer value, if the parsing fails (e.g., the integer is outside the range of the integer kind), it will then attempt to convert it to a real. json_info
will now check for exceptions and raise one if the pointer is not associated.- Allow the parser to work with some nonstandard real value representations (leading
+
, no leading digit before decimal,D/d
format). - Added a character string to
json_file
assignment operator. - Added a
json_print_to_console
method tojson_core
to match the one injson_file
. - The output array is now deallocated if an exception occurs in a
json_get_*_vec
routine. - Updated CMake to enable building JSON-Fortran as a subdirectory of another project.
- Updated CMake for compatibility with older versions < 3.7.
- Allow linking to JSON-Fortran from GFortran programs using OpenCoarrays as the coarray runtime implementation. Use the
-DJSON_FORTRAN_USE_OpenCoarrays:BOOL=ON
option to CMake to enable this. (NOTE: The fact that this is required may be a bug in GFortran.) - Updated the CI system to Travis-CI.com. Expanded and compilers tested, and migrated test setup/teardown to fixtures.
- Fixed a crash in
json_file_check_for_errors
if theerror_msg
was not present. π - Fixed a potential issue with real to integer conversion when the library is compiled with a non-default integer kind. π
- Fixed a dangling pointer in unit test 10. π
7.1.0
See also
- The full Changelog.
Summary
- Added a Visual Studio Code workspace file.
- Improvements to
json_value_get_child_by_index()
efficiency. - Updates to CMake install rule for better compatibility with Visual Studio.
- Fix for undeclared variable causing failing test on Mac π
- Fixed a bug where using
json%add()
to create new variables in a structure would stop the program ifstop_on_failure
was enabled. π
7.0.0
See also
- The full Changelog.
Summary
- Added support for multiple real kinds:
- The library now supports the default real kind specified (
real32
,real64
andreal128
) as well as the kinds in this set with less precision than the default. For example, ifreal64
is specified (which is the default), then bothreal32
andreal64
are available in all the public APIs. Internally, the values are always stored in a variable of the default kind. - Added a
create_real()
method and ajson_real
parameter to replacecreate_double()
andjson_double
. The old versions are still available for backward compatibility. - Added CMake options to control integer and real kinds
- Updated the default real format statement to correctly correspond to the specified real kind.
- The library now supports the default real kind specified (
- Added new
json_file
constructor functions for strings. This allows ajson_file
to be initialized using syntax such as:f = json_file('{"x": 1}')
. - Fixed some links in the documentation.
- Renamed the integrated tests preprocessor flag to
INTEGRATED_TESTS
since it was misspelled. - Fixed an issue where the parser would fail if the JSON structure was just a lone integer. π
- Fixed an issue where the unit tests did not compile when using
real32
orreal128
. π - Fixed various issues preventing compilation if the integer kind was changed from the default. π