|
| 1 | +--- |
| 2 | +slug: 2024-08-21-newsletter |
| 3 | +title: KCL Newsletter (2024.08.07 - 2024.08.21) |
| 4 | +authors: |
| 5 | + name: KCL Team |
| 6 | + title: KCL Team |
| 7 | +tags: [KCL, Newsletter] |
| 8 | +image: /img/biweekly-newsletter.png |
| 9 | +--- |
| 10 | + |
| 11 | + |
| 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 @officialasishkumar for contributing the ability to add Git repository subdirectory dependencies to the KCL package management tool. 🙌 |
| 22 | +- Thanks to @Gmin2 for contributing to the module storage path feature in the KCL package management tool. 🙌 |
| 23 | +- Thanks to @liangyuanpeng for contributions to modules like karpenter, gateway-api, and the KCL OpenAPI tool. 🙌 |
| 24 | +- Thanks to @NishantBansal2003 and @varshith257 for their research and contributions on third-party dependency checksum checks in the KCL package management tool. 🙌 |
| 25 | +- Thanks to @Harsh4902, @Gmin2, @shishir-11, @RehanChalana for their research and contributions to the Intellij IDE KCL LSP plugin. 🙌 |
| 26 | +- Thanks to @Vishalk91-4 for their ongoing contributions to the KCL tree-sitter grammar. 🙌 |
| 27 | +- Thanks to @dennybaa for contributions to modules like crossplane and crossplane-vault-provider. 🙌 |
| 28 | +- Thanks to @Manoramsharma for contributions to dependency alias features, ignoring TLS checks, and external Git dependencies in the KCL package management tool. 🙌 |
| 29 | +- Thanks to @DavidChevallier for contributions to modules like cilium and external-secrets. 🙌 |
| 30 | +- Thanks to @suin for contributions to the outdent module. 🙌 |
| 31 | +- Thanks to @Lukáš Kubín, @ChrisK, @Sergey Ryabin, @Lan Liang, @Endre Karlson, @suin, @Zack Zhang, @v3xro, @soubinan, @juanzolotoochin, @mnacharov, @dennybaa, @ron1, @DavidChevallier, @wmcnamee-coreweave, @vfarcic, @phisco, @juanzolotoochin, @juanique, @zackzhangverkada, @warmuuh and @novohool for their valuable suggestions and feedback during their use of KCL over the past two weeks. 🙌 |
| 32 | + |
| 33 | +## Overview |
| 34 | + |
| 35 | +**🏄 Language Updates** |
| 36 | + |
| 37 | +- Optimized the type inference and checks for function parameter calls/return value Dict to Schema, allowing the Schema name to be omitted to simplify configuration writing. |
| 38 | +- Enhanced type checks for configuration merging operators, enabling the detection of more type errors at compile time. |
| 39 | +- Supported omitting default values for Schema properties with singleton literal constant types. |
| 40 | + |
| 41 | +Before optimization: |
| 42 | + |
| 43 | +```python |
| 44 | +schema Deployment: |
| 45 | + apiVersion: "apps/v1" = "apps/v1" |
| 46 | +``` |
| 47 | + |
| 48 | +After optimization: |
| 49 | + |
| 50 | +```python |
| 51 | +schema Deployment: |
| 52 | + apiVersion: "apps/v1" # The type value is the same as the default value, so the default value can be omitted. |
| 53 | +``` |
| 54 | + |
| 55 | +**📦️ Module Updates** |
| 56 | + |
| 57 | +- `k8s` updated to 1.31 |
| 58 | +- `gateway-api` updated to 0.2.0 |
| 59 | +- `karpenter` updated to 0.2.0 |
| 60 | +- `crossplane` updated to 1.16.0 |
| 61 | +- `cilium` updated to 0.3.0 |
| 62 | +- `external-secrets` updated to 0.1.2 |
| 63 | +- New modules |
| 64 | + - `crossplane-provider-vault` 1.0.0 |
| 65 | + - `outdent` 0.1.0 |
| 66 | + - `kcl_lib` 0.1.0 |
| 67 | + |
| 68 | +**📬️ Tool Updates** |
| 69 | + |
| 70 | +- The `kcl import` tool now supports importing entire Go Packages and converting all Go struct definitions into KCL Schema definitions. |
| 71 | +- The `kcl import` tool has added support for importing JSON Schemas containing AllOf validation fields as KCL Schema. |
| 72 | +- The `kcl fmt` tool now preserves the user's blank lines between multiple code snippets, rather than deleting them all. |
| 73 | +- Fixed the incorrect formatting position of the Schema index signature comments in the `kcl fmt` tool. |
| 74 | +- Fixed unexpected errors when setting the -o parameter during the `kcl import` tool for Kubernetes CRDs. |
| 75 | +- Fixed unexpected KCL Schema errors when importing empty Go structs with the `kcl import` tool. |
| 76 | + |
| 77 | +**💻 IDE Updates** |
| 78 | + |
| 79 | +- Supports workspace segmentation in the IDE using a `kcl.work` configuration file. |
| 80 | +- Fixed the issue where schema example parameters could not display semantic information. |
| 81 | + |
| 82 | +**⛵️ API Updates** |
| 83 | + |
| 84 | +- Complete testing and case updates for the Kotlin API, see [https://www.kcl-lang.io/docs/reference/xlang-api/kotlin-api](https://www.kcl-lang.io/docs/reference/xlang-api/kotlin-api). |
| 85 | +- Preliminary version of the Lua API released; contributions are welcome, see [https://github.com/kcl-lang/lib/tree/main/lua](https://github.com/kcl-lang/lib/tree/main/lua). |
| 86 | + |
| 87 | +**🔥 Integration Updates** |
| 88 | + |
| 89 | +- Flux KCL Controller released v0.4.0, aligning most Flux Kustomize Controller features to meet the demand for direct use of KCL instead of Kustomize for Flux GitOps. |
| 90 | +- KRM KCL specification released v0.10.0 beta, adding features for pulling from private Git repositories and ignoring TLS checks. |
| 91 | +- KCL Nix Package released v0.9.8. |
| 92 | +- Crossplane KCL Function released v0.9.4; see details at [https://github.com/crossplane-contrib/function-kcl](https://github.com/crossplane-contrib/function-kcl). |
| 93 | +- KCL Bazel Rules updated to KCL v0.10.0 beta; see details at [https://github.com/kcl-lang/rules_kcl](https://github.com/kcl-lang/rules_kcl). |
| 94 | + |
| 95 | +## Resources |
| 96 | + |
| 97 | +❤️ See [here](https://github.com/kcl-lang/community) to join us! |
| 98 | + |
| 99 | +For more resources, please refer to the [KCL Website](https://kcl-lang.io/). |
0 commit comments