ZenStack 2.14.0 版本发布:性能优化与功能增强
项目简介
ZenStack 是一个基于 Prisma 构建的全栈开发框架,它为开发者提供了数据模型定义、访问控制、自动 API 生成等强大功能。通过扩展 Prisma 的能力,ZenStack 让开发者能够更高效地构建安全、可扩展的后端服务。
核心更新内容
1. Prisma 6.6 支持
本次更新最重要的特性之一是增加了对 Prisma 6.6 版本的支持。值得注意的是,Prisma 6.6 引入了两个重要的实验性功能:
- 新的 prisma-client 生成器:提供了更现代化的客户端生成方式
- ESM 输出支持:为模块化开发提供了更好的支持
虽然这些新特性目前尚未在 ZenStack 中经过完整测试,但团队已经为未来的兼容性做好了准备。开发者在尝试这些实验性功能时需要留意可能的兼容性问题。
2. 代码生成性能大幅提升
针对大型项目的一个重大改进是代码生成性能的优化。通过重构 TypeScript 代码生成逻辑,团队实现了显著的性能提升:
- 对于复杂的数据模型,
zenstack generate命令的执行速度提升了多达 3 倍 - 大型项目中的开发体验得到明显改善
- 迭代开发时的等待时间大幅减少
3. SQLite 的 JSON 字段支持
此次更新中,SQLite 数据库现在可以完整支持类型化的 JSON 字段:
- 开发者可以在 SQLite 中使用
@db.Json类型标注 - 类型系统会正确推断 JSON 字段的结构
- 查询和更新操作都得到了完整的支持
4. 类型导出重构
团队对 @zenstackhq/runtime/models 中的 Prisma 类型和值导出方式进行了重构:
- 提供了更清晰的类型导出结构
- 改善了类型推断的准确性
- 减少了潜在的命名冲突
5. RESTful API 改进
在 API 层面,本次更新带来了多项增强:
- 修复了多关系 ID 过滤问题,现在可以正确处理逗号分隔的多个关系 ID
- 新增了 JSON 值相等性过滤支持
- 提升了 API 的一致性和可用性
6. OpenAPI 生成修复
针对 OpenAPI 规范生成的两个重要问题得到了解决:
- 修复了使用类型化 JSON 字段时可能出现的生成错误
- 解决了输出目录不存在时导致的生成失败问题
技术影响与最佳实践
对于现有项目升级到 2.14.0 版本,开发者需要注意以下几点:
-
性能敏感项目:如果项目中有大型数据模型,升级后将显著改善开发体验,建议评估生成时间的改善程度。
-
SQLite 用户:现在可以放心使用类型化的 JSON 字段,这为本地开发和轻量级部署提供了更多灵活性。
-
API 消费者:新的过滤功能为前端应用提供了更强大的查询能力,可以考虑重构现有查询逻辑以利用这些新特性。
-
类型安全:重构后的类型导出可能会影响一些高级类型用法,建议检查项目中是否有自定义的类型扩展。
社区贡献
本次更新特别欢迎了两位新的贡献者加入,这体现了 ZenStack 项目生态的持续成长。社区驱动的改进为项目带来了更多视角和解决方案。
总结
ZenStack 2.14.0 版本在性能、功能和稳定性方面都带来了显著提升。从 Prisma 最新版本的支持到核心生成器的优化,再到各种边缘案例的修复,这个版本为开发者提供了更强大、更可靠的开发体验。特别值得关注的是代码生成性能的飞跃,这将直接影响大型项目的开发效率。
对于正在评估全栈解决方案的团队,ZenStack 的这个版本展示了其在开发效率和安全保障方面的持续进步。现有用户可以放心升级以获取这些改进,新用户则可以从一个更加成熟稳定的版本开始他们的项目。
Kimi-K2.5Kimi K2.5 是一款开源的原生多模态智能体模型,它在 Kimi-K2-Base 的基础上,通过对约 15 万亿混合视觉和文本 tokens 进行持续预训练构建而成。该模型将视觉与语言理解、高级智能体能力、即时模式与思考模式,以及对话式与智能体范式无缝融合。Python00
GLM-4.7-FlashGLM-4.7-Flash 是一款 30B-A3B MoE 模型。作为 30B 级别中的佼佼者,GLM-4.7-Flash 为追求性能与效率平衡的轻量化部署提供了全新选择。Jinja00
new-apiAI模型聚合管理中转分发系统,一个应用管理您的所有AI模型,支持将多种大模型转为统一格式调用,支持OpenAI、Claude、Gemini等格式,可供个人或者企业内部管理与分发渠道使用。🍥 A Unified AI Model Management & Distribution System. Aggregate all your LLMs into one app and access them via an OpenAI-compatible API, with native support for Claude (Messages) and Gemini formats.JavaScript01
idea-claude-code-gui一个功能强大的 IntelliJ IDEA 插件,为开发者提供 Claude Code 和 OpenAI Codex 双 AI 工具的可视化操作界面,让 AI 辅助编程变得更加高效和直观。Java00
KuiklyUI基于KMP技术的高性能、全平台开发框架,具备统一代码库、极致易用性和动态灵活性。 Provide a high-performance, full-platform development framework with unified codebase, ultimate ease of use, and dynamic flexibility.Kotlin06