Skip to content

Releases: onox/json-ada

v3.0.1

15 Dec 08:58
v3.0.1
7034a5d
Compare
Choose a tag to compare

Changes

  • Increase default value of Maximum_Number_Length to a more sane value

v3.0.0

15 Dec 08:16
v3.0.0
b78a99d
Compare
Choose a tag to compare

A parser will now use a memory allocator to store JSON values of a
JSON array or the key-value pairs of a JSON object in an array of
vectors. The number of vectors does not depend on the size of the parsed
JSON text, but depends on the maximum nesting depth, specified when
instantiating JSON.Types.

JSON_Value no longer contains an Unbounded_String but instead contains
the offset and length of the string in the original stream. This avoids
copying the string and allocating many Unbounded_String.

The type Stream_Object has been removed since it does not allow random
access, which is needed for fetching strings from the stream.

A speed up of more than 4x compared to v2.0.0 or 17x compared to v1.0.0
has been achieved.

Changes

  • Modify how parsed JSON values are stored to speed up parsing
  • Avoid copying strings for string tokens
  • Remove Stream_Object because of no support for random access

v2.0.0

09 Dec 11:17
v2.0.0
f84c793
Compare
Choose a tag to compare

JSON_Value is now a non-abstract tagged type with a discriminant Kind. The 'Class attribute is no longer used. The type does not need to be converted to JSON_Array_Value or JSON_Object_Value in order to iterate over the elements or keys. Parsing large documents is now up to 4x faster.

Future releases may address the usage of the packages Ada.Containers.* and deal with memory allocations.

Changes

  • Refactor JSON.Types and put components in a variant part of JSON_Value
  • Rename function Get_Value_Or_Default to Get

v1.0.1

07 Dec 17:47
v1.0.1
181cf6f
Compare
Choose a tag to compare

Changes

  • Simplify the code for reading literal tokens
  • Fix library version in name of .so file

v1.0.0

05 Dec 13:03
v1.0.0
f736964
Compare
Choose a tag to compare

First stable release.