v0.1.11
kornia-rs v0.1.11
First release in 6 months (since v0.1.10, Nov 2025), bundling 122 commits across the Rust core, Python bindings, and C++ surface.
New crates
- kornia-vlm — VLM stack with paligemma + SmolVLM (#391, #397, #398, #404, #405)
- kornia-pnp — PnP solvers + factor-graph optimization (#439, #664)
- kornia-lie — Lie groups on glam-rs: SO2/SE2/SO3/SE3/RxSO3/Sim3 + jacobians (#303, #376, #389, #395, #401, #407, #633, #746)
- kornia-nn — Linear / DNN ops with SIMD (#386, #378)
- kornia-apriltag — Full AprilTag detection pipeline (#380, #406, #410, #419, #420, #429, #433, #435, #438, #444, #458)
- kornia-algebra — Shared linear algebra (#558, #692, #697)
- v4l2 / v4l — Camera capture with mmap + control trait (#359, #437, #441, #582)
Python bindings (kornia-py)
- PIL-parity Image API with zero-copy numpy interop (#839, #894, #896)
- u16 / f32 dtype support across IO and imgproc
- WebP encode/decode (#651), TIFF buffer encoders, JPEG-turbo
- AprilTag bindings (#565), DecodeTagsConfig.tag_families getter (#883)
- Python 3.14t free-threaded build support (#888)
- Auto-detected read_image() (#571), zero-copy gstreamer images (#387)
Performance
- Cross-arch SIMD: AVX2 (x86_64) + NEON (aarch64) for ORB / FAST / imgproc (#839, #887)
- Two-view pose + essential/fundamental matrix estimation (#688)
- Pyramid (#622, #629, #654), separable_filter (#612), draw_line (#685)
- flip_v memcpy (#650), cast/scale (#662), tensor as_contiguous (#663)
- Histogram parallelism (#447), DoG response memory (#705)
- QuickDecode -8x and -770x memory reductions (#618, #626)
- Linear-time euclidean distance transform (#658)
- SVD optimized (#516)
Imgproc
- Morphological operations (#653)
- Suzuki–Abe contour finding (#767)
- Adaptive threshold (#384)
- undistort_points (#623)
- Padding function (#510)
- adjust_brightness (#554), GFTT response (#757)
- Robust loss support (Identity, Huber, Cauchy) for LM solver (#708)
IO
- WebP support (#651), JPEG encoder bytes / Image from ptr (#549)
- EXIF metadata extraction + auto-orientation (#640, #760)
- Zero-copy gstreamer (#387), v4l2 mmap (#437)
- Decoupled device/dtype selection (#800)
Examples & infra
- ROS2 / Zenoh examples with shared memory (#594, #597, #581)
- copper, dora, foxglove, paligemma, smol_vlm / smol_vlm2 examples
- pixi for infra/CI (#599), dependabot configuration (#721)
- C++ bindings: unified Image API (#543, #550)
Fixes
- decode_gray8 returns Image<u8, 1> with correct pitch (#880)
- Interpolation panics replaced with Result (#777)
- Removed unsafe transmute in vlm preprocessors (#754)
- TileIterator refactored to safe Rust (#742)
- ICP geometric metric assertions (#722, #723), ORB fixes (#693)
- Cross-platform build (#814), maturin>=1.9 pin for py3.14t (#888)
- Exact Givens rotation for svd3_f64 stability (#697)
- PartialEq derived on Lie groups (#746)
Distribution
- 46 wheels on PyPI: linux (x86_64 + aarch64), macOS (x86_64 + arm64), windows × Python 3.8–3.14 + 3.13t / 3.14t free-threaded
- Cross-arch SIMD verified at wheel-build time (objdump-grep gate for AVX2 / NEON)
Full Changelog: v0.1.10...v0.1.11