DRAFT: Release notes for upcoming release #4630
nlohmann
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Below are the closed issues and pull requests for the upcoming release. This page will be updated to include the final release notes. The content is a work in progress.
Key Updates and Enhancements:
JSON_DIAGNOSTIC_POSITIONS
, introduces member functions to query the byte positions of values in the input they were parsed from. When enabled, this information is also included in exceptions to help pinpoint errors. (json start/end position implementation #4517 Retrieving raw text from subobjects #4455 fix diagnostic positions related compilation errors #4570 Compilation issue with cmake option "JSON_Diagnostic_Positions" ON #4569 fix the abi tests for diagnostics positions feature #4572 Couple of ABI tests failed upon enabling JSON_Diagnostic_Positions cmake option #4571 add a ci step for Json_Diagnostic_Positions #4579 use diagnostic positions in exceptions #4585 Use diagnostic positions in exceptions #4561)json
,ordered_json
, and any otherbasic_json
specialization. (Generate template functions with NLOHMANN_DEFINE_TYPE macros #4597 Cannot assign from ordered_json vector<CustomStruct> to value in not ordered json #2528 nlohmann::ordered_json: not compatible with NLOHMANN_DEFINE_TYPE_INTRUSIVE #4377 Templated versions of NLOHMANN_DEFINE_TYPE_INTRUSIVE and NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE #2532 Add templated version of DEFINE_TYPE macros #2843ordered_json
doesn't support construction from C array of custom type #3810)NLOHMANN_DEFINE_DERIVED_TYPE_*
macros. (Add NLOHMANN_DEFINE_DERIVED_TYPE_* macros #4033 How to Serialize derived class to JSON object? #2199 Add ONLY_SERIALIZE for NLOHMANN_DEFINE_DERIVED_TYPE_* macros #4562)std::optional
: The library now supports conversions from/tostd::optional
types when compiled with C++17. ([C++17] Allow std::optional to convert to nlohmann::json #1749 feat: Rebasefeature/optional
todevelop
#4036)patch
,diff
, andflatten
now work with arbitrary string types. (Allow patch and diff to be used with arbitrary string types #4536 patch_inplace assumes StringType is std::string #4134 fix compilation issue #4613 flatten() function does not compile if an alternative string type is used #4019)Changes
iteration_proxy
is now aforward_iterator
instead of just aninput_iterator
. This allows more use cases whenitems()
is fed into C++20std::views
. The iterator always satisfied all requirements for a forward iterator, but was exposed as only an input iterator by the used iterator tag. iteration_proxy has limited usefulness in C++20 range views #4371 Make iterator_proxy_value a forward_iterator (#4371) #4372Optimization
get_number
function used in the binary format implementations has been optimized to read multiple bytes at once. Optimize binaryget_number
implementation by reading multiple bytes at once #4391Fix
to_json
is erroneously converting enums with underlying unsigned types to signed numbers #4236 Fixto_json
for enums when the enum has an unsigned underlying type. #4237basic_json<>
#4438 Structure declared in natvis file template doesn't seem to match current structure ofbasic_json<>
#4438nullptr
to parse function expectingFILE*
Crash when parsing nullptr #4485 Possible fix for #4485 #4487EINTR
set in errno fix: integer parsed as float when EINTR set in errno #4506number_float
locale-independent Make SAX output locale-independent #4505 SAX interface unexpectedly gets locale-altered float representation. #4084std::tuple<>
cannot be serialized and de-serialized #4530Documentation
update()
#4307 #4307 Updated docx to 3.10.5 from 3.10.4 #4310Custom data source
example. #4335json_pointer.md
#4255operator_{gt,le,lt}.md
#4412 Fix typo in nlohmann_define_derived_type.md #4565plantuml
binary package #4026parse
andaccept
with respect to Crash when parsing nullptr #4485 Possible fix for #4485 #4487ci_test_api_documentation
CI stepFILES.md
.lgtm.yml
fileubuntu-latest
more often and reduce dependencies to more exotic containersstart_pos
andend_pos
.pre-commit-config.yml
filetests/thirdparty/imapdl/filterbr.py
Warnings
modernize-use-std-numbers
,readability-redundant-member-init
,bugprone-unused-local-non-trivial-variable
) Suppress Clang-Tidy warnings #4276modernize-type-traits
andmodernize-avoid-c-arrays
Clang-Tidy warnings inNLOHMANN_JSON_SERIALIZE_ENUM
Suppress warnings in NLOHMANN_JSON_SERIALIZE_ENUM #4497modernize-avoid-c-arrays
clang-tidy warning when usingNLOHMANN_JSON_SERIALIZE_ENUM
macro #3924weak-vtables
warning for exceptions. Fix weak-vtables warning #4500 Getting a weak-vtables warning with clang on ubuntu 22.04 #4087CI/Build
make amalgamate
#4275 Overwork astyle call #4573NLOHMANN_JSON_TARGET_NAME
Allow overriding the CMake target name #4483macos-11
image; the following Xcode versions are no longer tested in the CI: '11.7', '12.4', '12.5.1', '13.0'macos-13
image to test Xcode versions '14.2', '14.3', '14.3.1', '15.0.1', '15.1', '15.2'macos-14
image to test Xcode versions '15.3', '15.4'macos-15
image to test Xcode versions '16.0', '16.1'json-ci
image as these versions are no longer work on the respectivegcc
images (checkout fails)Misc
Beta Was this translation helpful? Give feedback.
All reactions