GeoServer Blog

GeoServer 2.1.1 Released

Close on the heels of the release of our newest stable branch, the GeoServer team is pleased to announce the release of GeoServer 2.1.1. While primarily a bug-fixing release, a number of enhancements have been made, including support for the upcoming PostGIS 2.0, the addition of a number of new WPS processes and the addition of the Teradata database extension to the release. As always, there are a great many people to thank for the successful release. Our contributors continue their tireless efforts to move GeoServer forward. Our users and advocates provide invaluable feedback and direction to the project. Sponsoring companies and groups provide much needed funding to drive the addition of new functionality.  This release I would like to draw special attention to a few contributions.

  • Rudi Hochmeister has contributed a patches to our logging system to simplify debugging and to fix a number of issues in our developer documentation.

  • Gianni Barrotta, Andrea Di Nora, and Pietro Arena have contributed a number of new WPS processes to the project.

  • Robert Coup has identified inconsistencies in the handling of URLs in the KML and GeoRSS output formats and has contributed patches to bring those in line with the rest of the code base.

  • Matt Bertrand has added support for the definition of character set during shapefile uploads and associated testing.

Contributions like these help keep GeoServer responsive to the needs of our community and allow us to continue providing a stable and useful product. Thank you! Thanks also go to LISAsoft for sponsoring this release. Please download GeoServer 2.1.1, try it out, and provide feedback on the mailing list. Your feedback helps GeoServer to continue to improve.

Read More

GeoServer developers considering a switch to Java 6

GeoServer developers are considering a switch to Java 6 as the minimum requirement starting with GeoServer 2.2.0: this will give us an improved API to rely on, faster development cycle and a more common development environment setup (finding Java 5 is getting increasingly difficult, especially on some platforms).

The current stable series, 2.1.x, will remain on Java 5, giving people stuck on the old JDK at the very least another six months of support.

We’d like to hear your opinion on this move. Let us know by voting on the user poll:

Thanks for your participation!

Read More

Getting a job with GeoServer

As GeoServer popularity raises it’s becoming more and more common to see job offers demanding GeoServer experience as a requisite. The companies providing support for GeoServer are growing as well, providing opportunities to the brave souls that want to work side by side with the core developers.

GeoSolutions, an italian company deeply involved in both GeoServer and GeoTools, is looking for a GeoServer developer that will code new features as well as install and manage production sites. GeoSolutions is also looking for a front-end developer that will develop the user facing portion of new geo-spatial applications powered by GeoServer.

Searches on, or also show a number of positions that either demand or have a preference for people with GeoServer experience, picking a few examples among the list:

We’re please to see this growth and hope you’ll enjoy working with GeoServer as much as we do!

Read More

GeoServer 2.1.0

It’s been a long time coming, but after nine months, hundreds of hours of development and testing work, two betas and five release candidates, the GeoServer team is happy to announce the release of GeoServer 2.1.0!

The release of a new major version update is a big deal (the last one was 18 months ago), and while we’ve talked about all of the new features that have been incrementally showing up, let’s put them all together here in one place:

WMS Cascading

Something many users have asked for since the very addition of WMS support is cascading, the ability of GeoServer to proxy for another remote WMS server (be it GeoServer, MapServer, or ArcGIS). This feature has many uses, such as pulling in a remote base layer and overlaying local vector data onto it or securing a locally unsecured map server. Special thanks to the University of Perugia for sponsoring this feature.

Virtual Services

Anyone who has published a large number of layers or feature types with GeoServer has probably at some point been annoyed by the fact that every single layer is published by a single global service. WMS has the ability to group and nest layers but WFS and WCS have no such equivalent. Thanks to virtual services, one can create multiple service endpoints within a single GeoServer instance. Special thanks to Landgate for funding this work.

Layers from SQL

GeoServer has always been good at publishing a flat database table but users often need to do more—such as pre-filter the data in a table, join two tables together, or generate column values on the fly with a function. Before this feature, the recommendation was to create a view, yet views can be a maintenance burden and are at times problematic.

Now one can create a layer directly from an SQL query and query definitions can be parameterized to create dynamic queries on the fly. These parameters can be restricted with regular expressions to prevent an SQL injection security hole.

Special thanks to Andrea Aime for spending much of his personal time on this one and to OBIS for providing the funding for the parametric component of the work.

Web Processing Service (WPS)

With 2.1 and the arrival of WPS we welcome a new OGC service into GeoServer. The Web Processing Service is an OGC service for performing geospatial analysis functions over the web. The specification is extensible in nature and allows for simple processes ranging from buffering a geometry to more complex processes such as image processing.

Historically, GeoServer has been focused on data delivery and did not provide tools for performing analysis on spatial data. WPS fills that gap, making GeoServer a more compete solution for geospatial web services.

Thanks to Refractions Research for the initial contribution of the WPS module and to Andrea once again for taking personal time to bring WPS support to its current state.

Unit of Measure

Support for units in SLD allows one to specify values in measurements other than pixels such as feet or meters. This adds a very powerful capability to SLD that may alleviate the need for multiple scale-dependent rendering rules and may greatly simplify complex SLD documents.

Special thanks to Milton Jonathan and Tecgraf/PUC-Rio for the initial GeoTools work to make unit of measure support possible and to Andrea for working with Milton to improve the initial patch. Note that this feature has also been backported to the stable 2.0.x branch thanks to support from SWECO and Malmö City of Sweden.

DPI Scaling

GeoServer renders images at a resolution of 90 DPI by default. While this is acceptable for most standard screen resolutions, it is unacceptable for higher-resolution printed materials. Now it is possible to supply a format option to a WMS request to control the DPI setting on the fly.

