破壞性改動 (Breaking changes)
正如 破壞性改動策略 中描述的,我們會不定期地釋出關於破壞性改動的遷移指南。
以下是可用的遷移指南,它們按發行版本分類並按字母順序排列。
尚未釋出到穩定版
- Migrate
of
to non-nullable return values, and addmaybeOf
- Deprecated API removed after v3.3
- iOS FlutterViewController splashScreenView made nullable
- ThemeData’s toggleableActiveColor property has been deprecated
Released in Flutter 3.3
- Adding ImageProvider.loadBuffer
- Default PrimaryScrollController on Desktop
- Trackpad gestures can trigger GestureRecognizer
Released in Flutter 3
- Deprecated API removed after v2.10
- Page transitions replaced by ZoomPageTransitionsBuilder
- Migrate useDeleteButtonTooltip to deleteButtonTooltipMessage of Chips
已經在 Flutter 2.10 中釋出
- Deprecated API removed after v2.5
- Raw images on Web uses correct origin and colors
- Required Kotlin version
- Scribble Text Input Client
已經在 Flutter 2.5 中釋出
- Default drag scrolling devices
- Deprecated API removed after v2.2
- Change the enterText method to move the caret to the end of the input text
- GestureRecognizer Cleanup
- Introducing package:flutter_lints
- Replace AnimationSheetBuilder.display with collate
- ThemeData’s accent properties have been deprecated
- Transition of platform channel test interfaces to flutter_test package
- Using HTML slots to render platform views in the web
在 2.2 版本中回退的改動
以下重要改動在 Flutter 2.2 中已被回退。
iOS 端和 Android 端的網路策略
引入版本:2.0.0
回退版本:2.2.0(建議)
釋出於 Flutter 2.2
釋出於 Flutter 2
- Added BuildContext parameter to TextEditingController.buildTextSpan
- Android ActivityControlSurface attachToActivity signature change
- Android FlutterMain.setIsRunningInRobolectricTest testing API removed
- Clip behavior
- Deprecated API removed after v1.22
- Dry layout support for RenderBox
- Eliminating nullOk Parameters
- Material Chip button semantics
- SnackBars managed by the ScaffoldMessenger
- TextSelectionTheme migration
- Use maxLengthEnforcement instead of maxLengthEnforced
- Transition of platform channel test interfaces to flutter_test package
釋出於 Flutter 1.22
- Android v1 embedding app and plugin creation deprecation
- Cupertino icons 1.0.0
- The new Form, FormField auto-validation API
釋出於 Flutter 1.20
- Actions API revision
- Adding TextInputClient.currentAutofillScope property
- New Buttons and Button Themes
- Dialogs’ Default BorderRadius
- More Strict Assertions in the Navigator and the Hero Controller Scope
- The Route Transition record and Transition delegate updates
- The RenderEditable needs to be laid out before hit testing
- Reversing the dependency between the scheduler and services layer
- Semantics Order of the Overlay Entries in Modal Routes
- showAutocorrectionPromptRect method added to TextInputClient
- TestWidgetsFlutterBinding.clock
- TextField requires MaterialLocalizations
釋出於 Flutter 1.17
- Adding ‘linux’ and ‘windows’ to TargetPlatform enum
- Annotations return local position relative to object
- Container color optimization
- CupertinoTabBar requires Localizations parent
- Generic type of ParentDataWidget changed to ParentData
- ImageCache and ImageProvider changes
- ImageCache large images
- MouseTracker moved to rendering
- MouseTracker no longer attaches annotations
- Nullable CupertinoTheme.brightness
- Rebuild optimization for OverlayEntries and Routes
- Scrollable AlertDialog
- TestTextInput state reset
- TextInputClient currentTextEditingValue
- The forgetChild() method must call super
- The Route and Navigator refactoring
- FloatingActionButton and ThemeData’s accent properties