Podman Desktop 1.16 发布
Podman Desktop 1.16 版本发布!🎉
Podman Desktop 1.16 现已发布!点击此处下载!
此版本带来了令人兴奋的新功能和改进:
- 实验性功能:设置中新增“实验性”部分,提供当前实验功能列表及相关讨论链接
- 供应器显示在状态栏:供应器从仪表板移至状态栏,以提高其可见性(实验性功能)
- 仅清理未标记的镜像:清理镜像时,可选择清理“所有未标记的镜像”或“所有未使用的镜像”
- 在容器日志中搜索:可在容器和 Pod 的日志中搜索特定术语
- Kubernetes: 仅监控当前上下文:默认情况下仅监控当前上下文
发布详情 🔍
实验性功能
之前版本的 Podman Desktop 引入了一些实验性功能,可以从“设置”中激活。
在 Podman Desktop v1.16 中,这些实验性功能在“设置”的新增“实验性”部分中可见,并且已创建了专门的讨论页面,可以从此部分访问。


供应器显示在状态栏
如果您激活了实验性功能“Statusbar Providers show Providers”(见上文),供应器将在状态栏中显示其状态。
具体来说,如果供应器至少提供一个资源,它们将显示一个状态,并用图标指示其资源的状态:正在运行或已停止。
在下面的截图中,Podman 供应器指示 Podman machine 正在运行,而 Kind 供应器指示 Kind 集群已停止。


仅清理未标记的镜像
当点击“镜像列表”页面中的“清理”按钮时,现在可以选择要清理的镜像,可以是所有未使用的镜像,也可以是所有未标记的镜像。


在容器日志中搜索
容器输出的日志可能很长,您可能希望在其中搜索特定术语。Podman Desktop v1.16 现在为 Podman 容器和 Kubernetes Pod 提供了此功能。


Kubernetes: 仅监控当前上下文
之前版本的 Podman Desktop 会尝试连接到 kubeconfig 文件中找到的所有 Kubernetes 上下文,以显示每个上下文中存在的 Pod 和 Deployment 数量。
许多用户提出这存在问题。例如,一些用户的 kubeconfig 中定义了许多上下文,连接到所有这些上下文可能被集群视为垃圾信息。
其他用户的上下文指向由云服务提供商托管的集群,连接到这些集群需要定期刷新身份验证令牌。用户(或用户工具)通常会确保当前上下文的令牌是新鲜的,但不一定会为其他上下文这样做。对于某些配置,刷新令牌的操作是为 CLI 工具而非 GUI 工具设计的,Podman Desktop 无法向用户指示应刷新此令牌,并会无限次地尝试连接。
在 Podman Desktop 1.16 版本中,Pod 和 Deployment 的数量仅针对当前上下文显示,用户可以手动选择应为哪些其他上下文显示这些数量。


