Repository navigation
Note: Because Axis is a freshly compiled, unsigned Rust/Tauri application, some sensitive antivirus scanners may flag the installer as a false positive. The source code is entirely open-source and viewable here.
This release focuses on comprehensive accessibility compliance, dynamic accent customization, per-project score scaling, and critical fixes for bulk editing, navigation, and view transitions.
✨ Highlights
🎨 Accent Themes & Visual Redesign
Axis now supports dynamic accent theming with dedicated theme choices.
-
New Themes — Added Plum (plum-violet + warm amber-gold) and Forest (muted forest green + terracotta) accent choices, each with light and dark mode variants alongside the classic Red theme.
-
Dynamic Engine — Replaced hardcoded accent declarations across the entire UI with dynamic CSS variables. All buttons, badges, glows, borders, primary actions, and gradients recolor automatically.
-
Theme-Derived Mid Tiers — Mid-tier scores now calculate dynamically using a midpoint blend of the active primary and secondary accent colors.
-
Split-Color Swatches — Settings picker now displays dual-color conic gradient swatches representing each theme's primary and secondary palette.
♿ Accessibility & Focus Management
- Added accessible labels to icon-only and dynamically generated controls.
- Added proper switch, button, and dialog semantics.
- Added visible keyboard focus indicators.
- Added focus trapping and focus restoration for modals and other overlay interfaces.
- Improved screen-reader labels for items, images, projects, categories, templates, and backups.
- Converted interactive tag controls to proper keyboard-accessible buttons.
⚙️ Per-Project Stat Scale
The maximum stat scale is no longer bound to global settings.
-
Per-Project Configuration — The maximum stat scale is now saved per project inside project data.
-
Backup Preservation — Project backups now retain their respective stat scale on export and restore.
-
Seamless Migration — Pre-existing projects fall back once to the global scale preference before migrating automatically.
🎬 View Switching Animation
Toggling between Grid and List view now features a smooth crossfade transition.
- Container-level crossfade animation on the main view grid during view mode swaps.
- Skips per-item position matching during transition to prevent layout glitches.
- Automatically respects Reduce Motion accessibility settings.
🛠 Improvements
- Cleaned up stale global preference references across project scale handlers.
- Improved focus restoration when closing nested modals and image overlays.
- Updated storage settings so theme choices persist in web and browser environments.
🐛 Fixes
- Fixed Category Truncation — Removed the hardcoded 7-category limit in List view so all categories render and wrap properly.
- Fixed Bulk Selection Target — Resolved an issue where bulk selection queries targeted duplicate item IDs in the hidden leaderboard instead of the grid.
- Fixed Bulk Bar Overlap — Added a dynamic height observer on the bottom bulk toolbar to adjust grid padding and prevent card overlap on narrow screens.
- Fixed Tag Chip Font Sizing — Fixed a CSS override on tag buttons that stripped custom font sizes and weights.
- Fixed Search Count Overflow — Fixed search count text positioning from pushing into the search box on longer string queries.
- Fixed Score Filter Bug — Fixed score calculations to prevent items from disappearing under invalid filter inputs.
- Fixed Focus Traps on Escape — Fixed Escape key handling to ensure image viewer overlays close completely without leaving focus traps behind.
Thanks for using Axis ❤️
If you find a bug or have a feature request, feel free to open an issue or discussion on GitHub.
Full Changelog: v1.7.1...v1.8.0