diff --git a/src/release/breaking-changes/editable-text-scroll-into-view.md b/src/release/breaking-changes/editable-text-scroll-into-view.md new file mode 100644 index 0000000000..fd9a4cf856 --- /dev/null +++ b/src/release/breaking-changes/editable-text-scroll-into-view.md @@ -0,0 +1,41 @@ +--- +title: Updated EditableText scroll into view behavior +description: > + Improve EditableText selection scroll into view behavior to always + use the current selection extent. +--- + +## Summary + +The `Editable.onCaretChanged` callback is removed. With this change, +`EditableText` behavior for scrolling the selection into view +changes. + +## Context + +Previously, upon scrolling into view to show user updates, `EditableText` +used multiple mechanisms to determine the extent of the selection or the +caret location. + +## Description of change + +By removing the `Editable.onCaretChanged` callback, `EditableText` will always +use the most up to date selection extent location when scrolling to show it. +Specifically, this improves scroll into view behavior after +changing selection from collapsed to non-collapsed using +`userUpdateTextEditingValue()`. + +## Timeline + +Landed in version: 3.12.0-4.0.pre
+In stable release: TBD + +## References + +API documentation: + +* [`EditableText`]({{site.api}}/flutter/widgets/EditableText-class.html) + +Relevant PRs: + +* [109114: Remove Editable.onCaretChanged callback]({{site.repo.flutter}}/pull/109114) diff --git a/src/release/breaking-changes/index.md b/src/release/breaking-changes/index.md index a0e401640d..ffbda47e79 100644 --- a/src/release/breaking-changes/index.md +++ b/src/release/breaking-changes/index.md @@ -36,12 +36,14 @@ release, and listed in alphabetical order: * [Removed `ignoringSemantics`][] properties * [Deprecated `RouteInformation.location`][] and its related APIs * [Customize tabs alignment using the new `TabBar.tabAlignment` property][] +* [Updated EditableText scroll into view behavior][] [Added AppLifecycleState.hidden]: {{site.url}}/release/breaking-changes/add-applifecyclestate-hidden [Moved ReorderableListView's localized strings]: {{site.url}}/release/breaking-changes/material-localized-strings [Removed `ignoringSemantics`]: {{site.url}}/release/breaking-changes/ignoringsemantics-migration [Deprecated `RouteInformation.location`]: {{site.url}}/release/breaking-changes/route-information-uri [Customize tabs alignment using the new `TabBar.tabAlignment` property]: {{site.url}}/release/breaking-changes/tab-alignment +[Updated EditableText scroll into view behavior]: {{site.url}}/release/breaking-changes/editable-text-scroll-into-view ### Released in Flutter 3.10