Changelog
Release history for the Desktop App and Server. Each product is versioned independently.
Desktopv3.3.012.05.2026
- Added presentation module for optimised schedule
- Modified the task template creation process to be more intuitive
- The standard for the publish target is now none instead of both
- Capabilities are now sorted (secondary) by machine_name and not display_name
- Upgraded JS dependencies: next to 16.2.6, postcss to patched 8.5.14, electron to 42.0.1, electron-builder to 26.8.1.
- Hardened OAuth state handling, token exemptions, logging, frontend callback validation, and Electron navigation/IPC/permissions
- Metrics board can now highlight capabilities too
- Added loading screen on app startup
- Fixed various bugs concerning presentation mode and port handling
Serverv3.3.012.05.2026
- Added the ability to freeze and rename snapshots
- Added more runtime variables to be set by the admin in the security tab
- Added the role issuer that has (non-critical) admin access for one specific event they are associated with
Desktopv3.2.013.04.2026
- Encrypted Google Calendar token data and event secrets at rest using Fernet-based column encryption
- Added per-session auth token injected via Electron for all backend requests
- Merged optimiser engine into the backend - single service, smaller installer, simpler architecture
- Added 5 MB request body size limit middleware
- Added Content Security Policy headers to the renderer process
- Fixed countless smaller bugs
Serverv3.2.013.04.2026
- Accessibility & UX upgrades: colour-blind modes, swipe/keyboard calendar navigation, PWA install prompt, and improved admin UI
- Scheduling & publishing improvements: schedule snapshots/rollback + enhanced batch activation tools with previews & QR exports
- Stronger authentication & session security: passkey rate limiting, session fingerprinting/revocation, encrypted data, safer WebAuthn handling
- API & system hardening: rate limiting, input/request validation, Content-Type enforcement, reduced logging exposure, stricter CSP
- Compliance, auditing & ops: audit logs, GDPR tools, secret rotation, Docker secrets, dependency cleanup, and security config controls
Desktopv3.1.006.04.2026
- Added person_id to setup export for automatic person-user account linking on server import
- Publish target now defaults to 'none' instead of 'both' - users must explicitly choose a target
- Added more extensive toast notifications and solver progress visualisation
- Extended limit for flow-checker to 10 minutes
- Updated font to Source Sans 3
- Enabled ASAR integrity verification (Electron-native tamper protection for application shell)
- Added Ed25519 signed hash manifest with automatic startup integrity check for all bundled binaries
- Added integrity verification UI in About dialogue (Verify button with per-file status)
- Added SHA-256 checksums (checksums.txt) to GitHub Releases for download verification
Serverv3.1.004.04.2026
- Push notifications - participants are automatically notified when a new schedule is published
- Offline mode - the calendar is cached locally so it can be viewed without an internet connection
- Announcement system - administrators can broadcast messages to all participants via push notification
- QR code activation - administrators can display a scannable QR code instead of sending activation links
- QR codes detect when a link has been used and allow generating a new one on the spot
- My-tasks navigation: floating arrow buttons on task detail modal to navigate between your assigned tasks
- Automatic person-user linking via person_id during server setup import
- Updated font to Source Sans 3
Desktopv3.0.104.04.2026
- Fixed application icon to use transparent background at 512x512 (required for macOS)
- Fixed 'Failed to fetch' errors by replacing hardcoded startup delay with proper service health-check polling
- Changed all internal URLs from localhost to 127.0.0.1 to avoid IPv6 resolution issues on Windows
- Application now shows a clear error page with diagnostic logs if backend services fail to start
- Fixed missing execute permissions on macOS/Linux for bundled backend and optimiser binaries
- CI build now ensures PyInstaller binaries retain execute permissions before packaging
- Fixed flow-checker ortools dependency missing from the bundled backend executable
- Fixed icon not found error on macOS caused by assets folder missing from packaged app
- Themed icon now persists to user data directory instead of read-only app bundle
Desktopv3.0.003.04.2026
- New desktop application powered by Electron
- Complete rewrite of the cross-day optimisation engine using OR-Tools CP-SAT solver
- Real-time flow-check diagnostics with bottleneck analysis
- Pre-optimise gate to validate data before running the solver
- Dark mode support across the entire application
- Cross-platform support: Windows, macOS, and Linux
- Bundled backend and optimiser - no Python installation required
Serverv3.0.003.04.2026
- Multi-user web calendar with passkey (WebAuthn) authentication
- Complete rewrite of the cross-day optimisation engine using OR-Tools CP-SAT solver
- Real-time flow-check diagnostics with bottleneck analysis
- Pre-optimise gate to validate data before running the solver
- Dark mode support across the entire application
- Docker Compose deployment with Caddy reverse proxy and automatic HTTPS