# Voyage v0.10.0 - Trip Maps, Google Maps Integration & Quick Deploy Script

Released 06-10-2025

Hi everyone,

I’m pleased to share **Voyage v0.10.0**, a focused update that brings timezone-aware planning, smoother maps, and simpler deployment. This release refines many of the core features you’ve been using and addresses feedback from the community. Thank you for your contributions, suggestions, and ongoing support!

## 🧭 Time-Aware Travel Planning

**Timezone-Aware Visits & Timeline Logic**

- Exact start/end times with timezones for each visit, so your itinerary matches when and where events actually happen.
- Collections now auto-order by date, giving your timeline a clear, chronological flow.
- Lodging and transportation entries follow the same rules, making multi-city trips easier to visualize.
- A chronologically accurate map and timeline view shows your adventure in the right order.

## 🗺️ Smart Mapping & Location Tools

**Google Maps Integration (Optional)**

- Autocomplete-powered location search (via Google Maps) for faster, more accurate entries.
- Automatic geocoding ties new or updated adventures to the correct country, region, and city.
- Improved map performance and cleaner markers throughout the app.

**Map Interaction Enhancements**

- Open any adventure location in Apple Maps, Google Maps, or OpenStreetMap with one click.
- Full-width maps on mobile devices for better visibility.
- Tidied-up markers and updated category icons for clarity.

## 🎨 UI & UX Refinements

- Updated adventure forms with clearer labels and streamlined inputs.
- Smoother page transitions and consistent layouts on desktop and mobile.
- Design and spacing adjustments for a more balanced, polished appearance.
- Various bug fixes to address layout quirks and improve overall usability.

## 🌍 Localization & Navigation

- Expanded language support and updated locale files.
- Improved back/forward navigation so you don’t lose your place when browsing collections.
- Responsive collection cards that adapt to different screen sizes.
- Fixed minor layout issues related to collections and navigation.

## 📷 Immich Integration Upgrades

- Choose whether to copy Immich images into Voyage storage or reference them via URL to avoid duplicating files.
- Toggle “Copy Images” on or off to manage storage preferences.
- Updated logic to prevent duplicate image uploads when using Immich.

## ⚙️ DevOps & Backend Enhancements

- Switched to `supervisord` in Docker for reliable container startup and centralized logging.
- Restored IPv6 support for dual-stack deployments.
- Upgraded to Node.js v22 for better performance and compatibility.
- Added more tests, improved UTC-aware date validation, and refined ID generation.
- Optimized database migrations for smoother updates.

## 📘 Documentation & Community Resources

- New guide for deploying with Caddy web server, covering TLS setup and reverse proxy configuration.
- Updated instructions for Google Maps integration, including API key setup and troubleshooting.
- Follow our Mastodon profile at [@voyage@mastodon.social](https://mastodon.social/@voyage) for updates and discussion.
- Chat with other users on our [Discord server](https://discord.gg/wRbQ9Egr8C) to share feedback, ask questions, or swap travel tips.

## ✨ NEW: Quick Deploy Script

Based on community feedback, we’ve added a simple deployment script:

1. Run:

   ```bash
   curl -sSL https://get.voyage.app | bash
   ```

2. Provide your domain/ip details when prompted.
   The script handles Docker Compose, and environment configuration automatically.

Self-hosting just got a bit easier—no more manual setup steps.

## ℹ️ Additional Notes

- **Bulk Geocoding**
  To geocode existing adventures in one go docker exec into the backend container and run:

  ```
  python manage.py bulk-adventure-geocode
  ```

  This will link all adventures to their correct country, region, and city.

- **Timezone Migrations**
  If you have older trips without explicit timezones, simply view a trip’s detail page and Voyage will auto-convert the dates.

## 👥 Thanks to Our Contributors

Your pull requests, issue reports, and ongoing feedback have been instrumental. Special thanks to:

- @ClumsyAdmin
- @eidsheim98
- @andreatitolo
- @lesensei
- @theshaun
- @lkiesow
- @larsl-net
- @marcschumacher

Every contribution helps make Voyage more reliable and user-friendly.

## 💖 Support the Project

If you find Voyage helpful, consider sponsoring me! Your support keeps this project going:

📖 [View the Full Changelog on GitHub](https://github.com/Alex-Wiesner/voyage/compare/v0.9.0...v0.10.0)

Thanks for being part of the Voyage community. I appreciate your feedback and look forward to seeing where your next journey takes you!

Happy travels,
**Sean Morley** (@seanmorley15)
Project Lead, Voyage
