Update language guide(s) for 3.0
lann opened this issue · 4 comments
Spin 3.0 is dropping support for uncomponentized modules, which impacts some language guides:
- Grain
- Component support is experimental in Grain; see grain-lang/grain#2153
- Need to update example; see updated template: https://github.com/fermyon/spin/pull/2789/files#diff-01f53c72a892731d7a1f85440a7e0050f810b51541174615f3ea901fbe10e466
- Build command needs to change:
grain compile --release --use-start-section ...
- Swift
- Dropping support in Spin 3.0 due to the currently-released SwiftWasm 5.10's very old version of wasi-libc.
- Support is likely to be possible again when Swift 6.0 is released
- Others? Might be good to review some of the more obscure langauges...
Shall we add a bullet to update manifest snippets throughout the language guide as well? The 3.0-related bit is to remove instances of application base config (ref #1394).
@lann what should we do for the Swift language guide at this time? As you've mentioned, Spin 3+ won't run the app (after I updated the example code/manifest locally):
$ spin up
Logging component stdio to ".spin/logs/"
Error: failed to resolve dependencies for component "hello"
Caused by:
0: an error occurred when preparing dependencies
1: This Wasm module appears to have been compiled with wasi-sdk version <19 which contains a critical memory safety bug. For more information, see: https://github.com/fermyon/spin/issues/2552
Do we keep the (updated) example and mention it only functions with Spin 2 and previous? Add a mention that compatibility with Spin 3 may arrive in Swift 6.0? (Any applicable links?)
Do we keep the (updated) example and mention it only functions with Spin 2 and previous? Add a mention that compatibility with Spin 3 may arrive in Swift 6.0?
Sounds reasonable to me!
(Any applicable links?)
No, iirc this is based on me digging around in the SwiftWasm code and seeing that 5.x uses a "bad" version of wasi-libc while 6.0 uses a "good" version.
We've addressed the main languages impacted by Spin 3.0, including updating manifests (bump to v2, remove base option). There are most likely many places where language guide updates are overdue per ecosystem advances, but we can track this elsewhere. Shall we close this one out @lann?