|
10 | 10 | #set($ghbug = 'https://github.com/tada/pljava/issues/') |
11 | 11 | #set($ghpull = 'https://github.com/tada/pljava/pull/') |
12 | 12 |
|
| 13 | +$h2 PL/Java 1.6.7 |
| 14 | + |
| 15 | +This is the seventh minor update in the PL/Java 1.6 series. It adds support |
| 16 | +for FreeBSD and for building and running with Java 22, and fixes some bugs, |
| 17 | +with few other notable changes. Further information on the changes may be found |
| 18 | +below. |
| 19 | + |
| 20 | +$h3 Version compatibility |
| 21 | + |
| 22 | +PL/Java 1.6.7 can be built against recent PostgreSQL versions including 16, and |
| 23 | +older ones back to 9.5, using Java SE 9 or later. The Java version used at |
| 24 | +runtime does not have to be the same version used for building. PL/Java itself |
| 25 | +can run on any Java version 9 or later. PL/Java functions can be |
| 26 | +written for, and use features of, whatever Java version will be loaded at run |
| 27 | +time. See [version compatibility][versions] for more detail. |
| 28 | + |
| 29 | +Some builds of Java 20 are affected by a bug, [JDK-8309515][]. PL/Java will |
| 30 | +report an error if detects it is affected by that bug, and the solution can be |
| 31 | +to use a Java version earlier than 20, or one recent enough to have the bug |
| 32 | +fixed. The bug has been fixed in Java 21. |
| 33 | + |
| 34 | +$h3 Changes |
| 35 | + |
| 36 | +$h4 Changes in XML support |
| 37 | + |
| 38 | +$h5 Java 22's new XML property to control DTD processing is supported |
| 39 | + |
| 40 | +Java 22 introduces a new property, `jdk.xml.dtd.support`, which can take values |
| 41 | +`allow`, `deny`, and `ignore`. |
| 42 | + |
| 43 | +The values `allow` and `deny` provide a new way to specify behavior that could |
| 44 | +already be requested by other means, and the `allowDTD(boolean)` method of |
| 45 | +PL/Java's `Adjusting.XML` API now tries this property first, falling back to the |
| 46 | +older means on Java releases that do not support it. |
| 47 | + |
| 48 | +The value `ignore` offers a previously-unavailable behavior where an XML |
| 49 | +document with a DTD can be successfully parsed but with its DTD ignored. A new |
| 50 | +method `ignoreDTD()` is added to the `Adjusting.XML` API to request this |
| 51 | +treatment, and will only succeed on Java 22 or later. The last-invoked of this |
| 52 | +method and `allowDTD(boolean)` will govern. |
| 53 | + |
| 54 | +In Java 22, bug [JDK-8329295][] can cause parsing to fail when `ignoreDTD` is in |
| 55 | +effect, if the document has only a minimal DTD and the SAX or DOM API is used. |
| 56 | + |
| 57 | +$h4 Build system |
| 58 | + |
| 59 | +The build logic that is implemented in JavaScript is now executed using the |
| 60 | +Nashorn engine, either included with Java through release 14, or downloaded |
| 61 | +by Maven for Java 15 and later. The build system was formerly downloading the |
| 62 | +JavaScript engine from GraalVM to build on Java 15 and later, but a new version |
| 63 | +of that engine needed for Java 22 would have complicated version management. |
| 64 | + |
| 65 | +Versions of some Maven plugins used at build time |
| 66 | +[have been updated](${ghpull}468) where critical vulnerabilities were reported. |
| 67 | + |
| 68 | +$h3 Enhancement requests addressed |
| 69 | + |
| 70 | +* [Build on FreeBSD](${ghpull}478) |
| 71 | +* [Vulnerable Maven plugins used at build time](${ghbug}449) |
| 72 | + |
| 73 | +$h3 Bugs fixed |
| 74 | + |
| 75 | +* ["PostgreSQL backend function after an elog(ERROR)" in class loading](${ghbug}471) |
| 76 | +* [XML parsing errors reported as XX000 when DOM API is used](${ghbug}481) |
| 77 | + |
| 78 | +$h3 Credits |
| 79 | + |
| 80 | +Thanks in release 1.6.7 to Francisco Miguel Biete Banon, Bear Giles, Achilleas |
| 81 | +Mantzios, `hunterpayne`, `kamillo`. |
| 82 | + |
| 83 | +[JDK-8329295]: https://bugs.openjdk.org/browse/JDK-8329295 |
| 84 | + |
| 85 | +$h2 Earlier releases |
| 86 | + |
| 87 | +## A nice thing about using Velocity is that each release can be entered at |
| 88 | +## birth using h2 as its main heading, h3 and below within ... and then, when |
| 89 | +## it is moved under 'earlier releases', just define those variables to be |
| 90 | +## one heading level finer. Here goes: |
| 91 | +#set($h2 = '###') |
| 92 | +#set($h3 = '####') |
| 93 | +#set($h4 = '#####') |
| 94 | +#set($h5 = '######') |
| 95 | + |
13 | 96 | $h2 PL/Java 1.6.6 |
14 | 97 |
|
15 | 98 | This is the sixth minor update in the PL/Java 1.6 series. It adds support |
@@ -95,17 +178,6 @@ $h3 Bugs fixed |
95 | 178 | [adjsfs]: pljava-api/apidocs/org.postgresql.pljava/org/postgresql/pljava/Adjusting.XML.html#method.detail |
96 | 179 | [egsfs]: https://github.com/tada/pljava/blob/V1_6_6/pljava-examples/src/main/java/org/postgresql/pljava/example/annotation/PassXML.java#L528 |
97 | 180 |
|
98 | | -$h2 Earlier releases |
99 | | - |
100 | | -## A nice thing about using Velocity is that each release can be entered at |
101 | | -## birth using h2 as its main heading, h3 and below within ... and then, when |
102 | | -## it is moved under 'earlier releases', just define those variables to be |
103 | | -## one heading level finer. Here goes: |
104 | | -#set($h2 = '###') |
105 | | -#set($h3 = '####') |
106 | | -#set($h4 = '#####') |
107 | | -#set($h5 = '######') |
108 | | - |
109 | 181 | $h2 PL/Java 1.6.5 |
110 | 182 |
|
111 | 183 | This is the fifth minor update in the PL/Java 1.6 series. It adds support |
|
0 commit comments