GeoTools Changelog

What's new in GeoTools 31.0

Mar 19, 2024
  • New Feature
  • GEOT-7419 New function: lin (in function for list)
  • GEOT-7488 GDAL, GeoTIFF and ImageMosaic ignore nodata when it's NaN
  • Bug:
  • GEOT-7458 JDBCDataStore: Unique visitor not always compatible with sortBy
  • GEOT-7472 After the org.opengis package removal, gt-api jar is not included in bin download
  • GEOT-7475 Conversion of GeneralBounds to ReferencedEnvelope fails for envelopes wrapping the dateline
  • GEOT-7476 ColorMapBuilder should enable extended mode when necessary
  • GEOT-7477 DuplicatingStyleVisitory does not copy RasterSymbolizer vendor options
  • GEOT-7478 Add support for GDAL RasterAttributeTable in GeoTIFF, Image Mosaic, GDAL readers
  • GEOT-7485 ReferencedEnvelope.setFrameFromCenter(Point2D center, Point2D corner) returns wrong coordinates - zoomin/zoomout
  • GEOT-7486 CSS literal single space squashed to empty string
  • GEOT-7503 GeoTiffIIOMetadataDecoder doesn't support inf/-inf
  • GEOT-7504 MapContent.moveLayer() doesn't change the Layer's order in the MapLayerTable.
  • GEOT-7510 GridCoverage Rendering's equality check on CRSs is not recognizing equal ProjectedCRS.
  • GEOT-7522 NetCDFMosaicReaderTest failure
  • GEOT-7535 Per layer interpolation setting not honored with rendering transformation and oversampling
  • GEOT-7534 accept geojson with geometry=null
  • GEOT-7542 Vector mosaic is not reading type and filter columns from the index, if query property selection is on
  • Improvement:
  • GEOT-7411 App-schema performance improvement in setting attribute values
  • GEOT-7428 Support of jsonPointer function for Oracle
  • GEOT-7452 Remove deprecated constructors from WFSContentComplexFeatureCollection
  • GEOT-7453 Remove deprecated SimpleHTTPResponse
  • GEOT-7467 ESRI Shapefile read DBF-only data
  • GEOT-7471 WMTS Reader debug flag for 404 tiles
  • GEOT-7491 ShapeFileDataStore should use GeometryFactory of DataStore
  • GEOT-7501 There is no way to serialise a ReferencedEnvelope that can be parsed back to a ReferencedEnvelope
  • GEOT-7502 FlatGeobuf DataStore missing startIndex optimization
  • GEOT-7508 Optimize execution of NearestVisitor in Vector Mosaic store
  • GEOT-7538 Use gt-http logging for request/response
  • GEOT-7509 Introduce query as context to ContentFeatureSource capabilities
  • Task:
  • GEOT-7451 Upgrade org.json:json to 20230618
  • GEOT-7498 Upgrade DB2 JDBC driver from 11.5.6.0 to 11.5.9.0
  • GEOT-7483 Update jai-ext to 1.1.25
  • GEOT-7529 Update Apache Commons-lang3 to version 3.14 for Java 17 and Java 21 support
  • Sub-task:
  • GEOT-7460 Fix javadoc in WFS-NG unsupported module
  • GEOT-7462 Fix javadoc in process module
  • GEOT-7463 Fix javadoc in teradata unsupported module
  • GEOT-7464 Fix javadoc in sample data module

