github sassanix/Warracker 0.9.9.9
0.9.9.9-beta

latest releases: 0.10.1.10, 0.10.1.9, 0.10.1.8...
3 months ago

New Features, Enhancements & Fixes

This release brings full OIDC SSO integration, new exact expiration date input, fine-grained registration control, smoother UI responsiveness, and memory optimization for lower-resource environments. It also includes a range of bug fixes and visual improvements.

Many thanks to all users who’ve submitted issues and shared feedback , your input directly shapes Warracker’s development!


✨ New Features

OIDC Single Sign-On (SSO)

Users can now log in using external identity providers (Google, GitHub, Keycloak, etc.) via OIDC.

  • Supports dynamic OIDC client configuration.
  • New “Login with SSO Provider” button initiates secure flow.
  • Automatic user provisioning on first login (when enabled).
  • Seamless integration with existing settings and login flow.

Files: backend/app.py, backend/oidc.py, frontend/auth-redirect.html, frontend/script.js, frontend/settings-new.html, frontend/settings-new.js


Registration Control for SSO

New toggle prevents SSO-based account creation when general registration is disabled.

  • First account is always allowed (for bootstrapping).
  • Blocks unauthorized new user creation via SSO.

Files: backend/app.py, frontend/auth-redirect.html, frontend/script.js


Provider-Aware Branding for SSO

SSO login buttons now show recognizable labels and brand colors.

  • Automatically detects major providers (Google, Microsoft, GitHub).
  • Falls back to generic label if unknown.

Files: frontend/script.js, frontend/style.css


Exact Expiration Date Input

Users can now select a specific expiration date for each warranty.

  • Option to toggle between "duration" and "exact date".
  • Displays calculated duration when exact date is entered.

Files: frontend/index.html, frontend/status.html, frontend/script.js, backend/app.py


Instant UI Updates for Warranty Fields

Warranty changes now reflect immediately in the interface.

  • No need to reload the page after edits.

Files: frontend/script.js, frontend/status.html


Memory Optimization Modes

New environment variable enables lighter server modes:

  • WARRACKER_MEMORY_MODE=optimized (~60MB)
  • ultra-light (<50MB, reduced features)
  • performance (4 workers, ~200MB)

Files: backend/app.py, docker-compose.yml


🔄 Changes

Environment-Based OIDC Config

OIDC settings can now be injected via environment variables:

  • OIDC_CLIENT_ID, OIDC_ISSUER_URL, etc.
  • Simplifies configuration for Docker deployments.

Files: docker-compose.yml, backend/app.py


UI & Styling Improvements

  • Added hover states and brand color schemes to SSO buttons.
  • Streamlined modal UX for editing warranties.
  • Enhanced error validation and transitions.

Files: frontend/script.js, frontend/style.css


🐛 Fixes

  • Blank Redirect Fix: Resolved issue with blank screen post-SSO login.
  • Missing Element Check: Avoided JS crashes from null classList references.
  • Duplicate JS Loading: Removed repeated imports of auth.js.
  • Tag Creation Errors: Fixed DB constraint issues when users created tags with identical names.
  • Token Usage: Replaced direct localStorage access with auth.getToken() for better SSO handling.
  • Dropdown Menu IDs: Unified logic for user menu buttons.
  • Modal Display Bugs: Fixed layout inconsistencies on the warranty modal.
  • Logout Button on About Page: Ensured logout flow works reliably across all views.
  • Date Calculations: Improved handling of leap years and month rollovers for duration inputs.

📷 Screenshots

SSO Login Button

Exact Expiration Date Field

Don't miss a new Warracker release

NewReleases is sending notifications on new releases.