timsoftdz_network 2.0.0
timsoftdz_network: ^2.0.0 copied to clipboard
Enterprise-grade HTTP networking framework for Dart & Flutter. Interceptor-based, retry-safe, circuit-breaker support, Result<T> API, and zero-crash serialization. Inspired by Dio and Retrofit.
Changelog #
All notable changes to this project are documented in this file.
The format follows Keep a Changelog and this project adheres to Semantic Versioning.
2.0.0 — 2026-04-27 #
🚀 Major Enterprise Release #
This release transforms timsoftdz_network into a production-grade networking framework with advanced architecture features.
✨ Added #
- Circuit Breaker system (Closed / Open / Half-Open states)
- Debug Inspector mode with full request timeline visualization
- Request tracing with unique RequestId per HTTP call
- Global error boundary for APM / monitoring integration
- Safe serialization layer with
SerializationException - Enhanced
Result<T>API:mapflatMaprecoverfoldgetOrDefault
- CancelGroup system for bulk cancellation control
- Request lifecycle hooks improvements (onRequest / onResponse / onError)
- Improved interceptor pipeline execution system
⚡ Improved #
- Faster interceptor chain execution
- Reduced memory usage in logging system
- Improved JSON parsing safety in
TimResponse - Better compatibility with Dart CLI, Flutter Web, and Server Dart
- More stable retry execution flow
🛠 Fixed #
- Fixed serialization crash on invalid JSON casting
- Fixed retry infinite loop edge case
- Fixed CancelToken race condition
- Fixed LoggingInterceptor blocking async pipeline
- Fixed circuit breaker state transition bug
⚠️ Breaking Changes #
RetryInterceptornow requires explicitRetryPolicy- Some internal parser classes moved under internal structure
- Minor constructor changes in
TimNetworkfor clarity and consistency
0.1.0 — 2026-01-15 #
🎉 Initial Release #
Added #
Result<T>pattern withSuccess/FailureTimNetworkfacade (GET / POST / PUT / PATCH / DELETE / HEAD)TimHttpClientcore engine with interceptor pipelineDefaultHttpAdapterusingpackage:httpLoggingInterceptorwith ANSI color outputHeadersInterceptor(static and dynamic headers)AuthInterceptorwith Bearer token support and auto refresh mutexRetryInterceptorwith pluggable retry policiesExponentialBackoffPolicywith full jitter supportFixedDelayPolicyfor simple retry scenariosCancelTokenfor request cancellation- Full exception hierarchy (
TimNetworkExceptionbase class) - Parser system:
FunctionParserListParserWrappedParserWrappedListParserRawParserStringParserMapParser
QueryBuilderutility for safe URL constructionStatusCodeUtilsfor HTTP status classificationTokenStorageabstraction +MemoryTokenStorageTokenRefresherinterface +NoOpTokenRefresher- Full test suite:
- client tests
- interceptor tests
- retry tests
- Complete working example in
/example/main.dart