Skip to content

Releases: jwharm/cairo-java-bindings

1.18.4.3

Choose a tag to compare

@jwharm jwharm released this 28 Mar 15:59
cf73d46

This is a minor release of cairo-java-bindings. There are no functionality changes compared to version 1.18.4.2.

Existing users do not need to upgrade from 1.18.4.2 to 1.18.4.3. The reason for this release is compatibility with the upcoming Java-GI 0.15.0 release, specifically the change of a module name and the minimal JDK version (25).

Changes:

  • The minimal JDK version has been increased from JDK 22 to JDK 25.
  • The version and module name of the Java-GI dependency has been updated.
  • All other dependencies and the Gradle Wrapper were updated.

Availability and dependencies:

  • The new release is available on Maven Central.
  • OpenJDK 25 or later is required.
  • The bindings are based on cairo 1.18. This library needs to be installed.

Full Changelog: 1.18.4.2...1.18.4.3

1.18.4.2

Choose a tag to compare

@jwharm jwharm released this 17 May 12:19

This is a minor release of cairo-java-bindings. There are no incompatible changes compared to version 1.18.4 and 1.18.4.1.

Changes:

  • The Gradient and Pattern classes have been changed to not be abstract. This fixes an issue in Java-GI, where incorrect code was generated for these types.
  • The MemoryCleaner class has been improved, to fix memory leaks. If you encounter memory-management issues with this release that did not occur on version 1.18.4.1, please log an issue.
  • Dependencies were updated.

Availability and dependencies:

  • The new release is available on Maven Central.
  • OpenJDK 22 or later is required.
  • The bindings are based on cairo 1.18. This library needs to be installed.

Full Changelog: 1.18.4.1...1.18.4.2

1.18.4.1

Choose a tag to compare

@jwharm jwharm released this 17 Oct 18:57

This release fixes a bug when creating an SVG, PDF or PS surface (#3). Thanks to @MikeUdin for reporting this.

Full Changelog: 1.18.4...1.18.4.1

1.18.4

Choose a tag to compare

@jwharm jwharm released this 27 Jul 12:01

This release contains small fixes and improvements:

  • Flag parameters (that allow bitwise combinations) are now Set<> parameters. This impacts PDFOutlineFlags and FTSynthesize.
  • Fixed the function descriptors of cairo_text_extents and cairo_glyph_extents
  • Small Javadoc fixes
  • Dependency upgrades

Full Changelog: 1.18.3...1.18.4

1.18.3

Choose a tag to compare

@jwharm jwharm released this 13 May 19:59

Release 1.18.3 has been ported to the latest version of the OpenJDK Foreign Function & Memory API (JEP 454). Use this version on OpenJDK 22 and newer. The --enable-preview parameter is no longer necessary.

No functional changes were made in this release.

1.18.2

Choose a tag to compare

@jwharm jwharm released this 05 Mar 20:56

Version 1.18.2 brings the following changes:

  • Fixed #2: Automatically resize the MemorySegment returned by ImageSurface::getData to the height * stride of the surface. (Previously, the MemorySegment has zero size and had to be resized by the user).
  • Added warnings to the documentation of the various getUserData methods that the returned MemorySegment has zero size and must be explicitly resized to the correct value.
  • A few other small Javadoc fixes/improvements
  • Updated dependency versions

1.18.1

Choose a tag to compare

@jwharm jwharm released this 05 Nov 22:19

Version 1.18.1 brings the following changes:

  • Added user fonts
  • Upgraded to JDK 21 (and the JEP-442 API)

1.18.0

Choose a tag to compare

@jwharm jwharm released this 14 Oct 20:16
376ba99

This release upgrades the bindings to cairo 1.18.0.
Some notable changes are:

  • Added bindings for new API as listed here with two exceptions:
    • DWrite fonts, because platform-specific fonts and devices are not included
    • the API additions to User Fonts, because User Fonts are also not included in the bindings
  • Added bindings for SurfaceObserver
  • Added bindings for TeeSurface
  • Fixed marshaling of glyph parameters

This release also adds support for cairo-gobject, by adding static getType() methods to the applicable classes. The getType() methods return a org.gnome.glib.Type object with the gtype. This adds an optional dependency on Java-GI (specifically, the glib module). If you don't use the getType() methods, you can safely omit this dependency.

Finally. a lot of testcases have been added, reworked and improved.

Full Changelog: 1.16.2...1.18.0

1.16.2

Choose a tag to compare

@jwharm jwharm released this 17 Sep 20:16

This release adds a JPMS module-info file. Both the packages org.freedesktop.cairo and org.freedesktop.freetype are exported in module org.freedesktop.cairo.
Thanks to @JFronny for the PR.

The release is available from MavenCentral (link).

1.16.1

Choose a tag to compare

@jwharm jwharm released this 02 Sep 09:51

This release contains two functionality changes:

  • Changed FTSynthesize to a record class
  • Fixed handling of empty String parameters

Other changes:

  • Removed dependency on Java-GI functionality. The interop functionality has been added in a new package io.github.jwharm.cairobindings.
  • Renamed base class from ProxyInstance to Proxy
  • The build structure and Gradle build files have been cleaned up
  • Added toolchain resolver convention plugin
  • Changed tests of PDF, PS and SVG Surfaces to use null instead of empty String
  • Upgraded Gradle wrapper to 8.3

Full Changelog: 1.16.0...1.16.1