solana_kit_subscriptions 0.3.0 copy "solana_kit_subscriptions: ^0.3.0" to clipboard
solana_kit_subscriptions: ^0.3.0 copied to clipboard

Subscriptions program client for Solana Kit. Generated from the upstream Codama IDL with ergonomic helpers.

Changelog #

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

This changelog is managed by monochange.

solana_kit_subscriptions 0.1.0 (2026-08-12) #

💥 Breaking Change #

Add Subscriptions program client

Adds a generated Subscriptions program client pinned to solana-foundation/subscriptions ts-client-v0.3.0, including account, instruction, PDA, type, and error helpers.

Also exposes the canonical Subscriptions program address from solana_kit_address_constants.

import 'package:solana_kit/solana_kit.dart';
import 'package:solana_kit_subscriptions/solana_kit_subscriptions.dart';

Future<void> main() async {
  const user = Address('11111111111111111111111111111112');
  const tokenMint = Address('So11111111111111111111111111111111111111112');

  final (authority, bump) = await findSubscriptionAuthorityPda(
    programAddress: subscriptionsProgramAddress,
    seeds: SubscriptionAuthoritySeeds(user: user, tokenMint: tokenMint),
  );

  print('authority=$authority bump=$bump');
}

Build typed instructions for fixed and recurring delegations.

final instruction = getCreateFixedDelegationInstruction(
  programAddress: subscriptionsProgramAddress,
  delegator: delegator,
  subscriptionAuthority: subscriptionAuthority,
  delegationAccount: delegationAccount,
  delegatee: delegatee,
  systemProgram: systemProgram,
  fixedDelegation: CreateFixedDelegationData(
    nonce: BigInt.from(1),
    amount: BigInt.from(1_000_000),
    expiryTs: BigInt.zero,
    expectedSubscriptionAuthorityInitId: BigInt.zero,
  ),
);

Owner: @ifiokjr · Review: PR #187

🚀 Feature #

Subscriptions: regenerate from ts-client-v0.4.0-rc.2

Regenerates the Subscriptions generated code from upstream IDL ts-client-v0.4.0-rc.2 (was ts-client-v0.3.0). Adds 3 new instructions:

  • revokeSubscriptionAuthority
  • revokeAbandonedDelegation
  • revokeAbandonedSubscription

Adds 4 new errors: transferHookTooManyAccounts, invalidSelfProgram, planEndTsCannotExtend, recurringDelegationStartOnLandingRequiresExpiry.

Updates existing instructions with new required/optional accounts (payer, receiver, subscriptionAuthority, eventAuthority, selfProgram) and PDA-based eventAuthority defaults.

Also fixes three latent renderer bugs in codama-renderers-dart: empty struct constructors, PDA seed import merging, and BigInt import attribution.

Owner: @ifiokjr · Review: PR #195

📖 Documentation #

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.

Owner: @ifiokjr · Review: PR #192

solana_kit_subscriptions 0.1.1 (2026-08-18) #

🚀 Feature #

Regenerate solana_kit_subscriptions from the v0.5.0 IDL

Regenerated solana_kit_subscriptions from the solana-foundation/subscriptions ts-client-v0.5.0 Codama IDL, bringing the generated Dart surface in sync with the pinned reference (ts-client-v0.4.0-rc.2 → ts-client-v0.5.0).

Notable additions and changes:

  • New cancelSubscriptionNow instruction (discriminator 17) with CancelSubscriptionNowData (expectedCurrentPeriodStartTs).
  • resumeSubscription now takes a required resumeData: ResumeData struct (expectedExpiresAtTs).
  • UpdatePlanData gained four required fields: expectedCreatedAt, expectedEndTs, expectedPullers, and expectedMetadataUri.
  • getCreatePlanInstruction accepts an optional payer account.
  • Generated program-level instruction identification and parsing helpers (SubscriptionsInstruction enum, identifySubscriptionsInstruction, parseSubscriptionsInstruction) and new error codes.

Owner: @ifiokjr · Review: PR #204

solana_kit_subscriptions 0.1.2 (2026-08-19) #

Changed #

  • No package-specific changes were recorded; solana_kit_subscriptions was updated to 0.1.2.

solana_kit_subscriptions 0.2.0 (2026-08-30) #

📖 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.

Owner: @ifiokjr · Review: PR #223

solana_kit_subscriptions 0.2.1 (2026-08-30) #

Changed #

  • No package-specific changes were recorded; solana_kit_subscriptions was updated to 0.2.1.

solana_kit_subscriptions 0.2.2 (2026-09-06) #

Changed #

  • No package-specific changes were recorded; solana_kit_subscriptions was updated to 0.2.2.

solana_kit_subscriptions 0.2.3 (2026-09-12) #

Fixes #

  • Document program errors and the generated program-client contract. Add library doc comments synchronized from shared MDT sections to thirteen packages: program error matching (isProgramError + TransactionMessageInput) and the generated program-client API shape are now documented inline in each library and in the errors docs page; six barrels that had no library doc comment gain one; three one-line library headers are expanded. No code changes. Owner: @ifiokjr · Review: PR #248

solana_kit_subscriptions 0.3.0 (2026-09-21) #

Breaking changes #

Raise the Dart and Flutter baseline

The workspace now builds against Dart 3.13.3 and Flutter 3.47.4, and every package declares that floor instead of the previous Dart 3.12 range. Consumers on older SDKs can no longer resolve these packages, so this release is breaking even though no Dart API changed.

The Flutter floor rises from 3.44 to 3.47 for solana_kit_mobile_wallet_adapter, solana_kit_mobile_wallet_adapter_protocol, and solana_kit_wallet_adapter, matching the floor solana_kit_wallet_ui already required. solana_kit_lints ships the raised floor to consumers, so it carries the same breaking bump. Every other package raises only the Dart SDK floor.

Raising the language version also switches dart format to the tall style, so 83 files across library, test, script, and Codama-generated trees are reflowed. The renderer pipes generated output through dart format, so regenerating stays consistent.

Align your own SDK constraint with the workspace:

environment:
  sdk: ^3.13.0
  # Omit for pure Dart packages; required for the Flutter packages above.
  flutter: ">=3.47.0"

Owner: Ifiok Jr. · Introduced in: 5f5fe01 · Last updated in: 19932db

0.0.0 #

Placeholder publication.