Fix internal bug around listChanges (#30)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 8f04e16..6522d8f 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,7 @@
+## 0.20.4
+
+* Bug fix: Additional fix around `ObservableList.listChanges`
+
 ## 0.20.3
 
 * Bug fix: Avoid emitting an empty list via `ObservableList.listChanges`
diff --git a/lib/src/collections/observable_list.dart b/lib/src/collections/observable_list.dart
index 515818d..bd92555 100644
--- a/lib/src/collections/observable_list.dart
+++ b/lib/src/collections/observable_list.dart
@@ -216,9 +216,11 @@
   bool get hasListObservers => _listChanges.hasObservers;
 
   @override
-  Stream<List<ListChangeRecord<E>>> get listChanges => _listChanges.changes
-      .map((r) => projectListSplices(this, r))
-      .where((c) => c.isNotEmpty);
+  Stream<List<ListChangeRecord<E>>> get listChanges {
+    return _listChanges.changes
+        .map((r) => projectListSplices(this, r))
+        .where((r) => r.isNotEmpty && r != ChangeRecord.ANY);
+  }
 
   @override
   void notifyListChange(
diff --git a/pubspec.yaml b/pubspec.yaml
index 93afdf4..8377703 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -1,5 +1,5 @@
 name: observable
-version: 0.20.2
+version: 0.20.4
 author: Dart Team <misc@dartlang.org>
 description: Support for marking objects as observable
 homepage: https://github.com/dart-lang/observable