The Wire · Showcase
FLUTTER TOOLS EXTENSIBILITY PROTOCOL LANDS, ANALYZER CLEANUP COMPLETE
By RepoJournal · Filed · About Mobile platforms
Flutter's tool extensibility framework is now live with JSON-RPC protocol support, while the analyzer migration to the new plugin system finishes its final cleanup.
The extension protocol implementation [1] delivers the foundation for third-party Flutter tool integrations: `ToolExtensionEntryPoint`, `ToolExtensionService`, and `ToolExtensionRunner` now ship in `package:flutter_tools_extension`, with host-side `ExtensionManager` and `ExtensionDiscovery` handling discovery and lifecycle. This caps months of infrastructure work toward the tool extensibility prototype [2]. Parallel to that, Flutter finished migrating its custom linting rules off legacy infrastructure. The analyzer plugin now owns link validation rules [3], with `IssueLinkSyntax` and `RepositoryLinkSyntax` running as AST-based rules, and the final cleanup [4] ripped out the old `dev/bots/custom_rules/` directory and private-lints validation. Over on Swift, semantic analysis got fine-grained adjacency tracking for type variables [5], sharpening constraint solver performance in complex generic scenarios. Documentation updates landed across both ecosystems: Swift's generics book received nearly a year of prose cleanup and code example refactoring [6], while embedded Swift testing gained ASAN requirement markers [7].
One email a day. Unsubscribe in one click.
Keep up with Mobile platforms in about 3 minutes a day: what actually shipped — the commits, pull requests, releases, and security advisories that matter.
One email a day. Unsubscribe in one click. Read a past issue →
Action items
- → Review tool extensibility protocol integration points if building Flutter plugins flutter/flutter [plan]
- → Update custom lint rules to use flutter_analyzer_plugin if maintaining custom analysis flutter/flutter [plan]
- → Monitor Swift generic constraint solver changes for type inference regressions apple/swift [monitor]
References
- [1] [flutter_tools] Implement generic extension protocol base and isolate runner ↗ flutter/flutter
- [2] [flutter_tools] Implement generic extension protocol base and isolate runner (#190734) flutter/flutter
- [3] [analysis] Migrate issue and repository link syntax rules to flutter_analyzer_plugin ↗ flutter/flutter
- [4] [analysis] Clean up legacy custom rules and private-lints in analyze.dart ↗ flutter/flutter
- [5] Sema: Fine-grained adjacency tracking ↗ apple/swift
- [6] docs: Some updates for the generics book ↗ apple/swift
- [7] Add `// REQUIRES: no_asan` to `test/embedded/floatingpoint.swift` (#91502) apple/swift