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
和highBitdepth
SVG 输入参数。 - 暴露
keepDuplicateFrames
GIF 输出参数。 - 添加对 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 到最新版本的所有重要变更。每个版本都包含了新功能、错误修复、性能改进和破坏性变更的详细信息。