Releases: Thavarshan/filterable
Releases · Thavarshan/filterable
v2.0.1
Added
- Focuses on the new tests added to verify the fix and prevent regression
- Emphasizes that this improves the test coverage for edge cases
Changed
- Highlights the improvements to error handling and resilience
- Frames the changes as positive enhancements to the existing code
- Uses professional, descriptive language without being too technical
Fixed
- Clearly identifies the specific issue that was fixed
- References the GitHub issue number for traceability
- Includes the exact error message for users who might be searching for a solution
Full Changelog: 2.0.0...2.0.1
v2.0.0
Added
- Added support for Laravel 12.x
- Added feature flag system for more granular control over filter capabilities
- Added comprehensive test suite with 100+ tests for all traits
- Added
HandlesUserScope
trait for easily filtering by authenticated user - Added
HandlesRateLimiting
trait to prevent abuse via complex queries - Added
ValidatesFilterInput
trait for input validation - Added
MonitorsPerformance
trait for tracking and analyzing filter performance - Added
TransformsFilterValues
trait for transforming input values - Added
SupportsFilterChaining
trait for fluent API method chaining - Added
InteractsWithLogging
trait for improved debugging and auditing - Added
OptimizesQueries
trait for better query performance - Added
ManagesMemory
trait for handling large datasets efficiently - Added support for custom pre-filters via the
HandlesPreFilters
trait - Added new artisan command (
make:filter
) with support for model-specific filters
Changed
- Major architecture overhaul with modular trait-based design
- Improved SmartCaching with better cache key generation
- Updated all Cache interactions to use Carbon instances for TTL values
- Enhanced Filter base class with more robust constructor injection
- Standardized return types across all methods for better type safety
- Updated documentation with comprehensive examples for all features
- Improved error handling with more descriptive exceptions
- Modernized test cases to use latest PHPUnit assertions
- Switched to feature-based activation rather than global static methods
Fixed
- Fixed cache key generation for array values
- Fixed memory leaks when dealing with large datasets
- Fixed issues with query builder method chaining
- Fixed inconsistent behavior with filter application
- Fixed validation errors not being properly propagated
- Fixed user scoping not being applied correctly in some scenarios
- Fixed rate limiting bypass techniques
- Fixed performance monitoring accuracy
- Fixed logging inconsistencies when features are toggled
v1.2.0
Added
- Support for Laravel
^12
v1.1.7
Added
- Introduced the
FilterableServiceProvider
to register theMakeFilterCommand
. - Added a new
Filterable
interface to define the contract for the Filterable trait. - Added a new
Filter
interface to define the contract for the Filter class.
Changed
- Added type hints for method parameters and return types to improve code clarity and type safety.
- Improved the
Filterable
trait to ensure compatibility with PHP 8.4. - Enhanced the
Filter
class with better type hinting and method documentation. - Updated the
FilterableTest
to include the necessary setup for bootstrapping the Laravel application.
Fixed
- Fixed an issue where the
config
class was not available during tests by bootstrapping the Laravel application in the test setup. - Corrected the test case to ensure the
apply
method is called correctly in thefilter_throws_exception_when_filter_application_fails
test.
v1.1.6
Changed
- Extend compatibility to PHP 8.3
Fixed
- Laravel 9 compatibility issues
v1.1.5
- Minor dependency updates for security
v1.1.4
Changed
- Minor dependency updates for security
v1.1.3
Changed
- Updated dependencies
v1.1.2
Changed
- Modified the buildCacheKey method to sort and normalise
filterables
before generating the cache key. This change reduces the number of unique keys and helps mitigate cache pollution issues. (See PR #18)
Caching has now been changed to be disabled by default. This change provides more control over when caching is used, helping to prevent unnecessary cache pollution.
Fixed
v1.1.1
Added
- Compatibility support for newer PHP versions: Updated
brick/math
requirement from PHP^8.0
to^8.1
to embrace the latest PHP features and improvements.
Changed
- Updated
brick/math
from0.11.0
to0.12.1
: Includes performance optimizations and bug fixes to enhance mathematical operations. - Updated
laravel/framework
fromv10.48.5
tov10.48.10
: Rolled in new minor features and improvements to the Laravel framework that benefit the stability and security of applications usingfilterable
. - Updated
symfony/console
fromv6.4.6
tov6.4.7
: Enhanced compatibility with other Symfony components, improving integration and usage within Symfony-based projects. - Updated development dependencies:
phpunit/phpunit
from^9.0
to^10.1
for advanced unit testing capabilities.vimeo/psalm
from5.0.0
to5.16.0
for improved static analysis and code quality checks.
Fixed
- Security patches and minor bugs: All updated dependencies include patches for known vulnerabilities and fixes for various minor bugs, enhancing the security and reliability of the
filterable
package.