Releases: immich-app/immich
v2.5.6
v2.5.6
This patch release addresses the following issues
- Fixed an issue where thumbnail generation runs every night when
full-size image generationoption is enabled. - Fixed an issue where iOS is slow to start in some cases.
- Fixed an issue where Android device cannot delete asset using Free Up Space feature if it has more than a few thousand assets
🐛 Bug fixes
- fix: enhance album sorting functionality with order handling by @LeLunZ in #24816
- fix: add missing translations for image editor by @michelheusschen in #25957
- fix: image and video download complete notification shows "file_name" by @romoisverycool in #25975
- fix: user profile refetched each time on opening app dialog by @shenlong-tanwen in #25992
- fix: improve albums page load time on firefox by @michelheusschen in #26025
- fix: reduce queue graph jitter and include paused count by @michelheusschen in #26023
- fix(web): toast fixed location by @YarosMallorca in #25966
- fix: scroll jump when opening show & hide people by @michelheusschen in #25932
- fix(web): display storage unit next to value instead of absolute positioning in admin user page by @K0lin in #25985
- fix: iOS slow start by @alextran1502 in #26043
- fix: profile dialog auto dismiss after opening on iPad by @alextran1502 in #26046
- fix(web): prevent context menu from overflowing viewport by @ttpss930141011 in #26041
- fix: slideshow setting dropdown overflow by @michelheusschen in #26066
- fix: free up space using small batch size to reliably work on Android by @alextran1502 in #26047
- fix(web): removing a person in an asset, doesn't remove the asset in … by @dolfje in #26068
- fix(mobile): handle image stream completion when no image is emitted by @LeLunZ in #25984
- fix: evict image from cache on error during image loading by @LeLunZ in #26078
- fix(server): thumbnail queueing by @mertalev in #26077
- fix: create face exif orientation handling by @bwees in #26108
- fix(web): refresh text by @jrasm91 in #26071
- fix: correctly cancel select all assets by @michelheusschen in #26067
- fix: person thumbnail generation on edited assets by @bwees in #26112
- fix: local date time group fall back by @alextran1502 in #26110
📚 Documentation
- feat(docs): version policy by @mmomjian in #25979
- feat(deployment): rootless compose file by @mmomjian in #25931
- docs: update ml-hardware-acceleration.md by @cmrtdev in #25755
🌐 Translations
New Contributors
- @ttpss930141011 made their first contribution in #26041
- @dolfje made their first contribution in #26068
- @cmrtdev made their first contribution in #25755
- @nicosemp made their first contribution in #25599
Full Changelog: v2.5.5...v2.5.6
v2.5.5
v2.5.5
v2.5.4 was in the way of getting out, and we got another annoyance bug fixed, so we rolled it into v2.5.5
Happy Friday! This release addresses more bugs from the v2.5.0 release. Enjoy!
- Fixed an issue where changing the timezone on the web changes the time instead of the timezone
- Fixed an issue where background task on iOS don't get triggered as often
- Fixes some issues regarding the usage of self-signed certificate and mLTS on the mobile app
🐛 Bug fixes
- fix(mobile): cancel share download when dialog is dismissed by @cmdPromptCritical in #25466
- fix: album dto docs by @jrasm91 in #25873
- fix: null validation by @jrasm91 in #25891
- fix(server): deleting stacked assets by @jrasm91 in #25874
- fix: close tag modal after tagging assets by @michelheusschen in #25884
- fix: correctly sync shared link download with metadata toggle by @michelheusschen in #25885
- fix: date time picker text color in dark mode by @alextran1502 in #25883
- fix: allow null tagIds in search dto by @michelheusschen in #25920
- fix: improve asset editor exit handling by @michelheusschen in #25917
- fix: make switch labels properly clickable by @michelheusschen in #25898
- fix: ensure theme stays in sync with @immich/ui by @michelheusschen in #25922
- fix: preserve hidden people state across pagination by @michelheusschen in #25886
- fix: file name search label by @alextran1502 in #25916
- fix(mobile): mtls on native clients by @mertalev in #25802
- fix: time zone upserts by @danieldietzler in #25889
- fix(web): Ensure profile picture is cropped to 1:1 ratio by @aditya-ai-architect in #25892
- fix(mobile): reset asset index on timeline refresh by @uhthomas in #25729
- fix: timezone in timeline bucketing by @shenlong-tanwen in #25894
- fix(mobile): Update preview and PageController position when the asset count decreases while the last item is selected by @PeterOmbodi in #25563
- fix(server): use provided database username for restore & ensure name is not mangled by @insertish in #25679
- fix: image download complete notification shows an extra {file_name} template tag by @romoisverycool in #25936
- fix: face and edit handling by @bwees in #25738
- fix: queue assets missing fullsize files for thumbnail regeneration by @midzelis in #25794
- fix: dedupe version announcement modal by @jrasm91 in #25946
- fix(cli): suppress startup messages for immich-admin by @VahantSharma in #25928
📚 Documentation
- docs: update manual backup/restore to match the automatic process by @insertish in #25924
- fix(docs): add missing --json-output arg to CLI example by @Xiol in #25870
- docs: remove writeTimeout on traefik example by @kaysond in #25837
🌐 Translations
New Contributors
- @aditya-ai-architect made their first contribution in #25892
- @VahantSharma made their first contribution in #25927
- @Xiol made their first contribution in #25870
- @cmdPromptCritical made their first contribution in #25466
- @romoisverycool made their first contribution in #25936
- @didekoning made their first contribution in #25937
Full Changelog: v2.5.3...v2.5.5
v2.5.3
What's Changed
🐛 Bug fixes
- chore: remove random code snippet by @jrasm91 in #25677
- fix: reset and unsaved change states in editor by @bwees in #25588
- fix: no notification if release check is disabled by @jrasm91 in #25688
- fix(mobile): hide latest version if disabled by @uhthomas in #25691
- fix(web): enable asset viewer navigation across memory boundaries by @midzelis in #25741
- fix: upload progress bar flickering by @alextran1502 in #25829
- fix: prevent stale values in edit user form after save by @michelheusschen in #25859
- fix: prevent album page get rebuilt when resuming app by @alextran1502 in #25862
- fix: prevent backspace from accidentally triggering delete modals by @michelheusschen in #25858
- fix: metadata extraction race condition by @danieldietzler in #25866
- fix: reset zoom when navigating between assets by @michelheusschen in #25863
📚 Documentation
- docs(openapi): Add descriptions to OpenAPI specification by @timonrieger in #25185
- fix(docs): clarify supported vector version by @mmomjian in #25753
Full Changelog: v2.5.2...v2.5.3
v2.5.2
v2.5.2
v2.5.1 has been sacrificed for the release God, so the Android app can now be released
Note
This version of the mobile app will pull down some data from the server to fix the incorrect data in the mobile app local database, so you will see the sync icon running for a little bit
Hotfixes
- Fixed a bug where the video aspect ratio is played incorrectly for the remote asset
- Fixed a bug where memory generation failed
- Fixed a bug where memories don't show on the web until the page is refreshed
- Fixed a bug where the
Load original imageoption doesn't render the image on iOS
What's Changed
🐛 Bug fixes
- fix: deleting asset from asset-viewer on search results by @midzelis in #25596
- fix: escape handling in search asset viewer by @danieldietzler in #25621
- fix: correctly show owner in album options modal by @danieldietzler in #25618
- fix(server): don't assume maintenance action is set by @insertish in #25622
- fix: album card ranges by @danieldietzler in #25639
- fix(mobile): show controls by default on motion photos by @goalie2002 in #25638
- fix: escape handling by @danieldietzler in #25627
- fix(mobile): set correct system-ui mode on asset viewer init by @goalie2002 in #25610
- fix(mobile): actually load original image by @mertalev in #25646
- fix: width and height migration issue by @alextran1502 in #25643
- fix: memory lane by @jrasm91 in #25652
- fix: memory generation by @jrasm91 in #25650
- fix(mobile): tall image scrolling by @ByteSizedMarius in #25649
Full Changelog: v2.5.0...v2.5.2
v2.5.0 - 90000 Stars Release
v2.5.0
Note
01/27
- 20:23 GMT: We are halting the release of the mobile app as there are some reported issues with migration
- 22:00 GMT: Found the issue with the migration for the experimental sync-delete feature on Android. Will fix and release a new update soon. ETA tomorrow CTS time
- 22:24 GMT: iOS is released as the migration doesn't affect iOS users
01/28
- Discovered some annoyance bugs regarding editing after ready to release
v2.5.1, so spent the whole day fixing them and will releasev2.5.2on Thursday (01/29)
Sorry for the inconvenience
Highlights
Happy New Year! Welcome to Immich v2.5.0. This release is our fireworks to celebrate both the new year and reaching 90,000 stars on GitHub. It is packed with major features that have been in the works for quite some time, and the team has kicked off the year with incredible momentum that we're excited to carry forward. We couldn't wait to share this with you. Let's dive right in:
- Free Up Space
- Non-destructive editing
- Database backup and restore (web)
- Upload improvements
- Visual refresh across all platforms
- Disable admin setup
- Star rating (mobile)
- Additional fine-grained permissions (api keys)
- Progressive JPEGs
- Slideshow loop option (web)
- Native HTTP clients for HTTP/2 and HTTP/3 image loading
Free Up Space
This feature was requested ages ago. So long in fact, that it has a 3-digit ID (#165)! Given the rapid iteration and development pace of the pre-stable era, it was risky to include it in the app due to its bulk-delete nature. But it is now 2026 😄, so here we are.
Free Up Space allows you to remove local media files from your device that have already been successfully backed up to your Immich server (and are not in Immich trash). This helps reclaim storage on your mobile device without losing your memories. The feature can be accessed from the user profile panel or from the Settings page in the mobile app.
There are configuration options and steps to make sure that everything is verified before deleting from the app.
- Configuration:
- Cutoff date: Free Up Space will only look for photos and videos on or before this date.
- Keep albums: Hold all photos and videos in the selected albums on your device, regardless of other settings. By default,
**WhatsApp**related albums are selected to be kept on the device. Assets that are not already on the device will not be redownloaded. - Keep favorites: This works the same way
**Keep albums**. By default, favorited assets are preserved on your device. - Keep on device: You can choose to restrict removal to
**Always keep**All photos or All videos, regardless of other settings. This setting can hamper freeing up space significantly — with 80 GB of videos and 40 GB of photos, selecting**Always keep photos**retains thousands of photos on your device.
Tip
These configurations are persistent to make it convenient for those who perform this task often.
- Scan & Review: Before any files are removed, you are presented with a review screen to confirm which items will be deleted and how much storage will be reclaimed.
- Deletion: Confirmed items are moved to your device's native Trash/Recycle Bin.
Note
Reclaim storage
To use the reclaimed space right away, you must manually empty the system/gallery trash outside Immich.
For more information about this feature, please read it here
Non-destructive editing
Immich now supports non-destructive photo editing. This means that any edits you make to an asset do not modify the original file; instead, the modifications are stored in the database, and new thumbnails are generated based on those changes. This means you can always revert to the original asset if needed.
When you download an edited asset, Immich provides the edited version by default. However, you can choose to download the original version if needed. Immich always generates an edited full-size version based on your full-size quality settings. This occurs regardless of whether the "Enable full-size image generation" setting is enabled or disabled.
Note
Limitations:
- Mobile clients must be updated to v2.5.0 in order view the edited version of an asset. Clients will continue to > see the original asset if on a mobile app version <2.5.0
- As of this version, the edited download won't include the EXIF metadata of the original asset. This feature will come in future releases.
- Mobile editing still uses the old edit system (saving a new version of the photo). The mobile editor will be upgraded to use the new non-destructive editing system in a future release.
You can click on the following icon to enter edit mode
Currently, Immich supports the following types of edits:
- Cropping
- Rotation
- Mirroring
Opening the editor on an edited asset will load the existing edits back in so you can make adjustments and changes.
Backup and restore from the web UI
Backup and restore are an important part of any self-hosted application; this feature helps you maintain reliable access to your instance during unexpected events, such as database corruption caused by system failure or power loss.
Historically, restoring an Immich instance to a specific point required the user to have access to the command line, which proved challenging for many users, especially those new to self-hosting and software maintenance.
Now, we have the entire backup and restore pipeline built into Immich, which allows you to quickly restore a database backup directly from the web UI. You can perform the steps either from the Administration > Maintenance page, or from a brand new instance on the welcome page.
Restore from Administration's Maintenance page
Restore from Onboarding page
For more detailed steps, please read them in our documentation
Upload improvement
This release also improves foreground upload in the mobile app. The previous implementation improves background uploads but leaves foreground uploads less reliable by leveraging the queue system to offload upload handling to the OS, which can be throttled under specific criteria.
We are taking back more control over handling uploads with the try-and-true method used in the old timeline, but this time it is supercharged with concurrent uploads and also correctly handles assets with missing file extensions from software such as DJI or Fusion Camera.
Upload now will also send unique metadata for each asset to the server, so it can be used to quickly retrieve the checksum when reinstalling the app, saving time and CPU resources. This is especially useful for iCloud users, as the hashing process can take a long time.
For iOS and iCloud users, it is recommended to go to App Settings > Sync Status and tap the "Sync Cloud IDs" button to backfill the metadata for the uploaded content. You only need to do this once.
Visual refresh across all platforms
This release also brings you a refreshed look and feel across the web, mobile app, and the documentation sites, with a new font face ("The-name-must-not-be-named" Sans) that improves reading legibility, especially for numbers and smaller text.
The UI library (https://ui.immich.app/) components have also been added to the web app in more places. You should see a more standardized, coherent, and better hierarchy for UI components across the app.
All icon buttons now come with a tooltip, so you don't have to guess what function the button serves
Star rating (mobile)
Mobile now has the star-rating feature, similar to the web application. If you don't see a star rating on either platform, make sure the feature is enabled here.
Disable admin setup
New installs show a welcome page and allow anyone to sign up / register as an admin. To have more control over whether this is allowed or not, we have added the following environment variable:
IMMICH_ALLOW_SETUP=true|falseThis is especially useful if you have already initialize...
v2.4.1
2.4.1
What's Changed
🐛 Bug fixes
- fix(web): shared link expiry does not save by @YarosMallorca in #24569
- fix(mobile): infinite loading screen when hiding UI in map viewer on iOS by @timonrieger in #24563
- fix(web): auto-start slideshow when confirming settings modal by @timonrieger in #24629
- fix(mobile): merged video in On This Device played with incorrect ratio by @alextran1502 in #24656
- fix: dateTimeOriginal timezone updates by @danieldietzler in #24712
- fix(web): timezone dropdown showing "No results" when seconds are set to 00 by @timonrieger in #24662
- fix(web): search-bar usability improvements by @LeLunZ in #24705
📚 Documentation
- fix(docs): add & fix missing alt text to store badge images by @divulgacheur in #24637
New Contributors
- @timonrieger made their first contribution in #24563
- @LeLunZ made their first contribution in #24705
- @divulgacheur made their first contribution in #24637
Full Changelog: v2.4.0...v2.4.1
v2.4.0
v2.4.0
Highlights
Welcome to the release v2.4.0 of Immich. This release focuses on bug fixes, QoL improvements, and polished UI components and animation across mobile and the web. Let’s dive right in.
- Show the owner's name in the shared album
- Command palette
- Change search type directly in the search bar
- Better action button placement in the mobile asset viewer
- Notable fix: fix an issue where metadata extraction could fail on high concurrency
Show the owner's name in the shared album.
On the web, in shared albums, you can now toggle an option to display the asset’s owner name at the bottom right corner of the thumbnail.
Command palette
The web app now has an integrated command palette, which can be opened ctrl + k on Windows/Linux or cmd + k on macOS. This first iteration of this lets you quickly navigate between administration pages by typing the name of the page you want to go to. It also already supports some common actions when on the respective admin pages, many of which also support shortcuts. Have a look around and check them out!
Change search type directly in the search bar
You can now click on the pill from the search bar to select a different search type without opening the search filter panel.
Better placement of action buttons in the mobile asset viewer
Previously, to perform a specific action on the asset, you needed first to swipe up to open the detail panel, then swipe all the way to the right and tap the action. It limits the discoverability of some actions. To help resolve that issue, all the action buttons in the detail panel are now moved to the drop-down menu when tapping on the vertical dot icon (or kebab menu), along with some buttons that used to be on the top bar, clearing up space to display more helpful information when viewing the asset.
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
🫥 Deprecated Changes
🚀 Features
- feat: improve performance: don't sort timeline buckets from server by @midzelis in #24032
- feat: command palette by @danieldietzler in #23693
- feat(web): Shared album owner labels by @xCJPECKOVERx in #21171
- feat(mobile): persist album sorting & layout in settings by @YarosMallorca in #22133
- feat: queue detail page by @jrasm91 in #24352
- chore(mobile): add kebabu menu in asset viewer by @idubnori in #24387
- feat(mobile): create new album from add to modal by @YarosMallorca in #24431
- feat(mobile): move buttons in the bottom sheet to the kebabu menu by @idubnori in #24175
🌟 Enhancements
- feat(web): allow navigating the map with arrow keys by @lukashass in #24080
- feat: separate camera and lens info in detail panel by @fabianbees in #23670
- feat(web): shared link card tweaks by @jrasm91 in #24192
- feat(server): exclude syncthing folders from external libraries by @SaphuA in #24240
- feat(web): search type selection dropdown by @YarosMallorca in #24091
- feat: header context menu by @jrasm91 in #24374
- feat(mobile): move top bar buttons into kebabu menu in AssetViewer by @idubnori in #24461
- feat(web): asset selection bar in tags view by @YarosMallorca in #24522
- feat(web): slideshow feature on shared albums by @YarosMallorca in #24598
- feat: replace heart icons to thumbs-up across activity by @idubnori in #24590
🐛 Bug fixes
- fix: effect loop by @jrasm91 in #24014
- fix: do not clear hash on updated_at change by @shenlong-tanwen in #24039
- fix: disable animation "add to" action menu by @bwees in #24040
- fix: Use correct app store link by @Mraedis in #24062
- fix: show archived assets in favorite page by @bwees in #24052
- fix(mobile): first video memory on page doesn't play by @YarosMallorca in #23906
- feat(web): show detected faces in spherical photos by @meesfrensel in #23974
- fix: add users to album by @danieldietzler in #24133
- fix(server): sanitize DB_URL for pg_dumpall to remove unknown query params by @lutostag in #23333
- fix: use proper updatedAt value in local assets by @shenlong-tanwen in #24137
- fix: albums page reactivity loops by @danieldietzler in #24046
- fix: getAspectRatio fallback to db width and height by @shenlong-tanwen in #24131
- fix(web): fix support & feedback modal wrapping by @Snowknight26 in #24018
- fix: don't get OCR data in shared link by @alextran1502 in #24152
- fix: duration extraction by @jrasm91 in #24178
- fix(ml): Upgrade ONNX Runtime to v1.22.1 to fix ROCm build failures by @LukaPrebil in #24045
- fix: update timeline-manager after archive actions by @midzelis in #24010
- fix: theme switcher by @jrasm91 in #24209
- fix: label 'for' attributes in user-api-key-grid by @kimsey0 in #24232
- fix(mobile): enable backup text overflows by @YarosMallorca in #24227
- fix(web): integrate zoom toggle button into panorama photo viewer by @meesfrensel in #24189
- fix(web): use full tag path when creating nested subtags by @NiklasvonM in #24249
- fix: only generate memory based on users assets by @alextran1502 in #24151
- fix(mobile): docs link by @mmomjian in #24277
- fix(server): use bigrams for cjk by @mertalev in #24285
- fix(ml): do not upscale preview by @mertalev in #24322
- fix(web): open onboarding documentation link in new tab by @carbonemys in #24289
- fix(mobile): use correct timezone displayed in the info sheet by @kao-byte in #24310
- fix(web): folder view sort oder by @etnoy in #24337
- fix(server): do not delete offline assets by @mertalev in #24355
- fix: exposure info and better readability by @alextran1502 in #24344
- fix: Adjust the zoom level by @jforseth210 in #24353
- fix: local full sync on Android on resume by @alextran1502 in #24348
- fix(web): Add minimum content size to logo for consistent visual on small screens by @kiloomar in #24372
- fix: use adjustment time in iOS for hash reset by @shenlong-tanwen in #24047
- fix(server): update exiftool-vendored to v34 for more robust metadata extraction by @skatsubo in #24424
- fix(mobile): cannot create album while name field is focused by @YarosMallorca in #24449
- fix(web): [album table view] long album title overflows table row by @simonkub in #24450
- fix(mobile): fix overflow text in backup card by @YarosMallorca in #24448
- fix(mobile): timeline bottom padding on selection by @YarosMallorca in #24480
- feat(mobile): Localized backup upload details page by @ArnyminerZ in #21136
- fix(mobile): iOS local permission dialog extra whitespace by @kurtmckee in #24491
- fix(mobile): versionSta...
v2.3.1
v2.3.1
Hot fixes
Fixed an issue where the new version notification pop-up causes the web app to enter a rendering loop and freeze up.
Important
We encourage all users to update to this version to avoid the issue that will happen when the next minor update is available, i.e., v2.4.0
What's Changed
🐛 Bug fixes
- fix: supporter badge by @jrasm91 in #24012
- fix: new update notification cause rendering loop by @alextran1502 in #24013
Full Changelog: v2.3.0...v2.3.1
v2.3.0
v2.3.0
Loa loa loa, the stock is running low on 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!
Important
We will start the work on removing the old mobile timeline soon. If you are still using the old timeline, please make sure to switch to the new timeline. If this message does not make sense to you, you can ignore it as you are already on the new timeline
Highlights
Welcome to the release v2.3.0 of Immich. This version comes with enhancements to the OCR feature and many bug fixes. This release also introduces foundational support for workflows and an application restore mechanism directly in the web UI. Let’s dive into some of the highlights below
- OCR Improvements
- Add/move action in mobile app
- Delete synchronization - Android
- Notable fixes: app freezes on resume on iOS
- Sneak peek: Maintenance mode and workflow
Add/move action in mobile app
The asset viewer in the mobile app now includes an “Add to” button that lets you quickly add an asset to an album, the locked folder, or the archive. Thanks @happychriss!
OCR Improvement
This release includes several enhancements to the OCR feature. There are now language-specific OCR model variants, extending support to Greek, Korean, Russian, Belarusian, Ukrainian, Thai, and languages using the Latin script. All variants (including the existing models) support English as well. There is also an English-only model that performs better for libraries where multilingual support is not needed.
To switch to one of these models, you can navigate to the OCR settings, choose the relevant model, save, then re-run OCR on all assets through the Job Status page.
The OCR information can now be viewed by toggling a button in the web viewer. You can hover the mouse over the text and copy it.
Delete synchronization on Android.
This release restores the previous mechanism for synchronizing the deletion action between the web and the mobile app. In addition to putting the asset in Immich’s trash bin, the mechanism also puts the deleted asset in the device’s trash system when the app opens. The mechanism has been reworked to align with the new data sync mechanism in the mobile app. You can enable the mechanism in the App Settings > Advanced > Sync Remote Deletions
Notable fixes: app freezes on resume on iOS
Previously, iOS background tasks, such as local or remote data sync and background uploads, could abruptly terminate database operations when the iOS’s background time expires, leaving the database lock unreleased. It leads to an annoying symptom: the app appears to freeze when opening from the background, requiring a hard restart (swipe up to close, then reopen) to regain access to the database. The bug happened sporadically and was incredibly hard to track down. Thanks to the relentless pursuit of the bug, we believe it has been caught through our extensive testing. Please let us know if you are still getting “bugged” by this one in the new version.
Sneak peek: Maintenance mode and workflow
We can’t contain the excitement to share two exciting items in the work, which have some portions already merged into the server, and are ready to be built upon
Maintenance mode
This mode will allow the admin to put the server into a state where no one can access it without entirely shutting it down. This paves the way for restoring the server from a previous point in time directly from the web UI, no more fidgeting with the terminal.
2025-11-14_11-55-02.mp4
Workflow
The foundation of workflows and plugins also made its way to the server; the UI is being worked on. This feature will enable many more custom use cases that are not available in the core application. The community can write custom plugins and share them. We are very excited to see this happening faster than anticipated. Below is a screenshot of how the feature could look.
What's Changed
🚀 Features
- feat: Add random memories resource by @jpg0 in #20025
- feat(mobile): Quick date picker in the search page by @exelix11 in #22653
- feat: workflow foundation by @alextran1502 in #23621
- feat(mobile): add to album from asset viewer by @happychriss in #23608
- feat: maintenance mode by @insertish in #23431
- feat(mobile): location edit from asset viewer by @bwees in #23925
- feat: timeline e2e tests by @midzelis in #23895
- feat: show OCR bounding box by @alextran1502 in #23717
🌟 Enhancements
- fix(web): add URLs to results in large files utility by @Snowknight26 in #23617
- feat(ml): add preload and fp16 settings for ocr by @mertalev in #23576
- feat(ml): multilingual ocr by @mertalev in #23527
- feat(mobile): Show lens model information in the asset viewer detail panel by @fabianbees in #23601
- feat: lazy load thumbnails on people and place list by @lukashass in #23682
- feat: make memories slideshow duration configurable by @meesfrensel in #22783
- feat(mobile): chat-style for asset activity view by @idubnori in #23347
- feat: show update version info by @alextran1502 in #23698
- feat(mobile): album activity deep link by @idubnori in #23737
- feat(web): animate gifs on hover by @meesfrensel in #23198
- feat(web): disable searching by disabled features by @meesfrensel in #23798
- feat: library details page by @danieldietzler in #23908
- feat(web): always view original of animated images by @meesfrensel in #23842
- feat: add originalPath for external library assets in dedupe by @kprkpr in #23710
🐛 Bug fixes
- feat: exif medium tests by @jrasm91 in #23561
- fix(web): fix timezone dropdown for timestamps lacking milliseconds by @skatsubo in #23615
- fix(web): "select all" button in trash and permanently deleted count by @Yonyc in #23594
- fix: fully sync local library on app restart by @alextran1502 in #23323
- fix: check if unmetered instead of wifi by @shenlong-tanwen in #23380
- fix(mobile): Add fade-in to asset viewer transition by @goalie2002 in #23692
- fix(web): i18n for admin>users>sessions by @meesfrensel in #23756
- feat: opt-in sync of deletes and restores from web to Android (beta timeline) by @PeterOmbodi in #20473
- fix(mobile): Set dynamic height of actions row in BottomSheet by @vitoksmile in #23755
- fix(mobile): Hide download button in asset viewer "immersive mode" by @goalie2002 in #23720
- fix(mobile): sync album and asset activity state when add/remove asset level activity by @idubnori in #23484
- fix(server): properly handle HEAD requests to SSR paths by @dav-wolff in #23788
- fix(web): make sliding window cover all visible space to show small number of assets by @meesfrensel in #23796
- refactor: shared links modals by @danieldietzler in #23803
- chore: bump background_downloader by @shenlong-tanwen in #23839
- fix(server): include the previous year in memories for January 1, 2, 3 by @skatsubo in #23832
- fix: timeline scroll after navigate by @danieldietzler in https://github.com/immi...
v2.2.3
v2.2.3
What's Changed
🐛 Bug fixes
- fix(ml): ocr inputs not resized correctly by @mertalev in #23541
- fix(web): search bar accessibility by @ben-basten in #23550
- fix: exif gps parsing of malformed data by @danieldietzler in #23551
- chore: correct hosted isar paths in fdroid_build_isar.sh by @gereeter in #23529
- fix(mobile): handle empty original filename by @skatsubo in #23469
- fix(mobile): ignore patch releases for app version alerts by @bwees in #23565
New Contributors
Full Changelog: v2.2.2...v2.2.3






