Skip to main content

Internal Developer Portal release notes

Review the notes below for details about recent changes to Harness Internal Developer Portal.

About Harness Release Notes
  • Progressive deployment: Harness deploys changes to Harness SaaS clusters on a progressive basis. This means that the features described in these release notes may not be immediately available in your cluster. To identify the cluster that hosts your account, go to your Account Overview page in Harness. In the new UI, go to Account Settings, Account Details, General, Account Details, and then Platform Service Versions.
  • 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, Self-Managed Enterprise Edition, and FirstGen release notes.

April 2024

Version 0.25.0

Welcome to first release of April, and in this release we bring you features like Catalog Metadata Ingestion APIs, say goodbye to manual data entry woes. With our new API, effortlessly ingest metadata in scale into the IDP catalog.

New features and enhancements

Bug Fixes

  • Fixed issues, with empty string & null entries for user groups, in access control. [IDP-2509]
  • Fixed issues with Entities marked as secret to be visible to owners only. [IDP-2182]

March 2024

Version 0.24.0

New features and enhancements

  • We have improved the permission framework, wherein the support user won't be able to view the docs. [IDP-2477]

  • User can now provide the repository url to verify for repository read permission with the given host and credentials before saving the git integration, while creating the connectors. [IDP-2213]

  • We have added support for sub-groups in the GitLab Datasources. [IDP-2510]

  • We now have support for custom properties, to push append or update arbitrary metadata associated with Catalog entities (services, libraries, websites, etc.) and will help users to automate the process of catalog-info.yaml creation, we provide an API that users can call from their pipeline or even manually to add or modify properties in the metadata field for any catalog entity(s). [IDP-2228]

Bug Fixes

  • Fixed the issue for broken API Plugin, now all plugin data would be loading seamlessly for users once configured. [IDP-2461]
  • Fixed the issue with plugin icon on plugins page. [IDP-2431]
  • Fixed the issue with URL allow list, now host name field is marked mandatory to add the URL. [IDP-2414]

Version 0.23.0

Continuing with the increased adoption of self-service flows, this release we're happy to introduce an intuitive minimalistic UI for the workflows page along with support for output variables on workflows page, to streamline user experiences seamlessly.

New features and enhancements

  • Now we have a new UI for the Workflows page, as part of the Backstage Upgrades. [IDP-2355]

  • We have added a new custom processor to convert the email-id used under owner field in catalog-info.yaml to an user incase the username is part of the email-id. [IDP-2369]

  • We have added a new Custom Card Plugin to help users display the information, stored under the root fields of catalog-info.yaml, on a card in the overview tab. [IDP-2352]

  • We have added a new Evaluate expression datapoint under the Catalog datasource to match input values for all the root fields apiVersion, kind, metadata, and spec only and the supported values under the root field. [IDP-2111]

  • Now you can configure the output of trigger:harness-custom-pipeline to display the pipeline output variables, by setting the showOutputVariables: true under inputsand adding output as shown in the example below: [IDP-2328]

...
output:
text:
- title: Output Variable
content: |
Output Variable **test2** is `${{ steps.trigger.output.test2 }}`
- title: Another Output Variable
content: |
Output Variable **test1** with fqnPath is `${{ steps.trigger.output['pipeline.stages.testci.spec.execution.steps.Run_1.output.outputVariables.test1'] }}`
...

There are two ways in which you can add the output variable to the template syntax.

  1. You can directly mention the output variable name ${{ steps.trigger.output.test2 }}, here test2 is the output variable name we created in the pipeline.

  2. You can copy the JEXL expression of the output variable and remove the JEXL constructs, ${{ steps.trigger.output['pipeline.stages.testci.spec.execution.steps.Run_1.output.outputVariables.test1'] }}, here the part pipeline.stages.testci.spec.execution.steps.Run_1.output.outputVariables.test1 comes from <+pipeline.stages.testci.spec.execution.steps.Run_1.output.outputVariables.test2> copied from execution logs.

