Skip to content

Releases: ansman/kotshi

2.0-rc1

25 Mar 21:43
Compare
Choose a tag to compare
2.0-rc1 Pre-release
Pre-release

This is a major release of Kotshi that includes breaking changes.

Changes:

  • Kotshi now understands and generates Kotlin code. No more ugly annotations are needed for multiple constructors or custom getter names.
  • Only data classes are allowed.
  • Regular default values in Kotlin is now the only way to provide default values, all other annotations have been removed.
    * The processor is now incremental which should yield a performance boost when using Kotlin 1.3.30 and above.
  • The adapter factory is not generated in a deterministic order which allows it to be cached more efficiently.

1.0.6

13 Dec 16:18
Compare
Choose a tag to compare
  • Update to kotlin 1.3.11 (#105)
  • Fix a crash that would happens when only generic adapters are used (#103)

1.0.5

16 Sep 03:59
dcd201b
Compare
Choose a tag to compare
  • Remove unused java formatter (#95)
    • This was causing issues with the Android Jetifier and it wasn't being used anyway.
  • Update to Kotlin 1.2.70 (#96)

1.0.4

14 May 19:02
Compare
Choose a tag to compare
  • Fix an issue that caused errors when using default values and wildcards (#87)
  • Add support for getters present in a superclass (#88)
  • Implement support for empty classes (#89)
  • Update to Kotlin 1.2.40 (#84)

1.0.3

17 Apr 12:02
Compare
Choose a tag to compare

Changes:

  • Add Generated annotation to types. (#71)
  • Add support for @transient modifier (#79)
  • Update to Kotlin 1.2.31 (#69)
  • Fix a bug regarding getter name matching (#75)

1.0.2

28 Feb 19:03
Compare
Choose a tag to compare

This version fixes some problems with wildcards when using Any or Object as
the upper or lower bound.

Changes:

  • Treat wildcards as the upper/lower bound (#68)

1.0.1

20 Feb 14:23
Compare
Choose a tag to compare

Due to what seems to be a bug in kapt the 1.0.0 way of implementing the factory
seems to have some issues. This releases also allows, and recommends, the pre
1.0.0 way of implementing the factory until the kapt issue has been resolved.
If the 1.0.0 way has worked for you it can be used in future releases too.

Changes:

  • Fix a bug when using generics with wildcards (#64)
  • Allow the pre 1.0 way of implementing the factory (#63)

1.0.0

08 Feb 14:39
Compare
Choose a tag to compare

Changes:

  • Let the generated adapters implement toString (#52)
  • Update to Kotlin 1.2.21 (#55)
  • Change how you implement the adapter factory (#56)

0.3.0

03 Jan 13:32
Compare
Choose a tag to compare

General changes:

  • Kotshi now supports default values (#10)
  • Update to Kotlin 1.2.10 (#38)
  • Strings are now treated as a primitive and an adapter is not used unless specifically requested. (#32)
  • Fixed a bug that caused adapters to not be requested for primitives when qualifiers were used. (#32)
  • Fix a bug where the generated code would not compile due to name conflicts. (#21)
  • Fix a bug that would generate uncompilable code when using a generic type with default values. (#12)
  • The generated code is now prettier and faster.

Code changes:

  • Read object opening before initializing locals. (#15)
  • When writing null, perform an early return. (#16)
  • Eliminate superfluous null check on allowed-nullable values. (#17)
  • Remove explicit null check for boxed primitives in writer. (#18)
  • Wrap the JSON name strings onto one per-line. (#19)
  • Generated factory should be package-private. (#24)
  • Skip emitting constructor when no adapters are needed. (#36)
  • Emit long literals with a "L" type suffix. (#45)
  • Add some aesthetic newline spaces in the generated file. (#44)
  • Implement support for supplying default values for properties (#10)
  • Update to Kotlin 1.2.0 (#11)
  • Fix a bug that caused uncompilable code to be generated (#12)
  • Use NameAllocator for adapter fields, locals (#21)
  • Treat strings as primitive values and skip adapters per default (#32)
  • Handle properties names as java keywords such as default better (#37)
  • Update to Kotlin 1.2.10 (#38)
  • Fix an issue with generics being used as generic type arguments (#42)
  • Skip generating a helper boolean if it's not needed (#43)

0.3.0-beta3

22 Dec 23:00
Compare
Choose a tag to compare
0.3.0-beta3 Pre-release
Pre-release

Changes since beta2:

  • Skip emitting constructor when no adapters are needed. (#36)
  • Handle properties names as java keywords such as default better (#37)
  • Update to Kotlin 1.2.10 (#38)
  • Fix an issue with generics being used as generic type arguments (#42)