🧑‍✈ Version control and key management for Solana programs.

Related tags

Cryptography captain
Overview

captain 🧑‍✈️

Crates.io License Build Status Contributors

Version control and key management for Solana programs.

  • Automatic versioning of program binaries based on Cargo
  • Separation of deployer and authority keys
  • Per-cluster configuration
  • Reusable and custom program addresses
  • (optional) Integration with Anchor IDLs

Setup

Install via Cargo like so:

cargo install --git https://github.com/saber-hq/captain --force

Then, in your directory containing your root Cargo.toml, run the following command:

captain init

Usage

A Captain workflow works like so:

  1. Build your latest programs via captain build
  2. Deploy any new programs with captain deploy
  3. Upgrade any new programs with captain upgrade

Build

First, build your programs using the command:

captain build

This runs anchor build -v if you have Anchor installed, and cargo build-bpf if you don't have Anchor installed.

Deploy

Once your new program is ready to be deployed to the blockchain, run:

captain deploy --program <program> --network <network>

where:

  • <network> is one of mainnet, devnet, testnet, localnet, or debug
  • <program> is the name of your program in the target/deploy/ directory. You can view a list of all available programs using the command captain programs.

This does several things for you:

  • Deploys the program
  • Sets the deployer of the program to the upgrade_authority of <network> in your Captain.toml file
  • If Anchor is installed, uploads the IDLs and sets the authority to the upgrade_authority

Upgrading

If you need to make changes to your program, you can run:

captain upgrade --program <program> --network <network>

This performs the following actions:

  • Writes a new program buffer
  • Replaces the existing program buffer with this new buffer using the upgrade authority
  • (WIP) If Anchor is installed, uploads the new IDL

Support

For support, join the Saber Discord at chat.saber.so!

License

Apache-2.0

