Вышла версия Immich 3.0.0

:tada: Immich 3.0.0 (актуально 3.0.1) — вышла новая мажорная версия

После нескольких месяцев работы команда Immich выпустила новую мажорную версию — 3.0.0, а следом вышел патч 3.0.1.

:warning: Важно про миграцию

Релиз содержит ряд breaking changes. Прежде чем обновляться, обязательно прочитайте официальную инструкцию по миграции:

:backhand_index_pointing_right: Migrating to v3 | Immich Blog

Если вы регулярно обновлялись и находитесь на актуальной версии 2.x (например, 2.7.5) — никакой особой миграции делать не нужно. Достаточно просто сменить тег Docker-образа с v2 на v3 в .env и выполнить обычные команды обновления (docker compose pull && docker compose up -d). Большинство breaking changes касаются изменений в API-эндпоинтах и затрагивают в первую очередь сторонние интеграции, а не типичного пользователя.

Если вы давно не обновлялись — обязательно ознакомьтесь с инструкцией по миграции. В частности:

  • Поддержка pgvecto.rs полностью удалена в 3.0.0 (ранее она была лишь помечена как deprecated). Если вы всё ещё используете версии до v1.133.0 и не выполняли переход на VectorChord — сделать это нужно до обновления на v3.
  • Изменился формат метрик — если вы используете мониторинг (Prometheus/Grafana и т.п.), проверьте совместимость дашбордов после апдейта.
  • Модуль машинного обучения (ML) теперь требует поддержку набора инструкций x86-64-v2 — это процессоры примерно с 2010 года и новее. На более старом железе ML-контейнер работать не будет.

:rocket: Основные новинки релиза

:scissors: Неразрушающее редактирование на мобильном

Мобильный редактор фото подтянули до уровня веб-версии: теперь кадрирование, поворот и другие правки не перезаписывают оригинальный файл. Изменения хранятся отдельно и их можно отменить или повторно отредактировать в любой момент — оригинал всегда остаётся нетронутым.

:gear: Workflows (preview) (это то, чего я ждал, но пока мало действий)

Новый конструктор автоматизаций в разделе Utilities → Workflows. Позволяет собирать собственные сценарии из трёх типов блоков:

  • триггеры — событие, которое запускает workflow (например, загрузка нового файла);
  • фильтры — условия, которым должен соответствовать объект (тип файла, альбом, теги и т.д.);
  • действия — что сделать с объектом (переместить в альбом, добавить тег, удалить и т.д.).

Собирается всё через drag-and-drop интерфейс, без необходимости писать код. Функция помечена как preview — это первая итерация, дальше будут добавлять новые триггеры/действия.


Например, вот пример автоматизации, которая отправляет скриншоты в архив и помещает их в папку

Ранее был issue (не буду уже искать и прикладывать) про то, что скриншоты убирать с таймлайна. Я у себя с телефона включил загрузку скриншотов в соответствующий альбом, это удобно если надо наделать скриншоты с телефона, а потом открыть их с компьютера и приложить в нужное место, но при этом. эти скриншоты отображаются на таймлайне и портят красоту оного, с этой автоматицией становится проще


:mobile_phone: Улучшение фонового бэкапа на мобильных

  • Android: фоновый бэкап стал надёжнее и теперь может выгружать в фоне не только новые фото, а всю библиотеку целиком (актуально для тех, кто восстанавливает большой архив или впервые настраивает бэкап).
  • iOS: синхронизация метаданных и загрузка файлов теперь выполняются параллельно, что позволяет уложиться в короткое окно, которое iOS выделяет приложениям на фоновую активность — бэкап идёт быстрее и стабильнее.

:three_o_clock: Страница “Недавно добавленное”

Новый раздел, который показывает библиотеку в порядке добавления файлов в Immich, а не по дате съёмки (EXIF). Удобно, чтобы отследить, что реально было загружено недавно — например, после большого импорта архива со старыми фотографиями.

:magnifying_glass_tilted_left: Integrity checks (проверки целостности)

Новый отчёт на странице обслуживания сервера, который сверяет файлы на диске с записями в базе данных и находит:

  • потерянные файлы — есть на диске, но нет в базе;
  • неотслеживаемые (untracked) файлы — лежат в хранилище, но Immich о них не знает;
  • несовпадения по контрольной сумме — файл изменился на диске, но хеш в базе не обновился.

Полезный инструмент диагностики для тех, кто хочет убедиться, что хранилище и база данных синхронизированы после переносов, восстановлений или ручных манипуляций с файлами.


:framed_picture: Слайд-шоу в мобильном приложении

Функция слайд-шоу, ранее доступная только в вебе, теперь появилась и в мобильном приложении.

:clapper_board: HLS и real-time транскодирование видео (preview)

Новый подход к воспроизведению видео: транскодирование “на лету”, без предварительной подготовки офлайн-версий файлов. Плеер умеет:

  • переключать качество видео прямо во время просмотра;
  • подбирать оптимальный кодек, поддерживаемый конкретным клиентом (браузером/устройством).

Пока функция в статусе preview и доступна только в веб-версии.

:film_frames: Новый видеоплеер для веба

Единый интерфейс управления воспроизведением, одинаковый на десктопе и мобильном браузере — общий набор контролов вместо разного поведения на разных устройствах.

:mobile_phone_with_arrow: Immich как источник галереи на Android

Приложение теперь можно зарегистрировать как галерею в системе Android — то есть открывать фото и видео из других приложений (мессенджеров, файловых менеджеров и т.д.) сразу в Immich, как в системном приложении “Галерея”.

:memo: OCR в мобильном приложении

Появилось распознавание текста на фотографиях прямо в мобильном приложении — можно выделить и скопировать текст с изображения (например, с фото документа, вывески, скриншота).

:outbox_tray: Загрузка сразу в альбом и выбор размера при шаринге

  • При загрузке фото с мобильного устройства теперь можно сразу выбрать альбом, в который они попадут, не перемещая их потом вручную.
  • При шаринге (share) фотографий из приложения добавили выбор размера изображения перед отправкой.

:high_voltage: Производительность таймлайна

Оптимизирована работа основной ленты (таймлайна) при просмотре месяцев с большим количеством файлов — прокрутка и загрузка стали быстрее на объёмных библиотеках.


:wrench: Как обновиться

- IMMICH_VERSION=v2
+ IMMICH_VERSION=v3
docker compose pull && docker compose up -d

:bug: Замеченные проблемы

Полный список изменений и breaking changes — в релизе на GitHub: Release v3.0.0 · immich-app/immich · GitHub

Ну и напоминаю, что обновляться стоит на свой страх и риск, особенно на мажорные версии в день релиза

Спасибо за подробный обзор! Давно ждал workflows — как раз есть пара сценариев, где такая автоматизация нужна. Скриншоты с таймлайна убрать — тоже злободневная тема.

Надо будет обновиться на днях, благо я на актуальной v2, так что миграция обещает быть безболезненной. А как у тебя Immich в целом себя ведёт после обновления?

Я обычно не обновляюсь прям так быстро, но обещал сделать анонс 3.0.0 версии, поэтому, кроме самого описания еще сам сделал бэкап immich и обновился до 3 версии, чтобы дополнить своим опытом.

У меня мобильное приложение в бета-программе и до 3 версии обновлено было уже давно, конфликтов не было, после обновления сервера все работает нормально.

  • Ошибок не обнаружил
  • Работает быстро
  • Поиск по контексту работает
  • workflow работают (есть мегатред с обсуждением новых фич, например, я не нашел фильтра по альбому
  • БД не менялась, по поводу миграций не скажу, но запустилось быстро и заработало