Self-Managed Enterprise Edition release notes
These release notes describe recent changes to Harness Self-Managed Enterprise Edition, NextGen.
- 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.
Breaking change - Ingress
When upgrading to SMP versions 0.17.x and above, the installation may fail if you have any admission webhooks configured for Ingress that do not permit Ingress objects with different names but identical paths. To prevent installation issues, please follow these steps before proceeding with the upgrade:
-
Run the
update-ingress-objects.sh
script. -
The script will prompt you to enter the namespace where Harness is installed.
-
You will then be asked to provide the version you are upgrading to. For instance, if you are upgrading to Harness 0.20.0, you should input 0.20.0.
-
The script will automatically update the Ingress objects as needed.
You can find the script in the Harness 0.20.0 release charts at scripts/update-ingress-objects.sh
, or you can run it directly from this URL: update-ingress-objects.sh.
Note: Ensure you have access to the Kubernetes cluster where Harness is running and have the necessary permissions to GET, DELETE, and APPLY Ingress objects.
Breaking change - Minio
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 version 0.12.1 or 0.13.4 using Helm
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.
-
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_2>mkdir /data/backup/
bin/mc cp --recursive minio/logs /data/backup/ -
Perform your Harness upgrade.
-
Exec into your MinIO pod after the upgrade has been completed.
-
Run the following command, and then 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_6>bin/mc cp --recursive /bitnami/minio/data/backup/logs/ minio/logs
Breaking change - Looker images
Starting with version 0.17.0, Harness no longer publishes Looker images to the DockerHub public repository. The repository has been transitioned to private.
Looker is required for custom dashboards, a feature not enabled by default in Harness Self-Managed Enterprise Edition. To set up custom dashboards, you must contact Harness Support to enable the feature.
For non-air gap packages
If you require custom dashboards, you can request onboarding. Harness will generate an access token, allowing you to pull the Looker image from DockerHub. Subsequently, Harness will provide you with the Looker license key and DockerHub credentials to update your override.yaml
file.
You must replace your Looker license after deployment.
Create a new secret and replace <YOUR_SECRET_NAME>
in the YAML.
looker:
# -- replace looker license at runtime (after deployment)
# -- reach out to the SMP team
image:
imagePullSecrets: [<YOUR_SECRET_NAME>]
For more information about creating the secret, go to Pull an image from a Private Registry in the Kubernetes documentation.
For air gap packages
Harness no longer includes the Looker image in air gap bundles. You can still request onboarding for custom dashboards. Upon request, Harness will generate an access token for pulling the Looker image from DockerHub. Following this, Harness will provide you with the Looker license key and DockerHub credentials.
You must replace your Looker license after deployment.
Harness has implemented updates to the harness-airgap-images.sh
shell script in the Helm chart repository. These changes facilitate the utilization of the access token for pushing the Looker image to your private repository. Now, the script will inquire whether you wish to install custom dashboards (ng-dashboard
). If you respond affirmatively, it will then prompt you to provide your DockerHub credentials and image details.
To acquire the necessary DOCKERHUB_USERNAME
and DOCKERHUB_PASSWORD
, contact Harness Support. When prompted for the RELEASE_VERSION
, input the desired version of the Helm chart, such as 0.17.0
.
Upon providing your credentials and the release version, the script will proceed to push the Looker image to your private repository.
September 12, 2024, version 0.20.2
This release includes the following Harness module and component versions.
Name | Version |
---|---|
Helm Chart | 0.20.2 |
Air Gap Bundle | 0.20.2 |
NG Manager | 1.51.9 |
CI Manager | 1.41.3 |
Manager | 1.42.5 |
Pipeline Service | 1.89.2 |
Platform Service | 1.34.2 |
Access Control Service | 1.56.1 |
Delegate | 24.07.83611 |
GitOps Service | 1.15.4 |
GitOps Agent | 0.78.0 |
Change Data Capture | 1.25.1 |
STO Core | 1.106.0 |
Test Intelligence Service | 1.27.0 |
NG UI | 1.37.5 |
LE NG | 1.3.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.20.2/ccm_images.tgz" \
"gs://smp-airgap-bundles/harness-0.20.2/cdng_images.tgz" \
"gs://smp-airgap-bundles/harness-0.20.2/ce_images.tgz" \
"gs://smp-airgap-bundles/harness-0.20.2/ci_images.tgz" \
"gs://smp-airgap-bundles/harness-0.20.2/ff_images.tgz" \
"gs://smp-airgap-bundles/harness-0.20.2/platform_images.tgz" \
"gs://smp-airgap-bundles/harness-0.20.2/sto_images.tgz" \
.
Fixed issues
-
Harness enabled the feature flag
OPA_RBAC_FEATURE
by default. You should now see the policies section on the RoleDetails page. -
Added APIs for getting a Harness GitOps cluster object with identifiers and metadata using an URL.
September 3, 2024, version 0.20.0
This release includes the following Harness module and component versions.
Name | Version |
---|---|
Helm Chart | 0.20.0 |
Air Gap Bundle | 0.20.0 |
NG Manager | 1.51.9 |
CI Manager | 1.41.3 |
Pipeline Service | 1.89.2 |
Platform Service | 1.34.2 |
Access Control Service | 1.56.1 |
Delegate | 24.07.83611 |
GitOps Service | 1.15.2 |
GitOps Agent | 0.78.0 |
Change Data Capture | 1.25.1 |
STO Core | 1.106.0 |
Test Intelligence Service | 1.27.0 |
NG UI | 1.37.5 |
LE NG | 1.3.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.20.0/ccm_images.tgz" \
"gs://smp-airgap-bundles/harness-0.20.0/cdng_images.tgz" \
"gs://smp-airgap-bundles/harness-0.20.0/ce_images.tgz" \
"gs://smp-airgap-bundles/harness-0.20.0/ci_images.tgz" \
"gs://smp-airgap-bundles/harness-0.20.0/ff_images.tgz" \
"gs://smp-airgap-bundles/harness-0.20.0/platform_images.tgz" \
"gs://smp-airgap-bundles/harness-0.20.0/sto_images.tgz" \
.
Early access features
Continuous Delivery
- When deploying to Amazon's EKS, a new option to manually configure the connection to the cluster is available. Previously, you could only connect through an AWS Connector. Now, you can provide the cluster endpoint and optionally provide a CA cert. This feature is behind the feature flag
CDS_AWS_EKS_CLUSTER_MANUAL_CONFIGURATION
. Contact Harness support to enable it. (CDS-91561)
Continuous Integration
This release introduces several highly requested features and improvements to enhance the Git clone operations within Harness, in both the Git Clone step and the native Clone Codebase functionality. With this release, we’re adding support for:
-
Git LFS - Allows users to clone repositories with large file storage (LFS) efficiently.
-
Fetch Tags - Enables fetching of tags during the clone operation.
-
Sparse Checkout - Enables cloning specific subdirectories.
-
Clone Submodules - Adds options for including and recursively cloning Git submodules.
-
Clone Path Customization - Exposes the clone path in the codebase section, allowing users to specify a custom clone directory.
-
Additional Pre-Fetch Command - Ability to specify any additional Git commands to run before fetching the code.
For more information, please refer to the documentation. (CI-12952, CI-13239)
This feature is currently behind the feature flag, CI_GIT_CLONE_ENHANCED
. Contact Harness support to enable it.
New features and enhancements
Chaos Engineering
-
Adds a new Kubernetes pod fault, pod IO mistake that causes files to read or write an incorrect value. (CHAOS-5916)
-
Adds proxy support for Windows chaos infrastructure. (CHAOS-5859)
-
Adds support to install Windows chaos infrastructure offline. (CHAOS-5833)
-
Unifies chaos injection by introducing a dumb agent to invoke user action and pass the results of the chaos experiment to the control plane. (CHAOS-5610)
-
Implements AWS FIS generic experiment that helps users execute and monitor any AWS FIS template. (CHAOS-5418)
-
Converts the default health check probes to
type:inline
fromtype:source
for Kubernetes infrastructure to improve the execution speed of chaos experiments. (CHAOS-4348)
Code Repository
- Added handlers for more error status code scenarios. (CODE-2113)
Harness Platform
-
Improved delegate cache to reduce cache misses and optimize performance. This update ensures more reliable and efficient caching, addressing issues identified in recent incidents. (PL-55626)
-
Enhanced AppRole token cache for HashiCorp Vault: Updated the cache key calculation to include secretId and approleId. This change fixes a problem where tokens were not being refreshed correctly. Now, the cache accurately reflects the latest credentials, ensuring secure and reliable token management. This item requires Harness Delegate version 24.07.83605. For information about Harness Delegate features that require a specific delegate version, go to the Delegate release notes. (PL-55567, ZD-65493)
-
Introduced a new feature in the Connector details Page that supports favorites. You can now mark connectors as
favorites
, making it easier to filter and manage your preferred connectors for a more streamlined experience. (PL-55460) -
We have added a security check to restrict SAML assertions to a single login. Any attempt to reuse a SAML assertion within its expiry period will now be rejected by Harness during login. Currently, this feature is behind the feature flag
PL_ENABLE_SAML_ASSERTION_CACHE
. Contact Harness Support to enable the feature. (PL-55247, ZD-66114) -
Upgraded the
io.netty_netty-codec-http
library to address a medium-severity issue. The version has been updated from 4.1.101.Final to 4.1.108.Final. (PL-51350) -
Upgraded the
org.apache.cxf_cxf-core
library from version 3.5.5 to 3.5.8 to address a medium-severity issue CVE-2024-28752. (PL-51348, ZD-66657) -
Added proxy configuration support for external notification channels in SMP. To address issues faced by customers who operate in air-gapped environments, we've introduced proxy settings for the platform service. By updating the override file with proxy details, notifications via MS Teams and Slack will now function correctly even when behind a proxy. This feature is available in SMP version 0.19.0. This item requires Harness Delegate version 24.07.83605. For information about Harness Delegate features that require a specific delegate version, go to the Delegate release notes. (PL-48415, ZD-59707, ZD-62139)
-
Upgraded the
yq
base image version 4.44.2 to address a Go CVE. (PL-55549) -
Added support for a custom authentication path in the HashiCorp Vault integration for AppRole authentication. Users can now specify a custom path if needed, enhancing flexibility in meeting security requirements. Currently, this feature is behind the feature flag
PL_APPROLE_CUSTOM_PATH
and requires Harness Delegate version >= 24.07.836xx. Contact Harness Support to enable the feature and for information about Harness Delegate features that require a specific delegate version, go to the Delegate release notes.(PL-51859) -
Upgraded PostgreSQL from version
14.9.0-debian-11-r60
to14.11.0-debian-11-r17
to address multiple high-severity CVEs. (PL-51820) -
Disabled the ability to add users to externally managed or SSO-linked user groups. The checkbox for these groups is now grayed out, with a hover message explaining the restriction. (PL-51216)
Security Testing Orchestration
-
If you add parallel steps at the end of the pipeline and then attempt to add another set of parallel steps at the top level, only the first step gets added. This issue has been fixed (STO-7783).
-
The error causing STO steps not to run in the CI stage has now been fixed (STO-7887).
-
You can now override the security testing scanner image at the step level. Learn more about configuring your pipeline to use images from your registry. (STO-7724)
Fixed issues
Chaos Engineering
- Fixed an issue where an experiment in the
Error
state would not finish, and be in a state of infinite run timestamp. (CHAOS-5577)
Cloud Cost Management
-
Jira Operations for On-Premise Jira: We have added support for Jira operations corresponding to CCM recommendations for on-prem Jira installations, ensuring smoother integration and functionality. [CCM-18315]
-
Azure Data Sync Frequency Update: The Azure data sync frequency has been changed from 1 day to 1 hour. This enhancement will allow data to flow faster for Azure customers, reducing wait times and improving data availability [CCM-18014]
-
Changes to K8s delegate YAML: We have modified the default K8s delegate YAML, in the Quick Create flow for creating Kubernetes connector. This ensures that new configurations are utilised for creation of delegate. [CCM-18577]
Continuous Delivery
-
When the Git provider was set to Harness Code, additional unnecessary list-repos and list-branches API calls were made, even when the default connector was already configured in the settings. The issue is fixed now. (PIPE-20665)
-
The Output tab failed to display correct details when viewing retry steps with the console view toggle enabled. This was due to the incorrect step ID being passed for retry steps. The issue is fixed now. (PIPE-20648, ZD-67024)
-
While connecting to the Git sync service, a connection error was being thrown. This issue is fixed by increasing the retry policy from 1 to 3. (PIPE-20589, ZD-67247,67488)
-
The input set search feature did not return correct results when searching from pages other than the first page. For example, when searching for an input set from page 3 or 4, no results were displayed, even if matching input sets existed. The issue is fixed now to ensures that the search operation covers all input sets, providing accurate results regardless of the page the user is on. (PIPE-20209)
-
In a few cases, skipped stages/steps in Pipeline executions were being displayed in blue instead of grey. The issue is fixed now. (PIPE-20138, ZD-65966)
-
Stage/Step popover was hidden behind the Navigation UI. The issue is fixed now. (PIPE-20028, ZD-65628)
-
The pipeline clone API was failing when attempting to clone a pipeline from the default branch to a non-default branch within the same repository. This failure occurred because the API incorrectly tried to locate the existing pipeline in the non-default branch instead of the default branch. The issue is fixed now. (PIPE-19847)
-
In certain cases, the execution order and failure handling in pipelines were inconsistent. For example, if the last stage in a failed, the deployment continued instead of stopping. Additionally, steps within a step group sometimes executed even if previous steps had failed, causing confusion about the conditional execution logic and maximum concurrent executions not being honored. The issue is fixed now and StepGroup combinations will now be marked as skipped if one of the steps in the StepGroup fails and rollback happens during Pipeline Execution. (PIPE-19763, ZD-65041)
-
When we rerun a pipeline with multi-env deployment stages or stages in a Matrix, the rerun would skip over the stages that were skipped the last time, without re-evaluating the Execution Condition. This is fixed now; the Executional Condition is re-evaluated for previously skipped stages in Matrix during re-run, and if the condition is now true, they are executed. Note, this is only in the case where the execution failed midway within a Matrix or Multi-Env deployment in the pipeline, and we need to rerun the pipeline from that Matrix. (PIPE-19746, ZD-64970)
-
The deployment status API returns outdated or invalid information. This issue is fixed and we've added a new Deployment Status API, which honours permissions, and returns a correct 200 response with a QUEUED status, for Triggers which are in queued state. This will replace the existing API which behaved incorrectly in some situations, and will be deprecated. (PIPE-19306, ZD-62849)
-
There was an issue with the EKS cluster field (initialValues) when using manual configuration. The issue is fixed now. (CDS-99535)
-
The pipeline deployed using the rolling deployment were encountering a
NotificationTargetARN
error. This issue is resolved now with support for adding lifecycle hooks with different notificationARNs and roles during the time of creation of ASG. (CDS-99460, ZD-67371) -
When renaming a file by adding an extension to the file name in the Harness File Store, the file's content was previously deleted. This issue has been fixed to ensure that file content is maintained when updating file metadata in the File Store. (CDS-99202, ZD-66962)
-
Users were unable to delete services that had been soft deleted from the service dashboard page. This issue has been resolved by adding functionality to support the deletion of these services. (CDS-99344, ZD-67225)
-
The K8s manifest connector runtime field was not visible in the run pipeline form. This issue has been resolved, and the runtime field is now visible in both the run pipeline form and the input set form. (CDS-99171, ZD-66902)
-
Creating a NewRelic health source for a monitored service does not provide a method to select the correct application ID. This issue is fixed now and system collects and shows all the Application Ids from NewRelic.(CDS-98867, ZD-66434)
-
Using an expression in the auto-approval for the approval step threw an error. This issue is fixed.(CDS-98842, ZD-66329)
-
When you scroll to the bottom of the Pipeline Page and click on the last pipeline on the page, if your default view is YAML, the YAML in the Pipeline Studio was previously opening in a scrollable view. This issue has now been fixed. (CDS-98674, ZD-65768,66530)
-
Scrolling was not working when the cursor was inside the script step. The issue is fixed now. (CDS-98607)
-
Previously, when trying to edit an existing Values YAML Manifest in the overrides section, users had to click a pencil icon on the far right. After clicking this pencil icon, another pencil icon, which was mostly hidden, appeared on top of the LOCATION section. This caused confusion as users were not seeing the second pencil icon. This issue has now been fixed. (CDS-98565, ZD-65892)
-
The Verify step was not appearing in Continuous Deployment (CD) for SMP version 1.19.10. This was because the Verify step was initially part of the Service Reliability Management (SRM) module. Users who did not have the SRM module enabled could not see the Verify step. Now, as Continuous Verification (CV) has been moved to CD, this step will be available for all users who have CD enabled. (CDS-98542, ZD-65452)
-
When a user tried to fetch a payload file from Bitbucket, it threw an invalid payload format and the HTTP capability check returned a 501 status code, indicating Bitbucket connectivity problems. This issue is fixed now.(CDS-98500, ZD-65594)
-
GitOps instances on Harness service were out of sync with applications that did not have project mappings but were part of the agent. The issue is fixed now. (CDS-96719, ZD-63203)
-
Terraform configuration for a monitored service returned the
500
response code. This issue occurred due to incorrect un-marshalling of Terraform configuration to the JSON object for the API request. This led to backend validations failing and causing the500
response code. This issue is fixed by adding more validations/null checks in the backend. (CDS-96374, ZD-62737)
Continuous Integration
-
Fixed an issue where external endpoints were used for internal service communication, causing token authentication failures and 401 errors. The issue was resolved by ensuring internal communication for the services. (CI-13686)
-
Introduced the
CI_PR_MERGE_STRATEGY_BRANCH
flag to enable the Merge Commit Strategy for Git clone, addressing previous issues with the GitHub API. Additionally, a stage variablePR_MERGE_STRATEGY_BRANCH
has been added. Both the Merge Commit and Source Branch strategies now function as expected. (CI-13625) -
Fixed an issue where SSH account-level Git connectors were failing during the connection test and status checks due to using an incorrect port. (CI-13578, ZD-67248,67266)
-
Improved error message for anonymous base image connector option in the 'Build and Push' steps. (CI-13562)
-
Fixed an issue where the plugin image path was incorrect when the registry endpoint had a port configured. This issue occurred because everything after : was being considered as the tag of the image, leading to an invalid Fully Qualified Name (FQN) and causing the Initialize step to fail in the Kubernetes flow. The fix ensures that the FQN is properly considered when the registry endpoint includes a port number. (CI-13455, ZD-66772)
-Fixed an issue where the Harness Build URL could exceed 255 characters if the projectId, orgId, or PipelineId identifiers were too long. Changes have been made to remove stageExecId from the Build URL to reduce the URL length in the case of non-matrix stages. (CI-13402, ZD-66211)
-
Fixed an issue where pipelines were getting queued when running concurrently. The fix ensures that the flush API log lines are sanitized to be less than 4MB, avoiding grpc
ResourceExhausted
failures. (CI-12879, ZD-64595) -
Fixed an issue where, if the base image connector is overridden, the Docker build step does not work. With this fix, Docker-related images now properly gain privilege if the default connector is overridden.
buildx
images are now located [here] (https://hub.docker.com/search?q=plugins%2Fbuildx). These images are added to the auto-privilege mode. Without this privilege, the image does not run. (CI-12583) -
CI - Getting Started Page Visibility: Resolved an issue where the "Getting Started" page for CI was not visible to users without account-level edit permissions. (CI-12510)
-
Fixed issues where the Git status update was not being sent to PRs and the PR link in the execution pipeline was incorrect, redirecting back to the same execution link. The PR link redirect was not working for the input expression
<+trigger.payload.pull_req.number>
, so support for this expression has been added. (CI-11759)
Harness Platform
-
Enhanced validation on the User Group Form to provide accurate notifications when no users are selected or if only a search query is entered. This change improves user experience and form accuracy. (PL-55793)
-
Fixed issue with delegate creation scope where delegates were being created at the account level instead of the project level. The resolution ensures that delegates are correctly installed in the intended scope, particularly when creating new orgs or projects and installing Kubernetes delegates via YAML. (PL-55615)
-
Resolved issue with Rollout deployment logs where logs were not available or expandable. This problem, caused by a race condition between stream closure and log dispatching, has been fixed. Logs will now display correctly even under heavy load. This item requires Harness Delegate version 24.07.83605. For information about Harness Delegate features that require a specific delegate version, go to the Delegate release notes. (PL-55512, ZD-66330)
-
SAML groups were not being picked up by Harness due to a regression introduced with recent changes in syncing users in SAML user groups. Identified and resolved the issue, ensuring that SAML groups are now correctly synced with Harness. (PL-55507, ZD-66567, ZD-66882)
-
SCIM sync issues were occurring due to incorrect handling of
orgIdentifier
andprojectIdentifier
. Updated the query to correctly handle cases whereorgIdentifier
andprojectIdentifier
are null. (PL-55444, ZD-66712) -
Legacy delegates were unable to download the SCM binary. This issue has been resolved. (PL-55263, ZD-66357, ZD-66361)
-
Optimized query performance for
delegateConnectionResults
. Added a new index based on delegateId and criteria to improve query efficiency and reduced CPU usage. Updated cache keys to include accountId for better indexing and cache utilization. This change addresses high query volume and CPU spikes previously observed. (PL-52071) -
Clicking a role after scrolling distorted the viewport. The issue with viewport distortion on the Roles page has been fixed. (PL-52063, ZD-65768)
-
Tokens could not be created via API from the API docs because the required fields were missing. Added the necessary required fields to the Create a Token page in the API docs, allowing tokens to be successfully created via the API. (PL-51974, ZD-65569)
-
Users encountered a
Media not found
error when clicking the +Dashboard button and in the About the Dashboard dialog. Removed missing Dashboard tutorial videos, resolving theMedia not found
error. (PL-50890) -
Users were able to see the enable/disable option for AIDA at the project level, even if AIDA was disabled at the account level. Implemented a change to display an error message when users attempt to enable AIDA at the project level if it is disabled at the account level. (PL-48296)
-
The Cancel button was not working while creating a connector via YAML. Updated the behavior of the Connectors page YAML editor to match that of other pages. The Discard button on the YAML editor page now exits back to the previous page. (PL-42928)
-
Harness has improved the sorting functionality for the User Group List API. Previously, sorting was based exclusively on the
lastModifiedAt
timestamp, managed by Spring, with millisecond precision. This approach assumed that no two entities would share the samelastModifiedAt
timestamp. Harness has introduced a secondary sort field to act as a tiebreaker. This adjustment ensures a consistent and reliable order across queries, improving the overall stability and accuracy of paginated results. (PL-48886, ZD-61135) -
Removed unnecessary env expansion and added url_encoding to encode special characters from proxy when curl connectivity pre-check is enabled. This item requires Harness Delegate version
24.07.83611
or24.08.83705
. For information about Harness Delegate features that require a specific delegate version, go to the Delegate release notes. (PL-56623)
Software Supply Chain Assurance
- The SLSA Provenance was not being generated when the "Build and Push" step was either added as a parallel step or placed within a step group in a pipeline. This issue has now been resolved (SSCA-2265).
August 21, 2024, patch version 0.19.2
This release includes the following Harness module and component versions.
Name | Version |
---|---|
Helm Chart | 0.19.2 |
Air Gap Bundle | 0.19.2 |
NG Manager | 1.45.11 |
CI Manager | 1.35.10 |
Pipeline Service | 1.83.1 |
Platform Service | 1.30.4 |
Access Control Service | 1.52.5 |
Delegate | 24.07.83404 |
Change Data Capture | 1.24.0 |
STO Core | 1.102.2 |
Test Intelligence Service | 1.17.0 |
NG UI | 1.30.6 |
LE NG | 1.3.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.19.2/ccm_images.tgz" \
"gs://smp-airgap-bundles/harness-0.19.2/cdng_images.tgz" \
"gs://smp-airgap-bundles/harness-0.19.2/ce_images.tgz" \
"gs://smp-airgap-bundles/harness-0.19.2/ci_images.tgz" \
"gs://smp-airgap-bundles/harness-0.19.2/ff_images.tgz" \
"gs://smp-airgap-bundles/harness-0.19.2/platform_images.tgz" \
"gs://smp-airgap-bundles/harness-0.19.2/sto_images.tgz" \
.
New features and enhancements
Continuous Delivery
- We’ve introduced support for tag-based RBAC for GitOps Applications. Now, you can include GitOps Applications in Resource Groups based on the tags assigned to them. This allows you to easily add or remove Applications from Resource Groups by simply updating the tags, making access control more dynamic and flexible. This feature is currently behind the feature flag,
CDS_GITOPS_LABELS_BASED_ACCESS_TO_APPS
. Contact Harness support to enable it. (CDS-97914)
Fixed issues
Continuous Delivery
- We have resolved an issue where GitOps Applications were inconsistently appearing and disappearing in Harness projects. This was caused by mapping a single ArgoCD instance to multiple Harness organizations and projects. The issue has been fixed, ensuring that GitOps Applications now display correctly and consistently in your projects. (CDS-96409, ZD-62852)
August 21, 2024, patch version 0.19.1
This release includes the following Harness module and component versions.
Name | Version |
---|---|
Helm Chart | 0.19.1 |
Air Gap Bundle | 0.19.1 |
NG Manager | 1.45.11 |
CI Manager | 1.35.10 |
Pipeline Service | 1.83.1 |
Platform Service | 1.30.3 |
Access Control Service | 1.52.4 |
Delegate | 24.07.83404 |
Change Data Capture | 1.24.0 |
STO Core | 1.102.2 |
Test Intelligence Service | 1.17.0 |
NG UI | 1.30.4 |
LE NG | 1.3.0 |
Bootstrap | 1.6.1 |
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.19.1/ccm_images.tgz" \
"gs://smp-airgap-bundles/harness-0.19.1/cdng_images.tgz" \
"gs://smp-airgap-bundles/harness-0.19.1/ce_images.tgz" \
"gs://smp-airgap-bundles/harness-0.19.1/ci_images.tgz" \
"gs://smp-airgap-bundles/harness-0.19.1/ff_images.tgz" \
"gs://smp-airgap-bundles/harness-0.19.1/platform_images.tgz" \
"gs://smp-airgap-bundles/harness-0.19.1/sto_images.tgz" \
.
Fixed issues
Harness Platform
- Fixed an issue where installing or upgrading SMP to version 0.19.0 would fail when
harness-secrets
was disabled. This issue was due to a version inconsistency in the common chart used by Helm, which has now been resolved by adjusting the chart hierarchy. (PL-56179)
August 13, 2024, version 0.19.0
This release includes the following Harness module and component versions.
Name | Version |
---|---|
Helm Chart | 0.19.0 |
Air Gap Bundle | 0.19.0 |
NG Manager | 1.45.11 |
CI Manager | 1.35.10 |
Pipeline Service | 1.83.1 |
Platform Service | 1.30.3 |
Access Control Service | 1.52.4 |
Delegate | 24.07.83404 |
Change Data Capture | 1.24.0 |
STO Core | 1.102.2 |
Test Intelligence Service | 1.17.0 |
NG UI | 1.30.4 |
LE NG | 1.3.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.19.0/ccm_images.tgz" \
"gs://smp-airgap-bundles/harness-0.19.0/cdng_images.tgz" \
"gs://smp-airgap-bundles/harness-0.19.0/ce_images.tgz" \
"gs://smp-airgap-bundles/harness-0.19.0/ci_images.tgz" \
"gs://smp-airgap-bundles/harness-0.19.0/ff_images.tgz" \
"gs://smp-airgap-bundles/harness-0.19.0/platform_images.tgz" \
"gs://smp-airgap-bundles/harness-0.19.0/sto_images.tgz" \
.
Behavior changes
Continuous Delivery
-
Previously, when the verify step failed, and an action was taken based on the failure strategy or manual intervention, the title was always shown as Manual Intervention. (CDS-97985, ZD-65113)
Now, the title is updated to reflect the nature of the intervention:
-
Intervention is displayed when the action is performed through the CV failure strategy configuration.
-
Manual Intervention is displayed when the action is performed through manual intervention.
-
-
In order to support auto-creation of GitX entities,
.harness
folder will be tracked by default for all webhooks. (PIPE-19965) -
Bi-directional sync Gitx Setting from account settings. From now onwards, it would be enabled for all users by default. Currently, this change is behind the FF
PIE_DISABLE_GITX_BI_DIRECTIONAL_SYNC
. Contact Harness support to enable it.(PIPE-19419)
Breaking change
Continuous Delivery
-
Validations have been added to override variable names. Now, a new variable name cannot be saved if it starts or ends with a space. Also, validations have been added for special characters. This is a breaking change for the already saved invalid variable names. Hence, this change is enabled behind the feature flag,
CDS_OVERRIDES_VARIABLE_NAME_VALIDATIONS
. After enabling the feature flag, you can see that the variable names are being validated when creating or updating overrides. (CDS-97386, ZD-62711) -
Harness now supports the serial deployment of environment groups. This feature is currently behind the feature flag,
ENV_GROUP_DEPLOYMENTS_IN_SERIAL
. Contact Harness support to enable it. (CDS-97241, ZD-63912)
Early access
Continuous Integration
- When you include a step that uses a private Docker registry, the step now uses the URI specified in the Docker connector. This means that you no longer need to specify the Fully Qualified Name in the Image field. This change applies to the following steps: Plugin, Background, Run, Run Tests, and Test Intelligence. (CI-10500, ZD-64406, ZD-64735, ZD-65011, ZD-66227)
New features and enhancements
Cloud Cost Management
-
Load Balancer Pagination Fixes: Some improvements have been made to the load balancer pagination:
- The page index on the URL now matches the page in the list.
- The first column is now wider based on the available space.
- The last activity column now reads the updated_at value instead of calling a separate API. (CCM-18585)
-
Memory Metrics Tooltip for EC2 Recommendations: Added a tooltip to EC2 recommendations to give more information on memory metrics. This tooltip provides documentation on what users need to do to enable memory metrics, ensuring they understand how to gather necessary data for accurate recommendations, especially for memory-optimized instance families.
-
Disabled Enforcements for Accounts without a Valid CCM License: We have disable Enforcements related to accounts that do not have a valid CCM license.
-
Azure Data Sync Frequency Update: The Azure data sync frequency has been changed from 1 day to 1 hour. This enhancement will allow data to flow faster for Azure customers, reducing wait times and improving data availability (CCM-18014)
Continuous Integration
- Added support for AWS connectors to assume external roles to STS (Security Token Service) credentials for cache plugins.
Continuous Delivery
- Infinite Scroll Support Repo listing
This feature is currently behind the feature flag, CDS_LIST_REPO_V2
. Please contact Harness support to enable it.
For a certain connector, you can now search for repositories with support for infinite scroll. Simply enter any keyword to see related repositories listed. If you can't find the repository you're looking for, you can also add it manually.(PIPE-10894)
Refer to following doc for more details on new repo listing.
Harness Platform
-
Reduced delegate liveness probe failure time. Previously, delegates had a 15-minute window to send heartbeats before the liveness probe failed, leading to a delegate restart. Harness reduced this time to 5 minutes to ensure quicker detection and response to heartbeat failures. (PL-52037)
-
upgrader_enabled
is now set totrue
in the Terraform delegate download section of the UI gen installation file to enable automatic upgrades. (PL-51681) -
The
terminationGracePeriodSeconds
for delegates has been increased from 10 minutes to one hour. This enhancement allows delegate pods to wait up to an hour before being forcibly terminated during regular scale-downs or upgrades, ensuring smoother transitions and minimizing potential disruptions. (PL-51534, ZD-63917) -
Due to a bug, users could be added to SSO linked User Groups from the Harness UI, which should not be allowed. The addition of users to any SSO linked user groups from the Harness UI is now restricted. (PL-51431)
-
Modified the unique index for delegate token names. The default token name in each scope will now be
default_token
instead ofdefault_token_org/project
. This change applies only to new projects and organizations; existing projects and organizations will retain their current token names. (PL-51151) -
Added support for Harness Secret Manager decryption for notifications. Harness-managed secrets used in notifications are now decrypted using Harness Manager, enhancing security and functionality. (PL-41880)
Security Testing Orchestration
-
WIZ IaC step is now available in Infrastructure stage. (STO-7632)
-
Git Clone step is now available in Security stage. (STO-7619)
Fixed issues
Chaos Engineering
-
Added NIL check for probes in CDC, updated chaosGameDays collection name and
gameday_run_id
field. (CHAOS-5737) -
CPU utilization increased due to continuously executing clean up tasks. This issue has been fixed by adding a sleep operation that runs after every remove operation and optimizes overall CPU performance. (CHAOS-5709)
Continuous Integration
-
Fixed an issue where pipelines with Docker Layer Caching enabled would fail with the error Failed to get link with status 400. (CI-13070)
-
Running unittest in a Run step resulted in the error sh: unittest not found in some cases. With this fix, pipelines now run python unittest -m which supports more image types. (CI-12795)
-
Fixed an issue where pipelines failed intermittently due to delegate selection and task distribution problems when multiple delegates are configured with the same selector tag. (CI-12788, ZD-64246)
-
Added a fix to support merge events for Bitbucket Server PR builds with refs as
refs/heads/targetBranch
. (CI-12710, ZD-57511, ZD-65148) -
Fixed an issue where certain keywords in a script could cause the step to fail with an "Invalid step" error. (CI-12708, ZD-63932)
-
Improved the error message that gets displayed when an incompatible Docker version causes the pipeline to fail. (CI-12612, ZD-63466)
-
Implemented a fix to ensure that all account-level secret references use the correct format
(<+secrets.getValue("account.MY_SECRET_ID")>)
in all build infrastructures. With this fix, pipelines will fail if account-level secrets are not referenced correctly. (CI-12595, ZD-63260) -
Fixed an issue where the Docker LABEL set in a Build and Push step does not override the LABEL configured in the Dockerfile. With this fix, you can now use buildx rather than kaniko to build your container images. You must run buildx on k8s with Privileged mode enabled. This fix is behind the feature flag CI_USE_BUILDX_ON_K8. Contact Harness Support to enable this fix. (CI-12548, ZD-63222)
-
Honor
ImagePullPolicy
specified in the YAML for Docker Runner. In some cases, the Image Pull Policy setting did not work as intended when running builds in Docker and VM build infrastructures. (CI-11703) -
CI builds were running slowly in some cases. This release includes the following fixes to address this issue. (CI-10042, ZD-52559)
- Added extra resources for running
addon
. This feature is behind the feature flagFEATURE_FLAG
. Contact Harness Support to enable the feature. - Updated LE to
addon
communication to retry every 300ms 30 times, for a total of 9 seconds. - Disabled resource consumption logs for
addon
.
- Added extra resources for running
Continuous Delivery
-
Extra border was appearing on the settings page during extensive scrolling. The issue is fixed now. (CDS-98494, ZD-65368)
-
While clicking on the View References button while deleting a Secret was not properly redirecting the user. The issue is fixed now. (CDS-98487)
-
Discrepancy was observed in text box size between HTTP step and HTTP step template. The issue is fixed now by adding conditional width for pipeline input form and template. (CDS-98094, ZD-65420)
-
When updating the File Usage in File Store, an error was being thrown that the file usage could not be updated, even though it was being updated properly. The issue is fixed now. (CDS-98077, ZD-65347,65353)
-
Even though clusters were selected and listed under a specific environment, the Gitops Sync task was getting an error Following clusters were skipped either because clusters were not linked to the environment or not present in Harness GitOps. The issue is fixed now. (CDS-98022)
-
Azure App deployments were not working as expected due to recent log changes by Azure. Azure now provides logs for multiple containers, which affected the integration. The issue is fixed now and includes log pattern recognition that mark the pipeline success based on matching specific patterns in the logs. (CDS-98000, ZD-65289)
-
The license trends graph for the SI model was previously inaccurate due to the queries grouping services based on projects. As per the correct definition, all services should be grouped in a single bucket irrespective of the organization or project. The issue is fixed now and the queries have been updated to accurately reflect the current license count on the license trend graph for the SI model. (CDS-97966)
-
Git Experience for Overrides was not working. Previously, the UI tried to always fetch the overrides from the default branch failing the get call from the UI. The issue is fixed now. (CDS-97874)
-
In Custom template, service and Infrastructure is optional and if Infrastructure is fixed and from UI side and if there is no value present it was getting set to undefined that was leading to the removal of infrastructureDefinitions key and if there is no key it will throw an error. The issue is fixed now. (CDS-97815,ZD-64148,64652)
-
Changes to add
metricThresholds
to NewRelic health monitors are causing Terraform to hang while waiting for an updated response. Despite the hang during the first execution, subsequent executions of the pipeline indicate that the resource was successfully updated. The issue is fixed now by changing the error code. (CDS-97793, ZD-65015) -
When a template YAML contained duplicate keys and was linked to a pipeline, the error message only indicated the presence of duplicate keys without identifying the specific template. The error message has been improved to include the template identifier, enabling users to locate and fix the issue in the relevant template. (CDS-97785, ZD-64989)
-
While selecting the Deployment type AWS SAM and toggling the CV button it was throwing an error due to no template being chosen. The issue is fixed now. (CDS-97771)
-
For Winrm deployment with Command step and auth type as Kerberos if the environment variables contains characters
\b, \v, \c, \f, &
the script execution was failing as we parse the response of script execution to xml string and above characters are illegal xml characters. The issue is fixed and now and these characters will be escaped. This change is behind the FFCDS_ESCAPE_ENV_VARS_FOR_WINRM_KERBEROS_NG
. (CDS-97690, ZD-55276,58201,66326) -
When using a connector at a project scope, the preflight check fails when the connector reference links to the connector url stored or created at an account level due to an incorrect routing to a
Not Found
page. This was because, scope details were missing from the API. The issue is now fixed. (CDS-97593, ZD-64673) -
The project level artifact feed was not working for azure web services deployment and the project information was fetched from the wrong object. This issue is now fixed and the project level feed for artifact collection now works as expected. (CDS-97586)
-
Logs were not being uploaded for shell script step and some other steps in case the step timed out. The issue is fixed and the shell script step now uploads the logs on step timeout. (CDS-97521, ZD-64422)
-
The shell script step was not doing a capability check before assigning the tasks to the delegate. The issue is fixed and the shell script step will now have a host capability check. (CDS-97512, ZD-66326,66349)
-
Null Pointer Exception occurred in the Verify step. Added null point checks to avoid this error in the future. (CDS-97388)
-
The ServiceNow step was not updating the ticket but was showing successful with no logs being shown. The issue is now fixed and console logs and debugging help has been added in the ServiceNow steps. (CDS-97033, ZD-63637)
-
When selecting Use Template on an Approval Stage, Steps were showing, but Step Group Templates were not. The issue is now fixed, and users will be able to create a step group template with the approval stage type. These templates can be used in approval stages as step entities. (CDS-96930, ZD-63556)
-
If drift is detected in the services dashboard tile, the Drift Detected hover box now displays a detailed error message with the relevant documentation link. (CDS-96911, CDS-96722)
-
Pipeline execution showed inconsistencies. This issue is fixed by fixing a retry bug with the delegate's Git client where it did not retry on specific errors. (CDS-96877, ZD-63321)
-
Service failed intermittently when fetching the
ECR_ARTIFACT_TASK_NG
artifact. This issue is fixed by optimizing ECR calls by reducing the number of client creation calls and reusing the clients by passing them and eventually using them to make calls instead of creating clients every time. (CDS-96861, ZD-63061) -
The Execution History page broke when numbers were used in the Tags field. This issue is fixed by converting the string holding the number to string type before applying string methods on the variable. (CDS-96636)
-
The trigger was getting invoked without an artifact push. The issue is fixed now. (PIPE-19806)
-
Changes made to files in Git repository were not reflected in Harness. The issue is fixed now and it is ensured webhooks events are now correctly triggered, enabling accurate bididrectional synchronization. (PIPE-19654, ZD-64687)
-
When trying to resolve the expressions in the File Store scripts, Harness encountered a self referencing expression. Due to this condition, the resources associated with two Harness services were exhausted. A code change fixed this issue by preventing such pipeline executions. This item requires Harness Delegate version 24.06.83304. For information about features that require a specific delegate version, go to the Delegate release notes. (PIPE-19585, ZD-64579, ZD-64580)
-
Validation for the pipelines with templates imported from Git failed. Typically, schema validation is done in the pipeline Get, Create, or Update calls. However, schema validation for pipelines imported from Git (with templates) is done without resolving the templates because it's an expensive operation. Therefore, schema validation in the async validate call to identify any schema errors causing validation failure. Note that the issue only happens with imported pipelines with templates from Git currently. (PIPE-18537, ZD-61841)
-
The GitEx Health page is now updated to include information about GitEx webhook events validation such as event status and status of other related entities. (PIPE-18466)
-
When a Template was selected and added to a Pipeline, the UI options was not allowing the user to select Always use Stable Template, although this was possible through the YAML by removing the template version. This issue has now been fixed and the Template can be set to Stable version in the calling Pipeline. (PIPE-16496, ZD-60750)
-
Fixed an issue where hovering on variables did not work as expected. (PIPE-14668)
-
Infrastructure definition page was not opening from the pipeline execution page. The issue is fixed now. (CDS-98502)
-
No error appeared in the secrets runtime usage tab when clicking on a pipeline name belonging to a deleted project. The issue is fixed now. (CDS-97986)
-
Cloud Provider field was empty when configuring or updating the Infrastructure Definition. The issue is fixed now and all available cloud providers are now listed for selection. (CDS-97835, ZD-64983)
-
Secrets containing hyphens were not getting masked in step inputs when used in scripts. This issue has been resolved by updating the regex to properly mask secrets with hyphens. (CDS-97713)
-
getPreflightCheckResponse
api was not sending the scope details while sending theconnectorIdentifier
. The issue is fixed now. (CDS-97673) -
In the Jira Create step, the
Add Jira Fields
modal was extending beyond the screen if the content was large. This issue has been resolved by setting the max-height property of the modal to 400px and applying overflow: scroll along the y-axis. (CDS-97334) -
During the Jira Create step, when the connector, project, and issue type fields were all selected, an API call was made to fetch Jira fields without displaying a loader, causing a blank screen until the fields were rendered. A loader has now been added to indicate progress while the API call is in progress. (CDS-97333)
-
When a connector was deleted, the connected manifests in overrides failed to load. The issue is fixed now. (CDS-94620)
-
Previously, a template resolution failure resulted in a blank page with no input data. The issue is fixed now, and now the user will see the execution input YAML in the event of such failures. (PIPE-18661, ZD-62224)
-
During delegate selection in pipelines where the stage delegate was selected instead of the outer step group delegate when a pipeline was executed. The issue is fixed now and delegate selection has been corrected to follow the priority order:
Connector < Pipeline < Stage < Step Group < Nested Step Group
. (PIPE-16608) -
The pipeline list displayed an incorrect time when hovering over the last execution time for a specific pipeline. The issue is fixed now. (PIPE-16533)
Harness Platform
-
Connectors could be deleted even if they had existing secrets. This issue has been resolved, and now AWS Secret Manager Connectors cannot be deleted if they contain existing secrets. (PL-52067, ZD-65772)
-
Resource Scope was deleting projects. Searching for a project and then selecting it would remove all previously selected projects. Improved the project selection process in org scope Resource Groups to match the flow of project selection in account scope Resource Groups. This change resolves the issue and ensures previously selected projects remain intact when new ones are added. (PL-51988, ZD-65620)
-
The CI module on the Subscriptions page didn't display the Available credits summary card and Credits breakdown table. You can now view the Available credits summary card and Credits breakdown table when
PL_ENABLE_LICENSE_USAGE_COMPUTE
is disabled. When the flag is enabled, the summary card and table are moved to the Cloud Credits page instead of Subscriptions page. (PL-51838, ZD-65108) -
Public access on resources was not functioning correctly when a project had multiple public resource types. Only the first resource type marked as public was registered internally in Access Control. This issue has been resolved. Now, public access is correctly registered for all resource types marked as public within a project, ensuring that every public resource type works as expected. (PL-51797)
-
Pipelines were hanging when the pipeline-service was scaled up or down by HPA, causing some pipelines to become stuck, requiring manual abortion. Increased the graceful timeout from 30 seconds to 180 seconds to prevent pipelines from hanging during pipeline-service scaling. (PL-51780, ZD-63250)
-
The delegate cached its health status for the health endpoint for 5 minutes, leading to occasionally incorrect health reports. Reduced the cache interval to 10 seconds to align with the default K8S health check interval. (PL-51707)
-
Kubernetes services were created during the startup of the delegate, causing the IP pool to be exhausted for NAB. The delegate has been updated to prevent the creation of Kubernetes services upon startup, resolving the issue with IP pool exhaustion. (PL-51550)
-
Delegates were running out of memory due to frequent connectivity checks. Optimized the connectivity check process to reduce memory usage, preventing the delegate from running out of memory. (PL-51418, ZD-63705)
-
SSH type deployment errors were not providing clear information, and delegate tasks continued beyond the maximum broadcast rounds. The issue has been resolved by failing the delegate task after the maximum broadcast rounds are completed. A correct error message will now be displayed to improve clarity. (PL-51241)
-
New users accepting an invitation and landing on the Get Started page encountered a 404 error. New users will now be redirected to the correct page upon accepting an invitation. (PL-51173)
-
Performing actions within embedded dashboards now refreshes the user's active session, preventing unexpected logouts. (PL-50534, ZD-62334)
-
The Explore Plans button failed to redirect to the Plans page. Resolved the button routing issue to ensure the Explore Plans button now correctly redirects to the Plans page. (PL-49190, ZD-62009)
August 12, 2024, patch version 0.18.2
This release includes the following Harness module and component versions.
Name | Version |
---|---|
Helm Chart | 0.18.2 |
Air Gap Bundle | 0.18.2 |
NG Manager | 1.41.11 |
Batch Processing | 1.19.2 |
CE Nextgen | 1.20.5 |
Looker | 1.1.0 |
Gitops | 1.11.8 |
CI Manager | 1.30.4 |
NG UI | 1.26.17 |
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.18.2/ccm_images.tgz" \
"gs://smp-airgap-bundles/harness-0.18.2/cdng_images.tgz" \
"gs://smp-airgap-bundles/harness-0.18.2/ce_images.tgz" \
"gs://smp-airgap-bundles/harness-0.18.2/ci_images.tgz" \
"gs://smp-airgap-bundles/harness-0.18.2/ff_images.tgz" \
"gs://smp-airgap-bundles/harness-0.18.2/platform_images.tgz" \
"gs://smp-airgap-bundles/harness-0.18.2/sto_images.tgz" \
.
Fixed issues
Cloud Cost Management
-
AWS SMP Query Fix: Corrected the definitions for amortized and net amortized queries to ensure accurate reporting for AWS billing data. (CCM-18459)
-
AWS Dashboard Fix: We've fixed AWS tag and ResourceID dimensions that were not working earlier in the dashboard. Additionally, support for cost categories in AWS CCM explores has been added to provide better visibility and management. (CCM-18542)
Continuous Delivery
- For Winrm deployment with Command step and auth type as Kerberos if the environment variables contains characters
\b, \v, \c, \f, &
the script execution was failing as we parse the response of script execution to xml string and above characters are illegal xml characters. The issue is fixed and now and these characters will be escaped. This change is behind the FFCDS_ESCAPE_ENV_VARS_FOR_WINRM_KERBEROS_NG
. (CDS-97690, ZD-55276,58201,66326)
Continuous Integration
-
Changed the URL parsing logic for GitLab SSH connections to correctly interpret project IDs starting with a number, preventing capability check failures. (CI-11392, ZD-58162, ZD-64761, ZD-66628)
-
Fixed an issue where external endpoints were used for internal service communication, causing token authentication failures and 401 errors. The issue was resolved by ensuring internal communication for the services. (CI-13686)
-
Previously, when creating a new project and selecting CI, customers were directed to the "Get Started" page. However, this page encountered a failure related to the
clientSecret
setup for Stripe. To address this issue, we have modified the onboarding flow for SMP. Now, customers will be taken directly to the Overview page instead. (CI-13687)
Harness Platform
-
We discovered an issue where the User Settings migration process in SMP environments incorrectly identifies values for Account Settings, leading to incorrect data population for existing settings. This issue has been resolved in versions
0.18.2
. If you have upgraded to any of the following versions:0.18.0
, or0.18.1
, you will need to run the provided script to correct the data:Script: update-setting-parentUniqueId.sh
For assistance, please contact Harness Support. (PL-56034)
New features and enhancements
Continuous Delivery
- Harness GitOps now allow users to create applications using just repository URLs without requiring a pre-defined repository object, similar to Argo CD. This feature enables authentication via repository credentials and will automatically link a repository if a matching entity is later created. It also retains protection against repository deletion if it's in use by any applications. (CDS-98275)
August 12, 2024, patch version 0.17.3
This release includes the following Harness module and component versions.
Name | Version |
---|---|
Helm Chart | 0.17.3 |
Air Gap Bundle | 0.17.3 |
NG Manager | 1.36.12 |
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.17.3/ccm_images.tgz" \
"gs://smp-airgap-bundles/harness-0.17.3/cdng_images.tgz" \
"gs://smp-airgap-bundles/harness-0.17.3/ce_images.tgz" \
"gs://smp-airgap-bundles/harness-0.17.3/ci_images.tgz" \
"gs://smp-airgap-bundles/harness-0.17.3/ff_images.tgz" \
"gs://smp-airgap-bundles/harness-0.17.3/platform_images.tgz" \
"gs://smp-airgap-bundles/harness-0.17.3/sto_images.tgz" \
.
Fixed issues
Harness Platform
-
We discovered an issue where the User Settings migration process in SMP environments incorrectly identifies values for Account Settings, leading to incorrect data population for existing settings. This issue has been resolved in versions
0.17.3
. If you have upgraded to any of the following versions:0.17.0
,0.17.1
, or0.17.2
, you will need to run the provided script to correct the data:Script: update-setting-parentUniqueId.sh
For assistance, please contact Harness Support. (PL-56034)
July 23, 2024, patch version 0.18.1
This release includes the following Harness module and component versions.
Here's the markdown table with adjusted spacing for better visual appeal:
Name | Version |
---|---|
Helm Chart | 0.18.1 |
Air Gap Bundle | 0.18.1 |
NG Manager | 1.41.10 |
CI Manager | 1.30.2 |
Pipeline Service | 1.78.8 |
Platform Service | 1.26.3 |
Access Control Service | 1.48.3 |
Delegate | 24.06.83205 |
Change Data Capture | 1.18.0 |
STO Core | 1.102.2 |
Test Intelligence Service | 1.17.0 |
NG UI | 1.26.16 |
LE NG | 1.3.0 |
Harness Manager | 1.32.10 |
This should make the table visually appealing and properly aligned.
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.18.1/ccm_images.tgz" \
"gs://smp-airgap-bundles/harness-0.18.1/cdng_images.tgz" \
"gs://smp-airgap-bundles/harness-0.18.1/ce_images.tgz" \
"gs://smp-airgap-bundles/harness-0.18.1/ci_images.tgz" \
"gs://smp-airgap-bundles/harness-0.18.1/ff_images.tgz" \
"gs://smp-airgap-bundles/harness-0.18.1/platform_images.tgz" \
"gs://smp-airgap-bundles/harness-0.18.1/sto_images.tgz" \
.
Fixed issues
-
For Winrm deployment with Command step and auth type as Kerberos if the environment variables contains characters
\b, \v, \c, \f, &
the script execution was failing as we parse the response of script execution to xml string and above characters are illegal xml characters. The issue is fixed and now and these characters will be escaped. This change is behind the FFCDS_ESCAPE_ENV_VARS_FOR_WINRM_KERBEROS_NG
. (CDS-97690, ZD-55276,58201,66326) -
GitLab connectors using the SSH connection type no longer fail if the GitLab project name starts with a number. (CI-11392, ZD-58162)
July 3, 2024, version 0.18.0
This release includes the following Harness module and component versions.
Name | Version |
---|---|
Helm Chart | 0.18.0 |
Air Gap Bundle | 0.18.0 |
NG Manager | 1.41.9 |
CI Manager | 1.30.2 |
Pipeline Service | 1.78.8 |
Platform Service | 1.26.3 |
Access Control Service | 1.48.3 |
Delegate | 24.06.83204 |
Change Data Capture | 1.18.0 |
STO Core | 1.97.2 |
Test Intelligence Service | 1.17.0 |
NG UI | 1.26.16 |
LE NG | 1.3.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.18.0/ccm_images.tgz" \
"gs://smp-airgap-bundles/harness-0.18.0/cdng_images.tgz" \
"gs://smp-airgap-bundles/harness-0.18.0/ce_images.tgz" \
"gs://smp-airgap-bundles/harness-0.18.0/ci_images.tgz" \
"gs://smp-airgap-bundles/harness-0.18.0/ff_images.tgz" \
"gs://smp-airgap-bundles/harness-0.18.0/platform_images.tgz" \
"gs://smp-airgap-bundles/harness-0.18.0/sto_images.tgz" \
.
Breaking change
- Harness has now disabled the ability to update notes for an execution after it is complete. This functionality is behind the feature flag
PIE_DISABLE_NOTES_UPDATE_AFTER_EXECUTION_COMPLETED
. Contact Harness Support to enable it. (PIPE-18490)
Early access
- Harness now lists all pipeline executions including retired and child executions in the Executions page. This feature is behind the feature flag
PIE_SHOW_ALL_EXECUTIONS_FILTER
. Contact Harness Support to enable it. (PIPE-18492, ZD-64066)
New features and enhancements
Chaos Engineering
-
This release improves the advanced filter support for "headers", "methods", "queryParams", "destination_IPS", and "destination_Hosts" in the API faults. (CHAOS-5381)
-
Adds the unit support (milliseconds, seconds, minutes and hours) for latency parameters in the pod API latency faults. (CHAOS-5378)
-
Adds backend to GameDay V2. (CHAOS-5138)
-
Adds the following JVM chaos faults for Linux that target the JVM of a given Java process running on a Linux machine to inject faults.
- Video tutorial to upgrade your chaos infrastructure to 1.38.x or higher
- Video tutorial to execute an experiment after infrastructure upgrade to 1.38.x or higher
- The existing APIs will work as per the norm on old and new chaos infrastructure, whereas new experiments will work only on the updated infrastructure (infrastructure version >= 1.38.0).
- Go to frequently asked questions on optimization to learn more.
- This release optimizes the experiment flow by:
- Reading environment variables from the chaos engine.
- Eliminating the experiment's custom resources and the corresponding steps for new experiments.
- Eliminating the install experiment step.
- Reducing the length of the YAML manifest.
- Increasing the speed of execution of the experiment.
- Adding all the overrides to the chaos engine.
- Enhancing the list filter, compatible only with the new experiment template. (CHAOS-5122)
Cloud Cost Management
-
Anomaly Drilldown Support: Harness has introduced support for Anomaly drilldown, allowing users to precisely view anomalies on the Anomaly List Page that were visible on the Perspective Details Page. (CCM-17137)
-
Perspective List Page Enhancement: We have added a minor change on the Perspective List Page of removing the total cost and changing the default view to list format. (CCM-17380)
-
Cloud Perspective Recommendation Display: Recommendations along with their total potential savings is now be displayed on the cloud perspective, providing users with actionable insights directly within their Perspectives overview page. (CCM-17639)
-
Time Filter Options for Recommendations: We have introduced UI changes to support time filter options for the last 60 days and 90 days in recommendations. This enhancement provides users with greater flexibility in analyzing recommendations over specific time periods. (CCM-17725)
-
Email Validation Enhancement: We've introduced better validation for email addresses in the recipients list for perspectives report. This enhancement ensures that only correctly formatted email addresses are accepted in the recipients list, enhancing data integrity and security. (CCM-17850, ZD-63324)
-
Node New K8s Labelling: We have added support for the new K8s labels starting from K8s v1.17 for Instance Type, Operating System, Region, and Zone respectively. We use these labels to get the public pricing data for a given cloud provider. (CCM-17979)
-
Azure VM Inventory Duplicate Entries Enhancement: Duplicate entries within AzureVMInventory will now be handled better after this fix, ensuring appropriate data is displayed on the dashboards. (CCM-17313)
Continuous Delivery
- Harness UI will permanently switch to the new navigation experience, Nav 2.0 on June 03, 2024. Users will not be able to switch back to the old UI after that. This feature is behind the feature flag
CDS_NAV_PREFS
. Contact Harness Support to enable it. (CDS-96833)
Continuous Integration
-
Enabled Secure Connect support for Mac and Windows OS runners. (CI-12596)
-
You can now specify the image pull policy for a CI Build stage in the Pipeline Editor: go to Infrastructure > Advanced > Image Pull Policy. (CI-12512, ZD-62987)
-
Added a validation to Git Clone steps to ensure that a Git connector and repository is selected before applying changes. (CI-12477)
-
Added baseCommitSha in codebase for GitLab PR builds. (STO-12179, ZD-62144)
-
Added support for proxies via Secure Connect for Github App connectors. This item requires Harness Delegate version 24.05.83001. For information about Harness Delegate features that require a specific delegate version, go to the Delegate release notes. (CI-12130, ZD-61883)
-
This release adds support for CI resource classes, which you can use to allocate the build machines you want to use in Harness Cloud. This item requires Harness Delegate version 24.05.83001. For information about Harness Delegate features that require a specific delegate version, go to the Delegate release notes. (CI-10509)
Harness Platform
-
Service Account name and email fields are now exposed in the Role Assignment filter API, enhancing visibility and management. For more information, go to List Role Assignments by scope filter. (PL-50613)
-
Users were receiving an invite email instead of a notification email when added to an account with OAuth and the
AUTO_ACCEPT_SAML_ACCOUNT_INVITES
feature flag enabled. This required users to set a password before logging in, even though OAuth was enabled. When auto acceptance is enabled for an account with OAuth, users will now receive only a notification email, not an invite email. Since OAuth is enabled, setting a password is optional. If needed, users can set their password by selecting Forgot password? on the sign in page. (PL-41670) -
A banner has been added to the Delegate page to inform users about the change in the Harness support policy for delegates. The banner displays the updated policy, which includes 6 months of support followed by a 2-month upgrade period, totaling 8 months. For more information, go to Delegate expiration support policy. (PL-49301)
Security Testing Orchestration
-
Github Action and Plugin steps are now available in Security stages. (STO-7442)
-
You can now add Built-in scanner steps between existing steps. (STO-7470)
-
The SonarQube step has a new Scan configuration option. When Branch scan is selected in Extraction mode, the scan extracts results for the branch defined in SonarQube (for manual executions) or the pull request defined in SonarQube (for triggered executions). (STO-5799)
Fixed issues
Chaos Engineering
-
Fixed an issue where the compatibility check was enabled for other infrastructure types too. The overview form now preserves the state while switching between different infrastructures. (CHAOS-5614)
-
Fixed an issue where ChaosGuard list APIs was not returning the updated_by and created_by fields. (CHAOS-5596)
-
Fixed an issue where a user could not connect to a ChaosHub if its secret had a '-' symbol (after the deployment of ng-manager 1.33). (CHAOS-5112)
-
Fixed the rendering of the View Onboarding Progress page. (CHAOS-5583)
-
Fixed an issue where the user could not set up or create a Datadog probe. (CHAOS-5440)
-
Fixed an issue where the pod IO stress experiment incorrectly applied stress on the helper pod instead of the target container. (CHAOS-5416)
-
Fixed the issue where the sample data wasn't rendered in sorted timestamp while setting up custom health source. (CHAOS-5473)
-
Improved the efficiency of Mongo queries by adding a compound index. (CHAOS-5280, CHAOS-5279)
Cloud Cost Management
-
SMP Overview Screen Total Cost: We have updated the query used to retrieve active spend on the overview page for SMP to ensure accurate data representation. This fix ensures alignment between the total cost displayed on the SMP Overview Screen and the data presented in perspectives. (CCM-17380)
-
Perspective Dashboard Optimization: As part of this fix, we have disabled redundant parentheses from BigQuery SQL query to optimize the perspective and cost category queries, enhancing query efficiency and performance.
-
Azure Data Fix: Resolved an issue where adding a perspective rule with Azure subscription ID set to null resulted in no data being displayed. (CCM-17414)
-
Azure perspectives: Previously, only fields in "group by" with available data were displayed in Azure perspectives, leading to incomplete views and unnecessary errors. With this update, all relevant fields, including those without data, will now be visible. This eliminates any unnecessary errors arising from missing data at the source level. (CCM-17573, ZD-62691)
Continuous Delivery
-
Command-click on an execution name on the Executions page in the CD module did not work as expected. While it opens a new page with the relevant execution, it also opens the same execution on the original page. This issue is fixed. (PIPE-19465, ZD-63986)
-
The stage level delegate selector's expression evaluation failed if the expression had references to the service or environment since these were not set up. Now, Harness has introduced an annotator and skipped the expression evaluation for stage-level delegate selectors. The expressions are evaluated when they are referenced in a step. This behavior is identical to how stage-level variables are processed. (PIPE-14610)
-
Updates made to stage variables did not reflect in the pipeline. When adding a new
allowedValue`` in a template, the changes were not getting propagated to the pipeline as it was getting treated as a subset. This issue was caused by a change made in the code to allow subsets of values in
allowedValuesin a nested pipeline/template. Harness reverted this change, and will support the exact
allowedValuesin the pipeline/template during reconciliation. Some customers might face reconciliation errors if they are using the subset
allowedValues` already. (PIPE-19102, ZD-62929) -
There was a recent change to the expression resolution fallback logic to call the fallback only for customers who have the feature flag
CDS_DISABLE_FALLBACK_EXPRESSION_ENGINE
set to true. The current value is false for everyone. However, during this change, the fallback was not being called for customers who has set the feature flag to true, causing the expression to fail. This issue is fixed by correctly calling the fallback in case of failures and adding UTs to handle it. (PIPE-19013, ZD-63175, ZD-63194) -
Fixed an issue where the MS Teams notifications didn't show the event names. Now, the pipeline end event appears as "ended" and the pipeline success event appears as "succeeded" in notifications. (PIPE-18855, ZD-62684)
-
The Resource Constraint pop-up didn't show the ongoing execution details in the pipeline execution console view. This issue is fixed. (PIPE-18831, ZD-62825)
-
For a pipeline with bidirectional sync enabled, the file name change in GitHub was not properly reflected in the Harness UI. This issue is fixed by enhancing the cache handling for files. (PIPE-18828, ZD62791)
-
Fixed an issue where pipelines with IDP stages were not generating the correct pipeline execution URL. (PIPE-18322, ZD-60366)
-
Running a pipeline returned an unclear error message,
Invalid request: Cannot create pipeline entity due to Unexpected token (FIELD_NAME), expected END_OBJECT: expected closing END_OBJECT after type information and deserialized value at [Source: (StringReader); line: 13124, column: 1]
. This issue is fixed by providing a meaningful error message for thegetStageExecutionList
flow. (PIPE-16557, ZD-60649) -
Null pointer exception occurred when populating instrumentation data for sending events for telemetry. This issue occurred because some JsonNode objects returned null while called using GET method. This issue is resolved by adding null checks for the JsonNode objects. (PIPE-16452)
-
Custom stages were not displaying the wait status for the Approval step. Earlier, the stages were not marked as waiting when the steps went into waiting status. Now, the stage
nodeExecution
is marked as waiting when the step goes into waiting status. And, the stage is resumed when all the steps under that stage are resumed. (PIPE-15829, ZD-61238) -
Fixed the issue where deleted files from a PCF/TAS manifest path were removed from the remote branch but still cached on the Harness side. (CDS-96718, ZD-63179)
-
Fixed an issue where the ExpressionInput disabled field was not editable. A minor patch version update fixed this issue. (CDS-96282)
-
Support has been added for GAR and GitHub package from Harness UI for Native Helm Deployments. (CDS-96686)
-
The CD license telemetry publisher did not send the data on some days in an edge case. Earlier, Harness checked if it had been "24 hours - 10 mins" from the last time it was sent. For example, on May 7, if we send the event at 11:43 PM for an account, we will not try on May 8, as we wait for 24 hrs-10 mins to send it again. So, the next report went out on May 9 at 12:00 AM. This issue has been resolved. The CD license telemetry publisher now sends the events in this case as per the updated retry logic. (CDS-96792)
-
If drift is detected in the services dashboard tile, the Drift Detected hover box now displays a detailed error message with the relevant documentation link. (CDS-96911, CDS-96722)
-
Long template names for pipelines were bleeding out of the Save as new Template card. This issue is fixed. Now, the text will appear in a single line with an ellipsis when the name is lengthy, and a tooltip is also available. (CDS-97305)
-
The list clusters in the GKE infrastructure did not use OIDC authentication when a delegate selector was used in the connector. This issue occurred due to an incorrect check on when to use Inherit from delegate or OIDC authentication. This issue is fixed. Now, when OIDC authentication is used with delegate selectors, it uses OIDC flow instead of inheriting credentials from the delegate. (CDS-97177, ZD-63901)
-
Step group templates did not appear when selecting Use Template on an Approval stage. This issue is fixed. You can now create a step group template with the Approval stage, and use them as step entities in the Approval stage. (CDS-96930, ZD-63556)
-
Fixed an issue where users were unable to save YAML changes when creating a new infrastructure definition. (CDS-96396, ZD-62801, ZD-63997)
-
Unable to send
GitEntityFindInfoDTO
for Docker artifact resources. This issue occurred because the Git metadata was not being passed as a query parameter in API calls. This issue is resolved by making backend changes to resolve the YAML. (CDS-96379) -
Terraform configuration for a monitored service returned the
500
response code. This issue occurred due to incorrect un-marshalling of Terraform configuration to the JSON object for the API request. This led to backend validations failing and causing the500
response code. This issue is fixed by adding more validations/null checks in the backend. (CDS-96374, ZD-62737) -
The error that appeared when a pipeline was missing a reference to Harness resources like service, environment, etc, appeared only for a small amount of time and didn't allow users to see necessary details. This issue is fixed. The error message now stays until users close it manually. (CDS-96302, ZD-62677)
-
The TerraformCloud Run step did not fail if the Terraform Apply step failed. This issue occurred because we were not checking the status of Terraform Apply after streaming logs. If Apply started, the step passed even if the Apply step did not complete. The step failed only when the Apply step failed to start, but not if it failed midway. This issue is fixed. The TerraformCloud Run step now fails if the Apply step fails midway, allowing users to use appropriate failure strategies. (CDS-96089, ZD-62254, ZD-63371)
-
Fixed an issue where runtime expressions and values were not supported for Helm Values files in the Update GitOps Apps step. (CDS-96005)
-
Fixed an issue where users were not able to configure Job Parameters for a Jenkins job. (CDS-95864, ZD-61927)
-
The Feed field in the Artifact Details page for Azure artifacts threw a null pointer exception error. This issue occurred due to the presence of a whitespace in the Azure project name due to which Harness was not able to parse the URL as an URI object. This issue is fixed by encoding the URL to convert the whitespace in the project name to
%20
as per the UTF-8 standard to avoid the null pointer exception. (CDS-95752, ZD-61696) -
Trigger activity history cleared when updating trigger. This issue is fixed by changing the Trigger Activity History retention duration to 6 months instead of 7 days. (CDS-95729, ZD-61782)
-
The nav header panel of the Harness UI was not collapsible. The panel is now collapsible and appears when you hover over it. (CDS-95698, ZD-61706, ZD-61707)
-
Artifact builds were not loading if its entities were in a different repository. This issue is fixed.(CDS-95196, ZD-60805)
-
The fixedValue field is mandatory for the backend as well now. Earlier, Harness had validations in place to ensure that fixedValue in the UI was not null. This change is implemented in the backend as well for consistency for API contracts from the backend as well as the UI. (CDS-94414)
-
Fixed an issue where multiple infrastructure definitions were pointing to the same underlying infrastructure, which deployed the same service and doubled the instance count. (CDS-88736) You can run the following API to check duplicate instances in your account.
curl --location 'https://app.harness.io/gateway/ng/api/instancestats/duplicates?routingId=<accountId>&accountId=<accountId>&orgIdentifier=<orgId>' \
--header 'Authorization: Bearer <token>'You can refer to
instanceKey
to identify the duplicate instance. For example, for Kubernetes, the format isK8sInstanceInfoDTO_<podName>_<namespace>_<imageName>
.
Continuous Integration
-
Fixed an issue where, if the base image connector was overridden, the Docker build step did not work. With this fix, Docker-related images now properly gain privilege if the default connector is overridden.
buildx
images are now located [here] (https://hub.docker.com/search?q=plugins%2Fbuildx). These images are added to the auto-privilege mode. Without this privilege, the image does not run. (CI-12583) -
Harness Code explicit git clones are now supported on Kubernetes build infrastructures. (CI-11952, ZD-60998)
-
Fixed an issue where running a pipeline in debug throws an error saying it is not allowed to be run in this pipeline. (CI-12094, ZD-61519)
-
Fixed a UI issue where the Pipeline Execution UI didn't update the stage selector (left) correctly if the pipeline used a parallelism or matrix strategy. As a result, users could not see artifacts properly. (CI-12047)
-
Fixed an issue where the CI Getting Started page made multiple fetch calls to fetch Harness Code repositories. This occurred whenever the page was updated or the Git connector was updated. With this fix, the Getting Started page makes one fetch call only when it needs to fetch the list of repositories. (CI-10770)
Harness Platform
-
Keyboard navigation was not functioning for the Add Users list when adding a new member to a user group, and uncontrolled form submission occurred when pressing Enter. Updated the Add Users list to support keyboard navigation. Additionally, the form now properly handles uncontrolled submissions when the Enter key is pressed, allowing users to select items using the keyboard without unintended form submissions. (PL-51168, ZD-62169)
-
Harness recently made to allow hyphens in the secret identifier. However, the internal validation in the pipeline was not updated, which caused an error when the secret identifier was passed in the pipeline. This issue has been resolved to ensure the internal validation as well for secret identifiers containing a hyphen. (PL-51073)
-
Incorrect filters were displayed for the
includeScopes
field in Resource Groups in the Harness UI. While it was possible to add only project-level resources to a Resource Group via API, this option was not available through the UI. An Include Org-level resources option is now available in the UI. Users can now uncheck this option to include only project-level resources in a Resource Group, without including Org-level resources, addressing the previously unsupported use case. (PL-50969, ZD-62817) -
Invalid user search results were returned when querying from page
2
or higher. Harness updated the search functionality to reset thepageIndex
to0
after adding or updating a search query, ensuring accurate search results even when thepageIndex
is2
or higher. (PL-50907, ZD-62990) -
Delegate logs were displaying entire bearer tokens when using the IDP Kubernetes connector. Added log sanitization to delegate logs to mask commonly used secret patterns. These patterns can be extended per use case by adding them to the
/opt/harness-delegate/sanitize-patterns.txt
file inside the delegate. (PL-50889, ZD-64069) -
Due to a bug, users could be added to SCIM-provisioned/externally managed user groups from the Harness UI, even though membership edits for externally managed groups were not allowed. The issue has been fixed, and adding users to externally managed user groups via the Harness UI is no longer supported. (PL-50663)
-
An
UUID may not be empty
error occurred when configuring LDAP settings. This was due to the LDAP identifier being sent as an empty string instead of null if it didn't already exist. The issue has been resolved, and the identifier is now correctly sent as null, preventing the error. (PL-50657) -
Pod Disruption Budgets (PDBs) in the Harness namespace caused issues during patching cycles due to incorrectly targeted rules. Harness updated PDB rules for the
cloud-info
,anomaly-detection
,gateway
, andnext-gen-ui
services to select the correct pods, ensuring smooth operations during maintenance activities. (PL-49350, ZD-62353) -
Login issues occurred in NextGen when FirstGen delegates were scaled down because the LDAP Authentication task was initially sent to FirstGen Delegates. If a FirstGen delegate wasn't available, the task would expire before being sent to a NextGen delegate. Compounding the issue, the timer at the Gateway was set to expire before the delegate task, leading to failed login attempts. We have implemented a solution that prioritizes sending the LDAP Authentication task to NextGen delegates first if the feature flag
PL_USE_NG_DELEGATE_LDAP_AUTH
is enabled, thereby enhancing the reliability of login processes in NextGen environments. (PL-48541, ZD-60437) -
Delegate registration was not failing for inactive accounts. Harness added a check during delegate registration to verify account status. Delegates will now fail to register for accounts marked as
DELETED
orINACTIVE
. This item requires Harness Delegate version 24.05.83001. For information about Harness Delegate features that require a specific delegate version, go to the Delegate release notes. (PL-48082) -
The Audit Trail Filter Form did not have a Force Delete option. Added a Force Delete action to the Audit Trail Filter Form. (PL-51375, ZD-63788)
-
The Product Usage section on the CD dashboard page was not loading, and it was non-functional in SMP installations. The Product Usage dashboard will now be disabled/hidden in SMP installations. (PL-51310)
-
Favorites in the Project Selector were not resetting with re-render. Resolved the issue so that the favorite status now resets correctly during project searches. (PL-50906)
-
Users were being redirected to the home page instead of the originally intended page after logging in. When accessing NG-UI with old hash-based URLs while not logged in, the user was redirected to the login page without a
returnUrl
. This resulted in users being taken to the main dashboard after successful login instead of their intended page. The issue has been resolved by preserving thereturnUrl
. Now, after a successful login, users are redirected to the page they initially intended to access. (PL-50581, ZD-62278) -
Fixed an issue where there were multiple errors in the
log-service
across all production environments. (PL-50547) -
Delegates were not picking up pipelines due to issues in the retry mechanism when making calls from delegate to manager. The retries did not check if the JWT needed refreshing, resulting in sending expired JWTs in some cases. Improved the retry mechanism to check for JWT refresh on each retry attempt, ensuring valid JWTs are sent and resolving the issue with delegates picking up pipelines. (PL-48743, ZD-60766)
Security Testing Orchestration
-
Fixed STO DAST (ZAP, Burp, Nike & Map) Step template creation via the Template Studio. (STO-7603)
-
The SonarQube step has a new Scan configuration option. When Branch scan is selected in Orchestration or Extraction mode, the scan extracts results for the branch defined in SonarQube (for manual executions) or the pull request defined in SonarQube (for triggered executions). (STO-5799, ZD-42661)
-
Updated Grype to support repository scans. (STO-7531)
-
The addition of auto target detection to Semgrep introduced a bug where the target name and variant fields appear empty for existing pipelines with Semgrep steps. This has been fixed to show the target name and variant. (STO-7471)
June 29, 2024, patch version 0.14.11
This release includes the following Harness module and component versions.
Name | Version |
---|---|
Helm Chart | 0.14.11 |
Air Gap Bundle | 0.14.11 |
NG Manager | 1.24.7 |
CI Manager | 1.12.5 |
Pipeline Service | 1.61.7 |
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.11/ccm_images.tgz" \
"gs://smp-airgap-bundles/harness-0.14.11/cdng_images.tgz" \
"gs://smp-airgap-bundles/harness-0.14.11/ce_images.tgz" \
"gs://smp-airgap-bundles/harness-0.14.11/cet_images.tgz" \
"gs://smp-airgap-bundles/harness-0.14.11/ci_images.tgz" \
"gs://smp-airgap-bundles/harness-0.14.11/ff_images.tgz" \
"gs://smp-airgap-bundles/harness-0.14.11/platform_images.tgz" \
"gs://smp-airgap-bundles/harness-0.14.11/sto_images.tgz" \
.
Fixed issues
- Pipelines were getting stuck intermittently when the pipeline was executing steps at max concurrency. This issue only affected customers with a large number of concurrent deployments. Harness identified the fix and upgraded the
pipeline-service
from 1.61.5 to 1.61.7 to resolve this issue. (PIPE-20146, ZD-66018)
June 19, 2024, patch version 0.17.1
This release includes the following Harness module and component versions.
Name | Version |
---|---|
Helm Chart | 0.17.1 |
Air Gap Bundle | 0.17.1 |
NG Manager | 1.36.10 |
CI Manager | 1.26.5 |
Pipeline Service | 1.73.4 |
Platform Service | 1.23.2 |
Access Control Service | 1.45.1 |
Delegate | 24.04.82901 |
Change Data Capture | 1.17.0 |
STO Core | 1.94.7 |
Test Intelligence Service | 1.17.0 |
NG UI | 1.21.6 |
LE NG | 1.3.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.17.1/ccm_images.tgz" \
"gs://smp-airgap-bundles/harness-0.17.1/cdng_images.tgz" \
"gs://smp-airgap-bundles/harness-0.17.1/ce_images.tgz" \
"gs://smp-airgap-bundles/harness-0.17.1/ci_images.tgz" \
"gs://smp-airgap-bundles/harness-0.17.1/ff_images.tgz" \
"gs://smp-airgap-bundles/harness-0.17.1/platform_images.tgz" \
"gs://smp-airgap-bundles/harness-0.17.1/sto_images.tgz" \
.
Fixed issues
Harness enabled the OPA service as the default setting. OPA supports multiple entities in Harness and is a critical service. Therefore, starting from SMP 0.17.1, the OPA service will be available in the default configuration. If you have the OPA service set to false
in your override.yaml
file, you must update it to true
. (PL-51635, ZD-64628)
May 31, 2024, version 0.17.0
This release includes the following Harness module and component versions.
Name | Version |
---|---|
Helm Chart | 0.17.0 |
Air Gap Bundle | 0.17.0 |
NG Manager | 1.36.10 |
CI Manager | 1.26.5 |
Pipeline Service | 1.73.4 |
Platform Service | 1.23.2 |
Access Control Service | 1.45.1 |
Delegate | 24.04.82901 |
Change Data Capture | 1.17.0 |
STO Core | 1.94.5 |
Test Intelligence Service | 1.17.0 |
NG UI | 1.21.6 |
LE NG | 1.3.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.17.0/ccm_images.tgz" \
"gs://smp-airgap-bundles/harness-0.17.0/cdng_images.tgz" \
"gs://smp-airgap-bundles/harness-0.17.0/ce_images.tgz" \
"gs://smp-airgap-bundles/harness-0.17.0/ci_images.tgz" \
"gs://smp-airgap-bundles/harness-0.17.0/ff_images.tgz" \
"gs://smp-airgap-bundles/harness-0.17.0/platform_images.tgz" \
"gs://smp-airgap-bundles/harness-0.17.0/sto_images.tgz" \
.
Breaking changes
Continuous Delivery
- The RepoName, FilePath, and ConnectorRef parameters are marked as required in the Git import APIs for pipelines, templates, input sets, services, environments, infrastructure definitions, and service overrides. These parameters were optional before but are mandatory now as the APIs require these to work. (CDS-94245)
Early access feature
Continuous Delivery
- Harness UI now supports pipeline rollback failure strategy in CI, STO, Approval, Custom, FF stage, step, and step group. This functionality is behind the feature flag,
CDS_ALLOW_EXPRESSION_RESOLUTION_PIPELINE_ROLLBACK
. To enable a feature flag in your Harness account, contact Harness Support. (PIPE-15903)
Continuous Integration
-
This release includes new default settings that enable you to configure s3-compatible caching in self-hosted build infrastructures. You can configure the endpoint URL, region, bucket name, access key, and secret key. These options are behind the feature flags
CI_ENABLE_DLC_SELF_HOSTED
(for Docker layer caching) andCI_ENABLE_CACHE_INTEL_SELF_HOSTED
(for Cache Intelligence). Contact Harness Support to enable them. (CI-11953) -
If you need to allow empty environment variables in your CI pipelines, you can enable the feature flag
CI_USE_LESS_STRICT_EVALUATION_FOR_MAP_VARS
by contacting Harness Support. (CI-11882, CI-11305, CI-11672, ZD-57626)
New features and enhancements
Self-Managed Enterprise Edition
-
Harness added v1 API support for
template-service
,ng-manager
,platform-service
, andpipeline-service
for Istio >= 0.19.0 version. If you are running Istio >= 1.19.0, add the following override in youroverride.yaml
file to enable the support. (PL-50528, ZD-62230, ZD-62846)global:
istio:
enableRegexRoutes: true -
The MongoDB major version has been upgraded from 4.4 to 5.0.24. Harness recommends that you back up your current instance of MongoDB before upgrading to 0.17.0. (PL-41607)
-
Upgraded MinIO from
2023.10.7-debian-11-r2
to2024.3.30-debian-12-r3
. Harness recommends that you back up your current instance of MinIO before upgrading to 0.17.0. (PL-49015) -
Upgraded Curl from 8.1.2 to 8.7.1. (PL-49016)
-
Upgraded Redis to 6.2.14-alpine in bootstrap to address vulnerabilities.(PL-50701)
Cloud Cost Management
-
Introduction of Anomaly Workflows: We have added Anomaly Workflows to enhance anomaly management within the CCM platform. With this feature, when a user marks an anomaly as a False Anomaly, it will be automatically moved to the Ignore list within the Anomaly Settings drawer. Furthermore, users now have the option to undo this action directly from the Anomaly Settings drawer, providing greater flexibility and control over anomaly management processes. (CCM-17311)
-
Multi-Select Cloud Providers Filter: We have enhanced the Recommendations Evaluations filter panel by adding a multi-select Cloud Providers filter. This addition allows users to select multiple cloud providers simultaneously. (CCM-17150)
-
Pagination for Budgets: We have added pagination for our Budgets page. This allows users to navigate through multiple pages of budget entries, improving the overall user experience by making it easier to manage and access information efficiently. (CCM-16978)
Harness Platform
- AWS Secret Manager connectors now support both plain text and encrypted type Access Key Ids. (PL-48420)
Fixed issues
Chaos Engineering
-
Fixed an issue where accounts that started with an underscore could not execute a Linux chaos experiment. (CHAOS-5185)
-
Fixed an issue where a chaos experiment failed when two chaos faults had the same probe (legacy) name. (CHAOS-5064)
-
Fixed an issue where editing the SLO probe evaluation window resulted in an
Internal server error
. (CHAOS-5022) -
Fixed an issue in the UI where chaos experiments with the toggle option to enable (or disable) cloud secret was enabled automatically after saving the experiment. (CHAOS-4987)
Cloud Cost Management
-
Granularity Adjustment for Cluster Data Retrieval: With this fix, we have ensured that data retrieval aligns with the specified granularity settings: fetching from the daily data table for DAILY granularity and from the hourly table for HOURLY granularity. (CCM-16061)
-
Improved Precision in Perspective Reports: Previously, when choosing the current month during perspective setup, the report would present data from the past 7 days. We have promptly added a fix so that it accurately portrays data for the entire current month. (CCM-17100)
Continuous Delivery
- Fixed an issue where the Harness NextGen UI was unable to hide the Launch FirstGen button. (CDS-95845, ZD-61778)
- Fixed an issue where the expressions field did not render properly. Harness now supports multi-line text fields for expressions. (CDS-95843)
- Queries in
harness-prod2-cvng.verificationJobInstances
were scanning too many documents and raising the CPU utilization. This issue is fixed by adding moreverificationJobInstances
indexes. (CDS-95840) - Fixed an issue where the drop-down menu for the Region field in the AWS Serverless Lambda Infrastructure Details page was missing. (CDS-95726)
- The create trigger API response was updated to a new version without notice. This issue is fixed by updating the field
stagesToExecuteV2
back tostagesToExecute
in the create trigger API response. (CDS-95526, ZD-61419) - The fetch tag to fetch the repository for the Artifactory repository type expired after 90000 milliseconds. This timeout occurred because the fetch task has a hardcoded timeout limit of 90000 milliseconds. This issue is fixed now. Earlier, while fetching the repositories for Artifactory, to fetch the package type Harness made API calls to each repository to get the package type. With this change, if the API response has package type, we avoid the extra API call. (CDS-95485, ZD-60868)
- The expression,
<+lastPublished.tag>
did not fetch the latest artifact version for Nexus3 repository. Nexus3 artifact sources with<+lastPublishedTag>
were relying on lexical ordering instead of the order of tags causing this issue. This issue is fixed by honoring the order of tags. (CDS-95312, ZD-61173) - User profile appears at the new navigation in the Harness UI allowing users to create keys at an organization and project level. This issue is fixed by removing the project and org identifiers from the API payload when creating API keys. (CDS-95250, ZD-61325)
- Fixed an issue where the snapshot build was failing due to erroneous changes in Continuous Verification (CV). The GRPC registration from IDP, IACM, and CV services now include server interceptor class bindings from the application itself. (CDS-95241)
- Queries in
harness-prod2-cvng.verificationJobInstances
scanned 35K+ documents but returned none. This issue is fixed by adding more query indexes forVerificationJobInstances
. (CDS-95219) - Harness CV has reclassified the
javax.ws.rs.NotFoundException
from error to warning. (CDS-95136) - Fixed an issue where users were unable to create Zendesk tickets for the Platform module. (CDS-95061, ZD-60650, ZD-60734)
- Continuous Verification (CV) telemetry failed if any one of the publish data failed. This occurred because all telemetry information is present in the same try catch block. This issue is fixed by separating telemetry publish events in different try catch blocks. (CDS-94962)
- Fixed an issue where notification for the Verify step failure was having unresolved variable in error details. (CDS-94886, ZD-60617)
- Fields from multiple manifests other than the primary manifest appeared in the pipeline when using multiple Helm charts. This issue is fixed. Now, only fields of the primary manifest appear in the run pipeline form. If a primary manifest is not selected in the pipeline, Harness will prompt you to select the primary manifest in the run pipeline form. (CDS-94460, ZD-59994)
- Fixed an issue where the Nexus 2 artifactory registry drop-down listed duplicate group IDs. (CDS-94376, ZD-60041)
- Terraform deployment failed when using AWS connectors (IRSA credential type with assume cross account role) in Terraform steps. This issue occurred when the Terraform Apply step was trying to assume a different role from the AWS backend configuration. The default duration for assuming the role in the
aws-java-sdk
is 15 minutes. When the Terraform Apply step exceeded 15 minutes, the Terraform output threw an error. This issue is resolved by introducing a new Harness variable,HARNESS_AWS_ASSUME_ROLE_DURATION
. In Terraform steps, you can now set the environment variable value to override the default duration to assume AWS roles. This item requires Harness Delegate version 01.04.82700. For information about features that require a specific delegate version, go to the Delegate release notes. (CDS-94355, ZD-60095) - Fixed an issue where infrastructure did not appear as a runtime input for chained pipelines in the run pipeline form. (CDS-94272)
- New Relic verification did not work as expected. The last null entry was leading to an error when decoding the response object. A code enhancement to ignore any null entry fixed this issue. (CDS-94113, ZD-59612)
- Unable to load the AWS resources during an Amazon ECS Blue Green deployment. The API call for fetching elastic load balancer call was not being made in the stage causing this issue. This issue is fixed now. (CDS-94084, ZD-59734)
- Fixed a UI issue where breadcrumbs in the Pipeline Studio pages overlapped. (CDS-93678)
- Fixed an issue where service inputs did not appear in template inputs for nested templates where the service was fixed inside the nested template. (CDS-92836)
- Updated the behavior of the Scale step to publish all workload pods as new pods after step run as the Scale step is used to scale pods as well as change traffic on the pod itself. (CDS-91534, ZD-54319)
- IDP and other new modules did not appear in the default module list. This issue is fixed. If a feature flag is turned on for a module, it will now appear in the module selector in the new navigation experience. (CDS-85185, ZD-59478)
- Evaluating expressions for Kubernetes service variables returned an error. This issue is fixed by using expression concatenation with equal operator. (PIPE-18652)
- Branch protection error messages were unclear. This issue is fixed by adding better explanation and hint message for branch protection rule violations in case of
409
response. (PIPE-16923) - Templates were showing old data. This issue occurred due to stale cache when failing to fetch files from Git on webhook events. This issue is fixed by clearing the cache for the failed files to ensure that there isn't any stale cache within Harness. The cache gets auto-populated from Git whenever any entity is found missing in cache while its used in any executions. (PIPE-16893)
- Fixed an issue where multi-select for variable values was behind a feature flag and didn't update during reconciliation. (PIPE-16866)
- Fixed an issue where user route redirects were missing. (CDS-95967)
- Fixed CD Subscription V2 issues by adding search to GitOps Agent and GitOps applications filters and adding sorting to the execution column. (CDS-95481)
- Fixed new Nav CSS issues and added scroll shadows. (CDS-95365)
- The option to roll back pipelines appear when a CV step fails even if rollback is not supported for CV steps. This issue is fixed by removing pipeline rollback failure strategy from CV and Chaos steps. (CDS-95209)
- Fixed an issue where the service name was not updated due to a missing API call during service update. (CDS-94937)
- Fixed an issue where labels for fields in form templates were not visible. (CDS-94801)
- Fixed an issue where creating a template in account scope in a module was rendering a blank UI. (CDS-94707)
- Pipeline analytics were part of the executions listing page. This issue is fixed. Pipeline analytics will now be available in a separate tab on the Pipeline details page. (CDS-94368)
- Account Overview dashboard now defaults to 7 days time period. Options for 6 months, 9 months and 12 months are removed. (CDS-94366)
- In pre-existing pipelines, when multi-service or multi-environment deployments were selected, parallel deployment was enabled by default. This issue is fixed. Now, default parallel deployment is disabled. However, when a new pipeline or stage is created and enabled with multi-deployment, then parallel deployment will be enabled by default. This behavior is applicable to pipelines, pipeline templates, and stage templates. (CDS-94042)
- IF expression value was set to multi-type checkbox field that resolved to false string, the string was taken as true in boolean in the Harness UI representation. This issue is fixed. (CDS-93931)
- Fixed an issue where the Jenkins Job Parameters field was disabled in the UI in the Template Input view. (CDS-92633)
- The Add Job Parameter link appeared for Jenkins job in pipelines when a stage template with Jenkins was linked. This issue is fixed by disabling the Add Job Parameter button as it is not needed if job parameters are set at template stage. (CDS-91077)
Continuous Integration
-
The built-in clone codebase step now works on Windows platforms for LFS-enabled Git repos. (CI-12038)
-
Fixed an issue where pod cleanups could be missed due to duplicate data. (CI-11995)
-
Fixed an issue where references to deleted/nonexistent secrets sometimes caused pipelines to time out at the initialize step without any logs. (CI-11891, ZD-60575)
-
Empty expressions were not evaluated correctly in an environment variable. The fix is behind the feature flag CI_USE_LESS_STRICT_EVALUATION_FOR_MAP_VARS. Contact Harness Support to enable it. (CI-11882, ZD-57626)
-
In TI for Ruby, test globs starting with
/
are correctly treated as absolute paths. (CI-11819, ZD-57661, ZD-61493) -
Added a fix to trim long environment variables, such as the commit message and PR title, during pod creation in stage initialization. This is currently an opt-in fix for affected customers. If you're using a Kubernetes cluster build infrastructure and experiencing initialization timeout with an error message like
rpc error: code = ResourceExhausted desc = trying to send message larger than max
, contact Harness Support to enable this fix in your account. (CI-11709, ZD-59521) -
Builds triggered by Bitbucket Server push events now have correct date information in the build history. This issue occurred due to missing date information in the
commits
object returned by the Bitbucket Server API. This change requires Harness Delegate version 24.04.82707 or later. For information about features that require a specific delegate version, go to the Delegate release notes. (CI-11556, ZD-58798) -
Resolved an issue where expressions could unexpectedly/incorrectly resolve as
null
if those expressions were supplied as environment variables in steps that were in step group templates or other looping strategies. (CI-11305, ZD-57626) -
This release includes a new release of the
Harness/godotenv
library, which fixes an issue in the current library where-
characters were not supported in key names. This newgodotenv
release is behind the feature flagCI_NEW_VERSION_GODOTENV
. Contact Harness Support to enable it. (CI-11792, ZD-59062)
Harness Platform
-
When adding users to a User Group, the search string persisted in the input field even after a user was selected. We have updated the User Group Form page to automatically clear the search query once a user is selected, enhancing usability. (PL-49256, ZD-62169)
-
2FA reset emails failed to display the QR code properly due to the recent deprecation of Google APIs. The method for generating QR codes has been updated, resolving the issue and ensuring QR codes are now correctly included in 2FA reset emails. This item requires Harness Delegate version 24.04.82804. For information about Harness Delegate features that require a specific delegate version, go to the Delegate release notes (PL-48980, ZD-61314, ZD-61420, ZD-61486)
-
The link to Slack on the UI Help section was not functioning. The community link has been updated to ensure it works correctly. (PL-48948, ZD-61203)
-
Delegates with mTLS enabled were able to send a heartbeat to Harness Manager despite being configured with a non-agent endpoint. Resolved this by ensuring the
isNg
flag is correctly propagated when delegates send heartbeats to Harness Manager. This item requires Harness Delegate version 24.04.82901. For information about Harness Delegate features that require a specific delegate version, go to the Delegate release notes. (PL-48891, ZD-60974) -
When a new pipeline for approval was created, but the approval email was not being sent, preventing testing of the link within the approval email. Resolved this issue that prevented notifications from being sent to multiple emails configured in a user group for email notifications. (PL-48854, ZD-60366, ZD-61333)
-
Users experienced authentication issues when switching the OAuth type from SAML, leading to incorrect OAuth authentication status displays. Implemented changes to accurately reflect the status (enabled or disabled) of OAuth authentication for users. (PL-48788, ZD-60869)
-
Delegate utilization metrics failed to decrease below a set threshold, even when rejecting all tasks. To solve this, memory-based threshold checks have been removed from the delegate due to functional discrepancies. This item requires Harness Delegate version 24.04.82707. For information about Harness Delegate features that require a specific delegate version, go to the Delegate release notes. (PL-48781, ZD-60713)
-
The feature flag subscription indicated it was expired, and the license was not updating automatically. Users had to manually pay each invoice after the billing cycle was completed. Users can now view the correct billing due date on their subscription page. Additionally, the system has been updated to automatically charge the credit card on file when an invoice is generated. (PL-48671, ZD-57836)
-
The audit trail filter did not include an option for the Token resource type, hindering the ability to filter for API token updates. Added a Token filter option to the audit trail, enabling users to specifically filter for Token & API Key updates through a dropdown menu. (PL-48606)
-
Email steps were failing due to the system's inability to find users with emails containing uppercase letters, as Harness converts and stores all emails in lowercase. (PL-48532, ZD-60291)
-
The delegate task rejection metric was designed to reflect tasks rejected by a delegate due to system-related reasons (such as lack of resources or exceeding the limit of parallel tasks) but did not include specific details like task type or task ID. Enhanced the task rejection metrics by adding
taskType
andtaskId
labels. This item requires Harness Delegate version 24.04.82707. For information about Harness Delegate features that require a specific delegate version, go to the Delegate release notes. (PL-48488) -
Intermittent socket timeout exceptions occurred in running pipelines due to secret decryption failures, triggering unnecessary re-broadcasts on the delegate side. Resolved the issue of intermittent secret decryption failures within pipelines, ensuring stable and uninterrupted pipeline execution. This item requires Harness Delegate version 24.04.82901. For information about Harness Delegate features that require a specific delegate version, go to the Delegate release notes. (PL-47940, ZD-58006)
-
Slack channel notifications failed due to an error related to explicitly setting the "Host" header as "hooks.slack.com". We have removed the explicit "Host" header setting to support both Slack-specific webhook URLs and regular URLs, resolving the issue in this version. This item requires Harness Delegate version 24.04.82707. For information about Harness Delegate features that require a specific delegate version, go to the Delegate release notes. (PL-47914)
-
Users were being logged out when testing a Git connector with invalid credentials due to the Git client's 401 response being propagated to the UI. Implemented error handling to convert a 401 response from the test connection step to a 400, while preserving the original error message, preventing unintended user logouts. This item requires Harness Delegate version 24.04.82707. For information about Harness Delegate features that require a specific delegate version, go to the Delegate release notes. (PL-47753, ZD-58629)
-
Local login was failing for users assigned admin permissions via a user group. The method to verify if a user is an account admin only considered direct user assignments and did not account for user group roles. Revised the validation process to include both user and user group assignments when checking for admin status. Now, to be recognized as an admin, users must have the specific role assignments outlined below; assigning the
_account_admin
role alone is no longer sufficient for admin rights. (PL-47632)- Role:
_account_admin
. - Resource-group:
_all_resources_including_child_scopes
,_all_account_level_resources
.
- Role:
-
In SCIM, creating a new user with special characters in their name failed, preventing the user from being added to Harness and resulting in discrepancies in user group membership between the Identity Provider and Harness. This item requires Harness Delegate version 24.04.82707. For information about Harness Delegate features that require a specific delegate version, go to the Delegate release notes. (PL-47614)
-
Account admins, with permissions to assign roles, could assign any available role to any user, group, or service account, leading to concerns over control and governance. We have introduced a new feature flag,
PL_HIDE_ACCOUNT_LEVEL_MANAGED_ROLE
, which, when enabled, restricts the visibility of account-level Harness-managed roles. This flag is disabled by default to maintain existing permissions structures across all accounts. (PL-43907) -
Pipeline executions were missing from the dashboard widget, resulting in a significant mismatch between the displayed builds and deployments and the actual count. We have resolved the data sync issue. (PL-50453)
Security Testing Orchestration
- Implemented UI updates to support ingestion of Wiz scan results. (STO-7350)
- The Zap Context Name field now works as intended. (STO-7287)
- Introduced a fix to ensure that Git-triggered pipelines run correctly when the Repository Name is specified as a runtime input. (STO-7029, ZD-55622)
May 29, 2024, patch version 0.16.2
This release includes the following Harness module and component versions.
Name | Version |
---|---|
Helm Chart | 0.16.2 |
Air Gap Bundle | 0.16.2 |
NG Manager | 1.31.8 |
CI Manager | 1.21.5 |
Pipeline Service | 1.68.2 |
Platform Service | 1.17.2 |
Access Control Service | 1.39.1 |
Delegate | 24.03.82600 |
Change Data Capture | 1.5.4 |
STO Core | 1.90.1 |
Test Intelligence Service | 1.13.1 |
NG UI | 1.14.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.16.2/ccm_images.tgz" \
"gs://smp-airgap-bundles/harness-0.16.2/cdng_images.tgz" \
"gs://smp-airgap-bundles/harness-0.16.2/ce_images.tgz" \
"gs://smp-airgap-bundles/harness-0.16.2/cet_images.tgz" \
"gs://smp-airgap-bundles/harness-0.16.2/ci_images.tgz" \
"gs://smp-airgap-bundles/harness-0.16.2/ff_images.tgz" \
"gs://smp-airgap-bundles/harness-0.16.2/platform_images.tgz" \
"gs://smp-airgap-bundles/harness-0.16.2/sto_images.tgz" \
.
Fixed issues
-
Fixed issues with the StatefulSet YAML template for the
audit-streaming-service
. (PL-51401, ZD-63850) -
Chart upgrades failed with some versions of Kubernetes for platform and access-control services. The
config.yaml
file now defaults to an empty string when no value is provided to resolve the issue. (CODE-1921, ZD-61619, ZD-61737, ZD-63237)
May 13, 2024, patch version 0.14.10
This release includes the following Harness module and component versions.
Name | Version |
---|---|
Helm Chart | 0.14.10 |
Air Gap Bundle | 0.14.10 |
NG Manager | 1.24.9 |
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.10/ccm_images.tgz" \
"gs://smp-airgap-bundles/harness-0.14.10/cdng_images.tgz" \
"gs://smp-airgap-bundles/harness-0.14.10/ce_images.tgz" \
"gs://smp-airgap-bundles/harness-0.14.10/cet_images.tgz" \
"gs://smp-airgap-bundles/harness-0.14.10/ci_images.tgz" \
"gs://smp-airgap-bundles/harness-0.14.10/ff_images.tgz" \
"gs://smp-airgap-bundles/harness-0.14.10/platform_images.tgz" \
"gs://smp-airgap-bundles/harness-0.14.10/sto_images.tgz" \
.
New features and enhancements
- Upgraded
migrator
to 1.59.0 to leverage new functionality and bug fixes. (CDS-96365)
Early access feature
-
The current behavior for artifact and manifest triggers is that, when a build is removed from the artifact server, it is automatically deleted from the cache of the trigger. As a result, if this build is uploaded again, the trigger will use it once more to initiate the underlying pipeline.
You can now change this behavior for artifact and manifest triggers to guarantee that a trigger is activated only once per collected build. Even if the build is deleted and subsequently pushed again, the trigger will not fire a second time. This option is behind the feature flag
CDS_DISABLE_POLLED_KEYS_EVICTION_FOR_ARTIFACT_TRIGGER_POLLING_DOCUMENT
. Contact Harness Support to enable the feature. (PIPE-18763)
May 8, 2024, patch version 0.16.1
This release includes the following Harness module and component versions.
Name | Version |
---|---|
Helm Chart | 0.16.1 |
Air Gap Bundle | 0.16.1 |
NG Manager | 1.31.4 |
CI Manager | 1.21.5 |
Pipeline Service | 1.68.2 |
Platform Service | 1.17.1 |
Access Control Service | 1.39.1 |
Delegate | 24.03.82600 |
Change Data Capture | 1.5.4 |
STO Core | 1.90.1 |
Test Intelligence Service | 1.13.1 |
NG UI | 1.14.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.16.1/ccm_images.tgz" \
"gs://smp-airgap-bundles/harness-0.16.1/cdng_images.tgz" \
"gs://smp-airgap-bundles/harness-0.16.1/ce_images.tgz" \
"gs://smp-airgap-bundles/harness-0.16.1/cet_images.tgz" \
"gs://smp-airgap-bundles/harness-0.16.1/ci_images.tgz" \
"gs://smp-airgap-bundles/harness-0.16.1/ff_images.tgz" \
"gs://smp-airgap-bundles/harness-0.16.1/platform_images.tgz" \
"gs://smp-airgap-bundles/harness-0.16.1/sto_images.tgz" \
.
New features and enhancements
- Upgraded
migrator
from 1.44.0 to 1.59.0 to leverage new functionality and bug fixes. (CDS-96365)
Early access feature
-
The current behavior for artifact and manifest triggers is that, when a build is removed from the artifact server, it is automatically deleted from the cache of the trigger. As a result, if this build is uploaded again, the trigger will use it once more to initiate the underlying pipeline.
You can now change this behavior for artifact and manifest triggers to guarantee that a trigger is activated only once per collected build. Even if the build is deleted and subsequently pushed again, the trigger will not fire a second time. This option is behind the feature flag
CDS_DISABLE_POLLED_KEYS_EVICTION_FOR_ARTIFACT_TRIGGER_POLLING_DOCUMENT
. Contact Harness Support to enable the feature. (PIPE-18763)
May 8, 2024, patch version 0.15.3
This release includes the following Harness module and component versions.
Name | Version |
---|---|
Helm Chart | 0.15.3 |
Air Gap Bundle | 0.15.3 |
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.3/ccm_images.tgz" \
"gs://smp-airgap-bundles/harness-0.15.3/cdng_images.tgz" \
"gs://smp-airgap-bundles/harness-0.15.3/ce_images.tgz" \
"gs://smp-airgap-bundles/harness-0.15.3/cet_images.tgz" \
"gs://smp-airgap-bundles/harness-0.15.3/ci_images.tgz" \
"gs://smp-airgap-bundles/harness-0.15.3/ff_images.tgz" \
"gs://smp-airgap-bundles/harness-0.15.3/platform_images.tgz" \
"gs://smp-airgap-bundles/harness-0.15.3/sto_images.tgz" \
.
New features and enhancements
- Upgraded
migrator
from 1.31.0 to 1.59.0 to leverage new functionality and bug fixes. (CDS-96365)
Early access feature
-
The current behavior for artifact and manifest triggers is that, when a build is removed from the artifact server, it is automatically deleted from the cache of the trigger. As a result, if this build is uploaded again, the trigger will use it once more to initiate the underlying pipeline.
You can now change this behavior for artifact and manifest triggers to guarantee that a trigger is activated only once per collected build. Even if the build is deleted and subsequently pushed again, the trigger will not fire a second time. This option is behind the feature flag
CDS_DISABLE_POLLED_KEYS_EVICTION_FOR_ARTIFACT_TRIGGER_POLLING_DOCUMENT
. Contact Harness Support to enable the feature. (PIPE-18763)
May 2, 2024, patch version 0.14.7
This release includes the following Harness module and component versions.
Name | Version |
---|---|
Helm Chart | 0.14.7 |
Air Gap Bundle | 0.14.7 |
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.7/ccm_images.tgz" \
"gs://smp-airgap-bundles/harness-0.14.7/cdng_images.tgz" \
"gs://smp-airgap-bundles/harness-0.14.7/ce_images.tgz" \
"gs://smp-airgap-bundles/harness-0.14.7/cet_images.tgz" \
"gs://smp-airgap-bundles/harness-0.14.7/ci_images.tgz" \
"gs://smp-airgap-bundles/harness-0.14.7/ff_images.tgz" \
"gs://smp-airgap-bundles/harness-0.14.7/platform_images.tgz" \
"gs://smp-airgap-bundles/harness-0.14.7/sto_images.tgz" \
.
New features and enhancements
- Upgraded
migrator
from 1.22.0 to 1.59.0 to leverage new functionality and bug fixes. (CDS-96365)
May 1, 2024, patch version 0.15.2
This release includes the following Harness module and component versions.
Name | Version |
---|---|
Helm Chart | 0.15.2 |
Air Gap Bundle | 0.15.2 |
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.2/ccm_images.tgz" \
"gs://smp-airgap-bundles/harness-0.15.2/cdng_images.tgz" \
"gs://smp-airgap-bundles/harness-0.15.2/ce_images.tgz" \
"gs://smp-airgap-bundles/harness-0.15.2/cet_images.tgz" \
"gs://smp-airgap-bundles/harness-0.15.2/ci_images.tgz" \
"gs://smp-airgap-bundles/harness-0.15.2/ff_images.tgz" \
"gs://smp-airgap-bundles/harness-0.15.2/platform_images.tgz" \
"gs://smp-airgap-bundles/harness-0.15.2/sto_images.tgz" \
.
New features and enhancements
- Added support for Kubernetes cost true-up with AWS amortized costs. (CCM-15397)
April 30, 2024, version 0.16.0
This release includes the following Harness module and component versions.
Name | Version |
---|---|
Helm Chart | 0.16.0 |
Air Gap Bundle | 0.16.0 |
NG Manager | 1.31.4 |
CI Manager | 1.21.5 |
Pipeline Service | 1.68.2 |
Platform Service | 1.17.1 |
Access Control Service | 1.39.1 |
Delegate | 24.03.82600 |
Change Data Capture | 1.5.4 |
STO Core | 1.90.1 |
Test Intelligence Service | 1.13.1 |
NG UI | 1.14.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.16.0/ccm_images.tgz" \
"gs://smp-airgap-bundles/harness-0.16.0/cdng_images.tgz" \
"gs://smp-airgap-bundles/harness-0.16.0/ce_images.tgz" \
"gs://smp-airgap-bundles/harness-0.16.0/cet_images.tgz" \
"gs://smp-airgap-bundles/harness-0.16.0/ci_images.tgz" \
"gs://smp-airgap-bundles/harness-0.16.0/ff_images.tgz" \
"gs://smp-airgap-bundles/harness-0.16.0/platform_images.tgz" \
"gs://smp-airgap-bundles/harness-0.16.0/sto_images.tgz" \
.
New features and enhancements
Chaos Engineering
- The node drain chaos experiment now supports selecting multiple target nodes in sequence(serial or parallel). (CHAOS-2187)
Continuous Integration
-
In TI for Ruby, the default test globs pattern is now
**/spec/**/*_spec.rb
. Now, by default, TI detectsspec
directories anywhere in the stage workspace. You can use the Test Globs setting to override the default test globs pattern if you want change this behavior, for example to limit it to directories at the root level or at a certain path. (CI-11272, ZD-57661) -
You can enable separators for GCS and AWS cache keys to prevent pulling incorrect caches from cloned pipelines. (CI-11185, ZD-57012, ZD-57319)
- When you clone a pipeline that has Save/Restore Cache steps, cache keys generated by the cloned pipeline use the original pipeline's cache key as a prefix. For example, if the original pipeline's cache key is
some-cache-key
, the cloned pipeline's cache key issome-cache-key2
. This causes problems when the Restore Cache step in the original pipeline looks for caches with the matching cache key prefix and pulls the caches for both pipelines. - To prevent this issue, Harness can add separators (
/
) to your AWS/GCS cache keys to prevent accidental prefix matching from cloned pipelines. This feature is disabled by default. To enable the separator, add this stage variable:PLUGIN_ENABLE_SEPARATOR: true
. - If you don't enable the separator, make sure your cloned pipelines generate unique cache keys to avoid the prefix matching issue.
- When you clone a pipeline that has Save/Restore Cache steps, cache keys generated by the cloned pipeline use the original pipeline's cache key as a prefix. For example, if the original pipeline's cache key is
Harness Platform
-
Introduced separate environment variables to manage delegate resource thresholds for CPU and Memory when dynamic handling is enabled. Use
CPU_USAGE_THRESHOLD
for CPU control (default: no limit). UseMEMORY_USAGE_THRESHOLD
for memory control (default: 80%). If you are usingRESOURCE_USAGE_THRESHOLD
(deprecated), it exclusively controls the memory threshold. (PL-47746) -
The UI has been updated to include an HTTP Event Collector (HEC) Auth Token option in the Splunk Connector, allowing users to select HEC-type authentication. (PL-46977)
-
In the recent update to
ng-manager
version 1.28.0, we have implemented enhancements to the validation mechanism for secret identifiers. We now provide more flexibility and precision in validating secret identifiers, particularly regarding hyphen usage. While previously disallowed, secret identifiers can now contain hyphens. However, there are specific rules governing their usage. Hyphens are now permitted anywhere in the secret identifier, including at the end of the string. The updated validation allows for multiple occurrences of hyphens within the secret identifier. Secret identifiers cannot start with a hyphen, following best practices. (PL-46959) -
You can now add multiple emails to User Group notifications. This support allows you to include Harness Users or add emails separated by commas. (PL-46480)
-
'Secret Identifier' will now allow
-
(hyphen) when provided as user input. For more information, go to Entity identifier reference (PL-48009) -
For customers who need to bypass mutual TLS (mTLS) authentication for Current Generation (CG) delegates, even with strict mode enabled on the account, Harness has introduced the feature flag
PL_DISABLE_MTLS_CHECK_ON_CG_DELEGATES
. This update allows specific disabling of mTLS checks for CG delegates, providing greater flexibility in security settings. (PL-47825, ZD-58762, ZD-60565)
Security Testing Orchestration
-
The Aqua Security step can now ingest assurance policy violations. These violations appear as INFO-level issues in Security Tests. (STO-7164)
-
The Aqua Security step also publishes a new output variable,
EXTERNAL_POLICY_FAILURES
, that captures the number of assurance policy violations detected by the scan. You can use this variable to enforce governance policies if the pipeline detects any assurance policy violations. (STO-6499) -
For more information, go to:
Fixed issues
Chaos Engineering
-
Linux command probes in "source" mode was failing due to a module mismatch. This is fixed now. (CHAOS-4952)
-
Fixed the issue of user receiving duplicate notification after sending an event data. (CHAOS-4942)
-
Resilience probe run were being filtered on incorrect runs. This is fixed now. (CHAOS-4912)
-
If syntax errors were identified in a manifest after uploading it, user had to refresh the page and re-upload the YAML. This is fixed now, and users can edit the YAML without refreshing it. (CHAOS-4905)
Continuous Delivery
-
Harness applications were slow when running pipelines using the
iam-roles
API. This issue is fixed by calling the API on demand to avoid slowing down the initial load of the applications. (CDS-94281, ZD-60078) -
Pipeline execution feature usage were not displayed properly in the feature usage dashboard when filtered by organization. This issue is fixed.(CDS-93831)
-
Fixed an issue where Harness was unable to find Nexus artifacts' tag version. The artifact Ids were set to
<+input>
internally even though Harness UI supplied the fixed value from APIs causing this issue. Tags are now being listed properly. (CDS-93810, ZD-59568) -
The Git cache was getting reset during every webhook event. This bug resulted in cache misses causing increased load time for remote entities. This issue is fixed. (CDS-93603, ZD-59392)
-
Fixed an issue where Harness was unable to integrate Google Cloud Operations with Continuous Verification (CV) for service monitoring. This item requires Harness Delegate version 01.04.82700. For information about features that require a specific delegate version, go to the Delegate release notes. (CDS-93479)
-
The Nexus 3 artifact triggers returned a null pointer exception. This issue occurred because the Nexus 3 artifact source group Id was empty. This issue is fixed. (CDS-93472, ZD-59186)
-
The Command Script step with secret environment variables failed during rollback because the step was unable to fetch the secrets. This issue is fixed. (CDS-93264, ZD-59173)
-
Adding the Fetch Linked Apps step in a PR pipeline failed with the error,
Failed to parse yaml file
. This issue is fixed by improving the error response for the Fetch Linked Apps step. (CDS-93056) -
The path validation process for Google Cloud Storage is optimized for faster and efficient validation. Instead of searching the entire storage, Harness now verifies the provided path directly. (CDS-92796, ZD-58789, ZD-59199)
-
For SSH and WinRM deployments, the delegate selectors specified for connectors in Azure and AWS infrastructure configurations weren't adhered. The fix for this issue is made available behind the feature flag,
CDS_SSH_WinRM_USE_CONNECTOR_AND_SM_DELEGATE_SELECTORS
. Contact Harness Support to enable this fix. (CDS-92717, ZD-58399) -
Fixed an issue where a Git branch was being populated in YAML when switching the version of a remote stage template linked to a remote pipeline in the same repository and branch. (CDS-92675, ZD-58750)
-
The account level environment broke the GitOps pipeline due to a bug in the account and org level service and environment in the Sync and Update GitOps Apps steps. This issue is fixed. (CDS-92546, CDS-92569)
-
The account level environment broke the GitOps pipeline due to a bug in the account and org level service and environment in the Sync and Update GitOps Apps steps. This issue is fixed. (CDS-92546, CDS-92569)
-
Rolling back the current version of a service from the Services page did not show to which old version of the service did it roll back to. This issue is fixed by displaying the rollback version on the Rollback pop-up window. (CDS-92461)
-
The secret passed from a parent pipeline to a child pipeline was not getting resolved because the expression functor token for the child pipeline is different from that of the parent pipeline. This issue is fixed. (CDS-92434, ZD-58526)
-
Setting up a monitored service using cloud metrics from the Google Cloud Operations health source is unable to list dashboards to build query. This item requires Harness Delegate version 24.03.82600. For information about features that require a specific delegate version, go to the Delegate release notes.(CDS-92355)
-
Fixed an issue where Harness was not able to reconcile and refresh pipelines when its services were in a different, dynamically linked repository. (CDS-92169)
-
Delegate got disconnected when running the Merge step. Delegate selectors were not getting selected based on the priority: Step > Step Group > Stage > Pipeline > Connector. Instead, the Merge steps merged delegate selector with the connector selector. This issue is fixed now. The delegate selectors will now be selected based on the delegate selector priority. For more information, go to Delegate selector priority. (CDS-92001, ZD-57874, ZD-58694)
-
Harness listed all environments or infrastructures when trying to select environment and infrastructure based on specific custom deployments. This issue is fixed by removing the version label was absent in the infrastructure listing API. Filtering is now done based on deployment template identifier. (CDS-91800, ZD-57907)
-
Scaling down Autoscaling Groups (ASG) rolling deployment was causing downtime. This issue is fixed by updating the AWS Java SDK for ASG utilized in deployments from version 1.12.261 to 1.12.654. Also, Harness has improved the instance refresh operation parameters. Now, for ASG rolling deployments, the default values for the minimum healthy percentage and maximum healthy percentage parameters during instance refresh operations are set to 90% and 110% respectively. This change mitigates downtime during service deployment. (CDS-91335, ZD-57686)
-
User data related to some churned Harness accounts were not being deleted even after 90 days after service termination. This issue is fixed by creating an annotation based framework that allows Harness to cleanup data of expired Harness accounts. (CDS-90914)
-
Service variable description did not appear for template input sets and deployment input sets during pipeline execution. (CDS-89650, ZD-57312, ZD-58330)
-
Fixed an issue where users were unable to search services by ID in service list. (CDS-89587)
-
Unsaved changes were appearing in the Input Set pages and Pipeline Studio for variables with default values. The issue is fixed now. (CDS-89117, ZD-57388, ZD-57603)
Continuous Integration
-
When manually running pipelines, the Branch Name no longer unintentionally changes to
main
after you input another branch name. This issue occurred due to a backend API call that could sometimes take a long time to respond. (CI-11721, ZD-59730) -
Fixed an issue with fallback handling when splitting tests by
testcase_timing
,testsuite_timing
, orclass_timing
. (CI-11651) -
GitLab connectors using the SSH connection type no longer fail if the GitLab project name starts with a number. (CI-11392, ZD-58162)
-
Fixed an issue where the Get Started wizard failed to generate some pipeline YAML. (CI-11323)
-
The project URL format is now validated when creating Azure Repos connectors. Previously, invalid project URLs passed the field validation but failed the connection test with a nonspecific error message. (CI-11186)
Harness Platform
-
Fixed an issue where the scope was derived from the open URL instead of the WinRM Secret's scope when editing WinRM secrets through a reference component, causing secret edits to fail. Scope details are now picked up from the WinRM secret being edited. (PL-48323)
-
Fixed an issue where the Delegate Selector dropdown wasn't populating delegates when roles were configured with specific delegates instead of all. (PL-48292, ZD-59504)
-
Upgrade attempts from Harness Helm Chart 0.13.4 to 0.14.0 or 0.14.1 resulted in change-data-capture pod failures. We have resolved the initialization issue with the change-data-capture pod, which stemmed from the fileLogging parameters. (PL-47993)
-
In the old Git sync flow, the system failed to fetch connector details because the
branch
andyamlGitRef
attributes were not included in the query process after the method was changed to utilize scope uniqueId and identifier. We have updated the system to account for thebranch
andyamlGitRef
parameters, ensuring connector details now load correctly. (PL-47942, ZD-58953, ZD-59089) -
Actions to create, edit, or delete Streaming Destinations were not being recorded in Audit Trails. This issue has been fixed, and these actions are now correctly captured in Audit Trails. (PL-47910)
-
Perpetual tasks experienced significant delays in reassignment after the current delegate was shut down. We have addressed the issue of prolonged delays in perpetual task reassignment following delegate shutdowns by increasing the frequency of cron jobs that reset the perpetual task state for reassignment. This item is available with Harness Platform version 1.28.11 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-47781, ZD-58497, ZD-58522, ZD-58650)
-
Fixed the issue that allowed the creation of user Personal Access Tokens (PATs) at the organization and project scope via API, ensuring consistent listing and management in the UI. PATs can only be created at the account scope. (PL-47558)
-
Delegate logs were unavailable due to the system not automatically switching to app.harness.io as the remote logging service when GCP was blocked by a firewall. The auto-switching mechanism for the remote logging destination is fixed, ensuring accessibility to delegate logs when GCP is blocked by a firewall. This item is available with Harness Platform version 1.28.11 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-46958, ZD-57844)
-
The user aggregate API did not support selected view permissions, leading to errors when a user was granted view permission for specific user groups due to the lack of permissions on the
USERGROUP
resource as a whole. We have resolved this issue by allowing users to be granted view permissions for selected user groups. Now, only those user groups specified will be visible to the user. (PL-31279)
Security Testing Orchestration
-
The step palette now correctly filters through nested step categories and only returns steps when a match is found. It also matches on the category name as it did previously. (STO-7298)
-
Fixed the Target Type menu to show only supported types for Fossa and Semgrep. (STO-7165)
-
Fixed an issue where the Triggers link was broken after navigating to a pipeline from an STO context such as STO Overview. (STO-7249)
-
Fixed an issue that would cause a pipeline creation or update to fail if a Security Tests stage used a Harness Code repository. (STO-7208)
Early access features
Continuous Integration
- To use delegate selectors with self-managed VM build infrastructure, contact Harness Support to enable the feature flag
CI_ENABLE_VM_DELEGATE_SELECTOR
in your account. (CI-11545)
Security Testing Orchestration
-
You can specify default baselines for specific target types: code repositories, container images, application instances, and configurations. STO includes a set of predefined defaults for repository and container image targets. The default baseline for repositories is
master
ormain
. The default for images islatest
or the most recently scanned Semantic Version number if it can be detected.- For more information, go to Default RegEx baselines by target type.
- This is an Early Access feature behind the feature flag
STO_BASELINE_DEFAULTING
. Contact Harness Support to enable it.(STO-7127)
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" \
.