diffutil_dart
Calculate the difference between two lists as list of edit operations. Used for example for implicitly animating Flutter lists without having to maintain a StatefulWidget.
5.0.0
174K downloads/mo
#904 most downloaded on pub.dev
knaeckeKami/diffutil.dart
What this package is like to depend on
Last release 2 months ago
06 Jun 2026
Release timing varies
gaps range from 6 weeks to 2.5 years
Most releases are documented
notes for 16 of 18 stable releases
Nothing withdrawn
no release was ever pulled
7 years old
24 releases · first in 2020
1 release in the last 12 months
see the full history below
Release timeline
24 releases · Feb 2020 to Jun 2026Releases
latest 24-
5.0.006 Jun 2026Release notes
Open source →- BREAKING: optimize exact diff calculation by trimming matching suffixes before running Myers. This keeps diffs minimal, but duplicate-heavy lists may now choose a different valid anchor/update position than 4.x.
- Improve common diff performance by reusing typed-data buffers for k-lines/status arrays and interning larger non-aligned list diffs.
- Add an AOT/JIT benchmark harness under
tool/bench/bench.dart. - Add hash-collision regression tests for both update APIs.
-
4.0.116 Dec 2023 -
4.0.009 Jul 2023Release notes
Open source →- Fix bug that caused wrong update list to be returned when the list would contain duplicate items (see https://github.com/knaeckeKami/diffutil.dart/issues/15)
- BREAKING: add sealed class modifiers to data classes, require Dart 3.0
-
3.0.028 Oct 2021Release notes
Open source →- added
DiffResult::getUpdatesWithData. To make this work, following changes have been made:- The functions
calculateDiff(),calculateListDiff,calculateCustomListDiffnow have an additional generic type parameter. This is a breaking change (if you usedcalculateCustomListDiffwith a single explicit type parameter, it now has two) DiffResulthas now a generic type parameter for the type of the data of the underlying lists
- The functions
- added
-
2.0.020 Mar 2021 -
2.0.0+120 Mar 2021Nothing published for this version
-
2.0.0-nullsafety.020 Nov 2020 pre-release -
1.0.210 Oct 2020 -
1.0.123 Jul 2020 -
1.0.023 Jul 2020Release notes
Open source →Major revamp to make the libary more Dart-y and less cumbersome to use!
-
Add ability to calculate the changeset as list of DiffUpdate object, where each object is of type Insert, Remove, Change or Insert
-
Ability to turn off changeset batching (See README for an explanation on changeset batching)
-
Improved the example
-
Deprecated the old way the get the changeset via ListUpdateCallback.
-
-
1.0.0-alpha21 May 2020 pre-releaseNothing published for this version
-
1.0.0-alpha+121 May 2020 pre-releaseNothing published for this version
-
1.0.0-alpha+221 May 2020 pre-releaseNothing published for this version
-
1.0.0-alpha+321 May 2020 pre-releaseNothing published for this version
-
1.0.0-alpha+422 Jul 2020 pre-releaseNothing published for this version
-
0.1.007 Feb 2020Release notes
Open source →- Fix bug in move detection
- Tighten up privacy of instance variables that were unnecessarily public
- add tests
-
0.1.0+109 Feb 2020 -
0.0.702 Feb 2020 -
0.0.602 Feb 2020 -
0.0.502 Feb 2020 -
0.0.402 Feb 2020 -
0.0.302 Feb 2020 -
0.0.202 Feb 2020 -
0.0.102 Feb 2020Nothing published for this version