v0.0.23

#14343 revised how copy, cut, and paste works for EditableText: The abstract class TextSelectionControls has new methods canCopy, canCut, etc. to determine if those actions are available. The TextSelectionDelegate interface now requires an additional method bringIntoView(TextPosition position) to scroll a TextPosition into the visible part of a TextField. Furthermore, that interface is no longer implemented by TextSelectionOverlay. In its place EditableTextState should be used, which implements that interface. See also: flutter-dev/IHPndyUDy0M

Sliver APIs

#14449 replaces the SliverGridLayout.estimateMaxScrollOffset method by the SliverGridLayout.computeMaxScrollOffset method. This new method must report an accurate value, not just an estimate. This was necessary to fix a bug where a finite SliverGrid could not handle being scrolled off the top of the screen (because we had no way to determine how much content it had).