Releases: immich-app/immich
v1.29.2_43-dev
What's Changed
- fix(server): sanitization error that crash the server by @alextran1502 in #721
Full Changelog: v1.29.1_43-dev...v1.29.2_43-dev
[Security Patch] v1.29.1_43-dev
Security Patch
What's Changed
- fix(readme) typo by @JaCoB1123 in #699
- fix(mobile): Fixed iOS 16 overflow cache and memory leaked in gallery viewer. by @alextran1502 in #700
- test(web) Add tests for asset repository by @alextran1502 in #680
- feat(web) Remove fetching fonts from GoogleFonts by @alextran1502 in #703
- feat(web): Update to latest version of SvelteKit by @alextran1502 in #705
- feat(repo): added SECURITY.md by @JamieSlome in #712
- fix(server): correct user permission to update user info by @alextran1502 in #716
- feat(server): sanitized path for asset creation process to avoid security risk by @alextran1502 in #717
- fix(mobile): update deprecated API that cause background upload notification not dismissing.
New Contributors
- @JaCoB1123 made their first contribution in #699
- @JamieSlome made their first contribution in #712
Full Changelog: v1.29.0_42-dev...v1.29.1_42-dev
v1.29.0_42-dev
Breaking change
#651 Breaking Change
immich-proxy
switched from using port 80
which was used inside of the container to 8080
to drop dependency on a privileged user inside the container. This reduces a potential security risk of someone being able to impersonate that user on the host.
As a result you will need to change your docker-compose.yaml
to reflect this change, by changing the port-binding from
immich-proxy:
container_name: immich_proxy
image: altran1502/immich-proxy:release
ports:
- 2283:80
to
immich-proxy:
container_name: immich_proxy
image: altran1502/immich-proxy:release
ports:
- 2283:8080
a full example of the always-up-to-date docker-compose.yaml can be found in our repo
What's Changed
- feat(readme) add app store links by @tennox in #689
- fix(mobile): Android BackgroundServiceStartNotAllowedException by @zoodyy in #687
- fix(server): mismatch createdAt value in
exif
table andasset
table by @alextran1502 in #688 - feat(setup): use non-root image for immich-proxy by @PixelJonas in #651
- feat(readme) by @beune in #690
- fix(mobile) cache read write error on iOS 16 by @alextran1502 in #691
- fix(setup): revert nginx image to support arm/v7 by @PixelJonas in #692
New Contributors
- @tennox made their first contribution in #689
- @PixelJonas made their first contribution in #651
- @beune made their first contribution in #690
Full Changelog: v1.28.4_41-dev...v1.29.0_42-dev
v1.28.4_41-dev
There is no mobile release for this version
What's Changed
- fix(web): datetime display and add TZ into environment by @panoti in #618
- fix(server): remove album thumbnail when the asset is deleted from the database by @alextran1502 in #681
- fix(server): harden inserting process, healing datetime info to insert to database by @alextran1502 in #682
- feat(server): add additional logging level by @alextran1502 in #685
Full Changelog: v1.28.3_41-dev...v1.28.4_41-dev
v1.28.3_41-dev
What's Changed
- Fix(mobile) oversize play button by @alextran1502 in #672
- fix(mobile) memory leaked causes app to crash when swiping by @alextran1502 in #673
- fix(web) incorrect shared album count by @alextran1502 in #677
Full Changelog: v1.28.2_40-dev...v1.28.3_41-dev
v1.28.2_40-dev
What's Changed
- fix(mobile): Background backup not running in release mode by @alextran1502 in #664
- fix(install): Fix checking for
docker compose
. by @brettp in #663 - fix(server): loop on checksum generation by @panoti in #662
New Contributors
Full Changelog: v1.28.1_39-dev...v1.28.2_40-dev
v1.28.1_39-dev
What's Changed
Mobile
- feat(mobile) improve Android background service reliability by @zoodyy in #603
Web
- feat(web) add all server checks to CI - fix lint issues by @jbaez in #633
- feat(web) add web UI components tests setup by @jbaez in #612
- feat(web) add web test / check commands and workflow to run in CI by @jbaez in #642
- fix(web) fix Notification components possible memory leaks by @jbaez in #650
- feat(web) add scrollbar with timeline information by @alextran1502 in #658
Support
If you find the project helpful and help you in some ways, you can support the project one time or monthly from Github Sponsor
It is a great way to let me know that you want me to continue developing and working on this project for years to come.
F-Droid
You can get the app on F-droid by clicking the image below.
Android
You can also download the app from Google Play Store here
The App version might be lagging behind the latest release due to the review process.
iOS
You can download the app from Apple AppStore here:
The App version might be lagging behind the latest release due to the review process.
Cheers! 🎉
Full Changelog: v1.28.0_38-dev...v1.29.0_39-dev
v1.28.0_38-dev
What's Changed
- Update README.md by @godismyjudge95 in #599
- fix(mobile): remove empty translations by @bo0tzz in #620
- fix(mobile): search page crashes the app on some Android models by @alextran1502 in #610
- fix(web): add scroll bar into detail panel by @panoti in #615
- feat(web): add asset and album count info by @alextran1502 in #623
- feat(web): add web test setup by @jbaez in #597
- fix(web): stop showing version announcement on the first run of a new web instance by @alextran1502 in #609
New Contributors
- @godismyjudge95 made their first contribution in #599
Full Changelog: v1.27.0_37-dev...v1.28.0_38-dev
v1.27.0_37-dev
Highlighted
Deduplication
I want to extend my thanks to @panoti. He has single-handled implemented the deduplication and hash calculation after a long period of investigating and discussing with the internal team. We can now rest assured that no duplicated photos or videos will be in the system simultaneously.
Virtual Scrolling - Web
Test instance of about 15_000 photos and videos - Should behave similarly on 100_000 assets instance
With the increasing number of users, we have many cases that currently have more than 100_000 photos and images combined in their gallery. With the current implementation of naively getting all the photos and video metadata and then painting them on the screen, the browser, of course, will crash, and the initial load time will be a century long. Itchy to solve this scaling problem, and with a nice pointer from the Google UI Designer himself in the article Building the Google Photos Web UI, we now have virtual scrolling on the web.
The implementation is exactly similar to how the article presented it. All of the photos and videos that are not in the viewport are not rendered. This helps reduce the browser's resource usage and reduces the initial load time as in you only have a dozen photos and videos in the database.
I sincerely hope you guys find this feature enjoyable.
PS: Firefox is currently performing better than Chrome for this feature. Other optimization of this feature will be pushed out in the upcoming releases.
Better caching system - Mobile
The web has virtual scrolling. What about the mobile app?
The mobile app has been handling many assets very well with the help of Flutter’s rendering engine, which is somewhat smarter than the web. For this release, we are pushing out a mechanism for you to manage the caching of the assets. The cache thumbnail and assets content will be saved to the local storage to improve the loading time.
We eventually will want to implement some mechanisms that are similar to virtual scrolling on the web in the mobile app as well to reduce initial data load time.
What's Changed
Server
- optimization(server): add asset repository and refactor asset service by @alextran1502 in #540
- fix(server): avoid loading all file content on memory by @panoti in #545
- fix(server): parse all image formats and enrich metadata by @panoti in #547
- feat(server): calculate sha1 checksum by @panoti in #525
- feat(server): generate a checksum for previously uploaded assets by @panoti in #558
- feat(server): support 3gpp format by @panoti in #582
- feat(server): de-duplication by @panoti in #557
- hotfix(server): skip EXIF extraction on duplicate file by @panoti in #590
- fix(server): change the
createdAt
andmodifiedAt
to the correct type in the database by @alextran1502 in #591
Mobile
- feat(mobile): add Korean translation for the mobile app by @hismethod in #549
- feat(mobile): better caching for mobile by @matthinc in #521
- fix(mobile): persist WiFi + charging settings of background backup by @zoodyy in #553
- feat(mobile): ask the user to disable battery optimizations when turning on background backup by @zoodyy in #554
- feat(mobile): Italian language for Mobile App by @badbreze in #559
- feat(mobile): update localizely.yml to include danish locale by @SirBogner in #574
- fix(mobile): fix cache related crash by @matthinc in #593
Web
- fix(web): file uploading error in album page by @panoti in #550
- feat(web): virtual scroll on the web by @alextran1502 in #573
- fix(web): upload assets to an album in asset selection by @alextran1502 in #579
- feat(web): show all albums an asset appears in on the asset viewer page by @matthinc in #575
- feat(web): use the runtime environment variable for login page message to lower web container startup time by @bo0tzz in #577
Support
If you find the project helpful and help you in some ways, you can support the project one time or monthly from Github Sponsor
It is a great way to let me know that you want me to continue developing and working on this project for years to come.
F-Droid
You can get the app on F-droid by clicking the image below.
Android
You can also download the app from Google Play Store here
The App version might be lagging behind the latest release due to the review process.
iOS
You can download the app from Apple AppStore here:
The App version might be lagging behind the latest release due to the review process.
Cheers! 🎉
New Contributors
- @hismethod made their first contribution in #549
- @badbreze made their first contribution in #559
- @SirBogner made their first contribution in #574
Full Changelog: v1.26.0_36-dev...v1.27.0_37-dev
v1.26.0_36-dev
What's Changed
Server
- Feature - Support tiff uploading by @panoti in #513
- Refactor - move constants into the shared library by @panoti in #522
- Fixed - Large file size cannot be saved to EXIF table due to incorrect data type (
integer
vsbigint
) in the Exif table by @alextran1502 in #534
Mobile
- Added dutch translation for Immich by @nicodier in #519
- Fixed - Mobile timeline crash when date group cannot be parsed by @alextran1502 in #530
Web
- Feature - Video player is buffered for faster startup time and reduces network usage by @panoti in #520
- Fixed - Skipping assets when navigating with the keyboard by @alextran1502 in #531
- Migrate SvelteKit to the latest version
431
by @alextran1502 in #526 - Fixed - Show the first two letter of user first and last name when profile image not existed by @alextran1502 in #532
- Feature - Implemented notification box for web by @alextran1502 in #533
- Fixed - Limit number of file upload on web by @alextran1502 in #535
- Optimization - Added error handling notification by @alextran1502 in #536
Support
If you find the project helpful and help you in some ways, you can support the project one time or monthly from Github Sponsor
It is a great way to let me know that you want me to continue developing and working on this project for years to come.
F-Droid
You can get the app on F-droid by clicking the image below.
Android
You can also download the app from Google Play Store here
The App version might be lagging behind the latest release due to the review process.
iOS
You can download the app from Apple AppStore here:
The App version might be lagging behind the latest release due to the review process.
Cheers! 🎉
New Contributors
Full Changelog: v1.25.0_35-dev...v1.26.0_36-dev