github geoserver/geoserver-cloud v3.0.0-RC
GeoServer Cloud 3.0.0-RC

pre-release5 hours ago

We are pleased to announce the release of GeoServer Cloud 3.0.0-RC, the first release candidate of the 3.0 line. This release is built on top of GeoServer 3.0-RC and brings the full platform up to the latest foundation: Spring Boot 4.0.5, Spring Cloud 2025.1.1, and the new GeoServer 3 codebase.

Highlights include a migration from the Netflix Eureka service registry to HashiCorp Consul, a move from the WebFlux-based API Gateway to Spring Cloud Gateway Server MVC, JVM AOT cache training in the Docker images for significantly faster startup, native per-platform Docker builds replacing QEMU emulation, and a new transpiler that replaces GeoServer's XML Spring configurations with build-time generated Java @Configuration classes. The release also introduces the new GeoServer 3 theme and a full-screen OpenLayers 10 preview, alongside numerous stability and compatibility improvements.

What's Changed

Features

  • [GEOS-12063] [GSIP-238] Initial GeoServer 3 theme by @groldan in #793
  • [GEOS-12067] Add full screen OpenLayers 10.0.8 preview by @groldan in #800
  • Migrate service discovery from Netflix Eureka to HashiCorp Consul by @groldan in #798
  • Replace WebFlux gateway with Spring Cloud Gateway Server MVC by @groldan in #782
  • Replace GeoServer XML Spring configurations by Java Configuration classes using a new transpiler annotation processor by @groldan in #805
  • Add JVM AOT cache training to Docker images for faster startup by @groldan in #818
  • Replace QEMU-emulated multi-platform Docker builds with native per-platform runners by @groldan in #820
  • actuator: enable startup endpoint for performance monitoring by @groldan in #768

Improvements

  • Document Docker image architecture in GeoServer Cloud by @groldan in #751
  • Enable AWS S3 acceptance tests in CI by @vuilleumierc in #746
  • Use common acceptance tests by @vuilleumierc in #747
  • Disable DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES when parsing catalog objects by @groldan in #761
  • Add backwards-compatibility tests for Jackson 2 JSON property naming by @groldan in #764
  • Refactor catalog and config Jackson DTOs for clean and consistent distinction from actual object class names by @groldan in #765
  • Remove Controller hack for OWS service endpoints by @groldan in #766
  • Enable javadoc formatting in palantir java format by @groldan in #775
  • Move lib/spring-boot-simplejndi and lib/spring-factory to config/ by @groldan in #776
  • Backwards-compatible serialization for GeoServerTileLayerInfo after [GEOS-12049] Remove GWC in-memory support by @groldan in #779
  • Ensure config/autoconfig Spring Boot processors in all modules with config properties and autoconfigurations by @groldan in #810
  • Set up JNDI DataSources in parallel by @groldan in #812
  • Replace runtime component scanning with build-time @Bean generation in transpiler by @groldan in #817
  • Switch gateway to reactor-netty HTTP client, improve error handling and shutdown via actuator by @groldan in #819
  • Tighten simplejndi cohesion and decouple pgconfig at runtime by @groldan in #823

Bug Fixes

  • Fix SonarCloud PR analysis for fork PRs by @groldan in #750
  • Fix NPE caused by PMTiles layer groups by @vuilleumierc in #755
  • Fix an error that prevented saving customized feature type attributes by @groldan in #759
  • Fix GWC virtual service URLs and clean up handler mapping migration by @groldan in #767
  • Fix acceptance tests and REST API compatibility by @groldan in #772
  • Remove geoserver.security.enabled config property, remnant from catalog-service backend by @groldan in #777
  • ci: add missing removal of snapshot jars from maven cache by @groldan in #788
  • build: allow running scripts from the root directory checkout by @groldan in #795
  • Fix pgconfig dev docker-compose sample image tags by @groldan in #796
  • fix: migrate diagram generation from deprecated structurizr/cli to structurizr/structurizr by @groldan in #797
  • Fix spring.cloud.bus.destination property as of Spring Cloud 2025.1.1 by @groldan in #813
  • Remove empty gwc-cloud-services module by @groldan in #815
  • Fix GeoServer ACL caching client configuration by @groldan in #821
  • Remove unused dependencies on gs-cloud-spring-factory by @groldan in #822

Tasks

  • Upgrade Spring Boot to 4.0.5 / Spring Cloud 2025.1.1 by @groldan in #814
  • Rename root pom artifact gs-cloud-bomgs-cloud-parent by @groldan in #773
  • Document how to recognize contributors by @groldan in #787
  • Supporters documentation, sources, information, etc. by @jemacchi in #786
  • Upgrade Flyway 12.0.2 → 12.1.0 by @groldan in #783
  • chore(deps): match Spring version used upstream by @groldan in #803
  • chore(ci): move ci/requirements.txtacceptance_tests/ci_requirements.txt by @groldan in #806
  • Upgrade logstash-logback-encoder 7.3 → 9.0 by @groldan in #809
  • Upgrade to latest GeoServer 3.0.x by @groldan in #828
  • Upgrade GeoServer ACL to 3.0-RC3 and fix AclSpringCloudBus classpath issue by @groldan in #829
  • Rename Testcontainers-based tests to *IT for Failsafe by @groldan in #830
  • QA fixes by @groldan in #831

Full Changelog: v2.28.2.0...v3.0.0-RC

Don't miss a new geoserver-cloud release

NewReleases is sending notifications on new releases.