Releases: jamesgober/Config
1.0.0 Stable Release
What's New in 1.0.0?
-
Stable Release:
- Finalized and thoroughly tested core features for stable and reliable performance.
-
Enhanced Parser Support:
- Out-of-the-box support for multiple formats: JSON, YAML/YML, XML, INI, PHP arrays, and CONF files.
- Seamless custom parser integration for additional file formats.
-
Optimized Caching Mechanisms:
- Save, load, and manage configuration caches with robust expiration handling.
- Enhanced cache validation for fault-tolerant data retrieval.
-
Advanced Flattening Options:
- Control hierarchical vs. flattened key structures with flexible settings.
-
Improved Error Handling:
- Comprehensive error and exception management for smooth debugging and better runtime reliability.
- User-friendly diagnostics for configuration and parser issues.
-
Performance and Efficiency:
- Refined logic for faster file parsing and reduced resource overhead.
- Optimized handling of deeply nested configurations with configurable depth limits.
-
Extensibility:
- Designed for easy extension and modification, adhering to S.O.L.I.D principles.
- Modular architecture to meet the demands of modern PHP projects.
Key Features
-
Multi-Format Parsing:
- Effortlessly handle JSON, YAML, XML, INI, PHP arrays, CONF files, and more.
-
Dynamic Parsers:
- Add custom parsers dynamically for unique or project-specific formats.
-
Caching Made Easy:
- Manage configurations with built-in caching for better performance and faster access.
-
Error-Resilient:
- Advanced error handling to ensure stability under challenging scenarios.
-
Streamlined API:
- A simple yet powerful API designed to minimize overhead while maximizing usability.
-
Thorough Testing:
- Verified with comprehensive PHPUnit tests to ensure stability and reliability.
Installation
Install via Composer:
composer require jamesgober/config
Documentation
Explore the Full Documentationfor:
- Quick start guides and examples.
- Advanced features like custom parsers and caching.
- Insights into the library's modular design and extensibility.
Changelog
For the detailed list of updates, refer to the CHANGELOG.
Feedback and Contributions
Your feedback helps shape the future of JG\Config! Report issues or suggest features on the GitHub Issues page. Contributions are encouraged—please see our contribution guidelines.
v1.0.0-RC.5
Release Notes for 1.0.0-RC.5
The fifth release candidate of JG\Config raises the bar with groundbreaking improvements in performance, extensibility, and error handling. This release introduces dynamic custom parsers, robust parsing enhancements, and refined caching, ensuring the library remains a cornerstone for PHP developers seeking high-performance configuration management.
What's New in 1.0.0-RC.5?
-
Dynamic Custom Parser Support:
- Introduced the ability to dynamically register and utilize custom parsers for extended file format support.
- Enables seamless integration of project-specific parsers.
-
Parsing Optimizations:
- Enhanced CONF file parsing using a regex-based approach, delivering faster and more accurate processing.
- Improved support for complex configurations with better error handling and diagnostics.
-
Streamlined Flattening Options:
- Added explicit control over flattening behavior via constructor flags, ensuring predictable and flexible configuration structures.
-
Non-UTF-8 Compatibility:
- Addressed handling of non-UTF-8 encoded files, ensuring compatibility with diverse file encodings while maintaining robust error reporting.
-
Cache Enhancements:
- Improved validation of cache structures for more reliable data retrieval.
- Strengthened handling of cache invalidation and expiration scenarios.
Key Features
-
Multi-Format Parsing:
- Load configurations from various formats, including CONF, INI, JSON, XML, YAML/YML, and PHP arrays.
-
Custom Parsers:
- Extend functionality by dynamically adding support for new file formats with minimal effort.
-
Efficient Caching System:
- Comprehensive methods to save, load, and delete cached configurations with built-in expiration handling.
-
Configurable Flattening:
- Support for grouped or flattened key structures with enhanced customization options.
-
Error Management:
- Improved exception classes for precise error reporting (
ConfigException
,ConfigParseException
,InvalidParserException
).
- Improved exception classes for precise error reporting (
-
Thorough Testing:
- Rigorous unit tests with PHPUnit ensure the library’s robustness and reliability under high-load scenarios.
Installation
Install via Composer:
composer require jamesgober/config
Documentation
Dive into the Full Documentation to explore:
- Usage examples for loading and managing configurations.
- Advanced techniques for leveraging grouped and flattened keys.
- Contribution and customization guides.
Changelog
For the detailed list of updates, refer to the CHANGELOG.
Feedback and Contributions
Your feedback helps shape JG\Config! Report issues or suggest improvements on the GitHub Issues page. Contributions are always welcome—review the contribution guidelines in the repository.
1.0.0-RC.3
Release Notes for 1.0.0-RC.3
The third release candidate of JG\Config refines performance improves consistency, and addresses key design challenges to solidify this robust PHP configuration library. With significant updates to core functionality and added support for new use cases, this release enhances the developer experience while ensuring backward compatibility.
What's New in 1.0.0-RC.3?
- Revamped
load
Method:- Enhanced key-flattening logic for grouped and nested configurations.
- Optimized handling of key conflicts with overwrite functionality.
- Improved
add
anddelete
Methods:- Simplified group updates while ensuring data integrity.
- Streamlined deletion of groups and their associated keys.
- New
flattenArray
Method:- Efficiently processes nested arrays into flattened configurations with structured group mappings.
Key Features
- Supported Formats:
- CONF, INI, JSON, XML, YAML/YML, and PHP arrays.
- Custom Parsers:
- Extend functionality by adding support for additional formats.
- Comprehensive API:
- Load configurations from files or directories.
- Retrieve, add, update, and delete configuration values.
- Support for both grouped and flattened keys with intuitive handling.
- Error Handling:
- Custom exceptions (
ConfigException
,ConfigParseException
,InvalidParserException
) for better debugging and runtime safety.
- Custom exceptions (
- Reliability:
- Fully tested with PHPUnit to ensure robust and predictable behavior.
Installation
Install via Composer:
composer require jamesgober/config
Documentation
Dive into the Full Documentation to explore:
- Usage examples for loading and managing configurations.
- Advanced techniques for leveraging grouped and flattened keys.
- Contribution and customization guides.
Changelog
For the detailed list of updates, refer to the CHANGELOG.
Feedback and Contributions
Your feedback helps shape JG\Config! Report issues or suggest improvements on the GitHub Issues page. Contributions are always welcome—review the contribution guidelines in the repository.
Release Candidate 4
Release Notes for 1.0.0-RC.4
The fourth release candidate of JG\Config focuses on performance optimizations, refined logic, and robust new features, solidifying its role as a high-performance, extensible PHP configuration library. With key improvements to caching, configuration management, and handling deeply nested configurations, this release ensures both stability and flexibility for developers.
What's New in 1.0.0-RC.4?
- Performance Optimizations:
- Optimized the
flattenArray
andload
methods for improved efficiency when handling deeply nested configurations. - Streamlined caching operations for faster load times and reduced overhead.
- Optimized the
- Depth Limiting for Nested Configurations:
- Introduced a
maxDepth
property to enforce safe handling of deeply nested configurations, preventing performance issues.
- Introduced a
- Enhanced Caching System:
- Added
saveCache
,loadCache
, anddeleteCache
methods for robust caching capabilities. - Ensures faster access to configurations with built-in expiration handling.
isCacheLoaded
method verifies if a valid cache has been successfully loaded.
- Added
- Comprehensive Retrieval Methods:
- Added
getAll
to return the entire configuration array. - Added
getGroups
to retrieve all configuration groups for easier introspection.
- Added
- Refinements in Logic:
- Improved
add
anddelete
methods to handle grouped configurations with better precision. - Updated
load
method to leverage caching and ensure consistency during file loads.
- Improved
Key Features
- Supported Formats:
- CONF, INI, JSON, XML, YAML/YML, and PHP arrays.
- Custom Parsers:
- Extend functionality by adding support for additional formats through a flexible parser system.
- Advanced Caching:
- Save and load configurations with expiration support for efficient and reusable setups.
- Comprehensive API:
- Load configurations from files or directories.
- Retrieve, add, update, and delete configuration values.
- Support for both grouped and flattened keys with intuitive handling.
- Error Handling:
- Custom exceptions (
ConfigException
,ConfigParseException
,InvalidParserException
) for better debugging and runtime safety.
- Custom exceptions (
- Reliability:
- Fully tested with PHPUnit to ensure robust and predictable behavior.
Installation
Install via Composer:
composer require jamesgober/config
Documentation
Dive into the Full Documentation to explore:
- Usage examples for loading and managing configurations.
- Advanced techniques for leveraging grouped and flattened keys.
- Contribution and customization guides.
Changelog
For the detailed list of updates, refer to the CHANGELOG.
Feedback and Contributions
Your feedback helps shape JG\Config! Report issues or suggest improvements on the GitHub Issues page. Contributions are always welcome—review the contribution guidelines in the repository.
Updated
Release Notes for 1.0.0-RC.2
The second release candidate of JG\Config introduces enhancements, bug fixes, and new features to refine this robust PHP library for configuration management. Designed with flexibility and extensibility in mind, JG\Config simplifies loading, parsing, and managing configuration data from a wide variety of formats.
What's New in 1.0.0-RC.2?
- Improved
load
Method:- Enhanced reliability for handling complex configurations.
- Updated
delete
Method:- Now supports deleting configurations by group.
- YAML Enhancements:
- Added support for both
.yaml
and.yml
file extensions.
- Added support for both
Key Features
- Supported Formats:
- CONF, INI, JSON, XML, YAML, and PHP arrays.
- Custom Parsers:
- Extend functionality by adding support for additional formats.
- Comprehensive API:
- Load configurations from files or directories.
- Retrieve, add, update, and delete configuration values.
- Support for both grouped and flattened keys.
- Error Handling:
- Custom exceptions (
ConfigException
,ConfigParseException
,InvalidParserException
) for streamlined debugging and runtime control.
- Custom exceptions (
- Reliability:
- Fully tested with PHPUnit to ensure consistent behavior.
Installation
Install via Composer:
composer require jamesgober/config
Documentation
Explore the [Full Documentation](https://github.com/jamesgober/Config) for:
- Detailed usage examples.
- Advanced configuration tips.
- Contribution guidelines.
Changelog
For a complete list of changes, refer to the [CHANGELOG](https://github.com/jamesgober/Config/blob/main/CHANGELOG.md).
Feedback and Contributions
Your feedback is invaluable! Report issues or request features via the [GitHub Issues](https://github.com/jamesgober/Config/issues) page. Contributions are welcome—check the guidelines in the repository.