v3.63.0 (2024-02-14)
Warning
This release has two potentially breaking changes in the way environment
variables are interpolated.
-
Interpolation on Windows should be done in a case-insensitive manner to be
compatible with Batch scripts and Powershell. This was working correctly up
until some refactoring in v3.59.0.For example, this pipeline:
env: FOO: bar steps: - command: echo $Foo $FOO
should now be correctly interpolated on Windows as:
env: FOO: bar steps: - command: echo bar bar
Interpolation on other platforms is unchanged.
-
Our documented interpolation rules
implies that variables from the agent environment have higher precedence than
variables defined by the job environment ("we merge in some of the variables
from the agent environment").Suppose the agent environment contains
FOO=runtime_foo
. The pipelineenv: BAR: $FOO FOO: pipeline_foo steps: - command: echo hello world
would in previous releases be interpolated as:
env: BAR: runtime_foo FOO: pipeline_foo steps: - command: echo hello world
On the other hand, the pipeline
env: FOO: pipeline_foo BAR: $FOO steps: - command: echo hello world
would be interpolated to become
env: FOO: pipeline_foo BAR: pipeline_foo steps: - command: echo hello world
We think this is inconsistent with the agent environment taking precedence,
and if users would like to interpolate$FOO
as the value of the pipeline
level definition ofFOO
, they should ensure the agent environment does not
containFOO
.
Added
Fixed
- Fix pipeline interpolation case sensitivity on Windows, and runtime environment variable precedence #2624 (@triarius)
- Fix environment variable changes in hooks logged incorrectly #2621 (@triarius)
- Fix Powershell hooks on windows #2613 (@triarius)
- Fix bug where unauthorised register was retrying erroneously #2614 (@moskyb)
- Fix docs for --allowed-environment-variables #2598 (@tessereth)
Upgraded
Internal
- Add a PR template #2601 (@triarius)
- Move check from upload-release-steps.sh to pipeline.yml #2617 (@DrJosh9000)
- build-github-release.sh tidyups #2619 (@DrJosh9000)
- Various dependency updates #2625, #2630, #2627, #2626, #2622, #2605, #2609, #2603, #2602, #2604, #2606, #2616, #2610, #2611 (@dependabot[bot])