Releases: msgpack/msgpack-c
2.1.0
<< breaking changes >>
- Fix object internal data type is float if msgpack format is float32 (#531)
<< recommended changes >>
- Add
FLOAT64
type. Please use it instead ofDOUBLE
(#531) - Add
FLOAT32
type. Please use it instead ofFLOAT
(#531)
<< other updates >>
- Add iterator based parse/unpack function(experimental) (#553)
- Add
[[deprecated]]
attribute for C++14 (#552) - Fix
msgpack_unpack()
return code (#548) - Fix integer overflow (#547, #549, #550)
- Add example codes (#542)
- Add MSGPACK_NVP. You can use not only variable name but also any strings (#535)
- Fix and Improve build system (#532, #545)
- Fix
gcc_atomic.hpp
include path (#529, #530) - Improve CI environment (#526)
- Improve documents (#524)
- Add msgpack_unpacker_next_with_size() function (#515)
- Fix
as()
applying condition (#511) - Fix fbuffer write (#504)
- Add gcc bug workaround (#499)
- Improve object print (#497, #500, #505, #533)
- Remove some warnings (#495, #506, #508, #513, #528, #538, #545)
2.0.0
<< breaking changes >>
- Removed autotools support. Use cmake instead (#476, #479)
- Removed pointer version of msgpack::unpack APIs. Use reference version instead (#453)
- Removed MSGPACK_DISABLE_LEGACY_CONVERT. msgpack::object::convert(T*) is removed by default. Use msgpack::object::convert(T&) instead (#451)
- Removed msgpacl::type::nil. Use nil_t or define MSGPACK_USE_LECACY_NIL (#444)
- Removed std::string to msgpack::object conversion (#434)
<< recommended changes >>
- Replaced msgpack::unpacked with msgpack::object_handle. msgpack::unpacked is kept as a typedef of msgpack::object_handle. (#448)
<< other updates >>
- Add strict size checking adaptor. Relaxed tuple conversion (#489)
- Fix and Improve example codes (#487)
- Add C++/CLI support for nullptr (#481)
- Update the boost libraries that are contained by msgpack-c (#475)
- Fix gcc_atomic.hpp location (#474)
- Add C-Style array support (#466, #488)
- Fix include file dependency (#464)
- Add a visitor version of unpack API (#461)
- Fix JSON string conversion from "nil" to "null" (#458)
- Fix and Improve build system (#455, #471, #473, #486, #491)
- Fix comments (#452)
- Fix unintentional msgpack::zone moving problem (#447)
- Fix operator>> and << for msgpack::object (#443)
- Fix C++03 msgpack::zone::clear() memory access violation bug (#441)
- Fix TARGET_OS_IPHONE checking (#436)
- Fix invalid front() call for empty container (#435)
- Fix compile error on g++6 (C++11 only) (#426, #430)
- Fix zone size expansion logic (#423)
- Fix wrong hader file dependency (#421)
- Fix msvc specific problem (#420)
- Add v2 API support (#415)
1.4.2
1.4.1
1.4.0
<< recommended changes >>
-
Define MSGPACK_DISABLE_LEGACY_NIL, then
msgpack::type::nil
is replaced by withmsgpack::type::nil_t
(#408, #411, #412).
Replacemsgpack::type::nil
withmsgpack::type::nil_t
in client codes.
msgpack::type::nil
will be removed on the version 2.0.0. -
Define MSGPACK_DISABLE_LEGACY_CONVERT, then
msgpack::object::convert(T*)
is removed (#410).
Replace callingmsgpack::bojectconvert(T*)
withmsgpack::bojectconvert(T&)
in client codes as follows:int i; obj.convert(&i); // before
int i; obj.convert(i); // after
msgpack::object::convert(T*)
will be removed on the version 2.0.0.
Define the macros above as follows when you compile C++ codes that use msgpack-c:
g++ -Ipath_to_msgpack/include -DMSGPACK_DISABLE_LEGACY_NIL -DMSGPACK_DISABLE_LEGACY_CONVERT your_code.cpp
You can compile existing codes without defining macros above but I recommend defining them and updating your codes to fix the issues #408, #411, #412, #399, and #410. It is also a good preparation for the version 2.0.0.
<< other updates >>
1.3.0
1.2.0
breaking changes
- Change std::vector and std::array
mapped to BIN instead of ARRAY (#243) - Remove redundant copy (#285)
other updates
- Add array_ref to map to ARRAY (#243)
- Add variant type and adaptor (#349)
- Add object::convert_if_not_nil() (#357)
- Fix invalid offset update (#354)
- Add C++11 support on MSVC2015(#339, #347)
- Fix and Improve build system (#346, #350, #361, #363)
- Import Boost.Preprocessor as a part of msgpack-c (#312)
- Fix OSX with libc++ specific errors (#334, #362)
- Add customized containers support (#330)
- Add std::unique_ptr and std::shared_ptr support (#329)
- Add missing install files (#328)
- Add shared/static library switching option (#316)
- Improve no throw description on C++11 (#313)
- Import Boost.Predef as a part of msgpack-c (#312)
- Add map based serialize support (#306)
- Add Boost.Fusion support (#305)
- Add v4 format RAW support (#304)
- Fix zbuffer with empty string problem (#303)
- Add non default constructible class support (#302, #324, #327, #331, #332, #345)
- Add inline keyword to function (template) (#299)
- Add EXT type supporting classes (#292, #308)
- Fix raw_ref != comparison (#290)
- Add object deep copy (#288)
- Remove some warnings (#284, #322, #323, #335)
- Improve compiler version checking (#283)
- Add return value to object::convert() (#282)
- Improve move semantic support in C++11 (#279, #353)
- Add Boost.StringRef support (#278)
- Improve CI environment (#276, #294, #338)
- Add converting to JSON (#274, #301)
- Fix iOS specific problem (#270)
- Improve doxtgen document generation (#269)
- Add Boost.Optional support (#268)
- Fix msvc specific problem (#267, #295)
- Add base class serialization. (#265, #277)
- Add and improve examples. (#264, #310, #311, #341, #342, #344)
- Fix wiki URL. (#263)
1.1.0
breaking changes
- Remove msgpack_fwd.hpp (#262)
- Improve user types adaptation mechanism (#262)
- Since version 1.0.0, users need to obey the correct include order. However, it is very difficult to maintain the correct order in big projects. version 1.1.0 removed this order. Users don't need to care about include order. Migration guide from 1.0.x to 1.1.0 has been written. See https://github.com/msgpack/msgpack-c/wiki
other updates
- Fix vector size check (#251)
- Fix inttypes.h inclusion on MSVC (#257)
- Support documents generation by Doxygen (#259)
- Remove C99 style variable declaration (#253)
- Improve documents (https://github.com/msgpack/msgpack-c/wiki)