Niels Lohmann
54be9b04f0
📄 update REUSE ( #4960 )
2025-10-23 06:56:36 +02:00
Niels Lohmann
b19f058465
Encode infinity and NaN as float for MsgPack and CBOR ( #4802 )
...
* 🚸 encode infinity and NaN as float for MsgPack and CBOR
Signed-off-by: Niels Lohmann <mail@nlohmann.me >
* 🚨 suppress warnings
Signed-off-by: Niels Lohmann <mail@nlohmann.me >
---------
Signed-off-by: Niels Lohmann <mail@nlohmann.me >
2025-06-01 18:50:14 +02:00
NmPassTHFan
46e7cd3dc2
Replace deprecated std::is_trivial in C++26 ( #4775 )
2025-05-16 16:11:44 +02:00
Niels Lohmann
9110918cf8
Fix typos ( #4748 )
...
* ✏️ fix typos
Signed-off-by: Niels Lohmann <mail@nlohmann.me >
* ✏️ address review comments
Signed-off-by: Niels Lohmann <mail@nlohmann.me >
* ✏️ address review comments
Signed-off-by: Niels Lohmann <mail@nlohmann.me >
---------
Signed-off-by: Niels Lohmann <mail@nlohmann.me >
2025-05-04 10:28:24 +02:00
Niels Lohmann
88c92e605c
Fix compilation failure and warnings with NVHPC ( #4744 )
...
* 🚨 fix warnings
Signed-off-by: Niels Lohmann <mail@nlohmann.me >
* 🚨 fix warnings
Signed-off-by: Niels Lohmann <mail@nlohmann.me >
* ⚗️ enable ranges support
Signed-off-by: Niels Lohmann <mail@nlohmann.me >
* 🔥 remove ci_nvhpc job
Signed-off-by: Niels Lohmann <mail@nlohmann.me >
* ⚗️ enable ranges support
Signed-off-by: Niels Lohmann <mail@nlohmann.me >
* 🔥 remove ci_nvhpc job
Signed-off-by: Niels Lohmann <mail@nlohmann.me >
* 🚨 fix warning
Signed-off-by: Niels Lohmann <mail@nlohmann.me >
---------
Signed-off-by: Niels Lohmann <mail@nlohmann.me >
2025-04-16 16:09:21 +02:00
Niels Lohmann
1705bfe914
🔖 set version to 3.12.0 ( #4727 )
...
Signed-off-by: Niels Lohmann <mail@nlohmann.me >
2025-04-11 10:41:14 +02:00
Niels Lohmann
f06604fce0
Bump the copyright years ( #4606 )
...
* 📄 bump the copyright years
Signed-off-by: Niels Lohmann <mail@nlohmann.me >
* 📄 bump the copyright years
Signed-off-by: Niels Lohmann <mail@nlohmann.me >
* 📄 bump the copyright years
Signed-off-by: Niels Lohmann <niels.lohmann@gmail.com >
---------
Signed-off-by: Niels Lohmann <mail@nlohmann.me >
Signed-off-by: Niels Lohmann <niels.lohmann@gmail.com >
2025-01-19 17:04:17 +01:00
Michael Valladolid
2d42229f4d
Support BSON uint64 de/serialization ( #4590 )
...
* Support BSON uint64 de/serialization
Signed-off-by: Michael Valladolid <mikevalladolid@gmail.com >
* Treat 0x11 as uint64 and not timestamp specific
Signed-off-by: Michael Valladolid <mikevalladolid@gmail.com >
---------
Signed-off-by: Michael Valladolid <mikevalladolid@gmail.com >
2025-01-10 14:59:55 +01:00
Nebojša Cvetković
48e7b4c23b
BJData Fixes ( #4588 )
2025-01-07 22:10:38 +01:00
Nebojša Cvetković
2e50d5b2f3
BJData optimized binary array type ( #4513 )
2025-01-07 18:09:19 +01:00
Niels Lohmann
1b9a9d1f21
Update licenses ( #4521 )
...
* 📄 update licenses
* 📄 update licenses
2024-11-29 17:38:42 +01:00
Niels Lohmann
1825117e63
Another desperate try to fix the CI ( #4489 )
...
* 🚨 fix warning
* 💚 update actions
* 🚨 fix warning
* 🚨 fix warning
* 🚨 fix warning
* 💚 update actions
* 💚 update actions
* 🚨 fix warning
* 🚨 fix warning
* 💚 update actions
* 🚨 fix warning
* 💚 update actions
* 💚 update actions
* 💚 update actions
* 🚨 fix warning
* 🚨 fix warning
* 🚨 fix warning
* 🚨 fix warning
* 💚 update actions
* 💚 update actions
* 🚨 fix warning
* 💚 update actions
* 💚 update actions
* 💚 update actions
* 💚 update actions
* 💚 update actions
2024-11-13 10:21:26 +01:00
Niels Lohmann
9cca280a4d
JSON for Modern C++ 3.11.3 ( #4222 )
2023-11-28 22:36:31 +01:00
Niels Lohmann
f56c6e2e30
Update documentation for the next release ( #4216 )
2023-11-26 15:51:19 +01:00
Raphael Grimm
bbe337c3a3
Prevent memory leak when exception is thrown in adl_serializer::to_json ( #3901 )
...
Co-authored-by: barcode <barcode@example.com >
2023-03-08 13:43:45 +01:00
Niels Lohmann
58bd97e2b1
Add clang-tools to required tools for ci_static_analysis_clang ( #3724 )
...
* 💚 add clang-tools to required tools for ci_static_analysis_clang
* 🚨 update Clang-Tidy warning selection
* 🚨 fix Clang-Tidy warnings
* 🚨 fix Clang-Tidy warnings
* 🚨 fix Clang-Tidy warnings
* 🚨 fix Clang-Tidy warnings
* 🚨 fix Clang-Tidy warnings
* 🚨 fix Clang-Tidy warnings
* 🚨 fix Clang-Tidy warnings
* 🚨 fix Clang-Tidy warnings
* 🚨 fix Clang-Tidy warnings
* 🚨 fix Clang-Tidy warnings
* 🚨 fix Clang-Tidy warnings (#3738 )
* ⏪ revert fix
* ⏪ revert fix
* 🚨 fix Clang-Tidy warnings (#3739 )
Co-authored-by: Florian Albrechtskirchinger <falbrechtskirchinger@gmail.com >
2022-09-13 12:58:26 +02:00
Niels Lohmann
9d69186291
🔖 set version to 3.11.2
2022-08-12 15:04:06 +02:00
Niels Lohmann
f2020da0dd
🔖 set version to 3.11.1
2022-08-01 23:27:58 +02:00
Niels Lohmann
ce0e13ccea
🔖 set version to 3.11.0
2022-07-31 23:19:06 +02:00
Florian Albrechtskirchinger
d909f80960
Add versioned, ABI-tagged inline namespace and namespace macros ( #3590 )
...
* Add versioned inline namespace
Add a versioned inline namespace to prevent ABI issues when linking code
using multiple library versions.
* Add namespace macros
* Encode ABI information in inline namespace
Add _diag suffix to inline namespace if JSON_DIAGNOSTICS is enabled, and
_ldvcmp suffix if JSON_USE_LEGACY_DISCARDED_VALUE_COMPARISON is enabled.
* Move ABI-affecting macros into abi_macros.hpp
* Move std_fs namespace definition into std_fs.hpp
* Remove std_fs namespace from unit test
* Format more files in tests directory
* Add unit tests
* Update documentation
* Fix GDB pretty printer
* fixup! Add namespace macros
* Derive ABI prefix from NLOHMANN_JSON_VERSION_*
2022-07-30 21:59:13 +02:00
Niels Lohmann
527da54dcb
Use REUSE framework ( #3546 )
...
* 📄 add licenses
* 👷 add REUSE compliance check
* 📝 add badge for REUSE
Co-authored-by: Florian Albrechtskirchinger <falbrechtskirchinger@gmail.com >
2022-07-20 12:38:07 +02:00
Qianqian Fang
ee51661481
Support UBJSON-derived Binary JData (BJData) format ( #3336 )
...
* support UBJSON-derived Binary JData (BJData) format
* fix Codacy warning
* partially fix VS compilation errors
* fix additional VS errors
* fix more VS compilation errors
* fix additional warnings and errors for clang and msvc
* add more tests to cover the new bjdata types
* add tests for optimized ndarray, improve coverage, fix clang/gcc warnings
* gcc warn useless conversion but msvc gives an error
* fix ci_test errors
* complete test coverage, fix ci_test errors
* add half precision error test
* fix No newline at end of file error by clang
* simplify endian condition, format unit-bjdata
* remove broken test due to alloc limit
* full coverage, I hope
* move bjdata new markers from default to the same level as ubjson markers
* fix ci errors, add tests for new bjdata switch structure
* make is_bjdata const after using initializer list
* remove the unwanted assert
* move is_bjdata to an optional param to write_ubjson
* pass use_bjdata via output adapter
* revert order to avoid msvc 2015 unreferenced formal param error
* update BJData Spect V1 Draft-2 URL after spec release
* amalgamate code
* code polishing following @gregmarr's feedback
* make use_bjdata a non-default parameter
* fix ci error, remove unwanted param comment
* encode and decode bjdata ndarray in jdata annotations, enable roundtrip tests
* partially fix ci errors, add tests to improve coverage
* polish patch to remove ci errors
* fix a ndarray dim vector condition
* fix clang tidy error
* add sax test cases for ndarray
* add additional sax event tests
* adjust sax event numbering
* fix sax tests
* ndarray can only be used with array containers, discard if used in object
* complete test coverage
* disable [{SHTFNZ in optimized type due to security risks in #2793 and hampered readability
* fix ci error
* move OutputIsLittleEndian from tparam to param to replace use_bjdata
* fix ci clang gcc error
* fix ci static analysis error
* update json_test_data to 3.1.0, enable file-based bjdata unit tests
* fix stack overflow error on msvc 2019 and 2022
* use https link, update sax_parse_error after rebase
* make input_format const and use initializer
* return bool for write_bjdata_ndarray
* test write_bjdata_ndarray return value as boolean
* fix ci error
2022-04-29 21:17:30 +02:00
Florian Albrechtskirchinger
616caea27a
Re-template json_pointer on string type ( #3415 )
...
* Make exception context optional
Change exception context parameter to pointer and replace context with
nullptr where appropriate.
* Support escaping other string types
* Add string concatenation function
Add variadic concat() function for concatenating char *, char, and
string types.
* Replace string concatenations using + with concat()
* Template json_pointer on string type
Change json_pointer from being templated on basic_json to being
templated on string type.
* Add unit test for #3388
Closes #3388 .
* Fix regression test for #2958
* Add backwards compatibility with json_pointer<basic_json>
* Update json_pointer docs
* Allow comparing different json_pointers
* Update version numbers
2022-04-12 14:18:16 +02:00
Niels Lohmann
6d3115924c
Add C++17 copies of the test binaries ( #3101 )
...
* ⚗️ add C++17 copies of the test binaries
* ⚗️ use proper header for filesystem
* 🚨 fix warnings
* ⚗️ do not use too old compilers with C++17
* ✅ add test
* 🔨 add more constraints #3097
* ⚗️ use fix from https://github.com/nlohmann/json/pull/3101#issuecomment-998788786
* ⚗️ use fix from https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90050
* 👷 use published CI image
2021-12-29 09:47:05 +01:00
Alex Beregszaszi
834918018e
Fix spelling ( #3125 )
2021-11-09 14:46:58 +01:00
Pierre Hallot
433604843d
Fix extra ";" clang warnings
2021-08-19 17:04:34 +02:00
Niels Lohmann
0a0eb7a850
Merge branch 'develop' of https://github.com/nlohmann/json into issue2863
...
Conflicts:
.github/workflows/windows.yml
2021-08-14 11:19:48 +02:00
Ferry Huberts
e7a69b8d31
Adjust more files after actually building like the CI
...
Signed-off-by: Ferry Huberts <ferry.huberts@pelagic.nl >
2021-08-13 14:00:00 +02:00
Niels Lohmann
e20f3f95eb
🚨 guard GCC pragmas #2924
2021-08-11 23:55:46 +02:00
Niels Lohmann
8ae31a56a5
Merge branch 'develop' of https://github.com/nlohmann/json into issue2824
2021-08-11 08:06:32 +02:00
Niels Lohmann
b7db1d68d9
♻️ fix CBOR and BSON
2021-08-06 14:36:38 +02:00
Sven Fink
095aae19fe
Supress -Wfloat-equal on intended float comparisions
2021-08-03 08:58:38 +02:00
Niels Lohmann
c3df4ffd5a
🚨 fix warning
2021-08-01 14:08:14 +02:00
Niels Lohmann
6f551930e5
🚨 add new CI and fix warnings ( #2561 )
...
* ⚗️ move CI targets to CMake
* ♻️ add target for cpplint
* ♻️ add target for self-contained binaries
* ♻️ add targets for iwyu and infer
* 🔊 add version output
* ♻️ add target for oclint
* 🚨 fix warnings
* ♻️ rename targets
* ♻️ use iwyu properly
* 🚨 fix warnings
* ♻️ use iwyu properly
* ♻️ add target for benchmarks
* ♻️ add target for CMake flags
* 👷 use GitHub Actions
* ⚗️ try to install Clang 11
* ⚗️ try to install GCC 11
* ⚗️ try to install Clang 11
* ⚗️ try to install GCC 11
* ⚗️ add clang analyze target
* 🔥 remove Google Benchmark
* ⬆️ Google Benchmark 1.5.2
* 🔥 use fetchcontent
* 🐧 add target to download a Linux version of CMake
* 🔨 fix dependency
* 🚨 fix includes
* 🚨 fix comment
* 🔧 adjust flags for GCC 11.0.0 20210110 (experimental)
* 🐳 user Docker image to run CI
* 🔧 add target for Valgrind
* 👷 add target for Valgrind tests
* ⚗️ add Dart
* ⏪ remove Dart
* ⚗️ do not call ctest in test subdirectory
* ⚗️ download test data explicitly
* ⚗️ only execute Valgrind tests
* ⚗️ fix labels
* 🔥 remove unneeded jobs
* 🔨 cleanup
* 🐛 fix OCLint call
* ✅ add targets for offline and git-independent tests
* ✅ add targets for C++ language versions and reproducible tests
* 🔨 clean up
* 👷 add CI steps for cppcheck and cpplint
* 🚨 fix warnings from Clang-Tidy
* 👷 add CI steps for Clang-Tidy
* 🚨 fix warnings
* 🔧 select proper binary
* 🚨 fix warnings
* 🚨 suppress some unhelpful warnings
* 🚨 fix warnings
* 🎨 fix format
* 🚨 fix warnings
* 👷 add CI steps for Sanitizers
* 🚨 fix warnings
* ⚡ add optimization to sanitizer build
* 🚨 fix warnings
* 🚨 add missing header
* 🚨 fix warnings
* 👷 add CI step for coverage
* 👷 add CI steps for disabled exceptions and implicit conversions
* 🚨 fix warnings
* 👷 add CI steps for checking indentation
* 🐛 fix variable use
* 💚 fix build
* ➖ remove CircleCI
* 👷 add CI step for diagnostics
* 🚨 fix warning
* 🔥 clean Travis
2021-03-24 07:15:18 +01:00
Niels Lohmann
74cc0ab470
♻️ remove diagnostics_t class
2021-01-25 13:47:50 +01:00
Niels Lohmann
1d6ba22f15
♻️ simplify code
2021-01-10 14:10:59 +01:00
Niels Lohmann
e160749003
♻️ move diagnostic code in header
2021-01-09 19:21:18 +01:00
Niels Lohmann
7323a8eb4e
🚧 add tests
2021-01-02 16:13:04 +01:00
Niels Lohmann
33662417c1
✅ improve coverage
2020-07-24 09:32:03 +02:00
Niels Lohmann
a9117828e1
🚨 fix warnings
2020-07-20 22:38:00 +02:00
Niels Lohmann
8aa6da61dc
🚧 support for UBJSON high-precision numbers #2286
2020-07-20 13:57:19 +02:00
Niels Lohmann
a10d486e36
Merge pull request #2244 from matthewbauer/tag-cbor
...
Tag binary values in cbor if set
2020-07-17 14:05:48 +02:00
Niels Lohmann
dc06f100be
Merge branch 'develop' of https://github.com/nlohmann/json into clang_windows
...
Conflicts:
include/nlohmann/detail/input/binary_reader.hpp
include/nlohmann/detail/input/json_sax.hpp
include/nlohmann/detail/input/lexer.hpp
include/nlohmann/detail/input/parser.hpp
include/nlohmann/detail/json_pointer.hpp
include/nlohmann/detail/output/serializer.hpp
include/nlohmann/json.hpp
single_include/nlohmann/json.hpp
2020-07-11 14:04:40 +02:00
Niels Lohmann
889f269a6c
♻️ replace further alternative operators
2020-07-11 13:51:25 +02:00
Niels Lohmann
98b1c6d302
🚩 use JSON_ASSERT(x) instead of assert(x)
2020-07-06 12:22:31 +02:00
Matthew Bauer
e54f03f73b
Tag binary values in cbor if set
...
CBOR has tags, which work similarly to "subtype"s:
https://www.iana.org/assignments/cbor-tags/cbor-tags.xhtml
Unsure if this makes sense. Note that the subtype must just be one
byte wide.
2020-07-02 17:40:02 -04:00
Niels Lohmann
ac3922c7aa
Merge branch 'develop' of https://github.com/nlohmann/json into clang_windows
...
Conflicts:
include/nlohmann/detail/input/binary_reader.hpp
include/nlohmann/detail/input/input_adapters.hpp
include/nlohmann/detail/input/lexer.hpp
include/nlohmann/detail/output/binary_writer.hpp
include/nlohmann/json.hpp
single_include/nlohmann/json.hpp
2020-06-27 13:14:48 +02:00
Niels Lohmann
8b3d2399a4
🚨 remove warnings
2020-06-22 22:32:21 +02:00
Niels Lohmann
b64002bbca
♻️ extract common code to function
2020-06-19 13:24:08 +02:00
Niels Lohmann
88a37010d6
🐛 serialize 32-bit floating-point numbers as float 32 in MessagePack (0xCA) #2196
2020-06-17 21:14:23 +02:00