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