GeoTools

OSGeo

Wednesday, February 18, 2026

GeoTools 33.5 released

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

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

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

Release notes

See Release Notes from 33.5

Improvement

GEOT-7865 ImageMosaic Supporting PamDataset stored in TIFFMetadata

Tuesday, January 20, 2026

 

GeoTools 34.2 released

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

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

We are grateful to Gabriel Roldan (Camptocamp) for carrying out the release.

Release notes

See Release Notes from 34.2

Bug

GEOT-7625 SSL mode property is passed incorrectly in jdbc-postgis

GEOT-7798 Make WebCRSFactory extensible

GEOT-7835 Cannot read a GeoPackage with incomplete transaction from a readonly filesystem

GEOT-7843 String literal enum values not wrapped in single quotes for filter chains

GEOT-7853 DateTimeParser uses 'mm' to select Month precison in long list of 'else if'

GEOT-7863 MBStyle line-dasharray with zoom-interpolated line-width causes Java2D crash

Improvement

GEOT-7829 Using external datastore with app-schema

GEOT-7849 Make WKTP optional for CSV encoding with WKTStrategy

GEOT-7850 Support common parameters in VectorMosaic for DGGS datastore wrapping delegate params

GEOT-7852 Refactor long list of 'if/else if' construct in GeoPkgDialect

GEOT-7857 Supporting Numeric zone identifier in DGGS.

GEOT-7858 Speed up GeoPackage setup and tests

GEOT-7862 Allow image mosaic to reproject directly to the requested CRS

New Feature

GEOT-7847 Add AWS credential chain authentication support for GeoParquet S3 access

Task

GEOT-7860 Update 'com.google.code.gson' dependency version

GEOT-7861 Update 'commons-jxpath' dependency version

Thursday, December 18, 2025

GeoTools 33.4 released

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

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

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

Release notes

See Release Notes from 33.4

Release notes - GeoTools - 33.4

Bug

GEOT-7625 SSL mode property is passed incorrectly in jdbc-postgis

GEOT-7645 Fallback method getDimensionFromFirstGeo() from PostGIS Dialect doesn't return the coordinate dimension

GEOT-7798 Make WebCRSFactory extensible

GEOT-7827 String literal enum value not wrapped in single quotes for SQL

GEOT-7840 ImageWorker addBands is not including the original source image

GEOT-7843 String literal enum values not wrapped in single quotes for filter chains

Improvement

GEOT-7829 Using external datastore with app-schema

GEOT-7849 Make WKTP optional for CSV encoding with WKTStrategy

GEOT-7858 Speed up GeoPackage setup and tests

Task

GEOT-7844 Support creation of math transformations across different CRS authorities

Wednesday, October 22, 2025

GeoTools 33.3 Released

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

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

Thanks to Jody Garnett (GeoCat) for this release.

Release notes

See Release Notes from 33.3

Bug

GEOT-7516 gt-tpk-30.0 do not support "GB2312" charset of tpk file

GEOT-7750 WMTSCapabilities: Legend URLs in Styles not processed

GEOT-7787 Boolean attributes don't get stored as a true boolean in geopackages

GEOT-7789 Hatch fill appears dented/disconnected when the symbol size is not integer

GEOT-7801 Can't read files of type "Polygon Measure" as opposed to "3D polygon Measure"

GEOT-7811 FlatGeoBuf datastore builds incorrect geometry type when the file has heterogeneous geometries

Improvement

GEOT-5497 Handle fill displacement in map rendering

GEOT-7800 Add PlateCarree support ProjectionHandler for better wrapping on dateline

GEOT-7804 Support System Property SKIP_EXTERNAL_FILES_LOOKUP on ImageMosaic too

GEOT-7815 Code changes for GSIP 234 - Advertise and Enforce Attribute Restrictions

GEOT-7820 Autogenerated PK columns should be nullable on insert

New Feature

GEOT-7784 Add support for min/max scale denominator in FeatureTypeStyle

GEOT-7794 Add functions to extract mid point and mid angle

Task

GEOT-7797 add support to Skip duplicates in ImageMosaic loading

Wednesday, October 15, 2025

GeoTools 34.0 Release

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

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

This is a major update:

  • The library now requires Java 17, ending support for Java 11
  • Upgrade from Java Advanced Imaging Library 1.1.3 to Eclipse ImageN 0.9.0.
  • Library now provides a maven bill-of-materials import for both library modules and third-party-dependences making it considerably easier for downstream projects to synchronize dependences when upgrading GeoTools
  • For more information please see upgrade instructions in the user manual

