- (ENHANCEMENT) Node.js engine support updated to
>=18.0.0(tested on Node 24). - (CLEANUP) Replaced Travis CI with GitHub Actions; CI matrix runs on Node 18, 20, 22, and 24.
- (CLEANUP) Dependencies updated to latest within current semver ranges.
- (FIX)
sharp@0.31.2resolves rotation bug. - (FIX) Orientations for 5 & 7 were computed incorrectly.
- (FIX) Fix height calculation error for animated images.
- (ENHANCEMENT) Format (
fm) now supportsgifas output.
- (FIX) Rare crash fix when initializing
sharpif invalid input.
- (FIX)
httpstorage exception.
- (BREAKING)
saliencywas deprecated 2 years ago, and is now removed.
- (ENHANCEMENT)
fallbackstorage option to support multi-tiered storage architectures.
- (SECURITY) Do not track "author".
- (SECURITY) All dependencies updated with latest security patches.
- (SECURITY) All dependencies updated with latest security patches.
- (CLEANUP) Removal of unused
jscs&jshintdeps, addition ofprettier, and updates to Travis CI config.
- (ENHANCEMENT) Default resize limits increased from 2K to 4K resolution. Default
optimized original size remains unchanged (2K), so this primarily benefits special
usage of
?useOriginal=true. - (BUG FIX) When
?useOriginal=trueis supplied the hash will reflect this modification to permit the same operations generating unique artifacts. Primarily benefits the above enhancement.
- (ENHANCEMENT) Support for
avifcompression format, enabled by default for supporting browsers. Optimized originals will remainwebpfor the time being.
- (ENHANCEMENT) Support for
route.beforeProcesscustom handler.
- (FIX) Images rotated prior to optimized original would result in optimized losing their orientation and resulting in unpredictable orientations.
- (MINOR FIX) Support for scoped driver options. This prevents reusing the same driver across apps to avoid polluting of options. This was not a problem with most pre-existing drivers, but will make things safer.
- (ENHANCEMENT) Option to set
isteamEndpoint=trueon thehttpstorage client, allowing multiple regions to be chained together for speed and/or cost savings. This in effect permits multi-layered proxies to drastically reduce the volume of origin hits.
- (ENHANCEMENT) Sharp - Upgrade to latest Sharp (
0.25.3). - (DEPRECATION) Saliency was always experimental. Now it's been deprecated and will be removed in future version. Warning provided at startup.
- (CHANGE)
globalAgent- Option is still adhered to, but no longer defaults to useagentkeepaliveuntil explicitly provided.
- (FEATURE) Direct support for
isteambdriver, removing the need to usehttpproxy mode.
- (FEATURE) Full benchmark suite now available, check it out!
npm i -g image-steam-bench
- (FEATURE)
router.hqOriginalSteps- Support for highest quality optimized originals for smaller images (400x400 by default). Will only impact newly generated OO's. - (FEATURE)
lossless- Option to enable lossless WebP via/llpath.
- (BREAKING)
embed- Removal of deprecated function. - (ENHANCEMENT) Sharp - Upgrade to latest Sharp (
0.22.0).
- (BREAKING)
backgroundis no longer a standalone image operation, which is not in a useful state anyway. - (FEATURE)
extend- New operation allows extending the image. - (ENHANCEMENT)
resize.fit- Resize now allowsfitto be overridden. - (ENHANCEMENT)
resize.position- Resize now allowspositionto be overridden. - (ENHANCEMENT)
resize.background- Permits background to be applied to resize operation when applicable. - (FIX)
+/-on percentage dimensions is now working. Was only working on fixed (px) dimensions prior. - (FIX) Various test fixes.
- (ENHANCEMENT) HTTP Agent - Utilize a more optimized HTTP(S) agent by default, including connection reuse.
- (ENHANCEMENT) Sharp - Upgrade to latest Sharp (
0.21.0) for greater platform support.
- (ENHANCEMENT) Crop auto-focus - Greatly improved accuracy/consistency after being trained with hundreds of thousands of data points, which also allowed for the switch to a far more efficient (~10x) saliency mode (spectral).
- (CONFIGURATION)
router.supportWebP- WebP may not be explicitly disabled, but remains enabled by default to avoid breakages. If performance is critical, disabling this option has been known to speed up image operations by 2 to 4 times. - (FIX) Saliency - Minor fixes to enabling/disabling this feature.
- (FEATURE)
$infocommand - Returns all known information about the image, including saliency (new) if available. - (FEATURE) Crop auto-focus - An experimental new feature to permit saliency-based auto-focus. Exposed by crop anchor=
auto. - (FEATURE)
$saliencycommand - An experimental new feature to permit retrieving of saliency meta data. - (FEATURE)
$saliencyMapcommand - An experimental new feature to permit retrieving of saliency map. - (DEPENDENCIES)
salient-autofocus- Required by the new saliency auto-focus feature.
- (DEPENDENCIES)
sharp- Updated tov0.20which requireslibvipsv8.6.1or later.
- (CONFIGURATION)
storage.cacheArtifacts- Caching of image artifacts may now be disabled.
- (BREAKING) Default StorageOptions - Root of
storageoptions may no longer includeStorageOptions(options supplied to storage driver), and instead must supply tostorage.defaultsinstead. This is a necessary change to avoid polluting the options supplied to storage drivers. - (BREAKING) S3 Storage - Client moved to its own repo: https://github.com/asilvas/image-steam-s3
- (BREAKING) Node - Version 6 and later required.
- (PERFORMANCE)
storage.cacheTTS&storage.cacheOptimizedTTS- Added to support "refreshing" of stale objects in cache to avoid needless reprocessing of images in caches with time-to-live set. - (CONFIGURATION)
storage.cacheOptimized- Added a new caching option to allow discreteStorageOptionssupplied only for optimized original caching. This permits splitting of cache for sake of replication or eviction policies. - (CONFIGURATION)
isDefaults- Commandline argumentisDefaultswas added to allow merging of your own defaults. - (GEO)
storage.replicas- Tunable cache replication beyond what you'd get from storage-native replication settings. Allows for more flexible architectures that span multiple regions.