Skip to content

Latest commit

 

History

History
235 lines (175 loc) · 10 KB

CHANGELOG.md

File metadata and controls

235 lines (175 loc) · 10 KB

Changelog

The latest published Parley release is 0.3.0 which was released on 2025-02-27. You can find its changes documented below.

This release has an MSRV of 1.82.

Added

Parley

  • PlainEditor::selection_geometry_with, the equivalent of Selection::geometry_with method

Changed

Fontique

  • Breaking change: Collection::register_fonts now takes a Blob<u8> instead of a Vec<u8> (#306 by @valadaptive)
  • Breaking change: Collection::register_fonts now takes an optional second parameter which allows overriding the metadata used for matching the font (#312 by @valadaptive)

Parley

  • Breaking change: Selection::geometry, Selection::geometry_with, and PlainEditor::selection_geometry now include the line indices that the selection rectangles belong to. (#318 by @valadaptive)
  • Update to accesskit 0.18. (#294 by @waywardmonkeys))
  • Display selected newlines as whitespace in the selection highlight. (#296 by @valadaptive)
  • Make BreakReason public. (#300 by @valadaptive)

Fixed

Parley

  • Fix text editing for layouts which contain inline boxes (#299 by @valadaptive)

0.3.0 - 2025-02-27

This release has an MSRV of 1.82.

Added

Parley

  • Generation on PlainEditor to help implement lazy drawing. (#143 by @xorgy)
  • Support for preedit for input methods in PlainEditor (#192, #198 by @tomcur)
  • PlainEditor method to get a cursor area for use by the platform's input method (#224 by @tomcur)
  • Layout methods to calculate minimum and maximum content widths. (#259 by @wfdewith)
  • PlainEditor now implements Clone (#133 by @nicoburns)
  • Navigation and byte selection operations for PlainEditor. (#146 by @xorgy)
  • AccessKit integration (#166 by @mwcampbell)
  • first_style method to Cluster (#264 by @nicoburns)

Fontique

Changed

Parley

  • Breaking change: The cursor API has been completely reworked (#170 by @dfrg)
  • Breaking change: PlainEditors API is now method-based rather than enum based (#154 by @mwcampbell)
  • Breaking change: PlainEditor's semantics are no longer transactional (#192 by @DJMcNab)
  • Breaking change: Alignment::Start and Alignment::End now depend on text base direction. Alignment::Left and Alignment::Right are introduced for text direction-independent alignment. (#250 by @tomcur)
  • Breaking change: Layout is no longer Sync. (#259 by @wfdewith)
  • Breaking change: PlainEditor's width is now Option<f32> rather than f32 (#137 by @nicoburns)
  • Breaking change: Make alignment when free space is negative configurable (#241 by @nicoburns)

Fontique

Fixed

Parley

  • Fix alignment of right-to-left text. (#250, #268 by @tomcur)
  • Performing line breaking or aligning a layout again, after justified alignment had been applied previously, now lead to the correct results. (#271 by @tomcur)
  • Fix placement of inline boxes (#163 by @spirali)
  • Cursor position for lines that are not left-aligned (#169 by @mwcampbell)
  • Fix Cursor::from_point to use the line's offset (#176 by @DJMcNab)
  • Fix off-by-one error in PlainEditor::cursor_at (#187 by @tomcur)
  • Fix binary search in Layout::line_for_offset (#188 by @tomcur)
  • Fix whitespace collapsing at the start of inline spans (#191 by @nicoburns)
  • Fix collapsing selection (#201 by @tomcur)
  • Ignore affinities in Selection::is_collapsed (#202 by @nicoburns)
  • Misc. inline box layout fixes (#207 by @nicoburns)
  • Allow Bidi base_level to be determined from text (#245 by @nicoburns)
  • Fix linebreaking for lines without text runs (#249 by @wfdewith)
  • Correctly calculate trailing whitespace for all lines (#256 by @wfdewith)
  • Strip whitespace following a newline when whitespace collapsing is enabled (#254 by @nicoburns)
  • Account for inline boxes when collapsing whitespace after newlines (#280 by @nicoburns)

Fontique

  • Skip adding font family as fallback if it has zero coverage for given script (#182 by [@richardhozak]

0.2.0 - 2024-10-10

This release has an MSRV of 1.75.

Added

Parley

  • Example using tiny-skia which renders into a png (#55 by @nicoburns)
    • Breaking change: There is now a blanket implementation for Brush.
  • A swash example which renders into a png (#54 by @nicoburns)
  • An example with Vello on Winit which shows a basic text editor (#106 by @dfrg)
  • PlainEditor, a basic action-based text editor based on Parley Selection and Cursor (#126 by @xorgy)
  • Tree style builder (#76 by @nicoburns)
  • Conversions for FontFamily, FontStack, and StyleProperty to make styling more ergonomic (#129 by @xorgy)

Changed

General

Parley

  • Emoji clusters now get an Emoji family added by default (#56 by @dfrg)
  • Style builders now accept Into<StyleProperty<'a, B: Brush>> so you can push a GenericFamily or FontStack directly. (#129 by @xorgy)

Fontique

Fixed

Fontique

Removed

Fontique

  • Breaking change: removed conversion to/from icu_properties::Script for fontique::Script (#72 by @waywardmonkeys)
    • This can be restored by using the icu_properties feature of fontique.

0.1.0 - 2024-05-01

This release has an MSRV of 1.70.

  • Initial release