diff --git a/CHANGELOG.md b/CHANGELOG.md index a55b7e5d..29ddf615 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +## 0.82.4 (2026-03-04) + +- Improve GetJsonValueByKey exception message to mention expected key and type. + ## 0.82.3 (2026-02-04) - Set Accept-Encoding:gzip if the linked libcurl supports it diff --git a/CMakeLists.txt b/CMakeLists.txt index 35a2b16e..7d306e13 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -19,7 +19,7 @@ set( CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS TRUE ) # make sure to change the version in docs/Makefile set (MUJINCLIENT_VERSION_MAJOR 0) set (MUJINCLIENT_VERSION_MINOR 82) -set (MUJINCLIENT_VERSION_PATCH 3) +set (MUJINCLIENT_VERSION_PATCH 4) set (MUJINCLIENT_VERSION ${MUJINCLIENT_VERSION_MAJOR}.${MUJINCLIENT_VERSION_MINOR}.${MUJINCLIENT_VERSION_PATCH}) set (MUJINCLIENT_SOVERSION ${MUJINCLIENT_VERSION_MAJOR}.${MUJINCLIENT_VERSION_MINOR}) set (CLIENT_SOVERSION ${MUJINCLIENT_VERSION_MAJOR}.${MUJINCLIENT_VERSION_MINOR}) diff --git a/include/mujincontrollerclient/mujinjson.h b/include/mujincontrollerclient/mujinjson.h index cc8dd659..7350d8ab 100644 --- a/include/mujincontrollerclient/mujinjson.h +++ b/include/mujincontrollerclient/mujinjson.h @@ -1122,7 +1122,7 @@ inline void LoadJsonValueByPath(const rapidjson::GenericValue, typename Allocator=rapidjson::MemoryPoolAllocator<> > T GetJsonValueByKey(const rapidjson::GenericValue& v, const char* key, const U& t) { if (!v.IsObject()) { - throw MujinJSONException("Cannot get value of non-object."); + throw MujinJSONException("Cannot get value of non-object (\"" + std::string(GetJsonTypeName(v)) + "\") for key \"" + std::string(key) + "\"."); } typename rapidjson::GenericValue::ConstMemberIterator itMember = v.FindMember(key);