快来查收 KCL 社区开源快讯 | 云原生模型、语言和工具链更新速递!


双周同步开源进展

欢迎加入 KCL 社区进行互动~

KCL 是一个 CNCF 基金会托管的基于约束的记录及函数语言,期望通过成熟的编程语言技术和实践来改进对大量繁杂配置比如云原生 Kubernetes 配置场景的编写,致力于构建围绕配置的更好的模块化、扩展性和稳定性,更简单的逻辑编写,以及更简单的自动化和生态工具集成。

本栏目将会双周更新 KCL 语言社区最新动态,包括功能、官网更新和最新的社区动态等,帮助大家更好地了解 KCL 社区!

KCL 官网: https://kcl-lang.io

内容概述

感谢所有贡献者过去两周 (2023 11.09 - 11.23) 的杰出工作,以下是重点内容概述

📦 模型更新

  • KCL 模型数量新增至 200 个,主要新增与 Pod, RBAC 相关的校验模型及 Kubernetes 1.14-1.28 版本的模型参考文档
  • 可以在 Artifact Hub 中搜索浏览到所有模型的文档及使用方式: https://artifacthub.io/packages/search?org=kcl&sort=relevance&page=1

💬 语言更新

  • 体验改进
    • 优化配置代码块的语法缩进检查,不再强制报错
    • 支持通过文件路径通配符作为编译入口
  • 错误修复
    • 修复部分场景字典类型的类型推导错误
    • 修复 Schema 参数数量的检查

🔧 工具链更新

  • 测试工具发布
    • 支持使用 KCL 函数编写单元测试并使用工具执行测试
    • 支持使用正则表达式过滤待测试用例
    • 支持单元测试快速失败功能
  • 导入工具更新
    • 修复 patterns 到正则匹配表达式的生成: https://github.com/kcl-lang/kcl-openapi/pull/70
    • 修复 minItems/maxItems 到字段长度校验规则的生成: https://github.com/kcl-lang/kcl-openapi/pull/69
    • 修复 0 或空字符串为默认值的生成: https://github.com/kcl-lang/kcl-openapi/pull/69
    • 修复 Kubernetes CRD 到 KCL Package 转换中包名的生成为:${apiVersion}_${kind}: https://github.com/kcl-lang/kcl-openapi/pull/68
  • 包管理工具更新
    • 新增 update 命令用于自动更新本地依赖: https://github.com/kcl-lang/kpm/pull/212

💻 IDE 更新

  • 体验改进
    • 支持包管理工具引入的外部包依赖 import 语句补全
  • 错误修复
    • 修复函数参数未定义类型错误显示位置

🏄 API 更新

  • 新增 KCL 单元测试 API: https://github.com/kcl-lang/kcl/pull/904
  • 新增 KCL 符号重命名 API: https://github.com/kcl-lang/kcl/pull/890

🔥 架构升级

  • KCL 设计并重构了新的语义模型以及支持最近符号查找和符号语义信息查询 API
  • IDE 补全,跳转和悬停等功能实现迁移至新语义模型,显著降低 IDE 功能开发难度和代码量

🚀 性能提升

  • KCL 编译器支持语法增量解析以及语义增量检查,大部分场景提升 KCL 编译构建和 IDE 插件使用性能 5-10 倍

特别鸣谢

以下排名不分先后

  • 感谢 @cr7258 对 KCL 模型库以及 KCL 文档的贡献 🙌
    • https://github.com/kcl-lang/kcl-lang.io/pull/203
    • https://github.com/kcl-lang/kcl-lang.io/pull/209
    • https://github.com/kcl-lang/kcl-lang.io/pull/210
    • https://github.com/kcl-lang/kcl-lang.io/pull/211
    • https://github.com/kcl-lang/modules/pull/67
  • 感谢 @XiaoK29 为 KCL IDE 的悬停和引用查找功能代码架构重构以及 KCL 文档的贡献 🙌
    • https://github.com/kcl-lang/kcl/pull/887
    • https://github.com/kcl-lang/kcl/pull/899
    • https://github.com/kcl-lang/kcl-lang.io/pull/205
  • 感谢 @MeenuyD, @negz 对 Crossplane KCL Composition Functions 集成的讨论与支持 🙌
    • https://github.com/kcl-lang/kcl/issues/885
  • 感谢 @kolloch 对 Bazel KCL 构建规则脚本的宝贵反馈 🙌
    • https://github.com/kcl-lang/rules_kcl/pull/2
  • 感谢 @陆云, @Even Solberg, @Prahalad Ramji @Matt Gowie, @ddh 和 @mouuii 在使用推广 KCL 过程中的交流与宝贵反馈 🙌

精选更新

在 Artifact Hub 上检索 KCL 代码包及云原生模型

  • 通过 k8s 模型编写或者校验 Kubernetes 配置

 

  • 通过 Open Application Model (OAM) 开放应用模型配合 KubeVela 控制器进行应用发布与运维

 

  • 查找 KCL 代码库如 jsonpatch 进行配置操作

  • 通过引入 KusionStack Modules 模型生态并配合 KusionStack 增强客户端的应用交付体验:https://github.com/KusionStack/catalog

想了解更多?🤔️ 后续我们会通过一系列文章讲解各个模型更具体使用场景以及工作流程,敬请期待! 此外,200+ 模型的源代码位于 https://github.com/kcl-lang/modules,欢迎社区的小伙伴进行共建。❤️