Bug Fixes

  • Fixed the issue with missing labelSelector annotation resulting in scorecards checks failure message not getting displayed for some k8s related checks. [IDP-2270]

February 2024

Version 0.22.0

Given the interest of our users to know more about our IDP and what's coming up next, we have released a detailed roadmap for IDP. Also we would further like to hear the feedback of users on our ideas platform regarding how they envision their developer portal to be and what improvements they would like to see in our IDP especially the suggestions for Plugins and support for new integrations.

New features and enhancements

  • We have added support for displaying warning message on connector page, when a connector or secret is deleted. [IDP-2018]
  • You can now optionally remove the pipeline url used to orchestrate the workflow, from the workflow execution logs displayed as output while using the custom action trigger:harness-custom-pipeline. For this you need to use the boolean property hidePipelineURLLog and set the value as true. [IDP-2183]
## Example
steps:
- id: trigger
name: Creating your react app
action: trigger:harness-custom-pipeline
input:
url: "Pipeline URL"
hidePipelineURLLog: true
inputset:
project_name: ${{ parameters.project_name }}
apikey: ${{ parameters.token }}
  • The Custom field extension HarnessAutoOrgPicker, which auto populates org id on project selection, would now pick project field value from the key that is mentioned under projectPickerRef as dependencies, if it's name is other than projectId. When properties have the project key and are named as projectId in that case you don't need to add the dependencies. [IDP-2243]
## Example where projectId is mentioned under project_name
apiVersion: scaffolder.backstage.io/v1beta3
kind: Template
metadata:
name: your-workflow
...
spec:
...
parameters:
- title: Details
properties:
project_name:
title: Project Identifier
description: Harness Project Identifier
type: string
ui:field: HarnessProjectPicker
orgId:
title: Org Identifier
description: Harness org Identifier
type: string
ui:field: HarnessAutoOrgPicker
dependencies:
projectPickerRef:
- 'project_name'

Version 0.21.0

We are seeing a lot of excitement among our customers around Self Service Workflows to derive value for their developers. This release is especially for you if you are using IDP workflows for user/service onboarding.

New features and enhancements

  • The project picker in IDP workflows HarnessProjectPicker now shows the org as well. There is no change in the input/output values. [IDP-2048]

  • Added support for a new Custom field extension HarnessAutoOrgPicker, which auto populates on project selection. So now when you select an project id as an input the org id gets selected automatically if required as an input. [IDP-2099]
# Example template.yaml file
apiVersion: scaffolder.backstage.io/v1beta3
kind: Template
metadata:
name: your-workflow
...
spec:
...
parameters:
- title: Details
properties:
projectId:
title: Project Identifier
description: Harness Project Identifier
type: string
ui:field: HarnessProjectPicker
orgId:
title: Org Identifier
description: Harness org Identifier
type: string
ui:field: HarnessAutoOrgPicker

In the above example the the Project Identifier field once selected auto populates the Org Identifier field as shown below.

  • Two new plugins Azure Devops [IDP-2078] and Rootly [IDP-1693] are available to use now!
  • Users can now add email as an input for Slack Notify step in the IDP Stage. When used with <+pipeline.triggeredBy.email>, your service onboarding pipeline can now notify the user! [IDP-1943].
  • All IDP APIs are now available on our public API docs.[IDP-2113]

Bug Fixes

  • Added support for word-wrap to ensure words are not broken on screen. [IDP-1972]
  • Fixed the string input value to ignore leading slash for file path input value in scorecard checks[IDP-2084].
  • Enhanced error handling for steps under developer portal stage. You should now see more meaningful errors [IDP-2105, IDP-2098, IDP-2087, IDP-2086, IDP-1943].

January 2024

Version 0.20.0

🐣 "Easter Came Early This Year! 🚀 In our latest update, we're egg-cited to unveil the delightful additions of custom plugins – features you've eagerly anticipated. Here are some of the Docs and Tutorials to help you get started.

