diff --git a/.changeset/fast-seas-hunt.md b/.changeset/fast-seas-hunt.md new file mode 100644 index 0000000000..0dcf8daf30 --- /dev/null +++ b/.changeset/fast-seas-hunt.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-auth-backend-module-cloudflare-access-provider': patch +--- + +Use the email from `cfIdentity` instead of `claims` when constructing user profile in order to support Cloudflare Service Tokens. diff --git a/.changeset/four-bananas-sneeze.md b/.changeset/four-bananas-sneeze.md new file mode 100644 index 0000000000..0f496b306f --- /dev/null +++ b/.changeset/four-bananas-sneeze.md @@ -0,0 +1,6 @@ +--- +'@backstage/plugin-proxy-backend': patch +'@backstage/plugin-proxy-node': minor +--- + +Added `proxyEndpointsExtensionPoint` to allow addition of proxy configuration through an extension point in the new backend system. diff --git a/.changeset/light-sloths-report.md b/.changeset/light-sloths-report.md new file mode 100644 index 0000000000..8e9c20e9a4 --- /dev/null +++ b/.changeset/light-sloths-report.md @@ -0,0 +1,6 @@ +--- +'@backstage/backend-defaults': patch +--- + +The `GerritUrlReader` can now read content from a commit and not only from the top of a branch. The +Gitiles URL must contain the full commit `SHA` hash like: `https://gerrit.com/gitiles/repo/+/2846e8dc327ae2f60249983b1c3b96f42f205bae/catalog-info.yaml`. diff --git a/.changeset/lovely-stingrays-know.md b/.changeset/lovely-stingrays-know.md new file mode 100644 index 0000000000..056b4f391d --- /dev/null +++ b/.changeset/lovely-stingrays-know.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-scaffolder-backend-module-gitlab': patch +--- + +Added `reviewerIds` to the Gitlab Merge Request action. diff --git a/.changeset/old-waves-camp.md b/.changeset/old-waves-camp.md new file mode 100644 index 0000000000..04e3b520ae --- /dev/null +++ b/.changeset/old-waves-camp.md @@ -0,0 +1,13 @@ +--- +'@backstage/integration': patch +--- + +A new Gerrit helper function (`buildGerritGitilesArchiveUrlFromLocation`) has been added. This +constructs a Gitiles URL to download an archive. It is similar to the existing +`buildGerritGitilesArchiveUrl` but also support content referenced by a full commit `SHA`. + +**DEPRECATIONS**: The function `buildGerritGitilesArchiveUrl` is deprecated, use the +`buildGerritGitilesArchiveUrlFromLocation` function instead. + +**DEPRECATIONS**: The function `parseGerritGitilesUrl` is deprecated, use the +`parseGitilesUrlRef` function instead. diff --git a/.changeset/pre.json b/.changeset/pre.json index 47232c15e9..bb3ef0d04b 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -1,5 +1,5 @@ { - "mode": "pre", + "mode": "exit", "tag": "next", "initialVersions": { "example-app": "0.2.104", diff --git a/.changeset/purple-scissors-switch.md b/.changeset/purple-scissors-switch.md new file mode 100644 index 0000000000..fe3fd07f58 --- /dev/null +++ b/.changeset/purple-scissors-switch.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-scaffolder-backend-module-gitlab': patch +--- + +Added action `gitlab:group:migrate` to migrate projects using `bulk_import` diff --git a/.changeset/strong-schools-fix.md b/.changeset/strong-schools-fix.md new file mode 100644 index 0000000000..117d33a3eb --- /dev/null +++ b/.changeset/strong-schools-fix.md @@ -0,0 +1,6 @@ +--- +'@backstage/plugin-scaffolder-react': patch +'@backstage/plugin-scaffolder': patch +--- + +Added support for `FormDecoratorBlueprint` to create form decorators in the Scaffolder plugin diff --git a/.changeset/swift-islands-burn.md b/.changeset/swift-islands-burn.md new file mode 100644 index 0000000000..f38870143b --- /dev/null +++ b/.changeset/swift-islands-burn.md @@ -0,0 +1,5 @@ +--- +'@backstage/cli': patch +--- + +Removed the `EXPERIMENTAL_VITE` flag for using Vite as a dev server. If you were using this feature, we recommend switching to Rspack via the `EXPERIMENTAL_RSPACK` flag. diff --git a/.changeset/tasty-chairs-beam.md b/.changeset/tasty-chairs-beam.md new file mode 100644 index 0000000000..8a64e6fd0e --- /dev/null +++ b/.changeset/tasty-chairs-beam.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-catalog-backend-module-backstage-openapi': patch +--- + +docs: Use a valid configuration as example diff --git a/.changeset/thick-radios-wink.md b/.changeset/thick-radios-wink.md new file mode 100644 index 0000000000..25b12cc09f --- /dev/null +++ b/.changeset/thick-radios-wink.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-catalog-backend-module-bitbucket-server': patch +--- + +Updated the `getFile` method in `BitbucketServerClient` to use `this.config.apiBaseUrl` directly for constructing the API request URL, removing the creation of an unnecessary `URL` object. The method now relies on REST API paths for accessing resources instead of direct access, ensuring better alignment with Bitbucket's API conventions. diff --git a/.changeset/young-forks-grab.md b/.changeset/young-forks-grab.md new file mode 100644 index 0000000000..8cc5f96600 --- /dev/null +++ b/.changeset/young-forks-grab.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-scaffolder-backend-module-gitlab': patch +--- + +Updated the path field in the `gitlab:group:ensureExists` action to accept an array of either strings or objects with name and slug fields. diff --git a/OWNERS.md b/OWNERS.md index 0932d3386b..15e989f3b7 100644 --- a/OWNERS.md +++ b/OWNERS.md @@ -132,6 +132,7 @@ Scope: Tooling and Community Repo Maintainers for the Backstage [Community Plugi | -------------------- | ------------ | ------------------------------------------- | ------------ | | André Wanlin | Spotify | [awanlin](https://github.com/awanlin) | `ahhhndre` | | Bethany Griggs | Red Hat | [BethGriggs](https://github.com/BethGriggs) | `bethgriggs` | +| Kashish Mittal | Red Hat | [04kash](https://github.com/04kash) | `kashh._.` | | Nick Boldt | Red Hat | [nickboldt](https://github.com/nickboldt) | `nboldt` | | Vincenzo Scamporlino | Spotify | [vinzscam](https://github.com/vinzscam) | `vinzscam` | diff --git a/canon-docs/src/app/globals.css b/canon-docs/src/app/globals.css index de791f589a..4b39735a22 100644 --- a/canon-docs/src/app/globals.css +++ b/canon-docs/src/app/globals.css @@ -4,6 +4,10 @@ body { background-color: var(--canon-background); color: var(--canon-text-primary); transition: background-color 0.2s ease-in-out; + + --docs-font: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, + 'Helvetica Neue', Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', + 'Segoe UI Symbol', 'Noto Color Emoji'; } iframe { diff --git a/canon-docs/src/app/layout.tsx b/canon-docs/src/app/layout.tsx index f51e130a67..6eb1856a1d 100644 --- a/canon-docs/src/app/layout.tsx +++ b/canon-docs/src/app/layout.tsx @@ -1,8 +1,9 @@ import type { Metadata } from 'next'; import { Sidebar } from '../components/Sidebar'; +import { Toolbar } from '@/components/Toolbar'; +import { Providers } from './providers'; import styles from './page.module.css'; -import { Providers } from './providers'; import './globals.css'; import '/public/core.css'; @@ -19,10 +20,6 @@ export default function RootLayout({ }: Readonly<{ children: React.ReactNode; }>) { - // const cookieStore = await cookies(); - // const theme = cookieStore.get('theme')?.value || 'light'; - // const themeName = cookieStore.get('theme-name')?.value || 'default'; - return (
+ {children as ReactNode} +
+ {children}
+
+ ),
img: props => (