v0.3.3
🏠 Homelab & Enterprise Authentication
This release brings enterprise-grade authentication options, ARM64 support for Raspberry Pi, and critical bug fixes for mobile navigation and log ingestion.
✨ What's New
LDAP Authentication (#58)
- Active Directory Integration: Connect LogWard to your existing LDAP/AD server
- Custom Search Filters: Configure bind DN and search patterns for your directory structure
- Auto-Provisioning: Users created automatically on first login
- Secure Connection: LDAPS (SSL/TLS) support for encrypted communication
OpenID Connect (OIDC) (#58)
- Universal SSO: Works with Authentik, Keycloak, Okta, Auth0, Google Workspace, and any OIDC provider
- Auto-Discovery: Configures automatically via .well-known/openid-configuration
- Silent Refresh: Seamless session management with automatic token renewal
- Custom Claims: Map provider attributes to LogWard user fields
Initial Admin Setup (#57, #58)
- Environment-Based Bootstrap: Set INITIAL_ADMIN_EMAIL, INITIAL_ADMIN_PASSWORD, INITIAL_ADMIN_NAME
- Auto-Generated Credentials: Secure password generated and displayed in logs if not provided
- Idempotent Setup: Safe to leave configured—ignored after first user exists
Homelab-Friendly Options (#58)
- Auth-Free Mode: Set AUTH_FREE_MODE=true for single-user home lab deployments
- Disable Sign-ups: Set DISABLE_SIGNUPS=true for invitation-only access
- Warning Banners: Clear UI indicators when running in permissive modes
ARM64 / Raspberry Pi Support (#58)
- Multi-Architecture Images: Docker images for both linux/amd64 and linux/arm64
- Raspberry Pi Ready: Native support for Pi 3/4/5 (64-bit OS required)
- Fluent Bit 4.2.2: Updated with ARM64-specific registry documentation
🐛 Bug Fixes
Mobile Navigation Menu (#69)
- Fixed hamburger menu not responding on mobile devices
- New sliding drawer with smooth animations and backdrop overlay
- Closes on outside tap, Escape key, or navigation
Services Dropdown (#66)
- Fixed combo box only showing services from current page instead of all available
- New /api/v1/logs/services endpoint returns all distinct services in time range
- Selected services persist when changing time range
Log Format Improvements (#60)
- Journald Detection: Auto-parses systemd-journald format with proper field extraction
- Syslog Level Mapping: Fixed logs appearing as "unknown" level
- OTLP Protobuf: Fixed "Request body size did not match Content-Length" errors
Full Changelog: v0.3.2...v0.3.3