github mauriceboe/TREK v2.7.1

5 hours ago

TREK v2.7.1

✨ New Features

Transport in Day Plan (#37)

  • Flight, train, bus, car, cruise bookings now appear directly in the day plan timeline
  • Compact cards with icons, time, and booking details (airline, flight number, etc.)
  • Click to open detail modal with all reservation data and linked files
  • Persistent positioning — drag places between transport entries
  • Chronological auto-sort for timed places and transports

Public Share Links (#79)

  • Share trips as read-only links — no login required
  • Choose what to share: Map & Plan, Bookings, Packing, Budget, Chat
  • Beautiful shared page with cover image, tabs, language picker
  • Permissions enforced server-side

Email Notifications + ICS Export (#110)

  • SMTP configuration in Admin > Settings (works with any mail server)
  • Notifications for: trip invites, bookings, vacay fusion, photos, chat, packing assignments
  • Per-user notification preferences with addon-aware toggles
  • Webhook support (Discord, Slack, custom)
  • Beautiful HTML email template in user's language (12 languages)
  • ICS calendar export for trips and reservations

Expense Settlement (#41)

  • Click member avatars to mark who paid (green = paid)
  • Settlement dropdown in budget card shows who owes whom
  • Optimized payment flows with net balances

GPX File Import (#98)

  • Upload .gpx files to auto-create places from waypoints
  • Supports <wpt>, <rtept>, <trkpt>, CDATA, any lat/lon order

Google Maps URL Import (#141)

  • Paste any Google Maps URL into the search bar
  • Supports short URLs (goo.gl), full place URLs, embedded coordinates

Bucket List POIs (#105)

  • Add individual places (not just countries) to your bucket list
  • Auto-search for places with coordinates
  • Optional target date with month/year pickers

Live GPS Location (#136)

  • Blue dot on the map showing your live position
  • Toggle button bottom-right, accuracy circle

OIDC Admin Role (#93)

  • OIDC_ADMIN_CLAIM + OIDC_ADMIN_VALUE environment variables
  • Auto-assign/revoke admin role based on OIDC group claims

Blur Booking Codes (#114)

  • New display setting to blur confirmation codes
  • Hover/click to reveal

Packing List Bulk Import (#133)

  • Import modal with paste or CSV/TXT upload
  • Format: Category, Name, Weight, Bag, checked/unchecked
  • Bags auto-created if they don't exist

Admin Audit Log (PR #118)

  • Logs all admin actions, backup events, auth changes
  • Paginated panel in Admin > Audit tab
  • Thanks @fgbona!

Timezone + Backup Schedule (#131)

  • TZ environment variable for Docker timezone
  • Granular backup scheduling (hour, day of week, day of month)
  • Thanks @andreibrebene!

MCP — AI Assistant Integration (PR #125)

  • Built-in Model Context Protocol server at /mcp — connect AI assistants like Claude Desktop, Cursor, or any MCP-compatible client to control TREK via natural language
  • 14 read-only resources: trips, places, budget, packing, reservations, accommodations, collab notes, bucket list, visited countries, and more
  • 34 tools: create/update/delete trips, places, day assignments, reservations, budget items, packing items, notes, atlas entries
  • get_trip_summary loads everything about a trip in one call — perfect as context primer
  • Long-lived API tokens (trek_* prefix) stored as SHA256 hashes, shown once at creation
  • Security: 60 req/min rate limit, max 5 concurrent sessions, 1-hour inactivity timeout, max 10 tokens per user
  • MCP addon disabled by default — admins enable it in Admin Panel → Addons
  • Token management UI in Settings with ready-to-copy client config snippets
  • Admin panel: view and revoke tokens across all users (Admin → MCP Tokens tab)
  • Changes made via MCP broadcast to all connected browser clients in real-time via WebSocket
  • Demo mode blocks all write operations
  • Wiki: MCP Integration
  • Thanks @jubnl!

🌍 Languages

  • 3 new languages: Italian 🇮🇹, Czech 🇨🇿, Hungarian 🇭🇺 — now 12 languages total
  • All 12 language files fully synced (~1238 keys each)
  • Thanks @entropyst72, @Numira-code, @slashwarm!

🐛 Bug Fixes

  • Atlas: use 50m GeoJSON for smaller countries (#115)
  • Cache: auto-invalidate on version update (#121)
  • Immich: paginate beyond 200 photos (#137)
  • Locale: use user's locale instead of hardcoded de-DE (#144)
  • TimezoneWidget: respect 12h/24h setting (#147, #150)
  • OIDC: fix redirect loop in oidc-only mode (#148, PR #149)
  • OIDC: pass invite token through flow (PR #117)
  • ICS export: add DTSTAMP, fix DTEND formatting
  • PDF export: transport bookings with Lucide icons
  • PWA: increase cache size limit (#151)

🔧 Improvements

  • Settings page: two-column masonry layout on desktop
  • Category filter: multi-select dropdown with checkboxes
  • Check-in/out labels: chronological order (checkout before checkin)
  • PlaceAvatar: event-based notification instead of polling (performance)
  • Map photo fetches: concurrency limited to 3
  • CustomSelect: auto-opens upward near screen bottom
  • Panel centering between sidebars (PR #120)
  • Vacay month/weekday: Intl.DateTimeFormat instead of hardcoded arrays (PR #122)
  • Budget currencies: expanded from 14 to 46 (#96)
  • Dockerfile: run as non-root user (PR #118)
  • Timed places auto-sort chronologically when time is added

🏗️ Infrastructure

  • Nodemailer for SMTP email delivery
  • Notification preferences DB table
  • Share tokens DB table with per-field permissions
  • Audit log DB table with index
  • MCP server with Streamable HTTP transport, per-user session management
  • mcp_tokens DB table with SHA256 hash index
  • New addon type: integration (backend-only, no dedicated page)
  • Zustand addon store replaces event-based addon refresh
  • New server routes: /notifications, /share, /maps/resolve-url, /mcp
  • 14 new DB migrations

Full Changelog: v2.7.0...v2.7.1

Don't miss a new TREK release

NewReleases is sending notifications on new releases.