Skip to content

Releases: Majorfi/immich-places

v1.0.9

22 Apr 07:32
9007576

Choose a tag to compare

What's Changed

Full Changelog: v1.0.8...v1.0.9

v1.0.8

24 Mar 18:18
9d726b1

Choose a tag to compare

Dawarich Location History Import

  • New backend service (dawarichSyncService.go, databaseDawarich.go): background sync that pulls location history from a Dawarich instance
  • New migration (015_dawarich_tracks.sql): stores imported tracks
  • Sync progress UI (DawarichTab.tsx, useDawarich.ts): polling-based progress display in the GPX import tab
  • Config (config.go, main.go): DAWARICH_URL and DAWARICH_SYNC_INTERVAL_MS env vars
  • Handlers (handlersDawarich.go): sync status/trigger endpoints

Remove Location Feature (fix #36)

  • Right-click "Remove location" in photo grid and map marker context menus
  • Sets (0, 0) to Immich, stores NULL locally

GPX Reset Position

  • "Reset position" context menu item for GPX imported photos whose location was dragged
  • Bulk support with count display

Documentation & Config (fix #40)

  • README updated: geocoding provider chain docs, correct Docker image URLs, missing env vars
  • .env.example updated with DAWARICH_URL, DAWARICH_SYNC_INTERVAL_MS, DEBUG

Refactors

  • Standardized log prefixes across backend
  • Extracted timezone resolution helper in geocoder
  • Simplified GPX marker filtering in useMapViewModel
  • Debug logging gated behind DEBUG env var (noise fix)

Full Changelog: v1.0.7...v1.0.8

v1.0.7

21 Mar 21:36
a6ecbe2

Choose a tag to compare

What's Changed

Google Maps geocoding provider

  • Reverse geocode via Google Geocoding API, extracts structured address components
  • Forward search with index-based PlaceIDs
  • Rate limiter (50ms/req, burst 10), in-memory cache

Chain geocoder replacing fallback geocoder

  • GEOCODE_PROVIDER now accepts comma-separated values (ex: here,google)
  • Nominatim is always first, then providers are tried in order
  • chainGeocoder replaces the old two-provider fallbackGeocoder
  • describeProvider() for accurate startup logging

Provider-specific API keys

  • New env vars: HERE_API_KEY, GOOGLE_API_KEY
  • GEOCODE_API_KEY kept as legacy fallback via resolveKey()

Language parameter on ReverseGeocode

  • ReverseGeocode now accepts lang string (was hardcoded "en")
  • All providers default to "en" when empty
  • Sync service passes "en", HTTP handlers can pass browser language

Rate limit handling improvements

  • Nominatim ForwardSearch now has adaptive 429 handling (was missing)
  • HERE ForwardSearch now returns descriptive 429 errors
  • Shared adaptRateLimiter() method eliminates code duplication
  • All ForwardSearch implementations default lang to "en"

Config/docs

  • Documented chain format, provider-specific keys
  • Added missing IMMICH_EXTERNAL_URL and DAWARICH_URL pass-through

Full Changelog: v1.0.6...v1.0.7

v1.0.6

21 Mar 15:35
7d8e9a3

Choose a tag to compare

What's Changed

Date Range Filtering (fix #32)

  • Backend: date range filtering on asset queries
  • Frontend: calendar picker UI in the filter bar, date range threaded through URL state, context providers, and fetch hooks
  • New dependencies: date picker + styling libraries
  • New UI components: calendar picker, popover

Coordinate Search

  • Parse direct coordinate input (e.g. 48.8566, 2.3522) in the place search bar
  • Utility for coordinate parsing

Dawarich Integration (GPX Import) (fix #31)

  • Backend: Dawarich location import API, match result builder, coordinate tolerance tuning
  • Auth: Dawarich API key storage with encryption, credentials management UI
  • Frontend: Dawarich API client hook, GPX import dialog redesigned with source tabs (file upload vs Dawarich), track
    selection/preview, status filters for imported locations
  • Map: marker click/drag handler extraction, reset position for imported locations
  • Various refactors: keyboard activation patterns, toggle pill extraction, settings panel extraction

Configurable Geocode Provider (PR #35 by @joshii-h, PR #37) (fix #25)

  • Added HERE Maps as a fallback geocoding provider
  • Fixed tests for migration version and syncAlbums signatures
  • Moved all forward geocoding from frontend to Go backend
  • Added /geocode/search endpoint with retry logic
  • Deleted frontend geocoding API route, HERE client, and geocoding constants
  • Improved error handling, rate limiting, and cancellation logic
  • Extracted day count data fetching, updated utils docs, lock file

Infrastructure (fix #34)

  • Consolidated Docker publishing into the release workflow
  • Remove comments, add date URL params
  • Various refactors cleaning up props, imports, types
  • Added library.read to README for External Library
  • Release tag fix

Upcoming:

  • Add google map API as another source
  • Add tooltip to remove location from photo #36

New Contributors

Full Changelog: v1.0.5...v1.0.6

v1.0.5

18 Mar 20:29
47c09c4

Choose a tag to compare

What's Changed

  • Multi-GPX import and drop on map import
  • Option to show all assets at once (up to 10k), removed virtualization (overkill)
  • Better pagination system and management on the photo grid
  • Favorite places system
  • Go to location from photo grid (context menu)
  • Force album refresh on full sync
  • Deduplicate place search results
  • Better error messages

Full Changelog: v1.0.4...v1.0.5

v1.0.4

14 Mar 15:09
12d9585

Choose a tag to compare

What's Changed

Full Changelog: v1.0.3...v1.0.4

v1.0.3

14 Mar 11:36
ffabb21

Choose a tag to compare

What's Changed

Full Changelog: v1.0.2...v1.0.3

v1.0.2

13 Mar 11:02
6cf35a8

Choose a tag to compare

What's Changed

  • Add library.read to README for External Library by @s-martin in #27

Full Changelog: v1.0.1...v1.0.2

v1.0.1

10 Mar 20:37

Choose a tag to compare

Full Changelog: v0.0.12...v1.0.1

v1.0.0

10 Mar 19:48

Choose a tag to compare

Full Changelog: v0.0.10...v1.0.0