Skip to content

Commit 825b383

Browse files
committed
fix: fix CR comments
Signed-off-by: zong-zhe <zongzhe1024@163.com>
1 parent 5b8ff6b commit 825b383

File tree

2 files changed

+112
-23
lines changed
  • i18n/zh-CN/docusaurus-plugin-content-blog/2024-03-04-kcl-0.8.0-release
  • static/img/blog/2024-03-04-kcl-0.8.0-release

2 files changed

+112
-23
lines changed

i18n/zh-CN/docusaurus-plugin-content-blog/2024-03-04-kcl-0.8.0-release/index.md

Lines changed: 112 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,6 @@
1-
2-
3-
4-
5-
61
---
72
slug: 2024-03-04-kcl-0.8.0-release
8-
title: KCL v0.8.0 重磅发布 - 面向云原生场景更完善的生态模型、语言和工具链
3+
title: 链接世界,无限可能 - KCL v0.8.0 融汇社区生态
94
authors:
105
name: KCL Team
116
title: KCL Team
@@ -26,12 +21,6 @@ KCL 团队很高兴地宣布 **KCL v0.8.0 新版本现在已经可用**!本次
2621

2722
## 语言更新
2823

29-
### 😸 新增 Linux arm64 版本
30-
31-
KCL 的 Release 产物中新增了对 Linux arm64 平台的支持。
32-
33-
可以在 [KCL Release Page](https://github.com/kcl-lang/kcl/releases) 中找到后缀为 `linux-arm64` 的压缩包。
34-
3524
### 🔧 诊断信息的优化
3625

3726
KCL 语法在 if 块中使用的是 `elif` 关键字,而不是 `else if`
@@ -168,28 +157,77 @@ name = "kcl"
168157
three = hello.add(1,2) # 3
169158
```
170159

160+
### 😸 新增 Linux arm64 版本
161+
162+
KCL 的 Release 产物中新增了对 Linux arm64 平台的支持。
163+
164+
可以在 [KCL Release Page](https://github.com/kcl-lang/kcl/releases) 中找到后缀为 `linux-arm64` 的压缩包。
165+
171166
### 🏄 SDK & API 更新
172167

168+
#### Rust SDK
169+
170+
KCL Rust SDK 提供了一系列的 API,可以用于 KCL 文件的编译、校验、测试和格式化代码等操作。
171+
172+
[KCL Rust SDK: https://github.com/kcl-lang/lib](https://github.com/kcl-lang/lib)
173+
174+
#### Java SDK
175+
176+
KCL Java SDK 新增语法树、作用域、符号等语法语义结构定义及相关查询 API。
173177

174-
TODO
178+
#### Go SDL 更新
179+
180+
- KCL Doc 工具支持输出为 OpenAPI 格式。
181+
- 增加 Parse 过程相关 API。
182+
183+
#### API 更新
184+
185+
- 新增语法和语义分析 API 用于对 KCL 代码进行分析。
186+
- 新增构建二进制产物 API 用于缓存编译结果。
187+
- 新增运行二进制产物 API 用于直接运行编译结果,避免重复编译并提升性能。
188+
- 新增代码生成 API 以编程方式实现 KCL 代码生成而不是编写复杂的模版。
175189

176190
### 🐞 其他更新及错误修复
177191

178-
TODO
192+
- 修复了 KCL CLI 使用编译参数 -S 可能会导致的编译错误
193+
- 修复了 kcl fmt 工具对 lambda 表达式进行格式化时,结尾增加一个空行的错误。
194+
- 修复 Schema Doc 补全代码片段错误
195+
- 优化非预期 token 的语法错误提示
196+
- 去除 Schema 对象内部非预期的内置类型属性通过 print 输出
197+
- 修复非预期的字典生成表达式中的 key 与循环变量相同时的变量计算
198+
- 修复 schema 内部诸如 "$if" 的字符串标识符定义找不到的错误
179199

180200
## IDE & 工具链更新
181201

182202
### IDE 更新
183203

184-
体验改进
185-
支持增量解析和异步编译功能,提升性能
186-
错误修复
187-
修复 assert 语句中字符串插值变量不能跳转的异常
188-
修复了字符串中异常触发函数补全的异常
189-
修复 import 语句别名语义检查和补全的异常
190-
修复了 schema 中 check 表达式补全的异常
204+
#### IDE 语义级别的高亮增强
205+
206+
KCL IDE 高亮之前仅支持 KCL 语法高亮,如下图所示:
207+
208+
![](/img/blog/2024-01-18-biweekly-newsletter/old-ide.png)
209+
210+
我们今年逐步启用了新的 KCL 语义架构模型,在新语义架构的支撑下,KCL IDE 支持语义级别的高亮,在语义上有关联的代码会显示相同的高亮。
191211

192-
TODO
212+
![](/img/blog/2024-01-18-biweekly-newsletter/new-ide.png)
213+
214+
更多关于 KCL 语义架构模型的内容,参考:
215+
[KCL 高效语义模型技术揭秘:实现快速编译与增强 IDE 支持](https://kcl-lang.io/zh-CN/blog/2023-12-09-kcl-new-semantic-model)
216+
217+
#### IDE 支持增量解析和异步编译功能
218+
219+
IDE 通过 KCL 新语义模型支持增量解析和异步编译功能,提升了编译速度和编写体验。
220+
221+
更多内容详见 [https://kcl-lang.io/zh-CN/blog/2023-12-09-kcl-new-semantic-model](https://kcl-lang.io/zh-CN/blog/2023-12-09-kcl-new-semantic-model)
222+
223+
#### IDE 问题修复
224+
225+
- 修复 assert 语句中字符串插值变量不能跳转的异常
226+
- 修复了字符串中异常触发函数补全的异常
227+
- 修复 import 语句别名语义检查和补全的异常
228+
- 修复了 schema 中 check 表达式补全的异常
229+
- 修复了嵌套 schema 定义中补全错误的问题
230+
- 修复了部分悬停信息缺失的问题
193231

194232
### 验证工具更新
195233

@@ -251,6 +289,22 @@ kcl run <git url>
251289

252290
### KCL 包管理工具
253291

292+
#### KCL 包管理支持通过 commit 添加 git 依赖
293+
294+
KCL 包管理工具增加了通过 commit 来添加 git 三方库依赖的功能。以 https://github.com/KusionStack/catalog 为例,添加 commit 为 a29e3db 的版本作为依赖。可以通过编辑 kcl.mod 文件中的依赖或者命令行直接添加。
295+
296+
编辑 kcl.mod 文件内容如下:
297+
298+
```
299+
[dependencies]
300+
catalog = { git = "https://github.com/KusionStack/catalog.git", commit = "a29e3db" }
301+
```
302+
或者通过命令行添加:
303+
304+
```
305+
kcl mod add -git https://github.com/KusionStack/catalog.git -commit a29e3db
306+
```
307+
254308
#### KCL 包管理工具支持三方库名称带有“-”
255309
256310
KCL 包管理工具支持三方库名称中带有“-”,KCL 包管理工具会自动将 “-” 替换为 “_”。
@@ -312,6 +366,29 @@ spec:
312366
313367
更多内容详见: https://github.com/kcl-lang/codeql-kcl
314368
369+
## 模型更新
370+
371+
KCL 模型数量新增至 303 个,主要新增与 Crossplane Provider 相关的模型和与 JSON 合并操作相关的库
372+
373+
- KCL JSON Patch 库:https://artifacthub.io/packages/kcl/kcl-module/jsonpatch
374+
- KCL JSON Merge Patch 库:https://artifacthub.io/packages/kcl/kcl-module/json_merge_patch
375+
- KCL Kubernetes Strategy Merge Patch 库:https://artifacthub.io/packages/kcl/kcl-module/strategic_merge_patch
376+
- KCL Crossplane 及 Crossplane Provider 系列模型:https://artifacthub.io/packages/search?org=kcl&sort=relevance&page=1&ts_query_web=crossplane
377+
378+
- Kubenetes 1.29 版本: https://artifacthub.io/packages/kcl/kcl-module/k8s/1.29.0
379+
380+
- 新增 Podinfo 应用配置模型,支持设置外部动态参数如 replicas 等,可以直接通过一条命令渲染 Kubernetes 资源配置,并且可以在此模型的基础上修改并自定义资源模版
381+
382+
```
383+
kcl run oci://ghcr.io/kcl-lang/podinfo -D replicas=2
384+
```
385+
386+
- JSON Schema 库发布 0.0.4 版本,修复类型定义错误, 可以执行如下命令更新或添加依赖
387+
388+
```
389+
kcl mod add jsonschema:0.0.4
390+
```
391+
315392
## 其他更新
316393
317394
完整更新和错误修复列表详见: https://github.com/kcl-lang/kcl/compare/v0.7.0...v0.8.0
@@ -336,10 +413,22 @@ KCL 网站新增 KCL v0.7.0 文档内容并支持版本化语义选项,目前
336413
337414
感谢社区的小伙伴在 KCL v0.8.0 版本中的贡献,以下排名不分先后
338415
416+
- 感谢 @professorabhay 支持 KCL 测试 Diff 功能 🙌
417+
https://github.com/kcl-lang/kcl/issues/940
418+
- 感谢 @jakezhu9 同学对 kcl import 工具的持续贡献 🤝
419+
- 感谢 @octonawish-akcodes 对 KCL 代码清理和 FAQ 文档的持续贡献 🙌
420+
- 感谢 @satyazzz123 对 KRM KCL 支持读取环境变量功能的贡献 🙌
421+
- 感谢 @AkashKumar7902 对 KCL 包管理工具功能的贡献 🙌
422+
- 感谢 @UtkarshUmre 对 KCL linux-arm64 构建 CI 的贡献 🙌
423+
- 感谢 @octonawish-akcodes 和 @d4v1d03 对 KCL FAQ 文档和 KCL IDE 功能的持续贡献 🙌
424+
- 感谢 @octonawish-akcodes 对 Ansible KCL Module 的贡献
425+
- 感谢 @AkashKumar7902 和 @Vanshikav123 对 KCL 包管理工具功能的贡献 🙌
426+
- 感谢 @StevenLeiZhang 对 KCL 文档和 KCL 插件的贡献
427+
- 感谢 @patrycju, @Callum Lyall, @Even Solberg, @Matt Gowie, @ShiroDN, @FLAGLORD, @YiuTerran, @flyinox, @steeling, @Anoop, @Phillip Neumann 和 @Even Solberg, @AdmiralNemo,@Phillip Neumann,@Naxe, @steeling, @steeling, @rozaliev, @CloudZero357, @martingreber, @az, @Art3mK,@AdmiralNemo, @Erick, @TheChinBot, @Evgeny Shepelyuk, @yonas, @steeling, @vtomilov, @Fdall, @CloudZero357, @bozaro, @starkers, @MrGuoRanDuo 和 @FLAGLORD 等在近段时间使用 KCL 过程中提供的宝贵建议与反馈 🙌
339428
340429
## 下一步计划
341430
342-
感谢所有 KCL 用户和社区小伙伴在此次版本更新过程中提出的宝贵反馈与建议。预计 2024 年 2 月,我们将发布 KCL v0.9.0 版本,更多详情请参考 KCL 2024 路线规划 和 KCL v0.9.0 Milestone,如果您有更多的想法和需求,欢迎在 KCL Github 仓库发起 Issues 或讨论,也欢迎加入我们的社区进行交流 🙌 🙌 🙌
431+
感谢所有 KCL 用户和社区小伙伴在此次版本更新过程中提出的宝贵反馈与建议。预计 2024 年 5 月,我们将发布 KCL v0.9.0 版本,更多详情请参考 KCL 2024 路线规划 和 KCL v0.9.0 Milestone,如果您有更多的想法和需求,欢迎在 KCL Github 仓库发起 Issues 或讨论,也欢迎加入我们的社区进行交流 🙌 🙌 🙌
343432
344433
更多其他资源请参考:
345434
62.1 KB
Loading

0 commit comments

Comments
 (0)