-
-
Notifications
You must be signed in to change notification settings - Fork 212
Release notes 1.3.0 draft
- New Features
- Fixes
- Improvements
- Deprecation
- Breaking Changes
- Migrating deprecated functionality
- Sponsors
Full Changelog: https://github.com/robstoll/atrium/compare/v1.2.0...v1.3.0
- none this time
- none this time
- none this time
- simpler creation of Proofs (compared to Assertions) by incorporating the ProofContainer into the builder.
- use a tree-like builder for creating Proofs (thanks to @vlsi for the idea)
- none this time
- better error Reporting
-
everything related with Assertion (Assertion, AssertionGroup, AssertionFormatter, assertionBuilder etc. etc.) was deprecated and will be removed with 2.0.0 at the latest -> switch to Proof, see Migration for hints
-
everything related to Translatable (Untranslatable, TranslatableWithArgs) => use Text or another InlineElement
- all Description...Expectation -> switch to Description...Proof => you can use the provided ReplaceWith (see also Migration for hints)
-
everything in atrium-logic, we moved the functionality to core and will drop this module in the future (with 2.0.0 at the latest)
We will make a major refactoring on core and logic level. Those changes should not affect most Atrium users. It might affect you if you:
- created own expectation function based on
assertionBuilder
or other types which are defined in core or logic. - use an own expectation verb
- we will drop the support for internationalization with 1.4.0, all functions involving Translatable will be deprecated in v1.3.0
- might be we drop
en_GB
from package names - might be we move BulletPointProvider to another package
Migration steps/pointers will be provided in the release notes as usual.
The following changes are planned:
- replace
Assertion
withProof
and along with it rename many types incorporating Assertion in its name or in its package's name => we will remove Assertion and co. with 1.5.0 at the latest) - re-write reporting entirely, a lot of types in
ch.tutteli.atrium.reporting
will be affected (could be we move this to 1.3.0)
Planned (previously deprecated or announced)
=> TODO check what we did
- we will drop support for translating the output - API might persist until 2.0.0 but we might already only use UsingDefaultTranslator
- we might introduce interface groups for ReporterBuilder - binary compatibility break
- BulletPointProvider might use a BulletPointIdentifier from a different package
- we might drop the experimental expectExtension such as
expect(...).withOptions
provide it in a different form
Unplanned
- We switched from Translatable to InlineElement in few places which is source but not binary backward compatible => please re-compile
- we changed the toString representation of Text, never rely on toString of any class in Atrium, the outcome is never considered part of the public API
- AtriumError.create now expects the causingProof, this should most likely not affect you but in case you create AtriumErrors on your own, add the Proof from which the error results.
breaking internal changes (no guarantees given, stated here in case you still used some of it):
- FeatureExpectImpl renamed parameter
assertions
toproofs
=> you might need to rename your named arguments
- we will remove deprecated functionality in
impl
packages (sometimes without replacement). As always there are no backward compatibility guarantees for classes inimpl
packages, use at your own risk.
Use the ReplaceWith in the corresponding @Deprecated
annotations.
Please have a look at older release-notes in case you don't migrate from 1.0.0
We would like to thank (Tegonal Cooperative, Bern, Switzerland) for sponsoring the time @robstoll is working on Atrium.
Are you using Atrium at work?
Please consider to support the project as well by:
- sponsoring robstoll (Author and main contributor)
- share your expectation functions with others
- report bugs
- provide feedback in case you miss a feature