Skip to content

Releases: tada/pljava

PL/Java 1.5.1-BETA2

10 Sep 17:27

Choose a tag to compare

PL/Java 1.5.1-BETA2 Pre-release
Pre-release

PL/Java 1.5.1-BETA2 announced

PL/Java brings functions, triggers, and types in Java. 1.5.1, now in BETA2, adds support for PostgreSQL 9.6, 10, and 11 (beta3), with a number of improvements and fixes.

Project site: http://tada.github.io/pljava/
Release notes: http://tada.github.io/pljava/releasenotes.html

Security note

Two minor enhancements are described in the release notes.

Selected changes

New datatype support has been added, with more details in the release notes:

  • Classes from the Java 8 new date/time API (in the java.time package) can now be used in place of the older java.sql.Date/Time/Timestamp classes to represent PostgreSQL date, time with and without timezone, and timestamp with and without timezone. These new classes fit the SQL types much more closely, and PL/Java code written for Java 8 or later is strongly encouraged to use them (as is PL/Java code written for earlier Java releases, if it is practical to migrate to Java 8 or later).

  • Code that manipulates XML can now receive and return it using the standard JDBC java.sql.SQLXML API, with efficiency and memory footprint advantages relative to PL/Java's default behavior of mapping whole XML documents to Java strings.

Beta testers are encouraged to exercise the new datatype mappings.

This release introduces support for parallel-safety declarations on functions in PostgreSQL 9.6. Simple cases work as expected, but PL/Java's code has not been thoroughly audited to be sure its internal behavior cannot violate constraints on parallel-restricted or parallel-safe functions. See the release notes and new user-guide page on parallel query.

In PostgreSQL 10, trigger transition tables are supported for AFTER triggers, as described in the release notes.

Please see the release notes for a more complete list of changes.

Availability:

1.5.1-BETA2 is available from GitHub as a source release, which builds quickly using Maven:

Release page: https://github.com/tada/pljava/releases/tag/V1_5_1b2

This wiki page will add links to prebuilt packages that become available:
https://github.com/tada/pljava/wiki/Prebuilt-packages

PL/Java 1.5.1-BETA1

20 Jun 04:53

Choose a tag to compare

PL/Java 1.5.1-BETA1 Pre-release
Pre-release

PL/Java 1.5.1-BETA1 announced; security note.

PL/Java brings functions, triggers, and types in Java. 1.5.1, now in beta, adds support for PostgreSQL 9.6 and 10 (beta), with a small number of improvements and fixes.

Project site: http://tada.github.io/pljava/
Release notes: http://tada.github.io/pljava/releasenotes.html

Security note

One previously-announced security issue is addressed in PL/Java 1.5.1, as described in the release notes.

Selected changes

This release introduces support for parallel-safety declarations on functions in PostgreSQL 9.6. Simple cases work as expected, but PL/Java's code has not been thoroughly audited to be sure its internal behavior cannot violate constraints on parallel-restricted or parallel-safe functions. See the release notes and new user-guide page on parallel query. This could be a fruitful area for beta testing.

In PostgreSQL 10, trigger transition tables are supported for AFTER triggers, as described in the release notes.

Please see the release notes for a more complete list of changes.

Availability:

1.5.1-BETA1 is available from GitHub as a source release, which builds quickly using Maven:

Release page: https://github.com/tada/pljava/releases/tag/V1_5_1b1

This wiki page will add links to prebuilt packages that become available:
https://github.com/tada/pljava/wiki/Prebuilt-packages

PL/Java 1.5.0 announced; security note.

29 Mar 17:11

Choose a tag to compare

PL/Java brings functions, triggers, and types in Java. 1.5.0 supports latest PostgreSQL and Java versions with a range of improvements and fixes.

Project site: http://tada.github.io/pljava/
Release notes: http://tada.github.io/pljava/releasenotes.html

Security note:

Several security issues are addressed in PL/Java 1.5.0, as described in the release notes, so sites running earlier versions are encouraged to update. The release notes also describe practical mitigations to reduce risk until an update can be completed.

Platforms:

PL/Java 1.5.0 works with Java 8, 7, or 6 and all 9.x PostgreSQL versions as well as 8.4. To support projects based on older PostgreSQL forks, PL/Java 1.5.0 is also intended to build with 8.3 and 8.2, but has not been tested on those versions.

PL/Java 1.5.0 resolves reported build issues on several platforms, and new sections of the build documentation specifically cover Mac OS X, Solaris, Ubuntu, and Windows (using Visual Studio or MinGW-64). FreeBSD 10.2 or later is expected to work but has not been tested.

Changes:

PL/Java 1.5.0 brings more complete, usable, and documented capability for Java-implemented user-defined base types, composite types, and mirrors of existing PostgreSQL types, an annotation-driven SQL generator reducing the effort of writing deployment SQL by hand, and many smaller improvements and fixes detailed in the release notes. The supplied examples cover many of these features.

