Releases: jwharm/cairo-java-bindings
1.18.4.3
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
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
1.18.4
This release contains small fixes and improvements:
- Flag parameters (that allow bitwise combinations) are now
Set<>parameters. This impactsPDFOutlineFlagsandFTSynthesize. - Fixed the function descriptors of
cairo_text_extentsandcairo_glyph_extents - Small Javadoc fixes
- Dependency upgrades
Full Changelog: 1.18.3...1.18.4
1.18.3
1.18.2
Version 1.18.2 brings the following changes:
- Fixed #2: Automatically resize the
MemorySegmentreturned byImageSurface::getDatato theheight * strideof the surface. (Previously, theMemorySegmenthas zero size and had to be resized by the user). - Added warnings to the documentation of the various
getUserDatamethods that the returnedMemorySegmenthas zero size and must be explicitly resized to the correct value. - A few other small Javadoc fixes/improvements
- Updated dependency versions
1.18.1
1.18.0
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
1.16.1
This release contains two functionality changes:
- Changed
FTSynthesizeto 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
ProxyInstancetoProxy - 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