Musivault v1.9.0
A new update introducing internationalization, condition grading, wide screen support, and more!
✨ Highlights
Internationalization (i18n)
Musivault now full support for internationalization with initial translations for English, German (DE), and French (FR), along with a language selector in settings. This feature is back by Weblate
Condition Grading
Track the condition of your physical media and sleeves. You can now grade your items and even import condition data via CSV. (You need to opt-in to this feature in settings)
Enhanced Search & ID Lookup
Quickly find what you're looking for with the new ID Lookup feature (Discogs ID or barcode). Mobile search has also been improved with a streamlined UI.
Redesigned Settings
The settings page has been completely refactored with a clean, tabbed navigation interface. Explore new preferences to customize your experience, including user profiles, language selection, wide screen mode, and more.
📦 What's New
Added
- feat: Add develop branch triggers, prerelease version detection, refined Docker image tagging, and build summary.
- feat: Allow dynamic image tagging for backend and frontend services in docker-compose.
- feat: Display application release channel in the footer by exposing it via the version API.
- feat: display release channel alongside version number in settings page
- feat: Add wide screen mode user preference with UI toggle and backend support to adjust content width.
- ci: Remove linux/arm64 from default Docker build platforms.
- feat: add internationalization (i18n) support with initial DE, EN, and FR translations and instructions.
- feat: introduce multi-language support and add a language selector in settings
- feat: implement internationalization across various frontend pages and components by replacing hardcoded strings with translation keys and updating locale files.
- feat: Add user language preference setting and persistence across frontend and backend.
- feat: Add authentication check and redirection to PublicLayout, displaying a loading spinner during verification.
- style: Enhance UI with Lucide icons for navigation and 'Made with' text, and streamline locale strings.
- feat: Implement user profile management including display name and email, and refactor settings page with tabbed navigation.
- feat: Add condition grading for collection items including user preferences and dedicated UI.
- feat: add support for importing media and sleeve conditions and update the CSV template
- feat: Add Discogs lookup by ID and catalog number with new UI and API endpoint.
- feat: Implement manual album creation with cover upload, persistent storage, and a centralized image URL utility.
- feat: Refactor database migration and cleanup scripts for modularity and integrate them into the server.
- feat: Implement secure entrypoint for permission management and switch backend volumes to bind mounts.
- feat:
shareIdand apply minor UI adjustments. - feat: Improve mobile search UI by replacing tabs with a dropdown and using shorter input placeholders, with corresponding localization updates.
- feat: Allow customization of OIDC login/signup button text by dynamically displaying the provider name from environment variables.
- feat: update README with new features, OIDC environment variables, and refined setup instructions.
Changed
- refactor: Centralize Discogs API logic, types, and utilities into dedicated files, consolidate search endpoints, and update frontend usage.
- refactor: replace inline SVG icons with lucide-react components across various UI elements.
- refactor: split settings components, refactor authentication, middleware, file structure and convention name
- refactor: Update type import paths and add Vite build chunking configuration.
- refactor: Replace VersionsPage with MasterPage for the master route.
- refactor: Add non-null assertion for album discogsId in migration script.
- refactor: simplify log directory path resolution and reuse Album model in migration script.
- refactor: update 'or' divider translation key to
common.orin login and signup pages
Fixed
- fix: resolve login redirection and headers already sent error
🐳 Docker Images
docker pull ghcr.io/jeanball/musivault/backend:1.9.0
docker pull ghcr.io/jeanball/musivault/frontend:1.9.0