Share
Embed
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.
Simone Giannecchini PRO
December 18, 2025
Video
Transcript
39 slides
-
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 -
• 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 -
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 -
• 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 -
• 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 -
• 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> … -
• 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 -
• 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 -
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 -
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 -
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 -
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 -
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 -
• 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 -
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 -
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 -
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 -
OGC API - Features 25 Gabriel Roldan Camptocamp Geo2France and
others 2.27.0 Andrea Aime GeoSolutions Jody Garnett GeoCat -
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 -
• 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 -
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 -
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) -
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 -
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! -
• 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 -
• 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 -
• 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 ♥