Kotlin programming language is designed for Android and the JVM (Java Virtual Machine), focusing on clarity, interoperability, safety, and tooling support. JetBrain releases Kotlin updates at regular intervals. This time, it has released Kotlin 1.5.30 enriched with the standard library and experimental language features. When it comes to detecting major improvements, the new release stuns with unique language features (changes in using opt-in requirement and experimental sealed when statements), Improved Gradle plugin experience, Kotlin/JS IR backend, and Native support for Apple silicon. Read here more on the newly added and improved features of Kotlin 1.5.30.
Kotlin 1.5.30: New and Upgraded
Kotlin 1.5.30 offers language updates, standard library updates, Kotlin/JVM updates, Kotlin/native updates, Gradle plugin updates, etc.
Language Feature Updates
Exhaustive when statements for sealed subjects – Sealed when statements will let the Kotlin compiler know if the statements are not exhaustive. It will make code safer without introducing your own functions.
Changes to using opt-in requirement annotations – This feature allows you to use and declare opt-in requirement annotations on different targets.
Eliminating builder inference restrictions – This feature removes restrictions associated with a builder inference.
Improvements to type inference concerning recursive generic types – This feature lets the Kotlin 1.5.30 compiler conclude a type argument if it is a recursive generic.
Suspending functions as supertypes – This feature enables you to use the suspend functional types as super interfaces.
Standard Library Updates
Kotlin 1.5.30 is out with improvements to Duration and Regex APIs of the standard library. Some of the improvements include:
Changing Duration.toString() output – The Duration.toString() function will return a string value expressed as a blend of numeric components in its own unit. Before the update, the function was used to return in the unit that produced readable and compact number values.
Splitting Regex to a sequence
The new Regex.splitToSequence() – This function divides the string about matches of the given regex,. The function returns the outcome as a Sequence to execute all operations lazily.
Parsing Duration from String – There are some new functions in the Duration API including parse(), parseIsoString(), parseOrNull(), and parseIsoStringOrNull().
Matching with Regex at a particular position – The new Regex.matchesAt() and Regex.matchAt() functions allow you to check if a regex owns an exact match in a String or CharSequence.
- Instantiation of annotation classes
- Improved nullability annotation support configuration
- Apple silicon support
- Deprecation of linkage against DLLs without import libraries for MinGW targets
- Experimental interoperability with Swift 5.5 async/await
- Improved Kotlin DSL for the CocoaPods Gradle plugin
- Improved Swift/Objective-C mapping for objects and companion objects
Kotlin Multiplatform updates
- Ability to use custom cinterop libraries in shared native code
- New default publishing setup for Android artifacts
- Support for XCFrameworks
- Better debugging experience with the Kotlin/JS IR backend
- JS IR compiler backend reaches Beta
Gradle plugin improvements
- Easier way to explicitly specify Kotlin daemon JVM arguments
- JDK home with UsesKotlinJavaToolchain interface
- Support for Java toolchains
kotlinx.serialization 1.3.0-RC comes with JSON serialization capabilities, including custom class discriminators in polymorphic serialization, Java IO streams serialization, the option to ignore null values from serialization, and property-level control over default values.
Companies looking for advanced Android app solutions can opt for a mobile app development company that relies on Kotlin and uses its new versions like Kotlin 1.5.30. All newly-added and enhanced features of Kotlin will allow developers to get better control and make code safer.
The Kotlin 1.5.30 update will help developers become more productive and write higher-quality apps for Android platforms.
You can make a difference to your app development needs if your developer prefers Andorid’s Kotlin first approach that focuses on safer code, interoperable, expressive and concise, and structured concurrency.