Update the signature for RecordingRandomAccessFile._close due to chan… (#78)

* Update the signature for RecordingRandomAccessFile._close due to changes in dart:io.
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 268adc9..cf70d35 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,9 @@
+#### 4.0.0 
+
+* Change method signature for `RecordingRandomAccessFile._close` to return a 
+  `Future<void>` instead of `Future<RandomAccessFile>`. This follows a change in 
+  dart:io, Dart SDK `2.0.0-dev.40`.
+
 #### 3.0.0
 
 * Import `dart:io` unconditionally. More recent Dart SDK revisions allow
diff --git a/lib/src/backends/record_replay/recording_random_access_file.dart b/lib/src/backends/record_replay/recording_random_access_file.dart
index 5e5146a..d616dfe 100644
--- a/lib/src/backends/record_replay/recording_random_access_file.dart
+++ b/lib/src/backends/record_replay/recording_random_access_file.dart
@@ -77,7 +77,7 @@
   RandomAccessFile _wrap(RandomAccessFile raw) =>
       raw == delegate ? this : new RecordingRandomAccessFile(fileSystem, raw);
 
-  Future<RandomAccessFile> _close() => delegate.close().then(_wrap);
+  Future<void> _close() => delegate.close();
 
   Future<RandomAccessFile> _writeByte(int value) =>
       delegate.writeByte(value).then(_wrap);
diff --git a/pubspec.yaml b/pubspec.yaml
index bbb01b8..b621ad0 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -1,5 +1,5 @@
 name: file
-version: 3.0.0
+version: 4.0.0
 authors:
 - Matan Lurey <matanl@google.com>
 - Yegor Jbanov <yjbanov@google.com>
@@ -16,4 +16,4 @@
   test: ^0.12.18
 
 environment:
-  sdk: '>=1.24.0 <2.0.0'
+  sdk: '>=2.0.0-dev.28.0 <2.0.0'