GSIP 226 - GeoServer 3
Overview
The number of changes associated with the spring-framework-6 update are significant enough to warrant a new major release.
Proposed By
Jody Garnett
Assigned to Release
This proposal is for GeoServer 3.0.0-M0
State
- Under Discussion
- In Progress
- Completed
- Rejected
- Deferred
Motivation
The number of changes associated with the roadmap spring-framework-6 update are significant enough to warrant a new major release:
- Migrate to spring-framework-6, which requires changing to Jakarta Enterprise Edition (Tomcat 10 and Jetty 12)
- Migrate to spring-security 6 necessitating the replacement of spring-security-oauth and spring-security-keycloak plugins
- Changing to Java 17 minimum
- Replacing our Java Advanced Imaging raster processing engine with for ImageN (mixing in JAI-Ext operators for a complete solution)
- Updating tp Wicket 10, which will require implementing our own dialogs.
We have held off making a new major release for two reasons addressed below:
-
Making a new major release results in a non trivial expense for those who need to do a formal configuration management procedure before updating a major version.
It has been fifteen years since GeoServer 2.0 was released. You should probably do a formal review more often than that. With the amount of change proposed an any feedback from your formal review process would be of benefit to the GeoServer project team.
-
Aspirational goal to only update the version number when we changed the data directory compatibility.
While change of data directory marked the boundary between GeoServer 1 and GeoServer 2. The user experience change from STRUTS to Wicket was more significantly noticed by Users.
Proposal
Assuming crowdfunding appeal is successful the proposal is:
-
Change from
<major>.<minor>.<incremental>: 2.22-M0, 2.22-RC, 2.22.0 2.22.1Treating
SNAPSHOTlike an incremental dot release:2.22-SNAPSHOTTagging off the branch:
2.22.x: 2.22-SNAPSHOT -- 2.22-SNAPSHOT \ \ 2.22-RC 2.22.0 (tag) (tag) -
Change to
<major>.<minor>.<incremental>-<qualifier>: 3.0-M0, 3.0-RC, 3.0.0 3.0.1Handling
SNAPSHOTas a qualifier:3.0.0-SNAPSHOTTagging on the branch:
3.0.x: 3.0.0-SNAPSHOT -- 3.0.0-RC -- 3.0.0-SNAPSHOT -- 3.0.0 -- 3.0.0-SNAPSHOT (tag) (tag)
This approach is compatible with maven release plugin:
mvn --batch-mode release:update-versions -DautoVersionSubmodules=true -DdevelopmentVersion=3.0.0-RC
Backwards Compatibility
Data directory and configuration:
- data directory structure remains unchanged
- data object definition remains unchanged, for jdbc-config
REST API changes:
- http://localhost:8080/geoserver/rest/ - forwards to v1 below
- http://localhost:8080/geoserver/rest/v1
Feedback
Voting
Project Steering Committee:
- Alessio Fabiani:
- Andrea Aime:
- Ian Turton:
- Jody Garnett:
- Jukka Rahkonen:
- Kevin Smith:
- Simone Giannecchini:
- Torben Barsballe:
- Nuno Oliveira:
- Peter Smythe:
Links
©2022 Open Source Geospatial Foundation