Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .release-please-manifest.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"core": "0.2.0",
"core": "0.1.0",
"bindings/c": "0.2.0",
"packages/js": "0.4.2",
"packages/py": "0.3.1"
Expand Down
52 changes: 52 additions & 0 deletions core/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,57 @@
# Changelog

## [0.1.0](https://github.com/Krasner/Img2Num/compare/cpp-v0.2.0...cpp-v0.1.0) (2026-10-07)


### ⚠ BREAKING CHANGES

* **core:** prevent holes during SVG generation ([#429](https://github.com/Krasner/Img2Num/issues/429))
* **core:** img2num::labels_to_svg now returns std::string instead of char*. Callers using the C++ API must update their code to capture the return value as std::string and remove any associated std::free / delete[] calls. Callers using the C binding (cimg2num) are unaffected at the ABI level but should use img2num_free_svg to deallocate the returned buffer.
* **api:** remove draw_contour_borders from labels_to_svg ([#283](https://github.com/Krasner/Img2Num/issues/283))

### ✨ Features

* **Debug Logging:** route logging through spdlog with compile-time level control ([#524](https://github.com/Krasner/Img2Num/issues/524)) ([47c8dd9](https://github.com/Krasner/Img2Num/commit/47c8dd91a8325a1f7f34838b978a8830f5f839b6))
* **example-app:** (React) add GlassModal and upgrade Editor page (saving, histories, fullscreen, bug fixes) ([#278](https://github.com/Krasner/Img2Num/issues/278)) ([d46a4c9](https://github.com/Krasner/Img2Num/commit/d46a4c96a8153854a4c298a93e873bb8f81a2fb5))
* **library, bindings, examples:** C bindings, C & C++ shared libs, C & C++ example apps ([#263](https://github.com/Krasner/Img2Num/issues/263)) ([bb2403e](https://github.com/Krasner/Img2Num/commit/bb2403ee1a9a81f39d2b5a1746c404c3c526a2f3))
* **python:** enable Python bindings via pybind11 and add console-py example ([#307](https://github.com/Krasner/Img2Num/issues/307)) ([294ae53](https://github.com/Krasner/Img2Num/commit/294ae53f4967495ff73c9c391bafc2e115a7eccf))
* unified image_to_svg function as complete pipeline ([#335](https://github.com/Krasner/Img2Num/issues/335)) ([bdba68c](https://github.com/Krasner/Img2Num/commit/bdba68c8adbbf79a163aba9df25849c5ff36a6b9))


### πŸ› Bug Fixes

* **ci:** add NPM_TOKEN to npm publish step so packages/js can ([2427d1d](https://github.com/Krasner/Img2Num/commit/2427d1d3c67b9ebafcbf3a5021ed335a3d0683fc))
* **CodeQL Warning:** fix potential integer overflow in bilateral filter vector allocation ([#588](https://github.com/Krasner/Img2Num/issues/588)) ([0c14a67](https://github.com/Krasner/Img2Num/commit/0c14a67c0e601422c45e7b3e34f8a9822543b9b0)), closes [#573](https://github.com/Krasner/Img2Num/issues/573)
* **CodeQL warning:** prevent integer overflow in `Graph::analyzeJunctions` ([#589](https://github.com/Krasner/Img2Num/issues/589)) ([79e6ffe](https://github.com/Krasner/Img2Num/commit/79e6ffe18ea3eb2655fbb7505a90f82bf84b36da))
* **core:** add guard against invalid num_thresholds, preventing division by zero ([#445](https://github.com/Krasner/Img2Num/issues/445)) ([31eb2d1](https://github.com/Krasner/Img2Num/commit/31eb2d17811be70c092fdba8743eb9888c4f69c4))
* **core:** add MSVC support via conditional compiler directives β€” ([2427d1d](https://github.com/Krasner/Img2Num/commit/2427d1d3c67b9ebafcbf3a5021ed335a3d0683fc))
* **core:** prevent holes during SVG generation ([#429](https://github.com/Krasner/Img2Num/issues/429)) ([14e49f9](https://github.com/Krasner/Img2Num/commit/14e49f9a05496524e0190ddddf14283fbc907c0b))
* fix broken v0.1.0 release pipeline ([#417](https://github.com/Krasner/Img2Num/issues/417)) ([2427d1d](https://github.com/Krasner/Img2Num/commit/2427d1d3c67b9ebafcbf3a5021ed335a3d0683fc))
* **gpu:** handle fallback when no GPU is available ([#286](https://github.com/Krasner/Img2Num/issues/286)) ([3d312ff](https://github.com/Krasner/Img2Num/commit/3d312ffcecc8e026845dbd5603a17b152c7b42a3))
* **graph-memory-leak:** fix memory leak caused by shared_ptr(s) ([#295](https://github.com/Krasner/Img2Num/issues/295)) ([33605a5](https://github.com/Krasner/Img2Num/commit/33605a59bb01b6b5f0b794af850c2ae35fbfa563))
* **packages/js:** support browser and node builds from shared Vite setup ([#449](https://github.com/Krasner/Img2Num/issues/449)) ([0b2467c](https://github.com/Krasner/Img2Num/commit/0b2467c672474ef438f17ade91bfb7ed966632ca))
* **packages/py:** include third_party/ in sdist and disable example ([2427d1d](https://github.com/Krasner/Img2Num/commit/2427d1d3c67b9ebafcbf3a5021ed335a3d0683fc))
* prevent integer overflow in Graph::process_overlapping_edges ([#574](https://github.com/Krasner/Img2Num/issues/574)) ([#574](https://github.com/Krasner/Img2Num/issues/574)) ([73fbd66](https://github.com/Krasner/Img2Num/commit/73fbd668b6cf64b34ba00b9079dc35595ed13153)), closes [#572](https://github.com/Krasner/Img2Num/issues/572)
* replace C++20 designated initializers with C++17 compatible assignments ([#448](https://github.com/Krasner/Img2Num/issues/448)) ([174b8a4](https://github.com/Krasner/Img2Num/commit/174b8a4b0c86bb62f929bae6e36a64896eba0f21))
* **webgpu:** increase buffer limit beyond 256MB ([#302](https://github.com/Krasner/Img2Num/issues/302)) ([fe3cf5a](https://github.com/Krasner/Img2Num/commit/fe3cf5a48ddd4742d31334da38c0e46db444833d))


### ⚑ Performance Improvements

* **gpu:** add WebGPU acceleration with automatic fallback to CPU ([#272](https://github.com/Krasner/Img2Num/issues/272)) ([c385319](https://github.com/Krasner/Img2Num/commit/c3853198aaf72e00888352653bf44fe129261201))
* optimize graph functions to reduce processing time ~2x ([#290](https://github.com/Krasner/Img2Num/issues/290)) ([0f372bb](https://github.com/Krasner/Img2Num/commit/0f372bbbd218a25680e6b8a45590f85756d5af97))


### πŸ“š Documentation

* refresh docs, add Python guides, and remove outdated versioning ([#446](https://github.com/Krasner/Img2Num/issues/446)) ([8edaadd](https://github.com/Krasner/Img2Num/commit/8edaadddf18ca20407b7f480cd88c72b11c99000))


### ♻️ Refactoring

* **api:** remove draw_contour_borders from labels_to_svg ([#283](https://github.com/Krasner/Img2Num/issues/283)) ([eee9b31](https://github.com/Krasner/Img2Num/commit/eee9b3135b5b651a20cc8ffab74bcef073b74b6a))
* **core:** update labels_to_svg to return std::string ([#333](https://github.com/Krasner/Img2Num/issues/333)) ([a71e3b1](https://github.com/Krasner/Img2Num/commit/a71e3b17505306b96ebe56439b1f78215e53e56d))

## [0.2.0](https://github.com/Ryan-Millard/Img2Num/compare/cpp-v0.1.0...cpp-v0.2.0) (2026-06-27)


Expand Down
2 changes: 1 addition & 1 deletion core/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
project(Img2Num
LANGUAGES CXX
# Don't change the inline comment below - release-please needs it
VERSION 0.2.0 # x-release-please-version
VERSION 0.1.0 # x-release-please-version
)

include(CMakePackageConfigHelpers)
Expand Down