Early access features

  • We have added support for custom plugins, which enables users to upload their own frontend backstage plugins to Harness IDP. This feature is behind the feature flag IDP_ENABLE_CUSTOM_PLUGINS. To enable the feature, please reach out to IDP team or contact Harness Support. [IDP-771]

  • Added the support to push code to the existing main branch of git providers in the Create Repo step under Developer Portal Stage, this stage is presently behind the feature Flag IDP_ENABLE_STAGE. To enable the feature, please reach out to IDP team contact Harness Support. [IDP-1944]

New features and enhancements

  • Added support for Workflow Executions in Audit trails. [IDP-1989]
  • Added support for CSV Downloads in Scorecards and Checks overview pages. [IDP-1932]

Bug Fixes

  • Fixed deletion of env variable while adding the new env variable during config updates. [IDP-2031]
  • Fixed the incorrect redirect from the getting started page, this now won't allow users to get into IDP overview page without completion of the onboarding steps. [IDP-1993]
  • Fixed the Scaffolder Backend Caching issue, this now would allow users to execute workflow templates with all default values without any authentication failure. [IDP-2001]

Version 0.19.0

🎁 In our latest release, we've added improvements to scorecards✨ and the clarity of audit trails 📊 – features you've been eagerly waiting for.

New features and enhancements

  • Added support for Audit Trails. [IDP-1280]
  • Added support for a new plugin Rafay Kubernetes Operations Platform. [IDP-1979]
  • Added support for connector types in Git based steps under IDP stage, which will allow users to toggle between public and private repositories. [IDP-1982]
  • Added support for entities annotation and harnessData from catalog-info.yaml to be added as variable(JEXL format) input in Scorecard Checks. eg., <+metadata.harnessData.branch> will fetch the value for the branch in the following YAML as catalog-info.yaml. [IDP-1964]
...
metadata:
name: idp-module
harnessData:
branch: develop
path: idp
priority: P0,P1
annotations:
jira/project-key: IDP
...

Bug Fixes

  • Fixed the issue with side Nav items display, when user switches from old to new Nav using "New Navigation Design (Beta)" toggle. [IDP-1964]
  • Fixed the issue with scaffolder task missing "created by" with adding a migration that will correct the data eventually. [IDP-1961]
  • Fixed the issue with Backstage Permissions Sync Job Bug. [IDP-1980]

Version 0.18.0

🎉 Happy New Year to all our fantastic users! 🎉 Since it's the first release of the year, we've wrapped up some interesting features for you, including a new Devtools Plugin and revamped access control permissions.

New features and enhancements

  • Added support for new custom action, that can execute pipeline with custom webhook based triggers.

  • Access Control is revamped with new roles (IDP Admin and IDP Platform Engineering) and permissions.

  • Added support for persistent platform favorites, which allows users to star their most visited pages and also it gives information on the recently visited pages.

  • Enhanced the custom project picker to increase the hard limit of 50.

  • Added support for regex in file name input in Scorecards.

  • We now have a new intuitive Plugins Page.

December 2023

Version 0.17.0

Jingle bells, jingle bells, jingle all the way to Harness IDP's End-of-Year Release! 🛷 As we close the chapter on a year of incredible milestones, we want to express our heartfelt thanks to our amazing customers and prospects. Your support, feedback, and enthusiasm have been the North Star 🌟 guiding us in enhancing and evolving Harness IDP. The debut of our new module and the strides we've made together are testaments to your invaluable collaboration and spirit.

In this release, we're excited to unveil features like the HTTP actions support in the scaffolder-backend 🌐, the innovative Developer Portal stage for seamless self-service flows 🚀, and the integration of OPA/Governance policies to ensure streamlined and secure management 🛡️. Plus, we've squashed some pesky bugs 🐛 to make your experience smoother than ever!

