Immich v2.2.0 Release
요약
```html
v2.2.0
안정적인 릴리스 이후 한 달이 빠르게 지나갔습니다! 이정표에 대한 모든 분들의 성원에 감사드립니다. 특히 Retro DVD에 대한 성원에 감사드립니다! Retro DVD는 한정판으로 판매되며, 현재 재고가 소진되면 더 이상 생산하지 않습니다. immich.store에서 구매하실 수 있습니다.
주요 내용
Immich v2.2.0 버전이 출시되었습니다. 이번 릴리스에서는 기능 및 개선 사항 목록이 버그 수정 목록보다 깁니다. 주요 내용은 다음과 같습니다.
v2버전을 위한 새로운 변경 가능한 Docker 태그- OCR(광학 문자 인식) 기능
- [Web] 정렬된 레이아웃 계산을 위한 WASM 구현 🦀
- [Web] 중복 검토 화면 UI 개선
- [Mobile] 에셋 상세 시트에 앨범 표시
- [Mobile] 유사한 사진 표시
- [Mobile] 활동 보기 채팅 스타일
- [Mobile] 비디오 고정밀 탐색
- [Mobile] 서버-클라이언트 버전 불일치 표시를 위한 새로운 UI
- 관리자로 새 사용자 생성 옵션
- 주요 수정: 이전 iOS 기기에서 백그라운드 작업 생성 시 멈추는 문제 해결
- 주요 수정: iOS에서 임시 파일이 올바르게 정리되도록 수정
v2 버전을 위한 Docker 태그
example.env 파일이 IMMICH_VERSION=v2를 사용하도록 업데이트되었습니다. 이 태그는 최신 2.x.x 릴리스 이미지를 가리키는 변경 가능한 Docker 태그입니다.
OCR(광학 문자 인식)
OCR 검색은 사용자들이 가장 많이 요청한 기능 중 하나였습니다. @flipped-1121님과 @mertalev님의 훌륭한 작업 덕분에 Immich는 이제 이미지에서 텍스트를 인식할 수 있습니다. OCR 파이프라인은 기존 머신 러닝 흐름에 통합됩니다.
새로 업로드하는 파일의 경우 기존 머신 러닝 흐름과 함께 자동으로 실행됩니다. 기존 설정의 경우 Administration > Job > OCR 작업에 대해 "All" 클릭으로 이동하여 갤러리에 대한 OCR 정보를 추출할 수 있습니다.
사진 속 글자를 검색하려면 웹 앱의 검색 유형에 새로운 라디오 버튼이 추가되었고, 모바일 앱의 드롭다운 목록에 추가되었습니다.
OCR은 현재 영어와 중국어(간체) 텍스트를 공식적으로 지원합니다. 한국어, 일본어, 라틴 문자를 사용하는 언어도 일반적으로 작동하지만 정확도가 떨어지거나 발음 구별 기호가 없는 문자로 해석될 수 있습니다.
[Web] WASM을 사용한 정렬 레이아웃 계산 🦀
이번 릴리스에는 웹에서 정렬 레이아웃을 다시 구현하여 각 버킷의 썸네일 크기를 계산하는 속도가 몇 배 빨라져 대규모 버킷(예: 한 달에 수만 개의 에셋)의 렌더링 성능이 크게 향상되었습니다.
[Web] 중복 검토 화면 UI 개선
중복된 에셋 그룹에서 보관할 에셋을 결정하는 데 도움이 되도록 각 에셋 아래의 정보 섹션에 날짜/시간, 위치, 에셋이 속한 앨범 수 등 더 많은 정보가 추가되었습니다. 정보 섹션은 다양한 속성이 강조 표시되어 정보를 더 빠르게 스캔할 수 있도록 재설계되었습니다.
[Mobile] 에셋 세부 정보에 앨범 표시
정보 시트에서 에셋이 속한 앨범을 보고 탐색할 수 있습니다.
[Mobile] 유사한 사진 표시
인기 있는 "유사한 사진 표시" 기능이 모바일 앱에 추가되었습니다. 세부 정보 시트에서 버튼을 사용하여 현재 보고 있는 이미지와 유사한 이미지를 찾을 수 있습니다.
[Mobile] 앨범 활동 보기 채팅 스타일
이제 앨범의 활동 보기에 메시지와 작업이 채팅 스타일로 표시되어 더 쉽게 따라갈 수 있습니다.
[Mobile] 비디오 고정밀 탐색
비디오 플레이어의 진행률 표시줄에 이제 더 높은 정밀도로 지속 시간을 처리할 수 있습니다. 따라서 초 단위로 이동하는 대신 진행률 표시줄에서 위치 업데이트를 부드럽게 만들고 이전보다 훨씬 더 부드럽게 탐색할 수 있습니다.
[Mobile] 서버-클라이언트 버전 불일치를 나타내는 새로운 UI
이제 안정화 시대에 접어들었으므로 새 버전 알림이 덜 눈에 띄고 덜 방해가 되도록 하고자 합니다. 모바일 앱의 업데이트 메시지와 아이콘 색상이 이러한 목적에 맞게 재설계되었습니다.
서버 버전이 사용 가능한 버전보다 오래된 경우 클릭 가능한 링크가 있는 메시지가 표시되어 최신 릴리스 정보로 연결됩니다. 모바일 앱 버전이 App Store에서 사용 가능한 버전보다 오래된 경우 업데이트를 수행하기 위해 App Store로 연결되는 클릭 가능한 링크가 있는 메시지가 나타납니다.
| 서버 업데이트 | 앱 업데이트 |
|---|---|
| 서버 업데이트 필요 메시지 스크린샷 | 앱 업데이트 필요 메시지 스크린샷 |
Immich 지원
프로젝트가 도움이 된다고 생각되면 https://buy.immich.app에서 제품 키를 구매하거나 https://immich.store에서 상품을 구매하여 Immich를 지원할 수 있습니다.
변경 사항
🔒 보안
- fix(server): valkey를 8로 업그레이드
🚀 기능
- feat(ml): coreml
- feat(server): SMTPS 전송 구성 옵션
- feat: 중복 에셋 비교 개요에 위치 및 날짜 표시
- feat: 사용자 페이지에서 사용자 앱 버전 보기
- feat: iOS 릴리스 흐름을 위한 GHA
- feat(web): 카메라 렌즈 모델 검색 필터 추가
- feat(web): 원본 비디오 로드
- feat(cli): --delete-duplicates 옵션 추가
- feat: ocr
- feat: 에셋 뷰어 하단 시트에 "나타나는" 앨범 표시
- feat: getAssetOcr 엔드포인트
- feat(mobile): 유사한 사진 보기
- feat(mobile): 채팅 스타일 앨범 활동 타임라인
🌟 개선 사항
- feat(album): 공유 앨범에 사용자별 기여도 표시
- feat: 비디오 자동 재생 설정 추가
- fix(web): 스크롤 제한된 타임라인에서 스크러버 동작 개선
- feat(web): 유틸리티 페이지 및 온보딩에 다운로드 링크 및 Obtainium 링크 생성기 추가
- feat(web): 관리자로 사용자 생성
- chore: 백업 성공 알림 설명 재작업
- feat(mobile): 에셋 활동 목록 UI를 하단 시트로 변경
- feat: 앱 바 서버 정보에 업데이트 메시지 개선
- refactor(web): 스크러버에서 날짜 레이블 개선
- feat: pg18에 대한 데이터베이스 덤프 지원
- feat: 썸네일 애니메이션 개선
- feat(web): 공유 링크 만료를 반응적으로 업데이트
- feat: (mobile) 앨범 활동 페이지에서 에셋 뷰어 열기
- feat(mobile): 고정밀 탐색
- feat(web): wasm 정렬 레이아웃, 동기식 버전
- feat: 비밀번호 변경 시 세션 로그아웃
- feat(server): 비디오 파일에 대한 메타데이터 읽기 기능 향상
- feat: 중복 감지 해결을 위한 UI 개선
- feat: 토스트
- feat: 에셋 복사
🐛 버그 수정
- fix(web): 사진만 있는 추억에서 음소거 버튼이 표시되지 않도록 수정
- fix: iOS에서 최근 앨범에 대한 모든 에셋 가져오기
- fix: 태그 정리 쿼리 및 테스트 추가
- fix: 서버 통계 카드에서 단위가 겹치는 문제 수정
- fix: 시간 작업 탐색
- fix: 공유 링크에서 에셋 제거
- fix(server): 에셋 소유자만 즐겨찾기 상태를 볼 수 있도록 수정
- fix(web): 스크롤바 위에 컨텍스트 오버레이 렌더링
- fix(web): 폴더 보기에서 두 개의 스크롤바가 표시되는 문제 수정
- fix: ML이 비활성화된 경우 ML 가용성 확인 건너뛰기
- chore: 단일 병합 에셋에 대한 대화 상자 건너뛰기
- fix(mobile): 실험적 네트워크 기능 표기, 잘못 할당된 번역 태그 정리
- fix(ml): cudnn 버전 고정
- fix(server): GPSLongitudeRef 및 GPSLatitudeRef EXIF 필드 사용
- fix: 모든 이미지 편집 허용
- fix: 이전 iOS 기기에서 앱이 멈추는 문제 격리
- fix: 엔진에서 분리된 후 Android에서 해시 응답 게시 건너뛰기
- fix: 뒤로/앞으로 탐색 시 타임라인에서 스크롤이 재설정되지 않도록 수정
- fix: Android 로컬 동기화에서 null bucketId 또는 이름 처리
- fix: 업로드 전에 원본 이름 가져오기
- fix: Safari에서 focus-trap 수정
- fix(web): 비디오 뷰어에서 PIP(Picture-in-Picture) 비활성화
- fix: 앱 바 대화 상자에서 히트박스 크기 확대
- fix: iOS에서 업로드하기 전에 임시 캐시 지우기
📚 문서
- fix(web): 일부 트랜스코딩 설정 명확화
- docs: 작은 오류 수정
- docs: OpenVINO WSL HW 가속 확장
- docs: 잘 알려진 사용법 명확화
- feat: 커뮤니티 프로젝트 및 가이드를 immich-awesome으로 이동
- fix(docs): CLI 업로드 JSON 형식 예제
- docs: backup-and-restore.md 업데이트
새로운 기여자
- @Chaoscontrol님이 #21740에서 첫 기여를 하셨습니다.
- @meesfrensel님이 #22802에서 첫 기여를 하셨습니다.
- @0xflotus님이 #22890에서 첫 기여를 하셨습니다.
- @clementmartin님이 #22833에서 첫 기여를 하셨습니다.
- @leepeuker님이 #22858에서 첫 기여를 하셨습니다.
- @nickwebcouk님이 #21065에서 첫 기여를 하셨습니다.
- @idubnori님이 #23075에서 첫 기여를 하셨습니다.
- @ruippeixotog님이 #21445에서 첫 기여를 하셨습니다.
전체 변경 내역: v2.1.0...v2.2.0
```
원문 내용
v2.2.0
The month following our stable release 🎉 has flown by! We are blown away by the support from everyone around this milestone, especially for the Retro DVD 📀! If you want to get one for yourself, you still can, but once this batch is gone, we won’t be making any more, EVER! So get one while you can from immich.store!
Highlights
Welcome to version v2.2.0 of Immich. This release comes with the traditional Immich fashion, where the features and enhancements list is longer than the bug fixes list. Let’s dive right into the highlights of this exciting release
- New mutable Docker tag for
v2versions - Optical Character Recognition (OCR)
- [Web] WASM implementation for justified layout calculation 🦀
- [Web] UI improvement for the review duplicates screen
- [Mobile] Show albums in the asset’s detail sheet
- [Mobile] Show similar photos
- [Mobile] Chat-style for activity view
- [Mobile] High precision seeking for video
- [Mobile] New UI to present server-client version mismatch
- Option to create a new user as an admin
- Notable fix: older iOS devices freeze when spawning background tasks
- Notable fix: temporary files on iOS are now cleaned up properly
Docker tag for v2 versions
The example.env file has been updated to use IMMICH_VERSION=v2, which is a mutable Docker tag that points to the latest 2.x.x release image.
Optical Character Recognition (OCR)
OCR search has been one of the most requested features on our users' wishlists. Thanks to the fantastic work of @flipped-1121 and @mertalev, Immich can now recognize texts in images, adding a powerful capability to its already powerful search features. This will help users find lost family recipes or a crypto wallet’s passphrase more easily.
The OCR pipeline is integrated into the existing machine learning flow. For new uploads, it will run automatically with the existing machine learning flow. For existing setups, you can go to Administration > Job > Click on “All” for OCR job to extract OCR information for your gallery
To search for letters in photos, a new radio button has been added to the search type on the web app, and in the dropdown list on the mobile app.
OCR currently has official support for English and Chinese (Simplified) text. Korean, Japanese, and languages using Latin script generally work as well, but may have lower accuracy or interpret characters without the diacritics.
[Web] WASM implementation for justified layout calculation 🦀
This release comes with a blazing-fast re-implementation of the justified layout on the web, which makes calculating the size of the thumbnails in each bucket several times faster, significantly improving the rendering performance for a large bucket, i.e., 10s of thousands of assets in a single month
[Web] UI improvement for the review duplicates screen
To help you decide which asset to keep in a group of duplicates, more information has been added to the info section below each asset, including date/time, location, and the number of albums the asset is in. The info section has been redesigned to make scanning the information faster, with different properties getting highlighted. We will keep improving on this interface to make it more intuitive
[Mobile] Show albums in the asset’s detail
You can view and navigate to the albums that the asset belongs to in the info sheet
[Mobile] Show similar photos
The popular feature “Show similar photos” has made its way to the mobile app. You can use the button in the detail sheet to find similar images to the one you are viewing.
[Mobile] Chat-style for album activity view
The album’s activity view now displays the messages and actions in a chat-style view, making it easier to follow
[Mobile] High precision seeking for video
The progress bar of the video player now has higher precision duration handling. This makes seeking much more fluid than before, as well as making position updates in the progress bar smooth, rather than jumping from second to second.
[Mobile] New UI to present server-client version mismatch
As we are now in the stable-era, we want to make the notification of a new version more subtle, less distracting. The update message and icon’s color on the mobile app have been redesigned for that purpose.
When your server version is older than the available one, a message with a clickable link is displayed, directing you to the latest release notes. When your mobile app version is older than the one available on the App Store, a message with a clickable link appears, directing you to the App Store to perform the update.
| Server update | App update |
|---|---|
![]() |
![]() |
Support Immich
If you find the project helpful, you can support Immich by purchasing a product key at https://buy.immich.app or our merchandise at https://immich.store
What's Changed
🔒 Security
🚀 Features
- feat(ml): coreml by @mertalev in #17718
- feat(server): Option to configure SMTPS transport by @clementmartin in #22833
- feat: show location & date on duplicate asset comparison overview by @adrianjost in #22632
- feat: view the user's app version on the user page by @aviv926 in #21345
- feat: GHA for iOS release flow by @alextran1502 in #23196
- feat(web): add search filter for camera lens model. by @dagstuan in #21792
- feat(web): load original videos by @andre-antunesdesa in #20041
- feat(cli): add --delete-duplicates option by @RobinJ1995 in #20035
- feat: ocr by @flipped-1121 in #18836
- feat: show "appears in" albums on asset viewer bottom sheet by @bwees in #21925
- feat: getAssetOcr endpoint by @alextran1502 in #23331
- feat(mobile): view similar photos by @vitoksmile in #22148
- feat(mobile): chat-style album activities timeline by @idubnori in #23185
🌟 Enhancements
- feat(album): show per-user contributions in shared albums by @Chaoscontrol in #21740
- feat: add video auto play setting by @Saschl in #20416
- fix(web): improve scrubber behavior on scroll-limited timelines by @midzelis in #22917
- feat(web): Download links and Obtainium link generator on Utilities page and onboarding by @NicholasFlamy in #20589
- feat(web): create user as admin by @jrasm91 in #23026
- chore: rework backup success notification descriptions by @bwees in #23024
- feat(mobile): Change the UI of asset activity list to bottom sheet by @idubnori in #23075
- feat: improved update messaging on app bar server info by @bwees in #22938
- refactor(web): improve date labels in scrubber by @midzelis in #23046
- feat: support database dumps for pg18 by @zackpollard in #23186
- feat: improvements of thumbnail animations by @Lauritz-Tieste in #20300
- feat(web): reactively update shared link expiration by @khanbasharat3a1 in #22274
- feat: (mobile) open asset viewer from album activity page by @idubnori in #23182
- feat(mobile): high precision seeking by @mertalev in #22346
- feat(web): wasm justified layout, sync edition by @mertalev in #23194
- feat: logout sessions on password change by @MontejoJorge in #23188
- feat(server): enhance metadata reading for video files by @tstachl in #23258
- feat: improve UI for resolving duplication detection by @alextran1502 in #23145
- feat: toasts by @jrasm91 in #23298
- feat: asset copy by @danieldietzler in #23172
🐛 Bug fixes
- fix(web): prevent photo-only memories showing mute button by @meesfrensel in #22802
- fix: get all assets for the Recents album on iOS by @alextran1502 in #22956
- fix: tag clean up query and add tests by @MontejoJorge in #22633
- fix: unit overlapses value in server stats card by @alextran1502 in #22994
- fix: navigate to time action by @midzelis in #20928
- fix: remove assets from shared link by @MontejoJorge in #22935
- fix(server): only asset owner should see favorite status by @pwojtaszko in #20654
- fix(web): render context overlays over the scrollbar by @PaulSonOfLars in #23007
- fix(web): two scrollbars in folder view by @YarosMallorca in #23045
- fix: skip ML availability check if ML is disabled by @bo0tzz in #23053
- chore: skip dialog for single merged asset by @shenlong-tanwen in #22958
- fix(mobile): notate experimental network features, cleanup mis assigned translation tags by @mmomjian in #23021
- fix(ml): pin cudnn version by @mertalev in #23110
- fix(server): use GPSLongitudeRef and GPSLatitudeRef EXIF fields by @ruippeixotog in #21445
- fix: allow editing all images by @bwees in #23144
- fix: isolate freeze app on older ios device by @alextran1502 in #22509
- fix: android skip posting hash response after detached from engine by @shenlong-tanwen in #23192
- fix: back/forward navigation won't reset scroll in timeline by @midzelis in #22838
- fix: handle null bucketId or name in android local sync by @shenlong-tanwen in #23224
- fix: fetch original name before upload by @shenlong-tanwen in #21877
- fix: focus-trap on safari by @midzelis in #23246
- fix(web): disable picture-in-picture on video viewer by @tstachl in #23318
- fix: make hitbox on app bar dialog bigger by @bwees in #23316
- fix: clear temp cache on iOS before uploads by @shenlong-tanwen in #23326
📚 Documentation
- fix(web): clarify some transcoding settings by @meesfrensel in #22797
- docs: fix small error by @0xflotus in #22890
- docs: Expand on OpenVINO WSL HW accel by @Mraedis in #21054
- docs: clarify well-known usage by @jrasm91 in #23018
- feat: move community projects and guides to immich-aweseome by @jrasm91 in #23016
- fix(docs): cli upload json format example by @leepeuker in #22858
- docs: update backup-and-restore.md by @nickwebcouk in #21065
New Contributors
- @Chaoscontrol made their first contribution in #21740
- @meesfrensel made their first contribution in #22802
- @0xflotus made their first contribution in #22890
- @clementmartin made their first contribution in #22833
- @leepeuker made their first contribution in #22858
- @nickwebcouk made their first contribution in #21065
- @idubnori made their first contribution in #23075
- @ruippeixotog made their first contribution in #21445
- @Nykri made their first contribution in #22888
- @slagiewka made their first contribution in #23130
- @khanbasharat3a1 made their first contribution in #22274
- @andre-antunesdesa made their first contribution in #20041
- @RobinJ1995 made their first contribution in #20035
- @flipped-1121 made their first contribution in #18836
- @ZacWarham made their first contribution in #23275
- @tstachl made their first contribution in #23258
Full Changelog: v2.1.0...v2.2.0
링크 : https://github.com/immich-app/immich/releases/tag/v2.2.0

