Revision history for Params-Filter

v0.007  2026-01-21 (STABLE RELEASE)
    - Version bump to resolve CPAN testers indexing issue
    - Repository renamed: Local-Params-Filter → Params-Filter
    - All package metadata updated for new repository location
    - Ready for full CPAN distribution

v0.006  2026-01-20 (STABLE RELEASE)
    - First stable CPAN release
    - Major documentation improvements:
      - Updated POD to match README structure and clarity
      - Improved DESCRIPTION section with clearer "When to Use" guidance
      - Enhanced INPUT PARSING section with numbered formats and better examples
      - Enhanced RETURN VALUES section with clearer structure
      - Improved MODIFIER METHODS documentation with important behavior notes
      - Improved WILDCARD SUPPORT section
      - Enhanced EXAMPLES section with complex data flows
    - Fixed bug in example code (extra empty arrayref argument to filter())
      - Fixed in examples/arrayref_input.pl (3 instances)
      - Fixed in examples/edge_cases.pl (3 instances)
      - Fixed in README.md (2 instances)
      - Fixed in lib/Params/Filter.pm POD (2 instances)
    - Fixed syntax error in examples/advanced_filtering.pl (hashref construction)
    - Replaced problematic examples/strict_construction_test.pl with proper
      examples/strict_construction.pl (educational example, no external dependencies)
    - All 11 example scripts tested and working correctly
    - All 59 tests passing
    - Ready for production use

v0.6_002 2026-01-14 (DEVELOPER RELEASE)
    - Improved message consistency: separated parsing messages from debug warnings
    - Parsing messages (always shown): plain text args, odd array elements
    - Debug warnings (debug mode only): unrecognized fields, excluded fields
    - Updated DEBUG MODE documentation to clarify message types
    - Updated Common Status Messages section with parsing vs debug distinction
    - All 59 tests still passing

v0.6_01 2026-01-14 (DEVELOPER RELEASE)
    - Beta release for CPAN testing and feedback
    - Renamed for CPAN publication: Local::Params::Filter → Params::Filter
    - Changed failure return value from 0 to undef for clearer boolean semantics
    - Lowered minimum Perl version from 5.40 to 5.36 (signatures stable since 5.36)
    - Updated all test files with new namespace
    - Updated all example files with new namespace
    - Updated README.md with new namespace
    - Updated Makefile.PL for CPAN distribution
    - Comprehensive POD documentation in module file
    - All 59 tests passing
    - Seeking feedback from CPAN testers and early adopters

v0.5.0 2026-01-13
    - Renamed module from Local::Params::Strictly to Local::Params::Filter
    - Renamed function: strictly() → filter()
    - Renamed constructor: new_bouncer() → new_filter()
    - Renamed method: admit() → apply()
    - Modifier methods unchanged: set_required(), set_accepted(), set_excluded(), accept_all(), accept_none()
    - Updated all test files (t/*.t) with new naming
    - Updated all example files (examples/*.pl) with new naming
    - Updated README.md with new terminology and examples
    - Updated Changes file header
    - All functionality remains identical (breaking API change only)

v0.4.0 2026-01-13
    - Added modifier methods for dynamic bouncer configuration
    - New methods: set_required(), set_accepted(), set_excluded()
    - Added convenience methods: accept_all(), accept_none()
    - new_bouncer() can now be called without arguments (defaults to reject all)
    - Methods support both arrayref and list arguments
    - Empty calls to set_* methods set fields to [] (empty array)
    - All modifier methods return $self for method chaining
    - Enables meta-programming and conditional configuration patterns
    - Added comprehensive test suite: t/03-modifier-methods.t (23 tests)
    - Added example script: examples/modifier_methods.pl
    - Updated README.md with modifier methods documentation
    - All 59 tests passing across 4 test files

v0.3.1 2025-01-12
    - Enhanced wildcard feature: '*' can now appear anywhere in accepted list
    - More flexible debugging: can add '*' to existing accepted fields
    - ['name', 'email', '*'] now accepts all fields
    - Documented wildcard behavior in README.md
    - Clarified that '*' is only special in accepted parameter

v0.3.0 2025-01-12
    - Added wildcard ['*'] feature to accept all fields in accepted parameter
    - When ['*'] is used as accepted parameter, all fields (except exclusions) are accepted
    - Empty [] still means 'accept none' (backward compatible)

v0.2.0 2025-01-12
    - Renamed module from Local::Strictly to Local::Params::Strictly
    - Renamed repository from Local-Strictly to Local-Params-Strictly
    - Updated all documentation and examples

v0.1.0 2025-01-08
    - Initial repository setup from installed version
    - Fresh repository structure with ExtUtils::MakeMaker
    - Parameter validation for strict construction
    - Both functional and OO interfaces
    - Flexible input handling (hashref, arrayref, scalar)