Swiftpack.co - Search 16,120 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.22.2
An incremental parsing system for programming tools
⭐️ 15,902
🕓 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.
v0.22.2
Yesterday
v0.22.1
1 week ago
# Changelog ## [0.22.1] — 2024-03-10 ### Bug Fixes - Cli build script behavior on release
v0.22.0
1 week ago
# Changelog ## [0.22.0] — 2024-03-10 ### Breaking - Remove top-level `corpus` dir for tests The cli will now only look in `test/corpus` for tests - Remove redundant escape regex & curly brace regex preprocessing (<https://github.com/tree-sitter/tree-sitter/pull/2838>) - **bindings**: Convert node bindings to NAPI (<https://github.com/tree-sitter/tree-sitter/pull/3077>) - **wasm**: Make `current*`, `is*`, and `has*` methods properties (<https://github.com/tree-sitter/tree-sitter/pull/3103>) - **wasm**: Keep API in-line with upstream and start aligning with node (<https://github.com/tree-sitter/tree-sitter/pull/3149>) ### Features - Add xtasks to assist with bumping crates (<https://github.com/tree-sitter/tree-sitter/pull/3065>) - Improve language bindings (<https://github.com/tree-sitter/tree-sitter/pull/2438>) - Expose the allocator and array header files for external scanners (<https://github.com/tree-sitter/tree-sitter/pull/3063>) - Add typings for the node bindings - Replace `nan` with `node-addon-api` and conditionally print logs - **bindings**: Add more make targets - **bindings**: Add peerDependencies for npm - **bindings**: Add prebuildify to node - **bindings**: Remove dsl types file (<https://github.com/tree-sitter/tree-sitter/pull/3126>) - **node**: Type tag the language (<https://github.com/tree-sitter/tree-sitter/pull/3109>) - **test**: Add attributes for corpus tests ### Bug Fixes - Apply some `scan-build` suggestions (unused assignment/garbage access) (<https://github.com/tree-sitter/tree-sitter/pull/3056>) - Wrap `||` comparison in parentheses when `&&` is used (<https://github.com/tree-sitter/tree-sitter/pull/3070>) - Ignore unused variables in the array macros (<https://github.com/tree-sitter/tree-sitter/pull/3083>) - `binding.cc` overwrite should replace `PARSER_NAME` (<https://github.com/tree-sitter/tree-sitter/pull/3116>) - Don't use `__declspec(dllexport)` on windows (<https://github.com/tree-sitter/tree-sitter/pull/3128>) - Parsers should export the language function on windows - Allow the regex `v` flag (<https://github.com/tree-sitter/tree-sitter/pull/3154>) - **assertions**: Case shouldn't matter for comment node detection - **bindings**: Editorconfig and setup.py fixes (<https://github.com/tree-sitter/tree-sitter/pull/3082>) - **bindings**: Insert `types` after `main` if it exists (<https://github.com/tree-sitter/tree-sitter/pull/3122>) - **bindings**: Fix template oversights (<https://github.com/tree-sitter/tree-sitter/pull/3155>) - **cli**: Only output the sources with `--no-bindings` (<https://github.com/tree-sitter/tree-sitter/pull/3123>) - **generate**: Add `.npmignore`, populate Swift's exclude list (<https://github.com/tree-sitter/tree-sitter/pull/3085>) - **generate**: Extern allocator functions for the template don't need to be "exported" (<https://github.com/tree-sitter/tree-sitter/pull/3132>) - **generate**: Camel case name in `Cargo.toml` description (<https://github.com/tree-sitter/tree-sitter/pull/3140>) - **lib**: Include `api.h` so `ts_set_allocator` is visible (<https://github.com/tree-sitter/tree-sitter/pull/3092>) ### Documentation - Add GitHub user and PR info to the changelog - Add css for inline code (<https://github.com/tree-sitter/tree-sitter/pull/2844>) - Document test attributes - Add `Ohm` language parser - Remove duplicate `the`'s (<https://github.com/tree-sitter/tree-sitter/pull/3120>) - Add discord and matrix badges (<https://github.com/tree-sitter/tree-sitter/pull/3148>) ### Refactor - Rename TS_REUSE_ALLOCATOR flag (<https://github.com/tree-sitter/tree-sitter/pull/3088>) - Remove extern/const where possible - **array**: Use pragma GCC in clang too - **bindings**: Remove npmignore (<https://github.com/tree-sitter/tree-sitter/pull/3089>) ### Testing - Don't use TS_REUSE_ALLOCATOR on Darwin systems (<https://github.com/tree-sitter/tree-sitter/pull/3087>) - Add test case for parse stack merging with incorrect error cost bug (<https://github.com/tree-sitter/tree-sitter/pull/3098>) ### Build System and CI - Improve changelog settings (<https://github.com/tree-sitter/tree-sitter/pull/3064>) - Unify crate versions via workspace (<https://github.com/tree-sitter/tree-sitter/pull/3074>) - Update `cc` to remove annoying debug output (<https://github.com/tree-sitter/tree-sitter/pull/3075>) - Adjust dependabot settings (<https://github.com/tree-sitter/tree-sitter/pull/3079>) - Use c11 everywhere - Add uninstall command - Don't skip tests on failing lint (<https://github.com/tree-sitter/tree-sitter/pull/3102>) - Remove unused deps, bump deps, and bump MSRV to 1.74.1 (<https://github.com/tree-sitter/tree-sitter/pull/3153>) - **bindings**: Metadata improvements - **bindings**: Make everything c11 (<https://github.com/tree-sitter/tree-sitter/pull/3099>) - **dependabot**: Update weekly instead of daily (<https://github.com/tree-sitter/tree-sitter/pull/3112>) - **deps**: Bump the cargo group with 1 update (<https://github.com/tree-sitter/tree-sitter/pull/3081>) - **deps**: Bump the cargo group with 1 update (<https://github.com/tree-sitter/tree-sitter/pull/3097>) - **deps**: Bump deps & lockfile (<https://github.com/tree-sitter/tree-sitter/pull/3060>) - **deps**: Bump the cargo group with 4 updates (<https://github.com/tree-sitter/tree-sitter/pull/3134>) - **lint**: Detect if `Cargo.lock` needs to be updated (<https://github.com/tree-sitter/tree-sitter/pull/3066>) - **lint**: Make lockfile check quiet (<https://github.com/tree-sitter/tree-sitter/pull/3078>) - **swift**: Move 'cLanguageStandard' behind 'targets' (<https://github.com/tree-sitter/tree-sitter/pull/3101>) ### Other - Make Node.js language bindings context aware (<https://github.com/tree-sitter/tree-sitter/pull/2841>) They don't have any dynamic global data, so all it takes is just declaring them as such - Fix crash when attempting to load ancient languages via wasm (<https://github.com/tree-sitter/tree-sitter/pull/3068>) - Use workspace dependencies for internal crates like Tree-sitter (<https://github.com/tree-sitter/tree-sitter/pull/3076>) - Remove vendored wasmtime headers (https://github.com/tree-sitter/tree-sitter/pull/3084) When building rust binding, use wasmtime headers provided via cargo by the wasmtime-c-api crate. - Fix invalid parse stack recursive merging with mismatched error cost (<https://github.com/tree-sitter/tree-sitter/pull/3086>) Allowing this invalid merge caused an invariant to be violated later on during parsing, when handling a later error. - Fix regression in `subtree_compare` (<https://github.com/tree-sitter/tree-sitter/pull/3111>) - docs: Add `Ohm` language parser (<https://github.com/tree-sitter/tree-sitter/pull/3114>) - Delete `binding_files.rs` (<https://github.com/tree-sitter/tree-sitter/pull/3106>) - **bindings**: Consistent wording (<https://github.com/tree-sitter/tree-sitter/pull/3096>) - **bindings**: Ignore more artifacts (<https://github.com/tree-sitter/tree-sitter/pull/3119>)
v0.21.0
3 weeks 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
5 weeks ago
v0.20.9
7 weeks ago
v0.20.8
50 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
2 years ago
v0.20.4
2 years ago
CoderMJLee/MJRefresh 3.7.8
An easy way to use pull-to-refresh.
⭐️ 13,761
🕓 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.
3.7.8
2 hours ago
## What's Changed * Fixed duplicated privacy statement issue in `Static Framework`. by @jiasongs in https://github.com/CoderMJLee/MJRefresh/pull/1605 **Full Changelog**: https://github.com/CoderMJLee/MJRefresh/compare/3.7.7...3.7.8
3.7.7
6 days ago
## What's Changed * 修复MJRefreshAutoFooter初始化时没有添加底部忽略间距的问题 by @Rogue24 in https://github.com/CoderMJLee/MJRefresh/pull/1596 * Add privacy manifest by @wolfcon in https://github.com/CoderMJLee/MJRefresh/pull/1603 **Full Changelog**: https://github.com/CoderMJLee/MJRefresh/compare/3.7.6...3.7.7 ## Acknowledged Issue * Use `CocoaPods` to import `Static Framework` will cause duplicated issue. ## Workaround * Use `Dynamic Framework` or Update to [`3.7.8`](https://github.com/CoderMJLee/MJRefresh/releases/3.7.8)
3.7.6
49 weeks ago
## What's Changed * fixed crash loop infinitive when compare float by using FLT_EPSILON by @vancucit in https://github.com/CoderMJLee/MJRefresh/pull/1581 ## New Contributors * @vancucit made their first contribution in https://github.com/CoderMJLee/MJRefresh/pull/1581 **Full Changelog**: https://github.com/CoderMJLee/MJRefresh/compare/3.7.5...3.7.6
3.7.5
2 years ago
## What's Changed * Fix/duplicated async method by @wolfcon in https://github.com/CoderMJLee/MJRefresh/pull/1560 **Full Changelog**: https://github.com/CoderMJLee/MJRefresh/compare/3.7.4...3.7.5
3.7.4
2 years ago
## What's Changed * Removed duplicated async method on main queue. by @wolfcon in https://github.com/CoderMJLee/MJRefresh/pull/1559 **Full Changelog**: https://github.com/CoderMJLee/MJRefresh/compare/3.7.3...3.7.4
3.7.3
2 years ago
## What's Changed * Fix issue #1533(StateTrailer title could not be changed immediately if setting) by @wolfcon in https://github.com/CoderMJLee/MJRefresh/pull/1536 * Remove unnecessary definition in SPM. by @wolfcon in https://github.com/CoderMJLee/MJRefresh/pull/1544 * [Example] Fixed navigation bar problem in iOS15 by @wolfcon in https://github.com/CoderMJLee/MJRefresh/pull/1553 * Fixed a bug that footer(MJRefreshAutoFooter/MJRefreshBackFooter) movement behavior is weird when using `performBatchUpdates` method in `UICollectionView` by @jiasongs in https://github.com/CoderMJLee/MJRefresh/pull/1554 * Reorder project workspace for framework and example. by @wolfcon in https://github.com/CoderMJLee/MJRefresh/pull/1555 * Fixed the header updating issue when using `setLastUpdatedTimeText` block to update time label in first time. by @kkkelicheng in https://github.com/CoderMJLee/MJRefresh/pull/1404 * Fixed misusage of `initialize` function by @wolfcon in https://github.com/CoderMJLee/MJRefresh/pull/1558 **Full Changelog**: https://github.com/CoderMJLee/MJRefresh/compare/3.7.2...3.7.3
2 years ago
- Fixed a duplication warning causing by SPM function (#1532)
2 years ago
- SPM supported (#1470) - Fixed a bug that AutoStateFooter(Normal) couldn't call refresh method by tapping state label. It shouldn't be influenced by dragging logic. (#1529) - Add a new feature: `MJRefresh components` will be rerendered automatically with `MJRefreshConfig.default.language` setting. (#1527)
2 years ago
- Revert some deletion.
2 years ago
- Now animation duration can be changed. (set 0 to disable animtion) (#1503) - Providing a new method to disable all animation(setAnimationDisabled) [Specially for Bugs in UICollectionView] (#1503) - Add some Chaining grammar (#1499) - Remove deprecated code (#1498)
apple/swift-package-manager swift-DEVELOPMENT-SNAPSHOT-2024-03-13-a
The Package Manager for the Swift Programming Language
⭐️ 9,564
🕓 5 days ago
🔖 Release Notes

Releases

The markdown parsing is broken/disabled for release notes. Sorry about that, I'm chasing the source of a crash that's been bringing this website down for the last couple of days.
Swift 5.10 Release
1 week ago
## Notable Changes * #7010 On macOS, `swift build` and `swift run` now produce binaries that allow backtraces in debug builds. Pass `SWIFT_BACKTRACE=enable=yes` environment variable to enable backtraces on such binaries when running them. * #7101 Binary artifacts are now cached alongside repository checkouts so they do not need to be re-downloaded across projects. ## Merged Pull Requests * Plugin import scanner isn't passing in the library directory, making `canImport` not work by @abertelrud in https://github.com/apple/swift-package-manager/pull/6323 * Destinations: fix missing `remove` command message by @MaxDesiatov in https://github.com/apple/swift-package-manager/pull/6319 * Mark types conforming to `FileSystem` as `Sendable` by @MaxDesiatov in https://github.com/apple/swift-package-manager/pull/6318 * rdar://105991217 (Make macros testable) by @neonichu in https://github.com/apple/swift-package-manager/pull/6312 * Rearrangement in preparation for 5.9 branching by @neonichu in https://github.com/apple/swift-package-manager/pull/6309 * Use new shorthand syntax for unwrapping optionals by @sheikhbayazid in https://github.com/apple/swift-package-manager/pull/6329 * Basics: clean up `DiagnosticsEngine` in `Observability` by @MaxDesiatov in https://github.com/apple/swift-package-manager/pull/6333 * better diagnostics when potentially duplicate packages are found by @tomerd in https://github.com/apple/swift-package-manager/pull/6317 * improve diagnostics when registry configuration is broken by @tomerd in https://github.com/apple/swift-package-manager/pull/6331 * better diagnostics for networking errors by @tomerd in https://github.com/apple/swift-package-manager/pull/6330 * update docker compose with new swift versions by @tomerd in https://github.com/apple/swift-package-manager/pull/6332 * Reduce errors from manifest signature validation by @yim-lee in https://github.com/apple/swift-package-manager/pull/6325 * Fix compilation error in Swift 5.7.2 by @yim-lee in https://github.com/apple/swift-package-manager/pull/6341 * cleanup mirror config command by @tomerd in https://github.com/apple/swift-package-manager/pull/6339 * Destinations: throw error on duplicate artifact ID by @MaxDesiatov in https://github.com/apple/swift-package-manager/pull/6343 * Package manifest checksum TOFU by @yim-lee in https://github.com/apple/swift-package-manager/pull/6322 * Add 5.8 release notes by @tomerd in https://github.com/apple/swift-package-manager/pull/6347 * Add templates for build tool plugins and command plugins by @neonichu in https://github.com/apple/swift-package-manager/pull/6111 * PackageLoading: anchor relative paths for Windows by @compnerd in https://github.com/apple/swift-package-manager/pull/6345 * change validation to throw instead of pre-condition to avoid crashes by @tomerd in https://github.com/apple/swift-package-manager/pull/6354 * Fix deprecation warning in `PackageBuilder.swift` by @MaxDesiatov in https://github.com/apple/swift-package-manager/pull/6360 * Do not pollute home directory with test data by @neonichu in https://github.com/apple/swift-package-manager/pull/6364 * NFC: fix comment typo in `ZipArchiver` by @MaxDesiatov in https://github.com/apple/swift-package-manager/pull/6366 * Expected signing entity verification by @neonichu in https://github.com/apple/swift-package-manager/pull/6359 * Cross-compilation: fix bundles not unpacked on installation by @MaxDesiatov in https://github.com/apple/swift-package-manager/pull/6361 * Support Target Grouping by @elsh in https://github.com/apple/swift-package-manager/pull/6356 * Update registry service spec per SE-0391 by @yim-lee in https://github.com/apple/swift-package-manager/pull/6275 * Include signing entity in version metadata by @neonichu in https://github.com/apple/swift-package-manager/pull/6363 * rdar://107033737 (Expose `PackageVersionMetadata` from `PackageSearchClient`) by @neonichu in https://github.com/apple/swift-package-manager/pull/6351 * [NFC] BuildOperation.swift: fix comment typo by @MaxDesiatov in https://github.com/apple/swift-package-manager/pull/6379 * PackageModel, CoreCommands: fix build flags not passed by @MaxDesiatov in https://github.com/apple/swift-package-manager/pull/6380 * Basics: add support for `.tar.gz` archives by @MaxDesiatov in https://github.com/apple/swift-package-manager/pull/6368 * Fix product lookup by @neonichu in https://github.com/apple/swift-package-manager/pull/6376 * Documentation on registry usage by @yim-lee in https://github.com/apple/swift-package-manager/pull/6373 * Set a default value to the group param for a macro target by @elsh in https://github.com/apple/swift-package-manager/pull/6384 * Basics: support multiple formats with a single archiver by @MaxDesiatov in https://github.com/apple/swift-package-manager/pull/6369 * Fix symlinked `swift-experimental-destination` invocations by @MaxDesiatov in https://github.com/apple/swift-package-manager/pull/6382 * Tests: use `FileManager` instead of `cp` by @compnerd in https://github.com/apple/swift-package-manager/pull/4872 * PackageSigning: mark `SigningEntityType` as `Sendable` by @MaxDesiatov in https://github.com/apple/swift-package-manager/pull/6390 * Basics: make `supportedExtensions` in `UniversalArchiver` constant by @MaxDesiatov in https://github.com/apple/swift-package-manager/pull/6388 * PackageModelTests: fix warnings in `DestinationBundleTests` by @MaxDesiatov in https://github.com/apple/swift-package-manager/pull/6391 * sort identities from url lookup to make lookup result consistent by @tomerd in https://github.com/apple/swift-package-manager/pull/6397 * Basics: allow reusing cancellator handlers from `SwiftTool` by @MaxDesiatov in https://github.com/apple/swift-package-manager/pull/6396 * Package: adjust the package definition for Windows by @compnerd in https://github.com/apple/swift-package-manager/pull/6394 * Add a minimal test for the PD macro API by @neonichu in https://github.com/apple/swift-package-manager/pull/6399 * On ELF platforms, only add runpaths as needed by @finagolfin in https://github.com/apple/swift-package-manager/pull/6321 * ManifestSourceGeneration incorrectly writes out `DriverKit` instead of `driverKit` by @abertelrud in https://github.com/apple/swift-package-manager/pull/6405 * Add author to collection package release metadata by @yim-lee in https://github.com/apple/swift-package-manager/pull/6408 * Add publication time to registry package release metadata by @yim-lee in https://github.com/apple/swift-package-manager/pull/6407 * Destinations: use `UniversalArchiver` in `install` command by @MaxDesiatov in https://github.com/apple/swift-package-manager/pull/6392 * Improve Swift Macro template by @ahoppen in https://github.com/apple/swift-package-manager/pull/6410 * A few fixes for building SwiftPM for MacCatalyst by @neonichu in https://github.com/apple/swift-package-manager/pull/6414 * Add author and signer to package collection models by @yim-lee in https://github.com/apple/swift-package-manager/pull/6415 * Fix iOS buid by @neonichu in https://github.com/apple/swift-package-manager/pull/6419 * Format test target in the macro package consistently with other targets by @ahoppen in https://github.com/apple/swift-package-manager/pull/6421 * Bump SwiftPM's minimum deployment target to macOS 12 by @neonichu in https://github.com/apple/swift-package-manager/pull/6138 * Use exact SwiftCrypto version to work around self-hosting failure by @MaxDesiatov in https://github.com/apple/swift-package-manager/pull/6428 * Update CODEOWNERS by @neonichu in https://github.com/apple/swift-package-manager/pull/6432 * Re-enable disabled tests by @neonichu in https://github.com/apple/swift-package-manager/pull/6422 * Basics: remove `AsyncFileSystem` as unused by @MaxDesiatov in https://github.com/apple/swift-package-manager/pull/6436 * Rename "CC Destination" to "Swift SDK" by @MaxDesiatov in https://github.com/apple/swift-package-manager/pull/6424 * Update to swift-crypto 2.4.1 by @yim-lee in https://github.com/apple/swift-package-manager/pull/6431 * Build: fix duplicate `case` of `switch` in `BuildPlan.swift` by @MaxDesiatov in https://github.com/apple/swift-package-manager/pull/6389 * Expose `SigningEntity` via package metadata by @neonichu in https://github.com/apple/swift-package-manager/pull/6442 * fix functional test by @tomerd in https://github.com/apple/swift-package-manager/pull/6437 * Change `testPluginCanBeReferencedByProductName` by @neonichu in https://github.com/apple/swift-package-manager/pull/6443 * refactor RelativePath to allow late stage canonicalization in support of windows by @tomerd in https://github.com/apple/swift-package-manager/pull/5910 * bootstrap: fix use of deprecated `-Xmanifest` flag by @MaxDesiatov in https://github.com/apple/swift-package-manager/pull/6435 * quiet down redundant warnings for binary targets with multiple info.plist by @tomerd in https://github.com/apple/swift-package-manager/pull/6445 * Update BUG_REPORT.yml by @compnerd in https://github.com/apple/swift-package-manager/pull/6449 * Newly created build tool and command plugin templates should have conditional support for XcodeProjectPlugin by @abertelrud in https://github.com/apple/swift-package-manager/pull/6446 * Tests: adjust windows librarian test slightly by @compnerd in https://github.com/apple/swift-package-manager/pull/6450 * NFC: 5.9 Documentation update. by @zkiraly in https://github.com/apple/swift-package-manager/pull/6434 * Supplemental fix for XcodeProjectPlugin support in package init template by @abertelrud in https://github.com/apple/swift-package-manager/pull/6451 * BuildTests: remove some likely debugging leftovers by @compnerd in https://github.com/apple/swift-package-manager/pull/6457 * Update macro API by @neonichu in https://github.com/apple/swift-package-manager/pull/6459 * WorkspaceTests: simplify constant construction by @compnerd in https://github.com/apple/swift-package-manager/pull/6461 * Update to swift-certificates 0.4.0 by @yim-lee in https://github.com/apple/swift-package-manager/pull/6316 * Add unit test for surfacing potential regression from #5728 by @ncooke3 in https://github.com/apple/swift-package-manager/pull/5991 * Change TargetGroup enum param to packageAccess bool in target declaration by @elsh in https://github.com/apple/swift-package-manager/pull/6463 * Minor code cleanup in PackageSigning by @yim-lee in https://github.com/apple/swift-package-manager/pull/6462 * Bump swift-certificates to 0.4.1 by @yim-lee in https://github.com/apple/swift-package-manager/pull/6465 * Workspace: log both branch and revision during checkout by @MaxDesiatov in https://github.com/apple/swift-package-manager/pull/6470 * Remove empty line in ArtifactsArchiveMetadata.swift by @mooyoung2309 in https://github.com/apple/swift-package-manager/pull/6476 * Add macros to 5.9 tools-version by @neonichu in https://github.com/apple/swift-package-manager/pull/6472 * Enable armv7em and os none triples by @rauhul in https://github.com/apple/swift-package-manager/pull/6438 * Disable `testImportOfMissedDepWarning` by @neonichu in https://github.com/apple/swift-package-manager/pull/6479 * Remove Target packageAccess param default value by @elsh in https://github.com/apple/swift-package-manager/pull/6473 * Skip SDK dependent tests in macOS bootstrap by @neonichu in https://github.com/apple/swift-package-manager/pull/6480 * Disambiguate apple and darwin triples by @rauhul in https://github.com/apple/swift-package-manager/pull/6478 * Support macro targets in plugin context by @neonichu in https://github.com/apple/swift-package-manager/pull/6483 * [5.9] Editorial review changes of PackageDescription documentation. by @zkiraly in https://github.com/apple/swift-package-manager/pull/6471 * improve string interpolation of errors by @tomerd in https://github.com/apple/swift-package-manager/pull/6482 * Use assertMacroExpansion in test cases of macro template by @ahoppen in https://github.com/apple/swift-package-manager/pull/6485 * CoreCommands: fix comment typo by @MaxDesiatov in https://github.com/apple/swift-package-manager/pull/6489 * Fix some stream operator deprecation warnings by @MaxDesiatov in https://github.com/apple/swift-package-manager/pull/6487 * fix VersionSetSpecifier calculation for versions with pre-release identifiers by @tomerd in https://github.com/apple/swift-package-manager/pull/6492 * Commands/Utilities: remove `GenerateLinuxMain` by @MaxDesiatov in https://github.com/apple/swift-package-manager/pull/6490 * reduce use of byte string by @tomerd in https://github.com/apple/swift-package-manager/pull/6497 * Fix warnings by @neonichu in https://github.com/apple/swift-package-manager/pull/6496 * Tests: prefer to use `first` rather than indexing by @compnerd in https://github.com/apple/swift-package-manager/pull/6502 * Tests: prefer to use `first` rather than indexing by @compnerd in https://github.com/apple/swift-package-manager/pull/6503 * Fix use of XCTest minimum deployment target by @neonichu in https://github.com/apple/swift-package-manager/pull/6504 * Basics: introduce some native path representation helpers by @compnerd in https://github.com/apple/swift-package-manager/pull/6454 * PackageRegistry: improve error handling of availability check by @tomerd in https://github.com/apple/swift-package-manager/pull/6506 * Put `CommandsTests` behind `SWIFTCI_DISABLE_SDK_DEPENDENT_TESTS` by @neonichu in https://github.com/apple/swift-package-manager/pull/6507 * Improve handling of tool build flags by @rauhul in https://github.com/apple/swift-package-manager/pull/6475 * Allow enabling C++ interop without explicit version by @egorzhdan in https://github.com/apple/swift-package-manager/pull/6416 * move Product, SwiftPMProductError from TSC to SwiftPM by @tomerd in https://github.com/apple/swift-package-manager/pull/6515 * Rewrite PackageCollectionsSigning using swift-certificates by @yim-lee in https://github.com/apple/swift-package-manager/pull/6468 * refactor path model by @tomerd in https://github.com/apple/swift-package-manager/pull/6509 * sandbox: UInt8 is too small to hold a TCP or UDP port by @euanh in https://github.com/apple/swift-package-manager/pull/6518 * Fix CHANGELOG.md’s link by @Kyle-Ye in https://github.com/apple/swift-package-manager/pull/6523 * Fix plugin templates by @neonichu in https://github.com/apple/swift-package-manager/pull/6517 * Remove 10.15 fallback for manifest/plugin compilation by @neonichu in https://github.com/apple/swift-package-manager/pull/6526 * PackageLoadingTests: ensure that we use the correct path spelling by @compnerd in https://github.com/apple/swift-package-manager/pull/6510 * Run build tool plugins for C-family targets by @neonichu in https://github.com/apple/swift-package-manager/pull/6516 * Fix Swift SDK bundles not working due to quarantine by @MaxDesiatov in https://github.com/apple/swift-package-manager/pull/6426 * Enable package visibility feature for tools-version 5.9 by @elsh in https://github.com/apple/swift-package-manager/pull/6534 * SourceControl: rename `useBuiltinFSMonitor` to `fsmonitor` by @compnerd in https://github.com/apple/swift-package-manager/pull/6549 * Add comma to executable template by @neonichu in https://github.com/apple/swift-package-manager/pull/6551 * SourceControl: centralise git cloning by @compnerd in https://github.com/apple/swift-package-manager/pull/6550 * SourceControl: attempt to enable long path support for Windows by @compnerd in https://github.com/apple/swift-package-manager/pull/6553 * Documentation fixes for `PluginNetworkPermissionScope`. by @zkiraly in https://github.com/apple/swift-package-manager/pull/6555 * Wrap registry login errors by @neonichu in https://github.com/apple/swift-package-manager/pull/6556 * BuildPlan: infer `-lc++` based on run-time triple by @MaxDesiatov in https://github.com/apple/swift-package-manager/pull/6581 * SwiftSDKBundle.swift: update strings to use "Swift SDK" naming by @MaxDesiatov in https://github.com/apple/swift-package-manager/pull/6579 * Improve error message for 'package-registry publish' by @yim-lee in https://github.com/apple/swift-package-manager/pull/6576 * Remove the version parameter for C++ interop mode build setting by @egorzhdan in https://github.com/apple/swift-package-manager/pull/6583 * Fix `Triple` formatting in error messages by @MaxDesiatov in https://github.com/apple/swift-package-manager/pull/6544 * rdar://109108066 (Derive '-external-plugin-path' compiler arguments in SwiftPM) by @neonichu in https://github.com/apple/swift-package-manager/pull/6560 * Build: remove unused parameter by @compnerd in https://github.com/apple/swift-package-manager/pull/6587 * Add token-file option to 'package-registry login' by @yim-lee in https://github.com/apple/swift-package-manager/pull/6567 * Swift SDKs: refactor and extend `SwiftSDKBundleTests` by @MaxDesiatov in https://github.com/apple/swift-package-manager/pull/6588 * Delete macOS triple hardcode by @aleksproger in https://github.com/apple/swift-package-manager/pull/6569 * Update `build-using-self` by @neonichu in https://github.com/apple/swift-package-manager/pull/6594 * Stop using llbuild's Swift compiler tool by @neonichu in https://github.com/apple/swift-package-manager/pull/6585 * Commands/SwiftTestTool.swift: update TestCaseSpecifier doc comments by @MaxDesiatov in https://github.com/apple/swift-package-manager/pull/6604 * Adopt `swift-certificates` `0.6.0` by @dnadoba in https://github.com/apple/swift-package-manager/pull/6528 * Registry login interactive mode cannot read password/token over 128 chars long by @yim-lee in https://github.com/apple/swift-package-manager/pull/6562 * Change PackageCollectionSigning API from callback-based to async/await by @yim-lee in https://github.com/apple/swift-package-manager/pull/6609 * Write link file list as a build command by @neonichu in https://github.com/apple/swift-package-manager/pull/6606 * BuildDescription: Set output path for bc files by @rauhul in https://github.com/apple/swift-package-manager/pull/6611 * Use constants instead of strings for platform versions by @neonichu in https://github.com/apple/swift-package-manager/pull/6616 * `withLock` should be marked as having a discardable result by @neonichu in https://github.com/apple/swift-package-manager/pull/6615 * IntegrationTests: fix use of deprecated `RelativePath.init` by @MaxDesiatov in https://github.com/apple/swift-package-manager/pull/6620 * Handle swift-sdk search paths by @rauhul in https://github.com/apple/swift-package-manager/pull/6608 * Build: migrate to file lists for driver invocations by @compnerd in https://github.com/apple/swift-package-manager/pull/6573 * Fix missing link in `Documentation/Registry.md` by @revolter in https://github.com/apple/swift-package-manager/pull/6628 * Add PackageDescription platform constants for the 2023 Apple OS versions by @abertelrud in https://github.com/apple/swift-package-manager/pull/6636 * [NFC] SwiftPMProduct.swift: fix use of deprecated initializer by @MaxDesiatov in https://github.com/apple/swift-package-manager/pull/6641 * SwiftSDKTool: convert previously blocking code to `async` by @MaxDesiatov in https://github.com/apple/swift-package-manager/pull/6623 * [cxx-interop] pass the C++ language standard to Clang importer in Swi… by @hyp in https://github.com/apple/swift-package-manager/pull/6649 * Improve macros test template by @neonichu in https://github.com/apple/swift-package-manager/pull/6646 * Tests: attempt to handle arc separators in tests by @compnerd in https://github.com/apple/swift-package-manager/pull/6653 * Workspace,Build: reduce `mtime` updates by @compnerd in https://github.com/apple/swift-package-manager/pull/6655 * [docs] Requiring System Libraries with .systemLibrary targets by @natikgadzhi in https://github.com/apple/swift-package-manager/pull/6634 * CoreCommands,PackageModel: introduce `-debug-format` option by @compnerd in https://github.com/apple/swift-package-manager/pull/6659 * Use swift-driver triple by @rauhul in https://github.com/apple/swift-package-manager/pull/6627 * Add `visionOS` as a platform alongside `iOS`, `tvOS`, `watchOS`, and the others by @abertelrud in https://github.com/apple/swift-package-manager/pull/6662 * Support String Catalogs in Packages when using XCBuild by @matthewseaman in https://github.com/apple/swift-package-manager/pull/6645 * Remove `swiftpm-xctest-helper` by @neonichu in https://github.com/apple/swift-package-manager/pull/6667 * Build: centralise the debug information flag handling by @compnerd in https://github.com/apple/swift-package-manager/pull/6665 * Allow opt-out of PII in CONTRIBUTORS.txt by @therealbnut in https://github.com/apple/swift-package-manager/pull/6670 * Tests: adjust the WalkPath test for Windows by @compnerd in https://github.com/apple/swift-package-manager/pull/6669 * Do not store Swift object files in subdirectories by @neonichu in https://github.com/apple/swift-package-manager/pull/6674 * Add support for Musl libc by @MaxDesiatov in https://github.com/apple/swift-package-manager/pull/6666 * README.md: update copyright year to 2023 by @MaxDesiatov in https://github.com/apple/swift-package-manager/pull/6677 * Update Swift SDK nomenclature by @MaxDesiatov in https://github.com/apple/swift-package-manager/pull/6678 * refactor signature handling validations by @tomerd in https://github.com/apple/swift-package-manager/pull/6680 * PackageModel: honour `.librarian` for toolsets by @compnerd in https://github.com/apple/swift-package-manager/pull/6688 * Build: use target properties to define the target by @compnerd in https://github.com/apple/swift-package-manager/pull/6687 * Remove extra paths added to LD_LIBRARY_PATH on Linux when running tests by @bnbarham in https://github.com/apple/swift-package-manager/pull/6684 * [nfc] cleanup use of pins by @tomerd in https://github.com/apple/swift-package-manager/pull/6694 * PackageLoading: enable the manifest VFS on Windows by @compnerd in https://github.com/apple/swift-package-manager/pull/6693 * optimize repository updates by @tomerd in https://github.com/apple/swift-package-manager/pull/6685 * build: silence a pkg-config warning on Windows by @compnerd in https://github.com/apple/swift-package-manager/pull/6701 * CoreCommands: support `-debug-info-format none` for Windows by @compnerd in https://github.com/apple/swift-package-manager/pull/6702 * Don't link plugin dependencies to products by @neonichu in https://github.com/apple/swift-package-manager/pull/6695 * Preserve port when computing the login URL by @Palleas in https://github.com/apple/swift-package-manager/pull/6711 * [NFC] Rename `Destination` type to `SwiftSDK` by @MaxDesiatov in https://github.com/apple/swift-package-manager/pull/6707 * Fix CMake build to explicitly pick up ar and ranlib from toolchain. by @al45tair in https://github.com/apple/swift-package-manager/pull/6721 * Transition away from `Foundation.URL` by @neonichu in https://github.com/apple/swift-package-manager/pull/6706 * Fix issues with excluding macros/plugins from dependency computation by @neonichu in https://github.com/apple/swift-package-manager/pull/6723 * Restore `RepositorySpecifier.Location.gitURL` by @neonichu in https://github.com/apple/swift-package-manager/pull/6725 * Disable tag.gpgsign in test git repos by @keith in https://github.com/apple/swift-package-manager/pull/6727 * Remove -incremental when using -whole-module-optimization by @keith in https://github.com/apple/swift-package-manager/pull/6728 * Add `SerializedJSON` type as string literal escaping helper by @MaxDesiatov in https://github.com/apple/swift-package-manager/pull/6730 * Package plugins can't use the UniformTypeIdentifiers module by @ian-twilightcoder in https://github.com/apple/swift-package-manager/pull/6731 * Clean up the testUniformTypeIdentifiers unit test by @ian-twilightcoder in https://github.com/apple/swift-package-manager/pull/6735 * Build: correct a typo in an error message by @compnerd in https://github.com/apple/swift-package-manager/pull/6736 * PackageLoading,Basics: properly handle cross-root manifests by @compnerd in https://github.com/apple/swift-package-manager/pull/6734 * Add logging to KeychainAuthorizationProvider by @yim-lee in https://github.com/apple/swift-package-manager/pull/6737 * Keychain credentials - better support for protocol and port by @yim-lee in https://github.com/apple/swift-package-manager/pull/6738 * Build: filter `-use-ld=lld` from `swift-symbolgraph-extract` by @compnerd in https://github.com/apple/swift-package-manager/pull/6742 * Add availability to source module APIs by @neonichu in https://github.com/apple/swift-package-manager/pull/6744 * PackagePlugin: avoid warnings on Windows by overloading functions by @compnerd in https://github.com/apple/swift-package-manager/pull/6718 * Keychain search to return all matches by @yim-lee in https://github.com/apple/swift-package-manager/pull/6748 * fix dynamic library building issue by @miku1958 in https://github.com/apple/swift-package-manager/pull/6751 * Fix an XCBuild compatibility issue by @neonichu in https://github.com/apple/swift-package-manager/pull/6752 * Fix interpreter flags for manifests using pre-release tools-version by @neonichu in https://github.com/apple/swift-package-manager/pull/6633 * Skip compiling plugins when skipping building by @neonichu in https://github.com/apple/swift-package-manager/pull/6696 * Fix another XCBuild compatibility issue by @neonichu in https://github.com/apple/swift-package-manager/pull/6762 * Workspace/Workspace.swift: fix `swift-frontend` warning by @neonichu in https://github.com/apple/swift-package-manager/pull/6759 * Add subcommands to install and uninstall packages by @NSAntoine in https://github.com/apple/swift-package-manager/pull/6768 * Update help message in `InstalledPackages.swift` by @MaxDesiatov in https://github.com/apple/swift-package-manager/pull/6775 * Only pass `-framework` on platforms that support frameworks by @neonichu in https://github.com/apple/swift-package-manager/pull/6778 * Remove `emitSwiftModuleSeparately` option by @neonichu in https://github.com/apple/swift-package-manager/pull/6779 * canonicalize repository lcoation for storage path calculation by @tomerd in https://github.com/apple/swift-package-manager/pull/6780 * prefer versions in package.resolved file when one exists and matches the original manifest by @tomerd in https://github.com/apple/swift-package-manager/pull/6698 * Add documentation for package fingerprints by @yim-lee in https://github.com/apple/swift-package-manager/pull/6785 * Fingerprint filename for the same Git repository is not consistent by @yim-lee in https://github.com/apple/swift-package-manager/pull/6784 * better error message when cycle is detected by @tomerd in https://github.com/apple/swift-package-manager/pull/6782 * Resolve sandbox issues on external volumes by @neonichu in https://github.com/apple/swift-package-manager/pull/6773 * Set `-user-module-version` for any version-based package by @neonichu in https://github.com/apple/swift-package-manager/pull/6781 * filter empty authorization tokens from headers by @tomerd in https://github.com/apple/swift-package-manager/pull/6789 * improve error message when running into an unknown target dependency by @tomerd in https://github.com/apple/swift-package-manager/pull/6787 * plugins: Build command plugin dependencies for the host, not the target by @euanh in https://github.com/apple/swift-package-manager/pull/6791 * improve diagnostics when running into multiple product conflicts by @tomerd in https://github.com/apple/swift-package-manager/pull/6792 * Support custom platforms in conditionals by @neonichu in https://github.com/apple/swift-package-manager/pull/6794 * Update swift-syntax version in macro template by @neonichu in https://github.com/apple/swift-package-manager/pull/6745 * Update tools-version for `-user-module-version` by @neonichu in https://github.com/apple/swift-package-manager/pull/6795 * Bring back test fixes from 5.9 branch by @neonichu in https://github.com/apple/swift-package-manager/pull/6797 * Add missing dependency by @neonichu in https://github.com/apple/swift-package-manager/pull/6807 * add instrumentation probes for easier performance analysis by @tomerd in https://github.com/apple/swift-package-manager/pull/6796 * Clean up some XCTSkips by @neonichu in https://github.com/apple/swift-package-manager/pull/6808 * Fix dependencies in `SWIFTPM_LLBUILD_FWK` case by @neonichu in https://github.com/apple/swift-package-manager/pull/6809 * Opt in to explicit target dependencies by @neonichu in https://github.com/apple/swift-package-manager/pull/6810 * [netrc] Use the most recent match for auth by @yim-lee in https://github.com/apple/swift-package-manager/pull/6811 * CLI commands should not require workspace to update user-level registries config by @yim-lee in https://github.com/apple/swift-package-manager/pull/6812 * Commands: add missing dependency on LLBuildManifest by @compnerd in https://github.com/apple/swift-package-manager/pull/6815 * Make SwiftPM test suite run parallel in Xcode by @neonichu in https://github.com/apple/swift-package-manager/pull/6818 * Move the OpenAPI doc for package registry into a separate file by @czechboy0 in https://github.com/apple/swift-package-manager/pull/6821 * Tests: adjust PackageModelTests for Windows by @compnerd in https://github.com/apple/swift-package-manager/pull/6686 * Improve handling of non-macOS Darwin triples (reprise) by @kabiroberai in https://github.com/apple/swift-package-manager/pull/6732 * Tests: adjust the BuildPlanTests for Windows by @compnerd in https://github.com/apple/swift-package-manager/pull/6682 * Tests: adjust the ModuleAliasingBuildTests for Windows by @compnerd in https://github.com/apple/swift-package-manager/pull/6831 * Do not use product identifier based lookup for older tools-versions by @neonichu in https://github.com/apple/swift-package-manager/pull/6793 * Remove <toolchain>/usr/bin/../lib/ from directories passed to linker to look up libraries for target triple by @finagolfin in https://github.com/apple/swift-package-manager/pull/6824 * Tests: adjust the tests for path spellings by @compnerd in https://github.com/apple/swift-package-manager/pull/6835 * Improve version-specific manifest selection by @neonichu in https://github.com/apple/swift-package-manager/pull/6801 * Tests: adjust the SerializedJSONTests on Windows by @compnerd in https://github.com/apple/swift-package-manager/pull/6838 * Rely on resolved revision for branch dependencies by @neonichu in https://github.com/apple/swift-package-manager/pull/6848 * Tests: adjust the expectations for Windows by @compnerd in https://github.com/apple/swift-package-manager/pull/6852 * reduce redundant git operations by @tomerd in https://github.com/apple/swift-package-manager/pull/6857 * increase number of concurrent git operations allowed by @tomerd in https://github.com/apple/swift-package-manager/pull/6858 * Update CHANGELOG.md to reflect 5.9 scope by @tomerd in https://github.com/apple/swift-package-manager/pull/6839 * Reduce calls to `getHostTriple()` by @neonichu in https://github.com/apple/swift-package-manager/pull/6855 * Fix `swift package plugin --list` by @neonichu in https://github.com/apple/swift-package-manager/pull/6805 * Fix `availableCommandPlugins()` by @neonichu in https://github.com/apple/swift-package-manager/pull/6806 * Implement `swift-get-version` in SwiftPM by @neonichu in https://github.com/apple/swift-package-manager/pull/6840 * Preserve environment in `tripleString(forPlatformVersion:)` by @kabiroberai in https://github.com/apple/swift-package-manager/pull/6834 * Improve handling of broken JSON responses from XCTest helpers by @neonichu in https://github.com/apple/swift-package-manager/pull/6860 * add performance probes for manifest loading by @tomerd in https://github.com/apple/swift-package-manager/pull/6863 * Qualify use of `fatalError` with `Swift` by @neonichu in https://github.com/apple/swift-package-manager/pull/6847 * Remove fallback in `dummy-swiftc` by @neonichu in https://github.com/apple/swift-package-manager/pull/6867 * Tests: adjust SPMBuildCoreTests for Windows by @compnerd in https://github.com/apple/swift-package-manager/pull/6854 * [NFC] Remove unused parameter from pvt. method in `LLBuildManifestBuilder.swift` by @ncooke3 in https://github.com/apple/swift-package-manager/pull/6826 * small perfromance fixes by @tomerd in https://github.com/apple/swift-package-manager/pull/6870 * make preference of dependency URL more deterministic by @tomerd in https://github.com/apple/swift-package-manager/pull/6871 * Add experimental test output by @neonichu in https://github.com/apple/swift-package-manager/pull/6861 * Use llvm-ar as default librarian on Unix platforms by @finagolfin in https://github.com/apple/swift-package-manager/pull/6829 * Update CODEOWNERS by @neonichu in https://github.com/apple/swift-package-manager/pull/6874 * Fix `platforms` declaration in `IntegrationTests` package by @neonichu in https://github.com/apple/swift-package-manager/pull/6873 * Swift SDKs: implement `swiftResourcesPath` by @kabiroberai in https://github.com/apple/swift-package-manager/pull/6717 * Fix testable executables once more by @neonichu in https://github.com/apple/swift-package-manager/pull/6875 * Reduce XCTest minimum deployment target computation by @neonichu in https://github.com/apple/swift-package-manager/pull/6849 * Support experimental test summary on non-Darwin by @neonichu in https://github.com/apple/swift-package-manager/pull/6878 * Disable `IncrementalBuildTests` in unsupported environments by @neonichu in https://github.com/apple/swift-package-manager/pull/6885 * [5.10] Update related dependencies branch to release/5.10 by @ahoppen in https://github.com/apple/swift-package-manager/pull/6884 * Revert "missing pinned version" change for 5.10 by @neonichu in https://github.com/apple/swift-package-manager/pull/6883 * Apply mirrors to root dependencies by @neonichu in https://github.com/apple/swift-package-manager/pull/6765 * Fix missing `from` arguments in PackageDependency's comments by @bc-lee in https://github.com/apple/swift-package-manager/pull/6876 * Update Product.swift to render the api description correctly by @x-0o0 in https://github.com/apple/swift-package-manager/pull/6879 * Revert "Support experimental test summary on non-Darwin (#6878)" by @compnerd in https://github.com/apple/swift-package-manager/pull/6887 * Improve test tool diagnostics by @neonichu in https://github.com/apple/swift-package-manager/pull/6893 * Hide `--test-product` option by @neonichu in https://github.com/apple/swift-package-manager/pull/6892 * Remove mailing list mention in `README.md` by @MaxDesiatov in https://github.com/apple/swift-package-manager/pull/6895 * Do not process code coverage when tests failed by @neonichu in https://github.com/apple/swift-package-manager/pull/6894 * Invoke build tool plugins based on `allTargets` by @neonichu in https://github.com/apple/swift-package-manager/pull/6776 * Avoid host triple computation in `BuildParameters.forTriple()` by @neonichu in https://github.com/apple/swift-package-manager/pull/6900 * Compute path to `swift-plugin-server` on demand by @neonichu in https://github.com/apple/swift-package-manager/pull/6899 * Refine error message with package name suggestion by @mininny in https://github.com/apple/swift-package-manager/pull/6897 * Fix remaining mentions of "cross-compilation destinations" by @MaxDesiatov in https://github.com/apple/swift-package-manager/pull/6918 * [5.10] Rename "destination" to "Swift SDK" in comments and code by @MaxDesiatov in https://github.com/apple/swift-package-manager/pull/6928 * [5.10] Fix remaining mentions of "cross-compilation destinations" by @MaxDesiatov in https://github.com/apple/swift-package-manager/pull/6921 * [5.10] Fix backward compatibility in host triple checks by @MaxDesiatov in https://github.com/apple/swift-package-manager/pull/6925 * Fix deprecation warnings by @neonichu in https://github.com/apple/swift-package-manager/pull/6915 * Bump version to 5.10 by @neonichu in https://github.com/apple/swift-package-manager/pull/6916 * Rename "destination" to "Swift SDK" in comments and code by @MaxDesiatov in https://github.com/apple/swift-package-manager/pull/6927 * Package-level `moduleAliases` should be internal by @neonichu in https://github.com/apple/swift-package-manager/pull/6917 * [NFC] Update SwiftPM-Package.xcscheme by @MaxDesiatov in https://github.com/apple/swift-package-manager/pull/6926 * Swift SDKs: fix `toolset.linker.path` not passed to `-ld-path` by @kabiroberai in https://github.com/apple/swift-package-manager/pull/6719 * load => loadUnaligned by @neonichu in https://github.com/apple/swift-package-manager/pull/6929 * Skip tests which need `-suppress-warnings` to work if it doesn't work by @neonichu in https://github.com/apple/swift-package-manager/pull/6930 * Fix backward compatibility in host triple checks by @MaxDesiatov in https://github.com/apple/swift-package-manager/pull/6819 * [5.10] Add and fix missing `Triple` tests by @MaxDesiatov in https://github.com/apple/swift-package-manager/pull/6932 * Fix XCTest deployment target computation in `BuildPlan` by @neonichu in https://github.com/apple/swift-package-manager/pull/6933 * Revert "Swift SDKs: fix `toolset.linker.path` not passed to `-ld-path` (#6719)" by @neonichu in https://github.com/apple/swift-package-manager/pull/6939 * Bring back "Support experimental test summary on non-Darwin" by @neonichu in https://github.com/apple/swift-package-manager/pull/6938 * Support qualifiers for ambiguous plugin commands by @neonichu in https://github.com/apple/swift-package-manager/pull/6920 * Disable the bootstrap checking for explicit target dependencies and remove wrong llbuild dependency by @finagolfin in https://github.com/apple/swift-package-manager/pull/6909 * Revert "Fix `platforms` declaration in `IntegrationTests` package (#6873)" by @neonichu in https://github.com/apple/swift-package-manager/pull/6934 * Revert "missing pinned version" change for main by @neonichu in https://github.com/apple/swift-package-manager/pull/6945 * Sort `swift experimental-sdk list` stdout output by @MaxDesiatov in https://github.com/apple/swift-package-manager/pull/6942 * Delete `Utilities/build_ubuntu_cross_compilation_toolchain` by @MaxDesiatov in https://github.com/apple/swift-package-manager/pull/6943 * Add and fix missing `Triple` tests by @MaxDesiatov in https://github.com/apple/swift-package-manager/pull/6842 * Merge `main` into `release/5.10` by @MaxDesiatov in https://github.com/apple/swift-package-manager/pull/6953 * Read SwiftSyntax version for macro template from a configuration file by @neonichu in https://github.com/apple/swift-package-manager/pull/6774 * do not emit "exhausted attempts to resolve the dependencies graph" when previous errors occurred by @tomerd in https://github.com/apple/swift-package-manager/pull/6955 * Partially revert #6726 by @neonichu in https://github.com/apple/swift-package-manager/pull/6954 * Use non-optional functions for `Data` conversion by @zunda-pixel in https://github.com/apple/swift-package-manager/pull/6952 * Add "Creating a Macro Package" to `Usage.md` by @BrianHenryIE in https://github.com/apple/swift-package-manager/pull/6944 * improve "exhausted attempts" diagnostics by @tomerd in https://github.com/apple/swift-package-manager/pull/6956 * restore manifest in-memory cache by @tomerd in https://github.com/apple/swift-package-manager/pull/6957 * Clarify/correct buildCommand docs by @dabrahams in https://github.com/apple/swift-package-manager/pull/6941 * improve validation of existing checkouts by @tomerd in https://github.com/apple/swift-package-manager/pull/6960 * Revert "Add diagnostics to use module aliasing when duplicate targets found (#5606)" by @neonichu in https://github.com/apple/swift-package-manager/pull/6961 * Cache `mirrorIndex` in `DependencyMirrors` by @neonichu in https://github.com/apple/swift-package-manager/pull/6964 * only update local checkout if necessary by @tomerd in https://github.com/apple/swift-package-manager/pull/6965 * [NFC] Split `LLBuildManifestBuilder.swift` into extension files by @MaxDesiatov in https://github.com/apple/swift-package-manager/pull/6966 * filter out expected signals when logging test crashing by @tomerd in https://github.com/apple/swift-package-manager/pull/6968 * [NFC] Build/Commands: fix `triple` property deprecation warnings by @MaxDesiatov in https://github.com/apple/swift-package-manager/pull/6971 * Diagnose invalid module alias by @neonichu in https://github.com/apple/swift-package-manager/pull/6841 * Fix to call `didFinishCommand` by @omochi in https://github.com/apple/swift-package-manager/pull/6757 * Patch `*.sdk` paths from pkgConfig files to the current SDK by @fwcd in https://github.com/apple/swift-package-manager/pull/6772 * [NFC] LLBuildManifest: add `WriteAuxiliary.EntitlementPlist` by @MaxDesiatov in https://github.com/apple/swift-package-manager/pull/6975 * Tests: adjust tests for Windows path expectations by @compnerd in https://github.com/apple/swift-package-manager/pull/6978 * Tests: special case deserialisation on Windows by @compnerd in https://github.com/apple/swift-package-manager/pull/6980 * Add an rpath flag to disable the default of looking in the local directory for shared libraries by @finagolfin in https://github.com/apple/swift-package-manager/pull/6947 * [NFC] Build/PackageModel: split `Target.swift` and `BuildPlan.swift` by @MaxDesiatov in https://github.com/apple/swift-package-manager/pull/6972 * [NFC] SPMBuildCore: make `BuildSystemProvider.Provider` a protocol by @MaxDesiatov in https://github.com/apple/swift-package-manager/pull/6984 * Handle macOS CLT `--show-sdk-platform-path` issues by @neonichu in https://github.com/apple/swift-package-manager/pull/6977 * Update swift-certificates to 1.0.1, swift-crypto to 3.0.0 by @yim-lee in https://github.com/apple/swift-package-manager/pull/6949 * [NFC] Group `BuildParameters` properties into separate structs by @MaxDesiatov in https://github.com/apple/swift-package-manager/pull/6976 * [5.10] Revert "Update swift-certificates to 1.0.1, swift-crypto to 3.0.0 (#6949)" by @yim-lee in https://github.com/apple/swift-package-manager/pull/6988 * Fix Swift SDK handling URLs without filename components by @MaxDesiatov in https://github.com/apple/swift-package-manager/pull/6708 * Use Swift Concurrency in `SwiftcImportScanner` by @MaxDesiatov in https://github.com/apple/swift-package-manager/pull/6996 * Tests: cover testing multiple async executable targets by @kateinoigakukun in https://github.com/apple/swift-package-manager/pull/6986 * [NFC] Fix deprecation in `IntegrationTests/SwiftPMTests.swift` by @MaxDesiatov in https://github.com/apple/swift-package-manager/pull/6999 * [NFC] Move manifests-related code to `Workspace+Manifests.swift` by @MaxDesiatov in https://github.com/apple/swift-package-manager/pull/7000 * [NFC] Fix typos in `PluginScriptRunner.swift` comments by @MaxDesiatov in https://github.com/apple/swift-package-manager/pull/7008 * Filter superfluous diagnostics by @neonichu in https://github.com/apple/swift-package-manager/pull/7003 * BuildTests: adjust the path rendering for Windows by @compnerd in https://github.com/apple/swift-package-manager/pull/6985 * Do not use canonical location for checkouts by @neonichu in https://github.com/apple/swift-package-manager/pull/7001 * Tests: mitigate progressivity issue in LegacyHTTPClientTests by @kateinoigakukun in https://github.com/apple/swift-package-manager/pull/7011 * Remove outdated check for Ubuntu 14.04 and Clang 3.6 by @MaxDesiatov in https://github.com/apple/swift-package-manager/pull/7012 * Add trailing newlines consistently in `InitPackage.swift` by @MaxDesiatov in https://github.com/apple/swift-package-manager/pull/7013 * refine location comparison when pre-loading package state from local state by @tomerd in https://github.com/apple/swift-package-manager/pull/7002 * [NFC] Remove unused imports of `TSCUtility.Diagnostics{Engine,}` by @MaxDesiatov in https://github.com/apple/swift-package-manager/pull/7019 * SwiftSyntax version in new macro template has trailing period in dependency version, causing error reading manifest by @stmontgomery in https://github.com/apple/swift-package-manager/pull/7018 * [NFC] Build: remove unused `TestBuildCommand.indent` function by @MaxDesiatov in https://github.com/apple/swift-package-manager/pull/7017 * llbuild: Support `is-mutated`/`is-command-timestamp` nodes by @MaxDesiatov in https://github.com/apple/swift-package-manager/pull/7020 * Conditionalize `testInstallRemote` correctly by @neonichu in https://github.com/apple/swift-package-manager/pull/7024 * Improve diagnostics if `testPackageContextName` fails by @neonichu in https://github.com/apple/swift-package-manager/pull/7025 * Update iOS/tvOS deployment targets according to the SDKs by @MaxDesiatov in https://github.com/apple/swift-package-manager/pull/7014 * Codesign w/ debugging entitlement for backtraces on macOS by @MaxDesiatov in https://github.com/apple/swift-package-manager/pull/7010 * [NFC] Split `Workspace.swift` into smaller files by @MaxDesiatov in https://github.com/apple/swift-package-manager/pull/7006 * Stop using implementation-only imports by @neonichu in https://github.com/apple/swift-package-manager/pull/7026 * `isValidDirectory` and `isValidRefFormat` should be throwing by @neonichu in https://github.com/apple/swift-package-manager/pull/7033 * Revert "refine location comparison when pre-loading package (#7002)" by @MaxDesiatov in https://github.com/apple/swift-package-manager/pull/7031 * [NFC] CoreCommands: simplify `*get-task-allow-entitlement` flags by @MaxDesiatov in https://github.com/apple/swift-package-manager/pull/7028 * Tests: avoid abnormal exit on failure by @compnerd in https://github.com/apple/swift-package-manager/pull/7029 * Disable branch name validation by @neonichu in https://github.com/apple/swift-package-manager/pull/7037 * bring back #7002 by @tomerd in https://github.com/apple/swift-package-manager/pull/7039 * Generate Clang module maps during the build by @neonichu in https://github.com/apple/swift-package-manager/pull/6983 * [5.10] Bring back "Update swift-certificates to 1.0.1, swift-crypto to 3.0.0 (#6949)" by @yim-lee in https://github.com/apple/swift-package-manager/pull/6989 * Ensure Xcode SDK paths are set when running test targets. by @grynspan in https://github.com/apple/swift-package-manager/pull/7040 * Revert "Generate Clang module maps during the build" by @neonichu in https://github.com/apple/swift-package-manager/pull/7046 * Infer properties of derived test target. by @grynspan in https://github.com/apple/swift-package-manager/pull/7041 * pass -fno-omit-frame-pointer in support of new backtracer by @tomerd in https://github.com/apple/swift-package-manager/pull/7042 * Remove bogus SCM validation by @neonichu in https://github.com/apple/swift-package-manager/pull/7048 * Disable `testCommandPluginInvocation` by @neonichu in https://github.com/apple/swift-package-manager/pull/7051 * Support additional dependencies in forced resolution mode by @neonichu in https://github.com/apple/swift-package-manager/pull/7023 * Swift SDKs: fix `toolset.linker.path` not passed to `-ld-path` by @MaxDesiatov in https://github.com/apple/swift-package-manager/pull/7021 * Revert "Ensure Xcode SDK paths are set when running test targets." by @neonichu in https://github.com/apple/swift-package-manager/pull/7054 * Warn if specified `--toolchain` path doesn't exist by @MaxDesiatov in https://github.com/apple/swift-package-manager/pull/7058 * Warn against absolute paths in `Documentation/Usage.md` by @MaxDesiatov in https://github.com/apple/swift-package-manager/pull/7059 * filter transient env variables from manifest and plugin cache keys by @tomerd in https://github.com/apple/swift-package-manager/pull/7056 * refactor dependency mapping by @tomerd in https://github.com/apple/swift-package-manager/pull/7055 * cache DriverSupport capabilities across targets by @tomerd in https://github.com/apple/swift-package-manager/pull/7057 * [NFC] XCBuildSupport: fix comment typo in `PIFBuilder.swift` by @MaxDesiatov in https://github.com/apple/swift-package-manager/pull/7067 * PackageModel: make `Toolset.init(toolchainBinDir:buildFlags:)` public by @MaxDesiatov in https://github.com/apple/swift-package-manager/pull/7064 * Fix broken links in documentation for PackageRegistry by @spqw in https://github.com/apple/swift-package-manager/pull/7070 * Update bootstrap script to disable --parallel for testing by default by @shahmishal in https://github.com/apple/swift-package-manager/pull/7073 * Skip `testDownloadDefaultAuthenticationSuccess` on CI by @neonichu in https://github.com/apple/swift-package-manager/pull/7071 * FileList should conform to Collection by @dabrahams in https://github.com/apple/swift-package-manager/pull/6845 * remove graph loading on package update by @tomerd in https://github.com/apple/swift-package-manager/pull/7072 * Disable `testPackageNameFlag` by @neonichu in https://github.com/apple/swift-package-manager/pull/7075 * Add `LLBuildManifestTests` to test plan by @neonichu in https://github.com/apple/swift-package-manager/pull/7077 * Only show command output in verbose mode by @neonichu in https://github.com/apple/swift-package-manager/pull/7078 * Revert "Update bootstrap script to disable --parallel for testing by default" by @neonichu in https://github.com/apple/swift-package-manager/pull/7088 * Disable CMake bootstrap by default by @neonichu in https://github.com/apple/swift-package-manager/pull/7089 * [5.10] Revert "Only show command output in verbose mode (#7078)" by @MaxDesiatov in https://github.com/apple/swift-package-manager/pull/7131 * [5.10] Skip unknown XCBuild message types by @jakepetroules in https://github.com/apple/swift-package-manager/pull/7139 * [5.10] cache binary artifact globally by @tomerd in https://github.com/apple/swift-package-manager/pull/7146 * [5.10] validate local repository has the correct remote by @tomerd in https://github.com/apple/swift-package-manager/pull/7147 * [5.10] adjust git call supported by older git clients by @tomerd in https://github.com/apple/swift-package-manager/pull/7157 * [5.10] Add test fixture for `--experimental-lto-mode` option by @MaxDesiatov in https://github.com/apple/swift-package-manager/pull/7166 * [5.10] make it possible to specify permitted network port access at runtime by @MaxDesiatov in https://github.com/apple/swift-package-manager/pull/7178 * 🍒[cxx-interop] Make test discovery compatible with C++ interop by @egorzhdan in https://github.com/apple/swift-package-manager/pull/7177 * 🍒[cxx-interop] Do not pass the C++ standard if C++ interop is not enabled by @egorzhdan in https://github.com/apple/swift-package-manager/pull/7194 * [5.10] Set `file-system` as `device-agnostic` in build manifest by @MaxDesiatov in https://github.com/apple/swift-package-manager/pull/7189 * [5.10] Pass `-disable-sandbox` to Swift compiler if requested by @neonichu in https://github.com/apple/swift-package-manager/pull/7227 * [5.10] Filter `codesign` messages by @neonichu in https://github.com/apple/swift-package-manager/pull/7295 * [5.10] Gate new tests on `supportsSDKDependentTests()` by @neonichu in https://github.com/apple/swift-package-manager/pull/7308 * [5.10] Bump swift-syntax version in the macro template by @neonichu in https://github.com/apple/swift-package-manager/pull/7340 ## New Contributors * @sheikhbayazid made their first contribution in https://github.com/apple/swift-package-manager/pull/6329 * @mooyoung2309 made their first contribution in https://github.com/apple/swift-package-manager/pull/6476 * @aleksproger made their first contribution in https://github.com/apple/swift-package-manager/pull/6569 * @dnadoba made their first contribution in https://github.com/apple/swift-package-manager/pull/6528 * @revolter made their first contribution in https://github.com/apple/swift-package-manager/pull/6628 * @natikgadzhi made their first contribution in https://github.com/apple/swift-package-manager/pull/6634 * @miku1958 made their first contribution in https://github.com/apple/swift-package-manager/pull/6751 * @NSAntoine made their first contribution in https://github.com/apple/swift-package-manager/pull/6768 * @kabiroberai made their first contribution in https://github.com/apple/swift-package-manager/pull/6732 * @bc-lee made their first contribution in https://github.com/apple/swift-package-manager/pull/6876 * @x-0o0 made their first contribution in https://github.com/apple/swift-package-manager/pull/6879 * @mininny made their first contribution in https://github.com/apple/swift-package-manager/pull/6897 * @zunda-pixel made their first contribution in https://github.com/apple/swift-package-manager/pull/6952 * @BrianHenryIE made their first contribution in https://github.com/apple/swift-package-manager/pull/6944 * @omochi made their first contribution in https://github.com/apple/swift-package-manager/pull/6757 * @fwcd made their first contribution in https://github.com/apple/swift-package-manager/pull/6772 * @spqw made their first contribution in https://github.com/apple/swift-package-manager/pull/7070 **Full Changelog**: https://github.com/apple/swift-package-manager/compare/swift-5.9.2-RELEASE...swift-5.10-RELEASE
4 weeks 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
iOS macOS
tristanhimmelman/ObjectMapper 4.3.0
Simple JSON Object mapping written in Swift
⭐️ 9,086
🕓 5 days ago
🔖 Release Notes

Releases

The markdown parsing is broken/disabled for release notes. Sorry about that, I'm chasing the source of a crash that's been bringing this website down for the last couple of days.
Update deployment iOS target 13.0
6 days ago
Set iOS deployment target to iOS 10
3 years ago
#1088
Add support for defaults
3 years ago
#1085
Swift 5 support
3 years ago
#1081
Linux fix
3 years ago
#1069
ImmutableMappable init fix
4 years ago
ImmutableMappable init fix #1079
Fix for mapping optional RawRepresentable enum with ImmutableMappable
4 years ago
#1059
Update to Swift 5, Update to Xcode 10.2
4 years ago
Fixes issue: #1043
iOS target fix, CodableTransform fix
5 years ago
Warning fixes, copyright updates, missing Swift 4.2 updates
5 years ago
iOS macOS watchOS tvOS
CoderMJLee/MJExtension 3.4.2
A fast, convenient and nonintrusive conversion framework between JSON and model. Your model class doesn't need to extend any base class. You don't need to modify any model file.
⭐️ 8,512
🕓 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.
3.4.2
6 days ago
* Add Privacy manifest **Full Changelog**: https://github.com/CoderMJLee/MJExtension/compare/3.4.1...3.4.2
3.4.1
2 years ago
## What's Changed * Fixed secure coding issue that classes object couldn't be decoded. by @VeinGuo in https://github.com/CoderMJLee/MJExtension/pull/830 **Full Changelog**: https://github.com/CoderMJLee/MJExtension/compare/3.4.0...3.4.1
3.4.0
2 years ago
- SPM Support #823 - Add NSSecureCoding support for quick implementation macro MJSecureCodingImplementation(class, isSupport). #821 - Fixed the crash which `EntityName` is not same with `ClassName` in CoreData usage. #718
2 years ago
- Add watchOS and tvOS support.
2 years ago
- Fixing racing condition between `setupBlock` and `readMethod` - Raise exception when in debug mode
3 years ago
- Fixed multi-threading problems(dark cave🙈).
3 years ago
- Fix array enumeration fatal error. (mutate array in for-loop)
3 years ago
- Callback converted keyValues as NSMutableDictionary instead of NSDictionary. - Add some docs in `ReadMe`
4 years ago
- Fix a mismatch between value and wrong type. ## Do not use 3.2.0
4 years ago
- Add support for French number string to number. - Fix longlong conversion mistake.
nicklockwood/SwiftFormat 0.53.5
A command-line tool and Xcode Extension for formatting Swift code
⭐️ 7,424
🕓 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.
0.53.5
Yesterday
- Fixed bug with trailing comma being inserted into wrapped capture list - Fixed bugs with parsing `nonisolated(unsafe)` modifiers - Fixed bug with hoisting `try` or `async` after a string literal expression - Fixed issue with parsing expressions containing generic arguments - Lint warnings are now displayed as errors when not running in `--lenient` mode - Improved error message for unexpected `static`/`class` modifiers - Added Swift 6.0 to list of supported Swift versions
0.53.4
1 week ago
- The `enumNamespaces` rule is no longer applied to structs with attributes or macros - The new `nonisolated(unsafe)` modifier is now handled correctly - Added support for `do throws(Type) { ... }` clauses
0.53.3
2 weeks ago
- The `preferForLoop` rule now correctly singularizes loop conditions that end with "cases" - Fixed bug where `preferForLoop` mangled throwing or async `forEach` expressions - Fixed extension body not being sorted if `organizeDeclarations` was enabled but excluded declaration type - Fixed conditionalAssignment bugs with `@unknown default` cases - Fixed some unsafe applications of the `enumNamespaces` rule - Add preliminary support for typed `throws`
0.53.2
4 weeks ago
- Fixed bug where `hoistAwait` rule could move `await` before `try` keyword - Fixed bug where `redundantSelf` rule was confused by `@MainActor` annotation - Fixed edge case where `unusedArguments` removed required argument inside `guard`
0.53.1
7 weeks ago
- Fixed bug where `fileHeader` could duplicate headers containing a colon - The `redundantInternal` rule no longer strips `internal` from `import` statements - Fixed false positive with `unusedArguments` rule
0.53.0
10 weeks ago
- Added `preferForLoop` rule to convert `forEach { ... }` calls to regular `for` loops - Added `wrapLoopBodies` rule to wrap single-line loop bodies over multiple lines - Added `noExplicitOwnership` rule to remove unwanted `borrowing` and `consuming` modifiers - Added `wrapMultilineConditionalAssignment` rule to wrap `if` or `switch` expressions to new line - The `wrapAttributes` rule no longer unwraps attributes if they would exceed `--maxwidth` - The `typeSugar` rule's `--shortoptionals` option now defaults to `except-properties` - Enabled `blankLinesBetweenChainedFunctions` rule by default - Enabled `blankLineAfterImports` rule by default - Fixed `self` being incorrectly inserted before `set` clause in computed properties - Fixed a bug in `parseType()` helper function where qualified types were not recognized - Fixed Xcode command plugin
0.52.11
14 weeks ago
- Updated `if`/`switch` expression workaround for Swift 5.9 bug to handle `as!` casts - Fixed indent logic for wrapped conditional assignment expressions - Fixed assertion failure in `redundantSelf` rule - Fixed raw string parsing bug
0.52.10
17 weeks ago
- Fixed `enumNamespaces` rule breaking `import struct`/`class` statements - Fixed unsafe application of `conditionalAssignment` rule to `switch` statements containing `#if` blocks
0.52.9
18 weeks ago
- Fixed `redundantClosure` removing required closure around conditional statements - Fixed `redundantClosure` removing closure containing conditional expressions inside a method call - Fixed `redundantClosure` generating invalid code when the `redundantReturn` rule is disabled - Fixed issue where if/switch expressions with `as?` cast would break build in Swift 5.9 - Fixed `blankLineAfterImports` introducing spurious blank line before `@preconcurrency` attribute - Fixed bug where `enumNamespaces` rule wouldn't be applied immediately after an `import` statement - Fixed issue where `switch` case with multiple `where` clauses could be parsed incorrectly - The SwiftFormat SPM plugin now formats local dependencies, not just final product targets
0.52.8
21 weeks ago
- Fixed `redundantClosure` rule in cases where an `if`/`switch` expression is not permitted - The `docComments` rule now correctly handles macro comments - The `docComments` rule is now only applied to a comment block if all lines match the pattern
scinfu/SwiftSoup 2.7.2
SwiftSoup: Pure Swift HTML Parser, with best of DOM, CSS, and jquery (Supports Linux, iOS, Mac, tvOS, watchOS)
⭐️ 4,284
🕓 15 hours ago
kstenerud/KSCrash 1.17.0
The Ultimate iOS Crash Reporter
⭐️ 4,149
🕓 2 days ago
tuist/tuist 4.7.0
🚀 Create, maintain, and interact with Xcode projects at scale
⭐️ 4,081
🕓 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.
4.7.0
4 hours ago
4.6.0
1 week ago
### Tuist #### Fixed * Prevent cached frameworks from crashing in Previews after deleting derived data by @anlaital-oura in https://github.com/tuist/tuist/pull/6035 * Fix generate with Workspace.swift by @fortmarek in https://github.com/tuist/tuist/pull/6039 * Fix compiling libraries with umbrella headers that have a dash by @fortmarek in https://github.com/tuist/tuist/pull/6042 * Fix reading metadata of swift-package-manager-google-mobile-ads by @fortmarek in https://github.com/tuist/tuist/pull/6049 #### Added * **Breaking** Add platform condition support to `CopyFilesAction` by @waltflanagan in https://github.com/tuist/tuist/pull/6023 - `CopyFilesAction` now accepts files as `[CopyFileElement` instead of `[FileElement]`. The new type is designed for copy file actions to support platform conditions. We've designed the new API to be as aligned as possible with `FileElement` to ease the migration work. * Add missing catch for unsupported platform error by @fortmarek in https://github.com/tuist/tuist/pull/6052 #### Changed * Allow setting visionOS deployment target for appleVisionWithiPadDesign by @freak4pc in https://github.com/tuist/tuist/pull/6033 * Skip targets with unsupported platforms instead of throwing an error by @fortmarek in https://github.com/tuist/tuist/pull/6047 * Force addition of macro flags regardless of inherited presence by @fortmarek in https://github.com/tuist/tuist/pull/6051 #### Removed * Remove Deprecated ‘platforms’ Parameter from PackageSettings Documentation by @TheImShrey in https://github.com/tuist/tuist/pull/6061 ### Tuist Cloud - no changes
4.5.1
1 week ago
### Tuist #### Fixes * Fix generation of SPM packages when some resources are missing by @fortmarek in https://github.com/tuist/tuist/pull/6027 * fix: Previews crash when accessing resources from cached XCFrameworks by @anlaital-oura in https://github.com/tuist/tuist/pull/6028 ### Tuist Cloud - no changes **Full Changelog**: https://github.com/tuist/tuist/compare/4.5.0...4.5.1
4.5.0
2 weeks ago
### Tuist #### Added * Add `bundleId` and `settings` to `ProjectAutomation` graph by @apps4everyone in https://github.com/tuist/tuist/pull/5992 #### Changed * Support for SPM only projects by @fortmarek in https://github.com/tuist/tuist/pull/6011 #### Fixed * Fix crash when accessing bundle resources in Previews by @anlaital-oura in https://github.com/tuist/tuist/pull/6008 * Fix tuist test when using Nimble by @fortmarek in https://github.com/tuist/tuist/pull/6021 * Fix Tuist project warnings by @danieleformichelli in https://github.com/tuist/tuist/pull/6022
4.4.0
2 weeks 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
3 weeks ago
### Tuist - no changes ### Tuist Cloud - no changes
4.3.3
3 weeks 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
3 weeks 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
3 weeks ago
### Tuist - no changes ### Tuist Cloud - no changes
4.3.0
4 weeks 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
macOS
pinterest/PINRemoteImage releases/p12.12
A thread safe, performant, feature rich image fetcher
⭐️ 3,988
🕓 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.
3.0.3
3 years ago
# Changelog ## [3.0.3](https://github.com/Pinterest/PINRemoteImage/tree/3.0.3) (2020-10-23) [Full Changelog](https://github.com/Pinterest/PINRemoteImage/compare/3.0.2...3.0.3) - Fixes macOS build on newer versions of Xcode [\#581](https://github.com/pinterest/PINRemoteImage/pull/581) ([garrettmoon](https://github.com/garrettmoon))
3.0.2
3 years ago
# Changelog ## [3.0.2](https://github.com/Pinterest/PINRemoteImage/tree/3.0.2) (2020-10-22) [Full Changelog](https://github.com/Pinterest/PINRemoteImage/compare/3.0.1...3.0.2) - Add support for automated releases [\#580](https://github.com/pinterest/PINRemoteImage/pull/580) ([garrettmoon](https://github.com/garrettmoon)) - Fix imports for non-SPM [\#579](https://github.com/pinterest/PINRemoteImage/pull/579) ([garrettmoon](https://github.com/garrettmoon)) - Moves to an .xcworkspace so we don't imbed subprojects [\#575](https://github.com/pinterest/PINRemoteImage/pull/575) ([garrettmoon](https://github.com/garrettmoon)) - SPM define [\#574](https://github.com/pinterest/PINRemoteImage/pull/574) ([3a4oT](https://github.com/3a4oT)) - SPM - Objective-C++ consumers fix [\#573](https://github.com/pinterest/PINRemoteImage/pull/573) ([3a4oT](https://github.com/3a4oT)) - Use proper units when setting preferredFramesPerSecond [\#572](https://github.com/pinterest/PINRemoteImage/pull/572) ([bdolman](https://github.com/bdolman)) - SPM support [\#571](https://github.com/pinterest/PINRemoteImage/pull/571) ([3a4oT](https://github.com/3a4oT)) - fix: build error when using multiproject config [\#569](https://github.com/pinterest/PINRemoteImage/pull/569) ([hendych](https://github.com/hendych)) - Integrated UIGraphicsImageRenderer for iOS/tvOS 10.0 and above [\#549](https://github.com/pinterest/PINRemoteImage/pull/549) ([IHEARTCOOKIES](https://github.com/IHEARTCOOKIES))
3.0.1 Xcode 12
3 years ago
## [3.0.1](https://github.com/Pinterest/PINRemoteImage/tree/3.0.1) (2020-09-08) [Full Changelog](https://github.com/Pinterest/PINRemoteImage/compare/3.0.0...3.0.1) **Merged pull requests:** - Update PINCache in podspec [\#564](https://github.com/pinterest/PINRemoteImage/pull/564) ([garrettmoon](https://github.com/garrettmoon)) - Update PINCache and PINOperation [\#562](https://github.com/pinterest/PINRemoteImage/pull/562) ([garrettmoon](https://github.com/garrettmoon)) - Let's use the same commands we use locally. [\#561](https://github.com/pinterest/PINRemoteImage/pull/561) ([garrettmoon](https://github.com/garrettmoon)) - Ensure the example defines the macros before referencing them. [\#557](https://github.com/pinterest/PINRemoteImage/pull/557) ([bolsinga](https://github.com/bolsinga)) - Remove the PCH file and ensure macros are defined before using [\#556](https://github.com/pinterest/PINRemoteImage/pull/556) ([bolsinga](https://github.com/bolsinga)) - Seems that having the framework and example have the same name confuses cocoapods [\#555](https://github.com/pinterest/PINRemoteImage/pull/555) ([garrettmoon](https://github.com/garrettmoon)) - Upgrade WebP to 1.1.0 [\#554](https://github.com/pinterest/PINRemoteImage/pull/554) ([garrettmoon](https://github.com/garrettmoon)) - Conditionally call CADisplayLink method based upon iOS10 availability to remove deprecation warning [\#552](https://github.com/pinterest/PINRemoteImage/pull/552) ([bolsinga](https://github.com/bolsinga)) - Fix typos [\#548](https://github.com/pinterest/PINRemoteImage/pull/548) ([pgrimaud](https://github.com/pgrimaud)) - Remove unused CI directory [\#547](https://github.com/pinterest/PINRemoteImage/pull/547) ([jparise](https://github.com/jparise)) - PINCachedAnimatedImage: Fix retain cycles [\#546](https://github.com/pinterest/PINRemoteImage/pull/546) ([bolsinga](https://github.com/bolsinga)) - Fix up analyze for new github CI [\#545](https://github.com/pinterest/PINRemoteImage/pull/545) ([garrettmoon](https://github.com/garrettmoon)) - Switch to GitHub Actions for CI [\#544](https://github.com/pinterest/PINRemoteImage/pull/544) ([jparise](https://github.com/jparise)) - \#trivial Fix performance issue caused by saving encoded image data to memory cache [\#539](https://github.com/pinterest/PINRemoteImage/pull/539) ([Naituw](https://github.com/Naituw)) - Update 3.0.0 change log and podspec [\#537](https://github.com/pinterest/PINRemoteImage/pull/537) ([ernestmama](https://github.com/ernestmama)) - Fix memory cache content in README [\#530](https://github.com/pinterest/PINRemoteImage/pull/530) ([OhKanghoon](https://github.com/OhKanghoon)) - Refactor remote manager task for uuid method [\#526](https://github.com/pinterest/PINRemoteImage/pull/526) ([zhongwuzw](https://github.com/zhongwuzw)) - Burst Animated Image speed of frame index search [\#523](https://github.com/pinterest/PINRemoteImage/pull/523) ([zhongwuzw](https://github.com/zhongwuzw)) - Set HTTPMaximumConnectionsPerHost to PINRemoteImageHTTPMaximumConnectionsPerHost only if user don't provide sessionConfiguration [\#516](https://github.com/pinterest/PINRemoteImage/pull/516) ([zhongwuzw](https://github.com/zhongwuzw)) - Fixes re-downloading data corrupt for the same url [\#514](https://github.com/pinterest/PINRemoteImage/pull/514) ([zhongwuzw](https://github.com/zhongwuzw))
3.0.0 Finally!
4 years ago
- [new] Add PINRemoteImageManagerConfiguration configuration object. [#492](https://github.com/pinterest/PINRemoteImage/pull/492) [rqueue](https://github.com/rqueue) - [fixed] Fixes blending in animated WebP images. [#507](https://github.com/pinterest/PINRemoteImage/pull/507) [garrettmoon](https://github.com/garrettmoon) - [fixed] Fixes support in PINAnimatedImageView for WebP animated images. [#507](https://github.com/pinterest/PINRemoteImage/pull/507) [garrettmoon](https://github.com/garrettmoon) - [new] Exposure didCompleteTask:withError: delegate method of protocol PINURLSessionManagerDelegate. [#519](https://github.com/pinterest/PINRemoteImage/pull/519) [zhongwuzw](https://github.com/zhongwuzw) - [fixed] Fixes AnimatedImageView designated initializer not work. [#512](https://github.com/pinterest/PINRemoteImage/pull/512) [zhongwuzw](https://github.com/zhongwuzw) - [fixed] Set bpp(bits per pixel) to 32 bit for GIF. [#511](https://github.com/pinterest/PINRemoteImage/pull/511) [zhongwuzw](https://github.com/zhongwuzw) - [new] Add cancel method for PINRemoteImageManager. [#509](https://github.com/pinterest/PINRemoteImage/pull/509) [zhongwuzw](https://github.com/zhongwuzw) - [fixed] Fixes build error when using Xcode 10.2.1. [#524](https://github.com/pinterest/PINRemoteImage/pull/524) [ANNotunzdY](https://github.com/ANNotunzdY)
Fixes galore!
5 years ago
- [new] Allow use of NSURLCache via a custom NSURLSession [#477](https://github.com/pinterest/PINRemoteImage/pull/477) [wiseoldduck](https://github.com/wiseoldduck) - [new] Respect Cache-Control and Expires headers if the cache supports TTL. [#462](https://github.com/pinterest/PINRemoteImage/pull/462) [wiseoldduck](https://github.com/wiseoldduck) - [new] Updated to latest PINCache beta 7. [#461](https://github.com/pinterest/PINRemoteImage/pull/461) [wiseoldduck](https://github.com/wiseoldduck) - [iOS11] Fix warnings [#428](https://github.com/pinterest/PINRemoteImage/pull/428) [Eke](https://github.com/Eke) - [new / beta] Native Support for GIFs and animated WebP [#453](https://github.com/pinterest/PINRemoteImage/pull/453) [garrettmoon](https://github.com/garrettmoon) - [new] Add support for getting NSURLSessionMetrics back. [#456](https://github.com/pinterest/PINRemoteImage/pull/456) [garrettmoon](https://github.com/garrettmoon) - [removed] Removed support for FLAnimatedImage [#453](https://github.com/pinterest/PINRemoteImage/pull/453) [garrettmoon](https://github.com/garrettmoon) - [new] Add support for higher frame rate devices to animated images. [#417](https://github.com/pinterest/PINRemoteImage/pull/417) [garrettmoon](https://github.com/garrettmoon) - [fixed] Fixes non-animated GIFs being delivered as an animated image. [#434](https://github.com/pinterest/PINRemoteImage/pull/434) [garrettmoon](https://github.com/garrettmoon) - [fixed] Fixes a bug where using PINRemoteImageBasicCache would cause images to be decoded on the main thread. [#457](https://github.com/pinterest/PINRemoteImage/pull/457) [kgaidis](https://github.com/kgaidis) - [cleanup] Remove unused code that supported iOS < 7. [#435](https://github.com/pinterest/PINRemoteImage/pull/435) [Adlai-Holler](https://github.com/Adlai-Holler) - [cleanup] Use NS_ERROR_ENUM to improve Swift import. [#440](https://github.com/pinterest/PINRemoteImage/pull/440) [Adlai-Holler](https://github.com/Adlai-Holler) - [fixed] Fixes nil session manager configuration. [#460](https://github.com/pinterest/PINRemoteImage/pull/460) [garrettmoon](https://github.com/garrettmoon) - [fixed] Fixes deprecated -defaultImageCache not being called if overridden. [479](https://github.com/pinterest/PINRemoteImage/pull/479) [nguyenhuy](https://github.com/nguyenhuy) - [new] Add a new API that allows a priority to be set when a new download task is scheduled. [#490](https://github.com/pinterest/PINRemoteImage/pull/490) [nguyenhuy](https://github.com/nguyenhuy)
3.0 beta 13: Animated WebP support / better GIF handling
6 years ago
- [new] Support for webp and improved support for GIFs. [#411](https://github.com/pinterest/PINRemoteImage/pull/411) [garrettmoon](https://github.com/garrettmoon) - [new] Added back tvOS support through a new target [#408](https://github.com/pinterest/PINRemoteImage/pull/408) [jverdi](https://github.com/jverdi) - [refactor] Refactor out KVO on NSURLSessionTask to avoid Apple crashes. [#410](https://github.com/pinterest/PINRemoteImage/pull/410) [garrettmoon](https://github.com/garrettmoon)
3.0 beta 12
6 years ago
- [**new**] Added a way to specify custom retry logic when network error happens [#386](https://github.com/pinterest/PINRemoteImage/pull/386) - [**new**] Improve disk cache migration performance [#391](https://github.com/pinterest/PINRemoteImage/pull/391) [chuganzy](https://github.com/chuganzy), [#394](https://github.com/pinterest/PINRemoteImage/pull/394) [nguyenhuy](https://github.com/nguyenhuy) - [**new**] Adds support for using cell vs. wifi in leau of speed for determing which URL to download if speed is unavailable. [garrettmoon](https://github.com/garrettmoon) - [**new**] Uses BPS minus time to first byte for deciding which of a set of URLs to download. [garrettmoon](https://github.com/garrettmoon) - [**fixed**] Fixes an edge case when image returned with 404 response, we now treat it as image instead of error [#399](https://github.com/pinterest/PINRemoteImage/pull/396) [maxwang](https://github.com/wsdwsd0829)
3.0 Beta 11
6 years ago
Beta 11 has a bunch of bug fixes as well some new features: - [**new**] PINRemoteImageManager now respects the request timeout value of session configuration. [garrettmoon](https://github.com/garrettmoon) - [**new**] Added support for getting NSURLResponse from a PINRemoteImageManagerResult object. [garrettmoon](https://github.com/garrettmoon) - [**new**] Updated to latest PINCache beta 5. [garrettmoon](https://github.com/garrettmoon) - [**fixed**] Fixes a deadlock with canceling processor tasks [#374](https://github.com/pinterest/PINRemoteImage/pull/374) [zachwaugh](https://github.com/zachwaugh) - [**fixed**] Fixes a deadlock in the retry system. [garrettmoon](https://github.com/garrettmoon) - [**fixed**] Fixes a threadsafety issue in accessing callbacks. [garrettmoon](https://github.com/garrettmoon) - [**fixed**] Fixes a crash with resumed downloads when a key is long. [garrettmoon](https://github.com/garrettmoon)
3.0 Beta 10
6 years ago
Beta 10 is mostly a bug fix release with one new feature: - [new] Added support (in iOS 10) for skipping cancelation if the estimated amount of time to complete the download is less than the average time to first byte for a host. [#364](https://github.com/pinterest/PINRemoteImage/pull/364) [garrettmoon](http://github.com/garrettmoon) - [fixed] Fixes an issue where PINResume would assert because the server didn't return an expected content length. - [fixed] Fixed bytes per second on download tasks (which could affect if an image is progressively rendered) [#360](https://github.com/pinterest/PINRemoteImage/pull/360) [garrettmoon](https://github.com/garrettmoon) - [new] Added request configuration handler to allow customizing HTTP headers per request [#355](https://github.com/pinterest/PINRemoteImage/pull/355) [zachwaugh](https://github.com/zachwaugh) - [fixed] Moved storage of resume data to disk from memory. [garrettmoon](https://github.com/garrettmoon) - [fixed] Hopefully fixes crashes occuring in PINURLSessionManager on iOS 9. [garrettmoon](https://github.com/garrettmoon)
Beta 9: Support for resuming downloads, faster operation queue
6 years ago
Included in Beta 9 is one big feature and one big performance improvement: - **New** support for resuming canceled downloads. If you call `cancelTaskWithUUID:storeResumeData:` you can specify that any data already downloaded be stored in the memory cache. If you later attempt to download the image at the URL again, it will resume where it left off. (#331) Caveats: - Resume data is only stored in the memory cache, not the disk cache - Your server must support resuming downloads by responding to requests with the Accept-Range header == bytes and providing either an ETag header or a Last-Modified header. - **Performance** switch to PINOperationQueue from NSOperationQueue which turned out to take a lot of the time PINRemoteImage used on the main thread. (#338, #326, #329)
iOS macOS tvOS

Popular Packages

ggerganov/llama.cpp master-fff0e0e
LLM inference in C/C++
⭐️ 53,182
🕓 34 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.
b2461
4 hours ago
b2459
14 hours ago
b2458
15 hours ago
b2457
18 hours ago
b2456
22 hours ago
b2455
22 hours ago
b2454
Yesterday
b2453
Yesterday
b2450
Yesterday
b2449
Yesterday
iOS macOS watchOS tvOS
grpc/grpc v1.62.1
The C based gRPC (C++, Python, Ruby, Objective-C, PHP, C#)
⭐️ 40,458
🕓 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.1
1 week ago
This is release gRPC Core 1.62.1 (guardian). 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.
Release v1.61.2
1 week ago
This is release gRPC Core 1.61.2 (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.
Release v1.62.0
3 weeks 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
4 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
5 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
6 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
6 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
6 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
6 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
7 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.
Alamofire/Alamofire 5.9.0
Elegant HTTP Networking in Swift
⭐️ 40,427
🕓 2 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.9.0
2 weeks ago
Released on 2024-03-03. All issues associated with this milestone can be found using this [filter](https://github.com/Alamofire/Alamofire/milestone/89?closed=1). ### Added - [🔥 Experimental 🔥] `WebSocketRequest`, as a wrapper for `URLSessionWebSocketTask`. This preview release is undocumented behind `@_spi(WebSocket)`. Its API _will_ change in the future, especially to adopt typed throws, but it is largely feature complete, tested, and usable now. API feedback, missing use cases, and bug reports are much appreciated before it goes fully public. - Added by [Jon Shier](https://github.com/jshier) in Pull Request [#3455](https://github.com/Alamofire/Alamofire/pull/3455). - `PrivacyInfo.xcprivacy` file and integration with SPM, CocoaPods, and Carthage. - Added by [Dmitry Kuleshov](https://github.com/kdvmgn) and [Jon Shier](https://github.com/jshier) in Pull Requests [#3792](https://github.com/Alamofire/Alamofire/pull/3792), [#3831](https://github.com/Alamofire/Alamofire/pull/3831), and [#3839](https://github.com/Alamofire/Alamofire/pull/3839). - `AlamofireDynamic` target, to force dynamic linking in Xcode when using SPM. Only use when you know you need it. - Added by [Jon Shier](https://github.com/jshier) in Pull Request [#3808](https://github.com/Alamofire/Alamofire/pull/3808). - `AFInfo` enum and a public `version` value to get Alamofire's current version, `AFInfo.version`. - Added by [Jon Shier](https://github.com/jshier) in Pull Request [#3819](https://github.com/Alamofire/Alamofire/pull/3819). ### Updated - Alamofire to require Swift 5.7.1. - Updated by [Jon Shier](https://github.com/jshier) in Pull Request [#3798](https://github.com/Alamofire/Alamofire/pull/3798). - Project structure to break apart large `Request.swift` file and consolidate various `Request` subclasses into their own files. - Updated by [Jon Shier](https://github.com/jshier) in Pull Request [#3798](https://github.com/Alamofire/Alamofire/pull/3798). - `Empty` type to be `Sendable`. - Updated by [Antoine van der Lee](https://github.com/AvdLee) in Pull Request [#3816](https://github.com/Alamofire/Alamofire/pull/3816). - `.swiftformat` to remove duplicate rules. - Updated by [Fourenn](https://github.com/giftbott) in Pull Request [#3835](https://github.com/Alamofire/Alamofire/pull/3835). ### Fixed - Platform deprecation warnings in `Package.swift` in newer Xcode versions. - Updated by [fess](https://github.com/apps4everyone) in Pull Request [#3823](https://github.com/Alamofire/Alamofire/pull/3823). - `Alamofire.podspec` after project restructuring. - Updated by [mlch](https://github.com/mlch911) in Pull Request [#3825](https://github.com/Alamofire/Alamofire/pull/3825). - Various documentation typos. - Fixed by [JaewoongLee-swift](https://github.com/JaewoongLee-swift), [TaeHyun](https://github.com/kth1210), and [hugo-syn](https://github.com/hugo-syn) in various Pull Requests.
5.8.1
20 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
28 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
44 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
44 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).
iOS macOS watchOS tvOS
nlohmann/json v3.11.3
JSON for Modern C++
⭐️ 39,522
🕓 15 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
15 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,496
🕓 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.
2.219.0 Improvements
10 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
10 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
17 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
26 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
26 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
26 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
35 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
42 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
48 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,332
🕓 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 Cé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,890
🕓 10 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
10 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
10 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
13 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
16 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
17 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
18 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
46 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
48 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,275
🕓 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
4 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
40 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
2 years 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
SDWebImage/SDWebImage 5.19.0
Asynchronous image downloader with cache support as a UIImageView category
⭐️ 24,878
🕓 3 weeks ago
🔖 Release Notes

Releases

The markdown parsing is broken/disabled for release notes. Sorry about that, I'm chasing the source of a crash that's been bringing this website down for the last couple of days.
5.19.0 - CocoaPods X VisionOS
3 weeks 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
3 weeks 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
5 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
9 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
9 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
10 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
14 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
15 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
17 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
20 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
airbnb/lottie-ios 4.4.1
An iOS library to natively render After Effects vector animations
⭐️ 24,842
🕓 3 weeks ago
🔖 Release Notes

Releases

The markdown parsing is broken/disabled for release notes. Sorry about that, I'm chasing the source of a crash that's been bringing this website down for the last couple of days.
4.4.1
3 weeks 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
8 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
15 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
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)** 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
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)** ## 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
25 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
26 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
46 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

New Releases

guardian/bridget-swift v0.0.0-2024-03-19-snapshot-signin
Thrift definitions of the API between iOS app and Webview
⭐️ 2
🕓 34 minutes ago
DipakPanchasara/HelpfulKit 1.0.8
Helpful Extension, Structures and Classes
⭐️ 0
🕓 46 minutes ago
iOS
Netvent/storyly-ios 2.16.1
Storyly iOS SDK Swift Package Manager distribution
⭐️ 6
🕓 2 hours ago
iOS
natura-cosmeticos/natds-ios 8.0.1
Natura Design System
⭐️ 46
🕓 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.
7.10.29
31 weeks ago
## What's new - resolve natchip and natchipfilter switch themes - natcounter disabling keyboard - fix model a logo - adding handler to natcounter - Feature/avon logo v2 - fixes for app bar review - dialog with switch themes
7.10.24
37 weeks ago
## What's new - fix button custom theme color for click disable - adding different sizes to button - fix for natcounter keyboard done
7.10.23
39 weeks ago
## What's new - Feature/switch theme @hayna-foursys (#408) - fix underscore @hayna-foursys (#405) - Update Podfile @Design-System-Natura (#407) - Update CHANGELOG.md @Design-System-Natura (#406) - Update Fastfile @Design-System-Natura (#404)
7.10.22
42 weeks ago
- removing Helvetica font family - add AvonV2 theme - add NaturaV2 theme
7.10.18
42 weeks ago
- new component: NatChipFilter - add Textfield to NatCounter value
7.10.17
45 weeks ago
Bug Fixes - fix NatChip component scroll issue ([8334348](https://github.com/natura-cosmeticos/natds-ios/commit/8334348e7ae25038e6747990bec5d9afb7e80ab3))
7.10.16
46 weeks ago
- downgrade ios version from 11 to 10
47 weeks ago
- New Natura log - New Casa&Estilo identity
7.1.3
47 weeks ago
## What's new - removing bodyFont @Design-System-Natura (#385) - Theme updated @Design-System-Natura (#384) - Update Matchfile @xald (#383) - Dsy 3141 new logo @Design-System-Natura (#382) - fix: logo consultoria de beleza updated @cloudsystec (#381) - Fix/tab-color @acc-mateus-gomes (#380) - Feature/consultoria-de-beleza-logo @acc-mateus-gomes (#379) - Feature/tab-elevation @acc-mateus-gomes (#378) - fix: remove duplicated files @acc-mateus-gomes (#376) - feat: add consultoria de beleza theme @acc-mateus-gomes (#375) - Bugfix/swiftlint fix @acc-mateus-gomes (#374) - fix: removing hidden folder that might be breaking the versioning for… @gccavalcanti (#373) - Update/scrollable tab @MateusNat (#370) - Feat: Alert component @gccavalcanti (#369) - [DSY-2765] Feat/component chip @peslopes (#366) - [DSY-2646] [SampleApp] Moved searchBar cell from components list to inside AppBar cell @peslopes (#365) - [DSY-1483] Feat/component select @peslopes (#363) - [DSY-2735] feat: add method to configure text field icon button @peslopes (#362) - [DSY-1754] Remove buggy collapse animation @peslopes (#361) - docs: update NatSwitch docs @peslopes (#360) - [DSY-1293] Feature/natSwitch @peslopes (#359) - [DSY-2746] Feat: add NatRadioButtonGroup class to manage radio buttons group behavior and handlers @peslopes (#358)
7.1.2
1 year ago
## What's new - Internal changes for docs automation @penelopearaujo (#357) - chore: fix bump version script to also update docs @penelopearaujo (#356) - [DSY-2242] Automate documentation update @penelopearaujo (#354)
iOS
JoanKing/JKSwiftExtension 2.6.3
Swift常用扩展、组件、协议,方便项目快速搭建,提供完整清晰的Demo示例,不断的完善中......
⭐️ 671
🕓 2 hours ago
iOS
CoderMJLee/MJRefresh 3.7.8
An easy way to use pull-to-refresh.
⭐️ 13,761
🕓 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.
3.7.8
2 hours ago
## What's Changed * Fixed duplicated privacy statement issue in `Static Framework`. by @jiasongs in https://github.com/CoderMJLee/MJRefresh/pull/1605 **Full Changelog**: https://github.com/CoderMJLee/MJRefresh/compare/3.7.7...3.7.8
3.7.7
6 days ago
## What's Changed * 修复MJRefreshAutoFooter初始化时没有添加底部忽略间距的问题 by @Rogue24 in https://github.com/CoderMJLee/MJRefresh/pull/1596 * Add privacy manifest by @wolfcon in https://github.com/CoderMJLee/MJRefresh/pull/1603 **Full Changelog**: https://github.com/CoderMJLee/MJRefresh/compare/3.7.6...3.7.7 ## Acknowledged Issue * Use `CocoaPods` to import `Static Framework` will cause duplicated issue. ## Workaround * Use `Dynamic Framework` or Update to [`3.7.8`](https://github.com/CoderMJLee/MJRefresh/releases/3.7.8)
3.7.6
49 weeks ago
## What's Changed * fixed crash loop infinitive when compare float by using FLT_EPSILON by @vancucit in https://github.com/CoderMJLee/MJRefresh/pull/1581 ## New Contributors * @vancucit made their first contribution in https://github.com/CoderMJLee/MJRefresh/pull/1581 **Full Changelog**: https://github.com/CoderMJLee/MJRefresh/compare/3.7.5...3.7.6
3.7.5
2 years ago
## What's Changed * Fix/duplicated async method by @wolfcon in https://github.com/CoderMJLee/MJRefresh/pull/1560 **Full Changelog**: https://github.com/CoderMJLee/MJRefresh/compare/3.7.4...3.7.5
3.7.4
2 years ago
## What's Changed * Removed duplicated async method on main queue. by @wolfcon in https://github.com/CoderMJLee/MJRefresh/pull/1559 **Full Changelog**: https://github.com/CoderMJLee/MJRefresh/compare/3.7.3...3.7.4
3.7.3
2 years ago
## What's Changed * Fix issue #1533(StateTrailer title could not be changed immediately if setting) by @wolfcon in https://github.com/CoderMJLee/MJRefresh/pull/1536 * Remove unnecessary definition in SPM. by @wolfcon in https://github.com/CoderMJLee/MJRefresh/pull/1544 * [Example] Fixed navigation bar problem in iOS15 by @wolfcon in https://github.com/CoderMJLee/MJRefresh/pull/1553 * Fixed a bug that footer(MJRefreshAutoFooter/MJRefreshBackFooter) movement behavior is weird when using `performBatchUpdates` method in `UICollectionView` by @jiasongs in https://github.com/CoderMJLee/MJRefresh/pull/1554 * Reorder project workspace for framework and example. by @wolfcon in https://github.com/CoderMJLee/MJRefresh/pull/1555 * Fixed the header updating issue when using `setLastUpdatedTimeText` block to update time label in first time. by @kkkelicheng in https://github.com/CoderMJLee/MJRefresh/pull/1404 * Fixed misusage of `initialize` function by @wolfcon in https://github.com/CoderMJLee/MJRefresh/pull/1558 **Full Changelog**: https://github.com/CoderMJLee/MJRefresh/compare/3.7.2...3.7.3
2 years ago
- Fixed a duplication warning causing by SPM function (#1532)
2 years ago
- SPM supported (#1470) - Fixed a bug that AutoStateFooter(Normal) couldn't call refresh method by tapping state label. It shouldn't be influenced by dragging logic. (#1529) - Add a new feature: `MJRefresh components` will be rerendered automatically with `MJRefreshConfig.default.language` setting. (#1527)
2 years ago
- Revert some deletion.
2 years ago
- Now animation duration can be changed. (set 0 to disable animtion) (#1503) - Providing a new method to disable all animation(setAnimationDisabled) [Specially for Bugs in UICollectionView] (#1503) - Add some Chaining grammar (#1499) - Remove deprecated code (#1498)
innovatrics/dot-ios-sdk-spm 7.4.0
Innovatrics DOT iOS SDK Swift Package Manager repository.
⭐️ 0
🕓 3 hours ago
iOS
mixpanel/mixpanel-iphone v5.0.5
Official iOS (Objective-C) Tracking Library for Mixpanel Analytics
⭐️ 1,043
🕓 3 hours ago
🔖 Release Notes

Releases

The markdown parsing is broken/disabled for release notes. Sorry about that, I'm chasing the source of a crash that's been bringing this website down for the last couple of days.
Release v5.0.5
15 hours ago
# ## [v5.0.5](https://github.com/mixpanel/mixpanel-iphone/tree/v5.0.5) (2024-03-18) ### Enhancements - Bump all other min deployment targets [\#1022](https://github.com/mixpanel/mixpanel-iphone/pull/1022)
Release v5.0.4
15 hours ago
# ## [v5.0.4](https://github.com/mixpanel/mixpanel-iphone/tree/v5.0.4) (2024-03-18) ### Enhancements - Bump minimum iOS deployment target to 13.0 [\#1021](https://github.com/mixpanel/mixpanel-iphone/pull/1021)
Release v5.0.3
16 hours ago
# ## [v5.0.3](https://github.com/mixpanel/mixpanel-iphone/tree/v5.0.3) (2024-03-18) ### Enhancements - Add privacy manifest [\#1019](https://github.com/mixpanel/mixpanel-iphone/pull/1019)
Release v5.0.2
1 year ago
# ## [v5.0.2](https://github.com/mixpanel/mixpanel-iphone/tree/v5.0.2) (2023-03-01) ### NOTE: - From this version we will prefix randomly generated device-specific distinct_ids with "$device:". The prefix is applied the next time a new random ID is generated, any IDs generated by previous SDK versions and persisted on the device will continue to be used as-is until reset is called to generate a new ID. This does not change the value sent for the $device_id property, which will continue to be the randomly-generated ID without a prefix. Mixpanel's $identify endpoint has been updated to accept UUIDs with this prefix to coordinate with this change. ### Enhancements - identity v3 changes [\#1009](https://github.com/mixpanel/mixpanel-iphone/pull/1009) - Delete .travis.yml [\#1006](https://github.com/mixpanel/mixpanel-iphone/pull/1006) ### Fixes - Disable watchOS in CI [\#1010](https://github.com/mixpanel/mixpanel-iphone/pull/1010)
Release v5.0.1
1 year ago
# ## [v5.0.1](https://github.com/mixpanel/mixpanel-iphone/tree/v5.0.1) (2022-11-09) ### NOTE: From this release forward, the Carthage build output attached these releases will be XCFrameworks. As per the Carthage documentation... > We encourage using XCFrameworks as of version 0.37.0 (January 2021), and require XCFrameworks when building on an Apple Silicon Mac. > > Multi-architecture platforms are not supported when building framework bundles in Xcode 12 and above. > Prefer [building with XCFrameworks](https://github.com/Carthage/Carthage#building-platform-independent-xcframeworks-xcode-12-and-above). ### Fixes - build XCFrameworks with Carthage, import TargetConditionals, delete obsolete App Extension Scheme [\#1004](https://github.com/mixpanel/mixpanel-iphone/pull/1004)
Release v5.0.0
1 year ago
# ## [v5.0.0](https://github.com/mixpanel/mixpanel-iphone/tree/v5.0.0) (2022-08-16) ### BREAKING CHANGE: This major release removes all remaining calls to Mixpanel's `/decide` API endpoint. The main effect of this is that the SDK no longer fetches the remote status of your [project's "Automatically collect common mobile events" setting](https://help.mixpanel.com/hc/en-us/articles/115004596186#enable-or-disable-common-mobile-events). From this version forward, automatic event tracking can only be controlled by the, now required, parameter `trackAutomaticEvents`. Upon upgrading, existing implementations will need to add this parameter to their Mixpanel initializer calls. ### Enhancements - Remove Decide and make trackAutomaticEvents required parameter [\#996](https://github.com/mixpanel/mixpanel-iphone/pull/996)
Release v4.2.0
1 year ago
# ## [v4.2.0](https://github.com/mixpanel/mixpanel-iphone/tree/v4.2.0) (2022-06-24) ### Enhancements - use millisecond precision for event.time property [\#994](https://github.com/mixpanel/mixpanel-iphone/pull/994)
Release v4.1.6
1 year ago
# ## [v4.1.6](https://github.com/mixpanel/mixpanel-iphone/tree/v4.1.6) (2022-05-20) ### Enhancements - remove survey [\#993](https://github.com/mixpanel/mixpanel-iphone/pull/993)
Release v4.1.5
1 year ago
# ## [v4.1.5](https://github.com/mixpanel/mixpanel-iphone/tree/v4.1.5) (2022-05-05) ### Enhancements - track "implementation" and each debug launch [\#988](https://github.com/mixpanel/mixpanel-iphone/pull/988)
Release v4.1.4
1 year ago
# ## [v4.1.4](https://github.com/mixpanel/mixpanel-iphone/tree/v4.1.4) (2022-04-26) ### Enhancements - add dev nps survey [\#986](https://github.com/mixpanel/mixpanel-iphone/pull/986) ### Fixes - only add $distinct\_id to people records [\#987](https://github.com/mixpanel/mixpanel-iphone/pull/987)
iOS macOS watchOS tvOS
tuist/tuist 4.7.0
🚀 Create, maintain, and interact with Xcode projects at scale
⭐️ 4,081
🕓 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.
4.7.0
4 hours ago
4.6.0
1 week ago
### Tuist #### Fixed * Prevent cached frameworks from crashing in Previews after deleting derived data by @anlaital-oura in https://github.com/tuist/tuist/pull/6035 * Fix generate with Workspace.swift by @fortmarek in https://github.com/tuist/tuist/pull/6039 * Fix compiling libraries with umbrella headers that have a dash by @fortmarek in https://github.com/tuist/tuist/pull/6042 * Fix reading metadata of swift-package-manager-google-mobile-ads by @fortmarek in https://github.com/tuist/tuist/pull/6049 #### Added * **Breaking** Add platform condition support to `CopyFilesAction` by @waltflanagan in https://github.com/tuist/tuist/pull/6023 - `CopyFilesAction` now accepts files as `[CopyFileElement` instead of `[FileElement]`. The new type is designed for copy file actions to support platform conditions. We've designed the new API to be as aligned as possible with `FileElement` to ease the migration work. * Add missing catch for unsupported platform error by @fortmarek in https://github.com/tuist/tuist/pull/6052 #### Changed * Allow setting visionOS deployment target for appleVisionWithiPadDesign by @freak4pc in https://github.com/tuist/tuist/pull/6033 * Skip targets with unsupported platforms instead of throwing an error by @fortmarek in https://github.com/tuist/tuist/pull/6047 * Force addition of macro flags regardless of inherited presence by @fortmarek in https://github.com/tuist/tuist/pull/6051 #### Removed * Remove Deprecated ‘platforms’ Parameter from PackageSettings Documentation by @TheImShrey in https://github.com/tuist/tuist/pull/6061 ### Tuist Cloud - no changes
4.5.1
1 week ago
### Tuist #### Fixes * Fix generation of SPM packages when some resources are missing by @fortmarek in https://github.com/tuist/tuist/pull/6027 * fix: Previews crash when accessing resources from cached XCFrameworks by @anlaital-oura in https://github.com/tuist/tuist/pull/6028 ### Tuist Cloud - no changes **Full Changelog**: https://github.com/tuist/tuist/compare/4.5.0...4.5.1
4.5.0
2 weeks ago
### Tuist #### Added * Add `bundleId` and `settings` to `ProjectAutomation` graph by @apps4everyone in https://github.com/tuist/tuist/pull/5992 #### Changed * Support for SPM only projects by @fortmarek in https://github.com/tuist/tuist/pull/6011 #### Fixed * Fix crash when accessing bundle resources in Previews by @anlaital-oura in https://github.com/tuist/tuist/pull/6008 * Fix tuist test when using Nimble by @fortmarek in https://github.com/tuist/tuist/pull/6021 * Fix Tuist project warnings by @danieleformichelli in https://github.com/tuist/tuist/pull/6022
4.4.0
2 weeks 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
3 weeks ago
### Tuist - no changes ### Tuist Cloud - no changes
4.3.3
3 weeks 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
3 weeks 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
3 weeks ago
### Tuist - no changes ### Tuist Cloud - no changes
4.3.0
4 weeks 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
macOS
vChewing/Tekkon v1.6.0
鐵恨引擎是用來處理注音輸入法並擊行為的一個模組。該倉庫乃威注音專案的弒神行動(Operation Longinus)的一部分。Tekkon Engine is a module made for processing combo-composition of stroke-based Mandarin Chinese phonetics (i.e. Zhuyin / Bopomofo). This repository is part of Operation Longinus of The vChewing Project. For C# ver.: https://github.com/ShikiSuen/TekkonNT
⭐️ 7
🕓 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.
v1.6.0
5 hours ago
## What's Changed * Typo fixes, etc. by @ShikiSuen in https://github.com/vChewing/Tekkon/pull/79 * Refactor some handlings and unit tests. by @ShikiSuen in https://github.com/vChewing/Tekkon/pull/80 **Full Changelog**: https://github.com/vChewing/Tekkon/compare/v1.5.1...v1.6.0
v1.5.1
42 weeks ago
## What's Changed * Deprecating Foundation. by @ShikiSuen in https://github.com/vChewing/Tekkon/pull/76 * Add inputValidityCheck(charStr:). by @ShikiSuen in https://github.com/vChewing/Tekkon/pull/77 **Full Changelog**: https://github.com/vChewing/Tekkon/compare/v1.5.0...v1.5.1
v1.5.0
43 weeks ago
## What's Changed * Taigi pronunciation fix for Hsu and Starlight. by @ShikiSuen in https://github.com/vChewing/Tekkon/pull/73 * Add support for AlvinLiu arrange, etc. by @ShikiSuen in https://github.com/vChewing/Tekkon/pull/74 **Full Changelog**: https://github.com/vChewing/Tekkon/compare/v1.4.2...v1.5.0
v1.4.2
45 weeks ago
## What's Changed * Implement phonabetKeyForQuery(). by @ShikiSuen in https://github.com/vChewing/Tekkon/pull/71 * Publicize phonabetKeyForQuery(). by @ShikiSuen in https://github.com/vChewing/Tekkon/pull/72 **Full Changelog**: https://github.com/vChewing/Tekkon/compare/v1.4.1...v1.4.2
v1.4.1
48 weeks ago
## What's Changed * Fix fundamental mistakes in handling dynamic layouts. by @ShikiSuen in https://github.com/vChewing/Tekkon/pull/70 **Full Changelog**: https://github.com/vChewing/Tekkon/compare/v1.4.0...v1.4.1
v1.4.0
50 weeks ago
## What's Changed * Add Wade-Giles pinyin input support. by @ShikiSuen in https://github.com/vChewing/Tekkon/pull/69 **Full Changelog**: https://github.com/vChewing/Tekkon/compare/v1.3.2...v1.4.0
v1.3.2
1 year ago
## What's Changed * Add new auto-correction cases. by @ShikiSuen in https://github.com/vChewing/Tekkon/pull/68 **Full Changelog**: https://github.com/vChewing/Tekkon/compare/v1.3.1...v1.3.2
v1.3.1
1 year ago
## What's Changed * Refactor certain utility functions. by @ShikiSuen in https://github.com/vChewing/Tekkon/pull/67 **Full Changelog**: https://github.com/vChewing/Tekkon/compare/v1.3.0...v1.3.1
v1.3.0
1 year ago
## What's Changed * Update romaji buffer when necessary. by @ShikiSuen in https://github.com/vChewing/Tekkon/pull/65 **Full Changelog**: https://github.com/vChewing/Tekkon/compare/v1.2.9...v1.3.0
v1.2.9
1 year ago
## What's Changed * Add necessity checker to cnvHanyuPinyinToPhona. by @ShikiSuen in https://github.com/vChewing/Tekkon/pull/63 * Split files to boost build speed. by @ShikiSuen in https://github.com/vChewing/Tekkon/pull/64 **Full Changelog**: https://github.com/vChewing/Tekkon/compare/v1.2.8...v1.2.9
macOS

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