Early access features

  • Added a new stage, specifically for IDP, knows as Developer Portal to help with the self service flows (presently this feature is behind a Feature Flag) [IDP-1425]

  • Added a Cookiecutter step to enable use of cookiecutter based templates in the IDP stage.[IDP-1437]
  • Added a step to register software components in IDP catalog.[IDP-1438]
  • Added a step to create a repository in your git provider and push contents along with catalog-info.yaml. [IDP-1436]

This feature is behind the feature flag IDP_ENABLE_STAGE, also has dependency on other services which might delay it's releases until those services are on their latest release. To enable the feature, contact Harness Support.

New features and enhancements

Bug Fixes

  • Fixed support for special character “-”(hyphen) in the URLs.[IDP-1804]
  • Fixed URL replace in JIRA Plugin to fetch host details.[IDP-1863]
  • Fixed display of Secret deleted error message added on OAuth Page. [IDP-1811]

Version 0.16.0

🌟 "Ho, ho, ho! Santa's elves aren't the only ones delivering gifts this season! 🎅 In our latest release, we're decking the IDP with some shiny new home page and jolly additions to our scorecards.

New features and enhancements

  • New Parser for file contents of git providers(GitLab and Bitbucket) to support new data points in git-providers datasource. [IDP-1691]
  • New data points added to extract, filter and match file contents in git providers data sources.[IDP-1682]

Fixed Issues

  • Fixed data non-availability in Bar charts for single-component scorecards.[IDP-1698]

November 2023

Version 0.15.0

Since last release, we have released some interesting docs and video tutorials to help you get started with Harness IDP:

New features and enhancements

  • The new overview pages for Scorecards and Checks have API support added to it.[IDP-1482]
  • Added support for two new Plugins OpsGenie and Datadog Plugin.[IDP-1662] [IDP-1351]
  • We have released a new Harness Service Reliability Backstage Plugin, that tracks the SLOs and Error Budgets for monitored services in Harness SRM module

Fixed Issues

  • Improved error scenario Handling in HarnessProcessor, with removal of irrelevant raw error metadata. [IDP-1663]
  • Resolved the error related to creation of a new check having the same name as a deleted check. [IDP-1450]

Version 0.14.0

Backstagecon & Kubecon is round the corner, consider catching up with Harness' team in the event at Booth B15. Also here's a sneak peak of what's happening in this year's edition of the event. Here's some of the content updates:

New features and enhancements

  • We've introduced more explicit error messages when removing secrets to ensure users are fully aware and cautious of this action. [IDP-1520]
  • Backstage, powering the IDP platform has been upgraded to v1.17, take a look at the release notes to find out the updates in this version.[IDP-1179]

Fixed Issues

  • Fixed text overflows on the “Create Scorecards” page. [IDP-1417]
  • Fixed page navigation for IDP get-started page by adding the exit icon. [IDP-1524]

October 2023

Version 0.13.0

Post-Limited GA, we've taken your genius tips and mixed them into the Internal Developer Portal. Also, we've fixed a few bugs along the way. Dive in and see what's new! But before that here are some links of recently released tutorials and docs to help you get started with IDP.

New features and enhancements

  • Scorecards now support additional data points for GitHub data source, to support advanced GitHub Security features and GitHub Actions [IDP-1408]

    • Advanced GitHub Security
      • Open Dependabot Pull Requests
      • Code Scanning
      • Security Scanning

    • GitHub Actions
      • Workflow Count
      • Successful Workflows
      • Time to complete Workflows
    • Other
      • Number of open pull requests by author
  • Improved Error message for DSL response to handle multiple input values [IDP-1410]

Fixed Issues

  • Fixed connector selection issue in the onboarding wizard. [IDP-1363]
  • Fixed the Operator for Jira Default Expression as jira.issuesCount > 5 in Jira Plugin.[IDP-1357]
  • Fixed Datapoint identifier mismatch[IDP-1152]

Version 0.12.0

IDP has now graduated from Beta. During Unscripted in September, we made a series of announcements. Here are some quick links for your recap.

