blob: 22731cb284797977af1ff92c7a5ff7b878b449ee [file] [log] [blame] [view]
## 0.6.1
* Drop support for null unsafe Dart, bump SDK constraint to `3.0.0`.
* Make some implementation classes `final`. These classes were never intended to
be extended or implemented. `Metadata`, `PlatformSelector`, `RemoteListener`,
`Runtime`, `StackTraceFormatter`, `SuitePlatform`, `RemoteException`,
`TestHandle`, `OutstandingWork`, `OutsideTestException`, `OnPlatform`,
`Retry`, `Skip`, `Tags`, `TestOn`, `Timeout`.
* Mark an implementation class `interface`: `StackTraceMapper`.
* Change the `Compiler` class into an `enum`.
* Make `Fake` a `mixin class`.
* Allow the latest analyzer (6.x.x).
## 0.6.0
* Remove the `package:test_api/expect.dart' library. `test` will export from
`package:matcher` directly.
* Fix compatibility with wasm number semantics.
## 0.5.2
* Remove deprecation for the `scaffolding.dart` and `backend.dart` libraries.
* Export `registerException` from the `scaffolding.dart` library.
## 0.5.1
* Handle a missing `'compiler'` value when running a test compiled against a
newer `test_api` than the runner back end is using. The expectation was that
the json protocol is only used across packages compatible with the same major
version of the `test_api` package, but `flutter test` does not check the
version of packages in the pub solve for user test code.
## 0.5.0
* Add `Compiler` class, exposed through `backend.dart`.
* Support compiler identifiers in platform selectors.
* Add `compiler` field to `SuitePlatform`. This will become required in the next
major release.
* **BREAKING** Add required `defaultCompiler` and `supportedCompilers` fields
to `Runtime`.
* Add `package:test_api/hooks_testing.dart` library for writing tests against
code that uses `package:test_api/hooks.dart`.
* **BREAKING** Remove `ErrorFormatter`, `expectAsync`, `throws`, and `Throws`
from `package:test_api/test_api.dart`.
## 0.4.18
* Don't run `tearDown` until the test body and outstanding work is complete,
even if the test has already failed.
## 0.4.17
* Deprecate `throwsNullThrownError`, use `throwsA(isA<TypeError>())` instead.
The implementation has been changed to ease migrations.
* Deprecate `throwsCyclicInitializationError` and replace the implementation
with `Throws(TypeMatcher<Error>())`. The specific exception no longer exists
and there is no guarantee about what type of error will be thrown.
## 0.4.16
* Add the `experimental-chrome-wasm` runtime. This is very unstable and will
eventually be deleted, to be replaced by a `--compiler` flag. See
https://github.com/dart-lang/test/issues/1776 for more information on future
plans
* Add `isWasm` field to `Runtime` (defaults to `false`).
## 0.4.15
* Expand the pubspec description.
* Support `package:matcher` version `0.12.13`.
## 0.4.14
* Require Dart >= 2.18.0
* Support the latest `package:analyzer`.
## 0.4.13
* Fix `printOnFailure` output to be associated with the correct test.
## 0.4.12
* Internal cleanup.
## 0.4.11
* Support the latest version of `package:matcher`.
## 0.4.10
* Add `Target` to restrict `TestOn` annotation to library level.
## 0.4.9
* Add `ignoreTimeouts` option to `Suite`, which disables all timeouts for all
tests in that suite.
## 0.4.8
* `TestFailure` implements `Exception` for compatibility with
`only_throw_exceptions`.
## 0.4.7
* Remove logging about enabling the chain-stack-traces flag from the invoker.
## 0.4.6
* Give a better exception when using `markTestSkipped` outside of a test.
* Format stack traces if a formatter is available when serializing tests
and groups from the remote listener.
## 0.4.5
* Add defaulting for older test backends that don't pass a configuration for
the `allow_duplicate_test_names` parameter to the remote listener.
## 0.4.4
* Allow disabling duplicate test or group names in the `Declarer`.
## 0.4.3
* Use the latest `package:matcher`.
## 0.4.2
* Update `analyzer` constraint to `>=1.5.0 <3.0.0`.
## 0.4.1
* Give a better error when `printOnFailure` is called from outside a test
zone.
## 0.4.0
* Add libraries `scaffolding.dart`, and `expect.dart` to allow importing as
subset of the normal surface area.
* Add new APIs in `hooks.dart` to allow writing custom expectation frameworks
which integrate with the test runner.
* Add examples to `throwsA` and make top-level `throws...` matchers refer to it.
* Disable stack trace chaining by default.
* Fix `expectAsync` function type checks.
* Add `RemoteException`, `RemoteListener`, `StackTraceFormatter`, and
`StackTraceMapper` to `backend.dart`.
* **Breaking** remove `Runtime.phantomJS`
* **Breaking** Add callback to get the suite channel in the `beforeLoad`
callback of `RemoteListener.start`. This is now used in place of using zones
to communicate the value.
## 0.3.0
* **Breaking** `TestException.message` is now nullable.
* Fixes handling of `null` messages in remote exceptions.
## 0.2.20
* Fix some strong null safety mode errors in the original migration.
## 0.2.19
* Stable release for null safety.
## 0.2.19-nullsafety.7
* Expand upper bound constraints for some null safe migrated packages.
## 0.2.19-nullsafety.6
* Fix `spawnHybridUri` to respect language versioning of the spawned uri.
## 0.2.19-nullsafety.5
* Update SDK constraints to `>=2.12.0-0 <3.0.0` based on beta release
guidelines.
## 0.2.19-nullsafety.4
* Allow prerelease versions of the 2.12 sdk.
## 0.2.19-nullsafety.3
* Add capability to filter to a single exact test name in `Declarer`.
* Add `markTestSkipped` API.
## 0.2.19-nullsafety.2
* Allow `2.10` stable and `2.11.0-dev` SDKs.
* Annotate the classes used as annotations to restrict their usage to library
level.
## 0.2.19-nullsafety
* Migrate to NNBD.
* The vast majority of changes are intended to express the pre-existing
behavior of the code regarding to handling of nulls.
* **Breaking Change**: `GroupEntry.name` is no longer nullable, the root
group now has the empty string as its name.
* Add the `Fake` class, available through `package:test_api/fake.dart`. This
was previously part of the Mockito package, but with null safety it is useful
enough that we decided to make it available through `package:test`. In a
future release it will be made available directly through
`package:test_api/test_api.dart` (and hence through
`package:test_core/test_core.dart` and `package:test/test.dart`).
## 0.2.18+1 (Backport)
* Fix `spawnHybridUri` to respect language versioning of the spawned uri.
## 0.2.18
* Update to `matcher` version `0.12.9`.
## 0.2.17
* Add `languageVersionComment` on the `MetaData` class. This should only be
present for test suites.
## 0.2.16
* Deprecate `LiveTestController.liveTest`, the `LiveTestController` instance now
implements `LiveTest` and can be used directly.
## 0.2.15
* Cancel any StreamQueue that is created as a part of a stream matcher once it
is done matching.
* This fixes a bug where using a matcher on a custom stream controller and
then awaiting the `close()` method on that controller would hang.
* Avoid causing the test runner to hang if there is a timeout during a
`tearDown` callback following a failing test case.
## 0.2.14
* Bump minimum SDK to `2.4.0` for safer usage of for-loop elements.
## 0.2.13
* Work around a bug in the `2.3.0` SDK by avoiding for-loop elements at the top
level.
## 0.2.12
* Link to docs on setting timeout when a test times out with the default
duration.
* No longer directly depend on `package:pedantic`.
## 0.2.11
* Extend the timeout for synthetic tests, e.g. `tearDownAll`.
## 0.2.10
* Update to latest `package:matcher`. Improves output for instances of private
classes.
## 0.2.9
* Treat non-solo tests as skipped so they are properly reported.
## 0.2.8
* Remove logic which accounted for a race condition in state change. The logic
was required because `package:sse` used to not guarantee order. This is no
longer the case.
## 0.2.7
* Prepare for upcoming `Stream<List<int>>` changes in the Dart SDK.
* Mark `package:test_api` as deprecated to prevent accidental use.
## 0.2.6
* Don't swallow exceptions from callbacks in `expectAsync*`.
* Internal cleanup - fix lints.
* Fixed a race condition that caused tests to occasionally fail during
`tearDownAll` with the message `(tearDownAll) - did not complete [E]`.
## 0.2.5
* Expose the `Metadata`, `PlatformSelector`, `Runtime`, and `SuitePlatform`
classes publicly through a new `backend.dart` import.
## 0.2.4
* Allow `stream_channel` version `2.0.0`.
## 0.2.3
* Update to matcher version `0.12.5`.
## 0.2.2
* Require Dart SDK `>=2.1.0`.
## 0.2.1
* Add `remote_listener.dart` and `suite_channel_manager.dart`.
## 0.2.0
* Remove "runner" extensions.
## 0.1.1
* Update `stack_trace_formatter` to fold `test_api` frames by default.
## 0.1.0
* Initial release of `test_api`. Provides the basic API for writing tests and
touch points for implementing a custom test runner.