GeoServer Blog

GeoServer 2.12-RC1 Released

We are happy to announce the release of GeoServer 2.12-RC1. Downloads are available (zipwardmg and exe) along with docs and extensions.

This is a release candidate release of GeoServer made in conjunction with GeoTools 18-RC1.

We want to encourage people to test the release thoroughly and report back any issue found. With no further delay, let’s see what’s new, that is, what is there to test!

Rest API now using Spring MVC

In March, we upgraded the framework used by the GeoServer REST API from Restlet to Spring MVC. All the endpoints should remain unchanged, but they do need testing to ensure there weren’t any unintended side effects.

As part of this upgrade, we also have new REST documentation, providing detailed information about each endpoint.

Thanks again to the code sprint sponsors:

  • Boundless

  • GeoSolutions

  • Astun Technology

  • Gaia3D

  • Insurance Australia Group (IAG)

  • How 2 Map

  • FOSSGIS

  • Atol Conseils et Développements

  • Geodan

WMTS Cascading

Adds the ability to create WMS layers backed by remote WMTS layers, similar to the pre-existing WMS cascading functionality.

See GSIP-162 for more details.

Style Based Layer Groups

Adds the ability to define a listing of layers and styles using a single SLD file, in accordance with the original vision of the SLD specification. This includes a new entry type in the Layer Group layers list, and a new preview mode for the style editor.

See GSIP-161 for more details.

Options for KML Placemark placement

New options for KML encoding have been added, to control the placement of placemark icons, mostly for polygons. The syntax of the new options introduces three new top level format options keys:

&format_options=kmcentroid_contain:true;kmcentroid_samples:10;kmcentroid_clip:true

See GSIP-160 for more details.

GeoWebCache data security API

Add an extension point to GeoWebCache allowing for a security check based on the layer and extent of the tile. Adds an implementation of this extension point to GeoServer’s GWC integration.

This change mostly only affects developers, but will lead to improved security for users in the future.

See GSIP 159 for more details.

NetCDF output support for variable attributes and extra variables

Adds the following to the NetCDF output extension:

  1. An option to allow all attributes to be copied from the source NetCDF/GRIB variable to the target variable.

  2. Support for manual configuration of variable attributes, much like the current support for setting global attributes.

  3. Support for configuration of extra variables which are copied from the NetCDF/GRIB source to the output; initially only scalar variables will be supported. Extra variables can be expanded over “higher” dimensions, that is, values copied from one scalar per ImageMosaic granule are assembled into a multidimensional variable over, for example, time and elevation.

See GSIP 158 for more details.

New labeling features and QGIS compatibility

A number of small new features have been added to labeling to match some of QGIS features, in particular:

  • Kerning is on by default

  • New vendor option to strikethrough text

  • New vendor options to control char and word spacing

../../../_images/charSpacing.png

  • Perpendicular offset now works also for curved labels (previously only supported for straight labels):

  • Labeling the border of polygons as opposed to their centroid when using a LinePlacement (here with repetition and offset):

Along with this work some SLD 1.1 text symbolizer fixes were added in order to better support the new QGIS 3.0 label export, here is an example of a map labeling with background image, as shown in QGIS, and then again in GeoServer using the same data and the exported SLD 1.1 style (click to enlarge):

   

CSS improvements

The CSS styling language and editing UI have seen various improvements. The editor now supports some primitive code completion:

At the language level:

  • Scale dependencies can now also be expressed using the “@sd” variable (scale denominator) and the values can use common suffixes such as k and M to get more readable values, compare for example “[@scale < 1000000]” with “[@sd < 1M]”

  • Color functions have been introduced to match LessCSS functionality, like “Darken”, “Lighten, “Saturate” and so on. The same functions have been made available in all other styling languages.

  • Calling a “env” variable has been made easier, from “env(‘varName’)” to “@varName” (or “@varName(defaultValue)” if you want to provide a default value).

As you probably already know, internally CSS is translated to an equivalent SLD for map rendering purposes. This translation process became 50 times faster over large stylesheets (such as OSM roads, a particularly long and complicated style).

Image mosaic improvements and protocol control

Image mosaic saw several improvements in 2.12.

First, the support for mosaicking images in different coordinate reference systems improved greatly, with several tweaks and correctness fixes. As a noteworthy change, the code can now handle source data crossing the dateline. The following images show the footprints of images before and after the dateline (expressed in two different UTM zones, 60 and 1 respectively) and the result of mosaicking them as rasters (click to get a larger picture of each):

There are more good news for those that handle mosaicks with a lot of super-imposing images taken at different times. If you added interesting information into the mosaic index, such as cloud cover, off-nadir, snow cover and the like, you can now filter and sort over them, in both WMS (viewing) and WCS (downloading) by adding the cql_filter and sortBy KVP parameters.

