Revised dependencies and update CHANGELOG (#52)
* Call out changes from versions being reverted.
* Add list of patches applied on top of 0.17.0+1.
* Revise dependencies to be a closer match what they were in 0.17.0+1.
* Adjust minimum SDK version to the oldest version that is green on Travis (1.23.0).
* Pin SDK 1.23.0 into Travis version matrix.
diff --git a/.travis.yml b/.travis.yml
index 029d2e2..269df25 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -3,19 +3,17 @@
dart:
- stable
- dev
+ - 1.23.0
addons:
# otherwise a number of tests in test/security/html_sanitizer_test.dart fail
firefox: "latest"
dart_task:
- dartanalyzer: --fatal-warnings .
+ - dartfmt
- test: --platform vm
# Disable parallelism on Firefox (-j 1)
# Causes flakiness – need to investigate
- test: --platform firefox -j 1
-matrix:
- allow_failures:
- # Until Dart 2 becomes stable
- - dart: stable
cache:
directories:
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 9abaede..9330dbd 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -3,9 +3,64 @@
### Breaking Changes
Version 0.21.0 reverts to version 0.17.0+1 with fixes to support Dart 2.
-Versions 0.18, 0.19, and 0.20 were effectively unsupported. This resolves the
-fork that happened at version 0.18 and development can now be supported by the
-authors.
+Versions 0.18, 0.19, and 0.20 were not used by the package authors and
+effectively unsupported. This resolves the fork that happened at version 0.18
+and development can now be supported by the authors.
+
+#### Reverted Changes
+
+(From 0.20.1)
+* Revert add `Observable<List|Set|Map>.unmodifiable` for immutable collections
+* Revert add `Observable<List|Set|Map>.EMPTY` for empty immutable collections
+ * This can be used as an optimization for libraries that always need to return
+ an observable collection, but don't want to allocate a new instance to
+ represent an empty immutable.
+
+(From 0.20.0)
+* Revert add `ObservableSet`, `SetChangeRecord`, and `SetDiffer`
+
+(From 0.19.0)
+* Revert refactor and deprecate `ObservableMap`-specific API
+ * `ObservableMap` no longer emits `#keys` and `#values` change records
+ * `ObservableMap.spy` is deprecated, becomes `.delegate` instead
+* Revert Potentially breaking: `ObservableMap` may no longer be extended
+
+Revert considered deprecated to be notified of `length` changes.
+
+(From 0.18.0)
+* Revert refactor and deprecate `ObservableList`-specific API
+ * `ObservableList.applyChangeRecords`
+ * `ObservableList.calculateChangeRecords`
+ * `ObservableList.withLength`
+ * `ObservableList.deliverListChanges`
+ * `ObservableList.discardListChanges`
+ * `ObservableList.hasListChanges`
+ * `ObservableList.listChanges`
+ * `ObservableList.notifyListChange`
+* Revert potentially breaking: `ObservableList` may no longer be extended
+
+Revert considered deprecated to be notified of `length`, `isEmpty` and
+`isNotEmpty` `PropertyChangeRecord`s on `ObservableList`
+
+#### Changes Applied on top of version 0.17.0+1
+(With internal change numbers)
+
+* Flip deliverChanges from `@protected` to `@visibleForTesting`. cl/147029982
+* Fix a typing bug in observable when running with DDC: `ChangeRecord.NONE`
+ creates a `List<ChangeRecord>`, while the call sites expect a
+ `List<ListChangeRecord>` or `List<MapChangeRecord>`, respectively.
+ cl/155201160
+* Fix `Observable._isNotGeneric` check. cl/162282107
+* Fix issue with type in deliverChanges. cl/162493576
+* Stop using the comment syntax for generics. cl/163224019
+* Fix ListChangeRecord's added getter. Add checks for the added and removed
+ getters in listChangeTests. cl/169261086.
+* Migrate observable to real generic method syntax. cl/170239122
+* Fix only USES_DYNAMIC_AS_BOTTOM error in observable. cl/179946618
+* Cherry pick https://github.com/dart-lang/observable/pull/46.
+* Stub out Dart 2 core lib changes in ObservableMap.
+* Removed `Observable{List|Map}.NONE` (not Dart2 compatible).
+* Fix issue with type in `ObservableList._notifyListChange`. cl/182284033
## 0.20.4+3
diff --git a/pubspec.yaml b/pubspec.yaml
index 868e3c8..c448cfb 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -4,11 +4,11 @@
description: Support for marking objects as observable
homepage: https://github.com/dart-lang/observable
environment:
- sdk: '>=2.0.0-dev.22.0 <2.0.0'
+ sdk: '>=1.23.0 <2.0.0'
dependencies:
- collection: '^1.14.5'
- meta: '^1.1.2'
- quiver: '^0.28.0'
+ collection: '^1.11.0'
+ meta: '^1.0.4'
+ quiver: '>=0.24.0 <0.29.0'
dev_dependencies:
dart_style: '^1.0.9'
- test: '^0.12.30'
+ test: '^0.12.0'