v1.103.0
Highlights
Welcome to the release of v1.103.0
of Immich. This version includes some exciting new features and notable bug fixes. We hope you enjoy this release. Please take a look at the highlights below:
- Read-only album sharing permission
- Permanent URL on the web for asset viewer
- Jump-to-date from memory view on the mobile app
- Action bar in memory view on the web
- Improve geocoding location data
- Notable fix: Occasional logout on iOS
- Notable fix: Asset's status sync issue on the mobile app
- Notable fix: Memory leak causing mobile app crashes when swiping continuously in the detail view
Read-only album-sharing permission
When creating a shared album, you can specify whether the shared users can contribute to it or participate as read-only.
Permanent URL on the web for asset viewer
Assets now have a permanent URL on all views, so you can save a URL and refer back later to access a particular photo or video.
Jump-to-date from memory view on the mobile app
There is now an option to jump to a date from the memory viewer on the mobile app.
Action bar in memory view on the web
You can now select the assets in a certain memory and perform actions like adding to an album, deleting, archiving, favorite, etc.
Improve geocoding location data
The location data is now more consistent in the same area. To apply this change, you can trigger a metadata extraction job for all.
Before | After |
---|---|
Support
If you find the project helpful, you can support Immich via the following channels.
- Monthly donation via GitHub Sponsors
- One-time donation via GitHub Sponsors
- Librepay
- buymeacoffee
- Bitcoin: 3QVAb9dCHutquVejeNXitPqZX26Yg5kxb7
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.
What's Changed
🗄️ Server
- chore(server): enable swagger to take class validator rules into account by @danieldietzler in #9022
- feat(server): env variable to skip migrations on startup by @mertalev in #9069
- feat: readonly album sharing by @mgabor3141 in #8720
- fix(server): activity with deleted assets / users by @martabal in #9068
- chore(server): remove unused endpoint/service/interface in asset-v1 by @alextran1502 in #9086
- fix(server): default host binding by @jrasm91 in #9090
- chore(server): remove old asset search by @jrasm91 in #9104
- chore: for redis, use service name as the default by @jrasm91 in #9109
- chore(server): default postgres hostname to compose service name by @jrasm91 in #9118
- refactor(server): repositories by @danieldietzler in #9119
- fix(server): asset count on meta tag of shared links by @nghduc97 in #9107
- feat(server): remove inactive sessions by @jrasm91 in #9121
- fix(server): untracked thumbnail and preview images by @mertalev in #9126
- fix(server): Improve reverse geocoded location metadata by @hermesespinola in #9051
- fix(server): stacked assets for full sync, userIds as array for delta sync by @fyfrey in #9100
- chore: lifecycle metadata by @jrasm91 in #9103
📱 Mobile
- chore(mobile): override appbundle on PlayStore before getting released by @alextran1502 in #8960
- dep(mobile): upgrade gradle by @shenlong-tanwen in #8409
- feat(mobile): add i18n in multiselect-grid and update translation (en and fr) by @clementdelestre in #8993
- feat(android) Check server is reachable before starting background backup by @devjn in #8989
- fix(mobile): ios random logout by @alextran1502 in #8997
- feat(mobile) Add zh-TW.json for Traditional Chinese Language Support by @hdlineage in #9046
- feat(mobile): Added "jump to date" functionality to the memory view by @arnolicious in #7323
- fix(mobile): Fixes memory image cache for local images by @martyfuhry in #9019
- fix(mobile): appBar on home screen animates out and doesnt alter asset grid position by @ConnerWithAnE in #9026
- fix(mobile): show places in Search page on mobile by @alextran1502 in #9085
- fix(mobile): group setting change doesn't propagate across the app by @alextran1502 in #9066
- fix(mobile): restore button in asset viewer by @ConnerWithAnE in #8919
- chore(mobile): add toast notification for "Download Started" by @DeadEnded in #9023
- chore(mobile): Use bulk update endpoint by @alextran1502 in #9110
- fix(mobile): sync issue by @alextran1502 in #9149
- chore(mobile): more logs by @alextran1502 in #9081
🖥️ Web
- feat(web): new look option for slideshow by @martabal in #8924
- fix(web): trash page now auto refreshes by @ConnerWithAnE in #8978
- feat(web): support 360 video (equirectangular) by @truongsinh in #8762
- fix(web): wrong month on timeline scrollbar cursor by @alextran1502 in #8996
- refactor(server, web, mobile): Change wording of memory titles by @rawcomposition in #9025
- fix(web): search people by @martabal in #8955
- fix(web): handle non-http client side page error by @nghduc97 in #8901
- feat(web): display age with months if age is less than 2 by @julianwachholz in #9053
- feat(web): assets now have a permanent URL by @midzelis in #8532
- feat(web): upload json config by @truppelito in #8953
- fix(web): Move stack slideshow container higher in the DOM by @Snowknight26 in #8998
- fix(web): closing asset viewer by @martabal in #8933
- feat(web): permanent url in shared link by @alextran1502 in #9083
- fix(web): the selected tab on the sidebar was not always shown as selected by @ConnerWithAnE in #9084
- fix(web): add debounce to location search by @nghduc97 in #9074
- feat(web,a11y): form and search filter accessibility by @ben-basten in #9087
- feat(web): separate command to build with rollup plugin visualizer by @nghduc97 in #9097
- fix(web): fix no matching export error by @mgabor3141 in #8550
- feat(web): standardize CircleIconButton colors by @ben-basten in #9127
- chore(web): remove CircleIconButton slot by @ben-basten in #9131
- feat(web): add menu bar with action buttons to memory view by @alextran1502 in #9141
⚡ CLI
- fix(cli):
--ignore
getting ignored by @mertalev in #9071 - fix(cli): dry run being inaccurate by @mertalev in #9088
📓 Documentation
- docs: update "move all data" instructions in FAQ by @aberndsen in #8976
- docs: default to sed pg_catalog for Linux, document restore/reset for PG bind mount by @mmomjian in #9021
- Update community-projects.tsx by @Thoroslives in #9057
- docs(ml): clarify cuda and openvino requirements by @mertalev in #9072
- chore(docs): upgrade docusaurus to address dependabot warnings by @benmccann in #9102
- Fix backup and restore docker compose issue by @bercribe in #8939
- Update hardware-transcoding.md by @NeZios in #9094
- docs: new milestones by @danieldietzler in #9113
- docs: correct milestones by @traktuner in #9120
- docs: background backup FAQ by @alextran1502 in #9142
- docs: update queries for descriptions by @mmomjian in #9144
- docs: update env vars for new deployment by @mmomjian in #9145
- docs: update custom locations and cleanup backup/restore paths by @mmomjian in #9148
- chore(docs): collapse some small sections and add a note on MEDIA_LOCATION variable by @mmomjian in #9150
🔨 Maintenance
- refactor(server): session interface types by @jrasm91 in #8977
- feat: mobile label for renovate pull requests by @danieldietzler in #8991
- chore: test more formats in e2e by @mertalev in #9001
- fix: Make DB_DATA_LOCATION more prominent in .env file by @bo0tzz in #9035
- chore(deps): update machine-learning by @renovate in #9029
- fix(deps): update typescript-projects by @renovate in #9028
- chore(deps): update dependency @testing-library/svelte to v5 by @renovate in #9044
- chore(deps): update dependency ruff to v0.4.0 by @renovate in #9047
- chore(deps): update base-image to v20240423 (major) by @renovate in #9064
- chore(deps): bump onnx from 1.15.0 to 1.16.0 in /machine-learning by @dependabot in #9122
New Contributors
- @clementdelestre made their first contribution in #8993
- @aberndsen made their first contribution in #8976
- @rawcomposition made their first contribution in #9025
- @nghduc97 made their first contribution in #8901
- @Thoroslives made their first contribution in #9057
- @julianwachholz made their first contribution in #9053
- @hdlineage made their first contribution in #9046
- @truppelito made their first contribution in #8953
- @arnolicious made their first contribution in #7323
- @Snowknight26 made their first contribution in #8998
- @DeadEnded made their first contribution in #9023
- @bercribe made their first contribution in #8939
- @NeZios made their first contribution in #9094
- @hermesespinola made their first contribution in #9051
Full Changelog: v1.102.3...v1.103.0