2017-09-05 3.4002 Add new US and CA area codes;
UK data is now in a normal data file instead of a humungous binary
module;
Re-open the UK database in children after forking
(see https://github.com/DrHyde/perl-modules-Number-Phone/issues/72);
UK data can be slurped into memory for faster access (but slow startup);
Data updates
2017-07-02 3.4001 Added some nominally redundant dependencies (see
https://github.com/DrHyde/perl-modules-Number-Phone/pull/68);
UK "protected" numbers are now included;
Data updates
2017-03-14 3.4000 Changed Kosovo's placeholder country-code from KOS to XK;
+383 (Kosovo) is now a special-case for validation
(see https://github.com/DrHyde/perl-modules-Number-Phone/issues/66);
Data updates
2016-12-06 3.3000 Implemented is_drama
(see https://github.com/DrHyde/perl-modules-Number-Phone/pull/61);
NANP modules now know about is_tollfree, is_specialrate and
is_personal;
Number::Phone::Country will now warn that exporting is deprecated;
Stubs and dial_to are no longer experimental;
Minor doco improvements, including some from the Debian project
(see https://github.com/DrHyde/perl-modules-Number-Phone/issues/60);
Minor coverage improvements by getting rid of some redundant
code paths;
More comprehensive testing of stubs, and resulting bug-fixes for
territories that appear as part of another's number plan, such
as enormous Kazakhstan and tiny Tristan da Cunha;
Data updates
2016-09-07 3.2001 Data updates
2016-06-05 3.2000 Bump version number because rpm is stupid and thinks
3.1 < 3.0014;
Recognize Isle of Man (IM) free/special-rate
numbers;
Data updates
2016-03-04 3.1 Added the format_using() method and the ability to
use third-party formatters, thanks to Michael
Schout for the suggestion;
Data updates
2015-12-08 3.0014 Deprecated APIs of being able to call most methods as
class methods or functions instead of object methods
have now been deleted;
Remove unnecessary N::P::NANP->country method - the
implementation in the superclass is sufficient;
Data updates
2015-11-04 3.0013 Fix another bug in the tests which threw up
misleading failures if a country-specific subclass
was installed
2015-10-26 3.0012 Updated dialing prefixes in N::P::Country
from Michael Gray;
Fix broken code for is_specialrate in stubs,
which previously always returned undef (ie
unknown) even when libphonenumber knew it was
eg premium rate (bug found by Gerhard Poul's
PR 46);
+44 3 numbers have is_specialrate set;
Fix bug where Number::Phone::Country would get
re-set to 'UK' mode instead of the ISO-ly
correct 'GB' mode;
Data updates.
2015-09-09 3.0011 Data updates
2015-07-20 3.0010 Fix a minor bug in the tests which were throiwing up
misleading failures if a country-specific subclass
was installed
2015-07-18 3.0009 Data updates;
Heard Island has nothing to do with the Marshall Islands!
Don't create stub objects when given just a country code
(see https://github.com/DrHyde/perl-modules-Number-Phone/issues/40)
2015-06-05 3.0008 Turn on the utf-8 flag on areacode names;
Data updates
2015-03-13 3.0007 Mostly just updated data from Google and OFCOM;
Announced approximately quarterly release schedule
2014-12-03 3.0006 Updated country codes and access codes for some
French overseas departments and ex-Soviet countries;
Fix bug confusing Georgia (GE) and South Georgia (GS);
2014-11-25 3.0005 Bugfix for stubs of countries with no national dialing
code.
2014-11-24 3.0004 Mailing list for users created;
Bugfixes for Curacao, Svalbard;
Bugfixes for stubs of countries where numbers can
begin with the national dialling prefix, eg Russia,
where the prefix is 8 but area codes like 812 exist;
New UK allocations
2014-09-04 3.0003 Bugfix: N::P->new("CC", 0...") now works
(where 0 is the national dialling prefix);
New UK allocations
2014-08-22 3.0002 Be more consistent when formatting UK numbers
for which we have incomplete data from OFCOM,,
no matter how they're instantiated;
New UK allocations
2014-06-17 3.0001 Make N::P::UK->format() cope better when OFCOM
don't tell us how long 08 numbers are;
New UK allocations
2014-04-25 3.0 Add Number::Phone::Lib, a libphonenumber-compatible
subclass. This lacks some functionality but is
considerably faster (for UK numbers) and compatible
(for non-geographic NANP numbers);
Add some new CA/US area codes;
Add more GMSS codes;
Use libphonenumber data for some NANP countries (some
have dodgy data*) for is_mobile, is_fixed_line
* Some countries have duplicate regexes for fixed_line/mobile in libphonenumber,
and others have regexes that match the same data
2014-04-15 2.2003 Bugfix to tighten up length checking for
unallocated UK numbers;
New UK allocations
2013-07-04 2.2002 New UK allocations
2012-11-29 2.2001 Bugfix to avoid using broken third-party
Number::Phone::* modules that aren't proper
sub-classes;
New UK allocations
2012-11-21 2.2 Bugfix stub countries to not have random \ in
area names;
Minor doco fix "from Number::Phone::UK, it would
return DE" is obviously wrong;
Some stuff in stubs for the breakup of the
Dutch colonies in the Caribbean;
New UK allocations;
Documentation (and stub implementation in superclass)
for new operator_ported() method;
New dial_to() method;
Much doco improvement;
Switch to DBM::Deep 2 for UK data, to fix Windows
test failures, see eg http://tinyurl.com/n-p2-1fail;
2012-10-30 2.1 Fix so we don't die trying to parse Inmarsat
and other non-country entities, see
https://github.com/DrHyde/perl-modules-Number-Phone/issues/8
2012-10-30 2.0002 Fixed how we extract patterns of leading digits
for number formats from libphonenumber, see
https://github.com/DrHyde/perl-modules-Number-Phone/issues/7;
Added some minimal tests for this;
Import from libphonenumber
2012-10-27 2.0001 New UK allocations, import from libphonenumber
and OFCOM
2012-01-29 2.0 Fix nasty bug in formatting unallocated UK numbers;
Sint Maarten (SX) moved from +599 5 to +1 721;
UK formatting improved for 3+7 and 2+8 formats;
Isle of Man (IM), Guernsey (GG) and Jersey (JE)
now sort-of treated as countries;
The minimal objects returned when there's no detailed
country-specific module available are far more
intelligent, thanks to libphonenumber's data;
New UK allocations;
Deprecated ridiculous ways of calling most methods;
2011-10-29 1.9 New UK allocations;
Use libphonenumber's data for N::P::Country;
Use libphonenumber's data for N::P::NANP areanames
2011-08-18 1.8006 Add South Sudan (SS, +211) to N::P::Country;
New UK allocations
2011-08-05 1.8005 Include tests for bugfix in distro
2011-08-05 1.8004 Bugfix for divining country code from subclasses;
New UK allocations
2011-07-19 1.8003 UK parser made a teensy bit more robust;
UK parser bugfixed for 01768 88 mixed length stupidity
New UK allocations
2011-07-08 1.8002 New UK allocations;
Numerous small changes in Number::Phone::Country
Tidying number ranges in Mayotte;
Minor bugfix for Mayotte;
Gibraltar can't be called in the Spanish
numbering scheme any more;
Ellipsos satcomms have gone away;
Kazakhstan has +76 and +77 instead of random
bits all over +7;
Western Sahara number ranges identified;
Kosovo (no ISO3166 country code yet, so I'm
temporarily using KOS, as used by the UN
Development Programme, see
wikipedia://List_of_UNDP_country_codes);
Canada and the US have some new codes;
Netherlands Antilles are splitting up;
Dominican Republic now has +1 849;
2011-05-20 1.8001 New UK allocations
2010-09-12 1.8 INCOMPATIBLE CHANGE: constructor will now return
a minimal object instead of undef if there's no
country-specific module available
New UK allocations
2010-07-05 1.7101 Bugfix for N::P->new('CC', '+NN12345');
2010-07-02 1.7100 Bugfix for N::P->new('CC', '12345');
New UK allocations
2010-02-17 1.7004 New UK allocations;
UK geographic numbers are no longer assumed to
be fixed lines - damn those VoIP providers!
2009-10-18 1.7003 Minor bugfix, see https://rt.cpan.org/ ticket 48581;
New UK allocations
2009-04-22 1.7002 Fix minor bug (...::UK constructor returning 0
instead of undef for (some?) invalid numbers,
reported by Tomasz Chomiuk;
New UK allocations
2009-03-04 1.7001 Kill warnings about GE being deprecated;
Add missing dep on Digest::MD5
2009-02-26 1.7 Fix formatting for valid but unallocated UK numbers;
One of the UK telcos whose name we check for in
tests renamed itself;
New UK allocations;
Added country-to-code and national/international
prefix data to N::P::C, thanks to Michael Schout
2008-05-27 1.6 Magic country detection now works (thanks to
Jos Boumans for reporting the bug);
New UK allocations
2008-02-27 1.581 Added dependency on perl 5.006 (DBM::Deep uses 'our');
Removed docs from N::P::UK::DBM::Deep and
replaced with note about its status;
New UK allocations;
Removed t/pod* temporarily
2007-06-01 1.58 Number::Phone::Country updated to reflect KM/YT split
Mayotte moved into parts of +262, so now shares with
Reunion instead of Comoros
New UK allocations (in particular 03 range)
2007-03-13 1.57 New UK allocations;
Bundle DBM::Deep cos old version is incompatible
2007-02-24 1.5601 New UK allocations
2006-12-08 1.56 New UK allocations;
Updated OFCOM parser;
Loads of Number::Phone::Country updates -
+1: NANP overlays: 226, 438, 762, 769, 829;
+269: Split Mayotte/Comores;
+381/2: Yugoslavia's *still* breaking up! (RS and ME);
+61 89162/4: Cocos and Christmas islands
+672 3: Norfolk Island
+672 1 0/1/2/3: Australian Antarctic bases
+681: Wallace and Futuna (corrected CCTLD)
+881 0: ICO Global
+881 3: Ellipso
+881 6: Iridium
+881 7: Iridium
+881 8: Globalstar
2006-08-25 1.55 Damnit, 1.54's ...UK->location() was wrong
2006-08-24 1.54 And again!
2006-08-23 1.53 Doh! How we loaded location data was buggy
2006-08-23 1.52 Documentation patches;
Corrected CHANGELOG entry for v1.51;
Added location data for the UK
2006-08-22 1.51 Updated UK data to access DATA filehandle directly,
which depends on DBM::Deep 0.97 and above. This
saves even more memory and makes the module load
a lot faster;
New UK allocations;
Some improvements and fixes in OFCOM data parser;
Bug fixes :-( for UK numbers with a significant F digit
2005-10-16 1.5 UK data moved into an embedded DBM::Deep structure
to save memory (NB: this adds dependencies)
Added location() method
2005-10-11 1.4004 New UK allocations
Removed 'use warnings' and 'use diagnostics' because
they pointlessly require a later version of perl;
re the above, tests now all use -w instead
2005-08-23 1.4003 Updated N::P::Country to use CS instead of YU for
Yugoslavia (ISO 3166 has been updated)
Fixed non-US and non-CA countries in N::P::Country's
phone2country_and_idd function (BUGFIX)
New UK allocations
2005-08-02 1.4002 New UK allocations
2005-06-27 1.4001 Added phone2country_and_idd to N::P::Country
new UK allocations etc
2005-05-18 1.4 updated Number::Phone::Country to remove American
Samoa's +684 code, it has migrated to +1 684 in
the NANP
N::P::C now correctly identifies US numbers
doesn't just assume a NANP number is US if it's
not assigned to another country
N::P::C no longer uses <DATA>
N::P::C added missing countries
some tidying in N::P::C's tests
N::P->country now defaults to returning current country
some tidying in N::P base class
new UK number allocations
UK data file now has version number (autogen from date)
UK data fixed for numbers "Allocated for Migration only"
Added NANP class and NANP::XX subclasses
2005-04-12 1.3004 new UK number allocations
removed 'use diagnostics'
2004-12-05 1.3003 new UK number allocations
2004-11-26 1.3002 OFCOM's UK data had some spurious spaces in numeric
fields, which broke some 070 numbers, these are now
filtered out
2004-11-10 1.3001 new UK number allocations
2004-10-20 1.3 Added note about number portability in UK module.
Added areaname() method to interface definition
and an implementation in the UK module.
Defined translates_to() method in superclass.
Added Number::Phone::Country to distribution. This
was previously maintained by T.J.Mather.
2004-10-13 1.2001 No code changes, just new UK number allocations
2004-09-22 1.2 Oops, forgot to add is_ipphone to docs for N::P::UK
last time.
Updated N::P::UK::Data with some new number ranges.
2004-09-15 1.1 Number::Phone::UK now implements is_ipphone, and
N::P::UK::Data has appropriate data in it, as
OFCOM have this week publishedthe allocations they
made a few weeks ago.
Removed is_voip() alias, it didn't work properly
under all the possible ways of invoking it.