Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Upgrade Solana to 1.16.0 #2512

Merged

Conversation

acheroncrypto
Copy link
Collaborator

@acheroncrypto acheroncrypto commented Jun 3, 2023

Initializing a new Anchor project currently installs Solana crates with version 1.16.0. This is happening because anchor-lang specifies solana-program to 1.14.16 and cargo expects any new version <2.0.0 to be compatible(they are not). New releases of other crates should not break Anchor.

Adding a maximum allowed version allows anyone to override the default versions and install an older versions if they prefer. It also solves the problem for new programs(without a lock file) to install incompatible versions by default. This should greatly reduce the amount of dependency issues due to breaking changes in minor releases.

Changes:

  • Specify maximum allowed version for all Solana crates to be <1.17.0.
  • solana-client locks the tokio version to ~1.14.1 but anchor-cli currently specifies 1.24 which are incompatible. Downgrade tokio version to Use the same version as solana-client(chore: bump tokio version solana-labs/solana#29586, RPC server not responsive possible regression in 1.9.16 solana-labs/solana#24644).
  • Specify version <0.11.0 for borsh to be compatible with solana-program.
  • Remove winnow and toml_datetime dependencies from anchor-spl since rustc version is now updated with the last Solana release(Use fixed version for winnow crate to fix new builds #2478, Fix toml_datetime 1.64.0 MSRV error #2495).
  • Specify getrandom = { version = "0.2", features = ["custom"] } in anchor-lang otherwise it doesn't build.
  • Build openbook-dex program with Solana 1.14.18 for the swap tests and switch back to original Solana CLI version to test the swap program. openbook-dex program does not work with Solana 1.16.0 and throws Invoked an instruction with data that is too large error.
  • Add token-metadata program binary(built with Solana 1.14.18) for the auction-house tests. The auction-house program is tested with Solana 1.14.18 because it does not work with Solana 1.16.0 and throws Invoked an instruction with data that is too large error.
  • Disable anchor init test in CI because it won't work until the next release(0.28.0).

@vercel
Copy link

vercel bot commented Jun 3, 2023

@acheroncrypto is attempting to deploy a commit to the coral-xyz Team on Vercel.

A member of the Team first needs to authorize it.

Use workspace `anchor-lang` instead of last release in `anchor-idl-account` tests
The program doesn't work properly with solana `1.16.0`. Built the program with Solana `1.14.18` and added it's binary as a dependency to fix CI.
Same with `openbook-dex`, the program doesn't work properly with Solana `1.16.0`. Built the program with Solana `1.14.18` and added its binary as a dependency to fix CI.
Disabling this test until `0.28.0` is out because it will only be fixed with a new release.
@acheroncrypto acheroncrypto added the dependencies Pull requests that update a dependency file label Jun 3, 2023
@acheroncrypto acheroncrypto merged commit 1c6f86e into coral-xyz:master Jun 4, 2023
vadorovsky added a commit to Lightprotocol/light-merkle-tree that referenced this pull request Jun 6, 2023
The newest solana-program crate was pulled unintentionally anyway
which resulted in unexpected errors due to incompatibility of
dependencies. More context: coral-xyz/anchor#2512
vadorovsky added a commit to Lightprotocol/light-protocol that referenced this pull request Jun 6, 2023
The newest solana-program crate was pulled unintentionally anyway
which resulted in unexpected errors due to incompatibility of
dependencies. More context: coral-xyz/anchor#2512
ananas-block pushed a commit to Lightprotocol/light-merkle-tree that referenced this pull request Jun 6, 2023
#6)

* Update Solana SDK to 1.16 and Anchor to the latest change including it

The newest solana-program crate was pulled unintentionally anyway
which resulted in unexpected errors due to incompatibility of
dependencies. More context: coral-xyz/anchor#2512

* Add CI tests
vadorovsky added a commit to Lightprotocol/light-protocol that referenced this pull request Jun 6, 2023
The newest solana-program crate was pulled unintentionally anyway
which resulted in unexpected errors due to incompatibility of
dependencies. More context: coral-xyz/anchor#2512
vadorovsky added a commit to Lightprotocol/light-protocol that referenced this pull request Jun 6, 2023
The newest solana-program crate was pulled unintentionally anyway
which resulted in unexpected errors due to incompatibility of
dependencies. More context: coral-xyz/anchor#2512
vadorovsky added a commit to Lightprotocol/light-protocol that referenced this pull request Jun 6, 2023
The newest solana-program crate was pulled unintentionally anyway
which resulted in unexpected errors due to incompatibility of
dependencies. More context: coral-xyz/anchor#2512
ananas-block pushed a commit to Lightprotocol/light-protocol that referenced this pull request Jun 6, 2023
#142)

The newest solana-program crate was pulled unintentionally anyway
which resulted in unexpected errors due to incompatibility of
dependencies. More context: coral-xyz/anchor#2512
Aursen added a commit to Aursen/anchor that referenced this pull request Jun 10, 2023
commit e1afcbf
Author: acheron <[email protected]>
Date:   Fri Jun 9 18:00:35 2023 +0200

    v0.28.0 (coral-xyz#2527)

commit c7c7319
Author: acheron <[email protected]>
Date:   Thu Jun 8 18:59:44 2023 +0200

    Allow wider range of dependency versions to reduce dependency issues (coral-xyz#2524)

commit 6df34e7
Author: acheron <[email protected]>
Date:   Wed Jun 7 19:12:56 2023 +0200

    Update crate authors and remove outdated registry (coral-xyz#2522)

commit 1705d16
Author: Jean Marchand (Exotic Markets) <[email protected]>
Date:   Wed Jun 7 16:29:23 2023 +0200

    docs: Add doc for InitSpace macro (coral-xyz#2521)

commit 3d7c97b
Author: acheron <[email protected]>
Date:   Tue Jun 6 19:28:24 2023 +0200

    cli: Accept program lib name for `anchor deploy --program-name` (coral-xyz#2519)

commit a88be42
Author: Sergo <[email protected]>
Date:   Tue Jun 6 14:07:33 2023 +0300

    ts: Validate `error.data` exists on simulation response (coral-xyz#2508)

commit 65c9d6e
Author: Jean Marchand (Exotic Markets) <[email protected]>
Date:   Tue Jun 6 09:43:46 2023 +0200

    client: Add async to anchor-client (coral-xyz#2488)

    Co-authored-by: acheron <[email protected]>

commit b8eda69
Author: Deep Mehta <[email protected]>
Date:   Mon Jun 5 22:35:24 2023 +0530

    cli: Print not found message if the given program cannot be found during deployment (coral-xyz#2517)

commit 1902b8e
Author: CanardMandarin <[email protected]>
Date:   Mon Jun 5 14:16:10 2023 +0200

    cli: Update programs in `Anchor.toml` when using `anchor new` (coral-xyz#2516)

commit 383e440
Author: acheron <[email protected]>
Date:   Sun Jun 4 21:02:16 2023 +0200

    cli: Initialize with the correct program id (coral-xyz#2509)

commit 835dc5b
Author: Sarfaraz Nawaz <[email protected]>
Date:   Sun Jun 4 23:20:03 2023 +0530

    lang: Rename derive_anchor_deserialize -> derive_init_space (coral-xyz#2510)

commit 1c6f86e
Author: acheron <[email protected]>
Date:   Sun Jun 4 13:09:39 2023 +0200

    Upgrade Solana to 1.16.0 (coral-xyz#2512)

commit 2bf8afe
Author: acheron <[email protected]>
Date:   Tue May 30 19:50:45 2023 +0200

    cli: Use `confirmed` commitment level in commands (coral-xyz#2506)

commit 70d9223
Author: acheron <[email protected]>
Date:   Sun May 28 22:34:53 2023 +0200

    cli: Add `anchor keys sync` command (coral-xyz#2505)

commit 0c8498d
Author: cavemanloverboy <[email protected]>
Date:   Sat May 27 06:53:02 2023 -0700

    cli: Exit `anchor clean` without error when dirs don't exist (coral-xyz#2504)

commit 23b90bf
Author: Noah Gundotra <[email protected]>
Date:   Fri May 26 12:36:46 2023 -0400

    Feature: CPI Events API (coral-xyz#2438)

    Co-authored-by: acheron <[email protected]>

commit c3625c8
Author: Last Emperor <[email protected]>
Date:   Wed May 24 15:05:47 2023 +0300

    examples: Add an example with `instruction` method (coral-xyz#2501)

    Co-authored-by: acheron <[email protected]>

commit 67eb752
Author: acheron <[email protected]>
Date:   Sat May 20 20:34:38 2023 +0200

    tests: Fix zero-copy tests (coral-xyz#2498)

commit f9d0eca
Author: acheron <[email protected]>
Date:   Fri May 19 13:18:14 2023 +0200

    spl: Update `spl-token-2022` to 0.6.1 (coral-xyz#2496)

commit 4793b90
Author: acheron <[email protected]>
Date:   Fri May 19 10:58:16 2023 +0200

    Fix `toml_datetime` 1.64.0 MSRV error (coral-xyz#2495)

commit 41a4d82
Author: chalda <[email protected]>
Date:   Thu May 18 19:12:25 2023 +0200

    cli: Add print base64 instruction option for some of the IDL commands (coral-xyz#2486)

    Co-authored-by: acheron <[email protected]>

commit b7bada1
Author: Pierre <[email protected]>
Date:   Tue May 16 23:46:40 2023 +1000

    fix: remove skip preflight from cli (coral-xyz#2492)

    ---------

    Co-authored-by: acheron <[email protected]>

commit 89e94d1
Author: Ryan De La O <[email protected]>
Date:   Sat May 13 02:17:47 2023 -0700

    cli: Fix incorrect metadata.address generation (coral-xyz#2485)

    Currently when running 'anchor deploy --program-name <name> --program-keypair <specified keypair>' the cli still uses the auto-generated keypair when fetching the program id to add to the IDL metadata at the end. It should instead use the address from the specified keypair.

    ---------

    Co-authored-by: acheron <[email protected]>

commit 714d524
Author: CanardMandarin <[email protected]>
Date:   Tue May 9 16:17:11 2023 +0200

    lang: Add error message when Mint and TokenAccount with `init` are not ordered correctly (coral-xyz#2484)

commit 9a93a2e
Author: James <[email protected]>
Date:   Mon May 8 10:17:51 2023 +0100

    ts: Improve IDL typing (coral-xyz#2482)

    * Use XOR pattern for enum variants to prevent two variants being used at the same time.

    * Fix unknown for types like Option<[u8; 32]>

commit d1ddf00
Author: CanardMandarin <[email protected]>
Date:   Sun May 7 11:03:37 2023 +0200

    lang: Fix incorrectly checking the first init constraint (coral-xyz#2483)
vadorovsky pushed a commit to Lightprotocol/anchor that referenced this pull request Jun 20, 2023
ananas-block pushed a commit to Lightprotocol/anchor that referenced this pull request Jun 20, 2023
vadorovsky added a commit to vadorovsky/light-protocol that referenced this pull request May 1, 2024
Lightprotocol#142)

The newest solana-program crate was pulled unintentionally anyway
which resulted in unexpected errors due to incompatibility of
dependencies. More context: coral-xyz/anchor#2512
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant