ImageGenius Changes:
support GPU acceleration with CUDA for machine-learning
immich Changes:
v1.107.0
Highlights
Welcome to version v1.107.0
of Immich. This release includes many bug fixes, new translations from many new languages, and enhancements to the recent new features in the last release, as well as a change in the default timeline display on the mobile app. Check out some of the highlights below:
- Enhancement to deduplication UI - bulk resolve duplicates, view duplicates in fullscreen.
- Display all local assets on the mobile timeline by default.
- Custom request headers for the mobile app.
- Facial recognition now recognizes more faces.
Deduplication UI Enhancement
Thank you all for your feedback! The deduplication UI now has two bulk actions that apply to all duplicate groups: deduplicating assets automatically and keeping all duplicates. This makes managing thousands of duplication groups much more efficient.
Additionally, you can now view the duplicates in fullscreen mode, making it easier to decide which asset to keep. We also added the status for favorite photos to the card as well.
Display all local assets on the mobile app timeline
Starting from this release, all local assets will be displayed on the main timeline. This is the first step in refactoring the upload mechanism, simplifying the logic, and introducing similar behaviors to a default gallery app on your phone.
With this change, you can now view, manage, and select a certain group of photos you want to upload to Immich directly from the timeline without the need to select them first on the backup page. The album selection for backup can be used for mass backup selection like before.
Custom request headers for the mobile app
Thanks to @matejkramny, you can now add custom headers to all the requests from the mobile app. This mechanism will help many users who use Cloudflare's Zero Trust Service
You can access this setting from the app Settings > Advanced > Custom proxy headers
Facial recognition enhancement
Due to a change in how recognition data is indexed, facial recognition is now more likely to recognize a face as a particular person. This means more assets will have complete facial recognition and the initial clustering will produce fewer duplicate people. Facial recognition is also faster as part of this change.
Clicking the Missing button for Facial Recognition from the job panel will make this change apply to existing assets. (This is also run periodically, so it will soon take effect even without explicitly running facial recognition.)
What's Changed
🗄️ Server
- fix(server): oauth linking error message by @jrasm91 in immich-app/immich#10287
- fix(server): headers already send by @jrasm91 in immich-app/immich#10289
- fix(deps): update typescript-projects by @renovate in immich-app/immich#10105
- feat: user preferences for archive download size by @danieldietzler in immich-app/immich#10296
- fix(deps): update dependency exiftool-vendored to v26.2.0 by @renovate in immich-app/immich#10102
- refactor(server): partner ids by @jrasm91 in immich-app/immich#10321
- fix(server): include trashed assets in forced thumbnail generation by @michelheusschen in immich-app/immich#10389
- fix(server): orientation handling for person thumbnails by @mertalev in immich-app/immich#10382
- feat(server): separate face search relation by @mertalev in immich-app/immich#10371
- fix(server): include archived assets in forced thumbnail generation by @michelheusschen in immich-app/immich#10409
- chore(server): update exiftool and migrate off deprecated method signatures by @stephen304 in immich-app/immich#10367
- fix(server): consider all I-frames for video thumbnails by @mertalev in immich-app/immich#10471
- fix(server): let thumbnail generation fail on error by @mertalev in immich-app/immich#10479
- fix(server): video thumbnail generation failing with single i-frame by @mertalev in immich-app/immich#10477
- chore(deps): bump braces from 3.0.2 to 3.0.3 in /server by @dependabot in immich-app/immich#10487
- chore(deps): update base-image to v20240618 (major) by @renovate in immich-app/immich#10457
- fix(server): library refresh not checking trashed assets by @mertalev in immich-app/immich#10495
- fix(server): reindex after changing to a model with a different dimension size by @mertalev in immich-app/immich#10496
- fix(server): allow library id to be null in metadata search by @danieldietzler in immich-app/immich#10512
- fix(server):
/places
entries sometimes not ordered alphabetically by @mertalev in immich-app/immich#10514 - fix(deps): update typescript-projects by @renovate in immich-app/immich#10611
- fix(deps): update typescript-projects by @renovate in immich-app/immich#10616
- chore(deps): use full semver docker tag for node images by @jrasm91 in immich-app/immich#10613
- chore(deps): pin dependencies by @renovate in immich-app/immich#10618
- chore(deps): update dependency @types/node to ^20.14.6 by @renovate in immich-app/immich#10627
- chore: update docker node alpine versions to 3.20 by @zackpollard in immich-app/immich#10621
- chore(deps): update base-image to v20240625 (major) by @renovate in immich-app/immich#10620
- chore: bump node docker versions by @zackpollard in immich-app/immich#10629
- chore(deps): pin node.js to 0ccc08f by @renovate in immich-app/immich#10628
- chore(deps): update dependency typescript to v5.5.2 by @renovate in immich-app/immich#10633
- chore: build metadata by @jrasm91 in immich-app/immich#10612
- fix(server): user delete with stacked assets by @jrasm91 in immich-app/immich#10642
- fix(server): about info version by @michelheusschen in immich-app/immich#10659
- fix(server): live photo relation by @jrasm91 in immich-app/immich#10637
- refactor(server): event emits by @jrasm91 in immich-app/immich#10648
- fix(web): new feature photo by @martabal in immich-app/immich#9443
- refactor: move /server-info endpoints to /server by @zackpollard in immich-app/immich#10677
- fix: album remove asset bug by @jrasm91 in immich-app/immich#10687
- fix(server): show partners assets on timeline without permission by @alextran1502 in immich-app/immich#10705
- chore: Lower default duplicate detection distance by @bo0tzz in immich-app/immich#10703
- feat(server): user and server license endpoints by @zackpollard in immich-app/immich#10682
📱 Mobile
- chore(deps): update dependency flutter to v3.22.2 by @renovate in immich-app/immich#10158
- fix(app-bar): remove safe area of the app bar in photos page by @RanKKI in immich-app/immich#10340
- fix(mobile): translation for memory title by @RanKKI in immich-app/immich#10324
- fix(mobile): search page by @RanKKI in immich-app/immich#10385
- fix(mobile): my location button on maps not visible due to bottom padding by @RanKKI in immich-app/immich#10384
- fix(mobile): asset description is not shown on the sheet when opened for the first time by @RanKKI in immich-app/immich#10377
- fix(mobile): upgrade maplibre_gl package to fix issue with crash in ios7.4 above simulator by @Mujhtech in immich-app/immich#10182
- feat(mobile): render assets on device by default by @alextran1502 in immich-app/immich#10470
- chore(mobile): remove exclude album mechanism for backup by @alextran1502 in immich-app/immich#10552
- fix(mobile): inconsistent thumbnail's label by @RanKKI in immich-app/immich#10589
- feat(mobile): add additional request headers by @matejkramny in immich-app/immich#10588
- fix(mobile): asset state remain in gallery view after being deleted by @alextran1502 in immich-app/immich#10603
- chore(trans): add zh-CN translations for custom proxy headers by @Triple-Z in immich-app/immich#10660
- chore(mobile): Revert "remove exclude album mechanism for backup (#10552)" by @alextran1502 in immich-app/immich#10686
🖥️ Web
- chore(web): update translations by @weblate in immich-app/immich#10285
- chore(web): standardize settings labels by @ben-basten in immich-app/immich#10303
- refactor(web): byte unit utils by @danieldietzler in immich-app/immich#10332
- feat(web): add cover images to individual shares by @Snowknight26 in immich-app/immich#9988
- fix(web): prevent new uploads from temporarily showing in trash by @michelheusschen in immich-app/immich#10348
- fix(web): allow sending test email when using config file by @michelheusschen in immich-app/immich#10351
- feat(web): full screen view for duplicates by @michelheusschen in immich-app/immich#10346
- fix(web): play video muted when blocked by browser by @michelheusschen in immich-app/immich#10383
- fix(web): update avatar color immediately by @michelheusschen in immich-app/immich#10393
- fix(web): selecting shared link expiration by @michelheusschen in immich-app/immich#10437
- fix(web): confirm button is disabled if two dialogs are shown subsequently by @alextran1502 in immich-app/immich#10440
- fix(web): Update prompt by @aviv926 in immich-app/immich#10237
- feat(web): keyboard accessible context menus by @ben-basten in immich-app/immich#10017
- fix(web): comment send button by @waclaw66 in immich-app/immich#10453
- feat(web): display original heif images for safari by @mertalev in immich-app/immich#10478
- feat(web): bulk deduplicate by @mertalev in immich-app/immich#10448
- feat(web): duplicate ui tweaks by @michelheusschen in immich-app/immich#10506
- chore(web): context menu improvements by @ben-basten in immich-app/immich#10475
- feat(web): Adds sort order from album to shared album. by @erathmus in immich-app/immich#10528
- fix(web): six digit year input by @michelheusschen in immich-app/immich#10517
- feat(web): translations containing html by @michelheusschen in immich-app/immich#10491
- fix(web): missing translations by @michelheusschen in immich-app/immich#10504
- fix(web): FormatMessage development keys by @michelheusschen in immich-app/immich#10536
- chore(web): update translations by @weblate in immich-app/immich#10304
- chore(web): another missing translations by @waclaw66 in immich-app/immich#10274
- feat: more languages by @jrasm91 in immich-app/immich#10595
- chore(web): update translations by @weblate in immich-app/immich#10593
- chore(web): translation finetuning by @waclaw66 in immich-app/immich#10601
- chore: merge weblate by @jrasm91 in immich-app/immich#10604
- feat(web): link router by @jrasm91 in immich-app/immich#10644
- fix(web): match storage_template_migration_job with storage_template_migration by @MiguelDomingues in immich-app/immich#10662
- feat(web): show favorite icon in duplicate asset by @Pascal-So in immich-app/immich#10688
- feat(web): use websocket to update the feature photo by @martabal in immich-app/immich#10683
- fix(web): i18n race condition in load function by @michelheusschen in immich-app/immich#10693
- feat(web): add more translations by @michelheusschen in immich-app/immich#10700
- fix(web): shared link card by @michelheusschen in immich-app/immich#10702
- fix(web): Sort timezones in assets settings by offset by @WazWazTheDeveloper in immich-app/immich#10697
- chore(web): update translations by @weblate in immich-app/immich#10605
- fix(web): remove black bezels + better integrate ActivityStatus by @pyorot in immich-app/immich#10667
- feat(web): html tags inside plural and select messages by @michelheusschen in immich-app/immich#10696
- fix(web): suppress album upload notification by @alextran1502 in immich-app/immich#10717
- fix(web): activity status padding regression by @alextran1502 in immich-app/immich#10734
- chore(web): update translations by @weblate in immich-app/immich#10729
- chore(web): update translations by @weblate in immich-app/immich#10742
- feat(web): add keyboard shortcuts to duplicates utility by @tastelessjolt in immich-app/immich#10736
- fix(web): scroll jank on memories page by @michelheusschen in immich-app/immich#10752
🧠 Machine Learning
- chore(deps): update machine-learning by @renovate in immich-app/immich#10446
- chore(deps): update mambaorg/micromamba:bookworm-slim docker digest to b17c9b1 by @renovate in immich-app/immich#10465
- chore(ml): support python 3.12 by @mertalev in immich-app/immich#10481
- fix(ml): limit load retries by @mertalev in immich-app/immich#10494
- refactor(ml): model sessions by @mertalev in immich-app/immich#10559
- fix(deps): update machine-learning by @renovate in immich-app/immich#10610
- chore(deps): update mambaorg/micromamba:bookworm-slim docker digest to 333f759 by @renovate in immich-app/immich#10631
⚡ CLI
- chore(deps): update node.js to eb17a08 - autoclosed by @renovate in immich-app/immich#10098
- fix(cli): handle patterns correctly on Windows by @fky2015 in immich-app/immich#10430
- fix(cli): fix broken --album on Windows. by @fky2015 in immich-app/immich#10626
📓 Documentation
- chore: fix typo in jobs-workers.md by @YodaDaCoda in immich-app/immich#10302
- chore: update discord links by @danieldietzler in immich-app/immich#10301
- fix(doc): literal translation & missing parts by @Rooyca in immich-app/immich#10295
- docs: brief instructions to recover from corruption by @mmomjian in immich-app/immich#10319
- chore: update Unraid Docker-Compose documentation to reflect missing healthcheck start_interval parameter from Docker Engine v24.0.9. by @flemesre in immich-app/immich#10406
- docs: add info about translations and weblate by @jrasm91 in immich-app/immich#10591
- docs: add private photos to roadmap by @jrasm91 in immich-app/immich#10599
- docs: Add new community guide to access Immich with a custom domain by @ppr88 in immich-app/immich#10638
- fix(docs): restart DB backup container by @mmomjian in immich-app/immich#10671
- chore(doc): small punctuation fix backup-and-restore.md by @TheDidek in immich-app/immich#10704
- docs: blog post July 2024 update by @alextran1502 in immich-app/immich#10737
🔨 Maintenance
- chore(deps): bump docker/build-push-action from 5.4.0 to 6.0.0 by @dependabot in immich-app/immich#10433
- chore(deps): update dependency exiftool-vendored to v27 by @renovate in immich-app/immich#10447
- chore(deps): update typescript-projects by @renovate in immich-app/immich#10445
- chore(deps): update prom/prometheus docker digest to 075b1ba by @renovate in immich-app/immich#10484
- chore(deps): bump ws and engine.io-client in /e2e by @dependabot in immich-app/immich#10488
- chore(deps): bump docker/build-push-action from 6.0.0 to 6.0.1 by @dependabot in immich-app/immich#10483
- chore(deps): update dependency eslint-plugin-unicorn to v54 by @renovate in immich-app/immich#10486
- fix(deployment): Postgres healthcheck, add username to pg_isready by @mmomjian in immich-app/immich#10221
- chore(deps): update redis:6.2-alpine docker digest to 328fe6a by @renovate in immich-app/immich#10516
- chore(deps): update docker.io/redis:6.2-alpine docker digest to 328fe6a by @renovate in immich-app/immich#10515
- chore(deps): bump docker/build-push-action from 6.0.1 to 6.1.0 by @dependabot in immich-app/immich#10522
- chore: use immich.app email for security reports by @jrasm91 in immich-app/immich#10594
- chore(deps): update dependency prettier-plugin-svelte to v3.2.5 by @renovate in immich-app/immich#10623
- chore(deps): update terraform cloudflare to v4.35.0 by @renovate in immich-app/immich#10420
- chore: add renovate makefile command for testing renovate changes by @zackpollard in immich-app/immich#10630
- chore: better auto labels by @jrasm91 in immich-app/immich#10632
- chore(deps): update dependency @types/node to ^20.14.7 by @renovate in immich-app/immich#10635
- chore(deps): update grafana/grafana docker tag to v11.1.0 by @renovate in immich-app/immich#10679
- chore(deps): update terraform cloudflare to v4.36.0 by @renovate in immich-app/immich#10718
- chore(deps): bump docker/build-push-action from 6.1.0 to 6.2.0 by @dependabot in immich-app/immich#10655
- chore(deps): update node by @renovate in immich-app/immich#10741
- fix(deps): update typescript-projects by @renovate in immich-app/immich#10744
- chore(deps): update docker/build-push-action action to v6.2.0 by @renovate in immich-app/immich#10745
Other changes
- chore(docs): update Korean README by @bunubbv in immich-app/immich#10462
- ci: use .nvmrc for node-setup node-version in github actions by @zackpollard in immich-app/immich#10619
- ci: group docker node and npm node updates together by @zackpollard in immich-app/immich#10625
- chore(deps): upgrade @testing-library/svelte by @benmccann in immich-app/immich#10690
- docs: sync Chinese README with the official English version by @indam in immich-app/immich#10724
- docs: Translations update by @alextran1502 in immich-app/immich#10730
New Contributors
- @YodaDaCoda made their first contribution in immich-app/immich#10302
- @Rooyca made their first contribution in immich-app/immich#10295
- @RanKKI made their first contribution in immich-app/immich#10340
- @flemesre made their first contribution in immich-app/immich#10406
- @Mujhtech made their first contribution in immich-app/immich#10182
- @erathmus made their first contribution in immich-app/immich#10528
- @fky2015 made their first contribution in immich-app/immich#10430
- @ppr88 made their first contribution in immich-app/immich#10638
- @matejkramny made their first contribution in immich-app/immich#10588
- @Triple-Z made their first contribution in immich-app/immich#10660
- @MiguelDomingues made their first contribution in immich-app/immich#10662
- @Pascal-So made their first contribution in immich-app/immich#10688
- @TheDidek made their first contribution in immich-app/immich#10704
- @WazWazTheDeveloper made their first contribution in immich-app/immich#10697
- @pyorot made their first contribution in immich-app/immich#10667
- @tastelessjolt made their first contribution in immich-app/immich#10736
Full Changelog: immich-app/immich@v1.106.4...v1.107.0