File nlohmann_json.changes of Package nlohmann_json
-------------------------------------------------------------------
Sun Mar 24 22:25:54 UTC 2019 - Martin Hauke <mardnh@gmx.de>
- Lower required cmake version
- Update to version 3.6.1
New Features
* Overworked the public interface for JSON Pointers. The creation
of JSON Pointers is simplified with operator/ and operator/=.
JSON Pointers can be inspected with empty, back, and
parent_pointer, and manipulated with push_back and pop_back.
* Added a boolean method contains to check whether an element
exists in a JSON object with a given key. Returns false when
acalled on non-object types.
Improvements
* The performance of dumping integers has been greatly improved.
* Added CMake parameter JSON_Install to control whether the
library should be installed (default: on).
* Fixed a lot of compiler and linter warnings.
* Reduced required CMake version from 3.8 to 3.1.
* Added nodiscard attribute to meta(), array(), object(),
from_cbor, from_msgpack, from_ubjson, from_bson, and parse.
-------------------------------------------------------------------
Wed Mar 6 12:09:01 UTC 2019 - Martin Hauke <mardnh@gmx.de>
- Add memory constraints to workaround OOM issues on OBS
-------------------------------------------------------------------
Fri Feb 22 17:51:35 UTC 2019 - olaf@aepfle.de
- Require cmake 3.8
- Use gcc7 instead of gcc6 because this variant is likely available
- Remove unused cppcheck
-------------------------------------------------------------------
Sat Jan 19 11:31:36 UTC 2019 - mardnh@gmx.de
- Update to version 3.5.0
This release introduces the support for structured bindings and
reading from FILE*. Besides, a few bugs have been fixed.
All changes are backward-compatible.
- Update to version 3.4.0
This release introduces three new features:
* BSON (Binary JSON) is next to CBOR, MessagePack, and UBJSON the
fourth binary (de)serialization format supported by the library.
* Adjustable error handlers for invalid Unicode allows to specify
the behavior when invalid byte sequences are serialized.
* Simplified enum/JSON mapping with a macro in case the default
mapping to integers is not desired.
Furthermore, some effort has been invested in improving the parse
error messages. Besides, a few bugs have been fixed.
All changes are backward-compatible.
- Update to version 3.3.0
This release adds support for GCC 4.8. Furthermore, it adds a
function get_to to write a JSON value to a passed reference.
Another topic of this release was the CMake support which has
been overworked and documented.
Besides, a lot of bugs have been fixed and slight improvements
have been made. All changes are backward-compatible.
- Update to version 3.2.0
This release introduces a SAX interface to the library. While
this may be a very special feature used by only few people, it
allowed to unify all functions that consumed input and created
some kind of JSON value. Internally, now all existing functions
like parse, accept, from_cbor, from_msgpack, and from_ubjson use
the SAX interface with different event processors. This allowed
to separate the input processing from the value generation.
Furthermore, throwing an exception in case of a parse error is
now optional and up to the event processor. Finally, the JSON
parser is now non-recursive (meaning it does not use the call
stack, but std::vector<bool> to track the hierarchy of structured
values) which allows to process nested input more efficiently.
Furthermore, the library finally is able to parse from wide string
types. This is the first step toward opening the library from
UTF-8 to UTF-16 and UTF-32.
This release further fixes several bugs in the library.
All changes are backward-compatible.
- Drop patches:
* nlohmann_json-cmake-lib_suffix.patch (not longer needed)
-------------------------------------------------------------------
Tue Apr 10 09:08:51 UTC 2018 - mardnh@gmx.de
- Update to version 3.1.2
Bug Fixes
* Fixed a memory leak occurring in the parser callback (#1001).
* Different specializations of basic_json (e.g., using different template
arguments for strings or objects) can now be used in assignments (#972, #
977, #986).
* Fixed a logical error in an iterator range check (#992).
Improvements
* The parser and the serialization now support user-defined string types (#
1006, #1009).
Further Changes
* Clang Analyzer is now used as additional static analyzer; see make
clang_analyze.
* Overworked README by adding links to the documentation (#981).
Deprecated functions
This release does not deprecate any functions. As an overview, the following
functions have been deprecated in earlier versions and will be removed in the
next major version (i.e., 4.0.0):
* Function iterator_wrapper are deprecated. Please use the member function
items() instead.
* Functions friend std::istream& operator<<(basic_json&, std::istream&) and
friend std::ostream& operator>>(const basic_json&, std::ostream&) are
deprecated. Please use friend std::istream& operator>>(std::istream&,
basic_json&) and friend operator<<(std::ostream&, const basic_json&)
instead.
- Update to version 3.1.1
Bug Fixes
* Fixed parsing of CBOR strings with indefinite length (#961). Earlier
versions of this library misinterpreted the CBOR standard and rejected
input with the 0x7F start byte.
* Fixed user-defined conversion to vector type (#924, #969). A wrong SFINAE
check rejected code though a user-defined conversion was provided.
* Fixed documentation of the parser behavior for objects with duplicate keys
(#963). The exact behavior is not specified by RFC 8259 and the library now
also provides no guarantee which object key is stored.
* Added check to detect memory overflow when parsing UBJSON containers (#962
). The optimized UBJSON format allowed for specifying an array with
billions of null elements with a few bytes and the library did not check
whether this size exceeded max_size().
Further Changes
* Code coverage is now calculated for the individual header files, allowing
to find uncovered lines more quickly than by browsing through the single
header version (#953, #957).
* A Makefile target run_benchmarks was added to quickly build and run the
benchmark suite.
* The documentation was harmonized with respect to the header inclusion (#955
). Now all examples and the README use #include <nlohmann/json.hpp> to
allow for selecting single_include or include or whatever installation
folder as include directory.
* Added note on how to use the library with the cget package manager (#954).
Deprecated functions
This release does not deprecate any functions. As an overview, the following
functions have been deprecated in earlier versions and will be removed in the
next major version (i.e., 4.0.0):
* Function iterator_wrapper are deprecated. Please use the member function
items() instead.
* Functions friend std::istream& operator<<(basic_json&, std::istream&) and
friend std::ostream& operator>>(const basic_json&, std::ostream&) are
deprecated. Please use friend std::istream& operator>>(std::istream&,
basic_json&) and friend operator<<(std::ostream&, const basic_json&)
instead.
- Update to version 3.1.0
Summary
This release adds support for the UBJSON format and JSON Merge Patch. It also
contains some minor changes and bug fixes. All changes are backward-compatible.
New features
* The library now supports UBJSON (Universal Binary JSON Specification) as
binary format to read and write JSON values space-efficiently. See the
documentation overview for a comparison of the different formats CBOR,
MessagePack, and UBJSON.
* JSON Merge Patch (RFC 7386) offers an intuitive means to describe patches
between JSON values (#876, #877). See the documentation of merge_patch for
more information.
Improvements
* The library now uses the Grisu2 algorithm for printing floating-point
numbers (based on the reference implementation by Florian Loitsch) which
produces a short representation which is guaranteed to round-trip (#360, #
935, #936).
* The UTF-8 handling was further simplified by using the decoder of Björn
Hoehrmann in more scenarios.
Reorganization
* Though the library is released as a single header, its development got more
and more complicated. With this release, the header is split into several
files and the single-header file json.hpp can be generated from these
development sources. In the repository, folder include contains the
development sources and single_include contains the single json.hpp header
(#700, #906, #907, #910, #911, #915, #920, #924, #925, #928, #944).
* The split further allowed for a forward declaration header include/nlohmann
/json_fwd.hpp to speed up compilation times (#314).
Further changes
* Google Benchmark is now used for micro benchmarks (see benchmarks folder, #
921).
* The serialization (JSON and binary formats) now properly work with the
libraries string template parameter, allowing for optimized string
implementations to be used in constraint environments such as embedded
software (#941, #950).
* The exceptional behavior can now be overridden by defining macros
JSON_THROW_USER, JSON_TRY_USER, and JSON_CATCH_USER, defining the behavior
of throw, try and catch, respectively. This allows to switch off C++'s
exception mechanism yet still execute user-defined code in case an error
condition occurs (#938).
* To facilitate the interplay with flex and Bison, the library does not use
the variable name yytext any more as it could clash with macro definitions
(#933).
* The library now defines NLOHMANN_JSON_VERSION_MAJOR,
NLOHMANN_JSON_VERSION_MINOR, and NLOHMANN_JSON_VERSION_PATCH to allow for
conditional compilation based on the included library version (#943, #948).
* A compilation error with ICC has been fixed (#947).
* Typos and links in the documentation have been fixed (#900, #930).
* A compiler error related to incomplete types has been fixed (#919).
* The tests form the UTF-8 decoder stress test have been added to the test
suite.
Deprecated functions
* Function iterator_wrapper has been deprecated (#874). Since its
introduction, the name was up for discussion, as it was too technical. We
now introduced the member function items() with the same semantics.
iterator_wrapper will be removed in the next major version (i.e., 4.0.0).
Furthermore, the following functions are deprecated since version 3.0.0 and
will be removed in the next major version (i.e., 4.0.0):
* friend std::istream& operator<<(basic_json&, std::istream&)
* friend std::ostream& operator>>(const basic_json&, std::ostream&)
Please use friend std::istream& operator>>(std::istream&, basic_json&) and
friend operator<<(std::ostream&, const basic_json&) instead.
- Rebase patch:
* nlohmann_json-cmake-lib_suffix.patch
-------------------------------------------------------------------
Wed Jan 24 08:24:28 UTC 2018 - mpluskal@suse.com
- Build in build phase
- Utilise more cmake macros
- Fix building on Leap
-------------------------------------------------------------------
Tue Jan 23 07:35:12 UTC 2018 - adam.majer@suse.de
- Fix typo
-------------------------------------------------------------------
Thu Jan 18 08:56:41 UTC 2018 - adam.majer@suse.de
- Remove some buzzwords from Summary and Description
- Only build unit tests in the %check target
- Use gcc6-c++ for %check as it is available in Leap 42.3
-------------------------------------------------------------------
Sat Jan 13 14:09:53 UTC 2018 - mardnh@gmx.de
- Initial package, version 3.0.1
- Add patch:
* nlohmann_json-cmake-lib_suffix.patch