The GeoServer team is pleased to announce the release of GeoServer 2.9-beta. This is a beta release, focused on making our wicket update available for testing, and trying out our release process to ensure we have not broken anything.
Beta releases are intended for public feedback and are not recommended for production use.
This release requires Java 8. We have identified one known incompatibility and may need to adjust our roadmap based on your testing and feedback.
Documentation has a new layout grouping service description and configuration reference together. Services that are an optional install (such as CSW and WPS) have been brought into a consistent location so you can easily see what GeoServer is capable of rather than getting lost in extensions.
UTFGrid support in WMS GetMap
Internally we have upgraded the user interface library - taking the opportunity to update global, image processing and raster access screens. The layer group page has also been split into tabs. By popular request the button to add a new layer has been renamed to “Add new layer”.
Legend graphic has always been auto-generated, you can use your own custom icons.
For installations without direct file system access you can now manage resources (icons, fonts,templates) using the REST API.
An useful improvement to the aggregation process is the group aggregate queries (sum, average, count) by an attribute.
This 2.9-beta release is released in conjunction with GeoTools 15-beta and GeoWebCache 1.9-beta. Thanks to Jody Garnett (Boundless) for this release.
A beta release often features lots of last-moment pull requests - thanks to Andrea Aime (GeoSolutions) and Ben Caradoc-Davies (Transient) for their assistance during this review cycle. A further thanks to Larry Shaffer (Boundless) and Chris Del Pino (Boundless) for their build assistance.
The big news for GeoServer 2.9-beta is upgrading our user interface from Wicket 1.4 to Wicket 7. A sprint was organized for this labour intensive task, with plenty of hard work and manual testing. We would like to thank our sponsors OSGeo, Boundless, Vivid Solutions, How 2 Map, San Jose Water Company, Transient and Geobeyond. We should also thank sprint participants and in-kind sponsors scitus development, GeoSolutions, CCRi, Astun Technology and Voyager for making this event possible.
About Geoserver 2.9
Articles, docs, blog posts and presentations:
The release contains 17 fixes compared to 2.7.5, including improvements in the WMS cascading, a deadlock fix for admins re-configuring GWC while under load, a fix for a regression with SqlViews using more than one geometry field, and a WPS file descriptor leak, and some other WMS related fixes. For a full list, see the release notes.
GeoServer 2.7.6 is the last maintenance release of the GeoServer 2.7.x series, users are recommended to upgrade to 2.8.x or just wait next month for 2.9.0 to be released as stable.
Thanks to everyone taking part, reporting issues and making pull requests, and also thanks to Andrea Aime (GeoSolutions) for this release.
This release is made in conjunction with GeoTools 13.6.
It’s been an exciting time here at GeoServer HQ. To explain, let’s start with a little history lesson.
In 2009, GeoServer released GeoServer 2.0, sporting a new user interface based on Apache Wicket. Wicket allows Java developers to construct an AJAX UI with minimal HTML experience. Since its adoption, Wicket has made development of GeoServer more accessible, due the ease of creating graphical configuration pages.
The problem is that we’ve still been using Wicket version 1.4 all this time, and the current version is 7. We’ve tried to address this activity at two previous single-day code sprints, which were aborted due to insufficient time and resources. And the longer we’ve waited, the more difficult it has become.
Without an upgrade, we were starting to see less compatibility with modern browsers, which would eventually lead to the UI not being usable. Something needed to be done.
Enter the code sprint
This was not a small task. The problem is neatly summed up by a graphic created by Jody Garnett explaining the Wicket upgrade:
As you can see, when properly implemented, the visual change for users will be…nothing at all.
So I was very impressed when we got the go-ahead (and funding!) to meet in Victoria, BC, at the Boundless Canadian office.
What we did
Developers from the US, Canada, Italy, and Belgium descended upon the diminutive capital of British Columbia to spend a week doing the upgrade.
Since we held off this work for so long, it wasn’t as simple as a single upgrade, as we had to negotiate several API changes in one go. And GeoServer, being highly extensible software, has dozens of modules and extensions that needed to be tested too:
Here is the team and their primary accomplishments:
Andrea Aime (GeoSolutions): Really focused on fixing the build and crushing bugs as they popped up in manual testing. Spent a lot of time migrating the security modules.
Torben Barsballe (Boundless): Unit test fixes. Component testing. Styling fixes. Fixed links on the Styles page Fixed the Layer Importer. Fixed the LegendGraphic display.
Niels Charlier (Scitus): Fixed code and unit tests for many of the core components. Manually tested and fixed many commonly used pages in the UI such as the Layer Preview and Tile Caching sections.
Justin Deoliveira (Voyager Search): Justin helped out monday-tuesday getting the wicket7 branch to compile and helping everyone learn the tips and tricks of wicket debugging.
Jody Garnett (Boundless): Learned a lot about how Wicket worked, suffered through manual testing and enjoyed making usability improvements to the configuration pages.
Jim Hughes (CCRi): Helped with updates to unit tests. Fixed issues identified by testers.
Morgan Thompson (Boundless): Fixed the CoverageBands panel for raster pages. Tested/upgraded the Stores page. Tested various other pages such as the Security section and NetCDF.
Devon Tucker (Boundless): Manual testing of core GeoServer and some extensions. Fixed some regressions from the Wicket migrations and did some improvements on the Layers page
And one week later, we are excited to announce that the sprint was a success, and GeoServer is now running Wicket 7. Hooray!
Here is a master nightly build - please download and test it out.
I was invited to take part in the code sprint, but as I focus on documentation and user experience, I had a lot of down time while the rest of the team was deep in the weeds.
So I took a hard look at the GeoServer User Manual, and performed a fairly significant restructuring, along with some small improvements in the theme.
You can see the new documentation, (compare to an older version). Details on what was done can be found on GitHub. I feel like these changes will make it easier to find information in the documentation, which is fairly extensive.
More exciting were the visual documentation improvements. I updated the theme of the documentation to increase readability and fix some visual bugs (for example step 10 and higher being cut off).
Visual Changes and Blue-sky thinking
With so many experienced GeoServer users in the room, we had a short breakout session discussing high-level improvements to the UI and its workflow, in an attempt to answer the question, “what have you always wished the GeoServer UI would do?“ It didn’t take too long to fill up a spreadsheet full of more than two dozen ideas for the next co de sprint- and the team was able to make a few of the easier ones on Thursday and Friday.
The rest of the team decided to follow suit and made a few small visual changes, such as:
Updating the JAI page (now called “Image Processing”)
Updating the Coverage Access page (now called “Raster Access”)
“Add a new resource” is now called “Add a new layer”. (Minuscule change, but this has bugged me for years.)
Group fields consistently in Global Settings
So I guess we got some visual changes in after all. Hooray again!
It’s precisely this kind of support for OSGeo projects that enable our community to thrive.
GeoServer 2.8.2 is the latest stable release of GeoServer and is recommended for production deployment. This release is made in conjunction with GeoTools 14.2. Thanks to all contributors. Fixes and new functionality include:
Multiple improvements to Geofence UI.
Various concurrency and thread-safety fixes.
WPS and Storied Queries hardening.
About GeoServer 2.8
Articles, blog posts and presentations:
State of GeoServer 2015 (FOSS4G)
XEE Vunerability (GeoServer)
Remote Execution Vulnerability (GeoServer)
JAI-Ext, the Open Source replacement for Oracle JAI (GeoSolutions)
Customizable arrow in GeoServer (GeoSolutions)
PostGIS Curve Support (GeoSolutions)
Improved NetCDF/GRIB support in GeoServer (GeoSolutions)
Initial GeoServer 2.8.0 release announcement (GeoServer)
Follow up to our GeoServer Code Sprint 2016 post - we are all ready to go for next week!
Monday: Initial migration, Wicket 7 bootcamp / Java 8 bootcamp
Tuesday: Migration/testing workspace and datastore configuration
Wednesday: Migration/testing global, service and layer configuration
Thursday: Migration/testing tile cache, security and demos
Friday: demos, extensions and select community modules
Mike Pumphrey will be on hand to update the User Guide reference section and ask awkward questions about how things work. We expect to corner a few new volunteers for the scheduled release of GeoServer 2.8.2.
Thank you Sponsors
A big thanks to organizations sponsoring the sprint - you help make this gathering possible. Special thanks to the “In-Kind” sponsors sending staff to participate.
[![OSGeo](https://wiki.osgeo.org/images/thumb/7/74/OSGeo_logo_750_317.png/250px-OSGeo_logo_750_317.png)](http://www.osgeo.org/) [![Boundless](https://wiki.osgeo.org/images/thumb/6/66/Boundless_Logo.png/250px-Boundless_Logo.png)](http://boundlessgeo.com/) [![Vivid Solutions](https://wiki.osgeo.org/images/thumb/a/a3/Vivid_Logo.png/250px-Vivid_Logo.png)](http://www.vividsolutions.com/)
Welcome to Victoria
Thanks to Boundless Victoria for making their offices available (see prep below). We look forward to taking over next week and thanks to everyone for their hospitality.