What's new
-
batect now uses the Docker API (instead of the CLI) for all operations except running a container. This means:
- Almost every operation is noticeably faster, and this adds up to some common scenarios being 1-2 seconds faster on average. (For example, the CI builds for the sample projects run 20-30 seconds faster than they did with batect 0.17.)
- batect can now show clearer, more useful error messages in some scenarios.
- Cleanup is more reliable and robust, especially if Ctrl-C has been pressed to interrupt the task.
- ⚠️ Breaking change: the minimum supported version of Docker is now 17.06.
-
The most requested feature is finally here: progress information during image pulls. Now, whenever batect is pulling an image or pulling the base image as part of a build, you'll see detailed progress information like
pulling the-image: downloading 12.2 MB of 20 MB (61%)
when fancy output mode is enabled (which is the default in interactive terminals). -
If a proxy environment variable is set on the host in one form but not the other, batect will now automatically propagate the other form. For example, if
http_proxy
is set butHTTP_PROXY
isn't, then batect will now propagate bothhttp_proxy
andHTTP_PROXY
into the container (and during image builds), withHTTP_PROXY
set to the value ofhttp_proxy
. See the documentation for more information. -
The behaviour when multiple prerequisites have been specified for a task has been clarified in the documentation. (Thanks to @pameck for the PR.)
-
Logs created by batect when using the
--log-file
option will now include the process ID, making it easier to determine when two executions have been logged to the same file.
What's been fixed
- batect will no longer crash if running in fancy output mode (the default in interactive terminals) and the task container's command contains a new line character.
Getting started
First time using batect? Take a look at the getting started guide, or the Java or Ruby sample projects.
How to upgrade from previous versions
- If you're using batect 0.12 or newer, run
./batect --upgrade
to upgrade automatically. - If you're using an older version of batect, replace the
batect
script in your project with the one attached to this release. (Don't forget to make it executable withchmod +x batect
if need be.)