Alamofire/AlamofireImage
48.7
Weak · 30 September 2026
3.3k
lines of production code
Swift
primary language
2
measurements over time
What this system is
AlamofireImage is a Swift framework that extends Alamofire to simplify asynchronous image downloading, caching, and processing for Apple platforms. It provides utilities for managing parallel image requests with memory caching, applying various image filters, and integrating directly into UI components like UIImageView and UIButton. The system supports modern image formats and includes comprehensive tooling for testing and integration across iOS, macOS, tvOS, visionOS, and watchOS.
Features
Initial release of AlamofireImage framework
This change introduces the initial version of the AlamofireImage library, providing a comprehensive set of extensions for handling image downloads and processing. It includes an \ImageDownloader\ for managing parallel, prioritized image requests with caching, an \AutoPurgingImageCache\ for in-memory storage, and a flexible \ImageFilter\ system supporting dynamic, composite, and platform-specific filters (such as scaling and rounding). The framework adds convenient extensions to \UIImageView\ and \UIButton\ for asynchronous image loading with placeholder support, progress tracking, and completion handlers, alongside a \Request+AlamofireImage\ extension that integrates image response serialization directly into Alamofire requests. It also defines a dedicated \AFIError\ type for robust error handling and supports a wide range of modern image formats including HEIC, WebP, AVIF, and JPEG XL.
Source · high confidence
New iOS example app for AlamofireImage
The Example directory now contains a complete, standalone iOS application demonstrating AlamofireImage usage. This includes a collection-view-based gallery that loads random Gravatar images with placeholders, a detail view for individual images, and supporting resources like a launch screen and app icon assets. The app is built in Swift and serves as a reference implementation for integrating the library.
Example · high confidence
Behavioural changes
Added Xcode workspace configuration and source control settings
The project now includes explicit configuration files for the Xcode workspace, including \IDEWorkspaceChecks.plist\ to suppress 32-bit warnings, \WorkspaceSettings.xcsettings\ to control context creation, and \AlamofireImage.xcscmblueprint\ to define source control working copies and remote repositories for Alamofire and AlamofireImage.
AlamofireImage.xcworkspace/xcshareddata · high confidence
AlamofireImage project structure and test assets updated
The Xcode project file has been regenerated to include the core library sources (ImageCache, ImageDownloader, ImageFilter, and UI extensions for UIImageView and UIButton) and explicitly links against the Alamofire framework. Additionally, the project now includes a comprehensive set of test resources, featuring numerous pre-rendered image assets for various scaling, rounding, and filtering operations to support the test suite.
AlamofireImage.xcodeproj · high confidence
Updated Xcode project schemes and workspace configuration
The Xcode project has been updated to use the modern workspace-based scheme storage format (version 1.7). This change introduces new shared scheme files for the iOS, macOS, tvOS, visionOS, and watchOS framework targets, as well as the iOS Example app. The configuration enables parallel builds, activates code coverage and thread sanitizers for testing, and sets the OS\_ACTIVITY\_MODE environment variable to disable excessive logging on iOS and tvOS targets.
AlamofireImage.xcodeproj/xcshareddata · high confidence
Workspace restructured to link Alamofire dependency externally
The project workspace has been updated to reference the Alamofire library via an external path (Carthage/Checkouts/Alamofire) rather than embedding it as a nested project. This change ensures the workspace correctly links the Alamofire dependency for successful builds.
AlamofireImage.xcworkspace · high confidence
Test coverage
Comprehensive test suite overhaul for AlamofireImage
The test suite has been significantly expanded and modernized to improve coverage and reliability. New test files have been added for ImageCache, ImageDownloader (including stress tests for parallel downloads and cancellation), ImageFilter, and DataRequest extensions, verifying behaviors such as cache management, concurrent download handling, filter identifiers, and support for modern image formats like AVIF and WebP. Helper infrastructure has been updated with a new BaseTestCase, AFError/AFResult extensions for easier assertion, and platform-specific test plans (iOS, macOS, tvOS, visionOS, watchOS) that enable thread sanitizers. Existing tests have been refactored to align with current coding standards and Swift guidelines.
Tests · high confidence
Dependencies
AlamofireImage 4.4.0 release with Swift 6 and Alamofire 5.11 support
This release updates the minimum required version of the Alamofire dependency to 5.11 and raises the Swift language requirement to 6.0. It introduces new package manifests ([e-mail redacted], [e-mail redacted], [e-mail redacted]) to support modern Swift tooling and updates the Carthage Cartfile to reflect the new dependency version. Additionally, the project's .gitignore has been updated to ignore Swift Package Manager and Carthage build artifacts, and the LICENSE file has been updated to reflect the Alamofire Software Foundation copyright.
(repo-wide) · high confidence
Dependency and platform configuration updates for AlamofireImage 4.4.0
This release updates the library to version 4.4.0 and aligns its dependencies and platform support. The CocoaPods specification and Swift Package Manager configuration now require Alamofire \~\> 5.11 (resolved to 5.11.2), and the minimum deployment targets have been raised to iOS 12, macOS 10.13, tvOS 12, and watchOS 4. Additionally, the Ruby development environment has been updated to use CocoaPods 1.16.2 and Jazzy 0.15.4.
(dependencies) · high confidence
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
How this codebase got here
Score
- CAI 71 → 49 (-22.2)
- Rubric changed (rubric-2026.09.11 → rubric-2026.09.18) — scores are not directly comparable.
Lenses
- Code Health 97 → 96 (-1.5)
- Architecture 90 → 93 (+2.7)
- Maturity 53 → 53 (+0.0)
- Readiness 80 → 73 (-7.7)
- Security 93 → 96 (+2.8)
- Accessibility 25 (new)
Resolved (4)
- Documentation: no installation or build instructions (README.md)
- Documentation: no installation or build instructions (docs/README.md)
- Documentation: no usage examples (README.md)
- Outdated: cocoapods
New (23)
- AlamofireExtension.setImage (cognitive 24) (Source/UIButton+AlamofireImage.swift)
- Coverage not measured — Swift suite
- Documentation: no project overview (docs/Protocols/ImageCache.html)
- Documentation: no project overview (docs/Protocols/ImageFilter.html)
- Documentation: no project overview (docs/Protocols/ImageRequestCache.html)
- Duplicated block (11 lines × 3) (Source/UIButton+AlamofireImage.swift)
- Duplicated block (16 lines × 2) (Source/UIButton+AlamofireImage.swift)
- Duplicated block (16 lines × 2) (Source/UIButton+AlamofireImage.swift)
- Duplicated block (18 lines × 2) (Source/UIButton+AlamofireImage.swift)
- Duplicated block (18 lines × 2) (Source/UIButton+AlamofireImage.swift)
- Duplicated block (20 lines × 3) (Source/UIButton+AlamofireImage.swift)
- Duplicated block (6 lines × 2) (Source/UIImage+AlamofireImage.swift)
- Duplicated block (7 lines × 8) (Source/UIButton+AlamofireImage.swift)
- Duplicated block (9 lines × 2) (Source/UIImageView+AlamofireImage.swift)
- Duplicated block (9 lines × 2) (Source/UIImageView+AlamofireImage.swift)
- Inconsistent removal API surface. removeImage (singular) takes a URLRequest and optional identifier, while removeImages (plural) takes only a URLRequest. This suggests different behaviors (removing one specific cached item vs removing all items for a URL) but uses similar naming conventions that may confuse users about whether they are removing by key or by URL pattern.
- Low cohesion: AlamofireExtension (LCOM4 5) (Source/UIButton+AlamofireImage.swift)
- Low cohesion: UIButton (LCOM4 6) (Source/UIButton+AlamofireImage.swift)
- Low cohesion: UIImage (LCOM4 7) (Source/UIImage+AlamofireImage.swift)
- Low cohesion: UIImageView (LCOM4 4) (Source/UIImageView+AlamofireImage.swift)
- …and 3 more
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
Alamofire/AlamofireImage was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.
About this page
- The score is its most recent published measurement, taken on 30 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit 490f71307cd48f81d8cc2efd50aeed93e412ff98 — the exact code this score is about.
- Scored under rubric-2026.09.18 — the same rubric and the same method as every other entry in this index.
- Measured by watchdog.canine.dev using codehealth-analyzer preprod-cb25ca4feafa.