Protovalidate v0.12.0 发布:更完善的协议缓冲区验证工具
Protovalidate 是一个基于 Protocol Buffers 的验证工具,它允许开发者通过简单的注解方式定义数据验证规则,并在运行时自动执行这些验证。该项目由 bufbuild 团队维护,旨在为 Protocol Buffers 提供强大且灵活的验证能力。
本次发布的 Protovalidate v0.12.0 版本带来了一系列改进和修复,进一步提升了工具的稳定性和可用性。让我们来看看这个版本的主要更新内容。
文档改进与示例修正
开发团队对文档进行了多处改进,包括:
-
在 README 中明确添加了对 TypeScript/JavaScript 语言的支持说明,这有助于前端开发者更好地了解工具的多语言支持能力。
-
修正了 TimestampRules 示例中的多余换行符问题,使文档更加整洁规范。
-
对 map 键值/值和重复项的必需行为进行了更清晰的说明,消除了开发者在使用这些特性时可能产生的歧义。
测试增强
新版本增加了针对 Well-Known Types (WKT) 规则的符合性测试:
-
新增了对错误类型应用 WKT 规则的测试用例,确保验证器能够正确处理类型不匹配的情况。
-
修正了文档中一些不正确的示例,防止开发者参考错误用法。
技术升级
-
项目现在使用 buf.yaml 的 v2 版本配置,这带来了更好的模块化支持和更清晰的配置结构。
-
升级了 golang.org/x/sync 依赖项,从 0.13.0 升级到 0.14.0,提升了并发处理能力。
使用建议
对于 Bazel 用户,可以通过 MODULE.bazel 或 WORKSPACE 两种方式引入 Protovalidate:
- 模块方式:
bazel_dep(name = "protovalidate", version = "0.12.0")
- 传统方式:
http_archive(
name = "com_github_bufbuild_protovalidate",
sha256 = "990fef0b4d0beeaa1581f4cb6ddcce19363b43b62d6526e75d9a8e4f78e7468f",
strip_prefix = "protovalidate-0.12.0",
urls = ["https://github.com/bufbuild/protovalidate/releases/download/v0.12.0/protovalidate-0.12.0.tar.gz"],
)
Protovalidate 作为一个专业的 Protocol Buffers 验证工具,通过这个版本的更新,进一步巩固了其在数据验证领域的地位。无论是文档的完善、测试的增强还是技术栈的升级,都体现了开发团队对产品质量的持续追求。对于需要严格数据验证的 Protocol Buffers 用户来说,升级到这个版本将获得更稳定可靠的验证体验。
GLM-5智谱 AI 正式发布 GLM-5,旨在应对复杂系统工程和长时域智能体任务。Jinja00
GLM-5-w4a8GLM-5-w4a8基于混合专家架构,专为复杂系统工程与长周期智能体任务设计。支持单/多节点部署,适配Atlas 800T A3,采用w4a8量化技术,结合vLLM推理优化,高效平衡性能与精度,助力智能应用开发Jinja00
jiuwenclawJiuwenClaw 是一款基于openJiuwen开发的智能AI Agent,它能够将大语言模型的强大能力,通过你日常使用的各类通讯应用,直接延伸至你的指尖。Python0213- QQwen3.5-397B-A17BQwen3.5 实现了重大飞跃,整合了多模态学习、架构效率、强化学习规模以及全球可访问性等方面的突破性进展,旨在为开发者和企业赋予前所未有的能力与效率。Jinja00
AtomGit城市坐标计划AtomGit 城市坐标计划开启!让开源有坐标,让城市有星火。致力于与城市合伙人共同构建并长期运营一个健康、活跃的本地开发者生态。01
OpenDeepWikiOpenDeepWiki 是 DeepWiki 项目的开源版本,旨在提供一个强大的知识管理和协作平台。该项目主要使用 C# 和 TypeScript 开发,支持模块化设计,易于扩展和定制。C#00