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.