GeoServer 2.24.0 版本发布


发布日期 : 2023-10-24 00:56:37 UTC

访问量: 385 次浏览

GeoServer 2.24.0 发布

GeoServer 2.24.0 版本现已提供下载(bin/war/windows)以及文档和扩展。 这是推荐用于生产用途的 GeoServer 稳定版本。 GeoServer 是与 Geotools 30.0、 mapfish-print-v2 2.3.0 和 GeoWebCache 1.24.0 结合使用的。 感谢 Peter Smythe(AfriGIS) 和 Jody Garnett(GeoCat)发布此版本, 同时感谢所有帮助测试候选版本的人。

升级注意事项

GeoServer 努力保持向后兼容性,以实现平滑的升级体验。 在此版本中有一个小的更改要分享:

在 GeoServer 2.22.5 和 2.23.2 中, 可以使用此设置,但默认情况下处于关闭状态。 如果您还无法升级到 2.24.0, 可能会希望启用推荐的设置。

安全考虑

此版本解决了安全漏洞, 被认为是生产系统的重要升级。 本文将根据协调的漏洞披露政策适时更新 CVE 编号。

IAU 权威支持和 EPSG 假设取消

新的 gs-iau 扩展模块为来自国际天文学联合会的行星 CRS 提供支持。 这使得用户可以使用众所周知官方支持的代码来管理月球、火星甚至太阳上的 GIS 数据。 除此之外, CRS 及其文本表示形式(纯代码、URL、URI)的管理中出现了许多错误修复, 因此 EPSG 权威机构不再被认为是在许多地方的唯一可能性, 例如:GML 输出。 代码库中这种假设已经存在了二十年之久, 尽管我们做出了很大的努力来消除这种假设, 但它可能仍然潜伏在某些地方, 请测试并告知我们。

IAU 权威支持

IAU 权威支持和 EPSG 假设取消

