All notable changes to Pipelines will be documented in this file.
The format is based on Keep a Changelog and Pipelines adheres to Semantic Versioning.
0.0.70 - 2023-08-07
- PHP 8.2 Alpine-based build container
- PHP 8.2 Using ${var} in strings deprecations (#24) (thanks Brad Kent)
- Eager substr_replace() use in updateTimestamps() (thanks Jan Tvrdík)
- Fix type annotation and add support for DateTimeImmutable (thanks Jordi Boggiano)
0.0.69 - 2023-08-05
- New docker client package 20.10.24 (#26) (thanks Adrian Cederberg)
- New docker client package 19.03.15, last of 19.03.x
- Default docker client version change from 19.03.1 to 20.10.24
- Misplaced default in pipelines JSON schema
0.0.68 - 2023-04-19
- html-docs: Upgrade mkdocs-material to 8.3.9; config; content
- Error on fail-fast steps (#25) (thanks Mustafa Ashurex)
0.0.67 - 2022-07-17
- Environment variable definitions in
-e
,--env
and--env-file
parameters withNUL
character in their value part<name>=<value>
are invalid now;NUL
bytes were allowed previously - Environment variable definition errors in
--env-file
give message about the file and line
- Deprecation warning when running pipelines w/ PHP 8.1 w/o the yaml extension (#21) (thanks Billy Romano)
0.0.66 - 2022-06-22
- Run step scripts with
/bin/bash
if it is available; disable withscript.bash-runner=false
for previous behaviour (#17) (thanks Tim Clephas) script.runner
configuration parameter to change/bin/sh
, the default script runner
-c <name>=true
andfalse
are now supported for boolean configuration parameter<value>
- Fix cache and data directory creation mode, limit to user access only
0.0.65 - 2022-04-24
--show
and--show-pipelines
: Annotate steps' conditions with*C
- Schema for
<step>.artifacts.download
andpaths
properties Mar 2021 (Tina Yu) - Support for step artifacts with paths attribute
--show
and--show-pipelines
: Annotate steps' artifacts with*A
--show
and--show-pipelines
: Handle parse errors with step annotations, since 0.0.62
0.0.64 - 2022-04-20
- Support digests as an alternative to tags for container images in pipeline steps, see Digest
- Support global docker option (#15) (thanks Adrian Cederberg)
- PHP 7.4 Alpine-based build container
- Extract tar-copier for copy deploy-mode
- PHP 8.1 Alpine-based build container upgrade from RC to stable
- html-docs: Upgrade mkdocs-material to 8.2.9
0.0.63 - 2022-04-14
- Enrich YAML parse error information (#14) (thanks Adrian Cederberg)
- html-docs: Upgrade mkdocs-material to 8.1.3
- Fix composer version in phar build info for PHP 5.3 (and up sometimes), since 0.0.51
- Fix portable path check, since 0.0.42
0.0.62 - 2021-12-19
--show
and--show-pipelines
: Annotate steps' manual triggers with*M
- Verbose last error report on Phpunit test-suite shutdown if fatal, improves 0.0.32
--show-pipelines
: Show unnamed steps asno-name
(like--show
)
- Fix internal file descriptor system paths mapping flaws, since 0.0.39
0.0.61 - 2021-12-13
- html-docs: Upgrade mkdocs-material to 8.1.0
- Fix pipelines
--show
for steps with a manual trigger and all following steps, since 0.0.38
0.0.60 - 2021-12-07
- Getting Started mini tutorial, see Getting Started with Pipelines
- html-docs (mkdocs build, pipeline), see as well Pipelines HTML Documentation Build
- Documentation (diverse)
0.0.59 - 2021-11-08
- Remove temporary repository for development dependencies
- Change log 0.0.58 release date malformed
0.0.58 - 2021-11-07
- PHP 8.1 compatibility, build and docker images for pipelines.
- Build with Composer 2.1; pin composer version to 2.1.11 (from 2.0.13), since 0.0.55
- Container base directory creation with multiple directory components in
step.clone-path
(symlink errors) - Wrong
$BITBUCKET_CLONE_DIR
on non-defaultstep.clone-path
, since 0.0.45 - Travis changed URLs
0.0.57 - 2021-05-14
- Phar file build from sources and pipelines running from sources now
show the same
--version
format.
- Restore build reproducibility when building the phar file with composer 2, since 0.0.55
0.0.56 - 2021-05-13
- Show
--step-script
, optionally by<id>
and<step>
- Build the phar file with PHP 5.3 (as well, all 5.3-8.1 reproducible)
- Fail early if git command is n/a in phar build
- Fix pipelines
--version
when installed via composer with composer version 2.0.0 or higher, since 0.0.51 - Fix very rare php timezone warning in the phar build when modifying the timestamps, since 0.0.1
- Fix phar build error in bare and isolated repository on removing non-existing development package stub, since 0.0.1
- Fix Phpstorm meta for the phpunit based testsuite (mocks, WI-60242)
0.0.55 - 2021-05-02
- Build with Composer 2; pin composer version to 2.0.13 (from 1.10.17)
$PHP_BINARY
support while making test stub packages, since 0.0.25- PHP-Binary detection in meagre environments, since 0.0.19
0.0.54 - 2021-04-17
- Support changed docker remove behaviour (Docker 20.10)
0.0.53 - 2021-01-03
- Show
--validate
file-name/ -path
- Reduce of past-tense in change log headlines
- Phar uploads for the releases 0.0.52 and 0.0.51 on Github as they did not match the original signatures from date of release due to an error in the build re-building them within a dirty repo (old files show "+" at the end of their version number (0.0.52+; 0.0.51+), correct phar files do not.
- Shell tests in CI taint phar build, since 0.0.51
- Validating w/ empty file-name (
--validate=
), since 0.0.44 - Changelog missing links to "since x.x.x" revisions
- Changelog missing dash "-" in last revision headline
0.0.52 - 2020-12-31
- Tests expect Xdebug 3 by default, run
$ composer ppconf xdebug2
for Xdebug 2 compatibility. - Continue migration from Travis-CI to Github-Actions
- Rename tests folder to test to streamline directory names.
- Composer which script compatibility with composer 2 < 2.0.7.
- Quoting new-line character at the end of argument, since 0.0.1
- Phpunit test-case shim for invalid-argument-helper since Phpunit 6.x, missing in 0.0.51
0.0.51 - 2020-12-09
- Support for PHP 8
- Support for Composer 2
- Migration from Travis-CI to Github-Actions
- Documentation about development
- (source only) pipelines
--xdebug
option to run within php with xdebug extension and config for CLI (server-name ispipelines-cli
) - Composer script descriptions
- More pipeline example YAML files
- Testsuite for PHP 8 changes
- Updated documentation about working offline
- Unintended object to array conversion, supports PHP 8
- Done message for
--validate
saying "verify done" instead of "validate done" since 0.0.44 - Detecting readable local streams wrong for non-local remote streams
- Shell test for artifacts, missing in 0.0.50
0.0.50 - 2020-09-14
- Documentation about working offline incl. pipelines example yaml files
- Shell test for artifacts
- Updated readme
- Artifacts. Broken since 0.0.43
0.0.49 - 2020-08-10
--show
step caches- step caches validation against cache definitions (broken name,
undefined custom cache) when parsing step caches (
--show
, running a pipeline step etc.). - php cs-fixer custom fixers (thanks Kuba Werlos)
- improve pipeline cache docs
0.0.48 - 2020-07-31
- dependency caches and
--no-cache
for previous behavior, caches documentation
- Integration test polluting
$HOME
for docker client stub
0.0.47 - 2020-07-23
- version info to
--debug
above the stacktrace/s (thanks Andreas Sundqvist)
0.0.46 - 2020-07-10
- Regression of missing labels for step containers since 0.0.43
0.0.45 - 2020-07-09
step.clone-path
configuration parameter for the path inside the step container to deploy the project files, defaults to/app
- Schema for new
<pipeline>.step.condition
directives Jun 2020 (Peter Plewa) - Schema for new
clone
and<pipeline>.step.clone
options Feb/Apr 2020 (Antoine Büsch)
0.0.44 - 2020-07-06
--validate[=<path>]
option to schema-validate abitbucket-pipelines.yml
; can be used multiple times; validates and exists, non-zero if one or multiple files do not validate
0.0.43 - 2020-07-05
- Labels for step and service containers
- Re-arrange help section for more specific runner options
- Regression identifying pipelines service container (
--docker-list
etc.) since 0.0.42
0.0.42 - 2020-06-25
script.exit-early
bool configuration parameter to exit early in step scripts on error more strictly. defaults to false.--ssh
option to mount$SSH_AUTH_SOCK
into the pipeline/step container, SSH agent forwarding (#6)--user[=<uid>:<gid>]
option to run pipeline/step container as current or specific user (and group) (#6)
- Improved container names, service containers names start with
pipelines.<service>
instead ofpipelines-<service>
.
0.0.41 - 2020-06-21
- Add
-c <name>=<value>
option to pass a configuration parameter to the command. - Support for
BITBUCKET_STEP_RUN_NUMBER
environment parameter: defaults to1
and set to1
after first successful step.
0.0.40 - 2020-06-17
- Wording of pipe scripts comments
- Tmp cleanup in tests
- Parsing a pipe in after-script
- Parsing a pipeline with variables keyword
0.0.39 - 2020-06-02
- Service documentation
--service <service>
run<service>
attached for trouble shooting a service configuration or watch logs while the service is running--file
accepts the special file-name-
to read pipelines from standard input
- Parsing empty step
0.0.38 - 2020-06-01
--show
each step and step services--images
shows service images--show-pipelines
for old--show
format/ behaviour--show-services
to show services in use of pipeline steps
- Improve parse error reporting of variables in service definitions
0.0.37 - 2020-05-30
- Pipeline services other than docker (redis, mysql, ...)
- Comment formatting in
.env.dist
(minor)
0.0.36 - 2020-05-28
- Help section w/ help message from src in readme
- Pipeline default variables command line arguments parsing
- Help message on trigger destination branch name
- Remove static calls to throw a status exception
0.0.35 - 2020-05-24
- Updated readme for instructions
- Shell test runner run on invalid test-case/driver
- Type-handling in code and dead/superfluous code
- Remove static calls to throw a parse exception
- After-script ignored all script errors, fix is to exit on first error
- Remove outdated docker client package
basename
property from test harness - Add Apache-2.0 license text (in doc)
- Markdown documentation file typos, wording and structure
- Docker name tag syntax (in doc)
- Change log two release links
0.0.34 - 2020-05-13
- Show and fake run pipelines with a pipe (#5)
0.0.33 - 2020-04-26
- Readme for container re-use
- Build for Phpunit 7.5+
- Diverse lower-level code issues
0.0.32 - 2020-04-11
- Travis PHP 7.4 build
- Composer script
phpunit
for use in diverse test scripts using the same configuration - Composer scripts
which
andwhich-php
to obtain the path to composer and php in use
- Test-case forward compatibility for Phpunit 8 (for PHP 7.4 build)
- Deprecation warning when running pipelines w/ PHP 7.4 w/o the yaml extension
- Code coverage w/ PHP 7.4 / Xdebug 2.9.3
- Composer script
ci
to run pipelines by build PHP version - Shell test runner usage information
- Travis build configuration validation fixes
- Do not hide errors in Phpunit test-suite
0.0.31 - 2020-04-06
- Patch fstat permission bits after PHP bug #79082 & #77022 fix to restore reproducible phar build
- Correct missing link in Change Log
0.0.30 - 2020-04-05
- Support for
after-script:
incl.BITBUCKET_EXIT_CODE
environment parameter.
- Corrections in Read Me and Change Log
0.0.29 - 2020-04-04
- Pin composer version in phar build; show which composer version in use
- Add destination to pull request --trigger pr:
0.0.28 - 2020-03-16
- Phar build: Do not require platform dependencies for composer install
- Travis build: Handle GPG key import before install completely
- Tainted phar build on Travis (adding "+" to versions in error), since 0.0.25
0.0.27 - 2020-03-15
--no-manual
option to not stop at manual step(s). The new default is to stop at steps marked manualtrigger: manual
. The first step of a pipeline can not be manual, and the first step executed with--steps
will never stop even if it has atrigger: manual
.
- Base unit-test-case missing shim createConfiguredMock method
0.0.26 - 2020-03-09
--steps
option to specify which step(s) of a pipeline to run. Same as--step
and to reserve both.1
as well as1,2,3
,1-3
or-2,3-
are valid
- Base unit-test-case exception expectation optional message parameter
- Travis build pulling php:5.3
- Read Me and Change Log fixes for links, WS fixes and typo for other documentation files (.md, comment in .sh)
- Travis build w/ peer verification issues in composer (disabling HTTPS/TLS in custom/unit-tests-php-5.3 pipeline)
- Patch fstat permission bits after PHP bug #79082 fix to restore reproducible phar build
0.0.25 - 2019-12-30
- Support of Docker in rootless mode and a How-To in the docs folder.
- Support of
DOCKER_HOST
parameter forunix://
sockets (Docker Service) --docker-client-pkgs
option to list available docker client binary packages (Docker Service)--docker-client
option to specify which docker client binary to use (Docker Service)- Docker Service in YAML injects Linux X86_64 docker client binary (Docker Service)
- Internal improvements of the step runner
0.0.24 - 2019-12-21
PIPELINES_PROJECT_PATH
parameter
- More readable step scripts
- Pipelines w/
--deploy mount
inside a pipeline of--deploy copy
, the current default. - Busybox on Atlassian Bitbucket Cloud
0.0.23 - 2019-12-17
- Improve
--help
display - Show scripts with
-v
and drop temporary files for scripts
- Exec tester unintentionally override of phpunit test case results
0.0.22 - 2019-10-12
- Use Symfony YAML as fall-back parser, replaces Mustangostang Spyc (#4)
0.0.21 - 2019-09-23
- Unintended output of "\x1D" on some container systems
0.0.20 - 2019-09-20
- File format support to check if a step has services
- Test case base class fall-back to Phpunit create* mock functions
- Execute script as a single script instead of executing line by line
- Container exited while running script (136, broken pipe on socket etc.)
- Remove PHP internal variables like $argv from the environment variable maps in containers
0.0.19 - 2019-04-02
- Suggestion to install the PHP YAML extension
- Kept containers are automatically re-used if they still exist
- Support for pull request pipelines
- Reduce artifact chunk size from fixed number 1792 to string length based
- Patch fstat permission bits after PHP bug #77022 fix to restore reproducible phar build
0.0.18 - 2018-08-07
- Add
--docker-zap
flag kill and clean all pipeline docker containers at once - Fallback for readable file check for systems w/ ACLs where a file is not readable by permission but can be read (#1)
- Pipeline step specific container names instead of random UUIDs so that keeping pipelines (and only if in mind) makes this all much more predictable
0.0.17 - 2018-05-29
- Reduce artifact chunk size from 2048 to 1792
- Symbolic links in artifacts
- Read me file has some errors and inconsistencies. Again.
0.0.16 - 2018-05-04
- Support for PHP YAML extension, is preferred over Spyc lib if available; highly recommended
- All uppercase hexits in builder phar info
0.0.15 - 2018-04-23
- Add
--no-dot-env-files
and--no-dot-env-dot-dist
flags to not pass.env.dist
and.env
files to docker as--env-file
arguments
0.0.14 - 2018-04-18
- Tag script to make releases
- More useful default BITBUCKET_REPO_SLUG value
- Coverage checker script precision
- Duplicate output of non-zero exit code information
0.0.13 - 2018-03-20
- Fix
--error-keep
keeping containers
0.0.12 - 2018-03-19
- Utility status exception
- Streamline of file parse error handling
- Streamline of utility option and argument errors
- Parsing of utility options and arguments in run routine
- Code coverage for unit tests
0.0.11 - 2018-03-13
- Keep container on error option:
--error-keep
- Do not keep containers by default, not even on error
- Code style
0.0.10 - 2018-03-12
- Coverage check
- Code style
- Readme for corrections and coverage
- Resolution of environment variables (esp. w/ numbers in name)
0.0.9 - 2018-02-28
- Traverse upwards for pipelines file
- Phive release signing
- App coverage for deploy copy mode
0.0.8 - 2018-02-27
- Phive release signing
- Hardencoded /tmp directory
0.0.7 - 2018-02-27
- Describe missing
--trigger
in help text - Build directory owner and attributes for deploy copy mode
- Do not capture artifacts files after failed step
0.0.6 - 2018-02-14
- Support for .env / .env.dist file(s)
- Support for Docker Hub private repositories incl. providing
credentials via
--env
or--env-file
environment variables
- Readme for corrections and coverage
- Support for large number of artifacts files
- Crash with image
run-as-user
property in pipelines file - Deploy copy mode fail-safe against copying errors (e.g. permission denied on a file to copy)
0.0.5 - 2018-01-29
- Docker environment variables options:
-e
,--env
for variables and--env-file
for files - Composer "ci" script to integrate continuously
--no-keep
option to never keep containers, even on error
- Default
--deploy
mode is nowcopy
, wasmount
previously
- Image name validation
- Image as a section
- Show same image name only once
- Remove version output from -v, --verbose
- Validation of
--basename
actually being a basename - Error messages now show the utility name
0.0.4 - 2018-01-16
- Release phar files on Github
- Various code style improvements
- Readme for corrections and coverage
0.0.3 - 2018-01-14
- Keep container on pipeline step failure automatically
--verbatim
option to only output from pipeline, not pipelines
- --help information
- Various code style improvements
0.0.2 - 2018-01-11
- Brace glob pattern in pipelines
- Change log
0.0.1 - 2018-01-10
- Initial release