Skip to content

Update dependency Nuke to v13.2.0 - #1356

Open
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/nuke-13.x
Open

Update dependency Nuke to v13.2.0#1356
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/nuke-13.x

Conversation

@renovate

@renovate renovate Bot commented Aug 10, 2026

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Type Update Change
Nuke exactVersion minor 13.0.613.2.0

Warning

Some dependencies could not be looked up. Check the Dependency Dashboard for more information.


Release Notes

kean/Nuke (Nuke)

v13.2.0

Compare Source

Aug 15, 2026

  • Add AssetType/utType and AssetType/init(_:) for bridging to and from UTType
  • Add AssetType/bmp, AssetType/tiff, AssetType/jpeg2000, and AssetType/jxl. Image I/O decodes these formats, but AssetType/init(_:) didn't recognize them, so ImageContainer/type was nil
  • Fix AssetType/init(_:) detecting GIF from the first three bytes instead of the complete GIF87a/GIF89a signature, which kept the original data in the memory cache for the files that merely started with GIF
  • Fix AssetType/webp, AssetType/mp4, AssetType/m4v, and AssetType/mov using the identifiers that the system doesn't declare, so they didn't bridge to a UTType
  • Fix MP4 files with the standard mp42 major brand being detected as AssetType/m4v
  • Detect the ISO base media types from the major brand in the ftyp box, which adds the remaining MP4, M4V, and HEIC brands
  • Fix progressive image downloads not completing when isResetEnabled is true on LazyImageView by @​nathantannar4 in #​884
  • Fix ImagePipeline.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 – #​885
  • Fix ImageProcessors.Resize ignoring upscale when crop is true, which enlarged the image beyond its native resolution – #​886
  • Fix the file and data URL schemes being matched case-sensitively, so FILE:///… and Data:… URLs skipped the local resource fast path and had their contents copied into the data cache – #​887
  • Fix a crash when resizing an image to a non-finite size. CGContext creation converted the dimensions with Int(_:), which traps on NaN and infinity – #​888
  • Fix ImageDecoders/Default generating GIF previews even when the preview policy is ImagePipeline/PreviewPolicy/disabled#​892
  • Fix ImageProcessors/GaussianBlur blurring the image with a radius of 0 or less instead of returning it unchanged. The radius was clamped to a minimum of 2, so every radius in 0...2 also rendered identically under different cache keys – #​893
  • Fix ImageProcessingOptions/Border producing the same identifier for every color with no sRGB representation, e.g. a pattern color. The components are now also clamped to 0...1, which used to produce malformed hex for wide-gamut colors on iOS – #​891
  • Fix progressive previews being silently dropped for the rest of the task's lifetime when the cached data fails to decode and the task falls back to loading the image – #​894
  • Fix DataLoader/delegate never receiving urlSession(_:didCreateTask:) on macOS and Mac Catalyst, where the forwarding was compiled out – #​895
  • Fix ImageProcessors/GaussianBlur tagging opaque images with an alpha channel, which made ImageEncoders/Default encode blurred photos as PNG instead of JPEG or HEIC – #​896
  • Fix an outstanding progressive decoding or processing operation not being cancelled when a task fails, leaving it to occupy a queue slot and hold on to the decoded preview until the queue drained past it – #​898
  • Fix a late image response reaching the memory cache after its task had already ended, letting a stale progressive scan overwrite the entry – #​898

v13.1.0

Compare Source

Aug 9, 2026

  • Fix GaussianBlur crash on grayscale images by @​Delarkz in #​880
  • Fix cache initialization for mergeable libraries by @​ZHUOLIN0928 in #​881
  • Add asynchronous image decoding support by @​thliu21 in #​879
  • Add ImageDecoderRegistry.unregister(_:). register(_:) now returns a discardable RegistrationToken for removing an individual decoder instead of clearing the entire registry
  • ImageDecoderRegistry.register(_:) now takes a @Sendable closure. The registry is shared between the pipelines and the closures are called on the decoding threads
  • Fix a data race in ImageDecoderRegistry where decoder(for:) iterated the registered decoders without holding the lock. The registry is now backed by Mutex and is Sendable instead of @unchecked Sendable
  • Fix a leak where requests that finish synchronously (memory cache hits, disk cache hits for data(for:), local resources, .returnCacheDataDontLoad misses, and malformed URLs) were never removed from the pipeline, retaining their responses for its lifetime
  • Fix ImageTask.Event.started being delivered to ImagePipeline.Delegate after .finished for requests that finish synchronously
  • Fix DataLoader calling completion twice when response validation fails, violating the DataLoading contract
  • Fix a request cancelled while ImagePipeline.Delegate.willLoadData(for:urlRequest:pipeline:) was suspended still running the download to completion, discarding the result and occupying a slot in dataLoadingQueue
  • Fix resumable data being lost when a request ended before the server responded. It's now put back if nothing new was downloaded
  • Fix requests with ImageRequest.Options.skipDataLoadingQueue not cancelling the underlying Task, leaving an async willLoadData or a custom data fetch closure running after cancellation
  • Fix progressive previews being permanently disabled when the first downloaded chunk isn't enough to tell that the image supports them, which is common for progressive JPEGs with large EXIF/ICC preambles. The policy is now re-evaluated as more data arrives, but only until it starts producing previews and with a hard cap on the number of attempts
  • Fix ImageDecoders.Empty not marking the containers returned by decodePartiallyDownloadedData(_:) as previews, so the truncated data was stored in the caches and delivered as a completed response on the subsequent cache hits
  • Fix ImageProcessors.CoreImageFilter sharing a single mutable CIFilter between concurrently processed images. CIFilter is 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 filter
  • Fix the screen scale used by ImageProcessingOptions.Unit.points being read once and cached for the lifetime of the process. UITraitCollection.current reports a 0 display scale outside of the contexts managed by UIKit, so if the first points-based ImageRequest was created on a background thread, every subsequent resize failed with processingFailed and the point-based border widths and corner radii became 0
  • Fix a crash on macOS when an ImageProcessingOptions.Border is created with an NSColor outside an RGB colorspace, including .black, .white, and the catalog colors such as .labelColor. Unlike UIColor, NSColor raises from getRed(_:green:blue:alpha:) instead of converting on the fly, so merely reading the processor identifier terminated the process. The color is now converted to sRGB first
  • Fix ImagePrefetcher.stopPrefetching(with:) and ImagePrefetcher.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 anyway
  • Fix ImagePrefetcher.priority not 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 priority
  • Fix the async/await variant of FetchImage.load(_:) delivering a result after the load was cancelled or superseded, overwriting the state of the newer load
  • Fix LazyImage with the lowerPriority disappear behavior permanently lowering the priority of its requests after the view goes off-screen. The override wasn't reset when the view reappeared
  • Fix LazyImageView stacking the views created by makeImageView. 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 images

Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 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.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate
renovate Bot force-pushed the renovate/nuke-13.x branch from cb8ca60 to 77ac5f0 Compare August 15, 2026 20:07
@renovate renovate Bot changed the title Update dependency Nuke to v13.1.0 Update dependency Nuke to v13.2.0 Aug 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants