GeoServer/GeoTools PMC Meeting at 18:30 CET / 9:30 PST tomorrow

Reminder that the next PMC meeting is scheduled for tomorrow, December 2, at 18:30 CET.

Cheers,
Torben

GeoTools / GeoServer PMC meeting - 2025-12-02

Attending

  • Torben Barsballe
  • Cécile Vuilleumier
  • Kevin Smith
  • Andrea Aime
  • Jody Garnett
  • Peter Smythe

Actions from prior meetings:

  • All: Test out the GeoServer 3.0 Nightly build
  • Gabe: Release 2.28.1

Agenda

  1. Migrating away from H2, PostGIS testcontainers
  2. OSGeo repo migration
  3. GeoServer acceptance tests
  4. Spring 7
  5. GSIP-237 - Update OpenAPI (Swagger) specs
  6. Chit Chat

Actions

  • Check builds for repo.osgeo.org for 502 errors, it seems like it has improved :slight_smile:

Migrating away from H2, PostGIS testcontainers

Thanks for moving away from H2, it is a mess:

  • Broke compatibility between versions, no update path for files on disk … like at all
    (thus no longer suitable for our use as an easy on disk local database…)
  • And anyway HSQL (version 1) is still alive - lol!

https://discourse.osgeo.org/t/wfs-join-test-migrated-away-from-h2-to-online-test-or-not/151052/3

  • H2 was removed from core, but is still used in a few extensions, okay a lot of extensions and tests, …
  • How to address use in Tests
    • Move to GeoPackage where possible
    • Move to HSQL where possible
    • Aside: There is a new H2Store written, but it conflicts with the old H2 package names, so we would have to remove all the others first, so this is not an option until “the end”… which would result in double work.
  • However SQL view tests, spatial joins tests, … these do not work!
    • So test with PostgreSQL and TestContainers
    • These are slower to start, 1-2 seconds, …
      … but would it be skipped if Docker is not available?
    • But we could isolate it in a profile like OnlineTests?
      • However OnlineTests only enable if config is available, so you can choose what to test locally
    • Could make profile on by default, so you can disable if you have docker around for another use, …
      • Test containers has a hidden file you can provide to ask test containers to never unload, so you do not pay startup time each time you build locally
    • Suggestion: use a docker system variable that controls whether we run those tests or skip them, on by default (and also check if docker/podman are around)
      • Do not clean up PostgreSQL container, so it can be reused, across modules, …

OSGeo repo migration

Did this go ahead? Yes … it went ahead after our release.

Actions:

  • Check builds for repo.osgeo.org for 502 errors, it seems like it has improved :slight_smile:

GeoServer acceptance tests

https://github.com/geoserver/geoserver/pull/8968

Runs REST requests, checks results, runs OWS requests to follow up and check that the results are working. Basically, like CITE tests but for GeoServer specific functionality

Tests are written in python here:

Spring 7

GS3 Milestone 2 is successful in updating to Spring Framework 6!

  • but Spring Framework 6 is reaching EOL in June 2026 (no Spring 6.3 planned)

What happened to Spring Framework 6.3? The next one is Spring Framework 7 :slightly_smiling_face:

So now we need a GS3 Milestone 2.5 that updates to Spring Framework 7

  • The OpenRewrite update is okay, the bulk of the changes is moving to Jackson 3
  • Good news Jackson 2 and Jackson 3 can be run at the same time, use different package names
    (this is what H2 should of done)

Results of updating Spring Framework and Jackson:

So this is on the table for now, an option to allocate someone, either within the GS3 budget, or with an extension to the activity. Expect this to be a developer rather than a full sprint …

Unknowns:

  • GeoServer Security 7 is not looked at yet
    (a mix of spring security 6 + spring 7 seems to work)
  • GeoServer Cloud is in scope for GS3, and this this would need to update Spring Boot 4

GSIP-237 - Update OpenAPI (Swagger) specs

\- [https://github.com/geoserver/geoserver/wiki/GSIP-237](https://github.com/geoserver/geoserver/wiki/GSIP-237)

Step 1: use an AI agent to compare the current with doc and amend

  • this would be a solid update

Step 2: use an AI agent to add annotations

  • caution: automatic generation does not just rely on annotations, it also requires the structures, we do not use basic jackson on object beans (which is what swagger expects)
  • We use xstream and converters, so the objects do not clearly map to swagger structure
  • See this discussion from the last time we tried to do this, back in 2021: https://sourceforge.net/p/geoserver/mailman/message/37226272/

Chit Chat

GeoServer 2.28.1 release?

  • Yes it went out, thanks Gabe and others for the release…
  • Two security vulnerabilities announced at the same time
    • historical (ie old) that in some cases have been fixed for some time … like 2.25.x era

Build server stability:

  • we ran out of disk space during foss4g code sprint
    • Andrea asked it to clear assembly zip files after each build (for each branch being built), …
    • Most builds currently default to cleanup after 30 days, which is fine for normal operation but can accumulate when running a lot in a short period of time.
    • There is an option to add a “max number of artifacts to keep” we could enable to avoid this in the future

FOSS4G Auckland

  • relaxed event, 400 people
  • smoothly organized
  • Jody made way too many workshops and presentations (4 workshops and a lot of presentations)
  • GT/GS intro ones went fine
    • BOM issues found during the GT workshops
    • Intellij changed enough that one cannot follow easily (new class now takes full.package.name.with.Class rather than two fields)
  • GS3 developer one more difficult, quickstart/setup for GS are hard to get into
  • GN5 harder, too much changing
  • Presentations went fine, vector tiles a bit more difficult than others, but it was important for GS to be in the room for both cloud native formats and OGCAPI tracks
  • Interviewed by a podcast, mapscaping, on security with kindness presentation
  • OSGeo lacking volunteers, need to switch to funding

See OSGeo Discussion: