Skip to content

Update dependency ffigen to v22 - autoclosed - #210

Closed
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/ffigen-22.x
Closed

renovate[bot] wants to merge 1 commit into
mainfrom
renovate/ffigen-22.x

Conversation

@renovate

@renovate renovate Bot commented Sep 29, 2026 •

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Type Update Change
ffigen (source) dev_dependencies major 20.1.1 → 22.0.0

Warning

Some dependencies could not be looked up. Check the Dependency Dashboard for more information.


Release Notes

dart-lang/native (ffigen)

v22.0.0

Compare Source

  • Breaking change: Major overhaul of Dart config API:
    • Replace various callback based config elements with a Visitor pattern.
      • rename and renameMember replaced with .name setters on AST nodes.
      • include and includeMember replaced with .isIncluded on AST nodes.
      • Functions/Globals.includeSymbolAddress replaced with
        .exposeSymbolAddress on AST nodes.
      • Functions.includeTypedef replaced with .generateTypedefs on
        Func AST node.
      • Structs.packingOverride replaced with Struct.pack.
      • Enums.style and .silenceWarning moved to EnumClass AST node.
      • Functions.isLeaf and .recordUse moved to Func AST node.
      • Structs/Unions.dependencies moved to Struct/Union AST nodes.
      • Interfaces/Protocols.module moved to ObjCInterface/ObjCProtocol AST
        nodes.
      • Interfaces/Protocols.includeTransitive removed (always false).
      • Categories.includeTransitive replaced with
        ObjCInterface.includeCategories.
      • Typedefs.includeUnused consolidated into Typealias.isIncluded using
        TypealiasInclude enum (never, ifUsed, always).
    • Consolidate imported fields and importedTypesByUsr into
      FfiGenerator.importType, switching it to a callback pattern
    • Add importFromSymbolFile and importFromSymbolFiles utils, which load
      symbol YAML files, and return functions that can be passed directly to
      FfiGenerator.importType.
    • Replace Output.dartFile with DartOutput, to prepare for upcoming
      multi-file output format.
    • Deleted many now empty sub-config classes
    • Rename Headers to Input
    • Remove libraryImports, which was dead code
    • Remove useSupportedTypedefs, treating it as always true
    • Make preamble non-null
    • Make generate function async
  • Fix a bug in handling of
    small structs in ObjC on mac/iOS x64.
  • Fix a bug in the way that
    ObjC category methods returning instancetype are filtered.
  • Minor Objective-C code generator and function type signature fixes.
  • Bump package:code_assets dependency to ^2.0.0.

v21.0.0

Compare Source

  • Propagate @Deprecated annotations from C/ObjC headers into generated Dart
    bindings. Deprecation messages from __attribute__((deprecated("msg"))) and
    API_DEPRECATED("msg", ...) are included in the annotation.
  • Breaking change: Remove deprecated useDartHandle field from
    FfiGenerator.
  • Breaking change: Remove unused includeSymbolAddress field from
    Categories, Interfaces, and Protocols.
  • Breaking change: Remove deprecated wrapperName field from
    NativeExternalBindings.
  • Breaking change: Certain synthetic USRs have been modified to ensure they
    cannot collide with real USRs. It's very unlikely that any user facing USRs
    are affected.
  • Enum struct members now have setters.
  • Breaking change: Dart const values will be generated for global variables
    marked const in C (e.g. static const int) instead of symbol lookups. This
    supports integers, doubles, and string literals. Including the variable name
    in the globals -> symbol-address configuration will still generate symbol
    lookups.
  • Fix a bug where block
    helpers were occasionally given unexpected names. Technically a breaking
    change because if you were affected by the bug, the block helper's name will
    change to something more sensible.
  • Breaking change: Deleted the config option Output.sort. Sorting is now
    always enabled.
  • Fix(#​2877)
    such that ObjCObject isA now accepts a nullable ObjCObject? and returns
    false when called with null, aligning its behavior with Dart’s is
    operator.
  • Use xcrun for resolving macOS SDK paths, enabling support for non-standard
    Xcode installations. #​3134
  • Add allocate constructor for native C structs:
    $allocate(Allocator $allocator, {required ...})
  • Fix a bug where ObjC
    classes with SWIFT_UNAVAILABLE annotated init/new methods were
    generating runtime-crashing no-arg constructors.
  • Fix a bug where methods marked with __attribute__((unavailable)) were
    incorrectly included in bindings when no platform version info was configured.
  • Add some more lint ignores to the generated bindings.
  • Fix a bug where the config option Protocols.includeTransitive was not
    working correctly.
  • Add compile time version checks to verify consistency of package:objective_c's
    versions vs FFIgen's generated code.
  • Fix a bug where ObjC
    bindings may not auto-load their dylib in some cases.
  • Fix memory leaks, deadlocks, and crashes that can happen in callbacks, if the
    target isolate is shut down.
  • Bump package:meta dependency to ^1.19.0 and stop generating
    experimental_member_use lint ignore in generated bindings when
    @RecordUse() is used.
  • Support versions 3.x of package:package_config.
  • Fix a bug where comments containing carriage return (\r) characters were not
    properly split, causing comment text to spill out of Dart doc comments.

Configuration

📅 Schedule: (UTC)

  • 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 was generated by Mend Renovate. View the repository job log.

@renovate
renovate Bot force-pushed the renovate/ffigen-22.x branch from 0f91c85 to 395c8ca Compare October 1, 2026 05:28
@renovate
renovate Bot force-pushed the renovate/ffigen-22.x branch from 395c8ca to e7af835 Compare October 1, 2026 17:51
@renovate renovate Bot changed the title Update dependency ffigen to v22 Update dependency ffigen to v22 - autoclosed Oct 6, 2026
@renovate renovate Bot closed this Oct 6, 2026
@renovate
renovate Bot deleted the renovate/ffigen-22.x branch October 6, 2026 15:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants