Releases: immich-app/immich
v2.1.0
v2.1.0
Welcome to release v2.1.0 of Immich!
It’s been about 2 weeks since our stable release 🎉 and the celebratory Retro DVD 📀, which many of you are starting to receive. For those outside the US still waiting for theirs, we're currently awaiting a new batch of DVDs. Hopefully, those start shipping early next week at the latest.
We’d like to take a moment to thank everyone for the support, kind words, and otherwise positive feedback. It’s been great to hear, and it means more to us than you know
Highlights
This release contains mostly bug fixes, with a few minor enhancements. Here are some of the highlights:
- Improved slideshow shuffle order (web)
- Edit seconds and milliseconds (web)
- Upload to stack (web)
- Local album event notifications (web)
- Notable fix: mobile search page scrolls back to the top
As always, this release also contains the latest translations.
Improved slideshow shuffle order (web)
This release improves on the algorithm used to implement the Shuffle order for the slideshow feature on the web. You should now see a better distribution of photos (fewer repeats).
Edit seconds and milliseconds (web)
The change date modal on the web now supports the option to specify seconds and milliseconds.
Upload to stack (web)
For stacks, a new menu option has been added: Add upload to stack. This action will open a file picker, allowing you to upload directly to the stack.
Local album event notifications (web)
This release adds a new in-app notification type: Shared Album Invitation and Shared Album Update. When you are invited to a shared album, and when a new asset is added to it, all users will receive a notification about the update. You can click on the notification to go directly to the mentioned album.
The foundation for in-app (web) notifications was introduced in #17701, and we’re still working on expanding it to include more event types, with the hope of eventually incorporating it into the mobile app as a push notification.
Notable fix: mobile search page scrolls back to the top
The search page on mobile uses “infinite scroll”, which means new chunks of assets are automatically loaded in as you scroll down the page. However, prior to this release, the scroll position would reset to the top whenever new chunks were added, resulting in a frustrating user experience. This has been fixed, and the scroll position no longer resets.
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
🌟 Enhancements
- feat(server): improve checkAlbumAccess query performance by @skatsubo in #22467
- fix(web): do not notify on patch releases by @jrasm91 in #22591
- fix(web): Uniform random distribution during shuffle by @Pascal-So in #19902
- feat(web): seconds and milliseconds in timestamps by @kaziu687 in #20337
- feat(web): Add upload to stack action by @Sese-Schneider in #19842
- feat(server): add
immich.users.totalmetric by @Tushar-Harsora in #21780 - feat: local album events notification by @alextran1502 in #22817
🐛 Bug fixes
- fix(docs): link to immich docs does not lead correctly to docs by @XavierDupuis in #22687
- fix(server): fix chunking Postgres query parameters by @skatsubo in #22684
- fix(ml): Resolve IPv6 startup crash and healthcheck failure by @CaptainJack2491 in #22387
- fix(server): override reserved color metadata for video thumbnails by @mertalev in #22348
- fix(mobile): trash description cut off by @YarosMallorca in #22662
- fix(mobile): empty album description does not save by @YarosMallorca in #22649
- fix(mobile): video player using ref after disposal by @mertalev in #21843
- fix: missing responsive calculation in UserPageLayout by @midzelis in #22455
- fix: use full-size image for non-web-compatible panoramas by @grgergo1 in #20359
- fix: hide view in timeline button on local timeline by @bwees in #22713
- fix: Fix issue fail to download iOS live photos by @CuberL in #22708
- fix(mobile): closing editor goes back to main page by @YarosMallorca in #22647
- fix: improve the selected sidebar item text color in dark mode by @alextran1502 in #22640
- fix: promote to foreground service before starting engine by @shenlong-tanwen in #22517
- fix: bottom sheet blank with local assets that have remote counterparts by @bwees in #22743
- fix: skip local only assets in move to lock action by @shenlong-tanwen in #22728
- fix: brief flashing when swiping from video by @Saschl in #22187
- fix: persist search page scroll offset between rebuilds by @shenlong-tanwen in #22733
- fix: only cast to device if the asset is a RemoteAsset by @bwees in #22805
- fix: ios skip posting hash response after detached from engine by @shenlong-tanwen in #22695
- fix: shared album control permissions by @bwees in #22435
- fix: show dialog before delete local action by @shenlong-tanwen in #22280
- chore: refactor show view in timeline button by @bwees in #22894
📚 Documentation
- docs: update Synology install guide by @TDR001 in #21996
- docs: add some external library notes by @jrasm91 in #22776
- docs: add Immich-Stack to community-projects by @Qhilm in #21563
🌐 Translations
New Contributors
- @XavierDupuis made their first contribution in #22687
- @adrianjost made their first contribution in #22631
- @CaptainJack2491 made their first contribution in #22387
- @USBAkimbo made their first contribution in #22673
- @MontejoJorge made their first contribution in #22702
- @diogotcorreia made their first contribution in #21602
- @CuberL made their first contribution in #22708
- @TDR001 made their first contribution in #21996
- @PeterDaveHello made their first contribution in #22703
Full Changelog: v2.0.1...v2.1.0
v2.0.1
v2.0.1
It's such a refreshing feeling to write v2 for the app's version 😃. Thank you all for the overwhelming support in celebrating this stable release with us.
This patch release primarily addresses several bugs in the mobile app.
Have a lovely weekend!
What's Changed
🐛 Bug fixes
- fix: do not delete asset on share by @shenlong-tanwen in #22578
- fix: remove new timeline version check by @shenlong-tanwen in #22584
- fix: show only owned assets in places and map by @shenlong-tanwen in #22585
- fix: show activity in shared albunm by @alextran1502 in #22589
- fix: compass button overlaps status bar by @YarosMallorca in #22330
- fix: shrink age view to fit and not overflow by @bwees in #22405
- fix: mitigate database lock scenario when running full sync in splash screen page by @alextran1502 in #22608
- fix: bottom navigation bar overlay sheet info by @alextran1502 in #22610
- fix: respect storage indicator setting by @shenlong-tanwen in #22596
- fix: do not run multiple engines on cold startup by @shenlong-tanwen in #22518
- fix: album selector in favorite view by @alextran1502 in #22612
📚 Documentation
- feat(docs): add one-click install docs page by @kennyfuto in #22553
- chore: replace immich.app/docs with docs.immich.app globally by @gablilli in #22428
- fix(docs): one-click doc fixes by @kennyfuto in #22554
🌐 Translations
New Contributors
- @kennyfuto made their first contribution in #22553
Full Changelog: https://github.com/immich-app/immich/compare/v2.0.0...
v2.0.0 - Stable Release
v2.0.0 - Stable Release
Welcome to the release v2.0.0 of Immich. This release marks the first stable version of Immich. You can read our announcement blog post here to learn what stable means for Immich, what you can expect from a stable version, along with our future plans. Of course, it wouldn't be complete without a few surprises.
To update to this version, no special steps are required. Compose pull and compose up, and you are now on v2.0.0. Additionally, there are a few noteworthy items that we have been working on in preparation for the stable release:
- New homepage
- New API documentation
- New community metrics
Stable Release Live Stream and Video
We'll be hosting a Q&A livestream on October 2nd, 2025 at 6 PM UTC. You can submit your questions here and subscribe for notifications when the livestream starts here on YouTube.
New Merch and DVD
To celebrate this release, we want to capture this moment in a nostalgic form, reminiscent of how software was distributed in our childhood - on a CD (or DVD, in this “case”). Introducing Immich Stable in physical form! You can find the link to the disk here
The disk comes with a fully bootable Immich instance, featuring a selection of curated photos chosen by the team. You can purchase the disk from our merch store, along with a client or server product key, to support and celebrate this milestone with us.
The merch store is also updated with retro-styled Immich designs, check it out in https://immich.store
New homepage
The https://immich.app/ website has been recently updated. It’s been rewritten with our very own UI component library, and includes a blog with a few initial posts, including one about the new mobile sync implementation. Existing documentation has been moved to https://docs.immich.app/.
Better API documentation
We’re also happy to announce a new version of our API documentation, which is now live at https://api.immich.app/. The new docs include more information about authentication, authorization & permissions, a command palette for quick navigation (press / or ctrl+k), and a built-in method to view live results.
New community metrics
The https://data.immich.app/ website has also been updated to include new community metrics that show member growth on our subreddit and discord server.
What's Changed
🐛 Bug fixes
- fix: show un-hashed remainder assets by @shenlong-tanwen in #22492
- fix(server): Revert update libmimalloc path (#22345) by @alextran1502 in #22526
- fix: missing email button padding by @Funk66 in #22529
Full Changelog: v1.144.1...v2.0.0
v1.144.1
v1.144.1
v1.144.0 has been made a sacrificial object to the Release God
Welcome to the release v1.144.1 of Immich. This release marks the end of summer, with many bugs being squashed and the continuous improvement of the upload process on the new timeline. It also comes with enhancements to storage management for iCloud users when uploading a large library. The mobile app now also displays an indicator for LivePhoto or MotionPhoto, making them easier to recognize.
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
🐛 Bug fixes
- fix(server): update libmimalloc path by @mertalev in #22345
- fix: ios export sqlite db by @shenlong-tanwen in #22369
- fix: map attribution and other styling by @bwees in #22303
- fix: delete temp file on iOS after upload by @shenlong-tanwen in #22364
- fix(mobile): load local thumbnails in album timeline by @mertalev in #22329
- fix(mobile): scrubbing mode on scroll to date event by @mertalev in #22390
- fix: local assets should not be added to album by @bwees in #22304
- feat(mobile): add unstack button by @shenlong-tanwen in #21869
- fix: prefer remote images in new timeline by @shenlong-tanwen in #22452
- fix: merged timeline orderby localtime by @shenlong-tanwen in #22371
- fix: process upload only after successful remote sync by @shenlong-tanwen in #22360
📚 Documentation
- feat: docs.immich.app by @zackpollard in #21819
🌐 Translations
Full Changelog: v1.143.1...v1.144.1
v1.143.1
v1.143.1
What's Changed
🐛 Bug fixes
- fix: migrate backup delay from old timeline by @shenlong-tanwen in #22327
🌐 Translations
- chore(web): update translations by @weblate in #22022
- chore(web): update translations by @weblate in #22288
Full Changelog: v1.143.0...v1.143.1
v1.143.0
v1.143.0
Note
If you're still experiencing issues with remote assets or albums not showing up on the mobile app, please ensure that your server is updated to the latest version. If you are still having issues, try logging out and back in.
Highlights
Welcome to release v1.143.0 of Immich. Like all releases, this one includes the latest batch of translations. A special thanks to everyone who has contributed so far to translating the project. If you are interested in helping translate yourself, check out our project on Weblate. Other than that, this release is mostly bug fixes, with a few minor enhancements. Now let’s dive right in!
- Material 3 switch/toggle (web) #22100
- Bring back configurable backup settings (mobile) #22114
- Concurrent hashing & hashing progress (mobile) #21997
- Download progress (mobile) #22178
- Notable fix: Web modals #22079
- Notable fix: Mobile “freezes” #22111
- Notable fix: Copy image on Safari
Material 3 switch/toggle (web)
The web project has an updated switch/toggle, thanks to @SevereCloud (immich-app/ui#267) for that.
Bring back configurable backup settings (Android)
Just like the previous timeline implementation, the new version now has similar settings for
- Backup only while charging
- Upload only after a minimum amount of elapsed time
Concurrent hashing & hashing progress (mobile)
Improvements have been made to the client-side hashing implementation, which now enables hashing to happen concurrently. This significantly increases throughput, and now the speed is mostly limited by how fast files can be read from internal storage. The hashing process has also been updated to only hash assets from the albums selected for backups, which reduces the number of downloads for iCloud users.
Download progress (mobile)
The mobile app now has a built-in download progress indicator, which makes it easy to see the progress of files being downloaded onto the device.
Notable fix: Web modals
Previous to this release, the web application would often “freeze” or become unusable after using a modal (creating a shared link, creating an api key, confirming the deletion of assets, etc.). This issue has been fixed.
Notable fix: Mobile “freezes”
This release fixes an issue that the mobile application could occasionally “freeze”, with the thumbnails would stop loading, and certain pages would become unusable until the application was forced closed. This has proved much more challenging to solve. We determined that the cause was due to concurrent access to SQLite from background/foreground processes, which could have put the app into this state. We have taken measures to address these situations and believe the application should be much more stable. If you are still running into these types of issues, please let us know!
Notable fix: Copy image on Safari
The “copy image to clipboard” functionality has long worked on non-Safari browsers, but in this release, we were finally able to identify and implement a fix. Copying an image to the clipboard should now also work on Safari.
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
- chore: bump immich/ui by @jrasm91 in #22100
- feat: add configurable backup on charging only and delay settings for android by @shenlong-tanwen in #22114
🌟 Enhancements
- feat(web): toggle theme shortcut by @jrasm91 in #22139
- refactor: hashing service by @shenlong-tanwen in #21997
- fix: download feedback by @alextran1502 in #22178
- feat: availability checks by @jrasm91 in #22185
- feat: show preparing/hashing status in backup page by @alextran1502 in #22222
🐛 Bug fixes
- fix: close menu anchor on navigation by @shenlong-tanwen in #22021
- fix: sidebar link hightlight by @alextran1502 in #22035
- fix(oauth): omit blank pkce from url when not supported by @uphillcheddar in #21976
- fix(server): bulk edit rating by @jrasm91 in #21839
- fix: distance of segment label overlapsed scrubber label by @alextran1502 in #22043
- fix: navigate to time by @alextran1502 in #22078
- fix(web): issue with modal locking the page by @jrasm91 in #22079
- fix(mobile): prevent concurrent refresh and processing tasks by @mertalev in #22111
- chore(deps): bump flutter to 3.35.3 by @mertalev in #22054
- fix: poll counts from DB rather than using callbacks from library by @shenlong-tanwen in #22117
- fix: beta migration check by @shenlong-tanwen in #22092
- fix: ensure background worker is scheduled when the app is dismissed by @alextran1502 in #22032
- fix: display album image in selection mode by @vitoksmile in #22087
- fix: initial size of bottom sheet by @vitoksmile in #22085
- fix: Refresh photo after updating featured photo by @stewx in #21971
- fix(mobile): load original image by @mertalev in #22142
- fix: show delete on device when asset has a local match by @shenlong-tanwen in #22143
- fix: do not migrate existing users by @shenlong-tanwen in #22146
- fix(web): download panel by @jrasm91 in #22150
- fix(mobile): thumbnail shimmering effect by @mertalev in #22158
- fix: asset viewer background isn't shown by @alextran1502 in #22161
- fix: show thumbnail instantly when jumping to top of the page by @alextran1502 in #22163
- fix(mobile): stack row blocking gestures and not showing up by @mertalev in #21854
- chore: refresh backup stats when entering backup page by @alextran1502 in #21977
- fix: display thumbnail while scrubbing paused by @alextran1502 in #22164
- fix(web): do not upscale small pictures by @jrasm91 in #22191
- fix: get scrubber in search view working by @alextran1502 in #22175
- fix: sqlite parameters limit by @shenlong-tanwen in #22119
- fix(mobile): smaller search page size by @jrasm91 in #22210
- fix: automatically remove leading/trailing whitespace from search que… by @jrasm91 in #22214
- fix(web): show danger/warning when taken dates overlap by @jrasm91 in #22213
- fix(web): copy to clipboard on safari by @jrasm91 in #22217
- fix(web): only copy images via canvas by @jrasm91 in #22225
- fix: local share action not working on iPad by @shenlong-tanwen in #22238
- fix: retain scroll position on scale update by @shenlong-tanwen in #22237
📚 Documentation
- docs: add community immich-birthday and immich-stack projects by @sid3windr in #21934
- chore(docs): add an updated Podman/Quadlets community guide by @linux-universe in #20744
🌐 Translations
New Contributors
- @uphillcheddar made their first contribution in #21976
- @sid3windr made their first contribution in #21934
- @linux-universe made their first contribution in #20744
- @vitoksmile made their first contribution in <https://github.com/immich-a...
v1.142.1
v1.142.1
Hey guys, Alex here.
Sorry about the rocky release of version v1.142.0. Instead of giving you guys a better experience with the timeline, a mistake in the migration flow code that I wrote put the app into an erroneous state that makes it seem like the new timeline isn't working at all, and the only way to fix that was to log out and log back in manually. For that, I personally apologize for the inconvenience and the frustration that I caused over the weekend. This patch release addresses those issues and some other bugs that were reported over the weekend. If you have problems, please don't hesitate to reach out to me or the team on Discord or GitHub
Alex
In release v1.142.0, during the migration from the old timeline to the new one on the mobile app, the sync checkpoint isn't getting reset, leading to the data not being pulled from the server. During the development of the new timeline, while on the old timeline, the sync endpoint might have been triggered at some points. The missing sync information creates a perception of data loss and mismatched sync information for the mobile app. This release reset the sync checkpoints so that they can be pulled down correctly for everyone.
Tip
For the new timeline to pull the correct information, please consider updating your server to the latest version. We have seen reports that the timeline isn't working because it was connecting to an older version of the server
This patch release also addresses the reliability of background sync on Android. We suggest that you don't swipe away to dismiss the app, but keep it in the background; this will prevent the background worker from being terminated by the OS. Further optimization of the background worker's operation when the app is dismissed will be implemented in the next few days, pending additional testing.
What's Changed
🐛 Bug fixes
- fix: format point count numbers on map view by @stewx in #21848
- chore: improve context button accessibility by @stewx in #21876
- fix: z-index of top bar on show/hide people view by @stewx in #21847
- fix: keep adequate space around page title by @stewx in #21881
- chore: improve date text slide-in transition by @stewx in #21879
- fix: context menu jank by @stewx in #21844
- fix: do not show stack action if there is only one selection by @shenlong-tanwen in #21868
- fix: show view in timeline from search page by @shenlong-tanwen in #21873
- fix(mobile): double hero animation by @mertalev in #21927
- fix: complete does not destroy engine on close by @shenlong-tanwen in #21943
- feat: disable snapping when a timeline has less than 12 months by @bwees in #21649
- fix: do not listen for store updates in isolates by @shenlong-tanwen in #21947
- fix: check if preferencesStore is defined by @piscis in #21958
- fix: reset sqlite on beta migration by @shenlong-tanwen in #20735
- fix: move startInitialization to inside the doWork method by @shenlong-tanwen in #21984
- chore: making order of background tasks better by @alextran1502 in #21928
- chore(mobile): minor changes to bottom sheet by @YarosMallorca in #22008
New Contributors
Full Changelog: v1.142.0...v1.142.1
v1.142.0
v1.142.0
Highlights
Welcome to release v1.142.0 of Immich. Starting with this version, the beta timeline is now the default version for the app. When you first open the app after updating, it will check and run the on-device migration steps for those that are on the old timeline, after that you can close and relaunch the app to start with a better app experience. We want to express our sincere gratitude again for the users who have been using the new version to help us polish it, and for those who work closely with us to tackle weird bugs. As always, this version comes with many bug fixes for the server, web and the mobile app. Let’s dive into some of the highlights below.
- Resume all paused jobs
- Geolocation utility improvements
- Read-only mode toggle on the mobile app has changed to a long-press behavior instead of a double-tap
- Notable fix: Raspberry Pi 4 crashes when generating thumbnails
- If you were affected by this bug and set the environmental variable
VIPS_NOVECTOR=1, you should remove this variable when upgrading to this Immich release or above
- If you were affected by this bug and set the environmental variable
Resume all paused jobs
The job administration page now comes with a resume all button. This is especially helpful for users who are importing their libraries to Immich via immich-go, which pauses all jobs during upload, including background jobs not visible in the UI. If the process fails mid-way, the jobs stay paused until the admin either recreates the Redis container or manually resumes them. If you’ve been having problems with the trash not clearing or memories not generating, make sure to check this button.
Geolocation utility improvements
The geolocation utility has been converted to a timeline view, so you can easily scroll through your entire library while investigating
You can now browse the timeline, and at the same time, fill in the missing coordinates for your assets. Thanks @Johannbr for your continued work on this.
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: add partner create endpoint by @jrasm91 in #21625
- chore: deprecate
replaceAssetby @jrasm91 in #21791
🚀 Features
- feat: workflow for automated translations merge by @bo0tzz in #21639
- chore: make beta timeline the default by @alextran1502 in #21751
🌟 Enhancements
- feat: add button to unpause all queues by @bo0tzz in #21685
- feat(web): use timeline in geolocation manager by @Johannbr in #21492
🐛 Bug fixes
- fix(server): remove pcm from default accepted codecs by @mertalev in #21655
- fix(server): valid backups with
DB_URLenv variable config by @peterbuga in #21669 - feat: sync AuthUserV1 by @shenlong-tanwen in #21565
- fix: prevent isolate deadlock by @alextran1502 in #21692
- fix: use relative path in start.sh by @dvdkon in #20434
- fix: prefer Creation Date over Create Date by @jrasm91 in #21756
- fix(web): cancel uploads on logout by @jrasm91 in #21760
- fix(web): transparent background color by @jrasm91 in #21747
- fix(web): website frozen after modal closes by @jrasm91 in #21752
- fix(web): map popup accessibility by @jrasm91 in #21759
- fix(server): correct immich-cli symlink in Immich docker image by @skatsubo in #21318
- fix: welcome email password by @jrasm91 in #21732
- fix(mobile): Change read-only mode activation method to remove double click lag by @goalie2002 in #21743
- fix(web): memory viewer arrow navigation by @YarosMallorca in #19400
- chore(deps): update base image to trixie by @mertalev in #21786
- fix(web): asset refresh by @jrasm91 in #21788
- fix(web): map in album shared link by @jrasm91 in #21793
- fix(server): validate token permission by @jrasm91 in #21802
- fix: android background backups by @shenlong-tanwen in #21795
- fix: concurrency issue by @alextran1502 in #21830
- fix: always use en locale for parsing timeline datetime by @shenlong-tanwen in #21796
- fix(web): handle buckets before year 1000 by @jrasm91 in #21832
📚 Documentation
- docs: be explicit about which container exposes metrics by @per-review in #20424
- docs: add community immich drop uploader project by @papuass in #21775
- fix(docs): fix the SQL query for finding assets with missing thumbnails by @skatsubo in #21770
- docs: improve and clarify XMP sidecar behavior by @trommegutten in #20334
- docs: update tag details by @jrasm91 in #21815
🌐 Translations
- chore: update README by @zvirja in #21718
- chore(web): update translations by @weblate in #21624
- chore(web): update translations by @weblate in #21814
New Contributors
- @peterbuga made their first contribution in #21669
- @per-review made their first contribution in #20424
- @papuass made their first contribution in #21775
- @zvirja made their first contribution in #21718
- @trommegutten made their first contribution in #20334
Full Changelog: v1.141.1...v1.142.0
v1.141.1
v1.141.1
Highlight
Welcome to the release v1.141.1 of Immich, as hot as this summer gets, the beta timeline is ready to be taken out of the kitchen, now with more features and bug fixes. Let’s dive right in while it’s still hot
- [beta] Auto-add uploaded assets to albums
- View similar photos
- DigitalOcean 1-click deployment
- Notable fix - thumbnail generation for 200MP HEIC images
[beta] Auto-add uploaded assets to albums.
This feature has made its way back to the beta timeline. You can enable this feature on the Backup Options page. The current selected albums for backup will be linked with the album of the same name on the server, or a new album will be created if those albums don’t exist. Assets uploaded will be placed in the respective linked album.
View similar photos
On the web, you can now look for similar photos or videos when viewing an asset by clicking on the context menu > Find similar photos. Powered by CLIP search to quickly identify photos with similar scenery and context
Digital Ocean 1-Click Deployment
To help users who are interested in trying out the application without setting it up on their infrastructure, or who do not have the infrastructure available yet. We now have the option to deploy Immich directly on DigitalOcean.
The default configuration is the smallest pod size that can run Immich comfortably. The new instance is set up with a default reverse proxy that handles TLS. For more information, you can read here.
You can give it a try by clicking the button 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: view similar photos by @normana10 in #21108
- feat: album info sync by @alextran1502 in #21103
🌟 Enhancements
- fix(web): wait for image to load before playing memories. by @dagstuan in #19757
- feat(mobile): copy file name by long-press by @YarosMallorca in #21469
- feat(mobile): add to albums from existing albums by @pedrosimao in #21554
- feat(mobile): scrubber haptics (beta timeline) by @YarosMallorca in #21351
🐛 Bug fixes
- fix(mobile): readonly mode disable tabs when in landscape mode by @bwees in #21475
- fix(web): Show full date when hovering over photos date groups by @Snowknight26 in #21462
- fix(mobile): increase thumbnail resolution by @mertalev in #21502
- fix: show TabShellRoute when cold starting from deeplink by @bwees in #21376
- fix: filter null duplicate assets by @ItzDerock in #21507
- fix(mobile): decoding at higher resolution than necessary by @mertalev in #21503
- fix(mobile): ensure current asset is set in asset viewer by @mertalev in #21504
- fix: handle datetime outside the valid range supported by dart by @shenlong-tanwen in #21526
- fix: set specific AssetUpload permission on checkBulkUpload endpoint by @bo0tzz in #21470
- fix: iOS portrait photo saved as jpg extension by @alextran1502 in #21388
- fix: local sync task never runs on iOS by @shenlong-tanwen in #21491
- fix: keyboard not dismissed in places page by @shenlong-tanwen in #21583
- fix(mobile): pause image loading on inactive state by @mertalev in #21543
- fix(mobile): readonly mode fixes by @Sud-Puth in #21545
- fix(mobile): Hide system UI when entering immersive mode in asset viewer by @goalie2002 in #21539
- fix(web): Make Manage location utility header responsive by @Snowknight26 in #21480
- fix(mobile): pinch + move scale by @waclaw66 in #21332
- fix: retain filter and sort options when pulling to refresh by @bwees in #21452
- fix: sidecar check job by @jrasm91 in #21312
- fix: use lock to synchronise foreground and background backup by @shenlong-tanwen in #21522
- fix: asset upload metadata validation by @jrasm91 in #21594
- chore(deps): bump sharp to 0.34.3 by @mertalev in #21596
- fix(mobile): Correction of image creation date by using mtime instead… by @StarGest in #21508
- fix(mobile): location button map beta timeline by @YarosMallorca in #21590
- fix(server): consider asset creation date when EXIF is missing by @riccardoruspoli in #21586
- fix: memory not getting refreshed on new day by @alextran1502 in #21623
- chore: robust isolation tasks coordination by @alextran1502 in #21605
🌐 Translations
- chore(web): update translations by @weblate in #21130
- chore(web): update translations by @weblate in #21464
New Contributors
- @ItzDerock made their first contribution in #21507
- @pedrosimao made their first contribution in #21554
- @goalie2002 made their first contribution in #21539
- @StarGest made their first contribution in #21508
- @riccardoruspoli made their first contribution in #21586
Full Changelog: v1.140.1...v1.141.1
v1.140.1
v1.140.1
What's Changed
🐛 Bug fixes
- fix(server): folder sort order by @skatsubo in #21383
- fix(server): refresh faces query by @mertalev in #21380
- fix(devcontainer): logging typo by @aaronliu0130 in #21415
- fix(mobile): memory lane query causes Photos page render a gray screen by @mertalev in #21422
- fix: default zoom level when location is not set by @bwees in #21428
- fix(web): Prevent changing asset location triggering keyboard shortcuts by @Snowknight26 in #21451
- fix: network criteria for upload LivePhotos by @alextran1502 in #21386
- fix: show "preparing" when sharing in beta timeline by @bwees in #21390
📚 Documentation
New Contributors
- @aaronliu0130 made their first contribution in #21415
Full Changelog: v1.140.0...v1.140.1






