v4.0.0
-
No longer require the
--omitEmptyflag todhall-to-yamlThe types were changed so that all optional records are explicitly marked
Optional.Before this change, the types were designed around the use of the
--omitFlagflag 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 explicitOptionallayer. -
Prefer
io.k8s.api.autoscaling.v2beta2overio.k8s.api.autoscaling.v1The Kubernetes API exposes multiple versions of various resources, but the default
./package.dhallmakes 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.v1is no longer the default choice you can still access those resources by explicitly importing them from the./schemassubdirectory of the desired Kubernetes version (e.g../1.17/schemas/io.k8s.api.autoscaling.v1.HorizontalPodAutoscaler.dhall)