Please note: the release version corresponding to the release date is that of the Backstage Open Source version. We encourage all customers to upgrade their Backstage instance to the latest version alongside their Spotify Plugins for Backstage upgrades. View Backstage Open Source Release Notes here.
October 2024 / v.1.32.0
Soundcheck
Feature
Added Custom Resources as a collectable fact type for the kubernetes plugin.
Added No-Code UI configuration option for GitLab and New Relic collectors.
Fixed
Fixed PagerDuty Integration Service Schema.
Security
Due to the continued identification of vulnerabilities related to jsonpath-plus, we’ve replaced the dependency with a different library - nimma.
Change
BREAKING: Special characters in the path parameter must be escaped.
For example: path: $.metadata.annotations[pagerduty.com/integration-key] must now be path: $.metadata.annotations['pagerduty.com/integration-key']
Added all groups to track and check insights filter selection.
The primary action for checks has been changed from "edit" to "view." on the checks page.
We now allow setting a Custom default title for the header bar through the title property of the RoutingPage.
Soundcheck will now only enable the execute check buttons for checks that it can actually execute.The button will be disabled if the check cannot actually be executed.
RBAC
No update
This plugin was not updated in this release.
Skill Exchange
No update
This plugin was not updated in this release.
Insights
No update
This plugin was not updated in this release.
September 2024 / v.1.31.0
Soundcheck
Feature
Overview Page Improvements.
Replaced tabs on the overview page with a dropdown menu, allowing users to select entity group and type.
Introduced a pivot toggle for viewing entities on the X-axis.
Implemented a text search bar to find entities by name.
Historical check status now includes a date for each entry.
Security
Due to a CVE with jsonpath-plus, Soundcheck has switched its JSON path evaluator to the nimma package. This is a breaking change. While most paths that are supported by jsonpath-plus are also supported by nimma, some advanced path queries may break and need to be updated.
Fixed
Fixed detection of rate limit errors for SCM collectors for some integrations.
Fixed an issue with applying lifecycle filters to track insights.
Fixed an issue where searching for a track/check/campaign by name was not redirecting to the first page of results.
Archived campaigns will no longer show up on various pages
Change
Adjusted Soundcheck header styling to show up better on certain backgrounds.
Soundcheck now Supports custom cert TLS config for redis queues.
RBAC
No update
This plugin was not updated in this release.
Skill Exchange
Fixed
Fixed a bug that occurred on Skill Profile and Embed pages when user profiles were null.
Change
Updated the Hack and Mentorship event forms to automatically detect and display images shared from Google Drive.
Enhanced filtering for catalog entities
Added support for additional filters via new configuration options:
Check templates are designed to streamline the check creation process, helping Soundcheck users get started quickly with pre-filled configurations. Users still have the option to create their own custom checks if desired.
Getting Started With Soundcheck.
Soundcheck now has a welcome page which provides actions targeted towards new users. These actions will guide them to relevant introductory tasks, enhancing their experience by offering guidance during their first interactions with Soundcheck.
Acess this new page via the link on the banner of any other Soundcheck page.
New Tooltip for NL Badges
If an entity is not certified at any level, a tooltip will appear on hover to indicate the entity's uncertified status and provide guidance.
Fact Collectors can now return Collection Errors that will be visible on the UI.
Soundcheck now supports default SCM and Github collector configurations on startup that collect the facts necessary for the pre-canned tracks and checks. Users have to set the following flag in the config before starting backstage.
Support previously YAML only features in Check Form:
Added ‘NOT’ expression to rules input in check form
Added Operator prefixes all:, any:, none: input to Check Rule operator inputs. This allows for checking all the elements in a fact value that is an array.
Added Fact and List rule value inputs to Soundcheck Check form.
Added PathResolver to Check Form.
Added No-Code UI configuration option for DataDog, Jira, Kubernetes, PagerDuty, SonarQube and SCM Fact Collectors.
Fixed
Fixed the 'View Detail' button to show a disabled view if the check is not defined in Soundcheck. This occurs when the check result is submitted directly via the API or added directly to the database.
Soundcheck forms for Check Tracks and Campaigns are now a regular page. Create pages now have a route, i.e. /soundcheck/tracks/create.
Improved the performance of check result aggregations.
Fixed an issue that could cause fact collectors to have their configuration set more often than necessary.
Resolved an issue where the ‘exists’ extractor could cause a NotFoundError rather than determining that the file does not exist.
Fixed an issue for excessive error message lengths for check results.
Change
We have renamed the 'Collectors' tab to 'Integrations' to improve user understanding. This is a UI-only change; the backend will continue to refer to 'collectors’.
Moved Campaign view page off of full screen dialog into its own page.
Collector configurations now merge the configurations provided in YAML with the configurations provided via the UI allowing them to be overridden.This allows config options like secrets to be provided in the YAML (or Config manager) but things like collection configs to be provided via NCUI.
Check Form owner select now auto selects the logged in user by default.
Optimized and replaced owner select on Track, Check, and Campaign forms with autocompletes.
Kubernetes Fact Collector now collects facts on entities with either the backstage.io/kubernetes-label-selector or backstage.io/kubernetes-id annotation. Before, the backstage.io/kubernetes-id annotation was required.
Kubernetes Fact Collector better supports collecting facts on a k8s cluster registered in the Backstage catalog.
Soundcheck Page Headers are now dynamic based on the current page.
Migrated soundcheck backend modules to the new auth system.
RBAC
No update
This plugin was not updated in this release.
Skill Exchange
Feature
Mentorship events are released. This is a new feature that will enable event post creation, deletion, and association for mentorships. Individual mentorship posts can now be associated with a mentorship event to group a subset of mentorship posts together.
Adopters can configure a set of remote URLs that contain configuration files that Skill Exchange can read from. This allows adopters to host their configuration for embed priority levels, skills and locations separately.
Fixed
Profile Search on the home page of the Skill Exchange plugin now has a configuration option added. When enabled, this will allow the search to make use of the Search APIs filters, improving results for certain search engines. To enable, add the following configuration option to the plugin config:
skillExchange:
useFilteredProfileSearch: true
Theme colors across Skill Exchange were updated for improved readability and consistent use.
Icon colors were updated for improved accessibility and theming across Mentorships.
Change
Removed deprecated skillIngestion from config. Please refer to defaultLists in the docs.
Insights
No update
This plugin was not updated in this release.
July 2024 / v.1.29.0
Soundcheck
Feature
Soundcheck now has a new Check Insights page allowing users to view compliance for a check across their Software Catalog.
Added a sticky header with entity names to the Soundcheck Overview page
Soundcheck now supports authoring checks which validate the elements of arrays.
Prefixing an operator with all: will validate that all elements in the array satisfy the condition.
Prefixing an operator with any: will validate that at least one element in the array satisfies the condition.
Prefixing an operator with none: will validate that no elements in the array satisfies the condition.
Soundcheck can now be extended with custom path resolvers. Path resolvers are used to extract values out of facts for comparison within checks. By default Soundcheck uses JSON Path, however this can be overridden on a check by setting the pathResolver. Soundcheck now supports the following path resolvers: jsonpath (default), lodash, jmespath, jsonata.
Added support for collecting facts from glob paths for the SCM fact collector.
Added clearer labels for the overview page tabs when there are categories with the same type.
Improved the performance of track insights by adding configurable batching and a batchSize option to the entity caching options to control how many entities are pulled from the catalog at a time when refreshing entity caches.
Soundcheck now enqueues fewer certification jobs in response to check result updates, reducing the number of calls it makes to the software catalog.
Rule operator input in the create new check form now allows a free form string to be inputted to use custom or advanced operators
An entity is now considered certified in a level if there are no applicable checks for the entity within that level.
RBAC
No update
This plugin was not updated in this release.
Skill Exchange
Fixed
Search bar position on embeds and mentorships.
Hack event duration can be updated to a permanent event.
Insights
No update
This plugin was not updated in this release.
June 2024 / v.1.28.0
Soundcheck
Feature
Soundcheck now supports the ability to execute checks on demand from the Entity page.
Added support for 'not' conditions in Check rules via yaml.
Updates the 'Does Not Contain' array operator to return true if the array is missing/undefined.
Added an 'error' state to possible check result states. If errors are encountered when executing a check, the error will be shown in the check details section in the entity overview.
SCM Fact Collector now supports conditional calls with e-tags. The fact collector will automatically handle 304 Not Modified status codes to reduce the overall api usage. If using the old backend system users will need to include the PluginCacheManager when using this version.
Fixed
Fixed the check progress indicators on the Soundcheck overview page and the campaigns pages to show total progress instead of page progress.
Fixed an issue where multiple backstage instances running Soundcheck would see only one instance pick up changes for remotely provided configurations, including checks, tracks, and the SCM configuration.
Fixed an issue where the horizontal scroll bar would be hidden if there were many entities on the overview page.
Ensures that the group tab in tech health displays only groups and no other types of entities.
Change
Updated the SCM regex facts to accept an optional flags definition, which must match:/^[gimsuy]+$/
RBAC
No update
This plugin was not updated in this release.
Skill Exchange
Feature
Changed scrollbar background colors to match the rest of the layout components.
New experimental feature to display metrics for your hack events. Customers can now access charts covering various KPIs and export data to spreadsheets. To enable, toggle the skill-exchange-enable-hack-metrics feature flag from the Backstage settings.
Fixed
Resolved issue in Hacks where the scroll position in lists was not preserved during navigation.
Resolved issue on skill profiles page where users were not able to scroll the page.
Insights
Feature
Feedback: Backstage champions can now run pop up surveys to collect attitudinal data from Backstage users and understand more about their development experience.
Fixed
Fixed a bad link in the user engagement headline card.
Fixed an issue where the names of entities are not being output correctly using the presentation API
May 2024 / v.1.27.0
Soundcheck
Feature
Soundcheck now integrates with Gitlab collecting facts and building checks based on data directly from GitHub
Added tooltip showing counts on the track insights pages for pass rates
Added an exists operator which validates whether data exists at a given path within a fact
Users can now export tracks and checks to yaml from the UI. Exports can be performed via the drop down menu on the Track and Check cards on their respective list pages
Fixed
Fixed discrepancies in Tech Health numbers.
Resolved an issue with certification writes and added migration scripts to correct any erroneous rows that have already been written.
Fixed an issue that prevented use of the grid view on Soundcheck Tech-Health pages.
Resolved an issue that can sometimes occur when reading persisted Tech Health filters from local storage.
Pressing the 'View Campaign' button sent to Slack by Soundcheck no longer shows a warning icon next to it when pressed
Minor performance improvements to the Track Insights page.
Fixed RateLimitErrors being incorrectly logged as fact collection failures.
Fixed parsing of factNames that contain /
Scopes within fact ref strings can now contain / and : by enclosing the scope in single quotes. For example: scm:'my/branch'/test.
Fixed a problem when, in some cases, fact scope is not respected by SCM fact collector.
Fixed a problem when, in some cases, fact scope is not respected by Github fact collector.
Fixed an issue where the Slack integration was attempting to connect even when no credentials were provided.
Change
Added Operator and filter extension points for the new backend system
Standardized caching by making minor changes to how github collector caches facts
Made the factName configuration parameter optional for all SCM collectors, Azure DevOps, GitHub and GitLab Fact Collectors.
Added edit option to the drop down menu on summary cards for checks, tracks and campaigns page
The rule input field in the Check form for creating and editing checks will now cast string values for booleans and numbers when the form is submitted.
Added theme overrides using the following component name CheckResultStateBox for customization of the check result box in the Soundcheck tab of the component pages.
The following check status states are available for override:
Passed
Failed
Warning
notReported
notApplicable
RBAC
No update
This plugin was not updated in this release.
Skill Exchange
Feature
Custom thumbnails for hacks can be created from a new extension point. The thumbnail is generated from hack metadata and returns a URL to the thumbnail image.
When a generator is registered, a panel will be included in the hack forms that allows the user to trigger the thumbnail generation. The generator will be called with the title and pitch of the hack, and the URL returned will be used as the thumbnail for the hack post.
This feature is currently in alpha and it is very likely to change in the future.
A new configuration setting allows integrators to enable voting for the same hack in multiple categories.
To activate this feature, add the skillExchange.experimental.allowMultipleVotesPerHack flag to your app-config.yaml file.
Hack followers are now visible on the hack details page.
Fixed
Fixed an issue with hack card display in search suggestions.
Fixed some spacing issues with the new layouts in Hacks and Embeds views.
Change
Enhanced the Tag input field on the hack input form for a smoother user experience. Now, values remain saved even when the field is deselected, eliminating the need to press enter.
Enhanced visual styling of the hack list view.
Refined error messages in the hack form for clearer input guidance.
Improved hack form usability by highlighting required fields.
Insights
Change
Made some improvements to the way the configuration schema is handled
April 2024 / v.1.26.0
Soundcheck
Feature
Soundcheck can now integrate with Jira, collecting facts and building checks based on data directly from Jira
Soundcheck can now integrate with Azure DevOps, collecting facts and building checks based on data directly from Azure DevOps
Added support for a new fact type “Incidents” to PagerDuty fact collector
Soundcheck’s Track Insights view now takes track and check applicability into account
Added the ability to override the default initial delay for collections in Soundcheck by providing an initialDelay within a CollectionConfig
Fixed
Fixed an issue in Soundcheck with limiting executions of scheduled checks when rate limit errors are encountered
Fixed issues with data discrepancies when viewing Tech Health results by adding timed tasks which will remove results from latest and history for (a) any entities that are no longer present in catalog and (b) any checks that are missing in the latest tables
Fixed an issue that can occur when Soundcheck is interrupted on startup and which may cause data discrepancies between history and latest when viewing the Tech Health results
Fixed an issue where scheduled checks created through Soundcheck’s No Code UI would apply to more entities than specified in the filter
Fixed an edge case where the Soundcheck overview page could paginate out of order
Fixed an issue in Soundcheck limiting the exporting of the full dataset available in Soundcheck’s Tech Health view
Fixed an issue in the filter dropdown where owner names could be displayed incorrectly
Fixed a pagination issue in Tech Health limiting entities and team pagination from functioning in Soundcheck
Change
BREAKING: For users still using the legacy backend for Backstage, to maintain functionality of the SCM collector, they will need to update the ScmFactCollector in packages/backend/src/plugins/soundcheck.ts:
Soundcheck now has tooltips to notify users they may not have the ability to configure Collectors that have been defined in YAML
Removed a configuration option to enable the non-virtualized Soundcheck Overview table
Removed the createUrlReader utility method (previously used by other Soundcheck packages to construct a UrlReader)
Improved the accuracy of how Track progress is calculated from Soundcheck’s Track Insights view
RBAC
No update
This plugin was not updated in this release.
Skill Exchange
Feature
Newly redesigned cards for Hacks and Events and enabled customization of card styles using the theme overrides. The component and their rules names are:
SkillExchangeCard - The main card container.
root
SkillExchangeCardTitle - The card title.
root
SkillExchangeCardMedia - Card images.
root
SkillExchangeCardActions - The card button container.
root
SkillExchangeCardDescription - Cards descriptions are typically used for the large text content of the card, such as Hack or Event descriptions.
root
content
SkillExchangeCardActionArea - The card action area is used for the primary interaction of the card, such as clicking the card to navigate to a new page. It typically covers the cards title and description.
root
Google Slides, Loom videos, and videos shared from Google Drive can now be seamlessly viewed directly within the Hack details view when added as demo or pitch resources.
Fixed
It’s now possible to add labels to Hacks and Events resource links
Fixed a performance bug in the Hack lists views
Insights
Feature
It’s now possible, using app configuration, to filter metrics based on the host where they were collected
The plugin UI is now better optimized for the default Backstage theme and should better respect theme customizations.
New landing page: Headlines
Headlines is a high level overview of the most important insights
You can find detailed Users, Catalog, Templates, and Search dashboards under the “Usage” page
Fixed
Fixed a bug that resulted in rare and sporadic 500 errors during data collection
Fixed a bug that could cause entity names to be rendered incorrectly (this now leverages the entity presentation API)
Tooltips have been improved throughout all visualizations
Pulse
No update
This plugin was not updated in this release.
March 2024 / v.1.24.0
Soundcheck
Feature
Soundcheck can now integrate with New Relic, collecting facts and building checks based on data from New Relic.
Added filters to the Track Insights page. Adopters can now filter Track Insights by owner, lifecycle, type and/or system.
Adopters can now view a preview of the entities that will be affected by filter selections when creating checks, tracks, and campaigns
Soundcheck’s distributed job queue’s Redis connection now supports TLS and Redis connection URLs.
Soundcheck’s SonarQube integration now supports multiple instances and can collect facts on SonarQube measures.
Fixed
Fixed the campaign link on the card view of the Tech Health Campaigns page.
Fixed overview page route history. Browser controls (such as the forward and back buttons) now navigate the overview page correctly.
Fixed an issue with level progress bars on the Track page that caused them to only ever show 0 or 100%.
Fixed the results table width on the Soundcheck Overview page.
Resolved an issue related to transitive owner filtering.
Resolved an issue related to the caching of certain frontend queries.
Resolved an issue with aggregation queries which involved a track with filters.
Change
Improved the performance of the Tech Health and Track Insight pages.
Certifications which are triggered by result updates now enqueue certification jobs for improved performance.
Modified the Track Insights page so that the owner filter options display group names rather than their entity references.
RBAC
No update
This plugin was not updated in this release.
Skill Exchange
Feature
The main navigation tabs, search bars, and filter sidebar for Hacks, Embeds and Mentorships have been made sticky when scrolling, so it's easier to use these controls when viewing pages with lots of content.
The Hack and Event navigations tabs have been combined into the main header to save screen real estate.
Fixed
Removed support for the legacy Skill Exchange Docker backend service. Support for this service has been deprecated since version 0.9.0, and disabled by default. Any users still using the legacy backend service should migrate to the new Node.js backend service using the instructions here.
Fixed style issue with Hack sidebar navigation when using the dark mode theme.
Fixed a bug where commas in Hack names were not being escaped when exporting vote results as a CSV.
Insights
Feature
Data rows across all dashboards now show totals in addition to per-day aggregations.
Tooltips have been added to trends to help clarify their meaning.
Fixed
Fixed a bug that prevented the expected HTTP status codes from being sent for all HTTP errors.
Fixed a bug that prevented user group facets from showing group names in place of their entityRefs.
Pulse
No update
This plugin was not updated in this release.
February 2024 / v.1.23.0
Bundle
Feature
The new Backstage backend system is now supported by the following plugins:
RBAC
Soundcheck
Insights
Skill Exchange
This new backend system was built to make it simpler to install backend plugins and keep projects up to date. It also changed the foundation to one that makes it a lot easier to evolve plugins and the system itself with minimal disruption or cause of breaking changes.
Benefits to bundle plugin users
Simplified Installations
Sane Defaults (Easier for adopters who already use the above plugins to keep them up-to-date)
Extending Plugins
Developer Friendly
No migrations or updates are required at this time; customers may continue to run their Backstage backends using the “old” system without issue. If you are already running the new backend system, or plan to migrate in the future, you can find instructions on how to install our plugins in the new backend system in our docs for example.
Soundcheck
Feature
Soundcheck adopters can now view insights for tracks to help them understand which checks within their tracks need attention along with an entity view that helps them understand the % of checks passing against each entity.
Soundcheck Overview Page: Campaign cards have been redesigned to appear in a collapsible accordion. The information shown on the cards now aims to give a quick high level summary of the campaign's progress.
Campaign Details Page: The progress of the campaign shown on this page now closely mirrors the same grid view of the Overview page. Users will now be able to see how entities are progressing on a per-check basis.
Campaign Notifications: Added optional support for campaign email notifications.
Tech Health updates
All filters on the Tech Health pages have a tooltip with a description of what each filter does.
Limited the number of filter options being rendered to improve performance.
Fixed rendering issues with Tech Health filters under the dark theme.
Improved Tech Health caching and overall performance.
Added warning field to a check definition (both YAML and No Code UI). This generates warning outcomes rather than outright failures. A warning suggests that the check did not pass successfully, however, this discrepancy will not impact the entity's certification at the given level.
Added in breadcrumb navigation for Soundcheck.
Checks and tracks can now be stored in files and referenced by URL. This will enable configurations to be stored and retrieved via URL (such as within a Github repo) for these Soundcheck configurations.
Soundcheck's functionality can now be extended by providing it with custom operators.
A default Entity Owner for Soundcheck Tech Health filters is now automatically selected
We've enhanced the system by introducing dynamic rate limit management for Sonarqube, Pagerduty, SCM, Github, and Techinsights TPI fact collectors. Now, these TPI fact collectors emit RateLimitErrors when they encounter 429 errors. In response to this, Soundcheck will pause and retry rate limited requests.
Fixed
Fixed ‘Days left’ calculation for campaigns.
Fixed campaign deletion Slack notification not being sent
Fixed an issue that was causing a warning on several Soundcheck pages.
Graceful handling of slack API connection errors
Fixed an issue where using the search by name feature of the Track library would only search the current page.
Resolved an issue with the check validation schema.
Front-end validation for descriptions are now more consistent with YAML and backend.
Updated catalog utils to leverage one another rather than calling catalog directly.
RBAC
No update
This plugin was not updated in this release.
Skill Exchange
Feature
Introducing the new and updated Skill Profile skill edit experience, users will now be able to select from a list of suggested skills based off of their current skill selections.
Skill suggestions
Suggested skills are powered by other users who have similar skill sets.
Suggested skills are also powered by discipline associations defined in the skill ingestions YAML. See below for more information.
Skill ingestion
Skills through ingestion are now treated as the source of truth for all skills used throughout Skill Exchange, rendering previously user created custom skills obsolete.
User created custom skills will now be deduped as long as a skill with the same name is defined in the skill ingestion YAML.
Skills can now be defined with two extra optional fields: subset and disciplines. Please refer to the Defining Skills for Ingestion section for more information.
On the Hack events page, events are categorized by 'Ongoing', 'Upcoming' or 'Past', to easily identify which events are currently running.
Insights
Fixed
Corrected labels to match the aggregations used on displayed values.
Changed the curve smoothing on the Insights charts to better represent the data being shown.
Change
Added tooltips to the main charts to help inspect the data points.
Minor improvements to the trend label to indicate when there is no change.
Pulse
No update
This plugin was not updated in this release.
January 2024 / v.1.22.0
Soundcheck
Feature
SonarQube integration plugin supports the extraction of the following facts:
Projects
Project Tags
Issues
Soundcheck’s Tech Health Page now includes a filter for Entity Systems.
Added a defaultSelectedGroupType configuration option to pre-select a group whose spec.type equals the configured type in the group selector on Soundcheck overview page. To enable this option, add the configuration to your app-config.yaml:
soundcheck:
overview:
defaultSelectedGroupType: team
Users will now be informed when their search filters do not match any entries in the check or track libraries.
Users on the campaign's edit form are now able to click on any step heading to go to that step.
The Soundcheck overview page will persist and restore the users’ last selected group.
Added a field to the track creation form in No-Code UI for a "Documentation URL".
If users want to improve Soundcheck Tech Health page performance they can enable data caching.
Caching can be configured using the configuration show below:
# The configuration should be added to the soundcheck portion of app-config.yaml:
soundcheck:
techHealth:
caching:
trends:
enabled: true
cacheTtl: 720
snapshots:
enabled: true
cacheTtl: 15
caching: A section in which caching per data type can be enabled/disabled. Default value is 'true' for both types.
trends: A section in which trend data caching can be configured.
snapshots: A section in which snapshot data caching can be configured.
enabled: A boolean value indicating whether caching is enabled for the data type. Default value is 'true'.
cacheTtl: The number of minutes for which the data will be cached, if enabled. Default value is 15 minutes for snapshots and 1440 (24 hours) for trends.
Added loading indicator to overview page.
In addition to markdown, check pass and fail messages now also support Liquid templating.
The following variables are available for use in templates:
entity - The entity the check was executed on.
facts - A map of facts used by the check. Individual facts can be looked up in this map by fact reference. For example, facts['catalog:default/entity_descriptor'].
Here is an example of a pass message using templates. In this example, Soundcheck would replace {{ entity.metadata.name }} with the name of the entity the check was executed on, and {{ fact.data.integrationKey }} with the PagerDuty integration key from the fact used by the check.
{{ entity.metadata.name }} has a PagerDuty Integration Key defined: {{ fact.data.integrationKey }}
Fixed
Resolved an issue that could cause errors related to attempting to delete rows from a table before it exists on startup.
Improved how the campaign owner name is displayed in Soundcheck Slack notifications.
Fixed issue where filters were editable when viewing a Check or Track in read-only mode.
Fixed issue that prevents users from viewing Checks and Tracks created via configuration file.
Improved the performance of the queries that power Soundcheck's Tech Health aggregations.
Fixed autocomplete for facts in the Check form so that options are now properly filtered.
Fixed an issue where certain collectors were showing the "Configure" button as clickable when it should have been disabled.
Fixed an issue with the loading state of the library pages in Soundcheck.
Fixed an edge case in getEntityPassRates. This resolves an issue in an edge case where no results match the given entity refs.
Change
Entity owner filters in the No Code UI will now allow all groups to be selectable, not just entity owners. This is useful in combination with the nested owner filtering changes introduced in a previous patch.
The /results endpoint used to POST check results to Soundcheck has been modified: the endpoint no longer returns a list of updated results back to the caller.
If callers still wish to use the old functionality they may add returnUpdatedResults=true as a query parameter to the endpoint URL.
As an example, instead of posting results to /api/soundcheck/results, a caller will now need to post to /api/soundcheck/results?returnUpdatedResults=true to get the same response as before.
This change minimizes often unused network throughput and reduces the amount of data that needs to be sent over the wire.
Added consistent usage of links for the owners of specific campaigns in Soundcheck.
Updated visibility for soundcheck backend's secret config values.
Soundcheck no longer allows unrecognized keys in configurations. This should make it easier to identify misconfigurations but may cause validation errors with existing misconfigured instances.
Added two additional string operators: startsWith and endsWith. The startsWith operator tests if a string starts with a given string. The endsWith operator tests if a string ends with a given string.
Editable Collectors are now linkable via the following url structure /collectors/:collectorId.
RBAC
Fixed
Minor UI fixes and improvements.
Change
Improved error handling and messaging when testing policies.
Skill Exchange
Feature
Introducing the hack digest feature, where users can get Slack updates on the hacks they have been following on a configurable schedule.
For adopters who have their Slack integration running, and would like to schedule periodic Slack updates (edits to the hack or new comments) to users who follow hacks, they can specify a cron value to their app-config.yaml (or equivalent) file. This cron value dictates the frequency with which users will receive updates on their hacks, if any updates exist since the last updates were sent. See the the following screenshot for an example:
# The configuration should be added to the skillExchange portion of app-config.yaml:
skillExchange:
# ...
hackUpdateNotificationsCron: '0 17 * * 1'
# ...
This example configuration will send out updates to users on hacks they are following at 17:00 every Monday.
Fixed
Fixed an issue where users would be able to vote on their own hacks.
Fixed issue with hack pagination that was stopping you loading more hacks after the first page.
Fixed skill search logic to fix a bug in which duplicate search API calls were fired unnecessarily.
Insights
No update
This plugin was not updated in this release.
Pulse
No update
This plugin was not updated in this release.
December 2023 / v.1.21.0
Soundcheck
Feature
We are thrilled to introduce Campaigns within Soundcheck. Soundcheck's Campaigns feature equips organizations to strategically target and manage specific short-term initiatives including built-in Slack notifications when the status of a campaign changes.
Some examples include "Upgrade Spring libraries" to use a specific version of spring boot or "Update log4j lib"
Adopters can create, edit, delete, and archive a campaign.
Integration with email notifications will follow soon.
The PagerDuty Third Party plugin now integrates with Soundcheck. Learn more here.
Checks may now compare the value of two different facts. For example, you can create a check which validates that a component's name in the Software Catalog matches the name specified in package.json.
Owner filters on Campaigns, Checks, and Tracks now work hierarchically. For example, if OrgA is the parent of team1 and team2 applying the owner filter on OrgA will make it applicable to entities owned by OrgA, team1, or team2.
Check results with the state 'not-applicable' can now be submitted to Soundcheck via its REST API.
The soundcheck.checks configuration now supports individual check configurations and arrays of check configurations. This allows you to organize related checks into a file or multiple files and seamlessly include them in the main soundcheck.checks configuration using the $include directive.
Fixed
Resolved an issue with the GitHub fact collector where a ‘403 Not Modified’ could be interpreted as an error rather than branch protections not being configured under certain circumstances.
Resolved an issue that could prevent entity owner filters from being used in Soundcheck's Tech-Health pages.
Resolved an issue with fact collector permissions being inadvertently tied to track permissions.
Resolved an issue that was preventing boolean comparisons in checks from working correctly when the check was created through the UI.
Resolved an issue that could prevent filters from being applied to Github fact collections configured through the UI.
Change
Improved certification history cleanup logic. It now retains certain history outside of the specified window so that the Tech Health page can correctly calculate historical aggregations.
Improved check result history cleanup logic. It now retains certain history outside of the specified window so that the Tech Health page can correctly calculate historical aggregations.
Relaxed Soundcheck’s validation of entity references to allow for names longer than 64 characters.
Minor performance improvement when persisting check results.
Increased payload size limits to support the submission of larger batches of results and/or facts.
Added the possibility to set up advanced check and track applicability filters to extend entity filter functionality. Custom filter functions can now be passed to the Soundcheck Builder when instantiating Soundcheck to perform arbitrary applicability evaluation. See the soundcheck-backend README for full details.
The Github fact collector will now return the previously retrieved branch protection data when Github responds with '404 Not Modified' instead of undefined.
Added strict enforcement of fact collector configuration schemas. Unrecognized keys are no longer allowed to help users identify misconfigurations.
RBAC
Feature
Introduced Policy Tester: a system that tests the behavior of RBAC policies.
This feature allows RBAC policy admins to configure tests against their permissions, providing a comprehensive view of policy decisions prior to production release.
The interface enables administrators to selectively choose specific permissions, and observe the outcomes applied to designated role(s) within their policy.
Fixed
Fixed a bug where stale data could be shown in the UI after publishing a policy.
Skill Exchange
Feature
New hack views, voting, and browsing experience are now available.
New features as explained in the limited October update are:
Hack context views and list view
Hack thumbnails
Hack voting updates
Vote management panel
Fixed
Failed Slack responses will no longer remove the original message.
Fixed issue where hack members were able to vote on their own hacks.
Change
Instrumentation is updated for new Hack view
Added consistent title headers across hacks, embeds, and mentorships.
Insights
No update
This plugin was not updated in this release.
Pulse
No update
This plugin was not updated in this release.
November 2023 / v.1.20.3
Soundcheck
Feature
The Create Track page now includes the ability to add a Track Owner to the Track Form. Defaults to the logged in user.
The UI for check descriptions, check passed messages, check failed messages, and track descriptions now use a markdown editor.
Checks are now linkable by ID using the following url format soundcheck/checks/:checkId.
Pages will now properly link to the check instead of the checks list page.
Tracks are now linkable by ID via the following url format soundcheck/tracks/:trackId.
Pages will now properly link to the track instead of the tracks list page.
Soundcheck now provides an endpoint for aggregations at /aggregations, enabling programmatic access to Soundcheck's aggregation functionality.
Soundcheck now initializes check result history data upon startup when check result history is enabled for the first time.
Improved fact persistence performance.
The Github fact collector now uses conditional requests to improve rate limit utilization.
Collectors and checks are no longer executed immediately, instead they have a delay so that the initial execution follows the specified cadence.
Soundcheck’s README was updated to make it more clear how to install the GitHub, SCM, and TechInsights Soundcheck backend fact collector modules.
Fixed
Resolved an issue that was preventing fact collectors configured through the UI from restoring their configuration after Backstage is restarted.
Resolved an issue that could prevent a fact collection task from being aborted.
RBAC
No update
This plugin was not updated in this release.
Skill Exchange
Feature
Added the ability to tag users in hack comments.
Fixed
Skills without defined levels are no longer included on a user's profile.
Updated line heights on hack cards to be more consistent.
Resolved spacing bug for bulleted markdown lists.
Updated the vote count logic when using vote sessions with unlimited number of votes for hacks.
Change
BREAKING: The Skill Exchange Slack integration now supports adding embed and
mentorship participants directly through a button in Slack (instead of linking
to the post).
If you are currently using Skill Exchange with Slack, you have to make changes in order to keep using the Slack integration. For instructions, see the README.
The default sort for the Events page is now sorted by last updated date in descending order.
Flexible is now the default hack location option.
Insights
No update
This plugin was not updated in this release.
Pulse
No update
This plugin was not updated in this release.
October 2023 / v.1.19.0
Soundcheck
Feature
Soundcheck users can now export reports in .csv format from the Tech Health pages.
Export reports of current status of checks, tracks, entities, and teams in csv format and share them offline.
Added a grid view for Checks, Tracks, Entities, and Teams tabs on the Tech Health page.
Added entity type/lifecycle/kind filters for the Tech Health page.
Fixed
Resolved an issue with Check filters generated via UI not applying to parent Tracks.
Resolved an edge case where the displayed entity counts on the Overview page tabs could be mismatched.
Updated default page pagination to 10 and enabled pagination options on the Soundcheck Checks and Tracks pages.
Fixed an issue with nested check rules.
Fixed an issue where check filters were not included when creating or updating a check via the Soundcheck UI.
The overview table footer now shows the entities metadata.title when available rather than the humanized entity ref.
Improved github API (octokit) error logging.
Change
Fact collectors may now optionally include a name and brief description. This will help users identify and describe fact collectors.
RBAC
No update
This plugin was not updated in this release.
Skill Exchange
Feature
New Hack features available are now available, use the following steps to opt-in to the following features:
Hack context views Active, Votable, Past, My Hacks, and Following allow users to quickly narrow focus for browsing and searching hacks.
List view in Active context allows users to browse more hacks at one time while still viewing key hack details.
Identicons generated from hack title text help break up the list view and give hacks a unique visual identifier.
Hack votes can be cast directly from cards in the Votable context view without having to open and close a hack.
A new vote management panel allows users to quickly review and edit Hack votes.
Fixed
Fixed an issue that caused duplicate saved search notifications to be sent.
Fixed an issue where Event create/edit renders links in preview.
Fixed an issue where links in create hacks preview would navigate users away from the form.
Change
Updated chip icons in search bar.
Insights
No update
This plugin was not updated in this release.
Pulse
Feature
Pulse now offers a Progress Bar that helps track engagement of surveys and is automatically available to Pulse users. With the Progress Bar, respondents are informed of their progress, which can help minimize survey abandonment rates.
September 2023 / v.1.18.0
Soundcheck
Feature
Soundcheck users have access to a single, aggregated view of metrics and trends that gives teams and leaders the ability to understand the tech health of their components.
Soundcheck now contains a “Tech Health” tab where users can both view and filter aggregate Soundcheck results across teams, components, checks, and tracks.
Users can now configure the Github fact collector via Soundcheck’s No Code UI .
If you already have a config YAML file setup, you will be unable to use No Code UI to configure your collector. In order to use the No Code UI, simply remove the YAML file/reference and you will have access to configure from No Code UI.
Configure is only enabled if the user has the collector update permission.
Introduced before and after date operators, expanding Soundcheck’s capabilities to assess whether a provided date/time fact value occurs earlier or later than a specified date/time, or relative to the current date/time adjusted by a duration.
Fixed
Resolved an issue where newly added Checks would not immediately show up in the Track UI.
Soundcheck's ScmFactCollector can now be dynamically configured with new collector configurations after startup.
Resolved an issue where newly added Checks would not immediately show up in the Track UI.
Resolved an issue where changing Fact was not clearing the Path/Operator/Value fields in the Check UI.
Resolved an issue where the text for warning messages on the Soundcheck Group page was not accurate.
Tooltips in the overview table now support markdown in check descriptions.
Change
Fact collectors may now optionally include a name and brief description. This will help users identify and describe fact collectors.
RBAC
No update
This plugin was not updated in this release.
Skill Exchange
Feature
Users can now add defined labels to specify priority levels for their Embed posts.
Fixed
Fixed a bug that caused initial page search events not to be sent across Embeds, Mentorships, and Hacks.
Change
Removed unnecessary messaging functionality from Embeds and Mentorships.
Insights
No update
This plugin was not updated in this release.
Pulse
No update
This plugin was not updated in this release.
August 2023 / v.1.17.0
Soundcheck
Feature
Support for multiple "expressions" per level when creating check rules has been added. This provides greater flexibility when creating expressions for checks and allows multiple sets of expressions, which enables more complex rule creation.
Added /tracks endpoint, providing programmatic access to Soundcheck tracks. See the Soundcheck README for full details and query parameters.
Soundcheck's No Code UI now supports the creation and editing of check schedules. This allows users to create schedules for their checks and provides both the ability to specify schedules in cron notation or in an ‘every three days’ type specification.
Fixed
Fact collection no longer occurs one minute after startup, instead each fact collector executes on their specified schedule(s). This limits the surge of fact collection during initialization and can help to alleviate rate-limiting restrictions.
Check and Track Pages’ pagination is fixed. Users can navigate through their checks and tracks with the pagination controls at the bottom of those pages with greater ease.
Increased the number of certifications returned when populating the Overview page. Upcoming fixes will add pagination to the Overview page. This release significantly increases the number of entities that the Overview page can load to 500 from 50.
Correlated: A virtualized table is now used by default on Soundcheck's overview page. With the potential for a much larger number of components to be present on the Overview page, the page has been modified to be virtualized which will prevent performance degradation when viewing a large number of components.
Resolved an issue with check/track filters where an error message would be displayed when the facet had no values.
Change
Fact collectors may now optionally include a name and brief description. This will help users identify and describe fact collectors.
RBAC
No update
This plugin was not updated in this release.
Skill Exchange
Feature
Added a hover feature for Skill Exchange post chips.
Fixed
Fixed issue in Embeds and Mentorships where adding a participant created a new post owner instead of creating a new post connection.
Fixed long URLs cutting off Hack details on viewing Hacks.
Change
Save Search notifications are enabled by default on Embeds and Mentorships when Slack contact integration is enabled.
Updated styling of skill chips to improve readability.
Updated label styling for Mentorship and Embed posts.
Insights
Change
Insights now captures a more complete group hierarchy related to signed in users. This means that if groups are organized hierarchically in the Software Catalog, Insights captures not only the groups that a user is directly a member of, but also that group's parents, recursively up the org hierarchy. This allows the user dashboard to be segmented not just by teams, but also by other higher-level groups like departments or business units.
It's now possible to configure a filter for what types of groups are captured, for example: filtering out groups that only exist to grant access to applications, interest groups, etc.
Pulse
No update
This plugin was not updated in this release.
July 2023 / v.1.16.0
Soundcheck
Feature
Added a No-Code UI for checks and tracks management. No-Code UI is a powerful user interface built into the Soundcheck plugin that allows users to manage checks and tracks without writing YAML code. For more information, check out the documentation.
Integrated Soundcheck with the RBAC plugin. Admins can now use the RBAC plugin to manage (allow and restrict) what individual users or groups can do within Soundcheck. For next steps, check out the documentation.
Fixed
Added "No certifications available" warning on Soundcheck overview page in case the selected group doesn't own any entities that have applicable tracks configured.
We now allow configuring checks for null rules in Soundcheck (see example below).
checks:
- id: has_description
rule:
factRef: github:default/repo_details
path: $.description
operator: notEqual
value: null
passedMessage: Repo has a description
failedMessage: Repo does not have a description
Change
Soundcheck programs are now called Soundcheck tracks - we believe that the term “track” provides a clearer and more intuitive understanding of the program's content. You may still see some references to “Programs” throughout Soundcheck (for example in .yaml configuration); future releases will cover the renaming of the remaining occurrences.
RBAC
Fixed
Fixed a bug affecting performance for scrolling through members when assigning a role.
Skill Exchange
Feature
Added the ability to filter Mentorships posts by location.
Added pagination to Home page search and teams to search results with highlighting.
Fixed
Fixed a bug where modifying a hack's status might remove associated skills.
Users no longer need to refresh a page after saving or following posts to see their changes reflected.
Closing a hack detail modal will no longer cause the list view to reload and scroll to the top of the page.
Fixed error that occurs while deleting hack event vote session.
Fixed error when modifying the categories on an existing event.
Fixed a bug causing an error when deleting hacks with comments.
Fixed issues with skill ingestion and user management of default skills.
If an integrator now sets the systemUser configuration for skill ingestion, then those skills will be visible to other users.
Custom skills a user creates are not visible to other users to add to their profile. Only their user-created skills and the default skills are available.
If the System User deletes a skill, then it's removed from any post and user profiles it's related to.
Change
Minor UI accessibility improvements to embed and mentorship cards.
Minor improvements to the home page search autocomplete and filters.
Embeds and mentorships are now ordered by creation date, with the newest entries first.
Deleting an event now unlinks it from any associated hacks.
Clicking the 'Delete' button in the hack and event edit forms will scroll the confirmation message into view.
Pulse
No update
This plugin was not updated in this release.
Insights
Feature
Added advanced filtering and segmentation functionality to gain valuable insights into Backstage adoption with the default dimensions like 'User group', 'Entity kind' and 'Lifecycle' or custom dimensions.
Added custom period selection for any date range going back 90 days
Added tailored dashboards for surfacing insights into user, catalog, search and template usage activity
Change
Moved insights from the accounts page on backstage.spotify.com to a frontend plugin with insights surfaced directly in a customer’s Backstage instance. Current customers will need to undergo a low-lift migration by installing the frontend Insights plugin.
June 2023 / v.1.15.0
Soundcheck
Feature
Added support for displaying tabs for entities without types (like entities with kind System or Domain) on the Soundcheck Overview page.
Such entities will be grouped by their kind and displayed on the tabs with corresponding names (in case at least one track is applicable to such entities).
Fixed
Resolved an issue with resolving Azure DevOps URLs.
Change
Updated Readme.md to include how to create catalog and Soundcheck checks.
RBAC
Fixed
Fixed an bug causing the frontend to show an error when options property is missing in a policy.
Fixed a bug where the "any-allow" resolution strategy was not honored when importing a policy using the UI "import" button. The system now correctly matches the imported policy's resolution strategy.
Minor accessibility improvements.
Minor UI tweaks and improvements.
Skill Exchange
Feature
Added the ability to filter Embed posts by location. This includes custom location ingestion so that organization-specific locations can be used to filter posts.
Fixed
Fixed a bug to improve searchability of Skill Profiles.
Fixed contrast text when creating an Embed post.
Change
Search results where a filter is set to a specific location no longer also include locations that are "flexible".
Updated navigation text for Embeds and Hacks.
Minor UI improvements to the skills listed on Embed cards.
Minor styling fix to the Embed text editor placeholders.
Pulse
No update
This plugin was not updated in this release.
Insights
No update
This plugin was not updated in this release.
May 2023 / v.1.14.0
Soundcheck
Feature
The Github fact collector now supports collecting facts on the languages used within a repository.
This means you can now create checks based on the specific languages detected in your repository. For example, if you have a website component and want to ensure it’s built using TypeScript, you can set up a check to verify that with this new feature.
Added initial integration with Azure DevOps. This integration enables Soundcheck to collect information on your software components from their Azure DevOps projects.
Fixed
Numerous enhancements to ensure compliance with accessibility standards.
Soundcheck can now execute a check if at least one fact within an Any clause is present rather than requiring all facts.
Instead of needing all the facts within an Any clause, we’ve made it possible for Soundcheck to execute a check as long as at least one fact is present. You can now create rules based on the availability of just one fact, making your checks more versatile and adaptable to your specific needs.
Addressed a small issue with the Github fact collector where, if no branch protections were in place an error message would be logged, causing unnecessary confusion.
Resolved an issue related to joining paths for certain Source Control Management (SCM) providers.
Resolved an issue related to scheduled checks. Previously, the results of these checks were not being persisted as they should have been. Now the results of scheduled checks are being persisted as intended.
Change
Fact collector installation instructions are now updated in the README.
RBAC
Feature
Advanced Resolution Strategies for RBAC
RBAC policy authors can now customize authorization resolution for users with multiple roles. Set your decision resolution strategy effortlessly from our new policy options page shown below:
Set the default resolution strategy to 'any-allow' for new authorization policies. The default for policies created previously will remain 'first-match'.
Skill Exchange
Feature
Added pagination to Home page search and teams to search results with highlighting.
Clicking the 'Delete' button in the Hack and Event edit forms will scroll the confirmation message into view.
Fixed
Minor patch that fixes contact labels overlapping input borders.
Fixed issue when pasting content from Google Docs into the Rich Text Editor fields in Skill Exchange post forms.
Fixed issue where modifying a hack's status might remove associated skills.
Fixed bug where closing a hack detail modal would cause the list view to reload and reset the scroll to the top of the page.
Fixed a bug for saving and following posts that required users to refresh the page in order to see their changes reflected.
Change
Minor UI improvement to the detailed view pages.
Minor UI improvements to the Home navigation on smaller screens.
Minor improvements to the Home page search autocomplete and filters.
Increased spacing between paragraphs in text content to improve readability.
Minor updates to user interaction instrumentation events.
Pulse
No update
This plugin was not updated in this release.
Insights
Change
Insights is soon moving away from backstage.spotify.com (read more on this blog) first with added support for the Insights Backend plugin. Here’s what you need to know:
There is a new Insights backend package, @spotify/backstage-plugin-insights-backend, which you should install as soon as possible. Support for using the proxy-based configuration will be removed in the future.
@spotify/backstage-plugin-analytics-module-insights has been updated to forward analytics events to the new Insights backend plugin. If you are unable to install the Insights backend at this time, you can add this configuration to temporarily keep proxy-based event forwarding:
app:
analytics:
backstageInsights:
useProxy: true
April 2023 / v.1.13.0
Soundcheck
Feature
Added "No Level" badges to the tables on the Soundcheck overview page.
Added tooltips to checks in the overview page results table.
Added a message in the checks list of a level to indicate to a user when the level has no checks enabled.
The overview page can now accept a custom title.
Set this in your App.tsx file as a property of the SoundcheckOverviewPage:
The Soundcheck entity card can now accept a custom title.
Set this in your EntityPage.tsx file as a property of the EntitySoundcheckCard:
<EntitySoundcheckCard title="My Custom Title" />
Added operators supporting comparison of semantic versions.
Facts submitted to the /facts endpoint may now be cached by providing a cache configuration
Fact timestamps are now optional, defaulting to submission time.
Added Soundcheck / Tech Insights integration, allowing the use of Tech Insight facts from within Soundcheck.
Change
Made improvements to the loading of the overview page table. The table can now support the display of more components. We made this change so that the overview page would be more performant for teams that own a large number of components.
Fixed
Fixed issue where the Learn More URL was not being rendered.
Removed extra scrollbars from the Soundcheck overview page.
Resolved an issue with checks executed against multiple entities. Before, if multiple entities relied on a single fact collector, sometimes the results would not be reported correctly.
Fixed 401 error when fetching entities from the catalog with authentication middleware. This was preventing the SoundCheck overview from loading, if an authentication middleware was used.
Resolved an issue with the Soundcheck fact store that caused records to be re-inserted instead of updated. This caused the Soundcheck database to grow for no reason.
Resolved browser warnings on the overview page.
Updated styling to resolve misaligned borders for the tables on the overview page.
Resolved an issue with the validation of facts submitted to the /facts endpoint.
RBAC
Feature
Moved the action buttons on the Policy page into a context menu.
Fixed
Fixed the permission decision dialog showing no options when any plugin returned invalid permission metadata.
Skill Exchange
Change
As of version 0.9.0, Skill Exchange no longer requires a Docker service backend to operate, and replaces it with the @spotify/backstage-plugin-skill-exchange-backend plugin. This greatly simplifying the installation and maintenance of the Skill Exchange plugin. After updating to this version you'll be able to safely remove the Docker service and its containers. Migration of the existing data is possible by configuring the backend plugin to connect to the existing database used by the Docker service. For more information about this and how to upgrade, please refer to the migration section of the Skill Exchange plugin. The Docker backend service is now deprecated, and support will cease with the next version. If you'd like to opt out of this update and keep using an external Docker service for the time being, you can do so by following these configuration instructions.
Filtering in the search dropdowns for Embeds and Mentorships is now case-insensitive.
Prevent empty searches in home, embeds, mentorships and hacks.
Improved highlighting of invalid media fields in the Hack form for better understandability.
The "Interested in Contributing" button is now hidden on the details page for Adoptable hacks that haven't been claimed yet.
Stop error message when using filter dropdown for Skill Exchange posts in development environment.
Fixed
Fixed a bug with adding or searching for a custom skill containing the letter E or M.
Fixed a bug where empty skill names were allowed as custom skills.
Fixed a stale cache issue when bookmarking Embeds and Mentorships.
Fixed a bug that would cause an error to appear when a user edited their skills.
Pulse
No update
This plugin was not updated in this release.
Insights
No update
This plugin was not updated in this release.
March 2023 / v.1.12.0
Soundcheck
Feature
Added a virtualizeOverviewPage configuration option to only render parts of the Soundcheck overview page that are in-view. This improves performance for teams that have a large amount of entities.
To enable this option, add the configuration to your app-config.yaml:
soundcheck:
virtualizeOverviewPage: true
Added ability to filter entity types out of the Soundcheck overview page if they have no associated entities.
For example in the screenshot below, the fictional team Backstage does not have any Libraries associated with it and we do not show the tab in soundcheck
Program descriptions now support markdown content.
Added the Soundcheck Fact Framework, including support for fact collection and check execution. See the README for additional details.
Added SoundcheckBuilder which simplifies wiring up soundcheck-backend.
Added GitHub integration for fact extraction from GitHub repositories. See the modules README for additional details, including configuration details.
Added SCM module for out-of-the-box third party integration with select common source control management providers.
Initial release of soundcheck-client. Provides a FactsApi for submitting facts to soundcheck as well as a FactsClient which implements the API and which can be used to submit facts to a soundcheck instance.
Change
Cleaned up some unnecessary output in published packages.
Added Fact Framework utilities shared between Soundcheck backend and frontend.
RBAC
Feature
Added possibility to filter role’s members by namespace.
Group users and groups in a single namespace and view namespaces when there is more than one namespace in the catalog.
Moved the action buttons on the Policy page into a context menu.
Fixed
Fixed an issue where the row on the members table does not expand to the full width of the table.
Fixed the permission decision dialog showing no options when any plugin returned invalid permission metadata.
Skill Exchange
Change
Updated User and Team dropdown fields in Hacks and Embed forms to use the Catalog API for finding entities, rather than the Search API. This means search indexing no longer needs to be enabled to create new posts.
Fixed
Fixed routing issues where users cannot create or view Hack events.
Pulse
No update
This plugin was not updated in this release.
Insights
No update
This plugin was not updated in this release.
February 2023 / v.1.11.0
Soundcheck
No update
This plugin was not updated in this release.
RBAC
Feature
The role’s member table now shows the namespace of the members if it differs from the default namespace (following the same pattern as the members search dropdown and catalog page).
Added automatic sorting for the members table by type, namespace, and alphabetically, rather than by order added.
Fixed
Minor UI accessibility improvements.
Skill Exchange
Fixed
Fixed a bug that could cause the SkillProfileDecoratorFactory to be executed unnecessarily.
Pulse
No update
This plugin was not updated in this release.
Insights
No update
This plugin was not updated in this release.
January 2023 / v.1.10.0
Soundcheck
Feature
Check results now validate entity references.
Soundcheck now returns an error if a check result with an invalidly formatted entity reference is submitted to the /results endpoint. Read more about this new feature.
RBAC
Fixed
Resolved an issue where users were unable to view the diffing between two policies due to the absence of an active policy.