Skip to content

v4.0.0

Compare
Choose a tag to compare
@Gabriella439 Gabriella439 released this 03 Apr 16:21
· 42 commits to master since this release
506d633
  • No longer require the --omitEmpty flag to dhall-to-yaml

    The types were changed so that all optional records are explicitly marked Optional.

    Before this change, the types were designed around the use of the --omitFlag flag so that a record could be implicitly omitted by not specifying any non-default fields. However, that led to ambiguous situations where there was no way to distinguish between a present but empty value and an absent value, and in some cases the distinction between the two mattered. For example, in Kubernetes a present but empty label selector matches everything whereas an absent label selector matches nothing.

    Practically, what this means is that you will now need to add a few more Somes in your resource definitions (typically around records) where there is a new explicit Optional layer.

  • Prefer io.k8s.api.autoscaling.v2beta2 over io.k8s.api.autoscaling.v1

    The Kubernetes API exposes multiple versions of various resources, but the default ./package.dhall makes an opinionated attempt to select the most recent stable resource (first preferring production over beta over alpha, and then preferring v2 over v1). However, in certain cases users indicate that the newer beta version is preferable over the older production version and this is one such case.

    Even though io.k8s.api.autoscaling.v1 is no longer the default choice you can still access those resources by explicitly importing them from the ./schemas subdirectory of the desired Kubernetes version (e.g. ./1.17/schemas/io.k8s.api.autoscaling.v1.HorizontalPodAutoscaler.dhall)