mirror of
https://github.com/snapotter-hq/SnapOtter.git
synced 2026-08-03 07:46:42 +02:00
273 lines
24 KiB
Markdown
273 lines
24 KiB
Markdown
---
|
||||
|
|
description: "Примітки до випусків та історія версій SnapOtter. Дивіться, що нового, покращеного та виправленого в кожному випуску."
|
|||
|
|
i18n_source_hash: 9020073f127e
|
|||
|
|
i18n_provenance: human
|
|||
|
|
i18n_output_hash: 3d2e50b56b26
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
# Журнал змін {#changelog}
|
|||
|
|
|
|||
|
|
## v2.0.0 {#v2-0-0}
|
|||
|
|
|
|||
|
|
SnapOtter 2.0 перетворює набір інструментів для роботи із зображеннями на повноцінний комплекс для обробки файлів: понад 200 інструментів у п'яти модальностях (Image, Video, Audio, PDF і Files), перебудований на Postgres 17 та черзі завдань на основі Redis, із запуском однією командою `docker run`. Це великий випуск; перед оновленням з 1.x прочитайте розділ «Несумісні зміни».
|
|||
|
|
|
|||
|
|
### Нові можливості {#new-features}
|
|||
|
|
|
|||
|
|
- **Чотири нові модальності інструментів**: 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, дозволи для окремих інструментів, експорт журналу аудиту, розподілене трасування).
|
|||
|
|
|
|||
|
|
### Покращення {#improvements}
|
|||
|
|
|
|||
|
|
- Скасування запущеного процесу. (#137)
|
|||
|
|
- Декодування RAW у повній роздільності через LibRaw, включно з DNG. (#289)
|
|||
|
|
- Розгортання без root та з чужим UID (TrueNAS, Unraid, OpenShift, PUID/PGID). (#230, #127)
|
|||
|
|
- Точне виявлення встановлення AI та захищений процес встановлення. (#214, #352)
|
|||
|
|
- Посилення приватності: жодного автоматичного вихідного трафіку до сторонніх сервісів, плюс необов'язковий суворий офлайн-режим.
|
|||
|
|
- Кнопка зворотного зв'язку завжди доступна, навіть з вимкненою аналітикою.
|
|||
|
|
|
|||
|
|
### Виправлення помилок {#bug-fixes}
|
|||
|
|
|
|||
|
|
- `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.
|
|||
|
|
|
|||
|
|
### Несумісні зміни {#breaking-changes}
|
|||
|
|
|
|||
|
|
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). Дивіться [посібник з міграції](https://github.com/snapotter-hq/SnapOtter/blob/main/MIGRATING.md) та [посібник з оновлення](/uk/guide/upgrading).
|
|||
|
|
|
|||
|
|
### Оновлення {#upgrade}
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
docker pull snapotter/snapotter:2.0.0
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
Або за допомогою Docker Compose:
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
docker compose pull && docker compose up -d
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
[Повний diff на GitHub](https://github.com/snapotter-hq/SnapOtter/compare/v1.17.2...v2.0.0)
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## v1.17.2 {#v1-17-2}
|
|||
|
|
|
|||
|
|
Новий інструмент HTML to Image, доступність за WCAG 2.2 AA, посилення безпеки за результатами тестування на проникнення та 5 критичних виправлень для Docker.
|
|||
|
|
|
|||
|
|
### Нові можливості {#new-features-1}
|
|||
|
|
|
|||
|
|
- **HTML to Image**: захоплюйте знімки екрана URL-адрес або чистого HTML у форматах PNG/JPEG/WebP. Захоплення сторінки цілком, власні вікна перегляду, темний режим.
|
|||
|
|
- **Домовленість Docker про секрети _FILE**: монтуйте чутливі змінні середовища як файли замість відкритого тексту. (#205)
|
|||
|
|
- **Корпоративне ліцензування та сховище S3**: необов'язковий комерційний ліцензійний ключ та S3-сумісне об'єктне сховище.
|
|||
|
|
- **Покращення редактора фігур**: прозорість заливки/обведення, вибір кольору RGBA, стилі пунктирних ліній.
|
|||
|
|
- **Готові архіви випусків**: завантажуйте tarball з GitHub Releases для встановлень без Docker (Proxmox, «голе залізо», LXC). (#202)
|
|||
|
|
|
|||
|
|
### Покращення {#improvements-1}
|
|||
|
|
|
|||
|
|
- **Доступність за WCAG 2.2 AA**: пропуск навігації, утримання фокуса, регіони aria-live, підтримка зменшеного руху, коректні коефіцієнти контрастності. (#209)
|
|||
|
|
- **Адаптивність для мобільних**: адаптивні налаштування, автоматичне перепідключення SSE під час перемикання вкладок на мобільному. (#203, #204)
|
|||
|
|
- **Якість видалення фону**: згладжування країв, видалення кольорового ореолу, вибір формату виводу.
|
|||
|
|
- **Італійський переклад**: ~145 нових рядків від @albanobattistella. (#206)
|
|||
|
|
- **Документація API для кожного інструмента**: 53 сторінки документації з параметрами, прикладами та форматами відповідей.
|
|||
|
|
- **Завантаження моделей AI**: логіка повторних спроб з експоненційною затримкою для HuggingFace. (#201)
|
|||
|
|
|
|||
|
|
### Виправлення помилок {#bug-fixes-1}
|
|||
|
|
|
|||
|
|
- Свіжі контейнери 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)
|
|||
|
|
|
|||
|
|
### Безпека {#security}
|
|||
|
|
|
|||
|
|
- Усунено 10 знахідок тестування на проникнення (обхід XFF, збої на некоректному JSON, необмежені конвеєри, XSS у журналі аудиту, метод TRACE та інші). (#207)
|
|||
|
|
- Заблоковано шістнадцятковий обхід SSRF через IPv6. (Дякуємо: @tonghuaroot)
|
|||
|
|
- Базові образи Dockerfile закріплено за дайджестом.
|
|||
|
|
|
|||
|
|
### Оновлення {#upgrade-1}
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
docker pull snapotter/snapotter:1.17.2
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
Або за допомогою Docker Compose:
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
docker compose pull && docker compose up -d
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
[Повний diff на GitHub](https://github.com/snapotter-hq/SnapOtter/compare/v1.17.1...v1.17.2)
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## v1.17.1 {#v1-17-1}
|
|||
|
|
|
|||
|
|
Жива демоверсія, окремі цільові сторінки для кожного інструмента та пакет виправлень для полірування.
|
|||
|
|
|
|||
|
|
### Нові можливості {#new-features-2}
|
|||
|
|
|
|||
|
|
- **Жива демоверсія** - [demo.snapotter.com](https://demo.snapotter.com) дозволяє людям спробувати SnapOtter, нічого не встановлюючи.
|
|||
|
|
- **Сторінка покажчика інструментів** - переглядайте всі 50+ інструментів за адресою `/tools` з пошуком і фільтрами за категоріями.
|
|||
|
|
- **50+ SEO-цільових сторінок** - кожен інструмент тепер має спеціальну цільову сторінку з поширеними питаннями, прикладами використання та порівняльними таблицями.
|
|||
|
|
- **Попередній перегляд фону** - повзунок «до-після» показує картатий фон за прозорими зображеннями.
|
|||
|
|
- **Генератор надійних паролів** - кнопка в один клік у формі «Add Members».
|
|||
|
|
|
|||
|
|
### Виправлення помилок {#bug-fixes-2}
|
|||
|
|
|
|||
|
|
- Інструмент інформації про HEIC/HEIF більше не дає збою (додано попереднє декодування).
|
|||
|
|
- Встановлення пакета моделей AI показує зрозуміліші повідомлення про помилки та дотримується обмежень ресурсів.
|
|||
|
|
- Мініатюри бібліотеки завантажуються коректно (не вистачало заголовків автентифікації).
|
|||
|
|
- Розкривні меню більше не обрізаються в таблицях налаштувань People та Teams.
|
|||
|
|
- Відсоток порівняння розмірів приховано для інструментів, що не стискають.
|
|||
|
|
- Видалено дубльоване посилання на політику конфіденційності.
|
|||
|
|
- Додано італійський переклад для налаштувань функцій AI.
|
|||
|
|
- Оновлено перейменовані іконки Lucide (Wand2, Columns).
|
|||
|
|
|
|||
|
|
### Інфраструктура {#infrastructure}
|
|||
|
|
|
|||
|
|
- OpenSSF Scorecard посилено з 4.3 до ~7.0.
|
|||
|
|
- Тести CI розпаралелено на 4 сегменти зі зменшеними тестовими файлами.
|
|||
|
|
- 41 оновлення залежностей.
|
|||
|
|
|
|||
|
|
### Оновлення {#upgrade-2}
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
docker pull snapotter/snapotter:1.17.1
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
Або за допомогою Docker Compose:
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
docker compose pull && docker compose up -d
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
[Повний diff на GitHub](https://github.com/snapotter-hq/SnapOtter/compare/v1.17.0...v1.17.1)
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## v1.17.0 {#v1-17-0}
|
|||
|
|
|
|||
|
|
П'ять нових інструментів, повноцінний редактор зображень, вхід через SSO, 20 мов. Ймовірно, це мали б бути три окремі випуски, але маємо те, що маємо.
|
|||
|
|
|
|||
|
|
### Нові можливості {#new-features-3}
|
|||
|
|
|
|||
|
|
- **Редактор зображень** - шари, пензлі, фігури, коригування, фільтри, криві, комбінації клавіш. Працює у вашому браузері, обробка йде на вашому обладнанні.
|
|||
|
|
- **Автентифікація 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 відновлено з раніше втраченої гілки.
|
|||
|
|
|
|||
|
|
### Покращення {#improvements-2}
|
|||
|
|
|
|||
|
|
- **Покращення зображень** - старий конвеєр замінено на 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.
|
|||
|
|
|
|||
|
|
### Виправлення помилок {#bug-fixes-3}
|
|||
|
|
|
|||
|
|
- Upscale на CPU більше не завершується за таймаутом на NAS-пристроях та маломіцному обладнанні.
|
|||
|
|
- Логотип QR-коду більше не змушує попередній перегляд зникати назавжди.
|
|||
|
|
- Виправлено переповнення обрізки для високих портретних зображень.
|
|||
|
|
- Файли TIFF з альфа-каналом коректно примусово виводяться в PNG замість пошкодження.
|
|||
|
|
- Декодування HDR/EXR перетворюється на 8-бітне перед CLAHE, що виправляє помилки декодування.
|
|||
|
|
- Вхідні буфери орієнтирів обличчя перетворюються на PNG перед Python-сайдкаром, що виправляє збої.
|
|||
|
|
- Пошук дублікатів обробляє пакети змішаних форматів та мережеві помилки.
|
|||
|
|
- Попередній перегляд Beautify оновлюється в реальному часі.
|
|||
|
|
- Індикатори прогресу для зшивання та векторизації.
|
|||
|
|
- SVGZ обробляється через SVG-to-raster.
|
|||
|
|
- Виправлено імена файлів не з ASCII через заголовок X-File-Results з відсотковим кодуванням.
|
|||
|
|
|
|||
|
|
### Оновлення {#upgrade-3}
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
docker pull snapotter/snapotter:1.17.0
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
Або за допомогою Docker Compose:
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
docker compose pull && docker compose up -d
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
[Повний diff на GitHub](https://github.com/snapotter-hq/SnapOtter/compare/v1.16.0...v1.17.0)
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## v1.14.0 {#v1-14-0}
|
|||
|
|
|
|||
|
|
Уніфікований образ Docker з автовиявленням GPU. Один образ обробляє навантаження і на CPU, і на GPU. Спрощено compose до єдиного файлу з ротацією журналів. Попереднє завантаження моделей тепер включає перевірку та димовий тест.
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## v1.13.0 {#v1-13-0}
|
|||
|
|
|
|||
|
|
Керування доступом на основі ролей (RBAC). 14 гранульованих дозволів, три вбудовані ролі (admin, editor, user), підтримка власних ролей. Перевірки дозволів на всіх маршрутах API. Вкладки інтерфейсу фільтруються за дозволами користувача.
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## v1.12.0 {#v1-12-0}
|
|||
|
|
|
|||
|
|
Інструмент PDF to Image. Перетворюйте сторінки PDF на PNG, JPEG, WebP або TIFF з довільним DPI. Уніфікований образ Docker з автовиявленням GPU.
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## v1.11.0 {#v1-11-0}
|
|||
|
|
|
|||
|
|
Автоматично згенерований llms.txt через vitepress-plugin-llms для документації, дружньої до AI.
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## v1.10.0 {#v1-10-0}
|
|||
|
|
|
|||
|
|
Зміна розміру з урахуванням вмісту (seam carving) із захистом облич. Змінюйте розмір зображень, зберігаючи важливий вміст.
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## v1.9.0 {#v1-9-0}
|
|||
|
|
|
|||
|
|
Інструмент Stitch / Combine. Об'єднуйте зображення поруч, вертикально одне над одним або в довільну сітку.
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## v1.8.0 {#v1-8-0}
|
|||
|
|
|
|||
|
|
Інструмент Edit Metadata. Переглядайте та редагуйте метадані EXIF, IPTC і XMP із гранульованим інтерфейсом видалення/збереження.
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## Старіші випуски {#older-releases}
|
|||
|
|
|
|||
|
|
Повний журнал змін на рівні комітів, включно з патч-випусками, дивіться в [GitHub Releases](https://github.com/snapotter-hq/snapotter/releases).
|