Skip to content

chore: updated docs changelog and release notes for v1#4360

Open
tiago18c wants to merge 3 commits intosolana-foundation:masterfrom
tiago18c:release-notes-v1
Open

chore: updated docs changelog and release notes for v1#4360
tiago18c wants to merge 3 commits intosolana-foundation:masterfrom
tiago18c:release-notes-v1

Conversation

@tiago18c
Copy link
Copy Markdown
Collaborator

No description provided.

@vercel
Copy link
Copy Markdown

vercel bot commented Mar 26, 2026

@tiago18c is attempting to deploy a commit to the Solana Foundation Team on Vercel.

A member of the Team first needs to authorize it.

@tiago18c tiago18c requested a review from jamie-osec March 27, 2026 15:39
the toolchain, and establish a stable foundation going forward. We cover the most
important changes below, but be sure to check out the full list of changes in
the
[CHANGELOG](https://github.com/solana-foundation/anchor/blob/v1.0.0/CHANGELOG.md#100---2026-xx-xx).
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just a note for posterity that this will need updating once we have a finalized date for the cut.

@tiago18c tiago18c requested a review from jamie-osec March 27, 2026 17:17
Copy link
Copy Markdown
Collaborator

@acheroncrypto acheroncrypto left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Keep in mind that this should be merged after the v1 release because the docs site updates pretty much instantly after the merge (at least the last time I checked).

More things that would be worth mentioning:

Otherwise, bootstrap using `cargo install`:

```sh
cargo install avm --git https://github.com/solana-foundation/anchor --tag v1.0.0 --locked
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We have always recommended installing the latest avm because the latest should always work with all versions. avm also doesn't get published, so its versioning is not that useful.

Suggested change
cargo install avm --git https://github.com/solana-foundation/anchor --tag v1.0.0 --locked
cargo install avm --git https://github.com/solana-foundation/anchor --locked


## Recommended Solana Version

The recommended Solana version is `3.1.10`.
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Solana v4 is probably very close. If we release v1 with Solana v3, it will get outdated very quickly.

### `declare_program!` instruction parser

`declare_program!` now generates a typed instruction parser alongside the CPI
helpers. Use `my_program::parsers::Instruction::try_from_bytes` to decode any
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Instruction::try_from_bytes was renamed to Instruction::parse along with similar methods in #4151.

Suggested change
helpers. Use `my_program::parsers::Instruction::try_from_bytes` to decode any
helpers. Use `my_program::parsers::Instruction::parse` to decode any

I think all renames should get a mention.


`declare_program!` now generates a typed instruction parser alongside the CPI
helpers. Use `my_program::parsers::Instruction::try_from_bytes` to decode any
instruction belonging to the program from its raw bytes.
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This specific method actually expects solana_instruction::Instruction rather than raw bytes (unlike the other parse methods).

// After (v1)
pub fn my_handler<'info>(ctx: Context<'info, MyAccounts<'info>>) -> Result<()> { ... }
// or simply (when the lifetime is inferred)
pub fn my_handler(ctx: Context<MyAccounts<'_>>) -> Result<()> { ... }
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

<'_> is useless:

Suggested change
pub fn my_handler(ctx: Context<MyAccounts<'_>>) -> Result<()> { ... }
pub fn my_handler(ctx: Context<MyAccounts>) -> Result<()> { ... }

Comment on lines +311 to +314
### Relaxed PDA seed syntax

The seed expressions accepted inside `seeds = [...]` constraints are now more
flexible and support a broader set of Rust expressions.
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this should mention that using complex seeds will likely mean no account resolution.

Comment on lines +330 to +334
### `common::close` accepts references

The `common::close` utility now accepts both owned and referenced account
infos, removing the need for manual `.to_account_info()` calls at call sites.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is an internal function, which is why it wasn't mentioned in the CHANGELOG in #4178. It's fine to mention in the CHANGELOG, but I think it's best to keep the release notes as useful as possible.

Suggested change
### `common::close` accepts references
The `common::close` utility now accepts both owned and referenced account
infos, removing the need for manual `.to_account_info()` calls at call sites.

Comment on lines +337 to +338
`anchor_lang::prelude::Owners` is now re-exported from the prelude, so you no
longer need a separate `use` statement for it.
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Logic error:

Suggested change
`anchor_lang::prelude::Owners` is now re-exported from the prelude, so you no
longer need a separate `use` statement for it.
`anchor_lang::Owners` is now re-exported from the prelude, so you no
longer need a separate `use` statement for it.

Comment on lines +391 to +395
### All public API types exported

All types used in the public API surface of `anchor-client` are now
re-exported, so you no longer need to hunt for the correct sub-crate to import
them from.
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is actually a downgrade from the previous version in terms of discoverability and exports because the last version exported the entire solana-sdk. However, it's an improvement in terms of dependency management and being more lightweight. Something like this should be mentioned instead.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants