Skip to main content

17 posts tagged with "Newsletter"

View All Tags

· 5 min read

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

Overview

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.

📦️ Module Updates

  • argo-cd-order updated to version 0.2.0, featuring new resource filtering functionality.
  • crossplane module KCL code updated to match the CRD Webhook validation rules of crossplane version 1.15.
  • json-merge-patch module updated to version 0.1.1, supporting Schema type filtering.

🏄 Language Updates

  • Fixed the type error of return value from yaml.decode_all function.
  • Fixed assertion failure when as keyword is present in certain third-party libraries.
  • file module function list updated, seee here for more documentation.
  • Added support for Schema types in typeof function to distinguish between schema types and instances.
schema Foo:
bar?: str

foo = Foo {}
type_schema = typeof(foo) # schema
type_type = typeof(Foo) # type

💻 IDE Updates

  • Fixed IDE path errors and occasional crashes on Windows operating systems.
  • The Intellij KCL plugin is divided into two versions based on its functionality: with/without kcl-language-server.

📬️ Toolchain Updates

  • Fixed the issue where third-party libraries cannot be found when compiling relative path modules with kcl run.
  • Fixed the issue of kcl vet validation tool not being able to import external libraries.
  • Fixed formatting errors in the kcl fmt formatting tool when inserting external import statements.
  • Fixed unexpected errors in the kcl completion bash command completion.

⛵️ API Updates

  • Improved format output when automatically modifying variables with the OverrideFile API.
  • ListVariables API now supports return types for variable property operators and Schema types.
  • GetSchemaType API now supports returning parent class of Schema 🔥 SDK Updates.

🔥 SDK Updates

  • KCL Rust SDK released preview version v0.9.0-alpha.1
  • KCL Python SDK released preview version v0.9.0-alpha.1
  • KCL Node.js SDK released preview version v0.9.0-alpha.1
  • KCL Java SDK released preview version v0.9.0-SNAPSHOT

🚪 Integration Updates

  • Fixed the issue of concurrent synchronization resource errors in the ArgoCD KCL Plugin.
  • Added new KCL arm64 docker image kcllang/kcl-arm64.
  • 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 for more information.
  • Crossplane KCL functions released v0.8.0 version and updated more usage examples, see documentation for more information.

Special Thanks

We'd like to thank all the community participants from the past two weeks. The following are listed in no particular order:

  • Thanks to @Blarc and @prahaladramji for contributing to the KCL Intellij IDE plugin support for the latest Intellij version. 🙌
  • Thanks to @jgascon-nx for contributions to the KCL Crossplane module. 🙌
  • Thanks to @Gmin2 for contributions to rebooting KCL Language Server commands in the KCL VS Code IDE. 🙌
  • Thanks to @Gmin2 for contributions to the KCL GetSchemaType API supporting parent class field returns. 🙌
  • Thanks to @metacoma for contributions to the KCL argo-cd-order module. 🙌
  • Thanks to @shruti2522 for contributions to the KCL file module. 🙌
  • Thanks to @shruti2522 for contributions to KCL Import and Doc tools. 🙌
  • Thanks to @shruti2522 for contributions to the Kubernetes resource filtering feature in the KRM KCL specification. 🙌
  • Thanks to @JeevaRamanathan for contributions to the KCL file module. 🙌
  • Thanks to @AkashKumar7902 for contributions to the KCL package management tool MVS (Minimum Version Selection) algorithm. 🙌
  • Thanks to @bozaro for contributions to the KCL Go SDK Native API. 🙌
  • Thanks to @officialasishkumar for contributions to KCL package management tool configuration support for exclude and include parameters. 🙌
  • Thanks to @beholdenkey for contributions to KCL documentation. 🙌
  • Thanks to @d4v1d03 for contributions to the hover feature in KCL IDE. 🙌
  • Thanks to @ibishal for contributions to the preview feature in KCL IDE. 🙌
  • Thanks to @bradkwadsworth-mw for contributions to the access rights field in the KRM KCL specification. 🙌
  • Thanks to @jgascon-nx and @metacoma for sharing experiences and case studies on using KCL and Crossplane KCL functions, see here for more information. 🙌
  • 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. 🙌

Resources

❤️ See here to join us!

For more resources, please refer to

· 4 min read

KCL is a constraint-based record and functional language hosted by Cloud Native Computing Foundation (CNCF) that enhances the writing of complex configurations and polices, including those for cloud-native scenarios. With its advanced programming language technology and practices, KCL is dedicated to promoting better modularity, scalability, and stability for configurations. It enables simpler logic writing and offers ease of automation APIs and integration with homegrown 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

Overview

Thanks to to all contributors for their outstanding work over the past twenty days (2024.04.04 - 2024.04.17). Here is an overview of the key content.

🏄 Language Update

  • KCL has added support for the Alpine Linux and Fedora Linux platforms.
  • Support for the evaluation of lambda closures.
  • Fixed a bug of the union of schema instances failed within list comprehensions.
  • Fixed the calling process error of lambda methods within schemas.
  • Fixed a bug that APIs could not be found on the Windows system.
  • Fixed a parallel compilation error caused by lock file failures.

⛵️ API Update

  • OverrideFile API supports insertion of non-exist variables.

  • Override API supports taking the variable name as one assignment value.

  • Override API fixes configuration merge failure due to whitespace.

🚪 CLI Update

  • Optimized the format of the output json.

🔥 SDK Update

💻 IDE Update

  • KCL VScode supports the highlight of kcl.mod and kcl.mod.lock.

kclmod kclmodlock

📬️ KCL Package Management Tool Update

  • downloader is added for api to support custom three-party dependencies download process.

  • Fixed an issue where the repository specified in the url was invalid when adding dependencies using the oci url.

  • Fixed an issue where calling api output logs failed

📦️ KCL Modules Update

  • Provide Argo-cd-order which is a module for ordering argocd sync operations.

  • Provide crossplane-provider-gcp-upjet which is spec definition for crossplane-provider-upjet-gcp.

  • crossplane is updated to version 1.15.2.

📘 Doc Update

  • Added SDK related documents.

  • Added rust api documentation.

  • Added node-js api documentation.

  • Updated the OverrideFile API spec specification.

  • Added KCL Nix installation document.

  • Add package management tool supports Registry list.

  • Added more Q&A.

🎈 Community

  • Viktor Farcic, a well-known KOL, YouTuber, and DevOpsToolkit channel manager, reviewed KCL and introduced KCL as a solution for how to better manage Kubernetes configuration lists and handle data structures.

youtuber

The video link: https://www.youtube.com/watch?v=Gn6btuH3ULw

Special Thanks

We'd like to thank all the community participants from the past two weeks.

The following are listed in no particular order:

  • Thanks to @bozaro for the contribution to the KCL Go SDK 🙌
  • Thanks to @jheyduk for the contribution to the Kubectl KCL plugin 🙌
  • Thanks to @shruti2522,@metacoma contribution to the KCL 🙌
  • Thanks to @metacoma,@aleeriz contribution to the KCL modules 🙌
  • Thanks to @XiaoK29 contribution to the KCL go SDK 🙌
  • Thanks to @d4v1d03 contribution to the KCL Website Docs 🙌
  • Thanks to @shruti2522 contribution to the KCL IDE 🙌
  • Thanks to @Tom van Dinther contributions to Nix support for KCL Cli 🙌
  • Thanks to @steeling, @Stephen C, @Henri Williams, @Hai Wu, @Even Solberg, @Sergey Ryabin, @Shashank Mittal @Abhishek and others for their valuable suggestions and feedback while using KCL recently 🙌

Resources

❤️ See here to join us!

For more resources, please refer to