What's Changed in v8.0.0-beta.4
Page Management & Navigation
- Added a bottom-bar Page Tabs view mode with horizontal scrolling, navigation arrows, and a right-click context menu for renaming, duplicating, exporting, and deleting pages.
- Added horizontal drag-and-drop reordering for page tabs.
- Replaced the rename page modal with inline renaming directly in the page list and page tabs.
- Replaced the new page modal with a compact dropdown menu on the New Page button.
User-Defined Functions & Units (UDF/UDU)
- Replaced the raw JavaScript code editors with a structured form and list manager for creating, editing, enabling/disabling, and deleting custom functions and units.
- Added structured expression compilers for custom functions and units, removing the need to write raw JavaScript object syntax.
- Added automatic migration and parsing for legacy v7 UDF and UDU definitions.
Application Menu & Window Management
- Expanded the macOS and Linux application menus with File, Edit, View, Window, and Help actions (New Page, Import/Export, Print, Find/Replace, Clear, Copy Lines/Answers, and Toggle Page List).
- Improved Reset Size behavior to exit fullscreen or maximized states before resizing, use content dimensions accurately, and re-center open dialogs.
Storage & State Migration
- Added automatic startup migration for legacy v7 storage keys, saved pages, custom theme colors, and line height settings.
- Unified store initialization and diffing for application settings, plot settings, and theme colors.
UI & Editor Improvements
- Preserved undo history when clearing the editor and added visual flash feedback when copying answers.
- Refined styling and hover states across the action bar, search and replace panel, settings dialog, dropdowns, and page list.
- Preloaded Google Sans font weights on startup to reduce initial text layout shifts.
- Fixed duplicate HTML escaping in page link tooltip titles.
- Removed unused CodeMirror JavaScript mode and placeholder addons.
- Added test coverage for v7 storage, page, theme color, and UDF/UDU migrations.