network_module 1.1.0
network_module: ^1.1.0 copied to clipboard
A robust, reusable, and testable network layer package for Flutter applications. Built on Dio with structured error handling, caching integration, request cancellation, and comprehensive testing support.
Changelog #
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
1.1.0 - 2025-06-22 #
Added #
- Git Flow Integration: Complete Git Flow workflow with standard commands and extension support
- Streamlined CI/CD: Simplified workflow structure with only essential validations
- Security Enhancements: Dedicated security scan workflow with monthly scheduled runs
- Dependabot Configuration: Monthly automatic dependency updates for Dart, Flutter, and GitHub Actions
- Enhanced Documentation: Comprehensive Git Flow guide in CONTRIBUTING.md and README.md
- GitHub Release Integration: Automatic GitHub Release creation with pub.dev publishing
Changed #
- Workflow Structure: Simplified from 7 workflows to 3 focused workflows
- CI/CD Efficiency: Single job workflows instead of complex multi-job pipelines
- Flutter Versions: Removed hardcoded versions, now uses stable channel
- Build Process: Removed unnecessary example app builds from CI workflows
- Security Scanning: Monthly security audits instead of weekly (first Monday of each month)
- Dependency Updates: Monthly Dependabot runs instead of weekly
Removed #
- Complex Workflows: Eliminated redundant and overly complex workflow files
- Example App Builds: Removed unnecessary Flutter app compilation from CI
- Feature Branch Validation: Simplified to main/develop validation only
- Duplicate Workflows: Consolidated multiple publish workflows into single solution
Fixed #
- Security Scan: Fixed "No active package pana" error with proper installation
- Git Flow Configuration: Added
.gitflowconfiguration file for consistent setup - Workflow Maintenance: Reduced maintenance overhead with streamlined structure
- Coverage Files: Added coverage files to .gitignore to prevent Git tracking issues
Security #
- Monthly Security Scans: Automated security audits on first Monday of each month
- Dependency Monitoring: Automated vulnerability detection with GitHub Dependency Review
- Reduced Attack Surface: Simplified workflows with fewer external dependencies
1.0.0 #
Added #
- Initial release of Network Module
- Abstract
DioClientbase class for standardized API clients - Comprehensive HTTP methods:
get,post,put,delete,fetch,download - Structured error handling with
NetworkExceptionhierarchy - Stable error codes (
NetworkErrorCodeenum) for localization support - Seamless integration with
dio_cache_interceptorfor caching - Request cancellation support using Dio's
CancelToken - Progress tracking callbacks for upload/download operations
- Dependency injection friendly design
- Comprehensive test suite with 1594+ test lines
- Full documentation with usage examples
- Support for global and per-request cache options
- Automatic
DioExceptiontoNetworkExceptionconversion - Support for custom interceptors and HTTP client adapters
Features #
- Error Handling: 6 specific exception types with localization-ready error codes
- Caching: Both global and per-request caching with
dio_cache_interceptor - Testing: Fully mockable design with comprehensive test coverage
- Flexibility: Abstract base class allows easy extension and customization
- Production Ready: Robust error handling and comprehensive documentation
Dependencies #
dio: ^5.8.0 - HTTP client for Dartdio_cache_interceptor: ^4.0.0 - Caching support for Dio
Development Dependencies #
flutter_test: SDK test frameworkflutter_lints: ^5.0.0 - Linting rulesmocktail: ^1.0.4 - Mocking library for testing