GeoServer Blog
GeoServer 2.21.2 Release
GeoServer 2.21.2 release is now available with downloads (bin, war, windows), along with docs and extensions.
This is a stable release of the GeoServer 2.21.x series, made in conjunction with GeoTools 27.2 and GeoWebCache 1.21.2.
Thanks to Jody Garnett (GeoCat) for making this release.
Security Considerations
This release includes a security enhancement and is a recommended upgrade for production systems.
- GEOS-10458 XSS vulnerability in the email address field
- Upgrade to org.apache.commons:commons-text 1.10.0 to avoid any risk from CVE-2022-42889. Although automated tools flagged this dependency GeoServer uses the library for capitalization and is not exposed to variable interpretation risk described.
REST API Cache Reset
For everyone who enjoys automating GeoServer a really useful feature. For the longest time GeoServer has had a REST API endpoint for resetting and reloading the Catalogue.
This change allows a reset of the information cached for:
[POST] /workspaces/<ws>/datastores/<cs>/reset
-
[POST] /workspaces/<ws>/datastores/<ds>/featuretypes/<ft>/reset
Resetting a featuretype will not overwrite any attribute selection / renaming / type conversion as this has been supplied by hand and not generated (That kind of information can be updated via REST API explicit PUT on the feature type resource.)
[POST] /workspaces/<ws>/coveragestores/<cs>/reset
[POST] /workspaces/<ws>/coveragestores/<cs>/coverages/<c>/reset
Consult the REST API reference for coveragestores / coverages, and datastores / featuretypes for detailed usage information.
Thanks to Andrea (GeoSolutions) for proposing and implementing this improvement. See proposal GSIP-214 - Selective reset of ResourcePool caches for background information.
- GEOS-10610 Selective cache reset on stores and resources, via REST API
Logging profile date formatting updates
The built-in logging profiles have been updated as the date was being incorrectly logged:
-
If you have hand edited any of the built-in logging profiles you can fix the data format manually. Locate appender
PatternLayout
entries and correct the date formatting to%date{dd MMM HH:mm:ss}
. -
If you have not modified any of the built-in logging profiles a quick way to update is to remove them from your GEOSERVER_DATA_DIRECTORY
logs
folder.The built-in logging profiles will be restored next time you change profiles or when the application starts up.
-
If you never plan to customize the built-in logging profiles use the system property
UPDATE_BUILT_IN_LOGGING_PROFILES=true
. This setting will cause GeoServer to update the files when changing profiles or on application startup.This setting only affects the built-in logging profiles; any new logging profiles that you have made manually are unaffected.
For more information see the user guide on built-in logging profiles.
-
GEOS-10701 Logging profiles timestamp reports minutes where it should report months
-
GEOS-10700 Impossible to customize built-in logging profiles: GeoServer will rewrite them on startup
Improvements and Fixes
Improvements:
-
GEOS-10677 Improve cleanup of multi part form upload to the dispatcher
-
GEOS-10676 Support uploading .bmp and .gif images as SLD Package icons through restconfig
-
GEOS-10644 Keycloak - Improvements to Role Service
-
GEOS-10639 Keycloak Filter - Allow to use a button to reach keycloak login page
-
GEOS-10637 Keycloak filter configurability improvements
-
GEOS-10625 GeoFence: improve filtering by role
-
GEOS-10620 Update oshi to 6.2.2 to support Apple M2 CPU
-
GEOS-10606 Generate html notice and license information for release assemblies
Fixes:
-
GEOS-10711 ConcurrentModificationException can happen while modifying data access rules with concurrent WMS traffic
-
GEOS-10699 WCS 2.0 latitude subsetting may fail if the source data has longitudes spanning both datelines
-
GEOS-10671 Parallel REST API calls failures (users)
-
GEOS-10649 Concurrent modification to GWC style parameter filter can lead to OOM
-
GEOS-10636 Proxied Login is broken after upgrade to 2.22-M0 and 2.21.1
-
GEOS-10635 GeoFence: area reprojection tests are failing
-
GEOS-10631 AccessManager will not be looked up if multiple beans are of type DefaultResourceAccessManager
-
GEOS-10628 GWC Environment parameterization does not work on geoserver startup
-
GEOS-10607 Links disappearing for the Admin user
-
GEOS-10547 Integrated WMS caching without the tiled parameter might result in deep recursion
-
GEOS-10507 GeoFence Internal - Support Batch operations for Rules and AdminRules
For complete information see 2.21.2 release notes.
About GeoServer 2.21
Additional information on GeoServer 2.21 series:
GeoServer 2.22-RC Release Candidate
GeoServer 2.22-RC release is now available with downloads (bin, war, windows), along with docs, extensions, and data directory. This release is also available as an Docker image.
This is a release candidate intended for public review and feedback.
Thanks to Jody Garnett (GeoCat) for making this release candidate.
Release candidate public testing and feedback
Testing and providing feedback on releases is part of the open-source social contract. The development team (and their employers and customers) are responsible for sharing this great technology with you.
The collaborative part of open-source happens now - we ask you to test this release candidate in your environment and with your data. Try out the new features, double check if the documentation makes sense, and most importantly let us know!
If you spot something that is incorrect or not working do not assume it is obvious and we will notice. We request and depend on your email and bug reports at this time. If you are working with commercial support your provider is expected to participate on your behalf.
Keeping GeoServer sustainable requires a long term community commitment. If you are unable to contribute time, sponsorship options are available via OSGeo.
Natural Earth GeoPackage and workspace
The sample data directory now includes a small geopackage generated from Natural Earth data. These layers are good examples with multiple styles, and include complete descriptions from the Natural Earth project.
Thanks to Jody Garnett (GeoCat), David Blasby (GeoCat), and the attendees of the FOSS4G GeoServer Beginner Workshop.
User Manual Getting Started updated
The user manual has been revised. Changes include:
-
Getting started has been updated and includes with new sections for GeoPackage, image, layer group and style.
-
Tutorials now provides an index of all tutorials across the user manual
Thanks to Jody Garnett (GeoCat) and the attendees of the FOSS4G GeoServer Beginner Workshop.
Welcome Page Updates
Layout
The welcome page description provides a summary of the workspaces and layers available to the current user.
The header includes a welcome message and a link to the organization providing the service.
Each web service is listed using the service title as a heading, followed by the service abstract as a description. The protocols provided by the service are displayed as blocks linking to the web service URL. These are the URLs used to access the service in a desktop or web application.
The services shown are based on the permissions of the current user. As an example when logged in as an Administrator the REST API service is shown with a link to the API endpoint.
For more information on the welcome page and an example of how to use service URLs in QGIS visit the user manual Welcome reference page.
Workspace and Layer Selection
Use the top-right corner of the welcome page to:
- Select workspace to browse workspace web services
- Select layer and layergroup for layer specific web services
You can book mark or share this page (which is great for providing a team or project with its own distinct web services and landing page).
For more information on this functionality see workspace web services and layer web services in the user manual.
Using a workspace virtual web service is great if you are setting up a GIS project, supporting a web application, or providing GIS services for a team. This is especially true as it is straight forward to manage security on a workspace basis.
Using a layer virtual web service is great when registering a layer with a catalogue service such as GeoNetwork. It provides a web service that can only be used to access a single layer.
For the technical background on this feature see Virtual web services in the user manual. This functionality has been present in GeoServer for a long time; but because it required hand editing URLs many users were not aware of capability.
Contact Information and Service Metadata
Contact information now includes a welcome message to be used as introduction on the welcome page for the global services. Editing the contact details for a workspace will override this introduction for visitors viewing the workspace services.
To customize the welcome page header introduction the welcome field is used. To append a welcome page header For more information visit link both organization and online resource are required.
To customize the welcome page footer Contact administrator link contact information for email address is required. If this information is not provided the sentence inviting visitors to contact the administrator will not be shown in the footer.
To customize the service heading and description shown vist a service configuration page. Edit the service title and abstract and the change will be reflected on the welcome page (and in the GetCapabilities document shared with web clients). Disabled services are not available and not listed.
Disabling global services prevents any services from being accessable or listed on the initial welcome page.
All these fields, including the email address, make use of GeoServer internationalization allowing the welcome page to be customized for all your visitors.
For background information visit GSIP-202. Thanks to Jody Garnett and the GeoCat Live product for these improvements.
Startup logging messages
GeoServer performs some initial setup when setting up a data directory for the first time:
- The built-in logging profiles are unpacked into
logs/
folder - The
security/
folder is setup
In the past this initialization produced some warnings (when checking for files that were not yet created). These warnings were misleading giving the impression that GeoServer was installed incorrectly.
Please note that startup logs now use the CONFIG
log level during startup one level lower thatn INFO
. This change allows logging profiles to filter out the startup process while still retaining information messages on service operation and use.
Logging profile date formatting updates
The built-in logging profiles have been updated as the date was being incorrectly logged:
-
If you have hand edited any of the built-in logging profiles you can fix the data format manually. Locate appender
PatternLayout
entries and correct the date formatting to%date{dd MMM HH:mm:ss}
. -
If you have not modified any of the built-in logging profiles a quick way to update is to remove them from your GEOSERVER_DATA_DIRECTORY
logs
folder.The built-in logging profiles will be restored next time you change profiles or when the application starts up.
-
If you never plan to customize the built-in loggig profiles use the system property
UPDATE_BUILT_IN_LOGGING_PROFILES=true
. This setting will cause GeoServer to update the files when changing profiles or on application startup.This setting only affects the built-in logging profiles; any new logging profiles that you have made manually are unaffected.
For more information see the user guide on built-in logging profiles.
Style format
The styles list provides a Format column indicating the format used.
Thanks to Mohammad Mohiuddin Ahmed for this change.
CSW ISO and Metadata extension
To support the use of the CSW module the Metadata extension provides a tab for editing metadata as part of layer configuration. It also provides a REST API for bulk metadata activities including importing from GeoNetwork.
The CSW ISO Metadata profile is now available as an extension.
For background information see GSIP-211.
Thanks to Niels for for this work.
Significant improvements in raster rendering performance
Raster rendering performance has increased significantly for two specific use cases:
- GeoTIFF hyperspectral images, with hundreds of bands, and band interleaved structure
- Mosaicking hundreds of small images
Hyperspectral sensors collect information at a very high spectral resolution, producing images with hundreds of bands. The typical pixel interleaved layout, where all the bands of a single pixel are stored together, is particularly inefficient while rendering a false color image, where only three of them are used. A band interleaved, where each band is stored in a separate bank, is more efficient. GeoServer previously loaded band interleaved images in an inefficient way, but that has been handled, improving both memory usage and rendering performance, in proportion to the number of bands found in the GeoTIFF. For the typical hyperspectral image, that implies an improvement of a couple of orders of magnitude.
The second use case involves mosaicking hundreds of images, under the notion that each one has a significant number of overviews. Showing the entire mosaick involves opening all these files, fetching the smallest overview, and mosaicking the result: the process used to be slow and very memory intensive (going with the square of the output image size). The implementation has been improved so that the memory used in now linear with the output image size, and the amount of processing has been reduced as well, providing again a couple of orders or magnitude speed up when mosaicking several hundreds small images.
Thanks to Andrea Aime (GeoSolutions) for these improvements.
Community modules news
News about community modules improvements, and new community modules you’ll find in the 2.22.x series.
A reminder that GeoServer community modules are still being worked on and are not directly available for download. If you are interested in these topics please support their completion directly by compiling the source code and contributing; or financially by sponsoring or contracting the development team working on the activity.
COG reader support for Azure
The COG reader community module now supports COGs stored in Azure as well. The location of the COG can be provided as a HTTP(s) link, while eventual access credentials should be provided as system properties:
System Property | Description |
---|---|
azure.reader.accountName | The Azure account name |
azure.reader.accountKey | The Azure account key |
azure.reader.container | The Azure container for the blobs |
azure.reader.prefix | The optional prefix folder for the blobs |
To support this activity contact Daniele (GeoSolutions).
STAC datastore and mosaicking
A new community module, [STAC datastore](https://docs.geoserver.org/latest/en/user/community/stac-datastore/index.html, supports connecting to a STAC catalog implementing the STAC API, and serve collections as vector layers, and items as features in said layers, with full filtering and time dimension support, if the server implements a CQL2 search.
The store can also be used as an index for an image mosaic, if the STAC API assets points to accessible Cloud Optimized GeoTIFFs.
To support this activity contact Andrea (GeoSolutions).
Vector mosaicking datastore
The vector mosaic datastore allows indexing many smaller vector stores (e.g., shapefiles, FlatGeoBuf) and serving them as a single, seamless data source.
An index table is used to organize them, know their location on the file system (or blob storage) and their footprint, along with eventual variables that can be used for quick filtering (e.g., time, collecting organization, and so on).
This can have some advantages compared to the typical database storage:
- Cheaper, when dealing with very large amounts of data in the cloud, as blob storage costs a fraction of an equivalent database.
- Faster for specific use cases, e.g, when extracting a single file and rendering it fully is the typical use case (e.g. tractor tracks in a precision farming application). This happens because the file splitting de-facto imposes and efficient data partitioning, and shapefile access excels at returning the whole set of features (as opposed to a subset).
To support this activity contact Andrea (GeoSolutions).
Improvements and Fixes
New Feature:
-
GEOS-10651 Incorporate Vector Mosaic Datastore
-
GEOS-10629 Features Templating - Allow control over encoding of complex attribute with n cardinality
-
GEOS-10610 Selective cache reset on stores and resources, via REST API
-
GEOS-10587 Allow DataStore to auto disable on connection failure
-
GEOS-10524 promote gs-metadata to extension (GSIP 212))
-
GEOS-4613 Expose more JVM statistics on the web gui
-
GEOS-10472 promote gs-csw-iso to extension (GSIP 211)
Improvement:
-
GEOS-10696 Allow configuration of Output Format types allowed in GetFeature
-
GEOS-10677 Improve cleanup of multi part form upload to the dispatcher
-
GEOS-10676 Support uploading .bmp and .gif images as SLD Package icons through restconfig
-
GEOS-10644 Keycloak - Improvements to Role Service
-
GEOS-10639 Keycloak Filter - Allow to use a button to reach keycloak login page
-
GEOS-10637 Keycloak filter configurability improvements
-
GEOS-10581 Support native GeoTIFF band selection
-
GEOS-10580 Server status page improvements for status, modules and docs
-
GEOS-10514 Better capture catalog configuration issues: layergroup with a misconfigured layer
-
GEOS-10505 Display style format as new column in Styles-list, along with Style Name and Workspace
-
GEOS-10501 GetMap: support auth headers forwarding to remote SLD urls
-
GEOS-10495 Request Logger Memory Buffer Limits
-
GEOS-10464 Improve logging and check for NPEs and other issues in Importer Module
For the complete list see 2.22-RC release notes.
About GeoServer 2.22
Release notes: ( 2.22-RC | 2.22-M0 )
- Metadata extension
- CSW ISO Metadata extension
- State of GeoServer (FOSS4G Presentation)
- GeoServer Beginner Workshop (FOSS4G Workshop)
- Welcome page (User Guide)
GeoServer 2.20.6 Released
We are happy to announce GeoServer 2.20.6 release is available with downloads (bin, war, windows), along with docs and extensions.
This is the last planned maintenance release for the 2.20.x series, please consider upgrading to the 2.21.x series. This release was made in conjunction with GeoTools 26.6 and GeoWebCache 1.20.4.
Improvements and Fixes
- It’s now possible to use the REST API to reset caches for a single store or a single layer.
- GeoFence role filtering was improved.
- OSHI was updated to allow gathering OS statistics on Apple M2 as well.
- Assorted small improvements to the status page.
- An infinite recursion in GWC transparent integration with WMS was spotted and fixed (affected vector tiles and layers with a meta-tiling factor of 1, when the “TILED” parameter was turned off).
- The GWC module was split so that its REST API can be excluded (for completely headless installs).
For the full list of fixes and improvements, see 2.20.6 release notes.
About GeoServer 2.20
Additional information on GeoServer 2.20 series:
- Log4J2 zero day vulnerability assessment
- Internationalization of title and abstract
- State of GeoServer 2.20 edition
- Windows Installer
Release notes: ( 2.20.6 | 2.20.5 | 2.20.4 | 2.20.3 | 2.20.2 | 2.20.1 | 2.20.0 | 2.20-RC )
GeoServer 2.22-M0 Milestone Release
GeoServer 2.22-M0 release is now available with downloads (bin, war, windows), along with docs, extensions, and data directory.
This is a milestone release previewing the GeoServer 2.22.x series for FOSS4G attendees.
Thanks to Jody Garnett and Ian Turton for making this release.
Docker image
This release is also available as an official Docker image:
docker pull docker.osgeo.org/geoserver:2.22-M0
docker run -it -p 80:8080 docker.osgeo.org/geoserver:2.22-M0
Welcome Page Improvements
The welcome page has been improved with the ability to:
- Select workspace to browse workspace web services
- Select layer and layergroup for layer specific web services
GeoPackage Sample data
The sample data directory now includes a small geopackage generated from Natural Earth data.
About GeoServer 2.22
Release notes: ( 2.22-M0 )
GeoServer 2.21.1 Release
GeoServer 2.21.1 release is now available with downloads (bin, war, windows), along with docs and extensions.
This is a stable release of the GeoServer 2.21.x series, made in conjunction with GeoTools 27.1 and GeoWebCache 1.21.1.
Thanks to Jody Garnett (GeoCat) for making this release.
Server Status
The server status page has been cleaned up with a few quality of life improvements:
- Units supplied for numbers, such as “7 threads” or “30,000 ms”
- Number of items held in the resource cache is shown, so there is visual feed back when using Clear button.
- Documentation has been updated to cover all the status field descriptions and document the available actions
For more information see Server Status page.
JVM Console
A new JVM Console tab has been added to the server status page allowing a summary of memory use to be reviewed and downloaded, and a summary of active threads to be reviewed and downloaded.
For more information see JVM Console.
Workspace headers for proxy url
A checkbox Use headers for Proxy URL has been added to the workspace page.
This setting an individual workspace use headers for proxy URL (even when the default in global settings has been disabled).
Improvements and Fixes
Improvement:
GEOS-10580 Server status page improvements for status, modules and docs
GEOS-10521 Allow GetFeatureInfo over raster layers to identify both original raster and transformed vectors
GEOS-10514 Better capture catalog configuration issues: layergroup with a misconfigured layer
GEOS-10501 GetMap: support auth headers forwarding to remote SLD urls
GEOS-10495 Request Logger Memory Buffer Limits
GEOS-10489 Add options to LDAP Role Service to configure prefixes and enforce capitalization
GEOS-10464 Improve logging and check for NPEs and other issues in Importer Module
Bug:
GEOS-10584 Enabling logging of request body results in stream closed errors in tomcat environment
GEOS-10570 Deleting a style in a Hazelcast cluster renames the styles directory
GEOS-10553 Importer replace fails with schema mismatch
GEOS-10548 GeoFence layer group handling is inconsistent
GEOS-10546 Invalid time expressions used in WCS 2.0 subset return a code 200 with generic exception
GEOS-10545 Layer Group cache not initialized
GEOS-10539 DescribeLayer typeName is no longer workspace qualified
GEOS-10535 WFS Update request throw NPE on bad namespace
GEOS-10534 a badly formed delete transaction will get a NPE instead of an informative error message
GEOS-10533 Review startup logging INFO and WARN updates
GEOS-10526 Parallel REST API calls failures
GEOS-10522 REST API Failure in @ExceptionHandler No input String specified
GEOS-10518 Partial RELINQUISH_LOG4J_CONTROL regression with WildFly
GEOS-10516 WMS GetCapabilities dimension representations ignores the end attribute
GEOS-10496 Using the REST API to purge NetCDF granules causes a seemingly infinite loop
GEOS-10487 Custom logging configuration not respecting log location setting
GEOS-10468 (virtually) Impossible to turn off “Enable All Statistics” in > Server status > System Status
Tasks:
GEOS-10588 Build structure gs-sec-oauth2-core is duplicated in the reactor
GEOS-10585 Upgrade to Jetty from 9.4.44 to 9.4.48
GEOS-10579 Bump oshi-core from 6.2.0 to 6.2.1
GEOS-10562 Bump oshi-core from 5.8.6 to 6.2.0
GEOS-10551 Refactor commons-httpclient usage in the WPS module
GEOS-10532 FreemarkerTemplateManager API changes for easier subclassing
GEOS-10529 Use Awaitility to replace waits for condition in tests
GEOS-10525 Centralize and simplify management of common test dependencies
About GeoServer 2.21
Additional information on GeoServer 2.21 series:
Vulnerability
- CVE-2024-36401 Remote Code Execution (RCE) vulnerability in evaluating property name expressions
- GeoServer 2.25.2 Release
- GeoServer 2.24.4 Release
- GeoServer 2.23.6 Release
- GeoServer 2.25.1 Release
- GeoServer 2.25.0 Release
- GeoServer 2.23.5 Release
- GeoServer 2.24.2 Release
- GeoServer 2.23.4 Release
- GeoServer 2.24.1 Release