Version 1.3 [Core] - add support of JPEG2000 and JBIG2 images into PDF module [Import] - fix pages count not setting when importing books (PDF, DJVU) Version 1.2 [Core] - add OpenAPI schema and API documentation via Swagger-UI Version 1.1 [Core] - code refactoring - migrate to Spring Boot 3 - migrate to Spring Boot Security 3 - bump required Java version to 17 with support up to 22 - removed Logback, Tomcat, Hashids, RxJava, RxBonjour dependencies - removed Bonjour service and not implemented ConnectKey generator - updated vulnerable CLI ProgressBar, Gson, Json, Apache Commons/Tika dependencies - server preparation logic (Workspace, Settings, Dao, etc...) migrated to Spring Components - FileSystem watcher migrated to Spring Service and depends on ImportFolders and Settings Beans - chapters are disabled by default Версия 1.0.3 [Ядро] - исправлена загрузка сохраненной конфигурации после перезапуска сервера Версия 1.0.2 [Ядро] - новый эндпоинт для получения списка Серий указанной "Серии/Франшизы": /books/{serie_hash}/serie или /books/{serie_hash}/franchise - поддержка сортировки по Серии/Франшизе - конфигурация теперь хранится в директории /config для совместимости с Docker. Старая конфигурация будет перемещена автоматически [Метаданные] - поддержка поля Series (Franchise) - поддержка Enum поля PlotType (тип истории) - исправление ссылок на MangaUpdates Версия 1.0.1 [Импорт] - возможность импортировать Архивы из поддиректории как Синглы, если в поддиректории находяться директории - чтение внешнего файла serie_info.json для заполнения метаданных Серии (только во время импорта Серии) - игнорирование статуса Сингл у Архива и отключение автоимпорта таких Архивов как Синглы, если для Серии существуют внешние метаданные Версия 1.0.0 - первая публичная версия Версия 0.10.5 [Импорт] - ускорение выдачи ответа клиенту о статусе запуска процедуры переимпортирования [Метаданные] - парсинг номеров выпусков по типу 2010-04/1999.05. Номера будут сохранены как номер тома по формуле {год.месяц} Версия 0.10.3 [Ядро] - исключение удаленных (скрытых) Серий/Архивов во время генерации списка категорий по типам контента [Импорт] - небольшие доработки в логике детекта номеров глав/выпусков [Метаданные] - возможность записи метаданных только для Серии Версия 0.10.2 [Ядро] - доработка логики очистки API кеша после импорта - сортировка по любому полю теперь дополнительно отсортировывает результат по названию - поддержка сортировки По пародиям - поддержка сортировки По рейтингу - поддержка сортировки По последнему чтению - сортировка подразделов Метакатегорий по алфавиту Версия 0.10.1 [Импорт] - сохранение размера архива в базе данных и использование его для переимпорта во время поиска новых архивов - исправлена ошибка некорректной установки прогресса импорта во время поиска новых архивов - исправлена некорректная установка номера тома во время редактирования метаданных Серии [Метаданные] - исправлена некорректная установка номеров томов во время редактирования Серий Версия 0.10.0 [Ядро] - отключение логов создания/миграции базы данных - поддержка выключения логгирования запросов в консоль - однопоточный импорт с включенной поддержкой глав и многопоточный (по количеству логических ядер процессора. одно ядро на одну директорию) с выключенной - перезапуск сервера после изменения опции Отключить Импорт/Загрузку глав (с ожиданием окончания работы сервисов) - настройки сервера больше нельзя менять, пока работает хотя бы один из сервисов [Импорт] - удаление Архивов/Серий/Глав ДО начала импорта, если физически файлы больше недоступны - исправление некорретной генерации глав Архивов, если в архиве есть файлы chapter_info.json без заранее сгенерированных хешей - небольшие улучшения детектора номеров томов. Игнорирование номеров Комикетов в названии файла - FS Watcher совершает поллинг файловой системы раз в 20 секунд вместо 30 - FS Watcher теперь запускает процесс поиска новых архивов при обнаружении изменений, вместо того, чтобы искать какая серия изменилась и запускать ее переимпорт - отключение логов о прогрессе импорта в консоль. Замена их на прогрессбар Версия 0.9.37 [Импорт] - исправлено удаление из базы данных отсутствующих Серий и Архивов Версия 0.9.36 [Ядро] - обновление библиотеки-декодера WebP [Импорт] - исправлено удаление из базы данных отсутствующих Серий и Архивов Версия 0.9.35 [Ядро] - возможность удалить весь кеш обложек с последующим запуском сервиса кеширования - поддержка выдачи прогресса выполнения сервиса кеширования обложек через /api/v1/services/status эндпоинт - прекращение логгирования в консоль запросов к /ping эндпоинту [Импорт] - автоматическое импортирование контента со статусом Сингл как Сингл, независимо от настроек импорта - улучшено определение номеров томов из названия архива/метаданных, если номер тома явно не задан в метаданных - исправлена некорректная запись поля cover для Volume во время импорта - исправлена некорректная установка времени начала первого импорта [Метаданные] - возможность записи всех метаданных из базы данных в архивы - поддержка статуса Журнал (Magazine) - выдача года выпуска тома при запросе списка томов - исправлена невозможность записи метаданных в архивы из диалога редактирования архива - исправлена невозможность записи номера тома в метаданные архива Версия 0.9.33 [Ядро] - поддержка выдачи полного названия Тома в дополнение к названию "Том {номер}" при запросе списка томов Версия 0.9.32 [Ядро] - исправлена невозможность загрузить список томов Синглов Версия 0.9.31 [Ядро] - исправлена невозможность чистого запуска, когда пользователи еще не добавлены Версия 0.9.30 [Ядро] - исправлен сброс кеша после удаления Серии - исправлено удаление Синглов [Метаданные] - возможность сохранить метаданные только в базу данных не записывая их во внешние файлы Версия 0.9.29 [Ядро] - при запросе конвертирования изображений в JPEG, конвертация только WebP Версия 0.9.28 [Ядро] - исправлена ошибка из-за которой выдача фильтров для кастомной категории приводила к ошибке сервера Версия 0.9.27 [Ядро] - улучшена выдача ошибок в API при попытке запроса несуществующего файла или файла, который является директорией Версия 0.9.26 [Импорт] - исправлено чрезмерное потребление ОЗУ во время импорта PDF Версия 0.9.25 [Импорт] - существенное ускорение поиска новых архивов - исправлена невозможность переимпортировать один Сингл - вывод в лог пути к архиву/файлу, который не удалось импортировать - вывод в лог хеша Архива для которого не удалось закешировать обложку - меньше логов в консоль от базы данных Версия 0.9.23 [Ядро] - исправлена некорректная выдача контента при запросе сразу всего списка Версия 0.9.22 [Импорт] - исправлено некорректное сохранение в базе информации о том, что у Архива был уникальный ID во время импорта Версия 0.9.21 [Ядро] - фильтрация списков контента/истории на основе блоклиста жанров/тегов для конкретного пользователя - ускорение ответов на запросы списков с главами в ~3-5 раз Версия 0.9.20 [Ядро] - исправлена невозможность записи метаданных, если поддержка глав выключена настройками сервера Версия 0.9.19 [Ядро] - исправлен запрос контента из базы, если в запросе встречается символ ' - исправлено удаление контента при удалении директории - исправлена некорректная работа поиска контента в категориях-типах контента Версия 0.9.18 [Метаданные] - исправление записи Связанных сервисов в метаданные Версия 0.9.17 [Метаданные] - поддержка новых Связанных Сервисов: ComicVine, ComicsDB и Hentag Версия 0.9.16 [Ядро] - исправлена некорректная работа поиска контента в кастомных категориях [Импорт] - возможность использовать внешнюю обложку из корня директории из которой создается Серия. Приоритет всегда отдается этой обложке. Поддерживаемые форматы: "bmp", "gif", "jpeg", "jpg", "png", "webp" - при использовании внешней обложки функция смены обложек по мере прочтения томов отключается [Метаданные] - исправлена невозможность сохранить метаданные в архив, если внешних метаданных на момент сохранения не существует - исправлена невозможность сохранить метаданные в архив, если контент находится в кастомной категории Версия 0.9.15 [Ядро] - выдача корректного MIME-TYPE для WebP, AVIF, HEIC, HEIF - поддержка конвертирования изображений в JPEG на лету (при явном запросе от клиента) [Импорт] - серия больше не модифицирует свои метаданные, если в ее директорию был добавлен новых архив с метаданными - явное пересчитывание количества томов Серии во время (ре)импорта Версия 0.9.13 [Ядро] - скрытие стандартных категорий-типов контента, если в них отсутствует контент. Также касается категории Несортированные - исправлена запись хедера Content-Disposition при скачивании файлов. Исправляет название и расширение файлов при скачивании [Импорт] - исправление некорректной устнановки количества страниц архивам после переимпорта - удалено чтение количества архивов из метаданных из-за вероятных коллизий Версия 0.9.12 [Ядро] - исправлена работа Истории в хабе, если у пользователя установлены ограничения доступа по типам контента - сброс кеша контента при изменении пользователя Версия 0.9.11 [Ядро] - новый допуск DOWNLOAD_FILES. При его наличии разрешает скачивать файлы через API. Форматы, которые не поддерживают онлайн чтение и не имеют рендеров разрешены к скачиванию всегда Версия 0.9.10 [Ядро] - исправление некорректного кеширования информации о Последних обновлениях и Новых поступлениях в Хабе [Импорт] - исправлено некорректное исправление количества страниц в архиве в записях Истории, если количество страниц в архиве изменилось - исправлена запись количества страниц в базу данных для книг, которые поддерживают выдачу такой информации Версия 0.9.9 [Ядро] - обновление Spring Boot до версии 2.6.6. Исправление 0-day уязвимости [Метаданные] - возможность запросить у сервера массовую проверку ссылок на наличие их в метаданных Серий. В ответ будут выданы списки Загружено/Не загружено. Функция доступна только Админам сервера Версия 0.9.8 [Импорт] - сервер больше не блокируется при выполнении (ре)импорта - пересчет количества Томов/Глав теперь производится не для всего контента, а только для тех Серий, которые изменились во время импорта - наблюдение за изменениями в файловой системе также дополнительно отключается во время кеширования обложек - наблюдение за изменениями в файловой системе выполняет запросы на изменения раз в 30с вместо раза в 5с - автоматический (ре)импорт файлов после изменений в файловой системе теперь "должен" производить "точечный" (ре)импорт серий или директорий (если серия еще не существует), в которых произошли изменения [Метаданные] - запись метаданных невозможна и вернет ошибку, если сервер (ре)импортирует архивы или кеширует обложки в момент запроса Версия 0.9.7 [Ядро] - минимальная версия Java теперь 11 - поддержка Java 11-16 - обновление Spring Boot до версии 2.6.5 - базовая архитектура добавления поддержки новых рендеров для "цельных" файлов [Рендер] - исправлено некорректное смещение индекса страницы при рендере PDF - поддержка рендера DjVu [Импорт] - поддержка импорта DjVu Версия 0.9.6 [Импорт] - сброс кеша после пересчета количества томов/глав - исправление невозможности записать метаданные, если значение volumes_count не было указано Версия 0.9.5 [Ядро] - настоящая натуральная сортировка по названию [Импорт] - исправлено импортирование Синглов - исправлено некорректное удаление не тех директорий из импорта, которые запросил пользователь - исправлено некорректное перекеширование всех обложек после вызова реимпорта/добавления новой директории Версия 0.9.3 [Ядро/Импорт] - возможность отключить импорт и выдачу списков глав пользователям [Метаданные] - генерация/чтение хеша глав теперь производится в/из объекта "atsumeru" в метаданных Версия 0.9.2 [Ядро] - поддержка чтения WebP - альтернативный декодер для JPEG с поддержкой расширенного формата - создание названия Тома теперь учитывает дробность номеров Томов [Импорт] - удалена генерация обложек для Серий. Теперь это всегда должна быть обложка первого доступного архива в Серии [Метаданные] - поддержка парсинга дробных номеров Томов из названия файлов [FB2] - исправлено чтение книг без блока Sequence во время импорта Версия 0.9.1 [Ядро] - небольшое ускорение выдачи списка томов для Серии - отображение номеров томов при их выдаче вместе с Серией - сортировка томов по номеру тома при выдаче их вместе с Серией. Отключено для Синглов - в список доступных Фильтров теперь включаются Жанры и Журналы - в список доступных Метакатегорий теперь включаются Журналы - локализация разделов фильтров - возможность отключить наблюдение за изменениями импортированных файлов в фс - возможность полностью отключить наблюдение за изменениями файлов в импортированных директориях (добавление, модификация, удаление) - возможность запросить список серий по BoundService ID (MAL, Shikimori, Kitsu, AniList, MangaUpdates, Anime-Planet) [Метаданные] - поддержка массива Magazines [Импорт] - учитывание хешей архивов, созданных старым алгоритмом хеширования, при поиске наличия архивов в базе во время (ре)импорта - полное отключение кеширования обложек во время импорта, если не было явного запроса на (пере)кеширование. Кеширование теперь полносьтю выполняет сервис CoverSaverService после завершения импорта - многопоточное кеширование обложек сервисом CoverSaverService - чтение хеша из аттрибутов файла теперь учитывает возможность наличия пустых данных и вместо них генерируется новый хеш - исправлен расчет акцентного цвета обложки во время кеширования обложек сервисом CoverSaverService - реимпорт глав вместе с архивами при запросе от пользователя. Раньше главы всегда пропускались - исправлен импорт архивов, загруженных через API Версия 0.9.0 [Ядро] - автоматическое удаление из JSON ответов пустых строковых объектов для уменьшения размера ответа - фильтрация пустых ссылок на контент из ответов список/описания контента - множество внутренних оптимизаций, удаление ненужных POJO-прослоек - кеширование списков книг, фильтров (только списка доступных фильтров), хаба, истории - поддержка импорта EPUB/FB2/PDF книг [Метаданные] - поддержка чтения метаданных из внешних файлов по пути /.atsumeru/{название_архива}/book_info.json и chapter_info.json из директорий глав - поддержка записи метаданых во внешний файл, если пользователь не указал необходимость сохранения в архив или запись в архив не удалась (например, если это не архив, а книга) - поддержка записи book_info.json и chapter_info.json во внешние файлы [Импорт] - удаление несуществующих Серий/Архивов/Глав из базы данных во время реимпорта - автоматическое отслеживание директорий, которые добавлены в импорт и запуск реимпорта при обнаружении изменений - создание более уникальных ID Глав при импорте их из архивов - автоматическое исправление записей в истории при изменении количества страниц в архиве для Серий (Архивов)/Глав - сохранение обложек в кеш теперь происходит сразу же при первом импорте, а при переимпорте пропускается, если явно не запросить перекеширование - при первом импорте в кеш сохраняются только обложки первого архива, серии и синглов - замена кода детекта номеров томов на его улучшенную версию - поддержка детекта и хранения номеров глав - улучшенный импорт с автоматическим наблюдением за прогрессом импорта и выводом сервера из заблокированного состояния - чтение и запись хешей архива и серии в аттрибуты файла во время импорта, если поддерживается файловой системой - новый сервис, который автоматически, в фоновом режиме, начинает сохранять все отсутствующие в кеше обложки после завершения задачи импорта [История] - ускорение работы истории - поддержка запросов из истории списков чтения Архивов, а не только Серий - отделение записей истории чтения Глав от Архивов и Серий [Связанные сервисы] - поддержка выдачи/установки ID Связанных сервисов - поддерживаемые Связанные сервисы: MYANIMELIST, SHIKIMORI, KITSU, ANILIST, MANGAUPDATES, ANIMEPLANET, LNDB [Логгирование] - логгирование импорта в файл /logs/import.log [Веб] - удаление веб админки Версия 0.8.1 - локализация типа контента Хентай Манхва для вкладок контента Версия 0.8.0 - поддержка кеширования обложек глав - исправление сохранения прогресса чтения глав - доработки в логике выдачи списков глав Версия 0.7.2 - исправление создания и миграции таблицы категорий - потенциально исправлены зависания импорта Версия 0.7.1 - ускорение работы истории в десятки раз Версия 0.7.0 - поддержка категорий (создание, удаление, перемещение контента в категории, выборка списков по категориям и получение фильтров для категории) - новый тип метаданных: chapter_info.json. Размещается один файл на главу внутри корневой директории главы. Наличие файла не обязательно. Если файла нет, метаданные главы сгенерируются на основе названия и пути к директории - метаданные для глав также сохраняются в архив в папку главы при обновлении метаданных со стороны клиента - добавлен тип контента: Хентай манхва - добавлен новый статус: Антология - при импортировании архивов как Синглы, импортер учитывает статус Антология и не заменяет ее - поиск по контенту без применения фильтров теперь производится не выборкой из базы по одному полю, а аналогично фильтрам - исправлена ошибка из-за которой данные в базу могли не сохраняться между перезапусками - исправлена ошибка из-за которой из базы не до конца удалялись серии и архивы после удаления директории из импорта - исправлена ошибка из-за которой импортированные главы никогда не удалялись после удаления директории из импорта - исправлена ошибка в логике реимпорта синглов, которая приводила к созданию серии из синглов - исправление записи списка жанров в метаданные - запись списка глав больше не производится в метаданные - поддержка включения флагов сервера через API, сохранение и загрузка их из файла настроек - удаление возможности отключить сервис Bonjour из командной строки - при включении/отключении сервиса Bonjour через API, сервис запускается/останавливается без перезапуска сервера Версия 0.6.8 - новый код расчета акцентного цвета обложек (порт Palette с Android) - реидексация Метакатегорий после каждого импорта/изменения метаданных вместо раз в 15 минут - выдача доступных категорий по типам контента с сервера. Автоматическое исключение категорий без контента - возможность отключить пользователю доступ к выбранным категориям и типам контента Версия 0.6.7 - автоматическая установки допуска уровня USER созданным аккаунтам без допусков Версия 0.6.6 - исправление импорта серий Версия 0.6.5 - автокоммит в базу отключается перед импортом каждой директории - автокоммит в базу после импорта каждой директории во избежание блокировки - рефакторинг реимпорта для ускорения его работы - обновление метаданных серии при реимпорте, если в архиве есть метаданные - выдача пути к серии в списках контента через API для пользователей с ролью ADMIN - ускорен расчет количества глав для импортированных директорый при запросе таких данных - немного укорочены логи при запросе изображения серии/архива, которой еще нет в кеше Версия 0.6.3 - исправления в логике загрузки списков и ускорение их выдачи Версия 0.6.2 - автовакуум базы данных после запуска - ускорение импорта - создание превью обложек и их кеширование, а также расчет акцентного цвета производится только при запросе от клиента Версия 0.6.1 - ускорение работы истории, выборки по типам контента и отдача контента с томами главами в ~10-50 раз - калькуляция количества томов и глав производится один раз после окончания импорта, а не после импорта каждой папки - калькуляция количества томов и глав теперь имеет свой, отдельный, прогресс - ускорение импорта за счет создания транзакции перед началом импорта и применением ее после - ускорение всех запросов к спискам за счет использования ленивых Foreign полей в моделях базы данных Версия 0.6.0 - после импорта архивов дополнительно производится процедура рекалькуляции количества томов и глав для каждой серии с записью данных в базу - запрос списков или описания серий теперь не вызывает калькуляцию количества глав, что экономит ~50мс на каждую серию - списки серий без томов теперь загружаются за ~1мс, а с томами, историей и главами - за ~O(log {количество томов})мс - описание контента теперь загружается за ~1мс, а с томами, историей и главами - за ~5мс - возможность запроса списков контента со списком глав и истории чтении для текущего пользователя. работает только, если разрешена загрузка списка томов и явно была запрошена. по умолчанию включено. выключается аргументом командной строки --allow_loading_list_with_chapters=false - новые эндпоинты: /chapters для запроса списка всех глав Серии или /volumes/{hash}/chapters для запроса глав конкретного тома Версия 0.5.10 - ускорение загрузки списка истории - отключена загрузка глав и отправлена на доработку Версия 0.5.9 - ускорение загрузки списка томов до х2 медленнее чем раньше (вместо х10 медленнее) Версия 0.5.8 - полностью удалены все зависимости от JavaFX Версия 0.5.7 - возможность запросить набор фильтров только для определенного типа контента Версия 0.5.6 - пересканирование серии тепер всегда делает полное пересканирование - возможность перезаписи существующих файлов во время их загрузки - возможность перепаковки существующих файлов после их загрузки - информация о томе теперь включает в себя данные о реальном названии файла и полному пути к нему для пользователей с ролью ADMIN или допуском UPLOADER - исправлен импорт некоторых архивов с не очень корректными метаданными - исправлена некорректная установка названия создаваемой серии даже если существует заполненный book_info.json с ним Версия 0.5.5 - новый допуск UPLOADER. Позволяет загружать архивы на сервер - возможность загружать архивы серии на сервер из описания серии. Архивы загружаются в папку самой серии - возможность пересканировать архивы отдельной серии Версия 0.5.3 - поддержка работы с архивами у которых внутри есть названия с UTF-8 символами Версия 0.5.2 - при поиске обложки в архиве высший приоритет теперь отдается файлу с названием 00000, потом cover и после - первому найденному - поддержка записи массива ссылок на контент в базу и архив Версия 0.5.1 - сброс прогресса импортирования при запуске переимпортирования - возможность форсировать реимпорт всех архивов в отдельной папке Версия 0.5.0 - функционал импорта архивов - доступ к импорту предоставляется только пользователям с ролью ROLE_IMPORTER или IMPORTER - функционал управления пользователями - доступ к управлению пользователями предоставляется только пользователям с ролью ROLE_ADMIN или ADMIN - функционал редактирования метаданных - доступ к редактированию метаданных предоставляется только пользователям с ролью ROLE_METADATA_UPDATER или METADATA_UPDATER - доступ к импорту и редактированию метаданных также предоставляется пользователям с ролью ROLE_ADMIN или ADMIN - при выборе кандидата на обложку из архива файлы со словом "cover" в названии имеют высший приоритет - исправлены ошибки импорта, если в метаданных ссылка на контент была указана как null - ускорение в ~10 раз загрузки сразу всех серий/синглов/архивов - запросы к /error больше не логгируются - запросы к статусу импорта не логгируются, так как ожидаются беспрерывные запросы со стороны клиента - сервер теперь сам рассчитывает акцент обложки архива/серии при импорте - эндпоинты для отслеживания статусов сервисов: импорт и редактирование метаданных - в зависимости от доступных ролей, эндпоинт отслеживания статусов будет предоставлять только доступные данные Версия 0.3.10 - скрытие удаленных Серий/Синглов/Архивов из выдачи - скрытие из Истории контента у которого 0 прочитанных страниц - ускорение загрузки истории в ~2 раза - к ID обложек добавляется "хвост", который равен таймстампу последнего измерения архива/серии, что позволит указать клиентам на возможное обновление обложки и на необходимость ее перекачать по возможности - добавлена обработка ошибок при попытке открыть несуществующий архив - реиндекс метакатегорий теперь производится каждые 10 минут Версия 0.3.9 - индексация метакатегорий во время запуска сервера - ускорение запросов /filtered и /metacategory/{metacategory_id}/{filter} эндпоинтов в ~110 раз - ускорение запросов /metacategory и /metacategory/{metacategory_id} эндпоинтов до уровня "моментальный ответ" - поддержка фильтрации по жанрам через эндпоинты /filtered и /metacategory Версия 0.3.8 - исправлено чтение архивов с кириллицей внутри и в кодировке UTF-8 Версия 0.3.7 - точечное чтение сканов из архивов на основе индекса архива, который формируется на этапе импорта - исправление ошибок чтения скана из архива при конкурентом запросе нескольких клиентов Версия 0.3.6 - если включено отображение прогресса чтения в списках контента, то сервер теперь автоматически будет заменять текущую обложку на обложку первого непрочитанного на 100% тома Версия 0.3.5 - доработка сортировки файлов в архивах - возможность запушить сразу несколько записей в Историю через эндпоинт /sync посредством передачи записей в form_data - возможность запроса списков контента с данными по количеству томов, страниц и истории чтении для текущего пользователя по умолчанию включено. выключается агрументом командной строки --allow_loading_list_with_volumes=false - поля parodies, circles, characters метаданных теперь представлены массивами - исправлено чтение изображений, если расширение указано большими буквами - чтение скана из архива теперь производится рекурсионно до 5 раз с задержкой в 1с между итерациями, если чтение не удалось - возможность отключить сервис обнаружения Bonjour аргументом командной строки --disable_bonjour_service=true Версия 0.3.3 - добавлена заглушка (ответ 500) по пути {адрес сервера} - исправлена некорректная сортировка Истории в Хабе. До исправления история отображала контент отсортированный по первому чтению. Теперь же показывает как положено - по последнему - добавлена поддержка Синглов в виде отдельного "Репозитория" - добавлена возможность запросить Историю/Новинки/Последние поступления для Серий и Синглов одновременно - исправлена работа поиска в API в эндпоинте /books Версия 0.3.2 - исправлена некорректная сортировка файлов в архивах на Linux системах Версия 0.3.1 - если у архива не указан номер тома, вместо названия серии будет отображено название файла - локализация названия томов в выдаче списка томов - если тип контента Комикс, то в выдаче списка томов вместо "Volume {number} / Том {number}" будет "Issue #{number} / Выпуск #{number}" - указание хедера Content-Length для сканов. Исправляет недогрузы изображений в клиентах при обрывах коннекта Версия 0.3.0 - сортировка Серий и Архивов теперь по умолчанию По дате создания и по убыванию - тома выдаются не с названием серии, а с номером тома для серии и с названием серии и номером тома для архива - исправлена работа истории - исправлено некорректное отображение истории не тем пользователям - поддержка чтения RAR/CBR и 7Z/CB7 архивов благодаря библиотеке SevenZipBindings Версия 0.2.2 - исправлена некорректная сортировка изображений в архивах - исправлена выдача списка архивов для серии Версия 0.2.1 - переписана логика выдачи обложек в соответствии к изменениям логики импорта архивов. Если оригинальное изображение не найдено, оно будет распаковано из соответствующего архива Версия 0.2.0 - кодовая база переписана для решения архитектурных проблем - теперь сервер оперирует базовыми единицами = Серия и атомарными единицами = Архив - изменен метод создания уникальных хешей для Архивов/Серий, что позволило серверу точно знать, что юзер запросил в конкретный момент времени - добавлена синхронизация прочитанного - добавлена выдача Истории чтения юзера - добавлена выдача Новинок - добавлена выдача Последных изменений - новый эндпоинт - /filters. Выдает список всех доступных фильтров в библиотеке - новый эндпоинт - /filtered. Выдает список отфильтрованного контента. Комбинирует поиск по доступным полям контента, позитивные (включающие) фильтры, негативные (исключающие) фильтры и режимы фильтрации И/ИЛИ (для негативных фильтров всегда включен режим И) Версия 0.1.5 - новый эндпоинт - /ping. Используется для проверки сервера на онлайн. Эндпоинт недоступен без наличия аккаунта, что позволяет также проверить валидность введенных данных - добавлена поддержка ConnectKey для подключения к серверу не зная IP:PORT/ADDRESS. Ключи для локального/ремоут подключения генерируются в консоль при каждом старте - добавлено логгирование запросов в консоль - добавлено логгирование запросов в файл /logs/requests.log Версия 0.1.3 - новый веб-эндпоинт - /admin. Используется для администрирования сервера - в /admin добавлена возможность управления пользователями - при первом запуске, пользователь Admin создается автоматически. Пароль генерируется и отображается в логе сервера - поддержка двух ролей для пользователей: ADMIN и USER. Только пользователи с ролью ADMIN имеют доступ к /admin Версия 0.1.2 - поддержка Volume Number и Circles - поддержка статусов Canceled и On Hold Версия 0.1.1 - интегрирован Discovery сервис Bonjour (Zeroconf) для поддержки связывания клиента и сервера на лету и автоматически - поддержка чтения из zip/rar архивов - выдача полей languages, tags, genres, artists, authors как массивы в API - исправление некорректной выдачи сообщений об исключениях