Releases: nesk/akkurate
Releases · nesk/akkurate
Akkurate 0.10.0
Added
- kotlinx-datetime integration to validate multiplatform date and time. (#42)
- New
akkurate-test
artifact to test custom constraints. - New constraints to validate types of the kotlin.time package.
Fixed
- Add a
or equal to zero
suffix to the default message forisNegativeOrZero
andisPositiveOrZero
constraints.
Akkurate 0.9.1
Fixed
- Fix name clashes when generating validatable accessors from the common code.
Akkurate 0.9.0
Akkurate is now multiplatform 🎉
⚠️ Breaking changes
- The
ConstraintViolationSet.equals
method is now symmetric and matches what's in the specification.
Added
- Support Kotlin Multiplatform and all its targets (#33)
Changed
- The default violation message of the
isInstanceOf
andisNotInstanceOf
constraints now display the simple name of the type, instead of the qualified one. - The
Validate
annotation has been moved from theakkurate-ksp-plugin
artifact to theakkurate-core
one.
Akkurate 0.8.0
Akkurate 0.7.0
⚠️ Breaking changes
- Scope control has been implemented for Akkurate's DSL (#25)
Fixed
- Accessors for mutable properties are no longer improperly cast. (#22)
Akkurate 0.6.0
Akkurate 0.5.0
Added
- New configuration option to fail on the first constraint violation (#19)
Akkurate 0.4.0
Summary: Easier validation for JVM dates and iterables. Also, the configuration of the validator got revamped.
⚠️ Breaking changes
- The
Configuration
class is now instantiated through a builder DSL (#13) - Mark the API of the KSP plugin as experimental (#13)
- Remove unused
MutablePath
type alias
Added
Akkurate 0.3.0
Summary: @Validate
can be used on generic types, and many accessors are now provided for the basic Kotlin types.
In other news, we now have a dedicated #akkurate channel on Kotlin Slack 🎉 Come join us!
⚠️ Breaking changes
- Validation accessors are generated only for public properties. (#11 #15)
- Accessors are now generated for the properties of the implemented interface when possible, not for the implementation. (#11)
Added
- Provide built-in accessors for
kotlin
andkotlin.collections
packages (#11) - Support generating accessors for generic types (#10)
- A KDoc is provided for each validatable accessor (#6)
Fixed
- Validatable accessors are no longer generated for extension properties
- Skip the generation of accessors in the
kotlin
package, avoiding compilation failures.
Changed
- Propagate the
@Validate
annotation to the nested classes (#11)
Akkurate 0.2.0
⚠️ Breaking changes
- Change visibility of
ValidateAnnotationProcessor.validatableOfFunction
to private. (#12) - Change visibility of
ValidateAnnotationProcessor.validatableClass
to private. (#12)
Added
- Add new constraints (#3):
CharSequence
hasLengthEqualTo
/hasLengthNotEqualTo
isBlank
/isNotBlank
isMatching
/isNotMatching
kotlin.collections
hasSizeNotEqualTo
isEmpty
/isNotEmpty
isContaining
/isNotContaining
Map
isContainingKey
/isNotContainingKey
isContainingValue
/isNotContainingValue
Changed
- Enable Explicit API Mode for the KSP plugin. (#12)