safe_image 0.4.0 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +40 -0
- data/lib/safe_image/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 29ce0a1f4932ad1cf1dd7e47c6ae9b29009a7d2d63d54e350ec62feb1dc09e22
|
|
4
|
+
data.tar.gz: 2bd28448920dc859ddb8e5a0703d51163aee702807184971b8bcea594fd36fec
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: c756eb00ec11291985e5b9f6f573abf19399c0592e1e7d390e9239e29d359893432f55a86283441d22e22bd6a3b0d0f98b3886735d73737c809937320220b0ca
|
|
7
|
+
data.tar.gz: 2b7b4e9d309a6184a9881010eb058990eb4b86b293ca717c26f12d89cc9310fa8dc03a8bb9dcbeb6071840529a86f0d68726cda8715602d46ab1bc7bb80f8aae
|
data/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,46 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [0.5.0 - 2026-06-22]
|
|
9
|
+
|
|
10
|
+
### Changed
|
|
11
|
+
|
|
12
|
+
- **The `:vips` backend now runs libvips in the bundled native helper process.**
|
|
13
|
+
Ruby no longer loads libvips into the application process for probing,
|
|
14
|
+
thumbnailing, converting, orientation, dominant-color, ICO pixel extraction,
|
|
15
|
+
or letter-avatar generation. The helper exposes only the operations Safe Image
|
|
16
|
+
calls, blocks unsafe libvips operations/loaders, and fails closed when the
|
|
17
|
+
helper is unavailable; there is still no fallback from `:vips` to
|
|
18
|
+
ImageMagick.
|
|
19
|
+
- **Sandboxing now uses the public Landlock API around helper/tool processes.**
|
|
20
|
+
The previous Ruby zygote/worker sandbox plumbing was removed in favour of
|
|
21
|
+
simpler process execution with explicit read/write/execute allowlists and the
|
|
22
|
+
existing rlimits/network-deny posture.
|
|
23
|
+
- **Operation dispatch was simplified.** Transform and metadata operations now
|
|
24
|
+
dispatch directly to backend operation classes, removing an internal
|
|
25
|
+
forwarding layer while preserving the public API.
|
|
26
|
+
- **PNG optimization now mirrors Discourse's ordering.** Safe Image runs a
|
|
27
|
+
lossless PNG optimizer first, then optionally runs `pngquant` for small lossy
|
|
28
|
+
PNG optimization attempts. `oxipng` remains preferred when installed, with
|
|
29
|
+
`optipng` accepted as a packaged fallback.
|
|
30
|
+
|
|
31
|
+
### Added
|
|
32
|
+
|
|
33
|
+
- Added a shared metadata result builder to keep SVG, ICO, vips, and
|
|
34
|
+
ImageMagick metadata probe results consistent.
|
|
35
|
+
- Added a `native:build` rake task and made `rake test` build/install the
|
|
36
|
+
`safe_image_vips_helper` binary before running the test suite.
|
|
37
|
+
|
|
38
|
+
### Fixed
|
|
39
|
+
|
|
40
|
+
- Fixed source-tree and CI test runs where `SafeImage.configure!(backend:
|
|
41
|
+
:vips)` failed because `lib/safe_image/safe_image_vips_helper` had not been
|
|
42
|
+
built yet.
|
|
43
|
+
- Fixed CI setup order so libvips development headers are installed before
|
|
44
|
+
bundler/native build steps run.
|
|
45
|
+
- Fixed CI portability by avoiding an apt dependency on unavailable `oxipng`
|
|
46
|
+
packages; CI now uses packaged `optipng` for PNG lossless optimizer coverage.
|
|
47
|
+
|
|
8
48
|
## [0.4.0 - 2026-06-18]
|
|
9
49
|
|
|
10
50
|
### Removed (breaking)
|
data/lib/safe_image/version.rb
CHANGED