Skip to content

Latest commit

 

History

History
96 lines (75 loc) · 4.15 KB

File metadata and controls

96 lines (75 loc) · 4.15 KB

Release Notes - Env Builder CLI

v1.2.0 (Latest)

Release Date: 11/04/2026

🚀 Major Performance Optimizations

  • Code Generation: -98% reduction in string operations through bulk template system
  • File Caching: Intelligent caching system reduces repeated file parsing by 65-75%
  • Asset Parallelization: Parallel asset processing provides 30%+ speedup on asset-heavy projects
  • Memory Efficiency: Optimized memory usage across all operations

🔒 Enhanced Security

  • Random Salt Generation: Each encrypted file uses unique 128-bit random salt (replacing fixed salt)
  • Password Validation: Minimum 8-character password requirement enforced
  • Improved Key Derivation: Enhanced AES-256 implementation with better security practices
  • Security Documentation: Comprehensive security guidelines added to SECURITY.md

🧪 Comprehensive Testing

  • 73 Test Suite: Complete test coverage (up from ~20 tests)
  • Crypto Testing: 17 tests covering encryption/decryption scenarios
  • Asset Testing: 26 tests for asset generation and parallel processing
  • Cache Testing: 10 tests for caching functionality and invalidation
  • Error Handling: 20 tests for edge cases and error conditions

📚 Documentation & Planning

  • Future Roadmap: Prioritized optimization recommendations added to README.md
  • Security Best Practices: Detailed encryption and key management guidelines
  • Performance Guidelines: Recommendations for optimal usage patterns

🔧 Technical Improvements

  • Error Handling: Enhanced error messages and graceful failure handling
  • Code Quality: Improved maintainability and separation of concerns
  • Backward Compatibility: All changes maintain compatibility with existing projects
  • Cross-Platform: Verified compatibility across Windows, macOS, and Linux

📊 Performance Impact

  • Small Projects: 15-20% overall performance improvement
  • Large Projects: 25-30% improvement with many assets or frequent rebuilds
  • Asset-Heavy Projects: Up to 50% faster asset processing with parallelization

v1.1.6+1 (Previous)

Release Date: 12/07/2025

🚀 New Features

  • Assets Command: New env_builder assets command for encrypting and embedding assets directly into Dart code
    • Asset Discovery: Automatically scans assets/ directory for supported files
    • Multi-format Support: Images (PNG, JPG, JPEG, GIF, WebP), Videos (MP4, WebM, MOV, AVI, MKV), and SVGs
    • Compression & Optimization: Automatic image compression and SVG minification (configurable)
    • Encryption Options: XOR (fast, default) and AES (secure) encryption methods
    • Zero Runtime Dependencies: Assets embedded as constants, no pubspec.yaml changes needed

🔧 Generated APIs

  • Raw Access: Direct access to encrypted asset data (Uint8List/String)
  • Widget Helpers: Pre-built widgets for images, SVGs, and video controllers
  • Flutter_gen Compatible: Drop-in replacement API with the same structure as flutter_gen

📖 Usage Examples

# Encrypt and embed assets with XOR encryption (default)
env_builder assets

# Use AES encryption for sensitive assets
env_builder assets --encrypt=aes

# Skip compression and minification
env_builder assets --no-compress

# Verbose output during generation
env_builder assets --verbose

💻 Generated Code Usage

import 'package:app_assets/src/generated/assets.gen.dart';

// Access encrypted assets
final logoBytes = Assets.logo; // Uint8List
final videoPlayer = await Assets.videos.intro.video(); // VideoPlayer widget
final svgPicture = Assets.svgs.icon.svg(); // SvgPicture widget

// Flutter_gen compatible API
final image = Assets.images.logo; // AssetGenImage

🔒 Security & Performance

  • Encrypted Storage: All assets are encrypted before embedding
  • Type Safety: Compile-time safe access prevents typos
  • No Runtime Overhead: Assets loaded from memory, no file I/O operations
  • Build-time Only: Encryption/decryption happens at build time only

📋 Compatibility

  • Dart SDK: ^3.8.1+
  • Flutter: Compatible with existing projects
  • Backward Compatible: All existing features remain unchanged