-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathReleaseNotes.html
More file actions
519 lines (389 loc) · 14.8 KB
/
ReleaseNotes.html
File metadata and controls
519 lines (389 loc) · 14.8 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!-- Generated by Apache Maven Doxia Site Renderer 1.7.1 at 2016-11-01 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>mapcode – </title>
<style type="text/css" media="all">
@import url("./css/maven-base.css");
@import url("./css/maven-theme.css");
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
<meta http-equiv="Content-Language" content="en" />
</head>
<body class="composite">
<div id="banner">
<div id="bannerLeft">
Mapcode Java Library
</div>
<div class="clear">
<hr/>
</div>
</div>
<div id="breadcrumbs">
<div class="xleft">
<span id="publishDate">Last Published: 2016-11-01</span>
| <span id="projectVersion">Version: 2.4.1</span>
</div>
<div class="xright">
</div>
<div class="clear">
<hr/>
</div>
</div>
<div id="leftColumn">
<div id="navcolumn">
<h5>Mapcode</h5>
<ul>
<li class="none">
<a href="index.html" title="Home">Home</a>
</li>
<li class="none">
<a href="apidocs/index.html" title="API Documentation">API Documentation</a>
</li>
<li class="none">
<strong>Release Notes</strong>
</li>
</ul>
<h5>Project Documentation</h5>
<ul>
<li class="collapsed">
<a href="project-info.html" title="Project Information">Project Information</a>
</li>
<li class="collapsed">
<a href="project-reports.html" title="Project Reports">Project Reports</a>
</li>
</ul>
<a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
<img class="poweredBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
</a>
</div>
</div>
<div id="bodyColumn">
<div id="contentBox">
<p># Release Notes</p>
<p>These are the release notes for the Java library for mapcodes.</p>
<div class="section">
<div class="section">
<h3><a name="a2.4.1"></a>2.4.1</h3>
<ul>
<li>
<p>Added scripts for Tifinagh (Berber), Tamil, Amharic, Telugu, Odia, Kannada, Gujarati.</p></li>
<li>
<p>Added <tt>getAlphabets()</tt> to <tt>Territory</tt> class, returning the most commonly used languages for the territory.</p></li>
<li>
<p>Renamed constant <tt>HINDI</tt> to <tt>DEVANAGIRI</tt>.</p></li>
<li>
<p>Improved some characters for Arabic and Devanagari.</p></li>
<li>
<p>Fixed Bengali to also support Assamese.</p></li>
</ul></div>
<div class="section">
<h3><a name="a2.4.0"></a>2.4.0</h3>
<ul>
<li>
<p>Added scripts for Korean (Choson’gul/Hangul), Burmese, Khmer, Sinhalese, Thaana (Maldivan), Chinese (Zhuyin, Bopomofo).</p></li>
<li>
<p>Renamed constant <tt>MALAY</tt> to <tt>MALAYALAM</tt>.</p></li>
</ul></div>
<div class="section">
<h3><a name="a2.3.1"></a>2.3.1</h3>
<ul>
<li>Fixed data for some parts of China.</li>
</ul></div>
<div class="section">
<h3><a name="a2.3.0"></a>2.3.0</h3>
<ul>
<li>
<p>Added Arabic support.</p></li>
<li>
<p>Fixed Greek, Hebrew and Hindi support.</p></li>
</ul></div>
<div class="section">
<h3><a name="a2.2.5"></a>2.2.5</h3>
<ul>
<li>
<p>Updated documentation.</p></li>
<li>
<p>Cleaned up POM, sorted dependencies.</p></li>
</ul></div>
<div class="section">
<h3><a name="a2.2.4"></a>2.2.4</h3>
<ul>
<li>
<p>Added Travis CI and Coveralls badges to <tt>README.md</tt>.</p></li>
<li>
<p>Replaces static <tt>DataAccess</tt> class with singleton <tt>DataModel</tt> to allow testing of incorrect data model files.</p></li>
<li>
<p>Fixed error handling for incorrect data model files.</p></li>
<li>
<p>Fix error to info logging in <tt>aeuUnpack</tt>.</p></li>
<li>
<p>Updated all POM dependencies.</p></li>
<li>
<p>Updated copyright messages.</p></li>
<li>
<p>Improved test coverage of unit tests.</p></li>
</ul></div>
<div class="section">
<h3><a name="a2.2.3"></a>2.2.3</h3>
<ul>
<li>
<p>Issue #23: Fixed <tt>Territory.fromString</tt> to make sure the parent territory is valid for input like “CHE-GR”. This returned “MX-GRO” instead of throwing <tt>UnknownTerritoryException</tt>. Added unit test for this type of case.</p></li>
<li>
<p>Fixed minor JavaDoc issues.</p></li>
</ul></div>
<div class="section">
<h3><a name="a2.2.2"></a>2.2.2</h3>
<ul>
<li>Fixed error in <tt>Point</tt> which in rare cases would allow longitudes outside proper range.</li>
</ul></div>
<div class="section">
<h3><a name="a2.2.1"></a>2.2.1</h3>
<ul>
<li>
<p>Fixed unit test. Reduced size of files for unit tests considerably. Improved unit test speed.</p></li>
<li>
<p>Fixed <tt>Point</tt> interface.</p></li>
<li>
<p>Cleaned up <tt>Boundary</tt> and <tt>DataAccess</tt>.</p></li>
</ul></div>
<div class="section">
<h3><a name="a2.2.0"></a>2.2.0</h3>
<ul>
<li>
<p>Solved 1-microdegree gap in a few spots on Earth, noticable now extreme precision is possible.</p></li>
<li>
<p>Replaced floating point by fixed point math.</p></li>
<li>
<p>Improved speed.</p></li>
<li>
<p>Enforce <tt>Mencode(decode(M)) == M</tt>, except at territory border corners.</p></li>
<li>
<p>Cleaned up source; moved hard-coded data into <tt>mminfo.dat</tt>.</p></li>
</ul></div>
<div class="section">
<h3><a name="a2.1.0"></a>2.1.0</h3>
<ul>
<li>
<p>Added micro-meter precision (mapcodes can now have eight precision digits).</p></li>
<li>
<p>Assure that encode(decode(m)) delivers m.</p></li>
<li>
<p>Renames to bring source more in line with other implementations.</p></li>
</ul></div>
<div class="section">
<h3><a name="a2.0.2"></a>2.0.2</h3>
<ul>
<li>
<p>Renamed <tt>isValidPrecisionFormat</tt> to <tt>isValidMapcodeFormat</tt>.</p></li>
<li>
<p>Removed public microdegree references from <tt>Point</tt> class. Everything is degrees now.</p></li>
<li>
<p>Removed <tt>ParentTerritory</tt> class.</p></li>
</ul></div>
<div class="section">
<h3><a name="a2.0.1"></a>2.0.1</h3>
<ul>
<li>
<p>Reverted Java JDK level to 1.6 (Java 6) from 1.8 (Java 8), so the library can be used on Android platforms operating at Java 6 as well.</p></li>
<li>
<p>Use multi-threading for long running test to speed them up (uses all CPU cores now).</p></li>
<li>
<p>Added the ability to use a country name for <tt>Territory.fromString()</tt>.</p></li>
</ul></div>
<div class="section">
<h3><a name="a2.0.0"></a>2.0.0</h3>
<ul>
<li>
<p>Fixes to the data rectangles (primarily intended for ISO proposal).</p></li>
<li>
<p>Removed functionality to use numeric territory codes; only alpha codes are accepted.</p></li>
<li>
<p>Note that this release only allows high-precision mapcodes up to 2 additional suffix characters. A future release will be scheduled to allow up to 8 suffix characters (nanometer accuracy).</p></li>
</ul></div>
<div class="section">
<h3><a name="a1.50.3"></a>1.50.3</h3>
<ul>
<li>
<p>This release breaks compatiblity with earlier releases, to clean up the interface significantly.</p></li>
<li>
<p>Removed <tt>Mapcode.encodeToShortest(lat, lon))</tt> as this will produce a randomly chosen territory. You must specify a <tt>restrictToTerritory</tt> now.</p></li>
<li>
<p>Renamed <tt>Territory.code</tt> to <tt>Territory.number</tt>.</p></li>
<li>
<p>Renamed <tt>fromTerritoryCode())</tt> to <tt>fromNumber())</tt>.</p></li>
<li>
<p>Renamed <tt>Territory.isState())</tt> to <tt>Territory.isSubdivision())</tt> and</p></li>
<li>
<p>Renamed <tt>Territory.hasStates())</tt> to <tt>Territory.hasSubdivision())</tt>.</p></li>
<li>
<p>Renamed <tt>Alphabet.code</tt> to <tt>Alphabet.number</tt>.</p></li>
<li>
<p>Renamed <tt>fromCode())</tt> to <tt>fromNumber())</tt>.</p></li>
<li>
<p>Renamed <tt>MapcodeFormat</tt> to <tt>PrecisionFormat</tt>.</p></li>
<li>
<p>Deprecated methods have been removed.</p></li>
</ul></div>
<div class="section">
<h3><a name="a1.50.2"></a>1.50.2</h3>
<ul>
<li>
<p>Cleaned up Unicode handling a bit.</p></li>
<li>
<p>Speed up of reading initialization data.</p></li>
<li>
<p>Rename <tt>toNameFormat</tt> into <tt>toAlphaFormat</tt> and <tt>NAME_FORMAT</tt> to <tt>ALPHA_FORMAT</tt>.</p></li>
</ul></div>
<div class="section">
<h3><a name="a1.50.1"></a>1.50.1</h3>
<ul>
<li>Bugfix for mapcodes in IN-DD (in India).</li>
</ul></div>
<div class="section">
<h3><a name="a1.50"></a>1.50</h3>
<ul>
<li>
<p>Major release. This version is not backwards compatible with mapcode 1.4x: is has dropped support for Antartica AT0-8 codes and has a changed (improved) way of dealing with the Greek alphabet.</p></li>
<li>
<p>Added 22-chararcter post-processing of all-digit mapcodes for the Greek alphabet.</p></li>
<li>
<p>Retired legacy aliases EAZ and SKM, AU-QL, AU-TS, AU-NI and AU-JB.</p></li>
<li>
<p>Retired legacy Antarctica claims AT0 through AT8.</p></li>
<li>
<p>Added convencience methods for <tt>MapcodeCodec</tt> to accept <tt>Point</tt> for all encode functions as well (not just <tt>latDeg</tt>, <tt>lonDeg</tt>).</p></li>
<li>
<p>Added alphabet support to convert mapcodes (both codes and territories) between <tt>Alphabet</tt>s.</p></li>
<li>
<p>Exceptions have been corrected and documented in code.</p></li>
<li>
<p>Allowed nullable values in <tt>MapcodeCodec</tt> encode and decode methods to assume reasonable defaults.</p></li>
<li>
<p>Microdegrees are no longer support publicly in <tt>Point</tt>. Only degrees.</p></li>
<li>
<p>Latitudes are limited to -90..90 and longitudes are wrapped to -180..180 (non inclusive).</p></li>
</ul></div>
<div class="section">
<h3><a name="a1.42.3"></a>1.42.3</h3>
<ul>
<li>To be done.</li>
</ul></div>
<div class="section">
<h3><a name="a1.42.2"></a>1.42.2</h3>
<ul>
<li>Upper- and lowercase mapcodes always allowed.</li>
</ul></div>
<div class="section">
<h3><a name="a1.42.1"></a>1.42.1</h3>
<ul>
<li>
<p>Cleaned up source. Removed all pending IntelliJ IDEA inspection warnings and reformatted code using default IDEA code style to maintain consistent layout.</p></li>
<li>
<p>Add additional unit tests to check for correct handling of international mapcode handling.</p></li>
<li>
<p>Added safe constants for the maximum delta distance in meters for mapcode accuracy.</p></li>
</ul></div>
<div class="section">
<h3><a name="a1.42"></a>1.42</h3>
<ul>
<li>
<p>Fixed a bug in <tt>MapcodeCodec.encodeToShortest</tt> which would not always return the shortest code (see next bullet). Reproducible with <tt>curl -X GET http://localhost:8080/mapcode/to/47.1243/-111.28564/local</tt>.</p></li>
<li>
<p>Fixed a bug where <tt>Encoder.encode</tt> would sometime retrieve more than one result even if result set was limited to 1 result.</p></li>
</ul></div>
<div class="section">
<h3><a name="a1.41.1"></a>1.41.1</h3>
<ul>
<li>Added convenience method to Mapcode.</li>
</ul></div>
<div class="section">
<h3><a name="a1.41"></a>1.41</h3>
<ul>
<li>
<p>Added the India state Telangana (IN-TG), until 2014 a region in Adhra Pradesh.</p></li>
<li>
<p>Updated POM dependencies to latest library versions of standard components.</p></li>
</ul></div>
<div class="section">
<h3><a name="a1.40.3"></a>1.40.3</h3>
<ul>
<li>
<p>Minor code clean-up with no functional effect.</p></li>
<li>
<p>(Issue #6) Removed non-project specific unwanted files out of <tt>.gitignore</tt>. These should be listed in the developer’s own global <tt>~/.gitignore</tt> file instead.</p></li>
</ul></div>
<div class="section">
<h3><a name="a1.40.2"></a>1.40.2</h3>
<ul>
<li>
<p>Added <tt>getMapcodeFormatType</tt> and <tt>isValidMapcodeFormat</tt> to check validity of mapcode strings. Added unit tests for these methods as well.</p></li>
<li>
<p>Constructor of <tt>Mapcode</tt> now checks for validity of mapcode string.</p></li>
<li>
<p>Added Unicode handling of high precision mapcodes and added check to throw an <tt>IllegalArgumentException</tt> if the character ‘Z’ or equivalent Unicode character is contained in the high precision part according to the Mapcode documenation.</p></li>
<li>
<p>Added method <tt>convertToAscii</tt> which produces the ASCII, non-Unicode variant of a mapcode which contains Unicode characters§.</p></li>
</ul></div>
<div class="section">
<h3><a name="a1.40.1"></a>1.40.1</h3>
<ul>
<li>
<p>Deprecated names <tt>getMapcodeHighPrecision</tt> and <tt>getMapcodeMediumPrecision</tt>. Replaced those with <tt>getMapcodePrecision1</tt> and <tt>getMapcodePrecision2</tt>.</p></li>
<li>
<p>Fixed all occurences of incorrectly cased Mapcode vs. mapcode.</p></li>
</ul></div>
<div class="section">
<h3><a name="a1.40"></a>1.40</h3>
<ul>
<li>
<p>Renamed class <tt>Mapcode</tt> to <tt>MapcodeCodec</tt>.</p></li>
<li>
<p>Renamed class <tt>MapcodeInfo</tt> to <tt>Mapcode</tt>.</p></li>
<li>
<p>Added high precision Mapcodes, with methods <tt>getMapcodeHighPrecision</tt></p></li>
<li>
<p>Seriously reduced test set size.</p></li>
<li>
<p>Replaced Unicode characters in source code to escapes.</p></li>
<li>
<p>Added explicit character encoding to <tt>pom.xml</tt>.</p></li>
<li>
<p>Fixed issues with decoder at some boundaries.</p></li>
</ul></div>
<div class="section">
<h3><a name="a1.33.2"></a>1.33.2</h3>
<ul>
<li>
<p>Clean-up of release 1.33.2.</p></li>
<li>
<p>Added release notes.</p></li>
<li>
<p>Removed GSON dependency from production (now scope ‘test’ only).</p></li>
<li>
<p>Added robustness with respect to Unicode characters.</p></li>
</ul></div>
<div class="section">
<h3><a name="a1.33.1"></a>1.33.1</h3>
<ul>
<li>First release of Java library for MapCodes. Includes extensive test suite.</li>
</ul></div></div>
</div>
</div>
<div class="clear">
<hr/>
</div>
<div id="footer">
<div class="xright">
Copyright © 2016
<a href="http://mapcode.com">Stichting Mapcode Foundation</a>.
All rights reserved.
</div>
<div class="clear">
<hr/>
</div>
</div>
</body>
</html>