Swiftpack.co - Search 16,133 Swift Packages

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

Advertisement: IndiePitcher.com - Cold Email Software for Startups

The Best of Last 7 Days

tree-sitter/tree-sitter v0.21.0
An incremental parsing system for programming tools
โญ๏ธ 15,640
๐Ÿ•“ 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.21.0
1 week ago
# Changelog ## [0.21.0] - 2024-02-21 ### Breaking - Remove the apply-all-captures flag, make last-wins precedence the default **NOTE**: This change might cause breakage in your grammar's highlight tests. Just flip the order around of the relevant queries, and keep in mind that the last query that matches will win. ### Features - Use lockfiles to dedup recompilation - Improve error message for files with an unknown grammar path (https://github.com/tree-sitter/tree-sitter/pull/2475) - Implement first-line-regex (https://github.com/tree-sitter/tree-sitter/pull/2479) - Error out if an empty string is in the `extras` array - Allow specifying an external scanner's files (https://github.com/tree-sitter/tree-sitter/pull/3031) - Better error info when a scanner is missing required symbols - **cli**: Add an optional `grammar-path` argument for the playground (https://github.com/tree-sitter/tree-sitter/pull/3014) - **cli**: Add optional `config-path` argument (https://github.com/tree-sitter/tree-sitter/pull/3050) - **loader**: Add more commonly used default parser directories ### Bug Fixes - Prettify xml output and add node position info (https://github.com/tree-sitter/tree-sitter/pull/2970) - Inherited grammar generation - Properly error out when the word property is an invalid rule - Update schema for regex flags (https://github.com/tree-sitter/tree-sitter/pull/3006) - Properly handle Query.matches when filtering out results (https://github.com/tree-sitter/tree-sitter/pull/3013) - Sexp format edge case with quoted closed parenthesis (https://github.com/tree-sitter/tree-sitter/pull/3016) - Always push the default files if there's no `externals` - Don't log NUL characters (https://github.com/tree-sitter/tree-sitter/pull/3037) - Don't throw an error if the user uses `map` in the grammar (https://github.com/tree-sitter/tree-sitter/pull/3041) - Remove redundant imports (https://github.com/tree-sitter/tree-sitter/pull/3047) - **cli**: Installation via a HTTP tunnel proxy (https://github.com/tree-sitter/tree-sitter/pull/2824) - **cli**: Don't update tests automatically if parse errors are detected (https://github.com/tree-sitter/tree-sitter/pull/3033) - **cli**: Don't use `long` for `grammar_path` - **test**: Allow writing updates to tests without erroneous nodes instead of denying all of them if a single error is found - **test**: Edge case when parsing `UNEXPECTED`/`MISSING` nodes with an indentation level greater than 0 - **wasm**: Remove C++ mangled symbols (https://github.com/tree-sitter/tree-sitter/pull/2971) ### Documentation - Create issue template (https://github.com/tree-sitter/tree-sitter/pull/2978) - Document regex limitations - Mention that `token($.foo)` is illegal - Explicitly mention behavior of walking outside the given "root" node for a `TSTreeCursor` (https://github.com/tree-sitter/tree-sitter/pull/3021) - Small fixes (https://github.com/tree-sitter/tree-sitter/pull/2987) - Add `Tact` language parser (https://github.com/tree-sitter/tree-sitter/pull/3030) - **web**: Provide deno usage information (https://github.com/tree-sitter/tree-sitter/pull/2498) ### Refactor - Extract regex check into a function and lower its precedence - `&PathBuf` -> `&Path` (https://github.com/tree-sitter/tree-sitter/pull/3035) - Name anonymous types in api.h (https://github.com/tree-sitter/tree-sitter/pull/1659) ### Testing - Add quotes around bash variables (https://github.com/tree-sitter/tree-sitter/pull/3023) - Update html tests ### Build System and CI - Only create release for normal semver tags (https://github.com/tree-sitter/tree-sitter/pull/2973) - Add useful development targets to makefile (https://github.com/tree-sitter/tree-sitter/pull/2979) - Remove minimum glibc information in summary page (https://github.com/tree-sitter/tree-sitter/pull/2988) - Use the native m1 mac runner (https://github.com/tree-sitter/tree-sitter/pull/2995) - Add editorconfig (https://github.com/tree-sitter/tree-sitter/pull/2998) - Remove symbolic links from repository (https://github.com/tree-sitter/tree-sitter/pull/2997) - Move common Cargo.toml keys into the workspace and inherit them (https://github.com/tree-sitter/tree-sitter/pull/3019) - Remove reviewers when drafting or closing a PR (https://github.com/tree-sitter/tree-sitter/pull/2963) - Enable creating changelogs with git-cliff (https://github.com/tree-sitter/tree-sitter/pull/3040) - Cache fixtures (https://github.com/tree-sitter/tree-sitter/pull/3038) - Don't cancel jobs on master (https://github.com/tree-sitter/tree-sitter/pull/3052) - Relax caching requirements (https://github.com/tree-sitter/tree-sitter/pull/3051) - **deps**: Bump clap from 4.4.18 to 4.5.0 (https://github.com/tree-sitter/tree-sitter/pull/3007) - **deps**: Bump wasmtime from v16.0.0 to v17.0.1 (https://github.com/tree-sitter/tree-sitter/pull/3008) - **deps**: Bump wasmtime to v18.0.1 (https://github.com/tree-sitter/tree-sitter/pull/3057) - **sanitize**: Add a timeout of 60 minutes (https://github.com/tree-sitter/tree-sitter/pull/3017) - **sanitize**: Reduce timeout to 20 minutes (https://github.com/tree-sitter/tree-sitter/pull/3054) ### Other - Document preferred language for scanner (https://github.com/tree-sitter/tree-sitter/pull/2972) - Add java and tsx to corpus tests (https://github.com/tree-sitter/tree-sitter/pull/2992) - Provide a CLI flag to open `log.html` (https://github.com/tree-sitter/tree-sitter/pull/2996) - Some more clippy lints (https://github.com/tree-sitter/tree-sitter/pull/3010) - Remove deprecated query parsing mechanism (https://github.com/tree-sitter/tree-sitter/pull/3011) - Print out full compiler arguments ran when it fails (https://github.com/tree-sitter/tree-sitter/pull/3018) - Deprecate C++ scanners (https://github.com/tree-sitter/tree-sitter/pull/3020) - Add some documentation to the playground page (https://github.com/tree-sitter/tree-sitter/pull/1495) - Update relevant rust tests (https://github.com/tree-sitter/tree-sitter/pull/2947) - Clippy lints (https://github.com/tree-sitter/tree-sitter/pull/3032) - Error out when multiple arguments are passed to `token`/`token.immediate` (https://github.com/tree-sitter/tree-sitter/pull/3036) - Tidying - Prefer turbofish syntax where possible (https://github.com/tree-sitter/tree-sitter/pull/3048) - Use published wasmtime crates - Cleaner cast - Update Cargo.lock - Get rid of `github_issue_test` file (https://github.com/tree-sitter/tree-sitter/pull/3055) - **cli**: Use spawn to display `emcc`'s stdout and stderr (https://github.com/tree-sitter/tree-sitter/pull/2494) - **cli**: Warn users when a query path needed for a subcommand isn't specified in a grammar's package.json - **generate**: Dedup and warn about duplicate or invalid rules (https://github.com/tree-sitter/tree-sitter/pull/2994) - **test**: Use different languages for async tests (https://github.com/tree-sitter/tree-sitter/pull/2953) - **wasm**: Use `SIDE_MODULE=2` to silence warning (https://github.com/tree-sitter/tree-sitter/pull/3003)
v0.21.0-pre-release-1
3 weeks ago
v0.20.9
5 weeks ago
v0.20.8
47 weeks ago
## What's Changed * Change integer type in `ts_parser__set_cached_token` by @mattmassicotte in https://github.com/tree-sitter/tree-sitter/pull/1879 * Explicit integer sizes for array capacity by @mattmassicotte in https://github.com/tree-sitter/tree-sitter/pull/1881 * Resolving a crash when freeing a null pointer when cancelling parses by @logancollins in https://github.com/tree-sitter/tree-sitter/pull/1938 * Add note about including an external scanner in Rust crate by @J3RN in https://github.com/tree-sitter/tree-sitter/pull/1936 * Allow retrieving a tree's list of included ranges, fix some included range bugs by @maxbrunsfeld in https://github.com/tree-sitter/tree-sitter/pull/1952 * Allow web-tree-sitter to work with Emscripten 3 by @J3RN in https://github.com/tree-sitter/tree-sitter/pull/1913 * Fix test output formatting for rules starting with `M/U` by @mliszcz in https://github.com/tree-sitter/tree-sitter/pull/1941 * Fix racing on playground webserver port binding by @ahlinc in https://github.com/tree-sitter/tree-sitter/pull/1953 * Fix wasm tests and bump Emscripten version to 3.1.29 by @ahlinc in https://github.com/tree-sitter/tree-sitter/pull/2014 * Add possibility to customize path to generated dynamically loaded libraries. Closes #1336 by @ahlinc in https://github.com/tree-sitter/tree-sitter/pull/2013 * Add setting `TREE_SITTER_DEBUG` in the test sub command by @ahlinc in https://github.com/tree-sitter/tree-sitter/pull/2020 * Produce smaller CLI release binary by stripping debug info by @ahlinc in https://github.com/tree-sitter/tree-sitter/pull/2031 * Improve CLI init-config command with respect to `TREE_SITTER_DIR` by @sogaiu in https://github.com/tree-sitter/tree-sitter/pull/2035 * Fix possible rollover of nanoseconds in `clock.h` by @paf31 in https://github.com/tree-sitter/tree-sitter/pull/1990 * Derive Hash for Language in Rust binding by @Ekleog in https://github.com/tree-sitter/tree-sitter/pull/2080 * Improve the performance of running a query in a small range of a large file by @maxbrunsfeld in https://github.com/tree-sitter/tree-sitter/pull/2085 * Make all tests run in a reliable way by @ahlinc in https://github.com/tree-sitter/tree-sitter/pull/2135 * New workflow for CI/CD with more release assets by @ahlinc in https://github.com/tree-sitter/tree-sitter/pull/2167 **Full Changelog**: https://github.com/tree-sitter/tree-sitter/compare/v0.20.7...v0.20.8
v0.20.7
1 year ago
v0.20.6
1 year ago
v0.20.4
2 years ago
v0.20.3
2 years ago
v0.20.2
2 years ago
v0.20.1
2 years ago
mozilla-mobile/firefox-ios v123.2
Firefox for iOS
โญ๏ธ 11,865
๐Ÿ•“ 2 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.
v123.2
2 days ago
# Overview This is our official v123.2 release of Firefox-iOS. It's based on the [v123 branch](https://github.com/mozilla-mobile/firefox-ios/tree/release/v123) ## Differences between v123.1 & v123.2 You can view the changes between our previous and newly released version [here](https://github.com/mozilla-mobile/firefox-ios/compare/v123.1...v123.2).
v123.1
1 week ago
# Overview This is our official v123.1 release of Firefox-iOS. It's based on the [v123 branch](https://github.com/mozilla-mobile/firefox-ios/tree/release/v123) ## Differences between v123.0 & v123.1 This is a no-op release needed to update our App Store listing.
v123.0
2 weeks ago
# Overview This is our official v123.0 release of Firefox-iOS. It's based on the [v123 branch](https://github.com/mozilla-mobile/firefox-ios/tree/release/v123) ## Differences between v122.2 & v123.0 You can view the changes between our previous and newly released version [here](https://github.com/mozilla-mobile/firefox-ios/compare/v122.2...v123.0).
v122.2
3 weeks ago
# Overview This is our official v122.2 release of Firefox-iOS. It's based on the [v122 branch](https://github.com/mozilla-mobile/firefox-ios/tree/release/v122) ## Differences between v122.1 & v122.2 You can view the changes between our previous and newly released version [here](https://github.com/mozilla-mobile/firefox-ios/compare/v122.1...v122.2).
v122.1
4 weeks ago
# Overview This is our official v122.1 release of Firefox-iOS. It's based on the [v122 branch](https://github.com/mozilla-mobile/firefox-ios/tree/release/v122) ## Differences between v122.0 & v122.1 You can view the changes between our previous and newly released version [here](https://github.com/mozilla-mobile/firefox-ios/compare/v122.0...v122.1).
v122.0
6 weeks ago
# Overview This is our official v122.0 release of Firefox-iOS. It's based on the [v122 branch](https://github.com/mozilla-mobile/firefox-ios/tree/release/v122) ## Differences between v121.2 & v122.0 You can view the changes between our previous and newly released version [here](https://github.com/mozilla-mobile/firefox-ios/compare/v121.2...v122.0).
v121.2
7 weeks ago
# Overview This is our official v121.2 release of Firefox-iOS. It's based on the [v121 branch](https://github.com/mozilla-mobile/firefox-ios/tree/release/v121) ## Differences between v121.1 & v121.2 You can view the changes between our previous and newly released version [here](https://github.com/mozilla-mobile/firefox-ios/compare/v121.1...v121.2).
v121.1
8 weeks ago
# Overview This is our official v121.1 release of Firefox-iOS. It's based on the [v121 branch](https://github.com/mozilla-mobile/firefox-ios/tree/release/v121) ## Differences between v121.0 & v121.1 You can view the changes between our previous and newly released version [here](https://github.com/mozilla-mobile/firefox-ios/compare/v121.0...v121.1).
v121.0
10 weeks ago
# Overview This is our official v121.0 release of Firefox-iOS. It's based on the [v121 branch](https://github.com/mozilla-mobile/firefox-ios/tree/release/v121) ## Differences between v120.4 & v121.0 You can view the changes between our previous and newly released version [here](https://github.com/mozilla-mobile/firefox-ios/compare/v120.4...v121.0).
v120.4
12 weeks ago
# Overview This is our official v120.4 release of Firefox-iOS. It's based on the [v120 branch](https://github.com/mozilla-mobile/firefox-ios/tree/release/v120) ## Differences between v120.3 & v120.4 You can view the changes between our previous and newly released version [here](https://github.com/mozilla-mobile/firefox-ios/compare/v120.3...v120.4).
iOS macOS
pointfreeco/swift-composable-architecture 1.9.1
A library for building applications in a consistent and understandable way, with composition, testing, and ergonomics in mind.
โญ๏ธ 10,909
๐Ÿ•“ 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.
1.9.1
Yesterday
## What's Changed * Fixed: Addressed a regression introduced in 1.9.0 in which a case key path could become ambiguous if an action case name _and_ a bindable action key path name overlap (https://github.com/pointfreeco/swift-composable-architecture/pull/2875). * Infrastructure: Add step for making enum reducer state equatable in tutorial (https://github.com/pointfreeco/swift-composable-architecture/pull/2873). * Infrastructure: Fixed a small typo on 1.9 migration guide (thank @takehilo, https://github.com/pointfreeco/swift-composable-architecture/pull/2876). **Full Changelog**: https://github.com/pointfreeco/swift-composable-architecture/compare/1.9.0...1.9.1
1.9.0
2 days ago
## What's Changed See [Migrating to 1.9](https://github.com/pointfreeco/swift-composable-architecture/blob/main/Sources/ComposableArchitecture/Documentation.docc/Articles/MigrationGuides/MigratingTo1.9.md) for more details. * Added: New versions of `TestStore.send` that accept case key paths (thanks @scogeo, https://github.com/pointfreeco/swift-composable-architecture/pull/2681; https://github.com/pointfreeco/swift-composable-architecture/pull/2868). * Added `Reducer.dependency(value)`, for overriding a reducer's dependency using a singleton value of a type (https://github.com/pointfreeco/swift-composable-architecture/pull/2863). * Fixed: Improve `Store` diagnostics for deriving bindings (https://github.com/pointfreeco/swift-composable-architecture/pull/2793). * Fixed: Avoid erroneous perception checks when `ViewStore`s are initialized in a view that doesn't use `WithPerceptionTracking` (https://github.com/pointfreeco/swift-composable-architecture/pull/2849). * Fixed: Support `#if` branching in `@ObservableState` and enum `@Reducer`s (https://github.com/pointfreeco/swift-composable-architecture/pull/2800). * Infrastructure: Tree navigation documentation fixes (thanks @imjn, https://github.com/pointfreeco/swift-composable-architecture/pull/2837); presentation reducer documentation fixes (thanks @ozumin, https://github.com/pointfreeco/swift-composable-architecture/pull/2853). * Infrastructure: Improve tutorial diffing (thanks @oka-yuji, https://github.com/pointfreeco/swift-composable-architecture/pull/2844). * Infrastructure: Expand release build test coverage (https://github.com/pointfreeco/swift-composable-architecture/pull/2856). * Infrastructure: Document gotcha with macros and previews (https://github.com/pointfreeco/swift-composable-architecture/pull/2855). ## New Contributors * @imjn made their first contribution in https://github.com/pointfreeco/swift-composable-architecture/pull/2837 * @oka-yuji made their first contribution in https://github.com/pointfreeco/swift-composable-architecture/pull/2844 * @ozumin made their first contribution in https://github.com/pointfreeco/swift-composable-architecture/pull/2853 **Full Changelog**: https://github.com/pointfreeco/swift-composable-architecture/compare/1.8.2...1.9.0
1.8.2
1 week ago
## What's Changed * Fix: Added missing namespace for Scope when in ReducerMacro by @stefancodinglands in https://github.com/pointfreeco/swift-composable-architecture/pull/2832 * Fix: More fixes for @Reducer macro https://github.com/pointfreeco/swift-composable-architecture/pull/2834 ## New Contributors * @stefancodinglands made their first contribution in https://github.com/pointfreeco/swift-composable-architecture/pull/2832 **Full Changelog**: https://github.com/pointfreeco/swift-composable-architecture/compare/1.8.1...1.8.2
1.8.1
1 week ago
## What's Changed * Infrastructure: Document `@Reducer(state: .equatable)` in the migration guide https://github.com/pointfreeco/swift-composable-architecture/pull/2796 * Infrastructure: Adopt complete concurrency and fix a few warnings https://github.com/pointfreeco/swift-composable-architecture/pull/2787 * Fixed: [macro] Make _$id and _$willModify() public by @freak4pc in https://github.com/pointfreeco/swift-composable-architecture/pull/2789 * Fixed: Typo by @hmhv in https://github.com/pointfreeco/swift-composable-architecture/pull/2797 * Infrastructure: A small change on migration guide 1.8 by @takehilo in https://github.com/pointfreeco/swift-composable-architecture/pull/2799 * Infrastructure: Update links to documentation by @d-date in https://github.com/pointfreeco/swift-composable-architecture/pull/2801 * Infrastructure: Replace usage of 'viewStore' with 'store' in UIKit code by @juliensagot in https://github.com/pointfreeco/swift-composable-architecture/pull/2820 * Fixed Fix macro compiler bug in release mode https://github.com/pointfreeco/swift-composable-architecture/pull/2827 **Full Changelog**: https://github.com/pointfreeco/swift-composable-architecture/compare/1.8.0...1.8.1
1.8.0
2 weeks ago
## What's Changed See [Migrating to 1.8](https://github.com/pointfreeco/swift-composable-architecture/blob/main/Sources/ComposableArchitecture/Documentation.docc/Articles/MigrationGuides/MigratingTo1.8.md) for more details. * Added: New `@Reducer` macro features (https://github.com/pointfreeco/swift-composable-architecture/pull/2795). The `@Reducer` macro has been enhanced to streamline usage and simplify some common patterns: * When left undefined, the `@Reducer` will now define default implementations of `State`, `Action`, and `body`. This means stubbing a feature is as simple as `@Reducer struct Feature {}`. * `@Reducer` can now be used with enums to simplify the boilerplate associated with "destination" and "path" reducers. See the [1.8 migration guide](https://pointfreeco.github.io/swift-composable-architecture/main/documentation/composablearchitecture/migratingto1.8) for more information on how to use these APIs. * Fixed: Propagate `@ViewAction` macro availability (https://github.com/pointfreeco/swift-composable-architecture/pull/2785). * Fixed: Properly tag nested observable enums so that changes to non-observable cases are better observed (https://github.com/pointfreeco/swift-composable-architecture/pull/2786). * Infrastructure: Fix typo in migration guide 1.6 (thanks @takehilo, https://github.com/pointfreeco/swift-composable-architecture/pull/2779); better document explicit `id` with scoped `ForEach` (https://github.com/pointfreeco/swift-composable-architecture/pull/2784); Fix typo in the 1.7 migration guide (thanks @yaslab, https://github.com/pointfreeco/swift-composable-architecture/pull/2780; thanks @Ryu0118, https://github.com/pointfreeco/swift-composable-architecture/pull/2790); **Full Changelog**: https://github.com/pointfreeco/swift-composable-architecture/compare/1.7.2...1.8.0 ## New Contributors * @yaslab made their first contribution in https://github.com/pointfreeco/swift-composable-architecture/pull/2780 **Full Changelog**: https://github.com/pointfreeco/swift-composable-architecture/compare/1.7.3...1.8.0
1.7.3
3 weeks ago
## What's Changed * Fixed: Fix navigationDestinationWrapper in docs in https://github.com/pointfreeco/swift-composable-architecture/pull/2765 * Infrastructure: Clean up examples in https://github.com/pointfreeco/swift-composable-architecture/pull/2754 * Infrastructure: Simplify Stack Navigation Demo in https://github.com/pointfreeco/swift-composable-architecture/pull/2758 * Infrastructure: Some cleanup in https://github.com/pointfreeco/swift-composable-architecture/pull/2759 * Infrastructure: remove invalid newlines by @hmhv in https://github.com/pointfreeco/swift-composable-architecture/pull/2763 * Infrastructure: Update warning for uncached stores in https://github.com/pointfreeco/swift-composable-architecture/pull/2764 * Infrastructure: Add TCAComposer to Companion libraries. by @scogeo in https://github.com/pointfreeco/swift-composable-architecture/pull/2768 **Full Changelog**: https://github.com/pointfreeco/swift-composable-architecture/compare/1.7.2...1.7.3
1.7.2
4 weeks ago
## What's Changed * Fixed: A visionOS build regression introduced in 1.7.1 has been fixed (thanks @peterbohac, https://github.com/pointfreeco/swift-composable-architecture/pull/2746). * Fixed: visionOS-related warnings around observation have been fixed (https://github.com/pointfreeco/swift-composable-architecture/pull/2752). * Infrastructure: CI now runs against visionOS (https://github.com/pointfreeco/swift-composable-architecture/pull/2747). ## New Contributors * @peterbohac made their first contribution in https://github.com/pointfreeco/swift-composable-architecture/pull/2746 **Full Changelog**: https://github.com/pointfreeco/swift-composable-architecture/compare/1.7.1...1.7.2
1.7.1
4 weeks ago
## What's Changed * Fixed: The Composable Architecture's SwiftUI Binding helpers should better preserve SwiftUI animation and transaction information (https://github.com/pointfreeco/swift-composable-architecture/pull/2740). Previously, animations could be lost in certain situations. * Fixed: `@ObservableState` now supports the `package` access modifier (thanks @nnsnodnb, https://github.com/pointfreeco/swift-composable-architecture/pull/2741). * Deprecated: `Reducer.onChange(of:removeDuplicates:)` has been deprecated (https://github.com/pointfreeco/swift-composable-architecture/pull/2744). The `removeDuplicates` argument put strain on the compiler that could cause reducers to not compile in time. Migration strategy: use an explicit wrapper type that is `Equatable`, instead. * Infrastructure: Migrating to 1.7 fixes (thanks @acosmicflamingo, https://github.com/pointfreeco/swift-composable-architecture/pull/2732; thanks @bricklife, https://github.com/pointfreeco/swift-composable-architecture/pull/2736; thanks @zvona031, https://github.com/pointfreeco/swift-composable-architecture/pull/2738; thanks @shgew; https://github.com/pointfreeco/swift-composable-architecture/pull/2743); README fix (thanks @yimajo, https://github.com/pointfreeco/swift-composable-architecture/pull/2734). ## New Contributors * @acosmicflamingo made their first contribution in https://github.com/pointfreeco/swift-composable-architecture/pull/2732 * @zvona031 made their first contribution in https://github.com/pointfreeco/swift-composable-architecture/pull/2738 * @shgew made their first contribution in https://github.com/pointfreeco/swift-composable-architecture/pull/2743 * @nnsnodnb made their first contribution in https://github.com/pointfreeco/swift-composable-architecture/pull/2741 **Full Changelog**: https://github.com/pointfreeco/swift-composable-architecture/compare/1.7.0...1.7.1
1.7.0
4 weeks ago
## What's Changed See [Migrating to 1.7](https://github.com/pointfreeco/swift-composable-architecture/blob/main/Sources/ComposableArchitecture/Documentation.docc/Articles/MigrationGuides/MigratingTo1.7.md) for more details. * Added: Observation support (https://github.com/pointfreeco/swift-composable-architecture/pull/2593), which both streamlines and soft-deprecates many concepts in the Composable Architecture. See the [1.7 migration guide](https://pointfreeco.github.io/swift-composable-architecture/main/documentation/composablearchitecture/migratingto1.7) for more information on how to apply these updates to your applications. * Infrastructure: Add CI for Swift 5.7.1 (https://github.com/pointfreeco/swift-composable-architecture/pull/2701). * Infrastructure: Add docs for testing `StackAction`'s case path subscript (thanks @lukeredpath, https://github.com/pointfreeco/swift-composable-architecture/pull/2704). * Infrastructure: Fixed examples CI (https://github.com/pointfreeco/swift-composable-architecture/pull/2715). * Infrastructure: Fixed `TestStore.assert` docs (https://github.com/pointfreeco/swift-composable-architecture/pull/2720). * Infrastructure: Use `XCTExpectFailure` from `XCTestDynamicOverlay` (https://github.com/pointfreeco/swift-composable-architecture/pull/2721). * Infrastructure: Documentation typo fix (thanks @JonCox, https://github.com/pointfreeco/swift-composable-architecture/pull/2723). * Infrastructure: Fixed concurrency docs (thanks @hmhv, https://github.com/pointfreeco/swift-composable-architecture/pull/2726). * Infrastructure: Fixed composing features tutorial (thanks @bricklife, https://github.com/pointfreeco/swift-composable-architecture/pull/2698; thanks @Kyome22, https://github.com/pointfreeco/swift-composable-architecture/pull/2727). * Infrastructure: Fixed 1.7 migration guide (thanks @Ryu0118, https://github.com/pointfreeco/swift-composable-architecture/pull/2731). ## New Contributors * @JonCox made their first contribution in https://github.com/pointfreeco/swift-composable-architecture/pull/2723 * @Kyome22 made their first contribution in https://github.com/pointfreeco/swift-composable-architecture/pull/2727 **Full Changelog**: https://github.com/pointfreeco/swift-composable-architecture/compare/1.6.0...1.7.0
1.6.0
7 weeks ago
## What's Changed See [Migrating to 1.6](https://github.com/pointfreeco/swift-composable-architecture/blob/main/Sources/ComposableArchitecture/Documentation.docc/Articles/MigrationGuides/MigratingTo1.6.md) for more details. * Added: `TestStore.receive(\.action, payload)` for asserting against the payload of an action without requiring the action itself be `Equatable` (https://github.com/pointfreeco/swift-composable-architecture/pull/2669; https://github.com/pointfreeco/swift-composable-architecture/pull/2691) * Fixed: It was possible for `ViewStore`s to ping their `objectWillChange` publisher during a body computation, triggering a SwiftUI warning. This has been fixed (https://github.com/pointfreeco/swift-composable-architecture/pull/2688). * Fixed: `@Reducer` macro no longer automatically applies `@CasePathable` macro to enums with explicit conformance (thanks @scogeo, https://github.com/pointfreeco/swift-composable-architecture/pull/2685). * Fixed: The `prepareDependencies` closure is now only performed a single time when creating a store, not every single time an action is received (https://github.com/pointfreeco/swift-composable-architecture/pull/2695). * Fixed: A retain cycle in `PresentationModifier` has been fixed (https://github.com/pointfreeco/swift-composable-architecture/pull/2697). * Performance: Clean up parent/child store invalidation checks (https://github.com/pointfreeco/swift-composable-architecture/pull/2674). * Infrastructure: Fix package build in 5.7 for SPI (https://github.com/pointfreeco/swift-composable-architecture/pull/2675; thanks @finestructure, https://github.com/pointfreeco/swift-composable-architecture/pull/2679). * Infrastructure: Typo fix (thanks @tomokisun, https://github.com/pointfreeco/swift-composable-architecture/pull/2678). * Infrastructure: Add documentation around new store scoping characteristics (https://github.com/pointfreeco/swift-composable-architecture/pull/2676). * Infrastructure: Prevent unnecessary tutorial diffs (thanks @bricklife, https://github.com/pointfreeco/swift-composable-architecture/pull/2692). * Infrastructure: Tutorial fixes (https://github.com/pointfreeco/swift-composable-architecture/pull/2693). * Infrastructure : Clean up shared state case study (https://github.com/pointfreeco/swift-composable-architecture/pull/2696). ## New Contributors * @bricklife made their first contribution in https://github.com/pointfreeco/swift-composable-architecture/pull/2692 **Full Changelog**: https://github.com/pointfreeco/swift-composable-architecture/compare/1.5.6...1.6.0
iOS macOS watchOS tvOS
apple/swift-package-manager swift-DEVELOPMENT-SNAPSHOT-2024-03-01-a
The Package Manager for the Swift Programming Language
โญ๏ธ 9,543
๐Ÿ•“ 11 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.
1 week ago
0.6.0
3 years ago
3 years ago
Swift 5.2 Release
3 years ago
4 years ago
4 years ago
5 years ago
5 years ago
Swift 4.2.1 Release
5 years ago
Swift 4.2 Release
5 years ago
iOS macOS
groue/GRDB.swift v6.25.0
A toolkit for SQLite databases, with a focus on application development
โญ๏ธ 6,408
๐Ÿ•“ 6 days ago
๐Ÿ”– Release Notes

Releases

