Release summary
- We introduced a new re-initialisation mode for static variables. Enable it by setting
compose.reload.staticsReinitializeMode=AllDirtyand share your feedback! - We sped up incremental compilation times when
compose.reload.gradle.build.optimizeis enabled - We added support for
TableSwitchandLookupSwitchinstructions in the bytecode analysis - We optimised memory consumption of the hot reload agent in the runtime
- Simplified support for Gradle isolated projects by @simonlebras 🎉
Gradle
- 020df3b Simplified support for isolated projects
- Isolated projects are now correctly handled without the need to explicitly set a flag
compose.reload.isolatedProjectsEnabledis now deprecated and will be removed in the future
- 5a94395 Enable IC for KMP when
compose.reload.gradle.build.optimizeis set
Analysis
- 2241fbf Introduce
AllDirtymode for statics re-initialisation- By default
compose.reload.staticsReinitializeMode=ChangedOnly, only statics of the changed class are re-initialised - With
compose.reload.staticsReinitializeMode=AllDirty, all static variables that are marked as dirty are re-initialised
- By default
- b871ebe [runtime] memory optimisations
- Introduce custom interning for string constants
- Optimise collections in
MutableApplciationInfo methodDependenciesandfieldDependenciesproperties of theScopeInfoare now deprecated. UsemethodDependenciesListandfieldDependenciesListinstead
- 16b1547 Support TableSwitch and LookupSwitch instructions
- These instruction are now correctly parsed into the
InstructionTreeandScopeInfo
- These instruction are now correctly parsed into the