GeoTools

OSGeo

Monday, May 12, 2025

GeoTools 33.1 Released

The GeoTools team is pleased to announce the release of the latest stable version of GeoTools 32.3:

This release is also available from the OSGeo Maven Repository and is made in conjunction with GeoWebCache 1.27.1 and GeoServer 2.27.1.

Thanks to Jody Garnett (GeoCat) and Andrea Aime (GeoSolutions) for carrying out the release.

Release notes

Security Considerations

Release is made in conjunction with a security advisory CVE-2025-30220 below:

CVE-2025-30220 XML External Entity (XXE) Processing Vulnerability in XSD schema handling

GEOT-7760 CVE-2025-30220: XXE Processing Vulnerability in XSD schema handling (9.9 Critical)

Bug

GEOT-7715 GeoPackage data column constraint enums with string keys are not supported

GEOT-7720 Coordinates are truncated when encoding geometry

GEOT-7726 NPE in Transformer.getTransformedSortBy for SortBy.NATURAL_ORDER

GEOT-7743 HanaGeographyOnlineTest is failing after database upgrade

GEOT-7745 PagingFeatureCollection doesn't work as expected when used at a STAC collection

Improvement

GEOT-7742 Allow spreading the folders in NETCDF_DATA_DIR into a hierarchy

GEOT-7747 Add Hive partitioning support to GeoParquet DataStore

GEOT-7748 Improve CRS handling in GeoParquet with PROJJSON v0.7 schema support

Task

GEOT-7756 Update outdated http, irc, project and company references

GeoTools 32.3 Released

The GeoTools team is pleased to announce the release of the latest stable version of GeoTools 32.3:

This release is also available from the OSGeo Maven Repository and is made in conjunction with GeoWebCache 1.26.3, and GeoServer 2.26.3.

Thanks to Jody Garnett (GeoCat) and Andrea Aime (GeoSolutions) for carrying out the release.

Release notes

Security Considerations

Release is made in conjunction with a security advisory CVE-2025-30220 below:

CVE-2025-30220 XML External Entity (XXE) Processing Vulnerability in XSD schema handling

GEOT-7760 CVE-2025-30220: XXE Processing Vulnerability in XSD schema handling (9.9 Critical)

Bug

GEOT-7320 ServiceException from a WFS server GET_FEATURE ends in a FactoryNotFoundException

GEOT-7632 WMS capabilities parsing should not fail if 'units' for a dimension is empty

GEOT-7699 In GeoPackage 1.2 the version should be reported also in the user_version pragma

GEOT-7700 GeoPackage geometry type name is case sensitive

GEOT-7707 A GeoPackage tile pyramid table must have a unique constraint on zoom/row/col

GEOT-7713 FeatureTypeRegistry of gt-complex is not thread-safe

GEOT-7715 GeoPackage data column constraint enums with string keys are not supported

GEOT-7719 The Jiffle process ignores input images nodata

GEOT-7720 Coordinates are truncated when encoding geometry

GEOT-7721 Oracle datastore does not handle NCLOB

GEOT-7724 Improve validation when deserializing objects

GEOT-7726 NPE in Transformer.getTransformedSortBy for SortBy.NATURAL_ORDER

GEOT-7743 HanaGeographyOnlineTest is failing after database upgrade

GEOT-7745 PagingFeatureCollection doesn't work as expected when used at a STAC collection

Improvement

GEOT-7718 WMS Parser can no longer hande IGN due to ordering issue in LogoURL

GEOT-7735 Upgrade ImageIO-EXT to 1.4.15

GEOT-7742 Allow spreading the folders in NETCDF_DATA_DIR into a hierarchy

Task

GEOT-7717 Updating automated testing to GDAL 3.10.1

GEOT-7723 Upgrade Oracle JDBC driver (ojdbc) from 8 to 11

GEOT-7725 Upgrade DB2 JDBC driver from 11.5.9.0 to 12.1.0.0

GEOT-7729 Update jai-ext to latest version (1.1.30)

GEOT-7734 Update to jai-ext 1.1.31

GEOT-7756 Update outdated http, irc, project and company references

GeoTools 31.7 Released

The GeoTools team is pleased to announce the release of the latest stable version of GeoTools 31.7:

This release is also available from the OSGeo Maven Repository and is made in conjunction with GeoServer 2.25.7.

This series has reached end-of-life, release published to address a security advisory. Thanks to Jody Garnett (GeoCat) and Andrea Aime (GeoSolutions) for carrying out the release.

Release notes

Security Considerations

Release is made to address a security advisory CVE-2025-30220 below:

CVE-2025-30220 XML External Entity (XXE) Processing Vulnerability in XSD schema handling

GEOT-7760 CVE-2025-30220: XXE Processing Vulnerability in XSD schema handling (9.9 Critical)

Bug

