diff options
| author | Mehmet Samet Duman <yongdohyun@projecttick.org> | 2026-04-03 19:18:35 +0300 |
|---|---|---|
| committer | Mehmet Samet Duman <yongdohyun@projecttick.org> | 2026-04-03 19:18:35 +0300 |
| commit | 473d922faed49241a5d29d9e37dc4819cd512006 (patch) | |
| tree | d3c38198beb42cac134d08410e4ad1dbfe42475f | |
| parent | 2a3a110dac53b271caf9aa97776cf95efecc83bc (diff) | |
| download | Project-Tick-473d922faed49241a5d29d9e37dc4819cd512006.tar.gz Project-Tick-473d922faed49241a5d29d9e37dc4819cd512006.zip | |
NOISSUE remove unused files
Signed-off-by: Mehmet Samet Duman <yongdohyun@projecttick.org>
| -rw-r--r-- | .github/workflows/images4docker-build.yml | 6 | ||||
| -rw-r--r-- | cgit/.mailmap | 1 | ||||
| -rw-r--r-- | cgit/AUTHORS | 2 | ||||
| -rw-r--r-- | cmark/changelog.txt | 1552 | ||||
| -rw-r--r-- | forgewrapper/gradle.properties | 2 | ||||
| -rw-r--r-- | genqrcode/ChangeLog | 1826 | ||||
| -rw-r--r-- | genqrcode/NEWS | 360 | ||||
| -rw-r--r-- | genqrcode/TODO | 5 | ||||
| -rw-r--r-- | json4cpp/.cirrus.yml | 17 | ||||
| -rw-r--r-- | json4cpp/ChangeLog.md | 3272 | ||||
| -rw-r--r-- | tomlplusplus/.gitmodules | 0 | ||||
| -rw-r--r-- | tomlplusplus/CHANGELOG.md | 764 | ||||
| -rw-r--r-- | tomlplusplus/CODE_OF_CONDUCT.md | 76 | ||||
| -rw-r--r-- | uvim/.appveyor.yml | 52 | ||||
| -rw-r--r-- | uvim/.cirrus.yml | 31 |
15 files changed, 4 insertions, 7962 deletions
diff --git a/.github/workflows/images4docker-build.yml b/.github/workflows/images4docker-build.yml index 4657d06d29..e91b2a5368 100644 --- a/.github/workflows/images4docker-build.yml +++ b/.github/workflows/images4docker-build.yml @@ -80,6 +80,6 @@ jobs: push: true provenance: false tags: | - ghcr.io/${{ github.repository_owner }}/images/${{ matrix.name }}:latest - ghcr.io/${{ github.repository_owner }}/images/${{ matrix.name }}:${{ steps.tagmeta.outputs.sha_tag }} - ghcr.io/${{ github.repository_owner }}/images/${{ matrix.name }}:${{ steps.tagmeta.outputs.immutable_tag }} + ghcr.io/project-tick/project-tick/${{ matrix.name }}:latest + ghcr.io/project-tick/project-tick/${{ matrix.name }}:${{ steps.tagmeta.outputs.sha_tag }} + ghcr.io/project-tick/project-tick/${{ matrix.name }}:${{ steps.tagmeta.outputs.immutable_tag }} diff --git a/cgit/.mailmap b/cgit/.mailmap deleted file mode 100644 index adcfa659da..0000000000 --- a/cgit/.mailmap +++ /dev/null @@ -1 +0,0 @@ -Mehmet Samet Duman <yongdohyun@mail.projecttick.org> <froster12@naver.com> diff --git a/cgit/AUTHORS b/cgit/AUTHORS deleted file mode 100644 index 0954bc177c..0000000000 --- a/cgit/AUTHORS +++ /dev/null @@ -1,2 +0,0 @@ -Maintainer: - Mehmet Samet Duman <froster12@naver.com> diff --git a/cmark/changelog.txt b/cmark/changelog.txt deleted file mode 100644 index 3cb825bd9e..0000000000 --- a/cmark/changelog.txt +++ /dev/null @@ -1,1552 +0,0 @@ -[0.31.2] - - * Export `cmark_node_is_inline`, `cmark_node_is_block`, - `cmark_node_is_leaf` [non-breaking API change]. - - * Don't append a newline character when rendering inline nodes - (Samuel Williams). - - * Fix inline source positions (#551, Nick Wellnhofer). - Account for partially removed delimiter chars. - - * Commonmark renderer: fix bug with empty item at end of list (#583). - - * Fix email autolink rendering in latex (#595). - - * CMake: Remove handling CMP0063 (Christophh Grüninger). - Required CMake is 3.7 which automatically sets CMP0063 to NEW. - - * Makefile: Don't depend on $(SPEC) (Nick Wellnhofer). - The spec file is always present. - - * Makefile: Clean up cmake invocations (Nick Wellnhofer). - Use cmake command to build and install instead of invoking make. Also - use -G option consistently. This allows to use other generators like - Ninja: `make GENERATOR=Ninja`. - - * Fix python warnings about regexp escape sequences - (Azamat H. Hackimov). - - * Update cmake_minimum_required to 3.14 (Azamat H. Hackimov). - - * Update to Unicode 17.0 (Dmitry Atamanov). - - * README: Make cmake instructions more portable and simple - (Nick Wellnhofer). Don't assume that make is used. Don't - change directories. - - * Replace link to unmaintained Python bindings (Ofek Lev). - -[0.31.1] - - * Flag root node as open in `cmark_parser_new_with_mem_into_root` (#532). - - * Remove `source`, add `search` to list of block tags - (a spec 0.31 change we forgot in last release). - - * Accept lowercase inline HTML declarations (Michael Howell). - - * Remove unused functions (Nick Wellnhofer). - - * utf8: - - + Fix encoding of U+FFFE and U+FFFF (#548, Nick Wellnhofer). - + Rework case folding (Nick Wellnhofer). Using a table and binary - search instead of a generated switch statement significantly - reduces the size of the compiled code. - - * houdini: - - + Rename `houdini_escape_html0` -> `houdini_escape_html` (#536). - + Rework HTML entity table (Nick Wellnhofer). - The new layout saves about 20 KB and removes 50 KB of relocation - entries from the shared library, also speeding up loading. - - * cmake: - - + Tell cmake to set `rpath` so the installed `cmark` can find - `libcmark.so` (Michael Witten). - + Remove unnecessary enabling of target property: MACOSX_RPATH - (Michael Witten). - + Fix build type checks (Nick Wellnhofer). Make the libFuzzer - target use the Asan build type again. - - * Makefile: - - + Fix `libFuzzer` target (Nick Wellnhofer). - + Use `ctest` and `--output-on-failure` in `test` target. - + `make debug` should build a shared library (Nick Wellnhofer). - The full test suite is only available to a shared library build. - - * wrappers: - - + Fix memory leak in Ruby wrapper (Nick Wellnhofer). - Free the string returned from `cmark_markdown_to_html`. - Fix `cmark_markdown_to_html` argument types. - + Fix memory leak in Python wrapper (Nick Wellnhofer). - Free the string returned from cmark_markdown_to_html. - Fix cmark_markdown_to_html argument types. - + Convert to and from UTF-8 under Python 2. - + Add PHP wraper (Vinicius Dias). - - * ci: - - + Test with ASan and rework CI matrix (Nick Wellnhofer). - + Remove the valgrind leakcheck test. This should be covered now - by testing with LeakSanitizer on static builds, including tests - like spectest_executable. The full test suite is only available - to shared library builds which have to run without leak checks - for now. - + Separate cflags from cc (Nick Wellnhofer). - + Make CMake matrix options work (Nick Wellnhofer). - CMAKE_OPTIONS had no effect, leading to the shared library not being - tested. Invoke cmake directly, so we don't have to deal with the mess - in Makefile. - + Do debug build so that assertions will run (#532). - + Use `-gdwarf-4` with clang for compatibility with valgrind (#532). - - * test: - - + Fix memory leaks in cmark.py (Nick Wellnhofer). - Free results of libcmark API function calls. - + Fix memory leaks in api_test (Nick Wellnhofer). - + Simplify test execution environment handling (Saleem Abdulrasool). - Use generator expressions to compute the new path and avoid - translations. This reduces complexity in the build and allows for a - different build layout. - - * fuzz: Test more parser entry points (Nick Wellnhofer). - - * Remove superfluous definitions from scanners.re. - - * re2c: Disable UTF-8 (Nick Wellnhofer). The regexes don't require UTF-8 - features and work in ASCII mode as well. Disabling UTF-8 reduces the - size of the code generated by re2c. - -[0.31.0] - - * Update to 0.31.2 spec.txt. - - * Treat unicode Symbols like Punctuation, as per the 0.31 spec. - - * Add a new function to `utf8.h`: - `int cmark_utf8proc_is_punctuation_or_symbol(int32_t uc)`. - The old `cmark_utf8proc_is_punctuation` has been kept for - now, but it is no longer used. - - * Add new exported function `cmark_parser_new_with_mem_into_root` - (API change) (John Ericson). - - * Avoid repeated `language-` in info string (commonmark/commonmark.js#277). - - * Fix quadratic behavior in `S_insert_emph` (Nick Wellnhofer). - Fixes part of GHSA-66g8-4hjf-77xh. - - * Fix quadratic behavior in `check_open_blocks` (Nick Wellnhofer). - Fixes part of GHSA-66g8-4hjf-77xh. - - * Track underscore bottom separately mod 3, like asterisk (Michael - Howell). This was already implemented correctly for asterisks, - but not for underscore. - - * Use `fwrite` instead of `printf` to print results in main (#523). - This avoids a massive slowdown in MSYS2. - - * commonmark writer: less aggressive escaping for `!` (#131). - - * Update libFuzzer build (Nick Wellnhofer): - - + Move fuzzing files into their own directory. - + Use libFuzzer the modern way by compiling and linking with - `-fsanitize=fuzzer(-no-link)` without requiring `LIB_FUZZER_PATH`. - + Update the `libFuzzer` rule in Makefile and the README.md. - - * CMake build changes (Saleem Abdulrasool). - - + Inline multiple variables in CMake, following CMake recommendations. - + Simplify the version computation. - + Remove the `CMARK_STATIC` and `CMARK_SHARED` options as one of the two - must be enabled always as the cmark executable depends on the library. - Instead of having a custom flag to discern between the - library type, use the native CMake option `BUILD_SHARED_LIBS`, - allowing the user to control which library to build. This matches - CMake recommendations to only build a single copy of the library. - + Introduce an author warning for the use of `CMARK_SHARED` and - `CMARK_STATIC` to redirect the author of the dependent package to - `BUILD_SHARED_LIBS`. - + Permit incremental linking on Windows. Although incremental linking - does introduce padding in the binary for incremental links, that - should not matter for release mode builds in theory as `/OPT:REF` - and `/OPT:ICF` will trigger full links, which is the default in - release mode. - + Hoist the CMake module inclusion to the top level. - + Minor tweaks for speeding up the configure phase. - Restructure the file layout to place the custom modules into the - `cmake/modules` directory that is the common layout for CMake based - projects. - + Squelch C4232 warnings on MSVC builds. - + Remove check for `__builtin_expect`. Use `__has_builtin` to check - at compile time if the feature is supported. - This macro is supported by both clang and GCC (as of 10). - In the case that the compiler in use is not new enough, we still - provide the fallback so that the code will compile but without the - additional hints for the branch probability. `config.h` has been - removed from the code base as it is no longer needed. - + Remove `/TP` usage on MSVC and replace `CMARK_INLINE` with `inline`. - These were workarounds for pre-VS2015 compilers, which are no longer - supported. - + Hoist the C visibility settings to top level - + Clean up C4267 warnings on MSVC builds. - + Remove some compiler compatibility checks that are no longer - needed because VS 2013 is no longer supported (#498). - + Adjust the policy to silence warnings on MSVC builds - CMake 3.15+ remove `/W3` from the language flags under MSVC with - CMP0092. Set the policy to new to avoid the D9025 warning. - + Reflow some text to match CMake documentation style - + Use generator expression for path computation. - + Use CMake to propagate `CMARK_STATIC_DEFINE`. - + Clean up an obsoleted variable (NFC). - + Hoist the policy settings. Policy settings may impact how - `project` functions. They should be set immediately after - `cmake_minimum_required` (which implicitly sets policies). - Use the `POLICY` check to see if a policy is defined rather - than using a version check. - + Replace `CMARK_TESTS` with CMake sanctioned `BUILD_TESTING`. - + Correct typo and adjust command invocation. Use the proper - generator expression for the python interpreter and adjust - a typo in the component name. - + Add an upgrade path for newer CMake. - CMake 3.12 deprecated `FindPythonInterp`, and with CMake 3.27, were - obsoleted with CMP0148. Add a version check and switch to the new - behaviour to allow building with newer releases. - - * Fix regex syntax warnings in `pathological_tests.py` (Nick Wellnhofer). - - * `test/cmark.py`: avoid star imports (Jakub Wilk). - - * `spec_tests.py`: Add option to generate fuzz corpus (Nick Wellnhofer). - Add an option `--fuzz-corpus` that writes the test cases to separate - files including the options header, so they can be used as seed corpus - for fuzz testing. - - * Fix some cmark.3 man rendering issues so we can do a clean regen - (John Ericson). - - * Update Windows compilation instructions (Pomax, #525). - -[0.30.3] - - * Fix quadratic complexity bug with repeated `![[]()`. - Resolves CVE-2023-22486. Add new pathological test. (John MacFarlane) - - * Allow declarations with no space, as per spec (#456, John MacFarlane). - - * Set `enumi*` counter correctly in LaTeX output (#451, John MacFarlane). - - * Allow `<!DOCTYPE` to be case-insensitive. (This conforms to the - existing spec.) (John MacFarlane) - - * Fixed HTML comment scanning. Need to handle this case: `<!--> and -->`. - Since the scanner finds the longest match, we had to - move some of the logic outside of the scanner. (John MacFarlane) - - * Fix quadratic parsing issue with repeated `<!--` (this was not - introduced by the previous fix, and not in a released version of cmark). - Resolves CVE-2023-22484. Add new pathological test. (John MacFarlane) - - * Update HTML comment scanner to accord with commonmark/commonmark-spec#713 - (John MacFarlane). - - * Pathological tests: half the number of repetitions, and the timeout. - This reduces the time needed for the pathological tests. - (John MacFarlane) - - * Shrink `struct cmark_node` (#446). The `internal_offset` member is - only used for headings and can be moved to `struct cmark_heading`. - This reduces the size of `struct cmark_node` from 112 to 104 bytes on - 64-bit systems. (Nick Wellnhofer) - - * Add `-Wstrict-prototypes` and fix offending functions. (Nick - Wellnhofer, Dan Cîrnaț) - - * Fix quadratic behavior involving `get_containing_block` (#431). - Instead of searching for the containing block, update the tight list - status when entering a child of a list item or exiting a list. - (Nick Wellnhofer) - - * Fix `pathological_tests.py` (Nick Wellnhofer): - - Use a multiprocessing.Queue to actually get results from spawned - tests processes. - - Fix the `allowed_failures` test. - - Truncate actual output when printed. - - Prepare for testing pathological behavior of the Commonmark renderer. - - * Fix source position bug with backticks (kyle). - -[0.30.2] - - * Fix parsing of emphasis before links (#424, Nick Wellnhofer). - Fixes a regression introduced with commit ed0a4bf. - - * Update to Unicode 14.0 (data-man). - - * Add `~` to safe href character set (#394, frogtile). - - * Update CMakeLists.txt (Saleem Abdulrasool). Bump the minimum required - CMake to 3.7. Imperatively define output name for static library. - - * Fix install paths in libcmark.pc (Sebastián Mancilla). - `CMAKE_INSTALL_<dir>` can be relative or absolute path, so it is wrong to - prefix CMAKE_INSTALL_PREFIX because if CMAKE_INSTALL_<dir> is set to an - absolute path it will result in a malformed path with two absolute paths - joined together. Instead, use `CMAKE_INSTALL_FULL_<dir>` from - GNUInstallDirs. - -[0.30.1] - - * Properly indent block-level contents of list items in man (#258). - This handles nested lists as well as items with multiple paragraphs. - The change requires addition of a new field block_number_in_list_item - to cmark_renderer, but this does not change the public API. - * Fix quadratic behavior when parsing emphasis (#389, Nick - Wellnhofer). Delimiters can be deleted, so store delimiter positions - instead of pointers in `openers_bottom`. Besides causing undefined - behavior when reading a dangling pointer, this could also result - in quadratic behavior when parsing emphasis. - * Fix quadratic behavior when parsing smart quotes (#388, Nick Wellnhofer). - Remove matching smart quote delimiters. Otherwise, the same opener - could be found over and over, preventing the `openers_bottom` - optimization from kicking in and leading to quadratic behavior when - processing lots of quotes. - * Modify CMake configuration so that the project can be built with - older versions of CMake (#384, Saleem Abdulrasool). (In 0.30.0, - some features were used that require CMake >= 3.3.) The cost of this - backwards compatibility is that developers must now explicitly invoke - `cmark_add_compile_options` when a new compilation target is added. - * Remove a comma at the end of an enumerator list, which was flagged - by clang as a C++11 extension. - * make_man_page.py: use absolute path with CDLL. This avoids the error - "file system relative paths not allowed in hardened programs." - * Include cmark version in cmark(3) man page (instead of LOCAL). - -[0.30.0] - - * Use official 0.30 spec.txt. - * Add `cmark_get_default_mem_allocator()` (#330). API change: this - adds a new exported function in cmark.h. - * Fix #383. An optimization we used for emphasis parsing was - too aggressive, causing us to miss some emphasis that was legal - according to the spec. We fix this by indexing the `openers_bottom` - table not just by the type of delimiter and the length of the - closing delimiter mod 3, but by whether the closing delimiter - can also be an opener. (The algorithm for determining emphasis - matching depends on all these factors.) Add regression test. - * Fix quadratic behavior with inline HTML (#299, Nick Wellnhofer). - Repeated starting sequences like `<?`, `<!DECL ` or `<![CDATA[` could - lead to quadratic behavior if no matching ending sequence was found. - Separate the inline HTML scanners. Remember if scanning the whole input - for a specific ending sequence failed and skip subsequent scans. - * Speed up hierarchy check in tree manipulation API (Nick Wellnhofer). - Skip hierarchy check in the common case that the inserted child has - no children. - * Fix quadratic behavior when parsing inlines (#373, Nick Wellnhofer). - The inline parsing code would call `cmark_node_append_child` to append - nodes. This public function has a sanity check which is linear in the - depth of the tree. Repeated calls could show quadratic behavior in - degenerate trees. Use a special function to append nodes without this - check. (Issue found by OSS-Fuzz.) - * Replace invalid characters in XML output (#365, Nick wellnhofer). - Control characters, U+FFFE and U+FFFF aren't allowed in XML 1.0, so - replace them with U+FFFD (replacement character). This doesn't solve - the problem how to roundtrip these characters, but at least we don't - produce invalid XML. - * Avoid quadratic output growth with reference links (#354, Nick Wellnhofer). - Keep track of the number bytes added through expansion of reference - links and limit the total to the size of the input document. Always - allow a minimum of 100KB. Unfortunately, cmark has no error handling, - so all we can do is to stop expanding reference links without returning - an error. This should never be an issue in practice though. The 100KB - minimum alone should cover all real-world cases. - * Fix issue with type-7 HTML blocks interrupting paragraphs - (see commonmark/commonmark.js#213). - * Treat `textarea` like `script`, `style`, `pre` (type 1 HTML block), - in accordance with spec change. - * Define whitespace per spec (Asherah Conor). - * Add `MAX_INDENT` for xml (#355). Otherwise we can get quadratic - increase in size with deeply nested structures. - * Fix handling of empty strings when creating XML/HTML output - (Steffen Kieß). - * Commonmark renderer: always use fences for code (#317). - This solves problems with adjacent code blocks being merged. - * Improve rendering of commonmark code spans with spaces (#316). - * Cleaner approach to max digits for numeric entities. - This modifies unescaping in `houdini_html_u.c` rather than - the entity handling in `inlines.c`. Unlike the other, - this approach works also in e.g. link titles. - * Fix entity parser (and api test) to respect length limit on - numeric entities. - * Don't allow link destinations with unbalanced unescaped parentheses. - See commonmark/commonmark.js#177. - * `print_usage()`: Minor grammar fix, swap two words (#305, Øyvind A. Holm). - * Don't call `memcpy` with `NULL` as first parameter. - This is illegal according to the C standard, sec. 7.1.4. - See <https://www.imperialviolet.org/2016/06/26/nonnull.html>. - * Add needed include in `blocks.c`. - * Fix unnecessary variable assignment. - * Skip UTF-8 BOM if present at beginning of buffer (#334). - * Fix URL check in `is_autolink` (Nick Wellnhofer). In a recent commit, - the check was changed to `strcmp`, but we really have to use `strncmp`. - * Fix null pointer deref in `is_autolink` (Nick Wellnhofer). - Introduced by a recent commit. Found by OSS-Fuzz. - * Rearrange struct cmark_node (Nick Wellnhofer). Introduce multi-purpose - data/len members in struct cmark_node. This is mainly used to store - literal text for inlines, code and HTML blocks. - Move the content strbuf for blocks from `cmark_node` to `cmark_parser`. - When finalizing nodes that allow inlines (paragraphs and headings), - detach the strbuf and store the block content in the node's data/len - members. Free the block content after processing inlines. - Reduces size of struct `cmark_node` by 8 bytes. - * Improve packing of `struct cmark_list` (Nick Wellnhofer). - * Use C string instead of chunk in a number of contexts (Nick Wellnhofer, - #309). The node struct never references memory of other nodes now. - Node accessors don't have to check for delayed creation of C strings, - so parsing and iterating all literals using the public API should - actually be faster than before. These changes also reduce the size - of `struct cmark_node`. - * Add casts for MSVC10 (from kivikakk in cmark-cfm). - * commonmark renderer: better escaping in smart mode. When - `CMARK_OPT_SMART` is enabled, we escape literal `-`, `.`, and quote - characters when needed to avoid their being "smartified." - * Add options field to `cmark_renderer`. - * commonmark.c - use `size_t` instead of `int`. - * Include `string.h` in `cmark-fuzz.c`. - * Fix #220 (hash collisions for references) (Vicent Marti via cmark-gfm). - Reimplemented reference storage as follows: - 1. New references are always inserted at the end of a linked list. This - is an O(1) operation, and does not check whether an existing (duplicate) - reference with the same label already exists in the document. - 2. Upon the first call to `cmark_reference_lookup` (when it is expected - that no further references will be added to the reference map), the - linked list of references is written into a fixed-size array. - 3. The fixed size array can then be efficiently sorted in-place in O(n - log n). This operation only happens once. We perform this sort in a - _stable_ manner to ensure that the earliest link reference in the - document always has preference, as the spec dictates. To accomplish - this, every reference is tagged with a generation number when initially - inserted in the linked list. - 4. The sorted array is then compacted in O(n). Since it was sorted in a - stable way, the first reference for each label is preserved and the - duplicates are removed, matching the spec. - 5. We can now simply perform a binary search for the current - `cmark_reference_lookup` query in O(log n). Any further lookup calls - will also be O(log n), since the sorted references table only needs to - be generated once. - The resulting implementation is notably simple (as it uses standard - library builtins `qsort` and `bsearch`), whilst performing better than - the fixed size hash table in documents that have a high number of - references and never becoming pathological regardless of the input. - * Comment out unused function `cmark_strbuf_cstr` in `buffer.h`. - * Re-add `--safe` command-line option as a no-op (#344), for backwards - compatibility. - * Update to Unicode 13.0 - * Generate and install cmake-config file (Reinhold Gschweicher). - Add full cmake support. The project can either be used with - `add_subdirectory` or be installed into the system (or some other - directory) and be found with `find_package(cmark)`. In both cases the - cmake target `cmark::cmark` and/or `cmark::cmark_static` is all that - is needed to be linked. Previously the `cmarkConfig.cmake` file - was generated, but not installed. As additional bonus of generation - by cmake we get a generated `cmake-config-version.cmake` file for - `find_package()` to search for the same major version. - The generated config file is position independent, allowing the - installed directory to be copied or moved and still work. - The following four files are generated and installed: - `lib/cmake/cmark/cmark-config.cmake`, - `lib/cmake/cmark/cmark-config-version.cmake`, - `lib/cmake/cmark/cmark-targets.cmake`, - `lib/cmake/cmark/cmark-targets-release.cmake`. - * Adjust the MinGW paths for MinGW64 (Daniil Baturin). - * Fix CMake generator expression checking for MSVC (Nick Wellnhofer). - * Fix `-Wconst-qual` warning (Saleem Abdulrasool). This enables building - with `/Zc:strictString` with MSVC as well. - * Improve and modernize cmake build (Saleem Abdulrasool). - + Build: add exports targets for build tree usage (#307). - + Uuse target properties for include paths. - + Remove the unnecessary execute permission on CMakeLists.txt. - + Reduce property computation in CMake. - + Use `CMAKE_INCLUDE_CURRENT_DIRECTORY`. - + Improve man page installation. - + Only include `GNUInstallDirs` once. - + Replace `add_compile_definitions` with `add_compile_options` - since the former was introduced in 3.12 (#321). - + Cleanup CMake (#319). - + Inline a variable. - + Use `LINKER_LANGUAGE` property for C++ runtime. - + Use CMake to control C standard. - + Use the correct variable. - + Loosen the compiler check - + Hoist shared flags to top-level CMakeLists - + Remove duplicated flags. - + Use `add_compile_options` rather than modify `CMAKE_C_FLAGS`. - + Hoist sanitizer flags to global state. - + Hoist `-fvisibilty` flags to top-level. - + Hoist the debug flag handling. - + Hoist the profile flag handling. - + Remove incorrect variable handling. - + Remove unused CMake includes. - * Remove "-rdynamic" flag for static builds (#300, Eric Pruitt). - * Fixed installation on other than Ubuntu GNU/Linux distributions - (Vitaly Zaitsev). - * Link executable with static or shared library (Nick Wellnhofer). - If `CMARK_STATIC` is on (default), link the executable with the static - library. This produces exactly the same result as compiling the library - sources again and linking with the object files. - If `CMARK_STATIC` is off, link the executable with the shared library. - This wasn't supported before and should be the preferred way to - package cmark on Linux distros. - Building only a shared library and a statically linked executable - isn't supported anymore but this doesn't seem useful. - * Reintroduce version check for MSVC /TP flag (Nick Wellnhofer). - The flag is only required for old MSVC versions. - * normalize.py: use `html.escape` instead of `cgi.escape` (#313). - * Fix pathological_tests.py on Windows (Nick Wellnhofer). - When using multiprocessing on Windows, the main program must be - guarded with a `__name__` check. - * Remove useless `__name__` check in test scripts (Nick Wellnhofer). - * Add CIFuzz (Leo Neat). - * cmark.1 - Document --unsafe instead of --safe (#332). - * cmark.1: remove docs for `--normalize` which no longer exists (#332). - * Add lint target to Makefile. - * Add uninstall target to Makefile. - * Update benchmarks (#338). - * Fix typo in documentation (Tim Gates). - * Increase timeout for pathological tests to avoid CI failure. - * Update the Racket wrapper with the safe -> unsafe flag change (Eli - Barzilay). - -[0.29.0] - - * Update spec to 0.29. - * Make rendering safe by default (#239, #273). - Adds `CMARK_OPT_UNSAFE` and make `CMARK_OPT_SAFE` a no-op (for API - compatibility). The new default behavior is to suppress raw HTML and - potentially dangerous links. The `CMARK_OPT_UNSAFE` option has to be set - explicitly to prevent this. - **NOTE:** This change will require modifications in bindings for cmark - and in most libraries and programs that use cmark. - Borrows heavily from @kivikakk's patch in github/cmark-gfm#123. - * Add sourcepos info for inlines (Yuki Izumi). - * Disallow more than 32 nested balanced parens in a link (Yuki Izumi). - * Resolve link references before creating setext header. - A setext header line after a link reference should not - create a header, according to the spec. - * commonmark renderer: improve escaping. - URL-escape special characters when escape mode is URL, and not otherwise. - Entity-escape control characters (< 0x20) in non-literal escape modes. - * render: only emit actual newline when escape mode is LITERAL. - For markdown content, e.g., in other contexts we want some - kind of escaping, not a literal newline. - * Update code span normalization to conform with spec change. - * Allow empty `<>` link destination in reference link. - * Remove leftover includes of `memory.h` (#290). - * A link destination can't start with `<` unless it is - an angle-bracket link that also ends with `>` (#289). - (If your URL really starts with `<`, URL-escape it.) - * Allow internal delimiter runs to match if both have lengths that are - multiples of 3. See commonmark/commonmark#528. - * Include `references.h` in `parser.h` (#287). - * Fix `[link](<foo\>)`. - * Use hand-rolled scanner for thematic break (see #284). - Keep track of the last position where a thematic break - failed to match on a line, to avoid rescanning unnecessarily. - * Rename `ends_with_blank_line` with `S_` prefix. - * Add `CMARK_NODE__LAST_LINE_CHECKED` flag (#284). - Use this to avoid unnecessary recursion in `ends_with_blank_line`. - * In `ends_with_blank_line`, call `S_set_last_line_blank` - to avoid unnecessary repetition (#284). Once we settle whether a list - item ends in a blank line, we don't need to revisit this in considering - parent list items. - * Disallow unescaped `(` in parenthesized link title. - * Copy line/col info straight from opener/closer (Ashe Connor). - We can't rely on anything in `subj` since it's been modified while parsing - the subject and could represent line info from a future line. This is - simple and works. - * `render.c`: reset `last_breakable` after cr. Fixes jgm/pandoc#5033. - * Fix a typo in `houdini_href_e.c` (Felix Yan). - * commonmark writer: use `~~~` fences if info string contains backtick. - This is needed for round-trip tests. - * Update scanners for new info string rules. - * Add XSLT stylesheet to convert cmark XML back to Commonmark - (Nick Wellnhofer, #264). Initial version of an XSLT stylesheet that - converts the XML format produced by `cmark -t xml` back to Commonmark. - * Check for whitespace before reference title (#263). - * Bump CMake to version 3 (Jonathan Müller). - * Build: Remove deprecated call to `add_compiler_export_flags()` - (Jonathan Müller). It is deprecated in CMake 3.0, the replacement is to - set the `CXX_VISIBILITY_PRESET` (or in our case `C_VISIBILITY_PRESET`) and - `VISIBILITY_INLINES_HIDDEN` properties of the target. We're already - setting them by setting the CMake variables anyway, so the call can be - removed. - * Build: only attempt to install MSVC system libraries on Windows - (Saleem Abdulrasool). Newer versions of CMake attempt to query the system - for information about the VS 2017 installation. Unfortunately, this query - fails on non-Windows systems when cross-compiling: - `cmake_host_system_information does not recognize <key> VS_15_DIR`. - CMake will not find these system libraries on non-Windows hosts anyways, - and we were silencing the warnings, so simply omit the installation when - cross-compiling to Windows. - * Simplify code normalization, in line with spec change. - * Implement code span spec changes. These affect both parsing and writing - commonmark. - * Add link parsing corner cases to regressions (Ashe Connor). - * Add `xml:space="preserve"` in XML output when appropriate - (Nguyễn Thái Ngọc Duy). - (For text, code, code_block, html_inline and html_block tags.) - * Removed meta from list of block tags. Added regression test. - See commonmark/CommonMark#527. - * `entity_tests.py` - omit noisy success output. - * `pathological_tests.py`: make tests run faster. - Commented out the (already ignored) "many references" test, which - times out. Reduced the iterations for a couple other tests. - * `pathological_tests.py`: added test for deeply nested lists. - * Optimize `S_find_first_nonspace`. We were needlessly redoing things we'd - already done. Now we skip the work if the first nonspace is greater than - the current offset. This fixes pathological slowdown with deeply nested - lists (#255). For N = 3000, the time goes from over 17s to about 0.7s. - Thanks to Martin Mitas for diagnosing the problem. - * Allow spaces in link destination delimited with pointy brackets. - * Adjust max length of decimal/numeric entities. - See commonmark/CommonMark#487. - * Fix inline raw HTML parsing. - This fixes a recently added failing spec test case. Previously spaces - were being allowed in unquoted attribute values; no we forbid them. - * Don't allow list markers to be indented >= 4 spaces. - See commonmark/CommonMark#497. - * Check for empty buffer when rendering (Phil Turnbull). - For empty documents, `->size` is zero so - `renderer.buffer->ptr[renderer.buffer->size - 1]` will cause an - out-of-bounds read. Empty buffers always point to the global - `cmark_strbuf__initbuf` buffer so we read `cmark_strbuf__initbuf[-1]`. - * Also run API tests with `CMARK_SHARED=OFF` (Nick Wellnhofer). - * Rename roundtrip and entity tests (Nick Wellnhofer). - Rename the tests to reflect that they use the library, not the - executable. - * Generate export header for static-only build (#247, Nick Wellnhofer). - * Fuzz width parameter too (Phil Turnbull). Allow the `width` parameter to - be generated too so we get better fuzz-coverage. - * Don't discard empty fuzz test-cases (Phil Turnbull). We currently discard - fuzz test-cases that are empty but empty inputs are valid markdown. This - improves the fuzzing coverage slightly. - * Fixed exit code for pathological tests. - * Add allowed failures to `pathological_tests.py`. - This allows us to include tests that we don't yet know how to pass. - * Add timeout to `pathological_tests.py`. - Tests must complete in 8 seconds or are errors. - * Add more pathological tests (Martin Mitas). - These tests target the issues #214, #218, #220. - * Use pledge(2) on OpenBSD (Ashe Connor). - * Update the Racket wrapper (Eli Barzilay). - * Makefile: For afl target, don't build tests. - -[0.28.3] - - * Include GNUInstallDirs in src/CMakeLists.txt (Nick Wellnhofer, #240). - This fixes build problems on some cmake versions (#241). - -[0.28.2] - - * Fixed regression in install dest for static library (#238). - Due to a mistake, 0.28.1 installed libcmark.a into include/. - -[0.28.1] - - * `--smart`: open quote can never occur right after `]` or `)` (#227). - * Fix quadratic behavior in `finalize` (Vicent Marti). - * Don't use `CMAKE_INSTALL_LIBDIR` to create `libcmark.pc` (#236). - This wasn't getting set in processing `libcmark.pc.in`, and we - were getting the wrong entry in `libcmark.pc`. - The new approach sets an internal `libdir` variable to - `lib${LIB_SUFFIX}`. This variable is used both to set the - install destination and in the libcmark.pc.in template. - * Update README.md, replace `make astyle` with `make format` - (Nguyễn Thái Ngọc Duy). - -[0.28.0] - - * Update spec. - * Use unsigned integer when shifting (Phil Turnbull). - Avoids a UBSAN warning which can be triggered when handling a - long sequence of backticks. - * Avoid memcpy'ing NULL pointers (Phil Turnbull). - Avoids a UBSAN warning when link title is empty string. - The length of the memcpy is zero so the NULL pointer is not - dereferenced but it is still undefined behaviour. - * DeMorgan simplification of some tests in emphasis parser. - This also brings the code into closer alignment with the wording - of the spec (see jgm/CommonMark#467). - * Fixed undefined shift in commonmark writer (#211). - Found by google/oss-fuzz: - <https://oss-fuzz.com/v2/testcase-detail/4686992824598528>. - * latex writer: fix memory overflow (#210). - We got an array overflow in enumerated lists nested more than - 10 deep with start number =/= 1. - This commit also ensures that we don't try to set `enum_` counters - that aren't defined by LaTeX (generally up to enumv). - Found by google/oss-fuzz: - <https://oss-fuzz.com/v2/testcase-detail/5546760854306816>. - * Check for NULL pointer in get_link_type (Phil Turnbull). - `echo '[](xx:)' | ./build/src/cmark -t latex` gave a - segfault. - * Move fuzzing dictionary into single file (Phil Turnbull). - This allows AFL and libFuzzer to use the same dictionary - * Reset bytes after UTF8 proc (Yuki Izumi, #206). - * Don't scan past an EOL (Yuki Izumi). - The existing negated character classes (`[^…]`) are careful to - always include` \x00` in the characters excluded, but these `.` - catch-alls can scan right past the terminating NUL placed - at the end of the buffer by `_scan_at`. As such, buffer - overruns can occur. Also, don't scan past a newline in HTML - block end scanners. - * Document cases where `get_` functions return `NULL` (#155). - E.g. `cmark_node_get_url` on a non-link or image. - * Properly handle backslashes in link destinations (#192). - Only ascii punctuation characters are escapable, per the spec. - * Fixed `cmark_node_get_list_start` to return 0 for bullet lists, - as documented (#202). - * Use `CMARK_NO_DELIM` for bullet lists (#201). - * Fixed code for freeing delimiter stack (#189). - * Removed abort outside of conditional (typo). - * Removed coercion in error message when aborting from buffer. - * Print message to stderr when we abort due to memory demands (#188). - * `libcmark.pc`: use `CMAKE_INSTALL_LIBDIR` (#185, Jens Petersen). - Needed for multilib distros like Fedora. - * Fixed buffer overflow error in `S_parser_feed` (#184). - The overflow could occur in the following condition: - the buffer ends with `\r` and the next memory address - contains `\n`. - * Update emphasis parsing for spec change. - Strong now goes inside Emph rather than the reverse, - when both scopes are possible. The code is much simpler. - This also avoids a spec inconsistency that cmark had previously: - `***hi***` became Strong (Emph "hi")) but - `***hi****` became Emph (Strong "hi")) "*" - * Fixes for the LaTeX renderer (#182, Doeme) - + Don't double-output the link in latex-rendering. - + Prevent ligatures in dashes sensibly when rendering latex. - `\-` is a hyphenation, so it doesn't get displayed at all. - * Added a test for NULL when freeing `subj->last_delim`. - * Cleaned up setting of lower bounds for openers. - We now use a much smaller array. - * Fix #178, quadratic parsing bug. Add pathological test. - * Slight improvement of clarity of logic in emph matching. - * Fix "multiple of 3" determination in emph/strong parsing. - We need to store the length of the original delimiter run, - instead of using the length of the remaining delimiters - after some have been subtracted. Test case: - `a***b* c*`. Thanks to Raph Levin for reporting. - * Correctly initialize chunk in S_process_line (Nick Wellnhofer, #170). - The `alloc` member wasn't initialized. This also allows to add an - assertion in `chunk_rtrim` which doesn't work for alloced chunks. - * Added 'make newbench'. - * `scanners.c` generated with re2c 0.16 (68K smaller!). - * `scanners.re` - fixed warnings; use `*` for fallback. - * Fixed some warnings in `scanners.re`. - * Update CaseFolding to latest (Kevin Wojniak, #168). - * Allow balanced nested parens in link destinations (Yuki Izumi, #166) - * Allocate enough bytes for backticks array. - * Inlines: Ensure that the delimiter stack is freed in subject. - * Fixed pathological cases with backtick code spans: - - - Removed recursion in scan_to_closing_backticks - - Added an array of pointers to potential backtick closers - to subject - - This array is used to avoid traversing the subject again - when we've already seen all the potential backtick closers. - - Added a max bound of 1000 for backtick code span delimiters. - - This helps with pathological cases like: - - x - x ` - x `` - x ``` - x ```` - ... - - - Added pathological test case. - - Thanks to Martin Mitáš for identifying the problem and for - discussion of solutions. - * Remove redundant cmake_minimum_required (#163, @kainjow). - * Make shared and static libraries optional (Azamat H. Hackimov). - Now you can enable/disable compilation and installation targets for - shared and static libraries via `-DCMARK_SHARED=ON/OFF` and - `-DCMARK_STATIC=ON/OFF`. - * Added support for built-in `${LIB_SUFFIX}` feature (Azamat H. - Hackimov). Replaced `${LIB_INSTALL_DIR}` option with built-in - `${LIB_SUFFIX}` for installing for 32/64-bit systems. Normally, - CMake will set `${LIB_SUFFIX}` automatically for required enviroment. - If you have any issues with it, you can override this option with - `-DLIB_SUFFIX=64` or `-DLIB_SUFFIX=""` during configuration. - * Add Makefile target and harness to fuzz with libFuzzer (Phil Turnbull). - This can be run locally with `make libFuzzer` but the harness will be - integrated into oss-fuzz for large-scale fuzzing. - * Advertise `--validate-utf8` in usage information - (Nguyễn Thái Ngọc Duy). - * Makefile: use warnings with re2c. - * README: Add link to Python wrapper, prettify languages list - (Pavlo Kapyshin). - * README: Add link to cmark-scala (Tim Nieradzik, #196) - -[0.27.1] - - * Set policy for CMP0063 to avoid a warning (#162). - Put set_policy under cmake version test. - Otherwise we get errors in older versions of cmake. - * Use VERSION_GREATER to clean up cmake version test. - * Improve afl target. Use afl-clang by default. Set default for path. - -[0.27.0] - - * Update spec to 0.27. - * Fix warnings building with MSVC on Windows (#165, Hugh Bellamy). - * Fix `CMAKE_C_VISIBILITY_PRESET` for cmake versions greater than 1.8 - (e.g. 3.6.2) (#162, Hugh Bellamy). This lets us build swift-cmark - on Windows, using clang-cl. - * Fix for non-matching entities (#161, Yuki Izumi). - * Modified `print_delimiters` (commented out) so it compiles again. - * `make format`: don't change order of includes. - * Changed logic for null/eol checks (#160). - + only check once for "not at end of line" - + check for null before we check for newline characters (the - previous patch would fail for NULL + CR) - * Fix by not advancing past both `\0` and `\n` (Yuki Izumi). - * Add test for NUL-LF sequence (Yuki Izumi). - * Fix memory leak in list parsing (Yuki Izumi). - * Use `cmark_mem` to free where used to alloc (Yuki Izumi). - * Allow a shortcut link before a `(` (jgm/CommonMark#427). - * Allow tabs after setext header line (jgm/commonmark.js#109). - * Don't let URI schemes start with spaces. - * Fixed h2..h6 HTML blocks (jgm/CommonMark#430). Added regression test. - * Autolink scheme can contain digits (Gábor Csárdi). - * Fix nullary function declarations in cmark.h (Nick Wellnhofer). - Fixes strict prototypes warnings. - * COPYING: Update file name and remove duplicate section and - (Peter Eisentraut). - * Fix typo (Pavlo Kapyshin). - -[0.26.1] - - * Removed unnecessary typedef that caused build failure on - some platforms. - * Use `$(MAKE)` in Makefile instead of hardcoded `make` (#146, - Tobias Kortkamp). - -[0.26.0] - - * Implement spec changes for list items: - - Empty list items cannot interrupt paragraphs. - - Ordered lists cannot interrupt paragraphs unless - they start with 1. - - Removed "two blank lines break out of a list" feature. - * Fix sourcepos for blockquotes (#142). - * Fix sourcepos for atx headers (#141). - * Fix ATX headers and thematic breaks to allow tabs as well as spaces. - * Fix `chunk_set_cstr` with suffix of current string (#139, - Nick Wellnhofer). It's possible that `cmark_chunk_set_cstr` is called - with a substring (suffix) of the current string. Delay freeing of the - chunk content to handle this case correctly. - * Export targets on installation (Jonathan Müller). - This allows using them in other cmake projects. - * Fix cmake warning about CMP0048 (Jonathan Müller). - * commonmark renderer: Ensure we don't have a blank line - before a code block when it's the first thing in a list - item. - * Change parsing of strong/emph in response to spec changes. - `process_emphasis` now gets better results in corner cases. - The change is this: when considering matches between an interior - delimiter run (one that can open and can close) and another delimiter - run, we require that the sum of the lengths of the two delimiter - runs mod 3 is not 0. - * Ported Robin Stocker's changes to link parsing in jgm/commonmark#101. - This uses a separate stack for brackets, instead of putting them on the - delimiter stack. This avoids the need for looking through the delimiter - stack for the next bracket. - * `cmark_reference_lookup`: Return NULL if reference is null string. - * Fix character type detection in `commonmark.c` (Nick Wellnhofer). - Fixes test failures on Windows and undefined behavior. - - Implement `cmark_isalpha`. - - Check for ASCII character before implicit cast to char. - - Use internal ctype functions in `commonmark.c`. - * Better documentation of memory-freeing responsibilities. - in `cmark.h` and its man page (#124). - * Use library functions to insert nodes in emphasis/link processing. - Previously we did this manually, which introduces many - places where errors can creep in. - * Correctly handle list marker followed only by spaces. - Previously when a list marker was followed only by spaces, - cmark expected the following content to be indented by - the same number of spaces. But in this case we should - treat the line just like a blank line and set list padding - accordingly. - * Fixed a number of issues relating to line wrapping. - - Extend `CMARK_OPT_NOBREAKS` to all renderers and add `--nobreaks`. - - Do not autowrap, regardless of width parameter, if - `CMARK_OPT_NOBREAKS` is set. - - Fixed `CMARK_OPT_HARDBREAKS` for LaTeX and man renderers. - - Ensure that no auto-wrapping occurs if - `CMARK_OPT_NOBREAKS` is enabled, or if output is CommonMark and - `CMARK_OPT_HARDBREAKS` is enabled. - * Set stdin to binary mode on Windows (Nick Wellnhofer, #113). - This fixes EOLs when reading from stdin. - * Add library option to render softbreaks as spaces (Pavlo - Kapyshin). Note that the `NOBREAKS` option is HTML-only - * renderer: `no_linebreaks` instead of `no_wrap`. - We generally want this option to prohibit any breaking - in things like headers (not just wraps, but softbreaks). - * Coerce `realurllen` to `int`. This is an alternate solution for pull - request #132, which introduced a new warning on the comparison - (Benedict Cohen). - * Remove unused variable `link_text` (Mathiew Duponchelle). - * Improved safety checks in buffer (Vicent Marti). - * Add new interface allowing specification of custom memory allocator - for nodes (Vicent Marti). Added `cmark_node_new_with_mem`, - `cmark_parser_new_with_mem`, `cmark_mem` to API. - * Reduce storage size for nodes by using bit flags instead of - separate booleans (Vicent Marti). - * config: Add `SSIZE_T` compat for Win32 (Vicent Marti). - * cmake: Global handler for OOM situations (Vicent Marti). - * Add tests for memory exhaustion (Vicent Marti). - * Document in man page and public header that one should use the same - memory allocator for every node in a tree. - * Fix ctypes in Python FFI calls (Nick Wellnhofer). This didn't cause - problems so far because all types are 32-bit on 32-bit systems and - arguments are passed in registers on x86-64. The wrong types could cause - crashes on other platforms, though. - * Remove spurious failures in roundtrip tests. In the commonmark writer we - separate lists, and lists and indented code, using a dummy HTML comment. - So in evaluating the round-trip tests, we now strip out - these comments. We also normalize HTML to avoid issues - having to do with line breaks. - * Add 2016 to copyright (Kevin Burke). - * Added `to_commonmark` in `test/cmark.py` (for round-trip tests). - * `spec_test.py` - parameterize `do_test` with converter. - * `spec_tests.py`: exit code is now sum of failures and errors. - This ensures that a failing exit code will be given when - there are errors, not just with failures. - * Fixed round trip tests. Previously they actually ran - `cmark` instead of the round-trip version, since there was a bug in - setting the ROUNDTRIP variable (#131). - * Added new `roundtrip_tests.py`. This replaces the old use of simple shell - scripts. It is much faster, and more flexible. (We will be able - to do custom normalization and skip certain tests.) - * Fix tests under MinGW (Nick Wellnhofer). - * Fix leak in `api_test` (Mathieu Duponchelle). - * Makefile: have leakcheck stop on first error instead of going through - all the formats and options and probably getting the same output. - * Add regression tests (Nick Wellnhofer). - -[0.25.2] - - * Open files in binary mode (#113, Nick Wellnhofer). Now that cmark - supports different line endings, files must be openend in binary mode - on Windows. - * Reset `partially_consumed_tab` on every new line (#114, Nick Wellnhofer). - * Handle buffer split across a CRLF line ending (#117). Adds an internal - field to the parser struct to keep track of `last_buffer_ended_with_cr`. - Added test. - -[0.25.1] - - * Release with no code changes. cmark version was mistakenly set to - 0.25.1 in the 0.25.0 release (#112), so this release just - ensures that this will cause no confusion later. - -[0.25.0] - - * Fixed tabs in indentation (#101). This patch fixes S_advance_offset - so that it doesn't gobble a tab character when advancing less than the - width of a tab. - * Added partially_consumed_tab to parser. This keeps track of when we - have gotten partway through a tab when consuming initial indentation. - * Simplified add_line (only need parser parameter). - * Properly handle partially consumed tab. E.g. in - - - foo - - <TAB><TAB>bar - - we should consume two spaces from the second tab, including two spaces - in the code block. - * Properly handle tabs with blockquotes and fenced blocks. - * Fixed handling of tabs in lists. - * Clarified logic in S_advance_offset. - * Use an assertion to check for in-range html_block_type. - It's a programming error if the type is out of range. - * Refactored S_processLines to make the logic easier to - understand, and added documentation (Mathieu Duponchelle). - * Removed unnecessary check for empty string_content. - * Factored out contains_inlines. - * Moved the cmake minimum version to top line of CMakeLists.txt - (tinysun212). - * Fix ctype(3) usage on NetBSD (Kamil Rytarowski). We need to cast value - passed to isspace(3) to unsigned char to explicitly prevent possibly - undefined behavior. - * Compile in plain C mode with MSVC 12.0 or newer (Nick Wellnhofer). - Under MSVC, we used to compile in C++ mode to get some C99 features - like mixing declarations and code. With newer MSVC versions, it's - possible to build in plain C mode. - * Switched from "inline" to "CMARK_INLINE" (Nick Wellnhofer). - Newer MSVC versions support enough of C99 to be able to compile cmark - in plain C mode. Only the "inline" keyword is still unsupported. - We have to use "__inline" instead. - * Added include guards to config.h - * config.h.in - added compatibility snprintf, vsnprintf for MSVC. - * Replaced sprintf with snprintf (Marco Benelli). - * config.h: include stdio.h for _vscprintf etc. - * Include starg.h when needed in config.h. - * Removed an unnecessary C99-ism in buffer.c. This helps compiling on - systems like luarocks that don't have all the cmake configuration - goodness (thanks to carlmartus). - * Don't use variable length arrays (Nick Wellnhofer). - They're not supported by MSVC. - * Test with multiple MSVC versions under Appveyor (Nick Wellnhofer). - * Fix installation dir of man-pages on NetBSD (Kamil Rytarowski). - * Fixed typo in cmark.h comments (Chris Eidhof). - * Clarify in man page that cmark_node_free frees a node's children too. - * Fixed documentation of --width in man page. - * Require re2c >= 1.14.2 (#102). - * Generated scanners.c with more recent re2c. - -[0.24.1] - - * Commonmark renderer: - + Use HTML comment, not two blank lines, to separate a list - item from a following code block or list. This makes the - output more portable, since the "two blank lines" rule is - unique to CommonMark. Also, it allows us to break out of - a sublist without breaking out of all levels of nesting. - + `is_autolink` - handle case where link has no children, - which previously caused a segfault. - + Use 4-space indent for bullet lists, for increased portability. - + Use 2-space + newline for line break for increased portability (#90). - + Improved punctuation escaping. Previously all `)` and - `.` characters after digits were escaped; now they are - only escaped if they are genuinely in a position where - they'd cause a list item. This is achieved by changes in - `render.c`: (a) `renderer->begin_content` is only set to - false after a string of digits at the beginning of the - line, and (b) we never break a line before a digit. - Also, `begin_content` is properly initialized to true. - * Handle NULL root in `consolidate_text_nodes`. - -[0.24.0] - - * [API change] Added `cmark_node_replace(oldnode, newnode)`. - * Updated spec.txt to 0.24. - * Fixed edge case with escaped parens in link destination (#97). - This was also checked against the #82 case with asan. - * Removed unnecessary check for `fenced` in `cmark_render_html`. - It's sufficient to check that the info string is empty. - Indeed, those who use the API may well create a code block - with an info string without explicitly setting `fenced`. - * Updated format of `test/smart_punct.txt`. - * Updated `test/spec.txt`, `test/smart_punct.txt`, and - `spec_tests.py` to new format. - * Fixed `get_containing_block` logic in `src/commonmark.c`. - This did not allow for the possibility that a node might have no - containing block, causing the commonmark renderer to segfault if - passed an inline node with no block parent. - * Fixed string representations of `CUSTOM_BLOCK`, - `CUSTOM_INLINE`. The old versions `raw_inline` and - `raw_block` were being used, and this led to incorrect xml output. - * Use default opts in python sample wrapper. - * Allow multiline setext header content, as per spec. - * Don't allow spaces in link destinations, even with pointy brackets. - Conforms to latest change in spec. - * Updated `scheme` scanner according to spec change. We no longer use - a whitelist of valid schemes. - * Allow any kind of nodes as children of `CUSTOM_BLOCK` (#96). - * `cmark.h`: moved typedefs for iterator into iterator section. - This just moves some code around so it makes more sense - to read, and in the man page. - * Fixed `make_man_page.py` so it includes typedefs again. - -[0.23.0] - - * [API change] Added `CUSTOM_BLOCK` and `CUSTOM_INLINE` node types. - They are never generated by the parser, and do not correspond - to CommonMark elements. They are designed to be inserted by - filters that postprocess the AST. For example, a filter might - convert specially marked code blocks to svg diagrams in HTML - and tikz diagrams in LaTeX, passing these through to the renderer - as a `CUSTOM_BLOCK`. These nodes can have children, but they - also have literal text to be printed by the renderer "on enter" - and "on exit." Added `cmark_node_get_on_enter`, - `cmark_node_set_on_enter`, `cmark_node_get_on_exit`, - `cmark_node_set_on_exit` to API. - * [API change] Rename `NODE_HTML` -> `NODE_HTML_BLOCK`, - `NODE_INLINE_HTML` -> `NODE_HTML_INLINE`. Define aliases - so the old names still work, for backwards compatibility. - * [API change] Rename `CMARK_NODE_HEADER` -> `CMARK_NODE_HEADING`. - Note that for backwards compatibility, we have defined aliases: - `CMARK_NODE_HEADER` = `CMARK_NODE_HEADING`, - `cmark_node_get_header_level` = `cmark_node_get_heading_level`, and - `cmark_node_set_header_level` = `cmark_node_set_heading_level`. - * [API change] Rename `CMARK_NODE_HRULE` -> `CMARK_NODE_THEMATIC_BREAK`. - Defined the former as the latter for backwards compatibility. - * Don't allow space between link text and link label in a reference link - (spec change). - * Separate parsing and rendering opts in `cmark.h` (#88). - This change also changes some of these constants' numerical values, - but nothing should change in the API if you use the constants - themselves. It should now be clear in the man page which - options affect parsing and which affect rendering. - * xml renderer - Added xmlns attribute to document node (jgm/CommonMark#87). - * Commonmark renderer: ensure html blocks surrounded by blanks. - Otherwise we get failures of roundtrip tests. - * Commonmark renderer: ensure that literal characters get escaped - when they're at the beginning of a block, e.g. `> \- foo`. - * LaTeX renderer - better handling of internal links. - Now we render `[foo](#bar)` as `\protect\hyperlink{bar}{foo}`. - * Check for NULL pointer in _scan_at (#81). - * `Makefile.nmake`: be more robust when cmake is missing. Previously, - when cmake was missing, the build dir would be created anyway, and - subsequent attempts (even with cmake) would fail, because cmake would - not be run. Depending on `build/CMakeFiles` is more robust -- this won't - be created unless cmake is run. Partially addresses #85. - * Fixed DOCTYPE in xml output. - * commonmark.c: fix `size_t` to `int`. This fixes an MSVC warning - "conversion from 'size_t' to 'int', possible loss of data" (Kevin Wojniak). - * Correct string length in `cmark_parse_document` example (Lee Jeffery). - * Fix non-ASCII end-of-line character check (andyuhnak). - * Fix "declaration shadows a local variable" (Kevin Wojniak). - * Install static library (jgm/CommonMark#381). - * Fix warnings about dropping const qualifier (Kevin Wojniak). - * Use full (unabbreviated) versions of constants (`CMARK_...`). - * Removed outdated targets from Makefile. - * Removed need for sudo in `make bench`. - * Improved benchmark. Use longer test, since `time` has limited resolution. - * Removed `bench.h` and timing calls in `main.c`. - * Updated API docs; getters return empty strings if not set - rather than NULL, as previously documented. - * Added api_tests for custom nodes. - * Made roundtrip test part of the test suite run by cmake. - * Regenerate `scanners.c` using re2c 0.15.3. - * Adjusted scanner for link url. This fixes a heap buffer overflow (#82). - * Added version number (1.0) to XML namespace. We don't guarantee - stability in this until 1.0 is actually released, however. - * Removed obsolete `TIMER` macro. - * Make `LIB_INSTALL_DIR` configurable (Mathieu Bridon, #79). - * Removed out-of-date luajit wrapper. - * Use `input`, not `parser->curline` to determine last line length. - * Small optimizations in `_scan_at`. - * Replaced hard-coded 4 with `TAB_STOP`. - * Have `make format` reformat api tests as well. - * Added api tests for man, latex, commonmark, and xml renderers (#51). - * render.c: added `begin_content` field. This is like `begin_line` except - that it doesn't trigger production of the prefix. So it can be set - after an initial prefix (say `> `) is printed by the renderer, and - consulted in determining whether to escape content that has a special - meaning at the beginning of a line. Used in the commonmark renderer. - * Python 3.5 compatibility: don't require HTMLParseError (Zhiming Wang). - HTMLParseError was removed in Python 3.5. Since it could never be thrown - in Python 3.5+, we simply define a placeholder when HTMLParseError - cannot be imported. - * Set `convert_charrefs=False` in `normalize.py` (#83). This defeats the - new default as of python 3.5, and allows the script to work with python - 3.5. - -[0.22.0] - - * Removed `pre` from blocktags scanner. `pre` is handled separately - in rule 1 and needn't be handled in rule 6. - * Added `iframe` to list of blocktags, as per spec change. - * Fixed bug with `HRULE` after blank line. This previously caused cmark - to break out of a list, thinking it had two consecutive blanks. - * Check for empty string before trying to look at line ending. - * Make sure every line fed to `S_process_line` ends with `\n` (#72). - So `S_process_line` sees only unix style line endings. Ultimately we - probably want a better solution, allowing the line ending style of - the input file to be preserved. This solution forces output with newlines. - * Improved `cmark_strbuf_normalize_whitespace` (#73). Now all characters - that satisfy `cmark_isspace` are recognized as whitespace. Previously - `\r` and `\t` (and others) weren't included. - * Treat line ending with EOF as ending with newline (#71). - * Fixed `--hardbreaks` with `\r\n` line breaks (#68). - * Disallow list item starting with multiple blank lines (jgm/CommonMark#332). - * Allow tabs before closing `#`s in ATX header - * Removed `cmark_strbuf_printf` and `cmark_strbuf_vprintf`. - These are no longer needed, and cause complications for MSVC. - Also removed `HAVE_VA_COPY` and `HAVE_C99_SNPRINTF` feature tests. - * Added option to disable tests (Kevin Wojniak). - * Added `CMARK_INLINE` macro. - * Removed need to disable MSVC warnings 4267, 4244, 4800 - (Kevin Wojniak). - * Fixed MSVC inline errors when cmark is included in sources that - don't have the same set of disabled warnings (Kevin Wojniak). - * Fix `FileNotFoundError` errors on tests when cmark is built from - another project via `add_subdirectory()` (Kevin Wojniak). - * Prefix `utf8proc` functions to avoid conflict with existing library - (Kevin Wojniak). - * Avoid name clash between Windows `.pdb` files (Nick Wellnhofer). - * Improved `smart_punct.txt` (see jgm/commonmark.js#61). - * Set `POSITION_INDEPENDENT_CODE` `ON` for static library (see #39). - * `make bench`: allow overriding `BENCHFILE`. Previously if you did - this, it would clopper `BENCHFILE` with the default bench file. - * `make bench`: Use -10 priority with renice. - * Improved `make_autolink`. Ensures that title is chunk with empty - string rather than NULL, as with other links. - * Added `clang-check` target. - * Travis: split `roundtrip_test` and `leakcheck` (OGINO Masanori). - * Use clang-format, llvm style, for formatting. Reformatted all source files. - Added `format` target to Makefile. Removed `astyle` target. - Updated `.editorconfig`. - -[0.21.0] - - * Updated to version 0.21 of spec. - * Added latex renderer (#31). New exported function in API: - `cmark_render_latex`. New source file: `src/latex.hs`. - * Updates for new HTML block spec. Removed old `html_block_tag` scanner. - Added new `html_block_start` and `html_block_start_7`, as well - as `html_block_end_n` for n = 1-5. Rewrote block parser for new HTML - block spec. - * We no longer preprocess tabs to spaces before parsing. - Instead, we keep track of both the byte offset and - the (virtual) column as we parse block starts. - This allows us to handle tabs without converting - to spaces first. Tabs are left as tabs in the output, as - per the revised spec. - * Removed utf8 validation by default. We now replace null characters - in the line splitting code. - * Added `CMARK_OPT_VALIDATE_UTF8` option and command-line option - `--validate-utf8`. This option causes cmark to check for valid - UTF-8, replacing invalid sequences with the replacement - character, U+FFFD. Previously this was done by default in - connection with tab expansion, but we no longer do it by - default with the new tab treatment. (Many applications will - know that the input is valid UTF-8, so validation will not - be necessary.) - * Added `CMARK_OPT_SAFE` option and `--safe` command-line flag. - + Added `CMARK_OPT_SAFE`. This option disables rendering of raw HTML - and potentially dangerous links. - + Added `--safe` option in command-line program. - + Updated `cmark.3` man page. - + Added `scan_dangerous_url` to scanners. - + In HTML, suppress rendering of raw HTML and potentially dangerous - links if `CMARK_OPT_SAFE`. Dangerous URLs are those that begin - with `javascript:`, `vbscript:`, `file:`, or `data:` (except for - `image/png`, `image/gif`, `image/jpeg`, or `image/webp` mime types). - + Added `api_test` for `OPT_CMARK_SAFE`. - + Rewrote `README.md` on security. - * Limit ordered list start to 9 digits, per spec. - * Added width parameter to `render_man` (API change). - * Extracted common renderer code from latex, man, and commonmark - renderers into a separate module, `renderer.[ch]` (#63). To write a - renderer now, you only need to write a character escaping function - and a node rendering function. You pass these to `cmark_render` - and it handles all the plumbing (including line wrapping) for you. - So far this is an internal module, but we might consider adding - it to the API in the future. - * commonmark writer: correctly handle email autolinks. - * commonmark writer: escape `!`. - * Fixed soft breaks in commonmark renderer. - * Fixed scanner for link url. re2c returns the longest match, so we - were getting bad results with `[link](foo\(and\(bar\)\))` - which it would parse as containing a bare `\` followed by - an in-parens chunk ending with the final paren. - * Allow non-initial hyphens in html tag names. This allows for - custom tags, see jgm/CommonMark#239. - * Updated `test/smart_punct.txt`. - * Implemented new treatment of hyphens with `--smart`, converting - sequences of hyphens to sequences of em and en dashes that contain no - hyphens. - * HTML renderer: properly split info on first space char (see - jgm/commonmark.js#54). - * Changed version variables to functions (#60, Andrius Bentkus). - This is easier to access using ffi, since some languages, like C# - like to use only function interfaces for accessing library - functionality. - * `process_emphasis`: Fixed setting lower bound to potential openers. - Renamed `potential_openers` -> `openers_bottom`. - Renamed `start_delim` -> `stack_bottom`. - * Added case for #59 to `pathological_test.py`. - * Fixed emphasis/link parsing bug (#59). - * Fixed off-by-one error in line splitting routine. - This caused certain NULLs not to be replaced. - * Don't rtrim in `subject_from_buffer`. This gives bad results in - parsing reference links, where we might have trailing blanks - (`finalize` removes the bytes parsed as a reference definition; - before this change, some blank bytes might remain on the line). - + Added `column` and `first_nonspace_column` fields to `parser`. - + Added utility function to advance the offset, computing - the virtual column too. Note that we don't need to deal with - UTF-8 here at all. Only ASCII occurs in block starts. - + Significant performance improvement due to the fact that - we're not doing UTF-8 validation. - * Fixed entity lookup table. The old one had many errors. - The new one is derived from the list in the npm entities package. - Since the sequences can now be longer (multi-code-point), we - have bumped the length limit from 4 to 8, which also affects - `houdini_html_u.c`. An example of the kind of error that was fixed: - `≧̸` should be rendered as "≧̸" (U+02267 U+00338), but it was - being rendered as "≧" (which is the same as `≧`). - * Replace gperf-based entity lookup with binary tree lookup. - The primary advantage is a big reduction in the size of - the compiled library and executable (> 100K). - There should be no measurable performance difference in - normal documents. I detected only a slight performance - hit in a file containing 1,000,000 entities. - + Removed `src/html_unescape.gperf` and `src/html_unescape.h`. - + Added `src/entities.h` (generated by `tools/make_entities_h.py`). - + Added binary tree lookup functions to `houdini_html_u.c`, and - use the data in `src/entities.h`. - * Renamed `entities.h` -> `entities.inc`, and - `tools/make_entities_h.py` -> `tools/make_entitis_inc.py`. - * Fixed cases like - ``` - [ref]: url - "title" ok - ``` - Here we should parse the first line as a reference. - * `inlines.c`: Added utility functions to skip spaces and line endings. - * Fixed backslashes in link destinations that are not part of escapes - (jgm/commonmark#45). - * `process_line`: Removed "add newline if line doesn't have one." - This isn't actually needed. - * Small logic fixes and a simplification in `process_emphasis`. - * Added more pathological tests: - + Many link closers with no openers. - + Many link openers with no closers. - + Many emph openers with no closers. - + Many closers with no openers. - + `"*a_ " * 20000`. - * Fixed `process_emphasis` to handle new pathological cases. - Now we have an array of pointers (`potential_openers`), - keyed to the delim char. When we've failed to match a potential opener - prior to point X in the delimiter stack, we reset `potential_openers` - for that opener type to X, and thus avoid having to look again through - all the openers we've already rejected. - * `process_inlines`: remove closers from delim stack when possible. - When they have no matching openers and cannot be openers themselves, - we can safely remove them. This helps with a performance case: - `"a_ " * 20000` (jgm/commonmark.js#43). - * Roll utf8proc_charlen into utf8proc_valid (Nick Wellnhofer). - Speeds up "make bench" by another percent. - * `spec_tests.py`: allow `→` for tab in HTML examples. - * `normalize.py`: don't collapse whitespace in pre contexts. - * Use utf-8 aware re2c. - * Makefile afl target: removed `-m none`, added `CMARK_OPTS`. - * README: added `make afl` instructions. - * Limit generated generated `cmark.3` to 72 character line width. - * Travis: switched to containerized build system. - * Removed `debug.h`. (It uses GNU extensions, and we don't need it anyway.) - * Removed sundown from benchmarks, because the reading was anomalous. - sundown had an arbitrary 16MB limit on buffers, and the benchmark - input exceeded that. So who knows what we were actually testing? - Added hoedown, sundown's successor, which is a better comparison. - -[0.20.0] - - * Fixed bug in list item parsing when items indented >= 4 spaces (#52). - * Don't allow link labels with no non-whitespace characters - (jgm/CommonMark#322). - * Fixed multiple issues with numeric entities (#33, Nick Wellnhofer). - * Support CR and CRLF line endings (Ben Trask). - * Added test for different line endings to `api_test`. - * Allow NULL value in string setters (Nick Wellnhofer). (NULL - produces a 0-length string value.) Internally, URL and - title are now stored as `cmark_chunk` rather than `char *`. - * Fixed memory leak in `cmark_consolidate_text_nodes` (#32). - * Fixed `is_autolink` in the CommonMark renderer (#50). Previously *any* - link with an absolute URL was treated as an autolink. - * Cope with broken `snprintf` on Windows (Nick Wellnhofer). On Windows, - `snprintf` returns -1 if the output was truncated. Fall back to - Windows-specific `_scprintf`. - * Switched length parameter on `cmark_markdown_to_html`, - `cmark_parser_feed`, and `cmark_parse_document` from `int` - to `size_t` (#53, Nick Wellnhofer). - * Use a custom type `bufsize_t` for all string sizes and indices. - This allows to switch to 64-bit string buffers by changing a single - typedef and a macro definition (Nick Wellnhofer). - * Hardened the `strbuf` code, checking for integer overflows and - adding range checks (Nick Wellnhofer). - * Removed unused function `cmark_strbuf_attach` (Nick Wellnhofer). - * Fixed all implicit 64-bit to 32-bit conversions that - `-Wshorten-64-to-32` warns about (Nick Wellnhofer). - * Added helper function `cmark_strbuf_safe_strlen` that converts - from `size_t` to `bufsize_t` and throws an error in case of - an overflow (Nick Wellnhofer). - * Abort on `strbuf` out of memory errors (Nick Wellnhofer). - Previously such errors were not being trapped. This involves - some internal changes to the `buffer` library that do not affect - the API. - * Factored out `S_find_first_nonspace` in `S_proces_line`. - Added fields `offset`, `first_nonspace`, `indent`, and `blank` - to `cmark_parser` struct. This just removes some repetition. - * Added Racket Racket (5.3+) wrapper (Eli Barzilay). - * Removed `-pg` from Debug build flags (#47). - * Added Ubsan build target, to check for undefined behavior. - * Improved `make leakcheck`. We now return an error status if anything - in the loop fails. We now check `--smart` and `--normalize` options. - * Removed `wrapper3.py`, made `wrapper.py` work with python 2 and 3. - Also improved the wrapper to work with Windows, and to use smart - punctuation (as an example). - * In `wrapper.rb`, added argument for options. - * Revised luajit wrapper. - * Added build status badges to README.md. - * Added links to go, perl, ruby, R, and Haskell bindings to README.md. - -[0.19.0] - - * Fixed `_` emphasis parsing to conform to spec (jgm/CommonMark#317). - * Updated `spec.txt`. - * Compile static library with `-DCMARK_STATIC_DEFINE` (Nick Wellnhofer). - * Suppress warnings about Windows runtime library files (Nick Wellnhofer). - Visual Studio Express editions do not include the redistributable files. - Set `CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_NO_WARNINGS` to suppress warnings. - * Added appyeyor: Windows continuous integration (`appveyor.yml`). - * Use `os.path.join` in `test/cmark.py` for proper cross-platform paths. - * Fixed `Makefile.nmake`. - * Improved `make afl`: added `test/afl_dictionary`, increased timeout - for hangs. - * Improved README with a description of the library's strengths. - * Pass-through Unicode non-characters (Nick Wellnhofer). - Despite their name, Unicode non-characters are valid code points. They - should be passed through by a library like libcmark. - * Check return status of `utf8proc_iterate` (#27). - -[0.18.3] - - * Include patch level in soname (Nick Wellnhofer). Minor version is - tied to spec version, so this allows breaking the ABI between spec - releases. - * Install compiler-provided system runtime libraries (Changjiang Yang). - * Use `strbuf_printf` instead of `snprintf`. `snprintf` is not - available on some platforms (Visual Studio 2013 and earlier). - * Fixed memory access bug: "invalid read of size 1" on input `[link](<>)`. - -[0.18.2] - - * Added commonmark renderer: `cmark_render_commonmark`. In addition - to options, this takes a `width` parameter. A value of 0 disables - wrapping; a positive value wraps the document to the specified - width. Note that width is automatically set to 0 if the - `CMARK_OPT_HARDBREAKS` option is set. - * The `cmark` executable now allows `-t commonmark` for output as - CommonMark. A `--width` option has been added to specify wrapping - width. - * Added `roundtrip_test` Makefile target. This runs all the spec - through the commonmark renderer, and then through the commonmark - parser, and compares normalized HTML to the test. All tests pass - with the current parser and renderer, giving us some confidence that - the commonmark renderer is sufficiently robust. Eventually this - should be pythonized and put in the cmake test routine. - * Removed an unnecessary check in `blocks.c`. By the time we check - for a list start, we've already checked for a horizontal rule, so - we don't need to repeat that check here. Thanks to Robin Stocker for - pointing out a similar redundancy in commonmark.js. - * Fixed bug in `cmark_strbuf_unescape` (`buffer.c`). The old function - gave incorrect results on input like `\\*`, since the next backslash - would be treated as escaping the `*` instead of being escaped itself. - * `scanners.re`: added `_scan_scheme`, `scan_scheme`, used in the - commonmark renderer. - * Check for `CMAKE_C_COMPILER` (not `CC_COMPILER`) when setting C flags. - * Update code examples in documentation, adding new parser option - argument, and using `CMARK_OPT_DEFAULT` (Nick Wellnhofer). - * Added options parameter to `cmark_markdown_to_html`. - * Removed obsolete reference to `CMARK_NODE_LINK_LABEL`. - * `make leakcheck` now checks all output formats. - * `test/cmark.py`: set default options for `markdown_to_html`. - * Warn about buggy re2c versions (Nick Wellnhofer). - -[0.18.1] - - * Build static version of library in default build (#11). - * `cmark.h`: Add missing argument to `cmark_parser_new` (#12). - -[0.18] - - * Switch to 2-clause BSD license, with agreement of contributors. - * Added Profile build type, `make prof` target. - * Fixed autolink scanner to conform to the spec. Backslash escapes - not allowed in autolinks. - * Don't rely on strnlen being available (Nick Wellnhofer). - * Updated scanners for new whitespace definition. - * Added `CMARK_OPT_SMART` and `--smart` option, `smart.c`, `smart.h`. - * Added test for `--smart` option. - * Fixed segfault with --normalize (closes #7). - * Moved normalization step from XML renderer to `cmark_parser_finish`. - * Added options parameter to `cmark_parse_document`, `cmark_parse_file`. - * Fixed man renderer's escaping for unicode characters. - * Don't require python3 to make `cmark.3` man page. - * Use ASCII escapes for punctuation characters for portability. - * Made `options` an int rather than a long, for consistency. - * Packed `cmark_node` struct to fit into 128 bytes. - This gives a small performance boost and lowers memory usage. - * Repacked `delimiter` struct to avoid hole. - * Fixed use-after-free bug, which arose when a paragraph containing - only reference links and blank space was finalized (#9). - Avoid using `parser->current` in the loop that creates new - blocks, since `finalize` in `add_child` may have removed - the current parser (if it contains only reference definitions). - This isn't a great solution; in the long run we need to rewrite - to make the logic clearer and to make it harder to make - mistakes like this one. - * Added 'Asan' build type. `make asan` will link against ASan; the - resulting executable will do checks for memory access issues. - Thanks @JordanMilne for the suggestion. - * Add Makefile target to fuzz with AFL (Nick Wellnhofer) - The variable `$AFL_PATH` must point to the directory containing the AFL - binaries. It can be set as an environment variable or passed to make on - the command line. - -[0.17] - - * Stripped out all JavaScript related code and documentation, moving - it to a separate repository (<https://github.com/jgm/commonmark.js>). - * Improved Makefile targets, so that `cmake` is run again only when - necessary (Nick Wellnhofer). - * Added `INSTALL_PREFIX` to the Makefile, allowing installation to a - location other than `/usr/local` without invoking `cmake` - manually (Nick Wellnhofer). - * `make test` now guarantees that the project will - be rebuilt before tests are run (Nick Wellnhofer). - * Prohibited overriding of some Makefile variables (Nick Wellnhofer). - * Provide version number and string, both as macros - (`CMARK_VERSION`, `CMARK_VERSION_STRING`) and as symbols - (`cmark_version`, `cmark_version_string`) (Nick Wellnhofer). All of - these come from `cmark_version.h`, which is constructed from a - template `cmark_version.h.in` and data in `CMakeLists.txt`. - * Avoid calling `free` on null pointer. - * Added an accessor for an iterator's root node (`cmark_iter_get_root`). - * Added user data field for nodes (Nick Wellnhofer). This is - intended mainly for use in bindings for dynamic languages, where - it could store a pointer to a target language object (#287). But - it can be used for anything. - * Man renderer: properly escape multiline strings. - * Added assertion to raise error if finalize is called on a closed block. - * Implemented the new spec rule for emphasis and strong emphasis with `_`. - * Moved the check for fence-close with the other checks for end-of-block. - * Fixed a bug with loose list detection with items containings - fenced code blocks (#285). - * Removed recursive algorithm in `ends_with_blank_line` (#286). - * Minor code reformatting: renamed parameters. - -[0.16] - - * Added xml renderer (XML representation of the CommonMark AST, - which is described in `CommonMark.dtd`). - * Reduced size of gperf entity table (Nick Wellnhofer). - * Reworked iterators to allow deletion of nodes during iteration - (Nick Wellnhofer). - * Optimized `S_is_leaf`. - * Added `cmark_iter_reset` to iterator API. - * Added `cmark_consolidate_text_nodes` to API to combine adjacent - text nodes. - * Added `CMARK_OPT_NORMALIZE` to options (this combines adjacent - text nodes). - * Added `--normalize` option to command-line program. - * Improved regex for HTML comments in inline parsing. - * Python is no longer required for a basic build from the - repository. diff --git a/forgewrapper/gradle.properties b/forgewrapper/gradle.properties index e2b1ac4ba7..07309702ac 100644 --- a/forgewrapper/gradle.properties +++ b/forgewrapper/gradle.properties @@ -1,4 +1,4 @@ org.gradle.daemon = false -fw_version = prism +fw_version = projt diff --git a/genqrcode/ChangeLog b/genqrcode/ChangeLog deleted file mode 100644 index 79713f070d..0000000000 --- a/genqrcode/ChangeLog +++ /dev/null @@ -1,1826 +0,0 @@ -2021.01.08 Kentaro Fukuchi <kentaro@fukuchi.org> - [develop] - * tests/test_qrinput.c: - - A minor memory leak bug in a test case has been fixed. - * README.md: - - 'libpng12-dev' has been corrected to 'libpng-dev'. (closes #170) - (Thanks to @a6q) - * .github/workflows/cmake.yml: - - Updated 'run-vcpkg' package to v6. - - vcpkg's git commit ID has been updated to the latest master. - -2020.09.29 Kentaro Fukuchi <kentaro@fukuchi.org> - [develop] - * qrencode.c: - - Removed unused code. - * qrencode.h: - - Added a sample code snippet to the document. - -2020.09.28 Kentaro Fukuchi <kentaro@fukuchi.org> - [hotfix] - * qrinput.c, tests/test_estimatebit.c: - - Fixed a bug in the estimation of the Micro QR Code's data length - in QRinput_estimateBitStreamSizeOfEntry() has been fixed. - - Fixed a bug in the calculation of the Micro QR Code's data capacity in - QRinput_encodeBitStream(). - - A test case to test the bugs above has been added. - - Level check failure in QRinput_new2() on Windows has been fixed. - * Bumped version to 4.1.1. - [develop] - * tests/release_check.sh: - - Release checker script has been added. Currently it checks only the - version numbers among scripts. - * configure.ac: - - '--enable-mudflap' option has been deleted. (mudflap is deprecated - since GCC 4.9) - * qrencode.h: - - Comments for QRcode_APIVersion() has been slightly improved. - -2020.09.27 Kentaro Fukuchi <kentaro@fukuchi.org> - [develop] - * NEWS: - - All tab characters have been replaced with spaces. - * qrenc.c, qrencode.1.in: - - The effects of '--type' option's 'ASCII' and 'ASCIIi' have been - swapped. (closes #142) - * .github/workflows/{configure,cmake}.yml: - - CI scripts have been improved to utilze multiple cores and cache. - * tests/{test_basic.sh, test_qrenc.sh}: - - Code cleanups. - [code cleanups] - * various files: - - Cleanup compiler warnings. - [develop] - * Merged 'code cleanups' branch. - * qrenc.c: - - Text output bug of structured append has been fixed. - -2020.09.26 Kentaro Fukuchi <kentaro@fukuchi.org> - [develop] - * tests/test_qrencode.c: - - Minor memory leak bug in a test case has been fixed. - * COPYING: - - Updated to the latest revision. - * qrenc.c: - - Some URLs' schemes have been updated to https from http. - * README.md, qrenc.c, qrencode.1.in, qrencode.[ch]: - - Copyright year has been updated. - * .github/workflows/{configure,cmake,cmake-windows}.yml: - - Workflow names have been improved. - * .travis.yml: - - Migration to Github Actions has been completed. - * .github/workflows/{configure,cmake,cmake-windows}.yml: - - CI scripts have been improved. - * README.md, makeREADME.sh: - - Status badge has been changed to show the result from the Github Actions - instead of Travis CI. - -2020.09.22 Kentaro Fukuchi <kentaro@fukuchi.org> - [develop] - * mask.c, qrencode.h: - - Typos and grammer errors have been fixed. - * Merge branch 'optimization'. - -2020.09.21 Kentaro Fukuchi <kentaro@fukuchi.org> - [optimization] - * tests/prof_qrencode.c: - - Test numbers are extended. - * mask.c: - - Minor optimizations. - -2020.08.30 Kentaro Fukuchi <kentaro@fukuchi.org> - [develop] - * .github/workflows/configure.yml: - - Added macOS CI script. - * qrencode.1.in, qrenc.c: - - Detailed description of text output types has been added. - (closes #142) - * qrenc.c: - - Invalid XPM output has been fixed. (Thanks to @dlitz and @cbrt64) - (closes #136) - [optimization] - * qrencode.c: - - A tail recursion in FrameFiller_next() has been eliminated. - -2020.08.29 Kentaro Fukuchi <kentaro@fukuchi.org> - [release-4.1.0] - * .github/workflows/{cmake,configure,cmake-windows}.yml: - - Github actions CI scripts have been added. - * tests/test_bitstream.c: - - Fixed memory leak. - * configure.ac, tests/{prof,pthread}_qrencode.c: - - Make configure to define HAVE_SYS_TIME_H in config.h. - * CMakeLists.txt: - - 'wingetopt' has been replaced to 'getopt'. - * qrencode.c, tests/test_qrencode.c: - - ECLEVEL check has been improved. - * .gitignore: - - Added 'use/test-driver'. - [master] - * merged release-4.1.0. - * version 4.1.0 has been released. - -2020.08.28 Kentaro Fukuchi <kentaro@fukuchi.org> - [develop] - * Made a develoment branch. - * test_qrspec.c: - - Typo fixes. - * qrinput.[ch], tests/{test_qrencode.c, test_qrinput.c}: - - A precise boundary check has been introduced to - QRinput_estimateVersion(). (closes #160) - * qrinput.c, qrencode.c, tests/test_qrencode.c, qrenc.c, qrencode.1.in: - - QRinput_encodeMode*() now throws ERANGE when encoding Micro QR Code - and an appropriate version number was not specified. - - Now Micro QR Code also allows auto version adjustment. - * qrenc.c, qrencode.1.in: - - The synopsis has been improved. (Thanks to @jidanni) (closes #155) - - A new option '--strict-version' has been introduced. - * split.c: - - A tail recursion has been eliminated. (Thanks to @4061N) (closes #144) - * tests/*: - - All test programs are now TAP-ready. Now you can run all test programs - by 'make check'.(Thanks to @jtojnar) (closes #117) - * qrinput.c: - - Return value was ignored. (Thanks to @xiaoyur347) (closed #143) - * README.md, NEWS: - - Various documentation improvements and updates. - [release-4.1.0] - * Bumped version to 4.1.0. - * qrencode.h: - - Document improvements. - * qrenc.c, qrencode.1.in: - - Added 'UTF8i' and 'ANSIUTF8i' to the descriptions of the corresponding - options. (Thanks to @Khoyo) (merged #138) - -2020.02.23 Kentaro Fukuchi <kentaro@fukuchi.org> - [master] - * CMakeLists.txt, README.md: - - Merged #158 (Thanks to @neheb): - - Fixed the compile-time issue of the environment without libpng. - -2020.02.23 Kentaro Fukuchi <kentaro@fukuchi.org> - [master] - * README.md: - - Merged #151 (Thanks to @NancyLi1013): - - Added vcpkg installation instructions. - -2018.11.09 Kentaro Fukuchi <kentaro@fukuchi.org> - [master] - * configure.ac, README.md: - - Merged #137 (Thanks to @abelbeck and @charmander): - - 'too many arguments' bug has been fixed. - -2018.07.28 Kentaro Fukuchi <kentaro@fukuchi.org> - [master] - * CMakeLists.txt: - - Merged #133 (Thanks to @sdf5): - - Change CMAKE_SORUCE_DIR to CMAKE_CURRENT_SORUCE_DIR in - CMAKE_MODULE_PATH - -2018.06.14 Kentaro Fukuchi <kentaro@fukuchi.org> - [master] - * qrenc.c, qrencode.1.in, README.md, NEWS: - - UTF8 mode now supports ANSI256 color. (Thanks to András Veres- - Szentkirályi) - -2018.06.07 Kentaro Fukuchi <kentaro@fukuchi.org> - [master] - * CMakeLists.txt, tests/CMakeLists.txt: - - Merged #131 (Thanks to @mgorny): - - Update paths inside the pkg-config file to respect GNUInstallDirs. - - Improve pthread support for the main library when building via CMake. - - Always build libdecoder as static library. - -2018.06.06 Kentaro Fukuchi <kentaro@fukuchi.org> - [master, 4.0] - * tests/Makefile.am: - - Add missing test_basic.sh to EXTRA_DIST. (merged #127) (Thanks to - @mgorny) - * CMakeLists.txt: - - Use CMake GNUInstallDirs module to provide variables for configurable - install directories. (merged #128) (Thanks to @mgorny) - [4.0] - * configure.ac, CMakeLists.txt, README.md: - - Bumped version to 4.0.2. - [master] - * tests/{Makefile.am, CMakeLists.txt, test_qrspec.c}: - - Fix running test_qrspec when building out-of-source. (merged #129) - (Thanks to @mgorny) - -2018.06.04 Kentaro Fukuchi <kentaro@fukuchi.org> - [master, 4.0] - * CMakeLists.txt: - - STATIC_IN_RELEASE is now set to "static" when WITH_TESTS is disabled. - (closes #126) - - Tabs expaned. - [4.0] - * configure.ac, CMakeLists.txt, README.md: - - Bumped version to 4.0.1. - -2018.06.02 Kentaro Fukuchi <kentaro@fukuchi.org> - [master, 4.0] - * CMakeLists.txt: - - Added "WITHOUT_PNG" option that builds qrencode without PNG support. - (closes #125) - -2018.06.01 Kentaro Fukuchi <kentaro@fukuchi.org> - [master, 4.0] - * README.md: - - Added some notes of how to use autogen.sh. (closes #122) (Thanks to - @thebunnyrules) - -2017.10.20 Kentaro Fukuchi <kentaro@fukuchi.org> - [master] - * qrenc.c: - - Adds the --inline option, which omits the xml tag for SVG output. - (merged #110) (Thanks to @jp-bennett) - - Short option '-I' for '--inline' disabled. - * qrencode.1.in: - - Added some missing descriptions. - * README.md: - - Acknowledgments updated. - -2017.10.13 Kentaro Fukuchi <kentaro@fukuchi.org> - [master, 4.0] - * qrencode.h: - - Fix build on windows with Visual Studio. (merged #108) (Thanks to - @Ation) - [master] - * README.md: - - libqrencode now advertised as a "fast and compact" library. - -2017.10.08 Kentaro Fukuchi <kentaro@fukuchi.org> - [master] - * qrenc.c, qrinput.c, rsecc.c, tests/common.c, tests/decoder.c: - - Fixed some warnings. (closing #89 and #102) - -2017.10.06 Kentaro Fukuchi <kentaro@fukuchi.org> - [master] - * tests/test_{all,basic}.sh: - - All tests except test_configure.sh can be run by test_basic.sh now. - - test_all.sh activates test_basic.sh + test_configure.sh. - - test_basic.sh is better during active development, especially when you - gave additional options to configure script. - * split.c, qrspec.c, mqrspec.c, mask.c, mmask.c, qrencode.c, qrinput.c, - rsecc.c, qrencode.c: - - Fixed some warnings. (closing #89 and #102) - -2017.10.05 Kentaro Fukuchi <kentaro@fukuchi.org> - [4.0] - * tests/test_{mask,mmask,qrspec,mqrspec,split_urls,qrencode}.c: - - Removed or commented out unused functions. - - Command line option introduced for verbose debug information. - -2017.10.02 Kentaro Fukuchi <kentaro@fukuchi.org> - [4.0] - * bitstream.h, qrencode.c, qrencode_inner.h: - - Memory alignment improved. - * tests/test_qrencode.c: - - Error messages improved. - * tests/{common.h datachunk.h, decoder.h, rscode.h, rsecc_decoder.h}: - - Reserved macro names are replaced. - * bitstream.[ch]: - - Some variables' type changed from int to size_t. (closing #89 and - #102) - * tests/common.[ch], tests/test_split_url.c: - - Fixed some warnings. - * NEWS: - - Format fixes. - * tests/test_mask.c: - - Fixed some warnings. - * qrencode.h, qrinput.h, mqrspec.c: - - Comment format fixes. - * various files in tests: - - Fixed some warnings. - * tests/test_qrencode.c: - - Removed unused function. - * tests/test_qrinput.c: - - Added a new test function. - -2017.09.29 Kentaro Fukuchi <kentaro@fukuchi.org> - [4.0] - * README.md: - - Format fixes. - * rsecc.[ch]: - - Some variables' type changed from int to size_t. (closing #89 and - #102) - -2017.09.21 Kentaro Fukuchi <kentaro@fukuchi.org> - [4.0] - * qrencode.1.in, NEWS: - - Release date has been updated. - - Documentation updated. - * Version 4.0.0 has been released. - -2017.09.11 Kentaro Fukuchi <kentaro@fukuchi.org> - * qrenc.c: - - Read buffer is now allocated as a static array to avoid malloc(). - Suppresses memory leak warnings. (Thanks to @c-273) - * README.md: - - INSTALL and ACKNOWLEDGMENTS sections are updated. - * makeREADME.sh: - - Now it removes the attention line for github.com users. - * tests/test_qrenc.sh: - - Experimental test script for the command 'qrencode'. - - Dedicated to @c-273, who warned the possible memory leaks of qrencode. - (See #102) - * qrencode.spec.in, Makefile.am, configure.ac: - - SPEC file has been removed. (closes #105) - * Makefile.am: - - The generation rule for README has been improved. - [4.0] - * 4.0 branch has been started. - * README.md: - - Version number added to the 1st line. - - Fixed the URL to the badge of Travis CI. - [master] - * qrencode.[ch]: - - Symbol data representation of QRcode object has been slightly changed. - This change does not affect to most applications. - - If your application uses bits other than the LSB, read the comments of - QRCode class carefully. - * tests/test_qrencode.c: - - Modified correct pattern of a test referring non-LSB bits of QRCode. - * tests/view_qrcode.c: - - Now you can identify the feature of modules by color. - -2017.09.07 Kentaro Fukuchi <kentaro@fukuchi.org> - * *.[ch]: - - Copyright year updated for the next major update. - * tests/test_configure.sh: - - Added some progress messages. - * tests/test_all.sh: - - Added test_configure.sh to the list. - * Makefile.am, tests/Makefile.am: - - Added some EXTRA_DIST files. - - Moved some EXTRA_DIST files from Makefile.am to tests/Makefile.am. - * makeREADME.sh: - - Newly added. - * configure.ac, CMakeLists.txt, README, README.md: - - Bumped version to 4.0.0, preparing for major update. - * .travis.yml: - - Configuration improved. - * Makefile.am, README: - - Added a new rule to generate README from README.md. - - README is no longer needed in the source tree. - * .gitignore: - - Added 'CTestTestfile.cmake'. - - Added 'README' - * README.md: - - Added Katsumi Saito, the contributor of SPEC file, has been added to - the section of ACKNOWLEDGMENTS. We apologize for this lack of - acknowledgment. - -2017.09.06 Kentaro Fukuchi <kentaro@fukuchi.org> - * mqrspec.h: - - Documentation update. - * qrencode.[ch]: - - QRcode_clearCache() has been defined as a deprecated function for - backward compatibility. - * qrenc.c: - - Copyright year updated. - * NEWS, README, README.md: - - Documentation update. - * use/config.rpath: - - Updated to the newer version bundled with gettext-0.19.8.1. - * qrencode.1.in: - - Copyright year updated. - -2017.09.02 Kentaro Fukuchi <kentaro@fukuchi.org> - * configure.ac: - - Replaced AC_PROG_RANLIB with LT_INIT. - -2017.08.04 Kentaro Fukuchi <kentaro@fukuchi.org> - * CMakeLists.txt: - - Getopt.h is checked only by WITH_TOOLS. (merged #101) (Thanks to - @KangLin) - * README, README.md: - - ACKNOWLEDGMENTS has been updated. - -2017.03.15 Kentaro Fukuchi <kentaro@fukuchi.org> - * ChangeLog, NEWS, TODO: - - Typos fixed. (merged #95) (Thanks to @jwilk) - * README, README.md: - - ACKNOWLEDGMENTS has been updated. - * README, README.md, qrenc.c, qrencode.1.in, qrencode.spec.in: - - The URI to the primary site has been updated. (http->https) - * CMakeLists.txt: - - Add version of shared library. (merged #96) (Thanks to @vanillahsu) - -2017.02.05 Kentaro Fukuchi <kentaro@fukuchi.org> - * README, README.md: - - Added some notes to compile test programs. (closes #93) - * CMakeList.txt: - - Added BUILD_SHARED_LIBS option with MSVC export all. (merged #92) - (Thanks to @vilppuvuorinen) - -2017.02.03 Kentaro Fukuchi <kentaro@fukuchi.org> - * CMakeLists.txt, cmake/FIND*.cmake, tests/CMakeLists.txt: - - Merged #91. (Thanks to @aleksey-nikolaev) - - CMake support has been improved greatly. - * README, README.md: - - ACKNOWLEDGMENTS has been updated. - - Some text cleanups. - * tests/frame, .gitignore: - - Empty frame data "tests/frame" has been included in the source tree. - * .travis.yml - - Stopped creating empty frame data. - - Bug fix. - -2016.11.20 Kentaro Fukuchi <kentaro@fukuchi.org> - * tests/test_qrinput.c, tests/test_qrspec.c: - - Some warnings suppresed. - -2016.11.17 Kentaro Fukuchi <kentaro@fukuchi.org> - * CMakeLists.txt, tests/CMakeLists.txt, travis.yml, tests/common.h, - tests/decoder.c, .gitignore: - - Merged #85. (Thanks to @misery) - * NEWS: - - Release note for version 4 has been updated. - -2016.09.19 Kentaro Fukuchi <kentaro@fukuchi.org> - * qrenc.c, qrencode.c, split.c: - - Merged #82. (Thanks to @UniQP) - - Various code cleanups. - * *.h: - - Removed double underscores (__) from macro names in include guards. - (follows C99 standard) - * configure.ac, *.c: - - Renamed __STATIC macro to STATIC_IN_RELEASE. (follows C99 standard) - * qrencode.c: - - Removed unnecessary 'extern' from some functions. - -2016.09.18 Kentaro Fukuchi <kentaro@fukuchi.org> - * CMakeLists.txt: - - Merged #83. (Thanks to @misery) - - This allows CMake users building the library without configure script. - IF you are using incomplete UNIX-like environment and configure script - does not work as expected, try CMake. - * README, README.md: - - Added some notes about CMake. - -2016.05.18 Kentaro Fukuchi <kentaro@fukuchi.org> - * acinclude.m4: - - iconv.m4 has been updated to serial 19. - * configure.ac, Makefile.am, tests/Makefile.am: - - MinGW support has been improved. - * README, README.md: - - ACKNOWLEDGMENTS has been updated. - * qrencode.c: - - Memory leak bug fixed. (Closes #81. Thanks to @win32asm) - * Various code cleanups. (Merged #72. Thanks to @UniQP) - -2016.05.15 Kentaro Fukuchi <kentaro@fukuchi.org> - * configure.ac: - - Merged pull-request #80. (Thanks to @EckoEdc) - - Add LDFLAGS for mingw compilation. - -2016.04.02 Kentaro Fukuchi <kentaro@fukuchi.org> - * tests/common.h: - - Code refactoring. - - New debug functions have been added. - * tests/decoder.[ch], tests/test_monkey.c: - - QRcode_extractBits() has been extended. This will be used later. - * tests/decoder.[ch]: - - eccResult has been added to QRdata. - - Code refactoring. - * tests/decoder.[ch], tests/datachunk.[ch], tests/Makefile.am: - - Code refactoring. - -2016.03.30 Kentaro Fukuchi <kentaro@fukuchi.org> - * bitstream.[ch], tests/test_bitstream.c: - - Added new function BitStream_newWithBits() and tests for it. - * tests/decoder.[ch], tests/test_monkey.c: - - Code refactoring. - -2016.03.29 Kentaro Fukuchi <kentaro@fukuchi.org> - * tests/view_qrcode.c: - - Added mask=-2 mode for debug purpose. - * bitstream.c, qrencode.c: - - Incorrect bit padding has been fixed. (Thanks to Yuji Ueno) - * tests/test_bitstream.c, tests/test_qrencode.c: - - Incorrect bit padding has been fixed. - * README: - - ACKNOWLEDGMENTS has been updated. - * README.md: - - ACKNOWLEDGMENTS has been updated. - - Some missed contributors have been added to README.md. - -2016.02.21 Kentaro Fukuchi <kentaro@fukuchi.org> - * configure.ac, tests/common.h, tests/view_qrcode.c: - - Migrated from SDL 1.2 to 2.0. - * README, README.md: - - Improved the install instruction. (Thanks to Ronald Michaels) - -2015.11.04 Kentaro Fukuchi <kentaro@fukuchi.org> - * qrspec.h, mqrspec.h: - - Typo fix. (Thanks to @qianchenglenger) - * qrenc.c: - - Merged pull-request #74. (Thanks to @mgorny) - - Added support for UTF8i and ANSIUTF8i formats that provide reverse - mappings of UTF8 and ANSIUTF8 formats respective. This is useful for - black-on-white media. - * configure.ac, Makefile.am, qrenc.c, rsecc.c: - - Added new configure option "--without-png". (closes #70) - -2015.05.13 Kentaro Fukuchi <kentaro@fukuchi.org> - * mqrspec.c: - - Typo fix. - * README, README.md: - - Text format improved. - * NEWS: - - Slightly updated. - -2015.05.06 Kentaro Fukuchi <kentaro@fukuchi.org> - * qrenc.c: - - New option "--svg-path" has been added, that uses a single path - instead of multiple rectangles to draw the modules. - (cherry-picked from #41) (Thanks to @Oblomov) - * tests/test_qrenc.sh, tests/test_images/.gitignore: - - Added an unfinished test script for qrencode has been added. - -2015.05.05 Kentaro Fukuchi <kentaro@fukuchi.org> - * qrencode.1.in, qrenc.c: - - Usage improved. (closes #62) (Thanks to @minus7) - - Typo fix. (Thanks to Ian Sweet (@Isweet)) - * README, README.md: - - The list of contributors updated: '@' prefix added for github - usernames. - * qrenc.c: - - X Pixmap (XPM) support has been added. (closes #52) - (Thanks to @tklauser) - * qrspec.h, mqrspec.h, qrencode.h: - - empty descriptions of some @params are filled. - * rsecc.[ch], README: - - Short note about the credit has been improved. - * Some code cleanups. - -2015.05.04 Kentaro Fukuchi <kentaro@fukuchi.org> - * qrenc.c: - - Merge pull request #63 from tklauser/qrenc-array-overflow-fix - - qrenc: Fix array overrun in color_set (Thanks to @tklauser and - @win32asm) - * split.c: - - Merge pull request #67 from siggi-heltau/patch-1 - - The variable name "new" has been renamed to "newstring" because "new" - is a reserved word in C++. (Thanks to @siggi-heltau) - * qrenc.c: - - Added -r option to read input data from a file in addition to STDIN - and the command line. (cherry-picked from #68) - (Thanks to Robert Petersen) - - Typo fix. (cherry-picked from #68) (Thanks to Robert Petersen) - - long option "readin" has been changed to "read-from". - * qrencode.1.in: - - Updated the usage. - * README: - - Updated the list of contributors. - * tests/Makefile.am - - Added URI_testset.inc to EXTRA_DIST. - * .gitignore - - Added some patterns to ignore some generated files. (Thanks to - @tklauser, closes #64) - -2014.09.23 Kentaro FUKUCHI <kentaro@fukuchi.org> - * README, README.md: - - Some typo fixes. (Thanks to Danomi Manchego) - -2014.09.18 Kentaro FUKUCHI <kentaro@fukuchi.org> - * tests/view_qrcode.c: - - Rollbacked the previous change (6a4b2e3710b) around the main part. - * rsecc.c: - - Some code cleanups. - * tests/rsecc_decoder.[ch], tests/test_rs.c, Makefile.am: - - Syndrome checker has been added. - -2014.09.17 Kentaro FUKUCHI <kentaro@fukuchi.org> - * configure.ac: - - Added "-pthread" option to CFLAGS. (Thanks to Danomi Manchego) - * tests/Makefile.am: - - Removed explicit "-lpthread" which is not required anymore. - -2014.09.09 Kentaro FUKUCHI <kentaro@fukuchi.org> - * NEWS: - - Added an entry about 4.0.0. (not released yet) - * mask.[ch], tests/test_mask.c: - - Run length calculation has been slightly improved. - - Reduce malloc calls. - * qrspec.[ch], mqrspec.[ch]: - - Frame caches have been eliminated. It improves both memory efficiency - and performance... Wait, caches were completely meaningless? orz... - * qrencode.[ch]: - - QRcode_clearCache() has been eliminated. - * tests/prof_qrencode.c, tests/pthread_qrencode.c, tests/test_mask.c, - tests/test_mmask.c, tests/test_monkey.c, tests/test_mqrspec.c, - tests/test_qrencode.c, tests/test_qrspec.c: - - Removed cache clearing calls. - * qrencode.c: - - FrameFiller now allocated in stack, not heap. - * rsecc.c: - - Introduced mutex to avoid race condition. - -2014.09.08 Kentaro FUKUCHI <kentaro@fukuchi.org> - * qrenc.c: - - Added color support for EPS output. - -2014.08.18 Kentaro FUKUCHI <kentaro@fukuchi.org> - * configure.ac: - - Added new option "--enable-asan" that enables AddressSanitizer. - -2014.08.15 Kentaro FUKUCHI <kentaro@fukuchi.org> - * tests/view_qrcode.c: - - Version number check improved for Micro QR Code. - -2014.08.05 Kentaro FUKUCHI <kentaro@fukuchi.org> - * configure.ac, Makefile.am, tests/Makefile.am: - - Added some conditional flags for configuration/building process. - - HAVE_PNG and HAVE_SDL can be referred from both Makefile and program - code. - * tests/view_qrcode.c: - - Use SDL_WaitEvent() instead of SDL_PollEvent(). - * tests/common.h: - - Added show_QRcode() for testing purposes. (Thanks to Sunil Maganally) - * tests/*.c: - - main()'s arguments now correctly declared. - -2014.07.25 Kentaro FUKUCHI <kentaro@fukuchi.org> - * tests/URI_testset.inc, tests/test_split_urls.c, tests/Makefile.am, - .gitignore: - - A new test suite evaluating splitting efficiency has been added. - - Still undertrial. - -2014.07.24 Kentaro FUKUCHI <kentaro@fukuchi.org> - * qrinput.c: - - Code refactoring (QRinput_Struct_count has been added). - - And more code cleanups. - - Avoid to add a Structued-append chunk when only one symbol is - generated. (Thanks to Yoshimichi Inoue) - * tests/test_qrinput.c: - - New test has been added. - * qrinput.c, qrencode.1.in: - - Added new option, "verbose". - * tests/common.h: - - printQRinputStruct() has been added. - * rsecc.{c,h}: - - Copyright notice and credit has been corrected. - * README, README.md: - - ACKNOWLEDGMENTS updates. - [3.4] - - Bumped version to 3.4.4. - * Version 3.4.4 has been released. - -2014.07.08 Kentaro FUKUCHI <kentaro@fukuchi.org> - * qrenc.c, qrinput.c, tests/test_qrinput.c: - - Code cleanups. - - Some possible minor bugs has been fixed. - -2014.07.07 Kentaro FUKUCHI <kentaro@fukuchi.org> - * qrenc.c: - - Serious typo fix. - -2014.07.06 Kentaro FUKUCHI <kentaro@fukuchi.org> - * qrenc.c, qrencode.1.in: - - Added a new image type PNG32 (direct color mode). (Thanks to Greg Hart) - -2014.07.04 Kentaro FUKUCHI <kentaro@fukuchi.org> - * use/config.rpath: - - Updated to the newer version bundled with gettext-0.18.3.2. - * acinclude.m4: - - Added iconv.m4, lib-{link,ld,prefix}.m4 for Mac OS. - * autogen.sh: - - mkdir m4 if not exist. - * qrencode.h: - - Fixed some doxygen commands. - -2014.06.27 Kentaro FUKUCHI <kentaro@fukuchi.org> - * qrenc.c, qrencode.1.in: - - Merged pull-request #44. (Thanks to Antenore) - - Fixed some format issues. - -2014.06.22 Kentaro FUKUCHI <kentaro@fukuchi.org> - * qrencode.c: - - A memory leak bug has been fixed. (Thanks to @win32asm) - * bitstream.c: - - Check return value of BitStream_expand. (PR #46, Thanks to @tklauser) - -2014.02.14 Kentaro FUKUCHI <kentaro@fukuchi.org> - * qrinput.c: - - Minor documentation fix. - * qrenc.c: - - Error message improved. - -2014.02.09 Kentaro FUKUCHI <kentaro@fukuchi.org> - * .travis.yaml: - - Configuration file for Travis CI. (Thanks to Danil Dörrhöfer) - * configure.ac: - - Fixed some warnings. - -2014.01.15 Kentaro FUKUCHI <kentaro@fukuchi.org> - * qrenc.c: - - Merged pull request 78d44fd - commandline argument --help and -V is - printed to stdout, instead of stderr. - -2014.01.04 Kentaro FUKUCHI <kentaro@fukuchi.org> - * rsecc.[ch]: - - Code cleanups. - -2013.10.27 Kentaro FUKUCHI <kentaro@fukuchi.org> - * qrinput.c: - - Bug in QRinput_insertFNC1Header() has been fixed. (Thanks to David - Binderman) - * qrinput.c, test/decoder.[ch]: - - Code cleanup. - -2013.09.08 Kentaro FUKUCHI <kentaro@fukuchi.org> - * tests/test_qrencode.c: - - Small bug fix. - -2013.09.06 Kentaro FUKUCHI <kentaro@fukuchi.org> - * qrenc.c: - - bzero() has been replaced with memset(). (Thanks to Gavin Andresen) - * qrspec.c, qrinput.c: - - QRspec_getMinimumVersion() now returns maximum version number for - excessive input, instead of -1. Closes #31. (Thanks to Danil - Dörrhöfer) - * tests/test_qrencode.c: - - New tests for excessive or maximum input have been added. - * tests/test_qrinput.c: - - A deprecatd test has been removed. - [reduce_malloc] - * bitstream.c: - - Minimum length of bit buffer has been extended to 128. In many cases - the library needs 128 bits at least to generate a symbol. - [master] - * merged reduce_malloc branch. - -2013.08.22 Kentaro FUKUCHI <kentaro@fukuchi.org> - * configure.ac: - - Avoid to use sdl-config. (Thanks to Heiko Becker) - -2013.08.15 Kentaro FUKUCHI <kentaro@fukuchi.org> - * rsecc.[ch], qrencode.c, tests/test_rc.c: - - Code cleanups and refactoring. - - Bug fix. - * configure.ac: - - Bumped version to 3.9.0, preparing for major update. - * qrenc.c: - - Copyright year in usage has been updated. - - Help message improved. - -2013.08.15 Kentaro FUKUCHI <kentaro@fukuchi.org> - * rsecc.[ch], rscode.[ch], Makefile.am, qrencode.c: - - Reed-Solomon error correction code has been completely rewritten. - - Phil Karn's code has been removed (moved to tests). - * tests/test_rs.c, tests/test_qrencode.c, tests/rscode.[ch], tests/Makefile.am: - - Test codes related to ECC have been updated. - - Phil Karn's code has been moved to tests, just for test purpose. - * tests/test_mqrspec.c: - - Code cleanup. - -2013.07.29 Kentaro FUKUCHI <kentaro@fukuchi.org> - [3.4] - * configure.ac, README, NEWS: - - Bumped version to 3.4.3. - -2013.07.16 Kentaro FUKUCHI <kentaro@fukuchi.org> - * qrenc.c: - - missing break in switch. (Thanks to ßlúèÇhîp) - * qrinput.c: - - missing/redundant breaks in some switch statements. - -2013.06.17 Kentaro FUKUCHI <kentaro@fukuchi.org> - * qrenc.c: - - Merged pull request #29. (Thanks to Daniel Dörrhöfer) - - Run length encoding has been made non-default. - - New option "--rle" has been instroduced to enable run length encoding - for SVG format. - -2013.03.30 Kentaro FUKUCHI <kentaro@fukuchi.org> - * qrinput.c: - - Renamed a variable ("index") to avoid compile-time warning. (Thanks to - Emmanuel Blot) - - Range check improved. - * autogen.sh: - - bug fix.(Thanks to Emmanuel Blot) - -2013.03.26 Kentaro FUKUCHI <kentaro@fukuchi.org> - * qrenc.c: - - Memory leak bug has been fixed. (Thanks to Hassan Hajji) - - Buffer overrun bug has been fixed. - - Code cleanups. - -2013.03.01 Kentaro FUKUCHI <kentaro@fukuchi.org> - * README, NEWS: - - Documentation update. - * Version 3.4.2 has been released. - -2013.02.26 Kentaro FUKUCHI <kentaro@fukuchi.org> - * split.c, tests/test_split.c: - - Applied Viona's bug fix patch. (Thanks to Viona) - - Additional switching cost between AN and Num mode has been included - correctly. - - Additional switching cost between 8 and AN/Num mode has been included - correctly. - - New test case has been added. - -2013.02.16 Kentaro FUKUCHI <kentaro@fukuchi.org> - [3.4, master] - * configure.ac, README, NEWS: - - Bumped version to 3.4.2. - -2013.02.16 Kentaro FUKUCHI <kentaro@fukuchi.org> - * qrenc.c: - - Now it includes "string.h" by itself for libpng16. (Thanks to Petr) - -2012.11.30 Kentaro FUKUCHI <kentaro@fukuchi.org> - * qrencode.h - - Doxygen documents improved. - -2012.11.09 Kentaro FUKUCHI <kentaro@fukuchi.org> - * qrinput.c: - - Code cleanup. - -2012.11.08 Kentaro FUKUCHI <kentaro@fukuchi.org> - * qrinput.c: - - Memory leak bug has been fixed. (issue #24) (Thanks to chisj) - * qrencode.c: - - Incorrect bit extraction bug in QRcode_encodeMaskMQR() has been fixed. - (issue #25) (Thanks to vlad417) - * tests/test_qrencode.c: - - Added NUL checks for malloc-related bugs using failmalloc. - - Added a new test for issue #25. (Thanks to vlad417) - -2012.10.21 Kentaro FUKUCHI <kentaro@fukuchi.org> - * qrinput.c: - - Unnecessary "goto ABORT" eliminated. - -2012.10.17 Kentaro FUKUCHI <kentaro@fukuchi.org> - [3.4] - * NEWS: - - Release note has been written. - * Version 3.4.1 has been released. - -2012.10.15 Kentaro FUKUCHI <kentaro@fukuchi.org> - [3.4] - * configure.ac: - - HAVE_LIBPTHREAD was not correctly defined in config.h.in. - * tests/test_configure.sh: - - New test script checking autoconf-related scripts has been added. - * configure.ac, README, NEWS: - - Bumped version to 3.4.1. - -2012.10.15 Kentaro FUKUCHI <kentaro@fukuchi.org> - [3.4] - * Version 3.4.0 has been released. - [master] - * Merged 3.4.0. - -2012.10.13 Kentaro FUKUCHI <kentaro@fukuchi.org> - [3.4] - * qrencode.h: - - Documentation improved. - - Copyright year has been updated. - * Doxyfile: - - Rebased on a template from Doxygen 1.7.6.1. - -2012.10.09 Kentaro FUKUCHI <kentaro@fukuchi.org> - [3.4] - * configure.ac, README, NEWS: - - Bumped version to 3.4.0. - * qrencode.1.in: - - Added SVG option to --type. - * qrenc.c: - - Usage improved. - - Inkscape-friendly SVG output. - -2012.09.29 Kentaro FUKUCHI <kentaro@fukuchi.org> - [reduce_malloc] - * bstream.h: - - Added a new function "BitStream_reset()". - * qrinput.c: - - Reduced the use of dynamic memory allocation. - - Performance improved. - - Interfaces of QRinput_getBitStream() and QRinput_mergeBitStream() have - been changed. - -2012.09.25 Kentaro FUKUCHI <kentaro@fukuchi.org> - [reduce_malloc] - * qrinput.c, tests/qrinput.c: - - Reduced the use of dynamic memory allocation. - -2012.09.25 Kentaro FUKUCHI <kentaro@fukuchi.org> - * qrenc.c: - - Input validation improved. (Thanks to Yann Droneaud) - * README: - - Contributors list has been updated. - - Added a note about autogen.sh. - -2012.09.24 Kentaro FUKUCHI <kentaro@fukuchi.org> - * tests/test_bitstream.c: - - Added new test. - * tests/test_{monkey,qrspec}.c: - - Warnings suppressed. - [reduce_malloc] - * bitstream.[ch]: - - Reduced the use of dynamic memory allocation. - -2012.09.22 Kentaro FUKUCHI <kentaro@fukuchi.org> - * qrenc.c: - - Color palette support has been added. Currently PNG and SVG are - supported - * qrencode.1.in: - - "--foreground" and "--background" options have been added. - -2012.09.19 Kentaro FUKUCHI <kentaro@fukuchi.org> - * README: - - Contributors list has been updated. - * qrencode.1.in: - - Followed Unicode block elements patch. - -2012.09.18 Kentaro FUKUCHI <kentaro@fukuchi.org> - * qrenc.c: - - Merge pull request #19 from mezcalero/master (Unicode block elements - support). - -2012.09.13 Kentaro FUKUCHI <kentaro@fukuchi.org> - * qrenc.c: - - Set XML(SVG) declaration's 'standalone' to 'yes'. - -2012.09.03 Kentaro FUKUCHI <kentaro@fukuchi.org> - * qrenc.c: - - A bug introduced in 'b3d5f7' has been reverted. (Thanks to Terry) - -2012.09.03 Kentaro FUKUCHI <kentaro@fukuchi.org> - * qrenc.c: - - Integrated David's SVG patch. - -2012.04.21 Kentaro FUKUCHI <kentaro@fukuchi.org> - * qrenc.c: - - Incorrect arguments order has been fixed. (Thank to Fred Steinhaeuser) - -2012.04.18 Kentaro FUKUCHI <kentaro@fukuchi.org> - [3.3] - * qrenc.c: - - EPS dot size bug has been fixed (closes: #12). - * Version 3.3.1 has been released. - -2012.04.11 Kentaro FUKUCHI <kentaro@fukuchi.org> - [master] - * qrenc.c: - - Paper size and margin are now set properly in SVG output. - -2012.04.10 Kentaro FUKUCHI <kentaro@fukuchi.org> - [master] - * Following fixes have been contributed by Yutaka Niibe. - * qrencode.1.in: - - "Hyphen-used-as-minus-sign" error has been fixed. - * configure.ac, libqrencode.pc.in, tests/Makefile.am: - - Explicit link to libpthread has been eliminated. - * qrenc.c: - - Pulled Repox's SVG patch (Pull request #10). - - Slightly simplified. - [3.3] - * README, configure.ac: - - Bumped version to 3.3.1. - -2012.04.01 Kentaro FUKUCHI <kentaro@fukuchi.org> - [3.3] - * qrenc.c: - - ASCII mode has been added. (Thanks to Ralf Ertzinger) - - Small code cleanups. - - ASCII mode now handles ".txt" suffix correctly. - * NEWS, README: - - Documentation updates. - * Version 3.3.0 has been released. - [master] - * Merged to 3.3.0. - -2012.03.31 Kentaro FUKUCHI <kentaro@fukuchi.org> - [3.2] - * README, NEWS, configure.ac: - - Bumped version to 3.2.1. - * Version 3.2.1 has been released. - [3.3] - * qrenc.c: - - Copyright year has been updated. - -2012.03.30 Kentaro FUKUCHI <kentaro@fukuchi.org> - * libqrencode.pc.in : - - Replaced obsolete macro LIBPTHREAD with LIBS. (thx to gniibe) - * configure.ac: - - Checks $ac_cv_lib_pthread_pthread_mutex_init instead of - HAVE_LIBPTHREAD. (thx to gniibe) - -2012.02.28 Kentaro FUKUCHI <kentaro@fukuchi.org> - [master, 3.2.1] - * .gitignore: - - Added "tests/pthread_qrencode". - [3.3] - * 3.3 branch has been started. - - 3.2.1 has been canceled. - * configure.ac, README, NEWS: - - Version number changes. - -2012.01.31 Kentaro FUKUCHI <kentaro@fukuchi.org> - [master] - * Recent 3.2 branch has been merged into the master. - * qrenc.c: - - Quick bug fix introduced in 09b72eb3070a36461eb83c1ec5237e4855ee515b. - -2012.01.19 Kentaro FUKUCHI <kentaro@fukuchi.org> - [3.2.1] - * configure.ac, qrencode.[hc], qrenc.c, tests/test_qrencode.c: - - QRcode_APIVersion() and QRcode_APIVersionString() have been added. - - New macro values {MAJOR,MINOR,MICRO}_VERSION have been introduced. - - New tests have been added. - * qrenc.c: - - Removed a useless storage class specifier from enum imageType. - [master, 3.2.1] - * Pulled moshen:write_ansi. - [3.2.1] - * tests/decoder.c: - - Bug fix. - * qrenc.c: - - Code refactoring. - - Now you can omit "-o -" for EPS and ANSI output. - - Default margin size has been rollbacked to 4 for ANSI(256). - * README: - - Added Colin (moshen@github) to ACKNOWLEDGMENTS. - - Added zapster's real name to ACKNOWLEDGMENTS. - -2011.12.12 Kentaro FUKUCHI <kentaro@fukuchi.org> - [3.2.1] - * configure.ac, README: - - Bumped version to 3.2.1. - -2011.12.12 Kentaro FUKUCHI <kentaro@fukuchi.org> - * qrenc.c, qrencode.1.in: - - Usage updates. - -2011.12.11 Kentaro FUKUCHI <kentaro@fukuchi.org> - * qrenc.c: - - Pulled Zapster's EPS support patch. - - Some code cleanups. - -2011.11.26 Kentaro FUKUCHI <kentaro@fukuchi.org> - [3.2.0] - * qrencode.1.in: - - "RESOURCES" section has been added. - * README: - - URL to the main web site updated. - * Version 3.2.0 has been released. - -2011.11.23 Kentaro FUKUCHI <kentaro@fukuchi.org> - [3.2.0] - * qrencode.1.in: - - Added descriptions of "-d" and "-M". - -2011.11.3 Kentaro FUKUCHI <kentaro@fukuchi.org> - [3.2.0] - * tests/view_qrcode.c: - - Messages improved. - * mmask.c: - - A bug in mask evaluation function has been eliminatd. - * tests/test_mmask.c: - - New test case has been added. - * qrenc.c: - - Micro QR Code support is now marked as "experimental" explicitly. - * tests/test_qrinput.c, tests/test_qrencode.c: - - Added some test cases. - -2011.10.23 Kentaro FUKUCHI <kentaro@fukuchi.org> - [3.2.0] - * 3.2 branch has been started. - * README, NEWS, configure.ac: - - Version number changes. - - Micro QR Code support is now marked as "experimental" explicitly. - -2011.10.23 Kentaro FUKUCHI <kentaro@fukuchi.org> - * mask.c, mmask.c, tests/common.h: - - Eliminated unused valiables. - * tests/test_qrencode.c: - - Some assertions added. - -2011.10.18 Kentaro FUKUCHI <kentaro@fukuchi.org> - * test/test_mask.c: - - To call QRspec_clearCache() at exit. - -2011.10.17 Kentaro FUKUCHI <kentaro@fukuchi.org> - * configure.ac: - - Now the latest PNG library is chosen when the configure script is - executed. - * Copyright year has been updated. - -2011.10.17 Kentaro FUKUCHI <kentaro@fukuchi.org> - * mask.c: - - Unneeded zero-clear has been eliminated from Mask_calcRunLength(). - - A rounding-down error in N4 calculation has been fixed. - (Thanks to Adam Shepherd) - * tests/test_mask.c: - - Fixed some test cases. - -2011.10.17 Kentaro FUKUCHI <kentaro@fukuchi.org> - * mask.c: - - A bug in N3 penalty calculation functoin has been fixed. - (Thanks to Adam Shepherd) - * mask.h, tests/test_mask.c: - - Test cases for Mask_calcN1N3() have been added. - - Wrong test cases have been corrected. - -2011.10.16 Kentaro FUKUCHI <kentaro@fukuchi.org> - * mask.[ch]: - - Mask_calcRunLength() has been refactored out from Mask_evaluateSymbol(). - * test/test_mask.c: - - New test code for Mask_calcRunLength has been added. - -2011.10.13 Kentaro FUKUCHI <kentaro@fukuchi.org> - * mask.[ch]: - - Mask_calcN2() has been refactored out from Mask_evaluateSymbol(). - * test/test_mask.c: - - New test code for Mask_calcN2 has been added. - * README: - - Added a URL to the git repository. - -2011.08.13 Kentaro FUKUCHI <kentaro@fukuchi.org> - * configure.ac: - - Added "AC_PROG_RANLIB" (bug report from dev66) - -2011.08.07 Kentaro FUKUCHI <kentaro@fukuchi.org> - * libqrencode.pc.in: - - Cflags has been set. (issue #2)(Thanks to ryo-on) - -2011.05.05 Kentaro FUKUCHI <kentaro@fukuchi.org> - * split.c: - - strdup() code has been added for non-POSIX environments. (Thanks to - Seth Sims) - * configure.ac: - - Added AC_CHECK_FUNC([strdup]) for non-POSIX environments. - - Now mudflapth is used instead of mudflap when pthread is enabled. - * *.c: - - '#include "config.h"' has been moved to the top of the code and - wrapped with #if HAVE_CONFIG_H - #endif. - -2011.04.06 Kentaro FUKUCHI <kentaro@fukuchi.org> - * qrinput.c: - - Initializaion was missed in QRinput_insertFNC1Header(). - -2011.02.09 Kentaro FUKUCHI <kentaro@fukuchi.org> - * tests/view_qrcode.c: - - "-h" had required an argument. - -2010.10.09 Kentaro FUKUCHI <kentaro@fukuchi.org> - * Copyright year and mail address were updated. - * README, qrencode.spec.in: - - The URL of qrencode's page has been updated. - * Makefile.am: - - Added ACLOCAL_AMFLAGS. - * use/config.rpath: - - Now explicitly included because required by AM_ICONV_LINK in - configure.ac. - -2010.02.03 Kentaro FUKUCHI <fukuchi@megaui.net> - [3.1.1] - * qrencode.c, README: - - Copyright year updates. - * Bumped version to 3.1.1. - * Version 3.1.1 has been released. - -2010.01.27 Kentaro FUKUCHI <fukuchi@megaui.net> - * qrinput.c, qrencode.h: - - 8bit encoding improved. - - QRinput_encodeModeECI(), QRinput_appendECIheader(), - QRinput_estimateBitsModeECI() have been added. - * tests/test_qrinput.c: - - Some tests for ECI header have been added. - * qrinput.[ch]: - - STRUCTURE_HEADER_BITS was renamed to STRUCTURE_HEADER_SIZE. - - MODE_INDICATOR_SIZE has been added. - - QRinput_isSplittableMode() has been added. - * qrspec.c: - - QRspec_maximumWords() now returns 0 if the entry cannot be split. - - Now includes "qrinput.h" for QRinput_isSplittableMode(). - -2010.01.25 Kentaro FUKUCHI <fukuchi@megaui.net> - * qrencode.h: - - QR_MODE_{ECI,FNC1A,FNC1B} have been added to QRencodeMode. - * qrspec.h, mqrspec.h, qrinput.c: - - QRSPEC_MODEID_* and MQRSPEC_MODEID_* have been added, and hard coded - numbers were replaced with them. - * qrenc.c: - - Modified usage. - * qrinput.h: - - Added a new field to QRinput for FNC1 support. - * qrinput.c, qrencode.h: - - Added new functions to set FNC1 flag. - - FNC1 second position encoding now supported. - -2010.01.22 Kentaro FUKUCHI <fukuchi@megaui.net> - * tests/test_qrspec.c: - - Code cleanup. - * tests/decoder.[ch], tests/test_qrencode.c: - - Added tests for Micro QR Code. - -2010.01.20 Kentaro FUKUCHI <fukuchi@megaui.net> - * qrencode.c: - - Bug fix. - * tests/decoder.[ch]: - - Code refactoring. - * tests/test_{qrencode,mask,monkey}.c, Makefile.am: - - New tests added. - * qrencode_inner.h: - - Typo fix. - * NEWS: - - Updated. - * qrinput.c: - - Possible memory errors fixed. - * configure.ac, tests/Makefile.am: - - Added iconv checks. - -2010.01.18 Kentaro FUKUCHI <fukuchi@megaui.net> - * configure.ac: - - Configuration cleanups. - * tests/Makefile.am: - - Wrong conditional branch fixed. - * tests/decoder.[ch], tests/Makefile.am: - - Decoding function has been added. - * tests/test_{qrinput,qrspec,qrencode}.c: - - New tests added. - -2010.01.16 Kentaro FUKUCHI <fukuchi@megaui.net> - * qrencode.[ch]: - - QRcode_encodeData{,MQR,Structured}() have been added. - * tests/test_qrencode.c: - - New test has been added. - -2009.11.27 Kentaro FUKUCHI <fukuchi@megaui.net> - * qrencode.h: - - Typo fixes. - -2009.11.06 Kentaro FUKUCHI <fukuchi@megaui.net> - * NEWS, README: - - Documents updated. - * qrspec.[ch], mqrspec.[ch]: - - *_clearCache were not thread safe. - - "Thread unsafe" warnings were removed. - * rscode.[ch] - - free_rs_cache was not thread safe. - - "Thread unsafe" warnings were removed. - -2009.09.28 Kentaro FUKUCHI <fukuchi@megaui.net> - * qrenc.c: - - David's patch has been applied. (Thanks to David) - - New options '-d' and '--dpi' have been added. - - Typo fixes. - * tests/view_qrcode.c: - - Typo fixes. - -2009.06.08 Kentaro FUKUCHI <fukuchi@megaui.net> - * qrencode.c: - - FrameFiller_nextMQR() has integrated to FrameFiller_next(). - - FrameFiller_new() now requires mqr flag. - * qrencode.[ch], tests/prof_qrencode.c, tests/test_{qrencode,monkey}.c: - - QRcode_clearCache() has been added. - * configure.ac, qrencode_inner.h, qrencode.c, mask.[ch], mmask.[ch], - qrinput.h, qrspec.c, tests/common.h: - - A macro WITH_TESTS has been introduced. - - "#ifdef __STATIC" has been replaced with "#ifdef __WITH_TESTS". - - Some definitions in qrencode_inner.h have been moved to appropriate - header files. - - Including config.h became mandatory for test programs. - * tests/pthread_qrencode.c, tests/Makefile.am: - - New test program has been added. - * rscode.c: - - config.h was not included. - * mask.c: - - Race condition problem has been solved. - -2009.06.06 Kentaro FUKUCHI <fukuchi@megaui.net> - * qrenc.c, tests/view_qrcode.c: - - Experimental support of Micro QR Code has been implemented. - * qrencode.[ch]: - - QRinput_setVersionAndErrorCorrectionLevel() has been added. - * tests/common.h, tests/test_split.c: - - Code cleanups. - - printFrame() and printQRcode() have been added. - * tests/test_qrencode.c: - - Some tests have been added. - * qrspec.h, mqrspec.h, qrencode.h: - - Definitions of {MQR,QR}SPEC_VERSION_MAX are moved to qrencode.h. - * qrinput.c, qrencode.h, tests/test_qrencode.c: - - Size check has been removed from QRinput_convertData() for MQR. - - QRinput_convertData() throws ERANGE when the input is too large. - - QRinput_appendPadding*() throws ERANGE when the input is too large. - - As a result, QRencode_encodeString*() throws ERANGE in that cases. - - Some assertion checks of errno added to test_qrencode. - * Bumped version to 3.9.0. - - Next public release will be 4.0.0. - -2009.06.06 Kentaro FUKUCHI <fukuchi@megaui.net> - [3.1.0] - * Version 3.1.0 has been released. - -2009.06.05 Kentaro FUKUCHI <fukuchi@megaui.net> - * qrencode.h, qrencode_inner.h, tests/test_qrencode.c: - - FrameFiller_next() has improved. - - FrameFiller_nextMQR() has been added. - - FrameFiller_test() FrameFiller_testMQR() have been added. - - Tests of FrameFiller added and improved. - -2009.06.04 Kentaro FUKUCHI <fukuchi@megaui.net> - * Makefile.am: - - Dependency check was incorrect because of misconfiguration. - * mask.c, mmask.c: - - Error check has been added to {Mask,MMask}_makeMask(). - * mqrspec.[ch], qrinput.c: - - MQRspec_getDataLength() now returns in byte. - - MQRspec_getDataLengthBit() returns in bit instead. - * qrencode.[ch], qrencode_inner.h: - - QRencode_encodeStringMQR() and its 8bit version are added. - - QRcode_encodeMaskMQR() has been added. - -2009.06.01 Kentaro FUKUCHI <fukuchi@megaui.net> - * tests/prof_qrencode.c: - - Error check has been added. - * tests/common.h: - - Bug fixed. - * qrinput.c, qrencode.h: - - QRinput_Struct_appendInput() and QRinput_splitQRinputToStruct() now - checks mqr flag. - * tests/test_bitstream.c: - - New test of 4bit padding of _toByte(). - -2009.05.30 Kentaro FUKUCHI <fukuchi@megaui.net> - * configure.ac, libqrencode.pc.in: - - New option "--enable-thread-safety" has been added. This option is - enabled by default. - * rscode.c, qrspec.c: - - libqrencode has become thread-safe! (probably) - * tests/common.h: - - sprintfBin() removed, printBstream() added. - * qrinput.[ch], qrencode.[ch], mqrspec.c: - - Functions for Micro QR Code encoding have been added. - * tests/common.h: - - Utility functions improved. - * tests/*.c: - - Code cleanups. - - Tests for Micro QR Code added. - -2009.05.30 Kentaro FUKUCHI <fukuchi@megaui.net> - * qrinput.c: - - padlen check was wrong in QRinput_appendPaddingBit(). - * tests/test_qrinput.c: - - Stop printing bstream->data. - - test_padding2() has been added. - -2009.05.21 Kentaro FUKUCHI <fukuchi@megaui.net> - * qrencode.c, qrencode_inner.h: - - MQRraw_* has been implemented. - - Code cleanups. Struct QRRaw_code is slightly changed. - * tests/test_qrencode.c: - - Added new test. - -2009.05.20 Kentaro FUKUCHI <fukuchi@megaui.net> - * Merged from 3.1.0 branch. (rev 2248:HEAD) - * mqrspec.[ch], tests/create_mqr_frame_pattern.c: - - MQRspec_getEccSpec() has been deleted. - * tests/create_mqr_frame_pattern.c, tests/Makefile.am: - - Newly added. - * mask.[ch], tests/test_mask.c, qrencode_inner.h: - - Code cleanups. - - Unnecessary memcpy has been eliminated. - - New test program has been added. - * mmask.[ch], qrencode_inner.h, tests/test_mmask.c, Makefile.am, tests/Makefile.am: - - Mask module for Micro QR Code has been added. - -2009.05.20 Kentaro FUKUCHI <fukuchi@megaui.net> - * qrenc.c, qrinput.c, qrencode.c: - - Some compile warnings cleared. - * qrencode.c, tests/test_qrencode.c: - - NULL check of an input arg has been added to - QRcode_encodeString8bit(). - - NULL check test and empty string test have been added for - QRcode_encodeString8bit(). - * qrinput.h, qrencode_inner.h, split.c: - - Copyright year updates. - * split.[ch]: - - Split_splitStringToQRinput() set errno EINVAL if input string is - NULL or empty. - - Documentation improved. - * qrenc.c: - - perror() is now used to show the details of some errors. - * qrencode.[ch]: - - Some functions now set errno appropriately. - - Typo fixes. - -2009.05.20 Kentaro FUKUCHI <fukuchi@megaui.net> - * tests/create_frame_pattern.c, tests/Makefile.am: - - New test tool "create_frame_pattern" has been added. - * tests/test_qrspec.c: - - test_alignment1() has been replaced with test_newframe(). - test_newframe() compares newly created frames with frame pattern - data created by create_frame_pattern. - * tests/frame, tests/Makefile.am: - - Pattern file "frame" has been added to EXTRA_DIST. - * mask.c: - - Very small improvement. Unnecessary malloc()s are reduced. - * tests/test_qrencode.c: - - Two new tests have been added. - * split.c: - - NULL check and string length check have been added. - * qrspec.c, tests/test_qrinput.c: - - Forgotten padding bits bug has been fixed. (enbugged at 2009.5.18) - - New test for the bug above has been added. - * qrspec.[ch], qrencode_inner.h: - - Some function becomes __STATIC and their declarations have been - moved to qrencode_inner.h. - * tests/prof_qrencode.c: - - Now liberates all heap at the end of the program. - -2009.05.19 Kentaro FUKUCHI <fukuchi@megaui.net> - * qrencode.c, qrencode_inner.h: - - calloc() is now used to initialize rsblock. - - Number of malloc()s in RSblock_initBlock() has been integrated to - one malloc() in QRraw_new(). - * rscode.c: - - A very small code improvement. - * qrinput.[ch]: - - More return value checks. - - Code cleanups. - * tests/common.h, tests/test_{split,monkey,qrinput}.c: - - Tests improved. - * qrspec.[ch], tests/test_qrspec.c: - - Code cleanups. - - QRspec_rs{Data,Ecc}Length() have been added. - * tests/view_qrcode.c: - - Code cleanups. - - Disabled mask setting in structured mode. - * tests/common.h: - - assert_nothing() has been added. - * qrinput.c, qrencode.c, tests/test_*.c: - - Various *_free() now allow NULL pointer. (nothing performed) - * qrspec.[ch]: - - Alignment pattern is now put by QRspec_putAlignmentPattern(). - QRspec_getAlignmentPattern() and QRspec_freeAlignment() have been - removed. - -2009.05.18 Kentaro FUKUCHI <fukuchi@megaui.net> - * qrencode.c: - - More return value checks. - * bitstream.c: - - BitStream_free() allows NULL pointer (nothing performed). - * qrinput.c: - - QRinput_List_freeEntry() and QRinput_free() allow NULL pointer. - - QRinput_createPaddingBit() has been replaced with - QRinput_appendPaddingBit(). - - QRinput_convertData() now sets errno to EINVAL when input is too - large. - - More return value checks. Mainly for ENOMEM error. - -2009.05.18 Kentaro FUKUCHI <fukuchi@megaui.net> - * Merged from 3.1.0 branch. - -2009.05.16 Kentaro FUKUCHI <fukuchi@megaui.net> - * qrencode.h: - - Indent improvement. - * Makefile.am: - - qrencode.spec has been added to EXTRA_DIST. - -2009.05.14 Kentaro FUKUCHI <fukuchi@megaui.net> - * qrinput.c, qrencode.c, qrspe.c: - - More return value checks. Mainly for ENOMEM error. - * qrspec.[ch], qrencode.c, tests/test_qrspec.c: - - QRspec_getEccSpec() now accepts an int array instead to return - multiple values instead of returning dynamic allocated array. - * mask.c, rscode.c: - - More return value checks from malloc(). - * configure.ac: - - Added "--enable-mudflap" option. - * rscode.[ch]: - - Added free_rs_cache() for debug purpose. - * tests/test_{monkey,qrencode,rs}.c: - - Call free_rs_cache() at the end of the tests. - * qrencode.c: - - QRraw_new() and RSblock_init() have been improved. - - Eliminated unnecessary calls of init_rs(). - * autogen.sh, configure.ac: - - Darwin workarounds. - * tests/common.h, tests/test_bitstream.c: - - New tests have been added. - -2009.05.12 Kentaro FUKUCHI <fukuchi@megaui.net> - * bitstream.c: - - BitStream_toByte() had returned non-NULL for an empty BitStream. - * tests/test_bitstream.c: - - test_null() has been added. - * qrinput.c: - - A possible memory leak has been eliminated. It happened when a wrong - version number was given. - * tests/test_qriput.c: - - Memory leaks have been eliminated. - -2009.05.01 Kentaro FUKUCHI <fukuchi@megaui.net> - * Bumped version to 3.1.0. - -2009.04.30 Kentaro FUKUCHI <fukuchi@megaui.net> - * bitstream.[ch]: - - Internal representation of BitStream has been changed from - NUL-terminated string to unsigned char array. - * tests/common.h, tests/test_{bitstream,qrinput}.c: - - Some test sequences have been updated (see above). - -2009.03.25 Kentaro FUKUCHI <fukuchi@megaui.net> - * configure.ac: - - "--without-tests" has become default setting. - * bitstream.[ch]: - - Now functions strictly check return value from malloc() and return - error if it fails. - -2008.10.31 Kentaro FUKUCHI <fukuchi@megaui.net> - * tests/commo.h: - - __FUNCTION__ has been replaced with __func__, to follow the C99 - standard. - - The way of variadic macros has been changed, to follow the C99 - standard. - -2008.10.11 Kentaro FUKUCHI <fukuchi@megaui.net> - * qrencode_inner.h: - - Now this header is called only by test programs. - * qrencode.c, qrencode_inner.h: - - Some definitions and declares written in qrencode_inner.h have been - moved into qrencode.c: - - QRraw_*() have been declared as __STATIC. - * mask.[ch], qrencode.c, qrencode_inner.h: - - Mask_makeMask() now requires QRecLevel. - - QRencode_writeFormatInformation() has been renamed and moved to - Mask_writeFormatInformation(), and become __STATIC. - * tests/*.c: - - Unneeded #include "qrencode_inner.h" have been removed. - -2008.10.11 Kentaro FUKUCHI <fukuchi@megaui.net> - * autogen.sh: - - Darwin workaround. - * configure.ac: - - Now config.h offers "__STATIC" macro becomes "static" when - "--without-tests" is specified. This macro is useful for functions - called from test programs but not from other library codes. - * qrinput.c: - - Very little performance improvement. - * mask.c: - - Code cleanups. - -2008.09.12 Kentaro FUKUCHI <fukuchi@megaui.net> - * tests/view_qrcode.c: - - Unused variable 'pitch' has been removed from draw_QRcode(). - -2008.06.03 Kentaro FUKUCHI <fukuchi@megaui.net> - * Merged to the main trunk. - -2008.06.01 Kentaro FUKUCHI <fukuchi@megaui.net> - * qrenc.c: - - Now it does not show the full usage when unrecognized options are - given. - - When "--help" is given, it displays the long usage. - * Version 3.0.3 has been released. - -2008.05.26 Kentaro FUKUCHI <fukuchi@megaui.net> - * qrenc.c, tests/view_qrcode.c: - - getopt_long_only() has been replaced with getopt_long() which is - widely available. (Thanks to Gavan Fantom) - - Now it accepts long options. - * qrencode.1.in: - - followed the above changes. - * Bumped version to 3.0.3. - -2008.05.18 Kentaro FUKUCHI <fukuchi@megaui.net> - * qrspec.c: - - The bit order of "Version information" has been corrected. - (Thanks to Paul Janssesn) - * configure.ac, Makefile.am: - - The "--without-tests" has been added to the configure script. - * qrencode.spec.in: - - Uses "--without-tests". - * Version 3.0.2 has been released. - -2008.05.14 Kentaro FUKUCHI <fukuchi@megaui.net> - * various files: - - Some compile-time warnings/erros with g++ have been fixed. - (Thanks to wangsai) - -2008.05.09 Kentaro FUKUCHI <fukuchi@megaui.net> - * qrenc.c: - - Now qrencode writes an image file in binary mode for non-POSIX - platform, such as MS-Windows. (bug report from Paul Janssens) - * Makefile.am: - - tests/test_all.sh has been added. - * tests/test_all.sh: - - Now it exits immediately if any test fails. - * Version 3.0.1 has been released. - -2008.05.01 Kentaro FUKUCHI <fukuchi@megaui.net> - * qrencode.spec.in: - - Added the man page to the files section. - -2008.04.30 Kentaro FUKUCHI <fukuchi@megaui.net> - * Version 3.0.0 has been released. - -2008.04.23 Kentaro FUKUCHI <fukuchi@megaui.net> - * Version 3.0.0rc3 has been released. - - This will probably be the final release candidate, if all goes well. - -2008.04.23 Kentaro FUKUCHI <fukuchi@megaui.net> - * split.c: - - Split_identifyMode() now uses isdigit() and isalnum() macros. - * qrinput.c: - - Error checks have been improved. - * qrenc.c, tests/view_qrcode.c: - - Return value checks have been added. - - Structured-append encode with version 0 now returns error. - * qrencode.[ch]: - - QRencode_encodeStructuredInput() -> QRencode_encodeInputStructured() - (for consistency with other QRencode_encode*Structured() functions) - * mask.c: - - A code block never called has been eliminated. - -2008.04.14 Kentaro FUKUCHI <fukuchi@megaui.net> - * Version 3.0.0rc2 has been released. - -2008.04.20 Kentaro FUKUCHI <fukuchi@megaui.net> - * qrencode.h: - - QR_MODE_NUL has been added to QRencodeMode. Basically it is used - only by Split_identifyMode(). - * qrinput.[ch], split.c: - - QRinput_identifyMode() has been moved to split.c, changed to static - and now needs a hint. - * split.c: - - Auto-splitting has been improved. - * qrinput.c: - - A memory leak has been fixed. - * configure.ac: - - The "--enable-gprof" and "--enable-gcov" options have been added. - * Makefile.am: - - man1_MANS has been moved into the "if BUILD_TOOLS - endif" block. - -2008.04.14 Kentaro FUKUCHI <fukuchi@megaui.net> - * Version 3.0.0rc1 has been released. - -2008.04.14 Kentaro FUKUCHI <fukuchi@megaui.net> - * Bumped version to 3.0.0. - * qrencode.[ch]: - - QRcode_encodeInput() has changed the API. Previously it takes a - QRinput, version and level, but now it takes only a QRinput, because - QRinput holds the version and level in it. From 3.0.0, you should - set them by calling QRinput_setVersion() and - QRinput_setErrorCorrectionLevel(), or use QRinput_new2() to - instantiate a QRinput object. - -2008.04.14 Kentaro FUKUCHI <fukuchi@megaui.net> - * qrspe.c: - - NULL check has been added. - * split.[ch]: - - API changed. - * qrencode.c: - - Arguments (version and level) are now checked in QRcode_encodeMask(). - Internal functions trust the arguments are valid. - - Error checks improved. - * qrinput.c: - - Error checks improved. - * qrencode.h: - - Documentation improvements. - -2008.04.13 Kentaro FUKUCHI <fukuchi@megaui.net> - * qrencode.c, qrencode_inner.h, tests/view_qrcode.c: - - Changed API of QRcode_encodeMask(). - * qrencode.[ch], qrinput.[ch], split.[ch]: - - Some functions now set errno appropriately. - -2008.04.09 Kentaro FUKUCHI <fukuchi@megaui.net> - * qrencode.h, qrinput.c: - - QRinput_Struct_insertStructuredAppendHeaders() and - QRinput_insertStructuredAppendHeader now returns error, when the - input contains too many structured inputs. - * qrencode.c: - - QRcode_encodeInputToStructured() now returns NULL when - QRinput_splitQRinputToStruct() fails. - * tests/view_qrcode.c: - - Segmentation fault bug has been fixed. (see previous memo) - -2008.04.08 Kentaro FUKUCHI <fukuchi@megaui.net> - * qrinput.c: - - Fixed a bug in QRinput_estimateBitStreamSizeOfEntry(). It could - overestimate the size. - * rscode.c: - - Optimized the order of the parameters equality test in init_rs(). - * qrspec.c, qrspec.h: - - Added QRspec_clearCache(). - * tests/test_estimatebit.c: - - Bug fixed in test_numbit3(). - -2008.04.07 Kentaro FUKUCHI <fukuchi@megaui.net> - * Bumped version to 2.1.0. - * Structured append is now supported (patches from Yusuke Mihara): - - Two new types, QRcode_List and QRinput_Struct, have been added. - - Following functions have been added: - - QRcode_encodeStructuredInput() - - QRcode_encodeStringStructured() - - QRcode_encodeString8bitStructured() - - Some functions to handle structured append symbols have been added. - See Doxygen-ized descriptions for the details. - * qrenc.c: - - "-S" option has been added for structured append. - * split.h: - - "extern" was dropped. - * qrinput.h, qrencode.h: - - Moved declarations of QRinput_{get,set}{Version,ErrorCorrectionLevel} - from qrinput.h to qrencode.h. Now they are publicly accessible. - * qrencode.h, qrinput.h, qrinput.c: - - Added QRinput_new2(). - - QRinput_newEntry(), QRinput_freeEntry have been renamed to - QRinput_List_newEntry(), QRinput_List_freeEntry(). - * split.c: - - Bug fix: Split_eat8() now eats at least 1 byte. Previously it could - produce a 0-length input entry. - -2008.01.23 Kentaro FUKUCHI <fukuchi@megaui.net> - * qrencode.1.in, Makefile.am, configure.ac: - - Manpage of qrencode has been added. - * qrenc.c, tests/view_qrcode.c: - - Usage message has been updated. - -2008.01.18 Kentaro FUKUCHI <fukuchi@megaui.net> - * split.c: - - Bug fixes. - * tests/test_split.c: - - Followed recent API changes. - - Added new test "test_toupper()". - * qrenc.c, tests/view_qrcode.c: - - Source-level compatibility has been improved. - - view_qrcode now accepts stdin like qrencode. - - Usage message has been updated/fixed. - * Copyright year has been updated. - -2008.01.16 Kentaro FUKUCHI <fukuchi@megaui.net> - * qrinput.c, split.c: - - Case-sensitive mode becomes now default mode. - - Alphabet-Numeric mode now encodes only upper-case alphabet and - numeric characters. If "-i" option is given, split.c converts - lower-case characters to upper-case characters at first. - * qrenc.c, tests/view_qrcode.c: - - Case-sensitive mode becomes now default mode. - - Option "-i" has been added. - -2007.12.14 Kentaro FUKUCHI <fukuchi@megaui.net> - * tests/test_qrencode.c: - - New test has been added. - * tests/view_qrcode.c: - - Options supported. - - Default mask is now -1 (auto). - -2007.12.13 Kentaro FUKUCHI <fukuchi@megaui.net> - * qrencode.[ch]: - - QRcode_writeFormatInformation now returns a number of dark modules. - * mask.c: - - The mask evaluation function now writes format information before - evaluation. (Philippe Delcroix) - * split.[ch]: - - Case-sensitive mode has been added to QRcode_encodeString(). - - "-8" option has been added to qrenc.c. - - "-c" now encodes in improved case-sensitive mode. - * tests/test_{split,qrencode}.c: - - test_split*() have been moved to test_split.c. - -2007.12.10 Kentaro FUKUCHI <fukuchi@megaui.net> - * Bumped version to 2.0.0. - * Merged to main trunk. - * mask.[ch], split.[ch]: - - Masking functions and splitString functions are separated from - qrencode.c. - * mqrspec.[ch]: - - Specification of Micro QR code has been added, but not used yet. - -2007.03.24 Kentaro FUKUCHI <fukuchi@megaui.net> - * Bumped version to 1.0.2. - -2007.03.24 Kentaro FUKUCHI <fukuchi@megaui.net> - * qrencode.c (QRcode_splitStringToQRinput): - - a small bug fix. (Thanks to NANKI Haruo) - * qrencode.h: - - "extern "C"" barrier has been added for C++. - * test/view_qrcode.c: - - a typo fix. - -2006.12.27 Kentaro FUKUCHI <fukuchi@megaui.net> - * Bumped version to 1.0.1. - -2006.12.27 Kentaro FUKUCHI <fukuchi@megaui.net> - * qrenc.c, qrencode.[ch]: - - Added force 8-bit encoding mode. - * Makefile.am : - - Automake/Autoconf files have been added to dist-package. - -2006.12.17 Kentaro FUKUCHI <fukuchi@megaui.net> - * qrencode_inner.h, qrencode.c: - - Removed unused member variable "b2" from QRRawCode. - * configure.ac, Makefile.am, acinclude.m4: - - Better configuration of libpng. (now uses pkg-config correctly) - -2006.12.02 Kentaro FUKUCHI <fukuchi@megaui.net> - * Bumped version to 1.0.0. diff --git a/genqrcode/NEWS b/genqrcode/NEWS deleted file mode 100644 index aa9aba274d..0000000000 --- a/genqrcode/NEWS +++ /dev/null @@ -1,360 +0,0 @@ -libqrencode NEWS - Overview of changes -====================================== - -Version x.x.x (2020.xx.xx) --------------------------- -* Command line tool "qrencode" has been improved: - * The effects of '--type' option's 'ASCII' and 'ASCIIi' have been swapped. - (Thanks to Yannick Schinko) -* Some minor bug fixes. (Thanks to Darsey Litzenberger and Edward E.) -* Some performance improvements. - - -Version 4.1.1 (2020.9.28) -------------------------- -* Some minor bugs in Micro QR Code generation have been fixed. - * The data capacity calculations are now correct. These bugs probably did not - affect the Micro QR Code generation. - - -Version 4.1.0 (2020.8.29) -------------------------- -* Command line tool "qrencode" has been improved: - * New option "--inline" has been added. (Thanks to @jp-bennett) - * New option "--strict-version" has been added. - * UTF8 mode now supports ANSI256 color. (Thanks to András Veres- - Szentkirályi) -* Micro QR Code no longer requires to specify the version number. -* 'make check' allows to run the test programs. (Thanks to Jan Tojnar) -* Some compile time warnings have been fixed. -* Various CMake support improvements. (Thanks to @mgorny and @sdf5) -* Some minor bug fixes. (Thanks to Lonnie Abelbeck and Frédéric Wang) -* Some documentation/manpage improvements. (Thanks to Dan Jacobson) -* Some performance improvements. (Thanks to @4061N and Mika Lindqvist) - -Release Note: -The internal representation of the output code has been slightly changed - -the second bit from LSB side now represents; 1:ECC bit / 0:data bit. -This change is only for debug purposes and does not affect user applications. - - -Version 4.0.2 (2018.6.6) ------------------------- -* Build script fixes. (Thanks to @mgorny) - - -Version 4.0.1 (2018.6.4) ------------------------- -* CMake support improved. -* New test scripts have been added. -* Some compile time warnings have been fixed. - - -Version 4.0.0 (2017.9.21) -------------------------- -* Memory efficiency has been improved. -* QRcode_clearCache() has been deprecated. -* Error correction code generating functions have been improved. -* Command line tool "qrencode" has been improved: - * XPM support. (Thanks to Tobias Klauser) - * PNG32 (direct color mode) support. (Thanks to Greg Hart) - * EPS output now supports foreground and background color. - * New options "-r" and "--svg-path" have been added. - (Thanks to Robert Petersen and @Oblomov) -* CMake support has been added. (optional) (Thanks to @misery) -* Various bug fixes. -* Various performance improvements. - -Release Note: -While the API has not been changed since the previous major release, we -incremented the major version number of libqrencode to 4 because the -implementation of the library has been largely changed. - -This release improves the performance and memory footprints of code generation. - -Now you can build libqrencode with CMake. - -If you build the test programs, please note that the required SDL version has -been changed from 1.2 to 2.0. - - -Version 3.4.4 (2014.7.24) -------------------------- -* Bug fix release. (Thanks to Yoshimichi Inoue) -* New option "--verbose" has been added to the command line tool. - -Release Note: -When only one symbol is generated in structured-append mode, the library had -inserted unnecessary chunk to the symbol and some QR Code readers fail to read -it. Now the library omits the chunk and generate a symbol identical to non- -structured symbol. - - -Version 3.4.3 (2013.8.12) -------------------------- -* New option "--rle" has been added to the command line tool (Thanks to Daniel - Dörrhöfer) -* Bug fixes. (Thanks to Hassan Hajji, Emmanuel Blot, and ßlúèÇhîp) - -Release Note: -This release contains a couple of bug fixes and a new minor feature of the -command line tool. Some minor bugs in the library have been fixed. - -Run Length Encoding (RLE) for SVG output decreases the size of the output file, -but it makes complicated to edit the image by SVG editors. A newly introduced -command line option "--rle" enables RLE. RLE will not be applied if it is not -given. - - -Version 3.4.2 (2013.3.1) ------------------------- -* Bug fix release. (Thanks to chisj, vlad417, Petr and Viona) - -Release Note: -Micro QR Code encoder had a bug that caused incorrect output (issue #25). Now -the bug has been fixed. Memory leak bug (#24) and insufficient string splitting -bug have been fixed. - - -Version 3.4.1 (2012.10.17) --------------------------- -* Bug fix release. - -Release Note: -Mutual exclusion did not work correctly since 3.3.1. If your application uses -libqrencode in multithreaded environment, it is strongly recommended to update -it. - - -Version 3.4.0 (2012.10.15) --------------------------- -* SVG, UTF8, and ANSIUTF8 output supports have been added to the command line - tool. (Thanks to Dan Storm, David Dahl, and Lennart Poettering) -* Colored QR Code support. -* Bug fixes. (Thanks to Terry Burton, Fred Steinhaeuser, and Yann Droneaud) - -Release Note: -Three new output format, SVG, UTF8, and ANSIUTF8 have been added to the command -line tool. UTF8 and ANSIUTF8 are another text art mode, using Unicode block -elements for high-resolution text output. Long-awaited colored QR code has been -introduced. Try "--foreground" and "--background" options to set the colors. -Currently PNG and SVG supports colored output. - - -Version 3.3.1 (2012.4.18) -------------------------- -* Bugs in command line tool, manual, configure script, and libtool files have - been fixed. (Thanks to Yutaka Niibe and Rob Ryan) - - -Version 3.3.0 (2012.4.1) -------------------------- -* EPS, ANSI, and ASCII text output supports have been added. - (Thanks to Zapster, Colin, and Ralf) -* QRcode_APIVersion() and QRcode_APIVersionString() have been added. - -Release Note: -Three new output format, EPS, ANSI, and ASCII text, have been added to the -command line tool. ANSI and ASCII mode ignore "-size" option. Give "-t ASCIIi" -to get an ASCII-mode symbol in inverted color. - -QRcode_APIVersion() is requested by Matthew Baker for better support of Python -ctypes binding. Check them out at https://code.google.com/p/libqrencode-ctypes/ - - -Version 3.2.1 (2012.4.1) ------------------------- -* Bugs in configure script and libtool file has been fixed. (Thanks to Yutaka - Niibe) - - -Version 3.2.0 (2011.11.26) --------------------------- -* "--dpi" (or "-d") option has been added to qrencode. This option set DPI - information in an output PNG image. (Thanks to David Dahl) -* New option "--enable-thread-safety" has been added to the configure script - that makes the library thread-safe. It is enabled by default. -* QRcode_encodeData(), QRcode_encodeDataMQR, QRcode_encodeDataStructured() have - been added for binary data encoding including '\0'. -* Typo and bug fixes. -* Experimental Micro QR Code support has been added. -* "--micro" (or "-M") option for Micro QR Code has been added to qrencode. - (experimental) - -Release Note: -Binary data including '\0' is now supported. To encode a binary data, give "-8" -option to qrencode, and let qrencode obtain data via standard input like -"qrencode -8 -o output.png < binary". "--dpi" and "-d" are also added to embed -DPI information to PNG file. - -A bug in the mask pattern evaluation routine has been fixed. In some cases, -libqrencode may generate a different symbol from the one that was generated by -the prior libqrencode because of this bug fix, but the embedded data are not -affected. The symbols generated by the old libqrencode are valid. - -Experimental support of Micro QR Code encoder has been added. Some functions -(QRcode_*MQR()) have been added to the library. The command line tool generates -Micro QR Code when "--micro" or "-M" is given. - - -Version 3.1.1 (2010.2.3) ------------------------- -* A bug in the library has been fixed. - -Release Note: -Libqrecode had generated incorrect QR Code in some cases. Symbols larger than -version 5 (error correction level Q and H) were affected. In many cases this -bug did not cause serious damage thanks to the error correction mechanism, but -we highly recommend you to encode symbols again using this release. - - -Version 3.1.0 (2009.6.6) ------------------------- -* Various code cleanups and performance improves. -* Strict internal error checks have been added. -* "--without-tests" has become default setting. Specify "--with-tests" to - compile test programs. -* Some memory leak bugs have been fixed. - -Release Note: -This release focuses on the code cleanup and performance improve. Encoding time -has been improved, drastically in large symbols. Basically this update only -changes its internal code. The API is not changed, no need to recompile user -applications that includes only qrencode.h. If your application refers the -internal data representation (not recommended), see ChangeLog for further -information. - - -Version 3.0.3 (2008.6.1) ------------------------- -* Portability enhancement. (Thanks to Gavan Fantom) -* The command line tool "qrencode" now accepts long options. See the man page - for the detailed instruction. - -Release Note: -This release improves the portability of our command line tool "qrencode". -The library is not changed so that any applications using libqrencode are not -affected. - -From this release, qrencode accepts "long" options, such as "--help". See the -manpage for the detailed instructions. - -Qrencode now uses getopt_long() instead of getopt_long_only() which is not -available in some operating systems. If the getopt_long() is not provided or -the implementation of it is not compatible with GNU's one, please try -qrencode-3.0.3-gnulib, that contains the source code of the getopt_long(). -Gnulib version is a test release. If you feel happy with it, please let us know -and the future releases will include gnulib. - - -Version 3.0.2 (2008.5.18) -------------------------- -* Some compile-time warnings/errors with g++ have been fixed. - (Thanks to wangsai) -* The bit order of "Version information" has been corrected. - Symbols greater than version 6 were affected. (Thanks to Paul Janssesn) -* The "--without-tests" option has been added to the configure script. - - -Version 3.0.1 (2008.5.9) ------------------------- -* A bug fix for non-POSIX platform. (Thanks to Paul Janssens) -* The RPM spec file now packages the man page correctly. - - -Version 3.0.0 (2008.4.30) -------------------------- -* The interface of QRencode_encodeInput() has been changed. User applications - using it must be modified. -* Structured append support has been added. (patches from Yusuke Mihara) -* The "-S" option for structured append has been added to qrencode and - view_qrcode. -* Some functions now set errno to indicate errors. -* Some bug fixes. - -Release Note: -Now libqrencode supports "structured-append" of symbols. A large data set can -be split into multiple QR code symbols. The basic usage of structured-append -is not so different from the single symbol encoding: just call -QRcode_encodeStringStructured() or QRcode_encodeString8bitStructured() and -they return a list of symbols. Instead of giving a string, you can encode -an explicitly typed data. See the manual generated by Doxygen for the detailed -usage. - -Many thanks to Yusuke Mihara, who contributed a patch to add support of -structured-append to version 1.0.2. - -API changes: - -* Incompatible API changes: - - QRencode_encodeInput -* New types: - - QRinput_Struct - - QRcode_List -* New functions: - - QRinput_new2 - - QRinput_Struct_new - - QRinput_Struct_setParity - - QRinput_Struct_appendInput - - QRinput_Struct_free - - QRinput_Struct_insertStructuredAppendHeaders - - QRinput_splitQRinputToStruct - - QRcode_encodeStructuredInput - - QRcode_encodeStringStructured - - QRcode_encodeString8bitStructured - - QRcode_List_size - - QRcode_List_free -* Declarations moved to qrencode.h: - - QRinput_getErrorCorrectionLevel - - QRinput_setErrorCorrectionLevel - - QRinput_getVersion - - QRinput_setVersion - - -Version 2.0.0 (2008.1.24) -------------------------- -* "-i" option to ignore case distinctions has been added to qrencode and - view_qrcode. -* "-c" option (case-sensitive mode) of qrencode is now enabled by default and - has been improved. See details in Release Note section. -* "-8" option has been added to qrencode to encode whole data in 8-bit mode. -* tests/view_qrcode now accepts various options like qrencode. -* Man page has been added. -* Code cleanup. -* The mask evaluation bug has been fixed. (Philippe Delcroix) - -* API changes - - QRcode_encodeString() now receives case-sensitive flag. - - QRcode_encodeStringCase() has been removed. - - QRcode_encodeString8bit() has been added. - -Release Note: -Previously libqrencode encodes lower-case alphabet characters in Alphabet- -Numeric mode (upper-case alphabet and numeric) by default. According to the -specification of QR code, however, it is clearly claimed that Alphabet-Numeric -mode provides only upper-case alphabet (+ numeric and some symbol) characters. -Since this version, libqrencode distinguishes lower-case and upper-case of -alphabet characters by default. Because of that, "-c" option of qrencode -is now deprecated, and "-i" option has been added. By giving "-i", qrencode -converts lower-case characters to upper-case if possible, then encode a QR code -symbol. Please read qrencode.h for the details about API changes if you are -going to use this library. - -Many thanks to NANKI Haruo for his suggestions. - - -Version 1.0.2 (2007.03.24) --------------------------- -* A small bug fix. (Thanks to NANKI Haruo) -* 'extern "C"' barrier has been added to qrencode.h. - - -Version 1.0.1 (2006.12.27) --------------------------- -* Added "force 8-bit encoding mode". -* Configure script finds libpng's header correctly. - - -Version 1.0.0 (2006.12.12) --------------------------- -* The first public release. diff --git a/genqrcode/TODO b/genqrcode/TODO deleted file mode 100644 index 475abfa88f..0000000000 --- a/genqrcode/TODO +++ /dev/null @@ -1,5 +0,0 @@ -Micro QR code encoding is not tested well. - -Documents (not only the README, but also the manual of the library) needs -revision of grammar, spelling or to resolve ambiguity or incomplete descriptions. -Feel really free to send us your revision. diff --git a/json4cpp/.cirrus.yml b/json4cpp/.cirrus.yml deleted file mode 100644 index be63315062..0000000000 --- a/json4cpp/.cirrus.yml +++ /dev/null @@ -1,17 +0,0 @@ -arm_container: - image: gcc:latest - -check_task: - check_script: - - wget https://github.com/Kitware/CMake/releases/download/v3.20.2/cmake-3.20.2.tar.gz - - tar xfz cmake-3.20.2.tar.gz - - cd cmake-3.20.2 - - ./configure - - make cmake ctest -j4 - - cd .. - - mkdir build - - cd build - - ../cmake-3.20.2/bin/cmake .. -DJSON_FastTests=ON - - make -j4 - - cd tests - - ../../cmake-3.20.2/bin/ctest -j4 diff --git a/json4cpp/ChangeLog.md b/json4cpp/ChangeLog.md deleted file mode 100644 index 2274fb455f..0000000000 --- a/json4cpp/ChangeLog.md +++ /dev/null @@ -1,3272 +0,0 @@ -# Changelog -All notable changes to this project will be documented in this file. This project adheres to [Semantic Versioning](http://semver.org/). - -## [unreleased](https://github.com/nlohmann/json/releases/tag/unreleased) (2024-12-22) - -[Full Changelog](https://github.com/nlohmann/json/compare/v3.11.3...unreleased) - -- Impossible de read json file create with nlohmann::ordered\_json::dump [\#4556](https://github.com/nlohmann/json/issues/4556) -- Error C2039 : 'json\_sax\_dom\_callback\_parser': is not a member of 'nlohmann::json\_abi\_v3\_11\_3::detail' [\#4529](https://github.com/nlohmann/json/issues/4529) -- `json_fwd.hpp` don't define default template arguments for ordered\_map [\#4518](https://github.com/nlohmann/json/issues/4518) -- new repo version seems stop create any the ingress-nginx controller with opentelemetry-cpp.git [\#4515](https://github.com/nlohmann/json/issues/4515) -- Error converting to/from scoped enumerations [\#4499](https://github.com/nlohmann/json/issues/4499) -- Default initialized iterators are not comparable [\#4493](https://github.com/nlohmann/json/issues/4493) -- Bug json.exception.type\_error.302 [\#4492](https://github.com/nlohmann/json/issues/4492) -- tests fail to build with clang-19 and libc++ due to unsupported `std::char_traits` [\#4490](https://github.com/nlohmann/json/issues/4490) -- Brace-Initialization Fails with json::parse and Key Access on Linux [\#4488](https://github.com/nlohmann/json/issues/4488) -- Crash when parsing nullptr [\#4485](https://github.com/nlohmann/json/issues/4485) -- Namespace macros are not respected in many instances [\#4484](https://github.com/nlohmann/json/issues/4484) -- ohos model to json string garbage characters [\#4481](https://github.com/nlohmann/json/issues/4481) -- Missing newlines in deserialized string [\#4479](https://github.com/nlohmann/json/issues/4479) -- Latest tag not available on NuGet [\#4478](https://github.com/nlohmann/json/issues/4478) -- Invalid union access for get\_ref/get\_ptr with unsigned integer [\#4475](https://github.com/nlohmann/json/issues/4475) -- /accesswallet [\#4469](https://github.com/nlohmann/json/issues/4469) -- struct reflect json with error C2440 [\#4467](https://github.com/nlohmann/json/issues/4467) -- Compiler error when using macro NLOHMANN\_DEFINE\_TYPE\_NON\_INTRUSIVE [\#4463](https://github.com/nlohmann/json/issues/4463) -- Issue when dumping a vector of derived classes [\#4462](https://github.com/nlohmann/json/issues/4462) -- whit std::wstring compile error [\#4460](https://github.com/nlohmann/json/issues/4460) -- Inconsisten operator\[\] [\#4458](https://github.com/nlohmann/json/issues/4458) -- json parse enclosing json object with \[\] [\#4457](https://github.com/nlohmann/json/issues/4457) -- \[bug\] nlohmann::json constructor behaves improperly [\#4450](https://github.com/nlohmann/json/issues/4450) -- parse OOM [\#4449](https://github.com/nlohmann/json/issues/4449) -- Library Cannot Parse JSON File It Wrote [\#4448](https://github.com/nlohmann/json/issues/4448) -- Unexpected Integer Conversion of JSON Values on ARM64 [\#4447](https://github.com/nlohmann/json/issues/4447) -- Structure declared in natvis file template doesn't seem to match current structure of `basic_json<>` [\#4438](https://github.com/nlohmann/json/issues/4438) -- A lot of EOT in json file [\#4436](https://github.com/nlohmann/json/issues/4436) -- CVE-2024-34062 [\#4429](https://github.com/nlohmann/json/issues/4429) -- CVE-2024-39689 [\#4428](https://github.com/nlohmann/json/issues/4428) -- CVE-2024-5569 [\#4427](https://github.com/nlohmann/json/issues/4427) -- CVE-2024-37891 [\#4426](https://github.com/nlohmann/json/issues/4426) -- Tornado vulnerabilities [\#4425](https://github.com/nlohmann/json/issues/4425) -- CVE-2024-35195 [\#4424](https://github.com/nlohmann/json/issues/4424) -- CVE-2024-22195, CVE-2024-34064 [\#4423](https://github.com/nlohmann/json/issues/4423) -- CVE-2024-3651 [\#4422](https://github.com/nlohmann/json/issues/4422) -- CVE-2024-22190 [\#4421](https://github.com/nlohmann/json/issues/4421) -- CVE-2024-39705 [\#4420](https://github.com/nlohmann/json/issues/4420) -- Failing to read complex Unicode string embedded in JSON [\#4417](https://github.com/nlohmann/json/issues/4417) -- Unable to parse JSON string from snake case to camel case [\#4399](https://github.com/nlohmann/json/issues/4399) -- Crashes when I try to use ‘json::at\(\)’ on a properly structured, non null, and correctly constructed ‘.json’ file [\#4387](https://github.com/nlohmann/json/issues/4387) -- JSON\_BuildTests fail when JSON\_DisableEnumSerialization is set to ON [\#4384](https://github.com/nlohmann/json/issues/4384) -- JSON can't parse a simple data [\#4383](https://github.com/nlohmann/json/issues/4383) -- json.exception.type\_error.302 [\#4373](https://github.com/nlohmann/json/issues/4373) -- iteration\_proxy has limited usefulness in C++20 range views [\#4371](https://github.com/nlohmann/json/issues/4371) -- Clone is long due to large history [\#4370](https://github.com/nlohmann/json/issues/4370) -- Can't use nlohmann on Linux [\#4363](https://github.com/nlohmann/json/issues/4363) -- CodeQL suppressions lack justification [\#4361](https://github.com/nlohmann/json/issues/4361) -- \[json.exception.parse\_error.101\] parse error at line 1, column 4520: syntax error while parsing value - invalid string: forbidden character after backslash; last read: '".\? [\#4352](https://github.com/nlohmann/json/issues/4352) -- Cannot unflatten json object [\#4349](https://github.com/nlohmann/json/issues/4349) -- Json parsed from raw string does not interpret lists of objects like json parsed from file [\#4341](https://github.com/nlohmann/json/issues/4341) -- natvis not updated to 3.11.3 [\#4340](https://github.com/nlohmann/json/issues/4340) -- Wrong function name in documentation example [\#4334](https://github.com/nlohmann/json/issues/4334) -- git ref got interpreted as number [\#4332](https://github.com/nlohmann/json/issues/4332) -- Is float valid number been limited? [\#4322](https://github.com/nlohmann/json/issues/4322) -- Crash when construct a new json object [\#4321](https://github.com/nlohmann/json/issues/4321) -- gdb-pretty-print broken since m\_data added [\#4309](https://github.com/nlohmann/json/issues/4309) -- Docs have incorrect info for `update()` [\#4307](https://github.com/nlohmann/json/issues/4307) -- CBOR data cannot be decoded [\#4301](https://github.com/nlohmann/json/issues/4301) -- Inconsistent behaviour of json construction using `std::initializer_list` [\#4299](https://github.com/nlohmann/json/issues/4299) -- Assertion failed when accessing non-existing object with const json object [\#4297](https://github.com/nlohmann/json/issues/4297) -- Validatable release artifacts are not sufficient for packaging \(trying to run tests\) [\#4296](https://github.com/nlohmann/json/issues/4296) -- ordered json pointer corruption [\#4289](https://github.com/nlohmann/json/issues/4289) -- Incorrect floating point parsing [\#4285](https://github.com/nlohmann/json/issues/4285) -- Segfault on parse when using "\#pragma pack \(push, 1\)" [\#4284](https://github.com/nlohmann/json/issues/4284) -- Simple example with nlohmann::ordered\_json doesn't compile [\#4282](https://github.com/nlohmann/json/issues/4282) -- Program crashes with ordered\_json, but works fine with json [\#4279](https://github.com/nlohmann/json/issues/4279) -- JSON parses as array when assigned in initializer list. [\#4278](https://github.com/nlohmann/json/issues/4278) -- Can't run `make amalgamate` [\#4275](https://github.com/nlohmann/json/issues/4275) -- Parsing the unicode string got the wrong result [\#4272](https://github.com/nlohmann/json/issues/4272) -- Issue with including \<version\> [\#4241](https://github.com/nlohmann/json/issues/4241) -- Exception when trying to insert my json object inside json file [\#4239](https://github.com/nlohmann/json/issues/4239) -- `to_json` is erroneously converting enums with underlying unsigned types to signed numbers [\#4236](https://github.com/nlohmann/json/issues/4236) -- Build failure on macOS Sonoma 14.1.1 [\#4228](https://github.com/nlohmann/json/issues/4228) -- Deprecation warning on save action in check-amalgamation CI step [\#4227](https://github.com/nlohmann/json/issues/4227) -- 3.11.3: test suite fails in 4 units [\#4224](https://github.com/nlohmann/json/issues/4224) -- Exception thrown when dumping utf-8 characters when using std::string [\#4213](https://github.com/nlohmann/json/issues/4213) -- patch\_inplace assumes StringType is std::string [\#4134](https://github.com/nlohmann/json/issues/4134) -- Getting a weak-vtables warning with clang on ubuntu 22.04 [\#4087](https://github.com/nlohmann/json/issues/4087) -- SAX interface unexpectedly gets locale-altered float representation. [\#4084](https://github.com/nlohmann/json/issues/4084) -- Feat: hash pin github workflow dependencies [\#4058](https://github.com/nlohmann/json/issues/4058) -- compiler error using clang-16.0.5 when using gcc-13.1 standard library [\#4051](https://github.com/nlohmann/json/issues/4051) -- Missing requirement on `plantuml` binary package [\#4026](https://github.com/nlohmann/json/issues/4026) -- Compile failure for macos 10.10 SDK + darwin14 [\#3991](https://github.com/nlohmann/json/issues/3991) -- Test suite does not compile with C++20 and Clang 17 [\#3979](https://github.com/nlohmann/json/issues/3979) -- `modernize-avoid-c-arrays` clang-tidy warning when using `NLOHMANN_JSON_SERIALIZE_ENUM` macro [\#3924](https://github.com/nlohmann/json/issues/3924) -- JSON\_DIAGNOSTICS trigger assertion [\#3915](https://github.com/nlohmann/json/issues/3915) -- Compiler warning 'array-bounds' on g++12.2.0 on Ubuntu 22.10 kinetic with RelWithDebugInfo [\#3808](https://github.com/nlohmann/json/issues/3808) -- The MSVC team recently test JSON project failed to run test on release configuration on windows\_x64. [\#3542](https://github.com/nlohmann/json/issues/3542) -- Bad JSON diff when removing object in array of object [\#3146](https://github.com/nlohmann/json/issues/3146) -- Limit AppVeyor use [\#3089](https://github.com/nlohmann/json/issues/3089) -- pkgconfig integration wrongly rendered if tests are run [\#2907](https://github.com/nlohmann/json/issues/2907) -- Compile error for json in template and variadic macros. [\#2794](https://github.com/nlohmann/json/issues/2794) -- How to Serialize derived class to JSON object? [\#2199](https://github.com/nlohmann/json/issues/2199) -- \[C++17\] Allow std::optional to convert to nlohmann::json [\#1749](https://github.com/nlohmann/json/issues/1749) - -- Fix typo in nlohmann\_define\_derived\_type.md [\#4565](https://github.com/nlohmann/json/pull/4565) ([gregmarr](https://github.com/gregmarr)) -- Add ONLY\_SERIALIZE for NLOHMANN\_DEFINE\_DERIVED\_TYPE\_\* macros [\#4562](https://github.com/nlohmann/json/pull/4562) ([EinarsNG](https://github.com/EinarsNG)) -- Suppress modernize-use-integer-sign-comparison [\#4558](https://github.com/nlohmann/json/pull/4558) ([nlohmann](https://github.com/nlohmann)) -- Bump actions/upload-artifact from 4.4.3 to 4.5.0 [\#4557](https://github.com/nlohmann/json/pull/4557) ([dependabot[bot]](https://github.com/apps/dependabot)) -- Clean up CI [\#4553](https://github.com/nlohmann/json/pull/4553) ([nlohmann](https://github.com/nlohmann)) -- \[StepSecurity\] ci: Harden GitHub Actions [\#4551](https://github.com/nlohmann/json/pull/4551) ([step-security-bot](https://github.com/step-security-bot)) -- Fix token permissions warnings [\#4550](https://github.com/nlohmann/json/pull/4550) ([nlohmann](https://github.com/nlohmann)) -- Add step to build the documentation [\#4549](https://github.com/nlohmann/json/pull/4549) ([nlohmann](https://github.com/nlohmann)) -- Bump mkdocs-material from 9.5.48 to 9.5.49 in /docs/mkdocs [\#4548](https://github.com/nlohmann/json/pull/4548) ([dependabot[bot]](https://github.com/apps/dependabot)) -- Move reuse dependency to requirements.txt file [\#4547](https://github.com/nlohmann/json/pull/4547) ([nlohmann](https://github.com/nlohmann)) -- Clean up [\#4546](https://github.com/nlohmann/json/pull/4546) ([nlohmann](https://github.com/nlohmann)) -- ⬆️ Bump ossf/scorecard-action from 2.3.3 to 2.4.0 [\#4545](https://github.com/nlohmann/json/pull/4545) ([dependabot[bot]](https://github.com/apps/dependabot)) -- ⬆️ Bump lukka/get-cmake from 3.31.0 to 3.31.2 [\#4544](https://github.com/nlohmann/json/pull/4544) ([dependabot[bot]](https://github.com/apps/dependabot)) -- ⬆️ Bump github/codeql-action from 2.27.9 to 3.27.9 [\#4543](https://github.com/nlohmann/json/pull/4543) ([dependabot[bot]](https://github.com/apps/dependabot)) -- ⬆️ Bump watchdog from 2.1.7 to 6.0.0 in /tools/serve\_header [\#4542](https://github.com/nlohmann/json/pull/4542) ([dependabot[bot]](https://github.com/apps/dependabot)) -- ⬆️ Bump pyyaml from 6.0 to 6.0.2 in /tools/serve\_header [\#4541](https://github.com/nlohmann/json/pull/4541) ([dependabot[bot]](https://github.com/apps/dependabot)) -- ⬆️ Bump actions/github-script from 6.4.0 to 7.0.1 [\#4540](https://github.com/nlohmann/json/pull/4540) ([dependabot[bot]](https://github.com/apps/dependabot)) -- \[StepSecurity\] Apply security best practices [\#4539](https://github.com/nlohmann/json/pull/4539) ([step-security-bot](https://github.com/step-security-bot)) -- Set parents after insert call [\#4537](https://github.com/nlohmann/json/pull/4537) ([nlohmann](https://github.com/nlohmann)) -- Allow patch and diff to be used with arbitrary string types [\#4536](https://github.com/nlohmann/json/pull/4536) ([nlohmann](https://github.com/nlohmann)) -- Add more package managers [\#4533](https://github.com/nlohmann/json/pull/4533) ([nlohmann](https://github.com/nlohmann)) -- Replace EOF with char\_traits [\#4532](https://github.com/nlohmann/json/pull/4532) ([nlohmann](https://github.com/nlohmann)) -- Fix return value of get\_ptr for unsigned integers [\#4525](https://github.com/nlohmann/json/pull/4525) ([nlohmann](https://github.com/nlohmann)) -- Add more GCC warning flags [\#4524](https://github.com/nlohmann/json/pull/4524) ([nlohmann](https://github.com/nlohmann)) -- Update licenses [\#4521](https://github.com/nlohmann/json/pull/4521) ([nlohmann](https://github.com/nlohmann)) -- json start/end position implementation [\#4517](https://github.com/nlohmann/json/pull/4517) ([sushshring](https://github.com/sushshring)) -- Overwork documentation [\#4516](https://github.com/nlohmann/json/pull/4516) ([nlohmann](https://github.com/nlohmann)) -- Allow comparing default initialized iterators [\#4512](https://github.com/nlohmann/json/pull/4512) ([nlohmann](https://github.com/nlohmann)) -- fix: integer parsed as float when EINTR set in errno [\#4506](https://github.com/nlohmann/json/pull/4506) ([StuartGorman](https://github.com/StuartGorman)) -- Make SAX output locale-independent [\#4505](https://github.com/nlohmann/json/pull/4505) ([nlohmann](https://github.com/nlohmann)) -- Skip enum tests when JSON\_DisableEnumSerialization=ON [\#4504](https://github.com/nlohmann/json/pull/4504) ([nlohmann](https://github.com/nlohmann)) -- Fix weak-vtables warning [\#4500](https://github.com/nlohmann/json/pull/4500) ([nlohmann](https://github.com/nlohmann)) -- Suppress warnings in NLOHMANN\_JSON\_SERIALIZE\_ENUM [\#4497](https://github.com/nlohmann/json/pull/4497) ([nlohmann](https://github.com/nlohmann)) -- Add comment for \#4494 [\#4496](https://github.com/nlohmann/json/pull/4496) ([nlohmann](https://github.com/nlohmann)) -- Add test for libstdc++ [\#4495](https://github.com/nlohmann/json/pull/4495) ([nlohmann](https://github.com/nlohmann)) -- Another desperate try to fix the CI [\#4489](https://github.com/nlohmann/json/pull/4489) ([nlohmann](https://github.com/nlohmann)) -- Possible fix for \#4485 [\#4487](https://github.com/nlohmann/json/pull/4487) ([jordan-hoang](https://github.com/jordan-hoang)) -- Update CONTRIBUTING.md [\#4486](https://github.com/nlohmann/json/pull/4486) ([zerocukor287](https://github.com/zerocukor287)) -- Allow overriding the CMake target name [\#4483](https://github.com/nlohmann/json/pull/4483) ([iboB](https://github.com/iboB)) -- Update is\_structured.md [\#4472](https://github.com/nlohmann/json/pull/4472) ([thetimr](https://github.com/thetimr)) -- Add CPack support [\#4459](https://github.com/nlohmann/json/pull/4459) ([zjyhjqs](https://github.com/zjyhjqs)) -- CMake: generate a pkg-config file that follow pkg-config conventions [\#4456](https://github.com/nlohmann/json/pull/4456) ([dcbaker](https://github.com/dcbaker)) -- Update natvis to reflect 3.11.3 and the current structure of basic\_json [\#4451](https://github.com/nlohmann/json/pull/4451) ([gmyers18](https://github.com/gmyers18)) -- Docs: fix typos of 'whether' in `operator_{gt,le,lt}.md` [\#4412](https://github.com/nlohmann/json/pull/4412) ([tsnl](https://github.com/tsnl)) -- Remove alwayslink=True Bazel flag [\#4396](https://github.com/nlohmann/json/pull/4396) ([mering](https://github.com/mering)) -- Optimize binary `get_number` implementation by reading multiple bytes at once [\#4391](https://github.com/nlohmann/json/pull/4391) ([TianyiChen](https://github.com/TianyiChen)) -- Make iterator\_proxy\_value a forward\_iterator \(\#4371\) [\#4372](https://github.com/nlohmann/json/pull/4372) ([captaincrutches](https://github.com/captaincrutches)) -- Add lgtm explanation [\#4362](https://github.com/nlohmann/json/pull/4362) ([nlohmann](https://github.com/nlohmann)) -- chore: fix some typos in comments [\#4345](https://github.com/nlohmann/json/pull/4345) ([laterlaugh](https://github.com/laterlaugh)) -- Fix gdb pretty printer [\#4343](https://github.com/nlohmann/json/pull/4343) ([MrJia1997](https://github.com/MrJia1997)) -- Fix for incorrect function name in documentation example [\#4342](https://github.com/nlohmann/json/pull/4342) ([alexprabhat99](https://github.com/alexprabhat99)) -- Fixed an error in the `Custom data source` example. [\#4335](https://github.com/nlohmann/json/pull/4335) ([philip-paul-mueller](https://github.com/philip-paul-mueller)) -- Updated exception handling to catch const reference in out\_of\_range [\#4331](https://github.com/nlohmann/json/pull/4331) ([LeilaShcheglova](https://github.com/LeilaShcheglova)) -- \#4307 Updated docx to 3.10.5 from 3.10.4 [\#4310](https://github.com/nlohmann/json/pull/4310) ([AniketDhemare](https://github.com/AniketDhemare)) -- Align astyle flags in Makefile with CI [\#4277](https://github.com/nlohmann/json/pull/4277) ([serge-s](https://github.com/serge-s)) -- Suppress Clang-Tidy warnings [\#4276](https://github.com/nlohmann/json/pull/4276) ([nlohmann](https://github.com/nlohmann)) -- Remove broken link from CONTRIBUTING.md [\#4274](https://github.com/nlohmann/json/pull/4274) ([serge-s](https://github.com/serge-s)) -- Fix version in json\_has\_static\_rtti.md [\#4269](https://github.com/nlohmann/json/pull/4269) ([ALF-ONE](https://github.com/ALF-ONE)) -- Add support of multi-dim C-style array member of struct. [\#4262](https://github.com/nlohmann/json/pull/4262) ([peng-wang-cn](https://github.com/peng-wang-cn)) -- Docs: Fix wrong code usage in the Value access section of `json_pointer.md` [\#4255](https://github.com/nlohmann/json/pull/4255) ([Fallen-Breath](https://github.com/Fallen-Breath)) -- Fix `to_json` for enums when the enum has an unsigned underlying type. [\#4237](https://github.com/nlohmann/json/pull/4237) ([TheJCAB](https://github.com/TheJCAB)) -- feat: Rebase `feature/optional` to `develop` [\#4036](https://github.com/nlohmann/json/pull/4036) ([fsandhei](https://github.com/fsandhei)) -- Add NLOHMANN\_DEFINE\_DERIVED\_TYPE\_\* macros [\#4033](https://github.com/nlohmann/json/pull/4033) ([rotolof](https://github.com/rotolof)) - -## [v3.11.3](https://github.com/nlohmann/json/releases/tag/v3.11.3) (2023-11-28) - -[Full Changelog](https://github.com/nlohmann/json/compare/v3.11.2...v3.11.3) - -- Parser and constructor resolve integer types differently [\#4207](https://github.com/nlohmann/json/issues/4207) -- README.md overuses `template` keyword before `get` function [\#4205](https://github.com/nlohmann/json/issues/4205) -- Exception SIGSEGV - Segmentation violation signal on file parsing \(v3.11.2, linux, doctest\) [\#4193](https://github.com/nlohmann/json/issues/4193) -- In highly nested functions, passing json into a function leads to a segmentation fault/bus error [\#4186](https://github.com/nlohmann/json/issues/4186) -- why a single-object json file appears in an array [\#4183](https://github.com/nlohmann/json/issues/4183) -- Initializing `json` by direct initialization and copy initialization invokes different constructors [\#4174](https://github.com/nlohmann/json/issues/4174) -- Deprecation warning about std::char\_traits\<unsigned char\> [\#4163](https://github.com/nlohmann/json/issues/4163) -- LLVM 16.0.6 issues warning for literal operators when Wdeprecated-literal-operator [\#4129](https://github.com/nlohmann/json/issues/4129) -- GCC compiler warning about violating the C++ One Definition Rule \[-Wodr\] [\#4116](https://github.com/nlohmann/json/issues/4116) -- error: building nlohmann-json:arm64-osx failed with: BUILD\_FAILED [\#4091](https://github.com/nlohmann/json/issues/4091) -- dump\(\): Non-conforming with JSON-spec escape of strings? [\#4088](https://github.com/nlohmann/json/issues/4088) -- Compiling in visual studio 2022 gives a warning [\#4081](https://github.com/nlohmann/json/issues/4081) -- Upgrade CMake minimum version [\#4076](https://github.com/nlohmann/json/issues/4076) -- \ character in the content of a string cause error in parser.? [\#4067](https://github.com/nlohmann/json/issues/4067) -- JSON Parsing Freeze Issue on Nintendo Switch [\#4066](https://github.com/nlohmann/json/issues/4066) -- Clang++ compilation fails on extremely small example [\#4061](https://github.com/nlohmann/json/issues/4061) -- how about open a new repository for header only version? [\#4060](https://github.com/nlohmann/json/issues/4060) -- json::count returns only 0 or 1 [\#4052](https://github.com/nlohmann/json/issues/4052) -- std::function error [\#4050](https://github.com/nlohmann/json/issues/4050) -- Json package not compiling properly [\#4042](https://github.com/nlohmann/json/issues/4042) -- Explicit conversion example in docs should use `template get` [\#4038](https://github.com/nlohmann/json/issues/4038) -- Improve wording of parse\_error exception [\#4037](https://github.com/nlohmann/json/issues/4037) -- Parse error on valid JSON file [\#4028](https://github.com/nlohmann/json/issues/4028) -- Empty JSON object returns size of 1 [\#4027](https://github.com/nlohmann/json/issues/4027) -- Help needed to fix CI [\#4025](https://github.com/nlohmann/json/issues/4025) -- Security vulnerabilities detected: CVE-2022-24439, WS-2022-0438, WS-2022-0437 [\#4020](https://github.com/nlohmann/json/issues/4020) -- multithreading use from\_msgpack leading very slow [\#4016](https://github.com/nlohmann/json/issues/4016) -- Error with sol for Lua: items\(\) is not a recognized container [\#4012](https://github.com/nlohmann/json/issues/4012) -- Parser does not read non ascii characters : ŞÜİĞ [\#4007](https://github.com/nlohmann/json/issues/4007) -- malloc\(\): unaligned fastbin chunk detected [\#3999](https://github.com/nlohmann/json/issues/3999) -- try/catch block doesn't work while accessing const json& array. [\#3998](https://github.com/nlohmann/json/issues/3998) -- a bug about list [\#3995](https://github.com/nlohmann/json/issues/3995) -- heap corruption when i use nlohmann::json::accept function to check a valid json [\#3994](https://github.com/nlohmann/json/issues/3994) -- Exception on gcc but not apple clang [\#3986](https://github.com/nlohmann/json/issues/3986) -- Can't support convert the type? std::string json\_str = R"\({"value": "3.1415"}\)"; float value = j\["value"\].get\<float\>\(\); [\#3984](https://github.com/nlohmann/json/issues/3984) -- `#pragma once` not supported with C++20 modules in clang [\#3974](https://github.com/nlohmann/json/issues/3974) -- const array\_t::operator\[\] results in buffer overflow / segv on nullptr on out of bounds access [\#3973](https://github.com/nlohmann/json/issues/3973) -- Set minimal permissions to Github Workflows [\#3971](https://github.com/nlohmann/json/issues/3971) -- Parsing array error [\#3968](https://github.com/nlohmann/json/issues/3968) -- why I can return tuple as json? [\#3961](https://github.com/nlohmann/json/issues/3961) -- type must be number, but is null [\#3956](https://github.com/nlohmann/json/issues/3956) -- Class Composition of json members produces incorrect json when constructing with initialization list [\#3955](https://github.com/nlohmann/json/issues/3955) -- exit without error message [\#3948](https://github.com/nlohmann/json/issues/3948) -- NLOHMANN\_DEFINE\_TYPE\_INTRUSIVE doesn't work with "json\_fwd.hpp" [\#3946](https://github.com/nlohmann/json/issues/3946) -- Dangerous use of pull\_request\_target [\#3945](https://github.com/nlohmann/json/issues/3945) -- Test \#7: test-bjdata\_cpp11 ............................\*\*\*Failed [\#3941](https://github.com/nlohmann/json/issues/3941) -- Memory leak detection with basic usage of NLOHMANN\_JSON\_SERIALIZE\_ENUM [\#3939](https://github.com/nlohmann/json/issues/3939) -- Parse doesnt work [\#3936](https://github.com/nlohmann/json/issues/3936) -- Clean up badges [\#3935](https://github.com/nlohmann/json/issues/3935) -- \[json.exception.type\_error.305\] cannot use operator\[\] with a string argument with array [\#3931](https://github.com/nlohmann/json/issues/3931) -- GCC 13 build failures [\#3927](https://github.com/nlohmann/json/issues/3927) -- Exception throw even though code is inside try/catch [\#3926](https://github.com/nlohmann/json/issues/3926) -- Please fix failing tests [\#3923](https://github.com/nlohmann/json/issues/3923) -- Security vulnerability in dependency: future 0.18.2 [\#3922](https://github.com/nlohmann/json/issues/3922) -- json pretty printer causes python exceptions on non-json types [\#3919](https://github.com/nlohmann/json/issues/3919) -- how does a normal basic\_json\<\> object cuase assertion `false` [\#3918](https://github.com/nlohmann/json/issues/3918) -- The library can not parse JSON generate by Chome DevTools Protocol [\#3903](https://github.com/nlohmann/json/issues/3903) -- Typo in `cmake/test.cmake` [\#3902](https://github.com/nlohmann/json/issues/3902) -- Parser adds wrapping array when compiled with GCC [\#3897](https://github.com/nlohmann/json/issues/3897) -- when i use for\(auto iter& : jsonObject\) it occure some error [\#3893](https://github.com/nlohmann/json/issues/3893) -- Check Drone CI [\#3890](https://github.com/nlohmann/json/issues/3890) -- Json::accept\(std::ifstream\) [\#3884](https://github.com/nlohmann/json/issues/3884) -- \[json.exception.parse\_error.101\] parse error at line 1, column 1: syntax error while parsing value - unexpected end of input; expected '\[', '{', or a literal [\#3882](https://github.com/nlohmann/json/issues/3882) -- Memory leak when exception is thrown in adl\_serializer::to\_json [\#3881](https://github.com/nlohmann/json/issues/3881) -- building with cmake [\#3880](https://github.com/nlohmann/json/issues/3880) -- \[json.exception.type\_error.316\] invalid UTF-8 byte at index 0: 0xB6 [\#3879](https://github.com/nlohmann/json/issues/3879) -- Visual Studio 2015 C2664 error std::pair\< [\#3867](https://github.com/nlohmann/json/issues/3867) -- I want the data field to be empty serialized and deserialized to each other [\#3866](https://github.com/nlohmann/json/issues/3866) -- Generated natvis is invalid XML [\#3858](https://github.com/nlohmann/json/issues/3858) -- Json Arrays have inconsistent nesting levels across different OSs [\#3854](https://github.com/nlohmann/json/issues/3854) -- Occur error when parse character '\' [\#3844](https://github.com/nlohmann/json/issues/3844) -- Proccess crash as soon as I parse json [\#3843](https://github.com/nlohmann/json/issues/3843) -- json::parse and constructor with the same json generates different type [\#3842](https://github.com/nlohmann/json/issues/3842) -- json::accept return false on valid JSON [\#3838](https://github.com/nlohmann/json/issues/3838) -- decode\(state, codep, byte\) generates warnings. [\#3837](https://github.com/nlohmann/json/issues/3837) -- Arithmetic operators are not working as expected [\#3832](https://github.com/nlohmann/json/issues/3832) -- array\_index does not catch std::invalid\_argument exception from std::stoull [\#3831](https://github.com/nlohmann/json/issues/3831) -- 3.11.2: test suite is failing in two units [\#3828](https://github.com/nlohmann/json/issues/3828) -- Compile Error on g++ using get\(\) function [\#3827](https://github.com/nlohmann/json/issues/3827) -- nlohmann::json::parse can't handle the "€" symbol. [\#3825](https://github.com/nlohmann/json/issues/3825) -- When reading a non-existent key, I unexpectedly get a value. Is it the wrong way I use it? [\#3811](https://github.com/nlohmann/json/issues/3811) -- Code analysis warning string\_concat.hpp C26800: Use of a moved from object [\#3805](https://github.com/nlohmann/json/issues/3805) -- The code used to build with 3.10.2 but fails now [\#3804](https://github.com/nlohmann/json/issues/3804) -- Inconsistent Behaviour of NaN & Null Values [\#3799](https://github.com/nlohmann/json/issues/3799) -- json\_fwd.hpp doesn't work [\#3796](https://github.com/nlohmann/json/issues/3796) -- Compilation fails in MSVC 22 [\#3787](https://github.com/nlohmann/json/issues/3787) -- parsing json with missing key throws exception [\#3784](https://github.com/nlohmann/json/issues/3784) -- Allow to disable inline namespaces completley [\#3746](https://github.com/nlohmann/json/issues/3746) -- double free or Assertion failed! [\#3729](https://github.com/nlohmann/json/issues/3729) -- Amalgated json\_fwd.hpp not included in include.zip [\#3727](https://github.com/nlohmann/json/issues/3727) -- INT64\_MIN/MAX not defined for newer g++ [\#3722](https://github.com/nlohmann/json/issues/3722) -- Compilation error with JSON\_DIAGNOSTICS enabled [\#3717](https://github.com/nlohmann/json/issues/3717) -- class-level enum not serialized as string via NLOHMANN\_JSON\_SERIALIZE\_ENUM [\#3715](https://github.com/nlohmann/json/issues/3715) -- Local copy given by operator\[\] or at\(\) [\#3704](https://github.com/nlohmann/json/issues/3704) -- nlohmann::to\_json method not acting as expected with nlohmann::adl\_serializer specialization. [\#3340](https://github.com/nlohmann/json/issues/3340) -- braced-init-list: array vs other constructor [\#2583](https://github.com/nlohmann/json/issues/2583) - -- JSON for Modern C++ 3.11.3 [\#4222](https://github.com/nlohmann/json/pull/4222) ([nlohmann](https://github.com/nlohmann)) -- Update documentation for the next release [\#4216](https://github.com/nlohmann/json/pull/4216) ([nlohmann](https://github.com/nlohmann)) -- Fix failing CI checks [\#4215](https://github.com/nlohmann/json/pull/4215) ([colbychaskell](https://github.com/colbychaskell)) -- Fix CI \(again\) [\#4196](https://github.com/nlohmann/json/pull/4196) ([nlohmann](https://github.com/nlohmann)) -- fix cmake header path in install with custom CMAKE\_INSTALL\_INCLUDEDIR [\#4194](https://github.com/nlohmann/json/pull/4194) ([bebuch](https://github.com/bebuch)) -- Add more specific error message when attempting to parse empty input [\#4180](https://github.com/nlohmann/json/pull/4180) ([colbychaskell](https://github.com/colbychaskell)) -- Fix char\_traits deprecation warning [\#4179](https://github.com/nlohmann/json/pull/4179) ([colbychaskell](https://github.com/colbychaskell)) -- Fix MinGW CI [\#4175](https://github.com/nlohmann/json/pull/4175) ([scribam](https://github.com/scribam)) -- Fix spellcheck issue [\#4173](https://github.com/nlohmann/json/pull/4173) ([mwestphal](https://github.com/mwestphal)) -- Fix source highlighting in user defined type macros docs [\#4169](https://github.com/nlohmann/json/pull/4169) ([ZeronSix](https://github.com/ZeronSix)) -- Fix deprecation warning [\#4161](https://github.com/nlohmann/json/pull/4161) ([nlohmann](https://github.com/nlohmann)) -- Fix CI [\#4160](https://github.com/nlohmann/json/pull/4160) ([nlohmann](https://github.com/nlohmann)) -- Update index.md [\#4159](https://github.com/nlohmann/json/pull/4159) ([miny1233](https://github.com/miny1233)) -- Update index.md [\#4149](https://github.com/nlohmann/json/pull/4149) ([HO-COOH](https://github.com/HO-COOH)) -- Correct a typo in serve\_header/README.md [\#4143](https://github.com/nlohmann/json/pull/4143) ([felixonmars](https://github.com/felixonmars)) -- Fixed init-list construction when size\_type is not int [\#4140](https://github.com/nlohmann/json/pull/4140) ([tomalakgeretkal](https://github.com/tomalakgeretkal)) -- Update CODEOWNERS [\#4126](https://github.com/nlohmann/json/pull/4126) ([tarolling](https://github.com/tarolling)) -- Accept NEW CMake policies up to CMake 3.14 [\#4112](https://github.com/nlohmann/json/pull/4112) ([craigscott-crascit](https://github.com/craigscott-crascit)) -- Fix typo in afl\_driver.cpp [\#4109](https://github.com/nlohmann/json/pull/4109) ([eltociear](https://github.com/eltociear)) -- Capture exceptions by const& in docs. [\#4099](https://github.com/nlohmann/json/pull/4099) ([iwanders](https://github.com/iwanders)) -- Fix CI, again [\#4083](https://github.com/nlohmann/json/pull/4083) ([nlohmann](https://github.com/nlohmann)) -- Fix Clang-Tidy warnings [\#4047](https://github.com/nlohmann/json/pull/4047) ([nlohmann](https://github.com/nlohmann)) -- Fix compile error with \_HAS\_STATIC\_RTTI=0 [\#4046](https://github.com/nlohmann/json/pull/4046) ([ALF-ONE](https://github.com/ALF-ONE)) -- Add to CONTRIBUTING.md that `make pretty` is required for test updates. [\#4045](https://github.com/nlohmann/json/pull/4045) ([gregmarr](https://github.com/gregmarr)) -- Added to tests the file unit-algorithm.cpp \(c++ 11\) functions from algorithm library [\#4044](https://github.com/nlohmann/json/pull/4044) ([Tomerkm](https://github.com/Tomerkm)) -- Use template get instead of get in examples [\#4039](https://github.com/nlohmann/json/pull/4039) ([tusooa](https://github.com/tusooa)) -- Support Apple's Swift Package Manager [\#4010](https://github.com/nlohmann/json/pull/4010) ([aleksproger](https://github.com/aleksproger)) -- Add Vcpkg port version badge [\#3988](https://github.com/nlohmann/json/pull/3988) ([njakob](https://github.com/njakob)) -- Fix CI + new Doctest [\#3985](https://github.com/nlohmann/json/pull/3985) ([nlohmann](https://github.com/nlohmann)) -- Set minimal permissions to Github Workflows [\#3972](https://github.com/nlohmann/json/pull/3972) ([joycebrum](https://github.com/joycebrum)) -- Refactor amalgamation workflow to avoid dangerous use of pull\_request\_target [\#3969](https://github.com/nlohmann/json/pull/3969) ([joycebrum](https://github.com/joycebrum)) -- Fix typo in test.cmake [\#3951](https://github.com/nlohmann/json/pull/3951) ([theevilone45](https://github.com/theevilone45)) -- tests/unit-iterators2: use std::ranges::equals for range comparisons [\#3950](https://github.com/nlohmann/json/pull/3950) ([ArsenArsen](https://github.com/ArsenArsen)) -- 3935, removed lgtm badge and added Cirrus CI badge [\#3937](https://github.com/nlohmann/json/pull/3937) ([haadfida](https://github.com/haadfida)) -- ⬆️ Bump future from 0.18.2 to 0.18.3 in /docs/mkdocs [\#3934](https://github.com/nlohmann/json/pull/3934) ([dependabot[bot]](https://github.com/apps/dependabot)) -- Change 2022 to 2023 [\#3932](https://github.com/nlohmann/json/pull/3932) ([floriansegginger](https://github.com/floriansegginger)) -- PrettyPrinter: Check if match is valid before accessing group [\#3920](https://github.com/nlohmann/json/pull/3920) ([Finkman](https://github.com/Finkman)) -- Fix CI issues [\#3906](https://github.com/nlohmann/json/pull/3906) ([barcode](https://github.com/barcode)) -- Prevent memory leak when exception is thrown in adl\_serializer::to\_json [\#3901](https://github.com/nlohmann/json/pull/3901) ([barcode](https://github.com/barcode)) -- custom allocators: define missing 'rebind' type [\#3895](https://github.com/nlohmann/json/pull/3895) ([trofi](https://github.com/trofi)) -- Try old MinGW script [\#3892](https://github.com/nlohmann/json/pull/3892) ([nlohmann](https://github.com/nlohmann)) -- Upgrade Python packages [\#3891](https://github.com/nlohmann/json/pull/3891) ([nlohmann](https://github.com/nlohmann)) -- Fix warning about moved from object [\#3889](https://github.com/nlohmann/json/pull/3889) ([nlohmann](https://github.com/nlohmann)) -- Remove a magic number [\#3888](https://github.com/nlohmann/json/pull/3888) ([nlohmann](https://github.com/nlohmann)) -- Add migration guide [\#3887](https://github.com/nlohmann/json/pull/3887) ([nlohmann](https://github.com/nlohmann)) -- Clang 15 [\#3876](https://github.com/nlohmann/json/pull/3876) ([nlohmann](https://github.com/nlohmann)) -- Bump certifi from 2022.6.15 to 2022.12.7 in /docs/mkdocs [\#3872](https://github.com/nlohmann/json/pull/3872) ([dependabot[bot]](https://github.com/apps/dependabot)) -- Fix natvis XML [\#3863](https://github.com/nlohmann/json/pull/3863) ([nlohmann](https://github.com/nlohmann)) -- Fix pipeline [\#3862](https://github.com/nlohmann/json/pull/3862) ([nlohmann](https://github.com/nlohmann)) -- Add CIFuzz CI GitHub action [\#3845](https://github.com/nlohmann/json/pull/3845) ([DavidKorczynski](https://github.com/DavidKorczynski)) -- Add serialization-only user defined type macros [\#3816](https://github.com/nlohmann/json/pull/3816) ([ZeronSix](https://github.com/ZeronSix)) -- Bump joblib from 1.1.0 to 1.2.0 in /docs/mkdocs [\#3781](https://github.com/nlohmann/json/pull/3781) ([dependabot[bot]](https://github.com/apps/dependabot)) -- Fix some typos for n-dimensional arrays [\#3767](https://github.com/nlohmann/json/pull/3767) ([striezel](https://github.com/striezel)) -- Fix 'declaration hides global declaration' warning [\#3751](https://github.com/nlohmann/json/pull/3751) ([falbrechtskirchinger](https://github.com/falbrechtskirchinger)) -- Fix typos in .md files [\#3748](https://github.com/nlohmann/json/pull/3748) ([tocic](https://github.com/tocic)) -- Update Codacy link [\#3740](https://github.com/nlohmann/json/pull/3740) ([nlohmann](https://github.com/nlohmann)) -- Add missing files to release artifacts [\#3728](https://github.com/nlohmann/json/pull/3728) ([falbrechtskirchinger](https://github.com/falbrechtskirchinger)) -- Add dark mode toggle to documentation [\#3726](https://github.com/nlohmann/json/pull/3726) ([falbrechtskirchinger](https://github.com/falbrechtskirchinger)) -- Add clang-tools to required tools for ci\_static\_analysis\_clang [\#3724](https://github.com/nlohmann/json/pull/3724) ([nlohmann](https://github.com/nlohmann)) -- Replace limit macros with std::numeric\_limits [\#3723](https://github.com/nlohmann/json/pull/3723) ([falbrechtskirchinger](https://github.com/falbrechtskirchinger)) -- Add missing \<numeric\> include [\#3719](https://github.com/nlohmann/json/pull/3719) ([falbrechtskirchinger](https://github.com/falbrechtskirchinger)) -- Add Bazel build support [\#3709](https://github.com/nlohmann/json/pull/3709) ([Vertexwahn](https://github.com/Vertexwahn)) -- Use official Clang/GCC containers [\#3703](https://github.com/nlohmann/json/pull/3703) ([nlohmann](https://github.com/nlohmann)) -- Add 'Check amalgamation' workflow [\#3693](https://github.com/nlohmann/json/pull/3693) ([falbrechtskirchinger](https://github.com/falbrechtskirchinger)) -- Allow custom base class as node customization point [\#3110](https://github.com/nlohmann/json/pull/3110) ([barcode](https://github.com/barcode)) - -## [v3.11.2](https://github.com/nlohmann/json/releases/tag/v3.11.2) (2022-08-12) - -[Full Changelog](https://github.com/nlohmann/json/compare/v3.11.1...v3.11.2) - -- MSVC natvis visualizer does not work after introduction of inline ABI namespace [\#3696](https://github.com/nlohmann/json/issues/3696) -- The use of parenthesis gives compilation errors in some situations [\#3682](https://github.com/nlohmann/json/issues/3682) -- extern from/to\_json result in linker error [\#3657](https://github.com/nlohmann/json/issues/3657) -- json\_fwd.hpp no longer standalone [\#3656](https://github.com/nlohmann/json/issues/3656) -- regression: `.value<size_t>` is compilation error. [\#3655](https://github.com/nlohmann/json/issues/3655) -- Regression: no match for 'operator!=' comparing json\_pointer and const char \*/string\_t [\#3654](https://github.com/nlohmann/json/issues/3654) -- Regression: call to member function 'value' is ambiguous [\#3652](https://github.com/nlohmann/json/issues/3652) -- macOS 10.15 Actions runner image deprecation [\#3612](https://github.com/nlohmann/json/issues/3612) - -- generate\_natvis.py: validate version number; cleanup [\#3698](https://github.com/nlohmann/json/pull/3698) ([falbrechtskirchinger](https://github.com/falbrechtskirchinger)) -- Add Python script for generating Natvis file and update file for 3.11.2 [\#3697](https://github.com/nlohmann/json/pull/3697) ([falbrechtskirchinger](https://github.com/falbrechtskirchinger)) -- fix typo in json\_pointer.md [\#3692](https://github.com/nlohmann/json/pull/3692) ([eltociear](https://github.com/eltociear)) -- Add amalgamated json-fwd.hpp to release [\#3687](https://github.com/nlohmann/json/pull/3687) ([nlohmann](https://github.com/nlohmann)) -- Documentation updates for 3.11.2 [\#3686](https://github.com/nlohmann/json/pull/3686) ([falbrechtskirchinger](https://github.com/falbrechtskirchinger)) -- Make json\_pointer usable as map key \(again\) [\#3685](https://github.com/nlohmann/json/pull/3685) ([falbrechtskirchinger](https://github.com/falbrechtskirchinger)) -- Deprecate json\_pointer/string\_t comparisons [\#3684](https://github.com/nlohmann/json/pull/3684) ([falbrechtskirchinger](https://github.com/falbrechtskirchinger)) -- Restructure inline namespace and allow version component to be disabled [\#3683](https://github.com/nlohmann/json/pull/3683) ([falbrechtskirchinger](https://github.com/falbrechtskirchinger)) -- Properly constrain non-string json\_pointer overloads [\#3681](https://github.com/nlohmann/json/pull/3681) ([falbrechtskirchinger](https://github.com/falbrechtskirchinger)) -- Amalgamate the forward declaration header [\#3679](https://github.com/nlohmann/json/pull/3679) ([falbrechtskirchinger](https://github.com/falbrechtskirchinger)) -- Fix 'const' qualifier on bool& has no effect [\#3678](https://github.com/nlohmann/json/pull/3678) ([falbrechtskirchinger](https://github.com/falbrechtskirchinger)) -- Fix whitespace in workflow files [\#3675](https://github.com/nlohmann/json/pull/3675) ([nlohmann](https://github.com/nlohmann)) -- Attempt to fix labeler permissions [\#3674](https://github.com/nlohmann/json/pull/3674) ([falbrechtskirchinger](https://github.com/falbrechtskirchinger)) -- Refine 'Publish documentation' workflow [\#3673](https://github.com/nlohmann/json/pull/3673) ([falbrechtskirchinger](https://github.com/falbrechtskirchinger)) -- Documentation change [\#3672](https://github.com/nlohmann/json/pull/3672) ([nlohmann](https://github.com/nlohmann)) -- Add labeler action [\#3671](https://github.com/nlohmann/json/pull/3671) ([nlohmann](https://github.com/nlohmann)) -- Complete contributor list [\#3670](https://github.com/nlohmann/json/pull/3670) ([nlohmann](https://github.com/nlohmann)) -- Add json\_pointer/string\_t equality comparison operators [\#3664](https://github.com/nlohmann/json/pull/3664) ([falbrechtskirchinger](https://github.com/falbrechtskirchinger)) -- Reimplement value\(\) access functions [\#3663](https://github.com/nlohmann/json/pull/3663) ([falbrechtskirchinger](https://github.com/falbrechtskirchinger)) -- Complete contributor list [\#3662](https://github.com/nlohmann/json/pull/3662) ([nlohmann](https://github.com/nlohmann)) -- Adjust naming of GitHub action jobs [\#3661](https://github.com/nlohmann/json/pull/3661) ([nlohmann](https://github.com/nlohmann)) -- Publish documentation on push to develop branch [\#3660](https://github.com/nlohmann/json/pull/3660) ([nlohmann](https://github.com/nlohmann)) -- Add Discord badge to README [\#3651](https://github.com/nlohmann/json/pull/3651) ([falbrechtskirchinger](https://github.com/falbrechtskirchinger)) -- Miscellaneous small fixes [\#3643](https://github.com/nlohmann/json/pull/3643) ([falbrechtskirchinger](https://github.com/falbrechtskirchinger)) -- Minor BJData fixes [\#3637](https://github.com/nlohmann/json/pull/3637) ([falbrechtskirchinger](https://github.com/falbrechtskirchinger)) -- Update CI [\#3626](https://github.com/nlohmann/json/pull/3626) ([falbrechtskirchinger](https://github.com/falbrechtskirchinger)) - -## [v3.11.1](https://github.com/nlohmann/json/releases/tag/v3.11.1) (2022-08-01) - -[Full Changelog](https://github.com/nlohmann/json/compare/v3.11.0...v3.11.1) - -- Regression: no matching literal operator for call to 'operator""\_json' [\#3645](https://github.com/nlohmann/json/issues/3645) -- \_json operator""\(\) [\#3644](https://github.com/nlohmann/json/issues/3644) - -- Fix global UDLs [\#3646](https://github.com/nlohmann/json/pull/3646) ([falbrechtskirchinger](https://github.com/falbrechtskirchinger)) - -## [v3.11.0](https://github.com/nlohmann/json/releases/tag/v3.11.0) (2022-08-01) - -[Full Changelog](https://github.com/nlohmann/json/compare/v3.10.5...v3.11.0) - -- ICPC: warning \#1098: the qualifier on this friend declaration is ignored [\#3632](https://github.com/nlohmann/json/issues/3632) -- Starting with 3.10.4, just adding `\#include json.hpp` causes compile error: `overload resolution selected deleted operator '=' [\#3620](https://github.com/nlohmann/json/issues/3620) -- xwidgets doesn't compile with version \>3.10.3 [\#3602](https://github.com/nlohmann/json/issues/3602) -- json\_pointer\_\_pop\_back.cpp example does not compile [\#3600](https://github.com/nlohmann/json/issues/3600) -- nlohmann::json::array 'push\_back' is ambiguous [\#3589](https://github.com/nlohmann/json/issues/3589) -- Multiple versions causing conflict [\#3588](https://github.com/nlohmann/json/issues/3588) -- ERROR: ThreadSanitizer: SEGV on unknown address [\#3584](https://github.com/nlohmann/json/issues/3584) -- unicode4 test consistently fails on RISC-V hardware [\#3579](https://github.com/nlohmann/json/issues/3579) -- sax\_parse\(iterator, json\_sax\_t \*\) string callback clobbers spaces [\#3574](https://github.com/nlohmann/json/issues/3574) -- Nlohmann JSON Parse crash with raylib-cpp [\#3570](https://github.com/nlohmann/json/issues/3570) -- ordered\_json doesn't accept keys of types other than string\_t \(e.g., string\_view\) [\#3558](https://github.com/nlohmann/json/issues/3558) -- turning an object into an array [\#3547](https://github.com/nlohmann/json/issues/3547) -- json:parse\_bjdata\_fuzzer: ASSERT: ref\_stack.back\(\)-\>is\_array\(\) [\#3541](https://github.com/nlohmann/json/issues/3541) -- Warning about potential null dereference in GCC 12.1 \(Fedora 36\) [\#3525](https://github.com/nlohmann/json/issues/3525) -- Enable 32bit unit test in CI [\#3524](https://github.com/nlohmann/json/issues/3524) -- Error when roundtripping BJData [\#3519](https://github.com/nlohmann/json/issues/3519) -- ASSERT error while parsing BJData [\#3513](https://github.com/nlohmann/json/issues/3513) -- An exception occurred when sending a string with double quotes [\#3504](https://github.com/nlohmann/json/issues/3504) -- Binary reader for BJData creates incorrect SAX events [\#3503](https://github.com/nlohmann/json/issues/3503) -- It can't support "nan", "inf", "-inf" for float type [\#3494](https://github.com/nlohmann/json/issues/3494) -- ASAN error while parsing BJData \(Heap-buffer-overflow READ 1\) [\#3492](https://github.com/nlohmann/json/issues/3492) -- UBSAN error while parsing BJData \(Null-dereference\) [\#3491](https://github.com/nlohmann/json/issues/3491) -- UBSAN error while parsing BJData \(Invalid-bool-value\) [\#3490](https://github.com/nlohmann/json/issues/3490) -- json:parse\_bjdata\_fuzzer reaches assertion [\#3475](https://github.com/nlohmann/json/issues/3475) -- Compilation with -fmodules-ts and use inside of a module [\#3472](https://github.com/nlohmann/json/issues/3472) -- json.exception.parse\_error.101 only occurs outside of IDE [\#3467](https://github.com/nlohmann/json/issues/3467) -- json:parse\_bjdata\_fuzzer reaches assertion [\#3461](https://github.com/nlohmann/json/issues/3461) -- NLOHMANN\_DEFINE\_TYPE\_NON\_INTRUSIVE\_WITH\_DEFAULT can not parse { "key" : null} [\#3458](https://github.com/nlohmann/json/issues/3458) -- Unable to compile when using Microsoft's \_CRTDBG [\#3457](https://github.com/nlohmann/json/issues/3457) -- Compilation errors when including `<filesystem>` and using `--std=c++17` or above \(MinGW/Win10\) [\#3449](https://github.com/nlohmann/json/issues/3449) -- Weird things on for statement [\#3447](https://github.com/nlohmann/json/issues/3447) -- Parsing error when there is a json string within a Json [\#3445](https://github.com/nlohmann/json/issues/3445) -- ordered\_json vs json types comparison [\#3443](https://github.com/nlohmann/json/issues/3443) -- Error occurred when converting nlohmann::json to std::any [\#3428](https://github.com/nlohmann/json/issues/3428) -- I was forced to report an assertion error when copying an array of strings [\#3419](https://github.com/nlohmann/json/issues/3419) -- About Serialization Error invalid UTF-8 byte at index [\#3414](https://github.com/nlohmann/json/issues/3414) -- Comparison of NaN differs between json and float [\#3409](https://github.com/nlohmann/json/issues/3409) -- when i use it in C++ sserver,it it constantly show that fatal error: adl\_serializer.hpp: No such file or directory [\#3404](https://github.com/nlohmann/json/issues/3404) -- parse error [\#3403](https://github.com/nlohmann/json/issues/3403) -- CMake script MAIN\_PROJECT always OFF [\#3390](https://github.com/nlohmann/json/issues/3390) -- Parser unable to handle large floating point numbers [\#3389](https://github.com/nlohmann/json/issues/3389) -- Compilation error if json\_pointer is used with alternative string type [\#3388](https://github.com/nlohmann/json/issues/3388) -- Unit tests conversions & items fail to build \(Clang \<4.0/C++14 only\) [\#3384](https://github.com/nlohmann/json/issues/3384) -- Regression test for \#3070 is not being run and fails when enabled [\#3377](https://github.com/nlohmann/json/issues/3377) -- Refactor unit tests to use more convenient doctest assertion macros [\#3365](https://github.com/nlohmann/json/issues/3365) -- An json.h issue reported in a static code analyzer [\#3361](https://github.com/nlohmann/json/issues/3361) -- Mixing different JSON\_DIAGNOSTICS settings in separately compiled units leads to core [\#3360](https://github.com/nlohmann/json/issues/3360) -- json::out\_of\_range exception matches against lot of others while testing [\#3352](https://github.com/nlohmann/json/issues/3352) -- use mipsel-openwrt-linux-g++ -std=c++11 to compile, it has some errors "error: 'snprintf' is not a member of 'std'" [\#3349](https://github.com/nlohmann/json/issues/3349) -- Add proper issue templates [\#3348](https://github.com/nlohmann/json/issues/3348) -- switch from json to ordered\_json [\#3343](https://github.com/nlohmann/json/issues/3343) -- Json dump use to compilation errors [\#3339](https://github.com/nlohmann/json/issues/3339) -- Ambiguous conversion from nlohmann::basic\_json\<\> to custom class. [\#3333](https://github.com/nlohmann/json/issues/3333) -- Iterator doesn't satisfy std::incrementable because post-increment may change constness [\#3331](https://github.com/nlohmann/json/issues/3331) -- Inconsistent handling of floating point numbers after parse\(\) [\#3329](https://github.com/nlohmann/json/issues/3329) -- Documentation for `ordered_json` should show proper use of the `parse()` function. [\#3325](https://github.com/nlohmann/json/issues/3325) -- "type must be boolean, but is object" error thrown on non-boolean object [\#3319](https://github.com/nlohmann/json/issues/3319) -- Incomplete Type in request parms [\#3318](https://github.com/nlohmann/json/issues/3318) -- 小米 MIX4 MIUI13 bug [\#3316](https://github.com/nlohmann/json/issues/3316) -- json.exception.parse\_error.101 when parsing data received over a socket [\#3313](https://github.com/nlohmann/json/issues/3313) -- Parse to custom class from unordered\_json breaks on G++11.2.0 with C++20 [\#3312](https://github.com/nlohmann/json/issues/3312) -- try to assign dumped string to a class member varible [\#3300](https://github.com/nlohmann/json/issues/3300) -- includedir in pkgconfig is error if install\_headers\(\) has subdir argument. [\#3284](https://github.com/nlohmann/json/issues/3284) -- SHA-256 sum of json-3.10.5.tar.xz changes over time \(but not the content itself\) [\#3281](https://github.com/nlohmann/json/issues/3281) -- items\(\) method does not follow order of json message [\#3278](https://github.com/nlohmann/json/issues/3278) -- Perplexing template deduction failure serialising a 3rd party type using base class [\#3267](https://github.com/nlohmann/json/issues/3267) -- json.hpp 'isfinite' is not a member of 'std' also isinf; snprintf; stoull and to\_string members of std [\#3263](https://github.com/nlohmann/json/issues/3263) -- JSON build fails for C++ cmake [\#3256](https://github.com/nlohmann/json/issues/3256) -- Unexpected implicit conversion [\#3254](https://github.com/nlohmann/json/issues/3254) -- Add a function that checks for valid json in a C++ string [\#3245](https://github.com/nlohmann/json/issues/3245) -- Replace use of standard IO from error handling [\#3239](https://github.com/nlohmann/json/issues/3239) -- Use Catch for unit tests [\#3232](https://github.com/nlohmann/json/issues/3232) -- Exception thrown during initialization causes a memory leak [\#3215](https://github.com/nlohmann/json/issues/3215) -- Tests failing when compiling with c++20 [\#3207](https://github.com/nlohmann/json/issues/3207) -- ambiguous regression [\#3204](https://github.com/nlohmann/json/issues/3204) -- Deserialization: if class is\_constructible from std::string wrong from\_json overload is being selected, compilation failed [\#3171](https://github.com/nlohmann/json/issues/3171) -- 'clang++ ./json.hpp' with no usage: Compiler syntax problem in clang 3.7.0 \(tizen :/ \) [\#3153](https://github.com/nlohmann/json/issues/3153) -- build failure on upcoming gcc-12: test/src/unit-regression1.cpp:392:22: error: ambiguous overload for 'operator=' [\#3138](https://github.com/nlohmann/json/issues/3138) -- Applying JSON patch creates parent object [\#3134](https://github.com/nlohmann/json/issues/3134) -- Iterators cannot be used with range-v3 [\#3130](https://github.com/nlohmann/json/issues/3130) -- std::shared\_ptr\<T\> == nlohmann::json compiles, which seem undesirable [\#3026](https://github.com/nlohmann/json/issues/3026) -- Error in test\download\_test\_data.vcxproj custom build step when compiling with Visual Studio 2019 16.7.7 msbuild on Windows 10 [\#2593](https://github.com/nlohmann/json/issues/2593) -- Consider putting the user-defined literals in a namespace [\#1682](https://github.com/nlohmann/json/issues/1682) -- Using versioned namespaces [\#1539](https://github.com/nlohmann/json/issues/1539) -- How can I use std::string\_view as the json\_key to "operator \[\]" ? [\#1529](https://github.com/nlohmann/json/issues/1529) -- serialize std::variant\<...\> [\#1261](https://github.com/nlohmann/json/issues/1261) - -- Prepare 3.11.0 release [\#3635](https://github.com/nlohmann/json/pull/3635) ([nlohmann](https://github.com/nlohmann)) -- Fix warning [\#3634](https://github.com/nlohmann/json/pull/3634) ([nlohmann](https://github.com/nlohmann)) -- Add license header to new files [\#3633](https://github.com/nlohmann/json/pull/3633) ([nlohmann](https://github.com/nlohmann)) -- Add a unit test including windows.h [\#3631](https://github.com/nlohmann/json/pull/3631) ([falbrechtskirchinger](https://github.com/falbrechtskirchinger)) -- Fixed latest build error in msvc platform [\#3630](https://github.com/nlohmann/json/pull/3630) ([Lioncky](https://github.com/Lioncky)) -- Add regression tests for \#3204 and \#3333 [\#3629](https://github.com/nlohmann/json/pull/3629) ([falbrechtskirchinger](https://github.com/falbrechtskirchinger)) -- Fix patch::add creating nonexistent parents [\#3628](https://github.com/nlohmann/json/pull/3628) ([falbrechtskirchinger](https://github.com/falbrechtskirchinger)) -- Adjust JSON Pointer examples [\#3622](https://github.com/nlohmann/json/pull/3622) ([nlohmann](https://github.com/nlohmann)) -- Disable exceptions on ICPC [\#3621](https://github.com/nlohmann/json/pull/3621) ([falbrechtskirchinger](https://github.com/falbrechtskirchinger)) -- build: install .pc and .cmake files to share/ [\#3619](https://github.com/nlohmann/json/pull/3619) ([Tachi107](https://github.com/Tachi107)) -- Fix MinGW CI failures [\#3618](https://github.com/nlohmann/json/pull/3618) ([falbrechtskirchinger](https://github.com/falbrechtskirchinger)) -- Fix Unicode test timeout \(for real this time!\) [\#3614](https://github.com/nlohmann/json/pull/3614) ([falbrechtskirchinger](https://github.com/falbrechtskirchinger)) -- Use 'concurrency' in GitHub workflows [\#3610](https://github.com/nlohmann/json/pull/3610) ([falbrechtskirchinger](https://github.com/falbrechtskirchinger)) -- Use swap\(\) by ADL [\#3609](https://github.com/nlohmann/json/pull/3609) ([falbrechtskirchinger](https://github.com/falbrechtskirchinger)) -- Move UDLs out of the global namespace [\#3605](https://github.com/nlohmann/json/pull/3605) ([falbrechtskirchinger](https://github.com/falbrechtskirchinger)) -- Re-add value\_type detection to distinguish string types [\#3604](https://github.com/nlohmann/json/pull/3604) ([falbrechtskirchinger](https://github.com/falbrechtskirchinger)) -- Add operator\<\<\(json\_pointer\) [\#3601](https://github.com/nlohmann/json/pull/3601) ([falbrechtskirchinger](https://github.com/falbrechtskirchinger)) -- Add documentation for comparing json and ordered\_json [\#3599](https://github.com/nlohmann/json/pull/3599) ([nlohmann](https://github.com/nlohmann)) -- Clean up after \#3581 [\#3596](https://github.com/nlohmann/json/pull/3596) ([nlohmann](https://github.com/nlohmann)) -- Add assertion if nullptr is passed to parse function [\#3593](https://github.com/nlohmann/json/pull/3593) ([nlohmann](https://github.com/nlohmann)) -- Minor documentation fixes [\#3592](https://github.com/nlohmann/json/pull/3592) ([nlohmann](https://github.com/nlohmann)) -- Add versioned, ABI-tagged inline namespace and namespace macros [\#3590](https://github.com/nlohmann/json/pull/3590) ([falbrechtskirchinger](https://github.com/falbrechtskirchinger)) -- Add badge for https://repology.org/project/nlohmann-json/versions [\#3586](https://github.com/nlohmann/json/pull/3586) ([nlohmann](https://github.com/nlohmann)) -- Add error message if test suite cannot be found [\#3585](https://github.com/nlohmann/json/pull/3585) ([nlohmann](https://github.com/nlohmann)) -- add patch\_inplace function [\#3581](https://github.com/nlohmann/json/pull/3581) ([wolfv](https://github.com/wolfv)) -- Enable overriding test properties and set Unicode test timeouts [\#3580](https://github.com/nlohmann/json/pull/3580) ([falbrechtskirchinger](https://github.com/falbrechtskirchinger)) -- Ignore output directory [\#3572](https://github.com/nlohmann/json/pull/3572) ([NN---](https://github.com/NN---)) -- Optimize output vector adapter write [\#3569](https://github.com/nlohmann/json/pull/3569) ([romainreignier](https://github.com/romainreignier)) -- Add overloads for more key types to ordered\_map and fix ordered\_map::erase\(first, last\) with first == last [\#3564](https://github.com/nlohmann/json/pull/3564) ([falbrechtskirchinger](https://github.com/falbrechtskirchinger)) -- Make certain usage patterns more prominent in the README [\#3557](https://github.com/nlohmann/json/pull/3557) ([jez](https://github.com/jez)) -- CI: fix "JSON\_MultipleHeaders" option spelling [\#3555](https://github.com/nlohmann/json/pull/3555) ([karzhenkov](https://github.com/karzhenkov)) -- More documentation updates for 3.11.0 [\#3553](https://github.com/nlohmann/json/pull/3553) ([falbrechtskirchinger](https://github.com/falbrechtskirchinger)) -- Use DOCTEST\_\* compiler macros and suppress pragmas warning [\#3550](https://github.com/nlohmann/json/pull/3550) ([falbrechtskirchinger](https://github.com/falbrechtskirchinger)) -- Add unit test to make sure iterator\_input\_adapter advances iterators correctly [\#3548](https://github.com/nlohmann/json/pull/3548) ([falbrechtskirchinger](https://github.com/falbrechtskirchinger)) -- Use REUSE framework [\#3546](https://github.com/nlohmann/json/pull/3546) ([nlohmann](https://github.com/nlohmann)) -- Use `std::iterator_traits` to extract `iterator_category` [\#3544](https://github.com/nlohmann/json/pull/3544) ([Mike-Leo-Smith](https://github.com/Mike-Leo-Smith)) -- BJData dimension length can not be string\_t::npos, fix \#3541 [\#3543](https://github.com/nlohmann/json/pull/3543) ([fangq](https://github.com/fangq)) -- Allow disabling default enum conversions [\#3536](https://github.com/nlohmann/json/pull/3536) ([richardhozak](https://github.com/richardhozak)) -- Add to\_json\(\) for std::vector\<bool\>::reference [\#3534](https://github.com/nlohmann/json/pull/3534) ([falbrechtskirchinger](https://github.com/falbrechtskirchinger)) -- CI: Enable 32bit unit test \(3\) [\#3532](https://github.com/nlohmann/json/pull/3532) ([falbrechtskirchinger](https://github.com/falbrechtskirchinger)) -- Use new CI image [\#3528](https://github.com/nlohmann/json/pull/3528) ([nlohmann](https://github.com/nlohmann)) -- Fix ndarray dimension signedness, fix ndarray length overflow \(2\); add 32bit unit test [\#3523](https://github.com/nlohmann/json/pull/3523) ([falbrechtskirchinger](https://github.com/falbrechtskirchinger)) -- Small documentation fixes [\#3520](https://github.com/nlohmann/json/pull/3520) ([nlohmann](https://github.com/nlohmann)) -- Add assertion to converting constructor [\#3517](https://github.com/nlohmann/json/pull/3517) ([falbrechtskirchinger](https://github.com/falbrechtskirchinger)) -- CI: Remove -Wstrict-overflow [\#3516](https://github.com/nlohmann/json/pull/3516) ([falbrechtskirchinger](https://github.com/falbrechtskirchinger)) -- Fix nlohmann/json\#3513, explain is\_ndarray flag [\#3514](https://github.com/nlohmann/json/pull/3514) ([fangq](https://github.com/fangq)) -- Prevent ndarray size vector from recursive use, fix nlohmann/json\#3503 [\#3505](https://github.com/nlohmann/json/pull/3505) ([fangq](https://github.com/fangq)) -- prevent ndarray dimension vector from recusive array, nlohmann/json\#3500 [\#3502](https://github.com/nlohmann/json/pull/3502) ([fangq](https://github.com/fangq)) -- Discard optimized containers with negative counts in UBJSON/BJData \(\#3491,\#3492,\#3490\) [\#3500](https://github.com/nlohmann/json/pull/3500) ([fangq](https://github.com/fangq)) -- Update json.hpp [\#3499](https://github.com/nlohmann/json/pull/3499) ([ivanovmp](https://github.com/ivanovmp)) -- Add assertion for invariant in SAX-DOM parser [\#3498](https://github.com/nlohmann/json/pull/3498) ([nlohmann](https://github.com/nlohmann)) -- Add more macOS builders [\#3485](https://github.com/nlohmann/json/pull/3485) ([nlohmann](https://github.com/nlohmann)) -- change bjdata ndarray flag to detect negative size, as part of \#3475 [\#3479](https://github.com/nlohmann/json/pull/3479) ([fangq](https://github.com/fangq)) -- Document fuzzer usage [\#3478](https://github.com/nlohmann/json/pull/3478) ([nlohmann](https://github.com/nlohmann)) -- Add build step for ICPC \(with fixes\) [\#3465](https://github.com/nlohmann/json/pull/3465) ([falbrechtskirchinger](https://github.com/falbrechtskirchinger)) -- Complete documentation for 3.11.0 [\#3464](https://github.com/nlohmann/json/pull/3464) ([nlohmann](https://github.com/nlohmann)) -- Handle invalid BJData optimized type, fix \#3461 [\#3463](https://github.com/nlohmann/json/pull/3463) ([fangq](https://github.com/fangq)) -- Reorganize directories [\#3462](https://github.com/nlohmann/json/pull/3462) ([nlohmann](https://github.com/nlohmann)) -- Enable rapid testing and development on Compiler Explorer [\#3456](https://github.com/nlohmann/json/pull/3456) ([falbrechtskirchinger](https://github.com/falbrechtskirchinger)) -- cpplint 1.6.0 [\#3454](https://github.com/nlohmann/json/pull/3454) ([nlohmann](https://github.com/nlohmann)) -- Disable regression test for \#3070 on GCC \<8.4 [\#3451](https://github.com/nlohmann/json/pull/3451) ([falbrechtskirchinger](https://github.com/falbrechtskirchinger)) -- Fix C++20/gcc-12 issues \(Part 2\) [\#3446](https://github.com/nlohmann/json/pull/3446) ([falbrechtskirchinger](https://github.com/falbrechtskirchinger)) -- Overwork documentation [\#3444](https://github.com/nlohmann/json/pull/3444) ([nlohmann](https://github.com/nlohmann)) -- Fix typo in basic\_json documentation [\#3439](https://github.com/nlohmann/json/pull/3439) ([jhnlee](https://github.com/jhnlee)) -- Exclude std::any from implicit conversion \(fixes \#3428\) [\#3437](https://github.com/nlohmann/json/pull/3437) ([falbrechtskirchinger](https://github.com/falbrechtskirchinger)) -- Document which version introduced the macros [\#3431](https://github.com/nlohmann/json/pull/3431) ([nlohmann](https://github.com/nlohmann)) -- Fix constraints on from\_json\(\) for strings \(fixes \#3171, \#3267, \#3312, \#3384\) [\#3427](https://github.com/nlohmann/json/pull/3427) ([falbrechtskirchinger](https://github.com/falbrechtskirchinger)) -- at.md: fix typo [\#3426](https://github.com/nlohmann/json/pull/3426) ([heinemml](https://github.com/heinemml)) -- Implement support for string\_view \(attempt no. 3\) [\#3423](https://github.com/nlohmann/json/pull/3423) ([falbrechtskirchinger](https://github.com/falbrechtskirchinger)) -- CI: speedup AppVeyor builds by ~30% [\#3422](https://github.com/nlohmann/json/pull/3422) ([falbrechtskirchinger](https://github.com/falbrechtskirchinger)) -- Restore disabled check for \#3070 \(except on MSVC\) [\#3421](https://github.com/nlohmann/json/pull/3421) ([falbrechtskirchinger](https://github.com/falbrechtskirchinger)) -- Update CI image [\#3420](https://github.com/nlohmann/json/pull/3420) ([nlohmann](https://github.com/nlohmann)) -- Add check if different version is also included [\#3418](https://github.com/nlohmann/json/pull/3418) ([nlohmann](https://github.com/nlohmann)) -- Report the right \_\_cplusplus value for MSVC in basic\_json meta\(\) [\#3417](https://github.com/nlohmann/json/pull/3417) ([flagarde](https://github.com/flagarde)) -- CI: windows-2016 has been deprecated; remove jobs [\#3416](https://github.com/nlohmann/json/pull/3416) ([falbrechtskirchinger](https://github.com/falbrechtskirchinger)) -- Re-template json\_pointer on string type [\#3415](https://github.com/nlohmann/json/pull/3415) ([falbrechtskirchinger](https://github.com/falbrechtskirchinger)) -- Refactor unit tests to use more convenient doctest assertion macros \(Part 2\) [\#3405](https://github.com/nlohmann/json/pull/3405) ([kkarbowiak](https://github.com/kkarbowiak)) -- Refactor unit tests to use more convenient doctest assertion macros [\#3393](https://github.com/nlohmann/json/pull/3393) ([kkarbowiak](https://github.com/kkarbowiak)) -- Improve unit testing \(Part 1\) [\#3380](https://github.com/nlohmann/json/pull/3380) ([falbrechtskirchinger](https://github.com/falbrechtskirchinger)) -- Fix C++20/gcc-12 issues \(Part 1\) [\#3379](https://github.com/nlohmann/json/pull/3379) ([falbrechtskirchinger](https://github.com/falbrechtskirchinger)) -- Add clarification to avoid misunderstanding that cause \#3360 [\#3378](https://github.com/nlohmann/json/pull/3378) ([puffetto](https://github.com/puffetto)) -- Fix ordered\_map ctor with initializer\_list \(fixes \#3343\) [\#3370](https://github.com/nlohmann/json/pull/3370) ([falbrechtskirchinger](https://github.com/falbrechtskirchinger)) -- Fix and update CI [\#3368](https://github.com/nlohmann/json/pull/3368) ([falbrechtskirchinger](https://github.com/falbrechtskirchinger)) -- FetchContent\_MakeAvailable [\#3351](https://github.com/nlohmann/json/pull/3351) ([nlohmann](https://github.com/nlohmann)) -- Avoid clash with Arduino defines [\#3338](https://github.com/nlohmann/json/pull/3338) ([DarkZeros](https://github.com/DarkZeros)) -- Support UBJSON-derived Binary JData \(BJData\) format [\#3336](https://github.com/nlohmann/json/pull/3336) ([fangq](https://github.com/fangq)) -- Make iterator operator++/--\(int\) equality-preserving [\#3332](https://github.com/nlohmann/json/pull/3332) ([falbrechtskirchinger](https://github.com/falbrechtskirchinger)) -- Add note on parsing ordered\_json [\#3326](https://github.com/nlohmann/json/pull/3326) ([nlohmann](https://github.com/nlohmann)) -- Fix CITATION.cff and add automatic validation of your citation metadata [\#3320](https://github.com/nlohmann/json/pull/3320) ([fdiblen](https://github.com/fdiblen)) -- .github/workflows/windows.yml: Add support for Visual Studio 2022 [\#3295](https://github.com/nlohmann/json/pull/3295) ([t-b](https://github.com/t-b)) -- Add maintainer targets to create source archive [\#3289](https://github.com/nlohmann/json/pull/3289) ([nlohmann](https://github.com/nlohmann)) -- Fix a typo [\#3265](https://github.com/nlohmann/json/pull/3265) ([fhuberts](https://github.com/fhuberts)) -- Fix typo [\#3249](https://github.com/nlohmann/json/pull/3249) ([rex4539](https://github.com/rex4539)) -- Add documentation for JSON Lines [\#3247](https://github.com/nlohmann/json/pull/3247) ([nlohmann](https://github.com/nlohmann)) -- Improve documentation InputType and IteratorType [\#3246](https://github.com/nlohmann/json/pull/3246) ([nlohmann](https://github.com/nlohmann)) -- Remove stringstream [\#3244](https://github.com/nlohmann/json/pull/3244) ([nlohmann](https://github.com/nlohmann)) -- fix \_MSC\_VER version to check for std::filesystem [\#3240](https://github.com/nlohmann/json/pull/3240) ([gcerretani](https://github.com/gcerretani)) -- Add macros NLOHMANN\_DEFINE\_TYPE\_INTRUSIVE\_WITH\_DEFAULT and ...\_NON\_INTRUSIVE\_WITH\_DEFAULT [\#3143](https://github.com/nlohmann/json/pull/3143) ([pketelsen](https://github.com/pketelsen)) - -## [v3.10.5](https://github.com/nlohmann/json/releases/tag/v3.10.5) (2022-01-03) - -[Full Changelog](https://github.com/nlohmann/json/compare/v3.10.4...v3.10.5) - -- \#include \<filesystem\> doesn't work with gcc-7 when `-std=c++17` is specified. [\#3203](https://github.com/nlohmann/json/issues/3203) -- Not able to use nlohmann json with c++ code built using emscripten to wasm [\#3200](https://github.com/nlohmann/json/issues/3200) -- Warning for shadowed variables [\#3188](https://github.com/nlohmann/json/issues/3188) -- Accessing missing keys on const json object leads to assert [\#3183](https://github.com/nlohmann/json/issues/3183) -- Data member is available, but null is reported, and program throws error [\#3173](https://github.com/nlohmann/json/issues/3173) -- serialization problem, from\_json need construct new object [\#3169](https://github.com/nlohmann/json/issues/3169) -- std::filesystem unavailable on macOS lower deployment targets [\#3156](https://github.com/nlohmann/json/issues/3156) -- \[json.exception.type\_error.305\] cannot use operator\[\] with a string argument with string [\#3151](https://github.com/nlohmann/json/issues/3151) -- json::dump\(\) is not compatible with C++ standards [\#3147](https://github.com/nlohmann/json/issues/3147) -- Issue with json::parse decoding codepoints [\#3142](https://github.com/nlohmann/json/issues/3142) -- Simple parse of json object thinks it should be an array [\#3136](https://github.com/nlohmann/json/issues/3136) -- How to properly read a Json string that may be null in some cases? [\#3135](https://github.com/nlohmann/json/issues/3135) -- Deadlock on create json - windows only [\#3129](https://github.com/nlohmann/json/issues/3129) -- Wrong parsing of int64 values nearest of limit [\#3126](https://github.com/nlohmann/json/issues/3126) -- ordered\_json doesn't support range based erase [\#3108](https://github.com/nlohmann/json/issues/3108) -- Apple build failed with json/single\_include/nlohmann/json.hpp:4384:57: 'path' is unavailable [\#3097](https://github.com/nlohmann/json/issues/3097) -- GCC 7.5.0 with --std=c++17: filesystem: No such file or directory [\#3090](https://github.com/nlohmann/json/issues/3090) -- Drop Travis CI [\#3087](https://github.com/nlohmann/json/issues/3087) -- ordered\_json::reset\(\) compile error with nvcc [\#3013](https://github.com/nlohmann/json/issues/3013) -- Support for unordered\_map as object\_t [\#2932](https://github.com/nlohmann/json/issues/2932) -- Compiler warning with Intel compiler, same as \#755 [\#2712](https://github.com/nlohmann/json/issues/2712) -- Compiler warnings with NVCC 11.2 [\#2676](https://github.com/nlohmann/json/issues/2676) -- some static analysis warning at line 11317 [\#1390](https://github.com/nlohmann/json/issues/1390) -- Compiling with icpc [\#755](https://github.com/nlohmann/json/issues/755) - -- Fix compilation error with NVCC [\#3234](https://github.com/nlohmann/json/pull/3234) ([nlohmann](https://github.com/nlohmann)) -- Remove Travis CI [\#3233](https://github.com/nlohmann/json/pull/3233) ([nlohmann](https://github.com/nlohmann)) -- Add build step for NVCC and fix a warning [\#3227](https://github.com/nlohmann/json/pull/3227) ([nlohmann](https://github.com/nlohmann)) -- Update cpplint [\#3225](https://github.com/nlohmann/json/pull/3225) ([nlohmann](https://github.com/nlohmann)) -- Fix: Warning for shadowed variables \(\#3188\) [\#3193](https://github.com/nlohmann/json/pull/3193) ([kernie](https://github.com/kernie)) -- Fix FAQ hyperlink typo in readme [\#3148](https://github.com/nlohmann/json/pull/3148) ([Prince-Mendiratta](https://github.com/Prince-Mendiratta)) -- Docs: Update `skip_comments` to `ignore_comments` [\#3145](https://github.com/nlohmann/json/pull/3145) ([daniel-kun](https://github.com/daniel-kun)) -- fix typos in documentation [\#3140](https://github.com/nlohmann/json/pull/3140) ([striezel](https://github.com/striezel)) -- Fix spelling [\#3125](https://github.com/nlohmann/json/pull/3125) ([axic](https://github.com/axic)) -- Extend std specializations [\#3121](https://github.com/nlohmann/json/pull/3121) ([nlohmann](https://github.com/nlohmann)) -- Add missing erase\(first, last\) function to ordered\_map [\#3109](https://github.com/nlohmann/json/pull/3109) ([nlohmann](https://github.com/nlohmann)) -- Fix typos in operator\[\] documentation [\#3102](https://github.com/nlohmann/json/pull/3102) ([axnsan12](https://github.com/axnsan12)) -- Add C++17 copies of the test binaries [\#3101](https://github.com/nlohmann/json/pull/3101) ([nlohmann](https://github.com/nlohmann)) -- Add examples for parsing from iterator pair [\#3100](https://github.com/nlohmann/json/pull/3100) ([nlohmann](https://github.com/nlohmann)) -- Update CI [\#3088](https://github.com/nlohmann/json/pull/3088) ([nlohmann](https://github.com/nlohmann)) -- Consolidate documentation [\#3071](https://github.com/nlohmann/json/pull/3071) ([nlohmann](https://github.com/nlohmann)) -- Add recursive update function [\#3069](https://github.com/nlohmann/json/pull/3069) ([nlohmann](https://github.com/nlohmann)) - -## [v3.10.4](https://github.com/nlohmann/json/releases/tag/v3.10.4) (2021-10-16) - -[Full Changelog](https://github.com/nlohmann/json/compare/v3.10.3...v3.10.4) - -- Compiler error in output serializer due to 'incompatible initializer' [\#3081](https://github.com/nlohmann/json/issues/3081) -- Strange behaviour when using std::sort on std::vector\<json\> [\#3080](https://github.com/nlohmann/json/issues/3080) -- Unhandled exception: nlohmann::detail::parse\_error [\#3078](https://github.com/nlohmann/json/issues/3078) -- explicit constructor with default does not compile [\#3077](https://github.com/nlohmann/json/issues/3077) -- Parse an object but get an array using GCC [\#3076](https://github.com/nlohmann/json/issues/3076) -- Version 3.10.3 breaks backward-compatibility with 3.10.2 [\#3070](https://github.com/nlohmann/json/issues/3070) -- Feature request, Add to\_json/from\_json to align with other to/from binary api. [\#3067](https://github.com/nlohmann/json/issues/3067) -- vcpkg is out of date [\#3066](https://github.com/nlohmann/json/issues/3066) - -- Revert invalid fix [\#3082](https://github.com/nlohmann/json/pull/3082) ([nlohmann](https://github.com/nlohmann)) -- Allow to use get with explicit constructor [\#3079](https://github.com/nlohmann/json/pull/3079) ([nlohmann](https://github.com/nlohmann)) -- fix std::filesystem::path regression [\#3073](https://github.com/nlohmann/json/pull/3073) ([theodelrieu](https://github.com/theodelrieu)) - -## [v3.10.3](https://github.com/nlohmann/json/releases/tag/v3.10.3) (2021-10-08) - -[Full Changelog](https://github.com/nlohmann/json/compare/v3.10.2...v3.10.3) - -- Parsing an emtpy string returns a string with size 1 instead of expected 0 [\#3057](https://github.com/nlohmann/json/issues/3057) -- Linking error "duplicate symbol: std::type\_info::operator==" on static build with MinGW [\#3042](https://github.com/nlohmann/json/issues/3042) -- Yet another assertion failure when inserting into arrays with JSON\_DIAGNOSTICS set [\#3032](https://github.com/nlohmann/json/issues/3032) -- accept and parse function not work well with a pure number string [\#3029](https://github.com/nlohmann/json/issues/3029) -- push\_back doesn't work for serializing containers [\#3027](https://github.com/nlohmann/json/issues/3027) -- Strange behaviour when creating array with single element [\#3025](https://github.com/nlohmann/json/issues/3025) -- Input ordered\_json doesn't work [\#3023](https://github.com/nlohmann/json/issues/3023) -- Issue iterating through 'items' [\#3021](https://github.com/nlohmann/json/issues/3021) -- Cannot spell the namespace right [\#3015](https://github.com/nlohmann/json/issues/3015) -- JSON Parse error when reading json object from file [\#3011](https://github.com/nlohmann/json/issues/3011) -- Parent pointer not properly set when using update\(\) [\#3007](https://github.com/nlohmann/json/issues/3007) -- Overwriting terminated null character [\#3001](https://github.com/nlohmann/json/issues/3001) -- 'operator =' is ambiguous on VS2017 [\#2997](https://github.com/nlohmann/json/issues/2997) -- JSON Patch for Array Elements [\#2994](https://github.com/nlohmann/json/issues/2994) -- JSON Parse throwing error [\#2983](https://github.com/nlohmann/json/issues/2983) -- to\_{binary format} does not provide a mechanism for specifying a custom allocator for the returned type. [\#2982](https://github.com/nlohmann/json/issues/2982) -- 3.10.1 zip json.hpp has version number 3.10.0 instead of 3.10.1 [\#2973](https://github.com/nlohmann/json/issues/2973) -- Assertion failure when serializing array with JSON\_DIAGNOSTICS set [\#2926](https://github.com/nlohmann/json/issues/2926) - -- Fix Clang version [\#3040](https://github.com/nlohmann/json/pull/3040) ([nlohmann](https://github.com/nlohmann)) -- Fix assertion failure for JSON\_DIAGNOSTICS [\#3037](https://github.com/nlohmann/json/pull/3037) ([carlsmedstad](https://github.com/carlsmedstad)) -- meta: fix is\_compatible/constructible traits [\#3020](https://github.com/nlohmann/json/pull/3020) ([theodelrieu](https://github.com/theodelrieu)) -- Set parent pointers for values inserted via update\(\) \(fixes \#3007\). [\#3008](https://github.com/nlohmann/json/pull/3008) ([AnthonyVH](https://github.com/AnthonyVH)) -- Allow allocators for output\_vector\_adapter [\#2989](https://github.com/nlohmann/json/pull/2989) ([nlohmann](https://github.com/nlohmann)) -- Re-add Clang 12 [\#2986](https://github.com/nlohmann/json/pull/2986) ([nlohmann](https://github.com/nlohmann)) -- Use new Docker image [\#2981](https://github.com/nlohmann/json/pull/2981) ([nlohmann](https://github.com/nlohmann)) -- Update docset generation script [\#2967](https://github.com/nlohmann/json/pull/2967) ([nlohmann](https://github.com/nlohmann)) - -## [v3.10.2](https://github.com/nlohmann/json/releases/tag/v3.10.2) (2021-08-26) - -[Full Changelog](https://github.com/nlohmann/json/compare/v3.10.1...v3.10.2) - -- Annoying -Wundef on new JSON\_DIAGNOSTICS macro [\#2975](https://github.com/nlohmann/json/issues/2975) -- += issue with multiple redirection. [\#2970](https://github.com/nlohmann/json/issues/2970) -- "incomplete type ‘nlohmann::detail::wide\_string\_input\_helper" compilation error [\#2969](https://github.com/nlohmann/json/issues/2969) - -- Fix -Wunused warnings on JSON\_DIAGNOSTICS [\#2976](https://github.com/nlohmann/json/pull/2976) ([gcerretani](https://github.com/gcerretani)) - -## [v3.10.1](https://github.com/nlohmann/json/releases/tag/v3.10.1) (2021-08-24) - -[Full Changelog](https://github.com/nlohmann/json/compare/v3.10.0...v3.10.1) - -- JSON\_DIAGNOSTICS assertion for ordered\_json [\#2962](https://github.com/nlohmann/json/issues/2962) -- Inserting in unordered json using a pointer retains the leading slash [\#2958](https://github.com/nlohmann/json/issues/2958) -- Test \#9: test-cbor test case sample.json fails in debug mode - Stack overflow [\#2955](https://github.com/nlohmann/json/issues/2955) -- 3.10.0 broke at least the Bear project [\#2953](https://github.com/nlohmann/json/issues/2953) -- 2 tests fail in 3.10.0: cmake\_fetch\_content\_configure, cmake\_fetch\_content\_build [\#2951](https://github.com/nlohmann/json/issues/2951) -- ctest \(58+60,/67 cmake\_import\_configure\) fails when build with -D JSON\_Install:BOOL=OFF because of missing nlohmann\_jsonTargets.cmake [\#2946](https://github.com/nlohmann/json/issues/2946) -- Document vcpkg usage [\#2944](https://github.com/nlohmann/json/issues/2944) -- Linker error LNK2005 when compiling \(x64\) json-3.10.0.zip with Visual Studio 2019 16.11.1 [\#2941](https://github.com/nlohmann/json/issues/2941) -- Move Travis jobs to travis-ci.com [\#2938](https://github.com/nlohmann/json/issues/2938) - -- Fixed typo in docs/api/basic\_json/parse.md [\#2968](https://github.com/nlohmann/json/pull/2968) ([mbadhan](https://github.com/mbadhan)) -- Add link to Homebrew package [\#2966](https://github.com/nlohmann/json/pull/2966) ([nlohmann](https://github.com/nlohmann)) -- Fix parent update for diagnostics with ordered\_json [\#2963](https://github.com/nlohmann/json/pull/2963) ([nlohmann](https://github.com/nlohmann)) -- Set stack size for some unit tests when using MSVC [\#2961](https://github.com/nlohmann/json/pull/2961) ([nlohmann](https://github.com/nlohmann)) -- Add regression test [\#2960](https://github.com/nlohmann/json/pull/2960) ([nlohmann](https://github.com/nlohmann)) -- Update Travis badge [\#2959](https://github.com/nlohmann/json/pull/2959) ([nlohmann](https://github.com/nlohmann)) -- Fix some extra ";" clang warnings [\#2957](https://github.com/nlohmann/json/pull/2957) ([Hallot](https://github.com/Hallot)) -- Add documentation for integration via vcpkg [\#2954](https://github.com/nlohmann/json/pull/2954) ([nlohmann](https://github.com/nlohmann)) -- Avoid duplicate AppVeyor builds [\#2952](https://github.com/nlohmann/json/pull/2952) ([nlohmann](https://github.com/nlohmann)) -- 🚨 fix gdb\_pretty\_printer failure on basic types [\#2950](https://github.com/nlohmann/json/pull/2950) ([senyai](https://github.com/senyai)) -- Add header to use value\_t [\#2948](https://github.com/nlohmann/json/pull/2948) ([nlohmann](https://github.com/nlohmann)) -- Skip some tests if JSON\_Install is not set [\#2947](https://github.com/nlohmann/json/pull/2947) ([nlohmann](https://github.com/nlohmann)) -- Remove outdated json\_unit test binary [\#2945](https://github.com/nlohmann/json/pull/2945) ([nlohmann](https://github.com/nlohmann)) -- Updating the Homebrew Command [\#2943](https://github.com/nlohmann/json/pull/2943) ([amirmasoudabdol](https://github.com/amirmasoudabdol)) - -## [v3.10.0](https://github.com/nlohmann/json/releases/tag/v3.10.0) (2021-08-17) - -[Full Changelog](https://github.com/nlohmann/json/compare/v3.9.1...v3.10.0) - -- Latest version 3.9.1 uses throw instead of JSON\_THROW in the amalgamated json.hpp file [\#2934](https://github.com/nlohmann/json/issues/2934) -- Copy to a variable inside a Structure [\#2933](https://github.com/nlohmann/json/issues/2933) -- warning C4068: unknown pragma 'GCC' on MSVC/cl [\#2924](https://github.com/nlohmann/json/issues/2924) -- Errors during ninja test [\#2918](https://github.com/nlohmann/json/issues/2918) -- compiler warning: "not return a value" [\#2917](https://github.com/nlohmann/json/issues/2917) -- Comparison floating points causes warning [\#2909](https://github.com/nlohmann/json/issues/2909) -- Why can't I have std::vector\<json&\> testList? [\#2900](https://github.com/nlohmann/json/issues/2900) -- \[json.hpp\] from releases doesnt work [\#2897](https://github.com/nlohmann/json/issues/2897) -- g++ \(11\) -Wuseless-cast gives lots of warnings [\#2893](https://github.com/nlohmann/json/issues/2893) -- Cannot serialize and immediatly deserialize json to/from bson [\#2892](https://github.com/nlohmann/json/issues/2892) -- Floating-point precision conversion error [\#2876](https://github.com/nlohmann/json/issues/2876) -- How to avoid escaping for an already escaped string in .dump\(\) [\#2870](https://github.com/nlohmann/json/issues/2870) -- can't parse std::vector\<std::byte\> [\#2869](https://github.com/nlohmann/json/issues/2869) -- ASAN detects memory leaks [\#2865](https://github.com/nlohmann/json/issues/2865) -- Binary subtype field cannot represent all CBOR tags [\#2863](https://github.com/nlohmann/json/issues/2863) -- string literals possibly being parsed as another type due to the presence of only digits and full-stops [\#2852](https://github.com/nlohmann/json/issues/2852) -- json::parse\(\) works only with absolute paths [\#2851](https://github.com/nlohmann/json/issues/2851) -- Compiler Warnings on Raspberry Pi OS [\#2850](https://github.com/nlohmann/json/issues/2850) -- Braced initialization and aggregate initialization behavior is different for `json::array()` function call. [\#2848](https://github.com/nlohmann/json/issues/2848) -- 3.9.1: test suite is failing [\#2845](https://github.com/nlohmann/json/issues/2845) -- Documentation for macro JSON\_NO\_IO is missing [\#2842](https://github.com/nlohmann/json/issues/2842) -- Assertion failure when inserting into arrays with JSON\_DIAGNOSTICS set [\#2838](https://github.com/nlohmann/json/issues/2838) -- HELP! There is a memory leak in the code?! [\#2837](https://github.com/nlohmann/json/issues/2837) -- Elegant conversion of a 2-D-json array to a standard C++ array [\#2805](https://github.com/nlohmann/json/issues/2805) -- Swift Package Manager support [\#2802](https://github.com/nlohmann/json/issues/2802) -- Referencing a subkey which doesn't exist gives crash [\#2797](https://github.com/nlohmann/json/issues/2797) -- Failed benchmark due to renamed branch [\#2796](https://github.com/nlohmann/json/issues/2796) -- Build Errors with VS 2019 and json Version 3.9.1 when attempting to replicate SAX Example [\#2782](https://github.com/nlohmann/json/issues/2782) -- Value with spaces cannot be parsed [\#2781](https://github.com/nlohmann/json/issues/2781) -- \[Question\] CBOR rfc support. [\#2779](https://github.com/nlohmann/json/issues/2779) -- Using JSON.hpp header file in Visual Studio 2013 \(C++ Project\) [\#2775](https://github.com/nlohmann/json/issues/2775) -- compilation error on clang-8 + C++17 [\#2759](https://github.com/nlohmann/json/issues/2759) -- Undefined symbol EOF [\#2755](https://github.com/nlohmann/json/issues/2755) -- Parsing a string into json object behaves differently under g++ and MinGW compilers. [\#2746](https://github.com/nlohmann/json/issues/2746) -- big git history size [\#2742](https://github.com/nlohmann/json/issues/2742) -- How to get reference of std::vector\<T\> [\#2735](https://github.com/nlohmann/json/issues/2735) -- CMake failure in VS2019 Community [\#2734](https://github.com/nlohmann/json/issues/2734) -- Possibility to use with custom c++ version to use in intel sgx enclaves [\#2730](https://github.com/nlohmann/json/issues/2730) -- Possibility to use without the dependency to file io and streams to use in intel sgx enclaves [\#2728](https://github.com/nlohmann/json/issues/2728) -- error C2784& error C2839... in my visual studio 2015 compiler [\#2726](https://github.com/nlohmann/json/issues/2726) -- `-fno-expection` not respected anymore in 3.9.1 [\#2725](https://github.com/nlohmann/json/issues/2725) -- When exceptions disabled with JSON\_NOEXCEPTION, lib just aborts without any message [\#2724](https://github.com/nlohmann/json/issues/2724) -- Critical error detected c0000374 on windows10 msvc 2019 16.8.5 [\#2710](https://github.com/nlohmann/json/issues/2710) -- unused parameter error/warning [\#2706](https://github.com/nlohmann/json/issues/2706) -- How to store data into a Map from json file [\#2691](https://github.com/nlohmann/json/issues/2691) -- Tests do not compile with pre-release glibc [\#2686](https://github.com/nlohmann/json/issues/2686) -- compile errors .... chromium-style [\#2680](https://github.com/nlohmann/json/issues/2680) -- .dump\(\) not allowing compact form [\#2678](https://github.com/nlohmann/json/issues/2678) -- error: no matching function for call to ‘nlohmann::basic\_json\<\>::value\(int, std::set\<int\>&\)’ [\#2671](https://github.com/nlohmann/json/issues/2671) -- Compiler warning: unused parameter [\#2668](https://github.com/nlohmann/json/issues/2668) -- Deserializing to a struct as shown on the project homepage throws compile time errors [\#2665](https://github.com/nlohmann/json/issues/2665) -- Unable to compile on MSVC 2019 with SDL checking enabled: This function or variable may be unsafe [\#2664](https://github.com/nlohmann/json/issues/2664) -- terminating with uncaught exception of type nlohmann::detail::type\_error: \[json.exception.type\_error.302\] type must be array, but is object [\#2661](https://github.com/nlohmann/json/issues/2661) -- unused-parameter on OSX when Diagnostics is off [\#2658](https://github.com/nlohmann/json/issues/2658) -- std::pair wrong serialization [\#2655](https://github.com/nlohmann/json/issues/2655) -- The result of json is\_number\_integer\(\) function is wrong when read a json file [\#2653](https://github.com/nlohmann/json/issues/2653) -- 2 backslash cause problem [\#2652](https://github.com/nlohmann/json/issues/2652) -- No support for using an external/system copy of Hedley [\#2651](https://github.com/nlohmann/json/issues/2651) -- error: incomplete type 'qfloat16' used in type trait expression [\#2650](https://github.com/nlohmann/json/issues/2650) -- Unused variable in exception class when not using improved diagnostics [\#2646](https://github.com/nlohmann/json/issues/2646) -- I am trying to do this - converting from wstring works incorrectly! [\#2642](https://github.com/nlohmann/json/issues/2642) -- Exception 207 On ARM Processor During Literal String Parsing [\#2634](https://github.com/nlohmann/json/issues/2634) -- double free or corruption \(!prev\) error on Json push\_back and write [\#2632](https://github.com/nlohmann/json/issues/2632) -- nlohmann::detail::parse\_error: syntax error while parsing CBOR string: expected length specification \(0x60-0x7B\) or indefinite string type \(0x7F\) [\#2629](https://github.com/nlohmann/json/issues/2629) -- please allow disabling implicit conversions in non-single-file use [\#2621](https://github.com/nlohmann/json/issues/2621) -- Preserve decimal formatting [\#2618](https://github.com/nlohmann/json/issues/2618) -- Visual Studio Visual Assist code issues reported by VA code inspection of file json.hpp [\#2615](https://github.com/nlohmann/json/issues/2615) -- Missing get function and no viable overloaded '=' on mac [\#2610](https://github.com/nlohmann/json/issues/2610) -- corruption when parse from string [\#2603](https://github.com/nlohmann/json/issues/2603) -- Parse from byte-vector results in compile error [\#2602](https://github.com/nlohmann/json/issues/2602) -- Memory leak when working on ARM Linux [\#2601](https://github.com/nlohmann/json/issues/2601) -- Unhandled exception in test-cbor.exe Stack overflow when debugging project with Visual Studio 2019 16.7.7 compiled with c++17 or c++latest [\#2598](https://github.com/nlohmann/json/issues/2598) -- Error in download\_test\_data.vcxproj when compiling with Visual Studio 2019 16.7.7 Professional msbuild on Windows 10 2004 Professional [\#2594](https://github.com/nlohmann/json/issues/2594) -- Warnings C4715 and C4127 when building json-3.9.1 with Visual Studio 2019 16.7.7 [\#2592](https://github.com/nlohmann/json/issues/2592) -- I tried some change to dump\(\) for \[1,2,3...\] [\#2584](https://github.com/nlohmann/json/issues/2584) -- try/catch block does not catch parsing error [\#2579](https://github.com/nlohmann/json/issues/2579) -- Serializing uint64\_t is broken for large values [\#2578](https://github.com/nlohmann/json/issues/2578) -- deserializing arrays should be part of the library [\#2575](https://github.com/nlohmann/json/issues/2575) -- Deserialization to std::array with non-default constructable types fails [\#2574](https://github.com/nlohmann/json/issues/2574) -- Compilation error when trying to use same type for number\_integer\_t and number\_unsigned\_t in basic\_json template specification. [\#2573](https://github.com/nlohmann/json/issues/2573) -- compiler error: directive output may be truncated writing between 2 and 8 bytes [\#2572](https://github.com/nlohmann/json/issues/2572) -- Incorrect convert map to json when key cannot construct an string i.e. int [\#2564](https://github.com/nlohmann/json/issues/2564) -- no matching function for call to ‘nlohmann::basic\_json\<\>::basic\_json\(\<brace-enclosed initializer list\>\)’ [\#2559](https://github.com/nlohmann/json/issues/2559) -- type\_error factory creates a dangling pointer \(in VisualStudio 2019\) [\#2535](https://github.com/nlohmann/json/issues/2535) -- Cannot assign from ordered\_json vector\<CustomStruct\> to value in not ordered json [\#2528](https://github.com/nlohmann/json/issues/2528) -- Qt6: Break changes [\#2519](https://github.com/nlohmann/json/issues/2519) -- valgrind memcheck Illegal instruction when use nlohmann::json::parse [\#2518](https://github.com/nlohmann/json/issues/2518) -- Buffer overflow [\#2515](https://github.com/nlohmann/json/issues/2515) -- Including CTest in the top-level CMakeLists.txt sets BUILD\_TESTING=ON for parent projects [\#2513](https://github.com/nlohmann/json/issues/2513) -- Compilation error when using NLOHMANN\_JSON\_SERIALIZE\_ENUM ordered\_json on libc++ [\#2491](https://github.com/nlohmann/json/issues/2491) -- Missing "void insert\( InputIt first, InputIt last \);" overload in nlohmann::ordered\_map [\#2490](https://github.com/nlohmann/json/issues/2490) -- Could not find a package configuration file provided by "nlohmann\_json" [\#2482](https://github.com/nlohmann/json/issues/2482) -- json becomes empty for unknown reason [\#2470](https://github.com/nlohmann/json/issues/2470) -- Using std::wstring as StringType fails compiling [\#2459](https://github.com/nlohmann/json/issues/2459) -- Sample code in GIF slide outdated \(cannot use emplace\(\) with array\) [\#2457](https://github.com/nlohmann/json/issues/2457) -- from\_json\<std::wstring\> is treated as an array on latest MSVC [\#2453](https://github.com/nlohmann/json/issues/2453) -- MemorySanitizer: use-of-uninitialized-value [\#2449](https://github.com/nlohmann/json/issues/2449) -- I need help [\#2441](https://github.com/nlohmann/json/issues/2441) -- type conversion failing with clang ext\_vector\_type [\#2436](https://github.com/nlohmann/json/issues/2436) -- json::parse\(\) can't be resolved under specific circumstances [\#2427](https://github.com/nlohmann/json/issues/2427) -- from\_\*\(ptr, len\) deprecation [\#2426](https://github.com/nlohmann/json/issues/2426) -- Error ONLY in release mode [\#2425](https://github.com/nlohmann/json/issues/2425) -- "Custom data source" exemple make no sense [\#2423](https://github.com/nlohmann/json/issues/2423) -- Refuses to compile in project [\#2419](https://github.com/nlohmann/json/issues/2419) -- Compilation failure of tests with C++20 standard \(caused by change of u8 literals\) [\#2413](https://github.com/nlohmann/json/issues/2413) -- No matching function for call to 'input\_adapter' under Xcode of with nlohmann version 3.9.1 [\#2412](https://github.com/nlohmann/json/issues/2412) -- Git tags are not valid semvers [\#2409](https://github.com/nlohmann/json/issues/2409) -- after dump, stderr output disappear [\#2403](https://github.com/nlohmann/json/issues/2403) -- Using custom string. [\#2398](https://github.com/nlohmann/json/issues/2398) -- value\(\) throws unhandled exception for partially specified json object [\#2393](https://github.com/nlohmann/json/issues/2393) -- assertion on runtime causes program to stop when accessing const json with missing key [\#2392](https://github.com/nlohmann/json/issues/2392) -- Usage with -fno-elide-constructors causes dump\(\) output to be array of `null`s [\#2387](https://github.com/nlohmann/json/issues/2387) -- Build fails with clang-cl due to override of CMAKE\_CXX\_COMPILER\(?\) [\#2384](https://github.com/nlohmann/json/issues/2384) -- std::optional not working with primitive types [\#2383](https://github.com/nlohmann/json/issues/2383) -- Unexpected array when initializing a json const& on gcc 4.8.5 using uniform syntax [\#2370](https://github.com/nlohmann/json/issues/2370) -- setprecision support [\#2362](https://github.com/nlohmann/json/issues/2362) -- json::parse\(allow\_exceptions = false\) documentation is misleading. [\#2360](https://github.com/nlohmann/json/issues/2360) -- std::begin and std::end usage without specifying std namespace [\#2359](https://github.com/nlohmann/json/issues/2359) -- Custom object conversion to json hangs in background thread [\#2358](https://github.com/nlohmann/json/issues/2358) -- Add support of nullable fields to NLOHMANN\_DEFINE\_TYPE\_NON\_INTRUSIVE and NLOHMANN\_DEFINE\_TYPE\_INTRUSIVE [\#2356](https://github.com/nlohmann/json/issues/2356) -- the portfile for the vcpkg is not working. [\#2351](https://github.com/nlohmann/json/issues/2351) -- Compiler warns of implicit fallthrough when defining preprocessor macro NDEBUG [\#2348](https://github.com/nlohmann/json/issues/2348) -- Compile error on Intel compiler running in Windows [\#2346](https://github.com/nlohmann/json/issues/2346) -- Build error caused by overwriting CMAKE\_CXX\_COMPILER [\#2343](https://github.com/nlohmann/json/issues/2343) -- Error: an attribute list cannot appear here JSON\_HEDLEY\_DEPRECATED\_FOR [\#2342](https://github.com/nlohmann/json/issues/2342) -- compiler warning [\#2341](https://github.com/nlohmann/json/issues/2341) -- 3.9.0: tests make build non-reproducible [\#2324](https://github.com/nlohmann/json/issues/2324) -- Initialization different between gcc/clang [\#2311](https://github.com/nlohmann/json/issues/2311) -- Attempt to `get()` a numeric value as a type which cannot represent it should throw [\#2310](https://github.com/nlohmann/json/issues/2310) -- Surprising behaviour with overloaded operators [\#2256](https://github.com/nlohmann/json/issues/2256) -- ADL issue in input\_adapter [\#2248](https://github.com/nlohmann/json/issues/2248) -- Output adapters should be templated. [\#2172](https://github.com/nlohmann/json/issues/2172) -- error when using nlohmann::json, std::function and std::bind [\#2147](https://github.com/nlohmann/json/issues/2147) -- Remove undefined behavior for const operator\[\] [\#2111](https://github.com/nlohmann/json/issues/2111) -- json\({}\) gives null instead of empty object with GCC and -std=c++17 [\#2046](https://github.com/nlohmann/json/issues/2046) -- GDB pretty printing support [\#1952](https://github.com/nlohmann/json/issues/1952) -- Always compile tests with all warnings enabled and error out on warnings [\#1798](https://github.com/nlohmann/json/issues/1798) -- Fixes Cppcheck warnings [\#1759](https://github.com/nlohmann/json/issues/1759) -- How to get position info or parser context with custom from\_json\(\) that may throw exceptions? [\#1508](https://github.com/nlohmann/json/issues/1508) -- Suggestion to improve value\(\) accessors with respect to move semantics [\#1275](https://github.com/nlohmann/json/issues/1275) -- Add Key name to Exception [\#932](https://github.com/nlohmann/json/issues/932) - -- Overwork warning flags [\#2936](https://github.com/nlohmann/json/pull/2936) ([nlohmann](https://github.com/nlohmann)) -- Treat MSVC warnings as errors [\#2930](https://github.com/nlohmann/json/pull/2930) ([nlohmann](https://github.com/nlohmann)) -- All: fix warnings when compiling with -Wswitch-enum [\#2927](https://github.com/nlohmann/json/pull/2927) ([fhuberts](https://github.com/fhuberts)) -- Guard GCC pragmas [\#2925](https://github.com/nlohmann/json/pull/2925) ([nlohmann](https://github.com/nlohmann)) -- Supress -Wfloat-equal on intended float comparisions [\#2911](https://github.com/nlohmann/json/pull/2911) ([Finkman](https://github.com/Finkman)) -- Fix binary subtypes [\#2908](https://github.com/nlohmann/json/pull/2908) ([nlohmann](https://github.com/nlohmann)) -- Fix useless-cast warnings [\#2902](https://github.com/nlohmann/json/pull/2902) ([nlohmann](https://github.com/nlohmann)) -- Add regression test [\#2898](https://github.com/nlohmann/json/pull/2898) ([nlohmann](https://github.com/nlohmann)) -- Refactor Unicode tests [\#2889](https://github.com/nlohmann/json/pull/2889) ([nlohmann](https://github.com/nlohmann)) -- CMake cleanup [\#2885](https://github.com/nlohmann/json/pull/2885) ([nlohmann](https://github.com/nlohmann)) -- Avoid string in case of empty CBOR objects [\#2879](https://github.com/nlohmann/json/pull/2879) ([nlohmann](https://github.com/nlohmann)) -- Suppress C4127 warning in unit-json\_pointer.cpp [\#2875](https://github.com/nlohmann/json/pull/2875) ([nlohmann](https://github.com/nlohmann)) -- Fix truncation warning [\#2874](https://github.com/nlohmann/json/pull/2874) ([nlohmann](https://github.com/nlohmann)) -- Fix memory leak in to\_json [\#2872](https://github.com/nlohmann/json/pull/2872) ([nlohmann](https://github.com/nlohmann)) -- Fix assertion failure in diagnostics [\#2866](https://github.com/nlohmann/json/pull/2866) ([nlohmann](https://github.com/nlohmann)) -- Update documentation [\#2861](https://github.com/nlohmann/json/pull/2861) ([nlohmann](https://github.com/nlohmann)) -- Consistency with `using` in README.md [\#2826](https://github.com/nlohmann/json/pull/2826) ([justanotheranonymoususer](https://github.com/justanotheranonymoususer)) -- Properly constrain the basic\_json conversion operator [\#2825](https://github.com/nlohmann/json/pull/2825) ([ldionne](https://github.com/ldionne)) -- Fix CI [\#2817](https://github.com/nlohmann/json/pull/2817) ([nlohmann](https://github.com/nlohmann)) -- Specified git branch for google benchmark fetch in benchmark test [\#2795](https://github.com/nlohmann/json/pull/2795) ([grafail](https://github.com/grafail)) -- Add C++ standards to macOS matrix [\#2790](https://github.com/nlohmann/json/pull/2790) ([nlohmann](https://github.com/nlohmann)) -- Update URLs to HTTPS [\#2789](https://github.com/nlohmann/json/pull/2789) ([TotalCaesar659](https://github.com/TotalCaesar659)) -- Link to Conan Center package added [\#2771](https://github.com/nlohmann/json/pull/2771) ([offa](https://github.com/offa)) -- Keep consistent formatting [\#2770](https://github.com/nlohmann/json/pull/2770) ([jasmcaus](https://github.com/jasmcaus)) -- Add a cmake option to use SYSTEM in target\_include\_directories [\#2762](https://github.com/nlohmann/json/pull/2762) ([jpl-mac](https://github.com/jpl-mac)) -- replace EOF with std::char\_traits\<char\>::eof\(\) [\#2756](https://github.com/nlohmann/json/pull/2756) ([nlohmann](https://github.com/nlohmann)) -- Fix typo in README [\#2754](https://github.com/nlohmann/json/pull/2754) ([mortenfyhn](https://github.com/mortenfyhn)) -- Update documentation [\#2749](https://github.com/nlohmann/json/pull/2749) ([nlohmann](https://github.com/nlohmann)) -- Add documentation for numbers [\#2747](https://github.com/nlohmann/json/pull/2747) ([nlohmann](https://github.com/nlohmann)) -- Use Clang 12 in CI [\#2737](https://github.com/nlohmann/json/pull/2737) ([nlohmann](https://github.com/nlohmann)) -- Fixes \#2730 [\#2731](https://github.com/nlohmann/json/pull/2731) ([theShmoo](https://github.com/theShmoo)) -- Possibility to use without the dependency to file io and streams to use in intel sgx enclaves [\#2729](https://github.com/nlohmann/json/pull/2729) ([theShmoo](https://github.com/theShmoo)) -- Update json.hpp [\#2707](https://github.com/nlohmann/json/pull/2707) ([raduteo](https://github.com/raduteo)) -- pkg-config.pc.in: Don't concatenate paths [\#2690](https://github.com/nlohmann/json/pull/2690) ([doronbehar](https://github.com/doronbehar)) -- add more CI steps [\#2689](https://github.com/nlohmann/json/pull/2689) ([nlohmann](https://github.com/nlohmann)) -- Update doctest from 2.4.4 to 2.4.6 \(fixes \#2686\) [\#2687](https://github.com/nlohmann/json/pull/2687) ([musicinmybrain](https://github.com/musicinmybrain)) -- License fix [\#2683](https://github.com/nlohmann/json/pull/2683) ([nlohmann](https://github.com/nlohmann)) -- Update parse\_exceptions.md - correct `json::exception::parse_error` [\#2679](https://github.com/nlohmann/json/pull/2679) ([frasermarlow](https://github.com/frasermarlow)) -- Remove HEDLEY annotation from exception::what\(\) [\#2673](https://github.com/nlohmann/json/pull/2673) ([remyjette](https://github.com/remyjette)) -- Fix amount of entries in the json object [\#2659](https://github.com/nlohmann/json/pull/2659) ([abbaswasim](https://github.com/abbaswasim)) -- Fix missing 1.78 in example in README.md [\#2625](https://github.com/nlohmann/json/pull/2625) ([wawiesel](https://github.com/wawiesel)) -- Add GDB pretty printer [\#2607](https://github.com/nlohmann/json/pull/2607) ([nlohmann](https://github.com/nlohmann)) -- readme: fix tilde character display [\#2582](https://github.com/nlohmann/json/pull/2582) ([bl-ue](https://github.com/bl-ue)) -- Add support for deserialization of STL containers of non-default constructable types \(fixes \#2574\). [\#2576](https://github.com/nlohmann/json/pull/2576) ([AnthonyVH](https://github.com/AnthonyVH)) -- Better diagnostics [\#2562](https://github.com/nlohmann/json/pull/2562) ([nlohmann](https://github.com/nlohmann)) -- CI targets [\#2561](https://github.com/nlohmann/json/pull/2561) ([nlohmann](https://github.com/nlohmann)) -- Add switch to skip non-reproducible tests. [\#2560](https://github.com/nlohmann/json/pull/2560) ([nlohmann](https://github.com/nlohmann)) -- Fix compilation of input\_adapter\(container\) in edge cases [\#2553](https://github.com/nlohmann/json/pull/2553) ([jasujm](https://github.com/jasujm)) -- Allow parsing from std::byte containers [\#2550](https://github.com/nlohmann/json/pull/2550) ([nlohmann](https://github.com/nlohmann)) -- Travis doesn't run any tests in C++17 mode [\#2540](https://github.com/nlohmann/json/pull/2540) ([karzhenkov](https://github.com/karzhenkov)) -- Doctest is updated to v2.4.3 [\#2538](https://github.com/nlohmann/json/pull/2538) ([YarikTH](https://github.com/YarikTH)) -- Fix warnings [\#2537](https://github.com/nlohmann/json/pull/2537) ([nlohmann](https://github.com/nlohmann)) -- Fix a shadowing warning [\#2536](https://github.com/nlohmann/json/pull/2536) ([nlohmann](https://github.com/nlohmann)) -- Clarify license of is\_complete\_type implementation [\#2534](https://github.com/nlohmann/json/pull/2534) ([nlohmann](https://github.com/nlohmann)) -- Do not unconditionally redefine C++14 constructs [\#2533](https://github.com/nlohmann/json/pull/2533) ([nlohmann](https://github.com/nlohmann)) -- Doctest is updated to v2.4.1 [\#2525](https://github.com/nlohmann/json/pull/2525) ([YarikTH](https://github.com/YarikTH)) -- Add MAIN\_PROJECT check for test and install options [\#2514](https://github.com/nlohmann/json/pull/2514) ([globberwops](https://github.com/globberwops)) -- Ranged insert test section is added in unit-ordered\_json.cpp [\#2512](https://github.com/nlohmann/json/pull/2512) ([YarikTH](https://github.com/YarikTH)) -- Add asserts to suppress C28020 [\#2447](https://github.com/nlohmann/json/pull/2447) ([jbzdarkid](https://github.com/jbzdarkid)) -- Change argument name "subtype" in byte\_container\_with\_subtype [\#2444](https://github.com/nlohmann/json/pull/2444) ([linev](https://github.com/linev)) -- 📝 add CPM.Cmake example [\#2406](https://github.com/nlohmann/json/pull/2406) ([leozz37](https://github.com/leozz37)) -- Fix move constructor of json\_ref [\#2405](https://github.com/nlohmann/json/pull/2405) ([karzhenkov](https://github.com/karzhenkov)) -- Properly select "Release" build for Travis [\#2375](https://github.com/nlohmann/json/pull/2375) ([karzhenkov](https://github.com/karzhenkov)) -- Update Hedley [\#2367](https://github.com/nlohmann/json/pull/2367) ([nlohmann](https://github.com/nlohmann)) -- Fix and extend documentation of discarded values [\#2363](https://github.com/nlohmann/json/pull/2363) ([nlohmann](https://github.com/nlohmann)) -- Fix typos in documentation [\#2354](https://github.com/nlohmann/json/pull/2354) ([rbuch](https://github.com/rbuch)) -- Remove "\#define private public" from tests [\#2352](https://github.com/nlohmann/json/pull/2352) ([nlohmann](https://github.com/nlohmann)) -- Remove -Wimplicit-fallthrough warning [\#2349](https://github.com/nlohmann/json/pull/2349) ([nlohmann](https://github.com/nlohmann)) -- Fix code to work without exceptions [\#2347](https://github.com/nlohmann/json/pull/2347) ([nlohmann](https://github.com/nlohmann)) -- fix cmake script overwriting compiler path [\#2344](https://github.com/nlohmann/json/pull/2344) ([ongjunjie](https://github.com/ongjunjie)) - -## [v3.9.1](https://github.com/nlohmann/json/releases/tag/v3.9.1) (2020-08-06) - -[Full Changelog](https://github.com/nlohmann/json/compare/v3.9.0...v3.9.1) - -- Can't parse not formatted JSON. [\#2340](https://github.com/nlohmann/json/issues/2340) -- parse returns desired array contained in array when JSON text begins with square bracket on gcc 7.5.0 [\#2339](https://github.com/nlohmann/json/issues/2339) -- Unexpected deserialization difference between Mac and Linux [\#2338](https://github.com/nlohmann/json/issues/2338) -- Reading ordered\_json from file causes compile error [\#2331](https://github.com/nlohmann/json/issues/2331) -- ignore\_comment=true fails on multiple consecutive lines starting with comments [\#2330](https://github.com/nlohmann/json/issues/2330) -- Update documentation about Homebrew installation and CMake integration - Homebrew [\#2326](https://github.com/nlohmann/json/issues/2326) -- Chinese character initialize error [\#2325](https://github.com/nlohmann/json/issues/2325) -- json.update and vector\<pair\>does not work with ordered\_json [\#2315](https://github.com/nlohmann/json/issues/2315) -- Ambiguous call to overloaded function [\#2210](https://github.com/nlohmann/json/issues/2210) - -- Fix fallthrough warning [\#2333](https://github.com/nlohmann/json/pull/2333) ([nlohmann](https://github.com/nlohmann)) -- Fix lexer to properly cope with repeated comments [\#2332](https://github.com/nlohmann/json/pull/2332) ([nlohmann](https://github.com/nlohmann)) -- Fix name of Homebrew formula in documentation [\#2327](https://github.com/nlohmann/json/pull/2327) ([nlohmann](https://github.com/nlohmann)) -- fix typo [\#2320](https://github.com/nlohmann/json/pull/2320) ([wx257osn2](https://github.com/wx257osn2)) -- Fix a bug due to missing overloads in ordered\_map container [\#2319](https://github.com/nlohmann/json/pull/2319) ([nlohmann](https://github.com/nlohmann)) -- cmake: install pkg-config file relative to current\_binary\_dir [\#2318](https://github.com/nlohmann/json/pull/2318) ([eli-schwartz](https://github.com/eli-schwartz)) -- Fixed installation of pkg-config file on other than Ubuntu [\#2314](https://github.com/nlohmann/json/pull/2314) ([xvitaly](https://github.com/xvitaly)) - -## [v3.9.0](https://github.com/nlohmann/json/releases/tag/v3.9.0) (2020-07-27) - -[Full Changelog](https://github.com/nlohmann/json/compare/v3.8.0...v3.9.0) - -- Unknown Type Name clang error when using NLOHMANN\_DEFINE\_TYPE\_NON\_INTRUSIVE [\#2313](https://github.com/nlohmann/json/issues/2313) -- Clang 10.0 / GCC 10.1 warnings on disabled exceptions [\#2304](https://github.com/nlohmann/json/issues/2304) -- Application stalls indefinitely with message byte size 10 [\#2293](https://github.com/nlohmann/json/issues/2293) -- linker error [\#2292](https://github.com/nlohmann/json/issues/2292) -- Add support for high-precision numbers in UBJSON encoding [\#2286](https://github.com/nlohmann/json/issues/2286) -- NLOHMANN\_DEFINE\_TYPE\_NON\_INTRUSIVE fails if the length of the argument is 10 [\#2280](https://github.com/nlohmann/json/issues/2280) -- Custom types : MACRO expansion bug [\#2267](https://github.com/nlohmann/json/issues/2267) -- to/from\_json Failing To Convert String [\#2238](https://github.com/nlohmann/json/issues/2238) -- clang 9.0 report warning: unused type alias 'size\_type' \[-Wunused-local-typedef\] [\#2221](https://github.com/nlohmann/json/issues/2221) -- Enormous array created when working with map\<int,T\> [\#2220](https://github.com/nlohmann/json/issues/2220) -- Can I disable sorting of json values [\#2219](https://github.com/nlohmann/json/issues/2219) -- Getting Qt types to work [\#2217](https://github.com/nlohmann/json/issues/2217) -- Convert to Qt QVariant [\#2216](https://github.com/nlohmann/json/issues/2216) -- How to custom serialize same data type of vector? [\#2215](https://github.com/nlohmann/json/issues/2215) -- json constructor does not support std::optional [\#2214](https://github.com/nlohmann/json/issues/2214) -- Failing to Parse Valid JSON [\#2209](https://github.com/nlohmann/json/issues/2209) -- \(De-\)Serialization of std::variant with namespaces [\#2208](https://github.com/nlohmann/json/issues/2208) -- Addint support for complex type [\#2207](https://github.com/nlohmann/json/issues/2207) -- array\_index possible out of range [\#2205](https://github.com/nlohmann/json/issues/2205) -- Object deserialized as array [\#2204](https://github.com/nlohmann/json/issues/2204) -- Sending to a function a reference to a sub-branch [\#2200](https://github.com/nlohmann/json/issues/2200) -- JSON incorrectly serialized [\#2198](https://github.com/nlohmann/json/issues/2198) -- Exception Unhandled out\_of\_range error [\#2197](https://github.com/nlohmann/json/issues/2197) -- msgpack serialisation : float is treated as 64bit float, not 32bit float. [\#2196](https://github.com/nlohmann/json/issues/2196) -- Is it possible to use compile-time type guarantees for JSON structures? [\#2195](https://github.com/nlohmann/json/issues/2195) -- Question : performance against python dict [\#2194](https://github.com/nlohmann/json/issues/2194) -- vs2017 compile error [\#2192](https://github.com/nlohmann/json/issues/2192) -- Check if a key exists [\#2191](https://github.com/nlohmann/json/issues/2191) -- Failed to run tests due to missing test data on builders without Internet access [\#2190](https://github.com/nlohmann/json/issues/2190) -- 3.8.0: unit-cbor.cpp test failures [\#2189](https://github.com/nlohmann/json/issues/2189) -- 'nlohmann/json.hpp' file not found [\#2188](https://github.com/nlohmann/json/issues/2188) -- How to send json data over the wire? [\#2185](https://github.com/nlohmann/json/issues/2185) -- Ubuntu 16 not supporting nlohmann/json? [\#2184](https://github.com/nlohmann/json/issues/2184) -- .get\<std::string\> causing emdash errors [\#2180](https://github.com/nlohmann/json/issues/2180) -- Object properties should not be re-sorted alphabetically [\#2179](https://github.com/nlohmann/json/issues/2179) -- Custom type registration : instrusive API [\#2175](https://github.com/nlohmann/json/issues/2175) -- Many version of the function "void to\_json\(json& j, const MyStruct& struct\)" [\#2171](https://github.com/nlohmann/json/issues/2171) -- How should strings be escaped? [\#2155](https://github.com/nlohmann/json/issues/2155) -- Adding a value to an existing json puts it at the beginning instead of the end [\#2149](https://github.com/nlohmann/json/issues/2149) -- The header file is big, can we use what we need. [\#2134](https://github.com/nlohmann/json/issues/2134) -- Changing the default format for unordered\_map \(or other set\) [\#2132](https://github.com/nlohmann/json/issues/2132) -- Getting size of deserialized bson document [\#2131](https://github.com/nlohmann/json/issues/2131) -- implicit conversion failure [\#2128](https://github.com/nlohmann/json/issues/2128) -- Error thrown when parsing in a subclass [\#2124](https://github.com/nlohmann/json/issues/2124) -- explicit conversion to string not considered for std::map keys in GCC8 [\#2096](https://github.com/nlohmann/json/issues/2096) -- Add support for JSONC [\#2061](https://github.com/nlohmann/json/issues/2061) -- Library provides template arg for string\_type but assumes std::string in some places [\#2059](https://github.com/nlohmann/json/issues/2059) -- incremental parsing with sax\_parser [\#2030](https://github.com/nlohmann/json/issues/2030) -- Question about flatten and unflatten [\#1989](https://github.com/nlohmann/json/issues/1989) -- CBOR parser doesn't skip tags [\#1968](https://github.com/nlohmann/json/issues/1968) -- Compilation failure using Clang on Windows [\#1898](https://github.com/nlohmann/json/issues/1898) -- Fail to build when including json.hpp as a system include [\#1818](https://github.com/nlohmann/json/issues/1818) -- Parsing string into json doesn't preserve the order correctly. [\#1817](https://github.com/nlohmann/json/issues/1817) -- How can I save json object in file in order? [\#1717](https://github.com/nlohmann/json/issues/1717) -- Support for Comments [\#1513](https://github.com/nlohmann/json/issues/1513) -- clang compiler: error : unknown type name 'not' [\#1119](https://github.com/nlohmann/json/issues/1119) -- dump\(\) without alphabetical order [\#1106](https://github.com/nlohmann/json/issues/1106) -- operator T\(\) considered harmful [\#958](https://github.com/nlohmann/json/issues/958) -- Order of the elements in JSON object [\#952](https://github.com/nlohmann/json/issues/952) -- How to prevent alphabetical sorting of data? [\#727](https://github.com/nlohmann/json/issues/727) -- Why is an object ordering values by Alphabetical Order? [\#660](https://github.com/nlohmann/json/issues/660) -- Feature request: Comments [\#597](https://github.com/nlohmann/json/issues/597) -- Head Elements Sorting [\#543](https://github.com/nlohmann/json/issues/543) -- Automatic ordered JSON [\#424](https://github.com/nlohmann/json/issues/424) -- Support for comments. [\#376](https://github.com/nlohmann/json/issues/376) -- Optional comment support. [\#363](https://github.com/nlohmann/json/issues/363) -- Strip comments / Minify [\#294](https://github.com/nlohmann/json/issues/294) -- maintaining order of keys during iteration [\#106](https://github.com/nlohmann/json/issues/106) - -- Update documentation [\#2312](https://github.com/nlohmann/json/pull/2312) ([nlohmann](https://github.com/nlohmann)) -- Fix bug in CBOR tag handling [\#2308](https://github.com/nlohmann/json/pull/2308) ([nlohmann](https://github.com/nlohmann)) -- added inline to NLOHMANN\_DEFINE\_TYPE\_NON\_INTRUSIVE macro [\#2306](https://github.com/nlohmann/json/pull/2306) ([jwittbrodt](https://github.com/jwittbrodt)) -- fixes unused variable 'ex' for \#2304 [\#2305](https://github.com/nlohmann/json/pull/2305) ([AODQ](https://github.com/AODQ)) -- Cleanup [\#2303](https://github.com/nlohmann/json/pull/2303) ([nlohmann](https://github.com/nlohmann)) -- Add test with multiple translation units [\#2301](https://github.com/nlohmann/json/pull/2301) ([nlohmann](https://github.com/nlohmann)) -- Merge GitHub actions [\#2300](https://github.com/nlohmann/json/pull/2300) ([nlohmann](https://github.com/nlohmann)) -- Fix unused parameter [\#2299](https://github.com/nlohmann/json/pull/2299) ([nlohmann](https://github.com/nlohmann)) -- Add support for high-precision numbers in UBJSON encoding [\#2297](https://github.com/nlohmann/json/pull/2297) ([nlohmann](https://github.com/nlohmann)) -- fix eof for get\_binary and get\_string [\#2294](https://github.com/nlohmann/json/pull/2294) ([jprochazk](https://github.com/jprochazk)) -- Serialisation macros: increase upper bound on number of member variables [\#2287](https://github.com/nlohmann/json/pull/2287) ([pfeatherstone](https://github.com/pfeatherstone)) -- add inline specifier for detail::combine [\#2285](https://github.com/nlohmann/json/pull/2285) ([T0b1-iOS](https://github.com/T0b1-iOS)) -- Add static assertion for missing binary function in SAX interface [\#2282](https://github.com/nlohmann/json/pull/2282) ([nlohmann](https://github.com/nlohmann)) -- Add test for target\_include\_directories [\#2279](https://github.com/nlohmann/json/pull/2279) ([nlohmann](https://github.com/nlohmann)) -- Clean up maintainer Makefiles and fix some linter warnings [\#2274](https://github.com/nlohmann/json/pull/2274) ([nlohmann](https://github.com/nlohmann)) -- Add option to ignore CBOR tags [\#2273](https://github.com/nlohmann/json/pull/2273) ([nlohmann](https://github.com/nlohmann)) -- Hash function without allocation [\#2269](https://github.com/nlohmann/json/pull/2269) ([nlohmann](https://github.com/nlohmann)) -- Add ClangCL for MSVC [\#2268](https://github.com/nlohmann/json/pull/2268) ([t-b](https://github.com/t-b)) -- Makefile: Always use SED variable [\#2264](https://github.com/nlohmann/json/pull/2264) ([t-b](https://github.com/t-b)) -- Add Xcode 12 CI [\#2262](https://github.com/nlohmann/json/pull/2262) ([nlohmann](https://github.com/nlohmann)) -- Make library work with Clang on Windows [\#2259](https://github.com/nlohmann/json/pull/2259) ([nlohmann](https://github.com/nlohmann)) -- Add ordered\_json specialization with ordered object keys [\#2258](https://github.com/nlohmann/json/pull/2258) ([nlohmann](https://github.com/nlohmann)) -- Add pkg-config file [\#2253](https://github.com/nlohmann/json/pull/2253) ([ericonr](https://github.com/ericonr)) -- Fix regression from \#2181 [\#2251](https://github.com/nlohmann/json/pull/2251) ([nlohmann](https://github.com/nlohmann)) -- Tag binary values in cbor if set [\#2244](https://github.com/nlohmann/json/pull/2244) ([matthewbauer](https://github.com/matthewbauer)) -- Make assert configurable via JSON\_ASSERT [\#2242](https://github.com/nlohmann/json/pull/2242) ([nlohmann](https://github.com/nlohmann)) -- Add specialization of get\_to [\#2233](https://github.com/nlohmann/json/pull/2233) ([nlohmann](https://github.com/nlohmann)) -- Refine documentation of error\_handler parameter [\#2232](https://github.com/nlohmann/json/pull/2232) ([nlohmann](https://github.com/nlohmann)) -- Simplify conversion from/to custom types [\#2225](https://github.com/nlohmann/json/pull/2225) ([nlohmann](https://github.com/nlohmann)) -- Remove unused typedefs [\#2224](https://github.com/nlohmann/json/pull/2224) ([nlohmann](https://github.com/nlohmann)) -- Enable CMake policy CMP0077 [\#2222](https://github.com/nlohmann/json/pull/2222) ([alexreinking](https://github.com/alexreinking)) -- Add option to ignore comments in parse/accept functions [\#2212](https://github.com/nlohmann/json/pull/2212) ([nlohmann](https://github.com/nlohmann)) -- Fix Clang-Tidy warnings [\#2211](https://github.com/nlohmann/json/pull/2211) ([nlohmann](https://github.com/nlohmann)) -- Simple ordered\_json that works on all supported compilers [\#2206](https://github.com/nlohmann/json/pull/2206) ([gatopeich](https://github.com/gatopeich)) -- Use unsigned indizies for array index in json pointer [\#2203](https://github.com/nlohmann/json/pull/2203) ([t-b](https://github.com/t-b)) -- Add option to not rely on Internet connectivity during test stage [\#2202](https://github.com/nlohmann/json/pull/2202) ([nlohmann](https://github.com/nlohmann)) -- Serialize floating-point numbers with 32 bit when possible \(MessagePack\) [\#2201](https://github.com/nlohmann/json/pull/2201) ([nlohmann](https://github.com/nlohmann)) -- Fix consistency in function `int_to_string()` [\#2193](https://github.com/nlohmann/json/pull/2193) ([dota17](https://github.com/dota17)) -- Fix issue\#1275 [\#2181](https://github.com/nlohmann/json/pull/2181) ([dota17](https://github.com/dota17)) -- C++20 support by removing swap specialization [\#2176](https://github.com/nlohmann/json/pull/2176) ([gracicot](https://github.com/gracicot)) -- Feat/explicit conversion operator [\#1559](https://github.com/nlohmann/json/pull/1559) ([theodelrieu](https://github.com/theodelrieu)) - -## [v3.8.0](https://github.com/nlohmann/json/releases/tag/v3.8.0) (2020-06-14) - -[Full Changelog](https://github.com/nlohmann/json/compare/v3.7.3...v3.8.0) - -- sorry delete this issue, i'm stupid [\#2187](https://github.com/nlohmann/json/issues/2187) -- Append to a std::nlohmann::json type [\#2186](https://github.com/nlohmann/json/issues/2186) -- Some troubles to compile the last revision [\#2177](https://github.com/nlohmann/json/issues/2177) -- \# Top level CMakeLists.txt -project\(FOO\) -... -option\(FOO\_USE\_EXTERNAL\_JSON "Use an external JSON library" OFF\) -... -add\_subdirectory\(thirdparty\) -... -add\_library\(foo ...\) -... -\# Note that the namespaced target will always be available regardless of the -\# import method -target\_link\_libraries\(foo PRIVATE nlohmann\_json::nlohmann\_json\) [\#2170](https://github.com/nlohmann/json/issues/2170) -- https://www.github.com/nlohmann/json/tree/develop/include%2Fnlohmann%2Fjson\_fwd.hpp [\#2169](https://github.com/nlohmann/json/issues/2169) -- templated from\_json of non primitive types causes gcc error [\#2168](https://github.com/nlohmann/json/issues/2168) -- few warnings/errors in copy assignment [\#2167](https://github.com/nlohmann/json/issues/2167) -- Different output when upgrading from clang 9 to clang 10 [\#2166](https://github.com/nlohmann/json/issues/2166) -- Cannot build with VS 2019 / C++17 [\#2163](https://github.com/nlohmann/json/issues/2163) -- Q: When I received an illegal string,How the program knows? [\#2162](https://github.com/nlohmann/json/issues/2162) -- Problem while reading a json file [\#2161](https://github.com/nlohmann/json/issues/2161) -- converting std::chrono::system\_clock::time\_point to json. [\#2159](https://github.com/nlohmann/json/issues/2159) -- how to parse vector\<struct\> format [\#2157](https://github.com/nlohmann/json/issues/2157) -- nlohmann::json and =nullptr [\#2156](https://github.com/nlohmann/json/issues/2156) -- test-cbor fails [\#2154](https://github.com/nlohmann/json/issues/2154) -- Accessing array inside array syntax? [\#2151](https://github.com/nlohmann/json/issues/2151) -- Best way to catch errors when querying json [\#2150](https://github.com/nlohmann/json/issues/2150) -- JSON Data Mapping Key-Value from other Key-Value [\#2148](https://github.com/nlohmann/json/issues/2148) -- Conflicts with std \<any\> compiling with GCC 10 [\#2146](https://github.com/nlohmann/json/issues/2146) -- Incorrect CMake FetchContent example [\#2142](https://github.com/nlohmann/json/issues/2142) -- Help for a Beginner? [\#2141](https://github.com/nlohmann/json/issues/2141) -- Read Json from File [\#2139](https://github.com/nlohmann/json/issues/2139) -- How to feed a predefined integer value into json string [\#2138](https://github.com/nlohmann/json/issues/2138) -- getting json array inside json object [\#2135](https://github.com/nlohmann/json/issues/2135) -- Add .contains example to doc [\#2133](https://github.com/nlohmann/json/issues/2133) -- Is it safe to return string.c\_str\(\) received from get\(\)? [\#2130](https://github.com/nlohmann/json/issues/2130) -- GCC 10: Compilation error when including any before including json header in C++17 mode [\#2129](https://github.com/nlohmann/json/issues/2129) -- Intersection of two json files [\#2127](https://github.com/nlohmann/json/issues/2127) -- App crashes when dump method called for non ascii chars. [\#2126](https://github.com/nlohmann/json/issues/2126) -- iterator based erase method [\#2122](https://github.com/nlohmann/json/issues/2122) -- quick and convenient api to get/set nested json values [\#2120](https://github.com/nlohmann/json/issues/2120) -- assigning nullptr to std::string [\#2118](https://github.com/nlohmann/json/issues/2118) -- usless\_cast warnings with gcc 9.3 and 10.1 \(C++17\) [\#2114](https://github.com/nlohmann/json/issues/2114) -- clang 10 warning [\#2113](https://github.com/nlohmann/json/issues/2113) -- Possible incorrect \_MSC\_VER reference [\#2112](https://github.com/nlohmann/json/issues/2112) -- warning under gcc 10.1 [\#2110](https://github.com/nlohmann/json/issues/2110) -- Wdeprecated-declarations from GCC v10.1.0 [\#2109](https://github.com/nlohmann/json/issues/2109) -- Global std::vector from json [\#2108](https://github.com/nlohmann/json/issues/2108) -- heap-buffer-overflow when using nlohmann/json, ASAN, and gtest [\#2107](https://github.com/nlohmann/json/issues/2107) -- exception 0x770DC5AF when i read an special char in json file [\#2106](https://github.com/nlohmann/json/issues/2106) -- json::parse\(\) fails to parse a dump\(2,' '\) output, yet does successfully parse dump\(\) [\#2105](https://github.com/nlohmann/json/issues/2105) -- run test-udt error in MSVC 19.16.27034.0 [\#2103](https://github.com/nlohmann/json/issues/2103) -- Unable to dump to stringstream [\#2102](https://github.com/nlohmann/json/issues/2102) -- Can't ad an object in another objet [\#2101](https://github.com/nlohmann/json/issues/2101) -- Implicit conversion causes "cannot use operator\[\] with a string argument with string" [\#2098](https://github.com/nlohmann/json/issues/2098) -- C++20: char8\_t [\#2097](https://github.com/nlohmann/json/issues/2097) -- Compilation issues when included in project [\#2094](https://github.com/nlohmann/json/issues/2094) -- string value with null character causes infinite loop [\#2093](https://github.com/nlohmann/json/issues/2093) -- corrupted size vs. prev\_size \(aborted\) [\#2092](https://github.com/nlohmann/json/issues/2092) -- Get string field content without return std::string copy [\#2091](https://github.com/nlohmann/json/issues/2091) -- JSON Comments \(JSON 5\) [\#2090](https://github.com/nlohmann/json/issues/2090) -- Remove \#include \<ciso646\> [\#2089](https://github.com/nlohmann/json/issues/2089) -- JSON library as a git submodule [\#2088](https://github.com/nlohmann/json/issues/2088) -- Apple Clang 11.0.3 on MacOS Catalina 10.15.4 not compiling [\#2087](https://github.com/nlohmann/json/issues/2087) -- Value function return empty object even if it exist [\#2086](https://github.com/nlohmann/json/issues/2086) -- Cannot debug but Run works [\#2085](https://github.com/nlohmann/json/issues/2085) -- Question about serialization. [\#2084](https://github.com/nlohmann/json/issues/2084) -- How to include in an external project [\#2083](https://github.com/nlohmann/json/issues/2083) -- Missing tests for binary values [\#2082](https://github.com/nlohmann/json/issues/2082) -- How to override default string serialization? [\#2079](https://github.com/nlohmann/json/issues/2079) -- Can't have a json type as a property in an arbitrary type [\#2078](https://github.com/nlohmann/json/issues/2078) -- New release? [\#2075](https://github.com/nlohmann/json/issues/2075) -- CMake FetchContent \> Updating the documentation? [\#2073](https://github.com/nlohmann/json/issues/2073) -- How to convert STL Vector \(of user defined type\) to Json [\#2072](https://github.com/nlohmann/json/issues/2072) -- how to make an array of objects [\#2070](https://github.com/nlohmann/json/issues/2070) -- ‘\_\_int64’ was not declared [\#2068](https://github.com/nlohmann/json/issues/2068) -- \[json.exception.type\_error.317\] cannot serialize binary data to text JSON [\#2067](https://github.com/nlohmann/json/issues/2067) -- Unexpected end of input; expected '\[', '{', or a literal [\#2066](https://github.com/nlohmann/json/issues/2066) -- Json structure can be nested? [\#2065](https://github.com/nlohmann/json/issues/2065) -- Bug: returning reference to local temporary object [\#2064](https://github.com/nlohmann/json/issues/2064) -- Allow to use non strict parsing [\#2063](https://github.com/nlohmann/json/issues/2063) -- Crashing on json::at [\#2062](https://github.com/nlohmann/json/issues/2062) -- How to convert a const std::vector\<char8\_t\> message to a json, to be able to parse it and extract information from it? Can you point to any examples? [\#2058](https://github.com/nlohmann/json/issues/2058) -- Nice library [\#2057](https://github.com/nlohmann/json/issues/2057) -- json.hpp:15372:22: error: expected unqualified-id if \(not std::isfinite\(x\)\): Started getting this bug after updating my XCode [\#2056](https://github.com/nlohmann/json/issues/2056) -- Confused as how I can extract the values from the JSON object. [\#2055](https://github.com/nlohmann/json/issues/2055) -- Warnings with GCC 10 [\#2052](https://github.com/nlohmann/json/issues/2052) -- Warnings with Clang 10 [\#2049](https://github.com/nlohmann/json/issues/2049) -- Update doctest [\#2048](https://github.com/nlohmann/json/issues/2048) -- Unclear error message: "cannot use operator\[\] with a string argument with array" [\#2047](https://github.com/nlohmann/json/issues/2047) -- Serializing std::variant\<T, std::vector\<T\>\> [\#2045](https://github.com/nlohmann/json/issues/2045) -- Crash when parse big jsonfile [\#2042](https://github.com/nlohmann/json/issues/2042) -- How to check if a key exists without silently generating null objects on the path [\#2041](https://github.com/nlohmann/json/issues/2041) -- Crash when traversing over items\(\) of temporary json objects [\#2040](https://github.com/nlohmann/json/issues/2040) -- How to parse multiple line value ? [\#2039](https://github.com/nlohmann/json/issues/2039) -- SAX API uses unsigned std::size\_t but -1 if element size is not known; [\#2037](https://github.com/nlohmann/json/issues/2037) -- How to parse big decimal data [\#2036](https://github.com/nlohmann/json/issues/2036) -- how use template \<typename T\> struct adl\_serializer [\#2035](https://github.com/nlohmann/json/issues/2035) -- auto iterator returned by find to handle value depending if is string or numeric. [\#2032](https://github.com/nlohmann/json/issues/2032) -- pass find returned iterator to numeric variable. [\#2031](https://github.com/nlohmann/json/issues/2031) -- Parse error on valid json file [\#2029](https://github.com/nlohmann/json/issues/2029) -- Is here any elegant way to combine serialization and deserialization code? [\#2028](https://github.com/nlohmann/json/issues/2028) -- Notes about dump function [\#2027](https://github.com/nlohmann/json/issues/2027) -- Different JSON printouts for empty dictionary on Linux and Mac. [\#2026](https://github.com/nlohmann/json/issues/2026) -- easier way to get exception reason out of json\_sax\_dom\_callback\_parser without exceptions [\#2024](https://github.com/nlohmann/json/issues/2024) -- Using fifo\_map with base class and derived class [\#2023](https://github.com/nlohmann/json/issues/2023) -- Error reading JSON File [\#2022](https://github.com/nlohmann/json/issues/2022) -- Parse causing crash on android. Cannot catch. [\#2021](https://github.com/nlohmann/json/issues/2021) -- Extra backslashes in nested json [\#2020](https://github.com/nlohmann/json/issues/2020) -- How to create patch for merge\_patch input ? [\#2018](https://github.com/nlohmann/json/issues/2018) -- CppUTest/include/CppUTestExt/MockSupport.h:40: error: default argument for ‘MockFailureReporter\* failureReporterForThisCall’ has type ‘void\*’ [\#2017](https://github.com/nlohmann/json/issues/2017) -- including another file [\#2016](https://github.com/nlohmann/json/issues/2016) -- GNU PREREQ Error with gcc 9.3.0 [\#2015](https://github.com/nlohmann/json/issues/2015) -- Parse error: json.exception.parse\_error.101 - invalid string: ill-formed UTF-8 byte [\#2014](https://github.com/nlohmann/json/issues/2014) -- Add more flexibility to basic\_json's ObjectType \(and ArrayType\) [\#2013](https://github.com/nlohmann/json/issues/2013) -- afl persistent mode [\#2012](https://github.com/nlohmann/json/issues/2012) -- Compiler Errors under VS2019 in Appveyor CI [\#2009](https://github.com/nlohmann/json/issues/2009) -- Another compilation failure with Visual Studio [\#2007](https://github.com/nlohmann/json/issues/2007) -- Implicit cast to std::string broken again with VS2019 16.5.0 [\#2006](https://github.com/nlohmann/json/issues/2006) -- error: no matching member function for call to 'AddRaw' [\#2005](https://github.com/nlohmann/json/issues/2005) -- When I re-create an object again after the network request, an error is reported [\#2003](https://github.com/nlohmann/json/issues/2003) -- How to merge \(and not replace\) different Json::Value objects in jsoncpp [\#2001](https://github.com/nlohmann/json/issues/2001) -- scalar transforms to list [\#2000](https://github.com/nlohmann/json/issues/2000) -- Dump JSON containing multibyte characters [\#1999](https://github.com/nlohmann/json/issues/1999) -- Build error when modify value [\#1998](https://github.com/nlohmann/json/issues/1998) -- How do i include a vector of pointers in my json? [\#1997](https://github.com/nlohmann/json/issues/1997) -- Compiler error wrt incomplete types changed in gcc8.3.0-26 [\#1996](https://github.com/nlohmann/json/issues/1996) -- NaN-like comparison behavior of discarded is inconvenient [\#1988](https://github.com/nlohmann/json/issues/1988) -- Maintaining JSON package in my CMake [\#1987](https://github.com/nlohmann/json/issues/1987) -- reading int number and string number [\#1986](https://github.com/nlohmann/json/issues/1986) -- Build error: keyword is hidden by macro definition! [\#1985](https://github.com/nlohmann/json/issues/1985) -- JSON patch diff for op=add formation is not as per standard \(RFC 6902\) [\#1983](https://github.com/nlohmann/json/issues/1983) -- json\_pointer.contains\(\) exception is incorrectly raised [\#1982](https://github.com/nlohmann/json/issues/1982) -- Error with non existing key [\#1981](https://github.com/nlohmann/json/issues/1981) -- Closed [\#1978](https://github.com/nlohmann/json/issues/1978) -- Where is the library built and what is the name? [\#1977](https://github.com/nlohmann/json/issues/1977) -- The cmake\_import example does not build [\#1976](https://github.com/nlohmann/json/issues/1976) -- Dumping core when reading invalid file [\#1975](https://github.com/nlohmann/json/issues/1975) -- Abort in dump\(\) method [\#1973](https://github.com/nlohmann/json/issues/1973) -- Unclear docs regarding parser\_callback\_t callbacks [\#1972](https://github.com/nlohmann/json/issues/1972) -- Possible memory leak on push\_back [\#1971](https://github.com/nlohmann/json/issues/1971) -- Is it possible to get a safe mutable reference/pointer to internal variant used in nlohmann json? [\#1970](https://github.com/nlohmann/json/issues/1970) -- Getting a flatten json to map\<string, string\> [\#1957](https://github.com/nlohmann/json/issues/1957) -- forced type conversion or lexical cast without exception. [\#1955](https://github.com/nlohmann/json/issues/1955) -- Add json\_view type support to avoid excessive copying [\#1954](https://github.com/nlohmann/json/issues/1954) -- Adding "examples" section for real-life usages [\#1953](https://github.com/nlohmann/json/issues/1953) -- Add nlohmann::json::key\_type [\#1951](https://github.com/nlohmann/json/issues/1951) -- cannot use operator\[\] with a string argument with string [\#1949](https://github.com/nlohmann/json/issues/1949) -- std::ifstream \>\> json error [\#1948](https://github.com/nlohmann/json/issues/1948) -- Cannot update json data in an iterator? [\#1947](https://github.com/nlohmann/json/issues/1947) -- How can i build this library in VS 2017? [\#1943](https://github.com/nlohmann/json/issues/1943) -- json\_pointer.contains\(\) exceptions when path not found [\#1942](https://github.com/nlohmann/json/issues/1942) -- Nested objects serialize/deserialize [\#1941](https://github.com/nlohmann/json/issues/1941) -- Compile warning on architectures that are not x86 [\#1939](https://github.com/nlohmann/json/issues/1939) -- Version of nlohmann-json-dev in debian packages [\#1938](https://github.com/nlohmann/json/issues/1938) -- Create a json object for every cycle [\#1937](https://github.com/nlohmann/json/issues/1937) -- How to get the object name? [\#1936](https://github.com/nlohmann/json/issues/1936) -- Reserve and resize function for basic json [\#1935](https://github.com/nlohmann/json/issues/1935) -- How to use json parse in tsl::ordread\_map? [\#1934](https://github.com/nlohmann/json/issues/1934) -- C++14 support is not enabled with msvc2015 [\#1932](https://github.com/nlohmann/json/issues/1932) -- Need help with to\_json for derived class, keep getting "cannot use operator" [\#1931](https://github.com/nlohmann/json/issues/1931) -- How to handle std::vector\<std::uint8\_t\> [\#1930](https://github.com/nlohmann/json/issues/1930) -- Heap corruption issue [\#1929](https://github.com/nlohmann/json/issues/1929) -- Add `std::wistream` support. [\#1928](https://github.com/nlohmann/json/issues/1928) -- This i can write and read any file thanks [\#1927](https://github.com/nlohmann/json/issues/1927) -- How can I get this simple example working? [\#1926](https://github.com/nlohmann/json/issues/1926) -- emplace\_back does not seems to work with the int 0 [\#1925](https://github.com/nlohmann/json/issues/1925) -- Why nlohmann does not release memory [\#1924](https://github.com/nlohmann/json/issues/1924) -- Is it possible to have template `json::parse` with `noexcept` specifier? [\#1922](https://github.com/nlohmann/json/issues/1922) -- JSON to wstring? [\#1921](https://github.com/nlohmann/json/issues/1921) -- GCC 10 tests build failure [\#1920](https://github.com/nlohmann/json/issues/1920) -- Size of binary json representations [\#1919](https://github.com/nlohmann/json/issues/1919) -- Accessing strings \(for example in keys or values\) without having the lib create a copy of it. [\#1916](https://github.com/nlohmann/json/issues/1916) -- operator== documentation should show how to apply custom comparison function [\#1915](https://github.com/nlohmann/json/issues/1915) -- char8\_t and std::u8string support [\#1914](https://github.com/nlohmann/json/issues/1914) -- std::is\_pod is deprecated in C++20 [\#1913](https://github.com/nlohmann/json/issues/1913) -- Incomplete types reported by \(experimental\) GCC10 [\#1912](https://github.com/nlohmann/json/issues/1912) -- Compile warnings on MSVC 14.2 [\#1911](https://github.com/nlohmann/json/issues/1911) -- How to parse json file with type composition of std::optional and std::variant [\#1910](https://github.com/nlohmann/json/issues/1910) -- why root\_schema be implemented as unique\_ptr in json-validator.cpp,could I use it as shared\_ptr? [\#1908](https://github.com/nlohmann/json/issues/1908) -- compile error in gcc-6.3.0 [\#1906](https://github.com/nlohmann/json/issues/1906) -- Scalar constexpr is odr-used when used as json initializer [\#1905](https://github.com/nlohmann/json/issues/1905) -- install Slack app [\#1904](https://github.com/nlohmann/json/issues/1904) -- typo in a comment [\#1903](https://github.com/nlohmann/json/issues/1903) -- Watch JSON variables in Debug [\#1902](https://github.com/nlohmann/json/issues/1902) -- does Json sdk cares about dfc dfd utf8 issue? [\#1901](https://github.com/nlohmann/json/issues/1901) -- Allow multiple line string value in JSON [\#1897](https://github.com/nlohmann/json/issues/1897) -- Writing map to json file [\#1896](https://github.com/nlohmann/json/issues/1896) -- Small documentation mistake [\#1895](https://github.com/nlohmann/json/issues/1895) -- why static function `parse` cann't find in visual studio 2019 [\#1894](https://github.com/nlohmann/json/issues/1894) -- Best way to handle json files with missing key value pairs. [\#1893](https://github.com/nlohmann/json/issues/1893) -- accessing json object as multimap [\#1892](https://github.com/nlohmann/json/issues/1892) -- What is the best way to parse vec3s into glm::vec3 [\#1891](https://github.com/nlohmann/json/issues/1891) -- Get array of items without using vector [\#1890](https://github.com/nlohmann/json/issues/1890) -- Build errors \(clang 11.0.0\) on macOS 10.15.2 [\#1889](https://github.com/nlohmann/json/issues/1889) -- Multiple arrays to vectors help [\#1888](https://github.com/nlohmann/json/issues/1888) -- json::parse\(begin, end\) parse error on first character using uchar\* [\#1887](https://github.com/nlohmann/json/issues/1887) -- issue in free\(\) [\#1886](https://github.com/nlohmann/json/issues/1886) -- is\_number\_unsigned\(\) returns false for positive integers \(int or 0 or 1 literals\) [\#1885](https://github.com/nlohmann/json/issues/1885) -- MSVC build failure with /Zc:\_\_cplusplus and C++17 [\#1883](https://github.com/nlohmann/json/issues/1883) -- RFC 6901 op:replace & arrays [\#1882](https://github.com/nlohmann/json/issues/1882) -- Problem with serialization of my custom template doubly-linked list [\#1881](https://github.com/nlohmann/json/issues/1881) -- is\_array\(\) is True, but raise 'cannot use operator\[\] for object iterators' [\#1880](https://github.com/nlohmann/json/issues/1880) -- Serialize dynamic array [\#1879](https://github.com/nlohmann/json/issues/1879) -- Serialization of struct object. [\#1877](https://github.com/nlohmann/json/issues/1877) -- warning:c4503 [\#1875](https://github.com/nlohmann/json/issues/1875) -- Why are flattened empty objects/arrays not representable? [\#1874](https://github.com/nlohmann/json/issues/1874) -- Container Overflow \(ASAN\) when using operator \>\> on an ifs [\#1873](https://github.com/nlohmann/json/issues/1873) -- Sub-array to vector or map object? [\#1870](https://github.com/nlohmann/json/issues/1870) -- WIP: QT \(cute\) type supports [\#1869](https://github.com/nlohmann/json/issues/1869) -- Compiler flags to disable features and shrink code size [\#1868](https://github.com/nlohmann/json/issues/1868) -- null strings [\#1867](https://github.com/nlohmann/json/issues/1867) -- Struct with array of struct and \_\_attribute\_\_\(\(packed\)\) [\#1866](https://github.com/nlohmann/json/issues/1866) -- Best way to extract numbers in the string? [\#1865](https://github.com/nlohmann/json/issues/1865) -- Displaying \\?\Volume{guid} from string to json giving error [\#1864](https://github.com/nlohmann/json/issues/1864) -- not working when compiling as x86 [\#1863](https://github.com/nlohmann/json/issues/1863) -- Skipping evaluation of log line expressions with a macro, is it possible? [\#1862](https://github.com/nlohmann/json/issues/1862) -- Suppress warnings [\#1861](https://github.com/nlohmann/json/issues/1861) -- conflit with g++ compile option -mwindows [\#1860](https://github.com/nlohmann/json/issues/1860) -- How to serialize nested classes to semi-flat JSON object? [\#1859](https://github.com/nlohmann/json/issues/1859) -- Memory Requirement for large json file [\#1858](https://github.com/nlohmann/json/issues/1858) -- Query a binary format \(BSON, CBOR, MessagePack, UBJSON\) [\#1856](https://github.com/nlohmann/json/issues/1856) -- Documentation on operator\[\] behavior with missing keys [\#1855](https://github.com/nlohmann/json/issues/1855) -- Problem in converting string into JSON; Can't parse successfully. [\#1854](https://github.com/nlohmann/json/issues/1854) -- json.at\_or\_default\(key, defaultval\) [\#1852](https://github.com/nlohmann/json/issues/1852) -- please improve the enum conversion documentation \(my example gist provided\) [\#1851](https://github.com/nlohmann/json/issues/1851) -- Default value returned on ValueType nlohmann::basic\_json::value \(const typename object\_t::key\_type& key, const ValueType& default\_value\) [\#1850](https://github.com/nlohmann/json/issues/1850) -- Accounting for arbitrary precision numerical literals [\#1849](https://github.com/nlohmann/json/issues/1849) -- While trying to make a simple array, I get a nested array instead [\#1848](https://github.com/nlohmann/json/issues/1848) -- How to reuse the parser and serializer intermediate storage? [\#1847](https://github.com/nlohmann/json/issues/1847) -- Too much content in json.hpp leads to slow compilation [\#1845](https://github.com/nlohmann/json/issues/1845) -- Cannot read some data in json file [\#1843](https://github.com/nlohmann/json/issues/1843) -- Precompiled JSON library? [\#1842](https://github.com/nlohmann/json/issues/1842) -- Please change assert into throw\(maybe\) in line 17946 [\#1841](https://github.com/nlohmann/json/issues/1841) -- JSON for modern C++ ECCN information [\#1840](https://github.com/nlohmann/json/issues/1840) -- CI: reduce build time for Travis valgrind [\#1836](https://github.com/nlohmann/json/issues/1836) -- How do I traverse a json object and add new elements into the hierarchy [\#1834](https://github.com/nlohmann/json/issues/1834) -- Invalid UTF-8 byte at index 1: 0x65 [\#1831](https://github.com/nlohmann/json/issues/1831) -- Serialize big data in json [\#1828](https://github.com/nlohmann/json/issues/1828) -- Backslash '\' in value causes exception [\#1827](https://github.com/nlohmann/json/issues/1827) -- from\_json for non default constructible class with dependency injection [\#1819](https://github.com/nlohmann/json/issues/1819) -- Semi-frequent timeouts in `test-unicode_all` with 3.6.1 \(aarch64\) [\#1816](https://github.com/nlohmann/json/issues/1816) -- input\_adapter not user extensible [\#1813](https://github.com/nlohmann/json/issues/1813) -- crash at json::destroy on android [\#1812](https://github.com/nlohmann/json/issues/1812) -- Logs are repeating while cmake [\#1809](https://github.com/nlohmann/json/issues/1809) -- Add a the possibility to add dynamic json objects [\#1795](https://github.com/nlohmann/json/issues/1795) -- Unnecessary test data file in the release [\#1790](https://github.com/nlohmann/json/issues/1790) -- Add support for parse stack limiting [\#1788](https://github.com/nlohmann/json/issues/1788) -- GCC -Wuseless-cast warnings [\#1777](https://github.com/nlohmann/json/issues/1777) -- compilation issue with NVCC 9.0 [\#1773](https://github.com/nlohmann/json/issues/1773) -- Unexpected behavior with fifo\_map json when copy and append [\#1763](https://github.com/nlohmann/json/issues/1763) -- Parse error [\#1761](https://github.com/nlohmann/json/issues/1761) -- Assignment \(using value\(\)\) to nonexistent element behaves differently on Xcode 8 vs Xcode 10 [\#1758](https://github.com/nlohmann/json/issues/1758) -- Readme out of date [\#1756](https://github.com/nlohmann/json/issues/1756) -- cmake\_\* tests don't use the build system's compiler [\#1747](https://github.com/nlohmann/json/issues/1747) -- Static assertions for template type properties required [\#1729](https://github.com/nlohmann/json/issues/1729) -- Use float and possibly half in json::to\_cbor [\#1719](https://github.com/nlohmann/json/issues/1719) -- json::from\_cbor does not respect allow\_exceptions = false when input is string literal [\#1715](https://github.com/nlohmann/json/issues/1715) -- /Zc:\_\_cplusplus leads to C2416 [\#1695](https://github.com/nlohmann/json/issues/1695) -- `unflatten` vs objects with number-ish keys [\#1575](https://github.com/nlohmann/json/issues/1575) -- A "thinner" source code tar as part of release? [\#1572](https://github.com/nlohmann/json/issues/1572) -- Repository is almost 450MB [\#1497](https://github.com/nlohmann/json/issues/1497) -- Substantial performance penalty caused by polymorphic input adapter [\#1457](https://github.com/nlohmann/json/issues/1457) -- Move tests to a separate repo [\#1235](https://github.com/nlohmann/json/issues/1235) -- reduce repos size [\#1185](https://github.com/nlohmann/json/issues/1185) -- CMakeLists.txt in release zips? [\#1184](https://github.com/nlohmann/json/issues/1184) -- Minimal branch? [\#1066](https://github.com/nlohmann/json/issues/1066) -- Move test blobs to a submodule? [\#732](https://github.com/nlohmann/json/issues/732) -- \[Question\] When using this as git submodule, will it clone the whole thing include test data and benchmark? [\#620](https://github.com/nlohmann/json/issues/620) -- Need to improve ignores.. [\#567](https://github.com/nlohmann/json/issues/567) -- Minimal repository \(current size very large\) [\#556](https://github.com/nlohmann/json/issues/556) -- For a header-only library you have to clone 214MB [\#482](https://github.com/nlohmann/json/issues/482) -- 17 MB / 90 MB repo size!? [\#96](https://github.com/nlohmann/json/issues/96) - -- Improve parse\_ubjson\_fuzzer [\#2182](https://github.com/nlohmann/json/pull/2182) ([tanuj208](https://github.com/tanuj208)) -- Add input adapter tests [\#2178](https://github.com/nlohmann/json/pull/2178) ([nlohmann](https://github.com/nlohmann)) -- Fix warnings [\#2174](https://github.com/nlohmann/json/pull/2174) ([nlohmann](https://github.com/nlohmann)) -- Fix PR\#1006 [\#2158](https://github.com/nlohmann/json/pull/2158) ([dota17](https://github.com/dota17)) -- Fix issue\#1972 [\#2153](https://github.com/nlohmann/json/pull/2153) ([dota17](https://github.com/dota17)) -- Update URLs to HTTPS [\#2152](https://github.com/nlohmann/json/pull/2152) ([TotalCaesar659](https://github.com/TotalCaesar659)) -- Fix Issue\#1813: user defined input adapters [\#2145](https://github.com/nlohmann/json/pull/2145) ([FrancoisChabot](https://github.com/FrancoisChabot)) -- Fix issue\#1939: Cast character to unsigned for comparison [\#2144](https://github.com/nlohmann/json/pull/2144) ([XyFreak](https://github.com/XyFreak)) -- Fix issue\#2142: readme: fix typo in CMake FetchContent example [\#2143](https://github.com/nlohmann/json/pull/2143) ([quentin-dev](https://github.com/quentin-dev)) -- Respect allow\_exceptions=false for binary formats [\#2140](https://github.com/nlohmann/json/pull/2140) ([nlohmann](https://github.com/nlohmann)) -- Fix issue 2112 [\#2137](https://github.com/nlohmann/json/pull/2137) ([dota17](https://github.com/dota17)) -- Add bleeding edge GCC to CI [\#2136](https://github.com/nlohmann/json/pull/2136) ([aokellermann](https://github.com/aokellermann)) -- Clean up implementation of binary type [\#2125](https://github.com/nlohmann/json/pull/2125) ([nlohmann](https://github.com/nlohmann)) -- Fixed a compilation error in MSVC [\#2121](https://github.com/nlohmann/json/pull/2121) ([gistrec](https://github.com/gistrec)) -- Overwork CI [\#2119](https://github.com/nlohmann/json/pull/2119) ([nlohmann](https://github.com/nlohmann)) -- Fix warnings from Clang 10 and GCC 9 [\#2116](https://github.com/nlohmann/json/pull/2116) ([nlohmann](https://github.com/nlohmann)) -- Do not include \<ciso646\> when using C++17 [\#2115](https://github.com/nlohmann/json/pull/2115) ([nlohmann](https://github.com/nlohmann)) -- Fix issue\#2086: disallow json::value\_t type parameter in value\(\) [\#2104](https://github.com/nlohmann/json/pull/2104) ([dota17](https://github.com/dota17)) -- Fix Coveralls integration [\#2100](https://github.com/nlohmann/json/pull/2100) ([nlohmann](https://github.com/nlohmann)) -- Add tests for binary values [\#2099](https://github.com/nlohmann/json/pull/2099) ([nlohmann](https://github.com/nlohmann)) -- Use external test data [\#2081](https://github.com/nlohmann/json/pull/2081) ([nlohmann](https://github.com/nlohmann)) -- Remove Doozer CI [\#2080](https://github.com/nlohmann/json/pull/2080) ([nlohmann](https://github.com/nlohmann)) -- Fix README.md. Missing ``` [\#2077](https://github.com/nlohmann/json/pull/2077) ([ArthurSonzogni](https://github.com/ArthurSonzogni)) -- Fix error message about invalid surrogate pairs [\#2076](https://github.com/nlohmann/json/pull/2076) ([rmisev](https://github.com/rmisev)) -- Add CMake fetchcontent documentation and tests [\#2074](https://github.com/nlohmann/json/pull/2074) ([ArthurSonzogni](https://github.com/ArthurSonzogni)) -- Properly pass serialize\_binary to dump function [\#2071](https://github.com/nlohmann/json/pull/2071) ([nlohmann](https://github.com/nlohmann)) -- Fix returning reference to local temporary object [\#2069](https://github.com/nlohmann/json/pull/2069) ([nlohmann](https://github.com/nlohmann)) -- updated wandbox link [\#2060](https://github.com/nlohmann/json/pull/2060) ([alexandermyasnikov](https://github.com/alexandermyasnikov)) -- Fix bug in diff function [\#2054](https://github.com/nlohmann/json/pull/2054) ([nlohmann](https://github.com/nlohmann)) -- Fix GCC compiler warnings [\#2053](https://github.com/nlohmann/json/pull/2053) ([nlohmann](https://github.com/nlohmann)) -- Fix Clang compiler warnings [\#2051](https://github.com/nlohmann/json/pull/2051) ([nlohmann](https://github.com/nlohmann)) -- Update doctest to 2.3.7 [\#2050](https://github.com/nlohmann/json/pull/2050) ([nlohmann](https://github.com/nlohmann)) -- Fix issue\#1719 [\#2044](https://github.com/nlohmann/json/pull/2044) ([dota17](https://github.com/dota17)) -- Add missing testcase about NaN in unit-constructor1.cpp [\#2043](https://github.com/nlohmann/json/pull/2043) ([dota17](https://github.com/dota17)) -- Templatize basic\_json constructor from json\_ref [\#2034](https://github.com/nlohmann/json/pull/2034) ([ArtemSarmini](https://github.com/ArtemSarmini)) -- Replace deprecated std::is\_pod [\#2033](https://github.com/nlohmann/json/pull/2033) ([nlohmann](https://github.com/nlohmann)) -- Fixes \#1971 \(memory leak in basic\_json::push\_back\) [\#2025](https://github.com/nlohmann/json/pull/2025) ([ArtemSarmini](https://github.com/ArtemSarmini)) -- fix \#1982:json\_pointer.contains\(\) exception is incorrectly raised [\#2019](https://github.com/nlohmann/json/pull/2019) ([dota17](https://github.com/dota17)) -- Update LICENSE.MIT [\#2010](https://github.com/nlohmann/json/pull/2010) ([magamig](https://github.com/magamig)) -- PR for \#2006 to test in AppVeyor. [\#2008](https://github.com/nlohmann/json/pull/2008) ([garethsb](https://github.com/garethsb)) -- Added wsjcpp.yml [\#2004](https://github.com/nlohmann/json/pull/2004) ([sea-kg](https://github.com/sea-kg)) -- fix error 'setw' is not a member of 'std' in Wandbox example [\#2002](https://github.com/nlohmann/json/pull/2002) ([alexandermyasnikov](https://github.com/alexandermyasnikov)) -- catch exceptions for json\_pointer : ..../+99 [\#1990](https://github.com/nlohmann/json/pull/1990) ([dota17](https://github.com/dota17)) -- Modify the document about operator== [\#1984](https://github.com/nlohmann/json/pull/1984) ([dota17](https://github.com/dota17)) -- Rename argument array\_index to array\_indx in json\_pointer methods [\#1980](https://github.com/nlohmann/json/pull/1980) ([linev](https://github.com/linev)) -- README: Fix string representation of `dump`ed `json` [\#1979](https://github.com/nlohmann/json/pull/1979) ([alexweej](https://github.com/alexweej)) -- fix warnings in serializer.hpp for VS2019 [\#1969](https://github.com/nlohmann/json/pull/1969) ([dota17](https://github.com/dota17)) -- Fix C26451 warnnings in to\_chars.hpp [\#1967](https://github.com/nlohmann/json/pull/1967) ([dota17](https://github.com/dota17)) -- appveyor.yml: Compile and test with latest version for \_\_cplusplus ma… [\#1958](https://github.com/nlohmann/json/pull/1958) ([t-b](https://github.com/t-b)) -- Fix typo in examples [\#1956](https://github.com/nlohmann/json/pull/1956) ([dota17](https://github.com/dota17)) -- templated input adapters [\#1950](https://github.com/nlohmann/json/pull/1950) ([FrancoisChabot](https://github.com/FrancoisChabot)) -- Update README.md : add a FAQ about memory release [\#1933](https://github.com/nlohmann/json/pull/1933) ([dota17](https://github.com/dota17)) -- Some typos [\#1923](https://github.com/nlohmann/json/pull/1923) ([Coeur](https://github.com/Coeur)) -- Fix link to parse function in README [\#1918](https://github.com/nlohmann/json/pull/1918) ([kastiglione](https://github.com/kastiglione)) -- Readme: Updated links to hunter repo & docs [\#1917](https://github.com/nlohmann/json/pull/1917) ([jothepro](https://github.com/jothepro)) -- Adds instruction for using Build2's package manager [\#1909](https://github.com/nlohmann/json/pull/1909) ([Klaim](https://github.com/Klaim)) -- Update README.md [\#1907](https://github.com/nlohmann/json/pull/1907) ([pauljurczak](https://github.com/pauljurczak)) -- Fix warning: ignoring return value [\#1871](https://github.com/nlohmann/json/pull/1871) ([sonulohani](https://github.com/sonulohani)) -- docs: add central repository as conan source to readme [\#1857](https://github.com/nlohmann/json/pull/1857) ([gocarlos](https://github.com/gocarlos)) -- README: Package in MSYS2 renamed to nlohmann-json [\#1853](https://github.com/nlohmann/json/pull/1853) ([podsvirov](https://github.com/podsvirov)) -- Fix msvc warnings [\#1846](https://github.com/nlohmann/json/pull/1846) ([MBalszun](https://github.com/MBalszun)) -- Update tests that generate CMake projects to use main project's C++ compiler [\#1844](https://github.com/nlohmann/json/pull/1844) ([Tridacnid](https://github.com/Tridacnid)) -- make CMake's version config file architecture-independent [\#1746](https://github.com/nlohmann/json/pull/1746) ([uhoreg](https://github.com/uhoreg)) -- Add binary type support to all binary file formats, as well as an internally represented binary type [\#1662](https://github.com/nlohmann/json/pull/1662) ([OmnipotentEntity](https://github.com/OmnipotentEntity)) - -## [v3.7.3](https://github.com/nlohmann/json/releases/tag/v3.7.3) (2019-11-17) - -[Full Changelog](https://github.com/nlohmann/json/compare/v3.7.2...v3.7.3) - -- Project branches [\#1839](https://github.com/nlohmann/json/issues/1839) -- Quadratic destruction complexity introduced in \#1436 [\#1837](https://github.com/nlohmann/json/issues/1837) -- Trying to open a file [\#1814](https://github.com/nlohmann/json/issues/1814) -- Comparing data type with value\_t::number\_integer fails [\#1783](https://github.com/nlohmann/json/issues/1783) -- CMake version config file is architecture-dependent [\#1697](https://github.com/nlohmann/json/issues/1697) - -- Fix quadratic destruction complexity [\#1838](https://github.com/nlohmann/json/pull/1838) ([nickaein](https://github.com/nickaein)) - -## [v3.7.2](https://github.com/nlohmann/json/releases/tag/v3.7.2) (2019-11-10) - -[Full Changelog](https://github.com/nlohmann/json/compare/v3.7.1...v3.7.2) - -- Segmentation fault in destructor in case of large inputs [\#1835](https://github.com/nlohmann/json/issues/1835) -- type\_name\(\) is not consistent with type\(\) [\#1833](https://github.com/nlohmann/json/issues/1833) -- json::parse is not a member [\#1832](https://github.com/nlohmann/json/issues/1832) -- How do you deal with json\* ? [\#1829](https://github.com/nlohmann/json/issues/1829) -- Combined find\_package/add\_subdirectory not linking libraries [\#1771](https://github.com/nlohmann/json/issues/1771) -- example code for ifstream reading a json file results in no operator error [\#1766](https://github.com/nlohmann/json/issues/1766) -- Warning: unsequenced modification and access to 'range' [\#1674](https://github.com/nlohmann/json/issues/1674) -- Segmentation fault \(stack overflow\) due to unbounded recursion [\#1419](https://github.com/nlohmann/json/issues/1419) -- Stack-overflow \(OSS-Fuzz 4234\) [\#832](https://github.com/nlohmann/json/issues/832) - -- Configure WhiteSource Bolt for GitHub [\#1830](https://github.com/nlohmann/json/pull/1830) ([mend-bolt-for-github[bot]](https://github.com/apps/mend-bolt-for-github)) -- Prevent stackoverflow caused by recursive deconstruction [\#1436](https://github.com/nlohmann/json/pull/1436) ([nickaein](https://github.com/nickaein)) - -## [v3.7.1](https://github.com/nlohmann/json/releases/tag/v3.7.1) (2019-11-06) - -[Full Changelog](https://github.com/nlohmann/json/compare/v3.7.0...v3.7.1) - -- std::is\_constructible is always true with tuple [\#1825](https://github.com/nlohmann/json/issues/1825) -- Can't compile from\_json\(std::valarray\<T\>\). [\#1824](https://github.com/nlohmann/json/issues/1824) -- json class should have a get\_or member function [\#1823](https://github.com/nlohmann/json/issues/1823) -- NLOHMANN\_JSON\_SERIALIZE\_ENUM macro capture's json objects by value [\#1822](https://github.com/nlohmann/json/issues/1822) -- Parse fails when number literals start with zero [\#1820](https://github.com/nlohmann/json/issues/1820) -- Weird behaviour of `contains` with `json_pointer` [\#1815](https://github.com/nlohmann/json/issues/1815) -- strange behaviour with json\_pointer and .contains\(\) [\#1811](https://github.com/nlohmann/json/issues/1811) -- Can \#1695 be re-opened? [\#1808](https://github.com/nlohmann/json/issues/1808) -- Merge two json objects [\#1807](https://github.com/nlohmann/json/issues/1807) -- std::is\_constructible\<json, std::unordered\_map\<std::string, Data\>\> when to\_json not defined [\#1805](https://github.com/nlohmann/json/issues/1805) -- Private data on parsing [\#1802](https://github.com/nlohmann/json/issues/1802) -- Capturing Line and Position when querying [\#1800](https://github.com/nlohmann/json/issues/1800) -- json error on parsing DBL\_MAX from string [\#1796](https://github.com/nlohmann/json/issues/1796) -- De/Serialisation of vector of tupple object with nested obect need Help please [\#1794](https://github.com/nlohmann/json/issues/1794) -- Output json is corrupted [\#1793](https://github.com/nlohmann/json/issues/1793) -- variable name byte sometimes used as a \#define [\#1792](https://github.com/nlohmann/json/issues/1792) -- Can't read json file [\#1791](https://github.com/nlohmann/json/issues/1791) -- Problems with special German letters [\#1789](https://github.com/nlohmann/json/issues/1789) -- Support for trailing commas [\#1787](https://github.com/nlohmann/json/issues/1787) -- json\_pointer construction bug [\#1786](https://github.com/nlohmann/json/issues/1786) -- Visual Studio 2017 warning [\#1784](https://github.com/nlohmann/json/issues/1784) -- ciso646 header become obsolete [\#1782](https://github.com/nlohmann/json/issues/1782) -- Migrate LGTM.com installation from OAuth to GitHub App [\#1781](https://github.com/nlohmann/json/issues/1781) -- JSON comparison, contains and operator& [\#1778](https://github.com/nlohmann/json/issues/1778) -- pass a json object to a class contructor adds an array around the object [\#1776](https://github.com/nlohmann/json/issues/1776) -- 'Float' number\_float\_function\_t template parameter name conflicts with C '\#define Float float' [\#1775](https://github.com/nlohmann/json/issues/1775) -- A weird building problem :-\( [\#1774](https://github.com/nlohmann/json/issues/1774) -- What is this json\_ref? [\#1772](https://github.com/nlohmann/json/issues/1772) -- Interoperability with other languages [\#1770](https://github.com/nlohmann/json/issues/1770) -- Json dump [\#1768](https://github.com/nlohmann/json/issues/1768) -- json\_pointer\<\>::back\(\) should be const [\#1764](https://github.com/nlohmann/json/issues/1764) -- How to get value from array [\#1762](https://github.com/nlohmann/json/issues/1762) -- Merge two jsons [\#1757](https://github.com/nlohmann/json/issues/1757) -- Unable to locate nlohmann\_jsonConfig.cmake [\#1755](https://github.com/nlohmann/json/issues/1755) -- json.hpp won;t compile VS2019 CLR/CLI app but does in console app [\#1754](https://github.com/nlohmann/json/issues/1754) -- \[Nested Json Objects\] Segmentation fault [\#1753](https://github.com/nlohmann/json/issues/1753) -- remove/replace assert with exceptions [\#1752](https://github.com/nlohmann/json/issues/1752) -- Add array support for update\(\) function [\#1751](https://github.com/nlohmann/json/issues/1751) -- Is there a reason the `get_to` method is defined in `include/nlohmann/json.hpp` but not in `single_include/nlohmann/json.hpp`? [\#1750](https://github.com/nlohmann/json/issues/1750) -- how to validate json object before calling dump\(\) [\#1748](https://github.com/nlohmann/json/issues/1748) -- Unable to invoke accessors on json objects in lldb [\#1745](https://github.com/nlohmann/json/issues/1745) -- Escaping string before parsing [\#1743](https://github.com/nlohmann/json/issues/1743) -- Construction in a member initializer list using curly braces is set as 'array' [\#1742](https://github.com/nlohmann/json/issues/1742) -- Read a subkey from json object [\#1740](https://github.com/nlohmann/json/issues/1740) -- Serialize vector of glm:vec2 [\#1739](https://github.com/nlohmann/json/issues/1739) -- Support nlohmann::basic\_json::value with JSON\_NOEXCEPTION [\#1738](https://github.com/nlohmann/json/issues/1738) -- how to know the parse is error [\#1737](https://github.com/nlohmann/json/issues/1737) -- How to check if a given key exists in a JSON object [\#1736](https://github.com/nlohmann/json/issues/1736) -- Allow The Colon Key-Value Delimiter To Have A Space Before It \[@ READ ONLY\] [\#1735](https://github.com/nlohmann/json/issues/1735) -- Allow Tail { "Key": "Value" } Comma \[@ READ ONLY\] [\#1734](https://github.com/nlohmann/json/issues/1734) -- No-throw json::value\(\) [\#1733](https://github.com/nlohmann/json/issues/1733) -- JsonObject.dump\(\) [\#1732](https://github.com/nlohmann/json/issues/1732) -- basic\_json has no member "parse" [\#1731](https://github.com/nlohmann/json/issues/1731) -- Exception "type must be string, but is array" [\#1730](https://github.com/nlohmann/json/issues/1730) -- json::contains usage to find a path [\#1727](https://github.com/nlohmann/json/issues/1727) -- How to create JSON Object from my Structures of Data and Json File from that Object [\#1726](https://github.com/nlohmann/json/issues/1726) -- please provide an API to read JSON from file directly. [\#1725](https://github.com/nlohmann/json/issues/1725) -- How to modify a value stored at a key? [\#1723](https://github.com/nlohmann/json/issues/1723) -- CMake not correctly finding the configuration package for 3.7.0 [\#1721](https://github.com/nlohmann/json/issues/1721) -- name typo in the "spack package management" section of README.md [\#1720](https://github.com/nlohmann/json/issues/1720) -- How to add json to another json? [\#1718](https://github.com/nlohmann/json/issues/1718) -- json::parse\(\) ubsan regression with v3.7.0 [\#1716](https://github.com/nlohmann/json/issues/1716) -- What I am doing wrong?!? [\#1714](https://github.com/nlohmann/json/issues/1714) -- Potential memory leak detected by Valgrind [\#1713](https://github.com/nlohmann/json/issues/1713) -- json::parse is not thread safe? [\#1712](https://github.com/nlohmann/json/issues/1712) -- static analysis alarm by cppcheck [\#1711](https://github.com/nlohmann/json/issues/1711) -- The compilation time is slow [\#1710](https://github.com/nlohmann/json/issues/1710) -- not linking properly with cmake [\#1709](https://github.com/nlohmann/json/issues/1709) -- Error in dump\(\) with int64\_t minimum value [\#1708](https://github.com/nlohmann/json/issues/1708) -- Crash on trying to deserialize json string on 3ds homebrew [\#1707](https://github.com/nlohmann/json/issues/1707) -- Can't compile VS2019. 13 Errors [\#1706](https://github.com/nlohmann/json/issues/1706) -- find an object that matches the search criteria [\#1705](https://github.com/nlohmann/json/issues/1705) -- IntelliSense goes crazy on VS2019 [\#1704](https://github.com/nlohmann/json/issues/1704) -- Installing on Ubuntu 16.04 [\#1703](https://github.com/nlohmann/json/issues/1703) -- Where is json::parse now? [\#1702](https://github.com/nlohmann/json/issues/1702) -- Forward header should't be amalgamated [\#1700](https://github.com/nlohmann/json/issues/1700) -- Json support for Cmake version 2.8.12 [\#1699](https://github.com/nlohmann/json/issues/1699) -- Intruisive scientific notation when using .dump\(\); [\#1698](https://github.com/nlohmann/json/issues/1698) -- Is there support for automatic serialization/deserialization? [\#1696](https://github.com/nlohmann/json/issues/1696) -- on MSVC dump\(\) will hard crash for larger json [\#1693](https://github.com/nlohmann/json/issues/1693) -- puzzled implicit conversions [\#1692](https://github.com/nlohmann/json/issues/1692) -- Information: My project uses this awesome library [\#1691](https://github.com/nlohmann/json/issues/1691) -- Consider listing files explicitly instead of using GLOB [\#1686](https://github.com/nlohmann/json/issues/1686) -- Failing tests on MSVC with VS2019 15.9.13 x64 [\#1685](https://github.com/nlohmann/json/issues/1685) -- Change from v2 to v3. Encoding with cp1252 [\#1680](https://github.com/nlohmann/json/issues/1680) -- How to add Fifo\_map into json using Cmake [\#1679](https://github.com/nlohmann/json/issues/1679) -- include.zip should contain meson.build [\#1672](https://github.com/nlohmann/json/issues/1672) -- \[Question\] How do I parse JSON into custom types? [\#1669](https://github.com/nlohmann/json/issues/1669) -- Binary \(0x05\) data type for BSON to JSON conversion [\#1668](https://github.com/nlohmann/json/issues/1668) -- Possible to call dump from lldb? [\#1666](https://github.com/nlohmann/json/issues/1666) -- Segmentation fault when linked with libunwind [\#1665](https://github.com/nlohmann/json/issues/1665) -- Should I include single-header after my to\_json and from\_json custom functions declaration? Why not? [\#1663](https://github.com/nlohmann/json/issues/1663) -- Errors/Warnings in VS 2019 when Including Header File [\#1659](https://github.com/nlohmann/json/issues/1659) -- Return null object from object's const operator\[\] as well. [\#1658](https://github.com/nlohmann/json/issues/1658) -- Can't stream json object in to std::basic\_stringstream\<wchar\_t\> [\#1656](https://github.com/nlohmann/json/issues/1656) -- C2440 in vs2015 cannot convert from 'initializer-list' to nlohmann::basic\_json [\#1655](https://github.com/nlohmann/json/issues/1655) -- Issues around get and pointers [\#1653](https://github.com/nlohmann/json/issues/1653) -- Non-member operator== breaks enum \(de\)serialization [\#1647](https://github.com/nlohmann/json/issues/1647) -- Valgrind: bytes in 1 blocks are definitely lost [\#1646](https://github.com/nlohmann/json/issues/1646) -- Convenient way to make 'basic\_json' accept 'QString' as an key type as well? [\#1640](https://github.com/nlohmann/json/issues/1640) -- mongodb: nan, inf [\#1599](https://github.com/nlohmann/json/issues/1599) -- Error in adl\_serializer [\#1590](https://github.com/nlohmann/json/issues/1590) -- Injecting class during serialization [\#1584](https://github.com/nlohmann/json/issues/1584) -- output\_adapter not user extensible [\#1534](https://github.com/nlohmann/json/issues/1534) -- Inclusion of nlohmann/json.hpp causes OS/ABI to change on Linux [\#1410](https://github.com/nlohmann/json/issues/1410) -- Add library versioning using inline namespaces [\#1394](https://github.com/nlohmann/json/issues/1394) -- CBOR byte string support [\#1129](https://github.com/nlohmann/json/issues/1129) -- How to deserialize array with derived objects [\#716](https://github.com/nlohmann/json/issues/716) - -- Add restriction for tuple specialization of to\_json [\#1826](https://github.com/nlohmann/json/pull/1826) ([cbegue](https://github.com/cbegue)) -- Fix for \#1647 [\#1821](https://github.com/nlohmann/json/pull/1821) ([AnthonyVH](https://github.com/AnthonyVH)) -- Fix issue \#1805 [\#1806](https://github.com/nlohmann/json/pull/1806) ([cbegue](https://github.com/cbegue)) -- Fix some spelling errors - mostly in comments & documentation. [\#1803](https://github.com/nlohmann/json/pull/1803) ([flopp](https://github.com/flopp)) -- Update Hedley to v11. [\#1799](https://github.com/nlohmann/json/pull/1799) ([nemequ](https://github.com/nemequ)) -- iteration\_proxy: Fix integer truncation from std::size\_t to int [\#1797](https://github.com/nlohmann/json/pull/1797) ([t-b](https://github.com/t-b)) -- appveyor.yml: Add MSVC 16 2019 support [\#1780](https://github.com/nlohmann/json/pull/1780) ([t-b](https://github.com/t-b)) -- test/CMakeLists.txt: Use an explicit list instead of GLOB [\#1779](https://github.com/nlohmann/json/pull/1779) ([t-b](https://github.com/t-b)) -- Make json\_pointer::back const \(resolves \#1764\) [\#1769](https://github.com/nlohmann/json/pull/1769) ([chris0x44](https://github.com/chris0x44)) -- did you mean 'serialization'? [\#1767](https://github.com/nlohmann/json/pull/1767) ([0xflotus](https://github.com/0xflotus)) -- Allow items\(\) to be used with custom string [\#1765](https://github.com/nlohmann/json/pull/1765) ([crazyjul](https://github.com/crazyjul)) -- Cppcheck fixes [\#1760](https://github.com/nlohmann/json/pull/1760) ([Xav83](https://github.com/Xav83)) -- Fix and add test's for SFINAE problem [\#1741](https://github.com/nlohmann/json/pull/1741) ([tete17](https://github.com/tete17)) -- Fix clang sanitizer invocation [\#1728](https://github.com/nlohmann/json/pull/1728) ([t-b](https://github.com/t-b)) -- Add gcc 9 and compile with experimental C++20 support [\#1724](https://github.com/nlohmann/json/pull/1724) ([t-b](https://github.com/t-b)) -- Fix int64 min issue [\#1722](https://github.com/nlohmann/json/pull/1722) ([t-b](https://github.com/t-b)) -- release: add singleinclude and meson.build to include.zip [\#1694](https://github.com/nlohmann/json/pull/1694) ([eli-schwartz](https://github.com/eli-schwartz)) - -## [v3.7.0](https://github.com/nlohmann/json/releases/tag/v3.7.0) (2019-07-28) - -[Full Changelog](https://github.com/nlohmann/json/compare/v3.6.1...v3.7.0) - -- How can I retrieve uknown strings from json file in my C++ program. [\#1684](https://github.com/nlohmann/json/issues/1684) -- contains\(\) is sometimes causing stack-based buffer overrun exceptions [\#1683](https://github.com/nlohmann/json/issues/1683) -- How to deserialize arrays from json [\#1681](https://github.com/nlohmann/json/issues/1681) -- Compilation failed in VS2015 [\#1678](https://github.com/nlohmann/json/issues/1678) -- Why the compiled object file is so huge? [\#1677](https://github.com/nlohmann/json/issues/1677) -- From Version 2.1.1 to 3.6.1 serialize std::set [\#1676](https://github.com/nlohmann/json/issues/1676) -- Qt deprecation model halting compiltion [\#1675](https://github.com/nlohmann/json/issues/1675) -- Build For Raspberry pi , Rapbery with new Compiler C++17 [\#1671](https://github.com/nlohmann/json/issues/1671) -- Build from Raspberry pi [\#1667](https://github.com/nlohmann/json/issues/1667) -- Can not translate map with integer key to dict string ? [\#1664](https://github.com/nlohmann/json/issues/1664) -- Double type converts to scientific notation [\#1661](https://github.com/nlohmann/json/issues/1661) -- Missing v3.6.1 tag on master branch [\#1657](https://github.com/nlohmann/json/issues/1657) -- Support Fleese Binary Data Format [\#1654](https://github.com/nlohmann/json/issues/1654) -- Suggestion: replace alternative tokens for !, && and || with their symbols [\#1652](https://github.com/nlohmann/json/issues/1652) -- Build failure test-allocator.vcxproj [\#1651](https://github.com/nlohmann/json/issues/1651) -- How to provide function json& to\_json\(\) which is similar as 'void to\_json\(json&j, const CObject& obj\)' ? [\#1650](https://github.com/nlohmann/json/issues/1650) -- Can't throw exception when starting file is a number [\#1649](https://github.com/nlohmann/json/issues/1649) -- to\_json / from\_json with nested type [\#1648](https://github.com/nlohmann/json/issues/1648) -- How to create a json object from a std::string, created by j.dump? [\#1645](https://github.com/nlohmann/json/issues/1645) -- Problem getting vector \(array\) of strings [\#1644](https://github.com/nlohmann/json/issues/1644) -- json.hpp compilation issue with other typedefs with same name [\#1642](https://github.com/nlohmann/json/issues/1642) -- nlohmann::adl\_serializer\<T,void\>::to\_json no matching overloaded function found [\#1641](https://github.com/nlohmann/json/issues/1641) -- overwrite adl\_serializer\<bool, void\> to change behaviour [\#1638](https://github.com/nlohmann/json/issues/1638) -- json.SelectToken\("Manufacturers.Products.Price"\); [\#1637](https://github.com/nlohmann/json/issues/1637) -- Add json type as value [\#1636](https://github.com/nlohmann/json/issues/1636) -- Unit conversion test error: conversion from 'nlohmann::json' to non-scalar type 'std::string\_view' requested [\#1634](https://github.com/nlohmann/json/issues/1634) -- nlohmann VS JsonCpp by C++17 [\#1633](https://github.com/nlohmann/json/issues/1633) -- To integrate an inline helper function that return type name as string [\#1632](https://github.com/nlohmann/json/issues/1632) -- Return JSON as reference [\#1631](https://github.com/nlohmann/json/issues/1631) -- Updating from an older version causes problems with assing a json object to a struct [\#1630](https://github.com/nlohmann/json/issues/1630) -- Can without default constructor function for user defined classes when only to\_json is needed? [\#1629](https://github.com/nlohmann/json/issues/1629) -- Compilation fails with clang 6.x-8.x in C++14 mode [\#1628](https://github.com/nlohmann/json/issues/1628) -- Treating floating point as string [\#1627](https://github.com/nlohmann/json/issues/1627) -- error parsing character å [\#1626](https://github.com/nlohmann/json/issues/1626) -- \[Help\] How to Improve Json Output Performance with Large Json Arrays [\#1624](https://github.com/nlohmann/json/issues/1624) -- Suggested link changes for reporting new issues \[blob/develop/REAME.md and blob/develop/.github/CONTRIBUTING.md\] [\#1623](https://github.com/nlohmann/json/issues/1623) -- Broken link to issue template in CONTRIBUTING.md [\#1622](https://github.com/nlohmann/json/issues/1622) -- Missing word in README.md file [\#1621](https://github.com/nlohmann/json/issues/1621) -- Package manager instructions in README for brew is incorrect [\#1620](https://github.com/nlohmann/json/issues/1620) -- Building with Visual Studio 2019 [\#1619](https://github.com/nlohmann/json/issues/1619) -- Precedence of to\_json and builtin harmful [\#1617](https://github.com/nlohmann/json/issues/1617) -- The type json is missing from the html documentation [\#1616](https://github.com/nlohmann/json/issues/1616) -- variant is not support in Release 3.6.1? [\#1615](https://github.com/nlohmann/json/issues/1615) -- Replace assert with throw for const operator\[\] [\#1614](https://github.com/nlohmann/json/issues/1614) -- Memory Overhead is Too High \(10x or more\) [\#1613](https://github.com/nlohmann/json/issues/1613) -- program crash everytime, when other data type incomming in json stream as expected [\#1612](https://github.com/nlohmann/json/issues/1612) -- Improved Enum Support [\#1611](https://github.com/nlohmann/json/issues/1611) -- is it possible convert json object back to stl container ? [\#1610](https://github.com/nlohmann/json/issues/1610) -- Add C++17-like emplace.back\(\) for arrays. [\#1609](https://github.com/nlohmann/json/issues/1609) -- is\_nothrow\_copy\_constructible fails for json::const\_iterator on MSVC2015 x86 Debug build [\#1608](https://github.com/nlohmann/json/issues/1608) -- Reading and writing array elements [\#1607](https://github.com/nlohmann/json/issues/1607) -- Converting json::value to int [\#1605](https://github.com/nlohmann/json/issues/1605) -- I have a vector of keys and and a string of value and i want to create nested json array [\#1604](https://github.com/nlohmann/json/issues/1604) -- In compatible JSON object from nlohmann::json to nohman::json - unexpected end of input; expected '\[', '{', or a literal [\#1603](https://github.com/nlohmann/json/issues/1603) -- json parser crash if having a large number integer in message [\#1602](https://github.com/nlohmann/json/issues/1602) -- Value method with undocumented throwing 302 exception [\#1601](https://github.com/nlohmann/json/issues/1601) -- Accessing value with json pointer adds key if not existing [\#1600](https://github.com/nlohmann/json/issues/1600) -- README.md broken link to project documentation [\#1597](https://github.com/nlohmann/json/issues/1597) -- Random Kudos: Thanks for your work on this! [\#1596](https://github.com/nlohmann/json/issues/1596) -- json::parse return value and errors [\#1595](https://github.com/nlohmann/json/issues/1595) -- initializer list constructor makes curly brace initialization fragile [\#1594](https://github.com/nlohmann/json/issues/1594) -- trying to log message for missing keyword, difference between \["foo"\] and at\("foo"\) [\#1593](https://github.com/nlohmann/json/issues/1593) -- std::string and std::wstring `to_json` [\#1592](https://github.com/nlohmann/json/issues/1592) -- I have a C structure which I need to convert to a JSON. How do I do it? Haven't found proper examples so far. [\#1591](https://github.com/nlohmann/json/issues/1591) -- dump\_escaped possible error ? [\#1589](https://github.com/nlohmann/json/issues/1589) -- json::parse\(\) into a vector\<string\> results in unhandled exception [\#1587](https://github.com/nlohmann/json/issues/1587) -- push\_back\(\)/emplace\_back\(\) on array invalidates pointers to existing array items [\#1586](https://github.com/nlohmann/json/issues/1586) -- Getting nlohmann::detail::parse\_error on JSON generated by nlohmann::json not sure why [\#1583](https://github.com/nlohmann/json/issues/1583) -- getting error terminate called after throwing an instance of 'std::domain\_error' what\(\): cannot use at\(\) with string [\#1582](https://github.com/nlohmann/json/issues/1582) -- how i create json file [\#1581](https://github.com/nlohmann/json/issues/1581) -- prevent rounding of double datatype values [\#1580](https://github.com/nlohmann/json/issues/1580) -- Documentation Container Overview Doesn't Reference Const Methods [\#1579](https://github.com/nlohmann/json/issues/1579) -- Writing an array into a nlohmann::json object [\#1578](https://github.com/nlohmann/json/issues/1578) -- compilation error when using with another library [\#1577](https://github.com/nlohmann/json/issues/1577) -- Homebrew on OSX doesn't install cmake config file [\#1576](https://github.com/nlohmann/json/issues/1576) -- JSON Parse Out of Range Error [\#1574](https://github.com/nlohmann/json/issues/1574) -- Integrating into existing CMake Project [\#1573](https://github.com/nlohmann/json/issues/1573) -- conversion to std::string failed [\#1571](https://github.com/nlohmann/json/issues/1571) -- jPtr operation does not throw [\#1569](https://github.com/nlohmann/json/issues/1569) -- How to generate dll file for this project [\#1568](https://github.com/nlohmann/json/issues/1568) -- how to pass variable data to json in c [\#1567](https://github.com/nlohmann/json/issues/1567) -- I want to achieve an upgraded function. [\#1566](https://github.com/nlohmann/json/issues/1566) -- How to determine the type of elements read from a JSON array? [\#1564](https://github.com/nlohmann/json/issues/1564) -- try\_get\_to [\#1563](https://github.com/nlohmann/json/issues/1563) -- example code compile error [\#1562](https://github.com/nlohmann/json/issues/1562) -- How to iterate over nested json object [\#1561](https://github.com/nlohmann/json/issues/1561) -- Build Option/Separate Function to Allow to Throw on Duplicate Keys [\#1560](https://github.com/nlohmann/json/issues/1560) -- Compiler Switches -Weffc++ & -Wshadow are throwing errors [\#1558](https://github.com/nlohmann/json/issues/1558) -- warning: use of the 'nodiscard' attribute is a C++17 extension [\#1557](https://github.com/nlohmann/json/issues/1557) -- Import/Export compressed JSON files [\#1556](https://github.com/nlohmann/json/issues/1556) -- GDB renderers for json library [\#1554](https://github.com/nlohmann/json/issues/1554) -- Is it possible to construct a json string object from a binary buffer? [\#1553](https://github.com/nlohmann/json/issues/1553) -- json objects in list [\#1552](https://github.com/nlohmann/json/issues/1552) -- Matrix output [\#1550](https://github.com/nlohmann/json/issues/1550) -- Using json merge\_patch on ordered non-alphanumeric datasets [\#1549](https://github.com/nlohmann/json/issues/1549) -- Invalid parsed value for big integer [\#1548](https://github.com/nlohmann/json/issues/1548) -- Integrating with android ndk issues. [\#1547](https://github.com/nlohmann/json/issues/1547) -- add noexcept json::value\("key", default\) method variant? [\#1546](https://github.com/nlohmann/json/issues/1546) -- Thank you! 🙌 [\#1545](https://github.com/nlohmann/json/issues/1545) -- Output and input matrix [\#1544](https://github.com/nlohmann/json/issues/1544) -- Add regression tests for MSVC [\#1543](https://github.com/nlohmann/json/issues/1543) -- \[Help Needed!\] Season of Docs [\#1542](https://github.com/nlohmann/json/issues/1542) -- program still abort\(\) or exit\(\) with try catch [\#1541](https://github.com/nlohmann/json/issues/1541) -- Have a json::type\_error exception because of JSON object [\#1540](https://github.com/nlohmann/json/issues/1540) -- Quoted numbers [\#1538](https://github.com/nlohmann/json/issues/1538) -- Reading a JSON file into an object [\#1537](https://github.com/nlohmann/json/issues/1537) -- Releases 3.6.0 and 3.6.1 don't build on conda / windows [\#1536](https://github.com/nlohmann/json/issues/1536) -- \[Clang\] warning: use of the 'nodiscard' attribute is a C++17 extension \[-Wc++17-extensions\] [\#1535](https://github.com/nlohmann/json/issues/1535) -- wchar\_t/std::wstring json can be created but not accessed [\#1533](https://github.com/nlohmann/json/issues/1533) -- json stringify [\#1532](https://github.com/nlohmann/json/issues/1532) -- How can I use it from gcc on RPI [\#1528](https://github.com/nlohmann/json/issues/1528) -- std::pair treated as an array instead of key-value in `std::vector<std::pair<>>` [\#1520](https://github.com/nlohmann/json/issues/1520) -- Excessive Memory Usage for Large Json File [\#1516](https://github.com/nlohmann/json/issues/1516) -- SAX dumper [\#1512](https://github.com/nlohmann/json/issues/1512) -- Conversion to user type containing a std::vector not working with documented approach [\#1511](https://github.com/nlohmann/json/issues/1511) -- Inconsistent use of type alias. [\#1507](https://github.com/nlohmann/json/issues/1507) -- Is there a current way to represent strings as json int? [\#1503](https://github.com/nlohmann/json/issues/1503) -- Intermittent issues with loadJSON [\#1484](https://github.com/nlohmann/json/issues/1484) -- use json construct std::string [\#1462](https://github.com/nlohmann/json/issues/1462) -- JSON Creation [\#1461](https://github.com/nlohmann/json/issues/1461) -- Null bytes in files are treated like EOF [\#1095](https://github.com/nlohmann/json/issues/1095) -- Feature: to\_string\(const json& j\); [\#916](https://github.com/nlohmann/json/issues/916) - -- Use GNUInstallDirs instead of hard-coded path. [\#1673](https://github.com/nlohmann/json/pull/1673) ([ghost](https://github.com/ghost)) -- Package Manager: MSYS2 \(pacman\) [\#1670](https://github.com/nlohmann/json/pull/1670) ([podsvirov](https://github.com/podsvirov)) -- Fix json.hpp compilation issue with other typedefs with same name \(Issue \#1642\) [\#1643](https://github.com/nlohmann/json/pull/1643) ([kevinlul](https://github.com/kevinlul)) -- Add explicit conversion from json to std::string\_view in conversion unit test [\#1639](https://github.com/nlohmann/json/pull/1639) ([taylorhoward92](https://github.com/taylorhoward92)) -- Minor fixes in docs [\#1625](https://github.com/nlohmann/json/pull/1625) ([nickaein](https://github.com/nickaein)) -- Fix broken links to documentation [\#1598](https://github.com/nlohmann/json/pull/1598) ([nickaein](https://github.com/nickaein)) -- Added to\_string and added basic tests [\#1585](https://github.com/nlohmann/json/pull/1585) ([Macr0Nerd](https://github.com/Macr0Nerd)) -- Regression tests for MSVC [\#1570](https://github.com/nlohmann/json/pull/1570) ([nickaein](https://github.com/nickaein)) -- Fix/1511 [\#1555](https://github.com/nlohmann/json/pull/1555) ([theodelrieu](https://github.com/theodelrieu)) -- Remove C++17 extension warning from clang; \#1535 [\#1551](https://github.com/nlohmann/json/pull/1551) ([heavywatal](https://github.com/heavywatal)) -- moved from Catch to doctest for unit tests [\#1439](https://github.com/nlohmann/json/pull/1439) ([onqtam](https://github.com/onqtam)) - -## [v3.6.1](https://github.com/nlohmann/json/releases/tag/v3.6.1) (2019-03-20) - -[Full Changelog](https://github.com/nlohmann/json/compare/3.6.1...v3.6.1) - -## [3.6.1](https://github.com/nlohmann/json/releases/tag/3.6.1) (2019-03-20) - -[Full Changelog](https://github.com/nlohmann/json/compare/v3.6.0...3.6.1) - -- Failed to build with \<Windows.h\> [\#1531](https://github.com/nlohmann/json/issues/1531) -- Compiling 3.6.0 with GCC \> 7, array vs std::array \#590 is back [\#1530](https://github.com/nlohmann/json/issues/1530) -- 3.6.0: warning: missing initializer for member 'std::array\<char, 9ul\>::\_M\_elems' \[-Wmissing-field-initializers\] [\#1527](https://github.com/nlohmann/json/issues/1527) -- unable to parse json [\#1525](https://github.com/nlohmann/json/issues/1525) - -## [v3.6.0](https://github.com/nlohmann/json/releases/tag/v3.6.0) (2019-03-19) - -[Full Changelog](https://github.com/nlohmann/json/compare/v3.5.0...v3.6.0) - -- How can I turn a string of a json array into a json array? [\#1526](https://github.com/nlohmann/json/issues/1526) -- Minor: missing a std:: namespace tag [\#1521](https://github.com/nlohmann/json/issues/1521) -- how to precision to four decimal for double when use to\_json [\#1519](https://github.com/nlohmann/json/issues/1519) -- error parse [\#1518](https://github.com/nlohmann/json/issues/1518) -- Compile error: template argument deduction/substitution failed [\#1515](https://github.com/nlohmann/json/issues/1515) -- std::complex type [\#1510](https://github.com/nlohmann/json/issues/1510) -- CBOR byte string support [\#1509](https://github.com/nlohmann/json/issues/1509) -- Compilation error getting a std::pair\<\> on latest VS 2017 compiler [\#1506](https://github.com/nlohmann/json/issues/1506) -- "Integration" section of documentation needs update? [\#1505](https://github.com/nlohmann/json/issues/1505) -- Json object from string from a TCP socket [\#1504](https://github.com/nlohmann/json/issues/1504) -- MSVC warning C4946 \("reinterpret\_cast used between related classes"\) compiling json.hpp [\#1502](https://github.com/nlohmann/json/issues/1502) -- How to programmatically fill an n-th dimensional JSON object? [\#1501](https://github.com/nlohmann/json/issues/1501) -- Error compiling with clang and `JSON_NOEXCEPTION`: need to include `cstdlib` [\#1500](https://github.com/nlohmann/json/issues/1500) -- The code compiles unsuccessfully with android-ndk-r10e [\#1499](https://github.com/nlohmann/json/issues/1499) -- Cmake 3.1 in develop, when is it likely to make it into a stable release? [\#1498](https://github.com/nlohmann/json/issues/1498) -- Some Help please object inside array [\#1494](https://github.com/nlohmann/json/issues/1494) -- How to get data into vector of user-defined type from a Json object [\#1493](https://github.com/nlohmann/json/issues/1493) -- how to find subelement without loop [\#1490](https://github.com/nlohmann/json/issues/1490) -- json to std::map [\#1487](https://github.com/nlohmann/json/issues/1487) -- Type in README.md [\#1486](https://github.com/nlohmann/json/issues/1486) -- Error in parsing and reading msgpack-lite [\#1485](https://github.com/nlohmann/json/issues/1485) -- Compiling issues with libc 2.12 [\#1483](https://github.com/nlohmann/json/issues/1483) -- How do I use reference or pointer binding values? [\#1482](https://github.com/nlohmann/json/issues/1482) -- Compilation fails in MSVC with the Microsoft Language Extensions disabled [\#1481](https://github.com/nlohmann/json/issues/1481) -- Functional visit [\#1480](https://github.com/nlohmann/json/issues/1480) -- \[Question\] Unescaped dump [\#1479](https://github.com/nlohmann/json/issues/1479) -- Some Help please [\#1478](https://github.com/nlohmann/json/issues/1478) -- Global variables are stored within the JSON file, how do I declare them as global variables when I read them out in my C++ program? [\#1476](https://github.com/nlohmann/json/issues/1476) -- Unable to modify one of the values within the JSON file, and save it [\#1475](https://github.com/nlohmann/json/issues/1475) -- Documentation of parse function has two identical @pre causes [\#1473](https://github.com/nlohmann/json/issues/1473) -- GCC 9.0 build failure [\#1472](https://github.com/nlohmann/json/issues/1472) -- Can we have an `exists()` method? [\#1471](https://github.com/nlohmann/json/issues/1471) -- How to parse multi object json from file? [\#1470](https://github.com/nlohmann/json/issues/1470) -- How to returns the name of the upper object? [\#1467](https://github.com/nlohmann/json/issues/1467) -- Error: "tuple\_size" has already been declared in the current scope [\#1466](https://github.com/nlohmann/json/issues/1466) -- Checking keys of two jsons against eachother [\#1465](https://github.com/nlohmann/json/issues/1465) -- Disable installation when used as meson subproject [\#1463](https://github.com/nlohmann/json/issues/1463) -- Unpack list of integers to a std::vector\<int\> [\#1460](https://github.com/nlohmann/json/issues/1460) -- Implement DRY definition of JSON representation of a c++ class [\#1459](https://github.com/nlohmann/json/issues/1459) -- json.exception.type\_error.305 with GCC 4.9 when using C++ {} initializer [\#1458](https://github.com/nlohmann/json/issues/1458) -- API to convert an "uninitialized" json into an empty object or empty array [\#1456](https://github.com/nlohmann/json/issues/1456) -- How to parse a vector of objects with const attributes [\#1453](https://github.com/nlohmann/json/issues/1453) -- NLOHMANN\_JSON\_SERIALIZE\_ENUM potentially requires duplicate definitions [\#1450](https://github.com/nlohmann/json/issues/1450) -- Question about making json object from file directory [\#1449](https://github.com/nlohmann/json/issues/1449) -- .get\(\) throws error if used with userdefined structs in unordered\_map [\#1448](https://github.com/nlohmann/json/issues/1448) -- Integer Overflow \(OSS-Fuzz 12506\) [\#1447](https://github.com/nlohmann/json/issues/1447) -- If a string has too many invalid UTF-8 characters, json::dump attempts to index an array out of bounds. [\#1445](https://github.com/nlohmann/json/issues/1445) -- Setting values of .JSON file [\#1444](https://github.com/nlohmann/json/issues/1444) -- alias object\_t::key\_type in basic\_json [\#1442](https://github.com/nlohmann/json/issues/1442) -- Latest Ubuntu package is 2.1.1 [\#1438](https://github.com/nlohmann/json/issues/1438) -- lexer.hpp\(1363\) '\_snprintf': is not a member | Visualstudio 2017 [\#1437](https://github.com/nlohmann/json/issues/1437) -- Static method invites inadvertent logic error. [\#1433](https://github.com/nlohmann/json/issues/1433) -- EOS compilation produces "fatal error: 'nlohmann/json.hpp' file not found" [\#1432](https://github.com/nlohmann/json/issues/1432) -- Support for bad commas [\#1429](https://github.com/nlohmann/json/issues/1429) -- Please have one base exception class for all json exceptions [\#1427](https://github.com/nlohmann/json/issues/1427) -- Compilation warning: 'tuple\_size' defined as a class template here but previously declared as a struct template [\#1426](https://github.com/nlohmann/json/issues/1426) -- Which version can be used with GCC 4.8.2 ? [\#1424](https://github.com/nlohmann/json/issues/1424) -- Ignore nullptr values on constructing json object from a container [\#1422](https://github.com/nlohmann/json/issues/1422) -- Support for custom float precision via unquoted strings [\#1421](https://github.com/nlohmann/json/issues/1421) -- It is possible to call `json::find` with a json\_pointer as argument. This causes runtime UB/crash. [\#1418](https://github.com/nlohmann/json/issues/1418) -- Dump throwing exception [\#1416](https://github.com/nlohmann/json/issues/1416) -- Build error [\#1415](https://github.com/nlohmann/json/issues/1415) -- Append version to include.zip [\#1412](https://github.com/nlohmann/json/issues/1412) -- error C2039: '\_snprintf': is not a member of 'std' - Windows [\#1408](https://github.com/nlohmann/json/issues/1408) -- Deserializing to vector [\#1407](https://github.com/nlohmann/json/issues/1407) -- Efficient way to set a `json` object as value into another `json` key [\#1406](https://github.com/nlohmann/json/issues/1406) -- Document return value of parse\(\) when allow\_exceptions == false and parsing fails [\#1405](https://github.com/nlohmann/json/issues/1405) -- Unexpected behaviour with structured binding [\#1404](https://github.com/nlohmann/json/issues/1404) -- Which native types does get\<type\>\(\) allow? [\#1403](https://github.com/nlohmann/json/issues/1403) -- Add something like Json::StaticString [\#1402](https://github.com/nlohmann/json/issues/1402) -- -Wmismatched-tags in 3.5.0? [\#1401](https://github.com/nlohmann/json/issues/1401) -- Coverity Scan reports an UNCAUGHT\_EXCEPT issue [\#1400](https://github.com/nlohmann/json/issues/1400) -- fff [\#1399](https://github.com/nlohmann/json/issues/1399) -- sorry this is not an issue, just a Question, How to change a key value in a file and save it ? [\#1398](https://github.com/nlohmann/json/issues/1398) -- appveyor x64 builds appear to be using Win32 toolset [\#1374](https://github.com/nlohmann/json/issues/1374) -- Serializing/Deserializing a Class containing a vector of itself [\#1373](https://github.com/nlohmann/json/issues/1373) -- Retrieving array elements. [\#1369](https://github.com/nlohmann/json/issues/1369) -- Deserialize [\#1366](https://github.com/nlohmann/json/issues/1366) -- call of overloaded for push\_back and operator+= is ambiguous [\#1352](https://github.com/nlohmann/json/issues/1352) -- got an error and cann't figure it out [\#1351](https://github.com/nlohmann/json/issues/1351) -- Improve number-to-string conversion [\#1334](https://github.com/nlohmann/json/issues/1334) -- Implicit type conversion error on MSVC [\#1333](https://github.com/nlohmann/json/issues/1333) -- NuGet Package [\#1132](https://github.com/nlohmann/json/issues/1132) - -- Change macros to numeric\_limits [\#1514](https://github.com/nlohmann/json/pull/1514) ([naszta](https://github.com/naszta)) -- fix GCC 7.1.1 - 7.2.1 on CentOS [\#1496](https://github.com/nlohmann/json/pull/1496) ([lieff](https://github.com/lieff)) -- Update Buckaroo instructions in README.md [\#1495](https://github.com/nlohmann/json/pull/1495) ([njlr](https://github.com/njlr)) -- Fix gcc9 build error test/src/unit-allocator.cpp \(Issue \#1472\) [\#1492](https://github.com/nlohmann/json/pull/1492) ([stac47](https://github.com/stac47)) -- Fix typo in README.md [\#1491](https://github.com/nlohmann/json/pull/1491) ([nickaein](https://github.com/nickaein)) -- Do proper endian conversions [\#1489](https://github.com/nlohmann/json/pull/1489) ([andreas-schwab](https://github.com/andreas-schwab)) -- Fix documentation [\#1477](https://github.com/nlohmann/json/pull/1477) ([nickaein](https://github.com/nickaein)) -- Implement contains\(\) member function [\#1474](https://github.com/nlohmann/json/pull/1474) ([nickaein](https://github.com/nickaein)) -- Add operator/= and operator/ to construct a JSON pointer by appending two JSON pointers [\#1469](https://github.com/nlohmann/json/pull/1469) ([garethsb](https://github.com/garethsb)) -- Disable Clang -Wmismatched-tags warning on tuple\_size / tuple\_element [\#1468](https://github.com/nlohmann/json/pull/1468) ([past-due](https://github.com/past-due)) -- Disable installation when used as meson subproject. \#1463 [\#1464](https://github.com/nlohmann/json/pull/1464) ([elvisoric](https://github.com/elvisoric)) -- docs: README typo [\#1455](https://github.com/nlohmann/json/pull/1455) ([wythe](https://github.com/wythe)) -- remove extra semicolon from readme [\#1451](https://github.com/nlohmann/json/pull/1451) ([Afforix](https://github.com/Afforix)) -- attempt to fix \#1445, flush buffer in serializer::dump\_escaped in UTF8\_REJECT case. [\#1446](https://github.com/nlohmann/json/pull/1446) ([scinart](https://github.com/scinart)) -- Use C++11 features supported by CMake 3.1. [\#1441](https://github.com/nlohmann/json/pull/1441) ([iwanders](https://github.com/iwanders)) -- :rotating\_light: fixed unused variable warning [\#1435](https://github.com/nlohmann/json/pull/1435) ([pboettch](https://github.com/pboettch)) -- allow push\_back\(\) and pop\_back\(\) calls on json\_pointer [\#1434](https://github.com/nlohmann/json/pull/1434) ([pboettch](https://github.com/pboettch)) -- Add instructions about using nlohmann/json with the conda package manager [\#1430](https://github.com/nlohmann/json/pull/1430) ([nicoddemus](https://github.com/nicoddemus)) -- Updated year in README.md [\#1425](https://github.com/nlohmann/json/pull/1425) ([jef](https://github.com/jef)) -- Fixed broken links in the README file [\#1423](https://github.com/nlohmann/json/pull/1423) ([skypjack](https://github.com/skypjack)) -- Fixed broken links in the README file [\#1420](https://github.com/nlohmann/json/pull/1420) ([skypjack](https://github.com/skypjack)) -- docs: typo in README [\#1417](https://github.com/nlohmann/json/pull/1417) ([wythe](https://github.com/wythe)) -- Fix x64 target platform for appveyor [\#1414](https://github.com/nlohmann/json/pull/1414) ([nickaein](https://github.com/nickaein)) -- Improve dump\_integer performance [\#1411](https://github.com/nlohmann/json/pull/1411) ([nickaein](https://github.com/nickaein)) -- buildsystem: relax requirement on cmake version [\#1409](https://github.com/nlohmann/json/pull/1409) ([yann-morin-1998](https://github.com/yann-morin-1998)) -- CMake: Optional Install if Embedded [\#1330](https://github.com/nlohmann/json/pull/1330) ([ax3l](https://github.com/ax3l)) - -## [v3.5.0](https://github.com/nlohmann/json/releases/tag/v3.5.0) (2018-12-21) - -[Full Changelog](https://github.com/nlohmann/json/compare/v3.4.0...v3.5.0) - -- Copyconstructor inserts original into array with single element [\#1397](https://github.com/nlohmann/json/issues/1397) -- Get value without explicit typecasting [\#1395](https://github.com/nlohmann/json/issues/1395) -- Big file parsing [\#1393](https://github.com/nlohmann/json/issues/1393) -- Adding Structured Binding Support [\#1388](https://github.com/nlohmann/json/issues/1388) -- map\<json::value\_t, string\> exhibits unexpected behavior [\#1387](https://github.com/nlohmann/json/issues/1387) -- Error Code Return [\#1386](https://github.com/nlohmann/json/issues/1386) -- using unordered\_map as object type [\#1385](https://github.com/nlohmann/json/issues/1385) -- float precision [\#1384](https://github.com/nlohmann/json/issues/1384) -- \[json.exception.type\_error.316\] invalid UTF-8 byte at index 1: 0xC3 [\#1383](https://github.com/nlohmann/json/issues/1383) -- Inconsistent Constructor \(GCC vs. Clang\) [\#1381](https://github.com/nlohmann/json/issues/1381) -- \#define or || [\#1379](https://github.com/nlohmann/json/issues/1379) -- How to iterate inside the values ? [\#1377](https://github.com/nlohmann/json/issues/1377) -- items\(\) unable to get the elements [\#1375](https://github.com/nlohmann/json/issues/1375) -- conversion json to std::map doesn't work for types \<int, double\> [\#1372](https://github.com/nlohmann/json/issues/1372) -- A minor issue in the build instructions [\#1371](https://github.com/nlohmann/json/issues/1371) -- Using this library without stream ? [\#1370](https://github.com/nlohmann/json/issues/1370) -- Writing and reading BSON data [\#1368](https://github.com/nlohmann/json/issues/1368) -- Retrieving array elements from object type iterator. [\#1367](https://github.com/nlohmann/json/issues/1367) -- json::dump\(\) silently crashes if items contain accented letters [\#1365](https://github.com/nlohmann/json/issues/1365) -- warnings in MSVC \(2015\) in 3.4.0 related to bool... [\#1364](https://github.com/nlohmann/json/issues/1364) -- Cant compile with -C++17 and beyond compiler options [\#1362](https://github.com/nlohmann/json/issues/1362) -- json to concrete type conversion through reference or pointer fails [\#1361](https://github.com/nlohmann/json/issues/1361) -- the first attributes of JSON string is misplaced [\#1360](https://github.com/nlohmann/json/issues/1360) -- Copy-construct using initializer-list converts objects to arrays [\#1359](https://github.com/nlohmann/json/issues/1359) -- About value\(key, default\_value\) and operator\[\]\(key\) [\#1358](https://github.com/nlohmann/json/issues/1358) -- Problem with printing json response object [\#1356](https://github.com/nlohmann/json/issues/1356) -- Serializing pointer segfaults [\#1355](https://github.com/nlohmann/json/issues/1355) -- Read `long long int` data as a number. [\#1354](https://github.com/nlohmann/json/issues/1354) -- eclipse oxygen in ubuntu get\<size\_t\> is ambiguous [\#1353](https://github.com/nlohmann/json/issues/1353) -- Can't build on Visual Studio 2017 v15.8.9 [\#1350](https://github.com/nlohmann/json/issues/1350) -- cannot parse from string? [\#1349](https://github.com/nlohmann/json/issues/1349) -- Error: out\_of\_range [\#1348](https://github.com/nlohmann/json/issues/1348) -- expansion pattern 'CompatibleObjectType' contains no argument packs, with CUDA 10 [\#1347](https://github.com/nlohmann/json/issues/1347) -- Unable to update a value for a nested\(multi-level\) json file [\#1344](https://github.com/nlohmann/json/issues/1344) -- Fails to compile when std::iterator\_traits is not SFINAE friendly. [\#1341](https://github.com/nlohmann/json/issues/1341) -- EOF flag not set on exhausted input streams. [\#1340](https://github.com/nlohmann/json/issues/1340) -- Shadowed Member in merge\_patch [\#1339](https://github.com/nlohmann/json/issues/1339) -- Periods/literal dots in keys? [\#1338](https://github.com/nlohmann/json/issues/1338) -- Protect macro expansion of commonly defined macros [\#1337](https://github.com/nlohmann/json/issues/1337) -- How to validate an input before parsing? [\#1336](https://github.com/nlohmann/json/issues/1336) -- Non-verifying dump\(\) alternative for debugging/logging needed [\#1335](https://github.com/nlohmann/json/issues/1335) -- Json Libarary is not responding for me in c++ [\#1332](https://github.com/nlohmann/json/issues/1332) -- Question - how to find an object in an array [\#1331](https://github.com/nlohmann/json/issues/1331) -- Nesting additional data in json object [\#1328](https://github.com/nlohmann/json/issues/1328) -- can to\_json\(\) be defined inside a class? [\#1324](https://github.com/nlohmann/json/issues/1324) -- CodeBlocks IDE can't find `json.hpp` header [\#1318](https://github.com/nlohmann/json/issues/1318) -- Change json\_pointer to provide an iterator begin/end/etc, don't use vectors, and also enable string\_view [\#1312](https://github.com/nlohmann/json/issues/1312) -- Xcode - adding it to library [\#1300](https://github.com/nlohmann/json/issues/1300) -- unicode: accept char16\_t, char32\_t sequences [\#1298](https://github.com/nlohmann/json/issues/1298) -- unicode: char16\_t\* is compiler error, but char16\_t\[\] is accepted [\#1297](https://github.com/nlohmann/json/issues/1297) -- Dockerfile Project Help Needed [\#1296](https://github.com/nlohmann/json/issues/1296) -- Comparisons between large unsigned and negative signed integers [\#1295](https://github.com/nlohmann/json/issues/1295) -- CMake alias to `nlohmann::json` [\#1291](https://github.com/nlohmann/json/issues/1291) -- Release zips without tests [\#1285](https://github.com/nlohmann/json/issues/1285) -- separate object\_t::key\_type from basic\_json::key\_type, and use an allocator which returns object\_t::key\_type [\#1274](https://github.com/nlohmann/json/issues/1274) -- Is there a nice way to associate external values with json elements? [\#1256](https://github.com/nlohmann/json/issues/1256) -- Delete by json\_pointer [\#1248](https://github.com/nlohmann/json/issues/1248) -- Expose lexer, as a StAX parser [\#1219](https://github.com/nlohmann/json/issues/1219) -- Subclassing json\(\) & error on recursive load [\#1201](https://github.com/nlohmann/json/issues/1201) -- Check value for existence by json\_pointer [\#1194](https://github.com/nlohmann/json/issues/1194) - -- Feature/add file input adapter [\#1392](https://github.com/nlohmann/json/pull/1392) ([dumarjo](https://github.com/dumarjo)) -- Added Support for Structured Bindings [\#1391](https://github.com/nlohmann/json/pull/1391) ([pratikpc](https://github.com/pratikpc)) -- Link to issue \#958 broken [\#1382](https://github.com/nlohmann/json/pull/1382) ([kjpus](https://github.com/kjpus)) -- readme: fix typo [\#1380](https://github.com/nlohmann/json/pull/1380) ([manu-chroma](https://github.com/manu-chroma)) -- recommend using explicit from JSON conversions [\#1363](https://github.com/nlohmann/json/pull/1363) ([theodelrieu](https://github.com/theodelrieu)) -- Fix merge\_patch shadow warning [\#1346](https://github.com/nlohmann/json/pull/1346) ([ax3l](https://github.com/ax3l)) -- Allow installation via Meson [\#1345](https://github.com/nlohmann/json/pull/1345) ([mpoquet](https://github.com/mpoquet)) -- Set eofbit on exhausted input stream. [\#1343](https://github.com/nlohmann/json/pull/1343) ([mefyl](https://github.com/mefyl)) -- Add a SFINAE friendly iterator\_traits and use that instead. [\#1342](https://github.com/nlohmann/json/pull/1342) ([dgavedissian](https://github.com/dgavedissian)) -- Fix EOL Whitespaces & CMake Spelling [\#1329](https://github.com/nlohmann/json/pull/1329) ([ax3l](https://github.com/ax3l)) - -## [v3.4.0](https://github.com/nlohmann/json/releases/tag/v3.4.0) (2018-10-30) - -[Full Changelog](https://github.com/nlohmann/json/compare/v3.3.0...v3.4.0) - -- Big uint64\_t values are serialized wrong [\#1327](https://github.com/nlohmann/json/issues/1327) -- \[Question\] Efficient check for equivalency? [\#1325](https://github.com/nlohmann/json/issues/1325) -- Can't use ifstream and .clear\(\) [\#1321](https://github.com/nlohmann/json/issues/1321) -- \[Warning\] -Wparentheses on line 555 on single\_include [\#1319](https://github.com/nlohmann/json/issues/1319) -- Compilation error using at and find with enum struct [\#1316](https://github.com/nlohmann/json/issues/1316) -- Parsing JSON from a web address [\#1311](https://github.com/nlohmann/json/issues/1311) -- How to convert JSON to Struct with embeded subject [\#1310](https://github.com/nlohmann/json/issues/1310) -- Null safety/coalescing function? [\#1309](https://github.com/nlohmann/json/issues/1309) -- Building fails using single include file: json.hpp [\#1308](https://github.com/nlohmann/json/issues/1308) -- json::parse\(std::string\) Exception inside packaged Lib [\#1306](https://github.com/nlohmann/json/issues/1306) -- Problem in Dockerfile with installation of library [\#1304](https://github.com/nlohmann/json/issues/1304) -- compile error in from\_json converting to container with std::pair [\#1299](https://github.com/nlohmann/json/issues/1299) -- Json that I am trying to parse, and I am lost Structure Array below top level [\#1293](https://github.com/nlohmann/json/issues/1293) -- Serializing std::variant causes stack overflow [\#1292](https://github.com/nlohmann/json/issues/1292) -- How do I go about customising from\_json to support \_\_int128\_t/\_\_uint128\_t? [\#1290](https://github.com/nlohmann/json/issues/1290) -- merge\_patch: inconsistent behaviour merging empty sub-object [\#1289](https://github.com/nlohmann/json/issues/1289) -- Buffer over/underrun using UBJson? [\#1288](https://github.com/nlohmann/json/issues/1288) -- Enable the latest C++ standard with Visual Studio [\#1287](https://github.com/nlohmann/json/issues/1287) -- truncation of constant value in to\_cbor\(\) [\#1286](https://github.com/nlohmann/json/issues/1286) -- eosio.wasmsdk error [\#1284](https://github.com/nlohmann/json/issues/1284) -- use the same interface for writing arrays and non-arrays [\#1283](https://github.com/nlohmann/json/issues/1283) -- How to read json file with optional entries and entries with different types [\#1281](https://github.com/nlohmann/json/issues/1281) -- merge result not as espected [\#1279](https://github.com/nlohmann/json/issues/1279) -- how to get only "name" from below json [\#1278](https://github.com/nlohmann/json/issues/1278) -- syntax error on right json string [\#1276](https://github.com/nlohmann/json/issues/1276) -- Parsing JSON Array where members have no key, using custom types [\#1267](https://github.com/nlohmann/json/issues/1267) -- I get a json exception periodically from json::parse for the same json [\#1263](https://github.com/nlohmann/json/issues/1263) -- GCC 8.2.1. Compilation error: invalid conversion from... [\#1246](https://github.com/nlohmann/json/issues/1246) -- BSON support [\#1244](https://github.com/nlohmann/json/issues/1244) -- enum to json mapping [\#1208](https://github.com/nlohmann/json/issues/1208) -- Soften the landing when dumping non-UTF8 strings \(type\_error.316 exception\) [\#1198](https://github.com/nlohmann/json/issues/1198) - -- Add macro to define enum/JSON mapping [\#1323](https://github.com/nlohmann/json/pull/1323) ([nlohmann](https://github.com/nlohmann)) -- Add BSON support [\#1320](https://github.com/nlohmann/json/pull/1320) ([nlohmann](https://github.com/nlohmann)) -- Properly convert constants to CharType [\#1315](https://github.com/nlohmann/json/pull/1315) ([nlohmann](https://github.com/nlohmann)) -- Allow to set error handler for decoding errors [\#1314](https://github.com/nlohmann/json/pull/1314) ([nlohmann](https://github.com/nlohmann)) -- Add Meson related info to README [\#1305](https://github.com/nlohmann/json/pull/1305) ([koponomarenko](https://github.com/koponomarenko)) -- Improve diagnostic messages for binary formats [\#1303](https://github.com/nlohmann/json/pull/1303) ([nlohmann](https://github.com/nlohmann)) -- add new is\_constructible\_\* traits used in from\_json [\#1301](https://github.com/nlohmann/json/pull/1301) ([theodelrieu](https://github.com/theodelrieu)) -- add constraints for variadic json\_ref constructors [\#1294](https://github.com/nlohmann/json/pull/1294) ([theodelrieu](https://github.com/theodelrieu)) -- Improve diagnostic messages [\#1282](https://github.com/nlohmann/json/pull/1282) ([nlohmann](https://github.com/nlohmann)) -- Removed linter warnings [\#1280](https://github.com/nlohmann/json/pull/1280) ([nlohmann](https://github.com/nlohmann)) -- Thirdparty benchmark: Fix Clang detection. [\#1277](https://github.com/nlohmann/json/pull/1277) ([Lord-Kamina](https://github.com/Lord-Kamina)) - -## [v3.3.0](https://github.com/nlohmann/json/releases/tag/v3.3.0) (2018-10-05) - -[Full Changelog](https://github.com/nlohmann/json/compare/3.3.0...v3.3.0) - -## [3.3.0](https://github.com/nlohmann/json/releases/tag/3.3.0) (2018-10-05) - -[Full Changelog](https://github.com/nlohmann/json/compare/v3.2.0...3.3.0) - -- When key is not found print the key name into error too [\#1273](https://github.com/nlohmann/json/issues/1273) -- Visual Studio 2017 15.8.5 "conditional expression is constant" warning on Line 1851 in json.hpp [\#1268](https://github.com/nlohmann/json/issues/1268) -- how can we get this working on WSL? [\#1264](https://github.com/nlohmann/json/issues/1264) -- Help needed [\#1259](https://github.com/nlohmann/json/issues/1259) -- A way to get to a JSON values "key" [\#1258](https://github.com/nlohmann/json/issues/1258) -- While compiling got 76 errors [\#1255](https://github.com/nlohmann/json/issues/1255) -- Two blackslashes on json output file [\#1253](https://github.com/nlohmann/json/issues/1253) -- Including nlohmann the badwrong way. [\#1250](https://github.com/nlohmann/json/issues/1250) -- how to build with clang? [\#1247](https://github.com/nlohmann/json/issues/1247) -- Cmake target\_link\_libraries unable to find nlohmann\_json since version 3.2.0 [\#1243](https://github.com/nlohmann/json/issues/1243) -- \[Question\] Access to end\(\) iterator reference [\#1242](https://github.com/nlohmann/json/issues/1242) -- Parsing different json format [\#1241](https://github.com/nlohmann/json/issues/1241) -- Parsing Multiple JSON Files [\#1240](https://github.com/nlohmann/json/issues/1240) -- Doesn't compile under C++17 [\#1239](https://github.com/nlohmann/json/issues/1239) -- Conversion operator for nlohmann::json is not SFINAE friendly [\#1237](https://github.com/nlohmann/json/issues/1237) -- Custom deserialization of number\_float\_t [\#1236](https://github.com/nlohmann/json/issues/1236) -- deprecated-declarations warnings when compiling tests with GCC 8.2.1. [\#1233](https://github.com/nlohmann/json/issues/1233) -- Incomplete type with json\_fwd.hpp [\#1232](https://github.com/nlohmann/json/issues/1232) -- Parse Error [\#1229](https://github.com/nlohmann/json/issues/1229) -- json::get function with argument [\#1227](https://github.com/nlohmann/json/issues/1227) -- questions regarding from\_json [\#1226](https://github.com/nlohmann/json/issues/1226) -- Lambda in unevaluated context [\#1225](https://github.com/nlohmann/json/issues/1225) -- NLohmann doesn't compile when enabling strict warning policies [\#1224](https://github.com/nlohmann/json/issues/1224) -- Creating array of objects [\#1223](https://github.com/nlohmann/json/issues/1223) -- Somewhat unhelpful error message "cannot use operator\[\] with object" [\#1220](https://github.com/nlohmann/json/issues/1220) -- single\_include json.hpp [\#1218](https://github.com/nlohmann/json/issues/1218) -- Maps with enum class keys which are convertible to JSON strings should be converted to JSON dictionaries [\#1217](https://github.com/nlohmann/json/issues/1217) -- Adding JSON Array to the Array [\#1216](https://github.com/nlohmann/json/issues/1216) -- Best way to output a vector of a given type to json [\#1215](https://github.com/nlohmann/json/issues/1215) -- compiler warning: double definition of macro JSON\_INTERNAL\_CATCH [\#1213](https://github.com/nlohmann/json/issues/1213) -- Compilation error when using MOCK\_METHOD1 from GMock and nlohmann::json [\#1212](https://github.com/nlohmann/json/issues/1212) -- Issues parsing a previously encoded binary \(non-UTF8\) string. [\#1211](https://github.com/nlohmann/json/issues/1211) -- Yet another ordering question: char \* and parse\(\) [\#1209](https://github.com/nlohmann/json/issues/1209) -- Error using gcc 8.1.0 on Ubuntu 14.04 [\#1207](https://github.com/nlohmann/json/issues/1207) -- "type must be string, but is " std::string\(j.type\_name\(\) [\#1206](https://github.com/nlohmann/json/issues/1206) -- Returning empty json object from a function of type const json& ? [\#1205](https://github.com/nlohmann/json/issues/1205) -- VS2017 compiler suggests using constexpr if [\#1204](https://github.com/nlohmann/json/issues/1204) -- Template instatiation error on compiling [\#1203](https://github.com/nlohmann/json/issues/1203) -- BUG - json dump field with unicode -\> array of ints \(instead of string\) [\#1197](https://github.com/nlohmann/json/issues/1197) -- Compile error using Code::Blocks // mingw-w64 GCC 8.1.0 - "Incomplete Type" [\#1193](https://github.com/nlohmann/json/issues/1193) -- SEGFAULT on arm target [\#1190](https://github.com/nlohmann/json/issues/1190) -- Compiler crash with old Clang [\#1179](https://github.com/nlohmann/json/issues/1179) -- Custom Precision on floating point numbers [\#1170](https://github.com/nlohmann/json/issues/1170) -- Can we have a json\_view class like std::string\_view? [\#1158](https://github.com/nlohmann/json/issues/1158) -- improve error handling [\#1152](https://github.com/nlohmann/json/issues/1152) -- We should remove static\_asserts [\#960](https://github.com/nlohmann/json/issues/960) - -- Fix warning C4127: conditional expression is constant [\#1272](https://github.com/nlohmann/json/pull/1272) ([antonioborondo](https://github.com/antonioborondo)) -- Turn off additional deprecation warnings for GCC. [\#1271](https://github.com/nlohmann/json/pull/1271) ([chuckatkins](https://github.com/chuckatkins)) -- docs: Add additional CMake documentation [\#1270](https://github.com/nlohmann/json/pull/1270) ([chuckatkins](https://github.com/chuckatkins)) -- unit-testsuites.cpp: fix hangup if file not found [\#1262](https://github.com/nlohmann/json/pull/1262) ([knilch0r](https://github.com/knilch0r)) -- Fix broken cmake imported target alias [\#1260](https://github.com/nlohmann/json/pull/1260) ([chuckatkins](https://github.com/chuckatkins)) -- GCC 48 [\#1257](https://github.com/nlohmann/json/pull/1257) ([henryiii](https://github.com/henryiii)) -- Add version and license to meson.build [\#1252](https://github.com/nlohmann/json/pull/1252) ([koponomarenko](https://github.com/koponomarenko)) -- \#1179 Reordered the code. It seems to stop clang 3.4.2 in RHEL 7 from crash… [\#1249](https://github.com/nlohmann/json/pull/1249) ([LEgregius](https://github.com/LEgregius)) -- Use a version check to provide backwards comatible CMake imported target names [\#1245](https://github.com/nlohmann/json/pull/1245) ([chuckatkins](https://github.com/chuckatkins)) -- Fix issue \#1237 [\#1238](https://github.com/nlohmann/json/pull/1238) ([theodelrieu](https://github.com/theodelrieu)) -- Add a get overload taking a parameter. [\#1231](https://github.com/nlohmann/json/pull/1231) ([theodelrieu](https://github.com/theodelrieu)) -- Move lambda out of unevaluated context [\#1230](https://github.com/nlohmann/json/pull/1230) ([vimpunk](https://github.com/vimpunk)) -- Remove static asserts [\#1228](https://github.com/nlohmann/json/pull/1228) ([theodelrieu](https://github.com/theodelrieu)) -- Better error 305 [\#1221](https://github.com/nlohmann/json/pull/1221) ([rivertam](https://github.com/rivertam)) -- Fix \#1213 [\#1214](https://github.com/nlohmann/json/pull/1214) ([simnalamburt](https://github.com/simnalamburt)) -- Export package to allow builds without installing [\#1202](https://github.com/nlohmann/json/pull/1202) ([dennisfischer](https://github.com/dennisfischer)) - -## [v3.2.0](https://github.com/nlohmann/json/releases/tag/v3.2.0) (2018-08-20) - -[Full Changelog](https://github.com/nlohmann/json/compare/3.2.0...v3.2.0) - -## [3.2.0](https://github.com/nlohmann/json/releases/tag/3.2.0) (2018-08-20) - -[Full Changelog](https://github.com/nlohmann/json/compare/v3.1.2...3.2.0) - -- Am I doing this wrong? Getting an empty string [\#1199](https://github.com/nlohmann/json/issues/1199) -- Incompatible Pointer Type [\#1196](https://github.com/nlohmann/json/issues/1196) -- json.exception.type\_error.316 [\#1195](https://github.com/nlohmann/json/issues/1195) -- Strange warnings in Code::Blocks 17.12, GNU GCC [\#1192](https://github.com/nlohmann/json/issues/1192) -- \[Question\] Current place in code to change floating point resolution [\#1191](https://github.com/nlohmann/json/issues/1191) -- Add key name when throwing type error [\#1189](https://github.com/nlohmann/json/issues/1189) -- Not able to include in visual studio code? [\#1188](https://github.com/nlohmann/json/issues/1188) -- Get an Index or row number of an element [\#1186](https://github.com/nlohmann/json/issues/1186) -- Difference between `merge_patch` and `update` [\#1183](https://github.com/nlohmann/json/issues/1183) -- Is there a way to get an element from a JSON without throwing an exception on failure? [\#1182](https://github.com/nlohmann/json/issues/1182) -- to\_string? [\#1181](https://github.com/nlohmann/json/issues/1181) -- How to cache a json object's pointer into a map? [\#1180](https://github.com/nlohmann/json/issues/1180) -- Can this library work within a Qt project for Android using Qt Creator? [\#1178](https://github.com/nlohmann/json/issues/1178) -- How to get all keys of one object? [\#1177](https://github.com/nlohmann/json/issues/1177) -- How can I only parse the first level and get the value as string? [\#1175](https://github.com/nlohmann/json/issues/1175) -- I have a query regarding nlohmann::basic\_json::basic\_json [\#1174](https://github.com/nlohmann/json/issues/1174) -- unordered\_map with vectors won't convert to json? [\#1173](https://github.com/nlohmann/json/issues/1173) -- return json objects from functions [\#1172](https://github.com/nlohmann/json/issues/1172) -- Problem when exporting to CBOR [\#1171](https://github.com/nlohmann/json/issues/1171) -- Roundtripping null to nullptr does not work [\#1169](https://github.com/nlohmann/json/issues/1169) -- MSVC fails to compile std::swap specialization for nlohmann::json [\#1168](https://github.com/nlohmann/json/issues/1168) -- Unexpected behaviour of is\_null - Part II [\#1167](https://github.com/nlohmann/json/issues/1167) -- Floating point imprecision [\#1166](https://github.com/nlohmann/json/issues/1166) -- Combine json objects into one? [\#1165](https://github.com/nlohmann/json/issues/1165) -- Is there any way to know if the object has changed? [\#1164](https://github.com/nlohmann/json/issues/1164) -- Value throws on null string [\#1163](https://github.com/nlohmann/json/issues/1163) -- Weird template issue in large project [\#1162](https://github.com/nlohmann/json/issues/1162) -- \_json returns a different result vs ::parse [\#1161](https://github.com/nlohmann/json/issues/1161) -- Showing difference between two json objects [\#1160](https://github.com/nlohmann/json/issues/1160) -- no instance of overloaded function "std::swap" matches the specified type [\#1159](https://github.com/nlohmann/json/issues/1159) -- resize\(...\)? [\#1157](https://github.com/nlohmann/json/issues/1157) -- Issue with struct nested in class' to\_json [\#1155](https://github.com/nlohmann/json/issues/1155) -- Deserialize std::map with std::nan [\#1154](https://github.com/nlohmann/json/issues/1154) -- Parse throwing errors [\#1149](https://github.com/nlohmann/json/issues/1149) -- cocoapod integration [\#1148](https://github.com/nlohmann/json/issues/1148) -- wstring parsing [\#1147](https://github.com/nlohmann/json/issues/1147) -- Is it possible to dump a two-dimensional array to "\[\[null\],\[1,2,3\]\]"? [\#1146](https://github.com/nlohmann/json/issues/1146) -- Want to write a class member variable and a struct variable \( this structure is inside the class\) to the json file [\#1145](https://github.com/nlohmann/json/issues/1145) -- Does json support converting an instance of a struct into json string? [\#1143](https://github.com/nlohmann/json/issues/1143) -- \#Most efficient way to search for child parameters \(recursive find?\) [\#1141](https://github.com/nlohmann/json/issues/1141) -- could not find to\_json\(\) method in T's namespace [\#1140](https://github.com/nlohmann/json/issues/1140) -- chars get treated as JSON numbers not JSON strings [\#1139](https://github.com/nlohmann/json/issues/1139) -- How do I count number of objects in array? [\#1137](https://github.com/nlohmann/json/issues/1137) -- Serializing a vector of classes? [\#1136](https://github.com/nlohmann/json/issues/1136) -- Compile error. Unable convert form nullptr to nullptr&& [\#1135](https://github.com/nlohmann/json/issues/1135) -- std::unordered\_map in struct, serialization [\#1133](https://github.com/nlohmann/json/issues/1133) -- dump\(\) can't handle umlauts [\#1131](https://github.com/nlohmann/json/issues/1131) -- Add a way to get a key reference from the iterator [\#1127](https://github.com/nlohmann/json/issues/1127) -- can't not parse "\\“ string [\#1123](https://github.com/nlohmann/json/issues/1123) -- if json file contain Internationalization chars , get exception [\#1122](https://github.com/nlohmann/json/issues/1122) -- How to use a json::iterator dereferenced value in code? [\#1120](https://github.com/nlohmann/json/issues/1120) -- Disable implicit conversions from json to std::initializer\_list\<T\> for any T [\#1118](https://github.com/nlohmann/json/issues/1118) -- Implicit conversions to complex types can lead to surprising and confusing errors [\#1116](https://github.com/nlohmann/json/issues/1116) -- How can I write from\_json for a complex datatype that is not default constructible? [\#1115](https://github.com/nlohmann/json/issues/1115) -- Compile error in VS2015 when compiling unit-conversions.cpp [\#1114](https://github.com/nlohmann/json/issues/1114) -- ADL Serializer for std::any / boost::any [\#1113](https://github.com/nlohmann/json/issues/1113) -- Unexpected behaviour of is\_null [\#1112](https://github.com/nlohmann/json/issues/1112) -- How to resolve " undefined reference to `std::\_\_throw\_bad\_cast\(\)'" [\#1111](https://github.com/nlohmann/json/issues/1111) -- cannot compile on ubuntu 18.04 and 16.04 [\#1110](https://github.com/nlohmann/json/issues/1110) -- JSON representation for floating point values has too many digits [\#1109](https://github.com/nlohmann/json/issues/1109) -- Not working for classes containing "\_declspec\(dllimport\)" in their declaration [\#1108](https://github.com/nlohmann/json/issues/1108) -- Get keys from json object [\#1107](https://github.com/nlohmann/json/issues/1107) -- Cannot deserialize types using std::ratio [\#1105](https://github.com/nlohmann/json/issues/1105) -- i want to learn json [\#1104](https://github.com/nlohmann/json/issues/1104) -- Type checking during compile [\#1103](https://github.com/nlohmann/json/issues/1103) -- Iterate through sub items [\#1102](https://github.com/nlohmann/json/issues/1102) -- cppcheck failing for version 3.1.2 [\#1101](https://github.com/nlohmann/json/issues/1101) -- Deserializing std::map [\#1100](https://github.com/nlohmann/json/issues/1100) -- accessing key by reference [\#1098](https://github.com/nlohmann/json/issues/1098) -- clang 3.8.0 croaks while trying to compile with debug symbols [\#1097](https://github.com/nlohmann/json/issues/1097) -- Serialize a list of class objects with json [\#1096](https://github.com/nlohmann/json/issues/1096) -- Small question [\#1094](https://github.com/nlohmann/json/issues/1094) -- Upgrading to 3.x: to\_/from\_json with enum class [\#1093](https://github.com/nlohmann/json/issues/1093) -- Q: few questions about json construction [\#1092](https://github.com/nlohmann/json/issues/1092) -- general crayCC compilation failure [\#1091](https://github.com/nlohmann/json/issues/1091) -- Merge Patch clears original data [\#1090](https://github.com/nlohmann/json/issues/1090) -- \[Question\] how to use nlohmann/json in c++? [\#1088](https://github.com/nlohmann/json/issues/1088) -- C++17 decomposition declaration support [\#1087](https://github.com/nlohmann/json/issues/1087) -- \[Question\] Access multi-level json objects [\#1086](https://github.com/nlohmann/json/issues/1086) -- Serializing vector [\#1085](https://github.com/nlohmann/json/issues/1085) -- update nested value in multi hierarchy json object [\#1084](https://github.com/nlohmann/json/issues/1084) -- Overriding default values? [\#1083](https://github.com/nlohmann/json/issues/1083) -- detail namespace collision with Cereal? [\#1082](https://github.com/nlohmann/json/issues/1082) -- Error using json.dump\(\); [\#1081](https://github.com/nlohmann/json/issues/1081) -- Consuming TCP Stream [\#1080](https://github.com/nlohmann/json/issues/1080) -- Compilation error with strong typed enums in map in combination with namespaces [\#1079](https://github.com/nlohmann/json/issues/1079) -- cassert error [\#1076](https://github.com/nlohmann/json/issues/1076) -- Valid json data not being parsed [\#1075](https://github.com/nlohmann/json/issues/1075) -- Feature request :: Better testing for key existance without try/catch [\#1074](https://github.com/nlohmann/json/issues/1074) -- Hi, I have input like a.b.c and want to convert it to \"a\"{\"b\": \"c\"} form. Any suggestions how do I do this? Thanks. [\#1073](https://github.com/nlohmann/json/issues/1073) -- ADL deserializer not picked up for non default-constructible type [\#1072](https://github.com/nlohmann/json/issues/1072) -- Deserializing std::array doesn't compiler \(no insert\(\)\) [\#1071](https://github.com/nlohmann/json/issues/1071) -- Serializing OpenCV Mat problem [\#1070](https://github.com/nlohmann/json/issues/1070) -- Compilation error with ICPC compiler [\#1068](https://github.com/nlohmann/json/issues/1068) -- Not existing value, crash [\#1065](https://github.com/nlohmann/json/issues/1065) -- cyryllic symbols [\#1064](https://github.com/nlohmann/json/issues/1064) -- newbie usage question [\#1063](https://github.com/nlohmann/json/issues/1063) -- Trying j\["strTest"\] = "%A" produces "strTest": "-0X1.CCCCCCCCCCCCCP+205" [\#1062](https://github.com/nlohmann/json/issues/1062) -- convert json value to std::string??? [\#1061](https://github.com/nlohmann/json/issues/1061) -- Commented out test cases, should they be removed? [\#1060](https://github.com/nlohmann/json/issues/1060) -- different behaviour between clang and gcc with braced initialization [\#1059](https://github.com/nlohmann/json/issues/1059) -- json array: initialize with prescribed size and `resize` method. [\#1057](https://github.com/nlohmann/json/issues/1057) -- Is it possible to use exceptions istead of assertions? [\#1056](https://github.com/nlohmann/json/issues/1056) -- when using assign operator in with json object a static assertion fails.. [\#1055](https://github.com/nlohmann/json/issues/1055) -- Iterate over leafs of a JSON data structure: enrich the JSON pointer API [\#1054](https://github.com/nlohmann/json/issues/1054) -- \[Feature request\] Access by path [\#1053](https://github.com/nlohmann/json/issues/1053) -- document that implicit js -\> primitive conversion does not work for std::string::value\_type and why [\#1052](https://github.com/nlohmann/json/issues/1052) -- error: ‘BasicJsonType’ in namespace ‘::’ does not name a type [\#1051](https://github.com/nlohmann/json/issues/1051) -- Destructor is called when filling object through assignement [\#1050](https://github.com/nlohmann/json/issues/1050) -- Is this thing thread safe for reads? [\#1049](https://github.com/nlohmann/json/issues/1049) -- clang-tidy: Call to virtual function during construction [\#1046](https://github.com/nlohmann/json/issues/1046) -- Using STL algorithms with JSON containers with expected results? [\#1045](https://github.com/nlohmann/json/issues/1045) -- Usage with gtest/gmock not working as expected [\#1044](https://github.com/nlohmann/json/issues/1044) -- Consequences of from\_json / to\_json being in namespace of data struct. [\#1042](https://github.com/nlohmann/json/issues/1042) -- const\_reference operator\[\]\(const typename object\_t::key\_type& key\) const throw instead of assert [\#1039](https://github.com/nlohmann/json/issues/1039) -- Trying to retrieve data from nested objects [\#1038](https://github.com/nlohmann/json/issues/1038) -- Direct download link for json\_fwd.hpp? [\#1037](https://github.com/nlohmann/json/issues/1037) -- I know the library supports UTF-8, but failed to dump the value [\#1036](https://github.com/nlohmann/json/issues/1036) -- Putting a Vec3-like vector into a json object [\#1035](https://github.com/nlohmann/json/issues/1035) -- Ternary operator crash [\#1034](https://github.com/nlohmann/json/issues/1034) -- Issued with Clion Inspection Resolution since 2018.1 [\#1033](https://github.com/nlohmann/json/issues/1033) -- Some testcases fail and one never finishes [\#1032](https://github.com/nlohmann/json/issues/1032) -- Can this class work with wchar\_t / std::wstring? [\#1031](https://github.com/nlohmann/json/issues/1031) -- Makefile: Valgrind flags have no effect [\#1030](https://github.com/nlohmann/json/issues/1030) -- 「==」 Should be 「\>」 [\#1029](https://github.com/nlohmann/json/issues/1029) -- HOCON reader? [\#1027](https://github.com/nlohmann/json/issues/1027) -- add json string in previous string?? [\#1025](https://github.com/nlohmann/json/issues/1025) -- RFC: fluent parsing interface [\#1023](https://github.com/nlohmann/json/issues/1023) -- Does it support chinese character? [\#1022](https://github.com/nlohmann/json/issues/1022) -- to/from\_msgpack only works with standard typization [\#1021](https://github.com/nlohmann/json/issues/1021) -- Build failure using latest clang and GCC compilers [\#1020](https://github.com/nlohmann/json/issues/1020) -- can two json objects be concatenated? [\#1019](https://github.com/nlohmann/json/issues/1019) -- Erase by integer index [\#1018](https://github.com/nlohmann/json/issues/1018) -- Function find overload taking a json\_pointer [\#1017](https://github.com/nlohmann/json/issues/1017) -- I think should implement an parser function [\#1016](https://github.com/nlohmann/json/issues/1016) -- Readme gif [\#1015](https://github.com/nlohmann/json/issues/1015) -- Python bindings [\#1014](https://github.com/nlohmann/json/issues/1014) -- how to add two json string in single object?? [\#1012](https://github.com/nlohmann/json/issues/1012) -- how to serialize class Object \(convert data in object into json\)?? [\#1011](https://github.com/nlohmann/json/issues/1011) -- Enable forward declaration of json by making json a class instead of a using declaration [\#997](https://github.com/nlohmann/json/issues/997) -- compilation error while using intel c++ compiler 2018 [\#994](https://github.com/nlohmann/json/issues/994) -- How to create a json variable? [\#990](https://github.com/nlohmann/json/issues/990) -- istream \>\> json --- 1st character skipped in stream [\#976](https://github.com/nlohmann/json/issues/976) -- Add a SAX parser [\#971](https://github.com/nlohmann/json/issues/971) -- How to solve large json file? [\#927](https://github.com/nlohmann/json/issues/927) -- json\_pointer public push\_back, pop\_back [\#837](https://github.com/nlohmann/json/issues/837) -- Using input\_adapter in a slightly unexpected way [\#834](https://github.com/nlohmann/json/issues/834) - -- Fix -Wno-sometimes-uninitialized by initializing "result" in parse\_sax [\#1200](https://github.com/nlohmann/json/pull/1200) ([thyu](https://github.com/thyu)) -- \[RFC\] Introduce a new macro function: JSON\_INTERNAL\_CATCH [\#1187](https://github.com/nlohmann/json/pull/1187) ([simnalamburt](https://github.com/simnalamburt)) -- Fix unit tests that were silently skipped or crashed \(depending on the compiler\) [\#1176](https://github.com/nlohmann/json/pull/1176) ([grembo](https://github.com/grembo)) -- Refactor/no virtual sax [\#1153](https://github.com/nlohmann/json/pull/1153) ([theodelrieu](https://github.com/theodelrieu)) -- Fixed compiler error in VS 2015 for debug mode [\#1151](https://github.com/nlohmann/json/pull/1151) ([sonulohani](https://github.com/sonulohani)) -- Fix links to cppreference named requirements \(formerly concepts\) [\#1144](https://github.com/nlohmann/json/pull/1144) ([ghost](https://github.com/ghost)) -- meson: fix include directory [\#1142](https://github.com/nlohmann/json/pull/1142) ([ghost](https://github.com/ghost)) -- Feature/unordered map conversion [\#1138](https://github.com/nlohmann/json/pull/1138) ([theodelrieu](https://github.com/theodelrieu)) -- fixed compile error for \#1045 [\#1134](https://github.com/nlohmann/json/pull/1134) ([Daniel599](https://github.com/Daniel599)) -- test \(non\)equality for alt\_string implementation [\#1130](https://github.com/nlohmann/json/pull/1130) ([agrianius](https://github.com/agrianius)) -- remove stringstream dependency [\#1117](https://github.com/nlohmann/json/pull/1117) ([TinyTinni](https://github.com/TinyTinni)) -- Provide a from\_json overload for std::map [\#1089](https://github.com/nlohmann/json/pull/1089) ([theodelrieu](https://github.com/theodelrieu)) -- fix typo in README [\#1078](https://github.com/nlohmann/json/pull/1078) ([martin-mfg](https://github.com/martin-mfg)) -- Fix typo [\#1058](https://github.com/nlohmann/json/pull/1058) ([dns13](https://github.com/dns13)) -- Misc cmake packaging enhancements [\#1048](https://github.com/nlohmann/json/pull/1048) ([chuckatkins](https://github.com/chuckatkins)) -- Fixed incorrect LLVM version number in README [\#1047](https://github.com/nlohmann/json/pull/1047) ([jupjohn](https://github.com/jupjohn)) -- Fix trivial typo in comment. [\#1043](https://github.com/nlohmann/json/pull/1043) ([coryan](https://github.com/coryan)) -- Package Manager: Spack [\#1041](https://github.com/nlohmann/json/pull/1041) ([ax3l](https://github.com/ax3l)) -- CMake: 3.8+ is Sufficient [\#1040](https://github.com/nlohmann/json/pull/1040) ([ax3l](https://github.com/ax3l)) -- Added support for string\_view in C++17 [\#1028](https://github.com/nlohmann/json/pull/1028) ([gracicot](https://github.com/gracicot)) -- Added public target\_compile\_features for auto and constexpr [\#1026](https://github.com/nlohmann/json/pull/1026) ([ktonon](https://github.com/ktonon)) - -## [v3.1.2](https://github.com/nlohmann/json/releases/tag/v3.1.2) (2018-03-14) - -[Full Changelog](https://github.com/nlohmann/json/compare/3.1.2...v3.1.2) - -## [3.1.2](https://github.com/nlohmann/json/releases/tag/3.1.2) (2018-03-14) - -[Full Changelog](https://github.com/nlohmann/json/compare/v3.1.1...3.1.2) - -- STL containers are always serialized to a nested array like \[\[1,2,3\]\] [\#1013](https://github.com/nlohmann/json/issues/1013) -- The library doesn't want to insert an unordered\_map [\#1010](https://github.com/nlohmann/json/issues/1010) -- Convert Json to uint8\_t [\#1008](https://github.com/nlohmann/json/issues/1008) -- How to compare two JSON objects? [\#1007](https://github.com/nlohmann/json/issues/1007) -- Syntax checking [\#1003](https://github.com/nlohmann/json/issues/1003) -- more than one operator '=' matches these operands [\#1002](https://github.com/nlohmann/json/issues/1002) -- How to check if key existed [\#1000](https://github.com/nlohmann/json/issues/1000) -- nlohmann::json::parse exhaust memory in go binding [\#999](https://github.com/nlohmann/json/issues/999) -- Range-based iteration over a non-array object [\#998](https://github.com/nlohmann/json/issues/998) -- get\<T\> for types that are not default constructible [\#996](https://github.com/nlohmann/json/issues/996) -- Prevent Null values to appear in .dump\(\) [\#995](https://github.com/nlohmann/json/issues/995) -- number parsing [\#993](https://github.com/nlohmann/json/issues/993) -- C2664 \(C++/CLR\) cannot convert 'nullptr' to 'nullptr &&' [\#987](https://github.com/nlohmann/json/issues/987) -- Uniform initialization from another json object differs between gcc and clang. [\#985](https://github.com/nlohmann/json/issues/985) -- Problem with adding the lib as a submodule [\#983](https://github.com/nlohmann/json/issues/983) -- UTF-8/Unicode error [\#982](https://github.com/nlohmann/json/issues/982) -- "forcing MSVC stacktrace to show which T we're talking about." error [\#980](https://github.com/nlohmann/json/issues/980) -- reverse order of serialization [\#979](https://github.com/nlohmann/json/issues/979) -- Assigning between different json types [\#977](https://github.com/nlohmann/json/issues/977) -- Support serialisation of `unique_ptr<>` and `shared_ptr<>` [\#975](https://github.com/nlohmann/json/issues/975) -- Unexpected end of input \(not same as one before\) [\#974](https://github.com/nlohmann/json/issues/974) -- Segfault on direct initializing json object [\#973](https://github.com/nlohmann/json/issues/973) -- Segmentation fault on G++ when trying to assign json string literal to custom json type. [\#972](https://github.com/nlohmann/json/issues/972) -- os\_defines.h:44:19: error: missing binary operator before token "\(" [\#970](https://github.com/nlohmann/json/issues/970) -- Passing an iteration object by reference to a function [\#967](https://github.com/nlohmann/json/issues/967) -- Json and fmt::lib's format\_arg\(\) [\#964](https://github.com/nlohmann/json/issues/964) - -- Allowing for user-defined string type in lexer/parser [\#1009](https://github.com/nlohmann/json/pull/1009) ([nlohmann](https://github.com/nlohmann)) -- dump to alternative string type, as defined in basic\_json template [\#1006](https://github.com/nlohmann/json/pull/1006) ([agrianius](https://github.com/agrianius)) -- Fix memory leak during parser callback [\#1001](https://github.com/nlohmann/json/pull/1001) ([nlohmann](https://github.com/nlohmann)) -- fixed misprinted condition detected by PVS Studio. [\#992](https://github.com/nlohmann/json/pull/992) ([bogemic](https://github.com/bogemic)) -- Fix/basic json conversion [\#986](https://github.com/nlohmann/json/pull/986) ([theodelrieu](https://github.com/theodelrieu)) -- Make integration section concise [\#981](https://github.com/nlohmann/json/pull/981) ([wla80](https://github.com/wla80)) - -## [v3.1.1](https://github.com/nlohmann/json/releases/tag/v3.1.1) (2018-02-13) - -[Full Changelog](https://github.com/nlohmann/json/compare/v3.1.0...v3.1.1) - -- Updation of child object isn't reflected in parent Object [\#968](https://github.com/nlohmann/json/issues/968) -- How to add user defined C++ path to sublime text [\#966](https://github.com/nlohmann/json/issues/966) -- fast number parsing [\#965](https://github.com/nlohmann/json/issues/965) -- With non-unique keys, later stored entries are not taken into account anymore [\#963](https://github.com/nlohmann/json/issues/963) -- Timeout \(OSS-Fuzz 6034\) [\#962](https://github.com/nlohmann/json/issues/962) -- Incorrect parsing of indefinite length CBOR strings. [\#961](https://github.com/nlohmann/json/issues/961) -- Reload a json file at runtime without emptying my std::ifstream [\#959](https://github.com/nlohmann/json/issues/959) -- Split headers should be part of the release [\#956](https://github.com/nlohmann/json/issues/956) -- Coveralls shows no coverage data [\#953](https://github.com/nlohmann/json/issues/953) -- Feature request: Implicit conversion to bool [\#951](https://github.com/nlohmann/json/issues/951) -- converting json to vector of type with templated constructor [\#924](https://github.com/nlohmann/json/issues/924) -- No structured bindings support? [\#901](https://github.com/nlohmann/json/issues/901) -- \[Request\] Macro generating from\_json\(\) and to\_json\(\) [\#895](https://github.com/nlohmann/json/issues/895) -- basic\_json::value throws exception instead of returning default value [\#871](https://github.com/nlohmann/json/issues/871) - -- Fix constraints on from\_json\(CompatibleArrayType\) [\#969](https://github.com/nlohmann/json/pull/969) ([theodelrieu](https://github.com/theodelrieu)) -- Make coveralls watch the include folder [\#957](https://github.com/nlohmann/json/pull/957) ([theodelrieu](https://github.com/theodelrieu)) -- Fix links in README.md [\#955](https://github.com/nlohmann/json/pull/955) ([patrikhuber](https://github.com/patrikhuber)) -- Add a note about installing the library with cget [\#954](https://github.com/nlohmann/json/pull/954) ([pfultz2](https://github.com/pfultz2)) - -## [v3.1.0](https://github.com/nlohmann/json/releases/tag/v3.1.0) (2018-02-01) - -[Full Changelog](https://github.com/nlohmann/json/compare/3.1.0...v3.1.0) - -## [3.1.0](https://github.com/nlohmann/json/releases/tag/3.1.0) (2018-02-01) - -[Full Changelog](https://github.com/nlohmann/json/compare/v3.0.1...3.1.0) - -- I have a proposal [\#949](https://github.com/nlohmann/json/issues/949) -- VERSION define\(s\) [\#948](https://github.com/nlohmann/json/issues/948) -- v3.0.1 compile error in icc 16.0.4 [\#947](https://github.com/nlohmann/json/issues/947) -- Use in VS2017 15.5.5 [\#946](https://github.com/nlohmann/json/issues/946) -- Process for reporting Security Bugs? [\#945](https://github.com/nlohmann/json/issues/945) -- Please expose a NLOHMANN\_JSON\_VERSION macro [\#943](https://github.com/nlohmann/json/issues/943) -- Change header include directory to nlohmann/json [\#942](https://github.com/nlohmann/json/issues/942) -- string\_type in binary\_reader [\#941](https://github.com/nlohmann/json/issues/941) -- compile error with clang 5.0 -std=c++1z and no string\_view [\#939](https://github.com/nlohmann/json/issues/939) -- Allow overriding JSON\_THROW to something else than abort\(\) [\#938](https://github.com/nlohmann/json/issues/938) -- Handle invalid string in Json file [\#937](https://github.com/nlohmann/json/issues/937) -- Unused variable 'kMinExp' [\#935](https://github.com/nlohmann/json/issues/935) -- yytext is already defined [\#933](https://github.com/nlohmann/json/issues/933) -- Equality operator fails [\#931](https://github.com/nlohmann/json/issues/931) -- use in visual studio 2015 [\#929](https://github.com/nlohmann/json/issues/929) -- Relative includes of json\_fwd.hpp in detail/meta.hpp. \[Develop branch\] [\#928](https://github.com/nlohmann/json/issues/928) -- GCC 7.x issue [\#926](https://github.com/nlohmann/json/issues/926) -- json\_fwd.hpp not installed [\#923](https://github.com/nlohmann/json/issues/923) -- Use Google Benchmarks [\#921](https://github.com/nlohmann/json/issues/921) -- Move class json\_pointer to separate file [\#920](https://github.com/nlohmann/json/issues/920) -- Unable to locate 'to\_json\(\)' and 'from\_json\(\)' methods in the same namespace [\#917](https://github.com/nlohmann/json/issues/917) -- \[answered\]Read key1 from .value example [\#914](https://github.com/nlohmann/json/issues/914) -- Don't use `define private public` in test files [\#913](https://github.com/nlohmann/json/issues/913) -- value\(\) template argument type deduction [\#912](https://github.com/nlohmann/json/issues/912) -- Installation path is incorrect [\#910](https://github.com/nlohmann/json/issues/910) -- H [\#909](https://github.com/nlohmann/json/issues/909) -- Build failure using clang 5 [\#908](https://github.com/nlohmann/json/issues/908) -- Amalgate [\#907](https://github.com/nlohmann/json/issues/907) -- Update documentation and tests wrt. split headers [\#906](https://github.com/nlohmann/json/issues/906) -- Lib not working on ubuntu 16.04 [\#905](https://github.com/nlohmann/json/issues/905) -- Problem when writing to file. [\#904](https://github.com/nlohmann/json/issues/904) -- C2864 error when compiling with VS2015 and VS 2017 [\#903](https://github.com/nlohmann/json/issues/903) -- \[json.exception.type\_error.304\] cannot use at\(\) with object [\#902](https://github.com/nlohmann/json/issues/902) -- How do I forward nlohmann::json declaration? [\#899](https://github.com/nlohmann/json/issues/899) -- How to effectively store binary data? [\#898](https://github.com/nlohmann/json/issues/898) -- How to get the length of a JSON string without retrieving its std::string? [\#897](https://github.com/nlohmann/json/issues/897) -- Regression Tests Failure using "ctest" [\#887](https://github.com/nlohmann/json/issues/887) -- Discuss: add JSON Merge Patch \(RFC 7396\)? [\#877](https://github.com/nlohmann/json/issues/877) -- Discuss: replace static "iterator\_wrapper" function with "items" member function [\#874](https://github.com/nlohmann/json/issues/874) -- Make optional user-data available in from\_json [\#864](https://github.com/nlohmann/json/issues/864) -- Casting to std::string not working in VS2015 [\#861](https://github.com/nlohmann/json/issues/861) -- Sequential reading of JSON arrays [\#851](https://github.com/nlohmann/json/issues/851) -- Idea: Handle Multimaps Better [\#816](https://github.com/nlohmann/json/issues/816) -- Floating point rounding [\#777](https://github.com/nlohmann/json/issues/777) -- Loss of precision when serializing \<double\> [\#360](https://github.com/nlohmann/json/issues/360) - -- Templatize std::string in binary\_reader \#941 [\#950](https://github.com/nlohmann/json/pull/950) ([kaidokert](https://github.com/kaidokert)) -- fix cmake install directory \(for real this time\) [\#944](https://github.com/nlohmann/json/pull/944) ([theodelrieu](https://github.com/theodelrieu)) -- Allow overriding THROW/CATCH/TRY macros with no-exceptions \#938 [\#940](https://github.com/nlohmann/json/pull/940) ([kaidokert](https://github.com/kaidokert)) -- Removed compiler warning about unused variable 'kMinExp' [\#936](https://github.com/nlohmann/json/pull/936) ([zerodefect](https://github.com/zerodefect)) -- Fix a typo in README.md [\#930](https://github.com/nlohmann/json/pull/930) ([Pipeliner](https://github.com/Pipeliner)) -- Howto installation of json\_fwd.hpp \(fixes \#923\) [\#925](https://github.com/nlohmann/json/pull/925) ([zerodefect](https://github.com/zerodefect)) -- fix sfinae on basic\_json UDT constructor [\#919](https://github.com/nlohmann/json/pull/919) ([theodelrieu](https://github.com/theodelrieu)) -- Floating-point formatting [\#915](https://github.com/nlohmann/json/pull/915) ([abolz](https://github.com/abolz)) -- Fix/cmake install [\#911](https://github.com/nlohmann/json/pull/911) ([theodelrieu](https://github.com/theodelrieu)) -- fix link to the documentation of the emplace function [\#900](https://github.com/nlohmann/json/pull/900) ([Dobiasd](https://github.com/Dobiasd)) -- JSON Merge Patch \(RFC 7396\) [\#876](https://github.com/nlohmann/json/pull/876) ([nlohmann](https://github.com/nlohmann)) -- Refactor/split it [\#700](https://github.com/nlohmann/json/pull/700) ([theodelrieu](https://github.com/theodelrieu)) - -## [v3.0.1](https://github.com/nlohmann/json/releases/tag/v3.0.1) (2017-12-29) - -[Full Changelog](https://github.com/nlohmann/json/compare/3.0.1...v3.0.1) - -## [3.0.1](https://github.com/nlohmann/json/releases/tag/3.0.1) (2017-12-29) - -[Full Changelog](https://github.com/nlohmann/json/compare/v3.0.0...3.0.1) - -- Problem parsing array to global vector [\#896](https://github.com/nlohmann/json/issues/896) -- Invalid RFC6902 copy operation succeeds [\#894](https://github.com/nlohmann/json/issues/894) -- How to rename a key during looping? [\#893](https://github.com/nlohmann/json/issues/893) -- clang++-6.0 \(6.0.0-svn321357-1\) warning [\#892](https://github.com/nlohmann/json/issues/892) -- Make json.hpp aware of the modules TS? [\#891](https://github.com/nlohmann/json/issues/891) -- All enum values not handled in switch cases. \( -Wswitch-enum \) [\#889](https://github.com/nlohmann/json/issues/889) -- JSON Pointer resolve failure resulting in incorrect exception code [\#888](https://github.com/nlohmann/json/issues/888) -- Unexpected nested arrays from std::vector [\#886](https://github.com/nlohmann/json/issues/886) -- erase multiple elements from a json object [\#884](https://github.com/nlohmann/json/issues/884) -- Container function overview in Doxygen is not updated [\#883](https://github.com/nlohmann/json/issues/883) -- How to use this for binary file uploads [\#881](https://github.com/nlohmann/json/issues/881) -- Allow setting JSON\_BuildTests=OFF from parent CMakeLists.txt [\#846](https://github.com/nlohmann/json/issues/846) -- Unit test fails for local-independent str-to-num [\#845](https://github.com/nlohmann/json/issues/845) -- Another idea about type support [\#774](https://github.com/nlohmann/json/issues/774) - -- Includes CTest module/adds BUILD\_TESTING option [\#885](https://github.com/nlohmann/json/pull/885) ([TinyTinni](https://github.com/TinyTinni)) -- Fix MSVC warning C4819 [\#882](https://github.com/nlohmann/json/pull/882) ([erengy](https://github.com/erengy)) -- Merge branch 'develop' into coverity\_scan [\#880](https://github.com/nlohmann/json/pull/880) ([nlohmann](https://github.com/nlohmann)) -- :wrench: Fix up a few more effc++ items [\#858](https://github.com/nlohmann/json/pull/858) ([mattismyname](https://github.com/mattismyname)) - -## [v3.0.0](https://github.com/nlohmann/json/releases/tag/v3.0.0) (2017-12-17) - -[Full Changelog](https://github.com/nlohmann/json/compare/3.0.0...v3.0.0) - -## [3.0.0](https://github.com/nlohmann/json/releases/tag/3.0.0) (2017-12-17) - -[Full Changelog](https://github.com/nlohmann/json/compare/v2.1.1...3.0.0) - -- unicode strings [\#878](https://github.com/nlohmann/json/issues/878) -- Visual Studio 2017 15.5 C++17 std::allocator deprecations [\#872](https://github.com/nlohmann/json/issues/872) -- Typo "excpetion" [\#869](https://github.com/nlohmann/json/issues/869) -- Explicit array example in README.md incorrect [\#867](https://github.com/nlohmann/json/issues/867) -- why don't you release this from Feb. ? [\#865](https://github.com/nlohmann/json/issues/865) -- json::parse throws std::invalid\_argument when processing string generated by json::dump\(\) [\#863](https://github.com/nlohmann/json/issues/863) -- code analysis: potential bug? [\#859](https://github.com/nlohmann/json/issues/859) -- MSVC2017, 15.5 new issues. [\#857](https://github.com/nlohmann/json/issues/857) -- very basic: fetching string value/content without quotes [\#853](https://github.com/nlohmann/json/issues/853) -- Ambiguous function call to get with pointer type and constant json object in VS2015 \(15.4.4\) [\#852](https://github.com/nlohmann/json/issues/852) -- How to put object in the array as a member? [\#850](https://github.com/nlohmann/json/issues/850) -- misclick, please ignore [\#849](https://github.com/nlohmann/json/issues/849) -- Make XML great again. [\#847](https://github.com/nlohmann/json/issues/847) -- Converting to array not working [\#843](https://github.com/nlohmann/json/issues/843) -- Iteration weirdness [\#842](https://github.com/nlohmann/json/issues/842) -- Use reference or pointer as Object value [\#841](https://github.com/nlohmann/json/issues/841) -- Ambiguity in parsing nested maps [\#840](https://github.com/nlohmann/json/issues/840) -- could not find from\_json\(\) method in T's namespace [\#839](https://github.com/nlohmann/json/issues/839) -- Incorrect parse error with binary data in keys? [\#838](https://github.com/nlohmann/json/issues/838) -- using dump\(\) when std::wstring is StringType with VS2017 [\#836](https://github.com/nlohmann/json/issues/836) -- Show the path of the currently parsed value when an error occurs [\#835](https://github.com/nlohmann/json/issues/835) -- Repetitive data type while reading [\#833](https://github.com/nlohmann/json/issues/833) -- Storing multiple types inside map [\#831](https://github.com/nlohmann/json/issues/831) -- Application terminating [\#830](https://github.com/nlohmann/json/issues/830) -- Missing CMake hunter package? [\#828](https://github.com/nlohmann/json/issues/828) -- std::map\<std::string, std::string\> from json object yields C2665: 'std::pair\<const \_Kty,\_Ty\>::pair': none of the 2 overloads could convert all the argument types [\#827](https://github.com/nlohmann/json/issues/827) -- object.dump gives quoted string, want to use .dump\(\) to generate javascripts. [\#826](https://github.com/nlohmann/json/issues/826) -- Assertion failed on \["NoExistKey"\] of an not existing key of const json& [\#825](https://github.com/nlohmann/json/issues/825) -- vs2015 error : static member will remain uninitialized at runtime but use in constant-expressions is supported [\#824](https://github.com/nlohmann/json/issues/824) -- Code Checking Warnings from json.hpp on VS2017 Community [\#821](https://github.com/nlohmann/json/issues/821) -- Missing iostream in try online [\#820](https://github.com/nlohmann/json/issues/820) -- Floating point value loses decimal point during dump [\#818](https://github.com/nlohmann/json/issues/818) -- Conan package for the library [\#817](https://github.com/nlohmann/json/issues/817) -- stream error [\#815](https://github.com/nlohmann/json/issues/815) -- Link error when using find\(\) on the latest commit [\#814](https://github.com/nlohmann/json/issues/814) -- ABI issue with json object between 2 shared libraries [\#813](https://github.com/nlohmann/json/issues/813) -- scan\_string\(\) return token\_type::parse\_error; when parse ansi file [\#812](https://github.com/nlohmann/json/issues/812) -- segfault when using fifo\_map with json [\#810](https://github.com/nlohmann/json/issues/810) -- This shit is shit [\#809](https://github.com/nlohmann/json/issues/809) -- \_finite and \_isnan are no members of "std" [\#808](https://github.com/nlohmann/json/issues/808) -- how to print out the line which causing exception? [\#806](https://github.com/nlohmann/json/issues/806) -- {} uses copy constructor, while = does not [\#805](https://github.com/nlohmann/json/issues/805) -- json.hpp:8955: multiple definition of function that is not defined twice or more. [\#804](https://github.com/nlohmann/json/issues/804) -- \[question\] to\_json for base and derived class [\#803](https://github.com/nlohmann/json/issues/803) -- Misleading error message - unexpected '"' - on incorrect utf-8 symbol [\#802](https://github.com/nlohmann/json/issues/802) -- json data = std::string\_view\("hi"\); doesn't work? [\#801](https://github.com/nlohmann/json/issues/801) -- Thread safety of parse\(\) [\#800](https://github.com/nlohmann/json/issues/800) -- Numbers as strings [\#799](https://github.com/nlohmann/json/issues/799) -- Tests failing on arm [\#797](https://github.com/nlohmann/json/issues/797) -- Using your library \(without modification\) in another library [\#796](https://github.com/nlohmann/json/issues/796) -- Iterating over sub-object [\#794](https://github.com/nlohmann/json/issues/794) -- how to get the json object again from which printed by the method of dump\(\) [\#792](https://github.com/nlohmann/json/issues/792) -- ppa to include source [\#791](https://github.com/nlohmann/json/issues/791) -- Different include paths in macOS and Ubuntu [\#790](https://github.com/nlohmann/json/issues/790) -- Missing break after line 12886 in switch/case [\#789](https://github.com/nlohmann/json/issues/789) -- All unit tests fail? [\#787](https://github.com/nlohmann/json/issues/787) -- More use of move semantics in deserialization [\#786](https://github.com/nlohmann/json/issues/786) -- warning C4706 - Visual Studio 2017 \(/W4\) [\#784](https://github.com/nlohmann/json/issues/784) -- Compile error in clang 5.0 [\#782](https://github.com/nlohmann/json/issues/782) -- Error Installing appium\_lib with Ruby v2.4.2 Due to JSON [\#781](https://github.com/nlohmann/json/issues/781) -- ::get\<int\>\(\) fails in new\(er\) release \[MSVC\] [\#780](https://github.com/nlohmann/json/issues/780) -- Type Conversion [\#779](https://github.com/nlohmann/json/issues/779) -- Segfault on nested parsing [\#778](https://github.com/nlohmann/json/issues/778) -- Build warnings: shadowing exception id [\#776](https://github.com/nlohmann/json/issues/776) -- multi-level JSON support. [\#775](https://github.com/nlohmann/json/issues/775) -- SIGABRT on dump\(\) [\#773](https://github.com/nlohmann/json/issues/773) -- \[Question\] Custom StringType template parameter \(possibility for a KeyType template parameter\) [\#772](https://github.com/nlohmann/json/issues/772) -- constexpr ALL the Things! [\#771](https://github.com/nlohmann/json/issues/771) -- error: ‘BasicJsonType’ in namespace ‘::’ does not name a type [\#770](https://github.com/nlohmann/json/issues/770) -- Program calls abort function [\#769](https://github.com/nlohmann/json/issues/769) -- \[Question\] Floating point resolution config during dump\(\) ? [\#768](https://github.com/nlohmann/json/issues/768) -- make check - no test ran [\#767](https://github.com/nlohmann/json/issues/767) -- The library cannot work properly with custom allocator based containers [\#766](https://github.com/nlohmann/json/issues/766) -- Documentation or feature request. [\#763](https://github.com/nlohmann/json/issues/763) -- warnings in msvc about mix/max macro while windows.h is used in the project [\#762](https://github.com/nlohmann/json/issues/762) -- std::signbit ambiguous [\#761](https://github.com/nlohmann/json/issues/761) -- How to use value for std::experimental::optional type? [\#760](https://github.com/nlohmann/json/issues/760) -- Cannot load json file properly [\#759](https://github.com/nlohmann/json/issues/759) -- Compilation error with unordered\_map\< int, int \> [\#758](https://github.com/nlohmann/json/issues/758) -- CBOR string [\#757](https://github.com/nlohmann/json/issues/757) -- Proposal: out\_of\_range should be a subclass of std::out\_of\_range [\#756](https://github.com/nlohmann/json/issues/756) -- Getter is setting the value to null if the key does not exist [\#754](https://github.com/nlohmann/json/issues/754) -- parsing works sometimes and crashes others [\#752](https://github.com/nlohmann/json/issues/752) -- Static\_assert failed "incompatible pointer type" with Xcode [\#751](https://github.com/nlohmann/json/issues/751) -- user-defined literal operator not found [\#750](https://github.com/nlohmann/json/issues/750) -- getting clean string from it.key\(\) [\#748](https://github.com/nlohmann/json/issues/748) -- Best method for exploring and obtaining values of nested json objects when the names are not known beforehand? [\#747](https://github.com/nlohmann/json/issues/747) -- null char at the end of string [\#746](https://github.com/nlohmann/json/issues/746) -- Incorrect sample for operator \>\> in docs [\#745](https://github.com/nlohmann/json/issues/745) -- User-friendly documentation [\#744](https://github.com/nlohmann/json/issues/744) -- Retrieve all values that match a json path [\#743](https://github.com/nlohmann/json/issues/743) -- Compilation issue with gcc 7.2 [\#742](https://github.com/nlohmann/json/issues/742) -- CMake target nlohmann\_json does not have src into its interface includes [\#741](https://github.com/nlohmann/json/issues/741) -- Error when serializing empty json: type must be string, but is object [\#740](https://github.com/nlohmann/json/issues/740) -- Conversion error for std::map\<int, std::string\> [\#739](https://github.com/nlohmann/json/issues/739) -- Dumping Json to file as array [\#738](https://github.com/nlohmann/json/issues/738) -- nesting json objects [\#737](https://github.com/nlohmann/json/issues/737) -- where to find general help? [\#736](https://github.com/nlohmann/json/issues/736) -- Compilation Error on Clang 5.0 Upgrade [\#735](https://github.com/nlohmann/json/issues/735) -- Compilation error with std::map\<std::string, std::string\> on vs 2015 [\#734](https://github.com/nlohmann/json/issues/734) -- Benchmarks for Binary formats [\#733](https://github.com/nlohmann/json/issues/733) -- Support \n symbols in json string. [\#731](https://github.com/nlohmann/json/issues/731) -- Project's name is too generic and hard to search for [\#730](https://github.com/nlohmann/json/issues/730) -- Visual Studio 2015 IntelliTrace problems [\#729](https://github.com/nlohmann/json/issues/729) -- How to erase nested objects inside other objects? [\#728](https://github.com/nlohmann/json/issues/728) -- Serialization for CBOR [\#726](https://github.com/nlohmann/json/issues/726) -- Using json Object as value in a map [\#725](https://github.com/nlohmann/json/issues/725) -- std::regex and nlohmann::json value [\#724](https://github.com/nlohmann/json/issues/724) -- Warnings when compiling with VisualStudio 2015 [\#723](https://github.com/nlohmann/json/issues/723) -- Has this lib the unicode \(wstring\) support? [\#722](https://github.com/nlohmann/json/issues/722) -- When will be 3.0 in master? [\#721](https://github.com/nlohmann/json/issues/721) -- Determine the type from error message. [\#720](https://github.com/nlohmann/json/issues/720) -- Compile-Error C2100 \(MS VS2015\) in line 887 json.hpp [\#719](https://github.com/nlohmann/json/issues/719) -- from\_json not working for boost::optional example [\#718](https://github.com/nlohmann/json/issues/718) -- about from\_json and to\_json function [\#717](https://github.com/nlohmann/json/issues/717) -- How to detect parse failure? [\#715](https://github.com/nlohmann/json/issues/715) -- Parse throw std::ios\_base::failure exception when failbit set to true [\#714](https://github.com/nlohmann/json/issues/714) -- Is there a way of format just making a pretty print without changing the key's orders ? [\#713](https://github.com/nlohmann/json/issues/713) -- Serialization of array of not same model items [\#712](https://github.com/nlohmann/json/issues/712) -- pointer to json parse vector [\#711](https://github.com/nlohmann/json/issues/711) -- Gtest SEH Exception [\#709](https://github.com/nlohmann/json/issues/709) -- broken from\_json implementation for pair and tuple [\#707](https://github.com/nlohmann/json/issues/707) -- Unevaluated lambda in assert breaks gcc 7 build [\#705](https://github.com/nlohmann/json/issues/705) -- Issues when adding values to firebase database [\#704](https://github.com/nlohmann/json/issues/704) -- Floating point equality - revisited [\#703](https://github.com/nlohmann/json/issues/703) -- Conversion from valarray\<double\> to json fails to build [\#702](https://github.com/nlohmann/json/issues/702) -- internal compiler error \(gcc7\) [\#701](https://github.com/nlohmann/json/issues/701) -- One build system to rule them all [\#698](https://github.com/nlohmann/json/issues/698) -- Generated nlohmann\_jsonConfig.cmake does not set JSON\_INCLUDE\_DIR [\#695](https://github.com/nlohmann/json/issues/695) -- support the Chinese language in json string [\#694](https://github.com/nlohmann/json/issues/694) -- NaN problem within develop branch [\#693](https://github.com/nlohmann/json/issues/693) -- Please post example of specialization for boost::filesystem [\#692](https://github.com/nlohmann/json/issues/692) -- Impossible to do an array of composite objects [\#691](https://github.com/nlohmann/json/issues/691) -- How to save json to file? [\#690](https://github.com/nlohmann/json/issues/690) -- my simple json parser [\#689](https://github.com/nlohmann/json/issues/689) -- problem with new struct parsing syntax [\#688](https://github.com/nlohmann/json/issues/688) -- Parse error while parse the json string contains UTF 8 encoded document bytes string [\#684](https://github.com/nlohmann/json/issues/684) -- \[question\] how to get a string value by pointer [\#683](https://github.com/nlohmann/json/issues/683) -- create json object from string variable [\#681](https://github.com/nlohmann/json/issues/681) -- adl\_serializer and CRTP [\#680](https://github.com/nlohmann/json/issues/680) -- Is there a way to control the precision of serialized floating point numbers? [\#677](https://github.com/nlohmann/json/issues/677) -- Is there a way to get the path of a value? [\#676](https://github.com/nlohmann/json/issues/676) -- Could the parser locate errors to line? [\#675](https://github.com/nlohmann/json/issues/675) -- There is performance inefficiency found by coverity tool json2.1.1/include/nlohmann/json.hpp [\#673](https://github.com/nlohmann/json/issues/673) -- include problem, when cmake on osx [\#672](https://github.com/nlohmann/json/issues/672) -- Operator= ambiguous in C++1z and GCC 7.1.1 [\#670](https://github.com/nlohmann/json/issues/670) -- should't the cmake install target be to nlohman/json.hpp [\#668](https://github.com/nlohmann/json/issues/668) -- deserialise from `std::vector` [\#667](https://github.com/nlohmann/json/issues/667) -- How to iterate? [\#665](https://github.com/nlohmann/json/issues/665) -- could this json lib work on windows? [\#664](https://github.com/nlohmann/json/issues/664) -- How does from\_json work? [\#662](https://github.com/nlohmann/json/issues/662) -- insert\(or merge\) object should replace same key , not ignore [\#661](https://github.com/nlohmann/json/issues/661) -- Parse method doesn't handle newlines. [\#659](https://github.com/nlohmann/json/issues/659) -- Compilation "note" on GCC 6 ARM [\#658](https://github.com/nlohmann/json/issues/658) -- Adding additional push\_back/operator+= rvalue overloads for JSON object [\#657](https://github.com/nlohmann/json/issues/657) -- dump's parameter "ensure\_ascii" creates too long sequences [\#656](https://github.com/nlohmann/json/issues/656) -- Question: parsing `void *` [\#655](https://github.com/nlohmann/json/issues/655) -- how should I check a string is valid JSON string ? [\#653](https://github.com/nlohmann/json/issues/653) -- Question: thread safety of read only accesses [\#651](https://github.com/nlohmann/json/issues/651) -- Eclipse: Method 'size' could not be resolved [\#649](https://github.com/nlohmann/json/issues/649) -- Update/Add object fields [\#648](https://github.com/nlohmann/json/issues/648) -- No exception raised for Out Of Range input of numbers [\#647](https://github.com/nlohmann/json/issues/647) -- Package Name [\#646](https://github.com/nlohmann/json/issues/646) -- What is the meaning of operator\[\]\(T\* key\) [\#645](https://github.com/nlohmann/json/issues/645) -- Which is the correct way to json objects as parameters to functions? [\#644](https://github.com/nlohmann/json/issues/644) -- Method to get string representations of values [\#642](https://github.com/nlohmann/json/issues/642) -- CBOR serialization of a given JSON value does not serialize [\#641](https://github.com/nlohmann/json/issues/641) -- Are we forced to use "-fexceptions" flag in android ndk project [\#640](https://github.com/nlohmann/json/issues/640) -- Comparison of objects containing floats [\#639](https://github.com/nlohmann/json/issues/639) -- 'localeconv' is not supported by NDK for SDK \<=20 [\#638](https://github.com/nlohmann/json/issues/638) -- \[Question\] cLion integration [\#637](https://github.com/nlohmann/json/issues/637) -- How to construct an iteratable usage in nlohmann json? [\#636](https://github.com/nlohmann/json/issues/636) -- \[Question\] copy assign json-container to vector [\#635](https://github.com/nlohmann/json/issues/635) -- Get size without .dump\(\) [\#634](https://github.com/nlohmann/json/issues/634) -- Segmentation fault when parsing invalid json file [\#633](https://github.com/nlohmann/json/issues/633) -- How to serialize from json to vector\<customType\>? [\#632](https://github.com/nlohmann/json/issues/632) -- no member named 'thousands\_sep' in 'lconv' [\#631](https://github.com/nlohmann/json/issues/631) -- \[Question\] Any fork for \(the unsupported\) Visual Studio 2012 version? [\#628](https://github.com/nlohmann/json/issues/628) -- Dependency injection in serializer [\#627](https://github.com/nlohmann/json/issues/627) -- from\_json for std::array [\#625](https://github.com/nlohmann/json/issues/625) -- Discussion: How to structure the parsing function families [\#623](https://github.com/nlohmann/json/issues/623) -- Question: How to erase subtree [\#622](https://github.com/nlohmann/json/issues/622) -- Insertion into nested json field [\#621](https://github.com/nlohmann/json/issues/621) -- Question: return static json object from function [\#618](https://github.com/nlohmann/json/issues/618) -- icc16 error [\#617](https://github.com/nlohmann/json/issues/617) -- \[-Wdeprecated-declarations\] in row `j >> ss;` in file `json.hpp:7405:26` and FAILED unit tests with MinGWx64! [\#616](https://github.com/nlohmann/json/issues/616) -- to\_json for pairs, tuples [\#614](https://github.com/nlohmann/json/issues/614) -- Using uninitialized memory 'buf' in line 11173 v2.1.1? [\#613](https://github.com/nlohmann/json/issues/613) -- How to parse multiple same Keys of JSON and save them? [\#612](https://github.com/nlohmann/json/issues/612) -- "Multiple declarations" error when using types defined with `typedef` [\#611](https://github.com/nlohmann/json/issues/611) -- 2.1.1+ breaks compilation of shared\_ptr\<json\> == 0 [\#610](https://github.com/nlohmann/json/issues/610) -- a bug of inheritance ? [\#608](https://github.com/nlohmann/json/issues/608) -- std::map key conversion with to\_json [\#607](https://github.com/nlohmann/json/issues/607) -- json.hpp:6384:62: error: wrong number of template arguments \(1, should be 2\) [\#606](https://github.com/nlohmann/json/issues/606) -- Incremental parsing: Where's the push version? [\#605](https://github.com/nlohmann/json/issues/605) -- Is there a way to validate the structure of a json object ? [\#604](https://github.com/nlohmann/json/issues/604) -- \[Question\] Issue when using Appveyor when compiling library [\#603](https://github.com/nlohmann/json/issues/603) -- BOM not skipped when using json:parse\(iterator\) [\#602](https://github.com/nlohmann/json/issues/602) -- Use of the binary type in CBOR and Message Pack [\#601](https://github.com/nlohmann/json/issues/601) -- Newbie issue: how does one convert a map in Json back to std::map? [\#600](https://github.com/nlohmann/json/issues/600) -- Plugin system [\#599](https://github.com/nlohmann/json/issues/599) -- Using custom types for scalars? [\#596](https://github.com/nlohmann/json/issues/596) -- Issues with the arithmetic in iterator and reverse iterator [\#593](https://github.com/nlohmann/json/issues/593) -- not enough examples [\#592](https://github.com/nlohmann/json/issues/592) -- in-class initialization for type 'const T' is not yet implemented [\#591](https://github.com/nlohmann/json/issues/591) -- compiling with gcc 7 -\> error on bool operator \< [\#590](https://github.com/nlohmann/json/issues/590) -- Parsing from stream leads to an array [\#589](https://github.com/nlohmann/json/issues/589) -- Buggy support for binary string data [\#587](https://github.com/nlohmann/json/issues/587) -- C++17's ambiguous conversion [\#586](https://github.com/nlohmann/json/issues/586) -- How does the messagepack encoding/decoding compare to msgpack-cpp in terms of performance? [\#585](https://github.com/nlohmann/json/issues/585) -- is it possible to check existence of a value deep in hierarchy? [\#584](https://github.com/nlohmann/json/issues/584) -- loading from a stream and exceptions [\#582](https://github.com/nlohmann/json/issues/582) -- Visual Studio seems not to have all min\(\) function versions [\#581](https://github.com/nlohmann/json/issues/581) -- Supporting of the json schema [\#580](https://github.com/nlohmann/json/issues/580) -- Stack-overflow \(OSS-Fuzz 1444\) [\#577](https://github.com/nlohmann/json/issues/577) -- Heap-buffer-overflow \(OSS-Fuzz 1400\) [\#575](https://github.com/nlohmann/json/issues/575) -- JSON escape quotes [\#574](https://github.com/nlohmann/json/issues/574) -- error: static\_assert failed [\#573](https://github.com/nlohmann/json/issues/573) -- Storing floats, and round trip serialisation/deserialisation diffs [\#572](https://github.com/nlohmann/json/issues/572) -- JSON.getLong produces inconsistent results [\#571](https://github.com/nlohmann/json/issues/571) -- Request: Object.at\(\) with default return value [\#570](https://github.com/nlohmann/json/issues/570) -- Internal structure gets corrupted while parsing [\#569](https://github.com/nlohmann/json/issues/569) -- create template \<typename Iter\> basic\_json from\_cbor\(Iter begin, Iter end\) [\#568](https://github.com/nlohmann/json/issues/568) -- Conan.io [\#566](https://github.com/nlohmann/json/issues/566) -- contradictory documentation regarding json::find [\#565](https://github.com/nlohmann/json/issues/565) -- Unexpected '\"' in middle of array [\#564](https://github.com/nlohmann/json/issues/564) -- Support parse std::pair to Json object [\#563](https://github.com/nlohmann/json/issues/563) -- json and Microsoft Visual c++ Compiler Nov 2012 CTP [\#562](https://github.com/nlohmann/json/issues/562) -- from\_json declaration order and exceptions [\#561](https://github.com/nlohmann/json/issues/561) -- Tip: Don't upgrade to VS2017 if using json initializer list constructs [\#559](https://github.com/nlohmann/json/issues/559) -- parse error - unexpected end of input [\#558](https://github.com/nlohmann/json/issues/558) -- Cant modify existing numbers inside a json object [\#557](https://github.com/nlohmann/json/issues/557) -- Better support for SAX style serialize and deserialize in new version? [\#554](https://github.com/nlohmann/json/issues/554) -- Cannot convert from json array to std::array [\#553](https://github.com/nlohmann/json/issues/553) -- Do not define an unnamed namespace in a header file \(DCL59-CPP\) [\#552](https://github.com/nlohmann/json/issues/552) -- Parse error on known good json file [\#551](https://github.com/nlohmann/json/issues/551) -- Warning on Intel compiler \(icc 17\) [\#550](https://github.com/nlohmann/json/issues/550) -- multiple versions of 'vsnprintf' [\#549](https://github.com/nlohmann/json/issues/549) -- illegal indirection [\#548](https://github.com/nlohmann/json/issues/548) -- Ambiguous compare operators with clang-5.0 [\#547](https://github.com/nlohmann/json/issues/547) -- Using tsl::ordered\_map [\#546](https://github.com/nlohmann/json/issues/546) -- Compiler support errors are inconvenient [\#544](https://github.com/nlohmann/json/issues/544) -- Duplicate symbols error happens while to\_json/from\_json method implemented inside entity definition header file [\#542](https://github.com/nlohmann/json/issues/542) -- consider adding a bool json::is\_valid\(std::string const&\) non-member function [\#541](https://github.com/nlohmann/json/issues/541) -- Help request [\#539](https://github.com/nlohmann/json/issues/539) -- How to deal with missing keys in `from_json`? [\#538](https://github.com/nlohmann/json/issues/538) -- recursive from\_msgpack implementation will stack overflow [\#537](https://github.com/nlohmann/json/issues/537) -- Exception objects must be nothrow copy constructible \(ERR60-CPP\) [\#531](https://github.com/nlohmann/json/issues/531) -- Support for multiple root elements [\#529](https://github.com/nlohmann/json/issues/529) -- Port has\_shape from dropbox/json11 [\#528](https://github.com/nlohmann/json/issues/528) -- dump\_float: truncation from ptrdiff\_t to long [\#527](https://github.com/nlohmann/json/issues/527) -- Make exception base class visible in basic\_json [\#525](https://github.com/nlohmann/json/issues/525) -- msgpack unit test failures on ppc64 arch [\#524](https://github.com/nlohmann/json/issues/524) -- How about split the implementation out, and only leave the interface? [\#523](https://github.com/nlohmann/json/issues/523) -- VC++2017 not enough actual parameters for macro 'max' [\#522](https://github.com/nlohmann/json/issues/522) -- crash on empty ifstream [\#521](https://github.com/nlohmann/json/issues/521) -- Suggestion: Support tabs for indentation when serializing to stream. [\#520](https://github.com/nlohmann/json/issues/520) -- Abrt in get\_number \(OSS-Fuzz 885\) [\#519](https://github.com/nlohmann/json/issues/519) -- Abrt on unknown address \(OSS-Fuzz 884\) [\#518](https://github.com/nlohmann/json/issues/518) -- Stack-overflow \(OSS-Fuzz 869\) [\#517](https://github.com/nlohmann/json/issues/517) -- Assertion error \(OSS-Fuzz 868\) [\#516](https://github.com/nlohmann/json/issues/516) -- NaN to json and back [\#515](https://github.com/nlohmann/json/issues/515) -- Comparison of NaN [\#514](https://github.com/nlohmann/json/issues/514) -- why it's not possible to serialize c++11 enums directly [\#513](https://github.com/nlohmann/json/issues/513) -- clang compile error: use of overloaded operator '\<=' is ambiguous with \(nlohmann::json{{"a", 5}}\)\["a"\] \<= 10 [\#512](https://github.com/nlohmann/json/issues/512) -- Why not also look inside the type for \(static\) to\_json and from\_json funtions? [\#511](https://github.com/nlohmann/json/issues/511) -- Parser issues [\#509](https://github.com/nlohmann/json/issues/509) -- I may not understand [\#507](https://github.com/nlohmann/json/issues/507) -- VS2017 min / max problem for 2.1.1 [\#506](https://github.com/nlohmann/json/issues/506) -- CBOR/MessagePack is not read until the end [\#505](https://github.com/nlohmann/json/issues/505) -- Assertion error \(OSS-Fuzz 856\) [\#504](https://github.com/nlohmann/json/issues/504) -- Return position in parse error exceptions [\#503](https://github.com/nlohmann/json/issues/503) -- conversion from/to C array is not supported [\#502](https://github.com/nlohmann/json/issues/502) -- error C2338: could not find to\_json\(\) method in T's namespace [\#501](https://github.com/nlohmann/json/issues/501) -- Test suite fails in en\_GB.UTF-8 [\#500](https://github.com/nlohmann/json/issues/500) -- cannot use operator\[\] with number [\#499](https://github.com/nlohmann/json/issues/499) -- consider using \_\_cpp\_exceptions and/or \_\_EXCEPTIONS to disable/enable exception support [\#498](https://github.com/nlohmann/json/issues/498) -- Stack-overflow \(OSS-Fuzz issue 814\) [\#497](https://github.com/nlohmann/json/issues/497) -- Using in Unreal Engine - handling custom types conversion [\#495](https://github.com/nlohmann/json/issues/495) -- Conversion from vector\<bool\> to json fails to build [\#494](https://github.com/nlohmann/json/issues/494) -- fill\_line\_buffer incorrectly tests m\_stream for eof but not fail or bad bits [\#493](https://github.com/nlohmann/json/issues/493) -- Compiling with \_GLIBCXX\_DEBUG yields iterator-comparison warnings during tests [\#492](https://github.com/nlohmann/json/issues/492) -- crapy interface [\#491](https://github.com/nlohmann/json/issues/491) -- Fix Visual Studo 2013 builds. [\#490](https://github.com/nlohmann/json/issues/490) -- Failed to compile with -D\_GLIBCXX\_PARALLEL [\#489](https://github.com/nlohmann/json/issues/489) -- Input several field with the same name [\#488](https://github.com/nlohmann/json/issues/488) -- read in .json file yields strange sizes [\#487](https://github.com/nlohmann/json/issues/487) -- json::value\_t can't be a map's key type in VC++ 2015 [\#486](https://github.com/nlohmann/json/issues/486) -- Using fifo\_map [\#485](https://github.com/nlohmann/json/issues/485) -- Cannot get float pointer for value stored as `0` [\#484](https://github.com/nlohmann/json/issues/484) -- byte string support [\#483](https://github.com/nlohmann/json/issues/483) -- https://github.com/nlohmann/json\#execute-unit-tests [\#481](https://github.com/nlohmann/json/issues/481) -- Remove deprecated constructor basic\_json\(std::istream&\) [\#480](https://github.com/nlohmann/json/issues/480) -- writing the binary json file? [\#479](https://github.com/nlohmann/json/issues/479) -- CBOR/MessagePack from uint8\_t \* and size [\#478](https://github.com/nlohmann/json/issues/478) -- Streaming binary representations [\#477](https://github.com/nlohmann/json/issues/477) -- Reuse memory in to\_cbor and to\_msgpack functions [\#476](https://github.com/nlohmann/json/issues/476) -- Error Using JSON Library with arrays C++ [\#475](https://github.com/nlohmann/json/issues/475) -- Moving forward to version 3.0.0 [\#474](https://github.com/nlohmann/json/issues/474) -- Inconsistent behavior in conversion to array type [\#473](https://github.com/nlohmann/json/issues/473) -- Create a \[key:member\_pointer\] map to ease parsing custom types [\#471](https://github.com/nlohmann/json/issues/471) -- MSVC 2015 update 2 [\#469](https://github.com/nlohmann/json/issues/469) -- VS2017 implicit to std::string conversion fix. [\#464](https://github.com/nlohmann/json/issues/464) -- How to make sure a string or string literal is a valid JSON? [\#458](https://github.com/nlohmann/json/issues/458) -- basic\_json templated on a "policy" class [\#456](https://github.com/nlohmann/json/issues/456) -- json::value\(const json\_pointer&, ValueType\) requires exceptions to return the default value. [\#440](https://github.com/nlohmann/json/issues/440) -- is it possible merge two json object [\#428](https://github.com/nlohmann/json/issues/428) -- Is it possible to turn this into a shared library? [\#420](https://github.com/nlohmann/json/issues/420) -- Further thoughts on performance improvements [\#418](https://github.com/nlohmann/json/issues/418) -- nan number stored as null [\#388](https://github.com/nlohmann/json/issues/388) -- Behavior of operator\>\> should more closely resemble that of built-in overloads. [\#367](https://github.com/nlohmann/json/issues/367) -- Request: range-based-for over a json-object to expose .first/.second [\#350](https://github.com/nlohmann/json/issues/350) -- feature wish: JSONPath [\#343](https://github.com/nlohmann/json/issues/343) -- UTF-8/Unicode escape and dump [\#330](https://github.com/nlohmann/json/issues/330) -- Serialized value not always can be parsed. [\#329](https://github.com/nlohmann/json/issues/329) -- Is there a way to forward declare nlohmann::json? [\#314](https://github.com/nlohmann/json/issues/314) -- Exception line [\#301](https://github.com/nlohmann/json/issues/301) -- Do not throw exception when default\_value's type does not match the actual type [\#278](https://github.com/nlohmann/json/issues/278) -- dump\(\) method doesn't work with a custom allocator [\#268](https://github.com/nlohmann/json/issues/268) -- Readme documentation enhancements [\#248](https://github.com/nlohmann/json/issues/248) -- Use user-defined exceptions [\#244](https://github.com/nlohmann/json/issues/244) -- Incorrect C++11 allocator model support [\#161](https://github.com/nlohmann/json/issues/161) - -- :white\_check\_mark: re-added tests for algorithms [\#879](https://github.com/nlohmann/json/pull/879) ([nlohmann](https://github.com/nlohmann)) -- Overworked library toward 3.0.0 release [\#875](https://github.com/nlohmann/json/pull/875) ([nlohmann](https://github.com/nlohmann)) -- :rotating\_light: remove C4996 warnings \#872 [\#873](https://github.com/nlohmann/json/pull/873) ([nlohmann](https://github.com/nlohmann)) -- :boom: throwing an exception in case dump encounters a non-UTF-8 string \#838 [\#870](https://github.com/nlohmann/json/pull/870) ([nlohmann](https://github.com/nlohmann)) -- :memo: fixing documentation \#867 [\#868](https://github.com/nlohmann/json/pull/868) ([nlohmann](https://github.com/nlohmann)) -- iter\_impl template conformance with C++17 [\#860](https://github.com/nlohmann/json/pull/860) ([bogemic](https://github.com/bogemic)) -- Std allocator conformance cpp17 [\#856](https://github.com/nlohmann/json/pull/856) ([bogemic](https://github.com/bogemic)) -- cmake: use BUILD\_INTERFACE/INSTALL\_INTERFACE [\#855](https://github.com/nlohmann/json/pull/855) ([theodelrieu](https://github.com/theodelrieu)) -- to/from\_json: add a MSVC-specific static\_assert to force a stacktrace [\#854](https://github.com/nlohmann/json/pull/854) ([theodelrieu](https://github.com/theodelrieu)) -- Add .natvis for MSVC debug view [\#844](https://github.com/nlohmann/json/pull/844) ([TinyTinni](https://github.com/TinyTinni)) -- Updated hunter package links [\#829](https://github.com/nlohmann/json/pull/829) ([jowr](https://github.com/jowr)) -- Typos README [\#811](https://github.com/nlohmann/json/pull/811) ([Itja](https://github.com/Itja)) -- add forwarding references to json\_ref constructor [\#807](https://github.com/nlohmann/json/pull/807) ([theodelrieu](https://github.com/theodelrieu)) -- Add transparent comparator and perfect forwarding support to find\(\) and count\(\) [\#795](https://github.com/nlohmann/json/pull/795) ([jseward](https://github.com/jseward)) -- Error : 'identifier "size\_t" is undefined' in linux [\#793](https://github.com/nlohmann/json/pull/793) ([sonulohani](https://github.com/sonulohani)) -- Fix Visual Studio 2017 warnings [\#788](https://github.com/nlohmann/json/pull/788) ([jseward](https://github.com/jseward)) -- Fix warning C4706 on Visual Studio 2017 [\#785](https://github.com/nlohmann/json/pull/785) ([jseward](https://github.com/jseward)) -- Set GENERATE\_TAGFILE in Doxyfile [\#783](https://github.com/nlohmann/json/pull/783) ([eld00d](https://github.com/eld00d)) -- using more CMake [\#765](https://github.com/nlohmann/json/pull/765) ([nlohmann](https://github.com/nlohmann)) -- Simplified istream handing \#367 [\#764](https://github.com/nlohmann/json/pull/764) ([pjkundert](https://github.com/pjkundert)) -- Add info for the vcpkg package. [\#753](https://github.com/nlohmann/json/pull/753) ([gregmarr](https://github.com/gregmarr)) -- fix from\_json implementation for pair/tuple [\#708](https://github.com/nlohmann/json/pull/708) ([theodelrieu](https://github.com/theodelrieu)) -- Update json.hpp [\#686](https://github.com/nlohmann/json/pull/686) ([GoWebProd](https://github.com/GoWebProd)) -- Remove duplicate word [\#685](https://github.com/nlohmann/json/pull/685) ([daixtrose](https://github.com/daixtrose)) -- To fix compilation issue for intel OSX compiler [\#682](https://github.com/nlohmann/json/pull/682) ([kbthomp1](https://github.com/kbthomp1)) -- Digraph warning [\#679](https://github.com/nlohmann/json/pull/679) ([traits](https://github.com/traits)) -- massage -\> message [\#678](https://github.com/nlohmann/json/pull/678) ([DmitryKuk](https://github.com/DmitryKuk)) -- Fix "not constraint" grammar in docs [\#674](https://github.com/nlohmann/json/pull/674) ([wincent](https://github.com/wincent)) -- Add documentation for integration with CMake and hunter [\#671](https://github.com/nlohmann/json/pull/671) ([dan-42](https://github.com/dan-42)) -- REFACTOR: rewrite CMakeLists.txt for better inlcude and reuse [\#669](https://github.com/nlohmann/json/pull/669) ([dan-42](https://github.com/dan-42)) -- enable\_testing only if the JSON\_BuildTests is ON [\#666](https://github.com/nlohmann/json/pull/666) ([ilqvya](https://github.com/ilqvya)) -- Support moving from rvalues in std::initializer\_list [\#663](https://github.com/nlohmann/json/pull/663) ([himikof](https://github.com/himikof)) -- add ensure\_ascii parameter to dump. \#330 [\#654](https://github.com/nlohmann/json/pull/654) ([ryanjmulder](https://github.com/ryanjmulder)) -- Rename BuildTests to JSON\_BuildTests [\#652](https://github.com/nlohmann/json/pull/652) ([olegendo](https://github.com/olegendo)) -- Don't include \<iostream\>, use std::make\_shared [\#650](https://github.com/nlohmann/json/pull/650) ([olegendo](https://github.com/olegendo)) -- Refacto/split basic json [\#643](https://github.com/nlohmann/json/pull/643) ([theodelrieu](https://github.com/theodelrieu)) -- fix typo in operator\_\_notequal example [\#630](https://github.com/nlohmann/json/pull/630) ([Chocobo1](https://github.com/Chocobo1)) -- Fix MSVC warning C4819 [\#629](https://github.com/nlohmann/json/pull/629) ([Chocobo1](https://github.com/Chocobo1)) -- \[BugFix\] Add parentheses around std::min [\#626](https://github.com/nlohmann/json/pull/626) ([koemeet](https://github.com/koemeet)) -- add pair/tuple conversions [\#624](https://github.com/nlohmann/json/pull/624) ([theodelrieu](https://github.com/theodelrieu)) -- remove std::pair support [\#615](https://github.com/nlohmann/json/pull/615) ([theodelrieu](https://github.com/theodelrieu)) -- Add pair support, fix CompatibleObject conversions \(fixes \#600\) [\#609](https://github.com/nlohmann/json/pull/609) ([theodelrieu](https://github.com/theodelrieu)) -- \#550 Fix iterator related compiling issues for Intel icc [\#598](https://github.com/nlohmann/json/pull/598) ([HenryRLee](https://github.com/HenryRLee)) -- Issue \#593 Fix the arithmetic operators in the iterator and reverse iterator [\#595](https://github.com/nlohmann/json/pull/595) ([HenryRLee](https://github.com/HenryRLee)) -- fix doxygen error of basic\_json::get\(\) [\#583](https://github.com/nlohmann/json/pull/583) ([zhaohuaxishi](https://github.com/zhaohuaxishi)) -- Fixing assignement for iterator wrapper second, and adding unit test [\#579](https://github.com/nlohmann/json/pull/579) ([Type1J](https://github.com/Type1J)) -- Adding first and second properties to iteration\_proxy\_internal [\#578](https://github.com/nlohmann/json/pull/578) ([Type1J](https://github.com/Type1J)) -- Adding support for Meson. [\#576](https://github.com/nlohmann/json/pull/576) ([Type1J](https://github.com/Type1J)) -- add enum class default conversions [\#545](https://github.com/nlohmann/json/pull/545) ([theodelrieu](https://github.com/theodelrieu)) -- Properly pop diagnostics [\#540](https://github.com/nlohmann/json/pull/540) ([tinloaf](https://github.com/tinloaf)) -- Add Visual Studio 17 image to appveyor build matrix [\#536](https://github.com/nlohmann/json/pull/536) ([vpetrigo](https://github.com/vpetrigo)) -- UTF8 encoding enhancement [\#534](https://github.com/nlohmann/json/pull/534) ([TedLyngmo](https://github.com/TedLyngmo)) -- Fix typo [\#530](https://github.com/nlohmann/json/pull/530) ([berkus](https://github.com/berkus)) -- Make exception base class visible in basic\_json [\#526](https://github.com/nlohmann/json/pull/526) ([ghost](https://github.com/ghost)) -- :art: Namespace `uint8_t` from the C++ stdlib [\#510](https://github.com/nlohmann/json/pull/510) ([alexweej](https://github.com/alexweej)) -- add to\_json method for C arrays [\#508](https://github.com/nlohmann/json/pull/508) ([theodelrieu](https://github.com/theodelrieu)) -- Fix -Weffc++ warnings \(GNU 6.3.1\) [\#496](https://github.com/nlohmann/json/pull/496) ([TedLyngmo](https://github.com/TedLyngmo)) - -## [v2.1.1](https://github.com/nlohmann/json/releases/tag/v2.1.1) (2017-02-25) - -[Full Changelog](https://github.com/nlohmann/json/compare/2.1.1...v2.1.1) - -## [2.1.1](https://github.com/nlohmann/json/releases/tag/2.1.1) (2017-02-25) - -[Full Changelog](https://github.com/nlohmann/json/compare/v2.1.0...2.1.1) - -- warning in the library [\#472](https://github.com/nlohmann/json/issues/472) -- How to create an array of Objects? [\#470](https://github.com/nlohmann/json/issues/470) -- \[Bug?\] Cannot get int pointer, but int64\_t works [\#468](https://github.com/nlohmann/json/issues/468) -- Illegal indirection [\#467](https://github.com/nlohmann/json/issues/467) -- in vs can't find linkageId [\#466](https://github.com/nlohmann/json/issues/466) -- Roundtrip error while parsing "1000000000000000010E5" [\#465](https://github.com/nlohmann/json/issues/465) -- C4996 error and warning with Visual Studio [\#463](https://github.com/nlohmann/json/issues/463) -- Support startIndex for from\_cbor/from\_msgpack [\#462](https://github.com/nlohmann/json/issues/462) -- question: monospace font used in feature slideshow? [\#460](https://github.com/nlohmann/json/issues/460) -- Object.keys\(\) [\#459](https://github.com/nlohmann/json/issues/459) -- Use “, “ as delimiter for json-objects. [\#457](https://github.com/nlohmann/json/issues/457) -- Enum -\> string during serialization and vice versa [\#455](https://github.com/nlohmann/json/issues/455) -- doubles are printed as integers [\#454](https://github.com/nlohmann/json/issues/454) -- Warnings with Visual Studio c++ \(VS2015 Update 3\) [\#453](https://github.com/nlohmann/json/issues/453) -- Heap-buffer-overflow \(OSS-Fuzz issue 585\) [\#452](https://github.com/nlohmann/json/issues/452) -- use of undeclared identifier 'UINT8\_MAX' [\#451](https://github.com/nlohmann/json/issues/451) -- Question on the lifetime managment of objects at the lower levels [\#449](https://github.com/nlohmann/json/issues/449) -- Json should not be constructible with 'json\*' [\#448](https://github.com/nlohmann/json/issues/448) -- Move value\_t to namespace scope [\#447](https://github.com/nlohmann/json/issues/447) -- Typo in README.md [\#446](https://github.com/nlohmann/json/issues/446) -- make check compilation is unneccesarily slow [\#445](https://github.com/nlohmann/json/issues/445) -- Problem in dump\(\) in json.h caused by ss.imbue [\#444](https://github.com/nlohmann/json/issues/444) -- I want to create Windows Application in Visual Studio 2015 c++, and i have a problem [\#443](https://github.com/nlohmann/json/issues/443) -- Implicit conversion issues [\#442](https://github.com/nlohmann/json/issues/442) -- Parsing of floats locale dependent [\#302](https://github.com/nlohmann/json/issues/302) - -- Speedup CI builds using cotire [\#461](https://github.com/nlohmann/json/pull/461) ([tusharpm](https://github.com/tusharpm)) -- TurpentineDistillery feature/locale independent str to num [\#450](https://github.com/nlohmann/json/pull/450) ([nlohmann](https://github.com/nlohmann)) -- README: adjust boost::optional example [\#439](https://github.com/nlohmann/json/pull/439) ([jaredgrubb](https://github.com/jaredgrubb)) -- fix \#414 - comparing to 0 literal [\#415](https://github.com/nlohmann/json/pull/415) ([stanmihai4](https://github.com/stanmihai4)) -- locale-independent num-to-str [\#378](https://github.com/nlohmann/json/pull/378) ([TurpentineDistillery](https://github.com/TurpentineDistillery)) - -## [v2.1.0](https://github.com/nlohmann/json/releases/tag/v2.1.0) (2017-01-28) - -[Full Changelog](https://github.com/nlohmann/json/compare/2.1.0...v2.1.0) - -## [2.1.0](https://github.com/nlohmann/json/releases/tag/2.1.0) (2017-01-28) - -[Full Changelog](https://github.com/nlohmann/json/compare/v2.0.10...2.1.0) - -- Parsing multiple JSON objects from a string or stream [\#438](https://github.com/nlohmann/json/issues/438) -- Use-of-uninitialized-value \(OSS-Fuzz issue 477\) [\#437](https://github.com/nlohmann/json/issues/437) -- add `reserve` function for array to reserve memory before adding json values into it [\#436](https://github.com/nlohmann/json/issues/436) -- Typo in examples page [\#434](https://github.com/nlohmann/json/issues/434) -- avoid malformed json [\#433](https://github.com/nlohmann/json/issues/433) -- How to add json objects to a map? [\#432](https://github.com/nlohmann/json/issues/432) -- create json instance from raw json \(unsigned char\*\) [\#431](https://github.com/nlohmann/json/issues/431) -- Getting std::invalid\_argument: stream error when following example [\#429](https://github.com/nlohmann/json/issues/429) -- Forward declare-only header? [\#427](https://github.com/nlohmann/json/issues/427) -- Implicit conversion from array to object [\#425](https://github.com/nlohmann/json/issues/425) -- error C4996: 'strerror' when reading file [\#422](https://github.com/nlohmann/json/issues/422) -- Get an error - JSON pointer must be empty or begin with '/' [\#421](https://github.com/nlohmann/json/issues/421) -- size parameter for parse\(\) [\#419](https://github.com/nlohmann/json/issues/419) -- json.hpp forcibly defines GCC\_VERSION [\#417](https://github.com/nlohmann/json/issues/417) -- Use-of-uninitialized-value \(OSS-Fuzz issue 377\) [\#416](https://github.com/nlohmann/json/issues/416) -- comparing to 0 literal [\#414](https://github.com/nlohmann/json/issues/414) -- Single char converted to ASCII code instead of string [\#413](https://github.com/nlohmann/json/issues/413) -- How to know if a string was parsed as utf-8? [\#406](https://github.com/nlohmann/json/issues/406) -- Overloaded += to add objects to an array makes no sense? [\#404](https://github.com/nlohmann/json/issues/404) -- Finding a value in an array [\#399](https://github.com/nlohmann/json/issues/399) -- add release information in static function [\#397](https://github.com/nlohmann/json/issues/397) -- Optimize memory usage of json objects in combination with binary serialization [\#373](https://github.com/nlohmann/json/issues/373) -- Conversion operators not considered [\#369](https://github.com/nlohmann/json/issues/369) -- Append ".0" to serialized floating\_point values that are digits-only. [\#362](https://github.com/nlohmann/json/issues/362) -- Add a customization point for user-defined types [\#328](https://github.com/nlohmann/json/issues/328) -- Conformance report for reference [\#307](https://github.com/nlohmann/json/issues/307) -- Document the best way to serialize/deserialize user defined types to json [\#298](https://github.com/nlohmann/json/issues/298) -- Add StringView template typename to basic\_json [\#297](https://github.com/nlohmann/json/issues/297) -- \[Improvement\] Add option to remove exceptions [\#296](https://github.com/nlohmann/json/issues/296) -- Performance in miloyip/nativejson-benchmark [\#202](https://github.com/nlohmann/json/issues/202) - -- conversion from/to user-defined types [\#435](https://github.com/nlohmann/json/pull/435) ([nlohmann](https://github.com/nlohmann)) -- Fix documentation error [\#430](https://github.com/nlohmann/json/pull/430) ([vjon](https://github.com/vjon)) - -## [v2.0.10](https://github.com/nlohmann/json/releases/tag/v2.0.10) (2017-01-02) - -[Full Changelog](https://github.com/nlohmann/json/compare/2.0.10...v2.0.10) - -## [2.0.10](https://github.com/nlohmann/json/releases/tag/2.0.10) (2017-01-02) - -[Full Changelog](https://github.com/nlohmann/json/compare/v2.0.9...2.0.10) - -- Heap-buffer-overflow \(OSS-Fuzz issue 367\) [\#412](https://github.com/nlohmann/json/issues/412) -- Heap-buffer-overflow \(OSS-Fuzz issue 366\) [\#411](https://github.com/nlohmann/json/issues/411) -- Use-of-uninitialized-value \(OSS-Fuzz issue 347\) [\#409](https://github.com/nlohmann/json/issues/409) -- Heap-buffer-overflow \(OSS-Fuzz issue 344\) [\#408](https://github.com/nlohmann/json/issues/408) -- Heap-buffer-overflow \(OSS-Fuzz issue 343\) [\#407](https://github.com/nlohmann/json/issues/407) -- Heap-buffer-overflow \(OSS-Fuzz issue 342\) [\#405](https://github.com/nlohmann/json/issues/405) -- strerror throwing error in compiler VS2015 [\#403](https://github.com/nlohmann/json/issues/403) -- json::parse of std::string being underlined by Visual Studio [\#402](https://github.com/nlohmann/json/issues/402) -- Explicitly getting string without .dump\(\) [\#401](https://github.com/nlohmann/json/issues/401) -- Possible to speed up json::parse? [\#398](https://github.com/nlohmann/json/issues/398) -- the alphabetic order in the code influence console\_output. [\#396](https://github.com/nlohmann/json/issues/396) -- Execute tests with clang sanitizers [\#394](https://github.com/nlohmann/json/issues/394) -- Check if library can be used with ETL [\#361](https://github.com/nlohmann/json/issues/361) - -- Feature/clang sanitize [\#410](https://github.com/nlohmann/json/pull/410) ([Daniel599](https://github.com/Daniel599)) -- Add Doozer build badge [\#400](https://github.com/nlohmann/json/pull/400) ([andoma](https://github.com/andoma)) - -## [v2.0.9](https://github.com/nlohmann/json/releases/tag/v2.0.9) (2016-12-16) - -[Full Changelog](https://github.com/nlohmann/json/compare/2.0.9...v2.0.9) - -## [2.0.9](https://github.com/nlohmann/json/releases/tag/2.0.9) (2016-12-16) - -[Full Changelog](https://github.com/nlohmann/json/compare/v2.0.8...2.0.9) - -- \#pragma GCC diagnostic ignored "-Wdocumentation" [\#393](https://github.com/nlohmann/json/issues/393) -- How to parse this json file and write separate sub object as json files? [\#392](https://github.com/nlohmann/json/issues/392) -- Integer-overflow \(OSS-Fuzz issue 267\) [\#389](https://github.com/nlohmann/json/issues/389) -- Implement indefinite-length types from RFC 7049 [\#387](https://github.com/nlohmann/json/issues/387) -- template parameter "T" is not used in declaring the parameter types of function template [\#386](https://github.com/nlohmann/json/issues/386) -- Serializing json instances containing already serialized string values without escaping [\#385](https://github.com/nlohmann/json/issues/385) -- Add test cases from RFC 7049 [\#384](https://github.com/nlohmann/json/issues/384) -- Add a table of contents to the README file [\#383](https://github.com/nlohmann/json/issues/383) -- Update FAQ section in the guidelines for contributing [\#382](https://github.com/nlohmann/json/issues/382) -- Allow for forward declaring nlohmann::json [\#381](https://github.com/nlohmann/json/issues/381) -- Bug in overflow detection when parsing integers [\#380](https://github.com/nlohmann/json/issues/380) -- A unique name to mention the library? [\#377](https://github.com/nlohmann/json/issues/377) -- Non-unique keys in objects. [\#375](https://github.com/nlohmann/json/issues/375) -- Request: binary serialization/deserialization [\#358](https://github.com/nlohmann/json/issues/358) - -- Replace class iterator and const\_iterator by using a single template class to reduce code. [\#395](https://github.com/nlohmann/json/pull/395) ([Bosswestfalen](https://github.com/Bosswestfalen)) -- Clang: quiet a warning [\#391](https://github.com/nlohmann/json/pull/391) ([jaredgrubb](https://github.com/jaredgrubb)) -- Fix issue \#380: Signed integer overflow check [\#390](https://github.com/nlohmann/json/pull/390) ([qwename](https://github.com/qwename)) - -## [v2.0.8](https://github.com/nlohmann/json/releases/tag/v2.0.8) (2016-12-02) - -[Full Changelog](https://github.com/nlohmann/json/compare/2.0.8...v2.0.8) - -## [2.0.8](https://github.com/nlohmann/json/releases/tag/2.0.8) (2016-12-02) - -[Full Changelog](https://github.com/nlohmann/json/compare/v2.0.7...2.0.8) - -- Reading from file [\#374](https://github.com/nlohmann/json/issues/374) -- Compiler warnings? [\#372](https://github.com/nlohmann/json/issues/372) -- docs: how to release a json object in memory? [\#371](https://github.com/nlohmann/json/issues/371) -- crash in dump [\#370](https://github.com/nlohmann/json/issues/370) -- Coverity issue \(FORWARD\_NULL\) in lexer\(std::istream& s\) [\#368](https://github.com/nlohmann/json/issues/368) -- json::parse on failed stream gets stuck [\#366](https://github.com/nlohmann/json/issues/366) -- Performance improvements [\#365](https://github.com/nlohmann/json/issues/365) -- 'to\_string' is not a member of 'std' [\#364](https://github.com/nlohmann/json/issues/364) -- Crash in dump\(\) from a static object [\#359](https://github.com/nlohmann/json/issues/359) -- json::parse\(...\) vs json j; j.parse\(...\) [\#357](https://github.com/nlohmann/json/issues/357) -- Hi, is there any method to dump json to string with the insert order rather than alphabets [\#356](https://github.com/nlohmann/json/issues/356) -- Provide an example of reading from an json with only a key that has an array of strings. [\#354](https://github.com/nlohmann/json/issues/354) -- Request: access with default value. [\#353](https://github.com/nlohmann/json/issues/353) -- {} and \[\] causes parser error. [\#352](https://github.com/nlohmann/json/issues/352) -- Reading a JSON file into a JSON object [\#351](https://github.com/nlohmann/json/issues/351) -- Request: 'emplace\_back' [\#349](https://github.com/nlohmann/json/issues/349) -- Is it possible to stream data through the json parser without storing everything in memory? [\#347](https://github.com/nlohmann/json/issues/347) -- pure virtual conversion operator [\#346](https://github.com/nlohmann/json/issues/346) -- Floating point precision lost [\#345](https://github.com/nlohmann/json/issues/345) -- unit-conversions SIGSEGV on armv7hl [\#303](https://github.com/nlohmann/json/issues/303) -- Coverity scan fails [\#299](https://github.com/nlohmann/json/issues/299) -- Using QString as string type [\#274](https://github.com/nlohmann/json/issues/274) - -## [v2.0.7](https://github.com/nlohmann/json/releases/tag/v2.0.7) (2016-11-02) - -[Full Changelog](https://github.com/nlohmann/json/compare/v2.0.6...v2.0.7) - -- JSON5 [\#348](https://github.com/nlohmann/json/issues/348) -- Check "Parsing JSON is a Minefield" [\#344](https://github.com/nlohmann/json/issues/344) -- Allow hex numbers [\#342](https://github.com/nlohmann/json/issues/342) -- Convert strings to numbers [\#341](https://github.com/nlohmann/json/issues/341) -- ""-operators ignore the length parameter [\#340](https://github.com/nlohmann/json/issues/340) -- JSON into std::tuple [\#339](https://github.com/nlohmann/json/issues/339) -- JSON into vector [\#335](https://github.com/nlohmann/json/issues/335) -- Installing with Homebrew on Mac Errors \(El Capitan\) [\#331](https://github.com/nlohmann/json/issues/331) -- g++ make check results in error [\#312](https://github.com/nlohmann/json/issues/312) -- Cannot convert from 'json' to 'char' [\#276](https://github.com/nlohmann/json/issues/276) -- Please add a Pretty-Print option for arrays to stay always in one line [\#229](https://github.com/nlohmann/json/issues/229) -- Conversion to STL map\<string, vector\<int\>\> gives error [\#220](https://github.com/nlohmann/json/issues/220) -- std::unorderd\_map cannot be used as ObjectType [\#164](https://github.com/nlohmann/json/issues/164) - -- fix minor grammar/style issue in README.md [\#336](https://github.com/nlohmann/json/pull/336) ([seeekr](https://github.com/seeekr)) - -## [v2.0.6](https://github.com/nlohmann/json/releases/tag/v2.0.6) (2016-10-15) - -[Full Changelog](https://github.com/nlohmann/json/compare/v2.0.5...v2.0.6) - -- How to handle json files? [\#333](https://github.com/nlohmann/json/issues/333) -- This file requires compiler and library support .... [\#332](https://github.com/nlohmann/json/issues/332) -- Segmentation fault on saving json to file [\#326](https://github.com/nlohmann/json/issues/326) -- parse error - unexpected \<uninitialized\> with 2.0.5 [\#325](https://github.com/nlohmann/json/issues/325) -- Add nested object capability to pointers [\#323](https://github.com/nlohmann/json/issues/323) -- Fix usage examples' comments for std::multiset [\#322](https://github.com/nlohmann/json/issues/322) -- json\_unit runs forever when executed in build directory [\#319](https://github.com/nlohmann/json/issues/319) -- Visual studio 2015 update3 true != TRUE [\#317](https://github.com/nlohmann/json/issues/317) -- releasing single header file in compressed format [\#316](https://github.com/nlohmann/json/issues/316) -- json object from std::ifstream [\#315](https://github.com/nlohmann/json/issues/315) - -- make has\_mapped\_type struct friendly [\#324](https://github.com/nlohmann/json/pull/324) ([vpetrigo](https://github.com/vpetrigo)) -- Fix usage examples' comments for std::multiset [\#321](https://github.com/nlohmann/json/pull/321) ([vasild](https://github.com/vasild)) -- Include dir relocation [\#318](https://github.com/nlohmann/json/pull/318) ([ChristophJud](https://github.com/ChristophJud)) -- trivial documentation fix [\#313](https://github.com/nlohmann/json/pull/313) ([5tefan](https://github.com/5tefan)) - -## [v2.0.5](https://github.com/nlohmann/json/releases/tag/v2.0.5) (2016-09-14) - -[Full Changelog](https://github.com/nlohmann/json/compare/v2.0.4...v2.0.5) - -- \[feature request\]: schema validator and comments [\#311](https://github.com/nlohmann/json/issues/311) -- make json\_benchmarks no longer working in 2.0.4 [\#310](https://github.com/nlohmann/json/issues/310) -- Segmentation fault \(core dumped\) [\#309](https://github.com/nlohmann/json/issues/309) -- No matching member function for call to 'get\_impl' [\#308](https://github.com/nlohmann/json/issues/308) - -## [v2.0.4](https://github.com/nlohmann/json/releases/tag/v2.0.4) (2016-09-11) - -[Full Changelog](https://github.com/nlohmann/json/compare/v2.0.3...v2.0.4) - -- Parsing fails without space at end of file [\#306](https://github.com/nlohmann/json/issues/306) -- json schema validator [\#305](https://github.com/nlohmann/json/issues/305) -- Unused variable warning [\#304](https://github.com/nlohmann/json/issues/304) - -## [v2.0.3](https://github.com/nlohmann/json/releases/tag/v2.0.3) (2016-08-31) - -[Full Changelog](https://github.com/nlohmann/json/compare/v2.0.2...v2.0.3) - -- warning C4706: assignment within conditional expression [\#295](https://github.com/nlohmann/json/issues/295) -- Q: Is it possible to build json tree from already UTF8 encoded values? [\#293](https://github.com/nlohmann/json/issues/293) -- Equality operator results in array when assigned object [\#292](https://github.com/nlohmann/json/issues/292) -- Support for integers not from the range \[-\(2\*\*53\)+1, \(2\*\*53\)-1\] in parser [\#291](https://github.com/nlohmann/json/issues/291) -- Support for iterator-range parsing [\#290](https://github.com/nlohmann/json/issues/290) -- Horribly inconsistent behavior between const/non-const reference in operator \[\] \(\) [\#289](https://github.com/nlohmann/json/issues/289) -- Silently get numbers into smaller types [\#288](https://github.com/nlohmann/json/issues/288) -- Incorrect parsing of large int64\_t numbers [\#287](https://github.com/nlohmann/json/issues/287) -- \[question\]: macro to disable floating point support [\#284](https://github.com/nlohmann/json/issues/284) - -- unit-constructor1.cpp: Fix floating point truncation warning [\#300](https://github.com/nlohmann/json/pull/300) ([t-b](https://github.com/t-b)) - -## [v2.0.2](https://github.com/nlohmann/json/releases/tag/v2.0.2) (2016-07-31) - -[Full Changelog](https://github.com/nlohmann/json/compare/v2.0.1...v2.0.2) - -- can function dump\(\) return string in the order I push in the json object ? [\#286](https://github.com/nlohmann/json/issues/286) -- Error on the Mac: Undefined symbols for architecture x86\_64 [\#285](https://github.com/nlohmann/json/issues/285) -- value\(\) does not work with \_json\_pointer types [\#283](https://github.com/nlohmann/json/issues/283) -- Build error for std::int64 [\#282](https://github.com/nlohmann/json/issues/282) -- strings can't be accessed after dump\(\)-\>parse\(\) - type is lost [\#281](https://github.com/nlohmann/json/issues/281) -- Easy serialization of classes [\#280](https://github.com/nlohmann/json/issues/280) -- recursive data structures [\#277](https://github.com/nlohmann/json/issues/277) -- hexify\(\) function emits conversion warning [\#270](https://github.com/nlohmann/json/issues/270) - -- let the makefile choose the correct sed [\#279](https://github.com/nlohmann/json/pull/279) ([murinicanor](https://github.com/murinicanor)) -- Update hexify to use array lookup instead of ternary \(\#270\) [\#275](https://github.com/nlohmann/json/pull/275) ([dtoma](https://github.com/dtoma)) - -## [v2.0.1](https://github.com/nlohmann/json/releases/tag/v2.0.1) (2016-06-28) - -[Full Changelog](https://github.com/nlohmann/json/compare/v2.0.0...v2.0.1) - -- Compilation error. [\#273](https://github.com/nlohmann/json/issues/273) -- dump\(\) performance degradation in v2 [\#272](https://github.com/nlohmann/json/issues/272) - -- fixed a tiny typo [\#271](https://github.com/nlohmann/json/pull/271) ([feroldi](https://github.com/feroldi)) - -## [v2.0.0](https://github.com/nlohmann/json/releases/tag/v2.0.0) (2016-06-23) - -[Full Changelog](https://github.com/nlohmann/json/compare/v1.1.0...v2.0.0) - -- json::diff generates incorrect patch when removing multiple array elements. [\#269](https://github.com/nlohmann/json/issues/269) -- Docs - What does Json\[key\] return? [\#267](https://github.com/nlohmann/json/issues/267) -- Compiler Errors With JSON.hpp [\#265](https://github.com/nlohmann/json/issues/265) -- Ambiguous push\_back and operator+= overloads [\#263](https://github.com/nlohmann/json/issues/263) -- Preseving order of items in json [\#262](https://github.com/nlohmann/json/issues/262) -- '\' char problem in strings [\#261](https://github.com/nlohmann/json/issues/261) -- VS2015 compile fail [\#260](https://github.com/nlohmann/json/issues/260) -- -Wconversion warning [\#259](https://github.com/nlohmann/json/issues/259) -- Maybe a bug [\#258](https://github.com/nlohmann/json/issues/258) -- Few tests failed on Visual C++ 2015 [\#257](https://github.com/nlohmann/json/issues/257) -- Access keys when iteration with new for loop C++11 [\#256](https://github.com/nlohmann/json/issues/256) -- multiline text values [\#255](https://github.com/nlohmann/json/issues/255) -- Error when using json in g++ [\#254](https://github.com/nlohmann/json/issues/254) -- is the release 2.0? [\#253](https://github.com/nlohmann/json/issues/253) -- concatenate objects [\#252](https://github.com/nlohmann/json/issues/252) -- Encoding [\#251](https://github.com/nlohmann/json/issues/251) -- Unable to build example for constructing json object with stringstreams [\#250](https://github.com/nlohmann/json/issues/250) -- Hexadecimal support [\#249](https://github.com/nlohmann/json/issues/249) -- Update long-term goals [\#246](https://github.com/nlohmann/json/issues/246) -- Contribution To This Json Project [\#245](https://github.com/nlohmann/json/issues/245) -- Trouble using parser with initial dictionary [\#243](https://github.com/nlohmann/json/issues/243) -- Unit test fails when doing a CMake out-of-tree build [\#241](https://github.com/nlohmann/json/issues/241) -- -Wconversion warnings [\#239](https://github.com/nlohmann/json/issues/239) -- Additional integration options [\#237](https://github.com/nlohmann/json/issues/237) -- .get\<std::string\>\(\) works for non spaced string but returns as array for spaced/longer strings [\#236](https://github.com/nlohmann/json/issues/236) -- ambiguous overload for 'push\_back' and 'operator+=' [\#235](https://github.com/nlohmann/json/issues/235) -- Can't use basic\_json::iterator as a base iterator for std::move\_iterator [\#233](https://github.com/nlohmann/json/issues/233) -- json object's creation can freezes execution [\#231](https://github.com/nlohmann/json/issues/231) -- Incorrect dumping of parsed numbers with exponents, but without decimal places [\#230](https://github.com/nlohmann/json/issues/230) -- double values are serialized with commas as decimal points [\#228](https://github.com/nlohmann/json/issues/228) -- Move semantics with std::initializer\_list [\#225](https://github.com/nlohmann/json/issues/225) -- replace emplace [\#224](https://github.com/nlohmann/json/issues/224) -- abort during getline in yyfill [\#223](https://github.com/nlohmann/json/issues/223) -- free\(\): invalid pointer error in GCC 5.2.1 [\#221](https://github.com/nlohmann/json/issues/221) -- Error compile Android NDK error: 'strtof' is not a member of 'std' [\#219](https://github.com/nlohmann/json/issues/219) -- Wrong link in the README.md [\#217](https://github.com/nlohmann/json/issues/217) -- Wide character strings not supported [\#216](https://github.com/nlohmann/json/issues/216) -- Memory allocations using range-based for loops [\#214](https://github.com/nlohmann/json/issues/214) -- would you like to support gcc 4.8.1? [\#211](https://github.com/nlohmann/json/issues/211) -- Reading concatenated json's from an istream [\#210](https://github.com/nlohmann/json/issues/210) -- Conflicting typedef of ssize\_t on Windows 32 bit when using Boost.Python [\#204](https://github.com/nlohmann/json/issues/204) -- Inconsistency between operator\[\] and push\_back [\#203](https://github.com/nlohmann/json/issues/203) -- Small bugs in json.hpp \(get\_number\) and unit.cpp \(non-standard integer type test\) [\#199](https://github.com/nlohmann/json/issues/199) -- GCC/clang floating point parsing bug in strtod\(\) [\#195](https://github.com/nlohmann/json/issues/195) -- What is within scope? [\#192](https://github.com/nlohmann/json/issues/192) -- Bugs in miloyip/nativejson-benchmark: roundtrips [\#187](https://github.com/nlohmann/json/issues/187) -- Floating point exceptions [\#181](https://github.com/nlohmann/json/issues/181) -- Integer conversion to unsigned [\#178](https://github.com/nlohmann/json/issues/178) -- map string string fails to compile [\#176](https://github.com/nlohmann/json/issues/176) -- In basic\_json::basic\_json\(const CompatibleArrayType& val\), the requirement of CompatibleArrayType is not strict enough. [\#174](https://github.com/nlohmann/json/issues/174) -- Provide a FAQ [\#163](https://github.com/nlohmann/json/issues/163) -- Implicit assignment to std::string fails [\#144](https://github.com/nlohmann/json/issues/144) - -- Fix Issue \#265 [\#266](https://github.com/nlohmann/json/pull/266) ([06needhamt](https://github.com/06needhamt)) -- Define CMake/CTest tests [\#247](https://github.com/nlohmann/json/pull/247) ([robertmrk](https://github.com/robertmrk)) -- Out of tree builds and a few other miscellaneous CMake cleanups. [\#242](https://github.com/nlohmann/json/pull/242) ([ChrisKitching](https://github.com/ChrisKitching)) -- Implement additional integration options [\#238](https://github.com/nlohmann/json/pull/238) ([robertmrk](https://github.com/robertmrk)) -- make serialization locale-independent [\#232](https://github.com/nlohmann/json/pull/232) ([nlohmann](https://github.com/nlohmann)) -- fixes \#223 by updating README.md [\#227](https://github.com/nlohmann/json/pull/227) ([kevin--](https://github.com/kevin--)) -- Use namespace std for int64\_t and uint64\_t [\#226](https://github.com/nlohmann/json/pull/226) ([lv-zheng](https://github.com/lv-zheng)) -- Added missing cerrno header to fix ERANGE compile error on android [\#222](https://github.com/nlohmann/json/pull/222) ([Teemperor](https://github.com/Teemperor)) -- Corrected readme [\#218](https://github.com/nlohmann/json/pull/218) ([Annihil](https://github.com/Annihil)) -- Create PULL\_REQUEST\_TEMPLATE.md [\#213](https://github.com/nlohmann/json/pull/213) ([whackashoe](https://github.com/whackashoe)) -- fixed noexcept; added constexpr [\#208](https://github.com/nlohmann/json/pull/208) ([nlohmann](https://github.com/nlohmann)) -- Add support for afl-fuzz testing [\#207](https://github.com/nlohmann/json/pull/207) ([mykter](https://github.com/mykter)) -- replaced ssize\_t occurrences with auto \(addresses \#204\) [\#205](https://github.com/nlohmann/json/pull/205) ([nlohmann](https://github.com/nlohmann)) -- Fixed issue \#199 - Small bugs in json.hpp \(get\_number\) and unit.cpp \(non-standard integer type test\) [\#200](https://github.com/nlohmann/json/pull/200) ([twelsby](https://github.com/twelsby)) -- Fix broken link [\#197](https://github.com/nlohmann/json/pull/197) ([vog](https://github.com/vog)) -- Issue \#195 - update Travis to Trusty due to gcc/clang strtod\(\) bug [\#196](https://github.com/nlohmann/json/pull/196) ([twelsby](https://github.com/twelsby)) -- Issue \#178 - Extending support to full uint64\_t/int64\_t range and unsigned type \(updated\) [\#193](https://github.com/nlohmann/json/pull/193) ([twelsby](https://github.com/twelsby)) - -## [v1.1.0](https://github.com/nlohmann/json/releases/tag/v1.1.0) (2016-01-24) - -[Full Changelog](https://github.com/nlohmann/json/compare/v1.0.0...v1.1.0) - -- Small error in pull \#185 [\#194](https://github.com/nlohmann/json/issues/194) -- Bugs in miloyip/nativejson-benchmark: floating-point parsing [\#186](https://github.com/nlohmann/json/issues/186) -- Floating point equality [\#185](https://github.com/nlohmann/json/issues/185) -- Unused variables in catch [\#180](https://github.com/nlohmann/json/issues/180) -- Typo in documentation [\#179](https://github.com/nlohmann/json/issues/179) -- JSON performance benchmark comparision [\#177](https://github.com/nlohmann/json/issues/177) -- Since re2c is often ignored in pull requests, it may make sense to make a contributing.md file [\#175](https://github.com/nlohmann/json/issues/175) -- Question about exceptions [\#173](https://github.com/nlohmann/json/issues/173) -- Android? [\#172](https://github.com/nlohmann/json/issues/172) -- Cannot index by key of type static constexpr const char\* [\#171](https://github.com/nlohmann/json/issues/171) -- Add assertions [\#168](https://github.com/nlohmann/json/issues/168) -- MSVC 2015 build fails when attempting to compare object\_t [\#167](https://github.com/nlohmann/json/issues/167) -- Member detector is not portable [\#166](https://github.com/nlohmann/json/issues/166) -- Unnecessary const\_cast [\#162](https://github.com/nlohmann/json/issues/162) -- Question about get\_ref\(\) [\#128](https://github.com/nlohmann/json/issues/128) -- range based for loop for objects [\#83](https://github.com/nlohmann/json/issues/83) -- Consider submitting this to the Boost Library Incubator [\#66](https://github.com/nlohmann/json/issues/66) - -- Fixed Issue \#186 - add strto\(f|d|ld\) overload wrappers, "-0.0" special case and FP trailing zero [\#191](https://github.com/nlohmann/json/pull/191) ([twelsby](https://github.com/twelsby)) -- Issue \#185 - remove approx\(\) and use \#pragma to kill warnings [\#190](https://github.com/nlohmann/json/pull/190) ([twelsby](https://github.com/twelsby)) -- Fixed Issue \#171 - added two extra template overloads of operator\[\] for T\* arguments [\#189](https://github.com/nlohmann/json/pull/189) ([twelsby](https://github.com/twelsby)) -- Fixed issue \#167 - removed operator ValueType\(\) condition for VS2015 [\#188](https://github.com/nlohmann/json/pull/188) ([twelsby](https://github.com/twelsby)) -- Implementation of get\_ref\(\) [\#184](https://github.com/nlohmann/json/pull/184) ([dariomt](https://github.com/dariomt)) -- Fixed some typos in CONTRIBUTING.md [\#182](https://github.com/nlohmann/json/pull/182) ([nibroc](https://github.com/nibroc)) - -## [v1.0.0](https://github.com/nlohmann/json/releases/tag/v1.0.0) (2015-12-27) - -[Full Changelog](https://github.com/nlohmann/json/compare/v1.0.0-rc1...v1.0.0) - -- add key name to exception [\#160](https://github.com/nlohmann/json/issues/160) -- Getting member discarding qualifyer [\#159](https://github.com/nlohmann/json/issues/159) -- basic\_json::iterator::value\(\) output includes quotes while basic\_json::iterator::key\(\) doesn't [\#158](https://github.com/nlohmann/json/issues/158) -- Indexing `const basic_json<>` with `const basic_string<char>` [\#157](https://github.com/nlohmann/json/issues/157) -- token\_type\_name\(token\_type t\): not all control paths return a value [\#156](https://github.com/nlohmann/json/issues/156) -- prevent json.hpp from emitting compiler warnings [\#154](https://github.com/nlohmann/json/issues/154) -- json::parse\(string\) does not check utf8 bom [\#152](https://github.com/nlohmann/json/issues/152) -- unsigned 64bit values output as signed [\#151](https://github.com/nlohmann/json/issues/151) -- Wish feature: json5 [\#150](https://github.com/nlohmann/json/issues/150) -- Unable to compile on MSVC 2015 with SDL checking enabled: This function or variable may be unsafe. [\#149](https://github.com/nlohmann/json/issues/149) -- "Json Object" type does not keep object order [\#148](https://github.com/nlohmann/json/issues/148) -- dump\(\) convert strings encoded by utf-8 to shift-jis on windows 10. [\#147](https://github.com/nlohmann/json/issues/147) -- Unable to get field names in a json object [\#145](https://github.com/nlohmann/json/issues/145) -- Question: Is the use of incomplete type correct? [\#138](https://github.com/nlohmann/json/issues/138) -- json.hpp:5746:32: error: 'to\_string' is not a member of 'std' [\#136](https://github.com/nlohmann/json/issues/136) -- Bug in basic\_json::operator\[\] const overload [\#135](https://github.com/nlohmann/json/issues/135) -- wrong enable\_if for const pointer \(instead of pointer-to-const\) [\#134](https://github.com/nlohmann/json/issues/134) -- overload of at\(\) with default value [\#133](https://github.com/nlohmann/json/issues/133) -- Splitting source [\#132](https://github.com/nlohmann/json/issues/132) -- Question about get\_ptr\(\) [\#127](https://github.com/nlohmann/json/issues/127) -- Visual Studio 14 Debug assertion failed [\#125](https://github.com/nlohmann/json/issues/125) -- Memory leak in face of exceptions [\#118](https://github.com/nlohmann/json/issues/118) -- Find and Count for arrays [\#117](https://github.com/nlohmann/json/issues/117) -- dynamically constructing an arbitrarily nested object [\#114](https://github.com/nlohmann/json/issues/114) -- Returning any data type [\#113](https://github.com/nlohmann/json/issues/113) -- Compile error with g++ 4.9.3 cygwin 64-bit [\#112](https://github.com/nlohmann/json/issues/112) -- insert json array issue with gcc4.8.2 [\#110](https://github.com/nlohmann/json/issues/110) -- error: unterminated raw string [\#109](https://github.com/nlohmann/json/issues/109) -- vector\<json\> copy constructor really weird [\#108](https://github.com/nlohmann/json/issues/108) -- \[clang-3.6.2\] string/sstream with number to json issue [\#107](https://github.com/nlohmann/json/issues/107) -- object field accessors [\#103](https://github.com/nlohmann/json/issues/103) -- v8pp and json [\#95](https://github.com/nlohmann/json/issues/95) -- Wishlist [\#65](https://github.com/nlohmann/json/issues/65) -- Windows/Visual Studio \(through 2013\) is unsupported [\#62](https://github.com/nlohmann/json/issues/62) - -- Replace sprintf with hex function, this fixes \#149 [\#153](https://github.com/nlohmann/json/pull/153) ([whackashoe](https://github.com/whackashoe)) -- Fix character skipping after a surrogate pair [\#146](https://github.com/nlohmann/json/pull/146) ([robertmrk](https://github.com/robertmrk)) -- Detect correctly pointer-to-const [\#137](https://github.com/nlohmann/json/pull/137) ([dariomt](https://github.com/dariomt)) -- disabled "CopyAssignable" test for MSVC in Debug mode, see \#125 [\#131](https://github.com/nlohmann/json/pull/131) ([dariomt](https://github.com/dariomt)) -- removed stream operator for iterator, resolution for \#125 [\#130](https://github.com/nlohmann/json/pull/130) ([dariomt](https://github.com/dariomt)) -- fixed typos in comments for examples [\#129](https://github.com/nlohmann/json/pull/129) ([dariomt](https://github.com/dariomt)) -- Remove superfluous inefficiency [\#126](https://github.com/nlohmann/json/pull/126) ([d-frey](https://github.com/d-frey)) -- remove invalid parameter '-stdlib=libc++' in CMakeLists.txt [\#124](https://github.com/nlohmann/json/pull/124) ([emvivre](https://github.com/emvivre)) -- exception-safe object creation, fixes \#118 [\#122](https://github.com/nlohmann/json/pull/122) ([d-frey](https://github.com/d-frey)) -- Fix small oversight. [\#121](https://github.com/nlohmann/json/pull/121) ([ColinH](https://github.com/ColinH)) -- Overload parse\(\) to accept an rvalue reference [\#120](https://github.com/nlohmann/json/pull/120) ([silverweed](https://github.com/silverweed)) -- Use the right variable name in doc string [\#115](https://github.com/nlohmann/json/pull/115) ([whoshuu](https://github.com/whoshuu)) - -## [v1.0.0-rc1](https://github.com/nlohmann/json/releases/tag/v1.0.0-rc1) (2015-07-26) - -[Full Changelog](https://github.com/nlohmann/json/compare/4502e7e51c0569419c26e75fbdd5748170603e54...v1.0.0-rc1) - -- Finish documenting the public interface in Doxygen [\#102](https://github.com/nlohmann/json/issues/102) -- Binary string causes numbers to be dumped as hex [\#101](https://github.com/nlohmann/json/issues/101) -- failed to iterator json object with reverse\_iterator [\#100](https://github.com/nlohmann/json/issues/100) -- 'noexcept' : unknown override specifier [\#99](https://github.com/nlohmann/json/issues/99) -- json float parsing problem [\#98](https://github.com/nlohmann/json/issues/98) -- Adjust wording to JSON RFC [\#97](https://github.com/nlohmann/json/issues/97) -- static analysis warnings [\#94](https://github.com/nlohmann/json/issues/94) -- reverse\_iterator operator inheritance problem [\#93](https://github.com/nlohmann/json/issues/93) -- init error [\#92](https://github.com/nlohmann/json/issues/92) -- access by \(const\) reference [\#91](https://github.com/nlohmann/json/issues/91) -- is\_integer and is\_float tests [\#90](https://github.com/nlohmann/json/issues/90) -- Nonstandard integer type [\#89](https://github.com/nlohmann/json/issues/89) -- static library build [\#84](https://github.com/nlohmann/json/issues/84) -- lexer::get\_number return NAN [\#82](https://github.com/nlohmann/json/issues/82) -- MinGW have no std::to\_string [\#80](https://github.com/nlohmann/json/issues/80) -- Incorrect behaviour of basic\_json::count method [\#78](https://github.com/nlohmann/json/issues/78) -- Invoking is\_array\(\) function creates "null" value [\#77](https://github.com/nlohmann/json/issues/77) -- dump\(\) / parse\(\) not idempotent [\#76](https://github.com/nlohmann/json/issues/76) -- Handle infinity and NaN cases [\#70](https://github.com/nlohmann/json/issues/70) -- errors in g++-4.8.1 [\#68](https://github.com/nlohmann/json/issues/68) -- Keys when iterating over objects [\#67](https://github.com/nlohmann/json/issues/67) -- Compilation results in tons of warnings [\#64](https://github.com/nlohmann/json/issues/64) -- Complete brief documentation [\#61](https://github.com/nlohmann/json/issues/61) -- Double quotation mark is not parsed correctly [\#60](https://github.com/nlohmann/json/issues/60) -- Get coverage back to 100% [\#58](https://github.com/nlohmann/json/issues/58) -- erase elements using iterators [\#57](https://github.com/nlohmann/json/issues/57) -- Removing item from array [\#56](https://github.com/nlohmann/json/issues/56) -- Serialize/Deserialize like PHP? [\#55](https://github.com/nlohmann/json/issues/55) -- Numbers as keys [\#54](https://github.com/nlohmann/json/issues/54) -- Why are elements alphabetized on key while iterating? [\#53](https://github.com/nlohmann/json/issues/53) -- Document erase, count, and iterators key and value [\#52](https://github.com/nlohmann/json/issues/52) -- Do not use std::to\_string [\#51](https://github.com/nlohmann/json/issues/51) -- Supported compilers [\#50](https://github.com/nlohmann/json/issues/50) -- Confused about iterating through json objects [\#49](https://github.com/nlohmann/json/issues/49) -- Use non-member begin/end [\#48](https://github.com/nlohmann/json/issues/48) -- Erase key [\#47](https://github.com/nlohmann/json/issues/47) -- Key iterator [\#46](https://github.com/nlohmann/json/issues/46) -- Add count member function [\#45](https://github.com/nlohmann/json/issues/45) -- Problem getting vector \(array\) of strings [\#44](https://github.com/nlohmann/json/issues/44) -- Compilation error due to assuming that private=public [\#43](https://github.com/nlohmann/json/issues/43) -- Use of deprecated implicit copy constructor [\#42](https://github.com/nlohmann/json/issues/42) -- Printing attribute names [\#39](https://github.com/nlohmann/json/issues/39) -- dumping a small number\_float just outputs 0.000000 [\#37](https://github.com/nlohmann/json/issues/37) -- find is error [\#32](https://github.com/nlohmann/json/issues/32) -- Avoid using spaces when encoding without pretty print [\#31](https://github.com/nlohmann/json/issues/31) -- Cannot encode long numbers [\#30](https://github.com/nlohmann/json/issues/30) -- segmentation fault when iterating over empty arrays/objects [\#28](https://github.com/nlohmann/json/issues/28) -- Creating an empty array [\#27](https://github.com/nlohmann/json/issues/27) -- Custom allocator support [\#25](https://github.com/nlohmann/json/issues/25) -- make the type of the used string container customizable [\#20](https://github.com/nlohmann/json/issues/20) -- Improper parsing of JSON string "\\" [\#17](https://github.com/nlohmann/json/issues/17) -- create a header-only version [\#16](https://github.com/nlohmann/json/issues/16) -- Don't return "const values" [\#15](https://github.com/nlohmann/json/issues/15) -- Add to\_string overload for indentation [\#13](https://github.com/nlohmann/json/issues/13) -- string parser does not recognize uncompliant strings [\#12](https://github.com/nlohmann/json/issues/12) -- possible double-free in find function [\#11](https://github.com/nlohmann/json/issues/11) -- UTF-8 encoding/deconding/testing [\#10](https://github.com/nlohmann/json/issues/10) -- move code into namespace [\#9](https://github.com/nlohmann/json/issues/9) -- free functions for explicit objects and arrays in initializer lists [\#8](https://github.com/nlohmann/json/issues/8) -- unique\_ptr for ownership [\#7](https://github.com/nlohmann/json/issues/7) -- Add unit tests [\#4](https://github.com/nlohmann/json/issues/4) -- Drop C++98 support [\#3](https://github.com/nlohmann/json/issues/3) -- Test case coverage [\#2](https://github.com/nlohmann/json/issues/2) -- Runtime error in Travis job [\#1](https://github.com/nlohmann/json/issues/1) - -- Keyword 'inline' is useless when member functions are defined in headers [\#87](https://github.com/nlohmann/json/pull/87) ([ahamez](https://github.com/ahamez)) -- Remove useless typename [\#86](https://github.com/nlohmann/json/pull/86) ([ahamez](https://github.com/ahamez)) -- Avoid warning with Xcode's clang [\#85](https://github.com/nlohmann/json/pull/85) ([ahamez](https://github.com/ahamez)) -- Fix typos [\#73](https://github.com/nlohmann/json/pull/73) ([maqnouch](https://github.com/maqnouch)) -- Replace `default_callback` function with `nullptr` and check for null… [\#72](https://github.com/nlohmann/json/pull/72) ([aburgh](https://github.com/aburgh)) -- support enum [\#71](https://github.com/nlohmann/json/pull/71) ([likebeta](https://github.com/likebeta)) -- Fix performance regression introduced with the parsing callback feature. [\#69](https://github.com/nlohmann/json/pull/69) ([aburgh](https://github.com/aburgh)) -- Improve the implementations of the comparission-operators [\#63](https://github.com/nlohmann/json/pull/63) ([Fiona-J-W](https://github.com/Fiona-J-W)) -- Fix compilation of json\_unit with GCC 5 [\#59](https://github.com/nlohmann/json/pull/59) ([dkopecek](https://github.com/dkopecek)) -- Parse streams incrementally. [\#40](https://github.com/nlohmann/json/pull/40) ([aburgh](https://github.com/aburgh)) -- Feature/small float serialization [\#38](https://github.com/nlohmann/json/pull/38) ([jrandall](https://github.com/jrandall)) -- template version with re2c scanner [\#36](https://github.com/nlohmann/json/pull/36) ([nlohmann](https://github.com/nlohmann)) -- more descriptive documentation in example [\#33](https://github.com/nlohmann/json/pull/33) ([luxe](https://github.com/luxe)) -- Fix string conversion under Clang [\#26](https://github.com/nlohmann/json/pull/26) ([wancw](https://github.com/wancw)) -- Fixed dumping of strings [\#24](https://github.com/nlohmann/json/pull/24) ([Teemperor](https://github.com/Teemperor)) -- Added a remark to the readme that coverage is GCC only for now [\#23](https://github.com/nlohmann/json/pull/23) ([Teemperor](https://github.com/Teemperor)) -- Unicode escaping [\#22](https://github.com/nlohmann/json/pull/22) ([Teemperor](https://github.com/Teemperor)) -- Implemented the JSON spec for string parsing for everything but the \uXXXX escaping [\#21](https://github.com/nlohmann/json/pull/21) ([Teemperor](https://github.com/Teemperor)) -- add the std iterator typedefs to iterator and const\_iterator [\#19](https://github.com/nlohmann/json/pull/19) ([kirkshoop](https://github.com/kirkshoop)) -- Fixed escaped quotes [\#18](https://github.com/nlohmann/json/pull/18) ([Teemperor](https://github.com/Teemperor)) -- Fix double delete on std::bad\_alloc exception [\#14](https://github.com/nlohmann/json/pull/14) ([elliotgoodrich](https://github.com/elliotgoodrich)) -- Added CMake and lcov [\#6](https://github.com/nlohmann/json/pull/6) ([Teemperor](https://github.com/Teemperor)) -- Version 2.0 [\#5](https://github.com/nlohmann/json/pull/5) ([nlohmann](https://github.com/nlohmann)) - - - -\* *This Changelog was automatically generated by [github_changelog_generator](https://github.com/github-changelog-generator/github-changelog-generator)* diff --git a/tomlplusplus/.gitmodules b/tomlplusplus/.gitmodules deleted file mode 100644 index e69de29bb2..0000000000 --- a/tomlplusplus/.gitmodules +++ /dev/null diff --git a/tomlplusplus/CHANGELOG.md b/tomlplusplus/CHANGELOG.md deleted file mode 100644 index c9155779f0..0000000000 --- a/tomlplusplus/CHANGELOG.md +++ /dev/null @@ -1,764 +0,0 @@ -# Changelog - -<!-- -template: - -## vX.X.X - -[Released](https://github.com/marzer/tomlplusplus/releases/tag/vX.X.X) YYYY-MM-DD - -#### Fixes: - -#### Additions: - -#### Changes: - -#### Removals: - -#### Build system: - -<br><br> - ---> - -## Unreleased - -#### Fixes - -- fixed `is_homogeneous()` overloads with `first_nonmatch` outparam being broken in optimized builds (#231) (@Forbinn) -- fixed unclear error message when parsing integers that would overflow (#224) (@chrimbo) -- fixed CMake `install` target installing `meson.build` files (#236) (@JWCS) -- lowered `TOML_MAX_NESTED_VALUES` default from 256 to 128 to prevent stack overflow on deeply nested arrays/inline tables in sanitizer builds (@danielbodorin) - -## v3.4.0 - -- fixed "unresolved symbol" error with nvc++ (#220) (@Tomcat-42) - -#### Fixes - -- fixed `value_flags` not being preserved correctly when inserting into tables and arrays (#108) (@LebJe) -- fixed `toml::value::flags()` not being cleared when `std::move`-ing a value -- fixed error in README (#195) (@andrewkcorcoran) -- fixed compiler error when using NVCC (#198) (@thompsonnoahe) -- fixed `noexcept(...)` sometimes being incorrectly derived on `for_each()` -- fixed `for_each()` compilation error on GCC <= 7 (#197) (@sagi-ottopia, @damirbarr) -- fixed `FLT_RADIX` check getting broken by Intel MKL headers (#202) (@iago-lito) -- fixed keys containing `\t` incorrectly formatting as bare keys (@jasmine-zhu, @arp242) -- fixed keys containing `\t` and `\n` not round-tripping correctly (@arp242) - -#### Additions - -- added support for using enums with `value_or()` - -#### Changes - -- renamed header files to have `.hpp` extension (`toml.h` is still present for backwards-compatibility) - -#### Build system - -- fixed meson builds with `-Ddefault_library=static` having hidden symbols on GNU compilers (#201) (@vlad0x00) - -<br><br> - -## v3.3.0 - -[Released](https://github.com/marzer/tomlplusplus/releases/tag/v3.3.0) 2023-01-29 - -#### Fixes - -- fixed null pointer dereference in parser when exceptions are disabled (#169) (@ncaklovic) -- fixed spurious warnings in MSVC 19.34 -- fixed `toml::parse_file()` on windows for non-ASCII paths -- fixed a spurious table redefinition error (#187) (@jorisvr) -- fixed UB edge-case in integer parsing (#188) (@jorisvr) -- fixed some build issues with Apple-flavoured Clang (#189) (@eddelbuettel) - -#### Additions - -- added `toml::format_flags::terse_key_value_pairs` -- added `TOML_ENABLE_FLOAT16` config (#178) (@Scrumplex) - -#### Removals - -- removed automatic detection of `_Float16` (you must explicitly set `TOML_ENABLE_FLOAT16` to enable it) (#186) (@benthetechguy) - -#### Build system - -- re-wrote the meson scripts to fix a number of issues (#185, #186) (@Tachi107, @benthetechguy) -- increased the minimum required meson version to `0.61.0` - -<br><br> - -## v3.2.0 - -[Released](https://github.com/marzer/tomlplusplus/releases/tag/v3.2.0) 2022-08-29 - -#### Fixes - -- fixed `[dotted.table]` source columns sometimes being off by one (#152) (@vaartis) -- fixed spurious `Wnull-dereference` warning on GCC (#164) (@zaporozhets) -- fixed `print_to_stream` ambiguity for `size_t` (#167) (@acronce) - -#### Additions - -- added value type deduction to `emplace()` methods -- added `toml::path` utility type (#153, #156, #168) (@jonestristand, @kcsaul) -- added config option `TOML_CALLCONV` -- added missing relational operators for `source_position` - -#### Changes - -- relaxed cvref requirements of `is_homogeneous()`, `emplace()`, `emplace_back()`, `emplace_hint()` -- relaxed mantissa and digits10 requirements of extended float support - -<br><br> - -## v3.1.0 - -[Released](https://github.com/marzer/tomlplusplus/releases/tag/v3.1.0) 2022-04-22 - -#### Fixes - -- fixed potential segfault when calling `at_path()` with an empty string -- fixed UB in internal unicode machinery (#144) (@kchalmer) -- fixed a number of spurious warnings with Clang 10 (#145, #146) (@chronoxor) - -#### Additions - -- added `toml::array::for_each()` -- added `toml::table::for_each()` -- added config options `TOML_EXPORTED_CLASS`, `TOML_EXPORTED_MEMBER_FUNCTION`, `TOML_EXPORTED_STATIC_FUNCTION` & `TOML_EXPORTED_FREE_FUNCTION` -- added support for escape sequence `\e` when using `TOML_ENABLE_UNRELEASED_FEATURES` ([toml/790](https://github.com/toml-lang/toml/pull/790)) -- added support for more unicode in bare keys when using `TOML_ENABLE_UNRELEASED_FEATURES` ([toml/891](https://github.com/toml-lang/toml/pull/891)) - -#### Removals/Deprecations - -- deprecated old `TOML_API` option in favour new `TOML_EXPORTED_X` options - (it will continue to work as it did before if none of the new function export options are defined) - -#### Build system - -- meson: added `compile_library` option (@Tachi107) -- meson: added `ubsan_tests` and `ubsan_examples` options -- meson: use system dependencies where available when building tests (@Tachi107) - -<br><br> - -## v3.0.1 - -[Released](https://github.com/marzer/tomlplusplus/releases/tag/v3.0.1) 2022-01-13 - -This is a single-bugfix release to fix an ODR issue for people using header-only mode in multiple -translation units. If you aren't seeing linker errors because of `toml::array::insert_at()`, -this release holds nothing of value over v3.0.0. - -#### Fixes - -- fixed erroneous use of `TOML_API` causing ODR issue (#136) (@Azarael) - -<br><br> - -## v3.0.0 - -[Released](https://github.com/marzer/tomlplusplus/releases/tag/v3.0.0) 2022-01-11 - -This release will be a major version bump, so it's ABI breaks all around. -Any changes that are likely to cause migration issues (API changes, build system breakage, etc.) are indicated with ⚠️. - -#### Fixes - -- ⚠️ fixed `toml::table` init-list constructor requiring double-brackets -- ⚠️ fixed `TOML_API` + extern templates causing linker errors in some circumstances -- ⚠️ fixed incorrect `noexcept` specifications on many functions -- ⚠️ fixed missing `TOML_API` on some interfaces -- fixed `toml::json_formatter` not formatting inf and nan incorrectly -- fixed a number of spec conformance issues (#127, #128, #129, #130, #131, #132, #135) (@moorereason) -- fixed an illegal table redefinition edge case (#112) (@python36) -- fixed documentation issues -- fixed GCC bug causing memory leak during parse failures (#123, #124) (@rsmmr, @ronalabraham) -- fixed incorrect handling of vertical whitespace in keys when printing TOML to streams -- fixed incorrect source position in redefinition error messages -- fixed missing includes `<initializer_list>`, `<utility>` -- fixed parser not correctly round-tripping the format of binary and octal integers in some cases -- fixed some incorrect unicode scalar sequence transformations (#125) -- fixed strong exception guarantee edge-cases in `toml::table` and `toml::array` - -#### Additions - -- added value flags to array + table insert methods (#44) (@levicki) -- added support for Unicode 14.0 -- added support for ref categories and cv-qualifiers in `toml::node::ref()` -- added magic `toml::value_flags` constant `toml::preserve_source_value_flags` -- added clang's enum annotation attributes to all enums -- added `TOML_ENABLE_FORMATTERS` option -- added `toml::yaml_formatter` -- added `toml::value` copy+move constructor overloads with flags override -- added `toml::table::prune()` -- added `toml::table::lower_bound()` (same semantics as `std::map::lower_bound()`) -- added `toml::table::emplace_hint()` (same semantics as `std::map::emplace_hint()`) -- added `toml::table::at()` (same semantics as `std::map::at()`) -- added `toml::node_view::operator==` -- added `toml::key` - provides a facility to access the source_regions of parsed keys (#82) (@vaartis) -- added `toml::is_key<>` and `toml::is_key_or_convertible<>` metafunctions -- added `toml::format_flags::relaxed_float_precision` (#89) (@vaartis) -- added `toml::format_flags::quote_infinities_and_nans` -- added `toml::format_flags::indent_sub_tables` (#120) (@W4RH4WK) -- added `toml::format_flags::indent_array_elements` (#120) (@W4RH4WK) -- added `toml::format_flags::allow_unicode_strings` -- added `toml::format_flags::allow_real_tabs_in_strings` -- added `toml::format_flags::allow_octal_integers` -- added `toml::format_flags::allow_hexadecimal_integers` -- added `toml::format_flags::allow_binary_integers` -- added `toml::date_time` converting constructors from `toml::date` and `toml::time` -- added `toml::at_path()`, `toml::node::at_path()` and `toml::node_view::at_path()` for qualified path-based lookups (#118) (@ben-crowhurst) -- added `toml::array::resize()` param `default_init_flags` -- added `toml::array::replace()` (#109) (@LebJe) -- added `toml::array::prune()` -- added `toml::array::at()` (same semantics as `std::vector::at()`) -- added `parse_benchmark` example -- added `operator->` to `toml::value` for class types - -#### Changes - -- ⚠️ `toml::format_flags` is now backed by `uint64_t` (was previously `uint8_t`) -- ⚠️ `toml::source_index` is now an alias for `uint32_t` unconditionally (was previously dependent on `TOML_LARGE_FILES`) -- ⚠️ `toml::table` now uses `toml::key` as the key type (was previously `std::string`) -- ⚠️ `toml::value_flags` is now backed by `uint16_t` (was previously `uint8_t`) -- ⚠️ made all overloaded operators 'hidden friends' where possible -- ⚠️ renamed `toml::default_formatter` to `toml::toml_formatter` (`toml::default_formatter` is now an alias) -- ⚠️ renamed `TOML_PARSER` option to `TOML_ENABLE_PARSER` (`TOML_PARSER` will continue to work but is deprecated) -- ⚠️ renamed `TOML_UNRELEASED_FEATURES` to `TOML_ENABLE_UNRELEASED_FEATURES` (`TOML_UNRELEASED_FEATURES` will continue to work but is deprecated) -- ⚠️ renamed `TOML_WINDOWS_COMPAT` to `TOML_ENABLE_WINDOWS_COMPAT` (`TOML_WINDOWS_COMPAT` will continue to work but is deprecated) -- applied clang-format to all the things 🎉️ -- exposed `TOML_NAMESPACE_START` and `TOML_NAMESPACE_END` macros to help with ADL specialization scenarios -- improved performance of parser -- made date/time constructors accept any integral types -- moved all implementation headers to `/impl` -- renamed all implementation headers to `.h` and 'source' headers to `.inl` -- updated conformance tests - -#### Removals - -- ⚠️ removed `toml::format_flags::allow_value_format_flags` -- ⚠️ removed `TOML_LARGE_FILES` (it is now default - explicitly setting `TOML_LARGE_FILES` to `0` will invoke an `#error`) -- ⚠️ removed unnecessary template machinery (esp. where ostreams were involved) -- removed unnecessary uses of `final` - -#### Build system - -- ⚠️ increased minimum required meson version to `0.54.0` -- disabled 'install' path when being used as a meson subproject (#114) (@Tachi107) -- fixed builds failing with meson 0.6.0 (#117) (@Tachi107) -- general meson improvements and fixes (#115) (@Tachi107) -- used `override_dependency` where supported (#116) (@Tachi107) - -<br><br> - -## v2.5.0 - -[Released](https://github.com/marzer/tomlplusplus/releases/tag/v2.5.0) 2021-07-11 - -#### Fixes - -- fixed linkage error with windows compat mode -- fixed `TOML_CONSTEVAL` broken in MSVC (again) -- fixed minor documentation bugs -- fixed cmake project version being incorrect (#110) (@GiulioRomualdi) - -#### Additions - -- added support for lowercase 't' and 'z' in datetimes (per spec) -- added natvis file to cmake install (#106) (@Ryan-rsm-McKenzie) -- added VS cpp.hint file to cmake install -- added metafunctions `is_container`, `is_chronological`, `is_value`, `is_node`, `inserted_type_of` - -#### Changes - -- improved debug code size by removing unnecessary std::forwards and std::moves -- modernized the CMake build files (#102, #103, #105) (@friendlyanon) -- updated conformance tests - -<br><br> - -## v2.4.0 - -[Released](https://github.com/marzer/tomlplusplus/releases/tag/v2.4.0) 2021-05-19 - -#### Fixes - -- fixed `node::value()` not retrieving inf and nan correctly -- fixed dotted kvps being unable to add subtables (#61) (@Validark) -- fixed linker error on linux ICC (#83) (@blackwer) -- fixed segfault JSON-formatting a failed `parse_result` (#96) (@proydakov) -- fixed spurious newline after JSON formatting a table -- fixed VS intellisense not detecting `TOML_COMPILER_EXCEPTIONS` correctly -- fixed crash with pathologically-nested inputs (#100) (@geeknik) -- fixed `parse_result` natvis -- fixed false-positive `char8_t` support detection on older compilers -- fixed unnecessary `#include <Windows.h>` Windows builds (@BeastLe9enD) -- fixed `TOML_CONSTEVAL` breaking on VS 16.10.0pre2 -- fixed spurious warnings with MSVC /Wall -- fixed missing blank lines between consecutive empty tables/A-o-T -- fixed unnecessary `TOML_API` declarations -- fixed many small documentation issues - -#### Additions - -- added proper cmake support (#85) (@ClausKlein) -- added cmake FetchContent information to documentation (#101) (@proydakov) - -#### Removals - -- removed explicit `#include <fstream>` requirement for `parse_file()` - -<br><br> - -## v2.3.0 - -[Released](https://github.com/marzer/tomlplusplus/releases/tag/v2.3.0) 2020-12-29 - -#### Fixes - -- fixed compiler errors caused by `<charconv>` with Apple-flavoured clang -- fixed array and table iterators missing `iterator_category` (#77) (@HazardyKnusperkeks) -- fixed `Wuseless-cast` warnings on GCC 10 (#75) (@HazardyKnusperkeks) -- fixed formatter not correctly line wrapping in some rare circumstances (#73) (@89z) -- fixed an unnecessary global compiler flag breaking builds when used as a meson subproject (#72) (@jamabr) -- fixed link error caused by `<charconv>` on emscripten (#71) (@suy) -- fixed ambiguity with the `toml::literals` inline namespace (#69) (@std-any-emplace) -- fixed formatter emitting superfluous newlines after printing tables (#68) (@std-any-emplace) -- fixed array and table iterators not converting between const and non-const versions of themselves (#67) (@std-any-emplace) -- fixed some parser crashes when given pathologically-malformed UTF-8 (#65) (@sneves) - -<br><br> - -## v2.2.0 - -[Released](https://github.com/marzer/tomlplusplus/releases/tag/v2.2.0) 2020-08-09 - -#### Fixes - -- fixed some issues building with VS2017 (#55) (@sobczyk) -- fixed `_Float16` erroneously detected as supported on g++ (#57) (@sobczyk) -- fixed `<Windows.h>` causing compilation failure on mingw (#63) (@rezahousseini) -- fixed CMake and pkg-config files not being installed into architecture-agnostic directories (#59) (@tambry) -- fixed memory leak during parsing (#64) (@sneves) -- fixed ambiguous `operator==` error on MSVC (#56) (@HellsingDarge) - -#### Additions - -- added additional node_view constructors -- added ability to specify serialization format of integer values -- added integer value serialization format round trip (e.g. hex in, hex out) - -#### Changes - -- updated conformance tests -- TOML version bump to v1.0.0-rc.3 -- refactors and cleanups based on feedback given [here](https://medium.com/@julienjorge/code-review-of-toml-f816a6071120) - -#### Build system - -- renamed build options to `snake_case` -- tests, examples and cmake config now explicitly disabled when used as a subproject -- removed small_binaries (it's now implicit when building as release) -- bumped minimum meson version to 0.53 - -<br><br> - -## v2.1.0 - -[Released](https://github.com/marzer/tomlplusplus/releases/tag/v2.1.0) 2020-07-11 - -#### Fixes - -- fixed inconsistent emission of leading/trailing newlines when writing a table to an ostream (#48) (@levicki) -- fixed `Wcast-align` warning spam on ARM -- fixed `array::insert` not working correctly in some cases -- fixed `node::value_or()` not having the same semantics as `node::value()` (#50) (@whiterabbit963) -- fixed 'misleading assignment' of rvalue node_views (#52) (@Reedbeta) -- fixed some issues handling infinities and NaNs (#51) (@Reedbeta) -- fixed some minor documentation issues - -#### Additions - -- added support for `__fp16`, `_Float16`, `__float128`, `__int128_t` and `__uint128_t` -- added copy construction/assignment for arrays, tables and values -- added insert, emplace, push_back etc. compatibility with node_views -- added `node::is_homogenous` -- added `table::is_homogenous` -- added `value::is_homogenous` (just for generic code's sake) -- added `is_homogenous` overload for identifying failure-causing element -- added implicit conversion operator from `node` to `node_view` (#52) (@Reedbeta) - -#### Changes - -- renamed `TOML_ALL_INLINE` to `TOML_HEADER_ONLY` (the old name will still work, but is no longer documented) -- general cleanup - -<br><br> - -## v2.0.0 - -[Released](https://github.com/marzer/tomlplusplus/releases/tag/v2.0.0) 2020-07-20 - -This release contains a fairly significant number of 'quality of life' improvements, yay! But also necessitates an ABI -break (hence the version number bump). Changes that might block a migration are annotated with ⚠️. - -#### Fixes - -- fixed infinity and NaN-related code breaking when using `-ffast-math` and friends -- fixed narrowing conversion warnings when constructing int values from unsigned -- fixed Visual Studio debugger native visualizations for `date`, `time`, `time_offset`, `date_time` -- fixed some static assert messages being badly formatted on clang -- fixed internal macro `assert_or_assume` leaking out of `toml_parser.hpp` - -#### Additions - -- added additional types allowed in `node::value()` and `node::value_or()` ([see `value()` dox for examples](https://marzer.github.io/tomlplusplus/classtoml_1_1node.html#ab144c1ae90338b6b03f6af0574c87993)) -- added additional types allowed in `node_view::value()` and `node_view::value_or()` -- added `node::value_exact()` and `node_view::value_exact()` -- added support for interop with wide strings on Windows: - - added wide-string path arg overloads of `parse()` and `parse_file()` - - added wide-string support to all relevant `table` and `array` ops - - added wide-string support to `node::value(), node::value_or()` - - added wide-string support to `node_view::value(), node_view::value_or()` - - added wide-string support to `value<string>` constructor - - added wide-string overloads of `node_view::operator[]` - - added `source_region::wide_path()` - - added `TOML_WINDOWS_COMPAT` switch for explicitly enabling/disabling this stuff -- added emission of 'literal' strings to the TOML serializer -- added lots of minor documentation fixes and improvements -- added Visual Studio debugger native visualizations for `table`, `array`, `parse_result`, and `parse_error` (#46) (@Reedbeta) -- added non-template version of `array::is_homogeneous()` -- added explicit instantiations of more template types when `!TOML_ALL_INLINE` - -#### Changes - -- ⚠️ deprecated `parse_result::get()` in favour of `parse_result::table()` -- ⚠️ deprecated `node_view::get()` in favour of `node_view::node()` -- ⚠️ simplified internal ABI namespaces -- improved the quality of many static_assert error messages - -#### Removals - -- ⚠️ renamed `date_time::time_offset` to just 'offset' -- ⚠️ removed `TOML_CHAR_8_STRINGS` since it no longer makes sense - -<br><br> - -## v1.3.3 - -[Released](https://github.com/marzer/tomlplusplus/releases/tag/v1.3.3) 2020-06-29 - -#### Fixes - -- fixed some minor TOML spec conformance bugs -- fixed BOM check causing EOF on very short iostream inputs -- fixed `std::numeric_limits::max()` getting broken by macros in some environments -- fixed 'unknown pragma' warning spam in older versions of GCC -- fixed a few minor documentation issues - -#### Additions - -- added rvalue overload of `array::flatten` -- added conformance tests from `BurntSushi/toml-test` and `iarna/toml-spec-tests` -- added `toml::inserter` as a workaround for nested construction of single-element `toml::arrays` performing move-construction instead -- added license boilerplate to test files - -#### Changes - -- refactored the parser to reduce binary size - -<br><br> - -## v1.3.2 - -[Released](https://github.com/marzer/tomlplusplus/releases/tag/v1.3.2) 2020-06-19 - -#### Fixes - -- fixed single-digit negative integers parsing as positive -- fixed parse failure when parsing an empty file -- fixed multi-line strings being allowed in keys -- fixed overflow for very long binary integer literals - -#### Changes - -- improved the performance of toml::parse_file -- improved the performance of printing to streams for deepy-nested TOML data - -<br><br> - -## v1.3.0 - -[Released](https://github.com/marzer/tomlplusplus/releases/tag/v1.3.0) 2020-06-02 - -#### Fixes - -- fixed `formatter::print_inline()` causing compilation failures in DLL builds -- fixed BOMs occasionally causing overflow/crash in char8 mode -- fixed some spurious warnings in GCC 10 -- fixed clang static analyzer warning in BOM handling code - -#### Additions - -- added `table_iterator::operator ->` -- added `array::resize()` and `array::truncate()` -- added `array::capacity()`, `array::shrink_to_fit()`, `array::max_size()` -- added non-const -> const conversion for table and array iterators - -#### Changes - -- renamed table iterator proxy pair members to `first` and `second` to match STL - -<br><br> - -## v1.2.5 - -[Released](https://github.com/marzer/tomlplusplus/releases/tag/v1.2.5) 2020-04-24 - -#### Fixes - -- fixed some multi-line string parsing issues -- fixed pedantic warnings on gcc 10 and clang 11 -- fixed `is_unicode_XXXXXX` functions being wrong in some cases -- fixed `TOML_LIKELY` not being correct on older versions of gcc and clang -- fixed minor documentation issues (#26, #38) (@prince-chrismc) - -#### Additions - -- added additional error message cases to the parser -- added `error_printer` example -- added `toml_generator` example - -#### Changes - -- improved unicode-related codegen - -<br><br> - -## v1.2.3 - -[Released](https://github.com/marzer/tomlplusplus/releases/tag/v1.2.3) 2020-04-11 - -#### Fixes - -- fixed printing of inf and nan -- fixed parser not handling floats with leading '.' characters -- fixed pedantic vtable warnings on clang with -Weverything -- fixed a number of documentation bugs -- fixed `TOML_UNRELEASED_FEATURES` default being 1 (it should have been 0) - -#### Additions - -- added `TOML_PARSER` configuration option -- added `TOML_LIB_SINGLE_HEADER` indicator -- added doxygen page for the configuration options -- added SPDX-License-Identifiers around the place - -#### Changes - -- split some header files up to make future maintenance easier -- refactored and greatly simplified parser - -<br><br> - -## v1.2.0 - -[Released](https://github.com/marzer/tomlplusplus/releases/tag/v1.2.0) 2020-04-07 - -#### Fixes - -- fixed some parsing and printing ops being locale-dependent -- fixed some parsing errors at EOF when `TOML_EXCEPTIONS = 0` -- fixed some unreferenced variable warnings on older compilers -- fixed some 'maybe-uninitialized' false-positives on GCC9 -- fixed pkgconfig subdir being wrong - -#### Additions - -- added support for implementations without `<charconv>` -- added cmake package config generator (#22) (@GiulioRomualdi) -- added build config feature option `GENERATE_CMAKE_CONFIG` -- added many new tests - -<br><br> - -## v1.1.0 - -[Released](https://github.com/marzer/tomlplusplus/releases/tag/v1.1.0) 2020-04-03 - -#### Fixes - -- fixed some parser error paths not returning early enough `TOML_EXCEPTIONS=0` -- fixed a number of minor documentation issues - -#### Additions - -- added support for [TOML 1.0.0-rc.1](https://github.com/toml-lang/toml/releases/tag/v1.0.0-rc.1) 🎉 -- added `operator[]`, `begin()`, `end()` to `toml::parse_result` for `TOML_EXCEPTIONS=0` -- added additional compilation speed improvements for `TOML_ALL_INLINE=0` -- added more specific error messages for parsing errors relating to prohibited codepoints -- added a large number of additional tests -- added support for installation with meson (#16) (@ximion) -- added the array and table iterators to the `toml` namespace - -<br><br> - -## v1.0.0 - -[Released](https://github.com/marzer/tomlplusplus/releases/tag/1.0.0) 2020-03-28 - -#### Fixes - -- fixed minor documentation issues - -#### Changes - -- refactoring of ABI-based inline namespaces - -<br><br> - -## v0.6.0 - -[Released](https://github.com/marzer/tomlplusplus/releases/tag/v0.6.0) 2020-03-24 - -#### Fixes - -- fixed minor preprocessor/macro issues -- fixed minor documentation issues - -#### Additions - -- added `<cassert>` include directly in 'debug' builds when `TOML_ASSERT` isn't defined -- added Clang's `[[trivial_abi]]` attribute to `date`, `time`, `time_offset` - -<br><br> - -## v0.5.0 - -[Released](https://github.com/marzer/tomlplusplus/releases/tag/v0.5.0) 2020-03-18 - -#### Fixes - -- fixed crash when reaching EOF while parsing a string when exceptions are disabled -- fixed some attribute warnings in GCC -- fixed build with GCC 8.2.0 (#15) (@shdnx) -- fixed exception mode detection sometimes being incorrect on MSVC -- fixed compilation on older implementations without `std::launder` -- fixed `json_formatter` type deduction on older compilers - -#### Additions - -- added support for Unicode 13.0 -- added support for `\xHH` escape sequences ([toml/pull/796](https://github.com/toml-lang/toml/pull/796)) -- added short-form license preamble to all source files -- added build configuration option for compiling examples - -<br><br> - -## v0.4.3 - -[Released](https://github.com/marzer/tomlplusplus/releases/tag/v0.4.3) 2020-03-10 - -#### Fixes - -- fixed ICE in VS2019 when using `/std:c++17` instead of `/std:c++latest` - -#### Additions - -- added `#error` when `TOML_EXCEPTIONS` is set to `1` but compiler exceptions were disabled - -#### Changes - -- parsing performance improvements - -<br><br> - -## v0.4.0 - -[Released](https://github.com/marzer/tomlplusplus/releases/tag/v0.4.0) 2020-03-05 - -#### Fixes - -- fixed `parse_file()` failing to compile with plain string literals -- fixed tests being built when used as a meson subproject (#14) (@shdnx) - -#### Additions - -- added support for compiling into DLLs on windows (`TOML_API`) -- added support for explicitly setting the `TOML_EXCEPTION` mode -- added `TOML_OPTIONAL_TYPE` customization point -- added `node::ref()` and `node_view::ref()` - -<br><br> - -## v0.3.0 - -[Released](https://github.com/marzer/tomlplusplus/releases/tag/v0.3.0) 2020-03-01 - -#### Fixes - -- fixed some pedantic clang warnings -- fixed some minor documentation errors - -#### Additions - -- added `node::value()` and `node::value_or()` -- added `node_view::value()` -- added relops for the date/time classes -- added `TOML_ALL_INLINE` and `TOML_IMPLEMENTATION` options -- added preliminary support for ICC - -#### Removals - -- removed `<cmath>` dependency - -<br><br> - -## v0.2.1 - -[Released](https://github.com/marzer/tomlplusplus/releases/tag/v0.2.1) 2020-02-26 - -#### Fixes - -- fixed minor printing bug in `operator<<(ostream, source_position)` -- fixed minor documentation issues - -#### Additions - -- added `operator<<(ostream&, parse_error)` - -#### Changes - -- improved quality of error messages for boolean and inf/nan parsing - -<br><br> - -## v0.2.0 - -[Released](https://github.com/marzer/tomlplusplus/releases/tag/v0.2.0) 2020-02-23 - -#### Fixes - -- fixed truncation of floating-point values when using ostreams -- fixed missing value deduction guides for dates and times -- fixed potential ODR issues relating to exception mode handling etc. -- fixed some documentation issues - -#### Additions - -- added serialization round-trip tests -- added `node::is_number()` -- added `node_view::is_number()` -- added `node_view::value_or()` -- added hexfloat parsing support for all implementations (not just `<charconv>` ones) - -<br><br> - -## v0.1.0 - -[Released](https://github.com/marzer/tomlplusplus/releases/tag/v0.1.0) 2020-02-20 - -- First public release, yay! 🎉️ diff --git a/tomlplusplus/CODE_OF_CONDUCT.md b/tomlplusplus/CODE_OF_CONDUCT.md deleted file mode 100644 index 8f30d260ed..0000000000 --- a/tomlplusplus/CODE_OF_CONDUCT.md +++ /dev/null @@ -1,76 +0,0 @@ -# Contributor Covenant Code of Conduct - -## Our Pledge - -In the interest of fostering an open and welcoming environment, we as -contributors and maintainers pledge to making participation in our project and -our community a harassment-free experience for everyone, regardless of age, body -size, disability, ethnicity, sex characteristics, gender identity and expression, -level of experience, education, socio-economic status, nationality, personal -appearance, race, religion, or sexual identity and orientation. - -## Our Standards - -Examples of behavior that contributes to creating a positive environment -include: - -* Using welcoming and inclusive language -* Being respectful of differing viewpoints and experiences -* Gracefully accepting constructive criticism -* Focusing on what is best for the community -* Showing empathy towards other community members - -Examples of unacceptable behavior by participants include: - -* The use of sexualized language or imagery and unwelcome sexual attention or - advances -* Trolling, insulting/derogatory comments, and personal or political attacks -* Public or private harassment -* Publishing others' private information, such as a physical or electronic - address, without explicit permission -* Other conduct which could reasonably be considered inappropriate in a - professional setting - -## Our Responsibilities - -Project maintainers are responsible for clarifying the standards of acceptable -behavior and are expected to take appropriate and fair corrective action in -response to any instances of unacceptable behavior. - -Project maintainers have the right and responsibility to remove, edit, or -reject comments, commits, code, wiki edits, issues, and other contributions -that are not aligned to this Code of Conduct, or to ban temporarily or -permanently any contributor for other behaviors that they deem inappropriate, -threatening, offensive, or harmful. - -## Scope - -This Code of Conduct applies both within project spaces and in public spaces -when an individual is representing the project or its community. Examples of -representing a project or community include using an official project e-mail -address, posting via an official social media account, or acting as an appointed -representative at an online or offline event. Representation of a project may be -further defined and clarified by project maintainers. - -## Enforcement - -Instances of abusive, harassing, or otherwise unacceptable behavior may be -reported by contacting the project team at mark.gillard@outlook.com.au. All -complaints will be reviewed and investigated and will result in a response that -is deemed necessary and appropriate to the circumstances. The project team is -obligated to maintain confidentiality with regard to the reporter of an incident. -Further details of specific enforcement policies may be posted separately. - -Project maintainers who do not follow or enforce the Code of Conduct in good -faith may face temporary or permanent repercussions as determined by other -members of the project's leadership. - -## Attribution - -This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, -available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html - -[homepage]: https://www.contributor-covenant.org - -For answers to common questions about this code of conduct, see -https://www.contributor-covenant.org/faq diff --git a/uvim/.appveyor.yml b/uvim/.appveyor.yml deleted file mode 100644 index 35da109210..0000000000 --- a/uvim/.appveyor.yml +++ /dev/null @@ -1,52 +0,0 @@ -version: "{build}" - -image: Visual Studio 2015 - -skip_tags: true - -environment: - matrix: - - FEATURE: HUGE - - # Alternate environments, not used right now. 2022 is a lot slower. - # - # - job_name: VS-2015 - # appveyor_build_worker_image: Visual Studio 2015 - # FEATURE: HUGE - - # - job_name: VS-2017 - # appveyor_build_worker_image: Visual Studio 2017 - # FEATURE: HUGE - - # - job_name: VS-2019 - # appveyor_build_worker_image: Visual Studio 2019 - # FEATURE: HUGE - - # - job_name: VS-2022 - # appveyor_build_worker_image: Visual Studio 2022 - # FEATURE: HUGE - -# disabled -# - FEATURE: TINY -# - FEATURE: NORMAL - -matrix: - fast_finish: true - -before_build: - - call ver - - ci\appveyor.bat install - -build_script: - - ci\appveyor.bat build - -test_script: - - ci\appveyor.bat test - -artifacts: - - path: src/vim.exe - name: vim - - path: src/gvim.exe - name: gvim - -# vim: sw=2 sts=2 et ts=8 sr diff --git a/uvim/.cirrus.yml b/uvim/.cirrus.yml deleted file mode 100644 index a97451419e..0000000000 --- a/uvim/.cirrus.yml +++ /dev/null @@ -1,31 +0,0 @@ -env: - CIRRUS_CLONE_DEPTH: 3 - FEATURES: huge - -freebsd_task: - name: FreeBSD - matrix: - - name: FreeBSD 15.0 - freebsd_instance: - image_family: freebsd-15-0-amd64-ufs - timeout_in: 20m - install_script: - - pkg install -y gettext diffutils - build_script: - - NPROC=$(getconf _NPROCESSORS_ONLN) - - ./configure --with-features=${FEATURES} - - make -j${NPROC} - test_script: - - src/vim --version - # run tests as user "cirrus" instead of root - - pw useradd cirrus -m - - chown -R cirrus:cirrus . - - sudo -u cirrus make test - on_failure: - test_artifacts: - name: "Cirrus-${CIRRUS_BUILD_ID}-freebsd-failed-tests" - path: | - runtime/indent/testdir/*.fail - runtime/syntax/testdir/failed/* - src/testdir/failed/* - type: application/octet-stream |