Here is an example of the same mosaic, the first composite favoring smallest cloud cover, the second one favoring recency instead (click to enlarge):

    

GeoPackage graduation

The GeoPackage store jumped straight from community to core package, in light of its increasing importance.

The WMS/WFS/WPS output formats are still part of community. Currently GeoPackage vector does not support spatial indexes, but stay tuned, it’s cooking!

New community modules

The 2.12 series comes with a few new community modules, in particular:

  • Looking into styling vector tiles and server side using a single language? Look no further than the MBStyle module

  • For those into Earth Observation, there is a new OpenSearch for EO module in the community section

  • Need to store full GeoTiff in Amazon S3? The “S3 support for GeoTiff” module might just be what you’re looking for

  • A new “status-monitoring” community module has been added, providing basic statistics system resource usage. Check out this pull request to follow its progress and merge.

Mind, community modules are not part of the release, but you can find them in the nightly builds instead.

Other assorted improvements

Highlights of this release featured below, for more information please see the release notes (2.12-RC1  2.12-beta):
  • Users REST uses default role service name as a user/group service name

  • imageio-ext-gdal-bindings-xxx.jar not available in geoserver-2.x.x-gdal-plugin.zip anymore since 2.10

  • REST GET resource metadata - file extension can override format parameter

  • GeoServer macOS picks up system extensions

  • SLD files not deleted when SLD is deleted in web admin

  • Reproject geometries in WMS GetFeatureInfo responses when info_format is GML

  • Include Marlin by default in bin/win/osx downloads, add to war instructions

  • Handle placemark placement when centroid of geometry not contained within

  • Enable usage of viewParams in WPS embedded WFS requests

  • Add GeoJson encoder for complex features

  • Allow image mosaic to refer a GeoServer configured store

  • Duplicate GeoPackage formats in layer preview page

  • ExternalGraphicFactory does not have a general way to reset caches

  • Generating a raster SLD style from template produced a functionally invalid style, now fixed

  • Style Editor Can Create Incorrect External Legend URLs

  • Namespace filtering on capabilities returns all layer groups (including the ones in other workspaces)

Test, test, test!

Now that you know about all the goodies, please go, download and test your favourite ones. Let us know how it went!

About GeoServer 2.12

GeoServer 2.12 is scheduled for October 2017 release.

Read More

GeoServer 2.12-beta Released

We are happy to announce the release of GeoServer 2.12-beta. Downloads are available (zipwardmg and exe) along with docs and extensions.

This is a beta release of GeoServer made in conjunction with GeoTools 18-beta.

We want to encourage people to test the release thoroughly and report back any issue found. With no further delay, let’s see what’s new, that is, what is there to test!

Rest API now using Spring MVC

In March, we upgraded the framework used by the GeoServer REST API from Restlet to Spring MVC. All the endpoints should remain unchanged, but they do need testing to ensure there weren’t any unintended side effects.

As part of this upgrade, we also have new REST documentation, providing detailed information about each endpoint.

Thanks again to the code sprint sponsors:

  • Boundless

  • GeoSolutions

  • Astun Technology

  • Gaia3D

  • Insurance Australia Group (IAG)

  • How 2 Map

  • FOSSGIS

  • Atol Conseils et Développements

  • Geodan

WMTS Cascading

Adds the ability to create WMS layers backed by remote WMTS layers, similar to the pre-existing WMS cascading functionality.

See GSIP-162 for more details.

Style Based Layer Groups

Adds the ability to define a listing of layers and styles using a single SLD file, in accordance with the original vision of the SLD specification. This includes a new entry type in the Layer Group layers list, and a new preview mode for the style editor.

See GSIP-161 for more details.

Options for KML Placemark placement

New options for KML encoding have been added, to control the placement of placemark icons, mostly for polygons. The syntax of the new options introduces three new top level format options keys:

&format_options=kmcentroid_contain:true;kmcentroid_samples:10;kmcentroid_clip:true

See GSIP-160 for more details.

GeoWebCache data security API

Add an extension point to GeoWebCache allowing for a security check based on the layer and extent of the tile. Adds an implementation of this extension point to GeoServer’s GWC integration.

This change mostly only affects developers, but will lead to improved security for users in the future.

See GSIP 159 for more details.

NetCDF output support for variable attributes and extra variables

Adds the following to the NetCDF output extension:

  1. An option to allow all attributes to be copied from the source NetCDF/GRIB variable to the target variable.

  2. Support for manual configuration of variable attributes, much like the current support for setting global attributes.

  3. Support for configuration of extra variables which are copied from the NetCDF/GRIB source to the output; initially only scalar variables will be supported. Extra variables can be expanded over “higher” dimensions, that is, values copied from one scalar per ImageMosaic granule are assembled into a multidimensional variable over, for example, time and elevation.

See GSIP 158 for more details.

