NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev
Action-based HTTP client for Flutter with beautiful colored logging, progress tracking, and comprehensive API request management.
Last release 6 months ago
25 Mar 2026
Ships unpredictably
gaps range from 8 days to 1.5 years
Nearly every release is documented
notes for 37 of 37 stable releases
Nothing withdrawn
no release was ever pulled
5 years old
45 releases · first in 2021
One column per quarter.
🐛 FIX: Resolve LateInitializationError on statusCode and requestOptions in ActionRequestError for non-DioException errors
LateInitializationError on statusCode and requestOptions in ActionRequestError for non-DioException errorsjson dependency from example app (incompatible with current Dart SDK)🔧 ENHANCED: Replace ApiInterceptor with Interceptor for consistency
ApiInterceptor with Interceptor for consistency🐛 FIX: Integrate path_provider_foundation and disable ANSI colors on iOS
path_provider_foundation and disable ANSI colors on iOSprint with debugPrint for improved logging consistency🎨 NEW: Complete visual overhaul of API request/response logging with beautiful colored output
LogColors utility class with 30+ ANSI color methods and smart detectionJsonFormatter with intelligent key detection and proper indentation🗑️ DEPRECATED: enableLog parameter deprecated in favor of logLevel (still works for backward compatibility)
ApiLogLevel enum for granular logging control (none, error, info, debug)ApiLogLevel.debug - Send logs only to custom onLog callback (no console output)ApiLogLevel.error - Log only API errors and exceptions to consoleApiLogLevel.info - Full request/response logging to console (default behavior)ApiLogLevel.none - Disable all logging completelyonLog callbacks work alongside console outputApiLogData includes comprehensive request/response metadata and timing informationenableLog parameter deprecated in favor of logLevel (still works for backward compatibility)🎉 NEW: Unified progress tracking system with ProgressData and ProgressHandler
ProgressData and ProgressHandlerFileUploadAction<T> for file uploads with progress trackingSimpleApiRequest with .withProgress(), .withUploadProgress(), .withDownloadProgress()🎉 NEW: Added comprehensive file download support with FileDownloadAction
FileDownloadActionCancelTokenDownloadProgress class with formatted progress reportingSimpleApiRequest download method already supported file downloadsEnhanced comprehensive dartdoc documentation across all library files
Completely rewrote README.md with modern structure and comprehensive documentation
add withHeader, withHeaders to add action headers in runtime.
withHeader, withHeaders to add action headers in runtime.change execute return to Either ? may be return null
Either<ActionRequestError?, T?>? may be return nulladd whereQuery, whereMapQuery to build query builder
whereQuery, whereMapQuery to build query builderwhere, whereMap to request data* print form data in log
fix request action if token is null
fix Unsupported operation: Cannot modify unmodifiable map
* add where to Query Builder
where to Query Builderadd disableGlobalOnError to disable global error tracking
disableGlobalOnError to disable global error trackingremove api error from ApiRequestAction
ApiRequestAction* upgrade dependencies
dependencies[MOD]: modify action events
[MOD]: modify action events
mark Deprecated to ApiRequestException method
ActionRequestError catch and handle errorsexecute to handle response with errorsrun methodApiRequestException methodmodify refreshConfig to update config after change
refreshConfig to update config after changeSimpleApiRequestmodify default headers to options
[CHANGE]: release new v
[CHANGE]: release new v
modify run method use Either ApiRequestAction
run method use Either ApiRequestActionApiRequestException to handle api server errorsmodify listFormat global option in ApiRequestOptions
listFormat global option in ApiRequestOptionsmodify onError global error handler in ApiRequestOptions
onError global error handler in ApiRequestOptionsmodify ApiRequestError to to dynamic error
ApiRequestError to to dynamic errorsubscribe to call execute or onQueue[MOD]: convert events to getter , setter to access its from any where
[MOD]: convert events to getter, setter to access its from any where
ApiRequestPerformance to extract performance reportgetter, setter to access its from any wheremodify ApiRequestError by use try catch
ApiRequestError by use try catch* update documentation
[MOD]: modify ApiRequestOptions
[MOD]: modify ApiRequestOptions
ApiRequestAction for simple api request don't need to ApiRequest classonChnage to subscribedefaultQueryParameters with old instanceinterceptors with old instanceApiRequestOptions:
* fix typing error
modify token type api request options
* fix execute return type
[MOD]: access stream action onQueue && fix run package in web && use …
[MOD]: access stream action onQueue && fix run package in web && use …
…dio instance && dispose action after success or error
* fix run in mobile * reverse support web
* fix support web
&& listen to action onInit, onStart, onSuccess, onError && add ApiRequestError && add onChange to subscribe to stream
&& listen to action `onInit`, `onStart`, `onSuccess`, `onError` && add `ApiRequestError` && add `onChange` to subscribe to stream
RequestActiononQueueonInit, onStart, onSuccess, onErrorApiRequestErroronChange to subscribe to streamadd Token to Header by Interceptors
add contentDataType for request
ApiRequest to mixin* add dynamic path
* improve document * add more example
* update change log
first release for flutter api request as action
Your coding agent can read these notes before it upgrades. Set up the MCP server →