Skip to content

Kurbo v0.13.1

Latest

Choose a tag to compare

@tomcur tomcur released this 13 May 16:28
· 3 commits to main since this release
838b69e

Crates.io | Docs

This release has an MSRV of 1.85.

Added

  • Stroke::is_finite and Stroke::is_nan. (#545 by @waywardmonkeys)
  • Component-wise Insets::min/max methods. (#548 by @xStrom)
  • Ability to add and subtract Insets from other Insets. (#549 by @xStrom)
  • Arc now implements ParamCurve. (#378 by @waywardmonkeys)
  • Affine::{pre,then}_skew and Affine::{pre,then}_reflect fluent composition helpers. (#563 by @waywardmonkeys)
  • Three transform matrix norms: Affine::{nuclear_norm_squared,frobenius_norm_squared,spectral_norm}. (#569 by @tomcur)
  • StrokeOpts::stable_dash_order to keep dashes at fixed path-relative positions instead of merging the first/last dash across. (#550 by @RobertBrewitz)
  • expand_path anisotropic path expansion. (#575 by @raphlinus)

Changed

  • Improved performance of RoundedRect::winding and RoundedRect::contains. (#534 by @tomcur)
  • Axis, Ellipse::from_affine, Insets, Line::reversed, Rect::min_x/max_x/min_y/max_y, RoundedRectRadii::abs/clamp/as_single_radius, RoundedRect::width/height/radii/rect/origin/center, Size::aspect_ratio, Stroke::new/with_join/with_miter_limit/with_start_cap/with_end_cap/with_caps are all now const. (#536 by @xStrom, #539 and #561 by @tomcur)
  • Improved performance of Ellipse::area. Note: for non-finite ellipses, this method may now return f64::INFINITY where it returned f64::NAN before. (#559 by @tomcur)
  • Improved numerical robustness of winding numbers for paths. (#537 by @jneem)

Fixed

  • Affine::pre_rotate_about calculation. (#567 by @dannymcgee)
  • Now closing subpaths when computing area for expansion. (#580 by @raphlinus)
  • Odd-length dash patterns no longer swap dashes and gaps when dash_offset increases. (#585 by @Keavon)

New Contributors

Full Changelog: v0.13.0...v0.13.1