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.
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
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
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
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
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
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
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
data storage • Store reads GeoParquet files ◦ Local ◦ HTTP ◦ Blob storage • Uses DuckBD for the actual reading (fast!) 2.27.x Gabriel Roldan Camp2Camp 18
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
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
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
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
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
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
• 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
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
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!
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
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 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 ♥