-
V0.3.0 Major Release
StableAll checks were successfulBuild and Push Docker Image to GHCR / build-and-push (push) Successful in 29sreleased this
2025-09-30 01:31:29 -05:00 | 5 commits to main since this releasePassport v0.3.0 Release Notes
We're excited to announce Passport v0.3.0, a significant update bringing a completely redesigned admin interface, enhanced configuration, improved image handling, and a more robust developer experience!
Key Highlights
- Completely Revamped Admin Dashboard: Enjoy a modern, intuitive admin experience with in-place editing for categories and links, and streamlined creation/deletion flows using new modals. Managing your dashboard has never been easier!
- Enhanced Icon & Image Handling: Uploaded icons will now be higher quality, be scaled better for devices like phones, and be cropped to only include the data necessary for the icon.
- Simplified Configuration (with backward compatibility): Environment variables for Weather and Uptime integrations have been streamlined for clarity. While your old variables will still work for now, we recommend updating to the new, more consistent format.
- New Theming Engine: The application now uses a more flexible theming system with CSS variables and
oklchcolors, making it easier to customize Passport's appearance in future versions.
New Features
- Interactive Admin Dashboard:
- In-Place Editing: Directly edit category names, link names, descriptions, and icons on the dashboard with immediate visual feedback.
- Icon Upload & Replacement: Easily change category and link icons directly from the admin view.
- Dedicated Modals: Improved, user-friendly modals for creating categories, adding links, and confirming deletions.
- Intelligent Image Processing:
- EXIF Orientation Correction: Automatically rotates uploaded images (JPG, PNG, WEBP) based on their EXIF data, ensuring they display correctly regardless of how they were captured.
- Center Cropping: All non-SVG image uploads for icons are now smartly cropped to a 96x96 pixel square from the center, providing a consistent look across your links.
- SVG Theming: Uploaded SVG icons will have
currentColorinstances automatically replaced to align with Passport's color scheme, ensuring visual harmony.
- Refined Configuration:
- Introduced
PASSPORT_WEATHER_API_KEYandPASSPORT_UPTIME_API_KEYas primary flags to enable/disable integrations and provide API keys. - Consolidated integration-specific environment variables (e.g.,
OPENWEATHER_API_KEYis nowWEATHER_API_KEY).
- Introduced
- Live Reload for Dev Mode (HTTPS support): The development server's live-reload functionality now correctly handles HTTPS connections.
Improvements
- Robust Input Validation: Added server-side validation for category and link names (up to 50 characters) and link descriptions (up to 150 characters).
- Improved Uptime Status Indicators: The uptime monitoring status dots on the homepage feature a more refined appearance with animation, and will look correct on browsers using fractional scaling.
- Faster Dev Mode Reloads: The live reload mechanism now includes an exponential backoff strategy for testing page availability, leading to a smoother development workflow.
- Accessibility Enhancements: Added
prefers-reduced-motionqueries to animations for users who prefer less motion. Overhauled colors also provide higher contrast for users who might be visually impaired. - Shorter Filenames: Generated filenames for uploaded icons are now shorter and more consistent.
⚠️ Breaking Changes (for Developers/Contributors)
- Project Structure Rework: The entire codebase (Go files, assets, styles, templates, middleware, schema) has been moved into a new
src/directory.- Impact: If you are building from source, running tests, or contributing, you will need to update your paths and commands. For example,
go run main.gois nowgo run src/main.go, andgo generateis nowgo generate ./src/. Build scripts (zqdgr.config.json) have been updated accordingly.
- Impact: If you are building from source, running tests, or contributing, you will need to update your paths and commands. For example,
- SCSS for Styling:
styles/main.csshas been replaced withsrc/styles/main.scss. If you were directly modifying the CSS, you should now work with the SCSS file or leverage the new CSS variables for customization.
Configuration Updates
The environment variables for Weather and Uptime integrations have been updated for better consistency. While old variables are still parsed for backward compatibility, we strongly recommend updating your configuration:
- Weather:
- Removed
PASSPORT_ENABLE_WEATHER. - Provide an API key via
PASSPORT_WEATHER_API_KEYto enable the weather integration. - Renamed
OPENWEATHER_PROVIDERtoWEATHER_PROVIDER. - Renamed
OPENWEATHER_API_KEYtoPASSPORT_WEATHER_API_KEY. - Renamed
OPENWEATHER_TEMP_UNITStoWEATHER_TEMP_UNITS. - Renamed
OPENWEATHER_LATtoWEATHER_LAT. - Renamed
OPENWEATHER_LONtoWEATHER_LON. - Renamed
OPENWEATHER_UPDATE_INTERVALtoWEATHER_UPDATE_INTERVAL.
- Removed
- Uptime:
- Removed
PASSPORT_ENABLE_UPTIME. - Provide an API key via
PASSPORT_UPTIME_API_KEYto enable the uptime integration. - Renamed
UPTIMEROBOT_API_KEYtoUPTIME_API_KEY. - Renamed
UPTIMEROBOT_UPDATE_INTERVALtoUPTIME_UPDATE_INTERVAL.
- Removed
Example of new configuration setup:
// Old: // PASSPORT_ENABLE_WEATHER=true // OPENWEATHER_API_KEY="your_key" // OPENWEATHER_LAT=XX.XX // OPENWEATHER_LON=YY.YY // New (recommended): PASSPORT_WEATHER_API_KEY="your_key" WEATHER_LAT=XX.XX WEATHER_LON=YY.YY // Old: // PASSPORT_ENABLE_UPTIME=true // UPTIMEROBOT_API_KEY="your_key" // New (recommended): PASSPORT_UPTIME_API_KEY="your_key"⬆️ Dependency Updates
- Go version updated to 1.25.0.
- New libraries
github.com/disintegration/imagingandgithub.com/rwcarlsen/goexiffor advanced image processing. github.com/nfnt/resizehas been removed.
We hope you enjoy this release! Please report any issues or feedback on our GitHub repository.
Downloads