Skip to content

Releases: jwharm/cairo-java-bindings

1.18.4.1

17 Oct 18:57
Compare
Choose a tag to compare

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

27 Jul 12:01
Compare
Choose a tag to compare

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

13 May 19:59
Compare
Choose a tag to compare

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

05 Mar 20:56
Compare
Choose a tag to compare

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

05 Nov 22:19
Compare
Choose a tag to compare

Version 1.18.1 brings the following changes:

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

1.18.0

14 Oct 20:16
376ba99
Compare
Choose a tag to compare

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

17 Sep 20:16
Compare
Choose a tag to compare

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

02 Sep 09:51
Compare
Choose a tag to compare

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

1.16.0

16 Jul 20:44
Compare
Choose a tag to compare

Initial release