|
| 1 | +--- |
| 2 | +slug: 2024-08-07-newsletter |
| 3 | +title: KCL Newsletter (2024.07.25 - 2024.08.07) |
| 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 | +Special thanks to all community contributors over the past two weeks. The following list is in no particular order: |
| 22 | + |
| 23 | +- Thanks @briheet for the contribution to the formatted output of the kcl.mod file. 🙌 |
| 24 | +- Thanks @Vishalk91-4 for the ongoing contribution to the KCL tree-sitter. 🙌 |
| 25 | +- Thanks @liangyuanpeng for the ongoing contribution to the CI of repositories such as KCL cli, kpm, and modules. 🙌 |
| 26 | +- Thanks @kukacz for the ongoing contribution to the KCL model repository. 🙌 |
| 27 | +- Thanks @Moulick for the contribution to the Crossplane KCL Function. 🙌 |
| 28 | +- Thanks @stmcginnis for the contribution to the KCL documentation. 🙌 |
| 29 | +- Thanks @YvanDaSilva for the contribution to the KCL Nix Package. 🙌 |
| 30 | +- Thanks @DavidChevallier for the ongoing contribution to the KCL model repository. 🙌 |
| 31 | +- Thanks @Manoramsharma for the contribution to the alias feature and external Git dependency functionality of the KCL package management tool. 🙌 |
| 32 | +- Thanks @NishantBansal2003, @varshith257 for the research and contribution to the checksum check of third-party dependencies in the KCL package management tool. 🙌 |
| 33 | +- Thanks to Harsh4902, @Gmin2, @shishir-11, @RehanChalana for the research and contribution to the Intellij IDE KCL LSP plugin. 🙌 |
| 34 | +- Thanks @Shruti78 for the contribution to the KCL documentation. 🙌 |
| 35 | +- Thanks @jianzs for the contribution to the KCL Playground. 🙌 |
| 36 | +- Thanks @vinayakjaas for the contribution to the error messages of KPM. 🙌 |
| 37 | +- Thanks to @wmcnamee-coreweave, @dennybaa, @bozaro, @eshepelyuk, @liangyuanpeng, @vietanhtwdk, @hoangndst, @sschne, @patpicos, @metacoma, @YvanDaSilva, @ovk, @karlderkaefer, @kukacz, @Matthew Hodgkins, @Gao Jun, and @Zack Zhang for their valuable suggestions and feedback while using KCL in recent times. 🙌 |
| 38 | + |
| 39 | +## Overview |
| 40 | + |
| 41 | +Thanks to all contributors for their outstanding work over the past two weeks. Here is an overview of the key content: |
| 42 | + |
| 43 | +**📦️ Modules Updates** |
| 44 | + |
| 45 | +- `cluster-api-provider-azure` updated to v1.16.0 |
| 46 | +- `cluster-api` updated to v1.7.4 |
| 47 | +- `konfig` updated to v0.6.0 |
| 48 | +- `karmada` updated to v0.1.1 |
| 49 | +- New modules |
| 50 | + - `fluxcd-kcl-controller` |
| 51 | + - `fluxcd-kustomize-controller` |
| 52 | + - `fluxcd-helm-controller` |
| 53 | + - `fluxcd-source-controller` |
| 54 | + - `fluxcd-image-reflector-controller` |
| 55 | + - `fluxcd-image-automation-controller` |
| 56 | + - `fluxcd-notification-controller` |
| 57 | + - `kwok` |
| 58 | + |
| 59 | +**🏄 Language Updates** |
| 60 | + |
| 61 | +- Assignment statements support attribute access and index access for the assigned target. |
| 62 | +- Fixed KCL nested multi-level config block semantic check costing too long time. |
| 63 | +- Removed the unwrap() in the semantic resolver to reduce panic issues. |
| 64 | +- Fixed the error merge of the list index field by merge operation. |
| 65 | + |
| 66 | +- Fixed type conversion error with the `as` keyword in the presence of external packages. |
| 67 | +- Fixed type check error from config to schema in the `lambda` function. |
| 68 | +- Added `file.current()` function to retrieve the full path of the currently running KCL file. |
| 69 | +- Assignment statements support syntax such as `_config["key"] = "value"` or `_config.key = "value"` for in-place modification of configurations. |
| 70 | + |
| 71 | +**💻 IDE Updates** |
| 72 | + |
| 73 | +- Fixed completion of attribute instantiation using `:` operator in Schema. |
| 74 | +- Fixed unexpected completion in Schema Doc |
| 75 | +- Fixed display issues with the `kcl-language-server` command-line version. |
| 76 | +- Support for disabling formatting on save in plugins like NeoVim, VS Code. |
| 77 | +- Fine-grained completion for distinguishing between property and value semantics during Schema instantiation. |
| 78 | +- Removal of default key bindings in KCL NeoVim plugin, support for user customization. |
| 79 | + |
| 80 | +**📬️ Toolchain Updates** |
| 81 | + |
| 82 | +- `kcl test` tool supports output of print function in test cases |
| 83 | +- Fixed compilation error in `kcl import` when importing Schema from Kubernetes CRD and OpenAPI |
| 84 | +- Improved formatting of output for `kcl mod init` |
| 85 | + |
| 86 | +**⛵️ API Updates** |
| 87 | + |
| 88 | +- Fixed unexpected data formatting error in KCL C API. |
| 89 | +- `OverrideFile` API supports automatic merging and modification of configurations using the `:` operator during compilation. |
| 90 | + |
| 91 | +**🔥 SDK Updates** |
| 92 | + |
| 93 | +- KCL Go SDK supports interaction with KCL core Rust API through build tags, defaulting to CGO mode and can be switched to RPC mode with `-tags rpc`. |
| 94 | +- Alpha version v0.10.0 of KCL SDKs released |
| 95 | +- Initial release of KCL Kotlin and Swift language SDKs, with no official dependency package yet, contributions are welcome. |
| 96 | + |
| 97 | +## Resources |
| 98 | + |
| 99 | +❤️ See [here](https://github.com/kcl-lang/community) to join us! |
| 100 | + |
| 101 | +For more resources, please refer to |
| 102 | + |
| 103 | +- [KCL Website](https://kcl-lang.io/) |
| 104 | +- [KusionStack Website](https://kusionstack.io/) |
0 commit comments