Delegate release notes
These release notes describe recent changes to Harness Delegate.
- Progressive deployment: Harness deploys changes to Harness SaaS clusters on a progressive basis. This means that the features described in these release notes may not be immediately available in your cluster. To identify the cluster that hosts your account, go to your Account Overview page in Harness. In the new UI, go to Account Settings, Account Details, General, Account Details, and then Platform Service Versions.
- Security advisories: Harness publishes security advisories for every release. Go to the Harness Trust Center to request access to the security advisories.
- More release notes: Go to Harness Release Notes to explore all Harness release notes, including module, delegate, Self-Managed Enterprise Edition, and FirstGen release notes.
Deprecation notice
Kustomize 3.4.5
To safeguard your operations and protect against potential security vulnerabilities, Harness deprecated the Kustomize 3.4.5 binary from delegates with an immutable image type (image tag yy.mm.verno
). For information on delegate types, go to Delegate image types.
In place of Kustomize, Harness now uses the kubectl
binary to conduct Kustomize operations. Recent enhancements (versions 1.14 and higher) have made the kubectl
binary fully capable of supporting Kustomize operations. For more information, go to Kustomization in the Kubernetes documentation.
If your delegate is set to auto-upgrade, Harness automatically removed the binary from your delegate. This will result in pipeline and workflow failures for services that use Kustomize 3.4.5.
If your development team still uses Kustomize 3.4.5, you can reintroduce the binary on the delegate. Harness is not responsible for any vulnerabilities or risks that might result from reintroducing the Kustomize 3.4.5 binary.
For more information about updating your delegates to reintroduce Kustomize 3.4.5, go to:
Contact Harness Support if you have any questions.
This is an End of Support (EOS) notice for the Delegate-Legacy image type. This image type will reach End of Support (EOS) as of January 31, 2024.
End of Support means the following:
- Harness Support will no longer accept support requests for the Delegate-Legacy image type in both Harness FirstGen and Harness NextGen (including Harness Self-Managed Enterprise Edition (SMP)).
- Security fixes will still be addressed.
- Product defects will not be addressed.
February 2024
Version 24.02.82203
Hotfix
- Fixed an issue for GitHub connectors when Fetch Files failed because of an NPE error. (CDS-91176, ZD-57550)
January 2024
Harness version 1.22.3, Harness Delegate version 24.01.82202
-
The Azure endpoints were not being set according to the Azure environment selected, which caused the Azure connectors to function properly only for the Azure public cloud but not for other Azure cloud variations such as Azure Gov, Azure China, and so on. (PL-43333, ZD-54717)
Now, the correct Azure resource manager endpoint will be chosen based on the environment selected in the connector.
-
PR status updates now send correctly when using a GitHub App in a GitHub connector with a secret (instead of plain text) for the Application ID. (CI-11025, ZD-56177)
Version 24.01.82110
-
You can now hide sensitive log information in the Harness UI based on regular expression patterns. (PL-46531, ZD-56849)
For more information, go to Hide log information using regex patterns.
Version 24.01.82109
Hotfix
-
Application logs were printed in TAS deployment execution logs. (CDS-89172)
Harness added a new environment variable
DISABLE_CF_APP_LOG_STREAMING
to enhance control over this behavior. Setting this variable totrue
will redact all application logs, providing users with more flexibility in managing log visibility.
Harness version 1.20.9, Harness Delegate version 24.01.82108
Early access features
-
Allowlist verification for delegate registration (PL-42471)
noteCurrently, allowlist verification for delegate registration is behind the feature flag
PL_ENFORCE_DELEGATE_REGISTRATION_ALLOWLIST
. Contact Harness Support to enable the feature.Without this feature flag enabled, delegates with an immutable image type can register without allowlist verification. With this feature flag enabled, delegates with an immutable image type can register if their IP/CIDR address is included in the allowed list received by Harness Manager. The IP address/CIDR should be that of the delegate or the last proxy between the delegate and Harness Manager in the case of a proxy.
Harness Manager verifies registration requests by matching the IP address against an approved list and allows or denies registration accordingly. For more information, go to Add and manage IP allowlists.
Fixed issues
-
Intermittent errors occurred when pulling secrets from a Custom Secret Manager. (PL-43193, ZD-54236, ZD-54555, ZD-55919)
This issue has been resolved by adding a timeout (in seconds) to fetch secrets from a custom provider in the Custom Secret Manager settings. The process interrupts and fails when it takes longer than the configured timeout to fetch the secret. The default value is 20 seconds.
-
Fixed an issue where pod creation failed in Kubernetes cluster build infrastructures if the pod volume mount key exceeded 63 characters. (CI-10789, ZD-55265)
Harness version 1.17.8, Harness Delegate version 23.12.82000
Fixed issues
-
For user groups provisioned from SCIM to Harness, for the corresponding user groups created in Harness, the user group
identifier
is derived from the display name of the user group in the SCIM provider. Harness replaces.
(dots) and-
(dashes) with an_
(underscore). All other special characters (#
,?
,%
, and so on) and spaces are removed. Leading digits0
through9
and$
are also removed. (PL-42535, ZD-53830, ZD-55294)All special characters except
.
,-
, and non-leading$
and digits0
through9
are removed.Example 1: For a user group in SCIM with the name
Harness.Group?Next#Gen-First
, the user group created in Harness will have theidentifier
:Harness_GroupNextGen_First
.Example 2: For a user group in SCIM with the name
123#One.$Two.$Three.123
, the user group created in Harness will have theidentifier
:One_$Two_$Three_123
.The existing behavior of
.
and-
changed to_
has been retained.The name of the corresponding user group created in Harness will retain the special symbols as present in the user group of the SCIM provider. Example: For a user group in SCIM with the name
Harness.Group?Next#Gen-First
, the user group created in Harness will have the samename
:Harness.Group?Next#Gen-First
.
Version 24.01.82005
Hotfix
- Added extra logs to capture CI pod cleanup issues for Windows. (CI-10636, ZD-54688)
Version 24.01.82002
Hotfix
-
In the HTTP step, when a MTLS server was used, the task was not assigned to a delegate. (CDS-87547, ZD-55531)
This issue has been fixed.
Version 23.12.81811
Hotfix
-
Added support for the Tanzu application service Client ID and Secret ID via env variables in the delegate. (CDS-88086)
You can now create a Tanzu connector by setting the
AS_REFRESH_TOKEN_CLIENT_ID
,TAS_REFRESH_TOKEN_CLIENT_SECRET
,ENABLE_TAS_REFRESH_TOKEN_CLIENT_ID
parameters, and providing the Refresh token. The connector will generate a Refresh token using the Client ID and Secret ID.
Previous releases
2023 releases
2023 releases
December 2023
Versions 23.12.81411, 23.12.81604, 23.12.81806
Delegate security hotfix
-
Added additional log sanitization for Git connector flows.
If you are running delegate versions 23.11.814xx or 23.11.816xx, upgrade to delegate version 23.12.81604. If you are running version 23.12.818xx, upgrade to delegate version 23.12.81806 or later.
Harness version 81820, Harness Delegate version 23.12.81803
Early access features
-
If green services exist in your Blue Green deployment, you can configure Harness to update those services instead of deleting them and then re-creating them with a new manifest and artifact. Updating existing green services is beneficial because new containers come up before old ones go down. For more information, go to Update green services. (CDS-82763)
Additionally, before beginning the deployment, Harness validates the blue and green services based on the target group and tags them appropriately. If the validation fails, Harness aborts the deployment. For more information, go to ECS blue/green service validations.
This feature is behind the feature flag
CDS_ECS_BG_VALIDATION
. To enable the feature, contact Harness Support.
Fixed issues
-
For Rancher-based Kubernetes or Native Helm deployments and instance sync, Harness uses Rancher's
generateKubeconfig
API action. A new kubeconfig token is created on the Rancher cluster each time this API is hit. This led to an accumulation of kubeconfig tokens over time on the Rancher cluster. (CDS-83055, ZD-52924)This issue has been fixed. Harness now cleans up the kubeconfig token it creates during deployment or instance sync executions.
To receive this fix, upgrade your delegate to the latest delegate version.
-
If instance refresh during an ASG deployment took too much time and timed out, a rollback was triggered. If the instance refresh was still in progress when the rollback was triggered, the rollback failed. (CDS-83821)
This issue has been fixed.
-
When streaming log messages from PowerShell scripts, Harness streamed only those console logs that had INFO and ERROR severity levels. (CDS-84570, ZD-53860)
This issue has been fixed. Now, Harness forwards console logs that have INFO, WARNING, DEBUG, and ERROR severity levels.
-
Harness printed logs from the Delete Stack step in the reverse order. (CDS-84744, ZD-53865)
This issue has been fixed.
-
The Jenkins step failed when attempting to resolve secrets in expressions used in its job parameters, and the following message was displayed:
Error occurred while starting Jenkins task java.lang.IllegalArgumentException: Illegal character in query at index
(CDS-84747, ZD-53836)The issue has been resolved.
-
If shell script execution fails with an exception such as a step timeout, the delegate logs include the message “Exception in script execution”. This message does not help attempts to determine the root cause. (CDS-85024, ZD-54110)
This issue has been fixed. The delegate logs now include a more meaningful message.
-
There was an issue with the filtering of items that had tags on the delegate list page. This was resolved by adding an implicit tag before filtering the items in the UI. (PL-42743)
-
When the feature flag
PL_NO_EMAIL_FOR_SAML_ACCOUNT_INVITES
is enabled and a new user was added on the Account Access Control: Users page, the following message was displayed: "Invitation sent successfully", even though the user was added to the list. (PL-42860)This issue has been resolved, and the UI now displays "User added successfully".
Version 23.12.81809
Hotfix
- Fixed an issue where GitHub Issue Comment event triggers were failing when used with GitHub Enterprise Server. (CDS-85419)
Version 23.12.81808
Hotfix
- Fixed an issue where Shell Script steps with SSH were failing with
Error while reading variables to process Script Output. Avoid exiting from script early: 2: No such file
for newer delegate versions. (CDS-87415, ZD-55629, ZD-55690)
Version 23.12.81804
Hotfix
-
You can now use a Refresh token to authenticate with the Tanzu connector. This Refresh token is used by Harness to verify your Tanzu instance. However, you still need to provide a username and password to authenticate with Tanzu. If a Refresh token isn't provided, Harness will use the username and password for the API calls. (CDS-86689)
noteCurrently, this feature is behind the feature flag
CDS_CF_TOKEN_AUTH
. Contact Harness Support to enable the feature.
November 2023
Harness version 81612, Harness Delegate version 23.11.81601
New features and enhancements
-
If you use Kubernetes version 1.16 or later, you can enable the steady state check for Native Helm jobs from Default Settings at any organizational scope (account, organization, or project) in Harness. (CDS-81574)
To enable the setting, at the desired scope, go to Default Settings > Continuous Delivery, and then turn on the Enable Native Helm steady state for jobs toggle.
This enhancement eliminates the need for you to contact Harness Support to enable the feature flag
CDS_HELM_STEADY_STATE_CHECK_1_16
and gives you direct control of the setting.Accounts for which Harness had enabled this feature flag will have this setting turned on by default.
Fixed issues
-
When shutdown is initiated, delegates will continue sending heartbeats until all tasks are completed, ensuring all running tasks return a response before shutting down. (PL-42171)
-
There was an issue with Harness not properly handling delegate reconnects, which affected delegate metrics. During a disconnect, Harness would mark
delegate_connected
as 0, but after a reconnect, it failed to increment thedelegate_connected
to 1. (PL-42431, ZD-52829, ZD-53399, ZD-53878)This issue has been resolved, and now Harness increments the
delegate_connected
to 1 during reconnection. As a result, theio_harness_custom_metric_delegate_connected
andio_harness_custom_metric_task_failed
metrics are now accurately reported. -
Fixed the following issues:
- The delegate Stackdriver logger didn't work if the delegate token was base64-encoded format.
- When the
DELEGATE_TYPE
wasKUBERNETES
and the delegate wasn't deployed in Kubernetes, the delegate failed to start. (PL-42452)
-
Azure Key Vault's heartbeat check now creates a validation secret with a 30-minute expiration, addressing the issue of no expiration being set previously, which resulted in multiple secret versions without an expiry. (PL-42509, ZD-53700)
-
User groups could be created via SCIM using identifiers with invalid characters. (PL-42535, ZD-53830)
This issue is fixed. You can no longer create user groups with invalid characters.
-
Harness used Datadog log indexes when running the Verify step but not when fetching sample data in the health source configuration dialog. (CDS-83934, ZD-53433)
This issue has been fixed.
-
If the default capacity for the ASG deployment is zero or Null and you choose to create the same number of ASG instances as those that were previously deployed by the pipeline (the Same as already running Instances setting), Harness created zero instances. The deployment timed out after waiting for health checks. (CDS-83818)
This issue has been fixed. Now, if the default capacity is zero or Null, Harness sets the default capacity to match that in Harness FirstGen, which is as follows:
- For the first deployment:
- minimum = 0
- desired = 6
- maximum =10
- For other deployments:
- minimum = 0
- desired = 1
- maximum = 1
- For the first deployment:
-
Starting with Delegate version 23.08.79713, the custom script for fetching remote manifests did not support absolute paths as the folder path. (CDS-83443, ZD-52872)
This issue has been fixed.
-
The Helm connector's test to check connectivity to an OCI Helm repository in AWS ECR failed with an "Invalid request: Invalid oci url..." error even though the URL to the repository conformed with the formats described in Connect to an Artifact repository. The delegate was configured to use a proxy server and the Anonymous authentication type. However, manually fetching Helm charts from the delegate were successful. (CDS-82779, ZD-52343)
This issue has now been resolved. The OCI Helm connector now works with the Anonymous authentication type when a proxy server is configured on the delegate.
-
After fetching tags from Google Artifact Registry, Harness sorted them lexically and not on the timestamp. (CDS-82778)
This issue has been fixed. Harness now sorts the tags on the timestamp.
-
Pipeline executions for WinRM deployments failed intermittently when the deployment was performed by Harness Delegate with version 23.11.81015. Certain processes managed by the Windows Remote Management service (namely,
winrshost.exe
with its child processconhost.exe
) were orphaned and continued to run on the target host. (CDS-82777, ZD-52759, ZD-53411, ZD-53460, ZD-53683)This issue has been fixed.
-
Certain Docker registries fail authentication when using the
/v2
endpoint, which is used for health checks in Docker connectors. (CDS-82616, ZD-52513)This issue has been fixed. Harness now falls back to using the
/v2/
endpoint if the/v2
endpoint fails. -
Harness did not stop Terraform tasks after you canceled pipeline execution, even if you cancelled execution before the task started to run actual Terraform commands. (CDS-82222, ZD-52603)
This issue has been resolved.
-
Currently, the on-premises version of Atlassian BitBucket does not fire push event webhooks when you first push to a new branch. This is inconsistent with other Git providers and also causes Harness's BitBucket triggers for on-premises repositories to behave inconsistently. (CDS-82110, ZD-52270)
As a workaround for this inconsistency, Harness has made the trigger's workflow capture branch hook events for on-premises BitBucket and convert them, on a best-effort basis, to a push hook. This change has the effect of making Harness's triggers for on-premises BitBucket to fire on the first push to a new branch. This change is behind the feature flag
CDS_NG_CONVERT_BRANCH_TO_PUSH_WEBHOOK_BITBUCKET_ON_PREM
. To enable this change in behavior, contact Harness Support.
Version 23.11.81602
Hotfix
-
New connectors failed with an
Internal Server Error. Please contact Harness Support Team.
message. (CI-10414, ZD-54032)This issue has been resolved by increasing the sleep time between retries.
Harness version 81401, Harness Delegate version 23.11.81405
New features and enhancements
-
Harness has introduced stage-level timeouts for the following stage types: (CDS-81225)
- Deploy
- Build
- Approval
- Security Test
- Pipeline
- Custom Stage
-
Harness updated the delegate metrics count names to include the suffix
_total
. (PL-42354, ZD-52167)The following delegate metrics names are updated.
io_harness_custom_metric_task_timeout
is nowio_harness_custom_metric_task_timeout_total
io_harness_custom_metric_task_completed
is nowio_harness_custom_metric_task_completed_total
io_harness_custom_metric_task_failed
is nowio_harness_custom_metric_task_failed_total
io_harness_custom_metric_task_rejected
is nowio_harness_custom_metric_task_rejected_total
-
Harness has updated our account data deletion period from 90 days to 60 days. (PL-41444)
Fixed issues
-
Fetching a repository and attempting to read a file that did not exist on the file system resulted in an exception, and Harness failed to handle that exception appropriately. The console logs displayed the following message: "Exception in processing GitFetchFilesTask. Reason: Unable to checkout file:
<file-path>
." (CDS-82631)This issue has been fixed.
-
When using the Generic repository format to fetch artifacts from Artifactory, if you used an artifact filter and a non-Regex value for the artifact path, an issue occurred. The issue caused the metadata URL in the service outcome to be incorrect; the URL did not include the repository name. (CDS-82579)
This issue is fixed.
-
HorizontalPodAutoscaler (HPA) and PodDisruptionBudget (PDB) could not be used in Kubernetes deployments if they contained fields that are not supported by the Kubernetes schema. (CDS-82370)
This issue has been fixed by the addition of support for such fields.
-
Harness did not honor the working directories specified in script units in the Command steps used in WinRM deployments. Instead, Harness used the default directory configured for the user profile on the target VM. (CDS-82105)
This issue has been fixed. Harness now uses the working directory that you specify in script units. However, the fix has been deployed behind the feature flag
CDS_PRESERVE_WINRM_WORKING_DIR_FOR_COMMAND_UNITS
. Contact Harness Support to enable the fix. -
The services dashboard did not correctly show primary and canary instances in a Kubernetes deployment. (CDS-81869, ZD-52262, ZD-52930)
The issue occurred because Harness treated the canary instances and primary instances as one set of instances. Consequently, during the canary deployment, Harness also updated the primary instances with current deployment details. This was not correct because primary deployment hadn't begun yet. This issue affected post-production rollbacks.
This issue has been resolved. Now, Harness splits the canary instances and primary instances into two groups and updates each group with the deployment details that are relevant to them.
-
If connectivity issues between Harness and the Git provider cause a file that existed in the repository to not be found on the file system after performing a fetch, the Update Release Repo step creates a new file. (CDS-80902, ZD-51818)
This issue has been fixed. If Harness experiences a connectivity issue with a Git provider when executing a step, it fails the step after a few retries.
-
Secrets that are referenced in a service variable are displayed on the secret's References tab but secrets that are referenced in an environment’s service overrides are not. (CDS-80615)
This issue has been fixed.
-
When the Update Release Repo step failed on the delegate, the error message was not propagated to the Harness user interface, and you had to search the delegate logs to determine the cause of the issue.
This issue has been fixed. The error message is now propagated from the delegate to the Harness user interface. (CDS-79094)
-
The project admin role wasn't being assigned to a project created via an account or org scope service account. Now, when a project is created, the project admin role is automatically assigned to the service account. This is also reflected in the audit trails. (PL-41845, ZD-51918)
-
Previously, if you had an SSH secret key with a Text reference pre-selected, you could only update it using YAML but not via the UI. The UI displayed only the File secret types. Harness has now added a dropdown menu in the Create or Select an Existing Secret dialog that allows you to select the Secret type as either File or Text. This simplifies the process of updating SSH secrets, making it easier for you to manage your secrets. (PL-41507, ZD-47600, ZD-51334)
Version 23.11.81406
Hotfix
- Fixed the orphaned
winrshost.exe
process and its childconhost.exe
process that were bumping on host infrastructure after WinRM deployment. (CDS-82777, ZD-52759, ZD-53411, ZD-53460, ZD-53683)
Version 23.11.81408
Hotfix
- A default tag is now included in the Auto Scaling Group (ASG) for the Name key. The tag value is set to match the ASG name and is automatically propagated upon instance launch. This feature is especially useful if you rely on instance names for managing metrics. (CDS-84681)
October 2023
Harness version 81205, Harness Delegate version 23.10.81202
Harness NextGen release 81205 includes the following changes for the Harness Delegate.
New features and enhancements
-
You can now configure the delegate logging level by setting the
LOGGING_LEVEL
environment variable. Valid values areTRACE
,DEBUG
,INFO
,WARN
,ERROR
, andOFF
. If an invalid value is specified, the logging level defaults toDEBUG
. If no value is specified, the logging level defaults toINFO
. (PL-41644, ZD-51430) -
When you configure a Kubernetes build farm to use self-signed certificates, you can now use
DESTINATION_CA_PATH
instead ofCI_MOUNT_VOLUMES
andADDITIONAL_CERTS_PATH
. (CI-9707)- For
DESTINATION_CA_PATH
, provide a comma-separated list of paths in the build pod where you want the certs to be mounted, and mount your certificate files toopt/harness-delegate/ca-bundle
. - Both CI build pods and the SCM client on the delegate support this method.
- You can use either method (
DESTINATION_CA_PATH
or bothCI_MOUNT_VOLUMES
andADDITIONAL_CERTS_PATH
). If you specify both,DESTINATION_CA_PATH
takes precedence. If Harness can't resolveDESTINATION_CA_PATH
, it falls back toCI_MOUNT_VOLUMES
andADDITIONAL_CERTS_PATH
.
- For
-
JGit library upgrade (CDS-80715, ZD-51149)
Eclipse JGit libraries have been upgraded to version 6.6.1.202309021850-r.
-
To improve security, Harness has introduced a feature that allows you to add domain allowlists for Email, Slack, Microsoft Teams, Webhook, and PagerDuty notification channels at the account level. Earlier, this was only supported for fixed URL domains. Now, support has been added for expression URLs. (PL-39481, ZD-43735)
Fixed issues
-
Revised the error message that is shown when a pipeline fails due to lack of eligible delegates. (CI-9743)
-
Optimized delegate logging related to the CI task handler to consume less space. (CI-9771)
-
When saving secret files, Harness FirstGen and Harness NextGen encode the file content with the ISO_8859_1 character set. However, while Harness FirstGen correctly decodes the file content referenced by the
configFile.getAsBase64()
functor, Harness NextGen uses UTF-8. The issue caused additional padding bytes to be included in the P12 config file and authorization errors with GCP Pub/Sub in Harness NextGen. (CDS-81032, ZD-51928)This issue has been fixed. Now, Harness NextGen uses the ISO_8859_1 character set while decoding secrets from the secret store and subsequently uses Base64 encoding.
-
Harness did not handle appropriately the failure status codes returned by the GitLab API for the Merge PR step. (CDS-80927)
This issue has been fixed.
-
The Tags field in the pipeline filter is now optional. This change allows you to filter either by tag name or a combination of tag name and value. (CDS-78992)
Version 23.12.81210
Hotfix
- GitHub status checks were not refreshing for pipeline executions. Harness added a retry to the GitHub status update API call to resolve the issue. (CI-10618, ZD-54673)
Version 23.10.81203
Hotfix
- Added IRSA support for downloading S3 artifacts using WinRm/SSH. (CDS-81276, ZD-51938)
Harness version 81008, Harness Delegate version 23.10.81010
Harness NextGen release 81008 includes the following changes for the Harness Delegate.
Harness implemented access checks to restrict unauthorized users from viewing delegate information on the delegate list page. Access checks are now enforced on the page for delegate view permissions. (PL-38958, ZD-50634)
New features and enhancements
You can now reference secret values in JSON files by using XPATH. Support is available for AWS Secret Manager, Azure Key Vault, GCP Secret Manager, and HashiCorp Vault. For more information, go to Reference existing secret manager secrets. (PL-41063, ZD-51651)
Fixed issues
-
The Merge PR step fails with GitLab connectors. (CDS-79772)
This issue has been fixed.
-
Execution failure logs associated with an exception named
DuplicateKeyException
included the name of the Harness production server. (CDS-79514, ZD-50804)This issue has been fixed.
-
Harness now supports the deployment of ECS services whose count is the same as the running instances in a blue-green strategy (CDS-79412)
-
If a pipeline that includes the Terragrunt Apply step fails, the Terragrunt working directory is not removed from the file system. Consequently, the delegate container's disk usage gradually increases. The issue occurs when the working directory includes symbolic links. (CDS-79020, ZD-50532)
This issue has been fixed.
-
If a step in a WinRM deployment fails, Harness does not clean up temporary files created on the remote host. (CDS-78304, ZD-49543)
This issue has been fixed.
-
When a code repo connector encounters a cert error, the error message shown in the Harness UI is now more informative. (CI-8509)
-
Fixed an issue where some code repo connectors didn't send the build status back to the SCM provider. This happened due to an issue in the Harness Delegate, and it occurred only for code repo connectors that connected through a Harness Delegate. Connectors connecting through the Harness Platform weren't impacted. (CI-9835, ZD-51754, ZD-51758, ZD-51763)
-
Fixed an issue where the latest delegate version was not reflected in the latest supported delegate version API. (PL-41151)
For more information on the latest supported delegate version API, go to Use automatic upgrade with custom delegate images.
Version 23.11.81015
Hotfix
-
The service dashboard did not show the new active instance count that resulted from updates made to workload replicas. The issue occurred in a few Helm deployment scenarios, when the updates were made after deployment. (CDS-82385, ZD-52612)
This issue has been fixed.
-
When you configure a Kubernetes build farm to use self-signed certificates, you can now use
DESTINATION_CA_PATH
instead ofCI_MOUNT_VOLUMES
andADDITIONAL_CERTS_PATH
. (CI-9707)- For
DESTINATION_CA_PATH
, provide a comma-separated list of paths in the build pod where you want the certs to be mounted, and mount your certificate files toopt/harness-delegate/ca-bundle
. - Both CI build pods and the SCM client on the delegate support this method.
- You can use either method (
DESTINATION_CA_PATH
or bothCI_MOUNT_VOLUMES
andADDITIONAL_CERTS_PATH
). If you specify both,DESTINATION_CA_PATH
takes precedence. If Harness can't resolveDESTINATION_CA_PATH
, it falls back toCI_MOUNT_VOLUMES
andADDITIONAL_CERTS_PATH
.
- For
September 2023
Harness version 80811, Harness Delegate version 23.09.80804
Harness NextGen release 80811 includes the following changes for the Harness Delegate.
When using the Terragrunt All Modules Module Configuration, the Terragrunt Plan and Apply commands don't include the --terragrunt-include-external-dependencies
CLI options flag. (CDS-87234)
If your Terragrunt configuration has module dependencies and you want to target all dependencies, use CLI options from the corresponding Plan or Apply step to add the --terragrunt-include-dependencies
flag.
New features and enhancements
-
Upgraded the Bouncy Castle library to address potential vulnerabilities. (PL-40729, ZD-48823)
org.bouncycastle:bcpg-jdk15on:jar:1.70
toorg.bouncycastle:bcpg-jdk18on:jar:1.76
org.bouncycastle:bcpkix-jdk15on:jar:1.70
toorg.bouncycastle:bcpkix-jdk18on:jar:1.76
org.bouncycastle:bcprov-ext-jdk15on:jar:1.70
toorg.bouncycastle:bcprov-ext-jdk18on:jar:1.76
org.bouncycastle:bcprov-jdk15on:jar:1.70
toorg.bouncycastle:bcprov-jdk18on:jar:1.76
-
Harness CD now supports auto-scaling of green services in the ECS Blue Green Swap Target step. (CDS-79414)
-
Terragrunt steps now support CLI options flags.
Fixed issues
-
The Kustomize 3.5.4 binary is now removed from the immutable delegate, and all Kustomize tasks are routed via the Kubectl binary. (CDS-58893, ZD-48553)
-
In certain scenarios for ECS Blue Green deployments, the Green application was not rolling back. We have added functionality to handle this scenario. We now consistently roll back the Green service in ECS Blue Green deployments. (CDS-76795, ZD-49005, ZD-49919)
-
Fixed an issue where ShellScript WinRM deployments would not honor the configured timeout. For example, the step would time out by default in 30 minutes even when the configured timeout was 1 day. Now the WinRM session timeout will be set to 30 minutes or the timeout configured for the step (if more than 30 minutes). (CDS-78219, ZD-48180, ZD-49871)
-
Fixed an issue with Artifactory artifact fetches in the pipeline, when the artifact path was in a nested directory and also a regex. (CDS-78278, ZD-50030)
-
Resolved an issue when copying config files from BitBucket repositories if a folder path was specified instead of a file path. (CDS-78344, ZD-49489)
-
The output of the Kubernetes Dry Run step did not generate a valid Kubernetes manifest due to the masking of the secrets values (CDS-78507).
Harness was masking all the secrets values using the character set
***
for both stringData and data fields in Secrets Resources. Since the data field supports only Base64 encoded values, this resulted in an invalid manifest. With this fix, Harness uses a valid value to mask these data fields (Kioq
, the Base64 value of***
). -
Harness did not handle the
Unknown Host Exception
error appropriately and, consequently, showed the misleading "Delegates are not available for performing operation" message when you configured LDAP incorrectly (for example, you entered an incorrect host or port number). (PL-28077)This issue has been fixed.
-
Harness showed JSON Web Token URLs in Delegate task logs associated with shell script task failures. (PL-39102)
This issue has been fixed.
-
Delegates failed to reauthenticate with the proxy after the initial proxy session expired. (PL-40630, ZD-48981, ZD-49626)
The following updates to delegate communication with Harness Manager over proxy resolve this issue.
-
Removed
return null
when the delegate receives the required 407 proxy authentication. -
Added the following variables for the
asyncHttpClient
to authenticate with the proxy.org.asynchttpclient.AsyncHttpClientConfig.proxy.user
org.asynchttpclient.AsyncHttpClientConfig.proxy.password
-
-
Harness Platform release 80504 did not allow you to create empty user groups. (PL-41005, ZD-50411, ZD-50475)
This issue has been fixed.
-
When steps timed out for aborted tasks that were previously assigned, the UI displayed an incorrect error message. (PL-41226, ZD-49908, ZD-50652)
The UI now displays the correct error message.
-
The UI allowed all users to select the Copy token option from the More Options (⋮) menu. (PL-41155)
This issue has been resolved. Now, only users with the required permissions to copy tokens are able to select the Copy token option.
-
Fixed an issue where build pods weren't cleaned up if Harness selected an invalid delegate for the cleanup task. This could happen if you used delegate selectors based on delegate tags, and multiple delegates had the same tags, but some of those delegates didn't have access to the cluster. Now Harness checks the selected delegate's connectivity to the cluster before assigning a task to that delegate. (CI-8831, ZD-47647)
-
The execution logs from the Initialize step showed SSH keys used in the environment for the Command step. (CDS-79144, ZD-50623)
This issue has been fixed.
Version 23.10.80808
Hotfix
-
For generic (non-Docker) artifacts available in Artifactory, you can use an expression to specify the path to the artifact. This filter works in the same way as the artifact filter in Harness FirstGen, and it is useful when you want to fetch artifacts from multiple paths. (CDS-78181)
-
Updated the internal Jenkins library to support long IDs for Jenkins builds. Previously, supported IDs were limited to integer bounds. (CDS-79499, ZD-50718, ZD-50888)
-
Fixed an issue where Git statuses were not being sent for pull requests. (CES-1376)
-
Added support for referencing JSON secret keys with dots at the top level. Nested keys with dots are not supported. (PL-41715)
Harness version 80504, Harness Delegate version 23.09.80505
Harness NextGen release 80504 includes the following changes for the Harness Delegate.
New features and enhancements
-
Upgraded
io.netty:netty*
to version4.1.94.final
to address vulnerabilities. (CI-8971, ZD-48488) -
API Call logs now include details such as response, size, duration, HTTP verb, and response code in the summary. (OIP-767)
-
If the Email step failed to send a notification, the following message was displayed: “Failed to send the email. Check SMTP configuration.” The message did not include any additional information to help you debug the issue. (PL-40007, ZD-47524)
Now, the message has been enhanced to show the cause of failure. It also identifies the delegate that executed the task.
-
The OWASP Java HTML Sanitizer version is upgraded to 20220608.1. (PL-40807)
-
The Mozilla Rhino library has been upgraded from version 1.7R4 to 1.7.14. (PL-40808)
-
The Spring Boot library is upgraded to version 2.7.14. (PL-40810)
-
The delegate expiration policy has been extended from 3 months to 6 months. You now only have to update delegates once every 6 months. (PL-39452)
Fixed issues
-
Fixed a Nexus artifact issue where a fetch timed out when a single group contained more than 50 artifacts. (CDS-73884, ZD-45052, ZD-47206)
-
Fixed an intermittent issue where Helm deployment pipelines would report the Helm repository as not found. (CDS-76919)
-
Fixed an issue that resulted in Null Pointer Exceptions when running a pipeline manually with a
<+trigger.connectorRef>
expression. This expression gets its data from the trigger payload. With this fix, the pipeline correctly handles the case where the trigger payload is null. (CDS-77736, ZD-49685, ZD-49720, ZD-49722) -
Fixed an issue where the
ACCOUNT_SECRET
environment variable was overriding theDELEGATE_TOKEN
value in the delegate's Docker container for delegates with an immutable image type (image tagyy.mm.xxxxx
). (PL-40728)