GeoServer Blog
GeoServer 2.18.2 Released
We are pleased to announce the release of GeoServer 2.18.2 with downloads ( war | bin ), documentation and extensions.
This release is made in conjunction with GeoTools 24.2 and GeoWebCache 1.18.2. This is a stable release recommended for production systems.
Thanks to everyone who contributed, and Alessandro Parma, Andrea Aime (GeoSolutions) for making this release.
Improvements and Fixes
This release includes a number of fixes in core and extensions:
- Improved GWC seeding scalability (also check GWC 1.18.2 release notes).
- Fixed back-links generation during WPS asynchronous requests, when a proxy base URL is used.
- Fixed a GeoFence server packaging issue.
- A number of dependent libraries have been upgraded, including the PostgreSQL and MySQL JDBC drivers, HTTP components, Guava.
Community Updates
Things get really interesting when looking at functionality provided by community modules:
- The new support for COGs based on ImageIO Ext landed in a community module, adding it adds support for COG in both the GeoTIFF reader and image mosaic. Support for harvesting COG granules is also added in the REST API.
- A deadlock in JDBCConfig has been resolved, along with issues related to high load when GeoServer has just started up.
- The WPS download “map” and “animation” processes sport improved legend support.
For more information check the 2.18.2 release notes.
About GeoServer 2.18
Additional information on GeoServer 2.18 series:
GeoServer 2.17.4 Released
We are pleased to announce the release of GeoServer 2.17.4 with downloads ( war | bin ), documentation and extensions.
This release is made in conjunction with GeoTools 23.4 and GeoWebCache 1.17.4. This is a maintenance release recommended for production systems. You are reminded that this is most likely to be the last release made on the 2.17 branch and you should consider moving to the stable 2.18 branch as soon as possible.
Thanks to everyone who contributed, and Ian Turton (Astun Technology) & Jody Garnett (GeoCat) for making this release.
Improvements and Fixes
This release includes a number of improvements. Notable improvements:
- [GEOS-9753] - Features-templating plug-in allows
env
parametrization onvendorOptions
- [GEOS-9765] - Add IP Address range to GeoFence UI
- [GEOS-9780] - status page shows (read-only) loopback partitions
Fixes included in this release:
- [GEOS-9689] - WFS-NG Other SRS in URN OGC format are not matched by WMS Request SRS
- [GEOS-9750] - WPS processes fail with missing CSV dependencies
- [GEOS-9754] - Not consistent array element enumeration in flat GeoJson output format
- [GEOS-9758] - CRS Panel overrides URN SRS format with EPSG:XXXX format
- [GEOS-9791] - GeoJSON bounding box axis order wrongly encoded when CRS axis order is NORTH-EAST
- [GEOS-9816] - Download links from the result of an asynchronous process will not honor the proxy base URL, if it uses HTTP header variables
For more information check the 2.17.4 release notes.
About GeoServer 2.17
Features, presentations and reference material on the 2.17 series:
- New security tab on each layer, layer group and workspace page
- Option to use date created and date modified to sort UI lists
- New resource browser extension
- New Mapbox style extension
-
FOSDEM GeoServer Orientation presentation (slides video) - Full OSM data directory for GeoServer available on GitHub
- Code of Conduct
- Release Notes (2.17.4| 2.17.3| 2.17.1| 2.17.0| 2.17-RC)
GeoServer 2.18.1 Released
We are pleased to announce the release of GeoServer 2.18.1 with downloads ( war | bin ), documentation and extensions.
This release is made in conjunction with GeoTools 24.1 and GeoWebCache 1.18.1. This is a stable release recommended for production systems.
Thanks to everyone who contributed, and Alessandro Parma, Andrea Aime (GeoSolutions) for making this release.
Improvements and Fixes
This release includes a number of improvements. Notable improvements:
- New option allow to tile cache WMS requests that align to gridsets, even if
tiled=true
is not present. - New process grouping features by attribute, and then selecting a single one out of the group, in particular, the feature with the min or max value of a given attribute. Can be used either as a rendering transformation or a stand-alone WPS process.
- GeoFence integrated UI allows to configure security rules by IP address ranges.
Fixes included in this release:
- Better WPS packaging, including the required CSV libraries.
- Better support for WMS XML post requests in workspace local services.
- Addressed incompatibility with macOS 11 preventing startup
For more information check the 2.18.1 release notes.
Community Updates
For developers building from source, our community modules are a great place to collaborate on functionality and improvements.
- The “feature template” module has received assorted improvements
About GeoServer 2.17
Additional information on GeoServer 2.18 series:
GeoServer 2.17.3 Released
We are pleased to announce the release of GeoServer 2.17.3 with downloads ( war | bin ), documentation and extensions.
This release is made in conjunction with GeoTools 23.3 and GeoWebCache 1.17.3. This is a maintenance release recommended for production systems.
Thanks to everyone who contributed, and Alessandro Parma, Andrea Aime (GeoSolutions) for making this release.
Improvements and Fixes
This release includes a number of improvements. Notable improvements:
- SLDService can now advertise supported classification methods (for future proofing clients, in case new methods are added later down the road). A new standard deviation based classification method has been added.
- App-schema generating simple feature outputs (pure mapping) can now be used with all the common simple feature formats too, like shapefile, CSV, KML and so on.
- It’s possible to disable auto-complete of the UI login
- Importer has been optimized to avoid full directory scans while importing single files. This coupled with similar optimizations in image mosaic harvesting, speeds up significantly harvesting new files via importer, when contained in directories having many files.
- The vector tiles output can now get full benefit from a pre-generalized data source, reading the features at the resolution required to generate the vector tiles (was previously using the highest resolution available).
- The Jiffle process/rendering transformation can now generate multi-band outputs, and its performance received a few improvements.
Fixes included in this release:
- Memory management of raster GDAL sources has been improved.
- Layer preview with strict WMS compliance was not working any longer, this has been fixed.
For more information check the 2.17.3 release notes.
Community Updates
For developers building from source, our community modules are a great place to collaborate on functionality and improvements.
- The wfs-templating module has received a few improvements, and has been renamed to features-templating, to clarify it can be used with OGC API - Feautures, as well as WFS.
About GeoServer 2.17
Features, presentations and reference material on the 2.17 series:
- New security tab on each layer, layer group and workspace page
- Option to use date created and date modified to sort UI lists
- New resource browser extension
- New Mapbox style extension
-
FOSDEM GeoServer Orientation presentation (slides video) - Full OSM data directory for GeoServer available on GitHub
- Code of Conduct
-
Release Notes (2.17.3 2.17.1 2.17.0 2.17-RC)
GeoServer 2.18.0 Released
The GeoServer community is pleased to share the availability of GeoServer 2.18.0 Release. Downloads are available (zip and war) along with documentation and more than 40 extensions.
This GeoServer release is made in conjunction with GeoTools 24.0 and GeoWebCache 1.18.0.
We would like to thank everyone who contributed to this release, and helped with testing it.
Thanks to Jukka Rahkonen, Jody Garnett and Brad Hards for initial testing of this release. This release was carried out by Ian Turton of Astun Technology and the support of the UK Hydrographic Office.
Security Considerations
2024-06-30 Update: The following mitigation has been provided:
-
CVE-2024-36401 Remote Code Execution (RCE) vulnerability in evaluating property name expressions (Critical)
geoserver-2.18.0-patches.zip (replacing
gt-app-schema
,gt-complex
andgt-xsd-core
jars) has been provided by Andrea (GeoSolutions)
See project security policy for more information on how security vulnerabilities are managed.
Black Lives Matter
The casual use of the word “slave” in computer software is an unnecessary reference to a painful human experience that continue to impact society.
- Change to the use of primary / replica in description of GeoServer jms-clustering
- Change to use of allow-list / deny-list
- Changed to use of key store password
- Changing our repository to a “main” branch will be scheduled when both the git command line tool and GitHub repository infrastructure roll out planned improvements for a seamless transition.
David Blasby (GeoCat) worked on this issue as part of the OSGeo Bolsena 2020 Work-from-home code-sprint.
User interface creature comforts
A couple small but important changes to the GeoServer user interface make a significant difference to how you interact with the application and how easy it is to publish your data.
Andrea Aime (GeoSolutions) has taken the time to add an “Apply” functionality to most page, and ensure each screen has consistent buttons:
- Apply (new): used to apply your setting change the running application so you can try them out, leaving the page open so you can experiment with applying different settings to see the effect.
- Save: saves your setting change, returning to the initial welcome page.
- Cancel: returns to the welcome page, abandoning and setting changes made.
Consistent Save, Apply, Cancel buttons for pages
Some configuration activities, such as WPS security, use nested pages to edit detailed settings. These pages now consistently use:
- OK: modify settings, returning to page being edited so they can be saved.
- Cancel: abandon any changes and return to the page being edited.
Consistent OK, Cancel buttons for nested pages
Finally Michel Gabriël (GeoCat) arranged for these buttons to float to remain visible when scrolling through long pages.
The combination of consistent button names, in a consistent location, with an Apply button provide an improved experience when configuring GeoServer.
Jiffle scripts now supporting multi-band outputs
The Jiffle scripting language is used to run raster algebra against one or more input raster layers. In this release we added the ability to generate multi-band outputs, whilst previous versions of Jiffle could generate only single-banded outputs.
Here is an interesting example of how this can be useful. Let’s take an image mosaic with time dimension, and configure its generation mode to “stack”. This will make the mosaic use each image matching the request as an output band. Then, let’s make a WMS request with two times, thus, generating an image with two bands, allowing for a before/after comparison, and use the following style, reporting in output the before, the after, and the difference, using Jiffle as a rendering transformation:
<?xml version="1.0"?>
<StyledLayerDescriptor xmlns="http://www.opengis.net/sld" xmlns:ogc="http://www.opengis.net/ogc" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/sld http://schemas.opengis.net/sld/1.0.0/StyledLayerDescriptor.xsd" version="1.0.0">
<NamedLayer>
<Name>InputLayer</Name>
<UserStyle>
<Title>Time comparison</Title>
<FeatureTypeStyle>
<Transformation>
<ogc:Function name="ras:Jiffle">
<ogc:Function name="parameter">
<ogc:Literal>coverage</ogc:Literal>
</ogc:Function>
<ogc:Function name="parameter">
<ogc:Literal>script</ogc:Literal>
<ogc:Literal>
before = src[0];
after = src[1];
dest[0] = before;
dest[1] = after;
dest[2] = after - before;
</ogc:Literal>
</ogc:Function>
<ogc:Function name="parameter">
<ogc:Literal>bandNames</ogc:Literal>
<ogc:Literal>before,after,difference</ogc:Literal>
</ogc:Function>
</ogc:Function>
</Transformation>
<Rule>
<RasterSymbolizer>
<Opacity>1.0</Opacity>
<ChannelSelection>
<GrayChannel>
<SourceChannelName>3</SourceChannelName>
</GrayChannel>
</ChannelSelection>
<ColorMap>
<ColorMapEntry color="#800000" quantity="-1"/>
<ColorMapEntry color="#008000" quantity="1"/>
</ColorMap>
</RasterSymbolizer>
</Rule>
</FeatureTypeStyle>
</UserStyle>
</NamedLayer>
</StyledLayerDescriptor>
The result is a color code map showing red when the change is negative,
green where it’s positive. As a bonus, running a GetFeatureInfo
request
on the map would return all 3 values, before, after, and difference.
Source maps are also available for reference:
Map projections news
This release comes with support for Goode’s interrupted Homolosine, including both the projection itself, and the advanced projection handling machinery to handle on the fly source data slicing.
This means one can use a common map data, like Natural Earth or OSM land masses and seas, and use it without any preparation, obtaining the following:
Still in the projections support department, we can report:
- Support for the Polyconic spherical case
- Improvements in the Azimuthal Equidistant support, with better handling of source slicing when the CRS has false origins.
The following map is a polar Azimuthal Equidistant, with false origins, generated from data originally in web mercator (hence the hole in Antarctica):
Vector tiles improvements
The vector tiles extension can now work
hand-in-hand with the pre-generalized data
store,
significantly speeding up the generation of MVTs out of a large
dataset. A typical example of this case is generating vector tiles out
of a OpenStreetMap import performed via imposm3
, along with generalized
tables.
Map-box GL styles language support improved
MBStyle support continues to improve with support for the dynamic expressions allowing a both feature attributes and “camera” information such as zoom level to be included.
{ "version": 8,
"name": "landmarks", "layers": [
{ "id": "Expression example",
"type": "circle", "paint": {
"circle-color": "#dd9933", "circle-radius":
["/",["get","LAND"],15],
}
}
]
}
Mapbox Style Expression example
GeoServer continues to support the earlier “function stop” approach for compatibility with the vast majority of examples online.
Community Modules
The GeoServer project devotes space to community research and development activities.
- The GeoPackage community module is having a breakout of creativity
with a host of fascinating functionality being added by Andrea Aime
(GeoSolutions).
- Dumping a GeoPackage with WPS or WFS output formats is now significantly faster, thanks to insert batching and improved selection of settings/pragma while creating the SQLite database.
- GeoPackage WPS output can now in-line linked metadata and add OWS Contexts for request and data, providing full provenance information.
- GeoPackage WPS output can now include styles, based on an experimental style extension along with semantic annotations linking styles to data.
- Activity is ongoing to add a generalized tables extension, similar to the pre-generalized store, but built into the GeoPackage itself.
- A new module looking at attribute labeling has been started by Fernando Miño.
- Fixed an issue with JMS plugin replicating SLD styles
JDBCStore
speed improvement with automatic caching of select directories- The WPS download module can now preserve the original resolutions when working against heterogeneous CRS mosaic, for the granules that are matching the requested output CRS.
- The GRS module has been made available, adding ArcGIS REST compatibility API.
- The JSON-LD community module has been extended to support custom JSON output too, and renamed to wfs-template.
If you are interested in seeing any of this work included on the GeoServer road map contact the developer to learn how to participate or fund the activity.
And more
Other fixes and improvements include:
LayerGroups
now list a default style in the capabilities document for greater client compatibility- CSW module performance fix when paging output
- Josh Fix introduced a proposal
to help determine
GridCoverageReader
object types to help work with Cloud Optimized GeoTIFF images. - Importer has been improved with better logging and error messages
- REST API allows changing name and workspace of a data store
- The latest JTS 1.17.1 release
MetadataLinkInfo
allows more metadata types to be edited, including optional about fieldGetFeatureInfo
templates can now call static methods, such as Maths functions, providing additional control.- Styled editor now provides a choose image dialog for setting legend image
- PDF output can now include WMS decorations
Find out more in the release notes.
About the GeoServer 2.18 Series
Additional information on GeoServer 2.18 series:
Tutorials
- Powerful SLD Styles & Filters in GeoServer
- Using Logical Operators in GeoServer Filters
- Exploring CQL/ECQL Filtering in GeoServer
- Using Spatial Operators in GeoServer Filters
- Using Value Comparison Operators in GeoServer Filters
- Using Binary Comparison Operators in GeoServer Filters
- Utilizing the Demo Section in Geoserver
- How to Implement Basic Security in Geoserver
- How to create Tile Layers with GeoServer
- How to style layers using GeoServer and QGIS