|
4 | 4 | [](http://search.maven.org/#search%7Cga%7C1%7Ca%3A%22jpx%22) |
5 | 5 | [](http://www.javadoc.io/doc/io.jenetics/jpx) |
6 | 6 |
|
7 | | -**JPX** is a Java library for creating, reading and writing [GPS](https://en.wikipedia.org/wiki/Global_Positioning_System) data in [GPX](https://en.wikipedia.org/wiki/GPS_Exchange_Format) format. It is a *full* implementation of version [1.1](http://www.topografix.com/GPX/1/1/) and version [1.0](http://www.topografix.com/gpx_manual.asp) of the GPX format. The data classes are completely immutable and allows a functional programming style. They are working also nicely with the Java 8 [Stream](http://docs.oracle.com/javase/8/docs/api/java/util/stream/Stream.html) API. It is also possible to convert the location information into strings which are compatible to the [ISO 6709](http://en.wikipedia.org/wiki/ISO_6709) standard. |
| 7 | +**JPX** is a Java library for creating, reading and writing [GPS](https://en.wikipedia.org/wiki/Global_Positioning_System) data in [GPX](https://en.wikipedia.org/wiki/GPS_Exchange_Format) format. It is a *full* implementation of version [1.1](http://www.topografix.com/GPX/1/1/) and version [1.0](http://www.topografix.com/gpx_manual.asp) of the GPX format. The data classes are completely immutable and allows a functional programming style. They are working also nicely with the Java [Stream](https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/stream/Stream.html) API. It is also possible to convert the location information into strings which are compatible to the [ISO 6709](http://en.wikipedia.org/wiki/ISO_6709) standard. |
8 | 8 |
|
9 | 9 | Beside the basic functionality of reading and writing GPX files, the library also allows to manipulate the read GPX object in a functional way. |
10 | 10 |
|
11 | 11 |
|
12 | 12 | ## Dependencies |
13 | 13 |
|
14 | | -No external dependencies are needed by the _JPX_ library. It only needs **Java 11** to compile and run. |
| 14 | +No external dependencies are needed by the _JPX_ library. It only needs **Java 17** to compile and run. |
15 | 15 |
|
16 | 16 |
|
17 | 17 | ## Building JPX |
@@ -117,7 +117,7 @@ The extensions are available via a `org.w3c.dom.Document` object, with an `exten |
117 | 117 | final Optional<Document> extensions = gpx.getExtensions(); |
118 | 118 | ``` |
119 | 119 |
|
120 | | -### Converting a `GPX` object into an `org.xmlDocument` |
| 120 | +### Converting a `GPX` object into an `org.w3c.dom.Document` |
121 | 121 |
|
122 | 122 | ```java |
123 | 123 | final GPX gpx = ...; |
@@ -330,13 +330,27 @@ The library is licensed under the [Apache License, Version 2.0](http://www.apach |
330 | 330 |
|
331 | 331 | ## Release notes |
332 | 332 |
|
333 | | -### [2.3.0](https://github.com/jenetics/jpx/releases/tag/v2.3.0) |
| 333 | +### [3.0.0](https://github.com/jenetics/jpx/releases/tag/v3.0.0) |
334 | 334 |
|
335 | | -_Mainentance release_ |
| 335 | +#### Improvements |
336 | 336 |
|
337 | | -### [2.2.0](https://github.com/jenetics/jpx/releases/tag/v2.2.0) |
| 337 | +* [#125](https://github.com/jenetics/jpx/issues/125): **Breaking change** - Use `Instant` instead of `ZonedDateTime` for `Point.time` property. |
| 338 | +* [#148](https://github.com/jenetics/jpx/issues/148): **Breaking change** - Update to Java17. |
| 339 | +* [#155](https://github.com/jenetics/jpx/issues/155): Improved `GPX.Reader` and `GPX.Writer` classes. |
| 340 | +* [#158](https://github.com/jenetics/jpx/issues/158): Add XML `Document` reader/writer methods. |
| 341 | +```java |
| 342 | +final GPX gpx = ...; |
338 | 343 |
|
339 | | -#### Improvements |
| 344 | +final Document doc = XMLProvider.provider() |
| 345 | + .documentBuilderFactory() |
| 346 | + .newDocumentBuilder() |
| 347 | + .newDocument(); |
| 348 | + |
| 349 | +// The GPX data are written to the empty `doc` object. |
| 350 | +GPX.Writer.DEFAULT.write(gpx, new DOMResult(doc)); |
| 351 | +``` |
| 352 | + |
| 353 | +#### Bugs |
340 | 354 |
|
341 | | -* [#72](https://github.com/jenetics/jpx/issues/72): Parsing of [ISO 6709](https://en.wikipedia.org/wiki/ISO_6709) location strings (thanks to [bunkenburg](https://github.com/bunkenburg)). This also contains fixes in the ISO 6709 location formatter. |
342 | | -* [#140](https://github.com/jenetics/jpx/issues/140): Add `WayPoint` factory methods taking `Instant`. |
| 355 | +* [#151](https://github.com/jenetics/jpx/issues/151): `Double`'s being written as exponents in GPX file. |
| 356 | +* [#152](https://github.com/jenetics/jpx/issues/152): `LocationFormatter::parse` method is not thread-safe. |
0 commit comments