v1.106.1
Note: We skip v1.106.0 and push straight to v1.106.1 since we discovered and fixed some more bugs while waiting for the v1.106.0 mobile releases to be approved for synchronized publishing across all platforms
BREAKING CHANGES
[!WARNING]
1. Underlying API changes
Please ensure your mobile app and server are on the same version. Otherwise, you won't be able to access the app.
We advise you to wait for the mobile app to be reviewed and released from the app stores before updating your instance to avoid disrupting your users.
2. Environment variables
SERVER_PORT, MICROSERVICES_PORT, and MACHINE_LEARNING_PORT were renamed to IMMICH_PORT
HOST and MACHINE_LEARNING_HOST were renamed to IMMICH_HOST
3. Removal of the immich-microservices container
The microservices container/process can now be deployed within the immich-server container itself and is done so by default.
Please refer to our documentation for a detailed explanation of this change and a way to keep microservices as a separate container.
Please edit your docker-compose.yml file with the following changes. If you use hardware acceleration previously in immich-microservices, you can move the extends block's content to the immich-server service to keep the same functionality.
services:
immich-server:
container_name: immich_server
image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
- command: ['start.sh', 'immich']
volumes:
- ${UPLOAD_LOCATION}:/usr/src/app/upload
- /etc/localtime:/etc/localtime:ro
env_file:
- .env
ports:
- 2283:3001
depends_on:
- redis
- database
restart: always
- immich-microservices:
- container_name: immich_microservices
- image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
- # extends: # uncomment this section for hardware acceleration - see https://immich.app/docs/features/hardware-transcoding
- # file: hwaccel.transcoding.yml
- # service: cpu # set to one of [nvenc, quicksync, rkmpp, vaapi, vaapi-wsl] for accelerated transcoding
- command: ['start.sh', 'microservices']
- volumes:
- - ${UPLOAD_LOCATION}:/usr/src/app/upload
- - /etc/localtime:/etc/localtime:ro
- env_file:
- - .env
- depends_on:
- - redis
- - database
- restart: always
Highlights
Welcome to release v1.106.0 of Immich. Woooh, this release is packed with many new features, improvements, and bug fixes. This is one of the longest release stretches we have ever done, with over 230 closed PRs over a month. I hope you enjoy this release as much as we do, and we have more brewing on the horizon; let's go over some of the highlights of the release below:
- Removal of the
immich-microservices container
- Similar image detection and management
- End-to-end acceleration for NVENC and QSV transcoding
- Better video thumbnails
- Email notifications for album events
- Per user email notifications settings
- Send a test email when configuring the SMTP email server
- Public roadmap (here)
- Translation on the web
- Notable fix: Fixed an edge case bug on mobile synchronization when there is a bad file with date time information. Thanks @fyfrey so much!
Removal of the immich-microservices container
"microservices be gone" - Zack
Actually, it is still there but in a true microservices manner where we spawn it in a separate process. Woohoo, one more container down to simplify the official setup of Immich!
This change is one of many pieces of upcoming work to change how we handle jobs. Microservices were always a patch for the problem that we couldn't run background tasks within the main server, which would introduce contention for the API itself. Using workers, we can now have these within the same container, separated into different V8 engines. Moving forward, we will be looking to split out "microservices" into actual microservices such as transcoding, thumbnails, etc., allowing such things as distributing transcoding alone to another instance.
Architecture
The immich-server container contains multiple workers:
api: responds to API requests for data and files for the web and mobile app.
microservices: handles most other work, such as thumbnail generation and video encoding, in the form of jobs. Simply put, a job is a request to process data in the background.
Split workers [Optional]
If you prefer to throttle or distribute the workers, you can use the environment variables to specify which container should pick up which tasks.
For example, for a simple setup with one container for the Web/API and one for all other microservices, you can do the following:
Copy the entire immich-server block as a new service and make the following changes to the copy:
- immich-server:
- container_name: immich_server
...
- ports:
- - 2283:3001
+ immich-microservices:
+ container_name: immich_microservices
Once you have two copies of the immich-server service, make the following changes to each one. This will allow one container only to serve the web UI and API and the other one to handle all other tasks.
services:
immich-server:
...
+ environment:
+ IMMICH_WORKERS_INCLUDE: 'api'
immich-microservices:
...
+ environment:
+ IMMICH_WORKERS_EXCLUDE: 'api'
Similar image detection
This release adds the much-anticipated ability to detect duplicate assets that aren't exactly identical, whether because of a difference in resolution, compression or metadata. To give you control over which asset(s) to keep, the assets aren't deduplicated immediately. Instead, there's a new Duplicates page where you can review duplicates to keep or trash them. An asset with the largest file size is selected by default.
https://github.com/immich-app/immich/assets/27055614/70c7a997-96e5-43ba-8d03-03c30559189c
To get started, you can run the new duplicate detection job on all assets. You won't need to do this for new assets, as they'll be automatically processed.

