Медиасервер Jellyfin, свободный и с открытым исходным кодом, выпустил версию 12.0. Первое, что заметят давние пользователи, это номер версии.

То, что раньше называлось Jellyfin 10.12, теперь просто Jellyfin 12.0. Проект убрал из схемы версионирования ведущую “10”, которая не имела особого смысла. Финальной веткой со старым форматом стала Jellyfin 10.11.x.

Внутренние изменения Jellyfin 12.0 во многом развивают переработку базы данных, появившуюся в 10.11. Плейлисты, коллекции и бокс-сеты теперь хранятся так, что база данных работает с отдельными записями, а не загружает каждый раз целые списки. Благодаря этому большие плейлисты должны работать заметно быстрее.

Ещё одно заметное нововведение: поддержка нескольких версий эпизодов сериалов. Разные издания или разрешения одного и того же эпизода, например копии в 1080p и 4K, теперь можно группировать так же, как Jellyfin уже умеет объединять альтернативные версии фильмов.

В этом выпуске также уделили больше внимания книгам и комиксам. Большая часть возможностей, которые раньше давал плагин Bookshelf, переехала непосредственно в Jellyfin Server. В их числе извлечение метаданных из файлов OPF и ComicInfo, генерация обложек для EPUB и архивов комиксов, подсчёт страниц для комиксов и PDF, извлечение глав аудиокниг и улучшенный разбор имён файлов.

Веб-клиент дополняет серверные изменения новой раскладкой библиотеки книг Modern, обновлённым интерфейсом чтения, улучшенными настройками размера шрифта для EPUB, индикаторами прогресса и навигацией по авторам. Старый плагин Bookshelf объявлен устаревшим.

В интерфейсе ранее экспериментальная раскладка Modern теперь применяется по умолчанию в настольных и мобильных установках, если пользователь не выбрал другой вариант. Прежний интерфейс остаётся доступным под новым названием “Legacy”, а устройства для телевизоров продолжают использовать свою телевизионную раскладку.

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

В области обработки мультимедиа Jellyfin 12.0 переходит на FFmpeg 8.1 и включает улучшения, связанные с транспонированием CUDA, масштабированием и тональным отображением OpenCL, совместимостью с Dolby Vision, субтитрами, прямым потоковым воспроизведением AV1 на ТВ-клиентах, а также поддержкой воспроизведения на webOS, Tizen, Android TV и iOS.

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

Важно учесть требования к обновлению. Jellyfin 12.0 изменяет схему базы данных и перезаписывает данные при первом запуске, поэтому перед обновлением стоит сделать полную резервную копию. Системы должны уже работать под управлением Jellyfin 10.10.7 или любого выпуска 10.11.x, а после обновления потребуется полное сканирование библиотеки.

Кроме того, сторонним плагинам, созданным для Jellyfin 10.11, понадобятся обновлённые версии для работы с 12.0. Некоторые очень старые клиенты, использующие устаревшие эндпоинты /emby/ или /mediabrowser/, перестанут работать.

Подробнее можно узнать в официальном анонсе Jellyfin 12.0.