|
| 1 | +--- |
| 2 | +slug: 2024-05-15-newsletter |
| 3 | +title: KCL Newsletter (2024.05.01 - 2024.05.15) |
| 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 | +## Overview |
| 20 | + |
| 21 | +Thanks to to all contributors for their outstanding work over the past twenty days (2024.05.01 - 2024.05.15). Here is an overview of the key content. |
| 22 | + |
| 23 | +**📦️ Module Updates** |
| 24 | + |
| 25 | +- `argo-cd-order` updated to version 0.2.0, featuring new resource filtering functionality. |
| 26 | +- `crossplane` module KCL code updated to match the CRD Webhook validation rules of crossplane version 1.15. |
| 27 | +- `json-merge-patch` module updated to version 0.1.1, supporting Schema type filtering. |
| 28 | + |
| 29 | +**🏄 Language Updates** |
| 30 | + |
| 31 | +- Fixed the type error of return value from `yaml.decode_all` function. |
| 32 | +- Fixed assertion failure when `as` keyword is present in certain third-party libraries. |
| 33 | +- `file` module function list updated, seee [here](https://www.kcl-lang.io/docs/reference/model/file) for more documentation. |
| 34 | +- Added support for Schema types in `typeof` function to distinguish between schema types and instances. |
| 35 | + |
| 36 | +```python |
| 37 | +schema Foo: |
| 38 | + bar?: str |
| 39 | + |
| 40 | +foo = Foo {} |
| 41 | +type_schema = typeof(foo) # schema |
| 42 | +type_type = typeof(Foo) # type |
| 43 | +``` |
| 44 | + |
| 45 | +**💻 IDE Updates** |
| 46 | + |
| 47 | +- Fixed IDE path errors and occasional crashes on Windows operating systems. |
| 48 | +- The Intellij KCL plugin is divided into two versions based on its functionality: with/without `kcl-language-server`. |
| 49 | + |
| 50 | +**📬️ Toolchain Updates** |
| 51 | + |
| 52 | +- Fixed the issue where third-party libraries cannot be found when compiling relative path modules with `kcl run`. |
| 53 | +- Fixed the issue of `kcl vet` validation tool not being able to import external libraries. |
| 54 | +- Fixed formatting errors in the `kcl fmt` formatting tool when inserting external import statements. |
| 55 | +- Fixed unexpected errors in the `kcl completion bash` command completion. |
| 56 | + |
| 57 | +**⛵️ API Updates** |
| 58 | + |
| 59 | +- Improved format output when automatically modifying variables with the `OverrideFile` API. |
| 60 | +- `ListVariables` API now supports return types for variable property operators and Schema types. |
| 61 | +- `GetSchemaType` API now supports returning parent class of Schema 🔥 SDK Updates. |
| 62 | + |
| 63 | +**🔥 SDK Updates** |
| 64 | + |
| 65 | +- KCL Rust SDK released preview version v0.9.0-alpha.1 |
| 66 | +- KCL Python SDK released preview version v0.9.0-alpha.1 |
| 67 | +- KCL Node.js SDK released preview version v0.9.0-alpha.1 |
| 68 | +- KCL Java SDK released preview version v0.9.0-SNAPSHOT |
| 69 | + |
| 70 | +**🚪 Integration Updates** |
| 71 | + |
| 72 | +- Fixed the issue of concurrent synchronization resource errors in the ArgoCD KCL Plugin. |
| 73 | +- Added new KCL arm64 docker image `kcllang/kcl-arm64`. |
| 74 | +- KRM KCL specification added fields for access permissions, Kubernetes resource filtering, and compilation configuration, supporting private OCI Registry access and flexible compilation configuration, see [documentation](https://github.com/kcl-lang/krm-kcl) for more information. |
| 75 | +- Crossplane KCL functions released v0.8.0 version and updated more usage examples, see [documentation](https://github.com/crossplane-contrib/function-kcl) for more information. |
| 76 | + |
| 77 | +## Special Thanks |
| 78 | + |
| 79 | +We'd like to thank all the community participants from the past two weeks. The following are listed in no particular order: |
| 80 | + |
| 81 | +- Thanks to @Blarc and @prahaladramji for contributing to the KCL Intellij IDE plugin support for the latest Intellij version. 🙌 |
| 82 | +- Thanks to @jgascon-nx for contributions to the KCL Crossplane module. 🙌 |
| 83 | +- Thanks to @Gmin2 for contributions to rebooting KCL Language Server commands in the KCL VS Code IDE. 🙌 |
| 84 | +- Thanks to @Gmin2 for contributions to the KCL GetSchemaType API supporting parent class field returns. 🙌 |
| 85 | +- Thanks to @metacoma for contributions to the KCL argo-cd-order module. 🙌 |
| 86 | +- Thanks to @shruti2522 for contributions to the KCL file module. 🙌 |
| 87 | +- Thanks to @shruti2522 for contributions to KCL Import and Doc tools. 🙌 |
| 88 | +- Thanks to @shruti2522 for contributions to the Kubernetes resource filtering feature in the KRM KCL specification. 🙌 |
| 89 | +- Thanks to @JeevaRamanathan for contributions to the KCL file module. 🙌 |
| 90 | +- Thanks to @AkashKumar7902 for contributions to the KCL package management tool MVS (Minimum Version Selection) algorithm. 🙌 |
| 91 | +- Thanks to @bozaro for contributions to the KCL Go SDK Native API. 🙌 |
| 92 | +- Thanks to @officialasishkumar for contributions to KCL package management tool configuration support for exclude and include parameters. 🙌 |
| 93 | +- Thanks to @beholdenkey for contributions to KCL documentation. 🙌 |
| 94 | +- Thanks to @d4v1d03 for contributions to the hover feature in KCL IDE. 🙌 |
| 95 | +- Thanks to @ibishal for contributions to the preview feature in KCL IDE. 🙌 |
| 96 | +- Thanks to @bradkwadsworth-mw for contributions to the access rights field in the KRM KCL specification. 🙌 |
| 97 | +- Thanks to @jgascon-nx and @metacoma for sharing experiences and case studies on using KCL and Crossplane KCL functions, see [here](https://github.com/mindwm/mindwm-gitops) for more information. 🙌 |
| 98 | +- Thanks to @mintu, @Sergei Iakovlev, @HAkash Kumar, @HStéphane Este-Gracias, @Korada Vishal, @Bishal, @metacoma, @NAVRockClimber, @nkabir, @dennybaa, @dopesickjam, @vfarcic, @sestegra, @jgascon-nx, @zargor, @markphillips100, @evensolberg, @borgius, @bradkwadsworth-mw, @reedjosh, @patrycju, @PrettySolution, @selfuryon, @steeling, @empath-nirvana, @CC007, @M Slane, @MOHAMED FAWAS, and @Even Solberg, among others, for their valuable advice and feedback during the recent use of KCL. 🙌 |
| 99 | + |
| 100 | +## Resources |
| 101 | + |
| 102 | +❤️ See [here](https://github.com/kcl-lang/community) to join us! |
| 103 | + |
| 104 | +For more resources, please refer to |
| 105 | + |
| 106 | +- [KCL Website](https://kcl-lang.io/) |
| 107 | +- [KusionStack Website](https://kusionstack.io/) |
| 108 | +- [KCL v0.9.0 Milestone](https://github.com/kcl-lang/kcl/milestone/9) |
0 commit comments