May 24th, 2011 * Code changes: - Phonenumber now implements Serializable. - findNumbers doesn't accept numbers with mis-matched brackets as phone-numbers - An offline phone number geocoder has been added. The current implementation just returns the region name for the phone number; more detailed geocoding will be added later. * Metadata changes: - New countries: GF, KP, NC, PA, PF, PW, PY, SB, SR, TO, UY, VU - Updates: CY, CZ, ES, GB, GQ, JM, MQ, TN, VI May 9th, 2011 * Code changes: - Fixed potential for a null-ptr exception in getExampleNumber - Potential speed improvement with replacement of StringBuffer with StringBuilder * Metadata changes - Changed way that international formats are specified to make it easier to do so - New countries: AX, CC, CX, WF - Updates: AM, AR, AU, AW, CN, CO, CR, DM, EC, ET, FI, FJ, GH, IN, JP, KE, KM, KN, LR, MD, MQ, MX, NP, PH, SC, SE, SM, SN, SY, UG, US, VC, VI, ZM Apr 26th, 2011 * Code changes: - Improved PhoneNumberMatcher for cases with other numbers before or after the phone number. - Improved AsYouTypeFormatter not to use formatting rules containing non-formatting characters (e.g. '*' in Israeli star numbers). * Metadata changes: - New countries: FJ, FM, GY, NF, NI, NR, TV. - Updates: AM, AZ, BF, BW, BZ, CI, CR, GB, GP, HK, JM, KH, LB, LY, MV, PE, PK, SZ, TJ, US. * Minor documentation updates Apr 11th, 2011 * Bug fixes: - Adding date exclusion pattern in PhoneNumberMatcher. - Fixing bug with selecting a suitable region for numbers with leading zeros where mutiple regions for that country code are possible. * Metadata changes: - Updates: AG, AI, AS, BB, BM, BS, CA, DM, DO, ET, FO, GD, GE, GU, IN, JM, KN, KY, LC, MN, MP, MR, MS, NO, PR, TC, TR, TT, US, VC, VG, VI - New countries: CK, FK, GT, IO, KI, SJ, SV * Documentation updates and some small refactoring to AsYouTypeFormatter Mar 31st, 2011 * New functionality: - Can parse and format numbers in RFC-3966 format. - Added isAlphaNumber to check to see if a number is a "vanity" or "alpha" number - Can format a number made up of alpha-characters in an "out-of-country" format (e.g. 0011 1 800-SIX-FLAG to dial an American alpha-number from Australia). * Code changes: - Renamed private vars, private methods and fixed comments to try and differentiate between country (calling) codes and region codes. == Non-backwards-compatible API changes: == - Renamed getSupportedCountries to getSupportedRegions, as this more accurately reflects that the library is based around region codes. - getNationalSignificantNumber is no longer a static method, but is instead an instance method. * Metadata changes: - Bug-fixes and updates for AU, AZ, EE, FI, IN, JO, KW, KZ, MV, RU, RR, VA - New country: ME Mar 22nd, 2011 * Metadata changes: - New mobile-number pattern for AU Mar 10th, 2011 * New functionality: - New function to format a number with the preferred domestic carrier code used when parsing, falling back to a default calling code otherwise (formatNationalNumberWithPreferredCarrierCode). - We now store the preferred domestic carrier code used when the user calls parseAndKeepRawInput - New functionality to extract phone-numbers from text (findNumbers). This is just the first version - it does not extract ALPHA numbers such as 0800 CALL ME, or numbers where alternate endings are specified (such as 03-331 6005/6006). * Code changes: - Tidying up the test file to use several pre-defined phone number constants - Fixing several lint errors - Added javadoc to formatNationalNumberWithCarrierCode - Fixed bug where a null pointer exception was thrown when getAsYouTypeFormatter was called with an invalid region code - Improved AsYouTypeFormatter to deal with countries with variable-length patterns such as LU * Metadata changes: - Bug-fixes and updates for the following countries: BF, BO, BR, CL, CO, CR, DK, FO, GE, KR, KW, LA, LU, MU, SC, SH, TR, VE - New country: SH Mar 10th, 2011 * Code changes: - releasing the code to run the demo on localhost or appengine. Mar 7th, 2011 * Metadata changes: - Adding support for AC Feb 11th, 2011 * Metadata changes: - Update UAN number ranges for IM and JE. Feb 9th, 2011 * Code changes: - Better isNumberMatch method. This will now recognise numbers starting with a national prefix as an NSN_MATCH, instead of SHORT_NSN_MATCH. == Note Non-backwards-compatible API change here! == This will no longer throw a NumberParseException - instead we will return NOT_A_NUMBER if one or other of the numbers provided do not match. - New number-type UAN now supported in the code. This represents Company Numbers or Universally Accessible Numbers. * Metadata changes: - Bug-fixes and updates for the following countries: AG, AZ, BA, BE, CA, CU, ES, FI, GB, GD, GG, IE, IL, IM, IN, IR, IT, JE, JP, KR, KW, NG, NZ, PK, PS, PT, RU, SE, SG, SY, US - New countries: CO, LU, LY, MC, SM - Addition of "Personal Number" ranges to all NANPA countries Jan 31st, 2011 * Code changes: - Introducing equals() and hashCode() methods for the Phonenumber.PhoneNumber class Jan 28th, 2011 * Code changes: - Fixing critical bug with non-Android-compatible code. isEmpty() was being used and CANON_EQ in reg-ex matches. Jan 20th, 2011 * Code improvements: - Handle null phone-numbers when parsing by throwing a NumberParseException. - Handle extension written with an accented "o", as per Spanish, when parsing. - Handle U+30FC dashes as phone-number punctuation. - Allow "ZZ" or null regions to be specified for numbers starting with a full-width "+" symbol, or with other characters (such as whitespace) before the leading +. - new getLengthOfNationalDestinationCode function * Metadata changes: - New types of numbers introduced: UAN (universal or "company" numbers) and short codes. Note that "generalDesc" patterns do not encompass short-codes. No code-support for these has been introduced as of yet. We are also now enabling the collection of data for information such as area-code-optional, and no-international-dialling ranges. - Data updates as per ITU notifications/bug fixes for the following countries: AM, BH, CD, CG, CR, DE, DJ, EE, GB, GN, HU, IE, JO, JP, LB, LR, MA, MK, MN, MR, NA, PG, SC, SG, SO, SZ, VN, ZA, ZW - Data added for the following countries: BZ, CU, EC, FO, GI, HN, HT, LK, MT, MV, NU, PS, SD - Indentation fixes in reg-exes for the following countries: BG, GB - Allow nationalPrefixForParsing to be specified for countries with no national prefix, to handle possible carrier prefixes Jan 3rd, 2011 * Metadata changes: - Updates to JE - Updated comments for GB/GG/IM/JE November 25th, 2010 * Metadata changes: - Updates to existing countries: AD, AG, AI, AN, AS, BB, BG, BM, BS, BW, CA, DM, DO, GD, GH, GM, GU, IN, JM, KN, KY, KZ, LB, LC, MP, MS, PR, SY, TC, TT, TZ, US, VC, VG, VI. - Reorganize reg-exes for better readability. - Updated comments. October 22nd, 2010 * Metadata changes: - Updates to existing countries: AE, GB, GG, IM, JE October 15th, 2010 * Code improvements: - Allowed parsing of numbers that start with "++" or a full-width "+" symbol - Allowed reg-exes for national and possible number patterns to have white space in them in the source XML file - Added a more useful toString method for the phone number proto class * Metadata changes: - Updates to existing countries: AF, BF, BO, ES, GB, GG, IM, IS, JE, JE, JP, KR, PE, PT, RU, SE, TT, ZW * Bug fixes: - Parsing empty strings with invalid region codes no longer throws a null pointer exception September 4th, 2010 * Code improvement: - Added new phone number type: pager * Metadata change: - update to existing country: GG, IM, JE, RS, RU * Bug fixes: - ArrayOutOfBoundException in AsYouTypeFormatter.getRememberedPosition() - AsYouTypeFormatter for UK childline number September 1st, 2010 * Bug fix on KZ metadata. August 17th, 2010 * Code improvement: - Refactored BuildMetadataProtoFromXml.java into BuildMetadataFromXml.java and BuildMetadataProtoFromXml.java - Added BuildMetadataProtoFromXml.java and JSArrayBuilder.java - Refactored CountryCodeToRegionCodeMap and CountryCodeToRegionCodeMapForTesting into separate files. August 16th, 2010 * Bug fixes - AsYouTypeFormatter for formatting Chinese geographical numbers entered in national format. - AsYouTypeFormatter for formatting Chinese 400/800 numbers entered in national format. * Metadata change: - new countries: AM, AN, BH, GL, IS - adding national prefix 1 to all NANPA countries. - update to existing countries: BF, FR, UK, PK, RE August 4th, 2010 * Further improve startup performance - Preload no country specific metadata at startup. - Stop creating the file containing mapping from country calling code to region code and loading it at startup; instead, do the initialization in PhoneNumberUtil. July 31th, 2010 * Improve startup performance - Separate generated metadata binary file to one file per region - Preload US at start up, and load other region at the time when needed - Create a file containing mapping from country calling code to region code, and load it at startup - Same change also applied to unittests July 30th, 2010 * Metadata change: - new country: TL - update to existing country: AZ, CN, FR, GH, JO, LA, PG, PK, QA, SZ, UA, VN * Code improvement - China local number formatting for AsYouTypeFormatter - improve extension parsing to handle number in the form of +1 (645) 123 1234 ext. 910#