GeoServer Blog
GeoServer 3.0-RC, a crowdfunded success story
GeoServer 3.0-RC is now available, and with it we can celebrate something bigger than a release candidate.
This milestone is the concrete outcome of a successful community crowdfunding campaign.
When we launched the GeoServer 3 crowdfunding initiative in September 2024, the goal was ambitious. GeoServer needed more than incremental maintenance. It needed a full platform modernization, including a new generation user experience, a stronger security foundation, a modern Java stack, improved raster processing, and the engineering effort required to carry those changes across the broader GeoServer ecosystem.
That work is now visible in GeoServer 3.0-RC.
From campaign to release candidate
The GeoServer 3 crowdfunding effort set a total target of 550,000 €. Camptocamp, GeoCat, and GeoSolutions each committed 50,000 €, establishing a community funding goal of 400,000 €. In May 2025, the campaign surpassed that goal.
That achievement mattered because GeoServer 3 was never a small upgrade. It required coordinated investment in core platform work that is essential for users, but often difficult to fund through routine maintenance alone:
- migration to a modern Spring and Jakarta based platform
- alignment with JDK 17 and current deployment environments
- replacement of aging raster processing components with ImageN
- stronger security and vulnerability management
- documentation updates and broad compatibility testing
- user interface and usability improvements across the administration experience
The consortium of Camptocamp, GeoCat, and GeoSolutions provided coordination, delivery capacity, and co-funding. Sponsors, community members, and individual donors made it possible to move from planning into implementation.
What GeoServer 3.0-RC shows
With GeoServer 3.0-RC, the results of that investment are now ready for public testing.
This release candidate introduces a modernized platform with:
- a new context-driven user experience
- a responsive administration interface
- a new full-screen layer preview
- updated documentation in Markdown
- support for modern servlet containers including Tomcat 11 and Jetty 12.1
- a straightforward upgrade path from GeoServer 2.28.x, with no changes to the GeoServer data directory
GeoServer 3.0-RC is also released together with GeoTools 35-RC and GeoWebCache 2.0-RC, making this an important ecosystem milestone, not just a version bump.
Why this matters for open source sustainability
Crowdfunding is often discussed in theory as a way to support open source. GeoServer 3 offers a practical example of what that support can achieve.
This campaign did not fund a narrow feature request. It funded the kind of foundational work that keeps a critical open source project healthy: technical modernization, security upgrades, ecosystem testing, documentation improvements, and long-term maintainability.
That is exactly the kind of work communities depend on, and exactly the kind of work that is hardest to finance unless users and organizations step forward together.
GeoServer 3.0-RC proves that this model can work.
Help us finish strong
The arrival of GeoServer 3.0-RC is also a call for community testing.
We encourage everyone to try the release candidate in their own environment, especially for:
- upgrade workflows from GeoServer 2.28.x
- the new user interface and administration workflows
- deployments on Tomcat 11 and Jetty 12
- raster-heavy and tiling-heavy workloads
- extension compatibility and operational edge cases
You can download GeoServer 3.0-RC from the release page, review the upgrade instructions, or quickly test the Docker image:
docker run -p 8080:8080 docker.osgeo.org/geoserver:3.0-RC
Please share your feedback on the GeoServer 3.0-RC discourse thread.
Thank you
GeoServer 3.0-RC is an important technical milestone, but it is also a community milestone.
Thank you to the organisations, individual donors, developers, testers, and sponsors who helped make this happen. And thank you to the consortium teams at Camptocamp, GeoCat, and GeoSolutions for carrying the work from campaign to release candidate.
GeoServer 3.0-RC is here because the community decided this work was worth funding.
That is worth celebrating.
GeoServer 3 is supported by the following organisations:
Individual donations: Abhijit Gujar, Hennessy Becerra, Ivana Ivanova, John Bryant, Jason Horning, Jose Macchi, Peter Smythe, Sajjadul Islam, Sebastiano Meier, Stefan Overkamp.
GeoServer 3.0-RC Release
GeoServer 3.0-RC is now available, with downloads for
( bin,
war
), along with
docs and
extensions.
We are working with OSGeo for the windows installer download, and will update this post when it is available. Windows users are asked to test out the bin download while we wait.
Release available as docker image docker.osgeo.org/geoserver:3.0-RC .
This is a release candidate intended for public review and feedback. GeoServer 3.0-RC is made in conjunction with GeoTools 35-RC, and GeoWebCache 2.0-RC.
Thanks to Jody Garnett (GeoCat), Andrea Aime (GeoSolutions), and Peter Smythe (AfriGIS) for making this release.
Please Test GeoServer 3.0-RC
We encourage everyone to try GeoServer 3.0-RC in their own environment, especially for upgrade workflows, the new user interface, and deployment on Tomcat 11 and Jetty 12. Real-world testing is the best way to catch regressions and compatibility issues before the final 3.0 release.
You may also quickly test the docker image using:
docker run -p 8080:8080 docker.osgeo.org/geoserver:3.0-RC
Please share your success, feedback, questions, and any issues you encounter on the user forum GeoServer 3.0-RC Release Candidate discourse thread.
GeoServer Cloud 3.0.0-RC
GeoServer Cloud 3.0.0-RC has also been released alongside this candidate. Cloud-native deployments can now try out GeoServer 3 in microservices form, see the v3.0.0-RC release notes for details.
To get started, follow the Kubernetes quickstart and share your feedback so we can iron out any remaining issues before the final 3.0.0 release.
Welcome to GeoServer 3
We are overjoyed to share this update with our community, this is the final stretch of a long road, a year of development, and a lot of planning and support to make it all happen.
There will be more technical details in the final release announcement - but for now we wish to say thank you.
Straightforward upgrade
We have taken great pains to make the upgrade process seamless from GeoServer 2.28.x.
-
Important: We have made no changes to the GeoServer Data Directory.
Download and try GeoServer 3.0-RC today!
-
A few modules have migrated from core to extensions:
- WCS 1.0 and WCS 1.1
- World Image and ArcGRID raster data sources.
The pure Java
H2database is no longer provided. -
The log file location setting is now managed using the
GEOSERVER_LOG_LOCATIONapplication property. -
The NetCDF index support has been simplified and is now self-contained. With this improvement, NetCDF no longer needs a database or local
.idxfiles to operate.Instructions are provided for how to clean up these now unused files.
-
The new OIDC plugin is available to take over the responsibilities of the previously available
KeycloakandOAuth2plugins.
Please see the upgrade instructions for details.
New Context-Driven User Experience
GeoServer 3 features a new “context-driven” user experience, which we really hope you enjoy.
-
Search: Using the left hand side search field to find information. Autocomplete results are shown as you type, and results are listed in a tree which can be navigated below.
-
Context: Clicking on a search item establishes the context which is shown as breadcrumbs along the top of the page. A drop-down context menu provides quick access to actions that can be performed.
-
Page: Page content adjusts to the current context. The welcome page adjusts to showing the layer tile and description, along with preview links, sample data downloads, metadata and data links configured.
-
Menu: The menu bar at the top of the page provides login on the right hand side, and access to the familiar GeoServer top-level menus. Many of these pages now adjust their content to reflect the current context.
-
Feedback: Admins are provided additional context-menu commands, and per-layer feedback and shortcuts, making the application easier and faster to use.
For more information see the user guide.
Thanks to Stefano Bovio (GeoSolutions), Jody Garnett (GeoCat), and others for this major improvement.
New User Interface Responsive Design Theme
GeoServer now provides a responsive-design theme:
-
Navigation: Navigation is reduced to a hamburger menu when using a narrow width display.
-
Forms: Forms have adopted a two-column layout adapting to page width.
Details coming soon to the developers guide!
Thanks to Stefano Bovio (GeoSolutions) for leading this frequently requested improvement, the entire GeoServer 3 team for implementing and checking, and testers at AfriGIS and GeoCat for verifying and updating screenshots.
New Layer Preview
A new full-screen layer preview is provided using the latest OpenLayers library.
Thanks to Stefano Bovio (GeoSolutions) for the welcome improvement.
Updated Environment
GeoServer 3 is overjoyed to support Tomcat 11.0.x and Jetty 12.1 application servers after completing our transition to Spring Framework 7 and Jakarta EE Servlet API 6.1.
We have been extensively testing GeoServer 3 with Java 17 and Java 21, maintaining the same Java runtime baseline as GeoServer 2.28.x. Java 25 is subject to automated testing, but we are going to hold off recommending it until the user community has had an opportunity to try it out and report back.
If you are wondering about the compatibility between the Java web stack and GeoServer, here is a table showing the various supported options:
| GeoServer | Java | Tomcat | Jetty | Java EE | Jakarta EE |
|---|---|---|---|---|---|
| GeoServer 3.0 | 17, 21 | Tomcat 11.0.x | Jetty 12.1 | Servlet API 6.1 | |
| Not supported | Tomcat 10.1.x | Jetty 12.0 | Servlet API 6.0 | ||
| Not supported | Tomcat 10.0.x | Jetty 11.0 | Servlet API 5.0 | ||
| GeoServer 2.28.x | 17, 21 | Tomcat 9.x | Servlet API 4 | ||
| GeoServer 2.28.x | 17, 21 | Jetty 9.4 | Servlet API 3.1 |
For more information see container considerations.
Thanks to the entire GeoServer 3 team and crowdfunding campaign for this major accomplishment, representing the completion of Milestone 3.
New OAuth2 OpenID Connect Security Integration
The transition to Spring Security 7 was one of the big tasks accomplished for GeoServer 3. This work includes the creation of a new OIDC plugin. The new plugin has taken over the responsibilities of previously available Keycloak and OAuth2 plugins.
- If you previously used
Keycloak, there are setup instructions for configuring with Keycloak. - If you previously used an
OAuth2integration, you can find individual setup instructions for Google, Azure, and GitHub.
We are asking specifically for public testing during 3.0-RC timeframe allowing this module to be included as an extension for 3.0.0 release.
Thanks to Alessio Fabiani and others for key improvement. We are very much looking forward to having OAuth2 OpenID Connect support included in GeoServer.
New Documentation
The long-awaited transition to Markdown documentation has finally arrived. Welcome to our new User Manual. The older GeoServer 2.x documentation is available at Docs Archive or via the version switcher. Please help out by fixing any remaining small issues or log an issue for Peter to address.
Thanks to Peter Smythe (AfriGIS) and Jody Garnett (GeoCat) for working on this activity which ended up being an incredible amount of work.
Thanks to the GeoServer 3 Sponsors
GeoServer 3 would not exist without the organizations and individuals who supported the GeoServer 3 crowdfunding campaign. Their sponsorship made this work possible.
GeoServer 3 is supported by the following organisations:
Individual donations: Abhijit Gujar, Hennessy Becerra, Ivana Ivanova, John Bryant, Jason Horning, Jose Macchi, Peter Smythe, Sajjadul Islam, Sebastiano Meier, Stefan Overkamp.
Release notes
New features:
- GEOS-12063 [GSIP-238] GeoServer 3 UI / UX Refresh
Improvements:
- GEOS-11886 Sort entries in all .properties files alphabetically
- GEOS-12015 Switch tests using H2 to GeoPackage
- GEOS-12023 Improve developer logging during catalog resources loading and WMS capabilities requests
- GEOS-12024 Add Git branch name in GEOSERVER_NODE_OPTS
- GEOS-12072 Remove deprecated REST endpoint on the DataStoreFileController
- GEOS-12077 Remove H2/DB based index and binary index from CoverageMultidim/NetCDF stores
- GEOS-12081 Update MapML.js (
custom element suite) to v0.17.0 - GEOS-12082 CoverageStore - quick fail for incorrect files
- GEOS-12083 Skip brute force login delays when checking for default administrator password
Bugs:
- GEOS-10509 WFS Request fails when XML POST body is larger than 8kB
- GEOS-11903 WPS does not respect raw response output selection when there are multiple outputs
- GEOS-11916 Data directory migration performed on built-in default security configuration
- GEOS-11926 ogcapi plugin makes WFS advertising an outputFormat which is actually unavailable
- GEOS-11930 OGC-API extension breaks security REST API
- GEOS-11942 ImagePPIO does not run any longer
- GEOS-11964 Metadata Bulk Operations: wicket error
- GEOS-11965 KMZ export incorrectly references remote icon URLs instead of embedding them in the KMZ archive
-
GEOS-11981 POST /security/authproviders 400: Unsupported className - GEOS-11988 Fix bug: preserve metaTilingThreads=0 in saneConfig()
- GEOS-11999 The version of Jetty (12) no longer supports web.xml CORS configuration
- GEOS-12065 WMS Layer REST PUT always returns 500 due to Collections.emptySet() in getRemoteStyleInfos()
- GEOS-12073 Remove log location configuration from Admin Console and REST API
- GEOS-12084 TemplateController REST endpoints accept non-existent workspace, store, and resource names
- GEOS-12085 LocalSettingsController does not validate workspace existence
Tasks:
- GEOS-11987 ImageN 0.9.1 migration requires renaming of registryFile.jai to registryFile.imagen
- GEOS-12004 Make WMS independent of WFS
- GEOS-12005 Remove GeoServer H2 extension
- GEOS-12006 GWC, removal of leftover H2 references
- GEOS-12011 Move KML module to extension
- GEOS-12016 Move WCS 1.1 module to extension
- GEOS-12017 Move WCS 1.0 to extension
- GEOS-12018 Switch GeoServer tests away from H2
- GEOS-12019 Turn arcgrid and worldimage formats into plugins
- GEOS-12025 Split WMS 1.1 and 1.3
- GEOS-12040 Updating BouncyCatle libraries to LTS 2.73.10
- GEOS-12041 Update Spring LDAP to 4.0.1
- GEOS-12071 Remove the WPS remote module
- GEOS-12064 CSS: add documentation for localized @title and @abstract metadata
Sub-tasks:
- GEOS-12066 Present keywords as a table
- GEOS-12067 Add Full Screen OpenLayers 10.8.0 layer preview
- GEOS-12086 Keyboard navigation for file browser
For the complete list see 3.0-RC release notes.
Community Updates
Community module development:
- GEOS-11904 OGC API Processes: add support for envelope input/output
- GEOS-11905 OGC API processes status response lacks jobid and links to self
- GEOS-11906 OGC API Processes: use correct error code for access to results when execution is not complete
- GEOS-11907 OGC API Processes: support multiple raw responses
- GEOS-11908 OGC API Processes page should be pageable
- GEOS-11909 Add support for OGC API Echo process
- GEOS-11915 OGC API Processes: improve support for binary input and output
- GEOS-11972 GSIP 233 - Community Pending Release Profile
- GEOS-11980 Add support for uploading a single parquet file to GeoServer via REST
- GEOS-11983 GSR /query fails with HTTP 500 when where parameter is empty
- GEOS-12000 Ignore DescribeFeatureType requests without typeName in Features Templating schemas override
- GEOS-12002 hz-cluster: homepage pop-up fails
- GEOS-12007 Add AWS credential chain authentication UI and documentation for GeoParquet
- GEOS-12013 Support vector datasets ingestion in VectorMosaic via REST
- GEOS-12044 STAC search endpoint should report invalid collection names as invalid parameters instead of internal errors
- GEOS-12061 New Community Module for PNG-WIND output format for wind datasets
- GEOS-12062 Add DuckDB datastore community extension (gs-duckdb)
- GEOS-12069 Align the hazelcast version in hz-cluster to the rest of GeoServer
- GEOS-12074 Remove activeMQ-broker community module
- GEOS-12089 GWC sqlite community module breaks legend preview in style page
Community modules are shared as source code to encourage collaboration. If a topic being explored is of interest to you, please contact the module developer to offer assistance.
About GeoServer 3.0.x Series
Additional information on the GeoServer 3.0.x series:
Release notes: ( 3.0-RC )
GeoServer 2.28.3 Release
GeoServer 2.28.3 release is now available with downloads (bin, war, windows), along with docs and extensions.
This is a maintenance release of GeoServer providing existing installations with minor updates and bug fixes. GeoServer 2.28.3 is made in conjunction with GeoTools 34.3, and GeoWebCache 1.28.3.
Thanks to Andrea Aime (GeoSolutions) for making this release.
Release notes
Improvement:
- GEOS-11886 Sort entries in all .properties files alphabetically
- GEOS-12033 Allow to configure custom CRS authorities and transformations
- GEOS-12037 Support Metatiling on MapBox Vectortiles
Bug:
- GEOS-11964 Metadata Bulk Operations: wicket error
- GEOS-12038 ModificationProxy.replaceCatalogInfo() precludes converting Filters to native query language
- GEOS-12047 Lock timeout and nested lock support in GeoServer
- GEOS-12055 GeoServerSecurityManager.reload() not clearing service caches
- GEOS-12060 REST API with PUT does not allow un un-set a field
Task:
- GEOS-12027 Removing not needed org.restlet.ext.fileupload dependency
- GEOS-12028 Update ‘com.google.code.gson’ dependency version
- GEOS-12029 Update ‘com.google.protobuf’ dependency version
- GEOS-12049 Remove GWC InMemory cache support
For the complete list see 2.28.3 release notes.
Community Updates
Community module development:
- GEOS-11509 OGC API 3D GeoVolumes community module
- GEOS-12002 hz-cluster: homepage pop-up fails
- GEOS-12030 Features templating xstream tags conflict with geofence
- GEOS-12044 STAC search endpoint should report invalid collection names as invalid parameters instead of internal errors
- GEOS-12061 New Community Module for PNG-WIND output format for wind datasets
Community modules are shared as source code to encourage collaboration. If a topic being explored is of interest to you, please contact the module developer to offer assistance.
About GeoServer 2.28 Series
Additional information on GeoServer 2.28 series:
- GeoServer 2.28 User Manual
- GeoServer 2025 Q4 Developer Update* Advertise and Enforce Attribute Restrictions
Release notes: ( 2.28.3 | 2.28.2 | 2.28.1 | 2.28.0 | 2.28-M0 )
GeoServer 2.27.5 Release
GeoServer 2.27.5 release is now available with downloads (bin, war, windows), along with docs and extensions.
This is the last scheduled maintenance release of GeoServer series 2.27 - providing existing installations with minor updates and bug fixes. GeoServer 2.27.5 is made in conjunction with GeoTools 33.5, and GeoWebCache 1.27.5.
Are you aware that the all new GeoServer 3 is just around the corner?
And, separately as a special sneak peek, if you’re interested in ARM64 docker images (for example, on AWS, Graviton3 offers a 40% better price performance) then check out this 2.27.5 release as a multi-platform (amd64 & arm4) build, which will very soon be merged into the official docker.osgeo.org repo as the new multi-architecture builder going forward.
Thanks to Peter Smythe (AfriGIS) for making this release and driving the ARM64 docker images.
Release notes
Improvement:
- GEOS-12023 Improve developer logging during catalog resources loading and WMS capabilities requests
- GEOS-12033 Allow to configure custom CRS authorities and transformations
- GEOS-12037 Support Metatiling on MapBox Vectortiles
Task:
For the complete list see 2.27.5 release notes.
About GeoServer 2.27 Series
Additional information on GeoServer 2.27 series:
- GeoServer 2.27 User Manual
- CITE Certification achieved
- GeoServer 2025 Q2 Developer Update
- GeoServer 2025 Roadmap
- Content-Security-Policy Headers
- OGCAPI Features Extension
- File system access isolation
- Promote data dir catalog loader to core
Release notes: ( 2.27.5 | 2.27.4 | 2.27.3 | 2.27.2 | 2.27.1 | 2.27.0 )
GeoServer 3 First public release date
We are happy to announce that GeoServer 3 is approaching general availability with a target release date of 15th of April 2026.

