WowSpi
@RequiresOptIn(message = "Wow SPI for backend and transport implementations: a minor release may change it.", level = RequiresOptIn.Level.WARNING)
@Target(allowedTargets = [AnnotationTarget.CLASS, AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY, AnnotationTarget.TYPEALIAS] )
Marks a service provider interface: a declaration that storage, transport and query backend implementations build on, not one that applications call. It is public and keeps its binary signature within a minor line, but a minor release (x.Y.0) may change it, with the change named in the release notes. Using it requires @OptIn(WowSpi::class) (or the -opt-in=me.ahoo.wow.api.annotation.WowSpi compiler option); without it the compiler warns.
Declarations that are not even an extension point carry InternalWowApi instead.