Swiftpack.co - Search 15,875 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.53.0
The C based gRPC (C++, Python, Ruby, Objective-C, PHP, C#)
⭐️ 37,419
🕓 4 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.
Release v1.53.0
5 days ago
This is release 1.53.0 ([glockenspiel](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 --- - xDS: fix crash when removing the last endpoint from the last locality in weighted_target. ([#32592](https://github.com/grpc/grpc/pull/32592)) - filter stack: pass peer name up via recv_initial_metadata batch. ([#31933](https://github.com/grpc/grpc/pull/31933)) - [EventEngine] Add advice against blocking work in callbacks. ([#32397](https://github.com/grpc/grpc/pull/32397)) - [http2] Dont drop connections on metadata limit exceeded. ([#32309](https://github.com/grpc/grpc/pull/32309)) - xDS: reject aggregate cluster with empty cluster list. ([#32238](https://github.com/grpc/grpc/pull/32238)) - Fix Python epoll1 Fork Support. ([#32196](https://github.com/grpc/grpc/pull/32196)) - server: introduce ServerMetricRecorder API and move per-call reporting from a C++ interceptor to a C-core filter. ([#32106](https://github.com/grpc/grpc/pull/32106)) - [EventEngine] Add invalid handle types to the public API. ([#32202](https://github.com/grpc/grpc/pull/32202)) - [EventEngine] Refactoring the EventEngine Test Suite: Part 1. ([#32127](https://github.com/grpc/grpc/pull/32127)) - xDS: fix WeightedClusters total weight handling. ([#32134](https://github.com/grpc/grpc/pull/32134)) C++ --- - Update minimum MSVC version to 2019. ([#32615](https://github.com/grpc/grpc/pull/32615)) - Use CMake variables for paths in pkg-config files. ([#31671](https://github.com/grpc/grpc/pull/31671)) C# --- - Grpc.Tools: Use x86 protoc binaries on arm64 Windows. ([#32017](https://github.com/grpc/grpc/pull/32017)) Python --- - Support python 3.11 on aarch64. ([#32270](https://github.com/grpc/grpc/pull/32270)) - Include .pyi file. ([#32268](https://github.com/grpc/grpc/pull/32268)) - De-experimentalize wait-for-ready. ([#32143](https://github.com/grpc/grpc/pull/32143)) - De-experimentalize compression. ([#32138](https://github.com/grpc/grpc/pull/32138)) Ruby --- - [ruby]: add pre-compiled binaries for ruby 3.2; drop them for ruby 2.6. ([#32089](https://github.com/grpc/grpc/pull/32089))
Release v1.53.0-pre2
2 weeks ago
This is a prerelease of gRPC Core 1.53.0 (glockenspiel). 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.47.5
3 weeks ago
This is release 1.47.5 ([gridman](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 a Python-only patch to release universal2 Mac OS artifacts compatible with both x86 and arm64. Python --- - Backport of #31747 to v1.47.x (Build native MacOS arm64 artifacts (universal2)) ([#32446](https://github.com/grpc/grpc/pull/32446))
Release v1.53.0-pre1
4 weeks ago
This is a prerelease of gRPC Core 1.53.0 (glockenspiel). 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.51.3
4 weeks ago
This is release gRPC Core 1.51.3 (galaxy). For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases). This release is a Python-only patch to release universal2 Mac OS artifacts compatible with both x86 and arm64. Python --- - Backport of #31747 to v1.51.x (Build native MacOS arm64 artifacts (universal2)) ([#32424](https://github.com/grpc/grpc/pull/32424))
Release v1.52.1
5 weeks ago
This is release 1.52.1 ([gribkoff](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 --- - Upgraded Boring SSL to address [CVE-2023-0286](https://www.openssl.org/news/secadv/20230207.txt) (#32353)
Release v1.51.2
5 weeks ago
This is release gRPC Core 1.51.2 (galaxy). 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 --- - Upgraded Boring SSL to address [CVE-2023-0286](https://www.openssl.org/news/secadv/20230207.txt) (#32353)
Release v1.50.2
5 weeks ago
This is release gRPC Core 1.50.2 (galley). 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 --- - Upgraded Boring SSL to address [CVE-2023-0286](https://www.openssl.org/news/secadv/20230207.txt) (#32353)
Release v1.49.3
5 weeks ago
This is release 1.49.3 ([gamma](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 --- - Upgraded Boring SSL to address [CVE-2023-0286](https://www.openssl.org/news/secadv/20230207.txt) (#32353)
Release v1.48.4
5 weeks ago
This is release 1.48.4 ([garum](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 --- - Upgraded Boring SSL to address [CVE-2023-0286](https://www.openssl.org/news/secadv/20230207.txt) (#32353)
vapor/vapor 4.74.2
💧 A server-side Swift HTTP web framework.
⭐️ 22,635
🕓 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.
Imports fixes
5 days ago
###### _This patch was authored and released by @gwynne._ <!-- 🚀 Thank you for contributing! --> <!-- Describe your changes clearly and use examples if possible. --> <!-- When this PR is merged, the title and body will be --> <!-- used to generate a release automatically. -->
Correctly handle invalid numbers in range validations
1 week ago
###### _This patch was authored by @fred-sch and released by @0xTim._ Previously trying to perform a range validation check on `Float.nan` would cause a `fatalError` - this correctly handles it and throws an error instead. Closes https://github.com/vapor/vapor/issues/2965.
Revert "Add support for asynchronous body stream writing"
2 weeks ago
###### _This patch was authored and released by @gwynne._ We're reverting vapor/vapor#2939, which was accidentally merged early, as a precautionary measure. A new PR will be opened to track this work.
Add support for asynchronous body stream writing
2 weeks ago
###### _This patch was authored and released by @Joannis._ - Fixes #2930 - a crash when users try to write a body from within a task towards the ELF APIs. - Introduces a new API for writing chunked HTTP response bodies - Adds a helper that automatically managed failing and closing streams
Add support for Cache-Control header 'immutable' attribute
2 weeks ago
###### _This patch was authored by @Palleas and released by @0xTim._ Improve parsing of Cache-Control header to parse the `immutable` attribute.
Add 308 Redirect
2 weeks ago
###### _This patch was authored by @NeedleInAJayStack and released by @0xTim._ Adds support for a `308 redirect` to support POST method redirection. This is important because not all user-agents preserve the method and body through a 301 redirect: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/301 `redirect(to:type:)` is now deprecated in favour of `redirect(to:redirectType:)`
Better `DecodingError` description
3 weeks ago
###### _This patch was authored by @MahdiBM and released by @0xTim._ The `DecodingError`'s description, when returned from HTTP requests, was missing some important info and sometimes was not clear enough. Hopefully this PR can resolve that issue.
FileMiddleware redirect option
3 weeks ago
###### _This patch was authored by @NeedleInAJayStack and released by @0xTim._ <!-- 🚀 Thank you for contributing! --> <!-- Describe your changes clearly and use examples if possible. --> Previously, FileMiddleware would just serve the default file when requesting a directory with no trailing slash. This caused rendering issues when the default file loaded additional resources by relative path. This adds an option to either redirect to the url with a trailing slash (fixing rendering issues), or just pass the request through the middleware. The default is set to a redirect to preserve the intended functionality of FileMiddleware <!-- When this PR is merged, the title and body will be --> <!-- used to generate a release automatically. -->
Expose Vapor Request's request-id value, so that it can be passed into logging from other libraries
4 weeks ago
###### _This patch was authored by @Joannis and released by @0xTim._ Exposes the Request's ID as a new property on `Request` as `requestID`. This is useful for any libraries or users who want to be able to trace the request ID through a request handler.
Fix: FileIO headers
8 weeks ago
###### _This patch was authored by @NeedleInAJayStack and released by @Joannis._ <!-- 🚀 Thank you for contributing! --> <!-- Describe your changes clearly and use examples if possible. --> - Adds `Last-Modified` header to file requests - Fixes `ETag` header formatting in file requests: According to [MDN documentation](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/ETag), the `ETag` header should start and end with double-quotes. <!-- When this PR is merged, the title and body will be --> <!-- used to generate a release automatically. -->
iOS macOS watchOS tvOS linux macOS iOS
realm/SwiftLint 0.51.0
A tool to enforce Swift style and conventions.
⭐️ 17,177
🕓 5 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.51.0: bzllint
8 hours 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: ``` TODO... ``` 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
5 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
5 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
15 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 ```
0.50.1: Artisanal Clothes Pegs Fixup Edition
17 weeks ago
#### Breaking * None. #### Experimental * None. #### Enhancements * Moved the validation of doc comments in local scopes out of `orphaned_doc_comment` and into a new opt-in `local_doc_comment` rule. [JP Simard](https://github.com/jpsim) [#4573](https://github.com/realm/SwiftLint/issues/4573) * SwiftLint's Swift Package Build Tool Plugin will now only scan files in the target being built. [Tony Arnold](https://github.com/tonyarnold) [#4406](https://github.com/realm/SwiftLint/pull/4406) #### Bug Fixes * Fix building with `swift build -c release`. [JP Simard](https://github.com/jpsim) [#4559](https://github.com/realm/SwiftLint/issues/4559) [#4560](https://github.com/realm/SwiftLint/issues/4560) * Fix false positives in `lower_acl_than_parent` when the nominal parent is an extension. [Steffen Matthischke](https://github.com/heeaad) [#4564](https://github.com/realm/SwiftLint/issues/4564) * Fix `minimum_fraction_length` handling in `number_separator`. [JP Simard](https://github.com/jpsim) [#4576](https://github.com/realm/SwiftLint/issues/4576) * Fix false positives in `closure_spacing`. [JP Simard](https://github.com/jpsim) [#4565](https://github.com/realm/SwiftLint/issues/4565) [#4582](https://github.com/realm/SwiftLint/issues/4582) * Fix line count calculation for multiline string literals. [JP Simard](https://github.com/jpsim) [#4585](https://github.com/realm/SwiftLint/issues/4585) * Fix false positives in `unused_closure_parameter` when using identifiers with backticks. [JP Simard](https://github.com/jpsim) [#4588](https://github.com/realm/SwiftLint/issues/4588) * Fix `type_name` regression where names with backticks would trigger violations. [JP Simard](https://github.com/jpsim) [#4571](https://github.com/realm/SwiftLint/issues/4571)
0.50.0: Artisanal Clothes Pegs
18 weeks ago
#### Breaking * SwiftLint now requires Swift 5.7 or higher to build. [JP Simard](https://github.com/jpsim) * Exclude `weak_delegate` rule from autocorrection due to behavioral changes leading to potential undefined behavior or bugs. [SimplyDanny](https://github.com/SimplyDanny) [#3577](https://github.com/realm/SwiftLint/issues/3577) * The `anyobject_protocol` rule is now deprecated and will be completely removed in a future release because it is now handled by the Swift compiler. [JP Simard](https://github.com/jpsim) * Built-in SwiftLint rules are no longer marked as `public` in SwiftLintFramework. This only impacts the programmatic API for the SwiftLintFramework module. [JP Simard](https://github.com/jpsim) #### Experimental * None. #### Enhancements * SwiftSyntax libraries have been updated from the previous 5.6 release and now use the new parser written in Swift. Swift 5.7+ features should now be parsed more accurately. We've also measured an improvement in lint times of up to 15%. This should also fix some deployment issues where the exact version of the internal SwiftSyntax parser needed to be available. If you notice any unexpected changes to lint results, please file an issue on the SwiftLint issue tracker. We can look into it and if it's a SwiftSyntax parser regression we can re-file it upstream. [JP Simard](https://github.com/jpsim) [#4031](https://github.com/realm/SwiftLint/issues/4031) * Rewrite some rules with SwiftSyntax, fixing some false positives and catching more violations: - `anonymous_argument_in_multiline_closure` - `array_init` - `attributes` - `balanced_xctest_lifecycle` - `block_based_kvo` - `class_delegate_protocol` - `closing_brace` - `closure_body_length` - `closure_parameter_position` - `collection_alignment` - `comment_spacing` - `computed_accessors_order` - `conditional_returns_on_newline` - `contains_over_filter_count` - `contains_over_filter_is_empty` - `contains_over_first_not_nil` - `contains_over_range_nil_comparison` - `convenience_type` - `deployment_target` - `discarded_notification_center_observer` - `discouraged_assert` - `discouraged_direct_init` - `discouraged_none_name` - `discouraged_object_literal` - `discouraged_optional_boolean` - `duplicate_enum_cases` - `duplicated_key_in_dictionary_literal` - `dynamic_inline` - `empty_collection_literal` - `empty_count` - `empty_enum_arguments` - `empty_parameters` - `empty_parentheses_with_trailing_closure` - `empty_string` - `enum_case_associated_values_count` - `explicit_enum_raw_value` - `explicit_init` - `explicit_top_level_acl` - `fallthrough` - `file_name` - `first_where` - `flatmap_over_map_reduce` - `for_where` - `force_try` - `force_unwrapping` - `function_body_length` - `function_default_parameter_at_end` - `function_parameter_count` - `generic_type_name` - `ibinspectable_in_extension` - `identical_operands` - `implicit_getter` - `implicitly_unwrapped_optional` - `inclusive_language` - `inert_defer` - `is_disjoint` - `joined_default_parameter` - `large_tuple` - `last_where` - `legacy_cggeometry_functions` - `legacy_constant` - `legacy_constructor` - `legacy_hashing` - `legacy_multiple` - `legacy_nsgeometry_functions` - `legacy_objc_type` - `legacy_random` - `lower_acl_than_parent` - `multiline_arguments_brackets` - `multiline_parameters` - `multiple_closures_with_trailing_closure` - `no_extension_access_modifier` - `no_fallthrough_only` - `no_space_in_method_call` - `notification_center_detachment` - `nslocalizedstring_key` - `nslocalizedstring_require_bundle` - `nsobject_prefer_isequal` - `number_separator` - `object_literal` - `operator_whitespace` - `optional_enum_case_matching` - `orphaned_doc_comment` - `overridden_super_call` - `override_in_extension` - `pattern_matching_keywords` - `prefer_nimble` - `prefer_self_in_static_references` - `prefer_self_type_over_type_of_self` - `prefer_zero_over_explicit_init` - `prefixed_toplevel_constant` - `private_action` - `private_outlet` - `private_over_fileprivate` - `private_subject` - `private_unit_test` - `prohibited_interface_builder` - `prohibited_super_call` - `protocol_property_accessors_order` - `quick_discouraged_focused_test` - `quick_discouraged_pending_test` - `raw_value_for_camel_cased_codable_enum` - `reduce_boolean` - `reduce_into` - `redundant_discardable_let` - `redundant_nil_coalescing` - `redundant_objc_attribute` - `redundant_optional_initialization` - `redundant_set_access_control` - `redundant_string_enum_value` - `required_deinit` - `required_enum_case` - `return_arrow_whitespace` - `self_in_property_initialization` - `shorthand_operator` - `single_test_class` - `sorted_first_last` - `static_operator` - `strict_fileprivate` - `strong_iboutlet` - `switch_case_alignment` - `switch_case_on_newline` - `test_case_accessibility` - `toggle_bool` - `trailing_comma` - `trailing_semicolon` - `type_body_length` - `type_name` - `unneeded_break_in_switch` - `unneeded_parentheses_in_closure_argument` - `unowned_variable_capture` - `untyped_error_in_catch` - `unused_capture_list` - `unused_closure_parameter` - `unused_control_flow_label` - `unused_enumerated` - `unused_optional_binding` - `unused_setter_value` - `valid_ibinspectable` - `vertical_parameter_alignment` - `weak_delegate` - `xct_specific_matcher` - `xctfail_message` [Marcelo Fabri](https://github.com/marcelofabri) [SimplyDanny](https://github.com/SimplyDanny) [JP Simard](https://github.com/jpsim) [#2915](https://github.com/realm/SwiftLint/issues/2915) * The "body length" family of rules have changed how they calculate body line count to be significantly more correct and intuitive. However, this is likely to require adjustments to your configuration or disable commands to account for the changes. [JP Simard](https://github.com/jpsim) * Add ability to filter rules for `generate-docs` subcommand. [kattouf](https://github.com/kattouf) * Add new `excludes_trivial_init` configuration for `missing_docs` rule to exclude initializers without any parameters. [Marcelo Fabri](https://github.com/marcelofabri) [#4107](https://github.com/realm/SwiftLint/issues/4107) * Add new `ns_number_init_as_function_reference` rule to catch `NSNumber.init` and `NSDecimalNumber.init` being used as function references since it can cause the wrong initializer to be used, causing crashes. See https://github.com/apple/swift/issues/51036 for more info. [Marcelo Fabri](https://github.com/marcelofabri) * Add `accessibility_trait_for_button` rule to warn if a SwiftUI View has a tap gesture added to it without having the button or link accessibility trait. [Ryan Cole](https://github.com/rcole34) * Add methods from SE-0348 to `UnusedDeclarationRule`. [JP Simard](https://github.com/jpsim) * Include the configured `bind_identifier` in `self_binding` violation messages. [JP Simard](https://github.com/jpsim) * The `self_binding` rule now catches shorthand optional bindings (for example `if let self {}`) when using a `bind_identifier` different than `self`. [Marcelo Fabri](https://github.com/marcelofabri) * Add `library_content_provider` file type to `file_types_order` rule to allow `LibraryContentProvider` to be ordered independent from `main_type`. [dahlborn](https://github.com/dahlborn) * Add `test_parent_classes` option to `test_case_accessibility` rule, which allows detection in subclasses of XCTestCase. [Martin Redington](https://github.com/mildm8nnered) [#4200](https://github.com/realm/SwiftLint/issues/4200) * Add a new `shorthand_optional_binding` opt-in rule that triggers in Swift 5.7 when a shadowing optional binding is created in an `if` or `guard` statement. [SimplyDanny](https://github.com/SimplyDanny) [#4202](https://github.com/realm/SwiftLint/issues/4202) * Use SwiftSyntax instead of SourceKit to determine if a file has parser errors before applying corrections. This speeds up corrections significantly when none of the rules use SourceKit. [JP Simard](https://github.com/jpsim) * Add Swift Package Build Tool Plugin with support for Swift Packages and Xcode projects. [Johannes Ebeling](https://github.com/technocidal) [#3679](https://github.com/realm/SwiftLint/issues/3679) [#3840](https://github.com/realm/SwiftLint/issues/3840) * Make `private_unit_test` rule correctable. [SimplyDanny](https://github.com/SimplyDanny) * Disregard whitespace differences in `identical_operands` rule. That is, the rule now also triggers if the left-hand side and the right-hand side of an operation only differ in trivia. [SimplyDanny](https://github.com/SimplyDanny) * Print violations in realtime if `--progress` and `--output` are both set. [JP Simard](https://github.com/jpsim) * Trigger `prefer_self_in_static_references` rule on more type references like: * Key paths (e.g. `\MyType.myVar` -> `\Self.myVar`) * Computed properties (e.g. `var i: Int { MyType.myVar )` -> `var i: Int { Self.myVar }`) * Constructor calls (e.g. `MyType()` -> `Self()`) [SimplyDanny](https://github.com/SimplyDanny) * Update `for_where` rule, adding a new configuration `allow_for_as_filter` to allow using `for in` with a single `if` inside when there's a `return` statement inside the `if`'s body. [Marcelo Fabri](https://github.com/marcelofabri) [#4040](https://github.com/realm/SwiftLint/issues/4040) * `quick_discouraged_call`, `quick_discouraged_focused_test` and `quick_discouraged_pending_test` rules now trigger on subclasses of `QuickSpec`. [Marcelo Fabri](https://github.com/marcelofabri) [#4420](https://github.com/realm/SwiftLint/issues/4420) * The `type_name` rule now validates protocol declarations by default. You can opt-out by using the `validate_protocols` key in your configuration: ```yml type_name: validate_protocols: false ``` [Marcelo Fabri](https://github.com/marcelofabri) [#4430](https://github.com/realm/SwiftLint/issues/4430) * Report how much memory was used when `--benchmark` is specified. [JP Simard](https://github.com/jpsim) * Adds `NSError` to the list of types in `discouraged_direct_init`. [jszumski](https://github.com/jszumski) [#4508](https://github.com/realm/SwiftLint/issues/4508) * Fix SwiftLint support on Xcode Cloud. [JagCesar](https://github.com/JagCesar) [westerlund](https://github.com/westerlund) [#4484](https://github.com/realm/SwiftLint/issues/4484) * Add `no_magic_numbers` rule to avoid "Magic Numbers". [Henrik Storch](https://github.com/thisisthefoxe) [#4031](https://github.com/realm/SwiftLint/issues/4024) * Add new option `only_enforce_before_trivial_lines` to `vertical_whitespace_closing_braces` rule. It restricts the rule to apply only before trivial lines (containing only closing braces, brackets and parentheses). This allows empty lines before non-trivial lines of code (e.g. if-else-statements). [benjamin-kramer](https://github.com/benjamin-kramer) [#3940](https://github.com/realm/SwiftLint/issues/3940) #### Bug Fixes * Respect `validates_start_with_lowercase` option when linting function names. [Chris Brakebill](https://github.com/braker1nine) [#2708](https://github.com/realm/SwiftLint/issues/2708) * Do not report variables annotated with `@NSApplicationDelegateAdaptor` and `@WKExtensionDelegateAdaptor` in `weak_delegate` rule. [Till Hainbach](https://github.com/tillhainbach) [#3598](https://github.com/realm/SwiftLint/issues/3456) [#3611](https://github.com/realm/SwiftLint/issues/3611) * Fix false-positives related to the `willMove` lifecycle method in `type_contents_order` rule. [SimplyDanny](https://github.com/SimplyDanny) [#3478](https://github.com/realm/SwiftLint/issues/3478) * Do no longer autocorrect usage of `NSIntersectionRect` in `legacy_nsgeometry_functions` rule. [SimplyDanny](https://github.com/SimplyDanny) [#3703](https://github.com/realm/SwiftLint/issues/3703) * Fix Analyzer rules in Xcode 14. [SimplyDanny](https://github.com/SimplyDanny) [#4208](https://github.com/realm/SwiftLint/issues/4208) * Add column for SourceKit usage to `rules` command. [JP Simard](https://github.com/jpsim) * Make `nsobject_prefer_isequal` rule work for nested `@objc` classes. Also consider the `@objcMembers` annotation. [SimplyDanny](https://github.com/SimplyDanny) * Print fixed content at most once to STDOUT. [SimplyDanny](https://github.com/SimplyDanny) [#4211](https://github.com/realm/SwiftLint/issues/4211) * Fix fatal error when content given via STDIN is corrected in the `trailing_newline` rule. [SimplyDanny](https://github.com/SimplyDanny) [#4234](https://github.com/realm/SwiftLint/issues/4234) * Fix false-positives from `multiline_arguments_brackets` when a function call has a single line trailing closure. [CraigSiemens](https://github.com/CraigSiemens) [#4510](https://github.com/realm/SwiftLint/issues/4510) --- ### 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 = "c99be76ea5efd6ff7e60b6df8a11b709d50c75dfdbd6fb429de9bbe9e45cdb1f", url = "https://github.com/realm/SwiftLint/releases/download/0.50.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.50.0-rc.4: Artisanal Clothes Pegs
20 weeks ago
This is a prerelease version. It won't be published to Homebrew or CocoaPods. 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.50.0-rc.4 && make install` * Docker: ```docker run -it -v `pwd`:`pwd` -w `pwd` ghcr.io/realm/swiftlint:0.50.0-rc.4``` * Bazel: See instructions at the bottom Changes from 0.49.1: https://github.com/realm/SwiftLint/compare/0.49.1...0.50.0-rc.4 Changes from 0.50.0-rc.3: https://github.com/realm/SwiftLint/compare/0.50.0-rc.3...0.50.0-rc.4 --- #### Breaking * SwiftLint now requires Swift 5.7 or higher to build. [JP Simard](https://github.com/jpsim) * Exclude `weak_delegate` rule from autocorrection due to behavioral changes leading to potential undefined behavior or bugs. [SimplyDanny](https://github.com/SimplyDanny) [#3577](https://github.com/realm/SwiftLint/issues/3577) * The `anyobject_protocol` rule is now deprecated and will be completely removed in a future release because it is now handled by the Swift compiler. [JP Simard](https://github.com/jpsim) #### Experimental * None. #### Enhancements * Adds `NSError` to the list of types in `discouraged_direct_init`. [jszumski](https://github.com/jszumski) [#4508](https://github.com/realm/SwiftLint/issues/4508) * Fix SwiftLint support on Xcode Cloud. [JagCesar](https://github.com/JagCesar) [westerlund](https://github.com/westerlund) [#4484](https://github.com/realm/SwiftLint/issues/4484) * Add `no_magic_numbers` rule to avoid "Magic Numbers". [Henrik Storch](https://github.com/thisisthefoxe) [#4031](https://github.com/realm/SwiftLint/issues/4024) * SwiftSyntax libraries have been updated from the previous 5.6 release and now use the new parser written in Swift. Swift 5.7+ features should now be parsed more accurately. We've also measured an improvement in lint times of up to 15%. This should also fix some deployment issues where the exact version of the internal SwiftSyntax parser needed to be available. If you notice any unexpected changes to lint results, please file an issue on the SwiftLint issue tracker. We can look into it and if it's a SwiftSyntax parser regression we can re-file it upstream. [JP Simard](https://github.com/jpsim) [#4031](https://github.com/realm/SwiftLint/issues/4031) * Add ability to filter rules for `generate-docs` subcommand. [kattouf](https://github.com/kattouf) * Add new `excludes_trivial_init` configuration for `missing_docs` rule to exclude initializers without any parameters. [Marcelo Fabri](https://github.com/marcelofabri) [#4107](https://github.com/realm/SwiftLint/issues/4107) * Add new `ns_number_init_as_function_reference` rule to catch `NSNumber.init` and `NSDecimalNumber.init` being used as function references since it can cause the wrong initializer to be used, causing crashes. See https://github.com/apple/swift/issues/51036 for more info. [Marcelo Fabri](https://github.com/marcelofabri) * Rewrite some rules with SwiftSyntax, fixing some false positives and catching more violations: - `anonymous_argument_in_multiline_closure` - `array_init` - `attributes` - `block_based_kvo` - `class_delegate_protocol` - `closing_brace` - `closure_body_length` - `closure_parameter_position` - `collection_alignment` - `comment_spacing` - `computed_accessors_order` - `conditional_returns_on_newline` - `contains_over_filter_count` - `contains_over_filter_is_empty` - `contains_over_first_not_nil` - `contains_over_range_nil_comparison` - `convenience_type` - `deployment_target` - `discarded_notification_center_observer` - `discouraged_assert` - `discouraged_direct_init` - `discouraged_none_name` - `discouraged_object_literal` - `discouraged_optional_boolean` - `duplicate_enum_cases` - `duplicated_key_in_dictionary_literal` - `dynamic_inline` - `empty_collection_literal` - `empty_count` - `empty_enum_arguments` - `empty_parameters` - `empty_parentheses_with_trailing_closure` - `empty_string` - `enum_case_associated_values_count` - `explicit_enum_raw_value` - `explicit_init` - `explicit_top_level_acl` - `fallthrough` - `file_name` - `first_where` - `flatmap_over_map_reduce` - `for_where` - `force_try` - `force_unwrapping` - `function_body_length` - `function_default_parameter_at_end` - `function_parameter_count` - `generic_type_name` - `ibinspectable_in_extension` - `identical_operands` - `implicit_getter` - `implicitly_unwrapped_optional` - `inclusive_language` - `inert_defer` - `is_disjoint` - `joined_default_parameter` - `large_tuple` - `last_where` - `legacy_cggeometry_functions` - `legacy_constant` - `legacy_constructor` - `legacy_hashing` - `legacy_multiple` - `legacy_nsgeometry_functions` - `legacy_objc_type` - `legacy_random` - `lower_acl_than_parent` - `multiline_arguments_brackets` - `multiline_parameters` - `multiple_closures_with_trailing_closure` - `no_extension_access_modifier` - `no_fallthrough_only` - `no_space_in_method_call` - `notification_center_detachment` - `nslocalizedstring_require_bundle` - `nsobject_prefer_isequal` - `number_separator` - `operator_whitespace` - `optional_enum_case_matching` - `orphaned_doc_comment` - `overridden_super_call` - `override_in_extension` - `prefer_nimble` - `prefer_self_type_over_type_of_self` - `prefer_zero_over_explicit_init` - `prefixed_toplevel_constant` - `private_action` - `private_outlet` - `private_over_fileprivate` - `private_subject` - `private_unit_test` - `prohibited_interface_builder` - `prohibited_super_call` - `protocol_property_accessors_order` - `quick_discouraged_focused_test` - `quick_discouraged_pending_test` - `raw_value_for_camel_cased_codable_enum` - `reduce_boolean` - `reduce_into` - `redundant_discardable_let` - `redundant_nil_coalescing` - `redundant_objc_attribute` - `redundant_optional_initialization` - `redundant_set_access_control` - `redundant_string_enum_value` - `required_deinit` - `return_arrow_whitespace` - `self_in_property_initialization` - `shorthand_operator` - `single_test_class` - `sorted_first_last` - `static_operator` - `strict_fileprivate` - `strong_iboutlet` - `switch_case_alignment` - `switch_case_on_newline` - `test_case_accessibility` - `toggle_bool` - `trailing_comma` - `trailing_semicolon` - `type_body_length` - `type_name` - `unneeded_break_in_switch` - `unneeded_parentheses_in_closure_argument` - `unowned_variable_capture` - `untyped_error_in_catch` - `unused_capture_list` - `unused_closure_parameter` - `unused_control_flow_label` - `unused_enumerated` - `unused_optional_binding` - `unused_setter_value` - `valid_ibinspectable` - `vertical_parameter_alignment` - `weak_delegate` - `xct_specific_matcher` - `xctfail_message` [Marcelo Fabri](https://github.com/marcelofabri) [SimplyDanny](https://github.com/SimplyDanny) [JP Simard](https://github.com/jpsim) [#2915](https://github.com/realm/SwiftLint/issues/2915) * The "body length" family of rules have changed how they calculate body line count to be significantly more correct and intuitive. However, this is likely to require adjustments to your configuration or disable commands to account for the changes. [JP Simard](https://github.com/jpsim) * Add `accessibility_trait_for_button` rule to warn if a SwiftUI View has a tap gesture added to it without having the button or link accessibility trait. [Ryan Cole](https://github.com/rcole34) * Add methods from SE-0348 to `UnusedDeclarationRule`. [JP Simard](https://github.com/jpsim) * Include the configured `bind_identifier` in `self_binding` violation messages. [JP Simard](https://github.com/jpsim) * Add `library_content_provider` file type to `file_types_order` rule to allow `LibraryContentProvider` to be ordered independent from `main_type`. [dahlborn](https://github.com/dahlborn) * Add `test_parent_classes` option to `test_case_accessibility` rule, which allows detection in subclasses of XCTestCase. [Martin Redington](https://github.com/mildm8nnered) [#4200](https://github.com/realm/SwiftLint/issues/4200) * Add a new `shorthand_optional_binding` opt-in rule that triggers in Swift 5.7 when a shadowing optional binding is created in an `if` or `guard` statement. [SimplyDanny](https://github.com/SimplyDanny) [#4202](https://github.com/realm/SwiftLint/issues/4202) * Use SwiftSyntax instead of SourceKit to determine if a file has parser errors before applying corrections. This speeds up corrections significantly when none of the rules use SourceKit. [JP Simard](https://github.com/jpsim) * Add Swift Package Build Tool Plugin with support for Swift Packages and Xcode projects. [Johannes Ebeling](https://github.com/technocidal) [#3679](https://github.com/realm/SwiftLint/issues/3679) [#3840](https://github.com/realm/SwiftLint/issues/3840) * Make `private_unit_test` rule correctable. [SimplyDanny](https://github.com/SimplyDanny) * Disregard whitespace differences in `identical_operands` rule. That is, the rule now also triggers if the left-hand side and the right-hand side of an operation only differ in trivia. [SimplyDanny](https://github.com/SimplyDanny) * Print violations in realtime if `--progress` and `--output` are both set. [JP Simard](https://github.com/jpsim) * Update `for_where` rule, adding a new configuration `allow_for_as_filter` to allow using `for in` with a single `if` inside when there's a `return` statement inside the `if`'s body. [Marcelo Fabri](https://github.com/marcelofabri) [#4040](https://github.com/realm/SwiftLint/issues/4040) * `quick_discouraged_call`, `quick_discouraged_focused_test` and `quick_discouraged_pending_test` rules now trigger on subclasses of `QuickSpec`. [Marcelo Fabri](https://github.com/marcelofabri) [#4420](https://github.com/realm/SwiftLint/issues/4420) * The `type_name` rule now validates protocol declarations by default. You can opt-out by using the `validate_protocols` key in your configuration: ```yml type_name: validate_protocols: false ``` [Marcelo Fabri](https://github.com/marcelofabri) [#4430](https://github.com/realm/SwiftLint/issues/4430) * Report how much memory was used when `--benchmark` is specified. [JP Simard](https://github.com/jpsim) #### Bug Fixes * Respect `validates_start_with_lowercase` option when linting function names. [Chris Brakebill](https://github.com/braker1nine) [#2708](https://github.com/realm/SwiftLint/issues/2708) * Do not report variables annotated with `@NSApplicationDelegateAdaptor` and `@WKExtensionDelegateAdaptor` in `weak_delegate` rule. [Till Hainbach](https://github.com/tillhainbach) [#3598](https://github.com/realm/SwiftLint/issues/3456) [#3611](https://github.com/realm/SwiftLint/issues/3611) * Fix false-positives related to the `willMove` lifecycle method in `type_contents_order` rule. [SimplyDanny](https://github.com/SimplyDanny) [#3478](https://github.com/realm/SwiftLint/issues/3478) * Do no longer autocorrect usage of `NSIntersectionRect` in `legacy_nsgeometry_functions` rule. [SimplyDanny](https://github.com/SimplyDanny) [#3703](https://github.com/realm/SwiftLint/issues/3703) * Fix Analyzer rules in Xcode 14. [SimplyDanny](https://github.com/SimplyDanny) [#4208](https://github.com/realm/SwiftLint/issues/4208) * Add column for SourceKit usage to `rules` command. [JP Simard](https://github.com/jpsim) * Make `nsobject_prefer_isequal` rule work for nested `@objc` classes. Also consider the `@objcMembers` annotation. [SimplyDanny](https://github.com/SimplyDanny) * Print fixed content at most once to STDOUT. [SimplyDanny](https://github.com/SimplyDanny) [#4211](https://github.com/realm/SwiftLint/issues/4211) * Fix fatal error when content given via STDIN is corrected in the `trailing_newline` rule. [SimplyDanny](https://github.com/SimplyDanny) [#4234](https://github.com/realm/SwiftLint/issues/4234) * Fix false-positives from `multiline_arguments_brackets` when a function call has a single line trailing closure. [CraigSiemens](https://github.com/CraigSiemens) [#4510](https://github.com/realm/SwiftLint/issues/4510) --- ### 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 = "90e3b5e8ff942be134e64a83499974203ea64797fd620eddeb71b3a8e1bff681", url = "https://github.com/bazelbuild/rules_apple/releases/download/1.1.2/rules_apple.1.1.2.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 = "ef49a8c0dcb70fb5befe549b016735deef72e1ac9f68562b288f23e496c164af", url = "https://github.com/realm/SwiftLint/releases/download/0.50.0-rc.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.50.0-rc.3: Artisanal Clothes Pegs
21 weeks ago
This is a prerelease version. It won't be published to Homebrew or CocoaPods. 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.50.0-rc.3 && make install` * Docker: ```docker run -it -v `pwd`:`pwd` -w `pwd` ghcr.io/realm/swiftlint:0.50.0-rc.3``` * Bazel: See instructions at the bottom Changes from 0.49.1: https://github.com/realm/SwiftLint/compare/0.49.1...0.50.0-rc.3 Changes from 0.50.0-rc.2: https://github.com/realm/SwiftLint/compare/0.50.0-rc.2...0.50.0-rc.3 --- #### Breaking * SwiftLint now requires Swift 5.7 or higher to build. [JP Simard](https://github.com/jpsim) * Exclude `weak_delegate` rule from autocorrection due to behavioral changes leading to potential undefined behavior or bugs. [SimplyDanny](https://github.com/SimplyDanny) [#3577](https://github.com/realm/SwiftLint/issues/3577) * The `anyobject_protocol` rule is now deprecated and will be completely removed in a future release because it is now handled by the Swift compiler. [JP Simard](https://github.com/jpsim) #### Experimental * None. #### Enhancements * SwiftSyntax libraries have been updated from the previous 5.6 release and now use the new parser written in Swift. Swift 5.7+ features should now be parsed more accurately. We've also measured an improvement in lint times of up to 15%. This should also fix some deployment issues where the exact version of the internal SwiftSyntax parser needed to be available. If you notice any unexpected changes to lint results, please file an issue on the SwiftLint issue tracker. We can look into it and if it's a SwiftSyntax parser regression we can re-file it upstream. [JP Simard](https://github.com/jpsim) [#4031](https://github.com/realm/SwiftLint/issues/4031) * Add ability to filter rules for `generate-docs` subcommand. [kattouf](https://github.com/kattouf) * Add new `excludes_trivial_init` configuration for `missing_docs` rule to exclude initializers without any parameters. [Marcelo Fabri](https://github.com/marcelofabri) [#4107](https://github.com/realm/SwiftLint/issues/4107) * Add new `ns_number_init_as_function_reference` rule to catch `NSNumber.init` and `NSDecimalNumber.init` being used as function references since it can cause the wrong initializer to be used, causing crashes. See https://github.com/apple/swift/issues/51036 for more info. [Marcelo Fabri](https://github.com/marcelofabri) * Rewrite some rules with SwiftSyntax, fixing some false positives and catching more violations: - `anonymous_argument_in_multiline_closure` - `array_init` - `attributes` - `block_based_kvo` - `class_delegate_protocol` - `closing_brace` - `closure_body_length` - `closure_parameter_position` - `collection_alignment` - `comment_spacing` - `computed_accessors_order` - `conditional_returns_on_newline` - `contains_over_filter_count` - `contains_over_filter_is_empty` - `contains_over_first_not_nil` - `contains_over_range_nil_comparison` - `convenience_type` - `deployment_target` - `discarded_notification_center_observer` - `discouraged_assert` - `discouraged_direct_init` - `discouraged_none_name` - `discouraged_object_literal` - `discouraged_optional_boolean` - `duplicate_enum_cases` - `duplicated_key_in_dictionary_literal` - `dynamic_inline` - `empty_collection_literal` - `empty_count` - `empty_enum_arguments` - `empty_parameters` - `empty_parentheses_with_trailing_closure` - `empty_string` - `enum_case_associated_values_count` - `explicit_enum_raw_value` - `explicit_init` - `explicit_top_level_acl` - `fallthrough` - `file_name` - `first_where` - `flatmap_over_map_reduce` - `for_where` - `force_try` - `force_unwrapping` - `function_body_length` - `function_default_parameter_at_end` - `function_parameter_count` - `generic_type_name` - `ibinspectable_in_extension` - `identical_operands` - `implicit_getter` - `implicitly_unwrapped_optional` - `inclusive_language` - `inert_defer` - `is_disjoint` - `joined_default_parameter` - `large_tuple` - `last_where` - `legacy_cggeometry_functions` - `legacy_constant` - `legacy_constructor` - `legacy_hashing` - `legacy_multiple` - `legacy_nsgeometry_functions` - `legacy_objc_type` - `legacy_random` - `lower_acl_than_parent` - `multiple_closures_with_trailing_closure` - `multiline_parameters` - `no_extension_access_modifier` - `no_fallthrough_only` - `no_space_in_method_call` - `notification_center_detachment` - `nslocalizedstring_require_bundle` - `nsobject_prefer_isequal` - `number_separator` - `operator_whitespace` - `override_in_extension` - `nsobject_prefer_isequal` - `prefer_nimble` - `prefer_self_type_over_type_of_self` - `prefer_zero_over_explicit_init` - `prefixed_toplevel_constant` - `private_action` - `private_over_fileprivate` - `private_outlet` - `private_unit_test` - `prohibited_interface_builder` - `protocol_property_accessors_order` - `quick_discouraged_focused_test` - `quick_discouraged_pending_test` - `raw_value_for_camel_cased_codable_enum` - `reduce_boolean` - `reduce_into` - `redundant_discardable_let` - `redundant_nil_coalescing` - `redundant_objc_attribute` - `redundant_set_access_control` - `redundant_optional_initialization` - `redundant_string_enum_value` - `required_deinit` - `return_arrow_whitespace` - `self_in_property_initialization` - `shorthand_operator` - `single_test_class` - `sorted_first_last` - `static_operator` - `strict_fileprivate` - `strong_iboutlet` - `switch_case_alignment` - `switch_case_on_newline` - `test_case_accessibility` - `toggle_bool` - `trailing_comma` - `trailing_semicolon` - `type_body_length` - `type_name` - `unneeded_break_in_switch` - `unneeded_parentheses_in_closure_argument` - `unowned_variable_capture` - `untyped_error_in_catch` - `unused_capture_list` - `unused_closure_parameter` - `unused_control_flow_label` - `unused_enumerated` - `unused_optional_binding` - `unused_setter_value` - `valid_ibinspectable` - `vertical_parameter_alignment` - `weak_delegate` - `xct_specific_matcher` - `xctfail_message` [Marcelo Fabri](https://github.com/marcelofabri) [SimplyDanny](https://github.com/SimplyDanny) [JP Simard](https://github.com/jpsim) [#2915](https://github.com/realm/SwiftLint/issues/2915) * The "body length" family of rules have changed how they calculate body line count to be significantly more correct and intuitive. However, this is likely to require adjustments to your configuration or disable commands to account for the changes. [JP Simard](https://github.com/jpsim) * Add `accessibility_trait_for_button` rule to warn if a SwiftUI View has a tap gesture added to it without having the button or link accessibility trait. [Ryan Cole](https://github.com/rcole34) * Add methods from SE-0348 to `UnusedDeclarationRule`. [JP Simard](https://github.com/jpsim) * Include the configured `bind_identifier` in `self_binding` violation messages. [JP Simard](https://github.com/jpsim) * Add `library_content_provider` file type to `file_types_order` rule to allow `LibraryContentProvider` to be ordered independent from `main_type`. [dahlborn](https://github.com/dahlborn) * Add `test_parent_classes` option to `test_case_accessibility` rule, which allows detection in subclasses of XCTestCase. [Martin Redington](https://github.com/mildm8nnered) [#4200](https://github.com/realm/SwiftLint/issues/4200) * Add a new `shorthand_optional_binding` opt-in rule that triggers in Swift 5.7 when a shadowing optional binding is created in an `if` or `guard` statement. [SimplyDanny](https://github.com/SimplyDanny) [#4202](https://github.com/realm/SwiftLint/issues/4202) * Use SwiftSyntax instead of SourceKit to determine if a file has parser errors before applying corrections. This speeds up corrections significantly when none of the rules use SourceKit. [JP Simard](https://github.com/jpsim) * Add Swift Package Build Tool Plugin with support for Swift Packages and Xcode projects. [Johannes Ebeling](https://github.com/technocidal) [#3679](https://github.com/realm/SwiftLint/issues/3679) [#3840](https://github.com/realm/SwiftLint/issues/3840) * Make `private_unit_test` rule correctable. [SimplyDanny](https://github.com/SimplyDanny) * Disregard whitespace differences in `identical_operands` rule. That is, the rule now also triggers if the left-hand side and the right-hand side of an operation only differ in trivia. [SimplyDanny](https://github.com/SimplyDanny) * Print violations in realtime if `--progress` and `--output` are both set. [JP Simard](https://github.com/jpsim) * Update `for_where` rule, adding a new configuration `allow_for_as_filter` to allow using `for in` with a single `if` inside when there's a `return` statement inside the `if`'s body. [Marcelo Fabri](https://github.com/marcelofabri) [#4040](https://github.com/realm/SwiftLint/issues/4040) * `quick_discouraged_call`, `quick_discouraged_focused_test` and `quick_discouraged_pending_test` rules now trigger on subclasses of `QuickSpec`. [Marcelo Fabri](https://github.com/marcelofabri) [#4420](https://github.com/realm/SwiftLint/issues/4420) * The `type_name` rule now validates protocol declarations by default. You can opt-out by using the `validate_protocols` key in your configuration: ```yml type_name: validate_protocols: false ``` [Marcelo Fabri](https://github.com/marcelofabri) [#4430](https://github.com/realm/SwiftLint/issues/4430) * Report how much memory was used when `--benchmark` is specified. [JP Simard](https://github.com/jpsim) #### Bug Fixes * Respect `validates_start_with_lowercase` option when linting function names. [Chris Brakebill](https://github.com/braker1nine) [#2708](https://github.com/realm/SwiftLint/issues/2708) * Do not report variables annotated with `@NSApplicationDelegateAdaptor` and `@WKExtensionDelegateAdaptor` in `weak_delegate` rule. [Till Hainbach](https://github.com/tillhainbach) [#3598](https://github.com/realm/SwiftLint/issues/3456) [#3611](https://github.com/realm/SwiftLint/issues/3611) * Fix false-positives related to the `willMove` lifecycle method in `type_contents_order` rule. [SimplyDanny](https://github.com/SimplyDanny) [#3478](https://github.com/realm/SwiftLint/issues/3478) * Do no longer autocorrect usage of `NSIntersectionRect` in `legacy_nsgeometry_functions` rule. [SimplyDanny](https://github.com/SimplyDanny) [#3703](https://github.com/realm/SwiftLint/issues/3703) * Fix Analyzer rules in Xcode 14. [SimplyDanny](https://github.com/SimplyDanny) [#4208](https://github.com/realm/SwiftLint/issues/4208) * Add column for SourceKit usage to `rules` command. [JP Simard](https://github.com/jpsim) * Make `nsobject_prefer_isequal` rule work for nested `@objc` classes. Also consider the `@objcMembers` annotation. [SimplyDanny](https://github.com/SimplyDanny) * Print fixed content at most once to STDOUT. [SimplyDanny](https://github.com/SimplyDanny) [#4211](https://github.com/realm/SwiftLint/issues/4211) * Fix fatal error when content given via STDIN is corrected in the `trailing_newline` rule. [SimplyDanny](https://github.com/SimplyDanny) [#4234](https://github.com/realm/SwiftLint/issues/4234) --- ### 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 = "90e3b5e8ff942be134e64a83499974203ea64797fd620eddeb71b3a8e1bff681", url = "https://github.com/bazelbuild/rules_apple/releases/download/1.1.2/rules_apple.1.1.2.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 = "0cc64b76c801242ba440f83a85d4d54aa11303f1f48094555ddc3a818fbc9858", url = "https://github.com/realm/SwiftLint/releases/download/0.50.0-rc.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.50.0-rc.2: Artisanal Clothes Pegs
23 weeks ago
This is a prerelease version. It won't be published to Homebrew or CocoaPods. 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.50.0-rc.2 && make install` * Docker: ```docker run -it -v `pwd`:`pwd` -w `pwd` ghcr.io/realm/swiftlint:0.50.0-rc.2``` * Bazel: See instructions at the bottom Changes from 0.49.1: https://github.com/realm/SwiftLint/compare/0.49.1...0.50.0-rc.2 Changes from 0.50.0-rc.1: https://github.com/realm/SwiftLint/compare/0.50.0-rc.1...0.50.0-rc.2 --- #### Breaking * SwiftLint now requires Swift 5.7 or higher to build. [JP Simard](https://github.com/jpsim) * Exclude `weak_delegate` rule from autocorrection due to behavioral changes leading to potential undefined behavior or bugs. [SimplyDanny](https://github.com/SimplyDanny) [#3577](https://github.com/realm/SwiftLint/issues/3577) * The `anyobject_protocol` rule is now deprecated and will be completely removed in a future release because it is now handled by the Swift compiler. [JP Simard](https://github.com/jpsim) #### Experimental * None. #### Enhancements * SwiftSyntax libraries have been updated from the previous 5.6 release and now use the new parser written in Swift. Swift 5.7+ features should now be parsed more accurately. We've also measured an improvement in lint times of up to 15%. This should also fix some deployment issues where the exact version of the internal SwiftSyntax parser needed to be available. If you notice any unexpected changes to lint results, please file an issue on the SwiftLint issue tracker. We can look into it and if it's a SwiftSyntax parser regression we can re-file it upstream. [JP Simard](https://github.com/jpsim) [#4031](https://github.com/realm/SwiftLint/issues/4031) * Add ability to filter rules for `generate-docs` subcommand. [kattouf](https://github.com/kattouf) * Add new `excludes_trivial_init` configuration for `missing_docs` rule to exclude initializers without any parameters. [Marcelo Fabri](https://github.com/marcelofabri) [#4107](https://github.com/realm/SwiftLint/issues/4107) * Rewrite some rules with SwiftSyntax, fixing some false positives and catching more violations: - `anonymous_argument_in_multiline_closure` - `array_init` - `attributes` - `block_based_kvo` - `class_delegate_protocol` - `closing_brace` - `closure_body_length` - `closure_parameter_position` - `computed_accessors_order` - `conditional_returns_on_newline` - `contains_over_filter_count` - `contains_over_filter_is_empty` - `contains_over_first_not_nil` - `contains_over_range_nil_comparison` - `deployment_target` - `discouraged_assert` - `discouraged_direct_init` - `discouraged_none_name` - `discouraged_object_literal` - `discouraged_optional_boolean` - `duplicate_enum_cases` - `dynamic_inline` - `empty_collection_literal` - `empty_enum_arguments` - `empty_parameters` - `empty_parentheses_with_trailing_closure` - `empty_string` - `enum_case_associated_values_count` - `explicit_enum_raw_value` - `explicit_init` - `fallthrough` - `first_where` - `flatmap_over_map_reduce` - `force_try` - `force_unwrapping` - `function_body_length` - `function_default_parameter_at_end` - `function_parameter_count` - `generic_type_name` - `ibinspectable_in_extension` - `identical_operands` - `implicit_getter` - `implicitly_unwrapped_optional` - `inert_defer` - `is_disjoint` - `large_tuple` - `last_where` - `legacy_cggeometry_functions` - `legacy_constant` - `legacy_constructor` - `legacy_hashing` - `legacy_multiple` - `legacy_nsgeometry_functions` - `legacy_random` - `multiple_closures_with_trailing_closure` - `no_extension_access_modifier` - `no_fallthrough_only` - `no_space_in_method_call` - `nslocalizedstring_require_bundle` - `nsobject_prefer_isequal` - `number_separator` - `operator_whitespace` - `nsobject_prefer_isequal` - `private_action` - `private_over_fileprivate` - `private_outlet` - `private_unit_test` - `prohibited_interface_builder` - `protocol_property_accessors_order` - `quick_discouraged_focused_test` - `quick_discouraged_pending_test` - `reduce_boolean` - `redundant_discardable_let` - `redundant_nil_coalescing` - `redundant_string_enum_value` - `self_in_property_initialization` - `shorthand_operator` - `sorted_first_last` - `static_operator` - `strict_fileprivate` - `strong_iboutlet` - `switch_case_alignment` - `switch_case_on_newline` - `toggle_bool` - `trailing_comma` - `trailing_semicolon` - `type_body_length` - `unneeded_break_in_switch` - `unneeded_parentheses_in_closure_argument` - `unowned_variable_capture` - `untyped_error_in_catch` - `unused_closure_parameter` - `unused_control_flow_label` - `unused_enumerated` - `unused_setter_value` - `valid_ibinspectable` - `weak_delegate` - `xctfail_message` [Marcelo Fabri](https://github.com/marcelofabri) [SimplyDanny](https://github.com/SimplyDanny) [JP Simard](https://github.com/jpsim) [#2915](https://github.com/realm/SwiftLint/issues/2915) * The "body length" family of rules have changed how they calculate body line count to be significantly more correct and intuitive. However, this is likely to require adjustments to your configuration or disable commands to account for the changes. [JP Simard](https://github.com/jpsim) * Add `accessibility_trait_for_button` rule to warn if a SwiftUI View has a tap gesture added to it without having the button or link accessibility trait. [Ryan Cole](https://github.com/rcole34) * Add methods from SE-0348 to `UnusedDeclarationRule`. [JP Simard](https://github.com/jpsim) * Include the configured `bind_identifier` in `self_binding` violation messages. [JP Simard](https://github.com/jpsim) * Add `library_content_provider` file type to `file_types_order` rule to allow `LibraryContentProvider` to be ordered independent from `main_type`. [dahlborn](https://github.com/dahlborn) * Add `test_parent_classes` option to `test_case_accessibility` rule, which allows detection in subclasses of XCTestCase. [Martin Redington](https://github.com/mildm8nnered) [#4200](https://github.com/realm/SwiftLint/issues/4200) * Add a new `shorthand_optional_binding` opt-in rule that triggers in Swift 5.7 when a shadowing optional binding is created in an `if` or `guard` statement. [SimplyDanny](https://github.com/SimplyDanny) [#4202](https://github.com/realm/SwiftLint/issues/4202) * Use SwiftSyntax instead of SourceKit to determine if a file has parser errors before applying corrections. This speeds up corrections significantly when none of the rules use SourceKit. [JP Simard](https://github.com/jpsim) * Add Swift Package Build Tool Plugin with support for Swift Packages and Xcode projects. [Johannes Ebeling](https://github.com/technocidal) [#3679](https://github.com/realm/SwiftLint/issues/3679) [#3840](https://github.com/realm/SwiftLint/issues/3840) * Make `private_unit_test` rule correctable. [SimplyDanny](https://github.com/SimplyDanny) * Disregard whitespace differences in `identical_operands` rule. That is, the rule now also triggers if the left-hand side and the right-hand side of an operation only differ in trivia. [SimplyDanny](https://github.com/SimplyDanny) * Print violations in realtime if `--progress` and `--output` are both set. [JP Simard](https://github.com/jpsim) #### Bug Fixes * Respect `validates_start_with_lowercase` option when linting function names. [Chris Brakebill](https://github.com/braker1nine) [#2708](https://github.com/realm/SwiftLint/issues/2708) * Do not report variables annotated with `@NSApplicationDelegateAdaptor` and `@WKExtensionDelegateAdaptor` in `weak_delegate` rule. [Till Hainbach](https://github.com/tillhainbach) [#3598](https://github.com/realm/SwiftLint/issues/3456) [#3611](https://github.com/realm/SwiftLint/issues/3611) * Fix false-positives related to the `willMove` lifecycle method in `type_contents_order` rule. [SimplyDanny](https://github.com/SimplyDanny) [#3478](https://github.com/realm/SwiftLint/issues/3478) * Do no longer autocorrect usage of `NSIntersectionRect` in `legacy_nsgeometry_functions` rule. [SimplyDanny](https://github.com/SimplyDanny) [#3703](https://github.com/realm/SwiftLint/issues/3703) * Fix Analyzer rules in Xcode 14. [SimplyDanny](https://github.com/SimplyDanny) [#4208](https://github.com/realm/SwiftLint/issues/4208) * Add column for SourceKit usage to `rules` command. [JP Simard](https://github.com/jpsim) * Make `nsobject_prefer_isequal` rule work for nested `@objc` classes. Also consider the `@objcMembers` annotation. [SimplyDanny](https://github.com/SimplyDanny) * Print fixed content at most once to STDOUT. [SimplyDanny](https://github.com/SimplyDanny) [#4211](https://github.com/realm/SwiftLint/issues/4211) * Fix fatal error when content given via STDIN is corrected in the `trailing_newline` rule. [SimplyDanny](https://github.com/SimplyDanny) [#4234](https://github.com/realm/SwiftLint/issues/4234) --- ### 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 = "90e3b5e8ff942be134e64a83499974203ea64797fd620eddeb71b3a8e1bff681", url = "https://github.com/bazelbuild/rules_apple/releases/download/1.1.2/rules_apple.1.1.2.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 = "973587995aab45ac56b963c1768a830a6a66580ccea4d5bf81617106b22bfa3f", url = "https://github.com/realm/SwiftLint/releases/download/0.50.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.50.0-rc.1: Artisanal Clothes Pegs
24 weeks ago
This is a prerelease version. It won't be published to Homebrew or CocoaPods. 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.50.0-rc.1 && make install` * Docker: ```docker run -it -v `pwd`:`pwd` -w `pwd` ghcr.io/realm/swiftlint:0.50.0-rc.1``` * Bazel: See instructions at the bottom Changes from 0.49.1: https://github.com/realm/SwiftLint/compare/0.49.1...0.50.0-rc.1 --- #### Breaking * SwiftLint now requires Swift 5.7 or higher to build. [JP Simard](https://github.com/jpsim) * Exclude `weak_delegate` rule from autocorrection due to behavioral changes leading to potential undefined behavior or bugs. [SimplyDanny](https://github.com/SimplyDanny) [#3577](https://github.com/realm/SwiftLint/issues/3577) * The `anyobject_protocol` rule is now deprecated and will be completely removed in a future release because it is now handled by the Swift compiler. [JP Simard](https://github.com/jpsim) #### Experimental * None. #### Enhancements * SwiftSyntax libraries have been updated from the previous 5.6 release and now use the new parser written in Swift. Swift 5.7+ features should now be parsed more accurately. We've also measured an improvement in lint times of up to 15%. This should also fix some deployment issues where the exact version of the internal SwiftSyntax parser needed to be available. If you notice any unexpected changes to lint results, please file an issue on the SwiftLint issue tracker. We can look into it and if it's a SwiftSyntax parser regression we can re-file it upstream. [JP Simard](https://github.com/jpsim) [#4031](https://github.com/realm/SwiftLint/issues/4031) * Add ability to filter rules for `generate-docs` subcommand. [kattouf](https://github.com/kattouf) * Add new `excludes_trivial_init` configuration for `missing_docs` rule to exclude initializers without any parameters. [Marcelo Fabri](https://github.com/marcelofabri) [#4107](https://github.com/realm/SwiftLint/issues/4107) * Rewrite some rules with SwiftSyntax, fixing some false positives and catching more violations: - `anonymous_argument_in_multiline_closure` - `array_init` - `block_based_kvo` - `class_delegate_protocol` - `closing_brace` - `closure_parameter_position` - `computed_accessors_order` - `contains_over_filter_count` - `contains_over_range_nil_comparison` - `deployment_target` - `discouraged_object_literal` - `discouraged_optional_boolean` - `duplicate_enum_cases` - `dynamic_inline` - `empty_collection_literal` - `empty_enum_arguments` - `empty_parameters` - `empty_parentheses_with_trailing_closure` - `empty_string` - `explicit_init` - `fallthrough` - `flatmap_over_map_reduce` - `force_try` - `force_unwrapping` - `generic_type_name` - `ibinspectable_in_extension` - `implicit_getter` - `inert_defer` - `large_tuple` - `legacy_cggeometry_functions` - `legacy_constant` - `legacy_nsgeometry_functions` - `multiple_closures_with_trailing_closure` - `no_extension_access_modifier` - `no_fallthrough_only` - `no_space_in_method_call` - `nsobject_prefer_isequal` - `private_action` - `private_outlet` - `private_unit_test` - `protocol_property_accessors_order` - `redundant_nil_coalescing` - `redundant_string_enum_value` - `strong_iboutlet` - `switch_case_on_newline` - `toggle_bool` - `trailing_semicolon` - `unneeded_break_in_switch` - `unneeded_parentheses_in_closure_argument` - `unowned_variable_capture` - `untyped_error_in_catch` - `xctfail_message` [Marcelo Fabri](https://github.com/marcelofabri) [SimplyDanny](https://github.com/SimplyDanny) [JP Simard](https://github.com/jpsim) [#2915](https://github.com/realm/SwiftLint/issues/2915) * Add `accessibility_trait_for_button` rule to warn if a SwiftUI View has a tap gesture added to it without having the button or link accessibility trait. [Ryan Cole](https://github.com/rcole34) * Add methods from SE-0348 to `UnusedDeclarationRule`. [JP Simard](https://github.com/jpsim) * Include the configured `bind_identifier` in `self_binding` violation messages. [JP Simard](https://github.com/jpsim) * Add `library_content_provider` file type to `file_types_order` rule to allow `LibraryContentProvider` to be ordered independent from `main_type`. [dahlborn](https://github.com/dahlborn) * Add `test_parent_classes` option to `test_case_accessibility` rule, which allows detection in subclasses of XCTestCase. [Martin Redington](https://github.com/mildm8nnered) [#4200](https://github.com/realm/SwiftLint/issues/4200) * Add a new `if_let_shadowing` opt-in rule that triggers in Swift 5.7 when a shadowing optional binding is created in an if- or guard-statement. [SimplyDanny](https://github.com/SimplyDanny) [#4202](https://github.com/realm/SwiftLint/issues/4202) * Use SwiftSyntax instead of SourceKit to determine if a file has parser errors before applying corrections. This speeds up corrections significantly when none of the rules use SourceKit. [JP Simard](https://github.com/jpsim) * Add Swift Package Build Tool Plugin with support for Swift Packages and Xcode projects. [Johannes Ebeling](https://github.com/technocidal) [#3679](https://github.com/realm/SwiftLint/issues/3679) [#3840](https://github.com/realm/SwiftLint/issues/3840) * Make `private_unit_test` rule correctable. [SimplyDanny](https://github.com/SimplyDanny) #### Bug Fixes * Respect `validates_start_with_lowercase` option when linting function names. [Chris Brakebill](https://github.com/braker1nine) [#2708](https://github.com/realm/SwiftLint/issues/2708) * Do not report variables annotated with `@NSApplicationDelegateAdaptor` and `@WKExtensionDelegateAdaptor` in `weak_delegate` rule. [Till Hainbach](https://github.com/tillhainbach) [#3598](https://github.com/realm/SwiftLint/issues/3456) [#3611](https://github.com/realm/SwiftLint/issues/3611) * Fix false-positives related to the `willMove` lifecycle method in `type_contents_order` rule. [SimplyDanny](https://github.com/SimplyDanny) [#3478](https://github.com/realm/SwiftLint/issues/3478) * Do no longer autocorrect usage of `NSIntersectionRect` in `legacy_nsgeometry_functions` rule. [SimplyDanny](https://github.com/SimplyDanny) [#3703](https://github.com/realm/SwiftLint/issues/3703) * Fix Analyzer rules in Xcode 14. [SimplyDanny](https://github.com/SimplyDanny) [#4208](https://github.com/realm/SwiftLint/issues/4208) * Add column for SourceKit usage to `rules` command. [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 = "90e3b5e8ff942be134e64a83499974203ea64797fd620eddeb71b3a8e1bff681", url = "https://github.com/bazelbuild/rules_apple/releases/download/1.1.2/rules_apple.1.1.2.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 = "ee13554c48ca7845513ae307863525afbb5b8f22d4c3b34b5b2e87311c3d5e26", url = "https://github.com/realm/SwiftLint/releases/download/0.50.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 ```
macOS
mozilla-mobile/firefox-ios v111.1
Firefox for iOS
⭐️ 11,280
🕓 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.
v111.1
6 days ago
# Overview This is our official v111.1 release of Firefox-iOS. It's based on the [v111.0 branch](https://github.com/mozilla-mobile/firefox-ios/tree/release/v111.0) # Differences between v111.0 & v111.1 You can view the changes between our previous and newly released version [here](https://github.com/mozilla-mobile/firefox-ios/compare/v111.0...v111.1).
v111.0
3 weeks ago
# Overview This is our official v111.0 release of Firefox-iOS. It's based on the [v111.0 branch](https://github.com/mozilla-mobile/firefox-ios/tree/release/v111.0) ## Differences between v110.2 & v111.0 You can view the changes between our previous and newly released version [here](https://github.com/mozilla-mobile/firefox-ios/compare/release/v110.2...release/v111.0). ## Contributions We've had lots of contributions from the community this release, including: @whitelips with commits: #13143, #13130, #13142, #13098, #13071, #13059, #13047 @rvandermeulen with commits: #13156, #12961 @linabutler with commit: #13152 @ahal with commit: #12944 @gutley with commit: #13138 @issammani with commit: #12787 @q2r5 with commits: #9508, #13000, #12993 @TwizzyIndy with commits: #13040, #13055 @jhugman with commits: #13019, #12925 @nayushi with commit: #12999 @rossmassey with commit: #12951 @tarikeshaq with commit: #12750 @charlie with commit: #12935 Thanks everyone!
v110.2
2 weeks ago
# Overview This is our official v110.2 release of Firefox-iOS. It's based on the [v110.2 branch](https://github.com/mozilla-mobile/firefox-ios/tree/release/v110.2) ## Differences between v110.1 & v110.2 You can view the changes between our previous and newly released version [here](https://github.com/mozilla-mobile/firefox-ios/compare/release/v110.1...release/v110.2).
v110.1
3 weeks ago
# Overview This is our official v110.1 release of Firefox-iOS. It's based on the [v110.1 branch](https://github.com/mozilla-mobile/firefox-ios/tree/release/v110.1) ## Differences between v110.0 & v110.1 You can view the changes between our previous and newly released version [here](https://github.com/mozilla-mobile/firefox-ios/compare/release/v110.0...release/v110.1).
v110.0
5 weeks ago
# Overview This is our official v110.0 release of Firefox-iOS. It's based on the [v110.0 branch](https://github.com/mozilla-mobile/firefox-ios/tree/release/v110.0) ## Differences between v109.0 & v110.0 You can view the changes between our previous and newly released version [here](https://github.com/mozilla-mobile/firefox-ios/compare/release/v109.0...release/v110.0). ## Contributions We've had some contributions this release, including: @ACK-J with commit: #12735 @lougeniaC64 with commits: #12784, #12747 @tarikeshaq with commits: #12912, #12420 Thanks everyone!
v109.0
9 weeks ago
# Overview This is our official v109.0 release of Firefox-iOS. It's based on the [v109.0 branch](https://github.com/mozilla-mobile/firefox-ios/tree/release/v109.0) ## Differences between v108.1 & v109.0 You can view the changes between our previous and newly released version [here](https://github.com/mozilla-mobile/firefox-ios/compare/release/v108.1...release/v109.0). ## Contributions We've had lots of contributions this release, including: @tarikeshaq with commits: #12579, #12554, #12578, #12580, #12544, #12377, #12411 @charlie with commit: #12560 @rvandermeulen with commit: #12553 @nayushi with commits: #12467, #12466 @badboy with commit: #12501 @issammani with commit: #12451 @Dilatorily with commit: #10006 @lougeniaC64 with commits: #12306, #12358 @q2r5 with commit: #12324 Thanks everyone!
v108.1
14 weeks ago
# Overview This is our official v108.1 release of Firefox-iOS. It's based on the [v108.1 branch](https://github.com/mozilla-mobile/firefox-ios/tree/release/v108.1) ## Differences between v108.0 & v108.1 You can view the changes between our previous and newly released version [here](https://github.com/mozilla-mobile/firefox-ios/compare/release/v108.0...release/v108.1).
v107.3
15 weeks ago
# Overview This is our official v107.3 release of Firefox-iOS. It's based on the [v107.3 branch](https://github.com/mozilla-mobile/firefox-ios/tree/release/v107.3) ## Differences between v107.2 & v107.3 You can view the changes between our previous and newly released version [here](https://github.com/mozilla-mobile/firefox-ios/compare/release/v107.2...release/v107.3).
v107.2
17 weeks ago
# Overview This is our official v107.2 release of Firefox-iOS. It's based on the [v107.2 branch](https://github.com/mozilla-mobile/firefox-ios/tree/release/v107.2) ## Differences between v107.1 & v107.2 You can view the changes between our previous and newly released version [here](https://github.com/mozilla-mobile/firefox-ios/compare/release/v107.1...release/v107.2).
v107.1
17 weeks ago
# Overview This is our official v107.1 release of Firefox-iOS. It's based on the [v107.1 branch](https://github.com/mozilla-mobile/firefox-ios/tree/release/v107.1) ## Differences between v107.0 & v107.1 You can view the changes between our previous and newly released version [here](https://github.com/mozilla-mobile/firefox-ios/compare/release/v107.0...release/v107.1).
iOS macOS
krzyzanowskim/CryptoSwift 1.7.0
CryptoSwift is a growing collection of standard and secure cryptographic algorithms implemented in Swift
⭐️ 9,468
🕓 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.
27 weeks ago
- Improve & extend RSA support with DER (see README for details) - Fix Blowfish memory leaks - Fix PCBC mode - SwiftWasm compatibility
48 weeks ago
- Resolve type name clash by renaming BigInt -> BigInteger #917
48 weeks ago
- RSA (@NathanFallet) - Workaround for Xcode 13.3.1
1 year ago
- Fix PCBC mode.
1 year ago
- Update Xcode project to Xcode 13 - Add SHA3 support for HMAC (@R4v3nPr0) - Update HMAC.Variant API (deprecate current cases)
1 year ago
- Introduce ISO 10126 padding - fix various compiler warnings - Revert Xcode project deployment target
1 year ago
- Customize CFB segment size (cfb8, cfb128). - Adapt Swift @inlineable for better code optimization
Back to Sources
2 years ago
- Revert xcframework revolution. Back to build from sources. (I'm sorry)
2 years ago
1.3.6
2 years ago
- Fix macOS binary - Windows support
iOS macOS watchOS tvOS
apple/swift-package-manager swift-DEVELOPMENT-SNAPSHOT-2023-03-26-a
The Package Manager for the Swift Programming Language
⭐️ 9,179
🕓 4 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
2 years ago
3 years ago
Swift 5.2 Release
3 years ago
3 years ago
3 years ago
4 years ago
4 years ago
Swift 4.2.1 Release
4 years ago
Swift 4.2 Release
4 years ago
Release SwiftPM 0.2.1
4 years ago
iOS macOS linux windows android
uber/RIBs v0.13.3
Uber's cross-platform mobile architecture framework.
⭐️ 7,323
🕓 3 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.13.3
4 days 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
21 weeks ago
- [Android] Reverting binary breaking change from 0.13.1 on Basic Interactor
v0.13.1
22 weeks ago
- [Android] Upgrade to Kotlin 1.7 - [Android] Add Window Focus Event API - [Android] Add open modifier to doOnRemoved()8 - [Android] Deprecate mockitokotlin2
v0.13.0
48 weeks ago
Added - rib-coroutines and rib-coroutines-test artifacts to enable coroutines interop #460
v0.12.0
48 weeks ago
Added - Jetpack Compose support
v0.10.0
2 years ago
### Added - Added extra RIB test helper methods (#400) - Add new methods of pushing state to `StackRouterNavigator` (#401) - Allow `WorkerBinder` to bind workers to `Presenter` lifecycle (#402) - Added `RibEvents` & related classes to support tooling (#402) - Added fakes for testing RIB classes (#403) - Add RIB support for `onUserLeaveHint`, `onTrimMemory`, and `onPIPModeChanged` (#405) ### Changed - Add additional `Step` parameter to `Step#onStep` (#394) - Migrated from AssertJ to Truth unit test assertion APIs (#396) - Allow `Interactor`s to have constructors in order to support [Motif](http://github.com/uber/motif) (#397) - Renamed `rib-test-utils` to `rib-test` (#400) - Upgraded Mockito to v2.27.0 (#400) - Renamed `ModernRouterNavigator` to `StackRouterNavigator` (#401) - Removed `Component` type parameter from `Router` (#402) - Bump Build Tools and Compile SDK to 30 (#405) - Updated `Xray` for lazy init & naming the `Router` instead of `Builder` (#405) - Version bumps for dependencies (#406) ### Removed - Deleted `rib-uava` artifact (#393) - Use `com.google.guava:guava:xx-y-android` artifact instead - Change imports: `s/com.uber.rib.core.Optional/com.google.common.base.Optional` - Deleted `tooling/autodispose-error-prone-checker` (#398) - Deleted duplicate `rib-android-test` artifact used only for testing RIBs (#404)
Minor fix in Workflow
5 years ago
Fix forked Workflow invoking didComplete multiple times
Cocoapods
5 years ago
First release published with Cocoapods.
Initial release
5 years ago
iOS
kean/Nuke 12.1.0
Image loading system
⭐️ 7,266
🕓 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.
Nuke 12.1
2 days ago
- Add `makeImageView` closure to `LazyImageView` to allow using custom views for rendering images - Add `onCompletion` closure to `LazyImage` and `FetchImage` - Fix an issue with `.videoAssetKey` value missing from `ImageContainer` - Fix an issue with `.gif` being encoded as `.jpeg` when `.storeEncodedImages` policy is used
Nuke 12.0
3 weeks ago
Nuke 12 enhances the two main APIs introduced in the previous release: `LazyImage` and the async `ImagePipeline` methods. They are faster, more robust, and easier to use. > The [migration guide](https://github.com/kean/Nuke/blob/main/Documentation/Migrations/Nuke%2012%20Migration%20Guide.md) is available to help with the update. The minimum requirements are unchanged from Nuke 11. ## NukeUI 2.0 NukeUI started as a separate [repo](https://github.com/kean/NukeUI), but the initial production version was released as part of [Nuke 11](https://github.com/kean/Nuke/releases/tag/11.0.0). Let's call it NukeUI 1.0. The framework was designed before the [`AsyncImage`](https://developer.apple.com/documentation/swiftui/asyncimage) announcement and had a few discrepancies that made it harder to migrate from `AsyncImage`. This release addresses the shortcomings of the original design and features a couple of performance improvements. - `LazyImage` now uses `SwiftUI.Image` instead of `NukeUI.Image` backed by `UIImageView` and `NSImageView`. It eliminates any [discrepancies](https://github.com/kean/Nuke/issues/578) between `LazyImage` and `AsyncImage` layout and self-sizing behavior and fixes issues with `.redacted(reason:)`, `ImageRenderer`, and other SwiftUI APIs that don't work with UIKIt and AppKit based views. - Remove `NukeUI.Image` so the name no longer [clashes](https://github.com/kean/Nuke/discussions/658) with `SwiftUI.Image` - Fix [#669](https://github.com/kean/Nuke/issues/669): `redacted` not working for `LazyImage` - GIF rendering is no longer included in the framework. Please consider using one of the frameworks that specialize in playing GIFs, such as [Gifu](https://github.com/kaishin/Gifu). It's easy to integrate, especially with `LazyImage`. - Extract progress updates from `FetchImage` to a separate observable object, reducing the number of body reloads - `LazyImage` now requires a single body calculation to render the response from the memory cache (instead of three before) - Disable animations by default - Fix an issue where the image won't reload if you change only `LazyImage` `processors` or `priority` without also changing the image source - `FetchImage/image` now returns `Image` instead of `UIImage` - Make `_PlatformImageView` internal (was public) and remove more typealiases ## Concurrency Redesign the concurrency APIs making them more ergonomic and fully `Sendable` compliant. - Add `ImagePipeline/imageTask(with:)` method that returns a new type `AsyncImageTask` ```swift let task = ImagePipeline.shared.imageTask(with: URL(string: "example.com")) task.priority = .high for await progress in task.progress { print("Updated progress: ", progress) } let image = try await task.image ``` - The existing convenience `ImagePipeline/image(for:)` method now returns an image instead of `ImageResponse` - Remove the `delegate` parameter from `ImagePipeline/image(for:)` method to address the upcoming concurrency warnings in Xcode 14.3 - Remove `ImageTaskDelegate` and move its methods to `ImagePipelineDelegate` and add the `pipeline` parameter ## Nuke - Add a new initializer to `ImageRequest.ThumbnailOptions` that accepts the target size, unit, and content mode - [#677](https://github.com/kean/Nuke/pull/677) - ImageCache uses 20% of available RAM which is quite aggressive. It's an OK default on iOS because it clears 90% of the used RAM when entering the background to be a good citizen. But it's not a good default on a Mac. Starting with Nuke 12, the default size is now strictly limited to 512 MB. - `ImageDecoder` now defaults to scale `1` for images (configurable using [`UserInfoKey/scaleKey`](https://kean-docs.github.io/nuke/documentation/nuke/imagerequest/userinfokey/scalekey)) - Removes APIs deprecated in the previous versions - Update the [Performance Guide](https://kean-docs.github.io/nuke/documentation/nuke/performance-guide) ## NukeVideo Video playback can be significantly [more efficient](https://web.dev/replace-gifs-with-videos/) than playing animated GIFs. This is why the initial version of NukeUI provided support for basic video playback. But it is not something that the majority of the users need, so this feature was extracted to a separate module called `NukeVideo`. There is now less code that you need to include in your project, which means faster compile time and smaller code size. With this and some other changes in Nuke 12, the two main frameworks – Nuke and NukeUI – now have 25% less code compared to Nuke 11. In addition to this change, there are a couple of improvements in how the precompiled binary frameworks are generated, significantly reducing their size. - Move all video-related code to `NukeVideo` - Remove `ImageContainer.asset`. The asset is now added to `ImageContainer/userInfo` under the new `.videoAssetKey`. - Reduce the size of binary frameworks by up to 50%
Nuke 12 (RC1)
4 weeks ago
Nuke 12 enhances the two main APIs introduced in the previous release: `LazyImage` and the async `ImagePipeline` methods. They are faster, more robust, and easier to use. > The [migration guide](https://github.com/kean/Nuke/blob/nuke-12/Documentation/Migrations/Nuke%2012%20Migration%20Guide.md) is available to help with the update. The minimum requirements are unchanged from Nuke 11. ## Concurrency Redesign the concurrency APIs making them more ergonomic and fully `Sendable` compliant. - Add `ImagePipeline/imageTask(with:)` method that returns a new type `AsyncImageTask` ```swift let task = ImagePipeline.shared.imageTask(with: URL(string: "example.com")) task.priority = .high for await progress in task.progress { print("Updated progress: ", progress) } let image = try await task.image ``` - The existing convenience `ImagePipeline/image(for:)` method now returns an image instead of `ImageResponse` - Remove the `delegate` parameter from `ImagePipeline/image(for:)` method to address the upcoming concurrency warnings in Xcode 14.3 - Remove `ImageTaskDelegate` and move its methods to `ImagePipelineDelegate` and add the `pipeline` parameter ## NukeUI 2.0 NukeUI started as a separate [repo](https://github.com/kean/NukeUI), but the initial production version was released as part of [Nuke 11](https://github.com/kean/Nuke/releases/tag/11.0.0). Let's call it NukeUI 1.0. The framework was designed before the [`AsyncImage`](https://developer.apple.com/documentation/swiftui/asyncimage) announcement and had a few discrepancies that made it harder to migrate from `AsyncImage`. This release addresses the shortcomings of the original design and features a couple of performance improvements. - `LazyImage` now uses `SwiftUI.Image` instead of `NukeUI.Image` backed by `UIImageView` and `NSImageView`. It eliminates any [discrepancies](https://github.com/kean/Nuke/issues/578) between `LazyImage` and `AsyncImage` layout and self-sizing behavior and fixes issues with `.redacted(reason:)`, `ImageRenderer`, and other SwiftUI APIs that don't work with UIKIt and AppKit based views. - Remove `NukeUI.Image` so the name no longer [clashes](https://github.com/kean/Nuke/discussions/658) with `SwiftUI.Image` - Fix [#669](https://github.com/kean/Nuke/issues/669): `redacted` not working for `LazyImage` - GIF rendering is no longer included in the framework. Please consider using one of the framework that specialize on playing GIFs, such as [Gifu](https://github.com/kaishin/Gifu). It's easy to integrate, especially with `LazyImage`. - Extract progress updates from `FetchImage` to a separate observable object, reducing the number of body reloads - `LazyImage` now requires a single body calculation to render the response from the memory cache (instead of three before) - Disable animations by default - Fix an issue where the image won't reload if you change only `LazyImage` `processors` or `priority` without also changing the image source - `FetchImage/image` now returns `Image` instead of `UIImage` - Make `_PlatformImageView` internal (was public) and remove more typealiases ## Nuke - ImageCache uses 20% of available RAM which is quite aggressive. It's an OK default on iOS because it clears 90% of the used RAM when entering the background to be a good citizen. But it's not a good default on a Mac. Starting with Nuke 12, the default size is now strictly limited to 512 MB. - `ImageDecoder` now defaults to scale `1` for images (configurable using [`UserInfoKey/scaleKey`](https://kean-docs.github.io/nuke/documentation/nuke/imagerequest/userinfokey/scalekey)) - Removes APIs deprecated in the previous versions ## NukeVideo Video playback can be significantly [more efficient](https://web.dev/replace-gifs-with-videos/) than playing animated GIFs. This is why the initial version of NukeUI provided support for basic video playback. But it is not something that the majority of the users need, so this feature was extracted to a separate module called `NukeVideo`. There is now less code that you need to include in your project, which means faster compile time and smaller code size. With this and some other changes in Nuke 12, the two main frameworks – Nuke and NukeUI – now have 25% less code compared to Nuke 11. In addition to this change, there are a couple of improvements in how the precompiled binary frameworks are generated, significantly reducing their size. - Move all video-related code to `NukeVideo` - Remove `ImageContainer.asset`. The asset is now added to `ImageContainer/userInfo` under the new `.videoAssetKey`. - Reduce the size of binary frameworks by up to 50%
Nuke 12.0 (Beta 5)
5 weeks ago
Redesign the concurrency APIs in Nuke ahead of the upcoming changes in Xcode 14.3, making them safer and ergonomic to use, and fully `Sendable`-compliant. - Add `ImagePipeline/imageTask(with:)` method that returns a new type `AsyncImageTask` that you can use to monitor the task progress, change its priority, and, of course, fetch the response. ```swift let task = ImagePipeline.shared.imageTask(with: URL(string: "example.com")) for await progress in task.progress { print("Updated progress: ", progress) } let image = try await task.image ``` - The existing convenience `ImagePipeline/image(for:)` methods now return an image (`UIImage` or `NSImage`) instead of `ImageResponse` - Remove the `delegate` parameter from the existing `ImagePipeline/image(for:)` async/await method to address the upcoming concurrency warnings in Xcode 14.3 - Remove `ImageTaskDelegate` and move its methods to `ImagePipelineDelegate` and add the `pipeline` parameter - Add one final `LazyImage` optimization where when the image is in memory cache, `LazyImage` now requires a single body calculation to render it (instead of three before) – can't get better than this - Use an improved way to generate xcframeworks, significantly reducing their size
Nuke 11.6.4
5 weeks ago
- Fix [#671](https://github.com/kean/Nuke/pull/671): `ImagePipeline/image(for:)` hangs if you cancel the async Task before it is started. Thanks @muukii for reporting and providing a sample.
Nuke 12.0 (Beta 4)
5 weeks ago
- Remove the convenience `LazyImage(url:content:placeholder:)` init method that doesn't offer much compared to the main init and remove public `_LazyImageContents` - Fix an issue where if you change the `LazyImage`'s `processors` or `priority` without also changing the image source, the image wasn't being reloaded - Remove some of the typealises from `NukeUI` - Remove the deprecated APIs in NukeUI - Add missing scale parameter to init with content - `ImageDecoder` now defaults to scale `1` for images - Remove `scale` parameter from `LazyImage` init: it's available via `ImageRequest` `userInfo`
Nuke 11.6.3
5 weeks ago
- Fix warnings in Xcode 14.3
Nuke 12.0 (Beta 3)
5 weeks ago
- `ImageCache` uses 20% of available RAM which is quite aggressive. It's a good default on iOS because it clears 90% of the used RAM when entering the background to be a good citizen. But it's not a good default on a Mac where the app is constantly running, and the RAM usage is highly visible. Starting with Nuke 12, the default size is now strictly limited by 512 MB. - Move all video-related code to a separate module `NukeVideo`, so that the users who don't need it, which are the majority, don't need to pay the extra compile time / code size price. With this and other changes in Nuke 12, if you install NukeUI, you are now adding 25% less code to your project compared to Nuke 11. - Remove `ImageContainer.asset`. The asset is now added to `ImageContainer/userInfo` under the new `.videoAssetKey`. - Make `_PlatformImageView` internal (was public) - Fix an issue with `FetchImage/progress` not delivering updates - `FetchImage/progress` is now created lazily - Remove callbacks from `FetchImage` - `FetchImage/image` now returns `Image` instead of `PlatformImage`
Nuke 12.0 (Beta 2)
5 weeks ago
- Extract progress from `FetchImage` to a separate observable object and reduce a number of `body` reloads - Disable animations by default See also: [Nuke 12.0 (Beta 1) changes](https://github.com/kean/Nuke/releases/tag/12.0.0-beta.1)
Nuke 12.0 (Beta 1)
6 weeks ago
> **Warning**: This is an early preview. The documentation hasn't been updated yet. ## NukeUI 2.0 NukeUI started as a separate [repo](https://github.com/kean/NukeUI), but the initial production version was released as part of [Nuke 11](https://github.com/kean/Nuke/releases/tag/11.0.0). Let's call it NukeUI 1.0. The framework was designed before the [`AsyncImage`](https://developer.apple.com/documentation/swiftui/asyncimage) announcement and had a few discrepancies that made it harder to migrate from `AsyncImage`. This release addresses the shortcomings of the original design. NukeUI 2.0 was developed closely with the open-source [Ice Cubes](https://github.com/Dimillian/IceCubesApp) app for Mastodon, and every single line in `LazyImage` was optimized to achieve the best performance possible. Starting with NukeUI 2.0, `LazyImage` uses `SwiftUI.Image` to display images and eliminates any [discrepancies](https://github.com/kean/Nuke/issues/578) between `LazyImage` and `AsyncImage` layout and self-sizing behavior. And the previously used `NukeUI.Image` was removed so it no longer [conflicts](https://github.com/kean/Nuke/discussions/658) with `SwiftUI.Image`. NukeUI 1.0 tried to do too much in terms of _rendering_ images which is not its primary responsibility – _loading_ images is. The original design resulted in a convoluted and poorly composable API where `LazyImage` would know too much about how the images are rendered. This is no longer the case. - `LazyImage` now uses `SwiftUI.Image` for rendering images and the layout/sizing behavior matches `AsyncImage` exactly - Remove `Image`, `ImageView`, `ImageResizingMode` - Add `LazyImage` initializer that accepts `content` and `placeholder` closures (the same as `AsyncImage`) - Add `scale` parameter to `LazyImage` initializer - Fix [#669](https://github.com/kean/Nuke/issues/669): `redacted` not working for `LazyImage` - GIF rendering is no longer included in the framework. To enable it, use one of the frameworks that support GIF directly, such as [Gifu](https://github.com/kaishin/Gifu) - Video support is also disabled by default (this is subject to change) > **Warning**: GIF and video rendering are now disabled by default ## Deprecations This release also removes the APIs deprecated in the previous versions of the framework
iOS macOS watchOS tvOS
nicklockwood/SwiftFormat 0.51.3
A command-line tool and Xcode Extension for formatting Swift code
⭐️ 6,516
🕓 4 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.51.2
2 weeks ago
- Fixed `hoistTry` rule breaking multiline function chains - Added `--asynccapturing` and `--throwcapturing` options for `hoistTry` and `hoistAwait` rules - Fixed changes in last line of file not being correctly tracked
0.51.1
3 weeks ago
- Fixed `redundantNilInit` removing required `nil` inside Result Builders - Fixed `redundantLet` removing required `let` inside Result Builder `switch/case` statements - Fixed `hoistTry` rule removing second `try` inside XCTAssert statements
0.51.0
3 weeks ago
- Added `hoistAwait` and `hoistTry` rules to hoist inline `await`/`try` to start of expression - Extended `redundantPattern` rule to remove redundant `let` in patterns - The `wrapMultilineStatementBraces` rules is now applied more consistently - Updated `redundantReturn`/`Closure` rules to support `if`/`switch` expressions in Swift 5.8 - Added `conditionalAssignment` rule to assign variables using `if`/`switch` expressions in Swift 5.8 - Updated `redundantType` rule to support `if`/`switch` expression assignment Swift 5.8 - Extended `redundantSelf` rule to support implicit `self` in eligible closures in Swift 5.8 - SwiftFormat now ignores `.swiftformat` files when explicit `--config` file is provided - Added `--wrapenumcases with-values` option to only wrap enum cases with values - Added `--wrapeffects` option for wrapping function effects - Removed unsafe `preferDouble` rule
0.50.9
5 weeks ago
- Added Github actions log reporter (see `--reporter` option for details) - Fixed bug where `redundantType` sometimes stripped in cases where it couldn't be inferred - The `redundantType` rule now supports removing type in more cases where supported - Made SwiftFormat for Xcode instructions dynamic according to OS version - Fixed bug where a trailing comma could be left behind by `opaqueGenericParameters` rule - Fixed bug where `wrapAttributes` rule sometimes wrapped inline attributes like `@MainActor` - Improved support for `// swiftformat:options` comment directives - Removed deprecated options from the example `.swiftformat` file
0.50.8
8 weeks ago
- The `redundantBackticks` rule no longer removes required comments around `self` - Associated type headerdoc comments are now handles correctly by the `docComments` rule - Fixed mangled comments when using the `sortedSwitchCases` rule - Hex, octal or binary literals are now sorted correctly in `sortedSwitchCases` rule - Fixed regression in closed brace indentation (introduced in 0.50.7) - Fixed unsafe semicolon removal after inferred `var` properties - Added fileHeader placeholder documentation
0.50.7
12 weeks ago
- Fixed parsing of regex literals preceded by `try` or `await` - Fixed required parens being removed around `await` keyword - Fixed indent for nested, wrapped parameters
0.50.6
16 weeks ago
- Fixed regression in `fileHeader` rule where blank lines were removed after header - Fixed globs matching when command-line tool is invoked from a directory such as `/var/tmp` - Fixed bug in parsing regex literals beginning with `^` character
0.50.5
16 weeks ago
- Fixed incorrect macOS command line binary that accidentally shipped with 0.50.4
0.50.4
17 weeks ago
- Added Swift package command plugin - Added `docComments` rule to convert between regular and documentation comments - Fixed `redundantLet` rule incorrectly stripping `let` inside Result Builders - Fixed `void` rule in cases where `Void` has been locally shadowed - Fixed `fileHeader` rule when file only contains header comment - Fixed unexpected indent and spurious `wrap` warning for blank lines - Fixed parsing bug in `redundantSelf` rule
0.50.3
22 weeks ago
- Fixed bug where `redundantFileprivate` rule could break Array extensions using type sugar - Fixed bug and crash in `wrapSingleLineComments` rule relating to long URLs - Improved `wrapSingleLineComments` handling of comments containing long URLs - The `opaqueGenericParameters` rule is now correctly applied to initializers and subscripts - Added some known issues for `opaqueGenericParameters` and `genericExtensions` to README
kif-framework/KIF v3.8.8
Keep It Functional - An iOS Functional Testing Framework
⭐️ 6,162
🕓 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.
KIF 3.8.7
42 weeks ago
Bug Fixes: * Fixes deployment target warning for SwiftPM * Fixes tappable point in SwiftUI * Fixes issue with NSPredicates in iOS 15.5 Enhancements: * Adds identifier to view hierarchy printing
KIF 3.8.6
1 year ago
Bug Fixes: * Reverts CollectionView scrolling when finding an element that had unintended consequences * Scrolls to take actions on elements in a scrollview * Checks to see if a UIControl is enabled for isTappable
KIF 3.8.5
1 year ago
Bug Fixes: Bug in Xcode 13 where UITableViewCell cells are being reused and change when scrolling Mimics UITableView scrolling logic in UICollectionView
KIF 3.8.4
1 year ago
Bug Fixes: * Fixes bug in Xcode 13 where UITableViewCell labels are not being found in waitForView * Changes from using XCUI screenshot to manually snapshotting the main screen. In Xcode 13 it locks down XCUI so using the API crashes the application
KIF 3.8.3
1 year ago
Bug Fixes: * Umbrella header warnings in SPM * Table view scroll behavior * Fixes crash in iOS 15
KIF 3.8.2
1 year ago
Reintroduce support for Swift Package Manager
KIF 3.8.1
2 years ago
Adds ability to configure first responder timeout * This may need to be be used for slower machines or machines that are more resource restricted
KIF 3.8.0
2 years ago
This release officially drops Xcode 10 support due to https://github.com/kif-framework/KIF/pull/1209 * Re-adds snapshot images as XCTAttachments * Re-adds SwiftPM support * Fixes bug where typing doesn't wait for keyboard to finish typing before moving on with test
KIF 3.7.14
2 years ago
Fixes slow down with textfields by excluding the cursor from the hasAnimation check
KIF 3.7.13
2 years ago
* Adds a Visualizer to the top of the highest window instead of it's own window to prevent issues from changing key windows. * Fixes date picker for iOS 14
iOS

Popular Packages

Alamofire/Alamofire 5.6.4
Elegant HTTP Networking in Swift
⭐️ 39,122
🕓 17 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.6.4
17 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
18 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
36 weeks 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
49 weeks 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
49 weeks 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
1 year 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).
Multipart Order
1 year ago
Released on 2021-04-21. All issues associated with this milestone can be found using this [filter](https://github.com/Alamofire/Alamofire/milestone/77?closed=1). #### Fixed - Change in multipart upload creation order. - Fixed by [Christian Noon](https://github.com/cnoon) in Pull Request [#3438](https://github.com/Alamofire/Alamofire/pull/3438). - Typo in Alamofire 5 migration guide. - Fixed by [DevYeom](https://github.com/DevYeom) in Pull Request [#3431](https://github.com/Alamofire/Alamofire/pull/3431).
Multipart Safety
1 year ago
Released on 2021-04-03. All issues associated with this milestone can be found using this [filter](https://github.com/Alamofire/Alamofire/milestone/76?closed=1). #### Updated - Resume data handling for `DownloadRequest`s to access resume data from errors as well as cancellation. - Updated by [Jon Shier](https://github.com/jshier) in Pull Request [#3419](https://github.com/Alamofire/Alamofire/pull/3419). - Project files and templates for Xcode 12.4 and GitHub templates. - Updated by [Jon Shier](https://github.com/jshier) in Pull Request [#3414](https://github.com/Alamofire/Alamofire/pull/3414). #### Fixed - `MultipartUpload` thread-safety. - Fixed by [Jon Shier](https://github.com/jshier) in Pull Request [#3421](https://github.com/Alamofire/Alamofire/pull/3421). - Multipart body stream length handling to better handle partial streams. - Fixed by [Yu Ao](https://github.com/YuAo) and [Jon Shier](https://github.com/jshier) in Pull Requests [#3380](https://github.com/Alamofire/Alamofire/pull/3380) and [#3420](https://github.com/Alamofire/Alamofire/pull/3420).
Installing Obj-C Headers
2 years ago
Released on 2020-12-20. All issues associated with this milestone can be found using this [filter](https://github.com/Alamofire/Alamofire/milestone/75?closed=1). #### Updated - Project and CocoaPods installation of Obj-C header. - Updated by [Jon Shier](https://github.com/jshier) in Pull Request [#3378](https://github.com/Alamofire/Alamofire/pull/3378).
iOS macOS watchOS tvOS
grpc/grpc v1.53.0
The C based gRPC (C++, Python, Ruby, Objective-C, PHP, C#)
⭐️ 37,419
🕓 4 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.
Release v1.53.0
5 days ago
This is release 1.53.0 ([glockenspiel](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 --- - xDS: fix crash when removing the last endpoint from the last locality in weighted_target. ([#32592](https://github.com/grpc/grpc/pull/32592)) - filter stack: pass peer name up via recv_initial_metadata batch. ([#31933](https://github.com/grpc/grpc/pull/31933)) - [EventEngine] Add advice against blocking work in callbacks. ([#32397](https://github.com/grpc/grpc/pull/32397)) - [http2] Dont drop connections on metadata limit exceeded. ([#32309](https://github.com/grpc/grpc/pull/32309)) - xDS: reject aggregate cluster with empty cluster list. ([#32238](https://github.com/grpc/grpc/pull/32238)) - Fix Python epoll1 Fork Support. ([#32196](https://github.com/grpc/grpc/pull/32196)) - server: introduce ServerMetricRecorder API and move per-call reporting from a C++ interceptor to a C-core filter. ([#32106](https://github.com/grpc/grpc/pull/32106)) - [EventEngine] Add invalid handle types to the public API. ([#32202](https://github.com/grpc/grpc/pull/32202)) - [EventEngine] Refactoring the EventEngine Test Suite: Part 1. ([#32127](https://github.com/grpc/grpc/pull/32127)) - xDS: fix WeightedClusters total weight handling. ([#32134](https://github.com/grpc/grpc/pull/32134)) C++ --- - Update minimum MSVC version to 2019. ([#32615](https://github.com/grpc/grpc/pull/32615)) - Use CMake variables for paths in pkg-config files. ([#31671](https://github.com/grpc/grpc/pull/31671)) C# --- - Grpc.Tools: Use x86 protoc binaries on arm64 Windows. ([#32017](https://github.com/grpc/grpc/pull/32017)) Python --- - Support python 3.11 on aarch64. ([#32270](https://github.com/grpc/grpc/pull/32270)) - Include .pyi file. ([#32268](https://github.com/grpc/grpc/pull/32268)) - De-experimentalize wait-for-ready. ([#32143](https://github.com/grpc/grpc/pull/32143)) - De-experimentalize compression. ([#32138](https://github.com/grpc/grpc/pull/32138)) Ruby --- - [ruby]: add pre-compiled binaries for ruby 3.2; drop them for ruby 2.6. ([#32089](https://github.com/grpc/grpc/pull/32089))
Release v1.53.0-pre2
2 weeks ago
This is a prerelease of gRPC Core 1.53.0 (glockenspiel). 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.47.5
3 weeks ago
This is release 1.47.5 ([gridman](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 a Python-only patch to release universal2 Mac OS artifacts compatible with both x86 and arm64. Python --- - Backport of #31747 to v1.47.x (Build native MacOS arm64 artifacts (universal2)) ([#32446](https://github.com/grpc/grpc/pull/32446))
Release v1.53.0-pre1
4 weeks ago
This is a prerelease of gRPC Core 1.53.0 (glockenspiel). 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.51.3
4 weeks ago
This is release gRPC Core 1.51.3 (galaxy). For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases). This release is a Python-only patch to release universal2 Mac OS artifacts compatible with both x86 and arm64. Python --- - Backport of #31747 to v1.51.x (Build native MacOS arm64 artifacts (universal2)) ([#32424](https://github.com/grpc/grpc/pull/32424))
Release v1.52.1
5 weeks ago
This is release 1.52.1 ([gribkoff](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 --- - Upgraded Boring SSL to address [CVE-2023-0286](https://www.openssl.org/news/secadv/20230207.txt) (#32353)
Release v1.51.2
5 weeks ago
This is release gRPC Core 1.51.2 (galaxy). 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 --- - Upgraded Boring SSL to address [CVE-2023-0286](https://www.openssl.org/news/secadv/20230207.txt) (#32353)
Release v1.50.2
5 weeks ago
This is release gRPC Core 1.50.2 (galley). 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 --- - Upgraded Boring SSL to address [CVE-2023-0286](https://www.openssl.org/news/secadv/20230207.txt) (#32353)
Release v1.49.3
5 weeks ago
This is release 1.49.3 ([gamma](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 --- - Upgraded Boring SSL to address [CVE-2023-0286](https://www.openssl.org/news/secadv/20230207.txt) (#32353)
Release v1.48.4
5 weeks ago
This is release 1.48.4 ([garum](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 --- - Upgraded Boring SSL to address [CVE-2023-0286](https://www.openssl.org/news/secadv/20230207.txt) (#32353)
fastlane/fastlane watchbuild/0.1.4
🚀 The easiest way to automate building and releasing your iOS and Android apps
⭐️ 36,782
🕓 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.
2.212.1 Fix for Apple ID lockout and Access Forbidden with new hashcash header
4 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
5 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
19 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
26 weeks ago
* [pilot][deliver] Fix how to encode base64 p8 key on deliver and pilot (#20669) via freddi(Yuki Aki) (@freddi-kit)
2.210.0 Improvements
27 weeks ago
* [deliver][pilot] use altool instead of using iTMSTransporter for Xcode 14 (#20631) via freddi(Yuki Aki) (@freddi-kit) * [docs][run_tests] fix typo and improve phrasing of documentation (#20585) via Roger Oba (@rogerluan)
2.209.1 Improvements
31 weeks ago
* [fastlane_core] install all Apple WWDR Intermediate Certificates (#20537) via Tony Li (@crazytonyli) * [Fastlane.swift] the word phrasing used has been standardized. (#20543) via Yusuke Arakawa (@nekolaboratory) * [spaceship] ignoring case sensitive when requesting SMS (#20436) via harrimaatta (@harrimaatta)
2.209.0 Improvements
32 weeks ago
* [deliver] fix typo caused by string concatenation (#20531) via Roger Oba (@rogerluan) * [frameit] faceook.design moved to design.facebook.com (#20513) via Guglielmo Faglioni (@guidev) * [match][sigh][cert] added checking hash of installed wwdr certificates (#20507) via grey442 (@grey442) * [action] adding no overwrite and local only options to the pod repo push command (#20455) via polmum (@polmum) * [core] fix unescaped \ (#20508) via Arthur Baars (@aibaars) * [action][tests] don't create keychain files in lazy manner (#20478) via Bartosz Nowak (@DuMaM) * [pilot] app_version and app_build should not be fetched from a local IPA or PKG when distribute_only is set (#20488) via Colin Tremblay (@tremblay) * [match] suppress null byte message (#20497) via Aaron Brager (@getaaron)
2.208.0 Improvements
35 weeks ago
* [spaceship] fix `fastlane init` and temporarily retrofitting `Spaceship::Tunes::Application.find` (#20480) via Josh Holtz (@joshdholtz) * [match][sigh] prefer default keychain during wwdr cert installation (#20448) via Bartosz Nowak (@DuMaM) * [match][sigh] fix access to certs installed by fastlane tools for productsign command for macOS (#20474) via Bartosz Nowak (@DuMaM) * [match] extract the certificate name from provisioning profiles (#20187) via Tejas Sharma (@tejassharma96) * [action][changelog_from_git_commits] fix description for documentation (#20430) via Mathijs Bernson (@mbernson) * [snapshot] use empty string to blank out operator name by default (#20429) via Zev Eisenberg (@ZevEisenberg) * [trainer] fix ERB.new() deprecation warnings (#20440) via Philipp Wallisch (@wallisch) * [match] fixes set up bugs when using GitLab Secure Files as a Match storage backend (#20452) via Darby Frey (@darbyfrey)
2.207.0 Many Improvements and Dropping Ruby 2.5 Support
38 weeks ago
* [match] add profile_type filtering when checking if profile exists (#20311) via Paul Taykalo (@PaulTaykalo) * [deliver] update deliver/runner.rb to handle both ipa and pkg paths. (#20043) via Stefan Natchev (@snatchev) * [match] add imports, fix linting errors, rename env variable (#20418) via Josh Holtz (@joshdholtz) * [spaceship] allow for removing app from sale by updating territories (#20324) via Lukasz Grabowski (@lucgrabowski) * [sigh][match][spaceship] add missing inhouse to mac profile types (#20353) via Bartosz Nowak (@DuMaM) * [Fastlane.swift] show http error message from AppStore (#20397) via Julian Kalinowski (@kalinjul) * [match] adding support for GitLab Secure Files as a Match storage mode (#20386) via Darby Frey (@darbyfrey) * [match] improve Match::CommandsGenerator's decrypt option unit test (#20395) via Manish Rathi (@crazymanish) * [match] added Match::CommandsGenerator's import option unit test (#20396) via Manish Rathi (@crazymanish) * [fastlane-core][scan] added destination param support inside the `xcodebuild` command (#20399) via Manish Rathi (@crazymanish) * [pilot] added the Pilot::TesterExporter class unit tests (#20394) via Manish Rathi (@crazymanish) * [frameit] add Device Google Pixel 5 (#20389) via Denis Andrašec (@denrase) * [action][update_info_plist] improve the plist file-path option validation check (#20356) via Manish Rathi (@crazymanish) * [match] specify s3 object prefix (#20344) via Hiroshi Ishihara (@iaia) * [snapshot] Add missing iPod touch to Generated Snapshot Reports (#20337) via Kyle Howells (@kylehowells) * [Ruby] Ruby 2.6 is now the minimum (dropping Ruby 2.5) (#20413) via Josh Holtz (@joshdholtz) * [gem] update rack due to security alert from dependabot (#20339) via Lukasz Grabowski (@lucgrabowski) * [fastlane] allow overriding the architecture to run xcodebuild under (#20323) via Manu Wallner (@milch)
2.206.2 Improvements
43 weeks ago
* [Fastlane.swift] fix compile issue with argumentProcessor (#20318) via Josh Holtz (@joshdholtz) * [Fastlane.Swift] Use ArgumentProcessor port to start fastlane socket_server (#20176) via Sven Tiigi (@SvenTiigi) * [pem] fixed "\x82" from ASCII-8BIT to UTF-8 when saving .p12 files to disk (#20317) via Roger Oba (@rogerluan) * [fastlane] fix a grammatical mistake when prompting which lane to run (#20307) via kamimi01 (@kamimi01) * [fastlane][tests] add tests for CLIToolsDistributor (#20315) via Lukasz Grabowski (@lucgrabowski)
AFNetworking/AFNetworking 4.0.1
A delightful networking framework for iOS, macOS, watchOS, and tvOS.
⭐️ 33,344
🕓 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.
Fixes and Updates
2 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
2 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
4 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
6 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.
⭐️ 26,568
🕓 27 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.
v4.1.0
27 weeks 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
43 weeks 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
2 years ago
Xcode 12 support
v3.5.0 Release
2 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
3 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
3.2.1
4 years ago
- Addresses crashes due to out of bounds exception when using stack bar charts - Updates podspec to use new swift version property
iOS macOS tvOS
SDWebImage/SDWebImage 5.15.5
Asynchronous image downloader with cache support as a UIImageView category
⭐️ 24,536
🕓 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.15.5 - Fix
3 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
4 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
5.15.3 - Promotion Fix
5 weeks ago
See [all tickets marked for the 5.15.3 release](https://github.com/SDWebImage/SDWebImage/milestone/111) ### Fixes - Fix the issue when multiple request for same url failed, the completedBlock will callback more times #3497 #3493 - Try to fix the SDAnimatedImageView playback speed issue in Promotion devices (iPhone Pro) #3496 #3491
5.15.2 - Race Condition Fix
6 weeks ago
See [all tickets marked for the 5.15.2 release](https://github.com/SDWebImage/SDWebImage/milestone/110) ### Fixes - Fix the atomic logic between downloader and operation again #3483 ### Warnings - Code garden to change Objc bool from true/false to YES/NO #3484
5.15.1 - Race Condition Fix
7 weeks ago
See [all tickets marked for the 5.15.1 release](https://github.com/SDWebImage/SDWebImage/milestone/109) ### Fixes - Ensure the Downloader and DownloaderOperation callback the completion in atomic and never miss one #3477 - - This fix a long-term issue when multiple download request for same URL at the same time, some callbacks will missing. After fix, this will cause a brand new HTTP request but never miss any callbacks. - Fix the issue the fallback logic of ImageIO Source should avoid passing any UTI hint #3473 - Try to fix the SDAsyncBlockOperation's race condition #3479 #3275 - Avoid compiler generate the wrong property attribute with non-atomic #3474 ### Performance - Remove the unused extra copy for SDAnimatedImage data initializer #3480
5.15.0 - Performance Enhancement
9 weeks ago
See [all tickets marked for the 5.15.0 release](https://github.com/SDWebImage/SDWebImage/milestone/108) ### Features #### Encoder - Added encodeWithFrames API for animation encoding in custom coder, better for usage #3469 - - Previously you have to wrap `SDImageFrame` array into temp image object for encoding, this cause wrap/unwrap performance cost (even bad on macOS because it implicit triggers temp GIF encoding). Now you can directly pass it into new `encodedDataWithFrames:` APIs. #### Decoder - Update the decode solution to allows CoreGraphics avoid using any UIKit method #3468 #### Cache - Seperate the SDImageCache encode queue and IO queue to match waitStoreCache behavior #3466 - - Now, the encode process does not block IO queue and query disk cache faster. Previously `SDWebImageWaitStoreCache` is useless when you use transformer or cache serializer. Now you MUST pass this if you want to query disk cache inside completionBlock. #### Manager/Cache/Loader - Added context option callbackQueue and SDCallbackQueue wrapper for advanced user to control which queue to callback #3465 #3457 - - If you want SDWebImage callback your completion in current non-main queue, pass `.context[.callbackQueue] = SDCallbackQueue.current` - Added SDWebImageContextImageEncodeOptions to pass encode options like compression quality to SDImageCache storeImage API #3466 - - The re-encode and store cache logic happens if you use transformer or custom cache serializer, now you can pass the encode options.
5.14.3 - 5.14 Opt
12 weeks ago
See [all tickets marked for the 5.14.3 release](https://github.com/SDWebImage/SDWebImage/milestone/106) ### Performance - Added ioQueueAttributes to use concurrent or control QoS for image cache internal IO Queue #3460 - When frame timestamp not reached, we should prefetch frame in advance for image render #3452 ### Fixes - Fix the iOS 15+ force-decode hack break Apple's HEIF and JPEG YUV420 optimization #3461 - The poster image should not trigger a frameChange callback #3459
5.14.2 - 5.14 Fix
19 weeks ago
See [all tickets marked for the 5.14.2 release](https://github.com/SDWebImage/SDWebImage/milestone/105) ### Fixes - Move the `SD_CHECK_CGIMAGE_RETAIN_SOURCE` assertion to SDWebImage Demo and Tests only #3443 #3442 #3441
5.14.1 - 5.14 Crash Fix
19 weeks ago
See [all tickets marked for the 5.14.1 release](https://github.com/SDWebImage/SDWebImage/milestone/104) ### Fixes - Fix the iOS 12 crash because the underlyingQueue is nil #3434 #3433 - Fix the missing lock for callbackTokens which may cause thread-safe issue #3439 #3438 - Use CoreGraphics to decode PDF instead of ImageIO to solve iOS 16's issue #3436
5.14.0 - Meet DecodeOptions
19 weeks ago
See [all tickets marked for the 5.14.0 release](https://github.com/SDWebImage/SDWebImage/milestone/102) ### Behavior Changes - Introduce `SDWebImageContextImageDecodeOptions`, deprecate `SDImageCoderWebImageContext` #3421 - - Note the deprecated `SDImageCoderWebImageContext` is no longer used. Update your codebase to use `SDWebImageContextImageDecodeOptions` to pass extra information from manager to coder. Loaded image will also store the same information in `image.sd_decodeOptions` - Refactor the hack when multiple different thumbnail image requests for same url called at the same time #3423 - - Now the SDWebImageDownloader can callback each thumbnail request for same url with the correct image size as well (previously can't) - - Now if manager's callback image is thumbnail (`image.sd_isThumbnail == YES`), or transformed (`image.sd_isTransformed == YES`), the callback data will be nil. This because the image does not match downloaded data actually. If you really need original full size data, query the disk cache again using the original key. You may need `SDWebImageWaitStoreCache` options as well. (previously behavior is undefined, may callback with full size data, or encoded small size data, or even nil) ### Features #### Coder - Support use url.path or custom UTI hint passed to ImageIO, solve the TIFF/NEF/SRW raw image decoding with wrong size #3419 - - Note from 5.14.0, we may pass the file extension to coder as a UTI hint - Added `SDImageCoderDecodeUseLazyDecoding` to control whether to use lazy-decoding for ImageIO #3425 - - Note from 5.14.0, by default we enable lazy decoding for static image coder, disable lazy decoding for animated image coder, suitable for most cases. If you want, pass `.decodeUseLazyDecoding = YES` to context option `.imageDecodeOptions` ### Performance - Introduce new workaround to strip CGImage retained CGImageSource on iOS 15 #3425 #3387 - - Note this also fix the limitation that you can not use lazy-decoding for animated image on iOS 15+. Pass `.decodeUseLazyDecoding = YES` to context option `.imageDecodeOptions` - Replace conformsToProtocol call with appropriate respondsToSelector check to improve performance #3429 Thanks @timonus - Fix del redundant autoreleasepool #3388 Thanks @dongranGG ### Fixes - Avoid store again when origin disk cache hit during Thumbnail or Transformer with smaller pixel size #3428 #3395 - Add the possible nullable logic check when the force-decode/copy failed #3427
iOS macOS watchOS tvOS
airbnb/lottie-ios 4.1.3
An iOS library to natively render After Effects vector animations
⭐️ 23,836
🕓 5 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.
4.1.3
5 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
9 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
9 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
9 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
15 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
15 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
3.5.0
24 weeks ago
> **Note**: Lottie 3.4.0 added a new rendering engine powered by Core Animation. Please try it out and let us know if you encounter any issues! It will be enabled by default in Lottie 4.0, which we plan on releasing later this month. More information is available in this announcement: https://github.com/airbnb/lottie-ios/discussions/1627 ### Lottie 3.5.0 This version renames several public types, to resolve conflicts with types in Apple frameworks (https://github.com/airbnb/lottie-ios/issues/1420): - `Lottie.Animation` has been renamed to `LottieAnimation`, to resolve a conflict with [`SwiftUI.Animation`](https://developer.apple.com/documentation/swiftui/animation) - `Lottie.Color` has been renamed to `LottieColor`, to resolve a conflict with [`SwiftUI.Color`](https://developer.apple.com/documentation/swiftui/color) - `Lottie.Vector3D` has been renamed to `LottieVector3D`, to resolve a conflict with [`Spatial.Vector3D`](https://developer.apple.com/documentation/spatial/vector3d?changes=latest_major) For consistency with these new names, we have also renamed the following public types: - `Lottie.AnimationView` has been renamed to `LottieAnimationView` - `Lottie.Vector1D` has been renamed to `LottieVector1D` - `Lottie.Vector2D` has been renamed to `LottieVector2D`. For backwards compatibility Lottie 3.5.0 includes `typealias`es for the old names, which map to the new names. These `typealias`es are marked as deprecated and include fix-its to update call-sites to the new name. ### Lottie 4.0 We plan on releasing **Lottie 4.0** in the next few weeks. In Lottie 4.0 we will remove the compatibility typealiases (for `Animation`, `AnimationView`, `Color`, etc) , so code using the old names will no longer compile. This will resolve the naming conflicts with SwiftUI types. Consider updating to Lottie 3.5.0 first, applying the fix-its recommended by the deprecation warnings, and then update to Lottie 4.0 once it is released (Lottie 4.0 will no longer include deprecation warnings with fix-its). Thank you for bearing with us through this transition process! Lottie 4.0 will also make the new Core Animation rendering engine ([added in Lottie 3.4.0](https://github.com/airbnb/lottie-ios/discussions/1627)) the default rendering engine option. As mentioned above, please try out the new rendering engine if you haven't yet and let us know if you encounter any issues! We've been hard at work fixing issues reported by the community. ### Known issues If your application has a storyboard that references `AnimationView`, it may crash when using Lottie 3.5.0 (https://github.com/airbnb/lottie-ios/issues/1771). The fix for this issue is to update all references of `AnimationView` to `LottieAnimationView` and update all references of `Animation` to `LottieAnimation`. This should be resolved in Lottie 4.0, where code using the old names will no longer compile.
3.4.4
24 weeks ago
> **Note**: Lottie 3.4.0 added a new rendering engine powered by Core Animation. Please try it out and let us know if you encounter any issues! It will be enabled by default in Lottie 4.0, which we plan on releasing later this month. More information is available in this announcement: https://github.com/airbnb/lottie-ios/discussions/1627 ## What's Changed * Updated Main Thread rendering engine to use `warn` (`print`) instead of `assertionFailure` when detecting unsupported usage of repeaters (https://github.com/airbnb/lottie-ios/pull/1754) * Fixed issue where manually-interpolated shape animations would ignore time remapping (https://github.com/airbnb/lottie-ios/pull/1757) * Added marker duration support (https://github.com/airbnb/lottie-ios/pull/1749) * Updated `animationDidSet` to be `open` (https://github.com/airbnb/lottie-ios/pull/1746) * Updated `AnimatedSwitch` and `AnimatedButton` to allow overrides of begin/end tracking in subclasses (https://github.com/airbnb/lottie-ios/pull/1747) * Added `animateUpdateWhenChangingAnimation` flag to `AnimatedControl` (https://github.com/airbnb/lottie-ios/pull/1750)
3.4.3
30 weeks ago
> **Note**: Lottie 3.4.0 added a new rendering engine powered by Core Animation. Please try it out and let us know if you encounter any issues! It will be enabled by default in a future version of Lottie. More information is available in this announcement: https://github.com/airbnb/lottie-ios/discussions/1627 ## New Features * Updated Core Animation rendering engine to support `TextProvider`s (https://github.com/airbnb/lottie-ios/pull/1723) * Updated Core Animation rendering engine to support time stretch in pre-comp layers (https://github.com/airbnb/lottie-ios/pull/1726) * Updated `Animation.loadedFrom` method to support using a custom `URLSession` (https://github.com/airbnb/lottie-ios/pull/1733) ## Bug fixes * Fixed performance issue with line dash patterns (https://github.com/airbnb/lottie-ios/pull/1736) * Fixed race condition in Core Animation rendering engine's `playbackState` property (https://github.com/airbnb/lottie-ios/pull/1727) * Fixed issue where Core Animation rendering engine would ignore `hidden` flag on some shape items (https://github.com/airbnb/lottie-ios/pull/1728) * Fixed issue where Core Animation rendering engine would ignore `CAGradientLayer` locations / color stops (https://github.com/airbnb/lottie-ios/pull/1734) * Fixed issue where Core Animation rendering engine would not render alpha gradient (https://github.com/airbnb/lottie-ios/pull/1737)
3.4.2
31 weeks ago
> **Note**: Lottie 3.4.0 added a new rendering engine powered by Core Animation. Please try it out and let us know if you encounter any issues! It will be enabled by default in a future version of Lottie. More information is available in this announcement: https://github.com/airbnb/lottie-ios/discussions/1627 ## New features * Added support for Repeater shape items to Core Animation rendering engine (https://github.com/airbnb/lottie-ios/pull/1688) * Added support for inverted matte layers to Core Animation rendering engine (https://github.com/airbnb/lottie-ios/pull/1712) * Added `fillMode` support to `GradientFill` shape items (https://github.com/airbnb/lottie-ios/pull/1702) * Added support for non-integer animation widths/heights (https://github.com/airbnb/lottie-ios/pull/1694) ## Bug fixes * Fixed CocoaPods installation issue by removing `.swift-version` file (https://github.com/airbnb/lottie-ios/pull/1674) * Changeed default behavior when bundle image is not found from `assertionFailure` to `warn` (https://github.com/airbnb/lottie-ios/pull/1680) * Fixed issue where `isAnimationPlaying` would be incorrect when using `LottieLoopMode.playOnce` (https://github.com/airbnb/lottie-ios/pull/1682) * Fixed regression where `InvertedMatteLayer`s wouldn't animate when using Main Thread rendering engine (https://github.com/airbnb/lottie-ios/pull/1684) * Core Animation rendering engine now respects `LayerModel.hidden` and `ShapeItem.hidden` flags (https://github.com/airbnb/lottie-ios/pull/1689) * Fixed where strokes would not appear under certain conditions (https://github.com/airbnb/lottie-ios/pull/1691) * Core Animation rendering engine now supports animating multiple properties of shape bezier paths (https://github.com/airbnb/lottie-ios/pull/1690) * Core Animation rendering engine now correctly Ignores masks with `MaskMode.none` (https://github.com/airbnb/lottie-ios/pull/1693) * Fixed issue where Core Animation engine would render negative stroke offsets incorrectly (https://github.com/airbnb/lottie-ios/pull/1698) * Improved shape fill behavior for overlapping shapes when using Core Animation rendering engine (https://github.com/airbnb/lottie-ios/pull/1699) * Fixed issue that caused text layer descenders to be cut off when using some fonts https://github.com/airbnb/lottie-ios/pull/1697 * `RenderingEngineOption.automatic` now falls back to the Main Thread rendering engine when attempting to apply `Trim` to `Fill` (unsupported by Core Animation rendering engine) (https://github.com/airbnb/lottie-ios/pull/1706) * Fixed bug in `AnimationView.play(fromFrame:toFrame:)` with `fromFrame: nil` (https://github.com/airbnb/lottie-ios/pull/1707) * Fixed issue where some spatial keyframes would be ignored by Core Animation rendering engine (https://github.com/airbnb/lottie-ios/pull/1714) * Fixed issue where certain `AnimationKeypath`s were not applied correctly by Core Animation rendering engine (https://github.com/airbnb/lottie-ios/pull/1715) * Fixed issue where stroke with dash pattern could unexpectedly be rendered as pills instead of circles (https://github.com/airbnb/lottie-ios/pull/1718) * Fixed issue where large `GradientFill` / `GradientStroke` would be cut off when using Core Animation rendering engine (https://github.com/airbnb/lottie-ios/pull/1721)
iOS macOS tvOS
ReactiveX/RxSwift 6.5.0
Reactive Programming in Swift
⭐️ 23,227
🕓 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.
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
1 year ago
Support Xcode 12.5
5.Throwback
1 year 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
ShaiTheBravest
3 years ago
* Reverts Carthage integration from using static to dynamic libraries. #1960 **NOTE**: This release is only relevant to Carthage users (#1960), there are **no code changes** between RxSwift 5.0.0 and 5.0.1.
iOS macOS watchOS tvOS linux macOS iOS
vapor/vapor 4.74.2
💧 A server-side Swift HTTP web framework.
⭐️ 22,635
🕓 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.
Imports fixes
5 days ago
###### _This patch was authored and released by @gwynne._ <!-- 🚀 Thank you for contributing! --> <!-- Describe your changes clearly and use examples if possible. --> <!-- When this PR is merged, the title and body will be --> <!-- used to generate a release automatically. -->
Correctly handle invalid numbers in range validations
1 week ago
###### _This patch was authored by @fred-sch and released by @0xTim._ Previously trying to perform a range validation check on `Float.nan` would cause a `fatalError` - this correctly handles it and throws an error instead. Closes https://github.com/vapor/vapor/issues/2965.
Revert "Add support for asynchronous body stream writing"
2 weeks ago
###### _This patch was authored and released by @gwynne._ We're reverting vapor/vapor#2939, which was accidentally merged early, as a precautionary measure. A new PR will be opened to track this work.
Add support for asynchronous body stream writing
2 weeks ago
###### _This patch was authored and released by @Joannis._ - Fixes #2930 - a crash when users try to write a body from within a task towards the ELF APIs. - Introduces a new API for writing chunked HTTP response bodies - Adds a helper that automatically managed failing and closing streams
Add support for Cache-Control header 'immutable' attribute
2 weeks ago
###### _This patch was authored by @Palleas and released by @0xTim._ Improve parsing of Cache-Control header to parse the `immutable` attribute.
Add 308 Redirect
2 weeks ago
###### _This patch was authored by @NeedleInAJayStack and released by @0xTim._ Adds support for a `308 redirect` to support POST method redirection. This is important because not all user-agents preserve the method and body through a 301 redirect: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/301 `redirect(to:type:)` is now deprecated in favour of `redirect(to:redirectType:)`
Better `DecodingError` description
3 weeks ago
###### _This patch was authored by @MahdiBM and released by @0xTim._ The `DecodingError`'s description, when returned from HTTP requests, was missing some important info and sometimes was not clear enough. Hopefully this PR can resolve that issue.
FileMiddleware redirect option
3 weeks ago
###### _This patch was authored by @NeedleInAJayStack and released by @0xTim._ <!-- 🚀 Thank you for contributing! --> <!-- Describe your changes clearly and use examples if possible. --> Previously, FileMiddleware would just serve the default file when requesting a directory with no trailing slash. This caused rendering issues when the default file loaded additional resources by relative path. This adds an option to either redirect to the url with a trailing slash (fixing rendering issues), or just pass the request through the middleware. The default is set to a redirect to preserve the intended functionality of FileMiddleware <!-- When this PR is merged, the title and body will be --> <!-- used to generate a release automatically. -->
Expose Vapor Request's request-id value, so that it can be passed into logging from other libraries
4 weeks ago
###### _This patch was authored by @Joannis and released by @0xTim._ Exposes the Request's ID as a new property on `Request` as `requestID`. This is useful for any libraries or users who want to be able to trace the request ID through a request handler.
Fix: FileIO headers
8 weeks ago
###### _This patch was authored by @NeedleInAJayStack and released by @Joannis._ <!-- 🚀 Thank you for contributing! --> <!-- Describe your changes clearly and use examples if possible. --> - Adds `Last-Modified` header to file requests - Fixes `ETag` header formatting in file requests: According to [MDN documentation](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/ETag), the `ETag` header should start and end with double-quotes. <!-- When this PR is merged, the title and body will be --> <!-- used to generate a release automatically. -->
iOS macOS watchOS tvOS linux macOS iOS
SwiftyJSON/SwiftyJSON v3.1.1
The better way to deal with JSON data in Swift.
⭐️ 21,839
🕓 4 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.
Swift 5.0
3 years ago
Nothing breaking new API changed. Just cleaning up some warnings in Xcode 10.2. Compatible with Swift 5 and Xcode 10.2.
4.2.0
4 years ago
SwiftyJSON 4.2.0 requires Swift 4.2 compiler and Xcode 10 to build. The minimum requirement of watchOS bumps to watchOS 3.0+. This version removed all deprecated APIs. If you are still using outdated APIs, you should ship with the latest ones.
4.1.0
4 years ago
## Improvements - `Codable` protocol support #923 (Thanks @wleii) - Xcode 9.3 support #951 (Thanks @wongzigii) - Improve string test for boolean value #947 (Thanks @otaviolima) - Update Travis CI to Xcode 9.3 image #954 (Thanks @wongzigii) ## Docs - README improvements #953, #952, #929 and #504 (Thanks @wongzigii, @tomduncalf and @bojanstef)
4.0.0
5 years ago
This is the official release of SwiftyJSON 4.0.0 This version is Swift 4 compatible. We've improved the documentation since 4.0.0-alpha.1.
4.0.0-alpha.1
5 years ago
This is a pre-release version of SwiftyJSON 4.0.0. ## Changes: - (1c5e902 @MikotoZero) Simplify initialize methods invocation. - (a76d81d @craiggrummitt) Fix "double t" spelling mistake, `writtingOptionsKeys` now is `writingOptionsKeys`. - (f9afe96 @wongzigii) **SwiftyJSON now use `throws` for error handling** `init(data, options opt, error)` now is `init(data, options opt) throws`. - (083c6d7 @wongzigii) Use `Swift.Error` type instead of `NSError`, now JSON's error is `SwiftyJSONError` type. ## Improvements: - (619fba2 @wongzigii) SwiftLint compatible. - (1d64b89 @wongzigii) Add GitHub issue and pull request template. - (d932f64 @matthew-an) Fix a potential crash issue by checking whether index is out of json array’s bound. - (e4b2644 @JeffGuKang @Humoud) Documentation improvement and source code gardening. - (#887 @Taillook, @hitendradeveloper, @Harshit31) Add "yes" and "1" to string.boolValue array ## Thank @JackSteven, @mictab, @neoneye, @Tawfikk and others who helped review the pull requests and contribute to the documentations. 🎉 🎉
3.1.4
6 years ago
This release includes new features and shouldn’t break backwards compatibility with SwiftyJSON 3.1.3. ## Fixes: - Check for pre-escaped URLs to prevent double-escaping of % character. (#678 Thanks @dawvee) - Fix an unexpected behavior when passing Int8 type number into JSON. (#717 Thanks @SumoSimo) - Resolve a warning about expression implicitly coerced from 'String?' to Any in Swift 3.0.1. (#729 Thanks @ldiqual) - Swift 3.0.2 / Xcode 8.2 compatible. (#764 Thanks @lbrndnr) ## New Features: - Add a flag `castNilToNSNull` to json rawString for converting nil to NSNull. (#610 Thanks @gsabran) - Add a function to deep merge a JSON object into another JSON object. See [Merging](https://github.com/SwiftyJSON/SwiftyJSON#merging) (#725 Thanks @danielkiedrowski) - JSON constructors are more explicit now: `init(object: Any)` becomes: `init(_ object: Any)`. (#664 Thanks @MadsBogeskov) ## Documentation improvement: (Thanks all: @cwkatzmann, @victorlin, @looseyi, @takasek and @naeemshaikh90)
3.1.0
6 years ago
Here are a list of changed made into 3.1 release. https://github.com/SwiftyJSON/SwiftyJSON/pulls?q=is%3Apr+milestone%3A3.1+is%3Aclosed

New Releases

tjlabs/jupiter-sdk-spm 1.11.26
JupiterSDK for Swift Package Manager
⭐️ 0
🕓 1 minute ago
iOS
SourcePointUSA/ios-cmp-app V3.0.0
The Plug&Play Consent Management Tool for iOS
⭐️ 19
🕓 13 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.
7.0.3
3 days ago
# 7.0.3 (Mar, 23, 2023) * Fixed an issue leading to abnormal "page views" reporting on Sourcepoint's dashboard. [DIA-1964](https://sourcepoint.atlassian.net/browse/DIA-1964) * Fixed an issue causing scenarios that included "Show Message Once" to not work. [#420](https://github.com/SourcePointUSA/ios-cmp-app/pull/420) [DIA-1915](https://sourcepoint.atlassian.net/browse/DIA-1915)
7.0.2
4 weeks ago
# 7.0.2 (Feb, 24, 2023) * Fixed an issue with our linting config preventing our CI from pointing out force unwrapping * Removed all forced unwraps from the SDK's code * Fixed an issue that would in some cases cause the app to crash [#416](https://github.com/SourcePointUSA/ios-cmp-app/pull/416) [DIA-1842](https://sourcepoint.atlassian.net/browse/DIA-1842) ⚠️ Deployment target 10 is no longer supported by XCode and global usage of iOS 10 and below is very low. We are strongly considering bumping the iOS deployment target from 10 to 11 in the next minor release.
7.0.1
6 weeks ago
# 7.0.1 (Feb, 08, 2023) * [DIA-1770](https://sourcepoint.atlassian.net/browse/DIA-1770) Fixed an issue preventing the SDK from overwriting the language setting of the 1st layer message. [#414](https://github.com/SourcePointUSA/ios-cmp-app/pull/414) * [DIA-1694](https://sourcepoint.atlassian.net/browse/DIA-1694) Fixed an issue that would cause some users of a CCPA campaign to have their data reset after taking a consent action. [#413](https://github.com/SourcePointUSA/ios-cmp-app/pull/413) * [DIA-1789](https://sourcepoint.atlassian.net/browse/DIA-1789) Fixed an issue that would cause CCPA campaigns without message to result in empty consent object. [#415](https://github.com/SourcePointUSA/ios-cmp-app/pull/415)
6.7.4
8 weeks ago
# 6.7.4 (Jan, 26, 2023) * Fixed an issue causing the ccpa applies flag to erroneously switch to `true` after interacting with the privacy manager. * Fixed an issue causing the SDK to call the error callback for certain CCPA users if their consent status was unknown. * Improved and expanded unit tests
7.0.0
9 weeks ago
# 7.0.0 (Jan, 20, 2023) We have rewritten the network layer of the SDK almost in its entirety. Version 7 of the SDK uses new, "CDNed", heavily cached endpoints and, as a result, it is now faster and less affected by service outages. On top of that, we expanded our suit of tests as well as re-rewritten the majority of our UI specs to run faster and be less prone to "test flakiness". ## Migrating from version 6.x.y We worked hard to keep the public API as close as possible to the previous version in order to keep your migration effort to a minimum. ```diff SPConsentManager( accountId: 123, + propertyId: 123 propertyName: try! SPPropertyName("myPropertyName"), - campaignsEnv: .Public, // optional - Public by default campaigns: SPCampaigns( gdpr: SPCampaign(), // optional ccpa: SPCampaign(), // optional ios14: SPCampaign(), // optional + environment: .Public // optional - .Public by default ), delegate: self ) ``` And that's it! **Notice:** the internal data structure kept by the SDK in the `UserDefaults` has changed. If your app relied on data that was not publicly available through the `SPDelegate` protocol, you might face some issues. That does not impact the data described by the [TCF spec](https://github.com/InteractiveAdvertisingBureau/GDPR-Transparency-and-Consent-Framework/blob/master/TCFv2/IAB%20Tech%20Lab%20-%20CMP%20API%20v2.md#in-app-details) (ie. data keyed and prefixed by `IABTCF_`). ⚠️ We are currently working on supporting TvOS in the next patch release. In other words, if you use our TvOS product, you should not upgrade to version 7.0.0 just yet.
6.7.3
14 weeks ago
# 6.7.3 (Dec, 16, 2022) * Fixed layout issues in the CCPA Native PM for TvOS when the message had less buttons than expected in the default UI. [#401](https://github.com/SourcePointUSA/ios-cmp-app/pull/401), [#397](https://github.com/SourcePointUSA/ios-cmp-app/pull/397) * Fixed an issue preventing the "Do not sell information" button in the CCPA Native PM - from working as expected [#400](https://github.com/SourcePointUSA/ios-cmp-app/pull/400) * Improved documentation and UI testing on TvOS * 🎄
6.7.2
21 weeks ago
# 6.7.2 (Oct, 26, 2022) * Added support to custom actions coming from the privacy manager. [#391](https://github.com/SourcePointUSA/ios-cmp-app/pull/391)
6.7.0
36 weeks ago
# 6.7.0 (14, 07, 2022) * Implemented `deleteCustomConsentTo` method. Now you're able to remove consent to custom vendors, purposes and legitimate interest purposes using that method. It works similarly to the `customConsentTo` method. For more info, please refer to [this section](https://github.com/SourcePointUSA/ios-cmp-app#adding-or-removing-custom-consents) of the README. * Added support to privacy manager from property groups. You can now pass a property pm id to `SPCampaign` constructor. For more info check [this section](https://github.com/SourcePointUSA/ios-cmp-app#set-a-privacy-manager-id-for-the-property-group) of the README. * Several testing and QA improvements.
6.6.0
46 weeks ago
# 6.6.0 (May, 06, 2022) * Improved support to [property groups](https://documentation.sourcepoint.com/consent_mp/properties-and-property-groups/property-groups/property-group-overview#property-group-limitations) and privacy manager belonging to property groups. For an example on how to use a privacy manager belonging to a a property group, please refer to the README.
6.5.1
50 weeks ago
# 6.5.1 (Apr, 07, 2022) We have received a lot of valuable feedback from you and we listened. This release is all about fixing and improving our TvOS UI and layout including: * removing Sourcepoint's placeholder logo * fixing an issue that made the header button difficult to see * removing unnecessary texts * improving on the 1st screen description when the text was too long to fit its container * drastically improving the buttons aesthetics <img width="448" alt="Screenshot 2022-04-07 at 13 07 01" src="https://user-images.githubusercontent.com/228650/162185700-548ea979-0aab-4e06-a4fe-fdf0ec038be3.png"><img width="448" alt="Screenshot 2022-04-07 at 13 05 08" src="https://user-images.githubusercontent.com/228650/162185665-4fb76508-acdc-4066-be96-2e7654b3c4bc.png">
iOS
Cleverlance/SwiftTools 2.2.0
Tools for mantaining iOS/iPadOS/macOS/watchOS/tvOS project. Everything is in Swift.
⭐️ 4
🕓 41 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.
2.1.0
6 days ago
## What's Changed * Update swift format by @raptorxcz in https://github.com/Cleverlance/SwiftTools/pull/42 **Full Changelog**: https://github.com/Cleverlance/SwiftTools/compare/2.0.1...2.1.0
2.0.1
3 weeks ago
## What's Changed * Fix errors description by @raptorxcz in https://github.com/Cleverlance/SwiftTools/pull/41 **Full Changelog**: https://github.com/Cleverlance/SwiftTools/compare/2.0.0...2.0.1
2.0.0
5 weeks ago
## What's Changed * Update SwiftFormat by @libec in https://github.com/Cleverlance/SwiftTools/pull/40 ## New Contributors * @libec made their first contribution in https://github.com/Cleverlance/SwiftTools/pull/40 **Full Changelog**: https://github.com/Cleverlance/SwiftTools/compare/1.12.3...2.0.0
1.12.3
25 weeks ago
## What's Changed * Fix device id parsing by @raptorxcz in https://github.com/Cleverlance/SwiftTools/pull/39 **Full Changelog**: https://github.com/Cleverlance/SwiftTools/compare/1.12.2...1.12.3
1.12.2
29 weeks ago
## What's Changed * Fix simulator selecting in Xcode 14 by @raptorxcz in https://github.com/Cleverlance/SwiftTools/pull/38 **Full Changelog**: https://github.com/Cleverlance/SwiftTools/compare/1.12.1...1.12.2
Bugfix
39 weeks ago
## What's Changed * Fix release branche order by @raptorxcz in https://github.com/Cleverlance/SwiftTools/pull/37 **Full Changelog**: https://github.com/Cleverlance/SwiftTools/compare/1.12.0...1.12.1
1.12.0
48 weeks ago
## What's Changed * Add git current name by @janhalousek in https://github.com/Cleverlance/SwiftTools/pull/36 **Full Changelog**: https://github.com/Cleverlance/SwiftTools/compare/1.11.0...1.12.0
1.11.0
48 weeks ago
## What's Changed * Add test with log by @janhalousek in https://github.com/Cleverlance/SwiftTools/pull/35 **Full Changelog**: https://github.com/Cleverlance/SwiftTools/compare/1.10.0...1.11.0
1.10.0
48 weeks ago
## What's Changed * Add slack error converter by @janhalousek in https://github.com/Cleverlance/SwiftTools/pull/34 **Full Changelog**: https://github.com/Cleverlance/SwiftTools/compare/1.9.0...1.10.0
1.9.0
49 weeks ago
## What's Changed * Add build log by @janhalousek in https://github.com/Cleverlance/SwiftTools/pull/33 **Full Changelog**: https://github.com/Cleverlance/SwiftTools/compare/1.8.0...1.9.0
macOS
Cosync/CosyncJWTSwift 1.1.8
CosyncJWT Swift Bindings
⭐️ 0
🕓 47 minutes ago
iOS macOS tvOS
Couriere/UIExtensions 1.11.1
Convenience extensions to UIKit and Foundation classes.
⭐️ 4
🕓 48 minutes ago
iOS macOS tvOS
maps-mailru/maps-sdk-ios 1.0.122
Библиотека карт для iOS
⭐️ 2
🕓 49 minutes ago
iOS
SighticAnalytics/sightic-sdk-ios 1.3.0
iOS SDK by Sightic
⭐️ 1
🕓 49 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.
1.3.0
12 hours ago
- In the face alignment view, the vignette now only appears if the ambient light intensity is low. - In the face alignment view, the the static face is displayed even when the user's face is not being tracked.
1.2.0
1 week ago
* Use red instead of white face mesh during alignment of app user face. * Add new flag `includeFakeTest` to `SighticInferenceView`. * `includeFakeTest` states whether to show a moving dot forming a circle in the lower part of the screen at the beginning of the test sequence. The purpose is to make the app user aware of that the test has started. This part of the test sequence is not recorded. The flag is optional with default value set to false. * Remove landscape mode check. This check triggered when phone was in portrait mode on some occasions during testing. We will probably reintroduce this check in a later version of the SDK. * Relax eye open requirement during test but make it stricter during alignment. * Background. The SDK requires the app user eyes to be opened during the test. Sometimes the SDK complains about eyes not opened even though app user perceives their eyes to be open. We relax the requirement slightly during the test but also make it a bit stricter during the alignment. * `SighticStatus` enum has a new case named `fakeTest`.
1.1.0-beta.1
2 weeks ago
Make the white static face mesh in alignment view slightly larger to entice the app user to move the phone closer to their face.
1.1.0
2 weeks ago
Make the white static face mesh in alignment view slightly larger to entice the app user to move the phone closer to their face.
1.0.0
3 weeks ago
- Adds public and customizable `SighticInstructionView` for integrating test instruction graphics into any other view.
0.6.1
3 weeks ago
- Built with iOS 14 as minimum deployment target. This means it is possible for an app targeting iOS 14 to link with the Sightic SDK framework, but most exposed functionality still require iOS 15. - Adds the following cases to `SighticRecordingError`: - `noCameraPermission` indicating that the user has not granted camera permission - `deviceStationary` indicating that the device was likely not held in hand - Adds the following case to `SighticAlignmentStatus`: - `notPortraitOrientation` indicating that the user is not using their device in portrait orientation - Changes all cases in `SighticHeadTilt` to follow Swift camelCase standard - Adds the following property to the `SighticStrings` protocol: - `alignRotateToPortrait` telling the user to hold the device in upright orientation - Fixes to dark mode appearance
1.0.0-beta.3
4 weeks ago
⚠️**For testing only!** ⚠️ This release should not be used for anything other than internal testing.
1.0.0-beta.2
4 weeks ago
⚠️**For testing only!** ⚠️ This release should not be used for anything other than internal testing.
1.0.0-beta.1
4 weeks ago
⚠️**For testing only!** ⚠️ This release should not be used for anything other than internal testing.
0.5.0
4 weeks ago
- Adds a white "vignette" around the edge of the display during the alignment phase, to improve performance in poorly lit environments - Adds a check during test to ensure the user is not talking, and if so, fails the test with status `talking` - Changes the screens in the instruction view - Adds an instruction screen telling the user not to talk during the test - Removes the instruction screen telling the user to keep their head inside a circle on the screen - Removes the instruction screen telling the user to hold the phone within a maximum distance - Changes the `SighticStrings` protocol, by - adding: - `instructionButtonNext` - `instructionButtonStart` - `instructionDoNotTalk` - and removing: - `instructionDistanceFromFaceToPhone` - `instructionFaceInsideCircle` - Adds the following cases to `SighticRecordingError`: - `fpsLowTempHigh` indicating that the phone is too warm to perform the test - `talking` indicating that the user was talking during the test - Moves the API for sending feedback from `SighticInferenceRecording` to `SighticInference` - Removes the API `SighticVersion.sdkVersions()` - Renames the enum value `SighticAlignmentStatus.blink` to `SighticAlignmentStatus.eyesTooClosed` - Changes API for supported devices from a factory function to a simple init - Adds an option to allow the server to save the input data when calling `performInference()`
iOS
EFPrefix/EFFoundation 1.6.0
Swift Extensions.
⭐️ 7
🕓 51 minutes ago
iOS macOS watchOS tvOS
nathantannar4/Engine 0.1.7
Engine makes it easier to create idiomatic APIs and Views that feel natural in SwiftUI without sacrificing performance
⭐️ 36
🕓 1 hour 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.1.7
10 hours ago
- Fix build on Xcode 14.3 RC
0.1.6
6 weeks ago
- Fix binary symlink for Catalyst/macOS
8 weeks ago
- Bug fixes
0.1.4
9 weeks ago
- Optimizations and Improvements - Improved MultiView/VariadicView support - Adds `VersionedProperty` to aide with backwards compatibility.
0.1.3
14 weeks ago
- `EngineCore` Performance Fixes
0.1.2
15 weeks ago
- Adds a `MultiViewAdapter` and a `TupleViewVisitor`
0.1.1
16 weeks ago
Revise `UserInterfaceIdiomContent`/`UserInterfaceIdiomModifier` to have a watchOS body and remove tvOS body
0.1.0 Initial Release
18 weeks ago
iOS macOS watchOS tvOS macCatalyst
roam-ai/roam-ios 0.1.10
iOS Location SDK. High accuracy and battery efficient location SDK for iOS by Roam.ai
⭐️ 11
🕓 1 hour 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.1.10
12 hours ago
- Added a few support for new error codes and messages on the `didError` delegate.
0.1.9
1 week ago
- Fixed a number of crashes that occurred while tracking in specific scenarios, improving the overall stability of the SDK. - Cleared console warnings to improve the developer experience. - Improved user subscription process for a smoother and more streamlined experience. - Improved location tracking logic to improve the accuracy and reliability of the SDK. - Overall performance and stability of the SDK have been improved.
0.1.8
4 weeks ago
- Activity recognition permission issue fixed.
0.1.7
6 weeks ago
In this release, we have made the following improvements to enhance the user experience of our Roam iOS SDK: 1. Activity recognition methods: We have added activity recognition methods to the Roam iOS SDK to provide a more accurate and reliable determination of the user's current activity. This will improve the accuracy of location tracking, especially when the user is in motion. 2. Improved tracking logic: To further improve battery consumption, we have made some changes to our tracking logic. These changes are aimed at ensuring that the Roam SDK is as efficient as possible in terms of energy usage, while still providing accurate location tracking. We are confident that these changes will improve the overall experience of our Roam iOS SDK and we hope you enjoy these enhancements. If you have any questions or concerns, please feel free to reach out to us.
0.1.6
9 weeks ago
- Tweaked the tracking algorithm for efficient battery consumption: We have made changes to our tracking algorithm to optimize battery consumption. The new algorithm is designed to reduce battery usage while maintaining the same level of accuracy and reliability.
0.1.5
9 weeks ago
- Added basic ingest publish topic for AWS cost optimization. - Fixed drift issue for distance-based tracking.
0.0.37
11 weeks ago
- Fixed drift issue for distance-based tracking.
0.1.4
13 weeks ago
Fixed: - Fixed total elevation issue in sync trip.
0.1.3
14 weeks ago
Added: - Added elevation gain parameter to trip listener. - Added speed parameter to location listener. Fixed: - Location calibration when used along with accuracy config and time-based tracking. - Tracking config issue for time-based tracking. - Fixed crash when user received other user location. - Removed blue bar on user logout without stop tracking. - Fixed distance calculation logic for individual route points in RoamTripsSummary.
0.0.36
18 weeks ago
- Added a new `Roam.requestAlwaysAuthorization()` method for location permission control.

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