Self-Managed Enterprise Edition release notes
These release notes describe recent changes to Harness Self-Managed Enterprise Edition, NextGen.
If you are currently on version 0.12.0, you must follow the applicable upgrade process below to upgrade your version to the latest stable release, 0.12.1.
If you are currently on version 0.13.0, 0.13.1, 0.13.2, or 0.13.3, you must follow the applicable upgrade process below to upgrade your version to the latest stable release, 0.13.4.
If you are currently on version 0.14.3, 0.14.4, 0.14.5, or 0.14.6, you must follow the applicable upgrade process below to latest stable release, 0.15.1.
You can perform your normal upgrade process if you are currently on a version earlier than 0.12.0. Harness recommends that you upgrade to 0.15.1.
Upgrade using Helm to version 0.12.1, 0.13.4, 0.14.6, or 0.15.1
If you use helm
to upgrade Harness Self-Managed Enterprise Edition, follow the upgrade process below.
- Set
global.database.minio.mergeLogs
totrue
in your override file. - Perform your Harness upgrade.
All other customers
If you don't use Helm to upgrade Harness Self-Managed Enterprise Edition, follow the upgrade process below.
-
Exec into your MinIO pod.
-
Copy the files from
/bitnami/minio/data
to/data/backup directory
. -
Perform your Harness upgrade.
-
Exec into your MinIO pod after the upgrade has successfully completed.
-
Run the following command and copy the
MINIO_ROOT_PASSWORD
.env | grep MINIO_ROOT_PASSWORD
-
Run the following commands.
bin/mc alias set minio http://minio:9000
# Access Key: admin
# Secret Key: <PASTE_THE_PASSWORD_COPIED_IN_STEP_5>bin/mc cp --recursive /bitnami/minio/data/backup/logs minio/logs
- 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, FirstGen Self-Managed Enterprise Edition, and FirstGen release notes.
April 10, 2024, patch version 0.15.1
This release includes the following Harness module and component versions.
Name | Version |
---|---|
Helm Chart | 0.15.1 |
Air Gap Bundle | 0.15.1 |
NG Manager | 1.27.12 |
CI Manager | 1.13.2 |
Pipeline Service | 1.64.2 |
Platform Service | 1.14.1 |
Access Control Service | 1.35.5 |
Delegate | 24.02.82402 |
Change Data Capture | 1.5.3 |
STO Core | 1.86.2 |
Test Intelligence Service | 1.12.1 |
NG UI | 1.10.8 |
LE NG | 1.1.0 |
Alternative air gap bundle download method
Some admins might not have Google account access to download air gap bundles. As an alternative, you can use gsutil
. For gsutil
installation instructions, go to Install gsutil in the Google Cloud documentation.
gsutil -m cp \
"gs://smp-airgap-bundles/harness-0.15.1/ccm_images.tgz" \
"gs://smp-airgap-bundles/harness-0.15.1/cdng_images.tgz" \
"gs://smp-airgap-bundles/harness-0.15.1/ce_images.tgz" \
"gs://smp-airgap-bundles/harness-0.15.1/cet_images.tgz" \
"gs://smp-airgap-bundles/harness-0.15.1/ci_images.tgz" \
"gs://smp-airgap-bundles/harness-0.15.1/ff_images.tgz" \
"gs://smp-airgap-bundles/harness-0.15.1/platform_images.tgz" \
"gs://smp-airgap-bundles/harness-0.15.1/sto_images.tgz" \
.
Fixed issues
-
Fixed an issue where cloud-info pods crashed after upgrading to 0.15.0. (CCM-17154)
-
Fixed an issue where the GitOps service crashed after upgrading to 0.15.0. (CDS-95152)
March 29, 2024, version 0.15.0
This release includes the following Harness module and component versions.
Name | Version |
---|---|
Helm Chart | 0.15.0 |
Air Gap Bundle | 0.15.0 |
NG Manager | 1.27.12 |
CI Manager | 1.13.2 |
Pipeline Service | 1.64.2 |
Platform Service | 1.14.1 |
Access Control Service | 1.35.5 |
Delegate | 24.02.82402 |
Change Data Capture | 1.5.3 |
STO Core | 1.86.2 |
Test Intelligence Service | 1.12.1 |
NG UI | 1.10.8 |
LE NG | 1.1.0 |
Alternative air gap bundle download method
Some admins might not have Google account access to download air gap bundles. As an alternative, you can use gsutil
. For gsutil
installation instructions, go to Install gsutil in the Google Cloud documentation.
gsutil -m cp \
"gs://smp-airgap-bundles/harness-0.15.0/ccm_images.tgz" \
"gs://smp-airgap-bundles/harness-0.15.0/cdng_images.tgz" \
"gs://smp-airgap-bundles/harness-0.15.0/ce_images.tgz" \
"gs://smp-airgap-bundles/harness-0.15.0/cet_images.tgz" \
"gs://smp-airgap-bundles/harness-0.15.0/ci_images.tgz" \
"gs://smp-airgap-bundles/harness-0.15.0/ff_images.tgz" \
"gs://smp-airgap-bundles/harness-0.15.0/platform_images.tgz" \
"gs://smp-airgap-bundles/harness-0.15.0/sto_images.tgz" \
.
New features and enhancements
Self-Managed Enterprise Edition
-
You can now configure
nginx-ingress-controller
arguments through overrides. (PL-46366, ZD-55035)nginx:
controller:
watchNamespace: ""
updateStatus: true
httpPort: 8080
httpsPort: 8443
watchIngressWithoutClass: true
defaultSSLCertificate: ""
configMap: ""
defaultBackendService: ""
publishService: ""
electionId: ""
controllerClass: ""To add extra arguments:
nginx:
controller:
extraCommandArgs:
- --argument=example-argumentThe following creates a
clusterRole
andclusterRoleBindings
by setting:nginx:
clusterRole:
create: true
Continuous Delivery
-
We enhanced the resolution of the working directory. Now you can determine the working directory based on environment variables. This includes variables provided in shell script steps through input variables, as well as those from the host's environment variables. (CDS-87446)
-
We've introduced a new expression that explicitly provides the trigger name used to initiate the execution. You can now utilize
<+pipeline.triggeredBy.triggerDisplayName>
to access this information. (CDS-87696) -
If a feature flag is turned on for a module it will now appear in the module selector for the new navigation experience. (CDS-85185)
Continuous Integration
-
Added some helper text that was missing when creating pipelines through the projects section. (CI-11233)
-
Increased the timeout limit for stage initialization to 30 minutes when using Harness Cloud build infrastructure. (CI-11071)
-
Harness CI no longer stores clone tokens for public GitHub repositories as environment variables, because a token isn't needed to clone public repos. This change requires Harness Delegate version 24.02.82302 or later. For information about features that require a specific delegate version, go to the Delegate release notes. (CI-10938)
-
The error message text for the
no eligible delegates present
error now includes additional potential causes. This change requires Harness Delegate version 24.02.82302 or later. For information about features that require a specific delegate version, go to the Delegate release notes. (CI-10933, ZD-55977) -
To help identify pods that aren't cleaned up after a build, pod deletion logs now include the cluster endpoint targeted for deletion and the pod identifier, namespace, and API endpoint response for pods that can't be located for deletion. (CI-10636, ZD-54688)
Harness Platform
-
Harness has updated the default HPA in the Harness Delegate YAML to use
autoscaling/v2
instead ofautoscaling/v1
which was used in earlier delegate versions. (PL-43686)With this update, the delegate default scaling metrics are now 70% of CPU and 70% of memory utilization.
---
apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:
name: kubernetes-delegate-hpa
namespace: harness-delegate-ng
labels:
harness.io/name: kubernetes-delegate
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: kubernetes-delegate
minReplicas: 1
maxReplicas: 1
metrics:
- type: Resource
resource:
name: cpu
target:
type: Utilization
averageUtilization: 70
- type: Resource
resource:
name: memory
target:
type: Utilization
averageUtilization: 70
---Since
autoscaling/v2
has been GA with Kubernetes 1.23 and higher, if you have a Kubernetes version lower than 1.23, you must manually change theapiVersion
in theHorizontalPodAutoscaler
of your delegate YAML toautoscaling/v1
.For more information, go to Configure Harness Delegate autoscaling using replicas for Kubernetes.
This update only affects new delegate installations. Your existing, running delegates are not affected.
-
You can now enable file logging for supported services through override in Harness Self-Managed Enterprise Edition (On-prem) installations. (PL-44211)
To enable file logging, add the following to your
override.yaml
file in theglobal
section:global:
fileLogging:
enabled: true
logFilename: /opt/harness/logs/pod.log #provide log filename
maxFileSize: 50MB #max single file size, for log archiving
maxBackupFileCount: 10 #max count of files
totalFileSizeCap: 1GB -
Support added to enable OPA policy for naming convention enforcement while creating or updating a service account. This item requires Harness Delegate version 24.03.82502. For information about Harness Delegate features that require a specific delegate version, go to the Delegate release notes. (PL-46777)
-
OPA policy enforcement has been introduced to three new entities: Service Accounts, API Keys, and Tokens. For Service Accounts and API Keys, naming convention policies are enforced, while for Tokens, Time-To-Live (TTL) policies are enforced. These enforcement mechanisms are seamlessly integrated into both create and update operations, ensuring adherence to predefined standards during the
onSave
action. This item requires Harness Delegate version 24.03.82502. For information about Harness Delegate features that require a specific delegate version, go to the Delegate release notes. (PL-46778) -
Support added to enable OPA policy for TTL enforcement while creating or updating an API Key Token. (PL-46779)
Fixed issues
Continuous Delivery
-
Adding config files or manifests in a Custom stage, the environment step threw an error,
UnsupportedOperationException: Not inside service step or one of it's children
. (CDS-92218, ZD-58321) -
For Slack and Microsoft Teams, if webhook URLs were provided as secret expressions like
<+secrets.getValue("account.slackUrl")>
, the Harness approval notifications didn't work. (CDS-92077, ZD-58153) -
Creating a Terraform service override returned the error,
ServiceOverride already exists
. (CDS-92071, ZD-58189) -
Fixed inconsistent date format in the Harness UI. (CDS-91975, ZD-58220)
The timestamps in Step and Stage pop-up in the Execution page appeared in a different format compared to the format used in Step Details and Step Logs panes. Now, Harness uses the same format throughout the UI.
-
Fixed inconsistent date format in the Harness UI. (CDS-91975, ZD-58220)
The timestamps in Step and Stage pop-up in the Execution page appeared in a different format compared to the format used in Step Details and Step Logs panes. Now, Harness uses the same format throughout the UI.
-
During pipeline execution, nodes from CD details page did not appear consistently before starting the Verify step even if the Node from CD checkbox was selected. (CDS-91960)
-
The Amazon Autoscaling Groups (ASG) deployment failed due to load balancer failure. (CDS-91888)
This issue occurred for old ASGs where the target groups health check failed. Target groups health check was not performed when updating the old ASGs as well as during the instance refresh. This issue is now fixed.
-
Updated the Canary deployment Scale step behavior to publish all workload pods as new pods after the step is run. The Scale step is now used to scale pods as well as change traffic on the pods. (CDS-91534, ZD-54319)
-
ECS services got deleted after the first or second deployment in the ECS Blue Green deployment. (CDS-91499, ZD-57892)
The issue is fixed by adding a condition for active service status.
-
The Deploy environments and infrastructure in parallel checkbox was missing for filtered list when using multi-environments. (CDS-91472)
This issue is fixed by adding this option for filtered lists.
-
The Include Infrastructure Selector option was missing in the SSH step template. (CDS-91396, ZD-57775)
This issue is fixed by adding the Include Infrastructure Selector field in the Shell Script step and step group templates (for CD deployments) and other templates based on the deployment type.
-
The chained pipeline's input section in the Harness UI did not have the option to fetch manifests from the Git store for runtime config fields. (CDS-91387, ZD-57687)
This issue is fixed now and you should be able to set the defaults correctly.
-
Codeblocks embedded in the Support AI replies were not rendering correctly. (CDS-91364)
This issue is fixed now.
-
Moving a stage in the Step Details panel moved the step details panel for other stages as well.(CDS-91351)
The steps graph in the Execution View is now updated to auto-reset its position when a different stage is selected.
-
The Subscriptions card under the CD Activity & Usage page's Trend tab was not loading properly. (CDS-91344)
The date API call got cancelled when its component was being mounted causing this issue. This issue is fixed by making the date API call only after the component was mounted.
The error handling is also improved by displaying a proper error message as part of the failed API response. On instances where a proper message is not present,
Something went wrong
message appears by default. -
Artifactory and Git connectors did not honor Secrets Manager selector. (CDS-91300, ZD-57541)
These connectors did not check the connectivity to the Secrets Manager. Hence, the secrets were not getting resolved on the delegate. This issue is fixed. Now, the connection test also checks if the Secrets Manager is accessible.
This fix is behind the feature flag,
CDS_SERVICE_AND_INFRA_STEP_DELEGATE_SELECTOR_PRECEDENCE
. To enable this fix, contact Harness Support. -
Users were unable to create custom queries that are nor part of the APM metrics as a heath source for monitored services. (CDS-91181, ZD-57562)
This issue is fixed by making the service instance field configurable for users.
This item requires Harness Delegate version 24.02.82402. For information about features that require a specific delegate version, go to the Delegate release notes.
-
Fixed an issue for GitHub connectors when Fetch Files failed because of an NPE error. (CDS-91176, ZD-57550)
-
The Input Set Page breaks while editing the input set when the service input fields have been updated. Now the page will render with the input set YAML. (CDS-91095, ZD-57487)
-
Fixed an issue where a Targeted Hosts field was not populated in the case of execution input. (CDS-91071)
-
Fixed an issue where the pipeline failed to execute when remote infrastructure was used with a multi-environment deployment. (CDS-90985, ZD-57420)
-
Single-service, multi-environment, multi-cluster deployments done using a GitOps PR pipeline rejected some of the clusters. (CDS-90942)
The issue is fixed now.
-
Harness did not display dynamically provisioned infrastructure inputs when the input field was set as runtime. (CDS-90757)
This issue is fixed. The provisioner runtime input field now appears in the infrastructure input card.
-
Template settings were not visible in the new Organization and Account settings navigation page. (CDS-89746, ZD-57373)
In the new navigation page, the Settings cards for specific modules were previously hidden when the corresponding module's license was absent. The issue is fixed. The Organization and Account navigation page is now modified to display all Settings cards regardless of the license status.
-
Log verification step failed due to a parsing error. (CDS-89622)
This issue occurred because the string-to-time conversion function in the ANTLR based DSL language did not accept epoch time as a valid input. This issue is now fixed.
-
Continuous Verification for Google Cloud Operations logged error for the
resourceName
field. This issue is fixed by changing the identifier in the request body fromprojectId
toresourceName
for data collection tasks as mentioned in the Google API documentation. This item requires Harness Delegate version 24.03.82502. For information about features that require a specific delegate version, go to the Delegate release notes. (CDS-89441) -
The CDK Deploy step was not handling the null output map when the provided image was not created from the Harness aws-cdk-plugin base image: https://hub.docker.com/r/harness/aws-cdk-plugin/tags. This issue has been resolved, the null output map is handled. (CDS-89569)
-
Fixed an issue where users couldn't switch versions for account-level templates. (CDS-89602, ZD-57282, ZD-57296, ZD-57320)
-
In a few places in the UI, expressions when entered, were not rendered in a consistent color. This has now been fixed to be consistent. (CDS-89391)
-
Issue while selecting VPC if the name is empty. VPC name is optional in the AWS console but the id is always there, but if the name is empty it is not getting selected. The issue is fixed now and instead of
vpc.name
it will get displayed asvpc.id:vpc.name
. (CDS-89297) -
Logs were not appearing for a rejected Approval step in the console view. (CDS-89267)
The issue is fixed now.
-
Helm manifest runtime inputs for chart versions appear as runtime input in the pipeline execution page, even if the chart version was already provided as a fixed value. (CDS-89158)
This issue is fixed.
-
Selecting the secondary splunk query page would auto submit rather than letting you modify the second query. You will now be able to modify the second query without submitting automatically. (CDS-89153)
-
Fixed an issue with the Edit File Store flow UI. (CDS-89094)
-
Parent pipeline has a chained pipeline stage and both the parent and child pipelines are in different organizations. While running the parent pipeline, the user group selection for the child approver user group displays parent pipeline organizations. The issue has now been fixed, and users should be able to select the correct user group(s) of the child pipeline that belong to a different or the same organization. (CDS-89001, ZD-55502)
-
The email step body used to render the field's HTML content. Now it will render raw HTML. (CDS-88842, ZD-56452)
-
The
orgIdentifier
andprojectIdentifier
fields were absent in the service YAML if the service was created inside a pipeline or template. (CDS-88749)This issue is fixed. Now, org and project identifiers will be added to service when it is created within a pipeline or template.
-
When service was selected from Projects > Service > Select Service it used to open the configuration tab and when service was selected from Deployments > Services > Select Service it used to open the summary tab. The issue for this different behavior is now fixed and now via both ways, users will be taken to the service's summary tab. (CDS-88692, ZD-56528)
-
The Harness Approval step allowed the Variable Name field in the Approval Inputs page be blank. (CDS-88673)
This issue is fixed by enforcing proper validation for the Variable Name field.
-
Unable to select the TLS certificate and key in an HTTPS step. (CDS-88543, ZD-55531)
For TLS connections, you can now select the secrets related to a valid TLS certificate and key in the HTTP step. This feature is currently behind the feature flag,
CDS_HTTP_STEP_NG_CERTIFICATE
. To enable the feature, contact Harness Support. -
Earlier, the input sets that have nested components (such as templates) hosted on GitHub were taking a long time to fetch. Now this time has been significantly reduced. (CDS-88426, ZD-56180)
-
Jenkins
jobParameter
was getting added to the pipeline even if it was not a runtime input in the template. The issue is fixed now andjobParameter
will not be added automatically. (CDS-88380, ZD-55212) -
Initially, the Jenkins build step didn't support logs for more than 5 hours. Therefore for builds taking longer than 5 hours, console logs were not streamed and consequently not saved. Now, the support for the console logs has been extended to 1d for the Jenkins build step. However, the log length limit is 5k, meaning only the last 5k logs will be streamed and saved. (CDS-88262)
-
Wrong target groups were getting attached when multiple load balancers were used with the same load balancer name. The issue is fixed now. (CDS-88229, ZD-55701)
-
The Pipeline Details tab did not show the Harness Approval Execution step if the Include Stage Execution Details field is unchecked in the Harness Approval step. (CDS-88133)
The issue is fixed now.
-
When the service is marked as runtime in a child pipeline and then configured from the chained pipeline inputs tab, the service input fields are left as runtime. The Trigger Input panel and Input-set form do not properly prompt for service input. This issue has been resolved. (CDS-87983, ZD-55917)
-
In Artifact Triggers, the modifications to the secret in the connector were not recognized. With this update, changes to the secret in the connector will now be detected, so that users don't have to manually disable and re-enable the trigger. (CDS-86775, ZD-55126)
-
The Continue button in the Services section for remote services was enabled even when the selected service was not available. (CDS-85658)
This issue is fixed by adding form validation to the service field when:
- Service does not exist in the selected branch for remote services.
- Service does not exist.
-
The Pipeline Studio view was disabled when switching from Pipeline Studio to YAML view after partially filling a stage or step until the errors in the pipeline were fixed. (CDS-85556)
This issue is fixed by allowing users to return to the Pipeline Studio view if the pipeline is unmodified in the YAML view. Users can also discard the changes made in the YAML view to force switch the Pipeline Studio view.
-
Issue with missing expressions and inconsistent suggestion placement during code scripting. The issue is fixed now in code editors like Shell Script to render a tooltip to view the complete suggestion value. (CDS-85027)
-
Improved the error messaging for the AWS SAM step when an incorrect expression or reference led to no image being found. (CDS-84058)
Continuous Integration
- Added null handling for empty runtime input for the Post-Command in a Run Tests step. Previously, if you configured Post-Command as runtime input and left the field blank at runtime, it would fail the pipeline by supplying
null
as the Post-Command, rather than an empty field. (CI-11365, ZD-58254) - When creating step group templates, you can now configure the Run as User setting for steps that allow this setting. Previously, this setting wasn't shown when creating step group templates. (CI-11332, ZD-58044)
- Fixed an issue where the YAML for build stage input sets could have an invalid default value for codebase advanced settings. (CI-11291)
- Addressed a security vulnerability in some CI APIs. (CI-11244, ZD-57445)
- Fixed an issue where pipelines could fail when triggered by BitBucket PRs with more than 25 commits. This error was due to an infinite loop situation that could occur when there was pagination in the BitBucket List PR Commits API payload. This change requires Harness Delegate version 24.02.82302 or later. For information about features that require a specific delegate version, go to the Delegate release notes. (CI-11220, ZD-57421)
- Applied optimizations to address caching errors. (CI-11173, ZD-57173)
- Harness now automatically truncates long pipeline and stage names in PR build status messages, because status updates fail to post if the message exceeds the SCM provider's character limit for such messages. If a pipeline or stage name is truncated, the truncated portion is replaced by ellipses (
...
). (CI-11132, ZD-56864) - Pipelines that include test splitting on multiple sequential, parallel, or looped steps now fetch historical test data from the most-recent finished build. Previously, such pipelines would sometimes try to fetch "historical" test data from an earlier test step in the current build, rather than fetching this data from a previous completed build. (CI-11108, ZD-56810)
- Removed excessive, unnecessary health check messages in logs. (CI-11102)
- Modified CSS to address flickering UI elements. (CI-11038, ZD-56510)
- Added validations to address a runtime error that could occur in the Build and Push to ACR step. (CI-10793, ZD-55412)
- When viewing builds, the running status is now correctly updated for Background steps that are inside step groups. (CI-10239)
Harness Platform
-
Attempts to use the
harness_platform_user
resource to create or delete users resulted in an error. The message "Request failed as you have an older version of an entity, please reload the page and try again" was displayed and the Terraform state went out of sync with Harness. This issue has been fixed. This item requires Harness Delegate version 24.03.82502. For information about Harness Delegate features that require a specific delegate version, go to the Delegate release notes. (PL-39870, ZD-47107) -
Pipelines were failing due to errors related to the inability to acquire delegate tasks. The logic for calculating CPU and Memory usage has been improved, specifically for scenarios utilizing the dynamic task request handling feature in delegates, enhancing the reliability of task allocation and pipeline execution. This item requires Harness Delegate version 24.02.82402. For information about Harness Delegate features that require a specific delegate version, go to the Delegate release notes. (PL-42600, ZD-54025, ZD-54324)
-
API keys created using the harness_platform_apikey Terraform provider were expiring even when no expiration date was set. You can now view the API key expiration date at the top of the API Key table on the user profile page. Additionally, for API key's tokens where the expiration was intended to be set as No Expiration, you can see the default expiration date, clarifying the token's validity period. (PL-43308)
-
Git connectors worked intermittently and failed with a
Please provide valid git repository url Provided repo url is invalid. Invalid request: Couldn't connect to given repo
error message. This issue has been resolved. Now, if there are multiple connectors whose secrets are stored in a secret manager connector, when you update the connector's secret, Harness updates the PPTs of all the linked connectors, along with the secret manager connector. This item is available with Harness Platform version 1.24.7 and does not require a new delegate version. For information about Harness Delegate features that require a specific delegate version, go to the Delegate release notes.(PL-43598, ZD-55236) -
The
helm-init-container
images lacked a versioned tag and the pull policy forwaitForInitContainers
was not configurable. This led to the usage of unstable images in some places, which were not updated to the stable image because of the cached image with the same tag and image digest. This has been resolved by adding configuration options for image, resources, and security, which can be controlled at global and service levels in the overrides and the versioned image ofhelm-init-container
is now being used. The image pull policy is also set toAlways
as the default. (PL-46444) -
When linking an SSO group with over 1,000 users, only 1,000 users were syncing in Harness due to a limitation with LDAP groups syncing. Implemented LDAP to perform paginated queries by default for large groups, with a fallback to non-paginated calls, ensuring complete user synchronization. This item requires Harness Delegate version 24.02.82402. For information about Harness Delegate features that require a specific delegate version, go to the Delegate release notes. (PL-46492, ZD-56741)
-
The retry interval for attempting to create or read secrets from HashiCorp Vault was fixed at 1 second after each failure. The retry interval has now been modified to increase by a factor of 2 times the number of failures. Consequently, after the first failure, the second attempt will occur after a 2-second delay, and the third attempt will be made after a 4-second delay, enhancing the robustness of secret management operations. This item requires Harness Delegate version 24.02.82402. For information about Harness Delegate features that require a specific delegate version, go to the Delegate release notes. (PL-46595, ZD-57053)
-
The authentication mechanism of a secret manager couldn't be changed from a non-password-based to a password-based mechanism due to a bug in the secret manager update API. This issue has been fixed, enabling the modification of the authentication mechanism for secret managers to a password-based mechanism. (PL-46657)
-
Delegates were restarting in the middle of execution, disrupting ongoing tasks. Implemented a fix to wait for the task response to complete before marking it as expired or failed during the delegate's unregistering process, preventing premature restarts. This item is available with Harness Platform version 1.25.5 and does not require a new delegate version. For information about Harness Delegate features that require a specific delegate version, go to the Delegate release notes. (PL-46793)
-
Enhanced the
override-delegate-tag
API documentation to include details onvalidForDays
andvalidTillNextRelease
parameters. Additionally, the default value forvalidForDays
has been updated to 180 days, extending from the previous 30 days. For more information, go to Override delegate image tag in the API documentation. This item is available with Harness Platform version 1.25.5 and does not require a new delegate version. For information about Harness Delegate features that require a specific delegate version, go to the Delegate release notes. (PL-46879) -
Errors occurred when creating a connector with an identifier (Account, Organization, or Project Identifier) that did not exist, displaying a generic "something went wrong, please contact Harness Support" message. The code has been updated to provide accurate error messages and the current status code when the provided identifiers are incorrect or absent, enhancing clarity and user guidance. (PL-46909, ZD-57678)
-
The delegate metrics endpoint
/api/metrics
had its content type set asapplication/json
, causing scraping issues with certain versions of Prometheus due to content type incompatibility. Attempts to switch to text/plain resulted in a 406 response code. We have revised the endpoint to deliver metrics inplainText
. You can now specify the desired content formatplainText
orJSON
by setting the "Accept" header in your request, ensuring broader compatibility with different Prometheus versions. This item requires Harness Delegate version 24.03.82600. For information about Harness Delegate features that require a specific delegate version, go to the Delegate release notes. (PL-46976, ZD-57489) -
Creating or updating a project with an org identifier absent in the account used to throw error code: 500. Now, the UI displays the following improved error message if the provided org identifier is absent:
Organization with identifier "OrgId" does not exist in accountIdentifier: "accountId"
. (PL-47059, ZD-58093) -
After adding users to an Azure AD group, which then propagated to Harness, not all users were reflected in the "All Account Users" and "Harness Prod Users" user groups. The "Harness Prod Users" group, tied to SCIM, did not automatically include all newly created users in Harness, affecting the Harness STO module go-live. We have fixed this issue with concurrent updates to user groups during user synchronization through SCIM, ensuring complete sync of all users in user groups from Azure AD to Harness. (PL-47669, ZD-55559, ZD-57091, ZD-58412, ZD-58486)
Security Testing Orchestration
-
Fixed an issue where the default scan mode was set to Ingestion for some STO scan steps that also supported Orchestration mode. With this fix, Orchestration is the default when this mode is available. (STO-7060)
-
Added RBAC support to input fields in STO steps. (STO-6887)
-
STO output variables are now supported within nested step groups. (STO-6973, ZD-56586, ZD-58121)
Behavior Changes
Continuous Delivery
- In the blue/green stage scale down step, we used to scale down deployments, statefulsets, daemonsets, deploymentConfig and delete HPA, and PDB resources. During scale down, we updated the field
replicas
to 0. In Kubernetes, if HPA is configured it is not mandatory to define replicas. So when another deployment happens and we apply the same old deployments manifest it does not update the replicas field and it remains set to 0. This results in no deployment even though the pipeline is successful. This issue has not been resolved. Instead, we scale down only DaemonSets and delete deployment, deploymentConfig, HPA, PDB, and statefulset resources. (CDS-88999, ZD-56645)
March 26, 2024, patch version 0.14.6
If you are currently on version 0.14.3, 0.14.4, or 0.14.5, you must upgrade to the latest stable release, 0.14.6. This version fixes an issue that caused the Pipeline Studio page to crash when adding a CI build stage.
Harness removed versions 0.14.3, 0.14.4, and 0.14.5.
This release includes the following Harness module and component versions.
Name | Version |
---|---|
Helm Chart | 0.14.6 |
Air Gap Bundle | 0.14.6 |
NG Manager | 1.24.7 |
CI Manager | 1.12.5 |
Pipeline Service | 1.61.5 |
Platform Service | 1.12.0 |
Access Control Service | 1.33.2 |
Delegate | 24.02.82203 |
Change Data Capture | 1.5.3 |
STO Core | 1.83.8 |
Test Intelligence Service | 1.8.1 |
NG UI | 1.7.6 |
LE NG | 1.1.0 |
Alternative air gap bundle download method
Some admins might not have Google account access to download air gap bundles. As an alternative, you can use gsutil
. For gsutil
installation instructions, go to Install gsutil in the Google Cloud documentation.
gsutil -m cp \
"gs://smp-airgap-bundles/harness-0.14.6/ccm_images.tgz" \
"gs://smp-airgap-bundles/harness-0.14.6/cdng_images.tgz" \
"gs://smp-airgap-bundles/harness-0.14.6/ce_images.tgz" \
"gs://smp-airgap-bundles/harness-0.14.6/cet_images.tgz" \
"gs://smp-airgap-bundles/harness-0.14.6/ci_images.tgz" \
"gs://smp-airgap-bundles/harness-0.14.6/ff_images.tgz" \
"gs://smp-airgap-bundles/harness-0.14.6/platform_images.tgz" \
"gs://smp-airgap-bundles/harness-0.14.6/sto_images.tgz" \
.
Fixed issues
-
Fixed an issue with DB migrations that impacted upgrading from versions 0.13.x to 0.14.x. (STO-7309)
-
Fixed an issue that caused the Pipeline Studio page to crash when adding a CI build stage. (CI-11842, ZD-60094)
March 21, 2024, patch version 0.14.5
This release includes the following Harness module and component versions.
Name | Version |
---|---|
Helm Chart | 0.14.5 |
Air Gap Bundle | 0.14.5 |
NG Manager | 1.24.7 |
CI Manager | 1.12.5 |
Pipeline Service | 1.61.5 |
Platform Service | 1.12.0 |
Access Control Service | 1.33.2 |
Delegate | 24.02.82203 |
Change Data Capture | 1.5.3 |
Test Intelligence Service | 1.8.1 |
NG UI | 1.7.5 |
LE NG | 1.1.0 |
Alternative air gap bundle download method
Some admins might not have Google account access to download air gap bundles. As an alternative, you can use gsutil
. For gsutil
installation instructions, go to Install gsutil in the Google Cloud documentation.
gsutil -m cp \
"gs://smp-airgap-bundles/harness-0.14.5/ccm_images.tgz" \
"gs://smp-airgap-bundles/harness-0.14.5/cdng_images.tgz" \
"gs://smp-airgap-bundles/harness-0.14.5/ce_images.tgz" \
"gs://smp-airgap-bundles/harness-0.14.5/cet_images.tgz" \
"gs://smp-airgap-bundles/harness-0.14.5/ci_images.tgz" \
"gs://smp-airgap-bundles/harness-0.14.5/ff_images.tgz" \
"gs://smp-airgap-bundles/harness-0.14.5/platform_images.tgz" \
"gs://smp-airgap-bundles/harness-0.14.5/sto_images.tgz" \
.
New features and enhancements
- The Environments page and the Infrastructure Definition section of the Environments page didn't list more than 100 infrastructure definitions. This issue is resolved by adding pagination and search support. You can now view 500 items in the infrastructure selection drop-down in the Run Pipeline page. (CDS-94037)
Fixed issues
- The background job responsible for reconciling missing ACL data was adding load to the harness-rbac MongoDB, causing CPU spikes. We have disabled the background job temporarily till we optimize it, eliminating the additional load and CPU spikes with no functional impact. (PL-48373)
March 20, 2024, patch version 0.14.4
This release includes the following Harness module and component versions.
Name | Version |
---|---|
Helm Chart | 0.14.4 |
Air Gap Bundle | 0.14.4 |
NG Manager | 1.24.7 |
CI Manager | 1.12.5 |
Pipeline Service | 1.61.5 |
Platform Service | 1.12.0 |
Access Control Service | 1.33.1 |
Delegate | 24.02.82203 |
Change Data Capture | 1.5.3 |
Test Intelligence Service | 1.8.1 |
NG UI | 1.7.4 |
LE NG | 1.1.0 |
Alternative air gap bundle download method
Some admins might not have Google account access to download air gap bundles. As an alternative, you can use gsutil
. For gsutil
installation instructions, go to Install gsutil in the Google Cloud documentation.
gsutil -m cp \
"gs://smp-airgap-bundles/harness-0.14.4/ccm_images.tgz" \
"gs://smp-airgap-bundles/harness-0.14.4/cdng_images.tgz" \
"gs://smp-airgap-bundles/harness-0.14.4/ce_images.tgz" \
"gs://smp-airgap-bundles/harness-0.14.4/cet_images.tgz" \
"gs://smp-airgap-bundles/harness-0.14.4/ci_images.tgz" \
"gs://smp-airgap-bundles/harness-0.14.4/ff_images.tgz" \
"gs://smp-airgap-bundles/harness-0.14.4/platform_images.tgz" \
"gs://smp-airgap-bundles/harness-0.14.4/sto_images.tgz" \
.
Fixed issue
- Fixed UI logging issues for release version 0.14.3. (PL-48394)
March 6, 2024, version 0.14.3
This release includes the following Harness module and component versions.
Name | Version |
---|---|
Helm Chart | 0.14.3 |
Air Gap Bundle | 0.14.3 |
NG Manager | 1.24.7 |
CI Manager | 1.12.5 |
Pipeline Service | 1.61.5 |
Platform Service | 1.12.0 |
Access Control Service | 1.33.1 |
Delegate | 24.02.82203 |
Change Data Capture | 1.5.3 |
Test Intelligence Service | 1.8.1 |
NG UI | 1.7.4 |
LE NG | 1.1.0 |
Alternative air gap bundle download method
Some admins might not have Google account access to download air gap bundles. As an alternative, you can use gsutil
. For gsutil
installation instructions, go to Install gsutil in the Google Cloud documentation.
gsutil -m cp \
"gs://smp-airgap-bundles/harness-0.14.3/ccm_images.tgz" \
"gs://smp-airgap-bundles/harness-0.14.3/cdng_images.tgz" \
"gs://smp-airgap-bundles/harness-0.14.3/ce_images.tgz" \
"gs://smp-airgap-bundles/harness-0.14.3/cet_images.tgz" \
"gs://smp-airgap-bundles/harness-0.14.3/ci_images.tgz" \
"gs://smp-airgap-bundles/harness-0.14.3/ff_images.tgz" \
"gs://smp-airgap-bundles/harness-0.14.3/platform_images.tgz" \
"gs://smp-airgap-bundles/harness-0.14.3/sto_images.tgz" \
.
New features and enhancements
Continuous Delivery
-
You can now see AccountID in Switch Account screen (CDS-88728)
Enhanced the Switch Account experience to show more data i.e
AccountId
. -
Support to fetch primary manifest identifier when there's one helm manifest (CDS-88469)
The expression
<+manifestConfig.primaryManifestId>
was used to resolve for the case of multiple helm charts configured in service. The similar expression can be used to leverage single helm chart configured in service to use helm expression. See our docs for more info. -
Grouping and Collapsible are now supported for Overrides (CDS-82376)
Overrides in configurations are now grouped and collapsible, making them easier to search through.
-
Stage Selection component is moved to Pipeline Input tab from Configuration Tab (CDS-72890)
When setting up Triggers, you'll find the Stage Selection in the Pipeline Input tab for a smoother configuration experience.
-
Option to select secrets in script output variables has been removed. (CDS-86690)
Script output variables for the 'secrets' type no longer require explicit selection; instead, fixed variables need to be input to designate them as secret values for subsequent steps/stages.
Continuous Integration
- The codebase expressions
<+codebase.sourceBranch>
and<+codebase.targetBranch>
are now alwaysnull
for branch and tag builds. These expressions are primarily for differentiating the target and source branches for PR builds. For branch and tag builds, use<+codebase.branch>
and<+codebase.tag>
. (CI-10743, ZD-55284)
Harness Platform
-
You can now toggle between the legacy UI navigation and the new navigation by enabling the feature flag
CDS_NAV_PREFS
for your account. (PL-43772) -
Configure an absolute session timeout for your account (PL-43587)
A new Absolute Session Timeout (in minutes) setting is available on the Authentication page. When the Absolute Session Timeout (in minutes) is set, users will be logged out of their account after the configured timeout, regardless of any activity.
The default absolute session timeout is 0, which means that it is not set. You can set this to a maximum of 4320 minutes (3 days). The field automatically converts the minutes you enter to higher units of time, and displays the result under the field. For example, if you enter 1440, the UI shows 1 day below the field.
noteWhen both the session inactivity timeout and the absolute session timeout are set, the condition that is met first will be honored.
-
Removed the unused
org.redisson:redisson
library dependency from the delegate. (PL-42485, ZD-53588, ZD-53760) -
Deletion of SCIM-managed user groups was not allowed. (PL-39439, ZD-53340)
You can now delete SCIM-managed user groups via the delete API for user groups.
infoHarness does not currently support the ability to delete SCIM-managed user groups in the UI.
-
Account level Absolute Session Timeout support has been added. User will be logged out after absolute session expiry reaches irrespective of any activity. Default value for Absolute Session Timeout is 0, which means it is unset. For more information refer documentation (PL-43630)
-
You can now customize Audit View permissions within a role. By default, Audit View permission is enabled for managed roles such as Account Viewer, Account Admin, Org Viewer, and Org Admin. (PL-42139)
To disable Audit View for specific users, administrators can now:
- Create a role with Audit View permission disabled while enabling all other view permissions.
- Update the role binding for the "All Organisation Users" or "All Account Users" user group to this new role, effectively denying Audit View Permission for all users in the group.
- To grant Audit View access to specific users, assign the default "Organization Viewer" or "Account Viewer" role, as applicable, to the individual user or user group.
This enhancement provides greater flexibility and control over user permissions, streamlining the management of audit view access within the system.
Fixed issues
Continuous Delivery
-
UI displays an error for deployments that are awaiting manual approval. (CDS-88625, ZD-56498, ZD-56500)
The issue is fixed now to handle null check for approval message.
-
Unauthorized errors while using GCP and a GCP access token in between steady state checks, intermittently (CDS-88446, ZD-56104)
It occurred when the access token expiration overlapped with steady state check (watch) API calls. The issue is fixed now.
-
Even though only delegates can perform 10 connection tests in parallel, the UI did not restrict further attempts and threw an error at a later stage.(CDS-88377, ZD-56296)
The issue is fixed now by adding restriction on UI to match backend limitation for the Delegate.
-
Making edits to more than one variable simultaneously only applied the changes to the last variable in the list. (CDS-88198, ZD-56156)
The issue is fixed now.
-
Trigger with empty pipelineIdentifier is being saved in DB (CDS-88191)
The issue is fixed now by adding a validation, ensuring that the pipeline identifier cannot be empty in the trigger YAML during trigger creation or updates.
-
Unable to select a new pipeline or template version. (CDS-87809, ZD-55910)
The issue is fixed now.
-
Branch selector dropdown not populating in Harness code repo: issue arises when entity is absent, resulting in 'no entity found' page. (CDS-87788)
The issue is fixed now.
-
During K8s Async Steps, an 'Invalid task type' exception was thrown when the task parameter was not provided, resulting in a test failure. (CDS-87708)
The issue is fixed now.
-
Hyperlinks in the Harness approval message are not clickable. (CDS-87675, ZD-55826)
The issue is fixed by adding logic to render clickable links within the text. If any URLs or hyperlinks are present in the approval message they are converted to clickable links.
-
Github release trigger were not working as expected because UI didn't show the Conditions (CDS-87647, ZD-55832)
The issue is fixed now.
-
Http step with MTLS not working due to exception caused during delegate capability check for the step (CDS-87547, ZD-55531)
The issue is fixed now.
-
Unable to use '#' and '&' in branch names. (CDS-87468, ZD-55625)
The issue is fixed now.
-
There were issues while pulling tags of images in Github Container Registry when they have
/
inside the artifact name. (CDS-87457)The issue is fixed now by replacing
/
in the package name to%2F
. Without this change, the REST API was failing to list the tags. -
Pipeline was failing with delegate error to fetch JSON format. (CDS-87440, ZD-55387)
The JSON format was fetched using curl in the delegate but the same was not working in the UI.
The issue is fixed now.
-
Harness bidirectional sync webhook feature not working. (CDS-85694, ZD-54338)
These events are unrelated to bidirectional GitExperience processing and will now be disregarded instead of being flagged as failures.
-
Plugin steps weren't following delegate selectors, leading to intermittent pipeline failures.(CDS-85489)
The issue is fixed now.
-
WimRM connector was changed to SSH connector when the template was added to the pipeline. (CDS-85388)
The issue is fixed now.
-
Template inputs were not showing up in Pipeline editor. (CDS-84490)
It was due to an intermittent issue, this has been resolved now.
-
Users having viewer permissions were able to edit the pipeline.(CDS-85221)
The issue is fixed now.
-
FF validation used to work for name and ID fields but not any other field. (CDS-87581)
The issue is fixed, FF validation will work when importing resources from Git.
-
When only one manifest is created in OCT Helm, runtime inputs were not being displayed. (CDS-87941)
The issue is fixed by updating the condition in code to select default behavior if only 1 manifest is available.
-
In the process of creating an input set or overlay input set from YAML view, the isHarnessCodeRepo query parameter was not being sent.(CDS-87956)
The issue is fixed.Whenever an input set or overlay input set is saved from YAML view, the provider value is sent to the handleSubmit function, which takes care of sending the query parameter to create APIs.
-
In OCI Helm Connector with ECR type, during the new inline creation of a new connector, it opened the 'http' connector step.(CDS-88350)
The issue is fixed now and it correctly opens the appropriate
AWS Connector
. -
Pipeline template using a stage template was not honoring
gitBranch
field for service selection. (CDS-88378)The issue is fixed now.
-
The ExecutionList page overflowed the page when not needed. (CDS-88388)
The issue is fixed now.
-
Icon for trigger was missing in new nav. (CDS-88529)
This issue occurred due to browser rendering, and a similar issue was discussed and addressed as part of CDS-88645.
-
When attempting to save Stage Templates of Azure Webapp Deployment Type, the screen repeatedly asked to save. (CDS-88930)
The issue is fixed now.
-
Pipeline invocation failed when searching for the YAML in the wrong branch. (CDS-91080)
The issue is fixed now.
Continuous Integration
-
Added a missing field validation for Repository Name when using Harness Code Repository as the pipeline's default codebase. (CI-11042)
-
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)
-
Added indexing to handle a
IncorrectResultSizeDataAccessException
error that rarely occurred in builds with matrix looping strategies if some non-unique values were assigned. (CI-10884, ZD-55815) -
Fixed a
NullPointerException
error that occurred if you provided noargs
when configuring Test Intelligence for Ruby. (CI-10847, ZD-55658) -
Fixed an issue where pod creation failed in Kubernetes cluster build infrastructures if the pod volume mount key exceeded 63 characters. This change requires Harness Delegate version 24.01.82108 or later. For information about features that require a specific delegate version, go to the Delegate release notes. (CI-10789, ZD-55265)
-
Corrected the capitalization of
GitHub
in the GitHub Action plugin step in the step library. (CI-7325)
Harness Platform
-
Fixed a license validation issue that caused ng-manager errors. (PL-46455)
-
Tooltips in the left navigation were incorrectly displayed behind the stage execution details panel. Now, tooltips are visible on the Execution page. (PL-43993)
-
K8S_WATCH
perpetual tasks remainedTASK_ASSIGNED
despite being assigned to non-existent delegates. (PL-43973)This issue was fixed by implementing a CronJob to reset perpetual tasks associated with invalid delegates, ensuring proper handling of Kubernetes events.
This item is available with Harness Platform version 1.22.3 and does not require a new delegate version. For information about Harness Delegate features that require a specific delegate version, go to the Delegate release notes.
-
Fixed the ACL list roles API to correctly display
HarnessManaged
,CreatedAt
, andLastModifiedAt
date fields, ensuring accurate role management data in responses. (PL-43952) -
Multi-select dropdowns would reset to the top after each selection. This issue is fixed for all multi-select dropdowns unless explicitly specified by the user. (PL-43925)
-
When editing user group data, member data was not added as expected. Now, the user group data related to the user group members is not lost when the user group is updated. (PL-43855, ZD-55944)
-
Running
terraform apply
for an existing SSO-linked user group resulted in an empty user list. (PL-43763, ZD-55505)This issue has been resolved. Now, when the user group payload is SSO-linked, the existing users are maintained as is, and the users list in the payload is ignored.
- In cases where the existing user group is SSO-linked and needs to be overridden and delinked in the update payload, the existing users will be replaced with the users list provided in the payload.
-
Fixed an issue where searching for user groups containing special characters resulted in a 500 error due to invalid regex patterns in the search term. Now, the
usergroup
list API validates regex patterns and provides a clear error message for invalid search terms. (PL-43761) -
The Azure endpoints were not being set based on the Azure environment selected. This led to Azure connectors working correctly only for Azure public cloud and not for other variants of Azure cloud (like Azure Gov, Azure China, and so on). Now, the correct Azure resource manager endpoint will be chosen based on the environment selected in the connector. (PL-43333, ZD-54717)
-
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.
This item requires Harness Delegate version 24.01.82108. For information about features that require a specific delegate version, go to the Delegate release notes.
-
The
platform-service
was not publishing the response count metric. (PL-43123)This has been resolved, and the
platform-service
will now consistently publish the response count metrics.
February 13, 2024, patch version 0.13.4
This release includes the following Harness module and component versions.
Name | Version |
---|---|
Helm Chart | 0.13.4 |
Air Gap Bundle | 0.13.4 |
NG Manager | 1.19.12 |
CI Manager | 1.6.11 |
Pipeline Service | 1.56.7 |
Platform Service | 1.8.2 |
Access Control Service | 1.29.2 |
Delegate | 24.01.82004 |
Change Data Capture | 1.1.2 |
Test Intelligence Service | release-223 |
NG UI | 0.372.18 |
LE NG | 67903 |
Alternative air gap bundle download method
Some admins might not have Google account access to download air gap bundles. As an alternative, you can use gsutil
. For gsutil
installation instructions, go to Install gsutil in the Google Cloud documentation.
gsutil -m cp \
"gs://smp-airgap-bundles/harness-0.13.4/ccm_images.tgz" \
"gs://smp-airgap-bundles/harness-0.13.4/cdng_images.tgz" \
"gs://smp-airgap-bundles/harness-0.13.4/ce_images.tgz" \
"gs://smp-airgap-bundles/harness-0.13.4/cet_images.tgz" \
"gs://smp-airgap-bundles/harness-0.13.4/ci_images.tgz" \
"gs://smp-airgap-bundles/harness-0.13.4/ff_images.tgz" \
"gs://smp-airgap-bundles/harness-0.13.4/platform_images.tgz" \
"gs://smp-airgap-bundles/harness-0.13.4/sto_images.tgz" \
.
Fixed issues
- Fixed a license validation issue that caused ng-manager errors. (PL-46455)
February 8, 2024, patch version 0.13.3
This release includes the following Harness module and component versions.
Name | Version |
---|---|
Helm Chart | 0.13.3 |
Air Gap Bundle | 0.13.3 |
NG Manager | 1.19.11 |
CI Manager | 1.6.11 |
Pipeline Service | 1.56.7 |
Platform Service | 1.8.2 |
Access Control Service | 1.29.2 |
Delegate | 24.01.82004 |
Change Data Capture | 1.1.2 |
Test Intelligence Service | release-223 |
NG UI | 0.372.18 |
LE NG | 67903 |
Alternative air gap bundle download method
Some admins might not have Google account access to download air gap bundles. As an alternative, you can use gsutil
. For gsutil
installation instructions, go to Install gsutil in the Google Cloud documentation.
gsutil -m cp \
"gs://smp-airgap-bundles/harness-0.13.3/ccm_images.tgz" \
"gs://smp-airgap-bundles/harness-0.13.3/cdng_images.tgz" \
"gs://smp-airgap-bundles/harness-0.13.3/ce_images.tgz" \
"gs://smp-airgap-bundles/harness-0.13.3/cet_images.tgz" \
"gs://smp-airgap-bundles/harness-0.13.3/ci_images.tgz" \
"gs://smp-airgap-bundles/harness-0.13.3/ff_images.tgz" \
"gs://smp-airgap-bundles/harness-0.13.3/platform_images.tgz" \
"gs://smp-airgap-bundles/harness-0.13.3/sto_images.tgz" \
.
Fixed issues
- Fixed UI logging issues for release versions 0.12.0, 0.13.0, 0.13.1, and 0.13.2. (PL-46771, ZD-57141)
February 8, 2024, patch version 0.12.1
This release includes the following Harness module and component versions.
Name | Version |
---|---|
Helm Chart | 0.12.1 |
Air Gap Bundle | 0.12.1 |
NG Manager | 81720 |
CI Manager | 6904 |
Pipeline Service | 1.51.3 |
Platform Service | 1.4.4 |
Access Control Service | 1.25.3 |
Delegate | 23.12.81604 |
Change Data Capture | 81510 |
Test Intelligence Service | release-223 |
NG UI | 0.372.15 |
LE NG | 68402 |
Alternative air gap bundle download method
Some admins might not have Google account access to download air gap bundles. As an alternative, you can use gsutil
. For gsutil
installation instructions, go to Install gsutil in the Google Cloud documentation.
gsutil -m cp \
"gs://smp-airgap-bundles/harness-0.12.1/ccm_images.tgz" \
"gs://smp-airgap-bundles/harness-0.12.1/cdng_images.tgz" \
"gs://smp-airgap-bundles/harness-0.12.1/ce_images.tgz" \
"gs://smp-airgap-bundles/harness-0.12.1/cet_images.tgz" \
"gs://smp-airgap-bundles/harness-0.12.1/ci_images.tgz" \
"gs://smp-airgap-bundles/harness-0.12.1/ff_images.tgz" \
"gs://smp-airgap-bundles/harness-0.12.1/platform_images.tgz" \
"gs://smp-airgap-bundles/harness-0.12.1/sto_images.tgz" \
.
Fixed issues
- Fixed UI logging issues for release version 0.12.0. (PL-46771, ZD-57141)
February 2, 2024, patch version 0.13.2
This release includes the following Harness module and component versions.
Name | Version |
---|---|
Helm Chart | 0.13.2 |
Air Gap Bundle | 0.13.2 |
NG Manager | 1.19.11 |
CI Manager | 1.6.11 |
Pipeline Service | 1.56.7 |
Platform Service | 1.8.2 |
Access Control Service | 1.29.2 |
Delegate | 24.01.82004 |
Change Data Capture | 1.1.2 |
Test Intelligence Service | release-223 |
NG UI | 0.372.18 |
LE NG | 67903 |
Alternative air gap bundle download method
Some admins might not have Google account access to download air gap bundles. As an alternative, you can use gsutil
. For gsutil
installation instructions, go to Install gsutil in the Google Cloud documentation.
gsutil -m cp \
"gs://smp-airgap-bundles/harness-0.13.2/ccm_images.tgz" \
"gs://smp-airgap-bundles/harness-0.13.2/cdng_images.tgz" \
"gs://smp-airgap-bundles/harness-0.13.2/ce_images.tgz" \
"gs://smp-airgap-bundles/harness-0.13.2/cet_images.tgz" \
"gs://smp-airgap-bundles/harness-0.13.2/ci_images.tgz" \
"gs://smp-airgap-bundles/harness-0.13.2/ff_images.tgz" \
"gs://smp-airgap-bundles/harness-0.13.2/platform_images.tgz" \
"gs://smp-airgap-bundles/harness-0.13.2/sto_images.tgz" \
.
Fixed issues
-
The
/ccm/bi-dashboards
API didn't return dashboards. (CCM-15995)This issue was resolved by redirecting the Dashboards module to view BI Dashboards. The BI Dashboards are a subset of all module dashboards available under Custom Dashboards, providing a shortcut to access them.
February 2, 2024, patch version 0.13.1
This release includes the following Harness module and component versions.
Name | Version |
---|---|
Helm Chart | 0.13.1 |
Air Gap Bundle | 0.13.1 |
NG Manager | 1.19.11 |
CI Manager | 1.6.11 |
Pipeline Service | 1.56.7 |
Platform Service | 1.8.2 |
Access Control Service | 1.29.2 |
Delegate | 24.01.82004 |
Change Data Capture | 1.1.2 |
Test Intelligence Service | release-223 |
NG UI | 0.372.18 |
LE NG | 67903 |
Alternative air gap bundle download method
Some admins might not have Google account access to download air gap bundles. As an alternative, you can use gsutil
. For gsutil
installation instructions, go to Install gsutil in the Google Cloud documentation.
gsutil -m cp \
"gs://smp-airgap-bundles/harness-0.13.1/ccm_images.tgz" \
"gs://smp-airgap-bundles/harness-0.13.1/cdng_images.tgz" \
"gs://smp-airgap-bundles/harness-0.13.1/ce_images.tgz" \
"gs://smp-airgap-bundles/harness-0.13.1/cet_images.tgz" \
"gs://smp-airgap-bundles/harness-0.13.1/ci_images.tgz" \
"gs://smp-airgap-bundles/harness-0.13.1/ff_images.tgz" \
"gs://smp-airgap-bundles/harness-0.13.1/platform_images.tgz" \
"gs://smp-airgap-bundles/harness-0.13.1/sto_images.tgz" \
.
Fixed issues
-
If you encounter a
Project with orgIdentifier and identifier not found
after an upgrade, Harness recommends waiting for at least 2 minutes before taking any action. A background migration job will trigger 1 minute after the upgrade to populate the correct links. (PL-46725)Previously, the job was triggered after 30 minutes, which caused issues. However, this has now been resolved by reducing the time to 1 minute.
January 29, 2024, version 0.13.0
New features and enhancements
This release includes the following Harness module and component versions.
Name | Version |
---|---|
Helm Chart | 0.13.0 |
Air Gap Bundle | 0.13.0 |
NG Manager | 1.19.10 |
CI Manager | 1.6.11 |
Pipeline Service | 1.56.7 |
Platform Service | 1.8.2 |
Access Control Service | 1.29.2 |
Delegate | 24.01.82004 |
Change Data Capture | 81905 |
Test Intelligence Service | release-223 |
NG UI | 0.372.18 |
LE NG | 67903 |
Alternative air gap bundle download method
Some admins might not have Google account access to download air gap bundles. As an alternative, you can use gsutil
. For gsutil
installation instructions, go to Install gsutil in the Google Cloud documentation.
gsutil -m cp \
"gs://smp-airgap-bundles/harness-0.13.0/ccm_images.tgz" \
"gs://smp-airgap-bundles/harness-0.13.0/cdng_images.tgz" \
"gs://smp-airgap-bundles/harness-0.13.0/ce_images.tgz" \
"gs://smp-airgap-bundles/harness-0.13.0/cet_images.tgz" \
"gs://smp-airgap-bundles/harness-0.13.0/ci_images.tgz" \
"gs://smp-airgap-bundles/harness-0.13.0/ff_images.tgz" \
"gs://smp-airgap-bundles/harness-0.13.0/platform_images.tgz" \
"gs://smp-airgap-bundles/harness-0.13.0/sto_images.tgz" \
.
Self-Managed Enterprise Edition
- You can now enable TLS for MongoDB, MinIO, and TimescaleDB cloud-based external databases. For configuration details, go to Configure external databases. (PL-46234)
Continuous Delivery & GitOps
-
Triggers now map payload attributes with pipeline inputs. (CDS-87039)
-
There are cases where you want to use input sets in a trigger, but provide a different value for the input set (override the default).
-
When a trigger is configured to use input sets, you can now pass input value overrides in the trigger's
inputYaml
field. -
The values provided in the trigger's
inputYaml
field take precedence over any values provided by the input sets. This lets you override the input set values and use, for example, trigger payloads for specific inputs to the pipeline.
-
-
The Go template binary has been upgraded from version 0.4.4, which used Go version 1.20, to version 0.4.5, which uses Go version 1.21.4. (CDS-83173, ZD-50403)
-
Filter support for Overrides v2(CDS-81535)
- Users will be able to filter overrides on the basis of Environments, services & Infrastructures.
-
Allow to delete service from actual service window(CDS-78792)
- Service delete option is now available on the Service details page. Previously, Users could only delete service from Service List Page.
Continuous Integration
-
The Get Started workflow can now auto-generate starter pipelines from Harness Code repositories. (CI-10780)
-
Enhanced log retention for custom approval steps. (CI-10273, ZD-53345, ZD-53410)
Harness Platform
-
Upgraded Janino to version 3.1.11. (PL-43320, ZD-54505)
-
Upgraded
ch.qos.logback
from version 1.2.11 to 1.2.13. (PL-43260) -
Upgraded YamlBeans to version 1.17. (PL-42905, ZD-51149, ZD-53760, ZD-53919)
-
Upgraded MinIO to
bitnami/minio:2023.10.7-debian-11-r2
. (PL-42019) -
The LDAP configuration wizard now includes a Delegates Setup step, allowing you to select delegates and ensuring that all LDAP delegate tasks go to a particular delegate. (PL-28202)
-
Upgraded the
yq
library from version 4.35.2 to 4.40.5. (PL-42548)
Early access features
Harness Platform
-
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.
This item requires Harness Delegate version 24.01.82108. For information about features that require a specific delegate version, go to the Delegate release notes.
Fixed issues
Continuous Delivery & GitOps
-
The Shell Script step was terminating when running on VM via SSH. (CDS-87415, ZD-55629, ZD-55690)
- Fixed a Shell Script step issue with SSH where it was failing for newer delegate versions with the error:
Error while reading variables to process Script Output. Avoid exiting from script early: 2: No such file
. - Recent modification made directoryPath an optionally computed field which defaults to the user-provided working directory.
- To address this, the fix involves incorporating logic that ensures the presence of a backslash is in the directoryPath if it's absent.
- Fixed a Shell Script step issue with SSH where it was failing for newer delegate versions with the error:
-
Service phase fails to parse a variable value. (CDS-87290)
- There was an issue in the service phase of the stage execution where it fails to render a string variable, and throws the error
Invalid yaml: Malformed numeric value '00:00:00.100' at [Source: (StringReader); line: 36, column: 30]
. This was because variables with time format with milliseconds were being sent without quotes. - Now, string variables with values such as
00:00:00.100
(time in milliseconds) are supported in Service variables.
- There was an issue in the service phase of the stage execution where it fails to render a string variable, and throws the error
-
Kubernetes Apply step started failing after upgrading to the current Harness Delegate type (immutable). (CDS-87011)
- When using the
--dependency-update
flag with a Helm chart and Kubernetes Apply step, Harness didn't ignore the unrelated to Helm template output lines. - Harness was trying to interpret some of the Helm template output as a manifest. This resulted in a failure during the step.
- This issue has been resolved. Now Harness will ignore anything unrelated to the manifest output when using the Kubernetes Apply step with the
--dependency-update
flag.
- When using the
-
Container Step execution is failing with a delegate connectivity failure. (CDS-87005, ZD-54820)
- Pipelines run for extended periods of time (~20 hrs) resulted in the loss of connectivity to delegates.
- This issue has now been fixed. If the step's Timeout setting is not set, the default delegate task timeout will be 12 hours.
-
Deploy CDK Error. (CDS-86930, ZD-55227)
- This was caused by user error, but it describes an important configuration consideration. The user used a common image (
https://gallery.ecr.aws/amazonlinux/amazonlinux
) for the step that did not include the AWS CDK requirements. This resulted in a CDK error. - The image used in CDK steps should be created based on the Harness
aws-cdk-plugin
image available athttps://hub.docker.com/r/harness/aws-cdk-plugin
, documented here. The Harness image contains the Harness logic around the AWS CDK. You can a custom image built fromharness/aws-cdk-plugin:1.0.0
by adding support for different programming languages. See the tags athttps://hub.docker.com/r/harness/aws-cdk-plugin
tags.
- This was caused by user error, but it describes an important configuration consideration. The user used a common image (
-
Subsequent Google Cloud Function Gen 1 deployments not happening if the first deploy fails. (CDS-86746, ZD-55115)
- Function update was failing because the function state was not stable before deployment and Harness was waiting for it to a achieve stable state.
- Fixed the rollback logic for deployment of Google Cloud Function.
-
Null AWS ASG name in logs for blue green Traffic Shift step. (CDS-86744)
- Harness has fixed the logs for the ASG blue green Traffic Shift step. It no longer displays null ASG names.
-
A null pointer exception was thrown during ASG rolling deployment. (CDS-86426)
- An NPE was thrown when the ASG deployments was missing the launch template part of the base ASG (the ASG used as a template when creating new ASGs).
- Harness provides a better error message targeting the problem. The issue has been resolved.
-
Helm deployment fails to fetch the manifest when using native AWS connector for ECR. (CDS-86418, ZD-54707)
- The OCI Helm ECR store configuration feature did not work when IRSA and IAM were configured in the AWS connector. This resulted in null pointer exception, failing the deployment.
- The OCI Helm ECR store now supports IRSA and IAM configured in the AWS connector.
-
During pipeline execution, the console view wasn't showing steps inside of the step group. (CDS-86129, ZD-54757)
- Logs for steps which were inside a step group are now be visible in console view also.
-
Unclear error message coming from Azure during Helm deployment. (CDS-85972)
- A Helm deployment to AKS was failing with an Azure permission error.
- For AKS Kubernetes cluster RBAC permission issues, Harness will print out additional hints regarding the Harness connector in question.
-
Pipeline failure at service phase. (CDS-85942, ZD-54701)
- Harness has improved error handling when users are not passing the manifest Id in the service input. This is required when file and folder paths are used as a runtime input.
-
Harness service showing incorrect Helm chart version deployed in Harness UI. (CDS-85856, ZD-54508)
- The Harness service instance dashboard did not reflect the correct Helm chart version when instances were scaled up/down. The perpetual task did not not contain the updated Helm chart information which results in a mismatch of the Helm chart version value for the Kubernetes deployment.
- Fixed this issue by updating the
instanceSyncPerpetualTaskInfo
collection in Mongo every time the Helm chart information is updated.
-
Templates not deleted even after removing references. (CDS-85828, ZD-54300, ZD-54616)
- The error was related to the reference calculation during the movement of pipelines from inline to remote.
- This issue has been fixed now, and the template references are updated accurately.
-
Helm binary path is not added to system path by default on immutable delegate image. (CDS-85763)
- Harness has added Helm v3.12.0 into the
env
path for delegates. Customers will no longer need to use the full path to access this version it Shell Script steps.
- Harness has added Helm v3.12.0 into the
-
When you set Default Store Type For Entities- Pipelines/InputSets/Templates to Remote, the creation of environments and services failed. (CDS-85691, ZD-54497)
- This issue has been fixed.
-
A deployment was failing with Terraform errors. (CDS-85684)
- The Terraform tasks working directory was created based on account, org, project and provisioner identifier. This might cause issues if two steps with same account, org, project, and provisioner identifier are running simultaneously on the same delegate.
- Now, every Terraform step execution will run in a unique working directory.
-
Logs not present for the Copy command. (CDS-85662, ZD-54190)
- The call of
saveExecutionLog("Command finished with status " + response.getStatus(), response.getStatus());
on classScriptSshExecutor.java
made the log stream terminate. - Now we are closing the log stream consistently SSH executions.
- The call of
-
The header of the listing page for input sets displays a Git branch in the page header. Harness allowed you to change that branch, giving you the impression that, when you selected a branch, the list would refresh and show the input sets on the branch you selected. However, no matter which branch you selected, the list of input sets would not change. You also could not use any of the input sets after changing to a different branch. (CDS-85365, ZD-54302)
-
The reason for the input set list not changing is that the page header is designed to show the branch on which the pipeline is stored. The page lists all the input sets that have been configured regardless of the branch you select.
-
This issue has been fixed. Harness no longer allows you to change the branch displayed in the header.
-
-
The dates in the banner that announces the end-of-support and end-of-life dates for Harness FirstGen were incorrect. (CDS-85223)
This issue has been fixed. The banner now has the correct dates.
-
Console logs missing from CloudFormation steps. (CDS-84962, ZD-53810, ZD-53865) There was an issue where CloudFormation steps were not updating the console logs when there are multiple steps with a similar prefix. This issue is now fixed.
-
Harness did not support expressions to identify manifest Ids provided as runtime inputs. Consequently, you could not reference Helm chart metadata in your deployments. The issue occurred when you used multiple Helm chart manifests. (CDS-84663)
This issue has been fixed. You can now access Helm chart metadata before deployment by using the expression
<+manifests.MANIFEST_ID.helm.fieldName>
. In the expression, replaceMANIFEST_ID
andfieldName
with the appropriate values. If you use multiple Helm charts, the primary manifest is used as runtime input. -
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.
This item requires Harness Delegate version 23.11.81803. For information about features that require a specific delegate version, go to the Delegate release notes.
-
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.This item requires Harness Delegate version 23.11.81601. For information about features that require a specific delegate version, go to the Delegate release notes.
-
Error connecting to Git Sync service. (CDS-81261, ZD-51238)
- The pipeline had 66 remote templates for which the template request made a single GRPC request. This delayed the response from the Git side and timed out the thread.
- Now Harness makes GRPC requests in batches of 20 to get remote templates.
-
Creating the Terraform resource
harness_platform_file_store_file
without content crashes. (CDS-77833)- Now Harness provides an empty file when content is null.
Continuous Error Tracking
- When trying to navigate to agents/critical events/agent tokens settings in admin mode user would get 404, now they can navigate to the expected page. Also, incorrect icons were used for CET settings tiles, now each tile has correct icon. (CET-1882)
Continuous Integration
-
If you configured an optional step setting (such as Limit Memory, Limit CPU, or Timeout) to accept runtime input (
<+input>
), and then provided no value for that setting at runtime, the pipeline could fail due to invalidnull
input. This has been fixed, and the effected settings can how handle empty (null
) runtime input. (CI-10514, ZD-54217) -
Fixed an issue where builds failed in a Kubernetes cluster build infrastructure because certificates from the key chain weren't considered when fetching the entrypoint for the S3 Upload and Publish plugin. (CI-10258, ZD-53311)
-
Added a validation to check that codebase configuration details (connector, repo, and so on) are provided if at least one stage in pipeline has Clone Codebase enabled. (CI-10055)
-
Fixed a proxy issue related to downloading logs. (CI-9657, ZD-50664)
-
Improved error messaging related to addon disconnects. (CI-8877)
-
Fixed an issue with SCM service logging. (CI-8872)
Harness Platform
-
Perpetual tasks weren't assigned after a delegate restart. (PL-43646, ZD-55426, ZD-55572)
Fixed race condition where a perpetual task was assigned at the same time as the delegate abruptly shutting down due to a pod restart.
This item is available with Harness Platform version 1.19.x and does not require a new delegate version. For information about Harness Delegate features that require a specific delegate version, go to the Delegate release notes.
-
When Harness user groups were created during SCIM sync, dots were not converted to underscores in Harness for user group IDs. (PL-43576, ZD-55266)
This issue has been resolved. Now, SCIM group names that contain dots are converted to underscores in Harness for group identifiers. For example, a SCIM group named "abc.xyz" is created as follows:
UserGroupIdentifier: "abc_xyz"
UserGroupName: "abc.xyz"
-
In the Add new Encrypted Text dialog, the Regions list for Google Secrets Manager integration included unsupported values.(PL-43575, ZD-55268)
This issue has been resolved and the Regions list has been updated with the correct GCP regions.
-
The Access Management page didn't display all Users in the list. (PL-43038)
-
Execution links were not available in pipeline failure Slack notifications. (PL-42974, ZD-53195)
This issue has been resolved. Now, in Slack notifications, the "Node status" keyword, such as "failed," is a hyperlink that provides direct access to the associated node execution URL.
-
The delegate was rejecting tasks due to an issue where the CPU and memory calculation wasn't showing the latest usage value. This was caused by the dynamic request handling feature that rejects tasks if the CPU and memory usage exceeds a certain threshold. The pods weren't scaled by HPA because the CPU and memory usage within the pods was within the limit. (PL-42600, ZD-54025, ZD-54324)
-
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
.This item requires Harness Delegate version 23.12.82000. For information about features that require a specific delegate version, go to the Delegate release notes.
-
Added RBAC checks to the delegate list API. Now, only delegates for which users have permission are shown in the list on the Delegates page. (PL-42268, ZD-52174)
This item is available with Harness Platform version 1.16.6 and does not require a new delegate version. For information about Harness Delegate features that require a specific delegate version, go to the Delegate release notes.
-
The role assignment list API was returning incorrect role assignments. This problem occurred because of the use of a regex query to match the scope for role assignments. The issue specifically affected projects or organizations under the same account that had overlapping project or organization identifiers, particularly when the filter INCLUDED_CHILD_SCOPES was used. This issue has been addressed and corrected. (PL-39051)
January 8, 2024, version 0.12.0
New features and enhancements
This release includes the following Harness module and component versions.
Name | Version |
---|---|
Helm Chart | 0.12.0 |
Air Gap Bundle | 0.12.0 |
NG Manager | 81720 |
CI Manager | 6904 |
Pipeline Service | 1.51.3 |
Platform Service | 1.4.4 |
Access Control Service | 1.25.3 |
Delegate | 23.12.81604 |
Change Data Capture | 81510 |
Test Intelligence Service | release-223 |
NG UI | 0.372.15 |
LE NG | 68402 |
Alternative air gap bundle download method
Some admins might not have Google account access to download air gap bundles. As an alternative, you can use gsutil
. For gsutil
installation instructions, go to Install gsutil in the Google Cloud documentation.
gsutil -m cp \
"gs://smp-airgap-bundles/harness-0.12.0/ccm_images.tgz" \
"gs://smp-airgap-bundles/harness-0.12.0/cdng_images.tgz" \
"gs://smp-airgap-bundles/harness-0.12.0/ce_images.tgz" \
"gs://smp-airgap-bundles/harness-0.12.0/cet_images.tgz" \
"gs://smp-airgap-bundles/harness-0.12.0/ci_images.tgz" \
"gs://smp-airgap-bundles/harness-0.12.0/ff_images.tgz" \
"gs://smp-airgap-bundles/harness-0.12.0/platform_images.tgz" \
"gs://smp-airgap-bundles/harness-0.12.0/sto_images.tgz" \
.
Self-Managed Enterprise Edition
-
You can now use an Amazon ElastiCache Redis database with your installation. (SMP-2165, ZD-52249)
-
You can now use Kubernetes-based external secrets for Harness license values in Helm charts. (SMP-1839, ZD-49341, ZD-52283)
Harness has added the following values to
global.license.secrets.kubernetesSecrets
.-
secretName
: Name of the Kubernetes secrets containing Harness license keys -
keys.CG_LICENSE
: Name of the secret key containing a FirstGen License -
keys.NG_LICENSE
: Name of the secret key containing a NextGen Licenseglobal:
license:
cg: ''
ng: ''
secrets:
kubernetesSecrets:
- secretName: ""
keys:
CG_LICENSE: ""
NG_LICENSE: ""
-
Continuous Delivery & GitOps
-
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.
This item requires Harness Delegate version 23.11.81601. For information about features that require a specific delegate version, go to the Delegate release notes.
-
Send freeze window notifications when a freeze window is enabled (CDS-82272, ZD-52835)
You can now use the Freeze window is enabled setting (
OnEnableFreezeWindow
in YAML) to send notifications when a freeze window is enabled. This setting is in contrast to the existing Freeze window is enabled and active setting (FreezeWindowEnabled
in YAML), which sends notifications at the start time of a freeze window that is enabled.For information about how to send freeze window notifications when a freeze window is enabled, go to Freeze deployments.
-
Configure bidirectional sync for Git Experience at all scopes (CDS-83878)
Earlier, you could configure bidirectional sync for Harness Git Experience by configuring webhooks only at the account scope. Now, you can also configure such webhooks at the organization and project scopes.
-
Elimination of an unnecessary prompt when another user updates a pipeline (CDS-83893)
With this release, if another user updates a pipeline and you do not have unsaved changes for that pipeline, Harness applies that user's changes and updates your view of the pipeline without showing you a prompt.
Cloud Cost Management
- Pagination for perspectives has been added for faster loading time. By default, only the first 20 perspectives are displayed, ordered by the most recent. (CCM-15124)
Harness Platform
-
Added a Purge Secrets option to the Azure Key Vault Details dialog. This option is selected by default and purges deleted secrets instead of soft deleting them. (PL-41738)
-
Upgraded
io.netty:netty*
to version 4.1.100.final to address vulnerabilities. (PL-41905, ZD-50403, ZD-52222, ZD-53107) -
Upgraded Redis to 6.2.14-alpine to address potential vulnerabilities. (PL-42228)
-
Upgraded the
org.eclipse.jetty_jetty-http
,jetty-io
,jetty-util
, andjetty-continuation
libraries to 9.4.53.v20231009 to resolve CVE CVE-2023-36478. (PL-42288, PL-42560)
Early access features
Continuous Delivery & GitOps
-
Update the green services in an ECS Blue Green deployment (CDS-82763)
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.
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.This item requires Harness Delegate version 23.11.81803. For information about features that require a specific delegate version, go to the Delegate release notes.
Continuous Integration
Delegate selectors for codebase tasks (CI-9980)
Currently, delegate selectors for CI codebase tasks is behind the feature flag CI_CODEBASE_SELECTOR
. Contact Harness Support to enable the feature.
Without this feature flag enabled, delegate selectors aren't applied to delegate-related CI codebase tasks.
With this feature flag enabled, Harness uses your delegate selectors for delegate-related codebase tasks. Delegate selection for these tasks takes precedence in order of pipeline selectors over connector selectors.
Fixed issues
Continuous Delivery & GitOps
-
The Continuous Integration step library listed step categories in the following order: Security Tests, Artifacts, Builds, and Security. This order was inappropriate for CI stages and required you to scroll to find CI steps. (CDS-79655)
This issue has been fixed. The order of step categories is now Builds, Artifacts, Security, and then Security Tests.
-
When you delete the value of an input field in the service overrides section of a pipeline, the values in dependent fields are cleared, but the value you attempted to delete is not cleared. For example, if you attempt to clear the Artifact Directory field, the Artifact Path field is cleared, but the value in the Artifact Directory field is not cleared. The value gets cleared only on the second attempt. (CDS-80149)
This issue has been fixed.
-
Harness does not display large console logs correctly. The logs end abruptly. (CDS-80666, ZD-51442)
This issue has been fixed. You can now scroll through large logs and also use the Scroll to Bottom button.
-
Required filters were missing in Prometheus queries, causing the Verify step to fail. The queries now include the required filter validations. (CDS-80823)
-
Harness generated multiple requests for each remote child pipeline. (CDS-80831, ZD-51082, ZD-51764)
This issue has been fixed. Now, Harness generates only unique requests for child pipelines.
-
Updated the UI of environment variable fields in the Run step to allow configuring default, allowed values when they are set as runtime inputs. (CDS-80915)
-
When adding a Google Artifact Registry (GAR) in the Artifact Details dialog, you had to manually enter the Repository Name. Now, you can select the repository from a dropdown. (CDS-81187)
-
Custom health sources are not displayed for stages that deploy multiple services or multiple environments. (CDS-81214, ZD-51901)
This behavior is by design. To improve the user experience, for stages that deploy multiple services or multiple environments, a new message is displayed at the bottom of the verify step. The message describes why custom health sources are not shown.
-
Previously, the saved filters dropdown field was limited to displaying only the first 100 filters, which was also the maximum number of filters retrieved. (CDS-81492, ZD-52030)
This issue has been fixed. Harness has introduced infinite scrolling in the dropdown field, thereby allowing it to retrieve the entire list of available filters.
-
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.
This item requires Harness Delegate version 23.11.81405. For information about features that require a specific delegate version, go to the Delegate release notes.
-
Email notifications from the Harness Approval step did not respect newline characters included in the approval message. (CDS-81957, ZD-50115)
This issue has been fixed. You can now enter multiline text in the approval message field. Harness renders newline characters appropriately.
-
Earlier, environment values were not picked up correctly from other stages. (CDS-81970, ZD-52311)
This issue has been fixed.
-
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.This item requires Harness Delegate version 23.11.81405. For information about features that require a specific delegate version, go to the Delegate release notes.
-
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.This item requires Harness Delegate version 23.11.81601. For information about features that require a specific delegate version, go to the Delegate release notes.
-
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.
This item requires Harness Delegate version 23.11.81601. For information about features that require a specific delegate version, go to the Delegate release notes.
-
When verifying the artifact in a service step, Harness considered only the delegate selectors specified in the connector of the artifact source. Harness ignored the precedence rules described in Delegate selector priority. (CDS-82232)
This issue has been fixed. Now, Harness gives priority to stage-level and pipeline-level delegate selectors as described in the documentation. This fix is behind the feature flag
CDS_SERVICE_AND_INFRA_STEP_DELEGATE_SELECTOR_PRECEDENCE
. Contact Harness Support to enable the fix. -
A stage fails to execute in the following scenario:
- You configure the stage to execute only if a JEXL condition provided at runtime evaluates to true.
- You create an input set that does not provide the stage with a JEXL condition for evaluation.
When stage execution fails, the following error is displayed:
Error evaluating expression [<+OnPipelineSuccess> && (<+input>)]: Expression evaluation failed
. (CDS-82350, ZD-52689)This issue has been fixed.
-
If you manually entered and saved multiple ASG load balancers in the YAML configuration of an existing ASG Blue Green Deploy step, the load balancer configuration worked as expected. However, the ASG load balancer configurations did not propagate to the user interface, which set up the ASG load balancer fields to expect runtime input.
This issue has been fixed. You can now configure multiple ASG load balancer for existing ASG Blue Green Deploy steps. (CDS-82364)
-
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.
This item requires Harness Delegate version 23.11.81405. For information about features that require a specific delegate version, go to the Delegate release notes.
-
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.
-
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.This item requires Harness Delegate version 23.11.81601. For information about features that require a specific delegate version, go to the Delegate release notes.
-
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.
This item requires Harness Delegate version 23.11.81601. For information about features that require a specific delegate version, go to the Delegate release notes.
-
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.
This item requires Harness Delegate version 23.11.81601. For information about features that require a specific delegate version, go to the Delegate release notes.
-
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.
-
Harness has released a new image,
harnessdev/serverless-package:3.30.1-1.1.0
, for the Serverless Package step. The package, available on Docker Hub, supports IRSA and assumes an IAM role for downloading artifacts from Amazon S3. (CDS-82788)The AWS connector specified in your artifact step for S3 or ECR requires certain information to be available in the newly released image. Harness adds the required information to the image by using the following environment variables:
PLUGIN_ARTIFACT_AWS_ACCESS_KEY
: AWS access key, if credentials are specified manually.PLUGIN_ARTIFACT_AWS_SECRET_KEY
: Secret key, if credentials are specified manually.PLUGIN_ARTIFACT_AWS_ROLE_ARN
: Cross-account role, if specified.PLUGIN_ARTIFACT_AWS_STS_EXTERNAL_ID
: STS external ID, if specified.PLUGIN_ARTIFACT_AWS_REGION
: AWS region of the artifact, if specified in the artifact.
You can override these environment variables in the serverless package.
By default, the image uses manually provided credentials, but it requires
PLUGIN_ARTIFACT_AWS_ACCESS_KEY
andPLUGIN_ARTIFACT_AWS_SECRET_KEY
to be present. If these environment variables are not present, Harness uses an IAM role associated with the service account in the step group configuration for the EKS cluster.The image uses
PLUGIN_ARTIFACT_AWS_ROLE_ARN
andPLUGIN_ARTIFACT_AWS_STS_EXTERNAL_ID
to assume the other role. The base role for assuming this role is determined based on whether the image uses manually provided credentials or an IAM role. -
The Artifact tag expression
<+artifact.tag>
wasn't resolving for ASG deployments. Added support to fix this issue. (CDS-82824) -
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.
This item requires Harness Delegate version 23.11.81803. For information about features that require a specific delegate version, go to the Delegate release notes.
-
The config file expressions
${configFile.getAsBase64("<filename>")}
and${configFile.getAsString("<filename>")}
are valid only in Harness FirstGen but were also being evaluated in Harness NextGen. When Harness NextGen evaluated these expressions, the messageCannot evaluate expression
and the expression it attempted to evaluate were displayed. (CDS-83157)This issue has been fixed. Those expressions are no longer evaluated in Harness NextGen.
-
When the width of the dialog in which you enter values for stage variables reduces (for example, when the console view is open), the names of the variables in the dialog get truncated. The issue makes it hard for you to understand what inputs are being requested. (CDS-83225, ZD-53024)
Given that such truncation is sometimes unavoidable, Harness has introduced the following changes in the dialog:
- Increased the size of the dialog.
- Replaced the description of the variable (in the Description column) with an icon. The icon makes more efficient use of available space and displays the variable's description when you hover over it.
-
If you selected the Expression value type for a stage or pipeline variable and manually entered the runtime input expression (expressions that begin with
<+input>
, which you typically specify by using the Runtime input value type), Harness appended white spaces to the expression when saving the value to YAML. The issue caused the Run Pipeline dialog to not show the input variable. (CDS-83279, ZD-53153)This issue has been fixed. When you manually enter a runtime input expression of the form described earlier, Harness does not append white spaces.
-
You could not switch to the Expression value type when specifying an artifact's repository. When you selected the Expression value type, Harness displayed the following generic message: "Something went wrong. The error has been reported and we are looking into it with high priority. Please refresh your browser to continue." (CDS-83367)
This issue has been fixed.
-
If you opened the step drawer when creating a step template in Account Resources > Templates, the step drawer did not list some Continuous Integration steps, such as the Run step. (CDS-83442, ZD-53103)
This issue has been fixed.
-
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.
This item requires Harness Delegate version 23.11.81601. For information about features that require a specific delegate version, go to the Delegate release notes.
-
AWS SAM Build and AWS SAM Deploy steps fail if the image that you specify for the
--build-image
command option uses an expression or Bash variable. (CDS-83465)This issue has been fixed. Harness now passes necessary environment variables during runtime, so any expression that is created within the containerized step group is resolved correctly.
-
Pipelines stopped working because they did not recognize the specified input sets. Even though all the required fields were populated with information contained in the input sets, Harness displayed a message next to each of those fields to indicate that the field was required. (CDS-83557, ZD-53398, ZD-53413)
This issue has been fixed. You can now run the pipeline with runtime inputs.
-
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
This item requires Harness Delegate version 23.11.81601. For information about features that require a specific delegate version, go to the Delegate release notes.
- For the first deployment:
-
Earlier, if a Helm chart was invalid for any reason (for example, if it had an invalid folder structure or invalid YAML file) and Harness could not render the chart with the
helm template
command, the execution failed and the reason for failure was not always clear. (CDS-83828)Harness has improved the error handling in this scenario. If the Helm chart is invalid, Harness prints a warning about being unable to render it and continues to execute, relying on the
helm install
andhelm deploy
commands to throw an exception instead. -
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.
This item requires Harness Delegate version 23.11.81601. For information about features that require a specific delegate version, go to the Delegate release notes.
-
The polling interval of 15 sec for a running Verify step did not give you enough time to review event details or perform an action on an event, such as ignore an error. (CDS-83975, ZD-53492)
This issue has been fixed. The polling interval has been increased to 90 seconds and is expected to give you enough time to review events or act on them.
-
Harness did not evaluate expressions that begin with
<+pipeline.stage>
when they were used in ASG infrastructure. Therefore, you could not use those expressions to identify, for example, the region or the base ASG name. (CDS-84389)This issue has been fixed, and such expressions are evaluated correctly.
-
When a pipeline is stored in Git, expressions for selecting connectors do not work. When you attempt to select a manifest version that relies on such an expression to be resolved, the following message is displayed: "Invalid format of YAML payload: HTTP Error Status (400 - Invalid Format) received. Invalid request: Error while retrieving pipeline [pipeline_name]: Invalid request: Principal cannot be null" (CDS-84568, ZD-53864)
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.
This item requires Harness Delegate version 23.11.81803. For information about features that require a specific delegate version, go to the Delegate release notes.
-
The Identify Service Instance field in the Add New Health Source dialog does not show the plus (
+
) icon when you are using a template to configure a Splunk health source. Consequently, you could not select the service instance after the records were fetched. (CDS-84608, ZD-53584)This issue has been fixed.
-
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)
-
Harness printed logs from the Delete Stack step in the reverse order. (CDS-84744, ZD-53865)
This issue has been fixed.
This item requires Harness Delegate version 23.11.81803. For information about features that require a specific delegate version, go to the Delegate release notes.
-
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.
This item requires Harness Delegate version 23.11.81803. For information about features that require a specific delegate version, go to the Delegate release notes.
-
When creating a Kubernetes Apply step template in Template Studio, if you click + Add Manifest, the page breaks and the following message is displayed: "Something went wrong". At that point, you cannot go back to the previous page; you can only close the browser tab. (CDS-85013, ZD-54137)
This issue has been fixed.
-
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.
This item requires Harness Delegate version 23.11.81803. For information about features that require a specific delegate version, go to the Delegate release notes.
Continuous Integration
-
Improved the error message that appears if the Kubernetes cluster connector ID is
null
when running a pipeline that uses a Kubernetes cluster build infrastructure. (CI-8166) -
To address potential performance issues, resource consumption logs are now disabled for the
ci-addon
service, and the communication retry internal between the Lite Engine and theci-addon
service is now nine seconds. (CI-10042, ZD-52559) -
Fixed a thread safety issue that caused errors like
IncorrectResultsSizeDataAccessException
andreturned non unique result
. (CI-10061, ZD-52625) -
A previous release simplified the format of the log base key used to download logs for pipelines, and this release includes additional simplifications to support a new regex pattern. The simplified format is behind the feature flag
PIE_SIMPLIFY_LOG_BASE_KEY
. (CI-10085) -
The Get Started workflow can generate pipeline identifiers from repository names. To avoid failures due to invalid characters in pipeline identifiers, periods (
.
) in repository names are now replaced by underscores (_
) in pipeline identifiers. (CI-10156, ZD-52954) -
Fixed an issue where time savings wasn't reported if Test Intelligence selected no tests. (CI-10196)
Feature Flags
-
Fixed an issue where the Feature Flags onboarding wasn't able fetch metrics to complete the verification step. (FFM-9743)
-
Fixed an issue where the Specific Targeting section of the Flag detail page would not display a variation if the name was not set. If the name is not set, the page will now fall back to the identifier. (FFM-9858)
-
Fixed an issue where a new Feature Flag targeting rule could be saved without adding a target or target group. (FFM-9871)
Harness Platform
A GET
request to the List projects API for projects that weren't available in Harness returned a 400 RESOURCE_NOT_FOUND_EXCEPTION
response instead of a 404 ENTITY_NOT_FOUND
. (PL-42417)
The List projects API now returns a 404 ENTITY_NOT_FOUND
response for projects that aren't found in Harness.
-
When a permission was removed from the
permissions.yml
file or marked as inactive, the permission was deleted from managed roles, but not from custom roles. (PL-30826)This issue has been resolved. The role matching filter criteria used to remove permissions from both custom and managed roles has been updated.
-
The Name (Z->A, 9->0) sort option on the Projects page didn't display projects in the correct order. (PL-32066)
The UI now uses case-insensitive sorting when it lists projects on the Projects page.
-
Harness removed the
delegate-service
from the default delegate YAML init container. (PL-37616)This item is available with Harness Platform version 81709 and does not require a new delegate version. For information about Harness Delegate features that require a specific delegate version, go to the Delegate release notes.
-
The UI didn't display the latest version for GSM secrets. (PL-38526)
-
The delegate list API returned a 403 error response for users that didn't have view permission for the delegate. (PL-39630)
The message now specifies that the user is not authorized because view permission is not granted for the delegate.
This item is available with Harness Platform version 81709 and does not require a new delegate version. For information about Harness Delegate features that require a specific delegate version, go to the Delegate release notes.
-
The UI didn't allow you to set Projects or Organizations role permissions for custom resource groups. (PL-39825, ZD-46075, ZD-49912)
You can now select Projects and Organizations as resources in custom resource groups.
-
When creating projects through APIs, Harness didn't treat the organization identifier as case-insensitive, which resulted in duplicate entries. (PL-40897, ZD-49840)
This issue is fixed by making the organization identifier in project creation APIs case-insensitive.
-
When you deleted a default secret manager, the Harness built-in secret manager would not automatically become the new default manager. (PL-41077)
This issue has been resolved. Now, when you delete a default secret manager, the Harness built-in secret manager is automatically set as the default.
-
Deleted accounts sent delegate API calls to Harness Manager for authentication. (PL-41113)
Calls from delegates of deleted accounts are no longer authenticated by Harness Manager.
This item is available with Harness Platform version 81401 and does not require a new delegate version. For information about Harness Delegate features that require a specific delegate version, go to the Delegate release notes.
-
Delegate logs formatting is updated to allow you to view stack traces in their native format. (PL-41467)
-
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)
-
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)
-
The YAML builder didn't allow you to create secrets when there wasn't an existing secret.
This issue is fixed. You can now create secrets using YAML even if no previous secret exists. (PL-42148, ZD-52583)
-
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)
This item requires Harness Delegate version 23.11.81601. For information about features that require a specific delegate version, go to the Delegate release notes.
-
The Docker run command on the New Delegate page included an invalid token when there wan't a default token in the scope. (PL-42324)
-
On the User Group Details page, there was an issue where removing a user (let's say User A) from the user group and immediately adding another user (let's say User B) would result in User A being added back automatically. This was happening because cached data was not being cleaned up properly from the UI. (PL-42341)
This issue has been fixed. If you first remove User A and then add User B, only User B will show up as the final addition in this two-step process.
-
While managing roles, it was not possible to search for resource groups beyond the first 100 initially fetched. Now, the UI allows searching for resource groups that are present beyond the initial page size limit. (PL-42343, ZD-53209)
-
It is now mandatory to add a suffix to count type metrics in the latest version of Prometheus, otherwise delegate metrics will not be recorded. 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
This item requires Harness Delegate version 23.11.81405. For information about features that require a specific delegate version, go to the Delegate release notes.
-
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.This item requires Harness Delegate version 23.11.81601. For information about features that require a specific delegate version, go to the Delegate release notes.
-
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)
This item requires Harness Delegate version 23.11.81601. For information about features that require a specific delegate version, go to the Delegate release notes.
-
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 which resulted in multiple secret versions without an expiry. (PL-42509, ZD-53700)
This item requires Harness Delegate version 23.11.81601. For information about features that require a specific delegate version, go to the Delegate release notes.
-
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)
This item requires Harness Delegate version 23.12.81803. For information about features that require a specific delegate version, go to the Delegate release notes.
-
When you deleted a default secret manager, the Harness built-in secret manager would not automatically become the new default manager. (PL-42458, PL-42824, ZD-53500, ZD-53662, ZD-54099, ZD-54126)
This issue has been resolved. Now, when you delete a default secret manager, the Harness built-in secret manager is automatically set as the default for all scopes.
-
The Email (Z->A, 9->0) sort option on the Access Control: Users page didn't display variables in the correct order. (PL-42825)
The UI now uses case-insensitive sorting when it lists emails on the Access Control: Users page.
-
-
The Name (Z->A, 9->) sort option on the Account Variables page didn't display variables in the correct order. (PL-42842)
The UI now uses case-insensitive sorting when it lists variables on the Account Variables page.
-
API key descriptions for service accounts didn't display in the UI on the user Profile page or on the Account Access Control Service Accounts page. (PL-42846)
-
Harness updated the command under Create your own YAML from a Kubernetes manifest template for the Kubernetes Manifest option on the New Delegate page. The curl command has been removed and replaced with the
git clone https://github.com/harness/delegate-kubernetes-manifest.git
command. (PL-42850)This item is available with Harness Platform version 817xx and does not require a new delegate version. For information about Harness Delegate features that require a specific delegate version, go to the Delegate release notes.
-
The Kubernetes Manifest YAML on the New Delegate page didn't include the
DELEGATE_TOKEN
. (PL-42858)Fixed the generate Kubernetes YAML API for default delegates with a revoked token. The delegate YAML now includes the next active token.
-
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".
This item requires Harness Delegate version 23.12.81803. For information about features that require a specific delegate version, go to the Delegate release notes.
-
Fixed the replica count on the New Delegate modal. (PL-42912)
-
Fixed the Helm default values.yaml link on the New Delegate modal. (PL-42917)
-
The IP Allowlist page had a default value of 30 IPs per page. The IP Allowlist page list now has a value of 20 IPs per page. (PL-42934)
-
The error message displayed when a user attempted to delete a Harness managed role was unclear. (PL-43032) The error message now displays Cannot delete the role
<roleIdentifier>
as it is managed by Harness.
Service Reliability Management
-
When configuring Dependencies for a Monitored Service, the dependency graph failed to load. (SRM-16026)
-
Fixed the alignment of the New Monitored Service and Switch to Map View buttons. (SRM-16064)
-
Removed duplicate account-level SLO details. (SRM-16084)
Security Testing Orchestration
-
The Exemptions table now shows the pipeline name in the Scope column and not the ID. This keeps the user experience consistent with other areas of the application. (STO-6631)
-
Fixed a UI issue in the Mend configuration UI, where changing the Lookup Typedidn't update the YAML value correctly. (STO-6553)
-
Fixed a back-end API linking issue that could cause rendering/linking issues in the Security Tests tab. (STO-6586)
Previous releases
2023 releases
2023 releases
November 30, 2023, version 0.11.0
New features and enhancements
This release includes the following Harness module and component versions.
Name | Version |
---|---|
Helm Chart | 0.11.0 |
Air Gap Bundle | 0.11.0 |
NG Manager | 81308 |
CI Manager | 6602 |
Pipeline Service | 1.49.8 |
Platform Service | 80800 |
Access Control Service | 80600 |
Delegate | 23.10.81202 |
Change Data Capture | 81510 |
Test Intelligence Service | release-221 |
NG UI | 0.368.21 |
LE NG | 67903 |
Alternative air gap bundle download method
Some admins might not have Google account access to download air gap bundles. As an alternative, you can use gsutil
. For gsutil
installation instructions, go to Install gsutil in the Google Cloud documentation.
gsutil -m cp \
"gs://smp-airgap-bundles/harness-0.11.0/ccm_images.tgz" \
"gs://smp-airgap-bundles/harness-0.11.0/cdng_images.tgz" \
"gs://smp-airgap-bundles/harness-0.11.0/ce_images.tgz" \
"gs://smp-airgap-bundles/harness-0.11.0/cet_images.tgz" \
"gs://smp-airgap-bundles/harness-0.11.0/ci_images.tgz" \
"gs://smp-airgap-bundles/harness-0.11.0/ff_images.tgz" \
"gs://smp-airgap-bundles/harness-0.11.0/platform_images.tgz" \
"gs://smp-airgap-bundles/harness-0.11.0/sto_images.tgz" \
.
Self-Managed Enterprise Edition
Harness updated the Nginx ingress controller to version 1.3.0. With this upgrade, the watch ingress is now scoped to the Kubernetes namespace. The upgrade version 1.3.0 uses --watch-ingress-without-class=true
, which is incompatible with version 1.0.0-alpha. You must remove any image override fields in your values.yaml
and override.yaml
files if you reuse existing files. (SMP-1811, SMP-2326)
- The project and account Overview pages are now available. (SMP-2191)
Continuous Delivery & GitOps
-
Improvements to the user experience with forms (CDS-74220, ZD-47456, ZD-50077)
The following improvements have been made to forms to enhance your user experience:
-
Initial empty state: forms opened for the first time are empty. This allows you to begin your input process with a clean slate.
-
Runtime inputs: fields that you intentionally leave empty are manually converted to runtime inputs. You can modify and set values for these fields during runtime.
-
Retained input set values: when you run a pipeline using the form, your experience will be seamless. The form loads with the same values as the previous input set without any unwanted clearing or mutation.
-
-
Resolved expressions for runtime inputs in custom dashboards (CDS-77013)
For runtime inputs, custom dashboards now show resolved trigger expressions instead of the expressions themselves.
-
Improved user experience when viewing errors in the console view (CDS-77809)
You can now increase the height of the error panel in the pipeline console. This change improves the readability of error messages and suggestions.
-
Additional information for pipeline events (CDS-78150)
The following pipeline events now include the name, pipeline tag, and failure message:
- PIPELINE_FAILED
- STAGE_FAILED
- STEP_FAILED
The following pipeline events now include the name and pipeline tag:
- PIPELINE_SUCCESS
- STAGE_SUCCESS
-
More intuitive tag creation (CDS-78994)
Tag creation is now more intuitive in the Harness user interface. When you enter text in a tag field, a create button appears, and you can select that button or press Enter to create the tag.
-
Input and output variables for Tanzu deployments (CDS-79461)
You can now add input and output variables to the Tanzu Command step and step template to facilitate Tanzu deployments.
-
Ability to exclude services or environments from deployment freeze window (CDS-79505)
Now, when configuring a coverage rule for a deployment freeze window, if you choose to include all services or all environments, Harness gives you the option to exclude specific services or environments, respectively. This functionality is the same as the options provided for excluding organizations and projects, and it reduces your effort when the entities you want to include outnumber those you want to exclude.
For more information, go to Define freeze window coverage and schedule.
-
JGit library upgrade (CDS-80715, ZD-51149)
Eclipse JGit libraries have been upgraded to version 6.6.1.202309021850-r.
This item requires Harness Delegate version 23.10.81202. For information about features that require a specific delegate version, go to the Delegate release notes.
-
User interface improvements on the secrets listing page (CDS-80747)
The column widths and text truncation on the secrets listing page have been adjusted to make longer secret names more readable.
-
Harness has introduced stage-level timeouts for the following stage types: (CDS-81225)
- Deploy
- Build
- Approval
- Security Test
- Pipeline
- Custom Stage
This item requires Harness Delegate version 23.10.81010. For information about features that require a specific delegate version, go to the Delegate release notes.
-
Availability of deployment step group templates in custom stages (CDS-81265)
When opened in the context of a custom stage, the Templates side panel in Pipeline Studio lists step group templates created from deployment stages. The Type dropdown field in the panel also includes entries for filtering step groups created from custom and deployment stages.
Continuous Integration
-
You can now enable test splitting for Test Intelligence in the Visual editor as well as the YAML editor. (CI-9618)
-
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
. - This item requires Harness Delegate version 23.10.81202. For information about features that require a specific delegate version, go to the Delegate release notes.
- For
Harness Cloud Windows image update (CI-9750)
The Harness Cloud Windows image has been upgraded to Windows Server 2022. This includes major and minor version upgrades for many components. For a complete list of component versions, go to the Harness Cloud image specifications.
If you have pipelines running on Harness Cloud that rely on specific component versions, you might need to lock versions or install additional tools to prevent your pipeline from failing due to image changes.
- Upgraded built-in steps to support Windows 2022. (CI-9755)
Build and Push to GAR (CI-9926)
This release includes a new Build and Push to GAR step offering first-class support for build and pushing artifacts to Google Artifact Registry (GAR). Previously, you could use Run steps to build and push to GAR. This new step combines the build and push steps into one streamlined step.
If using this step with Harness Cloud build infrastructure, you can also leverage the new OIDC connectivity mode in your GCP connector.
Due to the GCR deprecation, the Build and Push to GCR step will be deprecated in favor of the new Build and Push to GAR step.
- The individual log line limit is now 25KB. Log lines longer than 25BK are truncated. (CI-9927, ZD-52005, ZD-52079, ZD-52134, ZD-52356)
Harness Platform
-
The HPA configuration setting is now included in the default Kubernetes delegate YAML file. (PL-36021)
---
apiVersion: autoscaling/v1
kind: HorizontalPodAutoscaler
metadata:
name: harness-delegate-hpa
namespace: harness-delegate-ng
labels:
harness.io/name: harness-delegate
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: harness-delegate
minReplicas: 1
maxReplicas: 1
targetCPUUtilizationPercentage: 99
---This item is available with Harness Platform version 81008 and does not require a new delegate version. For information about Harness Delegate features that require a specific delegate version, go to the Delegate release notes.
-
You can now view Runtime Usage for secrets. (PL-39416)
-
You can now add custom certificates to delegates by mounting files under
/opt/harness-delegate/ca-bundle/
or mounting a folder to/opt/harness-delegate/ca-bundle/
. (PL-39971)This item is available with Harness Platform version 81308 and does not require a new delegate version. For information about Harness Delegate features that require a specific delegate version, go to the Delegate release notes.
-
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. This item requires Harness Delegate version 23.10.81202. For information about features that require a specific delegate version, go to the Delegate release notes. (PL-39481, ZD-43735)
-
Upgraded the
grpc-protobuf
library from version 1.50.1 to 1.58.0. to resolve CVE-2023-32732. (PL-41147) -
You can now use Open ID Connect (OIDC) authentication to create a GCP connector through the Harness Platform. (PL-41304)
-
The current List User Groups by filter API has a response limit of 10,000 documents. To improve the user experience, we have introduced a new API called Get filtered User Groups (
getFilteredUserGroupsList
) that provides pagination and filter support for fetched user groups with a response limit of 50,000 documents. (PL-41382) -
Harness has updated our account data deletion period from 90 days to 60 days. (PL-41444)
-
Harness upgraded
com.squareup.okio:okio
from 2.8.0 to 3.4.0 to resolve CVE-20230-3635. (PL-41601)This item is available with Harness Platform version 81008 and does not require a new delegate version. For information about Harness Delegate features that require a specific delegate version, go to the Delegate release notes.
-
Upgraded the
org.codehaus.plexus_plexus-utils
library from version 3.0.20 to 4.0.0 to resolve CVE-2022-4244. (PL-41727) -
Upgraded the
yq
library from version 4.35.1 to 4.35.2. (PL-41729) -
Harness has enabled the link to the delegate selection log for all Continuous Integration (CI) execute and clean-up steps. This log displays important information such as the assigned delegate, the number of times the task was broadcast to the delegate, and when the task was assigned to the delegate. (PL-41786)
-
Upgraded the
go
library from version 1.21.0 to 1.21.1 to resolve multiple CVEs. (PL-41831) -
Upgraded the
org.eclipse.jetty_jetty-http
library to version 9.4.53.v20231009 to resolve CVE-2023-36478. (PL-41903) -
Upgraded PostgreSQL to 14.9.0-debian-11-r60 to address potential vulnerabilities. (PL-42227, ZD-53919)
-
Upgraded Redis to 6.2.14-alpine to address potential vulnerabilities. (PL-42228, ZD-53919)
Security Testing Orchestration
- You can now scan your repositories and other components used in your code with Anchore Enterprise, a scanner that provides visibility into supply chain security risks. (STO-6382)
Fixed issues
Self-Managed Enterprise Edition
-
Self-Managed Enterprise Edition CDNs were missing required binaries. Added 0.4.4 to Go template and libraries for delegates with the legacy image type. (SMP-2010)
-
Continuous Verification NextGen APIs failed in Istio environments. This issue was fixed by updating the Continuous Verification NextGen virtual service to use
/cv/
instead of/
in Istio environments. (SMP-2182) -
Added dashboard aggregator support with Istio and fixed virtual service route rules. (SMP-2192)
Cloud Cost Management
-
When attempting to create a new CCM connector, such as Azure, GCP, and so on, the test connection would sometimes fail. This required you to go back to previous steps, make adjustments, and attempt the connection again. However, on trying again, the connection step would fail with an error message indicating that a connector with the same ID already existed. (CCM-12558)
To address this issue, the system was updated to track connector creation and error scenarios. The connector creation API call was replaced with an update connector API call when the connector ID already exists to resolve the issue.
Continuous Delivery & GitOps
-
When a step fails, you expect pipeline execution to stall. However, failed steps are sometimes marked as being successful, and pipeline execution continues. This behavior is observed when the step's failure strategy is set to wait for manual intervention, and a user selects Mark as Success in response to the step's failure. This behavior is by design. For more information, go to Failure strategy settings. (CDS-72904, ZD-46414, ZD-47050, ZD-47743)
The issue in this situation was that you were not informed about what failure strategy was applied and by whom (the failure strategy might have been selected by a user before the specified timeout or by Harness after the specified timeout). To fix this issue, Harness has added the following step interrupt fields to the step details:
- Failure Strategy Applied. Shows which failure strategy was applied.
- Applied By. Shows one of the following values to inform you about the source of the action:
- Failure Strategy timestamp. Indicates that Harness applied the configured failure strategy automatically.
- email address timestamp. Indicates that a user intervened and selected the failure strategy.
- Post Timeout Action timestamp. Indicates that Harness applied the post-timeout action because no user intervened within the allotted time.
-
The confirmation dialog for post-production rollback in Harness NextGen did not show complete information about the pipeline, the current artifact, and the previously used artifact to which the deployment will be rolled back. (This information is available in the corresponding dialog in Harness FirstGen.) (CDS-74449)
This issue has been fixed. The confirmation dialog now displays complete information about the artifact version to which the deployment will be rolled back.
-
Earlier, if you had permissions to view only a specific pipeline, the pipeline listing page did not show you any pipelines. (CDS-77854, ZD-49725, ZD-49988 )
This issue has been fixed. Now, the pipeline listing page shows you only those pipelines for which you have view permissions.
noteThis fix does not change the behavior of RBAC. If you have permissions to view a project along with permissions to view a specific pipeline, the pipeline listing page continues to show you all pipelines in the project.
-
The Container step did not consider the delegate connector specified in the infrastructure of the step. This led to the wrong delegate getting assigned to execute the container task, and the pipeline failed. (CDS-78547, ZD-49498)
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)
This item requires Harness Delegate version 23.10.81202. For information about features that require a specific delegate version, go to the Delegate release notes.
-
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. (CDS-79094)
This issue has been fixed. The error message is now propagated from the delegate to the Harness user interface.
This item requires Harness Delegate version 23.11.81405. For information about features that require a specific delegate version, go to the Delegate release notes.
-
Deployments will succeed with basic authentication disabled. (CDS-79096, ZD-50585)
-
If you disabled basic authentication for an Azure web app, the deployment failed with the error
Invalid request: Connector not found for identifier : [defaultParam] with scope: [PROJECT]
. The issue was caused by Azure removing support for basic authentication in favor of Azure AD. (CDS-79360, ZD-50598)This issue has been fixed.
-
In Pipeline Studio, if you perform CRUD operations on stage variables in the Variables side panel when the stage's Overview tab is open, those operations do not reflect on the Overview Tab. For example, the Overview tab continues to show stage variables that you delete in the side panel. (CDS-79739, CDS-82435)
This issue has been resolved.
-
The names of environments were truncated to enable the Total Deployments section of the Services page. This was done to accommodate multiple environment names. (CDS-79757)
This issue has been fixed.
-
JEXL functions were not supported in HTTP output variables. (CDS-79811, ZD-50712)
This issue has been fixed.
-
The step condition was skipped during post deployment rollback. This has been resolved and the step will be executed based on the step condition. (CDS-79820, ZD-50920)
-
The yellow icon that indicates that a stage, step, or step group includes conditional execution settings persists even after you reset the conditional execution settings (for example, by changing the value type, in succession, from Fixed value, to Runtime input, and to Fixed value again, and then clicking Apply Changes). However, removing the associated YAML block cleared the icon. (CDS-79991, ZD-51026)
This issue has been fixed, and the yellow icon no longer persists after you reset the conditional execution settings.
In addition to fixing this issue, Harness has made it easier for you to reset the conditional execution configuration. The Conditional Execution section now includes a delete button that works in the same way as the delete button in the other advanced strategy sections (Looping Strategy and Failure Strategy). The delete button becomes available only when conditional execution settings exist.
-
Earlier, when the log query failed for Datadog Cloud logs, the service instance list was empty. Consequently, you could not add multiple queries. (CDS-80046, ZD-51139, ZD-52067)
This issue has been fixed. Now, if no options are listed or the option that you searched for is not available, you can enter the value manually.
-
The migration of service overrides generated an invalid YAML object and failed with the error
Invalid request: "Override spec is empty in request."
(CDS-80081)This issue has been fixed.
-
Earlier, manually created queries overrode existing queries, which were consequently lost. (CDS-80342, ZD-51302)
This issue has been fixed. Now, manually configured queries are appended to existing queries.
-
If you updated a service by using Pipeline Studio or by using the upsert API, and the deployment included service v1, the audit trail did not record the update. (CDS-80496, ZD-51390)
This issue has been fixed.
-
Pipelines that were previously successful when using remote Terraform variable definitions in the JSON file format failed in recent execution runs. (CDS-80582, ZD-51483, ZD-51858)
This issue has been fixed.
This item requires Harness Delegate version 23.10.81010. For information about features that require a specific delegate version, go to the Delegate release notes.
-
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.
This item requires Harness Delegate version 23.11.81405. For information about features that require a specific delegate version, go to the Delegate release notes.
-
Harness did not export the
samTemplateFile
property for AWS SAM deployments. Consequently, you could not use expressions such as<+manifests.MANIFEST_ID.samTemplateFile>
and<+manifests.MANIFEST_ID.spec>
to dynamically insert the SAM template file name into the SAM Deploy step, even though the expression<+manifests.MANIFEST_ID>
resolved for you. (CDS-80624, ZD-51597)This issue has been fixed. Harness has released two new images,
harnessdev/sam-build:1.82.0-1.1.0
andharnessdev/sam-deploy:1.82.0-1.1.0
, which support the use of thePLUGIN_SAM_TEMPLATE_FILE_PATH
environment variable to get the values passed in thesamTemplateFile
of the SAM service.The expression you need to reference the SAM template file name can now be copied from the output section of the service step.
Alternatively, you can use the following expression:
<+pipeline.stages.STAGE_ID.spec.manifests.MANIFEST_ID.samTemplateFile>.
For more information about building expressions, go to Use Harness expressions.
-
The
pipelines/execution/{planExecutionId}/notes
API call did not have thePIPELINE_EXECUTE
permission, so you could not update notes even if you had the permissions to execute the pipeline.This issue has been fixed. The API for updating execution notes now has the
PIPELINE_EXECUTE
permissions. (CDS-80634) -
If a Policy step was used in a matrix strategy, Harness used the Policy step's payload to create the stage name instead of showing the actual name of the step. (CDS-80743, ZD-51672)
This issue has been fixed.
-
When creating a new template, the Save as New Template menu item did not include the changes that you made, which meant that the new template did not differ from the one you started with. This issue was observed in Git Experience (remote) templates. (CDS-80744)
The issue has been fixed.
-
The list of all pipelines and the list of executions for the child pipeline display the name of the parent pipeline. (CDS-80772, ZD-51698)
This issue has been fixed. The pop-up window that appears in the Recent Executions column now displays a link to the parent pipeline's execution.
-
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.
-
The Limit Memory and Limit CPU fields in the Container step support expression inputs, but the Harness user interface throws an error when you attempt to save the step with an expression in those fields. (CDS-80926, ZD-51774, ZD-52143)
This issue has been fixed.
-
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.
-
Providing the host value as a runtime input in the Secure Shell step results in the following error:
Invalid request: Cannot create infrastructure config due to Couldn't convert jsonString to object
. Specifying a variable that resolves to the host value at runtime also throws an error, but one that involves the exceptionClassCastException
. (CDS-81002, ZD-51793)This issue has been fixed.
-
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.
This item requires Harness Delegate version 23.10.81001. For information about features that require a specific delegate version, go to the Delegate release notes.
-
Post-production rollback did not work if the deployed stage used a service that was propagated from an earlier stage, and that earlier stage was skipped in the original execution. (CDS-81036, ZD-51663)
This issue has been fixed.
-
Triggering a Jenkins job through an HTTP POST request resulted in an exception named
IllegalArgumentException
. Consequently, the Jenkins build step failed. The exception was caused by incorrect encoding of the Jenkins job parameters in the URL. (CDS-81070, ZD-51879, ZD-52069)The earliest Harness Delegate version to experience this issue is 23.09.80508. The issue has been fixed in delegate versions 23.10.80515, 23.10.80809, and 23.10.81010. For information about features that require a specific delegate version, go to the Delegate release notes.
-
The Plugin step inside a containerized step group was failing with a null pointer exception. (CDS-81253, ZD-51972, ZD-52202)
This issue has been fixed.
-
A discrepancy existed in the information displayed between the pipeline view and console view of the Verify step in a deployment: the console view displayed "No analysis" while the pipeline view displayed a more verbose output. (CDS-81291, ZD-52005)
This issue is now fixed. If an error occurs, the message is displayed at the top of the view.
-
The pipeline selection component in the pipeline chaining user interface did not display all of the available pipelines. (CDS-81304)
This issue has been fixed.
-
Earlier, the
terraform import
command for service overrides V2 returned the YAML property in the JSON format. (CDS-81550)Now, the command returns the property in the YAML format. This change does not affect existing Terraform flows as our
terraform apply
commands can handle both JSON and YAML formats. -
Template Studio did not save the delegate selector setting to the template if it was marked as a runtime input. (CDS-81633, ZD-52018, ZD-52366, ZD-52504)
This issue has been fixed.
-
The Submit button that you use to add an OCI Helm manifest source to a service configuration does not work if Harness cannot fetch the chart version. (CDS-81657, ZD-52068, ZD-52156)
This issue has been fixed.
-
Expressions that reference secrets (for example,
<+secrets.getValue("secret")>
) in the input variable sections of custom artifact sources did not resolve. (CDS-81724, ZD-52184)This issue has been fixed.
-
Container step groups that included a step with a looping strategy failed with the
IllegalStateException: Duplicate key <requestID>
exception. (CDS-81889, ZD-52104)This issue has been fixed.
-
Earlier, even though a freeze window was enabled and active and you had configured the Freeze window is enabled and active notification setting (
FreezeWindowEnabled
in YAML), Harness users did not receive a Freeze Active notification. The issue occurred if you enabled the freeze window when its start time was in the past (meaning that the freeze window became active as soon as you enabled it). This issue did not occur if the freeze window's start time was in the future. (CDS-81891, ZD-52835)This issue has been fixed. Now, a Freeze Active notification is sent if you make changes to a freeze window that is enabled and active, provided that the Freeze window is enabled and active setting is configured.
-
Earlier, when you selected one or more pipeline stages to execute, and those stages did not have runtime inputs, Harness validated all the stages in the pipeline. Harness confined validation to the stages you selected only if the stages had runtime inputs. (CDS-81914)
The issue of validating all the stages when the selected stages do not have runtime inputs is now fixed.
-
The Edit Health Source dialog did not display the value that you had selected in the Service Instance Identifier field earlier. The value appeared in the field only after you clicked Fetch Records a few times. The issue was caused by a delay in the API call used to fetch the options. (CDS-81971, ZD-50452)
This issue has been fixed. With this fix, the field becomes unavailable until the API call completes, and it displays a placeholder value that indicates the choice that you had made earlier.
-
A TAS pipeline requires a Tanzu Command step or at least one (but no more than one) App Setup step or at least one (but no more than one) Rolling Deploy step. However, when attempts to save a TAS pipeline that does not include any of those steps fail, the message displayed is "Only one App Setup or Rolling Deploy is supported". (CDS-82120, ZD-52445)
The message is misleading because it applies only to pipelines that have more than one App Setup or Rolling Deploy steps.
This issue has been fixed. The error message has been improved and lists the steps that a TAS pipeline requires.
-
The GitOps Sync step intermittently failed to check the sync status of the application. (CDS-82230, ZD-52553)
This issue was caused by there being no difference between the timestamp of the start of the sync step and the actual timestamp returned by the GitOps Sync API.
This issue has been fixed by the introduction of a small delay so that the timestamps do not match.
-
When you defined runtime inputs for fields for list items in the AWS ASG blue/green deployment step, the deployment dashboard did not show deployment details. (CDS-82383, ZD-51101)
This issue has been fixed.
-
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.
This item requires Harness Delegate version 23.11.81405. For information about features that require a specific delegate version, go to the Delegate release notes.
Continuous Integration
-
When a code repo connector encounters a cert error, the error message shown in the Harness UI is now more informative. This item requires Harness Delegate version 23.10.81010. For information about features that require a specific delegate version, go to the Delegate release notes. (CI-8509)
-
Fixed an issue where a clone depth of
0
wasn't respected in stages that use a VM build infrastructure. (CI-8711) -
Fixed an issue that could occur when cloning multiple repos in a stage that used a Windows platform for the build infrastructure. (CI-9128)
-
Long test and class names on the Tests tab no longer push the Copy icon out of the visible area. (CI-9500)
-
When you add a Build stage to a pipeline, the Infrastructure tab is selected by default, rather than the Execution tab. (CI-9624)
-
Fixed an issue with extra whitespace in step templates when these were used with a Kubernetes cluster build infrastructure. (CI-9723, ZD-49843)
-
Revised the error message that is shown when a pipeline fails due to lack of eligible delegates. This item requires Harness Delegate version 23.10.81202. For information about features that require a specific delegate version, go to the Delegate release notes. (CI-9743)
-
Corrected the rendering of the Stack Trace field when inspecting failed tests from the Tests tab on the Build details page. (CI-9765, ZD-51231)
-
Optimized delegate logging related to the CI task handler to consume less space. This item requires Harness Delegate version 23.10.81202. For information about features that require a specific delegate version, go to the Delegate release notes. (CI-9771)
-
Fixed an issue where Background step logs weren't correctly called for steps running in parallel. (CI-9801)
-
To address issues with long cache times, Cache Intelligence now uses Zstd archive format. (CI-9815, ZD-51474)
-
Addressed a NPE issue related to node plan creation. (CI-9890, ZD-51607)
-
Added a validation to check that codebase configuration details (connector, repo, and so on) are provided if at least one stage in pipeline has Clone Codebase enabled. (CI-10055)
Feature Flags
-
The feature flag module did not ship with an OOTB role that could toggle flags. (FFM-9542)
This meant that customers on the free tier could only toggle flags as admin users because they were unable to create custom roles.
This issue has been resolved. The feature flag module now ships with an OOTB "feature flag admin" role that contains all the feature flag permissions (excluding delete).
You can now assign users the "feature flag admin" role to allow them to toggle flags.
-
Fixed an issue where on feature flag Pipeline steps, RBAC permissions for specific environments (or environment types) returned a no permissions error when the user had the required permission. (FFM-9672)
Harness Platform
-
Previously, there was an issue where users who were initially invited through email and later through SCIM were not being added. This issue has now been resolved. Harness has implemented a fix to automatically delete the initial email invite and ensure that SCIM invites are valid even if an email invite was already sent. (PL-41114)
-
Fixed an issue where sort filter was not working for delegates. (PL-41184, ZD-50573)
-
When viewing the audit trail diff for a role, an empty screen was displayed due to a failure in the YAML diff API. (PL-41230)
Role audits are updated to show role change details.
-
When fetching role assignments for a specific scope, the user group role assignments were not appearing in the response. (PL-41470, ZD-51189)
This issue has been resolved. Now, if you select ALL in the Scope filter while fetching role assignments for a user, all user group role bindings will be displayed across all scopes.
-
Fixed an issue where the user list page search didn't not correctly for accounts with more than 10,000 users. (PL-41533)
-
Fixed an issue that paused renewal for HashiCorp vaults after renewal attempts failed twice. (PL-41577)
-
On the User Groups list page, there was an issue when attempting to quickly add members by selecting the + icon, which resulted in inadvertently removing members from the user group. This occurred because the system was using only the data of users visible on the screen (up to a maximum of 6 members) instead of all users in the group. The problem has now been resolved, and all existing users remain in the group while new users can also be added successfully without any issues. (PL-41730, ZD-51725)
-
The list delegate groups API (
getDelegateGroupsUsingToken
) now returns a 404 when the delegate token doesn't exist. (PL-41926, ZD-52077) -
When listing roles, the referenced by count for each principal type (User, User Group, and Service Account) was showing incorrectly. Now, the issue is fixed, and each principal type's count will show an appropriate count. (PL-42015)
-
The issues related to creating role assignments using resource groups and roles have been fixed. The problem was specifically encountered when adding new resources to resource groups or new permissions to roles while creating role assignments. The updates made to the associated resource groups and roles now correctly update the permissions. (PL-42042, ZD-52017)
The following improvements were made:
- Role assignment creation now operates as intended.
- Deletion of resources from resource groups and permissions from roles works as expected.
- Role assignment recreation functions correctly with updated resource groups and roles.
-
When the template variable's value was set to Custom Secret Manager, the secret creation failed because the fixed values were considered missing because they were not part of the API request. (PL-42050, ZD-52243).
This issue has been resolved.
-
In Harness, users are stored with lowercase email addresses. However, if a user with a different case was sent from the Terraform payload, it didn't match with the stored user in Harness. This caused the removal of the existing user (stored in all lowercase) if the same email address was specified in a different case. To fix this issue, Harness converted the email request payload from Terraform to lowercase. This ensures that the user matches correctly in Harness, as the email is always stored in lowercase. (PL-42074)
-
Fixed an issue where the latest-supported-version API returned the image tag repo path instead of the image tag. (PL-42168, ZD-52623)
Service Reliability Management
- An alignment issue with the Change Event card has been fixed to ensure consistent information display. (SRM-15793)
Patches
December 7, 2023, 0.11.2
This release includes the following Harness module and component versions.
Name | Version |
---|---|
Helm Chart | 0.11.2 |
Air Gap Bundle | 0.11.2 |
NG Manager | 81308 |
CI Manager | 6602 |
Pipeline Service | 1.49.12 |
Platform Service | 80800 |
Access Control Service | 80600 |
Delegate | 23.10.81202 |
Change Data Capture | 81510 |
Test Intelligence Service | release-221 |
NG UI | 0.368.21 |
LE NG | 67903 |
Alternative air gap bundle download method
Some admins might not have Google account access to download air gap bundles. As an alternative, you can use gsutil
. For gsutil
installation instructions, go to Install gsutil in the Google Cloud documentation.
gsutil -m cp \
"gs://smp-airgap-bundles/harness-0.11.2/ccm_images.tgz" \
"gs://smp-airgap-bundles/harness-0.11.2/cdng_images.tgz" \
"gs://smp-airgap-bundles/harness-0.11.2/ce_images.tgz" \
"gs://smp-airgap-bundles/harness-0.11.2/cet_images.tgz" \
"gs://smp-airgap-bundles/harness-0.11.2/ci_images.tgz" \
"gs://smp-airgap-bundles/harness-0.11.2/ff_images.tgz" \
"gs://smp-airgap-bundles/harness-0.11.2/platform_images.tgz" \
"gs://smp-airgap-bundles/harness-0.11.2/sto_images.tgz" \
.
Fixed issues
-
Earlier, two-factor authentication emails were only sent through CurrentGen delegates, causing email failures for NextGen. (PL-42263, PL-42486, ZD-52646)
This issue has been resolved. Now, when you send two-factor authentication emails via NextGen, the emails are sent successfully.
-
Harness disabled external Stripe HTTP requests in Harness Manager version 80219. (PLG-3000, ZD-52239)
December 1, 2023, 0.11.1
This release includes the following Harness module and component versions.
Name | Version |
---|---|
Helm Chart | 0.11.1 |
Air Gap Bundle | 0.11.1 |
NG Manager | 81308 |
CI Manager | 6602 |
Pipeline Service | 1.49.12 |
Platform Service | 80800 |
Access Control Service | 80600 |
Delegate | 23.10.81202 |
Change Data Capture | 81510 |
Test Intelligence Service | release-221 |
NG UI | 0.368.21 |
LE NG | 67903 |
Alternative air gap bundle download method
Some admins might not have Google account access to download air gap bundles. As an alternative, you can use gsutil
. For gsutil
installation instructions, go to Install gsutil in the Google Cloud documentation.
gsutil -m cp \
"gs://smp-airgap-bundles/harness-0.11.1/ccm_images.tgz" \
"gs://smp-airgap-bundles/harness-0.11.1/cdng_images.tgz" \
"gs://smp-airgap-bundles/harness-0.11.1/ce_images.tgz" \
"gs://smp-airgap-bundles/harness-0.11.1/cet_images.tgz" \
"gs://smp-airgap-bundles/harness-0.11.1/ci_images.tgz" \
"gs://smp-airgap-bundles/harness-0.11.1/ff_images.tgz" \
"gs://smp-airgap-bundles/harness-0.11.1/platform_images.tgz" \
"gs://smp-airgap-bundles/harness-0.11.1/sto_images.tgz" \
.
Fixed issue
- Default values for external databases caused upgrade issues. Harness removed local default MongoDB values from
values.yaml
files to resolve the issue. (SMP-2339)
November 1, 2023, version 0.10.0
New features and enhancements
This release includes the following Harness module and component versions.
Name | Version |
---|---|
Helm Chart | 0.10.0 |
Air Gap Bundle | 0.10.0 |
NG Manager | 80917 |
CI Manager | 6100 |
Pipeline Service | 1.47.11 |
Platform Service | 80502 |
Access Control Service | 80302 |
Delegate | 23.10.80810 |
Change Data Capture | 80909 |
Test Intelligence Service | release-197 |
NG UI | 0.364.18 |
LE NG | 68305 |
Alternative air gap bundle download method
Some admins might not have Google account access to download air gap bundles. As an alternative, you can use gsutil
. For gsutil
installation instructions, go to Install gsutil in the Google Cloud documentation.
gsutil -m cp \
"gs://smp-airgap-bundles/harness-0.10.0/ccm_images.tgz" \
"gs://smp-airgap-bundles/harness-0.10.0/cdng_images.tgz" \
"gs://smp-airgap-bundles/harness-0.10.0/ce_images.tgz" \
"gs://smp-airgap-bundles/harness-0.10.0/cet_images.tgz" \
"gs://smp-airgap-bundles/harness-0.10.0/ci_images.tgz" \
"gs://smp-airgap-bundles/harness-0.10.0/ff_images.tgz" \
"gs://smp-airgap-bundles/harness-0.10.0/platform_images.tgz" \
"gs://smp-airgap-bundles/harness-0.10.0/sto_images.tgz" \
.
Self-Managed Enterprise Edition
-
Pod Disruption Budgets (PDBs) have been added to all applicable deployments/StatefulSets. (SMP-777)
-
You can now set annotations and labels globally for all resources by adding the
commonAnnotations
andcommonLabels
settings under global in youroverride.yaml
file. (SMP-1216, ZD-42336, ZD-43006)For example:
global:
commonAnnotations: { kubernetes.azure.com/no-http-proxy-vars: "true" }
commonLabels: { kubernetes.azure.com/no-http-proxy-vars: "true" } -
You can now use Kubernetes-based external secrets for Harness license values in Helm charts. (SMP-1839, ZD-49341, ZD-52283)
Harness has added the following values to
global.license.secrets.kubernetesSecrets
.-
secretName
: Name of the Kubernetes secrets containing Harness license keys -
keys.CG_LICENSE
: Name of the secret key containing a FirstGen License -
keys.NG_LICENSE
: Name of the secret key containing a NextGen Licenseglobal:
license:
cg: ""
ng: ""
secrets:
kubernetesSecrets:
- secretName: ""
keys:
CG_LICENSE: ""
NG_LICENSE: ""
-
Continuous Delivery & GitOps
-
Harness CD has a new account-level setting to override the default behavior when deleting a pipeline, which deletes all past executions of that pipeline as well. (CDS-71173, ZD-50017)
When
do_not_delete_pipeline_execution_details
is set totrue
(the default), older pipeline executions remain in the system even when the corresponding pipelines are deleted. You can view these executions in the Pipeline Executions list and open them to view details, but you cannot re-run them.When
do_not_delete_pipeline_execution_details
is set tofalse
, Harness deletes all executions of a pipeline when that pipeline is deleted.If a new pipeline is created with the same Id, the old executions are automatically associated with the new pipeline. This is expected functionality since the pipeline Id is used to associate executions with pipelines.
To configure this setting, use the Harness CLI.
-
You can now use the keyword
nodeName
when specifying your matrix axes to define your stage naming convention. Expressions are supported, so you can customize the name as required. (CDS-72523) -
This release improves the UI feedback when executing an Approval step. Previously, the pipeline execution log console could appear stuck at the Approval step even after the pipeline processed the step successfully. This release includes a back-end optimization to ensure that the Pipeline Execution UI processes and displays log messages for Approval steps in real time. (CDS-76996, ZD-48401)
-
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)
This item requires Harness Delegate version 23.10.80808. For information about features that require a specific delegate version, go to the Delegate release notes.
-
There was no way in Pipeline Studio to add step group variables when creating a step group template. This section has now been added. (CDS-78683)
Continuous Integration
-
Improved support for
DRONE_
environment variables in CI pipelines. This improves compatibility for plugins and makes it easier to migrate from standalone Drone to Harness CI. (CI-7600) -
You can now use the Upload Artifacts to S3 step with buckets with disabled ACLs. (CI-8371, ZD-45677)
-
Test Intelligence now supports manual branch builds (the Git Branch build type). This is in addition to existing support for manual PR builds, as well as PR and push webhook triggers. When you enable Test Intelligence, you can use a manual branch build to generate the initial call graph and for subsequent pipeline runs. (CI-8932)
-
When you enable Test Intelligence for Scala or Kotlin, the Packages and Test Annotations fields are now available in the Visual editor. (CI-9589)
Harness Delegate
-
To safeguard your operations and protect against potential security vulnerabilities, Harness deprecated the Helm 2 binary from delegates with an immutable image type (image tag
23.08.80308
). For information on delegate types, go to Delegate image types. (PL-40409) -
In a monitored service, back end license checks and Terraform live monitoring are always on. (SRM-15255)
Now, monitored services can be enabled only from the user interface (through toggle buttons) and the enable API. Monitored services will always be disabled when created and during subsequent updates to them.
-
When you create a new delegate, the token that is populated in the YAML or Helm file is modified. Harness first retrieves the default token of the scope. If it is not present, Harness then retrieves the oldest active token from the scope. If neither of these tokens are available, Harness sends a message "No token available. Please create a new token and try again." (PL-40669)
Harness Platform
-
The Roles page now supports a list view in addition to the existing card view. In addition to the information shown in the card view, the list view shows you which resources are selected for the role. To see the list view, in the top-right corner of the Roles page, select the list view button. (PL-32183)
-
The project and account overview pages are now accessible in Self-Managed Enterprise Edition. (PL-39183)
-
The delegate Helm chart is now included in the delegate proxy configuration. You can pull the Helm chart from
https://\<YOUR_LOADBALANCER_URL>/storage/harness-download/delegate-helm-chart/
. (PL-39190) -
The heartbeat interval that perpetual tasks use to test connectors has been increased from 10 minutes to 30 minutes. This change aims to reduce the number of errors logged due to failed heartbeats. The new heartbeat interval is used with any connectors that you create after this deployment. Tasks associated with existing connectors require migration to the new interval. Harness will migrate such perpetual tasks in all accounts in a phased manner. This activity does not require any action from you or other users of the platform. (PL-39399)
-
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)
This item requires Harness Delegate version 23.09.80505. For information about features that require a specific delegate version, go to the Delegate release notes.
-
Earlier, in the audit trail, all changes to a user principal's role assignment were logged with the generic Update action type. The record offered no additional information about whether a role assignment was created, updated, or deleted. (PL-39799, ZD-46451)
Now, role assignment changes are logged with one of the following, more informative action types:
- Role Assignment Created
- Role Assignment Updated
- Role Assignment Deleted
-
If you use the App Role authentication method in the Hashicorp Vault connector, you can choose to cache the vault token. The token is cached on the Harness Delegate for a time duration equal to the TTL of the vault token, with 1% leeway.
By default, caching is enabled for all existing connectors. To disable caching, go to the connector's YAML configuration and set the
enableCache
parameter tofalse
. Harness UI support to enable and disable caching will be added in a subsequent release. (PL-39821)This item requires Harness Delegate version 23.08.80308. For information about features that require a specific delegate version, go to the Delegate release notes.
-
To enhance security, Harness has added settings to enable and disable Slack, Microsoft Teams, webhook, and PagerDuty notification channels at the account scope. (PL-39921)
For more information, go to Notification settings.
-
The Session Timeout field in Authentication Settings is renamed to Session Inactivity Timeout. The field now automatically converts the minutes you enter to higher units of time, and displays the result under the field to simplify usage. For example, if you enter 1440, the UI shows 1 day below the field. (PL-39982, ZD-47238)
-
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.
This item requires Harness Delegate version 23.09.80505. For information about features that require a specific delegate version, go to the Delegate release notes.
-
To support MongoDB 5.0, the Debezium library has been upgraded to version 1.9. (PL-40491)
-
When you navigated to the Pipelines page, Harness checked for a Continuous Integration license. If you did not have a CI license, you were redirected to the CI Start Trial page because the Pipelines page was once part of the CI module.
The issue has been resolved by the removal of such a check from the Pipelines page on the Projects tab. This change also resolves similar issues involving a redirect to Start Trial pages for other Harness modules. (PL-40611, ZD-48952)
-
Earlier, in delegate selection logs, the non-selected error message included all mismatched selectors.
Now, the non-selected error message includes only selectors mismatched within the scope. (PL-40651)
-
To ensure no sensitive events are sent to unused channels, you can now control notification channels (Email, Slack, Microsoft Teams, PagerDuty, Webhook) from Default Settings at the account-level. (PL-40677)
-
Go has been upgraded from version 1.20.5 to version 1.21.0. This upgrade remediates CVE-2023-39533. (PL-40734)
-
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 default interval for synchronizing LDAP groups has been increased from 15 minutes to 1 hour. This value is customizable, so you can set it to a value of your choice. This change does not affect existing LDAP configurations. (PL-40860)
-
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)
This item requires Harness Delegate version 23.10.81010. For information about features that require a specific delegate version, go to the Delegate release notes.
-
Access control lists (ACLs) have now been optimized by the removal of ACLs that are no longer necessary and by ensuring that redundant ACLs are no longer created for new role assignments. (PL-41154)
-
Harness now returns a
Cannot send notification as notification channel is disabled from Account settings.
error in the test notification API when a channel is disabled. (PL-41449) -
Harness previously had a feature flag
DISABLE_HARNESS_SM
, which allowed you to disable the Harness default Secret Manager and showed a Settings section on the Account Details page. This setting was migrated to the centralized Default Settings under Resources. Harness removed the feature flagDISABLE_HARNESS_SM
as well as the corresponding setting from the Account Details page. (PL-41538)
Security Testing Orchestration
- Added an Exclude field to the SonarQube step and removed the Include step. The Exclude field corresponds to the
sonar.exclusions
setting, which you can use to narrow the focus of a SonarQube scan. (STO-6441)
Service Reliability Management
- The Service Health tab on the monitored service details page has been renamed to Change Impact. (SRM-15261)
Early access features
Continuous Delivery & GitOps
-
Added support for Post Prod Rollback for ASG deployment types. For these Services, a Rollback to the previous version can be triggered from the Services Dashboard. For more information, go to Rollback Deployments.
-
Added support for Post Prod Rollback for Native Helm deployment types. For these Services, a Rollback to the previous version can be triggered from the Services Dashboard. For more information, go to Rollback Deployments.
Continuous Integration
-
GitHub App authentication for GitHub connectors (CI-8577)
This feature is behind the feature flag
CDS_GITHUB_APP_AUTHENTICATION
and it requires Harness Delegate version 23.08.80308 or later. Contact Harness Support to enable the feature flag. For information about features and fixes requiring a specific delegate version, go to the delegate release notes.With this feature flag enabled, you can use a GitHub App as the primary authentication method for a GitHub connector.
Fixed issues
Self-Managed Enterprise Edition
-
Helm override files didn't include pod annotations for MongoDB and the verification service. (SMP-1285)
This issue is fixed. Helm override files and databases now include pod annotations.
-
To avoid connection resets from load balancers that have a fixed idle timeout (AWS NLB: 350s), Harness has added support to configure the maximum idle timeout for the gateway's HTTP client as follows: (SMP-1926)
gateway:
additionalConfigs:
HTTP_CLIENT_POOL_MAX_IDLE_TIME: "300s" -
Fixed an issue in the
override-prod.yaml
file in the 0.9.0 release that caused invalidation errors. (SMP-2121) -
Fixed an issue where the
global.ingress.objects.annotation
field was not being templated correctly. (SMP-2125) -
Disabled creation of MongoDB and PostgreSQL secrets with external databases. (SMP-2164, ZD-52250)
Chaos Engineering
- Fixed an issue with the error message when an experiment is completed with a lower resilience than expected. (CHAOS-2018)
Continuous Delivery & GitOps
-
Fixed dashboard refresh issue where selecting a filter prolonged query times. With this fix, dashboards no longer refresh automatically when a user changes the filter. (CDB-1198, ZD-50972)
-
The Kustomize 3.5.4 binary is now removed from the immutable delegate and all Kustomize tasks are routed via Kubectl binary. (CDS-58893, ZD-48553)
This item requires Harness Delegate version 23.09.80811. For information about features that require a specific delegate version, go to the Delegate release notes.
-
The Expression auto-suggest dropdown did not include expressions related to the status of a node. This dropdown now includes status variables for pipelines, stages, steps, and step groups. (CDS-70304, ZD-44953, ZD-45054)
Examples of new variables in this dropdown include:
<+pipeline.status>
<+pipeline.stages.stage1.status>
-
Fixed an issue where a pipeline execution reported an invalid
artifactPath
when trying to deploy Artifactory artifacts. This was due to an issue with the regex used to populate the pull-down artifact menu. With this fix, you can specify recursive wildcards in the directory path for Artifactory. For example, you can specifyMainPath/*/*
as the directory path for the pipeline and the Service step will download the selected artifact. (CDS-72245, ZD-46236) -
Fixed a UI issue where pipelines, input sets, and executions were ordered incorrectly due to case-sensitive sorting of the element list. With this release, the UI now uses case-insensitive sorting when it lists pipelines, input sets, and pipeline executions. (CDS-73216)
This item requires Harness Delegate version 23.08.80308. For information about features that require a specific delegate version, go to the Delegate release notes.
-
Improved the error message shown in the UI if the entity type of a new version of a template is different:
Failed to save the template \<NAME> because an existing template of different type has the same identifier
(CDS-73243) -
Fixed an issue on the Pipeline Executions page where the Services filter didn't list all services. (CDS-73277)
-
Fixed a UI issue with validating UI fields when defining a template for a Github Package Registry artifact. (CDS-73520)
-
Fixed the error message that gets displayed when a build does not find a specified package. The previous error message was
No tags found with given image path
. The new error message isNo tags found for the Package Name
.(CDS-73559) -
Fixed a UI issue where the Clear Filters button didn't work when previewing templates in the Templates > Stage Templates window. (CDS-73587)
-
Fixed an issue where a Post-Retry manual intervention timeout did not work as expected. A Post-Retry action was set to manual intervention, but after timing out the step did not go into the manual step. With this fix, the post-retry manual intervention timeout is now honored. (CDS-73618, ZD-48904, ZD-47798)
-
Fixed an issue where logs were not visible after a shell script step got expired. With this fix, the pipeline will now publish expire events to close the log stream correctly after expiring a step. (CDS-73695, ZD-47049)
-
Fixed a filtering issue when using pipeline tags in the Pipelines and Pipeline Executions pages. (CDS-73807, ZD-47148)
When a user uses pipeline tags to filter pipelines or executions, the following behavior will now be observed:
-
When a user enters only a string in the filter tags, all pipelines/executions with a tag key or value matching that string will be returned.
-
When a user enters a
key:value
pair in the filter rags, all pipelines/executions with a tag pair matchingkey:value
will be returned. -
When a user enters
"":value
pair in the filter tags, all the pipelines/executions with a tag pair matching"":value
will be returned. -
When a user enters a
key:""
pair in the filter tags, all the pipelines/executions with a tag pair matchingkey:""
will be returned.
-
-
Fixed a Nexus Artifact issue where a fetch would time out when a single group contained more than 50 artifacts. (CDS-73884, ZD-45052, ZD-47206)
This item requires Harness Delegate version 23.08.80104. For information about features that require a specific delegate version, go to the Delegate release notes.
-
Added a tooltip to the Build stage:
CI Stage can be skipped with New Artifact/Manifest Trigger using selective stage configuration.
(CDS-74137) -
Fixed an issue in the Run Pipeline UI when running chained pipelines. Previously, Pipeline Variables was in a new container, which implied that Pipeline Variables was a new stage. (CDS-74138)
With this fix, Pipeline Variables is indented under the same container to make it clear that these are inputs from the child pipeline.
-
Fixed an issue observed in the Pipeline Run form when rerunning pipelines stored in Git. Even when a user changed the branch name in the form, subsequent reruns of the pipeline still used the YAML from the Git branch of the first run. With the fix, you can now switch branches and it works as expected. (CDS-74577)
-
Added the following tooltip for the Build stage:
CI Stage can be skipped with New Artifact/Manifest Trigger using selective stage configuration
. (CDS-75080, ZD-47902, ZD-49804) -
Fixed a delegate issue observed in pipeline executions with service overrides. If an encrypted config file was deleted, a log message would show the path to the deleted file. (CDS-75153, ZD-47557)
This item requires Harness Delegate version 23.08.80308. For information about features that require a specific delegate version, go to the Delegate release notes.
-
Fixed an issue where ECR image based triggers based on ECR images were firing with null values the for artifact image tag and repository name. (CDS-75173)
This fix includes the following new expressions:
-
<+trigger.artifact.source.connectorRef> to access connectorRef in triggers
-
<+trigger.artifact.source.imagePath> to access imagePath in triggers
-
-
You can now view policy-related updates in the Pipeline Execution console view. (CDS-75213, ZD-46498)
-
Fixed a filtering issue on the Pipeline Executions page. (CDS-75224)
If the service received empty arrays for fields in a filter, it added the fields to the filtering criteria with empty values, thereby not returning accurate results.
The fix handles empty arrays, and saved filters return only fields that have values.
-
Fixed an issue with the Repository Name filter in the Builds page. Some users could not filter on builds that pulled their source code from a specific repository. If you experienced this issue, you will need to delete any saved filters that use the Repository Name filter and create them again. (CDS-75281, ZD-47876, ZD-48201)
-
Fixed a FirstGen-to-NextGen migration issue where the migrator mapped the incorrect status to a Jira Approval step. This could cause a pipeline execution to stop without proceeding. With this fix, the migrator maps the status correctly. (CDS-75426)
-
Fixed a UI issue in the Pipeline Executions page. Steps with a looping strategy include a Show All button for viewing all nodes in that step. However, this was not working as expected when pipeline stages were used. With this fix, clicking Show All now displays all nodes. (CDS-75558, ZD-48298)
-
Fixed a delegate issue observed in Blue Green deployments of ASG services, where a repeat deployment incorrectly could result in a scaling down of instances to 0. (CDS-75560)
This item requires Harness Delegate version 23.08.80308. For information about features that require a specific delegate version, go to the Delegate release notes.
-
Fixed an edge-case issue where, if the number of instances went down to zero and came back up after a duration of 1 day, they were not displayed in the custom dashboard. With this fix, they will start syncing back again once their count is greater than zero. (CDS-75585, ZD-47848)
-
Implemented a fix to ensure that user-entered values are always populated on the Inputs tab when running or rerunning a pipeline. (CDS-75593, ZD-48181)
-
Fixed a delegate issue where exceptions happened due to k8s kubectl "connection-refused" errors. With this fix, these exceptions are now classified as connectivity errors. This gives you proper control to implement failure strategies based on errors of type Connectivity. (CDS-75777, ZD-48380)
This item requires Harness Delegate version 23.08.80308. For information about features that require a specific delegate version, go to the Delegate release notes.
-
Introduced a validation to ensure that only repos that are allowed on the basis of
repoAllowList
can be set for a Pipeline, InputSets, and Templates while using the Edit Git details feature. (CDS-75828)This item requires Harness Delegate version 23.08.80308. For information about features that require a specific delegate version, go to the Delegate release notes.
-
Removed the Reconcile option for individual input sets on the Input Sets page. (CDS-75845)
-
Fixed a delegate issue where the Custom Remote Store did not clone a repo larger than 25Mb if provided in the execution script. With this fix, the Custom Remote Store now has a <=25Mb size validation on manifest files (not the entire repo). (CDS-75900)
This item requires Harness Delegate version 23.08.80308. For information about features that require a specific delegate version, go to the Delegate release notes.
-
Fixed an issue with the Terraform Rollback step. The step did not inherit the backend configuration from the Terraform Apply step with the same provisioner Id, and you couldn't configure the backend configuration in the UI. This behavior was related to an issue where the rollback could fail when back-end configurations were not saved for the next run. (CDS-76071, ZD-48374)
-
Fixed an issue where the Kubernetes connector in a container step doesn't respect the delegate selector tags set at pipeline level. With this fix, the connector selects delegates specified in the pipeline rather than the connector, which is the correct behavior. (CDS-76105, ZD-48542)
This fix is behind the feature flag
CD_CONTAINER_STEP_DELEGATE_SELECTOR
. Contact Harness Support to enable the feature flag. -
Fixed an issue that caused the UI to crash when the input value of a component was changed from runtime to expression. (CDS-76216)
-
Fixed an issue that could occur when setting up an Azure Web App deployment. The Visual Editor would add a
spec: webApp
element to the pipeline definition. This resulted in an invalid pipeline YAML and required you to delete the element before you could save the pipeline. (CDS-76289, ZD-48649) -
Added an information banner and documentation link to the Synchronization Barrier step. The referenced content highlights best practices when synchronizing deployments using barriers. (CDS-76291, ZD-48636)
-
Fixed an issue observed when deploying Artifactory artifacts, where the pipeline execution would save the generic artifact metadata incorrectly. Note that this fix applies to new pipeline executions only. (CDS-76302, ZD-48430)
-
Fixed an issue causing script values in the run pipeline form to appear editable when they are not runtime inputs. (CDS-76331)
-
Fixed an issue where users could not save a Manual Approval step as a template when
autoApprove : action
is set toAPPROVE
orREJECT
. (CDS-76350) -
Fixed an issue found in some custom deployments, where the Fetch Instance Script could not access template variables defined in the infrastructure. (CDS-76353, ZD-48671)
-
Fixed an issue where characters could get arranged incorrectly when updating an expression within a string value. For example, updating the expression in
test/var/<+expression.name>/login
might result intest/var/<+expression.name
/>login
. This fix ensures that expressions within strings are updated correctly. (CDS-76354, ZD-48515) -
Fixed an issue when trying to run pipelines with stages that were other pipelines in different projects. (CDS-76425, ZD-48708)
-
Fixed a UI issue where fields in Add Stage did not reposition correctly when the window size was decreased (CDS-76431).
-
Fixed an issue where the reconciliation for input set templates did not check for differences in old vs. new YAML for a given input set. The issue occurred because there was no flag to monitor for changes in YAML strings. (CDS-76533).
This fix introduces a new
yamlDiffPresent
boolean inInputSetYamlDiffDTO
and its relevant unit tests. The purpose of this flag is similar to validYAML, which determines whether the current YAML is valid or not. -
Fixed pipeline execution issue with Retry Intervals setting in failure strategies. (CDS-76542)
- A user could not abort a pipeline execution or mark a stage as failed during the retry interval.
-
Fixed an issue with the File Store UI screens, where changes made to the configuration were not getting displayed immediately. Users needed to refresh the screen to see it. With the fix, the screen is updated correctly. (CDS-76547, ZD-50495)
-
Fixed a FirstGen-to-NextGen migration issue where the migrator did not filter out duplicate keys when extracting variables. With this fix, the migrator allows unique keys only. (CDS-76576)
-
Fixed an issue where the K8s Apply step did not correctly evaluate expressions for the Command Type field. (CDS-76632)
-
Fixed a UI issue observed when retrying a pipeline execution: the wrong Execution Id was displayed because the UI was evaluating the
sequenceId
based on the rootexecutionId
. With this fix, the Execution Id is based on the back-end data for the current pipeline execution. (CDS-76697) -
Fixed an issue observed when trying to create a Container (CD) step from a template based on a Run (CI) step. With this fix, you can create a Container step from any compatible step templates. (CDS-76756, ZD-48569)
-
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)
This item requires Harness Delegate version 23.09.80811. For information about features that require a specific delegate version, go to the Delegate release notes.
-
Fixed an issue where adding a second Artifact Source to an AWS ASG service replaces (rather than adding to) the existing Artifact Source. (CDS-76843, ZD-49050)
-
The payload in the policy step did not support arrays. Now, array elements are supported in the payload. (CDS-76902)
-
Fixed an intermittent issue where Helm deployment pipelines would report the Helm repository as not found. (CDS-76919)
This item requires Harness Delegate version 23.09.80505. For information about features that require a specific delegate version, go to the Delegate release notes.
-
Fixed a UI issue that caused some edit buttons to not appear. (CDS-76977)
-
Fixed an issue where users could not save modified input sets from from the YAML view. (CDS-77117, ZD-49265)
-
Fixed a UI issue when running a pipeline with an input set that allows multiple choices (checkboxes) for a field. Previously, if no checkboxes were selected for a field, the pipeline set the value to an empty string. This could cause the pipeline execution to fail. With this fix, the pipeline sets field to undefined if no checkboxes are selected. (CDS-77221)
-
Fixed an issue where users could not specify runtime inputs for some advanced settings (such as Looping Strategy) in step groups and step group templates. With this fix, runtime inputs are supported for all advanced step group settings. (CDS-77246, ZD-49339, ZD-49427)
-
Variables names didn't support hyphens. Harness has added support for hyphens in variable names. (CDS-77293)
You can use the following expression to evaluate expressions of variables containing hyphens:
<+pipeline.variables.get("variable-wth-hyphen")>
. -
When using the OCI Helm connector with anonymous credentials, Harness would incorrectly derive the source port from the OCI repository and the connection validation would fail. With this fix, Harness does not add default port 443 if no port is provided in the URL itself. (CDS-77298)
-
For some customers, the CG deployment data was not appearing in the NG Dashboard. This issue has been fixed. (CDS-77373, ZD-49366)
-
Previously, only key-value maps were supported as payloads for webhooks. Now, arrays are supported as well. (CDS-77413, ZD-49460)
-
Previously, you could not re-run a pipeline from a stage that failed as part of a looping strategy. With this fix, Re-run from Last Failed Stage pre-selects the last stage that failed as part of a looping strategy. This behavior applies even if the stage failed with a conditional execution set to Always execute this stage. (CDS-77463)
-
Users can now open remote pipelines imported from Git even when there are errors in the YAML. (CDS-77505, ZD-49446, ZD-50346)
-
The UI for running pipelines has been improved to better distinguish between a Runtime Input (which you specify in Run Pipeline) and an Execution Time Input (which you specify during the pipeline execution).
-
Many runtime inputs can be configured as execution time inputs. The Pipeline Execution UI also provides popover text with useful information about any required execution time inputs. (CDS-77710)
-
-
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)This item requires Harness Delegate version 23.09.80505. For information about features that require a specific delegate version, go to the Delegate release notes.
-
Fixed an issue where step templates used in stage templates were being resolved into steps automatically. With this fix, the New Variable button in Template Studio (similar to Pipeline Studio) is disabled for any referenced child template. However, New Variable is not disabled for creating, updating, or deleting pipeline variables in a pipeline template or stage variables in a stage template. (CDS-77739, ZD-49520, ZD-49737)
-
Fixed an issue resolving secrets via
<+secrets.getValue("my_secret")>
used in container-based step groups in a Deploy stage. (CDS-77793, ZD-49391, ZD-49763, ZD-49838, ZD-50014) -
The following Node.js v20 images are now available on Docker Hub. (CDS-77801)
-
When users reran a remote pipeline with a new branch selected, the pipeline would execute with the previous branch selected. With this fix, the pipeline always runs with the current branch selected in Run Pipeline. (CDS-77826)
-
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)
This item requires Harness Delegate version 23.09.80811. For information about features that require a specific delegate version, go to the Delegate release notes.
-
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)
This item requires Harness Delegate version 23.09.80811. For information about features that require a specific delegate version, go to the Delegate release notes.
-
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.
This item requires Harness Delegate version 23.10.81010. For information about features that require a specific delegate version, go to the Delegate release notes.
-
Fixed a UI issue observed when retrying a pipeline execution: the wrong Execution Id was displayed because the UI was evaluating the sequenceId based on the root executionId. With this fix, the Execution Id is based on the back-end data for the current pipeline execution. (CDS-78305)
-
Fixed a Pipeline Execution UI issue where durations of less than 1s were displayed incorrectly. (CDS-78324)
-
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)
This item requires Harness Delegate version 23.09.80811. For information about features that require a specific delegate version, go to the Delegate release notes.
-
Fixed an issue related to reconciliation of templates that included the CloudFormation steps. The Specify Capabilities setting in the step was not validated correctly in the reconciliation, leading to repeated messages to reconcile. With this fix, the reconcile message does not come up erroneously. (CDS-78359, ZD-50240)
-
The output of the Kubernetes Dry Run step did not generate a valid Kubernetes manifest due to 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***
).This item requires Harness Delegate version 23.09.80811. For information about features that require a specific delegate version, go to the Delegate release notes.
-
Fixed an RBAC issue where a user was part of a User Group configured to approve a step but could not approve or reject it. The root cause was that the User Group selected for a pipeline approval also required View permission on User Groups. With this fix, the User Group does not require View permission for a member of that group to approve a pipeline execution. (CDS-78573, ZD-50139)
-
Fixed an issue where the pipeline would fail to evaluate a custom webhook trigger payload correctly when Git Experience was enabled. With this fix, you can now use an expression to specify the branch when setting up custom triggers for remote pipelines. (CDS-78611)
-
Fixed a UI issue in the Pipeline Executions list page related to expanding Executions to view their details. If a new execution was started and displayed on the page, all the displayed executions moved down a line but the expanded execution stayed in the same relative position on the screen (3rd from the top, 4th from the top etc.).
With the fix, the correct Execution stays expanded even if new ones get added to the list page. The caveat here is that if the execution Id of the expanded execution changes (e.g. it is rerun), the state is reset on the list page. (CDS-78674, ZD-49928)
-
Users can now see the conditional execution icon when the referenced stage or step template has conditional executions configured as runtime inputs only. (CDS-78795)
-
Fixed an issue observed when using a custom artifact and a script variable in the URL. Pipeline executions resulted in the following error:
Invalid request: Env. variable [version] value found to be null
. To fix this issue, runtime expressions are now supported for script input variables. (CDS-78855, ZD-50263) -
Previously, the delegate selector was available in the Configure Container step YAML only. This option is now available as an advanced option in the Configure Container step UI. (CDS-78948, ZD-50674)
-
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.
This item requires Harness Delegate version 23.10.81010. For information about features that require a specific delegate version, go to the Delegate release notes.
-
Fixed two UI issues related to the Run Pipeline > Services field. (CDS-79063, ZD-50516)
-
When multiple services were selected, and a user updated the list, the Variable field disappeared.
-
When a user tried to add more services, only the most recently selected services included the Variable field.
-
-
Fixed an issue where email notifications sent for approvals did not preserve line breaks specified in the UI. With this fix, approval emails will be formatted correctly. (CDS-79071, ZD-50115)
-
Fixed an issue where Abort was not available when a pipeline or stage status was Queued during a pipeline execution. (CDS-79073)
-
This release includes hotfix 0.362.29 NG UI, which removes the Allow Overrides option from the account setting Continuous Deployment > Enable Service Override V2. Removing this option prevents an indeterminate state when migrating to service overrides V2. (CDS-79127)
-
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.
-
Editing Harness expressions in settings was failing on FireFox. Users can now edit expressions in Firefox. (CDS-79162)
-
Fixed an issue where users could not select allowed variable values in Re-run Pipeline from a failed stage. (CDS-79260)
-
Harness now supports the deployment of ECS services whose count is the same as the running instances in a blue-green strategy (CDS-79412)
This item requires Harness Delegate version 23.10.80808. For information about features that require a specific delegate version, go to the Delegate release notes.
-
Harness CD now supports auto-scaling of green services in the ECS Blue Green Swap Target step. (CDS-79414)
This item requires Harness Delegate version 23.09.80811. For information about features that require a specific delegate version, go to the Delegate release notes.
-
We have updated the internal Jenkins library to support long Ids for the Jenkins build step. Previously, the Ids supported were limited to int bounds. (CDS-79499, ZD-50718, ZD-50888).
-
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.
This item requires Harness Delegate version 23.10.81010. For information about features that require a specific delegate version, go to the Delegate release notes.
-
When applying a pipeline filter that includes one or more services, the Pipelines page did not show pipelines that matched the services included in the filter. (CDS-79569, ZD-50830)
-
Fixed an issue where using empty config files for a service in an SSH/WinRM deployment caused the pipeline to fail with a Null Pointer Exception. (CDS-79578, ZD-50811)
-
The Merge PR step fails with GitLab connectors. (CDS-79772)
This issue has been fixed.
This item requires Harness Delegate version 23.10.81010. For information about features that require a specific delegate version, go to the Delegate release notes.
-
When the OCI Helm connector was configured with a URL that contained a path (somehost.io/path1/path2) and not just the host name (somehost.io), attempts to fetch chart versions failed. (CDS-79786, ZD-50862, ZD-51081)
This issue has been fixed. Chart versions are fetched even with a path in the connector URL.
This item requires Harness Delegate version 23.10.81010. For information about features that require a specific delegate version, go to the Delegate release notes.
-
Fixed a search issue where searching by service showed no results, even when choosing a deployment. (CDS-79822, ZD-51091)
Continuous Error Tracking
-
When configuring notifications for code errors and selecting the Any option, the Timeout Error type was incorrectly listed as one of the choices in the dropdown menu. (CET-1514)
This issue has been resolved. Now, when configuring notifications for code errors and selecting the Any option, the Timeout Error type is not listed in the dropdown menu.
Continuous Integration
-
You can now use expressions, such as those for matrix strategies, in build infrastructure
platform
settings when working in the YAML editor. (CI-6830) -
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. This item requires Harness Delegate version 23.09.80804. For information about features that require a specific delegate version, go to the Delegate release notes. (CI-8831, ZD-47647)
-
Fixed an issue where, if you selected runtime input for the codebase connector and repository name in a pipeline template, these settings reverted to fixed values after saving any other change to the template. (CI-8885, ZD-47680, ZD-47744)
-
Webhook triggers now reattempt calls to SCM APIs if the connection was reset or there was a server-side error. This fixes an issue where intermittent outages in connections to SCM APIs failed to trigger builds. (CI-8904, ZD-47605)
-
Upgraded
io.netty:netty*
to version4.1.94.final
to address vulnerabilities. This item requires Harness Delegate version 23.09.80505. For information about features that require a specific delegate version, go to the Delegate release notes. (CI-8971, ZD-48488) -
Improved the way Test Intelligence handles tests that call more tests. Previously, this rarely caused inaccurate renderings in the call graph visualization for Java-based tests. (CI-9053)
-
Removed unnecessary wait time at the end of the initialize step, saving approximately 30 seconds. This fix requires Harness Delegate version 803xx or later. For information about features and fixes requiring a specific delegate version, go to the delegate release notes. (CI-9122)
-
Fixed two issues in the Get Started workflow: (CI-9147)
- Removed a redundant field validation for Branch, which is not required if you deselect Store in Git.
- Pipeline Name is no longer ignored. Previously, pipelines were named
Build REPO_NAME
, regardless of what you entered in Pipeline Name.
-
When adding Environment Variables for Run steps, the Visual Editor now allows empty values. This matches existing functionality in the YAML editor where you can use empty quotes to specify an empty value, such as
VAR_NAME: ''
. (CI-9148) -
Git event webhook triggers based on GitHub Issue comments failed if the GitHub connector connected through the Harness Platform and the account had no delegates. Despite the connector not requiring a delegate, the trigger still failed. This has been fixed. (CI-9150)
-
Fixed two issues related to runtime input (
<+input>
) with Cache Intelligence. (CI-9177)- Previously, if you used runtime input for custom cache paths, Harness wouldn't prompt for your input and, instead, ran the pipeline with an empty path. Now, Harness correctly prompts you for this input when you run the pipeline.
- Previously, if you used runtime input for custom cache keys, you couldn't save the pipeline due to an improper schema validation error. This is fixed.
-
Fixed an issue with UI rendering of error messages related to Test Intelligence call graph visualizations. (CI-9198)
-
To avoid conflicts with user-provided loggers for .NET builds, Harness installs and injects the default logger only if a logger is not specified in the Run Tests step's Build Arguments. (CI-9240)
-
Removed the
DRONE_WORKSPACE
environment variable from the local runner build infrastructure because it overwrote the working directory. This variable is equivalent toHARNESS_WORKSPACE
, which doesn't incorrectly overwrite the working directory. (CI-9303) -
Filtering the build list by Build Type: Branch now correctly excludes PR builds. (CI-9322, ZD-48837, ZD-49619)
-
Pipelines failed due to a 409 error that occurs if multiple BuildKit instances attempt to create the same file in a GCP bucket, such as with the Save Cache to GCS step. Now, such errors are ignored when exporting a cache. At the point in a pipeline when a cache is saved, the image is already built and pushed, and errors, such as this 409 error, should not prevent saving the cache. (CI-9323, ZD-49698)
-
Fixed an issue where step-level matrix looping strategies failed due to a mismatch in step identifiers. (CI-9325, ZD-49594, ZD-50209)
-
If a step used runtime input for conditional execution settings, but no runtime input was provided at pipeline runtime, then the pipeline passed the literal string
<+input>
instead of an empty object. This is fixed. (CI-9428, ZD-50027) -
In Kubernetes cluster build infrastructures, non-existent or unresolvable secrets are now handled in the same way as they are in VM and Harness Cloud build infrastructures. (CI-9677, ZD-50868, ZD-50901)
-
Fixed an issue with identifiers assigned to steps in matrix looping strategies that occurred if your account was configured to use Matrix Labels by Name and the pipeline contained nested matrix strategies. This issue produced a Null Pointer Exception error. (CI-9680)
-
Version 5802: Fixed an issue where build pods weren't cleaned up after the build finished. This was due to the cleanup task targeting pods to cleanup by pod IP address. In scenarios where a pod creation request fails, there is no pod IP available for the cleanup task to target. Now, the cleanup task can use pod names or IP addresses. (CI-9699, CI-9688, ZD-51016, ZD-51035, ZD-51064)
Feature Flags
-
Linking to a specific project's targeting page did not load from outside the app. (FFM-8053)
This issue has been resolved.
-
Fixed an issue where adding multiple target groups to a flag using a single
AddSegmentToVariationTargetMap
instruction could result in only the first target group being visible and editable on the feature flag detail page. (FFM-9033) -
Removed the
RemoveSegmentsToVariationTargetMap
variable from the pipeline. (FFM-9034) -
Fixed an issue where existing percentage rollout configurations could not be edited after a new variation was added to a feature flag. (FFM-9070)
-
The flag identifier validation error appeared twice when a mismatching flag identifier was entered. (FFM-9136)
-
Fixed the casing of two feature flags. (FFM-9416)
Harness Delegate
-
Fixed an issue where the token value was missing in the delegate token list API call. (PL-39790)
-
Fixed an issue where some records did not trigger delegate task assignments. (PL-40148)
-
The
publishedDelegateVersion
API incorrectly required edit permission. (PL-40322)This issue is fixed. The
publishedDelegateVersion
API now requires only view permission. -
The task count did not decrease when a task was aborted and the
DELEGATE_TASK_CAPACITY
environment variable was enabled. (PL-41367)Harness recommends that you upgrade to delegate version 23.09.80511 to resolve this issue.
Harness Platform
-
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.
This item requires Harness Delegate version 23.09.80804. For information about features that require a specific delegate version, go to the Delegate release notes.
-
The Assign Roles dialog listed the built-in Account Viewer role when you were assigning roles to a user group, and it did not provide a way for you to remove that role. You could, however, remove the Account Viewer role when updating the role assignments in the Manage Role Bindings dialog. (PL-32413)
This issue has been fixed. You can now remove the Account Viewer role when assigning roles to a user group.
-
If the renewal of a HashiCorp Vault token that is used for token-based authentication fails, Harness attempts to renew the token perpetually. These attempts load the system and seem amplified in scenarios in which the connector or service is no longer in use. (PL-32647)
To handle such scenarios better, Harness now pauses its attempts to renew a token if two consecutive renewal attempts fail. Harness resumes its renewal attempts when you perform one of the following tasks:
- You update the associated HashiCorp Vault connector.
- You test the associated HashiCorp Vault connector manually and the test succeeds.
-
In some scenarios, when the delegate tried to send a heartbeat to connect to Harness Manager and MongoDB was down, Harness Manager sent a self_destruct message to stop the delegate. (PL-38122)
This issue is fixed. Harness Manager no longer sends
self_destruct messages
, the delegate continues to run, and the delegate tries to send a heartbeat again after one minute. -
Earlier, you could only see a maximum of three tags on the Delegates list page. (PL-38936)
This issue has been fixed. You can now see all the tags for all delegates.
-
Harness showed JSON Web Token URLs in Delegate task logs associated with shell script task failures. (PL-39102)
This issue has been fixed.
This item requires Harness Delegate version 23.09.80804. For information about features that require a specific delegate version, go to the Delegate release notes.
-
The Harness UI fetched only the first 200 organizations when you performed a search for an organization in the Create Project dialog (the page size for the API request is 200). If an organization you wanted to specify was not part of this initial set of organizations, the Harness UI did not generate additional API requests, and you were blocked on creating your project. (PL-39198)
This issue has been fixed. You can now search for and select any organization in your account.
-
OAuth sign-up emails were stored without being converted to lowercase. This caused duplicate emails in Harness with different cases. The issue was fixed by storing OAuth sign-up emails with lowercase. (PL-39331, ZD-47425)
-
Updates to the role assignments of a user group in one project caused role assignments to get updated in other projects in the organization. The issue was observed in the following scenario:
- You used a regex query to update role assignments in a project.
- Identifiers of other projects in the organization overlapped with that of the project in which you updated role assignments.
- Identifiers of user groups in those other projects matched the identifier of the user group you updated. (PL-39780, ZD-46314)
-
Attempts to use the
harness_platform_user
resource to create or delete users results in an error. The message "Request failed as you have an older version of entity, please reload the page and try again" is displayed and the Terraform state goes out of sync with Harness. (PL-39870, ZD-47107)This issue has been fixed.
-
A role that you created would not appear when you typed its name on the Manage Role Bindings page. Therefore, you could not use the Harness application to bind that role to a user group. The issue was caused by the role assignment API retrieving only the first 100 roles in the ascending order (the page size is 100), and the associated client-side search being limited to those 100 roles. If the role you wanted was not part of this initial set of roles, it did not appear in your search. (PL-40363, ZD-48229)
This issue is now fixed. A newly introduced server-side search includes roles that are beyond the page size limit.
-
During a long network outage that impacted the delegate, attempts made by the delegate to reconnect the websocket failed. The issue was caused by the delegate attempting to reconnect the websocket only once, after failing to send five heartbeats in succession. (PL-40547, ZD-48579)
The issue is now fixed. During long network outages, the delegate attempts to reconnect the websocket every time it fails to send a heartbeat.
This item requires Harness Delegate version 23.08.80308. For information about features that require a specific delegate version, go to the Delegate release notes.
-
A few minutes after you linked a Harness user group to a different LDAP group, the change was reverted. That is, the user group gets linked to the previous LDAP group. The behavior persisted even if you deleted the user group, created a new user group with the same name, and then associated it with the second LDAP group. (PL-40558, ZD-48332)
This issue is now fixed.
-
When adding users to a user group, you had to manually select users from the menu; pasting email addresses in the text box did not work. (PL-40559)
Now, in addition to selecting users from the menu, you can paste users' email addresses in the text box.
-
Earlier, when you clicked an expired link in an invitation email, Harness displayed the following message: "We couldn't find an invitation matching the email address you entered. Please search your email for an invitation from Harness or contact your admin." This message was inaccurate. (PL-40597)
Now, Harness displays the following message when you click a link in an expired invitation: "This invitation URL has expired. Please request for a new invitation from your admin."
-
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
This item requires Harness Delegate version 23.09.80804. For information about features that require a specific delegate version, go to the Delegate release notes.
- Removed
-
With an earlier update, delegates tried to create a Kubernetes runner, which created an API client using the Kubernetes config. Shell delegates tried to fetch the local config. GKE configurations with expired credentials resulted in an error. (PL-40631)
This issue is fixed. Harness catches the exception and continues with delegate startup.
-
The count of failed streams on the Failed Streaming card (on the Account Audit Trail page) continued to include problematic destinations even after those destinations were removed. (PL-40641, ZD-49004)
This issue is now fixed. The error count includes only available destinations.
-
API requests for creating and updating projects (
POST v1/orgs/{org}/projects
andPOST v1/orgs/{org}/projects/{project}
, respectively) were considered invalid if you specified a value for theorg
parameter both in the body of the request and in the URL path, and the two values did not match. In this scenario, the following message was displayed:Invalid request: Request is having different org in payload and param
(PL-40668)This issue has been fixed by the removal of the parameter from the request body schema. You are now required to provide this parameter only in the URL path.
-
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) -
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
This item requires Harness Delegate version 23.09.80804. For information about features that require a specific delegate version, go to the Delegate release notes.
-
The Harness user interface did not give you the option to view more than ten resources in a resource group. (PL-40747, ZD-49413)
This issue is now fixed.
-
When Harness is configured to use the AppRole ID to fetch an authentication token from HashiCorp Vault, Harness generates a large number of requests for those tokens. The volume of requests causes performance issues. (PL-40754)
This issue has been fixed. You can now specify whether or not you want to retain the token to reduce the number of requests made. Possible values are
True
andFalse
. The default value isTrue
. -
If there are no delegate configurations to show on the Delegate Configurations tab of your project's Delegates page, the Harness UI hides the tab. Any errors associated with retrieving data for that tab are, therefore, also invisible to users. This behavior is expected and by design. However, after the deployment of Harness NextGen UI version 0.356.18, this behavior changed: if there were no delegate configurations to show and the associated API request resulted in an error, the associated error message was displayed on the other two tabs of the project's Delegates page, namely, the Delegates and Tokens tabs.
For example, if you were not authorized to view delegate configurations, and if there were no delegate configurations to show on the Delegate Configurations tab, Harness would display the error
You are not authorized to view delegate configurations. You are missing the following permission: View delegate configurations ...
on the Delegates and Tokens tabs. (PL-40757, ZD-49023)This issue has been fixed.
-
The Create or Select an Existing Connector dialog did not show any results when you filtered on Nexus connectors. (PL-40904)
The associated API is now fixed.
-
Emails inviting users to a Harness project included a stack trace. The issue was limited to users who had single sign-on enabled on their accounts. (PL-40991, ZD-50038)
This issue has been fixed.
-
Harness Platform release 80504 did not allow you to create empty user groups. (PL-41005, ZD-50411, ZD-50475)
This issue has been fixed.
This item requires Harness Delegate version 23.09.80804. For information about features that require a specific delegate version, go to the Delegate release notes.
-
In the connector configuration wizard, if you selected Azure Key Vault or GCP Secret Manager and then selected the Use the credentials of a specific Harness Delegate (IAM role, service account, etc) option, the wizard did not show the Use as Default Secret Manager checkbox. You could, however, achieve this configuration through the Harness API. (PL-41054)
This issue has been fixed.
-
Fixed an issue where the latest delegate version was not reflected in the latest supported delegate version API. (PL-41151)
This item requires Harness Delegate version 23.10.81010. For information about Harness Delegate features that require a specific delegate version, go to the Delegate release notes.
-
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.
This item is available with Harness Platform version 80811 and does not require a new delegate version. For information about Harness Delegate features that require a specific delegate version, go to the Delegate release notes.
-
The password field in the SMTP configuration wizard showed asterisks, which are typically used to mask passwords, even when the SMTP configuration did not use a password. This issue caused confusion about whether a password was in fact in use. (PL-41159)
This issue has been fixed. If the SMTP configuration does not use a password, the password field does not show asterisks.
-
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.
This item is available with Harness Platform version 80811 and does not require a new delegate version. For information about Harness Delegate features that require a specific delegate version, go to the Delegate release notes.
-
Delegate names in Harness NextGen and FirstGen couldn't have the same name. Delegates in Harness NextGen and FirstGen can now have the same name. (PL-41398, ZD-59565)
This item is available with Harness Platform version 80909 and does not require a new delegate version. For information about Harness Delegate features that require a specific delegate version, go to the Delegate release notes.
Service Reliability Management
-
The API endpoint
/cv/api/monitored-service/versions_int1
was not functioning correctly. (SRM-15321)This issue has been resolved. Now, in cases where the "sources" field is received as null, the system treats it as equivalent to
{ healthSources: [], changeSources: [] }
.
Security Testing Orchestration
- Fixed a UI issue where the module sidebar in the left-side menu would scroll when a user clicked different menus within STO. With this fix, the module sidebar maintains its position when a user clicks different menus. (STO-6219)
Patches
November 10, 2023, 0.10.1
This release includes the following Harness module and component versions.
Name | Version |
---|---|
Helm Chart | 0.10.1 |
Air Gap Bundle | 0.10.1 |
NG Manager | 80917 |
CI Manager | 6100 |
Pipeline Service | 1.47.11 |
Platform Service | 80502 |
Access Control Service | 80302 |
Delegate | 23.10.80810 |
Change Data Capture | 80909 |
Test Intelligence Service | release-197 |
NG UI | 0.364.18 |
LE NG | 68305 |
Alternative air gap bundle download method
Some admins might not have Google account access to download air gap bundles. As an alternative, you can use gsutil
. For gsutil
installation instructions, go to Install gsutil in the Google Cloud documentation.
gsutil -m cp \
"gs://smp-airgap-bundles/Harness-0.10.1/ccm_images.tgz" \
"gs://smp-airgap-bundles/Harness-0.10.1/cdng_images.tgz" \
"gs://smp-airgap-bundles/Harness-0.10.1/ce_images.tgz" \
"gs://smp-airgap-bundles/Harness-0.10.1/cet_images.tgz" \
"gs://smp-airgap-bundles/Harness-0.10.1/ci_images.tgz" \
"gs://smp-airgap-bundles/Harness-0.10.1/ff_images.tgz" \
"gs://smp-airgap-bundles/Harness-0.10.1/platform_images.tgz" \
"gs://smp-airgap-bundles/Harness-0.10.1/sto_images.tgz" \
.
Fixed issue
- Configured
socket-timeout
to handle a higher volume and scale of customer billing data. (CCM-15026)
September 30, 2023, version 0.9.0
New features and enhancements
This release includes the following Harness module and component versions.
Name | Version |
---|---|
Helm Chart | 0.9.0 |
Air Gap Bundle | 0.9.0 |
NG Manager | 80219 |
CI Manager | 5313 |
Pipeline Service | 1.41.3 |
Platform Service | 80000 |
Access Control Service | 79802 |
Delegate | 23.09.80113 |
Change Data Capture | 80209 |
Test Intelligence Service | release-197 |
NG UI | 0.357.17 |
LE NG | 68007 |
Alternative air gap bundle download method
Some admins might not have Google account access to download air gap bundles. As an alternative, you can use gsutil
. For gsutil
installation instructions, go to Install gsutil in the Google Cloud documentation.
gsutil -m cp \
"gs://smp-airgap-bundles/harness-0.9.0/ccm_images.tgz" \
"gs://smp-airgap-bundles/harness-0.9.0/cdng_images.tgz" \
"gs://smp-airgap-bundles/harness-0.9.0/ce_images.tgz" \
"gs://smp-airgap-bundles/harness-0.9.0/cet_images.tgz" \
"gs://smp-airgap-bundles/harness-0.9.0/ci_images.tgz" \
"gs://smp-airgap-bundles/harness-0.9.0/ff_images.tgz" \
"gs://smp-airgap-bundles/harness-0.9.0/platform_images.tgz" \
"gs://smp-airgap-bundles/harness-0.9.0/sto_images.tgz" \
.
The Harness Self-Managed Edition Helm chart release 0.9.0 includes major changes. You must update your existing override files to include the new changes. If you do not update your Helm chart override files, Helm upgrades will fail. The patch release package includes a migrate-values-0.9.x.sh
script to convert the old override.yaml
file to the new format.
Self-Managed Enterprise Edition
-
Harness has updated the Helm chart to optimize packaging and module delivery. (SMP-1588)
Restructured Helm charts
Release 0.9.0 includes restructured Helm charts and modularization.
Migration script
The Helm package includes a
migrate-values-0.9.x.sh
script in the scripts directory. You must add the file path to your oldoverride.yaml
file when you execute the script.This script requires
yq
. You must installyq
binaries to run the script.Sample usage
chmod 700 migrate-values-0.9.x
./migrate-values-0.9.x -f <PATH_TO_OLD_OVERRIDE_FILE>The output is a new file that includes your old file name with
-migrated
appended for example,<YOUR_OLD_FILE_NAME>-migrated.yaml
.You can now upgrade your instance with the latest charts and your new override file. For example:
-
Run the following to find the release name.
helm ls -A
The output will be similar to the following.
NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION
harness harness 16 2023-09-07 19:31:44.126091 -0700 -0700 deployed harness-0.8.2 1.0.79819 -
Run the following to get the old override file.
helm get values harness -n harness > oldvalues.yaml
-
Run the following to update file access.
chmod +x migrate-values-0.9.x.sh
-
Run
migrate-values-0.9.x
to get theoldvalues-migrated.yaml
file output.chmod 700 migrate-values-0.9.x
./migrate-values-0.9.x -f oldvalues.yaml -
Upgrade to the latest Helm chart. Use
harness/harness
for thechartSource
or the path of your chart's directory.helm upgrade harness <chartSource> -f oldvalues-migrated.yaml
Validation checks
The Helm package includes checks to prevent upgrades that do not include the correct set of overrides. When you use the correct set of overrides, the checks will pass and allow you to upgrade.
Here's an example of an invalid override:
helm upgrade harness/harness -f old.yaml
Error: execution error at (harness/templates/NOTES.txt:53:4):
Validation Error:
values/override.yaml files require changes to work with the new Harness Helm Charts structure -
-
Harness Self-Managed Enterprise Edition now supports self-managed MinIO object storage for disaster recovery. (SMP-1671)
For more information, go to Self-managed object storage.
-
You can now apply Harness' recommended high performance configuration to reach a scale of 1000 concurrent pipelines. (SMP-1836)
The
override-perf-ci-cd-ff.yaml
file is available in the Harness Helm chart repo. -
You can now use your Redis password in your external self-managed Redis database. (SMP-1860)
For more information, go to Use an external self-managed Redis database with your installation.
Continuous Delivery & GitOps
-
Removed Helm version 3.1 from delegates with an immutable image type (image tag
yy.mm.xxxxx
). (CDS-58892, ZD-47520, ZD-48553)This item requires Harness Delegate version 23.08.80104. For information about features that require a specific delegate version, go to the Delegate release notes.
-
Upgraded go-template binary to version 0.4.3, which uses Go version 1.20. (CDS-58919)
This item requires Harness Delegate version 23.08.80104. For information about features that require a specific delegate version, go to the Delegate release notes.
-
Upgraded the Helm binary from version 3.8 to 3.12. (CDS-58931)
This item requires Harness Delegate version 23.08.80104. For information about features that require a specific delegate version, go to the Delegate release notes.
-
The pipeline now retrieves the current status of the looping strategy for stages and steps during execution. (CDS-69780)
New built-in Harness expressions provide the current execution status of the looping strategy for nodes (stages/steps) using a matrix or repeat strategy.
Each stage or step in a looping strategy has a status of
RUNNING
,FAILED
, orSUCCESS
.The following expressions are supported:
<+strategy.currentstatus>
<+strategy.node.strategy_node_identifier.currentstatus>
<+strategy.node.get("strategy_node_identifier").currentstatus>
<+strategy.identifierpostfix>
<+step.identifierpostfix>
<+stage.identifierpostfix>
<+stepgroup.identifierpostfix>
<+strategy.node.strategy_node_identifier.identifierpostfix>
<+strategy.node.strategy_node_identifier.*>
For information on using the expressions, go to Use Harness expressions.
-
You can now migrate services with Helm charts from Helm repository-stored artifacts from CG to NG. This will help in migrations. This feature is behind the feature flag
CDS_HELM_MULTIPLE_MANIFEST_SUPPORT_NG
. (CDS-73894) -
Harness has introduced restrictions on the depth of nesting in execution pipelines to enhance system stability. Now, a node execution will not be allowed if it exceeds 25 levels of nesting. The 25th level refers to the node being the 25th child starting from the root node
pipeline
. (CDS-75249)This limitation is configurable, allowing Harness to increase the nesting limit if required to accommodate more complex pipelines.
To determine the optimal limit, we considered scenarios with 5 nested stepGroups with a looping matrix and step group running in parallel at each possible node. As a result, we have set the limit to 25, ensuring that it should not affect any practical pipelines we have encountered so far. (Currently the most complex pipeline in our production clusters has a maximum nesting of 16 levels.)
This change is vital to prevent potential issues that could arise due to a large number of recursively spawned children, leading to CPU spikes and POD restarts within our system. By implementing this restriction, we aim to maintain system performance and stability for all our customers.
Continuous Integration
-
Improved the consistency of built-in codebase expression values across build types. You can now expect similar values for these expressions regardless of build type. For example,
<+codebase.commitRef>
now provides a consistent reference for the build, such asrefs/heads/BRANCH_NAME
for a branch build orrefs/tags/TAG_NAME
for a tag build. (CI-7689) -
To support CI pipelines, Harness added the ability to set the Harness Delegate environment variable
LOG_STREAMING _URL
by default. If the delegate is outside of the cluster, the fallback log service URL isLOG_SERVICE_ENDPOINT
from CI. This update also includes a newTI_SERVICE_URL
delegate environment variable that takes theti-service
URL input from the delegate. (CI-9262, ZD-48974)
Harness Platform
-
A new
getAzureKeyVaultClient
API is available to fetch the list of Azure vaults. (PL-28392, ZD-44045)This option reduces the time it takes for Harness to reflect a newly-created Azure vault.
This item requires Harness Delegate version 23.08.80104. For information about features that require a specific delegate version, go to the Delegate release notes.
-
If you attempt to delete a project or organization that includes resources from other Harness modules, Harness first prompts you to confirm the delete action and then prompts you to enter the name of the project or organization. This two-step procedure gives you an opportunity to consider the impact that your action might have on other modules. (PL-32376, ZD-42691)
-
Delegate selection logs now include the
DelegateId
,DelegateName
, andhostname
. (PL-37913) This item is available with Harness Platform version 80022 and does not require a new delegate version. For information about Harness Delegate features that require a specific delegate version, go to the Delegate release notes. -
You can now configure the
create_namespace
Terraform parameter to disable default namespace creation. Set the parameter tofalse
in themain.tf
file to disable namespace creation. (PL-39822, ZD-47021) This item is available with Harness Platform version 80022 and does not require a new delegate version. For information about Harness Delegate features that require a specific delegate version, go to the Delegate release notes. -
You can now view delegate logs when validating a connector that uses a delegate to establish connections. (PL-37919)
-
The delegate expiration policy has been extended from 3 months to 6 months. You now only need to update delegates once every 6 months. (PL-39452)
-
Earlier, when an administrator enabled the account-level two-factor authentication (2FA) setting, it affected users in the following manner:
- Users who had set that account as their default account received 2FA emails, and the user-level 2FA setting was enabled across all their profiles. The users were not allowed to disable the setting.
- Harness allowed users to modify the 2FA setting only when an administrator disabled the account-level setting subsequently. Even then, the user-level 2FA setting remained enabled, and users continued to receive a 2FA challenge until they manually disabled the user-level setting in their profiles. (PL-39507, ZD-46268)
This behavior has been remediated. When an administrator enables the account-level 2FA setting, Harness sends the users 2FA emails but does not enable the user-level 2FA settings. Users are free to enable or disable the user-level setting in their profiles. When a user attempts to log in to their Harness account, Harness presents them with a 2FA challenge only if one or both of the settings (the account-level setting and the user-level setting) are enabled. If both settings are disabled, Harness does not present a 2FA challenge.
-
The Universal Base Image Minimal used for the Harness user interface (both FirstGen and NextGen) and the Harness NextGen authentication service has been upgraded to ubi8-minimal:8.8. This upgrade was necessitated by version 8.7 (ubi8-minimal:8.7) reaching end of life. (PL-40095)
Service Reliability Management
-
The Execution Logs have been enhanced to include additional details such as duration, task ID, and more. These details help you understand and debug CV Steps, SRM Live monitoring, and SLI. (OIP-565)
-
In manual Query mode, the Datadog Metrics Health source now provides support for formulas. (OIP-568)
These formulas follow a specific format: Query
a
; Queryb
; Formula usinga
,b
.Let's consider an example to illustrate this:
-
Query
a
is "Query-with-a" -
Query
b
is "Query-with-a" -
The formula is "(a/b) * 100 - 5"
The resulting query would appear as follows:
kubernetes.memory.usage{cluster-name:chi-play};kubernetes.memory.total{cluster-name:chi-play};(a/b) * 100 - 5
In the above example,
a
andb
represent the respective queries:-
a =
kubernetes.memory.usage{cluster-name:chi-play}
-
b =
kubernetes.memory.total{cluster-name:chi-play}
You can include any number of queries in the final formula using alphabetical variables, such as a, b, c, d, and so on.
-
-
The Splunk connector has been enhanced to include support for Bearer Token. (OIP-598)
-
Error messages from health source providers are now included in API responses for improved user experience and debugging efficiency. (OIP-657)
Early access features
Continuous Delivery & GitOps
-
You can now configure multiple Helm charts in the manifests. This provides feature parity with Harness FirstGen. Helm charts can now be configured from Helm Repository as Artifacts that allow the users to select the Helm chart for deployment. The UI also now differentiates between manifests and overrides in service. This feature is behind the feature flag
CDS_HELM_MULTIPLE_MANIFEST_SUPPORT_NG
. Contact Harness Support to enable the feature. (CDS-70209) -
Digest support added for Nexus 3, Github, and Artifactory artifact sources. (CDS-71711)
This feature is behind the feature flag
CD_NG_DOCKER_ARTIFACT_DIGEST
. Contact Harness Support to enable the feature.The Artifact Details page has a new, optional Digest setting where you can specify the digest/SHA for a container image artifact.
Specifying an image by digest, rather than just tag, is useful when you want to ensure that the image you deploy for a service is fixed and immutable. If an image with the specified tag/digest combination does not exist in the artifact registry, the pipeline execution fails.
Continuous Integration
-
The
CI_LE_STATUS_REST_ENABLED
feature has been rolled back to early access and disabled by default due to a discovered instability that caused the CD Container step to fail. This feature causes CI steps to send status updates to the Harness Manager directly by HTTP, rather than through a delegate.This feature flag is now disabled by default and must be re-enabled if your CI-to-Harness-Manager communications need to support client connections with additional certificates. (CI-8338)
-
Enable Cache Intelligence in the Visual editor. (CI-8571)
- The Enable Cache Intelligence UI field is behind the feature flag
CI_CACHE_INTELLIGENCE
. Contact Harness Support to enable the feature. - You can enable Cache Intelligence in the Pipeline Studio's Visual editor. Previously, you could only enable Cache Intelligence through the YAML editor. For more information, go to the Cache Intelligence documentation. This enhancement only applies to the Harness Cloud build infrastructure.
- The Enable Cache Intelligence UI field is behind the feature flag
-
Enable and configure Cache Intelligence in the Visual editor. (CI-8917)
- The Cache Intelligence visual editor fields are behind the feature flag
CI_CACHE_INTELLIGENCE
. Contact Harness Support to enable the feature. - You can enable and configure Cache Intelligence in the Pipeline Studio's Visual editor. Previously, you could only enable Cache Intelligence through the YAML editor. For more information, go to the Cache Intelligence documentation. This enhancement only applies to the Harness Cloud build infrastructure.
- The Cache Intelligence visual editor fields are behind the feature flag
Fixed issues
Custom Dashboards
Argo CD deployments were failing. Looker now includes models.persistent.storageClass
and database.persistent.storageClass
fields to override any storageClass
field used in PVC that has a higher precedence over global.storageClass
. Looker also now includes models.persistent.existingClaim
and database.persistent.existingClaim
to use an existing PVC. These updates resolve the issue. (CDB-1149)
Self-Managed Enterprise Edition
-
To avoid connection resets from load balancers with fixed idle timeouts (AWS NLB: 350s), we've added support for configuring the maximum idle timeout for the gateway's HTTP client. You can now update the
additionalConfig
in the gateway'svalues.yaml
file. (SMP-1926)---
gateway:
additionalConfigs:
HTTP_CLIENT_POOL_MAX_IDLE_TIME: 300s
Continuous Delivery & GitOps
-
Fixed an issue where Azure webhook triggers did not work as expected because the delegate could not parse repository URLs in the format
https://{ORG}@dev.azure.com/{ORG}/{PROJECT}/_git/{REPO}
. With this fix, the delegate can parse these URLs and Azure webhook triggers work as expected. (CDS-59023)This item requires Harness Delegate version 23.08.80308. For information about features that require a specific delegate version, go to the Delegate release notes.
-
Rerun of triggered pipeline threw an error. (CDS-69387)
There was an issue when rerunning a pipeline removed runtime inputs during the rerun. This issue has now been fixed.
-
Fixed an issue where Jira and ServiceNow approvals didn't fail fast if a connector provided was an incorrect type or not present. The pipeline would repeatedly request details of the Jira/ServiceNow ticket and keep failing with the same error (connector not found or incorrect connector). (CDS-69683)
With this fix, the pipeline fails at the very beginning of the step execution if the connector type is incorrect or not present. This avoids repeated polling and delayed failure.
-
The Services dashboard information was missing or incorrect for the latest deployment. (CDS-70856, ZD-45388)
There was an issue in the Services dashboard when step group names had special characters in them. The issue led to incorrectly displaying names. This issue has now been fixed by sanitizing the names.
-
Fixed a delegate-selector issue in Jira, ServiceNow, and Bamboo build steps. When a delegate selector was added at the step/stage/pipeline level, it did not override the selector coming from the connector. This meant that both the delegate selectors were getting checked during the step execution. With this fix, if any selector is at the step/stage/pipeline level, it overrides the selector coming from the connector. This is the default behavior in every other step type. (CDS-71025)
This item requires Harness Delegate version 23.08.80308. For information about features that require a specific delegate version, go to the Delegate release notes.
-
The Proceed With Default Values information was showing on UI incorrectly. (CDS-71168) We have introduced a modification to disallow the configuration of Proceed With Default Values as the post-retry action.
The Proceed With Default Values action is only applicable for input timeout errors. This action allows the pipeline execution to continue with default values when users are unable to provide execution-time input within the specified time limit.
With this change, users will no longer be able to set Proceed With Default Values as the post-retry action, ensuring that the action is only valid for handling input timeout errors scenarios.
-
A Jenkins job URL containing a space is displayed with invalid formatting in the Output tab of Jenkins step execution. (CDS-71362, ZD-45614)
For Jenkins step Output, we are replacing spaces in the Jenkins URL with
%20
. -
Status and count mismatch in matrix wrapper. (CDS-72030)
In the stage status count displayed for matrices in the pipeline execution details page, the Ignore Failed strategy will now be counted as a success. The count behavior will not change for Aborted status. Instead, it will continue to show in the failure count as before.
-
The Harness Approvals auto-reject filter was only using Created At field. (CDS-72058, ZD-45810)
The auto-reject feature in Harness Approval steps did not consider the execution time.
Executions of the pipelines waiting on Harness Approval steps were rejected without considering the time modality of the executions.
For example, let's say there are 3 executions of the same pipeline (A, B, C, in the order in which their respective approval step started). These executions are waiting on a Harness Approval step with auto-reject enabled. When approving the execution B, only execution A was expected to get rejected, and not C. The issue was that C was also getting rejected.
This behavior has been fixed. Now, auto-reject only rejects previous executions waiting on a Harness Approval step. The start time of the Harness Approval step is used to decide which executions to reject.
-
Chained pipelines runtime error with Barrier step. (CDS-72063, ZD-45997)
When using the pipeline chaining feature, there was an runtime error when the chained pipeline had a Barrier step. This issue has now been fixed.
-
Fixed an API issue where a request to update the input sets of a pipeline when importing the pipeline from Git did not update the
lastUpdateAt
field. (CDS-72098) -
Users were unable to edit service configuration files. (CDS-72246)
Users were unable to edit and update manifests and values.yaml files hosted on Harness. This issue has now been fixed.
-
The Harness File Store's Referenced by setting was not showing any results.(CDS-72250, ZD-46193)
The Referenced by setting was not working correctly for files in the Harness File Store when they are used in pipeline steps like the Command step. This issue has now been fixed.
-
Fixed an issue that would cause
<+artifact.imagePullSecret>
to be resolved as null when setting up an AWS connector in IRSA mode. The delegate creates sync tasks for fetching ImagePull secrets for ECR. The delegate was creating the sync task incorrectly, as it only looked at account-level delegates, causing the capability check to fail. Now, the delegate creates the relevant tasks correctly. (CDS-72334, ZD-46266) -
Fixed an issue where, in some cases, removing a file reference from a service did not clear the file reference. In addition, enabling Force Delete did not allow users to remove the file. This fix ensures the intended behavior: when a file, secret, or template is removed from a service configuration, any references between the service and the referenced object are also removed. (CDS-72350, ZD-46133)
-
Cron triggers artifact setting failed when modified regex did not match any build. (CDS-72589, ZD-46323)
Harness initially modifies the regex to see if it matches any build. The trigger was failing if it did not match. Now, if the regex does not match any build, Harness will use the original regex.
This item requires Harness Delegate version 23.07.79904. For information about features that require a specific delegate version, go to the Delegate release notes.
-
Fixed an issue in Artifactory deployments where the Artifact Path pull-down menu would populate even when the Artifactory connector failed to process a regular expression. Now, when a regex is supplied to an artifact tag in the pipeline for a service, the Artifact Path menu populates correctly based on the regex. (CDS-72737, ZD-46236)
This item requires Harness Delegate version 23.08.80104. For information about features that require a specific delegate version, go to the Delegate release notes.
-
Fixed an issue where using selective stage execution in the advanced settings of a pipeline would cause the pipeline build to fail. This was due to incorrect index handling when processing
<+pipeline>
variables in shell scripts, which would result in index-array-out-of-bounds errors. (CDS-72840) -
The
kubectl
command now includes retry logic to handle connectivity issues. (CDS-72869)This item requires Harness Delegate version 23.08.80104. For information about features that require a specific delegate version, go to the Delegate release notes.
-
Previously, when a fixed value was specified to a pipeline build, the Service step used pattern matching to verify the value. Now, the Service step verifies the value by using an exact match. (CDS-72911)
For example, suppose the Jenkins Build field is set to 1. Previously, the check would pass even if build 1 was absent and build 41 was present. With this fix, the check passes only if build 1 is present.
This item requires Harness Delegate version 23.08.80104. For information about features that require a specific delegate version, go to the Delegate release notes.
-
Template YAML was not changing after changes in the UI. (CDS-72942, ZD-46501)
There was an issue with editing and saving account-level templates in the YAML builder. This issue has now been fixed.
-
Background step with matrix was failing to find the entry point. (CDS-73034, ZD-46534)
A user was unable to use matrix expressions when the object list in the matrix exactly matched the combination of background tasks. This issue has now been fixed.
-
Red and green colors implemented in some areas need to be consistent to avoid contrast issues. (CDS-73054)
-
Error while trying to access a stage template. (CDS-73138, ZD-46636)
Opening the template inputs UI drawer inside the template studio was breaking the page. This happened only for the specific template use case involving setup groups. This is now resolved.
-
Artifactory artifact source Artifact Name regex value was not working correctly. (CDS-73150)
Harness has added support for regex values for generic type Artifactory artifacts.
-
Fixed an issue where Helm deployment steps timed out after the initial installation/upgrade phase, preventing the execution of a Helm rollback step. (CDS-73264, ZD-46163)
This item requires Harness Delegate version 23.08.80104. For information about features that require a specific delegate version, go to the Delegate release notes.
-
The
<+configFile.getAsBase64()>
expression not resolving correctly when the content had new lines. (CDS-73424)The issue occurred with newline characters while encoding config files. This is fixed and Harness now replaces newline characters with unicode.
This item requires Harness Delegate version 23.07.79904. For information about features that require a specific delegate version, go to the Delegate release notes.
-
Fixed a UI issue where the Cloud Formation Create Stack page did not persist user inputs when converting dropdown values. For example, trying to change the Region field to an expression would result in an error screen with the message
Something went wrong, this error has been reported
. This was due to an error when creating a values array for the dropdown menu. The issue has been fixed to ensure that the conversion is in sync with the UI and the dropdown values are persisted. (CDS-73426, ZD-47608) -
Fixed an issue with the
/ng/api/environmentsV2
endpoint. Previously, the endpoint would ignore overrides in YAML payloads when posting a request to create an environment. This endpoint now supports overrides in YAML environment definitions, as shown in the following example. (CDS-73496)environment:
name: coola
identifier: coola
tags: {}
type: Production
orgIdentifier: default
projectIdentifier: H
overrides:
manifests:
- manifest:
identifier: sdda
type: Values
spec:
store:
type: Harness
spec:
files:
- account:/s -
Harness does not currently support using expressions in failure strategies, so this support has been removed from the UI. Harness has a roadmap item to simplify YAML definitions, which will support using expressions in failure strategies. (CDS-73614)
-
Fixed an issue where 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 is set to the higher of the default and configured timeouts. (CDS-73641, ZD-46904, ZD-48180)
This fix is behind the feature flag
DISABLE_WINRM_COMMAND_ENCODING
. Contact Harness Support to enable this fix.This item requires Harness Delegate version 23.08.80104. For information about features that require a specific delegate version, go to the Delegate release notes.
-
Fixed a Helm chart deployment issue where specifying the chart version in the manifest as a runtime input resulted in the error,
Failed to query chart versions. Response code [404]
. The OCI Helm connector now fetches the chart version correctly. (CDS-73714, ZD-47063) -
Fixed a UI issue to ensure that the pipeline execution UI shows the correct icons for container steps. (CDS-73725, ZD-47103)
-
Fixed an issue where the Override Image Connector did not properly configure the image path in the container step. This issue has been resolved. The Override Image Connector now correctly configures the image path, including the host name. (CDS-73727, ZD-43089, ZD-46916, ZD-47578, ZD-47716)
This item requires Harness Delegate version 23.08.80104. For information about features that require a specific delegate version, go to the Delegate release notes.
-
Fixed a UI issue in the File Store page where clicking on an entity link redirected to the Services page. With this fix, an entity link now points to the details page for the referenced entity. (CDS-73834, ZD-46193)
-
When a user marked a running stage in the pipeline as failed, the build also marked the parallel queued stages as failed. This was incorrect behavior because the queued stages should continue to run if they were configured to do so.
This issue has now been fixed. If a running stage is marked failed by the user, and there are parallel queued stages waiting, the stages are not marked as failed and run the way they are configured. (CDS-73857, ZD-47087)
-
Fixed a UI issue causing the stage dropdown options in the Tests tab of the execution page to scroll unexpectedly when an execution was in progress. (CDS-74026)
-
Fixed an issue where command execution logs were incomplete even though the pipeline ran successfully. This issue was observed when using Command steps in SSH or WinRM deployments. (CDS-74042, ZD-46904)
This item requires Harness Delegate version 23.08.80104. For information about features that require a specific delegate version, go to the Delegate release notes.
-
Fixed an issue where the Terraform Plan step would exit with code 0 even when there was a change as per the generated plan. This would happen when using the Export JSON representation of Terraform Plan option. Now, the step exits with the correct code (2) based on the
terraform plan
command. (CDS-74144, ZD-47379)This item requires Harness Delegate version 23.08.80104. For information about features that require a specific delegate version, go to the Delegate release notes.
-
Fixed an issue when configuring ECS blue/green deployments: trying to specify expressions for certain fields would cause the page to crash with an error (
Something went wrong...
). (CDS-74156, ZD-47387) -
Fixed an issue that resulted in failures when deploying a Tanzu service with a
vars.yaml
file. (CDS-74163, ZD-47412)You can now provide routes as variables in your TAS manifest, as follows:
Sample TAS manifest:
applications:
- name: ((NAME))
memory: 500M
instances: 1
routes: ((ROUTES))Sample vars manifest:
NAME: harness_<+service.name>_app
ROUTES:
- route: route1.apps.tas-harness.com
- route: route2.apps.tas-harness.comThis item requires Harness Delegate version 23.08.80104. For information about features that require a specific delegate version, go to the Delegate release notes.
-
Fixed an issue where users could not use the Blue Green Stage Scale Down step with a manifest kind that was not present in the Kind list used by Harness. Now, the Blue Green Stage Scale Down Step will not fail for unknown manifest kinds. (CDS-74259, ZD-47431)
This item requires Harness Delegate version 23.08.80104. For information about features that require a specific delegate version, go to the Delegate release notes.
-
Fixed an issue where manifest extraction script was being rendered in service step itself before K8s steps. We're now rendering
serviceOverrideVariables
expressions later in the step itself so that the overridden value is used. (CDS-74335, ZD-47503) -
Fixed an issue where Command steps could not resolve Service Overrides for variables of type Secret (for example,
export testsvc="<+secrets.getValue(account.examplesecret)>"
. (CDS-74338, ZD-47280) -
Fixed an error-handling issue with Native Helm deployment failures. Previously, the pipeline printed only the last line of the error message in the console and ignored previous error lines, which resulted in a partial explanation. The pipeline now prints all lines in the error message, which provides a better understanding. (CDS-74348)
-
Fixed an issue with incorrect execution of a container step when the failure strategy was set to Always execute and the previous step had failed (but was ignored). (CDS-74567, ZD-47648)
-
Fixed an issue where the Harness Approval step would always fail if the step had automatic approvals set up with approver inputs. To fix this, the check for approver inputs has been removed. (CDS-74648)
-
Fixed an issue where, when a stage (say, s2) was created with a propagated service from a previous stage (say, s1), saving s2 as a template was not allowed due to the service reference. However, no error message was displayed. The issue is now fixed, and the error message is displayed correctly. (CDS-74759)
-
Fixed a UI issue in Pipeline and Execution pages where a search term would persist even after switching to a different project. (CDS-74788)
-
Fixed an intermittent issue where account-level templates could not access their referenced templates. Now, the reference links point to the correct resources. (CDS-74811)
-
Previously, there was no way to force delete resources from the Harness file store. This has now been enabled. (CDS-74878)
-
Harness account admins can now enable force-deleting of File Store files that are referenced in Harness. For more information, go to Force Delete. (CDS-74888).
-
When a Pipeline was executed using a trigger, the details did not appear in the Executed By column on the Executions List page. This has now been fixed, and the Trigger details are now displayed. (CDS-75025, ZD-47890)
-
The Prod Listener Rule ARN and Stage Listener Rule ARN parameters, which are required in an ASG Blue Green deploy step, were incorrectly marked as optional in the ASG Blue Green Deploy Step UI. Since they are required for a successful deployment, they've been changed to required fields. (CDS-75117)
-
Fixed an issue in the Run step where changing the git branch would cause merge calls to fail. (CDS-75716)
Continuous Integration
-
The Copy button is now available when editing input sets in the YAML editor. (CI-8199)
-
Fixed an issue where the active developer count was not reported for builds triggered by cron jobs, custom webhooks, and other triggers. (CI-8502, ZD-46409)
-
The Builds page now shows the correct user's avatar for manual builds. For scheduled builds, it now shows the schedule trigger name, instead of the latest commit author's name. (CI-8531, ZD-46409)
-
Test Intelligence now reads packages from files for all changed files, instead of relying on the file path to determine the package. This fixes an issue where tests were missed due to the test package not following the order of folders, because Test Intelligence previously determined the package from the class path. (CI-8692)
-
Fixed an issue with handling of newline characters in GitHub App private key files generated on Windows machines. This fix requires Harness Delegate version 80104 or later. For information about features and fixes requiring a specific delegate version, go to the delegate release notes. (CI-8708)
-
If a build started by a PR webhook fails, you can manually rerun the build. However, previously, the manual rerun could also fail due to a missing
DRONE_COMMIT_REF
environment variable. Now, this has been fixed, and the expected variable is included in case of manual reruns. (CI-8794, ZD-47417) -
Fixed pagination for license usage tables. (CI-8857)
-
Fixed an issue that caused Cache Intelligence to be incompatible with Maven 3.9. (CI-8891)
Feature Flags
-
Previously, when users selected All Environments from the Environments dropdown menu, then refreshed the page or went to another page, the Back button didn't return the user to the All Environments page. This issue has been resolved. (FFM-8012)
-
Fixed an issue where the API call was triggered twice in the front end when creating a flag. (FFM-8192)
-
Previously, when creating a flag targeting rule, using autocomplete search for a target group could remove target groups from other rules within the same flag. This issue has been fixed. (FFM-8680)
-
Previously, the permission to create a feature flag was required across all environments. This restriction has been removed. (FFM-8724)
-
Previously, on the flag details page, if all target groups were assigned to rules, the Percentage Rollout target groups selection would disappear. This issue has been fixed. (FFM-8841)
Harness Delegate
-
The Tokens list page returned a display error when tokens were present and there were multiple pages of results. (PL-36734)
A code enhancement to reset the pagination on the Tokens list page after any token is deleted fixed this issue. Previously, if you deleted the last token on any page after the first page, the page displayed an empty result list.
-
The listing API failed with an
UnsupportedOperationException
when custom tags were present. Filter APIs failed with NPEs. (PL-39824)A code enhancement fixed these issues.
Harness Platform
-
Previously, regardless of whether your account was on Harness NextGen or Harness FirstGen, Harness sent password reset emails from Harness FirstGen. This approach failed for accounts that are only on Harness NextGen. (PL-38735)
Now, for accounts that are only on Harness NextGen, Harness sends password reset emails from Harness NextGen.
-
Earlier, even though you could use the
JAVA_OPTS
environment variable to specify JVM options for the delegate, you could not override the default JVM options that Harness used, namely-XX:MaxRAMPercentage=70.0
and-XX:MinRAMPercentage=40.0
. The option to override the defaults was unavailable because the value of JAVA_OPTS was prepended to the default JVM options. (PL-38839)This issue has been fixed. The value of JAVA_OPTS is now appended to the default JVM options, thus allowing you to override the default options.
This item is available with Harness Platform version 80120 and does not require a new delegate version. For information about Harness Delegate features that require a specific delegate version, go to the Delegate release notes.
-
Instead of displaying an appropriate, RBAC-related message to users who did not have permissions to view the list of delegates, the Account Resources: Delegates page displays a "Failed to fetch: 403 Forbidden" message. (PL-39043)
This issue has been fixed. Now, in this scenario, the page informs such users that they are not authorized to view the page, and it lists the permissions that they require.
-
If you failed to specify the scope for a resource group that you created with the Harness API, Harness failed to apply a default scope, which it was expected to infer from the API request's query parameters. (The Harness UI, on the other hand, behaves as expected: it sets the default scope of the resource group to the scope that you are in when creating the resource group.) This behavior led to eligible users being unable to perform operations on the resource group. (PL-39271, ZD-45488)
This issue is now fixed. If you do not specify a scope for the resource group when using the API, Harness sets the default scope correctly, and eligible users should be able to perform operations on the resource group.
-
The user interface of the approval step is inconsistent with the saved contents of the User Groups field. Sometimes, the field omits some of the previously saved user groups but shows the correct count. At other times, it lists all of the previously saved user groups but shows a lower count. (PL-39294, ZD-45548)
This issue is now fixed.
-
You were allowed to create resource groups with the same identifier as a built-in resource group. (PL-39503)
This issue has been fixed. Validation in the API that creates resource groups now checks whether an existing resource group has the same identifier.
This item requires Harness Delegate version 23.08.80104. For information about features that require a specific delegate version, go to the Delegate release notes.
-
If the delegates that were eligible to execute a pipeline task (delegates that were within the account-organization-project scope of the pipeline and matched any configured delegate selectors) did not have the required tools or connectivity to execute the task, the task timeout message included delegates that did not meet the eligibility criteria. (PL-39624, ZD-46460, ZD-46513)
This issue has been fixed. The message displayed on task timeout has been improved for scenarios in which no delegate matches specified selectors and no delegates are found in the account.
This item requires Harness Delegate version 23.08.80104. For information about features that require a specific delegate version, go to the Delegate release notes.
-
When editing a WinRM credential that referenced a secret in a different scope, the WinRM Credential wizard showed the referenced secret as undefined. This issue was caused by incorrect scope information being sent in the API request. (PL-39707)
This issue has been fixed. The API request now includes the correct scope information.
-
The
listDelegates
API failed when custom selectors were present in the delegate. (PL-39779)A code enhancement to update custom tags fixed this issue.
-
You could not create Azure Key Vault connectors in Harness NextGen even when you used the service principal credentials that successfully created Azure Key Vault connectors in Harness FirstGen. After you entered the service principal credentials, the Vault setup window stopped responding. After several minutes, the following message was displayed: None of the active delegates were available to complete the task. ==> : 'Missing capabilities: [https:null.vault.azure.net]' (PL-39783, ZD-46756)
This issue is now fixed.
This item requires Harness Delegate version 23.07.79904. For information about features that require a specific delegate version, go to the Delegate release notes.
-
Delegates showed high CPU usage caused by a large number of threads that perform read operations being generated and abandoned. (PL-39797)
This issue has been resolved through improved message read performance and an increased read timeout.
This item requires Harness Delegate version 23.08.80104. For information about features that require a specific delegate version, go to the Delegate release notes.
-
Harness NextGen could not support SMTP without authentication because the user name and password fields were required. (PL-39863, ZD-48323)
This issue has been fixed. The user name and password fields are now optional.
-
API calls that requested role assignments filtered on user groups or service accounts (that is, API calls that used the
roleassignment/filter
endpoint withprincipalTypeFilter
set to USER_GROUPS or SERVICE_ACCOUNTS, respectively) returned an empty body. (PL-39888, ZD-47208)This issue is now fixed, and you can use the API to fetch role assignments for user groups and service accounts in any scope.
-
On the Project Connectors page, when you attempt to sort the connectors by when they were last updated, they get sorted by their connectivity status instead. (PL-40013, ZD-47483)
This issue is resolved, and you can now sort the connectors by when they were last updated.
-
For the Audit Trail, the YAML Difference on the Event Summary pane didn't include tag information for delegate groups and registers. (PL-40073)
This issue has been resolved.
This item is available with Harness Platform version 80208 and does not require a new delegate version. For information about Harness Delegate features that require a specific delegate version, go to the Delegate release notes.
-
If Harness could not create the desired role because it encountered an error condition, the role creation dialog displayed an obscure message instead of a user-friendly message. For example, if you included an invalid character in the name of the role, the role creation dialog displayed the message
failed to fetch: 400
instead of a message that called your attention to the invalid character. (PL-40127, ZD-47805)The issue is now fixed, and the dialog shows user-friendly messages.
-
The menu for selecting the page size on the account-level Audit Trail page showed the text
Select
by default instead of showing one of the built-in size options of 10, 20, 50, and 100. Additionally, the page displayed 25 items by default instead of using one of the built-in size options. (PL-40144)This issue has been resolved.
-
When you selected a project on the Projects page and then selected Pipelines, you were redirected to the page for getting started with the Continuous Integration module. (PL-40150, ZD-46389)
This issue is now resolved. Selecting Pipelines when on the Projects page now shows you the pipelines in the selected project.
-
Harness API requests for creating an API key for a service account returned an HTTP 200 OK status code even if the API request did not have a valid service account ID. Consequently, the
harness_platform_apikey
resource for Terraform failed to create the API key at the intended scope. The issue was caused by Harness failing to validate the service account identifier. (PL-40243, ZD-47921)The issue is fixed, and service account identifiers are now validated.
-
Harness Manager did not show role assignments for a service account at the organization and project scopes if the parent scope (the account scope and organization scope, respectively) had a service account with the same identifier. (PL-40245, ZD-47906)
The issue is now fixed, and any affected service accounts will be displayed correctly.
-
The YAML diff editor that shows changes to the YAML configuration associated with an event (Account Settings > Audit Trail > Event Summary) showed an inline diff, making it difficult for you to copy changes. (PL-40265, ZD-45911)
The diff editor now displays a side-by-side diff from which you can copy the changes you want.
-
The Setup Vault step of the Azure Key Vault connector wizard continued to use the previous secret reference even after you changed it. (PL-40269, ZD-48150)
The issue is now fixed, and the wizard reads the latest value.
-
Previously, the Select a Project pane displayed duplicate projects. The issue was caused by Harness Manager allowing users to create projects with the same
projectIdentifier
key in different organizations. (PL-40302, ZD-48700)The issue has been resolved by the use of a unique key that combines the project and organization identifiers.
-
When configuring an RBAC resource group in Harness Manager, if you discarded your changes, the resource group page showed a list of resources that should not be available at the scope that you are in. (PL-40393, ZD-48270)
This issue has been resolved.
Service Reliability Management
-
When the verification type is set to "Auto" and Harness CV applies canary analysis during verification, the test data representation inaccurately showed the analysis type as "Rolling" for all verification tasks. (OIP-608)
This issue has been resolved. Now, when the verification type is set to "Auto," the analysis type displayed during verification reflects the selection made by the majority of the verification tasks.
-
Host detection is incorrect for Canary verification when there are no common nodes among the pre-deployment and post-deployment nodes. (OIP-613)
This issue has been resolved. Now, during Canary verification, the hosts are detected correctly even when there are no common nodes among the pre-deployment and post-deployment nodes.
-
Incorrect ordering of execution logs and API call logs. (OIP-661)
This issue has been resolved. Now, the execution logs and API call logs are displayed in the correct order.
Patches
October 8, 2023, 0.9.1
This release includes the following Harness module and component versions.
Name | Version |
---|---|
Helm Chart | 0.9.1 |
Air Gap Bundle | 0.9.1 |
NG Manager | 80219 |
CI Manager | 5313 |
Pipeline Service | 1.41.3 |
Platform Service | 80000 |
Access Control Service | 79802 |
Delegate | 23.10.80114 |
Change Data Capture | 80209 |
Test Intelligence Service | release-197 |
NG UI | 0.357.17 |
LE NG | 68007 |
Alternative air gap bundle download method
Some admins might not have Google account access to download air gap bundles. As an alternative, you can use gsutil
. For gsutil
installation instructions, go to Install gsutil in the Google Cloud documentation.
gsutil -m cp \
"gs://smp-airgap-bundles/harness-0.9.1/ccm_images.tgz" \
"gs://smp-airgap-bundles/harness-0.9.1/cdng_images.tgz" \
"gs://smp-airgap-bundles/harness-0.9.1/ce_images.tgz" \
"gs://smp-airgap-bundles/harness-0.9.1/cet_images.tgz" \
"gs://smp-airgap-bundles/harness-0.9.1/ci_images.tgz" \
"gs://smp-airgap-bundles/harness-0.9.1/ff_images.tgz" \
"gs://smp-airgap-bundles/harness-0.9.1/platform_images.tgz" \
"gs://smp-airgap-bundles/harness-0.9.1/sto_images.tgz" \
.
-
Removed unnecessary wait time at the end of the initialize step, saving approximately 30 seconds. (CI-9122, SMP-2110)
This fix requires Harness Delegate version 23.08.80308 or later. For information about features that require a specific delegate version, go to the Delegate release notes.
-
You can now use service hooks to fetch Helm Chart dependencies from Git and other repositories and install them with the main Helm Chart for Kubernetes and Helm deployments. (CDS-50552)
This feature is behind the feature flag
CDS_K8S_SERVICE_HOOKS_NG
. Contact Harness Support to enable this feature.For more information, go to Service hooks.
October 12, 2023, 0.9.2
This release includes the following Harness module and component versions.
Name | Version |
---|---|
Helm Chart | 0.9.2 |
Air Gap Bundle | 0.9.2 |
NG Manager | 80219 |
CI Manager | 5313 |
Pipeline Service | 1.41.3 |
Platform Service | 80000 |
Access Control Service | 79802 |
Delegate | 23.10.80115 |
Change Data Capture | 80209 |
Test Intelligence Service | release-197 |
NG UI | 0.357.17 |
LE NG | 68007 |
Alternative air gap bundle download method
Some admins might not have Google account access to download air gap bundles. As an alternative, you can use gsutil
. For gsutil
installation instructions, go to Install gsutil in the Google Cloud documentation.
gsutil -m cp \
"gs://smp-airgap-bundles/harness-0.9.2/ccm_images.tgz" \
"gs://smp-airgap-bundles/harness-0.9.2/cdng_images.tgz" \
"gs://smp-airgap-bundles/harness-0.9.2/ce_images.tgz" \
"gs://smp-airgap-bundles/harness-0.9.2/cet_images.tgz" \
"gs://smp-airgap-bundles/harness-0.9.2/ci_images.tgz" \
"gs://smp-airgap-bundles/harness-0.9.2/ff_images.tgz" \
"gs://smp-airgap-bundles/harness-0.9.2/platform_images.tgz" \
"gs://smp-airgap-bundles/harness-0.9.2/sto_images.tgz" \
.
-
Fixed an issue where Redis failed when upgrading from 0.8.3 to 0.9.0. (SMP-2104)
-
Fixed an issue in the
override-prod.yaml
file in 0.9.0 which resulted in validation errors. (SMP-2121) -
Fixed an issue where the
global.ingress.objects.annotation
field wasn't templated correctly. (SMP-2125) -
Fixed two issues that caused Helm upgrade failures from 0.8.4 to 0.9.1. (SMP-2135)
- Corrected the
cd.gitops
field in theoverride-prod.yaml
file. - Added an annotation field to
nextgen-ui
to resolveglobal.ingress.objects.annotation
template failures.
- Corrected the
October 24, 2023, 0.9.3
This release includes the following Harness module and component versions.
Name | Version |
---|---|
Helm Chart | 0.9.3 |
Air Gap Bundle | 0.9.3 |
NG Manager | 80219 |
CI Manager | 5313 |
Pipeline Service | 1.41.3 |
Platform Service | 80000 |
Access Control Service | 79802 |
Delegate | 23.10.80115 |
Change Data Capture | 80209 |
Test Intelligence Service | release-197 |
NG UI | 0.357.17 |
LE NG | 68007 |
Alternative air gap bundle download method
Some admins might not have Google account access to download air gap bundles. As an alternative, you can use gsutil
. For gsutil
installation instructions, go to Install gsutil in the Google Cloud documentation.
gsutil -m cp \
"gs://smp-airgap-bundles/harness-0.9.3/ccm_images.tgz" \
"gs://smp-airgap-bundles/harness-0.9.3/cdng_images.tgz" \
"gs://smp-airgap-bundles/harness-0.9.3/ce_images.tgz" \
"gs://smp-airgap-bundles/harness-0.9.3/cet_images.tgz" \
"gs://smp-airgap-bundles/harness-0.9.3/ci_images.tgz" \
"gs://smp-airgap-bundles/harness-0.9.3/ff_images.tgz" \
"gs://smp-airgap-bundles/harness-0.9.3/platform_images.tgz" \
"gs://smp-airgap-bundles/harness-0.9.3/sto_images.tgz" \
.
-
Bitbucket, Azure, and Git connectors support has been added for ChaosHubs when using Harness secret manager. (CHAOS-35)
-
Previously, when the cron schedule field was edited in YAML, there was no validation to ensure its accuracy. This often caused the UI to fail when switching to the Schedule tab in the Visual editor. (CHAOS-2631)
This issue has been resolved. Validation has been implemented for both the Visual and YAML editors.
-
The route from the Experiment execution screen to Reports was broken because of changes in the URL structure. (CHAOS-2606)
This issue has been resolved. Previously, routing was based on the experiment
runID
, which has been changed tonotifyID
.The tunables, probe, and various fault-level information has been added to the report.
Project, account, and organization names have also been added to the report.
July 31, 2023, version 0.8.0
Known issues
-
Terraform-based pipeline automation does not function correctly in Istio environments. UI operations are not affected. (PL-39776)
-
The
log-service
created separate Redis streams and set the expiration of all keys. Harness temporarily does not support high availability configuration for thelog-service
until this issue is resolved. (CI-9000)
New features and enhancements
This release includes the following Harness module and component versions.
Name | Version |
---|---|
Helm Chart | 0.8.0 |
Air Gap Bundle | 0.8.0 |
NG Manager | 79819 |
CI Manager | 4902 |
Pipeline Service | 1.37.12 |
Platform Service | 79601 |
Access Control Service | 79400 |
Delegate | 23.07.79712 |
Change Data Capture | 79819 |
Test Intelligence Service | release-177 |
NG UI | 0.353.10 |
LE NG | 68004 |
Alternative air gap bundle download method
Some admins might not have Google account access to download air gap bundles. As an alternative, you can use gsutil
. For gsutil
installation instructions, go to Install gsutil in the Google Cloud documentation.
gsutil -m cp \
"gs://smp-airgap-bundles/harness-0.8.0/ccm_images.tgz" \
"gs://smp-airgap-bundles/harness-0.8.0/cdng_images.tgz" \
"gs://smp-airgap-bundles/harness-0.8.0/ce_images.tgz" \
"gs://smp-airgap-bundles/harness-0.8.0/cet_images.tgz" \
"gs://smp-airgap-bundles/harness-0.8.0/ci_images.tgz" \
"gs://smp-airgap-bundles/harness-0.8.0/ff_images.tgz" \
"gs://smp-airgap-bundles/harness-0.8.0/platform_images.tgz" \
"gs://smp-airgap-bundles/harness-0.8.0/sto_images.tgz" \
.
Self-Managed Enterprise Edition
-
Harness now supports external self-managed databases for high availability. (SMP-1577, SMP-1617, SMP-1645, SMP-1646)
To learn how to configure an external self-managed database, go to the following tutorials.
Continuous Delivery & GitOps
-
Send emails to non-Harness users. (CDS-58625, ZD-42496)
To send emails to non-Harness users, you must configure your own SMTP server and enable the Enable Emails to be sent to non-Harness Users default setting. This setting is available at Account, Org, and Project levels.
For more information on how to send emails to non-Harness users, go to Email step reference.
Harness Delegate version 79503 is required for this feature.
-
Edit Git details for pipelines stored using Harness Git Experience. (CDS-69130)
You can now edit the Git metadata in the pipelines and input sets you use in your Git-synced Harness pipelines.
You can edit the Harness Git connector, repository, and path to the YAML file.
To edit the Git details, select Edit Git Metadata in the pipelines and input sets listing pages.
-
If any entities referenced in a pipeline are updated, a warning now appears in Pipeline Studio saying that reconciliation is needed. Previously, this warning appeared only when you manually tried to reconcile. (CDS-69672)
-
Harness variables now have a Required setting. (CDS-69710)
A Required setting is now added to both the API, Harness Manager, and YAML variable settings.
When enabled, a variable with no value returns an error at pipeline runtime.
The Required option is also enforced when the variable is defined in a template and the template is included in a pipeline.
This feature is supported for pipeline, stage, service, and environment variables.
-
JSON support for expressions. (CDS-73057)
Harness has introduced support for writing expressions by using any JSON parser tool. You can now obtain an execution JSON for all stages or individual steps of your pipeline.
To access the JSON, you must enable the Enable JSON Support for expressions setting first. Go to Account Settings > Account Resources > Pipeline > Enable JSON Support for expressions, and then set the value to
true
. Enabling this setting allows you to reference JSON parsers within expressions. This setting is turned off by default.For more details, go to Writing expressions using any JSON parser tool.
Continuous Error Tracking
-
Harness deprecated the
global.srm.enabled
field. Use theglobal.cet.enabled
field to enable Continuous Error Tracking for general availability. Harness also deprecated the Service Reliability Management object in thevalues.yaml
file. Use the Continuous Error Tracking object in thevalues.yaml
file for general availability. (CES-1354) -
You can now conveniently access a comprehensive list of all active agents running across your entire account directly from the subscription page. (CET-1225)
-
With introduction of new CET module, access to ET event list from CI pipeline, no longer depends on a feature flag being turned on. Instead, the event list is automatically available to users licensed for CET. (CET-1330)
Continuous Integration
The Harness Cloud Linux amd64 image has new major and minor versions for multiple components. Major version upgrades are described below. For a complete list of component versions, go to the Harness Cloud image specifications. (CI-7537)
If you have pipelines running on Harness Cloud that rely on specific component versions, you might need to lock versions or install additional tools to prevent your pipeline from failing due to image changes.
Feature Flags
-
In the onboarding flow, we added a new button and text box for a new project when there are no environments created. (FFM-7393)
-
On the Feature Flags page, when viewing the state of flags across all environments, the flag status column now scrolls all the rows as one. This makes it easier to view flag and environment states on one screen. (FFM-7643)
Harness Delegate
-
The List Tokens API now supports listing all the personal access tokens or service account tokens in the account. The API has been enhanced as follows:
- If you have user management permissions, you can list all the Personal Access Tokens in your account. You can also filter tokens belonging to a user or filter only active tokens.
- If you have service account management permissions, you can list all the service account tokens in your account. You can also filter tokens for a service account or filter only active tokens. (PL-31870, ZD-40110)
-
The delegate JRE has been upgraded to version 11.0.19_7. This upgrade might result in disconnection for delegates with self-signed certificates. For instructions on setting up delegates with custom certificates, go to Install delegates with custom certificates and Use self-signed certificates with Helm-based installations. (PL-37994, SMP-1696)
Harness Platform
-
You can now sort pipelines in the pipelines list by selecting the sortable column headers or the sort dropdown. (PL-31527)
-
When creating Azure Key Vault, you can now manually enter the vault name. (PL-32773, ZD-44045)
-
You can now see disconnected delegate details in selection logs and error messages when there are no eligible delegates in an active state to execute tasks. (PL-37900)
-
You can now use the legacy UI to create delegates. (PL-38937)
This item is available with Harness Platform version 79411 and does not require a new delegate version. For information about Harness Delegate features that require a specific delegate version, go to the Delegate release notes.
-
You can now delete externally managed users from the Harness UI. (PL-38974)
Harness recommends using this action with caution since it may result in data inconsistencies between Harness and the identity provider.
-
There is now an additional tab on the Create or Select Existing Connector dialog called
All
that lists connectors from all scopes (project, organization, and account). (PL-39029) -
When configuring SMTP, you can now select specific delegates in Delegates Setup. (PL-39288)
-
There is now a limit of 100 API Tokens per free and community account. (PL-39337)
Service Reliability Management
-
SocketTimedOut
error messages were not displayed in the call log. (OIP-537)This issue has been fixed. The call log now shows
SocketTimedOut
error messages. -
When configuring a health source, you were unable to input zero (0) in the Lesser Than and Greater Than fields. (SRM-14936)
This issue has been fixed. You can now input zero (0) in both the fields.
Early access features
Continuous Delivery & GitOps
-
Kubernetes deployments support
HorizontalPodAutoscaler
andPodDisruptionBudget
for Blue Green and Canary execution strategies. (CDS-59011)This functionality is behind a feature flag,
CDS_SUPPORT_HPA_AND_PDB_NG
.Harness Delegate version 79503 is required for this feature.
-
Added a new field in the release history for Blue Green deployments to differentiate between environments. (CDS-69961)
Enable the feature flag,
CDS_BG_STAGE_SCALE_DOWN_STEP_NG
to leverage this feature.This is an enhancement to the Kubernetes Blue Green Stage Scale Down step. You can now scale down your last successful stage environment only if the primary resources exist. This enhancement helps you efficiently manage your resources, and prevent deleting the important resources.
Make sure that the infrastructure definition of these resources and the Blue Green service are the same. This is necessary as Harness identifies resources from the release history, which is mapped to a release name. If you configure a different infrastructure definition, it might lead to scaling down important resources.
This item requires Harness Delegate version 23.06.79707. For information about features that require a specific delegate version, go to Delegate release notes.
Continuous Integration
- Remote debugging enhancements (CI-8135, CI-8048)
- Re-run in Debug Mode now supports Python and PowerShell Core (
pwsh
). You can also now use debug mode for local runner build infrastructures. The remote debugging functionality is behind a feature flag,CI_REMOTE_DEBUG
. For more information, go to Debug with SSH.
- Re-run in Debug Mode now supports Python and PowerShell Core (
Harness Delegate
-
Harness added the ability to acquire only the configured maximum number of tasks. This allows Harness Manager to use the task capacity to determine whether to assign a task to the delegate or queue it. You can configure the maximum number of tasks using the Env variable
DELEGATE_TASK_CAPACITY
. For example, if you setDELEGATE_TASK_CAPACITY
to a value of 2 and execute 6 tasks in parallel, Harness Manager executes only 2 tasks at a time. If you don't configureDELEGATE_TASK_CAPACITY
, Harness Manager executes all 6 tasks in parallel. (PL-39351)This functionality is behind a feature flag,
DELEGATE_TASK_CAPACITY_CHECK
. When the feature flag is enabled, the task is broadcast every minute in Harness Manager until it expires.
Fixed issues
Self-Managed Enterprise Edition
-
Postgres prod was deployed in external self-managed database setup. Prior to this release,
global.postgres.enabled
controlled the deployment of postgres in theoverride.yaml
file. (SMP-1697)This issue is fixed by using
global.database.postgres.installed
to control the deployment of Postgres in theoverride.yaml
file.
Continuous Delivery & GitOps
-
SSH pipelines with GCR artifacts ran without populating the required runtime inputs. (CDS-55689)
Fixed this issue by adding proper validations to GCR artifacts used for SSH pipelines.
-
Fixed an issue where optional fields in a JIRA Update step were saved as key-value pairs. (CDS-58174)
-
When a delegate selector was added at the step, stage, or pipeline level in a Jenkins step, it did not override the delegate selectors from the Jenkins connector. (CDS-68312, ZD-43710)
This issue is fixed. Any selector at a step, stage, or pipeline level overrides the selectors from the Jenkins connector.
-
Fixed an issue where the SSH and WinRM rollback were not skipped even if there were no successful previous deployments. (CDS-68583)
-
Fixed an issue where the expression,
<+lastPublished.tag>.regex()
was not resolved properly when used as runtime input for artifacts. (CDS-68810) -
The expression,
<+artifacts.primary.identifier>
was not working properly for Google Cloud Storage deployments. (CDS-68993, ZD-44217)This issue is fixed. You can now see the identifier of the source selected as primary when using the expression
<+artifacts.primary.identifier>
. This functionality is behind the feature flag,CDS_ARTIFACTS_PRIMARY_IDENTIFIER
. -
Fixed an issue where strings were interpreted as scientific notations. (CDS-69063, ZD-44206)
-
Input values needed in steps or stages for execution failed with the error:
Cannot update execution status for the PlanExecution [execution Id] with RUNNING
. (CDS-69342, ZD-44344)This error occurred when converting YAML to JSON. A code enhancement fixed this issue. With this enhancement, quotes inside the field YAML are escaped, resulting in valid YAML.
-
Fixed an issue where deployment freeze notifications were not being sent when a freeze window was activated. (CDS-69455)
-
The pipeline execution error message for YAML related errors was unclear. (CDS-69576)
Improved error message handling for YAML processing failures. The error message now display files that contain errors and points to the problematic part of the file.
-
Improved the error message for pipeline execution failures when running a pipeline that has nested chained pipelines. (CDS-69578, ZD-44443)
-
Fixed an issue preventing pipelines from running due to YAML updates made when moving step groups in Pipeline Studio. (CDS-69622, ZD-44481)
-
When Git-backend entities are referenced in a trigger, the inputs are validated before firing the trigger. (CDS-69727, ZD-44713)
-
Support has been added to poll the get approval API to fetch and update the ticket status field for JIRA and ServiceNow approvals. (CDS-69770)
-
The
lastYamlToMerge
parameter in the pipeline execution with input set API didn't display any values. (CDS-70048, ZD-44855)To execute a pipeline with Input Set references, there is an optional field,
lastYamlToMerge
in the API request body. The values set for thelastYamlToMerge
field were not acknowledged.This issue is fixed by acknowledging and properly overriding the
lastYamlToMerge
value. For more details, go to Execute a pipeline with input set references. -
Fixed an issue where a Jenkins step would mark voluntary settings as mandatory. (CDS-70071, ZD-44924)
Users could not save empty values for job parameters in the Jenkins step due to validations present in the UI. This has been fixed now and the incorrect validations have been removed.
-
Fixed an issue to honor default values in runtime inputs when trying to reconcile. (CDS-70075, ZD-44892)
-
Unable to trigger pipelines using custom webhook triggers because the latest enhancement to custom webhook triggers requires a unique token for authentication. (CDS-70320, ZD-45022)
This issue was caused by introducing a new API for custom webhook triggers,
/v3
, that generates a token for authenticating webhook triggers. You can see the token when you copy the trigger cURL command in Harness. This issue is fixed by allowing users to continue to use the previous API,v2
, when the feature flagSPG_DISABLE_CUSTOM_WEBHOOK_V3_URL
is enabled. -
Improved usability by adding an underline on the Save Changes button. (CDS-70328)
The button now has an underline to help users know it is clickable.
-
Certificate issues in Harness Delegate version 23.05.79307. (CDS-70410, ZD-45105, ZD-45110, ZD-45128)
The HTTP step was failing due to absence of the
certificate
value in the step. In previous delegate versions, the delegate would bypass the absence of this field. However, in delegate version 23.05.79307, this field was incorrectly set as mandatory for HTTP step execution for validations against servers that had self-signed certificates. This issue is fixed. -
Selecting stages for trigger execution shows all stages. (CDS-70419)
When setting up triggers for selective stage execution, the trigger displayed all of the stages, and not just the selected stages. This issue has now been fixed.
-
Tag value did not clear when the Regex option is selected in the artifact details. (CDS-70487)
When setting up artifact repositories, artifacts can be specified by name or regex. The Tag setting was not being cleared when this selection changed from Name to Regex or vice versa. This bug has now been fixed.
-
Pipeline execution triggered using a webhook trigger failed with the error,
Error while retrieving template with identifier [%s] and versionLabel [%s]"", templateIdentifier, versionLabel
. (CDS-70552, ZD-45178)This issue is fixed. The error message has been improved to display the cause of pipeline execution failure.
-
Fixed an issue where the
eventPayload
expressions were not resolving when rerunning a failed pipeline that was previously fired by using a trigger. (CDS-70559) -
Links to org or account level service or environment in a pipeline were redirecting to the project level entities. (CDS-70607)
This issue is fixed by adding correct links to org and account level services and environments in the pipeline Deployments page.
-
Unable to save a pipeline that uses a step group template. (CDS-70762)
There was an error that prevented the saving of pipelines that used a step group template. This error has been fixed.
-
Running a Terraform Plan step created a plan secret in Vault, but didn't delete the secret. (CDS-70770, ZD-45312)
Clearing secrets from Vault was dependent on exporting the JsonPlan or human-readable options.
This issue is fixed. Now, the encrypted plan stored on Vault is cleared regardless of the export options.
-
The execution view displayed host name instead of step name when the Run on Delegate option in Repeat looping strategy was enabled for a Command step for SSH or WinRM deployment. (CDS-70780)
This issue is fixed as part of a code enhancement. Harness does not allow saving, creating, or editing Command steps with Repeat looping strategy when the Run on Delegate option is selected, and displays an error message:
Command Step contains a combination of looping strategy and run on delegate options enabled, please select only one.
-
The Repository Name setting in the pipeline list page filter was not working properly. (CDS-70784, ZD-45350)
This issue is fixed. If there are any saved filters that use Repository Name, you must delete and create the filter again.
-
Pipeline shows success, but many stages haven't started running. (CDS-70850, ZD-45392)
Previously, when you attempted to rerun the execution of the aborted stage that used a matrix looping strategy, the aborted matrix stages would execute, but all subsequent stages would be skipped. This resulted in the pipeline execution being finished without running all stages.
Now, when resuming execution from an aborted matrix stage, the stages after the aborted stage are executed correctly.
-
Rollback steps were not running on Approval step rejection. (CDS-71032, ZD-45472)
When Rollback was selected as the failure strategy for an Approval step, the steps in the stage Rollback section were not running.
Rollback steps are now correctly supported.
-
Fixed an issue where a change in the Artifact Details Image Path did not trigger a corresponding change in the Tag setting. (CDS-71215)
-
Unable to view the account-level deployment stage templates. (CDS-71230, ZD-45557)
Previously, when you provided incomplete YAML during template creation, the templates got saved without proper stage types. The templates were filtered out and were not visible in the API response when used during pipeline creation.
Harness has implemented changes to restrict the creation of templates with incomplete YAML, ensuring that templates are saved with the necessary stage types. You are now required to provide complete YAML during template creation to ensure proper visibility and usage.
-
Creating a launch template for an AWS Auto Scale Group (ASG) deployment resulted in a null pointer exception. (CDS-71235)
This issue is fixed by adding proper validation for the ASG launch template manifest content.
-
A deleted template in the template library cannot be recreated. (CDS-71335, ZD-45591)
The template list page was not showing the last template. Trying to create a new template with the same identifier and version label resulted in an error saying that the template already existed.
The issue is now fixed.
-
Pipeline execution failed when a variable whose required field is set to
TRUE
is passed as an expression. (CDS-71357, ZD-45615)Harness checks for the value of the variable whose required field is set to
TRUE
, and the pipeline failed if the value was empty. This issue occurred when Harness checked for the value of variables that were passed as expressions. The value of expressions cannot be resolved during pipeline creation.This issue is fixed by ignoring the check for variables passed as an expression.
-
Fixed an issue where the applications created outside Harness were deleted during rollback if a Tanzu Application Services (TAS) Rolling deployment failed the first time. (CDS-71397)
This item requires Harness Delegate version 23.06.79707. For information about features that require a specific delegate version, go to Delegate release notes.
-
The expressions corresponding to objects like list, maps, and so on were incorrectly converted to string type using the Java
String.valueOf
method resulting in incorrect formatting. (CDS-71619)For example, the expression
<+pipeline.variables>
corresponding to the following object types are incorrectly converted to:- Map:
{key1=val1, key2=val2}
- List:
["a", "b", "c"]
(with spaces)
This issue is fixed and the output values for expressions are returned as JSON objects. Now, the expression in the above example for a map object returns
{"key1":"val1","key2": "val2"}
, and a list object returns["a","b","c"]
(without spaces). - Map:
-
Unable to choose stages during pipeline execution. (CDS-71712, ZD-45762)
This issue is fixed by adding an error icon that will be displayed when the stage selection dropdown is disabled due to an API error. Error details will be available if you hover over the error icon.
-
Fixed an issue where a multi-environment deploy stage was not executing while propagating from a previous stage when using the Deploy to Filtered List option with the
<service.tags>
parameter. (CDS-71887) -
A project-level template crashed when opened. (CDS-71980, ZD-45950)
The three hyphens,
---
used in the YAML as YAML document separator was being replaced by---\n
with an empty string due to a logic in the code. This logic made the YAML invalid.This issue is fixed by disabling
YAMLGenerator.Feature.WRITE_DOC_START_MARKER
in the YamlUtils to stop the YAML document separator---
from being added to the YAML. -
The pipeline build failed due to reformatting of the script. (CDS-72093, ZD-45874)
The three hyphens (
---
) used as a YAML document separator were replaced by---\n
. This formatting made the YAML invalid.Harness no longer adds the new line in the YAML, and honors the separator when processing the YAML.
-
Fixed an issue where Harness asked users to enter SSH credentials in the SSH Connection Attribute field in the Run Pipeline page for a template created to capture WinRM credentials. (CDS-72071, ZD-45926)
-
When a pipeline is retried from a stage, and there's a step that passed after multiple retries, Harness was not copying the status of the step correctly in the retries. Instead, the first try for step that failed was copied. This made the stage appear as failed in retry. (CDS-72101, ZD-46049)
This issue is fixed, and all the retries for the step are now copied correctly in the status.
-
Fixed an issue where the Container step was failing when emptyDir volume was being used. (CDS-72119, ZD-45892)
-
Step templates within step groups created under stage templates were not executing properly. (CDS-72124, ZD-45924, ZD-46151)
A code enhancement fixed this issue.
-
Harness has added an access control check to the
/v2/{planExecutionId}
API to prevent users from anonymously accessing the plan execution Id using the API. (CDS-72155) -
An error occurred when running a Terragrunt pipeline:
Invalid request: Oops, something went wrong on our end. Please contact Harness Support
. (CDS-72226, ZD-46120)The Terraform and Terragrunt steps' Secret Manager settings were listing all available connectors instead of listing supported connectors.
This issue is fixed. The Secret Manager setting lists only supported connectors now.
-
Fixed environment links to properly redirect to the Summary or Configuration page. (CDS-72463, ZD-46260)
-
Fixed an issue where pipeline YAMLs didn't get updated when the optional fields in a step were removed. (CDS-72807)
Continuous Integration
-
When creating a step template, the labels for Configure Run Tests step and Configure Run step have been shorted to Run Tests and Run respectively. This change follows labeling conventions used elsewhere in Harness CI. (CI-4771)
-
When configuring a Background step, the Entry Point field is now located under Additional Configuration if the stage uses the Harness Cloud, local runner, or self-managed AWS/GCP/Azure VM build infrastructure. (CI-6993)
-
Fixed an issue related to logs for Background steps. (CI-7615, ZD-44501)
-
Improved error messages for Run steps using AWS connectors with invalid credentials in VM build infrastructures. (CI-7942, ZD-44039)
-
Artifacts produced by Build and push steps inside a matrix looping strategy now appear on the Artifacts tab on the Build details page. (CI-7970)
-
Fixed an issue where the active developer count was not reported for builds triggered manually. (CI-8025)
-
BitBucket Cloud limits the key size for sending status updates to PRs, and this can cause incorrect status updates in PRs due to some statuses failing to send. If you encounter this issue with BitBucket Cloud, contact Harness Support to troubleshoot this issue by enabling a feature flag,
CI_BITBUCKET_STATUS_KEY_HASH
. (CI-8302, ZD-45441) -
Fixed an issue where Artifactory connector credentials weren't correctly passed to Upload Artifacts to JFrog Artifactory steps in nested step groups. (CI-8351, ZD-45611)
Feature Flags
-
The view in the modal screen for setting up GitEx was not wide enough to show appropriate errors. This issue has been fixed. (FFM-7311)
-
There was an issue where toggling between the Targets and Target Groups pages caused the new page to re-render. This issue has been fixed. (FFM-7965)
-
Previously, there was an edge case where an extremely large number of pages in a UI listing could cause performance degradation. This issue has been fixed, and page numbering is now disabled if the page count exceeds 1000 pages. (FFM-7993)
-
Previously, a user could select Feature Flags in Harness without having a license, and would then get a 404 error. Now, users only see the FF module if they have an active license (including a free license). (FFM-8002)
-
The Create a new flag button did not behave as expected on the onboarding screen if there were existing flags. This issue has been fixed. (FFM-8019)
Harness Delegate
-
The account-level Session Timeout (in minutes) allowed values greater than the 4320 minute maximum. (PL-32498)
This issue has been resolved by adding a code validation. The field no longer accepts values above 4320 minutes.
This item requires Harness Delegate version 23.07.79707. For information about features that require a specific delegate version, go to the Delegate release notes.
-
Enhanced handling and logging for the
No enum constant io.harness.delegate.message.MessengerType.WATCHEIN
exception to enable the actual malformed message. This error indicates that a message is malformed and only occurs when there is a write error such as out of disk, process killed, etc. (PL-38245) -
Deployments consistently failed during the same stage. (PL-38247, ZD-42721)
This issue was fixed by updating the delegate YAML. Delegate startup now fails when you use a legacy delegate image with an immutable delegate.
-
The delegate token list result from the
DelegateTokenStatus
API endpoint displayed all values asnull
. (PL-39440)A code enhancement for the
DelegateTokenStatus
endpoint to return token values even when token details are not fetched by token name fixed this issue. Token values only populate when the user has edit delegate permission. If the user doesn't have edit delegate permission, the value remainsnull
. -
It was possible to edit project identifiers. (PL-39609)
A code enhancement has fixed this issue.
Harness Platform
-
When SMTP was not configured, password reset did not throw an error. (PL-24542)
A code enhancement fixed this issue.
-
SAML provider Name and Friendly Name fields allowed special characters. (PL-39070)
This issue is fixed by
displayName
andlogoutURL
field validations. ThedisplayName
only allows alphanumeric characters,_
,-
,.
, and spaces. ThelogoutURL
must be a valid HTTPS URL format. -
Deletion of vault connectors does not delete the corresponding perpetual tasks. (PL-27621)
A code enhancement has fixed this issue.
-
In earlier releases, the button for managing role bindings for users, user groups, and service accounts was named +Role. However, given that you can also remove role bindings in the Manage Role Bindings dialog, the button has been renamed to Manage Roles. (PL-28484)
-
An attempt to edit a secret sent repeated requests to the backend if the secret was not found. (PL-32313)
A code enhancement fixed this issue.
-
When ALL scope was selected on the Role binding page for a specific user, incorrect data was displayed. (PL-38426, ZD-43503)
A code enhancement has fixed this issue.
-
Account-level connectors with resource groups set to Specified were not available at the project-level. (PL-38828, ZD-44474).
This issue is now fixed. The connectors list shows the connectors for which users have resource group permissions set.
This item requires Harness Delegate version 23.07.79904. For information about features that require a specific delegate version, go to the Delegate release notes.
-
SCIM PATCH requests for deleting a Harness user return a "user does not exist" message in a successful delete operation. (PL-38868, ZD-44150)
This issue has been resolved by returning a NULL response in the Patch operation to delete a user.
-
When creating a service account with the same name in a different scope, an error was thrown. (PL-38885)
A code enhancement has fixed this issue.
-
It was mandatory to enter email addresses even if Send email to all users in a user group was checked in Notification Preferences. (PL-38910)
A code enhancement fixed this issue.
-
The user invite API returned an HTTP status code of 200 if the invited user had an invalid TLD. (PL-38938)
This has been fixed, and the API now returns a status code of 400.
-
In earlier releases, users were allowed to include the following special characters in the user name field in their profile: colon (
:
), slash (/
), less than sign (<
), greater than sign (>
), equal sign (=
), and parentheses ((
and)
). Support for these special characters allowed malicious users to inject HTML and JavaScript code into deployment-related emails such as approval emails. (PL-39099)For enhanced security, Harness no longer allows a user to include these special characters in their name. If an existing user name has any of these special characters, Harness does not include the special characters when adding the name to emails.
-
The AWS connector widget's prefix field did not accept prefixes starting with a slash. Such slashes were stripped off, and this led to undesired behavior. (PL-39194, ZD-45104)
Prefixes that begin with a slash are now supported.
This item requires Harness Delegate version 23.07.79904. For information about features that require a specific delegate version, go to the Delegate release notes.
-
Improved randomness when there are multiple eligible delegates with no tasks running to avoid selecting the same delegate each time. (PL-39219)
This item is available with Harness Platform version 79606 and does not require a new delegate version. For information about Harness Delegate features that require a specific delegate version, go to the Delegate release notes.
-
Certain users see the following message when they select the Connectors page for their project: "You are not authorized to view default settings. You are missing the following permission: "View default settings" in Account scope." (PL-39221, ZD-45360)
This issue has been fixed by the removal of an account-level permission check that has been deemed unnecessary.
Service Reliability Management
-
There was an error collecting metric data when encountering
null
values returned by metric queries. (OIP-551)This issue has been resolved by ignoring null data points and using valid data points in the window.
-
When configuring a Deploy stage and selecting a value in the Propagate from field to propagate a service from the previous parallel stage, an error would occur when attempting to create a monitored service. (SRM-12454)
This issue has been resolved. You can now successfully create a monitored service even when selecting a value in the Propagate from field to propagate a service from the previous parallel stage.
-
Unable to select multiple environments when creating a monitored service for infrastructure. (SRM-14794, SRM-14862)
This issue has been resolved. You can now select multiple environments when creating a monitored service for infrastructure.
-
The Monitored Service Listing page was not displaying the latest updated monitored service first. (SRM-14845)
This issue has been resolved. Now, the monitored service list is sorted in the following order:
-
A monitored service with the most recent update will be displayed at the top of the list.
-
If a monitored service has been updated with new analysis data, it is given higher priority and displayed before other services on the list.
-
-
SLOs were getting stuck in the recalculation state even after the recalculation process was complete. (SRM-14849)
This issue has been resolved. Now, the SLOs transition to the appropriate state once the recalculation has finished successfully.
-
When using a template that has a service and an environment as input values to create a monitored service in a Verify step, you were unable to select the environment and service at the account, organization, or project levels. (SRM-14944)
This issue has been resolved, and you can now select the desired environment and service in these cases as expected.
-
During monitored service creation, when adding a health source that supported metrics, both Errors and Performance metric packs were automatically selected as default options. However, if the user chose to select only one of the options, when the monitored service was reopened, both metric options remained selected. (SRM-14998)
This issue has been resolved. The selected metric pack option during monitored service creation will now be correctly reflected upon opening the monitored service.
Patches
Patch releases for Harness Self-Managed Enterprise Edition include minor bug fixes and updates to address potential security vulnerabilities.