diff --git a/CHANGELOG.md b/CHANGELOG.md index ccb2ad5..fcc2ae7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,12 +2,35 @@ All notable changes to this project will be documented in this file. +## 0.5.0 (2022-05-25) +#### Added +- Add LibFuzzer support. +- Add Doxygen support. +- Add functions to support serializing a single JSON value. +- Add `yyjson_mut_doc_mut_copy()`, `yyjson_mut_val_mut_copy()`, `yyjson_mut_merge_patch()` function for mutable input. +- Add `yyjson_equals()` and `yyjson_mut_equals()` function to compare two values. +- Add `yyjson_mut_obj_remove_key()` and `yyjson_mut_obj_remove_keyn()` to make it easier to remove a key. +- Add `YYJSON_READ_NUMBER_AS_RAW` option and `RAW` type support. +- Add `YYJSON_READ_ALLOW_INVALID_UNICODE` and `YYJSON_WRITE_ALLOW_INVALID_UNICODE` options to allow invalid unicode. + +#### Changed +- Change `yyjson_mut_obj_remove()` return type from `bool` to `yyjson_mut_val *`. +- Rewrite string serialization function, validate unicode encoding by default. +- Rewrite the JSON Pointer implementation, remove internal malloc() calls. + +#### Fixed +- Make the code work correctly with setlocale() function and fast-math flag: #54 +- Fix negative infinity literals read error: #64 +- Fix non null-terminated string write error. +- Fix incorrect behavior of `YYJSON_DISABLE_NON_STANDARD` flag: #80 + + ## 0.4.0 (2021-12-12) #### Added - Add `YYJSON_WRITE_INF_AND_NAN_AS_NULL` flag for JSON writer. -- Add `merge_path()` function for JSON Merge-Path API (RFC 7386). -- Add `obj_replace()` and `obj_insert()` function for object modification. -- Add `obj_iter_get()` function for faster object query. +- Add `yyjson_merge_patch()` function for JSON Merge-Path API (RFC 7386). +- Add `yyjson_mut_obj_replace()` and `yyjson_mut_obj_insert()` function for object modification. +- Add `yyjson_obj_iter_get()` and `yyjson_mut_obj_iter_get()` function for faster object search. - Add `yyjson_version()` function. #### Changed diff --git a/CMakeLists.txt b/CMakeLists.txt index 2d79f57..999eab0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -3,7 +3,7 @@ # https://github.com/ibireme/yyjson/blob/master/LICENSE cmake_minimum_required(VERSION 3.5) -project(yyjson VERSION 0.4.0) +project(yyjson VERSION 0.5.0) diff --git a/doc/doxygen/html/annotated.html b/doc/doxygen/html/annotated.html index 7e9411c..2d1d460 100644 --- a/doc/doxygen/html/annotated.html +++ b/doc/doxygen/html/annotated.html @@ -35,7 +35,7 @@ -
yyjson 0.4.0 +
yyjson 0.5.0
A high performance C JSON library.
diff --git a/doc/doxygen/html/classes.html b/doc/doxygen/html/classes.html index d7c5890..a8cc053 100644 --- a/doc/doxygen/html/classes.html +++ b/doc/doxygen/html/classes.html @@ -35,7 +35,7 @@ -
yyjson 0.4.0 +
yyjson 0.5.0
A high performance C JSON library.
diff --git a/doc/doxygen/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html b/doc/doxygen/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html index 39ad410..332b823 100644 --- a/doc/doxygen/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html +++ b/doc/doxygen/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html @@ -35,7 +35,7 @@ -
yyjson 0.4.0 +
yyjson 0.5.0
A high performance C JSON library.
diff --git a/doc/doxygen/html/dir_e68e8157741866f444e17edd764ebbae.html b/doc/doxygen/html/dir_e68e8157741866f444e17edd764ebbae.html index cc8234c..d3e7b0c 100644 --- a/doc/doxygen/html/dir_e68e8157741866f444e17edd764ebbae.html +++ b/doc/doxygen/html/dir_e68e8157741866f444e17edd764ebbae.html @@ -35,7 +35,7 @@ -
yyjson 0.4.0 +
yyjson 0.5.0
A high performance C JSON library.
diff --git a/doc/doxygen/html/files.html b/doc/doxygen/html/files.html index fcef3c1..8cc8c58 100644 --- a/doc/doxygen/html/files.html +++ b/doc/doxygen/html/files.html @@ -35,7 +35,7 @@ -
yyjson 0.4.0 +
yyjson 0.5.0
A high performance C JSON library.
diff --git a/doc/doxygen/html/functions.html b/doc/doxygen/html/functions.html index e598455..4ebd78c 100644 --- a/doc/doxygen/html/functions.html +++ b/doc/doxygen/html/functions.html @@ -35,7 +35,7 @@ -
yyjson 0.4.0 +
yyjson 0.5.0
A high performance C JSON library.
diff --git a/doc/doxygen/html/functions_vars.html b/doc/doxygen/html/functions_vars.html index 6c68cd9..8416344 100644 --- a/doc/doxygen/html/functions_vars.html +++ b/doc/doxygen/html/functions_vars.html @@ -35,7 +35,7 @@ -
yyjson 0.4.0 +
yyjson 0.5.0
A high performance C JSON library.
diff --git a/doc/doxygen/html/globals.html b/doc/doxygen/html/globals.html index 437a5b2..fe1454e 100644 --- a/doc/doxygen/html/globals.html +++ b/doc/doxygen/html/globals.html @@ -35,7 +35,7 @@ -
yyjson 0.4.0 +
yyjson 0.5.0
A high performance C JSON library.
diff --git a/doc/doxygen/html/globals_defs.html b/doc/doxygen/html/globals_defs.html index 497e0bf..694dd51 100644 --- a/doc/doxygen/html/globals_defs.html +++ b/doc/doxygen/html/globals_defs.html @@ -35,7 +35,7 @@ -
yyjson 0.4.0 +
yyjson 0.5.0
A high performance C JSON library.
diff --git a/doc/doxygen/html/globals_func.html b/doc/doxygen/html/globals_func.html index 7531ac5..ec2b4ef 100644 --- a/doc/doxygen/html/globals_func.html +++ b/doc/doxygen/html/globals_func.html @@ -35,7 +35,7 @@ -
yyjson 0.4.0 +
yyjson 0.5.0
A high performance C JSON library.
diff --git a/doc/doxygen/html/globals_type.html b/doc/doxygen/html/globals_type.html index 2d4f74e..8ee10b2 100644 --- a/doc/doxygen/html/globals_type.html +++ b/doc/doxygen/html/globals_type.html @@ -35,7 +35,7 @@ -
yyjson 0.4.0 +
yyjson 0.5.0
A high performance C JSON library.
diff --git a/doc/doxygen/html/globals_vars.html b/doc/doxygen/html/globals_vars.html index 3e828e1..88ac8ce 100644 --- a/doc/doxygen/html/globals_vars.html +++ b/doc/doxygen/html/globals_vars.html @@ -35,7 +35,7 @@ -
yyjson 0.4.0 +
yyjson 0.5.0
A high performance C JSON library.
diff --git a/doc/doxygen/html/globals_y.html b/doc/doxygen/html/globals_y.html index 7d81286..e80f5e1 100644 --- a/doc/doxygen/html/globals_y.html +++ b/doc/doxygen/html/globals_y.html @@ -35,7 +35,7 @@ -
yyjson 0.4.0 +
yyjson 0.5.0
A high performance C JSON library.
diff --git a/doc/doxygen/html/index.html b/doc/doxygen/html/index.html index 758ff15..341e7fb 100644 --- a/doc/doxygen/html/index.html +++ b/doc/doxygen/html/index.html @@ -35,7 +35,7 @@ -
yyjson 0.4.0 +
yyjson 0.5.0
A high performance C JSON library.
diff --git a/doc/doxygen/html/md__c_h_a_n_g_e_l_o_g.html b/doc/doxygen/html/md__c_h_a_n_g_e_l_o_g.html index 576fbd9..a5a1f54 100644 --- a/doc/doxygen/html/md__c_h_a_n_g_e_l_o_g.html +++ b/doc/doxygen/html/md__c_h_a_n_g_e_l_o_g.html @@ -35,7 +35,7 @@ -
yyjson 0.4.0 +
yyjson 0.5.0
A high performance C JSON library.
@@ -98,56 +98,85 @@

