Immich release v1.99.0 (and new logo!) - eviltoast

v1.99.0

New logo

The new logo is now rolled out on all platforms, including the web, mobile, and documentation pages. If you are a content creator, you can grab the logo vector and raster files in the repository’s design folder.

Social Preview

Highlights

Welcome to release v1.99.0 of Immich. This release adds the new logo, fixes many bugs, and improves the application. Some of the highlights include:

  • [WEB] Sort photos and videos to display direction in an album.
  • On-disk cache on the mobile app to provide a better viewing experience.
  • There is a new endpoint for OpenTelemetry metrics to monitor performance.
  • Optimized queries for large libraries.
  • Add upload progress and speed indicator.
  • XMP sidecar file is now recognized with both photo.ext.xmp and photo.xmp extensions.
  • Drag to select - Now press your thumb to drag and select in the selection mode.
  • Improve user feedback in the mobile app’s backup and album selection screen.
  • Various improvements for the library scanning process.

Asset’s display direction in the album

We added an option to change the order of the assets in the album so you can view the assets from older to newest and vice versa.

album.view.order.mp4

Mobile asset caching

Improving cache for remote thumbnails and the images, they now stay on disk so that they can load faster and give a better experience while used offline. You should feel a faster loading experience across the app.

Performance monitoring with OpenTelemetry integration

Immich provides a variety of performance metrics to allow for local monitoring and insights. This integration is primarily in the form of Prometheus metrics. However, exporting traces is also possible due to OpenTelemetry instrumentation. Please visit the documentation to learn how to enable this feature

Note

This opt-in feature allows you to monitor Immich’s performance. This data isn’t sent anywhere beyond what you’ve configured.

File size progress and upload speed indicator

We added an indicator to show the file’s size that has been uploaded and the upload speed under the progress bar in the backup screen.

Simulator.Screen.Recording.-.iPhone.15.Pro.Max.-.2024-03-14.at.18.08.37.mp4

Drag to select

You can now drag to select in the mobile app when in selection mode; this will help make selecting in bulk easier.

drag_to_select.mp4

And lastly, I want to express my gratitude to @immich-app/contributor who make this behemoth of a release happen 🎉


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

What’s Changed

🗄️ Server

  • fix(server): face search results not always sorted by @mertalev in #7839
  • fix(server): serve static directory only if it exists by @benmccann in #7857
  • feat(server): Add OAuth auto-redirect enable/disable CLI commands by @ddshd in #7841
  • feat(server): OpenTelemetry integration by @mertalev in #7356
  • feat(server): YAML config file support by @bo0tzz in #7894
  • feat(server): Update XMP sidecar search to look for both photo.ext.xmp and photo.xmp by @kokulshan in #7813
  • feat(server): lower library scan memory usage by @mertalev in #7939
  • perf(server): optimize getByIds query by @mertalev in #7918
  • fix(server): queue library asset refresh in batches by @etnoy in #7914
  • feat(server, web): album orders by @martabal in #7819
  • feat(server): added support for SVG files by @declan8010 in #7960
  • refactor: global validation pipe by @jrasm91 in #7985
  • feat(web): add millisecond options to storage template settings by @sevtdy in #7942
  • fix(server): prevent feedback loop during library scan by @mertalev in #7944
  • feat(server): use nestjs events to validate config by @danieldietzler in #7986
  • feat(server): memory includes partners assets on timeline by @alextran1502 in #7993
  • refactor(server): library service by @jrasm91 in #8050
  • chore(server): change save -> update in asset repository by @mertalev in #8055
  • fix(server): “view all” for cities only showing 12 cities by @mertalev in #8035
  • fix(server): use extension in originalFileName for libraries by @etnoy in #8083
  • test: temporarily disable flaky audit e2e test until #7436 is fixed by @zackpollard in #8089

📱 Mobile

🖥️ Web

🧠 Machine Learning

  • fix(server): ml gunicorn listen on ipv4 and ipv6 by default by @growse in #7930
  • chore(deps): update onnxruntime-openvino by @mertalev in #7854
  • feat(ml): add cache_dir option to OpenVINO EP by @dvdblg in #8018

⚡ CLI

📓 Documentation

🔨 Maintenance