OctoPrint 1.11.1版本发布:安全修复与功能优化
OctoPrint项目简介
OctoPrint是一款开源的3D打印机控制软件,它允许用户通过网络浏览器远程监控和控制3D打印机。作为一个功能强大的工具,OctoPrint提供了文件管理、打印进度监控、温度控制等核心功能,同时支持丰富的插件扩展。本次发布的1.11.1版本是一个维护更新,主要解决了安全问题和一些功能缺陷。
安全修复
本次更新中最重要的改进之一是增强了模板渲染的安全性。开发团队发现,当使用某些第三方翻译时,自动转义功能不会影响从翻译加载的字符串,特别是其中包含的单引号或双引号。为了解决这个问题,所有OctoPrint模板文件中的相关部分都进行了手动转义处理,使用了现有的edq(用于双引号字符串)和esq(用于单引号字符串)过滤器。
这种安全修复对于防止潜在的XSS(跨站脚本)攻击非常重要,特别是在处理用户提供的翻译内容时。开发团队还表示,未来版本中会研究如何为插件开发者提供类似的自动转义机制,同时保留手动标记安全内容的能力。
功能改进
文件删除确认对话框可配置化
用户现在可以在设置中禁用文件删除时的确认对话框。这一改进源于用户反馈,有些高级用户希望简化操作流程,特别是在频繁删除测试打印件时。该选项位于"设置 > 功能"部分,让用户可以根据自己的使用习惯进行个性化配置。
重新认证超时保护
系统现在会确保重新认证超时值始终大于等于0,防止因配置错误导致的安全问题。这一改进增强了系统的健壮性,避免了潜在的边界条件问题。
连接性检查日志更清晰
当连接性检查功能被禁用时,系统日志中会给出更明确的提示信息。这有助于管理员更轻松地诊断网络相关问题,特别是在排除连接故障时。
错误修复
Prusa MK3(s)连接问题修复
修复了一个逻辑错误,该错误导致当"连接时等待启动"选项被禁用时,与Prusa MK3(s)等打印机的连接会出现问题。这一修复确保了与特定型号打印机的兼容性。
串口连接死锁问题
解决了当没有可用串口时尝试连接会导致通信层验证错误和死锁的问题。现在系统在这种情况下会禁用连接按钮,同时后台的自动刷新机制(自OctoPrint 1.9.0引入)会持续检查端口可用性。用户仍然可以通过连接面板标题上的重新加载按钮手动刷新可用端口列表。
成就插件改进
修正了"The Tinkerer"成就的描述文本,使其更准确地反映该成就的获取条件。虽然这是一个小改动,但对于使用成就系统的用户来说,清晰的描述非常重要。
总结
OctoPrint 1.11.1虽然是一个小版本更新,但包含了重要的安全修复和用户体验改进。特别是模板渲染安全性的增强,显示了开发团队对安全问题的重视。同时,针对特定打印机型号的连接修复和串口处理逻辑的改进,进一步提升了软件的稳定性和兼容性。
对于现有用户,建议尽快升级以获得这些改进和修复。新用户可以放心使用这个版本,它代表了OctoPrint项目持续改进的最新成果。开发团队一如既往地欢迎社区反馈,共同推动这个优秀的3D打印控制软件不断发展。
GLM-5智谱 AI 正式发布 GLM-5,旨在应对复杂系统工程和长时域智能体任务。Jinja00
GLM-5-w4a8GLM-5-w4a8基于混合专家架构,专为复杂系统工程与长周期智能体任务设计。支持单/多节点部署,适配Atlas 800T A3,采用w4a8量化技术,结合vLLM推理优化,高效平衡性能与精度,助力智能应用开发Jinja00
jiuwenclawJiuwenClaw 是一款基于openJiuwen开发的智能AI Agent,它能够将大语言模型的强大能力,通过你日常使用的各类通讯应用,直接延伸至你的指尖。Python0130- QQwen3.5-397B-A17BQwen3.5 实现了重大飞跃,整合了多模态学习、架构效率、强化学习规模以及全球可访问性等方面的突破性进展,旨在为开发者和企业赋予前所未有的能力与效率。Jinja00
AtomGit城市坐标计划AtomGit 城市坐标计划开启!让开源有坐标,让城市有星火。致力于与城市合伙人共同构建并长期运营一个健康、活跃的本地开发者生态。00
CherryUSBCherryUSB 是一个小而美的、可移植性高的、用于嵌入式系统(带 USB IP)的高性能 USB 主从协议栈C00