Changing PhoneNumberUtil to use the possibleLengths information, not the reg-exes.
Note the API is not changing, but the metadata is now somewhat stricter for
many countries, since before we applied only a minimum and maximum length for
most countries, and now we specify exactly which lengths are possible.
This has a flow-on effect when parsing, since we decide whether to do certain
operations like strip a national prefix based on whether the number is a
possible length before/after - when parsing, if the number is shorter than the *national* pattern, we no longer strip the national prefix.
Affected countries:
AD (7 digits now invalid)
AM (7 digits now invalid)
AR (9 digits now invalid)
AZ (8 digits now invalid)
BG (4 digits now valid for local-only numbers)
BJ (5-7 digits now invalid)
CC/CX (5 digit numbers now possible: this should always have been the case, but the generalDesc was wrong and didn't reflect its child elements. We now calculate it based on them, which allows 5 digit numbers.)
CO (9 digits now invalid)
CR (9 digits now invalid)
ET (8 digits now invalid)
GE (7 and 8 digits now invalid)
GH (8 digits now invalid)
IL (5 and 6 digits now invalid)
IM/JE/GG (7, 8 and 9 digits now invalid, shortest national number length now 10, so parsing affected for numbers shorter than this)
IS (8 digits now invalid)
KG (7,8 digits now invalid)
KR (11 digits now invalid)
LA (7 digits now invalid)
LI (8 digits now invalid)
LY (8 digits now invalid)
MV (8 and 9 digits now invalid)
MW (8 digits now invalid)
MX (9 digits now invalid)
NP (9 digits now invalid)
SE (11 digits now invalid)
SG (9 digits now invalid)
SL (7 digits now invalid)
SM (7-9 digits now invalid)
UA (8 digits now invalid)
UG (8 digits now invalid)
UZ (8 digits now invalid)
- LOGGER -> logger
- Small comment fixes
- Style-guide-recommended formatting changes
- Removal of duplicate, unneeded method in PhoneNumberToTimeZonesMapper.java for canBeGeocoded, using phoneNumberUtil instead.
Sep 19, 2016: libphonenumber-7.7.0
Code changes:
Removed the dependency on protobuf (protobuf-javanano) from the Java library, resurrecting java/libphonenumber/src/com/google/i18n/phonenumbers/Phonemetadata.java which was present until libphonenumber-7.1.1.
Does not affect the C++ or JavaScript libraries.
We remove the dependency on protobuf (protobuf-javanano) from the Java library, resurrecting java/libphonenumber/src/com/google/i18n/phonenumbers/Phonemetadata.java which was present until libphonenumber-7.1.1.
Does not affect the C++ or JavaScript libraries.
Code changes:
* Phonemetadata.java has two more fields to represent possible lengths of phone numbers. Changed BuildMetadataFromXml (and the resultant jar) to alter the way that metadata about possible-lengths information is consumed when constructing metadata to populate these. Discussion list email: https://groups.google.com/forum/#!topic/libphonenumber-discuss/75TOpTFVi08
Metadata changes:
* Updated phone metadata for region code(s): AG, AM, AX, BY, CD, FI, IN, KR, MA, NA, NL, PK, SY
* Updated short number metadata for region code(s): BR, GB, NL, NZ
* New geocoding data for country calling code(s): 82 (pl, pt, ro, ru, sl, sr, uk, vi)
* Updated carrier data for country calling code(s): 27 (en), 91 (en), 243 (en), 963 (en)
Aug 24, 2016: libphonenumber-7.6.0
Code changes:
Refactored metadata loading and closed all streams after loading.
Made isNumberGeographical public, and changed the geocoder to use this when checking whether to give a detailed answer or country-level only.
Build changes:
Use protobuf-javanano 3.0.0-alpha-7 from Maven Central.
Metadata changes:
Updated phone metadata for region code(s): EH, ET, JM, MA, SK, SN, SY, ZM
Updated short number metadata for region code(s): ZA
Updated geocoding data for country calling code(s): 212 (en)
New carrier data for country calling code(s): 86 (zh, zh_Hant), 852 (zh, zh_Hant), 963 (en)
Updated carrier data for country calling code(s): 86 (en), 212 (en), 251 (en), 421 (en)
Deleted unsupported SingleFilePhoneNumberMetadataProto
Making function IsNumberGeographical public. This function operates on
the type of number and the country it belongs to only, so may have some
false positives.
Using this in the geocoder so that geocoding now limited to numbers that
we consider geographical, based on their type and country, rather than
just based on their type. The C++ geocoder did not previously check the
number type/country at all.
Indonesian and Chinese mobile numbers have now been added to the list of
possibly-geographical numbers.
* Roll back libphonenumber parent changes
* [maven-release-plugin] prepare release libphonenumber-7.4.5
* [maven-release-plugin] prepare for next development iteration