Skip to content

Commit 1a67cf1

Browse files
authored
Merge pull request #461 from zong-zhe/20240905-newsletter-blogs
feat add 20240905 newsletter blog
2 parents 8590831 + dc807b5 commit 1a67cf1

File tree

7 files changed

+254
-5
lines changed
  • blog/2024-09-05-newsletter
  • docs/user_docs/guides/package-management/4-how-to
  • i18n/zh-CN/docusaurus-plugin-content-blog/2024-09-05-newsletter
  • versioned_docs
    • version-0.10/user_docs/guides/package-management/4-how-to
    • version-0.7/user_docs/guides/package-management/4-how-to
    • version-0.8/user_docs/guides/package-management/4-how-to
    • version-0.9/user_docs/guides/package-management/4-how-to

7 files changed

+254
-5
lines changed

blog/2024-09-05-newsletter/index.md

Lines changed: 122 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,122 @@
1+
---
2+
slug: 2024-09-05-newsletter
3+
title: KCL Newsletter (2024.08.21 - 2024.09-05)
4+
authors:
5+
name: KCL Team
6+
title: KCL Team
7+
tags: [KCL, Newsletter]
8+
image: /img/biweekly-newsletter.png
9+
---
10+
11+
![](/img/biweekly-newsletter.png)
12+
13+
[KCL](https://github.com/kcl-lang/kcl) is an open-source configuration and policy language hosted by the Cloud Native Computing Foundation (CNCF) as a Sandbox Project. Built on a foundation of constraints and functional programming principles, KCL enhances the process of writing complex configurations, particularly in cloud-native environments. By leveraging advanced programming language techniques, KCL promotes improved modularity, scalability, and stability in configuration management. It simplifies logic writing, offers easy-to-use automation APIs, and seamlessly integrates with existing systems.
14+
15+
This section will update the KCL language community's latest news, including features, website updates, and the latest community news, helping everyone better understand the KCL community!
16+
17+
**_KCL Website: [https://kcl-lang.io](https://kcl-lang.io)_**
18+
19+
## Special Thanks
20+
21+
- Thanks to @prakhar479 for contributing to the KCL built-api support for blake3 🙌
22+
- Thanks to @shruti2522 for contributing to the IDE hints feature enhancement 🙌
23+
- Thanks to @liangyuanpeng for continuous contributions to the kcl-openapi tool 🙌
24+
- Thanks to @trogowski for contributing to the KCL documentation 🙌
25+
- Thanks to @yonas for contributing to the KCL documentation 🙌
26+
- Thanks to @NishantBansal2003 for continuous contributions to the KCL package management tool sum check feature 🙌
27+
- Thanks to @officialasishkumar for contributing to the KCL package management tool download Git subpackage feature 🙌
28+
29+
- Thanks to @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, and others for their valuable suggestions and feedback while using KCL in the past two weeks 🙌
30+
31+
## Overview
32+
33+
**🏄 Language Updates**
34+
35+
- KCL v0.10.0-rc.1 has been released.
36+
- KCL added some built-in APIs parameters to support the encoding parameter.
37+
38+
```kcl
39+
sha512(value: str, encoding: str = "utf-8") -> str
40+
```
41+
42+
- KCL has added a new built-in API, `crypto.blake3`, to support the use of the Blake algorithm for hashing.
43+
44+
```kcl
45+
import crypto
46+
blake3 = crypto.blake3("ABCDEF")
47+
```
48+
49+
- KCL has added a new built-in API, `isnullish`, to support determining whether a field is empty.
50+
51+
```kcl
52+
a = [100, 10, 100]
53+
A = isnullish(a)
54+
e = None
55+
E = isnullish(e)
56+
```
57+
58+
- KCL has added a new built-in API, `datetime.validate`, to support validating date content.
59+
60+
```kcl
61+
import datetime
62+
assert datetime.validate("2024-08-26", "%Y-%m-%d")
63+
```
64+
65+
- KCL has fixed the date format issue in the built-in API `datetime`.
66+
- KCL Plugin now supports development through Rust.
67+
- Fix the issue that the unification of the schema configuration arguments is parsed incorrectly.
68+
- KCL Plugin has added some tests.
69+
70+
**💻 IDE Updates**
71+
72+
- Fixed the issue of the first line and first column code highlighting failure.
73+
- Fixed the issue of IDE occasional deadlock.
74+
- IDE has added more output logs.
75+
- Optimized the semantic highlighting of the scehma index signature key.
76+
- IDE has optimized the IDE find ref function.
77+
- Fixed the issue of IDE failing to highlight code when opening a file.
78+
- Fixed the issue that find ref failed.
79+
- Fixed the issue that the code highlight failed when opening a file.
80+
- Refactored the code structure of the LSP part and adjusted the scope of some APIs.
81+
- Fixed the issue that the IDE failed to update after kpm updated dependencies.
82+
- IDE has added hints for the schema arguments.
83+
84+
**📖 Documentation**
85+
86+
- Added a review article on KCL at kubecon 2024.
87+
- Added a new built-in API section to the documentation.
88+
- Adjusted the documentation to integrate with OCI registry and Git Repo in the package management tool section.
89+
- Added a new section about the kcl.mod include and exclude fields in the documentation.
90+
- Fixed some documentation errors.
91+
92+
**📦️ SDK Updates**
93+
94+
- Added support for the KCL wasm lib to integrate with node.js and browsers.
95+
- Refactored the KCL python code examples.
96+
97+
**📬️ Toolchain Updates**
98+
99+
- kcl-openapi has been optimized and adjusted for code and document structure.
100+
- kcl-openapi has added more test cases and optimized the code structure.
101+
- Package management tools have fixed the bug that compiling multiple *.k files failed.
102+
- Package management tools supported adding sub-packages in Git repositories as third-party libraries.
103+
- Package management tools have added some test cases.
104+
- krm-kcl function fixed some errors in some tests and documents.
105+
- kcl-operator has been updated and fixed some documentation content, optimized some code structures.
106+
- kcl-operator has added some test cases and optimized the release process.
107+
- kcl-operator added automatic authentication when initializing containers.
108+
- KCL fmt tool provides C API.
109+
110+
**⛵️ API Updates**
111+
112+
- kcl-go API supports importing jsonschema.
113+
114+
**🔥 Integration Updates**
115+
116+
- kcl-flux-controller parameter optimization, added more test cases, and a more complete release and test process.
117+
118+
## Resources
119+
120+
❤️ See [here](https://github.com/kcl-lang/community) to join us!
121+
122+
For more resources, please refer to the [KCL Website](https://kcl-lang.io/).

docs/user_docs/guides/package-management/4-how-to/10-kpm_git.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Use an Git-based repository
1+
# Use a Git-based repository
22

33
KCL package management tool supports saving and sharing KCL modules through the OCI registry and Git repository. This section will introduce how to integrate the KCL package management tool with the Git repository.
44

Lines changed: 127 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,127 @@
1+
---
2+
slug: 2024-09-05-newsletter
3+
title: KCL 最新动态速递 (2024.08.21 - 2024.09-05)
4+
authors:
5+
name: KCL 团队
6+
title: KCL 团队
7+
tags: [KCL, Newsletter]
8+
image: /img/biweekly-newsletter.png
9+
---
10+
11+
![](/img/biweekly-newsletter-zh.png)
12+
13+
[KCL](https://github.com/kcl-lang) 是一个 CNCF 基金会托管的基于约束的记录及函数语言,期望通过成熟的编程语言技术和实践来改进对大量繁杂配置比如云原生 Kubernetes 配置场景的编写,致力于构建围绕配置的更好的模块化、扩展性和稳定性,更简单的逻辑编写,以及更简单的自动化和生态工具集成。
14+
15+
本栏目将会双周更新 KCL 语言社区最新动态,包括功能、官网更新和最新的社区动态等,帮助大家更好地了解 KCL 社区!
16+
17+
**_KCL 官网:[https://kcl-lang.io](https://kcl-lang.io)_**
18+
19+
## 特别鸣谢
20+
21+
感谢过去两周所有的社区参与者,以下排名不分先后
22+
23+
- 感谢 @prakhar479 对 KCL built-api 支持 blake3 的贡献 🙌
24+
- 感谢 @shruti2522 对 IDE hints 功能增强的贡献 🙌
25+
- 感谢 @liangyuanpeng 对 kcl-openapi 工具的持续贡献 🙌
26+
- 感谢 @trogowski 对 KCL 文档的贡献 🙌
27+
- 感谢 @yonas 对 KCL 文档的贡献 🙌
28+
- 感谢 @NishantBansal2003 对 KCL 包管理工具 sum check 功能的持续贡献 🙌
29+
- 感谢 @officialasishkumar 对 KCL 包管理工具下载 Git 子包功能的贡献 🙌
30+
31+
- 感谢 @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 过程中提供的宝贵建议与反馈 🙌
32+
33+
## 内容概述
34+
35+
**🏄 语言更新**
36+
37+
- 加密标准库新增参数,支持对参数传入参数进行编码。
38+
39+
```kcl
40+
sha512(value: str, encoding: str = "utf-8") -> str
41+
```
42+
43+
- 新增 built-in API crypto.blake3 支持使用 Blake 算法进行哈希加密。
44+
45+
```kcl
46+
import crypto
47+
blake3 = crypto.blake3("ABCDEF")
48+
```
49+
50+
- 新增 built-in API isnullish 支持判断字段是否为空。
51+
52+
```kcl
53+
a = [100, 10, 100]
54+
A = isnullish(a)
55+
e = None
56+
E = isnullish(e)
57+
```
58+
59+
- 新增 built-in API datetime.validate 支持验证日期内容。
60+
61+
```kcl
62+
import datetime
63+
assert datetime.validate("2024-08-26", "%Y-%m-%d")
64+
```
65+
66+
- 修复了 built-in API datetime 中日期格式的问题。
67+
- KCL Plugin 支持通过 rust 开发。
68+
- 修复了 Schema 配置合并参数解析错误的问题。
69+
- KCL 发布了 0.10.0-rc.1 版本。
70+
- KCL Plugin 增加了部分测试。
71+
72+
**💻 IDE 更新**
73+
74+
- 修复了第一行第一列代码高亮失效的问题。
75+
- 修复了 IDE 偶发死锁的问题。
76+
- IDE 增加了更多输出日志。
77+
- 优化了 scehma index signature key 的语义高亮。
78+
- IDE find ref 功能优化。
79+
- IDE 修复了更新 kcl.mod 失效的问题。
80+
- IDE 修复了 find ref 错误。
81+
- IDE 修复了打开文件时代码高亮失败。
82+
- LSP 部分代码结构重构,调整了部分 API 的作用域。
83+
- IDE 修复了 kpm 更新依赖后,IDE 没有同步更新的问题。
84+
- IDE 新增了对 schema 参数的 hints。
85+
86+
**📖 文档更新**
87+
88+
- 新增了 KCL 在 kubecon 2024 的回顾文章。
89+
- 文档中增加了新增 built-in API 相关的文档。
90+
- 调整了文档中包管理工具与 OCI registry 和 Git Repo 部分集成的文档。
91+
- 新增了文档中关于 kcl.mod include 和 exclude 字段的描述。
92+
- 修复了部分文档错误。
93+
94+
**📦️ SDK 更新**
95+
96+
- 新增 KCL wasm lib 支持 node.js 和 浏览器集成。
97+
- 重构优化了 KCL python 的代码案例。
98+
99+
**📬️ 工具更新**
100+
101+
- kcl-openapi 对代码结构和文档结构进行了优化和调整。
102+
- kcl-playground 添加了更多的测试用例,对工程结构体进行了优化和升级。
103+
- 包管理工具修复了编译多个 *.k 文件失败的 bug。
104+
- 包管理工具支持添加 Git 仓库中子包作为三方库。
105+
- 包管理工具新增部分测试用例。
106+
- krm-kcl function 修复了部分测试和文档中的错误。
107+
- kcl-operator 更新和修复了部分文档内容,优化了部分代码结构。
108+
- kcl-operator 新增部分测试用例,优化了发布流程。
109+
- kcl-operator 新增了初始化容器时的自动鉴权。
110+
- KCL fmt 工具提供了 C api。
111+
112+
**⛵️ API 更新**
113+
114+
- kcl-go API 支持 jsonschema 的导入。
115+
116+
**🔥 社区集成更新**
117+
118+
- kcl-flux-controller 传入参数优化, 新增更多的测试用例,更加完整的 release 和测试流程。
119+
120+
## 其他资源
121+
122+
❤️ 查看 _[KCL 社区](https://github.com/kcl-lang/community)_ 加入我们。
123+
124+
更多其他资源请参考:
125+
126+
- [KCL 网站](https://kcl-lang.io/)
127+
- [KusionStack 网站](https://kusionstack.io/)

versioned_docs/version-0.10/user_docs/guides/package-management/4-how-to/10-kpm_git.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Use an Git-based repository
1+
# Use a Git-based repository
22

33
KCL package management tool supports saving and sharing KCL modules through the OCI registry and Git repository. This section will introduce how to integrate the KCL package management tool with the Git repository.
44

versioned_docs/version-0.7/user_docs/guides/package-management/4-how-to/10-kpm_git.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Use an Git-based repository
1+
# Use a Git-based repository
22

33
KCL package management tool supports saving and sharing KCL modules through the OCI registry and Git repository. This section will introduce how to integrate the KCL package management tool with the Git repository.
44

versioned_docs/version-0.8/user_docs/guides/package-management/4-how-to/10-kpm_git.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Use an Git-based repository
1+
# Use a Git-based repository
22

33
KCL package management tool supports saving and sharing KCL modules through the OCI registry and Git repository. This section will introduce how to integrate the KCL package management tool with the Git repository.
44

versioned_docs/version-0.9/user_docs/guides/package-management/4-how-to/10-kpm_git.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Use an Git-based repository
1+
# Use a Git-based repository
22

33
KCL package management tool supports saving and sharing KCL modules through the OCI registry and Git repository. This section will introduce how to integrate the KCL package management tool with the Git repository.
44

0 commit comments

Comments
 (0)