At Harness, we have been hard at work so you can delight your customers without facing software delivery toil. Here is what has been changing in the previous month across Harness Products.
Continuous Delivery & GitOps
Nested Pipeline Depth restrictions: Harness has introduced restrictions on the depth of nesting in execution pipelines to enhance system stability. Now, a node execution will not be allowed if it exceeds 25 levels of nesting. The 25th level refers to the node being the 25th child starting from the root node pipeline. (For more details refer to release notes).
Built-in codebase expressions: Improved the consistency of built-in codebase expression values across build types. You can now expect similar values for these expressions regardless of build type. For example, <+codebase.commitRef> now provides a consistent reference for the build, such as refs/heads/BRANCH_NAME for a branch build or refs/tags/TAG_NAME for a tag build.
Support for GitHub App authentication: This feature is behind the feature flag CDS_GITHUB_APP_AUTHENTICATION and it requires Harness Delegate version 80308 or later. Contact Harness Support to enable the feature flag.
Service Now Integration with Recommendations: Introducing ServiceNow as a ticketing tool to create tickets for recommendations. You can use either Jira or ServiceNow as your ticketing tool. You need to configure this setting at the account level on the Default Settings page.
AWS Perspectives Enhancement: Support added for additional “Group By” options in AWS Perspectives.
Refunds and discounts within perspectives: Previously, our graph in perspectives didn't display refunds or discounts, resulting in empty spots when values were negative. This enhancement improves this by aggregating negative values into a red-colored bar chart. You can now toggle a button in General Preferences to view these previously hidden negative costs.
Automated Upgrade for Chaos infrastructures: A new feature lets users do an automated upgrade for their cluster-scope chaos infrastructures using an upgrade agent, which is deployed along with the chaos infrastructure. This also lets users do an upgrade of their chaos infrastructures on demand.
Support for Openshift Security Contexts: A new feature adds support for OpenShift security contexts, and provides tunables for RunAsUser and RunAsGroup in the experiment creation step.
Chaos Engineering UI update: The App Label(s) field in chaos fault configuration now supports a multi-select dropdown in Kubernetes experiments. This corresponds to comma-separated values in the experiment YAML. This change is backward compatible with older experiments.
Chaos Engineering UI update: The UI now provides a toggle in AWS experiments to enable or disable cloud secrets.
Openshift Configuration for Infrastructure: Added support for OpenShift configuration for deploying chaos infrastructure. This will provide you with a predefined security context constraint (SCC) that you can modify according to your needs.
Chaos Experiment Enhancement: Enhanced the Chaos experiment execution diagram to not switch to running nodes automatically. This change ensures that you stay on a node when you click it, thus giving you the opportunity to observe its details.
Docker Runtime Enhancement: Enhanced the Docker service kill fault to support the containerd runtime.
New Label Support: Added support for targeting applications by using only appkind, only applabel, and set-based labels.
Parallel Chaos Injection improvement: Parallel chaos injection and revert operations at scale have been improved for multiple target pods on the same node.
Environment Variables Update: Previously, if you did not set the TARGET_CONTAINER environment variable, the fault targeted a randomly selected container. Now, if you do not set the environment variable, the fault targets all containers in the target pods.
Node Drain Fault Timeout: Now, Users can specify drain timeout explicitly in the node drain fault. The node-drain fault has been using the CHAOS_DURATION value as a timeout, leading to potential confusion and risk of failure, especially when a shorter duration is used with many pods. The expectation is that CHAOS_DURATION should define the unschedulable period after draining. Providing a specific drain timeout would help users better estimate the eviction time for all pods on a node, reducing errors and false negatives.
Chaos Engine Enhancement: Enhanced the JobCleanUpPolicy configuration to also retain helper pods when it is set to retain in ChaosEngine.
Audit Event Update: Added Audit Event (Update) for Chaos Infrastructures upgrades which are triggered by SYSTEM/Cron Job Upgrader Automatically.
Tagging and Filters Update: Added filter on Chaos Experiments Table for filtering experiments based on tags.
Updated Chaos Hub Error Handling: Now, Users will be provided with an error if there is already one experiment existing with the same name in ChaosHub while pushing an experiment to a ChaosHub.
Internal Developer Portal (IDP) Plugin Updates: IDP now includes the GitHub Catalog Discovery plugin. You can use this to automatically discover catalog-info.yaml files from your GitHub organizations and repositories.
Internal Developer Portal (IDP) Template Updates: The following UI pickers are now available for use in software templates: HarnessOrgPicker, HarnessProject Picker. You can use these UI pickers in service onboarding workflows for developers to easily select a Harness project and Organization.
SCM Coding Days Widget Enhancement: The single stat widget in SCM Coding Days now displays numeric values with two decimal places, providing more precise information.
Enhanced UI for Pipeline Selection: The user interface has been improved to allow manual selection of pipelines or the option to choose all pipelines at once.
Exclude "Other" Statuses for Lead Time Calculation: Introducing the option to exclude the "Other" bubble. By excluding the "Other" stage, Lead time calculations will exclude time spent in these statuses.
Introducing pre-calculation capability for the Lead Time by Time Spent in Stages Report: This streamlines lead time calculations by pre-calculating data, resulting in faster fetching of information compared to real-time queries
Rich Text Formatting Options for Notes: Introduced enhanced rich text formatting options for the notes section with support of bold, italic, text and background colors, emojis, numbers, undo & redo, bullets, and links to make your notes more expressive and informative.
New Support for TestRail: Added the support for test cases in the TestRail reports. You can easily switch between Test Cases and Test Executions, with certain fields removed from Stack, Aggregation, and Filter.
New UI Update: Added an option "Include All Jobs" to dynamically select all jobs in the Lead Time and Mean Time tabs for both DORA and Velocity profiles.
New Support for ES-Dependency Analysis: Added support for linked issues in the ES-Dependency analysis. With this you can expect accurate issue linkages and dependencies to help streamline your project management.
Updated Lead Time Calculation
Harness Platform
Here are some important improvements to our platform that should enhance your user experience:
Heartbeat Interval Update: The heartbeat interval that perpetual tasks use to test connectors has been increased from 10 minutes to 30 minutes. This change aims to reduce the number of errors logged due to failed heartbeats. The new heartbeat interval is used with any connectors that you create after this deployment. Tasks associated with existing connectors require migration to the new interval.
Account License Updates: Accounts with Free and Community licenses are limited to 100 users.
Additional MongoDB Support Added: To support MongoDB 5.0, the Debezium library has been upgraded to version 1.9.
Added Support for Vault Token caching: If you use the App Role authentication method in the Hashicorp Vault connector, you can choose to cache the vault token. The token is cached on the Harness Delegate for a time duration equal to the TTL of the vault token, with 1% leeway.
Delegate Expiration Update: Earlier, Harness had an N-3 support policy for delegates. Now, the delegate expiration is calculated using the version difference between Harness Manager and the delegate. If the delegate and Harness Manager are on the same version, the delegate expiration is 24 weeks.
Audit Trail Roles Enhancement: Earlier, in the audit trail, all changes to a user principal's role assignment were logged with the generic Update action type. The record offered no additional information about whether a role assignment was created, updated, or deleted.Now, role assignment changes are logged with one of the following, more informative action types: Role Assignment Created, Role Assignment Update, Role Assignment Deleted.
Delegate Selection Logs Update: Earlier, in delegate selection logs, the non-selected error message included all mismatched selectors. Now, the non-selected error message includes only selectors mismatched within the scope.
Secrets scoping: You can now create secrets in child scopes using the parent scope in Secret Manager. For example, you can create secrets inside a project using the Secret Manager created at the Org or Account level.
Harness Delegate: The List Tokens API now supports listing all the personal access tokens or service account tokens in the account.
Continuous Delivery & Gitops: Harness has introduced support for writing expressions by using any JSON parser tool. You can now obtain an execution JSON for all stages or individual steps of your pipeline.
Harness variables now have a Required setting: A Required setting is now added to both the API, Harness Manager, and YAML variable settings.
Edit Git details for pipelines stored using Harness Git Experience: You can now edit the Git metadata in the pipelines and input sets you use in your Git-synced Harness pipelines.
Send emails to non-Harness users: To send emails to non-Harness users, you must configure your own SMTP server and enable the Enable Emails to be sent to non-Harness Users default setting. This setting is available at Account, Org, and Project levels.
Migrating Services with Helm Charts: You can now migrate Services with Helm charts from Helm repository-stored Artifacts from CG to NG. This will help in migrations. This feature is behind the feature flag CDS_HELM_MULTIPLE_MANIFEST_SUPPORT_NG.
Support for multiple Helm Charts in Manifests: You can now configure multiple Helm charts in the manifests. This provides feature parity with Harness FirstGen. Helm charts can now be configured from Helm Repository as Artifacts that allow the users to select the Helm chart for deployment. The UI also now differentiates between manifests and overrides in service. This feature is behind the feature flag CDS_HELM_MULTIPLE_MANIFEST_SUPPORT_NG.
Support for ASG Post Prod Rollback: Added support for Post Prod Rollback for ASG deployment types. For these Services, a Rollback to the previous version can be triggered from the Services Dashboard. For more information, go to Rollback Deployments. This feature is currently behind the Feature Flag POST_PROD_ROLLBACK. Please contact Harness Support to enable.
Support for Multi Service Propagation in Continuous Deployment pipeline stages: You can now configure propagation for Multi Service deployments from one stage to another in Continuous Deployment pipelines. Please contact Harness Support to enable the feature.
Support for Trigger activity page and Trigger Explorer : Troubleshooting of Triggers is made easy with Trigger activity page.You can now get visibility into different activities when a Trigger is activated by navigating to Trigger Activity Page as part of Trigger configuration .This feature is currently behind Feature Flag CDS_TRIGGER_ACTIVITY_PAGE .Please contact Harness Support to enable the feature.
Continuous Integration
Enable and configure Cache Intelligence in the Visual editor: The Cache Intelligence visual editor fields are behind the feature flag CI_CACHE_INTELLIGENCE. Contact Harness Support to enable the feature. You can enable and configure Cache Intelligence in the Pipeline Studio's Visual editor. Previously, you could only enable Cache Intelligence through the YAML editor. For more information, go to the Cache Intelligence documentation. This enhancement only applies to the Harness Cloud build infrastructure.
Security Testing Orchestration
Security Tests UI Update: The Security Tests tab includes a set of pull-down menus so you can filter the issue lists by Target, Target Type, Step, Stage, and Scanner. This feature is behind the Feature Flag STO_DROPDOWN_FILTERS.
Dropdown Filters
Chaos Engineering
Linux Chaos Faults: Enhanced fault execution logs to also include logs from commands like stress-ng, tc & dd as well.(This feature is currently behind a feature flag named CHAOS_LINUX_ENABLED).
REST API Migration: All APIs for services with respect to Linux Chaos have been migrated from the GraphQL and GRPC apis to REST. Users upgrading to 1.18.x need to upgrade all Linux Chaos Infrastructures.
Self-Managed Enterprise Edition
Continuous Integration: Re-run in Debug Mode now supports Python and PowerShell Core (pwsh). You can also now use debug mode for local runner build infrastructures. The remote debugging functionality is behind a feature flag, CI_REMOTE_DEBUG.
Delegate task configuration Update: Harness added the ability to acquire only the configured maximum number of tasks. This allows Harness Manager to use the task capacity to determine whether to assign a task to the delegate or queue it. This functionality is behind a feature flag, DELEGATE_TASK_CAPACITY_CHECK.
Continuous Delivery & GitOps: Added a new field in the release history for Blue Green deployments to differentiate between environments. Enable the feature flag, CDS_BG_STAGE_SCALE_DOWN_STEP_NG to leverage this feature.
Continuous Delivery & Gitops: Kubernetes deployments support HorizontalPodAutoscaler and PodDisruptionBudget for Blue Green and Canary execution strategies.