# Changelog

## [2.8.0] - 2026-07-28

### Added

- Introduced face grouping with optional on-device machine learning.
- Added duplicate detection for visually similar photos and videos.
- Added map-based browsing using embedded GPS metadata.
- Added WebP and AVIF support for uploads, previews, and thumbnails.
- Added an administrator dashboard for monitoring storage, background jobs, and indexing status.

### Fixed

- Fixed incorrect photo orientation when importing images from some Android devices.
- Fixed stalled video transcoding jobs after a worker restart.
- Fixed shared album links returning an error when opened without an active session.
- Fixed excessive memory usage while scanning large libraries.
- Fixed timestamps being shifted during imports from cameras without timezone metadata.

### Changed

- Improved thumbnail generation performance for large RAW files.
- Updated the mobile gallery layout to preserve scroll position when opening a photo.
- Changed background indexing to prioritize newly uploaded media.
- Reduced database load when browsing albums with more than 10,000 items.

## [2.7.2] - 2026-07-10

### Added

- Added an option to exclude selected folders from automatic library scans.
- Added keyboard shortcuts for rotating, favoriting, archiving, and deleting media.
- Added support for configuring separate storage paths for originals and generated files.

### Fixed

- Fixed uploads failing when filenames contained emoji or combining Unicode characters.
- Fixed Live Photos occasionally importing as unrelated image and video files.
- Fixed album covers not refreshing after the selected asset was deleted.
- Fixed HEIC thumbnails appearing blank on systems without hardware acceleration.
- Fixed logout redirects when the application was hosted under a URL subpath.

### Changed

- Improved retry behavior for interrupted multipart uploads.
- Updated Docker health checks to report degraded background workers.
- Changed deleted items to remain in the trash for 30 days by default.
- Improved error messages for invalid reverse-proxy and trusted-host configurations.

## [2.7.0] - 2026-06-18

### Added

- Added resumable browser uploads for large photo and video collections.
- Added password-protected public album links with optional expiration dates.
- Added automatic metadata extraction for camera model, lens, aperture, shutter speed, and ISO.
- Added PostgreSQL connection pooling for high-traffic installations.
- Added configurable retention rules for trash and orphaned generated files.

### Fixed

- Fixed missing thumbnails after moving the media directory to a new volume.
- Fixed search results omitting photos whose captions contained accented characters.
- Fixed video playback failures behind reverse proxies that did not support byte-range caching.
- Fixed concurrent imports creating duplicate database records.
- Fixed an issue where read-only users could modify album descriptions through the API.

### Changed

- Reworked the import pipeline to validate files before copying them into managed storage.
- Improved search ranking for filenames, captions, locations, and camera metadata.
- Changed scheduled library scans to run incrementally instead of rebuilding the full index.
- Updated the minimum supported PostgreSQL version to 14.
- Deprecated legacy environment variables for thumbnail quality in favor of the unified media-processing configuration.