GEOT-7715 GeoPackage data column constraint enums with string keys are not supported

Task

GEOT-7734 Update to jai-ext 1.1.31

GEOT-7756 Update outdated http, irc, project and company references

Thursday, April 3, 2025

GeoTools 33.0 release

The GeoTools team is pleased to announce the release of the latest stable version of GeoTools 33.0:

This release is also available from the OSGeo Maven Repository and is made in conjunction with GeoServer 2.27.0 and GeoWebCache 1.27.0.

We thank Gabriel Roldan (Camptocamp) and Jody Garnett (GeoCat) for carrying out the release.

Release notes

See Release Notes from 33.0

Bug

GEOT-5158 FeatureJson readFeatureCollection not working properly, if the geojson contains array of object in it.

GEOT-7320 ServiceException from a WFS server GET_FEATURE ends in a FactoryNotFoundException

GEOT-7545 Wrong log level comparison in LogbackLogger#isLoggable

GEOT-7658 [MongoDB Plugin] The filter spliter may drop part of the filter

GEOT-7669 ConcurrentModificationException in WMSCapabilities.getLayerList()

GEOT-7670 Deadlock between DataAccessFinder and DataStoreFinder

GEOT-7672 ElasticsearchDateConverter is not properly setting day of month when parsing Instants like 2024-10-04

GEOT-7673 TransformFeatureCollection doesn't account for query properties

GEOT-7674 Shapefile performance/memory usage regression: the DBF file is fully read in memory when reading features

GEOT-7680 User UUID is not set

GEOT-7681 Geometry field not updating

GEOT-7687 jsonPointer function converts numeric keys to numbers when used as key accessors

GEOT-7693 CenterLine process can leave gaps in the skeletonisation

GEOT-7697 GeoTIFF revision declared to be 1.2, while it's actually 1.0

GEOT-7699 In GeoPackage 1.2 the version should be reported also in the user_version pragma

GEOT-7700 GeoPackage geometry type name is case sensitive

GEOT-7702 Style doesn't match filter if there are more than one "or-combined" date filter on the same PropertyName (SLD)

GEOT-7706 Style doesn't match filter if there are more than one "or-combined" date filter on the same PropertyName (SLD)

GEOT-7707 A GeoPackage tile pyramid table must have a unique constraint on zoom/row/col

GEOT-7709 WMTS GetCapabilities will not recognize ServiceException

GEOT-7713 FeatureTypeRegistry of gt-complex is not thread-safe

GEOT-7721 Oracle datastore does not handle NCLOB

GEOT-7724 Improve validation when deserializing objects

Improvement

GEOT-7234 Implement `#getOptimizedBounds(...)` in SQLServerDialect

GEOT-7641 Support the "sweep" parameter in the GeostationarySatellite projection

GEOT-7684 Align cql2-text and cql2-json to the official specification

GEOT-7716 Update the EPSG database into current (EPSG v11.031 by now)

GEOT-7718 WMS Parser can no longer hande IGN due to ordering issue in LogoURL

GEOT-7730 Support reprojection pivoting over ETRS89 and NAD83 too

GEOT-7731 Add a flag to prefer large area coordinate operations over high accuracy ones

GEOT-7734 Update to jai-ext 1.1.31

GEOT-7735 Upgrade ImageIO-EXT to 1.4.15

New Feature

GEOT-7668 Support PROJ Citation and PROJ Formatter to produce proj Strings from EPSG CRSs

GEOT-7737 New unsupported module: GeoParquet DataStore

Task

GEOT-7661 Fix spelling of geoemtry (geometry) in several places

GEOT-7677 Upgrade log4j to 2.24.1 and slf4j to 2.0.16

GEOT-7688 Graduate cql2-text and cql2-json to supported status

GEOT-7694 Update MySQL driver to 9.1.0

GEOT-7695 Remove the unsupported geobuf module

GEOT-7696 Apply Palantir Java format on GeoTools

GEOT-7701 Apply Palantir format on arcgis-rest module

GEOT-7704 Replace commons-httpclient with httpcomponents:httpclient

GEOT-7710 Update Logback from 1.3.12 to 1.5.14

GEOT-7717 Updating automated testing to GDAL 3.10.1

GEOT-7723 Upgrade Oracle JDBC driver (ojdbc) from 8 to 11

GEOT-7725 Upgrade DB2 JDBC driver from 11.5.9.0 to 12.1.0.0

GEOT-7729 Update jai-ext to latest version (1.1.30)

Wednesday, February 19, 2025

GeoTools 31.6 released

The GeoTools team is pleased to announce the release of the latest stable version of GeoTools 31.6:

This release is also available from the OSGeo Maven Repository and is made in conjunction with GeoServer 2.25.6 and GeoWebCache 1.25.4.

We are grateful to Peter Smythe (AfriGIS) for carrying out the release.

Release notes