Thanks to Jody Garnett (GeoCat) for making this release, Gabriel Roldan (Camptocamp) for all the build improvements, and Andrea Aime (GeoServer) for working so hard on the Eclipse ImageN migration.

These major library updates were undertaken as part of the GeoServer 3 activities, and we would like to the crowdfunding sponsors their financial support.

Release notes

Improvement

GEOT-7763 Migrate use JAITools to JAI-Ext

GEOT-7821 Add PMTiles DataStore module for reading Protomaps vector tiles

GEOT-7823 Migrate to ImageN 0.9.0 and ImageIO Ext 2.0.0

GEOT-7747 Add Hive partitioning support to GeoParquet DataStore

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

GEOT-7764 Migrate GeoTools to Java 17

GEOT-7765 Improve PropertyIsLike filter to work for numeric columns in postgres

GEOT-7781 Add a priority to property accessors

GEOT-7783 Reduce build times by parallelizing metadata integration tests

GEOT-7800 Add PlateCarree support ProjectionHandler for better wrapping on dateline

GEOT-7803 s3-geotiff: broken for custom server (such as minio) - region must be configured

GEOT-7804 Support System Property SKIP_EXTERNAL_FILES_LOOKUP on ImageMosaic too

GEOT-7814 Upgrade codebase to Java 17 language features

GEOT-7815 Code changes for GSIP 234 - Advertise and Enforce Attribute Restrictions

New Feature

GEOT-7767 Java UUID type support to geopkg dialect

GEOT-7777 Add a downstream QA build

GEOT-7784 Add support for min/max scale denominator in FeatureTypeStyle

GEOT-7792 Add Thin Plate Spline 2D Transformation Support

Bug

GEOT-7069 Java 17 - IllegalAccessError with JAI RasterAccessor

GEOT-7816 Quality Degradation in Scanned Map Rendering (GeoServer 2.25.3 onward)

GEOT-7516 gt-tpk-30.0 do not support "GB2312" charset of tpk file

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

GEOT-7750 WMTSCapabilities: Legend URLs in Styles not processed

GEOT-7761 SerializableRenderedImage usage removal

GEOT-7762 Remove usage of JAI ScrollingImagePanel

GEOT-7773 GeoJSONParser of gt-arcgisrest sets Id of each feature to "features"

GEOT-7774 PreventLocalEntityResolver prevents access to jar:nested resources

GEOT-7776 Image mosaic property collectors fail with a array access exception when the regex does not match

GEOT-7780 Contrast enhancement with clip to min/max loses input nodata

GEOT-7785 Bounds computation fails when a null geometry is present on SingleStore datastore

GEOT-7787 Boolean attributes don't get stored as a true boolean in geopackages

GEOT-7801 Can't read files of type "Polygon Measure" as opposed to "3D polygon Measure"

Task

GEOT-7438 Create source=17 build for github actions

GEOT-7439 Update code formatter for JDK 17 compatibility

GEOT-7819 GeoTools ImageN update for JAI to ImageN Rename of classes and constants

GEOT-7766 Migrate ZonalStats to JAI-Ext API

GEOT-6772 License in pom.xml files does not specify the LGPL version and URL redirects to the wrong one

GEOT-7757 Disallow usage of var in GeoTools source code

GEOT-7758 Upgrade ErrorProne to 2.31.0

GEOT-7768 Remove unecessary javac lint suppressions

GEOT-7769 Update to PMD 7.14 and enable unecessary suppression rule

GEOT-7775 Singlestore(MemSql) datastore

GEOT-7796 Support native Bands selection on GDAL plugin

GEOT-7797 add support to Skip duplicates in ImageMosaic loading

GEOT-7813 Upgrade Oracle JDBC driver to Java 17, release 23.9.0.25.07

GEOT-7817 Update to ImageN 0.4.0 and ImageIO-Ext 2.0.0-M0

GEOT-7818 coverage-multidim slowed down build with additional / invalid unidata repository

Tuesday, September 2, 2025

GeoTools 32.4 released

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

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

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

Release notes

See Release Notes from 32.4

Bug

GEOT-7774 PreventLocalEntityResolver prevents access to jar:nested resources

GEOT-7776 Image mosaic property collectors fail with a array access exception when the regex does not match

