Update dependency Nuke to v13.2.0 - #1356
Open
renovate[bot] wants to merge 1 commit into
Open
Conversation
renovate
Bot
force-pushed
the
renovate/nuke-13.x
branch
from
August 15, 2026 20:07
cb8ca60 to
77ac5f0
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
13.0.6→13.2.0Warning
Some dependencies could not be looked up. Check the Dependency Dashboard for more information.
Release Notes
kean/Nuke (Nuke)
v13.2.0Compare Source
Aug 15, 2026
AssetType/utTypeandAssetType/init(_:)for bridging to and fromUTTypeAssetType/bmp,AssetType/tiff,AssetType/jpeg2000, andAssetType/jxl. Image I/O decodes these formats, butAssetType/init(_:)didn't recognize them, soImageContainer/typewasnilAssetType/init(_:)detecting GIF from the first three bytes instead of the completeGIF87a/GIF89asignature, which kept the original data in the memory cache for the files that merely started withGIFAssetType/webp,AssetType/mp4,AssetType/m4v, andAssetType/movusing the identifiers that the system doesn't declare, so they didn't bridge to aUTTypemp42major brand being detected asAssetType/m4vftypbox, which adds the remaining MP4, M4V, and HEIC brandsisResetEnabledistrueonLazyImageViewby @nathantannar4 in #884ImagePipeline.Cache.storeCachedImage(_:for:caches:)storing image previews in the disk cache, so a progressive scan passed to it was later delivered as a completed image – #885ImageProcessors.Resizeignoringupscalewhencropistrue, which enlarged the image beyond its native resolution – #886fileanddataURL schemes being matched case-sensitively, soFILE:///…andData:…URLs skipped the local resource fast path and had their contents copied into the data cache – #887CGContextcreation converted the dimensions withInt(_:), which traps on NaN and infinity – #888ImageDecoders/Defaultgenerating GIF previews even when the preview policy isImagePipeline/PreviewPolicy/disabled– #892ImageProcessors/GaussianBlurblurring the image with a radius of0or less instead of returning it unchanged. The radius was clamped to a minimum of2, so every radius in0...2also rendered identically under different cache keys – #893ImageProcessingOptions/Borderproducing the same identifier for every color with no sRGB representation, e.g. a pattern color. The components are now also clamped to0...1, which used to produce malformed hex for wide-gamut colors on iOS – #891DataLoader/delegatenever receivingurlSession(_:didCreateTask:)on macOS and Mac Catalyst, where the forwarding was compiled out – #895ImageProcessors/GaussianBlurtagging opaque images with an alpha channel, which madeImageEncoders/Defaultencode blurred photos as PNG instead of JPEG or HEIC – #896v13.1.0Compare Source
Aug 9, 2026
GaussianBlurcrash on grayscale images by @Delarkz in #880ImageDecoderRegistry.unregister(_:).register(_:)now returns a discardableRegistrationTokenfor removing an individual decoder instead of clearing the entire registryImageDecoderRegistry.register(_:)now takes a@Sendableclosure. The registry is shared between the pipelines and the closures are called on the decoding threadsImageDecoderRegistrywheredecoder(for:)iterated the registered decoders without holding the lock. The registry is now backed byMutexand isSendableinstead of@unchecked Sendabledata(for:), local resources,.returnCacheDataDontLoadmisses, and malformed URLs) were never removed from the pipeline, retaining their responses for its lifetimeImageTask.Event.startedbeing delivered toImagePipeline.Delegateafter.finishedfor requests that finish synchronouslyDataLoadercallingcompletiontwice when response validation fails, violating theDataLoadingcontractImagePipeline.Delegate.willLoadData(for:urlRequest:pipeline:)was suspended still running the download to completion, discarding the result and occupying a slot indataLoadingQueueImageRequest.Options.skipDataLoadingQueuenot cancelling the underlyingTask, leaving an asyncwillLoadDataor a customdatafetch closure running after cancellationImageDecoders.Emptynot marking the containers returned bydecodePartiallyDownloadedData(_:)as previews, so the truncated data was stored in the caches and delivered as a completed response on the subsequent cache hitsImageProcessors.CoreImageFiltersharing a single mutableCIFilterbetween concurrently processed images.CIFilteris not thread-safe, so the processor could produce an image from another request's input and cache it under the wrong key. It now applies a copy of the filterImageProcessingOptions.Unit.pointsbeing read once and cached for the lifetime of the process.UITraitCollection.currentreports a0display scale outside of the contexts managed by UIKit, so if the first points-basedImageRequestwas created on a background thread, every subsequent resize failed withprocessingFailedand the point-based border widths and corner radii became0ImageProcessingOptions.Borderis created with anNSColoroutside an RGB colorspace, including.black,.white, and the catalog colors such as.labelColor. UnlikeUIColor,NSColorraises fromgetRed(_:green:blue:alpha:)instead of converting on the fly, so merely reading the processoridentifierterminated the process. The color is now converted to sRGB firstImagePrefetcher.stopPrefetching(with:)andImagePrefetcher.stopPrefetching()doing nothing for the prefetches that were scheduled but haven't started yet. In the standard collection view pattern, the requests ran the entire download/decode/cache cycle anywayImagePrefetcher.prioritynot reaching the prefetches that were scheduled but haven't started yet. They kept the priority frozen in their original requests and eventually did the actual work at the old priorityFetchImage.load(_:)delivering a result after the load was cancelled or superseded, overwriting the state of the newer loadLazyImagewith thelowerPrioritydisappear behavior permanently lowering the priority of its requests after the view goes off-screen. The override wasn't reset when the view reappearedLazyImageViewstacking the views created bymakeImageView. A view was added for every displayed response without removing the previous one, so the orphaned views survived cell reuse, covered the newer content, and retained their imagesConfiguration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.