Skip to content

Releases: nesk/akkurate

Akkurate 0.8.0

24 May 15:07
Compare
Choose a tag to compare

Added

  • Support transforming a value before validating it (#26)
  • New constraint to ensure a collection doesn't contain duplicated elements (#28)
  • New constraints to check if a value is an instance of some type (#27)
  • New accessors to easily validate a specific index of a collection (#29)

Akkurate 0.7.0

09 Feb 13:53
Compare
Choose a tag to compare

⚠️ Breaking changes

Fixed

  • Accessors for mutable properties are no longer improperly cast. (#22)

Akkurate 0.6.0

12 Dec 13:19
Compare
Choose a tag to compare

Added

  • Arrow integration to convert Akkurate validation results to typed errors (#20)

Akkurate 0.5.0

29 Nov 12:40
Compare
Choose a tag to compare

Added

  • New configuration option to fail on the first constraint violation (#19)

Akkurate 0.4.0

30 Oct 12:07
Compare
Choose a tag to compare

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

  • Support iterating over nullable iterables, like Validatable<Iterable<*>?>. (#16)
  • Add constraints to validate additional JVM types: LocalDate, Duration and Period (#7)

Akkurate 0.3.0

16 Oct 11:29
Compare
Choose a tag to compare

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 and kotlin.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

26 Sep 11:07
Compare
Choose a tag to compare

⚠️ 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

Akkurate 0.1.1

21 Sep 17:31
Compare
Choose a tag to compare

Notable changes

Fixed

  • The target version of generated JVM bytecode is now 1.8 instead of 11. (#5)
  • Suppress the warning about useless casts in generated accessors. (#8)

Akkurate 0.1.0

12 Sep 19:06
Compare
Choose a tag to compare

First release of Akkurate, a validation library taking advantage of the expressive power of Kotlin.