-
V0.3.4: Minor Release
StableAll checks were successfulBuild and Push Docker Image to GHCR / build-and-push (push) Successful in 1h19m23sreleased this
2025-12-04 22:57:35 -06:00 | 0 commits to main since this releaseMany admin fixes
This release Fixed and improves many things relating to the admin UI, hopefully providing a better experience for passport admins.
✨ Highlights
- Loading states are now shown when performing admin actions. This means that forms show that something is actually happening instead of doing nothing awkwardly until the server responds.
- In development mode, pages are outlined so its obvious when the site is in developer mode vs production mode.
🐛 Bug Fixes
- One again, more style fixes to the inline editing have been done, ideally meaning that editing categories and links should be as consistent as possible.
- Styles unrelated to inline editing have also been improved upon. Action buttons should no longer get squished, they are padded correctly, and action buttons created on the fly are spaced correctly.
- Link icon file inputs now have the correct accept attribute so users cannot upload unsupported files.
- More errors are shown to the user when they happen
⚙️ Internal Improvements
- The readme has finally been updated to correct environment variable changes that happened in v0.3.0 (my bad), though some more work is needed on it, I just suck
- Some of the admin editing code has been cleaned up and improved upon, but this file still needs more work.
- Errors are better handled on the client, and better communicated from the API.
- Template elements used for SPA-like editing have been turned into actual template elements.
Downloads
-
V0.3.3: Minor Release
StableSome checks failedBuild and Push Docker Image to GHCR / build-and-push (push) Has been cancelledreleased this
2025-10-05 16:21:16 -05:00 | 1 commits to main since this releaseEven more optimization
This release further optimizes passport, largely focusing on the bundle shipped to the browser.
✨ Highlights
- Handrolled CSS: Passport now uses handrolled css built with postcss rather than using tailwindcss to cut the bundle down by 10kB
- Selector Optimization: Passport's CSS and JS selectors have been optimized, most query selectors now do not need to crawl the dom
- Faster Asset loading: Passport now sends a Link header on request, as well as shrinking the font by 20kB
🐛 Bug Fixes
- Spurious errors when deleting: Passport used to console.error when you deleted an item of a type different from one that you edited perivously.
- Edit quality of life: When you would click the checkmark if no changes were made, the edit mode would not close.
- Item creation bugs: When creating an item, if you closed out of the modal, it wouldnt clear currentlyEditing, leading to errors when doing other tasks
⚙️ Internal Improvements
- No more Tailwindcss: Passport now uses entirely handrolled css, and pages have their own bundle only including exactly what they need.
- Pages no longer use Layouts: Templates are now entire pages, and do not rely on layouts.
- PostCSS Builds: Passport now uses PostCSS to process and optimize CSS bundles. This unfortunately now makes us dependent of Nodejs, but only for building. On the other hand, this allows us to tightly control how our CSS is bundled.
Downloads
-
V0.3.2 Minor Release
StableSome checks failedBuild and Push Docker Image to GHCR / build-and-push (push) Failing after 21m16sreleased this
2025-10-02 00:23:21 -05:00 | 2 commits to main since this releaseAdmin UI polish and cleanup
This release introduces a major overhaul of the admin UI, bringing significant performance gains and a fully client-side editing experience. This update also includes bug fixes and internal improvements.
✨ Highlights & Performance
- Fully Client-Side Admin UI: You can now add, remove, and edit categories and links instantly without any page reloads. All changes are reflected on the page immediately, creating a seamless management experience.
- Faster In-Place Editing: The admin UI is now much significantly faster, resulting in a much snappier editing experience.
- Optimized Asset Delivery: Assets are now minified and gzipped when running in production mode, resulting in faster load times and reduced bandwidth usage.
- Efficient UI Rendering: UI elements that are not necessary to be duplicated are now automagically teleported to the correct location when needed, reducing the inital HTML payload and improving rendering performance.
🐛 Bug Fixes
- File Uploads: Multiple bugs related to file uploads has been fixed, ensuring that files are uploaded correctly and render correctly in the UI.
- In-Place Editing: A few bugs related to in-place editing have been fixed, including layout shifts and other small bugs.
- Modal Flash: When loading the admin UI on a slow connection, you would see a blank modal animate away, this has been fixed.
Internal Improvements
- Code Organization: The frontend code has been refactored for better maintainability. All admin-related Javascript and CSS have been moved from inline blocks into dedicated files.
- Refactored Templating:
- A new, more flexible
embedFilefunction has replaced the previousinlineCSSfunction, massively simplifying asset embedding. - A dedicated admin UI layout has been created, eliminating FOUC and making the admin UI easier to work with.
- A new, more flexible
- CSS Refactoring: The CSS has been refactored for better maintainability and performance, making the UI easier to make consistent across the admin UI and the main UI.
Downloads
-
V0.3.1 Minor release
StableAll checks were successfulBuild and Push Docker Image to GHCR / build-and-push (push) Successful in 29sreleased this
2025-09-30 20:07:59 -05:00 | 4 commits to main since this releaseMore admin UI improvements and bug fixes
This commit further refines the admin UI, and introduces a very SPA-like
creating process for links and categories. In-place editing has also
been improved, the styling is more correct and better formatted, as well
as having some cleaner code.This PR also fixes a few bugs:
- Image uploads not being URL encoded, so special characters would break
images - If an image has exif, but no orientation tag, the image would be
wrongfully rejected - In-place editing forms were not correctly sized, and title inputs
would not break with line breaks in the titles
This PR also greatly improves performance on the admin UI.
Downloads
- Image uploads not being URL encoded, so special characters would break
-
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