Comments
  • Bump serde from 1.0.127 to 1.0.134

    Bump serde from 1.0.127 to 1.0.134

    Bumps serde from 1.0.127 to 1.0.134.

    Release notes

    Sourced from serde's releases.

    v1.0.134

    • Improve error messages on deserializing NonZero integers from a 0 value (#2158)

    v1.0.133

    • Optimize deserialization of data structures that contain recursive use of flatten fields or tag or untagged enums (#2148)

    v1.0.132

    • Enable Serialize and Deserialize impls for std::sync::atomic::{AtomicI64, AtomicU64} on riscv64 arch (#2141, thanks @​Avimitin)

    v1.0.131

    • Avoid unused_results being triggered in generated code for adjacently tagged enum (#2116, thanks @​tyranron)

    v1.0.130

    • Provide MapAccess and SeqAccess impl for reference to a dynamically sized existing impl (#2081)

    v1.0.129

    • Support deserialization of remote structs that used packed repr (#2078, #2079, #2080)

    v1.0.128

    Commits
    • 3bb4a5a Release 1.0.134
    • 6164627 Merge pull request #2159 from serde-rs/nonzero
    • 51aaf49 Write better Visitor for NonZero integers
    • bc66aeb Add tests of deserializing NonZero
    • 7e7044d Ignore clippy in number conversion tests
    • 5498dc0 Add tests of num conversion errors
    • ff04e8b Improve coverage of num conversion in test suite
    • 69240c1 Eliminate macro from serialization tests
    • 237434f Accept ?Sized references in assert_ser_tokens
    • 1833914 Eliminate macro from deserialization error tests
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies rust 
    opened by dependabot[bot] 1
  • Bump solana-sdk from 1.7.10 to 1.8.13

    Bump solana-sdk from 1.7.10 to 1.8.13

    Bumps solana-sdk from 1.7.10 to 1.8.13.

    Release notes

    Sourced from solana-sdk's releases.

    Mainnet - v1.8.13

    This is a stable release suitable for use on Mainnet Beta

    Changes

    • Packets received on the TPU Forwards port are no longer re-forwarded
    • Optimizes Packet drops in SigVerify Stage (thanks to @​buffalu!)
    • Improves metrics

    Mainnet - v1.8.12

    This is a stable release suitable for use on Mainnet Beta

    Changes

    • Improves Executor cache performance
    • Improves BigTable query reliability
    • Supports native builds on Apple M1 devices
    • Support offline signing for CLI vote account management subcommands
    • Bumps rbpf to v0.2.21, bpf-tools to v1.20
    • Various stability, performance, instrumentation and documentation improvements

    Mainnet - v1.8.11

    This is a stable release suitable for use on Mainnet Beta

    Changes

    • [validator] Upgraded solana_rbpf crate 0.2.11 -> 0.2.19. This brings in a bunch of changes to the way solana programs compiled to the BPF instruction set are validated and run:

      • Don't accept programs with overlapping ELF read-only sections
      • Fix: Unchecked integer arithmetic in elf.rs
      • Adds some new checks which are utilized by the validator code base
      • Ignore rest bytes at the end of the instruction stream
      • Fix R_BPF_64_64 relocation handling
      • Fix verifier shift instruction overflows imm value
      • Stops reseeding the JIT diversification rng
      • Fix JIT instruction meter in syscall & unresolved symbol exceptions
      • Implement handling of R_BPF_64_64 relocations used in ld_imm64
      • Adds a stopwatch to JIT to allow precise time measurements by instrumentation
      • Stop Inlining Address Translation
      • Fixes a bug in the instruction meter of JIT
      • Fix ELF Symbol Parsing Performance
      • Machinecode Diversification in JIT
      • Use mmap instead of memalign
      • Fix libc error detection
      • Unify BPF verifiers
      • Fixes incorrect target_pc calculation
      • Improve .bss reporting
      • Fixes reporting of PC in JIT when jumping into LDDW
      • Add Missing target_pc Check in ELF Symbol Loader
    • [cli] cli will perform extra checks before allowing a program to be uploaded: reject_unresolved_syscalls, verify_shift32_imm, reject_section_virtual_address_file_offset_mismatch, but will not verify_mul64_imm_nonzero.

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies rust 
    opened by dependabot[bot] 1
  • Bump clap from 3.0.0-beta.2 to 3.0.10

    Bump clap from 3.0.0-beta.2 to 3.0.10

    Bumps clap from 3.0.0-beta.2 to 3.0.10.

    Release notes

    Sourced from clap's releases.

    v3.0.10

    [3.0.10] - 2022-01-18

    Fixes

    • Resolve panic! from v3.0.8 when using global_setting(PropagateVersion).

    v3.0.9

    [3.0.9] - 2022-01-17

    Features

    • Added App::find_subcommand_mut

    v3.0.8

    [3.0.8] - 2022-01-17

    Fixes

    • Respected DisableColoredHelp on cmd help help
    • Provide a little more context when completing arguments for cmd help
    • Provide more context for some asserts
    • Small documentation improvements

    v3.0.7

    [3.0.7] - 2022-01-12

    Fixes

    • Shift more asserts from parsing to App building (ie will now run in App::debug_assert)

    derive

    • Documentation fixes

    v3.0.6

    [3.0.6] - 2022-01-10

    Fixes

    derive

    • Don't assume user does use clap::ArgEnum (#3277)
    • Documentation fixes

    v3.0.5

    [3.0.5] - 2022-01-05

    Fixes

    ... (truncated)

    Changelog

    Sourced from clap's changelog.

    [3.0.10] - 2022-01-18

    Fixes

    • Resolve panic! from v3.0.8 when using global_setting(PropagateVersion).

    [3.0.9] - 2022-01-17

    Features

    • Added App::find_subcommand_mut

    [3.0.8] - 2022-01-17

    Fixes

    • Respected DisableColoredHelp on cmd help help
    • Provide a little more context when completing arguments for cmd help
    • Provide more context for some asserts
    • Small documentation improvements

    [3.0.7] - 2022-01-12

    Fixes

    • Shift more asserts from parsing to App building (ie will now run in App::debug_assert)

    derive

    • Documentation fixes

    [3.0.6] - 2022-01-10

    Fixes

    derive

    • Don't assume user does use clap::ArgEnum (#3277)
    • Documentation fixes

    [3.0.5] - 2022-01-05

    Fixes

    docs:

    • Cleaned up code blocks in tutorials (#3261)
    • Clean up quotes in ArgMatches asserts
    • List correct replacement for deprecated Parser::from_clap (#3257)

    [3.0.4] - 2022-01-04

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies rust 
    opened by dependabot[bot] 1
  • Bump clap from 3.0.0-beta.2 to 3.0.8

    Bump clap from 3.0.0-beta.2 to 3.0.8

    Bumps clap from 3.0.0-beta.2 to 3.0.8.

    Release notes

    Sourced from clap's releases.

    v3.0.8

    [3.0.8] - 2022-01-17

    Fixes

    • Respected DisableColoredHelp on cmd help help
    • Provide a little more context when completing arguments for cmd help
    • Provide more context for some asserts
    • Small documentation improvements

    v3.0.7

    [3.0.7] - 2022-01-12

    Fixes

    • Shift more asserts from parsing to App building (ie will now run in App::debug_assert)

    derive

    • Documentation fixes

    v3.0.6

    [3.0.6] - 2022-01-10

    Fixes

    derive

    • Don't assume user does use clap::ArgEnum (#3277)
    • Documentation fixes

    v3.0.5

    [3.0.5] - 2022-01-05

    Fixes

    docs:

    • Cleaned up code blocks in tutorials (#3261)
    • Clean up quotes in ArgMatches asserts
    • List correct replacement for deprecated Parser::from_clap (#3257)

    v3.0.4

    [3.0.4] - 2022-01-04

    Features

    • For very limited cases, like cargo, expose ArgMatches::is_valid_arg to avoid panicing on undefined arguments

    v3.0.3

    [3.0.3] - 2022-01-04

    ... (truncated)

    Changelog

    Sourced from clap's changelog.

    [3.0.8] - 2022-01-17

    Fixes

    • Respected DisableColoredHelp on cmd help help
    • Provide a little more context when completing arguments for cmd help
    • Provide more context for some asserts
    • Small documentation improvements

    [3.0.7] - 2022-01-12

    Fixes

    • Shift more asserts from parsing to App building (ie will now run in App::debug_assert)

    derive

    • Documentation fixes

    [3.0.6] - 2022-01-10

    Fixes

    derive

    • Don't assume user does use clap::ArgEnum (#3277)
    • Documentation fixes

    [3.0.5] - 2022-01-05

    Fixes

    docs:

    • Cleaned up code blocks in tutorials (#3261)
    • Clean up quotes in ArgMatches asserts
    • List correct replacement for deprecated Parser::from_clap (#3257)

    [3.0.4] - 2022-01-04

    Features

    • For very limited cases, like cargo, expose ArgMatches::is_valid_arg to avoid panicing on undefined arguments

    [3.0.3] - 2022-01-04

    Fixes

    • Specify cause of debug assert failure

    [3.0.2] - 2022-01-04

    ... (truncated)

    Commits
    • ccbbba8 chore: Release
    • 6817a9c docs: Update changelog
    • ffe6bff Merge pull request #3305 from epage/help
    • 4a43b51 fix(complete): Handle help completions
    • e962ad8 fix(help): Always respect DisableColoredHelp
    • 807ddbb refactor: Build help subcommand separately
    • 729f4e7 refactor: Make subcommand propagation reusable
    • 3620cad Merge pull request #3297 from kornelski/track_asserts
    • d52b326 Merge pull request #3302 from whfuyn/master
    • fbbd70c docs: Fix mismatched `
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies rust 
    opened by dependabot[bot] 1
  • Bump clap from 3.0.0-beta.2 to 3.0.7

    Bump clap from 3.0.0-beta.2 to 3.0.7

    Bumps clap from 3.0.0-beta.2 to 3.0.7.

    Release notes

    Sourced from clap's releases.

    v3.0.7

    [3.0.7] - 2022-01-12

    Fixes

    • Shift more asserts from parsing to App building (ie will now run in App::debug_assert)

    derive

    • Documentation fixes

    v3.0.6

    [3.0.6] - 2022-01-10

    Fixes

    derive

    • Don't assume user does use clap::ArgEnum (#3277)
    • Documentation fixes

    v3.0.5

    [3.0.5] - 2022-01-05

    Fixes

    docs:

    • Cleaned up code blocks in tutorials (#3261)
    • Clean up quotes in ArgMatches asserts
    • List correct replacement for deprecated Parser::from_clap (#3257)

    v3.0.4

    [3.0.4] - 2022-01-04

    Features

    • For very limited cases, like cargo, expose ArgMatches::is_valid_arg to avoid panicing on undefined arguments

    v3.0.3

    [3.0.3] - 2022-01-04

    Fixes

    • Specify cause of debug assert failure

    v3.0.2

    [3.0.2] - 2022-01-04

    Fixes

    ... (truncated)

    Changelog

    Sourced from clap's changelog.

    [3.0.7] - 2022-01-12

    Fixes

    • Shift more asserts from parsing to App building (ie will now run in App::debug_assert)

    derive

    • Documentation fixes

    [3.0.6] - 2022-01-10

    Fixes

    derive

    • Don't assume user does use clap::ArgEnum (#3277)
    • Documentation fixes

    [3.0.5] - 2022-01-05

    Fixes

    docs:

    • Cleaned up code blocks in tutorials (#3261)
    • Clean up quotes in ArgMatches asserts
    • List correct replacement for deprecated Parser::from_clap (#3257)

    [3.0.4] - 2022-01-04

    Features

    • For very limited cases, like cargo, expose ArgMatches::is_valid_arg to avoid panicing on undefined arguments

    [3.0.3] - 2022-01-04

    Fixes

    • Specify cause of debug assert failure

    [3.0.2] - 2022-01-04

    Fixes

    • Ignore Last when checking hyphen values (see #3249 for details)
    • Help catch bugs with #[must_use]

    [3.0.1] - 2022-01-03

    Fixes

    ... (truncated)

    Commits
    • 3d8ce3f chore: Release
    • 0439dc2 docs: Update changelogs
    • b200a86 Merge pull request #3288 from epage/assert
    • 37f47dd docs: Add completion changelogs
    • b98e8ec docs(derive): Args doesn't derive IntoApp
    • de275e7 fix: Run more parse asserts during build
    • df0e6d8 Merge pull request #3285 from cherryblossom000/elvish-0.17
    • 6d27488 fix(complete): Use Elvish v0.17 lambda syntax
    • 63a3667 docs(derive): Link ref to tutorial / examples
    • 6b3248f docs(derive): Link tutorial to reference
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies rust 
    opened by dependabot[bot] 1
  • Bump clap from 3.0.0-beta.2 to 3.0.6

    Bump clap from 3.0.0-beta.2 to 3.0.6

    Bumps clap from 3.0.0-beta.2 to 3.0.6.

    Release notes

    Sourced from clap's releases.

    v3.0.6

    [3.0.6] - 2022-01-10

    Fixes

    derive

    • Don't assume user does use clap::ArgEnum (#3277)
    • Documentation fixes

    v3.0.5

    [3.0.5] - 2022-01-05

    Fixes

    docs:

    • Cleaned up code blocks in tutorials (#3261)
    • Clean up quotes in ArgMatches asserts
    • List correct replacement for deprecated Parser::from_clap (#3257)

    v3.0.4

    [3.0.4] - 2022-01-04

    Features

    • For very limited cases, like cargo, expose ArgMatches::is_valid_arg to avoid panicing on undefined arguments

    v3.0.3

    [3.0.3] - 2022-01-04

    Fixes

    • Specify cause of debug assert failure

    v3.0.2

    [3.0.2] - 2022-01-04

    Fixes

    • Ignore Last when checking hyphen values (see #3249 for details)
    • Help catch bugs with #[must_use]

    v3.0.1

    [3.0.1] - 2022-01-03

    Fixes

    • Don't panic when getting number of values (#3241)
    • Don't warn when using default_value_t derive attribute with a Subcommand (#3245)

    ... (truncated)

    Changelog

    Sourced from clap's changelog.

    [3.0.6] - 2022-01-10

    Fixes

    derive

    • Don't assume user does use clap::ArgEnum (#3277)
    • Documentation fixes

    [3.0.5] - 2022-01-05

    Fixes

    docs:

    • Cleaned up code blocks in tutorials (#3261)
    • Clean up quotes in ArgMatches asserts
    • List correct replacement for deprecated Parser::from_clap (#3257)

    [3.0.4] - 2022-01-04

    Features

    • For very limited cases, like cargo, expose ArgMatches::is_valid_arg to avoid panicing on undefined arguments

    [3.0.3] - 2022-01-04

    Fixes

    • Specify cause of debug assert failure

    [3.0.2] - 2022-01-04

    Fixes

    • Ignore Last when checking hyphen values (see #3249 for details)
    • Help catch bugs with #[must_use]

    [3.0.1] - 2022-01-03

    Fixes

    • Don't panic when getting number of values (#3241)
    • Don't warn when using default_value_t derive attribute with a Subcommand (#3245)

    Documentation

    • Added name attribute to ArgEnum variant derive reference

    [3.0.0] - 2021-12-31

    ... (truncated)

    Commits
    • 811fd6a chore: Release
    • c494da9 chore: Share a tag between clap / clap_derive
    • 29cecfa docs: Update changelog
    • 984fc16 Merge pull request #3277 from epage/arg_enum
    • 3326a11 fix(derive): Don't assume use clap::ArgEnum
    • b9a1876 Merge pull request #3275 from xylous/master
    • c5ace9a docs(derive): Clarify what can be used with flatten
    • fe56bb1 doc(derive): Clarify need to do long_about = None
    • e2f4d28 fix(complete): Add newline at end of zsh output
    • ef823bb chore: Release
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies rust 
    opened by dependabot[bot] 1
  • Bump solana-sdk from 1.7.10 to 1.8.12

    Bump solana-sdk from 1.7.10 to 1.8.12

    Bumps solana-sdk from 1.7.10 to 1.8.12.

    Release notes

    Sourced from solana-sdk's releases.

    Mainnet - v1.8.12

    This is a stable release suitable for use on Mainnet Beta

    Changes

    • Improves Executor cache performance
    • Improves BigTable query reliability
    • Supports native builds on Apple M1 devices
    • Support offline signing for CLI vote account management subcommands
    • Bumps rbpf to v0.2.21, bpf-tools to v1.20
    • Various stability, performance, instrumentation and documentation improvements

    Mainnet - v1.8.11

    This is a stable release suitable for use on Mainnet Beta

    Changes

    • [validator] Upgraded solana_rbpf crate 0.2.11 -> 0.2.19. This brings in a bunch of changes to the way solana programs compiled to the BPF instruction set are validated and run:

      • Don't accept programs with overlapping ELF read-only sections
      • Fix: Unchecked integer arithmetic in elf.rs
      • Adds some new checks which are utilized by the validator code base
      • Ignore rest bytes at the end of the instruction stream
      • Fix R_BPF_64_64 relocation handling
      • Fix verifier shift instruction overflows imm value
      • Stops reseeding the JIT diversification rng
      • Fix JIT instruction meter in syscall & unresolved symbol exceptions
      • Implement handling of R_BPF_64_64 relocations used in ld_imm64
      • Adds a stopwatch to JIT to allow precise time measurements by instrumentation
      • Stop Inlining Address Translation
      • Fixes a bug in the instruction meter of JIT
      • Fix ELF Symbol Parsing Performance
      • Machinecode Diversification in JIT
      • Use mmap instead of memalign
      • Fix libc error detection
      • Unify BPF verifiers
      • Fixes incorrect target_pc calculation
      • Improve .bss reporting
      • Fixes reporting of PC in JIT when jumping into LDDW
      • Add Missing target_pc Check in ELF Symbol Loader
    • [cli] cli will perform extra checks before allowing a program to be uploaded: reject_unresolved_syscalls, verify_shift32_imm, reject_section_virtual_address_file_offset_mismatch, but will not verify_mul64_imm_nonzero. This will prevent programs with certain kinds of errors that would prevent them from running successfully from even being uploaded to the block chain.

    • Removed some hacks (vtable_send_sync_plus_one and REPORT_UNRESOLVED_SYMBOL_INDEX) for code cleanliness

    • [validator] Implemented use of the new solana_rbpf safety checks in the validator when loading and executing BPF programs, enabled by features:

        | check                                               | feature                                             |
      

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies rust 
    opened by dependabot[bot] 1
  • Bump clap from 3.0.0-beta.2 to 3.0.5

    Bump clap from 3.0.0-beta.2 to 3.0.5

    Bumps clap from 3.0.0-beta.2 to 3.0.5.

    Release notes

    Sourced from clap's releases.

    v3.0.5

    [3.0.5] - 2022-01-05

    Fixes

    docs:

    • Cleaned up code blocks in tutorials (#3261)
    • Clean up quotes in ArgMatches asserts
    • List correct replacement for deprecated Parser::from_clap (#3257)

    v3.0.4

    [3.0.4] - 2022-01-04

    Features

    • For very limited cases, like cargo, expose ArgMatches::is_valid_arg to avoid panicing on undefined arguments

    v3.0.3

    [3.0.3] - 2022-01-04

    Fixes

    • Specify cause of debug assert failure

    v3.0.2

    [3.0.2] - 2022-01-04

    Fixes

    • Ignore Last when checking hyphen values (see #3249 for details)
    • Help catch bugs with #[must_use]

    v3.0.1

    [3.0.1] - 2022-01-03

    Fixes

    • Don't panic when getting number of values (#3241)
    • Don't warn when using default_value_t derive attribute with a Subcommand (#3245)

    Documentation

    • Added name attribute to ArgEnum variant derive reference

    v3.0.0

    Note: clap v3 has been in development for several years and has changed hands multiple times. Unfortunately, our changelog might be incomplete, whether in changes or their motivation.

    ... (truncated)

    Changelog

    Sourced from clap's changelog.

    [3.0.5] - 2022-01-05

    Fixes

    docs:

    • Cleaned up code blocks in tutorials (#3261)
    • Clean up quotes in ArgMatches asserts
    • List correct replacement for deprecated Parser::from_clap (#3257)

    [3.0.4] - 2022-01-04

    Features

    • For very limited cases, like cargo, expose ArgMatches::is_valid_arg to avoid panicing on undefined arguments

    [3.0.3] - 2022-01-04

    Fixes

    • Specify cause of debug assert failure

    [3.0.2] - 2022-01-04

    Fixes

    • Ignore Last when checking hyphen values (see #3249 for details)
    • Help catch bugs with #[must_use]

    [3.0.1] - 2022-01-03

    Fixes

    • Don't panic when getting number of values (#3241)
    • Don't warn when using default_value_t derive attribute with a Subcommand (#3245)

    Documentation

    • Added name attribute to ArgEnum variant derive reference

    [3.0.0] - 2021-12-31

    Note: clap v3 has been in development for several years and has changed hands multiple times. Unfortunately, our changelog might be incomplete, whether in changes or their motivation.

    Highlights

    A special thanks to the maintainers, contributors, beta users, and sponsors who have helped along this journey, especially kbknapp.

    ... (truncated)

    Commits
    • ef823bb chore: Release
    • 0238a57 docs: Update changelog
    • ad55cd5 Merge pull request #3264 from epage/external
    • faf3861 fix(parser): Loosen asserts for now
    • 2074c56 Merge pull request #3261 from epage/fix-borked-formatting
    • 7110401 docs: Fix messed up highlighting
    • a61ad34 docs(changelog): Call out more breaking changes
    • e9f6ef6 fix(parser): Fix more panic quotes
    • 2b2e2c9 fix(parser): Fix quoting in panic
    • 690da48 Merge pull request #3257 from Tiwalun/patch-1
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies rust 
    opened by dependabot[bot] 1
  • Bump clap from 3.0.0-beta.2 to 3.0.4

    Bump clap from 3.0.0-beta.2 to 3.0.4

    Bumps clap from 3.0.0-beta.2 to 3.0.4.

    Release notes

    Sourced from clap's releases.

    v3.0.4

    [3.0.4] - 2022-01-04

    Features

    • For very limited cases, like cargo, expose ArgMatches::is_valid_arg to avoid panicing on undefined arguments

    v3.0.3

    [3.0.3] - 2022-01-04

    Fixes

    • Specify cause of debug assert failure

    v3.0.2

    [3.0.2] - 2022-01-04

    Fixes

    • Ignore Last when checking hyphen values (see #3249 for details)
    • Help catch bugs with #[must_use]

    v3.0.1

    [3.0.1] - 2022-01-03

    Fixes

    • Don't panic when getting number of values (#3241)
    • Don't warn when using default_value_t derive attribute with a Subcommand (#3245)

    Documentation

    • Added name attribute to ArgEnum variant derive reference

    v3.0.0

    Note: clap v3 has been in development for several years and has changed hands multiple times. Unfortunately, our changelog might be incomplete, whether in changes or their motivation.

    Highlights

    A special thanks to the maintainers, contributors, beta users, and sponsors who have helped along this journey, especially kbknapp.

    StructOpt Integration

    StructOpt provides a serde-like declarative approach to defining your parser. The main benefits we've seen so far from integrating are:

    • Tighter feedback between the design of clap and the derives
    • More universal traits. Crates exist for common CLI patterns (example)

    ... (truncated)

    Changelog

    Sourced from clap's changelog.

    [3.0.4] - 2022-01-04

    Features

    • For very limited cases, like cargo, expose ArgMatches::is_valid_arg to avoid panicing on undefined arguments

    [3.0.3] - 2022-01-04

    Fixes

    • Specify cause of debug assert failure

    [3.0.2] - 2022-01-04

    Fixes

    • Ignore Last when checking hyphen values (see #3249 for details)
    • Help catch bugs with #[must_use]

    [3.0.1] - 2022-01-03

    Fixes

    • Don't panic when getting number of values (#3241)
    • Don't warn when using default_value_t derive attribute with a Subcommand (#3245)

    Documentation

    • Added name attribute to ArgEnum variant derive reference

    [3.0.0] - 2021-12-31

    Note: clap v3 has been in development for several years and has changed hands multiple times. Unfortunately, our changelog might be incomplete, whether in changes or their motivation.

    Highlights

    A special thanks to the maintainers, contributors, beta users, and sponsors who have helped along this journey, especially kbknapp.

    StructOpt Integration

    StructOpt provides a serde-like declarative approach to defining your parser. The main benefits we've seen so far from integrating are:

    • Tighter feedback between the design of clap and the derives
    • More universal traits. Crates exist for common CLI patterns (example) and we've re-designed the StructOpt traits so crates built on clap3 can be reused not just with other derives but also people using the builder API. People can even hand implement these so people using the builder API won't

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies rust 
    opened by dependabot[bot] 1
  • Bump serde from 1.0.127 to 1.0.133

    Bump serde from 1.0.127 to 1.0.133

    Bumps serde from 1.0.127 to 1.0.133.

    Release notes

    Sourced from serde's releases.

    v1.0.133

    • Optimize deserialization of data structures that contain recursive use of flatten fields or tag or untagged enums (#2148)

    v1.0.132

    • Enable Serialize and Deserialize impls for std::sync::atomic::{AtomicI64, AtomicU64} on riscv64 arch (#2141, thanks @​Avimitin)

    v1.0.131

    • Avoid unused_results being triggered in generated code for adjacently tagged enum (#2116, thanks @​tyranron)

    v1.0.130

    • Provide MapAccess and SeqAccess impl for reference to a dynamically sized existing impl (#2081)

    v1.0.129

    • Support deserialization of remote structs that used packed repr (#2078, #2079, #2080)

    v1.0.128

    Commits
    • 7af97c6 Release 1.0.133
    • 1f57084 Merge pull request #2148 from serde-rs/deserializecontent
    • 56bd369 Optimize deserialization of recursive buffered types
    • ff259ec Detect warnings in CI
    • 6c54aaf Document the atomic ordering in the Serialize impl
    • 5d41404 No need for the SeqCst load in test suite
    • 1eccb3c Resolve unnecessary_to_owned clippy lint in test suite
    • 77ae1c3 Release 1.0.132
    • b85e281 Update path to rustc target spec files
    • 0508cb5 Merge pull request #2141 from Avimitin/risc-v
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies rust 
    opened by dependabot[bot] 1
  • Bump clap from 3.0.0-beta.2 to 3.0.1

    Bump clap from 3.0.0-beta.2 to 3.0.1

    Bumps clap from 3.0.0-beta.2 to 3.0.1.

    Release notes

    Sourced from clap's releases.

    v3.0.1

    [3.0.1] - 2022-01-03

    Fixes

    • Don't panic when getting number of values (#3241)
    • Don't warn when using default_value_t derive attribute with a Subcommand (#3245)

    Documentation

    • Added name attribute to ArgEnum variant derive reference

    v3.0.0

    Note: clap v3 has been in development for several years and has changed hands multiple times. Unfortunately, our changelog might be incomplete, whether in changes or their motivation.

    Highlights

    A special thanks to the maintainers, contributors, beta users, and sponsors who have helped along this journey, especially kbknapp.

    StructOpt Integration

    StructOpt provides a serde-like declarative approach to defining your parser. The main benefits we've seen so far from integrating are:

    • Tighter feedback between the design of clap and the derives
    • More universal traits. Crates exist for common CLI patterns (example) and we've re-designed the StructOpt traits so crates built on clap3 can be reused not just with other derives but also people using the builder API. People can even hand implement these so people using the builder API won't have the pay the cost for derives.

    Custom Help Headings

    Previously, clap automatically grouped arguments in the help as either ARGS, FLAGS, OPTIONS, and SUBCOMMANDS.

    You can now override the default group with Arg::help_heading and App::subcommand_help_heading. To apply a heading to a series of arguments, you can set App::help_heading.

    Deprecations

    While a lot of deprecations have been added to clean up the API (overloaded meaning of Arg::multiple) or make things more consistent, some particular highlights are:

    ... (truncated)

    Changelog

    Sourced from clap's changelog.

    [3.0.1] - 2022-01-03

    Fixes

    • Don't panic when getting number of values (#3241)
    • Don't warn when using default_value_t derive attribute with a Subcommand (#3245)

    Documentation

    • Added name attribute to ArgEnum variant derive reference

    [3.0.0] - 2021-12-31

    Note: clap v3 has been in development for several years and has changed hands multiple times. Unfortunately, our changelog might be incomplete, whether in changes or their motivation.

    Highlights

    A special thanks to the maintainers, contributors, beta users, and sponsors who have helped along this journey, especially kbknapp.

    StructOpt Integration

    StructOpt provides a serde-like declarative approach to defining your parser. The main benefits we've seen so far from integrating are:

    • Tighter feedback between the design of clap and the derives
    • More universal traits. Crates exist for common CLI patterns (example) and we've re-designed the StructOpt traits so crates built on clap3 can be reused not just with other derives but also people using the builder API. People can even hand implement these so people using the builder API won't have the pay the cost for derives.

    Custom Help Headings

    Previously, clap automatically grouped arguments in the help as either ARGS, FLAGS, OPTIONS, and SUBCOMMANDS.

    You can now override the default group with Arg::help_heading and App::subcommand_help_heading. To apply a heading to a series of arguments, you can set App::help_heading.

    Deprecations

    While a lot of deprecations have been added to clean up the API (overloaded meaning of Arg::multiple) or make things more consistent, some particular highlights are:

    ... (truncated)

    Commits
    • d392b88 chore: Release
    • 1a19d48 docs: Update changelog
    • 3782d8e Merge pull request #3247 from epage/len
    • 5c829ff Merge pull request #3246 from epage/warn
    • e580683 fix: Don't panic when getting number of values
    • 6b9ae54 fix(derive): Don't enit warnings
    • b0cb205 docs(derive): Include name magic attribute
    • 06f24b1 Merge pull request #3243 from intgr/fix-clap_complete-documentation-imports
    • f10c5d1 docs(complete): Fix imports in documentation
    • 879219a Merge pull request #3240 from epage/heck
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies rust 
    opened by dependabot[bot] 1
  • Bump clap from 3.0.0-beta.2 to 3.0.11

    Bump clap from 3.0.0-beta.2 to 3.0.11

    Bumps clap from 3.0.0-beta.2 to 3.0.11.

    Release notes

    Sourced from clap's releases.

    v3.0.11

    [3.0.11] - 2022-01-24

    Fixes

    • Ensure conflicts work when they target a group with a default value

    v3.0.10

    [3.0.10] - 2022-01-18

    Fixes

    • Resolve panic! from v3.0.8 when using global_setting(PropagateVersion).

    v3.0.9

    [3.0.9] - 2022-01-17

    Features

    • Added App::find_subcommand_mut

    v3.0.8

    [3.0.8] - 2022-01-17

    Fixes

    • Respected DisableColoredHelp on cmd help help
    • Provide a little more context when completing arguments for cmd help
    • Provide more context for some asserts
    • Small documentation improvements

    v3.0.7

    [3.0.7] - 2022-01-12

    Fixes

    • Shift more asserts from parsing to App building (ie will now run in App::debug_assert)

    derive

    • Documentation fixes

    v3.0.6

    [3.0.6] - 2022-01-10

    Fixes

    derive

    • Don't assume user does use clap::ArgEnum (#3277)
    • Documentation fixes

    ... (truncated)

    Changelog

    Sourced from clap's changelog.

    [3.0.11] - 2022-01-24

    Fixes

    • Ensure conflicts work when they target a group with a default value

    [3.0.10] - 2022-01-18

    Fixes

    • Resolve panic! from v3.0.8 when using global_setting(PropagateVersion).

    [3.0.9] - 2022-01-17

    Features

    • Added App::find_subcommand_mut

    [3.0.8] - 2022-01-17

    Fixes

    • Respected DisableColoredHelp on cmd help help
    • Provide a little more context when completing arguments for cmd help
    • Provide more context for some asserts
    • Small documentation improvements

    [3.0.7] - 2022-01-12

    Fixes

    • Shift more asserts from parsing to App building (ie will now run in App::debug_assert)

    derive

    • Documentation fixes

    [3.0.6] - 2022-01-10

    Fixes

    derive

    • Don't assume user does use clap::ArgEnum (#3277)
    • Documentation fixes

    [3.0.5] - 2022-01-05

    Fixes

    ... (truncated)

    Commits
    • e5b06c3 chore: Release
    • ac43b7b docs: Update changelog
    • af55024 Merge pull request #3334 from epage/source
    • c6664af fix(parser): Track the most explicit value source
    • afd0342 docs(readme): discuss API trade offs
    • 43673a1 docs(error): Update reported failure code
    • a7f33ef docs(faq): Note clap-serde
    • 0dd169b Merge pull request #3328 from epage/panic
    • afb2a3d docs(complete): Clarify some panic conditions
    • b488aab fix: Clarify some unwraps as expects
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies rust 
    opened by dependabot[bot] 0
  • Bump serde from 1.0.127 to 1.0.135

    Bump serde from 1.0.127 to 1.0.135

    Bumps serde from 1.0.127 to 1.0.135.

    Release notes

    Sourced from serde's releases.

    v1.0.134

    • Improve error messages on deserializing NonZero integers from a 0 value (#2158)

    v1.0.133

    • Optimize deserialization of data structures that contain recursive use of flatten fields or tag or untagged enums (#2148)

    v1.0.132

    • Enable Serialize and Deserialize impls for std::sync::atomic::{AtomicI64, AtomicU64} on riscv64 arch (#2141, thanks @​Avimitin)

    v1.0.131

    • Avoid unused_results being triggered in generated code for adjacently tagged enum (#2116, thanks @​tyranron)

    v1.0.130

    • Provide MapAccess and SeqAccess impl for reference to a dynamically sized existing impl (#2081)

    v1.0.129

    • Support deserialization of remote structs that used packed repr (#2078, #2079, #2080)

    v1.0.128

    Commits
    • 8932c85 Release 1.0.135
    • 9f3dd3c Merge pull request #2163 from serde-rs/discord
    • dd9b415 Add discord invite links
    • 3bb4a5a Release 1.0.134
    • 6164627 Merge pull request #2159 from serde-rs/nonzero
    • 51aaf49 Write better Visitor for NonZero integers
    • bc66aeb Add tests of deserializing NonZero
    • 7e7044d Ignore clippy in number conversion tests
    • 5498dc0 Add tests of num conversion errors
    • ff04e8b Improve coverage of num conversion in test suite
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies rust 
    opened by dependabot[bot] 0
  • Bump solana-sdk from 1.7.10 to 1.8.14

    Bump solana-sdk from 1.7.10 to 1.8.14

    Bumps solana-sdk from 1.7.10 to 1.8.14.

    Release notes

    Sourced from solana-sdk's releases.

    Mainnet - v1.8.14

    This is a stable release suitable for use on Mainnet Beta

    Changes

    • Improves Sysvar cache performance
    • Improves SigVerify discard performance
    • Improves SigVerify deduplication performance
    • Improves instrumentation and metrics

    Mainnet - v1.8.13

    This is a stable release suitable for use on Mainnet Beta

    Changes

    • Packets received on the TPU Forwards port are no longer re-forwarded
    • Optimizes Packet drops in SigVerify Stage (thanks to @​buffalu!)
    • Improves metrics

    Mainnet - v1.8.12

    This is a stable release suitable for use on Mainnet Beta

    Changes

    • Improves Executor cache performance
    • Improves BigTable query reliability
    • Supports native builds on Apple M1 devices
    • Support offline signing for CLI vote account management subcommands
    • Bumps rbpf to v0.2.21, bpf-tools to v1.20
    • Various stability, performance, instrumentation and documentation improvements

    Mainnet - v1.8.11

    This is a stable release suitable for use on Mainnet Beta

    Changes

    • [validator] Upgraded solana_rbpf crate 0.2.11 -> 0.2.19. This brings in a bunch of changes to the way solana programs compiled to the BPF instruction set are validated and run:

      • Don't accept programs with overlapping ELF read-only sections
      • Fix: Unchecked integer arithmetic in elf.rs
      • Adds some new checks which are utilized by the validator code base
      • Ignore rest bytes at the end of the instruction stream
      • Fix R_BPF_64_64 relocation handling
      • Fix verifier shift instruction overflows imm value
      • Stops reseeding the JIT diversification rng
      • Fix JIT instruction meter in syscall & unresolved symbol exceptions
      • Implement handling of R_BPF_64_64 relocations used in ld_imm64
      • Adds a stopwatch to JIT to allow precise time measurements by instrumentation
      • Stop Inlining Address Translation
      • Fixes a bug in the instruction meter of JIT
      • Fix ELF Symbol Parsing Performance
      • Machinecode Diversification in JIT
      • Use mmap instead of memalign

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies rust 
    opened by dependabot[bot] 0
  • Bump anyhow from 1.0.42 to 1.0.53

    Bump anyhow from 1.0.42 to 1.0.53

    Bumps anyhow from 1.0.42 to 1.0.53.

    Release notes

    Sourced from anyhow's releases.

    1.0.53

    1.0.52

    • Reduce overhead of backtrace capture in the case that backtraces are not enabled (#212)

    1.0.51

    • Show doc for Ok fn

    1.0.50

    1.0.49

    • Add a function anyhow::Ok(v) equivalent to Ok::<_, anyhow::Error>(v) (#192)

    1.0.48

    • Include a Debug rendering of lhs and rhs in ensure! messages (#193, #194, #195, #196, #197, #198)

      Example:

      ensure!(flags.len() <= 40);
      
      ensure!(kind == Kind::File);
      

      Before:

      Condition failed: `flags.len() <= 40`
      Condition failed: `kind == Kind::File`
      

      After:

      Condition failed: `flags.len() <= 40` (99 vs 40)
      Condition failed: `kind == Kind::File` (Symlink vs File)
      

    1.0.47

    • Fixes for implicit format args support

    1.0.46

    ... (truncated)

    Commits
    • 7290028 Release 1.0.53
    • 4e73a15 Merge pull request #217 from dtolnay/ensuretest
    • dc087bc Update ensure tests to nightly-2022-01-04
    • 6b9978c Merge pull request #216 from dtolnay/ensuretest
    • 703182a Update ensure tests to nightly-2022-01-02
    • 2342773 Ignore irrefutable_let_patterns lint in test suite
    • bae6962 Detect warnings in CI
    • 2c2568a Merge pull request #215 from dtolnay/ensuretest
    • 8b029fc Update ensure tests to nightly-2021-12-30
    • f871e2f Release 1.0.52
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies rust 
    opened by dependabot[bot] 0
  • Bump cargo_toml from 0.9.2 to 0.10.3

    Bump cargo_toml from 0.9.2 to 0.10.3

    Bumps cargo_toml from 0.9.2 to 0.10.3.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies rust 
    opened by dependabot[bot] 0
Releases(v0.1.0-alpha.0)
Owner
Saber
Stable swapping between stablecoins and other identical assets
Saber
An EVM low-level language that gives full control over the control flow of the smart contract.

Meplang - An EVM low-level language Meplang is a low-level programming language that produces EVM bytecode. It is designed for developers who need ful

MEP 19 Jan 31, 2023
Extract data from helium-programs via Solana RPC and serves it via HTTP

hnt-explorer This application extracts data from helium-programs via Solana RPC and serves it via HTTP. There are CLI commands meant to run and test t

Louis Thiery 3 May 4, 2023
⛏ An open protocol for launching liquidity mining programs on Solana.

⛏ Quarry An open protocol for launching liquidity mining programs on Solana. Background Quarry was built with the intention of helping more Solana pro

Quarry Protocol 207 Dec 19, 2022
The Solana Program Library (SPL) is a collection of on-chain programs targeting the Sealevel parallel runtime.

Solana Program Library The Solana Program Library (SPL) is a collection of on-chain programs targeting the Sealevel parallel runtime. These programs a

null 6 Jun 12, 2022
Examples of Solana on-chain programs

spl-examples List of Solana on-chain programs which demonstrate different aspects of Solana architecture. 01__state It's a counter program. Each user

Max Block 51 Dec 6, 2022
Synchronized shadow state of Solana programs available for off-chain processing.

Solana Shadow The Solana Shadow crate adds shadows to solana on-chain accounts for off-chain processing. This create synchronises all accounts and the

null 40 Oct 30, 2022
A collection of Solana-maintained on-chain programs

Solana Program Library The Solana Program Library (SPL) is a collection of on-chain programs targeting the Sealevel parallel runtime. These programs a

Solana Foundation 2.2k Jan 6, 2023
Deploy your Solana programs during high load.

solana-deployer IMPORTANT: There is a known bug with the current program that will be fixed soon. In the meantime you should deploy from Solana Playgr

acheron 34 Nov 7, 2022
Write Anchor-compatible Solana programs in TypeScript

Axolotl Write Achor-compatible Solana programs using TypeScript. Writing Rust is hard, but safe. It's also the go-to language for writing Solana progr

Anthony Morris 17 Nov 27, 2022
Keyhouse is a skeleton of general-purpose Key Management System written in Rust.

Keyhouse Keyhouse is a skeleton of general-purpose Key Management System. Keyhouse is not an off-the-shelf system, and it's not ready for production.

Bytedance Inc. 148 Jan 1, 2023
Multi Party Key Management System (KMS) for Secp256k1 Elliptic curve based digital signatures.

Key Management System (KMS) for curve Secp256k1 Multi Party Key Management System (KMS) for Secp256k1 Elliptic curve based digital signatures. Introdu

[ZenGo X] 61 Dec 28, 2022
Project Masterpass is a deterministic databaseless key management algorithm, aimed to help those who cannot protect their encryption keys in storage

Project Masterpass (working title) Attention! This project is still under heavy development, and SHOULD NOT be used in practice, as the algorithms cou

Gyorgy Wang 2 Sep 11, 2022
Demonstrates Solana data account versioning used in supporting the Solana Cookbook article: Account Data Versioning

versioning-solana This repo demonstrates ONE rudimentary way to upgrade/migrate account data changes with solana program changes. What is data version

Frank V. Castellucci 6 Sep 30, 2022
My attempt at learning Solana program (smart contract) development through RareSkill's Solana course.

60-days-of-solana My attempt at learning Solana program (smart contract) development through RareSkill's Solana course. Originally, I was trying to cr

Jasper 3 Feb 25, 2024
a Solana program for granting friends permissions on your account without revealing your private key.

Delegatooooor Granting Permission: An account holder (the delegator) decides to grant permission to a delegate. They create and sign a transaction tha

0xGhostMac 3 Apr 3, 2024
⬆ A program for deploying and upgrading programs.

DeployDAO Migrator WARNING: This code is a work in progress. Please do not use it as is. A program for deploying and upgrading programs. About The Mig

Deploy DAO 28 May 28, 2022
CLI tool for deterministically building and verifying executable against on-chain programs or buffer accounts

Solana Verify CLI A command line tool to build and verify solana programs. Users can ensure that the hash of the on-chain program matches the hash of

Ellipsis Labs 5 Jan 30, 2023
Daemon and tools to control your ASUS ROG laptop. Supersedes rog-core.

asusctl for ASUS ROG - Asus Linux Website asusd is a utility for Linux to control many aspects of various ASUS laptops but can also be used with non-a

Luke Jones 46 Jan 8, 2023
A template for command-line Rust programs

This is a template for command-line Rust programs. Clone and run the rename script with both a lowercase and UpperCase name. In the dev profile, depen

ludios 2 Oct 3, 2022