Skip to content

Releases: danielaparker/jsoncons

Release 0.97.1

04 Mar 03:31
Compare
Choose a tag to compare
  • "Transforming JSON with filters" example fixed
  • Added a class-specific in-place new to the json class that is implemented in terms of the global version (required to create json objects with placement new operator.)
  • Reorganized header files, removing unnecessary includes.
  • Incorporates validation contributed by Alex Merry for ensuring that there is an object or array on parse head.
  • Incorporates fix contributed by Milan Burda for “Switch case is in protected scope” clang build error

Release 0.97

09 Feb 05:06
Compare
Choose a tag to compare

0.97 Release (replaces 0.96)

  • Reversion of 0.96 change:

The virtual methods do_float_value, do_integer_value, and do_unsigned_value of json_input_handler and json_outputhandler have been restored to do_double_value, do_longlong_value and do_ulonglong_value, and their typedefed parameter types float_type, integer_type, and unsigned_type have been restored to double, long long, and unsigned long long.

The rationale for this reversion is that the change doesn't really help to make the software more flexible, and that it's better to leave out the typedefs. There will be future enhancements to support greater numeric precision, but these will not affect the current method signatures.

  • Fix for "unused variable" warning message

Retains these features from 0.96:

Breaking changes:

  • Renamed error_handler to parse_error_handler.
  • Renamed namespace json_parser_error to json_parser_errc
  • Renamed value_adapter to json_type_traits, if you have implemented your own type specializations,
    you will have to rename value_adapter also.
  • Only json arrays now support operator[](size_t) to loop over values, this is no longer supported for json objects. Use a json object iterator instead.

General changes

  • json member function begin_object now returns a bidirectional iterator rather than a random access iterator.
  • Static singleton instance methods have been added to default_parse_error_handler
    and empty_json_input_handler.
  • Added to the json class overloaded static methods parse, parse_string
    and parse_file that take a parse_error_handler as a parameter.
  • Added methods last_char() and eof() to parsing_context.
  • Enhancements to json parsing and json parse event error notification.
  • Added to json_input_handler and json_output_handler a non virtual method value that takes a null terminated string.

Bug fixes:

  • Fixed issue with column number reported by json_reader
  • Where &s[0] and s.length() were passed to methods, &s[0] has been replaced with s.c_str().
    While this shouldn't be an issue on most implementations, VS throws an exception in debug mode when the string has length zero.
  • Fixes two issues in 0.95 reported by Alex Merry that caused errors with GCC: a superfluous typename has been removed in csv_serializer.hpp, and a JSONCONS_NOEXCEPT specifier has been added to the json_parser_category_impl name method.
  • Fixed a number of typename issues in the 0.96 candidate identifed by Ignatov Serguei.
  • Fixes issues with testsuite cmake and scons reported by Alex Merry and Ignatov Serguei

Release 0.95.3

25 Jan 15:07
Compare
Choose a tag to compare
  • Removed "typename" keyword in csv_serializer.hpp at line 62.
  • Added JSONCONS_NOEXCEPT in json_reader.hpp at line 51 (when implementing std::error_category).
  • Fixes to testsuite CMake cmake and scons

Release 0.94.1

09 Dec 23:00
Compare
Choose a tag to compare

Release 0.94.1

Bug fixes:

  • Incorporates fix from Alex Merry for comparison of json objects

Release 0.94

24 Nov 01:46
Compare
Choose a tag to compare

Bug fixes

  • Incorporates contributions from Cory Fields for silencing some compiler warnings
  • Fixes bug reported by Vitaliy Gusev in json object operator[size_t]
  • Fixes bug in json is_empty method for empty objects

Changes

  • json constructors that take string, double etc. are now declared explicit (assignments and defaults to get and make_array methods have their own implementation and do not depend on implicit constructors.)
  • make_multi_array renamed to make_array (old name is still supported)
  • Previous versions supported any type values through special methods set_custom_data, add_custom_data, and custom_data. This version introduces a new type json::any that wraps any values and works with the usual accessors set, add and as, so the specialized methods are no longer required.

Enhancements

  • json get method with default value now accepts extended types as defaults
  • json make_array method with default value now accepts extended types as defaults

New extensions

  • Added jsoncons_ext/boost/type_extensions.hpp to collect
    extensions traits for boost types, in particular, for
    boost::gregorian dates.