- Rewrite remote webdav file system
- Fix non-zero exit code when app closes
- Improve settings design
- Add option to move the zoom view and add reset zoom button
- Move toolbar size setting to view settings
- Fix deleting characters not working in label tool on some keyboards on android
- Fix sync button not visible on small screens
- Remove autofocus from add dialog search to prevent virtual keyboard on mobile
- Improve rendering performance on larger documents
- Cache paths in PenRenderer and PolygonRenderer during setup
- Use lightweight foreground refresh for handlers instead of full rebake
- Remove redundant per-frame sorting in ViewPainter
- Add early returns for empty renderer lists
- Improve eraser performance
- Replace point interpolation with line segment intersection for hit testing
- Cache HitCalculator instances in PenRenderer
- Use synchronous rayCast for small element counts
- Improve pen input experience
- Add pen-only input toggle button that appears when a pen is detected
- Make pen-only input setting tri-state (Automatic, Always on, Always off)
- Auto-enable pen-only mode for the current session when a stylus is detected in automatic mode
- Improve performance of pen hit testing
- Reintroduce white background if no background is set
- Fix Android intent handling causing empty documents on resume and not updating on new intent
- Fix importing assets does not use default template
- Fix importing does not use selected storage
- Fix importing archives opening empty documents
- Fix spread to pages breaks pdf import
- Remove border for pdf pages
- Fix an issue where tools sometimes lacked a unique ID
- Fix path eraser and eraser not correctly working if full selection is enabled
Changes merged from 2.4.3 hotfix:
- Fix toolbar position icon direction issue on rtl layouts
- Fix foreground will be reset if temporary tool is added
Read more here: https://linwood.dev/butterfly/2.5.0-beta.1