GeoServer Blog
Extended Release Schedule
The GeoServer release schedule been extended with a six month maintenance phase. This change will result in less frequent releases of GeoServer, for a longer period of time.
The updated schedule for the GeoServer is 2.4 series is:
-
GeoServer 2.4.5 March 2014 (Stable)
-
GeoServer 2.4.6 April 2014 (Maintenance)
-
GeoServer 2.4.7 June 2014
-
GeoServer 2.4.8 August 2014
For more information please see the change proposal GSIP 107 - Extended Release Schedule.
GeoServer 2.5-RC1 Released
The GeoServer team is happy to announce the release of GeoServer 2.5-RC1. Download bundles are provided (zip, war, dmg and exe) along with documentation and extensions.
GeoServer 2.5 is shaping up to be a great milestone and we would like to thank all those who have downloaded 2.5-beta and submitted feedback and pull requests.
-
A couple map rendering issues have been fixed with better white space handling for CSS labels and crisp SVG symbols rendering.
-
Konstantin Surzhin has provided many small user interface fixes
-
Mauro Bartolomeoli has been untangling a conflict between the css extension and the printing modules.
-
Thanks to Andrea for his hard work, and constant review of pull requests.
-
Thanks to Jody Garnett and Boundless facilitating this weeks release.
-
Check the release notes for more details
-
This release is made in conjunction with GeoTools 11-RC1.
With all this help GeoServer 2.5 is on track for release in March. We would like to encourage you to download the release candidate and test with your data. This will both help you avoid any surprises, and assist the team in bringing you the best possible GeoServer.
About GeoServer 2.5
Articles and resources for GeoServer 2.5 series:
-
GeoServer 2.5-beta announcement reviews key features of this release:
-
WCS 2.0 and WCS 2.0 Earth Observation have been added (thanks to DLR and Eumesat for funding this)
-
The addition of a batch importer to making setting up GeoServer easier (thanks to MapStory).
-
High performance PNG encoder based on PNGJ library (Andrea Aime). Improved JPEG performance using libjpegturbo available as an optional extension (Simone Giannecchini and Daniele Romagnoli)
-
Use of ST_Simplify to improve PostGIS rendering performance (a collaboration with Andrea and Jonathan Moules).
-
New implementation of GetFeatureInfo that takes into account symbol shapes, offsets, and dynamic line widths into account (thanks to Eskilstuna municipality for funding this).
-
-
Using GeoServer at IGN to create new digital maps is an impressive look at advanced styling deployed by the french mapping agency
-
Labelling a MultiPoint geometry with WPS (Boundless) is a good example of integrating WPS and Styling
-
Achieving extreme GeoServer Scalability with new Marlin vector rasterizer (GeoSolutions) shows an exciting JRE extension that can be used for improved performance. If you are using GeoServer with a large number of CPU cores you owe yourself an hour to try this out.
-
DXF output format promoted to official extension for GeoServer (GeoSolutions)
-
Active Directory based security in GeoServer through LDAP (GeoSolutions)
GeoServer 2.5-beta released
GeoServer team is pleased to announce the release of GeoServer 2.5-beta.
This release is packed with new features and interesting new extensions. Here is some reason why you should try 2.5.-beta.
WCS 2.0 and WCS 2.0 EO
GeoServer 2.5 is now shipping with WCS 2.0 as a core module, a major improvement in terms of usability compared to both WCS 1.0 and WCS 1.1. For example, getting back the full raster is now as easy as:
http://localhost:8080/geoserver/wcs?request=GetCoverage&service=WCS&version=2.0.1&coverageId=nurc__Img_Sample
while getting the same, but with half the size, can be achieved using:
http://localhost:8080/geoserver/wcs?request=GetCoverage&service=WCS&version=2.0.1&coverageId=nurc__Img_Sample&scaleFactor=0.5
Paired with the WCS 2.0 module we have the WCS 2.0 Earth Observation (EO) extension, which adds the ability to expose the time dimension using standard extensions to the base WCS 2.0 protocol. We’d like to thank DLR and EUMESAT for sponsoring this work, and GeoSolutions for carrying it out on their behalf.
Batch layer importer extension
A new extension that allows for batch import of data, dubbed “the importer”, is now also available. It supplements the existing GeoServer ui by adding a much more convenient workflow for layer configuration. For example previously configuring multiple Shapefiles (or multiple PostGIS tables) required users to tediously configure one by one. With the importer it can achieved with a few easy to follow steps. The importer is accessible from both the web ui and a REST api, making it easy to use in a variety of environments.
The importer also allows for consumption of formats that GeoServer does not support natively. Formats such as KML and CSV can be conveniently ingested into an existing data formats such as PostGIS and be efficiently served.
The importer was developed and contributed by Boundless. A special thanks to them and the MapStory project for providing most of the funding and requirements for the extension.
WMS performance and quality improvements
Going back to pre-existing protocols, let’s have a look at WMS.
A new higher performance PNG encoder has been included in GeoServer. Based on the open source PNGJ library, and with special local optimizations to extract pixels for encoding with minimal overhead, the encoder provides a significant speedup over the encoder included in the JDK (that is, the one you get by default) and also over the ImageIO native extensions one (which is available on selected platforms, and requires you a separate installation). Here are some results comparing map thoughput using the FOSS4G WMS shootout test harness, using Oracle JDK, and then OpenJDK:
GetMap thoughput over Oracle JDK 7
GetMap thoughput over OpenJDK7
Before you get overly excited, remember that this speedups were achieved because the PNG encoding had a major effect on this benchmark, which was drawing maps with rather light contents, if you have maps that take more than 200ms to be rendered the improvement will be difficult to notice by the naked eye (these chart show throughput, to have a reference, the slowest single threaded result in terms of response time was 120ms, for the JDK encoder based results). The work on this topic was done by Andrea Aime in his spare time, but let’s not forget to thank Hernan J. Gonzalez for the all work put in the PNGJ library.
Speaking of performance, if you are building maps with complex geometries on top of a PostGIS database you’ll be happy to hear that we’re now calling ST_Simplify to get the geometries be simplified directly in the database, significantly reducing the time spent to transfer them. A benchmark drawing a large number (a few tens of thousands) of complex polygons in a small scale map went up from 7 r/s (requests per second) to 11 r/s (and yes, we made tests showing we are not slowing down when working on simpler geometries). Thanks to Andrea Aime for working on this, and Jonathan Moules for providing the data, styles and benchmark setup that led to this improvement.
And if you’re interested in JPEG performance instead, just go and install the newly released JPEG Turbo extension, which allows GeoServer to leverage the excellent work done by the libjpegturbo team to speed up JPEG encoding. Here is a benchmark Simone performed on a Windows 64 laptop using a well optimized image mosaic as the source (which notably cannot use the ImageIO native extensions to speed up image encoding):
Changing gear, you’ll also be pleased to hear that point symbols are now rendered with higher quality and all at the same size/appearance, thanks to pixel precise casting of their position, and that we’re suffering from reduced issues at tile borders, even if you don’t manually specify a “border”/”gutter” parameter thanks to a much improved estimation of the symbols size (which is performed using static analyisis of the SLD).
Improved GetFeatureInfo precision
Most WMS servers available today, including GeoServer 2.4 and earlier, have a pretty simple mechanism to find out what you have clicked on a map:
-
decide on a search area, based either on a static configuration, or the size of the biggest symbol in the map being clicked
-
do a BBOX search on the data
This is fine and works well if your maps is made of regular symbols, that is, square enough, and more or less having a similar size. But what happens if your map looks like this, what will you get when you click outside of the small circle, or inside the large one? The two “clicks” onthe map below are at the same distance from the center point of the circles, but one of the two will not work as it should, either you get a positive response from both of them, or no response, whilst you should get a response only with the large circle click.
The same goes if you are using irregular point symbols, or if you are using geometry transformations to offset them from the central point location, GetFeautureInfo might not respond as you like when clicking inside the symbol, because it’s too far away from the actual geometry.
The problem in the end is pretty simple, the commonly used algorithm does not paint the map, so it cannot know how big the symbols will be in the particular area you clicked, nor be informed about their shape. That’s what GeoServer 2.5 does instead, it figures out how much of the map it has to paint investigating the largest symbol in the map, and then actually paints it, quickly, to figure out what was actually available in the point you clicked: this way, you’ll get only what you actually clicked (well, almost, there is still a small 3px tolerance, so if you click just outside of a circle, you’ll get back the info about that circle anyways).
We’re pretty excited about this new functionality, and believe you should be too. Let us know how it works on your maps.
Big thanks to the Eskilstuna municipality for funding the improvement, and GeoSolutions for carrying out the work.
DXF extension
Have a user base that loves CAD tools? This output format is for you then, it adds DXF output for WFS requests, and also for WPS ones, allowing vector data downloads in this common format. Special thanks to Mauro Bartolomeoli for the initial implementation, and for pushing the module up in supported land.
And more
The release packs also a hefty number of fixes and improvements that were not backported to the stable series yet, check out the full release logs for details.
Let us know how it goes
This is the beta release for the 2.5 series, and this is where the user community has the best occasion of influencing the 2.5 release by reporting all issues you find in the release. So please, go download the release, try it out, report issues, and help us create, next month, a very good release candidate
GeoServer 2.4.4 Released
The GeoServer team is pleased to announce the release of GeoServer 2.4.4:
This is a stable release containing bug fixes and incremental improvements, including:
-
Role service implementation based on LDAP
-
CSV output for app-schema simple features level zero
-
WPS GeoTiff tiling improvements
-
Layer rendering robustness issues relating to mis specified fonts
-
Fixes to Symbology Encoding Halo parsing
-
And more! Checkout of the change log for the full list
Thanks to all those who contributed fixes, and documentation corrections, for this release. This release is made in conjunction with GeoTools 10.4.
Spot a translation mistake? Help translate here: GeoServer Stable localization
About the GeoServer 2.4 series
The following change control requests were completed during the development of GeoServer 2.4:
-
Replace old KML module with new one (GSIP 98)
-
Allow plugins to modify WMS MapContent before map rendering (GSIP 92)
-
Machinery to pass thread locals down in thread pools (GSIP 96, fixes WPS asych requests security issues) - also available in 2.3.4
-
Promote CSS Styling module from Community to Extension (GSIP 97) - also available in 2.3.2
-
Graduate the INSPIRE module to extension status (GSIP 94) - also available in 2.3.2
-
Promote XSLT community module to extension (GSIP 93) - also available in 2.3.1
-
The shapefile datastore was completely rewritten (mostly as a code cleanup)
Articles and blogs during GeoServer 2.4 development:
-
GeoServer FOSS4G 2013 (State of GeoServer, Introduction, Steroids, GeoFence, RasterData, Spatio-Temporal, Cartographic Rendering)
-
How to publish GDAL/MrSID image formats on a production GeoServer
-
FOSS4G-NA slides (GeoServer In Production, GeoServer CSS Module, Scripting GeoServer with GeoScript, The State of GeoServer 2013)
-
INSPIRE Conference 2013 slides (Analysing GeoServer compatibility with INSPIRE requirements)
-
FOSSGIS 2013 slides (Introduction to GeoServer)
Using GeoServer at IGN (the French National Mapping Agency) to create new digital maps
We start the new year with a report of how IGN uses GeoServer to deliver high quality maps. We’d like to thank in advance the IGN team for the very nice showcase, and we leave you to their report.
Thanks to GeoServer and other technologies, IGN France is now able to provide new digital maps to professional users. These maps, named “SCAN Express”, cover the French territory, and are fully updated every six months. Two kinds of map with two different color charts are available through the French Géoportail WMS and WMTS services (http://api.ign.fr ), offering an advanced cartographic map rendering of IGN’s topographic databases.
Here are some screenshots, with different zoom levels:
One color chart (the “standard legend”) offers pastel colors, so that user data can be added to the map, and keep it readable. The other one (the “classical legend”) is similar to well-established legends of IGN’s paper maps.
First, data are processed using different softwares and libraries depending on scale (open-source, proprietary or home-made) performing automatic tasks such as generalization or high-level cartographic label placement. Thus, 1Spatial software or JTS library are used. Then, cartographers perform controls using desktop GIS such as OpenJump or GeoConcept. Data are stored in PostgreSQL/PostGIS databases.
Rendering is fully based on GeoServer capabilities. More than 300 SLD files defining almost 2000 feature styles have been written to manage rendering with smooth transitions at 12 different zoom levels. In order to allow map legend customization, the “variable substitution in SLD” mechanism is used to compute easily different kind of color charts according to needs (about 50 variables allowing a wide range of customization possibilities).This could open the way to new web services that will allow dynamic customization of this cartographic background.
Raster tiles are produced by sending GeoServer WMS requests, whose resolution depends on the map scale, from 0.5 to 2048 meters per pixel. Requests are load-balanced on several GeoServe instances, to produce more than 500 Gb of data per color chart.
GeoServer is well suited to IGN’s need and its efficiency is much appreciated. IGN’s team focusing on these topics wishes to point out that the cartographic rendering capabilities of GeoServer are very rich and can be exploited in an industrial context.
Vulnerability
- GeoServer 2.26.1 Release
- GeoServer 2.25.4 Release
- GeoServer 2.26.0 Release
- 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