Open
Description
Problem
Now that the sdk is decoupled from agave, we have a lot more freedom to make breaking changes in individual crates.
However, there are still a lot of users of the omnibus crates solana-sdk
and solana-program
, and although we can simply stop updating them ever again, that would cause a lot of churn for downstream developers.
This issue aims to bundle together all of the breaking changes for the next breaking release of solana-sdk
and solana-program
.
Deprecations
- solana-sdk: deprecate modules migrated to agave #94
- deprecate
solana-feature-set-interface
crate #99 - program-error: Deprecate PrintProgramError #102
- Deprecate everything post feature-set migration #101
- precompiles / feature-set / reserved-accounts-keys: remove completely
- transaction: deprecate "precompiles" feature and funcs
- "verify" functions from precompiles
- keypair / signature / ed25519: Deprecate dalek types from public API #107
- secp256k1: Deprecate libsecp256k1 from public interface #114
- secp256r1: Deprecate openssl types in public API #126
- keypair: Deprecate
generate
to avoid public rand dep #166 - Deprecate re-exports more loudly #151
Breaking changes in solana-program
- program-error!: Make ProgramError compatible with pinocchio #12
- Remove re-exports for external crates and program interfaces like solana-system-interface and solana-stake-interface
- Replace
std::error::Error
withcore::error::Error
#116 - msg!: make std optional #105
- program-memory!: Add missing unsafe #120
- remove solana-decode-error #104
- build: Add
js
Cargo feature flag for WASM builds #118 - program-error!: Improve ToStr ergonomics #189
- program-entrypoint!: Space efficient custom panic #142
- program!: Remove all re-exports, update changelog #194
Breaking changes in solana-sdk
All the changes in solana-program, plus:
- solana-transaction-error missed a major version bump #46
- Add the responsible program's account index and inner instruction index to each
InstructionError
#74 - Add Keypair::try_from_base58_string #62
- Bump ed25519-dalek to 2.1.1, ed25519-dalek-bip32 to 0.3.0 #26
- sdk!: Remove re-exports #190
- Create solana-sdk-wasm-js crate #138
- keypair: remove functions that use ed25519-dalek in public API
- secp256k1-program: remove functions that use libsecp256k1 in public API
- ed25519-program: remove functions that use ed25519-dalek in public API
Metadata
Metadata
Assignees
Labels
No labels