New labeling features and QGIS compatibility

A number of small new features have been added to labeling to match some of QGIS features, in particular:

  • Kerning is on by default

  • New vendor option to strikethrough text

  • New vendor options to control char and word spacing

../../../_images/charSpacing.png

  • Perpendicular offset now works also for curved labels (previously only supported for straight labels):

  • Labeling the border of polygons as opposed to their centroid when using a LinePlacement (here with repetition and offset):

Along with this work some SLD 1.1 text symbolizer fixes were added in order to better support the new QGIS 3.0 label export, here is an example of a map labeling with background image, as shown in QGIS, and then again in GeoServer using the same data and the exported SLD 1.1 style (click to enlarge):

   

CSS improvements

The CSS styling language and editing UI have seen various improvements. The editor now supports some primitive code completion:

At the language level:

  • Scale dependencies can now also be expressed using the “@sd” variable (scale denominator) and the values can use common suffixes such as k and M to get more readable values, compare for example “[@scale < 1000000]” with “[@sd < 1M]”

  • Color functions have been introduced to match LessCSS functionality, like “Darken”, “Lighten, “Saturate” and so on. The same functions have been made available in all other styling languages.

  • Calling a “env” variable has been made easier, from “env(‘varName’)” to “@varName” (or “@varName(defaultValue)” if you want to provide a default value).

As you probably already know, internally CSS is translated to an equivalent SLD for map rendering purposes. This translation process became 50 times faster over large stylesheets (such as OSM roads, a particularly long and complicated style).

Image mosaic improvements and protocol control

Image mosaic saw several improvements in 2.12.

First, the support for mosaicking images in different coordinate reference systems improved greatly, with several tweaks and correctness fixes. As a noteworthy change, the code can now handle source data crossing the dateline. The following images show the footprints of images before and after the dateline (expressed in two different UTM zones, 60 and 1 respectively) and the result of mosaicking them as rasters (click to get a larger picture of each):

There are more good news for those that handle mosaicks with a lot of super-imposing images taken at different times. If you added interesting information into the mosaic index, such as cloud cover, off-nadir, snow cover and the like, you can now filter and sort over them, in both WMS (viewing) and WCS (downloading) by adding the cql_filter and sortBy KVP parameters.

Here is an example of the same mosaic, the first composite favoring smallest cloud cover, the second one favoring recency instead (click to enlarge):

     

GeoPackage graduation

The GeoPackage store jumped straight from community to core package, in light of its increasing importance.

The WMS/WFS/WPS output formats are still part of community. Currently GeoPackage vector does not support spatial indexes, but stay tuned, it’s cooking!

New community modules

The 2.12 series comes with a few new community modules, in particular:

  • Looking into styling vector tiles and server side using a single language? Look no further than the MBStyle module

  • For those into Earth Observation, there is a new OpenSearch for EO module in the community section

  • Need to store full GeoTiff in Amazon S3? The “S3 support for GeoTiff” module might just be what you’re looking for

  • A new “status-monitoring” community module is about to be merged, providing basic statistics system resource usage. Check out this pull request to follow its progress and merge.

Mind, community modules are not part of the release, but you can find them in the nightly builds instead.

Other assorted improvements

There are many improvements to look at in the release notes, cherry picking a few here:

  • SLD files not deleted when SLD is deleted in web admin

  • Reproject geometries in WMS GetFeatureInfo responses when info_format is GML

  • Include Marlin by default in bin/win/osx downloads, add to war instructions

  • Handle placemark placement when centroid of geometry not contained within

  • Enable usage of viewParams in WPS embedded WFS requests

  • Add GeoJson encoder for complex features

  • Allow image mosaic to refer a GeoServer configured store

  • Duplicate GeoPackage formats in layer preview page

  • ExternalGraphicFactory does not have a general way to reset caches

  • Generating a raster SLD style from template produced a functionally invalid style, now fixed

  • Style Editor Can Create Incorrect External Legend URLs

  • Namespace filtering on capabilities returns all layer groups (including the ones in other workspaces)

Test, test, test!

Now that you know about all the goodies, please go, download and test your favourite ones. Let us know how it went!

About GeoServer 2.12

GeoServer 2.12 is scheduled for September 2017 release.

Read More

GeoServer 2.10.5 Released

We are pleased to announce the release of GeoServer 2.10.5. Downloads are available (zipwardmg and exe) along with documentation and extensions.

This release is made by Ian Turton and is the final maintenance release of the 2.10 series, you are encouraged to upgrade at this time.

About GeoServer 2.10

Articles, docs, blog posts and presentations:

Community modules

  • A new community module to backup/restore and restore GeoServer configuration

  • A resource browser is available allowing remote management of styles, icons and fonts (needs building from sources).

  • A new WMTS multidimensional domain discovery community module for discovering patches of data in scattered data sets

