Logo
Explore Help
Register Sign In
immich-app/immich
1
0
Fork 0
You've already forked immich
mirror of https://github.com/immich-app/immich.git synced 2026-02-05 00:30:57 +03:00
Code Issues 6 Packages Projects Releases 10 Wiki Activity

10 Releases 304 Tags

RSS Feed
  • v2.5.3 38c1f0b1fd
    Compare

    Stable

    OVERLORD released this 2026-02-03 21:14:21 +03:00 | 7 commits to main since this release

    📅 Originally published on GitHub: Tue, 03 Feb 2026 23:00:49 GMT
    🏷️ Git tag created: Tue, 03 Feb 2026 18:14:21 GMT

    What's Changed

    🐛 Bug fixes

    • chore: remove random code snippet by @jrasm91 in https://github.com/immich-app/immich/pull/25677
    • fix: reset and unsaved change states in editor by @bwees in https://github.com/immich-app/immich/pull/25588
    • fix: no notification if release check is disabled by @jrasm91 in https://github.com/immich-app/immich/pull/25688
    • fix(mobile): hide latest version if disabled by @uhthomas in https://github.com/immich-app/immich/pull/25691
    • fix(web): enable asset viewer navigation across memory boundaries by @midzelis in https://github.com/immich-app/immich/pull/25741
    • fix: upload progress bar flickering by @alextran1502 in https://github.com/immich-app/immich/pull/25829
    • fix: prevent stale values in edit user form after save by @michelheusschen in https://github.com/immich-app/immich/pull/25859
    • fix: prevent album page get rebuilt when resuming app by @alextran1502 in https://github.com/immich-app/immich/pull/25862
    • fix: prevent backspace from accidentally triggering delete modals by @michelheusschen in https://github.com/immich-app/immich/pull/25858
    • fix: metadata extraction race condition by @danieldietzler in https://github.com/immich-app/immich/pull/25866
    • fix: reset zoom when navigating between assets by @michelheusschen in https://github.com/immich-app/immich/pull/25863

    📚 Documentation

    • docs(openapi): Add descriptions to OpenAPI specification by @timonrieger in https://github.com/immich-app/immich/pull/25185
    • fix(docs): clarify supported vector version by @mmomjian in https://github.com/immich-app/immich/pull/25753

    Full Changelog: https://github.com/immich-app/immich/compare/v2.5.2...v2.5.3

    Downloads
    • app-arm64-v8a-release.apk
      64 MiB
      2026-02-04 16:21:21 +03:00
    • app-armeabi-v7a-release.apk
      59 MiB
      2026-02-04 16:21:26 +03:00
    • app-release.apk
      167 MiB
      2026-02-04 16:21:33 +03:00
    • app-x86_64-release.apk
      67 MiB
      2026-02-04 16:21:37 +03:00
    • docker-compose.yml
      2.8 KiB
      2026-02-04 16:21:39 +03:00
    • example.env
      979 B
      2026-02-04 16:21:43 +03:00
    • hwaccel.ml.yml
      1.4 KiB
      2026-02-04 16:21:45 +03:00
    • hwaccel.transcoding.yml
      1.6 KiB
      2026-02-04 16:21:46 +03:00
    • prometheus.yml
      260 B
      2026-02-04 16:21:47 +03:00
    • Source Code (ZIP)
    • Source Code (TAR.GZ)
  • v2.5.2 eadb2f89af
    Compare

    Stable

    OVERLORD released this 2026-01-29 01:05:10 +03:00 | 31 commits to main since this release

    📅 Originally published on GitHub: Thu, 29 Jan 2026 15:24:34 GMT
    🏷️ Git tag created: Wed, 28 Jan 2026 22:05:10 GMT

    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 image option doesn't render the image on iOS

    What's Changed

    🐛 Bug fixes

    • fix: deleting asset from asset-viewer on search results by @midzelis in https://github.com/immich-app/immich/pull/25596
    • fix: escape handling in search asset viewer by @danieldietzler in https://github.com/immich-app/immich/pull/25621
    • fix: correctly show owner in album options modal by @danieldietzler in https://github.com/immich-app/immich/pull/25618
    • fix(server): don't assume maintenance action is set by @insertish in https://github.com/immich-app/immich/pull/25622
    • fix: album card ranges by @danieldietzler in https://github.com/immich-app/immich/pull/25639
    • fix(mobile): show controls by default on motion photos by @goalie2002 in https://github.com/immich-app/immich/pull/25638
    • fix: escape handling by @danieldietzler in https://github.com/immich-app/immich/pull/25627
    • fix(mobile): set correct system-ui mode on asset viewer init by @goalie2002 in https://github.com/immich-app/immich/pull/25610
    • fix(mobile): actually load original image by @mertalev in https://github.com/immich-app/immich/pull/25646
    • fix: width and height migration issue by @alextran1502 in https://github.com/immich-app/immich/pull/25643
    • fix: memory lane by @jrasm91 in https://github.com/immich-app/immich/pull/25652
    • fix: memory generation by @jrasm91 in https://github.com/immich-app/immich/pull/25650
    • fix(mobile): tall image scrolling by @ByteSizedMarius in https://github.com/immich-app/immich/pull/25649

    Full Changelog: https://github.com/immich-app/immich/compare/v2.5.0...v2.5.2

    Downloads
    • app-arm64-v8a-release.apk
      64 MiB
      2026-02-04 16:20:49 +03:00
    • app-armeabi-v7a-release.apk
      59 MiB
      2026-02-04 16:20:52 +03:00
    • app-release.apk
      167 MiB
      2026-02-04 16:20:59 +03:00
    • app-x86_64-release.apk
      67 MiB
      2026-02-04 16:21:04 +03:00
    • docker-compose.yml
      2.8 KiB
      2026-02-04 16:21:08 +03:00
    • example.env
      979 B
      2026-02-04 16:21:10 +03:00
    • hwaccel.ml.yml
      1.4 KiB
      2026-02-04 16:21:11 +03:00
    • hwaccel.transcoding.yml
      1.6 KiB
      2026-02-04 16:21:13 +03:00
    • prometheus.yml
      260 B
      2026-02-04 16:21:14 +03:00
    • Source Code (ZIP)
    • Source Code (TAR.GZ)
  • v2.5.0 6fd3c9fffa
    Compare

    Stable

    OVERLORD released this 2026-01-27 21:19:23 +03:00 | 58 commits to main since this release

    📅 Originally published on GitHub: Tue, 27 Jan 2026 19:51:58 GMT
    🏷️ Git tag created: Tue, 27 Jan 2026 18:19:23 GMT

    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 release v2.5.2 on 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.

    image image

    There are configuration options and steps to make sure that everything is verified before deleting from the app.

    1. 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.

    1. 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.
    2. 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

    image

    Currently, Immich supports the following types of edits:

    • Cropping
    • Rotation
    • Mirroring
    image

    Opening the editor on an edited asset will load the existing edits back in so you can make adjustments and changes.

    image

    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

    image

    Restore from Onboarding page

    image

    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.

    image

    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.

    image

    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.

    image

    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.

    image

    All icon buttons now come with a tooltip, so you don't have to guess what function the button serves

    image

    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.

    image

    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|false
    

    This is especially useful if you have already initialized Immich and never want this situation to be possible in the future, which can happen if for whatever reason the database is reset.

    Additional fine-grained permissions (api keys)

    Some existing endpoints have been assigned fine-grained permissions, allowing the creation of API keys with limited access. The new permissions include:\n

    • map.read - Retrieve a list of latitude and longitude coordinates for every asset with location data
    • map.search - Retrieve location information for latitude & longitude coordinates
    • folder.read - Retrieve information about folders and which assets they contain

    Progressive JPEGs

    All image-generation settings now include a new option to enable progressive JPEGs. When enabled, supported browsers will progressively render the image.

    image

    Slideshow loop option (web)

    The slideshow settings on the web now include an option to automatically start the slideshow over.

    image

    Native HTTP clients

    All remote images are now requested using optimized HTTP clients, meaning images load more quickly and can keep up with your scrolling. Caching is also improved: not only does this make images even snappier to load after being downloaded, it also improves the offline experience with better responsiveness and a larger cache size.


    As always, there are many more QoL improvements, bug fixes, and enhancements in this release. Please find the full release note below

    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

    🚀 Features

    • feat: workflow ui by @alextran1502 in https://github.com/immich-app/immich/pull/24190
    • feat: disable admin setup by @jrasm91 in https://github.com/immich-app/immich/pull/24628
    • feat: free up space by @alextran1502 in https://github.com/immich-app/immich/pull/24999
    • feat: use fastlane sigh to manage signing profiles by @alextran1502 in https://github.com/immich-app/immich/pull/25089
    • feat: image editing by @bwees in https://github.com/immich-app/immich/pull/24155
    • feat: add cloud id during native sync by @shenlong-tanwen in https://github.com/immich-app/immich/pull/20418
    • feat: restore database backups by @insertish in https://github.com/immich-app/immich/pull/23978
    • feat(mobile): star rating by @YarosMallorca in https://github.com/immich-app/immich/pull/24457
    • feat(mobile): scrollbar for album page by @alextran1502 in https://github.com/immich-app/immich/pull/25507

    🌟 Enhancements

    • feat: focus jumped-to item in timeline by @bo0tzz in https://github.com/immich-app/immich/pull/24738
    • chore: web editor improvements by @bwees in https://github.com/immich-app/immich/pull/25169
    • feat: modal routes by @jrasm91 in https://github.com/immich-app/immich/pull/24726
    • feat: prefer admin settings page over users page by @jrasm91 in https://github.com/immich-app/immich/pull/24780
    • feat: shared link edit by @jrasm91 in https://github.com/immich-app/immich/pull/24783
    • feat(mobile): use tabular figures in backup info card by @wrbl606 in https://github.com/immich-app/immich/pull/24820
    • feat(mobile): album options to kebab menu by @idubnori in https://github.com/immich-app/immich/pull/24204
    • feat: Hide/show controls when zoom state changes by @Lauritz-Tieste in https://github.com/immich-app/immich/pull/24784
    • feat(server): Support camera make, model, and lensModel in Storage Template by @rahul-kumar-saini in https://github.com/immich-app/immich/pull/24650
    • feat(ml): update ONNX Runtime, OpenVINO and ROCm stack by @savely-krasovsky in https://github.com/immich-app/immich/pull/23458
    • chore(server): Vchord 1.0 support by @mmomjian in https://github.com/immich-app/immich/pull/23845
    • feat(web): Add coordinate pair location searching. by @GustavJones in https://github.com/immich-app/immich/pull/24799
    • feat: show asset owners for editors in shared albums by @ama156 in https://github.com/immich-app/immich/pull/24890
    • feat(web): undo delete single asset by @YarosMallorca in https://github.com/immich-app/immich/pull/24439
    • feat(server): implement switchable logging formats (console/json) by @DanielRamosAcosta in https://github.com/immich-app/immich/pull/24791
    • chore(web): bump immich/ui for tooltips by @jrasm91 in https://github.com/immich-app/immich/pull/24632
    • feat(web): star rating keyboard shortcut by @cbochs in https://github.com/immich-app/immich/pull/24620
    • feat: bulk asset metadata endpoints by @jrasm91 in https://github.com/immich-app/immich/pull/25133
    • feat(mobile): 2026 font by @alextran1502 in https://github.com/immich-app/immich/pull/25213
    • feat(web): search albums by description by @YarosMallorca in https://github.com/immich-app/immich/pull/25244
    • feat(web): 2026 font by @alextran1502 in https://github.com/immich-app/immich/pull/25174
    • chore: dart http foreground upload by @alextran1502 in https://github.com/immich-app/immich/pull/24883
    • feat: update intel compute driver by @savely-krasovsky in https://github.com/immich-app/immich/pull/25259
    • feat: download original asset by @danieldietzler in https://github.com/immich-app/immich/pull/25302
    • feat: allow /memory?id= in AndroidManifest by @arne182 in https://github.com/immich-app/immich/pull/25373
    • fix: add scoped API permissions to map endpoints by @meesfrensel in https://github.com/immich-app/immich/pull/25423
    • fix(server): scoped permissions for more endpoints by @meesfrensel in https://github.com/immich-app/immich/pull/25452
    • feat: generate progressive JPEGs for thumbnails by @midzelis in https://github.com/immich-app/immich/pull/25463
    • feat: loop slideshows by @GeneralZero in https://github.com/immich-app/immich/pull/25462
    • feat(mobile): native clients by @mertalev in https://github.com/immich-app/immich/pull/21459

    🐛 Bug fixes

    • fix(maintenance): prevent enable/disable maintenance CLI hanging on occasion by @insertish in https://github.com/immich-app/immich/pull/24713
    • fix(web): display jxl original by @mertalev in https://github.com/immich-app/immich/pull/24766
    • fix(web): stale album info by @jrasm91 in https://github.com/immich-app/immich/pull/24787
    • fix: album card timezone by @danieldietzler in https://github.com/immich-app/immich/pull/24855
    • fix(web): let slideshow videos play (#19601) by @keanucz in https://github.com/immich-app/immich/pull/24914
    • fix(server): update exiftool-vendored to v34.3 for correct colon-less timezone parsing by @dosten in https://github.com/immich-app/immich/pull/24979
    • fix(mobile): hide delete action for remote-only assets by @skrmc in https://github.com/immich-app/immich/pull/25010
    • fix: import config from json by @MontejoJorge in https://github.com/immich-app/immich/pull/25030
    • fix: search input has incorrect focus state after closing the search filter modal by @alextran1502 in https://github.com/immich-app/immich/pull/24886
    • fix(web): duplicate key error and enable expiration editing for expired shared links by @timonrieger in https://github.com/immich-app/immich/pull/24686
    • fix: shared-link-mapper by @jrasm91 in https://github.com/immich-app/immich/pull/24794
    • fix(server): migrate motion part of live photo by @NikhilAlapati in https://github.com/immich-app/immich/pull/24688
    • fix(web): use asset date for change date popup when single asset selected by @majiayu000 in https://github.com/immich-app/immich/pull/25076
    • fix(web): long text taking more width than expected in duplicate manager by @HemendraSinghShekhawat in https://github.com/immich-app/immich/pull/24547
    • fix(web): broken asset urls if shared link has photos in name by @YarosMallorca in https://github.com/immich-app/immich/pull/24451
    • fix(server): search statistics with personIds returns 500 by @majiayu000 in https://github.com/immich-app/immich/pull/25074
    • fix(web): server stats layout by @meesfrensel in https://github.com/immich-app/immich/pull/25085
    • fix: enter now submits the date modals by @fabb in https://github.com/immich-app/immich/pull/25053
    • fix(web): improve text contrast in minimized upload panel by @majiayu000 in https://github.com/immich-app/immich/pull/25075
    • fix: propagate iCloud Shared Album flag by @alextran1502 in https://github.com/immich-app/immich/pull/25060
    • fix: description does not rerender when navigating between assets by @alextran1502 in https://github.com/immich-app/immich/pull/25137
    • fix(server): avoid upserting empty metadata array by @timonrieger in https://github.com/immich-app/immich/pull/25143
    • fix(server): Document HTTP 200 response for duplicate uploads in OpenAPI by @timonrieger in https://github.com/immich-app/immich/pull/25148
    • fix(web): person asset count doesn't update when navigating by @YarosMallorca in https://github.com/immich-app/immich/pull/24438
    • fix(mobile): remove weird zooming behaviour on videos and play/pause button delay by @goalie2002 in https://github.com/immich-app/immich/pull/24006
    • fix: unlock properties after successful sidecar write by @danieldietzler in https://github.com/immich-app/immich/pull/25168
    • fix(web): show relevant navbar options for partner assets by @YarosMallorca in https://github.com/immich-app/immich/pull/24832
    • fix(web): added background gradient for video time visibility by @HemendraSinghShekhawat in https://github.com/immich-app/immich/pull/25138
    • feat(mobile): do not restore locally deleted assets during trash sync (Android) by @PeterOmbodi in https://github.com/immich-app/immich/pull/24218
    • fix: asset local type casting by @alextran1502 in https://github.com/immich-app/immich/pull/25214
    • fix(web): ocr button not clickable for stacked assets by @YarosMallorca in https://github.com/immich-app/immich/pull/25210
    • fix(web): Handle upload failures from public users by @juliancarrivick in https://github.com/immich-app/immich/pull/24826
    • fix(mobile): prevent system UI from hiding on drag down gesture by @goalie2002 in https://github.com/immich-app/immich/pull/25240
    • fix: migration order by @jrasm91 in https://github.com/immich-app/immich/pull/25249
    • fix(web): redirect to login by @jrasm91 in https://github.com/immich-app/immich/pull/25254
    • fix(mobile): improve asset transition back to timeline by @goalie2002 in https://github.com/immich-app/immich/pull/24485
    • fix: dark mode appbar color by @akashKarmakar02 in https://github.com/immich-app/immich/pull/24976
    • fix(web): add min-width to setting input field by @K0lin in https://github.com/immich-app/immich/pull/25317
    • fix(server): api key update checks by @jrasm91 in https://github.com/immich-app/immich/pull/25363
    • fix(mobile): album selector icon visibility by @ByteSizedMarius in https://github.com/immich-app/immich/pull/25311
    • fix(mobile): indicators not showing on thumbnail tile after asset change in viewer by @goalie2002 in https://github.com/immich-app/immich/pull/25297
    • fix(web): handle deletion from asset viewer on map page by @meesfrensel in https://github.com/immich-app/immich/pull/25393
    • fix: tag update race condition by @danieldietzler in https://github.com/immich-app/immich/pull/25371
    • fix(web): allow exiting pin setup flow by @meesfrensel in https://github.com/immich-app/immich/pull/25413
    • fix: upload file without extension by @alextran1502 in https://github.com/immich-app/immich/pull/25419
    • fix: incorrect asset viewer scale on image frame update by @shenlong-tanwen in https://github.com/immich-app/immich/pull/25430
    • fix(mobile): bring back map settings by @shenlong-tanwen in https://github.com/immich-app/immich/pull/25448
    • fix(web): fix badge value in queues page by @beinganukul in https://github.com/immich-app/immich/pull/25445
    • fix(mobile): backfill asset dimensions to exif table by @bwees in https://github.com/immich-app/immich/pull/25483
    • fix(mobile): do not try to load video as image by @mertalev in https://github.com/immich-app/immich/pull/25495

    📚 Documentation

    • fix: product keys wording in commercial guidelines faq by @bo0tzz in https://github.com/immich-app/immich/pull/24765
    • docs: config options for hardware transcoding by @Javex in https://github.com/immich-app/immich/pull/24853
    • fix: use my.immich.app as url placeholder in docs by @bo0tzz in https://github.com/immich-app/immich/pull/25153
    • chore: update Thai README (remove "under active development" lines) by @ppnplus in https://github.com/immich-app/immich/pull/25208
    • fix(docs): add missing mermaid dependency and configuration by @bdoerfchen in https://github.com/immich-app/immich/pull/25247
    • chore(docs): update RAM req by @mmomjian in https://github.com/immich-app/immich/pull/25344
    • feat(docs): add Free Up Space section by @aviv926 in https://github.com/immich-app/immich/pull/25253
    • docs: update README_de_DE.md by @solluh in https://github.com/immich-app/immich/pull/25443
    • fix(docs): document that fullsize thumbnail might redirect to original by @meesfrensel in https://github.com/immich-app/immich/pull/25416
    • docs: update documentation by @alextran1502 in https://github.com/immich-app/immich/pull/25440

    New Contributors

    • @wrbl606 made their first contribution in https://github.com/immich-app/immich/pull/24820
    • @keanucz made their first contribution in https://github.com/immich-app/immich/pull/24914
    • @rahul-kumar-saini made their first contribution in https://github.com/immich-app/immich/pull/24650
    • @dosten made their first contribution in https://github.com/immich-app/immich/pull/24979
    • @GustavJones made their first contribution in https://github.com/immich-app/immich/pull/24799
    • @skrmc made their first contribution in https://github.com/immich-app/immich/pull/25010
    • @ama156 made their first contribution in https://github.com/immich-app/immich/pull/24890
    • @DanielRamosAcosta made their first contribution in https://github.com/immich-app/immich/pull/24791
    • @NikhilAlapati made their first contribution in https://github.com/immich-app/immich/pull/24688
    • @flpcury made their first contribution in https://github.com/immich-app/immich/pull/24867
    • @Javex made their first contribution in https://github.com/immich-app/immich/pull/24853
    • @majiayu000 made their first contribution in https://github.com/immich-app/immich/pull/25076
    • @HemendraSinghShekhawat made their first contribution in https://github.com/immich-app/immich/pull/24547
    • @cbochs made their first contribution in https://github.com/immich-app/immich/pull/24620
    • @fabb made their first contribution in https://github.com/immich-app/immich/pull/25053
    • @ppnplus made their first contribution in https://github.com/immich-app/immich/pull/25208
    • @juliancarrivick made their first contribution in https://github.com/immich-app/immich/pull/24826
    • @bdoerfchen made their first contribution in https://github.com/immich-app/immich/pull/25247
    • @akashKarmakar02 made their first contribution in https://github.com/immich-app/immich/pull/24976
    • @K0lin made their first contribution in https://github.com/immich-app/immich/pull/25317
    • @NAM-MAN made their first contribution in https://github.com/immich-app/immich/pull/25320
    • @ByteSizedMarius made their first contribution in https://github.com/immich-app/immich/pull/25311
    • @arne182 made their first contribution in https://github.com/immich-app/immich/pull/25373
    • @solluh made their first contribution in https://github.com/immich-app/immich/pull/25443
    • @beinganukul made their first contribution in https://github.com/immich-app/immich/pull/25445
    • @GeneralZero made their first contribution in https://github.com/immich-app/immich/pull/25462

    Full Changelog: https://github.com/immich-app/immich/compare/v2.4.1...v2.5.0

    Downloads
    • docker-compose.yml
      2.8 KiB
      2026-02-04 16:20:27 +03:00
    • example.env
      979 B
      2026-02-04 16:20:29 +03:00
    • hwaccel.ml.yml
      1.4 KiB
      2026-02-04 16:20:31 +03:00
    • hwaccel.transcoding.yml
      1.6 KiB
      2026-02-04 16:20:33 +03:00
    • prometheus.yml
      260 B
      2026-02-04 16:20:39 +03:00
    • Source Code (ZIP)
    • Source Code (TAR.GZ)
  • v2.4.1 50d7956c07
    Compare

    Stable

    OVERLORD released this 2025-12-19 18:03:03 +03:00 | 318 commits to main since this release

    📅 Originally published on GitHub: Fri, 19 Dec 2025 15:50:12 GMT
    🏷️ Git tag created: Fri, 19 Dec 2025 15:03:03 GMT

    2.4.1

    What's Changed

    🐛 Bug fixes

    • fix(web): shared link expiry does not save by @YarosMallorca in https://github.com/immich-app/immich/pull/24569
    • fix(mobile): infinite loading screen when hiding UI in map viewer on iOS by @timonrieger in https://github.com/immich-app/immich/pull/24563
    • fix(web): auto-start slideshow when confirming settings modal by @timonrieger in https://github.com/immich-app/immich/pull/24629
    • fix(mobile): merged video in On This Device played with incorrect ratio by @alextran1502 in https://github.com/immich-app/immich/pull/24656
    • fix: dateTimeOriginal timezone updates by @danieldietzler in https://github.com/immich-app/immich/pull/24712
    • fix(web): timezone dropdown showing "No results" when seconds are set to 00 by @timonrieger in https://github.com/immich-app/immich/pull/24662
    • fix(web): search-bar usability improvements by @LeLunZ in https://github.com/immich-app/immich/pull/24705

    📚 Documentation

    • fix(docs): add & fix missing alt text to store badge images by @divulgacheur in https://github.com/immich-app/immich/pull/24637

    New Contributors

    • @timonrieger made their first contribution in https://github.com/immich-app/immich/pull/24563
    • @LeLunZ made their first contribution in https://github.com/immich-app/immich/pull/24705
    • @divulgacheur made their first contribution in https://github.com/immich-app/immich/pull/24637

    Full Changelog: https://github.com/immich-app/immich/compare/v2.4.0...v2.4.1

    Downloads
    • app-arm64-v8a-release.apk
      54 MiB
      2026-02-04 16:19:49 +03:00
    • app-armeabi-v7a-release.apk
      51 MiB
      2026-02-04 16:19:53 +03:00
    • app-release.apk
      144 MiB
      2026-02-04 16:20:03 +03:00
    • app-x86_64-release.apk
      55 MiB
      2026-02-04 16:20:08 +03:00
    • docker-compose.yml
      2.7 KiB
      2026-02-04 16:20:10 +03:00
    • example.env
      979 B
      2026-02-04 16:20:14 +03:00
    • hwaccel.ml.yml
      1.4 KiB
      2026-02-04 16:20:17 +03:00
    • hwaccel.transcoding.yml
      1.6 KiB
      2026-02-04 16:20:19 +03:00
    • prometheus.yml
      260 B
      2026-02-04 16:20:20 +03:00
    • Source Code (ZIP)
    • Source Code (TAR.GZ)
  • v2.4.0 a02adbb828
    Compare

    Stable

    OVERLORD released this 2025-12-17 20:44:24 +03:00 | 330 commits to main since this release

    📅 Originally published on GitHub: Thu, 18 Dec 2025 14:51:33 GMT
    🏷️ Git tag created: Wed, 17 Dec 2025 17:44:24 GMT

    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.

    asset owner name in album

    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!

    command pallet

    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.

    search type

    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.

    kebab menu

    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

    • feat: queues by @jrasm91 in https://github.com/immich-app/immich/pull/24142

    🚀 Features

    • feat: improve performance: don't sort timeline buckets from server by @midzelis in https://github.com/immich-app/immich/pull/24032
    • feat: command palette by @danieldietzler in https://github.com/immich-app/immich/pull/23693
    • feat(web): Shared album owner labels by @xCJPECKOVERx in https://github.com/immich-app/immich/pull/21171
    • feat(mobile): persist album sorting & layout in settings by @YarosMallorca in https://github.com/immich-app/immich/pull/22133
    • feat: queue detail page by @jrasm91 in https://github.com/immich-app/immich/pull/24352
    • chore(mobile): add kebabu menu in asset viewer by @idubnori in https://github.com/immich-app/immich/pull/24387
    • feat(mobile): create new album from add to modal by @YarosMallorca in https://github.com/immich-app/immich/pull/24431
    • feat(mobile): move buttons in the bottom sheet to the kebabu menu by @idubnori in https://github.com/immich-app/immich/pull/24175

    🌟 Enhancements

    • feat(web): allow navigating the map with arrow keys by @lukashass in https://github.com/immich-app/immich/pull/24080
    • feat: separate camera and lens info in detail panel by @fabianbees in https://github.com/immich-app/immich/pull/23670
    • feat(web): shared link card tweaks by @jrasm91 in https://github.com/immich-app/immich/pull/24192
    • feat(server): exclude syncthing folders from external libraries by @SaphuA in https://github.com/immich-app/immich/pull/24240
    • feat(web): search type selection dropdown by @YarosMallorca in https://github.com/immich-app/immich/pull/24091
    • feat: header context menu by @jrasm91 in https://github.com/immich-app/immich/pull/24374
    • feat(mobile): move top bar buttons into kebabu menu in AssetViewer by @idubnori in https://github.com/immich-app/immich/pull/24461
    • feat(web): asset selection bar in tags view by @YarosMallorca in https://github.com/immich-app/immich/pull/24522
    • feat(web): slideshow feature on shared albums by @YarosMallorca in https://github.com/immich-app/immich/pull/24598
    • feat: replace heart icons to thumbs-up across activity by @idubnori in https://github.com/immich-app/immich/pull/24590

    🐛 Bug fixes

    • fix: effect loop by @jrasm91 in https://github.com/immich-app/immich/pull/24014
    • fix: do not clear hash on updated_at change by @shenlong-tanwen in https://github.com/immich-app/immich/pull/24039
    • fix: disable animation "add to" action menu by @bwees in https://github.com/immich-app/immich/pull/24040
    • fix: Use correct app store link by @Mraedis in https://github.com/immich-app/immich/pull/24062
    • fix: show archived assets in favorite page by @bwees in https://github.com/immich-app/immich/pull/24052
    • fix(mobile): first video memory on page doesn't play by @YarosMallorca in https://github.com/immich-app/immich/pull/23906
    • feat(web): show detected faces in spherical photos by @meesfrensel in https://github.com/immich-app/immich/pull/23974
    • fix: add users to album by @danieldietzler in https://github.com/immich-app/immich/pull/24133
    • fix(server): sanitize DB_URL for pg_dumpall to remove unknown query params by @lutostag in https://github.com/immich-app/immich/pull/23333
    • fix: use proper updatedAt value in local assets by @shenlong-tanwen in https://github.com/immich-app/immich/pull/24137
    • fix: albums page reactivity loops by @danieldietzler in https://github.com/immich-app/immich/pull/24046
    • fix: getAspectRatio fallback to db width and height by @shenlong-tanwen in https://github.com/immich-app/immich/pull/24131
    • fix(web): fix support & feedback modal wrapping by @Snowknight26 in https://github.com/immich-app/immich/pull/24018
    • fix: don't get OCR data in shared link by @alextran1502 in https://github.com/immich-app/immich/pull/24152
    • fix: duration extraction by @jrasm91 in https://github.com/immich-app/immich/pull/24178
    • fix(ml): Upgrade ONNX Runtime to v1.22.1 to fix ROCm build failures by @LukaPrebil in https://github.com/immich-app/immich/pull/24045
    • fix: update timeline-manager after archive actions by @midzelis in https://github.com/immich-app/immich/pull/24010
    • fix: theme switcher by @jrasm91 in https://github.com/immich-app/immich/pull/24209
    • fix: label 'for' attributes in user-api-key-grid by @kimsey0 in https://github.com/immich-app/immich/pull/24232
    • fix(mobile): enable backup text overflows by @YarosMallorca in https://github.com/immich-app/immich/pull/24227
    • fix(web): integrate zoom toggle button into panorama photo viewer by @meesfrensel in https://github.com/immich-app/immich/pull/24189
    • fix(web): use full tag path when creating nested subtags by @NiklasvonM in https://github.com/immich-app/immich/pull/24249
    • fix: only generate memory based on users assets by @alextran1502 in https://github.com/immich-app/immich/pull/24151
    • fix(mobile): docs link by @mmomjian in https://github.com/immich-app/immich/pull/24277
    • fix(server): use bigrams for cjk by @mertalev in https://github.com/immich-app/immich/pull/24285
    • fix(ml): do not upscale preview by @mertalev in https://github.com/immich-app/immich/pull/24322
    • fix(web): open onboarding documentation link in new tab by @carbonemys in https://github.com/immich-app/immich/pull/24289
    • fix(mobile): use correct timezone displayed in the info sheet by @kao-byte in https://github.com/immich-app/immich/pull/24310
    • fix(web): folder view sort oder by @etnoy in https://github.com/immich-app/immich/pull/24337
    • fix(server): do not delete offline assets by @mertalev in https://github.com/immich-app/immich/pull/24355
    • fix: exposure info and better readability by @alextran1502 in https://github.com/immich-app/immich/pull/24344
    • fix: Adjust the zoom level by @jforseth210 in https://github.com/immich-app/immich/pull/24353
    • fix: local full sync on Android on resume by @alextran1502 in https://github.com/immich-app/immich/pull/24348
    • fix(web): Add minimum content size to logo for consistent visual on small screens by @kiloomar in https://github.com/immich-app/immich/pull/24372
    • fix: use adjustment time in iOS for hash reset by @shenlong-tanwen in https://github.com/immich-app/immich/pull/24047
    • fix(server): update exiftool-vendored to v34 for more robust metadata extraction by @skatsubo in https://github.com/immich-app/immich/pull/24424
    • fix(mobile): cannot create album while name field is focused by @YarosMallorca in https://github.com/immich-app/immich/pull/24449
    • fix(web): [album table view] long album title overflows table row by @simonkub in https://github.com/immich-app/immich/pull/24450
    • fix(mobile): fix overflow text in backup card by @YarosMallorca in https://github.com/immich-app/immich/pull/24448
    • fix(mobile): timeline bottom padding on selection by @YarosMallorca in https://github.com/immich-app/immich/pull/24480
    • feat(mobile): Localized backup upload details page by @ArnyminerZ in https://github.com/immich-app/immich/pull/21136
    • fix(mobile): iOS local permission dialog extra whitespace by @kurtmckee in https://github.com/immich-app/immich/pull/24491
    • fix(mobile): versionStatus.message text overflow by @idubnori in https://github.com/immich-app/immich/pull/24504
    • fix(server): prevent metadata extraction failures on large video files by @hubert-taieb in https://github.com/immich-app/immich/pull/24094
    • fix(web): show inferred timezone in date editor by @skatsubo in https://github.com/immich-app/immich/pull/24513
    • fix(mobile): local videos with '#' don't play on android by @YarosMallorca in https://github.com/immich-app/immich/pull/24373
    • fix: refresh appear in list after asset is added to a current or new album by @alextran1502 in https://github.com/immich-app/immich/pull/24523
    • fix(mobile): birthday off by one day on remote by @YarosMallorca in https://github.com/immich-app/immich/pull/24527
    • fix(web): download panel being hidden by admin sidebar by @diogotcorreia in https://github.com/immich-app/immich/pull/24583
    • fix(web): recent search doesn't use search type by @YarosMallorca in https://github.com/immich-app/immich/pull/24578
    • fix(server): only extract image's duration if format supports animation by @meesfrensel in https://github.com/immich-app/immich/pull/24587
    • fix(mobile): local delete missing from sheet on some routes by @YarosMallorca in https://github.com/immich-app/immich/pull/24505
    • fix(mobile): better UI for metadata panel by @kao-byte in https://github.com/immich-app/immich/pull/24428
    • fix: shared link expiration and small styling by @alextran1502 in https://github.com/immich-app/immich/pull/24566
    • fix: asset update race condition by @danieldietzler in https://github.com/immich-app/immich/pull/24384

    📚 Documentation

    • docs: DB_STORAGE_TYPE is only used by the database container by @dionysius in https://github.com/immich-app/immich/pull/24215
    • fix(docs): build cli for e2e tests by @roschaefer in https://github.com/immich-app/immich/pull/24184
    • docs(faq): add more info on archiving by @etnoy in https://github.com/immich-app/immich/pull/24326
    • fix(docs): server and machine-learning use IMMICH_HOST and IMMICH_PORT by @dionysius in https://github.com/immich-app/immich/pull/24335
    • fix: prevent OOM on nginx reverse proxy servers by @NicholasFlamy in https://github.com/immich-app/immich/pull/24351
    • fix(docs): obsolete docs about rootless docker by @roschaefer in https://github.com/immich-app/immich/pull/24376
    • fix(docs): websockets in nginx example by @fourthwall in https://github.com/immich-app/immich/pull/24411
    • fix(docs): slow upload speed with example nginx reverse proxy config by @goalie2002 in https://github.com/immich-app/immich/pull/24490
    • fix(docs): typo in maintenance mode command by @bartvanvelden in https://github.com/immich-app/immich/pull/24518

    🌐 Translations

    • chore: add new language requests by @danieldietzler in https://github.com/immich-app/immich/pull/23991
    • chore(web): update translations by @weblate in https://github.com/immich-app/immich/pull/24004

    New Contributors

    • @ujjwal123123 made their first contribution in https://github.com/immich-app/immich/pull/24101
    • @lutostag made their first contribution in https://github.com/immich-app/immich/pull/23333
    • @LukaPrebil made their first contribution in https://github.com/immich-app/immich/pull/24045
    • @kimsey0 made their first contribution in https://github.com/immich-app/immich/pull/24232
    • @SaphuA made their first contribution in https://github.com/immich-app/immich/pull/24240
    • @dionysius made their first contribution in https://github.com/immich-app/immich/pull/24215
    • @NiklasvonM made their first contribution in https://github.com/immich-app/immich/pull/24249
    • @kao-byte made their first contribution in https://github.com/immich-app/immich/pull/24098
    • @carbonemys made their first contribution in https://github.com/immich-app/immich/pull/24289
    • @kiloomar made their first contribution in https://github.com/immich-app/immich/pull/24372
    • @fourthwall made their first contribution in https://github.com/immich-app/immich/pull/24411
    • @simonkub made their first contribution in https://github.com/immich-app/immich/pull/24450
    • @ArnyminerZ made their first contribution in https://github.com/immich-app/immich/pull/21136
    • @kurtmckee made their first contribution in https://github.com/immich-app/immich/pull/24491
    • @hubert-taieb made their first contribution in https://github.com/immich-app/immich/pull/24094
    • @bartvanvelden made their first contribution in https://github.com/immich-app/immich/pull/24518

    Full Changelog: https://github.com/immich-app/immich/compare/v2.3.1...v2.4.0

    Downloads
    • app-arm64-v8a-release.apk
      54 MiB
      2026-02-04 16:19:01 +03:00
    • app-armeabi-v7a-release.apk
      51 MiB
      2026-02-04 16:19:05 +03:00
    • app-release.apk
      144 MiB
      2026-02-04 16:19:17 +03:00
    • app-x86_64-release.apk
      55 MiB
      2026-02-04 16:19:24 +03:00
    • docker-compose.yml
      2.7 KiB
      2026-02-04 16:19:27 +03:00
    • example.env
      979 B
      2026-02-04 16:19:31 +03:00
    • hwaccel.ml.yml
      1.4 KiB
      2026-02-04 16:19:33 +03:00
    • hwaccel.transcoding.yml
      1.6 KiB
      2026-02-04 16:19:37 +03:00
    • prometheus.yml
      260 B
      2026-02-04 16:19:40 +03:00
    • Source Code (ZIP)
    • Source Code (TAR.GZ)
  • v2.3.1 edbdc14178
    Compare

    Stable

    OVERLORD released this 2025-11-20 05:20:16 +03:00 | 483 commits to main since this release

    📅 Originally published on GitHub: Thu, 20 Nov 2025 03:10:27 GMT
    🏷️ Git tag created: Thu, 20 Nov 2025 02:20:16 GMT

    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 https://github.com/immich-app/immich/pull/24012
    • fix: new update notification cause rendering loop by @alextran1502 in https://github.com/immich-app/immich/pull/24013

    Full Changelog: https://github.com/immich-app/immich/compare/v2.3.0...v2.3.1

    Downloads
    • app-arm64-v8a-release.apk
      53 MiB
      2026-02-04 16:18:19 +03:00
    • app-armeabi-v7a-release.apk
      50 MiB
      2026-02-04 16:18:24 +03:00
    • app-release.apk
      143 MiB
      2026-02-04 16:18:35 +03:00
    • app-x86_64-release.apk
      55 MiB
      2026-02-04 16:18:39 +03:00
    • docker-compose.yml
      2.7 KiB
      2026-02-04 16:18:41 +03:00
    • example.env
      979 B
      2026-02-04 16:18:48 +03:00
    • hwaccel.ml.yml
      1.4 KiB
      2026-02-04 16:18:49 +03:00
    • hwaccel.transcoding.yml
      1.6 KiB
      2026-02-04 16:18:50 +03:00
    • prometheus.yml
      260 B
      2026-02-04 16:18:52 +03:00
    • Source Code (ZIP)
    • Source Code (TAR.GZ)
  • v2.3.0 45a0315606
    Compare

    Stable

    OVERLORD released this 2025-11-19 20:46:53 +03:00 | 486 commits to main since this release

    📅 Originally published on GitHub: Wed, 19 Nov 2025 22:36:35 GMT
    🏷️ Git tag created: Wed, 19 Nov 2025 17:46:53 GMT

    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!

    image

    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!

    Tapping the Add to button presents a menu to add/move an asset

    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.

    image

    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.

    image

    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

    image

    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.

    https://github.com/user-attachments/assets/26aa5f7f-5e5f-45b5-aa89-347325f10f41

    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.

    image image

    What's Changed

    🚀 Features

    • feat: Add random memories resource by @jpg0 in https://github.com/immich-app/immich/pull/20025
    • feat(mobile): Quick date picker in the search page by @exelix11 in https://github.com/immich-app/immich/pull/22653
    • feat: workflow foundation by @alextran1502 in https://github.com/immich-app/immich/pull/23621
    • feat(mobile): add to album from asset viewer by @happychriss in https://github.com/immich-app/immich/pull/23608
    • feat: maintenance mode by @insertish in https://github.com/immich-app/immich/pull/23431
    • feat(mobile): location edit from asset viewer by @bwees in https://github.com/immich-app/immich/pull/23925
    • feat: timeline e2e tests by @midzelis in https://github.com/immich-app/immich/pull/23895
    • feat: show OCR bounding box by @alextran1502 in https://github.com/immich-app/immich/pull/23717

    🌟 Enhancements

    • fix(web): add URLs to results in large files utility by @Snowknight26 in https://github.com/immich-app/immich/pull/23617
    • feat(ml): add preload and fp16 settings for ocr by @mertalev in https://github.com/immich-app/immich/pull/23576
    • feat(ml): multilingual ocr by @mertalev in https://github.com/immich-app/immich/pull/23527
    • feat(mobile): Show lens model information in the asset viewer detail panel by @fabianbees in https://github.com/immich-app/immich/pull/23601
    • feat: lazy load thumbnails on people and place list by @lukashass in https://github.com/immich-app/immich/pull/23682
    • feat: make memories slideshow duration configurable by @meesfrensel in https://github.com/immich-app/immich/pull/22783
    • feat(mobile): chat-style for asset activity view by @idubnori in https://github.com/immich-app/immich/pull/23347
    • feat: show update version info by @alextran1502 in https://github.com/immich-app/immich/pull/23698
    • feat(mobile): album activity deep link by @idubnori in https://github.com/immich-app/immich/pull/23737
    • feat(web): animate gifs on hover by @meesfrensel in https://github.com/immich-app/immich/pull/23198
    • feat(web): disable searching by disabled features by @meesfrensel in https://github.com/immich-app/immich/pull/23798
    • feat: library details page by @danieldietzler in https://github.com/immich-app/immich/pull/23908
    • feat(web): always view original of animated images by @meesfrensel in https://github.com/immich-app/immich/pull/23842
    • feat: add originalPath for external library assets in dedupe by @kprkpr in https://github.com/immich-app/immich/pull/23710

    🐛 Bug fixes

    • feat: exif medium tests by @jrasm91 in https://github.com/immich-app/immich/pull/23561
    • fix(web): fix timezone dropdown for timestamps lacking milliseconds by @skatsubo in https://github.com/immich-app/immich/pull/23615
    • fix(web): "select all" button in trash and permanently deleted count by @Yonyc in https://github.com/immich-app/immich/pull/23594
    • fix: fully sync local library on app restart by @alextran1502 in https://github.com/immich-app/immich/pull/23323
    • fix: check if unmetered instead of wifi by @shenlong-tanwen in https://github.com/immich-app/immich/pull/23380
    • fix(mobile): Add fade-in to asset viewer transition by @goalie2002 in https://github.com/immich-app/immich/pull/23692
    • fix(web): i18n for admin>users>sessions by @meesfrensel in https://github.com/immich-app/immich/pull/23756
    • feat: opt-in sync of deletes and restores from web to Android (beta timeline) by @PeterOmbodi in https://github.com/immich-app/immich/pull/20473
    • fix(mobile): Set dynamic height of actions row in BottomSheet by @vitoksmile in https://github.com/immich-app/immich/pull/23755
    • fix(mobile): Hide download button in asset viewer "immersive mode" by @goalie2002 in https://github.com/immich-app/immich/pull/23720
    • fix(mobile): sync album and asset activity state when add/remove asset level activity by @idubnori in https://github.com/immich-app/immich/pull/23484
    • fix(server): properly handle HEAD requests to SSR paths by @dav-wolff in https://github.com/immich-app/immich/pull/23788
    • fix(web): make sliding window cover all visible space to show small number of assets by @meesfrensel in https://github.com/immich-app/immich/pull/23796
    • refactor: shared links modals by @danieldietzler in https://github.com/immich-app/immich/pull/23803
    • chore: bump background_downloader by @shenlong-tanwen in https://github.com/immich-app/immich/pull/23839
    • fix(server): include the previous year in memories for January 1, 2, 3 by @skatsubo in https://github.com/immich-app/immich/pull/23832
    • fix: timeline scroll after navigate by @danieldietzler in https://github.com/immich-app/immich/pull/23664
    • fix: prefer filename from body over path in mime validation by @shenlong-tanwen in https://github.com/immich-app/immich/pull/23810
    • fix(web): keep album timeline when selecting cover by @roadev in https://github.com/immich-app/immich/pull/23819
    • fix: word wrap on custom link preview by @100daysummer in https://github.com/immich-app/immich/pull/23942
    • fix(mobile): delete from device warning shows incorrectly by @YarosMallorca in https://github.com/immich-app/immich/pull/23935
    • fix: deep link to last asset by @midzelis in https://github.com/immich-app/immich/pull/23920
    • fix: null dereference when canceling bucket in album by @midzelis in https://github.com/immich-app/immich/pull/23924
    • fix: incorrect header height calculation in estimated month height by @midzelis in https://github.com/immich-app/immich/pull/23923
    • chore: update drift by @alextran1502 in https://github.com/immich-app/immich/pull/23877
    • chore: reset remote sync on app update by @shenlong-tanwen in https://github.com/immich-app/immich/pull/23969
    • fix(server): copy relevant panorama tags to preview image by @meesfrensel in https://github.com/immich-app/immich/pull/23953
    • fix: unarchive action doesn't update archive page by @midzelis in https://github.com/immich-app/immich/pull/23987

    📚 Documentation

    • chore: update config.json example by @bo0tzz in https://github.com/immich-app/immich/pull/23471
    • fix(docs): bump docs for PG versions by @mmomjian in https://github.com/immich-app/immich/pull/23714
    • feat: endpoint descriptions by @jrasm91 in https://github.com/immich-app/immich/pull/23813
    • feat: endpoint versioning by @jrasm91 in https://github.com/immich-app/immich/pull/23858
    • chore: include link to discord server when referencing contribution channel by @Hritik14 in https://github.com/immich-app/immich/pull/23728
    • fix(docs): update Readme links by @mmomjian in https://github.com/immich-app/immich/pull/23959

    🌐 Translations

    • chore(web): update translations by @weblate in https://github.com/immich-app/immich/pull/23449

    New Contributors

    • @FreeWind6 made their first contribution in https://github.com/immich-app/immich/pull/23627
    • @Yonyc made their first contribution in https://github.com/immich-app/immich/pull/23594
    • @fabianbees made their first contribution in https://github.com/immich-app/immich/pull/23601
    • @exelix11 made their first contribution in https://github.com/immich-app/immich/pull/22653
    • @AlexanderS made their first contribution in https://github.com/immich-app/immich/pull/23838
    • @Hritik14 made their first contribution in https://github.com/immich-app/immich/pull/23728
    • @roadev made their first contribution in https://github.com/immich-app/immich/pull/23819
    • @zebrapurring made their first contribution in https://github.com/immich-app/immich/pull/22145
    • @happychriss made their first contribution in https://github.com/immich-app/immich/pull/23608
    • @insertish made their first contribution in https://github.com/immich-app/immich/pull/23948
    • @100daysummer made their first contribution in https://github.com/immich-app/immich/pull/23942
    • @kprkpr made their first contribution in https://github.com/immich-app/immich/pull/23710

    Full Changelog: https://github.com/immich-app/immich/compare/v2.2.3...v2.3.0

    Downloads
    • app-arm64-v8a-release.apk
      53 MiB
      2026-02-04 16:17:27 +03:00
    • app-armeabi-v7a-release.apk
      50 MiB
      2026-02-04 16:17:32 +03:00
    • app-release.apk
      143 MiB
      2026-02-04 16:17:41 +03:00
    • app-x86_64-release.apk
      55 MiB
      2026-02-04 16:17:46 +03:00
    • docker-compose.yml
      2.7 KiB
      2026-02-04 16:17:55 +03:00
    • example.env
      979 B
      2026-02-04 16:17:58 +03:00
    • hwaccel.ml.yml
      1.4 KiB
      2026-02-04 16:18:03 +03:00
    • hwaccel.transcoding.yml
      1.6 KiB
      2026-02-04 16:18:06 +03:00
    • prometheus.yml
      260 B
      2026-02-04 16:18:09 +03:00
    • Source Code (ZIP)
    • Source Code (TAR.GZ)
  • v2.2.3 28eb1bc13c
    Compare

    Stable

    OVERLORD released this 2025-11-04 06:14:34 +03:00 | 607 commits to main since this release

    📅 Originally published on GitHub: Wed, 05 Nov 2025 13:47:03 GMT
    🏷️ Git tag created: Tue, 04 Nov 2025 03:14:34 GMT

    v2.2.3

    What's Changed

    🐛 Bug fixes

    • fix(ml): ocr inputs not resized correctly by @mertalev in https://github.com/immich-app/immich/pull/23541
    • fix(web): search bar accessibility by @ben-basten in https://github.com/immich-app/immich/pull/23550
    • fix: exif gps parsing of malformed data by @danieldietzler in https://github.com/immich-app/immich/pull/23551
    • chore: correct hosted isar paths in fdroid_build_isar.sh by @gereeter in https://github.com/immich-app/immich/pull/23529
    • fix(mobile): handle empty original filename by @skatsubo in https://github.com/immich-app/immich/pull/23469
    • fix(mobile): ignore patch releases for app version alerts by @bwees in https://github.com/immich-app/immich/pull/23565

    New Contributors

    • @gereeter made their first contribution in https://github.com/immich-app/immich/pull/23529

    Full Changelog: https://github.com/immich-app/immich/compare/v2.2.2...v2.2.3

    Downloads
    • app-arm64-v8a-release.apk
      53 MiB
      2026-02-04 16:16:24 +03:00
    • app-armeabi-v7a-release.apk
      50 MiB
      2026-02-04 16:16:30 +03:00
    • app-release.apk
      142 MiB
      2026-02-04 16:16:41 +03:00
    • app-x86_64-release.apk
      55 MiB
      2026-02-04 16:16:48 +03:00
    • docker-compose.yml
      2.7 KiB
      2026-02-04 16:16:52 +03:00
    • example.env
      979 B
      2026-02-04 16:16:54 +03:00
    • hwaccel.ml.yml
      1.4 KiB
      2026-02-04 16:16:55 +03:00
    • hwaccel.transcoding.yml
      1.6 KiB
      2026-02-04 16:17:00 +03:00
    • prometheus.yml
      260 B
      2026-02-04 16:17:02 +03:00
    • Source Code (ZIP)
    • Source Code (TAR.GZ)
  • v2.2.2 f5ff36a1f8
    Compare

    Stable

    OVERLORD released this 2025-11-03 00:56:36 +03:00 | 615 commits to main since this release

    📅 Originally published on GitHub: Mon, 03 Nov 2025 15:10:24 GMT
    🏷️ Git tag created: Sun, 02 Nov 2025 21:56:36 GMT

    What's Changed

    🐛 Bug fixes

    • fix(web): mobile scrubber on page load by @danieldietzler in https://github.com/immich-app/immich/pull/23488
    • fix(mobile): disable asset sync clean up for more investigation by @alextran1502 in https://github.com/immich-app/immich/pull/23531

    Full Changelog: https://github.com/immich-app/immich/compare/v2.2.1...v2.2.2

    Downloads
    • app-arm64-v8a-release.apk
      53 MiB
      2026-02-04 16:14:10 +03:00
    • app-armeabi-v7a-release.apk
      50 MiB
      2026-02-04 16:15:10 +03:00
    • app-release.apk
      142 MiB
      2026-02-04 16:15:27 +03:00
    • app-x86_64-release.apk
      55 MiB
      2026-02-04 16:15:34 +03:00
    • docker-compose.yml
      2.7 KiB
      2026-02-04 16:15:39 +03:00
    • example.env
      979 B
      2026-02-04 16:15:44 +03:00
    • hwaccel.ml.yml
      1.4 KiB
      2026-02-04 16:15:49 +03:00
    • hwaccel.transcoding.yml
      1.6 KiB
      2026-02-04 16:15:57 +03:00
    • prometheus.yml
      260 B
      2026-02-04 16:15:59 +03:00
    • Source Code (ZIP)
    • Source Code (TAR.GZ)
  • v2.2.1 b35f00f768
    Compare

    Stable

    OVERLORD released this 2025-10-31 21:04:27 +03:00 | 623 commits to main since this release

    📅 Originally published on GitHub: Fri, 31 Oct 2025 18:34:59 GMT
    🏷️ Git tag created: Fri, 31 Oct 2025 18:04:27 GMT

    What's Changed

    🐛 Bug fixes

    • fix(mobile): regression - not displayed activity button in top bar by @idubnori in https://github.com/immich-app/immich/pull/23366
    • fix: asset copy validation error by @danieldietzler in https://github.com/immich-app/immich/pull/23387
    • fix(ml): ocr failing with rootless docker by @mertalev in https://github.com/immich-app/immich/pull/23402
    • fix(mobile): video seeking on android by @mertalev in https://github.com/immich-app/immich/pull/23405
    • fix: button condition rendering by @alextran1502 in https://github.com/immich-app/immich/pull/23400
    • fix: view in timeline does not jump to the timeline correctly by @alextran1502 in https://github.com/immich-app/immich/pull/23428
    • fix: show close button on purchase modal by @alextran1502 in https://github.com/immich-app/immich/pull/23436

    📚 Documentation

    • chore: update android signing fingerprints to docs by @luneth in https://github.com/immich-app/immich/pull/23361

    🌐 Translations

    • chore(web): update translations by @weblate in https://github.com/immich-app/immich/pull/23375

    New Contributors

    • @luneth made their first contribution in https://github.com/immich-app/immich/pull/23361

    Full Changelog: https://github.com/immich-app/immich/compare/v2.2.0...v2.2.1

    Downloads
    • app-arm64-v8a-release.apk
      53 MiB
      2026-02-04 16:13:39 +03:00
    • app-armeabi-v7a-release.apk
      50 MiB
      2026-02-04 16:13:42 +03:00
    • app-release.apk
      142 MiB
      2026-02-04 16:13:51 +03:00
    • app-x86_64-release.apk
      55 MiB
      2026-02-04 16:13:55 +03:00
    • docker-compose.yml
      2.7 KiB
      2026-02-04 16:13:57 +03:00
    • example.env
      979 B
      2026-02-04 16:13:58 +03:00
    • hwaccel.ml.yml
      1.4 KiB
      2026-02-04 16:13:59 +03:00
    • hwaccel.transcoding.yml
      1.6 KiB
      2026-02-04 16:14:01 +03:00
    • prometheus.yml
      260 B
      2026-02-04 16:14:02 +03:00
    • Source Code (ZIP)
    • Source Code (TAR.GZ)
Powered by Gitea Version: 1.25.4 Page: 7877ms Template: 43ms
English
Bahasa Indonesia Deutsch English Español Français Gaeilge Italiano Latviešu Magyar nyelv Nederlands Polski Português de Portugal Português do Brasil Suomi Svenska Türkçe Čeština Ελληνικά Български Русский Українська فارسی മലയാളം 日本語 简体中文 繁體中文(台灣) 繁體中文(香港) 한국어
Licenses API