其他资源

❤️ 感谢所有 KCL 用户和社区小伙伴在社区中提出的宝贵反馈与建议。预计 11 月底我们会正式发布 KCL v0.7 新版本,敬请期待!

更多其他资源请参考:

  • KCL 网站 : https://kcl-lang.io/

  • KusionStack 网站: https://kusionstack.io/

  • KCL 2023 路线规划: https://kcl-lang.io/docs/community/release-policy/roadmap

  • KCL v0.7.0 Milestone: https://github.com/kcl-lang/kcl/milestone/7

  • KCL v0.8.0 Milestone: https://github.com/kcl-lang/kcl/milestone/8

  • KCL Github Issues: https://github.com/kcl-lang/kcl/issues

  • KCL Github Discussion: https://github.com/orgs/kcl-lang/discussions

  • 👉 戳链接加入 KCL 社区: https://github.com/kcl-lang/community


相關推薦

2023-11-10

双周同步开源进展 欢迎加入 KCL 社区进行互动~   KCL 是一个 CNCF 基金会托管的基于约束的记录及函数语言并通过成熟的编程语言技术和实践来改进对大量繁杂配置比如云原生 Kubernetes 配置场景的编写,致力于构建围

2023-08-11

自动化和生态工具集成。 本栏目将会双周更新 KCL 语言社区最新动态,包括功能、官网更新和最新的社区动态等,帮助大家更好地了解 KCL 社区! KCL 官网:https://kcl-lang.io 内容概述 过去两周 (2023 07.26 - 08.09),KCL 所有项目中总

2024-01-05

自动化和生态工具集成。 本栏目将会双周更新 KCL 语言社区最新动态,包括功能、官网更新和最新的社区动态等,帮助大家更好地了解 KCL 社区! KCL 官网:kcl-lang.io 内容概述​ 感谢所有贡献者过去两周 (2023 12.22 - 2024.01.04)

2023-12-02

次发布为大家带来了三方面的重点更新:语言、工具链、社区集成 & 扩展支持。 使用功能更完善错误更少的 KCL 语言、工具链和 IDE 提升代码编写体验和效率 全新的 KCL 命令行工具,集成 KCL 包管理,doc, test 周边工具链生

2023-07-18

次发布为大家带来了三方面的重点更新:语言、工具链、社区集成 & 扩展支持。 使用功能更完善错误更少的 KCL 语言和 IDE 提升代码编写体验和效率 使用 KPM, KCL OpenAPI 和 OCI Registry 等工具直接使用和共享您的云原生领域模

2023-10-14

自动化和生态工具集成。 本栏目将会双周更新 KCL 语言社区最新动态,包括功能、官网更新和最新的社区动态等,帮助大家更好地了解 KCL 社区! KCL 官网:https://kcl-lang.io 内容概述 感谢所有贡献者过去两周 (2023 09.07 - 10.11) 的

2023-04-18

次发布为大家带来了三方面的重点更新:语言、工具链、社区集成 & 扩展支持。 使用 IDE 插件提升 KCL 代码编写体验和效率 Helm/Kustomize/KPT 云原生社区工具集成 完善 KCL 多语言 SDK,方便应用程序集成 进一步您可以在&nb

2023-08-24

自动化和生态工具集成。 本栏目将会双周更新 KCL 语言社区最新动态,包括功能、官网更新和最新的社区动态等,帮助大家更好地了解 KCL 社区! KCL 官网:https://kcl-lang.io 内容概述​ 感谢所有贡献者过去两周 (2023 08.10 - 08.23)

2023-04-28

KCL Schema 互相转换等等 其他资源 感谢所有 KCL 用户和社区小伙伴在此次版本更新过程中提出的宝贵反馈与建议。受限于文章篇幅,后续我们会撰写更多 KCL v0.4.6 新版本功能解读系列文章,敬请期待! 更多其他资源请参考:

2024-08-20

月 18 日,MoonBit 首次在海外发布后,迅速引起了国际技术社区的广泛关注,并登上了 HackerNews 的头条。HackerNews 作为硅谷最具影响力的科技社区之一,对 MoonBit 的每一次重大特性更新都给予了高度关注。 此外,MoonBit 还在全球 De

2024-07-27

次大会将集结全球范围内对开源技术充满热情的开发者、社区成员、创业者、企业领袖、媒体人,以及各开源项目应用场景的产业精英、跨界才俊与年轻力量。 通过主题演讲、圆桌讨论、创新集市、人才集市、黑客松、技术展

2022-10-24

数十亿的头部技术产品提供基础设施支持。在同整个Wasm社区交谈过程中,我们也发现虽然很多人很看好Wasm未来发展前景,但是也存在争议和讨论。 不过在Sapphire,依然对围绕Wasm的快速发展和Wasm开始为更广泛的计算世界带来的

2023-03-21

库 Kusion Github 仓库 Konfig Github 仓库 欢迎加入我们的社区进行交流 👏👏👏  

2022-12-09

动化集成和良好的生态延展性。 本文将向读者介绍 KCL 社区的近期动态。 新增特性​ 自定义 YAML 格式输出​ 在过去的 KCL 版本中,YAML 输出的样式是在 KCL 编译器中是硬编码的,用户可以为 schema 的 __settings__ 元属性设