Skip to content

Release 0.178.0

Latest
Compare
Choose a tag to compare
@danielaparker danielaparker released this 31 Oct 13:22
· 58 commits to master since this release

Defect fixes:

  • Fixed issue with jmespath::join function through PR #546

  • Fixed issue with the path for cmake config files through PR #547

  • Related to #539, made the basic_json constructor basic_json(const Allocator&)
    consistent with basic_json(json_object_arg_t, const Allocator& alloc = Allocator()).

  • Related to #539, basic_json copy construction now applies allocator traits select_on_container_copy_construction
    to the allocator obtained from other. For pmr allocators, this gives a default constructed pmr allocator rather
    than a copy of the allocator in other.

Enhancements:

  • Improved the implementation of basic_json swap. Previously in some cases it would allocate.

  • Improved the implementation of basic_json copy assignment. Reduced allocations when assigning from array to array and object to
    object.

  • Documented the rules for basic_json allocators here,
    and added numerous tests for conformance to the rules.

  • Added missing basic_json constructor

basic_json(json_array_arg_t, 
    std::size_t count, const basic_json& value, semantic_tag tag = semantic_tag::none, 
    const Allocator& alloc = Allocator());