Repository navigation
[2.x] Release package (rc) - #183
Merged
Merged
Conversation
codama-releases
Bot
force-pushed
the
changeset-release/main
branch
2 times, most recently
from
October 1, 2026 07:58
2d4605d to
9161d23
Compare
codama-releases
Bot
force-pushed
the
changeset-release/main
branch
from
October 1, 2026 07:59
9161d23 to
0ed4b91
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.
mainis currently in pre mode so this branch has prereleases rather than normal releases. If you want to exit prereleases, runchangeset pre exitonmain.Releases
@codama/spec@2.0.0-rc.1
Major Changes
#184
03df7f5Thanks @lorisleiva! - Allow any value node as the payload ofenumValueNode. Enum variants may carry data of any type, e.g.enumVariantTypeNode('amount', { data: integerTypeNode('u64') }), butenumValueNode.valueonly accepted struct or tuple values, so such variants could not be expressed as values.enumValueNode.valuenow accepts anyvalueNode, which must match the variant'sdatatype.BREAKING CHANGES
enumValuePayloadunion removed. It was only used byenumValueNode.value, which now references thevalueNodeunion. Codegen targets and other spec consumers referencingenumValuePayloadshould usevalueNodeinstead. Existing IDLs remain valid.Minor Changes
#175
3f49f9bThanks @lorisleiva! - Relax identifier uniqueness: identifiers sharing a scope must no longer be unique after lowercasing and stripping underscores, but must not have the same camelCase form. Words are split at underscores, at lowercase-to-uppercase boundaries and before the last capital of an acronym run, sofoo_dartandfood_artorgroup__sub_group__nameandgroup_subgroup_namemay now coexist, whilstfooBarandfoo_bar,getURLandget_url, or_fooandfoostill may not. Every IDL valid under the previous rule remains valid. Renderers must derive every casing from these words, keep a word separator wherever letter case is not significant (e.g. file names), and disambiguate identifiers of different scopes emitted into a shared namespace.#185
99812c5Thanks @lorisleiva! - Add an optionalreturnDatatype node toinstructionNode, describing the data an instruction returns to its caller viaset_return_data— e.g. what Anchor IDLs expose asreturns. Likedata, it accepts any type node, including adefinedTypeLinkNode. The on-chain limit on return data is left to validators.Patch Changes
#186
72f2fb9Thanks @lorisleiva! - Reserve thecodama.*plugin namespace for official plugins, and define the first two for information that is renderer-specific by nature.codama.resolvermarks a node whose value renderers resolve with custom code, with a{ name, dependsOn? }payload where dependencies areaccounts.<identifier>ordata.<path>strings.codama.extraArgumentdeclares, on an instruction node, a client input that is not serialised in the instruction data, with an{ identifier, type, defaultValue?, docs? }payload. The remaining accounts example now usescodama.resolverinstead of the unofficialcodama.jsResolver.