b9 v0.5.62 Release Notes

    • Rewrite B9.Shake.SharedImageRules in line with Shake's example for custom rules

    • Replace ConcatableSyntax by using Binary instances, and also

      • Remove/Inline encodeSyntax by using Binary.encode
      • Rename decodeSyntax to decodeOrFail' and delegate to Binary.decodeOrFail.
    • Add a newtype wrapper around YamlObject for cloud-init yaml documents CloudConfigYaml

    This new type serves the purpose of add the #cloud-config line to the top of the generated yaml document, as required by cloud-init.

    The Binary instance adds this header line and delegates the rendering of the yaml document to YamlObject.

    • โœ‚ Remove the rendering of this header line in the YamlObject Binary instance.

    • ๐Ÿ“‡ Rename RenderYaml to RenderYamlObject In order to prevent unexpected runtime behaviour in code that uses this library.

    • Introduce the type Environment that replaces the ubiquotus [(String, String)] by a lazy Text based HashMap.

    • โž• Add addLocalPositionalArguments

    • ๐Ÿ“‡ Rename the previous B9.Artifact.Content to B9.Artifact.Content

    • Introduce ContentGenerator as an open, extensible alternative to Content, AST and CanRender in the module B9.Artifact.Content

    • ๐Ÿ”จ Rename-and-Split refactor B9.ArtifactSource{Impl} to B9.Artifact.Generator.{..}

    • ๐Ÿšš Move CanRender from B9.Artifact.Content.AST to B9.Artifact.Content

    • โœ… Switch to lazy Texts and ByteStrings where possible, since B9 might read/generate large files.

    • ๐Ÿ“‡ Rename CanRender to ToContentGenerator and change the method signatur to return the new ContentGenerator type

    • ๐Ÿ›  Fix spelling: Rename B9Invokation to B9Invocation

    • ๐Ÿ“‡ Rename FromAST to FromAST

    • Rearrange modules for content generation:

      • Introduce Content.FromByteString
      • Remove deprecated Concatenation