Releases: tada/pljava
PL/Java 1.6.9 announced
PL/Java brings functions, triggers, aggregates, types, operators, etc. in Java.
1.6.9 is the ninth minor update in the 1.6 series, for applications on PostgreSQL 9.5 or later and Java 9 or later. Legacy applications requiring older PostgreSQL or Java versions may be supported by the 1.5 series.
1.6.9 adds support for building and running with Java 24 but only with no security policy enforcement, as explained below. Other than some minor bug fixes, that is the most notable change. Further information on the changes may be found in the release notes.
PL/Java 1.6.9 still provides both a 'trusted' and an 'untrusted' "procedural language", with configurable permissions for both, when used with Java 23 or earlier at runtime. The necessary Java language features making that possible have been removed by the developers of Java, first in Java 24. When used with Java 24 or later, PL/Java 1.6.9 provides access to the latest Java language features in a purely 'untrusted' environment with no policy enforcement. The release notes should be reviewed carefully before using PL/Java in that mode.
For applications where the latest language features are not needed and policy enforcement is of value, a Java version before 24, such as the long-term-support Java 21, should be used.
For more on how future PL/Java versions may adapt, please bookmark JEP 411 on the PL/Java wiki.
Current users of a 1.5.x release should also review the 1.6.0 release notes for changes that may require attention before updating to 1.6.x.
Project site: http://tada.github.io/pljava/
Release notes: http://tada.github.io/pljava/releasenotes.html
Selected changes
- Can be built and used with Java 24, if security policy enforcement is not needed
- A
pljava-examples
jar built with the Saxon XML examples included is no longer impossible to deploy in a database without Saxon - Continuous integration now covers Ubuntu, Mac OS on Intel and ARM, and Windows using MSVC and MinGW-w64 in the single GitHub Actions workflow
Please see the release notes for a more complete list of changes.
Availability:
1.6.9 is available from GitHub as a source release, which builds quickly using
Maven:
Release page: https://github.com/tada/pljava/releases/tag/V1_6_9
This wiki page will add links to prebuilt packages that become available:
https://github.com/tada/pljava/wiki/Prebuilt-packages
PL/Java 1.6.8 announced
PL/Java brings functions, triggers, aggregates, types, operators, etc. in Java.
1.6.8 is the eighth minor update in the 1.6 series, for applications on PostgreSQL 9.5 or later and Java 9 or later. Legacy applications requiring older PostgreSQL or Java versions may be supported by the 1.5 series.
1.6.8 adds support for PostgreSQL 17, confirms compatibility with Java 23, and makes some slight build-process improvements to simplify troubleshooting reported build problems.
Upcoming changes in Java beyond version 17 will affect PL/Java. For more on those changes and how PL/Java will adapt, please bookmark JEP 411 on the PL/Java wiki.
Current users of a 1.5.x release should also review the 1.6.0 release notes for changes that may require attention before updating to 1.6.x.
Project site: http://tada.github.io/pljava/
Release notes: http://tada.github.io/pljava/releasenotes.html
Selected changes
- Can be built and used with PostgreSQL 17 and with Java 23
- The Maven build output includes additional information that should be reported in issues opened about build problems
- When Maven's
-X
/--debug
option is used, the additional output includes the actual arguments to native compiling and linking commands
Please see the release notes for a more complete list of changes.
Availability:
1.6.8 is available from GitHub as a source release, which builds quickly using Maven:
Release page: https://github.com/tada/pljava/releases/tag/V1_6_8
This wiki page will add links to prebuilt packages that become available:
https://github.com/tada/pljava/wiki/Prebuilt-packages
PL/Java 1.6.7 announced
PL/Java brings functions, triggers, aggregates, types, operators, etc. in Java.
1.6.7 is the seventh minor update in the 1.6 series, for applications on PostgreSQL 9.5 or later and Java 9 or later. Legacy applications requiring older PostgreSQL or Java versions may be supported by the 1.5 series.
1.6.7 adds support for FreeBSD and for building and running with Java 22, and fixes some bugs, with few other notable changes. Further information on the changes may be found below.
Upcoming changes in Java beyond version 17 will affect PL/Java. For more on those changes and how PL/Java will adapt, please bookmark JEP 411 on the PL/Java wiki.
Current users of a 1.5.x release should also review the 1.6.0 release notes for changes that may require attention before updating to 1.6.x.
Project site: http://tada.github.io/pljava/
Release notes: http://tada.github.io/pljava/releasenotes.html
Selected changes
- Can be built and used with Java 22
- Can be built and used on FreeBSD
- Fixes a bug that could lead to class loading errors in threaded Java code
- The
Adjusting.XML
API supports new XML properties in Java 22 where available, and has a new methodignoreDTD()
to provide another option for DTD handling beyondallowDTD(boolean)
.
Please see the release notes for a more complete list of changes.
Availability:
1.6.7 is available from GitHub as a source release, which builds quickly using Maven:
Release page: https://github.com/tada/pljava/releases/tag/V1_6_7
This wiki page will add links to prebuilt packages that become available:
https://github.com/tada/pljava/wiki/Prebuilt-packages
PL/Java 1.6.6 announced
PL/Java brings functions, triggers, aggregates, types, operators, etc. in Java.
1.6.6 is the sixth minor update in the 1.6 series, for applications on PostgreSQL 9.5 or later and Java 9 or later. Legacy applications requiring older PostgreSQL or Java versions may be supported by the 1.5 series.
1.6.6 adds support for PostgreSQL 16 and fixes some bugs, with few other notable changes. Further information on the changes may be found below.
Upcoming changes in Java beyond version 17 will affect PL/Java. For more on those changes and how PL/Java will adapt, please bookmark JEP 411 on the PL/Java wiki.
Current users of a 1.5.x release should also review the 1.6.0 release notes for changes that may require attention before updating to 1.6.x.
Project site: http://tada.github.io/pljava/
Release notes: http://tada.github.io/pljava/releasenotes.html
Selected changes
- The
Node
testing harness can be used with either thePGJDBC
or thepgjdbc-ng
driver - The
Adjusting.XML
API supports new XML feature and property names in Java 17 where available, and has new methods giving more control when some names might not be supported
Please see the release notes for a more complete list of changes.
Availability:
1.6.6 is available from GitHub as a source release, which builds quickly using Maven:
Release page: https://github.com/tada/pljava/releases/tag/V1_6_6
This wiki page will add links to prebuilt packages that become available:
https://github.com/tada/pljava/wiki/Prebuilt-packages
PL/Java 1.6.5 announced
PL/Java brings functions, triggers, aggregates, types, operators, etc. in Java.
1.6.5 is the fifth minor update in the 1.6 series, for applications on PostgreSQL 9.5 or later and Java 9 or later. Legacy applications requiring older PostgreSQL or Java versions are supported by the 1.5 series.
1.6.5 adds support for PostgreSQL 15 and fixes some bugs, with few other notable changes. Further information on the changes may be found below.
Upcoming changes in Java beyond version 17 will affect PL/Java. For more on those changes and how PL/Java will adapt, please bookmark JEP 411 on the PL/Java wiki.
Current users of a 1.5.x release should also review the 1.6.0 release notes for changes that may require attention before updating to 1.6.x.
Project site: http://tada.github.io/pljava/
Release notes: http://tada.github.io/pljava/releasenotes.html
Selected changes
- Bugs affecting
install_jar
from http/https URLs fixed - PL/Java functions can be declared on interfaces as well as classes
- SQL generator source-version warnings suppressed, through Java 20
Please see the release notes for a more complete list of changes.
Availability:
1.6.5 is available from GitHub as a source release, which builds quickly using Maven:
Release page: https://github.com/tada/pljava/releases/tag/V1_6_5
This wiki page will add links to prebuilt packages that become available:
https://github.com/tada/pljava/wiki/Prebuilt-packages
PL/Java 1.6.4 announced
PL/Java brings functions, triggers, aggregates, types, operators, etc. in Java.
1.6.4 is the fourth minor update in the 1.6 series, for applications on PostgreSQL 9.5 or later and Java 9 or later. Legacy applications requiring older PostgreSQL or Java versions are supported by the 1.5 series.
1.6.4 is a minor bug-fix release with few other notable changes. Further information on the changes may be found below.
Upcoming changes in Java beyond version 17 will affect PL/Java. For more on those changes and how PL/Java will adapt, please bookmark JEP 411 on the PL/Java wiki.
Current users of a 1.5.x release should also review the 1.6.0 release notes for changes that may require attention before updating to 1.6.x.
Project site: http://tada.github.io/pljava/
Release notes: http://tada.github.io/pljava/releasenotes.html
Selected changes
- The recently-added support for functions with
OUT
parameters now generates the correct SQL declaration for a function with oneOUT
parameter. - A bug is fixed in the recently-added thread-context classloader management. It could be encountered in applications with jars in multiple schemas, nested Java function calls, and set-returning functions.
Please see the release notes for a more complete list of changes.
Availability:
1.6.4 is available from GitHub as a source release, which builds quickly using Maven:
Release page: https://github.com/tada/pljava/releases/tag/V1_6_4
This wiki page will add links to prebuilt packages that become available:
https://github.com/tada/pljava/wiki/Prebuilt-packages
PL/Java 1.6.3 announced
PL/Java brings functions, triggers, aggregates, types, operators, etc. in Java.
1.6.3 is the third minor update in the 1.6 series, for applications on PostgreSQL 9.5 or later and Java 9 or later. Legacy applications requiring older PostgreSQL or Java versions are supported by the 1.5 series.
1.6.3 adds support for PostgreSQL 14, brings a few improvements to the annotation-driven SQL generator and the runtime, and fixes several bugs. It also begins preparation for the impact of changes to Java's permission enforcement coming in Java 17 and later with JEP 411.
For more on those upcoming changes in Java and how PL/Java will adapt, please bookmark JEP 411 on the PL/Java wiki.
Current users of a 1.5.x release should also review the 1.6.0 release notes for changes that may require attention before updating to 1.6.x.
Project site: http://tada.github.io/pljava/
Release notes: http://tada.github.io/pljava/releasenotes.html
Selected changes
-
Can generate a complete family of cross-type operators related by commutation and negation from a single Java method. A bug kept that from working in 1.6.2.
-
A method parameter can now be annotated so that the PostgreSQL function parameter will default to null. Formerly, only non-null defaults could be specified that way.
-
The current thread's context class loader now has a useful value on entry to a PL/Java function.
Please see the release notes for a more complete list of changes.
Availability:
1.6.3 is available from GitHub as a source release, which builds quickly using Maven:
Release page: https://github.com/tada/pljava/releases/tag/V1_6_3
This wiki page will add links to prebuilt packages that become available:
https://github.com/tada/pljava/wiki/Prebuilt-packages
PL/Java 1.5.8 announced
PL/Java brings functions, triggers, and types in Java. The 1.5 series supports legacy applications, with PostgreSQL support extending from 14 back to 8.2, and Java back to 8 (7 or 6 with some extra build effort). Its build system targets Java no later than 14, but once built, it can run on later versions.
For applications on PostgreSQL 9.5 or later and Java 9 or later, please consider the more actively developed PL/Java 1.6 series.
1.5.8 brings support for PostgreSQL 14, and fixes two bugs. It also begins preparation for the impact of changes to Java's permission enforcement coming in Java 17 and later with JEP 411.
For more on those upcoming changes in Java and how PL/Java will adapt, please read about JEP 411 on the PL/Java wiki.
Project site: http://tada.github.io/pljava/
Release notes: https://github.com/tada/pljava/blob/V1_5_8/src/site/markdown/releasenotes.md.vm
Availability:
1.5.8 is available from GitHub as a source release, which builds quickly using Maven:
Release page: https://github.com/tada/pljava/releases/tag/V1_5_8
This wiki page will add links to prebuilt packages that become available:
https://github.com/tada/pljava/wiki/Prebuilt-packages
PL/Java 1.6.2 (the Black Friday edition)
PL/Java brings functions, triggers, and types in Java.
1.6.2 is the second minor update in the 1.6 series, for applications on PostgreSQL 9.5 or later and Java 9 or later. Legacy applications requiring older PostgreSQL or Java versions are supported by the 1.5 series.
1.6.2 fixes two bugs (one of which was likely to be a blocker for many applications). It adds a 'trial' security policy, useful when migrating code from PL/Java 1.5 to identify permission grants that may be needed, and some minor but useful example functionality.
Current users of a 1.5.x release should also review the 1.6.0 release notes for changes that may require attention before updating to 1.6.x.
Project site: http://tada.github.io/pljava/
Release notes: http://tada.github.io/pljava/releasenotes.html
Selected changes
-
A 'trial' security policy allows code under test to be run in a partially-enforcing mode to determine what permission grants, if any, may need to be added to the production policy.
-
Example functions demonstrating Java's built-in XSLT 1.0 support have been polished to simplify using it for real work. 1.0 is very limited compared to current XSLT versions, but requires no separate download, and Java's implementation can call accessible Java methods and constructors, offering ways around some limits of strict XSLT 1.0.
One useful stocking-stuffer that results is a simple function to indent XML for readability, just passing a null transform name and
indent => true
totransformXML
.
Please see the release notes for a more complete list of changes.
Availability:
1.6.2 is available from GitHub as a source release, which builds quickly using Maven:
Release page: https://github.com/tada/pljava/releases/tag/V1_6_2
This wiki page will add links to prebuilt packages that become available:
https://github.com/tada/pljava/wiki/Prebuilt-packages
PL/Java 1.6.1 announced
PL/Java brings functions, triggers, and types in Java.
1.6.1 is the first minor update in the 1.6 series, for applications on PostgreSQL 9.5 or later and Java 9 or later. Legacy applications requiring older PostgreSQL or Java versions are supported by the 1.5 series.
1.6.1 fixes two bugs in 1.6.0, and adds SQL generator support for aggregates, casts, operators, and function OUT
parameters.
Current users of a 1.5.x release should also review the 1.6.0 release notes for changes that may require attention before updating to 1.6.x.
Project site: http://tada.github.io/pljava/
Release notes: http://tada.github.io/pljava/releasenotes.html
Selected changes
-
OUT
parameters offer one more way to declare functions returning composite types, with less burden on callers thanRETURNS RECORD
and less ceremony than declaring a named composite type. -
New Java source annotations
@Aggregate
,@Cast
,@Operator
further reduce the manual effort of maintaining SQL deployment scripts for the Java code.
Please see the release notes for a more complete list of changes.
Availability:
1.6.1 is available from GitHub as a source release, which builds quickly using Maven:
Release page: https://github.com/tada/pljava/releases/tag/V1_6_1
This wiki page will add links to prebuilt packages that become available:
https://github.com/tada/pljava/wiki/Prebuilt-packages