solana_kit_functional 0.9.3
solana_kit_functional: ^0.9.3 copied to clipboard
Pipe and compose utilities 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_functionalwas updated to 0.9.3 as part of groupmain.
0.9.2 - 2026-09-06 #
Changed #
- No package-specific changes were recorded;
solana_kit_functionalwas updated to 0.9.2 as part of groupmain.
0.9.1 - 2026-08-30 #
Changed #
- No package-specific changes were recorded;
solana_kit_functionalwas updated to 0.9.1 as part of groupmain.
0.9.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.
0.8.0 - 2026-08-19 #
Changed #
- No package-specific changes were recorded;
solana_kit_functionalwas updated to 0.8.0 as part of groupmain.
0.7.0 - 2026-08-18 #
0.6.0 - 2026-08-12 #
๐ฅ Breaking Change #
Remove deprecated APIs across the SDK
Breaking change. Clears every remove_deprecations_in_breaking_versions lint warning by deleting deprecated members and migrating call sites to their documented replacements. No deprecations are suppressed; each deprecated declaration is removed.
createEmptyClient (solana_kit)
Removed the deprecated createEmptyClient alias. Use createClient instead.
// Before
final client = createEmptyClient({'ready': true});
// After
final client = createClient({'ready': true});
Deprecated fixed-point rounding modes (solana_kit_fixed_points)
Removed the deprecated FixedPointRoundingMode values down, up, and halfUp. The surviving modes are strict, floor, ceil, trunc, round.
downwas a duplicate oftruncโ useFixedPointRoundingMode.trunc.halfUpwas a duplicate ofroundโ useFixedPointRoundingMode.round.up("round away from zero") has no single replacement. Usefloororceildepending on the sign of the value, orroundfor nearest.
Deprecated Pipe extension (solana_kit_functional)
Removed the deprecated Pipe extension from solana_kit_functional. Pipe is re-exported from solana_kit_transaction_messages and the solana_kit umbrella. Switch imports accordingly:
// Before
import 'package:solana_kit_functional/solana_kit_functional.dart';
// After
import 'package:solana_kit_transaction_messages/solana_kit_transaction_messages.dart';
solana_kit no longer depends on solana_kit_functional. The solana_kit_functional package is now an empty placeholder pending full retirement.
Deprecated subscriptions compatibility APIs
The deprecated AbortSignal/AbortController and DataPublisher/WritableDataPublisher/createDataPublisher compatibility APIs were the core transport substrate of the subscriptions stack, not a thin compatibility layer. They are replaced by stream-native and cancellation-token equivalents.
Cancellation
AbortSignalโCancellationToken(fromsolana_kit_subscribable)AbortControllerโCancellationTokenSource(fromsolana_kit_subscribable)controller.signalโsource.tokencontroller.abort([reason])โsource.cancel([reason])signal.isAbortedโtoken.isCancelledsignal.reasonโtoken.reasonsignal.futureโtoken.future
Public field/parameter names that held an AbortSignal (e.g. abortSignal, signal) are kept; only their type changed to CancellationToken. CancellationToken and CancellationTokenSource are re-exported from solana_kit_rpc_subscriptions and solana_kit_rpc_subscriptions_channel_websocket so consumers do not need a direct solana_kit_subscribable dependency.
AbortError, isAbortError, getAbortableFuture, and normalClosureCode remain in solana_kit_rpc_subscriptions_channel_websocket (behavior unchanged; their AbortSignal? params are now CancellationToken?).
DataPublisher โ NotificationStreams
- The transport contract changed from
Future<DataPublisher>toFuture<NotificationStreams>. RpcSubscriptionsChannelnow exposesNotificationStreams get streamsinstead of theon(channelName, subscriber)method.createDataPublisher(),WritableDataPublisher,DataPublisher, and theDataPublisherStreamsextension are removed.- The
*FromDataPublisherhelpers are removed:createStreamFromDataPublisher,StreamFromDataPublisherConfig,createAsyncIterableFromDataPublisher,demultiplexDataPublisher,createReactiveStoreFromDataPublisher,createReactiveStreamStoreFromDataPublisher. - The stream-native helpers are kept:
ChannelStreamController,createStreamFromDataAndErrorStreams,demultiplexStream,createReactiveStoreFromStreams,ReactiveStore,ReactiveStreamStore,createReactiveStreamStore.
Public subscription APIs
PendingRpcSubscriptionsRequest.subscribe() and .reactive() still return Future<Stream<T>> and Future<ReactiveStore<T>> respectively. Internally they now consume NotificationStreams.notifications / .errors instead of DataPublisher channels.
Migration
// Before
final controller = AbortController();
final stream = await pending.subscribe(
RpcSubscribeOptions(abortSignal: controller.signal),
);
controller.abort();
// After
final source = CancellationTokenSource();
final stream = await pending.subscribe(
RpcSubscribeOptions(abortSignal: source.token),
);
source.cancel();
Owner: Ifiok Jr. ยท Introduced in: 3901c24 ยท Last updated in: 7d98d00
๐ 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
0.4.0 - 2026-05-30 #
๐ Feature #
Deprecate solana_kit_functional
Deprecate solana_kit_functional; the Pipe extension is now re-exported from solana_kit_transaction_messages and the umbrella package.
Owner: Ifiok Jr. ยท Introduced in: 29e8823 ยท Last updated in: 0ee3d60
๐ 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