NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev · #473 most downloaded on pub.dev
Code generator tool to make communication between Flutter and the host platform type-safe and easier.
Last release 7 days ago
25 Sep 2026
Ships fairly regularly
a new release about every 3 weeks
Nearly every release is documented
notes for 60 of the last 60 stable releases
1 version withdrawn
withdrawn after publishing
7 years old
268 releases · first in 2020
One column per quarter.
Updates text theme parameters to avoid deprecation issues.
[dart] Deduces the correct import statement for Dart test files made with dartHostTestHandler instead of relying on relative imports.
dartHostTestHandler instead of relying on relative imports.Requires analyzer 4.4.0, and replaces use of deprecated APIs.
analyzer 4.4.0, and replaces use of deprecated APIs.[java] Fixes returning int values from FlutterApi methods that fit in 32 bits.
[c++] Fixes style issues in FlutterError and ErrorOr. The names and visibility of some members have changed, so this may require updates to existing c
FlutterError and ErrorOr. The names and
visibility of some members have changed, so this may require updates
to existing code.[c++] Fixes most non-class arguments and return values in host APIs. The types of arguments and return values have changed, so this may require update
Adds unnecessary_import to linter ignore list in generated dart tests.
unnecessary_import to linter ignore list in generated dart tests.Adds unnecessary_import to linter ignore list for package:flutter/foundation.dart.
unnecessary_import to linter ignore list for package:flutter/foundation.dart.Removes @dart = 2.12 from generated Dart code.
@dart = 2.12 from generated Dart code.Adds experimental support for Swift generation.
[java] Adds option to add javax.annotation.Generated annotation.
Supports newer versions of analyzer.
analyzer.Fixes potential crash bug when using a nullable nested type that has nonnull fields in ObjC.
[c++] Adds support for non-nullable fields, and fixes some issues with nullable fields. The types of some getters and setter have changed, so this may
Adds support for enums in arguments to methods for HostApis.
[c++] Fixes minor style issues in generated code. This includes the naming of generated methods and arguments, so will require updates to existing cod
Updates for non-nullable bindings.
* [c++] Adds C++ code generator.
[objc] Simplified some code output, including avoiding Xcode warnings about using NSNumber* directly as boolean value.
NSNumber* directly as boolean value.Adds ability for generators to do AST validation. This can help generators without complete implementations to report gaps in coverage.
Fixes non-nullable classes and enums as fields.
Enables NNBD for the Pigeon tool itself.
BREAKING CHANGE: Removes the --dart_null_safety flag. Generated Dart now always uses nullability annotations, and thus requires Dart 2.12 or later.
--dart_null_safety flag. Generated Dart
now always uses nullability annotations, and thus requires Dart 2.12 or later.Fixes bug where Dart FlutterApis would assert that a nullable argument was nonnull.
FlutterApis would assert that a nullable argument was nonnull.[java] Makes the generated Builder class final.
[java] Fixes crash for nullable nested type.
Adds support for TaskQueues for serial background execution.
BREAKING CHANGE - Nonnull parameters to async methods on HostApis for ObjC now have the proper nullability hints.
Implements nullable return types.
[front-end] Fix error caused by parsing copyrightHeaders passed to options in @ConfigurePigeon.
copyrightHeaders passed to options in @ConfigurePigeon.[dart_test] Adds missing linter ignores.
Updates behavior of run\_tests.dart with no arguments.
ast_out to help with debugging the compiler front-end.[java] Fix too little information when having an exception
[tests] Port several generator tests to run in Dart over bash
[style] Fixes new style rules for Dart analyzer.
[java] Fixes enum support for null values.
[ci] Starts transition to a Dart test runner, adds windows support.
[front-end] Made sure that explicit use of Object actually creates the codec that can represent custom classes.
[dart] Fixed cast exception that can happen with primitive data types with type arguments in FlutterApi's.
[front-end] Started accepting explicit Object references in type arguments.
[front-end] Fixed bug where nested classes' type arguments aren't included in the output (generated class and codec).
Updated example README for set up steps.
[java] Fixed bug when using Integer arguments to methods declared with 'int' arguments.
[front-end] Fixed bug where codecs weren't generating support for types that only show up in type arguments.
[objc] Updated assert message for incomplete implementations of protocols.
[java] Made it so @async handlers in @HostApi() can report errors explicitly.
@async handlers in @HostApi() can report errors
explicitly.[front-end] Fixed bug where classes only referenced as type arguments for generics weren't being generated.
[objc] BREAKING CHANGE: logic for generating selectors has changed. void add(Input value) will now translate to -(void)addValue:(Input*)value, methods…
one_language flag for allowing Pigeon to only generate
code for one platform.void add(Input value) will now translate to
-(void)addValue:(Input*)value, methods with no arguments will translate to
...WithError: or ...WithCompletion:.@ObjCSelector for specifying custom objc selectors.BREAKING CHANGE - the configurePigeon function has been migrated to a @ConfigurePigeon annotation. See ./pigeons/message.dart for an example. The anno…
analyzer instead of dart:mirrors.
dart:mirrors doesn't support null-safe code so there were a class of
features we couldn't implement without this migration.configurePigeon function has been migrated to a
@ConfigurePigeon annotation. See ./pigeons/message.dart for an example.
The annotation can be attached to anything in the file to take effect.bugfix in front-end parser for recursively referenced datatypes.
bugfix in iOS async handlers of functions with no arguments.
* Added support for enums.
Java: Fixed issue where multiple async HostApis can generate multiple Result interfaces.
BREAKING CHANGE - Pigeon files must be null-safe now. That means the fields inside of the classes must be declared nullable ( non-null fields aren't y…
// Version 0.1.x
class Foo {
int bar;
String baz;
}
// Version 0.2.x
class Foo {
int? bar;
String? baz;
}
--no-dart_null_safety flag.runCommandLine return an the status code.More Java linter and linter fixes.
Java code generator enhancements:
Fixed decode method on generated Flutter classes that use null-safety and have null values.
Implemented @async HostApi's for iOS.
@async HostApi's for iOS.Fixed a bug introduced in 0.1.17 where methods without arguments were no longer being called.
Split out test code generation for Dart into a separate file via the --dart_test_out flag.
Your coding agent can read these notes before it upgrades. Set up the MCP server →