Changelog for b9-3.2.3
Changelog for B9
3.2.3
- Provide nix flake
3.2.2
- Relax version dependencies
3.2.1
- Use with-utf8 package to get around
invalid argument (invalid character)
kind of problems.
3.2.0
- Workarounds for libvirtd path length restrictions; Libvirt doesn't like paths longer than 63
- Add config file option
image_file_names_shortener_base_path
3.1.0
- Introduced
getVirtualSizeForRawImage
,cmdStdout
,hostCmdStdoutEither
,HostCommandStdout
. - More stable parsing of qemu-img info output in
getVirtualSizeForRawImage
. - Fixes a bug were size files contain garbage if newer versions of qemu-img are used.
3.0.0
- Run the libvirt_lxc builder in an artificial pseudo-terminal if b9c is run outside a terminal.
- Relax version constraints for
hashable
dependency
Breaking Changes
- Change B9 configuration API: Change the field to a list
2.1.0
- Add a new config parameter for the default Ext4 file system attributes.
Ext4_64
is deprecated from now on, please useExt4
and configure theext4_attributes: ["64bit"]
.
2.0.0
Breaking Changes
- Specify upper version bounds for all project dependencies
- Move the
interactive
flag from theB9Config
to theBuildInfo
isInteractive
now requires theBuildInfoReader
effect- Add the
runB9Interactive
function, that can by used to make thebsIsInteractive
field inBuildInfo
True
- Add the
cmdInteractive
function, that executes a command with inherited stdin/stdout ifrunB9Interactive
was called. - Remove the interactivity functionality from the
cmd
function
Minor Changes
- Fix bug in the parsing of
console
key in thesystemd-nspawn
configuration section: When a user specifiesconsole: pipe
this effects will be the same as ifconsole: read-only
was specified. - Fix bug where the timeout factor configuration option given in a configuration file is ignored.
1.1.1
- When
unique_build_dirs
is enabled: use a truely random build-id, such that no matter how much or how little time passes between two consequitive builds, theBUILD_ID
s will always differ with the same probability.
1.1.0
- Fix unintended deletion of images that are wrongly classified as obsolete.
- Add a configuration parameter for guarding operations, for which
no timeout values was specified:
default_timeout_seconds
. - Introduce a configuration parameter to specify an optional timeout factor.
Since the introduction of SystemdNspawn support, most invokation of
external system commands, e.g.
mount
, are guarded by short timeouts. During testing I discovered that some systems are just slower and might run into a timeout. To mitigate that, a user can now configure a timeout factor that is applied to the internal, hard-coded time values. - Change NIX expressions to use
haskellPackages
instead ofmyHaskellPackages
.
1.0.1
- Remove dhall
- Cleanup
b9.cabal
- Replace
fail
witherror
1.0.0
- Add
SystemdNspawn
support - Improve command execution
- Improve nix build expressions
0.5.69.0
- Add new
ImageResize
optionShrinkToMinimumAndIncrease
- Remove the byte unit from
SizeUnit
- Add new utility functions to
B9.DiskImages
for image size calculations
0.5.68.3
- Fix issue #10: The CLI parameter
--network host
is ignored - Flush the log output after every log message to stdout
0.5.68.2
-
Fix a bug in the shared image Shake rule causing unnecessary rebuilds
-
Rename the
buildDirRoot
string template environment variable tobuildDir
0.5.68.1
-
Fix positional argument enumeration in the
Enviromnent
; CLI arguments are passed via the keysarg_1 .. arg_N
in theEnvironment
. They are currently passed in reverse order and start fromarg_0
instead ofarg_1
. See github issues #6 and #9. -
Fix #7 shared image meta info download and generalize and simplify
B9ConfigOverrid
while at it. -
Remove
Trying to load config file
messages -
Fix #8 - resurrect the environment variable
buildDirRoot
.
0.5.68
-
Allow version specific config file resolution
B9 changes the config file format from time to time. To enable simultaneous use of different B9 versions with conflicting config file formats the user may provide version specific default config files, and B9 will prefer the file matching its own version most closely.
When loading its config file, B9 will now look for, and prefer config files suffixed with the longest matching version.
For example: If B9 has version 0.5.68 these config files will be tried:
- ~/.b9/b9.conf.0.5.68
- ~/.b9/b9.conf.0.5
- ~/.b9/b9.conf.0
- ~/.b9/b9.conf
If custom config file path are passed to B9 they will be tried first, and also with the version appended. For example, when runing
b9c -c other-config-path list
these paths would be tried:- other-config-path.0.5.68
- other-config-path.0.5
- other-config-path.0
- other-config-path
- /home/sven/.b9/b9.conf.0.5.68
- /home/sven/.b9/b9.conf.0.5
- /home/sven/.b9/b9.conf.0
- /home/sven/.b9/b9.conf
0.5.67
-
Iron out UTF-8 decoding issues
-
Use
Data.Text
in more places -
Remove
ByteStringGenerator
-
Change
ToContentGenerator
to produce only (strict)Data.Text.Text
s
-
-
Add
B9.Text
a module with conversion functions for different string types. -
Add helper functions and type for Erlang parsing:
-
textToErlangAst
, -
stringToErlangAst
and -
ErlangAST
-
0.5.66
-
Fix the Nix package:
-
Get rid of the virsh path configuration item
-
Allow setting the path to @/.../libexec/libvirt_lxc@ via environment variable
-
0.5.65
- Refactor the B9 Monad to use
extensible-effects
0.5.64
-
Refactor and prepare for more drastic changes
-
Fix runtime errors due to
undefined
values in the environment
0.5.63
- Depend on
shake-0.17.6
to fix build errors
0.5.62
-
Rewrite
B9.Shake.SharedImageRules
in line with Shake's example for custom rules -
Replace
ConcatableSyntax
by usingBinary
instances, and also-
Remove/Inline
encodeSyntax
by usingBinary.encode
-
Rename
decodeSyntax
todecodeOrFail'
and delegate toBinary.decodeOrFail
.
-
-
Add a newtype wrapper around
YamlObject
for cloud-init yaml documentsCloudConfigYaml
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 toYamlObject
. -
Remove the rendering of this header line in the
YamlObject
Binary
instance. -
Rename
RenderYaml
toRenderYamlObject
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 lazyText
basedHashMap
. -
Add
addLocalPositionalArguments
-
Rename the previous
B9.Artifact.Content
toB9.Artifact.Content
-
Introduce
ContentGenerator
as an open, extensible alternative toContent
,AST
andCanRender
in the moduleB9.Artifact.Content
-
Rename-and-Split refactor
B9.ArtifactSource{Impl}
toB9.Artifact.Generator.{..}
-
Move
CanRender
fromB9.Artifact.Content.AST
toB9.Artifact.Content
-
Switch to lazy
Text
s andByteString
s where possible, since B9 might read/generate large files. -
Rename
CanRender
toToContentGenerator
and change the method signatur to return the newContentGenerator
type -
Fix spelling: Rename B9Invokation to B9Invocation
-
Rename
FromAST
toFromAST
-
Rearrange modules for content generation:
-
Introduce
Content.FromByteString
-
Remove deprecated
Concatenation
-