ImageGenius Changes:
rebase to alpine edge
immich Changes:
v1.92.0
Highlights
Welcome to the first Immich release of 2024, v1.92.0
. This release is packed with features, bug fixes, and improvements. Let’s dive into some of the highlights of this release.
- [BREAKING CHANGE] The welcome message for your instance is now moved to the Server Setting in the Settings section in the Administration page on the web
- Hardening storage template move operation: verify files are copied correctly when operating across filesystem boundaries
- External domain setting: allow the usage of a different domain for shared links
- Native hash calculation on iOS: significantly speeds up the initial hash calculation
- Introduce Onboarding flow for new instances: Show the admin common settings of the instance for a better user experience.
- CLI version 2.0.6 was released on npm: https://www.npmjs.com/package/@immich/cli
- Search is now working across the partner’s assets.
Hardening storage template
We have further hardened the storage template move mechanism to not leave any files in the upload
folder behind. Making the job concurrency a fixed number and performing database lock between the move jobs will resolve some outstanding issues and stabilize this core feature.
For new instances, the storage template mechanism is now disabled by default (existing instances won’t be affected). This means files uploaded to the server will be stored in the upload
folder and not moved to the library
folder. To provide a nice user experience, we added the onboarding feature, as seen below, to inform users that the storage template is disabled by default, and they can enable it before uploading any photos or videos to the instance to avoid confusion.
onboarding.mov
This is also the continued effort to add support for other storage backends, such as Amazon S3 or Backblaze B2, in the future.
External domain setting
Add the option to set the instance's "external domain" when constructing the shared link URL to copy to the clipboard.
Admin Settings
Shared Links
Changelogs
Breaking Changes 🛠
- feat(server)!: move welcome message to settings by @jrasm91 in immich-app/immich#6157
Server
- fix(server, web): Prevent the user from setting a future date of birth by @MohamedFBoussaid in immich-app/immich#5803
- fix(server): remove shared link with removed asset by @martabal in immich-app/immich#5845
- feat(server,ml): remove image tagging by @mertalev in immich-app/immich#5903
- chore(dev): move envs to image by @mertalev in immich-app/immich#5906
- fix(server): run migrations after database checks by @mertalev in immich-app/immich#5832
- fix(server): access system config before database migration complete by @alextran1502 in immich-app/immich#5912
- fix(server): library scanning by @danieldietzler in immich-app/immich#5951
- fix(server): strip metadata from thumbnails by @uhthomas in immich-app/immich#4438
- chore(server): refactor locks by @mertalev in immich-app/immich#5953
- feat(server): delete unnecessary encoded videos by @mertalev in immich-app/immich#6027
- fix(server): Reduce the number of bound parameters in Access queries by @adamantike in immich-app/immich#6015
- feat: storage template file move hardening by @zackpollard in immich-app/immich#5917
- feat: storage template locking + fix for database locks by @zackpollard in immich-app/immich#6054
- fix(server): remove archived people from explore by @martabal in immich-app/immich#6091
- chore(server): refactor config init process by @jrasm91 in immich-app/immich#5702
- sanitize storagelabel when creating a user #3346 by @JW-CH in immich-app/immich#5717
- feat(server): Enqueue jobs in bulk by @adamantike in immich-app/immich#5974
- feat(server): search across own+partner assets by @fyfrey in immich-app/immich#5966
- feat(web,server): external domain setting by @jrasm91 in immich-app/immich#6146
- chore(server): time bucket sql by @jrasm91 in immich-app/immich#6156
- feat(server): add env for reverse geocoding path by @martabal in immich-app/immich#6163
- chore(server): Clearer error message for machine learning failed request by @alextran1502 in immich-app/immich#5914
- feat(server): in upload folder, split the files into folders based on the first four of the files uuid by @zackpollard in immich-app/immich#6175
- fix(server): Fix incorrect sorting with search by @l0nax in immich-app/immich#6031
- fix(server): Execute query in AlbumRepository.removeAsset method by @adamantike in immich-app/immich#6216
- chore(server): set onboarding for existing instances by @alextran1502 in immich-app/immich#6229
- feat(server): add rw2 support by @mertalev in immich-app/immich#6231
- feat(server): add postgres major version check by @maxer137 in immich-app/immich#6213
- fix(server): Split database queries based on PostgreSQL bound params limit by @adamantike in immich-app/immich#6034
- test: small improvements to database init tests by @zackpollard in immich-app/immich#6232
Mobile
- Localizely: Translations update by @alextran1502 in immich-app/immich#5867
- Revert "chore(mobile): translation update (#5867)" by @alextran1502 in immich-app/immich#5871
- fix(mobile): Fix pt-PT locale. Add missing pt-PT localizely entry by @andredasilvapinto in immich-app/immich#5892
- fix(mobile): use proper id for gallery_viewer hero attribute by @shenlong-tanwen in immich-app/immich#5894
- Localizely: Translations update by @alextran1502 in immich-app/immich#5902
- Localizely: Translations update by @alextran1502 in immich-app/immich#5960
- feat(mobile): load server result assets from local DB by @fyfrey in immich-app/immich#5971
- fix(mobile): Fix "Live Images" and "Recently added" page by @l0nax in immich-app/immich#6030
- chore(mobile): update en-US.json - spelling changes by @opbod in immich-app/immich#5868
- feat(mobile): use new asset device endpoint by @jrasm91 in immich-app/immich#6108
- refactor(mobile): use startOAuth and server features flags by @shenlong-tanwen in immich-app/immich#6155
- refactor(mobile): Activities by @shenlong-tanwen in immich-app/immich#5990
- (mobile): ios - calculate hash using CryptoKit by @shenlong-tanwen in immich-app/immich#5976
- feat(mobile): multiselect for search & person page by @fyfrey in immich-app/immich#6016
- fix(mobile): handle readonly and offline assets by @shenlong-tanwen in immich-app/immich#5565
Web
- feat(web): bigger dialog box of location change by @waclaw66 in immich-app/immich#5862
- fix(web): open image in new tab with memories on firefox by @martabal in immich-app/immich#5847
- fix(web): multiple small issues on the web app by @martabal in immich-app/immich#5875
- chore(web): redirect share page redirect to base path #5519 by @JW-CH in immich-app/immich#5889
- fix(web): location pin by @waclaw66 in immich-app/immich#5909
- fix(web): cannot open detail panel in public shared link by @alextran1502 in immich-app/immich#5946
- chore(web): Use percentage sign for uploads by @adamantike in immich-app/immich#5952
- feat(web): display age in months when age is 0 by @jpsak09 in immich-app/immich#5961
- fix(web): "undefined" in error message when error at uploading by @RenautMestdagh in immich-app/immich#5973
- fix(web): cancel select all by @martabal in immich-app/immich#6047
- chore(web): migrate to vitest by @jorge-dev in immich-app/immich#5754
- fix(web): use submit event instead of button click by @jrasm91 in immich-app/immich#6112
- fix(web): use loading spinner instead of pulse by @martabal in immich-app/immich#6116
- feat(web): onboarding by @alextran1502 in immich-app/immich#6066
- feat(web): go back on the onboarding by @martabal in immich-app/immich#6171
- feat(web): previous button for on-boarding steps by @martabal in immich-app/immich#6178
- feat(web): auto switch theme by @martabal in immich-app/immich#6176
CLI
- fix(cli): don't open too many files by @etnoy in immich-app/immich#5841
- feat(cli): Allow uploading a single file by @etnoy in immich-app/immich#5837
- feat(cli): Add existing assets to album and allow album name by @etnoy in immich-app/immich#5838
- fix(cli): file handles by @jrasm91 in immich-app/immich#6110
- fix(cli): add unit tests for exclusion patterns by @etnoy in immich-app/immich#6148
- chore(cli): remove chai and unused types by @jrasm91 in immich-app/immich#6153
Documentation
- Update README_nl_NL.md by @RenautMestdagh in immich-app/immich#5840
- docs: fix README_ja_JP.md by @eltociear in immich-app/immich#5939
- fix(documentation): entities path in migrations (#5985) by @mariosker in immich-app/immich#5986
- fix(docs): update broken link by @m1yon in immich-app/immich#6094
- docs: hardware-transcoding.md by @DCCInterstellar in immich-app/immich#5968
- Update libraries.md - External Library step by step set up guide added by @jcianci12 in immich-app/immich#5288
- docs: typo detial -> detail by @Mstrdav in immich-app/immich#6135
- docs: unused geocoding env variable by @jrasm91 in immich-app/immich#6158
- docs: Revert "Update libraries.md - External Library step by step set up guide added" by @bo0tzz in immich-app/immich#6194
- feat(docs): Template script for 3-2-1 backup of the assets and database by @thariq-shanavas in immich-app/immich#6026
- docs: fix typo in liberapay link by @fliiiix in immich-app/immich#6222
- docs: Russian readme by @nomah4 in immich-app/immich#6221
Dependency updates
- renovate: Constrain python version by @mertalev in immich-app/immich#5904
- renovate: use in-range-only strategy for python by @mertalev in immich-app/immich#5937
- fix(deps): update dependency pillow to v10 [security] by @renovate in immich-app/immich#5944
- fix(deps): update machine-learning by @renovate in immich-app/immich#5180
- chore(deps-dev): bump @babel/traverse from 7.23.0 to 7.23.6 in /web by @dependabot in immich-app/immich#6019
- chore(deps-dev): bump @babel/traverse from 7.23.0 to 7.23.6 in /cli by @dependabot in immich-app/immich#6020
- chore(deps): bump @babel/traverse from 7.23.0 to 7.23.6 in /docs by @dependabot in immich-app/immich#6021
- chore(deps): pin dependencies by @renovate in immich-app/immich#5945
- chore(deps): update base-image to v20231221 (major) by @renovate in immich-app/immich#6029
- chore(deps): update redis:6.2-alpine docker digest to c5a607f by @renovate in immich-app/immich#5979
- chore(deps): update base-image to v20231228 (major) by @renovate in immich-app/immich#6095
- chore(deps): update dependency @types/supertest to v6 by @renovate in immich-app/immich#6099
- chore(deps): update dependency eslint-plugin-unicorn to v50 by @renovate in immich-app/immich#6100
- chore: group svelte major deps by @jrasm91 in immich-app/immich#6104
- fix(deps): update dependency @nestjs/schedule to v4 by @renovate in immich-app/immich#5348
- chore(deps): update @immich/cli by @renovate in immich-app/immich#6118
- fix(deps): update docs by @renovate in immich-app/immich#6120
- fix(deps): update server by @renovate in immich-app/immich#6119
- chore(deps): update @immich/cli by @renovate in immich-app/immich#6150
- fix(deps): update web by @renovate in immich-app/immich#6152
- chore: group 'dependencies' by @jrasm91 in immich-app/immich#6167
New Contributors
- @RenautMestdagh made their first contribution in immich-app/immich#5840
- @andredasilvapinto made their first contribution in immich-app/immich#5892
- @jpsak09 made their first contribution in immich-app/immich#5961
- @mariosker made their first contribution in immich-app/immich#5986
- @opbod made their first contribution in immich-app/immich#5868
- @m1yon made their first contribution in immich-app/immich#6094
- @DCCInterstellar made their first contribution in immich-app/immich#5968
- @jcianci12 made their first contribution in immich-app/immich#5288
- @Mstrdav made their first contribution in immich-app/immich#6135
- @fliiiix made their first contribution in immich-app/immich#6222
- @nomah4 made their first contribution in immich-app/immich#6221
- @maxer137 made their first contribution in immich-app/immich#6213
Full Changelog: immich-app/immich@v1.91.4...v1.92.0