solana_kit_codecs_data_structures 0.9.3
solana_kit_codecs_data_structures: ^0.9.3 copied to clipboard
Struct, enum, tuple, and map codecs for the Solana Kit Dart SDK.
Changelog #
All notable changes to this project will be documented in this file.
This changelog is managed by monochange.
0.9.3 - 2026-09-12 #
Changed #
- No package-specific changes were recorded;
solana_kit_codecs_data_structureswas updated to 0.9.3 as part of groupmain.
0.9.2 - 2026-09-06 #
0.9.1 - 2026-08-30 #
Changed #
- No package-specific changes were recorded;
solana_kit_codecs_data_structureswas updated to 0.9.1 as part of groupmain.
0.9.0 - 2026-08-30 #
๐ Feature #
Typed tuple codecs and explicit integer factories
Add typed getTuple2Encoder/getTuple2Decoder helpers to solana_kit_codecs_data_structures, exposing two-element tuples as Dart records. Give the integer codec factories in solana_kit_codecs_numbers explicit generic specializations while preserving their existing FixedSizeEncoder<num> public return types. codama-renderers-dart now emits getTuple2* for arity-2 tuple nodes, escapes Dart reserved-word identifiers, keeps generated instructionData locals collision-free, and gives generated byte/list fields recursive value equality and hashing.
Owner: @ifiokjr ยท Review: PR #227
๐ Documentation #
Unslop package docs and code comments
Rewrote every package README from a reader's perspective with verified, compilable examples, removed AI-tell phrasing from docs and code comments, and added a test that analyzes every Dart block in Markdown so examples cannot drift from the API.
0.8.0 - 2026-08-19 #
0.7.0 - 2026-08-18 #
๐ฅ Breaking Change #
@solana/kit v7.0.0 upstream sync (foundational breaking changes)
Ports the foundational breaking changes from @solana/kit v7.0.0:
- solana_kit_errors: new
transactionIntrospectionerror domain + codes (transactionFailedToDecompileInstructionAccountIndexOutOfRange,transactionIntrospectionCannotDecodeJsonParsedTransaction,transactionIntrospectionUnrecognizedGetTransactionResponse) and instruction-plans max-instructions codes (instructionPlansInvalidMaxInstructionsPerTransaction,instructionPlansMaxInstructionsPerTransactionExceeded). - solana_kit_codecs_data_structures:
createDependentStructDecoderfluent builder for structs whose later fields depend on earlier decoded values. - solana_kit_instruction_plans: configurable
maxInstructionsPerTransaction(default 16, limit 64) onTransactionPlannerConfig, individualTransactionPlannerinvocations, andMessagePacker; invocation-specific planner values take precedence without leaking to later calls. - solana_kit_rpc_types:
isSolanaRpcResponseruntime guard. - solana_kit: removed the local
getMinimumBalanceForRentExemptionhelper (rent exemption is becoming dynamic; use the RPC method instead). - solana_kit_subscribable:
ReactiveStreamStorev7 rewrite โ caller-drivenconnect()/reset()/withSignal(), startsidle, collapsesretryingintoloading(stale-while-revalidate), renamesgetUnifiedState()โgetState(); removedretry(), value-onlygetState(),getError().ReactiveActionStorenow passes a freshCancellationTokento every action, cancels superseded/reset/disposed dispatches, suppresses late outcomes, exposes caller cancellation throughwithSignal(), and preserves stale results and errors while running. - solana_kit_transaction_introspection: new first-class package porting
@solana/transaction-introspectionโ RPC transaction decoding, instruction and inner-instruction extraction, loaded-address resolution, and instruction walking helpers; re-exported from thesolana_kitumbrella. - solana_kit_rpc_parsed_types / solana_kit_rpc_transformers / solana_kit_rpc_api: Agave 4.1.0 parsed-account types โ vote commissions/latency as
int(notBigInt); rent sysvar union (lamportsPerBytevs deprecatedburnPercent/exemptionThreshold/lamportsPerByteYear); stakewarmupCooldownRateoptional; configslashPenalty/warmupCooldownRatedeprecated; keep vote commissions and latency asintin the numeric-keypath allow-lists.
Migration: getMinimumBalanceForRentExemption(space) โ rpc.getMinimumBalanceForRentExemption(space).send(); store.retry() โ store.connect(); store.getUnifiedState() โ store.getState(); the deprecated ReactiveStore/createReactiveStoreFromStreams โ createReactiveStreamStore; reactive actions must migrate from (args) async => result to (signal, args) async => result.
// Before
final lamports = getMinimumBalanceForRentExemption(space);
store.retry();
final state = store.getUnifiedState();
// After
final lamports = await rpc.getMinimumBalanceForRentExemption(space).send();
store.connect();
final state = store.getState();
0.6.0 - 2026-08-12 #
๐ Documentation #
Centralize package version documentation
Centralize package version metadata in versions.json and render package installation snippets from the shared MDT data source. Published package behavior is unchanged.
Owner: @ifiokjr ยท Review: PR #188
Point package README website badges at package docs
Updated package README website badges to link directly to each package's docs catalog entry and added missing package entries to the documentation website catalog/index.
0.5.0 - 2026-06-01 #
๐ฅ Breaking Change #
Raise minimum Dart SDK to 3.12
Raise the minimum supported Dart SDK constraint to ^3.12.0 across public Dart packages.
This is a breaking change because consumers must use Dart 3.12 or newer. Flutter consumers must use a Flutter SDK that bundles Dart 3.12 or newer.
environment:
sdk: ^3.12.0
Owner: Ifiok Jr. ยท Introduced in: 32d5d36
๐งช Testing #
Improve test coverage to 95%+ across all packages
Added 500+ tests covering equality/hashCode/toString, codec edge cases, error paths, and constructor variants. Removed dead code in fast_stable_stringify. Fixed concurrent modification bug in subscribable.
Owner: Ifiok Jr. ยท Introduced in: 48216f9 ยท Last updated in: b7f5419
0.4.0 - 2026-05-30 #
๐ Changed #
Restructure release groups
Move program-specific and domain-specific packages out of the main release group into standalone release schedules with independent versioning. Core SDK packages remain synchronized in the main group.
Owner: Ifiok Jr. ยท Introduced in: fccec7f ยท Last updated in: 93b3cd3
๐ Fixed #
Add per-package coverage badges
Add codecov flags and per-package coverage badges to all package READMEs.
Owner: Ifiok Jr. ยท Introduced in: bed1b1f ยท Last updated in: 93b3cd3