Grafana 9.0.0-beta2 发布说明
特性与增强
- 警报: 在导航栏添加旧版指示器。 #49511, @peterholmberg
- 警报: 为电子邮件通知器添加模板化主题配置。 #49742, @JacobsonMT
- 警报: 为开源版和企业版启用统一警报。 #49834, @grobinson-grafana
- 警报: 使 alertmanager 数据源稳定。 #49485, @gillesdemey
- Angular: 移除已弃用的 Angular 模态框支持和库。 #49781, @torkelo
- AuthProxy: 移除已弃用的 ldap_sync_ttl 设置。 #49902, @kalleep
- 构建: 为前端资产启用长期缓存。 #47625, @jackw
- 杂项: 移除已弃用的 TextDisplayOptions 导出。 #49705, @kaydelaney
- 杂项: 移除 IconButton 中已弃用的
surface
属性。 #49715, @kaydelaney - 杂项: 移除对已弃用的 getColorForTheme 函数的使用。 #49519, @kaydelaney
- 日期选择器: 添加 minDate 属性。 #49503, @alexanderzobnin
- 通知历史: 默认启用。 #49502, @ashharrison90
- Prometheus: 在查询中添加 pluginVersion。 #49414, @toddtreece
- Prometheus: 默认启用 prometheusStreamingJSONParser。 #49475, @toddtreece
- Prometheus: 为 Azure 身份验证预定义范围。 #49557, @kostrse
- Prometheus: 流式 JSON 解析器性能改进。 #48792, @toddtreece
- 值映射: 添加对多行正则表达式替换的支持。 #49607, @ashharrison90
错误修复
- 可访问性: 在模态框或仪表盘设置中按下 Esc 键可正确关闭叠加层。 #49500, @ashharrison90
- 警报: 验证警报通知 UID 长度。 #45546, @wbrowne
- BackendSrv: 获取无效 JSON 时抛出错误。 #47493, @leventebalogh
- 修复: 时间序列迁移正则表达式覆盖。 #49629, @zoltanbedi
- Loki: 修复查询构建器中的 unwrap 解析问题。 #49732, @ivanahuckova
- 导航: 在移动视图中正确放置汉堡菜单。 #49603, @ashharrison90
- 面板编辑器: 修复表格视图和多数据帧的问题。 #49854, @JoaoSilvaGrafana
- 偏好设置: 修复导航栏和查询历史偏好设置更新问题。 #49677, @ivanahuckova
- 时间范围: 修复了时间跨度为 0 的时间范围缩小时的问题。 #49622, @JoaoSilvaGrafana
- 变量: 修复了数据源变量在面板查询中未正确使用的问题。 #49323, @JoaoSilvaGrafana
破坏性变更
弃用 [auth.proxy] 下已弃用的 ldap_sync_ttl 设置。从现在起,只有 sync_ttl 生效。问题 #49902
移除对已弃用的 heading
和 description
属性的支持。今后应使用 Card.Heading
和 Card.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
// 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 时抛出错误。
// 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
插件开发修复和更改
- UI/卡片: 移除已弃用的属性。 #49885, @kaydelaney
- UI/按钮: 移除已弃用的“link”变体。 #49843, @kaydelaney
- 工具包: 更新依赖项。 #47826, @jackw