v0.7.0
User Visible Changes
- Rewrote the entire error hierarchy to be specific to the operation at hand instead of having one big error type for everything.
- Glyph names, layer names, group names and kerning entries now use
Name
instead ofString
to enforce UFO restrictions on what can be contained in a name. - The DataRequest builder API now passes back
Self
instead of a mutable reference, for writing "one-liners". - All public items should now have documentation text attached to them.
- The
norad::util
module is private for now. - Minor API changes in
NonNegativeIntegerOrFloat
,IntegerOrFloat
is just anf64
now. Font.data_request
is private for now.- Load and save methods apart from those in
Font
andGlyph
are now private. Font::get_glyph()
,Layer::get_glyph()
,Layer::remove_glyph()
andLayer::iter
now return&Glyph
without theArc<>
wrapper unless thedruid
feature is enabled; some methods got a_raw
counterpart for explicitly getting behind theArc<>
wrapper then.Image::file_name()
is now a getter for the underlying privatefile_name
field.- On saving, font parts other than glyphs are validated up-front, to reduce the chance of erroring out half-way through saving.
Color
's fields are now private.- Layer renaming is more strict now and catches things forbidden by the spec.
- Minor GLIF versions are now read.
Identifier
's API should now mostly matchName
's.
What's Changed
- Refactor read and write configurations by @chrissimpkins in #201
- Update public API docs by @chrissimpkins in #197
- Error tweaks by @cmyr in #209
- Use LayerInfo struct to deserialize layerinfo.plist by @madig in #214
- Make util module pub(crate) by @cmyr in #215
- Minor reorganization by @cmyr in #216
- Use thiserror by @madig in #211
- Tweak docs and API for shared numeric types by @cmyr in #217
- Tweak Font object docs by @cmyr in #220
- Remove
write_plist_value_to_file
by @madig in #228 - Remove IntegerOrFloat by @cmyr in #226
- Take some load/save methods private by @madig in #229
- Simplify Glyph.load_object_libs with a macro by @madig in #231
- Rejig error hierarchy by @madig in #224
- Cut down builder by @madig in #235
- Undo Error for ErrorKind by @madig in #236
- Only store Arc if 'druid' feature is enabled by @cmyr in #234
- Miscellaneous changes by @madig in #239
- Name type and related API changes by @cmyr in #240
- Protect Image.file_name by @madig in #243
- Validate some structures up front by @madig in #244
- Use our errors in custom deserialize functions by @madig in #245
- Move/clean up some tests by @madig in #246
- Harden Color by @madig in #247
- Check that some blue zone lists are pairs by @madig in #249
- Stricter layer renaming handling by @madig in #254
- Remove LayerSet::get_or_create by @madig in #255
- Implement full user name to file name conversion by @madig in #251
- Remove LayerSet::new by @madig in #256
- Add minor version support to GlifVersion by @cmyr in #241
- Use Name for glyph parts by @madig in #257
- Make code for Identifier match Name by @madig in #259
- Update manifest for v0.7.0 by @cmyr in #258
- Implement FromStr for Name by @madig in #260
- Use Name instead of String in Groups and Kerning by @madig in #261
Full Changelog: v0.6.0...v0.7.0