Full Changelog: v0.7.0...v0.8.0
See our release blog post for the highlights, and to learn about the tooling improvements.
Breaking changes
- AMPER-317 — Remove legacy
app
product type - AMPER-4436 — Use current working dir by default in './amper run', and provide a CLI option to override it
- AMPER-4439 — Change cache directory from .../Amper to .../JetBrains/Amper
- AMPER-4441 — Remove Gradle-based Amper
- AMPER-4442 — Update default Compose version to 1.8.2
- AMPER-4520 — Simplify fragment hierarchy in android/app and jvm/app modules
- AMPER-4633 — Update default kotlinx.serialization version to 1.9.0
- AMPER-4634 — Update default Ktor version to 3.2.3
- AMPER-4635 — Update default Spring Boot version to 3.5.5
- AMPER-4637 — Update default Kotlin version to 2.2.10
- AMPER-4638 — Update default KSP version to 2.2.10-2.0.2
- AMPER-4690 — Update default Android compileSdk to API level 36
Tip
Our cache directory location changed! It's now nested under the JetBrains
directory with other JetBrains tools. To save disk space, feel free to clean up the old Amper
cache one directory above. To find where the shared cache is on your machine, run ./amper --help
and check the default value for --shared-caches-root
.
Warning
As previously announced, the Gradle plugin for Gradle-based Amper projects has now been removed, and there was no 0.8.0 publication of this plugin. Please give a try to the standalone Amper build tool and let us know what you think!
New features
- AMPER-424 — Make the Kotlin Compiler version configurable
- AMPER-503 — Possibility to resolve artifacts from a local repository (e.g. maven local)
- AMPER-652 — Add support for kotlin-power-assert
- AMPER-3938 — Firework support (Compose Hot Reload)
- AMPER-4026 — CLI command that shows the dependency graph
- AMPER-4307 — Make JUnit Console Launcher version customizable
- AMPER-4355 — Java annotation processing support
- AMPER-4429 — Spring Hot Swap support
- AMPER-4432 — Interactive module selection for ./amper show settings
- AMPER-4469 — Add support for Android SDK API level 36
- AMPER-4521 — Introduce jvm/lib product type
- AMPER-4534 — Add freeCompilerArgs for the java compiler
- AMPER-4597 — Make lombok version configurable
- AMPER-4599 — Support libs.versions.toml at the project root in addition to gradle/libs.versions.toml
- AMPER-4636 — Make Compose hot reload version configurable
- AMPER-4645 — Add 'web' fragment, shared between js and wasmJs
- AMPER-4649 — Add support of wasmWasi platform
Tip
If you have JVM-only lib
modules, try out our new jvm/lib
product type! It simplifies the overall experience.
Cosmetics
- AMPER-4433 — Markdown code spans background is too intense on light theme in CLI help
- AMPER-4547 — Screen flickers during multi-target builds
Usability improvements
- AMPER-669 — Provide explanation why CLI needs to download JDK
- AMPER-814 — './amper publish' publishes ALL modules by default
- AMPER-4408 — Disable 'Setting value is redundant' diagnostic for default values
- AMPER-4444 — Report curl errors to stderr
- AMPER-4527 — Report unresolved modules
- AMPER-4559 — Warn when the JVM release is lower than local dependencies
- AMPER-4587 — Support/Fix/Enable
View assertEquals Difference
in test runs - AMPER-4588 — Amper should populate expected and actual attributes in the failed test event
- AMPER-4605 — Rearrange built-in spring version catalog
- AMPER-4643 — Remove obsolete Compose version alignment diagnostic
- AMPER-4661 — Do not drop the whole model if one module has broken product type
Performance improvements
- AMPER-3911 — Use coroutines debug agent instead of dynamic ByteBuddy install
Fixed bugs
- AMPER-4241 — Android tests in a KMP library missing Android platform declarations
- AMPER-4376 — Specifying release variant for iOS build makes it skip build task
- AMPER-4422 — Unspecified version of exported dependency from dependent module is not resolved
- AMPER-4427 — Fix the path of annotation processing generating sources
- AMPER-4447 — Can't resolve dependency on io.github.dokar3:sonner:0.3.8 for runtime classpath of Android application
- AMPER-4471 — clean command doesn't complete successfully on Red Hat Enterprise Linux 8.10
- AMPER-4472 — Fail to resolve dependency on 'org.codehaus.plexus:plexus-container-default:1.0-alpha-9-stable-1'
- AMPER-4492 — Misleading test output from CLI
- AMPER-4505 — Amper accepts aliases instead of real property names in module files
- AMPER-4515 — ISE when reading module.yaml with unresolved template
- AMPER-4539 — Enabling
settings.jvm.storeParameterNames
fails native compilation - AMPER-4546 — IllegalStateException when configuring JVM specific freeCompilerArgs
- AMPER-4560 — Unable to resolve dependency com.fasterxml.jackson.core:jackson-databind:2.19.2
- AMPER-4562 — Android tests fail in a multi-module project
- AMPER-4571 — settings.kotlin.linkerOpts is not taken into account
- AMPER-4572 — Spring dependency resolving: Missing 'Modulith'
- AMPER-4579 — KotlinX Deserialization of POM files is too strict
- AMPER-4581 — Changes in annotation processorOptions do not lead to recompilation
- AMPER-4583 — Removing sources generated by a Java annotation processor do not cause recompilation
- AMPER-4598 — Incorrect enum value for JavaVersion has non-human readable error message
- AMPER-4651 — Do not create fragments for empty aliases
- AMPER-4664 — Unable to build due to unresolved variables in URL