leerho opened a new pull request, #72: URL: https://github.com/apache/datasketches-python/pull/72
Moves the bundled C++ library from 5.2.0 to 5.3.0 (`GIT_TAG` in `CMakeLists.txt`). C++ 5.3.0 fixes five vulnerabilities in sketch deserialization (CVE-2026-103501, CVE-2026-103513, CVE-2026-103634, CVE-2026-103635, CVE-2026-103636; see https://datasketches.apache.org/docs/Community/Security.html). The Python package compiles that C++ code in, so current datasketches-python releases are affected until a release built on 5.3.0 ships. ### Binding changes required by 5.3.0 Two C++ member functions gained a defaulted parameter. Default arguments are not part of a member-function pointer, so the bindings that take their address broke: - `update_theta_sketch::compact(ordered, trim)` (apache/datasketches-cpp#524): the build failed with nanobind's "number of nb::arg annotations must match the argument count" assertion. The binding now exposes `compact(ordered=True, trim=False)`; `trim=True` returns at most k entries. - `hll_sketch::reset(full_size)` (apache/datasketches-cpp#521): this compiled, but `reset()` with no argument raised a `TypeError`. The binding now exposes `reset(full_size=False)`. ### Also - Binds the new `frequent_items_sketch::reset()` (apache/datasketches-cpp#529) for both frequent items sketch types. - Adds tests for `compact(trim=True)`, `reset(full_size=True)` and the frequent items `reset()`. Built locally on macOS with Python 3.12; all 37 tests pass. 🤖 Generated with [Claude Code](https://claude.com/claude-code) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
