- perf: improve equality comparison performance (#173)
- docs: improve snippet in
README
(#184) - chore: upgrade example to Dart >=3.5.0
- chore: add funding and topics to
pubspec.yaml
(#176) - chore: add performance benchmarks
- chore: fix typo in inline API docs (#170)
- refactor: simplify
toString
logic (#140) - docs: add nullable props example to
README
- refactor: update
analysis_options.yaml
(#169) - fix: add
@immutable
toEquatableMixin
(#154)
- fix: resolves
T not a subtype of type 'Comparable<dynamic>'
when computinghashCode
- fix: use
SplayTreeSet
to resolve inconsistenthashCode
for properties of typeSet
(#142)
- fix: revert
EquatableMixin
== to useObject
(#122)
- fix:
Map
prop with non-comparable key
- fix:
hashCode
should be the same for equal objects (Map
fix)
- BREAKING: opt into null safety
- feat!: upgrade Dart SDK constraints to
>=2.12.0-0 <3.0.0
- feat!: upgrade Dart SDK constraints to
- BREAKING: stringify prints "null" for null properties instead of ""
- feat:
EquatableConfig.stringify
defaults totrue
in debug mode. - fix: support legacy equality overrides with
EquatableMixin
- fix: iterable equality comparisons (#101)
- fix: stringify instance with long properties (#94)
- chore: update dependencies
collection: ^1.15.0
meta: ^1.3.0
- docs: minor updates to
README
andexample
- feat:
EquatableConfig.stringify
defaults totrue
in debug mode. - fix: support legacy equality overrides with
EquatableMixin
- chore: update dependencies
collection: ^1.15.0
meta: ^1.3.0
- BREAKING: stringify prints "null" for null properties instead of ""
- BREAKING: opt into null safety
- feat!: upgrade Dart SDK constraints to
>=2.12.0-0 <3.0.0
- docs: minor updates to
README
andexample
- docs: dartdoc improvements (#80)
- docs: minor inline documentation improvements
- fix:
EquatableMixin
stringify respectsEquatableConfig.stringify
(#81)
- docs: inline, public documentation improvements (#78).
- refactor: stricter analysis/lint rules
- Documentation badge fixes and updates
- Fix
hashCode
computation forIterables
(#74) - Minor documentation improvements
- Added
EquatableConfig
for globalstringify
configuration (#69)
- Updates to
EquatableUtils
documentation
- Fix
hashCode
error whenprops
isnull
(#45) - Added
stringify
feature (optionaltoString
override) (#45)
- Fix
hashCode
collisions for lists within props (#53)
- Fix internal lint warnings
- Fix
hashCode
collisions withMap
properties (#43)
- Update hashCode implementation to use
Jenkins Hash
(#39) - Documentation Updates
- Minor documentation updates
- The
props
getter override is required for bothEquatable
andEquatableMixin
- Performance Improvements
- Allow const constructors on
Equatable
class
- Removed
EquatableMixinBase
(now covered byEquatableMixin
). - Typed
EquatableMixin
fromList<dynamic>
toList<Object>
to fix linter issues withimplicit-dynamic: false
.
Update toString
to default to runtimeType
(#27)
Enforce Immutability (#25)
Improved support for collection types (#19)
Improved support for Iterable
, List
, Map
, and Set
props (#17)
Additional Minor Documentation Updates
Documentation Updates
Bug Fixes:
Equatable
instances that are equal now have the samehashCode
(#8)
Update Dart support to >=2.0.0 <3.0.0
Add EquatableMixin
and EquatableMixinBase
Enhancements to toString
override
equatable has 0 dependencies
Support Iterable
props
Added toString
override
Documentation Updates
- Performance Tests
Additional Performance Optimizations & Documentation Updates
Performance Optimizations
Bug Fixes
Additional Updates to Documentation.
- Logo Added
Minor Updates to Documentation.
Initial Version of the library.
- Includes the ability to extend
Equatable
and not have to override==
andhashCode
.