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