github mauriceboe/TREK v2.9.0

latest releases: v2.9.8, v2.9.7, v2.9.6...
7 hours ago
Release 2 9 0

What's New

To-Do Lists

A new To-Do tab has been added to every trip. Organize your pre-trip checklist in a clean 3-column layout — perfect for tracking what to book, pack, or confirm before you leave.

Synology Photos Integration

TREK now supports Synology Photos as a second photo provider alongside Immich. The memories backend has been fully generalized to support multiple photo providers — making it easier to add more in the future. Thanks @tiquis0290!

Multi-Day Reservation Spanning

Reservations (flights, rental cars, hotel stays, events) can now span multiple days. Set a check-in and check-out date and the reservation will appear correctly across the relevant days in your trip plan. Thanks @lucaam!

Unified Notification System

A new multi-channel notification system lets TREK send alerts through multiple destinations at once (email, webhooks, etc.). Saved webhook URLs are now masked in the UI for security. Thanks @jubnl!

Redesigned Settings Page

The settings page has been completely rebuilt with a tabbed admin-style layout, making it easier to navigate between profile, integrations, notifications, and app preferences. Also includes new community link cards (Ko-fi, Buy Me a Coffee, Discord), bug report / feature request / wiki links, and an About section with version badge.

Atlas: Sub-National Region Support

The Atlas world map now supports zooming into sub-national regions (states, provinces, counties). You can mark individual regions as visited, with cascade behavior rolling up to the country level.

Reservations × Budget Sync

Adding a price to a reservation now automatically creates a matching budget entry, and the two stay in sync bidirectionally. Editing the price in either place updates the other. Budget entries linked to reservations have their name locked to stay consistent.

Packing List Upgrades

Packing items now support quantities. Bags can be renamed, assigned to multiple trip members (with avatar display), and existing packing lists can be saved as reusable templates.

Configurable Day Count for Dateless Trips

Trips without fixed dates can now have a configurable day count instead of always defaulting to 7 days. The day count input appears in the trip form when no dates are set.

Gallery Navigation in Lightboxes

Image lightboxes in the Files and Memories tabs now include previous/next navigation, making it easy to browse through photos without closing and reopening the viewer.

Accommodation in PDF Export

Trip PDF exports now include accommodation details. Icons have been updated from emoji to Lucide icons for consistency. Thanks @micro92!

Traditional Chinese (zh-TW) Language Support

TREK now ships with a Traditional Chinese translation. Thanks @jerryhuangyu!

TREK Logo Loading Animation

The trip loading screen now uses the animated TREK logo instead of a plane icon, with dark/light mode support.


Improvements

  • Admin tabs renamed: Configuration → Personalization, Notification Channels + Admin Notifications merged into single Notifications tab, Audit Log → Audit (all 13 languages) (@mauriceboe)
  • MCP: Replaced direct database access with service layer calls for consistency and maintainability (@jubnl)
  • Server: Migrated from node-fetch to Node's native fetch + undici, fixing photo integration edge cases (@jubnl)
  • GPX: Replaced fragile regex parsing with fast-xml-parser; GPX tracks are now imported alongside waypoints (@jubnl)
  • i18n: Translated missing keys across all 12 language files and normalized CRLF line endings (@jubnl)
  • iCal: Fixed DTSTART/DTEND datetime padding for valid iCal export — closes #432 (@mauriceboe)
  • Helm: Added config/secret checksum annotations to deployment for automatic pod restarts on config change (@darioackermann)
  • README: Added Discord community badge (@mauriceboe)

Bug Fixes

Memories / Photos

  • Fixed responsive photo lightbox on mobile (#401) (@mauriceboe)
  • Fixed deprecated Immich API routes introduced by the Synology merge (@mauriceboe)
  • Fixed album photo deletion on Immich unlink (@jubnl)
  • Fixed Immich shared-photo access check to verify across all trips (@jubnl)
  • Fixed Synology album sync, album deletion, and asset route regressions (@tiquis0290)

Collab Notes

  • Fixed all attachments not showing in expanded note view (#402) (@mauriceboe)
  • Fixed stale auth URL persisting when switching photos (#403) (@jubnl)
  • Fixed thumbnails not using authenticated image component in the edit modal (#404) (@jubnl)

Reservations & Day Plan

  • Fixed check-in/check-out times not being passed through MCP hotel accommodation tools (@jubnl)
  • Fixed reservation times not respecting the user's time format setting (@mauriceboe)
  • Fixed budget category dropdown and localized auto-category selection (@mauriceboe)
  • Fixed drag-and-drop behaviour for items positioned around transport bookings (@mauriceboe)

MFA & Auth

  • Fixed MFA QR code generation to produce SVG instead of a PNG (#433) (@jubnl)
  • Reverted OIDC default scope to openid email profile after regression (@mauriceboe)

MCP

  • Fixed search_place being routed directly instead of going through mapsService, breaking Google Maps support (@jubnl)

Files

  • Fixed avatar URLs missing the /uploads/avatars/ prefix in the Documents tab (@jubnl)

Security

  • Hardened Google Maps URL resolver against SSRF attacks (@mauriceboe)
  • Hardened notification system based on security audit findings (@jubnl)
  • Fixed SSRF protection for Node 20+ Happy Eyeballs DNS lookup signature change (@jubnl)

Other

  • Fixed day content being lost when setting dates on a previously dateless trip (@mauriceboe)
  • Fixed accommodation PDF rendering artefacts (@mauriceboe)
  • Fixed packing list CSV import to support quoted values and show line numbers on error (@mauriceboe)
  • Fixed map centering above the day detail panel; fixed lightbox close button overlap (@mauriceboe)
  • Fixed CSP to allow OSRM routing API (router.project-osrm.org) (@jubnl)
  • Fixed stale NOMAD references in the admin panel (@jubnl)
  • Fixed French translation apostrophe escaping (@mauriceboe)

Contributors

Thank you to everyone who contributed to this release:

Don't miss a new TREK release

NewReleases is sending notifications on new releases.