Immich
High performance self-hosted photo and video management solution
Alternative to: google photos, apple photos, amazon photos
v1.137.0
2025-07-31v1.137.0
- knock, knock
- Who’s there?
- Breaking
- Breaking who?
- Breaking changes woohoo, with a stable-release-is-around-the-corner and coming to a server near you (soon™)
[!CAUTION]
Breaking Changes
If your current, running version of Immich is
v1.132.0or newer, there is NO ACTION required. If you are updating from version belowv1.132.0continue reading.Remove TypeORM (#20366)
This update requires applications to have started up at least once on
1.132.0+. See https://immich.app/errors#typeorm-upgrade for more details.
Highlights
Welcome to the release v1.137.0 of Immich. This version adds many bug fixes for the beta timeline, more feature parity with the old timeline, alongside some nifty enhancements to the web and the server as well. As always, new translations have been merged in, and the documentation has been updated at https://immich.app. Now, let’s dive in!
- The default
docker-compose.ymltemplate has changed - Beta timeline
- Shared link custom URL
- Find large files utility
- API key permission improvements
docker-compose.yml template change (optional)
The default compose file now uses /data instead of /usr/src/app/upload. This is a completely optional change and NOT a breaking change. Prior versions of Immich will continue to work without any user intervention. For more information, see #20367.
Prior to this change, uploaded media was located at /usr/src/app/upload/upload in the container (notice the double “upload” folders), which often led to confusion. It will now be located at /data/upload, and we hope that makes things easier.
Beta timeline
Thank you to everyone who tried out the beta timeline in the last release! We have gathered a lot of great feedback, and are actively working on incorporating it. We’ve fixed a bunch of bugs and added back a bunch of previous features. Here’s a quick list/overview of beta timeline changes this release:
-
Fix the invalid timeline grouping issue
-
Fix the trash action translation keys
-
Fix the beta timeline switch missing in landscape mode
-
Fix a timeline migration bug on Android
-
Fix the text overflow issue on the action buttons
-
Fix deep links when the beta timeline is enabled
-
Fix search places not working correctly
-
Fix missing hero animation between tabs
-
Fix the backup remainder backup count issue
-
Fix the share to app upload
-
Fix the error navigating back from the backup page
-
Fix the backup indicator
-
Fix the back gesture in multi-select mode
-
Fix user profile images
-
Fix the issue downloading live photo
-
Fix the issue with sync for users with external libraries
-
Fix the issue with storage filling up for users with iCloud photos
… and more
Shared link custom URL (#19999)
Immich shared links by default are long and hard to guess. This is by design and is a security mechanism to prevent unwanted access. However, the long links can be a bit awkward to use because they are difficult to read. For cases where security is less important, we have added the option to specify a custom URL.
Shared links with a custom URL are now also available at /s/<slug> (in addition to /share/<long-random-string>. Naturally, these links don’t share the same security benefits of the long-random-string ones, so please use them accordingly.
Find large files utility (web-only)
This release adds a new, convenient utility to find large files on your instance. You can access it by navigating to the “Utility” page on the web, and clicking “Review large files”. The page shows the largest 250 original files for your user.
Improved API key permissions and documentation
Following up from the last release, we have added fine-grained permissions to more API endpoints, which are now also included in the auto-generated documentation, which can be read here.
[!CAUTION]
Related to these changes, a few API permissions have been renamed. See #20250 for more details.
On the web, the New API Key form now includes the newly added permissions, as well as a search bar for quicker access.
What’s Changed
🚨 Breaking Changes
- feat!: more permissions by @jrasm91 in https://github.com/immich-app/immich/pull/20250
- feat!: remove typeorm by @jrasm91 in https://github.com/immich-app/immich/pull/20366
🚀 Features
- feat: automatically detect media location changes by @jrasm91 in https://github.com/immich-app/immich/pull/20256
- feat: find large files utility by @niwla23 in https://github.com/immich-app/immich/pull/18040
- feat: change default media location to /data by @jrasm91 in https://github.com/immich-app/immich/pull/20367
- feat: better endpoint descriptions by @jrasm91 in https://github.com/immich-app/immich/pull/20439
🌟 Enhancements
- feat: don’t wait for network on app startup by @zackpollard in https://github.com/immich-app/immich/pull/20232
- feat: add to album on new beta timeline by @bwees in https://github.com/immich-app/immich/pull/20119
- feat(web): api key permission search by @jrasm91 in https://github.com/immich-app/immich/pull/20248
- chore: delete action button by @alextran1502 in https://github.com/immich-app/immich/pull/20261
- feat: scroll to top & view in timeline by @alextran1502 in https://github.com/immich-app/immich/pull/20274
- feat(web): auto fit bounds for map modal. by @dagstuan in https://github.com/immich-app/immich/pull/20345
- feat: shared links custom URL by @Jed-Giblin in https://github.com/immich-app/immich/pull/19999
- feat: support config via systemd credentials by @amarshall in https://github.com/immich-app/immich/pull/20406
- feat: 3-2-1 backup onboarding card by @bwees in https://github.com/immich-app/immich/pull/20374
- feat: people page/sheet/detail by @alextran1502 in https://github.com/immich-app/immich/pull/20309
- fix(web): Search chip key value heights don’t match by @xCJPECKOVERx in https://github.com/immich-app/immich/pull/20312
- feat: network requirement option for upload by @alextran1502 in https://github.com/immich-app/immich/pull/20302
- feat: drift edit time and date action by @bwees in https://github.com/immich-app/immich/pull/20377
- feat: drift description editor by @bwees in https://github.com/immich-app/immich/pull/20383
🐛 Bug fixes
- fix: override SSL options inside isolates by @shenlong-tanwen in https://github.com/immich-app/immich/pull/20142
- fix: fallback auto grouping to day grouping by @shenlong-tanwen in https://github.com/immich-app/immich/pull/20156
- fix: update trash action i18n keys by @shenlong-tanwen in https://github.com/immich-app/immich/pull/20164
- chore: remove build flavor Android by @alextran1502 in https://github.com/immich-app/immich/pull/20161
- fix: send correct includeArchived parameter to API when showing markers in map by @pelluch in https://github.com/immich-app/immich/pull/20117
- fix(web): multi-select in ascending asset order by @wuzihao051119 in https://github.com/immich-app/immich/pull/19461
- fix(mobile): hide video thumbnail when video is ready by @johnstef99 in https://github.com/immich-app/immich/pull/19328
- fix: geodata_places pkey migration failing for certain upgrade paths by @zackpollard in https://github.com/immich-app/immich/pull/20177
- fix: add beta toggle in landscape mode by @shenlong-tanwen in https://github.com/immich-app/immich/pull/20187
- fix: add missing
awaits when changing client certificate by @jfly in https://github.com/immich-app/immich/pull/20189 - fix: android backup album migration without recents by @zackpollard in https://github.com/immich-app/immich/pull/20220
- fix: optional number inputs by @danieldietzler in https://github.com/immich-app/immich/pull/20218
- fix: character width calculation by @alextran1502 in https://github.com/immich-app/immich/pull/20201
- fix: word wrapping on action buttons by @bwees in https://github.com/immich-app/immich/pull/20231
- fix: lookup the primary key constraint name before dropping it by @zackpollard in https://github.com/immich-app/immich/pull/20221
- fix(mobile): deep links when using the beta timeline by @bwees in https://github.com/immich-app/immich/pull/20111
- fix(mobile): beta search page improvements by @bwees in https://github.com/immich-app/immich/pull/20247
- fix(mobile): places search not working in beta version by @YarosMallorca in https://github.com/immich-app/immich/pull/20284
- fix: no hero animation after tab change by @shenlong-tanwen in https://github.com/immich-app/immich/pull/20285
- fix: remainder backup count by @alextran1502 in https://github.com/immich-app/immich/pull/20270
- fix: share to app upload by @alextran1502 in https://github.com/immich-app/immich/pull/20271
- fix: error on navigating back from backup selection page by @shenlong-tanwen in https://github.com/immich-app/immich/pull/20299
- fix(web): Album picker recent albums don’t match sidebar by @xCJPECKOVERx in https://github.com/immich-app/immich/pull/20313
- fix: change translation key for archive action button by @shenlong-tanwen in https://github.com/immich-app/immich/pull/20336
- fix: backup indicator in beta app bar by @shenlong-tanwen in https://github.com/immich-app/immich/pull/20354
- fix: handle back gesture in multi selection mode by @shenlong-tanwen in https://github.com/immich-app/immich/pull/20356
- fix: handle cleanup of new backups alongside old backups by @zackpollard in https://github.com/immich-app/immich/pull/20402
- fix: android widget periodic updates by @bwees in https://github.com/immich-app/immich/pull/20389
- fix: show missing local assets only in timeline with partner sharing by @shenlong-tanwen in https://github.com/immich-app/immich/pull/20298
- fix: sync is_favorite from native by @shenlong-tanwen in https://github.com/immich-app/immich/pull/20412
- fix(web): timeline date group width by @ben-basten in https://github.com/immich-app/immich/pull/19964
- fix: exclude assets from excluded albumbs on main timeline by @shenlong-tanwen in https://github.com/immich-app/immich/pull/20425
- fix: user profile images not working in beta timeline by @bwees in https://github.com/immich-app/immich/pull/20203
- fix(web): timeline time bucket issue by @jrasm91 in https://github.com/immich-app/immich/pull/20438
- fix: json encoding failure during live photo download by @shenlong-tanwen in https://github.com/immich-app/immich/pull/20444
- fix(mobile): add partial index based on library ID to remote assets by @shenlong-tanwen in https://github.com/immich-app/immich/pull/20214
- fix: clear local file cache before upload by @shenlong-tanwen in https://github.com/immich-app/immich/pull/20448
- fix(download): handle completed downloads and refresh albums by @PeterOmbodi in https://github.com/immich-app/immich/pull/20241
- fix: incorrect next/previous action after folder view refresh by @jrasm91 in https://github.com/immich-app/immich/pull/20447
- fix: modal race conditions by @danieldietzler in https://github.com/immich-app/immich/pull/20460
📚 Documentation
- docs: more make commands and add mobile checks to pr-checklist by @shenlong-tanwen in https://github.com/immich-app/immich/pull/20211
- chore: add missing ‘make pigeon’ instruction by @jfly in https://github.com/immich-app/immich/pull/20202
- fix(docs): update SQL queries with schema changes by @mmomjian in https://github.com/immich-app/immich/pull/20297
- feat(docs): reorganize DB queries, add tags by @mmomjian in https://github.com/immich-app/immich/pull/20303
- docs: add immich_ml_balancer to community projects by @apetersson in https://github.com/immich-app/immich/pull/20399
- docs: Add config example for Authelia by @Starbix in https://github.com/immich-app/immich/pull/20223
🌐 Translations
- fix(mobile): distinguish backup settings title from ‘backup_controller_page_backup’ translation entry by @zigarn in https://github.com/immich-app/immich/pull/20237
- fix(mobile): remove unused translation and pluralize existing one for map photos count by @zigarn in https://github.com/immich-app/immich/pull/20282
- chore(web): update translations by @weblate in https://github.com/immich-app/immich/pull/20105
New Contributors
- @pelluch made their first contribution in https://github.com/immich-app/immich/pull/20117
- @jfly made their first contribution in https://github.com/immich-app/immich/pull/20189
- @zigarn made their first contribution in https://github.com/immich-app/immich/pull/20237
- @beposec made their first contribution in https://github.com/immich-app/immich/pull/20283
- @Jed-Giblin made their first contribution in https://github.com/immich-app/immich/pull/19999
- @niwla23 made their first contribution in https://github.com/immich-app/immich/pull/18040
- @apetersson made their first contribution in https://github.com/immich-app/immich/pull/20399
- @amarshall made their first contribution in https://github.com/immich-app/immich/pull/20406
- @Starbix made their first contribution in https://github.com/immich-app/immich/pull/20223
- @PeterOmbodi made their first contribution in https://github.com/immich-app/immich/pull/20241
Full Changelog: https://github.com/immich-app/immich/compare/v1.136.0…v1.137.0