Availability:

PL/Java 1.5.0 is available from GitHub as a source release, which builds quickly using Maven:

Release page: https://github.com/tada/pljava/releases/tag/V1_5_0

This wiki page will add links to prebuilt packages that become available:
https://github.com/tada/pljava/wiki/Prebuilt-packages

Many thanks to all the individuals and organizations listed in the release notes under Credits.

Release 1.5.0-BETA3

20 Mar 05:24

Choose a tag to compare

Release 1.5.0-BETA3 Pre-release
Pre-release

PL/Java 1.5.0-BETA3 announced.

PL/Java brings functions, triggers, and types in Java. 1.5.0, now in third beta/release candidate, supports latest PostgreSQL and Java versions with a range of improvements and fixes.

Project site: http://tada.github.io/pljava/
Release notes: http://tada.github.io/pljava/releasenotes.html

Although PL/Java has historically used numbered betas and not "RC" releases, this may be considered a 1.5.0 release candidate.

Changes since 1.5.0-BETA2:

  • Fix for CVE-2016-2192, which could affect sites that are using PL/Java's type mapping features. (A mitigation before upgrading to 1.5.0 is simply to REVOKE EXECUTE ... FROM PUBLIC on the functions sqlj.add_type_mapping and sqlj.drop_type_mapping, and grant the privilege selectively to users or roles needing it.)
  • A workaround is documented for faulty builds of OpenJDK 6 and 7 found on Ubuntu
  • Fixed: bogus values when using some user-defined types on little-endian hardware
  • Fixed: user-defined types failing to be registered depending on the first access in a session
  • Fixed: TupleDesc reference leak warnings involving composite user-defined types
  • Partial support (and a working example) added for user-defined types with type modifiers
  • Extensive added documentation on tuning Java VM options, including class data sharing

Please see the release notes for more details and the cumulative list of changes.

Many thanks to all the individuals and organizations listed in the release notes under Credits.

Release 1.5.0-BETA2

23 Feb 01:33

Choose a tag to compare

Release 1.5.0-BETA2 Pre-release
Pre-release

PL/Java 1.5.0-BETA2 announced.

PL/Java brings functions, triggers, and types in Java. 1.5.0, now in second beta/release candidate, supports latest PostgreSQL and Java versions with a range of improvements and fixes.

Project site: http://tada.github.io/pljava/
Release notes: http://tada.github.io/pljava/releasenotes.html

Although PL/Java has historically used numbered betas and not "RC" releases, this may be considered a 1.5.0 release candidate.

Changes since 1.5.0-BETA1:

  • Microsoft Windows builds are now supported using both the Visual Studio and the MinGW-w64 toolchains.
  • Fixed: two build/install issues on Mac OS X El Capitan (issue 94, issue 96)
  • Fixed: parameter declaration generated for trigger function (issue 92)
  • Fixed: source location missing for some annotation errors (issue 95)
  • Fixed: pljava-api jar missing from installation jar

Please see the release notes for more details and the cumulative list of changes.

Many thanks to all the individuals and organizations listed in the release notes under Credits.

Release 1.5.0-BETA1

01 Feb 05:07

Choose a tag to compare

Release 1.5.0-BETA1 Pre-release
Pre-release

PL/Java 1.5.0-BETA1 announced; security note.

PL/Java brings functions, triggers, and types in Java. 1.5.0, now in beta, supports latest PostgreSQL and Java versions with a range of improvements and fixes.

Project site: http://tada.github.io/pljava/
Release notes: http://tada.github.io/pljava/releasenotes.html

Security note:

1.5.0 brings a policy change to a more secure-by-default posture, where the ability to create functions in 'LANGUAGE java' is no longer automatically granted to 'public', but can be selectively granted to roles that will have that responsibility. The change reduces exposure to a known issue present in 1.5.0 and earlier versions, that will be closed in a future release; details are in the release notes.

The new policy will be applied in a new installation; permissions will not be changed in an upgrade, but any site can move to this policy, even before updating to 1.5.0, with REVOKE USAGE ON LANGUAGE java FROM public; followed by explicit GRANT commands for the users/roles expected to create Java functions. Many sites guided by the principle of least privilege may have chosen such a policy already.

MS Windows note:

1.5.0 development snapshots have been repeatedly tested on Windows building with Visual Studio (including the Express and Community editions), and the build documentation covers this combination. Beta testers should find it straightforward.

Resources have not been available to test MinGW-based builds. Beta testers using this combination are encouraged to report build issues they may encounter. (Patches, where possible, would be appreciated also. A likely place to look in case of issues would be the comments above PLJAVADLLEXPORT in Backend.c.)

Many thanks to all the individuals and organizations listed in the release notes under Credits.