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