The markdown parsing is broken/disabled for release notes. Sorry about that, I'm chasing the source of a crash that's been bringing this website down for the last couple of days.
6.25.0
6 days ago
_A new release of the Swift toolkit for SQLite databases._ - **New**: [#1496](https://github.com/groue/GRDB.swift/pull/1496) by [@danielepantaleone](https://github.com/danielepantaleone): Add privacy manifest file. A `PrivacyInfo.xcprivacy` resource was added to the GRDB SPM package and Xcode projects. It declares that GRDB does not collect anything.
6.24.2
5 weeks ago
_A new release of the Swift toolkit for SQLite databases._ - **Documentation Update**: [#1485](https://github.com/groue/GRDB.swift/pull/1485): The [Sharing a Database](https://swiftpackageindex.com/groue/grdb.swift/documentation/grdb/databasesharing) guide was updated with a new recommendation for databases shared between multiple processes. Writers should always perform IMMEDIATE transactions in order to avoid the `SQLITE_BUSY` error that can occur when transactions overlap. The new recommendation fits in a single line of code: `configuration.defaultTransactionKind = .immediate`. - **New**: Associations that involve views instead of tables were already supported, with an explicit `ForeignKey` in their definition. When the foreign key is missing, a clear diagnostic message is now emitted, instead of an unhelpful "no such table" runtime error. Changes from 6.24.1 and 6.24.0: - **Fixed**: [#1477](https://github.com/groue/GRDB.swift/pull/1477): Remove shadow tables from database dump - **New**: [#1466](https://github.com/groue/GRDB.swift/pull/1466) by [@barnettben](https://github.com/barnettben): Add schema name option to database introspection methods
6.24.1
8 weeks ago
_A new release of the Swift toolkit for SQLite databases._ - **Fixed**: [#1477](https://github.com/groue/GRDB.swift/pull/1477): Remove shadow tables from database dump Changes from 6.24.0: - **New**: [#1466](https://github.com/groue/GRDB.swift/pull/1466) by [@barnettben](https://github.com/barnettben): Add schema name option to database introspection methods
6.24.0
8 weeks ago
_A new release of the Swift toolkit for SQLite databases._ - **New**: [#1466](https://github.com/groue/GRDB.swift/pull/1466) by [@barnettben](https://github.com/barnettben): Add schema name option to database introspection methods
6.23.0
13 weeks ago
- **New**: [#1462](https://github.com/groue/GRDB.swift/pull/1462) Temporary read-only access
6.22.0
13 weeks ago
- **New**: [#1452](https://github.com/groue/GRDB.swift/pull/1452) by [@groue](https://github.com/groue): Bump SQLite custom builds to 3.44.0. Add support for FILTER and ORDER BY clauses in aggregate functions. - **New**: [#1460](https://github.com/groue/GRDB.swift/pull/1460) by [@groue](https://github.com/groue): Explicit change notifications help applications deal with undetected database changes. - **Documentation Update**: The documentations of [`ValueObservation`](https://swiftpackageindex.com/groue/grdb.swift/documentation/grdb/valueobservation), [`DatabaseRegionObservation`](https://swiftpackageindex.com/groue/grdb.swift/documentation/grdb/databaseregionobservation), and [`TransactionObserver`](https://swiftpackageindex.com/groue/grdb.swift/documentation/grdb/transactionobserver) have a new "Dealing with Undetected Changes" section that documents possible strategies for notifying applications of undetected database changes.
6.21.0
17 weeks ago
- **New**: [#1448](https://github.com/groue/GRDB.swift/pull/1448) by [@groue](https://github.com/groue): Add support for stable ordering and dump of views - **New**: [#1449](https://github.com/groue/GRDB.swift/pull/1449) by [@groue](https://github.com/groue): Backport temporary copies from GRDBSnapshotTesting
6.20.2
19 weeks ago
- **Fixed**: [#1442](https://github.com/groue/GRDB.swift/pull/1442) by [@groue](https://github.com/groue): Extend the macOS availability of JSON functions Inherited from 6.20.1: - **Fixed**: Removed a debug print - **New**: [#1439](https://github.com/groue/GRDB.swift/pull/1439) by [@groue](https://github.com/groue): Dump requests - **New**: `QueryInterfaceRequest.withStableOrder()` returns a request with well-defined order, suitable for tests.
6.20.1
20 weeks ago
- **Fixed**: Removed a debug print Inherited from 6.20.0: - **New**: [#1439](https://github.com/groue/GRDB.swift/pull/1439) by [@groue](https://github.com/groue): Dump requests - **New**: `QueryInterfaceRequest.withStableOrder()` returns a request with well-defined order, suitable for tests.
6.19.0
21 weeks ago
- **New**: [#1429](https://github.com/groue/GRDB.swift/pull/1429) by [@JhonnyBillM](https://github.com/JhonnyBillM): Allow `DatabaseValueConvertible` types to customize their database JSON format - **New**: [#1436](https://github.com/groue/GRDB.swift/pull/1436) by [@myyra](https://github.com/myyra) and [@groue](https://github.com/groue): JSON functions - **New**: `Database` has learned to create indexes on expressions, and specify specific collations on indexed columns, with the `create(index:on:expressions:options:condition:)` method. - **New**: Codable records can specify coding strategies for their `Data` properties. See [#1436](https://github.com/groue/GRDB.swift/pull/1436) for more information. - **Documentation Update**: A new [JSON Support](https://swiftpackageindex.com/groue/grdb.swift/documentation/grdb/json) article provides an overview of JSON handling. - **Documentation Update**: The [Recommended Practices for Designing Record Types](https://swiftpackageindex.com/groue/grdb.swift/documentation/grdb/recordrecommendedpractices) now recommend that record types with an auto-incremented id avoid conforming to the `Identifiable` protocol.
iOS macOS watchOS tvOS
siteline/swiftui-introspect 1.1.3
Introspect underlying UIKit/AppKit components from SwiftUI
โญ๏ธ 5,043
๐Ÿ•“ 6 days ago
๐Ÿ”– Release Notes

Releases

The markdown parsing is broken/disabled for release notes. Sorry about that, I'm chasing the source of a crash that's been bringing this website down for the last couple of days.
1.1.3
6 days ago
## What's Changed Due to a mysterious bug on Apple's part that may cause a complete app hang, the unfortunate decision has been made to remove support for `SignInWithAppleButton` introspection (https://github.com/siteline/swiftui-introspect/pull/401). We apologize for this inconvenience. More details can be found at https://github.com/siteline/swiftui-introspect/issues/400 ## New Contributors * @jordanekay made their first contribution in https://github.com/siteline/swiftui-introspect/pull/395 **Full Changelog**: https://github.com/siteline/swiftui-introspect/compare/1.1.2...1.1.3
1.1.2
8 weeks ago
## What's Changed * Fixed: "Protocol requirement cannot be declared '@_spi'" by @Kotivskyi in https://github.com/siteline/swiftui-introspect/pull/392 ## New Contributors * @Kotivskyi made their first contribution in https://github.com/siteline/swiftui-introspect/pull/392 **Full Changelog**: https://github.com/siteline/swiftui-introspect/compare/1.1.1...1.1.2
1.1.1
18 weeks ago
## What's Changed - Fixed: SwiftUI previews on watchOS no longer fail to build (#380) - Infrastructure: fixed iOS 17 tests failing on CI (#381) ## New Contributors * @sergeirr made their first contribution in https://github.com/siteline/swiftui-introspect/pull/380 **Full Changelog**: https://github.com/siteline/swiftui-introspect/compare/1.1.0...1.1.1
1.1.0
21 weeks ago
## What's Changed - Removed: `Toggle` introspection on visionOS (#373) **Full Changelog**: https://github.com/siteline/swiftui-introspect/compare/1.0.0...1.1.0
1.0.0
24 weeks ago
We are excited to announce the release of SwiftUI Introspect 1.0! ๐ŸŽ‰ Introducing a stable, intuitive, and ergonomic new API for introspection of SwiftUI views. If you're migrating away from the old Introspect module, make sure to review the updated README, and feel free to ask questions in the [Discussions](https://github.com/siteline/swiftui-introspect/discussions) forum. **Full Changelog**: https://github.com/siteline/swiftui-introspect/compare/0.12.0...1.0.0
0.12.0
26 weeks ago
## What's Changed - Added: [`@Weak`](https://github.com/siteline/SwiftUI-Introspect?tab=readme-ov-file#keep-instances-outside-the-customize-closure) property wrapper (#341) - Documentation: added [advanced usage](https://github.com/siteline/SwiftUI-Introspect?tab=readme-ov-file#advanced-usage) section to README (#341) - Documentation: added [community projects](https://github.com/siteline/SwiftUI-Introspect?tab=readme-ov-file#community-projects) section to README (#342) **Full Changelog**: https://github.com/siteline/SwiftUI-Introspect/compare/0.11.1...0.12.0
0.11.1
27 weeks ago
## What's Changed - Fixed: `@_spi` errors (#339) **Full Changelog**: https://github.com/siteline/SwiftUI-Introspect/compare/0.11.0...0.11.1
0.11.0
28 weeks ago
## What's Changed - Added: visionOS support (#327) - Infrastructure: run CI tests on iOS & tvOS 17 (#323) **Full Changelog**: https://github.com/siteline/SwiftUI-Introspect/compare/0.10.0...0.11.0
0.10.0
32 weeks ago
## What's Changed - Added: `SecureField` introspection (#317) **Full Changelog**: https://github.com/siteline/SwiftUI-Introspect/compare/0.9.2...0.10.0
0.9.2
32 weeks ago
## What's Changed - Fixed: occasionally wrong status bar style (#313) - Infrastructure: added UI Test suite (#314) - Infrastructure: disabled "Autocreate schemes" (#308) **Full Changelog**: https://github.com/siteline/SwiftUI-Introspect/compare/0.9.1...0.9.2
iOS macOS tvOS
marmelroy/PhoneNumberKit 3.7.9
A Swift framework for parsing, formatting and validating international phone numbers. Inspired by Google's libphonenumber.
โญ๏ธ 4,982
๐Ÿ•“ 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.
3.7.9
Yesterday
## What's Changed * Updated metadata to version metadata/8.13.31 by @github-actions in https://github.com/marmelroy/PhoneNumberKit/pull/747 * Move privacy manifest from resources to resource bundle by @MariuszWisniewski in https://github.com/marmelroy/PhoneNumberKit/pull/748 ## New Contributors * @MariuszWisniewski made their first contribution in https://github.com/marmelroy/PhoneNumberKit/pull/748 **Full Changelog**: https://github.com/marmelroy/PhoneNumberKit/compare/3.7.8...3.7.9
3.7.8
2 weeks ago
## What's Changed * Adds privacy manifest by @bguidolim in https://github.com/marmelroy/PhoneNumberKit/pull/746 **Full Changelog**: https://github.com/marmelroy/PhoneNumberKit/compare/3.7.7...3.7.8
3.7.7
3 weeks ago
## What's Changed * Updated metadata to version metadata/8.13.27 by @github-actions in https://github.com/marmelroy/PhoneNumberKit/pull/731 * Fix minor 'Patten' typo in `PhoneNumberPatterns.countryCodePatten` (renames to `countryCodePattern`) by @gleb-tregubov in https://github.com/marmelroy/PhoneNumberKit/pull/733 * Updated metadata to version metadata/8.13.28 by @github-actions in https://github.com/marmelroy/PhoneNumberKit/pull/735 * Updated metadata to version metadata/8.13.29 by @github-actions in https://github.com/marmelroy/PhoneNumberKit/pull/738 * Updated metadata to version metadata/8.13.30 by @github-actions in https://github.com/marmelroy/PhoneNumberKit/pull/744 ## New Contributors * @gleb-tregubov made their first contribution in https://github.com/marmelroy/PhoneNumberKit/pull/733 **Full Changelog**: https://github.com/marmelroy/PhoneNumberKit/compare/3.7.6...3.7.7
3.7.6
12 weeks ago
## What's Changed * Updated metadata to version metadata/8.13.26 by @github-actions in https://github.com/marmelroy/PhoneNumberKit/pull/725 * Improved code with SwiftFormat and removed empty catches by @bguidolim in https://github.com/marmelroy/PhoneNumberKit/pull/726 * Checking minimum National Significant Number length before applying format by @bguidolim in https://github.com/marmelroy/PhoneNumberKit/pull/727 **Full Changelog**: https://github.com/marmelroy/PhoneNumberKit/compare/3.7.5...3.7.6
3.7.5
15 weeks ago
## What's Changed * Updated metadata to version metadata/8.13.23 by @github-actions in https://github.com/marmelroy/PhoneNumberKit/pull/712 * Fix environment typos by @michalsrutek in https://github.com/marmelroy/PhoneNumberKit/pull/716 * Updated metadata to version metadata/8.13.24 by @github-actions in https://github.com/marmelroy/PhoneNumberKit/pull/719 * Updated metadata to version metadata/8.13.25 by @github-actions in https://github.com/marmelroy/PhoneNumberKit/pull/722 **Full Changelog**: https://github.com/marmelroy/PhoneNumberKit/compare/3.7.4...3.7.5
3.7.4
21 weeks ago
## What's Changed * Updated metadata to version metadata/8.13.22 by @github-actions in https://github.com/marmelroy/PhoneNumberKit/pull/706 * Stop using deprecated `countryCode` and regex check by @bguidolim in https://github.com/marmelroy/PhoneNumberKit/pull/708 **Full Changelog**: https://github.com/marmelroy/PhoneNumberKit/compare/3.7.3...3.7.4
3.7.3
22 weeks ago
## What's Changed * Improved parser logic for incomplete phone numbers by @bguidolim in https://github.com/marmelroy/PhoneNumberKit/pull/705 **Full Changelog**: https://github.com/marmelroy/PhoneNumberKit/compare/3.7.2...3.7.3
3.7.2
23 weeks ago
## What's Changed * Updated metadata to version metadata/8.13.21 by @github-actions in https://github.com/marmelroy/PhoneNumberKit/pull/701 **Full Changelog**: https://github.com/marmelroy/PhoneNumberKit/compare/3.7.1...3.7.2
3.7.1
23 weeks ago
## What's Changed * Fix wrong access level for country picker UI options by @bguidolim in https://github.com/marmelroy/PhoneNumberKit/pull/700 **Full Changelog**: https://github.com/marmelroy/PhoneNumberKit/compare/3.7.0...3.7.1
3.7.0
23 weeks ago
## What's Changed * Delegate call fix by @mihail-jdanov in https://github.com/marmelroy/PhoneNumberKit/pull/695 * Customize CountryCodePickerViewController by @jvitor in https://github.com/marmelroy/PhoneNumberKit/pull/697 * Release 3.7.0 by @bguidolim in https://github.com/marmelroy/PhoneNumberKit/pull/698 ## New Contributors * @mihail-jdanov made their first contribution in https://github.com/marmelroy/PhoneNumberKit/pull/695 * @jvitor made their first contribution in https://github.com/marmelroy/PhoneNumberKit/pull/697 **Full Changelog**: https://github.com/marmelroy/PhoneNumberKit/compare/3.6.8...3.7.0
iOS macOS watchOS tvOS
Quick/Nimble v13.2.1
A Matcher Framework for Swift and Objective-C
โญ๏ธ 4,758
๐Ÿ•“ 6 days ago
๐Ÿ”– Release Notes

Releases

The markdown parsing is broken/disabled for release notes. Sorry about that, I'm chasing the source of a crash that's been bringing this website down for the last couple of days.
v13.2.1
6 days ago
Note: This version is not yet available in Cocoapods. ## What's Changed * Bump cocoapods from 1.14.3 to 1.15.0 by @dependabot in https://github.com/Quick/Nimble/pull/1116 * Bump cocoapods from 1.15.0 to 1.15.2 by @dependabot in https://github.com/Quick/Nimble/pull/1119 * Fix bug where expect(nil).toAlways(equal(0)) would erroneously pass by @younata in https://github.com/Quick/Nimble/pull/1121 **Full Changelog**: https://github.com/Quick/Nimble/compare/v13.2.0...v13.2.1
v13.2.0 - visionOS, map matcher.
6 weeks ago
# Highlights - Nimble now supports visionOS! Thanks @stonko1994! - Adds a new `map` matcher. `map` allows you to transform the expression to another value, and pass that value to another matcher. - For example, if you wanted to match the first element in a tuple easily, you could write: `expect(myTuple).to(map(\.0, equal(expectedValue)))`. - See [the docs for more suggestions](https://github.com/Quick/Nimble/tree/v13.2.0#mapping-a-value-to-another-value)! Note: This version of Nimble is not yet in Cocoapods, see https://github.com/CocoaPods/CocoaPods/issues/12118 # Autogenerated Release Notes ## What's Changed * Add a `map` matcher. by @younata in https://github.com/Quick/Nimble/pull/1112 * Build the carthage frameworks in a github action by @younata in https://github.com/Quick/Nimble/pull/1107 * Bump cocoapods from 1.14.2 to 1.14.3 by @dependabot in https://github.com/Quick/Nimble/pull/1100 * Add a privacy manifest by @younata in https://github.com/Quick/Nimble/pull/1113 * Add visionOS support by @stonko1994 in https://github.com/Quick/Nimble/pull/1098 ## New Contributors * @stonko1994 made their first contribution in https://github.com/Quick/Nimble/pull/1098 **Full Changelog**: https://github.com/Quick/Nimble/compare/v13.1.2...v13.2.0
v13.1.2
8 weeks ago
## What's Changed * Fix cocoapods dependencies by @svenmuennich in https://github.com/Quick/Nimble/pull/1111 **Full Changelog**: https://github.com/Quick/Nimble/compare/v13.1.1...v13.1.2
v13.1.1 - The Require DSL, but now with a fixed cocoapods build
10 weeks ago
# Highlights See [the previous release](https://github.com/Quick/Nimble/releases/tag/v13.1.0) for more on the require DSL. ## BugFixes - Fix cocoapods release. # Automated Release Notes ## What's Changed * Fix build on cocoapods by specifying the correct location for the CocoaWithLove exception helper libraries by @younata in https://github.com/Quick/Nimble/pull/1109 **Full Changelog**: https://github.com/Quick/Nimble/compare/v13.1.0...v13.1.1
v13.1.0 - The Require DSL
10 weeks ago
# Highlights ## New Features - Introduce the `require` dsl. This throws an error (a `RequireError`, or a custom one) if the matcher used with it fails. If the matcher doesn't fail, then the require dsl will return the result of the expression. - For example, `try require([1, 2, 3]).to(haveCount(3))` will return `[1, 2, 3]`. However `try require(2).toEqual(1))` will throw a `RequireError`. - When the matcher fails, `require` will still register the assertion failure with XCTest. - This also adds `unwrap` and `pollUnwrap`, which are work as `try require(...).toNot(beNil())` and `try require(...).toEventuallyNot(beNil())`. With both sync and async variants. They either throw, or return non-optional versions of the expression. - See the [documentation here](https://github.com/Quick/Nimble/tree/v13.1.0#using-require-to-demand-that-a-matcher-pass-before-continuing) for more. ## Deprecations - Removes `Expectation.onFailure`, as the new `require` dsl entirely replaces that API. This deprecation will persist through Nimble 14, before being marked as removed in Nimble 15 and fully removed in Nimble 16. ## Breaking Changes - The `throwAssertion` matcher no longer supports watchOS and tvOS in the cocoapods distribution of Nimble. This is because Nimble no longer directly embeds the CwlCatchException CwlPreconditionTesting libraries used in that matcher and instead Nimble pulls in those libraries transitively through the package manager used. # Automated Release Notes ## What's Changed * Bump cocoapods from 1.13.0 to 1.14.2 by @dependabot in https://github.com/Quick/Nimble/pull/1094 * Introduce the require dsl. For when you need the assertion to pass before continuing by @younata in https://github.com/Quick/Nimble/pull/1103 * Pull in CwlCatchException and CwlPreconditionTesting transitively. by @younata in https://github.com/Quick/Nimble/pull/1108 **Full Changelog**: https://github.com/Quick/Nimble/compare/v13.0.0...v13.1.0
v13.0.0
20 weeks ago
# Highlights ## New Features - Nimble now supports Windows! (Thanks @brianmichel!) - the `Predicate` series of APIs has been renamed to `Matcher`. There are typealiases for the older APIs to better enable migrations. These typealiases will be marked as removed in the next major version of Nimble (Nimble 14), and they will be removed entirely in Nimble 15. - Nimble now supports the DriverKit platform. ## Breaking Changes - The `Predicate` series of APIs have been renamed. - The `AsyncDefaults` struct is now marked as removed. It will be fully removed in the next major version of Nimble. - The platform-independent targets in `Nimble.xcodeproj` have now been consolidated into a single Nimble (and NimbleTests) target. ## Other Notes - No changes since [Nimble 13 RC 1](https://github.com/Quick/Nimble/releases/tag/v13.0.0-rc.1). # Automated Release Notes ## What's Changed * Update release script for a more modern-ish release process by @younata in https://github.com/Quick/Nimble/pull/1086 * Bump cocoapods from 1.12.1 to 1.13.0 by @dependabot in https://github.com/Quick/Nimble/pull/1089 * Add Windows Support by @brianmichel in https://github.com/Quick/Nimble/pull/1088 * Rename Predicate to Matcher by @younata in https://github.com/Quick/Nimble/pull/1090 * Mark the AsyncDefaults struct as removed. by @younata in https://github.com/Quick/Nimble/pull/1092 * Consolidate xcodeproj targets (... again). by @younata in https://github.com/Quick/Nimble/pull/1093 * Bump actions/checkout from 3 to 4 by @dependabot in https://github.com/Quick/Nimble/pull/1091 ## New Contributors * @brianmichel made their first contribution in https://github.com/Quick/Nimble/pull/1088 **Full Changelog**: https://github.com/Quick/Nimble/compare/v12.3.0...v13.0.0
v13.0.0-rc.1
21 weeks ago
# Highlights ## New Features - Nimble now supports Windows! (Thanks @brianmichel!) - the `Predicate` series of APIs has been renamed to `Matcher`. There are typealiases for the older APIs to better enable migrations. These typealiases will be marked as removed in the next major version of Nimble (Nimble 14), and they will be removed entirely in Nimble 15. - Nimble now supports the DriverKit platform. ## Breaking Changes - The `Predicate` series of APIs have been renamed. - The `AsyncDefaults` struct is now marked as removed. It will be fully removed in the next major version of Nimble. - The platform-independent targets in `Nimble.xcodeproj` have now been consolidated into a single Nimble (and NimbleTests) target. # Automated Release Notes ## What's Changed * Update release script for a more modern-ish release process by @younata in https://github.com/Quick/Nimble/pull/1086 * Bump cocoapods from 1.12.1 to 1.13.0 by @dependabot in https://github.com/Quick/Nimble/pull/1089 * Add Windows Support by @brianmichel in https://github.com/Quick/Nimble/pull/1088 * Rename Predicate to Matcher by @younata in https://github.com/Quick/Nimble/pull/1090 * Mark the AsyncDefaults struct as removed. by @younata in https://github.com/Quick/Nimble/pull/1092 * Consolidate xcodeproj targets (... again). by @younata in https://github.com/Quick/Nimble/pull/1093 * Bump actions/checkout from 3 to 4 by @dependabot in https://github.com/Quick/Nimble/pull/1091 ## New Contributors * @brianmichel made their first contribution in https://github.com/Quick/Nimble/pull/1088 **Full Changelog**: https://github.com/Quick/Nimble/compare/v12.3.0...v13.0.0-rc.1
v12.3.0
23 weeks ago
## Highlights - the async variant of `toEventually` no longer kicks off unstructured background tasks to check that the matcher matches. This means that there will no longer be the possibility that the same value will be being checked by multiples of the same matcher. ## What's Changed * Bump activesupport from 7.0.4.3 to 7.0.7.2 by @dependabot in https://github.com/Quick/Nimble/pull/1080 * Bump actions/checkout from 3 to 4 by @dependabot in https://github.com/Quick/Nimble/pull/1081 * Implement the async variant of toEventually using structured concurrency by @younata in https://github.com/Quick/Nimble/pull/1079 * Fix all swiftlint warnings by @younata in https://github.com/Quick/Nimble/pull/1085 **Full Changelog**: https://github.com/Quick/Nimble/compare/v12.2.0...v12.3.0
v12.2.0
31 weeks ago
# Highlights the `equal` matcher now supports arrays of tuples. For example: ```swift expect([ (1, 2), (3, 4) ]).to(equal([ (1, 2), (3, 4) ])) ``` Thanks @faroman for their contribution! # Automatically Generated Release Notes ## What's Changed * Fix typo in README.md by @nemesis in https://github.com/Quick/Nimble/pull/1066 * Equal predicate for array of tuples by @faroman in https://github.com/Quick/Nimble/pull/1065 ## New Contributors * @nemesis made their first contribution in https://github.com/Quick/Nimble/pull/1066 * @faroman made their first contribution in https://github.com/Quick/Nimble/pull/1065 **Full Changelog**: https://github.com/Quick/Nimble/compare/v12.1.0...v12.2.0
v12.1.0 - AsyncPredicate
33 weeks ago
## Highlights - You can now create Predicates that run in async contexts. ## What's Changed * Add AsyncPredicate - Matchers with AsyncExpressions by @younata in https://github.com/Quick/Nimble/pull/1056 * Remove unused constant by @peterringset in https://github.com/Quick/Nimble/pull/1064 ## New Contributors * @peterringset made their first contribution in https://github.com/Quick/Nimble/pull/1064 **Full Changelog**: https://github.com/Quick/Nimble/compare/v12.0.1...v12.1.0
iOS macOS watchOS tvOS
ankurp/Dollar 10.0.0
A functional tool-belt for Swift Language similar to Lo-Dash or Underscore.js in Javascript
โญ๏ธ 4,245
๐Ÿ•“ 2 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.
v10.0.0
2 days ago
# Changelog * Updating project settings * Adding platforms supported in Package.swift file * Updating docs
v9.0.0
4 years ago
Xcode 11 and Swift 5 support
v8.0.0
5 years ago
Adding support for Xcode 10 and Swift 4.2 by fixing project warnings and deprecations.
v7.1.0
6 years ago
* Added `sum` function * Added `throttle` function * Removing commented tests for flatten * Renaming class to Dollar and creating `$` and `โ‚ฌ` typealias * Updated docs.
v7.0.0
6 years ago
* Support for Swift 4 and Xcode 9
v6.2.1
6 years ago
* Bug fix to support Dispatch in Linux * Adding `.swift-sample` to try on IBM Swift Sandbox
v6.2.0
6 years ago
# Changelog * Removed Compiler warning when not chaining in `$.each` functions * Added `delay` function * Added `debounce` function
v6.1.0
7 years ago
# Changelog - Add support for linux - Added `permutation` function which generate permutation give an array of elements - Regenerated Xcode project using swift package manager command
v6.0.0
7 years ago
# Changelog - Updating to use Swift 3 syntax and work in Xcode 8
v5.2.0
7 years ago
# Changelog - Added `groupBy` function - Added matrix `transpose` function - Fixed source code documentation - Added linting rules for docs
iOS macOS watchOS tvOS
tuist/tuist $VERSION
๐Ÿš€ Create, maintain, and interact with Xcode projects at scale
โญ๏ธ 4,036
๐Ÿ•“ 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.
4.4.0
3 days ago
### Tuist #### Added * Add docs about GCS support by @fortmarek in https://github.com/tuist/tuist/pull/5997 * Add support for the new `package` access modifier by @pepicrft in https://github.com/tuist/tuist/pull/5983 #### Fixed * Fix spm bundle recursion by @fortmarek in https://github.com/tuist/tuist/pull/5999 * Avoid infinite loop caused by symbolic links by @haifengkao in https://github.com/tuist/tuist/pull/5813 * Prune targets with no destinations after platform narrowing by @fortmarek in https://github.com/tuist/tuist/pull/5979 #### Changed * Upgrade to xcbeautify 1.6.0 by @cpisciotta in https://github.com/tuist/tuist/pull/5996 * Update docs for optional Cloud.Option by @fortmarek in https://github.com/tuist/tuist/pull/6002 * SPM dependencies now implicitly support all platforms by @fortmarek in https://github.com/tuist/tuist/pull/5990 #### Removed * Remove version command by @pepicrft in https://github.com/tuist/tuist/pull/5995 ### Tuist Cloud #### Fixed * Add support for pasting the token to enable Tuist Cloud authentication via Safari by @pepicrft
4.3.4
1 week ago
### Tuist - no changes ### Tuist Cloud - no changes
4.3.3
1 week ago
### Tuist #### Added - Migrate CI pipelines to Codemagic [#5913](https://github.com/tuist/tuist/pull/5913) by [@pepicrft](https://github.com/pepicrft) - Support visionOS from the default asset templates to synthesize resources [#5963](https://github.com/tuist/tuist/pull/5963) by [@Ethan-IS](https://github.com/Ethan-IS) - Add support for `.pch` headers [#5967](https://github.com/tuist/tuist/pull/5967) by [@pepicrft](https://github.com/pepicrft) ### Tuist Cloud #### Fixed - Override existing artifacts in the cache that are invalid by [@pepicrft](https://github.com/pepicrft)
4.3.2
1 week ago
### Tuist #### Changed - Remove PackageSettings platforms property [#5953](https://github.com/tuist/tuist/pull/5953) by [@fortmarek](https://github.com/fortmarek) ### Tuist Cloud #### Fixed - Improve retrying logic when interacting with the remote cache by [@pepicrft](https://github.com/pepicrft)
4.3.1
1 week ago
### Tuist - no changes ### Tuist Cloud - no changes
4.3.0
1 week ago
### Tuist #### Changed - Make Tuist/Package.swift a valid location for the SPM manifest [#5947](https://github.com/tuist/tuist/pull/5947) by [@fortmarek](https://github.com/fortmarek) #### Fixed - Fix integration of AppCenter [#5935](https://github.com/tuist/tuist/pull/5935) by [@fortmarek](https://github.com/fortmarek) - Fix integration of SPM dependencies with resources [#5945](https://github.com/tuist/tuist/pull/5945) by [@fortmarek](https://github.com/fortmarek) - Fix DEFINES_MODULE warning [#5946](https://github.com/tuist/tuist/pull/5946) by [@fortmarek](https://github.com/fortmarek) - Fix failing tuist install when a package is removed [#5948](https://github.com/tuist/tuist/pull/5948) by [@fortmarek](https://github.com/fortmarek) ### Tuist Cloud - no changes
4.2.5
2 weeks ago
### Tuist - no changes ### Tuist Cloud #### Fixed - Fix storing of artifacts in Tuist Cloud by [@pepicrft](https://github.com/pepicrft)
4.2.4
2 weeks ago
### Tuist - no changes ### Tuist Cloud #### Fixed - Fix bug when compressing the artifacts to upload them to Tuist Cloud by [@pepicrft](https://github.com/pepicrft)
4.2.3
2 weeks ago
### Tuist - no changes ### Tuist Cloud #### Changed - Only show the progress bar when we fetch and store remote artifacts by [@pepicrft](https://github.com/pepicrft) #### Fixed - Reduce the network concurrency and add automatic retries when interacting with the network by [@pepicrft](https://github.com/pepicrft)
4.2.2
2 weeks ago
### Tuist - no changes ### Tuist Cloud #### Fixed - Fix runtime network error due to unlimited connections when persisting cache artifacts by [@pepicrft](https://github.com/pepicrft)
macOS

Popular Packages

ggerganov/llama.cpp master-fff0e0e
LLM inference in C/C++
โญ๏ธ 52,105
๐Ÿ•“ 32 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.
b2312
10 hours ago
b2311
16 hours ago
b2308
Yesterday
b2306
Yesterday
b2304
Yesterday
b2303
Yesterday
b2302
Yesterday
b2301
Yesterday
b2300
Yesterday
b2299
Yesterday
iOS macOS watchOS tvOS
Alamofire/Alamofire 5.8.1
Elegant HTTP Networking in Swift
โญ๏ธ 40,387
๐Ÿ•“ 18 weeks ago
๐Ÿ”– Release Notes

Releases

The markdown parsing is broken/disabled for release notes. Sorry about that, I'm chasing the source of a crash that's been bringing this website down for the last couple of days.
5.8.1
18 weeks ago
Released on 2023-10-26. All issues associated with this milestone can be found using this [filter](https://github.com/Alamofire/Alamofire/milestone/88?closed=1). ### Updated - Internal: `Protected` to no longer be a `@propertyWrapper`. - Updated by [Jon Shier](https://github.com/jshier) in Pull Request [#3777](https://github.com/Alamofire/Alamofire/pull/3777). ### Fixed - `URLEncodedFormEncoder` encoding of `Encodable` values with optional properties using `encodeIfPresent`. - Fixed by [Jon Shier](https://github.com/jshier) in Pull Request [#3779](https://github.com/Alamofire/Alamofire/pull/3779). - Missing "Skip Install" setting for visionOS target. - Fixed by [Sai](https://github.com/Sai) in Pull Request [#3788](https://github.com/Alamofire/Alamofire/pull/3788).
5.8.0
26 weeks ago
Released on 2023-08-31. All issues associated with this milestone can be found using this [filter](https://github.com/Alamofire/Alamofire/milestone/87?closed=1). #### Added - visionOS support. - Added by [Jon Shier](https://github.com/jshier) in Pull Requests [#3738](https://github.com/Alamofire/Alamofire/pull/3738) and [#3750](https://github.com/Alamofire/Alamofire/pull/3750). - Hooks for initial `HTTPURLResponse` values. - Added by [Jon Shier](https://github.com/jshier) in Pull Request [#3762](https://github.com/Alamofire/Alamofire/pull/3738). - Android build support. - Added by [Hugo Gonzalez](https://github.com/hggz) in Pull Request [#3744](https://github.com/Alamofire/Alamofire/pull/3744). #### Updated - Async integration to obey automatic cancellation by default. - Updated by [Jon Shier](https://github.com/jshier) in Pull Request [#3757](https://github.com/Alamofire/Alamofire/pull/3757). - Platform `#if` checks. - Updated by [brenno](https://github.com/brennobemoura) in Pull Request [#3756](https://github.com/Alamofire/Alamofire/pull/3756). - Windows CI. - Updated by [Saleem Abdulrasool](https://github.com/compnerd) in Pull Request [#3763](https://github.com/Alamofire/Alamofire/pull/3763). - `URL` conversion tests for 2023 `URL` changes. - Updated by [Jon Shier](https://github.com/jshier) in Pull Request [#3734](https://github.com/Alamofire/Alamofire/pull/3734). - for-loop to `contains`. - Updated by [Mayank Kumar Gupta](https://github.com/Mayank-84) in Pull Request [#3726](https://github.com/Alamofire/Alamofire/pull/3726). #### Fixed - `MultipartFormData` stream to properly obey `bodyContentLength`. - Fixed by [Henrique Valcanaia](https://github.com/hvsw) in Pull Request [#3730](https://github.com/Alamofire/Alamofire/pull/3730). - Unnecessary call to empty init. - Fixed by [Shinolr](https://github.com/Shinolr) in Pull Request [#3742](https://github.com/Alamofire/Alamofire/pull/3742). - Documentation typos. - Fixed by [Jenna](https://github.com/ueunli) in Pull Request [#3733](https://github.com/Alamofire/Alamofire/pull/3733).
5.7.1
42 weeks ago
Released on 2023-05-10. All issues associated with this milestone can be found using this [filter](https://github.com/Alamofire/Alamofire/milestone/86?closed=1). #### Updated - Deployment targets reverted to (macOS 10.12, iOS 10, tvOS 10, and watchOS 3)+ - Updated by [Jon Shier](https://github.com/jshier) in Pull Request [#3720](https://github.com/Alamofire/Alamofire/pull/3720).
5.7.0
42 weeks ago
Released on 2023-05-09. All issues associated with this milestone can be found using this [filter](https://github.com/Alamofire/Alamofire/milestone/84?closed=1). #### Added - Request body compression support. This is disabled by default. - Added by [Jon Shier](https://github.com/jshier) in Pull Request [#3701](https://github.com/Alamofire/Alamofire/pull/3701). - `ArrayEncoding.custom` to `URLEncodedFormEncoder` and `URLEncoding`. - Added by [Mike Naquin](https://github.com/naquin) in Pull Request [#3699](https://github.com/Alamofire/Alamofire/pull/3699). - `KeyPathEncoding` to `URLEncodedFormEncoder`. - Added by [Jon Shier](https://github.com/jshier) in Pull Request [#3689](https://github.com/Alamofire/Alamofire/pull/3689). - `NilEncoding` to `URLEncodedFormEncoder`. - Added by [Jon Shier](https://github.com/jshier) in Pull Request [#3686](https://github.com/Alamofire/Alamofire/pull/3686). #### Updated - Alamofire now requires Swift 5.5+ and (macOS 10.13, iOS 11, tvOS 11, and watchOS 4)+. - Updated by [Jon Shier](https://github.com/jshier) in Pull Requests [#3670](https://github.com/Alamofire/Alamofire/pull/3670) and [#3717](https://github.com/Alamofire/Alamofire/pull/3717). - `flatMap` to `map` in `HTTPHeaders`. - Updated by [kati](https://github.com/kati-kms) in Pull Request [#3704](https://github.com/Alamofire/Alamofire/pull/3704). - Various CI integrations. - Updated by [Jon Shier](https://github.com/jshier) in Pull Requests [#3685](https://github.com/Alamofire/Alamofire/pull/3685) and [#3712](https://github.com/Alamofire/Alamofire/pull/3712). #### Fixed - Reachability API usage safety. - Fixed by [Jon Shier](https://github.com/jshier) in Pull Request [#3684](https://github.com/Alamofire/Alamofire/pull/3684). - Unused `bufferingPolicy` in `StreamOf`. - Fixed by [Duc](https://github.com/trungducc) in Pull Request [#3668](https://github.com/Alamofire/Alamofire/pull/3668). - Various documentation typos. - Fixed by [Timo Wรคlisch](https://github.com/TimoWaelischIdealo), [Tony](https://github.com/iamtony), and [uhooi](https://github.com/uhooi) in various PRs.
5.6.4
1 year 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
1 year ago
Released on 2022-11-20. All issues associated with this milestone can be found using this [filter](https://github.com/Alamofire/Alamofire/milestone/83?closed=1). #### Updated - Swift package to 5.7, CI to Xcode 14.1. - Updated by [Jon Shier](https://github.com/jshier) in Pull Request [#3653](https://github.com/Alamofire/Alamofire/pull/3653). #### Fixed - Calls to deprecated cancellation handler function. - Fixed by [Sven Mรผnnich](https://github.com/svenmuennich) in Pull Request [#3657](https://github.com/Alamofire/Alamofire/pull/3657). - Unnecessary protocol conformance on Combine publishers. - Fixed by [MoonkiKim(๊น€๋ฌธ๊ธฐ)](https://github.com/tedKim5178) in Pull Request [#3650](https://github.com/Alamofire/Alamofire/pull/3650). - Don't attempt retry when `Request` has already been cancelled. - Fixed by [Jon Shier](https://github.com/jshier) in Pull Request [#3641](https://github.com/Alamofire/Alamofire/pull/3641). #### New Contributors * @tedKim5178 made their first contribution in https://github.com/Alamofire/Alamofire/pull/3650 * @svenmuennich made their first contribution in https://github.com/Alamofire/Alamofire/pull/3657 **Full Changelog**: https://github.com/Alamofire/Alamofire/compare/5.6.2...5.6.3
Safer Encoding
1 year ago
Released on 2022-07-17. All issues associated with this milestone can be found using this [filter](https://github.com/Alamofire/Alamofire/milestone/82?closed=1). #### Added - Error when object provided to `JSONEcoding` contains values that can't be passed through `JSONSerialization`. - Added by [Jon Shier](https://github.com/jshier) in Pull Request [#3624](https://github.com/Alamofire/Alamofire/pull/3624). #### Updated - CI support for all supported Xcode, macOS, and Linux versions. - Updated by [Jon Shier](https://github.com/jshier) in Pull Requests [#3607](https://github.com/Alamofire/Alamofire/pull/3607) and [#3622](https://github.com/Alamofire/Alamofire/pull/3622). - Support for various Xcode versions. - Updated by [Jon Shier](https://github.com/jshier) in Pull Requests [#3616](https://github.com/Alamofire/Alamofire/pull/3616) and [#3632](https://github.com/Alamofire/Alamofire/pull/3632). - `Cache-Control` header tests to not require hard-coded delays. - Updated by [Jon Shier](https://github.com/jshier) in Pull Request [#3601](https://github.com/Alamofire/Alamofire/pull/3601). #### Fixed - Swift version check for `SecTrustCopyCertificateChain`. - Fixed by [Jon Shier](https://github.com/jshier) in Pull Request [#3606](https://github.com/Alamofire/Alamofire/pull/3606). - Various documentation issues. - Fixed by [Jacob Lange](https://github.com/jacoblange-dev), [rain2540](https://github.com/rain2540), [bondxf](https://github.com/bondxf), [Ikko Ashimine](https://github.com/eltociear), and [Elon Park](https://github.com/ElonPark) in various Pull Requests.
Missing Cancellation Parameter
1 year ago
Released on 2022-04-17. All issues associated with this milestone can be found using this [filter](https://github.com/Alamofire/Alamofire/milestone/81?closed=1). #### Fixed - Missing `automaticallyCancelling` parameter in `serializingDownloadedFileURL`. - Fixed by [Jon Shier](https://github.com/jshier) in Pull Request [#3597](https://github.com/Alamofire/Alamofire/pull/3597).
Concurrency Redux
1 year ago
Released on 2022-04-13. All issues associated with this milestone can be found using this [filter](https://github.com/Alamofire/Alamofire/milestone/80?closed=1). #### Added - Support for `HTTPMethod.query` to support the [upcoming standard](https://datatracker.ietf.org/doc/html/draft-ietf-httpbis-safe-method-w-body-02). - Added by [Jon Shier](https://github.com/jshier) in Pull Request [#3553](https://github.com/Alamofire/Alamofire/pull/3553). - Compile-time Swift version check to enforce minimum supported Swift version. - Added by [Dave Verwer](https://github.com/daveverwer) in Pull Request [#3549](https://github.com/Alamofire/Alamofire/pull/3549). - GitHub Sponsors support. You can now sponsor Alamofire directly through GitHub. - Added by [Jon Shier](https://github.com/jshier) in Pull Request [#3543](https://github.com/Alamofire/Alamofire/pull/3543). #### Updated - Swift version required to build [๐Ÿ”ฅ Experimental ๐Ÿ”ฅ] Swift Concurrency support to 5.6.0 to avoid various Apple bugs with Xcode 13.2.0 and 13.2.1. Support now requires Xcode 13.3.1. - Updated by [Jon Shier](https://github.com/jshier) in Pull Request [#3590](https://github.com/Alamofire/Alamofire/pull/3590). - `DownloadRequest` to avoid producing resume data when not explicitly requested on cancellation. - Updated by [Jon Shier](https://github.com/jshier) in Pull Request [#3538](https://github.com/Alamofire/Alamofire/pull/3538). - Testing infrastructure to use XCTestPlans on Apple platforms. - Updated by [Jon Shier](https://github.com/jshier) in Pull Request [#3538](https://github.com/Alamofire/Alamofire/pull/3538). - GitHub Actions support for greater OS coverage, more SPM platforms, and Swift 5.6. - Updated by [Jon Shier](https://github.com/jshier) in Pull Requests [#3534](https://github.com/Alamofire/Alamofire/pull/3534), [#3545](https://github.com/Alamofire/Alamofire/pull/3545), [#3570](https://github.com/Alamofire/Alamofire/pull/3570), and [#3587](https://github.com/Alamofire/Alamofire/pull/3587). #### Fixed - Various Security framework deprecation warnings when deploying to newer OSes. - Fixed by [Jon Shier](https://github.com/jshier) in Pull Request [#3555](https://github.com/Alamofire/Alamofire/pull/3555). - Various documentation issues. - Fixed by [Jon Shier](https://github.com/jshier), [Emanuele Fumagalli](https://github.com/emanuelef), [Huang-Libo](https://github.com/Huang-Libo), and [rain2540](https://github.com/rain2540) in Pull Requests [#3548](https://github.com/Alamofire/Alamofire/pull/3548), [#3562](https://github.com/Alamofire/Alamofire/pull/3562), [#3573](https://github.com/Alamofire/Alamofire/pull/3573), [#3574](https://github.com/Alamofire/Alamofire/pull/3574), and [#3585](https://github.com/Alamofire/Alamofire/pull/3585).
Swift Concurrency
2 years 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.
iOS macOS watchOS tvOS
grpc/grpc v1.62.0
The C based gRPC (C++, Python, Ruby, Objective-C, PHP, C#)
โญ๏ธ 40,314
๐Ÿ•“ 1 week 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.62.0
1 week ago
This is release 1.62.0 ([guardian](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 --- - [metadata] Allow non application/grpc content-type values. ([#35824](https://github.com/grpc/grpc/pull/35824)) - [BoringSSL] Update third_party/boringssl-with-bazel. ([#35768](https://github.com/grpc/grpc/pull/35768)) - [GPR] Removed GPR_BACKWARDS_COMPATIBILITY_MODE. ([#35602](https://github.com/grpc/grpc/pull/35602)) Python --- - [Build] Strip armv7 artifacts. ([#35832](https://github.com/grpc/grpc/pull/35832)) - [Python AIO] Handle DeprecationWarnings when get current loop. ([#35583](https://github.com/grpc/grpc/pull/35583)) - [Python AIO] Raise resource_exhausted error in case of concurrent RPC limit exceeded. ([#35376](https://github.com/grpc/grpc/pull/35376)) - [Python O11y] Build and distrib O11y package. ([#35578](https://github.com/grpc/grpc/pull/35578)) - [Python setuptools] Import error from distutils for lower version of setuptools. ([#35561](https://github.com/grpc/grpc/pull/35561)) - [ruby] Fix use-after-free for post-fork channel recreation. ([#35488](https://github.com/grpc/grpc/pull/35488)) Ruby --- - [ruby] Build/test ruby 3.3 and build native gems with Ruby 3.3 support. ([#35399](https://github.com/grpc/grpc/pull/35399))
Release v1.62.0-pre1
2 weeks ago
This is a prerelease of gRPC Core 1.62.0 (guardian). 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. Python --- - `grpcio_observability` package is not published in this release due to an issue in packaging.
Release v1.61.1
2 weeks ago
This is release gRPC Core 1.61.1 (grand). For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases). This release contains refinements, improvements, and bug fixes. Core --- - [Deps] Fix the issue with new Abseil #35883
Release v1.59.4
3 weeks ago
This is release gRPC Core 1.59.4 (generative). For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases). This release contains refinements, improvements, and bug fixes. - [Core] Add set min/max TLS version APIs to TLS credentials APIs. (#34861)
Release v1.56.4
3 weeks ago
This is release gRPC Core 1.56.4 (galvanized). For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases). This release contains refinements, improvements, and bug fixes. - [Core] Add set min/max TLS version APIs to TLS credentials APIs. (#34861)
Release v1.49.4
3 weeks ago
This is release gRPC Core 1.49.4 (gamma). For gRPC documentation, see [grpc.io](https://grpc.io/). For previous releases, see [Releases](https://github.com/grpc/grpc/releases). This release contains refinements, improvements, and bug fixes. - [Core] Add set min/max TLS version APIs to TLS credentials APIs. (#34861)
Release v1.61.0
4 weeks ago
This is release 1.61.0 ([grand](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 aggregate cluster design. ([#35313](https://github.com/grpc/grpc/pull/35313)) - [SSA] change xds_override_host policy to manage subchannels based on last-used time rather than EDS health state. ([#35397](https://github.com/grpc/grpc/pull/35397)) - [xDS] read connection idle timeout from CDS resource. ([#35395](https://github.com/grpc/grpc/pull/35395)) - [xDS] move CDS and EDS watchers into xds resolver. ([#35011](https://github.com/grpc/grpc/pull/35011)) - [alpn] Remove grpc-exp experimental ALPN protocol. ([#34876](https://github.com/grpc/grpc/pull/34876)) - Updated zlib to 1.3. ([#35147](https://github.com/grpc/grpc/pull/35147)) - [EventEngine] Clarify API: callback cancellation and thread safety. ([#35009](https://github.com/grpc/grpc/pull/35009)) C++ --- - [OTel] De-experimentalize API. ([#35509](https://github.com/grpc/grpc/pull/35509)) - [OTel] Experimental API for metrics. ([#35348](https://github.com/grpc/grpc/pull/35348)) - [OTel] Update OTel Bazel dep to v1.13.0. ([#35352](https://github.com/grpc/grpc/pull/35352)) - [example] C++ Debugging. ([#35222](https://github.com/grpc/grpc/pull/35222)) - [otel] Update OTel to head. ([#35151](https://github.com/grpc/grpc/pull/35151)) Python --- - [Python O11Y] Add _registered_method to __init__.py. ([#35482](https://github.com/grpc/grpc/pull/35482)) - [Python Otel] Re-apply Otel. ([#35439](https://github.com/grpc/grpc/pull/35439)) - [python O11Y] Implement OpenTelemetry. ([#35292](https://github.com/grpc/grpc/pull/35292)) Ruby --- - [ruby] backport "Build/test ruby 3.3 and build native gems with Ruby 3.3 support (#35399)". ([#35614](https://github.com/grpc/grpc/pull/35614))
Release v1.61.0-pre3
4 weeks ago
This is a prerelease of gRPC Core 1.61.0 (grand). 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.61.0-pre2
5 weeks ago
This is a prerelease of gRPC Core 1.61.0 (grand). 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.60.1
4 weeks ago
This is release gRPC Core 1.60.1 (gjallarhorn). 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. Python --- - [Python Misc] Revert change to print backtrace in server. ([#35462](https://github.com/grpc/grpc/pull/35462))
nlohmann/json v3.11.3
JSON for Modern C++
โญ๏ธ 39,316
๐Ÿ•“ 13 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.
JSON for Modern C++ version 3.11.3
13 weeks ago
Release date: 2023-11-28 SHA-256: 9bea4c8066ef4a1c206b2be5a36302f8926f7fdc6087af5d20b417d0cf103ea6 (json.hpp), a22461d13119ac5c78f205d3df1db13403e58ce1bb1794edc9313677313f4a9d (include.zip), d6c65aca6b1ed68e7a182f4757257b107ae403032760ed6ef121c9d55e81757d (json.tar.xz) ### Summary This release fixes some bugs found in the [3.11.2](https://github.com/nlohmann/json/releases/tag/v3.11.2) release. All changes are backward-compatible. :moneybag: Note you can **support this project** via [GitHub sponsors](https://github.com/sponsors/nlohmann) or [PayPal](https://paypal.me/nlohmann). ### :sparkles: New Features - Allow [**custom base class**](https://json.nlohmann.me/api/basic_json/json_base_class_t/) as node customization point. This adds an additional template parameter which allows to set a custom base class for `nlohmann::json`. This class serves as an extension point and allows to add functionality to json node. Examples for such functionality might be metadata or additional member functions (e.g., visitors) or other application specific code. By default the parameter is set to `void` and an empty base class is used. In this case the library behaves as it already did. #3110 - Add more specific parse error message when attempting to **parse empty input**. #4037 #4180 - Add serialization-only user defined type [**macros**](https://json.nlohmann.me/features/macros/) (`NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE_ONLY_SERIALIZE` and `NLOHMANN_DEFINE_TYPE_INTRUSIVE_ONLY_SERIALIZE`). #3816 - Add **Bazel** build support. If you are using [Bazel](https://bazel.build/) you can simply reference this repository using `http_archive` or `git_repository` and depend on `@nlohmann_json//:json`. #3709 - Support Apple's Swift Package Manager. #4010 ### :bug: Bug Fixes - Adjust CMake files to accept `NEW` **CMake policies** up to CMake 3.14. This fixes a nasty deprecation warning that "Compatibility with CMake < 3.5 will be removed from a future version of CMake". #4076 #4112 - Fix CMake header path in install with custom `CMAKE_INSTALL_INCLUDEDIR`. #4194 - Add missing `<numeric>` header include. #3717 #3718 #3719 - Replace uses of `INT_MIN`/`INT_MAX`, etc. with `std::numeric_limits` and consistently use `std`-namespaced integer types to make library work with newer GCC versions. #3722 #3723 - Add missing files (`json_fwd.hpp` and Bazel build files) to release artifact `include.zip`. #3727 #3728 - Fix 'declaration hides global declaration' warning. #3751 - Fix natvis XML. #3858 #3863 - Fix warning about moved from object. #3805 #3889 - Remove a magic number to fix a warning. #3837 #3888 - Fix debug pretty-printer by checking if match is valid before accessing group. #3919 #3920 - Fix custom allocators by defining missing `rebind` type. #3895 #3927 - Prevent memory leak when exception is thrown in `adl_serializer::to_json` #3881 #3901 - Fix Clang-Tidy warnings. #4047 - Fix init-list construction when `size_type` is not `int`. #4140 - Fix deprecation warning "identifier `_json` preceded by whitespace in a literal operator declaration". #4129 #4161 - Fix compile error with `_HAS_STATIC_RTTI=0`. #4046 - Fix char_traits deprecation warning "`char_traits<unsigned char>` is deprecated: `char_traits<T>` for `T` not equal to `char`, `wchar_t`, `char8_t`, `char16_t` or `char32_t` is non-standard". #4163 #4179 ### :hammer: Further Changes #### CI - Use official [Clang](https://github.com/silkeh/docker-clang)/[GCC](https://hub.docker.com/_/gcc) Docker containers in the CI. #3703 - Add workflow to check if the source files are amalgamated. #3693 - Fix CI build. #3724 #3862 #3978 #3985 #4025 #4083 #4160 #4196 #4215 - Use Clang 15. #3822 #3876 - Add [CIFuzz](https://google.github.io/oss-fuzz/getting-started/continuous-integration/) CI GitHub action. #3845 - Fix MinGW script and CI. #3892 #4175 - Removed lgtm and DroneCI and added [Cirrus CI](https://cirrus-ci.org). #3890 #3906 #3935 #3937 - Set minimal permissions to Github Workflows. #3971 #3972 - Refactor amalgamation workflow to avoid dangerous use of pull_request_target. #3945 #3969 #### Documentation - Add [**migration guide**](https://json.nlohmann.me/integration/migration_guide/) to replace deprecated library functions. #3702 #3887 - Add dark mode toggle to documentation #3726 - Fix typos in documentation. #3748 #3767 #3902 #3932 #3951 #4109 #4126 #4143 #4149 #4159 #4173 - Update Codacy link. #3740 - Bump documentation tool versions. #3781 #3872 #3891 #3934 - Add vcpkg port version badge. #3988 - Add to `CONTRIBUTING.md` that `make pretty` is required for test updates. #4045 - Use template get instead of get in examples. #3827 #4038 #4039 - Capture exceptions by `const&` in docs. #4099 - Fix source highlighting in user defined type macros docs. #4169 #### Tests - Use `std::ranges::equals` for range comparisons in test case. #3927 #3950 - Add more algorithm tests to `unit-algorithm.cpp`. #4044 ### :fire: Deprecated functions This release does not deprecate any function. See the [**migration guide**](https://json.nlohmann.me/integration/migration_guide/) for help adjusting your code for future versions. The following functions have been deprecated in earlier versions and will be removed in the next major version (i.e., 4.0.0): - The function `iterator_wrapper` is deprecated. Please use the member function [`items()`](https://json.nlohmann.me/api/basic_json/items/) instead. - Functions `friend std::istream& operator<<(basic_json&, std::istream&)` and `friend std::ostream& operator>>(const basic_json&, std::ostream&)` are deprecated. Please use [`friend std::istream& operator>>(std::istream&, basic_json&)`](https://json.nlohmann.me/api/operator_gtgt/) and [`friend operator<<(std::ostream&, const basic_json&)`](https://json.nlohmann.me/api/operator_ltlt/) instead. - Passing iterator pairs or pointer/length pairs to parsing functions (`basic_json::parse`, `basic_json::accept`, `basic_json::sax_parse`, `basic_json::from_cbor`, `basic_json::from_msgpack`, `basic_json::from_ubjson`, `basic_json::from_bson`) via initializer lists is deprecated. Instead, pass two iterators; for instance, call `basic_json::from_cbor(ptr, ptr+len)` instead of `basic_json::from_cbor({ptr, len})`. - The implicit conversion from JSON Pointers to string ([`json_pointer::operator string_t`](https://json.nlohmann.me/api/json_pointer/operator_string_t)) is deprecated. Use [`json_pointer::to_string`](https://json.nlohmann.me/api/json_pointer/to_string/) instead. - Comparing JSON Pointers with strings via [`operator==`](https://json.nlohmann.me/api/json_pointer/operator_eq/) and [`operator!=`](https://json.nlohmann.me/api/json_pointer/operator_ne/) have been deprecated. To compare a [`json_pointer`](https://json.nlohmann.me/api/json_pointer/) `p` with a string `s`, convert `s` to a `json_pointer` first and use [`json_pointer::operator==`](https://json.nlohmann.me/api/json_pointer/operator_eq/) or [`json_pointer::operator!=`](https://json.nlohmann.me/api/json_pointer/operator_ne/). #3684 All deprecations are annotated with [`HEDLEY_DEPRECATED_FOR`](https://nemequ.github.io/hedley/api-reference.html#HEDLEY_DEPRECATED_FOR) to report which function to use instead.
JSON for Modern C++ version 3.11.2
1 year ago
Release date: 2022-08-12 SHA-256: 665fa14b8af3837966949e8eb0052d583e2ac105d3438baba9951785512cf921 (json.hpp), e5c7a9f49a16814be27e4ed0ee900ecd0092bfb7dbfca65b5a421b774dccaaed (include.zip), 8c4b26bf4b422252e13f332bc5e388ec0ab5c3443d24399acb675e68278d341f (json.tar.xz) ### Summary This release fixes some bugs found in the [3.11.1](https://github.com/nlohmann/json/releases/tag/v3.11.1) release. Furthermore, the []((https://json.nlohmann.me/features/namespace/)) of the namespace library has been re-structured. All changes are backward-compatible. :moneybag: Note you can **support this project** via [GitHub sponsors](https://github.com/sponsors/nlohmann) or [PayPal](https://paypal.me/nlohmann). ### :bug: Bug Fixes - Fix the [`value`](https://json.nlohmann.me/api/basic_json/value/) function which was broken for strings, size types, and `nullptr` in release 3.11.0. #3652 #3655 #3663 - Fix the `json_fwd.hpp` header to be self-contained and add it to the single-header release. #3656 #3679 #3687 - Fix regression that broke using [`json_pointer`](https://json.nlohmann.me/api/json_pointer/) as key in associative containers. #3680 #3685 - Add missing constraint to deprecated JSON Pointer overloads of [`contains`](https://json.nlohmann.me/api/basic_json/contains/) and [`at`](https://json.nlohmann.me/api/basic_json/at/). #3658 #3681 - Fix comparison between [`json_pointer`](https://json.nlohmann.me/api/json_pointer/) and strings with `==` and `!=`. These comparisons worked in 3.10.5, but were broken in 3.11.0 and 3.11.1. #3654 #3664 - Fix `to_json` conversion of `std::vector<bool>::reference` and `std::vector<bool>::const_reference` for STLs where these are the same as `basic_json::boolean_t&` and `basic_json::boolean_t`, respectively. #3677 #3678 ### :zap: Improvements - Restructure inline namespace and allow version component to be disabled. See [documentation](https://json.nlohmann.me/features/namespace/). #3683 #3696 #3697 #3698 - Avoid heap allocations in [BJData](https://json.nlohmann.me/features/binary_formats/bjdata/) parser. #3637 ### :hammer: Further Changes #### Documentation - Publish documentation on every push to `develop` branch. #3660 #3673 - Add missing examples for the [public API](https://json.nlohmann.me/api/basic_json/). #3672 #3686 - Fix typo in [`json_pointer`](https://json.nlohmann.me/api/json_pointer/) documentation. #3692 #### Community - Add a badge for the [Discord chat](https://discord.gg/6mrGXKvX7y) to the README file. The goal of that additional communication channel beyond [the existing ones](https://github.com/nlohmann/json#support) is to quickly coordinate between the contributors. #3651 - Complete contributor list. #3662 #3670 #### CI - Remove the `macos-10.15` image from the CI as it is removed by GitHub Actions. #3612 #3615 #3626 - Remove hardcoded paths in Ubuntu workflow. #3626 - Only trigger AppVeyor builds if relevant files have been changed. #3626 - Fix CodeQL warning. #3626 - Harmonize naming of GitHub Actions jobs. #3661 - Add labeler action to automatically add PR labels based on the changed files. #3671 #3674 #3675 - Lint API documentation in the CI. #3672 - Add local [LGTM](http://lgtm.com) configuration and suppress warnings on third-party scripts. #3643 ### :fire: Deprecated functions - This release deprecates comparing JSON Pointers with strings via [`operator==`](https://json.nlohmann.me/api/json_pointer/operator_eq/) and [`operator!=`](https://json.nlohmann.me/api/json_pointer/operator_ne/). To compare a [`json_pointer`](https://json.nlohmann.me/api/json_pointer/) `p` with a string `s`, convert `s` to a `json_pointer` first and use [`json_pointer::operator==`](https://json.nlohmann.me/api/json_pointer/operator_eq/) or [`json_pointer::operator!=`](https://json.nlohmann.me/api/json_pointer/operator_ne/). #3684 The following functions have been deprecated in earlier versions and will be removed in the next major version (i.e., 4.0.0): - The function `iterator_wrapper` is deprecated. Please use the member function [`items()`](https://json.nlohmann.me/api/basic_json/items/) instead. - Functions `friend std::istream& operator<<(basic_json&, std::istream&)` and `friend std::ostream& operator>>(const basic_json&, std::ostream&)` are deprecated. Please use [`friend std::istream& operator>>(std::istream&, basic_json&)`](https://json.nlohmann.me/api/operator_gtgt/) and [`friend operator<<(std::ostream&, const basic_json&)`](https://json.nlohmann.me/api/operator_ltlt/) instead. - Passing iterator pairs or pointer/length pairs to parsing functions (`basic_json::parse`, `basic_json::accept`, `basic_json::sax_parse`, `basic_json::from_cbor`, `basic_json::from_msgpack`, `basic_json::from_ubjson`, `basic_json::from_bson`) via initializer lists is deprecated. Instead, pass two iterators; for instance, call `basic_json::from_cbor(ptr, ptr+len)` instead of `basic_json::from_cbor({ptr, len})`. - The implicit conversion from JSON Pointers to string ([`json_pointer::operator string_t`](https://json.nlohmann.me/api/json_pointer/operator_string_t)) is deprecated. Use [`json_pointer::to_string`](https://json.nlohmann.me/api/json_pointer/to_string/) instead. All deprecations are annotated with [`HEDLEY_DEPRECATED_FOR`](https://nemequ.github.io/hedley/api-reference.html#HEDLEY_DEPRECATED_FOR) to report which function to use instead.
JSON for Modern C++ version 3.11.1
1 year ago
Release date: 2022-08-01 SHA-256: 9279dc616aac67efce68967f118051b50236612b90572e059783d368bd78687e (json.hpp), 9c15ca7806f863872452bfbc85fee6d1c9868117e3ea5e00a204ae961a2e1ae7 (include.zip), e6dd39f8f2da9cab11de2212acdd40b1cc1aafbe09da8c92933b911d19da3302 (json.tar.xz) ### Known issues - #3652 Regression: call to member function 'value' is ambiguous - #3654 Regression: no match for 'operator!=' comparing json_pointer and const char */string_t - #3655 Regression: .value<size_t> is compilation error All issues are fixed in the `develop` branch and will be part of the [3.11.2](https://github.com/nlohmann/json/releases/tag/v3.11.2) release. ### Summary [Version 3.11.0](https://github.com/nlohmann/json/releases/tag/v3.11.0) moved the user-defined string literals (UDL) into namespace `nlohmann::literals::json_literals` (see [documentation](https://json.nlohmann.me/api/macros/json_use_global_udls/)). Unfortunately, this namespace was not imported to the global namespace by default which broke code. This release fixes this bug. All changes are backward-compatible. See [release notes of version 3.11.0](https://github.com/nlohmann/json/releases/tag/v3.11.0) for more information on other features. :moneybag: Note you can **support this project** via [GitHub sponsors](https://github.com/sponsors/nlohmann) or [PayPal](https://paypal.me/nlohmann). ### :bug: Bug fixes - Set default value of [`JSON_USE_GLOBAL_UDLS`](https://json.nlohmann.me/api/macros/json_use_global_udls/) and the CMake options `JSON_GlobalUDLs` to `1` to import the user-defined string literals from the `nlohmann::literals::json_literals` namespace into the global namespace by default. #3644 #3645 #3646
JSON for Modern C++ version 3.11.0
1 year ago
* * * **:bug: Unfortunately, this release introduced a bug that breaks existing usages of the user-defined string literals (UDL). This is fixed in [version 3.11.1](https://github.com/nlohmann/json/releases/tag/v3.11.1).** * * * Release date: 2022-08-01 SHA-256: eb73896e9ce706ae6a62ce697dc8aca214840f70d8281779a6ea0cabe3afab3f (json.hpp), b4789050cacd110faf8b100cee82af19ad0b4d3249625f6582a60eeeb80c84a7 (include.zip), 5c8f7a4d9e9c0d565e71b6e5b0b3a12f784ffbf142e1ddc7ba86002cefb4c6ee (json.tar.xz) ### Summary Version 3.11.0 is one of the biggest releases (in terms of closed issues and merged pull requests) ever. It brings: - **String view** support for all functions working on object keys (e.g., [`at`](https://json.nlohmann.me/api/basic_json/at/) or [`operator[]`](https://json.nlohmann.me/api/basic_json/operator%5B%5D/)), avoiding unnecessary allocations. - **BJData** as the fifth supported binary format besides BSON, CBOR, MessagePack, and UBJSON. - **Better C++20 support** to make the library integrate more smoothly with newer codebases. - Better support for avoiding problems when **multiple versions** of the library are used in the same project. - Even better and more extensive **documentation** and **examples**. - **More tests** for edge cases like 32-bit support, C++20 features, using the library with ICPC, or after including `<windows.h>`. All changes are backward-compatible. :moneybag: Note you can **support this project** via [GitHub sponsors](https://github.com/sponsors/nlohmann) or [PayPal](https://paypal.me/nlohmann). ### :sparkles: New Features - Allow to **use `std::string_view` as object keys** in [`at`](https://json.nlohmann.me/api/basic_json/at/), [`operator[]`](https://json.nlohmann.me/api/basic_json/operator%5B%5D/), [`value`](https://json.nlohmann.me/api/basic_json/value/), [`erase`](https://json.nlohmann.me/api/basic_json/erase/), [`find`](https://json.nlohmann.me/api/basic_json/find/), [`contains`](https://json.nlohmann.me/api/basic_json/contains/), and [`count`](https://json.nlohmann.me/api/basic_json/count/) to avoid unnecessary allocations. #3423, #1529, #3558, #3564 - Add support to read and write the UBJSON-derived **[Binary JData (BJData)](https://github.com/NeuroJSON/bjdata/blob/Draft_2/Binary_JData_Specification.md) format** (see [documentation](https://json.nlohmann.me/features/binary_formats/bjdata/)). #3336, #3461, #3463, #3475, #3479, #3493, #3491, #3492, #3490, #3500, #3502, #3503, #3505, #3513, #3514, #3519, #3523, #3541, #3543 ### :bug: Bug fixes - Allow creation of [`ordered_json`](https://json.nlohmann.me/api/ordered_json/) objects from initializer lists. #3342, #3343, #3370 - Fix failing tests when compiling with C++20 and add support for [`operator<=>`](https://json.nlohmann.me/api/basic_json/operator_spaceship/). #3207, #3446, #3472 - Fix comparison-related compilation problems in C++20 on GCC 12. #3138, #3379 - Make iterator satisfy `std::incrementable`. #3331, #3332 - Exclude `std::any` from implicit conversion. #3428, #3437 - Fix constraints on `from_json()` for strings. #3171, #3267, #3312, #3384, #3427, #3312, #3620 - Make iterators usable with `<ranges>` and range-v3. #3130, #3446 - Fix comparison of NaN values with `json` to behave like `float`. #3409, #3446 - Add [`operator<<(json_pointer)`](https://json.nlohmann.me/api/operator_ltlt/) to fix a regression after the 3.10.0 release. #3600, #3601 - Fix JSON Patch to not create missing parent objects. #3134, #3199, #3628 - Re-add `value_type` detection to distinguish string types (was broken in releases 3.10.4, and 3.10.5). #3204, #3333, #3604, #3602, #3629 - Fix latest build error in MSVC platform (was broken during development of 3.11.0). #3630 ### :zap: Improvements - Allow default values for [`NLOHMANN_DEFINE_TYPE_INTRUSIVE`](https://json.nlohmann.me/api/macros/nlohmann_define_type_intrusive/) and [`NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE`](https://json.nlohmann.me/api/macros/nlohmann_define_type_non_intrusive/). #2819, #3143 - Avoid clash with Arduino defines. #3338 - Improve [`meta`](https://json.nlohmann.me/api/basic_json/meta/) output for MSVC. #3417 - Check and warn if a different version of the library is already included (see [`JSON_SKIP_LIBRARY_VERSION_CHECK`](https://json.nlohmann.me/api/macros/json_skip_library_version_check/)). #3418 - Re-template [`json_pointer`](https://json.nlohmann.me/api/json_pointer/) on string type. #3415 - Allow to create booleans from `std::vector<bool>::reference`. #3533, #3534 - Allow to use array types where iterators are pointers. #3544 - Improve performance of writing binary formats to byte vectors. #3569 - Add [`patch_inplace`](https://json.nlohmann.me/api/basic_json/patch_inplace/) function to apply patches without copying. #3581, #3596 - Use [`swap`](https://json.nlohmann.me/api/basic_json/swap/) by ADL to allow swapping with non-`std` containers and improve error messages. #3609 - Add versioned, ABI-tagged inline namespace (see [`NLOHMANN_JSON_NAMESPACE`](https://json.nlohmann.me/api/macros/nlohmann_json_namespace/)) to avoid ODR errors when linking different versions of the library. #1539, #3360, #3588, #3590 - Move UDLs out of the global namespace (see [`JSON_USE_GLOBAL_UDLS`](https://json.nlohmann.me/api/macros/json_use_global_udls/)) to avoid name clashes. #1682, #3605 #### Warnings - Fix ICPC warning 1098. #3632, #3634 - Fix a `-Wpragmas` warning in GCC <11. #3550 ### :hammer: Further Changes - Fix `_MSC_VER` version to check for `std::filesystem`. #3240 - Remove `<sstream>` dependency. #3239, #3244 - Overwork bug template to systematically request information. #3348 - Add script to [test local version](https://github.com/nlohmann/json/tree/develop/tools/serve_header) in Compiler Explorer. #3456 - Change the default value of the CMake parameter `JSON_MultipleHeader` to `ON` to always use the multi-header version unless specified otherwise. #3532 - Add option to disable default enum conversions (see [`JSON_DISABLE_ENUM_SERIALIZATION`](https://json.nlohmann.me/api/macros/json_disable_enum_serialization/)). #3536 - Add maintainer targets to create source archive `json.tar.xz` which can be used in [`FetchContent`](https://json.nlohmann.me/integration/cmake/#fetchcontent). #3289, #3255 - Fix `CITATION.cff`. #3320 - Use [The Pitchfork Layout (PFL)](https://api.csswg.org/bikeshed/?force=1&url=https://raw.githubusercontent.com/vector-of-bool/pitchfork/develop/data/spec.bs). #3462 - Update Cpplint. #3454 - More intermediate folders from Visual Studio Code are added to `.gitignore`. #3572 - Add badge for https://repology.org/project/nlohmann-json/versions. #3586 - Use [REUSE licensing framework](http://reuse.software). #3546 , #3633, #3635 - Install `.pc` and `.cmake` files to `share` directory. #3619 #### CI - Add support for Visual Studio 2022., #3295 - Adjust GitHub Actions CI wrt. `windows-latest` image. #3368 - Remove deprecated `windows-2016` image. #3416 - Speed up AppVeyor CI. #3422 - Update CI image to check with ICPC, GCC 11 and Clang 14. #3420 - Add build step for ICPC to CI. #3465 - Add more Xcode versions (13.3.1, 13.3, 13.2.1, 13.2, and 13.1) to the CI. #3485 - Fix "JSON_MultipleHeaders" option spelling in CI. #3555 - Increase timeout for Unicode tests. #3579, #3580, #3614 - Abort CI runs on newer commits on the same branch. #3610 - Fix MinGW CI failures. #3618 - Disable exceptions on ICPC (for the `disabled_exceptions` unit test). #3621 #### Unit tests - Improve unit tests. #3380, #3393, #3365, #3405, #3377, #3421, #3422 - Disable regression test on GCC <8.4. #3451 - Add tests for 32 bit. #3524, #3529, #3530, #3532 - Add error message if test suite cannot be found. #3584, #3585 - Add unit test to make sure `iterator_input_adapter` advances iterators correctly. #3548 - Add a unit test including `<windows.h>`. #3631 #### Documentation and examples - Add more examples to documentation. #3464 - Improve documentation on supported types of [`parse`](https://json.nlohmann.me/api/basic_json/parse/) and [`accept`](https://json.nlohmann.me/api/basic_json/accept/). #3245, #3246 - Add documentation on [how to parse JSON Lines](https://json.nlohmann.me/features/parsing/json_lines/) input. #3247 - Fix typos. #3249, #3265, #3426, #3439, #3481, #3499 - Document [parsing to `ordered_json`](https://json.nlohmann.me/features/object_order/#notes-on-parsing). #3325, #3326 - Use `FetchContent_MakeAvailable` in examples. #3345, #3351 - Document [requirement](https://json.nlohmann.me/api/macros/json_diagnostics/#notes) of using the same definition of `JSON_DIAGNOSTICS` in all linked objects. #3360, #3378 - Document [fuzz testing](https://github.com/nlohmann/json/blob/develop/tests/fuzzing.md). #3477, #3478 - Add documentation of [macros](https://json.nlohmann.me/api/macros/) and [runtime assertions](https://json.nlohmann.me/features/assertions/). #3444, #3431 - Fix documentation of [JSON Pointer](https://json.nlohmann.me/features/json_pointer/). #3511, #3520 - Make certain usage patterns more prominent in the README. #3557 - Document [precondition](https://json.nlohmann.me/api/basic_json/parse/#notes) for parsing from `FILE *` and add assertion. #3593 - Improve documentation. #3592 - Add documentation for [comparing `json` and `ordered_json`](https://json.nlohmann.me/api/basic_json/operator_eq/#notes). #3443, #3599 - Adjust JSON Pointer examples and add CI step for the examples. #3622 - Overwork documentation and add more examples. #3553 ### :fire: Deprecated functions The implicit conversion from JSON Pointers to string ([`json_pointer::operator string_t`](https://json.nlohmann.me/api/json_pointer/operator_string_t)) has been deprecated. Use [`json_pointer::to_string`](https://json.nlohmann.me/api/json_pointer/to_string/) instead. The following functions have been deprecated in earlier versions and will be removed in the next major version (i.e., 4.0.0): - The function `iterator_wrapper` is deprecated. Please use the member function [`items()`](https://json.nlohmann.me/api/basic_json/items/) instead. - Functions `friend std::istream& operator<<(basic_json&, std::istream&)` and `friend std::ostream& operator>>(const basic_json&, std::ostream&)` are deprecated. Please use [`friend std::istream& operator>>(std::istream&, basic_json&)`](https://json.nlohmann.me/api/operator_gtgt/) and [`friend operator<<(std::ostream&, const basic_json&)`](https://json.nlohmann.me/api/operator_ltlt/) instead. - Passing iterator pairs or pointer/length pairs to parsing functions (`basic_json::parse`, `basic_json::accept`, `basic_json::sax_parse`, `basic_json::from_cbor`, `basic_json::from_msgpack`, `basic_json::from_ubjson`, `basic_json::from_bson`) via initializer lists is deprecated. Instead, pass two iterators; for instance, call `basic_json::from_cbor(ptr, ptr+len)` instead of `basic_json::from_cbor({ptr, len})`. All deprecations are annotated with [`HEDLEY_DEPRECATED_FOR`](https://nemequ.github.io/hedley/api-reference.html#HEDLEY_DEPRECATED_FOR) to report which function to use instead.
JSON for Modern C++ version 3.10.5
2 years ago
Release date: 2022-01-03 SHA-256: e832d339d9e0c042e7dff807754769d778cf5d6ae9730ce21eed56de99cb5e86 (json.hpp), b94997df68856753b72f0d7a3703b7d484d4745c567f3584ef97c96c25a5798e (include.zip) ### Summary The previous version 3.10.4 introduced support to convert **`std::filesystem`** objects to JSON and vice versa. Unfortunately, we made the assumption that any compiler supporting C++17 would also have proper filesystem support. This was a mistake. This release introduces preprocessor checks (and means to override them) to make sure that the conversion support is only compiled if the compiler is detected to support it. All changes are backward-compatible. :moneybag: Note you can **support this project** via [GitHub sponsors](https://github.com/sponsors/nlohmann) or [PayPal](http://paypal.me/nlohmann). ### :bug: Bug fixes - Make sure C++17 filesystem conversions are only used if the compiler supports it. Furthermore, add defines [`JSON_HAS_FILESYSTEM` and `JSON_HAS_EXPERIMENTAL_FILESYSTEM`](https://json.nlohmann.me/features/macros/#json_has_cpp_11-json_has_cpp_14-json_has_cpp_17-json_has_cpp_20) which can be set to `0` to avoid using filesystem support altogether.`std::filesystem`. #3090 #3097 #3101 #3156 #3203 - Fix a compilation error with Nvidia CUDA Compiler (NVCC). #3013 #3234 #### Warnings - Fix a warning for shadowed variables. #3188 #3193 - Fix a warning on a pointless comparison. #3227 #2712 #2676 #1390 #755 ### :zap: Improvements - Add a parameter to the [`update`](https://json.nlohmann.me/api/basic_json/update/) function to recursively merge objects with common keys. #3006 #3069 - Extend [`std::hash`](https://json.nlohmann.me/api/basic_json/std_hash/#version-history) and [`std::swap`](https://json.nlohmann.me/api/basic_json/std_swap/) to work on any `nlohmann::basic_json` specializations rather than just `nlohmann::json`. #3121 ### :hammer: Further Changes #### Tests and CI - Update CI to use Clang 14, GCC 6, and Clang-Tidy 14. #3088 - Update cpplint. #3225 - Add build step for the Nvidia CUDA Compiler (NVCC). #3227 - Remove Travis CI. #3087 #3233 - Compile and execute the test suite with C++17. #3101 #### Documentation - The [mkdocs](https://www.mkdocs.org)-based documentation in [doc/mkdocs](https://github.com/nlohmann/json/tree/develop/doc/mkdocs) has been totally overworked. It now has a unified structure, more examples, and contains all information from the previous Doxygen-based documentation. The single source of truth is now the documentation on <https://json.nlohmann.me> and in particular the [**API Documentation**](https://json.nlohmann.me/api/basic_json/). #3071 - Removed Wandbox online examples. #3071 - Fix typos, links, and parameter names in the documentation. #3102 #3125 #3140 #3145 #3148 - Add more examples. #3071 #3100 ### :fire: Deprecated functions Passing iterator pairs or pointer/length pairs to parsing functions (`basic_json::parse`, `basic_json::accept`, `basic_json::sax_parse`, `basic_json::from_cbor`, `basic_json::from_msgpack`, `basic_json::from_ubjson`, `basic_json::from_bson`) via initializer lists is deprecated. Instead, pass two iterators; for instance, call `basic_json::from_cbor(ptr, ptr+len)` instead of `basic_json::from_cbor({ptr, len})`. The following functions have been deprecated in earlier versions and will be removed in the next major version (i.e., 4.0.0): - Function [`iterator_wrapper`](https://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_a0a8051760196ac813fd5eb3c8d5a2976.html#a0a8051760196ac813fd5eb3c8d5a2976) are deprecated. Please use the member function [`items()`](https://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_a5961446010dfc494e0c247b4e9026977.html#a5961446010dfc494e0c247b4e9026977) instead. - Functions [`friend std::istream& operator<<(basic_json&, std::istream&)`](https://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_a60ca396028b8d9714c6e10efbf475af6.html#a60ca396028b8d9714c6e10efbf475af6) and [`friend std::ostream& operator>>(const basic_json&, std::ostream&)`](https://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_a34d6a60dd99e9f33b8273a1c8db5669b.html#a34d6a60dd99e9f33b8273a1c8db5669b) are deprecated. Please use [`friend std::istream& operator>>(std::istream&, basic_json&)`](https://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_aaf363408931d76472ded14017e59c9e8.html#aaf363408931d76472ded14017e59c9e8) and [`friend operator<<(std::ostream&, const basic_json&)`](https://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_a5e34c5435e557d0bf666bd7311211405.html#a5e34c5435e557d0bf666bd7311211405) instead. All deprecations are annotated with [`HEDLEY_DEPRECATED_FOR`](https://nemequ.github.io/hedley/api-reference.html#HEDLEY_DEPRECATED_FOR) to report which function to use instead.
JSON for Modern C++ version 3.10.4
2 years ago
Release date: 2021-10-16 SHA-256: c9ac7589260f36ea7016d4d51a6c95809803298c7caec9f55830a0214c5f9140 (json.hpp), 62c585468054e2d8e7c2759c0d990fd339d13be988577699366fe195162d16cb (include.zip) ### Summary This release fixes two bugs introduced in release 3.10.0 and fixes the conversion of `std::filesystem::path`. All changes are backward-compatible. :moneybag: Note you can **support this project** via [GitHub sponsors](https://github.com/sponsors/nlohmann) or [PayPal](http://paypal.me/nlohmann). ### :bug: Bug Fixes - Fix regression bug introduced in release 3.10.0 which broke compilation for types with an explicit default constructor with default arguments. #3077 #3079 - Fix regression bug introduced in release 3.10.0 which treated the return values of `std::find` and `std::remove` as pointers which could break compilation. #3081 #3082 - Fix converting `std::filesystem::path` to JSON. Before release 3.10.3, such a conversion would trigger a stack overflow. Release 3.10.3 then further broke compilation on Windows. #3070 #3073 ### :fire: Deprecated functions Passing iterator pairs or pointer/length pairs to parsing functions (`basic_json::parse`, `basic_json::accept`, `basic_json::sax_parse`, `basic_json::from_cbor`, `basic_json::from_msgpack`, `basic_json::from_ubjson`, `basic_json::from_bson`) via initializer lists is deprecated. Instead, pass two iterators; for instance, call `basic_json::from_cbor(ptr, ptr+len)` instead of `basic_json::from_cbor({ptr, len})`. The following functions have been deprecated in earlier versions and will be removed in the next major version (i.e., 4.0.0): - Function [`iterator_wrapper`](https://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_a0a8051760196ac813fd5eb3c8d5a2976.html#a0a8051760196ac813fd5eb3c8d5a2976) are deprecated. Please use the member function [`items()`](https://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_a5961446010dfc494e0c247b4e9026977.html#a5961446010dfc494e0c247b4e9026977) instead. - Functions [`friend std::istream& operator<<(basic_json&, std::istream&)`](https://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_a60ca396028b8d9714c6e10efbf475af6.html#a60ca396028b8d9714c6e10efbf475af6) and [`friend std::ostream& operator>>(const basic_json&, std::ostream&)`](https://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_a34d6a60dd99e9f33b8273a1c8db5669b.html#a34d6a60dd99e9f33b8273a1c8db5669b) are deprecated. Please use [`friend std::istream& operator>>(std::istream&, basic_json&)`](https://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_aaf363408931d76472ded14017e59c9e8.html#aaf363408931d76472ded14017e59c9e8) and [`friend operator<<(std::ostream&, const basic_json&)`](https://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_a5e34c5435e557d0bf666bd7311211405.html#a5e34c5435e557d0bf666bd7311211405) instead. All deprecations are annotated with [`HEDLEY_DEPRECATED_FOR`](https://nemequ.github.io/hedley/api-reference.html#HEDLEY_DEPRECATED_FOR) to report which function to use instead.
JSON for Modern C++ version 3.10.3
2 years ago
Release date: 2021-10-08 SHA-256: bac28658a4c9410faa55960a70c1ac541e8a51bbaae57dc395e23ca5abd3159a (json.hpp), 4ae5744bc1edd216c79f619fd49915c0e490e41b05434c2d2b89e078299f04ed (include.zip) ### Summary This release fixes two more bug introduced in release 3.10.0: the **extended diagnostics triggered assertions** when used with `update()` or when inserting elements into arrays. All changes are backward-compatible. :moneybag: Note you can **support this project** via [GitHub sponsors](https://github.com/sponsors/nlohmann) or [PayPal](http://paypal.me/nlohmann). ### :bug: Bug Fixes - Fix bug in the [`update()`](https://json.nlohmann.me/api/basic_json/update/) function when used with extended diagnostics. #3007 #3008 - Fix bug when inserting into arrays when using extended diagnostics. #2926 #3032 #3037 ### :zap: Improvements #### Binary formats - Custom allocators are now supported when writing binary formats (e.g., CBOR, MessagePack) into a `std::vector`. #2982 #2989 #### User-defined type support - Allow conversion from types that do not define an explicit iterator type, but have a `begin()` and `end()` function. #3020 #### Tests and CI - Updated the [Docker image](https://github.com/nlohmann/json-ci) used in the CI. #2981 #2986 - Corrected the compiler version mentioned in the README file. #3040 #### Documentation - Add script to generate docset for Dash, Velocity, and Zeal. #2967 ### :fire: Deprecated functions Passing iterator pairs or pointer/length pairs to parsing functions (`basic_json::parse`, `basic_json::accept`, `basic_json::sax_parse`, `basic_json::from_cbor`, `basic_json::from_msgpack`, `basic_json::from_ubjson`, `basic_json::from_bson`) via initializer lists is deprecated. Instead, pass two iterators; for instance, call `basic_json::from_cbor(ptr, ptr+len)` instead of `basic_json::from_cbor({ptr, len})`. The following functions have been deprecated in earlier versions and will be removed in the next major version (i.e., 4.0.0): - Function [`iterator_wrapper`](https://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_a0a8051760196ac813fd5eb3c8d5a2976.html#a0a8051760196ac813fd5eb3c8d5a2976) are deprecated. Please use the member function [`items()`](https://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_a5961446010dfc494e0c247b4e9026977.html#a5961446010dfc494e0c247b4e9026977) instead. - Functions [`friend std::istream& operator<<(basic_json&, std::istream&)`](https://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_a60ca396028b8d9714c6e10efbf475af6.html#a60ca396028b8d9714c6e10efbf475af6) and [`friend std::ostream& operator>>(const basic_json&, std::ostream&)`](https://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_a34d6a60dd99e9f33b8273a1c8db5669b.html#a34d6a60dd99e9f33b8273a1c8db5669b) are deprecated. Please use [`friend std::istream& operator>>(std::istream&, basic_json&)`](https://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_aaf363408931d76472ded14017e59c9e8.html#aaf363408931d76472ded14017e59c9e8) and [`friend operator<<(std::ostream&, const basic_json&)`](https://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_a5e34c5435e557d0bf666bd7311211405.html#a5e34c5435e557d0bf666bd7311211405) instead. All deprecations are annotated with [`HEDLEY_DEPRECATED_FOR`](https://nemequ.github.io/hedley/api-reference.html#HEDLEY_DEPRECATED_FOR) to report which function to use instead.
JSON for Modern C++ version 3.10.2
2 years ago
Release date: 2021-08-26 SHA-256: 059743e48b37e41579ee3a92e82e984bfa0d2a9a2b20b175d04db8089f46f047 (json.hpp), 61e605be15e88deeac4582aaf01c09d616f8302edde7adcaba9261ddc3b4ceca (include.zip) ### Summary This release is made days after the 3.10.1 release due to a bug in the release script: The [3.10.1 release](https://github.com/nlohmann/json/releases/tag/v3.10.1) at GitHub contained the correct files, but the associated tag [v3.10.1](https://github.com/nlohmann/json/tree/v3.10.1) points to the wrong commit. This release is made with a fixed build script. All changes are backward-compatible. :moneybag: Note you can **support this project** via [GitHub sponsors](https://github.com/sponsors/nlohmann) or [PayPal](http://paypal.me/nlohmann). ### :zap: Improvements - Fix the release scripts to correctly tag releases. #2973 - Fix some `-Wunused` warnings on `JSON_DIAGNOSTICS` when the library is built without CMake. #2975 #2976 ### :fire: Deprecated functions Passing iterator pairs or pointer/length pairs to parsing functions (`basic_json::parse`, `basic_json::accept`, `basic_json::sax_parse`, `basic_json::from_cbor`, `basic_json::from_msgpack`, `basic_json::from_ubjson`, `basic_json::from_bson`) via initializer lists is deprecated. Instead, pass two iterators; for instance, call `basic_json::from_cbor(ptr, ptr+len)` instead of `basic_json::from_cbor({ptr, len})`. The following functions have been deprecated in earlier versions and will be removed in the next major version (i.e., 4.0.0): - Function [`iterator_wrapper`](https://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_a0a8051760196ac813fd5eb3c8d5a2976.html#a0a8051760196ac813fd5eb3c8d5a2976) are deprecated. Please use the member function [`items()`](https://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_a5961446010dfc494e0c247b4e9026977.html#a5961446010dfc494e0c247b4e9026977) instead. - Functions [`friend std::istream& operator<<(basic_json&, std::istream&)`](https://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_a60ca396028b8d9714c6e10efbf475af6.html#a60ca396028b8d9714c6e10efbf475af6) and [`friend std::ostream& operator>>(const basic_json&, std::ostream&)`](https://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_a34d6a60dd99e9f33b8273a1c8db5669b.html#a34d6a60dd99e9f33b8273a1c8db5669b) are deprecated. Please use [`friend std::istream& operator>>(std::istream&, basic_json&)`](https://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_aaf363408931d76472ded14017e59c9e8.html#aaf363408931d76472ded14017e59c9e8) and [`friend operator<<(std::ostream&, const basic_json&)`](https://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_a5e34c5435e557d0bf666bd7311211405.html#a5e34c5435e557d0bf666bd7311211405) instead. All deprecations are annotated with [`HEDLEY_DEPRECATED_FOR`](https://nemequ.github.io/hedley/api-reference.html#HEDLEY_DEPRECATED_FOR) to report which function to use instead.
JSON for Modern C++ version 3.10.1
2 years ago
Release date: 2021-08-24 SHA-256: 0b628af78a2f0f3e2ff41d8dfa18314dd53831ffc2720c2944192d9f53727f4d (json.hpp), 144268f7f85afb0f0fbea7c796723c849724c975f9108ffdadde9ecedaa5f0b1 (include.zip) ### Summary This release fixes a bug introduced in release 3.10.0: the **extended diagnostics triggered an assertion** when used with `ordered_json`. All changes are backward-compatible. :moneybag: Note you can **support this project** via [GitHub sponsors](https://github.com/sponsors/nlohmann) or [PayPal](http://paypal.me/nlohmann). ### :bug: Bug Fixes - Fix an assertion triggered in the extended diagnostics using `ordered_json`. #2962 #2963 - Make GDB pretty-printer robust against unset variable names. #2950 ### :zap: Improvements #### Warnings - Add a missing header to `hash.hpp`. #2948 - Fix some `-Wextra-semi-stmt` warnings. #2957 #### Tests and CI - Avoid duplicate builds in AppVeyor. #2952 - Remove an outdated test binary that is not supported any longer. #2941 #2945 - Skip tests that would fail if CMake option `JSON_Install` is set to `OFF`. #2946 #2947 - Move Travis jobs to travis-ci.com. #2938 #2959 - Set stack size for some unit tests when building with MSVC. #2955 #2961 - Add a regression test. #2960 #### Documentation - Update the Homebrew command as [nlohmann-json](https://formulae.brew.sh/formula/nlohmann-json) is now in homebrew-core. #2943 #2966 - Add example for integration via vcpkg. #2944 #2954 - Fix a typo in the documentation. #2968 ### :fire: Deprecated functions Passing iterator pairs or pointer/length pairs to parsing functions (`basic_json::parse`, `basic_json::accept`, `basic_json::sax_parse`, `basic_json::from_cbor`, `basic_json::from_msgpack`, `basic_json::from_ubjson`, `basic_json::from_bson`) via initializer lists is deprecated. Instead, pass two iterators; for instance, call `basic_json::from_cbor(ptr, ptr+len)` instead of `basic_json::from_cbor({ptr, len})`. The following functions have been deprecated in earlier versions and will be removed in the next major version (i.e., 4.0.0): - Function [`iterator_wrapper`](https://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_a0a8051760196ac813fd5eb3c8d5a2976.html#a0a8051760196ac813fd5eb3c8d5a2976) are deprecated. Please use the member function [`items()`](https://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_a5961446010dfc494e0c247b4e9026977.html#a5961446010dfc494e0c247b4e9026977) instead. - Functions [`friend std::istream& operator<<(basic_json&, std::istream&)`](https://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_a60ca396028b8d9714c6e10efbf475af6.html#a60ca396028b8d9714c6e10efbf475af6) and [`friend std::ostream& operator>>(const basic_json&, std::ostream&)`](https://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_a34d6a60dd99e9f33b8273a1c8db5669b.html#a34d6a60dd99e9f33b8273a1c8db5669b) are deprecated. Please use [`friend std::istream& operator>>(std::istream&, basic_json&)`](https://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_aaf363408931d76472ded14017e59c9e8.html#aaf363408931d76472ded14017e59c9e8) and [`friend operator<<(std::ostream&, const basic_json&)`](https://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_a5e34c5435e557d0bf666bd7311211405.html#a5e34c5435e557d0bf666bd7311211405) instead. All deprecations are annotated with [`HEDLEY_DEPRECATED_FOR`](https://nemequ.github.io/hedley/api-reference.html#HEDLEY_DEPRECATED_FOR) to report which function to use instead.
JSON for Modern C++ version 3.10.0
2 years ago
Release date: 2021-08-17 SHA-256: 230f3a03cefd586661ebab577a347c973d97a770afb89e22c52abc3c2a19d0a7 (json.hpp), b5e3bfad07feba218a26a4f809fbb0d1e33450524bf5d7244cabc92cf8178c69 (include.zip) ### Summary JSON for Modern C++ 3.10.0 is the first release for over a year. It contains some new features and a lot of minor changes and bug fixes. Most notably, it introduces [**extended diagnostics.**](https://json.nlohmann.me/home/exceptions/#extended-diagnostic-messages) By defining [`JSON_DIAGNOSTICS`](https://json.nlohmann.me/features/macros/#json_diagnostics) before including the `json.hpp`, a [JSON Pointer](https://datatracker.ietf.org/doc/html/rfc6901) is added to [exceptions](https://json.nlohmann.me/home/exceptions/) which helps to debug issues with object access, array indices, or mismatching types. Another important change behind the curtains is a **fully overworked CI** which performs a lot of checks for every commit which should allow more frequent releases in the future. All changes are backward-compatible. :moneybag: Note you can **support this project** via [GitHub sponsors](https://github.com/sponsors/nlohmann) or [PayPal](http://paypal.me/nlohmann). ### :sparkles: New Features - Add **extended diagnostics information** by adding a [JSON Pointer](https://datatracker.ietf.org/doc/html/rfc6901) to the [exception](https://json.nlohmann.me/home/exceptions/) messages indicating the exact location of a invalid type errors or out-of-bound errors. ``` [json.exception.type_error.302] (/address/housenumber) type must be number, but is string ``` Exceptions in the library are thrown in the local context of the JSON value they are detected. This makes detailed diagnostics messages, and hence debugging, difficult. To create better diagnostics messages, each JSON value needs a pointer to its parent value such that a global context (i.e., a path from the root value to the value that lead to the exception) can be created. That global context is then provided as a JSON Pointer. As this global context comes at the price of storing one additional pointer per JSON value and runtime overhead to maintain the parent relation, extended diagnostics are disabled by default. They can, however, be enabled by defining the preprocessor symbol [`JSON_DIAGNOSTICS`](https://json.nlohmann.me/features/macros/#json_diagnostics) to 1 before including `json.hpp`. See the [`documentation`](https://json.nlohmann.me/home/exceptions/#extended-diagnostic-messages) for more information. #932 #1508 #2562 #2838 #2866 - Add a [**GDB pretty printer**](https://github.com/nlohmann/json/tree/develop/third_party/gdb_pretty_printer) to facilitate reading `basic_json` values in GDB. #1952 #2607 - Add a new value `store` to the [cbor_tag_handler_t](https://json.nlohmann.me/api/basic_json/cbor_tag_handler_t/) which allows to store the tags of CBOR values as binary subtypes. #2863 #2908 - Add support for containers with non-default-constructible types. #2574 #2576 ### :bug: Bug Fixes - Fix a regression bug that failed `ordered_json` to be used when exceptions were switched off. #2347 #2725 #2934 - Added iterator range insertion for `ordered_json`. #2490 #2512 - Change the type of binary subtypes to `std::uint64_t` to support subtypes >255. Furthermore, the return value of the `subtype()` function has been fixed to the documented value `-1` in case no subtype is given. #2863 #2908 - Fix move constructor of internal `json_ref` type which created `null` values when compiled with `-fno-elide-constructors`. #2387 #2405 - Fix the compilation of `input_adapter` for containers in edge cases. #2553 - Allow parsing from `std::byte` containers. #2413 #2546 #2550 #2602 #2869 - Fix memory leak in `to_json` in case a JSON value is reused. #2865 #2872 - Fix compilation error in case symbol `EOF` was not found. #2755 #2756 - Fix Compilation error when using `NLOHMANN_JSON_SERIALIZE_ENUM` with `ordered_json` on libc++. #2491 #2825 #### Warnings A lot of warnings have been fixed in this release. To make sure the library remains warning-free, the CI now breaks in case a warning is found in GCC (261 warning flags), Clang (flag `-Weverything` with 8 exceptions), or MSVC (flag `/W4`). - Fix `-Wimplicit-fallthrough` warnings. #2348 #2349 - Fix `-Wfloat-equal` warnings. #2909 #2911 - Add assertions to suppress C28020 warnings. #2447 - Fix shadow warnings. #1759 #2536 #2444 - Fix compiler warnings in the test suite. #2537 - Fix issues found by Visual Studio Visual Assist #2615 - Fix unused parameter warning. #2646 #2658 #2668 #2706 #2707 - Remove HEDLEY annotation from `exception::what()` to fix C28204 warning. #2673 #2680 - Suppress C4127 warning. #2592 #2875 - Fix truncation warning. #2572 #2874 - Fix useless cast warning. #1777 #2114 #2893 #2902 - Fix unknown pragma warning. #2924 #2925 - Fix `-Wswitch-enum` warnings. #2927 - Fix C4309 and C4100 warnings and treat all MSVC `/W4` warnings as error. #2930 - Suppress fewer warning flags. #2936 ### :zap: Improvements #### Tests and CI The CI chain has been completely overworked and now runs mostly on a dedicated [Docker Image](https://github.com/nlohmann/json-ci) that contains all relevant tools. - Collected all CI calls in a [CMake file](https://github.com/nlohmann/json/blob/develop/cmake/ci.cmake) which can be enabled by setting `JSON_CI`. - Linux now builds with Clang 3.5 to 12 and GCC 4.8 to 11 checking multiple C++ standards. #2540 - Windows builds with MSVC 2015 to 2019, MinGW (GCC 8), Clang 11 and 12, and Clang-CL 11 checking multiple C++ standards. - Mac builds with Xcode 10.2.1 to Xcode 12.4 checking multiple C++ standards. #1798 #2561 #2737 #2790 #2817 - Use static analysis tools Clang-Tidy, Cppcheck, Valgrind, Google Sanitizers, Clang Static Analyzer, Cpplint, and Facebook Infer. - Add internal checks for CMake flags, switched off exceptions, header amalgamation, self-contained headers, and exclusion of certain tests via CTest. - Providers: Move most Travis/AppVeyor builds to GitHub Actions. Use [Drone CI](https://cloud.drone.io/nlohmann/json) for aarch64 build. Remove FOSSA. Properly select "Release" build for Travis CI builds. #2375 #2689 - Remove `#define private public` hack from test files. Instead, macro `JSON_PRIVATE_UNLESS_TESTED` is used in the source code which defaults to `private`, but can be set to `public` to test internals. #43 #913 #1985 #2352 #### CMake - Fixed issue in CMake file that overwrote `CMAKE_CXX_COMPILER` when the test suite was compiled. #2344 #2384 - Only enable CMake options `JSON_BuildTests` and `JSON_Install` by default when the library is the main project. #2513 #2514 - Add CTest label `not_reproducible` to skip non-reproducible tests. #2324 #2560 - Formatted CMake files ##2770 - Add a CMake option `JSON_SystemInclude` to use `SYSTEM` in `target_include_directories`. #2762 - Add CMake option `JSON_FastTests` (`OFF` by default) to which slow test suite. #### Documentation - Fixed typos in the documentation. #2354 #2754 - Extended documentation for discarded values and `is_discarded()` function. #2360 #2363 - Fix Markdown of README. #2582 - Fix example in README file. #2625 #2659 - Fix example in parse exceptions documentation. #2679 - Overworked [documentation of number handling](https://json.nlohmann.me/features/types/number_handling/). #2747 - Add link to Conan Center package to README. #2771 - Added example for CPM.cmake. #2406 - Update README to use HTTPS everywhere. #2789 - Fixed consistency of `using` declarations in README. #2826 - Fix documentation of tests that required a Git checkout. #2845 - Fix code samples in GIF slideshow. #2457 - Update documentation to reference [RFC 8259](https://tools.ietf.org/html/rfc8259.html) as JSON standard. - Add section on how to get support to README file. - Replaced links to Doxygen documentation with new [API documentation](https://json.nlohmann.me/api/basic_json/). - Documented the effect of a [bug](https://github.com/microsoft/STL/issues/2114) in Microsoft's STL that makes `what()` member function of exception objects unusable in case `_HAS_EXCEPTIONS=0` is set. #2824 #### Thirdparty - Updated Hedley to version 15. #2367 - Updated Doctest to version 2.4.6. #2525 #2538 #2686 #2687 ### :hammer: Further Changes - Use C++14 constructs where available. #2533 - Fix `pkg-config.pc` generation. #2690 - Add possibility to set the C++ standard via macros `JSON_HAS_CPP_11`, `JSON_HAS_CPP_14`, `JSON_HAS_CPP_17`, and `JSON_HAS_CPP_20`. By defining any of these symbols, the internal check is overridden and the provided C++ version is unconditionally assumed. This can be helpful for compilers that only implement parts of the standard and would be detected incorrectly. #2730 #2731 #2749 - Add preprocessor symbol `JSON_NO_IO`. When defined, headers `<cstdio>`, `<ios>`, `<iosfwd>`, `<istream>`, and `<ostream>` are not included and parse functions relying on these headers are excluded. This is relevant for environment where these I/O functions are disallowed for security reasons (e.g., Intel Software Guard Extensions (SGX)). #2728 #2729 #2842 #2861 - Benchmarks are handled via `FetchContent` and require CMake version 3.11. Removed Google Benchmark copy. Fix default branch name for Google Benchmarks. #2795 #2796 - Simplify object parser for CBOR. #2879 #2598 - Cleaned up maintainer Makefiles #### Licensing - Clarified license of `is_complete_type` implementation. #2534 - License fix for `integer_sequence` and `index_sequence` implementation. #2683 ### :fire: Deprecated functions Passing iterator pairs or pointer/length pairs to parsing functions (`basic_json::parse`, `basic_json::accept`, `basic_json::sax_parse`, `basic_json::from_cbor`, `basic_json::from_msgpack`, `basic_json::from_ubjson`, `basic_json::from_bson`) via initializer lists is deprecated. Instead, pass two iterators; for instance, call `basic_json::from_cbor(ptr, ptr+len)` instead of `basic_json::from_cbor({ptr, len})`. The following functions have been deprecated in earlier versions and will be removed in the next major version (i.e., 4.0.0): - Function [`iterator_wrapper`](https://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_a0a8051760196ac813fd5eb3c8d5a2976.html#a0a8051760196ac813fd5eb3c8d5a2976) are deprecated. Please use the member function [`items()`](https://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_a5961446010dfc494e0c247b4e9026977.html#a5961446010dfc494e0c247b4e9026977) instead. - Functions [`friend std::istream& operator<<(basic_json&, std::istream&)`](https://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_a60ca396028b8d9714c6e10efbf475af6.html#a60ca396028b8d9714c6e10efbf475af6) and [`friend std::ostream& operator>>(const basic_json&, std::ostream&)`](https://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_a34d6a60dd99e9f33b8273a1c8db5669b.html#a34d6a60dd99e9f33b8273a1c8db5669b) are deprecated. Please use [`friend std::istream& operator>>(std::istream&, basic_json&)`](https://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_aaf363408931d76472ded14017e59c9e8.html#aaf363408931d76472ded14017e59c9e8) and [`friend operator<<(std::ostream&, const basic_json&)`](https://nlohmann.github.io/json/doxygen/classnlohmann_1_1basic__json_a5e34c5435e557d0bf666bd7311211405.html#a5e34c5435e557d0bf666bd7311211405) instead. All deprecations are annotated with [`HEDLEY_DEPRECATED_FOR`](https://nemequ.github.io/hedley/api-reference.html#HEDLEY_DEPRECATED_FOR) to report which function to use instead.
iOS macOS watchOS tvOS
fastlane/fastlane watchbuild/0.1.4
๐Ÿš€ The easiest way to automate building and releasing your iOS and Android apps
โญ๏ธ 38,454
๐Ÿ•“ 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.219.0 Improvements
8 weeks ago
* [fastlane][ci] Lock google-cloud-env < 2.0.0 for Ruby 2.6 and fix CI to use specified ruby versions (#21777) via Josh Holtz (@joshdholtz) * [sigh] prevent crashes in `fetch_profiles` when profiles have no `bundle_id` (#21758) via jonas2808 (@jonas2808) * [scan] Fix device selection issue fallback scenario (#21772) via arc-v2 (@arc-v2) * [sigh] fix cache parameters validation (#21766) via Vitalii Budnik (@nekrich) * [match] fix cache issues in read-only mode (#21767) via Vitalii Budnik (@nekrich)
2.218.0 Improvements
8 weeks ago
Auto-generated by fastlane ๐Ÿค– **Changes since release '2.217.0':** * [action][sonar] replace deprecated sonar.login parameter with sonar.token (#21736) via Panajev (@Panajev) * [action][spm] add simulator flag for swift compiler (#21707) via Mohammad Gharari (@gharary) * [security] update `sinatra` dev dependency to resolve dependabot alert (#21709) via Jerome Lacoste (@lacostej) * [fastlane-core] recommends to retry uploading when AltoolTransporterExecutor crashes (#21536) via Jason Hagglund (@TheMetalCode) * [Fastlane.swift] fix Unexpected duplicate tasks error message in Fastlane Swift (#21621) via Daniel Jankowski (@mollyIV) * [scan] Filter simulators with version greater than SDK version of active Xcode installation when choosing default (#21677) via wuaar1003 (@wuaar1003) * [plugin_generator] move development dependencies from `*.gemspec.erb` to `Gemfile.erb` (#21726) via Roger Oba (@rogerluan) * [match] add caching layer to significantly improve performance by up to 100x (#21694) via Vitalii Budnik (@nekrich) * [fastlane_core] add support to Ruby 3.3 (#21683) via Jerome Lacoste (@lacostej) * [fastlane] remove some unused method parameters (#21722) via Jerome Lacoste (@lacostej) * [action][spm] deprecate `build_path` option in favor of `scratch_path`, as recommended by Swift CLI (#20814) via Victor Carvalho Tavernari (@Tavernari) * [match] git storage: allow simultaneous usage of clone_branch_directly and shallow_clone (#21716) via Vitalii Budnik (@nekrich) * [action][spm] add `parallel` option (#21665) via Bram Schulting (@bramschulting) * [fastlane_core] remove expired WWDR G1 certificate from cert_checker (#21098) via janwiebe-jump (@janwiebe-jump) * [action][upload_symbols_to_crashlytics] allow '~' in binary path (#21032) via GevaZeichner (@GevaZeichner) * [scan] replace the `simctl boot` command with `simctl bootstatus`, potentially fixing signal kill before running tests (#21026) via Alexey Alter-Pesotskiy (@testableapple) * [spaceship] add `Spaceship::ConnectAPI::AppPreviewSet::PreviewType::IPHONE_67` (#21710) via Sergei Sevkovich (@drcreazy) * [action][ensure_no_debug_code] detect binding.irb in `ensure_no_debug_code` during build. (#21635) via Takuma Homma (@mataku) * CONTRIBUTING.md: remove Google CLA section (#21646) via Jay Soffian (@jaysoffian) * [fastlane_core] hide xcodebuild stderr to solve #21672 (#21673) via Jerome Lacoste (@lacostej) * [scan] fix misleading error message when no devices are found (#21650) via Miles Thompson (@MagnificentMiles) * [deliver][spaceship][scan] fix build warnings in rspec (#21660) via Jerome Lacoste (@lacostej) * [deliver] fix regression where changes made to the privacy URL fail to upload (#21657) via Owen Hart (@owjsub) * [fastlane_core] let FastlanePty detect when externally invoked programs crash, harden it when using popen, and expose process statuses. (#21618) via Jerome Lacoste (@lacostej)
2.217.0 Improvements
15 weeks ago
* [spaceship] work around deliver issue #21105 (#21633) via Jerome Lacoste (@lacostej) * [action][slather] add support for slather's new --ymlfile option (#21613) via jarrodlombardo-EventBase (@jarrodlombardo-EventBase) * [action][notarize] printing log on error (#21609) via Csaba Szigeti (@szigetics) * [tests] fix test being potentially muddied by local ENV (#21586) via Olivier Halligon (@AliSoftware) * [match] remove redundant fetching of profile devices and certificates (#21409) via Vitalii Budnik (@nekrich) * [match] hide sensitive information in match output (#21603) via Duncan MacDonald (@oct0f1sh) * [supple] fix issue with releases containing retained versions (#20997) (#20998) via Mariano Miani (@mmiani) * [action][git_branch] add `FL_GIT_BRANCH_DONT_USE_ENV_VARS` env var to `git_branch` (#21597) via Oguz Kocer (@oguzkocer) * [tests] Make error message expectation more flexible in `runner_spec.rb` to support Ruby 2.6 error message format (#21591) via Olivier Halligon (@AliSoftware) * [docs] fix typo `practies` โ†’ `practices` based on feedback from fastlane/docs (#21589) via Roger Oba (@rogerluan) * [fastlane] add support for keyword arguments for lanes in Ruby 3 (#21587) via Olivier Halligon (@AliSoftware) * [tests] update `fakefs` to fix test failures on Ruby 3.2.2 (#21588) via Olivier Halligon (@AliSoftware) * [deliver] Add Watch Ultra screen size (#21106) via Aoi Takahashi (@xiii111) * [docs] update a bit of the documentation of install_on_device.rb (#21196) via ls-1N (@ls-1N) * [precheck] print the HTTP status as the failure reason when it's not 200 (#21051) via Roger Oba (@rogerluan) * [supply] parallel uploads for meta per language (#21474) via Cristian Caruceru (@ccaruceru) * [action][nexus_upload] Mark Nexus password as a sensitive field (#21564) via Liam Jones (@liamjones) * [trainer] check specifically for file url in failure_message, fixing crash in Xcode 15 when running in Apple Silicon (#21493) via Jason Hagglund (@TheMetalCode) * [gym] fix error message for catalyst_platform option (#21332) via Sebastian Staudt (@koraktor) * [deliver] show file type correctly in user_error (#21403) via Aru Hyunseung Jeon (@Dogdriip) * [gym] fix multiplatform iOS builds (#21319) via Zach Waugh (@zachwaugh) * [match] make git_private_key path absolute (#21360) via Marko Samec (@msamec) * [snapshot] Add Missing Older iPhone & iPad models to Generated Snapshot Reports (#21557) via Kyle Howells (@kylehowells) * [deliver] Capturing NoMethodError exception when fetching live app info (#21553) via Ignacio Calderon (@kronenthaler) * [snapshot] support Strict Concurrency for SnapshotHelper (#21400) via Kohki Miki (@giginet) * [match] added selection of certificate and p12 key by certificate id (#21428) via Ivan Sorokoletov (@slacklab) * [spaceship] allow to specify fetched fields (#21528) via Vitalii Budnik (@nekrich) * [snapshot] add Support for New Apple Devices in Snapshot Generator (#21554) via Sandeep Joshi (@isandeepj) * [deliver] fetch live app info if no edit info is present, fixing scenario of having both macOS and iOS apps present (#21472) via Lorenzo Mattei (@loremattei)
2.216.0 Fix for match GitLab storage
23 weeks ago
* [match] fixes missing job-token error in GitLab storage mode (#21520) via Darby Frey (@darbyfrey)
2.215.1 Workaround for Google Play API instability
23 weeks ago
* [supply] add new SUPPLY_UPLOAD_MAX_RETRIES env var to attempt to solve failed Google API calls (#21518) via Josh Holtz (@joshdholtz)
2.215.0 Improvements
24 weeks ago
* [spaceship] add request retry with backoff when encountring 429 errors (#21511) via Stefan Natchev (@snatchev) * [supply] introduce a new synchronization logic for screenshots (#21498) via Olivier Halligon (@AliSoftware) * [deliver] validate the status of app version to be ready_for_review before submitting the app (#20515) via ้†‰ (@404pilot) * [match] Added s3_skip_encryption parameter (#21018) via Morten Bรธgh (@mbogh) * [docs] add minor branding guidelines to `CONTRIBUTING.md` (#21495) via Roger Oba (@rogerluan) * [match] prevent directory download from s3 (#20975) via Mark Homoki (@markhomoki) * [xcodes] fix issue where `xcodes` action wouldn't accept beta versions of Xcode (#21434) via apps4everyone (@apps4everyone) * [spaceship] explicit beta group access to all builds at creation (#21478) via Vincent Isambart (@vincentisambart) * [docs] update pull request template to ask contributors to write unit tests (#21427) via Roger Oba (@rogerluan) * [action] deprecate the ensure_xcode_version action (#21448) via Iulian Onofrei (@revolter) * [tests] stop generating rspec temp file in current directory (#21466) via Roger Oba (@rogerluan) * [ci] fix CI by replacing deprecated Xcode versions, and add Xcode 14, Xcode 15, and Ruby 3.1 to test envs (#21465) via Roger Oba (@rogerluan) * [deliver][frameit] add iPhone 14 Pro / 6.1" display type (#21393) via Stefan Natchev (@snatchev) * [spaceship] add missing `AppStoreState` cases (#21312) via Roger Oba (@rogerluan) * [fastlane_core] fix WWDR certificates import flow (#21442) via Paul Taykalo (@PaulTaykalo) * [docs] fix tool name formatting (for `supply`) to be lowercase to pass fastlane docs unit tests (#21426) via Roger Oba (@rogerluan)
2.214.0 Improvements
33 weeks ago
* [spaceship] fix olympus session request error after skipping 2FA Upgrade (#21317) via AbbyM (@AbbyM) * [spaceship] add update method to ConnectAPI::User (#20956) via Vitalii Budnik (@nekrich) * [supply][action] add `download_apk_from_google_play` action (and corresponding `supply` methods) (#21315) via Olivier Halligon (@AliSoftware) * [docs] fix sync_code_signing.md (#21202) via Yuki Sakai (@VeyronSakai) * [fastlane] fix fastlane action template warnings reported by Rubocop (#21310) via Bartosz Kosiorek (@BartoszKosiorek-TomTom) * [docs][match] fix typos, improve wording, incorporate improvements to match documentation examples (#21302) via Roger Oba (@rogerluan) * [match] fixes Gitlab Secure Files API limit (#21361) via Darby Frey (@darbyfrey) * [match] adding access token prompt for GitLab Secure Files Match (#21279) via Darby Frey (@darbyfrey) * [deliver] update upload_price_tier (#21282) via lukethoene (@lukethoene)
2.213.0 Improvements
40 weeks ago
* [core][match] remove obsolete and expired WWDR G1 certificate (#21271) via Frederik Seiffert (@triplef) * [action][ensure_git_status_clean] new ignore_files option for explicitly ignoring files (#21283) via Josh Holtz (@joshdholtz) * [scan] run simulator destination with arch=x86_64 for Xcode 14.3 and up if on Intel (#21284) via Josh Holtz (@joshdholtz) * [match] adding support for self-managed GitLab instances (#21274) via Darby Frey (@darbyfrey) * [pilot] fix increase limit for build query (#21212) via Eric Lindvall (@eric) * [dependency] relax `multipart_post` dependency version requirement (#20870) via Edouard Briรจre (@edouard)
2.212.2 Improvements and fix for some App Store Connect APIs
45 weeks ago
* [ci] Only run all mac jobs on master and version bump branches (#21088) via Josh Holtz (@joshdholtz) * [spaceship] remove deprecated attributes from apps requests (#21187) via Kohki Miki (@giginet) * [snapshot] fix resolve deadlock in LatestOsVersion#version_for_os (#20329) via stbix (@stbix) * [deliver] Implements `verify` with `altool` for Xcode 14 validation (#20738) via Pol Piella Abadia (@polpielladev) * [action][ensure_git_status_clean] fix incorrect "ignored" param handling (#20976) via Iulian Onofrei (@revolter) * [spaceship] increase limit for build query in distribute to handle multiple platforms (#21087) via Eric Lindvall (@eric)
2.212.1 Fix for Apple ID lockout and Access Forbidden with new hashcash header
1 year 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)
AFNetworking/AFNetworking 4.0.1
A delightful networking framework for iOS, macOS, watchOS, and tvOS.
โญ๏ธ 33,335
๐Ÿ•“ 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.
Fixes and Updates
3 years ago
Released on Sunday, April 19, 2020. All issues associated with this milestone can be found using this [filter](https://github.com/AFNetworking/AFNetworking/milestone/20?closed=1). #### Updated * Project templates and integrations. * Implemented by Kaspik in [#4531](https://github.com/AFNetworking/AFNetworking/pull/4531). * Various CocoaPods podspec settings. * Implemented by ElfSundae in [#4528](https://github.com/AFNetworking/AFNetworking/pull/4528), [#4532](https://github.com/AFNetworking/AFNetworking/pull/4532), and [#4533](https://github.com/AFNetworking/AFNetworking/pull/4533). #### Fixed * Crash during authentication delegate method. * Implemented by Kaspik, ElfSundae, and jshier in [#4542](https://github.com/AFNetworking/AFNetworking/pull/4542), [#4552](https://github.com/AFNetworking/AFNetworking/pull/4552), and [#4553](https://github.com/AFNetworking/AFNetworking/pull/4553). * SPM integration. * Implemented by jshier in [#4554](https://github.com/AFNetworking/AFNetworking/pull/4554). * Improper update instead of replacement of header values. * Implemented by ElfSundae in [#4550](https://github.com/AFNetworking/AFNetworking/pull/4550). * Nullability of some methods. * Implemented by ElfSundae in [#4551](https://github.com/AFNetworking/AFNetworking/pull/4551). * Typos in CHANGELOG. * Implemented by ElfSundae in [#4537](https://github.com/AFNetworking/AFNetworking/pull/4537). * Missing tvOS compatibility for some methods. * Implemented by ElfSundae in [#4536](https://github.com/AFNetworking/AFNetworking/pull/4536). * Missing `FOUNDATION_EXPORT` for `AFJSONObjectByRemovingKeysWithNullValues`. * Implemented by ElfSundae in [#4529](https://github.com/AFNetworking/AFNetworking/pull/4529). #### Removed * Unused UIImage+AFNetworking.h file. * Implemented by ElfSundae in [#4535](https://github.com/AFNetworking/AFNetworking/pull/4535).
A Long Time Coming
3 years ago
Released on Sunday, March 29, 2020. All issues associated with this milestone can be found using this [filter](https://github.com/AFNetworking/AFNetworking/milestone/16?closed=1). #### Added * Notificate when a downloaded file has been moved successfully. * Implemented by xingheng in [#4393](https://github.com/AFNetworking/AFNetworking/pull/4393). * Specific error for certificate pinning failure. * Implemented by 0xced in [#3425](https://github.com/AFNetworking/AFNetworking/pull/3425). * `WKWebView` extensions. * Implemented by tjanela in [#4439](https://github.com/AFNetworking/AFNetworking/pull/4439). * Automatic location of certificates in the main bundle for certificate pinning. * Implemented by 0xced in [#3752](https://github.com/AFNetworking/AFNetworking/pull/3752). * User-Agent support for tvOS. * Implemented by ghking in [#4014](https://github.com/AFNetworking/AFNetworking/pull/4014). * Ability for `AFHTTPSessionManager` to recreate its underlying `NSURLSession`. * Implemented by Kaspik in [#4256](https://github.com/AFNetworking/AFNetworking/pull/4256). * Ability to set HTTP headers per request. * Implemented by stnslw in [#4113](https://github.com/AFNetworking/AFNetworking/pull/4113). * Ability to capture `NSURLSessionTaskMetrics`. * Implemented by Caelink in [#4237](https://github.com/AFNetworking/AFNetworking/pull/4237). #### Updated * `dataTaskWithHTTPMethod` to be public. * Implemented by smartinspereira in [#4007](https://github.com/AFNetworking/AFNetworking/pull/4007). * Reachability notification to include the instance which issued the notification. * Implemented by LMsgSendNilSelf in [#4051](https://github.com/AFNetworking/AFNetworking/pull/4051). * `AFJSONObjectByRemovingKeysWithNullValues` to be public. * Implemented by ashfurrow in [#4051](https://github.com/AFNetworking/AFNetworking/pull/4051). * `AFJSONObjectByRemovingKeysWithNullValues` to remove `NSNull` values from `NSArray`s. * Implemented by ashfurrow in [#4052](https://github.com/AFNetworking/AFNetworking/pull/4052). #### Changed * Automated CI to GitHub Actions. * Implemented by jshier in [#4523](https://github.com/AFNetworking/AFNetworking/pull/4523). #### Fixed * Explicit `NSSecureCoding` support. * Implemented by jshier in [#4523](https://github.com/AFNetworking/AFNetworking/pull/4523). * Deprecated API usage on Catalyst. * Implemented by jshier in [#4523](https://github.com/AFNetworking/AFNetworking/pull/4523). * Nullability annotations. * Implemented by jshier in [#4523](https://github.com/AFNetworking/AFNetworking/pull/4523). * `AFImageDownloader` to more accurately cancel downloads. * Implemented by kinarobin in [#4407](https://github.com/AFNetworking/AFNetworking/pull/4407). * Double KVO notifications in `AFNetworkActivityManager`. * Implemented by kinarobin in [#4406](https://github.com/AFNetworking/AFNetworking/pull/4406). * Availability annotations around `NSURLSessionTaskMetrics`. * Implemented by ElfSundae in [#4516](https://github.com/AFNetworking/AFNetworking/pull/4516). * Issues with `associated_object` and subclasses. * Implemented by welcommand in [#3872](https://github.com/AFNetworking/AFNetworking/pull/3872). * Memory leak in example application. * Implemented by svoit in [#4196](https://github.com/AFNetworking/AFNetworking/pull/4196). * Crashes in mulithreaded scenarios and `dispatch_barrier`. * Implemetned by streeter in [#4474](https://github.com/AFNetworking/AFNetworking/pull/4474). * Issues with `NSSecureCoding`. * Implemented by ElfSudae in [#4409](https://github.com/AFNetworking/AFNetworking/pull/4409). * Code style issues. * Implemented by svoit in [#4200](https://github.com/AFNetworking/AFNetworking/pull/4200). * Race condition in `AFImageDownloader`. * Implemented by bbeversdorf in [#4246](https://github.com/AFNetworking/AFNetworking/pull/4246). * Coding style issues. * Implemented by LeeHongHwa in [#4002](https://github.com/AFNetworking/AFNetworking/pull/4002). #### Removed * Support for iOS < 9, macOS < 10.10. * Implemented by jshier in [#4523](https://github.com/AFNetworking/AFNetworking/pull/4523). * All previously deprecated APIs. * Implemented by jshier in [#4523](https://github.com/AFNetworking/AFNetworking/pull/4523). * Unnecessary `__block` capture. * Implemented by kinarobin in [#4526](https://github.com/AFNetworking/AFNetworking/pull/4526). * Workaround for `NSURLSessionUploadTask` creation on iOS 7. * Implemented by kinarobin in [#4525](https://github.com/AFNetworking/AFNetworking/pull/4525). * Workaround for safe `NSURLSessionTask` creation on iOS < 8. * Implemented by kinarobin in [#4401](https://github.com/AFNetworking/AFNetworking/pull/4401). * `UIWebView` extensions. * Implemented by tjanela in [#4439](https://github.com/AFNetworking/AFNetworking/pull/4439).
2.7.0
5 years ago
Released on Tuesday, February 12, 2019. All issues associated with this milestone can be found using this [filter](https://github.com/AFNetworking/AFNetworking/issues?q=milestone%3A2.7.0+is%3Aclosed). #### Fixed * Update Podfile to work on modern CocoaPods * Fixed by [SlaunchaMan](https://github.com/SlaunchaMan) in [#4329](https://github.com/AFNetworking/AFNetworking/pull/4329). * Add nullability specifiers to all `id responseObject` parameters * Fixed by [sashaweiss](https://github.com/sashaweiss) in [#4335](https://github.com/AFNetworking/AFNetworking/pull/4335). * Fix empty content crash on `AFHTTPSessionManager.post` * Fixed by [jcravioto](https://github.com/jcravioto) in [#4296](https://github.com/AFNetworking/AFNetworking/pull/4296).
3.2.1
5 years ago
Released on Friday, May 04, 2018. All issues associated with this milestone can be found using this [filter](https://github.com/AFNetworking/AFNetworking/issues?q=milestone%3A3.2.1+is%3Aclosed). #### Updated * Xcode 9.3 Support * Implemented by Jeff Kelley in [#4199](https://github.com/AFNetworking/AFNetworking/pull/4199). * Update HTTPBin certificates for April 2018. * Implemented by Jeff Kelley in [#4198](https://github.com/AFNetworking/AFNetworking/pull/4198). #### Additional Changes * Remove conflicting nullable specifier on init * Implemented by Nick Brook and Jeff Kelley in [#4182](https://github.com/AFNetworking/AFNetworking/pull/4182). * Use @available if available to silence a warning. * Implemented by Jeff Kelley in [#4138](https://github.com/AFNetworking/AFNetworking/pull/4138). * UIImageView+AFNetworking: Prevent stuck state for malformed urlRequest * Implemented by Adam Duflo and aduflo in [#4131](https://github.com/AFNetworking/AFNetworking/pull/4131). * add the link for LICENSE * Implemented by Liao Malin in [#4125](https://github.com/AFNetworking/AFNetworking/pull/4125). * Fix analyzer warning for upload task creation * Implemented by Jeff Kelley in [#4122](https://github.com/AFNetworking/AFNetworking/pull/4122).
3.2.0
6 years ago
Released on Friday, December 15, 2017. All issues associated with this milestone can be found using this [filter](https://github.com/AFNetworking/AFNetworking/issues?q=milestone%3A3.2.0+is%3Aclosed). #### Added * Config `AFImageDownloader` `NSURLCache` and ask `AFImageRequestCache` implementer if an image should be cached * Implemented by wjehenddher in [#4010](https://github.com/AFNetworking/AFNetworking/pull/4010). * Add `XMLParser`/`XMLDocument` serializer tests * Implemented by skyline75489 in [#3753](https://github.com/AFNetworking/AFNetworking/pull/3753). * Enable custom httpbin URL with `HTTPBIN_BASE_URL` environment variable * Implemented by 0xced in [#3748](https://github.com/AFNetworking/AFNetworking/pull/3748). * `AFHTTPSessionManager` now throws exception if SSL pinning mode is set for non https sessions * Implemented by 0xced in [#3687](https://github.com/AFNetworking/AFNetworking/pull/3687). #### Updated * Update security policy test certificates * Implemented by SlaunchaMan in [#4103](https://github.com/AFNetworking/AFNetworking/pull/4103). * Allow return value of HTTP redirection block to be `NULL` * Implemented by TheDom in [#3975](https://github.com/AFNetworking/AFNetworking/pull/3975). * Clarify documentation for supported encodings in `AFJSONResponseSerializer` * Implemented by skyline75489 in [#3750](https://github.com/AFNetworking/AFNetworking/pull/3750). * Handle Error Pointers according to Cocoa Convention * Implemented by tclementdev in [#3653](https://github.com/AFNetworking/AFNetworking/pull/3653). * Updates `AFHTTPSessionManager` documentation to reflect v3.x change * Implemented by ecaselles in [#3476](https://github.com/AFNetworking/AFNetworking/pull/3476). * Improved code base to generate fewer warnings when using stricter compiler settings * Implemented by 0xced in [3431](https://github.com/AFNetworking/AFNetworking/pull/3431). #### Changed * Change โ€œMac OS Xโ€ and โ€œOS Xโ€ references to โ€œmacOSโ€ * Implemented by SlaunchaMan in [#4104](https://github.com/AFNetworking/AFNetworking/pull/4104). #### Fixed * Fixed crash around customizing `NSURLCache` size for < iOS 8.2 * Implemented by kcharwood in [#3735](https://github.com/AFNetworking/AFNetworking/pull/3735). * Fixed issue where `UIWebView` extension did not preserve all of the request information * Implemented by skyline75489 in [#3733](https://github.com/AFNetworking/AFNetworking/pull/3733). * Fixed bug with webview delegate callback * Implemented by kcharwood in [#3727](https://github.com/AFNetworking/AFNetworking/pull/3727). * Fixed crash when passing invalid JSON to request serialization * Implemented by 0xced in [#3719](https://github.com/AFNetworking/AFNetworking/pull/3719). * Fixed potential KVO crasher for URL Session Task delegates * Implemented by 0xced in [#3718](https://github.com/AFNetworking/AFNetworking/pull/3718). * Removed ambiguous array creation in `AFSecurityPolicy` * Implemented by sgl0v in [#3679](https://github.com/AFNetworking/AFNetworking/pull/3679). * Fixed issue where `NS_UNAVAILABLE` is not reported for `AFNetworkReachabilityManager` * Implemented by Microbee23 in [#3649](https://github.com/AFNetworking/AFNetworking/pull/3649). * Require app extension api only on watchOS * Implemented by ethansinjin in [#3612](https://github.com/AFNetworking/AFNetworking/pull/3612). * Remove KVO of progress in favor of using the NSURLSession delegate APIs * Implemented by coreyfloyd in [#3607](https://github.com/AFNetworking/AFNetworking/pull/3607). * Fixed an issue where registering a `UIProgessView` to a task that was causing a crash * Implemented by Starscream27 in [#3604](https://github.com/AFNetworking/AFNetworking/pull/3604). * Moved `[self didChangeValueForKey:@"currentState"]` into correct scope * Implemented by chenxin0123 in [#3565](https://github.com/AFNetworking/AFNetworking/pull/3565). * Fixed issue where response serializers did not inherit super class copying * Implemented by kcharwood in [#3559](https://github.com/AFNetworking/AFNetworking/pull/3559). * Fixed crashes due to race conditions with `NSMutableDictionary` access in `AFHTTPRequestSerializer` * Implemented by alexbird in [#3526](https://github.com/AFNetworking/AFNetworking/pull/3526). * Updated dash character to improve markdown parsing for license * Implemented by gemmakbarlow in [#3488](https://github.com/AFNetworking/AFNetworking/pull/3488). #### Removed * Deprecate the unused stringEncoding property of `AFHTTPResponseSerializer` * Implemented by 0xced in [#3751](https://github.com/AFNetworking/AFNetworking/pull/3751). * Removed unused `AFTaskStateChangedContext` * Implemented by yulingtianxia in [#3432](https://github.com/AFNetworking/AFNetworking/pull/3432).
3.1.0
7 years ago
Released on Thursday, March 31, 2016. All issues associated with this milestone can be found using this [filter](https://github.com/AFNetworking/AFNetworking/issues?q=milestone%3A3.1.0+is%3Aclosed). #### Added - Improved `AFImageResponseSerializer` test coverage - Implemented by quellish in [#3367](https://github.com/AFNetworking/AFNetworking/pull/3367). - Exposed `AFQueryStringFromParameters` and `AFPercentEscapedStringFromString` for public use. - Implemented by Kevin Harwood in [#3160](https://github.com/AFNetworking/AFNetworking/pull/3160). #### Updated - Updated Test Suite to run on Xcode 7.3 - Implemented by Kevin Harwood in [#3418](https://github.com/AFNetworking/AFNetworking/pull/3418). - Added white space to URLs in code comment to allow Xcode to properly parse them - Implemented by Draveness in [#3384](https://github.com/AFNetworking/AFNetworking/pull/3384). - Updated documentation to match method names and correct compiler warnings - Implemented by Hakon Hanesand in [#3369](https://github.com/AFNetworking/AFNetworking/pull/3369). - Use `NSKeyValueChangeNewKey` constant in change dictionary rather than hardcoded string. - Implemented by Wenbin Zhang in [#3360](https://github.com/AFNetworking/AFNetworking/pull/3360). - Resolved compiler warnings for documentation errors - Implemented by Ricardo Santos in [#3336](https://github.com/AFNetworking/AFNetworking/pull/3336). #### Changed - Reverted `NSURLSessionAuthChallengeDisposition` to `NSURLSessionAuthChallengeCancelAuthenticationChallenge` for SSL Pinning - Implemented by Kevin Harwood in [#3417](https://github.com/AFNetworking/AFNetworking/pull/3417). #### Fixed - Removed trailing question mark in query string if parameters are empty - Implemented by Kevin Harwood in [#3386](https://github.com/AFNetworking/AFNetworking/pull/3386). - Fixed crash if bad URL was passed into the image downloader - Implemented by Christian Wen and Kevin Harwood in [#3385](https://github.com/AFNetworking/AFNetworking/pull/3385). - Fixed image memory calculation - Implemented by ๅ‘จๆ˜Žๅฎ‡ in [#3344](https://github.com/AFNetworking/AFNetworking/pull/3344). - Fixed issue where UIButton image downloading called wrong cancel method - Implemented by duanhong in [#3332](https://github.com/AFNetworking/AFNetworking/pull/3332). - Fixed image downloading cancellation race condition - Implemented by Kevin Harwood in [#3325](https://github.com/AFNetworking/AFNetworking/pull/3325). - Fixed static analyzer warnings on AFNetworkReachabilityManager - Implemented by Jeff Kelley in [#3315](https://github.com/AFNetworking/AFNetworking/pull/3315). - Fixed issue where download progress would not be reported in iOS 7 - Implemented by zwm in [#3294](https://github.com/AFNetworking/AFNetworking/pull/3294). - Fixed status code 204/205 handling - Implemented by Kevin Harwood in [#3292](https://github.com/AFNetworking/AFNetworking/pull/3292). - Fixed crash when passing nil/null for progress in UIWebView extension - Implemented by Kevin Harwood in [#3289](https://github.com/AFNetworking/AFNetworking/pull/3289). #### Removed - Removed workaround for NSJSONSerialization bug that was fixed in iOS 7 - Implemented by Ceฬdric Luthi in [#3253](https://github.com/AFNetworking/AFNetworking/pull/3253).
3.0.4
8 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
8 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
8 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
8 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
ggerganov/whisper.cpp v1.5.4
Port of OpenAI's Whisper model in C/C++
โญ๏ธ 28,483
๐Ÿ•“ 8 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.
v1.5.4
8 weeks ago
## Overview - Faster Core ML ANE models (#1716) - CUDA bugfix causing random erros in the transcription - Fix SwiftUI example build **Full Changelog**: https://github.com/ggerganov/whisper.cpp/compare/v1.5.3...v1.5.4
v1.5.3
8 weeks ago
## Overview Minor maintenance release: - Fix CUDA issues where the transcription produces garbage - FIX quantized models to work with CUDA backend - Allow to use `whisper.cpp` and `llama.cpp` together in SwiftUI projects ## What's Changed * Update bench.py by @ForkedInTime in https://github.com/ggerganov/whisper.cpp/pull/1655 * cmake : Resolve quantized model issue when CUBLAS enabled by @bobqianic in https://github.com/ggerganov/whisper.cpp/pull/1667 * examples : Revert CMakeLists.txt for talk-llama by @bobqianic in https://github.com/ggerganov/whisper.cpp/pull/1669 * CI : Add coverage for talk-llama when WHISPER_CUBLAS=1 by @bobqianic in https://github.com/ggerganov/whisper.cpp/pull/1672 * ci: build and push docker image by @OpenWaygate in https://github.com/ggerganov/whisper.cpp/pull/1674 * sync : ggml (ggml_scale, ggml_row_size, etc.) by @ggerganov in https://github.com/ggerganov/whisper.cpp/pull/1677 * Replace `WHISPER_PRINT_DEBUG` with `WHISPER_LOG_DEBUG` by @bobqianic in https://github.com/ggerganov/whisper.cpp/pull/1681 * download: Fix large q5 model name by @dimopep in https://github.com/ggerganov/whisper.cpp/pull/1695 * sync : ggml (VMM, sync-ggml-am.sh, dotprod ARM fixes) by @ggerganov in https://github.com/ggerganov/whisper.cpp/pull/1691 * whisper : replace `tensor->n_dims` with `ggml_n_dims(tensor)` by @bobqianic in https://github.com/ggerganov/whisper.cpp/pull/1694 * Build with CLBlast by @tamo in https://github.com/ggerganov/whisper.cpp/pull/1576 * docker : Fix the Publishing of the CUDA Docker Image by @bobqianic in https://github.com/ggerganov/whisper.cpp/pull/1704 * emscripten: fix "Stack Overflow!" by @Huguet57 in https://github.com/ggerganov/whisper.cpp/pull/1713 * sync : ggml by @ggerganov in https://github.com/ggerganov/whisper.cpp/pull/1717 * Add error handling to graph_compute by @finnvoor in https://github.com/ggerganov/whisper.cpp/pull/1714 * Updates Package.swift to use ggml as package dependency by @1-ashraful-islam in https://github.com/ggerganov/whisper.cpp/pull/1701 ## New Contributors * @ForkedInTime made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/1655 * @OpenWaygate made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/1674 * @dimopep made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/1695 * @Huguet57 made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/1713 * @1-ashraful-islam made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/1701 **Full Changelog**: https://github.com/ggerganov/whisper.cpp/compare/v1.5.2...v1.5.3
v1.5.2
11 weeks ago
## Overview Minor maintenance release: - Re-enable CPU BLAS processing after fixing a regression (#1583) Add new example: [wchess](https://github.com/ggerganov/whisper.cpp/tree/master/examples/wchess) https://github.com/ggerganov/whisper.cpp/assets/1991296/c2b2f03c-9684-49f3-8106-357d2d4e67fa Shoutout to @fraxy-v (implementation) and @ejones (grammar) for making it work! ## What's Changed * automatically convert audio on the server by @sapoepsilon in https://github.com/ggerganov/whisper.cpp/pull/1539 * CI : Rectify the Clang-Related workflow issues by @bobqianic in https://github.com/ggerganov/whisper.cpp/pull/1551 * CI : Add CUDA 11.8.0 support by @bobqianic in https://github.com/ggerganov/whisper.cpp/pull/1554 * Update main program help info by @bebound in https://github.com/ggerganov/whisper.cpp/pull/1560 * Set default CORS headers to allow all by @kasumi-1 in https://github.com/ggerganov/whisper.cpp/pull/1567 * cmake : install required ggml.h header by @gjasny in https://github.com/ggerganov/whisper.cpp/pull/1568 * Backport .srt output format to examples/server by @osdrv in https://github.com/ggerganov/whisper.cpp/pull/1565 * Added support for .vtt format to Whisper server by @aleksanderandrzejewski in https://github.com/ggerganov/whisper.cpp/pull/1578 * ggml : re-enable blas for src0 != F32 by @ggerganov in https://github.com/ggerganov/whisper.cpp/pull/1583 * Fix 32-bit compiler warning by @Digipom in https://github.com/ggerganov/whisper.cpp/pull/1575 * Remove #if arch(arm) check in Swift Package Manager by @Finnvoor in https://github.com/ggerganov/whisper.cpp/pull/1561 * Pass max-len argument to server wparams by @osdrv in https://github.com/ggerganov/whisper.cpp/pull/1574 * sync : ggml (new ops, new backend, etc) by @ggerganov in https://github.com/ggerganov/whisper.cpp/pull/1602 * Fix `ggml_metal_log` on Intel macs by @Finnvoor in https://github.com/ggerganov/whisper.cpp/pull/1606 * Update CMakeLists.txt by @Kreijstal in https://github.com/ggerganov/whisper.cpp/pull/1615 * target windows 8 or above for prefetchVirtualMemory in llama-talk by @Kreijstal in https://github.com/ggerganov/whisper.cpp/pull/1617 * sync : ggml (Metal fixes, new ops, tests) by @ggerganov in https://github.com/ggerganov/whisper.cpp/pull/1633 * wchess: whisper assisted chess by @fraxy-v in https://github.com/ggerganov/whisper.cpp/pull/1595 ## New Contributors * @sapoepsilon made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/1539 * @bebound made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/1560 * @kasumi-1 made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/1567 * @gjasny made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/1568 * @osdrv made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/1565 * @aleksanderandrzejewski made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/1578 * @Kreijstal made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/1615 * @fraxy-v made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/1595 **Full Changelog**: https://github.com/ggerganov/whisper.cpp/compare/v1.5.1...v1.5.2
v1.5.1
14 weeks ago
## Overview Minor update: - With Metal, auto-fallback to CPU if device does not support Apple7 family - Add [server](https://github.com/ggerganov/whisper.cpp/tree/master/examples/server) example ## What's Changed * ISSUE-1329: replace " with ' so it doesn't try to execute code in backticks by @spullara in https://github.com/ggerganov/whisper.cpp/pull/1364 * sync : ggml (ggml-alloc + linker + gguf fixes) by @ggerganov in https://github.com/ggerganov/whisper.cpp/pull/1501 * Fixed with_state methods, to use the correct state by @sandrohanea in https://github.com/ggerganov/whisper.cpp/pull/1519 * #1517 Redistribute CUDA DLLs by @tamo in https://github.com/ggerganov/whisper.cpp/pull/1522 * whisper : reuse whisper_decode_with_state by @ggerganov in https://github.com/ggerganov/whisper.cpp/pull/1521 * sdl : fix audio callback by @ggerganov in https://github.com/ggerganov/whisper.cpp/pull/1523 * update deprecated example by @MightyStud in https://github.com/ggerganov/whisper.cpp/pull/1529 * Super Simple Whisper Server by @felrock in https://github.com/ggerganov/whisper.cpp/pull/1380 * Close file after writing in server application by @felrock in https://github.com/ggerganov/whisper.cpp/pull/1533 * bench : multi-thread memcpy by @ggerganov in https://github.com/ggerganov/whisper.cpp/pull/1534 * Change temp file name for server application by @felrock in https://github.com/ggerganov/whisper.cpp/pull/1535 * Fixed Makefile for MacOS ARM 64 Go bindings by @gleicon in https://github.com/ggerganov/whisper.cpp/pull/1530 * Fixed metal build on macos-latest by @sandrohanea in https://github.com/ggerganov/whisper.cpp/pull/1544 * fix(server): typo in temperature parameter by @Okabintaro in https://github.com/ggerganov/whisper.cpp/pull/1545 * Request to add a new function to get the full language name by @bradmit in https://github.com/ggerganov/whisper.cpp/pull/1546 * server : add --print-realtime param by @ecneladis in https://github.com/ggerganov/whisper.cpp/pull/1541 * cuda : sync some minor stuff from llama.cpp by @ggerganov in https://github.com/ggerganov/whisper.cpp/pull/1548 * metal : add backend function to check device family support by @ggerganov in https://github.com/ggerganov/whisper.cpp/pull/1547 ## New Contributors * @spullara made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/1364 * @MightyStud made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/1529 * @felrock made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/1380 * @gleicon made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/1530 * @Okabintaro made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/1545 * @bradmit made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/1546 * @ecneladis made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/1541 **Full Changelog**: https://github.com/ggerganov/whisper.cpp/compare/v1.5.0...v1.5.1
v1.5.0
15 weeks ago
## Overview This major release includes the following changes: - Full GPU processing of the Encoder and the Decoder with CUDA and Metal is now supported - Efficient beam-search implementation via batched decoding and unified KV cache - Full quantization support of all available `ggml` quantization types - Support for grammar constrained sampling - Support for Distil Whisper models - Support for Whisper Large-v3 and more ### Full GPU support On Apple Silicon, GPU support has been available to a large extend since [15 Sep](https://github.com/ggerganov/whisper.cpp/pull/1270). However, part of the Encoder was still being executed on the CPU due to lack of MSL kernels for the convolution operations. These kernels are now available resulting in additional speed-up of the Encoder in this release: ![image](https://github.com/ggerganov/whisper.cpp/assets/1991296/f8ce8984-0cbc-41be-b578-841f595edf03) *[Encoder performance on Apple M1 Max - before and after](https://github.com/ggerganov/whisper.cpp/pull/1472#issuecomment-1806788526) (plot by @dreness)* For NVIDIA hardware, the entire computation can now be offloaded to the GPU which results in significant performance boost. For detailed performance breakdown, checkout the Benchmarks section below. The GPU processing on Apple Silicon is enabled by default, while for NVIDIA you need to build with `WHISPER_CUBLAS=1`: ```bash # Apple Silicon make # NVIDIA WHISPER_CUBLAS=1 make ``` Implementation: https://github.com/ggerganov/whisper.cpp/pull/1472 Special credits to: @FSSRepo, @slaren ### Batched decoding + efficient Beam Search At last, `whisper.cpp` now supports efficient Beam Search decoding. The missing piece was the implementation of batched decoding, which now follows closely the [unified KV cache idea from llama.cpp](https://github.com/ggerganov/llama.cpp/pull/3228). On modern NVIDIA hardware, the performance with 5 beams is the same as 1 beam thanks to the large amount of computing power available. With Metal, the speed with 5 beams is a bit slower compared to 1 beam, but it is significantly faster compared to 5x times the time for single batch which was observed with the old naive implementation. Beam Search is now enabled by default in `whisper.cpp` to match the OG implementation of OpenAI Whisper. For more performance details, checkout the Benchmarks section below. Implementation: https://github.com/ggerganov/whisper.cpp/pull/1486 ### Quantization support All `ggml` [quantization types](https://github.com/ggerganov/whisper.cpp/blob/ccc85b4ff8d250d0f25ebcac2be0e4a23401c885/ggml.h#L309-L331) are now supported. Quantization mixtures for Whisper model can be implemented. It's still unclear how the quality is affected from the quantization - this is an interesting area which can be explored in the future. ### Grammar sampling The decoder output can now be constrained with a [GBNF grammar](https://github.com/ggerganov/llama.cpp/blob/a6fc554e268634494f33b0de76f9dde650dd292f/grammars/README.md). This can be a useful technique for further improving the transcription quality in situations where the set of possible phrases are limited. https://github.com/ggerganov/whisper.cpp/assets/377495/d24716e2-5e9c-441b-8c6b-395922dccbf4 Implementation: https://github.com/ggerganov/whisper.cpp/pull/1229 Special credits to @ejones ### Distil Whisper Recently, Distil Whisper models have been released: https://huggingface.co/distil-whisper `whisper.cpp` offers support for these models, although it still lacks full implementation of the proposed chunking strategy. Performance details for distilled models are included in the Benchmarks section below. Implementation: https://github.com/ggerganov/whisper.cpp/pull/1424 ### Whisper Large-v3 Recently, OpenAI released a new version 3 of the Large model: https://github.com/openai/whisper/pull/1761 Implementation: https://github.com/ggerganov/whisper.cpp/pull/1444 ### Benchmarks Below is a breakdown of the performance of `whisper.cpp` on Apple Silicon, NVIDIA and CPU. The tables show the Encoder and Decoder speed in `ms/tok`. The `Dec.` column corresponds to batch size 1. The `Bch5` column corresponds to batch size 5. The `PP` column corresponds to batch size 128. For optimal Beam Search performance, the `Bch5` number should be 5 times smaller than `Dec.` | Hw | Config | Model | Th | Enc. | Dec. | Bch5 | PP | Commit | | --- | --- | --- | --- | --- | --- | --- | --- | --- | | M2 Ultra | METAL | tiny | 1 | 11.14 | 1.40 | 0.49 | 0.01 | ccc85b4 | | M2 Ultra | METAL | tiny-q5_0 | 1 | 11.51 | 1.41 | 0.52 | 0.01 | ccc85b4 | | M2 Ultra | METAL | tiny-q5_1 | 1 | 12.21 | 1.41 | 0.52 | 0.01 | ccc85b4 | | M2 Ultra | METAL | base | 1 | 20.21 | 2.05 | 0.77 | 0.02 | ccc85b4 | | M2 Ultra | METAL | base-q5_0 | 1 | 19.89 | 1.96 | 0.81 | 0.02 | ccc85b4 | | M2 Ultra | METAL | base-q5_1 | 1 | 20.14 | 2.02 | 0.81 | 0.02 | ccc85b4 | | M2 Ultra | METAL | small | 1 | 51.01 | 3.97 | 1.74 | 0.05 | ccc85b4 | | M2 Ultra | METAL | small-q5_0 | 1 | 56.86 | 4.09 | 1.85 | 0.06 | ccc85b4 | | M2 Ultra | METAL | small-q5_1 | 1 | 56.81 | 4.14 | 1.85 | 0.06 | ccc85b4 | | M2 Ultra | METAL | medium | 1 | 141.21 | 8.47 | 3.98 | 0.13 | ccc85b4 | | M2 Ultra | METAL | medium-q5_0 | 1 | 160.56 | 8.27 | 4.18 | 0.14 | ccc85b4 | | M2 Ultra | METAL | medium-q5_1 | 1 | 160.52 | 8.40 | 4.15 | 0.14 | ccc85b4 | | M2 Ultra | METAL | medium-dis | 1 | 128.14 | 1.13 | 0.43 | 0.02 | ccc85b4 | | M2 Ultra | METAL | large-v2 | 1 | 248.73 | 11.96 | 6.08 | 0.22 | ccc85b4 | | M2 Ultra | METAL | large-v2-q5_0 | 1 | 286.31 | 11.99 | 6.60 | 0.26 | ccc85b4 | | M2 Ultra | METAL | large-v2-q5_1 | 1 | 284.56 | 12.42 | 6.47 | 0.26 | ccc85b4 | | M2 Ultra | METAL | large-v2-dis | 1 | 224.31 | 1.26 | 0.49 | 0.02 | ccc85b4 | | Hw | Config | Model | Th | Enc. | Dec. | Bch5 | PP | Commit | | --- | --- | --- | --- | --- | --- | --- | --- | --- | | M2 Ultra | COREML METAL | tiny | 1 | 7.60 | 1.41 | 0.50 | 0.01 | ccc85b4 | | M2 Ultra | COREML METAL | base | 1 | 11.90 | 2.07 | 0.78 | 0.02 | ccc85b4 | | M2 Ultra | COREML METAL | small | 1 | 32.19 | 4.10 | 1.78 | 0.05 | ccc85b4 | | M2 Ultra | COREML METAL | medium | 1 | 94.43 | 8.40 | 3.89 | 0.12 | ccc85b4 | | M2 Ultra | COREML METAL | large-v2 | 1 | 179.78 | 12.12 | 6.07 | 0.22 | ccc85b4 | | Hw | Config | Model | Th | Enc. | Dec. | Bch5 | PP | Commit | | --- | --- | --- | --- | --- | --- | --- | --- | --- | | NVIDIA V100 | BLAS CUDA | tiny | 1 | 8.84 | 1.62 | 0.33 | 0.02 | ccc85b4 | | NVIDIA V100 | BLAS CUDA | tiny-q5_0 | 1 | 8.43 | 1.19 | 0.31 | 0.02 | ccc85b4 | | NVIDIA V100 | BLAS CUDA | tiny-q5_1 | 1 | 8.41 | 1.19 | 0.29 | 0.02 | ccc85b4 | | NVIDIA V100 | BLAS CUDA | base | 1 | 14.79 | 2.31 | 0.46 | 0.03 | ccc85b4 | | NVIDIA V100 | BLAS CUDA | base-q5_0 | 1 | 15.05 | 1.66 | 0.44 | 0.03 | ccc85b4 | | NVIDIA V100 | BLAS CUDA | base-q5_1 | 1 | 15.01 | 1.68 | 0.46 | 0.03 | ccc85b4 | | NVIDIA V100 | BLAS CUDA | small | 1 | 40.30 | 4.37 | 0.88 | 0.05 | ccc85b4 | | NVIDIA V100 | BLAS CUDA | small-q5_0 | 1 | 41.17 | 3.11 | 0.94 | 0.05 | ccc85b4 | | NVIDIA V100 | BLAS CUDA | small-q5_1 | 1 | 41.12 | 3.11 | 0.82 | 0.05 | ccc85b4 | | NVIDIA V100 | BLAS CUDA | medium | 1 | 104.93 | 10.06 | 1.77 | 0.11 | ccc85b4 | | NVIDIA V100 | BLAS CUDA | medium-q5_0 | 1 | 107.11 | 6.13 | 2.07 | 0.12 | ccc85b4 | | NVIDIA V100 | BLAS CUDA | medium-q5_1 | 1 | 107.91 | 6.21 | 1.77 | 0.12 | ccc85b4 | | NVIDIA V100 | BLAS CUDA | medium-dis | 1 | 103.45 | 1.11 | 0.24 | 0.02 | ccc85b4 | | NVIDIA V100 | BLAS CUDA | large-v2 | 1 | 171.55 | 15.76 | 2.62 | 0.17 | ccc85b4 | | NVIDIA V100 | BLAS CUDA | large-v2-q5_0 | 1 | 176.27 | 8.61 | 3.17 | 0.19 | ccc85b4 | | NVIDIA V100 | BLAS CUDA | large-v2-q5_1 | 1 | 176.23 | 8.67 | 2.59 | 0.19 | ccc85b4 | | Hw | Config | Model | Th | Enc. | Dec. | Bch5 | PP | Commit | | --- | --- | --- | --- | --- | --- | --- | --- | --- | | AMD Ryzen 9 5950X | AVX2 | tiny | 8 | 197.47 | 1.22 | 0.44 | 0.25 | ccc85b4 | | AMD Ryzen 9 5950X | AVX2 | tiny-q5_0 | 8 | 222.92 | 0.87 | 0.45 | 0.30 | ccc85b4 | | AMD Ryzen 9 5950X | AVX2 | tiny-q5_1 | 8 | 221.25 | 0.89 | 0.45 | 0.30 | ccc85b4 | | AMD Ryzen 9 5950X | AVX2 | base | 8 | 427.14 | 3.11 | 0.88 | 0.43 | ccc85b4 | | AMD Ryzen 9 5950X | AVX2 | base-q5_0 | 8 | 474.96 | 1.41 | 0.72 | 0.51 | ccc85b4 | | AMD Ryzen 9 5950X | AVX2 | base-q5_1 | 8 | 485.05 | 1.48 | 0.73 | 0.52 | ccc85b4 | | AMD Ryzen 9 5950X | AVX2 | small | 8 | 1470.51 | 11.70 | 2.89 | 1.21 | ccc85b4 | | AMD Ryzen 9 5950X | AVX2 | small-q5_0 | 8 | 1700.43 | 5.48 | 1.98 | 1.41 | ccc85b4 | | AMD Ryzen 9 5950X | AVX2 | small-q5_1 | 8 | 1719.03 | 5.79 | 2.02 | 1.42 | ccc85b4 | | AMD Ryzen 9 5950X | AVX2 | medium | 8 | 4417.70 | 35.13 | 8.14 | 3.24 | ccc85b4 | | AMD Ryzen 9 5950X | AVX2 | medium-q5_0 | 8 | 5335.77 | 17.44 | 5.35 | 3.92 | ccc85b4 | | AMD Ryzen 9 5950X | AVX2 | medium-q5_1 | 8 | 5372.26 | 18.36 | 5.42 | 3.88 | ccc85b4 | | AMD Ryzen 9 5950X | AVX2 | medium-dis | 8 | 4070.25 | 4.86 | 1.16 | 0.53 | ccc85b4 | | AMD Ryzen 9 5950X | AVX2 | large-v2 | 8 | 8179.09 | 66.89 | 15.45 | 5.88 | ccc85b4 | | AMD Ryzen 9 5950X | AVX2 | large-v2-dis | 8 | 7490.45 | 7.06 | 1.63 | 0.70 | ccc85b4 | ### API Changes - Add `struct whisper_context_params` - Add `whisper_log_set` - Deprecate: - `whisper_init_from_file` - `whisper_init_from_buffer` - `whisper_init` - `whisper_init_from_file_no_state` - `whisper_init_from_buffer_no_state` - `whisper_init_no_state` - Add: - `whisper_init_from_file_with_params` - `whisper_init_from_buffer_with_params` - `whisper_init_with_params` - `whisper_init_from_file_with_params_no_state` - `whisper_init_from_buffer_with_params_no_state` - `whisper_init_with_params_no_state` - Diff of `struct whisper_full_params` ```diff struct whisper_full_params { enum whisper_sampling_strategy strategy; @@ -338,6 +435,7 @@ extern "C" { bool translate; bool no_context; // do not use past transcription (if any) as initial prompt for the decoder + bool no_timestamps; // do not generate timestamps bool single_segment; // force single segment output (useful for streaming) bool print_special; // print special tokens (e.g. <SOT>, <EOT>, <BEG>, etc.) bool print_progress; // print progress information @@ -355,8 +453,12 @@ extern "C" { // [EXPERIMENTAL] speed-up techniques // note: these can significantly reduce the quality of the output bool speed_up; // speed-up the audio by 2x using Phase Vocoder + bool debug_mode; // enable debug_mode provides extra info (eg. Dump log_mel) int audio_ctx; // overwrite the audio context size (0 = use default) + // [EXPERIMENTAL] [TDRZ] tinydiarize + bool tdrz_enable; // enable tinydiarize speaker turn detection + // tokens to provide to the whisper decoder as initial prompt // these are prepended to any existing text context from a previous call const char * initial_prompt; @@ -365,6 +467,7 @@ extern "C" { // for auto-detection, set to nullptr, "" or "auto" const char * language; + bool detect_language; // common decoding parameters: bool suppress_blank; // ref: https://github.com/openai/whisper/blob/f82bc59f5ea234d4b97fb2860842ed38519f7e65/whisper/decoding.py#L89 @@ -403,11 +506,24 @@ extern "C" { whisper_encoder_begin_callback encoder_begin_callback; void * encoder_begin_callback_user_data; + // called each time before ggml computation starts + whisper_abort_callback abort_callback; + void * abort_callback_user_data; + // called by each decoder to filter obtained logits whisper_logits_filter_callback logits_filter_callback; void * logits_filter_callback_user_data; + + const whisper_grammar_element ** grammar_rules; + size_t n_grammar_rules; + size_t i_start_rule; + float grammar_penalty; }; ``` There might be some instability around the API, especially with the existing language bindings. I wasn't able to test everything, so expect some issues and feel free to submit PRs with any kind of fixes that you find. ## Highlights and what's next A lot of the updates in these release are possible thanks to the many contributions in [llama.cpp](https://github.com/ggerganov/llama.cpp) - huge shoutout to all the contributors and collaborators there! Regarding future updates to `whisper.cpp`, I'm looking forward to the following things: - Add server example similar to the one in `llama.cpp` - Try to improve Metal's batched decoding performance - Look for some interesting applications of the grammar sampling functionality --- - **Latest performance of the [talk-llama](https://github.com/ggerganov/whisper.cpp/tree/master/examples/talk-llama) example** https://github.com/ggerganov/whisper.cpp/assets/1991296/d97a3788-bf2a-4756-9a43-60c6b391649e ## What's Changed * Fix quantize bug by @ggerganov in https://github.com/ggerganov/whisper.cpp/pull/842 * whisper.wasm : fix typo in readme by @BaffinLee in https://github.com/ggerganov/whisper.cpp/pull/832 * Adding --session support in examples/talk-llama by @herrera-luis in https://github.com/ggerganov/whisper.cpp/pull/845 * --detect-language mode by @CRD716 in https://github.com/ggerganov/whisper.cpp/pull/853 * talk-llama: updating session prompts load by @herrera-luis in https://github.com/ggerganov/whisper.cpp/pull/854 * CMake/Makefile : CLBlast support as in llama.cpp by @trholding in https://github.com/ggerganov/whisper.cpp/pull/862 * Instruction: Partial OpenCL GPU support via CLBlast by @trholding in https://github.com/ggerganov/whisper.cpp/pull/863 * Add cuBLAS build workflow and fix error causing lines in CMakeLists by @RelatedTitle in https://github.com/ggerganov/whisper.cpp/pull/867 * cmake : fix options disabling AVX and AVX2 flags by @blazingzephyr in https://github.com/ggerganov/whisper.cpp/pull/885 * Added large-v2. Added instructions on converting to GGML. Added --no-โ€ฆ by @cjheath in https://github.com/ggerganov/whisper.cpp/pull/874 * talk-llama: only copy used KV cache in get / set state by @herrera-luis in https://github.com/ggerganov/whisper.cpp/pull/890 * Fix define used for COREML_ALLOW_FALLBACK by @jcsoo in https://github.com/ggerganov/whisper.cpp/pull/893 * coreml : fix memory leak by @ggerganov in https://github.com/ggerganov/whisper.cpp/pull/899 * whisper.objc : enable Core ML in example & fix segmentation fault by @jhen0409 in https://github.com/ggerganov/whisper.cpp/pull/910 * Align --no-timestamps in help to actual behavior by @Miserlou in https://github.com/ggerganov/whisper.cpp/pull/908 * readme : improve Core ML model conversion guidance by @jhen0409 in https://github.com/ggerganov/whisper.cpp/pull/915 * Added support of large-v1 model into CoreML by @abCods in https://github.com/ggerganov/whisper.cpp/pull/926 * Update of Hebrew Language Code: 'iw' to 'he' by @ttv20 in https://github.com/ggerganov/whisper.cpp/pull/935 * java bindings by @nalbion in https://github.com/ggerganov/whisper.cpp/pull/931 * ci: Build with any BLAS compatible library by @akharlamov in https://github.com/ggerganov/whisper.cpp/pull/927 * [DOCS] highlight openblas support in https://github.com/ggerganov/whisper.cpp/pull/956 * Update elevenlabs example to use official python API by @DGdev91 in https://github.com/ggerganov/whisper.cpp/pull/837 * Update README.md by @genevera in https://github.com/ggerganov/whisper.cpp/pull/964 * Feature/java bindings2 by @nalbion in https://github.com/ggerganov/whisper.cpp/pull/944 * Support decode wav file has 2 channels. by @geniusnut in https://github.com/ggerganov/whisper.cpp/pull/972 * README.md: Corrected syntax for markdown link by @LarryBattle in https://github.com/ggerganov/whisper.cpp/pull/995 * Make convert-pt-to-ggml.py backwards compatible with older vocab.json tokenizer files by @akashmjn in https://github.com/ggerganov/whisper.cpp/pull/1001 * Fixing Accidental 'exit(0)' and Ensuring Proper 'return 1' in `examples/main/main.cpp` `whisper_params_parse` by @faker2048 in https://github.com/ggerganov/whisper.cpp/pull/1002 * Fix for issue #876 by @burningion in https://github.com/ggerganov/whisper.cpp/pull/1012 * Make cuBLAS compilation compatible with x86 as well as aarch64 by @byte-6174 in https://github.com/ggerganov/whisper.cpp/pull/1015 * feat(golang): improve progress reporting and callback handling by @appleboy in https://github.com/ggerganov/whisper.cpp/pull/1024 * Add support for whisper_full_lang_id() to go bindings by @jaybinks in https://github.com/ggerganov/whisper.cpp/pull/1010 * Add alternative java binding to readme by @GiviMAD in https://github.com/ggerganov/whisper.cpp/pull/1029 * diarization: add diarization support for all current output types by @colinc in https://github.com/ggerganov/whisper.cpp/pull/1031 * Fix cd statements to allow spaces in model path by @roddurd in https://github.com/ggerganov/whisper.cpp/pull/1041 * adding ggml_to_pt script by @simonMoisselin in https://github.com/ggerganov/whisper.cpp/pull/1042 * whisper: Fix build with -Werror=undef by @philn in https://github.com/ggerganov/whisper.cpp/pull/1045 * Fix talk-llama build after ggml sync (commit 5feb0dffbae5). by @przemoc in https://github.com/ggerganov/whisper.cpp/pull/1049 * Do not use _GNU_SOURCE gratuitously. by @przemoc in https://github.com/ggerganov/whisper.cpp/pull/1027 * whisper : `split_on_word` no longer trims by @ggerganov in https://github.com/ggerganov/whisper.cpp/pull/1046 * Updated 'quantize-all.sh' to quantize all downloaded models by @thefinaldegree in https://github.com/ggerganov/whisper.cpp/pull/1054 * Fix talk-llama build on macOS. by @przemoc in https://github.com/ggerganov/whisper.cpp/pull/1062 * whisper : support speaker segmentation (local diarization) of mono audio via tinydiarize by @akashmjn in https://github.com/ggerganov/whisper.cpp/pull/1058 * Minor: updated readme by @mwarnaar in https://github.com/ggerganov/whisper.cpp/pull/1064 * OpenVINO support by @RyanMetcalfeInt8 in https://github.com/ggerganov/whisper.cpp/pull/1037 * go bindings: fix context.Process call in examples by @mvrilo in https://github.com/ggerganov/whisper.cpp/pull/1067 * go: Call SetDuration appropriately by @tmc in https://github.com/ggerganov/whisper.cpp/pull/1077 * Multi platforms CI by @alonfaraj in https://github.com/ggerganov/whisper.cpp/pull/1101 * Add Vim plugin by @AustinMroz in https://github.com/ggerganov/whisper.cpp/pull/1131 * chore: move progress calculation out of whisper.cpp by @geekodour in https://github.com/ggerganov/whisper.cpp/pull/1081 * expose api to let user control log output by @evmar in https://github.com/ggerganov/whisper.cpp/pull/1060 * Add a larger (30min) sample by @vadi2 in https://github.com/ggerganov/whisper.cpp/pull/1092 * Sync opencl compilation fix in ggml by @goncha in https://github.com/ggerganov/whisper.cpp/pull/1111 * README.md: Add OpenVINO support details by @RyanMetcalfeInt8 in https://github.com/ggerganov/whisper.cpp/pull/1112 * Fix MSVC compile error C3688 on non-unicode Windows by @goncha in https://github.com/ggerganov/whisper.cpp/pull/1110 * Now make tests can be called as make tests base.en by @Jerry-Master in https://github.com/ggerganov/whisper.cpp/pull/1113 * Go binding: Implement SetSplitOnWord by @xdrudis in https://github.com/ggerganov/whisper.cpp/pull/1114 * set NVCC -arch flag by cuda version by @alonfaraj in https://github.com/ggerganov/whisper.cpp/pull/1115 * Fix CLBlast build on MacOS by @iceychris in https://github.com/ggerganov/whisper.cpp/pull/1120 * Fixed the issue of OpenBLAS not being enabled on Windows. by @bobqianic in https://github.com/ggerganov/whisper.cpp/pull/1128 * whisper : fix visibility warning of struct whisper_full_params by declaring in advance by @IronBlood in https://github.com/ggerganov/whisper.cpp/pull/1124 * Fix MSVC compile error C3688 by @bobqianic in https://github.com/ggerganov/whisper.cpp/pull/1136 * Add tinydiarization support for streaming by @DMcConnell in https://github.com/ggerganov/whisper.cpp/pull/1137 * quantize : fix load vocab crash when len is 128 by @jhen0409 in https://github.com/ggerganov/whisper.cpp/pull/1160 * Fix AVX etc. under GCC/CMake by @marmistrz in https://github.com/ggerganov/whisper.cpp/pull/1174 * Fix PowerPC build failures introduced in #1174 by @marmistrz in https://github.com/ggerganov/whisper.cpp/pull/1196 * Simplify Makefile by @alonfaraj in https://github.com/ggerganov/whisper.cpp/pull/1147 * Add precalculated values of sin/cos for speeding up FFT by @AlexandrGraschenkov in https://github.com/ggerganov/whisper.cpp/pull/1142 * Make build work on Linux machines supporting AVX1 not AVX2 by @lachesis in https://github.com/ggerganov/whisper.cpp/pull/1162 * Fix OpenBLAS detection under Arch Linux by @marmistrz in https://github.com/ggerganov/whisper.cpp/pull/1173 * Minor fixes by @csukuangfj in https://github.com/ggerganov/whisper.cpp/pull/1154 * New command line option by @jbyunes in https://github.com/ggerganov/whisper.cpp/pull/1205 * whisper.android : migrate from ndk-build to CMake by @JunkFood02 in https://github.com/ggerganov/whisper.cpp/pull/1204 * Significantly improve whisper.cpp inference quality by @bobqianic in https://github.com/ggerganov/whisper.cpp/pull/1148 * whisper : allow whisper_full from mel spectrogram - no audio by @ggerganov in https://github.com/ggerganov/whisper.cpp/pull/1214 * ROCm Port by @ardfork in https://github.com/ggerganov/whisper.cpp/pull/1209 * Improvements to vim plugin and LSP server by @AustinMroz in https://github.com/ggerganov/whisper.cpp/pull/1144 * Detect SSSE3 by @przemoc in https://github.com/ggerganov/whisper.cpp/pull/1211 * ggml : fix compiling when SSE3 is available but not SSSE3 by @przemoc in https://github.com/ggerganov/whisper.cpp/pull/1210 * make : add support for building on DragonFlyBSD/NetBSD/OpenBSD by @przemoc in https://github.com/ggerganov/whisper.cpp/pull/1212 * make : use cpuinfo in MSYS2 to enable x86 ISA extensions on the host by @przemoc in https://github.com/ggerganov/whisper.cpp/pull/1216 * Fix CoreML memleak (fixes #1202) by @denersc in https://github.com/ggerganov/whisper.cpp/pull/1218 * whisper.android : fix cmake multiple libraries build by @jhen0409 in https://github.com/ggerganov/whisper.cpp/pull/1224 * Fix compilation errors incurred by -Werror by @shivamidow in https://github.com/ggerganov/whisper.cpp/pull/1227 * ci : enable java package publishing by @ggerganov in https://github.com/ggerganov/whisper.cpp/pull/1228 * fix cmake commands in README #1225 by @wizardforcel in https://github.com/ggerganov/whisper.cpp/pull/1231 * ggml : sync (ggml-alloc, GPU, eps, etc.) by @ggerganov in https://github.com/ggerganov/whisper.cpp/pull/1220 * make : improve cpuinfo handling on x86 hosts by @przemoc in https://github.com/ggerganov/whisper.cpp/pull/1238 * ggml : sync latest llama.cpp (view_src + alloc improvements) by @ggerganov in https://github.com/ggerganov/whisper.cpp/pull/1247 * Posixify pagesize. by @przemoc in https://github.com/ggerganov/whisper.cpp/pull/1251 * Fix detection of AVX2 on macOS by @didzis in https://github.com/ggerganov/whisper.cpp/pull/1250 * Address ARM's big.LITTLE arch by checking cpu info. by @Digipom in https://github.com/ggerganov/whisper.cpp/pull/1254 * Bump gradle plugin and dependencies + a lint pass by @Digipom in https://github.com/ggerganov/whisper.cpp/pull/1255 * Add quantized models to download-ggml-model.sh by @nchudleigh in https://github.com/ggerganov/whisper.cpp/pull/1235 * Do not use _GNU_SOURCE gratuitously. by @przemoc in https://github.com/ggerganov/whisper.cpp/pull/1129 * ci : upgrade gradle to 2.4.2 by @ggerganov in https://github.com/ggerganov/whisper.cpp/pull/1263 * sync : ggml (HBM + Metal + style) by @ggerganov in https://github.com/ggerganov/whisper.cpp/pull/1264 * ci : try to fix gradle action by @ggerganov in https://github.com/ggerganov/whisper.cpp/pull/1265 * Fixed signing of java artifact using gradle by @nalbion in https://github.com/ggerganov/whisper.cpp/pull/1267 * Faster `beam_search` sampling by @bobqianic in https://github.com/ggerganov/whisper.cpp/pull/1243 * whisper : fix bench regression by @ggerganov in https://github.com/ggerganov/whisper.cpp/pull/1275 * whisper : Metal and ggml-alloc support by @ggerganov in https://github.com/ggerganov/whisper.cpp/pull/1270 * bench: fix missing include by @nekr0z in https://github.com/ggerganov/whisper.cpp/pull/1303 * ruby : fix build by add missing ggml-alloc by @jhen0409 in https://github.com/ggerganov/whisper.cpp/pull/1305 * Update README.md. Adding missing options, remove `--speed-up`. by @Sogl in https://github.com/ggerganov/whisper.cpp/pull/1306 * Update README.md by @computerscienceiscool in https://github.com/ggerganov/whisper.cpp/pull/1290 * save the recorded audio to a file by @litongjava in https://github.com/ggerganov/whisper.cpp/pull/1310 * Python benchmark script by @nchudleigh in https://github.com/ggerganov/whisper.cpp/pull/1298 * Minor: fix example talk readme gpt-2 github url by @brunofaustino in https://github.com/ggerganov/whisper.cpp/pull/1334 * Missing speaker turn function in API by @didzis in https://github.com/ggerganov/whisper.cpp/pull/1330 * examples: Move wav_writer from stream.cpp to common.h by @bobqianic in https://github.com/ggerganov/whisper.cpp/pull/1317 * Better abort callback by @mkiol in https://github.com/ggerganov/whisper.cpp/pull/1335 * Add conversion scripts from HuggingFace models to CoreML by @AlienKevin in https://github.com/ggerganov/whisper.cpp/pull/1304 * Prefer pkg-config while looking for BLAS by @marmistrz in https://github.com/ggerganov/whisper.cpp/pull/1349 * Abort build if a feature was requested and could not be configured by @marmistrz in https://github.com/ggerganov/whisper.cpp/pull/1350 * Abort callback improvements by @mkiol in https://github.com/ggerganov/whisper.cpp/pull/1345 * Dockerfile for cublas by @joecryptotoo in https://github.com/ggerganov/whisper.cpp/pull/1286 * docs: fix typo by @jorismertz in https://github.com/ggerganov/whisper.cpp/pull/1362 * Expose the audio_ctx param through the Go binding by @JohanRaffin in https://github.com/ggerganov/whisper.cpp/pull/1368 * Clarify doc about where to compile from by @ai-at-home in https://github.com/ggerganov/whisper.cpp/pull/1400 * Faster download for models on windows using BitTransfer by @WhiteOlivierus in https://github.com/ggerganov/whisper.cpp/pull/1404 * JSON: allow outputting per-token data too by @akx in https://github.com/ggerganov/whisper.cpp/pull/1358 * Move up-to-date demo to top by @asadm in https://github.com/ggerganov/whisper.cpp/pull/1417 * Use absolute paths for the converted OpenVINO model by @bobqianic in https://github.com/ggerganov/whisper.cpp/pull/1356 * sync : ggml (backend v2, k-quants, CUDA opts, Metal opts, etc.) by @ggerganov in https://github.com/ggerganov/whisper.cpp/pull/1422 * whisper : add support for new distilled Whisper models by @ggerganov in https://github.com/ggerganov/whisper.cpp/pull/1424 * whisper : add context param for disable gpu by @jhen0409 in https://github.com/ggerganov/whisper.cpp/pull/1293 * talk-llama : fix n_gpu_layers usage by @jhen0409 in https://github.com/ggerganov/whisper.cpp/pull/1441 * talk-llama : fix n_gpu_layers usage again by @jhen0409 in https://github.com/ggerganov/whisper.cpp/pull/1442 * Fix variable names in GitHub actions config by @iamthad in https://github.com/ggerganov/whisper.cpp/pull/1440 * Reset ctx->t_start_us when calling whisper_reset_timings() by @bjnortier in https://github.com/ggerganov/whisper.cpp/pull/1434 * Decouple Android example into a library and app module by @tobrun in https://github.com/ggerganov/whisper.cpp/pull/1445 * whisper : add support for large v3 by @ggerganov in https://github.com/ggerganov/whisper.cpp/pull/1444 * Add support for Swift Package Manager by @sindresorhus in https://github.com/ggerganov/whisper.cpp/pull/1370 * Reset mel time when resetting timings by @bjnortier in https://github.com/ggerganov/whisper.cpp/pull/1452 * coreml: use the correct n_mel by @jxy in https://github.com/ggerganov/whisper.cpp/pull/1458 * models : Fix `n_mel` mismatch in convert-whisper-to-openvino.py by @bobqianic in https://github.com/ggerganov/whisper.cpp/pull/1459 * Add '-l auto' to talk-llama example by @kubaracek in https://github.com/ggerganov/whisper.cpp/pull/1467 * Return with error from whisper_encode_internal and whisper_decode_intโ€ฆ by @bjnortier in https://github.com/ggerganov/whisper.cpp/pull/1456 * whisper : add full CUDA and Metal offloading by @ggerganov in https://github.com/ggerganov/whisper.cpp/pull/1472 * examples : Enhanced compatibility with older Android versions using Java by @litongjava in https://github.com/ggerganov/whisper.cpp/pull/1382 * Add n_gpu_layers option to talk-llama example by @rlapray in https://github.com/ggerganov/whisper.cpp/pull/1475 * whisper : add grammar-based sampling by @ejones in https://github.com/ggerganov/whisper.cpp/pull/1229 * java : use tiny.en for tests by @ggerganov in https://github.com/ggerganov/whisper.cpp/pull/1484 * whisper : add batched decoding by @ggerganov in https://github.com/ggerganov/whisper.cpp/pull/1486 * java : fix test by @ggerganov in https://github.com/ggerganov/whisper.cpp/pull/1492 * whisper : make large version explicit + fix data size units by @ggerganov in https://github.com/ggerganov/whisper.cpp/pull/1493 ## New Contributors * @BaffinLee made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/832 * @herrera-luis made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/845 * @CRD716 made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/853 * @trholding made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/862 * @RelatedTitle made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/867 * @blazingzephyr made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/885 * @cjheath made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/874 * @jcsoo made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/893 * @Miserlou made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/908 * @abCods made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/926 * @ttv20 made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/935 * @nalbion made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/931 * @akharlamov made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/927 * @geniusnut made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/972 * @LarryBattle made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/995 * @akashmjn made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/1001 * @faker2048 made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/1002 * @burningion made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/1012 * @byte-6174 made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/1015 * @appleboy made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/1024 * @jaybinks made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/1010 * @GiviMAD made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/1029 * @colinc made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/1031 * @roddurd made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/1041 * @simonMoisselin made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/1042 * @philn made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/1045 * @przemoc made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/1049 * @thefinaldegree made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/1054 * @mwarnaar made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/1064 * @RyanMetcalfeInt8 made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/1037 * @mvrilo made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/1067 * @tmc made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/1077 * @alonfaraj made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/1101 * @AustinMroz made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/1131 * @geekodour made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/1081 * @evmar made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/1060 * @vadi2 made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/1092 * @goncha made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/1111 * @Jerry-Master made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/1113 * @xdrudis made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/1114 * @iceychris made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/1120 * @bobqianic made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/1128 * @IronBlood made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/1124 * @DMcConnell made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/1137 * @marmistrz made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/1174 * @AlexandrGraschenkov made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/1142 * @lachesis made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/1162 * @csukuangfj made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/1154 * @jbyunes made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/1205 * @JunkFood02 made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/1204 * @ardfork made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/1209 * @denersc made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/1218 * @shivamidow made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/1227 * @wizardforcel made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/1231 * @didzis made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/1250 * @nchudleigh made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/1235 * @nekr0z made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/1303 * @Sogl made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/1306 * @computerscienceiscool made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/1290 * @litongjava made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/1310 * @brunofaustino made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/1334 * @mkiol made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/1335 * @AlienKevin made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/1304 * @joecryptotoo made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/1286 * @jorismertz made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/1362 * @JohanRaffin made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/1368 * @ai-at-home made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/1400 * @WhiteOlivierus made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/1404 * @akx made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/1358 * @asadm made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/1417 * @iamthad made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/1440 * @bjnortier made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/1434 * @tobrun made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/1445 * @sindresorhus made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/1370 * @jxy made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/1458 * @kubaracek made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/1467 * @rlapray made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/1475 **Full Changelog**: https://github.com/ggerganov/whisper.cpp/compare/v1.4.0...v1.5.0
v1.4.3
16 weeks ago
This is a minor release, the main reason for which is that there hasn't been an official release for a few months now and some small things have accumulated on the `master` branch that would be nice to be upstreamed. I am planning a major `v1.5.0` release with some new and long-waited functionality soon: - Full CUDA offloading - Efficient Beam-Search implementation - Grammar support The current version `v1.4.3` should be considered in beta as I haven't worked intensively on `whisper.cpp` recently and there might be some issues that made their way in the code. I'll try to polish things in the next days and prepare a stable `v1.5.0` release. In the meantime, any feedback will be highly appreciated. ***Detailed API changes, features and new contributor recognitions will be included in the `v1.5.0` release.***
v1.4.0
43 weeks ago
## Overview This is a new major release adding **integer quantization** and **partial GPU (NVIDIA)** support ### Integer quantization This allows the `ggml` Whisper models to be converted from the default 16-bit floating point weights to 4, 5 or 8 bit integer weights. The resulting quantized models are smaller in disk size and memory usage and can be processed faster on some architectures. The transcription quality is degraded to some extend - not quantified at the moment. - Supported quantization modes: `Q4_0`, `Q4_1`, `Q4_2`, `Q5_0`, `Q5_1`, `Q8_0` - Implementation details: https://github.com/ggerganov/whisper.cpp/pull/540 - Usage instructions: [README](https://github.com/ggerganov/whisper.cpp#quantization) - All WASM examples now support `Q5` quantized models: https://whisper.ggerganov.com Here is a quantitative evaluation of the different quantization modes applied to the [LLaMA](https://github.com/facebookresearch/llama) and [RWKV](https://github.com/BlinkDL/RWKV-LM) large language models. These results can give an impression about the expected quality, size and speed for quantized Whisper models: #### LLaMA quantization (measured on M1 Pro) | Model | Measure | F16 | Q4_0 | Q4_1 | Q4_2 | Q5_0 | Q5_1 | Q8_0 | |------:|--------------|-------:|-------:|-------:|-------:|-------:|-------:|-------:| | 7B | perplexity | 5.9565 | 6.2103 | 6.1286 | 6.1698 | 6.0139 | 5.9934 | 5.9571 | | 7B | file size | 13.0G | 4.0G | 4.8G | 4.0G | 4.4G | 4.8G | 7.1G | | 7B | ms/tok @ 4th | 128 | 56 | 61 | 84 | 91 | 95 | 75 | | 7B | ms/tok @ 8th | 128 | 47 | 55 | 48 | 53 | 59 | 75 | | 7B | bits/weight | 16.0 | 5.0 | 6.0 | 5.0 | 5.5 | 6.0 | 9.0 | | 13B | perplexity | 5.2455 | 5.3748 | 5.3471 | 5.3433 | 5.2768 | 5.2582 | 5.2458 | | 13B | file size | 25.0G | 7.6G | 9.1G | 7.6G | 8.4G | 9.1G | 14G | | 13B | ms/tok @ 4th | 239 | 104 | 113 | 160 | 176 | 185 | 141 | | 13B | ms/tok @ 8th | 240 | 85 | 99 | 97 | 108 | 117 | 147 | | 13B | bits/weight | 16.0 | 5.0 | 6.0 | 5.0 | 5.5 | 6.0 | 9.0 | ref: https://github.com/ggerganov/llama.cpp#quantization #### RWKV quantization | Format | Perplexity (169M) | Latency, ms (1.5B) | File size, GB (1.5B) | |-----------|-------------------|--------------------|----------------------| | `Q4_0` | 17.507 | *76* | **1.53** | | `Q4_1` | 17.187 | **72** | 1.68 | | `Q4_2` | 17.060 | 85 | **1.53** | | `Q5_0` | 16.194 | 78 | *1.60* | | `Q5_1` | 15.851 | 81 | 1.68 | | `Q8_0` | *15.652* | 89 | 2.13 | | `FP16` | **15.623** | 117 | 2.82 | | `FP32` | **15.623** | 198 | 5.64 | ref: https://github.com/ggerganov/ggml/issues/89#issuecomment-1528781992 This feature is possible thanks to the many contributions in the [llama.cpp](https://github.com/ggerganov/llama.cpp) project: https://github.com/users/ggerganov/projects/2 ### GPU support via cuBLAS Using cuBLAS results mainly in improved Encoder inference speed. I haven't done proper timings, but one can expect at least 2-3 times faster Encoder evaluation with modern NVIDIA GPU cards compared to CPU-only processing. Feel free to post your Encoder benchmarks in issue #89. - Implementation details: https://github.com/ggerganov/whisper.cpp/pull/834 - Usage instructions: [README](https://github.com/ggerganov/whisper.cpp#nvidia-gpu-support-via-cublas) This is another feature made possible by the [llama.cpp](https://github.com/ggerganov/llama.cpp) project. Special recognition to @slaren for putting almost all of this work together --- This release remains in "beta" stage as I haven't verified that everything works as expected. ## What's Changed * Updated escape_double_quotes() Function by @tauseefmohammed2 in https://github.com/ggerganov/whisper.cpp/pull/776 * examples : add missing #include <cstdint> by @pH5 in https://github.com/ggerganov/whisper.cpp/pull/798 * Flush upon finishing inference by @tarasglek in https://github.com/ggerganov/whisper.cpp/pull/811 * Escape quotes in csv output by @laytan in https://github.com/ggerganov/whisper.cpp/pull/815 * C++11style by @wuyudi in https://github.com/ggerganov/whisper.cpp/pull/768 * Optionally allow a Core ML build of Whisper to work with or without Core ML models by @Canis-UK in https://github.com/ggerganov/whisper.cpp/pull/812 * add some tips about in the readme of the android project folder by @Zolliner in https://github.com/ggerganov/whisper.cpp/pull/816 * whisper: Use correct seek_end when offset is used by @ThijsRay in https://github.com/ggerganov/whisper.cpp/pull/833 * ggml : fix 32-bit ARM NEON by @ggerganov in https://github.com/ggerganov/whisper.cpp/pull/836 * Add CUDA support via cuBLAS by @ggerganov in https://github.com/ggerganov/whisper.cpp/pull/834 * Integer quantisation support by @ggerganov in https://github.com/ggerganov/whisper.cpp/pull/540 ## New Contributors * @tauseefmohammed2 made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/776 * @pH5 made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/798 * @tarasglek made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/811 * @laytan made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/815 * @wuyudi made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/768 * @Canis-UK made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/812 * @Zolliner made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/816 * @ThijsRay made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/833 **Full Changelog**: https://github.com/ggerganov/whisper.cpp/compare/v1.3.0...v1.4.0
v1.3.0
46 weeks ago
## Overview This release should be considered in Beta stage, since I haven't done a lot of testing and I am not sure if I didn't break something. But overall, I believe both the performance and the quality are improved. - Added Core ML support #566 - Restored decoding fallbacks with default size of 2 instead of 5 (f19e23fbd108ec3ac458c7a19b31c930719e7a94) - Pad the audio with zeros instead of the spectrogram (5108b30e6daf361c856abb6b86e5038500bdbeb1) - Added [talk-llama](https://github.com/ggerganov/whisper.cpp/tree/master/examples/talk-llama) example - Added `whisper_state` which allows parallel transcriptions with a single model in memory (#523) The C-style API has been extended significantly to support the new `whisper_state`, but in general should be backwards compatible. The only breaking change is in the callbacks signatures. Please provide feedback in the discussion if you observe any issues. The next release `v1.4.0` will follow up relatively soon and will provide 4-bit integer quantization support. ## What's Changed * update csv output format to match OpenAI's Whisper dataframe output by @hykelvinlee42 in https://github.com/ggerganov/whisper.cpp/pull/552 * Go binding: NewContext now returns a clean context by @polarmoon in https://github.com/ggerganov/whisper.cpp/pull/537 * Added whisper state + default state on the whisper_context by @sandrohanea in https://github.com/ggerganov/whisper.cpp/pull/523 * whisper.android: Enable fp16 instrinsics (FP16_VA) which is supported by ARMv8.2 or later. by @tinoue in https://github.com/ggerganov/whisper.cpp/pull/572 * Add quality comparison helper by @venkr in https://github.com/ggerganov/whisper.cpp/pull/569 * whisper.android: Support benchmark for Android example. by @tinoue in https://github.com/ggerganov/whisper.cpp/pull/542 * Fix MUSL Linux build by @ggerganov in https://github.com/ggerganov/whisper.cpp/pull/576 * Change default encoding to UTF-8 by @Kamilake in https://github.com/ggerganov/whisper.cpp/pull/605 * Provide option for creating JSON output by @tuxpoldo in https://github.com/ggerganov/whisper.cpp/pull/615 * readme : add react-native bindings by @jhen0409 in https://github.com/ggerganov/whisper.cpp/pull/619 * Fixed language auto-detection for state provided processing. by @sandrohanea in https://github.com/ggerganov/whisper.cpp/pull/627 * xcodeproj : add `-O3 -DNDEBUG` in release mode by @jhen0409 in https://github.com/ggerganov/whisper.cpp/pull/640 * Nodejs Addon blocking main thread. Implemented Napi::AsyncWorker by @LucasZNK in https://github.com/ggerganov/whisper.cpp/pull/642 * Include link to R wrapper in README by @jwijffels in https://github.com/ggerganov/whisper.cpp/pull/626 * Add a cmake flag to disable F16C by @a5huynh in https://github.com/ggerganov/whisper.cpp/pull/628 * Add talk-llama example by @ggerganov in https://github.com/ggerganov/whisper.cpp/pull/664 * Add Alpaca support to talk-llama example by @ejones in https://github.com/ggerganov/whisper.cpp/pull/668 * Update README.md by @razodactyl in https://github.com/ggerganov/whisper.cpp/pull/682 * issue #470 - working 32-bit ARM by @clach04 in https://github.com/ggerganov/whisper.cpp/pull/486 * whisper : add initial_prompt param by @jhen0409 in https://github.com/ggerganov/whisper.cpp/pull/645 * fix typo in JSON output by @egorFiNE in https://github.com/ggerganov/whisper.cpp/pull/648 * Fix shell script ./models/download-ggml-model.sh to handle spaces and special characters in paths by @be-next in https://github.com/ggerganov/whisper.cpp/pull/677 * Fixed test to new async implementation by @LucasZNK in https://github.com/ggerganov/whisper.cpp/pull/686 * Minor: fixing usage message for talk-llama by @InconsolableCellist in https://github.com/ggerganov/whisper.cpp/pull/687 * Small typo by @ZiggerZZ in https://github.com/ggerganov/whisper.cpp/pull/688 * feat: add progress callback by @pajowu in https://github.com/ggerganov/whisper.cpp/pull/600 * ggml : fix q4_1 dot product types by @novag in https://github.com/ggerganov/whisper.cpp/pull/759 * Exposed various parts to the Go Interface by @bmurray in https://github.com/ggerganov/whisper.cpp/pull/697 * Adds shell command example for --print-colors by @bocytko in https://github.com/ggerganov/whisper.cpp/pull/710 * Makefile: disable avx in case f16c is not available by @duthils in https://github.com/ggerganov/whisper.cpp/pull/706 * Making the quick start instructions clearer. by @Onlyartist9 in https://github.com/ggerganov/whisper.cpp/pull/716 * Add lrc output support by @WhichWho in https://github.com/ggerganov/whisper.cpp/pull/718 * Corrects default speak.sh path in talk-llama by @mab122 in https://github.com/ggerganov/whisper.cpp/pull/720 * Add msvc compiler args /utf-8 fix error C3688 by @WhichWho in https://github.com/ggerganov/whisper.cpp/pull/721 * Changed convert-pt-to-ggml.py to use .tiktoken tokenizer files by @ivan-gorin in https://github.com/ggerganov/whisper.cpp/pull/725 * talk/talk-llama: add basic example script for eleven-labs tts by @DGdev91 in https://github.com/ggerganov/whisper.cpp/pull/728 * readme : add Unity3d bindings by @Macoron in https://github.com/ggerganov/whisper.cpp/pull/733 * Update stream.cpp by @AliAlameh in https://github.com/ggerganov/whisper.cpp/pull/501 * Fix typos in whisper.h by @GitAritron in https://github.com/ggerganov/whisper.cpp/pull/737 * Update LICENSE by @masguit42 in https://github.com/ggerganov/whisper.cpp/pull/739 * fix potential memory leaks by @baderouaich in https://github.com/ggerganov/whisper.cpp/pull/740 * readme: Add alternate swift bindings by @exPHAT in https://github.com/ggerganov/whisper.cpp/pull/755 * Fix the bug related to word splitting errors in the "tokenize" function. by @AfryMask in https://github.com/ggerganov/whisper.cpp/pull/760 * Do not launch threads for `log_mel_spectrogram` when singlethreaded by @maxilevi in https://github.com/ggerganov/whisper.cpp/pull/763 * Core ML support by @ggerganov in https://github.com/ggerganov/whisper.cpp/pull/566 * ggml : fix build on whisper.android (ARM_NEON) by @jhen0409 in https://github.com/ggerganov/whisper.cpp/pull/764 ## New Contributors * @hykelvinlee42 made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/552 * @tinoue made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/572 * @venkr made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/569 * @Kamilake made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/605 * @tuxpoldo made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/615 * @jhen0409 made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/619 * @LucasZNK made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/642 * @jwijffels made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/626 * @a5huynh made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/628 * @ejones made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/668 * @razodactyl made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/682 * @clach04 made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/486 * @egorFiNE made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/648 * @be-next made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/677 * @InconsolableCellist made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/687 * @ZiggerZZ made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/688 * @pajowu made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/600 * @novag made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/759 * @bmurray made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/697 * @bocytko made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/710 * @duthils made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/706 * @Onlyartist9 made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/716 * @WhichWho made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/718 * @mab122 made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/720 * @ivan-gorin made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/725 * @DGdev91 made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/728 * @Macoron made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/733 * @AliAlameh made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/501 * @GitAritron made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/737 * @masguit42 made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/739 * @baderouaich made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/740 * @exPHAT made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/755 * @AfryMask made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/760 * @maxilevi made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/763 **Full Changelog**: https://github.com/ggerganov/whisper.cpp/compare/v1.2.1...v1.3.0
v1.2.1
1 year ago
## Overview This is a minor release. The main reason for it is a critical bug fix that causes the software to crash randomly when the language auto-detect option is used (i.e. `whisper_lang_auto_detect()`). Other than that, the release includes refactoring of the examples, ruby bindings and some minor changes to the C API. You can provide feedback in the existing [v1.2.0 discussion](https://github.com/ggerganov/whisper.cpp/discussions/467). ## What's Changed #### Core `ggml` / `whisper` * `whisper` : whisper : add "split_on_word" flag when using using "max_len" option by @mightymatth in #455 and @boolemancer in https://github.com/ggerganov/whisper.cpp/pull/476 * `whisper` : add whisper_full_lang_id() for getting the context lang by @kamranjon in https://github.com/ggerganov/whisper.cpp/pull/461 * `whisper` : fixed Beam Search Strategy and exposed whisper_pcm_to_mel_phase_vocoder by @sandrohanea in https://github.com/ggerganov/whisper.cpp/pull/474 * `whisper` : suppress non-speech-related token outputs by @shibukazu in https://github.com/ggerganov/whisper.cpp/pull/473 * `cmake` : install whisper.h header by @aviks in https://github.com/ggerganov/whisper.cpp/pull/485 * `whisper` : fix signedness compiler warning by @shikokuchuo in https://github.com/ggerganov/whisper.cpp/pull/506 * `whisper` : by default disable non-speech tokens suppression #473 * `whisper` : add API for applying custom logits filters during decoding 0d229163bbea769c7a3e0e500e45850c9a6e2e42 * `whisper` : fix uninitialized `exp_n_audio_ctx` by @Finnvoor in https://github.com/ggerganov/whisper.cpp/pull/520 #### Bindings * `bindings` : add Ruby by @taf2 in https://github.com/ggerganov/whisper.cpp/pull/500 * `readme` : add .NET repos (#303) * `readme` : add cython bindings (#9) * `readme` : add pybind11 bindings by @aarnphm in https://github.com/ggerganov/whisper.cpp/pull/538 #### Examples * `ci` : add node addon test and optimize compilation configuration by @chenqianhe in https://github.com/ggerganov/whisper.cpp/pull/468 * `yt-wsp.sh` : add unique filename generation by @genevera in https://github.com/ggerganov/whisper.cpp/pull/495 * `examples` : refactor in order to reuse code and reduce duplication by @ggerganov in https://github.com/ggerganov/whisper.cpp/pull/482 * `main` : fix stdin pipe stream by @conradg in https://github.com/ggerganov/whisper.cpp/pull/503 * `make` : add "-mcpu=native" when building for aarch64 (#532) #### C-style API * Add `whisper_pcm_to_mel_phase_vocoder()` * Add `*(whisper_logits_filter_callback)()` * Change `struct whisper_full_params` * Add `whisper_full_lang_id()` ## New Contributors * @mightymatth made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/455 * @kamranjon made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/461 * @sandrohanea made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/474 * @shibukazu made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/473 * @genevera made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/495 * @shikokuchuo made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/506 * @conradg made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/503 * @taf2 made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/500 * @Finnvoor made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/520 * @aarnphm made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/538 * @FlippFuzz made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/532 **Full Changelog**: https://github.com/ggerganov/whisper.cpp/compare/v1.2.0...v1.2.1 ## Highlights Recently, I have been making progress on adding integer quantisation support in the `ggml` tensor library. This will eventually allow to use quantised models which require less memory and will hopefully run faster. I think the next major release `v1.3.0` will officially add quantisation support. For now, you can keep track of the progress in #540 --- - **๐ŸŽ™๏ธ MacWhisper by @jordibruin powered by whisper.cpp** https://goodsnooze.gumroad.com/l/macwhisper <div align="center"> <a href="https://goodsnooze.gumroad.com/l/macwhisper"><img width="1663" alt="image" src="https://user-images.githubusercontent.com/1991296/223670514-5b482ec2-bee3-44c9-b90f-724da750cdf3.png"></a> </div>
v1.2.0
1 year ago
## Overview In this release we significantly reduce the memory usage during inference by introducing "scratch" buffers to `ggml`. The new memory requirements per model are as follows: | Model | Disk | Mem (Old) | Mem (New) | | --- | --- | --- | --- | | tiny | 75 MB | ~390 MB | ~125 MB | | base | 142 MB | ~500 MB | ~210 MB | | small | 466 MB | ~1.0 GB | ~600 MB | | medium | 1.5 GB | ~2.6 GB | ~1.7 GB | | large | 2.9 GB | ~4.7 GB | ~3.3 GB | It's a simple idea that instead of creating a new memory buffer for each new tensor in the computation, we reuse the memory of old tensors that are no longer needed. The implementation is in PR #431. It's not very clean - I think there is some better way to do this, but for now it will work. Additionally, there might be some inference speed improvements on Apple Silicon in the Decoder part of the transformer. I haven't done proper benchmarks, but seems there is about ~30% performance boost. The results are identical to `v1.1.1`. ## What's Changed #### Core `ggml` / `whisper` * `whisper` : PPC64 big-endian support by @fitzsim in https://github.com/ggerganov/whisper.cpp/pull/398 * `whisper` : condition sampled timestamp tokens to be monotonically increasing by @ggerganov in https://github.com/ggerganov/whisper.cpp/pull/425 * `wasm` : fix typo in helper.js by @bhbs in https://github.com/ggerganov/whisper.cpp/pull/459 * `ggml`/`whisper` : reduce memory usage during inference by @ggerganov in https://github.com/ggerganov/whisper.cpp/pull/431 #### Bindings * `ci` : run workflows on pull requests + bindings depend on .h by @ggerganov in https://github.com/ggerganov/whisper.cpp/pull/446 * `go` : added wrappers to reset and print timings by @glaslos in https://github.com/ggerganov/whisper.cpp/pull/436 * `go` : add WhisperLangAutoDetect method to go binding by @RobinXL in https://github.com/ggerganov/whisper.cpp/pull/451 * `go` : add wrapper for system info by @glaslos in https://github.com/ggerganov/whisper.cpp/pull/456 * `go` : support "auto" as an option when set language by @polarmoon in https://github.com/ggerganov/whisper.cpp/pull/462 #### Examples * `whisper.wasm` : add labels for easier radio selection by @kokes in https://github.com/ggerganov/whisper.cpp/pull/435 * `livestream.sh` : run main with model arg instead of default by @EricTendian in https://github.com/ggerganov/whisper.cpp/pull/453 * `main` : CSV format export trimmed spaces fix by @alex-bacart in https://github.com/ggerganov/whisper.cpp/pull/444 * `addon.node` : using whisper as a Node.js addon by @chenqianhe in https://github.com/ggerganov/whisper.cpp/pull/443 ## New Contributors * @kokes made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/435 * @glaslos made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/436 * @EricTendian made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/453 * @RobinXL made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/451 * @alex-bacart made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/444 * @bhbs made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/459 * @polarmoon made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/462 * @chenqianhe made their first contribution in https://github.com/ggerganov/whisper.cpp/pull/443 **Full Changelog**: https://github.com/ggerganov/whisper.cpp/compare/v1.1.1...v1.2.0 ## Highlights I'll use these release notes to write some random thoughts about the project - sort of a short blog post. I'm really happy with how `whisper.cpp` turned out to be so far. There is a very positive reception in the ML community - most people seem to be excited by the simplicity of the implementation and the fact that it is quite self-contained. I receive a lot of questions about the project and about various ideas that it can be applied to. I really enjoy it and I try to respond to everyone! I also find it very satisfying that there are so many contributions already happening by so many people. To me this illustrates the power of open-source collaboration. The contributions not only improve the functionality and the quality of the code, but also help to generate various new ideas and approaches to explore. Another interesting thing is that the project keeps on giving. Every time I start to think that now is a good time to put it in the background for a while and focus on other stuff, some new cool idea pops up and I can't help but start working on it. Having this custom implementation allows me to interact with the model on a lower level which opens some interesting ways to explore it. So far the development has been focused on improving the performance, expanding the platform coverage and having robust decoding strategies with a variety of examples. During this time, there have been several ideas that accumulated over-time which I find interesting to explore (diarization, token-level timestamps, improved timestamp accuracy, etc). I think I'll try to focus more on these in the future and see if I can achieve something interesting. --- - **Windows port of `whisper.cpp` utilising vendor-agnostic GPGPU based on DirectCompute by @Const-me** https://github.com/Const-me/Whisper --- - **"The New Yorker" article featuring `whisper.cpp`** <div align="center"> <h2><a href="https://www.newyorker.com/tech/annals-of-technology/whispers-of-ais-modular-future">Whispers of A.I.โ€™s Modular Future</a></h2> <a href="https://www.newyorker.com/tech/annals-of-technology/whispers-of-ais-modular-future"><img width="1663" alt="image" src="https://media.newyorker.com/photos/63d93e688b2aff35d30ef8e2/master/w_2560,c_limit/Somers_final.jpg"></a> </div>
iOS macOS watchOS tvOS
danielgindi/Charts v4.1.0
Beautiful charts for iOS/tvOS/OSX! The Apple side of the crossplatform MPAndroidChart.
โญ๏ธ 27,264
๐Ÿ•“ 1 year ago
๐Ÿ”– Release Notes

Releases

The markdown parsing is broken/disabled for release notes. Sorry about that, I'm chasing the source of a crash that's been bringing this website down for the last couple of days.
5.1.0
2 weeks ago
## What's Changed * [Feature] added ability to rotate ChartLimitLine label by @berbaspin in https://github.com/danielgindi/Charts/pull/5085 * Add Privacy Manifest by @wlxo0401 in https://github.com/danielgindi/Charts/pull/5141 ## New Contributors * @berbaspin made their first contribution in https://github.com/danielgindi/Charts/pull/5085 * @wlxo0401 made their first contribution in https://github.com/danielgindi/Charts/pull/5141 **Full Changelog**: https://github.com/danielgindi/Charts/compare/5.0.0...5.1.0
5.0.0
38 weeks ago
# A New Name! `Charts` is now called `DGCharts` to prevent conflicts with Apple's SwiftUI Charts. To fix your projects simply replace `import Charts` with `import DGCharts` ## What's Changed * Fix yOffset documentation typo by @erkanyildiz in https://github.com/danielgindi/Charts/pull/4898 * The use of special character in folder name don't allow unzip correctโ€ฆ by @rquesada in https://github.com/danielgindi/Charts/pull/4661 * Unnecessary space Removal and Semicolons are removed by @guptamohit1907 in https://github.com/danielgindi/Charts/pull/5016 * Change library name from Charts to DGCharts by @pmairoldi in https://github.com/danielgindi/Charts/pull/5027 * Adding a tutorial link to README.md by @stepanovgena in https://github.com/danielgindi/Charts/pull/4971 * fixed no used warning by @eren-celik in https://github.com/danielgindi/Charts/pull/4841 * Turn on the BUILD_LIBRARY_FOR_DISTRIBUTION flag by @matopeto in https://github.com/danielgindi/Charts/pull/4912 * bump min version to 13 for ios project by @waterskier2007 in https://github.com/danielgindi/Charts/pull/5062 * Fix Node 12 deprecation warning by @FelixHerrmann in https://github.com/danielgindi/Charts/pull/5043 * Merge from master by @pmairoldi in https://github.com/danielgindi/Charts/pull/5067 * Fix Xcode 14.3 import warnings by @FelixHerrmann in https://github.com/danielgindi/Charts/pull/5041 * remove swift-algorithms package in favor of manully importing needed โ€ฆ by @pmairoldi in https://github.com/danielgindi/Charts/pull/5069 * update ci by @pmairoldi in https://github.com/danielgindi/Charts/pull/5070 * [WIP] Release/5.0.0 by @pmairoldi in https://github.com/danielgindi/Charts/pull/5028 ## New Contributors * @erkanyildiz made their first contribution in https://github.com/danielgindi/Charts/pull/4898 * @rquesada made their first contribution in https://github.com/danielgindi/Charts/pull/4661 * @guptamohit1907 made their first contribution in https://github.com/danielgindi/Charts/pull/5016 * @stepanovgena made their first contribution in https://github.com/danielgindi/Charts/pull/4971 * @eren-celik made their first contribution in https://github.com/danielgindi/Charts/pull/4841 * @matopeto made their first contribution in https://github.com/danielgindi/Charts/pull/4912 * @waterskier2007 made their first contribution in https://github.com/danielgindi/Charts/pull/5062 **Full Changelog**: https://github.com/danielgindi/Charts/compare/v4.1.0...5.0.0
v4.1.0
1 year ago
## What's Changed * Update README.md by @jeremyteh in https://github.com/danielgindi/Charts/pull/4886 * Fix navigation bar transparent issue by @wlixcc in https://github.com/danielgindi/Charts/pull/4875 * Update ChartDataSet.swift by @batikansosun in https://github.com/danielgindi/Charts/pull/4861 * Fixes for Swift 5.7 compiler by @lukeredpath in https://github.com/danielgindi/Charts/pull/4823 * Add double mark for compiler check related with issue #4835 by @eliakorkmaz in https://github.com/danielgindi/Charts/pull/4836 * Fix chart only drawing first entry by @FelixHerrmann in https://github.com/danielgindi/Charts/pull/4829 ## New Contributors * @jeremyteh made their first contribution in https://github.com/danielgindi/Charts/pull/4886 * @wlixcc made their first contribution in https://github.com/danielgindi/Charts/pull/4875 * @batikansosun made their first contribution in https://github.com/danielgindi/Charts/pull/4861 * @lukeredpath made their first contribution in https://github.com/danielgindi/Charts/pull/4823 * @eliakorkmaz made their first contribution in https://github.com/danielgindi/Charts/pull/4836 * @FelixHerrmann made their first contribution in https://github.com/danielgindi/Charts/pull/4829 **Full Changelog**: https://github.com/danielgindi/Charts/compare/v4.0.3...v4.1.0
v4.0.3
1 year ago
## What's Changed * Remove Cocoadocs reference from README by @rph8 in https://github.com/danielgindi/Charts/pull/4812 * Highlighter fix by @kcome in https://github.com/danielgindi/Charts/pull/4721 * Added tutorial links by @phuanggh in https://github.com/danielgindi/Charts/pull/4669 * Update ChartData.swift by @truongtho1603 in https://github.com/danielgindi/Charts/pull/4822 * Properties on axis renderers to Objc (Fixes #4800) by @SLambrakis in https://github.com/danielgindi/Charts/pull/4801 ## New Contributors * @rph8 made their first contribution in https://github.com/danielgindi/Charts/pull/4812 * @kcome made their first contribution in https://github.com/danielgindi/Charts/pull/4721 * @phuanggh made their first contribution in https://github.com/danielgindi/Charts/pull/4669 * @truongtho1603 made their first contribution in https://github.com/danielgindi/Charts/pull/4822 * @SLambrakis made their first contribution in https://github.com/danielgindi/Charts/pull/4801 **Full Changelog**: https://github.com/danielgindi/Charts/compare/v4.0.2...v4.0.3
v4.0.2 Release
1 year ago
- Fixes build issues by replacing `class` protocol conformance to `AnyObject` - Update `swift-algorithms` to 1.0 - Add support for cocoapods for 4.0 - Bump lowest supported versions to iOS 10, macOS 10.12, tvOS 10
v4.0.1 Release
3 years ago
## v4.0.1 Release Thanks @jjatie, 4.0.1 release brings: Support Swift Package Manager and switch to another Snapshot test framework. Use Github Actions instead of Travis CI to run faster and work around Carthage issues against Xcode12. Snapshot UT now supports Apple Silicon. Adopt Swift-Algorithm crafted by Apple and the community. Full [changelog](https://github.com/danielgindi/Charts/blob/master/CHANGELOG.md) ------------- We have merged our long waited 4.0 branch into master. It adopts latest Swift trends and benefits and more flexbile and More swift! This is a huge release as a lot of APIs have changed and adopted new protocols. So please expect it will break your code especially about the collection protocols. We will add a few Pull requests in the near future such as https://github.com/danielgindi/Charts/pull/4411. The pre-release could last a little bit longer since we don't want to push people to update. But we do encourage people to try it out and give us feed back.
Xcode 12 support
3 years ago
Xcode 12 support
v3.5.0 Release
3 years ago
### Build on Xcode 11.4 and latest Swift (pod) Change log:https://github.com/danielgindi/Charts/blob/master/CHANGELOG.md **Merged pull requests:** [Full github commit log](https://github.com/danielgindi/Charts/compare/v3.4.0...v3.5.0) - Fix warnings on current code base [\#4321](https://github.com/danielgindi/Charts/pull/4321) ([liuxuan30](https://github.com/liuxuan30)) - Bugfix/legend offset double [\#4277](https://github.com/danielgindi/Charts/pull/4277) ([danielgindi](https://github.com/danielgindi)) - Fix for \#4274 string comparison issue in ChartData::getDataSetByLabel [\#4275](https://github.com/danielgindi/Charts/pull/4275) ([PeterKaminski09](https://github.com/PeterKaminski09)) - Restored correct velocity sampler [\#4273](https://github.com/danielgindi/Charts/pull/4273) ([danielgindi](https://github.com/danielgindi)) - Bugfix/pie highlight [\#4272](https://github.com/danielgindi/Charts/pull/4272) ([danielgindi](https://github.com/danielgindi)) - Call chartViewDidEndPanning on when \*panning\* is ended [\#4271](https://github.com/danielgindi/Charts/pull/4271) ([danielgindi](https://github.com/danielgindi)) - labelXOffset = 10 is default for radar chart only [\#4270](https://github.com/danielgindi/Charts/pull/4270) ([danielgindi](https://github.com/danielgindi)) - Use faster check for line whether it's inside drawing rect [\#4269](https://github.com/danielgindi/Charts/pull/4269) ([danielgindi](https://github.com/danielgindi)) - Refactor/cleanup [\#4268](https://github.com/danielgindi/Charts/pull/4268) ([danielgindi](https://github.com/danielgindi)) - address \#4033 draw half pie chart more accurate [\#4266](https://github.com/danielgindi/Charts/pull/4266) ([liuxuan30](https://github.com/liuxuan30)) - Update README.md, added link to tutorial about Radar Charts. [\#4258](https://github.com/danielgindi/Charts/pull/4258) ([DavidPiper94](https://github.com/DavidPiper94)) - Changes to fix Catalyst compatibility [\#4254](https://github.com/danielgindi/Charts/pull/4254) ([CAPIStkidd](https://github.com/CAPIStkidd)) - Platform separation [\#4178](https://github.com/danielgindi/Charts/pull/4178) ([jjatie](https://github.com/jjatie)) - introduce gracefully degrading abstractions for dark mode for ios andโ€ฆ [\#4171](https://github.com/danielgindi/Charts/pull/4171) ([motocodeltd](https://github.com/motocodeltd)) - Performed recommended localization and internationalization changes. [\#4162](https://github.com/danielgindi/Charts/pull/4162) ([coltonlemmon](https://github.com/coltonlemmon)) - Use interpolation instead of '+' concatenation for problematic expression [\#4123](https://github.com/danielgindi/Charts/pull/4123) ([Jumhyn](https://github.com/Jumhyn)) - Allowing overriding for YAxisRenderer.drawYLabels [\#4089](https://github.com/danielgindi/Charts/pull/4089) ([muclemente](https://github.com/muclemente)) - move isDrawCirclesEnabled check further up in code to avoid creating โ€ฆ [\#4050](https://github.com/danielgindi/Charts/pull/4050) ([xymtek](https://github.com/xymtek))
3.4.0 Release
4 years ago
### Support Xcode 11 and new Swift 5 ### Bug Fix #4029: Index out of bounds exception in v3.2 in createAccessibleElement #4094: Horizontal Bezier Line Graph Not Drawing Through All Points #4093: Line chart x axis animation is broken #4099: Line renderer did not render lines if their coordinates fell outside of the viewport full change log:https://github.com/danielgindi/Charts/blob/master/CHANGELOG.md pod updated
3.3.0 Release
4 years ago
**This will be a breaking update due to #3847 that we changed dataSet initializers API interface and fixed Xcode warnings for previous release.** ***pod has been updated again to 3.3.0 tag, it's previously using 3.3*** ### Now supports Xcode 10.2 and Swift 5.0 #### Highlights of fixed issues and merged requests: - Renamed `values` to `entries` to reflect the property's type [\#3847](https://github.com/danielgindi/Charts/pull/3847) ([jjatie](https://github.com/jjatie)) - Fix horizontal bar chart not drawing values and add unit tests [\#3906](https://github.com/danielgindi/Charts/pull/3906) ([liuxuan30](https://github.com/liuxuan30)) - fix \#3860. maxHeight didn't count the last label [\#3900](https://github.com/danielgindi/Charts/pull/3900) ([liuxuan30](https://github.com/liuxuan30)) - Migrating to built-in algorithms [\#3892](https://github.com/danielgindi/Charts/pull/3892) ([jjatie](https://github.com/jjatie)) - Use a stock iterator instead of a custom one. [\#3891](https://github.com/danielgindi/Charts/pull/3891) ([phughes](https://github.com/phughes)) - Removed unnecessary \#if statements and unified style to align with Xcโ€ฆ [\#3884](https://github.com/danielgindi/Charts/pull/3884) ([jjatie](https://github.com/jjatie)) - Velocity samples calculation [\#3883](https://github.com/danielgindi/Charts/pull/3883) ([jjatie](https://github.com/jjatie)) - Minor updates for Swift 5 [\#3874](https://github.com/danielgindi/Charts/pull/3874) ([jjatie](https://github.com/jjatie)) - Replace AnyObject with Any [\#3864](https://github.com/danielgindi/Charts/pull/3864) ([jjatie](https://github.com/jjatie)) - Data as any [\#3863](https://github.com/danielgindi/Charts/pull/3863) ([jjatie](https://github.com/jjatie)) - Reassess convenience initializers [\#3862](https://github.com/danielgindi/Charts/pull/3862) ([jjatie](https://github.com/jjatie)) - HorizontalBarChar value label offset calculation [\#3854](https://github.com/danielgindi/Charts/pull/3854) ([chaaarly](https://github.com/chaaarly)) - Create `chartViewDidEndAnimate` in ChartViewDelegate [\#3852](https://github.com/danielgindi/Charts/pull/3852) ([Lcsmarcal](https://github.com/Lcsmarcal)) - Align `ChartLimit.LabelPosition` naming with `UIRectCorner` [\#3846](https://github.com/danielgindi/Charts/pull/3846) ([jjatie](https://github.com/jjatie)) #### Full change log https://github.com/danielgindi/Charts/blob/master/CHANGELOG.md
iOS macOS tvOS
airbnb/lottie-ios 4.4.1
An iOS library to natively render After Effects vector animations
โญ๏ธ 24,797
๐Ÿ•“ 1 week 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.4.1
1 week ago
### Bug fixes in 4.4.1 * Replace os check with canImport so classes are available on visionOS (https://github.com/airbnb/lottie-ios/pull/2294) * Omit privacy manifest from source files in podspec (https://github.com/airbnb/lottie-ios/pull/2307) * Fix crash in Main Thread rendering engine path interpolation implementation (https://github.com/airbnb/lottie-ios/pull/2305) * Fix warning from invalid character in Cocoapods resource bundle identifier (https://github.com/airbnb/lottie-ios/pull/2317) * Fix infinite loop when setting `LottieAnimationView.viewportFrame` (https://github.com/airbnb/lottie-ios/pull/2316) ### New features in 4.4.0 * Add privacy manifest (https://github.com/airbnb/lottie-ios/pull/2252) * Codesign Lottie.xcframework (https://github.com/airbnb/lottie-ios/pull/2259) * Add time remapping support to Core Animation rendering engine (https://github.com/airbnb/lottie-ios/pull/2286) * Add official visionOS support to lottie-ios repo (https://github.com/airbnb/lottie-ios/pull/2287) * lottie-spm now supports visionOS (https://github.com/airbnb/lottie-spm/pull/12) * Adopt policy on minimum supported Swift / Xcode version, update minimum versions to Swift 5.7 / Xcode 14.1 (https://github.com/airbnb/lottie-ios/pull/2260) **Full Changelog**: https://github.com/airbnb/lottie-ios/compare/4.4.0...4.4.1
4.4.0
5 weeks ago
## New features * Add privacy manifest (https://github.com/airbnb/lottie-ios/pull/2252) * Codesign Lottie.xcframework (https://github.com/airbnb/lottie-ios/pull/2259) * Add time remapping support to Core Animation rendering engine (https://github.com/airbnb/lottie-ios/pull/2286) * Add official visionOS support to lottie-ios repo (https://github.com/airbnb/lottie-ios/pull/2287) * lottie-spm now supports visionOS (https://github.com/airbnb/lottie-spm/pull/12) * Adopt policy on minimum supported Swift / Xcode version, update minimum versions to Swift 5.7 / Xcode 14.1 (https://github.com/airbnb/lottie-ios/pull/2260) ## Bug fixes * Update LottieView to display placeholder using `overlay` instead of `ZStack` (https://github.com/airbnb/lottie-ios/pull/2289) * Fix issue where Core Animation rendering engine couldn't display last frame of animation when paused (https://github.com/airbnb/lottie-ios/pull/2254) * Do not create `DotLottieImageProvider` instance if there's no image files (https://github.com/airbnb/lottie-ios/pull/2271) * Mark DotLottieCache as Sendable (https://github.com/airbnb/lottie-ios/pull/2245) * Fix issue where AnimationKeypath in SolidLayer could be incorrect (https://github.com/airbnb/lottie-ios/pull/2278) * Fix issue where Repeater could be displayed incorrectly (https://github.com/airbnb/lottie-ios/pull/2276) * Include dSYMs in xcframework build (https://github.com/airbnb/lottie-ios/pull/2284) * Fix parsing issue, add support for DotLottieConfiguration in SwiftUI LottieView (https://github.com/airbnb/lottie-ios/pull/2277) * Fix issue where DotLottieImageProvider didn't handle base64 images (https://github.com/airbnb/lottie-ios/pull/2283) * Fix issue where manually interpolated keyframes could animate incorrectly (https://github.com/airbnb/lottie-ios/pull/2285) **Full Changelog**: https://github.com/airbnb/lottie-ios/compare/4.3.4...4.4.0
4.3.4
13 weeks ago
## What's Changed * Fix parsing regression in 4.3.0 from addition of parsing layer effects by @calda in https://github.com/airbnb/lottie-ios/pull/2208 * Remove old animation layer when creating a new animation layer by @junjielu in https://github.com/airbnb/lottie-ios/pull/2214 * Add configuration setting to remove animated bounds changes by @thedrick in https://github.com/airbnb/lottie-ios/pull/2218 * Change pod dependencies `SwiftUI` and `Combine` to `weak` to ensure compatibility with iOS 12 by @florianrhein in https://github.com/airbnb/lottie-ios/pull/2219 * Fix issue where Repeater would be ignored if not at top level by @calda in https://github.com/airbnb/lottie-ios/pull/2221 * Replace `UIScreen.main` to get display scale on iOS 13.0 and later (#2215) by @hyun99999 in https://github.com/airbnb/lottie-ios/pull/2216 * Dispatch dot lottie file loading onto a single serial queue by @erichoracek in https://github.com/airbnb/lottie-ios/pull/2229 * Clean up unused property in InvertedMatteLayer by @hanton in https://github.com/airbnb/lottie-ios/pull/2241 * Fix issue where LottieView animation would restart from beginning after backgrounding app by @calda in https://github.com/airbnb/lottie-ios/pull/2237 **Full Changelog**: https://github.com/airbnb/lottie-ios/compare/4.3.3...4.3.4
4.3.3
22 weeks ago
**Lottie 4.3.0** adds many new features, including: - Official support for SwiftUI! - A public Core Animation `CALayer` subclass - Support for reduced motion - Support for drop shadow layer effects - Support for visionOS You can learn more about Lottie 4.3.0 in this announcement: **[Lottie 4.3.0 now available, with official support for SwiftUI #2189](https://github.com/airbnb/lottie-ios/discussions/2189)** Lottie 4.3.3 fixes a regression introduced by Lottie 4.3.0 where the contents of a `LottieAnimationView` could crossfade / animate unexpectedly when updating the current `LottieAnimation` or rendering engine: https://github.com/airbnb/lottie-ios/issues/2200 ## New Features in Lottie 4.3.0 * Add SwiftUI `LottieView`, which wraps UIKit `LottieAnimationView` * Add SwiftUI `LottieSwitch`, which wraps UIKit `AnimatedSwitch` (https://github.com/airbnb/lottie-ios/pull/2138) * Add SwiftUI `LottieButton`, which wraps `AnimatedButton` (https://github.com/airbnb/lottie-ios/pull/2139) * `AnimatedSwitch` and `AnimatedButton` now support macOS (https://github.com/airbnb/lottie-ios/pull/2138, https://github.com/airbnb/lottie-ios/pull/2139) * Add `LottieAnimationLayer`, a Core Animation `CALayer` subclass for playing Lottie animations (https://github.com/airbnb/lottie-ios/pull/2073) * Add support for rendering drop shadow layer effects (https://github.com/airbnb/lottie-ios/pull/2142) * Add API for playing multiple markers sequentially (https://github.com/airbnb/lottie-ios/pull/2084) * Play "reduced motion" marker if `UIAccessibility.isReduceMotionEnabled` is true (https://github.com/airbnb/lottie-ios/pull/2110) * Update text provider API to use full `AnimationKeypath` values (https://github.com/airbnb/lottie-ios/pull/2183) * Add support for visionOS (https://github.com/airbnb/lottie-ios/pull/2152) * Drop support for Swift 5.5 (https://github.com/airbnb/lottie-ios/pull/2152) * Add contents gravity configuration to `AnimationImageProvider` (https://github.com/airbnb/lottie-ios/pull/2177) * Add support for customizing stroke width values using `FloatValueProvider` (https://github.com/airbnb/lottie-ios/pull/2179) * Adopt `Sendable` to support using Lottie with strict concurrency enabled (https://github.com/airbnb/lottie-ios/pull/2126) * Add `LottiePlaybackMode` to support declarative playback configuration (https://github.com/airbnb/lottie-ios/pull/2128) * Add option make main thread rendering engine force display update on every frame (https://github.com/airbnb/lottie-ios/pull/2168) * Add a option to prevent caching images from `AnimationImageProvider` (https://github.com/airbnb/lottie-ios/pull/2171) * Add support for customizing gradient values using `GradientValueProvider` (https://github.com/airbnb/lottie-ios/pull/2182) * Added additional support for multiple animations in `DotLottieFile` (https://github.com/airbnb/lottie-ios/pull/2074) * Add helper method to initialize `DotLottieFile` with data (https://github.com/airbnb/lottie-ios/pull/2090) ## Bug fixes * Remove `.../ZipFoundation/README.md` from targets and `*.md*` files from podspec (https://github.com/airbnb/lottie-ios/pull/2057)* * Fix issue where layers with negative X scale values could be pixelated (https://github.com/airbnb/lottie-ios/pull/2067) * Fix warnings when building with Swift 5.9 (https://github.com/airbnb/lottie-ios/pull/2072) * Restructure `ValueProviderStore` to not accumulate multiple values for the same key (https://github.com/airbnb/lottie-ios/pull/2082) * Disable bitcode when building XCFramework (https://github.com/airbnb/lottie-ios/pull/2121) * Fix unhandled file warning when building with SPM ([https://github.com/airbnb/lottie-ios/pull/213](https://github.com/airbnb/lottie-ios/pull/2132)) * Fix support for customizing color of `SolidLayer` using `ColorValueProvider` (https://github.com/airbnb/lottie-ios/pull/2154) * Fix issue where shape items could be unexpectedly ignored (https://github.com/airbnb/lottie-ios/pull/2156) * Fix issue where skew keyframes would unexpectedly not animate (https://github.com/airbnb/lottie-ios/pull/2157) * Fix issue where value providers could be ignored when falling back to main thread rendering engine (https://github.com/airbnb/lottie-ios/pull/2164) Thanks to everyone who contributed to this release!
4.3.2
22 weeks ago
**Lottie 4.3.0** adds many new features, including: - Official support for SwiftUI! - A public Core Animation `CALayer` subclass - Support for reduced motion - Support for drop shadow layer effects - Support for visionOS You can learn more about Lottie 4.3.0 in this announcement: **[Lottie 4.3.0 now available, with official support for SwiftUI #2189](https://github.com/airbnb/lottie-ios/discussions/2189)** ## Lottie 4.3.2 Lottie 4.3.2 redesigns the `LottiePlaybackMode` playback APIs that were introduced in Lottie 4.3.0. ### Before ```swift // Loop from 0.5 to 1.0 LottieView(animation: myAnimation) .play(.fromProgress(0.5, toProgress: 1.0, loopMode: .loop)) // Pause at the halfway point of the animation LottieView(animation: myAnimation) .play(.progress(0.5)) ``` ### After ```swift // Loop from 0.5 to 1.0 LottieView(animation: myAnimation) .playing(.fromProgress(0.5, toProgress: 1.0, loopMode: .loop)) // Pause at the halfway point of the animation LottieView(animation: myAnimation) .paused(at: .progress(0.5)) ``` ## New Features in Lottie 4.3.0 * Add SwiftUI `LottieView`, which wraps UIKit `LottieAnimationView` * Add SwiftUI `LottieSwitch`, which wraps UIKit `AnimatedSwitch` (https://github.com/airbnb/lottie-ios/pull/2138) * Add SwiftUI `LottieButton`, which wraps `AnimatedButton` (https://github.com/airbnb/lottie-ios/pull/2139) * `AnimatedSwitch` and `AnimatedButton` now support macOS (https://github.com/airbnb/lottie-ios/pull/2138, https://github.com/airbnb/lottie-ios/pull/2139) * Add `LottieAnimationLayer`, a Core Animation `CALayer` subclass for playing Lottie animations (https://github.com/airbnb/lottie-ios/pull/2073) * Add support for rendering drop shadow layer effects (https://github.com/airbnb/lottie-ios/pull/2142) * Add API for playing multiple markers sequentially (https://github.com/airbnb/lottie-ios/pull/2084) * Play "reduced motion" marker if `UIAccessibility.isReduceMotionEnabled` is true (https://github.com/airbnb/lottie-ios/pull/2110) * Update text provider API to use full `AnimationKeypath` values (https://github.com/airbnb/lottie-ios/pull/2183) * Add support for visionOS (https://github.com/airbnb/lottie-ios/pull/2152) * Drop support for Swift 5.5 (https://github.com/airbnb/lottie-ios/pull/2152) * Add contents gravity configuration to `AnimationImageProvider` (https://github.com/airbnb/lottie-ios/pull/2177) * Add support for customizing stroke width values using `FloatValueProvider` (https://github.com/airbnb/lottie-ios/pull/2179) * Adopt `Sendable` to support using Lottie with strict concurrency enabled (https://github.com/airbnb/lottie-ios/pull/2126) * Add `LottiePlaybackMode` to support declarative playback configuration (https://github.com/airbnb/lottie-ios/pull/2128) * Add option make main thread rendering engine force display update on every frame (https://github.com/airbnb/lottie-ios/pull/2168) * Add a option to prevent caching images from `AnimationImageProvider` (https://github.com/airbnb/lottie-ios/pull/2171) * Add support for customizing gradient values using `GradientValueProvider` (https://github.com/airbnb/lottie-ios/pull/2182) * Added additional support for multiple animations in `DotLottieFile` (https://github.com/airbnb/lottie-ios/pull/2074) * Add helper method to initialize `DotLottieFile` with data (https://github.com/airbnb/lottie-ios/pull/2090) ## Bug fixes * Remove `.../ZipFoundation/README.md` from targets and `*.md*` files from podspec (https://github.com/airbnb/lottie-ios/pull/2057)* * Fix issue where layers with negative X scale values could be pixelated (https://github.com/airbnb/lottie-ios/pull/2067) * Fix warnings when building with Swift 5.9 (https://github.com/airbnb/lottie-ios/pull/2072) * Restructure `ValueProviderStore` to not accumulate multiple values for the same key (https://github.com/airbnb/lottie-ios/pull/2082) * Disable bitcode when building XCFramework (https://github.com/airbnb/lottie-ios/pull/2121) * Fix unhandled file warning when building with SPM ([https://github.com/airbnb/lottie-ios/pull/213](https://github.com/airbnb/lottie-ios/pull/2132)) * Fix support for customizing color of `SolidLayer` using `ColorValueProvider` (https://github.com/airbnb/lottie-ios/pull/2154) * Fix issue where shape items could be unexpectedly ignored (https://github.com/airbnb/lottie-ios/pull/2156) * Fix issue where skew keyframes would unexpectedly not animate (https://github.com/airbnb/lottie-ios/pull/2157) * Fix issue where value providers could be ignored when falling back to main thread rendering engine (https://github.com/airbnb/lottie-ios/pull/2164) Thanks to everyone who contributed to this release!
4.3.1
23 weeks ago
**Lottie 4.3.0** adds many new features, including: - Official support for SwiftUI! - A public Core Animation `CALayer` subclass - Support for reduced motion - Support for drop shadow layer effects - Support for visionOS You can learn more about Lottie 4.3.0 in this announcement: **[Lottie 4.3.0 now available, with official support for SwiftUI #2189](https://github.com/airbnb/lottie-ios/discussions/2189)** Lottie 4.3.1 fixes a small regression introduced by 4.3.0: https://github.com/airbnb/lottie-ios/issues/2193 ## New Features * Add SwiftUI `LottieView`, which wraps UIKit `LottieAnimationView` * Add SwiftUI `LottieSwitch`, which wraps UIKit `AnimatedSwitch` (https://github.com/airbnb/lottie-ios/pull/2138) * Add SwiftUI `LottieButton`, which wraps `AnimatedButton` (https://github.com/airbnb/lottie-ios/pull/2139) * `AnimatedSwitch` and `AnimatedButton` now support macOS (https://github.com/airbnb/lottie-ios/pull/2138, https://github.com/airbnb/lottie-ios/pull/2139) * Add `LottieAnimationLayer`, a Core Animation `CALayer` subclass for playing Lottie animations (https://github.com/airbnb/lottie-ios/pull/2073) * Add support for rendering drop shadow layer effects (https://github.com/airbnb/lottie-ios/pull/2142) * Add API for playing multiple markers sequentially (https://github.com/airbnb/lottie-ios/pull/2084) * Play "reduced motion" marker if `UIAccessibility.isReduceMotionEnabled` is true (https://github.com/airbnb/lottie-ios/pull/2110) * Update text provider API to use full `AnimationKeypath` values (https://github.com/airbnb/lottie-ios/pull/2183) * Add support for visionOS (https://github.com/airbnb/lottie-ios/pull/2152) * Drop support for Swift 5.5 (https://github.com/airbnb/lottie-ios/pull/2152) * Add contents gravity configuration to `AnimationImageProvider` (https://github.com/airbnb/lottie-ios/pull/2177) * Add support for customizing stroke width values using `FloatValueProvider` (https://github.com/airbnb/lottie-ios/pull/2179) * Adopt `Sendable` to support using Lottie with strict concurrency enabled (https://github.com/airbnb/lottie-ios/pull/2126) * Add `LottiePlaybackMode` to support declarative playback configuration (https://github.com/airbnb/lottie-ios/pull/2128) * Add option make main thread rendering engine force display update on every frame (https://github.com/airbnb/lottie-ios/pull/2168) * Add a option to prevent caching images from `AnimationImageProvider` (https://github.com/airbnb/lottie-ios/pull/2171) * Add support for customizing gradient values using `GradientValueProvider` (https://github.com/airbnb/lottie-ios/pull/2182) * Added additional support for multiple animations in `DotLottieFile` (https://github.com/airbnb/lottie-ios/pull/2074) * Add helper method to initialize `DotLottieFile` with data (https://github.com/airbnb/lottie-ios/pull/2090) ## Bug fixes * Remove `.../ZipFoundation/README.md` from targets and `*.md*` files from podspec (https://github.com/airbnb/lottie-ios/pull/2057)* * Fix issue where layers with negative X scale values could be pixelated (https://github.com/airbnb/lottie-ios/pull/2067) * Fix warnings when building with Swift 5.9 (https://github.com/airbnb/lottie-ios/pull/2072) * Restructure `ValueProviderStore` to not accumulate multiple values for the same key (https://github.com/airbnb/lottie-ios/pull/2082) * Disable bitcode when building XCFramework (https://github.com/airbnb/lottie-ios/pull/2121) * Fix unhandled file warning when building with SPM ([https://github.com/airbnb/lottie-ios/pull/213](https://github.com/airbnb/lottie-ios/pull/2132)) * Fix support for customizing color of `SolidLayer` using `ColorValueProvider` (https://github.com/airbnb/lottie-ios/pull/2154) * Fix issue where shape items could be unexpectedly ignored (https://github.com/airbnb/lottie-ios/pull/2156) * Fix issue where skew keyframes would unexpectedly not animate (https://github.com/airbnb/lottie-ios/pull/2157) * Fix issue where value providers could be ignored when falling back to main thread rendering engine (https://github.com/airbnb/lottie-ios/pull/2164) Thanks to everyone who contributed to this release!
4.3.0
24 weeks ago
**Lottie 4.3.0** adds many new features, including: - Official support for SwiftUI! - A public Core Animation `CALayer` subclass - Support for reduced motion - Support for drop shadow layer effects - Support for visionOS You can learn more about Lottie 4.3.0 in this announcement: **[Lottie 4.3.0 now available, with official support for SwiftUI #2189](https://github.com/airbnb/lottie-ios/discussions/2189)** ## New Features * Add SwiftUI `LottieView`, which wraps UIKit `LottieAnimationView` * Add SwiftUI `LottieSwitch`, which wraps UIKit `AnimatedSwitch` (https://github.com/airbnb/lottie-ios/pull/2138) * Add SwiftUI `LottieButton`, which wraps `AnimatedButton` (https://github.com/airbnb/lottie-ios/pull/2139) * `AnimatedSwitch` and `AnimatedButton` now support macOS (https://github.com/airbnb/lottie-ios/pull/2138, https://github.com/airbnb/lottie-ios/pull/2139) * Add `LottieAnimationLayer`, a Core Animation `CALayer` subclass for playing Lottie animations (https://github.com/airbnb/lottie-ios/pull/2073) * Add support for rendering drop shadow layer effects (https://github.com/airbnb/lottie-ios/pull/2142) * Add API for playing multiple markers sequentially (https://github.com/airbnb/lottie-ios/pull/2084) * Play "reduced motion" marker if `UIAccessibility.isReduceMotionEnabled` is true (https://github.com/airbnb/lottie-ios/pull/2110) * Update text provider API to use full `AnimationKeypath` values (https://github.com/airbnb/lottie-ios/pull/2183) * Add support for visionOS (https://github.com/airbnb/lottie-ios/pull/2152) * Drop support for Swift 5.5 (https://github.com/airbnb/lottie-ios/pull/2152) * Add contents gravity configuration to `AnimationImageProvider` (https://github.com/airbnb/lottie-ios/pull/2177) * Add support for customizing stroke width values using `FloatValueProvider` (https://github.com/airbnb/lottie-ios/pull/2179) * Adopt `Sendable` to support using Lottie with strict concurrency enabled (https://github.com/airbnb/lottie-ios/pull/2126) * Add `LottiePlaybackMode` to support declarative playback configuration (https://github.com/airbnb/lottie-ios/pull/2128) * Add option make main thread rendering engine force display update on every frame (https://github.com/airbnb/lottie-ios/pull/2168) * Add a option to prevent caching images from `AnimationImageProvider` (https://github.com/airbnb/lottie-ios/pull/2171) * Add support for customizing gradient values using `GradientValueProvider` (https://github.com/airbnb/lottie-ios/pull/2182) * Added additional support for multiple animations in `DotLottieFile` (https://github.com/airbnb/lottie-ios/pull/2074) * Add helper method to initialize `DotLottieFile` with data (https://github.com/airbnb/lottie-ios/pull/2090) ## Bug fixes * Remove `.../ZipFoundation/README.md` from targets and `*.md*` files from podspec (https://github.com/airbnb/lottie-ios/pull/2057)* * Fix issue where layers with negative X scale values could be pixelated (https://github.com/airbnb/lottie-ios/pull/2067) * Fix warnings when building with Swift 5.9 (https://github.com/airbnb/lottie-ios/pull/2072) * Restructure `ValueProviderStore` to not accumulate multiple values for the same key (https://github.com/airbnb/lottie-ios/pull/2082) * Disable bitcode when building XCFramework (https://github.com/airbnb/lottie-ios/pull/2121) * Fix unhandled file warning when building with SPM ([https://github.com/airbnb/lottie-ios/pull/213](https://github.com/airbnb/lottie-ios/pull/2132)) * Fix support for customizing color of `SolidLayer` using `ColorValueProvider` (https://github.com/airbnb/lottie-ios/pull/2154) * Fix issue where shape items could be unexpectedly ignored (https://github.com/airbnb/lottie-ios/pull/2156) * Fix issue where skew keyframes would unexpectedly not animate (https://github.com/airbnb/lottie-ios/pull/2157) * Fix issue where value providers could be ignored when falling back to main thread rendering engine (https://github.com/airbnb/lottie-ios/pull/2164) Thanks to everyone who contributed to this release!
4.2.0
44 weeks ago
> **Note** > Starting in Lottie 4.0, the Core Animation rendering engine is now enabled by default. > Learn more about this change: **[Announcing Lottie 4.0 for iOS](https://medium.com/airbnb-engineering/announcing-lottie-4-0-for-ios-d4d226862a54)** on the Airbnb Tech Blog ## What's Changed * Added support for Opacity, Position, Scale, and Rotation value providers to Core Animation rendering engine (https://github.com/airbnb/lottie-ios/pull/2047) * Updated minimum macOS version to 10.11 (https://github.com/airbnb/lottie-ios/pull/2050) * Fixed issue where rounded corners algorithm would return incorrect path for shapes without any rounded corners (#1964) * Improved dotLottie error handling (https://github.com/airbnb/lottie-ios/pull/1969) * Added support for loading DotLottieFile by name and filename synchronously (https://github.com/airbnb/lottie-ios/pull/1968) * Updated ZIPFoundation to 0.9.16 to resolve `dataCorrupted` errors (https://github.com/airbnb/lottie-ios/pull/1978) * Fixed issue where `**` wildcard incorrectly required matching at least one path component (https://github.com/airbnb/lottie-ios/pull/1988) * Fixed issue where completion handler could be called unexpectedly when setting up animation (https://github.com/airbnb/lottie-ios/pull/1994) * Added `LottieAnimationView.allHierarchyKeypaths()` to get list of animation keypaths at runtime (https://github.com/airbnb/lottie-ios/pull/2004) * Added a warning when playing animation that uses unsupported After Effects expressions (https://github.com/airbnb/lottie-ios/pull/2006) * Added `LottieAnimationView.maskAnimationToBounds` configuration option (https://github.com/airbnb/lottie-ios/pull/2008) * Trim whitespaces and newlines before decoding base 64 string to image (https://github.com/airbnb/lottie-ios/pull/2016) * Added support for configuring `LottieBackgroundBehavior` to Objective-C `CompatibleAnimationView` (https://github.com/airbnb/lottie-ios/pull/2027) * Fixed issue where Trim could be applied to too many shape items (https://github.com/airbnb/lottie-ios/pull/2041) * Set animationLayer to nil when removing oldAnimation (https://github.com/airbnb/lottie-ios/pull/2035) * Fixed issue where Trim strokeStart / strokeEnd could be rendered in incorrect order (https://github.com/airbnb/lottie-ios/pull/2049) * Fixed issue where calling `setValueProvider` would reset animation progress (https://github.com/airbnb/lottie-ios/pull/2052) * Fixed issue where trim offset could be calculated incorrectly (https://github.com/airbnb/lottie-ios/pull/2053) **Full Changelog**: https://github.com/airbnb/lottie-ios/compare/4.1.3...4.2.0
4.1.3
1 year 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
1 year 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)
iOS macOS tvOS
SDWebImage/SDWebImage 5.19.0
Asynchronous image downloader with cache support as a UIImageView category
โญ๏ธ 24,764
๐Ÿ•“ 1 week 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.19.0 - CocoaPods X VisionOS
1 week ago
See [all tickets marked for the 5.19.0 release](https://github.com/SDWebImage/SDWebImage/milestone/123) ### Project - [Part 2]Added the official visionOS support with CocoaPods, include Demo/Tests/CI #3673 - This need CocoaPods 1.13.0+ - Next: We'll bump other SDWebImage.org Pods, like `SDWebImageSwiftUI`, `SDWebImageWebPCoder`, `libwebp` on CocoaPods with the visionOS podspec support. ### Features - Added SDWebImageWaitTransition to wait for transition finished and then callback completedBlock #3680 ### Changes - Formally deprecate `sd_cancelCurrentImageLoad` on UIView category, which cause misunderstanding for the same overloaded method in UIImageView category #3654
5.18.12 - 5.8 Patch
1 week ago
See [all tickets marked for the 5.18.12 release](https://github.com/SDWebImage/SDWebImage/milestone/132) ### Fixes - Fix the issue that iOS 17 indexed PNG workaround breaks the 16bit RGBA PNG #3678
5.18.11 - 5.18 Patch
2 weeks ago
See [all tickets marked for the 5.18.11 release](https://github.com/SDWebImage/SDWebImage/milestone/131) ### Fixes - Add missing break keyword while converting NSData to SDImageFormat #3672 @adamwangxx
5.18.10 - 5.18 Patch
7 weeks ago
See [all tickets marked for the 5.18.10 release](https://github.com/SDWebImage/SDWebImage/milestone/130) ### Warning - Fix the warning during clang-analyze #3664 #3663
5.18.9 - 5.18 Bugfix
7 weeks ago
See [all tickets marked for the 5.18.9 release](https://github.com/SDWebImage/SDWebImage/milestone/129) ### Fixes - Fix that PNG indexed color fix does not enable on Release Build configuration #3659 #3658 - - The fix was introduced in 5.18.5, but accidentally only enabled in Debug configuration :) - Fix the behavior that query thumbnail from full size data does not sync back the thumbnail image into memory cache #3657 #3656 - - The bug was introduced in 5.14.0, please upgrade if you use thumbnail decoding. - Temp remove the assert when thumbnail cache key used with thumbnail context , this may be changed later #3661 ### Project - Using os_log for our all log to replace the NSLog #3660
5.18.8 - 5.18 Patch
7 weeks ago
See [all tickets marked for the 5.18.8 release](https://github.com/SDWebImage/SDWebImage/milestone/128) ### Fixes - Fix the issue when using the sd_cancelCurrentImageLoad on non-stateful view (like UIImageView.image) #3653
5.18.7 - CocoaPods Privacy Manifest
11 weeks ago
See [all tickets marked for the 5.18.7 release](https://github.com/SDWebImage/SDWebImage/milestone/127) ### Project - Added xcprivacy manifest to CocoaPods #3649 - - Now all the 3 integration supports the privacy manifest. Check README about usage.
5.18.6 - ProMotion/Vision Fix
12 weeks ago
See [all tickets marked for the 5.18.6 release](https://github.com/SDWebImage/SDWebImage/milestone/126) ### Fixes - Use the new solution for CADisplayLink duration calculation and fix 90Hz/120Hz display (iPhone Pro or Vision Pro) #3644 #3579
5.18.5 - iOS 17 Workaround
15 weeks ago
See [all tickets marked for the 5.18.5 release](https://github.com/SDWebImage/SDWebImage/milestone/125) ### Fixes - Introduce the hacky workaround for iOS 17/macOS 14 ImageIO indexed color png decode (Apple's bug) #3634 - - This will use runtime detection (accurate and safe), and fix the wrong CGImageAlphaInfo when created from PNG using ImageIO decoder. Currently bug exists on iOS 17.0-17.2 - - Please help to fire radar to Apple, let them fix this problem as soon as possible. - Fix the iOS 17 UIKit issue that UIImageView entering the background will reset CALayer's contents, which cause SDAnimatedImageView render issue (out-of-sync) #3636 - Fix the sd_colorAtPoint/sd_colorsWithRect return wrong value on pre-multiplied CGImage #3637 - - Previous version this may return the premultiplied color, which is wrong. Should always return the un-premultiplied color. ### Tests - [Unit test] Use placehold.co to replace the down site via.placeholder.com #3639
5.18.4 - 5.18 Fix
18 weeks ago
See [all tickets marked for the 5.18.4 release](https://github.com/SDWebImage/SDWebImage/milestone/124) ### Changes - SDAnimatedImage now supports static image like JPEG data #3626 #3625 - - Previous version the initializer will return nil and has to use UIImage/NSImage instead
iOS macOS watchOS tvOS

New Releases

apple/swift-driver swift-DEVELOPMENT-SNAPSHOT-2024-03-01-a
Swift compiler driver reimplementation in Swift
โญ๏ธ 766
๐Ÿ•“ 31 seconds ago
iOS macOS
apple/swift-docc-symbolkit swift-DEVELOPMENT-SNAPSHOT-2024-03-01-a
A Swift package for encoding and decoding Swift Symbol Graph files.
โญ๏ธ 162
๐Ÿ•“ 26 minutes ago
apple/swift-experimental-string-processing swift-DEVELOPMENT-SNAPSHOT-2024-03-01-a
An early experimental general-purpose pattern matching engine for Swift.
โญ๏ธ 263
๐Ÿ•“ 1 hour ago
apple/sourcekit-lsp swift-DEVELOPMENT-SNAPSHOT-2024-03-01-a
Language Server Protocol implementation for Swift and C-based languages
โญ๏ธ 3,059
๐Ÿ•“ 1 hour ago
macOS linux android
star-s/ErrorPresentation 0.6.0
Present errors to user on iOS & mac OS
โญ๏ธ 0
๐Ÿ•“ 2 hours ago
apple/swift-corelibs-xctest swift-DEVELOPMENT-SNAPSHOT-2024-03-01-a
The XCTest Project, A Swift core library for providing unit test support
โญ๏ธ 1,111
๐Ÿ•“ 2 hours ago
๐Ÿ”– Release Notes

Releases

The markdown parsing is broken/disabled for release notes. Sorry about that, I'm chasing the source of a crash that's been bringing this website down for the last couple of days.
5 years ago
Swift 4.2.1 Release
5 years ago
Swift 4.2 Release
5 years ago
apple/indexstore-db swift-DEVELOPMENT-SNAPSHOT-2024-03-01-a
Index database library for use with sourcekit-lsp
โญ๏ธ 300
๐Ÿ•“ 3 hours ago
linux
mozilla/rust-components-swift 125.0.20240302000149
Swift Package for distributing Mozilla's Rust-based application components
โญ๏ธ 26
๐Ÿ•“ 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.
124.0.0
2 weeks ago
# 124.0.0 See <https://github.com/mozilla/application-services> for full changelog
123.0.1
4 weeks ago
## 123.0.1 See <https://github.com/mozilla/application-services> for full changelog
123.0.0
5 weeks ago
# 123.0.0 See <https://github.com/mozilla/application-services> for release notes
122.0.2
7 weeks ago
## 122.0.2 See <https://github.com/mozilla/application-services> for changelog
122.0.0
10 weeks ago
# 122.0.0 See <https://github.com/mozilla/application-services> for changelog
120.0.2
13 weeks ago
## 120.0.2 See https://github.com/mozilla/application-services for changelog
121.0.0
14 weeks ago
# v121.0.0 Checkout https://github.com/mozilla/application-services for changelogs
120.0.1
17 weeks ago
See https://github.com/mozilla/application-services/blob/v120.0.1/CHANGELOG.md
120.0.0
18 weeks ago
See https://github.com/mozilla/application-services/blob/v120.0/CHANGELOG.md for a full changelog
119.0.0
22 weeks ago
# 119.0.0 See https://github.com/mozilla/application-services/blob/v119.0/CHANGELOG.md for full changelog
iOS
apple/swift-markdown swift-DEVELOPMENT-SNAPSHOT-2024-03-01-a
A Swift package for parsing, building, editing, and analyzing Markdown documents.
โญ๏ธ 2,539
๐Ÿ•“ 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.
Swift-Markdown 0.3.0
17 weeks ago
This release is based on the Swift 5.9 release.
Swift-Markdown 0.2.0
42 weeks ago
This release is based on the Swift 5.8 release.
mailslurp/mailslurp-client-swift 15.18.4
Official MailSlurp Email API Client for Swift
โญ๏ธ 5
๐Ÿ•“ 5 hours ago
iOS macOS watchOS tvOS

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