Skip to content

Commit

Permalink
Merge pull request #487 from kcl-lang/2024-11-14-newsletter-blogs
Browse files Browse the repository at this point in the history
docs: 2024-11-14-newsletter-blogs
  • Loading branch information
Peefy authored Nov 14, 2024
2 parents f56555f + 657879f commit 13bd355
Show file tree
Hide file tree
Showing 2 changed files with 148 additions and 0 deletions.
72 changes: 72 additions & 0 deletions blog/2024-11-14-newsletter/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
---
slug: 2024-11-14-newsletter
title: KCL Newsletter (2024.11.01 - 2024.11-14)
authors:
name: KCL Team
title: KCL Team
tags: [KCL, Newsletter]
image: /img/biweekly-newsletter.png
---

![](/img/biweekly-newsletter.png)

[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.

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!

**_KCL Website: [https://kcl-lang.io](https://kcl-lang.io)_**

## Special Thanks

Thanks to all community participants over the past two weeks, listed in no particular order:

- Thanks to @slusy for contributions to the KCL playground 🙌
- Thanks to @NishantBansal2003 for enhancing the KCL checksum feature 🙌
- Thanks to @cakemanny, @hanshardmeier, @haiwu, @dennybaa, @NishantBansal2003, @Stinjul, @slusy, @Christopher Haar, @Peter Boat, @Zack Zhang, @anshuman singh, @Carl-Fredrik, @Evgeny Shepelyuk, @kbristow and others for their valuable suggestions and feedback during the use of KCL over the past two weeks 🙌

## Overview

**🏄 Language Updates**

- Fixed unexpected runtime results caused by Schema inheritance definitions
- Refactored the Parser implementation, improving parsing performance by 40% under 400+ KCL files

**💻 IDE Updates**

- Supports hint for config entry key type
- Optimized static analysis of unpacking expressions `**expr`, providing richer diagnostic information
- Optimized code snippet completion for schema types `{}`
- Added monitoring for changes in `kcl.mod` files, improving external package completion experience
- Differentiated highlight colors for `any` type and `any` keyword expressions

**📖 Module Updates**

- edp-keycloak-operator released version `v1.23`

**📬️ Toolchain Updates**

- `kcl mod` command supports module spec to obtain submodules in OCI and Git dependencies
- `kcl import` tool fixed the import of multi-line YAML strings
- `kcl import` tool fixed the import of Kubernetes CRDs when properties have default values
- `kcl run` fixed the issue where the `-o` parameter truncated file output
- `kcl mod` fixed the issue where rename dependencies could not be found
- `kcl mod` fixes duplicate downloads caused by missing kcl.mod files in the root directory of the third-party git repo.
- `kcl mod` kcl.mod file supports `k8s = {version="1.27"}` dependency style.
- `kcl mod` fixes an issue where some diagnostic information is lost.

**🔥 Integration Updates**

- Crossplane KCL function updated to version v0.10.8, supporting the reading of external resources

**📖 Documentation Updates**

- Updated the FAQ with documentation on using KCL plugins
- Updated the FAQ with configuration merge documentation, adding usage documentation for the `json_merge_patch` library
- Added usage examples for all system library functions
- Added more usage cases for OAM models

## Resources

❤️ See [here](https://github.com/kcl-lang/community) to join us!

For more resources, please refer to the [KCL Website](https://kcl-lang.io/).
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
---
slug: 2024-11-14-newsletter
title: KCL 最新动态速递 (2024.11.01 - 2024.11.14)
authors:
name: KCL 团队
title: KCL 团队
tags: [KCL, Newsletter]
image: /img/biweekly-newsletter.png
---

![](/img/biweekly-newsletter-zh.png)

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

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

**_KCL 官网:[https://kcl-lang.io](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 社区](https://github.com/kcl-lang/community)_ 加入我们。

更多其他资源请参考:

- [KCL 网站](https://kcl-lang.io/)
- [KusionStack 网站](https://kusionstack.io/)

0 comments on commit 13bd355

Please sign in to comment.