This page was machine-translated. Spotted a mistake?Help improve it.
Skip to content

Журнал змін

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-to-PNG, MP4-to-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 virtualenv усередині образу Docker. (#390)
  • Сумісність із sharp 0.35.2+. (#362)
  • Виправлення макета редактора зображень: лінійки, поведінка заливки, бічна панель і розміри полотна. (#258, #259)
  • Завершено італійський переклад. (#231, #206, #425)
  • Audio normalize та loudnorm зберігають частоту дискретизації джерела.
  • Посилення захисту від SSRF: числове зіставлення IPv6 CIDR і розширене попереднє сканування 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

Повний diff на GitHub


v1.17.2

Новий інструмент HTML to Image, доступність за WCAG 2.2 AA, посилення безпеки за результатами тестування на проникнення та 5 критичних виправлень для Docker.

Нові можливості

  • HTML to Image: захоплюйте знімки екрана URL-адрес або чистого HTML у форматах PNG/JPEG/WebP. Захоплення сторінки цілком, власні вікна перегляду, темний режим.
  • Домовленість Docker про секрети _FILE: монтуйте чутливі змінні середовища як файли замість відкритого тексту. (#205)
  • Корпоративне ліцензування та сховище S3: необов'язковий комерційний ліцензійний ключ та S3-сумісне об'єктне сховище.
  • Покращення редактора фігур: прозорість заливки/обведення, вибір кольору RGBA, стилі пунктирних ліній.
  • Готові архіви випусків: завантажуйте tarball з 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 upscale та restore-photo не встановлювалися на ARM.
  • OCR використовував неправильну версію CUDA на контейнерах з GPU.
  • Обхід захисту від SSRF через шістнадцяткові IPv4-mapped IPv6-адреси. (Дякуємо: @tonghuaroot)
  • Декодування HEIC з iPhone з допоміжними зображеннями. (#183, #199)
  • Real-ESRGAN CUDA OOM на 8GB GPU. (#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

Повний diff на GitHub


v1.17.1

Жива демоверсія, окремі цільові сторінки для кожного інструмента та пакет виправлень для полірування.

Нові можливості

  • Жива демоверсія - demo.snapotter.com дозволяє людям спробувати SnapOtter, нічого не встановлюючи.
  • Сторінка покажчика інструментів - переглядайте всі 50+ інструментів за адресою /tools з пошуком і фільтрами за категоріями.
  • 50+ SEO-цільових сторінок - кожен інструмент тепер має спеціальну цільову сторінку з поширеними питаннями, прикладами використання та порівняльними таблицями.
  • Попередній перегляд фону - повзунок «до-після» показує картатий фон за прозорими зображеннями.
  • Генератор надійних паролів - кнопка в один клік у формі «Add Members».

Виправлення помилок

  • Інструмент інформації про HEIC/HEIF більше не дає збою (додано попереднє декодування).
  • Встановлення пакета моделей AI показує зрозуміліші повідомлення про помилки та дотримується обмежень ресурсів.
  • Мініатюри бібліотеки завантажуються коректно (не вистачало заголовків автентифікації).
  • Розкривні меню більше не обрізаються в таблицях налаштувань People та Teams.
  • Відсоток порівняння розмірів приховано для інструментів, що не стискають.
  • Видалено дубльоване посилання на політику конфіденційності.
  • Додано італійський переклад для налаштувань функцій 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

Повний diff на GitHub


v1.17.0

П'ять нових інструментів, повноцінний редактор зображень, вхід через SSO, 20 мов. Ймовірно, це мали б бути три окремі випуски, але маємо те, що маємо.

Нові можливості

  • Редактор зображень - шари, пензлі, фігури, коригування, фільтри, криві, комбінації клавіш. Працює у вашому браузері, обробка йде на вашому обладнанні.
  • Автентифікація OIDC / SSO - вхід через Google, GitHub, Okta або будь-якого постачальника OpenID Connect. Задайте кілька змінних середовища, і ваша команда користуватиметься наявними обліковими записами.
  • Генератор мемів - 100 вбудованих шаблонів із відображенням тексту через opentype.js. Або завантажте власне зображення.
  • Beautify - завантажте знімок екрана, отримайте відполіроване зображення. Рамки пристроїв (macOS, Windows, браузер), тіні, градієнти, пресети для соцмереж.
  • Симуляція дальтонізму - переглядайте, як виглядають зображення при протанопії, дейтеранопії, тританопії та інших порушеннях кольоросприйняття.
  • Виправлення прозорості PNG - виявляє псевдопрозорі PNG і виправляє їх за допомогою BiRefNet HR-matting. Необов'язкове видалення водяних знаків через inpainting LaMa.
  • AI-розширення полотна - розширюйте межі зображення за допомогою AI-заповнення. Три рівні якості (fast, balanced, quality) залежно від того, скільки часу 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 для агресивніших результатів.
  • Відновлення фото - виявлення подряпин переписано з фільтрацією Otsu за 8 кутами. Inpainting LaMa тепер працює в нативній роздільній здатності.
  • Екзотичні формати всюди - OCR, image-to-PDF, генератор фавіконок, композиція, зшивання та векторизація тепер декодують HEIC, RAW, PSD.
  • Compress - допуск за цільовим розміром звужено з 5% до 1%. Цільовий розмір є типовим режимом. Додано кнопки-лічильники та перемикач одиниць KB/MB.
  • Очищення Sentry - відфільтровано 644 подій, за якими неможливо вжити заходів. Справжні помилки тепер обробляються належним чином.
  • Виявлення GPU - краща діагностика для контейнерів, де присутній CUDA, але немає nvidia-smi.
  • Режим з вимкненою автентифікацією - анонімного користувача засівають у БД з роллю admin. Ключі API, конвеєри та файли користувачів більше не ламаються через обмеження зовнішніх ключів.
  • Понад 2 705 нових тестів серед модульних, інтеграційних та E2E.

Виправлення помилок

  • Upscale на CPU більше не завершується за таймаутом на NAS-пристроях та маломіцному обладнанні.
  • Логотип QR-коду більше не змушує попередній перегляд зникати назавжди.
  • Виправлено переповнення обрізки для високих портретних зображень.
  • Файли TIFF з альфа-каналом коректно примусово виводяться в PNG замість пошкодження.
  • Декодування HDR/EXR перетворюється на 8-бітне перед CLAHE, що виправляє помилки декодування.
  • Вхідні буфери орієнтирів обличчя перетворюються на PNG перед Python-сайдкаром, що виправляє збої.
  • Пошук дублікатів обробляє пакети змішаних форматів та мережеві помилки.
  • Попередній перегляд Beautify оновлюється в реальному часі.
  • Індикатори прогресу для зшивання та векторизації.
  • SVGZ обробляється через SVG-to-raster.
  • Виправлено імена файлів не з ASCII через заголовок X-File-Results з відсотковим кодуванням.

Оновлення

bash
docker pull snapotter/snapotter:1.17.0

Або за допомогою Docker Compose:

bash
docker compose pull && docker compose up -d

Повний diff на GitHub


v1.14.0

Уніфікований образ Docker з автовиявленням GPU. Один образ обробляє навантаження і на CPU, і на GPU. Спрощено compose до єдиного файлу з ротацією журналів. Попереднє завантаження моделей тепер включає перевірку та димовий тест.


v1.13.0

Керування доступом на основі ролей (RBAC). 14 гранульованих дозволів, три вбудовані ролі (admin, editor, user), підтримка власних ролей. Перевірки дозволів на всіх маршрутах API. Вкладки інтерфейсу фільтруються за дозволами користувача.


v1.12.0

Інструмент PDF to Image. Перетворюйте сторінки 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

Інструмент Stitch / Combine. Об'єднуйте зображення поруч, вертикально одне над одним або в довільну сітку.


v1.8.0

Інструмент Edit Metadata. Переглядайте та редагуйте метадані EXIF, IPTC і XMP із гранульованим інтерфейсом видалення/збереження.


Старіші випуски

Повний журнал змін на рівні комітів, включно з патч-випусками, дивіться в GitHub Releases.