1 August 11th, 2011: libphonenumber-3.8 2 * Code changes 3 - Fix to demo to not throw null-ptr exceptions for invalid NANPA numbers 4 - Fixed AYTF to not accept plus signs in the middle of input 5 - PhoneNumberMatcher improvements - added STRICT_GROUPING and EXACT_GROUPING 6 levels, numbers followed/preceded by a currency symbol will not match, 7 multiple numbers separated by phone-number punctuation will now match. ", " 8 is no longer accepted as an extension symbol when matching, only when 9 parsing. "x" is only accepted as a carrier code or extension marker, not 10 otherwise. 11 - Changes to handling of leading zeroes - these will not be silently ignored 12 anymore, but will be stored as part of the number. 13 - PhoneNumberOfflineGeocoder - new method to get the description of a number that assumes 14 the validity of the number has already been checked and will not re-verify it. 15 - Split geocoding US binary data into multiple files. 16 17 * Metadata changes 18 - Updates: AR, AT, AU, AZ, BE, BF, BH, BY, CA, CN, CO, CR, HT, HU, IT, KG, KH, 19 LB, LI, ME, NC, RS, SE, TT, US, VG, ZA 20 - New geocoding data for: AL, AM, AO, BF, BJ, BW, CD, CI, CZ, DZ, EE, GH, GM, 21 GN, GR, GW, HU, IS, KE, LK, LS, LT, LU, LV, MD, MG, MR, NA, PE, QN, SD, SK, 22 SN, SZ, TN, VE, VN, ZA, ZW 23 - Updated geocoding data for: GB, PT, US 24 - Revised sorting of geocoding data 25 26 July 5th, 2011 27 * Code changes 28 - Refactored AreaCodeMap to minimize binary and memory footprint by using 2 different strategies. 29 - Refactored BuildMetadataFromXml.java and added unittests. 30 31 * Metadata changes 32 - Regenerate binaries for all existing area code mapping data with smaller sizes. 33 - Added city-level area code data mapping for US and Canada. 34 35 June 29th, 2011 36 * Code changes 37 - Fixed issue 38, issue 39, issue 41 and issue 43 38 39 * Metadata changes 40 - Added phone number area mapping files for 41 - JP in Japanese 42 - FR in French 43 - TW in English, Simplified and Traditional Chinese 44 - RU in English 45 - IT in English and Italian 46 - PT in Portuguese 47 - TR in English and Turkish 48 - CH in English, German, French and Italian 49 - Updates: CR, GE, IT, JP, KW, MH, MP, MU, PE, PM, RW, TG, TJ, TK 50 51 June 14th, 2011 52 * Code changes 53 - Added PhoneNumberOfflineGeocoder, supporting classes and their unittests. 54 - Added GenerateAreaCodeData to transform phone number area mapping files from text files to binary 55 files. 56 - Modified PhoneNumberParserServlet.java and phonenumberparser.jsp to incorporate 57 PhoneNumberOfflineGeocoding in the appengine demo. 58 59 * Metadata changes 60 - Added phone number area mapping files for NANPA countries and GB in English, NL in Dutch, AR, CL 61 and ES in Spanish, AT and DE in German, SE in Swedish, BR in Portuguese, KR in English, Korean, 62 Simplified and Traditional Chinese, and CN in Simplified Chinese. 63 64 June 10th, 2011 65 * Code changes: 66 - Fixes for PhoneNumberMatcher to be more restrictive in valid mode and not match numbers 67 surrounded by Latin characters. This ensures, for example, the string abc123456789acg will not be 68 marked as a phone numbers. 69 - Enable PhoneNumberUtil to handle all digits, rather than a subset 70 - Fix for AYTF issue36 and improvement for US AYTF behaviour. 71 * Metadata changes: 72 - Updates: BG, EG, ES, GH, PF, SC, SY, VA 73 74 May 24th, 2011 75 * Code changes: 76 - Phonenumber now implements Serializable. 77 - findNumbers doesn't accept numbers with mis-matched brackets as phone-numbers 78 - An offline phone number geocoder has been added. The current implementation just returns the 79 region name for the phone number; more detailed geocoding will be added later. 80 * Metadata changes: 81 - New countries: GF, KP, NC, PA, PF, PW, PY, SB, SR, TO, UY, VU 82 - Updates: CY, CZ, ES, GB, GQ, JM, MQ, TN, VI 83 84 May 9th, 2011 85 * Code changes: 86 - Fixed potential for a null-ptr exception in getExampleNumber 87 - Potential speed improvement with replacement of StringBuffer with StringBuilder 88 * Metadata changes 89 - Changed way that international formats are specified to make it easier to do so 90 - New countries: AX, CC, CX, WF 91 - Updates: AM, AR, AU, AW, CN, CO, CR, DM, EC, ET, FI, FJ, GH, IN, JP, KE, KM, 92 KN, LR, MD, MQ, MX, NP, PH, SC, SE, SM, SN, SY, UG, US, VC, VI, ZM 93 94 Apr 26th, 2011 95 * Code changes: 96 - Improved PhoneNumberMatcher for cases with other numbers before or after the phone number. 97 - Improved AsYouTypeFormatter not to use formatting rules containing non-formatting characters 98 (e.g. '*' in Israeli star numbers). 99 * Metadata changes: 100 - New countries: FJ, FM, GY, NF, NI, NR, TV. 101 - Updates: AM, AZ, BF, BW, BZ, CI, CR, GB, GP, HK, JM, KH, LB, LY, MV, PE, PK, SZ, TJ, US. 102 * Minor documentation updates 103 104 Apr 11th, 2011 105 * Bug fixes: 106 - Adding date exclusion pattern in PhoneNumberMatcher. 107 - Fixing bug with selecting a suitable region for numbers with leading zeros where mutiple regions 108 for that country code are possible. 109 * Metadata changes: 110 - Updates: AG, AI, AS, BB, BM, BS, CA, DM, DO, ET, FO, GD, GE, GU, IN, JM, KN, KY, LC, MN, MP, MR, 111 MS, NO, PR, TC, TR, TT, US, VC, VG, VI 112 - New countries: CK, FK, GT, IO, KI, SJ, SV 113 * Documentation updates and some small refactoring to AsYouTypeFormatter 114 115 Mar 31st, 2011 116 * New functionality: 117 - Can parse and format numbers in RFC-3966 format. 118 - Added isAlphaNumber to check to see if a number is a "vanity" or "alpha" number 119 - Can format a number made up of alpha-characters in an "out-of-country" format (e.g. 0011 1 120 800-SIX-FLAG to dial an American alpha-number from Australia). 121 * Code changes: 122 - Renamed private vars, private methods and fixed comments to try and differentiate between country 123 (calling) codes and region codes. 124 == Non-backwards-compatible API changes: == 125 - Renamed getSupportedCountries to getSupportedRegions, as this more accurately reflects that the 126 library is based around region codes. 127 - getNationalSignificantNumber is no longer a static method, but is instead an instance method. 128 * Metadata changes: 129 - Bug-fixes and updates for AU, AZ, EE, FI, IN, JO, KW, KZ, MV, RU, RR, VA 130 - New country: ME 131 132 Mar 22nd, 2011 133 * Metadata changes: 134 - New mobile-number pattern for AU 135 136 Mar 10th, 2011 137 * New functionality: 138 - New function to format a number with the preferred domestic carrier code used when parsing, 139 falling back to a default calling code otherwise (formatNationalNumberWithPreferredCarrierCode). 140 - We now store the preferred domestic carrier code used when the user calls parseAndKeepRawInput 141 - New functionality to extract phone-numbers from text (findNumbers). This is just the first 142 version - it does not extract ALPHA numbers such as 0800 CALL ME, or numbers where alternate 143 endings are specified (such as 03-331 6005/6006). 144 * Code changes: 145 - Tidying up the test file to use several pre-defined phone number constants 146 - Fixing several lint errors 147 - Added javadoc to formatNationalNumberWithCarrierCode 148 - Fixed bug where a null pointer exception was thrown when getAsYouTypeFormatter was called with an 149 invalid region code 150 - Improved AsYouTypeFormatter to deal with countries with variable-length patterns such as LU 151 * Metadata changes: 152 - Bug-fixes and updates for the following countries: BF, BO, BR, CL, CO, CR, DK, FO, GE, KR, KW, 153 LA, LU, MU, SC, SH, TR, VE 154 - New country: SH 155 156 Mar 10th, 2011 157 * Code changes: 158 - releasing the code to run the demo on localhost or appengine. 159 160 Mar 7th, 2011 161 * Metadata changes: 162 - Adding support for AC 163 164 Feb 11th, 2011 165 * Metadata changes: 166 - Update UAN number ranges for IM and JE. 167 168 Feb 9th, 2011 169 * Code changes: 170 - Better isNumberMatch method. This will now recognise numbers starting with a national prefix as 171 an NSN_MATCH, instead of SHORT_NSN_MATCH. 172 == Note Non-backwards-compatible API change here! == 173 This will no longer throw a NumberParseException - instead we will return NOT_A_NUMBER if one 174 or other of the numbers provided do not match. 175 - New number-type UAN now supported in the code. This represents Company Numbers or Universally 176 Accessible Numbers. 177 * Metadata changes: 178 - Bug-fixes and updates for the following countries: AG, AZ, BA, BE, CA, CU, ES, FI, GB, GD, GG, 179 IE, IL, IM, IN, IR, IT, JE, JP, KR, KW, NG, NZ, PK, PS, PT, RU, SE, SG, SY, US 180 - New countries: CO, LU, LY, MC, SM 181 - Addition of "Personal Number" ranges to all NANPA countries 182 183 Jan 31st, 2011 184 * Code changes: 185 - Introducing equals() and hashCode() methods for the Phonenumber.PhoneNumber class 186 187 Jan 28th, 2011 188 * Code changes: 189 - Fixing critical bug with non-Android-compatible code. isEmpty() was being used and CANON_EQ in 190 reg-ex matches. 191 192 Jan 20th, 2011 193 * Code improvements: 194 - Handle null phone-numbers when parsing by throwing a NumberParseException. 195 - Handle extension written with an accented "o", as per Spanish, when parsing. 196 - Handle U+30FC dashes as phone-number punctuation. 197 - Allow "ZZ" or null regions to be specified for numbers starting with a full-width "+" symbol, or 198 with other characters (such as whitespace) before the leading +. 199 - new getLengthOfNationalDestinationCode function 200 * Metadata changes: 201 - New types of numbers introduced: UAN (universal or "company" numbers) and short codes. Note that 202 "generalDesc" patterns do not encompass short-codes. No code-support for these has been 203 introduced as of yet. We are also now enabling the collection of data for information such as 204 area-code-optional, and no-international-dialling ranges. 205 - Data updates as per ITU notifications/bug fixes for the following countries: AM, BH, CD, CG, CR, 206 DE, DJ, EE, GB, GN, HU, IE, JO, JP, LB, LR, MA, MK, MN, MR, NA, PG, SC, SG, SO, SZ, VN, ZA, ZW 207 - Data added for the following countries: BZ, CU, EC, FO, GI, HN, HT, LK, MT, MV, NU, PS, SD 208 - Indentation fixes in reg-exes for the following countries: BG, GB 209 - Allow nationalPrefixForParsing to be specified for countries with no national prefix, to handle 210 possible carrier prefixes 211 212 Jan 3rd, 2011 213 * Metadata changes: 214 - Updates to JE 215 - Updated comments for GB/GG/IM/JE 216 217 November 25th, 2010 218 * Metadata changes: 219 - Updates to existing countries: AD, AG, AI, AN, AS, BB, BG, BM, BS, BW, CA, DM, DO, GD, GH, GM, 220 GU, IN, JM, KN, KY, KZ, LB, LC, MP, MS, PR, SY, TC, TT, TZ, US, VC, VG, VI. 221 - Reorganize reg-exes for better readability. 222 - Updated comments. 223 224 October 22nd, 2010 225 * Metadata changes: 226 - Updates to existing countries: AE, GB, GG, IM, JE 227 228 October 15th, 2010 229 * Code improvements: 230 - Allowed parsing of numbers that start with "++" or a full-width "+" symbol 231 - Allowed reg-exes for national and possible number patterns to have white space in them in the 232 source XML file 233 - Added a more useful toString method for the phone number proto class 234 * Metadata changes: 235 - Updates to existing countries: AF, BF, BO, ES, GB, GG, IM, IS, JE, JE, JP, KR, PE, PT, RU, SE, 236 TT, ZW 237 * Bug fixes: 238 - Parsing empty strings with invalid region codes no longer throws a null pointer exception 239 240 September 4th, 2010 241 * Code improvement: 242 - Added new phone number type: pager 243 * Metadata change: 244 - update to existing country: GG, IM, JE, RS, RU 245 * Bug fixes: 246 - ArrayOutOfBoundException in AsYouTypeFormatter.getRememberedPosition() 247 - AsYouTypeFormatter for UK childline number 248 249 September 1st, 2010 250 * Bug fix on KZ metadata. 251 252 August 17th, 2010 253 * Code improvement: 254 - Refactored BuildMetadataProtoFromXml.java into BuildMetadataFromXml.java and 255 BuildMetadataProtoFromXml.java 256 - Added BuildMetadataProtoFromXml.java and JSArrayBuilder.java 257 - Refactored CountryCodeToRegionCodeMap and CountryCodeToRegionCodeMapForTesting into separate 258 files. 259 260 August 16th, 2010 261 * Bug fixes 262 - AsYouTypeFormatter for formatting Chinese geographical numbers entered in national format. 263 - AsYouTypeFormatter for formatting Chinese 400/800 numbers entered in national format. 264 * Metadata change: 265 - new countries: AM, AN, BH, GL, IS 266 - adding national prefix 1 to all NANPA countries. 267 - update to existing countries: BF, FR, UK, PK, RE 268 269 August 4th, 2010 270 * Further improve startup performance 271 - Preload no country specific metadata at startup. 272 - Stop creating the file containing mapping from country calling code to region code 273 and loading it at startup; instead, do the initialization in PhoneNumberUtil. 274 275 July 31th, 2010 276 277 * Improve startup performance 278 - Separate generated metadata binary file to one file per region 279 - Preload US at start up, and load other region at the time when needed 280 - Create a file containing mapping from country calling code to region code, 281 and load it at startup 282 - Same change also applied to unittests 283 284 July 30th, 2010 285 * Metadata change: 286 - new country: TL 287 - update to existing country: AZ, CN, FR, GH, JO, LA, PG, PK, QA, SZ, UA, VN 288 289 * Code improvement 290 - China local number formatting for AsYouTypeFormatter 291 - improve extension parsing to handle number in the form of +1 (645) 123 1234 ext. 910# 292