August 11th, 2011: libphonenumber-3.8 * Code changes - Fix to demo to not throw null-ptr exceptions for invalid NANPA numbers - Fixed AYTF to not accept plus signs in the middle of input - PhoneNumberMatcher improvements - added STRICT_GROUPING and EXACT_GROUPING levels, numbers followed/preceded by a currency symbol will not match, multiple numbers separated by phone-number punctuation will now match. ", " is no longer accepted as an extension symbol when matching, only when parsing. "x" is only accepted as a carrier code or extension marker, not otherwise. - Changes to handling of leading zeroes - these will not be silently ignored anymore, but will be stored as part of the number. - PhoneNumberOfflineGeocoder - new method to get the description of a number that assumes the validity of the number has already been checked and will not re-verify it. - Split geocoding US binary data into multiple files. * Metadata changes - Updates: AR, AT, AU, AZ, BE, BF, BH, BY, CA, CN, CO, CR, HT, HU, IT, KG, KH, LB, LI, ME, NC, RS, SE, TT, US, VG, ZA - New geocoding data for: AL, AM, AO, BF, BJ, BW, CD, CI, CZ, DZ, EE, GH, GM, GN, GR, GW, HU, IS, KE, LK, LS, LT, LU, LV, MD, MG, MR, NA, PE, QN, SD, SK, SN, SZ, TN, VE, VN, ZA, ZW - Updated geocoding data for: GB, PT, US - Revised sorting of geocoding data July 5th, 2011 * Code changes - Refactored AreaCodeMap to minimize binary and memory footprint by using 2 different strategies. - Refactored BuildMetadataFromXml.java and added unittests. * Metadata changes - Regenerate binaries for all existing area code mapping data with smaller sizes. - Added city-level area code data mapping for US and Canada. June 29th, 2011 * Code changes - Fixed issue 38, issue 39, issue 41 and issue 43 * Metadata changes - Added phone number area mapping files for - JP in Japanese - FR in French - TW in English, Simplified and Traditional Chinese - RU in English - IT in English and Italian - PT in Portuguese - TR in English and Turkish - CH in English, German, French and Italian - Updates: CR, GE, IT, JP, KW, MH, MP, MU, PE, PM, RW, TG, TJ, TK June 14th, 2011 * Code changes - Added PhoneNumberOfflineGeocoder, supporting classes and their unittests. - Added GenerateAreaCodeData to transform phone number area mapping files from text files to binary files. - Modified PhoneNumberParserServlet.java and phonenumberparser.jsp to incorporate PhoneNumberOfflineGeocoding in the appengine demo. * Metadata changes - Added phone number area mapping files for NANPA countries and GB in English, NL in Dutch, AR, CL and ES in Spanish, AT and DE in German, SE in Swedish, BR in Portuguese, KR in English, Korean, Simplified and Traditional Chinese, and CN in Simplified Chinese. June 10th, 2011 * Code changes: - Fixes for PhoneNumberMatcher to be more restrictive in valid mode and not match numbers surrounded by Latin characters. This ensures, for example, the string abc123456789acg will not be marked as a phone numbers. - Enable PhoneNumberUtil to handle all digits, rather than a subset - Fix for AYTF issue36 and improvement for US AYTF behaviour. * Metadata changes: - Updates: BG, EG, ES, GH, PF, SC, SY, VA 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#