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
- Make solana-program re-export deprecations louder for solana-system-interface, solana-stake-interface,
Breaking changes in solana-program
- 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 - make std optional in solana-msg #105
- program-memory: Add missing unsafe #120
- deprecate DecodeError and stop using it #104
- build: Add
js
Cargo feature flag for WASM builds #118
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 - Re-remove transaction-context, which was added back with Add back the
solana_sdk::transaction_context
module #95 - Add Keypair::try_from_base58_string #62
- keypair: remove functions that use ed25519-dalek in public API
- Bump ed25519-dalek to 2.1.1, ed25519-dalek-bip32 to 0.3.0 #26
- 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