NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev · #3650 most downloaded on pub.dev
An easy, lightweight, turnkey solution for logging with AWS CloudWatch
Last release 6 months ago
23 Mar 2026
Release timing varies
gaps range from 8 days to 13 months
Nearly every release is documented
notes for 56 of 59 stable releases
Nothing withdrawn
no release was ever pulled
6 years old
59 releases · first in 2021
One column per quarter.
Delete APIs: deleteLogStream and deleteLogGroup on CloudWatch, CloudWatchHandler, and Logger (DeleteLogStream / DeleteLogGroup). Optional ignoreNotFou
deleteLogStream and deleteLogGroup on CloudWatch, CloudWatchHandler, and Logger (DeleteLogStream / DeleteLogGroup). Optional ignoreNotFound treats ResourceNotFoundException as success for idempotent cleanup. CloudWatchHandler removes matching cached loggers after success.Logger uses a synchronized Lock so overlapping log calls serialize sendLogs / PutLogEvents work against the shared logStack (avoids races between pop/prepend and AWS calls).validatePutLogEventsBatch and orderPutLogEventsBatch enforce client-side checks aligned with AWS (non-empty batch, timestamp / message shape, 24h batch span, future and retention window heuristics). Invalid batches fail before the request is sent.rejectedLogEventsInfo, the client throws CloudWatchException with type: RejectedLogEventsInfo (and requeues the batch when appropriate).X-Amz-Expires on CloudWatch Logs requests (it was conflated with HTTP timeout; not appropriate for this API).x-amz-security-token uses the exact header key aws_request expects when building signedHeaders.resourceNotFoundMessageImpliesMissingLogStream / resourceNotFoundMessageImpliesMissingLogGroup) refine auto-recovery when AWS reports missing log stream or log group.^2.1.0.analysis_options.yaml includes package:lints/core.yaml plus an expanded custom lint rule set; added a lints dev dependency. CloudWatchHandler constructor parameters use explicit types for stricter public API checks.cloudwatch_logs_compliance_test.dart, strict_put_log_events_mock.dart, and test/integration/live_aws_cloudwatch_logs_test.dart (opt-in live AWS); extended unit tests. Added dart_test.yaml (test_on: vm); run integration tests serially, e.g. dart test test/integration --concurrency=1.DateTime timestamps (no intl); example pubspec.yaml uses path: ../, publish_to: none, and a lints dev dependency for nested-package analysis..gitignore includes .cursor/, .vscode/, and .env*.Dependency: Requires aws_request ^2.0.0 (drops the transitive intl dependency from older aws_request releases). MockAwsRequest now uses a named-parame
aws_request ^2.0.0 (drops the transitive intl dependency from older aws_request releases). MockAwsRequest now uses a named-parameter constructor; this package’s mock path was updated accordingly.PutLogEvents requests no longer include sequenceToken, and client-side handling for InvalidSequenceTokenException and DataAlreadyAcceptedException has been removed. If you relied on the previous retry/token-sync behavior, validate logging under concurrent or high-throughput use.AwsResponse: nextSequenceToken and expectedSequenceToken were removed from the parsed response model (primarily internal; update any code that imported or inspected these fields).awsMaxBytesPerMessage is 1,048,550 bytes (previously 262,116). Split/batch logic and tests were updated accordingly.awsSessionToken), updated throttling notes, and documentation for the ~1 MiB message limit and tuning parameters.largeMessageBehavior is split (not truncate) and that per-message overrides use a minimum of 22 bytes and maximum 1,048,550 bytes.example/aws_cloudwatch_quickstart.dart now sends errors to _errorGroup and normal logs to _logGroup (the two branches were reversed).Nothing published for this version
Updated to aws_request ^1.1.0 Removed outdated lint rule
aws_request ^1.1.0Updated to aws_request ^1.0.1
aws_request ^1.0.1Requires Dart 3.0 or later Updated to aws_request ^1.0.0 Updated to http ^1.0.0
aws_request ^1.0.0http ^1.0.0Removed deprecated analysis options
intl 0.18.0+Updated default message delay to 200ms
largeMessageBehavior to splitUpdated README and fixed examples
Minor housekeeping to fix running tests & lint deprecations
Added timestamped message hash and message number to split messages
* Fixed failing test
Added response status code to CloudWatchException
Added explicit types to constructor arguments that were missing them
Reduced repeated failed lookup printout
Fixed issue where message bytes exceeded max in rare cases with many small messages
maxBytesPerMessage Changes how large each message can be before [largeMessageBehavior] takes effect. Min 5, Max 262116maxBytesPerRequest Changes how many bytes can be sent in each API request before a second request is made.maxMessagesPerRequest Changes the maximum number of messages that can be sent in each API requestInvalidParameterException along with instructions for reporting them* Updated aws_request version
Updated examples to reflect breaking changes
setDelay & setLoggingParametersgroupName & streamName as required arguments to CloudWatchawsAccessKey & awsSecretKey to named argumentsCloudWatchHandler.log argument msg to message to be more consistentAdded note about android permissions to readme
aws_request to 0.3.0 to resolve issues on web [khurram72]Added support for AWS temporary credentials with session tokens
Added session tokens to CloudWatch constructor [khurram72]
Updated aws_request version to fix issue related to web requests
Fixed issue related to using static logStreamName and logGroupName
DNS lookup failures are now silenced by default (raiseFailedLookups flag)
Added support for more automatic error recovery
Added ability to recover from InvalidSequenceTokenException
Updated documentation to remove references to splitLargeMessages
Removed deprecated CloudWatch.withDelay constructor
Refactored log stack into its own class for better readability
Added stack trace to CloudWatchException class
Switched to new aws_cloudwatch version
Updated readme and example with delay type change
Updated setDelay to use Duration
Applied naming fix to CloudWatchHandler instance constructor
Added optimization to reduce lock clutter
Fixed delay from seconds to milliseconds
Added CloudWatchHandler class to easily manage multiple CloudWatch instances
Fixed naming scheme for optional variables in constructor
Fixed bug where delay was input in seconds instead of milliseconds
Fully removed optional deprecated xAmzTarget argument from main constructor (deprecated in 0.1.0)
QOL update
Moved synchronous calls to synchronized package
Updated aws_request version to fix null safety typing issue
Fixed null safety issue with previous release
Moved to new version of aws_requests to fix hard coded region bug
Added console output logging with 4 verbosity levels
Fixed issue with attempted logging before logstream creation finished
Fixed issue with sending empty logs
Updated aws_request version to fix unicode error
Actually migrated to null safety
Removed two more references to ServiceInstance
Put deprecation warning on xAmzTarget (formerly serviceInstance
Nothing published for this version
Nothing published for this version
Fixed issue with attempted logging before logstream creation was finished
Non-null Safety Update
Fixed issue with sending empty logs
Non-null Safety Update
Put deprecation warning on xAmzTarget (formerly serviceInstance)
Non-null Safety Update
* Updated dependencies
* Added example
Added initial code for sending logs to cloudwatch
Your coding agent can read these notes before it upgrades. Set up the MCP server →