• v0.3.4 3ffd439f88

    V0.3.4: Minor Release
    All checks were successful
    Build and Push Docker Image to GHCR / build-and-push (push) Successful in 1h19m23s
    Stable

    zoeissleeping released this 2025-12-04 22:57:35 -06:00 | 0 commits to main since this release

    Many 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 7620577fa0

    V0.3.3: Minor Release
    Some checks failed
    Build and Push Docker Image to GHCR / build-and-push (push) Has been cancelled
    Stable

    zoeissleeping released this 2025-10-05 16:21:16 -05:00 | 1 commits to main since this release

    Even 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 f6ffc90ec2

    V0.3.2 Minor Release
    Some checks failed
    Build and Push Docker Image to GHCR / build-and-push (push) Failing after 21m16s
    Stable

    zoeissleeping released this 2025-10-02 00:23:21 -05:00 | 2 commits to main since this release

    Admin 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 embedFile function has replaced the previous inlineCSS function, massively simplifying asset embedding.
      • A dedicated admin UI layout has been created, eliminating FOUC and making the admin UI easier to work with.
    • 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 01a147d2d3

    V0.3.1 Minor release
    All checks were successful
    Build and Push Docker Image to GHCR / build-and-push (push) Successful in 29s
    Stable

    zoeissleeping released this 2025-09-30 20:07:59 -05:00 | 4 commits to main since this release

    More 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
  • v0.3.0 462ed6491c

    V0.3.0 Major Release
    All checks were successful
    Build and Push Docker Image to GHCR / build-and-push (push) Successful in 29s
    Stable

    zoeissleeping released this 2025-09-30 01:31:29 -05:00 | 5 commits to main since this release

    Passport 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 oklch colors, 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 currentColor instances automatically replaced to align with Passport's color scheme, ensuring visual harmony.
    • Refined Configuration:
      • Introduced PASSPORT_WEATHER_API_KEY and PASSPORT_UPTIME_API_KEY as primary flags to enable/disable integrations and provide API keys.
      • Consolidated integration-specific environment variables (e.g., OPENWEATHER_API_KEY is now WEATHER_API_KEY).
    • 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-motion queries 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.go is now go run src/main.go, and go generate is now go generate ./src/. Build scripts (zqdgr.config.json) have been updated accordingly.
    • SCSS for Styling: styles/main.css has been replaced with src/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_KEY to enable the weather integration.
      • Renamed OPENWEATHER_PROVIDER to WEATHER_PROVIDER.
      • Renamed OPENWEATHER_API_KEY to PASSPORT_WEATHER_API_KEY.
      • Renamed OPENWEATHER_TEMP_UNITS to WEATHER_TEMP_UNITS.
      • Renamed OPENWEATHER_LAT to WEATHER_LAT.
      • Renamed OPENWEATHER_LON to WEATHER_LON.
      • Renamed OPENWEATHER_UPDATE_INTERVAL to WEATHER_UPDATE_INTERVAL.
    • Uptime:
      • Removed PASSPORT_ENABLE_UPTIME.
      • Provide an API key via PASSPORT_UPTIME_API_KEY to enable the uptime integration.
      • Renamed UPTIMEROBOT_API_KEY to UPTIME_API_KEY.
      • Renamed UPTIMEROBOT_UPDATE_INTERVAL to UPTIME_UPDATE_INTERVAL.

    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/imaging and github.com/rwcarlsen/goexif for advanced image processing.
    • github.com/nfnt/resize has been removed.

    We hope you enjoy this release! Please report any issues or feedback on our GitHub repository.

    Downloads