Bob 0.21 Release Notes¶
Changes made since Bob 0.20.0 include the following.
Added support for dependencies in checkout steps via the
Normally dependencies are only available to the
buildScript. But sometimes it is necessary to access dependencies in the
checkoutScriptalready. Currently this requires to copy the sources in the
buildScriptwhere access to all dependencies is possible.
The newly added
checkoutDepflag of dependencies allows to make selected dependencies available for the
buildScriptwill 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.
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.
Gained support for generating Visual Studio Code projects.
Improved performance for projects with complex sandbox recipes.
Backwards incompatible fixes¶
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 (
-Iproject 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
-Ioptions for each directory.
Fixed crash when plugins used the
Avoid rebuilds of packages after using
--checkout-only. This could happen e.g. after an update of the sources was done using
--sandboxand then rebuilding with
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)