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
Long Expressions in YAML View: You can now view entire long expressions in the YAML view. Earlier, these were cut off and ended with an ellipsis, causing them to not appear correctly.
JSON Support for Expressions: We've enabled writing expressions using any JSON parser tool. This allows you to get an execution JSON for all stages or individual steps of your pipeline.
Required Setting for Harness Variables: Harness variables now come with a Required setting for added convenience.
Select a Git Branch: When executing a pipeline that uses Git Experience, you now have the option to select a Git branch.
Scheduled Automatic Approvals: We've added scheduled automatic approvals to manual approval steps. Please note that this feature is behind a feature flag (CDS_AUTO_APPROVAL).
Expressions for Looping Strategy Status: We've introduced expressions to retrieve the current execution status of the looping strategy for nodes (stages/steps) using a matrix or repeat strategy.
Edit Git Details: For pipelines stored using Harness Git Experience, you can now edit Git details.
Emails to Non-Harness Users: The system now allows you to send emails to users who aren't on Harness.
Labels for Matrix Naming Strategy: You can now use labels to come up with a matrix naming strategy.
Update for Harness Cloud (Linux amd64): The Harness Cloud Linux amd64 image has been updated with new major and minor versions for multiple components. Please refer to the version 4204 release notes in the Harness Developer Hub for a detailed list. Be aware, if you have pipelines running on Harness Cloud that depend on specific component versions, you might need to lock versions or install additional tools to prevent your pipeline from failing due to these image changes.
Feature Flags UI: We've improved the onboarding flow by adding a new button and text box for a new project when no environments have been created.
Feature Flags SDK: a. JavaScript: Our JavaScript client SDK has been upgraded. We've added a new function, refreshEvaluations(), which triggers a full refetch of evaluations from the server. b. Python: The Python server SDK is now version 1.1.16. We've improved its ability to handle flags with a large number of targets and added limits to prevent read_timeout errors. c. Java: Our Java server SDK, now version 1.2.3, includes additional HTTP headers in outbound connections for better data handling. d. Android: The updated Android client SDK (version 1.1.0) allows users to provide a trusted TLS CA certificate for connecting to Feature Flag services with private root CAs. It also includes additional HTTP headers in outbound connections. e. .NET: The .NET server SDK (version 1.1.8) has received several improvements, including better memory usage and performance, improved analytics, and better logging. f. Flutter: We've updated the ff-flutter-client-sdk (version 2.0.0) to use null safety. g. Erlang: The ff-erlang-server-sdk (version 1.1.0) now has an optional logging configuration option that lets you set the logging level for the SDK.
Cloud Integration User Experience: We've enhanced the user experience by adding a tooltip on the Cloud Integration page. This tooltip gives a brief explanation when the "View costs" link is disabled due to unavailable connector data. But don't worry, the link will be enabled as soon as the data is available.
Asset Governance Filter Panel: On the Asset Governance > Evaluations page, the filter panel's functionality has been improved. Now, all target accounts with 'view' permissions, along with those with 'execute' permissions, are included in the Target Accounts field.
Cost Category Enhancement: We've made it possible for you to incorporate another cost category as a rule when building a cost category.
User Experience Improvements: Now, the Monitored Service listing page displays a summary of changes related to the number of feature flags and chaos experiments along with other custom change sources. This helps you stay informed about the latest changes.
Sonarqube and Checkmarx Support Improvements: Typescript is now always supported in Sonarqube scans as we've added the existing Typescript scanning library. Also, in Checkmarx scans, we've added a 'product_zip_max_size' setting that lets you override the maximum size of ZIP files uploaded to the STO pipeline.
GameDay and Service Reliability Management Integration: Good news! GameDay and the integration with Harness Service Reliability Management (SRM) are now available to all users - no more feature flags to worry about.
Enhancements in Chaos Infrastructure Upgrades: When you're upgrading a namespace-scoped chaos infrastructure, we'll now show you the command for upgrading CRDs too. Isn't that helpful?
Execution Graph Improvements: In the past, the execution graph only showed step nodes progressively as the experiments were carried out. Now, all step nodes are displayed after the experiments start, with nodes yet to begin remaining in a pending state.
Deletion of Chaos Entities: When you delete a project, organization, or account, all the associated chaos entities will be wiped clean. That means no more leftover data to worry about.
Chaos Experiment Reports: We've given the Chaos Experiment reports a bit of a facelift. They'll now show tags for selected experiments and sequence numbers for all related experiment runs. Also, the Chaos Experiment Runs report will now show a probe summary and a fault summary if there's a fault failure.
New Linux Chaos Fault: We've introduced a new Linux chaos fault, Disk Fill. This fills up the available disk space at a specific system path for a given duration.
Chaos Infrastructure UI Improvements: To help you choose the best infrastructure for your needs, we've added details about supported faults by different chaos infrastructure categories on the Chaos Infrastructures UI screen.
Backward Compatibility Break: Please be aware that a recent release breaks backward compatibility with older chaos infrastructures. To avoid any experiment failures, updating chaos infrastructures and the chaos-native/go-runner image in experiment definitions is necessary.
Audit Events and Browser Tabs: We've added audit events for various GameDay operations so that you can audit operations done on your GameDays easily. Also, now your browser tabs will display the module page name, making it easier to switch between different tabs.
Enhanced Chaos Infrastructure Features: The Delete Chaos Infrastructure API has been updated to allow the deletion of just one infrastructure. We've also enhanced the Chaos Infrastructures table to enable routing to corresponding connectors directly from the screen.
Error Display and Advanced Configurations: Should an experiment scheduling fail, you'll now see the error when hovering over the status. We've also added a new advanced configuration that allows you to add annotations to all chaos pods using the UI.
Jira Release Insights Feature: We're now providing insights on Jira Releases as a data source for Software Engineering Insights. This gives you valuable information about the time taken in each release stage, helping you optimize factors such as lead time.
Continuous Error Tracking
Jira Ticket Creation: When you create a Jira ticket for an event, our system will prompt you to complete any mandatory fields that don't have a default value. It's just a little something to make your life easier.
Active Agents Access: We've made it easier for you to keep tabs on all your active agents. You can now access a complete list of all active agents running across your account directly from the subscription page.
Here are some important improvements to our platform that should enhance your user experience.
Git Branch Switching: Previously, changing the Git branch was only doable in the Pipeline Studio. Now, you have the flexibility to switch branches when running a pipeline. Additionally, you can run the pipeline directly from any branch on the pipeline listing page.
Special Characters in User Names: For security reasons, we've stopped allowing the use of certain special characters in the user name field. This includes colons (:), slashes (/), less than (<), greater than (>), equals (=), and parentheses (() and )). If your existing username includes any of these characters, we'll omit them in emails.
Create or Select Existing Connector Dialog: We've added an extra tab named 'All' on the dialog. This tab will list connectors from all scopes including project, organization, and account.
Enhanced Kubernetes Deployments: Our platform now supports horizontal pod autoscaling and pod disruption budgets for Blue Green and Canary execution strategies.
SMTP Configuration: You now have the option to select specific delegates in the Delegate Setup when configuring SMTP.
Pipeline Sorting: You can sort pipelines in the pipelines list using sortable column headers or the sort dropdown.
Adding Encrypted Text Secrets: We've added an option to test referenced secrets when adding an encrypted text secret.
Externally Managed User Deletion: From the Harness UI, you can now remove externally managed users. We recommend caution with this action as it may cause inconsistencies between Harness and the identity provider.
Project Access: Projects can now be accessed directly from your profile by selecting project cards.
Secret References Validation: Secret references now have a validation button. You can use this to verify if the path is valid.
Fetch Delegate List: Using the Harness API, you can fetch the list of delegates registered to an account. You also have the option to filter them by scope, tags, status, and version #.
User Experience Improvements: Even when there aren't any active delegates to execute tasks, you'll still be able to see the details of disconnected delegates in your selection logs and error messages.
Significant Changes:We've upgraded the delegate Java Runtime Environment (JRE) to version `11.0.19_7`.
Wondering how to supercharge developer productivity from code to production without increasing cognitive overload? The answer lies in Platform Engineering teams creating self-service developer portals with real-time software catalogs and flexible software templates using the new Backstage-powered Harness Internal Developer Portal (IDP) module. Learn more in the Beta Announcement blog and review documentation to get started.
Early Access Features
Kubernetes Deployments: Our platform now supports HorizontalPodAutoscaler and PodDisruptionBudget for Blue Green and Canary execution strategies. You'll need Harness Delegate version 79503 to use this feature. Remember, this functionality is behind a feature flag, so you'll need to enable the CDS_SUPPORT_HPA_AND_PDB_NG feature.
Step Group Templates: Step group templates are now usable in both custom and deploy stages.
Default Git Connector for Git Experience: When creating or importing operations with Git Experience entities, a default Git connector will be automatically selected. You can change this default connector at any time or use another connector as necessary.
Approval Step Notifications: Keep an eye out for new notifications related to the approval step.