strategic_logger 4.0.0
strategic_logger: ^4.0.0 copied to clipboard
Modern, high-performance logging framework for Flutter & Dart applications with multi-strategy logging, isolate-based processing, and beautiful console output.
4.0.0 #
Top Package DX Improvements - Strategic Logger 4.0.0 #
New Features #
handleLog()method - Override a single method for uniform handling of all log levels. Custom strategies now need only 1 override instead of 4+. Fully backward compatible - existing strategies continue to work without changes.- Named loggers -
logger.named('auth')creates a logger that injects the module name into context and displays it as a prefix in console output. - Lazy evaluation - Pass closures to avoid expensive computations:
logger.debug(() => 'Users: ${expensiveQuery()}'). The closure is only evaluated if the message is actually logged. listen()method - Stream-based extensibility:logger.listen((entry) { ... }). Inspired by Dart'sloggingpackageonRecord.listen()pattern.- Shorthand aliases -
logger.d(),i(),w(),e(),f()for concise logging inspired by theloggerpackage. HttpLogStrategybase class - Shared batch processing, retry logic, and HTTP client management for custom HTTP strategies. Datadog and New Relic now extend this class.LogEntryexported -LogEntryis now available frompackage:strategic_logger/logger.dart(no moresrc/imports needed).showBannerparameter - Control the initialization banner:logger.initialize(showBanner: false).
Improvements #
- DRY context merging - NewRelic strategy now uses
entry.mergedContextinstead of manual merging. - Fixed filename typo -
alread_initialized_error.dartrenamed toalready_initialized_error.dart. Old file removed. - Super parameters - All strategy constructors converted to use Dart 3 super parameters.
- Removed unnecessary imports - Cleaned up redundant
log_queue.dartimports in strategies. - DatadogLogStrategy - Reduced from 378 to ~250 lines by extending
HttpLogStrategy. - NewRelicLogStrategy - Reduced from 272 to ~145 lines by extending
HttpLogStrategy. - README reorganized - Code-first structure with decision matrix, troubleshooting, and progressive disclosure.
- Example simplified - Uses only
ConsoleLogStrategy(no external dependencies required). - Console named logger prefix - Named loggers show as
[auth] Messagein console output.
Breaking Changes #
- Removed
logMessage()andlogError()- Legacy methods removed fromLogStrategy. UsehandleLog(LogEntry)or overridelog()/info()/error()/fatal()instead. - Removed
alread_initialized_error.dart- Typo filename removed. Usealready_initialized_error.dart.
Migration Notes #
- New
handleLog()- Override a single method instead of the oldlogMessage/logErrorpair. - Existing strategies that override
log/info/error/fatalbypasshandleLog()automatically - no changes needed. LogEntryimport - Can now be imported fromlogger.dartinstead ofsrc/core/log_queue.dart.
3.0.1 #
- Updated README ASCII banner to match actual logger output.
3.0.0 #
Auto-Init & Synchronous API - Strategic Logger 3.0.0 #
Breaking Changes #
- Logging methods now return
voidinstead ofFuture<void>log(),info(),error(),fatal(),debug(),warning(),verbose(),logStructured()all returnvoid- Backward compatible: existing code with
await logger.info('msg')still compiles (Dart allowsawaitonvoid) - No more
asyncoverhead on logging calls - fire-and-forget via internal queue
New Features #
- Auto-initialization - Logger works out-of-the-box without calling
initialize()first- Calling
logger.info('msg')beforeinitialize()no longer throwsNotInitializedError - Auto-initializes with
ConsoleLogStrategyatLogLevel.debug - Prints a one-time warning suggesting explicit initialization
- Calling
initialize()after auto-init seamlessly replaces the auto-configuration
- Calling
isAutoInitializedgetter - Check if logger was auto-initialized vs explicitly configured
Removed #
*Syncmethods (debugSync,infoSync,warningSync,errorSync,fatalSync,verboseSync,logSync)- All primary methods are now synchronous, making
*Syncvariants redundant
- All primary methods are now synchronous, making
StrategicLoggerSyncCompatibilityextension - Shadowed by class methods, was redundantStrategicLoggerCompatibilityWrapperclass - UseloggerdirectlyloggerCompatibilityglobal - UseloggerdirectlyLoggerCompatibilityabstract class - Unused compatibility interface- MCP module (
MCPLogStrategy,MCPServer) - Scope creep, not a logging concern - AI module (
AILogStrategy) - Scope creep, not a logging concern NotInitializedError- No longer thrown (auto-init prevents it)
Migration Guide #
// Before (v2.x)
await logger.initialize(strategies: [ConsoleLogStrategy()], level: LogLevel.debug);
await logger.info('Hello'); // Required await + initialize
// After (v3.0.0)
logger.info('Hello'); // Works immediately, no await, no initialize needed
// For full configuration (optional):
await logger.initialize(strategies: [ConsoleLogStrategy(), SentryLogStrategy()], level: LogLevel.info);
logger.info('Now using multiple strategies'); // No await needed
2.1.0 #
โก Per-Strategy Isolate Configuration - Strategic Logger 2.1.0 #
โจ New Features #
- Per-Strategy
useIsolateConfiguration - Each strategy now has its ownuseIsolateparameter- Configure isolate usage individually per strategy instead of globally
- Smart defaults based on operation weight (heavy operations default to
true) - User can override defaults at initialization time
๐ง Strategy Defaults #
| Strategy | Default useIsolate |
Reason |
|---|---|---|
| ConsoleLogStrategy | false |
Lightweight formatting, isolate overhead not worth it |
| DatadogLogStrategy | true |
Heavy batch JSON + GZip compression |
| NewRelicLogStrategy | true |
Heavy batch JSON serialization |
| SentryLogStrategy | true |
Context serialization can be heavy |
| FirebaseCrashlyticsLogStrategy | true |
Context serialization can be heavy |
| FirebaseAnalyticsLogStrategy | true |
Context serialization can be heavy |
๐ก Usage Examples #
await logger.initialize(
strategies: [
// Uses default (false for Console - lightweight)
ConsoleLogStrategy(),
// Uses default (true for Firebase - heavy context)
FirebaseCrashlyticsLogStrategy(),
FirebaseAnalyticsLogStrategy(),
// User can override defaults
DatadogLogStrategy(apiKey: 'key', useIsolate: false), // Force no isolate
SentryLogStrategy(useIsolate: true), // Force isolate
],
);
๐ง Technical Improvements #
- Smart Pool Initialization - Isolate pool only initialized if at least one strategy needs it
- New IsolateManager Tasks - Added
prepareBatchandserializeContexttasks - Fallback Handling - Automatic fallback to main thread if isolate fails
- Zero Breaking Changes - All strategies work without modification (use defaults)
๐ Operations Now Using Isolates #
| Strategy | Operation in Isolate |
|---|---|
| Datadog | JSON encoding + GZip compression of batches |
| NewRelic | JSON encoding of batches |
| Sentry | Context map serialization |
| Crashlytics | Context map serialization |
| Analytics | Context map serialization |
| Console | Log formatting (when enabled) |
2.0.6 #
๐จ Console Logging Improvements - Strategic Logger 2.0.6 #
Changed #
- Simplified console log format - Removed redundant
[HYPN-TECH][STRATEGIC-LOGGER]prefixes from all logs - Modern, clean output - Now shows only essential information: icon, timestamp, level badge, and message
- Cleaner level badges - Changed from background-heavy badges to simple colored text badges
Before (v2.0.5) #
[HYPN-TECH][STRATEGIC-LOGGER][DEBUG] 10:52:59.390 [DEBUG] music_storage_path: null
[HYPN-TECH][STRATEGIC-LOGGER][INFO] 10:52:59.397 [INFO] Found content at 2026-01-10
After (v2.0.6) #
๐ 10:52:59.390 [DEBUG] music_storage_path: null
โน๏ธ 10:52:59.397 [INFO ] Found content at 2026-01-10
Benefits:
- Less visual noise and clutter
- Easier to scan and read logs
- Follows modern logging best practices
- Maintains all functionality (colors, context, timestamps)
2.0.5 #
๐ Bug Fixes - Strategic Logger 2.0.5 #
Fixed #
reconfigure()now preservesprojectName- When callingreconfigure()without providing aprojectName, the logger now correctly preserves the project name from the initialinitialize()call instead of resetting it to null- Added
projectNameparameter toreconfigure()- You can now optionally provide a new project name when reconfiguring
Example #
// Initial setup with project name
await logger.initialize(
projectName: 'My Amazing App',
strategies: [ConsoleLogStrategy()],
);
// Reconfigure preserves project name
await logger.reconfigure(
strategies: [ConsoleLogStrategy(), SentryLogStrategy()],
);
// Banner still shows "My Amazing App"
// Or provide a new project name
await logger.reconfigure(
projectName: 'My Amazing App v2',
strategies: [ConsoleLogStrategy()],
);
// Banner now shows "My Amazing App v2"
2.0.4 #
๐ Flutter SDK 3.38.6 Upgrade - Strategic Logger 2.0.4 #
โก SDK & Dependencies #
- Upgraded to Flutter SDK 3.38.6 - Latest stable version (Dart 3.10.7)
- Updated dependencies to highest compatible versions:
firebase_analytics: ^12.1.0 (was ^12.0.2)firebase_crashlytics: ^5.0.6 (was ^5.0.2)sentry_flutter: ^9.9.2 (was ^9.6.0)collection: ^1.19.1 (was ^1.18.0)meta: ^1.17.0 (was ^1.15.0)ansicolor: ^2.0.3 (was ^2.0.2)build_runner: ^2.10.4 (was ^2.4.13)json_serializable: ^6.11.2 (was ^6.8.0)test: ^1.26.3 (was ^1.24.9)lints: ^6.0.0 (was ^4.0.0)
๐ Notes #
- All dependencies are at their highest versions compatible with Flutter SDK 3.38.6
test1.29.0 andjson_serializable6.11.3 require newer Flutter SDK versions (not yet available on stable)
2.0.3 #
๐จ Banner & Version Display Improvements - Strategic Logger 2.0.3 #
๐ Bug Fixes #
- Fixed banner alignment - Added newline before ASCII art to prevent "flutter:" prefix from displacing first line
- Fixed version display - Normalized version format to lowercase 'v' with space (e.g., "DivineArt v0.1.3")
โจ New Features #
- RECONFIGURATION detection - Banner now shows "STRATEGIC LOGGER RECONFIGURATION" when
force: trueis used- First init:
STRATEGIC LOGGER CONFIGURATION - Reinit with force:
STRATEGIC LOGGER RECONFIGURATION
- First init:
๐ง Visual Changes #
Before:
flutter: ___ ___ ___ ___ __ ___ ___ _ __
| \ | | | | |\ ||__ |__||__/ | | || | | _|
After:
flutter:
___ ___ ___ ___ __ ___ ___ _ __
| \ | | | | |\ ||__ |__||__/ | | || | | _|
2.0.2 #
๐ฅ๏ธ Auto-Detect Terminal Colors - Strategic Logger 2.0.2 #
๐ Bug Fixes #
- Fixed ANSI garbage on iOS/Android - Colors now auto-disabled on platforms that don't support ANSI
- Before:
\^[[36m __ ______ __ ...\^[[0m(garbage text) - After: Clean, readable text without escape codes
- Before:
โจ New Features #
TerminalCapabilitiesclass - Detect if terminal supports ANSI colorsif (TerminalCapabilities.supportsAnsiColors) { // Use colored output }autoDetectColorsparameter inConsoleLogStrategy(default:true)ConsoleLogStrategy( useColors: true, // User preference autoDetectColors: true, // Auto-detect if platform supports colors )
๐ง Platform Behavior #
| Platform | ANSI Support | Behavior |
|---|---|---|
| iOS Simulator/Device | No | Plain text (no colors) |
| Android (Logcat) | No | Plain text (no colors) |
| macOS/Linux Terminal | Yes | Full colors |
| Windows Terminal | Yes | Full colors |
| Web | No | Plain text |
๐ฆ Exports #
- New export:
TerminalCapabilitiesviapackage:strategic_logger/logger.dart
2.0.1 #
๐จ Dynamic Banner & Documentation Update - Strategic Logger 2.0.1 #
โจ New Features #
- Dynamic Project Banner - Your project name displayed in colored ASCII art at initialization!
await logger.initialize( projectName: 'MY APP', // Shows "MY APP" in gradient ASCII art strategies: [ConsoleLogStrategy()], );
๐จ Visual Improvements #
- Modern ASCII Banner - Gradient colors (cyan โ blue โ magenta) like Claude Code CLI
- No more box borders - Clean, modern look without
โโโborders - Dynamic text generation - ASCII art generated from any project name
- Default banner - Shows "STRATEGIC LOGGER" if no projectName provided
๐ Documentation #
- Updated README.md with v2.0.0 changes and new banner examples
- Updated example/example.dart with projectName usage
- Fixed deprecated
useEmojisparameter references in documentation - Updated roadmap to reflect v2.0.0 release
2.0.0 #
๐ Simplification Release - Strategic Logger 2.0.0 #
Clean Architecture & Clean Code: Removed ~1,900 lines of unused code following CLAUDE.md guidelines.
โ ๏ธ Breaking Changes #
- Removed
ObjectPoolclass - was never integrated into the logger, zero impact - Removed
LogCompressionclass - was never integrated into the logger, zero impact
โจ New Features #
LogEntry.mergedContextgetter - Unified method to mergeentry.contextwithentry.event.parameters- CLAUDE.md - Comprehensive development guidelines for contributors
๐ง Improvements #
- All strategies now use
entry.mergedContextfor consistent context handling - Eliminated code duplication across 6 strategy implementations
- Reduced codebase by ~1,900 lines of dead code
- Better code organization following Clean Architecture principles
๐ Code Quality #
- Removed unused
ObjectPool(452 lines) - Removed unused
LogCompression(508 lines) - Removed associated test files (~960 lines)
- Simplified context merging pattern in all strategies
๐ Migration Notes #
- If you were importing
ObjectPoolorLogCompression, remove those imports (they were never functional) - All other code works without changes
1.4.2 #
1.4.1 #
๐ง Bug Fixes - Strategic Logger 1.4.1 #
Fixed #
- Removed hardcoded version from console initialization banner
- Removed
_getPackageVersion()method that was causing version mismatch (was showing 1.2.2 instead of published version) - Removed unused
dart:ioimport
Changed #
- Version display removed from ASCII art banner to avoid version synchronization issues when package is used as dependency
1.4.0 #
๐ Major Improvements - Strategic Logger 1.4.0 #
โ NO BREAKING CHANGES: Backward compatible! Old custom strategies continue to work and now receive context automatically. โ All built-in strategies updated: Using new LogEntry interface for better context support. โ Public API unchanged:
logger.log(),logger.info(), etc. work the same way.
โจ New Features #
- Full Context Support: Context is now properly passed to all strategies
- Datadog v2 API: Updated to use the official v2 endpoint with proper JSON format
- Gzip Compression: Added optional gzip compression for Datadog logs (enabled by default)
- LogEntry-based Strategy Interface: Strategies now receive complete LogEntry objects with full context
๐ง Datadog Strategy Improvements #
- v2 Endpoint: Changed default URL from
https://http-intake.logs.datadoghq.com/v1/inputtohttps://http-intake.logs.datadoghq.com/api/v2/logs - Gzip Compression: Added
enableCompressionparameter (default: true) to reduce network overhead - Proper v2 Format: Logs now use Datadog v2 JSON format with
ddsource,ddtags,hostname,message,service,status,timestampfields - Context Integration: Context fields are now properly added to Datadog log entries for indexing and filtering
๐ Context Propagation #
- Full Context Support: When calling
logger.log("message", context: {"user_id": 123}), the context is now passed to all strategies - Merged Context: Context from both
entry.contextandevent.parametersis merged and available to strategies - Structured Fields: Context fields are added directly to log entries in backends like Datadog for better indexing
๐ API Changes (Backward Compatible!) #
- Strategy Interface: Strategies can now receive
LogEntryobjects with full context- New way: Override
log(LogEntry entry),info(LogEntry entry),error(LogEntry entry),fatal(LogEntry entry) - Legacy way: Override
logMessage()andlogError()- still works and now receives context automatically!
- New way: Override
- Default Implementations: Methods have default implementations that delegate to legacy methods
- Zero Breaking Changes: Old custom strategies continue to work without modification
- Context Now Available: Even legacy strategies receive context automatically via
logMessage()andlogError()
๐ฏ Updated Strategies #
- ConsoleLogStrategy: Now displays context information in formatted output
- DatadogLogStrategy: Updated to v2 API with compression and proper context handling
- SentryLogStrategy: Context is now added as Sentry extra fields
- FirebaseAnalyticsLogStrategy: Context is merged into event parameters
- FirebaseCrashlyticsLogStrategy: Context is added as custom keys
- NewRelicLogStrategy: Context is included in log attributes
- MCPLogStrategy: Context is merged into MCP log entries
- AILogStrategy: Context is included in AI analysis
๐ Bug Fixes #
- Context Not Passed: Fixed issue where context was never passed to strategies
- Datadog Old Endpoint: Updated to use current v2 endpoint
- Missing Compression: Added gzip compression for network efficiency
๐ Security Improvements #
- MCP Server Security: Added authentication support and disabled by default in mobile/web
- Security Warnings: Added clear warnings about MCP and AI strategy risks
- Mobile Protection: MCP Server blocked by default in Flutter mobile apps
- Authentication: Optional API key authentication for MCP Server
- Documentation: Created SECURITY_ANALYSIS.md with detailed security assessment
๐ Documentation #
- Updated README with Datadog v2 setup instructions
- Added examples showing structured context usage
- Updated CHANGELOG with comprehensive change list
- Created BACKWARD_COMPATIBILITY.md explaining how legacy strategies work
- Created example/legacy_strategy_example.dart demonstrating backward compatibility
- Created SECURITY_ANALYSIS.md with security recommendations
- Added security warnings for MCP and AI strategies
๐ฆ Dependencies #
- No new dependencies added
- All existing dependencies remain compatible
1.3.0 #
๐ข Repository Transfer & Ownership Update - Strategic Logger 1.3.0 #
๐ข Repository Transfer #
- New Ownership: Repository transferred from
sauloroncontoHypn-Techorganization - Updated URLs: All repository URLs updated to reflect new ownership
- Maintained Continuity: All existing functionality and features preserved
- Enhanced Support: Now officially maintained by Hypn Tech team
๐ง Configuration Updates #
- Repository URLs: Updated all references to point to
https://github.com/Hypn-Tech/strategic_logger - Issue Tracker: Updated to new repository issue tracker
- Documentation: Updated documentation links to new repository
- Package Metadata: Updated pubspec.yaml with new repository information
๐ฆ Package Updates #
- Version Bump: Incremented to version 1.3.0 to reflect repository transfer
- Metadata Cleanup: Updated package metadata for new ownership
- Documentation Sync: Synchronized all documentation with new repository structure
๐ข Hypn Tech Integration #
- Official Sponsorship: Strategic Logger is now officially sponsored and maintained by Hypn Tech
- Enhanced Support: Professional support and maintenance from Hypn Tech team
- Enterprise Ready: Enhanced enterprise support and commercial backing
- Long-term Commitment: Long-term maintenance and development commitment
๐ Migration Notes #
- No Breaking Changes: All existing code continues to work without modifications
- URL Updates: Update any hardcoded repository URLs in your projects
- Documentation: Refer to new repository for latest documentation and examples
- Support: Contact Hypn Tech for professional support and enterprise features
1.2.3 #
๐จ Enhanced ASCII Art with Solid Characters - Strategic Logger 1.2.3 #
โจ New Features #
- Solid ASCII Art: Replaced double-line characters (โ) with solid block characters (โ) for better visibility
- Enhanced Log Highlighting: ASCII art now uses solid rectangles for better contrast and readability
- Improved Visual Impact: More prominent and eye-catching ASCII art display
๐จ UI/UX Improvements #
- Better Contrast: Solid characters provide better visual separation from regular logs
- Enhanced Readability: ASCII art stands out more prominently in console output
- Professional Appearance: Solid block characters give a more modern, technical look
- Consistent Branding: Updated both package and README.md ASCII art for consistency
๐ง Technical Improvements #
- Character Optimization: Using Unicode block characters (โ) for maximum visibility
- Cross-Platform Compatibility: Solid characters display consistently across all platforms
- Visual Hierarchy: Better distinction between ASCII art and regular log messages
- Brand Consistency: Unified ASCII art style across all documentation
๐ฑ ASCII Art Features #
- Solid Borders: All borders now use solid block characters (โ)
- Enhanced Visibility: Better contrast against terminal backgrounds
- Modern Design: Clean, technical appearance with solid character blocks
- Consistent Styling: Unified appearance across package and documentation
1.2.4 #
๐ง Static Analysis Fixes & Code Quality - Strategic Logger 1.2.4 #
๐ Bug Fixes #
- Static Analysis Score: Achieved maximum pub.dev static analysis score (50/50)
- Code Quality: Resolved all critical lint issues and warnings
- Unused Variables: Removed unused fields and local variables
- Library Directives: Added proper library directives to fix documentation warnings
๐ง Technical Improvements #
- Code Cleanup: Removed unnecessary cast operations
- Field Optimization: Eliminated unused
_useEmojisfield from ConsoleLogStrategy - Variable Cleanup: Removed unused local variables (
dim,levelColor) from formatting methods - Documentation: Fixed dangling library doc comments with proper library directives
๐ Quality Metrics #
- Before: 8 static analysis issues
- After: 0 critical issues (only minor
avoid_printwarnings in examples) - Score: 50/50 points (100%)
- Compliance: Full pub.dev quality standards compliance
๐ฏ Code Quality Features #
- Clean Code: Eliminated all unnecessary code and variables
- Proper Documentation: Fixed library documentation structure
- Type Safety: Improved type safety with proper casting
- Maintainability: Enhanced code maintainability and readability
1.2.3 #
๐จ Visual Improvements & Log Formatting - Strategic Logger 1.2.3 #
โจ New Features #
- Visual Log Headers: Beautiful colored headers with
[HYPN-TECH][STRATEGIC-LOGGER][LEVEL]format - Enhanced ASCII Art: Improved alignment of "Powered by Hypn Tech" text
- Clean Log Format: Removed duplicate level indicators for cleaner output
- Professional Branding: Consistent Hypn Tech branding throughout all logs
๐จ Visual Improvements #
- Colored Headers: Each log level has distinct colors (INFO=green, WARNING=yellow, ERROR=red, FATAL=bright red, DEBUG=magenta)
- Brand Integration: HYPN-TECH and STRATEGIC-LOGGER prominently displayed with brand colors
- Clean Output: Eliminated redundant level indicators for professional appearance
- ASCII Art Alignment: Perfect alignment of branding text in ASCII art
๐ง Technical Improvements #
- Log Level Handling: Fixed warning logs to display as WARN instead of INFO
- Emoji Removal: Removed all emojis from package and example for professional appearance
- Color Management: Enhanced ANSI color codes for better terminal compatibility
- Format Consistency: Standardized log format across all strategies
๐ฑ Console Features #
- Visual Hierarchy: Clear visual separation between brand, package, and log level
- Color Coding: Intuitive color scheme for different log levels
- Professional Appearance: Clean, corporate-friendly log formatting
- Terminal Compatibility: Optimized for various terminal environments
๐ข Branding Updates #
- Consistent Branding: Hypn Tech branding integrated throughout logging system
- Professional Look: Corporate-friendly appearance suitable for enterprise use
- Visual Identity: Strong visual identity with branded headers
- Clean Design: Minimalist approach focusing on readability and professionalism
1.2.2 #
๐จ ASCII Art & Version Display Improvements - Strategic Logger 1.2.2 #
โจ New Features #
- Dynamic Version Display: ASCII art now displays version dynamically from pubspec.yaml
- Enhanced ASCII Art: Improved positioning and formatting of version information
- Clean Configuration Logs: Replaced complex box with simple
[HYPN-TECH]header format
๐จ UI/UX Improvements #
- Version Integration: Version now appears elegantly in the ASCII art banner
- Simplified Log Format: Configuration logs use clean
[HYPN-TECH]prefix format - Professional Branding: Enhanced Hypn Tech branding integration
- Dynamic Version Reading: Automatic version detection from pubspec.yaml
๐ง Technical Improvements #
- Version Detection: Added
_getPackageVersion()method to read version from pubspec.yaml - Fallback Handling: Robust fallback to default version if pubspec.yaml cannot be read
- Code Organization: Improved ASCII art generation with dynamic version integration
- Maintainability: Version updates automatically reflect in ASCII art
๐ฑ ASCII Art Features #
- Dynamic Version:
v1.2.2automatically displayed in ASCII art - Professional Layout: Clean, modern ASCII art with proper spacing
- Brand Integration: Hypn Tech branding prominently displayed
- Version Positioning: Elegant version placement within ASCII art structure
1.2.1 #
๐ง Static Analysis Improvements - Strategic Logger 1.2.1 #
๐ Bug Fixes #
- Static Analysis Score: Improved pub.dev static analysis score from 40/50 to 50/50
- Code Formatting: Fixed all Dart formatting issues across the codebase
- Library Names: Removed unnecessary library name declarations
- String Interpolations: Fixed unnecessary string interpolations and braces
- Field Overrides: Corrected field override issues in AI and MCP strategies
๐ง Technical Improvements #
- Code Quality: Achieved maximum pub.dev static analysis score
- Dart Format: All files now properly formatted with
dart format - Lint Compliance: Resolved all critical lint issues
- Performance: Maintained all existing functionality while improving code quality
๐ Static Analysis Results #
- Before: 40/50 points (80%)
- After: 50/50 points (100%)
- Issues Fixed: 29 critical issues resolved
- Remaining: Only minor
avoid_printwarnings in example files (acceptable)
1.2.0 #
๐จ UI/UX Improvements & Bug Fixes - Strategic Logger 1.2.0 #
โจ New Features #
- Enhanced Example App: Complete redesign with Hypn Tech branding and modern UI
- Real-time Console: Live console integration with auto-scroll functionality
- Mobile-First Design: Optimized button layout with 4 buttons per line
- Interactive Strategy Management: Real-time strategy configuration with switches
- Clickable Branding: Hypn Tech logo and website link integration
๐จ UI/UX Improvements #
- Modern Design: Hypn Tech inspired visual design with vibrant teal color scheme
- Compact Stats Panel: Always-visible statistics panel with dynamic counters
- Fixed Console: Collapsible console at bottom with minimize/expand functionality
- Responsive Layout: Mobile-first approach with optimized touch targets
- Professional Branding: Hypn Tech logo integration and proper attribution
๐ Bug Fixes #
- Terminal Log Visibility: Fixed logs not appearing in Flutter terminal output
- ASCII Art Display: Corrected ASCII art generation and display in console
- Strategy Configuration: Fixed automatic strategy configuration application
- Lint Error Resolution: Resolved all static analysis issues for pub.dev compliance
- Example App Stability: Fixed corrupted example app and restored functionality
๐ง Technical Improvements #
- Console Output: Added
print()calls for terminal visibility alongside DevTools logging - ASCII Art Generation: Improved ASCII art generation with figlet tool integration
- Strategy Management: Streamlined strategy configuration with automatic application
- Error Handling: Enhanced error handling in example app and core package
- Code Quality: Achieved maximum pub.dev score with lint error resolution
๐ฑ Example App Features #
- Live Console: Real-time log display with automatic scrolling
- Strategy Switches: Interactive strategy enable/disable with immediate effect
- Performance Stats: Real-time performance metrics display
- Brand Integration: Hypn Tech logo and website link
- Mobile Optimization: Touch-friendly interface with proper spacing
๐ข Branding Updates #
- Hypn Tech Integration: Complete branding integration throughout example app
- Professional Appearance: Modern, clean design matching Hypn Tech aesthetic
- Clickable Links: Direct integration with Hypn Tech website
- Consistent Theming: Teal color scheme matching brand identity
1.1.3 #
๐ Platform Detection & Web Compatibility - Strategic Logger 1.1.2 #
โจ New Features #
- Automatic Platform Detection: Package now automatically detects platform capabilities
- Web Compatibility: Isolates are automatically disabled on web platform
- Cross-Platform Support: Seamless operation across web, mobile, and desktop platforms
- Smart Defaults:
useIsolatesparameter is now optional with intelligent defaults
๐ง Technical Improvements #
- Platform Detection Method: Added
_isIsolateSupported()for runtime platform detection - Web Platform Handling: Uses
kIsWebto detect web platform and disable isolates - Backward Compatibility: Maintains support for explicit
useIsolatesparameter - Error Prevention: Prevents isolate-related errors on unsupported platforms
๐ฑ Platform Support #
- Web: Isolates automatically disabled, console logging optimized
- Mobile (iOS/Android): Full isolate support for performance
- Desktop (macOS/Windows/Linux): Full isolate support for performance
1.1.1 #
๐ Bug Fixes - Strategic Logger 1.1.1 #
๐ Bug Fixes #
- Integration Test Fixes: Fixed
LateInitializationErrortype recognition in integration tests - Test Stability: Improved test reliability and error handling
- Error Assertion Updates: Updated error assertions to use string-based checks for better compatibility
๐งช Testing Improvements #
- Integration Test Reliability: Enhanced integration test stability and error handling
- Test Coverage: Maintained test coverage above 80% with improved test quality
- Error Handling Tests: Better error handling validation in test scenarios
1.1.0 #
๐ Major Release - Strategic Logger 1.1.0 #
โจ New Features #
- MCP (Model Context Protocol) Integration: Native MCP server for AI agent integration
- AI-Powered Log Analysis: Intelligent log analysis with pattern detection and insights
- Object Pool Management: Efficient memory management with object pooling
- Log Compression: Network and storage optimization with intelligent compression
- Advanced Performance Testing: Comprehensive performance test suite
- Integration Testing: End-to-end integration tests for all components
- Enhanced Test Coverage: Test coverage exceeding 80% for all new features
- Worker Pool Management: Advanced isolate management with worker pools
- Priority Queue System: Intelligent log processing with priority-based queuing
- Network Optimizations: Compression, batching, circuit breakers, and retry mechanisms
- Lazy Loading Support: On-demand loading of strategies and components
- Advanced Error Recovery: Enhanced error handling with exponential backoff
๐ง Enhanced Features #
- Performance Monitoring: Extended metrics and monitoring capabilities
- Isolate Management: Improved isolate pool management and fallback mechanisms
- Memory Management: Enhanced memory optimization and cleanup operations
- Console Formatting: Additional formatting options and customization
- Error Handling: More robust error handling and recovery mechanisms
- Documentation: Updated documentation with new features and examples
๐งช Testing Improvements #
- Performance Tests: Comprehensive performance testing suite
- Integration Tests: End-to-end integration testing
- Unit Tests: Enhanced unit test coverage for all components
- Stress Tests: Stress testing for high-volume scenarios
- Regression Tests: Performance regression testing
- Memory Tests: Memory usage and leak testing
๐ Documentation Updates #
- New Features: Documentation for MCP, AI, Object Pool, and Compression features
- Examples: Updated examples with new functionality
- Performance Guide: Performance optimization guidelines
- Testing Guide: Testing best practices and examples
- Integration Guide: Integration patterns and examples
1.0.0 #
๐ Major Release - Strategic Logger 1.0.0 #
โจ New Features #
- Multi-threading with Isolates: Offload heavy logging tasks to background isolates for improved performance
- Modern Console Formatting: Beautiful console output with colors, emojis, timestamps, and structured formatting
- Performance Monitoring: Built-in metrics tracking for logging operations
- Asynchronous Log Queue: Efficient log processing with backpressure control
- New Logging Strategies:
- Datadog integration
- New Relic integration
- Enhanced Compatibility: Seamless replacement of existing logger packages without code changes
๐ง Technical Improvements #
- Isolate Manager: Manages a pool of isolates for parallel processing
- Log Queue System: Asynchronous queue with backpressure for high-volume logging
- Performance Monitor: Tracks processing times, queue sizes, and isolate usage
- Modern Console Formatter: Advanced ANSI escape codes for beautiful output
- Synchronous Compatibility Layer: Extension methods for backward compatibility
๐ Documentation #
- Complete README Redesign: Modern, attractive documentation inspired by popular pub.dev packages
- Comprehensive Examples: Updated examples showcasing all new features
- Migration Guide: Step-by-step guide for upgrading from previous versions
๐ข Sponsorship #
- Hypn Tech: Proudly sponsored and maintained by Hypn Tech
๐ Breaking Changes #
- None - fully backward compatible with previous versions
๐ฆ Dependencies #
- Updated to latest compatible versions
- Added new dependencies for modern features (ansicolor, collection, meta, json_annotation)
0.2.0 #
Updating sdk and dependencies versions
0.1.12 #
Updating dependencies versions
0.1.11 #
Updating dependencies versions
0.1.10 #
README improvments
0.1.9 #
Firebase Analytics & Crashlytics just log your own events
0.1.8 #
Firebase Analytics & Crashlytics export correction
0.1.7 #
Crashlytics import correction
0.1.6 #
Sentry Strategy dartdoc updated
0.1.5 #
Sentry Strategy created
0.1.4 #
Dart Format
0.1.3 #
Example Adjustments
0.1.2 #
Platforms Adjustments
0.1.1 #
Platforms Adjustments
0.1.0 #
Initial Version of the strategic logger.