CodeAssist 3.9.6
馃殌 CodeAssist 3.9.6
BUILD
- Java records build. A project with a
recordin it, or a dependency carrying one, failed dexing with "Attempt to create a global synthetic for 'Record desugaring'". Records now dex and merge normally. - Two bundled processors on one module. Declaring two of Room, Moshi, Hilt or Glide failed source generation with "Duplicate class". Each bundle ships its own copy of the shared libraries, and the first one on the classpath now wins, on device exactly as it does on desktop.
- Library sources are published again, so parameters from third-party Java libraries read as their real names instead of
p0/p1, and Go to Source opens real source instead of decompiling. - Extension points for build systems. Plugins can contribute build tasks, import a foreign build system's files into the project model, and write dependency declarations back into the build files. The Gradle path now runs through the same seams a third-party importer would.
ANNOTATION PROCESSORS
- A runtime too old for the bundled processor is reported up front. Pinning an older Hilt used to produce a wall of "cannot be resolved" errors in every generated file. The build now names the missing symbol and the coordinate to bump, before any processor runs.
- A banner in the editor shows the same problem on project open, with no file open, offering Update (or Downgrade) to the version the IDE bundles, or Build anyway if you want to proceed regardless. It lays out properly on a phone, and several affected modules collapse behind one row.
SIGNING
- Keystores a current
keytoolproduced now import. They failed on device with "SecretKeyFactory not available" because Android's crypto provider has no PBKDF2..jksfiles could not be opened at all. Both formats are read now, and the imported key keeps its identity and fingerprints.
KOTLIN
import okhttp3.MediaType.Companion.toMediaTypethen"application/json".toMediaType()no longer reads as unresolved. That is the standard OkHttp and Retrofit idiom.- An unimported
LocalContext(or any Capitalized top-levelval, which is every CompositionLocal) is now flagged, with an import lightbulb. - An
objectis colored as an object everywhere it is used, not just where it is declared, whatever case it is named in.
EDITOR
- A horizontal scrollbar, on by default, under Settings -> Editor. It appears only when a line runs past the right edge, and it costs the document no height.
- Panning diagonally no longer stalls when the drag starts near the drawer edge.
- A press left resting on the screen no longer swallows the swipe that follows it.
PERFORMANCE
- The project, module, library and resource dexing scopes now run at the same time instead of one after another, so a single-input scope no longer leaves every other worker idle.
- A dexed library records that it is complete, so warm builds and the layout preview stop re-proving it file by file.
- External libraries can be dexed into the shared cache before you ever start a build.
Full changelog: https://github.com/tyron12233/CodeAssist/releases/tag/v3.9.6