Upgrade Xcode, the Android SDK or Lucent
A new SDK is read again on the next build; lucent sdk diff lists what it changes for your code. A new Lucent needs lucent doctor, a build, and an app rebuild.
Xcode or the Android SDK
Section titled “Xcode or the Android SDK”Nothing to do. SDK types are cached per SDK version, so a new Xcode or android.jar is read again on the next build. Your code is then checked against the new SDK, and errors name what changed.
npx lucent sdk prefetchThis reads the new SDK's modules ahead of time, instead of during the first build. lucent clean --cache empties the cache, if it takes too much space.
Lucent
Section titled “Lucent”npm i -D @lucent-lang/lucent@latestnpx lucent doctornpx lucent buildlucent doctorchecks that every Lucent package in the app supports the new version.- Rebuild the app, after
pod installon iOS: the C++ runtime is part of the native package. - Lucent is experimental, and APIs change without a migration path. Read the release notes first.
Pin the SDKs
Section titled “Pin the SDKs”npx lucent sdk locknpx lucent build --frozennpx lucent sdk difflucent sdk lockrecords the SDKs and the SDK members your code uses inlucent-sdk.lock.json. Commit it. It needs the SDK of every platform your project has code for;--platforms ioslocks iOS alone.--frozenfails when an SDK or dependency differs from the lock. It also fails when a platform the lock lists has no SDK installed, or would be left to the Gradle build. Use it in CI and for releases, with--platforms androidon a machine that only builds Android.lucent sdk difflists what the installed SDKs remove or change among the members your code uses, before you rebuild the app.--alladds the other members of those modules.
After changing Android dependencies, run lucent build first: it resolves the new classpath that sdk diff compares.