See Release Notes from 31.6

Bug

GEOT-7545 Wrong log level comparison in LogbackLogger#isLoggable

GEOT-7698 GeoTIFF and image mosaic do not handle COGs with masks properly

GEOT-7702 Style doesn't match filter if there are more than one "or-combined" date filter on the same PropertyName (SLD)

GEOT-7706 Style doesn't match filter if there are more than one "or-combined" date filter on the same PropertyName (SLD)

GEOT-7708 Intersection test against curves can fail to return correct results, with PostGIS, due to accuracy issues

GEOT-7711 Incompatible sl4j and logback libraries result in class not found LoggingEventAware

Improvement

GEOT-7718 WMS Parser can no longer hande IGN due to ordering issue in LogoURL

Task

GEOT-7677 Upgrade log4j to 2.24.1 and slf4j to 2.0.16

GEOT-7696 Apply Palantir Java format on GeoTools

GEOT-7710 Update Logback from 1.3.12 to 1.5.14


Wednesday, February 5, 2025

GeoTools 28.6 Released

The GeoTools shares the release of GeoTools 28.6 available for Java 8 applications: 

This release is also available from the OSGeo Maven Repository and is made to support the upcoming GeoNetwork 4.2.12 release.

This release provides Java 8 artifacts for CVE-2024-36404. The vulnerability report has been updated to allow Java 8 applications avoid being flagged by security scans.

We are grateful to Jody Garnett (GeoCat) for making this release on behalf of the GeoNetwork project.

Release notes

Security Considerations

GEOT-7587 Improve handling of XPath expressions (CVE-2024-36404)

Bug

GEOT-7444 HanaGeographyOnlineTest.testBounds is failing in CI

GEOT-7458 JDBCDataStore: Unique visitor not always compatible with sortBy

GEOT-7490 WPS Intersection NPE when the Return Value Should be a Point

GEOT-7496 gt-xsd-fes fails to encode PropertyIsBetween

GEOT-7497 gt-wfs-ng ignores maxFeatures on WFS 2.0

Improvement

GEOT-7491 ShapeFileDataStore should use GeometryFactory of DataStore

Task

GEOT-7290 Visual difference for ReprojectGoogleMercatorLargerThanWorld test on aarch64

GEOT-7451 Upgrade org.json:json to 20230618

GEOT-7594 Bump org.postgresql:postgresql from 42.6.0 to 42.7.2

GEOT-7714 Bump ch.qos.logback:logback-classic from 1.2.11 to 1.3.12

Monday, January 27, 2025

GeoTools 32.2 Released

GeoTools 32.2 released

The GeoTools team is pleased to announce the release of the latest stable version of GeoTools 32.2:

This release is also available from the OSGeo Maven Repositoryand is made in conjunction with GeoServer 2.26.2 and GeoWebCache 1.26.2.

We are grateful to Jody Garnett (GeoCat) for making this release, and everyone who contributed.

Release notes - GeoTools - 32.2

Bug

GEOT-7545 Wrong log level comparison in LogbackLogger#isLoggable

GEOT-7673 TransformFeatureCollection doesn't account for query properties

GEOT-7680 User UUID is not set

GEOT-7687 jsonPointer function converts numeric keys to numbers when used as key accessors

GEOT-7689 Logic filter equality checks incorrectly implemented

GEOT-7690 RasterAsPointCollection used as a rendering transformation does not play well with tiling

GEOT-7691 Contour rendering transformation with tiling and high oversampling might result in in broken contours

GEOT-7692 Allow raster to vector rendering transformations to oversample reads on demand

GEOT-7693 CenterLine process can leave gaps in the skeletonisation

GEOT-7698 GeoTIFF and image mosaic do not handle COGs with masks properly

GEOT-7702 Style doesn't match filter if there are more than one "or-combined" date filter on the same PropertyName (SLD)

GEOT-7706 Style doesn't match filter if there are more than one "or-combined" date filter on the same PropertyName (SLD)

GEOT-7708 Intersection test against curves can fail to return correct results, with PostGIS, due to accuracy issues

GEOT-7711 Incompatible sl4j and logback libraries result in class not found LoggingEventAware

Improvement

GEOT-7234 Implement `#getOptimizedBounds(...)` in SQLServerDialect

GEOT-7703 Allow usage of fullPath in most common mosaic property collectors

Task

GEOT-7677 Upgrade log4j to 2.24.1 and slf4j to 2.0.16

GEOT-7686 Update to Imageio-EXT 1.4.14

GEOT-7694 Update MySQL driver to 9.1.0

GEOT-7696 Apply Palantir Java format on GeoTools

GEOT-7701 Apply Palantir format on arcgis-rest module

GEOT-7704 Replace commons-httpclient with httpcomponents:httpclient

GEOT-7710 Update Logback from 1.3.12 to 1.5.14