|
| 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 | + |
| 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/). |
0 commit comments