Releases and compatibility
Which versions go together, which targets each module runs on, and what a build needs. AwakeKt Engine is alpha: the API and the published module set can change between releases.
Release notes are on GitHub Releases.
Versions on this page
| Release train |
Version |
Tags |
Modules |
| Core |
0.19.0 (this documentation version) |
v* |
Every published module except the Vulkan family. All share one version. |
| Vulkan |
0.1.34, built against Core 0.17.0 |
vulkan-v* |
com.awakekt.awake.backend:vulkan, com.awakekt.awake:vulkan-kmp, com.awakekt.awake:vulkan-kmp-android-native |
| WebGPU |
0.19.0-SNAPSHOT, built from Core 0.19.0 |
none; each Core v* tag publishes it |
com.awakekt.awake.backend:webgpu |
The install snippets pair the Vulkan release with the Core release it was built against:
gradle/libs.versions.toml[versions]
awake = "0.17.0"
awake-vulkan = "0.1.34"
Core and Vulkan pairing
| Rule |
Detail |
| Each Vulkan release names the Core release it was built against |
Its POM and Gradle module metadata depend on that exact Core version: the newest stable Core v* tag when the Vulkan release was cut. |
| The newest of each is not always a pair |
A Core release can be newer than every Vulkan release. Core 0.19.0 pairs with Vulkan only once a Vulkan release names it. |
| Check a pair |
Read the Core dependency versions in the Vulkan release's POM on Maven Central. |
| Core releases do not move Vulkan |
A Core release publishes no Vulkan module and changes no Vulkan version. |
| Core never depends on Vulkan |
No published Core module has a main-source dependency on the Vulkan family. |
| Keep Core modules on one version |
Every Core module you declare uses the same awake version. |
| Mixed versions line up for Gradle builds |
Every Core release publishes com.awakekt.awake:bom, which constrains all Core modules to that release. Each Core module, and the Vulkan backend at the Core release it names, depends on it, so a build holding two Core versions resolves every Core module to the newest. Installation shows how to state the version and how a Maven build imports it. |
WebGPU
| Item |
Value |
| Published as |
Snapshot only. It builds on a wgpu4k snapshot, and Maven Central releases cannot depend on a snapshot. |
| Version to use |
<Core release>-SNAPSHOT: each Core release publishes one, built from that release, with every Core module at exactly the release and held there strictly. The newer snapshots main publishes are built against Core snapshots. |
| Repository |
https://central.sonatype.com/repository/maven-snapshots/ for Awake, and https://awakekt.github.io/awake/ for the io.ygdrasil group (wgpu4k), which Sonatype no longer serves |
| Pinned dependencies |
The published module constrains the wgpu4k and webgpu-ktypes snapshots to the builds it was tested with, hosted at the second repository. |
Targets
| Modules |
Android |
Desktop JVM |
iOS (iosArm64, iosSimulatorArm64) |
Web (wasmJs) |
| Every Core module not listed below |
Yes |
Yes |
Yes |
Yes |
backend:jolt |
Yes |
Yes |
Yes |
Yes, through the jolt-physics npm module. Shape casts with a hull, mesh or heightfield throw PhysicsCapabilityException. |
backend:webgpu |
— |
Yes, over wgpu-native |
— |
Yes |
backend:vulkan, vulkan-kmp |
Yes |
Yes |
Yes, through MoltenVK |
— |
vulkan-kmp-android-native |
Yes |
— |
— |
— |
| Platform |
Rendering backend |
| Desktop (JVM) |
Vulkan |
| Android |
Vulkan |
| iOS |
Vulkan through MoltenVK |
Web (wasmJs) |
WebGPU |
Build requirements
Values the engine is built with.
| Item |
Value |
Source |
| Kotlin |
2.4.20 |
gradle/libs.versions.toml |
| JVM toolchain |
17 (backend:webgpu: 25) |
jvmToolchain(...) |
Android minSdk |
33 |
gradle.properties |
Android compileSdk |
35 |
gradle.properties |
Documentation versions
| Item |
Behavior |
| One site per release |
Each Core release publishes a matching documentation version. Pick it in the header's version selector. |
latest |
The newest Core release. |
dev |
Development builds (-dev.* versions). Never promoted to latest. |
See also