Fixes:
* [MAJOR] print and save PDF work again
* 0 or negative value for staggers no longer allowed (caused problems)
* fix error: ValueError: A LinearRing must have at least 3 coordinate tuples
* gracefully handle corrupted presets files
Features:
* rudimentary support for clone objects
* rectangles, circles, and ellipses are now supported without the need to convert to path
* Break Apart extension can now fix most "invalid" shapes with a loop by breaking the loop out into a separate object.
* [NEW EXTENSION] Cleanup -- removes tiny objects from an SVG
* they just cause trouble and aren't visible anyway
Other Changes:
* troubleshoot extension:
* more hints on how to fix "invalid" shapes
* hints for image and text objects
## New Features
- New Simulator (#531)
- Import Threadlist (#666)
- Export Threadlist in ZIP file (#664)
- Option to include SVG in ZIP file (#648)
- Break Apart and Retain Holes (#653)
- G-Code: option to alternate z-value (#659)
- New Stitch Plan Extension (#640)
- Optionally enable/disable ties (lock down stitches) (#619)
- Multiple Fill Underlays
- Additional Fonts (#683):
* Geneva
* DejaVu
## Improvements
- Better Algorithm for Satin Columns (#607)
- Better Algorithm for Fill Stitches (#606)
- Convert to Satin with Loops (#608)
- Adding '@ #' to all fonts (#680)
## Bug Fixes
- Fix Issue with Troubleshoot Pointer Position (#696)
- Inherit Styles (#673)
- Fix Color Palette Issues (#660)
- Preserve Aspect Ratio (#646)
- and more
## Under the Hood
- Namespaced Attributes (#657)
- Remove stub.py (#629)