NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev · #5915 most downloaded on pub.dev
A collection of general purpose libraries for dart projects
Last release 1 months ago
08 Sep 2026
Release timing varies
gaps range from 8 days to 2 months
Nearly every release is documented
notes for 60 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
7 months old
62 releases · first in 2026
One column per month.
refactor: apply Strategy pattern to ExceptionStrategy in CompositeEventSink by @TarasMazepa in #131
Full Changelog: monolib-dart-v0.0.61...monolib-dart-v0.0.62
FileEnsureOpenExtension with openWriteEnsureParent to easily open a file for writing while ensuring its parent directories exist.feat: add FutureEventSinkExtension by @TarasMazepa in #134
Full Changelog: monolib-dart-v0.0.60...monolib-dart-v0.0.61
FutureEventSinkExtension allowing a Future<EventSink<T>> to be used synchronously as an EventSink<T> by buffering events until it resolves.feat: Add CompositeEventSink by @TarasMazepa in #130
Full Changelog: monolib-dart-v0.0.59...monolib-dart-v0.0.60
feat: add mappedLastOrNull to Stream extensions by @TarasMazepa in #129
Full Changelog: monolib-dart-v0.0.58...monolib-dart-v0.0.59
mappedLastOrNull to Stream extensions (now OnStream) to map stream values and return the last non-null mapped result.perf: optimize getSink caching in csvEncodeAsync by @TarasMazepa in #128
Full Changelog: monolib-dart-v0.0.57...monolib-dart-v0.0.58
getSink() caching in csvEncodeAsync, jsonlEncodeAsync, and jsonEncodeAsync by using late final for zero-byte stream protection without repetitive closure evaluation overhead.jsonEncodeAsync to use the withLazyStringSink utility, unifying sink lifecycle management with CSV and JSONL encoders.feat: Add JsonStringEscapingSink for streaming JSON string payloads by @TarasMazepa in #127
Full Changelog: monolib-dart-v0.0.56...monolib-dart-v0.0.57
feat: Add dense 2D data structures to monolib_dart by @TarasMazepa in #126
Full Changelog: monolib-dart-v0.0.55...monolib-dart-v0.0.56
DenseTable<T>, Float64Table, and Int32Table for high-performance, dense 2D data structures backed by single flat lists.feat(monolib-dart): add onError callback to tryAdd and tryAddError by @TarasMazepa in #125
onError callback to tryAdd and tryAddError by @TarasMazepa in #125Full Changelog: monolib-dart-v0.0.54...monolib-dart-v0.0.55
onError callbacks to tryAdd and tryAddError stream extensions to allow reporting of swallowed exceptions.feat: add onDone callback to CsvMappedDecoder and JsonlMappedDecoder by @TarasMazepa in #124
Full Changelog: monolib-dart-v0.0.53...monolib-dart-v0.0.54
feat: Add onDone callback to Csv and Jsonl mapped batch decoders by @TarasMazepa in #123
Full Changelog: monolib-dart-v0.0.52...monolib-dart-v0.0.53
onDone callback to CsvMappedBatchDecoder and JsonlMappedBatchDecoder.refactor: tryAdd and tryAddError as Sink extensions by @TarasMazepa in #122
Full Changelog: monolib-dart-v0.0.51...monolib-dart-v0.0.52
tryAdd and tryAddError extensions to apply to Sink and EventSink instead of just StreamController, enabling broader usage across all sink types while maintaining StreamController-specific fast paths.chore: update AGENTS.md by @TarasMazepa in #120
Full Changelog: monolib-dart-v0.0.50...monolib-dart-v0.0.51
tryAddError to StreamController extensions.ignoreError boolean to tryAdd and tryAddError which will catch and suppress exceptions when adding to a stream.feat: make joinWith empty list behavior configurable by @TarasMazepa in #119
Full Changelog: monolib-dart-v0.0.49...monolib-dart-v0.0.50
joinWith method in OnList extension to accept an ifEmpty callback parameter.feat: Adds OnListOfString joinWith method and prepares 0.0.49 release by @TarasMazepa in #118
Full Changelog: monolib-dart-v0.0.48...monolib-dart-v0.0.49
Fix concurrent write crashes in jsonl batch writer by adding write queue by @TarasMazepa in #117
Full Changelog: monolib-dart-v0.0.47...monolib-dart-v0.0.48
Batcher by guaranteeing that internal onBatch executions run sequentially, preventing overlapping IOSink flush/write errors.refactor: extract encode batch async and lazy string sink by @TarasMazepa in #116
Full Changelog: monolib-dart-v0.0.46...monolib-dart-v0.0.47
withLazyStringSink and encodeBatchAsync utilities.release: 0.0.46 with onBatch callback by @TarasMazepa in #115
Full Changelog: monolib-dart-v0.0.45...monolib-dart-v0.0.46
onBatch callback to CsvMappedBatchDecoder and JsonlMappedBatchDecoder.Adds csvEncodeBatchAsync and jsonlEncodeBatchAsync to encode streams of batches.
csvEncodeBatchAsync and jsonlEncodeBatchAsync to encode streams of batches.Adds flattenToList({bool cancelOnError = true, bool sync = false}) extension method to Stream > to efficiently gather and flatten all emitted lists in
flattenToList({bool cancelOnError = true, bool sync = false}) extension method to Stream<List<T>> to efficiently gather and flatten all emitted lists into a single Future<List<T>>.BREAKING: csvEncodeAsync now uses named arguments ({required Object items, StringSink? sink, StringSink Function()? sinkProvider}) to match jsonlEncod
csvEncodeAsync now uses named arguments ({required Object items, StringSink? sink, StringSink Function()? sinkProvider}) to match jsonlEncodeAsync.CsvCodec with JsonlCodec by introducing a const constructor and migrating encoder and decoder fields to getters.Complete API symmetry for JSONL decoders by propagating jsonCodec through JsonlMappedDecoder and JsonlMappedBatchDecoder, allowing custom JSON decoder
jsonCodec through JsonlMappedDecoder and JsonlMappedBatchDecoder, allowing custom JSON decoders to be injected.Added always_use_package_imports lint rule and applied it project-wide.
always_use_package_imports lint rule and applied it project-wide.CsvDecoder and JsonlDecoder by delegating structural parsing to their respective chunked decoders.BatchingSinkMixin to remove batching boilerplate from mapped batch decoders.iterateStreamOrIterable to consolidate stream/iterable iteration in async encoders.Performs DRY cleanup on JSONL decoders by moving line sanitization (stripping carriage returns and empty line checks) directly into JsonlBaseChunkSink
JsonlBaseChunkSink.BREAKING: Removed csvEncodeAsyncForIOSink, jsonlEncodeAsyncForIOSink, and jsonEncodeAsyncForIOSink utilities.
csvEncodeAsyncForIOSink, jsonlEncodeAsyncForIOSink, and jsonEncodeAsyncForIOSink utilities.csv_cell_writer.dart to DRY up encoders.Performs massive DRY refactoring on chunked decoders by extracting duplicated structural parsing logic into CsvBaseChunkSink and JsonlBaseChunkSink.
CsvBaseChunkSink and JsonlBaseChunkSink.Extracts duplicate convert implementation from chunked decoders into a common ChunkedOnlyConverter base class.
convert implementation from chunked decoders into a common ChunkedOnlyConverter base class.Renames CsvRowDecoder to CsvChunkedDecoder and JsonlMapper to JsonlChunkedDecoder to complete the decoder API matrix unification.
CsvRowDecoder to CsvChunkedDecoder and JsonlMapper to JsonlChunkedDecoder to complete the decoder API matrix unification.JsonlChunkedDecoder to handle its own chunk boundary line splitting, maximizing performance.Adds CsvMappedBatchDecoder and JsonlMappedBatchDecoder for high-throughput batch-emitting stream optimizations.
CsvMappedBatchDecoder and JsonlMappedBatchDecoder for high-throughput batch-emitting stream optimizations.MappedCsvRowDecoder to CsvMappedDecoder and JsonlSplitMapper to JsonlMappedDecoder to unify naming conventions.Adds JsonlSplitMapper converter that fuses line-splitting directly into JSON mapping, eliminating intermediate stream event overhead.
JsonlSplitMapper converter that fuses line-splitting directly into JSON mapping, eliminating intermediate stream event overhead.Refactors MappedCsvRowDecoder and CsvRowDecoder to use synchronous StreamController instead of Stream.multi to preserve standard stream contracts and
MappedCsvRowDecoder and CsvRowDecoder to use synchronous StreamController instead of Stream.multi to preserve standard stream contracts and lifecycle hooks.Guarantees jsonlEncodeAsync outputs a trailing newline even if item serialization throws an error.
jsonlEncodeAsync outputs a trailing newline even if item serialization throws an error.OnFunctionWithOneArgument (withAnArgument).asArgumentIn and quotingString from OnObject.Adds mapLists and whereElements to OnStreamOfLists extension on Stream >.
mapLists and whereElements to OnStreamOfLists extension on Stream<List<T>>.OnIterableOfNullableBoolFunctions extension with combinedEvery and combinedAny.OnNullableString extension with emptyToNull into on_nullable_string.dart.Batcher documentation and streamlines internal batch tracking.mapCatching from OnIterable.compareChainReverse from OnBool.discardedByFloor from OnDouble.OnIterableOfListOfString (skipFirstIfIsCsvHeaderRow).OnListOfString (isTrimmedDeepEqualsTo).OnString (removeEndingNewLine, ensureEndsWithADot, removeEnclosingQuotationMarks).NullIOSink.OnFunctionReturningList (asSkippingMappedToEmptyExpander).Adds JsonlBatchWriter component to efficiently write high-frequency data to a JSONL file in batches.
JsonlBatchWriter component to efficiently write high-frequency data to a JSONL file in batches.Adds AsyncJsonWritable interface for providing inversion-of-control when encoding objects asynchronously in jsonEncodeAsync.
AsyncJsonWritable interface for providing inversion-of-control when encoding objects asynchronously in jsonEncodeAsync.StreamingJsonString which allows streaming strings directly into the output sink without holding them in memory.BREAKING: Removes jsonEncodeAsyncForIOSinkProvider and jsonlEncodeAsyncForIOSinkProvider.
jsonEncodeAsyncForIOSinkProvider and jsonlEncodeAsyncForIOSinkProvider.jsonlEncodeAsync to use a late variable for sink initialization.fluent_json.dart, monolib_dart.dart, and stream.dart.BREAKING: Updates signatures for async JSON/JSONL encoders (jsonEncodeAsync, jsonlEncodeAsync) to use named arguments (items, sink, sinkProvider).
jsonEncodeAsync, jsonlEncodeAsync) to use named arguments (items, sink, sinkProvider).sinkProvider for async encoders. Sinks are now memoized and only spun up upon the first write operation, saving resources for empty streams/iterables.close()) for sinks spawned by sinkProvider, while respecting caller ownership for directly provided sinks.jsonEncodeAsyncForIOSinkProvider and jsonlEncodeAsyncForIOSinkProvider to support lazy IOSink resolution.Adds JsonlMapper and JsonlMapperSinkInternal for mapping JSON from chunked JSONL strings.
JsonlMapper and JsonlMapperSinkInternal for mapping JSON from chunked JSONL strings.utf8DecodeAndLineSplit extension on Stream<List<int>>.Adds MappedCsvRowDecoder for streaming asynchronous chunked CSV parsing with mapping and filtering support.
MappedCsvRowDecoder for streaming asynchronous chunked CSV parsing with mapping and filtering support.Adds LazyJson class to defer JSON evaluation.
LazyJson class to defer JSON evaluation.Adds StreamWhereTypeExtension with whereType () method to Stream.
StreamWhereTypeExtension with whereType<R>() method to Stream.MapNotNullStreamExtension with mapNotNull<R>() method to Stream.Adds CsvRowDecoder for streaming asynchronous chunked CSV parsing.
CsvRowDecoder for streaming asynchronous chunked CSV parsing.Adds Iso8601WithTimeZone extension on DateTime with toIso8601StringWithTz method.
Iso8601WithTimeZone extension on DateTime with toIso8601StringWithTz method.Adds Flag and related models (FlagFindResult, FlagFindType, OptionalFlagResult) for parsing CLI arguments to cli.dart.
Flag and related models (FlagFindResult, FlagFindType, OptionalFlagResult) for parsing CLI arguments to cli.dart.Adds Zalgo encoding and decoding functions
CsvDecoder - ensuring that no empty lists would be output at the end of the csv list of lists
Enhances Batcher with proper asynchronous disposal (waits for all in-flight batches) and allows nullable limits (maxBatchSize / maxDuration). Adds thr
Batcher with proper asynchronous disposal (waits for all in-flight batches) and allows nullable limits (maxBatchSize / maxDuration). Adds throwOnAddAfterDispose configuration flag.OnStreamOfListOfInt extension on Stream<List<int>> with readLine() and utf8DecodeAndLineSplit().Adds jsonEncodeAsyncForIOSink, jsonlEncodeAsyncForIOSink, and csvEncodeAsyncForIOSink
jsonEncodeAsyncForIOSink, jsonlEncodeAsyncForIOSink, and csvEncodeAsyncForIOSinkAdds csvEncodeAsync asynchronous CSV stream encoder
csvEncodeAsync asynchronous CSV stream encoderOnFutureFunction extension with asyncCallWithRetryOnFailure and asyncRetryOnFailure global function- Adds withIOSink to IOSink
withIOSink to IOSinkAdds withIOSink to IOSink Function()
withIOSink to IOSink Function()- Actually adds jsonlEncodeAsync
- Adds jsonlEncodeAsync
Adds toExtendedRadixString extension method to int
toExtendedRadixString extension method to intmin() and max() extension methodsAdds OnString.parseAsFluentJson extension
OnString.parseAsFluentJson extensionOnDouble, OnFunctionWithNoArguments, OnFunctionWithOneArgument, OnIterableOfNum, OnListOfLists, and OnString extensions.TableCellAlignLeft and TableCellAlignRight for table formatting.Fixes ConcurrentModificationError in PillarChangeNotifier during notification.
Adds OnIterableOfStreamControllers
JsonlCodecOnIterableOfStreamControllersOnFunctionReturningListOnListOfStreamControllersOnStreamControllerOnStreamOfListsSingleValueCachingStreamStreamWithClose- Adds NullIOSink
NullIOSinkChanges jsonEncodeAsync signature to use Object? instead of dynamic
jsonEncodeAsync signature to use Object? instead of dynamicAdds jsonEncodeAsync streaming JSON encoder
jsonEncodeAsync streaming JSON encoder- Adds various extension methods - Adds FluentJson
Your coding agent can read these notes before it upgrades. Set up the MCP server →