Repository navigation
Releases: CrocSwap/goSVM
Release list
gosvm v0.1.0-alpha.4
Experimental public alpha for Solana and Fogo. This release brings the compiler fixes and SDK capabilities requested by the Hyperlane Go port, incorporating 16 contributor PRs.
Highlights
- Fix slice-to-array conversions with Go's length checks and alias/copy semantics, accept arrays nested in generic type arguments, and repair the standalone memmove build helper.
- Add return-data reads, Keccak-256, secp256k1 public-key recovery, program logging, partial lamport moves, and canonical PDA address search.
- Add PDA-signed System transfers, allocate/assign and pre-funded PDA creation; Token and Token-2022 instruction builders; Token-2022 extended-account and transfer-fee parsing; and associated token account creation with signer or PDA payers.
- Support 64 outgoing CPI account metas and four signer groups. Low-level SDK-2 programs can opt in to 64 incoming accounts with
-max-accounts 64; the default stays unchanged. - Lower bulk copies and zeroing to the runtime memory syscalls on fogo-v0 and solana-v3. ATA creation delegates canonical-address validation to the checked ATA program, avoiding duplicate derivation.
- Match native and SBF return-data overlap traps and document that return data clears before a silent CPI.
Upgrading
SDK-2 snapshots changed. Existing SDK-2 projects need the complete matching SDK snapshot and compiler. There is no in-place SDK refresh command: create a fresh scaffold with this release and migrate your program and schema, preserving your existing source and configuration. Old frozen snapshots are rejected rather than silently mixed.
Rebuild programs: compiled ELF hashes and CU profiles change. The combined reference builds and validation are recorded in the integration evidence. The 64-account option applies to low-level programs; schema-2 account declaration limits are unchanged.
The existing pinned SVM runners remain 0.5.1 (fogo-v0/legacy) and 0.6.0 (solana-v3). No runner upgrade is required for this release.
Install
CLI archives are available for macOS arm64, Linux x86_64 and Linux arm64, with SHA-256 checksums.
curl -fsSL https://github.com/CrocSwap/goSVM/releases/download/v0.1.0-alpha.4/install-release.sh | sh
export PATH="$HOME/.local/bin:$PATH"
gosvm toolchain install
gosvm doctorNative Go tests need Go installed; use Go 1.23 or newer on macOS 26. See the tutorial.
Validation
Full root tests, vet, separate example/service modules, native/C differentials, SBF application and lifecycle fixtures, and Linux/macOS CI passed. All four full-swap/clock2 reference ELFs reproduce byte for byte. The downloaded macOS arm64 archive also passed a fresh-HOME installer/toolchain setup, generated schema-1 and schema-2 native/SBF tests on both targets, and the same four reference ELF rebuilds. All three archive checksums and platform binary formats were verified. These are bounded local-runtime checks, not a public-network qualification of the new SDK operations or a completed Hyperlane port.
The project remains experimental and unaudited; use devnets and testnets, not production funds.
Thanks to Paul Balaji for the compiler and SDK contributions.
gosvm v0.1.0-alpha.3
Experimental public alpha. Install: curl -fsSL https://github.com/CrocSwap/goSVM/releases/download/v0.1.0-alpha.3/install-release.sh | sh — then gosvm toolchain install && gosvm doctor. Built from 7815439.
gosvm v0.1.0-alpha.2
Experimental public alpha. Install: curl -fsSL https://github.com/CrocSwap/goSVM/releases/download/v0.1.0-alpha.2/install-release.sh | sh — then gosvm toolchain install && gosvm doctor. Built from e49559e.
gosvm v0.1.0-alpha.1
Experimental public alpha. Install: curl -fsSL https://github.com/CrocSwap/goSVM/releases/download/v0.1.0-alpha.1/install-release.sh | sh — then gosvm toolchain install && gosvm doctor. Built from 2f0cd85.
SVM runner 0.6.0
Pinned gosvm-svm-runner 0.6.0 archives for gosvm runner install. Each archive's SHA-256 and member digests are embedded in the gosvm CLI; see docs/SVM_RUNNER_PACKAGING.md. Built from d49bb06.
SVM runner 0.5.1
Pinned gosvm-svm-runner 0.5.1 archives for gosvm runner install. Each archive's SHA-256 and member digests are embedded in the gosvm CLI; see docs/SVM_RUNNER_PACKAGING.md. Built from d49bb06.