5.3 KiB
5.3 KiB
kotlinx-metadata-jvm
0.4.0
- Update to Kotlin 1.6 with metadata version 1.6, support reading/writing metadata of version 1.7 which will be used in Kotlin 1.7.
- Add
JvmPropertyExtensionVisitor.visitSyntheticMethodForDelegatefor optimized delegated properties (KT-39055). - Add JVM-specific class flags:
JvmClassExtensionVisitor.visitJvmFlagsJvmFlag.Class.HAS_METHOD_BODIES_IN_INTERFACEJvmFlag.Class.IS_COMPILED_IN_COMPATIBILITY_MODE
KT-48965Make the type ofKmValueParameter.typenon-nullKmType- Remove unused
JvmTypeAliasExtensionVisitorandJvmValueParameterExtensionVisitor - Fix type flags (suspend, definitely non-null) on underlying type of inline class available via
KmClass.inlineClassUnderlyingType
0.3.0
- Update to Kotlin 1.5 with metadata version 1.5. Note: metadata of version 1.5 is readable by Kotlin compiler/reflection of versions 1.4 and later.
- Breaking change: improve API of annotation arguments.
KmAnnotationArgumentdoesn't haveval value: Tanymore, it was moved to a subclass namedKmAnnotationArgument.LiteralValue<T>. The propertyvalueis:- renamed to
annotationinAnnotationValue - renamed to
elementsinArrayValue - removed in favor of
enumClassName/enumEntryNameinEnumValue - removed in favor of
className/arrayDimensionCountinKClassValue - changed type from signed to unsigned integer types in
UByteValue,UShortValue,UIntValue,ULongValue
- renamed to
KT-44783Add Flag.IS_VALUE for value classes- Breaking change:
Flag.IS_INLINEis deprecated, useFlag.IS_VALUEinstead
- Breaking change:
- Breaking change: deprecate
KotlinClassHeader.bytecodeVersionandKotlinClassHeader's constructor that takes a bytecode version array. Related to 'KT-41758`. KT-45594KClass annotation argument containing array of classes is not read/written correctlyKT-45635Add underlying property name & type for inline classes
0.2.0
- 'KT-41011` Using KotlinClassMetadata.Class.Writer with metadata version < 1.4 will write incorrect version requirement table
- Breaking change:
KotlinClassMetadata.*.Writer.writethrows exception onmetadataVersionearlier than 1.4.0. Note: metadata of version 1.4 is readable by Kotlin compiler/reflection of versions 1.3 and later.
- Breaking change:
- Breaking change:
KotlinClassMetadata.*.Writer.writeno longer acceptbytecodeVersion. KT-42429Wrong interpretation of Flag.Constructor.IS_PRIMARY- Breaking change:
Flag.Constructor.IS_PRIMARYis deprecated, useFlag.Constructor.IS_SECONDARYinstead
- Breaking change:
KT-37421Add Flag.Class.IS_FUN for functional interfaces- Add
KmModule.optionalAnnotationClassesfor the new scheme of compilation of OptionalExpectation annotations in multiplatform projects (KT-38652)
0.1.0
KT-26602Provide a value-based API
0.0.6
KT-31308Add module name extensions to kotlinx-metadata-jvmKT-31338Retain "is moved from interface companion" property flag in kotlinx-metadata-jvm- Breaking change: JvmPropertyExtensionVisitor.visit has a new parameter
jvmFlags: Flags
- Breaking change: JvmPropertyExtensionVisitor.visit has a new parameter
- Correctly write "null" constant value in effect expression of a contract
- Rename
descparameters tosignaturein JvmFunctionExtensionVisitor, JvmPropertyExtensionVisitor, JvmConstructorExtensionVisitor - Do not expose KmExtensionType internals
- Add KmExtensionVisitor.type to get dynamic type of an extension visitor
0.0.5
KT-25371Support unsigned integers in kotlinx-metadata-jvmKT-28682Wrong character replacement in ClassName.jvmInternalName of kotlinx-metadata-jvm
0.0.4
KT-25920Compile kotlinx-metadata-jvm with JVM target bytecode version 1.6 instead of 1.8KT-25223Add JvmFunctionExtensionVisitor.visitEndKT-26188Do not pass field signature for accessor-only properties
0.0.3
- Support metadata of local delegated properties (see
JvmDeclarationContainerExtensionVisitor.visitLocalDelegatedProperty) KT-24881Use correct class loader in kotlinx-metadata to load MetadataExtensions implementationsKT-24945Relocate package org.jetbrains.kotlin to fix IllegalAccessError in annotation processing
0.0.2
- Change group ID from
org.jetbrains.kotlintoorg.jetbrains.kotlinx - Depend on a specific version of kotlin-stdlib from Maven Central instead of snapshot from Sonatype Nexus
- Use
JvmMethodSignatureandJvmFieldSignatureto represent JVM signatures instead of plain strings
0.0.1
- Initial release