GEOT-7779 ImageMosaic read in a data hole returns data filled with zeros, should be using nodata instead

GEOT-7780 Contrast enhancement with clip to min/max loses input nodata

GEOT-7789 Hatch fill appears dented/disconnected when the symbol size is not integer

GEOT-7801 Can't read files of type "Polygon Measure" as opposed to "3D polygon Measure"

Improvement

GEOT-5497 Handle fill displacement in map rendering

GEOT-7781 Add a priority to property accessors

GEOT-7782 Allow usage of grouping aggregation as a rendering transformation

GEOT-7783 Reduce build times by parallelizing metadata integration tests

GEOT-7804 Support System Property SKIP_EXTERNAL_FILES_LOOKUP on ImageMosaic too

New Feature

GEOT-7767 Java UUID type support to geopkg dialect

GEOT-7784 Add support for min/max scale denominator in FeatureTypeStyle

GEOT-7794 Add functions to extract mid point and mid angle

Task

GEOT-7797 add support to Skip duplicates in ImageMosaic loading

Thursday, July 17, 2025

GeoTools 33.2 released

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

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

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

Release notes

See Release Notes from 33.2

Bug

GEOT-7773 GeoJSONParser of gt-arcgisrest sets Id of each feature to "features"

GEOT-7774 PreventLocalEntityResolver prevents access to jar:nested resources

GEOT-7776 Image mosaic property collectors fail with a array access exception when the regex does not match

GEOT-7779 ImageMosaic read in a data hole returns data filled with zeros, should be using nodata instead

GEOT-7780 Contrast enhancement with clip to min/max loses input nodata

GEOT-7785 Bounds computation fails when a null geometry is present on SingleStore datastore

Improvement

GEOT-7765 Improve PropertyIsLike filter to work for numeric columns in postgres

GEOT-7781 Add a priority to property accessors

GEOT-7782 Allow usage of grouping aggregation as a rendering transformation

GEOT-7783 Reduce build times by parallelizing metadata integration tests

New Feature

GEOT-7767 Java UUID type support to geopkg dialect

Task

GEOT-7757 Disallow usage of var in GeoTools source code

GEOT-7775 Singlestore(MemSql) datastore

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

Thursday, December 19, 2024

GeoTools 31.5 released

GeoTools 31.5 released

The GeoTools team is pleased to announce the release of the latest maintenance version of  GeoTools 31.5:

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

Thanks to Andrea Aime (GeoSolutions) for making this release.

Release notes

Bug

GEOT-7673 TransformFeatureCollection doesn't account for query properties

GEOT-7680 User UUID is not set

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

Improvement

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

Task

GEOT-7685 Inclusion of CQL2 in release dependences occluded Jackson jars from release

GEOT-7694 Update MySQL driver to 9.1.0

Tuesday, November 19, 2024

GeoTools 32.1 released

GeoTools 32.1 released

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

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

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

Release notes

See Release Notes from 32.1

Bug

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

GEOT-7663 Rendering one way arrows based on external graphics results in mis-centered arrows

GEOT-7665 PointStackerProcess : first point is not taken into account to calculate Envelope min/max x/y

GEOT-7666 Parsing empty Rotation style element throws a ClassCastException

GEOT-7667 JDBCDataStore getAggregateValue is not JSONPointer aware when splitting the filters

GEOT-7669 ConcurrentModificationException in WMSCapabilities.getLayerList()

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

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

Improvement

GEOT-7637 GetFeatures call of WFSContentComplexFeatureSource should set srs according to query

GEOT-7652 Avoid typename listing when NetCDF indexer file points to a single coverage

GEOT-7653 Cache CoordinateReferenceSystem hashcode, expensive to compute

GEOT-7654 Speed up reprojected rendering of large amounts of points

GEOT-7655 Exception trying to render curved labels with trailing newlines

GEOT-7656 Styles with large number of dynamic external graphics are bogged down by CQL parsing

GEOT-7657 TextSymbolizer rendering generates lots of TextStyle2D objects

GEOT-7659 Optimize font alternatives calculation

GEOT-7660 Rendering: build derived fonts in one shot

GEOT-7662 MBStyles translation of one way styles can be out of center, and upside down

GEOT-7671 Vector mosaic "count" implementation does not account for max features

Task

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

GEOT-7685 Inclusion of CQL2 in release dependences occluded Jackson jars from release

Wednesday, October 30, 2024

GeoTools 31.4 Released

