Skip to content
Boring Doc

Version Comparison Studio

Choose two real stable releases. Boring Doc lists every indexed change between them with its evidence, impact and migration instructions, and can fetch the verified source diff from GitHub.

Categories
Platform
Explain

2.2.3 → 2.5.3Jul 1, 2021 → Oct 15, 2021 · 4 releases in range

Changes in range
21
Breaking / removed
9
8 with migration guides
Deprecations
1
plan before they are removed
Official evidence
21
10 official migration guide, 11 official changelog

What changed?

21 indexed changes across 4 versions: 8 breaking change, 1 removed, 1 deprecated api, 11 bug fix.

Will this affect my application?

9 high-impact items. Start with: Default drag scrolling devices; Change the enterText method to move the caret to the end of the input text; GestureRecognizer cleanup; ….

What action should I take?

Read the 8 official migration guides first, apply `dart fix` where available, then upgrade and run your test suite. Deprecations can be scheduled; removals cannot.

How do I migrate safely?

Prefer stepping through stable series sequentially; each breaking-change page has a checklist, before/after code and the official guide. Verify with `flutter analyze`, `flutter test` and a profile-mode run on each target platform.

What this comparison covers
  • Release-note items are indexed for the most recent series only. For 2.5 this comparison shows official breaking-change guides and hotfix notes.
  • Release-note items are classified from PR titles (heuristic); breaking-change guides are classified from the official index.
  1. 2.5.0
    Sep 8, 2021
    10 changes
  2. 2.5.1
    Sep 17, 2021
    5 changes
  3. 2.5.2
    Sep 30, 2021
    3 changes
  4. 2.5.3
    Oct 15, 2021
    3 changes

Tick “Fetch verified source diff” above (or load it now) to corroborate these announcements with the git history between the two tags.

Breaking Breaking change 8

BreakingHigh impact2.5.0 migration guide

Default drag scrolling devices

`ScrollBehavior`s now allow or disallow drag scrolling from specified `PointerDeviceKind`s. `ScrollBehavior.dragDevices`, by default, allows scrolling widgets to be dragged by all `PointerDeviceKind`s except for `PointerDeviceKind.mouse`.

Official migration guideVerified classificationFrameworkSource Details
BreakingHigh impact2.5.0 migration guide

GestureRecognizer cleanup

`OneSequenceGestureRecognizer.addAllowedPointer()` was changed to take a `PointerDownEvent`, like its superclass. Previously, it accepted the more general `PointerEvent` type, which was incorrect.

Official migration guideVerified classificationFrameworkSource Details
BreakingHigh impact2.5.0 migration guide

Introducing package:flutter_lints

The `package:flutter_lints` defines the latest set of recommended lints that encourage good coding practices for Flutter apps, packages, and plugins. Projects created with `flutter create` using Flutter version 2.5 or newer are already enabled to use the latest set of recommended lints. Projects created prior to that version can upgrade to it with the instructions in this guide.

Official migration guideVerified classificationFrameworkSource Details
BreakingHigh impact2.5.0web migration guide

Using HTML slots to render platform views in the web

Flutter now renders all web platform views in a consistent location of the DOM, as direct children of `flt-glass-pane` (regardless of the rendering backend: `html` or `canvaskit`). Platform views are then _"slotted"_ into the correct position of the App's DOM with standard HTML features.

Official migration guideVerified classificationFrameworkSource Details

Removed Removed 1

RemovedHigh impact2.5.0

Deprecated API removed after v2.2

In accordance with Flutter's Deprecation Policy, deprecated APIs that reached end of life after the 2.2 stable release have been removed.

Official migration guideVerified classificationFrameworkSource Details

Deprecated Deprecated API 1

Bug fix Bug fix 11

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?