This major upgrade modernises the platform’s foundation with the migration to Spring 7 and JDK 17, brings a refreshed user experience and replaces legacy image-processing components with ImageN to deliver significantly improved raster performance and maintainability. The release aligns GeoServer with current Java ecosystems, strengthens security and vulnerability management, and simplifies cloud-native deployments. You can read more about the GeoServer 3 initiative on this page.
GeoServer 3 progress has been made possible by a successful community crowdfunding campaign. This activity is possible due to financial support of sponsors listed below, and a consortium (Camptocamp, GeoCat and GeoSolutions) providing coordination and additional co-funding to move from planning into delivery.
We will publish additional announcements, along with upgrade and testing instructions in the coming weeks. The core team will ask for focused community testing on upgrade paths, high-volume raster workflows,and tiling scenarios. Final QA, packaging and documentation work is ongoing to ensure a smooth upgrade experience and clear operational guidance for administrators.
Watch the usual GeoServer channels for the release announcement and release notes. Contact the project team if your organisation can help with final testing or needs tailored migration assistance.
GeoServer 3 is supported by the following organisations:
Individual donations: Abhijit Gujar, Hennessy Becerra, Ivana Ivanova, John Bryant, Jason Horning, Jose Macchi, Peter Smythe, Sajjadul Islam, Sebastiano Meier, Stefan Overkamp.
Behind The Scenes
- GeoServer 3.0-RC, a crowdfunded success story
- GeoServer 3 First public release date
- GeoServer 3 Sprint Update
- GeoServer 2025 Q4 Developer Update
- GeoServer 3 Crowdfunding Goal Surpassed!
- GeoServer 2025 Q2 Developer Update
- GeoServer 3 Crowdfunding – Last Call!
- GeoServer 3 Crowdfunding Campaign Reaches Major Step: 80% Funding Completion
- GeoServer 2025 Roadmap
- GeoServer 2024 Q4 Developer Update