GeoTools 31.4 released

The GeoTools team is pleased to announce the release of the latest maintenance version of   GeoTools 31.4:

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

Thanks to Jody Garnett for making this release.

Release notes

Bug

GEOT-7528 GeoPackage: Timestamp is not written correctly

GEOT-7539 The latest tutorials link is broken in https://docs.geotools.org/

GEOT-7541 When cascading WMTS capabilities specifies a TileMatrixSet that doesn't exist GeoTools throws a ConcurrentModificationException

GEOT-7569 throw error while adding feature to FlatGeobuf featureStore

GEOT-7579 FlatGeobuf handle java.util.Date and iso correctness

GEOT-7627 Improper raster output and/or rendering transfromations output when reading at high oversampling factors with bilinear/bicubic interpolation

GEOT-7628 Regression in JDBC optimization of unique visitor with sorting

GEOT-7636 Line densification on reprojection can lead to OOM

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

GEOT-7663 Rendering one way arrows based on external graphics results in mis-centered arrows

GEOT-7665 PointStackerProcess : first point is not taken into account to calculate Enveloppe min/max x/y

GEOT-7666 Parsing empty Rotation style element throws a ClassCastException

GEOT-7667 JDBCDataStore getAggregateValue is not JSONPointer aware when splitting the filters

GEOT-7669 ConcurrentModificationException in WMSCapabilities.getLayerList()

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

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

Improvement

GEOT-7550 Try harder to reproject envelopes with projections having a complex valid area

GEOT-7617 Add a max and a min merge mode for image mosaics

GEOT-7629 Add validation when deserializing objects

GEOT-7634 Update DWITHIN delegation in Mongo to support linestring

GEOT-7652 Avoid typename listing when NetCDF indexer file points to a single coverage

GEOT-7653 Cache CoordinateReferenceSystem hashcode, expensive to compute

GEOT-7654 Speed up reprojected rendering of large amounts of points

GEOT-7655 Exception trying to render curved labels with trailing newlines

GEOT-7656 Styles with large number of dynamic external graphics are bogged down by CQL parsing

GEOT-7657 TextSymbolizer rendering generates lots of TextStyle2D objects

GEOT-7659 Optimize font alternatives calculation

GEOT-7660 Rendering: build derived fonts in one shot

GEOT-7662 MBStyles translation of one way styles can be out of center, and upside down

GEOT-7671 Vector mosaic "count" implementation does not account for max features

Task

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

Thursday, September 26, 2024

GeoTools 32.0 released

GeoTools 32.0 released

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

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

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

Security Considerations

This release of GeoTools addresses several security considerations:
  • CVE-2024-46991 (High 7.8)

Release notes

See Release Notes from 32.0

Bug

GEOT-7127 Error in read empty DBF

GEOT-7528 GeoPackage: Timestamp is not written correctly

GEOT-7537 GeoPackage TIMESTAMP must be DATETIME according to the GeoPackage spec

GEOT-7539 The latest tutorials link is broken in https://docs.geotools.org/

GEOT-7540 startIndex parameter is not passed in WFS store request

GEOT-7569 throw error while adding feature to FlatGeobuf featureStore

GEOT-7579 FlatGeobuf handle java.util.Date and iso correctness

GEOT-7589 Fix the JsonArrayDelegation for Postgres to support searching in root level array

GEOT-7590 Patterns containing "&" are broken when using LikeFilter

GEOT-7596 Reduce change of white line artifacts when performing high subsampling on read

GEOT-7611 WMS Client throws an ArrayIndexOutOfBoundsException when parsing attribution logoUrl element in invalid capabilities XML

GEOT-7626 ReferencedEnvelope CRS compatibility check is not recognizing equivalent ProjectedCRS. (identity transformation between source and target CRS)

GEOT-7642 some modules rely on transitive version of units-api

Improvement

GEOT-7422 Update java units "indriya" to version 2.2

GEOT-7546 Add AUTO code (97004) for Geostationary satellite projection

GEOT-7548 Renovate arcgisrest with dependency updates and code formatting

GEOT-7550 Try harder to reproject envelopes with projections having a complex valid area

GEOT-7557 Provide the ability for downstream applications (e.g. GeoServer) to append additional querystring parameters e.g. AuthKey to every request made by the HTTPClient

GEOT-7558 GeoPackage extension output contains field types that are not supported by GDAL

GEOT-7561 Proposal: Individual contributor clarification

