Releases: Alvestrasza/SimSoar
v0.3.0
SimSoar v0.3.0
This release focuses on user roles, permissions, profile preferences, mobile usability, and the first PWA foundation for SimSoar.
Version v0.3.0 introduces a more complete user and administration model, improves the mobile experience across key pages, and prepares the application for a more polished multi-user production workflow.
Highlights
Role and Permission Model
SimSoar now uses Keycloak / AD as the authoritative source for user role membership.
Roles are read from Keycloak during sign-in and mirrored into the local SimSoar database. Role changes can be performed from the SimSoar admin interface and are written back to Keycloak groups through the Keycloak Admin API. Keycloak then synchronizes the resulting group membership back to Active Directory.
Implemented roles:
USERPILOTMODERATORADMINOWNER
The USER role remains mandatory. The PILOT role is required for flight uploads. Users without pilot privileges can still access SimSoar, view public content, and manage their profile, but cannot upload new flights.
Role changes are written to the audit log, and the profile page now displays the user’s highest assigned role.
User Preferences
User-specific preferences have been expanded and can now be edited from the profile page.
Stored preferences include:
- Theme preference
- Preferred simulator
- Preferred unit system
- Preferred leaderboard view
- Preferred map mode
The preferred simulator is used as the default selection during flight upload. The preferred leaderboard view is used as the initial leaderboard filter. The preferred map mode is now applied across maps.
Improved Mobile View and PWA Foundation
The mobile experience has been improved across navigation, flight lists, admin pages, upload, and flight detail views.
Changes include:
- Improved mobile navigation
- Removed duplicate profile navigation entry
- Language selection changed to a dropdown
- Added quick light/dark mode toggle without overwriting the stored user preference
- Improved button hover states
- Added zoom controls to the home page map
- Fixed map layering so maps no longer overlap the navigation bar while scrolling
- Added mobile-friendly card layouts for large tables
- Added mobile-friendly card layout for the admin user management page
- Improved flight detail usability on mobile devices
- Verified mobile upload workflow
- Added basic PWA manifest support
- Added basic PWA icon support
- Completed mobile install test
Map Improvements
The preferred map mode from the user profile is now applied to maps.
Supported map modes:
- Standard
- Satellite
- Terrain
The flight detail map also includes a quick local map mode switcher. This allows users to temporarily switch between map views without changing their stored profile preference.
Documentation
Role and permission handling is now documented in:
docs/auth/role-and-permission-model.md
The documentation describes the authority model, role flow, Keycloak / AD synchronization, upload permission enforcement, admin permission rules, and the related test matrix.
Notes
PNG PWA icons in additional sizes such as 192x192 and 512x512 are planned as a later quality improvement. The basic PWA foundation and mobile install test are already complete.
Summary
SimSoar v0.3.0 is a major step toward a complete multi-user soaring platform with centralized identity management, role-based access control, user preferences, mobile usability, and PWA readiness.
Full Changelog: v0.2.0...v0.3.0
v0.2.0
Multilingual Support
This release adds multilingual support for SimSoar with dedicated /de and /en routes. The application now detects the browser language automatically, uses English as the fallback language, and provides translated UI texts across the main pages including home, flights, upload, profile, pilots, flight details, and login.
Keycloak sign-in now receives the selected SimSoar language, improving the login experience for German and English users.
Full Changelog: v0.1.7...v0.2.0
v0.1.7
Changes:
- Added flight management to the user profile page to make flights visible, unvisible and to delete uploaded flights
- Changed some authentication settings to better handle user creation and modification
- Added "Callsign" to the registration formular and made it required
Full Changelog: v0.1.6...v0.1.7
v0.1.6
Full Changelog: Initial_Release...v0.1.6