# Changelog ## 2025-08-15 - 5.3.0 - feat(AppData) Refactor AppData class for declarative env mapping and enhanced static helpers - Introduced a singleton Qenv provider to optimize environment variable resolution. - Centralized type conversion logic with utility functions for boolean, JSON, base64, number, and string conversions. - Replaced complex switch statements with a composable, declarative mapping pipeline for processing envMapping. - Enhanced logging during AppData initialization to clearly report key processing and overwrite operations. - Added new static helper methods for environment variable access (valueAsBoolean, valueAsJson, valueAsBase64, valueAsString, valueAsNumber). - Fixed boolean conversion issues and ensured backward compatibility with the deprecated 'ephermal' option. ## 2025-08-15 - 5.2.0 - feat(AppData) Major refactoring of AppData class for improved elegance and maintainability - **New Features:** - Added static helper methods for direct environment variable access: - `AppData.valueAsBoolean()` - Convert env vars to boolean - `AppData.valueAsJson()` - Parse env vars as JSON - `AppData.valueAsBase64()` - Decode base64 env vars - `AppData.valueAsString()` - Get env vars as string - `AppData.valueAsNumber()` - Parse env vars as number - Enhanced logging for AppData initialization and key processing: - Shows which storage type is being used (custom, ephemeral, auto-selected) - Logs each key being processed with its spec type - Reports success/failure for each key with type information - Provides summary statistics of processed keys - **Architecture Improvements:** - Replaced 100+ line switch statement with declarative pipeline architecture - Introduced centralized type converters and transform registry - Implemented composable transform pipeline: `parseMappingSpec()` → `resolveSource()` → `applyTransforms()` - Added singleton Qenv provider to reduce allocations - Reduced code complexity by ~70% while maintaining 100% backward compatibility - **Bug Fixes:** - Fixed boolean conversion to properly handle both string and boolean inputs - Added `ephemeral` option (correctly spelled) while maintaining backward compatibility with deprecated `ephermal` - **Performance:** - Optimized environment variable resolution with shared Qenv instance - Reduced object allocations in static helpers ## 2025-08-15 - 5.1.4 - fix(AppData, dev dependencies, settings) Improve boolean conversion in AppData, update @types/node dependency, and add local settings file. - Fixed env var boolean conversion to properly handle non-string values in AppData. - Updated @types/node from ^20.14.5 to ^22 in package.json. - Added .claude/settings.local.json to configure project permissions locally. ## 2025-08-15 - 5.1.3 - fix(appdata) Fix iteration over overwriteObject in AppData and update configuration for dependency and path handling - Replaced incorrect looping constructs in the AppData class to properly iterate over overwriteObject keys - Improved environment variable mapping and file path resolution in multiple TS modules - Updated dependency versions and adjusted git workflow configurations - Enhanced project configuration including TS config and build script adjustments ## 2024-11-06 - 5.1.2 - fix(appdata) Fix iteration over overwriteObject in AppData class - Corrected the for loop from in to of inside the AppData class for iterating over overwriteObject keys. ## 2024-11-05 - 5.1.1 - fix(AppData) Fix issue with overwrite object handling in AppData class - Corrected logic to handle cases when overwriteObject is undefined. ## 2024-11-05 - 5.1.0 - feat(appdata) Add support for overwriting keys using the overwriteObject option in AppData - Introduced the overwriteObject option in IAppDataOptions to allow overwriting specific keys in the AppData class. ## 2024-06-19 - 5.0.17 - 5.0.23 - Core Updates Routine maintenance and updates to the core components. - Multiple core updates and fixes improving stability ## 2024-06-12 - 5.0.13 - 5.0.16 - Core Updates Maintenance focus on core systems with enhancements and problem resolutions. - Enhancements and updates in the core functionality ## 2024-05-29 - 5.0.13 - Documentation Update Descriptive improvements aligned with current features. - Updated core description for better clarity in documentation ## 2024-04-01 - 5.0.10 - Configuration Update Improved configuration management for build processes. - Updated `npmextra.json` to reflect changes in git repository management ## 2024-02-12 - 5.0.0 - 5.0.9 - Major Core Enhancements A series of critical updates with resolved issues in the core components. - Introduction of new core features - Several core system updates ## 2024-02-12 - 4.0.16 - Major Version Transition Migration to the new major version with impactful changes. - BREAKING CHANGE: Significant updates requiring attention for smooth transition ## 2023-08-24 - 3.0.9 - 4.0.16 - Organization Updates Formatted updates with attention to organizational standards and practice. - SWITCH to a new organizational scheme ## 2023-07-11 - 3.0.9 - Organizational Enhancement Shifts aligning with contemporary structuring and logistics. - Strategic realignment with organizational principles