New in GeoTools 31.0 RC (Mar 19, 2024)

  • Bug:
  • GEOT-7458 JDBCDataStore: Unique visitor not always compatible with sortBy
  • GEOT-7472 After the org.opengis package removal, gt-api jar is not included in bin download
  • GEOT-7475 Conversion of GeneralBounds to ReferencedEnvelope fails for envelopes wrapping the dateline
  • GEOT-7476 ColorMapBuilder should enable extended mode when necessary
  • GEOT-7477 DuplicatingStyleVisitory does not copy RasterSymbolizer vendor options
  • GEOT-7478 Add support for GDAL RasterAttributeTable in GeoTIFF, Image Mosaic, GDAL readers
  • GEOT-7485 ReferencedEnvelope.setFrameFromCenter(Point2D center, Point2D corner) returns wrong coordinates - zoomin/zoomout
  • GEOT-7486 CSS literal single space squashed to empty string
  • GEOT-7503 GeoTiffIIOMetadataDecoder doesn't support inf/-inf
  • GEOT-7504 MapContent.moveLayer() doesn't change the Layer's order in the MapLayerTable.
  • GEOT-7510 GridCoverage Rendering's equality check on CRSs is not recognizing equal ProjectedCRS.
  • GEOT-7522 NetCDFMosaicReaderTest failure
  • GEOT-7535 Per layer interpolation setting not honored with rendering transformation and oversampling
  • Improvement:
  • GEOT-7411 App-schema performance improvement in setting attribute values
  • GEOT-7428 Support of jsonPointer function for Oracle
  • GEOT-7451 Upgrade org.json:json to 20230618
  • GEOT-7452 Remove deprecated constructors from WFSContentComplexFeatureCollection
  • GEOT-7453 Remove deprecated SimpleHTTPResponse
  • GEOT-7467 ESRI Shapefile read DBF-only data
  • GEOT-7471 WMTS Reader debug flag for 404 tiles
  • GEOT-7491 ShapeFileDataStore should use GeometryFactory of DataStore
  • GEOT-7498 Upgrade DB2 JDBC driver from 11.5.6.0 to 11.5.9.0
  • GEOT-7501 There is no way to serialise a ReferencedEnvelope that can be parsed back to a ReferencedEnvelope
  • GEOT-7502 FlatGeobuf DataStore missing startIndex optimization
  • GEOT-7508 Optimize execution of NearestVisitor in Vector Mosaic store
  • GEOT-7538 Use gt-http logging for request/response
  • New Feature:
  • GEOT-7419 New function: lin (in function for list)
  • GEOT-7488 GDAL, GeoTIFF and ImageMosaic ignore nodata when it's NaN
  • Task:
  • GEOT-7483 Update jai-ext to 1.1.25
  • GEOT-7529 Update Apache Commons-lang3 to version 3.14 for Java 17 and Java 21 support

New in GeoTools 30.12 (Jan 25, 2024)

  • Bug:
  • gt-xsd-fes fails to encode PropertyIsBetween
  • gt-wfs-ng ignores maxFeatures on WFS 2.0
  • GeoTiffIIOMetadataDecoder doesn't support inf/-inf
  • Vector mosaic store: filtering is not working if it uses a property that's not retrieved by the query
  • GridCoverage Rendering's equality check on CRSs is not recognizing equal ProjectedCRS.
  • Regression in polygon marker fill
  • Cannot render rasters reprojecting from WGS84 to orthographic projection
  • SLD: Localized tag does not support namespace
  • SLD: i18n of rule title and abstract are lost when using the StyleBuilder
  • Improvement:
  • Upgrade DB2 JDBC driver from 11.5.6.0 to 11.5.9.0
  • Optimize execution of NearestVisitor in Vector Mosaic store

New in GeoTools 30.1 (Nov 28, 2023)

  • Bug:
  • GEOT-7412 Test failure in VRTTest with GDAL installed
  • GEOT-7415 Error on WFS Transaction with Multisurface features
  • GEOT-7430 WFSContentDataAccess should download local copy
  • GEOT-7475 Conversion of GeneralBounds to ReferencedEnvelope fails for envelopes wrapping the dateline
  • GEOT-7485 ReferencedEnvelope.setFrameFromCenter(Point2D center, Point2D corner) returns wrong coordinates - zoomin/zoomout
  • GEOT-7486 CSS literal single space squashed to empty string
  • GEOT-7494 Upgrade flatgeobuf to 3.26.2
  • GEOT-7495 Correct Hints.REPOSITORY reference to org.geotools.api.data.Repository
  • Improvement:
  • GEOT-7480 SumVisitor NPE When Value from Database is Null
  • GEOT-7490 WPS Intersection NPE when the Return Value Should be a Point
  • GEOT-7491 ShapeFileDataStore should use GeometryFactory of DataStore