All notable changes to this project will be documented in this file.

-0.4.0 (2021-12-12)

+0.5.0 (2022-05-25)

Added

+

+Changed

+
    +
  • Change yyjson_mut_obj_remove() return type from bool to yyjson_mut_val *.
  • +
  • Rewrite string serialization function, validate unicode encoding by default.
  • +
  • Rewrite the JSON Pointer implementation, remove internal malloc() calls.
  • +
+

+Fixed

+
    +
  • Make the code work correctly with setlocale() function and fast-math flag: #54
  • +
  • Fix negative infinity literals read error: #64
  • +
  • Fix non null-terminated string write error.
  • +
  • Fix incorrect behavior of YYJSON_DISABLE_NON_STANDARD flag: #80
  • +
+

+0.4.0 (2021-12-12)

+

+Added

+ -

+

Changed

  • Replace YYJSON_DISABLE_COMMENT_READER and YYJSON_DISABLE_INF_AND_NAN_READER with YYJSON_DISABLE_NON_STANDARD compiler flag.
  • Replace YYJSON_DISABLE_FP_READER and YYJSON_DISABLE_FP_WRITER with YYJSON_DISABLE_FAST_FP_CONV compiler flag.
-

+

Fixed

  • Fix compiler warning with -Wconversion
  • Fix compiler error for GCC 4.4 (#53) and MSVC 6.0 (#55)
-

+

0.3.0 (2021-05-25)

-

+

Added

  • Add JSON Pointer support.
  • Add CMake install target.
-

+

Changed

  • Improve performance for some arch which doesn't support unaligned memory access.
-

+

Fixed

  • Fix some compiler warning for GCC and Clang.
  • Fix MSVC build error on UWP (uninitialized local variable).
  • Fix stream file reading error on some platform.
-

+

0.2.0 (2020-12-12)

-

+

Added

  • Add swift package manager support.
-

+

Changed

  • Improve JSON reader performance for gcc.
  • @@ -155,19 +184,19 @@

  • Rewrite double number writer with Schubfach algorithm: #4.
  • Strict UTF-8 validation for JSON reader.
-

+

Removed

  • Remove YYJSON_READ_FASTFP compiler flag.
-

+

Fixed

  • Fix a compile error for old version gcc on linux: #7.
-

+

0.1.0 (2020-10-26)

-

+

Added