immich Release Notes

Follow

36 release notes curated from 1 source by the Releasebot Team. Last updated: Oct 21, 2026

Get this feed:
  • Oct 20, 2026
    • Date parsed from source:
      Oct 20, 2026
    • First seen by Releasebot:
      Oct 21, 2026
    immich logo

    immich

    v3.3.4

    immich improves person query performance and fixes a missing translation in its latest release.

    Turns out the last people performance fix wasn't quite there for some people. We have now finally resolved that issue.

    What's Changed

    🐛 Bug fixes

    • fix: missing translation by @waclaw66 in #32485
    • perf(server): more efficient person queries by @mertalev in #32523

    Full Changelog: v3.3.3...v3.3.4

    Original source
  • Oct 14, 2026
    • Date parsed from source:
      Oct 14, 2026
    • First seen by Releasebot:
      Oct 14, 2026
    immich logo

    immich

    v3.3.3

    immich releases a patch with bug fixes, faster Explore performance, and memories dates shown in every app language.

    Well, you know how it goes... Misclick once and a release is sacrificed 😅 The second patch release v3.3.3 has some more bug fixes, notably a major performance improvement for the explore page.

    What's Changed

    🐛 Bug fixes

    • fix(mobile): show the memories date in every app language by @santoshakil in #32259
    • perf(server): improve people query performance by @zackpollard in #32405

    Full Changelog: v3.3.1...v3.3.3

    Original source
  • All of your release notes in one feed

    Join Releasebot and get updates from immich and hundreds of other software products.

    Create account
  • Oct 8, 2026
    • Date parsed from source:
      Oct 8, 2026
    • First seen by Releasebot:
      Oct 14, 2026
    immich logo

    immich

    v3.3.1

    immich releases a patch that adds an indicator for shared people and fixes issues with people sharing, mobile scrolling, memories, and asset visibility, alongside several server and workflow fixes.

    This patch addresses various bugs around people sharing, as well as a scroll issue on mobile. Further, there is now an indicator showing which people are shared.

    What's Changed

    🌟 Enhancements

    • feat: shared person indicator by @danieldietzler in #32223

    🐛 Bug fixes

    • fix(mobile): keep memories full screen while swiping by @santoshakil in #32171
    • fix(server): read ISO values above 65535 by @bo0tzz in #32182
    • fix: include partner shared assets for people even without showInTimeline by @danieldietzler in #32219
    • fix: clarify people sharing does not share assets by @jrasm91 in #32231
    • fix(mobile): prevent rapid toggling and rerendering of cells by @agg23 in #32200
    • fix: include unamed people in otherPeople by @jrasm91 in #32237
    • fix: run workflow steps in their configured order by @infocus13 in #32240
    • fix: show date on memories page by @alextran1502 in #32206

    📚 Documentation

    • docs: document persistent QNAP database storage by @yuhuan417 in #32222
    • docs: Add MACHINE_LEARNING_MODEL_REVISION variable to docs by @JPar99 in #32221

    🌐 Translations

    • chore(web): update translations by @weblate in #32029

    New Contributors

    • @yuhuan417 made their first contribution in #32222
    • @JPar99 made their first contribution in #32221
    • @infocus13 made their first contribution in #32240

    Full Changelog: v3.3.0...v3.3.1

    Original source
  • Oct 7, 2026
    • Date parsed from source:
      Oct 7, 2026
    • First seen by Releasebot:
      Oct 7, 2026
    immich logo

    immich

    v3.3.0

    immich releases v3.3.0 with shared people management, birthday memories, auto-stacked mobile edits, better thumbnails and previews, faster and more accurate machine learning, new OCR models, and storage size fixes on MacOS.

    v3.3.0

    Note

    We're collecting feedback related to people sharing in this discussion: https://github.com/immich-app/immich/discussions/32196

    Welcome to Immich v3.3.0!

    This release includes people sharing, birthday memories, auto-stacked mobile edits, and a variety of other enhancements and bug fixes. Keep reading below for the full list of highlights.

    Highlights

    • Shared people management
    • Birthday memories
    • Auto-stacked mobile edits
    • Sync OAuth claims on every login
    • Higher quality thumbnails and previews
    • Machine learning performance and accuracy improvements (opt-in)
    • New OCR models
    • Notable fix: correct storage size on MacOS

    Shared people management

    We are very pleased to release the next big milestone towards better sharing: people can now be shared!

    As a user you can share people with another user in your cluster group:

    Note

    The “Manage access” modal can be opened from both the “People” (/people) and “Sharing settings” (/user-settings) pages in the web application. The modal is not available on mobile, yet.

    When sharing a person with another user, the shared person:

    • Shows up in both users’ list of people (on mobile and web)
    • Shows up in the asset viewer / asset detail view on both owned and shared assets
    • Can be edited by both users (only the name & birth date fields)

    Note

    Person sharing is directional. This means that each user needs to share each person back for edits to automatically work in both directions.

    By default, changes to the name & date of birth are reflected for both users. On the web, the “Edit person” modal has an option to change the name/date of birth for “Only me” instead of the whole group.

    Also, there is a preference for this behavior in the “Sharing settings”, which can be changed to make this the default behavior when editing a person. The setting can be changed here: https://my.immich.app/user-settings?isOpen=feature+people.

    The setting has two options:

    • “Everyone with shared access” — means an update will apply for everyone, covering the typical family use case where one or two users are supposed to be responsible for the entire family's people.
    • “Only me” — means the names and dates of births will remain unchanged for other users

    Lastly, by allowing cross-user merging, you can now merge a face from your own assets with people shared with you from other users. This is especially helpful if you didn't want to re-run facial recognition after joining a cluster group before. Now, after setting up bi-directional sharing, users can manually link people together.

    Birthday memories

    In an effort of making Immich more joyful to use, we are introducing memories for people's birthdays.

    If it's the birthday of a person in your library, Immich will now celebrate that with a special memory featuring previous birthdays.

    Auto-stacked mobile edits

    When using something other than Immich for editing images on your phone, Immich will now stack those edits on top of the original. This allows for Immich to show all edits in one place, without cluttering the timeline.

    This should provide a more organized timeline, especially when you heavily rely on editing assets on your phone.

    Sync OAuth claims on every login

    Immich supports OAuth claims for storage quota, the user role, and the preferred username. Up until now, those were only synced on registration.

    Now, they can be synced on every login, allowing you to do active user management through your IDP, updating quotas and roles as you go and as necessary, and Immich will adopt those changes.

    Higher quality thumbnails and previews

    Immich now uses a more accurate image resampling method, improving detail preservation and brightness, especially for high contrast details.

    Before

    After

    Machine learning performance and accuracy improvements (opt-in)

    Note

    Opt-in to the new machine learning models by adding the following environment variable to the machine learning container: MACHINE_LEARNING_MODEL_REVISION=v2

    After a long list of optimizations, ML is both significantly faster and uses less memory. This affects every backend, including CPU inference. However, the level of improvement varies by model and backend. Cases where certain backends (such as OpenVINO) produced wrong outputs at times should be resolved.

    RKNPU, used by Rockchip boards, now supports every model in the catalog including OCR for the first time, bringing it to parity with other backends. Additionally, TensorRT RTX is now used for Ampere (30xx) and newer NVIDIA GPUs, improving performance significantly.

    To fully benefit, set MACHINE_LEARNING_MODEL_REVISION=v2to allow more optimized models to be downloaded and used. Many of the improvements rely on these optimized models and will not take effect when using the old ones. The outputs of the new and old models are numerically equivalent, so switching doesn’t require re-running any tasks. This setting will be the default in a later release.

    As always, keep in mind that the very first time you load a model requires more preparation work, so don’t be surprised if it takes some time at first. This preparation is cached and reused, so loading the model will be much faster after the first time.

    New OCR models

    The PP-OCRv6 family is now supported. These models are significantly more accurate than the previous PP-OCRv5 generation while all being multilingual. PP-OCRv6_tiny is efficient and suitable for modest hardware, PP-OCRv6_small is a notable jump in accuracy compared to PP-OCRv5_mobile, and PP-OCRv6_medium improves on PP-OCRv5_server as the highest quality and most demanding option.

    Notable fix: correct storage size on MacOS

    The block size used to calculate the storage capacity and usage has some nuances to it. In some situations (cough Docker on MacOS cough), we didn’t have enough information to correctly compute accurate values. With this release, the reported storage usage and capacity should now be correct.

    Technical details

    Recent NodeJS releases now expose the frsize property, which is sometimes different from bsize (“block size”). In those cases the calculate storage sizes could often be off by a factor of4096 (or more). In fact, #4318 has been our fourth oldest open issue (including the renovate dashboard), opened just over three years ago. Now, with accurate block sizes our storage calculation should be correct, even in Docker on MacOS.

    We are very happy to finally see this issue resolved, even though it only meant a dependency bump and a tiny code change for us.

    As always, please consider supporting the project.

    🎉 Cheers! 🎉

    And as always, bugs are fixed, and many other improvements also come with this release.

    What's Changed

    🚀 Features

    • feat(mobile): stack edited photos over the original on upload by @santoshakil in #31082
    • feat: birthday memories by @alextran1502 in #30831
    • feat: people management by @danieldietzler in #31620
    • feat(ml): trt-rtx by @mertalev in #31863

    🌟 Enhancements

    • feat(web): improve non-Latin text rendering on the map by @meesfrensel in #31611
    • feat: improved storage template onboarding by @bwees in #31531
    • feat(web): default the activity log to show the latest by @nekorevend in #28938
    • feat(server): linear-light resampling by @mertalev in #31236
    • feat(web): add leave album action by @kojomba in #31768
    • feat(ml): improve model loading by @mertalev in #31742
    • feat(ml): optimized model inference by @mertalev in #31750
    • feat: editors can update album title & description by @jrasm91 in #31805
    • feat(server): add support for .jfif files by @Trithereon in #31778
    • feat: memory UI for birthday by @alextran1502 in #31798
    • fix(server): use GeoNames for reverse-geocoded country names by @rufusutt in #30199
    • feat: extract manufacturer and device for samsung videos by @jonastahl in #29375
    • feat(server): sync OAuth claims on login (#8073) by @thomasdelorge in #29013
    • feat(mobile): editors can update album title & description by @shenlong-tanwen in #31954
    • feat(web): add shortcut to remove assets from an album by @cratoo in #31940
    • feat(ml): ppocr v6 by @mertalev in #32147

    🐛 Bug fixes

    • fix: Build SDK in dev container by @Pecacheu in #31096
    • fix(ml): race when submitting to rknn execution queue by @swbchangle in #31143
    • fix(mobile): use timeline scroll velocity to add placeholders by @agg23 in #29443
    • fix(ml): openvino config has unnecessary devices and volumes by @mertalev in #31253
    • fix(mobile): rewrite slideshow controller system by @agg23 in #30771
    • fix: make local album provider reactive by @shenlong-tanwen in #31582
    • fix(web): trim strings before searching/comparing by @meesfrensel in #31614
    • fix(mobile): load more than one image on Android with Remove animations by @agg23 in #31587
    • fix(mobile): make EXIF provider reactive by @agg23 in #31552
    • fix: set limit maximum zoom in asset viewer by @TokenLimitExceeded in #31609
    • feat: asset face v3 by @jrasm91 in #31591
    • fix(mobile): fill video placeholder to prevent flicker on open by @LeLunZ in #31621
    • fix(mobile): show the real date for android local photos with no exif by @santoshakil in #29193
    • fix(mobile): prevent live photo from getting stuck during dismiss animation by @LeLunZ in #28080
    • perf: faster server cold start by @holoskii in #31630
    • fix(web): correct memory title date by @Dhruthiya in #31643
    • fix(mobile): clamp out of range datetimes so timeline queries cannot crash by @santoshakil in #30490
    • fix(web): scrollable search dropdown on mobile web by @meesfrensel in #31634
    • fix(web): queue buttons focus outline by @meesfrensel in #31657
    • fix(mobile): ios clear file cache feedback by @yranandika05 in #31401
    • fix(mobile): prevent SurfaceLayer crashing on maps in Viewer on Android by @agg23 in #31709
    • fix: preserve scroll position on memories page by @YarosMallorca in #31588
    • fix(server): compare integrity paths independently of unicode normalization by @justadityaraj in #31102
    • fix(mobile): retry the background backup when connectivity is restored by @santoshakil in #30909
    • fix(web): refresh people after setting person thumbnail by @meesfrensel in #31744
    • fix: save user_version in migration transaction by @shenlong-tanwen in #31039
    • fix(mobile): play the server copy when the local video file cannot be read by @santoshakil in #31606
    • fix(mobile): resume after the app was launched in the background by @santoshakil in #31557
    • fix(web): prevent race when editing album description during upload by @dikshit-n in #31758
    • fix(server): attach error handler to accepted sockets to prevent crash on connection reset by @aashish00021 in #31079
    • fix(mobile): ask before deleting local only photos on android 10 and below by @santoshakil in #31146
    • fix(web): remember selected search type by @DawidKrynski in #31799
    • fix: face bounding box label alignment by @danieldietzler in #31793
    • fix(server): incorrect scaling of rotated videos when transcoding by @fabxyz in #31473
    • fix(web): keep other comments visible when deleting a comment by @DawidKrynski in #31848
    • fix(server): write tag updates to exif table by @jorbrock in #31425
    • fix(server): exclude hidden assets from large files search by @bo0tzz in #31479
    • fix: favorite workflow step description by @xCJPECKOVERx in #31840
    • fix(ml): stricter typing and request validation by @mertalev in #31856
    • fix(server): emit sidecarwrites and assetupdates consequently by @meesfrensel in #31777
    • fix: library watcher should respect ignore patterns by @etnoy in #31418
    • fix: email template by @danieldietzler in #31859
    • fix(web): cull offscreen thumbnails on individual shared links by @bo0tzz in #31890
    • fix: person management ids validation and permissions by @danieldietzler in #31898
    • fix(server): person birthdate timezone bug by @jrasm91 in #31901
    • fix(mobile): face thumbnail stuck blank after renaming a person by @santoshakil in #30769
    • fix(server): make "limit" paramter use z.coerce by @aviv926 in #31899
    • fix(server): dont queue unneeded jobs when no xmp file exists by @etnoy in #31927
    • fix(server): ignore Samsung Gallery rotation tag for HEIF orientation by @bo0tzz in #31937
    • fix: restore folder view scroll position by @raahu1l in #31860
    • fix(ml): widen empty half-precision arrays by @mertalev in #31950
    • fix(ml): serialize trt-rtx sessions by @mertalev in #31951
    • fix(server): make library exclusion matching consistently case-insensitive by @etnoy in #31970
    • fix: stale memory thumbnail by @danieldietzler in #31975
    • fix: storage usage display on virtiofs and alike by @danieldietzler in #31982
    • fix(server): include album owner for album shared links by @meesfrensel in #31837
    • fix(mobile): don't re-upload a photo the server already has by @santoshakil in #31941
    • fix(mobile): make the iOS background batch wait for its remote sync by @santoshakil in #31942
    • fix(mobile): don't start the foreground backup in iOS background launches by @santoshakil in #31943
    • fix(mobile): image jumps when full-res image loads during pinch or zoom animation by @LeLunZ in #31948
    • fix(ml): upgrade to openvino 2026.4.1 by @mertalev in #31996
    • fix(cli): sidecar precedence by @etnoy in #31929
    • fix: metadata extraction for media streams with unknown profile by @danieldietzler in #32007
    • fix: assetTagFilter any matching by @danieldietzler in #32008
    • fix: improper filename sanitizing by @danieldietzler in #32009
    • fix(server): don't select an audio stream ffprobe could not identify by @RxChi1d in #30901
    • fix: stale memory cover by @danieldietzler in #32098
    • fix(web): no trash actions when trash is empty by @meesfrensel in #32097
    • fix: bounding box label clipping due to reactivity issue by @danieldietzler in #32090
    • fix: people page search by @danieldietzler in #32094
    • fix(web): album reactivity by @meesfrensel in #32095
    • fix(ml): incorrect outputs on alchemist and battlemage by @mertalev in #32110
    • fix: memory upcoming query by @jrasm91 in #32164
    • fix(web): show face name label above box when it would be hidden by @joepadmiraal in #32088

    📚 Documentation

    • chore(docs): deprecate outlook SMTP by @mmomjian in #31139
    • feat: new FAQ entries by @bo0tzz in #31227
    • fix(docs): add needed mobile app developer setup step by @arth3mis in #31263
    • docs(server): document the UTC timestamp format for timeBucket by @alangrainger in #31421
    • chore(docs): add note about opening issues to contributing by @meesfrensel in #31607
    • docs: link to the docker compose builder by @bo0tzz in #31610
    • fix: page path in better face clusters guide by @bo0tzz in #31671
    • docs: document locked folder session behaviour by @howroyd in #31735
    • docs: update backup settings menu path to Database Dump Settings by @MalibThalion in #31270
    • docs: add QNAP install guide by @hraabis in #30695

    🌐 Translations

    • chore(web): update translations by @weblate in #31376
    • chore(web): update translations by @weblate in #31864

    New Contributors

    • @Pecacheu made their first contribution in #31096
    • @swbchangle made their first contribution in #31143
    • @maximal made their first contribution in #31304
    • @TokenLimitExceeded made their first contribution in #31609
    • @holoskii made their first contribution in #31630
    • @lg114 made their first contribution in #31654
    • @Dhruthiya made their first contribution in #31643
    • @howroyd made their first contribution in #31735
    • @dikshit-n made their first contribution in #31758
    • @aashish00021 made their first contribution in #31079
    • @nekorevend made their first contribution in #28938
    • @kojomba made their first contribution in #31768
    • @DawidKrynski made their first contribution in #31799
    • @Trithereon made their first contribution in #31778
    • @fabxyz made their first contribution in #31473
    • @rufusutt made their first contribution in #30199
    • @avaly made their first contribution in #31770
    • @MalibThalion made their first contribution in #31270
    • @jonastahl made their first contribution in #29375
    • @thomasdelorge made their first contribution in #29013
    • @raahu1l made their first contribution in #31860
    • @hraabis made their first contribution in #30695
    • @ChocolateChipKookie made their first contribution in #32123
    • @joepadmiraal made their first contribution in #32088

    Full Changelog: v3.2.4...v3.3.0

    Original source
  • Oct 6, 2026
    • Date parsed from source:
      Oct 6, 2026
    • First seen by Releasebot:
      Sep 10, 2026
    • Modified by Releasebot:
      Oct 6, 2026
    immich logo

    immich

    v3.2.0

    immich releases v3.2.0 with a major batch of new features, including a new Docker compose builder, revamped web search UI, a new server search API, shared people clustering, workflow tag automations, a dedicated memories page, tag renaming, and map viewport browsing.

    v3.2.0

    Welcome to Immich v3.2.0!

    This release includes many new features as well as the usual collection of bug fixes and cleanups. Keep reading below for a list of highlights.

    Highlights

    • Docker compose builder
    • Revamped search UI (web)
    • Search API v2 (server)
    • View own people in shared assets, cross-user clustering
    • Workflow tags trigger and actions
    • Dedicated memories page
    • Tag renaming (web)
    • View assets in map viewport (web)

    Docker compose builder

    We recently released our new docker compose builder, which lets you put together a custom compose file for Immich more easily. Please try it out and give us your feedback!

    Search API v2 (server)

    We have built an entirely new search API that, amongst other things, will support searching within albums and combining multiple search filters with both AND and OR operations. Some of these features will be exposed to the search UI interfaces in the future, others will be used to power other fancy features as well as give 3rd party tools more functionality. If you are interested in the particular changes and examples for how to use the new API, feel free to check out the PR #30179 as well as our API documentation at https://api.immich.app/endpoints/search/searchAssets.

    Revamped search UI (web)

    We have a new designer who helped us remodel the search modal, which has been pretty complex before and looks a lot more visually appealing in our opinion now. It still supports the same functionality, but with some quality of life additions as well as a significantly simpler look. In the future, we will extend this to also include some of the new features enabled by the new search API. Stay tuned and give us your feedback on the new design!

    New search modal filtering by images with Jason in it, taken in the last 30 days in BC, Canada, tagged "Long Beach" with the context search term "Swimming"

    Advanced filters showing camera make, model, and lens model, as well as filers for favorite and archive status, and album membership

    View own people in shared assets

    We are very happy to ship the first step towards better sharing. You can now have people recognized across trusted users, which also allows you to view people you already have records of in any shared assets!

    In the user sharing settings there is a new section; cluster group.

    The user sharing settings showing a cluster group with Jane Doe and Mich in it

    You can invite users on your instance that you trust to your own group, or join another group you have been invited to. These cluster groups make it possible to identify people in assets shared by users in the same group. They also likely improve accuracy, as the clustering will operate on a bigger pool of faces. People names and birth dates are still set on a per-user level and aren’t (yet) shared with users in the same group.

    As of now, this requires resetting facial recognition for all users in the group, in order for the changes to apply retroactively for all assets. This means, names and birth dates will be lost, and the results can vary slightly compared to before. Only faces recognized by machine learning will be affected by this. We may be able to do some non-destructive merging in the future, but for now this is a necessary step in order to fully benefit from the feature. That is why we put a button in the sharing settings for every user in the group (specifically also non-admins) to reset the facial recognition for that group.

    Workflow tags trigger and actions

    Workflows have gotten a new trigger. You can now do automations when an asset has been tagged.

    In order to use this new trigger, there is also a new filter that allows you to match specific tags. It supports matching for all, any, or none in the provided list.

    Lastly, a new workflow action to add tags to the current asset has also been added. It allows to add a list of tags at once.

    Dedicated memories page

    The new memories page allows you to view past memories. You can also favorite memories and they will show up here and never get deleted. The goal is for this to be a place you can come back to at any point and reminisce in old memories.

    Tag renaming (web)

    Finally, you can also rename existing tags. This is a small addition to the edit tag modal on web, but under the hood was more complicated than you might expect.

    View assets in map viewport (web)

    Similarly to showing a timeline all assets in a cluster on the map when clicking on it, you can now open a timeline for assets currently in the viewport. There is a new button among the map controls to show assets in the area. It will open a timeline that will update as you pan around the map.

    The map page showing a timeline of assets currently in the viewport on the right

    As always, please consider supporting the project.

    🎉 Cheers! 🎉

    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 logging by @benbeckford in #29878
    • feat(web): new search ui by @benbeckford in #30279
    • feat: new config endpoints by @jrasm91 in #30881
    • feat: cluster groups by @jrasm91 in #30739
    • feat: asset file apis by @jrasm91 in #25900
    • feat: memories view by @benbeckford in #28675
    • feat(mobile): show asset owner in asset details by @Lauritz-Tieste in #29302
    • feat(server): new search API by @timonrieger in #30179

    🌟 Enhancements

    • feat: store null instead of empty string for album.description by @gPinato in #30123
    • feat: log hint about downgrades when migration is missing by @bo0tzz in #30493
    • feat(web): search album description in add-to-album modal by @djadji-gueye in #30462
    • feat: Display the number of selected items in AlbumPickerModal title by @statox in #30485
    • feat(widget): add toggle to match icon theme by @bwees in #30428
    • feat: workflow asset tag trigger/filter/action by @benbeckford in #29043
    • feat: iOS dynamic background ids by @mikes1991gh in #30574
    • feat: actions undo handling by @shenlong-tanwen in #30481
    • feat: rotate an API key by @bwees in #30801
    • fix(cli): enforce node engine version on start by @bo0tzz in #30437
    • chore(server): migrate library e2e tests by @etnoy in #27277
    • feat: add oauth account management url by @sacha-c in #30873
    • feat(web): tag renaming v2 by @jorbrock in #27909
    • chore: search filter animation improvement and reactive search cue example by @alextran1502 in #30866
    • perf(web): use hash-wasm SHA-1 with pure-JS fallback for upload hashing by @mosh-dev in #30107
    • fix: don't swallow fetch errors by @bo0tzz in #30496
    • feat(mobile): map asset number by @YarosMallorca in #28911
    • feat: allow users to re-run facial recognition for their group by @danieldietzler in #30965
    • feat(web): view assets in map viewport by @rickytrevor in #27492

    🐛 Bug fixes

    • fix: make sure iOS memory widget render by @alextran1502 in #30172
    • fix: calendar heatmap permissions by @danieldietzler in #30310
    • fix: calendar heatmap api key permissions by @danieldietzler in #30314
    • fix(deployment): matplotlib in rootless deployments by @mmomjian in #30328
    • fix(mobile): refresh person thumbnail when the featured photo changes by @santoshakil in #29350
    • fix: assetFileFilter path matching by @benbeckford in #30394
    • fix: shared check for server setup availability by @bo0tzz in #30311
    • fix(mobile): resolve owned assets when partner owns identical asset by @agg23 in #30137
    • fix(web): Fix face thumbnail when swapping merge direction by @lhvy in #30466
    • fix(server): reject invalid or deleted user when creating a partner by @djadji-gueye in #30431
    • fix(server): remove the asset row when an upload fails after creating it by @santoshakil in #30349
    • fix(mobile): correct mislabeled Bengali locale entry by @DrHaque in #30519
    • fix(mobile): sync stack changes from the websocket by @santoshakil in #30479
    • fix: metadata extraction as LensModel can be a float by @danieldietzler in #30512
    • fix(mobile): run one more sync round when a request arrives mid sync by @santoshakil in #30478
    • fix: use setRequireOriginal on SDK 29 and above by @shenlong-tanwen in #29072
    • fix(mobile): stale local renders after editing a photo on device by @santoshakil in #30415
    • fix(mobile): stop websocket reconnect loop draining battery when server is unreachable by @santoshakil in #29901
    • fix(mobile): stop long images squishing on ios by @santoshakil in #29367
    • fix(mobile): keep backup remainder from going negative by @santoshakil in #29011
    • fix(mobile): handle asset websocket events by @santoshakil in #30499
    • fix(mobile): stop disabling androidx.startup initializers by @shenlong-tanwen in #30559
    • fix: map not updating after viewing an asset by @shenlong-tanwen in #30601
    • fix(deployment): Add huggingface cache directory to Dockerfile by @mmomjian in #30357
    • fix(mobile): video playback controls dead for backed up videos opened from search by @santoshakil in #30587
    • fix(mobile): decode remote thumbnails at displayed size by @santoshakil in #29965
    • fix(mobile): don't let a frozen sync block syncing on resume by @santoshakil in #29870
    • fix: face label clipping by @danieldietzler in #30712
    • fix: owner cascade delete album by @danieldietzler in #30692
    • fix(mobile): prevent iOS status bar scroll to top during transitions by @agg23 in #30717
    • fix(mobile): disable iOS smart quotes/dashes in email/password inputs by @agg23 in #30767
    • fix(mobile): prevent snapping to center on pinch-to-zoom release (#29207) by @cmdPromptCritical in #29343
    • fix: shared link create validation by @danieldietzler in #30762
    • fix(mobile): mark finished downloads complete instead of leaving them stuck by @santoshakil in #29023
    • fix: freeze on navigating back album description by @YarosMallorca in #30781
    • fix(server): guard createAll against empty values list by @tech00exploere in #30837
    • fix(server): respect backpressure in the sync stream by @enol5423 in #30764
    • fix(server): update ocr & faces after asset edit by @YarosMallorca in #29303
    • fix(mobile): resend an upload once when the connection dies before a response by @santoshakil in #30843
    • fix(mobile): cannot deep link to memory lane (#30634) by @nikhilpodila in #30787
    • fix: redis cli ping command by @mmomjian in #30329
    • fix(server): do not throw on unparsable DB_URL when building backup arguments by @NoiceHax in #30759
    • fix(server): Sort stacked assets by creation date by @timonrieger in #24033
    • fix(web): gracefully handle map errors when WebGL is disabled by @meesfrensel in #26538
    • fix(server): unicode email validation by @YarosMallorca in #30871
    • fix(mobile): order album/place/person timelines by local date by @santoshakil in #29338
    • chore(mobile): update flutter-maplibre-gl to 0.27.0 by @agg23 in #30892
    • fix(web): download archives via html POST forms by @diogotcorreia in #30021
    • fix(server): library exclusion patterns can soft-delete assets outside their directory by @PAtreju in #30850
    • fix(mobile): dedupe stale remote_asset rows on sync by @santoshakil in #28445
    • fix(server): correct asset dimensions from exif metadata by @fuergaosi233 in #29244
    • fix: quote database owner in restore by @danieldietzler in #30905
    • fix(mobile): permanently delete local copies when moving to the locked folder by @santoshakil in #29730
    • fix(server): let a second metadata extraction replace stored AV metadata by @RxChi1d in #30900
    • fix: do not exit search screen on back during multiselect by @YarosMallorca in #30689
    • fix(mobile): respect 24h system setting by @YarosMallorca in #30792
    • fix: maintentance return URL sanitization by @bwees in #30948
    • fix: remove partner assets from existing memories by @shenlong-tanwen in #28950
    • fix(server): correct tag create operations by @jorbrock in #30877
    • fix: thumbnail generation for specific SVGs by @danieldietzler in #30908
    • fix(mobile): aspect ratio change by @ferraridamiano in #30939
    • fix: throw a typed error on malformed api responses by @bo0tzz in #31006
    • fix(web): restore timeline scroll when the asset id cannot be resolved by @thejeff77 in #30916
    • fix(web): do not play memory video if the MemoryVideoViewer element is not visible by @Zlendy in #30947
    • fix(web): preserve slideshow pause state when viewing video slides by @tech00exploere in #30278
    • fix: draggable Immich logo by @danieldietzler in #31055
    • fix(server): kill pg_dump when a backup fails so it stops holding table locks by @justadityaraj in #30851
    • fix(web): misleading toast notification by @brn-lin in #30976
    • fix(web): map by @jrasm91 in #31056
    • fix: external library statistics for excluded assets by @stevenjoezhang in #28462
    • feat: same-second photos now sub-sort by filename by @andydotmp3 in #29528
    • fix(ml): read CLIP model configs as UTF-8 by @justadityaraj in #31075
    • fix(web): face editor coordinates on a not-yet-loaded video by @bo0tzz in #31083
    • fix(mobile): handle transient loading states for map timelines by @agg23 in #29735
    • fix(mobile): keep the original filename when sharing downloaded assets by @santoshakil in #30267
    • fix(mobile): refresh server info when the websocket connects by @santoshakil in #31144
    • fix: do not move faces of users other than the current owner by @danieldietzler in #31145
    • fix(server): allow an empty assetIds array when creating an album shared link by @ufukdev in #31098
    • fix(web): interaction with some filter elements closes the search panel by @alextran1502 in #31107
    • fix(server): never unlink an untracked-file path that an asset now references by @justadityaraj in #31074
    • fix: incorrect edit's openapi type by @alextran1502 in #31218
    • fix(web): album date range formatting by @meesfrensel in #28564
    • fix: face detection of edited assets by @danieldietzler in #31240
    • fix(mobile): prevent inner mutability on Freezed classes by @agg23 in #31229
    • fix(web): partner sharing timeline by @yranandika05 in #31241
    • fix(mobile): refresh the memory lane after resume by @santoshakil in #31239
    • fix(mobile): make shared link download toggle depend on metadata toggle by @arth3mis in #31264
    • fix(server): live photo transcode visibility by @jake-bybee in #31319
    • fix(web): word-wrap long album names by @meesfrensel in #31265
    • fix(web): use RTL-friendly layout for people panel buttons by @meesfrensel in #31266
    • fix(mobile): hide negative age by @YarosMallorca in #31341
    • fix: memory page navigation by @danieldietzler in #31334

    📚 Documentation

    • fix(docs): remove listing unraid as an "official" deployment by @mmomjian in #30323
    • fix(docs): Revise config file instructions and notes by @mmomjian in #30418
    • docs: fix identity provider examples in oauth guide by @fredrikekre in #30828
    • docs: Update backup script to match manual/automatic backups by @Quantum-Cucumber in #26810
    • docs: update remote-machine-learning.md by @Aviatorpaal in #28728

    🌐 Translations

    • feat: add cantonese for mobile by @danieldietzler in #30318
    • chore(web): update translations by @weblate in #30296

    New Contributors

    • @jaegeral made their first contribution in #30385
    • @deveshkolte made their first contribution in #30223
    • @gPinato made their first contribution in #30123
    • @lhvy made their first contribution in #30466
    • @djadji-gueye made their first contribution in #30462
    • @DrHaque made their first contribution in #30519
    • @statox made their first contribution in #30485
    • @ihmcsm made their first contribution in #30742
    • @baseballyama made their first contribution in #30782
    • @enol5423 made their first contribution in #30764
    • @mikes1991gh made their first contribution in #30574
    • @nikhilpodila made their first contribution in #30787
    • @fredrikekre made their first contribution in #30828
    • @NoiceHax made their first contribution in #30759
    • @Quantum-Cucumber made their first contribution in #26810
    • @sacha-c made their first contribution in #30873
    • @PAtreju made their first contribution in #30850
    • @fuergaosi233 made their first contribution in #29244
    • @jorbrock made their first contribution in #27909
    • @RxChi1d made their first contribution in #30900
    • @mosh-dev made their first contribution in #30107
    • @thejeff77 made their first contribution in #30916
    • @brn-lin made their first contribution in #30976
    • @Aviatorpaal made their first contribution in #28728
    • @stevenjoezhang made their first contribution in #28462
    • @andydotmp3 made their first contribution in #29528
    • @rickytrevor made their first contribution in #27492
    • @ufukdev made their first contribution in #31098
    • @yranandika05 made their first contribution in #31241
    • @arth3mis made their first contribution in #31264
    • @jake-bybee made their first contribution in #31319

    Full Changelog: v3.1.0...v3.2.0

    Original source
  • Similar to immich with recent updates:

  • Oct 6, 2026
    • Date parsed from source:
      Oct 6, 2026
    • First seen by Releasebot:
      Jul 1, 2026
    • Modified by Releasebot:
      Oct 6, 2026
    immich logo

    immich

    v3.3.0

    immich ships version v3.3.0.

    chore: version v3.3.0

    Original source
  • Oct 2, 2026
    • Date parsed from source:
      Oct 2, 2026
    • First seen by Releasebot:
      Sep 4, 2026
    • Modified by Releasebot:
      Oct 7, 2026
    immich logo

    immich

    v3.3.0-rc.2

    immich releases v3.3.0-rc.2 with person sharing improvements, a new album removal shortcut in the web app, and a batch of mobile, server, ML, and CLI bug fixes plus performance gains.

    v3.3.0-rc.2

    Warning

    Disclaimer

    This is a release candidate, not a stable release. It is subject to change and may contain bugs or breaking changes. As always, make sure you have a backup of your database and library before upgrading to this version.

    Welcome to the third release candidate of v3.3; v3.3.0-rc.2! Some more features, person sharing improvements, and bug fixes. This will likely be the last RC before the v3.3 release. Keep reading below for the draft release notes and instructions on how to run this release candidate.

    Release notes

    Work-in-progress release notes can be found here:

    https://pr-846.dev.immich.app/blog/v3.3.0-release

    Machine Learning

    Set MACHINE_LEARNING_MODEL_REVISION=v2 to take full advantage of the memory usage and performance improvements in this release.

    Server

    To use this RC version on the server, update the IMMICH_VERSION in your .env file:

    IMMICH_VERSION=v3.3.0-rc.2
    or
    IMMICH_VERSION=v3-rc
    

    Then pull and restart:

    docker compose pull && docker compose up -d
    

    Mobile

    To use this RC version on the mobile app, follow the appropriate link for your platform:

    Android

    You can download the APK in the release note below, or tap on "Join the beta" from the Google Play Immich page

    iOS

    The iOS app is available via Testflight: https://testflight.apple.com/join/JTSTucBd

    If you run into any issues, please report them on GitHub so we can address them before the final release. Thank you for helping us test!

    And as always, bugs are fixed, and many other improvements also come with this release.

    What's Changed

    🌟 Enhancements

    • feat(web): add shortcut to remove assets from an album by @immich-push-o-matic[bot] in #32015

    🐛 Bug fixes

    • fix(ml): serialize trt-rtx sessions by @immich-push-o-matic[bot] in #31963
    • fix(ml): widen empty half-precision arrays by @immich-push-o-matic[bot] in #31962
    • fix(server): make library exclusion matching consistently case-insensitive by @immich-push-o-matic[bot] in #31973
    • fix: storage usage display on virtiofs and alike by @immich-push-o-matic[bot] in #31983
    • fix: stale memory thumbnail by @immich-push-o-matic[bot] in #31977
    • fix(server): include album owner for album shared links by @immich-push-o-matic[bot] in #31990
    • fix(mobile): face thumbnail stuck blank after renaming a person by @immich-push-o-matic[bot] in #32001
    • fix(mobile): make the iOS background batch wait for its remote sync by @immich-push-o-matic[bot] in #32003
    • fix(mobile): don't start the foreground backup in iOS background launches by @immich-push-o-matic[bot] in #32002
    • fix(mobile): don't re-upload a photo the server already has by @immich-push-o-matic[bot] in #32004
    • fix(mobile): image jumps when full-res image loads during pinch or zoom animation by @immich-push-o-matic[bot] in #32011
    • fix(ml): upgrade to openvino 2026.4.1 by @immich-push-o-matic[bot] in #32020
    • fix(cli): sidecar precedence by @immich-push-o-matic[bot] in #32021
    • fix: metadata extraction for media streams with unknown profile by @immich-push-o-matic[bot] in #32023
    • fix: assetTagFilter any matching by @immich-push-o-matic[bot] in #32027
    • fix: improper filename sanitizing by @immich-push-o-matic[bot] in #32028

    Full Changelog: v3.3.0-rc.1...v3.3.0-rc.2

    Original source
  • Oct 1, 2026
    • Date parsed from source:
      Oct 1, 2026
    • First seen by Releasebot:
      Sep 30, 2026
    • Modified by Releasebot:
      Oct 1, 2026
    immich logo

    immich

    v3.3.0-rc.1

    immich ships v3.3.0-rc.1, a release candidate with new features, stronger person sharing, and bug fixes. It adds album title and description editing for editors, improves machine learning memory and performance, and includes several web, server, and mobile fixes.

    v3.3.0-rc.1

    Warning

    Disclaimer

    This is a release candidate, not a stable release. It is subject to change and may contain bugs or breaking changes. As always, make sure you have a backup of your database and library before upgrading to this version.

    Welcome to the second release candidate of v3.3; v3.3.0-rc.1! There have not only been bug fixes, but also new features and more person sharing improvements. Keep reading below for the draft release notes and instructions on how to run this release candidate.

    Release notes

    Work-in-progress release notes can be found here:

    https://pr-846.dev.immich.app/blog/v3.3.0-release

    Machine Learning

    Set MACHINE_LEARNING_MODEL_REVISION=v2 to take full advantage of the memory usage and performance improvements in this release.

    Server

    To use this RC version on the server, update the IMMICH_VERSION in your .env file:

    IMMICH_VERSION=v3.3.0-rc.1
    

    or

    IMMICH_VERSION=v3-rc
    

    Then pull and restart:

    docker compose pull && docker compose up -d
    

    Mobile

    To use this RC version on the mobile app, follow the appropriate link for your platform:

    Android

    You can download the APK in the release note below, or tap on "Join the beta" from the Google Play Immich page

    iOS

    The iOS app is available via Testflight: https://testflight.apple.com/join/JTSTucBd

    If you run into any issues, please report them on GitHub so we can address them before the final release. Thank you for helping us test!

    And as always, bugs are fixed, and many other improvements also come with this release.

    What's Changed

    🌟 Enhancements
    • feat(mobile): editors can update album title & description by @immich-push-o-matic[bot] in #31959
    🐛 Bug fixes
    • fix(web): cull offscreen thumbnails on individual shared links by @immich-push-o-matic[bot] in #31891
    • fix: person management ids validation and permissions by @immich-push-o-matic[bot] in #31902
    • fix(server): person birthdate timezone bug by @immich-push-o-matic[bot] in #31906
    • fix(server): make "limit" paramter use z.coerce by @immich-push-o-matic[bot] in #31934
    • fix(server): dont queue unneeded jobs when no xmp file exists by @immich-push-o-matic[bot] in #31936
    • fix(server): ignore Samsung Gallery rotation tag for HEIF orientation by @immich-push-o-matic[bot] in #31938
    • fix: restore folder view scroll position by @immich-push-o-matic[bot] in #31946

    Full Changelog: v3.3.0-rc.0...v3.3.0-rc.1

    Original source
  • Sep 29, 2026
    • Date parsed from source:
      Sep 29, 2026
    • First seen by Releasebot:
      Jun 27, 2026
    • Modified by Releasebot:
      Sep 29, 2026
    immich logo

    immich

    v3.3.0-rc.0

    immich ships v3.3.0-rc.0, the first release candidate for v3.3, bringing birthday memories, people management, asset face v3, improved model performance, and broad web, mobile, and server fixes plus documentation updates.

    v3.3.0-rc.0

    Warning

    Disclaimer

    This is a release candidate, not a stable release. It is subject to change and may contain bugs or breaking changes. As always, make sure you have a backup of your database and library before upgrading to this version.

    Welcome to the first release candidate of v3.3; v3.3.0-rc.0! Keep reading below for the draft release notes and instructions on how to run this release candidate.

    Release notes

    Work-in-progress release notes can be found here:

    https://pr-846.dev.immich.app/blog/v3.3.0-release

    Server

    To use this RC version on the server, update the IMMICH_VERSION in your .env file:

    IMMICH_VERSION=v3.3.0-rc.0
    

    or

    IMMICH_VERSION=v3-rc
    

    Then pull and restart:

    docker compose pull && docker compose up -d
    

    Mobile

    To use this RC version on the mobile app, follow the appropriate link for your platform:

    Android

    You can download the APK in the release note below, or tap on "Join the beta" from the Google Play Immich page

    iOS

    The iOS app is available via Testflight: https://testflight.apple.com/join/JTSTucBd

    If you run into any issues, please report them on GitHub so we can address them before the final release. Thank you for helping us test!

    And as always, bugs are fixed, and many other improvements also come with this release.

    What's Changed

    🚀 Features

    • feat(mobile): stack edited photos over the original on upload by @santoshakil in #31082
    • feat: birthday memories by @alextran1502 in #30831
    • feat: people management by @danieldietzler in #31620
    • feat(ml): trt-rtx by @mertalev in #31863

    🌟 Enhancements

    • feat(web): improve non-Latin text rendering on the map by @meesfrensel in #31611
    • feat: improved storage template onboarding by @bwees in #31531
    • feat(web): default the activity log to show the latest by @nekorevend in #28938
    • feat(server): linear-light resampling by @mertalev in #31236
    • feat(web): add leave album action by @kojomba in #31768
    • feat(ml): improve model loading by @mertalev in #31742
    • feat(ml): optimized model inference by @mertalev in #31750
    • feat: editors can update album title & description by @jrasm91 in #31805
    • feat(server): add support for .jfif files by @Trithereon in #31778
    • feat: memory UI for birthday by @alextran1502 in #31798
    • fix(server): use GeoNames for reverse-geocoded country names by @rufusutt in #30199
    • feat: extract manufacturer and device for samsung videos by @jonastahl in #29375
    • feat(server): sync OAuth claims on login (#8073) by @thomasdelorge in #29013

    🐛 Bug fixes

    • fix(ml): read CLIP model configs as UTF-8 by @justadityaraj in #31075
    • fix(web): face editor coordinates on a not-yet-loaded video by @bo0tzz in #31083
    • fix(mobile): handle transient loading states for map timelines by @agg23 in #29735
    • fix(mobile): keep the original filename when sharing downloaded assets by @santoshakil in #30267
    • fix(mobile): refresh server info when the websocket connects by @santoshakil in #31144
    • fix: do not move faces of users other than the current owner by @danieldietzler in #31145
    • fix(server): allow an empty assetIds array when creating an album shared link by @ufukdev in #31098
    • fix: Build SDK in dev container by @Pecacheu in #31096
    • fix(web): interaction with some filter elements closes the search panel by @alextran1502 in #31107
    • fix(server): never unlink an untracked-file path that an asset now references by @justadityaraj in #31074
    • fix: incorrect edit's openapi type by @alextran1502 in #31218
    • fix(ml): race when submitting to rknn execution queue by @swbchangle in #31143
    • fix(web): album date range formatting by @meesfrensel in #28564
    • fix: face detection of edited assets by @danieldietzler in #31240
    • fix(mobile): prevent inner mutability on Freezed classes by @agg23 in #31229
    • fix(web): partner sharing timeline by @yranandika05 in #31241
    • fix(mobile): use timeline scroll velocity to add placeholders by @agg23 in #29443
    • fix(ml): openvino config has unnecessary devices and volumes by @mertalev in #31253
    • fix(mobile): refresh the memory lane after resume by @santoshakil in #31239
    • fix(mobile): make shared link download toggle depend on metadata toggle by @arth3mis in #31264
    • fix(mobile): rewrite slideshow controller system by @agg23 in #30771
    • fix(server): live photo transcode visibility by @jake-bybee in #31319
    • fix(web): word-wrap long album names by @meesfrensel in #31265
    • fix(web): use RTL-friendly layout for people panel buttons by @meesfrensel in #31266
    • fix(mobile): hide negative age by @YarosMallorca in #31341
    • fix: memory page navigation by @danieldietzler in #31334
    • fix(web): change "View asset owners" to "Hide asset owners" when enabled by @jithendrabathala in #31393
    • fix(server): vacuum after migrations, concurrent reindex by @mertalev in #31424
    • fix: show partner assets on people page by @danieldietzler in #31435
    • fix(web): asset remains in timeline after archive by @YarosMallorca in #31348
    • fix(web): preserve search type by @YarosMallorca in #31394
    • fix: sync client disconnect by @jrasm91 in #31461
    • fix(web): scroll timeline to top when navigating without a scroll target by @timonrieger in #31464
    • fix(web): show full path on hover in duplicates utility by @timonrieger in #31468
    • fix: honor memory filters on explore page by @danieldietzler in #31540
    • fix: face label clipping (again) by @danieldietzler in #31402
    • fix: feature face update ignores soft-deleted faces by @danieldietzler in #31533
    • fix: put back search untagged button by @alextran1502 in #31476
    • fix: reset shouldChangePassword on password change by @shenlong-tanwen in #31276
    • fix: metadata extraction of faces by @danieldietzler in #31551
    • feat: people merge improvements by @danieldietzler in #31456
    • fix: make local album provider reactive by @shenlong-tanwen in #31582
    • fix: skip faces of other users when reassigning faces by @danieldietzler in #31580
    • fix(web): trim strings before searching/comparing by @meesfrensel in #31614
    • fix(mobile): load more than one image on Android with Remove animations by @agg23 in #31587
    • fix(mobile): make EXIF provider reactive by @agg23 in #31552
    • fix: set limit maximum zoom in asset viewer by @TokenLimitExceeded in #31609
    • feat: asset face v3 by @jrasm91 in #31591
    • fix(mobile): fill video placeholder to prevent flicker on open by @LeLunZ in #31621
    • fix(mobile): show the real date for android local photos with no exif by @santoshakil in #29193
    • fix(mobile): prevent live photo from getting stuck during dismiss animation by @LeLunZ in #28080
    • fix(mobile): sync status page goes blank when the counts query fails by @santoshakil in #31642
    • perf: faster server cold start by @holoskii in #31630
    • fix(web): correct memory title date by @Dhruthiya in #31643
    • fix(mobile): clamp out of range datetimes so timeline queries cannot crash by @santoshakil in #30490
    • fix(web): scrollable search dropdown on mobile web by @meesfrensel in #31634
    • fix(web): queue buttons focus outline by @meesfrensel in #31657
    • fix(mobile): ios clear file cache feedback by @yranandika05 in #31401
    • fix(mobile): prevent SurfaceLayer crashing on maps in Viewer on Android by @agg23 in #31709
    • fix: preserve scroll position on memories page by @YarosMallorca in #31588
    • fix(server): compare integrity paths independently of unicode normalization by @justadityaraj in #31102
    • fix(mobile): retry the background backup when connectivity is restored by @santoshakil in #30909
    • fix(web): refresh people after setting person thumbnail by @meesfrensel in #31744
    • fix: save user_version in migration transaction by @shenlong-tanwen in #31039
    • fix(mobile): play the server copy when the local video file cannot be read by @santoshakil in #31606
    • fix(mobile): resume after the app was launched in the background by @santoshakil in #31557
    • fix(web): prevent race when editing album description during upload by @dikshit-n in #31758
    • fix(server): attach error handler to accepted sockets to prevent crash on connection reset by @aashish00021 in #31079
    • fix(mobile): ask before deleting local only photos on android 10 and below by @santoshakil in #31146
    • fix(web): remember selected search type by @DawidKrynski in #31799
    • fix: face bounding box label alignment by @danieldietzler in #31793
    • fix(server): incorrect scaling of rotated videos when transcoding by @fabxyz in #31473
    • fix(web): keep other comments visible when deleting a comment by @DawidKrynski in #31848
    • fix(server): write tag updates to exif table by @jorbrock in #31425
    • fix(server): exclude hidden assets from large files search by @bo0tzz in #31479
    • fix: favorite workflow step description by @xCJPECKOVERx in #31840
    • fix(ml): stricter typing and request validation by @mertalev in #31856
    • fix(server): emit sidecarwrites and assetupdates consequently by @meesfrensel in #31777
    • fix: library watcher should respect ignore patterns by @etnoy in #31418
    • fix: email template by @danieldietzler in #31859

    📚 Documentation

    • chore(docs): deprecate outlook SMTP by @mmomjian in #31139
    • feat: new FAQ entries by @bo0tzz in #31227
    • fix(docs): add needed mobile app developer setup step by @arth3mis in #31263
    • docs(server): document the UTC timestamp format for timeBucket by @alangrainger in #31421
    • chore(docs): add note about opening issues to contributing by @meesfrensel in #31607
    • docs: link to the docker compose builder by @bo0tzz in #31610
    • fix: page path in better face clusters guide by @bo0tzz in #31671
    • docs: document locked folder session behaviour by @howroyd in #31735
    • docs: update backup settings menu path to Database Dump Settings by @MalibThalion in #31270

    🌐 Translations

    • chore(web): update translations by @weblate in #31376

    New Contributors

    • @ufukdev made their first contribution in #31098
    • @Pecacheu made their first contribution in #31096
    • @swbchangle made their first contribution in #31143
    • @yranandika05 made their first contribution in #31241
    • @arth3mis made their first contribution in #31264
    • @maximal made their first contribution in #31304
    • @jake-bybee made their first contribution in #31319
    • @jithendrabathala made their first contribution in #31393
    • @TokenLimitExceeded made their first contribution in #31609
    • @holoskii made their first contribution in #31630
    • @lg114 made their first contribution in #31654
    • @Dhruthiya made their first contribution in #31643
    • @howroyd made their first contribution in #31735
    • @dikshit-n made their first contribution in #31758
    • @aashish00021 made their first contribution in #31079
    • @nekorevend made their first contribution in #28938
    • @kojomba made their first contribution in #31768
    • @DawidKrynski made their first contribution in #31799
    • @Trithereon made their first contribution in #31778
    • @fabxyz made their first contribution in #31473
    • @rufusutt made their first contribution in #30199
    • @avaly made their first contribution in #31770
    • @MalibThalion made their first contribution in #31270
    • @jonastahl made their first contribution in #29375

    Full Changelog: v3.2.4...v3.3.0-rc.0

    Original source
  • Sep 28, 2026
    • Date parsed from source:
      Sep 28, 2026
    • First seen by Releasebot:
      Sep 28, 2026
    immich logo

    immich

    v3.2.4

    immich ships a small patch that fixes a memory leak and a blank sync status page on mobile.

    It's been a while since we last had to sacrifice a release. Let's hope v3.2.3 was a good sacrifice for v3.3, which is right around the corner!
    Just another small patch that primarily fixes the memory leak people have observed through a dependency update.

    What's Changed

    🐛 Bug fixes

    • fix(mobile): sync status page goes blank when the counts query fails by @immich-push-o-matic[bot] in #31644

    Full Changelog: v3.2.2...v3.2.4

    Original source
  • Sep 28, 2026
    • Date parsed from source:
      Sep 28, 2026
    • First seen by Releasebot:
      Sep 28, 2026
    immich logo

    immich

    v3.2.3

    immich ships version v3.2.3.

    chore: version v3.2.3

    Original source
  • Sep 15, 2026
    • Date parsed from source:
      Sep 15, 2026
    • First seen by Releasebot:
      Sep 15, 2026
    immich logo

    immich

    v3.2.2

    immich ships a small patch fixing face reassignment to skip faces from other users.

    Just another small patch with a fix for the reassign faces feature.

    What's Changed

    🐛 Bug fixes

    • fix: skip faces of other users when reassigning faces by @immich-push-o-matic[bot] in #31586

    Full Changelog: v3.2.1...v3.2.2

    Original source
  • Sep 14, 2026
    • Date parsed from source:
      Sep 14, 2026
    • First seen by Releasebot:
      Sep 14, 2026
    immich logo

    immich

    v3.2.1

    immich releases a patch update that fixes sync, search, people, and timeline issues while improving person merge behavior and partner asset visibility. It also cleans up several web and server bugs for a smoother, more reliable experience.

    This patch release addresses various bugs, including:

    • An issue with connection pool exhaustion during sync
    • Problems with the new search modal
    • Not seeing partner shared assets on people page
    • Person merge not working for two named people
    • ... and more. See the full list below.

    What's Changed

    🐛 Bug fixes

    • fix: show partner assets on people page by @immich-push-o-matic[bot] in #31449
    • fix(server): vacuum after migrations, concurrent reindex by @immich-push-o-matic[bot] in #31446
    • fix(web): asset remains in timeline after archive by @immich-push-o-matic[bot] in #31459
    • fix(web): change "View asset owners" to "Hide asset owners" when enabled by @immich-push-o-matic[bot] in #31460
    • fix(web): preserve search type by @immich-push-o-matic[bot] in #31462
    • fix: sync client disconnect by @immich-push-o-matic[bot] in #31463
    • fix(web): scroll timeline to top when navigating without a scroll target by @immich-push-o-matic[bot] in #31477
    • fix: honor memory filters on explore page by @immich-push-o-matic[bot] in #31542
    • fix: face label clipping (again) by @immich-push-o-matic[bot] in #31543
    • fix(web): show full path on hover in duplicates utility by @immich-push-o-matic[bot] in #31491
    • fix: feature face update ignores soft-deleted faces by @immich-push-o-matic[bot] in #31545
    • fix: put back search untagged button by @immich-push-o-matic[bot] in #31546
    • fix: reset shouldChangePassword on password change by @immich-push-o-matic[bot] in #31553
    • fix: metadata extraction of faces by @immich-push-o-matic[bot] in #31554
    • feat: people merge improvements by @immich-push-o-matic[bot] in #31555

    Full Changelog: v3.2.0...v3.2.1

    Original source
  • Sep 9, 2026
    • Date parsed from source:
      Sep 9, 2026
    • First seen by Releasebot:
      Jun 19, 2026
    • Modified by Releasebot:
      Sep 9, 2026
    immich logo

    immich

    v3.2.0

    immich ships version v3.2.0.

    chore: version v3.2.0

    Original source
  • Aug 31, 2026
    • Date parsed from source:
      Aug 31, 2026
    • First seen by Releasebot:
      Jun 19, 2026
    • Modified by Releasebot:
      Aug 31, 2026
    immich logo

    immich

    v3.2.0-rc.2

    immich ships v3.2.0-rc.2, a release candidate with bug fixes centered on person merging and the new search UI, plus several web, mobile, server, and machine learning improvements.

    v3.2.0-rc.2

    Warning

    Disclaimer

    This is a release candidate, not a stable release. It is subject to change and may contain bugs or breaking changes. As always, make sure you have a backup of your database and library before upgrading to this version.

    Welcome to the second release candidate of v3.2; v3.2.0-rc.2! There have been a few bug fixes, primarily around person merging and the new search UI.

    Release notes

    Work-in-progress release notes can be found here:

    https://pr-737.dev.immich.app/blog/v3.2.0-release

    Server

    To use this RC version on the server, update the IMMICH_VERSION in your .env file:

    IMMICH_VERSION=v3.2.0-rc.2

    or

    IMMICH_VERSION=v3-rc

    Then pull and restart:

    docker compose pull && docker compose up -d
    

    Mobile

    To use this RC version on the mobile app, follow the appropriate link for your platform:

    Android

    You can download the APK in the release note below, or tap on "Join the beta" from the Google Play Immich page

    iOS

    The iOS app is available via Testflight: https://testflight.apple.com/join/JTSTucBd

    If you run into any issues, please report them on GitHub so we can address them before the final release. Thank you for helping us test!

    And as always, bugs are fixed, and many other improvements also come with this release.

    What's Changed

    🐛 Bug fixes

    • fix(web): face editor coordinates on a not-yet-loaded video by @immich-push-o-matic[bot] in #31085
    • fix: do not move faces of users other than the current owner by @immich-push-o-matic[bot] in #31149
    • fix(server): allow an empty assetIds array when creating an album shared link by @immich-push-o-matic[bot] in #31151
    • fix(mobile): keep the original filename when sharing downloaded assets by @immich-push-o-matic[bot] in #31154
    • fix(mobile): handle transient loading states for map timelines by @immich-push-o-matic[bot] in #31153
    • fix(web): interaction with some filter elements closes the search panel by @immich-push-o-matic[bot] in #31160
    • fix(ml): read CLIP model configs as UTF-8 by @immich-push-o-matic[bot] in #31152
    • fix(mobile): refresh server info when the websocket connects by @immich-push-o-matic[bot] in #31155

    Full Changelog: v3.2.0-rc.1...v3.2.0-rc.2

    Original source
Releasebot

Curated by the Releasebot team

Releasebot is an aggregator of official release notes from hundreds of software vendors and thousands of sources.

Our editorial process involves the manual review and audit of release notes procured with the help of automated systems.