Release notes:
* https://github.com/msgpack/msgpack-c/releases/tag/cpp-9.0.0
2026-08-25 version 9.0.0
Add regression tests for the fixes below. (#1183)
Fix ext_ref comparison operators ignoring the last payload byte. (#1183)
Fix out-of-bounds write on self-move-assignment of the create object visitor. (#1183)
Fix broken array_ref<T[N]> comparison operators. (#1183)
Fix heap buffer overflow in vrefbuffer::migrate() caused by a wrong growth check. (#1183)
Fix v1 unpacker not applying str/bin/ext size limits on the reference path. (#1183)
Fix x3 parser treating uint8 values as negative integers. (#1183)
Fix double free / use-after-free in zone::swap() (C++03 only). (#1183)
Fix use-after-free from wrong member destruction order in zone move-assignment. (#1183)
Fix use-after-free after moving an unpacker (dangling referenced buffer hook). (#1183)
Fix out-of-bounds read converting a short STR into std::array<char, N> / <unsigned char, N>. (#1183)
Fix out-of-bounds read and null dereference converting an array whose size differs from the tuple arity. (#1183)
Fix null pointer dereference converting an empty array into a C array T[N]. (#1183)
Fix integer overflow in the unpacker buffer expansion size arithmetic. (#1183)
<< breaking changes >>
Fix ext32 max size truncation on 64bit by widening visit_ext size to size_t. (#1183)
* If you have a custom visitor that implements visit_ext(), widen its size parameter from uint32_t to std::size_t:
Before: bool visit_ext(const char* v, uint32_t size)
After : bool visit_ext(const char* v, std::size_t size)
Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>