dart-lang/native (ffigen)
### [`v14.0.0`](https://redirect.github.com/dart-lang/native/blob/HEAD/pkgs/ffigen/CHANGELOG.md#1400)
- Create a public facing API for ffigen that can be invoked as a library:
`void generate(Config config)`. Make `Config` an implementatble interface,
rather than needing to be parsed from yaml.
- Add a `external-versions` config option. Setting the minimum target
version will omit APIs from the generated bindings if they were deprecated
before this version.
- Global variables using ObjC types (interfaces or blocks) will now use the
correct Dart wrapper types, instead of the raw C-style pointers.
- Rename `assetId` under *ffi-native* to `asset-id` to follow dash-case.
- **Breaking change**: ObjC blocks are now passed through all ObjC APIs as
`ObjCBlock`, instead of the codegenned
`ObjCBlock_...` wrapper. The wrapper is now a non-constructible set of util
methods for constructing `ObjCBlock`.
- **Breaking change**: Generated ObjC code has been migrated to ARC (Automatic
Reference Counting), and must now be compiled with ARC enabled. For example,
if you had a line like `s.requires_arc = []` in your podspec, this should
either be removed, or you should add the ffigen generated ObjC code to the
list. If you're compiling directly with clang, add the `-fobjc-arc` flag.
- **Breaking change**: Structs with enum members now generate their members
as Dart enum values as well. For example, with an enum `MyEnum` and a struct
with a member `MyEnum enumMember`, two members are generated: `enumMemberAsInt`
which contains the original integer value, and `enumMember`, which is of type
`MyEnum`. If you configure the enum to be generated as Dart integers, this
new behavior will not apply, and the struct member will be an integer as well.
- **Breaking change**: Enums generated as integers will now generate `sealed`
classes as opposed to `abstract` classes.
- Fix some bugs in the way ObjC method families and ownership annotations were
being handl[https://github.com/dart-lang/native/issues/1446](https://redirect.github.com/dart-lang/native/issues/1446)1446
- Apply the existing `member-rename` option to ObjC interface and protocol
methods and properties.
- Add a `member-filter` option that filters ObjC interface and protocol methods
and properties.
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
[ ] If you want to rebase/retry this PR, check this box
This PR contains the following updates:
^13.0.0
->^14.0.0
Release Notes
dart-lang/native (ffigen)
### [`v14.0.0`](https://redirect.github.com/dart-lang/native/blob/HEAD/pkgs/ffigen/CHANGELOG.md#1400) - Create a public facing API for ffigen that can be invoked as a library: `void generate(Config config)`. Make `Config` an implementatble interface, rather than needing to be parsed from yaml. - Add a `external-versions` config option. Setting the minimum target version will omit APIs from the generated bindings if they were deprecated before this version. - Global variables using ObjC types (interfaces or blocks) will now use the correct Dart wrapper types, instead of the raw C-style pointers. - Rename `assetId` under *ffi-native* to `asset-id` to follow dash-case. - **Breaking change**: ObjC blocks are now passed through all ObjC APIs as `ObjCBlockConfiguration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.