From bb383d62c267e1155a872415cf45073406f42e6c Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 12 Aug 2026 18:16:44 +0000 Subject: [PATCH] Add a changelog entry and bump the version for the jsonpull rewrite The rewrite is meant to be behavior-preserving, but it carries four user-visible bug fixes that warrant release notes: tippecanoe-json-tool --extract on a numeric attribute, surrogate-pair decoding, tile-join reading a non-string tilejson field type, and non-string values in a directory tileset's metadata.json. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_017KNxyHKasyWrWcvre2yK4r --- CHANGELOG.md | 19 +++++++++++++++++++ version.hpp | 2 +- 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b6f5ec49..8c9f915c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,22 @@ +# 2.82.0 + +* Rewrite `jsonpull` in C++ with `unique_ptr` ownership, `std::vector` for + arrays and hash entries, and `std::string` for string values, replacing the + hand-rolled `malloc`/`realloc`/`free` memory management. Value payloads now + live in type-tagged subclasses reached through asserting accessors, so + reading a hash as a string fails immediately instead of silently returning + garbage. (#388) +* Fix `tippecanoe-json-tool --extract` crashing on a numeric attribute, which + read the number's storage as a string pointer. (#388) +* Fix decoding of a `\u` escape sequence in which a high surrogate is followed + by a non-surrogate BMP code point, which combined the two into a single + wrong code point. (#388) +* Fix tile-join reading a non-string field type out of a tileset's tilejson. + (#388) +* Fix `tippecanoe-decode` and tile-join crashing on a directory tileset whose + `metadata.json` holds a non-string value, such as a numeric `minzoom` or a + nested object. Those entries are now reported and skipped. (#388) + # 2.81.0 * Add `--drop-by-attribute-as-needed=`*attribute* to drop the features with diff --git a/version.hpp b/version.hpp index 71b353ad..bc3b429b 100644 --- a/version.hpp +++ b/version.hpp @@ -1,6 +1,6 @@ #ifndef VERSION_HPP #define VERSION_HPP -#define VERSION "v2.81.0" +#define VERSION "v2.82.0" #endif