Swiftpack.co - Search 16,220 Swift Packages

We do our best to crawl github for new packages, but you can also register a package manually.

jonrohan Something's broken? Yell at me @ptrpavlik. Praise and feedback (and money) is also welcome.

The Best of Last 7 Days

grpc/grpc v1.59.0-pre1
The C based gRPC (C++, Python, Ruby, Objective-C, PHP, C#)
⭐️ 39,081
🕓 8 hours ago
🔖 Release Notes

Releases

The markdown parsing is broken/disabled for release notes. Sorry about that, I'm chasing the source of a crash that's been bringing this website down for the last couple of days.
Release v1.59.0-pre1
12 hours ago
This is a prerelease of gRPC Core 1.59.0 (generative). For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases). This prerelease contains refinements, improvements, and bug fixes.
Release v1.58.1
1 week ago
This is release 1.58.1 ([goku](https://github.com/grpc/grpc/blob/master/doc/g_stands_for.md)) of gRPC Core. For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases). This release is primarily for gRPC C++ to support c-ares 1.14. Core / C++ --- - Reintroduced c-ares 1.14 or later support #34314
Release v1.58.0
2 weeks ago
This is release 1.58.0 ([goku](https://github.com/grpc/grpc/blob/master/doc/g_stands_for.md)) of gRPC Core. For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases). This release contains refinements, improvements, and bug fixes, with highlights listed below. Core --- - gRPC 1.58 starts to require c-ares 1.18 or later. - [Deps] Update boringssl 202308211007. ([#34115](https://github.com/grpc/grpc/pull/34115)) - [pick_first] de-experiment pick first. ([#34054](https://github.com/grpc/grpc/pull/34054)) - [build metadata] Bazel to "other build systems" improvements. ([#33803](https://github.com/grpc/grpc/pull/33803)) - [Deps] Update abseil to 20230802. ([#33974](https://github.com/grpc/grpc/pull/33974)) - [c-ares DNS resolver] Fix file descriptor use-after-close bug when c-ares writes succeed but subsequent read fails. ([#33871](https://github.com/grpc/grpc/pull/33871)) C++ --- - [docs] Document Alarm thread-safety guarantees. ([#34092](https://github.com/grpc/grpc/pull/34092)) - Added OpenSSL 3.0 (LTS) support via custom CMake builds (the default is still BoringSSL) Python --- - [Bazel] Enable grpcio-reflection to be used via Bazel. ([#31013](https://github.com/grpc/grpc/pull/31013)) - [packaging] Publish xds-protos as part of the standard package pipeline. ([#33797](https://github.com/grpc/grpc/pull/33797)) Ruby --- - [ruby] update google auth to ~> 1.0. ([#34013](https://github.com/grpc/grpc/pull/34013)) - [Ruby] set metadata_sent after call success. ([#33998](https://github.com/grpc/grpc/pull/33998)) - [ruby] remove unnecessary background thread startup wait logic that interferes with forking. ([#33805](https://github.com/grpc/grpc/pull/33805))
Release v1.58.0-pre1
4 weeks ago
This is a prerelease of gRPC Core 1.58.0 (goku). For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases). This prerelease contains refinements, improvements, and bug fixes.
Release v1.57.0
7 weeks ago
This is release 1.57.0 ([grounded](https://github.com/grpc/grpc/blob/master/doc/g_stands_for.md)) of gRPC Core. For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases). This release contains refinements, improvements, and bug fixes, with highlights listed below. Core --- - [EventEngine] Change `GetDNSResolver` to return `absl::StatusOr<std::unique_ptr<DNSResolver>>`. ([#33744](https://github.com/grpc/grpc/pull/33744)) - [deps] Remove libuv dependency. ([#33748](https://github.com/grpc/grpc/pull/33748)) - [ssl] Fix SSL stack to handle large handshake messages whose length exceeds the BIO buffer size. ([#33638](https://github.com/grpc/grpc/pull/33638)) - [BoringSSL] Update third_party/boringssl-with-bazel. ([#33690](https://github.com/grpc/grpc/pull/33690)) - [iomgr][EventEngine] Improve server handling of file descriptor exhaustion. ([#33656](https://github.com/grpc/grpc/pull/33656)) - [ruby] experimental client side fork support. ([#33430](https://github.com/grpc/grpc/pull/33430)) - [core] Add a channel argument to set DSCP on streams. ([#28322](https://github.com/grpc/grpc/pull/28322)) - [xDS LB] xDS pick first support. ([#33540](https://github.com/grpc/grpc/pull/33540)) - [tls] Remove use of SSL_CTX_set_client_CA_list for TLS server credentials. ([#33558](https://github.com/grpc/grpc/pull/33558)) - [EventEngine] Simplify `EventEngine::DNSResolver` API. ([#33459](https://github.com/grpc/grpc/pull/33459)) - [iomgr][Windows] Return proper error code to client when connection is reset. ([#33502](https://github.com/grpc/grpc/pull/33502)) - [fork] simplify Fork::SetResetChildPollingEngineFunc to fix nested forking. ([#33495](https://github.com/grpc/grpc/pull/33495)) - [lb pick_first] Enable random shuffling of address list. ([#33254](https://github.com/grpc/grpc/pull/33254)) - [HTTP2] Fix inconsistencies in keepalive configuration. ([#33428](https://github.com/grpc/grpc/pull/33428)) - [c-ares] Upgrade c-ares dependency to 1.19.1. ([#33392](https://github.com/grpc/grpc/pull/33392)) - [Rls] de-experimentalize RLS in XDS. ([#33290](https://github.com/grpc/grpc/pull/33290)) C++ --- - [otel] Add bazel dependency. ([#33548](https://github.com/grpc/grpc/pull/33548)) C# --- - [csharp] Include correct build of Grpc.Tools in nightly packages. ([#33595](https://github.com/grpc/grpc/pull/33595)) - [csharp] reintroduce base_namespace experimental option to C# (with a patch). ([#33535](https://github.com/grpc/grpc/pull/33535)) Objective-C --- - [Protobuf] Upgrade third_party/protobuf to 23.4. ([#33695](https://github.com/grpc/grpc/pull/33695)) Python --- - [posix] Enable systemd sockets for libsystemd>=233. ([#32671](https://github.com/grpc/grpc/pull/32671)) - [python O11Y] Initial Implementation. ([#32974](https://github.com/grpc/grpc/pull/32974)) Ruby --- - [ruby] experimental client side fork support ([#33430](https://github.com/grpc/grpc/pull/33430)) - [ruby] backport "[ruby] remove unnecessary background thread startup wait logic that interferes with forking #33805" to v1.57.x. ([#33846](https://github.com/grpc/grpc/pull/33846)) - [Ruby] remove manual strip in ruby ext conf. ([#33641](https://github.com/grpc/grpc/pull/33641)) - [ruby] simplify shutdown; remove unnecessary attempts at grpc_shutdown. ([#33674](https://github.com/grpc/grpc/pull/33674)) - [ruby] Add `-weak_framework CoreFoundation` to link line. ([#33538](https://github.com/grpc/grpc/pull/33538)) - [Ruby] Fix memory leak in grpc_rb_call_run_batch. ([#33368](https://github.com/grpc/grpc/pull/33368)) - [Ruby] Fix memory leak in grpc_rb_server_request_call. ([#33371](https://github.com/grpc/grpc/pull/33371))
Release v1.55.3
8 weeks ago
This is release 1.55.3 ([grandslam](https://github.com/grpc/grpc/blob/master/doc/g_stands_for.md)) of gRPC Core. For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases). This release contains refinements, improvements, and bug fixes, with highlights listed below. Core --- - [backport][iomgr][EventEngine] Improve server handling of file descriptor exhaustion by @drfloob in https://github.com/grpc/grpc/pull/33669 Python --- - [iOS] Disable posix polling on iOS (#33094) by @gnossen in https://github.com/grpc/grpc/pull/33326
Release v1.54.3
8 weeks ago
This is release 1.54.3 ([gracious](https://github.com/grpc/grpc/blob/master/doc/g_stands_for.md)) of gRPC Core. For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases). This release contains refinements, improvements, and bug fixes, with highlights listed below. Core --- * [backport][iomgr][EventEngine] Improve server handling of file descriptor exhaustion by @drfloob in https://github.com/grpc/grpc/pull/33670
Release v1.53.2
8 weeks ago
This is release gRPC Core 1.53.2 (glockenspiel). For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases). This release contains refinements, improvements, and bug fixes. Core --- - [backport][iomgr][EventEngine] Improve server handling of file descriptor exhaustion by @drfloob in https://github.com/grpc/grpc/pull/33672
Release v1.57.0-pre1
9 weeks ago
This is a prerelease of gRPC Core 1.57.0 (grounded). For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases). This prerelease contains refinements, improvements, and bug fixes.
Release v1.56.2
10 weeks ago
This is release gRPC Core 1.56.2 (galvanized). For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases). This release contains refinements, improvements, and bug fixes. Core --- - [WRR] backport ([#33694](https://github.com/grpc/grpc/pull/33694)) to 1.56 ([#33698](https://github.com/grpc/grpc/pull/33698)) - [backport][iomgr][EventEngine] Improve server handling of file descriptor exhaustion ([#33667](https://github.com/grpc/grpc/pull/33667))
SDWebImage/SDWebImage 5.18.2
Asynchronous image downloader with cache support as a UIImageView category
⭐️ 24,684
🕓 5 days ago
🔖 Release Notes

Releases

The markdown parsing is broken/disabled for release notes. Sorry about that, I'm chasing the source of a crash that's been bringing this website down for the last couple of days.
5.18.2 - 5.18 Fix
5 days ago
See [all tickets marked for the 5.18.2 release](https://github.com/SDWebImage/SDWebImage/milestone/121) ### Fixes - Fix the SDDisplayLink on watchOS does not behave like other platform #3607
5.18.1 - Privacy Manifest
2 weeks ago
See [all tickets marked for the 5.18.1 release](https://github.com/SDWebImage/SDWebImage/milestone/120) ### Project - Added the visionOS support for "Build XCFramework" script target #3598 - Added xcprivacy to framework target and SPM #3600 ### Fixes - Fix the JFIF image orientation bug (which does not use EXIF but JFIF metadata) #3597 ### Warnings - Fix one warning because local variable shadows the variable outside of block #3599
5.18.0 - VisionOS and more
3 weeks ago
See [all tickets marked for the 5.18.0 release](https://github.com/SDWebImage/SDWebImage/milestone/119) ### VisionOS - Support to build for visionOS (no package manager support) #3556 - - Note this does not include CocoaPods/SwiftPM support. You need Xcode 15+ Beta to open SDWebImage project and build by yourself ### Features #### UI Category - Added SDWebImageAvoidAutoCancelImage to avoid cancel loading image requests for the same operation key #3592 @mTz0206 - Add better support for stateful view (UIButton) for image URL/progres s state management #3576 #### Downloader - Fix redundant requests for the same url during decoding time #3572 @Mervin1024 #### Decoder - Expose the data and format when SDAnimatedImageRep created with APNG/GIF/WebP/HEICS #3573 - Fix the CGImageCreateScaled to support 16/32 bit depth CGImage (RGB161616) and always preserve pixel format info #3575 ### Fixes - Add extra check for empty data during URLSession data callback #3587
5.17.0 - Reduce RAM with Force Decode
10 weeks ago
See [all tickets marked for the 5.17.0 release](https://github.com/SDWebImage/SDWebImage/milestone/118) ### Performance - Refactory the logic to handle force decode logic to avoid CA copy frame buffer, introduce SDImageForceDecodePolicy detailed control #3559 #3417 - - This fix the issue that non-ImageIO coder (means, WebPCoder) will cause CA to copy bitmap buffers and increase memory usage. - - You can still custom the behavior using the new `SDImageForceDecodePolicy`, defaults to automatic. - For coder plugin who want to opt-in to avoid `CA::copy_image`, use the new `preferredPixelFormat:` and do byte alignment and colorspace convert. ### Fixes - Fix macOS bug that SDImageCoderDecodeScaleDownLimitBytes still use the AnimatedImageRep and beyond the byte limit #3561 - Change macOS `sd_colorAtPoint/sd_colorsWithRect` which may loss colorspace information. Now it correctly convert to sRGB colorspace always. - Fix the CGImageCreateScaled to support 16/32 bit depth CGImage (RGB161616) and always preserve pixel format info #3575
5.16.0 - Limit Bytes && Frame Pool
16 weeks ago
See [all tickets marked for the 5.16.0 release](https://github.com/SDWebImage/SDWebImage/milestone/116) ### Features #### Animated Image - Performance: Introduce frame pool for SDAnimatedImage playback. Solve when multiple image view references the same URL image cause un-wanted decode which waste RAM/CPU #3524 - - Note this currently does not expose the frame pool API. Fire issue if you're facing issues about this change. #### Decoder - Introduce the automatically calculation of thumbnail (include animated/static image) using SDImageCoderDecodeScaleDownLimitBytes #3537 - - This calculation of the UIKit-based animated image frame count as well (only `UIAnimatedImage`, not `SDAnimatedImage`, because `SDAnimatedImage` manage frames dynamically). Fire issue if you're facing issues about this change. - - The `.scaleDownLargeImages` implementation has switched to use this instead of `.thumbnailPixelSize` (5.5.0 - 5.16.0) - - Note this introduce new API and need Coder Plugin update (like WebP/AVIF) ### Documentations - Update some comments to allows SwiftDocC generate better page #3547
5.15.8 - Fix macOS Crash
19 weeks ago
See [all tickets marked for the 5.15.8 release](https://github.com/SDWebImage/SDWebImage/milestone/117) ### Fixes - Try to fix macOS SDDisplayLink crash because of accessing the deallocated objc pointer during CVDisplayLinkRef callback #3531 ### Changes - Update the implementation SDScaledImageForScaleFactor to support SDAnimatedImage #3535
5.15.7 - Fix Crash
20 weeks ago
See [all tickets marked for the 5.15.7 release](https://github.com/SDWebImage/SDWebImage/milestone/115) ### Fixes - Try to solve the strange dispatch group crash in SDSafeExecute by removing inline #3526 ### Performance - Opt when multiple same URLs queried in parallel, which may cause duplicated decode and store disk operation #3523
5.15.6 - Fix watchOS
22 weeks ago
See [all tickets marked for the 5.15.6 release](https://github.com/SDWebImage/SDWebImage/milestone/114) ### Performance - Small improvements to SDDiskCache write perf #3517 - - Note this slightly change the behavior when you manual grab the `SDImageCache.diskCachePath` and remove it without creating new directory, next disk cache write operation will fail, before the restart of App. ### Fixes - Revert the SDDisplayLink for watchOS, fix the animated image duration bug #3520 #3511 ### Warnings - Fix the warning of C function with no param #3519
5.15.5 - Fix
29 weeks ago
See [all tickets marked for the 5.15.5 release](https://github.com/SDWebImage/SDWebImage/milestone/113) ### Fixes - Protect the disk operation when input key is nil and cause exception #3505 #3504 - Fix the blur effect logic by avoid color convert and always use three box-blur methodology #3506
5.15.4 - Hotfix
31 weeks ago
See [all tickets marked for the 5.15.4 release](https://github.com/SDWebImage/SDWebImage/milestone/112) ### Fixes - Fix the crash because of wrong usage of NS_NOESCAPE for SDCallbackQueue async block, should matching DispatchQueue #3500 - - This crash only occurs in specified version of clang compiler. But still recommended to update
iOS macOS watchOS tvOS
airbnb/lottie-ios 4.3.2
An iOS library to natively render After Effects vector animations
⭐️ 24,478
🕓 20 hours ago
🔖 Release Notes

Releases

The markdown parsing is broken/disabled for release notes. Sorry about that, I'm chasing the source of a crash that's been bringing this website down for the last couple of days.
4.3.2
21 hours ago
**Lottie 4.3.0** adds many new features, including: - Official support for SwiftUI! - A public Core Animation `CALayer` subclass - Support for reduced motion - Support for drop shadow layer effects - Support for visionOS You can learn more about Lottie 4.3.0 in this announcement: **[Lottie 4.3.0 now available, with official support for SwiftUI #2189](https://github.com/airbnb/lottie-ios/discussions/2189)** ## Lottie 4.3.2 Lottie 4.3.2 redesigns the `LottiePlaybackMode` playback APIs that were introduced in Lottie 4.3.0. ### Before ```swift // Loop from 0.5 to 1.0 LottieView(animation: myAnimation) .play(.fromProgress(0.5, toProgress: 1.0, loopMode: .loop)) // Pause at the halfway point of the animation LottieView(animation: myAnimation) .play(.progress(0.5)) ``` ### After ```swift // Loop from 0.5 to 1.0 LottieView(animation: myAnimation) .playing(.fromProgress(0.5, toProgress: 1.0, loopMode: .loop)) // Pause at the halfway point of the animation LottieView(animation: myAnimation) .paused(at: .progress(0.5)) ``` ## New Features in Lottie 4.3.0 * Add SwiftUI `LottieView`, which wraps UIKit `LottieAnimationView` * Add SwiftUI `LottieSwitch`, which wraps UIKit `AnimatedSwitch` (https://github.com/airbnb/lottie-ios/pull/2138) * Add SwiftUI `LottieButton`, which wraps `AnimatedButton` (https://github.com/airbnb/lottie-ios/pull/2139) * `AnimatedSwitch` and `AnimatedButton` now support macOS (https://github.com/airbnb/lottie-ios/pull/2138, https://github.com/airbnb/lottie-ios/pull/2139) * Add `LottieAnimationLayer`, a Core Animation `CALayer` subclass for playing Lottie animations (https://github.com/airbnb/lottie-ios/pull/2073) * Add support for rendering drop shadow layer effects (https://github.com/airbnb/lottie-ios/pull/2142) * Add API for playing multiple markers sequentially (https://github.com/airbnb/lottie-ios/pull/2084) * Play "reduced motion" marker if `UIAccessibility.isReduceMotionEnabled` is true (https://github.com/airbnb/lottie-ios/pull/2110) * Update text provider API to use full `AnimationKeypath` values (https://github.com/airbnb/lottie-ios/pull/2183) * Add support for visionOS (https://github.com/airbnb/lottie-ios/pull/2152) * Drop support for Swift 5.5 (https://github.com/airbnb/lottie-ios/pull/2152) * Add contents gravity configuration to `AnimationImageProvider` (https://github.com/airbnb/lottie-ios/pull/2177) * Add support for customizing stroke width values using `FloatValueProvider` (https://github.com/airbnb/lottie-ios/pull/2179) * Adopt `Sendable` to support using Lottie with strict concurrency enabled (https://github.com/airbnb/lottie-ios/pull/2126) * Add `LottiePlaybackMode` to support declarative playback configuration (https://github.com/airbnb/lottie-ios/pull/2128) * Add option make main thread rendering engine force display update on every frame (https://github.com/airbnb/lottie-ios/pull/2168) * Add a option to prevent caching images from `AnimationImageProvider` (https://github.com/airbnb/lottie-ios/pull/2171) * Add support for customizing gradient values using `GradientValueProvider` (https://github.com/airbnb/lottie-ios/pull/2182) * Added additional support for multiple animations in `DotLottieFile` (https://github.com/airbnb/lottie-ios/pull/2074) * Add helper method to initialize `DotLottieFile` with data (https://github.com/airbnb/lottie-ios/pull/2090) ## Bug fixes * Remove `.../ZipFoundation/README.md` from targets and `*.md*` files from podspec (https://github.com/airbnb/lottie-ios/pull/2057)* * Fix issue where layers with negative X scale values could be pixelated (https://github.com/airbnb/lottie-ios/pull/2067) * Fix warnings when building with Swift 5.9 (https://github.com/airbnb/lottie-ios/pull/2072) * Restructure `ValueProviderStore` to not accumulate multiple values for the same key (https://github.com/airbnb/lottie-ios/pull/2082) * Disable bitcode when building XCFramework (https://github.com/airbnb/lottie-ios/pull/2121) * Fix unhandled file warning when building with SPM ([https://github.com/airbnb/lottie-ios/pull/213](https://github.com/airbnb/lottie-ios/pull/2132)) * Fix support for customizing color of `SolidLayer` using `ColorValueProvider` (https://github.com/airbnb/lottie-ios/pull/2154) * Fix issue where shape items could be unexpectedly ignored (https://github.com/airbnb/lottie-ios/pull/2156) * Fix issue where skew keyframes would unexpectedly not animate (https://github.com/airbnb/lottie-ios/pull/2157) * Fix issue where value providers could be ignored when falling back to main thread rendering engine (https://github.com/airbnb/lottie-ios/pull/2164) Thanks to everyone who contributed to this release!
4.3.1
6 days ago
**Lottie 4.3.0** adds many new features, including: - Official support for SwiftUI! - A public Core Animation `CALayer` subclass - Support for reduced motion - Support for drop shadow layer effects - Support for visionOS You can learn more about Lottie 4.3.0 in this announcement: **[Lottie 4.3.0 now available, with official support for SwiftUI #2189](https://github.com/airbnb/lottie-ios/discussions/2189)** Lottie 4.3.1 fixes a small regression introduced by 4.3.0: https://github.com/airbnb/lottie-ios/issues/2193 ## New Features * Add SwiftUI `LottieView`, which wraps UIKit `LottieAnimationView` * Add SwiftUI `LottieSwitch`, which wraps UIKit `AnimatedSwitch` (https://github.com/airbnb/lottie-ios/pull/2138) * Add SwiftUI `LottieButton`, which wraps `AnimatedButton` (https://github.com/airbnb/lottie-ios/pull/2139) * `AnimatedSwitch` and `AnimatedButton` now support macOS (https://github.com/airbnb/lottie-ios/pull/2138, https://github.com/airbnb/lottie-ios/pull/2139) * Add `LottieAnimationLayer`, a Core Animation `CALayer` subclass for playing Lottie animations (https://github.com/airbnb/lottie-ios/pull/2073) * Add support for rendering drop shadow layer effects (https://github.com/airbnb/lottie-ios/pull/2142) * Add API for playing multiple markers sequentially (https://github.com/airbnb/lottie-ios/pull/2084) * Play "reduced motion" marker if `UIAccessibility.isReduceMotionEnabled` is true (https://github.com/airbnb/lottie-ios/pull/2110) * Update text provider API to use full `AnimationKeypath` values (https://github.com/airbnb/lottie-ios/pull/2183) * Add support for visionOS (https://github.com/airbnb/lottie-ios/pull/2152) * Drop support for Swift 5.5 (https://github.com/airbnb/lottie-ios/pull/2152) * Add contents gravity configuration to `AnimationImageProvider` (https://github.com/airbnb/lottie-ios/pull/2177) * Add support for customizing stroke width values using `FloatValueProvider` (https://github.com/airbnb/lottie-ios/pull/2179) * Adopt `Sendable` to support using Lottie with strict concurrency enabled (https://github.com/airbnb/lottie-ios/pull/2126) * Add `LottiePlaybackMode` to support declarative playback configuration (https://github.com/airbnb/lottie-ios/pull/2128) * Add option make main thread rendering engine force display update on every frame (https://github.com/airbnb/lottie-ios/pull/2168) * Add a option to prevent caching images from `AnimationImageProvider` (https://github.com/airbnb/lottie-ios/pull/2171) * Add support for customizing gradient values using `GradientValueProvider` (https://github.com/airbnb/lottie-ios/pull/2182) * Added additional support for multiple animations in `DotLottieFile` (https://github.com/airbnb/lottie-ios/pull/2074) * Add helper method to initialize `DotLottieFile` with data (https://github.com/airbnb/lottie-ios/pull/2090) ## Bug fixes * Remove `.../ZipFoundation/README.md` from targets and `*.md*` files from podspec (https://github.com/airbnb/lottie-ios/pull/2057)* * Fix issue where layers with negative X scale values could be pixelated (https://github.com/airbnb/lottie-ios/pull/2067) * Fix warnings when building with Swift 5.9 (https://github.com/airbnb/lottie-ios/pull/2072) * Restructure `ValueProviderStore` to not accumulate multiple values for the same key (https://github.com/airbnb/lottie-ios/pull/2082) * Disable bitcode when building XCFramework (https://github.com/airbnb/lottie-ios/pull/2121) * Fix unhandled file warning when building with SPM ([https://github.com/airbnb/lottie-ios/pull/213](https://github.com/airbnb/lottie-ios/pull/2132)) * Fix support for customizing color of `SolidLayer` using `ColorValueProvider` (https://github.com/airbnb/lottie-ios/pull/2154) * Fix issue where shape items could be unexpectedly ignored (https://github.com/airbnb/lottie-ios/pull/2156) * Fix issue where skew keyframes would unexpectedly not animate (https://github.com/airbnb/lottie-ios/pull/2157) * Fix issue where value providers could be ignored when falling back to main thread rendering engine (https://github.com/airbnb/lottie-ios/pull/2164) Thanks to everyone who contributed to this release!
4.3.0
1 week ago
**Lottie 4.3.0** adds many new features, including: - Official support for SwiftUI! - A public Core Animation `CALayer` subclass - Support for reduced motion - Support for drop shadow layer effects - Support for visionOS You can learn more about Lottie 4.3.0 in this announcement: **[Lottie 4.3.0 now available, with official support for SwiftUI #2189](https://github.com/airbnb/lottie-ios/discussions/2189)** ## New Features * Add SwiftUI `LottieView`, which wraps UIKit `LottieAnimationView` * Add SwiftUI `LottieSwitch`, which wraps UIKit `AnimatedSwitch` (https://github.com/airbnb/lottie-ios/pull/2138) * Add SwiftUI `LottieButton`, which wraps `AnimatedButton` (https://github.com/airbnb/lottie-ios/pull/2139) * `AnimatedSwitch` and `AnimatedButton` now support macOS (https://github.com/airbnb/lottie-ios/pull/2138, https://github.com/airbnb/lottie-ios/pull/2139) * Add `LottieAnimationLayer`, a Core Animation `CALayer` subclass for playing Lottie animations (https://github.com/airbnb/lottie-ios/pull/2073) * Add support for rendering drop shadow layer effects (https://github.com/airbnb/lottie-ios/pull/2142) * Add API for playing multiple markers sequentially (https://github.com/airbnb/lottie-ios/pull/2084) * Play "reduced motion" marker if `UIAccessibility.isReduceMotionEnabled` is true (https://github.com/airbnb/lottie-ios/pull/2110) * Update text provider API to use full `AnimationKeypath` values (https://github.com/airbnb/lottie-ios/pull/2183) * Add support for visionOS (https://github.com/airbnb/lottie-ios/pull/2152) * Drop support for Swift 5.5 (https://github.com/airbnb/lottie-ios/pull/2152) * Add contents gravity configuration to `AnimationImageProvider` (https://github.com/airbnb/lottie-ios/pull/2177) * Add support for customizing stroke width values using `FloatValueProvider` (https://github.com/airbnb/lottie-ios/pull/2179) * Adopt `Sendable` to support using Lottie with strict concurrency enabled (https://github.com/airbnb/lottie-ios/pull/2126) * Add `LottiePlaybackMode` to support declarative playback configuration (https://github.com/airbnb/lottie-ios/pull/2128) * Add option make main thread rendering engine force display update on every frame (https://github.com/airbnb/lottie-ios/pull/2168) * Add a option to prevent caching images from `AnimationImageProvider` (https://github.com/airbnb/lottie-ios/pull/2171) * Add support for customizing gradient values using `GradientValueProvider` (https://github.com/airbnb/lottie-ios/pull/2182) * Added additional support for multiple animations in `DotLottieFile` (https://github.com/airbnb/lottie-ios/pull/2074) * Add helper method to initialize `DotLottieFile` with data (https://github.com/airbnb/lottie-ios/pull/2090) ## Bug fixes * Remove `.../ZipFoundation/README.md` from targets and `*.md*` files from podspec (https://github.com/airbnb/lottie-ios/pull/2057)* * Fix issue where layers with negative X scale values could be pixelated (https://github.com/airbnb/lottie-ios/pull/2067) * Fix warnings when building with Swift 5.9 (https://github.com/airbnb/lottie-ios/pull/2072) * Restructure `ValueProviderStore` to not accumulate multiple values for the same key (https://github.com/airbnb/lottie-ios/pull/2082) * Disable bitcode when building XCFramework (https://github.com/airbnb/lottie-ios/pull/2121) * Fix unhandled file warning when building with SPM ([https://github.com/airbnb/lottie-ios/pull/213](https://github.com/airbnb/lottie-ios/pull/2132)) * Fix support for customizing color of `SolidLayer` using `ColorValueProvider` (https://github.com/airbnb/lottie-ios/pull/2154) * Fix issue where shape items could be unexpectedly ignored (https://github.com/airbnb/lottie-ios/pull/2156) * Fix issue where skew keyframes would unexpectedly not animate (https://github.com/airbnb/lottie-ios/pull/2157) * Fix issue where value providers could be ignored when falling back to main thread rendering engine (https://github.com/airbnb/lottie-ios/pull/2164) Thanks to everyone who contributed to this release!
4.2.0
21 weeks ago
> **Note** > Starting in Lottie 4.0, the Core Animation rendering engine is now enabled by default. > Learn more about this change: **[Announcing Lottie 4.0 for iOS](https://medium.com/airbnb-engineering/announcing-lottie-4-0-for-ios-d4d226862a54)** on the Airbnb Tech Blog ## What's Changed * Added support for Opacity, Position, Scale, and Rotation value providers to Core Animation rendering engine (https://github.com/airbnb/lottie-ios/pull/2047) * Updated minimum macOS version to 10.11 (https://github.com/airbnb/lottie-ios/pull/2050) * Fixed issue where rounded corners algorithm would return incorrect path for shapes without any rounded corners (#1964) * Improved dotLottie error handling (https://github.com/airbnb/lottie-ios/pull/1969) * Added support for loading DotLottieFile by name and filename synchronously (https://github.com/airbnb/lottie-ios/pull/1968) * Updated ZIPFoundation to 0.9.16 to resolve `dataCorrupted` errors (https://github.com/airbnb/lottie-ios/pull/1978) * Fixed issue where `**` wildcard incorrectly required matching at least one path component (https://github.com/airbnb/lottie-ios/pull/1988) * Fixed issue where completion handler could be called unexpectedly when setting up animation (https://github.com/airbnb/lottie-ios/pull/1994) * Added `LottieAnimationView.allHierarchyKeypaths()` to get list of animation keypaths at runtime (https://github.com/airbnb/lottie-ios/pull/2004) * Added a warning when playing animation that uses unsupported After Effects expressions (https://github.com/airbnb/lottie-ios/pull/2006) * Added `LottieAnimationView.maskAnimationToBounds` configuration option (https://github.com/airbnb/lottie-ios/pull/2008) * Trim whitespaces and newlines before decoding base 64 string to image (https://github.com/airbnb/lottie-ios/pull/2016) * Added support for configuring `LottieBackgroundBehavior` to Objective-C `CompatibleAnimationView` (https://github.com/airbnb/lottie-ios/pull/2027) * Fixed issue where Trim could be applied to too many shape items (https://github.com/airbnb/lottie-ios/pull/2041) * Set animationLayer to nil when removing oldAnimation (https://github.com/airbnb/lottie-ios/pull/2035) * Fixed issue where Trim strokeStart / strokeEnd could be rendered in incorrect order (https://github.com/airbnb/lottie-ios/pull/2049) * Fixed issue where calling `setValueProvider` would reset animation progress (https://github.com/airbnb/lottie-ios/pull/2052) * Fixed issue where trim offset could be calculated incorrectly (https://github.com/airbnb/lottie-ios/pull/2053) **Full Changelog**: https://github.com/airbnb/lottie-ios/compare/4.1.3...4.2.0
4.1.3
31 weeks ago
> **Note** > Starting in Lottie 4.0, the Core Animation rendering engine is now enabled by default. > Learn more about this change: **[Announcing Lottie 4.0 for iOS](https://medium.com/airbnb-engineering/announcing-lottie-4-0-for-ios-d4d226862a54)** on the Airbnb Tech Blog ## What's Changed * Add support for 3D rotations on X and Y axis (https://github.com/airbnb/lottie-ios/pull/1930) * Update color parsing to ignore alpha values for consistency with other platforms (https://github.com/airbnb/lottie-ios/pull/1934) * Allow subclassing `LottieAnimationView` (https://github.com/airbnb/lottie-ios/pull/1937) * Expose `AnimationTextProvider` in objc wrapper (https://github.com/airbnb/lottie-ios/pull/1944) * Add dispatch queue parameter to dotLottie loading methods (https://github.com/airbnb/lottie-ios/pull/1956) * Fix macOS build issues for apps using `Lottie.xcframework` / `lottie-spm` (https://github.com/airbnb/lottie-ios/pull/1960)
4.1.2
35 weeks ago
> **Note** > Starting in Lottie 4.0, the Core Animation rendering engine is now enabled by default. > Learn more about this change: **[Announcing Lottie 4.0 for iOS](https://medium.com/airbnb-engineering/announcing-lottie-4-0-for-ios-d4d226862a54)** on the Airbnb Tech Blog 4.1.2 fixes an issue where the [lottie-spm](https://github.com/airbnb/lottie-spm) package would fail to build in some environments: https://github.com/airbnb/lottie-spm/pull/5#issuecomment-1398991609, https://github.com/airbnb/lottie-ios/issues/1926#issuecomment-1398866563 ## 4.1.0 release notes We've added a new way to integrate Lottie into your project using Swift Package Manager. We now provide a separate [lottie-spm](https://github.com/airbnb/lottie-spm) repo that is much smaller than the main lottie-ios repo (~500kb instead of ~300mb). Learn more about this change [here](https://github.com/airbnb/lottie-ios#swift-package-manager). ### Improvements and bug fixes * Made DotLottieAnimation attributes optional to simplify Manifest file (https://github.com/airbnb/lottie-ios/pull/1844) * Fix heap buffer overflow in CGColor+RGB extensions (https://github.com/airbnb/lottie-ios/pull/1858) * Add support for display P3 color space (https://github.com/airbnb/lottie-ios/pull/1857) * Add some missing utility to CompatibleAnimationView (https://github.com/airbnb/lottie-ios/pull/1881) * Fix issue where ShapeTransform could incorrectly affect stroke width (https://github.com/airbnb/lottie-ios/pull/1872) * Fix issue where empty trim item would take precedence over non-empty trim item (https://github.com/airbnb/lottie-ios/pull/1875) * Fix issue where some top-level shape items would be silently ignored (https://github.com/airbnb/lottie-ios/pull/1874) * Fix frame setting issue for CompatibleAnimationView (https://github.com/airbnb/lottie-ios/pull/1878) * Gradient Fill Layer: Support strokes (https://github.com/airbnb/lottie-ios/pull/1818) * Change veryLargeRect size to fix issue with masks (https://github.com/airbnb/lottie-ios/pull/1884) * Fix issue where Fill following other Fill would be silently ignored (https://github.com/airbnb/lottie-ios/pull/1888) * Fix issue where negative `scale.x` values didn't render correctly on iOS 14 (https://github.com/airbnb/lottie-ios/pull/1894) * Fix issue where `LottieAnimationView.currentFrame` would be incorrect after playing animation with `LottieLoopMode.playOnce` (https://github.com/airbnb/lottie-ios/pull/1897) * Fix issue where shape items could be applied in incorrect order (https://github.com/airbnb/lottie-ios/pull/1899) * Fix issue where stroke and fill could be rendered in incorrect order (https://github.com/airbnb/lottie-ios/pull/1903) * Fix issue where `play(fromProgress: 1, toProgress: 0)` animation would not actually play (https://github.com/airbnb/lottie-ios/pull/1908) * Add support for skew animations (https://github.com/airbnb/lottie-ios/pull/1917)
4.1.1
35 weeks ago
> **Note** > Starting in Lottie 4.0, the Core Animation rendering engine is now enabled by default. > Learn more about this change: **[Announcing Lottie 4.0 for iOS](https://medium.com/airbnb-engineering/announcing-lottie-4-0-for-ios-d4d226862a54)** on the Airbnb Tech Blog 4.1.1 fixes an issue where the [lottie-spm](https://github.com/airbnb/lottie-spm) package could not be embedded into iOS app builds (#1925), which could cause apps to crash (#1926). ## 4.1.0 release notes We've added a new way to integrate Lottie into your project using Swift Package Manager. We now provide a separate [lottie-spm](https://github.com/airbnb/lottie-spm) repo that is much smaller than the main lottie-ios repo (~500kb instead of ~300mb). Learn more about this change [here](https://github.com/airbnb/lottie-ios#swift-package-manager). ### Improvements and bug fixes * Made DotLottieAnimation attributes optional to simplify Manifest file (https://github.com/airbnb/lottie-ios/pull/1844) * Fix heap buffer overflow in CGColor+RGB extensions (https://github.com/airbnb/lottie-ios/pull/1858) * Add support for display P3 color space (https://github.com/airbnb/lottie-ios/pull/1857) * Add some missing utility to CompatibleAnimationView (https://github.com/airbnb/lottie-ios/pull/1881) * Fix issue where ShapeTransform could incorrectly affect stroke width (https://github.com/airbnb/lottie-ios/pull/1872) * Fix issue where empty trim item would take precedence over non-empty trim item (https://github.com/airbnb/lottie-ios/pull/1875) * Fix issue where some top-level shape items would be silently ignored (https://github.com/airbnb/lottie-ios/pull/1874) * Fix frame setting issue for CompatibleAnimationView (https://github.com/airbnb/lottie-ios/pull/1878) * Gradient Fill Layer: Support strokes (https://github.com/airbnb/lottie-ios/pull/1818) * Change veryLargeRect size to fix issue with masks (https://github.com/airbnb/lottie-ios/pull/1884) * Fix issue where Fill following other Fill would be silently ignored (https://github.com/airbnb/lottie-ios/pull/1888) * Fix issue where negative `scale.x` values didn't render correctly on iOS 14 (https://github.com/airbnb/lottie-ios/pull/1894) * Fix issue where `LottieAnimationView.currentFrame` would be incorrect after playing animation with `LottieLoopMode.playOnce` (https://github.com/airbnb/lottie-ios/pull/1897) * Fix issue where shape items could be applied in incorrect order (https://github.com/airbnb/lottie-ios/pull/1899) * Fix issue where stroke and fill could be rendered in incorrect order (https://github.com/airbnb/lottie-ios/pull/1903) * Fix issue where `play(fromProgress: 1, toProgress: 0)` animation would not actually play (https://github.com/airbnb/lottie-ios/pull/1908) * Add support for skew animations (https://github.com/airbnb/lottie-ios/pull/1917)
4.1.0
35 weeks ago
> **Note** > Starting in Lottie 4.0, the Core Animation rendering engine is now enabled by default. > Learn more about this change: **[Announcing Lottie 4.0 for iOS](https://medium.com/airbnb-engineering/announcing-lottie-4-0-for-ios-d4d226862a54)** on the Airbnb Tech Blog We've added a new way to integrate Lottie into your project using Swift Package Manager. We now provide a separate [lottie-spm](https://github.com/airbnb/lottie-spm) repo that is much smaller than the main lottie-ios repo (~500kb instead of ~300mb). Learn more about this change [here](https://github.com/airbnb/lottie-ios#swift-package-manager). ### Improvements and bug fixes * Made DotLottieAnimation attributes optional to simplify Manifest file (https://github.com/airbnb/lottie-ios/pull/1844) * Fix heap buffer overflow in CGColor+RGB extensions (https://github.com/airbnb/lottie-ios/pull/1858) * Add support for display P3 color space (https://github.com/airbnb/lottie-ios/pull/1857) * Add some missing utility to CompatibleAnimationView (https://github.com/airbnb/lottie-ios/pull/1881) * Fix issue where ShapeTransform could incorrectly affect stroke width (https://github.com/airbnb/lottie-ios/pull/1872) * Fix issue where empty trim item would take precedence over non-empty trim item (https://github.com/airbnb/lottie-ios/pull/1875) * Fix issue where some top-level shape items would be silently ignored (https://github.com/airbnb/lottie-ios/pull/1874) * Fix frame setting issue for CompatibleAnimationView (https://github.com/airbnb/lottie-ios/pull/1878) * Gradient Fill Layer: Support strokes (https://github.com/airbnb/lottie-ios/pull/1818) * Change veryLargeRect size to fix issue with masks (https://github.com/airbnb/lottie-ios/pull/1884) * Fix issue where Fill following other Fill would be silently ignored (https://github.com/airbnb/lottie-ios/pull/1888) * Fix issue where negative `scale.x` values didn't render correctly on iOS 14 (https://github.com/airbnb/lottie-ios/pull/1894) * Fix issue where `LottieAnimationView.currentFrame` would be incorrect after playing animation with `LottieLoopMode.playOnce` (https://github.com/airbnb/lottie-ios/pull/1897) * Fix issue where shape items could be applied in incorrect order (https://github.com/airbnb/lottie-ios/pull/1899) * Fix issue where stroke and fill could be rendered in incorrect order (https://github.com/airbnb/lottie-ios/pull/1903) * Fix issue where `play(fromProgress: 1, toProgress: 0)` animation would not actually play (https://github.com/airbnb/lottie-ios/pull/1908) * Add support for skew animations (https://github.com/airbnb/lottie-ios/pull/1917)
4.0.1
41 weeks ago
4.0.1 fixes an issue in 4.0.0 where the install could fail due to issues with Git LFS: #1830, #1834. We now publish `xframework` binaries as a part of our release process: https://github.com/airbnb/lottie-ios/discussions/1807#discussioncomment-4346438 ## Major changes in Lottie 4.0 Learn more about this release: **[Announcing Lottie 4.0 for iOS](https://medium.com/airbnb-engineering/announcing-lottie-4-0-for-ios-d4d226862a54)** on the Airbnb Tech Blog * The new Core Animation rendering engine ([first introduced in Lottie 3.4.0](https://github.com/airbnb/lottie-ios/discussions/1627)) is now enabled by default for supported animations. * Specifically, `LottieConfiguration.shared.renderingEngine` now defaults to `.automatic` instead of `.mainThread`. Animations that use features which are not supported by the Core Animation rendering engine will automatically fall back to using the original Main Thread rendering engine. * When using the Core Animation rendering engine, Lottie animations now always animate smoothly regardless of the amount of work being done on the app’s main thread. This **significantly improves animation performance** while also eliminating CPU overhead. * If you encounter any compatibility issues when using `RenderingEngineOption.automatic`, please file an issue with a copy of your animation json. * `DecodingStrategy.dictionaryBased` is now enabled by default * The new dictionary-based decoding implementation is 2x faster than the previous `Codable` decoding implementation * If you encounter any compatibility issues with this new decoding implementation, please file an issue with a copy of your animation json. * Backwards compatibility typealiases for `Animation`, `AnimationView`, `Color`, `Vector1D`, `Vector2D`, and `Vector3D`, which were introduced in [Lottie 3.5.0](https://github.com/airbnb/lottie-ios/releases), have been removed to resolve conflicts with types in Apple frameworks. These types are now named `LottieAnimation`, `LottieAnimationView`, `LottieColor`, `LottieVector1D`, `LottieVector2D`, and `LottieVector3D`. * The default `LottieBackgroundBehavior` used by `LottieAnimationView` is now `.pauseAndRestore` instead of `pause`. * Lottie for iOS now supports the [dotLottie file format](https://dotlottie.io/). * The library's minimum-supported Swift version is now Swift 5.5. XCFramework checksum: b6d8b0b81975d91965b8bb00cffb0eae4b3d94538b6950a90bc1366afd5d4239
4.0.0
42 weeks ago
Learn more about this release: **[Announcing Lottie 4.0 for iOS](https://medium.com/airbnb-engineering/announcing-lottie-4-0-for-ios-d4d226862a54)** on the Airbnb Tech Blog ## Major changes * The new Core Animation rendering engine ([first introduced in Lottie 3.4.0](https://github.com/airbnb/lottie-ios/discussions/1627)) is now enabled by default for supported animations. * Specifically, `LottieConfiguration.shared.renderingEngine` now defaults to `.automatic` instead of `.mainThread`. Animations that use features which are not supported by the Core Animation rendering engine will automatically fall back to using the original Main Thread rendering engine. * When using the Core Animation rendering engine, Lottie animations now always animate smoothly regardless of the amount of work being done on the app’s main thread. This **significantly improves animation performance** while also eliminating CPU overhead. * If you encounter any compatibility issues when using `RenderingEngineOption.automatic`, please file an issue with a copy of your animation json. * `DecodingStrategy.dictionaryBased` is now enabled by default * The new dictionary-based decoding implementation is 2x faster than the previous `Codable` decoding implementation * If you encounter any compatibility issues with this new decoding implementation, please file an issue with a copy of your animation json. * Backwards compatibility typealiases for `Animation`, `AnimationView`, `Color`, `Vector1D`, `Vector2D`, and `Vector3D`, which were introduced in [Lottie 3.5.0](https://github.com/airbnb/lottie-ios/releases), have been removed to resolve conflicts with types in Apple frameworks. These types are now named `LottieAnimation`, `LottieAnimationView`, `LottieColor`, `LottieVector1D`, `LottieVector2D`, and `LottieVector3D`. * The default `LottieBackgroundBehavior` used by `LottieAnimationView` is now `.pauseAndRestore` instead of `pause`. * Lottie for iOS now supports the [dotLottie file format](https://dotlottie.io/). * The library's minimum-supported Swift version is now Swift 5.5. ## Full changelog * Use `RenderingEngineOption.automatic` by default by @calda in https://github.com/airbnb/lottie-ios/pull/1764 * Fix issue where inverted mask layer was clipped incorrectly by @calda in https://github.com/airbnb/lottie-ios/pull/1763 * Bump to 4.0.0, remove backwards compatibility typealiases by @calda in https://github.com/airbnb/lottie-ios/pull/1768 * Update `LottieBackgroundBehavior.default` from `.pause` to `.pauseAndRestore` for Main Thread rendering engine by @calda in https://github.com/airbnb/lottie-ios/pull/1770 * Adds ability to not play the frame of the end marker (#1758) by @lennartstolz in https://github.com/airbnb/lottie-ios/pull/1772 * Change LottieAnimationHelpers default animation cache to LRUAnimationCache.shared (#1773) by @pejato in https://github.com/airbnb/lottie-ios/pull/1778 * Update LottieConfiguration to use DecodingStrategy.dictionaryBased by default by @marcelofabri in https://github.com/airbnb/lottie-ios/pull/1777 * Allow customizing default AnimationCacheProvider by @marcelofabri in https://github.com/airbnb/lottie-ios/pull/1779 * Replace LRUAnimationCache with a thread-safe NSCache-based cache by @marcelofabri in https://github.com/airbnb/lottie-ios/pull/1783 * Update minimum Swift version to 5.5 by @calda in https://github.com/airbnb/lottie-ios/pull/1787 * Adds .lottie file load capability to LottieAnimation by @eharrison in https://github.com/airbnb/lottie-ios/pull/1785 * Add Rounded Corners by @johnny-duo in https://github.com/airbnb/lottie-ios/pull/1795 * Add rounded corner support to Core Animation rendering engine by @calda in https://github.com/airbnb/lottie-ios/pull/1796 * Add support for animating `startPoint` and `endPoint` of radial gradients by @calda in https://github.com/airbnb/lottie-ios/pull/1798 * Update Core Animation rendering engine to use device RGB color space by @calda in https://github.com/airbnb/lottie-ios/pull/1801 * added mask to bounds flag by @BugorBN in https://github.com/airbnb/lottie-ios/pull/1814 * Add completion callbacks to LottieAnimationView DotLottie initializers by @calda in https://github.com/airbnb/lottie-ios/pull/1810
iOS macOS tvOS
vapor/vapor 4.84.0
💧 A server-side Swift HTTP web framework.
⭐️ 23,198
🕓 22 hours ago
🔖 Release Notes

Releases

The markdown parsing is broken/disabled for release notes. Sorry about that, I'm chasing the source of a crash that's been bringing this website down for the last couple of days.
4.84.0 - More Sendable Conformances
Yesterday
## What's Changed More Sendable Conformances by @0xTim in #3057 > This adds more Sendable conformances to Vapor and resolves any Sendable warnings that aren’t related to `Request` or `Response` ## Reviewers Thanks to the reviewers for their help: - @fabianfett ###### _This patch was released by @0xTim_ **Full Changelog**: https://github.com/vapor/vapor/compare/4.83.2...4.84.0
4.83.2 - HTTPServerErrorHandler: Improve Error Handling for HTTPParserError
5 days ago
## What's Changed HTTPServerErrorHandler: Improve Error Handling for HTTPParserError by @fred-sch in #2922 > Invalid HTTP previously just closed the connection, but did not actually handle the errors. > > This PR uses an adapted version of https://github.com/apple/swift-nio/blob/main/Sources/NIOHTTP1/HTTPServerProtocolErrorHandler.swift to properly catch exceptions if they occur. ## New Contributor - @fred-sch made their first contribution in #2922 🎉 ## Reviewers Thanks to the reviewers for their help: - @MrSkwiggs - @Joannis - @FranzBusch - @Lukasa ###### _This patch was released by @gwynne_ **Full Changelog**: https://github.com/vapor/vapor/compare/4.83.1...4.83.2
4.83.1 - Pass X-Request-Id if present
5 days ago
## What's Changed Pass X-Request-Id if present by @paunik in #3072 > Pass the value from the X-Request-Id to the logger context > > - pass the X-Request-Id header value if present, pass generated UUID if the header not present > > Mentioned: > > - https://github.com/vapor/vapor/issues/2508 > > Why: > > - We needed a way to trace router -> web -> worker on the logger on the heroku and we found this https://devcenter.heroku.com/articles/http-request-id > > Inspiration: > > - https://api.rubyonrails.org/classes/ActionDispatch/RequestId.html ## New Contributor - @paunik made their first contribution in #3072 🎉 ###### _This patch was released by @gwynne_ **Full Changelog**: https://github.com/vapor/vapor/compare/4.83.0...4.83.1
4.83.0 - Support Crypto 3.0.0 in the other package manifest
5 days ago
## What's Changed Support Crypto 3.0.0 in the other package manifest by @gwynne in #3073 > Fixes an oversight made by both Tim and myself in #3070. Full credit to @gregcotten for catching the omission. ###### _This patch was released by @gwynne_ **Full Changelog**: https://github.com/vapor/vapor/compare/4.82.0...4.83.0
4.82.0 - Add support for Swift Crypto 3.0.0
5 days ago
## What's Changed Add support for Swift Crypto 3.0.0 by @0xTim in #3070 > See https://forums.swift.org/t/swift-crypto-3-0-0/67387 for more details ###### _This patch was released by @gwynne_ **Full Changelog**: https://github.com/vapor/vapor/compare/4.81.1...4.82.0
4.81.1 - `Logger.report()` should handle `LocalizedError`, `DecodingError`, and `EncodingError` identically to other errors
6 days ago
## What's Changed `Logger.report()` should handle `LocalizedError`, `DecodingError`, and `EncodingError` identically to other errors by @MahdiBM in #3068 > `LocalizedError.localizedDesceiption` is useless. We shouldn’t use it. > The special handling of `DecodingError` and `EncodingError` also doesn’t do much. ###### _This patch was released by @gwynne_ **Full Changelog**: https://github.com/vapor/vapor/compare/4.81.0...4.81.1
4.81.0 - The swift-backtrace library is no longer needed in 5.9
3 weeks ago
## What's Changed The swift-backtrace library is no longer needed in 5.9 by @gwynne in #3064 > Per https://github.com/swift-server/swift-backtrace/pull/68. ###### _This patch was released by @gwynne_ **Full Changelog**: https://github.com/vapor/vapor/compare/4.80.0...4.81.0
4.80.0 - Make Storage Sendable
4 weeks ago
## What's Changed Make Storage Sendable by @0xTim in #3056 > Make Vapor’s `Storage` and `Application` `Sendable`. This is a key piece in allowing `Request` and `Response` to be `Sendable`. > > Note that types that are stored in `Storage` should now be `Sendable`. If you get any warnings, you may need to update your code for this new change. ###### _This patch was released by @0xTim_ **Full Changelog**: https://github.com/vapor/vapor/compare/4.79.0...4.80.0
4.79.0 - Add Sendable Conformances to underlying types
5 weeks ago
## What's Changed Add Sendable Conformances to underlying types by @0xTim in #3054 > This adds Sendable annotations to many of Vapor’s types and APIs, including the request handlers. > > APIs are marked `@preconcurrency` where it makes sense to reduce warnings for anyone using the release. To fix your code and see the warnings, you can enable strict concurrency checking. > > **Note:** this PR does not touch `Request`, `Response` or `Application` as they require fundamental changes that are larger in scope and will be done in a future release. ## Reviewers Thanks to the reviewers for their help: - @FranzBusch - @Lukasa ###### _This patch was released by @0xTim_ **Full Changelog**: https://github.com/vapor/vapor/compare/4.78.2...4.79.0
4.78.2 - Resolve issue #2650
6 weeks ago
## What's Changed Resolve issue #2650 by @paunik in #2674 > In order to prevent 5xx internal error we try to: > > - validate number of parameters in FormDataDecoder so we can detect when only boundary is present. ## New Contributor - @paunik made their first contribution in #2674 🎉 ###### _This patch was released by @gwynne_ **Full Changelog**: https://github.com/vapor/vapor/compare/4.78.1...4.78.2
iOS macOS watchOS tvOS linux macOS iOS
realm/SwiftLint 0.53.0
A tool to enforce Swift style and conventions.
⭐️ 17,781
🕓 16 hours ago
🔖 Release Notes

Releases

The markdown parsing is broken/disabled for release notes. Sorry about that, I'm chasing the source of a crash that's been bringing this website down for the last couple of days.
0.53.0: Laundry List
23 hours ago
#### Breaking * Hide all `Reporter`s from SwiftLint's' public interface. [SimplyDanny](https://github.com/SimplyDanny) * The options `inlcuded`, `name` and `message` are from now on ignored in the configuration for the `private_unit_test` rule. The option `regex` is still supported but is deprecated. It's recommended to use the list `test_parent_classes` instead which accepts names of parent test classes. [SimplyDanny](https://github.com/SimplyDanny) * Remove support for disable and enable commands in multiline comments. [Martin Redington](https://github.com/mildm8nnered) [#4798](https://github.com/realm/SwiftLint/issues/4798) #### Experimental * None. #### Enhancements * Show specific violation message for the `attributes` rule when the option `always_on_line_above` or `attributes_with_arguments_always_on_line_above` is involved. [chrisngabp](https://github.com/chrisngabp) [5103](https://github.com/realm/SwiftLint/issues/5103) * Rewrite `control_statement` rule using SwiftSyntax. [SimplyDanny](https://github.com/SimplyDanny) * Add new `non_overridable_class_declaration` rule that triggers on `class` function and variable declarations in final classes that are not final themselves or private. [SimplyDanny](https://github.com/SimplyDanny) * The Homebrew formula for SwiftLint now also installs completion scripts for Bash, Zsh and fish. [SimplyDanny](https://github.com/SimplyDanny) * Add new `private_swiftui_state_property` opt-in rule to encourage setting SwiftUI `@State` and `@StateObject` properties to private. [mt00chikin](https://github.com/mt00chikin) [#3173](https://github.com/realm/SwiftLint/issues/3173) * The `implicit_return` rule now supports the kinds `subscript` and `initializer` in the `included` configuration list. [SimplyDanny](https://github.com/SimplyDanny) * Add `unneeded_override` rule to remove function overrides that only call super. [keith](https://github.com/keith) [5139](https://github.com/realm/SwiftLint/pull/5139) * Show a rule's active YAML configuration in output of `swiftlint rules <rule>`. [SimplyDanny](https://github.com/SimplyDanny) * Add `invokeTest()` to `overridden_super_call` defaults. [DylanBettermannDD](https://github.com/DylanBettermannDD) * Add `--config-only` option to `rules` command allowing to print only the YAML configuration of a single or all rules. [SimplyDanny](https://github.com/SimplyDanny) * Add `--default-config` option to `rules` command allowing to use default values for configurations being printed for a single rule or all rules. [SimplyDanny](https://github.com/SimplyDanny) * Add `include_bare_init` option to the `explicit_init` rule. `include_bare_init` encourages using named constructors over `.init()` and type inference. [Martin Redington](https://github.com/mildm8nnered) [#5203](https://github.com/realm/SwiftLint/issues/5203) * Improved the reported location and reasons provided for issues detected by the `invalid_seiftlint_command` rule. [Martin Redington](https://github.com/mildm8nnered) [#5204](https://github.com/realm/SwiftLint/issues/5204) * 100 is no longer considered to be a magic number by the `no_magic_numbers` rule. [Martin Redington](https://github.com/mildm8nnered) [#5215](https://github.com/realm/SwiftLint/issues/5215) * Adds a `strict` configuration file setting, equivalent to the `--strict` command line option. [Martin Redington](https://github.com/mildm8nnered) [#5226](https://github.com/realm/SwiftLint/issues/5226) * Extend `implicitly_unwrapped_optional` rule with the new mode `weak_except_iboutlets` that only checks `weak` variables. [Ricky Tan](https://github.com/rickytan) #### Bug Fixes * Respect grapheme clusters in counting the number of characters in the `collection_alignment` rule. [kishikawakatsumi](https://github.com/kishikawakatsumi) [#4837](https://github.com/realm/SwiftLint/issues/4837) * Fix false positive in `control_statement` rule that triggered on conditions with trailing closures where parentheses are recommended by the compiler. [SimplyDanny](https://github.com/SimplyDanny) [#5135](https://github.com/realm/SwiftLint/issues/5135) * Fix runtime error when an excluded directory does not exist. [SimplyDanny](https://github.com/SimplyDanny) [#5078](https://github.com/realm/SwiftLint/issues/5078) * Support `switch` expressions used in expression contexts in `switch_case_alignment` rule. [SimplyDanny](https://github.com/SimplyDanny) [#5191](https://github.com/realm/SwiftLint/issues/5191) [#5227](https://github.com/realm/SwiftLint/issues/5272) [#5080](https://github.com/realm/SwiftLint/issues/5080) * Fix bug in `prefer_self_in_static_references` rule that triggered on initializers of computed properties in classes when the property had an accessor block. [SimplyDanny](https://github.com/SimplyDanny) [#5118](https://github.com/realm/SwiftLint/issues/5118) * Document `exclude_ranges` option for `number_separator` rule. [SimplyDanny](https://github.com/SimplyDanny) * Rewrite `implicit_return` rule with SwiftSyntax fixing a few false positives and false negatives in the process. [SimplyDanny](https://github.com/SimplyDanny) [#5161](https://github.com/realm/SwiftLint/issues/5161) * Make sure `severity` is configurable for `type_contents_order` rule. [SimplyDanny](https://github.com/SimplyDanny) * Bazel: Mark `rules_xcodeproj` as a development dependency. [Thi Doãn](https://github.com/thii) [JP Simard](https://github.com/jpsim) [#4737](https://github.com/realm/SwiftLint/issues/4737) * Fix false negatives for the `unneeded_synthesized_initializer` rule for nested structs in classes. [Martin Redington](https://github.com/mildm8nnered) [#5120](https://github.com/realm/SwiftLint/issues/5120) * Fix some unexpected rule enablement interactions between parent and child configurations. [Martin Redington](https://github.com/mildm8nnered) [#4876](https://github.com/realm/SwiftLint/issues/4876) * The `no_magic_numbers` rule will not trigger for violations in an extension, if the extended class inherits from one of the specified `test_parent_classes`, as long as the class declaration and the extension are in the same source file. [Martin Redington](https://github.com/mildm8nnered) [#5137](https://github.com/realm/SwiftLint/issues/5137) * Fix false positive in the `ns_number_init_as_function_reference` rule when calling `NSNumber.init(value:)` directly. [Marcelo Fabri](https://github.com/marcelofabri) [#5172](https://github.com/realm/SwiftLint/issues/5172) * The `no_magic_numbers` rule will not trigger for bitwise shift operations. [Martin Redington](https://github.com/mildm8nnered) [#5171](https://github.com/realm/SwiftLint/issues/5171) * The `accessibility_label_for_image` rule will no longer ignore the `Image(systemName:)` constructor, as many system images do not have good accessibility labels. [Martin Redington](https://github.com/mildm8nnered) [#5165](https://github.com/realm/SwiftLint/issues/5165) * Fix false positives for `superfluous_disable_command` rule. [Martin Redington](https://github.com/mildm8nnered) [#4798](https://github.com/realm/SwiftLint/issues/4798) * Fix false positive in the `test_case_accessibility` rule. [gibachan](https://github.com/gibachan) [#5211](https://github.com/realm/SwiftLint/issues/5211) --- ### Using Bazel With bzlmod: ``` // Pending BCR update bazel_dep(name = "swiftlint", version = "0.53.0", repo_name = "SwiftLint") ``` Without bzlmod, put this in your `WORKSPACE`: <details> <summary>WORKSPACE</summary> ```python load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") http_archive( name = "build_bazel_rules_apple", sha256 = "9e26307516c4d5f2ad4aee90ac01eb8cd31f9b8d6ea93619fc64b3cbc81b0944", url = "https://github.com/bazelbuild/rules_apple/releases/download/2.2.0/rules_apple.2.2.0.tar.gz", ) load( "@build_bazel_rules_apple//apple:repositories.bzl", "apple_rules_dependencies", ) apple_rules_dependencies() load( "@build_bazel_rules_swift//swift:repositories.bzl", "swift_rules_dependencies", ) swift_rules_dependencies() load( "@build_bazel_rules_swift//swift:extras.bzl", "swift_rules_extra_dependencies", ) swift_rules_extra_dependencies() http_archive( name = "SwiftLint", sha256 = "75839dc9e8a492a86bb585a3cda3d73b58997d7a14d02f1dba94171766bb8599", url = "https://github.com/realm/SwiftLint/releases/download/0.53.0/bazel.tar.gz", ) load("@SwiftLint//bazel:repos.bzl", "swiftlint_repos") swiftlint_repos() load("@SwiftLint//bazel:deps.bzl", "swiftlint_deps") swiftlint_deps() ``` </details> Then you can run SwiftLint in the current directory with this command: ```console bazel run @SwiftLint//:swiftlint -- --help ```
0.52.4: Lid Switch
11 weeks ago
#### Breaking * None. #### Experimental * None. #### Enhancements * Handle static `spec` methods in `quick_discouraged_call` rule. The method type changed from an instance method to a class method in Quick 7. [SimplyDanny](https://github.com/SimplyDanny) [#5072](https://github.com/realm/SwiftLint/issues/5072) * Prettify the rule configuration presentation on the command line as well as on the website. [SimplyDanny](https://github.com/SimplyDanny) #### Bug Fixes * Fix false positives for the `unneeded_synthesized_initializer` rule, when no argument initializers had side-effects. [Martin Redington](https://github.com/mildm8nnered) [#5075](https://github.com/realm/SwiftLint/issues/5075) * Ignore `switch` expressions assigned to variables in `switch_case_alignment` rule. [SimplyDanny](https://github.com/SimplyDanny) [#5080](https://github.com/realm/SwiftLint/issues/5080) * Fix auto-correction for the `direct_return` rule, when statements have trailing comments. [Martin Redington](https://github.com/mildm8nnered) [#5081](https://github.com/realm/SwiftLint/issues/5081) * Fix false positives for the `private_subject` rule when creating subjects inside initializers. [kasrababaei](https://github.com/kasrababaei) * Fix false positive for `prefer_self_in_static_references` when a class inherits from another class with generic types. [kasrababaei](https://github.com/kasrababaei) --- ### Using Bazel With bzlmod: ``` // Pending BCR update: https://github.com/bazelbuild/bazel-central-registry/pull/750 bazel_dep(name = "swiftlint", version = "0.52.4", repo_name = "SwiftLint") ``` Without bzlmod, put this in your `WORKSPACE`: <details> <summary>WORKSPACE</summary> ```python load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") http_archive( name = "build_bazel_rules_apple", sha256 = "9e26307516c4d5f2ad4aee90ac01eb8cd31f9b8d6ea93619fc64b3cbc81b0944", url = "https://github.com/bazelbuild/rules_apple/releases/download/2.2.0/rules_apple.2.2.0.tar.gz", ) load( "@build_bazel_rules_apple//apple:repositories.bzl", "apple_rules_dependencies", ) apple_rules_dependencies() load( "@build_bazel_rules_swift//swift:repositories.bzl", "swift_rules_dependencies", ) swift_rules_dependencies() load( "@build_bazel_rules_swift//swift:extras.bzl", "swift_rules_extra_dependencies", ) swift_rules_extra_dependencies() http_archive( name = "SwiftLint", sha256 = "c6ea58b9c72082cdc1ada4a2d48273ecc355896ed72204cedcc586b6ccb8aca6", url = "https://github.com/realm/SwiftLint/releases/download/0.52.4/bazel.tar.gz", ) load("@SwiftLint//bazel:repos.bzl", "swiftlint_repos") swiftlint_repos() load("@SwiftLint//bazel:deps.bzl", "swiftlint_deps") swiftlint_deps() ``` </details> Then you can run SwiftLint in the current directory with this command: ```console bazel run @SwiftLint//:swiftlint -- --help ```
0.52.3: Duplicate Hampers
13 weeks ago
#### Breaking * None. #### Experimental * None. #### Enhancements * Make severity for unallowed symbols configurable. The option name is `unallowed_symbols_severity`. It accepts the two values `warning` and `error` (default) as usual. [SimplyDanny](https://github.com/SimplyDanny) * Mention a rule's identifier in the console message that is printed when the rule's associated configuration entry contains invalid values. [SimplyDanny](https://github.com/SimplyDanny) * Silence `xct_specific_matcher` rule on "one argument asserts" if there are potential types or tuples involved in the comparison as types and tuples do not conform to `Equatable`. [SimplyDanny](https://github.com/SimplyDanny) [#4990](https://github.com/realm/SwiftLint/issues/4990) * Add `grouping` option to the `sorted_imports` rule allowing to sort groups of imports defined by their preceding attributes (e.g. `@testable`, `@_exported`, ...). [hiltonc](https://github.com/hiltonc) * Add new `--silence-deprecation-warnings` flag that silences deprecation warnings that would otherwise be printed to the console. [SimplyDanny](https://github.com/SimplyDanny) [#4989](https://github.com/realm/SwiftLint/issues/4989) * Do not trigger `redundant_self_in_closure` rule when another idenfier `x` in scope shadows the field accessed by `self.x` to avoid semantical changes. [SimplyDanny](https://github.com/SimplyDanny) [#5010](https://github.com/realm/SwiftLint/issues/5010) * Rewrite `todo` rule with SwiftSyntax. [woxtu](https://github.com/woxtu) * Adds an `unneeded_synthesized_initializer` rule, based on `swift-format`'s `UseSynthesizedInitializer` rule, which warns when a defined default or memberwise initializer would have been automatically synthesized. [Martin Redington](https://github.com/mildm8nnered) #### Bug Fixes * The option `validates_start_with_lowercase` can now be disabled by setting it to `off`. [SimplyDanny](https://github.com/SimplyDanny) [#5036](https://github.com/realm/SwiftLint/issues/5036) * Do not trigger `prefer_self_in_static_references` rule on `typealias` declarations in classes. [SimplyDanny](https://github.com/SimplyDanny) [#5009](https://github.com/realm/SwiftLint/issues/5009) * Do not trigger `prefer_self_in_static_references` rule on collection types in classes, but on initializers like `[C]()` in all types. [SimplyDanny](https://github.com/SimplyDanny) [#5042](https://github.com/realm/SwiftLint/issues/5042) * Fix false positives on `redundant_objc_attribute` rule for enums and private members. [Martin Redington](https://github.com/mildm8nnered) [#4633](https://github.com/realm/SwiftLint/issues/4633) * Fix autocorrect for `CGIntersectionRect` in `legacy_cggeometry_functions` rule. [Haoocen](https://github.com/Haoocen) [#5023](https://github.com/realm/SwiftLint/pull/5023) * Fix false positives on `sorted_first_last` rule when `first`/`last` have a predicate. [woxtu](https://github.com/woxtu) [#3023](https://github.com/realm/SwiftLint/issues/3023) * Work around dyld warning about duplicate SwiftSyntax classes with Xcode 15 betas. [keith](https://github.com/keith) [JP Simard](https://github.com/jpsim) [#4782](https://github.com/realm/SwiftLint/issues/4782) --- ### Using Bazel With bzlmod: ``` bazel_dep(name = "swiftlint", version = "0.52.3", repo_name = "SwiftLint") ``` Without bzlmod, put this in your `WORKSPACE`: <details> <summary>WORKSPACE</summary> ```python load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") http_archive( name = "build_bazel_rules_apple", sha256 = "9e26307516c4d5f2ad4aee90ac01eb8cd31f9b8d6ea93619fc64b3cbc81b0944", url = "https://github.com/bazelbuild/rules_apple/releases/download/2.2.0/rules_apple.2.2.0.tar.gz", ) load( "@build_bazel_rules_apple//apple:repositories.bzl", "apple_rules_dependencies", ) apple_rules_dependencies() load( "@build_bazel_rules_swift//swift:repositories.bzl", "swift_rules_dependencies", ) swift_rules_dependencies() load( "@build_bazel_rules_swift//swift:extras.bzl", "swift_rules_extra_dependencies", ) swift_rules_extra_dependencies() http_archive( name = "SwiftLint", sha256 = "20c09504184d2496a4b40bc6f77a03d443fe4ba79b4bbbab61382bc5241d24aa", url = "https://github.com/realm/SwiftLint/releases/download/0.52.3/bazel.tar.gz", ) load("@SwiftLint//bazel:repos.bzl", "swiftlint_repos") swiftlint_repos() load("@SwiftLint//bazel:deps.bzl", "swiftlint_deps") swiftlint_deps() ``` </details> Then you can run SwiftLint in the current directory with this command: ```console bazel run @SwiftLint//:swiftlint -- --help ```
0.52.2: Crisper Clearer Pleats
19 weeks ago
#### Breaking * None. #### Experimental * None. #### Enhancements * Exclude simple assignments of the form `self.x = x` from being reported by the `redundant_self_in_closure` rule. [SimplyDanny](https://github.com/SimplyDanny) [#4988](https://github.com/realm/SwiftLint/issues/4988) #### Bug Fixes * Make `unhandled_throwing_task` opt-in instead of enabled by default. The rule is still prone to false positives at this point, so this makes enabling the rule a conscious decision by end-users. [JP Simard](https://github.com/jpsim) [#4987](https://github.com/realm/SwiftLint/issues/4987) * Fix `unhandled_throwing_task` false positives when the `Task` is returned or where the throwing code is handled in a `Result` initializer. [JP Simard](https://github.com/jpsim) [#4987](https://github.com/realm/SwiftLint/issues/4987) --- ### Using Bazel With bzlmod: ``` bazel_dep(name = "swiftlint", version = "0.52.2", repo_name = "SwiftLint") ``` Without bzlmod, put this in your `WORKSPACE`: <details> <summary>WORKSPACE</summary> ```python load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") http_archive( name = "build_bazel_rules_apple", sha256 = "9e26307516c4d5f2ad4aee90ac01eb8cd31f9b8d6ea93619fc64b3cbc81b0944", url = "https://github.com/bazelbuild/rules_apple/releases/download/2.2.0/rules_apple.2.2.0.tar.gz", ) load( "@build_bazel_rules_apple//apple:repositories.bzl", "apple_rules_dependencies", ) apple_rules_dependencies() load( "@build_bazel_rules_swift//swift:repositories.bzl", "swift_rules_dependencies", ) swift_rules_dependencies() load( "@build_bazel_rules_swift//swift:extras.bzl", "swift_rules_extra_dependencies", ) swift_rules_extra_dependencies() http_archive( name = "SwiftLint", sha256 = "2b95a592304bc377aa29d92683618376975f93553be62f132de7424819f6fc4a", url = "https://github.com/realm/SwiftLint/releases/download/0.52.2/bazel.tar.gz", ) load("@SwiftLint//bazel:repos.bzl", "swiftlint_repos") swiftlint_repos() load("@SwiftLint//bazel:deps.bzl", "swiftlint_deps") swiftlint_deps() ``` </details> Then you can run SwiftLint in the current directory with this command: ```console bazel run @SwiftLint//:swiftlint -- --help ```
0.52.1: Crisp Clear Pleats
19 weeks ago
## 0.52.1: Crisp Clear Pleats #### Bug Fixes * Let the `validates_start_with_lowercase` option in name configurations expect a severity (warning or error). Not setting it disables the check. Boolean values are now deprecated. A `true` value enables the check as an error for the time being to keep the previous behavior. [SimplyDanny](https://github.com/SimplyDanny) [#2180](https://github.com/realm/SwiftLint/issues/2180) * Fixed a false positive in `unhandled_throwing_task`. [kylebshr](https://github.com/kylebshr) [#4984](https://github.com/realm/SwiftLint/issues/4984) * Fix Bazel release tarball for compiling on macOS. [JP Simard](https://github.com/jpsim) [#4985](https://github.com/realm/SwiftLint/issues/4985) ## 0.52.0: Crisp Clear Pleats #### Breaking * The `attributes` rule now expects attributes with arguments to be placed on their own line above the declaration they are supposed to influence. This applies to attributes with any kinds of arguments including single key path arguments which were previously handled in a different way. This behavior can be turned off by setting `attributes_with_arguments_always_on_line_above` to `false. [SimplyDanny](https://github.com/SimplyDanny) [#4843](https://github.com/realm/SwiftLint/issues/4843) * The internal module structure for SwiftLint has changed to split the monolithic `SwiftLintFramework` into new `SwiftLintCore` for core linter infrastructure, `SwiftLintBuiltInRules` for built-in rules and `SwiftLintExtraRules` to add your own native rules to SwiftLint. [JP Simard](https://github.com/jpsim) #### Experimental * None. #### Enhancements * Add new `superfluous_else` rule that triggers on `if`-statements when an attached `else`-block can be removed, because all branches of the previous `if`-block(s) would certainly exit the current scope already. [SimplyDanny](https://github.com/SimplyDanny) * Add `sorted_enum_cases` rule which warns when enum cases are not sorted. [kimdv](https://github.com/kimdv) * Add new `redundant_self_in_closure` rule that triggers in closures on explicitly used `self` when it's actually not needed due to: * Strongly captured `self` (`{ [self] in ... }`) * Closure used in a struct declaration (`self` can always be omitted) * Anonymous closures that are directly called (`{ ... }()`) as they are definitly not escaping * Weakly captured `self` with explicit unwrapping [SimplyDanny](https://github.com/SimplyDanny) [#59](https://github.com/realm/SwiftLint/issues/59) * Extend `xct_specific_matcher` rule to check for boolean asserts on (un)equal comparisons. The rule can be configured with the matchers that should trigger rule violations. By default, all matchers trigger, but that can be limited to just `one-argument-asserts` or `two-argument-asserts`. [SimplyDanny](https://github.com/SimplyDanny) [JP Simard](https://github.com/jpsim) [#3726](https://github.com/realm/SwiftLint/issues/3726) * Trigger `prefer_self_in_static_references` rule on more type references. [SimplyDanny](https://github.com/SimplyDanny) * Adds a new `reporters` command, to improve discoverability of reporters. [Martin Redington](https://github.com/mildm8nnered) [#4819](https://github.com/realm/SwiftLint/issues/4819) * Adds `test_parent_classes` option to the `no_magic_numbers` rule. Violations within test classes will now be ignored by default. [Martin Redington](https://github.com/mildm8nnered) [#4896](https://github.com/realm/SwiftLint/issues/4896) * Stop enforcing calls to super from the override functions `setUp()`, `tearDown()`, `setUpWithError()`, and `tearDownWithError()` in `XCTestCase` subclasses. [AndrewDMontgomery](https://github.com/andrewdmontgomery) [#4875](https://github.com/realm/SwiftLint/pull/4875) * Prepend `warning: ` to error messages so that they show in Xcode. [whiteio](https://github.com/whiteio) [#4923](https://github.com/realm/SwiftLint/issues/4923) * The `attributes` rule received a new boolean option `attributes_with_arguments_always_on_line_above` which is `true` by default. Setting it to `false` ensures that attributes with arguments like `@Persisted(primaryKey: true)` don't violate the rule if they are on the same line with the variable declaration. [SimplyDanny](https://github.com/SimplyDanny) [#4843](https://github.com/realm/SwiftLint/issues/4843) * Add new `unhandled_throwing_task` rule that triggers when a Task with an implicit error type has unhandled trys or errors thrown inside its body. This results in errors being silently discarded, which may be unexpected. See this forum thread for more details: https://forums.swift.org/t/56066 [kylebshr](https://github.com/kylebshr) #### Bug Fixes * Fix `lower_acl_than_parent` rule rewriter by preserving leading whitespace. [SimplyDanny](https://github.com/SimplyDanny) [#4860](https://github.com/realm/SwiftLint/issues/4860) * Ignore block comments in `let_var_whitespace` rule. [SimplyDanny](https://github.com/SimplyDanny) [#4871](https://github.com/realm/SwiftLint/issues/4871) * Fix false positives in `indentation_width` rule. [Sven Münnich](https://github.com/svenmuennich) * Do not trigger `reduce_boolean` on `reduce` methods with a first named argument that is different from `into`. [SimplyDanny](https://github.com/SimplyDanny) [#4894](https://github.com/realm/SwiftLint/issues/4894) * Work around dyld warning about duplicate SwiftSyntax classes. [keith](https://github.com/keith) [#4782](https://github.com/realm/SwiftLint/issues/4782) * Improve lint times of SwiftLintPlugin by moving the `excludedPaths(fileManager:)` operation out of the linting iterations. [andyyhope](https://github.com/andyyhope) [#4844](https://github.com/realm/SwiftLint/issues/4844) --- ### Using Bazel With bzlmod: ``` bazel_dep(name = "swiftlint", version = "0.52.1", repo_name = "SwiftLint") ``` Without bzlmod, put this in your `WORKSPACE`: <details> <summary>WORKSPACE</summary> ```python load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") http_archive( name = "build_bazel_rules_apple", sha256 = "9e26307516c4d5f2ad4aee90ac01eb8cd31f9b8d6ea93619fc64b3cbc81b0944", url = "https://github.com/bazelbuild/rules_apple/releases/download/2.2.0/rules_apple.2.2.0.tar.gz", ) load( "@build_bazel_rules_apple//apple:repositories.bzl", "apple_rules_dependencies", ) apple_rules_dependencies() load( "@build_bazel_rules_swift//swift:repositories.bzl", "swift_rules_dependencies", ) swift_rules_dependencies() load( "@build_bazel_rules_swift//swift:extras.bzl", "swift_rules_extra_dependencies", ) swift_rules_extra_dependencies() http_archive( name = "SwiftLint", sha256 = "22973f004310a1e5611ae6d08077e907be4883929d10c049cc0b9846463b3d9a", url = "https://github.com/realm/SwiftLint/releases/download/0.52.1/bazel.tar.gz", ) load("@SwiftLint//bazel:repos.bzl", "swiftlint_repos") swiftlint_repos() load("@SwiftLint//bazel:deps.bzl", "swiftlint_deps") swiftlint_deps() ``` </details> Then you can run SwiftLint in the current directory with this command: ```console bazel run @SwiftLint//:swiftlint -- --help ```
0.52.0: Crisp Clear Pleats
19 weeks ago
#### Breaking * The `attributes` rule now expects attributes with arguments to be placed on their own line above the declaration they are supposed to influence. This applies to attributes with any kinds of arguments including single key path arguments which were previously handled in a different way. This behavior can be turned off by setting `attributes_with_arguments_always_on_line_above` to `false. [SimplyDanny](https://github.com/SimplyDanny) [#4843](https://github.com/realm/SwiftLint/issues/4843) * The internal module structure for SwiftLint has changed to split the monolithic `SwiftLintFramework` into new `SwiftLintCore` for core linter infrastructure, `SwiftLintBuiltInRules` for built-in rules and `SwiftLintExtraRules` to add your own native rules to SwiftLint. [JP Simard](https://github.com/jpsim) #### Experimental * None. #### Enhancements * Add new `superfluous_else` rule that triggers on `if`-statements when an attached `else`-block can be removed, because all branches of the previous `if`-block(s) would certainly exit the current scope already. [SimplyDanny](https://github.com/SimplyDanny) * Add `sorted_enum_cases` rule which warns when enum cases are not sorted. [kimdv](https://github.com/kimdv) * Add new `redundant_self_in_closure` rule that triggers in closures on explicitly used `self` when it's actually not needed due to: * Strongly captured `self` (`{ [self] in ... }`) * Closure used in a struct declaration (`self` can always be omitted) * Anonymous closures that are directly called (`{ ... }()`) as they are definitly not escaping * Weakly captured `self` with explicit unwrapping [SimplyDanny](https://github.com/SimplyDanny) [#59](https://github.com/realm/SwiftLint/issues/59) * Extend `xct_specific_matcher` rule to check for boolean asserts on (un)equal comparisons. The rule can be configured with the matchers that should trigger rule violations. By default, all matchers trigger, but that can be limited to just `one-argument-asserts` or `two-argument-asserts`. [SimplyDanny](https://github.com/SimplyDanny) [JP Simard](https://github.com/jpsim) [#3726](https://github.com/realm/SwiftLint/issues/3726) * Trigger `prefer_self_in_static_references` rule on more type references. [SimplyDanny](https://github.com/SimplyDanny) * Adds a new `reporters` command, to improve discoverability of reporters. [Martin Redington](https://github.com/mildm8nnered) [#4819](https://github.com/realm/SwiftLint/issues/4819) * Adds `test_parent_classes` option to the `no_magic_numbers` rule. Violations within test classes will now be ignored by default. [Martin Redington](https://github.com/mildm8nnered) [#4896](https://github.com/realm/SwiftLint/issues/4896) * Stop enforcing calls to super from the override functions `setUp()`, `tearDown()`, `setUpWithError()`, and `tearDownWithError()` in `XCTestCase` subclasses. [AndrewDMontgomery](https://github.com/andrewdmontgomery) [#4875](https://github.com/realm/SwiftLint/pull/4875) * Prepend `warning: ` to error messages so that they show in Xcode. [whiteio](https://github.com/whiteio) [#4923](https://github.com/realm/SwiftLint/issues/4923) * The `attributes` rule received a new boolean option `attributes_with_arguments_always_on_line_above` which is `true` by default. Setting it to `false` ensures that attributes with arguments like `@Persisted(primaryKey: true)` don't violate the rule if they are on the same line with the variable declaration. [SimplyDanny](https://github.com/SimplyDanny) [#4843](https://github.com/realm/SwiftLint/issues/4843) * Add new `unhandled_throwing_task` rule that triggers when a Task with an implicit error type has unhandled trys or errors thrown inside its body. This results in errors being silently discarded, which may be unexpected. See this forum thread for more details: https://forums.swift.org/t/56066 [kylebshr](https://github.com/kylebshr) #### Bug Fixes * Fix `lower_acl_than_parent` rule rewriter by preserving leading whitespace. [SimplyDanny](https://github.com/SimplyDanny) [#4860](https://github.com/realm/SwiftLint/issues/4860) * Ignore block comments in `let_var_whitespace` rule. [SimplyDanny](https://github.com/SimplyDanny) [#4871](https://github.com/realm/SwiftLint/issues/4871) * Fix false positives in `indentation_width` rule. [Sven Münnich](https://github.com/svenmuennich) * Do not trigger `reduce_boolean` on `reduce` methods with a first named argument that is different from `into`. [SimplyDanny](https://github.com/SimplyDanny) [#4894](https://github.com/realm/SwiftLint/issues/4894) * Work around dyld warning about duplicate SwiftSyntax classes. [keith](https://github.com/keith) [#4782](https://github.com/realm/SwiftLint/issues/4782) * Improve lint times of SwiftLintPlugin by moving the `excludedPaths(fileManager:)` operation out of the linting iterations. [andyyhope](https://github.com/andyyhope) [#4844](https://github.com/realm/SwiftLint/issues/4844) --- ### Using Bazel With bzlmod: ``` bazel_dep(name = "swiftlint", version = "0.52.0", repo_name = "SwiftLint") ``` Without bzlmod, put this in your `WORKSPACE`: <details> <summary>WORKSPACE</summary> ```python load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") http_archive( name = "build_bazel_rules_apple", sha256 = "9e26307516c4d5f2ad4aee90ac01eb8cd31f9b8d6ea93619fc64b3cbc81b0944", url = "https://github.com/bazelbuild/rules_apple/releases/download/2.2.0/rules_apple.2.2.0.tar.gz", ) load( "@build_bazel_rules_apple//apple:repositories.bzl", "apple_rules_dependencies", ) apple_rules_dependencies() load( "@build_bazel_rules_swift//swift:repositories.bzl", "swift_rules_dependencies", ) swift_rules_dependencies() load( "@build_bazel_rules_swift//swift:extras.bzl", "swift_rules_extra_dependencies", ) swift_rules_extra_dependencies() http_archive( name = "SwiftLint", sha256 = "c5021aff12fd0e0cbf17c232d8f0e28a27ccf886d5a871681cb78f7b30a20faa", url = "https://github.com/realm/SwiftLint/releases/download/0.52.0/bazel.tar.gz", ) load("@SwiftLint//bazel:repos.bzl", "swiftlint_repos") swiftlint_repos() load("@SwiftLint//bazel:deps.bzl", "swiftlint_deps") swiftlint_deps() ``` </details> Then you can run SwiftLint in the current directory with this command: ```console bazel run @SwiftLint//:swiftlint -- --help ```
0.51.0: bzllint
26 weeks ago
## 0.51.0: bzllint #### Breaking * Deprecate the `unused_capture_list` rule in favor of the Swift compiler warning. At the same time, make it an opt-in rule. [Cyberbeni](https://github.com/Cyberbeni) [#4656](https://github.com/realm/SwiftLint/issues/4656) * Deprecate the `inert_defer` rule in favor of the Swift compiler warning. At the same time, make it an opt-in rule. [SimplyDanny](https://github.com/SimplyDanny) [#4615](https://github.com/realm/SwiftLint/issues/4615) #### Experimental * None. #### Enhancements * Add `duplicate_conditions` rule which warns when a condition is duplicated in separate branches of the same branching statement (if-else, or switch). [1in1](https://github.com/1in1) [#4666](https://github.com/realm/SwiftLint/issues/4666) * Add local links to rule descriptions to every rule listed in `Rule Directory.md`. [kattouf](https://github.com/kattouf) * Make forceExclude work with directly specified files. [jimmya](https://github.com/jimmya) [#4609](https://github.com/realm/SwiftLint/issues/4609) * Adds `all` pseudo-rule for `opt_in_rules` - enables all opt in rules that are not listed in `disabled_rules` [Martin Redington](https://github.com/mildm8nnered) [#4540](https://github.com/realm/SwiftLint/issues/4540) * Separate analyzer rules as an independent section in the rule directory of the reference. [Ethan Wong](https://github.com/GetToSet) [#4664](https://github.com/realm/SwiftLint/pull/4664) * Add rule identifier to output of Emoji reporter. [SimplyDanny](https://github.com/SimplyDanny) [#4707](https://github.com/realm/SwiftLint/issues/4707) * Interpret strings in `excluded` option of `identifier_name`, `type_name` and `generic_type_name` rules as regex. [Moly](https://github.com/kyounh12) [#4655](https://github.com/realm/SwiftLint/pull/4655) * Add new `direct_return` rule that triggers on `return` statements returning variables that have been declared in the statement before only. [SimplyDanny](https://github.com/SimplyDanny) * Add `period_spacing` opt-in rule that checks periods are not followed by 2 or more spaces in comments. [Julioacarrettoni](https://github.com/Julioacarrettoni) [#4624](https://github.com/realm/SwiftLint/pull/4624) * Allow to pass a rule identifier to the `swiftlint docs` command to open its specific documentation website, e.g. `swiftlint docs for_where`. [SimplyDanny](https://github.com/SimplyDanny) [#4707](https://github.com/realm/SwiftLint/issues/4707) * Allow new Quick APIs `aroundEach` and `justBeforeEach` for `quick_discouraged_call`. [David Steinacher](https://github.com/stonko1994) [#4626](https://github.com/realm/SwiftLint/issues/4626) * Add `relative-path` reporter to generate reports with relative file paths. [Roya1v](https://github.com/roya1v) [#4660](https://github.com/realm/SwiftLint/issues/4660) * Let `number_separator` rule trigger on misplaced separators, e.g. `10_00`. [SimplyDanny](https://github.com/SimplyDanny) [#4637](https://github.com/realm/SwiftLint/issues/4637) * Rewrite `multiline_arguments` rule using SwiftSyntax, ignoring trailing closures. [Marcelo Fabri](https://github.com/marcelofabri) [#3399](https://github.com/realm/SwiftLint/issues/3399) [#3605](https://github.com/realm/SwiftLint/issues/3605) * Speed up linting by up to 6% updating to use a newer version of `SwiftSyntax`. [JP Simard](https://github.com/jpsim) * Catch more valid `legacy_multiple` violations. [JP Simard](https://github.com/jpsim) * Catch more valid `no_magic_numbers` violations. [JP Simard](https://github.com/jpsim) * Add `blanket_disable_command` rule that checks whether rules are re-enabled after being disabled. [Martin Redington](https://github.com/mildm8nnered) [#4731](https://github.com/realm/SwiftLint/pull/4731) * Add `invalid_swiftlint_command` rule that validates `// swiftlint:enable` and `disable` commands. [Martin Redington](https://github.com/mildm8nnered) [#4546](https://github.com/realm/SwiftLint/pull/4546) * Improve `identifier_name` documentation. [Martin Redington](https://github.com/mildm8nnered) [#4767](https://github.com/realm/SwiftLint/issues/4767) * Adds `include_multiline_strings` option to `indentation_width` rule. [Martin Redington](https://github.com/mildm8nnered) [#4248](https://github.com/realm/SwiftLint/issues/4248) * Adds a new `summary` reporter, that displays the number of violations of each rule in a text table. [Martin Redington](https://github.com/mildm8nnered) #### Bug Fixes * Report violations in all `<scope>_length` rules when the error threshold is smaller than the warning threshold. [SimplyDanny](https://github.com/SimplyDanny) [#4645](https://github.com/realm/SwiftLint/issues/4645) * Consider custom attributes in `attributes` rule. [SimplyDanny](https://github.com/SimplyDanny) [#4599](https://github.com/realm/SwiftLint/issues/4599) * Fix whitespaces issue in auto-fix of `redundant_optional_initialization` rule when multiple variable declaration are involved. [SimplyDanny](https://github.com/SimplyDanny) [#4794](https://github.com/realm/SwiftLint/issues/4794) * Stop triggering `strict_fileprivate` rule on symbols implementing a protocol in the same file. [SimplyDanny](https://github.com/SimplyDanny) [#4692](https://github.com/realm/SwiftLint/issues/4692) * Fix false positives on `private_subject` rule when using subjects inside functions. [Marcelo Fabri](https://github.com/marcelofabri) [#4643](https://github.com/realm/SwiftLint/issues/4643) * Fix for compiler directives masking subsequent `opening_brace` violations. [Martin Redington](https://github.com/mildm8nnered) [#3712](https://github.com/realm/SwiftLint/issues/3712) * Rewrite `explicit_type_interface` rule with SwiftSyntax fixing a false-positive in if-case-let statements. [SimplyDanny](https://github.com/SimplyDanny) [#4548](https://github.com/realm/SwiftLint/issues/4548) * Stop triggering `unused_capture_list` on captured variable that is only referenced by a shorthand optional binding (`if let capturedVar { ... }`). [SimplyDanny](https://github.com/SimplyDanny) [#4804](https://github.com/realm/SwiftLint/issues/4804) * Ensure that negative literals in initializers do not trigger `no_magic_numbers` rule. [SimplyDanny](https://github.com/SimplyDanny) [#4677](https://github.com/realm/SwiftLint/issues/4677) * Fix caching of `indentation_width` rule. [SimplyDanny](https://github.com/SimplyDanny) [#4121](https://github.com/realm/SwiftLint/issues/4121) * Updated JUnit reporter to output error count and warning count. [patricks](https://github.com/patricks) [#4725](https://github.com/realm/SwiftLint/pull/4725) * Fix correction on `lower_acl_than_parent` rule for `open` declarations. [Marcelo Fabri](https://github.com/marcelofabri) [#4753](https://github.com/realm/SwiftLint/issues/4753) * Fix `void_return` rule to support async and async throws functions. [Mathias Schreck](https://github.com/lo1tuma) [#4772](https://github.com/realm/SwiftLint/issues/4772) * Fix false positives in `attributes` rule when using property wrappers with keypath arguments. [JP Simard](https://github.com/jpsim) * Fix for `superfluous_disable_command` not being completely disabled by `disable` commands. [Martin Redington](https://github.com/mildm8nnered) [#4788](https://github.com/realm/SwiftLint/issues/4788) * Fixed correction for `trailing_comma` rule wrongly removing trailing comments. [Martin Redington](https://github.com/mildm8nnered) [#4814](https://github.com/realm/SwiftLint/issues/4814) --- ### Using Bazel With bzlmod: ``` bazel_dep(name = "swiftlint", version = "0.51.0", repo_name = "SwiftLint") ``` Without bzlmod, put this in your `WORKSPACE`: <details> <summary>WORKSPACE</summary> ```python load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") http_archive( name = "build_bazel_rules_apple", sha256 = "9e26307516c4d5f2ad4aee90ac01eb8cd31f9b8d6ea93619fc64b3cbc81b0944", url = "https://github.com/bazelbuild/rules_apple/releases/download/2.2.0/rules_apple.2.2.0.tar.gz", ) load( "@build_bazel_rules_apple//apple:repositories.bzl", "apple_rules_dependencies", ) apple_rules_dependencies() load( "@build_bazel_rules_swift//swift:repositories.bzl", "swift_rules_dependencies", ) swift_rules_dependencies() load( "@build_bazel_rules_swift//swift:extras.bzl", "swift_rules_extra_dependencies", ) swift_rules_extra_dependencies() http_archive( name = "SwiftLint", sha256 = "8369ca218c4c898b7af202e2ec6180062396f659debca49a1d6c66902a3a37c3", url = "https://github.com/realm/SwiftLint/releases/download/0.51.0/bazel.tar.gz", ) load("@SwiftLint//bazel:repos.bzl", "swiftlint_repos") swiftlint_repos() load("@SwiftLint//bazel:deps.bzl", "swiftlint_deps") swiftlint_deps() ``` </details> Then you can run SwiftLint in the current directory with this command: ```console bazel run @SwiftLint//:swiftlint -- --help ```
0.51.0-rc.2: bzllint
31 weeks ago
This is a prerelease version. It won't be published to Homebrew, CocoaPods or bzlmod. But there are many other ways to install: * Downloading the attached `SwiftLint.pkg` installer and launching it * Downloading the attached `portable_swiftlint.zip` archive, extracting it and moving the binary from `portable_swiftlint/swiftlint` to `/usr/local/bin` or elsewhere in your `PATH` * Using [Mint](https://github.com/yonaskolb/Mint): `mint install realm/[email protected]` * Cloning and building from source: `git clone https://github.com/realm/SwiftLint.git && cd SwiftLint && git checkout 0.51.0-rc.2 && make install` * Docker: ```docker run -it -v `pwd`:`pwd` -w `pwd` ghcr.io/realm/swiftlint:0.51.0-rc.2``` * Bazel: See instructions at the bottom Changes from 0.50.3: https://github.com/realm/SwiftLint/compare/0.50.3...0.51.0-rc.2 Changes from 0.51.0-rc.1: https://github.com/realm/SwiftLint/compare/0.51.0-rc.1...0.51.0-rc.2 --- #### Breaking * Deprecate the `unused_capture_list` rule in favor of the Swift compiler warning. At the same time, make it an opt-in rule. [Cyberbeni](https://github.com/Cyberbeni) [#4656](https://github.com/realm/SwiftLint/issues/4656) * Deprecate the `inert_defer` rule in favor of the Swift compiler warning. At the same time, make it an opt-in rule. [SimplyDanny](https://github.com/SimplyDanny) [#4615](https://github.com/realm/SwiftLint/issues/4615) #### Experimental * None. #### Enhancements * Add local links to rule descriptions to every rule listed in `Rule Directory.md`. [kattouf](https://github.com/kattouf) * Make forceExclude work with directly specified files. [jimmya](https://github.com/jimmya) [#issue_number](https://github.com/realm/SwiftLint/issues/4609) * Separate analyzer rules as an independent section in the rule directory of the reference. [Ethan Wong](https://github.com/GetToSet) [#4664](https://github.com/realm/SwiftLint/pull/4664) * Add rule identifier to output of Emoji reporter. [SimplyDanny](https://github.com/SimplyDanny) [#4707](https://github.com/realm/SwiftLint/issues/4707) * Interpret strings in `excluded` option of `identifier_name`, `type_name` and `generic_type_name` rules as regex. [Moly](https://github.com/kyounh12) [#4655](https://github.com/realm/SwiftLint/pull/4655) * Add new `direct_return` rule that triggers on `return` statements returning variables that have been declared in the statement before only. [SimplyDanny](https://github.com/SimplyDanny) * Add `period_spacing` opt-in rule that checks periods are not followed by 2 or more spaces in comments. [Julioacarrettoni](https://github.com/Julioacarrettoni) [#4624](https://github.com/realm/SwiftLint/pull/4624) * Allow to pass a rule identifier to the `swiftlint docs` command to open its specific documentation website, e.g. `swiftlint docs for_where`. [SimplyDanny](https://github.com/SimplyDanny) [#4707](https://github.com/realm/SwiftLint/issues/4707) * Allow new Quick APIs `aroundEach` and `justBeforeEach` for `quick_discouraged_call`. [David Steinacher](https://github.com/stonko1994) [#4626](https://github.com/realm/SwiftLint/issues/4626) * Add `relative-path` reporter to generate reports with relative file paths. [Roya1v](https://github.com/roya1v) [#4660](https://github.com/realm/SwiftLint/issues/4660) * Let `number_separator` rule trigger on misplaced separators, e.g. `10_00`. [SimplyDanny](https://github.com/SimplyDanny) [#4637](https://github.com/realm/SwiftLint/issues/4637) * Rewrite `multiline_arguments` rule using SwiftSyntax, ignoring trailing closures. [Marcelo Fabri](https://github.com/marcelofabri) [#3399](https://github.com/realm/SwiftLint/issues/3399) [#3605](https://github.com/realm/SwiftLint/issues/3605) * Speed up linting by up to 6% updating to use a newer version of `SwiftSyntax`. [JP Simard](https://github.com/jpsim) * Catch more valid `legacy_multiple` violations. [JP Simard](https://github.com/jpsim) * Catch more valid `no_magic_numbers` violations. [JP Simard](https://github.com/jpsim) #### Bug Fixes * Report violations in all `<scope>_length` rules when the error threshold is smaller than the warning threshold. [SimplyDanny](https://github.com/SimplyDanny) [#4645](https://github.com/realm/SwiftLint/issues/4645) * Consider custom attributes in `attributes` rule. [SimplyDanny](https://github.com/SimplyDanny) [#4599](https://github.com/realm/SwiftLint/issues/4599) * Stop triggering `strict_fileprivate` rule on symbols implementing a protocol in the same file. [SimplyDanny](https://github.com/SimplyDanny) [#4692](https://github.com/realm/SwiftLint/issues/4692) * Fix false positives on `private_subject` rule when using subjects inside functions. [Marcelo Fabri](https://github.com/marcelofabri) [#4643](https://github.com/realm/SwiftLint/issues/4643) * Fix for compiler directives masking subsequent `opening_brace` violations. [Martin Redington](https://github.com/mildm8nnered) [#3712](https://github.com/realm/SwiftLint/issues/3712) * Rewrite `explicit_type_interface` rule with SwiftSyntax fixing a false-positive in if-case-let statements. [SimplyDanny](https://github.com/SimplyDanny) [#4548](https://github.com/realm/SwiftLint/issues/4548) * Ensure that negative literals in initializers do not trigger `no_magic_numbers` rule. [SimplyDanny](https://github.com/SimplyDanny) [#4677](https://github.com/realm/SwiftLint/issues/4677) * Fix caching of `indentation_width` rule. [SimplyDanny](https://github.com/SimplyDanny) [#4121](https://github.com/realm/SwiftLint/issues/4121) * Updated JUnit reporter to output error count and warning count. [patricks](https://github.com/patricks) [#4725](https://github.com/realm/SwiftLint/pull/4725) * Fix correction on `lower_acl_than_parent` rule for `open` declarations. [Marcelo Fabri](https://github.com/marcelofabri) [#4753](https://github.com/realm/SwiftLint/issues/4753) * Fix `void_return` rule to support async and async throws functions. [Mathias Schreck](https://github.com/lo1tuma) [#4772](https://github.com/realm/SwiftLint/issues/4772) * Fix false positives in `attributes` rule when using property wrappers with keypath arguments. [JP Simard](https://github.com/jpsim) --- ### Using Bazel Put this in your `WORKSPACE`: <details> <summary>WORKSPACE</summary> ```python load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") http_archive( name = "build_bazel_rules_apple", sha256 = "43737f28a578d8d8d7ab7df2fb80225a6b23b9af9655fcdc66ae38eb2abcf2ed", url = "https://github.com/bazelbuild/rules_apple/releases/download/2.0.0/rules_apple.2.0.0.tar.gz", ) load( "@build_bazel_rules_apple//apple:repositories.bzl", "apple_rules_dependencies", ) apple_rules_dependencies() load( "@build_bazel_rules_swift//swift:repositories.bzl", "swift_rules_dependencies", ) swift_rules_dependencies() load( "@build_bazel_rules_swift//swift:extras.bzl", "swift_rules_extra_dependencies", ) swift_rules_extra_dependencies() http_archive( name = "SwiftLint", sha256 = "f0e37c2ca277ef8c50d865cbdb75326592bcba11b786caf1fccc3111e9925e01", url = "https://github.com/realm/SwiftLint/releases/download/0.51.0-rc.2/bazel.tar.gz", ) load("@SwiftLint//bazel:repos.bzl", "swiftlint_repos") swiftlint_repos() load("@SwiftLint//bazel:deps.bzl", "swiftlint_deps") swiftlint_deps() ``` </details> Then you can run SwiftLint in the current directory with this command: ```console bazel run @SwiftLint//:swiftlint -- --help ```
0.51.0-rc.1: bzllint
31 weeks ago
This is a prerelease version. It won't be published to Homebrew, CocoaPods or bzlmod. But there are many other ways to install: * Downloading the attached `SwiftLint.pkg` installer and launching it * Downloading the attached `portable_swiftlint.zip` archive, extracting it and moving the binary from `portable_swiftlint/swiftlint` to `/usr/local/bin` or elsewhere in your `PATH` * Using [Mint](https://github.com/yonaskolb/Mint): `mint install realm/[email protected]` * Cloning and building from source: `git clone https://github.com/realm/SwiftLint.git && cd SwiftLint && git checkout 0.51.0-rc.1 && make install` * Docker: ```docker run -it -v `pwd`:`pwd` -w `pwd` ghcr.io/realm/swiftlint:0.51.0-rc.1``` * Bazel: See instructions at the bottom Changes from 0.50.3: https://github.com/realm/SwiftLint/compare/0.50.3...0.51.0-rc.1 --- #### Breaking * Deprecate the `unused_capture_list` rule in favor of the Swift compiler warning. At the same time, make it an opt-in rule. [Cyberbeni](https://github.com/Cyberbeni) [#4656](https://github.com/realm/SwiftLint/issues/4656) * Deprecate the `inert_defer` rule in favor of the Swift compiler warning. At the same time, make it an opt-in rule. [SimplyDanny](https://github.com/SimplyDanny) [#4615](https://github.com/realm/SwiftLint/issues/4615) #### Experimental * None. #### Enhancements * Add local links to rule descriptions to every rule listed in `Rule Directory.md`. [kattouf](https://github.com/kattouf) * Make forceExclude work with directly specified files. [jimmya](https://github.com/jimmya) [#issue_number](https://github.com/realm/SwiftLint/issues/4609) * Separate analyzer rules as an independent section in the rule directory of the reference. [Ethan Wong](https://github.com/GetToSet) [#4664](https://github.com/realm/SwiftLint/pull/4664) * Add rule identifier to output of Emoji reporter. [SimplyDanny](https://github.com/SimplyDanny) [#4707](https://github.com/realm/SwiftLint/issues/4707) * Interpret strings in `excluded` option of `identifier_name`, `type_name` and `generic_type_name` rules as regex. [Moly](https://github.com/kyounh12) [#4655](https://github.com/realm/SwiftLint/pull/4655) * Add new `direct_return` rule that triggers on `return` statements returning variables that have been declared in the statement before only. [SimplyDanny](https://github.com/SimplyDanny) * Add `period_spacing` opt-in rule that checks periods are not followed by 2 or more spaces in comments. [Julioacarrettoni](https://github.com/Julioacarrettoni) [#4624](https://github.com/realm/SwiftLint/pull/4624) * Allow to pass a rule identifier to the `swiftlint docs` command to open its specific documentation website, e.g. `swiftlint docs for_where`. [SimplyDanny](https://github.com/SimplyDanny) [#4707](https://github.com/realm/SwiftLint/issues/4707) * Allow new Quick APIs `aroundEach` and `justBeforeEach` for `quick_discouraged_call`. [David Steinacher](https://github.com/stonko1994) [#4626](https://github.com/realm/SwiftLint/issues/4626) * Add `relative-path` reporter to generate reports with relative file paths. [Roya1v](https://github.com/roya1v) [#4660](https://github.com/realm/SwiftLint/issues/4660) * Let `number_separator` rule trigger on misplaced separators, e.g. `10_00`. [SimplyDanny](https://github.com/SimplyDanny) [#4637](https://github.com/realm/SwiftLint/issues/4637) * Rewrite `multiline_arguments` rule using SwiftSyntax, ignoring trailing closures. [Marcelo Fabri](https://github.com/marcelofabri) [#3399](https://github.com/realm/SwiftLint/issues/3399) [#3605](https://github.com/realm/SwiftLint/issues/3605) * Speed up linting by up to 6% updating to use a newer version of `SwiftSyntax`. [JP Simard](https://github.com/jpsim) * Catch more valid `legacy_multiple` violations. [JP Simard](https://github.com/jpsim) * Catch more valid `no_magic_numbers` violations. [JP Simard](https://github.com/jpsim) #### Bug Fixes * Report violations in all `<scope>_length` rules when the error threshold is smaller than the warning threshold. [SimplyDanny](https://github.com/SimplyDanny) [#4645](https://github.com/realm/SwiftLint/issues/4645) * Consider custom attributes in `attributes` rule. [SimplyDanny](https://github.com/SimplyDanny) [#4599](https://github.com/realm/SwiftLint/issues/4599) * Stop triggering `strict_fileprivate` rule on symbols implementing a protocol in the same file. [SimplyDanny](https://github.com/SimplyDanny) [#4692](https://github.com/realm/SwiftLint/issues/4692) * Fix false positives on `private_subject` rule when using subjects inside functions. [Marcelo Fabri](https://github.com/marcelofabri) [#4643](https://github.com/realm/SwiftLint/issues/4643) * Fix for compiler directives masking subsequent `opening_brace` violations. [Martin Redington](https://github.com/mildm8nnered) [#3712](https://github.com/realm/SwiftLint/issues/3712) * Rewrite `explicit_type_interface` rule with SwiftSyntax fixing a false-positive in if-case-let statements. [SimplyDanny](https://github.com/SimplyDanny) [#4548](https://github.com/realm/SwiftLint/issues/4548) * Ensure that negative literals in initializers do not trigger `no_magic_numbers` rule. [SimplyDanny](https://github.com/SimplyDanny) [#4677](https://github.com/realm/SwiftLint/issues/4677) * Fix caching of `indentation_width` rule. [SimplyDanny](https://github.com/SimplyDanny) [#4121](https://github.com/realm/SwiftLint/issues/4121) * Updated JUnit reporter to output error count and warning count. [patricks](https://github.com/patricks) [#4725](https://github.com/realm/SwiftLint/pull/4725) * Fix correction on `lower_acl_than_parent` rule for `open` declarations. [Marcelo Fabri](https://github.com/marcelofabri) [#4753](https://github.com/realm/SwiftLint/issues/4753) * Fix `void_return` rule to support async and async throws functions. [Mathias Schreck](https://github.com/lo1tuma) [#4772](https://github.com/realm/SwiftLint/issues/4772) * Fix false positives in `attributes` rule when using property wrappers with keypath arguments. [JP Simard](https://github.com/jpsim) --- ### Using Bazel Put this in your `WORKSPACE`: <details> <summary>WORKSPACE</summary> ```python load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") http_archive( name = "build_bazel_rules_apple", sha256 = "43737f28a578d8d8d7ab7df2fb80225a6b23b9af9655fcdc66ae38eb2abcf2ed", url = "https://github.com/bazelbuild/rules_apple/releases/download/2.0.0/rules_apple.2.0.0.tar.gz", ) load( "@build_bazel_rules_apple//apple:repositories.bzl", "apple_rules_dependencies", ) apple_rules_dependencies() load( "@build_bazel_rules_swift//swift:repositories.bzl", "swift_rules_dependencies", ) swift_rules_dependencies() load( "@build_bazel_rules_swift//swift:extras.bzl", "swift_rules_extra_dependencies", ) swift_rules_extra_dependencies() http_archive( name = "SwiftLint", sha256 = "f44b1e1c9aac0b4febbfae8479fc4e60df099066076fb10dfc0f42fd83731170", url = "https://github.com/realm/SwiftLint/releases/download/0.51.0-rc.1/bazel.tar.gz", ) load("@SwiftLint//bazel:repos.bzl", "swiftlint_repos") swiftlint_repos() load("@SwiftLint//bazel:deps.bzl", "swiftlint_deps") swiftlint_deps() ``` </details> Then you can run SwiftLint in the current directory with this command: ```console bazel run @SwiftLint//:swiftlint -- --help ```
0.50.3: Bundle of Towels
41 weeks ago
#### Breaking * None. #### Experimental * None. #### Enhancements * The `SwiftLintPlugin` SwiftPM plugin now uses a prebuilt binary on macOS. [Tony Arnold](https://github.com/tonyarnold) [JP Simard](https://github.com/jpsim) [#4558](https://github.com/realm/SwiftLint/issues/4558) * Don't trigger `shorthand_operator` violations inside a shorthand operator function declaration. [Marcelo Fabri](https://github.com/marcelofabri) [#4611](https://github.com/realm/SwiftLint/issues/4611) * The `balanced_xctest_lifecycle`, `single_test_class`, `empty_xctest_method` and `test_case_accessibility` rules will now be applied to subclasses of `QuickSpec`, as well as `XCTestCase`, by default. [Martin Redington](https://github.com/mildm8nnered) * Add `test_parent_classes` option to `balanced_xctest_lifecycle`, `single_test_class` and `empty_xctest_method` rules. [Martin Redington](https://github.com/mildm8nnered) [#4200](https://github.com/realm/SwiftLint/issues/4200) * Show warnings in the console for Analyzer rules that are listed in the `opt_in_rules` configuration section. [SimplyDanny](https://github.com/SimplyDanny) [#4612](https://github.com/realm/SwiftLint/issues/4612) #### Bug Fixes * Fix configuration parsing error in `unused_declaration` rule. [SimplyDanny](https://github.com/SimplyDanny) [#4612](https://github.com/realm/SwiftLint/issues/4612) * Skip `defer` statements being last in an `#if` block if the `#if` statement is not itself the last statement in a block. [SimplyDanny](https://github.com/SimplyDanny) [#4615](https://github.com/realm/SwiftLint/issues/4615) * Fix false positives in `empty_enum_arguments` when the called expression is an identifier or an init call. [Steffen Matthischke](https://github.com/heeaad) [#4597](https://github.com/realm/SwiftLint/issues/4597) * Fix correction issue in `comma` when there was too much whitespace following the comma. [JP Simard](https://github.com/jpsim) --- ### Using Bazel Put this in your `WORKSPACE`: <details> <summary>WORKSPACE</summary> ```python load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") http_archive( name = "build_bazel_rules_apple", sha256 = "f94e6dddf74739ef5cb30f000e13a2a613f6ebfa5e63588305a71fce8a8a9911", url = "https://github.com/bazelbuild/rules_apple/releases/download/1.1.3/rules_apple.1.1.3.tar.gz", ) load( "@build_bazel_rules_apple//apple:repositories.bzl", "apple_rules_dependencies", ) apple_rules_dependencies() load( "@build_bazel_rules_swift//swift:repositories.bzl", "swift_rules_dependencies", ) swift_rules_dependencies() load( "@build_bazel_rules_swift//swift:extras.bzl", "swift_rules_extra_dependencies", ) swift_rules_extra_dependencies() http_archive( name = "SwiftLint", sha256 = "b8c4d765bcd8b533fcc2e15f32482a1a17572f143b65af388f7d5ac99994a99a", url = "https://github.com/realm/SwiftLint/releases/download/0.50.3/bazel.tar.gz", ) load("@SwiftLint//bazel:repos.bzl", "swiftlint_repos") swiftlint_repos() load("@SwiftLint//bazel:deps.bzl", "swiftlint_deps") swiftlint_deps() ``` </details> Then you can run SwiftLint in the current directory with this command: ```console bazel run -c opt @SwiftLint//:swiftlint -- --help ```
macOS linux
mozilla-mobile/firefox-ios v118.0
Firefox for iOS
⭐️ 11,634
🕓 Yesterday
🔖 Release Notes

Releases

The markdown parsing is broken/disabled for release notes. Sorry about that, I'm chasing the source of a crash that's been bringing this website down for the last couple of days.
v118.0
2 days ago
# Overview This is our official v118.0 release of Firefox-iOS. It's based on the [v118 branch](https://github.com/mozilla-mobile/firefox-ios/tree/release/v118) ## Differences between v117.3 & v118.0 You can view the changes between our previous and newly released version [here](https://github.com/mozilla-mobile/firefox-ios/compare/v117.3...v118.0).
v117.3
2 weeks ago
# Overview This is our official v117.3 release of Firefox-iOS. It's based on the [v117 branch](https://github.com/mozilla-mobile/firefox-ios/tree/release/v117) ## Differences between v117.2 & v117.3 You can view the changes between our previous and newly released version [here](https://github.com/mozilla-mobile/firefox-ios/compare/v117.2...v117.3).
v117.2
3 weeks ago
# Overview This is our official v117.2 release of Firefox-iOS. It's based on the [v117 branch](https://github.com/mozilla-mobile/firefox-ios/tree/release/v117) ## Differences between v117.1 & v117.2 You can view the changes between our previous and newly released version [here](https://github.com/mozilla-mobile/firefox-ios/compare/v117.1...v117.2).
v117.1
3 weeks ago
# Overview This is our official v117.1 release of Firefox-iOS. It's based on the [v117 branch](https://github.com/mozilla-mobile/firefox-ios/tree/release/v117) ## Differences between v117.0 & v117.1 You can view the changes between our previous and newly released version [here](https://github.com/mozilla-mobile/firefox-ios/compare/v117.0...v117.1).
v117.0
4 weeks ago
# Overview This is our official v117.0 release of Firefox-iOS. It's based on the [v117 branch](https://github.com/mozilla-mobile/firefox-ios/tree/release/v117) ## Differences between v116.3 & v117.0 You can view the changes between our previous and newly released version [here](https://github.com/mozilla-mobile/firefox-ios/compare/v116.3...v117.0).
v116.3
5 weeks ago
# Overview This is our official v116.3 release of Firefox-iOS. It's based on the [v116 branch](https://github.com/mozilla-mobile/firefox-ios/tree/release/v116.2) ## Differences between v116.2 & v116.3 You can view the changes between our previous and newly released version [here](https://github.com/mozilla-mobile/firefox-ios/compare/v116.2...v116.3).
v116.2
6 weeks ago
# Overview This is our official v116.2 release of Firefox-iOS. It's based on the [v116 branch](https://github.com/mozilla-mobile/firefox-ios/tree/release/v116.2) ## Differences between v116.1 & v116.2 You can view the changes between our previous and newly released version [here](https://github.com/mozilla-mobile/firefox-ios/compare/v116.1...v116.2).
v116.1
7 weeks ago
# Overview This is our official v116.1 release of Firefox-iOS. It's based on the [v116 branch](https://github.com/mozilla-mobile/firefox-ios/tree/release/v116) ## Differences between v116.0 & v116.1 You can view the changes between our previous and newly released version [here](https://github.com/mozilla-mobile/firefox-ios/compare/v116.0...v116.1).
v116.0
7 weeks ago
# Overview This is our official v116.0 release of Firefox-iOS. It's based on the [v116 branch](https://github.com/mozilla-mobile/firefox-ios/tree/release/v116) ## Differences between v115.1 & v116.0 You can view the changes between our previous and newly released version [here](https://github.com/mozilla-mobile/firefox-ios/compare/v115.1...v116.0).
v115.1
10 weeks ago
# Overview This is our official v115.1 release of Firefox-iOS. It's based on the [v115 branch](https://github.com/mozilla-mobile/firefox-ios/tree/release/v115) # Differences between v115.0 & v115.1 You can view the changes between our previous and newly released version [here](https://github.com/mozilla-mobile/firefox-ios/compare/v115.0...v115.1).
iOS macOS
microsoft/onnxruntime v1.16.0
ONNX Runtime: cross-platform, high performance ML inferencing and training accelerator
⭐️ 10,464
🕓 6 days ago
🔖 Release Notes

Releases

The markdown parsing is broken/disabled for release notes. Sorry about that, I'm chasing the source of a crash that's been bringing this website down for the last couple of days.
ONNX Runtime v1.16.0
6 days ago
# General * Support for serialization of models >=2GB # APIs * New session option to disable default CPU EP fallback `session.disable_cpu_ep_fallback` * Java * Support for fp16 and bf16 tensors as inputs and outputs, along with utilities to convert between these and fp32 data. On JDK 20 and newer the fp16 conversion methods use the JDK's Float.float16ToFloat and Float.floatToFloat16 methods which can be hardware accelerated and vectorized on some platforms. * Support for external initializers so that large models that can be instantiated without filesystem access * C# * Expose OrtValue API as the new preferred API to run inference in C#. This reduces garbage and exposes direct native memory access via Slice like interfaces. * Make Float16 and BFloat16 full featured fp16 interfaces that support conversion and expose floating properties (e.g. IsNaN, IsInfinity, etc) * C++ * Make Float16_t and BFloat16_t full featured fp16 interfaces that support conversion and expose floating properties (e.g. IsNaN, IsInfinity, etc) # Performance * Improve LLM quantization accuracy with smoothquant * Support 4-bit quantization on CPU * Optimize BeamScore to improve BeamSearch performance * Add FlashAttention v2 support for Attention, MultiHeadAttention and PackedMultiHeadAttention ops # Execution Providers * CUDA EP * Initial fp8 support (QDQ, Cast, MatMul) * Relax CUDA Graph constraints to allow more models to utilize * Allow CUDA allocator to be registered with ONNX Runtime externally * TensorRT EP * CUDA Graph support * Support user provided cuda compute stream * Misc bug fixes and improvements * OpenVINO EP * Support OpenVINO 2023.1 * QNN EP * Enable context binary cache to reduce initialization time * Support QNN 2.12 * Support for resize with asymmetric transformation mode on HTP backend * Ops support: Equal, Less, LessOrEqual, Greater, GreaterOrEqual, LayerNorm, Asin, Sign, DepthToSpace, SpaceToDepth * Support 1D Conv/ConvTranspose * Misc bug fixes and improvements # Mobile * Initial support for [Azure EP](https://onnxruntime.ai/docs/execution-providers/Azure-ExecutionProvider.html) * Dynamic shape support for CoreML * Improve React Native performance with JSI * Mobile support for CLIPImageProcessor pre-processing and CLIP scenario * Swift Package Manager support for ONNX Runtime inference and ONNX Runtime extensions via [onnxruntime-swift-package-manager](https://github.com/microsoft/onnxruntime-swift-package-manager) # Web * webgpu ops coverage improvements (SAM, T5, Whisper) * webnn ops coverage improvements (SAM, Stable Diffusion) * Stability/usability improvements for webgpu # Large model training * ORTModule + OpenAI Triton Integration now available. [See details here](https://github.com/microsoft/onnxruntime/blob/main/docs/ORTModule_Training_Guidelines.md#6-use-openai-triton-to-compute-onnx-sub-graph) * [Label Sparsity compute optimization](https://github.com/microsoft/onnxruntime/blob/main/docs/ORTModule_Training_Guidelines.md#ortmodule_enable_compute_optimizer) support complete and enabled by default starting release 1.16 * **New experimental** embedding [sparsity related optimizations](https://github.com/microsoft/onnxruntime/blob/main/docs/ORTModule_Training_Guidelines.md#ortmodule_enable_embedding_sparse_optimizer) available (disabled by default). * Improves training performance of Roberta in Transformers by 20-30% * Other compute optimizations like Gather/Slice/Reshape upstream support enabled. * Optimizations for [LLaMAv2 (~10% acceleration)](https://github.com/huggingface/optimum/tree/main/examples/onnxruntime/training/text-classification#text-classification) and OpenAI Whisper * Improvements to logging and metrics (initialization overhead, memory usage, statistics convergence tool, etc) system improvements. * PythonOp enhancement: bool and tuple[bool] constants, materialize grads, empty inputs, save in context, customized shape inference, use full qualified name for export. * SCELossInternal/SCELossGradInternal CUDA kernels can handle elements more than std::numeric_limits<int32_t>::max. * Improvements to LayerNorm fusion * [Model cache](https://github.com/microsoft/onnxruntime/blob/main/docs/ORTModule_Training_Guidelines.md#ortmodule_cache_dir) for exported onnx model is introduced to avoid repeatedly exporting a model that is not changed across. # On-Device Training * iOS support available starting this release * Minimal build now available for On-Device Training. Basic binary size ~1.5 MB * ORT-Extensions custom op support enabled through onnxblock for on-device training scenarios # ORT Extensions This ORT release is accompanied by updates to [onnxruntime-extensions](https://github.com/microsoft/onnxruntime-extensions/). Features include: * New Python API gen_processing_models to export ONNX data processing model from Huggingface Tokenizers such as LLaMA , CLIP, XLM-Roberta, Falcon, BERT, etc. * New TrieTokenizer operator for RWKV-like LLM models, and other tokenizer operator enhancements. * New operators for Azure EP compatibility: AzureAudioToText, AzureTextToText, AzureTritonInvoker for Python and NuGet packages. * Processing operators have been migrated to the new [Lite Custom Op API](https://github.com/microsoft/onnxruntime/blob/gh-pages/docs/reference/operators/add-custom-op.md#define-and-register-a-custom-operator) --- # Known Issues * ORT CPU Python package requires execution provider to be explicitly provided. See #17631. Fix is in progress to be patched. --- # Contributions Contributors to ONNX Runtime include members across teams at Microsoft, along with our community members: [fs-eire](https://github.com/fs-eire), [edgchen1](https://github.com/edgchen1), [snnn](https://github.com/snnn), [pengwa](https://github.com/pengwa), [mszhanyi](https://github.com/mszhanyi), [PeixuanZuo](https://github.com/PeixuanZuo), [tianleiwu](https://github.com/tianleiwu), [adrianlizarraga](https://github.com/adrianlizarraga), [baijumeswani](https://github.com/baijumeswani), [cloudhan](https://github.com/cloudhan), [satyajandhyala](https://github.com/satyajandhyala), [yuslepukhin](https://github.com/yuslepukhin), [RandyShuai](https://github.com/RandyShuai), [RandySheriffH](https://github.com/RandySheriffH), [skottmckay](https://github.com/skottmckay), [Honry](https://github.com/Honry), [dependabot[bot]](https://github.com/dependabot[bot]), [HectorSVC](https://github.com/HectorSVC), [jchen351](https://github.com/jchen351), [chilo-ms](https://github.com/chilo-ms), [YUNQIUGUO](https://github.com/YUNQIUGUO), [justinchuby](https://github.com/justinchuby), [PatriceVignola](https://github.com/PatriceVignola), [guschmue](https://github.com/guschmue), [yf711](https://github.com/yf711), [Craigacp](https://github.com/Craigacp), [smk2007](https://github.com/smk2007), [RyanUnderhill](https://github.com/RyanUnderhill), [jslhcl](https://github.com/jslhcl), [wschin](https://github.com/wschin), [kunal-vaishnavi](https://github.com/kunal-vaishnavi), [mindest](https://github.com/mindest), [xadupre](https://github.com/xadupre), [fdwr](https://github.com/fdwr), [hariharans29](https://github.com/hariharans29), [AdamLouly](https://github.com/AdamLouly), [wejoncy](https://github.com/wejoncy), [chenfucn](https://github.com/chenfucn), [pranavsharma](https://github.com/pranavsharma), [yufenglee](https://github.com/yufenglee), [zhijxu-MS](https://github.com/zhijxu-MS), [jeffdaily](https://github.com/jeffdaily), [natke](https://github.com/natke), [jeffbloo](https://github.com/jeffbloo), [liqunfu](https://github.com/liqunfu), [wangyems](https://github.com/wangyems), [er3x3](https://github.com/er3x3), [nums11](https://github.com/nums11), [yihonglyu](https://github.com/yihonglyu), [sumitsays](https://github.com/sumitsays), [zhanghuanrong](https://github.com/zhanghuanrong), [askhade](https://github.com/askhade), [wenbingl](https://github.com/wenbingl), [jingyanwangms](https://github.com/jingyanwangms), [ashari4](https://github.com/ashari4), [gramalingam](https://github.com/gramalingam), [georgen117](https://github.com/georgen117), [sfatimar](https://github.com/sfatimar), [BowenBao](https://github.com/BowenBao), [hanbitmyths](https://github.com/hanbitmyths), [stevenlix](https://github.com/stevenlix), [jywu-msft](https://github.com/jywu-msft)
ONNX Runtime v1.15.1
14 weeks ago
This release fixed the following issues: 1. A coding problem in test/shared_lib/test_inference.cc that it should use ASSERT_NEAR to test float values instead of ASSERT_EQ. Without this change, some DNNL/OpenVino tests would fail on some AMD CPUs. 2. A misaligned error in cublasGemmBatchedHelper function. The error only occurs when CUDA version = 11.8 and the GPU's CUDA Compute capability >=80. (In other words: with TensorFloat-32 support) (#15981) 3. A build issue that build with onnxruntime_ENABLE_MEMORY_PROFILE was broken in 1.15.0 release. (#16124) 4. Native onnxruntime library not loading in Azure App Service. It is because in 1.15.0 we introduced a Windows API call to SetThreadDescription. Though the API is available in all Windows 10 versions, some sandbox environments block using the API. (#15375) 5. An alignment problem for xnnpack EP on Intel/AMD CPUs on PC platforms. 6. Some training header files were missing in the 1.15.0 training nuget package. 7. Some fields in OrtCUDAProviderOptionsV2 struct are not initialized 8. The *.dylib files in ONNX Runtime nuget package are not signed. (#16168) # Known issue 1. Segfaults when loading model with local functions, works fine if model is inlined by ONNX (#16170) 2. Cross building for iOS requires manually downloading protoc (#16238)
ONNX Runtime v1.15.0
17 weeks ago
# Announcements Starting from the next release(ONNX Runtime 1.16.0), at operating system level we will drop the support for - iOS 11 and below. iOS 12 will be the minimum supported version. - CentOS 7, Ubuntu 18.04, and any Linux distro without glibc version >=2.28. At compiler level we will drop the support for - GCC version <= 9 - Visual Studio 2019 Also, we will remove the onnxruntime_DISABLE_ABSEIL build option since we will upgrade protobuf and the new protobuf version will need abseil. # General - [Added support for ONNX Optional type in C# API](https://github.com/microsoft/onnxruntime/pull/15314) - [Added collectives to support multi-GPU inferencing](https://github.com/microsoft/onnxruntime/pull/14399) - Updated macOS build machines to macOS-12, which comes with Xcode 14.2 and we should stop using Xcode 12.4 - Added Python 3.11 support (deprecate 3.7, support 3.8-3.11) in packages for Onnxruntime CPU, Onnxruntime-GPU, Onnxruntime-directml, and onnxruntime-training. - Updated to CUDA 11.8. ONNX Runtime source code is still compatible with CUDA 11.4 and 12.x. - Dropped the support for Windows 8.1 and below - Eager mode code and onnxruntime_ENABLE_EAGER_MODE cmake option are deleted. - Upgraded Mimalloc version from 2.0.3 to 2.1.1 - Upgraded protobuf version from 3.18.3 to 21.12 - New dependency: cutlass, which is only used in CUDA/TensorRT packages. - Upgraded DNNL from 2.7.1 to 3.0 # Build System - On POSIX systems by default we disallow using "root" user to build the code. If needed, you can append "--allow_running_as_root" to your build command to bypass the check. - Add the support for building the source natively on Windows ARM64 with Visual Studio 2022. - Added a Gradle wrapper and updated Gradle version from 6.8.3 to 8.0.1. (Gradle is the tool for building ORT Java package) - When doing cross-compiling, the build scripts will try to download a prebuit protoc from Github instead of building the binary from source. Because now protobuf has many dependencies. It is not easy to setup a build environment for protobuf. # Performance - [Improved string marshalling and reduce GC pressure](https://github.com/microsoft/onnxruntime/pull/15545) - [Added a build option to allow using a lock-free queue in threadpool for improved CPU utilization](https://github.com/microsoft/onnxruntime/pull/14834) - [Fix CPU memory leak due to external weights](https://github.com/microsoft/onnxruntime/pull/15040) - Added fused decoder multi-head attention kernel to improve GPT and decoder models(like T5, Whisper) - Added packing mode to improve encoder models with inputs of large padding ratio - Improved generation algorithm (BeamSearch, TopSampling, GreedySearch) - Improved performance for StableDiffusion, ViT, GPT, whisper models # Execution Providers Two new execution providers: JS EP and QNN EP. ## TensorRT EP - Official support for TensorRT 8.6 - Explicit shape profile overrides - Support for TensorRT plugins via ORT custom op - Improve support for TensorRT options (heuristics, sparsity, optimization level, auxiliary stream, tactic source selection etc.) - Support for TensorRT timing cache - Improvements to our test coverage, specifically for opset16-17 models and package pipeline unit test coverage. - Other misc bugfixes and improvements. ## OpenVINO EP - Support for OpenVINO 2023.0 - Dynamic shapes support for iGPU - Changes to OpenVINO backend to improve first inference latency - Deprecation of HDDL-VADM and Myriad VPU support - Misc bug fixes. ## QNN EP - [Initial Public preview release](https://www.nuget.org/packages/Microsoft.ML.OnnxRuntime.QNN) ## DirectML EP: - Updated to [DirectML 1.12](https://github.com/microsoft/DirectML/blob/master/Releases.md#directml-112) - Opset 16-17 support ## AzureEP - Added support for OpenAI whisper model - Available in a Nuget pkg in addition to Python # Mobile ## New packages - Swift Package Manager for onnxruntime - Nuget package for onnxruntime-extensions (supports Android/iOS for MAUI/Xamarin) - React Native package for onnxruntime can optionally include onnxruntime-extensions ## Pre/Post processing - Added support for built-in pre and post processing for NLP scenarios: classification, question-answering, text-prediction - Added support for built-in pre and post processing for Speech Recognition (Whisper) - Added support for built-in post processing for Object Detection (YOLO). Non-max suppression, draw bounding boxes - Additional CoreML and NNAPI kernels to support customer scenarios - NNAPI: BatchNormalization, LRN - CoreML: Div, Flatten, LeakyRelu, LRN, Mul, Pad, Pow, Sub # Web - [preview] WebGPU support - Support building the source code with "MinGW make" on Windows. # ORT Training ## On-device training: - Official package for On-Device Training now available. On-device training extends ORT Inference solutions to enable training on edge devices. - APIs and Language bindings supported for C, C++, Python, C#, Java. - Packages available for Desktop and Android. - For custom [build](https://onnxruntime.ai/docs/build/training.html#build-for-on-device-training)s refer build instructions. ## Others - Added [graph optimizations]( https://github.com/microsoft/onnxruntime/blob/rel-1.15.0/docs/ORTModule_Training_Guidelines.md#ortmodule_enable_compute_optimizer) which leverage the sparsity in the label data to improve performance. With these optimizations we see performance gains ranging from 4% to 15% for popular HF models over baseline ORT. - Vision transformer models like ViT, BEIT and SwinV2 see upto 44% speedup with ORT Training+ DeepSpeed over PyTorch eager mode on AzureML. - Added optimizations for SOTA models like Dolly and Whisper. ORT Training + DS now gives ~17% speedup for Whisper and ~4% speedup for Dolly over PyTorch eager mode. Dolly optimizations on main branch show a ~40% over eager mode. # Known Issues - The onnxruntime-training 1.15.0 packages published to pypi.org were actually built in Debug mode instead of Release mode. You can get the right one from https://download.onnxruntime.ai/ . We will fix the issue in the next patch release. - XNNPack EP does not work on x86 CPUs without AVX-512 instructions, because we used wrong alignment when allocating buffers for XNNPack to use. - The CUDA EP source code has a build error when CUDA version <11.6. See #16000. - The onnxruntime-training builds are missing the training header files. # Contributions Contributors to ONNX Runtime include members across teams at Microsoft, along with our community members: [snnn](https://github.com/snnn), [fs-eire](https://github.com/fs-eire), [edgchen1](https://github.com/edgchen1), [wejoncy](https://github.com/wejoncy), [mszhanyi](https://github.com/mszhanyi), [PeixuanZuo](https://github.com/PeixuanZuo), [pengwa](https://github.com/pengwa), [jchen351](https://github.com/jchen351), [cloudhan](https://github.com/cloudhan), [tianleiwu](https://github.com/tianleiwu), [PatriceVignola](https://github.com/PatriceVignola), [wangyems](https://github.com/wangyems), [adrianlizarraga](https://github.com/adrianlizarraga), [chenfucn](https://github.com/chenfucn), [HectorSVC](https://github.com/HectorSVC), [baijumeswani](https://github.com/baijumeswani), [justinchuby](https://github.com/justinchuby), [skottmckay](https://github.com/skottmckay), [yuslepukhin](https://github.com/yuslepukhin), [RandyShuai](https://github.com/RandyShuai), [RandySheriffH](https://github.com/RandySheriffH), [natke](https://github.com/natke), [YUNQIUGUO](https://github.com/YUNQIUGUO), [smk2007](https://github.com/smk2007), [jslhcl](https://github.com/jslhcl), [chilo-ms](https://github.com/chilo-ms), [yufenglee](https://github.com/yufenglee), [RyanUnderhill](https://github.com/RyanUnderhill), [hariharans29](https://github.com/hariharans29), [zhanghuanrong](https://github.com/zhanghuanrong), [askhade](https://github.com/askhade), [wschin](https://github.com/wschin), [jywu-msft](https://github.com/jywu-msft), [mindest](https://github.com/mindest), [zhijxu-MS](https://github.com/zhijxu-MS), [dependabot[bot]](https://github.com/dependabot[bot]), [xadupre](https://github.com/xadupre), [liqunfu](https://github.com/liqunfu), [nums11](https://github.com/nums11), [gramalingam](https://github.com/gramalingam), [Craigacp](https://github.com/Craigacp), [fdwr](https://github.com/fdwr), [shalvamist](https://github.com/shalvamist), [jstoecker](https://github.com/jstoecker), [yihonglyu](https://github.com/yihonglyu), [sumitsays](https://github.com/sumitsays), [stevenlix](https://github.com/stevenlix), [iK1D](https://github.com/iK1D), [pranavsharma](https://github.com/pranavsharma), [georgen117](https://github.com/georgen117), [sfatimar](https://github.com/sfatimar), [MaajidKhan](https://github.com/MaajidKhan), [satyajandhyala](https://github.com/satyajandhyala), [faxu](https://github.com/faxu), [jcwchen](https://github.com/jcwchen), [hanbitmyths](https://github.com/hanbitmyths), [jeffbloo](https://github.com/jeffbloo), [souptc](https://github.com/souptc), [ytaous](https://github.com/ytaous) [kunal-vaishnavi](https://github.com/kunal-vaishnavi)
ONNX Runtime v1.14.1
29 weeks ago
This patch addresses packaging issues and bug fixes on top of v1.14.0: * Mac OS Python build for x86 arch (issue: #14663) * DirectML EP fixes: sequence ops (#14442), package naming to remove -dev suffix * CUDA12 build compatibility (#14659) * Performance regression fixes: IOBinding input (#14719), Transformer models (#14732, #14517, #14699) * ORT Training kernel fix (#14727) Only select packages were published for this patch release; others can be found in the attachments below: * Pypi: [onnxruntime](https://pypi.org/project/onnxruntime), [onnxruntime-gpu](https://pypi.org/project/onnxruntime-gpu), [onnxruntime-directml](https://pypi.org/project/onnxruntime-directml), [onnxruntime-training](https://pypi.org/project/onnxruntime-training/) * Nuget: [Microsoft.ML.OnnxRuntime](https://www.nuget.org/packages/Microsoft.ML.OnnxRuntime), [Microsoft.ML.OnnxRuntime.Gpu](https://www.nuget.org/packages/Microsoft.ML.OnnxRuntime.Gpu), [Microsoft.ML.OnnxRuntime.DirectML](https://www.nuget.org/packages/Microsoft.ML.OnnxRuntime.directml), [Microsoft.AI.MachineLearning](https://www.nuget.org/packages/Microsoft.AI.MachineLearning)
ONNX Runtime v1.14.0
32 weeks ago
# Announcements * Building ORT from source will require cmake version >=3.24 instead of >=3.18. # General * [ONNX 1.13](https://github.com/onnx/onnx/releases/tag/v1.13.0) support (opset 18) * Threading * ORT Threadpool is now NUMA aware [(details)](https://onnxruntime.ai/docs/performance/tune-performance.html#numa-support-and-performance-tuning) * New API to set thread affinity ([details](https://onnxruntime.ai/docs/performance/tune-performance.html#set-intra-op-thread-affinity)) * New custom operator APIs * Enables a custom operator to wrap an entire model that is meant to be inferenced with an external API or runtime. * [Details](https://onnxruntime.ai/docs/reference/operators/add-custom-op.html#define-and-register-a-custom-operator) and [example](https://github.com/microsoft/onnxruntime/tree/main/onnxruntime/test/testdata/custom_op_openvino_wrapper_library) * Multi-stream Execution Provider refactoring * Improves GPU utilization by putting parallel inference requests on different GPU streams. Updated for CUDA, TensorRT, and ROCM execution providers * Improves memory efficiency by enabling GPU memory reuse across different streams * Enables Execution Provider developer to customize its stream implementation by providing "Stream" interface in ExecutionProvider API * *[Preview]* [Rust API](https://github.com/microsoft/onnxruntime/tree/main/rust) for ORT - not part of release branch but available to build in main. # Performance * Support of quantization with AMX on Sapphire Rapids processors * CUDA EP performance improvements: * Improve performance of transformer models and decoding methods: beam search, greedy search, and topp sampling. * Stable Diffusion model optimizations * Change cudnn_conv_use_max_workspace default value to be 1 * Performance improvements to GRU and Slice operators # Execution Providers * TensorRT EP * Adds support for TensorRT 8.5 GA versions * Bug fixes * OpenVINO EP * Adds support for OpenVINO 2022.3 * DirectML EP: * Updated to DML [1.10.1](https://www.nuget.org/packages/Microsoft.AI.DirectML) * Additional operators: [NonZero](https://github.com/microsoft/onnxruntime/pull/13768), [Shape](https://github.com/microsoft/onnxruntime/pull/13442), [Size](https://github.com/microsoft/onnxruntime/pull/13442), [Attention](https://github.com/microsoft/onnxruntime/pull/13371), [EmbedLayerNorm](https://github.com/microsoft/onnxruntime/pull/13868), [SkipLayerNorm](https://github.com/microsoft/onnxruntime/pull/13849), [BiasGelu](https://github.com/microsoft/onnxruntime/pull/13795) * Additional data types: [Abs](https://github.com/microsoft/onnxruntime/pull/13470), [Sign](https://github.com/microsoft/onnxruntime/pull/13470), [Where](https://github.com/microsoft/onnxruntime/pull/13443) * Enable SetOptimizedFilePath [export/reload](https://github.com/microsoft/onnxruntime/pull/13913) * Bug fixes/extensions: [allow squeeze-13 axes](https://github.com/microsoft/onnxruntime/pull/13635), [EinSum with MatMul NHCW](https://github.com/microsoft/onnxruntime/pull/13440) * [ROCm EP](https://onnxruntime.ai/docs/execution-providers/ROCm-ExecutionProvider.html): 5.4 support and GA ready * *[Preview]* [Azure EP](https://onnxruntime.ai/docs/execution-providers/Azure-ExecutionProvider.html) - supports AzureML hosted models using Triton for hybrid inferencing on-device and on-cloud # Mobile * Pre/Post processing * Support updating mobilenet and super resolution models to move the pre and post processing into the model, including usage of custom ops for conversion to/from jpg/png * [onnxruntime-extensions python package](https://pypi.org/project/onnxruntime-extensions/) includes the model update script to add pre/post processing to the model * See [example](https://github.com/microsoft/onnxruntime-extensions/blob/main/tutorials/superresolution_e2e.py) model update usage * *[Coming soon]* onnxruntime-extensions packages for Android and iOS with DecodeImage and EncodeImage custom ops * Updated the onnxruntime inference examples to demonstrate end-to-end usage with onnxruntime-extensions package * [SuperResolution model](https://github.com/microsoft/onnxruntime-inference-examples/tree/main/mobile/examples/super_resolution) * XNNPACK * Added support for additional commonly used operators * Add iOS build support * XNNPACK EP is now included in the onnxruntime-c iOS package * Added support for using the ORT allocator in XNNPACK kernels to minimize memory usage # Web * [onnxruntime-extensions](https://github.com/microsoft/onnxruntime-extensions) included in default ort-web build (NLP centric) * XNNPACK Gemm * Improved exception handling * New [utility functions](https://onnxruntime.ai/docs/api/js/index.html) (experimental) to help with exchanging data between images and tensors. # Training * Performance optimizations and bug fixes for Hugging Face models (i.e. Xlnet and Bloom) * Stable diffusion optimizations for training, including support for Resize and InstanceNorm gradients and addition of ORT-enabled examples to the [diffusers library](https://github.com/huggingface/diffusers/tree/main/examples/research_projects/onnxruntime) * FP16 optimizer exposed in torch-ort ([details](https://github.com/microsoft/onnxruntime/blob/main/docs/ORTModule_Training_Guidelines.md#4-use-fp16_optimizer-to-complement-deepspeedapex)) * Bug fixes for Hugging Face models # Known Issues * The [Microsoft.ML.OnnxRuntime.DirectML](https://www.nuget.org/packages/Microsoft.ML.OnnxRuntime.DirectML) package name includes -dev-* suffix. This is functionally equivalent to the release branch build, and a patch is in progress. --- # Contributions Contributors to ONNX Runtime include members across teams at Microsoft, along with our community members: [snnn](https://github.com/snnn), [skottmckay](https://github.com/skottmckay), [edgchen1](https://github.com/edgchen1), [hariharans29](https://github.com/hariharans29), [tianleiwu](https://github.com/tianleiwu), [yufenglee](https://github.com/yufenglee), [guoyu-wang](https://github.com/guoyu-wang), [yuslepukhin](https://github.com/yuslepukhin), [fs-eire](https://github.com/fs-eire), [pranavsharma](https://github.com/pranavsharma), [iK1D](https://github.com/iK1D), [baijumeswani](https://github.com/baijumeswani), [tracysh](https://github.com/tracysh), [thiagocrepaldi](https://github.com/thiagocrepaldi), [askhade](https://github.com/askhade), [RyanUnderhill](https://github.com/RyanUnderhill), [wangyems](https://github.com/wangyems), [fdwr](https://github.com/fdwr), [RandySheriffH](https://github.com/RandySheriffH), [jywu-msft](https://github.com/jywu-msft), [zhanghuanrong](https://github.com/zhanghuanrong), [smk2007](https://github.com/smk2007), [pengwa](https://github.com/pengwa), [liqunfu](https://github.com/liqunfu), [shahasad](https://github.com/shahasad), [mszhanyi](https://github.com/mszhanyi), [SherlockNoMad](https://github.com/SherlockNoMad), [xadupre](https://github.com/xadupre), [jignparm](https://github.com/jignparm), [HectorSVC](https://github.com/HectorSVC), [ytaous](https://github.com/ytaous), [weixingzhang](https://github.com/weixingzhang), [stevenlix](https://github.com/stevenlix), [tiagoshibata](https://github.com/tiagoshibata), [faxu](https://github.com/faxu), [wschin](https://github.com/wschin), [souptc](https://github.com/souptc), [ashbhandare](https://github.com/ashbhandare), [RandyShuai](https://github.com/RandyShuai), [chilo-ms](https://github.com/chilo-ms), [PeixuanZuo](https://github.com/PeixuanZuo), [cloudhan](https://github.com/cloudhan), [dependabot[bot]](https://github.com/dependabot[bot]), [jeffbloo](https://github.com/jeffbloo), [chenfucn](https://github.com/chenfucn), [linkerzhang](https://github.com/linkerzhang), [duli2012](https://github.com/duli2012), [codemzs](https://github.com/codemzs), [oliviajain](https://github.com/oliviajain), [natke](https://github.com/natke), [YUNQIUGUO](https://github.com/YUNQIUGUO), [Craigacp](https://github.com/Craigacp), [sumitsays](https://github.com/sumitsays), [orilevari](https://github.com/orilevari), [BowenBao](https://github.com/BowenBao), [yangchen-MS](https://github.com/yangchen-MS), [hanbitmyths](https://github.com/hanbitmyths), [satyajandhyala](https://github.com/satyajandhyala), [MaajidKhan](https://github.com/MaajidKhan), [smkarlap](https://github.com/smkarlap), [sfatimar](https://github.com/sfatimar), [jchen351](https://github.com/jchen351), [georgen117](https://github.com/georgen117), [wejoncy](https://github.com/wejoncy), [PatriceVignola](https://github.com/PatriceVignola), [adrianlizarraga](https://github.com/adrianlizarraga), [justinchuby](https://github.com/justinchuby), [zhangxiang1993](https://github.com/zhangxiang1993), [gineshidalgo99](https://github.com/gineshidalgo99), [tlh20](https://github.com/tlh20), [xzhu1900](https://github.com/xzhu1900), [jeffdaily](https://github.com/jeffdaily), [suryasidd](https://github.com/suryasidd), [yihonglyu](https://github.com/yihonglyu), [liuziyue](https://github.com/liuziyue), [chentaMS](https://github.com/chentaMS), [jcwchen](https://github.com/jcwchen), [ybrnathan](https://github.com/ybrnathan), [ajindal1](https://github.com/ajindal1), [zhijxu-MS](https://github.com/zhijxu-MS), [gramalingam](https://github.com/gramalingam), [WilBrady](https://github.com/WilBrady), [garymm](https://github.com/garymm), [kkaranasos](https://github.com/kkaranasos), [ashari4](https://github.com/ashari4), [martinb35](https://github.com/martinb35), [AdamLouly](https://github.com/AdamLouly), [zhangyaobit](https://github.com/zhangyaobit), [vvchernov](https://github.com/vvchernov), [jingyanwangms](https://github.com/jingyanwangms), [wenbingl](https://github.com/wenbingl), [daquexian](https://github.com/daquexian), [sreekanth-yalachigere](https://github.com/sreekanth-yalachigere), [NonStatic2014](https://github.com/NonStatic2014), [mayavijx](https://github.com/mayavijx), [mindest](https://github.com/mindest), [jstoecker](https://github.com/jstoecker), [manashgoswami](https://github.com/manashgoswami), [Andrews548](https://github.com/Andrews548), [baowenlei](https://github.com/baowenlei), [kunal-vaishnavi](https://github.com/kunal-vaishnavi)
ONNX Runtime v1.13.1
48 weeks ago
# Announcements * Security issues addressed by this release 1. A protobuf security issue CVE-2022-1941 that impact users who load ONNX models from untrusted sources, for example, a deep learning inference service which allows users to upload their models then runs the inferences in a shared environment. 2. An ONNX security vulnerability that allows reading of tensor_data outside the model directory, which allows attackers to read or write arbitrary files on an affected system that loads ONNX models from untrusted sources. (#12915) * Deprecations * CUDA 10.x support at source code level * Windows 8.x support in Nuget/C API prebuilt binaries. Support for Windows 7+ Desktop versions (including Windows servers) will be retained by building ONNX Runtime from source. * NUPHAR EP code is removed * Dependency versioning updates * C++ 17 compiler is now required to build ORT from source. On Linux, GCC version >=7.0 is required. * Minimal numpy version bumped to 1.21.6 (from 1.21.0) for ONNX Runtime Python packages * Official ONNX Runtime GPU packages now require CUDA version >=11.6 instead of 11.4. # General * Expose all arena configs in Python API in an extensible way * Fix ARM64 NuGet packaging * Fix EP allocator setup issue affecting TVM EP # Performance * Transformers CUDA improvements * Quantization on GPU for BERT - notebook, documentation on QAT, transformer optimization toolchain and quantized kernels. * Add fused attention CUDA kernels for BERT. * Fuse `Add` (bias) and `Transpose` of Q/K/V into one kernel for Attention and LongformerAttention. * Reduce GEMM computation in LongformerAttention with a new weight format. * General quantization (tool and kernel) * [Quantization debugging tool](https://onnxruntime.ai/docs/performance/quantization.html#quantization-debugging) - identify sensitive node/layer from accuracy drop discrepancies * New quantize API based on QuantConfig * New quantized operators: SoftMax, Split, Where # Execution Providers * CUDA EP * Official ONNX Runtime GPU packages are now built with CUDA version 11.6 instead of 11.4, but should still be backwards compatible with 11.4 * TensorRT EP * Build option to link against pre-built onnx-tensorrt parser; this enables potential "no-code" TensorRT minor version upgrades and can be used to build against TensorRT 8.5 EA * Improved nested control flow support * Improve HashId generation used for uniquely identifying TRT engines. Addresses issues such as [TRT Engine Cache Regeneration Issue](https://github.com/triton-inference-server/onnxruntime_backend/issues/145) * TensorRT uint8 support * OpenVINO EP * OpenVINO version upgraded to 2022.2.0 * Support for INT8 QDQ models from [NNCF](https://github.com/openvinotoolkit/nncf/tree/develop/examples/experimental/onnx/) * Support for Intel 13th Gen Core Process (Raptor Lake) * Preview support for Intel discrete graphics cards [Intel Data Center GPU Flex Series](https://www.intel.com/content/www/us/en/products/docs/discrete-gpus/data-center-gpu/flex-series/overview.html) and [Intel Arc GPU](https://www.intel.com/content/www/us/en/products/details/discrete-gpus/arc.html) * Increased test coverage for GPU Plugin * SNPE EP * Add support for [Windows Dev Kit 2023](https://onnxruntime.ai/winarm.html) * [Nuget Package](https://www.nuget.org/packages/Microsoft.ML.OnnxRuntime.Snpe) is now available * DirectML EP * Update to [DML 1.9.1](https://www.nuget.org/packages/Microsoft.AI.DirectML/1.9.1) * [New ops](https://github.com/microsoft/onnxruntime/blob/main/docs/OperatorKernels.md#dmlexecutionprovider): [LayerNormalization](https://github.com/microsoft/onnxruntime/pull/12809), [Gelu](https://github.com/microsoft/onnxruntime/pull/12898/), MatMulScale, [DFT](https://github.com/microsoft/onnxruntime/pull/12710), [FusedMatMul](https://github.com/microsoft/onnxruntime/pull/12898/) (contrib) * Bug fixes: DML EP Fix InstanceNormalization with 3D tensors (#12693), DML EP squeeze all axes when empty (#12649), DirectML GEMM broken in opset 11 and 13 when optional tensor C not provided (#12568) * **[new]** CANN EP - Initial integration of CANN EP contributed by Huawei to support Ascend 310 (#11477) # Mobile * EP infrastructure * Implemented support for additional EPs that use static kernels * Required for EPs like XNNPACK to be supported in minimal build * Removes need for kernel hashes to reduce maintenance overhead for developers * NOTE: ORT format models will need to be regenerated as the format change is NOT backwards compatible. We're replacing hashes for the CPU EP kernels with operator constraint information for operators used by the model so that we can match any static kernels available at runtime. * XNNPack * Added more kernels including QDQ format model support * AveragePool, Softmax, * QLinearConv, QLinearAveragePool, QLinearSoftmax * Added support for XNNPACK using threadpool * See [documentation](https://onnxruntime.ai/docs/execution-providers/Xnnpack-ExecutionProvider.html) for recommendations on how to configure the XNNPACK threadpool * ORT format model peak memory usage * Added ability to use ORT format model directly for initializers to reduce peak memory usage * Enabled via SessionOptions config * https://onnxruntime.ai/docs/reference/ort-format-models.html#load-ort-format-model-from-an-in-memory-byte-array * Set "session.use_ort_model_bytes_directly" and "session.use_ort_model_bytes_for_initializers" to "1" # Web * Support for 4GB memory in webassembly * Upgraded emscripten to 3.1.19 * Build from source support for [onnxruntime-extensions](https://github.com/microsoft/onnxruntime-extensions) and [sentencepiece](https://github.com/microsoft/onnxruntime-extensions/blob/main/docs/custom_ops.md#sentencepiecetokenizer) * Initial support for XNNPACK for optimizations for Wasm # Training * Training packages updated to CUDA version 11.6 and removed CUDA 10.2 and 11.3 * Performance improvements via op fusions like BiasSoftmax and Dropout fusion, Gather to Split fusion etc targeting SOTA models * Added Aten support for GroupNorm, InstanceNormalization, Upsample nearest * Bug fix for SimplifiedLayerNorm, seg fault for alltoall --- # Contributions Contributors to ONNX Runtime include members across teams at Microsoft, along with our community members: [snnn](https://github.com/snnn), [baijumeswani#2baijumeswani](https://github.com/baijumeswani#2baijumeswani), [edgchen1](https://github.com/edgchen1), [iK1D](https://github.com/iK1D), [skottmckay](https://github.com/skottmckay), [cloudhan](https://github.com/cloudhan), [tianleiwu](https://github.com/tianleiwu), [fs-eire](https://github.com/fs-eire), [mszhanyi](https://github.com/mszhanyi), [WilBrady](https://github.com/WilBrady), [hariharans29](https://github.com/hariharans29), [chenfucn](https://github.com/chenfucn), [fdwr](https://github.com/fdwr), [yuslepukhin](https://github.com/yuslepukhin), [wejoncy](https://github.com/wejoncy), [PeixuanZuo](https://github.com/PeixuanZuo), [pengwa](https://github.com/pengwa), [yufenglee](https://github.com/yufenglee), [jchen351](https://github.com/jchen351), [justinchuby](https://github.com/justinchuby), [dependabot[bot]](https://github.com/dependabot[bot]), [RandySheriffH](https://github.com/RandySheriffH), [sumitsays](https://github.com/sumitsays), [wschin](https://github.com/wschin), [wangyems](https://github.com/wangyems), [YUNQIUGUO](https://github.com/YUNQIUGUO), [ytaous](https://github.com/ytaous), [pranavsharma](https://github.com/pranavsharma), [vvchernov](https://github.com/vvchernov), [natke](https://github.com/natke), [Craigacp](https://github.com/Craigacp), [RandyShuai](https://github.com/RandyShuai), [smk2007](https://github.com/smk2007), [zhangyaobit](https://github.com/zhangyaobit), [jcwchen](https://github.com/jcwchen), [yihonglyu](https://github.com/yihonglyu), [georgen117](https://github.com/georgen117), [chilo-ms](https://github.com/chilo-ms), [ashbhandare](https://github.com/ashbhandare), [faxu](https://github.com/faxu), [jstoecker](https://github.com/jstoecker), [gramalingam](https://github.com/gramalingam), [garymm](https://github.com/garymm), [jeffbloo](https://github.com/jeffbloo), [xadupre](https://github.com/xadupre), [jywu-msft](https://github.com/jywu-msft), [askhade](https://github.com/askhade), [RyanUnderhill](https://github.com/RyanUnderhill), [thiagocrepaldi](https://github.com/thiagocrepaldi), [mindest](https://github.com/mindest), [jingyanwangms](https://github.com/jingyanwangms), [wenbingl](https://github.com/wenbingl), [ashari4](https://github.com/ashari4), [sfatimar](https://github.com/sfatimar), [MaajidKhan](https://github.com/MaajidKhan), [souptc](https://github.com/souptc), [HectorSVC](https://github.com/HectorSVC), [weixingzhang](https://github.com/weixingzhang), [zhanghuanrong](https://github.com/zhanghuanrong)
ONNX Runtime v1.12.1
1 year ago
This patch addresses packaging issues and bug fixes on top of v1.12.0. - Java package: MacOS M1 support folder structure fix - Android package: enable optimizations - GPU (TensorRT provider): bug fixes - DirectML: package fix - WinML: bug fixes See #12418 for full list of specific fixes included
ONNX Runtime v1.12.0
1 year ago
# Announcements * For Execution Provider maintainers/owners: the [lightweight compile API](https://github.com/microsoft/onnxruntime/blob/master/include/onnxruntime/core/framework/execution_provider.h#L249) is now the default compiler API for all Execution Providers (this was previously only available for the mobile build). If you have an EP using the [legacy compiler API](https://github.com/microsoft/onnxruntime/blob/master/include/onnxruntime/core/framework/execution_provider.h#L237), please migrate to the lightweight compile API as soon as possible. The legacy API will be deprecated in next release (ORT 1.13). * netstandard1.1 support is being deprecated in this release and will be removed in the next ORT 1.13 release # Key Updates ## General * ONNX spec support * onnx opset 17 * onnx-ml opset 3 (TreeEnsemble update) * BeamSearch operator for encoder-decoder transformers models * Support for invoking individual ops without the need to create a separate graph * For use with custom op development to reuse ORT code * Support for feeding external initializers (for large models) as byte arrays for model inferencing * Build switch to disable usage of abseil library to remove dependency ## Packages * Python 3.10 support * Mac M1 support in Python and Java packages * .NET 6/MAUI support in Nuget C# package * Additional target frameworks: net6.0, net6.0-android, net6.0-ios, net6.0-macos * NOTE: netstandard1.1 support is being deprecated in this release and will be removed in the 1.13 release * [onnxruntime-openvino](https://pypi.org/project/onnxruntime-openvino/1.12.0/) package available on Pypi (from Intel) ## Performance and Quantization * Improved C++ APIs that now utilize RAII for better memory management * Operator performance optimizations, including GatherElements * Memory optimizations to support compute-intensive real-time inferencing scenarios (e.g. audio inferencing scenarios) * CPU usage savings for infrequent inference requests by reducing thread spinning * Memory usage reduction through use of containers from the abseil library, especially inlined vectors used to store tensor shapes and inlined hash maps * New quantized kernels for weight symmetry to improve performance on ARM64 little core (GEMM and Conv) * Specialized kernel to improve performance of quantized Resize by up to 2x speedup * Improved the thread job partition for QLinearConv, demonstrating up to ~20% perf gain for certain models * Quantization tool: improved ONNX shape inference for large models ## Execution Providers * TensorRT EP * TensorRT 8.4 support * Provide option to share execution context memory between TensorRT subgraphs * Workaround long CI test time caused by frequent initialization/de-initialization of TensorRT builder * Improve subgraph partitioning and consolidate TensorRT subgraphs when possible * Refactor engine cache serialization/deserialization logic * Miscellaneous bug fixes and performance improvements * OpenVINO EP * Pre-Built ONNXRuntime binaries with OpenVINO now available on pypi: [onnxruntime-openvino](https://pypi.org/project/onnxruntime-openvino/1.12.0/) * Performance optimizations of existing supported models * New runtime configuration option ‘enable_dynamic_shapes’ added to enable dynamic shapes for each iteration * ORTModule included as part of OVEP Python Package to enable Torch ORT Inference * DirectML EP * Updated to [DirectML 1.9](https://github.com/microsoft/DirectML/blob/master/Releases.md#directml-190) * Opset 13-15 support: [#11827](https://github.com/microsoft/onnxruntime/pull/11827), [#11814](https://github.com/microsoft/onnxruntime/pull/11814), [#11782](https://github.com/microsoft/onnxruntime/pull/11782), [#11772](https://github.com/microsoft/onnxruntime/pull/11772) * Bug fixes: [Xbox command list reuse](https://github.com/microsoft/onnxruntime/pull/12063), [descriptor heap reset](https://github.com/microsoft/onnxruntime/pull/12059), [command allocator memory growth](https://github.com/microsoft/onnxruntime/pull/12114), [negative pad counts](https://github.com/microsoft/onnxruntime/pull/11974), [node suffix removal](https://github.com/microsoft/onnxruntime/pull/11879) * TVM EP - [details](https://onnxruntime.ai/docs/execution-providers/TVM-ExecutionProvider.html) * Updated to add model .dll ingestion and execution on Windows * Updated documentation and CI tests * ***[New]*** SNPE EP - [details](https://onnxruntime.ai/docs/execution-providers/SNPE-ExecutionProvider.html) * ***[Preview]*** XNNPACK EP - initial infrastructure with limited operator support, for use with ORT Mobile and ORT Web * Currently supports Conv and MaxPool, with work in progress to add more kernels ## Mobile * Binary size reductions in Android minimal build - 12% reduction in size of base build with no operator kernels * Added new operator support to NNAPI and CoreML EPs to improve ability to run super resolution and BERT models using NPU * NNAPI: DepthToSpace, PRelu, Gather, Unsqueeze, Pad * CoreML: DepthToSpace, PRelu * Added [Docker file](https://onnxruntime.ai/docs/build/custom.html#android) to simplify running a custom minimal build to create an ORT Android package * Initial XNNPACK EP compatibility ## Web * Memory usage optimizations * Initial XNNPACK EP compatibility ## ORT Training * ***[New]*** ORT Training acceleration is also natively available through [HuggingFace Optimum](https://github.com/huggingface/optimum#training) * ***[New]*** FusedAdam Optimizer now available through the torch-ort package for easier training integration * FP16_Optimizer Support for more DeepSpeed Versions * Bfloat16 support for AtenOp * Added gradient ops for ReduceMax and ReduceMin * Updates to Min and Max grad ops to use distributed logic * Optimizations * Optimized perf for Gelu and GeluGrad kernels for mixed precision models * Enabled fusions for SimplifiedLayerNorm * Added bitmask versions of Dropout, BiasDropout and DropoutGrad which brings ~8x space savings for the mast output. # Known issues * The [Microsoft.ML.OnnxRuntime.DirectML](https://www.nuget.org/packages/Microsoft.ML.OnnxRuntime.DirectML) package on Nuget has an issue and will be fixed in a patch. Fix: #12368 * The [Maven package](https://search.maven.org/artifact/com.microsoft.onnxruntime/onnxruntime) has a packaging issue for Mac M1 builds and will be fixed in a patch. Fix: #12335 / [Workaround discussion](https://github.com/microsoft/onnxruntime/issues/11054#issuecomment-1195391571) * Windows builds are not compatible with Windows 8.x in this release. Please use v1.11 for now. --- # Contributions Contributors to ONNX Runtime include members across teams at Microsoft, along with our community members: [snnn](https://github.com/snnn), [edgchen1](https://github.com/edgchen1), [fdwr](https://github.com/fdwr), [skottmckay](https://github.com/skottmckay), [iK1D](https://github.com/iK1D), [fs-eire](https://github.com/fs-eire), [mszhanyi](https://github.com/mszhanyi), [WilBrady](https://github.com/WilBrady), [justinchuby](https://github.com/justinchuby), [tianleiwu](https://github.com/tianleiwu), [PeixuanZuo](https://github.com/PeixuanZuo), [garymm](https://github.com/garymm), [yufenglee](https://github.com/yufenglee), [adrianlizarraga](https://github.com/adrianlizarraga), [yuslepukhin](https://github.com/yuslepukhin), [dependabot[bot]](https://github.com/dependabot[bot]), [chilo-ms](https://github.com/chilo-ms), [vvchernov](https://github.com/vvchernov), [oliviajain](https://github.com/oliviajain), [ytaous](https://github.com/ytaous), [hariharans29](https://github.com/hariharans29), [sumitsays](https://github.com/sumitsays), [wangyems](https://github.com/wangyems), [pengwa](https://github.com/pengwa), [baijumeswani](https://github.com/baijumeswani), [smk2007](https://github.com/smk2007), [RandySheriffH](https://github.com/RandySheriffH), [gramalingam](https://github.com/gramalingam), [xadupre](https://github.com/xadupre), [yihonglyu](https://github.com/yihonglyu), [zhangyaobit](https://github.com/zhangyaobit), [YUNQIUGUO](https://github.com/YUNQIUGUO), [jcwchen](https://github.com/jcwchen), [chenfucn](https://github.com/chenfucn), [souptc](https://github.com/souptc), [chandru-r](https://github.com/chandru-r), [jstoecker](https://github.com/jstoecker), [hanbitmyths](https://github.com/hanbitmyths), [RyanUnderhill](https://github.com/RyanUnderhill), [georgen117](https://github.com/georgen117), [jywu-msft](https://github.com/jywu-msft), [mindest](https://github.com/mindest), [sfatimar](https://github.com/sfatimar), [HectorSVC](https://github.com/HectorSVC), [Craigacp](https://github.com/Craigacp), [jeffdaily](https://github.com/jeffdaily), [zhijxu-MS](https://github.com/zhijxu-MS), [natke](https://github.com/natke), [stevenlix](https://github.com/stevenlix), [jeffbloo](https://github.com/jeffbloo), [guoyu-wang](https://github.com/guoyu-wang), [daquexian](https://github.com/daquexian), [faxu](https://github.com/faxu), [jingyanwangms](https://github.com/jingyanwangms), [adtsai](https://github.com/adtsai), [wschin](https://github.com/wschin), [weixingzhang](https://github.com/weixingzhang), [wenbingl](https://github.com/wenbingl), [MaajidKhan](https://github.com/MaajidKhan), [ashbhandare](https://github.com/ashbhandare), [ajindal1](https://github.com/ajindal1), [zhanghuanrong](https://github.com/zhanghuanrong), [tiagoshibata](https://github.com/tiagoshibata), [askhade](https://github.com/askhade), [liqunfu](https://github.com/liqunfu)
ONNX Runtime v1.11.1
1 year ago
This is a patch release on 1.11.0 with the following fixes: - Symbolic shape infer error (https://github.com/microsoft/onnxruntime/pull/10674) - Quantization tool bug (https://github.com/microsoft/onnxruntime/pull/10940) - Adds missing numpy type when looking for the ort correspondance (https://github.com/microsoft/onnxruntime/pull/10943) - Profiling tool JSON format bug (https://github.com/microsoft/onnxruntime/pull/11046) - Function bug fix (https://github.com/microsoft/onnxruntime/pull/11148) - Add mobile helpers to Python build (https://github.com/microsoft/onnxruntime/pull/11196) - Scoped GIL release in run_with_iobinding (https://github.com/microsoft/onnxruntime/pull/11248) - Fix output type mapping for JS (https://github.com/microsoft/onnxruntime/pull/11049) All official packages are attached, and Python packages are additionally published to PyPi.
ONNX Runtime v1.11.0
1 year ago
# Key Updates ## General * Support for ONNX 1.11 with opset 16 * Updated protobuf version to 3.18.x * Enable usage of Mimalloc ([details](https://onnxruntime.ai/docs/performance/tune-performance.html#mimalloc-allocator-usage)) * Transformer model helper scripts * [T5 conversion script](https://github.com/microsoft/onnxruntime/blob/master/onnxruntime/python/tools/transformers/models/t5/convert_to_onnx.py) * [GPT2 conversion script](https://github.com/microsoft/onnxruntime/tree/master/onnxruntime/python/tools/transformers#gpt-2-model-conversion) * On Windows, error strings in OrtStatus are now encoded in UTF-8. When you need to print it out to screen, first convert it to a wide char string by using the MultiByteToWideChar Windows API. ## Performance * Memory utilization related performance improvements (e.g. elimination of vectors for small dims) * Performance variance stability improvement through dynamic cost model session option ([details](https://onnxruntime.ai/docs/performance/tune-performance.html#mitigate-high-latency-variance)) * New quantization data format support: S8S8 in QDQ format * Added s8s8 kernels for ARM64 * Support to convert s8s8 to u8s8 automatically for x64 * Improved performance on ARM64 for quantized CNN model through: * New kernels for quantized depthwise Conv * Improved symmetrically quantized Conv by leveraging indirect buffer * New Gemm kernels for symmetric quantized Conv and MatMul * General quantization improvements, including new quantized operators (Resize, ArgMax) and quantization tool updates ## API * Java: Only a single OrtEnv can be created in any given execution of the JVM. Previously, the environment could be closed completely and a fresh one could be created with different parameters (e.g. global thread pool, or logging level) ([details](https://github.com/microsoft/onnxruntime/pull/10670)) ## Packages * Nuget packages * C# packages now tested with .NET 5. .NET Core 2.1 support is deprecated as it has reached end of life support on August 21, 2021. We will closely follow [.NET's support policy](https://dotnet.microsoft.com/en-us/platform/support/policy/dotnet-core) * Removed PDB files. These are attached as release artifacts below. * Pypi packages * Python 3.6 is deprecated as it has reached EOL December 2021. Supported Python versions: 3.7-3.9 * *Note: Mac M1 builds are not yet available in pypi but can be built from source* * OnnxRuntime with OpenVINO support available at [https://pypi.org/project/onnxruntime-openvino/1.11.0/](https://pypi.org/project/onnxruntime-openvino/1.11.0/) ## Execution Providers * CUDA * Enable CUDA provider option configuration for C# to support workspace size configuration from and fix binary compatibility of CUDAProviderOptions C API * Preview support for CUDA Graphs ([details](https://onnxruntime.ai/docs/performance/tune-performance.html#using-cuda-graphs-in-the-cuda-ep)) * TensorRT * TRT 8.2.3 support * Memory footprint optimizations * Support protobuf >= 3.11 * Updated flatbuffers version to 2.0 * Misc Bug Fixes * DirectML * Updated more operators to opset 13 (QuantizeLinear, DequantizeLinear, ReduceSum, Split, Squeeze, Unsqueeze, ReduceSum). * OpenVINO * OpenVINO™ version upgraded to 2022.1.0 - biggest OpenVINO™ upgrade in 3.5 years. This provides functional bug fixes, API Change 2.0 and capability changes from the previous 2021.4.2 LTS release. * Performance Optimizations of existing supported models. * Pre-Built OnnxRuntime Binaries with OpenVINO enabled can be downloaded from [https://github.com/intel/onnxruntime/releases/tag/v4.0](https://github.com/intel/onnxruntime/releases/tag/v4.0) [https://pypi.org/project/onnxruntime-openvino/1.11.0/](https://pypi.org/project/onnxruntime-openvino/1.11.0/) * OpenCL _(in preview)_ * Introduced the EP for OpenCL to use with Mobile GPUs * Available in `experimental/opencl` branch for users to try. Provide feedback through Issues and Discussions in the repo. * README is available [here](https://github.com/microsoft/onnxruntime/blob/experimental/opencl/onnxruntime/core/providers/opencl/README.md). ## Mobile * Added general support for converting a model to NHWC layout at runtime * Execution provider sets preferred layout and shared infrastructure in ORT will ensure the nodes the execution provider is assigned will be in that layout * Added support for runtime optimization with minimal binary size impact * Relevant optimizations are saved in the ORT format model for replay at runtime if applicable * Added support for QDQ format models to the NNAPI EP * Will fall back to CPU EP’s QDQ handling if NNAPI is not available using runtime optimizations * Includes updates to the ORT QDQ optimizers so they work better with mobile scenarios * Added helpers to: * Analyze if a model can be used with the pre-built ORT Mobile package * Update ONNX opset so model can be used with the pre-built package * Convert dynamic inputs into fixed size inputs so that the model can be used with NNAPI/CoreML * Optimize a QDQ format model for use with ORT * Added Android and iOS packages with full ORT builds * These packages have additional support for the full set of opsets and ops for ONNX models at the cost of a larger binary size. ## Web * Build option to create ONNX Runtime WebAssembly static library * Support for concurrent creation of multiple inference sessions * Upgraded emsdk version to 3.1.3 for more stable multi-threads and enables LTO with multi-threads build on WebAssembly. # Known issues * When using tensor sequences/sparse tensors, the generated profile is not valid JSON. (Fixed in https://github.com/microsoft/onnxruntime/pull/10974) * There is a bug in the quantization tool for calibration when choosing percentile algorithm (Fixed in https://github.com/microsoft/onnxruntime/pull/10940). To fix this, please apply the typo fix in the python file. * Mac M # Contributions Contributors to ONNX Runtime include members across teams at Microsoft, along with our community members: [snnn](https://github.com/snnn), [edgchen1](https://github.com/edgchen1), [skottmckay](https://github.com/skottmckay), [yufenglee](https://github.com/yufenglee), [wangyems](https://github.com/wangyems), [yuslepukhin](https://github.com/yuslepukhin), [gwang-msft](https://github.com/gwang-msft), [iK1D](https://github.com/iK1D), [chilo-ms](https://github.com/chilo-ms), [fdwr](https://github.com/fdwr), [ytaous](https://github.com/ytaous), [RandySheriffH](https://github.com/RandySheriffH), [hanbitmyths](https://github.com/hanbitmyths), [chenfucn](https://github.com/chenfucn), [yihonglyu](https://github.com/yihonglyu), [ajindal1](https://github.com/ajindal1), [fs-eire](https://github.com/fs-eire), [souptc](https://github.com/souptc), [tianleiwu](https://github.com/tianleiwu), [YUNQIUGUO](https://github.com/YUNQIUGUO), [hariharans29](https://github.com/hariharans29), [oliviajain](https://github.com/oliviajain), [xadupre](https://github.com/xadupre), [ashari4](https://github.com/ashari4), [RyanUnderhill](https://github.com/RyanUnderhill), [jywu-msft](https://github.com/jywu-msft), [weixingzhang](https://github.com/weixingzhang), [baijumeswani](https://github.com/baijumeswani), [georgen117](https://github.com/georgen117), [natke](https://github.com/natke), [Craigacp](https://github.com/Craigacp), [jeffdaily](https://github.com/jeffdaily), [JingqiaoFu](https://github.com/JingqiaoFu), [zhanghuanrong](https://github.com/zhanghuanrong), [satyajandhyala](https://github.com/satyajandhyala), [smk2007](https://github.com/smk2007), [ryanlai2](https://github.com/ryanlai2), [askhade](https://github.com/askhade), [thiagocrepaldi](https://github.com/thiagocrepaldi), [jingyanwangms](https://github.com/jingyanwangms), [pengwa](https://github.com/pengwa), [scxiao](https://github.com/scxiao), [ashbhandare](https://github.com/ashbhandare), [BowenBao](https://github.com/BowenBao), [SherlockNoMad](https://github.com/SherlockNoMad), [sumitsays](https://github.com/sumitsays), [sfatimar](https://github.com/sfatimar), [mosdav](https://github.com/mosdav), [harshithapv](https://github.com/harshithapv), [liqunfu](https://github.com/liqunfu), [tiagoshibata](https://github.com/tiagoshibata), [gineshidalgo99](https://github.com/gineshidalgo99), [pranavsharma](https://github.com/pranavsharma), [jcwchen](https://github.com/jcwchen), [nkreeger](https://github.com/nkreeger), [xkszltl](https://github.com/xkszltl), [faxu](https://github.com/faxu), [suffiank](https://github.com/suffiank), [stevenlix](https://github.com/stevenlix), [jeffbloo](https://github.com/stevenlix), [feihugis](https://github.com/feihugis)
iOS windows
apple/swift-package-manager swift-DEVELOPMENT-SNAPSHOT-2023-09-26-a
The Package Manager for the Swift Programming Language
⭐️ 9,395
🕓 2 hours ago
🔖 Release Notes

Releases

The markdown parsing is broken/disabled for release notes. Sorry about that, I'm chasing the source of a crash that's been bringing this website down for the last couple of days.
0.6.0
3 years ago
3 years ago
Swift 5.2 Release
3 years ago
4 years ago
4 years ago
5 years ago
4 years ago
Swift 4.2.1 Release
4 years ago
Swift 4.2 Release
5 years ago
Release SwiftPM 0.2.1
5 years ago
iOS macOS
apple/swift-nio 2.59.0
Event-driven network application framework for high performance protocol servers & clients, non-blocking.
⭐️ 7,522
🕓 6 days ago
🔖 Release Notes

Releases

The markdown parsing is broken/disabled for release notes. Sorry about that, I'm chasing the source of a crash that's been bringing this website down for the last couple of days.
SwiftNIO 2.59.0
1 week ago
### SemVer Minor - Added `ByteBuffer.hexDump(format:)` (#2475, patch credit to @natikgadzhi) - Make the initializers of `NIOThreadPoolError` public (#2503, patch credit to @omochi) - Make `ByteBuffer` Codable (#2509, patch credit to @natikgadzhi) - `EventLoopFuture/Promise`: only `Sendable` if `Value` is `Sendable` (#2496) - HTTP1: Support users opting-out of us setting framing headers. (#2508) - Support for custom protocols in `DatagramBootstrap` (#2516) ### SemVer Patch - HTTP1: Simplify header separator and crlf (#2513, patch credit to @alex-taffe) - Update `CNIOLLHTTP` to latest `nodejs/llhttp` (#2512) ### Other Changes - Docs: explain the basic safe usage of `ByteBuffer` (#2499, patch credit to @natikgadzhi) - Match casing of reference links to the casing of the actual referenced declaration/module (#2500, patch credit to @tayloraswift) - Update nightly allocation limits (#2502)
SwiftNIO 2.58.0
7 weeks ago
### SemVer Minor - Add support for using `EventLoop`s as custom actor executor (#2388) - Add new `EventLoop` singletons (#2471) - Add bootstrap APIs for VSOCK sockets (#2479) ### SemVer Patch - Fix huge compile time of setUUIDBytes (#2482, patch credit to @sidepelican) - Get Android building again after #2479 (#2490, patch credit to @finagolfin) - Make `System.coreCount` aware of cgroup2 (#2394) - Don't lose or delay writes before `channelActive` (#2486) ### [SPI](https://github.com/apple/swift/blob/main/docs/ReferenceGuides/UnderscoredAttributes.md#_spispiname)(AsyncChannel) changes - Rename the `waitForFinalResult()` methods and provide an `ELF` convenience (#2483) - Add testing interfaces for the stream and writer of the `NIOAsyncChannel` (#2488) - Provide throwing `finish` method on test stream (#2493) - Fix leaked promise in `NIOTypedApplicationProtocolNegotiationHandler` (#2489) - Add async TCP echo example (#2463) - Avoid using deinit to fulfil the protocol negotiation promise (#2497) ### Other Changes - Correct malformed codelink (#2484, patch credit to @tayloraswift) - Update contributor email address (#2481) - Fix 5.9 and nightly allocation limits (#2485) (#2487)
SwiftNIO 2.57.0
9 weeks ago
### [SPI](https://github.com/apple/swift/blob/main/docs/ReferenceGuides/UnderscoredAttributes.md#_spispiname)(AsyncChannel) changes - 🚨Breaking change: Reduce the amount of bootstrap async methods (#2474) - Make `NIOAsyncChannel.Configuration` conform to `Sendable` (#2466) ### SemVer Patch - Skip TCP_NODELAY on sockets that NIO doesn't explicitly support (#2476) - Throw `SocketAddressError` (cf. fatalError) in SocketAddress.convert for unknown address family (#2477)
SwiftNIO 2.56.0
11 weeks ago
### [SPI](https://github.com/apple/swift/blob/main/docs/ReferenceGuides/UnderscoredAttributes.md#_spispiname)(AsyncChannel) changes - 🚨Breaking change: Add configuration for `NIOAsyncChannel` (#2464) - Async support for `NIOPipeBootstrap` (#2458) - Async support for `NIORawSocketBootstrap` (#2460) ### Other Changes - Remove `XCTAsyncTest` usage (#2461) - Restructure `Package.swift` (#2462)
SwiftNIO 2.55.0
12 weeks ago
### SemVer Minor - Make `NIO[Throwing]AsyncSequenceProducer.Source` `Sendable` (#2459) ### SemVer Patch - Add support for Musl libc (#2449) - Close Channel when input & output are closed (#2450) - Correct a few Musl additions from #2449 for Android, plus error if libc not found (#2451, patch credit to @finagolfin) - Use #if canImport(Darwin) where possible (#2446) ### Other Changes - Update RediStack URL in README.md (#2445) - Allow opt-out of PII in CONTRIBUTORS.txt (#2453, patch credit to @therealbnut) - Update mailmap to unify Gwynne's email addresses (#2454, patch credit to @gwynne) - Fix several minor typos in comments found in various files (#2455, patch credit to @gwynne) - Fix last remaining test on Android (#2457, patch credit to @finagolfin) - Adopt the Swift CoC (#2440) - Updated allocation counters in 5.9 (#2456) ### SPI(AsyncChannel) changes - Add `NIOAsyncChannel` based connect methods to `ClientBootstrap` (#2437) - Add `NIOAsyncChannel` based connect and bind methods to `DatagramBootstrap` (#2439) - 🚨Breaking change: Align `ServerBootstrap` bind methods with the initializer style (#2443)
SwiftNIO 2.54.0
17 weeks ago
### SemVer Minor - `EmbeddedChannel`: `getOption(ChannelOptions.allowRemoteHalfClosure)` should not `fatalError` (#2429) ### SemVer Patch - Pooled control message storage. (#2422, patch credit to @ser-0xff) - NIOPOSIX happy eyeballs now hops to the connection event loop when using a custom resolver to avoid data races (#2436) ### Other Changes - Add tests for WebSocketMaskingKey.random() (#2433, patch credit to @gwynne) - Add narrative documentation for NIO's concurrency bridges (#2423) - Include relevant versions (kernel & Swift) in test output (#2425) - Update `update-alloc-limits-...` script (#2430) - Fix flaky test in NIOAsyncWriter (#2431)
SwiftNIO 2.53.0
20 weeks ago
### SemVer Minor - addition of assertSuccess() and assertFailure() on EventLoopFuture (#2417, patch credit to @dkz2) ### SemVer Patch - Tolerate sending data after close(mode: .output) (#2421)
SwiftNIO 2.52.0
20 weeks ago
### SemVer Minor - Add CustomDebugStringConvertible conformance to ByteBuffer (#2418, patch credit to @gwynne) - Add unprocessedBytes property on NIOSingleStepByteToMessageProcessor (#2419)
SwiftNIO 2.51.1
21 weeks ago
### SemVer Patch - Handle close(output) in the pipeline handler. (#2414) - NIOThrowingAsyncSequenceProducer throws when cancelled (#2415) ### Other Changes - Add `AsyncChannel` based `ServerBootstrap.bind()` methods (#2403) - Extend the integration test harness to track FDs (#2411) - AsyncChannelBootstrapTests bind to 0 instead (#2412, #2413)
SwiftNIO 2.51.0
22 weeks ago
### SemVer Minor - Drop Swift 5.5 (#2406) ### SemVer Patch - Handle reentrant reads in ALPNHandler (#2402) - Close accepted FDs if we fail to create Socket (#2407) - Don't have channels stop reading on errors they tolerate. (#2408) ### Other Changes - Add docker-compose file for Swift 5.9 (#2404) - Fix broken docs. (#2405) - Avoid double-closing on fcntl failures (#2409)
linux macOS iOS
uber/RIBs v0.15.4
Uber's cross-platform mobile architecture framework.
⭐️ 7,520
🕓 6 days ago
🔖 Release Notes

Releases

The markdown parsing is broken/disabled for release notes. Sorry about that, I'm chasing the source of a crash that's been bringing this website down for the last couple of days.
v0.15.4
5 days ago
## What's Changed * IntelliJ plugin 0.1.5 by @idanakav in https://github.com/uber/RIBs/pull/613 * Set view tree owners in parent class by @jbarr21 in https://github.com/uber/RIBs/pull/615 * Revert JVM version to 1.8 by @jbarr21 in https://github.com/uber/RIBs/pull/616 **Full Changelog**: https://github.com/uber/RIBs/compare/v0.15.3...v0.15.4
v0.15.3
4 weeks ago
## What's Changed * Add RibCoroutineWorker.bind that receives multiple workers by @FranAguilera in https://github.com/uber/RIBs/pull/607 * Change default CoroutineContext from empty to default for the RibCoroutineWorker<>Worker conversion by @FranAguilera in https://github.com/uber/RIBs/pull/608 * Add `RibCoroutineWorker` factory method with `CoroutineScope` as receiver by @psteiger in https://github.com/uber/RIBs/pull/610 * Update coroutines 1.7.3 by @tyvsmith in https://github.com/uber/RIBs/pull/609 * Bump kotlinx.coroutines.test to 1.7.3 by @psteiger in https://github.com/uber/RIBs/pull/611 **Full Changelog**: https://github.com/uber/RIBs/compare/v0.15.2...v0.15.3
v0.15.2
7 weeks ago
## What's Changed * Add `WorkerBinder.bind` overloads that take in an `Iterable`. by @psteiger in https://github.com/uber/RIBs/pull/604 * Set view tree owners by @jbarr21 in https://github.com/uber/RIBs/pull/606 **Full Changelog**: https://github.com/uber/RIBs/compare/v0.15.1...v0.15.2
v0.15.1
10 weeks ago
## What's Changed * Migrate from deprecated `@JvmDefault` to compiler option `-Xjvm-default=all` by @psteiger in https://github.com/uber/RIBs/pull/576 **Full Changelog**: https://github.com/uber/RIBs/compare/v0.15.0...v0.15.1
v0.15.0
13 weeks ago
## What's Changed * Only complete the worker's scope after calling `Worker.onStop` by @psteiger in https://github.com/uber/RIBs/pull/585 * Improve KDoc on `ActivityLifecycleEvent` by explaining ordering semantics. by @psteiger in https://github.com/uber/RIBs/pull/586 * Make use of `jvmToolchain` for building the project. by @psteiger in https://github.com/uber/RIBs/pull/583 * Revamp Gradle scripts by @psteiger in https://github.com/uber/RIBs/pull/588 * Deprecate old worker by @FranAguilera in https://github.com/uber/RIBs/pull/597 * Allow overriding default CoroutineDispatcher for WorkerBinder calls by @FranAguilera in https://github.com/uber/RIBs/pull/596 * Update README.md by @FranAguilera in https://github.com/uber/RIBs/pull/600 * Deprecate WorkerUnbinder by @FranAguilera in https://github.com/uber/RIBs/pull/601 * Expose ribActionEvents stream by @FranAguilera in https://github.com/uber/RIBs/pull/599 **Full Changelog**: https://github.com/uber/RIBs/compare/v0.14.2...v0.15.0
v0.14.2
19 weeks ago
## What's Changed * Fix potential for deadlocks in `Worker` binding. by @psteiger in https://github.com/uber/RIBs/pull/582 * Add Rib Worker demo app by @FranAguilera in https://github.com/uber/RIBs/pull/575 **Full Changelog**: https://github.com/uber/RIBs/compare/v0.14.1...v0.14.2
v0.14.1
20 weeks ago
## What's Changed ### Breaking changes - `Presenter`, `Interactor` lifecycle are only available on `didLoad`, `didBecomeActive`. Attempting to use it before (e.g. constructor) results in a crash. - `Interactor`, `RibActivity`, `Presenter`, etc, now expose a `lifecycleFlow` as API, supporting mocking. `LifecycleScopeProvider` interface methods are a function of the `lifecycleFlow` and are now finalized. ### PRs * [WorkerBinder] Guard against potential Worker.coroutineContext being null while using Mockito by @FranAguilera in https://github.com/uber/RIBs/pull/573 * Open `lifecycleFlow`, thus enabling it for mocking by @psteiger in https://github.com/uber/RIBs/pull/572 **Full Changelog**: https://github.com/uber/RIBs/compare/v0.14.0...v0.14.1
v0.14.0
21 weeks ago
## What's Changed * Replacing some Behavior/Publish Relay usage in core artifacts with coroutines by @tyvsmith in https://github.com/uber/RIBs/pull/544 * Fix router navigator events source compatibility by @psteiger in https://github.com/uber/RIBs/pull/549 * Enable strict explicit API mode on `rib-base` by @psteiger in https://github.com/uber/RIBs/pull/548 * Reduce `Rx` <-> `Coroutines` interop and allow unconfined coroutines to run eagerly inside Worker's onStart by @psteiger in https://github.com/uber/RIBs/pull/552 * Redesign RouterAndState to avoid router caching by @SergeySmykovskyi in https://github.com/uber/RIBs/pull/550 * Create README for Compose Demo by @Solace-Studios in https://github.com/uber/RIBs/pull/557 * [Rib Worker] Specify CoroutineDispatcher for onStart/onStop and provide WorkerBinder monitoring option by @FranAguilera in https://github.com/uber/RIBs/pull/553 * Fix: podspec and tutorial1 Podfile version updated by @ebubekirsezer in https://github.com/uber/RIBs/pull/534 * Enable explicit api mode for Kotlin libraries by @davissuber in https://github.com/uber/RIBs/pull/561 * Introduce `RibCoroutineWorker` by @psteiger in https://github.com/uber/RIBs/pull/547 * Upgrade code formatters versions by @SergeySmykovskyi in https://github.com/uber/RIBs/pull/558 * Use Kotlin contracts to remove `var` and `!!` usage in `RibCoroutineWorker` by @psteiger in https://github.com/uber/RIBs/pull/563 * Provide option to bind multiple Workers at once on specific RibDispatchers by @FranAguilera in https://github.com/uber/RIBs/pull/564 * Bump Kotlin, Gradle, and other dependencies versions. by @psteiger in https://github.com/uber/RIBs/pull/567 ## New Contributors * @Solace-Studios made their first contribution in https://github.com/uber/RIBs/pull/557 * @FranAguilera made their first contribution in https://github.com/uber/RIBs/pull/553 * @ebubekirsezer made their first contribution in https://github.com/uber/RIBs/pull/534 * @davissuber made their first contribution in https://github.com/uber/RIBs/pull/561 **Full Changelog**: https://github.com/uber/RIBs/compare/v0.13.3...v0.14.0
v0.13.3
26 weeks ago
* [Intellij] Plugin 0.1.5 * [Android] Clear cached CoroutineScope instance once its job completes * [Android] Make all TestDispatchers in TestRibDispatchers use the same TestCoroutineScheduler
v0.13.2
47 weeks ago
- [Android] Reverting binary breaking change from 0.13.1 on Basic Interactor
iOS

Popular Packages

ggerganov/llama.cpp master-fff0e0e
Port of Facebook's LLaMA model in C/C++
⭐️ 41,317
🕓 9 weeks ago
🔖 Release Notes

Releases

The markdown parsing is broken/disabled for release notes. Sorry about that, I'm chasing the source of a crash that's been bringing this website down for the last couple of days.
b1273
Yesterday
b1269
4 days ago
b1266
5 days ago
b1263
6 days ago
b1261
6 days ago
b1260
6 days ago
b1258
1 week ago
b1257
1 week ago
b1256
1 week ago
b1255
1 week ago
iOS macOS watchOS tvOS
Alamofire/Alamofire 5.8.0
Elegant HTTP Networking in Swift
⭐️ 39,802
🕓 3 weeks ago
🔖 Release Notes

Releases

The markdown parsing is broken/disabled for release notes. Sorry about that, I'm chasing the source of a crash that's been bringing this website down for the last couple of days.
5.8.0
3 weeks ago
Released on 2023-08-31. All issues associated with this milestone can be found using this [filter](https://github.com/Alamofire/Alamofire/milestone/87?closed=1). #### Added - visionOS support. - Added by [Jon Shier](https://github.com/jshier) in Pull Requests [#3738](https://github.com/Alamofire/Alamofire/pull/3738) and [#3750](https://github.com/Alamofire/Alamofire/pull/3750). - Hooks for initial `HTTPURLResponse` values. - Added by [Jon Shier](https://github.com/jshier) in Pull Request [#3762](https://github.com/Alamofire/Alamofire/pull/3738). - Android build support. - Added by [Hugo Gonzalez](https://github.com/hggz) in Pull Request [#3744](https://github.com/Alamofire/Alamofire/pull/3744). #### Updated - Async integration to obey automatic cancellation by default. - Updated by [Jon Shier](https://github.com/jshier) in Pull Request [#3757](https://github.com/Alamofire/Alamofire/pull/3757). - Platform `#if` checks. - Updated by [brenno](https://github.com/brennobemoura) in Pull Request [#3756](https://github.com/Alamofire/Alamofire/pull/3756). - Windows CI. - Updated by [Saleem Abdulrasool](https://github.com/compnerd) in Pull Request [#3763](https://github.com/Alamofire/Alamofire/pull/3763). - `URL` conversion tests for 2023 `URL` changes. - Updated by [Jon Shier](https://github.com/jshier) in Pull Request [#3734](https://github.com/Alamofire/Alamofire/pull/3734). - for-loop to `contains`. - Updated by [Mayank Kumar Gupta](https://github.com/Mayank-84) in Pull Request [#3726](https://github.com/Alamofire/Alamofire/pull/3726). #### Fixed - `MultipartFormData` stream to properly obey `bodyContentLength`. - Fixed by [Henrique Valcanaia](https://github.com/hvsw) in Pull Request [#3730](https://github.com/Alamofire/Alamofire/pull/3730). - Unnecessary call to empty init. - Fixed by [Shinolr](https://github.com/Shinolr) in Pull Request [#3742](https://github.com/Alamofire/Alamofire/pull/3742). - Documentation typos. - Fixed by [Jenna](https://github.com/ueunli) in Pull Request [#3733](https://github.com/Alamofire/Alamofire/pull/3733).
5.7.1
19 weeks ago
Released on 2023-05-10. All issues associated with this milestone can be found using this [filter](https://github.com/Alamofire/Alamofire/milestone/86?closed=1). #### Updated - Deployment targets reverted to (macOS 10.12, iOS 10, tvOS 10, and watchOS 3)+ - Updated by [Jon Shier](https://github.com/jshier) in Pull Request [#3720](https://github.com/Alamofire/Alamofire/pull/3720).
5.7.0
20 weeks ago
Released on 2023-05-09. All issues associated with this milestone can be found using this [filter](https://github.com/Alamofire/Alamofire/milestone/84?closed=1). #### Added - Request body compression support. This is disabled by default. - Added by [Jon Shier](https://github.com/jshier) in Pull Request [#3701](https://github.com/Alamofire/Alamofire/pull/3701). - `ArrayEncoding.custom` to `URLEncodedFormEncoder` and `URLEncoding`. - Added by [Mike Naquin](https://github.com/naquin) in Pull Request [#3699](https://github.com/Alamofire/Alamofire/pull/3699). - `KeyPathEncoding` to `URLEncodedFormEncoder`. - Added by [Jon Shier](https://github.com/jshier) in Pull Request [#3689](https://github.com/Alamofire/Alamofire/pull/3689). - `NilEncoding` to `URLEncodedFormEncoder`. - Added by [Jon Shier](https://github.com/jshier) in Pull Request [#3686](https://github.com/Alamofire/Alamofire/pull/3686). #### Updated - Alamofire now requires Swift 5.5+ and (macOS 10.13, iOS 11, tvOS 11, and watchOS 4)+. - Updated by [Jon Shier](https://github.com/jshier) in Pull Requests [#3670](https://github.com/Alamofire/Alamofire/pull/3670) and [#3717](https://github.com/Alamofire/Alamofire/pull/3717). - `flatMap` to `map` in `HTTPHeaders`. - Updated by [kati](https://github.com/kati-kms) in Pull Request [#3704](https://github.com/Alamofire/Alamofire/pull/3704). - Various CI integrations. - Updated by [Jon Shier](https://github.com/jshier) in Pull Requests [#3685](https://github.com/Alamofire/Alamofire/pull/3685) and [#3712](https://github.com/Alamofire/Alamofire/pull/3712). #### Fixed - Reachability API usage safety. - Fixed by [Jon Shier](https://github.com/jshier) in Pull Request [#3684](https://github.com/Alamofire/Alamofire/pull/3684). - Unused `bufferingPolicy` in `StreamOf`. - Fixed by [Duc](https://github.com/trungducc) in Pull Request [#3668](https://github.com/Alamofire/Alamofire/pull/3668). - Various documentation typos. - Fixed by [Timo Wälisch](https://github.com/TimoWaelischIdealo), [Tony](https://github.com/iamtony), and [uhooi](https://github.com/uhooi) in various PRs.
5.6.4
44 weeks ago
Released on 2022-11-21. All issues associated with this milestone can be found using this [filter](https://github.com/Alamofire/Alamofire/milestone/84?closed=1). #### Fixed - Deprecated OS version support in Swift 5.7 SPM Package. - Fixed by [Guglielmo Faglioni](https://github.com/guidev) in Pull Request [#3665](https://github.com/Alamofire/Alamofire/pull/3665). ## New Contributors * @guidev made their first contribution in https://github.com/Alamofire/Alamofire/pull/3665 **Full Changelog**: https://github.com/Alamofire/Alamofire/compare/5.6.3...5.6.4
5.6.3
44 weeks ago
Released on 2022-11-20. All issues associated with this milestone can be found using this [filter](https://github.com/Alamofire/Alamofire/milestone/83?closed=1). #### Updated - Swift package to 5.7, CI to Xcode 14.1. - Updated by [Jon Shier](https://github.com/jshier) in Pull Request [#3653](https://github.com/Alamofire/Alamofire/pull/3653). #### Fixed - Calls to deprecated cancellation handler function. - Fixed by [Sven Münnich](https://github.com/svenmuennich) in Pull Request [#3657](https://github.com/Alamofire/Alamofire/pull/3657). - Unnecessary protocol conformance on Combine publishers. - Fixed by [MoonkiKim(김문기)](https://github.com/tedKim5178) in Pull Request [#3650](https://github.com/Alamofire/Alamofire/pull/3650). - Don't attempt retry when `Request` has already been cancelled. - Fixed by [Jon Shier](https://github.com/jshier) in Pull Request [#3641](https://github.com/Alamofire/Alamofire/pull/3641). #### New Contributors * @tedKim5178 made their first contribution in https://github.com/Alamofire/Alamofire/pull/3650 * @svenmuennich made their first contribution in https://github.com/Alamofire/Alamofire/pull/3657 **Full Changelog**: https://github.com/Alamofire/Alamofire/compare/5.6.2...5.6.3
Safer Encoding
1 year ago
Released on 2022-07-17. All issues associated with this milestone can be found using this [filter](https://github.com/Alamofire/Alamofire/milestone/82?closed=1). #### Added - Error when object provided to `JSONEcoding` contains values that can't be passed through `JSONSerialization`. - Added by [Jon Shier](https://github.com/jshier) in Pull Request [#3624](https://github.com/Alamofire/Alamofire/pull/3624). #### Updated - CI support for all supported Xcode, macOS, and Linux versions. - Updated by [Jon Shier](https://github.com/jshier) in Pull Requests [#3607](https://github.com/Alamofire/Alamofire/pull/3607) and [#3622](https://github.com/Alamofire/Alamofire/pull/3622). - Support for various Xcode versions. - Updated by [Jon Shier](https://github.com/jshier) in Pull Requests [#3616](https://github.com/Alamofire/Alamofire/pull/3616) and [#3632](https://github.com/Alamofire/Alamofire/pull/3632). - `Cache-Control` header tests to not require hard-coded delays. - Updated by [Jon Shier](https://github.com/jshier) in Pull Request [#3601](https://github.com/Alamofire/Alamofire/pull/3601). #### Fixed - Swift version check for `SecTrustCopyCertificateChain`. - Fixed by [Jon Shier](https://github.com/jshier) in Pull Request [#3606](https://github.com/Alamofire/Alamofire/pull/3606). - Various documentation issues. - Fixed by [Jacob Lange](https://github.com/jacoblange-dev), [rain2540](https://github.com/rain2540), [bondxf](https://github.com/bondxf), [Ikko Ashimine](https://github.com/eltociear), and [Elon Park](https://github.com/ElonPark) in various Pull Requests.
Missing Cancellation Parameter
1 year ago
Released on 2022-04-17. All issues associated with this milestone can be found using this [filter](https://github.com/Alamofire/Alamofire/milestone/81?closed=1). #### Fixed - Missing `automaticallyCancelling` parameter in `serializingDownloadedFileURL`. - Fixed by [Jon Shier](https://github.com/jshier) in Pull Request [#3597](https://github.com/Alamofire/Alamofire/pull/3597).
Concurrency Redux
1 year ago
Released on 2022-04-13. All issues associated with this milestone can be found using this [filter](https://github.com/Alamofire/Alamofire/milestone/80?closed=1). #### Added - Support for `HTTPMethod.query` to support the [upcoming standard](https://datatracker.ietf.org/doc/html/draft-ietf-httpbis-safe-method-w-body-02). - Added by [Jon Shier](https://github.com/jshier) in Pull Request [#3553](https://github.com/Alamofire/Alamofire/pull/3553). - Compile-time Swift version check to enforce minimum supported Swift version. - Added by [Dave Verwer](https://github.com/daveverwer) in Pull Request [#3549](https://github.com/Alamofire/Alamofire/pull/3549). - GitHub Sponsors support. You can now sponsor Alamofire directly through GitHub. - Added by [Jon Shier](https://github.com/jshier) in Pull Request [#3543](https://github.com/Alamofire/Alamofire/pull/3543). #### Updated - Swift version required to build [🔥 Experimental 🔥] Swift Concurrency support to 5.6.0 to avoid various Apple bugs with Xcode 13.2.0 and 13.2.1. Support now requires Xcode 13.3.1. - Updated by [Jon Shier](https://github.com/jshier) in Pull Request [#3590](https://github.com/Alamofire/Alamofire/pull/3590). - `DownloadRequest` to avoid producing resume data when not explicitly requested on cancellation. - Updated by [Jon Shier](https://github.com/jshier) in Pull Request [#3538](https://github.com/Alamofire/Alamofire/pull/3538). - Testing infrastructure to use XCTestPlans on Apple platforms. - Updated by [Jon Shier](https://github.com/jshier) in Pull Request [#3538](https://github.com/Alamofire/Alamofire/pull/3538). - GitHub Actions support for greater OS coverage, more SPM platforms, and Swift 5.6. - Updated by [Jon Shier](https://github.com/jshier) in Pull Requests [#3534](https://github.com/Alamofire/Alamofire/pull/3534), [#3545](https://github.com/Alamofire/Alamofire/pull/3545), [#3570](https://github.com/Alamofire/Alamofire/pull/3570), and [#3587](https://github.com/Alamofire/Alamofire/pull/3587). #### Fixed - Various Security framework deprecation warnings when deploying to newer OSes. - Fixed by [Jon Shier](https://github.com/jshier) in Pull Request [#3555](https://github.com/Alamofire/Alamofire/pull/3555). - Various documentation issues. - Fixed by [Jon Shier](https://github.com/jshier), [Emanuele Fumagalli](https://github.com/emanuelef), [Huang-Libo](https://github.com/Huang-Libo), and [rain2540](https://github.com/rain2540) in Pull Requests [#3548](https://github.com/Alamofire/Alamofire/pull/3548), [#3562](https://github.com/Alamofire/Alamofire/pull/3562), [#3573](https://github.com/Alamofire/Alamofire/pull/3573), [#3574](https://github.com/Alamofire/Alamofire/pull/3574), and [#3585](https://github.com/Alamofire/Alamofire/pull/3585).
Swift Concurrency
1 year ago
Alamofire 5.5 is the first release where we're labeling features we consider experimental. These features, while fully designed and well tested, rely on language or framework features which may change or require breaking bug fixes, and we'd rather not have to make a major release in that case. So [🔥 Experimental 🔥] features may require breaking changes in minor, rather than major, releases. This will be rare and compatibility should be preserved in most cases, but cannot be guaranteed. Released on 2021-12-13. All issues associated with this milestone can be found using this [filter](https://github.com/Alamofire/Alamofire/milestone/79?closed=1). #### Added - [🔥 Experimental 🔥] support for Swift Concurrency, including `async`-`await` for requests and `StreamOf` for streaming values. - Added by [Jon Shier](https://github.com/jshier) in Pull Request [#3463](https://github.com/Alamofire/Alamofire/pull/3463). - Generic static accessors for various protocols types for Swift 5.5. - Added by [Jon Shier](https://github.com/jshier) in Pull Request [#3499](https://github.com/Alamofire/Alamofire/pull/3499). - `.indexInBrackets` options for array encoding in query parameters. - Added by [Tiago Lopes](https://github.com/TiagoMaiaL) in Pull Request [#3516](https://github.com/Alamofire/Alamofire/pull/3516). - `RequestAdapterState` and new protocol requirements for `RequestAdapter` to allow for additional state to be available. - Added by [Christian Noon](https://github.com/cnoon) in Pull Request [#3504](https://github.com/Alamofire/Alamofire/pull/3504). #### Updated - `Session` to more safely target provided custom `DispatchQueue`s for internal use. - Updated by [Jon Shier](https://github.com/jshier) in Pull Request [#3523](https://github.com/Alamofire/Alamofire/pull/3523). - `AFError` message regarding unacceptable `Content-Type`s to sort the types. - Updated by [Timur Yusipov](https://github.com/Usipov) in Pull Request [#3518](https://github.com/Alamofire/Alamofire/pull/3518). - Base Swift language version requirement to 5.3. - Updated by [Jon Shier](https://github.com/jshier) in Pull Request [#3495](https://github.com/Alamofire/Alamofire/pull/3495). - Sample app to show proper loading state for requests. - Updated by [Tiago Lopes](https://github.com/TiagoMaiaL) in Pull Request [#3514](https://github.com/Alamofire/Alamofire/pull/3514). #### Deprecated - `responseJSON` and associated methods, in preference to `responseDecodable`. - Deprecated by [Jon Shier](https://github.com/jshier) in Pull Request [#3502](https://github.com/Alamofire/Alamofire/pull/3502). #### Fixed - Use of `Protected` wrapper when accessing properties of the wrapped values to ensure proper thread-safety. - Fixed by [Jon Shier](https://github.com/jshier) in Pull Request [#3505](https://github.com/Alamofire/Alamofire/pull/3505). - Various documentation typos. - Fixed by [Christos Koninis](https://github.com/csknns), [Tiago Lopes](https://github.com/TiagoMaiaL), and [Eugene Berdnikov](https://github.com/evnik) in various Pull Requests.
Xcode 13 Fixes
2 years ago
Released on 2021-09-20. All issues associated with this milestone can be found using this [filter](https://github.com/Alamofire/Alamofire/milestone/78?closed=1). #### Added - Support for Xcode 13, including a workaround for Combine compilation on older architectures. - Added by [Jon Shier](https://github.com/jshier) in Pull Request [#3486](https://github.com/Alamofire/Alamofire/pull/3486). - Testing on watchOS. - Added by [Jon Shier](https://github.com/jshier) in Pull Request [#3449](https://github.com/Alamofire/Alamofire/pull/3449). - Support for building on Windows and Linux. Alamofire is unsupported on these platforms but should build correctly. - Added by [Jon Shier](https://github.com/jshier) and [Alex Taffe](https://github.com/alex-taffe) in Pull Requests [#3446](https://github.com/Alamofire/Alamofire/pull/3446) and [#3462](https://github.com/Alamofire/Alamofire/pull/3462). #### Updated - Usage of `.count >= 0` to `!.isEmpty`. - Updated by [Shafeer P](https://github.com/shafeerp) in Pull Request [#3478](https://github.com/Alamofire/Alamofire/pull/3478). #### Fixed - Async navigation title updating in example app. - Fixed by [Tiago Maia](https://github.com/TiagoMaiaL) in Pull Request [3494](https://github.com/Alamofire/Alamofire/pull/3494). - Various documentation bugs. - Fixed by [Jordan de Laune](https://github.com/jdelaune), [Cédric Luthi](https://github.com/0xced), [Romain Bertozzi](https://github.com/r-mckay), and [Tiago Maia](https://github.com/TiagoMaiaL).
iOS macOS watchOS tvOS
grpc/grpc v1.59.0-pre1
The C based gRPC (C++, Python, Ruby, Objective-C, PHP, C#)
⭐️ 39,081
🕓 8 hours ago
🔖 Release Notes

Releases

The markdown parsing is broken/disabled for release notes. Sorry about that, I'm chasing the source of a crash that's been bringing this website down for the last couple of days.
Release v1.59.0-pre1
12 hours ago
This is a prerelease of gRPC Core 1.59.0 (generative). For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases). This prerelease contains refinements, improvements, and bug fixes.
Release v1.58.1
1 week ago
This is release 1.58.1 ([goku](https://github.com/grpc/grpc/blob/master/doc/g_stands_for.md)) of gRPC Core. For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases). This release is primarily for gRPC C++ to support c-ares 1.14. Core / C++ --- - Reintroduced c-ares 1.14 or later support #34314
Release v1.58.0
2 weeks ago
This is release 1.58.0 ([goku](https://github.com/grpc/grpc/blob/master/doc/g_stands_for.md)) of gRPC Core. For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases). This release contains refinements, improvements, and bug fixes, with highlights listed below. Core --- - gRPC 1.58 starts to require c-ares 1.18 or later. - [Deps] Update boringssl 202308211007. ([#34115](https://github.com/grpc/grpc/pull/34115)) - [pick_first] de-experiment pick first. ([#34054](https://github.com/grpc/grpc/pull/34054)) - [build metadata] Bazel to "other build systems" improvements. ([#33803](https://github.com/grpc/grpc/pull/33803)) - [Deps] Update abseil to 20230802. ([#33974](https://github.com/grpc/grpc/pull/33974)) - [c-ares DNS resolver] Fix file descriptor use-after-close bug when c-ares writes succeed but subsequent read fails. ([#33871](https://github.com/grpc/grpc/pull/33871)) C++ --- - [docs] Document Alarm thread-safety guarantees. ([#34092](https://github.com/grpc/grpc/pull/34092)) - Added OpenSSL 3.0 (LTS) support via custom CMake builds (the default is still BoringSSL) Python --- - [Bazel] Enable grpcio-reflection to be used via Bazel. ([#31013](https://github.com/grpc/grpc/pull/31013)) - [packaging] Publish xds-protos as part of the standard package pipeline. ([#33797](https://github.com/grpc/grpc/pull/33797)) Ruby --- - [ruby] update google auth to ~> 1.0. ([#34013](https://github.com/grpc/grpc/pull/34013)) - [Ruby] set metadata_sent after call success. ([#33998](https://github.com/grpc/grpc/pull/33998)) - [ruby] remove unnecessary background thread startup wait logic that interferes with forking. ([#33805](https://github.com/grpc/grpc/pull/33805))
Release v1.58.0-pre1
4 weeks ago
This is a prerelease of gRPC Core 1.58.0 (goku). For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases). This prerelease contains refinements, improvements, and bug fixes.
Release v1.57.0
7 weeks ago
This is release 1.57.0 ([grounded](https://github.com/grpc/grpc/blob/master/doc/g_stands_for.md)) of gRPC Core. For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases). This release contains refinements, improvements, and bug fixes, with highlights listed below. Core --- - [EventEngine] Change `GetDNSResolver` to return `absl::StatusOr<std::unique_ptr<DNSResolver>>`. ([#33744](https://github.com/grpc/grpc/pull/33744)) - [deps] Remove libuv dependency. ([#33748](https://github.com/grpc/grpc/pull/33748)) - [ssl] Fix SSL stack to handle large handshake messages whose length exceeds the BIO buffer size. ([#33638](https://github.com/grpc/grpc/pull/33638)) - [BoringSSL] Update third_party/boringssl-with-bazel. ([#33690](https://github.com/grpc/grpc/pull/33690)) - [iomgr][EventEngine] Improve server handling of file descriptor exhaustion. ([#33656](https://github.com/grpc/grpc/pull/33656)) - [ruby] experimental client side fork support. ([#33430](https://github.com/grpc/grpc/pull/33430)) - [core] Add a channel argument to set DSCP on streams. ([#28322](https://github.com/grpc/grpc/pull/28322)) - [xDS LB] xDS pick first support. ([#33540](https://github.com/grpc/grpc/pull/33540)) - [tls] Remove use of SSL_CTX_set_client_CA_list for TLS server credentials. ([#33558](https://github.com/grpc/grpc/pull/33558)) - [EventEngine] Simplify `EventEngine::DNSResolver` API. ([#33459](https://github.com/grpc/grpc/pull/33459)) - [iomgr][Windows] Return proper error code to client when connection is reset. ([#33502](https://github.com/grpc/grpc/pull/33502)) - [fork] simplify Fork::SetResetChildPollingEngineFunc to fix nested forking. ([#33495](https://github.com/grpc/grpc/pull/33495)) - [lb pick_first] Enable random shuffling of address list. ([#33254](https://github.com/grpc/grpc/pull/33254)) - [HTTP2] Fix inconsistencies in keepalive configuration. ([#33428](https://github.com/grpc/grpc/pull/33428)) - [c-ares] Upgrade c-ares dependency to 1.19.1. ([#33392](https://github.com/grpc/grpc/pull/33392)) - [Rls] de-experimentalize RLS in XDS. ([#33290](https://github.com/grpc/grpc/pull/33290)) C++ --- - [otel] Add bazel dependency. ([#33548](https://github.com/grpc/grpc/pull/33548)) C# --- - [csharp] Include correct build of Grpc.Tools in nightly packages. ([#33595](https://github.com/grpc/grpc/pull/33595)) - [csharp] reintroduce base_namespace experimental option to C# (with a patch). ([#33535](https://github.com/grpc/grpc/pull/33535)) Objective-C --- - [Protobuf] Upgrade third_party/protobuf to 23.4. ([#33695](https://github.com/grpc/grpc/pull/33695)) Python --- - [posix] Enable systemd sockets for libsystemd>=233. ([#32671](https://github.com/grpc/grpc/pull/32671)) - [python O11Y] Initial Implementation. ([#32974](https://github.com/grpc/grpc/pull/32974)) Ruby --- - [ruby] experimental client side fork support ([#33430](https://github.com/grpc/grpc/pull/33430)) - [ruby] backport "[ruby] remove unnecessary background thread startup wait logic that interferes with forking #33805" to v1.57.x. ([#33846](https://github.com/grpc/grpc/pull/33846)) - [Ruby] remove manual strip in ruby ext conf. ([#33641](https://github.com/grpc/grpc/pull/33641)) - [ruby] simplify shutdown; remove unnecessary attempts at grpc_shutdown. ([#33674](https://github.com/grpc/grpc/pull/33674)) - [ruby] Add `-weak_framework CoreFoundation` to link line. ([#33538](https://github.com/grpc/grpc/pull/33538)) - [Ruby] Fix memory leak in grpc_rb_call_run_batch. ([#33368](https://github.com/grpc/grpc/pull/33368)) - [Ruby] Fix memory leak in grpc_rb_server_request_call. ([#33371](https://github.com/grpc/grpc/pull/33371))
Release v1.55.3
8 weeks ago
This is release 1.55.3 ([grandslam](https://github.com/grpc/grpc/blob/master/doc/g_stands_for.md)) of gRPC Core. For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases). This release contains refinements, improvements, and bug fixes, with highlights listed below. Core --- - [backport][iomgr][EventEngine] Improve server handling of file descriptor exhaustion by @drfloob in https://github.com/grpc/grpc/pull/33669 Python --- - [iOS] Disable posix polling on iOS (#33094) by @gnossen in https://github.com/grpc/grpc/pull/33326
Release v1.54.3
8 weeks ago
This is release 1.54.3 ([gracious](https://github.com/grpc/grpc/blob/master/doc/g_stands_for.md)) of gRPC Core. For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases). This release contains refinements, improvements, and bug fixes, with highlights listed below. Core --- * [backport][iomgr][EventEngine] Improve server handling of file descriptor exhaustion by @drfloob in https://github.com/grpc/grpc/pull/33670
Release v1.53.2
8 weeks ago
This is release gRPC Core 1.53.2 (glockenspiel). For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases). This release contains refinements, improvements, and bug fixes. Core --- - [backport][iomgr][EventEngine] Improve server handling of file descriptor exhaustion by @drfloob in https://github.com/grpc/grpc/pull/33672
Release v1.57.0-pre1
9 weeks ago
This is a prerelease of gRPC Core 1.57.0 (grounded). For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases). This prerelease contains refinements, improvements, and bug fixes.
Release v1.56.2
10 weeks ago
This is release gRPC Core 1.56.2 (galvanized). For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases). This release contains refinements, improvements, and bug fixes. Core --- - [WRR] backport ([#33694](https://github.com/grpc/grpc/pull/33694)) to 1.56 ([#33698](https://github.com/grpc/grpc/pull/33698)) - [backport][iomgr][EventEngine] Improve server handling of file descriptor exhaustion ([#33667](https://github.com/grpc/grpc/pull/33667))
fastlane/fastlane watchbuild/0.1.4
🚀 The easiest way to automate building and releasing your iOS and Android apps
⭐️ 37,560
🕓 12 hours ago
🔖 Release Notes

Releases

The markdown parsing is broken/disabled for release notes. Sorry about that, I'm chasing the source of a crash that's been bringing this website down for the last couple of days.
2.216.0 Fix for match GitLab storage
1 week ago
* [match] fixes missing job-token error in GitLab storage mode (#21520) via Darby Frey (@darbyfrey)
2.215.1 Workaround for Google Play API instability
1 week ago
* [supply] add new SUPPLY_UPLOAD_MAX_RETRIES env var to attempt to solve failed Google API calls (#21518) via Josh Holtz (@joshdholtz)
2.215.0 Improvements
1 week ago
* [spaceship] add request retry with backoff when encountring 429 errors (#21511) via Stefan Natchev (@snatchev) * [supply] introduce a new synchronization logic for screenshots (#21498) via Olivier Halligon (@AliSoftware) * [deliver] validate the status of app version to be ready_for_review before submitting the app (#20515) via 醉 (@404pilot) * [match] Added s3_skip_encryption parameter (#21018) via Morten Bøgh (@mbogh) * [docs] add minor branding guidelines to `CONTRIBUTING.md` (#21495) via Roger Oba (@rogerluan) * [match] prevent directory download from s3 (#20975) via Mark Homoki (@markhomoki) * [xcodes] fix issue where `xcodes` action wouldn't accept beta versions of Xcode (#21434) via apps4everyone (@apps4everyone) * [spaceship] explicit beta group access to all builds at creation (#21478) via Vincent Isambart (@vincentisambart) * [docs] update pull request template to ask contributors to write unit tests (#21427) via Roger Oba (@rogerluan) * [action] deprecate the ensure_xcode_version action (#21448) via Iulian Onofrei (@revolter) * [tests] stop generating rspec temp file in current directory (#21466) via Roger Oba (@rogerluan) * [ci] fix CI by replacing deprecated Xcode versions, and add Xcode 14, Xcode 15, and Ruby 3.1 to test envs (#21465) via Roger Oba (@rogerluan) * [deliver][frameit] add iPhone 14 Pro / 6.1" display type (#21393) via Stefan Natchev (@snatchev) * [spaceship] add missing `AppStoreState` cases (#21312) via Roger Oba (@rogerluan) * [fastlane_core] fix WWDR certificates import flow (#21442) via Paul Taykalo (@PaulTaykalo) * [docs] fix tool name formatting (for `supply`) to be lowercase to pass fastlane docs unit tests (#21426) via Roger Oba (@rogerluan)
2.214.0 Improvements
10 weeks ago
* [spaceship] fix olympus session request error after skipping 2FA Upgrade (#21317) via AbbyM (@AbbyM) * [spaceship] add update method to ConnectAPI::User (#20956) via Vitalii Budnik (@nekrich) * [supply][action] add `download_apk_from_google_play` action (and corresponding `supply` methods) (#21315) via Olivier Halligon (@AliSoftware) * [docs] fix sync_code_signing.md (#21202) via Yuki Sakai (@VeyronSakai) * [fastlane] fix fastlane action template warnings reported by Rubocop (#21310) via Bartosz Kosiorek (@BartoszKosiorek-TomTom) * [docs][match] fix typos, improve wording, incorporate improvements to match documentation examples (#21302) via Roger Oba (@rogerluan) * [match] fixes Gitlab Secure Files API limit (#21361) via Darby Frey (@darbyfrey) * [match] adding access token prompt for GitLab Secure Files Match (#21279) via Darby Frey (@darbyfrey) * [deliver] update upload_price_tier (#21282) via lukethoene (@lukethoene)
2.213.0 Improvements
18 weeks ago
* [core][match] remove obsolete and expired WWDR G1 certificate (#21271) via Frederik Seiffert (@triplef) * [action][ensure_git_status_clean] new ignore_files option for explicitly ignoring files (#21283) via Josh Holtz (@joshdholtz) * [scan] run simulator destination with arch=x86_64 for Xcode 14.3 and up if on Intel (#21284) via Josh Holtz (@joshdholtz) * [match] adding support for self-managed GitLab instances (#21274) via Darby Frey (@darbyfrey) * [pilot] fix increase limit for build query (#21212) via Eric Lindvall (@eric) * [dependency] relax `multipart_post` dependency version requirement (#20870) via Edouard Brière (@edouard)
2.212.2 Improvements and fix for some App Store Connect APIs
23 weeks ago
* [ci] Only run all mac jobs on master and version bump branches (#21088) via Josh Holtz (@joshdholtz) * [spaceship] remove deprecated attributes from apps requests (#21187) via Kohki Miki (@giginet) * [snapshot] fix resolve deadlock in LatestOsVersion#version_for_os (#20329) via stbix (@stbix) * [deliver] Implements `verify` with `altool` for Xcode 14 validation (#20738) via Pol Piella Abadia (@polpielladev) * [action][ensure_git_status_clean] fix incorrect "ignored" param handling (#20976) via Iulian Onofrei (@revolter) * [spaceship] increase limit for build query in distribute to handle multiple platforms (#21087) via Eric Lindvall (@eric)
2.212.1 Fix for Apple ID lockout and Access Forbidden with new hashcash header
30 weeks ago
* [spaceship] Implements new hashcash header in auth flow (#21073) via Josh Holtz (@joshdholtz) * [spaceship] Fix Apple ID 2FA with SMS (#21072) via Josh Holtz (@joshdholtz)
2.212.0 Improvements
31 weeks ago
* [fastlane_core] New FASTLANE_WWDR_USE_HTTP1_AND_RETRIES env (feature flag) to use http 1.1 and retries when installing WWDC certs to fix some CI failures (#21044) via Josh Holtz (@joshdholtz) * [CI] Update deprecated CircleCI images (#20932) via Aaron Brager (@getaaron) * [spaceship] Add language name in stack trace when localization operations fail (#20581) via Cristian Caruceru (@ccaruceru) * [gym] Add show build timing summary option (#20896) via Pol Piella (@polpielladev) * [deliver] add iPad Pro 6th generation (#20993) via Kohki Miki (@giginet) * [action][import_from_git] fix error when cache_path is not specified (#20958) via Vitalii Budnik (@nekrich) * [spaceship] add methods to rename and disable/enable devices (#20928) via Vitalii Budnik (@nekrich) * [spaceship] Remove unused params in ConnectAPI::Device (#20931) via Aaron Brager (@getaaron) * [action][xcodes] add error handling for `xcodes` when running the `installed` cmd (#20867) via Gio Lodi (@mokagio) * [scan] add option to specify result bundle path (#20742) via Benedek Kozma (@Cyberbeni) * [deliver] fix bug when canceling a rejected submission (#20754) via merchang (@merchang) * [fastlane_core] prevent negative argument error for message formatting (#20857) via Akseli Lukkarila (@akselilukkarila) * [spaceship] support fetching `build_bundle_file_sizes` for a `BuildBundle` (#20860) via Liam Nichols (@liamnichols) * [action][update_project_provisioning] redownload AppleIncRootCertificate.cer if file size is 0. (#20812) via Jerry.Qiushi (@JerryZQS) * [docs] add link to Spaceship Debugging docs from Tooling and Debugging docs (#20849) via Rob Mathers (@robmathers) * [screengrab] fix formatting of the `screengrab` / `capture_android_screenshots` docs (#20597) via Olivier Halligon (@AliSoftware) * [action][pod lib lint] fix grammar in success message (#20627) via Tejas Sharma (@tejassharma96) * [match] developer id installer profile for the accessible environments (#20782) via Paul Taykalo (@PaulTaykalo)
2.211.0 Improvements
45 weeks ago
* [release] fix for more forgiving changelog generation for release (#20851) via Josh Holtz (@joshdholtz) * [match][sigh] add support for Apple Silicon Macs in iOS/iPadOS provisioning profiles (#20676) via Philipp Resch (@PinkidG) * [snapshot] fix compiler error on `SnapshotHelper.swift` (#20689) via amcalgates (@amcalgates) * [match] fix match nuke not deleting decrypted files (#20776) via Iulian Onofrei (@revolter) * [docs] update path to iTMSTransporter for Fastlane.swift (#20795) via Rafał Wyszomirski (@rafauke) * [action][update_code_signing_settings] add `sdk` key to update_code_signing_settings (#20655) via gabimoncha (@gabimoncha) * [pilot][deliver] fix private method clone' called for #<Hash> on uploading app (#20662) via freddi(Yuki Aki) (@freddi-kit) * [spaceship] implement resolution center API in Spaceship::ConnectAPI (#20726) via Hiroto Nakamura (@Hiroto-N) * [action] add `xcodes` action, deprecating `xcversion` and `xcode-install` (#20672) via Roger Oba (@rogerluan) * [frameit] fix device detection that would match less specific devices first (#20642) via Guglielmo Faglioni (@guidev) * [deliver] add support to detecting and uploading 6.7" (iPhone 14 Pro Max) screenshots (#20694) via Evgeny Cherpak (@cherpake)
2.210.1 Hotfix for deliver and pilot
1 year ago
* [pilot][deliver] Fix how to encode base64 p8 key on deliver and pilot (#20669) via freddi(Yuki Aki) (@freddi-kit)
AFNetworking/AFNetworking 4.0.1
A delightful networking framework for iOS, macOS, watchOS, and tvOS.
⭐️ 33,354
🕓 36 weeks ago
🔖 Release Notes

Releases

The markdown parsing is broken/disabled for release notes. Sorry about that, I'm chasing the source of a crash that's been bringing this website down for the last couple of days.
Fixes and Updates
3 years ago
Released on Sunday, April 19, 2020. All issues associated with this milestone can be found using this [filter](https://github.com/AFNetworking/AFNetworking/milestone/20?closed=1). #### Updated * Project templates and integrations. * Implemented by Kaspik in [#4531](https://github.com/AFNetworking/AFNetworking/pull/4531). * Various CocoaPods podspec settings. * Implemented by ElfSundae in [#4528](https://github.com/AFNetworking/AFNetworking/pull/4528), [#4532](https://github.com/AFNetworking/AFNetworking/pull/4532), and [#4533](https://github.com/AFNetworking/AFNetworking/pull/4533). #### Fixed * Crash during authentication delegate method. * Implemented by Kaspik, ElfSundae, and jshier in [#4542](https://github.com/AFNetworking/AFNetworking/pull/4542), [#4552](https://github.com/AFNetworking/AFNetworking/pull/4552), and [#4553](https://github.com/AFNetworking/AFNetworking/pull/4553). * SPM integration. * Implemented by jshier in [#4554](https://github.com/AFNetworking/AFNetworking/pull/4554). * Improper update instead of replacement of header values. * Implemented by ElfSundae in [#4550](https://github.com/AFNetworking/AFNetworking/pull/4550). * Nullability of some methods. * Implemented by ElfSundae in [#4551](https://github.com/AFNetworking/AFNetworking/pull/4551). * Typos in CHANGELOG. * Implemented by ElfSundae in [#4537](https://github.com/AFNetworking/AFNetworking/pull/4537). * Missing tvOS compatibility for some methods. * Implemented by ElfSundae in [#4536](https://github.com/AFNetworking/AFNetworking/pull/4536). * Missing `FOUNDATION_EXPORT` for `AFJSONObjectByRemovingKeysWithNullValues`. * Implemented by ElfSundae in [#4529](https://github.com/AFNetworking/AFNetworking/pull/4529). #### Removed * Unused UIImage+AFNetworking.h file. * Implemented by ElfSundae in [#4535](https://github.com/AFNetworking/AFNetworking/pull/4535).
A Long Time Coming
3 years ago
Released on Sunday, March 29, 2020. All issues associated with this milestone can be found using this [filter](https://github.com/AFNetworking/AFNetworking/milestone/16?closed=1). #### Added * Notificate when a downloaded file has been moved successfully. * Implemented by xingheng in [#4393](https://github.com/AFNetworking/AFNetworking/pull/4393). * Specific error for certificate pinning failure. * Implemented by 0xced in [#3425](https://github.com/AFNetworking/AFNetworking/pull/3425). * `WKWebView` extensions. * Implemented by tjanela in [#4439](https://github.com/AFNetworking/AFNetworking/pull/4439). * Automatic location of certificates in the main bundle for certificate pinning. * Implemented by 0xced in [#3752](https://github.com/AFNetworking/AFNetworking/pull/3752). * User-Agent support for tvOS. * Implemented by ghking in [#4014](https://github.com/AFNetworking/AFNetworking/pull/4014). * Ability for `AFHTTPSessionManager` to recreate its underlying `NSURLSession`. * Implemented by Kaspik in [#4256](https://github.com/AFNetworking/AFNetworking/pull/4256). * Ability to set HTTP headers per request. * Implemented by stnslw in [#4113](https://github.com/AFNetworking/AFNetworking/pull/4113). * Ability to capture `NSURLSessionTaskMetrics`. * Implemented by Caelink in [#4237](https://github.com/AFNetworking/AFNetworking/pull/4237). #### Updated * `dataTaskWithHTTPMethod` to be public. * Implemented by smartinspereira in [#4007](https://github.com/AFNetworking/AFNetworking/pull/4007). * Reachability notification to include the instance which issued the notification. * Implemented by LMsgSendNilSelf in [#4051](https://github.com/AFNetworking/AFNetworking/pull/4051). * `AFJSONObjectByRemovingKeysWithNullValues` to be public. * Implemented by ashfurrow in [#4051](https://github.com/AFNetworking/AFNetworking/pull/4051). * `AFJSONObjectByRemovingKeysWithNullValues` to remove `NSNull` values from `NSArray`s. * Implemented by ashfurrow in [#4052](https://github.com/AFNetworking/AFNetworking/pull/4052). #### Changed * Automated CI to GitHub Actions. * Implemented by jshier in [#4523](https://github.com/AFNetworking/AFNetworking/pull/4523). #### Fixed * Explicit `NSSecureCoding` support. * Implemented by jshier in [#4523](https://github.com/AFNetworking/AFNetworking/pull/4523). * Deprecated API usage on Catalyst. * Implemented by jshier in [#4523](https://github.com/AFNetworking/AFNetworking/pull/4523). * Nullability annotations. * Implemented by jshier in [#4523](https://github.com/AFNetworking/AFNetworking/pull/4523). * `AFImageDownloader` to more accurately cancel downloads. * Implemented by kinarobin in [#4407](https://github.com/AFNetworking/AFNetworking/pull/4407). * Double KVO notifications in `AFNetworkActivityManager`. * Implemented by kinarobin in [#4406](https://github.com/AFNetworking/AFNetworking/pull/4406). * Availability annotations around `NSURLSessionTaskMetrics`. * Implemented by ElfSundae in [#4516](https://github.com/AFNetworking/AFNetworking/pull/4516). * Issues with `associated_object` and subclasses. * Implemented by welcommand in [#3872](https://github.com/AFNetworking/AFNetworking/pull/3872). * Memory leak in example application. * Implemented by svoit in [#4196](https://github.com/AFNetworking/AFNetworking/pull/4196). * Crashes in mulithreaded scenarios and `dispatch_barrier`. * Implemetned by streeter in [#4474](https://github.com/AFNetworking/AFNetworking/pull/4474). * Issues with `NSSecureCoding`. * Implemented by ElfSudae in [#4409](https://github.com/AFNetworking/AFNetworking/pull/4409). * Code style issues. * Implemented by svoit in [#4200](https://github.com/AFNetworking/AFNetworking/pull/4200). * Race condition in `AFImageDownloader`. * Implemented by bbeversdorf in [#4246](https://github.com/AFNetworking/AFNetworking/pull/4246). * Coding style issues. * Implemented by LeeHongHwa in [#4002](https://github.com/AFNetworking/AFNetworking/pull/4002). #### Removed * Support for iOS < 9, macOS < 10.10. * Implemented by jshier in [#4523](https://github.com/AFNetworking/AFNetworking/pull/4523). * All previously deprecated APIs. * Implemented by jshier in [#4523](https://github.com/AFNetworking/AFNetworking/pull/4523). * Unnecessary `__block` capture. * Implemented by kinarobin in [#4526](https://github.com/AFNetworking/AFNetworking/pull/4526). * Workaround for `NSURLSessionUploadTask` creation on iOS 7. * Implemented by kinarobin in [#4525](https://github.com/AFNetworking/AFNetworking/pull/4525). * Workaround for safe `NSURLSessionTask` creation on iOS < 8. * Implemented by kinarobin in [#4401](https://github.com/AFNetworking/AFNetworking/pull/4401). * `UIWebView` extensions. * Implemented by tjanela in [#4439](https://github.com/AFNetworking/AFNetworking/pull/4439).
2.7.0
4 years ago
Released on Tuesday, February 12, 2019. All issues associated with this milestone can be found using this [filter](https://github.com/AFNetworking/AFNetworking/issues?q=milestone%3A2.7.0+is%3Aclosed). #### Fixed * Update Podfile to work on modern CocoaPods * Fixed by [SlaunchaMan](https://github.com/SlaunchaMan) in [#4329](https://github.com/AFNetworking/AFNetworking/pull/4329). * Add nullability specifiers to all `id responseObject` parameters * Fixed by [sashaweiss](https://github.com/sashaweiss) in [#4335](https://github.com/AFNetworking/AFNetworking/pull/4335). * Fix empty content crash on `AFHTTPSessionManager.post` * Fixed by [jcravioto](https://github.com/jcravioto) in [#4296](https://github.com/AFNetworking/AFNetworking/pull/4296).
3.2.1
5 years ago
Released on Friday, May 04, 2018. All issues associated with this milestone can be found using this [filter](https://github.com/AFNetworking/AFNetworking/issues?q=milestone%3A3.2.1+is%3Aclosed). #### Updated * Xcode 9.3 Support * Implemented by Jeff Kelley in [#4199](https://github.com/AFNetworking/AFNetworking/pull/4199). * Update HTTPBin certificates for April 2018. * Implemented by Jeff Kelley in [#4198](https://github.com/AFNetworking/AFNetworking/pull/4198). #### Additional Changes * Remove conflicting nullable specifier on init * Implemented by Nick Brook and Jeff Kelley in [#4182](https://github.com/AFNetworking/AFNetworking/pull/4182). * Use @available if available to silence a warning. * Implemented by Jeff Kelley in [#4138](https://github.com/AFNetworking/AFNetworking/pull/4138). * UIImageView+AFNetworking: Prevent stuck state for malformed urlRequest * Implemented by Adam Duflo and aduflo in [#4131](https://github.com/AFNetworking/AFNetworking/pull/4131). * add the link for LICENSE * Implemented by Liao Malin in [#4125](https://github.com/AFNetworking/AFNetworking/pull/4125). * Fix analyzer warning for upload task creation * Implemented by Jeff Kelley in [#4122](https://github.com/AFNetworking/AFNetworking/pull/4122).
3.2.0
5 years ago
Released on Friday, December 15, 2017. All issues associated with this milestone can be found using this [filter](https://github.com/AFNetworking/AFNetworking/issues?q=milestone%3A3.2.0+is%3Aclosed). #### Added * Config `AFImageDownloader` `NSURLCache` and ask `AFImageRequestCache` implementer if an image should be cached * Implemented by wjehenddher in [#4010](https://github.com/AFNetworking/AFNetworking/pull/4010). * Add `XMLParser`/`XMLDocument` serializer tests * Implemented by skyline75489 in [#3753](https://github.com/AFNetworking/AFNetworking/pull/3753). * Enable custom httpbin URL with `HTTPBIN_BASE_URL` environment variable * Implemented by 0xced in [#3748](https://github.com/AFNetworking/AFNetworking/pull/3748). * `AFHTTPSessionManager` now throws exception if SSL pinning mode is set for non https sessions * Implemented by 0xced in [#3687](https://github.com/AFNetworking/AFNetworking/pull/3687). #### Updated * Update security policy test certificates * Implemented by SlaunchaMan in [#4103](https://github.com/AFNetworking/AFNetworking/pull/4103). * Allow return value of HTTP redirection block to be `NULL` * Implemented by TheDom in [#3975](https://github.com/AFNetworking/AFNetworking/pull/3975). * Clarify documentation for supported encodings in `AFJSONResponseSerializer` * Implemented by skyline75489 in [#3750](https://github.com/AFNetworking/AFNetworking/pull/3750). * Handle Error Pointers according to Cocoa Convention * Implemented by tclementdev in [#3653](https://github.com/AFNetworking/AFNetworking/pull/3653). * Updates `AFHTTPSessionManager` documentation to reflect v3.x change * Implemented by ecaselles in [#3476](https://github.com/AFNetworking/AFNetworking/pull/3476). * Improved code base to generate fewer warnings when using stricter compiler settings * Implemented by 0xced in [3431](https://github.com/AFNetworking/AFNetworking/pull/3431). #### Changed * Change “Mac OS X” and “OS X” references to “macOS” * Implemented by SlaunchaMan in [#4104](https://github.com/AFNetworking/AFNetworking/pull/4104). #### Fixed * Fixed crash around customizing `NSURLCache` size for < iOS 8.2 * Implemented by kcharwood in [#3735](https://github.com/AFNetworking/AFNetworking/pull/3735). * Fixed issue where `UIWebView` extension did not preserve all of the request information * Implemented by skyline75489 in [#3733](https://github.com/AFNetworking/AFNetworking/pull/3733). * Fixed bug with webview delegate callback * Implemented by kcharwood in [#3727](https://github.com/AFNetworking/AFNetworking/pull/3727). * Fixed crash when passing invalid JSON to request serialization * Implemented by 0xced in [#3719](https://github.com/AFNetworking/AFNetworking/pull/3719). * Fixed potential KVO crasher for URL Session Task delegates * Implemented by 0xced in [#3718](https://github.com/AFNetworking/AFNetworking/pull/3718). * Removed ambiguous array creation in `AFSecurityPolicy` * Implemented by sgl0v in [#3679](https://github.com/AFNetworking/AFNetworking/pull/3679). * Fixed issue where `NS_UNAVAILABLE` is not reported for `AFNetworkReachabilityManager` * Implemented by Microbee23 in [#3649](https://github.com/AFNetworking/AFNetworking/pull/3649). * Require app extension api only on watchOS * Implemented by ethansinjin in [#3612](https://github.com/AFNetworking/AFNetworking/pull/3612). * Remove KVO of progress in favor of using the NSURLSession delegate APIs * Implemented by coreyfloyd in [#3607](https://github.com/AFNetworking/AFNetworking/pull/3607). * Fixed an issue where registering a `UIProgessView` to a task that was causing a crash * Implemented by Starscream27 in [#3604](https://github.com/AFNetworking/AFNetworking/pull/3604). * Moved `[self didChangeValueForKey:@"currentState"]` into correct scope * Implemented by chenxin0123 in [#3565](https://github.com/AFNetworking/AFNetworking/pull/3565). * Fixed issue where response serializers did not inherit super class copying * Implemented by kcharwood in [#3559](https://github.com/AFNetworking/AFNetworking/pull/3559). * Fixed crashes due to race conditions with `NSMutableDictionary` access in `AFHTTPRequestSerializer` * Implemented by alexbird in [#3526](https://github.com/AFNetworking/AFNetworking/pull/3526). * Updated dash character to improve markdown parsing for license * Implemented by gemmakbarlow in [#3488](https://github.com/AFNetworking/AFNetworking/pull/3488). #### Removed * Deprecate the unused stringEncoding property of `AFHTTPResponseSerializer` * Implemented by 0xced in [#3751](https://github.com/AFNetworking/AFNetworking/pull/3751). * Removed unused `AFTaskStateChangedContext` * Implemented by yulingtianxia in [#3432](https://github.com/AFNetworking/AFNetworking/pull/3432).
3.1.0
7 years ago
Released on Thursday, March 31, 2016. All issues associated with this milestone can be found using this [filter](https://github.com/AFNetworking/AFNetworking/issues?q=milestone%3A3.1.0+is%3Aclosed). #### Added - Improved `AFImageResponseSerializer` test coverage - Implemented by quellish in [#3367](https://github.com/AFNetworking/AFNetworking/pull/3367). - Exposed `AFQueryStringFromParameters` and `AFPercentEscapedStringFromString` for public use. - Implemented by Kevin Harwood in [#3160](https://github.com/AFNetworking/AFNetworking/pull/3160). #### Updated - Updated Test Suite to run on Xcode 7.3 - Implemented by Kevin Harwood in [#3418](https://github.com/AFNetworking/AFNetworking/pull/3418). - Added white space to URLs in code comment to allow Xcode to properly parse them - Implemented by Draveness in [#3384](https://github.com/AFNetworking/AFNetworking/pull/3384). - Updated documentation to match method names and correct compiler warnings - Implemented by Hakon Hanesand in [#3369](https://github.com/AFNetworking/AFNetworking/pull/3369). - Use `NSKeyValueChangeNewKey` constant in change dictionary rather than hardcoded string. - Implemented by Wenbin Zhang in [#3360](https://github.com/AFNetworking/AFNetworking/pull/3360). - Resolved compiler warnings for documentation errors - Implemented by Ricardo Santos in [#3336](https://github.com/AFNetworking/AFNetworking/pull/3336). #### Changed - Reverted `NSURLSessionAuthChallengeDisposition` to `NSURLSessionAuthChallengeCancelAuthenticationChallenge` for SSL Pinning - Implemented by Kevin Harwood in [#3417](https://github.com/AFNetworking/AFNetworking/pull/3417). #### Fixed - Removed trailing question mark in query string if parameters are empty - Implemented by Kevin Harwood in [#3386](https://github.com/AFNetworking/AFNetworking/pull/3386). - Fixed crash if bad URL was passed into the image downloader - Implemented by Christian Wen and Kevin Harwood in [#3385](https://github.com/AFNetworking/AFNetworking/pull/3385). - Fixed image memory calculation - Implemented by 周明宇 in [#3344](https://github.com/AFNetworking/AFNetworking/pull/3344). - Fixed issue where UIButton image downloading called wrong cancel method - Implemented by duanhong in [#3332](https://github.com/AFNetworking/AFNetworking/pull/3332). - Fixed image downloading cancellation race condition - Implemented by Kevin Harwood in [#3325](https://github.com/AFNetworking/AFNetworking/pull/3325). - Fixed static analyzer warnings on AFNetworkReachabilityManager - Implemented by Jeff Kelley in [#3315](https://github.com/AFNetworking/AFNetworking/pull/3315). - Fixed issue where download progress would not be reported in iOS 7 - Implemented by zwm in [#3294](https://github.com/AFNetworking/AFNetworking/pull/3294). - Fixed status code 204/205 handling - Implemented by Kevin Harwood in [#3292](https://github.com/AFNetworking/AFNetworking/pull/3292). - Fixed crash when passing nil/null for progress in UIWebView extension - Implemented by Kevin Harwood in [#3289](https://github.com/AFNetworking/AFNetworking/pull/3289). #### Removed - Removed workaround for NSJSONSerialization bug that was fixed in iOS 7 - Implemented by Cédric Luthi in [#3253](https://github.com/AFNetworking/AFNetworking/pull/3253).
3.0.4
7 years ago
Released on Friday, December 18, 2015. All issues associated with this milestone can be found using this [filter](https://github.com/AFNetworking/AFNetworking/issues?q=milestone%3A3.0.4+is%3Aclosed). #### Fixed - Fixed issue where `AFNSURLSessionTaskDidResumeNotification` was removed twice - Implemented by Kevin Harwood in [#3236](https://github.com/AFNetworking/AFNetworking/pull/3236).
3.0.3
7 years ago
Released on Wednesday, December 16, 2015. All issues associated with this milestone can be found using this [filter](https://github.com/AFNetworking/AFNetworking/issues?q=milestone%3A3.0.3+is%3Aclosed). #### Added - Added tests for response serializers to increase test coverage - Implemented by Kevin Harwood in [#3233](https://github.com/AFNetworking/AFNetworking/pull/3233). #### Fixed - Fixed `AFImageResponseSerializer` serialization macros on watchOS and tvOS - Implemented by Charles Joseph in [#3229](https://github.com/AFNetworking/AFNetworking/pull/3229).
3.0.2
7 years ago
Released on Monday, December 14, 2015. All issues associated with this milestone can be found using this [filter](https://github.com/AFNetworking/AFNetworking/issues?q=milestone%3A3.0.2+is%3Aclosed). #### Fixed - Fixed a crash in `AFURLSessionManager` when resuming download tasks - Implemented by Chongyu Zhu in [#3222](https://github.com/AFNetworking/AFNetworking/pull/3222). - Fixed issue where background button image would not be updated - Implemented by eofs in [#3220](https://github.com/AFNetworking/AFNetworking/pull/3220).
3.0.1
7 years ago
Released on Friday, December 11, 2015. All issues associated with this milestone can be found using this [filter](https://github.com/AFNetworking/AFNetworking/issues?q=milestone%3A3.0.1+is%3Aclosed). #### Added - Added Xcode 7.2 support to Travis - Implemented by Kevin Harwood in [#3216](https://github.com/AFNetworking/AFNetworking/pull/3216). #### Fixed - Fixed race condition with ImageView/Button image downloading when starting/cancelling/starting the same request - Implemented by Kevin Harwood in [#3215](https://github.com/AFNetworking/AFNetworking/pull/3215).
iOS macOS watchOS tvOS
danielgindi/Charts v4.1.0
Beautiful charts for iOS/tvOS/OSX! The Apple side of the crossplatform MPAndroidChart.
⭐️ 27,012
🕓 1 year ago
🔖 Release Notes

Releases

The markdown parsing is broken/disabled for release notes. Sorry about that, I'm chasing the source of a crash that's been bringing this website down for the last couple of days.
5.0.0
15 weeks ago
# A New Name! `Charts` is now called `DGCharts` to prevent conflicts with Apple's SwiftUI Charts. To fix your projects simply replace `import Charts` with `import DGCharts` ## What's Changed * Fix yOffset documentation typo by @erkanyildiz in https://github.com/danielgindi/Charts/pull/4898 * The use of special character in folder name don't allow unzip correct… by @rquesada in https://github.com/danielgindi/Charts/pull/4661 * Unnecessary space Removal and Semicolons are removed by @guptamohit1907 in https://github.com/danielgindi/Charts/pull/5016 * Change library name from Charts to DGCharts by @pmairoldi in https://github.com/danielgindi/Charts/pull/5027 * Adding a tutorial link to README.md by @stepanovgena in https://github.com/danielgindi/Charts/pull/4971 * fixed no used warning by @eren-celik in https://github.com/danielgindi/Charts/pull/4841 * Turn on the BUILD_LIBRARY_FOR_DISTRIBUTION flag by @matopeto in https://github.com/danielgindi/Charts/pull/4912 * bump min version to 13 for ios project by @waterskier2007 in https://github.com/danielgindi/Charts/pull/5062 * Fix Node 12 deprecation warning by @FelixHerrmann in https://github.com/danielgindi/Charts/pull/5043 * Merge from master by @pmairoldi in https://github.com/danielgindi/Charts/pull/5067 * Fix Xcode 14.3 import warnings by @FelixHerrmann in https://github.com/danielgindi/Charts/pull/5041 * remove swift-algorithms package in favor of manully importing needed … by @pmairoldi in https://github.com/danielgindi/Charts/pull/5069 * update ci by @pmairoldi in https://github.com/danielgindi/Charts/pull/5070 * [WIP] Release/5.0.0 by @pmairoldi in https://github.com/danielgindi/Charts/pull/5028 ## New Contributors * @erkanyildiz made their first contribution in https://github.com/danielgindi/Charts/pull/4898 * @rquesada made their first contribution in https://github.com/danielgindi/Charts/pull/4661 * @guptamohit1907 made their first contribution in https://github.com/danielgindi/Charts/pull/5016 * @stepanovgena made their first contribution in https://github.com/danielgindi/Charts/pull/4971 * @eren-celik made their first contribution in https://github.com/danielgindi/Charts/pull/4841 * @matopeto made their first contribution in https://github.com/danielgindi/Charts/pull/4912 * @waterskier2007 made their first contribution in https://github.com/danielgindi/Charts/pull/5062 **Full Changelog**: https://github.com/danielgindi/Charts/compare/v4.1.0...5.0.0
v4.1.0
1 year ago
## What's Changed * Update README.md by @jeremyteh in https://github.com/danielgindi/Charts/pull/4886 * Fix navigation bar transparent issue by @wlixcc in https://github.com/danielgindi/Charts/pull/4875 * Update ChartDataSet.swift by @batikansosun in https://github.com/danielgindi/Charts/pull/4861 * Fixes for Swift 5.7 compiler by @lukeredpath in https://github.com/danielgindi/Charts/pull/4823 * Add double mark for compiler check related with issue #4835 by @eliakorkmaz in https://github.com/danielgindi/Charts/pull/4836 * Fix chart only drawing first entry by @FelixHerrmann in https://github.com/danielgindi/Charts/pull/4829 ## New Contributors * @jeremyteh made their first contribution in https://github.com/danielgindi/Charts/pull/4886 * @wlixcc made their first contribution in https://github.com/danielgindi/Charts/pull/4875 * @batikansosun made their first contribution in https://github.com/danielgindi/Charts/pull/4861 * @lukeredpath made their first contribution in https://github.com/danielgindi/Charts/pull/4823 * @eliakorkmaz made their first contribution in https://github.com/danielgindi/Charts/pull/4836 * @FelixHerrmann made their first contribution in https://github.com/danielgindi/Charts/pull/4829 **Full Changelog**: https://github.com/danielgindi/Charts/compare/v4.0.3...v4.1.0
v4.0.3
1 year ago
## What's Changed * Remove Cocoadocs reference from README by @rph8 in https://github.com/danielgindi/Charts/pull/4812 * Highlighter fix by @kcome in https://github.com/danielgindi/Charts/pull/4721 * Added tutorial links by @phuanggh in https://github.com/danielgindi/Charts/pull/4669 * Update ChartData.swift by @truongtho1603 in https://github.com/danielgindi/Charts/pull/4822 * Properties on axis renderers to Objc (Fixes #4800) by @SLambrakis in https://github.com/danielgindi/Charts/pull/4801 ## New Contributors * @rph8 made their first contribution in https://github.com/danielgindi/Charts/pull/4812 * @kcome made their first contribution in https://github.com/danielgindi/Charts/pull/4721 * @phuanggh made their first contribution in https://github.com/danielgindi/Charts/pull/4669 * @truongtho1603 made their first contribution in https://github.com/danielgindi/Charts/pull/4822 * @SLambrakis made their first contribution in https://github.com/danielgindi/Charts/pull/4801 **Full Changelog**: https://github.com/danielgindi/Charts/compare/v4.0.2...v4.0.3
v4.0.2 Release
1 year ago
- Fixes build issues by replacing `class` protocol conformance to `AnyObject` - Update `swift-algorithms` to 1.0 - Add support for cocoapods for 4.0 - Bump lowest supported versions to iOS 10, macOS 10.12, tvOS 10
v4.0.1 Release
2 years ago
## v4.0.1 Release Thanks @jjatie, 4.0.1 release brings: Support Swift Package Manager and switch to another Snapshot test framework. Use Github Actions instead of Travis CI to run faster and work around Carthage issues against Xcode12. Snapshot UT now supports Apple Silicon. Adopt Swift-Algorithm crafted by Apple and the community. Full [changelog](https://github.com/danielgindi/Charts/blob/master/CHANGELOG.md) ------------- We have merged our long waited 4.0 branch into master. It adopts latest Swift trends and benefits and more flexbile and More swift! This is a huge release as a lot of APIs have changed and adopted new protocols. So please expect it will break your code especially about the collection protocols. We will add a few Pull requests in the near future such as https://github.com/danielgindi/Charts/pull/4411. The pre-release could last a little bit longer since we don't want to push people to update. But we do encourage people to try it out and give us feed back.
Xcode 12 support
3 years ago
Xcode 12 support
v3.5.0 Release
3 years ago
### Build on Xcode 11.4 and latest Swift (pod) Change log:https://github.com/danielgindi/Charts/blob/master/CHANGELOG.md **Merged pull requests:** [Full github commit log](https://github.com/danielgindi/Charts/compare/v3.4.0...v3.5.0) - Fix warnings on current code base [\#4321](https://github.com/danielgindi/Charts/pull/4321) ([liuxuan30](https://github.com/liuxuan30)) - Bugfix/legend offset double [\#4277](https://github.com/danielgindi/Charts/pull/4277) ([danielgindi](https://github.com/danielgindi)) - Fix for \#4274 string comparison issue in ChartData::getDataSetByLabel [\#4275](https://github.com/danielgindi/Charts/pull/4275) ([PeterKaminski09](https://github.com/PeterKaminski09)) - Restored correct velocity sampler [\#4273](https://github.com/danielgindi/Charts/pull/4273) ([danielgindi](https://github.com/danielgindi)) - Bugfix/pie highlight [\#4272](https://github.com/danielgindi/Charts/pull/4272) ([danielgindi](https://github.com/danielgindi)) - Call chartViewDidEndPanning on when \*panning\* is ended [\#4271](https://github.com/danielgindi/Charts/pull/4271) ([danielgindi](https://github.com/danielgindi)) - labelXOffset = 10 is default for radar chart only [\#4270](https://github.com/danielgindi/Charts/pull/4270) ([danielgindi](https://github.com/danielgindi)) - Use faster check for line whether it's inside drawing rect [\#4269](https://github.com/danielgindi/Charts/pull/4269) ([danielgindi](https://github.com/danielgindi)) - Refactor/cleanup [\#4268](https://github.com/danielgindi/Charts/pull/4268) ([danielgindi](https://github.com/danielgindi)) - address \#4033 draw half pie chart more accurate [\#4266](https://github.com/danielgindi/Charts/pull/4266) ([liuxuan30](https://github.com/liuxuan30)) - Update README.md, added link to tutorial about Radar Charts. [\#4258](https://github.com/danielgindi/Charts/pull/4258) ([DavidPiper94](https://github.com/DavidPiper94)) - Changes to fix Catalyst compatibility [\#4254](https://github.com/danielgindi/Charts/pull/4254) ([CAPIStkidd](https://github.com/CAPIStkidd)) - Platform separation [\#4178](https://github.com/danielgindi/Charts/pull/4178) ([jjatie](https://github.com/jjatie)) - introduce gracefully degrading abstractions for dark mode for ios and… [\#4171](https://github.com/danielgindi/Charts/pull/4171) ([motocodeltd](https://github.com/motocodeltd)) - Performed recommended localization and internationalization changes. [\#4162](https://github.com/danielgindi/Charts/pull/4162) ([coltonlemmon](https://github.com/coltonlemmon)) - Use interpolation instead of '+' concatenation for problematic expression [\#4123](https://github.com/danielgindi/Charts/pull/4123) ([Jumhyn](https://github.com/Jumhyn)) - Allowing overriding for YAxisRenderer.drawYLabels [\#4089](https://github.com/danielgindi/Charts/pull/4089) ([muclemente](https://github.com/muclemente)) - move isDrawCirclesEnabled check further up in code to avoid creating … [\#4050](https://github.com/danielgindi/Charts/pull/4050) ([xymtek](https://github.com/xymtek))
3.4.0 Release
3 years ago
### Support Xcode 11 and new Swift 5 ### Bug Fix #4029: Index out of bounds exception in v3.2 in createAccessibleElement #4094: Horizontal Bezier Line Graph Not Drawing Through All Points #4093: Line chart x axis animation is broken #4099: Line renderer did not render lines if their coordinates fell outside of the viewport full change log:https://github.com/danielgindi/Charts/blob/master/CHANGELOG.md pod updated
3.3.0 Release
4 years ago
**This will be a breaking update due to #3847 that we changed dataSet initializers API interface and fixed Xcode warnings for previous release.** ***pod has been updated again to 3.3.0 tag, it's previously using 3.3*** ### Now supports Xcode 10.2 and Swift 5.0 #### Highlights of fixed issues and merged requests: - Renamed `values` to `entries` to reflect the property's type [\#3847](https://github.com/danielgindi/Charts/pull/3847) ([jjatie](https://github.com/jjatie)) - Fix horizontal bar chart not drawing values and add unit tests [\#3906](https://github.com/danielgindi/Charts/pull/3906) ([liuxuan30](https://github.com/liuxuan30)) - fix \#3860. maxHeight didn't count the last label [\#3900](https://github.com/danielgindi/Charts/pull/3900) ([liuxuan30](https://github.com/liuxuan30)) - Migrating to built-in algorithms [\#3892](https://github.com/danielgindi/Charts/pull/3892) ([jjatie](https://github.com/jjatie)) - Use a stock iterator instead of a custom one. [\#3891](https://github.com/danielgindi/Charts/pull/3891) ([phughes](https://github.com/phughes)) - Removed unnecessary \#if statements and unified style to align with Xc… [\#3884](https://github.com/danielgindi/Charts/pull/3884) ([jjatie](https://github.com/jjatie)) - Velocity samples calculation [\#3883](https://github.com/danielgindi/Charts/pull/3883) ([jjatie](https://github.com/jjatie)) - Minor updates for Swift 5 [\#3874](https://github.com/danielgindi/Charts/pull/3874) ([jjatie](https://github.com/jjatie)) - Replace AnyObject with Any [\#3864](https://github.com/danielgindi/Charts/pull/3864) ([jjatie](https://github.com/jjatie)) - Data as any [\#3863](https://github.com/danielgindi/Charts/pull/3863) ([jjatie](https://github.com/jjatie)) - Reassess convenience initializers [\#3862](https://github.com/danielgindi/Charts/pull/3862) ([jjatie](https://github.com/jjatie)) - HorizontalBarChar value label offset calculation [\#3854](https://github.com/danielgindi/Charts/pull/3854) ([chaaarly](https://github.com/chaaarly)) - Create `chartViewDidEndAnimate` in ChartViewDelegate [\#3852](https://github.com/danielgindi/Charts/pull/3852) ([Lcsmarcal](https://github.com/Lcsmarcal)) - Align `ChartLimit.LabelPosition` naming with `UIRectCorner` [\#3846](https://github.com/danielgindi/Charts/pull/3846) ([jjatie](https://github.com/jjatie)) #### Full change log https://github.com/danielgindi/Charts/blob/master/CHANGELOG.md
3.2.2 Release
4 years ago
Highlights: **Implemented enhancements:** - Multiple colors for valueline \(Fixes \#3480\) [\#3709](https://github.com/danielgindi/Charts/pull/3709) ([AlexeiGitH](https://github.com/AlexeiGitH)) - use `useValueColorForLine` to enable the same colors - Add Collection conformances to ChartDataSet types [\#3815](https://github.com/danielgindi/Charts/pull/3815) ([jjatie](https://github.com/jjatie)) - improvements in barRect height calculation [\#3650](https://github.com/danielgindi/Charts/pull/3650) ([potato04](https://github.com/potato04)) **Fixed bugs:** - CombinedChartView's candleData don't display in v3.2.0 [\#3662](https://github.com/danielgindi/Charts/issues/3662) - Incorrect behavior for AxisBase.axisMaxLabels [\#3656](https://github.com/danielgindi/Charts/issues/3656) - Horizontal Bar Chart legend issue [\#3301](https://github.com/danielgindi/Charts/issues/3301) - Fixes sharp edges on the line chart [\#3764](https://github.com/danielgindi/Charts/pull/3764) ([stokatyan](https://github.com/stokatyan)) - Fix wrong assignment to axisMaxLabels property [\#3721](https://github.com/danielgindi/Charts/pull/3721) ([ggirotto](https://github.com/ggirotto)) - Fix legend offset bug for horizontal bar chart \(Fixes \#3301\) [\#3736](https://github.com/danielgindi/Charts/pull/3736) ([SvenMuc](https://github.com/SvenMuc)) - Add missing properties to copy\(with:\) methods [\#3715](https://github.com/danielgindi/Charts/pull/3715) ([dstranz](https://github.com/dstranz)) - Fix applying lineCap value for line chart data sets \(Fixes \#3739\) [\#3740](https://github.com/danielgindi/Charts/pull/3740) ([anton-filimonov](https://github.com/anton-filimonov)) - Fix memory leak after rendering [\#3680](https://github.com/danielgindi/Charts/pull/3680) ([YusukeOba](https://github.com/YusukeOba)) - Fix condition that is checked before `chartTranslated` delegate method call [\#3804](https://github.com/danielgindi/Charts/pull/3804) ([anton-filimonov](https://github.com/anton-filimonov)) **Other merged pull requests:** - fix \#3719 [\#3778](https://github.com/danielgindi/Charts/pull/3778) ([liuxuan30](https://github.com/liuxuan30)) - Turned gradient components and locations into constants [\#3775](https://github.com/danielgindi/Charts/pull/3775) ([jjatie](https://github.com/jjatie)) - add chartScaled\(\) call after double tap in BarLineChartViewBase [\#3770](https://github.com/danielgindi/Charts/pull/3770) ([artemiusmk](https://github.com/artemiusmk)) - fix issue \#3662 [\#3664](https://github.com/danielgindi/Charts/pull/3664) ([Michael-Du](https://github.com/Michael-Du)) - Make NSUIAccessibilityElement initializer public. [\#3654](https://github.com/danielgindi/Charts/pull/3654) ([417-72KI](https://github.com/417-72KI)) - Update document to latest format [\#3621](https://github.com/danielgindi/Charts/pull/3621) ([kemchenj](https://github.com/kemchenj)) - Feature - ChartView Pan Ended Delegate Call [\#3612](https://github.com/danielgindi/Charts/pull/3612) ([AntonTheDev](https://github.com/AntonTheDev)) - Axis Renderers Cleanup [\#3164](https://github.com/danielgindi/Charts/pull/3164) ([jjatie](https://github.com/jjatie)) Full changelog: https://github.com/danielgindi/Charts/blob/master/CHANGELOG.md
iOS macOS tvOS
SDWebImage/SDWebImage 5.18.2
Asynchronous image downloader with cache support as a UIImageView category
⭐️ 24,684
🕓 5 days ago
🔖 Release Notes

Releases

The markdown parsing is broken/disabled for release notes. Sorry about that, I'm chasing the source of a crash that's been bringing this website down for the last couple of days.
5.18.2 - 5.18 Fix
5 days ago
See [all tickets marked for the 5.18.2 release](https://github.com/SDWebImage/SDWebImage/milestone/121) ### Fixes - Fix the SDDisplayLink on watchOS does not behave like other platform #3607
5.18.1 - Privacy Manifest
2 weeks ago
See [all tickets marked for the 5.18.1 release](https://github.com/SDWebImage/SDWebImage/milestone/120) ### Project - Added the visionOS support for "Build XCFramework" script target #3598 - Added xcprivacy to framework target and SPM #3600 ### Fixes - Fix the JFIF image orientation bug (which does not use EXIF but JFIF metadata) #3597 ### Warnings - Fix one warning because local variable shadows the variable outside of block #3599
5.18.0 - VisionOS and more
3 weeks ago
See [all tickets marked for the 5.18.0 release](https://github.com/SDWebImage/SDWebImage/milestone/119) ### VisionOS - Support to build for visionOS (no package manager support) #3556 - - Note this does not include CocoaPods/SwiftPM support. You need Xcode 15+ Beta to open SDWebImage project and build by yourself ### Features #### UI Category - Added SDWebImageAvoidAutoCancelImage to avoid cancel loading image requests for the same operation key #3592 @mTz0206 - Add better support for stateful view (UIButton) for image URL/progres s state management #3576 #### Downloader - Fix redundant requests for the same url during decoding time #3572 @Mervin1024 #### Decoder - Expose the data and format when SDAnimatedImageRep created with APNG/GIF/WebP/HEICS #3573 - Fix the CGImageCreateScaled to support 16/32 bit depth CGImage (RGB161616) and always preserve pixel format info #3575 ### Fixes - Add extra check for empty data during URLSession data callback #3587
5.17.0 - Reduce RAM with Force Decode
10 weeks ago
See [all tickets marked for the 5.17.0 release](https://github.com/SDWebImage/SDWebImage/milestone/118) ### Performance - Refactory the logic to handle force decode logic to avoid CA copy frame buffer, introduce SDImageForceDecodePolicy detailed control #3559 #3417 - - This fix the issue that non-ImageIO coder (means, WebPCoder) will cause CA to copy bitmap buffers and increase memory usage. - - You can still custom the behavior using the new `SDImageForceDecodePolicy`, defaults to automatic. - For coder plugin who want to opt-in to avoid `CA::copy_image`, use the new `preferredPixelFormat:` and do byte alignment and colorspace convert. ### Fixes - Fix macOS bug that SDImageCoderDecodeScaleDownLimitBytes still use the AnimatedImageRep and beyond the byte limit #3561 - Change macOS `sd_colorAtPoint/sd_colorsWithRect` which may loss colorspace information. Now it correctly convert to sRGB colorspace always. - Fix the CGImageCreateScaled to support 16/32 bit depth CGImage (RGB161616) and always preserve pixel format info #3575
5.16.0 - Limit Bytes && Frame Pool
16 weeks ago
See [all tickets marked for the 5.16.0 release](https://github.com/SDWebImage/SDWebImage/milestone/116) ### Features #### Animated Image - Performance: Introduce frame pool for SDAnimatedImage playback. Solve when multiple image view references the same URL image cause un-wanted decode which waste RAM/CPU #3524 - - Note this currently does not expose the frame pool API. Fire issue if you're facing issues about this change. #### Decoder - Introduce the automatically calculation of thumbnail (include animated/static image) using SDImageCoderDecodeScaleDownLimitBytes #3537 - - This calculation of the UIKit-based animated image frame count as well (only `UIAnimatedImage`, not `SDAnimatedImage`, because `SDAnimatedImage` manage frames dynamically). Fire issue if you're facing issues about this change. - - The `.scaleDownLargeImages` implementation has switched to use this instead of `.thumbnailPixelSize` (5.5.0 - 5.16.0) - - Note this introduce new API and need Coder Plugin update (like WebP/AVIF) ### Documentations - Update some comments to allows SwiftDocC generate better page #3547
5.15.8 - Fix macOS Crash
19 weeks ago
See [all tickets marked for the 5.15.8 release](https://github.com/SDWebImage/SDWebImage/milestone/117) ### Fixes - Try to fix macOS SDDisplayLink crash because of accessing the deallocated objc pointer during CVDisplayLinkRef callback #3531 ### Changes - Update the implementation SDScaledImageForScaleFactor to support SDAnimatedImage #3535
5.15.7 - Fix Crash
20 weeks ago
See [all tickets marked for the 5.15.7 release](https://github.com/SDWebImage/SDWebImage/milestone/115) ### Fixes - Try to solve the strange dispatch group crash in SDSafeExecute by removing inline #3526 ### Performance - Opt when multiple same URLs queried in parallel, which may cause duplicated decode and store disk operation #3523
5.15.6 - Fix watchOS
22 weeks ago
See [all tickets marked for the 5.15.6 release](https://github.com/SDWebImage/SDWebImage/milestone/114) ### Performance - Small improvements to SDDiskCache write perf #3517 - - Note this slightly change the behavior when you manual grab the `SDImageCache.diskCachePath` and remove it without creating new directory, next disk cache write operation will fail, before the restart of App. ### Fixes - Revert the SDDisplayLink for watchOS, fix the animated image duration bug #3520 #3511 ### Warnings - Fix the warning of C function with no param #3519
5.15.5 - Fix
29 weeks ago
See [all tickets marked for the 5.15.5 release](https://github.com/SDWebImage/SDWebImage/milestone/113) ### Fixes - Protect the disk operation when input key is nil and cause exception #3505 #3504 - Fix the blur effect logic by avoid color convert and always use three box-blur methodology #3506
5.15.4 - Hotfix
31 weeks ago
See [all tickets marked for the 5.15.4 release](https://github.com/SDWebImage/SDWebImage/milestone/112) ### Fixes - Fix the crash because of wrong usage of NS_NOESCAPE for SDCallbackQueue async block, should matching DispatchQueue #3500 - - This crash only occurs in specified version of clang compiler. But still recommended to update
iOS macOS watchOS tvOS
airbnb/lottie-ios 4.3.2
An iOS library to natively render After Effects vector animations
⭐️ 24,478
🕓 20 hours ago
🔖 Release Notes

Releases

The markdown parsing is broken/disabled for release notes. Sorry about that, I'm chasing the source of a crash that's been bringing this website down for the last couple of days.
4.3.2
21 hours ago
**Lottie 4.3.0** adds many new features, including: - Official support for SwiftUI! - A public Core Animation `CALayer` subclass - Support for reduced motion - Support for drop shadow layer effects - Support for visionOS You can learn more about Lottie 4.3.0 in this announcement: **[Lottie 4.3.0 now available, with official support for SwiftUI #2189](https://github.com/airbnb/lottie-ios/discussions/2189)** ## Lottie 4.3.2 Lottie 4.3.2 redesigns the `LottiePlaybackMode` playback APIs that were introduced in Lottie 4.3.0. ### Before ```swift // Loop from 0.5 to 1.0 LottieView(animation: myAnimation) .play(.fromProgress(0.5, toProgress: 1.0, loopMode: .loop)) // Pause at the halfway point of the animation LottieView(animation: myAnimation) .play(.progress(0.5)) ``` ### After ```swift // Loop from 0.5 to 1.0 LottieView(animation: myAnimation) .playing(.fromProgress(0.5, toProgress: 1.0, loopMode: .loop)) // Pause at the halfway point of the animation LottieView(animation: myAnimation) .paused(at: .progress(0.5)) ``` ## New Features in Lottie 4.3.0 * Add SwiftUI `LottieView`, which wraps UIKit `LottieAnimationView` * Add SwiftUI `LottieSwitch`, which wraps UIKit `AnimatedSwitch` (https://github.com/airbnb/lottie-ios/pull/2138) * Add SwiftUI `LottieButton`, which wraps `AnimatedButton` (https://github.com/airbnb/lottie-ios/pull/2139) * `AnimatedSwitch` and `AnimatedButton` now support macOS (https://github.com/airbnb/lottie-ios/pull/2138, https://github.com/airbnb/lottie-ios/pull/2139) * Add `LottieAnimationLayer`, a Core Animation `CALayer` subclass for playing Lottie animations (https://github.com/airbnb/lottie-ios/pull/2073) * Add support for rendering drop shadow layer effects (https://github.com/airbnb/lottie-ios/pull/2142) * Add API for playing multiple markers sequentially (https://github.com/airbnb/lottie-ios/pull/2084) * Play "reduced motion" marker if `UIAccessibility.isReduceMotionEnabled` is true (https://github.com/airbnb/lottie-ios/pull/2110) * Update text provider API to use full `AnimationKeypath` values (https://github.com/airbnb/lottie-ios/pull/2183) * Add support for visionOS (https://github.com/airbnb/lottie-ios/pull/2152) * Drop support for Swift 5.5 (https://github.com/airbnb/lottie-ios/pull/2152) * Add contents gravity configuration to `AnimationImageProvider` (https://github.com/airbnb/lottie-ios/pull/2177) * Add support for customizing stroke width values using `FloatValueProvider` (https://github.com/airbnb/lottie-ios/pull/2179) * Adopt `Sendable` to support using Lottie with strict concurrency enabled (https://github.com/airbnb/lottie-ios/pull/2126) * Add `LottiePlaybackMode` to support declarative playback configuration (https://github.com/airbnb/lottie-ios/pull/2128) * Add option make main thread rendering engine force display update on every frame (https://github.com/airbnb/lottie-ios/pull/2168) * Add a option to prevent caching images from `AnimationImageProvider` (https://github.com/airbnb/lottie-ios/pull/2171) * Add support for customizing gradient values using `GradientValueProvider` (https://github.com/airbnb/lottie-ios/pull/2182) * Added additional support for multiple animations in `DotLottieFile` (https://github.com/airbnb/lottie-ios/pull/2074) * Add helper method to initialize `DotLottieFile` with data (https://github.com/airbnb/lottie-ios/pull/2090) ## Bug fixes * Remove `.../ZipFoundation/README.md` from targets and `*.md*` files from podspec (https://github.com/airbnb/lottie-ios/pull/2057)* * Fix issue where layers with negative X scale values could be pixelated (https://github.com/airbnb/lottie-ios/pull/2067) * Fix warnings when building with Swift 5.9 (https://github.com/airbnb/lottie-ios/pull/2072) * Restructure `ValueProviderStore` to not accumulate multiple values for the same key (https://github.com/airbnb/lottie-ios/pull/2082) * Disable bitcode when building XCFramework (https://github.com/airbnb/lottie-ios/pull/2121) * Fix unhandled file warning when building with SPM ([https://github.com/airbnb/lottie-ios/pull/213](https://github.com/airbnb/lottie-ios/pull/2132)) * Fix support for customizing color of `SolidLayer` using `ColorValueProvider` (https://github.com/airbnb/lottie-ios/pull/2154) * Fix issue where shape items could be unexpectedly ignored (https://github.com/airbnb/lottie-ios/pull/2156) * Fix issue where skew keyframes would unexpectedly not animate (https://github.com/airbnb/lottie-ios/pull/2157) * Fix issue where value providers could be ignored when falling back to main thread rendering engine (https://github.com/airbnb/lottie-ios/pull/2164) Thanks to everyone who contributed to this release!
4.3.1
6 days ago
**Lottie 4.3.0** adds many new features, including: - Official support for SwiftUI! - A public Core Animation `CALayer` subclass - Support for reduced motion - Support for drop shadow layer effects - Support for visionOS You can learn more about Lottie 4.3.0 in this announcement: **[Lottie 4.3.0 now available, with official support for SwiftUI #2189](https://github.com/airbnb/lottie-ios/discussions/2189)** Lottie 4.3.1 fixes a small regression introduced by 4.3.0: https://github.com/airbnb/lottie-ios/issues/2193 ## New Features * Add SwiftUI `LottieView`, which wraps UIKit `LottieAnimationView` * Add SwiftUI `LottieSwitch`, which wraps UIKit `AnimatedSwitch` (https://github.com/airbnb/lottie-ios/pull/2138) * Add SwiftUI `LottieButton`, which wraps `AnimatedButton` (https://github.com/airbnb/lottie-ios/pull/2139) * `AnimatedSwitch` and `AnimatedButton` now support macOS (https://github.com/airbnb/lottie-ios/pull/2138, https://github.com/airbnb/lottie-ios/pull/2139) * Add `LottieAnimationLayer`, a Core Animation `CALayer` subclass for playing Lottie animations (https://github.com/airbnb/lottie-ios/pull/2073) * Add support for rendering drop shadow layer effects (https://github.com/airbnb/lottie-ios/pull/2142) * Add API for playing multiple markers sequentially (https://github.com/airbnb/lottie-ios/pull/2084) * Play "reduced motion" marker if `UIAccessibility.isReduceMotionEnabled` is true (https://github.com/airbnb/lottie-ios/pull/2110) * Update text provider API to use full `AnimationKeypath` values (https://github.com/airbnb/lottie-ios/pull/2183) * Add support for visionOS (https://github.com/airbnb/lottie-ios/pull/2152) * Drop support for Swift 5.5 (https://github.com/airbnb/lottie-ios/pull/2152) * Add contents gravity configuration to `AnimationImageProvider` (https://github.com/airbnb/lottie-ios/pull/2177) * Add support for customizing stroke width values using `FloatValueProvider` (https://github.com/airbnb/lottie-ios/pull/2179) * Adopt `Sendable` to support using Lottie with strict concurrency enabled (https://github.com/airbnb/lottie-ios/pull/2126) * Add `LottiePlaybackMode` to support declarative playback configuration (https://github.com/airbnb/lottie-ios/pull/2128) * Add option make main thread rendering engine force display update on every frame (https://github.com/airbnb/lottie-ios/pull/2168) * Add a option to prevent caching images from `AnimationImageProvider` (https://github.com/airbnb/lottie-ios/pull/2171) * Add support for customizing gradient values using `GradientValueProvider` (https://github.com/airbnb/lottie-ios/pull/2182) * Added additional support for multiple animations in `DotLottieFile` (https://github.com/airbnb/lottie-ios/pull/2074) * Add helper method to initialize `DotLottieFile` with data (https://github.com/airbnb/lottie-ios/pull/2090) ## Bug fixes * Remove `.../ZipFoundation/README.md` from targets and `*.md*` files from podspec (https://github.com/airbnb/lottie-ios/pull/2057)* * Fix issue where layers with negative X scale values could be pixelated (https://github.com/airbnb/lottie-ios/pull/2067) * Fix warnings when building with Swift 5.9 (https://github.com/airbnb/lottie-ios/pull/2072) * Restructure `ValueProviderStore` to not accumulate multiple values for the same key (https://github.com/airbnb/lottie-ios/pull/2082) * Disable bitcode when building XCFramework (https://github.com/airbnb/lottie-ios/pull/2121) * Fix unhandled file warning when building with SPM ([https://github.com/airbnb/lottie-ios/pull/213](https://github.com/airbnb/lottie-ios/pull/2132)) * Fix support for customizing color of `SolidLayer` using `ColorValueProvider` (https://github.com/airbnb/lottie-ios/pull/2154) * Fix issue where shape items could be unexpectedly ignored (https://github.com/airbnb/lottie-ios/pull/2156) * Fix issue where skew keyframes would unexpectedly not animate (https://github.com/airbnb/lottie-ios/pull/2157) * Fix issue where value providers could be ignored when falling back to main thread rendering engine (https://github.com/airbnb/lottie-ios/pull/2164) Thanks to everyone who contributed to this release!
4.3.0
1 week ago
**Lottie 4.3.0** adds many new features, including: - Official support for SwiftUI! - A public Core Animation `CALayer` subclass - Support for reduced motion - Support for drop shadow layer effects - Support for visionOS You can learn more about Lottie 4.3.0 in this announcement: **[Lottie 4.3.0 now available, with official support for SwiftUI #2189](https://github.com/airbnb/lottie-ios/discussions/2189)** ## New Features * Add SwiftUI `LottieView`, which wraps UIKit `LottieAnimationView` * Add SwiftUI `LottieSwitch`, which wraps UIKit `AnimatedSwitch` (https://github.com/airbnb/lottie-ios/pull/2138) * Add SwiftUI `LottieButton`, which wraps `AnimatedButton` (https://github.com/airbnb/lottie-ios/pull/2139) * `AnimatedSwitch` and `AnimatedButton` now support macOS (https://github.com/airbnb/lottie-ios/pull/2138, https://github.com/airbnb/lottie-ios/pull/2139) * Add `LottieAnimationLayer`, a Core Animation `CALayer` subclass for playing Lottie animations (https://github.com/airbnb/lottie-ios/pull/2073) * Add support for rendering drop shadow layer effects (https://github.com/airbnb/lottie-ios/pull/2142) * Add API for playing multiple markers sequentially (https://github.com/airbnb/lottie-ios/pull/2084) * Play "reduced motion" marker if `UIAccessibility.isReduceMotionEnabled` is true (https://github.com/airbnb/lottie-ios/pull/2110) * Update text provider API to use full `AnimationKeypath` values (https://github.com/airbnb/lottie-ios/pull/2183) * Add support for visionOS (https://github.com/airbnb/lottie-ios/pull/2152) * Drop support for Swift 5.5 (https://github.com/airbnb/lottie-ios/pull/2152) * Add contents gravity configuration to `AnimationImageProvider` (https://github.com/airbnb/lottie-ios/pull/2177) * Add support for customizing stroke width values using `FloatValueProvider` (https://github.com/airbnb/lottie-ios/pull/2179) * Adopt `Sendable` to support using Lottie with strict concurrency enabled (https://github.com/airbnb/lottie-ios/pull/2126) * Add `LottiePlaybackMode` to support declarative playback configuration (https://github.com/airbnb/lottie-ios/pull/2128) * Add option make main thread rendering engine force display update on every frame (https://github.com/airbnb/lottie-ios/pull/2168) * Add a option to prevent caching images from `AnimationImageProvider` (https://github.com/airbnb/lottie-ios/pull/2171) * Add support for customizing gradient values using `GradientValueProvider` (https://github.com/airbnb/lottie-ios/pull/2182) * Added additional support for multiple animations in `DotLottieFile` (https://github.com/airbnb/lottie-ios/pull/2074) * Add helper method to initialize `DotLottieFile` with data (https://github.com/airbnb/lottie-ios/pull/2090) ## Bug fixes * Remove `.../ZipFoundation/README.md` from targets and `*.md*` files from podspec (https://github.com/airbnb/lottie-ios/pull/2057)* * Fix issue where layers with negative X scale values could be pixelated (https://github.com/airbnb/lottie-ios/pull/2067) * Fix warnings when building with Swift 5.9 (https://github.com/airbnb/lottie-ios/pull/2072) * Restructure `ValueProviderStore` to not accumulate multiple values for the same key (https://github.com/airbnb/lottie-ios/pull/2082) * Disable bitcode when building XCFramework (https://github.com/airbnb/lottie-ios/pull/2121) * Fix unhandled file warning when building with SPM ([https://github.com/airbnb/lottie-ios/pull/213](https://github.com/airbnb/lottie-ios/pull/2132)) * Fix support for customizing color of `SolidLayer` using `ColorValueProvider` (https://github.com/airbnb/lottie-ios/pull/2154) * Fix issue where shape items could be unexpectedly ignored (https://github.com/airbnb/lottie-ios/pull/2156) * Fix issue where skew keyframes would unexpectedly not animate (https://github.com/airbnb/lottie-ios/pull/2157) * Fix issue where value providers could be ignored when falling back to main thread rendering engine (https://github.com/airbnb/lottie-ios/pull/2164) Thanks to everyone who contributed to this release!
4.2.0
21 weeks ago
> **Note** > Starting in Lottie 4.0, the Core Animation rendering engine is now enabled by default. > Learn more about this change: **[Announcing Lottie 4.0 for iOS](https://medium.com/airbnb-engineering/announcing-lottie-4-0-for-ios-d4d226862a54)** on the Airbnb Tech Blog ## What's Changed * Added support for Opacity, Position, Scale, and Rotation value providers to Core Animation rendering engine (https://github.com/airbnb/lottie-ios/pull/2047) * Updated minimum macOS version to 10.11 (https://github.com/airbnb/lottie-ios/pull/2050) * Fixed issue where rounded corners algorithm would return incorrect path for shapes without any rounded corners (#1964) * Improved dotLottie error handling (https://github.com/airbnb/lottie-ios/pull/1969) * Added support for loading DotLottieFile by name and filename synchronously (https://github.com/airbnb/lottie-ios/pull/1968) * Updated ZIPFoundation to 0.9.16 to resolve `dataCorrupted` errors (https://github.com/airbnb/lottie-ios/pull/1978) * Fixed issue where `**` wildcard incorrectly required matching at least one path component (https://github.com/airbnb/lottie-ios/pull/1988) * Fixed issue where completion handler could be called unexpectedly when setting up animation (https://github.com/airbnb/lottie-ios/pull/1994) * Added `LottieAnimationView.allHierarchyKeypaths()` to get list of animation keypaths at runtime (https://github.com/airbnb/lottie-ios/pull/2004) * Added a warning when playing animation that uses unsupported After Effects expressions (https://github.com/airbnb/lottie-ios/pull/2006) * Added `LottieAnimationView.maskAnimationToBounds` configuration option (https://github.com/airbnb/lottie-ios/pull/2008) * Trim whitespaces and newlines before decoding base 64 string to image (https://github.com/airbnb/lottie-ios/pull/2016) * Added support for configuring `LottieBackgroundBehavior` to Objective-C `CompatibleAnimationView` (https://github.com/airbnb/lottie-ios/pull/2027) * Fixed issue where Trim could be applied to too many shape items (https://github.com/airbnb/lottie-ios/pull/2041) * Set animationLayer to nil when removing oldAnimation (https://github.com/airbnb/lottie-ios/pull/2035) * Fixed issue where Trim strokeStart / strokeEnd could be rendered in incorrect order (https://github.com/airbnb/lottie-ios/pull/2049) * Fixed issue where calling `setValueProvider` would reset animation progress (https://github.com/airbnb/lottie-ios/pull/2052) * Fixed issue where trim offset could be calculated incorrectly (https://github.com/airbnb/lottie-ios/pull/2053) **Full Changelog**: https://github.com/airbnb/lottie-ios/compare/4.1.3...4.2.0
4.1.3
31 weeks ago
> **Note** > Starting in Lottie 4.0, the Core Animation rendering engine is now enabled by default. > Learn more about this change: **[Announcing Lottie 4.0 for iOS](https://medium.com/airbnb-engineering/announcing-lottie-4-0-for-ios-d4d226862a54)** on the Airbnb Tech Blog ## What's Changed * Add support for 3D rotations on X and Y axis (https://github.com/airbnb/lottie-ios/pull/1930) * Update color parsing to ignore alpha values for consistency with other platforms (https://github.com/airbnb/lottie-ios/pull/1934) * Allow subclassing `LottieAnimationView` (https://github.com/airbnb/lottie-ios/pull/1937) * Expose `AnimationTextProvider` in objc wrapper (https://github.com/airbnb/lottie-ios/pull/1944) * Add dispatch queue parameter to dotLottie loading methods (https://github.com/airbnb/lottie-ios/pull/1956) * Fix macOS build issues for apps using `Lottie.xcframework` / `lottie-spm` (https://github.com/airbnb/lottie-ios/pull/1960)
4.1.2
35 weeks ago
> **Note** > Starting in Lottie 4.0, the Core Animation rendering engine is now enabled by default. > Learn more about this change: **[Announcing Lottie 4.0 for iOS](https://medium.com/airbnb-engineering/announcing-lottie-4-0-for-ios-d4d226862a54)** on the Airbnb Tech Blog 4.1.2 fixes an issue where the [lottie-spm](https://github.com/airbnb/lottie-spm) package would fail to build in some environments: https://github.com/airbnb/lottie-spm/pull/5#issuecomment-1398991609, https://github.com/airbnb/lottie-ios/issues/1926#issuecomment-1398866563 ## 4.1.0 release notes We've added a new way to integrate Lottie into your project using Swift Package Manager. We now provide a separate [lottie-spm](https://github.com/airbnb/lottie-spm) repo that is much smaller than the main lottie-ios repo (~500kb instead of ~300mb). Learn more about this change [here](https://github.com/airbnb/lottie-ios#swift-package-manager). ### Improvements and bug fixes * Made DotLottieAnimation attributes optional to simplify Manifest file (https://github.com/airbnb/lottie-ios/pull/1844) * Fix heap buffer overflow in CGColor+RGB extensions (https://github.com/airbnb/lottie-ios/pull/1858) * Add support for display P3 color space (https://github.com/airbnb/lottie-ios/pull/1857) * Add some missing utility to CompatibleAnimationView (https://github.com/airbnb/lottie-ios/pull/1881) * Fix issue where ShapeTransform could incorrectly affect stroke width (https://github.com/airbnb/lottie-ios/pull/1872) * Fix issue where empty trim item would take precedence over non-empty trim item (https://github.com/airbnb/lottie-ios/pull/1875) * Fix issue where some top-level shape items would be silently ignored (https://github.com/airbnb/lottie-ios/pull/1874) * Fix frame setting issue for CompatibleAnimationView (https://github.com/airbnb/lottie-ios/pull/1878) * Gradient Fill Layer: Support strokes (https://github.com/airbnb/lottie-ios/pull/1818) * Change veryLargeRect size to fix issue with masks (https://github.com/airbnb/lottie-ios/pull/1884) * Fix issue where Fill following other Fill would be silently ignored (https://github.com/airbnb/lottie-ios/pull/1888) * Fix issue where negative `scale.x` values didn't render correctly on iOS 14 (https://github.com/airbnb/lottie-ios/pull/1894) * Fix issue where `LottieAnimationView.currentFrame` would be incorrect after playing animation with `LottieLoopMode.playOnce` (https://github.com/airbnb/lottie-ios/pull/1897) * Fix issue where shape items could be applied in incorrect order (https://github.com/airbnb/lottie-ios/pull/1899) * Fix issue where stroke and fill could be rendered in incorrect order (https://github.com/airbnb/lottie-ios/pull/1903) * Fix issue where `play(fromProgress: 1, toProgress: 0)` animation would not actually play (https://github.com/airbnb/lottie-ios/pull/1908) * Add support for skew animations (https://github.com/airbnb/lottie-ios/pull/1917)
4.1.1
35 weeks ago
> **Note** > Starting in Lottie 4.0, the Core Animation rendering engine is now enabled by default. > Learn more about this change: **[Announcing Lottie 4.0 for iOS](https://medium.com/airbnb-engineering/announcing-lottie-4-0-for-ios-d4d226862a54)** on the Airbnb Tech Blog 4.1.1 fixes an issue where the [lottie-spm](https://github.com/airbnb/lottie-spm) package could not be embedded into iOS app builds (#1925), which could cause apps to crash (#1926). ## 4.1.0 release notes We've added a new way to integrate Lottie into your project using Swift Package Manager. We now provide a separate [lottie-spm](https://github.com/airbnb/lottie-spm) repo that is much smaller than the main lottie-ios repo (~500kb instead of ~300mb). Learn more about this change [here](https://github.com/airbnb/lottie-ios#swift-package-manager). ### Improvements and bug fixes * Made DotLottieAnimation attributes optional to simplify Manifest file (https://github.com/airbnb/lottie-ios/pull/1844) * Fix heap buffer overflow in CGColor+RGB extensions (https://github.com/airbnb/lottie-ios/pull/1858) * Add support for display P3 color space (https://github.com/airbnb/lottie-ios/pull/1857) * Add some missing utility to CompatibleAnimationView (https://github.com/airbnb/lottie-ios/pull/1881) * Fix issue where ShapeTransform could incorrectly affect stroke width (https://github.com/airbnb/lottie-ios/pull/1872) * Fix issue where empty trim item would take precedence over non-empty trim item (https://github.com/airbnb/lottie-ios/pull/1875) * Fix issue where some top-level shape items would be silently ignored (https://github.com/airbnb/lottie-ios/pull/1874) * Fix frame setting issue for CompatibleAnimationView (https://github.com/airbnb/lottie-ios/pull/1878) * Gradient Fill Layer: Support strokes (https://github.com/airbnb/lottie-ios/pull/1818) * Change veryLargeRect size to fix issue with masks (https://github.com/airbnb/lottie-ios/pull/1884) * Fix issue where Fill following other Fill would be silently ignored (https://github.com/airbnb/lottie-ios/pull/1888) * Fix issue where negative `scale.x` values didn't render correctly on iOS 14 (https://github.com/airbnb/lottie-ios/pull/1894) * Fix issue where `LottieAnimationView.currentFrame` would be incorrect after playing animation with `LottieLoopMode.playOnce` (https://github.com/airbnb/lottie-ios/pull/1897) * Fix issue where shape items could be applied in incorrect order (https://github.com/airbnb/lottie-ios/pull/1899) * Fix issue where stroke and fill could be rendered in incorrect order (https://github.com/airbnb/lottie-ios/pull/1903) * Fix issue where `play(fromProgress: 1, toProgress: 0)` animation would not actually play (https://github.com/airbnb/lottie-ios/pull/1908) * Add support for skew animations (https://github.com/airbnb/lottie-ios/pull/1917)
4.1.0
35 weeks ago
> **Note** > Starting in Lottie 4.0, the Core Animation rendering engine is now enabled by default. > Learn more about this change: **[Announcing Lottie 4.0 for iOS](https://medium.com/airbnb-engineering/announcing-lottie-4-0-for-ios-d4d226862a54)** on the Airbnb Tech Blog We've added a new way to integrate Lottie into your project using Swift Package Manager. We now provide a separate [lottie-spm](https://github.com/airbnb/lottie-spm) repo that is much smaller than the main lottie-ios repo (~500kb instead of ~300mb). Learn more about this change [here](https://github.com/airbnb/lottie-ios#swift-package-manager). ### Improvements and bug fixes * Made DotLottieAnimation attributes optional to simplify Manifest file (https://github.com/airbnb/lottie-ios/pull/1844) * Fix heap buffer overflow in CGColor+RGB extensions (https://github.com/airbnb/lottie-ios/pull/1858) * Add support for display P3 color space (https://github.com/airbnb/lottie-ios/pull/1857) * Add some missing utility to CompatibleAnimationView (https://github.com/airbnb/lottie-ios/pull/1881) * Fix issue where ShapeTransform could incorrectly affect stroke width (https://github.com/airbnb/lottie-ios/pull/1872) * Fix issue where empty trim item would take precedence over non-empty trim item (https://github.com/airbnb/lottie-ios/pull/1875) * Fix issue where some top-level shape items would be silently ignored (https://github.com/airbnb/lottie-ios/pull/1874) * Fix frame setting issue for CompatibleAnimationView (https://github.com/airbnb/lottie-ios/pull/1878) * Gradient Fill Layer: Support strokes (https://github.com/airbnb/lottie-ios/pull/1818) * Change veryLargeRect size to fix issue with masks (https://github.com/airbnb/lottie-ios/pull/1884) * Fix issue where Fill following other Fill would be silently ignored (https://github.com/airbnb/lottie-ios/pull/1888) * Fix issue where negative `scale.x` values didn't render correctly on iOS 14 (https://github.com/airbnb/lottie-ios/pull/1894) * Fix issue where `LottieAnimationView.currentFrame` would be incorrect after playing animation with `LottieLoopMode.playOnce` (https://github.com/airbnb/lottie-ios/pull/1897) * Fix issue where shape items could be applied in incorrect order (https://github.com/airbnb/lottie-ios/pull/1899) * Fix issue where stroke and fill could be rendered in incorrect order (https://github.com/airbnb/lottie-ios/pull/1903) * Fix issue where `play(fromProgress: 1, toProgress: 0)` animation would not actually play (https://github.com/airbnb/lottie-ios/pull/1908) * Add support for skew animations (https://github.com/airbnb/lottie-ios/pull/1917)
4.0.1
41 weeks ago
4.0.1 fixes an issue in 4.0.0 where the install could fail due to issues with Git LFS: #1830, #1834. We now publish `xframework` binaries as a part of our release process: https://github.com/airbnb/lottie-ios/discussions/1807#discussioncomment-4346438 ## Major changes in Lottie 4.0 Learn more about this release: **[Announcing Lottie 4.0 for iOS](https://medium.com/airbnb-engineering/announcing-lottie-4-0-for-ios-d4d226862a54)** on the Airbnb Tech Blog * The new Core Animation rendering engine ([first introduced in Lottie 3.4.0](https://github.com/airbnb/lottie-ios/discussions/1627)) is now enabled by default for supported animations. * Specifically, `LottieConfiguration.shared.renderingEngine` now defaults to `.automatic` instead of `.mainThread`. Animations that use features which are not supported by the Core Animation rendering engine will automatically fall back to using the original Main Thread rendering engine. * When using the Core Animation rendering engine, Lottie animations now always animate smoothly regardless of the amount of work being done on the app’s main thread. This **significantly improves animation performance** while also eliminating CPU overhead. * If you encounter any compatibility issues when using `RenderingEngineOption.automatic`, please file an issue with a copy of your animation json. * `DecodingStrategy.dictionaryBased` is now enabled by default * The new dictionary-based decoding implementation is 2x faster than the previous `Codable` decoding implementation * If you encounter any compatibility issues with this new decoding implementation, please file an issue with a copy of your animation json. * Backwards compatibility typealiases for `Animation`, `AnimationView`, `Color`, `Vector1D`, `Vector2D`, and `Vector3D`, which were introduced in [Lottie 3.5.0](https://github.com/airbnb/lottie-ios/releases), have been removed to resolve conflicts with types in Apple frameworks. These types are now named `LottieAnimation`, `LottieAnimationView`, `LottieColor`, `LottieVector1D`, `LottieVector2D`, and `LottieVector3D`. * The default `LottieBackgroundBehavior` used by `LottieAnimationView` is now `.pauseAndRestore` instead of `pause`. * Lottie for iOS now supports the [dotLottie file format](https://dotlottie.io/). * The library's minimum-supported Swift version is now Swift 5.5. XCFramework checksum: b6d8b0b81975d91965b8bb00cffb0eae4b3d94538b6950a90bc1366afd5d4239
4.0.0
42 weeks ago
Learn more about this release: **[Announcing Lottie 4.0 for iOS](https://medium.com/airbnb-engineering/announcing-lottie-4-0-for-ios-d4d226862a54)** on the Airbnb Tech Blog ## Major changes * The new Core Animation rendering engine ([first introduced in Lottie 3.4.0](https://github.com/airbnb/lottie-ios/discussions/1627)) is now enabled by default for supported animations. * Specifically, `LottieConfiguration.shared.renderingEngine` now defaults to `.automatic` instead of `.mainThread`. Animations that use features which are not supported by the Core Animation rendering engine will automatically fall back to using the original Main Thread rendering engine. * When using the Core Animation rendering engine, Lottie animations now always animate smoothly regardless of the amount of work being done on the app’s main thread. This **significantly improves animation performance** while also eliminating CPU overhead. * If you encounter any compatibility issues when using `RenderingEngineOption.automatic`, please file an issue with a copy of your animation json. * `DecodingStrategy.dictionaryBased` is now enabled by default * The new dictionary-based decoding implementation is 2x faster than the previous `Codable` decoding implementation * If you encounter any compatibility issues with this new decoding implementation, please file an issue with a copy of your animation json. * Backwards compatibility typealiases for `Animation`, `AnimationView`, `Color`, `Vector1D`, `Vector2D`, and `Vector3D`, which were introduced in [Lottie 3.5.0](https://github.com/airbnb/lottie-ios/releases), have been removed to resolve conflicts with types in Apple frameworks. These types are now named `LottieAnimation`, `LottieAnimationView`, `LottieColor`, `LottieVector1D`, `LottieVector2D`, and `LottieVector3D`. * The default `LottieBackgroundBehavior` used by `LottieAnimationView` is now `.pauseAndRestore` instead of `pause`. * Lottie for iOS now supports the [dotLottie file format](https://dotlottie.io/). * The library's minimum-supported Swift version is now Swift 5.5. ## Full changelog * Use `RenderingEngineOption.automatic` by default by @calda in https://github.com/airbnb/lottie-ios/pull/1764 * Fix issue where inverted mask layer was clipped incorrectly by @calda in https://github.com/airbnb/lottie-ios/pull/1763 * Bump to 4.0.0, remove backwards compatibility typealiases by @calda in https://github.com/airbnb/lottie-ios/pull/1768 * Update `LottieBackgroundBehavior.default` from `.pause` to `.pauseAndRestore` for Main Thread rendering engine by @calda in https://github.com/airbnb/lottie-ios/pull/1770 * Adds ability to not play the frame of the end marker (#1758) by @lennartstolz in https://github.com/airbnb/lottie-ios/pull/1772 * Change LottieAnimationHelpers default animation cache to LRUAnimationCache.shared (#1773) by @pejato in https://github.com/airbnb/lottie-ios/pull/1778 * Update LottieConfiguration to use DecodingStrategy.dictionaryBased by default by @marcelofabri in https://github.com/airbnb/lottie-ios/pull/1777 * Allow customizing default AnimationCacheProvider by @marcelofabri in https://github.com/airbnb/lottie-ios/pull/1779 * Replace LRUAnimationCache with a thread-safe NSCache-based cache by @marcelofabri in https://github.com/airbnb/lottie-ios/pull/1783 * Update minimum Swift version to 5.5 by @calda in https://github.com/airbnb/lottie-ios/pull/1787 * Adds .lottie file load capability to LottieAnimation by @eharrison in https://github.com/airbnb/lottie-ios/pull/1785 * Add Rounded Corners by @johnny-duo in https://github.com/airbnb/lottie-ios/pull/1795 * Add rounded corner support to Core Animation rendering engine by @calda in https://github.com/airbnb/lottie-ios/pull/1796 * Add support for animating `startPoint` and `endPoint` of radial gradients by @calda in https://github.com/airbnb/lottie-ios/pull/1798 * Update Core Animation rendering engine to use device RGB color space by @calda in https://github.com/airbnb/lottie-ios/pull/1801 * added mask to bounds flag by @BugorBN in https://github.com/airbnb/lottie-ios/pull/1814 * Add completion callbacks to LottieAnimationView DotLottie initializers by @calda in https://github.com/airbnb/lottie-ios/pull/1810
iOS macOS tvOS
ReactiveX/RxSwift 6.6.0
Reactive Programming in Swift
⭐️ 23,590
🕓 19 weeks ago
🔖 Release Notes

Releases

The markdown parsing is broken/disabled for release notes. Sorry about that, I'm chasing the source of a crash that's been bringing this website down for the last couple of days.
Onyx 🪨
19 weeks ago
## RxSwift 6.6.0 🪨 - New helpful conversions to `Infallible` - Fix an issue with continuation leak for `async/await` bridge - Improve atomicity of `BooleanDisposable` - Crash workaround for `Table/CollectionViewDelegateProxy` - New `Infallible` helpers for `CombineLatest` - More minor fixes and updates - Support catalyst for xcframework distribution
Atlas
1 year ago
## RxSwift 6.5.0 - Swift Concurrency is here! 🎊💯 You can now use `await` on `Observable`-conforming objects (as well as `Driver`, `Signal`, `Infallible`, `Single`, `Completable`) using the following syntax: ```swift do { for try await value in observable.values { print(value) // Next event } // Completed here } catch { // Error event print("An error occurred:", error.localizedDescription) } ``` Check out the [full documentation](https://github.com/ReactiveX/RxSwift/blob/main/Documentation/SwiftConcurrency.md) for additional information: https://github.com/ReactiveX/RxSwift/blob/main/Documentation/SwiftConcurrency.md
Ethan.2
2 years ago
Support Xcode 12.5
5.Throwback
2 years ago
RxSwift 5.1.3 is a patch release to provide support for Xcode 12.5 for those who are still using RxSwift 5.x. We recommend upgrading to RxSwift 6.x as soon as possible, regardless.
Ethan.1
2 years ago
# RxSwift 6.1 Thanks to @iDevid, @marcelofabri, @faimin and @danielt1263 for their contributions to this release 🤘 💯 ## Breaking Changes 🔥 - **Deprecate withUnretained for `Driver`** > **Note**: It is extremely rare to ship a breaking change in a patch release, but this is a relatively fresh feature with unusual circumstances. For the full story, see #2290. ## Other changes 🆕 - Add new `subscribe(with:onNext:onError:onCompleted:onDisposed:)` alternatives to `withUnretained`. This exists for all traits and types: `Observable`, `Driver`, `Signal`, `Infallible`, `Completable`, `Single`, `Maybe` #2290 - `Reactive` now supports structs and value-types again, with the dynamic look-up specifically dealing with `AnyObject`s #2285 - Fix xcframework support for `RxCocoa` (Drag in new **RxCocoaRuntime.xcframework** alongside `RxCocoa`) - Freeze `MaybeEvent` and `CompletableEvent` #2271 #2272 - Fix missing **RxCocoaRuntime.h** header in `RxCocoa` podspec #2281 - Remove invalid **libswiftXCTest.dylib** linking to support Xcode 12.5 - Print URLRequest body `httpBody`, regardless of HTTP Method #2288
Ethan
2 years ago
# RxSwift 6 is here! ### New year, new version, new logo - such an exciting day! 🥳 <p align="center"> <img src="https://github.com/ReactiveX/RxSwift/raw/main/assets/RxSwift_Logo.png" width="25%" alt="RxSwift Logo" /> </p> To get a glimpse of what this new major version packs, check out the following blog post: [What's new in RxSwift 6](https://dev.to/freak4pc/what-s-new-in-rxswift-6-2nog) > **Note**: RxSwift 6 supports Xcode 12 and Swift 5.3 and has a minimum deployment target of iOS 9. - All `ReactiveCompatible` objects (`.rx` namespace) get `Binder`s for all properties for free using `@dynamicMemberLookup`. - New `Infallible` object which is identical to `Observable` with the guarantee of never failing. - Add variadic `drive()` and `emit()` to multiple observers and relays. - New `decode(type:decoder:)` operator for `ObsrvableType`s of `Data`. - `SingleEvent` is now simply `Result<Element, Swift.Error>` and methods changed accordingly (e.g. `subscribe(onSuccess:onFailure:)`). - Add `ReplayRelay`. - Add new `withUnretained(_:)` operator. - Add `distinctUntilChanged(at keyPath:)`. - Add `UIApplication` Reactive extensions . - Rename `catchError(_:)` to `catch(_:)`. - Rename `catchErrorJustReturn(_:)` to `catchAndReturn(_:)`. - Rename `elementAt(_:)` to `element(at:)`. - Rename `retryWhen(_:)` to `retry(when:)`. - Rename `takeUntil(_:)` to `take(until:)` and `takeUntil(behavior:_:)` to `take(until:behavior:)`. - Rename `takeWhile(_:)` to `take(while:)` and `takeWhile(behavior:_:)` to `take(while:behavior:)`. - Rename `take(_:)` duration overload to `take(for:)` (e.g. `take(for: .seconds(3))`). - Rename `skipWhile(_:)` to `skip(while:)`. - Rename `takeUntil(_:)` to `take(until:)`. - Rename `observeOn` and `subscribeOn` to `observe(on:)` and `subscribe(on:)`. - `ignoreElements()` now returns `Observable<Never>`. - Make `SharedSequence` conform to `ObservableConvertibleType`. - Add `onDisposed` to `Maybe`, `Completable` and `Single`. - Unify and optimize swizzling extensions into a single one. - Add `DisposeBag` function builder to allow easy comma-less initialization of a `DisposeBag`. - Advance support of XCFrameworks by enabling `BUILD_LIBRARY_FOR_DISTRIBUTION` and cleaning up. - Move URLSession logging settings to a more appropriate URLSession.rx.shouldLogRequest configurable closure. - Many, many, **many** quality of life bugs and fixes.
2 years ago
# RxSwift 6.0.0 RC2 **This is the second and (probably) final Release Candidate of RxSwift 6.** **The official 6.0.0 should be released in the upcoming weeks and should be mostly identical to this.** > **Note**: RxSwift 6 supports Xcode 12 and Swift 5.3 and has a minimum deployment target of iOS 9. Everything in RC1, plus: - Support for XCFrameworks, with binaries now bundled with each release. - Updated tests for new `Infallible` trait. - Fix an issue building for watchOS. - Move `URLSession` logging settings to a more appropriate `URLSession.rx.shouldLogRequest` configurable closure. - README, CI, and additional house cleaning.
6.0.0 RC1
2 years ago
# RxSwift 6.0.0 RC1 **This is the first Release Candidate of RxSwift 6.** > **Note**: RxSwift 6 supports Xcode 12 and Swift 5.3 and has a minimum deployment target of iOS 9. - All `ReactiveCompatible` objects (`.rx` namespace) get `Binder`s for all properties for free using `@dynamicMemberLookup`. - New `Infallible` object which is identical to `Observable` with the guarantee of never failing. - Add variadic `drive()` and `emit()` to multiple observers and relays. - New `decode(type:decoder:)` operator for `ObsrvableType`s of `Data`. - `SingleEvent` is now simply `Result<Element, Swift.Error>` and methods changed accordingly (e.g. `subscribe(onSuccess:onFailure:)`). - Add `ReplayRelay`. - Add `distinctUntilChanged(at keyPath:)`. - Add `UIApplication` Reactive extensions . - Rename `catchError(_:)` to `catch(_:)`. - Rename `catchErrorJustReturn(_:)` to `catchAndReturn(_:)`. - Rename `elementAt(_:)` to `element(at:)`. - Rename `retryWhen(_:)` to `retry(when:)`. - Rename `takeUntil(_:)` to `take(until:)` and `takeUntil(behavior:_:)` to `take(until:behavior:)`. - Rename `takeWhile(_:)` to `take(while:)` and `takeWhile(behavior:_:)` to `take(while:behavior:)`. - Rename `take(_:)` duration overload to `take(for:)` (e.g. `take(for: .seconds(3))`). - Rename `skipWhile(_:)` to `skip(while:)`. - Rename `takeUntil(_:)` to `take(until:)`. - Rename `observeOn` and `subscribeOn` to `observe(on:)` and `subscribe(on:)`. - `ignoreElements()` now returns `Observable<Never>`. - Make `SharedSequence` conform to `ObservableConvertibleType`. - Add `onDisposed` to `Maybe`, `Completable` and `Single`. - Unify and optimize swizzling extensions into a single one. - Add `DisposeBag` function builder to allow easy comma-less initialization of a `DisposeBag`. - Advance support of `xcframework`s by enabling `BUILD_LIBRARY_FOR_DISTRIBUTION` and cleaning up. - Many, many, **many** quality of life bugs and fixes.
Catalyst.1
3 years ago
This update is mandatory if you want to use RxSwift in Xcode 11.4 / Swift 5.2 on macOS. * Make `NSTextView` not weak for Swift 5.2 and up. #2125 * Add `WKWebView` navigation delegate reactive extensions. #2144 Note: - The pre-built Carthage binary was built using Xcode 11.4 / Swift 5.2 - We no longer guarantee support for Xcode 10.x. Maintaining these is counter-intuitive as they're over a year old and are ridden with bugs. Other improvements and additions can be found in the project's [CHANGELOG.md](CHANGELOG.md) ### Note: The pre-built Carthage binary was built using Xcode 11.4.1 / Swift 5.2.2
Catalyst
3 years ago
This release removes UIWebView Reactive Extensions due to [Apple's hard deprecation, starting April 2020](https://developer.apple.com/news/?id=12232019b) which also allows RxSwift to be used in Catalyst apps. #2062 Other improvements and additions can be found in the project's [CHANGELOG.md](CHANGELOG.md) ### Note: The pre-built Carthage binary was built using Xcode 11.3.1 / Swift 5.1.3
iOS macOS watchOS tvOS linux macOS iOS
vapor/vapor 4.84.0
💧 A server-side Swift HTTP web framework.
⭐️ 23,198
🕓 22 hours ago
🔖 Release Notes

Releases

The markdown parsing is broken/disabled for release notes. Sorry about that, I'm chasing the source of a crash that's been bringing this website down for the last couple of days.
4.84.0 - More Sendable Conformances
Yesterday
## What's Changed More Sendable Conformances by @0xTim in #3057 > This adds more Sendable conformances to Vapor and resolves any Sendable warnings that aren’t related to `Request` or `Response` ## Reviewers Thanks to the reviewers for their help: - @fabianfett ###### _This patch was released by @0xTim_ **Full Changelog**: https://github.com/vapor/vapor/compare/4.83.2...4.84.0
4.83.2 - HTTPServerErrorHandler: Improve Error Handling for HTTPParserError
5 days ago
## What's Changed HTTPServerErrorHandler: Improve Error Handling for HTTPParserError by @fred-sch in #2922 > Invalid HTTP previously just closed the connection, but did not actually handle the errors. > > This PR uses an adapted version of https://github.com/apple/swift-nio/blob/main/Sources/NIOHTTP1/HTTPServerProtocolErrorHandler.swift to properly catch exceptions if they occur. ## New Contributor - @fred-sch made their first contribution in #2922 🎉 ## Reviewers Thanks to the reviewers for their help: - @MrSkwiggs - @Joannis - @FranzBusch - @Lukasa ###### _This patch was released by @gwynne_ **Full Changelog**: https://github.com/vapor/vapor/compare/4.83.1...4.83.2
4.83.1 - Pass X-Request-Id if present
5 days ago
## What's Changed Pass X-Request-Id if present by @paunik in #3072 > Pass the value from the X-Request-Id to the logger context > > - pass the X-Request-Id header value if present, pass generated UUID if the header not present > > Mentioned: > > - https://github.com/vapor/vapor/issues/2508 > > Why: > > - We needed a way to trace router -> web -> worker on the logger on the heroku and we found this https://devcenter.heroku.com/articles/http-request-id > > Inspiration: > > - https://api.rubyonrails.org/classes/ActionDispatch/RequestId.html ## New Contributor - @paunik made their first contribution in #3072 🎉 ###### _This patch was released by @gwynne_ **Full Changelog**: https://github.com/vapor/vapor/compare/4.83.0...4.83.1
4.83.0 - Support Crypto 3.0.0 in the other package manifest
5 days ago
## What's Changed Support Crypto 3.0.0 in the other package manifest by @gwynne in #3073 > Fixes an oversight made by both Tim and myself in #3070. Full credit to @gregcotten for catching the omission. ###### _This patch was released by @gwynne_ **Full Changelog**: https://github.com/vapor/vapor/compare/4.82.0...4.83.0
4.82.0 - Add support for Swift Crypto 3.0.0
5 days ago
## What's Changed Add support for Swift Crypto 3.0.0 by @0xTim in #3070 > See https://forums.swift.org/t/swift-crypto-3-0-0/67387 for more details ###### _This patch was released by @gwynne_ **Full Changelog**: https://github.com/vapor/vapor/compare/4.81.1...4.82.0
4.81.1 - `Logger.report()` should handle `LocalizedError`, `DecodingError`, and `EncodingError` identically to other errors
6 days ago
## What's Changed `Logger.report()` should handle `LocalizedError`, `DecodingError`, and `EncodingError` identically to other errors by @MahdiBM in #3068 > `LocalizedError.localizedDesceiption` is useless. We shouldn’t use it. > The special handling of `DecodingError` and `EncodingError` also doesn’t do much. ###### _This patch was released by @gwynne_ **Full Changelog**: https://github.com/vapor/vapor/compare/4.81.0...4.81.1
4.81.0 - The swift-backtrace library is no longer needed in 5.9
3 weeks ago
## What's Changed The swift-backtrace library is no longer needed in 5.9 by @gwynne in #3064 > Per https://github.com/swift-server/swift-backtrace/pull/68. ###### _This patch was released by @gwynne_ **Full Changelog**: https://github.com/vapor/vapor/compare/4.80.0...4.81.0
4.80.0 - Make Storage Sendable
4 weeks ago
## What's Changed Make Storage Sendable by @0xTim in #3056 > Make Vapor’s `Storage` and `Application` `Sendable`. This is a key piece in allowing `Request` and `Response` to be `Sendable`. > > Note that types that are stored in `Storage` should now be `Sendable`. If you get any warnings, you may need to update your code for this new change. ###### _This patch was released by @0xTim_ **Full Changelog**: https://github.com/vapor/vapor/compare/4.79.0...4.80.0
4.79.0 - Add Sendable Conformances to underlying types
5 weeks ago
## What's Changed Add Sendable Conformances to underlying types by @0xTim in #3054 > This adds Sendable annotations to many of Vapor’s types and APIs, including the request handlers. > > APIs are marked `@preconcurrency` where it makes sense to reduce warnings for anyone using the release. To fix your code and see the warnings, you can enable strict concurrency checking. > > **Note:** this PR does not touch `Request`, `Response` or `Application` as they require fundamental changes that are larger in scope and will be done in a future release. ## Reviewers Thanks to the reviewers for their help: - @FranzBusch - @Lukasa ###### _This patch was released by @0xTim_ **Full Changelog**: https://github.com/vapor/vapor/compare/4.78.2...4.79.0
4.78.2 - Resolve issue #2650
6 weeks ago
## What's Changed Resolve issue #2650 by @paunik in #2674 > In order to prevent 5xx internal error we try to: > > - validate number of parameters in FormDataDecoder so we can detect when only boundary is present. ## New Contributor - @paunik made their first contribution in #2674 🎉 ###### _This patch was released by @gwynne_ **Full Changelog**: https://github.com/vapor/vapor/compare/4.78.1...4.78.2
iOS macOS watchOS tvOS linux macOS iOS

New Releases

mchakravarty/CodeEditorView 0.12.0
SwiftUI code editor view for iOS and macOS
⭐️ 534
🕓 6 minutes ago
🔖 Release Notes

Releases

The markdown parsing is broken/disabled for release notes. Sorry about that, I'm chasing the source of a crash that's been bringing this website down for the last couple of days.
Extended language service
1 hour ago
This release adds more language service support, including support for code completion. NB: This is the last version based on TextKit 1.
Performance and layout improvements
17 weeks ago
With this release layout (especially during resizing on macOS) and performance is significantly improved. Moreover, the following features were added: * Text may be either wrapped (default) or the code view is horizontally scrollable. This is controlled via the `LayoutConfiguration` passed to the code view. * First pieces of support for an external language service (such as an LSP server). So far, information lookups are fully supported (e.g., the kind of information produced by an LSP hover request). Semantic tokens are partially implemented — the extra highlighting is missing, see #70. Finally, there are the obligatory bug fixes. NB: The location data type changed. This is an (easy to fix) breaking change.
Feature and performance improvements
1 year ago
## What's Changed * Added layout configuration * `LanguageConfiguration` exposes most helpers * Added support for tracking and restoring edit positions (selections and scroll position) * Various bug fixes and performance improvements
Hello World!
2 years ago
This is the initial release of this new package. It is not production ready yet, but already includes a substantial amount of advanced and solid functionality.
iOS macOS
peripheryapp/periphery 2.16.0
A tool to identify unused code in Swift projects.
⭐️ 4,451
🕓 24 minutes ago
🔖 Release Notes

Releases

The markdown parsing is broken/disabled for release notes. Sorry about that, I'm chasing the source of a crash that's been bringing this website down for the last couple of days.
12 weeks ago
2.15.0 ##### Breaking - Swift 5.7 and macOS 12 are no longer supported. ##### Enhancements - Reduced indexing and analysis runtime by ~60%. ##### Bug Fixes - Fix indexing multi-platform projects such as those containing watchOS extensions. - Subclasses of CLKComplicationPrincipalClass referenced from an Info.plist are now retained.
2.13.0
19 weeks ago
##### Breaking - None. ##### Enhancements - Improve indexing performance when multiple index stores are provided. - Added `--external-test-case-classes` option to allow external types to be treated as XCTestCase subclasses. - Comment commands now support trailing comments, e.g `// periphery:ignore - explanation of why this is necessary` ##### Bug Fixes - Fix handling of relative paths in `--file-targets-path`. - Fix redundant public accessibility false positives when `--retain-objc-accessible` is enabled.
2.12.3
26 weeks ago
##### Breaking - None. ##### Enhancements - None. ##### Bug Fixes - Fix index/report exclude regression.
2.12.2
27 weeks ago
##### Breaking - None. ##### Enhancements - Significantly improve the performance of index and report filtering. - Moderate improvements to indexing and analysis performance. ##### Bug Fixes - `COMPILER_INDEX_STORE_ENABLE` is now forcefully enabled as it's required for indexing. - Fix false positive where a `typealias` is extended but otherwise unused. - Fix redundant accessibility analysis for function metatype arguments. - Fix redundant accessibility analysis for property types inferred from a function call initializer.
2.12.1
29 weeks ago
##### Breaking - None. ##### Enhancements - None. ##### Bug Fixes - Fix JSON deserialization crash caused by unrelated warnings in the output from `xcodebuild -list -json`. - Retain all `@MainActor` annotated types and their constructors to workaround a bug in Swift 5.7. - Retain all constructors on types instantiated via `Self(...)` to workaround false positives caused by a bug in Swift. - `Set<AnyCancellable>` and `NSKeyValueObservation` are now included in the default values for `--retain-assign-only-property-types`. - Improve accuracy of guard-let shorthand workaround. - Fix unused parameter false positive result for parameter used within a nested computed variable.
2.12.0
36 weeks ago
##### Breaking - None. ##### Enhancements - Add CodeClimate output formatter available via the `--format codeclimate` option. - Add support for third-party build systems, such as Bazel. ##### Bug Fixes - Enums that conform to SwiftUI special Provider protocols are now retained, as was already the case for structs and classes.
macOS
Veriff/veriff-ios-spm 6.18.0
The Veriff Swift Package Manager public manifest file
⭐️ 0
🕓 32 minutes ago
🔖 Release Notes

Releases

The markdown parsing is broken/disabled for release notes. Sorry about that, I'm chasing the source of a crash that's been bringing this website down for the last couple of days.
Veriff iOS SDK 6.18.0
6 hours ago
Please refer to https://www.veriff.com/release-notes for full release notes.
Veriff iOS SDK 6.17.0
2 weeks ago
Please refer to https://www.veriff.com/release-notes for full release notes.
Veriff iOS SDK 6.16.0
4 weeks ago
Please refer to https://www.veriff.com/release-notes for full release notes.
Veriff iOS SDK 6.15.0
5 weeks ago
Please refer to https://www.veriff.com/release-notes for full release notes.
Veriff iOS SDK 6.14.0
8 weeks ago
Please refer to https://www.veriff.com/release-notes for full release notes.
Veriff iOS SDK 6.13.0
10 weeks ago
Please refer to https://www.veriff.com/release-notes for full release notes.
Veriff iOS SDK 6.12.0
12 weeks ago
Please refer to https://www.veriff.com/release-notes for full release notes.
Veriff iOS SDK 6.11.0
14 weeks ago
Please refer to https://www.veriff.com/release-notes for full release notes.
Veriff iOS SDK 6.10.0
16 weeks ago
Please refer to https://www.veriff.com/release-notes for full release notes.
Veriff iOS SDK 6.9.0
18 weeks ago
Please refer to https://www.veriff.com/release-notes for full release notes.
iOS
Alkenso/SwiftConvenience 0.2.0
Swift Must Have Tools
⭐️ 9
🕓 38 minutes ago
🔖 Release Notes

Releases

The markdown parsing is broken/disabled for release notes. Sorry about that, I'm chasing the source of a crash that's been bringing this website down for the last couple of days.
Adopt Xcode 15, SCUnit, random data generation
7 hours ago
Fix Xcode 15 warnings Introduce SCUnit type for easier value conversions (Time, InformationStorage units) Extend Data to produce random bytes using arc4random Other minor improvements
Fix typo/compiler issue
5 weeks ago
Log, Locks, Wrappers improvements
5 weeks ago
- redesign SCLog approach to deal with subsystem/category - make ValueView to be a propertyWrapper - improve FileStore to handle nonexisting file/directory - introduce Swift-safe UnfairLock and RWLock - convenient methods for Result, String and others
16 weeks ago
New features - protocol RawComparable - process Signing information - obj-c @synchronized analog - ProgressValue type Fixes & Improvements - FileManager.removeItemIfExists - Improve FileEnumerator filtering - fix SynchronousExecutor - remove using of private API
Improve EventAsk with timeout
22 weeks ago
Add ability to specify timeout and fallback action for EventAsk asking methods Also improve thread safety and performance of EventAsk
New functional & bugfix
24 weeks ago
### New - Add `ComparisonResult - Add `Calendar` extension to detect end of the day - Port obj-c dispatch_benchmark function - Array.popAll() & Dictionary.popAll() methods - Optional + `default` subscript - getting only logged in UnixUser's - Sysctl.procArgs - timespec -> TimeInterval/Date conversion ### Improve - Atomic property wrapper - error propagating for SynchronousExecutor - String.parseKeyValuePair ### Fixes - UnsafeMutableBufferPointer.bzero. Add unit-tests - link issues related to C - PropertyWrapperEncodable when dealing with optionals - PropertyWrapperDecodable when used with optionals - `xpcCompatible` implementation - Restrict audit_token extension to macOS only
API updates. Bugfix & improvements
35 weeks ago
- extend `CommonError` - add & improve `BlockingQueue` - add `Array.popFirst` method - introduce JSONSerializable and PropertyListSerializable - introduce UnixUser, UnixGroup to deal with UNIX routines - add GUI extensions for CGRect, CGWindowInfoList - improve ValueObserving interface - other bugfixes and improvements
Bugfix & improvements
45 weeks ago
- Fixed Codable conformace of `Box` and `Indirect` wrappers - Introduced `PropertyWrapperCodable` for transparent property wrapper Coding - Add convenience dealing with Optionals in ValueStore - Other minor fixes & changes
Minor fixes. SynchronousExecutor
52 weeks ago
- single key-value parsing from string - fix BinaryWriter typo - extend CommonError with 'timedOut' - add SynchronousExecutor, a convenient wrapper for case when you want to execute complection-block-based code synchronously
Error + xpcCompatible
1 year ago
Extend 'Error' with 'xpcCompatible' function
iOS macOS watchOS tvOS
trinhxuanminh/AdMobManager v3.0.0
AdMobManager - Available for Swift 5.3, Xcode 12.0 (macOS Big Sur). Support from iOS 10.0
⭐️ 7
🕓 50 minutes ago
🔖 Release Notes

Releases

The markdown parsing is broken/disabled for release notes. Sorry about that, I'm chasing the source of a crash that's been bringing this website down for the last couple of days.
3.0.0
6 hours ago
Add Remote Config
2.4.0
6 weeks ago
Update AdMob SDK, change guide
2.3.0
9 weeks ago
Add OnceUsed
2.2.0
11 weeks ago
Update CustomNativeAdView
2.1.0
11 weeks ago
Add Size14NativeAdView
2.0.0
16 weeks ago
Fix collapsible banner
1.9.0
16 weeks ago
Update Size12NativeAd CollectionViewCell & TableViewCell
1.8.0
17 weeks ago
Update reload ads
1.7.0
17 weeks ago
Update color, border NativeAdView, BannerAdView
1.6.1
22 weeks ago
iOS
bennokress/CodableStorage 0.0.2
A very loose framework that streamlines saving anything Codable in a Swift App
⭐️ 1
🕓 1 hour ago
iOS macOS watchOS tvOS macCatalyst
apple/swift-package-manager swift-DEVELOPMENT-SNAPSHOT-2023-09-26-a
The Package Manager for the Swift Programming Language
⭐️ 9,395
🕓 2 hours ago
🔖 Release Notes

Releases

The markdown parsing is broken/disabled for release notes. Sorry about that, I'm chasing the source of a crash that's been bringing this website down for the last couple of days.
0.6.0
3 years ago
3 years ago
Swift 5.2 Release
3 years ago
4 years ago
4 years ago
5 years ago
4 years ago
Swift 4.2.1 Release
4 years ago
Swift 4.2 Release
5 years ago
Release SwiftPM 0.2.1
5 years ago
iOS macOS
NielsenDigitalSDK/nielsenappsdk-ios-dynamic-spm-globalnoid 9.2.0
Nielsen app sdk repository to distribute dynamic XCFramework release packages via SPM dependency manager for global market, supporting iOS, tvOS and MacOS Catalyst targets.
⭐️ 0
🕓 2 hours ago
🔖 Release Notes

Releases

The markdown parsing is broken/disabled for release notes. Sorry about that, I'm chasing the source of a crash that's been bringing this website down for the last couple of days.
Release 9.2.0.0 deployment to production
4 hours ago
Release 9.2.0.0 deployment to production
kennic/FrameLayoutKit 7.0.1
A super fast and easy-to-use layout library for iOS. FrameLayoutKit supports complex layouts, including chaining and nesting layout with simple and intuitive operand syntax.
⭐️ 59
🕓 2 hours ago
🔖 Release Notes

Releases

The markdown parsing is broken/disabled for release notes. Sorry about that, I'm chasing the source of a crash that's been bringing this website down for the last couple of days.
DSL syntax
2 days ago
This release enables DSL Syntax for shorter and cleaner code. <table> <tr><td>Regular syntax</td> <td>DSL syntax</td></tr> <tr> <td> ```swift frameLayout + VStackLayout { $0 + titleLabel $0 + subTitleLabel ($0 + 0).flexible() $0 + button $0 + HStackLayout { ($0 + messageView).flexible() ($0 + 5) ($0 + iconView).padding(top: 5) } } ``` </td> <td> ```swift frameLayout + VStackView { titleLabel subTitleLabel FlexibleSpace() button HStackView { StackItem(messageView).flexible() SpaceItem(5) StackItem(iconView).padding(top: 4) } } ``` </td> </tr> </table> More simplify functions: Old: ```swift frameLayout.padding(top: 16, left: 16, bottom: 16, right: 16) frameLayout.align(vertical: .top, horizontal: .right) frameLayout + VStackLayout { messageLayout = ($0 + messageView) messageLayout.padding(top: 16, left: 16, bottom: 16, right: 16) } ``` New: ```swift frameLayout.padding(16) frameLayout.aligns(.top, .right) frameLayout + VStackLayout { ($0 + messageView).assign(to: &messageLayout).padding(16) } ```
2 weeks ago
6.7.0
3 weeks ago
Now able to display as skeletonMode: ``` swift frameLayout.isSkeletonMode(true) frameLayout.skeletonColor(.lightGray) // able to set skeleton color if you want to ```
12 weeks ago
28 weeks ago
- `frameLayout(with: UIView)` should find from all childrens
Chainable syntax
29 weeks ago
5.3.x: - minItemSize, maxItemSize, fixedItemSize for StackFrameLayout - bug fixes 5.4.x - 6.x: - Chainable syntax - Supports binding views, lazy binding frame to views - FLView as default UIView with frameLayout enabled - Support generic type in `generic` branch
5.2.6
2 years ago
Fixed wrong layout for vertical bottom distribution
5.2.5
2 years ago
Fixed wrong calculation in sizeThatFits for .center and .equal in horizontal mode
5.2.4
2 years ago
5.2.3
2 years ago
iOS tvOS
skiptools/skip 0.6.78
Skip transpiler for converting SwiftUI iOS apps into Android Kotlin Compose apps
⭐️ 2
🕓 2 hours ago
iOS macOS watchOS tvOS macCatalyst

Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API | Analytics