Spotify Plugins for Backstage Release Notes

The following release notes cover the most recent changes from September 2023 / v.1.18.0. For change logs, please view our npm packages.

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.

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 insights user dashboard engagement metrics
  • 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: decision resolution strategy with options of any allow or first-match
    • 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. no level
    • Added tooltips to checks in the overview page results table. tooltips overview
    • Added a message in the checks list of a level to indicate to a user when the level has no checks enabled. no checks
    • The overview page can now accept a custom title.
      • Set this in your App.tsx file as a property of the SoundcheckOverviewPage:
    <SoundcheckOverviewPage title="My Custom Title" />
    
    • 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 filter overview
    • 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. github fact framework integration
    • Added SCM module for out-of-the-box third party integration with select common source control management providers. scm fact framework integration
    • 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. rbac-filter-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. rbac-policy-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.
    • Fixed issue logging informative “Policy started” message multiple times.
    • Minor UI tweaks and improvements.

Skill Exchange

  • No update

    This plugin was not updated in this release.

Pulse

  • No update

    This plugin was not updated in this release.

Insights

  • No update

    This plugin was not updated in this release.