Releases: Majorfi/immich-places
Releases · Majorfi/immich-places
v1.0.9
What's Changed
- feat: add icons for progressive webapp on iOS by @frederikemmer in #46
Full Changelog: v1.0.8...v1.0.9
v1.0.8
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.exampleupdated withDAWARICH_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
DEBUGenv var (noise fix)
Full Changelog: v1.0.7...v1.0.8
v1.0.7
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_PROVIDERnow accepts comma-separated values (ex:here,google)- Nominatim is always first, then providers are tried in order
chainGeocoderreplaces the old two-providerfallbackGeocoderdescribeProvider()for accurate startup logging
Provider-specific API keys
- New env vars:
HERE_API_KEY,GOOGLE_API_KEY GEOCODE_API_KEYkept as legacy fallback viaresolveKey()
Language parameter on ReverseGeocode
ReverseGeocodenow 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
ForwardSearchnow has adaptive 429 handling (was missing) - HERE
ForwardSearchnow returns descriptive 429 errors - Shared
adaptRateLimiter()method eliminates code duplication - All
ForwardSearchimplementations default lang to "en"
Config/docs
- Documented chain format, provider-specific keys
- Added missing
IMMICH_EXTERNAL_URLandDAWARICH_URLpass-through
Full Changelog: v1.0.6...v1.0.7
v1.0.6
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
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
v1.0.3
v1.0.2
What's Changed
Full Changelog: v1.0.1...v1.0.2
v1.0.1
Full Changelog: v0.0.12...v1.0.1
v1.0.0
Full Changelog: v0.0.10...v1.0.0