v1.83.0 - ๐ 20_000 ๐ Release
Warning
Action Required
Re-run metadata extraction for videos impacted by the duration
parsing bug (#4480)
Welcome to release v1.83.0
of Immich. Thank you, everybody, for your continued support of Immich, from testing, bug reports, and code contributions to the financial donations. You have my eternal appreciation. I am happy to bring you this 20_000 stars release. The contributors and I love gazing at the stars when we push out code in the middle of the night, so be sure to keep it coming ๐. I hope you enjoy this release, which brings a lot of bug fixes and new features, which are highlighted below:
- Asset stacking
- Shared links on mobile
- New storage template variables
- Custom theme
- Notable mention: PR #4474 has been merged, which is a prerequisite for additional facial recognition features, including unmerging and manually reassigning faces.
Asset Stacking
This release introduces asset stacking. Specifically, we have added the option to manually stack assets, with automatic stacking planned for a future release. When assets are stacked, the children are hidden from the main timeline, and only a single (primary/parent) asset is shown. This is perfect for grouping JPEG and RAW, burst shots, and edited file versions. The stacked content can only be seen from the main timeline on the web and mobile app. In other views, such as album, archive, and favorite, the contents are still shown as not stacked.
Many thanks to @shenlong-tanwen for spearheading this effort and the mobile implementation.
On the web
stack-web-demo.mp4
On the mobile app
stack-mobile-demo.mp4
Shared Links on Mobile
You can now create a shared link on the mobile app. It is not yet possible to view the shared link content on the mobile app, and we are hoping to add this ability in the near future.
shared-link-demo.mp4
New Storage Template Variables
Two new storage template variables have been added in this release:
{{assetId}}
- The UUID for the asset
{{album}}
- The name of the first album the asset belongs to
Note
Note that when using the album
variable, the storage template wonโt be applied immediately unless an asset is directly uploaded to an album. Therefore, the Storage Template Migration job may need to be run manually after sorting new assets into albums.
Custom Theme
We have added a new Administration > Setting
called โTheme Settingsโ, where you can write custom CSS that will get loaded in the web application for all users. This enables administrators to change fonts, colors, and other styles. Thanks @Wingysam for your contribution.
As always, please consider supporting the project.
๐ Cheer! ๐
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: 1FvEp6P6NM8EZEkpGUFAN2LqJ1gxusNxZX
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.
Changelogs
Server
- feat(server): Two updates to dev environment by @ItalyPaleAle in #4556
- feat(server): add storage template variable
assetId
by @ItalyPaleAle in #4555 - feat(server): "{album}" in storage template by @Hely0n in #2973
- feat(server): allow unassigned asset-faces by @martabal in #4474
- feat(server): manual stack assets by @shenlong-tanwen in #4198
- fix(server): exif duration with scale by @jrasm91 in #4541
- fix(server): avoid getting time bucket in the future by @alextran1502 in #4540
- fix(server): add EXIF info to memory response by @alextran1502 in #4550
- fix(server): Check album asset membership in bulk by @adamantike in #4603
- fix(server): dot files by @jrasm91 in #4625
- fix(server): config update queue by @jrasm91 in #4661
- refactor(server): e2e tests by @jrasm91 in #4536
- refactor(server): streamline get config, enable the use of arrays by @danieldietzler in #4562
- refactor(server): make access core singleton by @danieldietzler in #4609
- refactor(server): make user core singleton by @danieldietzler in #4607
- refactor(server): make storage core singleton by @danieldietzler in #4608
- chore(server): remove unused method by @jrasm91 in #4627
Web
- feat(web): custom stylesheets by @Wingysam in #4602
- feat(web): manual stacking asset by @alextran1502 in #4650
- fix(web,server): web socket auth (for web) by @jrasm91 in #4632
- fix(web): fix Theme Custom CSS endpoint requiring the user to be logged in as the server admin by @Wingysam in #4633
- fix(web): Prevents nav loop from person->album->albums by @sellnat77 in #4522
- fix(web): trash link wrongly wrapped by @BogdanCerovac in #4586
- fix(web): timeline scrolling by @brighteyed in #4612
- fix(web): fix #4574 link button + improves accessibility by @BogdanCerovac in #4575
- fix(web): asset ownership does not update when navigating by @alextran1502 in #4643
- fix(web): suggest people by @martabal in #4566
- refactor(server, web)!: store latest immich version available on the server by @martabal in #3565
- refactor(server, web): standardize theme api response by @Wingysam in #4664
- refactor(web): Allow dropdown for more general use by @danieldietzler in #4515
- refactor(web): material icons by @jrasm91 in #4636
- refactor(web): always use the same bucket size by @jrasm91 in #4662
Mobile
- feat(mobile): shared-links by @shenlong-tanwen in #4490
- feat(mobile): clear local storage option by @alextran1502 in #4635
- fix(mobile): validate response code for downloaded file by @shenlong-tanwen in #4543
- fix(mobile): unique hero tag for assets from API response by @shenlong-tanwen in #4600
- fix(mobile): asset deletion state management by @shenlong-tanwen in #4568
- fix(mobile): incorrect date range in album by @alextran1502 in #4644
- fix(mobile): stack count reset when navigating to the library by @shenlong-tanwen in #4647
- refactor(mobile): server info to use data classes instead of DTOs by @shenlong-tanwen in #4591
- refactor(mobile): stack only through merging from the timeline by @shenlong-tanwen in #4598
- chore(mobile): show stack indicator for videos by @shenlong-tanwen in #4671
Others
- docs: Adding italian version of README file and relative links by @fedemic in #4537
- docs: add logo to homepage by @jrasm91 in #4549
- docs: README update italian link by @fedemic in #4551
- docs: alternative text that reflects the text in the image by @BogdanCerovac in #4577
- docs: Semantic fixes and improvements for the main documentation page by @BogdanCerovac in #4576
- docs: milestones by @jrasm91 in #4593
- docs: dates and responsive design in milestone page by @martabal in #4606
- docs: TrueNAS install guide (community) by @DjP-iX in #4615
- docs: clarify that the server must be run in development mode to generate openapi specs by @Wingysam in #4634
- docs: update jobs screenshot by @danieldietzler in #4660
- development: Remove unnecessary env values from proxy container by @bo0tzz in #4398
- development: run dev-down on unclean dev-new exit by @Wingysam in #4665
New Contributors
- @fedemic made their first contribution in #4537
- @ItalyPaleAle made their first contribution in #4556
- @BogdanCerovac made their first contribution in #4577
- @adamantike made their first contribution in #4603
- @Hely0n made their first contribution in #2973
- @Wingysam made their first contribution in #4602
- @DjP-iX made their first contribution in #4615
Full Changelog: v1.82.1...1.83.0