Read More

GeoServer 2.11.2 released

We are happy to announce the release of GeoServer 2.11.2. Downloads are available (zipwardmg and exe) along with documentation and extensions.

GeoServer 2.11.1 is the latest stable release of GeoSever recommended for production system. This release is made in conjunction with GeoTools 17.1.

Highlights of this release are featured below, for more information please see the release notes (2.11.2  2.11.1  2.11.0   2.11-RC1   2.11-beta ).

New Features and Improvements

  • There is a new GetLegendGraphic option that will return feature counts in the legend label, counting them in the current bounding box

  • Geometries in GetFeatureInfo GML output are now reprojected following the base GetMap output projection

  • The LayerGroup edit page allows configuring keywords and identifiers (as already available for normal layers)

Bug Fixes

  • Various raster improvements, including better handling of heterogeneous CRS mosaics, lower pixelation at high latitudes in EPSG:3857,

  • GetLegendGraphic against multiple layers did not work if any layer was out of scale range, fixed

  • GetFeatureInfo now works against a mix of queriable and non queriable layers

  • Cascading WMS now supports very long credentials

  • Several fixes and tweaks in the configuration UI for an improved experience

  • And several more, check the release notes for full details

About GeoServer 2.11

Articles, docs, blog posts and presentations:

  • OAuth2 for GeoServer (GeoSolutions)

  • YSLD has graduated and is now available for download as a supported extension

  • Vector tiles has graduate and is now available for download as an extension

  • The rendering engine continues to improve with underlying labels now available as a vendor option

  • A new “opaque container” layer group mode can be used to publish a basemap while completely restricting access to the individual layers.

  • Layer group security restrictions are now available

  • Latest in performance optimizations in GeoServer (GeoSolutions)

  • Improved lookup of EPSG codes allows GeoServer to automatically match EPSG codes making shapefiles easier to import into a database (or publish individually).

Read More

GeoServer 2.10.4 Released

We are pleased to announce the release of GeoServer 2.10.4. Downloads are available (zipwardmg and exe) along with documentation and extensions.

This is a maintenance release of GeoServer suitable for production systems. Maintenance releases are focused on bug fixes and stability, rather than new features. This release is made in conjunction with GeoTools 16.4 and GeoWebCache 1.10.3.

This release is made by Torben Barsballe and Kevin Smith from the Boundless team. Special thanks to Nick Stires from Boundless and the Frank Warmerdam from OSGeo for their help setting up the new build.geoserver.org server used for this release. We would like to thank these volunteers and everyone who contributed features, fixes and time during the release process.

Security Considerations

The 2.10.3 release addressed three security vulnerabilities. Details of these vulnerabilities were not included in the 2.10.3 blog post to provide time for the fixes to be included in 2.11.1, and have been replicated here:

  • Added a configurable delay during login, to mitigate a brute force attack.

  • Added a configurable parameter to control clickjacking attacks against the GeoServer UI.

  • Added an additional parameter for locking down password autocomplete in the GeoServer UI

Thanks to Andrea Aime and Devon Tucker for providing fixes to these issues.

If you wish to report a security vulnerability, please visit our website for instructions on responsible reporting.

New Features and Improvements

  • Add rest endpoint for geofence admin rules

  • Add REST endpoint for a user to change their password

  • Allow disabling usage of SLD and SLD_BODY in WMS requests (also for virtual services)

Bug Fixes

  • Native JAI installation instructions report incorrect information about the installers

  • Downloading zip file using /rest/workspaces//datastores//file.shp doesn't work after GeoServer reload

  • Virtual services do not play nice with GML 3 encoding

  • Namespace filtering on capabilties returns all layer groups (including the ones in other workspaces)

  • Cascaded WMS does not encrypt configuration password

  • Reloading GeoServer re-enables all disabled WMTS services

  • Slow WFS GetFeature when using a 3D bbox POST request

  • WMS cascading fails with NPE when advanced projection handling gets disabled

  • Style Editor Preview Legend Fails on non-SLD Styles

  • Exception when saving a layer group in GeoServer UI

  • JMS fails to handle styles workspaces changes

  • WFS-T Insert FeatureIds being returned in incorrect order

  • CSW get capabilities ingore virtual services settings and always use the global service ones

  • Integrated GWC does not work with layer and layer group specific services

And more! For more information on this release check the release notes ( 2.10.4   2.10.3   2.10.2  2.10.1  2.10.0   2.10-RC1 2.10-beta 2.10-M0 )

About GeoServer 2.10

Articles, docs, blog posts and presentations:

Community modules

  • A new community module to backup/restore and restore GeoServer configuration

  • A resource browser is available allowing remote management of styles, icons and fonts (needs building from sources).

  • A new WMTS multidimensional domain discovery community module for discovering patches of data in scattered data sets

Read More