New in GeoTools 29.3 (Oct 31, 2023)

  • Bug:
  • GEOT-7363 ParseException if returning POLYGON EMPTY
  • GEOT-7400 ImageWorker rescaleToBytes fails to reserve entry for nodata if it happens to be zero
  • GEOT-7401 GDAL readers ignore source NoData values
  • GEOT-7404 Add SQLite Connection Timeout in case of hung GeoPackage connections
  • GEOT-7406 Vector Mosaic Cache granule connection in memory to avoid redundant initialization and improve granule iterator cleanup
  • GEOT-7407 Vector Mosaic Cache granuleFeatureType at DataStore and improve granule FeatureType acquisition
  • GEOT-7412 Test failure in VRTTest with GDAL installed
  • GEOT-7434 ElasticSearch throws repeated point exceptions on small bbox filters
  • GEOT-7444 HanaGeographyOnlineTest.testBounds is failing in CI
  • GEOT-7458 JDBCDataStore: Unique visitor not always compatible with sortBy
  • Improvement:
  • GEOT-7413 Avoid needless type conversions in InterpolateFunction
  • GEOT-7414 Speed up style evaluation during rendering, by simplifying its expressions before execution
  • GEOT-7416 org.geotools.feature.NameImpl.compareTo creates garbage objects
  • GEOT-7418 Add a configuration parameter to the ElasticSearch plugin to support response greater than 100mb
  • GEOT-7420 Vector mosaic reader: do not recompute the schema for every feature read
  • GEOT-7421 Caching WKT parsing results
  • GEOT-7425 Add support for extended colorMap in CSS
  • GEOT-7427 Vector Mosaic add native filtering support when query is exclusively granule or index fields
  • GEOT-7429 Vector Mosaic add native retyping support when query is exclusively granule or index fields
  • GEOT-7451 Upgrade org.json:json to 20230618
  • GEOT-7480 SumVisitor NPE When Value from Database is Null

New in GeoTools 29.2 (Jul 20, 2023)

  • Bugs Fixed:
  • GEOT-7266 WMTSCapabilities throws NPE for missing title
  • GEOT-7335 geojson-store fails with StackOverflowError when parsing an empty FeatureCollection
  • GEOT-7345 WFS Capabilities from local file
  • GEOT-7365 Problems with requesting Features from a WFS Version 2.0.0 and using a HTTP proxy
  • GEOT-7367 Missing null-check in GeoPackage spatial index creation
  • GEOT-7386 Shape://dot is too small to see on screen
  • Improvements:
  • GEOT-7360 DWITHIN support for mongo DB
  • GEOT-7362 Multithreaded HTTP client: authentication not sent if connection pooling activated
  • GEOT-7381 FlatGeobufDataStore missing optimization for feature id queries
  • GEOT-7387 Improve URL checking
  • New Features:
  • GEOT-6512 Control remote HTTP requests sent by GeoTools
  • GEOT-7380 GeoTIFF user-defined coordinate reference system via citation ESRI PE String =
  • Tasks:
  • GEOT-7364 Upgrade sqlite-jdbc from 3.34.0 to 3.41.2.2
  • GEOT-7373 Upgrade hsqldb from 2.7.1 to 2.7.2
  • GEOT-7374 Upgrade Jackson to 2.15.2
  • GEOT-7375 Upgrade guava from 30.1.1 to 32.0.0
  • GEOT-7376 Upgrade postgresql from 42.4.3 to 42.6.0
  • GEOT-7378 Upgrade commons-lang3 from 3.8.1 to 3.12.0
  • GEOT-7394 Upgrade httpclient from 4.5.13 to 4.5.14
  • GEOT-7396 Upgrade wiremock to 2.35.0

