Skip to main content

1 post tagged with "Newsletter"

查看所有标签

· 阅读需要 1 分钟

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

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

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

特别鸣谢

感谢过去两周所有的社区参与者,以下排名不分先后

  • 感谢 @slusy 对 KCL playground 的贡献 🙌

  • 感谢 @NishantBansal2003 对 KCL checksum 功能增强的贡献 🙌

  • 感谢 @cakemanny, @hanshardmeier, @haiwu, @dennybaa, @NishantBansal2003, @Stinjul, @slusy, @Christopher Haar, @Peter Boat, @Zack Zhang, @anshuman singh, @Carl-Fredrik, @Evgeny Shepelyuk, @kbristow 等在近两周使用 KCL 过程中提供的宝贵建议与反馈 🙌

内容概述

🏄 语言更新

  • 修复因为 Schema 继承定义关系导致的非预期运行结果
  • 重构 Parser 实现,在 400+ KCL 文件的条件下解析性能提升 40%

💻 IDE 更新

  • 新增对配置块中 key 的类型的提示
  • 优化解包表达式 **expr 的静态分析,提供更丰富的诊断信息
  • 优化 schema 类型的 {} 代码片段补全
  • 新增对 kcl.mod 文件变更的监控,优化外部包补全体验
  • 区分 any 类型和 any 关键字表达式的高亮颜色显示

📦️ 模型更新

  • edp-keycloak-operator 发布 v1.23 版本

📬️ 工具更新

  • kcl mod 命令支持 module spec 获得 OCI 和 Git 依赖中的子模块
  • kcl import 工具修复多行 YAML 字符串的导入
  • kcl import 工具修复当属性存在默认值的 Kubernetes CRD 导入
  • kcl run 修复 -o 参数会截断文件输出的问题
  • kcl mod 修复了 rename 依赖无法找到的问题。
  • kcl mod 修复了三方库 git 仓库根目录下缺少 kcl.mod 文件导致的重复下载。
  • kcl mod kcl.mod 文件中支持 k8s = {version="1.27"} 依赖风格。
  • kcl mod 修复了部分诊断信息丢失的问题。

🔥 社区集成更新

  • Crossplane KCL 函数更新至 v0.10.8 版本,支持对 external resources 的读取

📖 文档更新

  • 更新 FAQ 中的 KCL 插件使用文档
  • 更新 FAQ 中的配置合并文档,新增 json_merge_patch 库的使用文档
  • 为所有系统库函数添加使用样例
  • 新增更多 OAM 模型的使用案例

其他资源

❤️ 查看 KCL 社区 加入我们。

更多其他资源请参考:

· 阅读需要 1 分钟

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

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

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

特别鸣谢

感谢过去两周所有的社区参与者,以下排名不分先后

  • 感谢 @prakhar479 对 KCL built-api 支持 blake3 的贡献 🙌

  • 感谢 @shruti2522 对 IDE hints 功能增强的贡献 🙌

  • 感谢 @liangyuanpeng 对 kcl-openapi 工具的持续贡献 🙌

  • 感谢 @trogowski 对 KCL 文档的贡献 🙌

  • 感谢 @yonas 对 KCL 文档的贡献 🙌

  • 感谢 @NishantBansal2003 对 KCL 包管理工具 sum check 功能的持续贡献 🙌

  • 感谢 @officialasishkumar 对 KCL 包管理工具下载 Git 子包功能的贡献 🙌

  • 感谢 @cx2c, @yonas, @NishantBansal2003, @shruti2522, @nwmcsween, @trogowski, @suin, @johnallen3d, @liangyuanpeng, @riven-blade, @officialasishkumar, @gesmit74, @prakhar479, @Lukáš Kubín, @Christopher Haar, @Alexander Fuchs, @Peter Boat, @Stéphane Este-Gracias, @Yvan da Silva, @Rehan Chalana, @Zack Zhang, @Josh West, @Brandon Nason, @suin, @Anany 等在近两周使用 KCL 过程中提供的宝贵建议与反馈 🙌

内容概述

🏄 语言更新

  • 加密标准库新增参数,支持对参数传入参数进行编码。
sha512(value: str, encoding: str = "utf-8") -> str
  • 新增 built-in API crypto.blake3 支持使用 Blake 算法进行哈希加密。
import crypto
blake3 = crypto.blake3("ABCDEF")
  • 新增 built-in API isnullish 支持判断字段是否为空。
a = [100, 10, 100]
A = isnullish(a)
e = None
E = isnullish(e)
  • 新增 built-in API datetime.validate 支持验证日期内容。
import datetime
assert datetime.validate("2024-08-26", "%Y-%m-%d")
  • 修复了 built-in API datetime 中日期格式的问题。
  • KCL Plugin 支持通过 rust 开发。
  • 修复了 Schema 配置合并参数解析错误的问题。
  • KCL 发布了 0.10.0-rc.1 版本。
  • KCL Plugin 增加了部分测试。

💻 IDE 更新

  • 修复了第一行第一列代码高亮失效的问题。
  • 修复了 IDE 偶发死锁的问题。
  • IDE 增加了更多输出日志。
  • 优化了 schema index signature key 的语义高亮。
  • IDE find ref 功能优化。
  • IDE 修复了更新 kcl.mod 失效的问题。
  • IDE 修复了 find ref 错误。
  • IDE 修复了打开文件时代码高亮失败。
  • LSP 部分代码结构重构,调整了部分 API 的作用域。
  • IDE 修复了 kpm 更新依赖后,IDE 没有同步更新的问题。
  • IDE 新增了对 schema 参数的 hints。

📖 文档更新

  • 新增了 KCL 在 kubecon 2024 的回顾文章。
  • 文档中增加了新增 built-in API 相关的文档。
  • 调整了文档中包管理工具与 OCI registry 和 Git Repo 部分集成的文档。
  • 新增了文档中关于 kcl.mod include 和 exclude 字段的描述。
  • 修复了部分文档错误。

📦️ SDK 更新

  • 新增 KCL wasm lib 支持 node.js 和 浏览器集成。
  • 重构优化了 KCL python 的代码案例。

📬️ 工具更新

  • kcl-openapi 对代码结构和文档结构进行了优化和调整。
  • kcl-playground 添加了更多的测试用例,对工程结构体进行了优化和升级。
  • 包管理工具修复了编译多个 *.k 文件失败的 bug。
  • 包管理工具支持添加 Git 仓库中子包作为三方库。
  • 包管理工具新增部分测试用例。
  • krm-kcl function 修复了部分测试和文档中的错误。
  • kcl-operator 更新和修复了部分文档内容,优化了部分代码结构。
  • kcl-operator 新增部分测试用例,优化了发布流程。
  • kcl-operator 新增了初始化容器时的自动鉴权。
  • KCL fmt 工具提供了 C api。

⛵️ API 更新

  • kcl-go API 支持 jsonschema 的导入。

🔥 社区集成更新

  • kcl-flux-controller 传入参数优化, 新增更多的测试用例,更加完整的 release 和测试流程。

其他资源

❤️ 查看 KCL 社区 加入我们。

更多其他资源请参考: