Skip to content
Boring Doc
BreakingHigh impactOfficial migration guidesince 3.13.0landed 3.12.0-4.0.pre

Updated EditableText scroll into view behavior

Framework · Official source

The `Editable.onCaretChanged` callback is removed. With this change, `EditableText` behavior for scrolling the selection into view changes.

Original behavior

Previously, upon scrolling into view to show user updates, `EditableText` used multiple mechanisms to determine the extent of the selection or the caret location.

New behavior

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()`.

Who is affected
Applications and packages relying on the previous behaviour or signature. Code that uses Editable.onCaretChanged, EditableText.
Practical impact
Behaviour or API differences that can break builds or change runtime behaviour.
What action should I take?
Review the linked source, update affected code and run your test suite before upgrading.
Official migration guide·Verified classification (95%)

Listed in the official breaking-changes index (docs.flutter.dev/release/breaking-changes).

An official announcement or migration guide documents an intended behaviour or API change. A verified source change (git diff) shows code changed but does not by itself prove a public API is breaking. AI interpretations are labelled and never used to classify a change.

Source commit
b3045439b7c0
Source last updated
Oct 21, 2026
Last synchronized
Oct 21, 2026
Publication status
published
Publication history
  • Oct 21, 2026, 8:31 PM: new → published (ingestion) — Backed by an official breaking-change/migration guide.
AI explanationAI-generated · grounded in cited sources
AI explanations are not configured
Set AI_PROVIDER (for example to openai-compatible with a local Ollama or LM Studio endpoint) to enable grounded explanations. Everything else on this page works without an AI provider.
Was this useful?