Drupal 11.1.0正式发布

作者:成都长风云Drupal开发团队 

原文地址:https://www.drupal.org/project/drupal/releases/11.1.0

 

一、发布说明

Drupal 11.1.0是Drupal 11的一个功能版本,可以在生产站点上使用。了解更多关于Drupal 11: https://www.changfengyun.cn/drupal11

此次要版本提供了改进和新功能。它不会破坏公共API的向后兼容性(BC)。内部API和实验模块可能会发生变化。如果是这样,贡献和自定义模块和主题可能需要更新。这是根据Drupal核心的向后兼容性和实验模块策略。

此版本可能包括字符串更改和添加。翻译人员可以在localize.drupal.org上查看最新的翻译状态。

Drupal 11.1.x将在2025年12月之前获得安全支持。Drupal 11.0.x将继续获得安全支持,直到2025年6月。

二、重要更新信息

1、11.1.0标签已被移除

由于打包的原因,11.1.0 tag已被移除并重新创建。这不会对您使用网站造成任何影响。

2、对网站所有者管理的文件的更改

在默认的.htaccess文件中添加了一个指令,该指令在启用MIME Apache模块时为webp图像附加正确的image/webp标头。对于运行在不支持webp-image MIME类型的操作系统上的Apache web服务器上托管的网站,这是必要的。这些网站应该更新其.htaccess文件以利用这一改进。

PHP 8.4或Symfony 7.2不再支持sid_length和sid_bits_per_character配置选项,因此它们已从default.services.yml中删除。网站应从所有的services.yml文件中删除这些设置。

创建块不再需要“访问内容块概述页面”权限。这意味着,对给定块类型具有“创建新内容块”权限的角色将能够创建这些块,而在以前的版本中则无法创建。网站所有者应审核其阻止内容权限,以确保在所有情况下都有意授予阻止创建访问权限,现在还可以考虑撤销不需要的角色对内容阻止概述列表的访问权限。

三、API和behavior更改

大多数过程钩子现在都是在类中实现的。我们建议正在更改核心钩子实现的站点审查这些实现,并根据需要进行更新。有关更多详细信息,请查看以下两条变更记录:

挂钩现在可以在类中实现(关于新API的信息)

(关于核心实现转换的信息)

资产现在按依赖关系排序,而不是依赖于库附加到页面的顺序。这是一个bug修复,解决了资产处理的各种问题。但是,在某些情况下可能会有副作用(例如,如果库指定了与其依赖项冲突的单个资产权重)。模块或主题作者应审查其项目中指定自定义权重的库依赖关系,并评估任何依赖关系,以确定它们是否受到此更改的影响。

帐户设置的默认值“谁可以注册帐户?”已从“访问者,但需要管理员批准”更改为“仅限管理员”。此更改仅适用于使用“标准”或“最小”安装配置文件构建的新站点。

使用Composer是安全、正确地向Drupal安装添加新代码的唯一方法。因此,以下页面(支持通过文件上传安装模块和主题)已被删除,无需更换:

“添加新模块”页面位于/admin/modules/install

“添加新主题”页面位于/admin/theme/install

“添加新模块或主题”页面位于/admin/reports/updates/install

页面缓存和动态页面缓存响应标头已得到改进,以包含有关缓存能力的更多详细信息。

添加了一个新的工作区UI模块,该模块提供了工作区模块的路线和工具栏集成。这是为了允许在core或contrib中实现替代用户界面。

已使用工作区的站点将在更新中自动启用workspaces_ui。

四、自动化测试更改

Drupal核心自动化测试和测试API需要严格的类型。测试必须在打开php标签后添加以下行:

declare(strict_types=1);

五、实验模块更改

包管理器已被添加为一个隐藏的实验模块。这是为了允许对自动更新和项目浏览器进行测试,并最终将其添加到Drupal核心的未来版本中。

六、PHP依赖关系更改

Symfony已更新到7.2.0。

Twig已更新到3.14.2。

七、PHP开发依赖关系更改

Composer已更新到2.8.1。

OpenTetry已更新到1.1.0。这增加了额外的开发依赖项,包括tbachert/spi Composer插件。当Composer安装此软件包时,可能会询问您是否信任此插件。除非您使用的是OpenTetry性能测试,否则在Drupal中,您可以安全地回答“否”这个问题。

前端(CSS和JavaScript)生产依赖关系更改

CKEditor已更新到44.0.0。

jQuery UI已经更新到1.14.0。

八、PHP支持

Drupal11.1支持php8.4

九、HOOKS(钩子)可以写成类

Drupal独特的钩子系统允许修改表单、数据更新、站点流程、渲染结构,甚至其他钩子的顺序。经过许多贡献者的长期努力,现在还可以使用更符合现代PHP代码设计实践的面向对象技术来定义钩子和钩子实现。这也将使熟悉其他项目的PHP开发人员更容易理解Drupal的代码。所有运行时核心钩子都已转换为面向对象的实现。

有了这个新功能,将不再需要以下魔术全局函数:

function hook_entity_insert(EntityInterface $entity) {
  // DO STUFF
}

相反,开发人员可以在方法上使用新的Hook属性:

class ExampleHooks {
  #[Hook('entity_insert')]
  public function entityInsert(EntityInterface $entity): void {
    // DO STUFF
  }
}

工作区用户界面分离成自己的模块 作为使用工作区进行内容审核的更大计划的一部分,工作区模块的用户界面被移动到单独的工作区UI模块中。对于新网站,如果要使用用户界面启用工作区,现在需要安装此模块。

联系我们

提供基于Drupal的门户网站、电子商务网站、移动应用开发及托管服务

联系电话
137-9572-6015
长按加微信
长风云微信
长按关注公众号
长风云公众号