社区致谢
🎉 我们要向所有帮助 Podman Desktop 变得更好的人表示衷心的感谢。在此版本中,我们收到了以下人员的拉取请求
- @fabricepipart1a 在 #10689 中通过在 ADOPTERS 文件中添加 Amadeus 做出了他们的首次贡献
最后说明
已修复问题
此版本中修复的完整问题列表可在此处查看。
下载地址
从网站的下载部分获取最新版本,用 Podman Desktop 加速您的开发之旅。此外,欢迎访问 GitHub 仓库,看看您如何能帮助我们使 Podman Desktop 变得更好。
详细发布变更日志
实验性功能
- feat(backend): 为配置模式添加实验性属性 by @axel7083 #10437
- feat: 初始化偏好设置项的实验性功能 by @axel7083 #10534
- feat: 设置中的实验性部分 by @axel7083 #10579
- chore: 添加 docker 兼容性实验链接 by @axel7083 in #10770
- chore: 将状态栏任务添加到实验性功能 by @axel7083 in #10778
- feat(ui): 在实验性页面中使用完整记录 ID 作为标题 by @axel7083 in #10796
- fix: 为状态栏供应器添加实验性链接 by @deboer-tim in #10810
日志
使用生产版 Podman Desktop 进行扩展开发(进行中)
- feat: 引入一个标志,以便在使用生产二进制文件时也能看到“显示开发者工具” by @benoitf #10659
- chore: 添加一个属性来存储用作扩展文件夹的文件夹 by @benoitf #10712
- chore: 在 /extend 页面上添加指向 /extensions 页面的链接 by @cdrage #10382
Kubernetes
扩展 API
- feat: 为 dashboard/container 贡献添加 containerImageName 上下文 by @feloy #10262
- feat: 为 icons/containersList 贡献添加 containerImageName 上下文 by @feloy #10261
- chore: 允许为 'DockerCompatibility' 作用域设置上下文值 by @benoitf #10515
UI 组件
- feat(ui): 为设置导航项组件添加 iconPosition 属性 by @axel7083 #10672
- feat: 添加了除 fa 图标外显示 svg 文件的选项 by @gastoner #10309
- feat: 为关闭按钮添加了可选属性 by @gastoner #10374
- chore: 将轮播组件移至 pd svelte 库 by @gastoner #10583
Kubernetes 实验模式(进行中)
- feat: 将 kube 资源分派到前端 by @feloy #10425
- feat: 在实验性上下文模式下将权限分派到前端 by @feloy #10383
- feat: 分派资源计数 by @feloy #10455
- feat: 实验性健康检查前端 by @feloy #10349
- feat: Kubernetes 实验模式的通知器 by @feloy #10174
扩展/Podman
- fix(refactor): 将 Powershell 5 交互重构到一个单独的文件中 by @jeffmaury #10284
- feat: 更新至 podman v5.3.2 by @benoitf in #10761
扩展/Docker
- chore: 将 docker cli 上下文选择实现从核心移至 docker 扩展 by @benoitf #10526
- chore: 如果设置了自定义 docker 配置,则使用正确的上下文 by @benoitf #10555
采用者
UI
- fix(push-manifest): 终端溢出 by @axel7083 #10527
- fix(tasks-panel): 错误溢出省略号 by @axel7083 #10528
- fix: 在下拉菜单中为表单提交添加隐藏输入组件 by @SoniaSandler #10461
- chore(onboarding): 更新欢迎页面文本 by @axel7083 #10563
- chore: 使用 ProviderWidget 添加容器供应器 by @SoniaSandler #10625
- chore: 将 Kubernetes 供应器添加到状态栏 by @SoniaSandler #10699
- chore: 为状态栏添加 ProviderWidget 组件 by @SoniaSandler #9724
- chore: 在 NumberItem 中为给定值添加选项 by @SoniaSandler #10355
- chore: 更改欢迎页面顺序以优先显示容器引擎 by @cdrage #10562
- chore: 使窗口上的图标和标题更大 by @gastoner #10428
- chore: 记住学习中心的折叠状态 by @deboer-tim #9597
- chore: 从连接错误消息中删除错误主体 by @SoniaSandler #10404
- chore: 在 podman machine 重新连接前只显示一条 enoent 错误消息 by @gastoner #10239
- chore: 更新 kubernetes 空页面的样式 by @cdrage #10401
- chore: 允许为 DockerCompatibility 中的下拉菜单设置值 by @benoitf #10516
- feat: 允许仅清理未标记的镜像(而不仅仅是未使用的) by @benoitf #10400
- feat(ui): 添加关闭按钮以隐藏横幅 by @gastoner #10414
- feat: 添加额外的配置值以隐藏推荐横幅 by @gastoner #10322
错误修复
- fix(frontend): 出错时隐藏发布说明图片 by @axel7083 #10510
- fix: 构建无名称镜像应有正确的任务标题 by @jeffmaury #10321
- fix: 通过健康检查检查连接 by @feloy #10457
- fix: 启动应用前清理日志文件 by @benoitf #10500
- fix: 安装期间覆盖现有文件导致 docker-compose 复制失败 by @dgolovin #10313
- fix: 运行 push image 命令时创建任务 by @dgolovin #10267
- fix: 如果未选择架构,则禁用构建按钮 by @benoitf #10686
- fix: 在连接启动且 api 设置后触发 on*DidUpdateContainerConnection 事件 by @feloy #10668
- fix: flathub 发布工作流 by @axel7083 #10387
- fix: 当用户点击外部时隐藏旧版任务管理器 by @dgolovin #10539
- fix: 设置导航项中的边距 by @gastoner #10442
- fix: 布尔类型的偏好设置渲染项未更新 by @axel7083 #10580
- fix: 推送模态对话框错误处理 by @dgolovin #10266
- fix: 处理开发模式下扩展的 watch 模式属性 by @benoitf #10623
- fix: 帮助菜单的切换 by @cdrage #10339
- fix: 更新 ui 包的 spawn 命令 by @jeffmaury #10548
- fix: kube 健康检查存储在非实验模式下不活动 by @feloy #10415
- fix: 使用 option 属性以确保 options 被视为状态 by @deboer-tim #9953
- chore: 修复 Podman 的 pruneAllImages 方法签名 by @benoitf #10388
测试
- chore(ci): 将 Mac 更新 E2E 作业添加到 PR 检查和 e2e-main 工作流中 by @odockal #10384
- chore(ci): 将 mac-update-e2e-test 作业添加到 e2e-main 工作流中 by @odockal #10402
- chore(test): 引入一个父类,封装所有集群创建页面的共享功能 by @amisskii #10373
- chore(test): Kubernetes e2e 测试自动化 by @amisskii #10320
- chore(test): 参数化资源连接操作的超时 by @amisskii #10691
- chore(test): 针对 compose up 的自动检测进行 e2e 测试 by @cbr7 #10658
- chore(test): 将与集群相关的操作提取到一个专用的工具文件中 by @amisskii #10390
- chore(test): 修复不稳定的 kind 集群重启测试 by @amisskii #10421
- chore(test): 修复不稳定的卷删除行为 by @cbr7 #10347
- chore(test): 处理 cli 工具确认对话框 by @amisskii #10532
- chore(test): 增加从 OCI 镜像安装扩展的超时 by @amisskii #10351
- chore(test): 增加等待镜像可用性的时间 by @cbr7 #10645
- chore(tests): 目录更新后调整 e2e 测试中的沙箱名称 by @odockal #10576
- test(PullImage): 添加测试以确保响应性 by @axel7083 #10733
- test(front): 为 PodDetailsLogs 添加单元测试 by @axel7083 #10662
- test(ui): 为 TerminalWindows 添加单元测试 by @axel7083 #10531
- test: kind 详细信息操作 by @amisskii #10710
- fix(ci): 删除 e2e 作业中重复的 pnpm install 步骤 by @odockal #10422
- fix: macos 上容器详情终端的不稳定测试 by @axel7083 #10407
- fix: 不要将 window 用作 any by @feloy #10635
- chore: 在 vitest 设置期间生成所有暴露方法的模拟 by @benoitf #10426
- chore: 处理更多可以模拟方法的场景 by @benoitf #10424
- chore: 添加缺失的模拟方法 by @benoitf #10423
- chore: 为在 windows 上测试每日构建添加 nsis 目标 by @odockal #10684
- chore: 更新扩展的标题 by @benoitf in #10765
- chore(test): 简化拉取镜像测试 by @axel7083 in #10798
重构
- refactor(configuration): 将共享常量移动到
packages/api
by @axel7083 #10344 - refactor(podman): 用扩展 api 替换 isMac by @axel7083 #10417
- refactor(podman-extension): 使用 api env.isLinux by @axel7083 #10403
- refactor(ui): 偏好设置导航组件 by @axel7083 #10346
- refactor: 清理未使用的 kubernetes 客户端代码 by @feloy #10458
- refactor: 将 TerminalWindow 迁移到 svelte5 by @axel7083 #10728
- refactor: 将 typeahead 迁移到 svelte5 by @axel7083 #10727
- refactor: 从 Typeahead 组件中删除搜索函数工作 by @SoniaSandler #10737
- chore: 将 PreferencesRenderingItemFormat 转换为 svelte 5 runes by @benoitf #10495
- chore: 将 AuditMessageBox 迁移到 svelte5 rune by @benoitf #10493
- chore: 将 ContributionActions 迁移到 svelte5 runes by @benoitf #10491
- chore: 将 ExtensionDetailsReadme 迁移到 svelte 5 runes by @benoitf #10492
- chore: 将 ListItemButtonIcon 迁移到 svelte 5 runes by @benoitf #10490
- chore: 将 LoadingIconButton 迁移到 svelte 5 runes by @benoitf #10489
- chore: 将 PreferencesRendering 迁移到 svelte 5 runes by @benoitf #10496
- chore: 将 ProviderResultPage(和 ImageDetailsCheck)组件迁移到 svelte 5 by @benoitf #10446
- chore: 将 PodsList 移至 svelte5 runes 模式 by @benoitf #10459
- chore: 将 PreferencesRenderingItem 更新到 svelte5 runes by @benoitf #10494
- fix: 启用 '@typescript-eslint/no-explicit-any' 规则 by @jeffmaury #10172
- fix: 在 compose 扩展中移除对 no explicit any 规则的禁用 by @dgolovin #10613
- chore: 添加 esnext 以便可以使用私有 # 变量 by @benoitf #10529
- chore: 为渲染器部分启用 @typescript-eslint/explicit-function-return-type by @feloy #10705
- chore: 将扩展加载器设置移动到 api 包 by @benoitf #10671
- chore: 将 extension-* 文件移动到子文件夹 extension by @benoitf #10661
- chore: 将 extension-updater 和 extension-catalog 作为新 extension 文件夹的子文件夹移动 by @benoitf #10664
- chore: 将 @kubernetes/client-node 更新至 v1.0.0 by @feloy #10436
- chore: 不将 kubernetes-client 模块声明为外部模块 by @feloy #10439
- chore: 移除未使用的依赖项 by @benoitf #10509
- refactor: 将 analyzeExtension 提取到一个专用类中 by @benoitf in #10742
- refactor: deployments list 使用 svelte 5 by @feloy in #10760
- chore: 移除 no-explicit-any by @benoitf in #10749
- chore: 清理 @typescript-eslint/no-explicit-any by @benoitf in #10779
文档
- docs(website): 添加了故障排除部分 by @shipsing #10296
- docs(website): 添加了关于应用 yaml 清单的文档 by @shipsing #10324
- docs(website): 添加了端口转发功能的文档 by @shipsing #9844
- docs(website): 添加了查看容器日志和访问…的步骤 by @shipsing #10441
- docs(website): 编辑了故障排除部分 by @shipsing #10413
- docs(website): 移除了过时的图标 by @shipsing #10575
- docs(website): 更新了 th… 的 kind 类别中过时的步骤 by @shipsing #10577
- docs(website): 更新了 o… 的 minikube 类别中过时的步骤 by @shipsing #10688
- docs(website): 更新了 containers cate… 中过时的步骤 by @shipsing #10540
- docs: 为 Docker 兼容性添加 Linux 文档 by @afbjorklund #10481
- docs: 添加关于使用 podman desktop 的 cncf 项目的博客 by @cdrage #9743
- docs: 添加 bootc 扩展 1.6.0 版本发布的博客文章 by @cdrage #10547
- docs: 修复 1.15 版本发布说明 by @SoniaSandler #10408
- docs: 改进 /extensions 页面,提供更多信息和架构 by @cdrage #10337
- docs: 在代码指南中,使用 vi.mocked by @feloy #10353
- fix(docs): 为首页添加水平内边距 by @gastoner #10622
- fix: 更新文档中的 podman remote status 命令 by @slemeur #10474
- fix: 使用 prettier 格式化 markdown by @afbjorklund #10486
- fix: 更新 markdownlint 目标 by @afbjorklund #10487
- chore: 将网站中的 GitHub podman desktop 链接更改为 podman-desktop 组织 by @SoniaSandler #10340
- chore: 修复 md 文件中的格式 by @benoitf #10524
- docs: 为 containerEngine#listInfos 添加备注 by @axel7083 in #10781
- docs(website): testcontainers 博客文章 by @gastoner in #10440
- docs(website): 添加了参考部分并移除了重复的步骤… by @shipsing in #10740