Merge remote-tracking branch 'origin/master' into scaffolder-result-content
This commit is contained in:
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/plugin-scaffolder': patch
|
||||
---
|
||||
|
||||
The `create` and `click` analytics events are now also captured on the "next" version of the component creation page.
|
||||
@@ -0,0 +1,41 @@
|
||||
---
|
||||
'@backstage/plugin-catalog-backend-module-bitbucket-cloud': patch
|
||||
---
|
||||
|
||||
Handle Bitbucket Cloud `repo:push` events at the `BitbucketCloudEntityProvider`
|
||||
by subscribing to the topic `bitbucketCloud.repo:push.`
|
||||
|
||||
Implements `EventSubscriber` to receive events for the topic `bitbucketCloud.repo:push`.
|
||||
|
||||
On `repo:push`, the affected repository will be refreshed.
|
||||
This includes adding new Location entities, refreshing existing ones,
|
||||
and removing obsolete ones.
|
||||
|
||||
To support this, a new annotation `bitbucket.org/repo-url` was added
|
||||
to Location entities.
|
||||
|
||||
A full refresh will require 1 API call to Bitbucket Cloud to discover all catalog files.
|
||||
When we handle one `repo:push` event, we also need 1 API call in order to know
|
||||
which catalog files exist.
|
||||
This may lead to more discovery-related API calls (code search).
|
||||
The main cause for hitting the rate limits are Locations refresh-related operations.
|
||||
|
||||
A reduction of total API calls to reduce the rate limit issues can only be achieved in
|
||||
combination with
|
||||
|
||||
1. reducing the full refresh frequency (e.g., to monthly)
|
||||
2. reducing the frequency of general Location refresh operations by the processing loop
|
||||
|
||||
For (2.), it is not possible to reduce the frequency only for Bitbucket Cloud-related
|
||||
Locations though.
|
||||
|
||||
Further optimizations might be required to resolve the rate limit issue.
|
||||
|
||||
**Installation and Migration**
|
||||
|
||||
Please find more information at
|
||||
https://backstage.io/docs/integrations/bitbucketCloud/discovery,
|
||||
in particular the section about "_Installation with Events Support_".
|
||||
|
||||
In case of the new backend-plugin-api _(alpha)_ the module will take care of
|
||||
registering itself at both.
|
||||
@@ -0,0 +1,6 @@
|
||||
---
|
||||
'@backstage/plugin-cost-insights': patch
|
||||
'@backstage/plugin-techdocs': patch
|
||||
---
|
||||
|
||||
Bumped `canvas` dependency to the latest version, which has better Node.js v18 support.
|
||||
@@ -0,0 +1,14 @@
|
||||
---
|
||||
'@backstage/plugin-events-backend-module-bitbucket-cloud': minor
|
||||
---
|
||||
|
||||
Adds a new module `bitbucket-cloud` to plugin-events-backend.
|
||||
|
||||
The module adds a new event router `BitbucketCloudEventRouter`.
|
||||
|
||||
The event router will re-publish events received at topic `bitbucketCloud`
|
||||
under a more specific topic depending on their `x-event-key` value
|
||||
(e.g., `bitbucketCloud.repo:push`).
|
||||
|
||||
Please find more information at
|
||||
https://github.com/backstage/backstage/tree/master/plugins/events-backend-module-bitbucket-cloud/README.md.
|
||||
@@ -0,0 +1,8 @@
|
||||
---
|
||||
'@backstage/plugin-apache-airflow': patch
|
||||
---
|
||||
|
||||
1. Added a new column in the table to quickly view the latest DAG runs, plus a link to it if you want to have a deeper look.
|
||||
2. Table columns are togglable
|
||||
3. Set hidden columns
|
||||
4. Fixed bug with turning on/off the DAGs
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/plugin-explore': patch
|
||||
---
|
||||
|
||||
Added a section to explore plugin README that describes the customization of explore tools content.
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/plugin-github-actions': patch
|
||||
---
|
||||
|
||||
Add error panel when the plugin fails.
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/cli': patch
|
||||
---
|
||||
|
||||
Updated the `backstage-cli` so that the `list-deprecations` command is visible and also removed the "[EXPERIMENTAL]" tag.
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/plugin-catalog-backend-module-msgraph': patch
|
||||
---
|
||||
|
||||
Added cause information to logged warnings
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/plugin-scaffolder': patch
|
||||
---
|
||||
|
||||
Updated to use `@rjsf` packages of version `^5.0.0-beta.12`
|
||||
@@ -0,0 +1,6 @@
|
||||
---
|
||||
'@backstage/plugin-auth-backend': patch
|
||||
'@backstage/plugin-github-actions': patch
|
||||
---
|
||||
|
||||
Fix wrong GitHub callback URL documentation
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/create-app': patch
|
||||
---
|
||||
|
||||
Bumped create-app version.
|
||||
@@ -0,0 +1,7 @@
|
||||
---
|
||||
'@backstage/plugin-catalog-backend': patch
|
||||
---
|
||||
|
||||
Improve processing error logging.
|
||||
|
||||
Adds `location` and `owner` to the logging meta if they are available.
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/core-components': patch
|
||||
---
|
||||
|
||||
Add optional step to SimpleStepper
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/release-manifests': patch
|
||||
---
|
||||
|
||||
Added a fallback that fetches manifests from `https://raw.githubusercontent.com` if `https://versions.backstage.io` is unavailable.
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/version-bridge': patch
|
||||
---
|
||||
|
||||
Debuggable/inspectable versioned values
|
||||
@@ -0,0 +1,6 @@
|
||||
---
|
||||
'@backstage/backend-common': patch
|
||||
'@backstage/cli': patch
|
||||
---
|
||||
|
||||
Bumped `tar` dependency to `^6.1.12` in order to ensure Node.js v18 compatibility.
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/cli': patch
|
||||
---
|
||||
|
||||
Removed googleAnalyticsTrackingId configSchema.
|
||||
@@ -0,0 +1,14 @@
|
||||
---
|
||||
'@backstage/plugin-events-backend-module-github': minor
|
||||
---
|
||||
|
||||
Adds a new module `github` to plugin-events-backend.
|
||||
|
||||
The module adds a new event router `GithubEventRouter`.
|
||||
|
||||
The event router will re-publish events received at topic `github`
|
||||
under a more specific topic depending on their `x-github-event` value
|
||||
(e.g., `github.push`).
|
||||
|
||||
Please find more information at
|
||||
https://github.com/backstage/backstage/tree/master/plugins/events-backend-module-github/README.md.
|
||||
@@ -0,0 +1,9 @@
|
||||
---
|
||||
'@backstage/plugin-splunk-on-call': minor
|
||||
---
|
||||
|
||||
Use the routing key if it's available instead of team name when triggering incidents.
|
||||
|
||||
BREAKING CHANGE:
|
||||
Before, the team name was used even if the routing key (with or without team) was used.
|
||||
Now, the routing key defined for the component will be used instead of the team name.
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/plugin-scaffolder': patch
|
||||
---
|
||||
|
||||
Fixed tiny grammar error in EntityNamePicker. The first letter of the description is now capitalized.
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/plugin-auth-backend': patch
|
||||
---
|
||||
|
||||
Add support for custom JWT header name in GCP IAP auth.
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/plugin-org-react': minor
|
||||
---
|
||||
|
||||
Implemented the org-react plugin, with it's first component being: a `GroupListPicker` component that will give the user the ability to choose a group
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/plugin-scaffolder-backend': minor
|
||||
---
|
||||
|
||||
- The GitLab Project ID for the `publish:gitlab:merge-request` action is now passed through the query parameter `project` in the `repoUrl`. It still allows people to not use the `projectid` and use the `repoUrl` with the `owner` and `repo` query parameters instead. This makes it easier to publish to repositories instead of writing the full path to the project.
|
||||
@@ -0,0 +1,12 @@
|
||||
---
|
||||
'@backstage/plugin-catalog-graph': patch
|
||||
---
|
||||
|
||||
Preserve graph options and increment `maxDepth` by 1.
|
||||
|
||||
The change will preserve options used at the `CatalogGraphCard`
|
||||
(displayed at the entity page) and additionally, increments the
|
||||
`maxDepth` option by 1 to increase the scope slightly compared to
|
||||
the graph already seen by the users.
|
||||
|
||||
The default for `maxDepth` at `CatalogGraphCard` is 1.
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/plugin-scaffolder-backend': minor
|
||||
---
|
||||
|
||||
Adds the ability to pass (an optional) array of strings that will be applied to the newly scaffolded repository as topic labels.
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/plugin-catalog-graph': patch
|
||||
---
|
||||
|
||||
feat: Enable theme overrides for components in catalog-graph plugin
|
||||
@@ -0,0 +1,14 @@
|
||||
---
|
||||
'@backstage/plugin-events-backend-module-gerrit': minor
|
||||
---
|
||||
|
||||
Adds a new module `gerrit` to plugin-events-backend.
|
||||
|
||||
The module adds a new event router `GerritEventRouter`.
|
||||
|
||||
The event router will re-publish events received at topic `gerrit`
|
||||
under a more specific topic depending on their `$.type` value
|
||||
(e.g., `gerrit.change-merged`).
|
||||
|
||||
Please find more information at
|
||||
https://github.com/backstage/backstage/tree/master/plugins/events-backend-module-gerrit/README.md.
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/core-components': patch
|
||||
---
|
||||
|
||||
MissingAnnotationEmptyState now accepts either a string or an array of strings to support multiple missing annotations.
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/backend-common': patch
|
||||
---
|
||||
|
||||
Change to using `@keyv/memcache` now that `keyv-memcache` is deprecated
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/cli': patch
|
||||
---
|
||||
|
||||
The built-in Jest configuration now always uses the Jest environments that are bundled with the CLI by default. This avoids a situation where Jest potentially picks up an incompatible version of the environment package from a different dependency in the project.
|
||||
@@ -0,0 +1,9 @@
|
||||
---
|
||||
'@backstage/plugin-playlist': patch
|
||||
'@backstage/plugin-playlist-backend': patch
|
||||
---
|
||||
|
||||
Updated Playlist plugin docs:
|
||||
|
||||
- Updated `playlist` plugin README to include note about installing backend plugin and added images for the various features
|
||||
- Updated `playlist-backend` plugin README to remove `IdentityClient` import in example as it is not used and made minor change to headings
|
||||
@@ -0,0 +1,38 @@
|
||||
---
|
||||
'@backstage/create-app': patch
|
||||
---
|
||||
|
||||
The [Analytics API](https://backstage.io/docs/plugins/analytics) is the recommended way to track usage in Backstage; an optionally installable [Google Analytics module](https://github.com/backstage/backstage/tree/master/plugins/analytics-module-ga#installation) has superseded the old app.googleAnalyticsTrackingId config and its corresponding script tags in packages/app/public/index.html.
|
||||
|
||||
For an existing installation where you want to remove the redundant app.googleAnalyticsTrackingId, you should make the following adjustment to `packages/app/public/index.html`:
|
||||
|
||||
```diff
|
||||
<title><%= config.getString('app.title') %></title>
|
||||
- <% if (config.has('app.googleAnalyticsTrackingId')) { %>
|
||||
- <script
|
||||
- async
|
||||
- src="https://www.googletagmanager.com/gtag/js?id=<%= config.getString('app.googleAnalyticsTrackingId') %>"
|
||||
- ></script>
|
||||
- <script>
|
||||
- window.dataLayer = window.dataLayer || [];
|
||||
- function gtag() {
|
||||
- dataLayer.push(arguments);
|
||||
- }
|
||||
- gtag('js', new Date());
|
||||
- gtag(
|
||||
- 'config',
|
||||
- '<%= config.getString("app.googleAnalyticsTrackingId") %>',
|
||||
- );
|
||||
- </script>
|
||||
- <% } %>
|
||||
</head>
|
||||
```
|
||||
|
||||
Additionally, you should make the following adjustment to `app-config.yaml`:
|
||||
|
||||
```diff
|
||||
app:
|
||||
title: Backstage Example App
|
||||
baseUrl: http://localhost:3000
|
||||
- googleAnalyticsTrackingId: # UA-000000-0
|
||||
```
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/plugin-stack-overflow': patch
|
||||
---
|
||||
|
||||
`StackOverflowSearchResultListItem` now accept optional rank property to be able to capture rank analytics data.
|
||||
@@ -0,0 +1,6 @@
|
||||
---
|
||||
'@backstage/plugin-azure-devops-backend': patch
|
||||
---
|
||||
|
||||
- Adjusted the asset parser to accept case sensitive
|
||||
- Fixed fetching data that was using the deprecated function
|
||||
@@ -0,0 +1,12 @@
|
||||
---
|
||||
'@backstage/plugin-events-backend-module-aws-sqs': minor
|
||||
---
|
||||
|
||||
Adds a new module `aws-sqs` for plugin-events-backend.
|
||||
|
||||
The module provides an event publisher `AwsSqsConsumingEventPublisher`
|
||||
which will allow you to receive events from
|
||||
an AWS SQS queue and will publish these to the used event broker.
|
||||
|
||||
Please find more information at
|
||||
https://github.com/backstage/backstage/tree/master/plugins/events-backend-module-aws-sqs/README.md.
|
||||
@@ -0,0 +1,14 @@
|
||||
---
|
||||
'@backstage/plugin-events-backend-module-azure': minor
|
||||
---
|
||||
|
||||
Adds a new module `azure` to plugin-events-backend.
|
||||
|
||||
The module adds a new event router `AzureDevOpsEventRouter`.
|
||||
|
||||
The event router will re-publish events received at topic `azureDevOps`
|
||||
under a more specific topic depending on their `$.eventType` value
|
||||
(e.g., `azureDevOps.git.push`).
|
||||
|
||||
Please find more information at
|
||||
https://github.com/backstage/backstage/tree/master/plugins/events-backend-module-azure/README.md.
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/plugin-scaffolder': patch
|
||||
---
|
||||
|
||||
Fix `formData` not being present in the `next` version
|
||||
@@ -0,0 +1,6 @@
|
||||
---
|
||||
'@backstage/plugin-code-coverage': patch
|
||||
'@backstage/plugin-code-coverage-backend': patch
|
||||
---
|
||||
|
||||
Adds installation instructions
|
||||
@@ -0,0 +1,17 @@
|
||||
---
|
||||
'@backstage/plugin-events-backend': minor
|
||||
'@backstage/plugin-events-node': minor
|
||||
---
|
||||
|
||||
Support events received via HTTP endpoints at plugin-events-backend.
|
||||
|
||||
The plugin provides an event publisher `HttpPostIngressEventPublisher`
|
||||
which will allow you to receive events via
|
||||
HTTP endpoints `POST /api/events/http/{topic}`
|
||||
and will publish these to the used event broker.
|
||||
|
||||
Using a provided custom validator, you can participate in the decision
|
||||
which events are accepted, e.g. by verifying the source of the request.
|
||||
|
||||
Please find more information at
|
||||
https://github.com/backstage/backstage/tree/master/plugins/events-backend/README.md.
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/plugin-org': minor
|
||||
---
|
||||
|
||||
Updates the User and Group Profile cards to add the links from the UserEntity or the GroupEntity
|
||||
+33
-3
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"mode": "pre",
|
||||
"mode": "exit",
|
||||
"tag": "next",
|
||||
"initialVersions": {
|
||||
"example-app": "0.2.76",
|
||||
@@ -176,21 +176,31 @@
|
||||
"@backstage/plugin-xcmetrics": "0.2.30",
|
||||
"@backstage/plugin-azure-sites": "0.0.0",
|
||||
"@backstage/plugin-azure-sites-backend": "0.0.0",
|
||||
"@backstage/plugin-azure-sites-common": "0.0.0"
|
||||
"@backstage/plugin-azure-sites-common": "0.0.0",
|
||||
"@backstage/plugin-org-react": "0.0.0"
|
||||
},
|
||||
"changesets": [
|
||||
"analyze-next-software-creation",
|
||||
"analyze-software-creation",
|
||||
"analyze-software-exploration",
|
||||
"beige-gorillas-sip",
|
||||
"big-islands-add",
|
||||
"blue-items-shop",
|
||||
"brave-eels-allow",
|
||||
"bright-pillows-build",
|
||||
"brown-days-pretend",
|
||||
"calm-bottles-happen",
|
||||
"calm-clouds-smoke",
|
||||
"chatty-planets-flash",
|
||||
"clean-feet-remain",
|
||||
"clean-planets-rhyme",
|
||||
"cool-suns-add",
|
||||
"create-app-1667233110",
|
||||
"dirty-birds-burn",
|
||||
"dry-phones-type",
|
||||
"dull-oranges-tap",
|
||||
"eight-pears-attack",
|
||||
"eighty-planets-train",
|
||||
"eleven-pets-sneeze",
|
||||
"few-books-remember",
|
||||
"flat-items-perform",
|
||||
@@ -199,26 +209,39 @@
|
||||
"forty-jokes-lie",
|
||||
"fresh-cooks-sing",
|
||||
"fresh-weeks-share",
|
||||
"funny-singers-serve",
|
||||
"gorgeous-balloons-sit",
|
||||
"gorgeous-onions-thank",
|
||||
"gorgeous-queens-pull",
|
||||
"great-colts-invite",
|
||||
"great-planes-arrive",
|
||||
"grumpy-clouds-drum",
|
||||
"grumpy-pigs-reflect",
|
||||
"happy-avocados-tan",
|
||||
"heavy-elephants-nail",
|
||||
"hungry-kiwis-scream",
|
||||
"itchy-paws-protect",
|
||||
"kind-emus-juggle",
|
||||
"large-spies-doubt",
|
||||
"lazy-planes-repair",
|
||||
"little-bikes-eat",
|
||||
"little-plums-look",
|
||||
"lucky-cats-peel",
|
||||
"lucky-cobras-sell",
|
||||
"lucky-spoons-hide",
|
||||
"mean-files-fly",
|
||||
"metal-dogs-swim",
|
||||
"metal-hairs-mix",
|
||||
"moody-pots-end",
|
||||
"nasty-crabs-share",
|
||||
"orange-trees-peel",
|
||||
"pink-snails-hammer",
|
||||
"popular-ants-mix",
|
||||
"popular-bulldogs-lie",
|
||||
"popular-mails-wave",
|
||||
"real-swans-repair",
|
||||
"renovate-25512c2",
|
||||
"renovate-3d08223",
|
||||
"renovate-6fb5f1b",
|
||||
"selfish-kiwis-matter",
|
||||
"shaggy-birds-happen",
|
||||
@@ -226,22 +249,29 @@
|
||||
"sharp-goats-itch",
|
||||
"shiny-beers-relax",
|
||||
"short-balloons-work",
|
||||
"silent-moles-chew",
|
||||
"silly-meals-teach",
|
||||
"sixty-islands-develop",
|
||||
"sixty-pigs-shave",
|
||||
"sixty-singers-push",
|
||||
"spicy-parents-lick",
|
||||
"spotty-dryers-explain",
|
||||
"stale-dots-love",
|
||||
"stupid-pens-occur",
|
||||
"sweet-readers-compare",
|
||||
"tame-ads-appear",
|
||||
"tasty-colts-hug",
|
||||
"tasty-scissors-tickle",
|
||||
"ten-hats-tickle",
|
||||
"ten-pens-draw",
|
||||
"thirty-deers-float",
|
||||
"three-houses-agree",
|
||||
"three-poems-think",
|
||||
"two-oranges-joke",
|
||||
"two-timers-pump",
|
||||
"two-yaks-wave",
|
||||
"unlucky-buttons-poke",
|
||||
"wet-cameras-call"
|
||||
"wet-cameras-call",
|
||||
"witty-carrots-live"
|
||||
]
|
||||
}
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/plugin-catalog-backend-module-github': patch
|
||||
---
|
||||
|
||||
- Make it possible to inject custom user and team transformers when configuring the `GithubOrgEntityProvider`
|
||||
@@ -0,0 +1,6 @@
|
||||
---
|
||||
'@backstage/cli': patch
|
||||
'@backstage/plugin-scaffolder-backend': patch
|
||||
---
|
||||
|
||||
Updated dependency `esbuild` to `^0.15.0`.
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/codemods': patch
|
||||
---
|
||||
|
||||
Updated dependency `jscodeshift` to `^0.14.0`.
|
||||
@@ -0,0 +1,9 @@
|
||||
---
|
||||
'@backstage/plugin-catalog-backend-module-azure': patch
|
||||
'@backstage/plugin-catalog-backend-module-bitbucket': patch
|
||||
'@backstage/plugin-catalog-backend-module-gerrit': patch
|
||||
'@backstage/plugin-catalog-backend-module-github': patch
|
||||
'@backstage/plugin-catalog-backend-module-gitlab': patch
|
||||
---
|
||||
|
||||
Updated dependency `msw` to `^0.48.0` while moving it to be a dev dependency.
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/backend-test-utils': patch
|
||||
---
|
||||
|
||||
Updated dependency `msw` to `^0.48.0`.
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/plugin-api-docs': patch
|
||||
---
|
||||
|
||||
Updated dependency `@asyncapi/react-component` to `1.0.0-next.44`.
|
||||
@@ -0,0 +1,14 @@
|
||||
---
|
||||
'@backstage/plugin-events-backend': minor
|
||||
'@backstage/plugin-events-node': minor
|
||||
'@backstage/plugin-events-backend-test-utils': minor
|
||||
---
|
||||
|
||||
Adds a new backend plugin plugin-events-backend for managing events.
|
||||
|
||||
plugin-events-node exposes interfaces which can be used by modules.
|
||||
|
||||
plugin-events-backend-test-utils provides utilities which can be used while writing tests e.g. for modules.
|
||||
|
||||
Please find more information at
|
||||
https://github.com/backstage/backstage/tree/master/plugins/events-backend/README.md.
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/plugin-vault-backend': patch
|
||||
---
|
||||
|
||||
Added `errorHandler()` middleware to `router` to prevent crashes caused by fatal errors in plugin backend
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/plugin-cost-insights': patch
|
||||
---
|
||||
|
||||
Added support for displaying entity cost insights by implementing the new `getCatalogEntityDailyCost` that's part of the `CostInsightsApi`.
|
||||
@@ -0,0 +1,8 @@
|
||||
---
|
||||
'@backstage/backend-common': patch
|
||||
'@backstage/plugin-kubernetes': patch
|
||||
'@backstage/plugin-kubernetes-backend': patch
|
||||
'@backstage/plugin-kubernetes-common': patch
|
||||
---
|
||||
|
||||
Pin `@kubernetes/client-node` version to `0.17.0`.
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/plugin-auth-backend': patch
|
||||
---
|
||||
|
||||
Improve logging
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/plugin-techdocs': minor
|
||||
---
|
||||
|
||||
Hide document description if not provided
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/plugin-bitbucket-cloud-common': patch
|
||||
---
|
||||
|
||||
Add interfaces for Bitbucket Cloud (webhook) events.
|
||||
@@ -0,0 +1,14 @@
|
||||
---
|
||||
'@backstage/plugin-events-backend-module-gitlab': minor
|
||||
---
|
||||
|
||||
Adds a new module `gitlab` to plugin-events-backend.
|
||||
|
||||
The module adds a new event router `GitlabEventRouter`.
|
||||
|
||||
The event router will re-publish events received at topic `gitlab`
|
||||
under a more specific topic depending on their `$.event_name` value
|
||||
(e.g., `gitlab.push`).
|
||||
|
||||
Please find more information at
|
||||
https://github.com/backstage/backstage/tree/master/plugins/events-backend-module-gitlab/README.md.
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/plugin-tech-insights-backend': patch
|
||||
---
|
||||
|
||||
Add Documentation on 404 Errors
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/plugin-org': patch
|
||||
---
|
||||
|
||||
Add entity kind to the Ownership Cards. Fix the query parameters for the links of the Ownership Cards so that the catalog page actually selects the right entity kind.
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/plugin-techdocs': patch
|
||||
---
|
||||
|
||||
An analytics event matching the semantics of the `click` action is now captured when users click links within a TechDocs document.
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/plugin-techdocs-react': patch
|
||||
---
|
||||
|
||||
Analytics events captured within the `<TechDocsReaderPageProvider>` now include the conventional `entityRef` context value, associating those events with their corresponding entity.
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/plugin-scaffolder-backend': patch
|
||||
---
|
||||
|
||||
Implement "Branch protection rules" support for "publish:github" action
|
||||
@@ -0,0 +1,19 @@
|
||||
---
|
||||
'@backstage/create-app': patch
|
||||
---
|
||||
|
||||
Switched Node.js version to support version 16 & 18, rather than 14 & 16. To switch the Node.js version in your own project, apply the following change to the root `package.json`:
|
||||
|
||||
```diff
|
||||
"engines": {
|
||||
- "node": "14 || 16"
|
||||
+ "node": "16 || 18"
|
||||
},
|
||||
```
|
||||
|
||||
As well as the following change to `packages/app/package.json`:
|
||||
|
||||
```diff
|
||||
- "@types/node": "^14.14.32",
|
||||
+ "@types/node": "^16.11.26",
|
||||
```
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/plugin-scaffolder': patch
|
||||
---
|
||||
|
||||
Fix the return type for the `createNextScaffodlerFieldExtension` type as before it wasn't a component type for the extension
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/cli': minor
|
||||
---
|
||||
|
||||
Switched `tsconfig.json` to target and support `ES2021`, in line with the bump to Node.js 16 & 18.
|
||||
@@ -0,0 +1,6 @@
|
||||
---
|
||||
'@backstage/plugin-sonarqube': minor
|
||||
---
|
||||
|
||||
Fix sonarqube annotation parsing. Add content page for Sonarqube.
|
||||
Removed the deprecated `plugin` export; please use `sonarQubePlugin` instead.
|
||||
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/plugin-auth-backend': patch
|
||||
---
|
||||
|
||||
Inject optional `CatalogApi` into auth-backend `createRouter` function. This will enable developers to use customized `CatalogApi` when creating the router.
|
||||
@@ -0,0 +1,31 @@
|
||||
---
|
||||
'@backstage/create-app': patch
|
||||
---
|
||||
|
||||
Fixed incorrect comments in the templated `app-config.yaml` and `app-config.production.yaml`. The `backend.listen` directive is not in fact needed to override the `backend.baseUrl`, the backend listens to all interfaces by default. The configuration has also been updated to listen to all interfaces, rather than just IPv4 ones, as this is required for Node.js v18. The production configuration now also shows the option to specify `backend.listen` as a single string.
|
||||
|
||||
To apply this changes to an existing app, make the following change to `app-config.yaml`:
|
||||
|
||||
```diff
|
||||
- # Uncomment the following host directive to bind to all IPv4 interfaces and
|
||||
- # not just the baseUrl hostname.
|
||||
- # host: 0.0.0.0
|
||||
+ # Uncomment the following host directive to bind to specific interfaces
|
||||
+ # host: 127.0.0.1
|
||||
```
|
||||
|
||||
And the following change to `app-config.production.yaml`:
|
||||
|
||||
```diff
|
||||
- listen:
|
||||
- port: 7007
|
||||
- # The following host directive binds to all IPv4 interfaces when its value
|
||||
- # is "0.0.0.0". This is the most permissive setting. The right value depends
|
||||
- # on your specific deployment. If you remove the host line entirely, the
|
||||
- # backend will bind on the interface that corresponds to the backend.baseUrl
|
||||
- # hostname.
|
||||
- host: 0.0.0.0
|
||||
+ # The listener can also be expressed as a single <host>:<port> string. In this case we bind to
|
||||
+ # all interfaces, the most permissive setting. The right value depends on your specific deployment.
|
||||
+ listen: ':7007'
|
||||
```
|
||||
@@ -36,6 +36,15 @@ yarn.lock @backstage/reviewers @backst
|
||||
/plugins/code-coverage-backend @backstage/reviewers @alde @nissayeva
|
||||
/plugins/cost-insights @backstage/reviewers @backstage/silver-lining
|
||||
/plugins/cost-insights-* @backstage/reviewers @backstage/silver-lining
|
||||
/plugins/events-backend @backstage/reviewers @pjungermann
|
||||
/plugins/events-backend-module-aws-sqs @backstage/reviewers @pjungermann
|
||||
/plugins/events-backend-module-azure @backstage/reviewers @pjungermann
|
||||
/plugins/events-backend-module-bitbucket-cloud @backstage/reviewers @pjungermann
|
||||
/plugins/events-backend-module-gerrit @backstage/reviewers @pjungermann
|
||||
/plugins/events-backend-module-github @backstage/reviewers @pjungermann
|
||||
/plugins/events-backend-module-gitlab @backstage/reviewers @pjungermann
|
||||
/plugins/events-backend-test-utils @backstage/reviewers @pjungermann
|
||||
/plugins/events-node @backstage/reviewers @pjungermann
|
||||
/plugins/explore @backstage/reviewers @backstage/sda-se-reviewers
|
||||
/plugins/explore-react @backstage/reviewers @backstage/sda-se-reviewers
|
||||
/plugins/fossa @backstage/reviewers @backstage/sda-se-reviewers
|
||||
|
||||
@@ -0,0 +1,84 @@
|
||||
name: '🐛 Bug Report'
|
||||
description: 'Submit a bug report to help us improve'
|
||||
title: '🐛 Bug Report: '
|
||||
labels:
|
||||
- bug
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: We value your time and effort to submit this bug report. 🙏
|
||||
- type: textarea
|
||||
id: description
|
||||
validations:
|
||||
required: true
|
||||
attributes:
|
||||
label: '📜 Description'
|
||||
description: 'A clear and concise description of what the bug is.'
|
||||
placeholder: 'It bugs out when ...'
|
||||
- type: textarea
|
||||
id: expected-behavior
|
||||
validations:
|
||||
required: true
|
||||
attributes:
|
||||
label: '👍 Expected behavior'
|
||||
description: 'What did you think should happen?'
|
||||
placeholder: 'It should ...'
|
||||
- type: textarea
|
||||
id: actual-behavior
|
||||
validations:
|
||||
required: true
|
||||
attributes:
|
||||
label: '👎 Actual Behavior with Screenshots'
|
||||
description: 'What did actually happen? Add screenshots, if applicable.'
|
||||
placeholder: 'It actually ...'
|
||||
- type: textarea
|
||||
id: steps-to-reproduce
|
||||
validations:
|
||||
required: true
|
||||
attributes:
|
||||
label: '👟 Reproduction steps'
|
||||
description: 'How do you trigger this bug? Please walk us through it step by step.'
|
||||
placeholder:
|
||||
"Provide a link to a live example, or an unambiguous set of steps to reproduce this bug. Include code or configuration to reproduce, if relevant.\n
|
||||
1. Go to '...'\n
|
||||
2. Click on '....'\n
|
||||
3. Scroll down to '....'"
|
||||
- type: textarea
|
||||
id: context
|
||||
validations:
|
||||
required: false
|
||||
attributes:
|
||||
label: '📃 Provide the context for the Bug.'
|
||||
description: 'How has this issue affected you? What are you trying to accomplish?'
|
||||
placeholder: 'Providing context (e.g. links to configuration settings, stack trace or log data) helps us come up with a solution that is most useful in the real world.'
|
||||
- type: textarea
|
||||
id: environment
|
||||
validations:
|
||||
required: false
|
||||
attributes:
|
||||
label: '🖥️ Your Environment'
|
||||
description: 'Provide Browser Information
|
||||
Provide Output of `yarn backstage-cli info`'
|
||||
placeholder: 'Include as many relevant details about the environment you experienced the bug in.'
|
||||
- type: checkboxes
|
||||
id: no-duplicate-issues
|
||||
attributes:
|
||||
label: '👀 Have you spent some time to check if this bug has been raised before?'
|
||||
options:
|
||||
- label: "I checked and didn't find similar issue"
|
||||
required: true
|
||||
- type: checkboxes
|
||||
id: read-code-of-conduct
|
||||
attributes:
|
||||
label: '🏢 Have you read the Code of Conduct?'
|
||||
options:
|
||||
- label: 'I have read the [Code of Conduct](https://github.com/backstage/backstage/blob/master/CODE_OF_CONDUCT.md)'
|
||||
required: true
|
||||
- type: dropdown
|
||||
attributes:
|
||||
label: Are you willing to submit PR?
|
||||
description: This is absolutely not required, but we are happy to guide you in the contribution process.
|
||||
options:
|
||||
- Yes I am willing to submit a PR!
|
||||
- No, but I'm happy to collaborate on a PR with someone else
|
||||
- No, I don't have time to work on this right now
|
||||
@@ -1,44 +0,0 @@
|
||||
---
|
||||
name: 'Bug Report'
|
||||
about: 'Create Bug Report'
|
||||
labels: bug
|
||||
---
|
||||
|
||||
<!---
|
||||
Please use this template when reporting bugs. Thank you!
|
||||
-->
|
||||
|
||||
## Expected Behavior
|
||||
|
||||
<!--- Tell us what should happen -->
|
||||
|
||||
## Actual Behavior
|
||||
|
||||
<!--- Tell us what happens instead -->
|
||||
|
||||
## Steps to Reproduce
|
||||
|
||||
<!--- Provide a link to a live example, or an unambiguous set of steps to -->
|
||||
<!--- reproduce this bug. Include code or configuration to reproduce, if relevant -->
|
||||
|
||||
1. Step 1
|
||||
2. Step 2
|
||||
3. ...
|
||||
|
||||
## Context
|
||||
|
||||
<!--- How has this issue affected you? What are you trying to accomplish? -->
|
||||
<!--- Providing context (e.g. links to configuration settings, -->
|
||||
<!--- stack trace or log data) helps us come up with a solution that is most useful in the real world -->
|
||||
|
||||
## Your Environment
|
||||
|
||||
<!--- Include as many relevant details about the environment you experienced the bug in -->
|
||||
|
||||
- Browser Information: <!--- For example Google Chrome 97.0.4692.99 -->
|
||||
|
||||
- Output of `yarn backstage-cli info`: <!--- Paste into the code block below -->
|
||||
|
||||
```text
|
||||
|
||||
```
|
||||
@@ -0,0 +1,54 @@
|
||||
name: 🚀 Feature
|
||||
description: 'Submit a proposal for a new feature'
|
||||
title: '🚀 Feature: '
|
||||
labels: [enhancement]
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
We value your time and efforts to submit this Feature request form. 🙏
|
||||
- type: textarea
|
||||
id: feature-description
|
||||
validations:
|
||||
required: true
|
||||
attributes:
|
||||
label: '🔖 Feature description'
|
||||
description: 'A clear and concise description of what the feature is.'
|
||||
placeholder: 'You should add ...'
|
||||
- type: textarea
|
||||
id: context
|
||||
validations:
|
||||
required: true
|
||||
attributes:
|
||||
label: '🎤 Context'
|
||||
description: 'Please explain why this feature should be implemented and how it would be used. Add examples, if applicable.'
|
||||
placeholder: 'In my use-case, ...'
|
||||
- type: textarea
|
||||
id: implementation
|
||||
attributes:
|
||||
label: '✌️ Possible Implementation'
|
||||
description: 'A clear and concise description of what you want to happen.'
|
||||
placeholder: 'Not obligatory, but ideas as to the implementation of the addition or change'
|
||||
- type: checkboxes
|
||||
id: no-duplicate-issues
|
||||
attributes:
|
||||
label: '👀 Have you spent some time to check if this feature request has been raised before?'
|
||||
options:
|
||||
- label: "I checked and didn't find similar issue"
|
||||
required: true
|
||||
- type: checkboxes
|
||||
id: read-code-of-conduct
|
||||
attributes:
|
||||
label: '🏢 Have you read the Code of Conduct?'
|
||||
options:
|
||||
- label: 'I have read the [Contributing Guidelines](https://github.com/backstage/backstage/blob/master/CODE_OF_CONDUCT.md)'
|
||||
required: true
|
||||
- type: dropdown
|
||||
id: willing-to-submit-pr
|
||||
attributes:
|
||||
label: Are you willing to submit PR?
|
||||
description: This is absolutely not required, but we are happy to guide you in the contribution process.
|
||||
options:
|
||||
- Yes I am willing to submit a PR!
|
||||
- No, but I'm happy to collaborate on a PR with someone else
|
||||
- No, I don't have time to work on this right now
|
||||
@@ -1,22 +0,0 @@
|
||||
---
|
||||
name: 'Feature Request'
|
||||
about: 'Suggest new features and changes'
|
||||
labels: enhancement
|
||||
---
|
||||
|
||||
<!--- Provide a general summary of the feature request in the Title above -->
|
||||
|
||||
## Feature Suggestion
|
||||
|
||||
<!--- If you're looking for help, please see https://backstage.io/ --->
|
||||
<!--- Tell us how we could improve your experience -->
|
||||
|
||||
## Possible Implementation
|
||||
|
||||
<!--- Not obligatory, but ideas as to the implementation of the addition or change -->
|
||||
|
||||
## Context
|
||||
|
||||
<!--- What are you trying to accomplish? -->
|
||||
<!--- Providing context (e.g. links to configuration settings, stack trace or log data) -->
|
||||
<!--- helps us come up with a solution that is most useful in the real world -->
|
||||
@@ -0,0 +1,52 @@
|
||||
name: 🔌 Plugin
|
||||
description: 'Submit a proposal for a new Plugin'
|
||||
title: '🔌 Plugin: '
|
||||
labels: [plugin]
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
We value your time and efforts to submit this Plugin request form. 🙏
|
||||
- type: textarea
|
||||
id: plugin-summary
|
||||
validations:
|
||||
required: true
|
||||
attributes:
|
||||
label: '🔖 Summary'
|
||||
description: 'Provide a general summary of the plugin and how it should work'
|
||||
placeholder: 'You should add ...'
|
||||
- type: textarea
|
||||
id: website
|
||||
attributes:
|
||||
label: '🌐 Project website (if applicable)'
|
||||
description: 'Add a link to the open source project or product this plugin will integrate with, if existing'
|
||||
placeholder: 'Website Link is ...'
|
||||
- type: textarea
|
||||
id: context
|
||||
attributes:
|
||||
label: '✌️ Context'
|
||||
description: 'A clear and concise description about the Plugin.'
|
||||
placeholder: 'Providing additional context'
|
||||
- type: checkboxes
|
||||
id: no-duplicate-issues
|
||||
attributes:
|
||||
label: '👀 Have you spent some time to check if this plugin request has been raised before?'
|
||||
options:
|
||||
- label: "I checked and didn't find similar issue"
|
||||
required: true
|
||||
- type: checkboxes
|
||||
id: read-code-of-conduct
|
||||
attributes:
|
||||
label: '🏢 Have you read the Code of Conduct?'
|
||||
options:
|
||||
- label: 'I have read the [Contributing Guidelines](https://github.com/backstage/backstage/blob/master/CODE_OF_CONDUCT.md)'
|
||||
required: true
|
||||
- type: dropdown
|
||||
id: willing-to-submit-pr
|
||||
attributes:
|
||||
label: Are you willing to submit PR?
|
||||
description: This is absolutely not required, but we are happy to guide you in the contribution process.
|
||||
options:
|
||||
- Yes I am willing to submit a PR!
|
||||
- No, but I'm happy to collaborate on a PR with someone else
|
||||
- No, I don't have time to work on this right now
|
||||
@@ -1,21 +0,0 @@
|
||||
---
|
||||
name: 'Plugin suggestion'
|
||||
about: 'Suggest a new Backstage plugin'
|
||||
title: '[Plugin] THE PLUGIN NAME'
|
||||
labels: plugin
|
||||
---
|
||||
|
||||
<!--- Thanks for suggesting a new plugin! -->
|
||||
<!--- If you plan to work on this plugin, please Assign yourself or your team member(s) -->
|
||||
|
||||
## Summary
|
||||
|
||||
<!--- Provide a general summary of the plugin and how it should work -->
|
||||
|
||||
## Project website (if applicable)
|
||||
|
||||
<!--- Add a link to the open source project or product this plugin will integrate with, if existing -->
|
||||
|
||||
## Context
|
||||
|
||||
<!--- Providing additional context -->
|
||||
@@ -0,0 +1,51 @@
|
||||
name: 💬 RFC
|
||||
description: 'Request For Comments (RFC) from the community'
|
||||
title: '💬 RFC: '
|
||||
labels: [rfc]
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
We value your time and efforts to submit this RFC form. 🙏
|
||||
- type: textarea
|
||||
id: rfc-need
|
||||
validations:
|
||||
required: true
|
||||
attributes:
|
||||
label: '🔖 Need'
|
||||
description: 'Let us know why are you proposing this change'
|
||||
placeholder: 'The problem we’re trying to address and the benefits/impact we expect to get from this are ...'
|
||||
- type: textarea
|
||||
id: proposal
|
||||
validations:
|
||||
required: true
|
||||
attributes:
|
||||
label: '🎉 Proposal'
|
||||
description: 'Describe the proposal in as much detail as needed for reviewers to give concrete feedback.'
|
||||
placeholder: 'Take special care in this section to describe any implications on data privacy or security.'
|
||||
- type: textarea
|
||||
id: alternatives
|
||||
attributes:
|
||||
label: '〽️ Alternatives'
|
||||
description: 'What alternatives to the proposed solution were considered?'
|
||||
placeholder: 'What criteria/data was used to discard these?'
|
||||
- type: textarea
|
||||
id: risk
|
||||
attributes:
|
||||
label: '❌ Risks'
|
||||
description: 'What other things happening could conflict or compete (for example for resources) with the proposal?'
|
||||
placeholder: 'What risk are there and how do we plan to handle them?'
|
||||
- type: checkboxes
|
||||
id: no-duplicate-issues
|
||||
attributes:
|
||||
label: '👀 Have you spent some time to check if this RFC has been raised before?'
|
||||
options:
|
||||
- label: "I checked and didn't find similar issue"
|
||||
required: true
|
||||
- type: checkboxes
|
||||
id: read-code-of-conduct
|
||||
attributes:
|
||||
label: '🏢 Have you read the Code of Conduct?'
|
||||
options:
|
||||
- label: 'I have read the [Code of Conduct](https://github.com/backstage/backstage/blob/master/CODE_OF_CONDUCT.md)'
|
||||
required: true
|
||||
@@ -1,26 +0,0 @@
|
||||
---
|
||||
name: 'RFC'
|
||||
about: 'Request For Comments (RFC) from the community'
|
||||
labels: rfc
|
||||
title: '[RFC] <name>'
|
||||
---
|
||||
|
||||
**Status:** Open for comments
|
||||
|
||||
<!--- Open for comments |Closed for comments (RFC no longer maintained) --->
|
||||
|
||||
## Need
|
||||
|
||||
<!--- Why are we proposing this change? Why is this the problem we’re trying to address and what benefits/impact do we expect to get from this --->
|
||||
|
||||
## Proposal
|
||||
|
||||
<!--- The proposed approach. Describe the proposal in as much detail as needed for reviewers to give concrete feedback. Take special care in this section to describe any implications on data privacy or security. --->
|
||||
|
||||
## Alternatives
|
||||
|
||||
<!--- What alternatives to the proposed solution were considered? What criteria/data was used to discard these --->
|
||||
|
||||
## Risks
|
||||
|
||||
<!--- What other things happening could conflict or compete (for example for resources) with the proposal? What risk are there and how do we plan to handle them --->
|
||||
@@ -1,23 +0,0 @@
|
||||
---
|
||||
name: 'UX Component'
|
||||
about: 'For designers to request UX components to be added to the Backstage Storybook'
|
||||
labels: design
|
||||
---
|
||||
|
||||
## 🗒 General
|
||||
|
||||
<!--- Write a nice note to the community requesting the creation of a new component! -->
|
||||
<!--- Include an image of your component. Bonus points for a GIF! -->
|
||||
|
||||
## 💻 Usage
|
||||
|
||||
<!--- Tell us what the point of this component/pattern is! How does it help? How should it work? Any rules? -->
|
||||
|
||||
## 📐 Specs
|
||||
|
||||
<!--- Include images that detail the redlines for your component.-->
|
||||
<!--- Once we get our Figma workspace set up, we'll be posting the Figma files rather than doing specs by hand.-->
|
||||
|
||||
## 🔮 Future
|
||||
|
||||
<!-- Any upcoming, exciting functionality for this component in the future? List that out here. -->
|
||||
@@ -0,0 +1,53 @@
|
||||
name: 🦄 UX Component
|
||||
description: 'For designers to request UX components to be added to the Backstage Storybook'
|
||||
title: '🦄 UX Component: '
|
||||
labels: [design]
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
We value your time and efforts to submit this RFC form. 🙏
|
||||
- type: textarea
|
||||
id: ux-general
|
||||
validations:
|
||||
required: true
|
||||
attributes:
|
||||
label: '🔖 General'
|
||||
description: 'Write a nice note to the community requesting the creation of a new component.'
|
||||
placeholder: 'Include an image of your component. Bonus points for a GIF!'
|
||||
- type: textarea
|
||||
id: usage
|
||||
validations:
|
||||
required: true
|
||||
attributes:
|
||||
label: '💻 Usage'
|
||||
description: "Tell us what's the point of this component/pattern is."
|
||||
placeholder: 'How does it help? How should it work? Any rules?'
|
||||
- type: textarea
|
||||
id: specs
|
||||
validations:
|
||||
required: true
|
||||
attributes:
|
||||
label: '📐 Specs'
|
||||
description: 'Include images that detail the redlines for your component.'
|
||||
placeholder: "Once we get our Figma workspace set up, we'll be posting the Figma files rather than doing specs by hand."
|
||||
- type: textarea
|
||||
id: future
|
||||
attributes:
|
||||
label: '🔮 Future'
|
||||
description: 'List out any upcoming, exciting functionality for this component.'
|
||||
placeholder: 'The component will have ...'
|
||||
- type: checkboxes
|
||||
id: no-duplicate-issues
|
||||
attributes:
|
||||
label: '👀 Have you spent some time to check if this UX Component request has been raised before?'
|
||||
options:
|
||||
- label: "I checked and didn't find similar issue"
|
||||
required: true
|
||||
- type: checkboxes
|
||||
id: read-code-of-conduct
|
||||
attributes:
|
||||
label: '🏢 Have you read the Code of Conduct?'
|
||||
options:
|
||||
- label: 'I have read the [Code of Conduct](https://github.com/backstage/backstage/blob/master/CODE_OF_CONDUCT.md)'
|
||||
required: true
|
||||
@@ -4,9 +4,11 @@ ACLs
|
||||
addon
|
||||
addons
|
||||
ADRs
|
||||
airbrake
|
||||
Airbrake
|
||||
Airbrakes
|
||||
airbrake
|
||||
Alaria
|
||||
Alef
|
||||
Anddddd
|
||||
Apdex
|
||||
api
|
||||
@@ -26,9 +28,9 @@ Billett
|
||||
bitbucket
|
||||
Bitrise
|
||||
Blackbox
|
||||
Brex
|
||||
bool
|
||||
boolean
|
||||
Brex
|
||||
builtins
|
||||
callout
|
||||
CDNs
|
||||
@@ -42,6 +44,7 @@ CI/CD
|
||||
classname
|
||||
cli
|
||||
cloudbuild
|
||||
Cloudflare
|
||||
Cloudformation
|
||||
cncf
|
||||
Cobertura
|
||||
@@ -49,11 +52,11 @@ codeblocks
|
||||
Codecov
|
||||
codehilite
|
||||
Codehilite
|
||||
codescene
|
||||
CodeScene
|
||||
codemod
|
||||
codemods
|
||||
codeowners
|
||||
codescene
|
||||
CodeScene
|
||||
composability
|
||||
composable
|
||||
config
|
||||
@@ -75,8 +78,8 @@ Debounce
|
||||
debuggability
|
||||
declaratively
|
||||
deduplicated
|
||||
deps
|
||||
dependabot
|
||||
deps
|
||||
destructured
|
||||
destructuring
|
||||
dev
|
||||
@@ -95,9 +98,9 @@ don'ts
|
||||
dynatrace
|
||||
Dynatrace
|
||||
ecco
|
||||
elasticsearch
|
||||
env
|
||||
Env
|
||||
elasticsearch
|
||||
esbuild
|
||||
eslint
|
||||
ESModule
|
||||
@@ -117,12 +120,12 @@ Francesco
|
||||
gerrit
|
||||
Gerrit
|
||||
gitbeaker
|
||||
gitea
|
||||
Gitea
|
||||
github
|
||||
Gitiles
|
||||
gitlab
|
||||
GitLab
|
||||
gitea
|
||||
Gitea
|
||||
Gource
|
||||
Grafana
|
||||
graphql
|
||||
@@ -140,6 +143,7 @@ hotspots
|
||||
http
|
||||
https
|
||||
Iain
|
||||
Iglesias
|
||||
iLert
|
||||
img
|
||||
incentivised
|
||||
@@ -153,12 +157,12 @@ JaCoCo
|
||||
JavaScript
|
||||
jenkins
|
||||
Jira
|
||||
JWTs
|
||||
jq
|
||||
js
|
||||
json
|
||||
jsonnet
|
||||
jsx
|
||||
JWTs
|
||||
Kaewkasi
|
||||
Keyv
|
||||
Knex
|
||||
@@ -230,6 +234,8 @@ onboarding
|
||||
Onboarding
|
||||
OpenShift
|
||||
orgs
|
||||
padding
|
||||
paddings
|
||||
pagerduty
|
||||
pageview
|
||||
parallelization
|
||||
@@ -268,14 +274,13 @@ rebase
|
||||
Recharts
|
||||
Redash
|
||||
replicasets
|
||||
statefulsets
|
||||
repo
|
||||
Repo
|
||||
repos
|
||||
rerender
|
||||
rerenders
|
||||
Reusability
|
||||
reusability
|
||||
Reusability
|
||||
roadmaps
|
||||
rollbar
|
||||
Rollbar
|
||||
@@ -298,9 +303,9 @@ semver
|
||||
serializable
|
||||
Serverless
|
||||
shoutout
|
||||
siloed
|
||||
SIG
|
||||
SIGs
|
||||
siloed
|
||||
Sinon
|
||||
Snyk
|
||||
Sonarqube
|
||||
@@ -313,9 +318,11 @@ Spotify
|
||||
sqlite
|
||||
squidfunk
|
||||
src
|
||||
statefulsets
|
||||
stdout
|
||||
stringify
|
||||
storable
|
||||
stringified
|
||||
stringify
|
||||
subcomponent
|
||||
subcomponents
|
||||
subfolder
|
||||
@@ -329,10 +336,10 @@ superfences
|
||||
Superfences
|
||||
superset
|
||||
supertype
|
||||
storable
|
||||
SVGs
|
||||
talkdesk
|
||||
Talkdesk
|
||||
Tanzu
|
||||
tasklist
|
||||
techdocs
|
||||
Telenor
|
||||
@@ -347,6 +354,7 @@ theia
|
||||
thumbsup
|
||||
todo
|
||||
todos
|
||||
togglable
|
||||
tolerations
|
||||
Tolerations
|
||||
toolchain
|
||||
@@ -374,9 +382,11 @@ upvote
|
||||
URIs
|
||||
URLs
|
||||
utils
|
||||
Valentina
|
||||
validator
|
||||
validators
|
||||
varchar
|
||||
VMware
|
||||
VPCs
|
||||
VSCode
|
||||
Wayfair
|
||||
@@ -393,7 +403,6 @@ yaml
|
||||
Zalando
|
||||
Zhou
|
||||
zod
|
||||
Zolotusky
|
||||
zoomable
|
||||
zsh
|
||||
Alef
|
||||
Cloudflare
|
||||
|
||||
@@ -17,7 +17,7 @@ jobs:
|
||||
for your contributions.
|
||||
days-before-issue-stale: 60
|
||||
days-before-issue-close: 7
|
||||
exempt-issue-labels: pinned,security,plugin,after-vacations,rfc,will-fix
|
||||
exempt-issue-labels: plugin,after-vacations,will-fix
|
||||
stale-issue-label: stale
|
||||
stale-pr-message: >
|
||||
This PR has been automatically marked as stale because it has not had
|
||||
|
||||
@@ -17,7 +17,7 @@ jobs:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
node-version: [14.x, 16.x]
|
||||
node-version: [16.x, 18.x]
|
||||
|
||||
env:
|
||||
CI: true
|
||||
@@ -33,7 +33,7 @@ jobs:
|
||||
registry-url: https://registry.npmjs.org/ # Needed for auth
|
||||
|
||||
- name: yarn install
|
||||
uses: backstage/actions/yarn-install@v0.5.6
|
||||
uses: backstage/actions/yarn-install@v0.5.7
|
||||
with:
|
||||
cache-prefix: ${{ runner.os }}-v${{ matrix.node-version }}
|
||||
|
||||
@@ -47,7 +47,7 @@ jobs:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
node-version: [14.x, 16.x]
|
||||
node-version: [16.x, 18.x]
|
||||
|
||||
env:
|
||||
CI: true
|
||||
@@ -63,7 +63,7 @@ jobs:
|
||||
registry-url: https://registry.npmjs.org/ # Needed for auth
|
||||
|
||||
- name: yarn install
|
||||
uses: backstage/actions/yarn-install@v0.5.6
|
||||
uses: backstage/actions/yarn-install@v0.5.7
|
||||
with:
|
||||
cache-prefix: ${{ runner.os }}-v${{ matrix.node-version }}
|
||||
|
||||
@@ -121,7 +121,7 @@ jobs:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
node-version: [14.x, 16.x]
|
||||
node-version: [16.x, 18.x]
|
||||
|
||||
services:
|
||||
postgres13:
|
||||
@@ -178,7 +178,7 @@ jobs:
|
||||
registry-url: https://registry.npmjs.org/ # Needed for auth
|
||||
|
||||
- name: yarn install
|
||||
uses: backstage/actions/yarn-install@v0.5.6
|
||||
uses: backstage/actions/yarn-install@v0.5.7
|
||||
with:
|
||||
cache-prefix: ${{ runner.os }}-v${{ matrix.node-version }}
|
||||
|
||||
@@ -208,7 +208,7 @@ jobs:
|
||||
- name: test all packages (and upload coverage)
|
||||
if: ${{ steps.yarn-lock.outcome == 'failure' }}
|
||||
run: |
|
||||
yarn backstage-cli repo test --maxWorkers=2 --workerIdleMemoryLimit=1300M --coverage
|
||||
yarn backstage-cli repo test --maxWorkers=2 --workerIdleMemoryLimit=800M --coverage
|
||||
bash <(curl -s https://codecov.io/bash) -N $(git rev-parse FETCH_HEAD)
|
||||
env:
|
||||
BACKSTAGE_NEXT_TESTS: 1
|
||||
|
||||
@@ -8,7 +8,7 @@ jobs:
|
||||
cron:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: backstage/actions/cron@v0.5.6
|
||||
- uses: backstage/actions/cron@v0.5.7
|
||||
with:
|
||||
app-id: ${{ secrets.BACKSTAGE_GOALIE_APPLICATION_ID }}
|
||||
private-key: ${{ secrets.BACKSTAGE_GOALIE_PRIVATE_KEY }}
|
||||
|
||||
@@ -10,7 +10,7 @@ jobs:
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
node-version: [14.x]
|
||||
node-version: [16.x]
|
||||
|
||||
env:
|
||||
CI: true
|
||||
|
||||
@@ -11,7 +11,7 @@ jobs:
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
node-version: [14.x]
|
||||
node-version: [16.x]
|
||||
|
||||
env:
|
||||
CI: true
|
||||
@@ -26,7 +26,7 @@ jobs:
|
||||
node-version: ${{ matrix.node-version }}
|
||||
registry-url: https://registry.npmjs.org/ # Needed for auth
|
||||
- name: yarn install
|
||||
uses: backstage/actions/yarn-install@v0.5.6
|
||||
uses: backstage/actions/yarn-install@v0.5.7
|
||||
with:
|
||||
cache-prefix: ${{ runner.os }}-v${{ matrix.node-version }}
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@ jobs:
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
node-version: [14.x, 16.x]
|
||||
node-version: [16.x, 18.x]
|
||||
|
||||
services:
|
||||
postgres13:
|
||||
@@ -67,7 +67,7 @@ jobs:
|
||||
node-version: ${{ matrix.node-version }}
|
||||
registry-url: https://registry.npmjs.org/ # Needed for auth
|
||||
- name: yarn install
|
||||
uses: backstage/actions/yarn-install@v0.5.6
|
||||
uses: backstage/actions/yarn-install@v0.5.7
|
||||
with:
|
||||
cache-prefix: ${{ runner.os }}-v${{ matrix.node-version }}
|
||||
|
||||
@@ -130,7 +130,7 @@ jobs:
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
node-version: [14.x]
|
||||
node-version: [16.x]
|
||||
|
||||
env:
|
||||
CI: 'true'
|
||||
@@ -145,7 +145,7 @@ jobs:
|
||||
node-version: ${{ matrix.node-version }}
|
||||
registry-url: https://registry.npmjs.org/ # Needed for auth
|
||||
- name: yarn install
|
||||
uses: backstage/actions/yarn-install@v0.5.6
|
||||
uses: backstage/actions/yarn-install@v0.5.7
|
||||
with:
|
||||
cache-prefix: ${{ runner.os }}-v${{ matrix.node-version }}
|
||||
|
||||
|
||||
@@ -10,4 +10,4 @@ jobs:
|
||||
if: github.repository == 'backstage/backstage'
|
||||
steps:
|
||||
- name: Issue sync
|
||||
uses: backstage/actions/issue-sync@v0.5.6
|
||||
uses: backstage/actions/issue-sync@v0.5.7
|
||||
|
||||
@@ -35,7 +35,7 @@ jobs:
|
||||
const prNumber = artifact.name.slice('pr_number-'.length)
|
||||
console.log(`::set-output name=pr-number::${prNumber}`);
|
||||
|
||||
- uses: backstage/actions/re-review@v0.5.6
|
||||
- uses: backstage/actions/re-review@v0.5.7
|
||||
with:
|
||||
app-id: ${{ secrets.BACKSTAGE_GOALIE_APPLICATION_ID }}
|
||||
private-key: ${{ secrets.BACKSTAGE_GOALIE_PRIVATE_KEY }}
|
||||
|
||||
@@ -18,7 +18,7 @@ jobs:
|
||||
if: github.repository == 'backstage/backstage' && ( github.event.pull_request || github.event.issue.pull_request )
|
||||
steps:
|
||||
- name: PR sync
|
||||
uses: backstage/actions/pr-sync@v0.5.6
|
||||
uses: backstage/actions/pr-sync@v0.5.7
|
||||
with:
|
||||
github-token: ${{ secrets.GH_SERVICE_ACCOUNT_TOKEN }}
|
||||
app-id: ${{ secrets.BACKSTAGE_GOALIE_APPLICATION_ID }}
|
||||
|
||||
@@ -20,7 +20,7 @@ jobs:
|
||||
node-version: ${{ matrix.node-version }}
|
||||
registry-url: https://registry.npmjs.org/ # Needed for auth
|
||||
- name: yarn install
|
||||
uses: backstage/actions/yarn-install@v0.5.6
|
||||
uses: backstage/actions/yarn-install@v0.5.7
|
||||
with:
|
||||
cache-prefix: ${{ runner.os }}-v${{ matrix.node-version }}
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@ jobs:
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
node-version: [14.x]
|
||||
node-version: [16.x]
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
@@ -23,7 +23,7 @@ jobs:
|
||||
node-version: ${{ matrix.node-version }}
|
||||
registry-url: https://registry.npmjs.org/ # Needed for auth
|
||||
- name: yarn install
|
||||
uses: backstage/actions/yarn-install@v0.5.6
|
||||
uses: backstage/actions/yarn-install@v0.5.7
|
||||
with:
|
||||
cache-prefix: ${{ runner.os }}-v${{ matrix.node-version }}
|
||||
|
||||
|
||||
@@ -31,7 +31,7 @@ jobs:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
os: [ubuntu-latest]
|
||||
node-version: [14.x, 16.x]
|
||||
node-version: [16.x, 18.x]
|
||||
|
||||
env:
|
||||
CI: true
|
||||
@@ -52,7 +52,7 @@ jobs:
|
||||
node-version: ${{ matrix.node-version }}
|
||||
registry-url: https://registry.npmjs.org/ # Needed for auth
|
||||
- name: yarn install
|
||||
uses: backstage/actions/yarn-install@v0.5.6
|
||||
uses: backstage/actions/yarn-install@v0.5.7
|
||||
with:
|
||||
cache-prefix: ${{ runner.os }}-v${{ matrix.node-version }}
|
||||
|
||||
|
||||
@@ -18,7 +18,7 @@ jobs:
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
node-version: [14.x, 16.x]
|
||||
node-version: [16.x, 18.x]
|
||||
|
||||
env:
|
||||
CI: true
|
||||
|
||||
@@ -52,7 +52,7 @@ jobs:
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: '14'
|
||||
node-version: '16.x'
|
||||
|
||||
- name: yarn install
|
||||
run: yarn --cwd cypress install
|
||||
|
||||
@@ -22,7 +22,7 @@ jobs:
|
||||
strategy:
|
||||
matrix:
|
||||
os: [windows-2019]
|
||||
node-version: [14.x, 16.x]
|
||||
node-version: [16.x, 18.x]
|
||||
|
||||
env:
|
||||
CI: true
|
||||
|
||||
@@ -12,7 +12,7 @@ jobs:
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
node-version: [14.x, 16.x]
|
||||
node-version: [16.x, 18.x]
|
||||
|
||||
env:
|
||||
CI: true
|
||||
@@ -28,7 +28,7 @@ jobs:
|
||||
registry-url: https://registry.npmjs.org/ # Needed for auth
|
||||
|
||||
- name: yarn install
|
||||
uses: backstage/actions/yarn-install@v0.5.6
|
||||
uses: backstage/actions/yarn-install@v0.5.7
|
||||
with:
|
||||
cache-prefix: ${{ runner.os }}-v${{ matrix.node-version }}
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@ jobs:
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
node-version: [14.x]
|
||||
node-version: [16.x]
|
||||
|
||||
env:
|
||||
CI: true
|
||||
|
||||
@@ -35,7 +35,7 @@ jobs:
|
||||
node-version: ${{ matrix.node-version }}
|
||||
registry-url: https://registry.npmjs.org/ # Needed for auth
|
||||
- name: yarn install
|
||||
uses: backstage/actions/yarn-install@v0.5.6
|
||||
uses: backstage/actions/yarn-install@v0.5.7
|
||||
with:
|
||||
cache-prefix: ${{ runner.os }}-v${{ matrix.node-version }}
|
||||
- name: storybook yarn install
|
||||
|
||||
@@ -13,7 +13,7 @@ jobs:
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
node-version: [14.x, 16.x]
|
||||
node-version: [16.x, 18.x]
|
||||
|
||||
env:
|
||||
CI: true
|
||||
|
||||
+7
-2
@@ -141,7 +141,7 @@ _You can do this by using the [Adopter form](https://info.backstage.spotify.com/
|
||||
| [Kambi AB](https://www.kambi.com) | [Martin Norum](mailto:martin.norum@kambi.com) | We want to kick ass at speed, so we're currently building up a catalog of our existing software, and looking into how Backstage can support us in our journey towards autonomous product teams. Both to improve speed to market and operational awareness. |
|
||||
| [ANZ](https://www.anz.com.au/personal/) | [Elliot Jackson](mailto:elliot.jackson@anz.com) | Catalog, tech docs and automation |
|
||||
| [Genie Solutions](https://www.geniesolutionssoftware.com.au) | [Zainab Bagasrawala](mailto:zainabbagasrawala@geniesolutions.com.au) | Developer Portal to track our projects, documentation, observability tools and more |
|
||||
| [MadeiraMadeira](https://www.madeiramadeira.com.br) | [Paulo Eduardo Peixoto](mailto:paulo.peixoto@madeiramadeira.com.br) | As a support tool for developers, following the principles of "Developer Experience". In order to make the developer's day to day more practical, efficient and, why not, happy. |
|
||||
| [MadeiraMadeira](https://www.madeiramadeira.com.br) | [DX Team](mailto:dxteam@madeiramadeira.com.br) | As a support tool for developers, following the principles of "Developer Experience". In order to make the developer's day to day more practical, efficient and, why not, happy. |
|
||||
| [Sonatype](https://www.sonatype.com) | [Srikar Ananthula](mailto:sananthula@sonatype.com) | Centralize services used internally with many plugins |
|
||||
| [CVS Health](https://www.cvshealth.com) | [Ari Ben-Elazar](mailto:abenelazar@gmail.com) | Cataloging and documenting our service offerings to offer our internal developers a better operational journey |
|
||||
| [Yatra.com](https://www.yatra.com) | [Matiur Rahman Maitur](mailto:arifrahman4u@gmail.com) | Easy to find out Project details, ownership, dependent services, Documentation, it is very useful for developer. |
|
||||
@@ -215,4 +215,9 @@ _You can do this by using the [Adopter form](https://info.backstage.spotify.com/
|
||||
| [Ferrovial](https://ferrovial.com) | [Jose Luis Rosado](mailto:jlrosado@ferrovial.com) | Backstage is helping us to improve and acelerate dev experience helping teams to quickly find technical documentation, infrastructure templates, pipelines, software components and quickstarters that have been developed by our squads in a inner source friendly environment. |
|
||||
| [Inter&Co](https://bancointer.com.br) | [Arnaud Lanna](https://github.com/arnaudlanna), [Adriano Silva](https://github.com/adrianovss), [Bruno Grossi](https://github.com/begrossi) | We're using Backstage as our internal Developer Portal to catalog and collect repositories and microservices pieces of information like ownership, deployment time, and documentation. |
|
||||
| [StatusNeo](https://statusneo.com/) | [Karan Nangru](mailto:nangru@statusneo.com), [@NishkarshRaj](https://github.com/NishkarshRaj), and [Gaurav Sarien](mailto:gaurav.sarien@statusneo.com) | Harnessing the power of central catalog inventory and self-serving software templates |
|
||||
| [Alaska Airlines](https://alaskaair.com) | [@swerdick](https://github.com/swerdick) | Backstage is the developer portal for our 'software delivery platform'. Consolidating developer tools to one place, and providing automation to make it easy for developers to create and deploy applications to Kubernetes |
|
||||
| [Alaska Airlines](https://alaskaair.com) | [@swerdick](https://github.com/swerdick) | Backstage is the developer portal for our 'software delivery platform'. Consolidating developer tools to one place, and providing automation to make it easy for developers to create and deploy applications to Kubernetes
|
||||
| [Loft](https://loft.com.br) | [Squad DevTools](mailto:squad_devtools@loft.com.br) | We're using Backstage to give visibility and promote ownership of all our applications, resources and tools. Now moving to use it as a Developer Portal to create applications, AWS resources etc. |
|
||||
| [Raízen](https://www.raizen.com) | [Melquisedque Bernardes Pereira](https://github.com/rayleshh) and [Paulo Eduardo Peixoto](https://github.com/padupe) | Backstage helps us to organize and make available, in a simple and direct way, all the infrastructure for new projects. In addition, it has become a great support tool for our developers. |
|
||||
| [Trifork](https://trifork.com) | [Casper Thygesen](https://github.com/cthtrifork) | We're using Backstage as part of our dataplatform product. It integrates with the infrastructure components and is the developer portal for all the platform users. |
|
||||
| [MSCI](http://msci.com) | [Stephen Burrows](mailto:stephen.burrows@msci.com) | Developer portal, service catalog, documentation and tooling
|
||||
| [ESW](https://esw.com) | [Alisson Fabiano](https://github.com/afabianoo), [Bruno Quintella](https://github.com/quintelab) and [Guilherme Oenning](https://github.com/goenning) | Backstage is our one stop shop to find everything related to all our services, such as ownership, dependencies, production status, tech health and much more.
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
[](https://discord.gg/EBHEGzX)
|
||||

|
||||
[](https://codecov.io/gh/backstage/backstage)
|
||||
[](https://github.com/backstage/backstage/releases)
|
||||
[](https://github.com/backstage/backstage/releases)
|
||||
|
||||
## What is Backstage?
|
||||
|
||||
@@ -52,7 +52,7 @@ Check out [the documentation](https://backstage.io/docs/getting-started) on how
|
||||
- [Code of Conduct](CODE_OF_CONDUCT.md) - This is how we roll
|
||||
- [Adopters](ADOPTERS.md) - Companies already using Backstage
|
||||
- [Blog](https://backstage.io/blog/) - Announcements and updates
|
||||
- [Newsletter](https://mailchi.mp/spotify/backstage-community) - Subscribe to our email newsletter
|
||||
- [Newsletter](https://spoti.fi/backstagenewsletter) - Subscribe to our email newsletter
|
||||
- [Backstage Community Sessions](https://github.com/backstage/community) - Join monthly meetups and explore Backstage community
|
||||
- Give us a star ⭐️ - If you are using Backstage or think it is an interesting project, we would love a star ❤️
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user