Revision history for Lingua-EN-NameCase
=======================================

1.22	Sun Nov 15 09:37:08 AM EST 2026
	Added t/fuzz.t, t/all-fuzz.t and t/conf/NameCase-list.yml (fuzz testing,
	  extended tests only); t/NameCase-list.t runs the hand-written schema
	  under make test
	Fix: Makefile.PL declares
	  List::Util and all test prerequisites and now generates META files
	Added t/transition.t (state diagram); the STATE DIAGRAM now shows the
	  too_long edge and that $MAX_LENGTH is part of the configuration
	Added the Test Dashboard
	Added t/transaction.t (lifecycle, rollback, idempotency, concurrency)
	Added t/path.t (every execution path); marked the unreachable die after
	  croak in _fail
	Added t/domain.t (equivalence partitions and boundary values) and documented
	  the valid and invalid input domains in the API SPECIFICATION
	Use gtar to create a distribution on Macs
	Use Test::DescribeMe to simplify tests
	Use Test::Needs
	Refactored into small private routines (Sub::Private, enforce mode)
	Table-driven Mac exceptions, particles and post-nominals: about 10x faster
	Fix: post-nominal entries "MCh.", "FCSP." and "FSCR." matched any
	  character for the dot, so "MCHX" became "MCh."
	Fix: nc() with no argument no longer modifies a reference in $_
	NameCase(\@array) in place now returns the array reference
	Error messages are templates, overridable via %MESSAGES; they name the
	  offending argument type
	Fix: Windows/C-locale failures: removed "use locale", which warned about wide
	  characters and mis-cased accented Latin-1 names outside UTF-8 locales
	New $MAX_LENGTH switch and too_long message to refuse oversize names
	Fix: nc() read a tied argument twice (check/use gap); now once
	Fix: error messages no longer echo raw class names (log injection);
	  an empty message text or a reference as text no longer breaks croak
	Fix: no warnings for lone surrogates or non-Unicode code points
	Added t/edge_cases.t and t/data-flow.t
	Fix: a post-nominal found only through case folding (long s, "fi" ligature)
	  had its text deleted, with an uninitialized-value warning
	Fix: NameCase(\@array) no longer breaks aliases: the elements are written in
	  place again (NameCase(\@_) changes the caller's variables), still all-or-nothing
	Security audit: new SECURITY section; author tests no longer build code
	  with string eval from META data; taint and growth tests
	Fix: the Mac test let a following space or punctuation stand in for the last
	  letter, so Polish/Italian names such as Macchiato were cased as Mac names
	  when another word followed them
	Regex audit: possessive quantifiers, one-letter capture, post-nominal check
	  now copies only the end of the name
	Fix: declare IPC::System::Simple, which "use autodie qw(:all)" needs
	Faster: roman numerals 4x, particles 2x, whole nc() about 1.6x; post-nominal
	  matching no longer scans every word boundary of a long name
	NameCase(\@array) is now all-or-nothing: a bad element leaves it unchanged
	Added t/integration.t, t/unit.t, t/function.t, t/messages.t and t/locales.t; documented LIMITATIONS
	Now requires Readonly and Perl 5.10.  Sub::Private is optional (it needs
	  Perl 5.26 via Params::Validate::Strict): the internals are locked only if it
	  is installed.  Fixes install failures on old Perls

1.21	2020-11-15T07:38:11-05:00
	Fix CPAN breakage

1.20	2020-11-13T15:20:30-05:00
	No changes to the code, new maintainer - thanks to BARBIE

1.19    2015-01-29
        - added use warnings for CPANTS completeness.

1.18    2014-10-11
        - fixed license fields in META.json to be lists.
        - simplified parameter logic checks.
        - added tests to check bad calls.
        - Devel::Cover = 100%

1.17    2014-08-02
        - switch to Test::More in tests.
        - RT#88359 - typo fix (thanks to dsteinbrunner).
        - RT#50047 - roman numerals optional (thanks to degatcpan).
        - added Post-Nominial Initials, based on RT#47708 (thanks to Dave Gray
          and Mark Summerfield for the ideas). The current list isn't
          exhaustive, but should suffice for now.
        - RT#46669 - Ben first name (thanks to Dave Gray).
        - added $HEBREW switch.
        - added 'bat', daughter of, in HEBREW.

1.16    2014-07-24
        - new maintainer: Barbie.
        - created Changes, taken from POD.
        - moved module into lib directory path.
        - updated copyright and license.
        - added LICENSE file.
        - reworked Makefile.PL for clarity.
        - minimum perl version is now 5.006.
        - added META.json and updated META.yml.
        - extended test suite.

1.15    2008-02-27
        - Fixed the version number.

1.14    2007-04-27
        - Added 16 "Mac" exceptions provided by Stuart McConnachie.
          The license is now "the same terms as Perl itself".

1.13    2002-04-26
        - Changed $SPANISH_EL to $SPANISH and now 'La' => 'la' unless 
          $SPANISH is set in which case 'La' => 'La'. Again thanks to
          Aaron Patterson.

1.12    2002-04-25
        - Al, Ben and Van are preserved if single names and namecased 
          otherwise, e.g. 'Al' => 'Al', 'Al Fahd' => 'al Fahd'. Added
          $SPANISH_EL variable. All thanks to a suggestion by Aaron
          Patterson.

1.11    2000-11-24
        - Added use locale at the suggestion of Eric Kolve. It should have
          been there in the first place.

1.10    1999-11-15
        - Added code for names with roman numerals, thanks to David Lynn
          Rice for this suggestion. (If you need to go beyond LXXXIX let me
          know.)

1.08    1999-09-10
        - Renamed Text-NameCase => Lingua-EN-NameCase
        - Renamed package Lingua::EN::NameCase.pm as per John Porter's
          (CPAN) suggestion.

1.08    1999-09-10
        - Minor change to packaging for CPAN.

1.07    1999-08-11
        - Changed licence to LGPL.

1.06    1999-08-06
        - Renamed NameCase => Text-NameCase

1.06    1999-07-30
        - Modified for CPAN and automatic testing. Stopped using $_ as the
          default argument.

1.04    1999-05-10
        - nc can now use $_ as its default argument 
          e.g. "$ans = nc ;" and "nc ;", both of which set $_, with the
          first one setting $ans also.

1,03    1999-05-05
        - Copied Kim Ryan's Mc/Mac solution from his NameParse.pm and 
          replaced my Mc/Mac solution with his.

1.00    1999-03-01
        - Added Mac with Mack as an exception, thanks to Kim Ryan for this.

0.03    1999-01-18
        - Second public release.

0.02    1998-06-25
        - First public release.

0.01    1998-04-20
        - First release.