New in GeoTools 29.1 (May 26, 2023)

  • Bugs fixed:
  • WMTS multi tile request is not compatible with RESTful servers
  • The result of linearization after creating circulararc is wrong
  • Child feature ClientProperties are duplicated on Complex features parent container elements from the child feature
  • Avoid PAMParser init causing ImageMosaic to fail
  • Child feature ClientProperties are duplicated on no-GML XML element parent container from the child elements

New in GeoTools 28.3 (May 5, 2023)

  • Bug:
  • GEOT-7238 WFSContentComplexFeatureSource.getFeatures(Filter) creates a wrong Query
  • GEOT-7239 WFSContentDataAccess will fail when using HTTP POST
  • GEOT-7316 Child feature ClientProperties are replicated on GML parent container elements: gml:featureMember and wfs:member
  • GEOT-7318 Unit of measure not escaped in DWithin filter
  • GEOT-7324 NPE on WMTS single tile request on missing GetTile operation in capabilities
  • GEOT-7325 WMTS multi tile request is not compatible with RESTful servers
  • GEOT-7327 TransformFeatureSource needs to transform FID filters too
  • GEOT-7331 ContentFeatureSource reprojection requirement check fails to resolve to false with two WGS84 CRS instances.
  • GEOT-7333 The result of linearization after creating circulararc is wrong
  • GEOT-7338 Child feature ClientProperties are duplicated on Complex features parent container elements from the child feature
  • GEOT-7340 Avoid PAMParser init causing ImageMosaic to fail
  • GEOT-7344 Child feature ClientProperties are duplicated on no-GML XML element parent container from the child elements
  • Improvement:
  • GEOT-7253 Create an ordinary WFSFactoryParam<String> of WFSDataStoreFactory:SCHEMA_CACHE_LOCATION
  • GEOT-7312 Add support for editable description in GeoServer customize feature type table
  • Task:
  • GEOT-7310 Update Oracle JDBC driver to 19.18.0.0
  • GEOT-7317 Upgrade snakeyaml from 1.32 to to 2.0

New in GeoTools 28.2 (Feb 22, 2023)

  • Fixes and improvements:
  • Security Advisory:
  • CVE-2023-25158OGC Filter SQL Injection Vulnerabilities
  • GEOT-7302 Escape user inputs in SQL queries
  • Bug:
  • GEOT-7285 JDBCDataStore.getConnection(Transaction t) throws NullPointerException
  • GEOT-7299 Unimplemented visitLiteralGeometry in OracleFilterToSQL cause AppSchema errors
  • Improvement:
  • GEOT-7301 Static lookup for In function
  • GEOT-7303 JNDI version of Oracle Datastore should include Column Remarks option
  • GEOT-7305 Improve ShapefileDumper to handle multiple geometry columns