New features and enhancements

  • Scorecards are now launched for everyone. It contains several data sources and data points within the framework. There are default checks for you to use. You can create custom checks as well. Read more, Watch this video tutorial to know more.
  • Backstage is now upgraded to v1.16.
  • EntityRelationWarning is now available to be used in Layout. You can add this in your layout so that a warning alert is displayed if the entity has relations to other entities, which don't exist in the catalog. See example. [IDP-993]
contents:
- component: EntityRelationWarning
  • New Plugins support available in IDP
    • Grafana - Associate alerts and dashboards to components. Read more here [IDP-915]
    • SonarQube - Components to display code quality metrics from SonarCloud and SonarQube. Read more here [IDP-1249]
  • Every plugin page now has a plugin docs available. [IDP-923]

Fixed Issues

  • Improved Error message when pipeline is configured wrong in IDP Software Templates. [IDP-1230]

September 2023

Version 0.8.0

New features and enhancements

  • 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. [IDP-887]

  • The following UI pickers are now available for use in software templates:

    • HarnessOrgPicker
    • HarnessProjectPicker

    You can use these UI pickers in service onboarding workflows for developers to easily select a Harness project and organization. Take a look at this example. [IDP-868]

July 2023

Version 0.7.0

What's new

  • IDP now includes the Confluence search plugin to include results from Confluence spaces. To learn more, go to the plugin documentation. (IDP-845)
  • The harness:create-secret and harness:delete-secret template actions are now available for use in IDP software templates. You can use these actions to receive a secret from a developer, create a Harness secret, and then use it as a pipeline variable to provide runtime input. For more information, go to the tutorial (IDP-780)
  • The interval at which IDP polls Git repositories associated with the software catalog has increased from 5 minutes to 15 minutes. (IDP-749)

Fixed issues

  • When you used a delegate to connect to a Git provider, the Docs tab failed to load, and the following message was displayed: Failed to build the docs page: TAR_BAD_ARCHIVE: Unrecognized archive format. (IDP-687)

    This issue is now fixed.

  • If you used a GitHub connector that used a Github App for API authentication and if the private key was a text secret, the catalog import in IDP failed. The failure was caused by Harness Secrets Manager not storing the specified private key with line breaks, which IDP expects along with proper indentation. (IDP-850, ZD-47845)

    Harness Secrets Manager now formats text secrets properly for text secrets used with IDP.

Version 0.6.0

What's new

  • You can now access IDP catalog APIs by using the Harness X-API-Key. For more information, go to API access. (IDP-768)
  • A newer version of the Harness CI/CD plugin has been added with new annotations support. It's now possible to filter pipelines across projects and orgs. For more information, go to the plugin's readme. (IDP-758)
  • The Harness Feature Flags plugin is now available in IDP. (IDP-778)
  • The trigger:harness-custom-pipeline action on the software template template.yaml is now synchronous with pipeline execution. The action keeps running during pipeline execution, and it shows the current status of the pipeline.
  • Since the trigger:harness-custom-pipeline is now synchronous, you can use the catalog:register action in a template and register the newly generated software component's catalog-info.yaml.

Fixed issues

  • Fixed a bug with access control around de-registering a software component. (IDP-757)

June 2023

Version 0.5.0

What's new

  • The Backstage version has been upgraded to 1.14. (IDP-632)
  • The following GitHub-based plugins are now available in IDP:
  • IDP now includes support for GitHub and Google OAuth applications. You can configure a GitHub or Google OAuth application in the IDP Admin view. These applications are used by the GitHub-based plugins to use the logged-in user's credentials when making API requests. (IDP-676, IDP-661, IDP-647)
  • IDP now supports a URL allowlist. If the catalog-info.yaml references API definitions that are hosted on a provider other than your Git provider, add the URL to the allowlist. (IDP-648)

Fixed issues

  • Improvements have been made to reduce the time required for onboarding to the IDP module. (IDP-649)