Internal Developer Portal release notes
Review the notes below for details about recent changes to Harness Internal Developer Portal.
- 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.
-
Blogs: Introducing new Catalog Ingestion APIs to make Harness IDP truly yours
-
New Docs: Get started with IDP, Harness IDP Overview, Catalog Metadata Ingestion API, Usage of Catalog Metadata Ingestion APIs, Custom Dashboards
-
New Videos: Our team presented a talk on "Architecting Multi-tenant Backstage Instances in a Shared Kubernetes Cluster" at the recently held Backstagecon Europe.
New features and enhancements
-
We now support a new git integration framework, which will allow users to have multiple connectors, with different host name, for a single git provider at once. For eg., Users can now use connectors for both
github.com
andgithub enterprise
to fetch entity yaml from both the sources at the same time. [IDP-2213] -
We have added support for a new Workflow UI Picker,
EntityFieldPicker
using which users can use the data present in catalog as an input for the workflows. [IDP-2441] -
We have added a new plugin, to support GitHub Codespaces integration in the software catalog.[IDP-2469]
-
Added support for MkDocs plugins and extensions in the TechDocs. Here's the list of plugins added.[IDP-2540]
-
We have enhanced the
harness:delete-secret
custom action to support deletion of secrets added as runtime inputs. [IDP-2492] -
We now have Audit trails support for all the git integrations. [IDP-2419]
-
Custom Dashboards are now available to use in IDP. We have support for few OOTB dashboards as well. [IDP-1456]
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.
-
Blogs: Why Harness IDP, powered by Backstage, is Your Gateway to Effortless Developer Portal Excellence
-
New Docs: Custom Card Plugin, Catalog Entity YAML Examples
-
New Videos: Custom Card Plugin, Workflow Upgrades
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 incatalog-info.yaml
to anuser
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
, andspec
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 theshowOutputVariables: true
underinputs
and addingoutput
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.
-
You can directly mention the output variable name
${{ steps.trigger.output.test2 }}
, heretest2
is the output variable name we created in the pipeline. -
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 partpipeline.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 Docs: Use Harness IDP for self serviced Harness CI/CD onboarding, How to build Frontend Backstage Plugins, Custom Dashboards
-
New Videos: Create a New Python Lambda app using Harness IDP in 5 minutes
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 astrue
. [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 underprojectPickerRef
as dependencies, if it's name is other thanprojectId
. When properties have the project key and are named asprojectId
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'