$30 off During Our Annual Pro Sale. View Details »

State of GeoServer 2.28.0 - December Webinar

State of GeoServer 2.28.0 - December Webinar

In this presentation you will have the opportunity to see all the new features of the latest major release 2.28, discover what is coming in the near future, and interact with the core developers of GeoServer.

Avatar for Simone Giannecchini

Simone Giannecchini PRO

December 18, 2025
Tweet

More Decks by Simone Giannecchini

Other Decks in Technology

Transcript

  1. September 2026 3.0.x Releases covered by this presentation September 2025

    2.27.x 3 March 2026 2.28.x 2.28.x 3.0.x 3.0.x YOU ARE HERE 3.1.x 3.1.x
  2. • Security fixes for supported versions only ◦ In Nov

    2025 “supported” means 2.27.x and 2.28.x • Please upgrade your GeoServer installations! • Always two, there are. No more. No less. ◦ Balance between stability and encouraging development ◦ Easier to get answers - user forum and stack exchange typically cover only supported versions Are you using a older version? Upgrade! Photo by SpaceX on Unsplash 4
  3. Upgrade? What’s in it for me? • Much! • Check

    what’s new in 2.28 and 2.27 • Check the bottom of each slide to see who sponsored a certain feature, who implemented it, and what version contains it ◦ This icon marks activities done without any sponsoring Version Author Sponsor ♥ 5
  4. • As part of the GeoServer 3, Milestone 1, effort,

    we migrated to Java 17 • Starting GeoServer 2.28.0 • Needed as Spring 6 requires Java 17 2.28+ minimum Java version: 17 Gabriel Roldan Camptocamp GeoServer 3 2.28.0 7
  5. • New code for loading the GeoServer data directory •

    Same old XML files, but better performance especially for ◦ Large data directories ◦ Over network file systems • Backport from the GeoServer cloud project • Default loader since 2.27.0 Data directory loader Gabriel Roldan Camptocamp 2.27.x 8 Speed up chart
  6. • Attribute customization now allows to setup, and enforce, attribute

    value restrictions ◦ List of values for strings ◦ Ranges for numbers • Restrictions advertised in DescribeFeatureType → Client can build appropriate editing UI Configure and advertise attribute restrictions Daniele Romagnoli KFW 2.28.0 9 <xsd:schema …> … <xsd:complexType name="statesType"> <xsd:complexContent> <xsd:extension base="gml:AbstractFeatureType"> <xsd:sequence> … <xsd:element maxOccurs="1" minOccurs="0" name="LAND_KM" nillable="true"> <xsd:simpleType> <xsd:restriction base="xsd:double"> <xsd:minInclusive value="1000.0"/> <xsd:maxInclusive value="1.0E8"/> </xsd:restriction> </xsd:simpleType> </xsd:element> …
  7. • GeoServer can already track date of creation and last

    modification of a configuration item • Now, optional and opt-in, it can track the user that last modified it too Tracking user who last modified a configuration Andrea Aime Genova Municipality 2.27.2+ 10
  8. • Allows locking down admins to a certain <folder> when

    setting up file stores • For workspaces admins <folder>/<workspace> • Prevents admins from wandering around on the whole file system File system sandbox Andrea Aime GeoSolutions 2.27.0/2.26.2 11
  9. EPSG database v11.0.31 12 2.27 Daniele Romagnoli GeoSolutions • Long

    overdue update 9 → 11 • New database structure • Updated geodetic information • New EPSG codes: from ~6700 to almost 8000 Deutsche Bahn
  10. Legend graphics transformation functions support 14 2.28.0 Daniele Romagnoli GeoSolutions

    Deutsche Bahn <Fill> <CssParameter name="fill"> <ogc:Function name="Recode"> <!-- Value to Transform --> <ogc:Function name="strTrim"> <ogc:PropertyName>SUB_REGION</ogc:PropertyName> </ogc:Function> <!-- Map of input to output values --> <ogc:Literal>N Eng</ogc:Literal> <ogc:Literal>#6495ED</ogc:Literal> <ogc:Literal>Mid Atl</ogc:Literal> <ogc:Literal>#B0C4DE</ogc:Literal> <ogc:Literal>S Atl</ogc:Literal> <ogc:Literal>#00FFFF</oac:Literal> <ogc:Literal>E N Cen</ogc:Literal> <ogc:Literal>#9ACD32</ogc:Literal> <ogc:Literal>E S Cen</ogc:Literal> <ogc:Literal>#00FA9A</ogc:Literal> <ogc:Literal>W N Cen</ogc:Literal> <ogc:Literal>#FFF8DC</ogc:Literal> <ogc:Literal>W S Cen</ogc:Literal> <ogc:Literal>#F5DEB3</ogc:Literal> <ogc:Literal>Mtn</ogc:Literal> <ogc:Literal>#F4A460</ogc:Literal> <ogc:Literal>Pacific</ogc:Literal> <ogc:Literal>#87CEEB</ogc:Literal> </ogc:Function> </CssParameter> </Fill> Recode Categorize Interpolate
  11. Raster processing engine switch 15 2.28.0 GeoSolutions/GeCat GeoServer 3 •

    Java Advanced Imaging replaced by Eclipse ImageN • ImageN = JAI + JAI-Ext • JAI source code donated by Oracle to Eclipse • Merged with JAI-Ext (by GeoSolutions) for Nodata support, better ROI management, and actual tests being run during the build https://github.com/eclipse-imagen/imagen
  12. Coverage views: raster algebra • Define raster algebra in layer

    configuration • Works for all raster outputs, WCS and WPS included • E.g. NDVI: don’t just view it, download it and use it for processing as well 2.27.x Daniele Romagnoli GeoSolutions RURALL 17
  13. GeoParquet community module • GeoParquet: columnar, cloud native, compact vector

    data storage • Store reads GeoParquet files ◦ Local ◦ HTTP ◦ Blob storage • Uses DuckBD for the actual reading (fast!) 2.27.x Gabriel Roldan Camp2Camp 18
  14. • PMTiles: cloud native, single file archive for tiles (e.g.,

    vector tiles) • The PMTiles store can read tiles from a PMTiles archive for WMS raster rendering • Same role as the MBTiles format, but cloud friendly PMTiles community module 2.28.x Gabriel Roldan Camp2Camp 19 Native PMTiles client WMS - WMTS client
  15. New SingleStore community module • SingleStore is a distributed SQL

    database that supports both transactional and analytical workloads, using a combination of in-memory and disk-based storage. • Designed for low-latency queries at scale and is often used in real-time data applications. • Simple spatial support, only Geography, only single part geometries. Lines are always great circles • New community module 2.27.x GeoSolutions Verizon 20
  16. OGC compliance push 2.27 + ♥ Andrea Aime (GeoSolutions) Peter

    Smith (AfriGIS) 22 - Spin off from OGC API Features effort - Now testing compliance (and passing it) for every code change (Pull Request) - Certified compliant for a number of protocols now! - On the main branch - OGC API Tiles and OGC API Processes too - Tests repeated with JDK 17, 21 and 25
  17. OGC API Features extension 24 - Graduated from community to

    Extension – now part of releases - Code sprint organized by Camp2Camp - Implements: Core, CRS by reference, Filtering, CQL2 - Unofficial extensions for sorting and POST search - Passes CITE test conformance Gabriel Roldan Camptocamp Geo2France and others 2.27.0 Andrea Aime GeoSolutions Jody Garnett GeoCat
  18. OGC API - Features 25 Gabriel Roldan Camptocamp Geo2France and

    others 2.27.0 Andrea Aime GeoSolutions Jody Garnett GeoCat
  19. OGC API - Processes community module 2.27.x Andrea Aime GeoSolutions

    ISSI 26 - Invoke spatial analysis online with the ease of OGC APIs - Sync or asynch execution - Bonus bit not found in the official spec: invoke processes as GET requests too http://host:port/geoserver / ogc/processes/v1/processes/JTS:buffer/execution? geom=POINT(0 0)& geom[type]=application/wkt& &distance=10&capStyle=Square &response[f]=application/json
  20. • Other OGC APIs in various states of completion •

    Please join the development or share funds to push these beyond the finish line too Other OGC API community modules Andrea Aime GeoSolutions GeoSolutions OGC GeoNovum Maps API Coverages API Implementing, yet still incomplete Missing, looking for volunteers/sponsors Records API Process API Tiles API Styles API STAC API 27 COM MUN NITY 2.27 x DGGS API DAPA API Passing OGC compliance*, ready for graduation * A few fixes needed in the tests themselves
  21. Official Docker image x.y.z Several contributors 29 COM MUN NITY

    • Java 17 upgrade • Tomcat 9.0.97 upgrade • CORS headers problem fixed • Allow running as unprivileged user • Set admin credentials with environment variables • GDAL build
  22. GeoServer Cloud 2.26.1+ Gabriel Roldan Camptocamp Several Camptocamp customers 30

    COM MUN NITY • Cloud Native distribution ◦ Built on the strengths of GeoServer ◦ Microservices architecture ◦ Dynamic scaling, advanced security, simplified operations • Tracks GeoServer, latest release 2.28.0.0 • Multi-platform (amd64/arm64) Docker images • Improved Catalog scalability • Improved security scalability with GeoServer ACL • Continuous Integration acceptance tests pipeline • JSON logging output in logstash format • New integrations incl. GeoNode • Horizontal pod auto-scaling (inc. in helm-chart)
  23. Disclosure Policy Update (GSIP 220) • Name Changed ◦ “Responsible

    Disclosure” to “Coordinated Vulnerability Disclosure” • Policy unchanged: ◦ Communicate first ◦ Stable and maintenance branches patched ◦ Patches are released for downloads ◦ Share vulnerability with community • Communication changed: ◦ GeoServer nows provides CVE Numbers ◦ Automated scans flag dependencies with known vulnerabilities, only if a vulnerability is confirmed will we provide a CVE number 32 2.24 Jody GeoCat GeoCat Map
  24. GeoServer 3 effort under way, three milestones, M1 completed, M2

    underway, M3 to come. 35 Spring 5 → 6 JavaEE → Jakarta EE Wicket 7 → 10 Tomcat 9 → 10 Spring security 5 → 6 OAuth/OpenID connect modules rewrite Java 11 → Java 17 Jetty 9 → 12 JAI → ImageN 3 GeoServer 3 Status Report: How We Got Here, How It’s Going Same room, half an hour ago!
  25. • What is mkdocs? ◦ faster than sphinx-build ◦ the

    search works (finally) ◦ offers live preview when editing • markdown is less complicated ◦ Less explicit directives (so we will need writers guidelines to cover conventions) • Lower barrier of entry: ◦ reStructuredText → Markdown • Theme: “material for mkdocs” ◦ Graphics designer likes it ◦ Clear documentation and examples ◦ version and language switchers - Format transition: - pandoc + jody wrote a script WIP: sphinx to markdown ? Jody Garnett Peter Smythe GeoCat Live GeoCat Map 36 • GSIP-221 • Outstanding PR in need of volunteers for completion
  26. • Long requested issue tracker switch • We need to

    find/develop the right tooling ◦ Keep title/comments (most tools do) ◦ Keep attachments (trickier) ◦ Keep cross-issue links ◦ Possibly map users (at least well known ones) • E.g. (does not match all desired) https://github.com/lemeurherve/jira-issues- importer Wish: from Jira to Github issues ? ? ? 37
  27. • The community has a “road map”, but funds are

    the key to enact it • New features, maintenance and security require planning and funding! • Core developers are mostly employed in companies providing commercial services for GeoServer, or using it in a product, or hosting solution → this is the main driver behind GeoServer maintenance and evolution • You can contribute with funding or manpower to sponsor or provide improvements, fixes and new features And then…. whatever else you want to push for Community 38 Everyone ♥