The Duplicates page is under a new Utilities section in the sidebar. Stay tuned for other features that will go into this section!

End-to-end hardware-accelerated transcoding
Until now, hardware acceleration for most backends only applied to encoding; decoding and tone-mapping were still done on the CPU. There's now an opt-in hardware decoding toggle that allows you to accelerate the full transcoding process for NVENC, QSV, and RKMPP. Some testing showed a 10x speed improvement compared to accelerated encoding alone (results are subject to your hardware and the video itself, of course).

Keep in mind that hardware and video compatibility becomes more relevant with this setting, which is why it's currently opt-in.
Special thanks to Jellyfin's @nyanmisaka for their helpful tips and suggestions for this feature!
Better video thumbnails
Immich now tries to find a descriptive video thumbnail instead of simply using the first frame. No more black images for thumbnails!
Before:

After:

This change won't apply retroactively to existing videos. To update video thumbnails, you can either select them and choose Refresh Thumbnails from the overflow menu or re-run thumbnail generation on all assets through the job panel to update all of them.
Additional email notifications
Two new event types have been added for which email notifications can be sent out:
- You are added to a shared album.
- New media is added to an album.
Also, users can now control their notification settings for each event. Notification preferences can be viewed on the web account settings page.

Translation on the web
We have added translation for Immich on the web. You can help us translate the web to your native language by accessing our Weblate project here.
You can change the app to your language from the Account Settings > App Settings > Language

What's Changed
⚠️ Breaking Changes
- feat: microservices be gone by @zackpollard in https://github.com/immich-app/immich/pull/9551
- refactor!: LOG_LEVEL => IMMICH_LOG_LEVEL by @jrasm91 in https://github.com/immich-app/immich/pull/9557
- refactor!: port env by @jrasm91 in https://github.com/immich-app/immich/pull/9559
- refactor(server): plural endpoints by @jrasm91 in https://github.com/immich-app/immich/pull/9667
- refactor(server): user info endpoint by @jrasm91 in https://github.com/immich-app/immich/pull/9668
- refactor(server): /user profile endpoint by @jrasm91 in https://github.com/immich-app/immich/pull/9669
- refactor(server): user endpoints by @jrasm91 in https://github.com/immich-app/immich/pull/9730
- refactor(server)!: move markers and style to dedicated map endpoint/controller by @danieldietzler in https://github.com/immich-app/immich/pull/9832
- fix(server): proper asset sync by @fyfrey in https://github.com/immich-app/immich/pull/10019
🗄️ Server
- fix(server): smtp certificate validation by @michelheusschen in https://github.com/immich-app/immich/pull/9506
- chore(server): remove unused property by @jrasm91 in https://github.com/immich-app/immich/pull/9521
- refactor(server): system config by @jrasm91 in https://github.com/immich-app/immich/pull/9517
- feat(server): near-duplicate detection by @mertalev in https://github.com/immich-app/immich/pull/8228
- feat(server): fully accelerated nvenc by @mertalev in https://github.com/immich-app/immich/pull/9452
- fix(server): use jasonnnnnnnnnb by @jrasm91 in https://github.com/immich-app/immich/pull/9539
- refactor(server): duplicate controller and service by @mertalev in https://github.com/immich-app/immich/pull/9542
- fix: when using old script args, just set the workers include var by @zackpollard in https://github.com/immich-app/immich/pull/9552
- chore(server): openapi generation by @alextran1502 in https://github.com/immich-app/immich/pull/9554
- refactor(server): new version check by @jrasm91 in https://github.com/immich-app/immich/pull/9555
- chore(server): openapi generation for Duplicate controller by @alextran1502 in https://github.com/immich-app/immich/pull/9560
- refactor: node_env => immich_env by @jrasm91 in https://github.com/immich-app/immich/pull/9561
- fix(server): Disable duplicate detection when smart search disabled by @NicholasFlamy in https://github.com/immich-app/immich/pull/9565
- chore(server): return duplicate assets as group by @alextran1502 in https://github.com/immich-app/immich/pull/9576
- refactor: library type by @jrasm91 in https://github.com/immich-app/immich/pull/9525
- refactor(server): version logic by @jrasm91 in https://github.com/immich-app/immich/pull/9615
- fix(server): semver in development by @alextran1502 in https://github.com/immich-app/immich/pull/9620
- fix: auth sub override by @jrasm91 in https://github.com/immich-app/immich/pull/9635
- refactor: deprecate /server-info and replace with /server-info/storage by @zackpollard in https://github.com/immich-app/immich/pull/9645
- feat(server): user metadata by @jrasm91 in https://github.com/immich-app/immich/pull/9650
- feat: add docker healthchecks to server and ml by @CodaBool in https://github.com/immich-app/immich/pull/9583
- refactor(server): cli service by @jrasm91 in https://github.com/immich-app/immich/pull/9672
- feat(server): fully accelerated qsv by @mertalev in https://github.com/immich-app/immich/pull/9689
- test: sync open api spec by @jrasm91 in https://github.com/immich-app/immich/pull/9687
- feat: API operation replaceAsset, POST /api/asset/:id/file by @midzelis in https://github.com/immich-app/immich/pull/9684
- test: reorder tests in asset.e2e-spec.ts by @midzelis in https://github.com/immich-app/immich/pull/9714
- fix(server): use qsv format for hwmap by @mertalev in https://github.com/immich-app/immich/pull/9722
- chore: remove all deprecated endpoints/properties from server and mobile app by @zackpollard in https://github.com/immich-app/immich/pull/9724
- refactor(server): remove unused code by @jrasm91 in https://github.com/immich-app/immich/pull/9737
- fix(server): use correct file extension for motion photo videos by @lukashass in https://github.com/immich-app/immich/pull/8659
- fix: config error logging by @jrasm91 in https://github.com/immich-app/immich/pull/9738
- refactor: Move checkExistingAssets(), checkBulkUpdate() remove getAllAssets() by @midzelis in https://github.com/immich-app/immich/pull/9715
- chore(server): remove unused code by @jrasm91 in https://github.com/immich-app/immich/pull/9746
- fix(server): partner can view archived assets by @michelheusschen in https://github.com/immich-app/immich/pull/9750
- fix(server): Properly build ML predict URL by @safehome-jdev in https://github.com/immich-app/immich/pull/9751
- fix(server): search duplicates of the same asset type by @mertalev in https://github.com/immich-app/immich/pull/9747
- chore(server): duplication default settings by @alextran1502 in https://github.com/immich-app/immich/pull/9781
- feat(server): better video thumbnails by @mertalev in https://github.com/immich-app/immich/pull/9784
- fix(server): nvenc not working when there are no filters by @mertalev in https://github.com/immich-app/immich/pull/9802
- chore: refactor transcode config routing by @mertalev in https://github.com/immich-app/immich/pull/9800
- feat(server): album's email notification by @alextran1502 in https://github.com/immich-app/immich/pull/9439
- feat(server): user preferences by @jrasm91 in https://github.com/immich-app/immich/pull/9736
- fix(server): video thumbnail generation failing when using qsv by @mertalev in https://github.com/immich-app/immich/pull/9808
- fix(server): apply qsv and vaapi quality to video stream only by @mertalev in https://github.com/immich-app/immich/pull/9807
- fix: immich port with external domain by @martabal in https://github.com/immich-app/immich/pull/9856
- refactor(server): rename api tags to follow plural nomenclature of endpoints by @danieldietzler in https://github.com/immich-app/immich/pull/9872
- feat(server): enable exiftool largefilesupport by @fvdnabee in https://github.com/immich-app/immich/pull/9894
- refactor: asset media endpoints by @jrasm91 in https://github.com/immich-app/immich/pull/9831
- test(server): check motion asset create arguments by @lukashass in https://github.com/immich-app/immich/pull/9826
- chore: change default thumbnail concurrency and auto-detect container core count by @zackpollard in https://github.com/immich-app/immich/pull/9981
- fix: AssetInterceptor "can't set headers after they are sent" by @midzelis in https://github.com/immich-app/immich/pull/9987
- feat(server): log http exceptions by @jrasm91 in https://github.com/immich-app/immich/pull/9996
- chore: seperate sub-process for api worker by @zackpollard in https://github.com/immich-app/immich/pull/10000
- fix(server): closed connections by @jrasm91 in https://github.com/immich-app/immich/pull/10013
- feat(ml): composable ml by @mertalev in https://github.com/immich-app/immich/pull/9973
- fix(server): video thumbnail colors when using webp by @mertalev in https://github.com/immich-app/immich/pull/10018
- fix(server): add fallback for video thumbnail generation by @mertalev in https://github.com/immich-app/immich/pull/10034
- fix(server): server stats showing wrong quota usage by @mycroftsnm in https://github.com/immich-app/immich/pull/10036
- fix(server): min face detection score not being passed correctly by @mertalev in https://github.com/immich-app/immich/pull/10050
- fix(server): otel not working due to port conflicts after combining containers by @zackpollard in https://github.com/immich-app/immich/pull/10078
- fix(server): asset delete logic by @jrasm91 in https://github.com/immich-app/immich/pull/10077
- chore(server): remove unused imagemin type dependency by @zackpollard in https://github.com/immich-app/immich/pull/10084
📱 Mobile
- chore(mobile): upgrade flutter to 3.22 by @alextran1502 in https://github.com/immich-app/immich/pull/9518
- chore: update fvmrc flutter version to 3.22.0 by @zackpollard in https://github.com/immich-app/immich/pull/9625
- fix(mobile): invite user list by @waclaw66 in https://github.com/immich-app/immich/pull/9624
- chore(deps): update mobile by @renovate in https://github.com/immich-app/immich/pull/9621
- chore(deps): update mobile by @renovate in https://github.com/immich-app/immich/pull/9629
- chore(deps): update dependency fastlane to v2.220.0 by @renovate in https://github.com/immich-app/immich/pull/9653
- fix(mobile): use correct Focus Node for latitude and longitude by @foux in https://github.com/immich-app/immich/pull/9699
- fix(mobile): respect SSL override during background sync by @K3das in https://github.com/immich-app/immich/pull/9587
- fix(mobile): appBar on album viewer screen animates out and doesnt alter asset grid position by @ConnerWithAnE in https://github.com/immich-app/immich/pull/9741
- chore(deps): update dependency flutter to v3.22.1 by @renovate in https://github.com/immich-app/immich/pull/9820
- fix(mobile): viewAsset URL string by @alextran1502 in https://github.com/immich-app/immich/pull/10044
- chore(mobile): translation update by @alextran1502 in https://github.com/immich-app/immich/pull/10053
- feat(mobile): compatibility message warning by @alextran1502 in https://github.com/immich-app/immich/pull/10065
🖥️ Web
- chore(web): light theme text color improvement by @alextran1502 in https://github.com/immich-app/immich/pull/9553
- fix(web): fix add to album modal text spacing by @Snowknight26 in https://github.com/immich-app/immich/pull/9606
- fix(web): prevent asset grid dates from being truncated by @Snowknight26 in https://github.com/immich-app/immich/pull/9603
- fix(web): render failed upload buttons correctly on mobile by @eric-barch in https://github.com/immich-app/immich/pull/9601
- fix(web): emit updated date when pressing enter by @lukashass in https://github.com/immich-app/immich/pull/9640
- refactor(web): refactor album selection modal and album summary component by @Snowknight26 in https://github.com/immich-app/immich/pull/9658
- fix(web): albums dark mode contrast + a11y issue by @michelheusschen in https://github.com/immich-app/immich/pull/9662
- feat(web): s by @jrasm91 in https://github.com/immich-app/immich/pull/9663
- fix(web): hide detail panel for shared links with hidden metadata by @michelheusschen in https://github.com/immich-app/immich/pull/9700
- refactor(web): svelte actions by @martabal in https://github.com/immich-app/immich/pull/9701
- feat(web): deduplication UI by @alextran1502 in https://github.com/immich-app/immich/pull/9540
- fix(web): show api key copy button in Firefox by @lukashass in https://github.com/immich-app/immich/pull/9704
- fix(web): allow copying text in photo viewer by @lukashass in https://github.com/immich-app/immich/pull/9705
- fix(web): shared link isOwner check by @michelheusschen in https://github.com/immich-app/immich/pull/9729
- fix(web): fix asset grid keyboard navigation by @Snowknight26 in https://github.com/immich-app/immich/pull/9448
- fix(web): profile picture url by @michelheusschen in https://github.com/immich-app/immich/pull/9754
- fix(web): add location modal invisible on safari by @michelheusschen in https://github.com/immich-app/immich/pull/9756
- fix(web): detail panel asset description by @michelheusschen in https://github.com/immich-app/immich/pull/9765
- fix(web): keyboard event propagation in modals by @ben-basten in https://github.com/immich-app/immich/pull/9713
- fix(web): memories year missing by @michelheusschen in https://github.com/immich-app/immich/pull/9787
- fix(web): require button type by @michelheusschen in https://github.com/immich-app/immich/pull/9786
- fix(web): validation of number input fields by @michelheusschen in https://github.com/immich-app/immich/pull/9789
- chore(web): valid steps for setting max distance by @alextran1502 in https://github.com/immich-app/immich/pull/9791
- refactor(web): ConfirmDialog and dialogController by @alextran1502 in https://github.com/immich-app/immich/pull/9716
- fix(web): update password-protected share logo size by @Snowknight26 in https://github.com/immich-app/immich/pull/9567
- feat: add units to exposure time display by @Snowknight26 in https://github.com/immich-app/immich/pull/9803
- fix(web): high resolution image on zoom by @michelheusschen in https://github.com/immich-app/immich/pull/9818
- refactor: image path building by @jrasm91 in https://github.com/immich-app/immich/pull/9823
- fix(web): navigate to the correct URL when unstacking from the asset viewer by @Snowknight26 in https://github.com/immich-app/immich/pull/9841
- feat: confirm on restore by @martabal in https://github.com/immich-app/immich/pull/9862
- fix: clear multiselect when asset-grid is empty by @martabal in https://github.com/immich-app/immich/pull/9864
- fix(web): remove markdown from settings by @Snowknight26 in https://github.com/immich-app/immich/pull/9873
- fix(web): sizing of fullscreen modal by @michelheusschen in https://github.com/immich-app/immich/pull/9850
- fix(web): update camera brand wording on search page by @Snowknight26 in https://github.com/immich-app/immich/pull/9881
- fix(web): set album description textarea height correctly by @Snowknight26 in https://github.com/immich-app/immich/pull/9880
- fix(web): exiting a slideshow will no longer hide the cursor by @Snowknight26 in https://github.com/immich-app/immich/pull/9931
- chore(web): unique ID generation by @ben-basten in https://github.com/immich-app/immich/pull/9932
- fix(web): stop slideshow when pressing escape from asset viewer by @Snowknight26 in https://github.com/immich-app/immich/pull/9929
- fix(web): disable bulk action buttons while items selected by @Jacob-G-Watson in https://github.com/immich-app/immich/pull/9938
- refactor(web): remove events from clickOutside action by @michelheusschen in https://github.com/immich-app/immich/pull/9943
- chore(web): simpler unique ID generation by @ben-basten in https://github.com/immich-app/immich/pull/9945
- fix(web): empty album stored by @remshams in https://github.com/immich-app/immich/pull/9771
- feat(web): email notification preference settings by @alextran1502 in https://github.com/immich-app/immich/pull/9934
- fix(web): fix sidebar tooltip pluralization by @Snowknight26 in https://github.com/immich-app/immich/pull/9952
- feat(web): translations by @Manic-87 in https://github.com/immich-app/immich/pull/9854
- feat(web): Option to assign people to unassigned faces by @Jan108 in https://github.com/immich-app/immich/pull/9773
- feat(web): add an empty placeholder to the explore page by @Snowknight26 in https://github.com/immich-app/immich/pull/9990
- fix(web): show duplicate message by @jrasm91 in https://github.com/immich-app/immich/pull/9992
- refactor: one locales file for all english translations by @danieldietzler in https://github.com/immich-app/immich/pull/10006
- fix(web): clear locale setting by @michelheusschen in https://github.com/immich-app/immich/pull/10008
- feat(web): add archive shortcut to grid by @Snowknight26 in https://github.com/immich-app/immich/pull/9499
- fix(web): translations by @michelheusschen in https://github.com/immich-app/immich/pull/10021
- chore(web): missing notification settings translations by @zackpollard in https://github.com/immich-app/immich/pull/10022
- chore(web): use development lang for tests by @michelheusschen in https://github.com/immich-app/immich/pull/10025
- feat(web): send test email button by @alextran1502 in https://github.com/immich-app/immich/pull/10011
- fix(web): language setting by @michelheusschen in https://github.com/immich-app/immich/pull/10024
- feat: photo-viewer; use <img> instead of blob urls, simplify/refactor, avoid window.events by @midzelis in https://github.com/immich-app/immich/pull/9883
- fix(web): translation by @alextran1502 in https://github.com/immich-app/immich/pull/10026
- fix(web): weblate merge conflict by @alextran1502 in https://github.com/immich-app/immich/pull/10027
- fix(web): storage migration description by @michelheusschen in https://github.com/immich-app/immich/pull/10041
- fix(web): drag and drop with non english language by @michelheusschen in https://github.com/immich-app/immich/pull/10040
- fix: prevent trashing of trashed assets by @roschaefer in https://github.com/immich-app/immich/pull/10028
- feat(web): allow ctrl-click / cmd-click on photos by @GeorgeShao in https://github.com/immich-app/immich/pull/9954
- refactor: dedicated icon for permanently delete by @roschaefer in https://github.com/immich-app/immich/pull/10052
- chore(web): fix weblate conflicts by @zackpollard in https://github.com/immich-app/immich/pull/10071
- chore: update translations by @weblate in https://github.com/immich-app/immich/pull/10072
- chore: update translations by @weblate in https://github.com/immich-app/immich/pull/10074
- chore: update translations by @weblate in https://github.com/immich-app/immich/pull/10075
- chore(web): order json files alphabetically by @zackpollard in https://github.com/immich-app/immich/pull/10076
- fix(web): mouse-wheel scrolling on detail panel is disabled by @alextran1502 in https://github.com/immich-app/immich/pull/10080
🧠 Machine Learning
- fix(ml): openvino not working with kernel 6.7.5 or later by @mertalev in https://github.com/immich-app/immich/pull/9541
⚡ CLI
- refactor: sdk init by @jrasm91 in https://github.com/immich-app/immich/pull/9563
📓 Documentation
- docs: use
npm in README by @roschaefer in https://github.com/immich-app/immich/pull/9566
- docs: Add pgadmin4 to docker-compose.yml by @roschaefer in https://github.com/immich-app/immich/pull/9556
- docs: community docs typos by @mmomjian in https://github.com/immich-app/immich/pull/9604
- chore(docs): Russian readme update by @Leatryx in https://github.com/immich-app/immich/pull/9691
- fix(docs): Duplicate user key in example config.json by @bo0tzz in https://github.com/immich-app/immich/pull/9735
- fix(docs): docker version -> name in ML by @mmomjian in https://github.com/immich-app/immich/pull/9755
- docs: update README fr by @Chiogros in https://github.com/immich-app/immich/pull/9764
- docs: Add Google OAuth example by @aviv926 in https://github.com/immich-app/immich/pull/9778
- feat(ci): website deployment IaC and github actions by @zackpollard in https://github.com/immich-app/immich/pull/9857
- feat: split preview and archives to different pages projects by @zackpollard in https://github.com/immich-app/immich/pull/9878
- feat(docs): microservices be gone by @mmomjian in https://github.com/immich-app/immich/pull/9558
- fix(docs): announcement bar by @jrasm91 in https://github.com/immich-app/immich/pull/9898
- docs: roadmap by @jrasm91 in https://github.com/immich-app/immich/pull/9902
- feat(docs): shinify roadmap by @danieldietzler in https://github.com/immich-app/immich/pull/9916
- docs: Update Authentik example by @aviv926 in https://github.com/immich-app/immich/pull/9950
- fix(doc):language links updates by @klahr in https://github.com/immich-app/immich/pull/10035
- docs: Add Email Notifications info by @aviv926 in https://github.com/immich-app/immich/pull/9930
- docs: otel metrics port worker split by @zackpollard in https://github.com/immich-app/immich/pull/10085
🔨 Maintenance
- fix(deps): update dependency @zoom-image/svelte to v0.2.12 by @renovate in https://github.com/immich-app/immich/pull/9487
- chore: bump open-api by @jrasm91 in https://github.com/immich-app/immich/pull/9522
- chore(deps): update dependency eslint-plugin-unicorn to v53 by @renovate in https://github.com/immich-app/immich/pull/9502
- chore: vs code formatter settings by @jrasm91 in https://github.com/immich-app/immich/pull/9562
- chore(deps): update registry.hub.docker.com/library/redis:6.2-alpine docker digest to c0634a0 by @renovate in https://github.com/immich-app/immich/pull/9578
- fix: docker compose pull rate limit by @parsapoorsh in https://github.com/immich-app/immich/pull/9600
- chore(deps): update grafana/grafana docker tag to v11 by @renovate in https://github.com/immich-app/immich/pull/9599
- chore(deps): update redis:6.2-alpine docker digest to c0634a0 by @renovate in https://github.com/immich-app/immich/pull/9577
- fix(deps): update typescript-projects by @renovate in https://github.com/immich-app/immich/pull/9617
- fix(deps): update dependency svelte-maplibre to v0.9.3 by @renovate in https://github.com/immich-app/immich/pull/9626
- chore(deps): update mambaorg/micromamba:bookworm-slim docker digest to d5b8281 by @renovate in https://github.com/immich-app/immich/pull/9616
- chore(deps): update base-image to v20240521 (major) by @renovate in https://github.com/immich-app/immich/pull/9632
- ci: add conventional commit validation for PR titles by @zackpollard in https://github.com/immich-app/immich/pull/9634
- fix(deps): update dependency sharp to v0.33.4 by @renovate in https://github.com/immich-app/immich/pull/9633
- chore: gitignore open api docs/tests by @jrasm91 in https://github.com/immich-app/immich/pull/9643
- chore(deps): update dependency @types/lodash to v4.17.3 by @renovate in https://github.com/immich-app/immich/pull/9644
- chore: remove unused stubs by @jrasm91 in https://github.com/immich-app/immich/pull/9647
- feat(server): healthchecks for PG and redis by @mmomjian in https://github.com/immich-app/immich/pull/9590
- chore(deps): bump ytanikin/PRConventionalCommits from 1.1.0 to 1.2.0 by @dependabot in https://github.com/immich-app/immich/pull/9661
- chore(server): remove unused code by @jrasm91 in https://github.com/immich-app/immich/pull/9670
- chore(deps): update redis:6.2-alpine docker digest to e31ca60 by @renovate in https://github.com/immich-app/immich/pull/9718
- chore(deps): update docker.io/redis:6.2-alpine docker digest to e31ca60 by @renovate in https://github.com/immich-app/immich/pull/9717
- fix: re-add extends section for server in Compose files by @mertalev in https://github.com/immich-app/immich/pull/9806
- feat(deployment): add TZ to example.env by @mmomjian in https://github.com/immich-app/immich/pull/9805
- fix(deps): update machine-learning by @renovate in https://github.com/immich-app/immich/pull/9812
- fix(deps): update typescript-projects by @renovate in https://github.com/immich-app/immich/pull/9813
- ci: update flutter separately to other mobile dependencies by @zackpollard in https://github.com/immich-app/immich/pull/9817
- chore(deps): update base-image to v20240528 (major) by @renovate in https://github.com/immich-app/immich/pull/9830
- chore: remove unused code by @jrasm91 in https://github.com/immich-app/immich/pull/9824
- ci: search for pull request when docs are deploying from a fork by @zackpollard in https://github.com/immich-app/immich/pull/9858
- ci: use extracted PR number for messaging PRs from forks & remove approval by @zackpollard in https://github.com/immich-app/immich/pull/9865
- ci: incorrect subdomain used for docs by @zackpollard in https://github.com/immich-app/immich/pull/9890
- ci: tear down docs infra after PR is merged & release fixes by @zackpollard in https://github.com/immich-app/immich/pull/9893
- chore(deps): update terraform cloudflare to v4.34.0 by @renovate in https://github.com/immich-app/immich/pull/9953
- chore(deps): update node.js to 2d0ce60 by @renovate in https://github.com/immich-app/immich/pull/9970
- fix(deps): update dependency exiftool-vendored to v26.1.0 by @renovate in https://github.com/immich-app/immich/pull/9972
- chore(deps): update machine-learning by @renovate in https://github.com/immich-app/immich/pull/9969
- fix(deps): update typescript-projects by @renovate in https://github.com/immich-app/immich/pull/9971
- chore(deps): bump stumpylog/image-cleaner-action from 0.6.0 to 0.7.0 by @dependabot in https://github.com/immich-app/immich/pull/9979
- chore(deps): update dependency @swc/core to v1.5.24 by @renovate in https://github.com/immich-app/immich/pull/9983
- chore(deps): update node.js to db6fa52 by @renovate in https://github.com/immich-app/immich/pull/9984
- chore(deps): update node.js to 696ae41 by @renovate in https://github.com/immich-app/immich/pull/9986
- chore(deps): update base-image to v20240604 (major) by @renovate in https://github.com/immich-app/immich/pull/10004
- chore(deps): update docker.io/redis:6.2-alpine docker digest to d6c2911 by @renovate in https://github.com/immich-app/immich/pull/9842
- chore(deps): update redis:6.2-alpine docker digest to d6c2911 by @renovate in https://github.com/immich-app/immich/pull/9843
- chore(deps): update grafana/grafana:11.0.0-ubuntu docker digest to dcd3ae7 by @renovate in https://github.com/immich-app/immich/pull/9770
- chore: update translations by @weblate in https://github.com/immich-app/immich/pull/10003
- fix: weblate by @danieldietzler in https://github.com/immich-app/immich/pull/10029
- chore: update translations by @weblate in https://github.com/immich-app/immich/pull/10038
- refactor: remove dead code from Makefile by @roschaefer in https://github.com/immich-app/immich/pull/10061
- chore(deps): bump docker/build-push-action from 5.3.0 to 5.4.0 by @dependabot in https://github.com/immich-app/immich/pull/10069
- chore: remove pr labeler requirement by @alextran1502 in https://github.com/immich-app/immich/pull/10081
Other changes
- chore(server): openapi generation by @alextran1502 in https://github.com/immich-app/immich/pull/9585
- ci: automatically apply PR labels by @roschaefer in https://github.com/immich-app/immich/pull/10064
- chore: update translations by @weblate in https://github.com/immich-app/immich/pull/10073
New Contributors
- @roschaefer made their first contribution in https://github.com/immich-app/immich/pull/9566
- @parsapoorsh made their first contribution in https://github.com/immich-app/immich/pull/9600
- @CodaBool made their first contribution in https://github.com/immich-app/immich/pull/9583
- @foux made their first contribution in https://github.com/immich-app/immich/pull/9699
- @Leatryx made their first contribution in https://github.com/immich-app/immich/pull/9691
- @K3das made their first contribution in https://github.com/immich-app/immich/pull/9587
- @safehome-jdev made their first contribution in https://github.com/immich-app/immich/pull/9751
- @fvdnabee made their first contribution in https://github.com/immich-app/immich/pull/9894
- @Jacob-G-Watson made their first contribution in https://github.com/immich-app/immich/pull/9938
- @remshams made their first contribution in https://github.com/immich-app/immich/pull/9771
- @Manic-87 made their first contribution in https://github.com/immich-app/immich/pull/9854
- @weblate made their first contribution in https://github.com/immich-app/immich/pull/10003
- @mycroftsnm made their first contribution in https://github.com/immich-app/immich/pull/10036
- @GeorgeShao made their first contribution in https://github.com/immich-app/immich/pull/9954
Full Changelog: https://github.com/immich-app/immich/compare/v1.105.1...