GEOT-7565 Upgrade ImageIO-Ext to 1.4.10

GEOT-7571 Support updates for PostgreSQL json/jsonb columns

GEOT-7576 Make SchemaCache use the HttpClient from the GeoTools hints

GEOT-7586 GeoPackage output contains invalid field types when publishing content from other JDBCDataStore

GEOT-7614 support for postgres reWriteBatchedInserts

GEOT-7617 Add a max and a min merge mode for image mosaics

GEOT-7633 Move ZoomContext/ZoomContextFinder class set from YSLD to main

GEOT-7640 Improve the polygon label function for rectangular geometries, and automatically compute a sane tolerance

GEOT-7643 Add support for vector tile specific vendor options in SLD/CSS

GEOT-7647 Allow programmatic registration and de-registration of data stores factories

New Feature

GEOT-7544 MemoryMappedRandomAccessFile for NetCDF Reading

GEOT-7585 Adding css-uniqueRoleName

GEOT-7606 Support fast extent estimation in HANA provider

GEOT-7618 Create an unsupported graticules module

Task

GEOT-7547 Upgrade to NetCDF 5.5.3

GEOT-7566 Upgrade commons-io from 2.12.0 to 2.16.1

GEOT-7567 Upgrade guava from 32.0.0 to 33.2.0

GEOT-7573 Upgrade PostgreSQL driver from 42.7.2 to 42.7.3

GEOT-7574 Upgrade commons-text from 1.10.0 to 1.12.0

GEOT-7577 Upgrade jackson from 2.15.2 to 2.17.1

GEOT-7578 Upgrade snakeyaml from 2.0 to 2.2

GEOT-7588 Maven javadoc build fix for Java 11.0.22 and newer aggregate build

GEOT-7599 Update MySQL CI matrix (drop 5.7, add 8.4)

GEOT-7610 Bump EasyMock to 5.3.0

GEOT-7615 Update Jackson 2 libs from 2.17.1 to 2.17.2

GEOT-7622 Upgrade guava from 33.2.0 to 33.2.1

GEOT-7623 Upgrade commons-lang3 from 3.14.0 to 3.15.0

GEOT-7624 Upgrade junit from 4.13.1 to 4.13.2

GEOT-7639 Upgrade to JTS 1.20.0

GEOT-7648 Update to ImageIO-Ext 1.14.13

GEOT-7650 Update to JAI-EXT 1.1.27

Monday, August 26, 2024

GeoTools 30.5 released

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

This release is also available from the OSGeo Maven Repository and is made in conjunction with GeoServer 2.24.5. The release was made by Andrea Aime (Geosolutions).

Release notes

See Release Notes from 30.530.430.330.230.130.0 and 30-RC

Bug

  • GEOT-7127 Error in read empty DBF
  • GEOT-7528 GeoPackage: Timestamp is not written correctly
  • GEOT-7539 The latest tutorials link is broken in https://docs.geotools.org/
  • GEOT-7589 Fix the JsonArrayDelegation for Postgres to support searching in root level array
  • GEOT-7590 Patterns containing "&" are broken when using LikeFilter
  • GEOT-7607 Error using function Interpolate in COLOR mode from SLD
  • GEOT-7627 Improper raster output and/or rendering transfromations output when reading at high oversampling factors with bilinear/bicubic interpolation
  • GEOT-7628 Regression in JDBC optimization of unique visitor with sorting

Improvement

  • GEOT-7550 Try harder to reproject envelopes with projections having a complex valid area

Task

  • GEOT-7615 Update Jackson 2 libs from 2.17.1 to 2.17.2

Friday, July 19, 2024

GeoTools 31.3 released

 

GeoTools 31.3 released

The GeoTools team is pleased to announce the release of the latest maintenance version of  GeoTools 31.3:

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

We are grateful to Ian Turton for carrying out the release on behalf of the team.

Summary of changes

See the full release notes from 31.3.

Release notes

Bug

GEOT-7127 Error in read empty DBF

GEOT-7589 Fix the JsonArrayDelegation for Postgres to support searching in root level array

GEOT-7590 Patterns containing "&" are broken when using LikeFilter

GEOT-7596 Reduce change of white line artifacts when performing high subsampling on read

Task

GEOT-7599 Update MySQL CI matrix (drop 5.7, add 8.4)

GEOT-7615 Update Jackson 2 libs from 2.17.1 to 2.17.2