This is where to find the documentation corresponding to an official,
tagged release. If you are looking for the most current documentation
of the master
branch, please head back to the
main page.
Documentation: 9.0.1
Download: https://github.com/jacobwilliams/json-fortran/releases/latest
Note: There is currently no way to navigate back to the general/master 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 for convenient navigation.
Documentation for the latest development version may be found at https://jacobwilliams.github.io/json-fortran/prev/9.0.1/index.html or generated locally using the build.sh build script.
Included below is the changelog–a list of significant changes implemented between each release.
Table of Contents
Complete Changeset or Download v9.0.1
Enhancements:
Complete Changeset or Download v9.0.0
Enhancements:
json_file
is now destroyed before loading. This is to prevent a memory leak if the type is used later to load another file. #561 #562 (jacobwilliams) Also added a new option destroy_pointer
to the json_file
load routines, which can be set to False to get the old behavior (not to destroy it). #561 #562 (jacobwilliams)nullify_pointer
option to the json_file
constructor (default is True) (jacobwilliams)
#564 #566allow_trailing_comma
argument to the initialize routines (default is True). If set to False, this disallows extra trailing commas in arrays and objects. #569
#570 (jacobwilliams)Complete Changeset or Download v8.5.2
Bug Fixes:
Complete Changeset or Download v8.5.1
Bug Fixes:
JSONFORTRAN_STATIC_LIBRARY_ONLY
to False. Also restored some of the original CMake settings from 8.4.0. Specifically, the tests are enabled by default, and both the shared and static libraries are built by default. #558 #559 (jacobwilliams)Complete Changeset or Download v8.5.0
Enhancements:
find_package
, fetch_content
, and add_subdirectory
easily. #526 #527 , #528, #529 #556 (K20shores)3.18
.Bug Fixes:
Complete Changeset or Download v8.4.0
Enhancements:
Bug Fixes:
REAL128
kind #550 (jacobwilliams)Complete Changeset or Download v8.3.0
Enhancements:
Bug Fixes:
Complete Changeset or Download v8.2.5
Enhancements:
forall
construct from unit test 12Bug Fixes:
get_current_line_from_file_stream
Complete Changeset or Download v8.2.4
Enhancements:
MultiProcessorCompilation="true"
to the Visual Studio project file.Bug Fixes:
name
values. #491Complete Changeset or Download v8.2.3
Enhancements:
Complete Changeset or Download v8.2.2
Enhancements:
Bug fixes:
Complete Changeset or Download v8.2.1
Enhancements:
-std15
with -std18
for the Intel compiler in the FoBiS build file.Bug fixes:
json_value_remove
: the parent and previous pointers should also be nullified when removing from an array. #477 #479 (jacobwilliams)Complete Changeset or Download v8.2.0
Enhancements:
compress_vectors
option so that now vectors of mixed integers and reals are also compressed. #470 #471 (jacobwilliams)Complete Changeset or Download v8.1.0
Enhancements:
json_file = string
assignment operator #463 #464 #465 (jacobwilliams)#!/
as comment lines. #456 #461 (jacobwilliams)recursive
attribute to json_get_array
#291 #453 (jacobwilliams)json_get_*_by_path
routines #208 #462 (jacobwilliams)Bug fixes:
json_get_path
#452 #454 (jacobwilliams)Complete Changeset or Download v8.0.0
Enhancements:
print
, load
, serialize
and deserialize
. Note that the previous ones are still present for backward compatibility. #397 #409 (jacobwilliams)json_file
type #199 #406 (jacobwilliams)null_to_real_mode
, non_normal_mode
, use_quiet_nan
) to the initialize
routines to handle NaN and Infinity. #395strict_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. #444 #446 (jacobwilliams)json_info
will now check for exceptions and raise one if the pointer is not associated #424 #425 (jacobwilliams)+
, no leading digit before decimal, D/d
format). #417 #418 (jacobwilliams)json_file
assignment operator #410 #411 (jacobwilliams)json_print_to_console
method to json_core
to match the one in json_file
#408json_get_*_vec
routine #416 #419 (jacobwilliams)Bug fixes:
json_file_check_for_errors
if the error_msg
was not present. #420CMake updates:
-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.)CI updates:
Complete Changeset or Download v7.1.0
Enhancements:
json_value_get_child_by_index
efficiency #401 #402 (jacobwilliams)Bug fixes:
json%add()
to create new variables in a structure would stop the program if stop_on_failure
was enabled. #403 #404 (jacobwilliams)Complete Changeset or Download v7.0.0
Enhancements:
real32
, real64
and real128
) as well as the kinds in this set with less precision than the default. For example, if real64
is specified (which is the default), then both real32
and real64
are available in all the public APIs. Internally, the values are always stored in a variable of the default kind. #386 #387 (jacobwilliams)create_real()
method and a json_real
parameter to replace create_double()
and json_double
. The old versions are still available for backward compatibility.json_file
constructor functions for strings. This allows a json_file
to be initialized using syntax such as: f = json_file('{"x": 1}')
. #381 #382 (jacobwilliams)Bug fixes:
real32
or real128
. #383 #384 (jacobwilliams)INTEGRATED_TESTS
since it was mispelled. #390 #391 (jacobwilliams)Complete Changeset or Download v6.11.0
Enhancements:
Complete Changeset or Download v6.10.0
Enhancements:
Bug fixes:
Complete Changeset or Download v6.9.0
Enhancements:
unescape_string()
routine. #351json_file_check_for_errors()
are now optional to match the core routine.
#356unescape_string()
routine. #354\
is now flagged as invalid. #353Fixed bugs:
annotate_invalid_json()
routine. #355jf_test_06
unit test failing on Windows. #357Complete Changeset or Download v6.8.0
Enhancements:
destroy
method could still be used to destroy some malformed JSON linked lists. Also updated the validate
method to check for circular references.
#346 #349 (jacobwilliams)trim_str
and adjustl_str
) to some of the string wrapper routines. #347 #348 (jacobwilliams)Fixed bugs:
destroy
method that was causing unpredictable behavior in this routine which could cause a crash for some compilers #307 #350 (jacobwilliams)Complete Changeset or Download v6.7.0
Enhancements:
json_check_for_errors()
optional, so now either or both can be used. Note that if no error has been raised, then error_msg
is now returned unallocated. #344 #345 (jacobwilliams)json_value_print()
to check for an unassociated pointer. #342 #343 (jacobwilliams)remove()
method to json_file
#339 #340 (jacobwilliams)json_value_add_member()
. Now it will raise an exception if try to add a child to a non-array or non-object. #337 #338 (jacobwilliams)Fixed bugs:
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). #334 #335 (jacobwilliams)Complete Changeset or Download v6.6.0
Enhancements #332 (jacobwilliams)
strict_type_checking=False
. Formerly these cases would raise an exception. #331json_get_by_path()
. Now if using the optional found
argument, any exceptions raised by this routine are cleared. #330name
argument in json_value_remove_if_present()
to ‘path’ to be consistent with other routines since it is really a path. #329Fixed bugs:
wrap_json_get_path()
where an optional argument was being used without checking if it was present. #333Complete Changeset or Download v6.5.0
Enhancements & Fixed Issues:
trim
and adjustl
arguments were added to all the various routines for adding strings and string vectors to JSON #323 (jacobwilliams)trailing_spaces_significant
flag is now respected for name keys when creating a JSON structure. #324 #326 (jacobwilliams)Complete Changeset or Download v6.4.0
Enhancements:
Added optional stop_on_error
argument to the various initialize()
routines to immediately stop the program if an exception is raised. #318 #320 (jacobwilliams)
Added routines to check if a name key is present in a json_file
object, which is also available using the .in.
operator. #316 #319 (jacobwilliams)
Added routines to rename a json variable by specifying the path. #314 #317 (jacobwilliams)
Added a Fobis rule for running the test programs. #321 (jacobwilliams)
Complete Changeset or Download v6.3.0
Enhancements:
Fixed issues:
/
characters in strings would not be printed under some circumstances. This bug was introduced in the 6.2.0 release. #312 (jacobwilliams)Complete Changeset or Download v6.2.0
Enhancements:
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) #304 #305 (jacobwilliams)Fixed issues:
Complete Changeset or Download v6.1.0
Enhancements:
allow_duplicate_keys
argument to the various initialize
routines. This is True by default. If False, then duplicate keys are considered an error. Also added check_for_duplicate_keys
and check_children_for_duplicate_keys
methods that can be called. #250 #290 (jacobwilliams)Fixed issues:
CMAKE_INSTALL_LIBDIR
with INSTALL_LIB_DIR
in the CMake project. #286 (foeroyingur)lowercase_string
routine that could cause a crash for Debug builds. #293 #294 (jacobwilliams)Complete Changeset or Download v6.0.0
Enhancements:
Fixed issues:
no_whitespace
mode could still print line breaks in some cases #288 (jacobwilliams)Complete Changeset or Download v5.3.0
Enhancements:
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)get
routine to return an allocatable string array #245 #265 (jacobwilliams)Fixed issues:
char_count
wasn’t always correct, which caused the error message for invalid JSON to be wrong.
#272 #274 (jacobwilliams)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)Complete Changeset or Download v5.2.0
Enhancements:
compact_reals
and real_format='*'
can now be used at the same time. #226
#227 (jacobwilliams)Fixed issues:
Complete Changeset or Download v5.1.0
Enhancements:
traverse
routine to json_file
#204 #206 (jacobwilliams)get
and set
routines for the json_core
in a json_file
#206 (jacobwilliams)get_path
routine #223 #224 (jacobwilliams)strict_type_checking
is False, the get
routines will now return integer, double, logical, and null values as strings. #224 (jacobwilliams)insert_after
routine #220 #221 (jacobwilliams)json_parameters
module #218 #219 (jacobwilliams)info
routines (json_info_by_path
, json_matrix_info_by_path
, and json_matrix_info
) #213 #212 (jacobwilliams)Fixed issues:
Complete Changeset or Download v5.0.2
Note: This release contains no changes to the library, only the documentation.
Complete Changeset or Download v5.0.1
Note: This release contains no changes to the library, only the build system and documentation.
Fixed issues:
Merged pull requests:
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:
json_module
into multiple files. #168 #170 (jacobwilliams)initialize()
, failed()
, print_error_message()
, check_to_errors()
, and clear_exceptions()
to the json_file
class. #170 (jacobwilliams)validate()
method for validating JSON linked lists #196 #197 (jacobwilliams)is_child_of
to check if one json_value
is a descendant of another #182 (jacobwilliams)json_value
linked list #177 #182 (jacobwilliams)RK
, IK
, LK
, CK
, and CDK
using less generic names (json_RK
, json_IK
, json_LK
, json_CK
, and json_CDK
) #172 (jacobwilliams)initialize()
method (which is now in json_core
and json_file
) is no longer mandatory #171 (jacobwilliams)rename()
method for renaming a json_value
variable #184 #187 (jacobwilliams)get
routines #173 (jacobwilliams)get_child
method to get the first child. [9d4f736] (jacobwilliams)Fixed Issues
traverse()
routine, where the finished
output flag was not being correctly checked #182 (jacobwilliams)Complete Changeset or Download v4.3.0
Enhancements:
parent
, next
, previous
, and tail
pointers #161 (jacobwilliams)json_value
structures #160 (jacobwilliams)Fixed issues:
fmt=*
formatting #157 (jacobwilliams)Merged pull requests:
Complete Changeset or Download v4.2.0
Enhancements
exception_thrown
flag is now true by default before the json_initialize
routine is called to initialize the module. #142 (jacobwilliams)json_info
to get name of json_value
variable.
#141 (jacobwilliams)json_traverse
) to traverse all nodes of a JSON structure #140
via PR #144 from (jacobwilliams)make check
and exclude tests
from all
target
#103
implemented via
PR #104
from zbeekmanFixed issues:
error_unit
(0) due to JSON-Fortran’s
special interpretation of unit=0
#85
fixed via
PR #111
from zbeekmanMerged pull requests:
Complete Changeset or Download v4.1.1
Enhancements
Fixed issues:
CMakeLists.txt accidentally defaulting to Unicode build due to small typo #96, fixed by PR #97 from zbeekman
Merged pull requests:
Complete Changeset or Download v4.1.0
Enhancements:
Merged pull requests:
Complete Changeset or Download v4.0.0
Enhancements
build.sh
build script
PR #82
(zbeekman)build.sh
build script
PR #88
(zbeekman)Fixed issues:
get
and get_..._vec
procedures
#79module procedure ::
change to module
procedure
with no double colon
PR #78
from kmanalojf_test_9.f90
broke
#74
(zbeekman)Merged pull requests:
Complete Changeset or Download v3.1.0
Enhancements:
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)CONTRIBUTING.md
#47Fixed issues:
build.sh
) failing with Intel’s ifort
#53,
fixed by
PR #54
(from zbeekman)if (present(…))
#52Merged pull requests:
Complete Changeset or Download v3.0.0
Fixed issues:
robodoc.rc
#31Merged pull requests:
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:
Enhancements:
associate
construct work around, via
PR #2
(zbeekman)Fixed issues:
test1.json
, test5.json
)
#10,
fixed by
PR #11
(zbeekman)char()
is processor dependent, use achar()
#20
(pull request from zbeekman)libjson
to libjsonfortran
#4* This Change Log was generated with help from github_changelog_generator