github JetBrains/amper v0.8.0
0.8.0

one day ago

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

Don't miss a new amper release

NewReleases is sending notifications on new releases.