Skip to main content

17 posts tagged with "Newsletter"

View All Tags

· 3 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

Special Thanks

Thanks to all community participants over the past two weeks, listed in no particular order:

  • Thanks to @slusy for contributions to the KCL playground 🙌
  • Thanks to @NishantBansal2003 for enhancing the KCL checksum feature 🙌
  • Thanks to @cakemanny, @hanshardmeier, @haiwu, @dennybaa, @NishantBansal2003, @Stinjul, @slusy, @Christopher Haar, @Peter Boat, @Zack Zhang, @anshuman singh, @Carl-Fredrik, @Evgeny Shepelyuk, @kbristow and others for their valuable suggestions and feedback during the use of KCL over the past two weeks 🙌

Overview

🏄 Language Updates

  • Fixed unexpected runtime results caused by Schema inheritance definitions
  • Refactored the Parser implementation, improving parsing performance by 40% under 400+ KCL files

💻 IDE Updates

  • Supports hint for config entry key type
  • Optimized static analysis of unpacking expressions **expr, providing richer diagnostic information
  • Optimized code snippet completion for schema types {}
  • Added monitoring for changes in kcl.mod files, improving external package completion experience
  • Differentiated highlight colors for any type and any keyword expressions

📖 Module Updates

  • edp-keycloak-operator released version v1.23

📬️ Toolchain Updates

  • kcl mod command supports module spec to obtain submodules in OCI and Git dependencies
  • kcl import tool fixed the import of multi-line YAML strings
  • kcl import tool fixed the import of Kubernetes CRDs when properties have default values
  • kcl run fixed the issue where the -o parameter truncated file output
  • kcl mod fixed the issue where rename dependencies could not be found
  • kcl mod fixes duplicate downloads caused by missing kcl.mod files in the root directory of the third-party git repo.
  • kcl mod kcl.mod file supports k8s = {version="1.27"} dependency style.
  • kcl mod fixes an issue where some diagnostic information is lost.

🔥 Integration Updates

  • Crossplane KCL function updated to version v0.10.8, supporting the reading of external resources

📖 Documentation Updates

  • Updated the FAQ with documentation on using KCL plugins
  • Updated the FAQ with configuration merge documentation, adding usage documentation for the json_merge_patch library
  • Added usage examples for all system library functions
  • Added more usage cases for OAM models

Resources

❤️ See here to join us!

For more resources, please refer to the KCL Website.

· 4 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

Special Thanks

  • Thanks to @prakhar479 for contributing to the KCL built-api support for blake3 🙌

  • Thanks to @shruti2522 for contributing to the IDE hints feature enhancement 🙌

  • Thanks to @liangyuanpeng for continuous contributions to the kcl-openapi tool 🙌

  • Thanks to @trogowski for contributing to the KCL documentation 🙌

  • Thanks to @yonas for contributing to the KCL documentation 🙌

  • Thanks to @NishantBansal2003 for continuous contributions to the KCL package management tool sum check feature 🙌

  • Thanks to @officialasishkumar for contributing to the KCL package management tool download Git subpackage feature 🙌

  • 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 🙌

Overview

🏄 Language Updates

  • KCL v0.10.0-rc.1 has been released.
  • KCL added some built-in APIs parameters to support the encoding parameter.
sha512(value: str, encoding: str = "utf-8") -> str
  • KCL has added a new built-in API, crypto.blake3, to support the use of the Blake algorithm for hashing.
import crypto
blake3 = crypto.blake3("ABCDEF")
  • KCL has added a new built-in API, isnullish, to support determining whether a field is empty.
a = [100, 10, 100]
A = isnullish(a)
e = None
E = isnullish(e)
  • KCL has added a new built-in API, datetime.validate, to support validating date content.
import datetime
assert datetime.validate("2024-08-26", "%Y-%m-%d")
  • KCL has fixed the date format issue in the built-in API datetime.
  • KCL Plugin now supports development through Rust.
  • Fix the issue that the unification of the schema configuration arguments is parsed incorrectly.
  • KCL Plugin has added some tests.

💻 IDE Updates

  • Fixed the issue of the first line and first column code highlighting failure.
  • Fixed the issue of IDE occasional deadlock.
  • IDE has added more output logs.
  • Optimized the semantic highlighting of the scehma index signature key.
  • IDE has optimized the IDE find ref function.
  • Fixed the issue of IDE failing to highlight code when opening a file.
  • Fixed the issue that find ref failed.
  • Fixed the issue that the code highlight failed when opening a file.
  • Refactored the code structure of the LSP part and adjusted the scope of some APIs.
  • Fixed the issue that the IDE failed to update after kpm updated dependencies.
  • IDE has added hints for the schema arguments.

📖 Documentation

  • Added a review article on KCL at kubecon 2024.
  • Added a new built-in API section to the documentation.
  • Adjusted the documentation to integrate with OCI registry and Git Repo in the package management tool section.
  • Added a new section about the kcl.mod include and exclude fields in the documentation.
  • Fixed some documentation errors.

📦️ SDK Updates

  • Added support for the KCL wasm lib to integrate with node.js and browsers.
  • Refactored the KCL python code examples.

📬️ Toolchain Updates

  • kcl-openapi has been optimized and adjusted for code and document structure.
  • kcl-openapi has added more test cases and optimized the code structure.
  • Package management tools have fixed the bug that compiling multiple *.k files failed.
  • Package management tools supported adding sub-packages in Git repositories as third-party libraries.
  • Package management tools have added some test cases.
  • krm-kcl function fixed some errors in some tests and documents.
  • kcl-operator has been updated and fixed some documentation content, optimized some code structures.
  • kcl-operator has added some test cases and optimized the release process.
  • kcl-operator added automatic authentication when initializing containers.
  • KCL fmt tool provides C API.

⛵️ API Updates

  • kcl-go API supports importing jsonschema.

🔥 Integration Updates

  • kcl-flux-controller parameter optimization, added more test cases, and a more complete release and test process.

Resources

❤️ See here to join us!

For more resources, please refer to the KCL Website.