3 - Fixed potential for a null-ptr exception in getExampleNumber
4 - Potential speed improvement with replacement of StringBuffer with StringBuilder
6 - Changed way that international formats are specified to make it easier to do so
7 - New countries: AX, CC, CX, WF
8 - Updates: AM, AR, AU, AW, CN, CO, CR, DM, EC, ET, FI, FJ, GH, IN, JP, KE, KM,
9 KN, LR, MD, MQ, MX, NP, PH, SC, SE, SM, SN, SY, UG, US, VC, VI, ZM
13 - Improved PhoneNumberMatcher for cases with other numbers before or after the phone number.
14 - Improved AsYouTypeFormatter not to use formatting rules containing non-formatting characters
15 (e.g. '*' in Israeli star numbers).
17 - New countries: FJ, FM, GY, NF, NI, NR, TV.
18 - Updates: AM, AZ, BF, BW, BZ, CI, CR, GB, GP, HK, JM, KH, LB, LY, MV, PE, PK, SZ, TJ, US.
19 * Minor documentation updates
23 - Adding date exclusion pattern in PhoneNumberMatcher.
24 - Fixing bug with selecting a suitable region for numbers with leading zeros where mutiple regions
25 for that country code are possible.
27 - Updates: AG, AI, AS, BB, BM, BS, CA, DM, DO, ET, FO, GD, GE, GU, IN, JM, KN, KY, LC, MN, MP, MR,
28 MS, NO, PR, TC, TR, TT, US, VC, VG, VI
29 - New countries: CK, FK, GT, IO, KI, SJ, SV
30 * Documentation updates and some small refactoring to AsYouTypeFormatter
34 - Can parse and format numbers in RFC-3966 format.
35 - Added isAlphaNumber to check to see if a number is a "vanity" or "alpha" number
36 - Can format a number made up of alpha-characters in an "out-of-country" format (e.g. 0011 1
37 800-SIX-FLAG to dial an American alpha-number from Australia).
39 - Renamed private vars, private methods and fixed comments to try and differentiate between country
40 (calling) codes and region codes.
41 == Non-backwards-compatible API changes: ==
42 - Renamed getSupportedCountries to getSupportedRegions, as this more accurately reflects that the
43 library is based around region codes.
44 - getNationalSignificantNumber is no longer a static method, but is instead an instance method.
46 - Bug-fixes and updates for AU, AZ, EE, FI, IN, JO, KW, KZ, MV, RU, RR, VA
51 - New mobile-number pattern for AU
55 - New function to format a number with the preferred domestic carrier code used when parsing,
56 falling back to a default calling code otherwise (formatNationalNumberWithPreferredCarrierCode).
57 - We now store the preferred domestic carrier code used when the user calls parseAndKeepRawInput
58 - New functionality to extract phone-numbers from text (findNumbers). This is just the first
59 version - it does not extract ALPHA numbers such as 0800 CALL ME, or numbers where alternate
60 endings are specified (such as 03-331 6005/6006).
62 - Tidying up the test file to use several pre-defined phone number constants
63 - Fixing several lint errors
64 - Added javadoc to formatNationalNumberWithCarrierCode
65 - Fixed bug where a null pointer exception was thrown when getAsYouTypeFormatter was called with an
67 - Improved AsYouTypeFormatter to deal with countries with variable-length patterns such as LU
69 - Bug-fixes and updates for the following countries: BF, BO, BR, CL, CO, CR, DK, FO, GE, KR, KW,
70 LA, LU, MU, SC, SH, TR, VE
75 - releasing the code to run the demo on localhost or appengine.
79 - Adding support for AC
83 - Update UAN number ranges for IM and JE.
87 - Better isNumberMatch method. This will now recognise numbers starting with a national prefix as
88 an NSN_MATCH, instead of SHORT_NSN_MATCH.
89 == Note Non-backwards-compatible API change here! ==
90 This will no longer throw a NumberParseException - instead we will return NOT_A_NUMBER if one
91 or other of the numbers provided do not match.
92 - New number-type UAN now supported in the code. This represents Company Numbers or Universally
95 - Bug-fixes and updates for the following countries: AG, AZ, BA, BE, CA, CU, ES, FI, GB, GD, GG,
96 IE, IL, IM, IN, IR, IT, JE, JP, KR, KW, NG, NZ, PK, PS, PT, RU, SE, SG, SY, US
97 - New countries: CO, LU, LY, MC, SM
98 - Addition of "Personal Number" ranges to all NANPA countries
102 - Introducing equals() and hashCode() methods for the Phonenumber.PhoneNumber class
106 - Fixing critical bug with non-Android-compatible code. isEmpty() was being used and CANON_EQ in
111 - Handle null phone-numbers when parsing by throwing a NumberParseException.
112 - Handle extension written with an accented "o", as per Spanish, when parsing.
113 - Handle U+30FC dashes as phone-number punctuation.
114 - Allow "ZZ" or null regions to be specified for numbers starting with a full-width "+" symbol, or
115 with other characters (such as whitespace) before the leading +.
116 - new getLengthOfNationalDestinationCode function
118 - New types of numbers introduced: UAN (universal or "company" numbers) and short codes. Note that
119 "generalDesc" patterns do not encompass short-codes. No code-support for these has been
120 introduced as of yet. We are also now enabling the collection of data for information such as
121 area-code-optional, and no-international-dialling ranges.
122 - Data updates as per ITU notifications/bug fixes for the following countries: AM, BH, CD, CG, CR,
123 DE, DJ, EE, GB, GN, HU, IE, JO, JP, LB, LR, MA, MK, MN, MR, NA, PG, SC, SG, SO, SZ, VN, ZA, ZW
124 - Data added for the following countries: BZ, CU, EC, FO, GI, HN, HT, LK, MT, MV, NU, PS, SD
125 - Indentation fixes in reg-exes for the following countries: BG, GB
126 - Allow nationalPrefixForParsing to be specified for countries with no national prefix, to handle
127 possible carrier prefixes
132 - Updated comments for GB/GG/IM/JE
136 - Updates to existing countries: AD, AG, AI, AN, AS, BB, BG, BM, BS, BW, CA, DM, DO, GD, GH, GM,
137 GU, IN, JM, KN, KY, KZ, LB, LC, MP, MS, PR, SY, TC, TT, TZ, US, VC, VG, VI.
138 - Reorganize reg-exes for better readability.
143 - Updates to existing countries: AE, GB, GG, IM, JE
147 - Allowed parsing of numbers that start with "++" or a full-width "+" symbol
148 - Allowed reg-exes for national and possible number patterns to have white space in them in the
150 - Added a more useful toString method for the phone number proto class
152 - Updates to existing countries: AF, BF, BO, ES, GB, GG, IM, IS, JE, JE, JP, KR, PE, PT, RU, SE,
155 - Parsing empty strings with invalid region codes no longer throws a null pointer exception
159 - Added new phone number type: pager
161 - update to existing country: GG, IM, JE, RS, RU
163 - ArrayOutOfBoundException in AsYouTypeFormatter.getRememberedPosition()
164 - AsYouTypeFormatter for UK childline number
167 * Bug fix on KZ metadata.
171 - Refactored BuildMetadataProtoFromXml.java into BuildMetadataFromXml.java and
172 BuildMetadataProtoFromXml.java
173 - Added BuildMetadataProtoFromXml.java and JSArrayBuilder.java
174 - Refactored CountryCodeToRegionCodeMap and CountryCodeToRegionCodeMapForTesting into separate
179 - AsYouTypeFormatter for formatting Chinese geographical numbers entered in national format.
180 - AsYouTypeFormatter for formatting Chinese 400/800 numbers entered in national format.
182 - new countries: AM, AN, BH, GL, IS
183 - adding national prefix 1 to all NANPA countries.
184 - update to existing countries: BF, FR, UK, PK, RE
187 * Further improve startup performance
188 - Preload no country specific metadata at startup.
189 - Stop creating the file containing mapping from country calling code to region code
190 and loading it at startup; instead, do the initialization in PhoneNumberUtil.
194 * Improve startup performance
195 - Separate generated metadata binary file to one file per region
196 - Preload US at start up, and load other region at the time when needed
197 - Create a file containing mapping from country calling code to region code,
198 and load it at startup
199 - Same change also applied to unittests
204 - update to existing country: AZ, CN, FR, GH, JO, LA, PG, PK, QA, SZ, UA, VN
207 - China local number formatting for AsYouTypeFormatter
208 - improve extension parsing to handle number in the form of +1 (645) 123 1234 ext. 910#