Search K
Список изменений
v2.0.0
SnapOtter 2.0 превращает набор инструментов для изображений в полноценный пакет для работы с файлами: более 200 инструментов в пяти модальностях (Image, Video, Audio, PDF и Files), перестроенный на Postgres 17 и очередь задач на базе Redis, с запуском одной командой docker run. Это крупный выпуск; прочитайте раздел «Несовместимые изменения» перед обновлением с версии 1.x.
Новые возможности
- Четыре новые модальности инструментов: Video, Audio, PDF и Files присоединяются к Image, доводя каталог до более чем 200 инструментов.
- Устойчивые фоновые задачи: очередь на базе Redis (BullMQ) выполняет каждый инструмент как отслеживаемую задачу с прогрессом в реальном времени через SSE.
- Режим одного контейнера «всё в одном»: одна команда
docker runзагружает полноценный экземпляр со встроенными Postgres и Redis. - AI-пакеты по требованию: удаление фона, OCR, транскрипция, апскейлинг, обнаружение и улучшение лиц, стирание объектов, колоризация и реставрация фотографий устанавливаются из интерфейса. Ускорение на GPU определяется для каждого фреймворка.
- Sign PDF: нарисуйте, наберите или загрузите подпись и разместите её на PDF прямо в браузере.
- Automate: визуальный конструктор конвейеров, который объединяет инструменты в цепочки, с девятью готовыми шаблонами.
- 83 пресета конвертации в один клик: специальные конвертеры JPG-в-PNG, MP4-в-GIF и подобные с нечётким поиском.
- Редактор изображений на основе слоёв: редактор на движке Konva по адресу
/editorс кистями, фигурами, корректировками, фильтрами и кривыми. - Библиотека Files: сохраните любой результат и повторно используйте его как входные данные для другого инструмента.
- Закреплённые инструменты, масштабирование и панорамирование на холсте, 21 язык и корпоративные возможности (OIDC/SSO, SAML, SCIM, хранилище S3, права доступа на уровне инструментов, экспорт журнала аудита, распределённая трассировка).
Улучшения
- Отмена выполняющегося процесса. (#137)
- Декодирование RAW в полном разрешении через LibRaw, включая DNG. (#289)
- Развёртывания без прав root и с чужим UID (TrueNAS, Unraid, OpenShift, PUID/PGID). (#230, #127)
- Точное определение установки AI и защищённый процесс установки. (#214, #352)
- Усиление приватности: отсутствие автоматической передачи данных третьим сторонам, плюс необязательный строгий офлайн-режим.
- Всегда доступная кнопка обратной связи, даже при отключённой аналитике.
Исправления ошибок
RATE_LIMIT_PER_MIN=0снова отключает ограничение частоты запросов для маршрутов инструментов. (#271)- Исправлены пути к виртуальному окружению AI внутри образа Docker. (#390)
- Совместимость с sharp 0.35.2+. (#362)
- Исправления вёрстки редактора изображений: линейки, поведение заливки, боковая панель и размеры холста. (#258, #259)
- Завершён итальянский перевод. (#231, #206, #425)
- Инструменты нормализации звука и loudnorm сохраняют частоту дискретизации источника.
- Усиление защиты от SSRF: числовое сопоставление CIDR для IPv6 и расширенное предварительное сканирование URL. (#287)
- Сгенерированные PDF помечаются SnapOtter в поле Producer.
- mediapipe устанавливается на Python 3.13 и Debian 13.
Несовместимые изменения
2.0 заменяет встроенную базу данных SQLite на Postgres 17 и добавляет Redis 8 для очереди задач. Ваши данные 1.x переносятся автоматически при первом запуске, но стек контейнеров изменился, поэтому сначала сделайте резервную копию всего тома /data (1.x работает с SQLite в режиме WAL, поэтому зафиксированные данные обычно находятся в snapotter.db-wal). Затем выберите образ с одним контейнером (встроенные Postgres и Redis, только root) или стек Compose (приложение плюс Postgres 17 и Redis 8). См. руководство по миграции и руководство по обновлению.
Обновление
bash
docker pull snapotter/snapotter:2.0.0Или с помощью Docker Compose:
bash
docker compose pull && docker compose up -dПолный список изменений на GitHub
v1.17.2
Новый инструмент HTML в изображение, доступность по WCAG 2.2 AA, усиление безопасности по результатам тестирования на проникновение и 5 критических исправлений Docker.
Новые возможности
- HTML в изображение: захват снимков URL или произвольного HTML в PNG/JPEG/WebP. Захват страницы целиком, произвольные области просмотра, тёмная тема.
- Соглашение Docker о секретах _FILE: монтируйте чувствительные переменные окружения как файлы вместо открытого текста. (#205)
- Корпоративное лицензирование и хранилище S3: необязательный коммерческий лицензионный ключ и объектное хранилище, совместимое с S3.
- Улучшения редактора фигур: прозрачность заливки и обводки, выбор цвета RGBA, стили пунктирных линий.
- Готовые архивы выпусков: скачивайте tar-архивы из GitHub Releases для установок без Docker (Proxmox, «голое железо», LXC). (#202)
Улучшения
- Доступность по WCAG 2.2 AA: пропуск навигации, захват фокуса, области aria-live, поддержка уменьшенной анимации, корректные коэффициенты контрастности. (#209)
- Адаптивность для мобильных устройств: адаптивные настройки, автоматическое переподключение SSE при переключении вкладок на мобильных. (#203, #204)
- Качество удаления фона: сглаживание краёв, устранение цветовых загрязнений, выбор формата вывода.
- Итальянский перевод: около 145 новых строк от @albanobattistella. (#206)
- Документация API по каждому инструменту: 53 страницы документации с параметрами, примерами и форматами ответов.
- Загрузка AI-моделей: логика повторных попыток с экспоненциальной задержкой для HuggingFace. (#201)
Исправления ошибок
- Свежие контейнеры Docker были полностью непригодны к использованию (ограничение частоты запросов блокировало все запросы).
- AI-инструменты обнаружения лиц (blur-faces, red-eye-removal, enhance-faces, passport-photo) не работали ни на одной платформе.
- Файлы HEIC были неисправны на ARM (несоответствие символов libheif).
- AI-пакеты апскейлинга и restore-photo не устанавливались на ARM.
- OCR использовал неверную версию CUDA в контейнерах с GPU.
- Обход защиты от SSRF через шестнадцатеричные IPv4-отображённые адреса IPv6. (Благодарность: @tonghuaroot)
- Декодирование HEIC на iPhone со вспомогательными изображениями. (#183, #199)
- Нехватка памяти CUDA в Real-ESRGAN на GPU с 8 ГБ. (#200)
- 6 продакшн-ошибок Sentry и 7 QA-багов. (#208)
Безопасность
- Устранены 10 находок из тестирования на проникновение (обход XFF, сбои на некорректном JSON, неограниченные конвейеры, XSS в журнале аудита, метод TRACE и другие). (#207)
- Заблокирован обход SSRF через шестнадцатеричный IPv6. (Благодарность: @tonghuaroot)
- Базовые образы Dockerfile закреплены по дайджесту.
Обновление
bash
docker pull snapotter/snapotter:1.17.2Или с помощью Docker Compose:
bash
docker compose pull && docker compose up -dПолный список изменений на GitHub
v1.17.1
Живая демонстрация, лендинги по каждому инструменту и пакет доработок.
Новые возможности
- Живая демонстрация: demo.snapotter.com позволяет людям попробовать SnapOtter, ничего не устанавливая.
- Страница указателя инструментов: просматривайте все 50+ инструментов по адресу
/toolsс поиском и фильтрами по категориям. - 50+ SEO-лендингов: теперь у каждого инструмента есть отдельный лендинг с ответами на частые вопросы, сценариями использования и таблицами сравнения.
- Предпросмотр фона: ползунок «до и после» показывает клетчатый фон за прозрачными изображениями.
- Генератор надёжных паролей: кнопка в один клик в форме добавления участников.
Исправления ошибок
- Инструмент информации о HEIC/HEIF больше не даёт сбой (добавлено предварительное декодирование).
- Установка AI-пакета модели показывает более понятные сообщения об ошибках и соблюдает ограничения ресурсов.
- Миниатюры библиотеки загружаются корректно (отсутствовали заголовки авторизации).
- Выпадающие меню больше не обрезаются в таблицах настроек «Люди» и «Команды».
- Процент сравнения размера скрыт для инструментов без сжатия.
- Удалена дублирующая ссылка на политику конфиденциальности.
- Добавлен итальянский перевод для настроек AI-функций.
- Обновлены переименованные значки Lucide (Wand2, Columns).
Инфраструктура
- Оценка OpenSSF Scorecard усилена с 4.3 до примерно 7.0.
- CI-тесты распараллелены на 4 сегмента с уменьшенными тестовыми файлами.
- 41 обновление зависимостей.
Обновление
bash
docker pull snapotter/snapotter:1.17.1Или с помощью Docker Compose:
bash
docker compose pull && docker compose up -dПолный список изменений на GitHub
v1.17.0
Пять новых инструментов, полноценный редактор изображений, вход через SSO, 20 языков. Наверное, это стоило бы разбить на три отдельных выпуска, но получилось так.
Новые возможности
- Редактор изображений: слои, кисти, фигуры, корректировки, фильтры, кривые, сочетания клавиш. Работает в вашем браузере, обрабатывает на вашем оборудовании.
- Аутентификация OIDC / SSO: вход через Google, GitHub, Okta или любой провайдер OpenID Connect. Задайте несколько переменных окружения, и ваша команда будет использовать существующие учётные записи.
- Генератор мемов: 100 встроенных шаблонов с отрисовкой текста через opentype.js. Или загрузите собственное изображение.
- Beautify: загрузите скриншот, получите отполированное изображение. Рамки устройств (macOS, Windows, браузер), тени, градиенты, пресеты для соцсетей.
- Симуляция дальтонизма: предпросмотр того, как изображения выглядят при протанопии, дейтеранопии, тританопии и других нарушениях цветовосприятия.
- Исправление прозрачности PNG: обнаруживает псевдопрозрачные PNG и исправляет их с помощью HR-маттинга BiRefNet. Необязательное удаление водяных знаков через инпейнтинг LaMa.
- AI-расширение холста: расширяет границы изображения с помощью AI-заливки. Три уровня качества (быстрый, сбалансированный, качественный) в зависимости от того, сколько времени GPU вы готовы потратить.
- 20 языков: арабский, китайский (упрощённый/традиционный), чешский, нидерландский, французский, немецкий, хинди, индонезийский, итальянский, японский, корейский, польский, португальский, русский, испанский, тайский, турецкий, украинский, вьетнамский. RTL работает для арабского.
- Импорт по URL: вставляйте URL в зону загрузки или импортируйте пачкой из списка. Загрузка на стороне сервера с защитой от SSRF.
- Многофайловый ластик: рисуйте маски стирания сразу по нескольким изображениям, обрабатывайте их все одним кликом. Штрихи сохраняются для каждого изображения.
- Импорт/экспорт конвейеров: сохраняйте цепочки инструментов в JSON, делитесь ими с другими.
- 17 новых форматов RAW с камер через exiftool, а также ввод QOI, JP2, EPS, DDS, CUR, DPX, FITS, PPM/PGM/PBM, SVGZ и APNG. Новые кодеки вывода для BMP, ICO, JP2, QOI. Экспорт AVIF, TIFF, GIF, JXL и PSD восстановлен из ранее утерянной ветки.
Улучшения
- Улучшение изображений: старый конвейер заменён на CLAHE + normalise + gamma. Новый переключатель Deep Enhance использует AI-модель для более выраженных результатов.
- Реставрация фото: обнаружение царапин переписано с 8-угловой фильтрацией Otsu. Инпейнтинг LaMa теперь работает в исходном разрешении.
- Экзотические форматы повсюду: OCR, image-to-PDF, генератор фавиконок, композиция, сшивка и векторизация теперь декодируют HEIC, RAW, PSD.
- Сжатие: допуск целевого размера ужесточён с 5% до 1%. Целевой размер стал режимом по умолчанию. Добавлены кнопки-степперы и переключатель единиц КБ/МБ.
- Очистка Sentry: отфильтровано 644 неактуальных события. Настоящие ошибки теперь обрабатываются корректно.
- Определение GPU: улучшена диагностика для контейнеров, где CUDA присутствует, а nvidia-smi нет.
- Режим без аутентификации: анонимный пользователь заносится в БД с ролью admin. API-ключи, конвейеры и файлы пользователей больше не ломаются на ограничениях внешних ключей.
- 2705+ новых тестов по модульным, интеграционным и E2E-тестам.
Исправления ошибок
- Апскейлинг на CPU больше не завершается по тайм-ауту на NAS и маломощном оборудовании.
- Логотип QR-кода больше не заставляет предпросмотр исчезнуть навсегда.
- Исправлено переполнение при обрезке для высоких портретных изображений.
- Файлы TIFF с альфа-каналом корректно принудительно выводятся в PNG вместо порчи.
- Декодирование HDR/EXR преобразует в 8 бит перед CLAHE, устраняя сбои декодирования.
- Входные буферы для ключевых точек лица преобразуются в PNG перед Python-сайдкаром, устраняя сбои.
- Поиск дубликатов обрабатывает пачки со смешанными форматами и сетевые ошибки.
- Предпросмотр Beautify обновляется в реальном времени.
- Индикаторы прогресса для сшивки и векторизации.
- SVGZ обрабатывается инструментом SVG-в-растр.
- Исправлены имена файлов не-ASCII через процентно-кодированный заголовок X-File-Results.
Обновление
bash
docker pull snapotter/snapotter:1.17.0Или с помощью Docker Compose:
bash
docker compose pull && docker compose up -dПолный список изменений на GitHub
v1.14.0
Единый образ Docker с автоопределением GPU. Один образ обрабатывает нагрузки как на CPU, так и на GPU. Упрощён compose до единого файла с ротацией журналов. Предварительная загрузка моделей теперь включает проверку и дымовой тест.
v1.13.0
Управление доступом на основе ролей (RBAC). 14 детализированных прав, три встроенные роли (admin, editor, user), поддержка пользовательских ролей. Проверки прав на всех маршрутах API. Вкладки во фронтенде фильтруются по правам пользователя.
v1.12.0
Инструмент PDF в изображение. Преобразуйте страницы PDF в PNG, JPEG, WebP или TIFF с произвольным DPI. Единый образ Docker с автоопределением GPU.
v1.11.0
Автоматически генерируемый llms.txt через vitepress-plugin-llms для документации, дружественной к AI.
v1.10.0
Изменение размера с учётом содержимого (seam carving) с защитой лиц. Меняйте размер изображений, сохраняя важное содержимое.
v1.9.0
Инструмент сшивки / объединения. Соединяйте изображения бок о бок, по вертикали или в произвольную сетку.
v1.8.0
Инструмент редактирования метаданных. Просматривайте и редактируйте метаданные EXIF, IPTC и XMP с детализированным интерфейсом удаления/сохранения.
Более старые выпуски
Полный список изменений на уровне коммитов, включая патч-выпуски, см. в GitHub Releases.
