anchor/CHANGELOG.md

6.8 KiB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

Note: Version 0 of Semantic Versioning is handled differently from version 1 and above. The minor version will be incremented upon a breaking change and the patch version will be incremented for features.

[Unreleased]

Features

  • lang: Allows one to specify multiple with targets when creating associated acconts (#197).
  • lang, ts: Add array support (#202).
  • lang: Zero copy deserialization for accounts (#202).

[0.4.3] - 2021-04-13

Features

  • lang: CPI clients for program state instructions (#43).
  • lang: Add #[account(owner = <program>)] constraint (#178).
  • lang, cli, ts: Add #[account(associated = <target>)] and #[associated] attributes for creating associated program accounts within programs. The TypeScript package can fetch these accounts with a new <program>.account.<account-name>.associated (and associatedAddress) method (#186).

Fixes

  • lang: Unused #[account]s are now parsed into the IDL correctly (#177).

[0.4.2] - 2021-04-10

Features

  • cli: Fund Anchor.toml configured wallet when testing (#164).
  • spl: Add initialize_account instruction for spl tokens (#166).

[0.4.1] - 2021-04-06

  • cli: Version verifiable docker builder (#145).

[0.4.0] - 2021-04-04

Features

  • cli: Specify test files to run (#118).
  • lang: Allow overriding the #[state] account's size (#121).
  • lang, client, ts: Add event emission and subscriptions (#89).
  • lang/account: Allow namespacing account discriminators (#128).
  • cli: TypeScript migrations (#132).
  • lang: Add #[account(executable)] attribute (#140).

Breaking Changes

  • client: Replace url str with Cluster struct when constructing clients (#89).
  • lang: Changes the account discriminator of IdlAccount to be namespaced by "internal" (#128).
  • lang, spl, cli: Upgrade solana toolchain to 1.6.3, a major version upgrade even though only the minor version is incremented. This allows for the removal of -#![feature(proc_macro_hygiene)]. (#139).

[0.3.0] - 2021-03-12

Features

  • ts: Allow preloading instructions for state rpc transactions (cf9c84).
  • ts: Export sighash coder function (734c75).
  • cli: Specify programs to embed into local validator genesis via Anchor.toml while testing (b3803a).
  • cli: Allow skipping the creation of a local validator when testing against localnet (#93).
  • cli: Adds support for tests with Typescript (#94).
  • cli: Deterministic and verifiable builds (#100).
  • cli, lang: Add write buffers for IDL upgrades (#107).

Breaking Changes

  • lang: Removes IdlInstruction::Clear (#107).

Fixes

  • cli: Propagates mocha test exit status on error (79b791).

[0.2.1] - 2021-02-11

Features

  • cli: Embed workspace programs into local validator genesis when testing (733ec3).
  • cli: Stream program logs to .anchor/program-logs directory when testing (ce5ca7).
  • spl: Add shared memory api (d92cb1).
  • lang/attribute/access-control: Allow specifying multiple modifier functions (845df6).
  • lang/syn: Allow state structs that don't have a ctor or impl block (just trait implementations) (a78000).
  • ts: Add instruction method to state namespace (627c27).
  • lang/syn, ts: Add support for u128 and i128 (#83).

[0.2.0] - 2021-02-08

Features

  • lang: Adds the ability to create and use CPI program interfaces (#66).

Breaking Changes

  • lang, client, ts: Migrate from rust enum based method dispatch to a variant of sighash (#64).

[0.1.0] - 2021-01-31

Initial release.

Includes

  • lang: anchor-lang crate providing a Rust eDSL for Solana.
  • lang/attribute/access-control: Internal attribute macro for function modifiers.
  • lang/attribute/account: Internal attribute macro for defining Anchor accounts.
  • lang/attribute/error: Internal attribute macro for defining Anchor program errors.
  • lang/attribute/program: Internal attribute macro for defining an Anchor program.
  • lang/attribute/state: Internal attribute macro for defining an Anchor program state struct.
  • lang/derive/accounts: Internal derive macro for defining deserialized account structs.
  • lang/syn: Internal crate for parsing the Anchor eDSL, generating code, and an IDL.
  • spl: anchor-spl crate providing CPI clients for Anchor programs.
  • client: anchor-client crate providing Rust clients for Anchor programs.
  • ts: @project-serum/anchor package for generating TypeScript clients.
  • cli: Command line interface for managing Anchor programs.