All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Fluent API for input assertions via
Assert.field()entry point - String assertions:
notBlank(),minLength(),maxLength(),matches(),email(),url(),uuid() - Number assertions (Integer, Long, Float, Double, BigDecimal):
min(),max(),positive(),strictlyPositive() - Collection assertions:
notEmpty(),maxSize(),noNullElement() - Map assertions:
notEmpty(),maxSize() - Date/Time assertions (LocalDate, Instant):
inPast(),inFuture(),before(),after() - UUID assertions:
notNull(),isVersion(),isNotNil() - Custom predicates via
satisfies()on all asserters - Typed exception hierarchy with rich metadata:
AssertionException(base class withfield(),type(),parameters())MissingMandatoryValueException,StringTooShortException,StringTooLongExceptionNumberValueTooLowException,NumberValueTooHighExceptionTooManyElementsException,NullElementInCollectionExceptionNotBeforeTimeException,NotAfterTimeExceptionUUIDIsNilException,UUIDVersionMismatchException
- Minimum Java version updated to 17 (LTS)
- Initial release with core assertion functionality
- Publication to Maven Central