2024-09-02
- Enhancement: Better handle error types and round deferral for generated types.
2024-08-31
- New: Add option to disable contributes subcomponent handling. This can be useful if working in a codebase or project that doesn't use
@ContributeSubcomponent
and thus doesn't need to scan the classpath for them while merging. More details can be found in the## Options
section ofFORK.md
. - Enhancement: Improve hint caching during contribution merging. Hints from the classpath are now only searched for once rather than every round.
- Enhancement: Improve error messaging when class lookups fail.
- Fix: Don't use
ClassName.toString()
forKSClassDeclaration
lookups. - Fix: Ensure round processing is correctly reset if no
@ContributeSubcomponent
triggers are found in a given round. This was an edge case that affected projects with custom code generators that generated triggers in a later round.
2024-08-22
- Significantly improve performance during component merging.
- Add a new
anvil-ksp-verbose
KSP option to enable verbose logging, such as timing information. - Fix: Sort contributed interfaces when merging to ensure build cache idempotence. This also adds a few defensive stable sorts for other areas.
- Fix: Fix resolution of nested class generics in constructor injection.
2024-08-13
- Source
AnvilKspExtension.supportedAnnotationTypes
in contribution merging when deciding when to defer.
2024-08-12
- Significantly improve error messaging when encountering error types. All these cases should now also show the location of the error type in source and ease debugging.
2024-08-08
- Fix: Use more unique names for default parent component functions.
- Fix: Strip
ABSTRACT
modifiers if present when overriding component-returning functions.
2024-08-08
- Fix: Correctly track inputs to KSP command line options so they don't result in incorrect task build cache hits.
- Fix: Don't set default AnvilExtension property values until after all properties are initialized.
2024-08-08
- Fix: Don't cache symbols between processing rounds. This better supports KSP2.
- Fix: Workaround Kotlin plugin option parsing limitations. Contributing annotations should now be colon-delimited, and the underlying KSP argument is changed to a more consistent
anvil-ksp-extraContributingAnnotations
.
2024-08-07
- New: Introduce an
AnvilKspExtension
API. See instructions here. - Fix: Allow contribution merging if factory generation is enabled.
2024-08-03
Initial release of Anvil KSP. See FORK.md for more information and installation instructions.
For past Anvil release notes, see the original changelog: https://github.com/square/anvil/blob/main/CHANGELOG.md#250-beta09---2024-05-09