要了解有关此扩展的更多信息, 请访问用户指南文档(https://docs.geoserver.org/latest/en/user/extensions/iau/index.html)。 感谢 Andrea Aime (GeoSolutions) 参与这项活动。

GeoServer Printing 扩展更新

Printing 扩展发生了巨大变化 - GeoSolutions 多年来开发了许多新功能。 通过此更新,GeoNode 和 MapStore 现在可以开箱即用地使用 Printing 模块(无需更多自定义)。 此更新涵盖了 MapFish Print 2.3.0 的发布(并恢复了网站用户指南)。 GeoServer 文档已更新, 包含涵盖新功能的配置选项。

  • 多列图例的最大列数配置
  • 图例中的简单彩色框图标
  • GeoServer CQL_FILTER 参数的显式支持(也支持图层合并): wiki
  • 图例拟合
  • 不破坏图例项目
  • 对列中的图例块重新排序
  • 图片内容
  • 动态图像页面
  • 多页图例
  • ScalebarBlock 中的自定义间隔
  • 集群支持 wiki
  • 文本块中的 HTML 渲染
  • 额外页面
  • 属性块中的分组渲染
  • 跳过页面渲染
  • 自动 X 转发
  • Base64 编码图像的解析

感谢 GeoSolutions 为 GeoNode 项目的 mapfish-print 添加了功能, 感谢 Tobia Di Pisa 和 Giovanni Allegra 的集成测试。 Jody Garnett (GeoCat) 负责更新 Java 11 的 Mapfish print-lib 并收集不同分支和分支的功能, 并将更新的配置说明与 GeoServer 用户指南集成。

新的安全 > URL 检查页面

之前的 2.23 系列在“安全”菜单下添加了新的“检查 URL”功能,但出于向后兼容性的原因,该功能默认处于关闭状态。此功能允许管理员管理 OGC 服务对外部资源的使用。 为了向后兼容, 它已包含在 GeoServer 2.22.x 和 2.23.x 系列中。 向后兼容性说明:从 GeoServer 2.24.0 开始, 此功能默认打开。

新的安全 > URL 检查页面

有关如何使用 URL 检查页面的信息和示例,请访问用户指南文档。

  • GSIP 218 - 控制 GeoTools\GeoServer 发送的远程 HTTP 请求
  • GEOS-10949 控制 GeoServer 访问的远程资源
  • GEOS-11048 改进 URL 检查

项目更新

更新的安全政策

此版本遵循修订后的安全策略。 我们现有的“负责任的披露政策”已被重新命名, 这种做法现在被称为“协调漏洞披露”。 去年启用了 GitHub 私人漏洞报告, 现在将使用这些设施来发布 CVE 编号。

协调漏洞披露

披露政策

  • 报告的漏洞已通过使用 geoserver-security 列表进行验证
  • GitHub 安全公告用于预留 CVE 编号
  • 修复或文档说明被接受并向后移植到“稳定”和“维护”分支
  • 修复了“稳定”和“维护”下载(按计划发布,或通过紧急更新发布)
  • CVE 漏洞已发布,并附有缓解措施和补丁说明

这代表了透明度和参与之间的平衡, 不会压倒参与者。 鼓励那些寻求更大知名度的人自愿加入地理服务器安全列表; 或与代表其客户参与的商业支持提供商之一合作。

这一变化已经改善了与安全研究人员的互动。 感谢 Jody Garnett (GeoCat) 代表 GeoCat Live 客户提出的建议。

  • GSIP 220
  • SECURITY.md

开发者更新

内部重构以删除 “org.opengis” 软件包的使用

在 OGC GeoAPI 工作组代表投诉后, GeoTools 项目不再使用该 org.opengis 软件包, 而是使用相同的包名称。 接口已移至 org.geotool.api 软件包中, 并进行了一些常规清理。

虽然这不会直接影响 GeoServer 用户, 但对于那些安装了自定义的、自制插件的用户来说, 这可能会导致必须迁移这些插件。 对于这些,GeoTools 项目提供了迁移指南, 以及可以执行迁移的重构脚本, 或者让您接近工作点。 GeoServer 本身已使用这些脚本进行迁移, 只需最少的手动干预。

有关更多详细信息以及如何访问迁移脚本, 请参阅 GeoTools 30 升级指南(https://docs.geotools.org/stable/userguide/welcome/upgrade.html#geotools-30-x)。 感谢 Jody Garnett (GeoCat)、Andrea Aime (GeoSolutions) 和 Ian Turton (ASTUN Technologies) 为本次活动所做的所有辛勤工作。 我们还要感谢开源地理空间基金会设立跨项目活动并提供财政支持来解决这一要求的变更。

社区模块更新

虽然严格来说不是此版本的一部分, 但了解一些仅在 2.24.x 系列中才能找到的社区模块进步很有趣。 两个扩展不再受到积极支持, 现在作为社区模块提供:

以下社区模块已被删除(由于缺乏兴趣):

OGC API 社区模块不断完善

OGC API 社区模块不断完善。 特别是,得益于 GeoNovum 的赞助, GeoSolutions 使 OGC API 功能模块通过了 OGC CITE 合规性测试, 符合 “核心” 和 “CRS 参考” 一致性类别。 除了这项工作之外, 还发生了其他重大变化:

  • 使 API 版本号出现在服务路径中,
  • 方便将来的升级。

支持可配置链接, 这是获得 INSPIRE 下载服务合规性所必需的。 除此之外, 新的 “搜索” 实验一致性类允许以类似于 STAC API 的方式将复杂的搜索作为 JSON 文档发布到集合中。

OGC API 社区模块

OGC API 社区模块不断完善

我们鼓励对这项工作感兴趣的人联系 Andrea Aime (GeoSolutions)。

DataDir 目录加载器

对于处理非常大的目录的人们来说, 现在可以使用云原生地理服务器的一些改进来减少启动时间。 感谢 Gabriel Roldan 将这一改进合并到社区模块中, 供 GeoServer 社区的其他成员享受。

GeoServer 访问控制列表项目

GeoServer 访问控制列表项目是一个独立的应用程序服务, 用于管理访问规则, 以及一个基于每个请求请求授权限制的 GeoServer 插件。 Gabriel Roldan 是任何对此工作感兴趣的人的联系点。

  • GSIP 217 - GeoServer ACL 项目

Vector mosaic 和 FlatGeoBuf 模块具有显着的性能改进

FlatGeoBuf 是一种“地理数据的高性能二进制编码”, 它是一种单一文件格式, 也能够实现云原生并包含空间索引。 GeoServer 通过 WFS FlatGeobuf 输出格式提供对此格式的访问, 它不仅可以写入该格式, 还可以将其作为标准数据存储读取。

Vector mosaic 数据存储支持创建由单个文件矢量数据组成的 mosaic, 这在数据访问针对较大数据集的子页面的情况下非常有用(例如,单次数据,或单个客户,或从一组非常大的统一向量中收集单个数据), 并且其数据库存储变得要么太慢, 要么太昂贵。

通过将 FlatGeoBuf 存储在廉价的存储上, 这两个模块对于那些需要处理非常大的矢量数据集的人来说是一个很好的组合。 特别是,FlatGeoBuf 模块的速度得到了提高, 使其成为新的“最快矢量格式”, 适用于需要在屏幕上一次性显示大型数据集的情况(PostGIS 仍然是任何需要复杂数据处理的领域之王)而是过滤)。

作为参考, 我们使用基于 7 类分位数的 SLD 对精准农业收集中的 400 万个微小多边形进行了定时渲染, 这是地图的一小段摘录:

矢量马赛克和 FlatGeoBuf 模块具有显着的性能改进

以下是渲染全套多边形的时间,通过单个 GetMap 请求同时将它们全部显示在屏幕上:

  • PostGIS,113 秒
  • Shape 文件,41 秒
  • Flatgeobuf,36 秒

调整尚未完成,还可以进行更多优化。

发行说明

(包括候选版本 2.24-RC 中所做的更改)

改进

  • GEOS-11114提高预身份验证场景中的可扩展性
  • GEOS-11130在添加新角色中对父角色下拉列表进行排序
  • GEOS-11142为 yaml 文件添加 mime 类型映射
  • GEOS-11148更新资源 REST API 的响应标头
  • GEOS-11149更新样式发布者的响应标头
  • GEOS-10926社区模块 Proxy-Base-Ext
  • GEOS-10934 CSW 在欢迎页面上不显示标题/摘要
  • GEOS-10973 DWITHIN 委托给 mongoDB
  • GEOS-10999使 GeoServer KML 模块依赖 HSQLDB 而不是 H2
  • GEOS-11005确保 H2 依赖项包含在仍然需要它的可选模块的包中
  • GEOS-11059地图预览不应承担 EPSG 权限
  • GEOS-11081添加选项以禁用 GetFeatureInfo 转换栅格图层
  • GEOS-11087修复isolatedcatalogfacade不必要的性能开销
  • GEOS-11090在 WorkspacePage 中使用目录流 API
  • GEOS-11099 RESPONSE_BUFFER_LIMIT 的 ElasticSearch 数据存储文档更新
  • GEOS-11100将不透明度参数添加到 WPS-Download 下载地图中的图层定义中
  • GEOS-11102允许配置 CSV 日期格式
  • GEOS-11116具有组和视图参数的 GetMap/GetFeatureInfo 可能具有不匹配的图层/参数

漏洞

  • GEOS-11138 Jetty 无法启动 cvc-elt.1.a/org.xml.sax.SAXParseException
  • GEOS-11140 WPS 下载可能会泄漏 RasterCleaner 中的图像引用
  • GEOS-11145 GUI“等待微调器”不再可见
  • GEOS-8162 CSV 数据存储不支持相对存储路径
  • GEOS-10452自 2.15.2 以来,Active Directory 授权的使用似乎已损坏(LDAP 仍然有效)
  • GEOS-10874 Log4J:带有 log4j-1.2.14.jar 的 Windows 二进制 zip 发布文件
  • GEOS-10875磁盘配额 JDBC 密码以明文形式显示
  • GEOS-10899特征模板转义两次 HTML 生成的输出
  • GEOS-10903使用 Filter 2.0 进行 WMS 过滤失败
  • GEOS-10921使用启用的功能模板对 HTML 进行双重转义
  • GEOS-10922具有文本/纯格式的模板异常
  • GEOS-10928 OGC API 的 JSON-FG 实施草案 - 功能
  • GEOS-10936 YSLD 和 OGC API 模块不兼容
  • GEOS-10937 JSON-FG 重新投影输出应尊重权威轴顺序
  • GEOS-10958将 Spotbug 更新至 4.7.3
  • GEOS-10981使用 JDBC 配置的 CSW GetRecords 请求缓慢
  • GEOS-10985 GeoServer 目录的备份恢复因 GeoServer 2.23.0 和 StAXSource 而损坏
  • GEOS-10993禁用的资源可能会导致不正确的 CSW GetRecords 响应
  • GEOS-11015 geopackage wfs 输出随着时间的推移构建 tmp 文件
  • GEOS-11016 Docker 每晚构建使用过时的 GeoServer 战争
  • GEOS-11033 WCSDescribeCoverageReferencedEnvelope 带有 null crs
  • GEOS-11060图表和 mssql 扩展 zip 缺少扩展名

任务

  • GEOS-11134关于下载包的反馈:README、RUNNING、GPL html 文件
  • GEOS-11141 日志记录配置强化的生产注意事项
  • GEOS-11091将 spring-security 升级到 5.7.10
  • GEOS-11094将 org.hsqldb:hsqldb:2.7.1 更改为 2.7.2
  • GEOS-11103将 Hazelcast 版本升级到 5.3.x
  • GEOS-10248 GeoServer 重新加载期间 WPSInitializer NPE 失败
  • GEOS-10904从 1.5.3 到 1.5.4 的碰撞
  • GEOS-10907将 spring.version 从 5.3.25 更新到 5.3.26
  • GEOS-10941将 ErrorProne 更新到 2.18
  • GEOS-10987将 xalan:xalan 和 xalan:serializer 从 2.7.2 升级到 2.7.3
  • GEOS-10988将 spring.version 从 5.3.26 更新到 5.3.27, 将 spring-integration.version 从 5.5.17 更新到 5.5.18
  • GEOS-11010将 guava 从 30.1 升级到 32.0.0
  • GEOS-11011将 postgresql 从 42.4.3 升级到 42.6.0
  • GEOS-11012将 commons-collections4 从 4.2 升级到 4.4
  • GEOS-11018将 commons-lang3 从 3.8.1 升级到 3.12.0
  • GEOS-11019将 commons-io 从 2.8.0 升级到 2.12.0
  • GEOS-11020将测试范围添加到 mockito-core 依赖项
  • GEOS-11062将 httpclient 从 4.5.13 升级到 4.5.14
  • GEOS-11063将 httpcore 从 4.4.10 升级到 4.4.16
  • GEOS-11067将 wiremock 升级到2.35.0
  • GEOS-11080从 WCS 中删除 ASCII 网格输出格式
  • GEOS-11084更新文本字段 css 样式以在视觉上看起来不同
  • GEOS-11092 acme-ldap.jar 使用 Java 8 编译

有关完整列表,请参阅2.24.0发行说明。

有关 GeoServer 2.24 系列的附加信息:

发行说明:( 2.24.0 | 2.24-RC )