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.
With MongoDB 5 reaching end-of-life (EOL), upgrading to MongoDB 6.x is recommended for customers using an in-cluster MongoDB instance. This upgrade mitigates known CVEs and aligns with MongoDB’s recommended upgrade path.
MongoDB Version History:
- MongoDB 4.4 was used in versions 0.16.x.
- MongoDB 5.0 was utilized from versions 0.17.x to 0.21.x.
- MongoDB 6.0 is available from version 0.22.x onwards.
Upgrade Path
- Upgrade to at least SMP 0.17.0 if you are running 0.16.0 or below version. This is required because Mongo doesn’t allow direct upgrade from Mongo 4.0 to Mongo 6.0
- Upgrade to 0.22.0 or above.
Harness-Specific Details
- Helm Users:
- A job has been introduced to handle the FCV upgrade automatically. This job runs pre-upgrade checks and upgrades FCV to match the server version.
- ArgoCD Users:
- For ArgoCD users, run the FCV upgrade job manually before performing the main upgrade.
MongoDB FCV Upgrade Job
To run FCV upgrade manually (required for ArgoCD users), include this job definition: (mongo-preupgradejob)[https://raw.githubusercontent.com/harness/helm-charts/refs/heads/main/src/harness/templates/mongo-preupgradejob.yaml] This job runs as a pre-upgrade hook to ensure FCV is compatible with the MongoDB server version.
Configuration
To disable the upgrade job if a manual FCV upgrade is preferred, use the following setting in the override file:
upgrades:
mongoFCVUpgrade:
enabled: false
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.21.0, you should input 0.21.0.
-
The script will automatically update the Ingress objects as needed.
You can find the script in the Harness 0.21.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.
Note for ArgoCD based installations
If you’re using ArgoCD to deploy Harness with Custom Dashboards (Looker) enabled, you might run into issues during upgrades with the encryption/decryption key. ArgoCD re-generates the Looker encryption key with every upgrade because it uses helm template to inflate resources. To avoid this, you need to ensure the key remains consistent across upgrades.
To fix this issue, follow these steps
- Retrieve the Looker secret using this command:
kubectl get secrets looker-secrets -o yaml -n <namespace>
- Copy the value of lookerMasterKey from the secret and decode it using the following command or any base64 decoder. You’ll need to decode it twice. It's required to decode the secret value twice because during creation, first it's encoded by the helm function in the charts and then Kubernetes encodes it again while creating the secret.
echo "<base64-encoded-lookerMasterKey>" | base64 --decode | base64 --decode
- After decoding, update your ArgoCD values override with the decoded key:
platform:
looker:
secrets:
lookerMasterKey: "<your-decoded-key>"
By doing this, you ensure that the same lookerMasterKey is used during upgrades, avoiding encryption issues.
November 8, 2024, patch version 0.22.1
This release includes the following Harness module and component versions.
Name | Version |
---|---|
Helm Chart | 0.22.1 |
Air Gap Bundle | 0.22.1 |
NG Manager | 1.57.8 |
CI Manager | 1.47.5 |
Harness Manager | 1.48.8 |
Pipeline Service | 1.95.4 |
Platform Service | 1.39.1 |
Access Control Service | 1.61.2 |
Delegate | 24.09.83900 |
GitOps Service | 1.18.7 |
Change Data Capture | 1.36.0 |
STO Core | 1.113.10 |
Test Intelligence Service | 1.27.1 |
NG UI | 1.43.2 |
LE NG | 1.3.1 |
Looker | 1.1.1 |
Log Service | 1.9.2 |
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.22.1/ccm_images.tgz" \
"gs://smp-airgap-bundles/harness-0.22.1/cdng_images.tgz" \
"gs://smp-airgap-bundles/harness-0.22.1/ce_images.tgz" \
"gs://smp-airgap-bundles/harness-0.22.1/ci_images.tgz" \
"gs://smp-airgap-bundles/harness-0.22.1/ff_images.tgz" \
"gs://smp-airgap-bundles/harness-0.22.1/platform_images.tgz" \
"gs://smp-airgap-bundles/harness-0.22.1/sto_images.tgz" \
.
Fixed issues
Harness Platform
- Fixed an issue in version
0.22.0
causing helmfile diff and dry-run commands to fail due to server version lookups. Introduced a flagupgrades.versionLookups.enabled
set tofalse
to disable this check and enable seamless upgrades and dry runs. (PL-58295, ZD-72635)
New features and enhancements
Harness Platform
- Updated Helm common chart to avoid creating the rewrite object in the virtual service when not specified in the override/values file. This change ensures cleaner and more efficient configuration by excluding unnecessary rewrite rules. (PL-58400)
October 28, 2024, version 0.22.0
This release includes the following Harness module and component versions.
Name | Version |
---|---|
Helm Chart | 0.22.0 |
Air Gap Bundle | 0.22.0 |
NG Manager | 1.57.8 |
CI Manager | 1.47.5 |
Pipeline Service | 1.95.4 |
Platform Service | 1.39.1 |
Access Control Service | 1.61.2 |
Delegate | 24.09.83900 |
GitOps Service | 1.18.7 |
Change Data Capture | 1.36.0 |
STO Core | 1.113.10 |
Test Intelligence Service | 1.27.1 |
NG UI | 1.43.2 |
LE NG | 1.3.1 |
Looker | 1.1.1 |
Log Service | 1.9.2 |
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.22.0/ccm_images.tgz" \
"gs://smp-airgap-bundles/harness-0.22.0/cdng_images.tgz" \
"gs://smp-airgap-bundles/harness-0.22.0/ce_images.tgz" \
"gs://smp-airgap-bundles/harness-0.22.0/ci_images.tgz" \
"gs://smp-airgap-bundles/harness-0.22.0/ff_images.tgz" \
"gs://smp-airgap-bundles/harness-0.22.0/platform_images.tgz" \
"gs://smp-airgap-bundles/harness-0.22.0/sto_images.tgz" \
.
New features and enhancements
Chaos Engineering
-
Adds support to explicitly define the log watcher sidecar for chaos experiment manifest that use Harness Delegate. (CHAOS-6703)
-
Adds support to explicitly define the log watcher sidecar for chaos experiment manifest that use a dedicated chaos infrastructure. (CHAOS-6657)
-
Adds an updated UI for ChaosGuard to show dedicated chaos infrastructure, Harness Delegate, Linux and Windows chaos infrastructure. It also provides a modal each for application map and service discovery, respectively. (CHAOS-6646)
-
Adds support for live log streams for helper pods when executing an experiment that uses Harness Delegate. (CHAOS-5931)
-
Adds self-signed and trusted CA certificates for API chaos experiments. (CHAOS-6834)
-
Adds the functionality to block all inbound rules for Windows global blackhole chaos. (CHAOS-6603)
Cloud Cost Management
- Export Perspective Chart as CSV: We now support exporting the Perspective chart as a CSV, allowing users to easily extract and analyze data from the chart. (CCM-18812)
Code Repository
- Resolved issue with branch rule blocking configuration updates via GitX and ignoring bypass list. Now bypass list is always included when sending updates in GitX. (CODE-2311)
Continuous Delivery
-
GitOps is now installed automatically with Continuous Delivery (CD) and no longer requires separate control settings in the override configuration.
-
The Harness GitOps agent uses the Horizontal Pod Autoscaler for CPU and memory management, with a minimum of 1 replica and a maximum of 5 replicas in High Availability (HA) mode. For more information, go to GitOps documentation. (CDS-100830)
-
Harness GitOps now supports Multi-Source applications with ArgoCD. This feature is available for the GitOps agent version 0.79. Currently, this feature is behind the feature flag
GITOPS_MULTI_SOURCE_ENABLED
. Please contact Harness support to enable this feature. (CDS-85518) -
We have introduced a Force Delete Button for GitOps Applications, which can be used when a delete operation is stalled. Note that this option may leave some resources orphaned, so it is advised to use it only in critical scenarios. (CDS-97813)
-
While retrieving an application from ArgoCD, if the application is not found in the specified agent namespace, it will be removed from the database. (CDS-101006)
-
We have released a new image for gitops-agent-installer-helper (v0.0.2) that addresses several critical and high vulnerabilities through binary upgrades. (CDS-100665)
-
While updating Gitops repository fields, it is now required to include an Update Mask parameter in the update request to GitOps ArgoCD. The update mask specifies which fields have been changed, enhancing the clarity of the updates. (CDS-101077)
Continuous Integration
-
Added support for setting Topology Spread Constraints to Kubernetes build pods. A new property, ‘podSpecOverlay’, has been introduced in the Kubernetes infrastructure properties within the CI stage, allowing users to apply additional settings to the build pod. Currently, this field supports specifying topologySpreadConstraint, with plans to extend support for additional configurations in the future. This feature requires using delegate version 24.09.83900 or higher (CI-14033)
-
Added the ability to exclude connectors from the preflight check. This can be configured in the connector YAML by setting the property ignoreTestConnection to true. If the user sets this flag as true along with the feature flag CI_IGNORE_TEST_CONNECTION enabled, no matter the configuration, the connection test will always be marked as Successful. The feature is gated behind the feature flag CI_IGNORE_TEST_CONNECTION. (CI-13806, ZD-65275,65643)
Harness Platform
-
MongoDB has been updated to version 6.0 for the in-cluster database. (PL-41754)
-
Support for the Legacy Delegate has been removed in this SMP release. Customers currently using the Legacy Delegate are required to upgrade to the Immutable Delegate to ensure continued compatibility and support. (PL-58052)
-
Upgraded
org.clojure:clojure
from version 1.9.0 to 1.11.4 to address security vulnerabilities, including CVE-2024-22871, which could lead to a denial of service (DoS) attack. (PL-56307) -
Added support for v1 APIs in template-service, ng-manager, platform-service, and pipeline-service for Istio version 1.19.0 and above. If you are running istio >= 1.19.0, add the following override in your
override.yaml
file to access V1 APIs. (PL-50528, ZD-65579)global:
istio:
enableRegexRoutes: true -
Fixed an issue where Slack could still be selected as a notification method at the project level, even after being disabled at the account level. Notification channel options are now controlled by Default Settings and must be enabled there to be available. (PL-48866, ZD-60861)
-
An enhanced error message now appears when referencing secrets from a lower scope in Custom Secrets Manager. This message guides users to configure secrets with the correct prefix. For more details, please refer to the Secrets Management documentation. (PL-55199)
Security Testing Orchestration
- STO now supports ingestion scan modes on Harness Hosted CI infrastructure using MacOS. (STO-5762)
Fixed issues
Chaos Engineering
-
Fixed an issue where the list of infrastructure supported by Harness Delegate showed deleted infrastructure. (CHAOS-6742)
-
Fixed an issue where the image registry was unable to automatically reload the experiment manifest when creating a chaos experiment. (CHAOS-6727)
-
Fixed an issue in the image registry where selecting the ignore option from the UI would override values from backend. (CHAOS-6724)
-
Fixed the issue where the experiment schedule type was not being updated when it was changed from non-cron to cron type. (CHAOS-6822)
Cloud Cost Management
-
Toggle Fields in Recommendations Filters: The Toggle fields in the Recommendations screen Filters were not being saved on Create or Update. This has been fixed. (CCM-19267)
-
Saved Filter Option Not Visible on Anomalies Page Load: When first loading the anomalies page, the option to "Select a saved filter" was not visible until a filter was applied. This has been corrected so the saved filter option appears immediately. (CCM-19345)
-
Cloud Connectors Redirect Fix: Clicking on cloud connectors in the integration did not lead to the actual connector configuration. Now, it redirects to the connector details page, improving troubleshooting and configuration access. (CCM-17586)
-
Cost Category Bucket Overflow Handling: Display issues with overflowing content in cost category bucket conditions when multiple choices were selected have been fixed. (CCM-14719)
-
Search Bar Missing for Label Value Selection in Cost Categories: The search bar was not appearing when selecting label values while creating cost categories. This has been resolved. (CCM-15437)
Continuous Delivery
-
Earlier, all the pipeline stages were not visible when using the Zoom to Fit button in Pipeline Studio. This issue is fixed. (PIPE-21475, ZD-68662)
-
In a few cases, the artifact trigger failed to pick up the artifact and trigger the pipeline. The trigger also had a Pending status and did not change Success This issue is fixed. A new perpetual task will be created after the maxFailed attempts are reached even if the pending trigger is deleted. (PIPE-20803, ZD-67390)
-
Previously, users experienced delays when loading the service and execution dashboards. This issue has been resolved by introducing widget-level loaders for projects with many services, significantly improving loading performance. (CDS-100916, ZD-69971)
-
In NewRelic applications, all application IDs were not being shown and the list was limited to 10 application IDs and had a delayed response time during search. This issue is resolved. (CDS-100390, ZD-69177)
-
Previously, users could not copy the task ID directly from the execution logs in the continuous verification process. This issue is resolved. Copy Task ID button is added in the execution logs modal for the verification step to copy the task ID. (CDS-100337)
-
Users were unable to save the pipeline changes in the custom deployment template with an empty version label. This issue is fixed now. (CDS-100324, ZD-68869)
-
The instance details for the deployed service were not displayed after execution. This issue is resolved now. Instance sync for Custom Deployment will work if secrets are being referred and being used to fetch instances. (CDS-100179, ZD-68207)
-
Previously, a default value was passed to the timestamp in custom query for big query health source which restricted users to add timestamp according to their requirements. This issue is resolved. The default value for the timestamp input is removed. (CDS-99523)
-
Previously, the dropdowns in the pipeline studio had low contrast in dark mode. This issue has now been fixed. (CDS-99271)
-
Users were unable to import override from Git when
CDS_OVERRIDES_GITX
feature flag was disabled, and the error message was unclear. This issue is resolved. The Import to git option will no longer be visible ifCDS_OVERRIDES_GITX
is disabled. Please contact Harness support to enable this feature. (CDS-98357) -
Some Overrides v2 entities had null or empty string values for
serviceRef
and infrastructure identifiers, causing inconsistencies during GET calls for environment-global and infrastructure-global overrides This issue has been fixed. (CDS-100776) -
With
CDS_SERVICE_OVERRIDES_2_0_YAML_V2_SUPPORT
enabled, the system processes data based on the provided YAML. Previously, when variable validations were removed, the UI did not correctly sendvalue: ""
for empty variables when adding new values. This issue has been fixed, ensuring that the UI now properly sets and sends empty variable values for Overrides v2. (CDS-100761) -
Previously, when using a step template with multiple inputs, the full names of the inputs were not displayed, even on hover, making it difficult to understand what the inputs represented. This issue has been fixed by adding an ellipsis for truncated text and a title tooltip for full name visibility, improving readability in the template view and usage (CDS-100277)
-
Previously, project variables with leading spaces were displayed as trimmed values in the UI, while the spaces remained during pipeline runs, causing debugging issues. This has been fixed by trimming the variable value when editing or saving, ensuring consistency between the UI display and the value used during pipeline execution. (CDS-100201)
-
The variable dropdown in dark theme was not displaying correctly. The issue is fixed.(CDS-99272)
-
Previously, users attempting to save or run a WinRM deployment pipeline would encounter an unclear error message if the Rollback step was missing a command, making it difficult to understand the issue. The error message has been rephrased to clearly indicate that the Rollback step requires a command, with guidance on how to resolve it. (CDS-98751)
-
Previously, the monitored service runtime inputs form in the template inputs was editable when it should have been read-only. The issue is fixed now. (CDS-96608)
-
Previously, in the Gitops Overview page, the Recent Deployment Activities dashboard did not filter deployments by agent identifier. As a result, deployments from other applications with the same name but different agents were displayed if they were in the same project hierarchy. This issue is resolved. The recent activities dashboard now scopes the results to the appropriate agent. (CDS-100336)
-
Previously, GitOps Applications Syncs older than 6 months were displayed on the Applications Sync dashboard caused inconsistencies on the dashboard, leading to duplicate entries during reconciliation after MongoDB TTL cleanup. This issue is resolved. (CDS-101259)
-
Previously, users could create a GitOps application with an invalid namespace, which would later cause synchronization failures. This issue has is resolved, and now applications can only be created using a valid namespace. (CDS-100149)
-
Previously, users were unable to edit the manifest within a GitOps application and apply changes directly from the GitOps page. This issue is resolved. (CDS-99792, ZD-68127)
-
Previously, the project mappings did not consistently appear in the project when the Gitops agent was running in High Availability (HA) mode. This issue is resolved. The agent will now automatically reconnect to Redis once it is back online, ensuring that mappings are updated. (CDS-100784, ZD-69678)
Continuous Integration
- Resolved an inconsistency between the Run and Plugin step configuration in the CI module. Previously, users could set key-value pairs in the Run step but not in the Plugin step. The fix enables the “Optional Configuration --> Settings” field in the Plugin step to accept value as runtime input with default values and allowed values (CI-14038, ZD-69099)
Harness Platform
-
Optimized delegate caching by increasing the delegateAccountCache TTL from 1 minute to 3 minutes. This change reduces the number of delegate fetch queries to the database, improving performance during pipeline execution. (PL-56622)
-
Resolved an issue in FileStore where tag values were not displayed in the tag hover for files. The custom logic for rendering tags has been replaced with a standard Tags component, ensuring that both tag names and values are correctly shown. (PL-56940, ZD-69741)
-
Fixed an issue on the Freeze page where long names and identifiers caused text overlap in the UI. A maximum width has been set for the freeze name cell, with the full name and identifier now visible on hover. (PL-56843, ZD-69083)
-
Fixed an issue where users with the correct permissions were unable to delete resources in a Resource Group. (PL-56726, ZD-69369)
-
Fixed an issue where the AWS Secret Manager validation was failing due to regions being passed instead of full URLs, causing connectivity errors in delegate logs. The region is now correctly converted to a URL, preventing perpetual task failures. (PL-55740, ZD-67142, ZD-67150)
-
Enhanced webhook notification handling to support secrets in headers, enabling proper decryption of Authorization and other header values stored in the Harness Secret Manager. This ensures seamless webhook triggering without requiring hardcoded values. (PL-55319, ZD-65913)
Security Testing Orchestration
- Fixed the issue causing incorrect validation that prevented valid STO step palette forms from being saved. (STO-8014)
October 4, 2024, version 0.21.0
This release includes the following Harness module and component versions.
Name | Version |
---|---|
Helm Chart | 0.21.0 |
Air Gap Bundle | 0.21.0 |
NG Manager | 1.55.8 |
CI Manager | 1.45.5 |
Pipeline Service | 1.93.6 |
Platform Service | 1.37.2 |
Access Control Service | 1.58.2 |
Delegate | 24.08.83804 |
GitOps Service | 1.17.9 |
Change Data Capture | 1.33.3 |
STO Core | 1.108.4 |
Test Intelligence Service | 1.27.1 |
NG UI | 1.41.4 |
LE NG | 1.3.1 |
Looker | 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.21.0/ccm_images.tgz" \
"gs://smp-airgap-bundles/harness-0.21.0/cdng_images.tgz" \
"gs://smp-airgap-bundles/harness-0.21.0/ce_images.tgz" \
"gs://smp-airgap-bundles/harness-0.21.0/ci_images.tgz" \
"gs://smp-airgap-bundles/harness-0.21.0/ff_images.tgz" \
"gs://smp-airgap-bundles/harness-0.21.0/platform_images.tgz" \
"gs://smp-airgap-bundles/harness-0.21.0/sto_images.tgz" \
.
Early access features
Continuous Integration
- Added support for automatic setup of Build Intelligence for builds running in Harness Cloud. Customers can set the stage property
buildIntelligence
totrue
in order to use this feature. Once enabled, Harness CI will automatically optimize Run and Test steps that are running Bazel or Gradle commands, to reduce build time. (CI-12969)
New features and enhancements
Continuous Integration
-
Cache Intelligence was enhanced with support for C# . Customers using C# applications can now leverage automatic dependencies caching with Cache Intelligence. (CI-12672)
-
Added a new setting in the account default settings under CI named
Upload Logs Via Harness
, allowing customers to route CI step execution logs through Harness’ log service instead uploading them directly from the build environment. This was previously behind a feature flag, but is now available for all users. (CI-13647)
Harness Platform
-
PodDisruptionBudgets can now be created using global and service-level overrides and can be enabled for supported services. (PL-56564, ZD-68426)
At the global level, for all supported services
global:
pdb:
create: trueAt service level, for individual service (eg: ng-manager)
platform:
ng-manager:
pdb:
create: trueIf PDB is enabled globally, it will create PDB for all supported services. If the requirement is to create PDB for specific services, then it needs to be enabled for each service.
minAvailable
andmaxUnavailable
can be set to either percentage or absolute value. If both of them are set thenminAvailable
will take precedence.global:
pdb:
create: true
minAvailable: "50%"
maxUnavailable: "50%" # set either of these twoThe default value is minAvailable:
50%
Note: PDB support for log-service will be available from the next release.
-
SSCA module has been enabled on Custom Dashboards. This allows users to integrate SSCA functionality within their dashboards. (PL-56177)
-
Resolved an issue where notification rules were not executed for delegates with selected tags instead of group names. The notification trigger now correctly matches the entity identifiers against those in the notification rules. (PL-51795)
-
Upgraded the Spring Framework libraries to version
6.0.18
to address multiple critical CVEs reported by Prismacloud. (PL-38815, ZD-42531, ZD-44910, ZD-46364, ZD-50403, ZD-52222, ZD-53107, ZD-53760, ZD-55114, ZD-60387, ZD-61129, ZD-62327, ZD-62502, ZD-62674, ZD-62690, ZD-63256, ZD-63383) -
The BouncyCastle library has been upgraded from version
1.76
to1.78
to address several medium-severity CVEs (CVE-2024-29857, CVE-2024-30171, CVE-2024-30172) and enhance overall system security. (PL-51346) -
Upgraded the
dnsjava
library to version3.6.0
to address CVE-2024-25638, which involved potential security vulnerabilities in DNS query responses. This item requires Harness Delegate version 24.08.83800. For information about Harness Delegate features that require a specific delegate version, go to the Delegate release notes. (PL-55721, ZD-63383, ZD-68810) -
Upgraded the org.apache.cxf:cxf-core library from version 3.5.8 to 3.5.9 to address a security vulnerability (CVE-2024-32007). This upgrade enhances the security and stability of the application. (PL-55722, ZD-63383)
Fixed issues
Chaos Engineering
- Fixed the error associated with upgrading a chaos infrastructure by providing relevant permissions for the upgrade agent in the execution plane (user host/cluster). (CHAOS-5980)
Cloud Cost Management
-
Budget Amount Reset: Earlier, navigating between the budget creation steps caused the budget amount settings to reset to defaults. The budget form fields will now retain their values when switching between steps. (CCM-10953)
-
Cost Category Name Updates: We have addressed an issue where cost category name updates were not properly reflected in perspective rules, ensuring the correct category names are used in all relevant areas. (CCM-18977)
-
Recommendations Slider Action: Previously, using the buffer slider in the CCM "recommendations" view and hitting the back button moved the slider instead of returning to the main recommendations page. Now, the back button no longer includes slider actions. (CCM-11303)
-
Budget Percentage Display Issue: Previously, when a budget amount was set to 0, the percentage spend comparison displayed as "Infinity." This has been fixed. (CCM-19171)
Continuous Delivery
-
Previously, when a Pipeline Execution was aborted due to a Deployment Freeze, the details of the Freeze were not accessible from the Execution Console view. This issue was resolved by adding the details to the Console View. (PIPE-20658)
-
Users were unable to move or delete a service-specific override. This issue is resolved. The permissions required to move or delete a service-specific override for global environment and infrastructure is
core_environment_edit
. The permissions required for service-specific override or service and infrastructure iscore_service_edit
. Separate permissions to delete are not required. (CDS-100204, ZD-68468, ZD-68759) -
The Helm chart deployments failed when the
values
YAML file contained double quotes. This issue is resolved. (CDS-100174, ZD-68747, ZD-68940) -
The service variable that referenced secret text was exposed in plaintext delegate logs when executing CD WinRM deployment. This issue is resolved. The warning logs are updated with debug logs. (CDS-100046, ZD-68713)
-
When using a WinRM credential of "type = Kerberos" in a PowerShell script, the output variables were not displayed properly due to a missing identifier. This issue is resolved. (CDS-100036, ZD-68283)
-
Service was not loading when the service and environment used a custom template configured as Always use the stable version. This issue is resolved. (CDS-100021, ZD-68666)
-
Custom stage pipelines did not show the environment in the pipeline execution history. This issue is resolved now.(CDS-99938)
-
The error title Intervention was displayed when the verification step failed. The title is now updated to Verification Failure. (CDS-99671,ZD-65113)
-
The placeholder in the health source connector component, which previously displayed
GCP
, has now been updated toBigQuery
. There is no functionality change with the issue resolution. (CDS-99519) -
The runtime input symbol was getting displayed even when fixed values was selected from the templates in the monitored services. This issue has been resolved. (CDS-99518)
-
On the services page, the deployment type icon did not consistently appear. This issue has been resolved. (CDS-99331, ZD-66892)
-
GitOps deployments were not tracked for multiple projects because the Harness Gitops instances service was out of sync with applications without project mappings. This issue has been resolved. (CDS-98989, ZD-63203)
-
Earlier, deleting the entire expressions from the delegate selector field at the step level was not possible. This issue is resolved. (CDS-96694)
-
The Service and environment values saved as input sets of monitored service template in the verify step were not available while running the pipeline. This issue is resolved. (CDS-96581)
-
The tooltip for the Output Alias (optional) field under Optional Configuration was not being displayed. This issue is resolved. (CDS-90919)
-
When the Input Set YAML was invalid, the backend response lacked the necessary error message and the
entityValidityDetails
parameter. This issue has been fixed by ensuring that invalid YAML is properly displayed in the YAML view, with the visual view disabled to avoid further errors and improve consistency across entities.(PIPE-20705, PIPE-20536) -
The tooltip for affected components on the status page was broken, and the scheduled maintenance was being displayed too early. These issues have been fixed, ensuring the tooltip works correctly and that the maintenance notification only appears shortly before the maintenance window starts. (CDS-100526)
-
Invalid Input Set YAML was not properly displayed in the YAML view. The issue is fixed now. (PIPE-20705)
-
The tooltip for affected components on the status page was broken, and the scheduled maintenance was being displayed too early. These issues have been fixed, ensuring the tooltip works correctly and that the maintenance notification only appears shortly before the maintenance window starts. (CDS-100526)
-
When switching from 'All Infrastructure' to a specific infrastructure, the selected infrastructure would be dropped. Additionally, the infrastructure section was incorrectly accessible when the environment was set as a runtime input during multiple environment/infrastructure deployments, and there were issues with pagination support where infrastructure was disabled when the environment was a runtime input. These issues have now been resolved, ensuring proper infrastructure selection, access restrictions, and pagination support. (CDS-100178)
-
Previously, when using the GitOps Sync Step, even if only a few clusters were selected from the provided environment and a regex was given, the sync would incorrectly sync all apps across all clusters. This issue has been fixed, and now only the apps in the selected clusters will be synced as expected. (CDS-100130)
-
Previously, when
agentId
was set as a runtime input,applicationName
was not set as a runtime input as expected. This issue has now been fixed. (CDS-99821) -
The page number of project and connector list page was not getting reset when applying favourite filter. The issue is fixed now. (CDS-99747)
-
The favourite icon on connector details page was not getting higlighted when connector is marked as favourite. The issue is fixed now. (CDS-99742)
-
Previously, when accessing remote environments through the grid view, navigation did not land on the correct page, and the Git details were missing on the detail page. This issue has been fixed by updating the query parameters, ensuring that remote environments now navigate to the correct page and display the required Git details. (CDS-99435)
-
Previously, the service details call sorted by
lastUpdatedAt
on a fresh load, but the UI displayedLast modified
in the filter. This caused inconsistency where edited services retained their position, and cloned services appeared last. Once the filter was selected withLast modified
, the sort switched tolastModifiedAt
, displaying edited or cloned services at the top. Additionally, in the environment view, the UI showedLast Updated
, but the sorting parameters were sent aslastModifiedAt
. The issue is fixed now. (CDS-98986) -
Previously, when attempting to save a CV step without selecting a CV type, the step could not be saved, but no error message or notification was displayed to indicate the missing configuration. This issue has been resolved by adding an error message,
Verification type is required
, to inform users when the CV type is not selected. (CDS-98977) -
When editing the additonal manifest, the manifest type is different. The issue is fixed and now the manifest type will be same as selected and match the sidebar. (CDS-98975)
-
Access Control to GitOps Applications can now be managed using Labels. This allows Applications to be automatically added to the required Access Control Resource Groups. See https://developer.harness.io/docs/continuous-delivery/gitops/use-gitops/manage-permissions/ for more details. (CDS-97914)
-
When creating a GitOps Application, the cluster can now be specified by name instead of using the IP address, if required. This is helpful in cases where the Cluster IP may change in the backend. (CDS-96922)
-
We identified and resolved an issue where creating multiple project-level GitOps resources using Terraform would partially fail if no existing app project mapping was in place. This failure was due to a race condition caused by multiple resources attempting to create app project mappings simultaneously. With the issue resolved, Terraform can now be used to create multiple project-level GitOps resources without encountering this problem. (CDS-101361)
-
Added validation against existing account, org and project in create/update requests for gitops resources. (101364)
Continuous Integration
-
Removed the CI onboarding flow for new projects on SMP environments, where users were previously directed to a 'Get Started' page that could fail due to
clientSecret
setup for Stripe. Now, customers will be directed to the Overview page instead. Upcoming releases will include changes to completely remove the Get Started option from the side navigation for SMP customers, ensuring it is no longer visible. (CI-13687) -
Fixed an issue where the plugin image url was incorrect when the registry url 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-13770, ZD-66772)
-
Fixed an issue where pipeline failures at the initialization step resulted in the entire pod YAML, including environment variables with secrets, being logged as an error. The log level has been changed to debug to prevent sensitive data exposure, and a new log has been added to capture essential details without including the full object. (CI-13785)
-
For SMP customers, the 'getting started' flow for CI has been removed from the side navigation. (CI-13821)
-
Bitbucket has an issue in their API; it does not support the slash character ( / ) https://jira.atlassian.com/browse/BCLOUD-20223 This can be worked around by using query parameters in the Bitbucket api https://api.bitbucket.org/2.0/repositories/smjth/originalrepo/?at=qq/ww (CI-13826)
-
Corrected the visibility of the NodeSelector field label in the CI stage infrastructure tab when using Kubernetes infrastructure. The reference for the node selector string has been fixed to ensure the label is properly populated. (CI-13867)
-
Due to Docker rate limiting,
CI_ENABLE_BASE_IMAGE_DOCKER_CONNECTOR
feature flag must be enabled whenever a base image connector is used (CI-13924) -
Fixed an issue where time savings due to Harness CI intelligence feature, didn't populate properly when used in the parallel CI stages. (CI-13993)
-
Fixed an issue where time savings due to Harness CI intelligence feature, didn't populate properly when used in the parallel CI stages. (CI-13993)
-
Corrected the popup UI displaying incorrect time savings that were being cached from other steps in cache intelligence. (CI-13995)
Harness Platform
-
Fixed an issue where RBAC permissions were not reflecting properly in SMP and SNAPSHOT environments. The bug was caused by a shared lock across multiple services, leading to delays in event processing. Separate locks have been introduced for each service to resolve the issue. (PL-56509)
-
Fixed an issue where legacy delegates failed to work with non-root users after the 1.0.83605 upgrade. The working directory for shell script delegates has been reverted to the current directory, ensuring proper functionality. (PL-55792)
-
Fixed an issue where pipelines could get stuck in the running state due to delegate task handling. A new flow has been introduced to recompute eligible delegates after 3 rounds of broadcast, ensuring tasks are acquired even if delegates restart. This fix is controlled by the
RECOMPUTE_ELIGIBLE_DELEGATES_LIST
feature flag and requires Harness Delegate version 24.08.83802. For information about Harness Delegate features that require a specific delegate version, go to the Delegate release notes. (PL-55249, ZD-66247) -
Added an index for Audit Logs to improve query performance and reduce CPU usage (PL-56977)
-
The
displayname
attribute from SAML assertions is now honored for new JIT-provisioned users logging in via SAML. This ensures that usernames are correctly updated to reflect the displayname attribute, addressing inconsistencies in user names. (PL-55616) -
Fixed an issue preventing Canny login from the Harness UI for customers using vanity URLs. The Canny login flow now correctly redirects to sso.html, enabling seamless access across all environments, including global gateway clusters and vanity URLs. (PL-55679, ZD-66968, ZD-67907)
-
The delegate initialization process has been moved from a background thread to the start of application. This change addresses issues with health check failures during startup by ensuring that delegate registration, websocket establishment, and heartbeat scheduling are completed before health checks are performed. This item requires Harness Delegate version 24.08.83700. For information about Harness Delegate features that require a specific delegate version, go to the Delegate release notes. (PL-55905, ZD-67667)
-
Resolved an issue where not all user groups were visible in search results when inherited groups exceeded 1000. The search now displays a higher number of inherited user groups, ensuring comprehensive visibility for all user groups across your organization. (PL-56021, ZD-68131)
-
Fixed an issue where adding a new tag using the mouse click in the Tags input box on Default Settings Page wasn't working. Users can now create tags using both mouse clicks and the ENTER key. (PL-56098)
-
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) -
Updated the delegate expiration logic to align with the 6-month support and 2-month upgrade policy. This ensures that delegates maintain compatibility and support within the specified time frame. This item requires Harness Delegate version 24.08.83800. For information about Harness Delegate features that require a specific delegate version, go to the Delegate release notes. (PL-56193, ZD-68597, ZD-69188, ZD-69266)
-
Resolved an issue causing SCM binaries to not be found during delegate startup with versions
24.07.83605
and24.07.83606
. Updated the handling of default values for built-in Docker environment variables to prevent delegate initialization errors. This item requires Harness Delegate version 24.08.83800. For information about Harness Delegate features that require a specific delegate version, go to the Delegate release notes. (PL-56209, ZD-68661) -
Fixed an issue where restarting a delegate with an account-level token incorrectly moved the existing project-level delegate group to the account level. The query for locating the existing delegate group has been updated to ensure that it correctly handles cases where the owner field is null, preventing unintended group migrations. This item requires Harness Delegate version 24.08.83800. For information about Harness Delegate features that require a specific delegate version, go to the Delegate release notes. (PL-56377)
-
Resolved consistent proxy authentication issues seen after delegate upgrade by removing unnecessary environment variable expansion and adding URL encoding for special characters. The
PROXY_PASSWORD
environment variable is now handled correctly, ensuring proper authentication without requiring expansion. This item requires Harness Delegate version 24.08.83802. For information about Harness Delegate features that require a specific delegate version, go to the Delegate release notes. (PL-56623, ZD-68887)
Security Testing Orchestration
- Users can now deselect Jira project and ticket type settings at the account, organization, or project level, similar to other settings pages. Removing the Jira connector will automatically delete the associated external ticket settings, allowing users to fully disconnect their Jira integration if desired. (STO-7892, ZD-67770)
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 |
Looker | 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.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 |
Looker | 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.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 STO images from your private 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) -
Fixed an issue wherein trying to add a pre-defined experiment in Windows infrastructure was unsuccessful. (CHAOS-5863)
-
Fixed an issue where the Edit ChaosHub action was not working with non-account type connectors. (CHAOS-5820)
-
Fixed an issue where the Linux restart chaos fault could not parse string values. (CHAOS-5616)
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 |
Looker | 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.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 |
Looker | 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.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 |
Looker | 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.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)