Immich
High performance self-hosted photo and video management solution
Alternative to: google photos, apple photos, amazon photos
v1.130.0
2025-03-25v1.130.0
Highlights
Welcome to release v1.130.0 of Immich. After almost three weeks of brewing, we are happy to bring you the new version, which is packed with features, performance enhancements, and UX improvements to boost the app’s experience; we hope you will like it. Please take a look at some of the highlights below.
- Folder view in the mobile app
- Better person naming interface on the web
- External library scan performance
- Faster performance and lower memory footprint for the timeline on the web
- Remember the text search mode
- Machine learning improvements
- Jump-to-timeline enhancement
Folder view in the mobile app
You can now use the folder view in the mobile app. It can be accessed from the Library page under the quick links section. We hope this helps users with the browsing experience of a large external library.
Better people naming interface
On the web, the naming interface has been redesigned to allow users to quickly add and edit a person’s name without clicking through several buttons and prompts.
External library scan performance
The external library scan code has been rewritten from the ground up. It uses every trick in the book to improve performance, including moving logic to SQL, reducing filesystem calls, and batching asset imports. You can expect a 10x to 100x performance gain when scanning external libraries.
Some numbers:
- An initial library scan with 19k assets: 1m40s down to 9 seconds
- An initial library scan with 500k assets now takes 1m58s.
- An initial library scan with >5M assets now takes 6m50s. This library size was virtually impossible before.
- Idle rescan with 22k assets, i.e., scanning a library that has not changed: 1m22s now down to below 10 seconds
This change also increases the reliability of library scans. Note that this performance gain only relates to the library scan itself — sidecar discovery, metadata extraction, and thumbnail generation still take the same time.
Possible breaking change: If you use creative exclusion patterns for your libraries, please check if these are still respected and report any issues to us.
Web timeline improvements
The timeline has been “virtually” rewritten to be significantly faster while using much less memory. Scrolling, scrubbing, and resizing the window are all snappier than ever. The web experience on a mobile device has also been improved with more responsive scrubbing and smaller thumbnails to fit more assets on the screen.
ROCm and RKNPU acceleration for machine learning
Machine learning can now be configured to use AMD GPUs and Rockchip NPUs, making Smart Search and Face Detection jobs much faster than on the CPU. See the documentation on how to set it up!
Note: the ROCm image is massive at over 30GiB uncompressed, so please make sure you have enough disk space for it.
Remember the text search option.
The search input now remembers and displays the last choice from the three available text search modes: context, file name, and description.
Jump-to-timeline enhancement
We added a button to quickly locate a photo on the timeline from all the detail viewers (not from the main timeline) in the mobile app.
New search models
Smart search can be even smarter now with a series of new models:
ViT-B-16-SigLIP2__webliViT-B-32-SigLIP2-256__webliViT-L-16-SigLIP2-256__webliViT-L-16-SigLIP2-384__webliViT-L-16-SigLIP2-512__webliViT-SO400M-14-SigLIP2__webliViT-SO400M-14-SigLIP2-378__webliViT-SO400M-16-SigLIP2-256__webliViT-SO400M-16-SigLIP2-384__webliViT-SO400M-16-SigLIP2-512__webliViT-gopt-16-SigLIP2-256__webliViT-gopt-16-SigLIP2-384__webli
Not sure which model is right for you? We added tables showcasing each model’s estimated memory usage, speed, and quality by language so you can make a more informed decision, along with more detailed steps on how to use them. Check it out here!
Support Immich
If you find the project helpful, you can support Immich by purchasing a product key at https://buy.immich.app or purchase our merchandise at https://immich.store
What’s Changed
🚀 Features
- feat(mobile): Folder View for mobile by @arnolicious in https://github.com/immich-app/immich/pull/15047
- feat(mobile): locate in timeline by @YarosMallorca in https://github.com/immich-app/immich/pull/16722
- feat(ml): ML on Rockchip NPUs by @yoni13 in https://github.com/immich-app/immich/pull/15241
- feat(ml): rocm by @mertalev in https://github.com/immich-app/immich/pull/16613
- feat: timeline performance by @midzelis in https://github.com/immich-app/immich/pull/16446
- feat(web): make asset grid row height responsive by @midzelis in https://github.com/immich-app/immich/pull/16970
- feat: mobile-web improvements - scrubber by @midzelis in https://github.com/immich-app/immich/pull/16856
- feat(web): support long-press selection on mobile web by @midzelis in https://github.com/immich-app/immich/pull/16906
🌟 Enhancements
- feat(mobile): Navigate back on memories by @YarosMallorca in https://github.com/immich-app/immich/pull/16545
- feat: enable PMTiles protocol support by @savely-krasovsky in https://github.com/immich-app/immich/pull/16629
- feat(web): allow horizontal scrolling in memory lane by @lukashass in https://github.com/immich-app/immich/pull/16647
- refactor(server): group async calls in metadata extraction by @mertalev in https://github.com/immich-app/immich/pull/16450
- feat(server): library refresh go brrr by @etnoy in https://github.com/immich-app/immich/pull/14456
- feat(server): normalize extensions in storage template by @mmomjian in https://github.com/immich-app/immich/pull/16667
- refactor: stream asset ids for library queue jobs by @jrasm91 in https://github.com/immich-app/immich/pull/16666
- refactor(server): use constant for external library batch size by @etnoy in https://github.com/immich-app/immich/pull/16685
- feat(mobile): search on people page by @YarosMallorca in https://github.com/immich-app/immich/pull/16696
- feat: log before running migrations by @bo0tzz in https://github.com/immich-app/immich/pull/16703
- feat(mobile): person age on photo properties by @YarosMallorca in https://github.com/immich-app/immich/pull/16728
- feat(server): read Android and Sony video camera make/model by @Snowknight26 in https://github.com/immich-app/immich/pull/16678
- feat(web): remember search context by @AdamT20054 in https://github.com/immich-app/immich/pull/16614
- feat(web): show birthdate on person page by @YarosMallorca in https://github.com/immich-app/immich/pull/16772
- feat(web): Show full date when hovering over photos date groups by @Snowknight26 in https://github.com/immich-app/immich/pull/16561
- feat(web): exposed a job to manually trigger database backup procedures by @l0ll098 in https://github.com/immich-app/immich/pull/16622
- feat(web): better person naming interface by @alextran1502 in https://github.com/immich-app/immich/pull/16631
- feat(web): Add keyboard shortcut selection on grid by @knechtandreas in https://github.com/immich-app/immich/pull/16713
- feat: better library rename UX by @jrasm91 in https://github.com/immich-app/immich/pull/16837
- fix(mobile): change share icons for consistency by @YarosMallorca in https://github.com/immich-app/immich/pull/16904
- feat(server): version command for immich-admin #9611 by @abhinav96 in https://github.com/immich-app/immich/pull/16924
- fix(mobile): Make icons consistent (all outlined) by @ferraridamiano in https://github.com/immich-app/immich/pull/17028
🐛 Bug fixes
- fix(web): hide scroll right button when scrolled to the right in memory lane by @lukashass in https://github.com/immich-app/immich/pull/16656
- fix(mobile): remain on albums tab after album deletion by @YarosMallorca in https://github.com/immich-app/immich/pull/16698
- fix(mobile): fix notification icon not displaying properly by @YarosMallorca in https://github.com/immich-app/immich/pull/16710
- fix(web): Update people-card favorite position by @viki53 in https://github.com/immich-app/immich/pull/16746
- fix(server): adjust type of person.birthDate by @ngc7293 in https://github.com/immich-app/immich/pull/16628
- fix(server): set the dev server restart policy of the dev server container to match the other containers by @NicholasFlamy in https://github.com/immich-app/immich/pull/16753
- fix(server): set unit test timezone to UTC by @etnoy in https://github.com/immich-app/immich/pull/16805
- fix(docs): logo not loading dark theme variant in production by @NicholasFlamy in https://github.com/immich-app/immich/pull/16820
- fix(web): update search results when searching from info panel by @Snowknight26 in https://github.com/immich-app/immich/pull/16729
- fix(web): fixed formatting of video length by @YarosMallorca in https://github.com/immich-app/immich/pull/16829
- fix: immich ui toggles and switches by @jrasm91 in https://github.com/immich-app/immich/pull/16834
- fix(mobile): back gesture in asset selection page from an album by @ExceptionsOccur in https://github.com/immich-app/immich/pull/16449
- fix(web): asset selection on memories page is broken by @knechtandreas in https://github.com/immich-app/immich/pull/16759
- fix(server): set pixel format when scaling and not tonemapping by @mertalev in https://github.com/immich-app/immich/pull/16932
- fix(server): /api/stacks does not handles primaryAssetId query param by @dimatakoy in https://github.com/immich-app/immich/pull/16868
- fix(web): date alignment on timeline by @YarosMallorca in https://github.com/immich-app/immich/pull/16961
- fix(web): reset selection state when adding assets to a album by @dimatakoy in https://github.com/immich-app/immich/pull/16880
- fix(web): removed merge person with itself by @YarosMallorca in https://github.com/immich-app/immich/pull/16987
- fix(web): fix View in Timeline not working for stacked assets by @Snowknight26 in https://github.com/immich-app/immich/pull/16993
- fix(web): clicking away closes context menu by @ben-basten in https://github.com/immich-app/immich/pull/16989
- fix(mobile):
selectedIconnot set when the device is landscape by @ferraridamiano in https://github.com/immich-app/immich/pull/17027 - fix(mobile): show new local assets in offline mode by @alextran1502 in https://github.com/immich-app/immich/pull/16817
- fix(web): not autoplay after moving playhead on paused video by @YarosMallorca in https://github.com/immich-app/immich/pull/17038
- fix(web): fix escape key not closing video player after seeking by @Snowknight26 in https://github.com/immich-app/immich/pull/16860
📚 Documentation
- docs: fix typos by @nick322 in https://github.com/immich-app/immich/pull/16636
- docs: reading existing face tag metadata is supported currently by @skatsubo in https://github.com/immich-app/immich/pull/16662
- fix(docs): remove /api from README by @mmomjian in https://github.com/immich-app/immich/pull/16692
- fix(docs): edge case when restoring dump that is unreadable as current user by @mmomjian in https://github.com/immich-app/immich/pull/16758
- docs: update unraid installation steps by @jensenhuangyankai in https://github.com/immich-app/immich/pull/16766
- docs: model benchmarks by @mertalev in https://github.com/immich-app/immich/pull/17036
🌐 Translations
- chore(web): update translations by @weblate in https://github.com/immich-app/immich/pull/16252
- chore: change k which stood for 1000 to more understandable notation of kbit/s by @sarunas-zilinskas in https://github.com/immich-app/immich/pull/16734
New Contributors
- @savely-krasovsky made their first contribution in https://github.com/immich-app/immich/pull/16629
- @nick322 made their first contribution in https://github.com/immich-app/immich/pull/16636
- @rrrockey made their first contribution in https://github.com/immich-app/immich/pull/16630
- @skatsubo made their first contribution in https://github.com/immich-app/immich/pull/16662
- @viki53 made their first contribution in https://github.com/immich-app/immich/pull/16746
- @jensenhuangyankai made their first contribution in https://github.com/immich-app/immich/pull/16766
- @sarunas-zilinskas made their first contribution in https://github.com/immich-app/immich/pull/16734
- @l0ll098 made their first contribution in https://github.com/immich-app/immich/pull/16622
- @abhinav96 made their first contribution in https://github.com/immich-app/immich/pull/16924
- @viharm made their first contribution in https://github.com/immich-app/immich/pull/16877
- @dimatakoy made their first contribution in https://github.com/immich-app/immich/pull/16868
- @luigi311 made their first contribution in https://github.com/immich-app/immich/pull/17059
Full Changelog: https://github.com/immich-app/immich/compare/v1.129.0…v1.130.0