Special thanks again to SWECO and Malmö City of Sweden for sponsoring this work. Note also that this feature has also been backported to the 2.0.x branch.

Graphical File/Directory Chooser

Ever found it difficult to remember the full path when loading a shapefile or GeoTIFF?  This new improvement brings an easy graphical file and directory selection tool for browsing the file system on which GeoServer resides. This is definitely a great enhancement to make GeoServer even easier to configure.

Core improvements to support a database-backed catalog

GeoServer’s core catalog interfaces received some tweaks to more easily support different backend storage formats. The current in-memory implementation has a number of drawbacks—the most notable being that it is memory-bound, meaning it cannot scale to accomodate large numbers of layers. Support for specific new storage formats is still only available as a community module but these core improvements make it possible to more easily swap between different backends.

Font Improvements

Adding new fonts to maps should now be much easier, as one can drop font files directly into the GeoServer data directory and have them be recognized by GeoServer. The admin interface will list all fonts that are currently available, including those made available by the Java Virtual Machine.

Upgrade to Spring Security 2.0.6

GeoServer has always had Acegi Security at its core but since that library was absorbed by the Spring community it has been improved and upgraded into Spring Security, the official security module of the Spring portfolio. This brings a number of new security protocols to GeoServer, including OpenID and Windows NTLM. With even more powerful options, it should now be easier to customize the security setup.

WCS Limits

While WFS and WMS have both had the ability to limit what a user can request, now similar controls are in place for WCS calls as well. Thanks to MassGIS for funding this improvement.

WMS 1.3.0

WMS 1.3.0 is the newest version of the Web Map Service protocol. Special thanks to Ordnance Survey, Britain’s national mapping agency, for providing OpenGeo with funding to complete its implementation in GeoServer. With WMS 1.3 mandated by the INSPIRE Initiative, Ordnance Survey opted to fund the GeoServer project so that other organizations in the UK and the rest of Europe could meet their INSPIRE requirements and everyone across the globe could benefit.

SLD 1.1 / SE 1.1 enhancements

Though not every new option is fully-supported, it is now possible to use most SE 1.1 documents in GeoServer. User feedback on which new options should be supported first is greatly appreciated. Also funded by Ordnance Survey is a community module to implement the WMS extensions for INSPIRE View Service compliance—namely the language parameter and several extended capabilities fields.

GeoWebCache Integration

GeoWebCache integration allows clients to enjoy the benefits of tile caching through the regular GeoServer WMS endpoint. This enables GeoWebCache to transparently proxy for the GeoServer WMS without the need for a separate service endpoint. Taking advantage of the recently-added disk quota functionality, GeoWebCache now provides the ability to set limits on the amount of disk space used for storing tiles, allowing users to control and limit the size of the tile cache on disk. Big thanks to Gabriel Roldán of OpenGeo for the great GeoWebCache improvements.

Improvements to RESTConfig

This release also brings some improvements to RESTConfig, which is now shipped with GeoServer by default. Improvements to the API include a file upload operation that now allows for uploading files into an existing data store. This addition allows users to upload a shapefile and have it automatically converted into a PostGIS database and published as a PostGIS layer rather than as a Shapefile layer. The API also supports recursive DELETE operations, making it more convenient to remove resources that contain other resources such as stores or workspaces. Thanks to David Winslow and Justin Deoliveira of OpenGeo for these improvements.

Improved Raster Reprojection Performance

Thanks to some great work from GeoSolutions, raster reprojection performance has been significantly improved by using linear appoximations of transformation functions.

WCS Request Builder

Thanks to Andrea Aime, there is now a Web Coverage Service request builder  for graphically building WCS requests to test a coverage service. As clients for WCS have always been sparse, this tool goes a long way towards making the service more usable.

Run multiple GeoServer instances from a single data directory

There now exists a new parameter that will once again allow multiple GeoServer instances to run from a single data directory. This parameter, named “GWC_DISKQUOTA_DISABLED”, will disable the GeoWebCache disk quota module and prevent it from maintaining a lock on the data directory.

Tons of bug fixes

A new release wouldn’t be complete without bug fixes. Here is the full list of issues fixed.


Everyone who uses GeoServer should have at least one or two items in the above list to be excited about. Download GeoServer 2.1.0, try it out, and please provide feedback and report any issues on the GeoServer mailing list.

Be sure to backup your data directory before upgrading, as with all GeoServer major version upgrades there will be changes to the data directory that will make it incompatible with 2.0.x. If using the aforementioned database-backed catalog, this should be easier than ever.

Thanks for using GeoServer!

Download GeoServer 2.1.0

Read More

GeoServer 2.1-RC5 released

The GeoServer team is happy to announce the fifth release candidate for 2.1, now available for download.

This release brings some bug fixes and addresses a few residual regressions compared to the old 2.0.x series. In no particular order:

  • While GeoServer 2.1 uses extended CQL (ECQL) for all the CQL related activities, it now also preserve backwards compatibility with the old CQL language (in particular, new keywords in ECQL might have conflicted with valid CQL statements).

  • The compatibility towards Google Earth 6 was improved too, making Google Earth 6 properly display KMZ files with embedded images.

  • The querylayer module, allowing for cross layer filtering, was promoted from community to extension module and is thus available as an official extension in the release.

  • Finally, GeoServer 2.1-RC5 avoids HTTP session creation on all OGC service paths, even when using basic authentication, providing better overall scalability.

Check out the change log for the full list.

Thanks to everyone who tested RC4 and helped us flush out these last few issues. You can continue to help us get to the official 2.1 release by downloading and trying out RC5. Be sure to report any issues in the bug tracker or on the mailing list. Unless new regressions or serious bugs are found RC5 will be re-released as 2.1.0 final.

Thanks for using GeoServer!

Read More