Releases: ansman/kotshi
Releases · ansman/kotshi
2.0-rc1
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
1.0.5
1.0.4
1.0.3
1.0.2
1.0.1
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:
1.0.0
0.3.0
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)