菜单
文档面包屑箭头 Grafana 文档面包屑箭头 发布说明面包屑箭头 Grafana 9.0.0-beta2 发布说明
Grafana Cloud Enterprise 开源

Grafana 9.0.0-beta2 发布说明

特性与增强

错误修复

破坏性变更

弃用 [auth.proxy] 下已弃用的 ldap_sync_ttl 设置。从现在起,只有 sync_ttl 生效。问题 #49902

移除对已弃用的 headingdescription 属性的支持。今后应使用 Card.HeadingCard.Description 组件。问题 #49885

移除 Button 组件中已弃用的 link 变体。要迁移,请将所有使用 variant="link" 的地方替换为 fill="text"。问题 #49843

移除 IconButton 组件中已弃用的 surface 属性。此属性已有一段时间未生效,因此可以直接删除其任何用法实例。问题 #49715

移除 `@grafana/data` 中已弃用的 `TextDisplayOptions` 导出,转而使用 `@grafana/schema` 中的 `VizTextDisplayOptions`。要迁移,只需将 `TextDisplayOptions` 替换为 `VizTextDisplayOptions`。问题 #49705

移除对已弃用的 `getColorForTheme(color: string, theme: GrafanaTheme)` 函数的支持,转而使用 `theme.visualization.getColorByName(color: string)` 方法。此方法的输出与已移除的函数相同,因此迁移只需将 `getColorForTheme(myColor, myTheme)` 的调用重写为 `myTheme.visualization.getColorByName(myColor)`。问题 #49519

在 Prometheus 数据源中,出于一致性和性能原因,我们更改了表示从 Prometheus 接收到的 `NaN`(非数字)值的方式。在过去的版本中,我们在前端(用于仪表盘和探索)将这些值转换为 `null`,而在警报路径中保持为 `NaN`。从本版本开始,我们将始终保持为 `NaN`。此更改对用户来说应该是基本不可见的。问题 #49745

使用自定义 Webpack 配置的插件可能会因为 webpack@4 和 webpack@5 之间的更改而损坏。请参阅官方迁移指南获取帮助。

Webpack 5 默认不包含 node.js 核心模块的 polyfills(例如 `buffer`、`stream`、`os`)。这可能导致插件构建失败。如果需要 polyfills,建议在插件仓库的根目录创建自定义 webpack 配置并添加所需的 fallback

js
// webpack.config.js

module.exports.getWebpackConfig = (config, options) => ({
  ...config,
  resolve: {
    ...config.resolve,
    fallback: {
      os: require.resolve('os-browserify/browser'),
      stream: require.resolve('stream-browserify'),
      timers: require.resolve('timers-browserify'),
    },
  },
});

请参阅 webpack 构建错误消息或官方迁移指南以获取 fallback 的帮助。问题 #47826

我们更改了 `backendSrv.fetch()` 的内部实现,以便在响应是错误的 JSON 时抛出错误。

JavaScript
// PREVIOUSLY: this was returning with an empty object {} - in case the response is an invalid JSON
return await getBackendSrv().post(`${API_ROOT}/${id}/install`);

// AFTER THIS CHANGE: the following will throw an error - in case the response is an invalid JSON
return await getBackendSrv().post(`${API_ROOT}/${id}/install`);

何时将响应作为 JSON 处理?

  • 如果响应带有 `"Content-Type: application/json"` 头部,或者
  • 如果 backendSrv 选项( `BackendSrvRequest`)将响应指定为 JSON:`{ responseType: 'json' }`

此更改后如何工作?

  • 如果响应被识别为 JSON 响应且响应为空,则返回一个空对象 `{}`
  • 如果响应被识别为 JSON 响应且存在格式错误,则抛出错误

如何迁移? 确保在使用 `backendSrv.fetch()`(或任何其他 `backendSrv` 方法)的调用处处理可能的错误。问题 #47493

插件开发修复和更改