--- description: "บันทึกการเผยแพร่และประวัติเวอร์ชันของ SnapOtter ดูสิ่งที่เพิ่มใหม่ ปรับปรุง และแก้ไขในแต่ละรุ่น" i18n_source_hash: 9020073f127e i18n_provenance: human i18n_output_hash: 1a60388469be --- # Changelog {#changelog} ## v2.0.0 {#v2-0-0} SnapOtter 2.0 เปลี่ยนชุดเครื่องมือรูปภาพให้กลายเป็นชุดเครื่องมือจัดการไฟล์แบบครบวงจร: เครื่องมือมากกว่า 200 รายการครอบคลุมห้ารูปแบบ (Image, Video, Audio, PDF และ Files) สร้างขึ้นใหม่บน Postgres 17 และคิวงานที่ใช้ Redis พร้อม `docker run` ด้วยคำสั่งเดียว นี่คือรุ่นใหญ่ อ่านหัวข้อ Breaking changes ก่อนอัปเกรดจาก 1.x ### New features {#new-features} - **รูปแบบเครื่องมือใหม่สี่ประเภท**: Video, Audio, PDF และ Files เข้าร่วมกับ Image ทำให้แคตตาล็อกมีเครื่องมือมากกว่า 200 รายการ - **งานเบื้องหลังที่คงทน**: คิวที่ใช้ Redis (BullMQ) รันเครื่องมือทุกตัวเป็นงานที่ติดตามได้ พร้อมความคืบหน้าแบบสด SSE - **โหมดคอนเทนเนอร์เดียวแบบครบวงจร**: `docker run` เพียงคำสั่งเดียวบูตอินสแตนซ์ที่สมบูรณ์พร้อม Postgres และ Redis แบบฝังในตัว - **ชุด AI แบบติดตั้งเมื่อต้องการ**: การลบพื้นหลัง, OCR, การถอดเสียง, การขยายภาพ, การตรวจจับและเพิ่มความคมชัดใบหน้า, ยางลบวัตถุ, การลงสี และการฟื้นฟูภาพถ่าย ติดตั้งได้จาก UI ตรวจจับการเร่งความเร็ว GPU แยกตามเฟรมเวิร์ก - **Sign PDF**: วาด พิมพ์ หรืออัปโหลดลายเซ็นแล้ววางลงบน PDF ในเบราว์เซอร์ - **Automate**: ตัวสร้างไปป์ไลน์แบบภาพที่เชื่อมโยงเครื่องมือเข้าด้วยกัน พร้อมเทมเพลตสำเร็จรูปเก้าแบบ - **พรีเซ็ตการแปลงแบบคลิกเดียว 83 รายการ**: ตัวแปลง JPG-to-PNG, MP4-to-GIF และอื่น ๆ ที่คล้ายกันโดยเฉพาะ พร้อมการค้นหาแบบคลุมเครือ - **โปรแกรมแก้ไขรูปภาพแบบเลเยอร์**: โปรแกรมแก้ไขที่ขับเคลื่อนด้วย Konva ที่ `/editor` พร้อมพู่กัน รูปทรง การปรับแต่ง ฟิลเตอร์ และเส้นโค้ง - **คลังไฟล์ Files**: บันทึกผลลัพธ์ใด ๆ แล้วนำกลับมาใช้เป็นอินพุตของเครื่องมืออื่น - เครื่องมือที่ปักหมุด, การซูมและเลื่อนในแคนวาส, 21 ภาษา และความสามารถระดับองค์กร (OIDC/SSO, SAML, SCIM, ที่จัดเก็บ S3, สิทธิ์แยกตามเครื่องมือ, การส่งออก audit, distributed tracing) ### Improvements {#improvements} - ยกเลิกกระบวนการที่กำลังทำงานอยู่ได้ (#137) - ถอดรหัส RAW ความละเอียดเต็มผ่าน LibRaw รวมถึง DNG (#289) - การปรับใช้แบบไม่ใช่ root และ UID ต่างเจ้าของ (TrueNAS, Unraid, OpenShift, PUID/PGID) (#230, #127) - การตรวจจับการติดตั้ง AI ที่แม่นยำและขั้นตอนการติดตั้งที่แข็งแรงขึ้น (#214, #352) - การเสริมความเป็นส่วนตัว: ไม่มีการส่งข้อมูลออกไปยังบุคคลที่สามโดยอัตโนมัติ พร้อมโหมดออฟไลน์เข้มงวดที่เลือกได้ - ปุ่มให้ข้อเสนอแนะที่แสดงตลอดเวลา แม้จะปิดการวิเคราะห์ข้อมูลก็ตาม ### Bug fixes {#bug-fixes} - `RATE_LIMIT_PER_MIN=0` ปิดการจำกัดอัตราสำหรับเส้นทางเครื่องมืออีกครั้ง (#271) - ซ่อมแซมเส้นทาง virtualenv ของ AI ภายในอิมเมจ Docker (#390) - ความเข้ากันได้กับ sharp 0.35.2+ (#362) - แก้ไขเลย์เอาต์โปรแกรมแก้ไขรูปภาพ: ไม้บรรทัด, พฤติกรรมการเติมสี, แถบด้านข้าง และการกำหนดขนาดแคนวาส (#258, #259) - แปลภาษาอิตาลีเสร็จสมบูรณ์ (#231, #206, #425) - Audio normalize และ loudnorm รักษาอัตราการสุ่มตัวอย่างของต้นฉบับ - การเสริมความแข็งแกร่ง SSRF: การจับคู่ CIDR ของ IPv6 แบบตัวเลขและการสแกน URL ล่วงหน้าที่ครอบคลุมมากขึ้น (#287) - PDF ที่สร้างขึ้นจะประทับ SnapOtter เป็น Producer - mediapipe ติดตั้งได้บน Python 3.13 และ Debian 13 ### Breaking changes {#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) ดู [migration guide](https://github.com/snapotter-hq/SnapOtter/blob/main/MIGRATING.md) และ [upgrade guide](/th/guide/upgrading) ### Upgrade {#upgrade} ```bash docker pull snapotter/snapotter:2.0.0 ``` หรือด้วย Docker Compose: ```bash docker compose pull && docker compose up -d ``` [Full diff on 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, การเสริมความแข็งแกร่งด้านความปลอดภัยจากการทดสอบการเจาะระบบ และแก้ไข Docker ที่สำคัญ 5 รายการ ### New features {#new-features-1} - **HTML to Image**: จับภาพหน้าจอของ URL หรือ HTML ดิบเป็น PNG/JPEG/WebP รองรับการจับภาพทั้งหน้า, viewport กำหนดเอง, โหมดมืด - **แบบแผน _FILE secret ของ Docker**: เมานต์ตัวแปรสภาพแวดล้อมที่ละเอียดอ่อนเป็นไฟล์แทนข้อความธรรมดา (#205) - **การออกใบอนุญาตระดับองค์กรและที่จัดเก็บ S3**: คีย์ใบอนุญาตเชิงพาณิชย์ที่เลือกได้และที่จัดเก็บออบเจกต์ที่เข้ากันได้กับ S3 - **การปรับปรุงโปรแกรมแก้ไขรูปทรง**: ความโปร่งใสของการเติมสี/เส้นขอบ, ตัวเลือกสี RGBA, สไตล์เส้นประ - **ไฟล์เก็บถาวรของรุ่นที่สร้างไว้ล่วงหน้า**: ดาวน์โหลด tarball จาก GitHub Releases สำหรับการติดตั้งที่ไม่ใช่ Docker (Proxmox, bare metal, LXC) (#202) ### Improvements {#improvements-1} - **การเข้าถึง WCAG 2.2 AA**: ข้ามการนำทาง, การกักโฟกัส, พื้นที่ aria-live, การรองรับการลดการเคลื่อนไหว, อัตราส่วนความคมชัดที่ถูกต้อง (#209) - **การตอบสนองบนมือถือ**: การตั้งค่าที่ปรับตามหน้าจอ, SSE เชื่อมต่อใหม่อัตโนมัติเมื่อสลับแท็บบนมือถือ (#203, #204) - **คุณภาพการลบพื้นหลัง**: การปรับขอบให้เรียบ, การขจัดสีปนเปื้อน, การเลือกรูปแบบเอาต์พุต - **แปลภาษาอิตาลี**: ~145 สตริงใหม่โดย @albanobattistella (#206) - **เอกสาร API แยกตามเครื่องมือ**: 53 หน้าเอกสารพร้อมพารามิเตอร์ ตัวอย่าง และรูปแบบการตอบกลับ - **การดาวน์โหลดโมเดล AI**: ตรรกะการลองใหม่ด้วย exponential backoff สำหรับ HuggingFace (#201) ### Bug fixes {#bug-fixes-1} - คอนเทนเนอร์ Docker ที่สร้างใหม่ใช้งานไม่ได้เลย (การจำกัดอัตราบล็อกทุกคำขอ) - เครื่องมือ AI ตรวจจับใบหน้า (blur-faces, red-eye-removal, enhance-faces, passport-photo) ล้มเหลวบนทุกแพลตฟอร์ม - ไฟล์ HEIC เสียหายบน ARM (libheif symbol ไม่ตรงกัน) - ชุด AI Upscale และ restore-photo ติดตั้งไม่สำเร็จบน ARM - OCR ใช้เวอร์ชัน CUDA ผิดบนคอนเทนเนอร์ GPU - การเลี่ยงการป้องกัน SSRF ผ่านที่อยู่ IPv6 ที่จับคู่ IPv4 แบบเลขฐานสิบหก (เครดิต: @tonghuaroot) - การถอดรหัส HEIC ของ iPhone พร้อมภาพเสริม (#183, #199) - Real-ESRGAN CUDA OOM บน GPU 8GB (#200) - ข้อผิดพลาด Sentry ในการใช้งานจริง 6 รายการ และบั๊ก QA 7 รายการ (#208) ### Security {#security} - แก้ไขผลการทดสอบการเจาะระบบ 10 รายการ (การเลี่ยง XFF, การขัดข้องจาก JSON ที่ผิดรูปแบบ, ไปป์ไลน์ที่ไม่มีขอบเขต, audit log XSS, เมท็อด TRACE และอื่น ๆ) (#207) - ปิดกั้นการเลี่ยง SSRF IPv6 แบบเลขฐานสิบหก (เครดิต: @tonghuaroot) - ปักหมุดอิมเมจฐาน Dockerfile ด้วย digest ### Upgrade {#upgrade-1} ```bash docker pull snapotter/snapotter:1.17.2 ``` หรือด้วย Docker Compose: ```bash docker compose pull && docker compose up -d ``` [Full diff on GitHub](https://github.com/snapotter-hq/SnapOtter/compare/v1.17.1...v1.17.2) --- ## v1.17.1 {#v1-17-1} การสาธิตสด, หน้าแลนดิงแยกตามเครื่องมือ และชุดการแก้ไขเพื่อความเรียบร้อย ### New features {#new-features-2} - **การสาธิตสด** - [demo.snapotter.com](https://demo.snapotter.com) ให้ผู้คนลองใช้ SnapOtter โดยไม่ต้องติดตั้งอะไรเลย - **หน้าดัชนีเครื่องมือ** - เรียกดูเครื่องมือทั้งหมดกว่า 50 รายการที่ `/tools` พร้อมการค้นหาและตัวกรองหมวดหมู่ - **หน้าแลนดิง SEO กว่า 50 หน้า** - ทุกเครื่องมือมีหน้าแลนดิงเฉพาะพร้อมคำถามที่พบบ่อย กรณีการใช้งาน และตารางเปรียบเทียบ - **การแสดงตัวอย่างพื้นหลัง** - แถบเลื่อน before-after แสดงพื้นหลังลายตารางหมากรุกด้านหลังภาพโปร่งใส - **ตัวสร้างรหัสผ่านที่แข็งแรง** - ปุ่มคลิกเดียวในฟอร์ม Add Members ### Bug fixes {#bug-fixes-2} - เครื่องมือข้อมูล HEIC/HEIF ไม่ล้มเหลวอีกต่อไป (เพิ่มการถอดรหัสล่วงหน้า) - การติดตั้งชุดโมเดล AI แสดงข้อความแสดงข้อผิดพลาดที่ดีขึ้นและเคารพขีดจำกัดทรัพยากร - ภาพขนาดย่อของคลังโหลดได้ถูกต้อง (ส่วนหัวการยืนยันตัวตนขาดหายไป) - เมนูแบบดรอปดาวน์ไม่ถูกตัดในตารางการตั้งค่า People และ Teams อีกต่อไป - ซ่อนเปอร์เซ็นต์การเปรียบเทียบขนาดบนเครื่องมือที่ไม่ใช่การบีบอัด - ลบลิงก์นโยบายความเป็นส่วนตัวที่ซ้ำกันออก - เพิ่มการแปลภาษาอิตาลีสำหรับการตั้งค่าฟีเจอร์ AI - อัปเดตไอคอน Lucide ที่เปลี่ยนชื่อ (Wand2, Columns) ### Infrastructure {#infrastructure} - เสริมความแข็งแกร่ง OpenSSF Scorecard จาก 4.3 เป็น ~7.0 - ทดสอบ CI แบบขนานเป็น 4 shard พร้อม fixture ที่ลดขนาดลง - อัปเดต dependency 41 รายการ ### Upgrade {#upgrade-2} ```bash docker pull snapotter/snapotter:1.17.1 ``` หรือด้วย Docker Compose: ```bash docker compose pull && docker compose up -d ``` [Full diff on GitHub](https://github.com/snapotter-hq/SnapOtter/compare/v1.17.0...v1.17.1) --- ## v1.17.0 {#v1-17-0} เครื่องมือใหม่ห้ารายการ, โปรแกรมแก้ไขรูปภาพแบบเต็ม, การเข้าสู่ระบบ SSO, 20 ภาษา น่าจะควรแยกเป็นสามรุ่นต่างหาก แต่ก็เป็นแบบนี้แหละ ### New features {#new-features-3} - **โปรแกรมแก้ไขรูปภาพ** - เลเยอร์, พู่กัน, รูปทรง, การปรับแต่ง, ฟิลเตอร์, เส้นโค้ง, แป้นพิมพ์ลัด ทำงานในเบราว์เซอร์ของคุณ ประมวลผลบนฮาร์ดแวร์ของคุณ - **การยืนยันตัวตน OIDC / SSO** - เข้าสู่ระบบด้วย Google, GitHub, Okta หรือผู้ให้บริการ OpenID Connect ใด ๆ ตั้งค่าตัวแปรสภาพแวดล้อมสองสามตัวแล้วทีมของคุณใช้บัญชีที่มีอยู่แล้ว - **ตัวสร้างมีม** - เทมเพลตในตัว 100 แบบพร้อมการเรนเดอร์ข้อความผ่าน opentype.js หรืออัปโหลดรูปภาพของคุณเอง - **Beautify** - วางภาพหน้าจอเข้าไป ได้ภาพที่ขัดเกลาออกมา กรอบอุปกรณ์ (macOS, Windows, เบราว์เซอร์), เงา, การไล่ระดับสี, พรีเซ็ตโซเชียลมีเดีย - **การจำลองภาวะตาบอดสี** - ดูตัวอย่างว่าภาพจะดูเป็นอย่างไรกับ protanopia, deuteranopia, tritanopia และภาวะการมองเห็นสีบกพร่องอื่น ๆ - **ตัวแก้ความโปร่งใส PNG** - ตรวจจับ PNG ที่โปร่งใสปลอมและแก้ไขด้วย BiRefNet HR-matting ลบลายน้ำที่เลือกได้ผ่าน LaMa inpainting - **การขยายแคนวาสด้วย AI** - ขยายขอบเขตของภาพด้วยการเติมด้วย AI สามระดับคุณภาพ (fast, balanced, quality) ขึ้นอยู่กับปริมาณเวลา GPU ที่คุณต้องการแลกเปลี่ยน - **20 ภาษา** - อาหรับ, จีน (ตัวย่อ/ตัวเต็ม), เช็ก, ดัตช์, ฝรั่งเศส, เยอรมัน, ฮินดี, อินโดนีเซีย, อิตาลี, ญี่ปุ่น, เกาหลี, โปแลนด์, โปรตุเกส, รัสเซีย, สเปน, ไทย, ตุรกี, ยูเครน, เวียดนาม RTL ใช้งานได้สำหรับภาษาอาหรับ - **การนำเข้า URL** - วาง URL ลงในพื้นที่วางไฟล์หรือนำเข้าจากรายการเป็นชุด การดึงข้อมูลฝั่งเซิร์ฟเวอร์พร้อมการป้องกัน SSRF - **ยางลบหลายไฟล์** - วาดมาสก์การลบข้ามหลายภาพ ประมวลผลทั้งหมดด้วยคลิกเดียว เส้นวาดคงอยู่แยกตามภาพ - **การนำเข้า/ส่งออกไปป์ไลน์** - บันทึกห่วงโซ่เครื่องมือเป็น JSON แล้วแบ่งปันกับผู้อื่น - **รูปแบบ RAW ของกล้องใหม่ 17 รูปแบบ** ผ่าน exiftool รวมถึง QOI, JP2, EPS, DDS, CUR, DPX, FITS, PPM/PGM/PBM, SVGZ และอินพุต APNG โคเดกเอาต์พุตใหม่สำหรับ BMP, ICO, JP2, QOI กู้คืนการส่งออก AVIF, TIFF, GIF, JXL และ PSD จากสาขาที่เคยสูญหาย ### Improvements {#improvements-2} - **การเพิ่มความคมชัดภาพ** - แทนที่ไปป์ไลน์เดิมด้วย CLAHE + normalise + gamma ปุ่ม Deep Enhance ใหม่ใช้โมเดล AI เพื่อผลลัพธ์ที่เข้มข้นขึ้น - **ฟื้นฟูภาพถ่าย** - เขียนการตรวจจับรอยขีดข่วนใหม่ด้วยการกรอง Otsu 8 มุม LaMa inpainting ทำงานที่ความละเอียดต้นฉบับแล้ว - **รูปแบบแปลกทุกที่** - OCR, image-to-PDF, ตัวสร้าง favicon, การจัดวาง, การต่อภาพ และการแปลงเป็นเวกเตอร์ ตอนนี้ถอดรหัส HEIC, RAW, PSD ได้ทั้งหมด - **บีบอัด** - เข้มความคลาดเคลื่อนของขนาดเป้าหมายจาก 5% เป็น 1% ขนาดเป้าหมายเป็นโหมดเริ่มต้น เพิ่มปุ่มปรับค่าและตัวเลือกหน่วย KB/MB - **การล้าง Sentry** - กรองเหตุการณ์ที่ไม่ต้องดำเนินการ 644 รายการ ข้อผิดพลาดจริงได้รับการจัดการอย่างถูกต้องแล้ว - **การตรวจจับ GPU** - การวินิจฉัยที่ดีขึ้นสำหรับคอนเทนเนอร์ที่มี CUDA แต่ไม่มี nvidia-smi - **โหมดปิดการยืนยันตัวตน** - เพาะผู้ใช้แบบไม่ระบุตัวตนใน DB ด้วยบทบาท admin คีย์ API, ไปป์ไลน์ และไฟล์ผู้ใช้ไม่พังจากข้อจำกัด FK อีกต่อไป - **การทดสอบใหม่กว่า 2,705 รายการ** ครอบคลุมทั้ง unit, integration และ E2E ### Bug fixes {#bug-fixes-3} - Upscale บน CPU ไม่หมดเวลาบนกล่อง NAS และฮาร์ดแวร์กำลังต่ำอีกต่อไป - โลโก้รหัส QR ไม่ทำให้ตัวอย่างหายไปอย่างถาวรอีกต่อไป - แก้ไขการล้นของ crop สำหรับภาพแนวตั้งสูง - ไฟล์ TIFF alpha บังคับเอาต์พุต PNG อย่างถูกต้องแทนที่จะทำให้เกิดความเสียหาย - การถอดรหัส HDR/EXR แปลงเป็น 8-bit ก่อน CLAHE แก้ไขความล้มเหลวในการถอดรหัส - บัฟเฟอร์อินพุตของจุดสังเกตใบหน้าถูกแปลงเป็น PNG ก่อนไปยัง Python sidecar แก้ไขการขัดข้อง - การหาไฟล์ซ้ำจัดการชุดที่มีรูปแบบผสมและข้อผิดพลาดของเครือข่ายได้ - ตัวอย่าง Beautify อัปเดตแบบเรียลไทม์ - แถบความคืบหน้าสำหรับการต่อภาพและการแปลงเป็นเวกเตอร์ - SVGZ จัดการโดย SVG-to-raster - แก้ไขชื่อไฟล์ที่ไม่ใช่ ASCII ผ่านส่วนหัว X-File-Results ที่เข้ารหัสแบบเปอร์เซ็นต์ ### Upgrade {#upgrade-3} ```bash docker pull snapotter/snapotter:1.17.0 ``` หรือด้วย Docker Compose: ```bash docker compose pull && docker compose up -d ``` [Full diff on 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 {#older-releases} สำหรับ changelog ระดับคอมมิตทั้งหมดรวมถึงรุ่นแพตช์ ดู [GitHub Releases](https://github.com/snapotter-hq/snapotter/releases)