Location:
/build/sdk/guides/deploy_programs/ and /build/sdk/guides/managing_state/ vs. /build/leo/guides/migration-3-5-to-4-0/ and /build/leo/language/cheatsheet/
Problem:
The migration guide explicitly states Leo 4.0 removes transition, async, function, and Future in favor of fn, final, and Final, and the cheatsheet uses the new program hello.aleo { ... } block syntax. But the SDK's Deploy Programs guide still teaches:
program helloworld.aleo {
transition hello(public a: u32, b: u32) -> u32 { ... }
}
and the Managing State guide still uses the pre-4.0 dual-block function transfer_public: ... finalize self.signer r0 r1; model, not the final { ... } block 4.0 introduces.
Consequence:
A developer following the SDK quickstart writes code with transition, hits a compiler error from the current Leo toolchain, and has no signal that they're reading documentation for a deprecated language version. Worse, agents scraping these pages will produce broken code with high confidence because the pages don't carry a version banner.
The fix:
Add a "Leo version" banner to every SDK and example page, rewrite all SDK code samples to 4.0 syntax (fn, final { ... }, program X.aleo { ... }), and cross-link to the migration guide from each affected page. Either that, or fork the SDK guides into "Leo 3.5 (legacy)" and "Leo 4.0" tracks.
Location:
/build/sdk/guides/deploy_programs/and/build/sdk/guides/managing_state/vs./build/leo/guides/migration-3-5-to-4-0/and/build/leo/language/cheatsheet/Problem:
The migration guide explicitly states Leo 4.0 removes
transition,async,function, andFuturein favor offn,final, andFinal, and the cheatsheet uses the newprogram hello.aleo { ... }block syntax. But the SDK's Deploy Programs guide still teaches:and the Managing State guide still uses the pre-4.0 dual-block
function transfer_public: ... finalize self.signer r0 r1;model, not thefinal { ... }block 4.0 introduces.Consequence:
A developer following the SDK quickstart writes code with
transition, hits a compiler error from the current Leo toolchain, and has no signal that they're reading documentation for a deprecated language version. Worse, agents scraping these pages will produce broken code with high confidence because the pages don't carry a version banner.The fix:
Add a "Leo version" banner to every SDK and example page, rewrite all SDK code samples to 4.0 syntax (
fn,final { ... },program X.aleo { ... }), and cross-link to the migration guide from each affected page. Either that, or fork the SDK guides into "Leo 3.5 (legacy)" and "Leo 4.0" tracks.