Bob 0.21 Release Notes
Changes made since Bob 0.20.0 include the following.
New features
Recipes
Added support for dependencies in checkout steps via the
checkoutDep
flag.Normally dependencies are only available to the
buildScript
. But sometimes it is necessary to access dependencies in thecheckoutScript
already. Currently this requires to copy the sources in thebuildScript
where access to all dependencies is possible.The newly added
checkoutDep
flag of dependencies allows to make selected dependencies available for thecheckoutScript
. ThebuildScript
will still retain access to the dependency as always. Provided dependencies of such packages are not implicitly made available. The number of checkout dependencies should be kept as small as possible to prevent accidental creation of checkout variants, which are usually confusing to users.
Bob Jenkins
Improved copyartifact plugin compatibility.
Since version 1.44, the Copy Artifact plugin checks permissions more thoroughly in its default “Production mode”. If the anonymous user has no right to read jobs and its artifacts, the copy will fail. In such a configuration Bob required to use “Migration mode” which opens some security loopholes.
Because we known which jobs require access to the artifacts, Bob will now whitelist these jobs explicitly. This works now regardless of the user configuration.
Bob project
Gained support for generating Visual Studio Code projects.
Performance improvements
Improved performance for projects with complex sandbox recipes.
Bug fixes
Backwards incompatible fixes
Fixed whitelist case sensitivity for MSYS2 (#473).
On MSYS2, environment variables are handled case sensitive. Some of the inherited environment variables are not in all upper case and were not whitelisted correctly. This has been rectified and might result in more variables being available to the executed scripts. Note that native Windows builds are not affected because there environment variables are case insensitive.
Fixed scanning of additional include directories when generating projects (
-I
project generator option, #451).Additional include directories are added last to the IDE search paths. These directories were previously scanned recursively but the code to do that was broken. Now these paths are forwarded literally to the IDE. If multiple sub-directories need to be added it is now required to give additional
-I
options for each directory.
Other fixes
Fixed crash when plugins used the
PluginsState
class (#459)Avoid rebuilds of packages after using
--checkout-only
. This could happen e.g. after an update of the sources was done using--checkout-only
without--sandbox
and then rebuilding with--sandbox
for example.Fixed potential crashes on Windows related to large inode numbers (#464)
Fixed crash in git SCM if shallow clone is active and the commit can’t be reached.
Fixed state corruption if no space is left in file system (#470)
Improved handling of errors if internal worker pool cannot be initialized (#467)
Added mitigation for spurious permission errors on Windows when writing the project state (#475)
Fixed crashes when a SCM would write strings with invalid encoding to stdout (#476, #477)