JAVA: Update geocoder binary generation code.
[platform/upstream/libphonenumber.git] / java / release_notes.txt
1 Sep 23, 2013: libphonenumber-5.8.6
2 * Code changes:
3   - Restructured the geocoder binary generation code, moving the classes under tools/ from
4     geocoding/ to buildtools/ and renaming AreaCode to PhonePrefix.
5
6 Sep 23, 2013: libphonenumber-5.8.5
7 * Code changes:
8   - Restructured the geocoder, moving the utility classes to a new module internal/prefixmapper.
9
10 Sep 20, 2013: libphonenumber-5.8.4
11 * Metadata changes:
12  - Adding a token to indicate which countries have mobile portability.
13
14 Sep 20, 2013: libphonenumber-5.8.3
15 * Code changes:
16   - PhoneNumberOfflineGeocoder: Moved utility functionality to PrefixFileReader.
17   - Bug fix: Argentinian (and other countries with mobile tokens) mobile numbers now geocode
18              correctly.
19
20 Sep 19, 2013: libphonenumber-5.8.2
21 * Code changes:
22   - New method in the PhoneNumberUtil API - getCountryMobileToken.
23
24 Sep 19, 2013: libphonenumber-5.8.1
25 * Metadata changes:
26  - New alternate formatting data for country calling code(s): 675
27  - Updated phone metadata for region code(s):
28    AO, AU, BF, BW, CA, CH, CI, CN, DE, FR, MA, MR, MU, NI, PG, SA, SE, US, VI
29  - New short number metadata for region code(s): IQ
30  - Updated short number metadata for region code(s):
31    AU, BR, DO, EG, FR, GH, ID, IL, JM, KE, KZ, LR, MW, NG, NI, SA, SE, SL, TZ, US, UZ
32  - New geocoding data for country calling code(s):
33    966 (ar, en), 1 (en)
34
35 Sep 2, 2013: libphonenumber-5.8
36 * Code changes:
37  - Renamed ShortNumberUtil to ShortNumberInfo -> the former class is now deprecated and will be
38    deleted in a later release. At the moment it just delegates to ShortNumberInfo.
39  - New methods in the ShortNumberInfo API - isCarrierSpecific, singleton interface,
40    isPossibleShortNumber, isValidShortNumber, getShortNumberCost. Note this is an experimental API
41    at the moment and subject to change.
42  - Bug fixes:
43     -- AsYouTypeFormatting: 3-digit numbers can be formatted as a group where appropriate
44     -- AsYouTypeFormatting: Countries with an optional national prefix were considered before to
45        have always entered it, resulting in bugs where numbers without the national prefix were
46        not properly formatted.
47     -- Numbers in Chile that overlap with emergency numbers are no longer marked as connecting to
48        them
49     -- Not requiring the NDC to be alone for countries where there is no national prefix in strict
50        grouping when extracting phone numbers
51 * Metadata changes:
52  - New alternate formatting data for country calling code(s):
53    30, 31, 385, 58, 62, 63, 971, 972
54  - Updated alternate formatting data for country calling code(s): 43, 44, 49
55  - Moved emergency phone number data to the ShortNumberMetadata.xml file
56  - Updated phone metadata for region code(s):
57    AT, EG, ML, NC, NL, SA
58  - New short number metadata for region code(s):
59    AR, CL, CO, ES, MX, NC
60  - Emergency metadata fixes for region code(s):
61    GA, JM, MH, VE
62
63 Aug 09, 2013: libphonenumber-5.7.2
64 * Metadata changes:
65  - New alternate formatting data for country calling code(s):
66    352, 359, 372, 373, 375, 595, 7, 855
67  - Updated phone metadata for region code(s):
68    AR, BF, BH, BR, BY, CH, CM, CN, GE, GW, HN, JM, KH, LT, LU, MU, NP, RO, SO
69  - New short number metadata for region code(s): BR
70  - Updated short number metadata for region code(s):
71    CH, FJ, GB, GG, IM, IT, JE, SH
72
73 Aug 8, 2013: libphonenumber-5.7.1
74 * Metadata/code changes:
75  - Change to the way the metadata is built; now only parts of the proto that are relevant will be
76    generated. This means short-code data won't be generated for the normal protos, and fixed-line
77    data won't be generated for short-number protos. This cuts the metadata binary size approximately
78    in half.
79
80 Jul 17, 2013: libphonenumber-5.7
81 * Code changes:
82  - Improve phone number extraction recall.
83  - Add support for loading short number metadata.
84
85 Jul 16, 2013: libphonenumber-5.6.2
86 * Metadata changes:
87  - Updated alternate formatting data for country calling code(s): 49, 61
88  - New metadata for region code(s): TA
89  - Updated metadata for region code(s):
90    BF, BH, BI, BJ, BR, CR, EH, GA, GE, GN, GU, IL, IN, IR, KH, KW, KZ, MA, MT,
91    NA, NE, NL, PH, RO, SH, SO, TK
92  - New geocoding data for country calling code(s): 47 (en), 82 (ar)
93  - Updated geocoding data for country calling code(s):
94    49 (en), 98 (en, fa), 241 (en)
95
96 Jul 12, 2013: libphonenumber-5.6.1
97 * Code changes:
98  - Rename all instances of PhoneNumberMetadata to PhoneNumberMetadata for consistency.
99
100 Jun 05, 2013: libphonenumber-5.6
101 * Code changes:
102  - Fix for as-you-type-formatting bug affecting countries with no national prefix
103    formatting rule, such as China.
104 * Metadata changes:
105  - New alternate formatting data for country calling code(s): 351
106  - Updated alternate formatting data for country calling code(s): 49
107  - Updated metadata for region code(s):
108    AS, BG, BH, BJ, BL, CD, CI, DE, DZ, EH, FJ, GF, GP, IN, KH, KZ, MA, MD, MF,
109    ML, MY, NG, PT, PY, TC, TJ, TT
110
111 May 08, 2013: libphonenumber-5.5
112 * Code changes:
113  - Changed internal initialization code and made more fields final.
114    Note that we now throw an exception if an attempt is made to set the
115    metadata more than once (which should only happen during testing).
116  - Fix problem with formatNumberForMobileDialing for HU and CL.
117 * Metadata changes:
118  - Updated alternate formatting data for country calling code(s): 49
119  - Updated metadata for region code(s):
120    AM, BF, BR, CR, DE, MA, MG, MM, SA, TL, UA
121  - Updated geocoding data for country calling code(s): 374 (am, en, ru)
122
123 Apr 19, 2013: libphonenumber-5.4.2
124 * Metadata changes:
125  - Updated metadata for region code(s): BF, GA, IN, KR, MV, PH, SO, UA, US
126
127 Mar 25, 2013: libphonenumber-5.4.1
128 * Metadata changes:
129  - Updated metadata for region code(s): BF, BH, CR, EC, IR, MG, PF, TD, TN
130  - New geocoding data for country calling code(s): 374 (am, ru)
131  - Updated geocoding data for country calling code(s):
132    98 (en, fa), 358 (en, se), 374 (en)
133
134 Mar 07, 2013: libphonenumber-5.4
135 * Code changes:
136  - Switch formatNumberForMobileDialing to prefer national format to international format when the
137    number is dialed from the same region the phone number is from.
138
139 * Metadata changes:
140  - Updated metadata for region code(s):
141    BF, CD, CN, CZ, GN, IR, JP, KR, KW, LR, NZ, TT, UG, ZW
142  - New geocoding data for country calling code(s): 82 (cs)
143  - Updated geocoding data for country calling code(s):
144    82 (en, fr, ko, zh, zh_Hant), 98 (en, fa), 263 (en)
145
146 Feb 11, 2013: libphonenumber-5.3.2
147 * Metadata changes:
148  - Updated metadata for region code(s):
149    BD, BE, BY, CA, EH, GR, IE, IN, IS, LI, MA, MU, PT, SE, SG, TL
150  - New geocoding data for country calling code(s):
151    375 (be, en, ru), 1 (en)
152
153 Jan 25, 2013: libphonenumber-5.3.1
154 * Metadata changes:
155  - Updated metadata for region code(s): CN, DK, EH, GN, KH, KW, MA, MY, PA
156
157 Jan 08, 2013: libphonenumber-5.3
158 * Code changes:
159  - Handling UAN numbers in Argentina better when dialling them locally from a
160    mobile
161 * Metadata changes:
162  - Updated metadata for region code(s):
163    BE, BW, CL, CN, CO, EH, KW, MA, ML, NG, PL, SY, ZA, ZM
164  - New geocoding data for country calling code(s): 32 (en, fr, nl)
165  - Updated geocoding data for country calling code(s): 27 (en), 86 (en, zh)
166
167 Dec 06, 2012: libphonenumber-5.2.2
168 * Metadata changes:
169  - New metadata for region code(s): EH
170  - Updated metadata for region code(s): BR, CL, CR, IN, MA, PG, PK, RO
171  - New geocoding data for country calling code(s): 241 (en)
172
173 Nov 26, 2012: libphonenumber-5.2.1
174 * Metadata changes:
175  - Updated metadata for region code(s):
176    AE, AW, BF, CN, DE, JO, KE, KH, LT, MM, MU, NG, RW, SR, TR, VU
177  - New geocoding data for country calling code(s): 359 (bg, en)
178
179 Oct 10, 2012: libphonenumber-5.2
180 * Code changes:
181  - Adds isNumberGeographical() method.
182  - Adds getRegionCodesForCountryCode() method.
183  - Fixing issue with getSupportedGlobalNetworkCallingCodes()
184    [http://code.google.com/p/libphonenumber/issues/detail?id=202]
185  - Ensures that returned collections are unmodifiable where necessary
186    [there is a very slight risk that this may break existing users who were relying on being able
187    to modify these collections, but doing so would be breaking lots of other assumptions that this
188    library makes - if you need to modify any affected collections you must copy them first]
189 * Metadata changes:
190  - Updated metadata for region code(s): DE, GR, HR, OM, SB, ZA
191  - Removed metadata for region code: AN (Netherlands Antilles)
192  - Updated geocoding data for country calling code(s): 30 (el, en)
193
194 Sep 27, 2012: libphonenumber-5.1.4
195 * Metadata changes:
196  - Updated metadata for region code(s): AU, EC, KH, LB, TN, US
197
198 Sep 17, 2012: libphonenumber-5.1.3
199 * Metadata changes:
200  - Updated metadata for region code(s): EG, LA, LB, LI, PY
201  - Updated metadata for non-geographical calling codes: 800, 808, 888, 979
202  - Updated geocoding data for country calling code(s): 98 (en), 1 (en)
203
204 Sep 11, 2010: libphonenumber-5.1.2
205 * Bug fix:
206  - Fixing regression in AsYouTypeFormatter where it no longer worked for numbers entered in national
207    format for countries with no national prefix, e.g. Spain.
208
209 Sep 5, 2010: libphonenumber-5.1.1
210 * Code changes:
211   - Added better logging/exception handling for catching cases where metadata is invalid/missing.
212
213 Sep 3, 2012: libphonenumber-5.1
214 * Code changes:
215  - Inserting a space after the national prefix in the AsYouTypeFormatter when formatting numbers in
216    national format, if the formatting rules for that country dictate that a space is appropriate.
217  - Format emergency numbers and short-codes as a block in the AsYouTypeFormatter.
218 * Metadata changes:
219  - Updated metadata for region code(s): BF, BG, DZ, GA, IT, JP, KW, PF
220
221 Aug 20, 2012: libphonenumber-5.0.3
222 * Metadata changes:
223  - New alternate formatting data for country calling code(s): 43
224  - Updated metadata for region code(s): AT, BF, JO, NG, RU, SL
225  - New geocoding data for country calling code(s): 62 (en, id), 98 (fa)
226
227 Aug 07, 2012: libphonenumber-5.0.2
228 * Metadata changes:
229  - Updated metadata for region code(s):
230    BF, CN, DJ, IL, JO, KH, KZ, MA, MT, MV, MY, NC, NG, SD, SK, SN, TL, UZ
231  - New geocoding data for country calling code(s): 7 (ru), 98 (en)
232  - Updated geocoding data for country calling code(s): 7 (en)
233
234 July 26th, 2012: libphonenumber-5.0.1
235 * Metadata changes
236  - CL, DE ,IN, KR, US
237  - New geocoding data for country calling codes 40, 57, 66, 82, 91.
238  - Fixed comments for 353 (IE).
239
240 July 12th, 2012: libphonenumber-5.0
241 * Code changes:
242  - Support for alternate formats when finding phone numbers.
243  - Allowing two-digit numbers to be parsed if they are entered in national-format with no
244    punctuation
245 * Metadata changes
246  - IL, GA
247 * Other
248  - Reflowed this file to 100 char width to make it unambiguous as to what the standard should be.
249
250 July 6th, 2012: libphonenumber-4.9.1
251 * Metadata changes
252  - AR, BA, BF, CR, DE, EC, ES, KZ, MK, NC, NG, PF, SB, UZ, non-geo entity 882
253  - Geocoding data updates for country calling codes 54 (AR) and 81 (JP), new data for 234 (NG)
254
255 June 21st, 2012: libphonenumber-4.9
256 * Bug fix
257  - formatInOriginalFormat fixed not to add a star sign if it was not present originally.
258 * Metadata changes
259  - BF, CZ, ES, KW
260  - Non-geographical entities with calling code 882 (BebbiCell, Maritime Communications, Oration
261    Technologies, Telespazio and Thuraya)
262  - Geocoding data updates for country calling codes 221, 224, 226, 242, 244, 245
263 * Functionality changes:
264  - Minimum allowed length for a national significant number (NSN) when parsing changed from 3 to 2.
265  - Support parsing of RFC3966-formatted strings with an isdn-subaddress or extra parameters
266    specified.
267  - Allow soft hyphen to appear in phone numbers (\u00AD)
268 * Testing changes:
269  - Add extra unit tests for non-geographical phone number entities
270  - ExampleNumbersTest testEmergency tests now uses ShortNumberUtil
271
272 June 14th, 2012: libphonenumber-4.8.5
273 * Metadata update only:
274  - AC, CR, DE, DK, IL, IN, IS, KH, LI, LR, MA, MD, MK, PA, SA, SG, SS
275
276 June 6th, 2012: libphonenumber-4.8.4
277 * Metadata update only:
278  - AE, RO
279  - Non-geographical entity with calling code 881 (Iridium)
280
281 May 30th, 2012: libphonenumber-4.8.3
282 * Metadata update only:
283  - AN, ET, KW, MN, SX, TC, TL
284
285 May 16th, 2012: libphonenumber-4.8.2
286 * Metadata update only:
287  - BH, CR, EE, JO, KW, LA, QA, SI, TH
288  - Non-geographical entity with calling code 878 (VISIONng)
289
290 May 8th, 2012: libphonenumber-4.8.1
291 * Metadata update only:
292  - CA, CI, EG, HK, IN, IR, LB, MA, ME, MM
293  - Non-geographical entity with calling code 870 (Inmarsat)
294  - Geocoding updates for country calling codes 1 for new area codes
295
296 April 24th, 2012: libphonenumber-4.8
297 * Functionality changes
298  - RFC format now outputs a number starting with "tel:"
299  - Parsing support for numbers in RFC format that contain the country info in the "phone-context"
300    part
301  - Support for obtaining area codes for Italy, Vatican City, San Marino
302 * Metadata changes
303  - AM, AO, AR, BE, BF, CD, EG, GH, GM, GN, IN, IR, IT, JO, LA, LC, MD, MS, NO, PA, PK, SI, SJ, SO,
304    SY, TC, TN, UZ, VN, ZW
305  - Geocoding updates for country calling codes 1, 20, 233, 31, 33, 352, 374, 54, 56, 86
306 * Refactoring of matching functions, including moving them to PhoneNumberMatcher.
307
308 March 16th, 2012: libphonenumber-4.7
309 * Bug fixes
310  - Now return "too long" for input that is longer than 250 chars when parsing
311 * Metadata changes
312  - AC,AM,AT,AZ,BF,BR,BY,BZ,CR,CU,DE,DJ,EE,EG,ET,GA,GH,HK,HN,ID,IN,JP,KE,KG,KH,KR,KW,KY,LB,LU,MA,MD,
313    MK,NA,NE,NZ,SA,SB,SC,SE,SL,SN,UZ
314 * Refactoring of test classes so that tests requiring the test metadata to be loaded have a common
315   base class which handles this.
316
317 February 9th, 2012: libphonenumber-4.6
318 * Bug fixes
319  - Fix for formatByPattern to enable RFC formatting to work
320  - Fix for RFC formatting to work even when the international formatting rule starts with
321    punctuation
322  - Logging consistency changes - some warnings are no longer printed, others have become only
323    WARNINGS
324  - Fix for isValidNumberForRegion potentially throwing a NPE
325  - Parsing Israeli * numbers written in international format now works
326  - PhoneNumberMatcher doesn't match timestamps as phone-numbers
327 * Metadata changes
328  - Updates for AN, AX, BF, BJ, BR, BS, DJ, FI, IN, LV, MW, RS, SC, VN
329  - New countries supported: SS (South Sudan), CW (Curaçao) and BQ (Bonaire, Sint Eustatius and Saba)
330 * Refactoring of the private formatting functions in PhoneNumberUtil to ensure names are more
331   descriptive and to reduce code duplication.
332
333 January 19th, 2012: libphonenumber-4.5
334 * Code changes
335  - Support for non-geographical country calling codes (e.g. +800).
336  - Modify formatInOriginalFormat to not insert/remove/modify digits in the original number passed
337    in.
338  - Fix formatOutOfCountryKeepingAlphaChars to not throw a NPE.
339
340 * Metadata changes
341  - Updates for AR, BH, CI, CN, CR, DE, GA, IL, JO, JP, KE, KZ, LB, LK, LT, MV, MW, MZ, NA, NL, NZ,
342    PL, RO, SA, SV, TM, UG, US
343  - New country calling codes: 800, 808, 883, 888, 979
344  - Geocoding data updates: AR, US
345
346 December 9th, 2011: libphonenumber-4.4
347 * Code changes
348  - Support for Voicemail numbers
349  - Support prefixes "xt" and "xtn" to indicate extensions of phone numbers
350  - Change formatInOriginalFormat to use raw_input for numbers with incorrect leading zeroes, instead
351    of all invalid numbers.
352
353 * Metadata changes
354  - Updates for AR, BD, CH, CI, IL, IR, IS, IT, JP, KW, LR, MM, NG, SA, SC, UZ
355
356 November 24th, 2011: libphonenumber-4.3
357 * Code changes
358  - Fix the problems with AYTF crashing for longer numbers entered with +CountryCode, and incorrectly
359    removing national prefix for some numbers.
360  - Improve PhoneNumberMatcher to not match numbers ending with '%'.
361  - Fix formatNumberForMobileDialing to handle Israeli star numbers, Peruvian and Colombian numbers.
362  - Modify formatInOriginalFormat to use the raw input if we don't have a formatting pattern for a
363    number.
364  - Simple offline geocoding function which takes into account the user's region.
365
366 * Metadata changes
367  - Updates for CR, GN, JP, KE, PL, SG, SR, SX, TH, TK
368
369 November 10th, 2011: libphonenumber-4.2
370 * Code changes
371  - Providing an "exact match" isEmergencyNumber method
372  - Improvement to PhoneNumberMatcher: requires national prefix to be present when matching
373    national-format numbers, unless matching for a region where it is explicitly marked in the
374    metadata that they may be omitted. Applies to leniency level VALID and higher.
375  - Change formatNumberForMobileDialing not to modify the phoneNumber passed in.
376
377 * Metadata changes
378  - Emergency numbers added for all remaining countries
379  - Collected data on which numbers we format with a national prefix are commonly written without one
380    and added this
381  - Updates for AR, AT, BH, CZ, GR, IR, KM, LT, MX, PT, SE, SO, UG
382  - Addition of SX (Sint Maarten)
383
384 October 19th, 2011: libphonenumber-4.1
385 * Code changes
386  - Update code and metadata for countries with IDD "8~10" to accept phone numbers where the "~" is
387    omitted.
388  - Modify formatInOriginalFormat to use raw_input (when present) when the number is considered as
389    invalid by the library.
390  - Add ShortNumberUtil to deal with international short phone numbers, such as short codes and
391    emergency numbers.
392  - Increase the maximum phone-number length accepted when parsing (now set to
393    16).
394
395 * Metadata changes
396  - Updates: BF, BN, CN, DE, DK, DO, FR, IN, KI, KW, MC, MD, ML, PA, QA, SB, UK, WS
397  - Emergency number information also added to: AE, AF, AL, AM, AR, AT, AU, BA,
398    BB, BD, BE, BG, BH, BO, BR, BY, CA, CH, CL, CN, CO, CR, CY, CZ, DE, DJ, DK,
399    DO, DZ, EC, EE, EG, ES, FI, FJ, FO, FR, GB, GE, GF, GH, GI, GL, GR, GT, GY,
400    HK, HN, HR, HU, ID, IE, IL, IN, IR, IS, IT, JM, JO, JP, KR, KW, KY, KZ, LB,
401    LK, LT, LU, LV, MA, MC, MD, ME, MK, ML, MM, MN, MO, MT, MU, MV, MX, MY, NG,
402    NI, NL, NO, NP, OM, PA, PE, PH, PK, PL, PM, PT, PY, QA, RO, RS, RU, RW, SA,
403    SB, SD, SE, SG, SI, SK, SL, SM, SR, SV, SY, TD, TH, TJ, TM, TN, TR, TT, TW,
404    UA, UG, US, UY, UZ, VA, VE, VN, VU, ZA, ZM, ZW
405
406 October 6th, 2011: libphonenumber-4.0
407 * Code changes
408  - New function formatNumberForMobileDialing, which attempts to format a number in such a way that
409    the call can be connected from a mobile phone. If this is impossible, for example for numbers
410    that cannot be internationally dialled, then an empty string is returned.
411  - Fallback functionality to English for non-CJK languages for geocoding
412
413 * Metadata changes
414  - Collecting data for emergency numbers
415  - Updates: AR, AU, BR, CN, CZ, EG, GD, IE, IL, JM, KW, KH, SD, SO, TR, UG, UZ
416  - Geocoding data changes: AO, AR, AT, BJ, BR, CD, CG, CI, CL, CN, CV, DE, ES,
417    FR, GR, GW, HU, KM, MR, MZ, NL, PL, PT, SE, ST, SZ
418
419 September 13th, 2011: libphonenumber-3.9
420 * Code changes
421  - Enable AsYouTypeFormatter to handle long IDD and NDD.
422  - Allow the presence of an IDD following a +.
423  - Fix formatting of phone numbers which contain only 0s in the national number.
424  - Refactored some code in geocoding including AreaCodeMap and the storage strategies.
425
426 * Metadata changes
427  - Updates: AM, BE, BH, BJ, BR, BT, BZ, CI, CL, CN, DE, DK, DM, DZ, EC, EG, FJ,
428    GR, HR, HT, IN, IQ, IS, JM, KE, KG, KH, KR, LA, LB, LR, MA, MD, ML, MO, MX,
429    MY, NE, NG, PG, PH, PK, PY, QA, SA, SD, SG, SN, TD, TG, TH, TN, TT, UG, YE,
430    ZA, ZM
431  - New geocoding data for: AC, CG, CU, CV, EG, ET, FI, FI, FI, GL, JP, KM, MA,
432    MA, MU, MU, MU, MZ, RS, SH, SH, SL, SO, ST, TG, TG, TG, UG, ZM
433  - Updated geocoding data for: AR, DE
434
435 August 11th, 2011: libphonenumber-3.8
436 * Code changes
437  - Fix to demo to not throw null-ptr exceptions for invalid NANPA numbers
438  - Fixed AYTF to not accept plus signs in the middle of input
439  - PhoneNumberMatcher improvements - added STRICT_GROUPING and EXACT_GROUPING levels, numbers
440    followed/preceded by a currency symbol will not match, multiple numbers separated by phone-number
441    punctuation will now match. ", " is no longer accepted as an extension symbol when matching, only
442    when parsing. "x" is only accepted as a carrier code or extension marker, not otherwise.
443  - Changes to handling of leading zeroes - these will not be silently ignored anymore, but will be
444    stored as part of the number.
445  - PhoneNumberOfflineGeocoder - new method to get the description of a number that assumes the
446    validity of the number has already been checked and will not re-verify it.
447  - Split geocoding US binary data into multiple files.
448
449 * Metadata changes
450  - Updates: AR, AT, AU, AZ, BE, BF, BH, BY, CA, CN, CO, CR, HT, HU, IT, KG, KH,
451    LB, LI, ME, NC, RS, SE, TT, US, VG, ZA
452  - New geocoding data for: AL, AM, AO, BF, BJ, BW, CD, CI, CZ, DZ, EE, GH, GM,
453    GN, GR, GW, HU, IS, KE, LK, LS, LT, LU, LV, MD, MG, MR, NA, PE, QN, SD, SK,
454    SN, SZ, TN, VE, VN, ZA, ZW
455  - Updated geocoding data for: GB, PT, US
456  - Revised sorting of geocoding data
457
458 July 5th, 2011
459 * Code changes
460  - Refactored AreaCodeMap to minimize binary and memory footprint by using 2 different strategies.
461  - Refactored BuildMetadataFromXml.java and added unittests.
462
463 * Metadata changes
464  - Regenerate binaries for all existing area code mapping data with smaller sizes.
465  - Added city-level area code data mapping for US and Canada.
466
467 June 29th, 2011
468 * Code changes
469  - Fixed issue 38, issue 39, issue 41 and issue 43
470
471 * Metadata changes
472  - Added phone number area mapping files for
473    - JP in Japanese
474    - FR in French
475    - TW in English, Simplified and Traditional Chinese
476    - RU in English
477    - IT in English and Italian
478    - PT in Portuguese
479    - TR in English and Turkish
480    - CH in English, German, French and Italian
481  - Updates: CR, GE, IT, JP, KW, MH, MP, MU, PE, PM, RW, TG, TJ, TK
482
483 June 14th, 2011
484 * Code changes
485  - Added PhoneNumberOfflineGeocoder, supporting classes and their unittests.
486  - Added GenerateAreaCodeData to transform phone number area mapping files from text files to binary
487    files.
488  - Modified PhoneNumberParserServlet.java and phonenumberparser.jsp to incorporate
489    PhoneNumberOfflineGeocoding in the appengine demo.
490
491 * Metadata changes
492  - Added phone number area mapping files for NANPA countries and GB in English, NL in Dutch, AR, CL
493    and ES in Spanish, AT and DE in German, SE in Swedish, BR in Portuguese, KR in English, Korean,
494    Simplified and Traditional Chinese, and CN in Simplified Chinese.
495
496 June 10th, 2011
497 * Code changes:
498  - Fixes for PhoneNumberMatcher to be more restrictive in valid mode and not match numbers
499    surrounded by Latin characters. This ensures, for example, the string abc123456789acg will not be
500    marked as a phone numbers.
501  - Enable PhoneNumberUtil to handle all digits, rather than a subset
502  - Fix for AYTF issue36 and improvement for US AYTF behaviour.
503 * Metadata changes:
504  - Updates: BG, EG, ES, GH, PF, SC, SY, VA
505
506 May 24th, 2011
507 * Code changes:
508  - Phonenumber now implements Serializable.
509  - findNumbers doesn't accept numbers with mis-matched brackets as phone-numbers
510  - An offline phone number geocoder has been added. The current implementation just returns the
511    region name for the phone number; more detailed geocoding will be added later.
512 * Metadata changes:
513  - New countries: GF, KP, NC, PA, PF, PW, PY, SB, SR, TO, UY, VU
514  - Updates: CY, CZ, ES, GB, GQ, JM, MQ, TN, VI
515
516 May 9th, 2011
517 * Code changes:
518  - Fixed potential for a null-ptr exception in getExampleNumber
519  - Potential speed improvement with replacement of StringBuffer with StringBuilder
520 * Metadata changes
521  - Changed way that international formats are specified to make it easier to do so
522  - New countries: AX, CC, CX, WF
523  - Updates: AM, AR, AU, AW, CN, CO, CR, DM, EC, ET, FI, FJ, GH, IN, JP, KE, KM,
524    KN, LR, MD, MQ, MX, NP, PH, SC, SE, SM, SN, SY, UG, US, VC, VI, ZM
525
526 Apr 26th, 2011
527 * Code changes:
528  - Improved PhoneNumberMatcher for cases with other numbers before or after the phone number.
529  - Improved AsYouTypeFormatter not to use formatting rules containing non-formatting characters
530    (e.g. '*' in Israeli star numbers).
531 * Metadata changes:
532  - New countries: FJ, FM, GY, NF, NI, NR, TV.
533  - Updates: AM, AZ, BF, BW, BZ, CI, CR, GB, GP, HK, JM, KH, LB, LY, MV, PE, PK, SZ, TJ, US.
534 * Minor documentation updates
535
536 Apr 11th, 2011
537 * Bug fixes:
538  - Adding date exclusion pattern in PhoneNumberMatcher.
539  - Fixing bug with selecting a suitable region for numbers with leading zeros where mutiple regions
540    for that country code are possible.
541 * Metadata changes:
542  - Updates: AG, AI, AS, BB, BM, BS, CA, DM, DO, ET, FO, GD, GE, GU, IN, JM, KN, KY, LC, MN, MP, MR,
543    MS, NO, PR, TC, TR, TT, US, VC, VG, VI
544  - New countries: CK, FK, GT, IO, KI, SJ, SV
545 * Documentation updates and some small refactoring to AsYouTypeFormatter
546
547 Mar 31st, 2011
548 * New functionality:
549  - Can parse and format numbers in RFC-3966 format.
550  - Added isAlphaNumber to check to see if a number is a "vanity" or "alpha" number
551  - Can format a number made up of alpha-characters in an "out-of-country" format (e.g. 0011 1
552    800-SIX-FLAG to dial an American alpha-number from Australia).
553 * Code changes:
554  - Renamed private vars, private methods and fixed comments to try and differentiate between country
555    (calling) codes and region codes.
556  == Non-backwards-compatible API changes: ==
557  - Renamed getSupportedCountries to getSupportedRegions, as this more accurately reflects that the
558    library is based around region codes.
559  - getNationalSignificantNumber is no longer a static method, but is instead an instance method.
560 * Metadata changes:
561  - Bug-fixes and updates for AU, AZ, EE, FI, IN, JO, KW, KZ, MV, RU, RR, VA
562  - New country: ME
563
564 Mar 22nd, 2011
565 * Metadata changes:
566  - New mobile-number pattern for AU
567
568 Mar 10th, 2011
569 * New functionality:
570  - New function to format a number with the preferred domestic carrier code used when parsing,
571    falling back to a default calling code otherwise (formatNationalNumberWithPreferredCarrierCode).
572  - We now store the preferred domestic carrier code used when the user calls parseAndKeepRawInput
573  - New functionality to extract phone-numbers from text (findNumbers). This is just the first
574    version - it does not extract ALPHA numbers such as 0800 CALL ME, or numbers where alternate
575    endings are specified (such as 03-331 6005/6006).
576 * Code changes:
577  - Tidying up the test file to use several pre-defined phone number constants
578  - Fixing several lint errors
579  - Added javadoc to formatNationalNumberWithCarrierCode
580  - Fixed bug where a null pointer exception was thrown when getAsYouTypeFormatter was called with an
581    invalid region code
582  - Improved AsYouTypeFormatter to deal with countries with variable-length patterns such as LU
583 * Metadata changes:
584  - Bug-fixes and updates for the following countries: BF, BO, BR, CL, CO, CR, DK, FO, GE, KR, KW,
585    LA, LU, MU, SC, SH, TR, VE
586  - New country: SH
587
588 Mar 10th, 2011
589 * Code changes:
590   - releasing the code to run the demo on localhost or appengine.
591
592 Mar 7th, 2011
593 * Metadata changes:
594  - Adding support for AC
595
596 Feb 11th, 2011
597 * Metadata changes:
598  - Update UAN number ranges for IM and JE.
599
600 Feb 9th, 2011
601 * Code changes:
602   - Better isNumberMatch method. This will now recognise numbers starting with a national prefix as
603     an NSN_MATCH, instead of SHORT_NSN_MATCH.
604     == Note Non-backwards-compatible API change here! ==
605       This will no longer throw a NumberParseException - instead we will return NOT_A_NUMBER if one
606       or other of the numbers provided do not match.
607   - New number-type UAN now supported in the code. This represents Company Numbers or Universally
608     Accessible Numbers.
609 * Metadata changes:
610   - Bug-fixes and updates for the following countries: AG, AZ, BA, BE, CA, CU, ES, FI, GB, GD, GG,
611     IE, IL, IM, IN, IR, IT, JE, JP, KR, KW, NG, NZ, PK, PS, PT, RU, SE, SG, SY, US
612   - New countries: CO, LU, LY, MC, SM
613   - Addition of "Personal Number" ranges to all NANPA countries
614
615 Jan 31st, 2011
616 * Code changes:
617   - Introducing equals() and hashCode() methods for the Phonenumber.PhoneNumber class
618
619 Jan 28th, 2011
620 * Code changes:
621   - Fixing critical bug with non-Android-compatible code. isEmpty() was being used and CANON_EQ in
622     reg-ex matches.
623
624 Jan 20th, 2011
625 * Code improvements:
626   - Handle null phone-numbers when parsing by throwing a NumberParseException.
627   - Handle extension written with an accented "o", as per Spanish, when parsing.
628   - Handle U+30FC dashes as phone-number punctuation.
629   - Allow "ZZ" or null regions to be specified for numbers starting with a full-width "+" symbol, or
630     with other characters (such as whitespace) before the leading +.
631   - new getLengthOfNationalDestinationCode function
632 * Metadata changes:
633   - New types of numbers introduced: UAN (universal or "company" numbers) and short codes. Note that
634     "generalDesc" patterns do not encompass short-codes.  No code-support for these has been
635     introduced as of yet. We are also now enabling the collection of data for information such as
636     area-code-optional, and no-international-dialling ranges.
637   - Data updates as per ITU notifications/bug fixes for the following countries: AM, BH, CD, CG, CR,
638     DE, DJ, EE, GB, GN, HU, IE, JO, JP, LB, LR, MA, MK, MN, MR, NA, PG, SC, SG, SO, SZ, VN, ZA, ZW
639   - Data added for the following countries: BZ, CU, EC, FO, GI, HN, HT, LK, MT, MV, NU, PS, SD
640   - Indentation fixes in reg-exes for the following countries: BG, GB
641   - Allow nationalPrefixForParsing to be specified for countries with no national prefix, to handle
642     possible carrier prefixes
643
644 Jan 3rd, 2011
645 * Metadata changes:
646   - Updates to JE
647   - Updated comments for GB/GG/IM/JE
648
649 November 25th, 2010
650 * Metadata changes:
651   - Updates to existing countries: AD, AG, AI, AN, AS, BB, BG, BM, BS, BW, CA, DM, DO, GD, GH, GM,
652     GU, IN, JM, KN, KY, KZ, LB, LC, MP, MS, PR, SY, TC, TT, TZ, US, VC, VG, VI.
653   - Reorganize reg-exes for better readability.
654   - Updated comments.
655
656 October 22nd, 2010
657 * Metadata changes:
658   - Updates to existing countries: AE, GB, GG, IM, JE
659
660 October 15th, 2010
661 * Code improvements:
662   - Allowed parsing of numbers that start with "++" or a full-width "+" symbol
663   - Allowed reg-exes for national and possible number patterns to have white space in them in the
664     source XML file
665   - Added a more useful toString method for the phone number proto class
666 * Metadata changes:
667   - Updates to existing countries: AF, BF, BO, ES, GB, GG, IM, IS, JE, JE, JP, KR, PE, PT, RU, SE,
668     TT, ZW
669 * Bug fixes:
670   - Parsing empty strings with invalid region codes no longer throws a null pointer exception
671
672 September 4th, 2010
673 * Code improvement:
674   - Added new phone number type: pager
675 * Metadata change:
676   - update to existing country: GG, IM, JE, RS, RU
677 * Bug fixes:
678   - ArrayOutOfBoundException in AsYouTypeFormatter.getRememberedPosition()
679   - AsYouTypeFormatter for UK childline number
680
681 September 1st, 2010
682 * Bug fix on KZ metadata.
683
684 August 17th, 2010
685 * Code improvement:
686   - Refactored BuildMetadataProtoFromXml.java into BuildMetadataFromXml.java and
687     BuildMetadataProtoFromXml.java
688   - Added BuildMetadataProtoFromXml.java and JSArrayBuilder.java
689   - Refactored CountryCodeToRegionCodeMap and CountryCodeToRegionCodeMapForTesting into separate
690     files.
691
692 August 16th, 2010
693 * Bug fixes
694   - AsYouTypeFormatter for formatting Chinese geographical numbers entered in national format.
695   - AsYouTypeFormatter for formatting Chinese 400/800 numbers entered in national format.
696 * Metadata change:
697   - new countries: AM, AN, BH, GL, IS
698   - adding national prefix 1 to all NANPA countries.
699   - update to existing countries: BF, FR, UK, PK, RE
700
701 August 4th, 2010
702 * Further improve startup performance
703   - Preload no country specific metadata at startup.
704   - Stop creating the file containing mapping from country calling code to region code and loading
705     it at startup; instead, do the initialization in PhoneNumberUtil.
706
707 July 31th, 2010
708
709 * Improve startup performance
710   - Separate generated metadata binary file to one file per region
711   - Preload US at start up, and load other region at the time when needed
712   - Create a file containing mapping from country calling code to region code, and load it at
713     startup
714   - Same change also applied to unittests
715
716 July 30th, 2010
717 * Metadata change:
718   - new country: TL
719   - update to existing country: AZ, CN, FR, GH, JO, LA, PG, PK, QA, SZ, UA, VN
720
721 * Code improvement
722   - China local number formatting for AsYouTypeFormatter
723   - improve extension parsing to handle number in the form of +1 (645) 123 1234 ext. 910#