New in GeoTools 28.0 (Nov 17, 2022)

  • Bug:
  • GEOT-2063 CRS decode error
  • GEOT-5911 MongoDB CQL_Filter not working anymore
  • GEOT-6259 ShapefileReadWriteTest fail on Windows
  • GEOT-6888 PostGIS - fixed columns lengths when using prepared statements
  • GEOT-7081 Choose correct EPSG library
  • GEOT-7150 Name of type in AttributeDescriptor are wrong
  • GEOT-7154 Sphinx build failure with extlinks (new warnings in Sphinx build)
  • GEOT-7159 JDBCDataStore : some error messages are inconsistent
  • GEOT-7161 Aggregate queries with non-database supported queries fail
  • GEOT-7162 Postgis Partition tests fail on postgres versions below 11
  • GEOT-7174 Jiffle band selection optimization is not working properly on readers that cannot perform band selection
  • GEOT-7177 Remove randomSupportedCRS from WMTSCoverageReader
  • GEOT-7183 STAC datastore community module: part one, STAC client
  • GEOT-7185 WMS 1.3.0 - GetCapabilities: Tolerate empty Online Resource in Service definition
  • GEOT-7186 HanaDialect SRID of geometries in columns w/o SRID constraint not detected
  • GEOT-7187 MockHTTPResponse cannot be replayed, will only work once
  • GEOT-7198 GeoTIFF native band selection does not work in heterogeneous CRS mosaics
  • GEOT-7200 GeoTiffReader NegInfinity NoData Handling
  • GEOT-7203 Split package introduced in gt-geojson-core
  • GEOT-7208 Missing YSLD support for channel name expressions
  • GEOT-7210 YSLD styles does not parse/encode layer name
  • GEOT-7215 Try harder to use bbox and datime search properties in stac-datastore
  • GEOT-7216 Properly encode BBOX filters in CQL2
  • GEOT-7217 Allow to specify properties per coverage, in addition to global ones, in indexer.xml
  • GEOT-7218 Remove ScanForTypeNames property in ImageMosaic, it's not actually used
  • GEOT-7219 Add a query caching capability to image mosaic
  • GEOT-7222 Image Mosaic excessive memory usage when mosaicking many little images
  • GEOT-7225 Assertion in ShpFilesTestStream depends on environment
  • GEOT-7226 ParameterTypeFactoryTest fails for certain locales
  • GEOT-7227 FlatGeobufFeatureReader throws a NPE when query filter Literal Expression is a ReferencedEnvelope
  • GEOT-7229 WMTSCapabilities throws NPE for misconfigured capabilities
  • GEOT-7231 Z values shapefiles don't handle NaN M values correctly
  • GEOT-7237 Compile error in gt-ogcapi-client
  • Improvement:
  • GEOT-6384 Upgrade EJML to 0.38
  • GEOT-7093 WMTSCoverageReader shouldn't have instance variables for single requests
  • GEOT-7130 Automated tests for the SAP HANA data store
  • GEOT-7139 Migrate JDBC tests from JUnit3 to JUnit4
  • GEOT-7152 Use table spatial_ref_sys to create CRS unknown to the EPSG database
  • GEOT-7156 Use dialect to customize the desired table type to return the PrimaryKey
  • GEOT-7157 Support linked table for H2 database
  • GEOT-7166 Fix jdbc-informix plugin failed test
  • GEOT-7169 When GeoJsonReader parses a complex nested object, it should capture it as a Jackson JSONNode
  • GEOT-7172 GeoJSONReader extension to handle top level attributes as well in order to support STAC
  • GEOT-7173 Oracle DataStore - Allow configuring time out properties for login and socket connection
  • GEOT-7175 Add native band selection support to the GeoTIFF reader
  • GEOT-7178 Create a PropertyAccessor that can use XPath to retrieve JSONNode attribute children
  • GEOT-7179 Upgrade app-schema Jetty test dependency to 9.4.48.v20220622
  • GEOT-7181 GeoJSONReader should handle paged GeoJSON collections
  • GEOT-7188 Make GeoJSON reader tolerant to geometry and properties elimination
  • GEOT-7190 Improve fetching performance while paging through STAC search response
  • GEOT-7192 STAC datastore: allow full HTTP client configuration
  • GEOT-7193 STAC datastore: support CQL2 filter encoding
  • GEOT-7195 WMTS requests can fail as the tilematrixset is double url encoded
  • GEOT-7204 Allow image mosaic to use the STAC datastore as a granule catalog
  • GEOT-7205 STAC store: allow configuring number of items used to guess a collection feature type
  • GEOT-7207 Use parameters instead of hard-coded values for BBOX filters
  • GEOT-7211 Fix suppressed PMD warnings and add missing file headers in gt-jdbc-hana
  • GEOT-7212 Support geometry simplification in gt-jdbc-hana
  • GEOT-7233 Add support for sequences to SQL Server dialect
  • New Feature:
  • GEOT-7202 Vector Mosaicing Data Store
  • Task:
  • GEOT-7109 gt-swt module docs update
  • GEOT-7167 Upgrade JTS to 1.19.0
  • GEOT-7189 STAC datastore: first implementation
  • GEOT-7191 Allow users to set a hard limit on how many STAC items a request can fetch, at the store level
  • GEOT-7221 Upgrade SnakeYAML to 1.32