Sharp更新日志
概述
這是 Sharp 圖像處理庫的完整更新日志,記錄了從 v0.10 到最新版本的所有重要變更。
v0.34 - hat
需要 libvips v8.17.1
v0.34.3 - 2025年7月10日
- 升級到 libvips v8.17.1 以修復上游錯誤。
- 添加"Magic Kernel Sharp"(無關聯)到調整大小內核。
- 棄用頂級、格式特定的構造函數參數,例如
subifd變為tiff.subifd。 - 暴露
stylesheet和highBitdepthSVG 輸入參數。 - 暴露
keepDuplicateFramesGIF 輸出參數。 - 添加對 RAW 數碼相機圖像輸入的支持。需要編譯時支持 libraw 的 libvips。
- 在可能的情況下,將 XMP 元數據作為字符串和 Buffer 提供。
- 為動畫圖像添加
pageHeight選項到create和raw輸入。 - 暴露 JPEG 2000
oneshot解碼器選項。 - 支持非 sRGB 管道色彩空間的合成操作。
- 添加
keepXmp和withXmp用於控制輸出 XMP 元數據。
v0.34.2 - 2025年5月20日
- 確保動畫 GIF 到 WebP 轉換保留循環(0.34.0 中的回歸)。
- 確保使用
pdfBackground構造函數屬性。 - 添加對預構建 Windows ARM64 二進制文件的實驗性支持。
- 確保使用
contain的fit調整大小支持多個 alpha 通道。 - TypeScript:確保
metadata響應更接近現實。 - TypeScript:確保
smartDeblock屬性包含在 WebP 定義中。 - 確保支持 Windows 上的寬字符文件名(0.34.0 中的回歸)。
v0.34.1 - 2025年4月7日
- TypeScript:確保新的
autoOrient屬性是可選的。
v0.34.0 - 2025年4月4日
- 破壞性變更:支持要連接或動畫的輸入圖像數組。
- 破壞性變更:確保
removeAlpha移除所有 alpha 通道。 - 破壞性變更:非動畫 GIF 輸出默認為無循環而不是永久循環。
- 破壞性變更:通過升級到 C++17 支持寬字符系統上的
info.size。 - 破壞性變更:確保
background元數據可以被color包解析。 - 添加
isPalette和bitsPerSample到元數據,棄用paletteBitDepth。 - 暴露 WebP
smartDeblock輸出選項。 - 防止使用 v1 微架構的 linux-x64 二進制文件。
- 添加
autoOrient操作和構造函數選項。 - TypeScript:確保通道計數使用正確的范圍。
- 改進對 ppc64le 架構的支持。
- 添加
pdfBackground構造函數屬性。 - 暴露腐蝕和膨脹操作。
- 添加對 RGBE 圖像的支持。需要編譯時支持 radiance 的 libvips。
- 允許在更高位深度下輸出寬色域 HEIF。
v0.33 - gauge
需要 libvips v8.15.3
v0.33.5 - 2024年8月16日
- 升級到 libvips v8.15.3 以修復上游錯誤。
- 添加
pageHeight和pages到多頁輸出的響應。 - 確保強制使用全局安裝的 libvips 的選項正常工作。
- 最小化使用
engines屬性以改進 yarn v1 支持。 - 確保
sharp.format.heif在使用預構建二進制文件時僅包含 AVIF。 - 為 recomb 操作添加對 4x4 矩陣的支持。
- 將 PNG 文本塊暴露為
comments元數據。 - 暴露
blur操作的可選precision和minAmplitude參數。 - 確保
keepIccProfile在可能的情況下避免色彩轉換。 - TypeScript:
chromaSubsampling元數據是可選的。
v0.33.4 - 2024年5月16日
- 移除
pipelineColourspace的實驗狀態。 - 當檢測到 musl 線程過度訂閱時減少默認並發性。
- TypeScript:添加缺失的
OverlayOptions定義。 - 安裝:添加強制使用全局安裝的 libvips 的高級選項。
- 暴露
bilinear調整大小內核(和插值器)。 - 確保
extend操作對多頁 TIFF 保持順序(0.32.0 中的回歸)。 - 收緊構造函數
text整數屬性的驗證。 - 簡化內部 StaySequential 邏輯。
- 確保否定操作在配置文件轉換後發生。
v0.33.3 - 2024年3月23日
- 升級到 libvips v8.15.2 以修復上游錯誤。
- 確保
keepIccProfile保留 P3 和 CMYK 輸入配置文件。 - 確保
text.wrap屬性可以接受word-char作為值。 - 確保
clone對現有選項進行深度復制。 - 為
heif輸出添加bitdepth選項(預構建二進制文件僅支持 8 位)。
v0.33.2 - 2024年1月12日
- 升級到 libvips v8.15.1 以修復上游錯誤。
- TypeScript:添加
keepMetadata的定義。 - 確保
extend操作在復制時保持順序(0.32.0 中的回歸)。 - 改進對不支持的多頁旋轉的錯誤處理。
v0.33.1 - 2023年12月17日
- 添加對 Yarn Plug'n'Play 文件系統布局的支持。
- 在嘗試使用無效 ICC 配置文件時發出警告。
- 確保尊重
VIPS_NOVECTOR環境變量。
v0.33.0 - 2023年11月29日
- 放棄對 Node.js 14 和 16 的支持,現在需要 Node.js ^18.17.0 或 >= 20.3.0
- 預構建二進制文件通過 npm 注冊表分發並通過包管理器安裝。
- 從源代碼構建需要依賴
node-addon-api。 - 移除
sharp.vendor。 - 部分棄用
withMetadata(),使用withExif()和withIccProfile()。 - 添加對基於 WebAssembly 運行時的實驗性支持。
trim操作的選項必須是對象,添加新的lineArt選項。- 使用加權函數改進
tint操作的亮度。 - 確保所有
Error對象都包含stack屬性。 - 使
heif的compression選項成為必需,以幫助減少 HEIF vs HEIC 混淆。 - 確保正確解釋 16 位原始輸入。
- 添加對使用 TIFF 輸出時
miniswhite的支持。 - TypeScript:添加缺失的
withMetadata布爾定義。 - 添加對輸出元數據的更精細控制。
- 確保多頁提取保持順序。
v0.32 - flow
需要 libvips v8.14.5
v0.32.6 - 2023年9月18日
- 升級到 libvips v8.14.5 以修復上游錯誤。
- 確保合成平鋪圖像完全解碼(0.32.0 中的回歸)。
- 確保
withMetadata可以向 RGB16 輸出添加 ICC 配置文件。 - 確保
withMetadata不會將 16 位圖像減少到 8 位(0.32.5 中的回歸)。 - TypeScript:添加 block 和 unblock 的定義。
v0.32.5 - 2023年8月15日
- 升級到 libvips v8.14.4 以修復上游錯誤。
- TypeScript:添加缺失的
WebpPresetEnum到定義中。 - 確保使用 musl v1.2.4 編譯。
- 確保使用
inside的fit調整大小尊重 90/270 度旋轉。 - TypeScript:確保
WebpOptions的minSize屬性是布爾值。 - 確保
withMetadata添加默認 sRGB 配置文件。
v0.32.4 - 2023年7月21日
- 升級到 libvips v8.14.3 以修復上游錯誤。
- 暴露按名稱(取消)阻止低級 libvips 操作的能力。
- 預構建二進制文件:恢復對基於平鋪輸出的支持。
早期版本
v0.31 - eagle
需要 libvips v8.13.3
v0.30 - dresser
需要 libvips v8.12.2
v0.29 - circle
需要 libvips v8.11.4
v0.28 - bijou
需要 libvips v8.10.6
v0.27 - avif
需要 libvips v8.9.2
v0.26 - zoom
需要 libvips v8.8.3
v0.25 - yield
需要 libvips v8.7.4
v0.24 - "wit"
需要 libvips v8.6.3
v0.23 - "vision"
需要 libvips v8.5.2
v0.22 - "uptake"
需要 libvips v8.4.5
v0.21 - "teeth"
需要 libvips v8.3.3
v0.20 - "prebuild"
需要 libvips v8.2.2
v0.19 - "suit"
需要 libvips v8.1.2
v0.18 - "ridge"
需要 libvips v8.0.2
v0.17 - "quill"
需要 libvips v7.1.0
v0.16 - "pencil"
需要 libvips v7.0.0
v0.15 - "outfit"
需要 libvips v6.1.0
v0.14 - "needle"
需要 libvips v6.0.0
v0.13 - "mind"
需要 libvips v5.0.0
v0.12 - "look"
需要 libvips v4.0.0
v0.11 - "knife"
需要 libvips v3.0.0
v0.10 - "judgment"
需要 libvips v2.0.0
此更新日志記錄了 Sharp 庫從 v0.10 到最新版本的所有重要變更。每個版本都包含了新功能、錯誤修復、性能改進和破壞性變更的詳細信息。