Select Git revision
CHANGELOG.md
To find the state of this project's repository at the time of any of these versions, check out the tags.
CHANGELOG.md 22.75 KiB
1.7.13 (Apr 2, 2020)
Features:
- add new API of cJSON_ParseWithLength without breaking changes. Thanks @caglarivriz, see #358
- add new API of cJSON_GetNumberValue. Thanks @Intuition, see#385
- add uninstall target function for CMake. See #402
- Improve performance of adding item to array. Thanks @xiaomianhehe, see #430, #448
- add new API of cJSON_SetValuestring, for changing the valuestring safely. See #451
- add return value for cJSON_AddItemTo... and cJSON_ReplaceItem... (check if the operation successful). See #453
Fixes:
- Fix clang -Wfloat-equal warning. Thanks @paulmalovanyi, see #368
- Fix make failed in mac os. See #405
- Fix memory leak in cJSONUtils_FindPointerFromObjectTo. Thanks @andywolk for reporting, see #414
- Fix bug in encode_string_as_pointer. Thanks @AIChangJiang for reporting, see #439
1.7.12 (May 17, 2019)
Fixes:
- Fix infinite loop in
cJSON_Minify(potential Denial of Service). Thanks @Alanscut for reporting, see #354 - Fix link error for Visual Studio. Thanks @tan-wei, see #352.
- Undefine
trueandfalseforcJSON_Utilsbefore redefining them. Thanks @raiden00pl, see #347.
1.7.11 (Apr 15, 2019)
Fixes:
- Fix a bug where cJSON_Minify could overflow it's buffer, both reading and writing. This is a security issue, see #338. Big thanks @bigric3 for reporting.
- Unset
trueandfalsemacros before setting them if they exist. See #339, thanks @raiden00pl for reporting
1.7.10 (Dec 21, 2018)
Fixes:
- Fix package config file for
libcjson. Thanks @shiluotang for reporting #321 - Correctly split lists in
cJSON_Utils's merge sort. Thanks @andysCaplin for the fix #322
1.7.9 (Dec 16, 2018)
Fixes:
- Fix a bug where
cJSON_GetObjectItemCaseSensitivewould pass a nullpointer tostrcmpwhen called on an array, see #315. Thanks @yuweol for reporting. - Fix error in
cJSON_Utilswhere the case sensitivity was not respected, see #317. Thanks @yuta-oxo for fixing. - Fix some warnings detected by the Visual Studio Static Analyzer, see #307. Thanks @bnason-nf
1.7.8 (Sep 22, 2018)
Fixes:
- cJSON now works with the
__stdcallcalling convention on Windows, see #295, thanks @zhindes for contributing
1.7.7 (May 22, 2018)
Fixes:
- Fix a memory leak when realloc fails, see #267, thanks @AlfieDeng for reporting
- Fix a typo in the header file, see #266, thanks @zhaozhixu
1.7.6 (Apr 13, 2018)
Fixes:
- Add
SONAMEto the ELF files built by the Makefile, see #252, thanks @YanhaoMo for reporting - Add include guards and
extern "C"tocJSON_Utils.h, see #256, thanks @daschfg for reporting
Other changes:
- Mark the Makefile as deprecated in the README.
1.7.5 (Mar 23, 2018)
Fixes:
- Fix a bug in the JSON Patch implementation of
cJSON Utils, see #251, thanks @bobkocisko.
1.7.4 (Mar 3, 2018)
Fixes:
- Fix potential use after free if the
stringparameter tocJSON_AddItemToObjectis an alias of thestringproperty of the object that is added,see #248. Thanks @hhallen for reporting.
1.7.3 (Feb 8, 2018)
Fixes:
- Fix potential double free, thanks @projectgus for reporting #241
1.7.2 (Feb 6, 2018)
Fixes:
- Fix the use of GNUInstallDirs variables and the pkgconfig file. Thanks @zeerd for reporting #240
1.7.1 (Jan 10, 2018)
Fixes:
- Fixed an Off-By-One error that could lead to an out of bounds write. Thanks @liuyunbin for reporting #230
- Fixed two errors with buffered printing. Thanks @liuyunbin for reporting #230
1.7.0 (Dec 31, 2017)
Features:
- Large rewrite of the documentation, see #215
- Added the
cJSON_GetStringValuefunction - Added the
cJSON_CreateStringReferencefunction - Added the
cJSON_CreateArrayReferencefunction - Added the
cJSON_CreateObjectReferencefunction - The
cJSON_Add...ToObjectmacros are now functions that return a pointer to the added item, see #226
Fixes:
- Fix a problem with
GNUInstallDirsin the CMakeLists.txt, thanks @yangfl, see #210 - Fix linking the tests when building as static library, see #213
- New overrides for the CMake option
BUILD_SHARED_LIBS, see #207
Other Changes:
- Readme: Explain how to include cJSON, see #211
- Removed some trailing spaces in the code, thanks @yangfl, see #212
- Updated Unity and json-patch-tests
1.6.0 (Oct 9, 2017)
Features:
- You can now build cJSON as both shared and static library at once with CMake using
-DBUILD_SHARED_AND_STATIC_LIBS=On, see #178 - UTF-8 byte order marks are now ignored, see #184
- Locales can now be disabled with the option
-DENABLE_LOCALES=Off, see #202, thanks @Casperinous - Better support for MSVC and Visual Studio
Other Changes:
- Add the new warnings
-Wswitch-enum,-Wused-but-makred-unused,-Wmissing-variable-declarations,-Wunused-macro - More number printing tests.
- Continuous integration testing with AppVeyor (semi automatic at this point), thanks @simon-p-r
1.5.9 (Sep 8, 2017)
Fixes:
- Set the global error pointer even if
return_parse_endis passed tocJSON_ParseWithOpts, see #200, thanks @rmallins
1.5.8 (Aug 21, 2017)
Fixes:
- Fix
make testin the Makefile, thanks @YanhaoMo for reporting this #195
1.5.7 (Jul 13, 2017)
Fixes:
- Fix a bug where realloc failing would return a pointer to an invalid memory address. This is a security issue as it could potentially be used by an attacker to write to arbitrary memory addresses, see #189, fixed in 954d61e, big thanks @timothyjohncarney for reporting this issue
- Fix a spelling mistake in the AFL fuzzer dictionary, see #185, thanks @jwilk
1.5.6 (Jun 28, 2017)
Fixes:
- Make cJSON a lot more tolerant about passing NULL pointers to its functions, it should now fail safely instead of dereferencing the pointer, see #183. Thanks @msichal for reporting #182
1.5.5 (Jun 15, 2017)
Fixes:
- Fix pointers to nested arrays in cJSON_Utils, see 9abe
- Fix an error with case sensitivity handling in cJSON_Utils, see b9cc911
- Fix cJSON_Compare for arrays that are prefixes of the other and objects that are a subset of the other, see 03ba72f and #180, thanks @zhengqb for reporting
1.5.4 (Jun 5, 2017)
Fixes:
- Fix build with GCC 7.1.1 and optimization level
-O2, see bfbd8fe
Other Changes:
- Update Unity to 3b69beaa58efc41bbbef70a32a46893cae02719d
1.5.3 (May 23, 2017)
Fixes:
- Fix
cJSON_ReplaceItemInObjectnot keeping the name of an item, see #174
1.5.2 (May 10, 2017)
Fixes:
- Fix a reading buffer overflow in
parse_string, see a167d9e - Fix compiling with -Wcomma, see 186cce3
- Remove leftover attribute from tests, see b537ca7
1.5.1 (May 6, 2017)
Fixes:
- Add gcc version guard to the Makefile, see #164, thanks @juvasquezg
- Fix incorrect free in
cJSON_Utilsif custom memory allocator is used, see #166, thanks @prefetchnta
1.5.0 (May 2, 2017)
Features:
- cJSON finally prints numbers without losing precision, see #153, thanks @DeboraG
-
cJSON_Comparerecursively checks if two cJSON items contain the same values, see #148 - Provide case sensitive versions of every function where it matters, see #158 and #159
- Added
cJSON_ReplaceItemViaPointerandcJSON_DetachItemViaPointer - Added
cJSON_freeandcJSON_mallocthat expose the internal configured memory allocators. see 02a05ee
Enhancements:
- Parse into a buffer, this will allow parsing
\u0000in the future (not quite yet though) - General simplifications and readability improvements
- More unit tests
- Update unity testing library to 2.4.1
- Add the json-patch-tests test suite to test cJSON_Utils.
- Move all tests from
test_utils.cto unit tests with unity.