ImageGenius Changes:
support GPU acceleration with CUDA for machine-learning
immich Changes:
1.94.0
Breaking Changes ⚠️
- The mobile app will no be longer compatible with server version <
v1.92
starting from this version. Please make sure to have your server and mobile app on the same version to work correctly. docker-compose.yml
content change for hardware acceleration to incorporate hardware acceleration for video transcoding- The following asset endpoints have been deprecated and will be removed in a future release
GET /asset/assetById/:id
POST /asset/download/info
POST /asset/download/archive
POST /asset/download/:id
POST /asset/restore
POST /asset/trash/empty
POST /asset/tash/restore
Highlights
Welcome to release v1.94.0
of Immich. This release is packed with bug fixes, quality-of-life improvements, and preparation for migrating to a new search experience. Please find some of the highlights of this release below, and we hope you like it!
- Automatically update the external libraries when the filesystem changes (experimental)
- Hardware acceleration for machine learning is now supported for ARM NN, CUDA, and OpenVINO.
- Search for people on the people page.
- Additional video transcoding options for audio and video codecs.
- New combobox component for selecting asset’s timezone on the web.
- Notable fix: Motion Photo on Samsung is now fixed.
- Notable fix: The blurry memory photo on the mobile app is now fixed.
Automatic library watching (experimental)
External libraries can now automatically import changed files without a full rescan. It will import the file whenever the operating system reports a file change. If your photos are mounted over the network, this does not work, but there is an option to enable polling. Beware, however, that polling can cause high CPU consumption.
You can enable this feature in the Administration page > Settings > Library
Library watching is considered experimental at this stage and is disabled by default. Please report how this feature works for you, especially if you have large external libraries.
Sneak peak
And as always, bugs are fixed, and many other improvements also come with this release.
Please consider supporting the project.
Support
If you find the project helpful, you can support Immich via the following channels.
- Monthly donation via GitHub Sponsors
- One-time donation via GitHub Sponsors
- Librepay
- buymeacoffee
- Bitcoin: 1FvEp6P6NM8EZEkpGUFAN2LqJ1gxusNxZX
It is a great way to let me know that you want me to continue developing and working on this project for years to come.
What's Changed
⚠️ Breaking Changes
- chore(server): remove old device id endpoint by @jrasm91 in immich-app/immich#6578
- feat(ml)!: cuda and openvino acceleration by @mertalev in immich-app/immich#5619
🗄️ Server
- fix(server): use crf-based two pass for vp9 if max bitrate is disabled by @mertalev in immich-app/immich#6535
- fix(server): disable sharp file caching by @mertalev in immich-app/immich#6542
- fix(server): only calculate quota usage for internal assets by @danieldietzler in immich-app/immich#6556
- chore(server): sort open api params by @jrasm91 in immich-app/immich#6484
- fix(server): extraction of Samsung Motionphoto videos by @kaysond in immich-app/immich#6337
- chore(server): remove unused dependency by @jrasm91 in immich-app/immich#6606
- refactor(server): e2e by @jrasm91 in immich-app/immich#6632
- feat(server): optimize partial facial recognition by @mertalev in immich-app/immich#6634
- feat(server): sql access checks by @jrasm91 in immich-app/immich#6635
- refactor(server): move asset detail endpoint to new controller by @jrasm91 in immich-app/immich#6636
- chore: fix typo in
generate-open-api.sh
by @benmccann in immich-app/immich#6648 - chore: remove no-op patch by @benmccann in immich-app/immich#6649
- refactor(server): download endpoints by @jrasm91 in immich-app/immich#6653
- refactor(server): trash endpoints by @jrasm91 in immich-app/immich#6652
- feat(server, web): accepted codecs by @Hely0n in immich-app/immich#6460
- chore: remove unused test util methods by @benmccann in immich-app/immich#6689
- refactor: move asset stacks to their own entity by @zackpollard in immich-app/immich#6353
- chore(server): use fs readsync instead of js import for reading package.json by @danieldietzler in immich-app/immich#6692
- feat(web,server): search people by @martabal in immich-app/immich#5703
- fix(server): fix person pagination when deleting by @mertalev in immich-app/immich#6707
- fix(server): do not process faces of deleted assets by @mertalev in immich-app/immich#6710
- fix(server): HEVC videos not playing on Apple devices by @mertalev in immich-app/immich#6712
- refactor: rename clip -> smart search by @mertalev in immich-app/immich#6713
- refactor: no experimental vm modules by @jrasm91 in immich-app/immich#6719
- added a configuration option to select the dri node in transcoding by @t4keda in immich-app/immich#6376
- fix(server): avoid leaking people data on shared links by @martabal in immich-app/immich#6779
- feat(server, web): Added TranscodePolicy "Bitrate higher than max bitrate or not in accepted format" by @Hely0n in immich-app/immich#6479
- feat(server): Automatic watching of library folders by @etnoy in immich-app/immich#6192
- fix: library watching by @jrasm91 in immich-app/immich#6802
📱 Mobile
- feat(mobile): Add Slovenian by @alextran1502 in immich-app/immich#6558
- fix(mobile): es-US pluralization by @shenlong-tanwen in immich-app/immich#6612
- fix(mobile): skip tests using mock http client to make actual network request by @alextran1502 in immich-app/immich#6642
- deps(mobile): flutter 3.16 by @shenlong-tanwen in immich-app/immich#6677
- Update fr-FR.json by @axgdcode in immich-app/immich#6633
- fix(mobile): Fix single element archiving by @l0nax in immich-app/immich#6668
- fix(mobile): blurry memory photos by @alextran1502 in immich-app/immich#6734
- fix(mobile): FR translation by @alextran1502 in immich-app/immich#6771
- chore(mobile): Corrects FVM gitignore and sets Flutter version to 3.16.9 by @martyfuhry in immich-app/immich#6775
- Localizely: Translations update by @alextran1502 in immich-app/immich#6772
- feat(mobile): Add end page to the end to memories by @martyfuhry in immich-app/immich#6780
🖥️ Web
- chore: svelte-kit-2 by @jrasm91 in immich-app/immich#6103
- feat(web) dismiss user management modals on escape by @Funk66 in immich-app/immich#6530
- refactor(web): descriptions by @martabal in immich-app/immich#6517
- fix(web): auto generate open api build by @jrasm91 in immich-app/immich#6561
- fix(web): always use websocket transport by @jrasm91 in immich-app/immich#6564
- fix(web): revert descriptions by @martabal in immich-app/immich#6582
- fix(web): statusbox re-rendering and nav bar when trashing assets by @martabal in immich-app/immich#6581
- fix(web): merging people when renaming by @martabal in immich-app/immich#6608
- feat(web): include timestamp in download filename by @MohamedFBoussaid in immich-app/immich#5878
- fix(web): feature photo not changing in the edit name component by @martabal in immich-app/immich#6663
- feat(web): Add places exploration page by @l0nax in immich-app/immich#6669
- feat(wip): add Combobox component for timezone picker by @m1yon in immich-app/immich#6154
- feat(web): add warning when setting a quota superior to the disk size by @martabal in immich-app/immich#6737
🧠 Machine Learning
- fix(ml): error logging by @mertalev in immich-app/immich#6646
- fix(ml): handle missing
context_length
field by @mertalev in immich-app/immich#6695 - feat(ml): conditionally download .armnn models by @mertalev in immich-app/immich#6650
- fix(ml): model paths not working by @mertalev in immich-app/immich#6705
⚡ CLI
- refactor(cli): organize files, simplify types, use @immich/sdk by @jrasm91 in immich-app/immich#6747
- chore: migrate CLI to ESM and vitest by @benmccann in immich-app/immich#6777
📓 Documentation
- doc: developer setup docs by @kaysond in immich-app/immich#6557
- spelling of "recommend" - Update command-line-interface.md by @sybenx in immich-app/immich#6603
- docs: diff highlighting by @jrasm91 in immich-app/immich#6604
- fix(docs): search by @jrasm91 in immich-app/immich#6605
- docs: add reverse proxy configuration for Apache by @Lenart12 in immich-app/immich#6625
- Update(docs): Update documentation by @aviv926 in immich-app/immich#6430
- docs: use organization support link in README by @danieldietzler in immich-app/immich#6722
- docs: fix broken link by @jrasm91 in immich-app/immich#6735
- docs: fix typo by @benmccann in immich-app/immich#6739
- docs(server): Fix glob pattern in library exclusions by @etnoy in immich-app/immich#6752
- Update FAQ to address duplicate primary key errors by @mmomjian in immich-app/immich#6763
- fix(milestone): Fix zero-index dates by @etnoy in immich-app/immich#6787
🔨 Build
- chore: remove unused files and references by @jrasm91 in immich-app/immich#6562
- Fixed errors regarding the installation script by @Peppe289 in immich-app/immich#6644
- chore(devops): use new MacOS runner by @alextran1502 in immich-app/immich#6774
- chore: drop CJS build from API by @benmccann in immich-app/immich#6783
🤖 Dependencies
- chore(deps): update dependency vite to v5.0.12 [security] by @renovate in immich-app/immich#6526
- chore(deps): update dependency @types/node to v20.11.3 by @renovate in immich-app/immich#6533
- chore(deps): update base-image to v20240118 (major) by @renovate in immich-app/immich#6473
- chore(deps): pin dependencies by @renovate in immich-app/immich#6436
- chore(deps): update dependency @types/node to v20.11.5 by @renovate in immich-app/immich#6546
- deps: update renovate groups and schedule by @jrasm91 in immich-app/immich#6579
- chore(deps): update web by @renovate in immich-app/immich#6584
- chore(deps): update @immich/cli by @renovate in immich-app/immich#6585
- fix(deps): update server by @renovate in immich-app/immich#6587
- chore(deps): update dependency @sveltejs/kit to v2.3.5 by @renovate in immich-app/immich#6590
- fix(deps): update dependency svelte-maplibre to v0.7.6 by @renovate in immich-app/immich#6591
- fix(deps): update server by @renovate in immich-app/immich#6588
- fix(deps): update dependency orjson to v3.9.12 by @renovate in immich-app/immich#6600
- chore(deps): update dependency @sveltejs/kit to v2.4.3 [security] by @renovate in immich-app/immich#6628
- fix(deps): update exiftool by @renovate in immich-app/immich#6586
- chore(deps): update base-image to v20240125 (major) by @renovate in immich-app/immich#6637
- chore: remove unused packages by @benmccann in immich-app/immich#6654
- Fix CVE–2023–45133 by @debricked in immich-app/immich#6661
- fix(deps) CVE–2021–43138 by @debricked in immich-app/immich#6662
- fix(deps) CVE–2022–25887 by @debricked in immich-app/immich#6664
- fix(deps) CVE-2022-25883 by @etnoy in immich-app/immich#6667
- fix(deps) bump marked to 11.1.1 by @etnoy in immich-app/immich#6670
- fix(deps): bump lodash by @etnoy in immich-app/immich#6672
- deps: open-api generator by @jrasm91 in immich-app/immich#6655
- fix(deps) bump msgpackr by @etnoy in immich-app/immich#6673
- fix(deps) CVE–2023–45857 (bump axios) by @debricked in immich-app/immich#6665
- chore(deps): update redis:6.2-alpine docker digest to 201502e by @renovate in immich-app/immich#6684
- chore(deps): update redis:6.2-alpine docker digest to 60727c1 by @renovate in immich-app/immich#6688
- chore(deps): update redis:6.2-alpine docker digest to e37f165 by @renovate in immich-app/immich#6693
- chore(deps): update dependency @types/node to v20.11.6 by @renovate in immich-app/immich#6742
- fix(deps): update machine-learning by @renovate in immich-app/immich#6745
- chore(deps): update @immich/cli by @renovate in immich-app/immich#6741
- chore(deps): update server by @renovate in immich-app/immich#6744
- chore(deps): update web by @renovate in immich-app/immich#6746
- chore(deps): update redis:6.2-alpine docker digest to afb290a by @renovate in immich-app/immich#6708
- fix(deps): update dependency geo-tz to v8.0.1 by @renovate in immich-app/immich#6750
- chore(deps): update dependency @faker-js/faker to v8.4.0 by @renovate in immich-app/immich#6758
- chore(deps): update base-image to v20240130 (major) - autoclosed by @renovate in immich-app/immich#6756
- chore(deps): update dependency @sveltejs/kit to v2.5.0 by @renovate in immich-app/immich#6776
Other changes
- Document how to prevent HTML entity escaping. by @mmomjian in immich-app/immich#6773
New Contributors
- @kaysond made their first contribution in immich-app/immich#6557
- @sybenx made their first contribution in immich-app/immich#6603
- @Lenart12 made their first contribution in immich-app/immich#6625
- @benmccann made their first contribution in immich-app/immich#6648
- @axgdcode made their first contribution in immich-app/immich#6633
- @Peppe289 made their first contribution in immich-app/immich#6644
- @t4keda made their first contribution in immich-app/immich#6376
- @mmomjian made their first contribution in immich-app/immich#6763
Full Changelog: https://github.com/immich-app/immich/compare/v1.93.3...