# Changes

- Enable nullability annotations for the whole package
- `error`-parameter of `IAsserter<>.Check` is now `[NotNullWhen(false)] out ValidationError? error`
  * The attribute is part of the signature - if you implement that interface, you gotta add the attribute as well
- `IsNotNull`-assertions are allowed for both nullable reference types and nullable value types
  * Most other validations are only allowed for non-nullable types, though - which can cause warnings since `IsNotNull` is not changing the asserted type (as it is not required to break on the first error)
  * To circumvent the "Hey it can be null even though you probably break on the IsNotNull-assertion"-warnings, you can use the following pattern:

```csharp
Validator.Check()
  .That(myValue).IsNotNull()
  .That(myValue!).IsNotEmpty();
```