MDQ v0.6.0 版本发布:JSON输出格式与发布资产命名重大变更
MDQ 是一个强大的 Markdown 查询工具,它允许用户通过命令行对 Markdown 文档进行精确的查询和提取。该项目采用 Rust 语言开发,以其高性能和跨平台特性受到开发者青睐。最新发布的 v0.6.0 版本带来了两项重要的破坏性变更,同时为未来的公共 API 打下了基础。
JSON 输出格式重构
在 v0.6.0 版本中,MDQ 对列表项的 JSON 输出格式进行了重大重构。这一变更使得数据结构更加一致和直观。
在之前的版本中,当使用选择器(如 - *)查询列表项时,结果会以特殊的 list_item 类型呈现,其内容嵌套在 item 字段中。这种设计虽然功能完整,但在数据结构上显得有些特殊化。
新版本采用了更加统一的设计,将列表项直接表示为标准的列表结构。这一变更使得 MDQ 的输出格式更加符合常见的数据处理库的预期,减少了特殊情况的处理逻辑。
对于开发者而言,这意味着需要更新任何依赖于旧格式的代码。虽然这带来了短期的工作量,但从长远来看,这种更加规范化的数据结构将提高代码的可维护性和互操作性。
发布资产命名规范化
v0.6.0 版本还对发布资产的命名规则进行了标准化。此前,MDQ 使用简单的平台名称(如 ubuntu、macos、windows)来标识不同平台的构建包。新版本采用了更加正式的"目标三元组"命名约定。
这种命名方式包含了架构、厂商、操作系统和ABI信息,例如:
aarch64-apple-darwin表示苹果 M 系列芯片的 macOS 系统x86_64-pc-windows-gnu表示 Windows 平台的 GNU 工具链构建x86_64-unknown-linux-gnu表示标准 Linux 发行版
这种变更虽然增加了文件名的长度,但提供了更精确的平台描述,有助于用户选择正确的构建包,特别是在交叉编译或特殊环境下。
技术架构演进
v0.6.0 版本包含了大量内部重构工作,为即将推出的公共 API 做准备。这些改动虽然对最终用户不可见,但代表了项目架构的重要演进。
通过这次重构,MDQ 的核心功能被更好地模块化和解耦,为未来的功能扩展和集成提供了更坚实的基础。开发者可以期待在后续版本中看到一个设计良好的公共 API,这将使得 MDQ 能够被更灵活地集成到各种工作流和工具链中。
升级建议
对于现有用户,升级到 v0.6.0 版本需要注意以下几点:
- 检查并更新任何依赖于旧版 JSON 输出格式的代码
- 更新自动化脚本中可能存在的硬编码资产文件名
- 评估新版本是否会影响现有的工作流程
虽然这些变更带来了一定的迁移成本,但它们都是为了提高项目的长期可维护性和用户体验。对于新用户来说,这些改进使得 MDQ 更加规范和易于使用。
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0218
cann-learning-hubCANN 学习中心仓,支持在线互动运行、边学边练,提供教程、示例与优化方案,一站式助力昇腾开发者快速上手。Jupyter Notebook0139
uni-appA cross-platform framework using Vue.jsJavaScript09
GLM-5.2智谱开源 GLM-5.2,这是针对长文本任务的最新旗舰模型。相较于前代产品 GLM-5.1,它在长文本任务处理能力上实现了显著飞跃,并且首次在稳定的 100 万 token 上下文中提供这一能力。Jinja00
SwanLab⚡️SwanLab - an open-source, modern-design AI training tracking and visualization tool. Supports Cloud / Self-hosted use. Integrated with PyTorch / Transformers / LLaMA Factory / veRL/ Swift / Ultralytics / MMEngine / Keras etc.Python00
tiny-universe《大模型白盒子构建指南》:一个全手搓的Tiny-UniverseJupyter Notebook03