Skip to main content

Changelog 0.5.0+

UI

Changelog v0.8.0

[#583] Infrastructure list on "add new policy" not correct

Bug fixes

Fix bug on the policy infrastructure list including the version number.

Related issue

Closes #583

[#737] Add new autotests

New features and improvements

  • Add test which checks templates section (existing data products, cloning, register new)
  • Updated chrome driver to 109.0.0
  • Fixed 03_03 test, but with the restriction by certain steps (deploy, release, undeploy steps until the test of the control panel worked correctly)

Closes #737

[#734] Deploy for invalid numeric string

New features and improvements

Change the way to parse YAML before passing it to the coordinator keeping the double quotes.

Bug fixes

Fixed a bug on invalid numeric string deployment.

Related issue

Closes #734

[#745] Descriptor preview not working on the policy error window, only for template policies

Bug fixes

The descriptor preview does not show correctly because the coordinator returns data in JSON format. Since, in the future, we will not use YAML anymore in the exchanged messages, we will now make the conversion inside the frontend.

Related issue

Closes #745

[#705] Display access to components when the user is in a group that has access to the component

Bug fixes

In a data product's page, the green checkmark that displays when a user has access to a component lights up even when the access is given to a group that the user is part of.

Related issue

Closes #705

[#747] Fix docker packaging error

Bug fixes

Fixed an error in the CI that prevented the correct generation of images.

Related issue

Closes #747

[#727] Fix advanced search error

Bug fixes

Fix bug on advanced search error. There is a mismatch between backstage types and what Lunr engine can handle about searching.

Related issue

Closes #727

[#661] Upload a CUE file on Safari browser doesn't work

New features and improvements

  • Refactoring dropzone component
  • Refactoring policy form
  • Bugfix on policy form when uploading .cue file from finder
  • General react fix: added span element around disabled buttons to avoid react errors at runtime

Bug fixes

  • Bugfix on policy form when uploading .cue file from finder
  • General react fix: added span element around disabled buttons to avoid react errors at runtime

Related issue

Closes #661

[#742] Fix Marketplace techInfo date and time parsing

Bug fixes

  • The date parsing is not considering the time when the dateString is a DateTime (e.g. ISO UTC instant format: yyyy-MM-ddThh:mm:ssZ, which is the supported format for technicalInfo metadata). Fixed the parsing function to handle both date and DateTime strings.

Related issue

Closes #742

[#736] Import Dependency graph from its npm package

New features and improvements

Import Dependency graph from its npm package

Related issue

Closes #736

[#674] Marketplace DP General Information box customization

New features and improvements

  • Added the possibility to specify a configuration field additionalGeneralInfo inside the app-config yaml files under mesh:marketplace:ui:outputPortPage and mesh:marketplace:ui:dataProductPage to specify additional fields that will be shown in a separate section of the corresponding General Information card of the Marketplace. The values of these fields can be static or parsed from the related descriptor. We use Nunjucks to perform the parsing.

Marketplace Module refactor

  • Generic components GenericField, GenericCard, InfoCardSection: improved code readability and code reuse.
  • Refactoring of Themes/types: organized in fixed folders/locations.
  • DependenciesCard component: fixed all-in-one multiple lines component.
  • Removed renderCustomProperty util: too complex and unnecessary.
  • Generic No Data Panel component: uniformed component style, message, and rendering.
  • Generic TechnicalInfoCard: shares the same logic used for GeneralInfo, removed old components.
  • Moved all graphql queries to a dedicated folder

Bug fixes

  • Fixed minor UI bugs.
  • Minor style improvements.
  • Fixed circular dependencies during the build phase.

Related issue

Closes #674

[#738] Change mapping to handle the new template format

New features and improvements

If the data product has the field spec.mesh.developmentGroup, when generating its descriptor it will use that field, otherwise uses spec.owner.

Related issue

Closes #738

[#719] Fixing autotests

New features and improvements

  • Fixing autotest according to the changed UI
  • Updated test 05_01 to improve the checking question tab
  • Added test that covered "General" section in release notes
  • Added test that covered "Supervision" section in release notes

Closes #719

[#698] Search is not working on all the fields name of the output port

New features and improvements

  • Introduced better handling of the metatags of the search elements.
  • Added a meaningful information icon that better explains how to perform searches.

Bug fixes

Fixed a bug on the search page when using output port schema fields

Related issue

Closes #698

[#640] Fix the display of access outcome notifications

Bug fixes

  • Remove JSON field for Access request informative response
  • Better format the notification text

Related issue

Closes #640

[#732] The "Data Products" tab is cut off and does not display correctly

Bug fixes

Fix the dashboard style that cut the card on the dashboard page.

Related issue

Closes #732

[#730] Unregister dialog has a horizontal scrolling bar

Bug fixes

Break long location in unregister dialog

Related issue

Closes #730

[#733] Data product ownership processor

New features and improvements

  • Adds new DataProductOwnershipProcessor which emits two relations: wb-dataProductOwnerOf and wb-dataProductIsOwnedBy based on the field spec.mesh.dataProductOwner of the data product.

Related issue

Closes #733

[#725] Wrongly displayed icons in the notifications list

Bug fixes

Fix wrongly displayed avatar initials on notification.

Related issue

Closes #725

[#726] Remove duplicated selectors

New features and improvements

Add some aria tags to the top menu voices.

Related issue

Closes #726

[#723] Rename witboost into witboost

New features and improvements

  • renamed all occurrences of "witboost" and "witboost" into "witboost" in the whole documentation.
  • renamed all packages and plugins starting with "wm" to "wb"
  • updated the documentation images removing the old witboost references
  • updated the logo in the UI as well

Breaking changes

  • updated the startup migration files to add mock entries with "witboost" as the product name

Related issue

Closes #723

[#702] Architecture doc enhancement

New features and improvements

Improved the "Architecture" documentation section by adding new content and images, and rewriting the existing chapter in a friendlier way.

Related issue

Closes #702

[#720] Refactoring of the Settings page

New features and improvements

Removed Appearance card

Bug fixes

Fix auth provider sign-in/out behaviour that was not user-friendly: the user was unaware of his/her logged-in status.

Related issue

Closes #720

[#722] Fix Custom Themes

Bug fixes

Fix the customers custom theme with the new style

Related issue

Closes #722

[#714] Add the Technical Information card in the marketplace Data Product

New features and improvements

Added the Technical Information card in the marketplace Data Products page

Related issue

Closes #714

Closes #721

Changelog v0.8.1

[#762] Add authorization in GET dataProductAccess

Bug fixes

Add authorization when calling GET dataProductAccess

Related issue

Closes #762

Changelog v0.8.2

[#840] UI does not display data catalog and data product validation errors

  • Added the possibility to display the data product and data catalog validation errors.

Related issue

Closes #840

[#820] Picker with except condition

New features and improvements

Entity Picker can now filter out unnecessary data/entries using code as shown:

domain:
title: Domain
type: string
description: the Domain of the Data Product
ui:field: EntityPicker
ui:options:
allowArbitraryValues: false
allowedKinds:
- Domain
excludeValues:
- domain:DPU
- domain:it

Related issue

Closes #820

[#813] Template info doc

New features and improvements

Added a tutorial for adding documentation to entities

Related issue

Closes #813

[#812] Cannot deploy a new version on Bitbucket

Fix control panel actions for bitbucket.

Creating the url to fetch files from the repository no longer happens using backstage.io/source-location annotations. The repoContentsUrl method of the RepositoryManager is used for which there is an implementation for each integration.

Related issue

Closes #812

[#790] Add custom sorting for the description column to ignore case

Bug fixes

Added a custom sorting on the description column on the data product catalog to sort ignoring case

Related issue

Closes #790

[#772] Schema in OP details is not scrollable

Bug fixes

Fix OP schema scroll

Related issue

Closes #772

[#778] Fix "could not load user information" error flashing

Bug fixes

  • Fix "could not load user information" error flashing
  • Fix "Could not load Data Product Instance" display error

Related issue

Closes #778 #735

[#773] Add trim in IdentifierPicker

New features and improvements

The trailing and leading dashes are removed from the identifier when there is a leading/trailing space in the name

Related issue

Closes #773

[#752] Registering more than one component from one template

New features and improvements

Publishing in multiple repositories

It is possible to publish to more than one repository starting from one template. In that case, you would probably want to create two separate fetch, publish and register phases. Here we are introducing the input.sourcePath value in the publish phase which is used to read from the folder specified in the input.targetPath of the fetch phase so these two variables must be an exact match. An example of this is:

steps:
- id: templateOne
name: Fetch Skeleton + Template
action: fetch:template
input:
url: ./skeleton
targetPath: '${{ parameters.rootDirectory }}'
values:
...
identifier: '${{ parameters.identifier }}One'
destination: '${{ parameters.repoUrl | parseRepoUrl }}One'
...
- id: publishOne
name: Publish
action: witboostMeshComponent:publish:gitlab
input:
allowedHosts: ['gitlab.com']
description: 'This is ${{ parameters.name }}'
repoUrl: '${{ parameters.repoUrl }}'
rootDirectory: '${{ parameters.rootDirectory }}'
dataproduct: '${{ parameters.dataproduct }}'

- id: registerOne
name: Register
action: catalog:register
input:
repoContentsUrl: '${{ steps.publishOne.output.repoContentsUrl }}'
catalogInfoPath: '/${{ parameters.rootDirectory }}/catalog-info.yaml'

- id: templateTwo
name: Fetch Skeleton + Template
action: fetch:template
input:
url: ./skeleton
targetPath: '${{ parameters.rootDirectory }}/two'
values:
...
identifier: '${{ parameters.identifier }}Two'
destination: '${{ parameters.repoUrl | parseRepoUrl }}Two'
...
- id: publishTwo
name: Publish
action: witboostMeshComponent:publish:gitlab
input:
allowedHosts: ['gitlab.com']
description: 'This is ${{ parameters.name }}'
repoUrl: '${{ parameters.repoUrl }}Two'
rootDirectory: '${{ parameters.rootDirectory }}'
dataproduct: '${{ parameters.dataproduct }}'
sourcePath: 'two'
- id: registerTwo
name: Register
action: catalog:register
input:
repoContentsUrl: '${{ steps.publishTwo.output.repoContentsUrl }}'
catalogInfoPath: '/${{ parameters.rootDirectory }}/catalog-info.yaml'

output:
links:
- title: Repository
url: '${{ steps.publish.output.remoteUrl }}'
- title: Open in catalog
icon: catalog
entityRef: '${{ steps.register.output.entityRef }}'
- title: Repository
url: '${{ steps.publishTwo.output.remoteUrl }}'
- title: Open in catalog
icon: catalog
entityRef: '${{ steps.registerTwo.output.entityRef }}'

Be really careful NOT to use special characters(for example -) in the id of the publish phase!

Breaking changes

Introduced input.sourcePath value in the publish phase which is a new reserved keyword. For old templates, check that they are not using it already in order not to break them.

Related issue

Closes #752

Changelog v0.8.3

[#799] Wrong json parsing during audit

Bug fixes

Catch the error when the parser fails to decode the json to collect the information for the audit.

Related issue

Closes #799

Changelog v0.8.4

[#760] Super domain temp in Marketplace's DP Graph

Bug fixes

  • In the Dp Graph handle the case when a domain contains no data product but only other domains.

Related issue

Closes #760

Changelog v0.8.5

[#861] Marketplace tab needs catalog.entity.read permission

Bug fixes

  • Fix authorization request denied before checking if the entity requested needs no auth

Related issue

Closes #861

[#857] Commits and Snapshots are not created correctly

Bug fixes

The commit and the new snapshot operations were based on Backstage data, unlike descriptor generation which pulls the data from GitLab. With this refactor you can be sure that what you see on Preview Descriptor and on GitLab will also be committed/created with a new snapshot operation.

The descriptor is now updated correctly when creating new snapshots or commits. This behavior is fixed for both commits and also with new snapshots.

Related issue

Closes #857

[#790] Alphabetical order not always respected

Bug fixes

Order by on Domain name was ordering on the wrong column

Related issue

Closes #790

[#843] readsFrom and dependsOn urn are not updated when a new version is created

Bug fixes

This MR fixes a bug in a new version process. The MR allows you to evolve the versions of the components also contained in the readsFrom and dependsOn fields

Related issue

Closes #843

[#803] Catalog-info updates are not mapped in DP release

Bug fixes

When the input YAML contains multiple fields with the same names (differing only for casing) the catalog backend plugin rejects the registration by raising an error. Sadly, this affects also arrays where all the elements are strings, so an array like ["Test", "test"] would make the entity ingestion process fail.

Created a patch for @backstage/plugin-catalog-backend to avoid casing issues on the array.

Related issue

Closes #803

[#853] Typos in docs and UI

Bug fixes

  • UI: "For Request access" instead of "To request access"
  • Docs: Markdown not correctly formatted.

Related issue

Closes #853

Changelog v0.8.6

[#949] Make graphs in the Mesh Supervision page configurable

New features and improvements

Add configuration to hide graphs inside the mesh supervision page

Related issue

Closes #949

[#936] Better handling for dependsOn and identifiers

New features and improvements

This feature is meant to allow backward compatibility for the use cases where URNs that we are generating for dependsOnField are always lower_case but we had some old components that still have the camelCaseUrn

Related issue

Closes #936

[#788] RBAC error not so meaningful while registering a domain

Bug fixes

When you do not have permission to view an entity, display a Warning: Not found error instead of a not user-friendly error message.

Related issue

Closes #788

[#842] Fix the components fields overlapping

New features and improvements

The owner field in the data product/components page is now of ellipsis type so that it can be hidden but we had to wrap it inside a paragraph to do so

Related issue

Closes #842

[#864] RBAC group name is case sensitive

Bug fixes

  • Add some explanation to the documentation about the RBAC group name

Related issue

Closes #864

[#879] Solve dependency graph minor issues

New features and improvements

Use Roboto font and hide placeholders

Bug fixes

  • Remove the wrong font weight on domain labels
  • Remove placeholders from the graph sidebar

Breaking changes

Bump dependency graph version to 2.0.2

Related issue

Closes #879

[#816] Align string preprocessing between MarketplaceDomainPreprocessor and the method used to build the final descriptor

Bug fixes

  • Updated the domain id generation when adding a new domain in order to match the value coming from the Data Product descriptor when deploying a Data Product.

Migrations

Note: in order to make this fix work you need to refresh all the affected domain entities using the Witboost UI. This action will trigger the domain insert with the updated value.

Related issue

Closes #816

[#852] Remove the "v" present everywhere as a prefix of many labels

New features and improvements

Letter "v" or "V" that stands for version everywhere on the control panel is removed (before any version value e.g. v0.1-SNAPSHOT becomes 0.1-SNAPSHOT)

Related issue

Closes #852

[#877] Removed wrong prefix for error messages in the dialogs

New features and improvements

Patched the error message to "Error" instead of reading the class name (this.constructor.name) as they do in the source library.

Bug fixes

Strange letters will not appear before any error on the frontend.

Related issue

Closes #877

[#804] Integrate the new dependency graph version

New features and improvements

  • Integrate version 2.0.1 of the dependency graph.
  • Properties and configurations are still the same since inherit from the previous version.

Related issue

Closes #804

[#847] Fixes for Dynamic Analysis Result

New features and improvements

Removed the moment library and replaced it with luxon

Related issue

Closes #847

[#529] DependsOn and identifiers mismatch

Bug fixes

Fix bug on wrong identifiers generated for capital case letters found in domain entities

Related issue

Closes #529

Provisioning Coordinator

Changelog v0.7.0

[#200] Migration bug

Bug fixes

Fix the migration script

Related issue

Closes #200

[#167] Provisioning Logs service

Closes #167

[#196] Resolve default value for descriptor column

[#163] Fix data-product-level-provisioning that blocks the deploy

  • data-product-level-provisioning is not blocking anymore

Closes #163

[#175] Refactor persistence layer for provisioning task

New features and improvements

  • Added a script for migration to new schema
  • Added ExecutionPlanRepository, TaskRepository and StatusHistoryRepository
  • Modified ProvisioningPlanAdapter

Bug fixes

  • Fixed infrastructure template registration

Related issue

Closes #175

[#178] New "policy solution" module

New features and improvements

Added Computational Governance Platform modules in the codebase:

  • governance-platform module
  • governance-core submodule
  • governance-application submodule
  • governance-application-http submodule
  • governance-open-api submodule

Related issue

Closes #178

[#176] Tests improvements

#New features and improvements

  • Refactored most of unit tests for the coordinator

Related issues

Closes #176

[#186] New coordinator base image

New features and improvements

New base coordinator base image with already installed cue

Related issue

Closes #186

[#154] API versioning and retrocompatibility

New features and improvements

Added versioning in the API interface specification to not depend on the component version but following the convention "vX" for versioning and thus allowing support of multiple versions at the same time.

Breaking changes

The URL for the Coordinator APIs now are defined as /datamesh.provisioningcoordinator/v1/..., the version is tied to the API endpoint so some methods could have more than one version.

Migration

Modify the fixed Coordinator URL endpoint from /datamesh.provisioningcoordinator/{interfaceVersion} to only /datamesh.provisioningcoordinator and add the version number to the specific endpoint you're calling.

Related issue

Closes #154

[#174] Speed up CI time

New Features and Improvements

  • remove the step "Check Formatting", execute the command together with the test execution (this alone can save up to 3 minutes)
  • the script executed in the docker build runs a lot of slow stuff every time, this can be avoided by putting redundant operations in the base image

Related issue

Closes #174

[#184] Get provisioning plan returns too many tasks

Bug fixes

  • Fixed bug causing provisioning plan be more longer than needed

Related issue

Closes #184

[#183] Bug on provisioning persistence - error serialization

Related issue

Closes #183

[#182] Add private and public info to mocked specific provisioner

New features and improvements

Mocked Specific Provisioner now returns some sample data inside deployInfo

Related issue

Closes #182

Changelog v0.7.1

[#205] Fixed missing logs on failure

Bugs fixed

Fixed a bug that prevented logs from being displayed for failed tasks

Related issue

Closes #205

Marketplace Plugin

Changelog v0.7.0

[#44] - Refactor logging

New features and improvements

  • Added DEBUG logs every time a query is performed

Bugs fixed

  • Modified the logback.xml by enabling the INFO logs

Related issue

Closes #48

[#46] Api versioning and retrocompatibility

New features and improvements

Added versioning in the API interface specification to not depend on the component version but following the convention "vX" for versioning and thus allowing support of multiple versions at the same time.

Breaking changes

The URL for the MarketplaceProxy APIs are now defined as /datamesh.marketplaceproxy/v1/..., the version is tied to the API endpoint so some methods could have more than one version.

Migration

Modify the fixed MarketplaceProxy URL endpoint from /datamesh.marketplaceproxy/{interfaceVersion} to only /datamesh.marketplaceproxy and add the version number to the specific endpoint you're calling.

Related issue

Closes #46

[#45] Fix question removal

Bug Fixes

  • Removed delete_Question from delete API.

Related Issues

Closes #45

Changelog v0.7.1

[#50] Add 'specific' field in the descriptor on Hasura

Bug fixes

Added specific property in public and private descriptor

Related issue

Closes #50