Breaking Change History.
Breaking changes are indicated by an increment of the minor version number in the release.
2.8.0 : 16-Jul-2024 : Deprecate unsupported docker version labelling
-
Remove version argument from dockerBuild
- In early versions of docker, applying a lable as a build argument was not supported, however, these versions of the docker CLI have been deprecated, and therefore the workaround for setting the CDAF label has been also deprecated.
As a result, the corresponding argument has been removed, causing positional arguments miss align. This has been catered for in features that wrap the build process, such as containerBuild and imageBuild, however solutions calling dockerBuild directly will need to be adjusted.
2.7.0 : 27-Aug-2023 : Replace executeRetry with EXERTY
-
Deprecate separate executeRetry script, replace with EXERTY function
- Migrate the scripte to a execution function, with the same arguments, pause (in seconds) and number of retries. The defaults are 10 sseconds and 5 retries.
2.6.0 : 30-May-2023 : Cascading Properties
-
Deprecate DOCKER-HUB for Push registry
- With the introduction of Environment Variable and Solution Properties for image management, where used as an argument, the URL is optional and therefore the hardcoded DOCKER-HUB value is no longer necessary.
2.5.0 : 05-Apr-2022 : Multiple TARGET support for containerDeploy ENVIRONMENT
-
containerDeploy custom workspace (CDAF_WORKSPACE) deprecated
- The initial containerDeploy was not aligned to local and remote processes, i.e. it could only process ENVIRONMENT as TARGET, not multiple targets, and used a non-standard workspace. This non-standard workspace has been deprecated.
2.4.1 : 07-Mar-2021 : Properties with Spaces
-
New feature implemented using function call, which inadvertantly converts commas into spaces (Windows)
- Where a property contains a comma, the value must be wrapped as a string, i.e. with single or double quotes.
2.4.0 : 21-Feb-2021 : containerDeploy feature to complete the self-host delivery workload Epic
-
Separation of Image Build and Container Build environment variables
- Container Build (CDAF_CB_) prefix environment variables now exclusively used for build container. To supply environment variables to image build, use CDAF_IB_ prefix.
2.3.0 : 23-Nov-2020 : Git Branch Clean-up
-
Deprecate http_proxy argument from containerBuild
- Replace http_proxy argument with CDAF_CB_ generic loading.
-
Implicit Variable Loading from Properties
- Any properties containing variables are not expanded at time of loading. Any expansion requirements now need to be explicitly managed in the task.
2.2.0 : 01-Nov-2020 : Container Image Build
-
Duplicate Entry Script deprecated
- Only one entry script is now maintained in the CDAF root.
-
Forced Rebuild in imageBuild no longer support (Windows)
- This Windows only feature has been deprecated to support the overloaded constructor argument in both Linux and Windows.
2.1.0 : 29-Jun-2020 : Symmetrical Encryption
-
Linux Align remote crypt files with local matching relative path
- Local tasks placed crypt files in a crypt subdirectory, while remote placed in root. Aligned root with Local (and Windows) ensuring no clash with properties file names.
-
Align SOLUTIONROOT to absolute path
- $SOLUTIONROOT is now absolute page in Linux and Windows, therefore any additional relative reference to, e.g. ../$SOLUTIONROOT needs to be removed.
2.0.0 : 24-Aug-2019 : Symmetrical Encryption
-
Linux DECRYP function aligned with Windows, with introduction of key
- To support the same decryption capability introduced in the DETOKN function, this function has been updated to use explicit encrypted file name with optional decryption key.
-
Emulation Environment Variable Naming Standard
- Environment variables are normally uppercase, so replaces environmentDelivery with CDAF_DELIVERY.
1.8.0 : 27-Oct-2018 : Windows Base for curl
-
curl.ps1 provisioner was being detected as a virus
- Replace "curl.ps1" with "base.ps1 'curl'"
1.7.0 : 6-Mar-2018 : Standardised Entry point for Container Build
-
Avoid using custom entry points in delivery toolchain
- Moved container build driver from CD Emulation to Build/Package process. This breaking change only affects container build implementations, i.e from 1.6.0 and above.
1.6.0 : 11-Nov-2017 : Container Build
-
SQL Server Installer support for Managed Service Accounts
- Provisioning only impact. Deprecate SQL.ps1 and replace with InstallSQL.ps1, with now optional service account password after mandatory parameters.
-
Disable Regular Expression Parsing when searching for replacement name (Windows)
- Any string replacement reliant of regex will no longer work as replacing on literal string only.
1.5.0 : 22-Feb-2017 : Resilience
-
SQL Server user creation, support local machine user
- Provisioning only impact. Now have to pass user and domain as separate arguments to sqlAddUser.ps1.
1.4.0 : 14-Oct-2016 : Convention over Configuratione
-
Reorganise Optional arguments in coupling
- Change build and delivery entry point and argument list (reduced). If deriving build number in a pipeline, this is no required.
1.3.0 : 06-Sep-2016 : Continuous Delivery Coupling Change
-
Remove unused "automationroot" from CD process
- By removing this unused argument, all Delivery couplings will need to also have this removed.
1.2.0 : 19-Jul-2016 : Docker and Execute
-
Remove Implicit Execute based on variables (Windows)
- Align with Linux, removing functionality based on $loadProperties (replaced with PROPLD) and $terminate (replaced with EXITIF).
-
Implement Docker Runtime Management using Environment Label (Linux)
- Previous Docker management scripts support 1-to-1 relationship between images and instances, based on TCP port number. This has been reengineered to use an environment label (corresponding to image tag) to allow management of multiple running instances. As a result of this change, instance properties files now require an environment property and any existing deployments based on port numbers will need to be manually removed before being deployed based on environment.
1.1.0 : 11-Jul-2016 : Linux Build
-
Incorrectly Populated for Linux Projects
- Linux project build was passing project name in the $SOLUTION variable, this has been corrected, with project now passed as $PROJECT, however, if a build process has utilised $SOLUTION, this may have unexpected results after applying this release.
1.0.0 : 2-Jun-2016 : CDAF GA
-
Incorrectly Populated for Linux Projects
- Linux project build was passing project name in the $SOLUTION variable, this has been corrected, with project now passed as $PROJECT, however, if a build process has utilised $SOLUTION, this may have unexpected results after applying this release.
0.9.0 : 26-Oct-2015 : Generic Execution
-
Invoke Task Driver keyword
- To allow the consistent use of the execute engine, with side-by-side Windows/Linux implementations, the root of remote task execution is now the same as local task execution. This means any remote execution tasks that refer to the Deploy folder, or relative paths to that (e.g. ../) will need to be adjusted.
-
Allow zip creation (remote packaging) to be optional
- If the default storeForRemote file has been deleted, but remote task execution is required, recreate this file (empty). This will continue to create the zip package with only the CDAF helper files.
0.8.0 : 7-May-2015 : Compliance and Flex
-
Emulation Flexibility
- By default, CI and CD use two different environments, BUILD and DEV respectively. Existing solutions dependent on DEV for both will require a copy of DEV properties for BUILD.
-
Remote File Processing
- Automated copy of 7 zip redistributable to package landing folder no longer performed. This will require the installation of 7 zip on both build (create zip file package) and target (extract zip file package).
0.7.0 : 3-Mar-2015 : CDAF Branding
-
CDAF Branding
- Added CDAF.solution driver file to allow user definitions and tasks to be created in a stand alone directory.
- Change any solution references (i.e. in the automation tool) from autodeploy to automation.
-
deploy script loose coupling
- Change any local task path (e.g. TasksLocal/) references in local tasks definition, runtime location is not inside the working folder.
- Remove ENVIRONMENT from tasks using copyReplace and decryptKey.
0.6.2 : 19-Feb-2015 : Linear Deploy
-
Build Execution
- Add BuildEnvironment e.g. BUILD to buildProjects.sh.
- BuildEnvironment on to any build scripts (build.sh or build.ps1). Note: this release introduced Linear Deploy, where build.tsk will not be affected by future argument changes.
- Add Working Folder for Remote artefacts argument (e.g. TasksRemote) to calling package.sh, not the argument used here will need to match any path references in tasksRunLocal.tsk