-
+
-
- {breadcrumb.section && breadcrumb.sectionLink ? (
- <>
-
- {breadcrumb.section}
-
-
-
- {breadcrumb.title}
-
- >
- ) : (
- {breadcrumb.title}
- )}
-
+
setIsCommandPaletteOpen(true)}
+ >
+
+ Search
+ ⌘K
+
{
+
);
};
diff --git a/packages/ui/css/styles.css b/docs-ui/src/css/theme-backstage.css
similarity index 93%
rename from packages/ui/css/styles.css
rename to docs-ui/src/css/theme-backstage.css
index 1564855309..96861993ee 100644
--- a/packages/ui/css/styles.css
+++ b/docs-ui/src/css/theme-backstage.css
@@ -1,15 +1,13 @@
-@layer tokens, base, components, utilities;
-
-/*! modern-normalize v3.0.1 | MIT License | https://github.com/sindresorhus/modern-normalize */
@layer tokens {
:root {
--bui-font-regular: system-ui;
- --bui-font-monospace: ui-monospace, "Menlo", "Monaco", "Consolas", "Liberation Mono", "Courier New", monospace;
+ --bui-font-monospace: ui-monospace, 'Menlo', 'Monaco', 'Consolas',
+ 'Liberation Mono', 'Courier New', monospace;
--bui-font-weight-regular: 400;
--bui-font-weight-bold: 600;
- --bui-font-size-1: .625rem;
- --bui-font-size-2: .75rem;
- --bui-font-size-3: .875rem;
+ --bui-font-size-1: 0.625rem;
+ --bui-font-size-2: 0.75rem;
+ --bui-font-size-3: 0.875rem;
--bui-font-size-4: 1rem;
--bui-font-size-5: 1.25rem;
--bui-font-size-6: 1.5rem;
@@ -17,8 +15,8 @@
--bui-font-size-8: 3rem;
--bui-font-size-9: 4rem;
--bui-font-size-10: 5.75rem;
- --bui-space: .25rem;
- --bui-space-0_5: calc(var(--bui-space) * .5);
+ --bui-space: 0.25rem;
+ --bui-space-0_5: calc(var(--bui-space) * 0.5);
--bui-space-1: var(--bui-space);
--bui-space-1_5: calc(var(--bui-space) * 1.5);
--bui-space-2: calc(var(--bui-space) * 2);
@@ -34,64 +32,53 @@
--bui-space-12: calc(var(--bui-space) * 12);
--bui-space-13: calc(var(--bui-space) * 13);
--bui-space-14: calc(var(--bui-space) * 14);
- --bui-radius-1: calc(.125rem);
- --bui-radius-2: calc(.25rem);
- --bui-radius-3: calc(.5rem);
- --bui-radius-4: calc(.75rem);
+ --bui-radius-1: calc(0.125rem);
+ --bui-radius-2: calc(0.25rem);
+ --bui-radius-3: calc(0.5rem);
+ --bui-radius-4: calc(0.75rem);
--bui-radius-5: calc(1rem);
--bui-radius-6: calc(1.25rem);
--bui-radius-full: 9999px;
--bui-black: #000;
--bui-white: #fff;
- --bui-gray-1: #f8f8f8;
- --bui-gray-2: #ececec;
- --bui-gray-3: #d9d9d9;
- --bui-gray-4: #c1c1c1;
- --bui-gray-5: #9e9e9e;
- --bui-gray-6: #8c8c8c;
- --bui-gray-7: #757575;
- --bui-gray-8: #595959;
- --bui-bg-surface-0: var(--bui-gray-1);
- --bui-bg-surface-1: var(--bui-white);
- --bui-bg-surface-2: var(--bui-gray-1);
- --bui-bg-surface-3: var(--bui-gray-2);
--bui-bg-solid: #1f5493;
--bui-bg-solid-hover: #163a66;
--bui-bg-solid-pressed: #0f2b4e;
--bui-bg-solid-disabled: #163a66;
- --bui-bg-neutral-on-surface-0: oklch(0% 0 0 / .06);
- --bui-bg-neutral-on-surface-0-hover: oklch(0% 0 0 / .12);
- --bui-bg-neutral-on-surface-0-pressed: oklch(0% 0 0 / .16);
- --bui-bg-neutral-on-surface-0-disabled: oklch(0% 0 0 / .06);
- --bui-bg-neutral-on-surface-1: oklch(0% 0 0 / .06);
- --bui-bg-neutral-on-surface-1-hover: oklch(0% 0 0 / .12);
- --bui-bg-neutral-on-surface-1-pressed: oklch(0% 0 0 / .16);
- --bui-bg-neutral-on-surface-1-disabled: oklch(0% 0 0 / .06);
- --bui-bg-neutral-on-surface-2: oklch(0% 0 0 / .06);
- --bui-bg-neutral-on-surface-2-hover: oklch(0% 0 0 / .12);
- --bui-bg-neutral-on-surface-2-pressed: oklch(0% 0 0 / .16);
- --bui-bg-neutral-on-surface-2-disabled: oklch(0% 0 0 / .06);
- --bui-bg-neutral-on-surface-3: oklch(0% 0 0 / .06);
- --bui-bg-neutral-on-surface-3-hover: oklch(0% 0 0 / .12);
- --bui-bg-neutral-on-surface-3-pressed: oklch(0% 0 0 / .16);
- --bui-bg-neutral-on-surface-3-disabled: oklch(0% 0 0 / .06);
+ --bui-bg-neutral-0: #f8f8f8;
+ --bui-bg-neutral-1: #fff;
+ --bui-bg-neutral-1-hover: oklch(0% 0 0/0.12);
+ --bui-bg-neutral-1-pressed: oklch(0% 0 0/0.16);
+ --bui-bg-neutral-1-disabled: oklch(0% 0 0/0.06);
+ --bui-bg-neutral-2: oklch(0% 0 0/0.06);
+ --bui-bg-neutral-2-hover: oklch(0% 0 0/0.12);
+ --bui-bg-neutral-2-pressed: oklch(0% 0 0/0.16);
+ --bui-bg-neutral-2-disabled: oklch(0% 0 0/0.06);
+ --bui-bg-neutral-3: oklch(0% 0 0/0.06);
+ --bui-bg-neutral-3-hover: oklch(0% 0 0/0.12);
+ --bui-bg-neutral-3-pressed: oklch(0% 0 0/0.16);
+ --bui-bg-neutral-3-disabled: oklch(0% 0 0/0.06);
+ --bui-bg-neutral-4: oklch(0% 0 0/0.06);
+ --bui-bg-neutral-4-hover: oklch(0% 0 0/0.12);
+ --bui-bg-neutral-4-pressed: oklch(0% 0 0/0.16);
+ --bui-bg-neutral-4-disabled: oklch(0% 0 0/0.06);
--bui-bg-danger: #ffe2e2;
--bui-bg-warning: #ffedd5;
--bui-bg-success: #dcfce7;
--bui-bg-info: #dbeafe;
--bui-fg-primary: var(--bui-black);
- --bui-fg-secondary: var(--bui-gray-7);
- --bui-fg-link: #1f5493;
- --bui-fg-link-hover: #1f2d5c;
- --bui-fg-disabled: #9e9e9e;
+ --bui-fg-secondary: oklch(0% 0 0/0.5);
+ --bui-fg-disabled: oklch(0% 0 0/0.28);
--bui-fg-solid: var(--bui-white);
--bui-fg-solid-disabled: #98a8bc;
- --bui-fg-tint: #1f5493;
- --bui-fg-tint-disabled: var(--bui-gray-5);
- --bui-fg-danger: #991919;
- --bui-fg-warning: #92310a;
- --bui-fg-success: #116932;
- --bui-fg-info: #173da6;
+ --bui-fg-danger-on-bg: #991919;
+ --bui-fg-warning-on-bg: #92310a;
+ --bui-fg-success-on-bg: #116932;
+ --bui-fg-info-on-bg: #173da6;
+ --bui-fg-danger: #ec3b18;
+ --bui-fg-warning: #ef7a32;
+ --bui-fg-success: #1ed760;
+ --bui-fg-info: #0d74ce;
--bui-border: #0000001a;
--bui-border-hover: #0003;
--bui-border-pressed: #0006;
@@ -104,59 +91,47 @@
--bui-scrollbar: #a0a0a03b;
--bui-scrollbar-thumb: #a0a0a0;
--bui-shadow: 0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;
- --bui-animate-pulse: pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;
+ --bui-animate-pulse: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}
-
- [data-theme-mode="dark"] {
- --bui-gray-1: #191919;
- --bui-gray-2: #242424;
- --bui-gray-3: #373737;
- --bui-gray-4: #464646;
- --bui-gray-5: #575757;
- --bui-gray-6: #7b7b7b;
- --bui-gray-7: #9e9e9e;
- --bui-gray-8: #b4b4b4;
- --bui-bg-surface-0: #333;
- --bui-bg-surface-1: var(--bui-gray-1);
- --bui-bg-surface-2: var(--bui-gray-2);
- --bui-bg-surface-3: var(--bui-gray-3);
+ [data-theme-mode='dark'] {
--bui-bg-solid: #9cc9ff;
--bui-bg-solid-hover: #83b9fd;
--bui-bg-solid-pressed: #83b9fd;
--bui-bg-solid-disabled: #1b3d68;
- --bui-bg-neutral-on-surface-0: oklch(100% 0 0 / .1);
- --bui-bg-neutral-on-surface-0-hover: oklch(100% 0 0 / .14);
- --bui-bg-neutral-on-surface-0-pressed: oklch(100% 0 0 / .2);
- --bui-bg-neutral-on-surface-0-disabled: oklch(100% 0 0 / .1);
- --bui-bg-neutral-on-surface-1: oklch(100% 0 0 / .06);
- --bui-bg-neutral-on-surface-1-hover: oklch(100% 0 0 / .1);
- --bui-bg-neutral-on-surface-1-pressed: oklch(100% 0 0 / .16);
- --bui-bg-neutral-on-surface-1-disabled: oklch(100% 0 0 / .06);
- --bui-bg-neutral-on-surface-2: oklch(100% 0 0 / .08);
- --bui-bg-neutral-on-surface-2-hover: oklch(100% 0 0 / .12);
- --bui-bg-neutral-on-surface-2-pressed: oklch(100% 0 0 / .2);
- --bui-bg-neutral-on-surface-2-disabled: oklch(100% 0 0 / .08);
- --bui-bg-neutral-on-surface-3: oklch(100% 0 0 / .08);
- --bui-bg-neutral-on-surface-3-hover: oklch(100% 0 0 / .12);
- --bui-bg-neutral-on-surface-3-pressed: oklch(100% 0 0 / .2);
- --bui-bg-neutral-on-surface-3-disabled: oklch(100% 0 0 / .08);
+ --bui-bg-neutral-0: #333;
+ --bui-bg-neutral-1: oklch(100% 0 0/0.1);
+ --bui-bg-neutral-1-hover: oklch(100% 0 0/0.14);
+ --bui-bg-neutral-1-pressed: oklch(100% 0 0/0.2);
+ --bui-bg-neutral-1-disabled: oklch(100% 0 0/0.1);
+ --bui-bg-neutral-2: oklch(100% 0 0/0.06);
+ --bui-bg-neutral-2-hover: oklch(100% 0 0/0.1);
+ --bui-bg-neutral-2-pressed: oklch(100% 0 0/0.16);
+ --bui-bg-neutral-2-disabled: oklch(100% 0 0/0.06);
+ --bui-bg-neutral-3: oklch(100% 0 0/0.08);
+ --bui-bg-neutral-3-hover: oklch(100% 0 0/0.12);
+ --bui-bg-neutral-3-pressed: oklch(100% 0 0/0.2);
+ --bui-bg-neutral-3-disabled: oklch(100% 0 0/0.08);
+ --bui-bg-neutral-4: oklch(100% 0 0/0.08);
+ --bui-bg-neutral-4-hover: oklch(100% 0 0/0.12);
+ --bui-bg-neutral-4-pressed: oklch(100% 0 0/0.2);
+ --bui-bg-neutral-4-disabled: oklch(100% 0 0/0.08);
--bui-bg-danger: #300c0c;
--bui-bg-warning: #302008;
--bui-bg-success: #042713;
--bui-bg-info: #132049;
--bui-fg-primary: var(--bui-white);
- --bui-fg-secondary: var(--bui-gray-7);
- --bui-fg-link: #9cc9ff;
- --bui-fg-link-hover: #7eb5f7;
- --bui-fg-disabled: var(--bui-gray-7);
+ --bui-fg-secondary: oklch(0% 0 0/0.5);
+ --bui-fg-disabled: oklch(0% 0 0/0.28);
--bui-fg-solid: #101821;
--bui-fg-solid-disabled: #6191cc;
- --bui-fg-tint: #9cc9ff;
- --bui-fg-tint-disabled: var(--bui-gray-5);
- --bui-fg-danger: #fca5a5;
- --bui-fg-warning: #fdba74;
- --bui-fg-success: #86efac;
- --bui-fg-info: #a3cfff;
+ --bui-fg-danger-on-bg: #fca5a5;
+ --bui-fg-warning-on-bg: #fdba74;
+ --bui-fg-success-on-bg: #86efac;
+ --bui-fg-info-on-bg: #a3cfff;
+ --bui-fg-danger: #ff5a30;
+ --bui-fg-warning: #ffa057;
+ --bui-fg-success: #1ed760;
+ --bui-fg-info: #70b8ff;
--bui-border: #ffffff1f;
--bui-border-hover: #fff6;
--bui-border-pressed: #ffffff80;
@@ -171,109 +146,104 @@
--bui-shadow: none;
}
}
-
@layer base {
- *, :before, :after {
+ *,
+ :before,
+ :after {
box-sizing: border-box;
}
-
html {
-webkit-text-size-adjust: 100%;
tab-size: 4;
- font-family: system-ui, Segoe UI, Roboto, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji;
+ font-family: system-ui, Segoe UI, Roboto, Helvetica, Arial, sans-serif,
+ Apple Color Emoji, Segoe UI Emoji;
line-height: 1.15;
}
-
body {
margin: 0;
}
-
- b, strong {
+ b,
+ strong {
font-weight: bolder;
}
-
- code, kbd, samp, pre {
- font-family: ui-monospace, SFMono-Regular, Consolas, Liberation Mono, Menlo, monospace;
+ code,
+ kbd,
+ samp,
+ pre {
+ font-family: ui-monospace, SFMono-Regular, Consolas, Liberation Mono, Menlo,
+ monospace;
font-size: 1em;
}
-
small {
font-size: 80%;
}
-
- sub, sup {
+ sub,
+ sup {
vertical-align: baseline;
font-size: 75%;
line-height: 0;
position: relative;
}
-
sub {
- bottom: -.25em;
+ bottom: -0.25em;
}
-
sup {
- top: -.5em;
+ top: -0.5em;
}
-
table {
border-color: currentColor;
}
-
- button, input, optgroup, select, textarea {
+ button,
+ input,
+ optgroup,
+ select,
+ textarea {
margin: 0;
font-family: inherit;
font-size: 100%;
line-height: 1.15;
}
-
- button, [type="button"], [type="reset"], [type="submit"] {
+ button,
+ [type='button'],
+ [type='reset'],
+ [type='submit'] {
-webkit-appearance: button;
}
-
legend {
padding: 0;
}
-
progress {
vertical-align: baseline;
}
-
- ::-webkit-inner-spin-button, ::-webkit-outer-spin-button {
+ ::-webkit-inner-spin-button,
+ ::-webkit-outer-spin-button {
height: auto;
}
-
- [type="search"] {
+ [type='search'] {
-webkit-appearance: textfield;
outline-offset: -2px;
}
-
::-webkit-search-decoration {
-webkit-appearance: none;
}
-
::-webkit-file-upload-button {
-webkit-appearance: button;
font: inherit;
}
-
summary {
display: list-item;
}
-
:where(a) {
color: inherit;
text-decoration: none;
}
-
@keyframes pulse {
50% {
- opacity: .5;
+ opacity: 0.5;
}
}
-
body {
- background-color: var(--bui-bg-surface-0);
+ background-color: var(--bui-bg-neutral-0);
color: var(--bui-fg-primary);
font-family: var(--bui-font-regular);
font-weight: var(--bui-font-weight-regular);
@@ -281,9012 +251,6914 @@
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
-
- [data-theme-mode="dark"] {
+ [data-theme-mode='dark'] {
color-scheme: dark;
}
-
- [data-theme-mode="light"] {
+ [data-theme-mode='light'] {
color-scheme: light;
}
}
-
@layer components;
-
@layer utilities {
.bui-p {
padding: var(--p);
}
-
.bui-p-0\.5 {
padding: var(--bui-space-0_5);
}
-
.bui-p-1 {
padding: var(--bui-space-1);
}
-
.bui-p-1\.5 {
padding: var(--bui-space-1_5);
}
-
.bui-p-2 {
padding: var(--bui-space-2);
}
-
.bui-p-3 {
padding: var(--bui-space-3);
}
-
.bui-p-4 {
padding: var(--bui-space-4);
}
-
.bui-p-5 {
padding: var(--bui-space-5);
}
-
.bui-p-6 {
padding: var(--bui-space-6);
}
-
.bui-p-7 {
padding: var(--bui-space-7);
}
-
.bui-p-8 {
padding: var(--bui-space-8);
}
-
.bui-p-9 {
padding: var(--bui-space-9);
}
-
.bui-p-10 {
padding: var(--bui-space-10);
}
-
.bui-p-11 {
padding: var(--bui-space-11);
}
-
.bui-p-12 {
padding: var(--bui-space-12);
}
-
.bui-p-13 {
padding: var(--bui-space-13);
}
-
.bui-p-14 {
padding: var(--bui-space-14);
}
-
- @media (width >= 640px) {
+ @media (width>=640px) {
.xs\:bui-p {
padding: var(--p-xs);
}
-
.xs\:bui-p-0\.5 {
padding: var(--bui-space-0_5);
}
-
.xs\:bui-p-1 {
padding: var(--bui-space-1);
}
-
.xs\:bui-p-1\.5 {
padding: var(--bui-space-1_5);
}
-
.xs\:bui-p-2 {
padding: var(--bui-space-2);
}
-
.xs\:bui-p-3 {
padding: var(--bui-space-3);
}
-
.xs\:bui-p-4 {
padding: var(--bui-space-4);
}
-
.xs\:bui-p-5 {
padding: var(--bui-space-5);
}
-
.xs\:bui-p-6 {
padding: var(--bui-space-6);
}
-
.xs\:bui-p-7 {
padding: var(--bui-space-7);
}
-
.xs\:bui-p-8 {
padding: var(--bui-space-8);
}
-
.xs\:bui-p-9 {
padding: var(--bui-space-9);
}
-
.xs\:bui-p-10 {
padding: var(--bui-space-10);
}
-
.xs\:bui-p-11 {
padding: var(--bui-space-11);
}
-
.xs\:bui-p-12 {
padding: var(--bui-space-12);
}
-
.xs\:bui-p-13 {
padding: var(--bui-space-13);
}
-
.xs\:bui-p-14 {
padding: var(--bui-space-14);
}
}
-
- @media (width >= 768px) {
+ @media (width>=768px) {
.sm\:bui-p {
padding: var(--p-sm);
}
-
.sm\:bui-p-0\.5 {
padding: var(--bui-space-0_5);
}
-
.sm\:bui-p-1 {
padding: var(--bui-space-1);
}
-
.sm\:bui-p-1\.5 {
padding: var(--bui-space-1_5);
}
-
.sm\:bui-p-2 {
padding: var(--bui-space-2);
}
-
.sm\:bui-p-3 {
padding: var(--bui-space-3);
}
-
.sm\:bui-p-4 {
padding: var(--bui-space-4);
}
-
.sm\:bui-p-5 {
padding: var(--bui-space-5);
}
-
.sm\:bui-p-6 {
padding: var(--bui-space-6);
}
-
.sm\:bui-p-7 {
padding: var(--bui-space-7);
}
-
.sm\:bui-p-8 {
padding: var(--bui-space-8);
}
-
.sm\:bui-p-9 {
padding: var(--bui-space-9);
}
-
.sm\:bui-p-10 {
padding: var(--bui-space-10);
}
-
.sm\:bui-p-11 {
padding: var(--bui-space-11);
}
-
.sm\:bui-p-12 {
padding: var(--bui-space-12);
}
-
.sm\:bui-p-13 {
padding: var(--bui-space-13);
}
-
.sm\:bui-p-14 {
padding: var(--bui-space-14);
}
}
-
- @media (width >= 1024px) {
+ @media (width>=1024px) {
.md\:bui-p {
padding: var(--p-md);
}
-
.md\:bui-p-0\.5 {
padding: var(--bui-space-0_5);
}
-
.md\:bui-p-1 {
padding: var(--bui-space-1);
}
-
.md\:bui-p-1\.5 {
padding: var(--bui-space-1_5);
}
-
.md\:bui-p-2 {
padding: var(--bui-space-2);
}
-
.md\:bui-p-3 {
padding: var(--bui-space-3);
}
-
.md\:bui-p-4 {
padding: var(--bui-space-4);
}
-
.md\:bui-p-5 {
padding: var(--bui-space-5);
}
-
.md\:bui-p-6 {
padding: var(--bui-space-6);
}
-
.md\:bui-p-7 {
padding: var(--bui-space-7);
}
-
.md\:bui-p-8 {
padding: var(--bui-space-8);
}
-
.md\:bui-p-9 {
padding: var(--bui-space-9);
}
-
.md\:bui-p-10 {
padding: var(--bui-space-10);
}
-
.md\:bui-p-11 {
padding: var(--bui-space-11);
}
-
.md\:bui-p-12 {
padding: var(--bui-space-12);
}
-
.md\:bui-p-13 {
padding: var(--bui-space-13);
}
-
.md\:bui-p-14 {
padding: var(--bui-space-14);
}
}
-
- @media (width >= 1280px) {
+ @media (width>=1280px) {
.lg\:bui-p {
padding: var(--p-lg);
}
-
.lg\:bui-p-0\.5 {
padding: var(--bui-space-0_5);
}
-
.lg\:bui-p-1 {
padding: var(--bui-space-1);
}
-
.lg\:bui-p-1\.5 {
padding: var(--bui-space-1_5);
}
-
.lg\:bui-p-2 {
padding: var(--bui-space-2);
}
-
.lg\:bui-p-3 {
padding: var(--bui-space-3);
}
-
.lg\:bui-p-4 {
padding: var(--bui-space-4);
}
-
.lg\:bui-p-5 {
padding: var(--bui-space-5);
}
-
.lg\:bui-p-6 {
padding: var(--bui-space-6);
}
-
.lg\:bui-p-7 {
padding: var(--bui-space-7);
}
-
.lg\:bui-p-8 {
padding: var(--bui-space-8);
}
-
.lg\:bui-p-9 {
padding: var(--bui-space-9);
}
-
.lg\:bui-p-10 {
padding: var(--bui-space-10);
}
-
.lg\:bui-p-11 {
padding: var(--bui-space-11);
}
-
.lg\:bui-p-12 {
padding: var(--bui-space-12);
}
-
.lg\:bui-p-13 {
padding: var(--bui-space-13);
}
-
.lg\:bui-p-14 {
padding: var(--bui-space-14);
}
}
-
- @media (width >= 1536px) {
+ @media (width>=1536px) {
.xl\:bui-p {
padding: var(--p-xl);
}
-
.xl\:bui-p-0\.5 {
padding: var(--bui-space-0_5);
}
-
.xl\:bui-p-1 {
padding: var(--bui-space-1);
}
-
.xl\:bui-p-1\.5 {
padding: var(--bui-space-1_5);
}
-
.xl\:bui-p-2 {
padding: var(--bui-space-2);
}
-
.xl\:bui-p-3 {
padding: var(--bui-space-3);
}
-
.xl\:bui-p-4 {
padding: var(--bui-space-4);
}
-
.xl\:bui-p-5 {
padding: var(--bui-space-5);
}
-
.xl\:bui-p-6 {
padding: var(--bui-space-6);
}
-
.xl\:bui-p-7 {
padding: var(--bui-space-7);
}
-
.xl\:bui-p-8 {
padding: var(--bui-space-8);
}
-
.xl\:bui-p-9 {
padding: var(--bui-space-9);
}
-
.xl\:bui-p-10 {
padding: var(--bui-space-10);
}
-
.xl\:bui-p-11 {
padding: var(--bui-space-11);
}
-
.xl\:bui-p-12 {
padding: var(--bui-space-12);
}
-
.xl\:bui-p-13 {
padding: var(--bui-space-13);
}
-
.xl\:bui-p-14 {
padding: var(--bui-space-14);
}
}
-
.bui-pl {
padding-left: var(--pl);
}
-
.bui-pl-0\.5 {
padding-left: var(--bui-space-0_5);
}
-
.bui-pl-1 {
padding-left: var(--bui-space-1);
}
-
.bui-pl-1\.5 {
padding-left: var(--bui-space-1_5);
}
-
.bui-pl-2 {
padding-left: var(--bui-space-2);
}
-
.bui-pl-3 {
padding-left: var(--bui-space-3);
}
-
.bui-pl-4 {
padding-left: var(--bui-space-4);
}
-
.bui-pl-5 {
padding-left: var(--bui-space-5);
}
-
.bui-pl-6 {
padding-left: var(--bui-space-6);
}
-
.bui-pl-7 {
padding-left: var(--bui-space-7);
}
-
.bui-pl-8 {
padding-left: var(--bui-space-8);
}
-
.bui-pl-9 {
padding-left: var(--bui-space-9);
}
-
.bui-pl-10 {
padding-left: var(--bui-space-10);
}
-
.bui-pl-11 {
padding-left: var(--bui-space-11);
}
-
.bui-pl-12 {
padding-left: var(--bui-space-12);
}
-
.bui-pl-13 {
padding-left: var(--bui-space-13);
}
-
.bui-pl-14 {
padding-left: var(--bui-space-14);
}
-
- @media (width >= 640px) {
+ @media (width>=640px) {
.xs\:bui-pl {
padding-left: var(--pl-xs);
}
-
.xs\:bui-pl-0\.5 {
padding-left: var(--bui-space-0_5);
}
-
.xs\:bui-pl-1 {
padding-left: var(--bui-space-1);
}
-
.xs\:bui-pl-1\.5 {
padding-left: var(--bui-space-1_5);
}
-
.xs\:bui-pl-2 {
padding-left: var(--bui-space-2);
}
-
.xs\:bui-pl-3 {
padding-left: var(--bui-space-3);
}
-
.xs\:bui-pl-4 {
padding-left: var(--bui-space-4);
}
-
.xs\:bui-pl-5 {
padding-left: var(--bui-space-5);
}
-
.xs\:bui-pl-6 {
padding-left: var(--bui-space-6);
}
-
.xs\:bui-pl-7 {
padding-left: var(--bui-space-7);
}
-
.xs\:bui-pl-8 {
padding-left: var(--bui-space-8);
}
-
.xs\:bui-pl-9 {
padding-left: var(--bui-space-9);
}
-
.xs\:bui-pl-10 {
padding-left: var(--bui-space-10);
}
-
.xs\:bui-pl-11 {
padding-left: var(--bui-space-11);
}
-
.xs\:bui-pl-12 {
padding-left: var(--bui-space-12);
}
-
.xs\:bui-pl-13 {
padding-left: var(--bui-space-13);
}
-
.xs\:bui-pl-14 {
padding-left: var(--bui-space-14);
}
}
-
- @media (width >= 768px) {
+ @media (width>=768px) {
.sm\:bui-pl {
padding-left: var(--pl-sm);
}
-
.sm\:bui-pl-0\.5 {
padding-left: var(--bui-space-0_5);
}
-
.sm\:bui-pl-1 {
padding-left: var(--bui-space-1);
}
-
.sm\:bui-pl-1\.5 {
padding-left: var(--bui-space-1_5);
}
-
.sm\:bui-pl-2 {
padding-left: var(--bui-space-2);
}
-
.sm\:bui-pl-3 {
padding-left: var(--bui-space-3);
}
-
.sm\:bui-pl-4 {
padding-left: var(--bui-space-4);
}
-
.sm\:bui-pl-5 {
padding-left: var(--bui-space-5);
}
-
.sm\:bui-pl-6 {
padding-left: var(--bui-space-6);
}
-
.sm\:bui-pl-7 {
padding-left: var(--bui-space-7);
}
-
.sm\:bui-pl-8 {
padding-left: var(--bui-space-8);
}
-
.sm\:bui-pl-9 {
padding-left: var(--bui-space-9);
}
-
.sm\:bui-pl-10 {
padding-left: var(--bui-space-10);
}
-
.sm\:bui-pl-11 {
padding-left: var(--bui-space-11);
}
-
.sm\:bui-pl-12 {
padding-left: var(--bui-space-12);
}
-
.sm\:bui-pl-13 {
padding-left: var(--bui-space-13);
}
-
.sm\:bui-pl-14 {
padding-left: var(--bui-space-14);
}
}
-
- @media (width >= 1024px) {
+ @media (width>=1024px) {
.md\:bui-pl {
padding-left: var(--pl-md);
}
-
.md\:bui-pl-0\.5 {
padding-left: var(--bui-space-0_5);
}
-
.md\:bui-pl-1 {
padding-left: var(--bui-space-1);
}
-
.md\:bui-pl-1\.5 {
padding-left: var(--bui-space-1_5);
}
-
.md\:bui-pl-2 {
padding-left: var(--bui-space-2);
}
-
.md\:bui-pl-3 {
padding-left: var(--bui-space-3);
}
-
.md\:bui-pl-4 {
padding-left: var(--bui-space-4);
}
-
.md\:bui-pl-5 {
padding-left: var(--bui-space-5);
}
-
.md\:bui-pl-6 {
padding-left: var(--bui-space-6);
}
-
.md\:bui-pl-7 {
padding-left: var(--bui-space-7);
}
-
.md\:bui-pl-8 {
padding-left: var(--bui-space-8);
}
-
.md\:bui-pl-9 {
padding-left: var(--bui-space-9);
}
-
.md\:bui-pl-10 {
padding-left: var(--bui-space-10);
}
-
.md\:bui-pl-11 {
padding-left: var(--bui-space-11);
}
-
.md\:bui-pl-12 {
padding-left: var(--bui-space-12);
}
-
.md\:bui-pl-13 {
padding-left: var(--bui-space-13);
}
-
.md\:bui-pl-14 {
padding-left: var(--bui-space-14);
}
}
-
- @media (width >= 1280px) {
+ @media (width>=1280px) {
.lg\:bui-pl {
padding-left: var(--pl-lg);
}
-
.lg\:bui-pl-0\.5 {
padding-left: var(--bui-space-0_5);
}
-
.lg\:bui-pl-1 {
padding-left: var(--bui-space-1);
}
-
.lg\:bui-pl-1\.5 {
padding-left: var(--bui-space-1_5);
}
-
.lg\:bui-pl-2 {
padding-left: var(--bui-space-2);
}
-
.lg\:bui-pl-3 {
padding-left: var(--bui-space-3);
}
-
.lg\:bui-pl-4 {
padding-left: var(--bui-space-4);
}
-
.lg\:bui-pl-5 {
padding-left: var(--bui-space-5);
}
-
.lg\:bui-pl-6 {
padding-left: var(--bui-space-6);
}
-
.lg\:bui-pl-7 {
padding-left: var(--bui-space-7);
}
-
.lg\:bui-pl-8 {
padding-left: var(--bui-space-8);
}
-
.lg\:bui-pl-9 {
padding-left: var(--bui-space-9);
}
-
.lg\:bui-pl-10 {
padding-left: var(--bui-space-10);
}
-
.lg\:bui-pl-11 {
padding-left: var(--bui-space-11);
}
-
.lg\:bui-pl-12 {
padding-left: var(--bui-space-12);
}
-
.lg\:bui-pl-13 {
padding-left: var(--bui-space-13);
}
-
.lg\:bui-pl-14 {
padding-left: var(--bui-space-14);
}
}
-
- @media (width >= 1536px) {
+ @media (width>=1536px) {
.xl\:bui-pl {
padding-left: var(--pl-xl);
}
-
.xl\:bui-pl-0\.5 {
padding-left: var(--bui-space-0_5);
}
-
.xl\:bui-pl-1 {
padding-left: var(--bui-space-1);
}
-
.xl\:bui-pl-1\.5 {
padding-left: var(--bui-space-1_5);
}
-
.xl\:bui-pl-2 {
padding-left: var(--bui-space-2);
}
-
.xl\:bui-pl-3 {
padding-left: var(--bui-space-3);
}
-
.xl\:bui-pl-4 {
padding-left: var(--bui-space-4);
}
-
.xl\:bui-pl-5 {
padding-left: var(--bui-space-5);
}
-
.xl\:bui-pl-6 {
padding-left: var(--bui-space-6);
}
-
.xl\:bui-pl-7 {
padding-left: var(--bui-space-7);
}
-
.xl\:bui-pl-8 {
padding-left: var(--bui-space-8);
}
-
.xl\:bui-pl-9 {
padding-left: var(--bui-space-9);
}
-
.xl\:bui-pl-10 {
padding-left: var(--bui-space-10);
}
-
.xl\:bui-pl-11 {
padding-left: var(--bui-space-11);
}
-
.xl\:bui-pl-12 {
padding-left: var(--bui-space-12);
}
-
.xl\:bui-pl-13 {
padding-left: var(--bui-space-13);
}
-
.xl\:bui-pl-14 {
padding-left: var(--bui-space-14);
}
}
-
.bui-pr {
padding-right: var(--pr);
}
-
.bui-pr-0\.5 {
padding-right: var(--bui-space-0_5);
}
-
.bui-pr-1 {
padding-right: var(--bui-space-1);
}
-
.bui-pr-1\.5 {
padding-right: var(--bui-space-1_5);
}
-
.bui-pr-2 {
padding-right: var(--bui-space-2);
}
-
.bui-pr-3 {
padding-right: var(--bui-space-3);
}
-
.bui-pr-4 {
padding-right: var(--bui-space-4);
}
-
.bui-pr-5 {
padding-right: var(--bui-space-5);
}
-
.bui-pr-6 {
padding-right: var(--bui-space-6);
}
-
.bui-pr-7 {
padding-right: var(--bui-space-7);
}
-
.bui-pr-8 {
padding-right: var(--bui-space-8);
}
-
.bui-pr-9 {
padding-right: var(--bui-space-9);
}
-
.bui-pr-10 {
padding-right: var(--bui-space-10);
}
-
.bui-pr-11 {
padding-right: var(--bui-space-11);
}
-
.bui-pr-12 {
padding-right: var(--bui-space-12);
}
-
.bui-pr-13 {
padding-right: var(--bui-space-13);
}
-
.bui-pr-14 {
padding-right: var(--bui-space-14);
}
-
- @media (width >= 640px) {
+ @media (width>=640px) {
.xs\:bui-pr {
padding-right: var(--pr-xs);
}
-
.xs\:bui-pr-0\.5 {
padding-right: var(--bui-space-0_5);
}
-
.xs\:bui-pr-1 {
padding-right: var(--bui-space-1);
}
-
.xs\:bui-pr-1\.5 {
padding-right: var(--bui-space-1_5);
}
-
.xs\:bui-pr-2 {
padding-right: var(--bui-space-2);
}
-
.xs\:bui-pr-3 {
padding-right: var(--bui-space-3);
}
-
.xs\:bui-pr-4 {
padding-right: var(--bui-space-4);
}
-
.xs\:bui-pr-5 {
padding-right: var(--bui-space-5);
}
-
.xs\:bui-pr-6 {
padding-right: var(--bui-space-6);
}
-
.xs\:bui-pr-7 {
padding-right: var(--bui-space-7);
}
-
.xs\:bui-pr-8 {
padding-right: var(--bui-space-8);
}
-
.xs\:bui-pr-9 {
padding-right: var(--bui-space-9);
}
-
.xs\:bui-pr-10 {
padding-right: var(--bui-space-10);
}
-
.xs\:bui-pr-11 {
padding-right: var(--bui-space-11);
}
-
.xs\:bui-pr-12 {
padding-right: var(--bui-space-12);
}
-
.xs\:bui-pr-13 {
padding-right: var(--bui-space-13);
}
-
.xs\:bui-pr-14 {
padding-right: var(--bui-space-14);
}
}
-
- @media (width >= 768px) {
+ @media (width>=768px) {
.sm\:bui-pr {
padding-right: var(--pr-sm);
}
-
.sm\:bui-pr-0\.5 {
padding-right: var(--bui-space-0_5);
}
-
.sm\:bui-pr-1 {
padding-right: var(--bui-space-1);
}
-
.sm\:bui-pr-1\.5 {
padding-right: var(--bui-space-1_5);
}
-
.sm\:bui-pr-2 {
padding-right: var(--bui-space-2);
}
-
.sm\:bui-pr-3 {
padding-right: var(--bui-space-3);
}
-
.sm\:bui-pr-4 {
padding-right: var(--bui-space-4);
}
-
.sm\:bui-pr-5 {
padding-right: var(--bui-space-5);
}
-
.sm\:bui-pr-6 {
padding-right: var(--bui-space-6);
}
-
.sm\:bui-pr-7 {
padding-right: var(--bui-space-7);
}
-
.sm\:bui-pr-8 {
padding-right: var(--bui-space-8);
}
-
.sm\:bui-pr-9 {
padding-right: var(--bui-space-9);
}
-
.sm\:bui-pr-10 {
padding-right: var(--bui-space-10);
}
-
.sm\:bui-pr-11 {
padding-right: var(--bui-space-11);
}
-
.sm\:bui-pr-12 {
padding-right: var(--bui-space-12);
}
-
.sm\:bui-pr-13 {
padding-right: var(--bui-space-13);
}
-
.sm\:bui-pr-14 {
padding-right: var(--bui-space-14);
}
}
-
- @media (width >= 1024px) {
+ @media (width>=1024px) {
.md\:bui-pr {
padding-right: var(--pr-md);
}
-
.md\:bui-pr-0\.5 {
padding-right: var(--bui-space-0_5);
}
-
.md\:bui-pr-1 {
padding-right: var(--bui-space-1);
}
-
.md\:bui-pr-1\.5 {
padding-right: var(--bui-space-1_5);
}
-
.md\:bui-pr-2 {
padding-right: var(--bui-space-2);
}
-
.md\:bui-pr-3 {
padding-right: var(--bui-space-3);
}
-
.md\:bui-pr-4 {
padding-right: var(--bui-space-4);
}
-
.md\:bui-pr-5 {
padding-right: var(--bui-space-5);
}
-
.md\:bui-pr-6 {
padding-right: var(--bui-space-6);
}
-
.md\:bui-pr-7 {
padding-right: var(--bui-space-7);
}
-
.md\:bui-pr-8 {
padding-right: var(--bui-space-8);
}
-
.md\:bui-pr-9 {
padding-right: var(--bui-space-9);
}
-
.md\:bui-pr-10 {
padding-right: var(--bui-space-10);
}
-
.md\:bui-pr-11 {
padding-right: var(--bui-space-11);
}
-
.md\:bui-pr-12 {
padding-right: var(--bui-space-12);
}
-
.md\:bui-pr-13 {
padding-right: var(--bui-space-13);
}
-
.md\:bui-pr-14 {
padding-right: var(--bui-space-14);
}
}
-
- @media (width >= 1280px) {
+ @media (width>=1280px) {
.lg\:bui-pr {
padding-right: var(--pr-lg);
}
-
.lg\:bui-pr-0\.5 {
padding-right: var(--bui-space-0_5);
}
-
.lg\:bui-pr-1 {
padding-right: var(--bui-space-1);
}
-
.lg\:bui-pr-1\.5 {
padding-right: var(--bui-space-1_5);
}
-
.lg\:bui-pr-2 {
padding-right: var(--bui-space-2);
}
-
.lg\:bui-pr-3 {
padding-right: var(--bui-space-3);
}
-
.lg\:bui-pr-4 {
padding-right: var(--bui-space-4);
}
-
.lg\:bui-pr-5 {
padding-right: var(--bui-space-5);
}
-
.lg\:bui-pr-6 {
padding-right: var(--bui-space-6);
}
-
.lg\:bui-pr-7 {
padding-right: var(--bui-space-7);
}
-
.lg\:bui-pr-8 {
padding-right: var(--bui-space-8);
}
-
.lg\:bui-pr-9 {
padding-right: var(--bui-space-9);
}
-
.lg\:bui-pr-10 {
padding-right: var(--bui-space-10);
}
-
.lg\:bui-pr-11 {
padding-right: var(--bui-space-11);
}
-
.lg\:bui-pr-12 {
padding-right: var(--bui-space-12);
}
-
.lg\:bui-pr-13 {
padding-right: var(--bui-space-13);
}
-
.lg\:bui-pr-14 {
padding-right: var(--bui-space-14);
}
}
-
- @media (width >= 1536px) {
+ @media (width>=1536px) {
.xl\:bui-pr {
padding-right: var(--pr-xl);
}
-
.xl\:bui-pr-0\.5 {
padding-right: var(--bui-space-0_5);
}
-
.xl\:bui-pr-1 {
padding-right: var(--bui-space-1);
}
-
.xl\:bui-pr-1\.5 {
padding-right: var(--bui-space-1_5);
}
-
.xl\:bui-pr-2 {
padding-right: var(--bui-space-2);
}
-
.xl\:bui-pr-3 {
padding-right: var(--bui-space-3);
}
-
.xl\:bui-pr-4 {
padding-right: var(--bui-space-4);
}
-
.xl\:bui-pr-5 {
padding-right: var(--bui-space-5);
}
-
.xl\:bui-pr-6 {
padding-right: var(--bui-space-6);
}
-
.xl\:bui-pr-7 {
padding-right: var(--bui-space-7);
}
-
.xl\:bui-pr-8 {
padding-right: var(--bui-space-8);
}
-
.xl\:bui-pr-9 {
padding-right: var(--bui-space-9);
}
-
.xl\:bui-pr-10 {
padding-right: var(--bui-space-10);
}
-
.xl\:bui-pr-11 {
padding-right: var(--bui-space-11);
}
-
.xl\:bui-pr-12 {
padding-right: var(--bui-space-12);
}
-
.xl\:bui-pr-13 {
padding-right: var(--bui-space-13);
}
-
.xl\:bui-pr-14 {
padding-right: var(--bui-space-14);
}
}
-
.bui-pt {
padding-top: var(--pt);
}
-
.bui-pt-0\.5 {
padding-top: var(--bui-space-0_5);
}
-
.bui-pt-1 {
padding-top: var(--bui-space-1);
}
-
.bui-pt-1\.5 {
padding-top: var(--bui-space-1_5);
}
-
.bui-pt-2 {
padding-top: var(--bui-space-2);
}
-
.bui-pt-3 {
padding-top: var(--bui-space-3);
}
-
.bui-pt-4 {
padding-top: var(--bui-space-4);
}
-
.bui-pt-5 {
padding-top: var(--bui-space-5);
}
-
.bui-pt-6 {
padding-top: var(--bui-space-6);
}
-
.bui-pt-7 {
padding-top: var(--bui-space-7);
}
-
.bui-pt-8 {
padding-top: var(--bui-space-8);
}
-
.bui-pt-9 {
padding-top: var(--bui-space-9);
}
-
.bui-pt-10 {
padding-top: var(--bui-space-10);
}
-
.bui-pt-11 {
padding-top: var(--bui-space-11);
}
-
.bui-pt-12 {
padding-top: var(--bui-space-12);
}
-
.bui-pt-13 {
padding-top: var(--bui-space-13);
}
-
.bui-pt-14 {
padding-top: var(--bui-space-14);
}
-
- @media (width >= 640px) {
+ @media (width>=640px) {
.xs\:bui-pt {
padding-top: var(--pt-xs);
}
-
.xs\:bui-pt-0\.5 {
padding-top: var(--bui-space-0_5);
}
-
.xs\:bui-pt-1 {
padding-top: var(--bui-space-1);
}
-
.xs\:bui-pt-1\.5 {
padding-top: var(--bui-space-1_5);
}
-
.xs\:bui-pt-2 {
padding-top: var(--bui-space-2);
}
-
.xs\:bui-pt-3 {
padding-top: var(--bui-space-3);
}
-
.xs\:bui-pt-4 {
padding-top: var(--bui-space-4);
}
-
.xs\:bui-pt-5 {
padding-top: var(--bui-space-5);
}
-
.xs\:bui-pt-6 {
padding-top: var(--bui-space-6);
}
-
.xs\:bui-pt-7 {
padding-top: var(--bui-space-7);
}
-
.xs\:bui-pt-8 {
padding-top: var(--bui-space-8);
}
-
.xs\:bui-pt-9 {
padding-top: var(--bui-space-9);
}
-
.xs\:bui-pt-10 {
padding-top: var(--bui-space-10);
}
-
.xs\:bui-pt-11 {
padding-top: var(--bui-space-11);
}
-
.xs\:bui-pt-12 {
padding-top: var(--bui-space-12);
}
-
.xs\:bui-pt-13 {
padding-top: var(--bui-space-13);
}
-
.xs\:bui-pt-14 {
padding-top: var(--bui-space-14);
}
}
-
- @media (width >= 768px) {
+ @media (width>=768px) {
.sm\:bui-pt {
padding-top: var(--pt-sm);
}
-
.sm\:bui-pt-0\.5 {
padding-top: var(--bui-space-0_5);
}
-
.sm\:bui-pt-1 {
padding-top: var(--bui-space-1);
}
-
.sm\:bui-pt-1\.5 {
padding-top: var(--bui-space-1_5);
}
-
.sm\:bui-pt-2 {
padding-top: var(--bui-space-2);
}
-
.sm\:bui-pt-3 {
padding-top: var(--bui-space-3);
}
-
.sm\:bui-pt-4 {
padding-top: var(--bui-space-4);
}
-
.sm\:bui-pt-5 {
padding-top: var(--bui-space-5);
}
-
.sm\:bui-pt-6 {
padding-top: var(--bui-space-6);
}
-
.sm\:bui-pt-7 {
padding-top: var(--bui-space-7);
}
-
.sm\:bui-pt-8 {
padding-top: var(--bui-space-8);
}
-
.sm\:bui-pt-9 {
padding-top: var(--bui-space-9);
}
-
.sm\:bui-pt-10 {
padding-top: var(--bui-space-10);
}
-
.sm\:bui-pt-11 {
padding-top: var(--bui-space-11);
}
-
.sm\:bui-pt-12 {
padding-top: var(--bui-space-12);
}
-
.sm\:bui-pt-13 {
padding-top: var(--bui-space-13);
}
-
.sm\:bui-pt-14 {
padding-top: var(--bui-space-14);
}
}
-
- @media (width >= 1024px) {
+ @media (width>=1024px) {
.md\:bui-pt {
padding-top: var(--pt-md);
}
-
.md\:bui-pt-0\.5 {
padding-top: var(--bui-space-0_5);
}
-
.md\:bui-pt-1 {
padding-top: var(--bui-space-1);
}
-
.md\:bui-pt-1\.5 {
padding-top: var(--bui-space-1_5);
}
-
.md\:bui-pt-2 {
padding-top: var(--bui-space-2);
}
-
.md\:bui-pt-3 {
padding-top: var(--bui-space-3);
}
-
.md\:bui-pt-4 {
padding-top: var(--bui-space-4);
}
-
.md\:bui-pt-5 {
padding-top: var(--bui-space-5);
}
-
.md\:bui-pt-6 {
padding-top: var(--bui-space-6);
}
-
.md\:bui-pt-7 {
padding-top: var(--bui-space-7);
}
-
.md\:bui-pt-8 {
padding-top: var(--bui-space-8);
}
-
.md\:bui-pt-9 {
padding-top: var(--bui-space-9);
}
-
.md\:bui-pt-10 {
padding-top: var(--bui-space-10);
}
-
.md\:bui-pt-11 {
padding-top: var(--bui-space-11);
}
-
.md\:bui-pt-12 {
padding-top: var(--bui-space-12);
}
-
.md\:bui-pt-13 {
padding-top: var(--bui-space-13);
}
-
.md\:bui-pt-14 {
padding-top: var(--bui-space-14);
}
}
-
- @media (width >= 1280px) {
+ @media (width>=1280px) {
.lg\:bui-pt {
padding-top: var(--pt-lg);
}
-
.lg\:bui-pt-0\.5 {
padding-top: var(--bui-space-0_5);
}
-
.lg\:bui-pt-1 {
padding-top: var(--bui-space-1);
}
-
.lg\:bui-pt-1\.5 {
padding-top: var(--bui-space-1_5);
}
-
.lg\:bui-pt-2 {
padding-top: var(--bui-space-2);
}
-
.lg\:bui-pt-3 {
padding-top: var(--bui-space-3);
}
-
.lg\:bui-pt-4 {
padding-top: var(--bui-space-4);
}
-
.lg\:bui-pt-5 {
padding-top: var(--bui-space-5);
}
-
.lg\:bui-pt-6 {
padding-top: var(--bui-space-6);
}
-
.lg\:bui-pt-7 {
padding-top: var(--bui-space-7);
}
-
.lg\:bui-pt-8 {
padding-top: var(--bui-space-8);
}
-
.lg\:bui-pt-9 {
padding-top: var(--bui-space-9);
}
-
.lg\:bui-pt-10 {
padding-top: var(--bui-space-10);
}
-
.lg\:bui-pt-11 {
padding-top: var(--bui-space-11);
}
-
.lg\:bui-pt-12 {
padding-top: var(--bui-space-12);
}
-
.lg\:bui-pt-13 {
padding-top: var(--bui-space-13);
}
-
.lg\:bui-pt-14 {
padding-top: var(--bui-space-14);
}
}
-
- @media (width >= 1536px) {
+ @media (width>=1536px) {
.xl\:bui-pt {
padding-top: var(--pt-xl);
}
-
.xl\:bui-pt-0\.5 {
padding-top: var(--bui-space-0_5);
}
-
.xl\:bui-pt-1 {
padding-top: var(--bui-space-1);
}
-
.xl\:bui-pt-1\.5 {
padding-top: var(--bui-space-1_5);
}
-
.xl\:bui-pt-2 {
padding-top: var(--bui-space-2);
}
-
.xl\:bui-pt-3 {
padding-top: var(--bui-space-3);
}
-
.xl\:bui-pt-4 {
padding-top: var(--bui-space-4);
}
-
.xl\:bui-pt-5 {
padding-top: var(--bui-space-5);
}
-
.xl\:bui-pt-6 {
padding-top: var(--bui-space-6);
}
-
.xl\:bui-pt-7 {
padding-top: var(--bui-space-7);
}
-
.xl\:bui-pt-8 {
padding-top: var(--bui-space-8);
}
-
.xl\:bui-pt-9 {
padding-top: var(--bui-space-9);
}
-
.xl\:bui-pt-10 {
padding-top: var(--bui-space-10);
}
-
.xl\:bui-pt-11 {
padding-top: var(--bui-space-11);
}
-
.xl\:bui-pt-12 {
padding-top: var(--bui-space-12);
}
-
.xl\:bui-pt-13 {
padding-top: var(--bui-space-13);
}
-
.xl\:bui-pt-14 {
padding-top: var(--bui-space-14);
}
}
-
.bui-pb {
padding-bottom: var(--pb);
}
-
.bui-pb-0\.5 {
padding-bottom: var(--bui-space-0_5);
}
-
.bui-pb-1 {
padding-bottom: var(--bui-space-1);
}
-
.bui-pb-1\.5 {
padding-bottom: var(--bui-space-1_5);
}
-
.bui-pb-2 {
padding-bottom: var(--bui-space-2);
}
-
.bui-pb-3 {
padding-bottom: var(--bui-space-3);
}
-
.bui-pb-4 {
padding-bottom: var(--bui-space-4);
}
-
.bui-pb-5 {
padding-bottom: var(--bui-space-5);
}
-
.bui-pb-6 {
padding-bottom: var(--bui-space-6);
}
-
.bui-pb-7 {
padding-bottom: var(--bui-space-7);
}
-
.bui-pb-8 {
padding-bottom: var(--bui-space-8);
}
-
.bui-pb-9 {
padding-bottom: var(--bui-space-9);
}
-
.bui-pb-10 {
padding-bottom: var(--bui-space-10);
}
-
.bui-pb-11 {
padding-bottom: var(--bui-space-11);
}
-
.bui-pb-12 {
padding-bottom: var(--bui-space-12);
}
-
.bui-pb-13 {
padding-bottom: var(--bui-space-13);
}
-
.bui-pb-14 {
padding-bottom: var(--bui-space-14);
}
-
- @media (width >= 640px) {
+ @media (width>=640px) {
.xs\:bui-pb {
padding-bottom: var(--pb-xs);
}
-
.xs\:bui-pb-0\.5 {
padding-bottom: var(--bui-space-0_5);
}
-
.xs\:bui-pb-1 {
padding-bottom: var(--bui-space-1);
}
-
.xs\:bui-pb-1\.5 {
padding-bottom: var(--bui-space-1_5);
}
-
.xs\:bui-pb-2 {
padding-bottom: var(--bui-space-2);
}
-
.xs\:bui-pb-3 {
padding-bottom: var(--bui-space-3);
}
-
.xs\:bui-pb-4 {
padding-bottom: var(--bui-space-4);
}
-
.xs\:bui-pb-5 {
padding-bottom: var(--bui-space-5);
}
-
.xs\:bui-pb-6 {
padding-bottom: var(--bui-space-6);
}
-
.xs\:bui-pb-7 {
padding-bottom: var(--bui-space-7);
}
-
.xs\:bui-pb-8 {
padding-bottom: var(--bui-space-8);
}
-
.xs\:bui-pb-9 {
padding-bottom: var(--bui-space-9);
}
-
.xs\:bui-pb-10 {
padding-bottom: var(--bui-space-10);
}
-
.xs\:bui-pb-11 {
padding-bottom: var(--bui-space-11);
}
-
.xs\:bui-pb-12 {
padding-bottom: var(--bui-space-12);
}
-
.xs\:bui-pb-13 {
padding-bottom: var(--bui-space-13);
}
-
.xs\:bui-pb-14 {
padding-bottom: var(--bui-space-14);
}
}
-
- @media (width >= 768px) {
+ @media (width>=768px) {
.sm\:bui-pb {
padding-bottom: var(--pb-sm);
}
-
.sm\:bui-pb-0\.5 {
padding-bottom: var(--bui-space-0_5);
}
-
.sm\:bui-pb-1 {
padding-bottom: var(--bui-space-1);
}
-
.sm\:bui-pb-1\.5 {
padding-bottom: var(--bui-space-1_5);
}
-
.sm\:bui-pb-2 {
padding-bottom: var(--bui-space-2);
}
-
.sm\:bui-pb-3 {
padding-bottom: var(--bui-space-3);
}
-
.sm\:bui-pb-4 {
padding-bottom: var(--bui-space-4);
}
-
.sm\:bui-pb-5 {
padding-bottom: var(--bui-space-5);
}
-
.sm\:bui-pb-6 {
padding-bottom: var(--bui-space-6);
}
-
.sm\:bui-pb-7 {
padding-bottom: var(--bui-space-7);
}
-
.sm\:bui-pb-8 {
padding-bottom: var(--bui-space-8);
}
-
.sm\:bui-pb-9 {
padding-bottom: var(--bui-space-9);
}
-
.sm\:bui-pb-10 {
padding-bottom: var(--bui-space-10);
}
-
.sm\:bui-pb-11 {
padding-bottom: var(--bui-space-11);
}
-
.sm\:bui-pb-12 {
padding-bottom: var(--bui-space-12);
}
-
.sm\:bui-pb-13 {
padding-bottom: var(--bui-space-13);
}
-
.sm\:bui-pb-14 {
padding-bottom: var(--bui-space-14);
}
}
-
- @media (width >= 1024px) {
+ @media (width>=1024px) {
.md\:bui-pb {
padding-bottom: var(--pb-md);
}
-
.md\:bui-pb-0\.5 {
padding-bottom: var(--bui-space-0_5);
}
-
.md\:bui-pb-1 {
padding-bottom: var(--bui-space-1);
}
-
.md\:bui-pb-1\.5 {
padding-bottom: var(--bui-space-1_5);
}
-
.md\:bui-pb-2 {
padding-bottom: var(--bui-space-2);
}
-
.md\:bui-pb-3 {
padding-bottom: var(--bui-space-3);
}
-
.md\:bui-pb-4 {
padding-bottom: var(--bui-space-4);
}
-
.md\:bui-pb-5 {
padding-bottom: var(--bui-space-5);
}
-
.md\:bui-pb-6 {
padding-bottom: var(--bui-space-6);
}
-
.md\:bui-pb-7 {
padding-bottom: var(--bui-space-7);
}
-
.md\:bui-pb-8 {
padding-bottom: var(--bui-space-8);
}
-
.md\:bui-pb-9 {
padding-bottom: var(--bui-space-9);
}
-
.md\:bui-pb-10 {
padding-bottom: var(--bui-space-10);
}
-
.md\:bui-pb-11 {
padding-bottom: var(--bui-space-11);
}
-
.md\:bui-pb-12 {
padding-bottom: var(--bui-space-12);
}
-
.md\:bui-pb-13 {
padding-bottom: var(--bui-space-13);
}
-
.md\:bui-pb-14 {
padding-bottom: var(--bui-space-14);
}
}
-
- @media (width >= 1280px) {
+ @media (width>=1280px) {
.lg\:bui-pb {
padding-bottom: var(--pb-lg);
}
-
.lg\:bui-pb-0\.5 {
padding-bottom: var(--bui-space-0_5);
}
-
.lg\:bui-pb-1 {
padding-bottom: var(--bui-space-1);
}
-
.lg\:bui-pb-1\.5 {
padding-bottom: var(--bui-space-1_5);
}
-
.lg\:bui-pb-2 {
padding-bottom: var(--bui-space-2);
}
-
.lg\:bui-pb-3 {
padding-bottom: var(--bui-space-3);
}
-
.lg\:bui-pb-4 {
padding-bottom: var(--bui-space-4);
}
-
.lg\:bui-pb-5 {
padding-bottom: var(--bui-space-5);
}
-
.lg\:bui-pb-6 {
padding-bottom: var(--bui-space-6);
}
-
.lg\:bui-pb-7 {
padding-bottom: var(--bui-space-7);
}
-
.lg\:bui-pb-8 {
padding-bottom: var(--bui-space-8);
}
-
.lg\:bui-pb-9 {
padding-bottom: var(--bui-space-9);
}
-
.lg\:bui-pb-10 {
padding-bottom: var(--bui-space-10);
}
-
.lg\:bui-pb-11 {
padding-bottom: var(--bui-space-11);
}
-
.lg\:bui-pb-12 {
padding-bottom: var(--bui-space-12);
}
-
.lg\:bui-pb-13 {
padding-bottom: var(--bui-space-13);
}
-
.lg\:bui-pb-14 {
padding-bottom: var(--bui-space-14);
}
}
-
- @media (width >= 1536px) {
+ @media (width>=1536px) {
.xl\:bui-pb {
padding-bottom: var(--pb-xl);
}
-
.xl\:bui-pb-0\.5 {
padding-bottom: var(--bui-space-0_5);
}
-
.xl\:bui-pb-1 {
padding-bottom: var(--bui-space-1);
}
-
.xl\:bui-pb-1\.5 {
padding-bottom: var(--bui-space-1_5);
}
-
.xl\:bui-pb-2 {
padding-bottom: var(--bui-space-2);
}
-
.xl\:bui-pb-3 {
padding-bottom: var(--bui-space-3);
}
-
.xl\:bui-pb-4 {
padding-bottom: var(--bui-space-4);
}
-
.xl\:bui-pb-5 {
padding-bottom: var(--bui-space-5);
}
-
.xl\:bui-pb-6 {
padding-bottom: var(--bui-space-6);
}
-
.xl\:bui-pb-7 {
padding-bottom: var(--bui-space-7);
}
-
.xl\:bui-pb-8 {
padding-bottom: var(--bui-space-8);
}
-
.xl\:bui-pb-9 {
padding-bottom: var(--bui-space-9);
}
-
.xl\:bui-pb-10 {
padding-bottom: var(--bui-space-10);
}
-
.xl\:bui-pb-11 {
padding-bottom: var(--bui-space-11);
}
-
.xl\:bui-pb-12 {
padding-bottom: var(--bui-space-12);
}
-
.xl\:bui-pb-13 {
padding-bottom: var(--bui-space-13);
}
-
.xl\:bui-pb-14 {
padding-bottom: var(--bui-space-14);
}
}
-
.bui-py {
padding-top: var(--py);
padding-bottom: var(--py);
}
-
.bui-py-0\.5 {
padding-top: var(--bui-space-0_5);
padding-bottom: var(--bui-space-0_5);
}
-
.bui-py-1 {
padding-top: var(--bui-space-1);
padding-bottom: var(--bui-space-1);
}
-
.bui-py-1\.5 {
padding-top: var(--bui-space-1_5);
padding-bottom: var(--bui-space-1_5);
}
-
.bui-py-2 {
padding-top: var(--bui-space-2);
padding-bottom: var(--bui-space-2);
}
-
.bui-py-3 {
padding-top: var(--bui-space-3);
padding-bottom: var(--bui-space-3);
}
-
.bui-py-4 {
padding-top: var(--bui-space-4);
padding-bottom: var(--bui-space-4);
}
-
.bui-py-5 {
padding-top: var(--bui-space-5);
padding-bottom: var(--bui-space-5);
}
-
.bui-py-6 {
padding-top: var(--bui-space-6);
padding-bottom: var(--bui-space-6);
}
-
.bui-py-7 {
padding-top: var(--bui-space-7);
padding-bottom: var(--bui-space-7);
}
-
.bui-py-8 {
padding-top: var(--bui-space-8);
padding-bottom: var(--bui-space-8);
}
-
.bui-py-9 {
padding-top: var(--bui-space-9);
padding-bottom: var(--bui-space-9);
}
-
.bui-py-10 {
padding-top: var(--bui-space-10);
padding-bottom: var(--bui-space-10);
}
-
.bui-py-11 {
padding-top: var(--bui-space-11);
padding-bottom: var(--bui-space-11);
}
-
.bui-py-12 {
padding-top: var(--bui-space-12);
padding-bottom: var(--bui-space-12);
}
-
.bui-py-13 {
padding-top: var(--bui-space-13);
padding-bottom: var(--bui-space-13);
}
-
.bui-py-14 {
padding-top: var(--bui-space-14);
padding-bottom: var(--bui-space-14);
}
-
- @media (width >= 640px) {
+ @media (width>=640px) {
.xs\:bui-py {
padding-top: var(--py-xs);
padding-bottom: var(--py-xs);
}
-
.xs\:bui-py-0\.5 {
padding-top: var(--bui-space-0_5);
padding-bottom: var(--bui-space-0_5);
}
-
.xs\:bui-py-1 {
padding-top: var(--bui-space-1);
padding-bottom: var(--bui-space-1);
}
-
.xs\:bui-py-1\.5 {
padding-top: var(--bui-space-1_5);
padding-bottom: var(--bui-space-1_5);
}
-
.xs\:bui-py-2 {
padding-top: var(--bui-space-2);
padding-bottom: var(--bui-space-2);
}
-
.xs\:bui-py-3 {
padding-top: var(--bui-space-3);
padding-bottom: var(--bui-space-3);
}
-
.xs\:bui-py-4 {
padding-top: var(--bui-space-4);
padding-bottom: var(--bui-space-4);
}
-
.xs\:bui-py-5 {
padding-top: var(--bui-space-5);
padding-bottom: var(--bui-space-5);
}
-
.xs\:bui-py-6 {
padding-top: var(--bui-space-6);
padding-bottom: var(--bui-space-6);
}
-
.xs\:bui-py-7 {
padding-top: var(--bui-space-7);
padding-bottom: var(--bui-space-7);
}
-
.xs\:bui-py-8 {
padding-top: var(--bui-space-8);
padding-bottom: var(--bui-space-8);
}
-
.xs\:bui-py-9 {
padding-top: var(--bui-space-9);
padding-bottom: var(--bui-space-9);
}
-
.xs\:bui-py-10 {
padding-top: var(--bui-space-10);
padding-bottom: var(--bui-space-10);
}
-
.xs\:bui-py-11 {
padding-top: var(--bui-space-11);
padding-bottom: var(--bui-space-11);
}
-
.xs\:bui-py-12 {
padding-top: var(--bui-space-12);
padding-bottom: var(--bui-space-12);
}
-
.xs\:bui-py-13 {
padding-top: var(--bui-space-13);
padding-bottom: var(--bui-space-13);
}
-
.xs\:bui-py-14 {
padding-top: var(--bui-space-14);
padding-bottom: var(--bui-space-14);
}
}
-
- @media (width >= 768px) {
+ @media (width>=768px) {
.sm\:bui-py {
padding-top: var(--py-sm);
padding-bottom: var(--py-sm);
}
-
.sm\:bui-py-0\.5 {
padding-top: var(--bui-space-0_5);
padding-bottom: var(--bui-space-0_5);
}
-
.sm\:bui-py-1 {
padding-top: var(--bui-space-1);
padding-bottom: var(--bui-space-1);
}
-
.sm\:bui-py-1\.5 {
padding-top: var(--bui-space-1_5);
padding-bottom: var(--bui-space-1_5);
}
-
.sm\:bui-py-2 {
padding-top: var(--bui-space-2);
padding-bottom: var(--bui-space-2);
}
-
.sm\:bui-py-3 {
padding-top: var(--bui-space-3);
padding-bottom: var(--bui-space-3);
}
-
.sm\:bui-py-4 {
padding-top: var(--bui-space-4);
padding-bottom: var(--bui-space-4);
}
-
.sm\:bui-py-5 {
padding-top: var(--bui-space-5);
padding-bottom: var(--bui-space-5);
}
-
.sm\:bui-py-6 {
padding-top: var(--bui-space-6);
padding-bottom: var(--bui-space-6);
}
-
.sm\:bui-py-7 {
padding-top: var(--bui-space-7);
padding-bottom: var(--bui-space-7);
}
-
.sm\:bui-py-8 {
padding-top: var(--bui-space-8);
padding-bottom: var(--bui-space-8);
}
-
.sm\:bui-py-9 {
padding-top: var(--bui-space-9);
padding-bottom: var(--bui-space-9);
}
-
.sm\:bui-py-10 {
padding-top: var(--bui-space-10);
padding-bottom: var(--bui-space-10);
}
-
.sm\:bui-py-11 {
padding-top: var(--bui-space-11);
padding-bottom: var(--bui-space-11);
}
-
.sm\:bui-py-12 {
padding-top: var(--bui-space-12);
padding-bottom: var(--bui-space-12);
}
-
.sm\:bui-py-13 {
padding-top: var(--bui-space-13);
padding-bottom: var(--bui-space-13);
}
-
.sm\:bui-py-14 {
padding-top: var(--bui-space-14);
padding-bottom: var(--bui-space-14);
}
}
-
- @media (width >= 1024px) {
+ @media (width>=1024px) {
.md\:bui-py {
padding-top: var(--py-md);
padding-bottom: var(--py-md);
}
-
.md\:bui-py-0\.5 {
padding-top: var(--bui-space-0_5);
padding-bottom: var(--bui-space-0_5);
}
-
.md\:bui-py-1 {
padding-top: var(--bui-space-1);
padding-bottom: var(--bui-space-1);
}
-
.md\:bui-py-1\.5 {
padding-top: var(--bui-space-1_5);
padding-bottom: var(--bui-space-1_5);
}
-
.md\:bui-py-2 {
padding-top: var(--bui-space-2);
padding-bottom: var(--bui-space-2);
}
-
.md\:bui-py-3 {
padding-top: var(--bui-space-3);
padding-bottom: var(--bui-space-3);
}
-
.md\:bui-py-4 {
padding-top: var(--bui-space-4);
padding-bottom: var(--bui-space-4);
}
-
.md\:bui-py-5 {
padding-top: var(--bui-space-5);
padding-bottom: var(--bui-space-5);
}
-
.md\:bui-py-6 {
padding-top: var(--bui-space-6);
padding-bottom: var(--bui-space-6);
}
-
.md\:bui-py-7 {
padding-top: var(--bui-space-7);
padding-bottom: var(--bui-space-7);
}
-
.md\:bui-py-8 {
padding-top: var(--bui-space-8);
padding-bottom: var(--bui-space-8);
}
-
.md\:bui-py-9 {
padding-top: var(--bui-space-9);
padding-bottom: var(--bui-space-9);
}
-
.md\:bui-py-10 {
padding-top: var(--bui-space-10);
padding-bottom: var(--bui-space-10);
}
-
.md\:bui-py-11 {
padding-top: var(--bui-space-11);
padding-bottom: var(--bui-space-11);
}
-
.md\:bui-py-12 {
padding-top: var(--bui-space-12);
padding-bottom: var(--bui-space-12);
}
-
.md\:bui-py-13 {
padding-top: var(--bui-space-13);
padding-bottom: var(--bui-space-13);
}
-
.md\:bui-py-14 {
padding-top: var(--bui-space-14);
padding-bottom: var(--bui-space-14);
}
}
-
- @media (width >= 1280px) {
+ @media (width>=1280px) {
.lg\:bui-py {
padding-top: var(--py-lg);
padding-bottom: var(--py-lg);
}
-
.lg\:bui-py-0\.5 {
padding-top: var(--bui-space-0_5);
padding-bottom: var(--bui-space-0_5);
}
-
.lg\:bui-py-1 {
padding-top: var(--bui-space-1);
padding-bottom: var(--bui-space-1);
}
-
.lg\:bui-py-1\.5 {
padding-top: var(--bui-space-1_5);
padding-bottom: var(--bui-space-1_5);
}
-
.lg\:bui-py-2 {
padding-top: var(--bui-space-2);
padding-bottom: var(--bui-space-2);
}
-
.lg\:bui-py-3 {
padding-top: var(--bui-space-3);
padding-bottom: var(--bui-space-3);
}
-
.lg\:bui-py-4 {
padding-top: var(--bui-space-4);
padding-bottom: var(--bui-space-4);
}
-
.lg\:bui-py-5 {
padding-top: var(--bui-space-5);
padding-bottom: var(--bui-space-5);
}
-
.lg\:bui-py-6 {
padding-top: var(--bui-space-6);
padding-bottom: var(--bui-space-6);
}
-
.lg\:bui-py-7 {
padding-top: var(--bui-space-7);
padding-bottom: var(--bui-space-7);
}
-
.lg\:bui-py-8 {
padding-top: var(--bui-space-8);
padding-bottom: var(--bui-space-8);
}
-
.lg\:bui-py-9 {
padding-top: var(--bui-space-9);
padding-bottom: var(--bui-space-9);
}
-
.lg\:bui-py-10 {
padding-top: var(--bui-space-10);
padding-bottom: var(--bui-space-10);
}
-
.lg\:bui-py-11 {
padding-top: var(--bui-space-11);
padding-bottom: var(--bui-space-11);
}
-
.lg\:bui-py-12 {
padding-top: var(--bui-space-12);
padding-bottom: var(--bui-space-12);
}
-
.lg\:bui-py-13 {
padding-top: var(--bui-space-13);
padding-bottom: var(--bui-space-13);
}
-
.lg\:bui-py-14 {
padding-top: var(--bui-space-14);
padding-bottom: var(--bui-space-14);
}
}
-
- @media (width >= 1536px) {
+ @media (width>=1536px) {
.xl\:bui-py {
padding-top: var(--py-xl);
padding-bottom: var(--py-xl);
}
-
.xl\:bui-py-0\.5 {
padding-top: var(--bui-space-0_5);
padding-bottom: var(--bui-space-0_5);
}
-
.xl\:bui-py-1 {
padding-top: var(--bui-space-1);
padding-bottom: var(--bui-space-1);
}
-
.xl\:bui-py-1\.5 {
padding-top: var(--bui-space-1_5);
padding-bottom: var(--bui-space-1_5);
}
-
.xl\:bui-py-2 {
padding-top: var(--bui-space-2);
padding-bottom: var(--bui-space-2);
}
-
.xl\:bui-py-3 {
padding-top: var(--bui-space-3);
padding-bottom: var(--bui-space-3);
}
-
.xl\:bui-py-4 {
padding-top: var(--bui-space-4);
padding-bottom: var(--bui-space-4);
}
-
.xl\:bui-py-5 {
padding-top: var(--bui-space-5);
padding-bottom: var(--bui-space-5);
}
-
.xl\:bui-py-6 {
padding-top: var(--bui-space-6);
padding-bottom: var(--bui-space-6);
}
-
.xl\:bui-py-7 {
padding-top: var(--bui-space-7);
padding-bottom: var(--bui-space-7);
}
-
.xl\:bui-py-8 {
padding-top: var(--bui-space-8);
padding-bottom: var(--bui-space-8);
}
-
.xl\:bui-py-9 {
padding-top: var(--bui-space-9);
padding-bottom: var(--bui-space-9);
}
-
.xl\:bui-py-10 {
padding-top: var(--bui-space-10);
padding-bottom: var(--bui-space-10);
}
-
.xl\:bui-py-11 {
padding-top: var(--bui-space-11);
padding-bottom: var(--bui-space-11);
}
-
.xl\:bui-py-12 {
padding-top: var(--bui-space-12);
padding-bottom: var(--bui-space-12);
}
-
.xl\:bui-py-13 {
padding-top: var(--bui-space-13);
padding-bottom: var(--bui-space-13);
}
-
.xl\:bui-py-14 {
padding-top: var(--bui-space-14);
padding-bottom: var(--bui-space-14);
}
}
-
.bui-px {
padding-left: var(--px);
padding-right: var(--px);
}
-
.bui-px-0\.5 {
padding-left: var(--bui-space-0_5);
padding-right: var(--bui-space-0_5);
}
-
.bui-px-1 {
padding-left: var(--bui-space-1);
padding-right: var(--bui-space-1);
}
-
.bui-px-1\.5 {
padding-left: var(--bui-space-1_5);
padding-right: var(--bui-space-1_5);
}
-
.bui-px-2 {
padding-left: var(--bui-space-2);
padding-right: var(--bui-space-2);
}
-
.bui-px-3 {
padding-left: var(--bui-space-3);
padding-right: var(--bui-space-3);
}
-
.bui-px-4 {
padding-left: var(--bui-space-4);
padding-right: var(--bui-space-4);
}
-
.bui-px-5 {
padding-left: var(--bui-space-5);
padding-right: var(--bui-space-5);
}
-
.bui-px-6 {
padding-left: var(--bui-space-6);
padding-right: var(--bui-space-6);
}
-
.bui-px-7 {
padding-left: var(--bui-space-7);
padding-right: var(--bui-space-7);
}
-
.bui-px-8 {
padding-left: var(--bui-space-8);
padding-right: var(--bui-space-8);
}
-
.bui-px-9 {
padding-left: var(--bui-space-9);
padding-right: var(--bui-space-9);
}
-
.bui-px-10 {
padding-left: var(--bui-space-10);
padding-right: var(--bui-space-10);
}
-
.bui-px-11 {
padding-left: var(--bui-space-11);
padding-right: var(--bui-space-11);
}
-
.bui-px-12 {
padding-left: var(--bui-space-12);
padding-right: var(--bui-space-12);
}
-
.bui-px-13 {
padding-left: var(--bui-space-13);
padding-right: var(--bui-space-13);
}
-
.bui-px-14 {
padding-left: var(--bui-space-14);
padding-right: var(--bui-space-14);
}
-
- @media (width >= 640px) {
+ @media (width>=640px) {
.xs\:bui-px {
padding-left: var(--px-xs);
padding-right: var(--px-xs);
}
-
.xs\:bui-px-0\.5 {
padding-left: var(--bui-space-0_5);
padding-right: var(--bui-space-0_5);
}
-
.xs\:bui-px-1 {
padding-left: var(--bui-space-1);
padding-right: var(--bui-space-1);
}
-
.xs\:bui-px-1\.5 {
padding-left: var(--bui-space-1_5);
padding-right: var(--bui-space-1_5);
}
-
.xs\:bui-px-2 {
padding-left: var(--bui-space-2);
padding-right: var(--bui-space-2);
}
-
.xs\:bui-px-3 {
padding-left: var(--bui-space-3);
padding-right: var(--bui-space-3);
}
-
.xs\:bui-px-4 {
padding-left: var(--bui-space-4);
padding-right: var(--bui-space-4);
}
-
.xs\:bui-px-5 {
padding-left: var(--bui-space-5);
padding-right: var(--bui-space-5);
}
-
.xs\:bui-px-6 {
padding-left: var(--bui-space-6);
padding-right: var(--bui-space-6);
}
-
.xs\:bui-px-7 {
padding-left: var(--bui-space-7);
padding-right: var(--bui-space-7);
}
-
.xs\:bui-px-8 {
padding-left: var(--bui-space-8);
padding-right: var(--bui-space-8);
}
-
.xs\:bui-px-9 {
padding-left: var(--bui-space-9);
padding-right: var(--bui-space-9);
}
-
.xs\:bui-px-10 {
padding-left: var(--bui-space-10);
padding-right: var(--bui-space-10);
}
-
.xs\:bui-px-11 {
padding-left: var(--bui-space-11);
padding-right: var(--bui-space-11);
}
-
.xs\:bui-px-12 {
padding-left: var(--bui-space-12);
padding-right: var(--bui-space-12);
}
-
.xs\:bui-px-13 {
padding-left: var(--bui-space-13);
padding-right: var(--bui-space-13);
}
-
.xs\:bui-px-14 {
padding-left: var(--bui-space-14);
padding-right: var(--bui-space-14);
}
}
-
- @media (width >= 768px) {
+ @media (width>=768px) {
.sm\:bui-px {
padding-left: var(--px-sm);
padding-right: var(--px-sm);
}
-
.sm\:bui-px-0\.5 {
padding-left: var(--bui-space-0_5);
padding-right: var(--bui-space-0_5);
}
-
.sm\:bui-px-1 {
padding-left: var(--bui-space-1);
padding-right: var(--bui-space-1);
}
-
.sm\:bui-px-1\.5 {
padding-left: var(--bui-space-1_5);
padding-right: var(--bui-space-1_5);
}
-
.sm\:bui-px-2 {
padding-left: var(--bui-space-2);
padding-right: var(--bui-space-2);
}
-
.sm\:bui-px-3 {
padding-left: var(--bui-space-3);
padding-right: var(--bui-space-3);
}
-
.sm\:bui-px-4 {
padding-left: var(--bui-space-4);
padding-right: var(--bui-space-4);
}
-
.sm\:bui-px-5 {
padding-left: var(--bui-space-5);
padding-right: var(--bui-space-5);
}
-
.sm\:bui-px-6 {
padding-left: var(--bui-space-6);
padding-right: var(--bui-space-6);
}
-
.sm\:bui-px-7 {
padding-left: var(--bui-space-7);
padding-right: var(--bui-space-7);
}
-
.sm\:bui-px-8 {
padding-left: var(--bui-space-8);
padding-right: var(--bui-space-8);
}
-
.sm\:bui-px-9 {
padding-left: var(--bui-space-9);
padding-right: var(--bui-space-9);
}
-
.sm\:bui-px-10 {
padding-left: var(--bui-space-10);
padding-right: var(--bui-space-10);
}
-
.sm\:bui-px-11 {
padding-left: var(--bui-space-11);
padding-right: var(--bui-space-11);
}
-
.sm\:bui-px-12 {
padding-left: var(--bui-space-12);
padding-right: var(--bui-space-12);
}
-
.sm\:bui-px-13 {
padding-left: var(--bui-space-13);
padding-right: var(--bui-space-13);
}
-
.sm\:bui-px-14 {
padding-left: var(--bui-space-14);
padding-right: var(--bui-space-14);
}
}
-
- @media (width >= 1024px) {
+ @media (width>=1024px) {
.md\:bui-px {
padding-left: var(--px-md);
padding-right: var(--px-md);
}
-
.md\:bui-px-0\.5 {
padding-left: var(--bui-space-0_5);
padding-right: var(--bui-space-0_5);
}
-
.md\:bui-px-1 {
padding-left: var(--bui-space-1);
padding-right: var(--bui-space-1);
}
-
.md\:bui-px-1\.5 {
padding-left: var(--bui-space-1_5);
padding-right: var(--bui-space-1_5);
}
-
.md\:bui-px-2 {
padding-left: var(--bui-space-2);
padding-right: var(--bui-space-2);
}
-
.md\:bui-px-3 {
padding-left: var(--bui-space-3);
padding-right: var(--bui-space-3);
}
-
.md\:bui-px-4 {
padding-left: var(--bui-space-4);
padding-right: var(--bui-space-4);
}
-
.md\:bui-px-5 {
padding-left: var(--bui-space-5);
padding-right: var(--bui-space-5);
}
-
.md\:bui-px-6 {
padding-left: var(--bui-space-6);
padding-right: var(--bui-space-6);
}
-
.md\:bui-px-7 {
padding-left: var(--bui-space-7);
padding-right: var(--bui-space-7);
}
-
.md\:bui-px-8 {
padding-left: var(--bui-space-8);
padding-right: var(--bui-space-8);
}
-
.md\:bui-px-9 {
padding-left: var(--bui-space-9);
padding-right: var(--bui-space-9);
}
-
.md\:bui-px-10 {
padding-left: var(--bui-space-10);
padding-right: var(--bui-space-10);
}
-
.md\:bui-px-11 {
padding-left: var(--bui-space-11);
padding-right: var(--bui-space-11);
}
-
.md\:bui-px-12 {
padding-left: var(--bui-space-12);
padding-right: var(--bui-space-12);
}
-
.md\:bui-px-13 {
padding-left: var(--bui-space-13);
padding-right: var(--bui-space-13);
}
-
.md\:bui-px-14 {
padding-left: var(--bui-space-14);
padding-right: var(--bui-space-14);
}
}
-
- @media (width >= 1280px) {
+ @media (width>=1280px) {
.lg\:bui-px {
padding-left: var(--px-lg);
padding-right: var(--px-lg);
}
-
.lg\:bui-px-0\.5 {
padding-left: var(--bui-space-0_5);
padding-right: var(--bui-space-0_5);
}
-
.lg\:bui-px-1 {
padding-left: var(--bui-space-1);
padding-right: var(--bui-space-1);
}
-
.lg\:bui-px-1\.5 {
padding-left: var(--bui-space-1_5);
padding-right: var(--bui-space-1_5);
}
-
.lg\:bui-px-2 {
padding-left: var(--bui-space-2);
padding-right: var(--bui-space-2);
}
-
.lg\:bui-px-3 {
padding-left: var(--bui-space-3);
padding-right: var(--bui-space-3);
}
-
.lg\:bui-px-4 {
padding-left: var(--bui-space-4);
padding-right: var(--bui-space-4);
}
-
.lg\:bui-px-5 {
padding-left: var(--bui-space-5);
padding-right: var(--bui-space-5);
}
-
.lg\:bui-px-6 {
padding-left: var(--bui-space-6);
padding-right: var(--bui-space-6);
}
-
.lg\:bui-px-7 {
padding-left: var(--bui-space-7);
padding-right: var(--bui-space-7);
}
-
.lg\:bui-px-8 {
padding-left: var(--bui-space-8);
padding-right: var(--bui-space-8);
}
-
.lg\:bui-px-9 {
padding-left: var(--bui-space-9);
padding-right: var(--bui-space-9);
}
-
.lg\:bui-px-10 {
padding-left: var(--bui-space-10);
padding-right: var(--bui-space-10);
}
-
.lg\:bui-px-11 {
padding-left: var(--bui-space-11);
padding-right: var(--bui-space-11);
}
-
.lg\:bui-px-12 {
padding-left: var(--bui-space-12);
padding-right: var(--bui-space-12);
}
-
.lg\:bui-px-13 {
padding-left: var(--bui-space-13);
padding-right: var(--bui-space-13);
}
-
.lg\:bui-px-14 {
padding-left: var(--bui-space-14);
padding-right: var(--bui-space-14);
}
}
-
- @media (width >= 1536px) {
+ @media (width>=1536px) {
.xl\:bui-px {
padding-left: var(--px-xl);
padding-right: var(--px-xl);
}
-
.xl\:bui-px-0\.5 {
padding-left: var(--bui-space-0_5);
padding-right: var(--bui-space-0_5);
}
-
.xl\:bui-px-1 {
padding-left: var(--bui-space-1);
padding-right: var(--bui-space-1);
}
-
.xl\:bui-px-1\.5 {
padding-left: var(--bui-space-1_5);
padding-right: var(--bui-space-1_5);
}
-
.xl\:bui-px-2 {
padding-left: var(--bui-space-2);
padding-right: var(--bui-space-2);
}
-
.xl\:bui-px-3 {
padding-left: var(--bui-space-3);
padding-right: var(--bui-space-3);
}
-
.xl\:bui-px-4 {
padding-left: var(--bui-space-4);
padding-right: var(--bui-space-4);
}
-
.xl\:bui-px-5 {
padding-left: var(--bui-space-5);
padding-right: var(--bui-space-5);
}
-
.xl\:bui-px-6 {
padding-left: var(--bui-space-6);
padding-right: var(--bui-space-6);
}
-
.xl\:bui-px-7 {
padding-left: var(--bui-space-7);
padding-right: var(--bui-space-7);
}
-
.xl\:bui-px-8 {
padding-left: var(--bui-space-8);
padding-right: var(--bui-space-8);
}
-
.xl\:bui-px-9 {
padding-left: var(--bui-space-9);
padding-right: var(--bui-space-9);
}
-
.xl\:bui-px-10 {
padding-left: var(--bui-space-10);
padding-right: var(--bui-space-10);
}
-
.xl\:bui-px-11 {
padding-left: var(--bui-space-11);
padding-right: var(--bui-space-11);
}
-
.xl\:bui-px-12 {
padding-left: var(--bui-space-12);
padding-right: var(--bui-space-12);
}
-
.xl\:bui-px-13 {
padding-left: var(--bui-space-13);
padding-right: var(--bui-space-13);
}
-
.xl\:bui-px-14 {
padding-left: var(--bui-space-14);
padding-right: var(--bui-space-14);
}
}
-
.bui-m {
margin: var(--m);
}
-
.bui-m-0\.5 {
margin: var(--bui-space-0_5);
}
-
.bui-m-1 {
margin: var(--bui-space-1);
}
-
.bui-m-1\.5 {
margin: var(--bui-space-1_5);
}
-
.bui-m-2 {
margin: var(--bui-space-2);
}
-
.bui-m-3 {
margin: var(--bui-space-3);
}
-
.bui-m-4 {
margin: var(--bui-space-4);
}
-
.bui-m-5 {
margin: var(--bui-space-5);
}
-
.bui-m-6 {
margin: var(--bui-space-6);
}
-
.bui-m-7 {
margin: var(--bui-space-7);
}
-
.bui-m-8 {
margin: var(--bui-space-8);
}
-
.bui-m-9 {
margin: var(--bui-space-9);
}
-
.bui-m-10 {
margin: var(--bui-space-10);
}
-
.bui-m-11 {
margin: var(--bui-space-11);
}
-
.bui-m-12 {
margin: var(--bui-space-12);
}
-
.bui-m-13 {
margin: var(--bui-space-13);
}
-
.bui-m-14 {
margin: var(--bui-space-14);
}
-
- @media (width >= 640px) {
+ @media (width>=640px) {
.xs\:bui-m {
margin: var(--p-xs);
}
-
.xs\:bui-m-0\.5 {
margin: var(--bui-space-0_5);
}
-
.xs\:bui-m-1 {
margin: var(--bui-space-1);
}
-
.xs\:bui-m-1\.5 {
margin: var(--bui-space-1_5);
}
-
.xs\:bui-m-2 {
margin: var(--bui-space-2);
}
-
.xs\:bui-m-3 {
margin: var(--bui-space-3);
}
-
.xs\:bui-m-4 {
margin: var(--bui-space-4);
}
-
.xs\:bui-m-5 {
margin: var(--bui-space-5);
}
-
.xs\:bui-m-6 {
margin: var(--bui-space-6);
}
-
.xs\:bui-m-7 {
margin: var(--bui-space-7);
}
-
.xs\:bui-m-8 {
margin: var(--bui-space-8);
}
-
.xs\:bui-m-9 {
margin: var(--bui-space-9);
}
-
.xs\:bui-m-10 {
margin: var(--bui-space-10);
}
-
.xs\:bui-m-11 {
margin: var(--bui-space-11);
}
-
.xs\:bui-m-12 {
margin: var(--bui-space-12);
}
-
.xs\:bui-m-13 {
margin: var(--bui-space-13);
}
-
.xs\:bui-m-14 {
margin: var(--bui-space-14);
}
}
-
- @media (width >= 768px) {
+ @media (width>=768px) {
.sm\:bui-m {
margin: var(--p-sm);
}
-
.sm\:bui-m-0\.5 {
margin: var(--bui-space-0_5);
}
-
.sm\:bui-m-1 {
margin: var(--bui-space-1);
}
-
.sm\:bui-m-1\.5 {
margin: var(--bui-space-1_5);
}
-
.sm\:bui-m-2 {
margin: var(--bui-space-2);
}
-
.sm\:bui-m-3 {
margin: var(--bui-space-3);
}
-
.sm\:bui-m-4 {
margin: var(--bui-space-4);
}
-
.sm\:bui-m-5 {
margin: var(--bui-space-5);
}
-
.sm\:bui-m-6 {
margin: var(--bui-space-6);
}
-
.sm\:bui-m-7 {
margin: var(--bui-space-7);
}
-
.sm\:bui-m-8 {
margin: var(--bui-space-8);
}
-
.sm\:bui-m-9 {
margin: var(--bui-space-9);
}
-
.sm\:bui-m-10 {
margin: var(--bui-space-10);
}
-
.sm\:bui-m-11 {
margin: var(--bui-space-11);
}
-
.sm\:bui-m-12 {
margin: var(--bui-space-12);
}
-
.sm\:bui-m-13 {
margin: var(--bui-space-13);
}
-
.sm\:bui-m-14 {
margin: var(--bui-space-14);
}
}
-
- @media (width >= 1024px) {
+ @media (width>=1024px) {
.md\:bui-m {
margin: var(--p-md);
}
-
.md\:bui-m-0\.5 {
margin: var(--bui-space-0_5);
}
-
.md\:bui-m-1 {
margin: var(--bui-space-1);
}
-
.md\:bui-m-1\.5 {
margin: var(--bui-space-1_5);
}
-
.md\:bui-m-2 {
margin: var(--bui-space-2);
}
-
.md\:bui-m-3 {
margin: var(--bui-space-3);
}
-
.md\:bui-m-4 {
margin: var(--bui-space-4);
}
-
.md\:bui-m-5 {
margin: var(--bui-space-5);
}
-
.md\:bui-m-6 {
margin: var(--bui-space-6);
}
-
.md\:bui-m-7 {
margin: var(--bui-space-7);
}
-
.md\:bui-m-8 {
margin: var(--bui-space-8);
}
-
.md\:bui-m-9 {
margin: var(--bui-space-9);
}
-
.md\:bui-m-10 {
margin: var(--bui-space-10);
}
-
.md\:bui-m-11 {
margin: var(--bui-space-11);
}
-
.md\:bui-m-12 {
margin: var(--bui-space-12);
}
-
.md\:bui-m-13 {
margin: var(--bui-space-13);
}
-
.md\:bui-m-14 {
margin: var(--bui-space-14);
}
}
-
- @media (width >= 1280px) {
+ @media (width>=1280px) {
.lg\:bui-m {
margin: var(--p-lg);
}
-
.lg\:bui-m-0\.5 {
margin: var(--bui-space-0_5);
}
-
.lg\:bui-m-1 {
margin: var(--bui-space-1);
}
-
.lg\:bui-m-1\.5 {
margin: var(--bui-space-1_5);
}
-
.lg\:bui-m-2 {
margin: var(--bui-space-2);
}
-
.lg\:bui-m-3 {
margin: var(--bui-space-3);
}
-
.lg\:bui-m-4 {
margin: var(--bui-space-4);
}
-
.lg\:bui-m-5 {
margin: var(--bui-space-5);
}
-
.lg\:bui-m-6 {
margin: var(--bui-space-6);
}
-
.lg\:bui-m-7 {
margin: var(--bui-space-7);
}
-
.lg\:bui-m-8 {
margin: var(--bui-space-8);
}
-
.lg\:bui-m-9 {
margin: var(--bui-space-9);
}
-
.lg\:bui-m-10 {
margin: var(--bui-space-10);
}
-
.lg\:bui-m-11 {
margin: var(--bui-space-11);
}
-
.lg\:bui-m-12 {
margin: var(--bui-space-12);
}
-
.lg\:bui-m-13 {
margin: var(--bui-space-13);
}
-
.lg\:bui-m-14 {
margin: var(--bui-space-14);
}
}
-
- @media (width >= 1536px) {
+ @media (width>=1536px) {
.xl\:bui-m {
margin: var(--p-xl);
}
-
.xl\:bui-m-0\.5 {
margin: var(--bui-space-0_5);
}
-
.xl\:bui-m-1 {
margin: var(--bui-space-1);
}
-
.xl\:bui-m-1\.5 {
margin: var(--bui-space-1_5);
}
-
.xl\:bui-m-2 {
margin: var(--bui-space-2);
}
-
.xl\:bui-m-3 {
margin: var(--bui-space-3);
}
-
.xl\:bui-m-4 {
margin: var(--bui-space-4);
}
-
.xl\:bui-m-5 {
margin: var(--bui-space-5);
}
-
.xl\:bui-m-6 {
margin: var(--bui-space-6);
}
-
.xl\:bui-m-7 {
margin: var(--bui-space-7);
}
-
.xl\:bui-m-8 {
margin: var(--bui-space-8);
}
-
.xl\:bui-m-9 {
margin: var(--bui-space-9);
}
-
.xl\:bui-m-10 {
margin: var(--bui-space-10);
}
-
.xl\:bui-m-11 {
margin: var(--bui-space-11);
}
-
.xl\:bui-m-12 {
margin: var(--bui-space-12);
}
-
.xl\:bui-m-13 {
margin: var(--bui-space-13);
}
-
.xl\:bui-m-14 {
margin: var(--bui-space-14);
}
}
-
.bui-ml {
margin-left: var(--ml);
}
-
.bui-ml-0\.5 {
margin-left: var(--bui-space-0_5);
}
-
.bui-ml-1 {
margin-left: var(--bui-space-1);
}
-
.bui-ml-1\.5 {
margin-left: var(--bui-space-1_5);
}
-
.bui-ml-2 {
margin-left: var(--bui-space-2);
}
-
.bui-ml-3 {
margin-left: var(--bui-space-3);
}
-
.bui-ml-4 {
margin-left: var(--bui-space-4);
}
-
.bui-ml-5 {
margin-left: var(--bui-space-5);
}
-
.bui-ml-6 {
margin-left: var(--bui-space-6);
}
-
.bui-ml-7 {
margin-left: var(--bui-space-7);
}
-
.bui-ml-8 {
margin-left: var(--bui-space-8);
}
-
.bui-ml-9 {
margin-left: var(--bui-space-9);
}
-
.bui-ml-10 {
margin-left: var(--bui-space-10);
}
-
.bui-ml-11 {
margin-left: var(--bui-space-11);
}
-
.bui-ml-12 {
margin-left: var(--bui-space-12);
}
-
.bui-ml-13 {
margin-left: var(--bui-space-13);
}
-
.bui-ml-14 {
margin-left: var(--bui-space-14);
}
-
- @media (width >= 640px) {
+ @media (width>=640px) {
.xs\:bui-ml {
margin-left: var(--ml-xs);
}
-
.xs\:bui-ml-0\.5 {
margin-left: var(--bui-space-0_5);
}
-
.xs\:bui-ml-1 {
margin-left: var(--bui-space-1);
}
-
.xs\:bui-ml-1\.5 {
margin-left: var(--bui-space-1_5);
}
-
.xs\:bui-ml-2 {
margin-left: var(--bui-space-2);
}
-
.xs\:bui-ml-3 {
margin-left: var(--bui-space-3);
}
-
.xs\:bui-ml-4 {
margin-left: var(--bui-space-4);
}
-
.xs\:bui-ml-5 {
margin-left: var(--bui-space-5);
}
-
.xs\:bui-ml-6 {
margin-left: var(--bui-space-6);
}
-
.xs\:bui-ml-7 {
margin-left: var(--bui-space-7);
}
-
.xs\:bui-ml-8 {
margin-left: var(--bui-space-8);
}
-
.xs\:bui-ml-9 {
margin-left: var(--bui-space-9);
}
-
.xs\:bui-ml-10 {
margin-left: var(--bui-space-10);
}
-
.xs\:bui-ml-11 {
margin-left: var(--bui-space-11);
}
-
.xs\:bui-ml-12 {
margin-left: var(--bui-space-12);
}
-
.xs\:bui-ml-13 {
margin-left: var(--bui-space-13);
}
-
.xs\:bui-ml-14 {
margin-left: var(--bui-space-14);
}
}
-
- @media (width >= 768px) {
+ @media (width>=768px) {
.sm\:bui-ml {
margin-left: var(--ml-sm);
}
-
.sm\:bui-ml-0\.5 {
margin-left: var(--bui-space-0_5);
}
-
.sm\:bui-ml-1 {
margin-left: var(--bui-space-1);
}
-
.sm\:bui-ml-1\.5 {
margin-left: var(--bui-space-1_5);
}
-
.sm\:bui-ml-2 {
margin-left: var(--bui-space-2);
}
-
.sm\:bui-ml-3 {
margin-left: var(--bui-space-3);
}
-
.sm\:bui-ml-4 {
margin-left: var(--bui-space-4);
}
-
.sm\:bui-ml-5 {
margin-left: var(--bui-space-5);
}
-
.sm\:bui-ml-6 {
margin-left: var(--bui-space-6);
}
-
.sm\:bui-ml-7 {
margin-left: var(--bui-space-7);
}
-
.sm\:bui-ml-8 {
margin-left: var(--bui-space-8);
}
-
.sm\:bui-ml-9 {
margin-left: var(--bui-space-9);
}
-
.sm\:bui-ml-10 {
margin-left: var(--bui-space-10);
}
-
.sm\:bui-ml-11 {
margin-left: var(--bui-space-11);
}
-
.sm\:bui-ml-12 {
margin-left: var(--bui-space-12);
}
-
.sm\:bui-ml-13 {
margin-left: var(--bui-space-13);
}
-
.sm\:bui-ml-14 {
margin-left: var(--bui-space-14);
}
}
-
- @media (width >= 1024px) {
+ @media (width>=1024px) {
.md\:bui-ml {
margin-left: var(--ml-md);
}
-
.md\:bui-ml-0\.5 {
margin-left: var(--bui-space-0_5);
}
-
.md\:bui-ml-1 {
margin-left: var(--bui-space-1);
}
-
.md\:bui-ml-1\.5 {
margin-left: var(--bui-space-1_5);
}
-
.md\:bui-ml-2 {
margin-left: var(--bui-space-2);
}
-
.md\:bui-ml-3 {
margin-left: var(--bui-space-3);
}
-
.md\:bui-ml-4 {
margin-left: var(--bui-space-4);
}
-
.md\:bui-ml-5 {
margin-left: var(--bui-space-5);
}
-
.md\:bui-ml-6 {
margin-left: var(--bui-space-6);
}
-
.md\:bui-ml-7 {
margin-left: var(--bui-space-7);
}
-
.md\:bui-ml-8 {
margin-left: var(--bui-space-8);
}
-
.md\:bui-ml-9 {
margin-left: var(--bui-space-9);
}
-
.md\:bui-ml-10 {
margin-left: var(--bui-space-10);
}
-
.md\:bui-ml-11 {
margin-left: var(--bui-space-11);
}
-
.md\:bui-ml-12 {
margin-left: var(--bui-space-12);
}
-
.md\:bui-ml-13 {
margin-left: var(--bui-space-13);
}
-
.md\:bui-ml-14 {
margin-left: var(--bui-space-14);
}
}
-
- @media (width >= 1280px) {
+ @media (width>=1280px) {
.lg\:bui-ml {
margin-left: var(--ml-lg);
}
-
.lg\:bui-ml-0\.5 {
margin-left: var(--bui-space-0_5);
}
-
.lg\:bui-ml-1 {
margin-left: var(--bui-space-1);
}
-
.lg\:bui-ml-1\.5 {
margin-left: var(--bui-space-1_5);
}
-
.lg\:bui-ml-2 {
margin-left: var(--bui-space-2);
}
-
.lg\:bui-ml-3 {
margin-left: var(--bui-space-3);
}
-
.lg\:bui-ml-4 {
margin-left: var(--bui-space-4);
}
-
.lg\:bui-ml-5 {
margin-left: var(--bui-space-5);
}
-
.lg\:bui-ml-6 {
margin-left: var(--bui-space-6);
}
-
.lg\:bui-ml-7 {
margin-left: var(--bui-space-7);
}
-
.lg\:bui-ml-8 {
margin-left: var(--bui-space-8);
}
-
.lg\:bui-ml-9 {
margin-left: var(--bui-space-9);
}
-
.lg\:bui-ml-10 {
margin-left: var(--bui-space-10);
}
-
.lg\:bui-ml-11 {
margin-left: var(--bui-space-11);
}
-
.lg\:bui-ml-12 {
margin-left: var(--bui-space-12);
}
-
.lg\:bui-ml-13 {
margin-left: var(--bui-space-13);
}
-
.lg\:bui-ml-14 {
margin-left: var(--bui-space-14);
}
}
-
- @media (width >= 1536px) {
+ @media (width>=1536px) {
.xl\:bui-ml {
margin-left: var(--ml-xl);
}
-
.xl\:bui-ml-0\.5 {
margin-left: var(--bui-space-0_5);
}
-
.xl\:bui-ml-1 {
margin-left: var(--bui-space-1);
}
-
.xl\:bui-ml-1\.5 {
margin-left: var(--bui-space-1_5);
}
-
.xl\:bui-ml-2 {
margin-left: var(--bui-space-2);
}
-
.xl\:bui-ml-3 {
margin-left: var(--bui-space-3);
}
-
.xl\:bui-ml-4 {
margin-left: var(--bui-space-4);
}
-
.xl\:bui-ml-5 {
margin-left: var(--bui-space-5);
}
-
.xl\:bui-ml-6 {
margin-left: var(--bui-space-6);
}
-
.xl\:bui-ml-7 {
margin-left: var(--bui-space-7);
}
-
.xl\:bui-ml-8 {
margin-left: var(--bui-space-8);
}
-
.xl\:bui-ml-9 {
margin-left: var(--bui-space-9);
}
-
.xl\:bui-ml-10 {
margin-left: var(--bui-space-10);
}
-
.xl\:bui-ml-11 {
margin-left: var(--bui-space-11);
}
-
.xl\:bui-ml-12 {
margin-left: var(--bui-space-12);
}
-
.xl\:bui-ml-13 {
margin-left: var(--bui-space-13);
}
-
.xl\:bui-ml-14 {
margin-left: var(--bui-space-14);
}
}
-
.bui-mr {
margin-right: var(--mr);
}
-
.bui-mr-0\.5 {
margin-right: var(--bui-space-0_5);
}
-
.bui-mr-1 {
margin-right: var(--bui-space-1);
}
-
.bui-mr-1\.5 {
margin-right: var(--bui-space-1_5);
}
-
.bui-mr-2 {
margin-right: var(--bui-space-2);
}
-
.bui-mr-3 {
margin-right: var(--bui-space-3);
}
-
.bui-mr-4 {
margin-right: var(--bui-space-4);
}
-
.bui-mr-5 {
margin-right: var(--bui-space-5);
}
-
.bui-mr-6 {
margin-right: var(--bui-space-6);
}
-
.bui-mr-7 {
margin-right: var(--bui-space-7);
}
-
.bui-mr-8 {
margin-right: var(--bui-space-8);
}
-
.bui-mr-9 {
margin-right: var(--bui-space-9);
}
-
.bui-mr-10 {
margin-right: var(--bui-space-10);
}
-
.bui-mr-11 {
margin-right: var(--bui-space-11);
}
-
.bui-mr-12 {
margin-right: var(--bui-space-12);
}
-
.bui-mr-13 {
margin-right: var(--bui-space-13);
}
-
.bui-mr-14 {
margin-right: var(--bui-space-14);
}
-
- @media (width >= 640px) {
+ @media (width>=640px) {
.xs\:bui-mr {
margin-right: var(--mr-xs);
}
-
.xs\:bui-mr-0\.5 {
margin-right: var(--bui-space-0_5);
}
-
.xs\:bui-mr-1 {
margin-right: var(--bui-space-1);
}
-
.xs\:bui-mr-1\.5 {
margin-right: var(--bui-space-1_5);
}
-
.xs\:bui-mr-2 {
margin-right: var(--bui-space-2);
}
-
.xs\:bui-mr-3 {
margin-right: var(--bui-space-3);
}
-
.xs\:bui-mr-4 {
margin-right: var(--bui-space-4);
}
-
.xs\:bui-mr-5 {
margin-right: var(--bui-space-5);
}
-
.xs\:bui-mr-6 {
margin-right: var(--bui-space-6);
}
-
.xs\:bui-mr-7 {
margin-right: var(--bui-space-7);
}
-
.xs\:bui-mr-8 {
margin-right: var(--bui-space-8);
}
-
.xs\:bui-mr-9 {
margin-right: var(--bui-space-9);
}
-
.xs\:bui-mr-10 {
margin-right: var(--bui-space-10);
}
-
.xs\:bui-mr-11 {
margin-right: var(--bui-space-11);
}
-
.xs\:bui-mr-12 {
margin-right: var(--bui-space-12);
}
-
.xs\:bui-mr-13 {
margin-right: var(--bui-space-13);
}
-
.xs\:bui-mr-14 {
margin-right: var(--bui-space-14);
}
}
-
- @media (width >= 768px) {
+ @media (width>=768px) {
.sm\:bui-mr {
margin-right: var(--mr-sm);
}
-
.sm\:bui-mr-0\.5 {
margin-right: var(--bui-space-0_5);
}
-
.sm\:bui-mr-1 {
margin-right: var(--bui-space-1);
}
-
.sm\:bui-mr-1\.5 {
margin-right: var(--bui-space-1_5);
}
-
.sm\:bui-mr-2 {
margin-right: var(--bui-space-2);
}
-
.sm\:bui-mr-3 {
margin-right: var(--bui-space-3);
}
-
.sm\:bui-mr-4 {
margin-right: var(--bui-space-4);
}
-
.sm\:bui-mr-5 {
margin-right: var(--bui-space-5);
}
-
.sm\:bui-mr-6 {
margin-right: var(--bui-space-6);
}
-
.sm\:bui-mr-7 {
margin-right: var(--bui-space-7);
}
-
.sm\:bui-mr-8 {
margin-right: var(--bui-space-8);
}
-
.sm\:bui-mr-9 {
margin-right: var(--bui-space-9);
}
-
.sm\:bui-mr-10 {
margin-right: var(--bui-space-10);
}
-
.sm\:bui-mr-11 {
margin-right: var(--bui-space-11);
}
-
.sm\:bui-mr-12 {
margin-right: var(--bui-space-12);
}
-
.sm\:bui-mr-13 {
margin-right: var(--bui-space-13);
}
-
.sm\:bui-mr-14 {
margin-right: var(--bui-space-14);
}
}
-
- @media (width >= 1024px) {
+ @media (width>=1024px) {
.md\:bui-mr {
margin-right: var(--mr-md);
}
-
.md\:bui-mr-0\.5 {
margin-right: var(--bui-space-0_5);
}
-
.md\:bui-mr-1 {
margin-right: var(--bui-space-1);
}
-
.md\:bui-mr-1\.5 {
margin-right: var(--bui-space-1_5);
}
-
.md\:bui-mr-2 {
margin-right: var(--bui-space-2);
}
-
.md\:bui-mr-3 {
margin-right: var(--bui-space-3);
}
-
.md\:bui-mr-4 {
margin-right: var(--bui-space-4);
}
-
.md\:bui-mr-5 {
margin-right: var(--bui-space-5);
}
-
.md\:bui-mr-6 {
margin-right: var(--bui-space-6);
}
-
.md\:bui-mr-7 {
margin-right: var(--bui-space-7);
}
-
.md\:bui-mr-8 {
margin-right: var(--bui-space-8);
}
-
.md\:bui-mr-9 {
margin-right: var(--bui-space-9);
}
-
.md\:bui-mr-10 {
margin-right: var(--bui-space-10);
}
-
.md\:bui-mr-11 {
margin-right: var(--bui-space-11);
}
-
.md\:bui-mr-12 {
margin-right: var(--bui-space-12);
}
-
.md\:bui-mr-13 {
margin-right: var(--bui-space-13);
}
-
.md\:bui-mr-14 {
margin-right: var(--bui-space-14);
}
}
-
- @media (width >= 1280px) {
+ @media (width>=1280px) {
.lg\:bui-mr {
margin-right: var(--mr-lg);
}
-
.lg\:bui-mr-0\.5 {
margin-right: var(--bui-space-0_5);
}
-
.lg\:bui-mr-1 {
margin-right: var(--bui-space-1);
}
-
.lg\:bui-mr-1\.5 {
margin-right: var(--bui-space-1_5);
}
-
.lg\:bui-mr-2 {
margin-right: var(--bui-space-2);
}
-
.lg\:bui-mr-3 {
margin-right: var(--bui-space-3);
}
-
.lg\:bui-mr-4 {
margin-right: var(--bui-space-4);
}
-
.lg\:bui-mr-5 {
margin-right: var(--bui-space-5);
}
-
.lg\:bui-mr-6 {
margin-right: var(--bui-space-6);
}
-
.lg\:bui-mr-7 {
margin-right: var(--bui-space-7);
}
-
.lg\:bui-mr-8 {
margin-right: var(--bui-space-8);
}
-
.lg\:bui-mr-9 {
margin-right: var(--bui-space-9);
}
-
.lg\:bui-mr-10 {
margin-right: var(--bui-space-10);
}
-
.lg\:bui-mr-11 {
margin-right: var(--bui-space-11);
}
-
.lg\:bui-mr-12 {
margin-right: var(--bui-space-12);
}
-
.lg\:bui-mr-13 {
margin-right: var(--bui-space-13);
}
-
.lg\:bui-mr-14 {
margin-right: var(--bui-space-14);
}
}
-
- @media (width >= 1536px) {
+ @media (width>=1536px) {
.xl\:bui-mr {
margin-right: var(--mr-xl);
}
-
.xl\:bui-mr-0\.5 {
margin-right: var(--bui-space-0_5);
}
-
.xl\:bui-mr-1 {
margin-right: var(--bui-space-1);
}
-
.xl\:bui-mr-1\.5 {
margin-right: var(--bui-space-1_5);
}
-
.xl\:bui-mr-2 {
margin-right: var(--bui-space-2);
}
-
.xl\:bui-mr-3 {
margin-right: var(--bui-space-3);
}
-
.xl\:bui-mr-4 {
margin-right: var(--bui-space-4);
}
-
.xl\:bui-mr-5 {
margin-right: var(--bui-space-5);
}
-
.xl\:bui-mr-6 {
margin-right: var(--bui-space-6);
}
-
.xl\:bui-mr-7 {
margin-right: var(--bui-space-7);
}
-
.xl\:bui-mr-8 {
margin-right: var(--bui-space-8);
}
-
.xl\:bui-mr-9 {
margin-right: var(--bui-space-9);
}
-
.xl\:bui-mr-10 {
margin-right: var(--bui-space-10);
}
-
.xl\:bui-mr-11 {
margin-right: var(--bui-space-11);
}
-
.xl\:bui-mr-12 {
margin-right: var(--bui-space-12);
}
-
.xl\:bui-mr-13 {
margin-right: var(--bui-space-13);
}
-
.xl\:bui-mr-14 {
margin-right: var(--bui-space-14);
}
}
-
.bui-mt {
margin-top: var(--mt);
}
-
.bui-mt-0\.5 {
margin-top: var(--bui-space-0_5);
}
-
.bui-mt-1 {
margin-top: var(--bui-space-1);
}
-
.bui-mt-1\.5 {
margin-top: var(--bui-space-1_5);
}
-
.bui-mt-2 {
margin-top: var(--bui-space-2);
}
-
.bui-mt-3 {
margin-top: var(--bui-space-3);
}
-
.bui-mt-4 {
margin-top: var(--bui-space-4);
}
-
.bui-mt-5 {
margin-top: var(--bui-space-5);
}
-
.bui-mt-6 {
margin-top: var(--bui-space-6);
}
-
.bui-mt-7 {
margin-top: var(--bui-space-7);
}
-
.bui-mt-8 {
margin-top: var(--bui-space-8);
}
-
.bui-mt-9 {
margin-top: var(--bui-space-9);
}
-
.bui-mt-10 {
margin-top: var(--bui-space-10);
}
-
.bui-mt-11 {
margin-top: var(--bui-space-11);
}
-
.bui-mt-12 {
margin-top: var(--bui-space-12);
}
-
.bui-mt-13 {
margin-top: var(--bui-space-13);
}
-
.bui-mt-14 {
margin-top: var(--bui-space-14);
}
-
- @media (width >= 640px) {
+ @media (width>=640px) {
.xs\:bui-mt {
margin-top: var(--mt-xs);
}
-
.xs\:bui-mt-0\.5 {
margin-top: var(--bui-space-0_5);
}
-
.xs\:bui-mt-1 {
margin-top: var(--bui-space-1);
}
-
.xs\:bui-mt-1\.5 {
margin-top: var(--bui-space-1_5);
}
-
.xs\:bui-mt-2 {
margin-top: var(--bui-space-2);
}
-
.xs\:bui-mt-3 {
margin-top: var(--bui-space-3);
}
-
.xs\:bui-mt-4 {
margin-top: var(--bui-space-4);
}
-
.xs\:bui-mt-5 {
margin-top: var(--bui-space-5);
}
-
.xs\:bui-mt-6 {
margin-top: var(--bui-space-6);
}
-
.xs\:bui-mt-7 {
margin-top: var(--bui-space-7);
}
-
.xs\:bui-mt-8 {
margin-top: var(--bui-space-8);
}
-
.xs\:bui-mt-9 {
margin-top: var(--bui-space-9);
}
-
.xs\:bui-mt-10 {
margin-top: var(--bui-space-10);
}
-
.xs\:bui-mt-11 {
margin-top: var(--bui-space-11);
}
-
.xs\:bui-mt-12 {
margin-top: var(--bui-space-12);
}
-
.xs\:bui-mt-13 {
margin-top: var(--bui-space-13);
}
-
.xs\:bui-mt-14 {
margin-top: var(--bui-space-14);
}
}
-
- @media (width >= 768px) {
+ @media (width>=768px) {
.sm\:bui-mt {
margin-top: var(--mt-sm);
}
-
.sm\:bui-mt-0\.5 {
margin-top: var(--bui-space-0_5);
}
-
.sm\:bui-mt-1 {
margin-top: var(--bui-space-1);
}
-
.sm\:bui-mt-1\.5 {
margin-top: var(--bui-space-1_5);
}
-
.sm\:bui-mt-2 {
margin-top: var(--bui-space-2);
}
-
.sm\:bui-mt-3 {
margin-top: var(--bui-space-3);
}
-
.sm\:bui-mt-4 {
margin-top: var(--bui-space-4);
}
-
.sm\:bui-mt-5 {
margin-top: var(--bui-space-5);
}
-
.sm\:bui-mt-6 {
margin-top: var(--bui-space-6);
}
-
.sm\:bui-mt-7 {
margin-top: var(--bui-space-7);
}
-
.sm\:bui-mt-8 {
margin-top: var(--bui-space-8);
}
-
.sm\:bui-mt-9 {
margin-top: var(--bui-space-9);
}
-
.sm\:bui-mt-10 {
margin-top: var(--bui-space-10);
}
-
.sm\:bui-mt-11 {
margin-top: var(--bui-space-11);
}
-
.sm\:bui-mt-12 {
margin-top: var(--bui-space-12);
}
-
.sm\:bui-mt-13 {
margin-top: var(--bui-space-13);
}
-
.sm\:bui-mt-14 {
margin-top: var(--bui-space-14);
}
}
-
- @media (width >= 1024px) {
+ @media (width>=1024px) {
.md\:bui-mt {
margin-top: var(--mt-md);
}
-
.md\:bui-mt-0\.5 {
margin-top: var(--bui-space-0_5);
}
-
.md\:bui-mt-1 {
margin-top: var(--bui-space-1);
}
-
.md\:bui-mt-1\.5 {
margin-top: var(--bui-space-1_5);
}
-
.md\:bui-mt-2 {
margin-top: var(--bui-space-2);
}
-
.md\:bui-mt-3 {
margin-top: var(--bui-space-3);
}
-
.md\:bui-mt-4 {
margin-top: var(--bui-space-4);
}
-
.md\:bui-mt-5 {
margin-top: var(--bui-space-5);
}
-
.md\:bui-mt-6 {
margin-top: var(--bui-space-6);
}
-
.md\:bui-mt-7 {
margin-top: var(--bui-space-7);
}
-
.md\:bui-mt-8 {
margin-top: var(--bui-space-8);
}
-
.md\:bui-mt-9 {
margin-top: var(--bui-space-9);
}
-
.md\:bui-mt-10 {
margin-top: var(--bui-space-10);
}
-
.md\:bui-mt-11 {
margin-top: var(--bui-space-11);
}
-
.md\:bui-mt-12 {
margin-top: var(--bui-space-12);
}
-
.md\:bui-mt-13 {
margin-top: var(--bui-space-13);
}
-
.md\:bui-mt-14 {
margin-top: var(--bui-space-14);
}
}
-
- @media (width >= 1280px) {
+ @media (width>=1280px) {
.lg\:bui-mt {
margin-top: var(--mt-lg);
}
-
.lg\:bui-mt-0\.5 {
margin-top: var(--bui-space-0_5);
}
-
.lg\:bui-mt-1 {
margin-top: var(--bui-space-1);
}
-
.lg\:bui-mt-1\.5 {
margin-top: var(--bui-space-1_5);
}
-
.lg\:bui-mt-2 {
margin-top: var(--bui-space-2);
}
-
.lg\:bui-mt-3 {
margin-top: var(--bui-space-3);
}
-
.lg\:bui-mt-4 {
margin-top: var(--bui-space-4);
}
-
.lg\:bui-mt-5 {
margin-top: var(--bui-space-5);
}
-
.lg\:bui-mt-6 {
margin-top: var(--bui-space-6);
}
-
.lg\:bui-mt-7 {
margin-top: var(--bui-space-7);
}
-
.lg\:bui-mt-8 {
margin-top: var(--bui-space-8);
}
-
.lg\:bui-mt-9 {
margin-top: var(--bui-space-9);
}
-
.lg\:bui-mt-10 {
margin-top: var(--bui-space-10);
}
-
.lg\:bui-mt-11 {
margin-top: var(--bui-space-11);
}
-
.lg\:bui-mt-12 {
margin-top: var(--bui-space-12);
}
-
.lg\:bui-mt-13 {
margin-top: var(--bui-space-13);
}
-
.lg\:bui-mt-14 {
margin-top: var(--bui-space-14);
}
}
-
- @media (width >= 1536px) {
+ @media (width>=1536px) {
.xl\:bui-mt {
margin-top: var(--mt-xl);
}
-
.xl\:bui-mt-0\.5 {
margin-top: var(--bui-space-0_5);
}
-
.xl\:bui-mt-1 {
margin-top: var(--bui-space-1);
}
-
.xl\:bui-mt-1\.5 {
margin-top: var(--bui-space-1_5);
}
-
.xl\:bui-mt-2 {
margin-top: var(--bui-space-2);
}
-
.xl\:bui-mt-3 {
margin-top: var(--bui-space-3);
}
-
.xl\:bui-mt-4 {
margin-top: var(--bui-space-4);
}
-
.xl\:bui-mt-5 {
margin-top: var(--bui-space-5);
}
-
.xl\:bui-mt-6 {
margin-top: var(--bui-space-6);
}
-
.xl\:bui-mt-7 {
margin-top: var(--bui-space-7);
}
-
.xl\:bui-mt-8 {
margin-top: var(--bui-space-8);
}
-
.xl\:bui-mt-9 {
margin-top: var(--bui-space-9);
}
-
.xl\:bui-mt-10 {
margin-top: var(--bui-space-10);
}
-
.xl\:bui-mt-11 {
margin-top: var(--bui-space-11);
}
-
.xl\:bui-mt-12 {
margin-top: var(--bui-space-12);
}
-
.xl\:bui-mt-13 {
margin-top: var(--bui-space-13);
}
-
.xl\:bui-mt-14 {
margin-top: var(--bui-space-14);
}
}
-
.bui-mb {
margin-bottom: var(--mb);
}
-
.bui-mb-0\.5 {
margin-bottom: var(--bui-space-0_5);
}
-
.bui-mb-1 {
margin-bottom: var(--bui-space-1);
}
-
.bui-mb-1\.5 {
margin-bottom: var(--bui-space-1_5);
}
-
.bui-mb-2 {
margin-bottom: var(--bui-space-2);
}
-
.bui-mb-3 {
margin-bottom: var(--bui-space-3);
}
-
.bui-mb-4 {
margin-bottom: var(--bui-space-4);
}
-
.bui-mb-5 {
margin-bottom: var(--bui-space-5);
}
-
.bui-mb-6 {
margin-bottom: var(--bui-space-6);
}
-
.bui-mb-7 {
margin-bottom: var(--bui-space-7);
}
-
.bui-mb-8 {
margin-bottom: var(--bui-space-8);
}
-
.bui-mb-9 {
margin-bottom: var(--bui-space-9);
}
-
.bui-mb-10 {
margin-bottom: var(--bui-space-10);
}
-
.bui-mb-11 {
margin-bottom: var(--bui-space-11);
}
-
.bui-mb-12 {
margin-bottom: var(--bui-space-12);
}
-
.bui-mb-13 {
margin-bottom: var(--bui-space-13);
}
-
.bui-mb-14 {
margin-bottom: var(--bui-space-14);
}
-
- @media (width >= 640px) {
+ @media (width>=640px) {
.xs\:bui-mb {
margin-bottom: var(--mb-xs);
}
-
.xs\:bui-mb-0\.5 {
margin-bottom: var(--bui-space-0_5);
}
-
.xs\:bui-mb-1 {
margin-bottom: var(--bui-space-1);
}
-
.xs\:bui-mb-1\.5 {
margin-bottom: var(--bui-space-1_5);
}
-
.xs\:bui-mb-2 {
margin-bottom: var(--bui-space-2);
}
-
.xs\:bui-mb-3 {
margin-bottom: var(--bui-space-3);
}
-
.xs\:bui-mb-4 {
margin-bottom: var(--bui-space-4);
}
-
.xs\:bui-mb-5 {
margin-bottom: var(--bui-space-5);
}
-
.xs\:bui-mb-6 {
margin-bottom: var(--bui-space-6);
}
-
.xs\:bui-mb-7 {
margin-bottom: var(--bui-space-7);
}
-
.xs\:bui-mb-8 {
margin-bottom: var(--bui-space-8);
}
-
.xs\:bui-mb-9 {
margin-bottom: var(--bui-space-9);
}
-
.xs\:bui-mb-10 {
margin-bottom: var(--bui-space-10);
}
-
.xs\:bui-mb-11 {
margin-bottom: var(--bui-space-11);
}
-
.xs\:bui-mb-12 {
margin-bottom: var(--bui-space-12);
}
-
.xs\:bui-mb-13 {
margin-bottom: var(--bui-space-13);
}
-
.xs\:bui-mb-14 {
margin-bottom: var(--bui-space-14);
}
}
-
- @media (width >= 768px) {
+ @media (width>=768px) {
.sm\:bui-mb {
margin-bottom: var(--mb-sm);
}
-
.sm\:bui-mb-0\.5 {
margin-bottom: var(--bui-space-0_5);
}
-
.sm\:bui-mb-1 {
margin-bottom: var(--bui-space-1);
}
-
.sm\:bui-mb-1\.5 {
margin-bottom: var(--bui-space-1_5);
}
-
.sm\:bui-mb-2 {
margin-bottom: var(--bui-space-2);
}
-
.sm\:bui-mb-3 {
margin-bottom: var(--bui-space-3);
}
-
.sm\:bui-mb-4 {
margin-bottom: var(--bui-space-4);
}
-
.sm\:bui-mb-5 {
margin-bottom: var(--bui-space-5);
}
-
.sm\:bui-mb-6 {
margin-bottom: var(--bui-space-6);
}
-
.sm\:bui-mb-7 {
margin-bottom: var(--bui-space-7);
}
-
.sm\:bui-mb-8 {
margin-bottom: var(--bui-space-8);
}
-
.sm\:bui-mb-9 {
margin-bottom: var(--bui-space-9);
}
-
.sm\:bui-mb-10 {
margin-bottom: var(--bui-space-10);
}
-
.sm\:bui-mb-11 {
margin-bottom: var(--bui-space-11);
}
-
.sm\:bui-mb-12 {
margin-bottom: var(--bui-space-12);
}
-
.sm\:bui-mb-13 {
margin-bottom: var(--bui-space-13);
}
-
.sm\:bui-mb-14 {
margin-bottom: var(--bui-space-14);
}
}
-
- @media (width >= 1024px) {
+ @media (width>=1024px) {
.md\:bui-mb {
margin-bottom: var(--mb-md);
}
-
.md\:bui-mb-0\.5 {
margin-bottom: var(--bui-space-0_5);
}
-
.md\:bui-mb-1 {
margin-bottom: var(--bui-space-1);
}
-
.md\:bui-mb-1\.5 {
margin-bottom: var(--bui-space-1_5);
}
-
.md\:bui-mb-2 {
margin-bottom: var(--bui-space-2);
}
-
.md\:bui-mb-3 {
margin-bottom: var(--bui-space-3);
}
-
.md\:bui-mb-4 {
margin-bottom: var(--bui-space-4);
}
-
.md\:bui-mb-5 {
margin-bottom: var(--bui-space-5);
}
-
.md\:bui-mb-6 {
margin-bottom: var(--bui-space-6);
}
-
.md\:bui-mb-7 {
margin-bottom: var(--bui-space-7);
}
-
.md\:bui-mb-8 {
margin-bottom: var(--bui-space-8);
}
-
.md\:bui-mb-9 {
margin-bottom: var(--bui-space-9);
}
-
.md\:bui-mb-10 {
margin-bottom: var(--bui-space-10);
}
-
.md\:bui-mb-11 {
margin-bottom: var(--bui-space-11);
}
-
.md\:bui-mb-12 {
margin-bottom: var(--bui-space-12);
}
-
.md\:bui-mb-13 {
margin-bottom: var(--bui-space-13);
}
-
.md\:bui-mb-14 {
margin-bottom: var(--bui-space-14);
}
}
-
- @media (width >= 1280px) {
+ @media (width>=1280px) {
.lg\:bui-mb {
margin-bottom: var(--mb-lg);
}
-
.lg\:bui-mb-0\.5 {
margin-bottom: var(--bui-space-0_5);
}
-
.lg\:bui-mb-1 {
margin-bottom: var(--bui-space-1);
}
-
.lg\:bui-mb-1\.5 {
margin-bottom: var(--bui-space-1_5);
}
-
.lg\:bui-mb-2 {
margin-bottom: var(--bui-space-2);
}
-
.lg\:bui-mb-3 {
margin-bottom: var(--bui-space-3);
}
-
.lg\:bui-mb-4 {
margin-bottom: var(--bui-space-4);
}
-
.lg\:bui-mb-5 {
margin-bottom: var(--bui-space-5);
}
-
.lg\:bui-mb-6 {
margin-bottom: var(--bui-space-6);
}
-
.lg\:bui-mb-7 {
margin-bottom: var(--bui-space-7);
}
-
.lg\:bui-mb-8 {
margin-bottom: var(--bui-space-8);
}
-
.lg\:bui-mb-9 {
margin-bottom: var(--bui-space-9);
}
-
.lg\:bui-mb-10 {
margin-bottom: var(--bui-space-10);
}
-
.lg\:bui-mb-11 {
margin-bottom: var(--bui-space-11);
}
-
.lg\:bui-mb-12 {
margin-bottom: var(--bui-space-12);
}
-
.lg\:bui-mb-13 {
margin-bottom: var(--bui-space-13);
}
-
.lg\:bui-mb-14 {
margin-bottom: var(--bui-space-14);
}
}
-
- @media (width >= 1536px) {
+ @media (width>=1536px) {
.xl\:bui-mb {
margin-bottom: var(--mb-xl);
}
-
.xl\:bui-mb-0\.5 {
margin-bottom: var(--bui-space-0_5);
}
-
.xl\:bui-mb-1 {
margin-bottom: var(--bui-space-1);
}
-
.xl\:bui-mb-1\.5 {
margin-bottom: var(--bui-space-1_5);
}
-
.xl\:bui-mb-2 {
margin-bottom: var(--bui-space-2);
}
-
.xl\:bui-mb-3 {
margin-bottom: var(--bui-space-3);
}
-
.xl\:bui-mb-4 {
margin-bottom: var(--bui-space-4);
}
-
.xl\:bui-mb-5 {
margin-bottom: var(--bui-space-5);
}
-
.xl\:bui-mb-6 {
margin-bottom: var(--bui-space-6);
}
-
.xl\:bui-mb-7 {
margin-bottom: var(--bui-space-7);
}
-
.xl\:bui-mb-8 {
margin-bottom: var(--bui-space-8);
}
-
.xl\:bui-mb-9 {
margin-bottom: var(--bui-space-9);
}
-
.xl\:bui-mb-10 {
margin-bottom: var(--bui-space-10);
}
-
.xl\:bui-mb-11 {
margin-bottom: var(--bui-space-11);
}
-
.xl\:bui-mb-12 {
margin-bottom: var(--bui-space-12);
}
-
.xl\:bui-mb-13 {
margin-bottom: var(--bui-space-13);
}
-
.xl\:bui-mb-14 {
margin-bottom: var(--bui-space-14);
}
}
-
.bui-my {
margin-top: var(--my);
margin-bottom: var(--my);
}
-
.bui-my-0\.5 {
margin-top: var(--bui-space-0_5);
margin-bottom: var(--bui-space-0_5);
}
-
.bui-my-1 {
margin-top: var(--bui-space-1);
margin-bottom: var(--bui-space-1);
}
-
.bui-my-1\.5 {
margin-top: var(--bui-space-1_5);
margin-bottom: var(--bui-space-1_5);
}
-
.bui-my-2 {
margin-top: var(--bui-space-2);
margin-bottom: var(--bui-space-2);
}
-
.bui-my-3 {
margin-top: var(--bui-space-3);
margin-bottom: var(--bui-space-3);
}
-
.bui-my-4 {
margin-top: var(--bui-space-4);
margin-bottom: var(--bui-space-4);
}
-
.bui-my-5 {
margin-top: var(--bui-space-5);
margin-bottom: var(--bui-space-5);
}
-
.bui-my-6 {
margin-top: var(--bui-space-6);
margin-bottom: var(--bui-space-6);
}
-
.bui-my-7 {
margin-top: var(--bui-space-7);
margin-bottom: var(--bui-space-7);
}
-
.bui-my-8 {
margin-top: var(--bui-space-8);
margin-bottom: var(--bui-space-8);
}
-
.bui-my-9 {
margin-top: var(--bui-space-9);
margin-bottom: var(--bui-space-9);
}
-
.bui-my-10 {
margin-top: var(--bui-space-10);
margin-bottom: var(--bui-space-10);
}
-
.bui-my-11 {
margin-top: var(--bui-space-11);
margin-bottom: var(--bui-space-11);
}
-
.bui-my-12 {
margin-top: var(--bui-space-12);
margin-bottom: var(--bui-space-12);
}
-
.bui-my-13 {
margin-top: var(--bui-space-13);
margin-bottom: var(--bui-space-13);
}
-
.bui-my-14 {
margin-top: var(--bui-space-14);
margin-bottom: var(--bui-space-14);
}
-
- @media (width >= 640px) {
+ @media (width>=640px) {
.xs\:bui-my {
margin-top: var(--my-xs);
margin-bottom: var(--my-xs);
}
-
.xs\:bui-my-0\.5 {
margin-top: var(--bui-space-0_5);
margin-bottom: var(--bui-space-0_5);
}
-
.xs\:bui-my-1 {
margin-top: var(--bui-space-1);
margin-bottom: var(--bui-space-1);
}
-
.xs\:bui-my-1\.5 {
margin-top: var(--bui-space-1_5);
margin-bottom: var(--bui-space-1_5);
}
-
.xs\:bui-my-2 {
margin-top: var(--bui-space-2);
margin-bottom: var(--bui-space-2);
}
-
.xs\:bui-my-3 {
margin-top: var(--bui-space-3);
margin-bottom: var(--bui-space-3);
}
-
.xs\:bui-my-4 {
margin-top: var(--bui-space-4);
margin-bottom: var(--bui-space-4);
}
-
.xs\:bui-my-5 {
margin-top: var(--bui-space-5);
margin-bottom: var(--bui-space-5);
}
-
.xs\:bui-my-6 {
margin-top: var(--bui-space-6);
margin-bottom: var(--bui-space-6);
}
-
.xs\:bui-my-7 {
margin-top: var(--bui-space-7);
margin-bottom: var(--bui-space-7);
}
-
.xs\:bui-my-8 {
margin-top: var(--bui-space-8);
margin-bottom: var(--bui-space-8);
}
-
.xs\:bui-my-9 {
margin-top: var(--bui-space-9);
margin-bottom: var(--bui-space-9);
}
-
.xs\:bui-my-10 {
margin-top: var(--bui-space-10);
margin-bottom: var(--bui-space-10);
}
-
.xs\:bui-my-11 {
margin-top: var(--bui-space-11);
margin-bottom: var(--bui-space-11);
}
-
.xs\:bui-my-12 {
margin-top: var(--bui-space-12);
margin-bottom: var(--bui-space-12);
}
-
.xs\:bui-my-13 {
margin-top: var(--bui-space-13);
margin-bottom: var(--bui-space-13);
}
-
.xs\:bui-my-14 {
margin-top: var(--bui-space-14);
margin-bottom: var(--bui-space-14);
}
}
-
- @media (width >= 768px) {
+ @media (width>=768px) {
.sm\:bui-my {
margin-top: var(--my-sm);
margin-bottom: var(--my-sm);
}
-
.sm\:bui-my-0\.5 {
margin-top: var(--bui-space-0_5);
margin-bottom: var(--bui-space-0_5);
}
-
.sm\:bui-my-1 {
margin-top: var(--bui-space-1);
margin-bottom: var(--bui-space-1);
}
-
.sm\:bui-my-1\.5 {
margin-top: var(--bui-space-1_5);
margin-bottom: var(--bui-space-1_5);
}
-
.sm\:bui-my-2 {
margin-top: var(--bui-space-2);
margin-bottom: var(--bui-space-2);
}
-
.sm\:bui-my-3 {
margin-top: var(--bui-space-3);
margin-bottom: var(--bui-space-3);
}
-
.sm\:bui-my-4 {
margin-top: var(--bui-space-4);
margin-bottom: var(--bui-space-4);
}
-
.sm\:bui-my-5 {
margin-top: var(--bui-space-5);
margin-bottom: var(--bui-space-5);
}
-
.sm\:bui-my-6 {
margin-top: var(--bui-space-6);
margin-bottom: var(--bui-space-6);
}
-
.sm\:bui-my-7 {
margin-top: var(--bui-space-7);
margin-bottom: var(--bui-space-7);
}
-
.sm\:bui-my-8 {
margin-top: var(--bui-space-8);
margin-bottom: var(--bui-space-8);
}
-
.sm\:bui-my-9 {
margin-top: var(--bui-space-9);
margin-bottom: var(--bui-space-9);
}
-
.sm\:bui-my-10 {
margin-top: var(--bui-space-10);
margin-bottom: var(--bui-space-10);
}
-
.sm\:bui-my-11 {
margin-top: var(--bui-space-11);
margin-bottom: var(--bui-space-11);
}
-
.sm\:bui-my-12 {
margin-top: var(--bui-space-12);
margin-bottom: var(--bui-space-12);
}
-
.sm\:bui-my-13 {
margin-top: var(--bui-space-13);
margin-bottom: var(--bui-space-13);
}
-
.sm\:bui-my-14 {
margin-top: var(--bui-space-14);
margin-bottom: var(--bui-space-14);
}
}
-
- @media (width >= 1024px) {
+ @media (width>=1024px) {
.md\:bui-my {
margin-top: var(--my-md);
margin-bottom: var(--my-md);
}
-
.md\:bui-my-0\.5 {
margin-top: var(--bui-space-0_5);
margin-bottom: var(--bui-space-0_5);
}
-
.md\:bui-my-1 {
margin-top: var(--bui-space-1);
margin-bottom: var(--bui-space-1);
}
-
.md\:bui-my-1\.5 {
margin-top: var(--bui-space-1_5);
margin-bottom: var(--bui-space-1_5);
}
-
.md\:bui-my-2 {
margin-top: var(--bui-space-2);
margin-bottom: var(--bui-space-2);
}
-
.md\:bui-my-3 {
margin-top: var(--bui-space-3);
margin-bottom: var(--bui-space-3);
}
-
.md\:bui-my-4 {
margin-top: var(--bui-space-4);
margin-bottom: var(--bui-space-4);
}
-
.md\:bui-my-5 {
margin-top: var(--bui-space-5);
margin-bottom: var(--bui-space-5);
}
-
.md\:bui-my-6 {
margin-top: var(--bui-space-6);
margin-bottom: var(--bui-space-6);
}
-
.md\:bui-my-7 {
margin-top: var(--bui-space-7);
margin-bottom: var(--bui-space-7);
}
-
.md\:bui-my-8 {
margin-top: var(--bui-space-8);
margin-bottom: var(--bui-space-8);
}
-
.md\:bui-my-9 {
margin-top: var(--bui-space-9);
margin-bottom: var(--bui-space-9);
}
-
.md\:bui-my-10 {
margin-top: var(--bui-space-10);
margin-bottom: var(--bui-space-10);
}
-
.md\:bui-my-11 {
margin-top: var(--bui-space-11);
margin-bottom: var(--bui-space-11);
}
-
.md\:bui-my-12 {
margin-top: var(--bui-space-12);
margin-bottom: var(--bui-space-12);
}
-
.md\:bui-my-13 {
margin-top: var(--bui-space-13);
margin-bottom: var(--bui-space-13);
}
-
.md\:bui-my-14 {
margin-top: var(--bui-space-14);
margin-bottom: var(--bui-space-14);
}
}
-
- @media (width >= 1280px) {
+ @media (width>=1280px) {
.lg\:bui-my {
margin-top: var(--my-lg);
margin-bottom: var(--my-lg);
}
-
.lg\:bui-my-0\.5 {
margin-top: var(--bui-space-0_5);
margin-bottom: var(--bui-space-0_5);
}
-
.lg\:bui-my-1 {
margin-top: var(--bui-space-1);
margin-bottom: var(--bui-space-1);
}
-
.lg\:bui-my-1\.5 {
margin-top: var(--bui-space-1_5);
margin-bottom: var(--bui-space-1_5);
}
-
.lg\:bui-my-2 {
margin-top: var(--bui-space-2);
margin-bottom: var(--bui-space-2);
}
-
.lg\:bui-my-3 {
margin-top: var(--bui-space-3);
margin-bottom: var(--bui-space-3);
}
-
.lg\:bui-my-4 {
margin-top: var(--bui-space-4);
margin-bottom: var(--bui-space-4);
}
-
.lg\:bui-my-5 {
margin-top: var(--bui-space-5);
margin-bottom: var(--bui-space-5);
}
-
.lg\:bui-my-6 {
margin-top: var(--bui-space-6);
margin-bottom: var(--bui-space-6);
}
-
.lg\:bui-my-7 {
margin-top: var(--bui-space-7);
margin-bottom: var(--bui-space-7);
}
-
.lg\:bui-my-8 {
margin-top: var(--bui-space-8);
margin-bottom: var(--bui-space-8);
}
-
.lg\:bui-my-9 {
margin-top: var(--bui-space-9);
margin-bottom: var(--bui-space-9);
}
-
.lg\:bui-my-10 {
margin-top: var(--bui-space-10);
margin-bottom: var(--bui-space-10);
}
-
.lg\:bui-my-11 {
margin-top: var(--bui-space-11);
margin-bottom: var(--bui-space-11);
}
-
.lg\:bui-my-12 {
margin-top: var(--bui-space-12);
margin-bottom: var(--bui-space-12);
}
-
.lg\:bui-my-13 {
margin-top: var(--bui-space-13);
margin-bottom: var(--bui-space-13);
}
-
.lg\:bui-my-14 {
margin-top: var(--bui-space-14);
margin-bottom: var(--bui-space-14);
}
}
-
- @media (width >= 1536px) {
+ @media (width>=1536px) {
.xl\:bui-my {
margin-top: var(--my-xl);
margin-bottom: var(--my-xl);
}
-
.xl\:bui-my-0\.5 {
margin-top: var(--bui-space-0_5);
margin-bottom: var(--bui-space-0_5);
}
-
.xl\:bui-my-1 {
margin-top: var(--bui-space-1);
margin-bottom: var(--bui-space-1);
}
-
.xl\:bui-my-1\.5 {
margin-top: var(--bui-space-1_5);
margin-bottom: var(--bui-space-1_5);
}
-
.xl\:bui-my-2 {
margin-top: var(--bui-space-2);
margin-bottom: var(--bui-space-2);
}
-
.xl\:bui-my-3 {
margin-top: var(--bui-space-3);
margin-bottom: var(--bui-space-3);
}
-
.xl\:bui-my-4 {
margin-top: var(--bui-space-4);
margin-bottom: var(--bui-space-4);
}
-
.xl\:bui-my-5 {
margin-top: var(--bui-space-5);
margin-bottom: var(--bui-space-5);
}
-
.xl\:bui-my-6 {
margin-top: var(--bui-space-6);
margin-bottom: var(--bui-space-6);
}
-
.xl\:bui-my-7 {
margin-top: var(--bui-space-7);
margin-bottom: var(--bui-space-7);
}
-
.xl\:bui-my-8 {
margin-top: var(--bui-space-8);
margin-bottom: var(--bui-space-8);
}
-
.xl\:bui-my-9 {
margin-top: var(--bui-space-9);
margin-bottom: var(--bui-space-9);
}
-
.xl\:bui-my-10 {
margin-top: var(--bui-space-10);
margin-bottom: var(--bui-space-10);
}
-
.xl\:bui-my-11 {
margin-top: var(--bui-space-11);
margin-bottom: var(--bui-space-11);
}
-
.xl\:bui-my-12 {
margin-top: var(--bui-space-12);
margin-bottom: var(--bui-space-12);
}
-
.xl\:bui-my-13 {
margin-top: var(--bui-space-13);
margin-bottom: var(--bui-space-13);
}
-
.xl\:bui-my-14 {
margin-top: var(--bui-space-14);
margin-bottom: var(--bui-space-14);
}
}
-
.bui-mx {
margin-left: var(--mx);
margin-right: var(--mx);
}
-
.bui-mx-0\.5 {
margin-left: var(--bui-space-0_5);
margin-right: var(--bui-space-0_5);
}
-
.bui-mx-1 {
margin-left: var(--bui-space-1);
margin-right: var(--bui-space-1);
}
-
.bui-mx-1\.5 {
margin-left: var(--bui-space-1_5);
margin-right: var(--bui-space-1_5);
}
-
.bui-mx-2 {
margin-left: var(--bui-space-2);
margin-right: var(--bui-space-2);
}
-
.bui-mx-3 {
margin-left: var(--bui-space-3);
margin-right: var(--bui-space-3);
}
-
.bui-mx-4 {
margin-left: var(--bui-space-4);
margin-right: var(--bui-space-4);
}
-
.bui-mx-5 {
margin-left: var(--bui-space-5);
margin-right: var(--bui-space-5);
}
-
.bui-mx-6 {
margin-left: var(--bui-space-6);
margin-right: var(--bui-space-6);
}
-
.bui-mx-7 {
margin-left: var(--bui-space-7);
margin-right: var(--bui-space-7);
}
-
.bui-mx-8 {
margin-left: var(--bui-space-8);
margin-right: var(--bui-space-8);
}
-
.bui-mx-9 {
margin-left: var(--bui-space-9);
margin-right: var(--bui-space-9);
}
-
.bui-mx-10 {
margin-left: var(--bui-space-10);
margin-right: var(--bui-space-10);
}
-
.bui-mx-11 {
margin-left: var(--bui-space-11);
margin-right: var(--bui-space-11);
}
-
.bui-mx-12 {
margin-left: var(--bui-space-12);
margin-right: var(--bui-space-12);
}
-
.bui-mx-13 {
margin-left: var(--bui-space-13);
margin-right: var(--bui-space-13);
}
-
.bui-mx-14 {
margin-left: var(--bui-space-14);
margin-right: var(--bui-space-14);
}
-
- @media (width >= 640px) {
+ @media (width>=640px) {
.xs\:bui-mx {
margin-left: var(--mx-xs);
margin-right: var(--mx-xs);
}
-
.xs\:bui-mx-0\.5 {
margin-left: var(--bui-space-0_5);
margin-right: var(--bui-space-0_5);
}
-
.xs\:bui-mx-1 {
margin-left: var(--bui-space-1);
margin-right: var(--bui-space-1);
}
-
.xs\:bui-mx-1\.5 {
margin-left: var(--bui-space-1_5);
margin-right: var(--bui-space-1_5);
}
-
.xs\:bui-mx-2 {
margin-left: var(--bui-space-2);
margin-right: var(--bui-space-2);
}
-
.xs\:bui-mx-3 {
margin-left: var(--bui-space-3);
margin-right: var(--bui-space-3);
}
-
.xs\:bui-mx-4 {
margin-left: var(--bui-space-4);
margin-right: var(--bui-space-4);
}
-
.xs\:bui-mx-5 {
margin-left: var(--bui-space-5);
margin-right: var(--bui-space-5);
}
-
.xs\:bui-mx-6 {
margin-left: var(--bui-space-6);
margin-right: var(--bui-space-6);
}
-
.xs\:bui-mx-7 {
margin-left: var(--bui-space-7);
margin-right: var(--bui-space-7);
}
-
.xs\:bui-mx-8 {
margin-left: var(--bui-space-8);
margin-right: var(--bui-space-8);
}
-
.xs\:bui-mx-9 {
margin-left: var(--bui-space-9);
margin-right: var(--bui-space-9);
}
-
.xs\:bui-mx-10 {
margin-left: var(--bui-space-10);
margin-right: var(--bui-space-10);
}
-
.xs\:bui-mx-11 {
margin-left: var(--bui-space-11);
margin-right: var(--bui-space-11);
}
-
.xs\:bui-mx-12 {
margin-left: var(--bui-space-12);
margin-right: var(--bui-space-12);
}
-
.xs\:bui-mx-13 {
margin-left: var(--bui-space-13);
margin-right: var(--bui-space-13);
}
-
.xs\:bui-mx-14 {
margin-left: var(--bui-space-14);
margin-right: var(--bui-space-14);
}
}
-
- @media (width >= 768px) {
+ @media (width>=768px) {
.sm\:bui-mx {
margin-left: var(--mx-sm);
margin-right: var(--mx-sm);
}
-
.sm\:bui-mx-0\.5 {
margin-left: var(--bui-space-0_5);
margin-right: var(--bui-space-0_5);
}
-
.sm\:bui-mx-1 {
margin-left: var(--bui-space-1);
margin-right: var(--bui-space-1);
}
-
.sm\:bui-mx-1\.5 {
margin-left: var(--bui-space-1_5);
margin-right: var(--bui-space-1_5);
}
-
.sm\:bui-mx-2 {
margin-left: var(--bui-space-2);
margin-right: var(--bui-space-2);
}
-
.sm\:bui-mx-3 {
margin-left: var(--bui-space-3);
margin-right: var(--bui-space-3);
}
-
.sm\:bui-mx-4 {
margin-left: var(--bui-space-4);
margin-right: var(--bui-space-4);
}
-
.sm\:bui-mx-5 {
margin-left: var(--bui-space-5);
margin-right: var(--bui-space-5);
}
-
.sm\:bui-mx-6 {
margin-left: var(--bui-space-6);
margin-right: var(--bui-space-6);
}
-
.sm\:bui-mx-7 {
margin-left: var(--bui-space-7);
margin-right: var(--bui-space-7);
}
-
.sm\:bui-mx-8 {
margin-left: var(--bui-space-8);
margin-right: var(--bui-space-8);
}
-
.sm\:bui-mx-9 {
margin-left: var(--bui-space-9);
margin-right: var(--bui-space-9);
}
-
.sm\:bui-mx-10 {
margin-left: var(--bui-space-10);
margin-right: var(--bui-space-10);
}
-
.sm\:bui-mx-11 {
margin-left: var(--bui-space-11);
margin-right: var(--bui-space-11);
}
-
.sm\:bui-mx-12 {
margin-left: var(--bui-space-12);
margin-right: var(--bui-space-12);
}
-
.sm\:bui-mx-13 {
margin-left: var(--bui-space-13);
margin-right: var(--bui-space-13);
}
-
.sm\:bui-mx-14 {
margin-left: var(--bui-space-14);
margin-right: var(--bui-space-14);
}
}
-
- @media (width >= 1024px) {
+ @media (width>=1024px) {
.md\:bui-mx {
margin-left: var(--mx-md);
margin-right: var(--mx-md);
}
-
.md\:bui-mx-0\.5 {
margin-left: var(--bui-space-0_5);
margin-right: var(--bui-space-0_5);
}
-
.md\:bui-mx-1 {
margin-left: var(--bui-space-1);
margin-right: var(--bui-space-1);
}
-
.md\:bui-mx-1\.5 {
margin-left: var(--bui-space-1_5);
margin-right: var(--bui-space-1_5);
}
-
.md\:bui-mx-2 {
margin-left: var(--bui-space-2);
margin-right: var(--bui-space-2);
}
-
.md\:bui-mx-3 {
margin-left: var(--bui-space-3);
margin-right: var(--bui-space-3);
}
-
.md\:bui-mx-4 {
margin-left: var(--bui-space-4);
margin-right: var(--bui-space-4);
}
-
.md\:bui-mx-5 {
margin-left: var(--bui-space-5);
margin-right: var(--bui-space-5);
}
-
.md\:bui-mx-6 {
margin-left: var(--bui-space-6);
margin-right: var(--bui-space-6);
}
-
.md\:bui-mx-7 {
margin-left: var(--bui-space-7);
margin-right: var(--bui-space-7);
}
-
.md\:bui-mx-8 {
margin-left: var(--bui-space-8);
margin-right: var(--bui-space-8);
}
-
.md\:bui-mx-9 {
margin-left: var(--bui-space-9);
margin-right: var(--bui-space-9);
}
-
.md\:bui-mx-10 {
margin-left: var(--bui-space-10);
margin-right: var(--bui-space-10);
}
-
.md\:bui-mx-11 {
margin-left: var(--bui-space-11);
margin-right: var(--bui-space-11);
}
-
.md\:bui-mx-12 {
margin-left: var(--bui-space-12);
margin-right: var(--bui-space-12);
}
-
.md\:bui-mx-13 {
margin-left: var(--bui-space-13);
margin-right: var(--bui-space-13);
}
-
.md\:bui-mx-14 {
margin-left: var(--bui-space-14);
margin-right: var(--bui-space-14);
}
}
-
- @media (width >= 1280px) {
+ @media (width>=1280px) {
.lg\:bui-mx {
margin-left: var(--mx-lg);
margin-right: var(--mx-lg);
}
-
.lg\:bui-mx-0\.5 {
margin-left: var(--bui-space-0_5);
margin-right: var(--bui-space-0_5);
}
-
.lg\:bui-mx-1 {
margin-left: var(--bui-space-1);
margin-right: var(--bui-space-1);
}
-
.lg\:bui-mx-1\.5 {
margin-left: var(--bui-space-1_5);
margin-right: var(--bui-space-1_5);
}
-
.lg\:bui-mx-2 {
margin-left: var(--bui-space-2);
margin-right: var(--bui-space-2);
}
-
.lg\:bui-mx-3 {
margin-left: var(--bui-space-3);
margin-right: var(--bui-space-3);
}
-
.lg\:bui-mx-4 {
margin-left: var(--bui-space-4);
margin-right: var(--bui-space-4);
}
-
.lg\:bui-mx-5 {
margin-left: var(--bui-space-5);
margin-right: var(--bui-space-5);
}
-
.lg\:bui-mx-6 {
margin-left: var(--bui-space-6);
margin-right: var(--bui-space-6);
}
-
.lg\:bui-mx-7 {
margin-left: var(--bui-space-7);
margin-right: var(--bui-space-7);
}
-
.lg\:bui-mx-8 {
margin-left: var(--bui-space-8);
margin-right: var(--bui-space-8);
}
-
.lg\:bui-mx-9 {
margin-left: var(--bui-space-9);
margin-right: var(--bui-space-9);
}
-
.lg\:bui-mx-10 {
margin-left: var(--bui-space-10);
margin-right: var(--bui-space-10);
}
-
.lg\:bui-mx-11 {
margin-left: var(--bui-space-11);
margin-right: var(--bui-space-11);
}
-
.lg\:bui-mx-12 {
margin-left: var(--bui-space-12);
margin-right: var(--bui-space-12);
}
-
.lg\:bui-mx-13 {
margin-left: var(--bui-space-13);
margin-right: var(--bui-space-13);
}
-
.lg\:bui-mx-14 {
margin-left: var(--bui-space-14);
margin-right: var(--bui-space-14);
}
}
-
- @media (width >= 1536px) {
+ @media (width>=1536px) {
.xl\:bui-mx {
margin-left: var(--mx-xl);
margin-right: var(--mx-xl);
}
-
.xl\:bui-mx-0\.5 {
margin-left: var(--bui-space-0_5);
margin-right: var(--bui-space-0_5);
}
-
.xl\:bui-mx-1 {
margin-left: var(--bui-space-1);
margin-right: var(--bui-space-1);
}
-
.xl\:bui-mx-1\.5 {
margin-left: var(--bui-space-1_5);
margin-right: var(--bui-space-1_5);
}
-
.xl\:bui-mx-2 {
margin-left: var(--bui-space-2);
margin-right: var(--bui-space-2);
}
-
.xl\:bui-mx-3 {
margin-left: var(--bui-space-3);
margin-right: var(--bui-space-3);
}
-
.xl\:bui-mx-4 {
margin-left: var(--bui-space-4);
margin-right: var(--bui-space-4);
}
-
.xl\:bui-mx-5 {
margin-left: var(--bui-space-5);
margin-right: var(--bui-space-5);
}
-
.xl\:bui-mx-6 {
margin-left: var(--bui-space-6);
margin-right: var(--bui-space-6);
}
-
.xl\:bui-mx-7 {
margin-left: var(--bui-space-7);
margin-right: var(--bui-space-7);
}
-
.xl\:bui-mx-8 {
margin-left: var(--bui-space-8);
margin-right: var(--bui-space-8);
}
-
.xl\:bui-mx-9 {
margin-left: var(--bui-space-9);
margin-right: var(--bui-space-9);
}
-
.xl\:bui-mx-10 {
margin-left: var(--bui-space-10);
margin-right: var(--bui-space-10);
}
-
.xl\:bui-mx-11 {
margin-left: var(--bui-space-11);
margin-right: var(--bui-space-11);
}
-
.xl\:bui-mx-12 {
margin-left: var(--bui-space-12);
margin-right: var(--bui-space-12);
}
-
.xl\:bui-mx-13 {
margin-left: var(--bui-space-13);
margin-right: var(--bui-space-13);
}
-
.xl\:bui-mx-14 {
margin-left: var(--bui-space-14);
margin-right: var(--bui-space-14);
}
}
-
.bui-display-none {
display: none;
}
-
.bui-display-inline {
display: inline;
}
-
.bui-display-inline-block {
display: inline-block;
}
-
.bui-display-block {
display: block;
}
-
- @media (width >= 640px) {
+ @media (width>=640px) {
.xs\:bui-display-none {
display: none;
}
-
.xs\:bui-display-inline {
display: inline;
}
-
.xs\:bui-display-inline-block {
display: inline-block;
}
-
.xs\:bui-display-block {
display: block;
}
}
-
- @media (width >= 768px) {
+ @media (width>=768px) {
.sm\:bui-display-none {
display: none;
}
-
.sm\:bui-display-inline {
display: inline;
}
-
.sm\:bui-display-inline-block {
display: inline-block;
}
-
.sm\:bui-display-block {
display: block;
}
}
-
- @media (width >= 1024px) {
+ @media (width>=1024px) {
.md\:bui-display-none {
display: none;
}
-
.md\:bui-display-inline {
display: inline;
}
-
.md\:bui-display-inline-block {
display: inline-block;
}
-
.md\:bui-display-block {
display: block;
}
}
-
- @media (width >= 1280px) {
+ @media (width>=1280px) {
.lg\:bui-display-none {
display: none;
}
-
.lg\:bui-display-inline {
display: inline;
}
-
.lg\:bui-display-inline-block {
display: inline-block;
}
-
.lg\:bui-display-block {
display: block;
}
}
-
- @media (width >= 1536px) {
+ @media (width>=1536px) {
.xl\:bui-display-none {
display: none;
}
-
.xl\:bui-display-inline {
display: inline;
}
-
.xl\:bui-display-inline-block {
display: inline-block;
}
-
.xl\:bui-display-block {
display: block;
}
}
-
.bui-w {
width: var(--width);
}
-
.bui-min-w {
min-width: var(--min-width);
}
-
.bui-max-w {
max-width: var(--max-width);
}
-
- @media (width >= 640px) {
+ @media (width>=640px) {
.xs\:bui-w {
width: var(--width);
}
-
.xs\:bui-min-w {
min-width: var(--min-width);
}
-
.xs\:bui-max-w {
max-width: var(--max-width);
}
}
-
- @media (width >= 768px) {
+ @media (width>=768px) {
.sm\:bui-w {
width: var(--width);
}
-
.sm\:bui-min-w {
min-width: var(--min-width);
}
-
.sm\:bui-max-w {
max-width: var(--max-width);
}
}
-
- @media (width >= 1024px) {
+ @media (width>=1024px) {
.md\:bui-w {
width: var(--width);
}
-
.md\:bui-min-w {
min-width: var(--min-width);
}
-
.md\:bui-max-w {
max-width: var(--max-width);
}
}
-
- @media (width >= 1280px) {
+ @media (width>=1280px) {
.lg\:bui-w {
width: var(--width);
}
-
.lg\:bui-min-w {
min-width: var(--min-width);
}
-
.lg\:bui-max-w {
max-width: var(--max-width);
}
}
-
- @media (width >= 1536px) {
+ @media (width>=1536px) {
.xl\:bui-w {
width: var(--width);
}
-
.xl\:bui-min-w {
min-width: var(--min-width);
}
-
.xl\:bui-max-w {
max-width: var(--max-width);
}
}
-
.bui-h {
height: var(--height);
}
-
.bui-min-h {
min-height: var(--min-height);
}
-
.bui-max-h {
max-height: var(--max-height);
}
-
- @media (width >= 640px) {
+ @media (width>=640px) {
.xs\:bui-h {
height: var(--height);
}
-
.xs\:bui-min-h {
min-height: var(--min-height);
}
-
.xs\:bui-max-h {
max-height: var(--max-height);
}
}
-
- @media (width >= 768px) {
+ @media (width>=768px) {
.sm\:bui-h {
height: var(--height);
}
-
.sm\:bui-min-h {
min-height: var(--min-height);
}
-
.sm\:bui-max-h {
max-height: var(--max-height);
}
}
-
- @media (width >= 1024px) {
+ @media (width>=1024px) {
.md\:bui-h {
height: var(--height);
}
-
.md\:bui-min-h {
min-height: var(--min-height);
}
-
.md\:bui-max-h {
max-height: var(--max-height);
}
}
-
- @media (width >= 1280px) {
+ @media (width>=1280px) {
.lg\:bui-h {
height: var(--height);
}
-
.lg\:bui-min-h {
min-height: var(--min-height);
}
-
.lg\:bui-max-h {
max-height: var(--max-height);
}
}
-
- @media (width >= 1536px) {
+ @media (width>=1536px) {
.xl\:bui-h {
height: var(--height);
}
-
.xl\:bui-min-h {
min-height: var(--min-height);
}
-
.xl\:bui-max-h {
max-height: var(--max-height);
}
}
-
.bui-position-absolute {
position: absolute;
}
-
.bui-position-fixed {
position: fixed;
}
-
.bui-position-sticky {
position: sticky;
}
-
.bui-position-relative {
position: relative;
}
-
.bui-position-static {
position: static;
}
-
- @media (width >= 640px) {
+ @media (width>=640px) {
.xs\:bui-position-absolute {
position: absolute;
}
-
.xs\:bui-position-fixed {
position: fixed;
}
-
.xs\:bui-position-sticky {
position: sticky;
}
-
.xs\:bui-position-relative {
position: relative;
}
-
.xs\:bui-position-static {
position: static;
}
}
-
- @media (width >= 768px) {
+ @media (width>=768px) {
.sm\:bui-position-absolute {
position: absolute;
}
-
.sm\:bui-position-fixed {
position: fixed;
}
-
.sm\:bui-position-sticky {
position: sticky;
}
-
.sm\:bui-position-relative {
position: relative;
}
-
.sm\:bui-position-static {
position: static;
}
}
-
- @media (width >= 1024px) {
+ @media (width>=1024px) {
.md\:bui-position-absolute {
position: absolute;
}
-
.md\:bui-position-fixed {
position: fixed;
}
-
.md\:bui-position-sticky {
position: sticky;
}
-
.md\:bui-position-relative {
position: relative;
}
-
.md\:bui-position-static {
position: static;
}
}
-
- @media (width >= 1280px) {
+ @media (width>=1280px) {
.lg\:bui-position-absolute {
position: absolute;
}
-
.lg\:bui-position-fixed {
position: fixed;
}
-
.lg\:bui-position-sticky {
position: sticky;
}
-
.lg\:bui-position-relative {
position: relative;
}
-
.lg\:bui-position-static {
position: static;
}
}
-
- @media (width >= 1536px) {
+ @media (width>=1536px) {
.xl\:bui-position-absolute {
position: absolute;
}
-
.xl\:bui-position-fixed {
position: fixed;
}
-
.xl\:bui-position-sticky {
position: sticky;
}
-
.xl\:bui-position-relative {
position: relative;
}
-
.xl\:bui-position-static {
position: static;
}
}
-
.bui-columns-1 {
grid-template-columns: repeat(1, minmax(0, 1fr));
}
-
.bui-columns-2 {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
-
.bui-columns-3 {
grid-template-columns: repeat(3, minmax(0, 1fr));
}
-
.bui-columns-4 {
grid-template-columns: repeat(4, minmax(0, 1fr));
}
-
.bui-columns-5 {
grid-template-columns: repeat(5, minmax(0, 1fr));
}
-
.bui-columns-6 {
grid-template-columns: repeat(6, minmax(0, 1fr));
}
-
.bui-columns-7 {
grid-template-columns: repeat(7, minmax(0, 1fr));
}
-
.bui-columns-8 {
grid-template-columns: repeat(8, minmax(0, 1fr));
}
-
.bui-columns-9 {
grid-template-columns: repeat(9, minmax(0, 1fr));
}
-
.bui-columns-10 {
grid-template-columns: repeat(10, minmax(0, 1fr));
}
-
.bui-columns-11 {
grid-template-columns: repeat(11, minmax(0, 1fr));
}
-
.bui-columns-12 {
grid-template-columns: repeat(12, minmax(0, 1fr));
}
-
.bui-columns-auto {
grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
}
-
.bui-col-span-1 {
grid-column: span 1 / span 1;
}
-
.bui-col-span-2 {
grid-column: span 2 / span 2;
}
-
.bui-col-span-3 {
grid-column: span 3 / span 3;
}
-
.bui-col-span-4 {
grid-column: span 4 / span 4;
}
-
.bui-col-span-5 {
grid-column: span 5 / span 5;
}
-
.bui-col-span-6 {
grid-column: span 6 / span 6;
}
-
.bui-col-span-7 {
grid-column: span 7 / span 7;
}
-
.bui-col-span-8 {
grid-column: span 8 / span 8;
}
-
.bui-col-span-9 {
grid-column: span 9 / span 9;
}
-
.bui-col-span-10 {
grid-column: span 10 / span 10;
}
-
.bui-col-span-11 {
grid-column: span 11 / span 11;
}
-
.bui-col-span-12 {
grid-column: span 12 / span 12;
}
-
.bui-col-span-auto {
- grid-column: span auto / span auto;
+ grid-column: span auto/span auto;
}
-
.bui-col-start-1 {
grid-column-start: 1;
}
-
.bui-col-start-2 {
grid-column-start: 2;
}
-
.bui-col-start-3 {
grid-column-start: 3;
}
-
.bui-col-start-4 {
grid-column-start: 4;
}
-
.bui-col-start-5 {
grid-column-start: 5;
}
-
.bui-col-start-6 {
grid-column-start: 6;
}
-
.bui-col-start-7 {
grid-column-start: 7;
}
-
.bui-col-start-8 {
grid-column-start: 8;
}
-
.bui-col-start-9 {
grid-column-start: 9;
}
-
.bui-col-start-10 {
grid-column-start: 10;
}
-
.bui-col-start-11 {
grid-column-start: 11;
}
-
.bui-col-start-12 {
grid-column-start: 12;
}
-
.bui-col-start-13 {
grid-column-start: 13;
}
-
.bui-col-start-auto {
grid-column-start: auto;
}
-
.bui-col-end-1 {
grid-column-end: 1;
}
-
.bui-col-end-2 {
grid-column-end: 2;
}
-
.bui-col-end-3 {
grid-column-end: 3;
}
-
.bui-col-end-4 {
grid-column-end: 4;
}
-
.bui-col-end-5 {
grid-column-end: 5;
}
-
.bui-col-end-6 {
grid-column-end: 6;
}
-
.bui-col-end-7 {
grid-column-end: 7;
}
-
.bui-col-end-8 {
grid-column-end: 8;
}
-
.bui-col-end-9 {
grid-column-end: 9;
}
-
.bui-col-end-10 {
grid-column-end: 10;
}
-
.bui-col-end-11 {
grid-column-end: 11;
}
-
.bui-col-end-12 {
grid-column-end: 12;
}
-
.bui-col-end-13 {
grid-column-end: 13;
}
-
.bui-col-end-auto {
grid-column-end: auto;
}
-
.bui-row-span-1 {
grid-row: span 1 / span 1;
}
-
.bui-row-span-2 {
grid-row: span 2 / span 2;
}
-
.bui-row-span-3 {
grid-row: span 3 / span 3;
}
-
.bui-row-span-4 {
grid-row: span 4 / span 4;
}
-
.bui-row-span-5 {
grid-row: span 5 / span 5;
}
-
.bui-row-span-6 {
grid-row: span 6 / span 6;
}
-
.bui-row-span-7 {
grid-row: span 7 / span 7;
}
-
.bui-row-span-8 {
grid-row: span 8 / span 8;
}
-
.bui-row-span-9 {
grid-row: span 9 / span 9;
}
-
.bui-row-span-10 {
grid-row: span 10 / span 10;
}
-
.bui-row-span-11 {
grid-row: span 11 / span 11;
}
-
.bui-row-span-12 {
grid-row: span 12 / span 12;
}
-
.bui-row-span-auto {
- grid-row: span auto / span auto;
+ grid-row: span auto/span auto;
}
-
- @media (width >= 640px) {
+ @media (width>=640px) {
.xs\:bui-columns-1 {
grid-template-columns: repeat(1, minmax(0, 1fr));
}
-
.xs\:bui-columns-2 {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
-
.xs\:bui-columns-3 {
grid-template-columns: repeat(3, minmax(0, 1fr));
}
-
.xs\:bui-columns-4 {
grid-template-columns: repeat(4, minmax(0, 1fr));
}
-
.xs\:bui-columns-5 {
grid-template-columns: repeat(5, minmax(0, 1fr));
}
-
.xs\:bui-columns-6 {
grid-template-columns: repeat(6, minmax(0, 1fr));
}
-
.xs\:bui-columns-7 {
grid-template-columns: repeat(7, minmax(0, 1fr));
}
-
.xs\:bui-columns-8 {
grid-template-columns: repeat(8, minmax(0, 1fr));
}
-
.xs\:bui-columns-9 {
grid-template-columns: repeat(9, minmax(0, 1fr));
}
-
.xs\:bui-columns-10 {
grid-template-columns: repeat(10, minmax(0, 1fr));
}
-
.xs\:bui-columns-11 {
grid-template-columns: repeat(11, minmax(0, 1fr));
}
-
.xs\:bui-columns-12 {
grid-template-columns: repeat(12, minmax(0, 1fr));
}
-
.xs\:bui-columns-auto {
grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
}
-
.xs\:bui-col-span-1 {
grid-column: span 1 / span 1;
}
-
.xs\:bui-col-span-2 {
grid-column: span 2 / span 2;
}
-
.xs\:bui-col-span-3 {
grid-column: span 3 / span 3;
}
-
.xs\:bui-col-span-4 {
grid-column: span 4 / span 4;
}
-
.xs\:bui-col-span-5 {
grid-column: span 5 / span 5;
}
-
.xs\:bui-col-span-6 {
grid-column: span 6 / span 6;
}
-
.xs\:bui-col-span-7 {
grid-column: span 7 / span 7;
}
-
.xs\:bui-col-span-8 {
grid-column: span 8 / span 8;
}
-
.xs\:bui-col-span-9 {
grid-column: span 9 / span 9;
}
-
.xs\:bui-col-span-10 {
grid-column: span 10 / span 10;
}
-
.xs\:bui-col-span-11 {
grid-column: span 11 / span 11;
}
-
.xs\:bui-col-span-12 {
grid-column: span 12 / span 12;
}
-
.xs\:bui-col-span-auto {
- grid-column: span auto / span auto;
+ grid-column: span auto/span auto;
}
-
.xs\:bui-col-start-1 {
grid-column-start: 1;
}
-
.xs\:bui-col-start-2 {
grid-column-start: 2;
}
-
.xs\:bui-col-start-3 {
grid-column-start: 3;
}
-
.xs\:bui-col-start-4 {
grid-column-start: 4;
}
-
.xs\:bui-col-start-5 {
grid-column-start: 5;
}
-
.xs\:bui-col-start-6 {
grid-column-start: 6;
}
-
.xs\:bui-col-start-7 {
grid-column-start: 7;
}
-
.xs\:bui-col-start-8 {
grid-column-start: 8;
}
-
.xs\:bui-col-start-9 {
grid-column-start: 9;
}
-
.xs\:bui-col-start-10 {
grid-column-start: 10;
}
-
.xs\:bui-col-start-11 {
grid-column-start: 11;
}
-
.xs\:bui-col-start-12 {
grid-column-start: 12;
}
-
.xs\:bui-col-start-13 {
grid-column-start: 13;
}
-
.xs\:bui-col-start-auto {
grid-column-start: auto;
}
-
.xs\:bui-col-end-1 {
grid-column-end: 1;
}
-
.xs\:bui-col-end-2 {
grid-column-end: 2;
}
-
.xs\:bui-col-end-3 {
grid-column-end: 3;
}
-
.xs\:bui-col-end-4 {
grid-column-end: 4;
}
-
.xs\:bui-col-end-5 {
grid-column-end: 5;
}
-
.xs\:bui-col-end-6 {
grid-column-end: 6;
}
-
.xs\:bui-col-end-7 {
grid-column-end: 7;
}
-
.xs\:bui-col-end-8 {
grid-column-end: 8;
}
-
.xs\:bui-col-end-9 {
grid-column-end: 9;
}
-
.xs\:bui-col-end-10 {
grid-column-end: 10;
}
-
.xs\:bui-col-end-11 {
grid-column-end: 11;
}
-
.xs\:bui-col-end-12 {
grid-column-end: 12;
}
-
.xs\:bui-col-end-13 {
grid-column-end: 13;
}
-
.xs\:bui-col-end-auto {
grid-column-end: auto;
}
-
.xs\:bui-row-span-1 {
grid-row: span 1 / span 1;
}
-
.xs\:bui-row-span-2 {
grid-row: span 2 / span 2;
}
-
.xs\:bui-row-span-3 {
grid-row: span 3 / span 3;
}
-
.xs\:bui-row-span-4 {
grid-row: span 4 / span 4;
}
-
.xs\:bui-row-span-5 {
grid-row: span 5 / span 5;
}
-
.xs\:bui-row-span-6 {
grid-row: span 6 / span 6;
}
-
.xs\:bui-row-span-7 {
grid-row: span 7 / span 7;
}
-
.xs\:bui-row-span-8 {
grid-row: span 8 / span 8;
}
-
.xs\:bui-row-span-9 {
grid-row: span 9 / span 9;
}
-
.xs\:bui-row-span-10 {
grid-row: span 10 / span 10;
}
-
.xs\:bui-row-span-11 {
grid-row: span 11 / span 11;
}
-
.xs\:bui-row-span-12 {
grid-row: span 12 / span 12;
}
-
.xs\:bui-row-span-auto {
- grid-row: span auto / span auto;
+ grid-row: span auto/span auto;
}
}
-
- @media (width >= 768px) {
+ @media (width>=768px) {
.sm\:bui-columns-1 {
grid-template-columns: repeat(1, minmax(0, 1fr));
}
-
.sm\:bui-columns-2 {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
-
.sm\:bui-columns-3 {
grid-template-columns: repeat(3, minmax(0, 1fr));
}
-
.sm\:bui-columns-4 {
grid-template-columns: repeat(4, minmax(0, 1fr));
}
-
.sm\:bui-columns-5 {
grid-template-columns: repeat(5, minmax(0, 1fr));
}
-
.sm\:bui-columns-6 {
grid-template-columns: repeat(6, minmax(0, 1fr));
}
-
.sm\:bui-columns-7 {
grid-template-columns: repeat(7, minmax(0, 1fr));
}
-
.sm\:bui-columns-8 {
grid-template-columns: repeat(8, minmax(0, 1fr));
}
-
.sm\:bui-columns-9 {
grid-template-columns: repeat(9, minmax(0, 1fr));
}
-
.sm\:bui-columns-10 {
grid-template-columns: repeat(10, minmax(0, 1fr));
}
-
.sm\:bui-columns-11 {
grid-template-columns: repeat(11, minmax(0, 1fr));
}
-
.sm\:bui-columns-12 {
grid-template-columns: repeat(12, minmax(0, 1fr));
}
-
.sm\:bui-columns-auto {
grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
}
-
.sm\:bui-col-span-1 {
grid-column: span 1 / span 1;
}
-
.sm\:bui-col-span-2 {
grid-column: span 2 / span 2;
}
-
.sm\:bui-col-span-3 {
grid-column: span 3 / span 3;
}
-
.sm\:bui-col-span-4 {
grid-column: span 4 / span 4;
}
-
.sm\:bui-col-span-5 {
grid-column: span 5 / span 5;
}
-
.sm\:bui-col-span-6 {
grid-column: span 6 / span 6;
}
-
.sm\:bui-col-span-7 {
grid-column: span 7 / span 7;
}
-
.sm\:bui-col-span-8 {
grid-column: span 8 / span 8;
}
-
.sm\:bui-col-span-9 {
grid-column: span 9 / span 9;
}
-
.sm\:bui-col-span-10 {
grid-column: span 10 / span 10;
}
-
.sm\:bui-col-span-11 {
grid-column: span 11 / span 11;
}
-
.sm\:bui-col-span-12 {
grid-column: span 12 / span 12;
}
-
.sm\:bui-col-span-auto {
- grid-column: span auto / span auto;
+ grid-column: span auto/span auto;
}
-
.sm\:bui-col-start-1 {
grid-column-start: 1;
}
-
.sm\:bui-col-start-2 {
grid-column-start: 2;
}
-
.sm\:bui-col-start-3 {
grid-column-start: 3;
}
-
.sm\:bui-col-start-4 {
grid-column-start: 4;
}
-
.sm\:bui-col-start-5 {
grid-column-start: 5;
}
-
.sm\:bui-col-start-6 {
grid-column-start: 6;
}
-
.sm\:bui-col-start-7 {
grid-column-start: 7;
}
-
.sm\:bui-col-start-8 {
grid-column-start: 8;
}
-
.sm\:bui-col-start-9 {
grid-column-start: 9;
}
-
.sm\:bui-col-start-10 {
grid-column-start: 10;
}
-
.sm\:bui-col-start-11 {
grid-column-start: 11;
}
-
.sm\:bui-col-start-12 {
grid-column-start: 12;
}
-
.sm\:bui-col-start-13 {
grid-column-start: 13;
}
-
.sm\:bui-col-start-auto {
grid-column-start: auto;
}
-
.sm\:bui-col-end-1 {
grid-column-end: 1;
}
-
.sm\:bui-col-end-2 {
grid-column-end: 2;
}
-
.sm\:bui-col-end-3 {
grid-column-end: 3;
}
-
.sm\:bui-col-end-4 {
grid-column-end: 4;
}
-
.sm\:bui-col-end-5 {
grid-column-end: 5;
}
-
.sm\:bui-col-end-6 {
grid-column-end: 6;
}
-
.sm\:bui-col-end-7 {
grid-column-end: 7;
}
-
.sm\:bui-col-end-8 {
grid-column-end: 8;
}
-
.sm\:bui-col-end-9 {
grid-column-end: 9;
}
-
.sm\:bui-col-end-10 {
grid-column-end: 10;
}
-
.sm\:bui-col-end-11 {
grid-column-end: 11;
}
-
.sm\:bui-col-end-12 {
grid-column-end: 12;
}
-
.sm\:bui-col-end-13 {
grid-column-end: 13;
}
-
.sm\:bui-col-end-auto {
grid-column-end: auto;
}
-
.sm\:bui-row-span-1 {
grid-row: span 1 / span 1;
}
-
.sm\:bui-row-span-2 {
grid-row: span 2 / span 2;
}
-
.sm\:bui-row-span-3 {
grid-row: span 3 / span 3;
}
-
.sm\:bui-row-span-4 {
grid-row: span 4 / span 4;
}
-
.sm\:bui-row-span-5 {
grid-row: span 5 / span 5;
}
-
.sm\:bui-row-span-6 {
grid-row: span 6 / span 6;
}
-
.sm\:bui-row-span-7 {
grid-row: span 7 / span 7;
}
-
.sm\:bui-row-span-8 {
grid-row: span 8 / span 8;
}
-
.sm\:bui-row-span-9 {
grid-row: span 9 / span 9;
}
-
.sm\:bui-row-span-10 {
grid-row: span 10 / span 10;
}
-
.sm\:bui-row-span-11 {
grid-row: span 11 / span 11;
}
-
.sm\:bui-row-span-12 {
grid-row: span 12 / span 12;
}
-
.sm\:bui-row-span-auto {
- grid-row: span auto / span auto;
+ grid-row: span auto/span auto;
}
}
-
- @media (width >= 1024px) {
+ @media (width>=1024px) {
.md\:bui-columns-1 {
grid-template-columns: repeat(1, minmax(0, 1fr));
}
-
.md\:bui-columns-2 {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
-
.md\:bui-columns-3 {
grid-template-columns: repeat(3, minmax(0, 1fr));
}
-
.md\:bui-columns-4 {
grid-template-columns: repeat(4, minmax(0, 1fr));
}
-
.md\:bui-columns-5 {
grid-template-columns: repeat(5, minmax(0, 1fr));
}
-
.md\:bui-columns-6 {
grid-template-columns: repeat(6, minmax(0, 1fr));
}
-
.md\:bui-columns-7 {
grid-template-columns: repeat(7, minmax(0, 1fr));
}
-
.md\:bui-columns-8 {
grid-template-columns: repeat(8, minmax(0, 1fr));
}
-
.md\:bui-columns-9 {
grid-template-columns: repeat(9, minmax(0, 1fr));
}
-
.md\:bui-columns-10 {
grid-template-columns: repeat(10, minmax(0, 1fr));
}
-
.md\:bui-columns-11 {
grid-template-columns: repeat(11, minmax(0, 1fr));
}
-
.md\:bui-columns-12 {
grid-template-columns: repeat(12, minmax(0, 1fr));
}
-
.md\:bui-columns-auto {
grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
}
-
.md\:bui-col-span-1 {
grid-column: span 1 / span 1;
}
-
.md\:bui-col-span-2 {
grid-column: span 2 / span 2;
}
-
.md\:bui-col-span-3 {
grid-column: span 3 / span 3;
}
-
.md\:bui-col-span-4 {
grid-column: span 4 / span 4;
}
-
.md\:bui-col-span-5 {
grid-column: span 5 / span 5;
}
-
.md\:bui-col-span-6 {
grid-column: span 6 / span 6;
}
-
.md\:bui-col-span-7 {
grid-column: span 7 / span 7;
}
-
.md\:bui-col-span-8 {
grid-column: span 8 / span 8;
}
-
.md\:bui-col-span-9 {
grid-column: span 9 / span 9;
}
-
.md\:bui-col-span-10 {
grid-column: span 10 / span 10;
}
-
.md\:bui-col-span-11 {
grid-column: span 11 / span 11;
}
-
.md\:bui-col-span-12 {
grid-column: span 12 / span 12;
}
-
.md\:bui-col-span-auto {
- grid-column: span auto / span auto;
+ grid-column: span auto/span auto;
}
-
.md\:bui-col-start-1 {
grid-column-start: 1;
}
-
.md\:bui-col-start-2 {
grid-column-start: 2;
}
-
.md\:bui-col-start-3 {
grid-column-start: 3;
}
-
.md\:bui-col-start-4 {
grid-column-start: 4;
}
-
.md\:bui-col-start-5 {
grid-column-start: 5;
}
-
.md\:bui-col-start-6 {
grid-column-start: 6;
}
-
.md\:bui-col-start-7 {
grid-column-start: 7;
}
-
.md\:bui-col-start-8 {
grid-column-start: 8;
}
-
.md\:bui-col-start-9 {
grid-column-start: 9;
}
-
.md\:bui-col-start-10 {
grid-column-start: 10;
}
-
.md\:bui-col-start-11 {
grid-column-start: 11;
}
-
.md\:bui-col-start-12 {
grid-column-start: 12;
}
-
.md\:bui-col-start-13 {
grid-column-start: 13;
}
-
.md\:bui-col-start-auto {
grid-column-start: auto;
}
-
.md\:bui-col-end-1 {
grid-column-end: 1;
}
-
.md\:bui-col-end-2 {
grid-column-end: 2;
}
-
.md\:bui-col-end-3 {
grid-column-end: 3;
}
-
.md\:bui-col-end-4 {
grid-column-end: 4;
}
-
.md\:bui-col-end-5 {
grid-column-end: 5;
}
-
.md\:bui-col-end-6 {
grid-column-end: 6;
}
-
.md\:bui-col-end-7 {
grid-column-end: 7;
}
-
.md\:bui-col-end-8 {
grid-column-end: 8;
}
-
.md\:bui-col-end-9 {
grid-column-end: 9;
}
-
.md\:bui-col-end-10 {
grid-column-end: 10;
}
-
.md\:bui-col-end-11 {
grid-column-end: 11;
}
-
.md\:bui-col-end-12 {
grid-column-end: 12;
}
-
.md\:bui-col-end-13 {
grid-column-end: 13;
}
-
.md\:bui-col-end-auto {
grid-column-end: auto;
}
-
.md\:bui-row-span-1 {
grid-row: span 1 / span 1;
}
-
.md\:bui-row-span-2 {
grid-row: span 2 / span 2;
}
-
.md\:bui-row-span-3 {
grid-row: span 3 / span 3;
}
-
.md\:bui-row-span-4 {
grid-row: span 4 / span 4;
}
-
.md\:bui-row-span-5 {
grid-row: span 5 / span 5;
}
-
.md\:bui-row-span-6 {
grid-row: span 6 / span 6;
}
-
.md\:bui-row-span-7 {
grid-row: span 7 / span 7;
}
-
.md\:bui-row-span-8 {
grid-row: span 8 / span 8;
}
-
.md\:bui-row-span-9 {
grid-row: span 9 / span 9;
}
-
.md\:bui-row-span-10 {
grid-row: span 10 / span 10;
}
-
.md\:bui-row-span-11 {
grid-row: span 11 / span 11;
}
-
.md\:bui-row-span-12 {
grid-row: span 12 / span 12;
}
-
.md\:bui-row-span-auto {
- grid-row: span auto / span auto;
+ grid-row: span auto/span auto;
}
}
-
- @media (width >= 1280px) {
+ @media (width>=1280px) {
.lg\:bui-columns-1 {
grid-template-columns: repeat(1, minmax(0, 1fr));
}
-
.lg\:bui-columns-2 {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
-
.lg\:bui-columns-3 {
grid-template-columns: repeat(3, minmax(0, 1fr));
}
-
.lg\:bui-columns-4 {
grid-template-columns: repeat(4, minmax(0, 1fr));
}
-
.lg\:bui-columns-5 {
grid-template-columns: repeat(5, minmax(0, 1fr));
}
-
.lg\:bui-columns-6 {
grid-template-columns: repeat(6, minmax(0, 1fr));
}
-
.lg\:bui-columns-7 {
grid-template-columns: repeat(7, minmax(0, 1fr));
}
-
.lg\:bui-columns-8 {
grid-template-columns: repeat(8, minmax(0, 1fr));
}
-
.lg\:bui-columns-9 {
grid-template-columns: repeat(9, minmax(0, 1fr));
}
-
.lg\:bui-columns-10 {
grid-template-columns: repeat(10, minmax(0, 1fr));
}
-
.lg\:bui-columns-11 {
grid-template-columns: repeat(11, minmax(0, 1fr));
}
-
.lg\:bui-columns-12 {
grid-template-columns: repeat(12, minmax(0, 1fr));
}
-
.lg\:bui-columns-auto {
grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
}
-
.lg\:bui-col-span-1 {
grid-column: span 1 / span 1;
}
-
.lg\:bui-col-span-2 {
grid-column: span 2 / span 2;
}
-
.lg\:bui-col-span-3 {
grid-column: span 3 / span 3;
}
-
.lg\:bui-col-span-4 {
grid-column: span 4 / span 4;
}
-
.lg\:bui-col-span-5 {
grid-column: span 5 / span 5;
}
-
.lg\:bui-col-span-6 {
grid-column: span 6 / span 6;
}
-
.lg\:bui-col-span-7 {
grid-column: span 7 / span 7;
}
-
.lg\:bui-col-span-8 {
grid-column: span 8 / span 8;
}
-
.lg\:bui-col-span-9 {
grid-column: span 9 / span 9;
}
-
.lg\:bui-col-span-10 {
grid-column: span 10 / span 10;
}
-
.lg\:bui-col-span-11 {
grid-column: span 11 / span 11;
}
-
.lg\:bui-col-span-12 {
grid-column: span 12 / span 12;
}
-
.lg\:bui-col-span-auto {
- grid-column: span auto / span auto;
+ grid-column: span auto/span auto;
}
-
.lg\:bui-col-start-1 {
grid-column-start: 1;
}
-
.lg\:bui-col-start-2 {
grid-column-start: 2;
}
-
.lg\:bui-col-start-3 {
grid-column-start: 3;
}
-
.lg\:bui-col-start-4 {
grid-column-start: 4;
}
-
.lg\:bui-col-start-5 {
grid-column-start: 5;
}
-
.lg\:bui-col-start-6 {
grid-column-start: 6;
}
-
.lg\:bui-col-start-7 {
grid-column-start: 7;
}
-
.lg\:bui-col-start-8 {
grid-column-start: 8;
}
-
.lg\:bui-col-start-9 {
grid-column-start: 9;
}
-
.lg\:bui-col-start-10 {
grid-column-start: 10;
}
-
.lg\:bui-col-start-11 {
grid-column-start: 11;
}
-
.lg\:bui-col-start-12 {
grid-column-start: 12;
}
-
.lg\:bui-col-start-13 {
grid-column-start: 13;
}
-
.lg\:bui-col-start-auto {
grid-column-start: auto;
}
-
.lg\:bui-col-end-1 {
grid-column-end: 1;
}
-
.lg\:bui-col-end-2 {
grid-column-end: 2;
}
-
.lg\:bui-col-end-3 {
grid-column-end: 3;
}
-
.lg\:bui-col-end-4 {
grid-column-end: 4;
}
-
.lg\:bui-col-end-5 {
grid-column-end: 5;
}
-
.lg\:bui-col-end-6 {
grid-column-end: 6;
}
-
.lg\:bui-col-end-7 {
grid-column-end: 7;
}
-
.lg\:bui-col-end-8 {
grid-column-end: 8;
}
-
.lg\:bui-col-end-9 {
grid-column-end: 9;
}
-
.lg\:bui-col-end-10 {
grid-column-end: 10;
}
-
.lg\:bui-col-end-11 {
grid-column-end: 11;
}
-
.lg\:bui-col-end-12 {
grid-column-end: 12;
}
-
.lg\:bui-col-end-13 {
grid-column-end: 13;
}
-
.lg\:bui-col-end-auto {
grid-column-end: auto;
}
-
.lg\:bui-row-span-1 {
grid-row: span 1 / span 1;
}
-
.lg\:bui-row-span-2 {
grid-row: span 2 / span 2;
}
-
.lg\:bui-row-span-3 {
grid-row: span 3 / span 3;
}
-
.lg\:bui-row-span-4 {
grid-row: span 4 / span 4;
}
-
.lg\:bui-row-span-5 {
grid-row: span 5 / span 5;
}
-
.lg\:bui-row-span-6 {
grid-row: span 6 / span 6;
}
-
.lg\:bui-row-span-7 {
grid-row: span 7 / span 7;
}
-
.lg\:bui-row-span-8 {
grid-row: span 8 / span 8;
}
-
.lg\:bui-row-span-9 {
grid-row: span 9 / span 9;
}
-
.lg\:bui-row-span-10 {
grid-row: span 10 / span 10;
}
-
.lg\:bui-row-span-11 {
grid-row: span 11 / span 11;
}
-
.lg\:bui-row-span-12 {
grid-row: span 12 / span 12;
}
-
.lg\:bui-row-span-auto {
- grid-row: span auto / span auto;
+ grid-row: span auto/span auto;
}
}
-
- @media (width >= 1536px) {
+ @media (width>=1536px) {
.xl\:bui-columns-1 {
grid-template-columns: repeat(1, minmax(0, 1fr));
}
-
.xl\:bui-columns-2 {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
-
.xl\:bui-columns-3 {
grid-template-columns: repeat(3, minmax(0, 1fr));
}
-
.xl\:bui-columns-4 {
grid-template-columns: repeat(4, minmax(0, 1fr));
}
-
.xl\:bui-columns-5 {
grid-template-columns: repeat(5, minmax(0, 1fr));
}
-
.xl\:bui-columns-6 {
grid-template-columns: repeat(6, minmax(0, 1fr));
}
-
.xl\:bui-columns-7 {
grid-template-columns: repeat(7, minmax(0, 1fr));
}
-
.xl\:bui-columns-8 {
grid-template-columns: repeat(8, minmax(0, 1fr));
}
-
.xl\:bui-columns-9 {
grid-template-columns: repeat(9, minmax(0, 1fr));
}
-
.xl\:bui-columns-10 {
grid-template-columns: repeat(10, minmax(0, 1fr));
}
-
.xl\:bui-columns-11 {
grid-template-columns: repeat(11, minmax(0, 1fr));
}
-
.xl\:bui-columns-12 {
grid-template-columns: repeat(12, minmax(0, 1fr));
}
-
.xl\:bui-columns-auto {
grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
}
-
.xl\:bui-col-span-1 {
grid-column: span 1 / span 1;
}
-
.xl\:bui-col-span-2 {
grid-column: span 2 / span 2;
}
-
.xl\:bui-col-span-3 {
grid-column: span 3 / span 3;
}
-
.xl\:bui-col-span-4 {
grid-column: span 4 / span 4;
}
-
.xl\:bui-col-span-5 {
grid-column: span 5 / span 5;
}
-
.xl\:bui-col-span-6 {
grid-column: span 6 / span 6;
}
-
.xl\:bui-col-span-7 {
grid-column: span 7 / span 7;
}
-
.xl\:bui-col-span-8 {
grid-column: span 8 / span 8;
}
-
.xl\:bui-col-span-9 {
grid-column: span 9 / span 9;
}
-
.xl\:bui-col-span-10 {
grid-column: span 10 / span 10;
}
-
.xl\:bui-col-span-11 {
grid-column: span 11 / span 11;
}
-
.xl\:bui-col-span-12 {
grid-column: span 12 / span 12;
}
-
.xl\:bui-col-span-auto {
- grid-column: span auto / span auto;
+ grid-column: span auto/span auto;
}
-
.xl\:bui-col-start-1 {
grid-column-start: 1;
}
-
.xl\:bui-col-start-2 {
grid-column-start: 2;
}
-
.xl\:bui-col-start-3 {
grid-column-start: 3;
}
-
.xl\:bui-col-start-4 {
grid-column-start: 4;
}
-
.xl\:bui-col-start-5 {
grid-column-start: 5;
}
-
.xl\:bui-col-start-6 {
grid-column-start: 6;
}
-
.xl\:bui-col-start-7 {
grid-column-start: 7;
}
-
.xl\:bui-col-start-8 {
grid-column-start: 8;
}
-
.xl\:bui-col-start-9 {
grid-column-start: 9;
}
-
.xl\:bui-col-start-10 {
grid-column-start: 10;
}
-
.xl\:bui-col-start-11 {
grid-column-start: 11;
}
-
.xl\:bui-col-start-12 {
grid-column-start: 12;
}
-
.xl\:bui-col-start-13 {
grid-column-start: 13;
}
-
.xl\:bui-col-start-auto {
grid-column-start: auto;
}
-
.xl\:bui-col-end-1 {
grid-column-end: 1;
}
-
.xl\:bui-col-end-2 {
grid-column-end: 2;
}
-
.xl\:bui-col-end-3 {
grid-column-end: 3;
}
-
.xl\:bui-col-end-4 {
grid-column-end: 4;
}
-
.xl\:bui-col-end-5 {
grid-column-end: 5;
}
-
.xl\:bui-col-end-6 {
grid-column-end: 6;
}
-
.xl\:bui-col-end-7 {
grid-column-end: 7;
}
-
.xl\:bui-col-end-8 {
grid-column-end: 8;
}
-
.xl\:bui-col-end-9 {
grid-column-end: 9;
}
-
.xl\:bui-col-end-10 {
grid-column-end: 10;
}
-
.xl\:bui-col-end-11 {
grid-column-end: 11;
}
-
.xl\:bui-col-end-12 {
grid-column-end: 12;
}
-
.xl\:bui-col-end-13 {
grid-column-end: 13;
}
-
.xl\:bui-col-end-auto {
grid-column-end: auto;
}
-
.xl\:bui-row-span-1 {
grid-row: span 1 / span 1;
}
-
.xl\:bui-row-span-2 {
grid-row: span 2 / span 2;
}
-
.xl\:bui-row-span-3 {
grid-row: span 3 / span 3;
}
-
.xl\:bui-row-span-4 {
grid-row: span 4 / span 4;
}
-
.xl\:bui-row-span-5 {
grid-row: span 5 / span 5;
}
-
.xl\:bui-row-span-6 {
grid-row: span 6 / span 6;
}
-
.xl\:bui-row-span-7 {
grid-row: span 7 / span 7;
}
-
.xl\:bui-row-span-8 {
grid-row: span 8 / span 8;
}
-
.xl\:bui-row-span-9 {
grid-row: span 9 / span 9;
}
-
.xl\:bui-row-span-10 {
grid-row: span 10 / span 10;
}
-
.xl\:bui-row-span-11 {
grid-row: span 11 / span 11;
}
-
.xl\:bui-row-span-12 {
grid-row: span 12 / span 12;
}
-
.xl\:bui-row-span-auto {
- grid-row: span auto / span auto;
+ grid-row: span auto/span auto;
}
}
-
.bui-gap {
gap: var(--gap);
}
-
.bui-gap-0\.5 {
gap: var(--bui-space-0_5);
}
-
.bui-gap-1 {
gap: var(--bui-space-1);
}
-
.bui-gap-1\.5 {
gap: var(--bui-space-1_5);
}
-
.bui-gap-2 {
gap: var(--bui-space-2);
}
-
.bui-gap-3 {
gap: var(--bui-space-3);
}
-
.bui-gap-4 {
gap: var(--bui-space-4);
}
-
.bui-gap-5 {
gap: var(--bui-space-5);
}
-
.bui-gap-6 {
gap: var(--bui-space-6);
}
-
.bui-gap-7 {
gap: var(--bui-space-7);
}
-
.bui-gap-8 {
gap: var(--bui-space-8);
}
-
.bui-gap-9 {
gap: var(--bui-space-9);
}
-
.bui-gap-10 {
gap: var(--bui-space-10);
}
-
.bui-gap-11 {
gap: var(--bui-space-11);
}
-
.bui-gap-12 {
gap: var(--bui-space-12);
}
-
.bui-gap-13 {
gap: var(--bui-space-13);
}
-
.bui-gap-14 {
gap: var(--bui-space-14);
}
-
- @media (width >= 640px) {
+ @media (width>=640px) {
.xs\:bui-gap {
gap: var(--gap-xs);
}
-
.xs\:bui-gap-0\.5 {
gap: var(--bui-space-0_5);
}
-
.xs\:bui-gap-1 {
gap: var(--bui-space-1);
}
-
.xs\:bui-gap-1\.5 {
gap: var(--bui-space-1_5);
}
-
.xs\:bui-gap-2 {
gap: var(--bui-space-2);
}
-
.xs\:bui-gap-3 {
gap: var(--bui-space-3);
}
-
.xs\:bui-gap-4 {
gap: var(--bui-space-4);
}
-
.xs\:bui-gap-5 {
gap: var(--bui-space-5);
}
-
.xs\:bui-gap-6 {
gap: var(--bui-space-6);
}
-
.xs\:bui-gap-7 {
gap: var(--bui-space-7);
}
-
.xs\:bui-gap-8 {
gap: var(--bui-space-8);
}
-
.xs\:bui-gap-9 {
gap: var(--bui-space-9);
}
-
.xs\:bui-gap-10 {
gap: var(--bui-space-10);
}
-
.xs\:bui-gap-11 {
gap: var(--bui-space-11);
}
-
.xs\:bui-gap-12 {
gap: var(--bui-space-12);
}
-
.xs\:bui-gap-13 {
gap: var(--bui-space-13);
}
-
.xs\:bui-gap-14 {
gap: var(--bui-space-14);
}
}
-
- @media (width >= 768px) {
+ @media (width>=768px) {
.sm\:bui-gap {
gap: var(--gap-sm);
}
-
.sm\:bui-gap-0\.5 {
gap: var(--bui-space-0_5);
}
-
.sm\:bui-gap-1 {
gap: var(--bui-space-1);
}
-
.sm\:bui-gap-1\.5 {
gap: var(--bui-space-1_5);
}
-
.sm\:bui-gap-2 {
gap: var(--bui-space-2);
}
-
.sm\:bui-gap-3 {
gap: var(--bui-space-3);
}
-
.sm\:bui-gap-4 {
gap: var(--bui-space-4);
}
-
.sm\:bui-gap-5 {
gap: var(--bui-space-5);
}
-
.sm\:bui-gap-6 {
gap: var(--bui-space-6);
}
-
.sm\:bui-gap-7 {
gap: var(--bui-space-7);
}
-
.sm\:bui-gap-8 {
gap: var(--bui-space-8);
}
-
.sm\:bui-gap-9 {
gap: var(--bui-space-9);
}
-
.sm\:bui-gap-10 {
gap: var(--bui-space-10);
}
-
.sm\:bui-gap-11 {
gap: var(--bui-space-11);
}
-
.sm\:bui-gap-12 {
gap: var(--bui-space-12);
}
-
.sm\:bui-gap-13 {
gap: var(--bui-space-13);
}
-
.sm\:bui-gap-14 {
gap: var(--bui-space-14);
}
}
-
- @media (width >= 1024px) {
+ @media (width>=1024px) {
.md\:bui-gap {
gap: var(--gap-md);
}
-
.md\:bui-gap-0\.5 {
gap: var(--bui-space-0_5);
}
-
.md\:bui-gap-1 {
gap: var(--bui-space-1);
}
-
.md\:bui-gap-1\.5 {
gap: var(--bui-space-1_5);
}
-
.md\:bui-gap-2 {
gap: var(--bui-space-2);
}
-
.md\:bui-gap-3 {
gap: var(--bui-space-3);
}
-
.md\:bui-gap-4 {
gap: var(--bui-space-4);
}
-
.md\:bui-gap-5 {
gap: var(--bui-space-5);
}
-
.md\:bui-gap-6 {
gap: var(--bui-space-6);
}
-
.md\:bui-gap-7 {
gap: var(--bui-space-7);
}
-
.md\:bui-gap-8 {
gap: var(--bui-space-8);
}
-
.md\:bui-gap-9 {
gap: var(--bui-space-9);
}
-
.md\:bui-gap-10 {
gap: var(--bui-space-10);
}
-
.md\:bui-gap-11 {
gap: var(--bui-space-11);
}
-
.md\:bui-gap-12 {
gap: var(--bui-space-12);
}
-
.md\:bui-gap-13 {
gap: var(--bui-space-13);
}
-
.md\:bui-gap-14 {
gap: var(--bui-space-14);
}
}
-
- @media (width >= 1280px) {
+ @media (width>=1280px) {
.lg\:bui-gap {
gap: var(--gap-lg);
}
-
.lg\:bui-gap-0\.5 {
gap: var(--bui-space-0_5);
}
-
.lg\:bui-gap-1 {
gap: var(--bui-space-1);
}
-
.lg\:bui-gap-1\.5 {
gap: var(--bui-space-1_5);
}
-
.lg\:bui-gap-2 {
gap: var(--bui-space-2);
}
-
.lg\:bui-gap-3 {
gap: var(--bui-space-3);
}
-
.lg\:bui-gap-4 {
gap: var(--bui-space-4);
}
-
.lg\:bui-gap-5 {
gap: var(--bui-space-5);
}
-
.lg\:bui-gap-6 {
gap: var(--bui-space-6);
}
-
.lg\:bui-gap-7 {
gap: var(--bui-space-7);
}
-
.lg\:bui-gap-8 {
gap: var(--bui-space-8);
}
-
.lg\:bui-gap-9 {
gap: var(--bui-space-9);
}
-
.lg\:bui-gap-10 {
gap: var(--bui-space-10);
}
-
.lg\:bui-gap-11 {
gap: var(--bui-space-11);
}
-
.lg\:bui-gap-12 {
gap: var(--bui-space-12);
}
-
.lg\:bui-gap-13 {
gap: var(--bui-space-13);
}
-
.lg\:bui-gap-14 {
gap: var(--bui-space-14);
}
}
-
- @media (width >= 1536px) {
+ @media (width>=1536px) {
.xl\:bui-gap {
gap: var(--gap-xl);
}
-
.xl\:bui-gap-0\.5 {
gap: var(--bui-space-0_5);
}
-
.xl\:bui-gap-1 {
gap: var(--bui-space-1);
}
-
.xl\:bui-gap-1\.5 {
gap: var(--bui-space-1_5);
}
-
.xl\:bui-gap-2 {
gap: var(--bui-space-2);
}
-
.xl\:bui-gap-3 {
gap: var(--bui-space-3);
}
-
.xl\:bui-gap-4 {
gap: var(--bui-space-4);
}
-
.xl\:bui-gap-5 {
gap: var(--bui-space-5);
}
-
.xl\:bui-gap-6 {
gap: var(--bui-space-6);
}
-
.xl\:bui-gap-7 {
gap: var(--bui-space-7);
}
-
.xl\:bui-gap-8 {
gap: var(--bui-space-8);
}
-
.xl\:bui-gap-9 {
gap: var(--bui-space-9);
}
-
.xl\:bui-gap-10 {
gap: var(--bui-space-10);
}
-
.xl\:bui-gap-11 {
gap: var(--bui-space-11);
}
-
.xl\:bui-gap-12 {
gap: var(--bui-space-12);
}
-
.xl\:bui-gap-13 {
gap: var(--bui-space-13);
}
-
.xl\:bui-gap-14 {
gap: var(--bui-space-14);
}
}
-
.bui-align-start {
align-items: start;
}
-
.bui-align-center {
align-items: center;
}
-
.bui-align-end {
align-items: end;
}
-
.bui-align-baseline {
align-items: baseline;
}
-
.bui-align-stretch {
align-items: stretch;
}
-
.bui-jc-start {
justify-content: start;
}
-
.bui-jc-center {
justify-content: center;
}
-
.bui-jc-end {
justify-content: end;
}
-
.bui-jc-between {
justify-content: space-between;
}
-
.bui-fd-row {
flex-direction: row;
}
-
.bui-fd-column {
flex-direction: column;
}
-
.bui-fd-row-reverse {
flex-direction: row-reverse;
}
-
.bui-fd-column-reverse {
flex-direction: column-reverse;
}
-
- @media (width >= 640px) {
+ @media (width>=640px) {
.xs\:bui-align-start {
align-items: start;
}
-
.xs\:bui-align-center {
align-items: center;
}
-
.xs\:bui-align-end {
align-items: end;
}
-
.xs\:bui-align-stretch {
align-items: stretch;
}
-
.xs\:bui-jc-start {
justify-content: start;
}
-
.xs\:bui-jc-center {
justify-content: center;
}
-
.xs\:bui-jc-end {
justify-content: end;
}
-
.xs\:bui-jc-between {
justify-content: space-between;
}
-
.xs\:bui-fd-row {
flex-direction: row;
}
-
.xs\:bui-fd-column {
flex-direction: column;
}
-
.xs\:bui-fd-row-reverse {
flex-direction: row-reverse;
}
-
.xs\:bui-fd-column-reverse {
flex-direction: column-reverse;
}
}
-
- @media (width >= 768px) {
+ @media (width>=768px) {
.sm\:bui-align-start {
align-items: start;
}
-
.sm\:bui-align-center {
align-items: center;
}
-
.sm\:bui-align-end {
align-items: end;
}
-
.sm\:bui-align-stretch {
align-items: stretch;
}
-
.sm\:bui-jc-start {
justify-content: start;
}
-
.sm\:bui-jc-center {
justify-content: center;
}
-
.sm\:bui-jc-end {
justify-content: end;
}
-
.sm\:bui-jc-between {
justify-content: space-between;
}
-
.sm\:bui-fd-row {
flex-direction: row;
}
-
.sm\:bui-fd-column {
flex-direction: column;
}
-
.sm\:bui-fd-row-reverse {
flex-direction: row-reverse;
}
-
.sm\:bui-fd-column-reverse {
flex-direction: column-reverse;
}
}
-
- @media (width >= 1024px) {
+ @media (width>=1024px) {
.md\:bui-align-start {
align-items: start;
}
-
.md\:bui-align-center {
align-items: center;
}
-
.md\:bui-align-end {
align-items: end;
}
-
.md\:bui-align-stretch {
align-items: stretch;
}
-
.md\:bui-jc-start {
justify-content: start;
}
-
.md\:bui-jc-center {
justify-content: center;
}
-
.md\:bui-jc-end {
justify-content: end;
}
-
.md\:bui-jc-between {
justify-content: space-between;
}
-
.md\:bui-fd-row {
flex-direction: row;
}
-
.md\:bui-fd-column {
flex-direction: column;
}
-
.md\:bui-fd-row-reverse {
flex-direction: row-reverse;
}
-
.md\:bui-fd-column-reverse {
flex-direction: column-reverse;
}
}
-
- @media (width >= 1280px) {
+ @media (width>=1280px) {
.lg\:bui-align-start {
align-items: start;
}
-
.lg\:bui-align-center {
align-items: center;
}
-
.lg\:bui-align-end {
align-items: end;
}
-
.lg\:bui-align-stretch {
align-items: stretch;
}
-
.lg\:bui-jc-start {
justify-content: start;
}
-
.lg\:bui-jc-center {
justify-content: center;
}
-
.lg\:bui-jc-end {
justify-content: end;
}
-
.lg\:bui-jc-between {
justify-content: space-between;
}
-
.lg\:bui-fd-row {
flex-direction: row;
}
-
.lg\:bui-fd-column {
flex-direction: column;
}
-
.lg\:bui-fd-row-reverse {
flex-direction: row-reverse;
}
-
.lg\:bui-fd-column-reverse {
flex-direction: column-reverse;
}
}
-
- @media (width >= 1536px) {
+ @media (width>=1536px) {
.xl\:bui-align-start {
align-items: start;
}
-
.xl\:bui-align-center {
align-items: center;
}
-
.xl\:bui-align-end {
align-items: end;
}
-
.xl\:bui-align-stretch {
align-items: stretch;
}
-
.xl\:bui-jc-start {
justify-content: start;
}
-
.xl\:bui-jc-center {
justify-content: center;
}
-
.xl\:bui-jc-end {
justify-content: end;
}
-
.xl\:bui-jc-between {
justify-content: space-between;
}
-
.xl\:bui-fd-row {
flex-direction: row;
}
-
.xl\:bui-fd-column {
flex-direction: column;
}
-
.xl\:bui-fd-row-reverse {
flex-direction: row-reverse;
}
-
.xl\:bui-fd-column-reverse {
flex-direction: column-reverse;
}
diff --git a/docs-ui/src/css/theme-spotify.css b/docs-ui/src/css/theme-spotify.css
new file mode 100644
index 0000000000..73a067d5b0
--- /dev/null
+++ b/docs-ui/src/css/theme-spotify.css
@@ -0,0 +1,239 @@
+@font-face {
+ font-family: CircularSpTitle;
+ font-weight: 900;
+ font-display: swap;
+ unicode-range: U+0, U+D, U+20-7E, U+A0-17E, U+18F, U+192, U+1A0-1A1, U+1AF-1B0,
+ U+1B5-1B6, U+1C4-1C6, U+1F1-1F3, U+1FA-1FF, U+218-21B, U+237, U+259,
+ U+2BB-2BC, U+2C6-2C7, U+2C9, U+2D8-2DD, U+300-301, U+303, U+309, U+323,
+ U+394, U+3A9, U+3BC, U+3C0, U+1E80-1E85, U+1E8A-1E8B, U+1EA0-1EF9, U+1FD6,
+ U+2007-2008, U+200B, U+2010-2011, U+2013-2014, U+2018-201A, U+201C-201E,
+ U+2020-2022, U+2026, U+2030, U+2032-2033, U+2039-203A, U+2042, U+2044,
+ U+2051, U+2070, U+2074-2079, U+2080-2089, U+20AB-20AC, U+2113, U+2117,
+ U+2122, U+2126, U+2160-2169, U+216C-216F, U+2190-2193, U+2196-2199, U+21A9,
+ U+21B0-21B5, U+21C6, U+2202, U+2206, U+220F, U+2211-2212, U+2215,
+ U+2219-221A, U+221E, U+222B, U+2248, U+2260, U+2264-2265, U+22C5, U+24C5,
+ U+25A0-25A1, U+25AF, U+25B2-25B3, U+25CA-25CB, U+25CF, U+262E, U+2713,
+ U+2715, U+2780-2788, U+E000, U+E002, U+F6C3, U+FB00-FB04, U+FEFF, U+FF0C,
+ U+FF0E, U+FF1A-FF1B, U+FFFF;
+ src: url(https://encore.scdn.co/fonts/CircularSpTitle-Black-4588c99025b967475c31695b0743dd1a.woff2)
+ format('woff2'),
+ url(https://encore.scdn.co/fonts/CircularSpTitle-Black-506746f387a26f25aa3d023b3e501d34.woff)
+ format('woff');
+}
+@font-face {
+ font-family: CircularSpTitle;
+ font-weight: 700;
+ font-display: swap;
+ unicode-range: U+0, U+D, U+20-7E, U+A0-17E, U+18F, U+192, U+1A0-1A1, U+1AF-1B0,
+ U+1B5-1B6, U+1C4-1C6, U+1F1-1F3, U+1FA-1FF, U+218-21B, U+237, U+259,
+ U+2BB-2BC, U+2C6-2C7, U+2C9, U+2D8-2DD, U+300-301, U+303, U+309, U+323,
+ U+394, U+3A9, U+3BC, U+3C0, U+1E80-1E85, U+1E8A-1E8B, U+1EA0-1EF9, U+1FD6,
+ U+2007-2008, U+200B, U+2010-2011, U+2013-2014, U+2018-201A, U+201C-201E,
+ U+2020-2022, U+2026, U+2030, U+2032-2033, U+2039-203A, U+2042, U+2044,
+ U+2051, U+2070, U+2074-2079, U+2080-2089, U+20AB-20AC, U+2113, U+2117,
+ U+2122, U+2126, U+2160-2169, U+216C-216F, U+2190-2193, U+2196-2199, U+21A9,
+ U+21B0-21B5, U+21C6, U+2202, U+2206, U+220F, U+2211-2212, U+2215,
+ U+2219-221A, U+221E, U+222B, U+2248, U+2260, U+2264-2265, U+22C5, U+24C5,
+ U+25A0-25A1, U+25AF, U+25B2-25B3, U+25CA-25CB, U+25CF, U+262E, U+2713,
+ U+2715, U+2780-2788, U+E000, U+E002, U+F6C3, U+FB00-FB04, U+FEFF, U+FF0C,
+ U+FF0E, U+FF1A-FF1B, U+FFFF;
+ src: url(https://encore.scdn.co/fonts/CircularSpTitle-Bold-b2586b06a2e1522e9d879d84c2792a58.woff2)
+ format('woff2'),
+ url(https://encore.scdn.co/fonts/CircularSpTitle-Bold-1624fb2df28c20d7203d7fb86ce8b481.woff)
+ format('woff');
+}
+@font-face {
+ font-family: CircularSp;
+ font-weight: 700;
+ font-display: swap;
+ unicode-range: U+0, U+D, U+20-7E, U+A0-17E, U+18F, U+192, U+1A0-1A1, U+1AF-1B0,
+ U+1B5-1B6, U+1C4-1C6, U+1F1-1F3, U+1FA-1FF, U+218-21B, U+237, U+259,
+ U+2BB-2BC, U+2C6-2C7, U+2C9, U+2D8-2DD, U+300-301, U+303, U+309, U+323,
+ U+394, U+3A9, U+3BC, U+3C0, U+1E80-1E85, U+1E8A-1E8B, U+1EA0-1EF9, U+1FD6,
+ U+2007-2008, U+200B, U+2010-2011, U+2013-2014, U+2018-201A, U+201C-201E,
+ U+2020-2022, U+2026, U+2030, U+2032-2033, U+2039-203A, U+2042, U+2044,
+ U+2051, U+2070, U+2074-2079, U+2080-2089, U+20AB-20AC, U+2113, U+2117,
+ U+2122, U+2126, U+2160-2169, U+216C-216F, U+2190-2193, U+2196-2199, U+21A9,
+ U+21B0-21B5, U+21C6, U+2202, U+2206, U+220F, U+2211-2212, U+2215,
+ U+2219-221A, U+221E, U+222B, U+2248, U+2260, U+2264-2265, U+22C5, U+24C5,
+ U+25A0-25A1, U+25AF, U+25B2-25B3, U+25CA-25CB, U+25CF, U+262E, U+2713,
+ U+2715, U+2780-2788, U+E000, U+E002, U+F6C3, U+FB00-FB04, U+FEFF, U+FF0C,
+ U+FF0E, U+FF1A-FF1B, U+FFFF;
+ src: url(https://encore.scdn.co/fonts/CircularSp-Bold-602e7aefc706aa36c6ec1324b9bbc461.woff2)
+ format('woff2'),
+ url(https://encore.scdn.co/fonts/CircularSp-Bold-856afe2da4ba4e61239b129e2c16d633.woff)
+ format('woff');
+}
+@font-face {
+ font-family: CircularSp;
+ font-weight: 400;
+ font-display: swap;
+ unicode-range: U+0, U+D, U+20-7E, U+A0-17E, U+18F, U+192, U+1A0-1A1, U+1AF-1B0,
+ U+1B5-1B6, U+1C4-1C6, U+1F1-1F3, U+1FA-1FF, U+218-21B, U+237, U+259,
+ U+2BB-2BC, U+2C6-2C7, U+2C9, U+2D8-2DD, U+300-301, U+303, U+309, U+323,
+ U+394, U+3A9, U+3BC, U+3C0, U+1E80-1E85, U+1E8A-1E8B, U+1EA0-1EF9, U+1FD6,
+ U+2007-2008, U+200B, U+2010-2011, U+2013-2014, U+2018-201A, U+201C-201E,
+ U+2020-2022, U+2026, U+2030, U+2032-2033, U+2039-203A, U+2042, U+2044,
+ U+2051, U+2070, U+2074-2079, U+2080-2089, U+20AB-20AC, U+2113, U+2117,
+ U+2122, U+2126, U+2160-2169, U+216C-216F, U+2190-2193, U+2196-2199, U+21A9,
+ U+21B0-21B5, U+21C6, U+2202, U+2206, U+220F, U+2211-2212, U+2215,
+ U+2219-221A, U+221E, U+222B, U+2248, U+2260, U+2264-2265, U+22C5, U+24C5,
+ U+25A0-25A1, U+25AF, U+25B2-25B3, U+25CA-25CB, U+25CF, U+262E, U+2713,
+ U+2715, U+2780-2788, U+E000, U+E002, U+F6C3, U+FB00-FB04, U+FEFF, U+FF0C,
+ U+FF0E, U+FF1A-FF1B, U+FFFF;
+ src: url(https://encore.scdn.co/fonts/CircularSp-Book-a00e99ef9996a3a157fb6b746856d04f.woff2)
+ format('woff2'),
+ url(https://encore.scdn.co/fonts/CircularSp-Book-3f73da7d35bd81c706bce7bbb84964de.woff)
+ format('woff');
+}
+@font-face {
+ font-family: CircularSp;
+ font-weight: 700;
+ font-display: swap;
+ unicode-range: U+0, U+D, U+20-7E, U+A0-17E, U+18F, U+192, U+1A0-1A1, U+1AF-1B0,
+ U+1B5-1B6, U+1C4-1C6, U+1F1-1F3, U+1FA-1FF, U+218-21B, U+237, U+259,
+ U+2BB-2BC, U+2C6-2C7, U+2C9, U+2D8-2DD, U+300-301, U+303, U+309, U+323,
+ U+394, U+3A9, U+3BC, U+3C0, U+1E80-1E85, U+1E8A-1E8B, U+1EA0-1EF9, U+1FD6,
+ U+2007-2008, U+200B, U+2010-2011, U+2013-2014, U+2018-201A, U+201C-201E,
+ U+2020-2022, U+2026, U+2030, U+2032-2033, U+2039-203A, U+2042, U+2044,
+ U+2051, U+2070, U+2074-2079, U+2080-2089, U+20AB-20AC, U+2113, U+2117,
+ U+2122, U+2126, U+2160-2169, U+216C-216F, U+2190-2193, U+2196-2199, U+21A9,
+ U+21B0-21B5, U+21C6, U+2202, U+2206, U+220F, U+2211-2212, U+2215,
+ U+2219-221A, U+221E, U+222B, U+2248, U+2260, U+2264-2265, U+22C5, U+24C5,
+ U+25A0-25A1, U+25AF, U+25B2-25B3, U+25CA-25CB, U+25CF, U+262E, U+2713,
+ U+2715, U+2780-2788, U+E000, U+E002, U+F6C3, U+FB00-FB04, U+FEFF, U+FF0C,
+ U+FF0E, U+FF1A-FF1B, U+FFFF;
+ src: url(https://encore.scdn.co/fonts/CircularSp-Bold-602e7aefc706aa36c6ec1324b9bbc461.woff2)
+ format('woff2'),
+ url(https://encore.scdn.co/fonts/CircularSp-Bold-856afe2da4ba4e61239b129e2c16d633.woff)
+ format('woff');
+}
+[data-theme-name='spotify'] {
+ --bui-font-text: CircularSp, CircularSp-Arab, CircularSp-Hebr, CircularSp-Cyrl,
+ CircularSp-Grek, CircularSp-Deva;
+ --bui-font-title: CircularSpTitle, CircularSp-Arab, CircularSp-Hebr,
+ CircularSp-Cyrl, CircularSp-Grek, CircularSp-Deva;
+ --bui-font-regular: CircularSp, CircularSp-Arab, CircularSp-Hebr,
+ CircularSp-Cyrl, CircularSp-Grek, CircularSp-Deva;
+ & .bui-Button {
+ border-radius: var(--bui-radius-3);
+ padding-inline: var(--bui-space-3);
+ }
+ & .bui-ButtonIcon {
+ padding: 0;
+ }
+ & .bui-MenuPopup {
+ box-sizing: border-box;
+ max-width: 21.25rem;
+ }
+ & .bui-MenuSubmenuTrigger,
+ & .bui-MenuItem {
+ height: auto;
+ min-height: 2rem;
+ }
+ & .bui-Text {
+ font-family: var(--bui-font-text);
+ }
+ & .bui-Heading {
+ font-family: var(--bui-font-title);
+ }
+ & .bui-TableRow {
+ border-radius: var(--bui-radius-4);
+ border: none;
+ }
+ & .bui-TableRow:hover td:first-child {
+ border-top-left-radius: var(--bui-radius-2);
+ border-bottom-left-radius: var(--bui-radius-2);
+ }
+ & .bui-TableRow:hover td:last-child {
+ border-top-right-radius: var(--bui-radius-2);
+ border-bottom-right-radius: var(--bui-radius-2);
+ }
+ & .bui-TableBody:before,
+ & .bui-TableBody:after {
+ line-height: var(--bui-space-1);
+ content: '';
+ display: block;
+ }
+ & .bui-TableHeader .bui-TableRow {
+ border-bottom: 1px solid var(--bui-border);
+ }
+ & .bui-TableHead {
+ font-size: var(--bui-font-size-2);
+ color: var(--bui-fg-secondary);
+ font-weight: var(--bui-font-weight-regular);
+ }
+ & .bui-HeaderToolbar {
+ padding-top: var(--bui-space-2);
+ padding-inline: var(--bui-space-2);
+ }
+ & .bui-HeaderToolbarWrapper {
+ border-radius: var(--bui-radius-3);
+ padding-inline: var(--bui-space-3);
+ border: none;
+ }
+ & .bui-HeaderToolbarControls {
+ right: calc(var(--bui-space-3) - 1px);
+ }
+ & .bui-HeaderTabsWrapper {
+ margin-top: var(--bui-space-2);
+ margin-inline: var(--bui-space-2);
+ border-radius: var(--bui-radius-3);
+ padding-inline: var(--bui-space-1);
+ border: none;
+ }
+ & .bui-Input {
+ border-radius: var(--bui-radius-3);
+ }
+ & .bui-Tag {
+ border-radius: var(--bui-radius-full);
+ }
+}
+[data-theme-mode='light'][data-theme-name='spotify'] {
+ --bui-bg-solid: #1ed760;
+ --bui-bg-solid-hover: #3be477;
+ --bui-bg-solid-pressed: #1abc54;
+ --bui-bg-solid-disabled: #0f6c30;
+ --bui-fg-primary: var(--bui-black);
+ --bui-fg-secondary: #757575;
+ --bui-fg-solid: var(--bui-black);
+ --bui-fg-solid-disabled: #62ab7c;
+ --bui-border: #d9d9d9;
+ --bui-border-hover: #0000004d;
+ --bui-border-pressed: #00000080;
+ --bui-border-disabled: #0000001a;
+ --bui-border-danger: #f87a7a;
+ --bui-border-warning: #e36d05;
+ --bui-border-success: #53db83;
+ --bui-ring: #0003;
+ & .bui-HeaderToolbarWrapper,
+ & .bui-HeaderTabsWrapper {
+ border: 1px solid var(--bui-border);
+ }
+}
+[data-theme-mode='dark'][data-theme-name='spotify'] {
+ --bui-bg-neutral-0: var(--bui-black);
+ --bui-bg-solid: #1ed760;
+ --bui-bg-solid-hover: #3be477;
+ --bui-bg-solid-pressed: #1abc54;
+ --bui-bg-solid-disabled: #0f6c30;
+ --bui-bg-danger: #3b1219;
+ --bui-bg-warning: #302008;
+ --bui-bg-success: #132d21;
+ --bui-fg-primary: var(--bui-white);
+ --bui-fg-secondary: #9e9e9e;
+ --bui-fg-disabled: #575757;
+ --bui-fg-solid: var(--bui-black);
+ --bui-fg-solid-disabled: #072f15;
+ --bui-fg-danger: #e22b2b;
+ --bui-fg-warning: #e36d05;
+ --bui-fg-success: #1db954;
+ --bui-border: #373737;
+ --bui-border-hover: #fff6;
+ --bui-border-pressed: #ffffff80;
+ --bui-border-disabled: #fff3;
+ --bui-border-danger: #f87a7a;
+ --bui-border-warning: #e36d05;
+ --bui-border-success: #53db83;
+ --bui-ring: #fff3;
+}
diff --git a/docs-ui/src/snippets/code-snippets.ts b/docs-ui/src/snippets/code-snippets.ts
index 57169ae32a..92a9cfe2db 100644
--- a/docs-ui/src/snippets/code-snippets.ts
+++ b/docs-ui/src/snippets/code-snippets.ts
@@ -4,8 +4,8 @@ export const customTheme = `:root {
--bui-font-regular: system-ui;
--bui-font-weight-regular: 400;
--bui-font-weight-bold: 600;
- --bui-bg-surface-0: #f8f8f8;
- --bui-bg-surface-1: #fff;
+ --bui-bg-neutral-0: #f8f8f8;
+ --bui-bg-neutral-1: #fff;
/* ... other CSS variables */
/* Add your custom components styles here */
@@ -19,8 +19,8 @@ export const customTheme = `:root {
--bui-font-regular: system-ui;
--bui-font-weight-regular: 400;
--bui-font-weight-bold: 600;
- --bui-bg-surface-0: #f8f8f8;
- --bui-bg-surface-1: #fff;
+ --bui-bg-neutral-0: #f8f8f8;
+ --bui-bg-neutral-1: #fff;
/* ... other CSS variables */
/* Add your custom components styles here */
diff --git a/docs-ui/src/utils/data.ts b/docs-ui/src/utils/data.ts
index e2a3e411a4..7426b16130 100644
--- a/docs-ui/src/utils/data.ts
+++ b/docs-ui/src/utils/data.ts
@@ -4,25 +4,6 @@ interface Page {
status?: 'alpha' | 'beta' | 'stable' | 'deprecated' | 'inProgress' | 'new';
}
-export const layoutComponents: Page[] = [
- {
- title: 'Box',
- slug: 'box',
- },
- {
- title: 'Container',
- slug: 'container',
- },
- {
- title: 'Grid',
- slug: 'grid',
- },
- {
- title: 'Flex',
- slug: 'flex',
- },
-];
-
export const components: Page[] = [
{
title: 'Accordion',
@@ -36,6 +17,10 @@ export const components: Page[] = [
title: 'Avatar',
slug: 'avatar',
},
+ {
+ title: 'Box',
+ slug: 'box',
+ },
{
title: 'Button',
slug: 'button',
@@ -56,10 +41,22 @@ export const components: Page[] = [
title: 'Checkbox',
slug: 'checkbox',
},
+ {
+ title: 'Container',
+ slug: 'container',
+ },
{
title: 'Dialog',
slug: 'dialog',
},
+ {
+ title: 'Flex',
+ slug: 'flex',
+ },
+ {
+ title: 'Grid',
+ slug: 'grid',
+ },
{
title: 'Header',
slug: 'header',
@@ -83,7 +80,6 @@ export const components: Page[] = [
{
title: 'Popover',
slug: 'popover',
- status: 'new',
},
{
title: 'RadioGroup',
diff --git a/docs-ui/src/utils/getPageName.ts b/docs-ui/src/utils/getPageName.ts
index 7a1ccbf2a1..252c80c6c1 100644
--- a/docs-ui/src/utils/getPageName.ts
+++ b/docs-ui/src/utils/getPageName.ts
@@ -1,17 +1,10 @@
-import { components, layoutComponents } from './data';
+import { components } from './data';
export function getPageName(slug: string): string | null {
- // Search in components array
const component = components.find(c => c.slug === slug);
if (component) {
return component.title;
}
- // Search in layoutComponents array
- const layoutComponent = layoutComponents.find(c => c.slug === slug);
- if (layoutComponent) {
- return layoutComponent.title;
- }
-
return null;
}
diff --git a/docs-ui/src/utils/playground-context.tsx b/docs-ui/src/utils/playground-context.tsx
index a1cee6ecba..252194535b 100644
--- a/docs-ui/src/utils/playground-context.tsx
+++ b/docs-ui/src/utils/playground-context.tsx
@@ -4,6 +4,7 @@ import {
ReactNode,
useState,
useEffect,
+ useSyncExternalStore,
} from 'react';
import { components } from './data';
@@ -31,6 +32,14 @@ const PlaygroundContext = createContext<{
setSelectedThemeName: () => {},
});
+// Stable server snapshots (outside component to avoid recreating)
+const defaultThemeSet = new Set
(['light']);
+const defaultThemeName: ThemeName = 'backstage';
+
+// Cache for theme Sets to avoid creating new objects on every getSnapshot call
+let cachedThemeValue: string | null = null;
+let cachedThemeSet: Set = defaultThemeSet;
+
// Create a provider component
export const PlaygroundProvider = ({ children }: { children: ReactNode }) => {
// Check if running in a browser environment
@@ -40,57 +49,72 @@ export const PlaygroundProvider = ({ children }: { children: ReactNode }) => {
const [selectedComponents, setSelectedComponents] = useState(
components.map(component => component.slug),
);
- const [selectedTheme, setSelectedTheme] = useState>(
- new Set(['light']),
- );
- const [selectedThemeName, setSelectedThemeName] =
- useState('backstage');
- // Load saved theme from localStorage after hydration
- useEffect(() => {
- if (isBrowser) {
- const savedThemeString = localStorage.getItem('theme-mode');
- if (savedThemeString) {
- // Parse the comma-separated string back into a Set
- const themeArray = savedThemeString
- .split(',')
- .filter(Boolean) as Theme[];
- setSelectedTheme(new Set(themeArray));
+ // Use useSyncExternalStore for SSR-safe localStorage access
+ const selectedTheme = useSyncExternalStore(
+ callback => {
+ window.addEventListener('storage', callback);
+ return () => window.removeEventListener('storage', callback);
+ },
+ () => {
+ const saved = localStorage.getItem('theme-mode');
+
+ // Return cached Set if value hasn't changed
+ if (saved === cachedThemeValue) {
+ return cachedThemeSet;
+ }
+
+ // Update cache with new value
+ cachedThemeValue = saved;
+ if (saved) {
+ const themeArray = saved.split(',').filter(Boolean) as Theme[];
+ cachedThemeSet = new Set(themeArray);
} else {
- setSelectedTheme(new Set(['light']));
+ cachedThemeSet = defaultThemeSet;
}
- }
- }, [isBrowser]);
- // Load saved theme name from localStorage after hydration
+ return cachedThemeSet;
+ },
+ () => defaultThemeSet, // Stable server snapshot
+ );
+
+ const selectedThemeName = useSyncExternalStore(
+ callback => {
+ window.addEventListener('storage', callback);
+ return () => window.removeEventListener('storage', callback);
+ },
+ () => {
+ const saved = localStorage.getItem('theme-name') as ThemeName;
+ return saved || defaultThemeName;
+ },
+ () => defaultThemeName, // Stable server snapshot
+ );
+
+ // Keep setter functions that update both state and localStorage
+ const setSelectedTheme = (keys: Set) => {
+ const value = Array.from(keys).join(',');
+ localStorage.setItem('theme-mode', value);
+ // Invalidate cache
+ cachedThemeValue = null;
+ window.dispatchEvent(new Event('storage'));
+ };
+
+ const setSelectedThemeName = (name: ThemeName) => {
+ localStorage.setItem('theme-name', name);
+ window.dispatchEvent(new Event('storage'));
+ };
+
+ // Sync to DOM attributes when values change
useEffect(() => {
- if (isBrowser) {
- const savedThemeName = localStorage.getItem('theme-name') as ThemeName;
- if (savedThemeName) {
- setSelectedThemeName(savedThemeName);
- }
- }
- }, [isBrowser]);
+ document.documentElement.setAttribute(
+ 'data-theme-mode',
+ Array.from(selectedTheme).join(','),
+ );
+ }, [selectedTheme]);
useEffect(() => {
- if (isBrowser) {
- document.documentElement.setAttribute(
- 'data-theme-mode',
- Array.from(selectedTheme).join(','),
- );
- localStorage.setItem('theme-mode', Array.from(selectedTheme).join(','));
- }
- }, [selectedTheme, isBrowser]);
-
- useEffect(() => {
- if (isBrowser) {
- document.documentElement.setAttribute(
- 'data-theme-name',
- selectedThemeName || 'backstage',
- );
- localStorage.setItem('theme-name', selectedThemeName || 'backstage');
- }
- }, [selectedThemeName, isBrowser]);
+ document.documentElement.setAttribute('data-theme-name', selectedThemeName);
+ }, [selectedThemeName]);
return (
;
};
+export type SpacingProp = {
+ name: string;
+ description: ReactNode;
+ default?: string;
+};
+
+export type SpacingGroupDef = {
+ props: SpacingProp[];
+ values: string[];
+ responsive: boolean;
+};
+
export type PropDef = {
type:
| 'string'
@@ -23,9 +35,11 @@ export type PropDef = {
| 'number'
| 'boolean'
| 'spacing'
+ | 'spacing-group'
| 'complex';
values?: string | string[];
complexType?: ComplexTypeDef;
+ spacingGroup?: SpacingGroupDef;
default?: string;
required?: boolean;
responsive?: boolean;
@@ -36,6 +50,7 @@ export { breakpoints };
export type { Breakpoint };
export const spacingValues = [
+ '0',
'0.5',
'1',
'1.5',
@@ -50,47 +65,53 @@ export const spacingValues = [
'10',
'11',
'12',
- '13',
- '14',
+ 'auto',
];
export const paddingPropDefs = (
spacingValues: string[],
): Record => ({
p: {
- type: 'enum | string',
+ type: 'spacing',
values: spacingValues,
responsive: true,
+ description: 'Padding on all sides.',
},
px: {
- type: 'enum | string',
+ type: 'spacing',
values: spacingValues,
responsive: true,
+ description: 'Horizontal padding (left and right).',
},
py: {
- type: 'enum | string',
+ type: 'spacing',
values: spacingValues,
responsive: true,
+ description: 'Vertical padding (top and bottom).',
},
pt: {
- type: 'enum | string',
+ type: 'spacing',
values: spacingValues,
responsive: true,
+ description: 'Padding on the top.',
},
pr: {
- type: 'enum | string',
+ type: 'spacing',
values: spacingValues,
responsive: true,
+ description: 'Padding on the right.',
},
pb: {
- type: 'enum | string',
+ type: 'spacing',
values: spacingValues,
responsive: true,
+ description: 'Padding on the bottom.',
},
pl: {
- type: 'enum | string',
+ type: 'spacing',
values: spacingValues,
responsive: true,
+ description: 'Padding on the left.',
},
});
@@ -98,39 +119,46 @@ export const marginPropDefs = (
spacingValues: string[],
): Record => ({
m: {
- type: 'enum | string',
+ type: 'spacing',
values: spacingValues,
responsive: true,
+ description: 'Margin on all sides.',
},
mx: {
- type: 'enum | string',
+ type: 'spacing',
values: spacingValues,
responsive: true,
+ description: 'Horizontal margin (left and right).',
},
my: {
- type: 'enum | string',
+ type: 'spacing',
values: spacingValues,
responsive: true,
+ description: 'Vertical margin (top and bottom).',
},
mt: {
- type: 'enum | string',
+ type: 'spacing',
values: spacingValues,
responsive: true,
+ description: 'Margin on the top.',
},
mr: {
- type: 'enum | string',
+ type: 'spacing',
values: spacingValues,
responsive: true,
+ description: 'Margin on the right.',
},
mb: {
- type: 'enum | string',
+ type: 'spacing',
values: spacingValues,
responsive: true,
+ description: 'Margin on the bottom.',
},
ml: {
- type: 'enum | string',
+ type: 'spacing',
values: spacingValues,
responsive: true,
+ description: 'Margin on the left.',
},
});
@@ -139,6 +167,76 @@ export const spacingPropDefs = {
...marginPropDefs(spacingValues),
};
+// Spacing prop metadata for creating groups
+const spacingPropMetadata: Record = {
+ p: { name: 'p', description: 'Padding on all sides.' },
+ px: { name: 'px', description: 'Horizontal padding (left and right).' },
+ py: { name: 'py', description: 'Vertical padding (top and bottom).' },
+ pt: { name: 'pt', description: 'Padding on the top.' },
+ pr: { name: 'pr', description: 'Padding on the right.' },
+ pb: { name: 'pb', description: 'Padding on the bottom.' },
+ pl: { name: 'pl', description: 'Padding on the left.' },
+ m: { name: 'm', description: 'Margin on all sides.' },
+ mx: { name: 'mx', description: 'Horizontal margin (left and right).' },
+ my: { name: 'my', description: 'Vertical margin (top and bottom).' },
+ mt: { name: 'mt', description: 'Margin on the top.' },
+ mr: { name: 'mr', description: 'Margin on the right.' },
+ mb: { name: 'mb', description: 'Margin on the bottom.' },
+ ml: { name: 'ml', description: 'Margin on the left.' },
+};
+
+export const createSpacingGroup = (
+ propNames: string[],
+ description?: ReactNode,
+): PropDef => {
+ const props = propNames
+ .map(name => spacingPropMetadata[name])
+ .filter(Boolean);
+
+ return {
+ type: 'spacing-group',
+ spacingGroup: {
+ props,
+ values: spacingValues,
+ responsive: true,
+ },
+ description:
+ description || 'Spacing properties for controlling padding and margin.',
+ responsive: true,
+ };
+};
+
+// Pre-built spacing groups
+export const spacingGroupAll = createSpacingGroup(
+ [
+ 'p',
+ 'px',
+ 'py',
+ 'pt',
+ 'pr',
+ 'pb',
+ 'pl',
+ 'm',
+ 'mx',
+ 'my',
+ 'mt',
+ 'mr',
+ 'mb',
+ 'ml',
+ ],
+ 'Padding and margin properties for controlling spacing around the element.',
+);
+
+export const spacingGroupPadding = createSpacingGroup(
+ ['p', 'px', 'py', 'pt', 'pr', 'pb', 'pl'],
+ 'Padding properties for controlling internal spacing.',
+);
+
+export const spacingGroupMargin = createSpacingGroup(
+ ['m', 'mx', 'my', 'mt', 'mr', 'mb', 'ml'],
+ 'Margin properties for controlling external spacing.',
+);
+
export const displayPropDefs: Record = {
display: {
type: 'enum',
@@ -150,7 +248,7 @@ export const displayPropDefs: Record = {
export const gapPropDefs: Record = {
gap: {
- type: 'enum | string',
+ type: 'spacing',
values: spacingValues,
responsive: true,
default: '4',
@@ -160,36 +258,36 @@ export const gapPropDefs: Record = {
export const widthPropDefs: Record = {
width: {
type: 'string',
- default: '0',
responsive: true,
+ description: 'Sets the width of the element. Accepts CSS values.',
},
minWidth: {
type: 'string',
- default: '0',
responsive: true,
+ description: 'Sets the minimum width. Element cannot shrink below this.',
},
maxWidth: {
type: 'string',
- default: '0',
responsive: true,
+ description: 'Sets the maximum width. Element cannot grow beyond this.',
},
};
export const heightPropDefs: Record = {
height: {
type: 'string',
- default: '0',
responsive: true,
+ description: 'Sets the height of the element. Accepts CSS values.',
},
minHeight: {
type: 'string',
- default: '0',
responsive: true,
+ description: 'Sets the minimum height. Element cannot shrink below this.',
},
maxHeight: {
type: 'string',
- default: '0',
responsive: true,
+ description: 'Sets the maximum height. Element cannot grow beyond this.',
},
};
@@ -197,8 +295,8 @@ export const positionPropDefs: Record = {
position: {
type: 'enum',
values: ['static', 'relative', 'absolute', 'fixed', 'sticky'],
- default: 'static',
responsive: true,
+ description: 'CSS positioning scheme for the element.',
},
};
@@ -206,6 +304,7 @@ export const classNamePropDefs: Record = {
className: {
type: 'string',
responsive: false,
+ description: 'Additional CSS class name for custom styling.',
},
};
@@ -214,6 +313,7 @@ export const stylePropDefs: Record = {
type: 'enum',
values: ['CSSProperties'],
responsive: false,
+ description: 'Inline CSS styles object.',
},
};
diff --git a/docs-ui/tsconfig.json b/docs-ui/tsconfig.json
index e1b3951aa8..bb167b721d 100644
--- a/docs-ui/tsconfig.json
+++ b/docs-ui/tsconfig.json
@@ -10,7 +10,7 @@
"moduleResolution": "bundler",
"resolveJsonModule": true,
"isolatedModules": true,
- "jsx": "preserve",
+ "jsx": "react-jsx",
"incremental": true,
"noImplicitAny": false,
"plugins": [
@@ -29,7 +29,9 @@
"**/*.tsx",
".next/types/**/*.ts",
"dist/types/**/*.ts",
- "src/types/**/*.d.ts"
+ "src/types/**/*.d.ts",
+ "dist/dev/types/**/*.ts",
+ ".next/dev/types/**/*.ts"
],
"exclude": ["node_modules"]
}
diff --git a/docs-ui/yarn.lock b/docs-ui/yarn.lock
index 428bdf75bc..5b388354d6 100644
--- a/docs-ui/yarn.lock
+++ b/docs-ui/yarn.lock
@@ -5,21 +5,142 @@ __metadata:
version: 8
cacheKey: 10
-"@babel/code-frame@npm:^7.27.1":
- version: 7.27.1
- resolution: "@babel/code-frame@npm:7.27.1"
+"@babel/code-frame@npm:^7.27.1, @babel/code-frame@npm:^7.28.6":
+ version: 7.28.6
+ resolution: "@babel/code-frame@npm:7.28.6"
dependencies:
- "@babel/helper-validator-identifier": "npm:^7.27.1"
+ "@babel/helper-validator-identifier": "npm:^7.28.5"
js-tokens: "npm:^4.0.0"
picocolors: "npm:^1.1.1"
- checksum: 10/721b8a6e360a1fa0f1c9fe7351ae6c874828e119183688b533c477aa378f1010f37cc9afbfc4722c686d1f5cdd00da02eab4ba7278a0c504fa0d7a321dcd4fdf
+ checksum: 10/93e7ed9e039e3cb661bdb97c26feebafacc6ec13d745881dae5c7e2708f579475daebe7a3b5d23b183bb940b30744f52f4a5bcb65b4df03b79d82fcb38495784
languageName: node
linkType: hard
-"@babel/helper-validator-identifier@npm:^7.27.1":
+"@babel/compat-data@npm:^7.28.6":
+ version: 7.28.6
+ resolution: "@babel/compat-data@npm:7.28.6"
+ checksum: 10/dc17dfb55711a15f006e34c4610c49b7335fc11b23e192f9e5f625e8ea0f48805e61a57b6b4f5550879332782c93af0b5d6952825fffbb8d4e604b14d698249f
+ languageName: node
+ linkType: hard
+
+"@babel/core@npm:^7.24.4":
+ version: 7.28.6
+ resolution: "@babel/core@npm:7.28.6"
+ dependencies:
+ "@babel/code-frame": "npm:^7.28.6"
+ "@babel/generator": "npm:^7.28.6"
+ "@babel/helper-compilation-targets": "npm:^7.28.6"
+ "@babel/helper-module-transforms": "npm:^7.28.6"
+ "@babel/helpers": "npm:^7.28.6"
+ "@babel/parser": "npm:^7.28.6"
+ "@babel/template": "npm:^7.28.6"
+ "@babel/traverse": "npm:^7.28.6"
+ "@babel/types": "npm:^7.28.6"
+ "@jridgewell/remapping": "npm:^2.3.5"
+ convert-source-map: "npm:^2.0.0"
+ debug: "npm:^4.1.0"
+ gensync: "npm:^1.0.0-beta.2"
+ json5: "npm:^2.2.3"
+ semver: "npm:^6.3.1"
+ checksum: 10/1a150a69c547daf13c457be1fdaf1a0935d02b94605e777e049537ec2f279b4bb442ffbe1c2d8ff62c688878b1d5530a5784daf72ece950d1917fb78717f51d2
+ languageName: node
+ linkType: hard
+
+"@babel/generator@npm:^7.28.6":
+ version: 7.28.6
+ resolution: "@babel/generator@npm:7.28.6"
+ dependencies:
+ "@babel/parser": "npm:^7.28.6"
+ "@babel/types": "npm:^7.28.6"
+ "@jridgewell/gen-mapping": "npm:^0.3.12"
+ "@jridgewell/trace-mapping": "npm:^0.3.28"
+ jsesc: "npm:^3.0.2"
+ checksum: 10/ef2af927e8e0985d02ec4321a242da761a934e927539147c59fdd544034dc7f0e9846f6bf86209aca7a28aee2243ed0fad668adccd48f96d7d6866215173f9af
+ languageName: node
+ linkType: hard
+
+"@babel/helper-compilation-targets@npm:^7.28.6":
+ version: 7.28.6
+ resolution: "@babel/helper-compilation-targets@npm:7.28.6"
+ dependencies:
+ "@babel/compat-data": "npm:^7.28.6"
+ "@babel/helper-validator-option": "npm:^7.27.1"
+ browserslist: "npm:^4.24.0"
+ lru-cache: "npm:^5.1.1"
+ semver: "npm:^6.3.1"
+ checksum: 10/f512a5aeee4dfc6ea8807f521d085fdca8d66a7d068a6dd5e5b37da10a6081d648c0bbf66791a081e4e8e6556758da44831b331540965dfbf4f5275f3d0a8788
+ languageName: node
+ linkType: hard
+
+"@babel/helper-globals@npm:^7.28.0":
+ version: 7.28.0
+ resolution: "@babel/helper-globals@npm:7.28.0"
+ checksum: 10/91445f7edfde9b65dcac47f4f858f68dc1661bf73332060ab67ad7cc7b313421099a2bfc4bda30c3db3842cfa1e86fffbb0d7b2c5205a177d91b22c8d7d9cb47
+ languageName: node
+ linkType: hard
+
+"@babel/helper-module-imports@npm:^7.28.6":
+ version: 7.28.6
+ resolution: "@babel/helper-module-imports@npm:7.28.6"
+ dependencies:
+ "@babel/traverse": "npm:^7.28.6"
+ "@babel/types": "npm:^7.28.6"
+ checksum: 10/64b1380d74425566a3c288074d7ce4dea56d775d2d3325a3d4a6df1dca702916c1d268133b6f385de9ba5b822b3c6e2af5d3b11ac88e5453d5698d77264f0ec0
+ languageName: node
+ linkType: hard
+
+"@babel/helper-module-transforms@npm:^7.28.6":
+ version: 7.28.6
+ resolution: "@babel/helper-module-transforms@npm:7.28.6"
+ dependencies:
+ "@babel/helper-module-imports": "npm:^7.28.6"
+ "@babel/helper-validator-identifier": "npm:^7.28.5"
+ "@babel/traverse": "npm:^7.28.6"
+ peerDependencies:
+ "@babel/core": ^7.0.0
+ checksum: 10/2e421c7db743249819ee51e83054952709dc2e197c7d5d415b4bdddc718580195704bfcdf38544b3f674efc2eccd4d29a65d38678fc827ed3934a7690984cd8b
+ languageName: node
+ linkType: hard
+
+"@babel/helper-string-parser@npm:^7.27.1":
version: 7.27.1
- resolution: "@babel/helper-validator-identifier@npm:7.27.1"
- checksum: 10/75041904d21bdc0cd3b07a8ac90b11d64cd3c881e89cb936fa80edd734bf23c35e6bd1312611e8574c4eab1f3af0f63e8a5894f4699e9cfdf70c06fcf4252320
+ resolution: "@babel/helper-string-parser@npm:7.27.1"
+ checksum: 10/0ae29cc2005084abdae2966afdb86ed14d41c9c37db02c3693d5022fba9f5d59b011d039380b8e537c34daf117c549f52b452398f576e908fb9db3c7abbb3a00
+ languageName: node
+ linkType: hard
+
+"@babel/helper-validator-identifier@npm:^7.28.5":
+ version: 7.28.5
+ resolution: "@babel/helper-validator-identifier@npm:7.28.5"
+ checksum: 10/8e5d9b0133702cfacc7f368bf792f0f8ac0483794877c6dca5fcb73810ee138e27527701826fb58a40a004f3a5ec0a2f3c3dd5e326d262530b119918f3132ba7
+ languageName: node
+ linkType: hard
+
+"@babel/helper-validator-option@npm:^7.27.1":
+ version: 7.27.1
+ resolution: "@babel/helper-validator-option@npm:7.27.1"
+ checksum: 10/db73e6a308092531c629ee5de7f0d04390835b21a263be2644276cb27da2384b64676cab9f22cd8d8dbd854c92b1d7d56fc8517cf0070c35d1c14a8c828b0903
+ languageName: node
+ linkType: hard
+
+"@babel/helpers@npm:^7.28.6":
+ version: 7.28.6
+ resolution: "@babel/helpers@npm:7.28.6"
+ dependencies:
+ "@babel/template": "npm:^7.28.6"
+ "@babel/types": "npm:^7.28.6"
+ checksum: 10/213485cdfffc4deb81fc1bf2cefed61bc825049322590ef69690e223faa300a2a4d1e7d806c723bb1f1f538226b9b1b6c356ca94eb47fa7c6d9e9f251ee425e6
+ languageName: node
+ linkType: hard
+
+"@babel/parser@npm:^7.24.4, @babel/parser@npm:^7.28.6":
+ version: 7.28.6
+ resolution: "@babel/parser@npm:7.28.6"
+ dependencies:
+ "@babel/types": "npm:^7.28.6"
+ bin:
+ parser: ./bin/babel-parser.js
+ checksum: 10/483a6fb5f9876ec9cbbb98816f2c94f39ae4d1158d35f87e1c4bf19a1f56027c96a1a3962ff0c8c46e8322a6d9e1c80d26b7f9668410df13d5b5769d9447b010
languageName: node
linkType: hard
@@ -30,6 +151,42 @@ __metadata:
languageName: node
linkType: hard
+"@babel/template@npm:^7.28.6":
+ version: 7.28.6
+ resolution: "@babel/template@npm:7.28.6"
+ dependencies:
+ "@babel/code-frame": "npm:^7.28.6"
+ "@babel/parser": "npm:^7.28.6"
+ "@babel/types": "npm:^7.28.6"
+ checksum: 10/0ad6e32bf1e7e31bf6b52c20d15391f541ddd645cbd488a77fe537a15b280ee91acd3a777062c52e03eedbc2e1f41548791f6a3697c02476ec5daf49faa38533
+ languageName: node
+ linkType: hard
+
+"@babel/traverse@npm:^7.28.6":
+ version: 7.28.6
+ resolution: "@babel/traverse@npm:7.28.6"
+ dependencies:
+ "@babel/code-frame": "npm:^7.28.6"
+ "@babel/generator": "npm:^7.28.6"
+ "@babel/helper-globals": "npm:^7.28.0"
+ "@babel/parser": "npm:^7.28.6"
+ "@babel/template": "npm:^7.28.6"
+ "@babel/types": "npm:^7.28.6"
+ debug: "npm:^4.3.1"
+ checksum: 10/dd71efe9412433169b805d5c346a6473e539ce30f605752a0d40a0733feba37259bd72bb4ad2ab591e2eaff1ee56633de160c1e98efdc8f373cf33a4a8660275
+ languageName: node
+ linkType: hard
+
+"@babel/types@npm:^7.28.6":
+ version: 7.28.6
+ resolution: "@babel/types@npm:7.28.6"
+ dependencies:
+ "@babel/helper-string-parser": "npm:^7.27.1"
+ "@babel/helper-validator-identifier": "npm:^7.28.5"
+ checksum: 10/f9c6e52b451065aae5654686ecfc7de2d27dd0fbbc204ee2bd912a71daa359521a32f378981b1cf333ace6c8f86928814452cb9f388a7da59ad468038deb6b5f
+ languageName: node
+ linkType: hard
+
"@base-ui-components/react@npm:^1.0.0-beta.4":
version: 1.0.0-rc.0
resolution: "@base-ui-components/react@npm:1.0.0-rc.0"
@@ -179,14 +336,14 @@ __metadata:
linkType: hard
"@codemirror/view@npm:^6.0.0, @codemirror/view@npm:^6.17.0, @codemirror/view@npm:^6.23.0, @codemirror/view@npm:^6.27.0, @codemirror/view@npm:^6.34.4, @codemirror/view@npm:^6.35.0":
- version: 6.39.11
- resolution: "@codemirror/view@npm:6.39.11"
+ version: 6.39.12
+ resolution: "@codemirror/view@npm:6.39.12"
dependencies:
"@codemirror/state": "npm:^6.5.0"
crelt: "npm:^1.0.6"
style-mod: "npm:^4.1.0"
w3c-keyname: "npm:^2.2.4"
- checksum: 10/691825e783a1ac720411f59fface596fe1ba0fbf0344ed61af84937c7dd4337298b1a91fbff93cee076dc1b1c5c6f7bd73b8660fa417fb484f157946ecac9986
+ checksum: 10/acd476d485914095fe38009bb29c7a6ac4cf3de2d3921172e27fc40639eb5bce0534766fd6e093c94aa60f076f263ce90a670a8052e220244bf4065f95c064bb
languageName: node
linkType: hard
@@ -200,12 +357,12 @@ __metadata:
languageName: node
linkType: hard
-"@emnapi/runtime@npm:^1.4.3, @emnapi/runtime@npm:^1.4.4":
- version: 1.4.5
- resolution: "@emnapi/runtime@npm:1.4.5"
+"@emnapi/runtime@npm:^1.4.3, @emnapi/runtime@npm:^1.7.0":
+ version: 1.8.1
+ resolution: "@emnapi/runtime@npm:1.8.1"
dependencies:
tslib: "npm:^2.4.0"
- checksum: 10/1d6f406ff116d2363e60aef3ed49eb8d577387f4941abea508ba376900d8831609d5cce92a58076b1a9613f8e83c75c2e3fea71e4fbcdbe06019876144c2559b
+ checksum: 10/26725e202d4baefdc4a6ba770f703dfc80825a27c27a08c22bac1e1ce6f8f75c47b4fe9424d9b63239463c33ef20b650f08d710da18dfa1164a95e5acb865dba
languageName: node
linkType: hard
@@ -218,45 +375,91 @@ __metadata:
languageName: node
linkType: hard
-"@eslint-community/eslint-utils@npm:^4.2.0, @eslint-community/eslint-utils@npm:^4.7.0":
- version: 4.7.0
- resolution: "@eslint-community/eslint-utils@npm:4.7.0"
+"@eslint-community/eslint-utils@npm:^4.8.0, @eslint-community/eslint-utils@npm:^4.9.1":
+ version: 4.9.1
+ resolution: "@eslint-community/eslint-utils@npm:4.9.1"
dependencies:
eslint-visitor-keys: "npm:^3.4.3"
peerDependencies:
eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
- checksum: 10/43ed5d391526d9f5bbe452aef336389a473026fca92057cf97c576db11401ce9bcf8ef0bf72625bbaf6207ed8ba6bf0dcf4d7e809c24f08faa68a28533c491a7
+ checksum: 10/863b5467868551c9ae34d03eefe634633d08f623fc7b19d860f8f26eb6f303c1a5934253124163bee96181e45ed22bf27473dccc295937c3078493a4a8c9eddd
languageName: node
linkType: hard
-"@eslint-community/regexpp@npm:^4.10.0, @eslint-community/regexpp@npm:^4.6.1":
- version: 4.12.1
- resolution: "@eslint-community/regexpp@npm:4.12.1"
- checksum: 10/c08f1dd7dd18fbb60bdd0d85820656d1374dd898af9be7f82cb00451313402a22d5e30569c150315b4385907cdbca78c22389b2a72ab78883b3173be317620cc
+"@eslint-community/regexpp@npm:^4.12.1, @eslint-community/regexpp@npm:^4.12.2":
+ version: 4.12.2
+ resolution: "@eslint-community/regexpp@npm:4.12.2"
+ checksum: 10/049b280fddf71dd325514e0a520024969431dc3a8b02fa77476e6820e9122f28ab4c9168c11821f91a27982d2453bcd7a66193356ea84e84fb7c8d793be1ba0c
languageName: node
linkType: hard
-"@eslint/eslintrc@npm:^2.1.4":
- version: 2.1.4
- resolution: "@eslint/eslintrc@npm:2.1.4"
+"@eslint/config-array@npm:^0.21.1":
+ version: 0.21.1
+ resolution: "@eslint/config-array@npm:0.21.1"
+ dependencies:
+ "@eslint/object-schema": "npm:^2.1.7"
+ debug: "npm:^4.3.1"
+ minimatch: "npm:^3.1.2"
+ checksum: 10/6eaa0435972f735ce52d581f355a0b616e50a9b8a73304a7015398096e252798b9b3b968a67b524eefb0fdeacc57c4d960f0ec6432abe1c1e24be815b88c5d18
+ languageName: node
+ linkType: hard
+
+"@eslint/config-helpers@npm:^0.4.2":
+ version: 0.4.2
+ resolution: "@eslint/config-helpers@npm:0.4.2"
+ dependencies:
+ "@eslint/core": "npm:^0.17.0"
+ checksum: 10/3f2b4712d8e391c36ec98bc200f7dea423dfe518e42956569666831b89ede83b33120c761dfd3ab6347d8e8894a6d4af47254a18d464a71c6046fd88065f6daf
+ languageName: node
+ linkType: hard
+
+"@eslint/core@npm:^0.17.0":
+ version: 0.17.0
+ resolution: "@eslint/core@npm:0.17.0"
+ dependencies:
+ "@types/json-schema": "npm:^7.0.15"
+ checksum: 10/f9a428cc651ec15fb60d7d60c2a7bacad4666e12508320eafa98258e976fafaa77d7be7be91519e75f801f15f830105420b14a458d4aab121a2b0a59bc43517b
+ languageName: node
+ linkType: hard
+
+"@eslint/eslintrc@npm:^3.3.1":
+ version: 3.3.3
+ resolution: "@eslint/eslintrc@npm:3.3.3"
dependencies:
ajv: "npm:^6.12.4"
debug: "npm:^4.3.2"
- espree: "npm:^9.6.0"
- globals: "npm:^13.19.0"
+ espree: "npm:^10.0.1"
+ globals: "npm:^14.0.0"
ignore: "npm:^5.2.0"
import-fresh: "npm:^3.2.1"
- js-yaml: "npm:^4.1.0"
+ js-yaml: "npm:^4.1.1"
minimatch: "npm:^3.1.2"
strip-json-comments: "npm:^3.1.1"
- checksum: 10/7a3b14f4b40fc1a22624c3f84d9f467a3d9ea1ca6e9a372116cb92507e485260359465b58e25bcb6c9981b155416b98c9973ad9b796053fd7b3f776a6946bce8
+ checksum: 10/b586a364ff15ce1b68993aefc051ca330b1fece15fb5baf4a708d00113f9a14895cffd84a5f24c5a97bd4b4321130ab2314f90aa462a250f6b859c2da2cba1f3
languageName: node
linkType: hard
-"@eslint/js@npm:8.57.1":
- version: 8.57.1
- resolution: "@eslint/js@npm:8.57.1"
- checksum: 10/7562b21be10c2adbfa4aa5bb2eccec2cb9ac649a3569560742202c8d1cb6c931ce634937a2f0f551e078403a1c1285d6c2c0aa345dafc986149665cd69fe8b59
+"@eslint/js@npm:9.39.2":
+ version: 9.39.2
+ resolution: "@eslint/js@npm:9.39.2"
+ checksum: 10/6b7f676746f3111b5d1b23715319212ab9297868a0fa9980d483c3da8965d5841673aada2d5653e85a3f7156edee0893a7ae7035211b4efdcb2848154bb947f2
+ languageName: node
+ linkType: hard
+
+"@eslint/object-schema@npm:^2.1.7":
+ version: 2.1.7
+ resolution: "@eslint/object-schema@npm:2.1.7"
+ checksum: 10/946ef5d6235b4d1c0907c6c6e6429c8895f535380c562b7705c131f63f2e961b06e8785043c86a293da48e0a60c6286d98ba395b8b32ea55561fe6e4417cb7e4
+ languageName: node
+ linkType: hard
+
+"@eslint/plugin-kit@npm:^0.4.1":
+ version: 0.4.1
+ resolution: "@eslint/plugin-kit@npm:0.4.1"
+ dependencies:
+ "@eslint/core": "npm:^0.17.0"
+ levn: "npm:^0.4.1"
+ checksum: 10/c5947d0ffeddca77d996ac1b886a66060c1a15ed1d5e425d0c7e7d7044a4bd3813fc968892d03950a7831c9b89368a2f7b281e45dd3c74a048962b74bf3a1cb4
languageName: node
linkType: hard
@@ -298,14 +501,20 @@ __metadata:
languageName: node
linkType: hard
-"@humanwhocodes/config-array@npm:^0.13.0":
- version: 0.13.0
- resolution: "@humanwhocodes/config-array@npm:0.13.0"
+"@humanfs/core@npm:^0.19.1":
+ version: 0.19.1
+ resolution: "@humanfs/core@npm:0.19.1"
+ checksum: 10/270d936be483ab5921702623bc74ce394bf12abbf57d9145a69e8a0d1c87eb1c768bd2d93af16c5705041e257e6d9cc7529311f63a1349f3678abc776fc28523
+ languageName: node
+ linkType: hard
+
+"@humanfs/node@npm:^0.16.6":
+ version: 0.16.7
+ resolution: "@humanfs/node@npm:0.16.7"
dependencies:
- "@humanwhocodes/object-schema": "npm:^2.0.3"
- debug: "npm:^4.3.1"
- minimatch: "npm:^3.0.5"
- checksum: 10/524df31e61a85392a2433bf5d03164e03da26c03d009f27852e7dcfdafbc4a23f17f021dacf88e0a7a9fe04ca032017945d19b57a16e2676d9114c22a53a9d11
+ "@humanfs/core": "npm:^0.19.1"
+ "@humanwhocodes/retry": "npm:^0.4.0"
+ checksum: 10/b3633d3dce898592cac515ba5e6693c78e6be92863541d3eaf2c009b10f52b2fa62ff6e6e06f240f2447ddbe7b5f1890bc34e9308470675c876eee207553a08d
languageName: node
linkType: hard
@@ -316,18 +525,25 @@ __metadata:
languageName: node
linkType: hard
-"@humanwhocodes/object-schema@npm:^2.0.3":
- version: 2.0.3
- resolution: "@humanwhocodes/object-schema@npm:2.0.3"
- checksum: 10/05bb99ed06c16408a45a833f03a732f59bf6184795d4efadd33238ff8699190a8c871ad1121241bb6501589a9598dc83bf25b99dcbcf41e155cdf36e35e937a3
+"@humanwhocodes/retry@npm:^0.4.0, @humanwhocodes/retry@npm:^0.4.2":
+ version: 0.4.3
+ resolution: "@humanwhocodes/retry@npm:0.4.3"
+ checksum: 10/0b32cfd362bea7a30fbf80bb38dcaf77fee9c2cae477ee80b460871d03590110ac9c77d654f04ec5beaf71b6f6a89851bdf6c1e34ccdf2f686bd86fcd97d9e61
languageName: node
linkType: hard
-"@img/sharp-darwin-arm64@npm:0.34.3":
- version: 0.34.3
- resolution: "@img/sharp-darwin-arm64@npm:0.34.3"
+"@img/colour@npm:^1.0.0":
+ version: 1.0.0
+ resolution: "@img/colour@npm:1.0.0"
+ checksum: 10/bd248d7c4b8ba99a72b22a005a63f1d3309ee8343a74b6d0d1314bae300a3096919991a09e9a9243cf6ca50e393b4c5a7e065488ed616c3b58d052473240b812
+ languageName: node
+ linkType: hard
+
+"@img/sharp-darwin-arm64@npm:0.34.5":
+ version: 0.34.5
+ resolution: "@img/sharp-darwin-arm64@npm:0.34.5"
dependencies:
- "@img/sharp-libvips-darwin-arm64": "npm:1.2.0"
+ "@img/sharp-libvips-darwin-arm64": "npm:1.2.4"
dependenciesMeta:
"@img/sharp-libvips-darwin-arm64":
optional: true
@@ -335,11 +551,11 @@ __metadata:
languageName: node
linkType: hard
-"@img/sharp-darwin-x64@npm:0.34.3":
- version: 0.34.3
- resolution: "@img/sharp-darwin-x64@npm:0.34.3"
+"@img/sharp-darwin-x64@npm:0.34.5":
+ version: 0.34.5
+ resolution: "@img/sharp-darwin-x64@npm:0.34.5"
dependencies:
- "@img/sharp-libvips-darwin-x64": "npm:1.2.0"
+ "@img/sharp-libvips-darwin-x64": "npm:1.2.4"
dependenciesMeta:
"@img/sharp-libvips-darwin-x64":
optional: true
@@ -347,74 +563,81 @@ __metadata:
languageName: node
linkType: hard
-"@img/sharp-libvips-darwin-arm64@npm:1.2.0":
- version: 1.2.0
- resolution: "@img/sharp-libvips-darwin-arm64@npm:1.2.0"
+"@img/sharp-libvips-darwin-arm64@npm:1.2.4":
+ version: 1.2.4
+ resolution: "@img/sharp-libvips-darwin-arm64@npm:1.2.4"
conditions: os=darwin & cpu=arm64
languageName: node
linkType: hard
-"@img/sharp-libvips-darwin-x64@npm:1.2.0":
- version: 1.2.0
- resolution: "@img/sharp-libvips-darwin-x64@npm:1.2.0"
+"@img/sharp-libvips-darwin-x64@npm:1.2.4":
+ version: 1.2.4
+ resolution: "@img/sharp-libvips-darwin-x64@npm:1.2.4"
conditions: os=darwin & cpu=x64
languageName: node
linkType: hard
-"@img/sharp-libvips-linux-arm64@npm:1.2.0":
- version: 1.2.0
- resolution: "@img/sharp-libvips-linux-arm64@npm:1.2.0"
+"@img/sharp-libvips-linux-arm64@npm:1.2.4":
+ version: 1.2.4
+ resolution: "@img/sharp-libvips-linux-arm64@npm:1.2.4"
conditions: os=linux & cpu=arm64 & libc=glibc
languageName: node
linkType: hard
-"@img/sharp-libvips-linux-arm@npm:1.2.0":
- version: 1.2.0
- resolution: "@img/sharp-libvips-linux-arm@npm:1.2.0"
+"@img/sharp-libvips-linux-arm@npm:1.2.4":
+ version: 1.2.4
+ resolution: "@img/sharp-libvips-linux-arm@npm:1.2.4"
conditions: os=linux & cpu=arm & libc=glibc
languageName: node
linkType: hard
-"@img/sharp-libvips-linux-ppc64@npm:1.2.0":
- version: 1.2.0
- resolution: "@img/sharp-libvips-linux-ppc64@npm:1.2.0"
+"@img/sharp-libvips-linux-ppc64@npm:1.2.4":
+ version: 1.2.4
+ resolution: "@img/sharp-libvips-linux-ppc64@npm:1.2.4"
conditions: os=linux & cpu=ppc64 & libc=glibc
languageName: node
linkType: hard
-"@img/sharp-libvips-linux-s390x@npm:1.2.0":
- version: 1.2.0
- resolution: "@img/sharp-libvips-linux-s390x@npm:1.2.0"
+"@img/sharp-libvips-linux-riscv64@npm:1.2.4":
+ version: 1.2.4
+ resolution: "@img/sharp-libvips-linux-riscv64@npm:1.2.4"
+ conditions: os=linux & cpu=riscv64 & libc=glibc
+ languageName: node
+ linkType: hard
+
+"@img/sharp-libvips-linux-s390x@npm:1.2.4":
+ version: 1.2.4
+ resolution: "@img/sharp-libvips-linux-s390x@npm:1.2.4"
conditions: os=linux & cpu=s390x & libc=glibc
languageName: node
linkType: hard
-"@img/sharp-libvips-linux-x64@npm:1.2.0":
- version: 1.2.0
- resolution: "@img/sharp-libvips-linux-x64@npm:1.2.0"
+"@img/sharp-libvips-linux-x64@npm:1.2.4":
+ version: 1.2.4
+ resolution: "@img/sharp-libvips-linux-x64@npm:1.2.4"
conditions: os=linux & cpu=x64 & libc=glibc
languageName: node
linkType: hard
-"@img/sharp-libvips-linuxmusl-arm64@npm:1.2.0":
- version: 1.2.0
- resolution: "@img/sharp-libvips-linuxmusl-arm64@npm:1.2.0"
+"@img/sharp-libvips-linuxmusl-arm64@npm:1.2.4":
+ version: 1.2.4
+ resolution: "@img/sharp-libvips-linuxmusl-arm64@npm:1.2.4"
conditions: os=linux & cpu=arm64 & libc=musl
languageName: node
linkType: hard
-"@img/sharp-libvips-linuxmusl-x64@npm:1.2.0":
- version: 1.2.0
- resolution: "@img/sharp-libvips-linuxmusl-x64@npm:1.2.0"
+"@img/sharp-libvips-linuxmusl-x64@npm:1.2.4":
+ version: 1.2.4
+ resolution: "@img/sharp-libvips-linuxmusl-x64@npm:1.2.4"
conditions: os=linux & cpu=x64 & libc=musl
languageName: node
linkType: hard
-"@img/sharp-linux-arm64@npm:0.34.3":
- version: 0.34.3
- resolution: "@img/sharp-linux-arm64@npm:0.34.3"
+"@img/sharp-linux-arm64@npm:0.34.5":
+ version: 0.34.5
+ resolution: "@img/sharp-linux-arm64@npm:0.34.5"
dependencies:
- "@img/sharp-libvips-linux-arm64": "npm:1.2.0"
+ "@img/sharp-libvips-linux-arm64": "npm:1.2.4"
dependenciesMeta:
"@img/sharp-libvips-linux-arm64":
optional: true
@@ -422,11 +645,11 @@ __metadata:
languageName: node
linkType: hard
-"@img/sharp-linux-arm@npm:0.34.3":
- version: 0.34.3
- resolution: "@img/sharp-linux-arm@npm:0.34.3"
+"@img/sharp-linux-arm@npm:0.34.5":
+ version: 0.34.5
+ resolution: "@img/sharp-linux-arm@npm:0.34.5"
dependencies:
- "@img/sharp-libvips-linux-arm": "npm:1.2.0"
+ "@img/sharp-libvips-linux-arm": "npm:1.2.4"
dependenciesMeta:
"@img/sharp-libvips-linux-arm":
optional: true
@@ -434,11 +657,11 @@ __metadata:
languageName: node
linkType: hard
-"@img/sharp-linux-ppc64@npm:0.34.3":
- version: 0.34.3
- resolution: "@img/sharp-linux-ppc64@npm:0.34.3"
+"@img/sharp-linux-ppc64@npm:0.34.5":
+ version: 0.34.5
+ resolution: "@img/sharp-linux-ppc64@npm:0.34.5"
dependencies:
- "@img/sharp-libvips-linux-ppc64": "npm:1.2.0"
+ "@img/sharp-libvips-linux-ppc64": "npm:1.2.4"
dependenciesMeta:
"@img/sharp-libvips-linux-ppc64":
optional: true
@@ -446,11 +669,23 @@ __metadata:
languageName: node
linkType: hard
-"@img/sharp-linux-s390x@npm:0.34.3":
- version: 0.34.3
- resolution: "@img/sharp-linux-s390x@npm:0.34.3"
+"@img/sharp-linux-riscv64@npm:0.34.5":
+ version: 0.34.5
+ resolution: "@img/sharp-linux-riscv64@npm:0.34.5"
dependencies:
- "@img/sharp-libvips-linux-s390x": "npm:1.2.0"
+ "@img/sharp-libvips-linux-riscv64": "npm:1.2.4"
+ dependenciesMeta:
+ "@img/sharp-libvips-linux-riscv64":
+ optional: true
+ conditions: os=linux & cpu=riscv64 & libc=glibc
+ languageName: node
+ linkType: hard
+
+"@img/sharp-linux-s390x@npm:0.34.5":
+ version: 0.34.5
+ resolution: "@img/sharp-linux-s390x@npm:0.34.5"
+ dependencies:
+ "@img/sharp-libvips-linux-s390x": "npm:1.2.4"
dependenciesMeta:
"@img/sharp-libvips-linux-s390x":
optional: true
@@ -458,11 +693,11 @@ __metadata:
languageName: node
linkType: hard
-"@img/sharp-linux-x64@npm:0.34.3":
- version: 0.34.3
- resolution: "@img/sharp-linux-x64@npm:0.34.3"
+"@img/sharp-linux-x64@npm:0.34.5":
+ version: 0.34.5
+ resolution: "@img/sharp-linux-x64@npm:0.34.5"
dependencies:
- "@img/sharp-libvips-linux-x64": "npm:1.2.0"
+ "@img/sharp-libvips-linux-x64": "npm:1.2.4"
dependenciesMeta:
"@img/sharp-libvips-linux-x64":
optional: true
@@ -470,11 +705,11 @@ __metadata:
languageName: node
linkType: hard
-"@img/sharp-linuxmusl-arm64@npm:0.34.3":
- version: 0.34.3
- resolution: "@img/sharp-linuxmusl-arm64@npm:0.34.3"
+"@img/sharp-linuxmusl-arm64@npm:0.34.5":
+ version: 0.34.5
+ resolution: "@img/sharp-linuxmusl-arm64@npm:0.34.5"
dependencies:
- "@img/sharp-libvips-linuxmusl-arm64": "npm:1.2.0"
+ "@img/sharp-libvips-linuxmusl-arm64": "npm:1.2.4"
dependenciesMeta:
"@img/sharp-libvips-linuxmusl-arm64":
optional: true
@@ -482,11 +717,11 @@ __metadata:
languageName: node
linkType: hard
-"@img/sharp-linuxmusl-x64@npm:0.34.3":
- version: 0.34.3
- resolution: "@img/sharp-linuxmusl-x64@npm:0.34.3"
+"@img/sharp-linuxmusl-x64@npm:0.34.5":
+ version: 0.34.5
+ resolution: "@img/sharp-linuxmusl-x64@npm:0.34.5"
dependencies:
- "@img/sharp-libvips-linuxmusl-x64": "npm:1.2.0"
+ "@img/sharp-libvips-linuxmusl-x64": "npm:1.2.4"
dependenciesMeta:
"@img/sharp-libvips-linuxmusl-x64":
optional: true
@@ -494,32 +729,32 @@ __metadata:
languageName: node
linkType: hard
-"@img/sharp-wasm32@npm:0.34.3":
- version: 0.34.3
- resolution: "@img/sharp-wasm32@npm:0.34.3"
+"@img/sharp-wasm32@npm:0.34.5":
+ version: 0.34.5
+ resolution: "@img/sharp-wasm32@npm:0.34.5"
dependencies:
- "@emnapi/runtime": "npm:^1.4.4"
+ "@emnapi/runtime": "npm:^1.7.0"
conditions: cpu=wasm32
languageName: node
linkType: hard
-"@img/sharp-win32-arm64@npm:0.34.3":
- version: 0.34.3
- resolution: "@img/sharp-win32-arm64@npm:0.34.3"
+"@img/sharp-win32-arm64@npm:0.34.5":
+ version: 0.34.5
+ resolution: "@img/sharp-win32-arm64@npm:0.34.5"
conditions: os=win32 & cpu=arm64
languageName: node
linkType: hard
-"@img/sharp-win32-ia32@npm:0.34.3":
- version: 0.34.3
- resolution: "@img/sharp-win32-ia32@npm:0.34.3"
+"@img/sharp-win32-ia32@npm:0.34.5":
+ version: 0.34.5
+ resolution: "@img/sharp-win32-ia32@npm:0.34.5"
conditions: os=win32 & cpu=ia32
languageName: node
linkType: hard
-"@img/sharp-win32-x64@npm:0.34.3":
- version: 0.34.3
- resolution: "@img/sharp-win32-x64@npm:0.34.3"
+"@img/sharp-win32-x64@npm:0.34.5":
+ version: 0.34.5
+ resolution: "@img/sharp-win32-x64@npm:0.34.5"
conditions: os=win32 & cpu=x64
languageName: node
linkType: hard
@@ -547,6 +782,50 @@ __metadata:
languageName: node
linkType: hard
+"@jridgewell/gen-mapping@npm:^0.3.12, @jridgewell/gen-mapping@npm:^0.3.5":
+ version: 0.3.13
+ resolution: "@jridgewell/gen-mapping@npm:0.3.13"
+ dependencies:
+ "@jridgewell/sourcemap-codec": "npm:^1.5.0"
+ "@jridgewell/trace-mapping": "npm:^0.3.24"
+ checksum: 10/902f8261dcf450b4af7b93f9656918e02eec80a2169e155000cb2059f90113dd98f3ccf6efc6072cee1dd84cac48cade51da236972d942babc40e4c23da4d62a
+ languageName: node
+ linkType: hard
+
+"@jridgewell/remapping@npm:^2.3.5":
+ version: 2.3.5
+ resolution: "@jridgewell/remapping@npm:2.3.5"
+ dependencies:
+ "@jridgewell/gen-mapping": "npm:^0.3.5"
+ "@jridgewell/trace-mapping": "npm:^0.3.24"
+ checksum: 10/c2bb01856e65b506d439455f28aceacf130d6c023d1d4e3b48705e88def3571753e1a887daa04b078b562316c92d26ce36408a60534bceca3f830aec88a339ad
+ languageName: node
+ linkType: hard
+
+"@jridgewell/resolve-uri@npm:^3.1.0":
+ version: 3.1.2
+ resolution: "@jridgewell/resolve-uri@npm:3.1.2"
+ checksum: 10/97106439d750a409c22c8bff822d648f6a71f3aa9bc8e5129efdc36343cd3096ddc4eeb1c62d2fe48e9bdd4db37b05d4646a17114ecebd3bbcacfa2de51c3c1d
+ languageName: node
+ linkType: hard
+
+"@jridgewell/sourcemap-codec@npm:^1.4.14, @jridgewell/sourcemap-codec@npm:^1.5.0":
+ version: 1.5.5
+ resolution: "@jridgewell/sourcemap-codec@npm:1.5.5"
+ checksum: 10/5d9d207b462c11e322d71911e55e21a4e2772f71ffe8d6f1221b8eb5ae6774458c1d242f897fb0814e8714ca9a6b498abfa74dfe4f434493342902b1a48b33a5
+ languageName: node
+ linkType: hard
+
+"@jridgewell/trace-mapping@npm:^0.3.24, @jridgewell/trace-mapping@npm:^0.3.28":
+ version: 0.3.31
+ resolution: "@jridgewell/trace-mapping@npm:0.3.31"
+ dependencies:
+ "@jridgewell/resolve-uri": "npm:^3.1.0"
+ "@jridgewell/sourcemap-codec": "npm:^1.4.14"
+ checksum: 10/da0283270e691bdb5543806077548532791608e52386cfbbf3b9e8fb00457859d1bd01d512851161c886eb3a2f3ce6fd9bcf25db8edf3bddedd275bd4a88d606
+ languageName: node
+ linkType: hard
+
"@lezer/common@npm:^1.0.0, @lezer/common@npm:^1.0.2, @lezer/common@npm:^1.1.0, @lezer/common@npm:^1.2.0, @lezer/common@npm:^1.3.0":
version: 1.3.0
resolution: "@lezer/common@npm:1.3.0"
@@ -672,25 +951,25 @@ __metadata:
languageName: node
linkType: hard
-"@next/env@npm:15.5.9":
- version: 15.5.9
- resolution: "@next/env@npm:15.5.9"
- checksum: 10/962329701343c2617c85ae99ef35adfd9e8f7b58d9c0316f2f0857f82875a91ef3151ef0743c50964b0066aa3d1214c5193cf229f7757d7c9329f7fb95605a4a
+"@next/env@npm:16.1.6":
+ version: 16.1.6
+ resolution: "@next/env@npm:16.1.6"
+ checksum: 10/52f17ead23b3dc42e613be469b3a179c9c199f43ab42dfcba1f1bc25adba3d7818b4159ab1c797ddfa64a081c21cc1f753a997c14e164d8a88873e0774395d37
languageName: node
linkType: hard
-"@next/eslint-plugin-next@npm:15.5.9":
- version: 15.5.9
- resolution: "@next/eslint-plugin-next@npm:15.5.9"
+"@next/eslint-plugin-next@npm:16.1.6":
+ version: 16.1.6
+ resolution: "@next/eslint-plugin-next@npm:16.1.6"
dependencies:
fast-glob: "npm:3.3.1"
- checksum: 10/63ab34b65e4ffc707fefba8a5fc3b46b37bac6ed2a2d2a682bec72448998ee0d6390c3007dac9714ea1020380ba4cf2328d11496ec0adf55df141eb8fe267133
+ checksum: 10/74b427e005cd5f0ecf7b557fcbca1780f32b94c6e0fa3a774c20b79391ce660e6b52e2e70022c374f1473000de187188e58c812d53e4db440c3d8ee0848477be
languageName: node
linkType: hard
-"@next/mdx@npm:15.5.9":
- version: 15.5.9
- resolution: "@next/mdx@npm:15.5.9"
+"@next/mdx@npm:16.1.6":
+ version: 16.1.6
+ resolution: "@next/mdx@npm:16.1.6"
dependencies:
source-map: "npm:^0.7.0"
peerDependencies:
@@ -701,62 +980,62 @@ __metadata:
optional: true
"@mdx-js/react":
optional: true
- checksum: 10/751a89e58485f95f7c0265aade76970934e2a32f77ae31da1be225c4aaabfbc6c81d072bf44c97283ea9c3adef20d56c7b344ffef480443ccc0954bcee2134b2
+ checksum: 10/830bc4c38f6c38c1420348e96a6f172c88bf32a2dc670f58593b3863bf8f0acd31c0880a231a59257c9f7acaf2a70a9e90e7fae6dd1a3dcf2e0ab3f643cdb1f5
languageName: node
linkType: hard
-"@next/swc-darwin-arm64@npm:15.5.7":
- version: 15.5.7
- resolution: "@next/swc-darwin-arm64@npm:15.5.7"
+"@next/swc-darwin-arm64@npm:16.1.6":
+ version: 16.1.6
+ resolution: "@next/swc-darwin-arm64@npm:16.1.6"
conditions: os=darwin & cpu=arm64
languageName: node
linkType: hard
-"@next/swc-darwin-x64@npm:15.5.7":
- version: 15.5.7
- resolution: "@next/swc-darwin-x64@npm:15.5.7"
+"@next/swc-darwin-x64@npm:16.1.6":
+ version: 16.1.6
+ resolution: "@next/swc-darwin-x64@npm:16.1.6"
conditions: os=darwin & cpu=x64
languageName: node
linkType: hard
-"@next/swc-linux-arm64-gnu@npm:15.5.7":
- version: 15.5.7
- resolution: "@next/swc-linux-arm64-gnu@npm:15.5.7"
+"@next/swc-linux-arm64-gnu@npm:16.1.6":
+ version: 16.1.6
+ resolution: "@next/swc-linux-arm64-gnu@npm:16.1.6"
conditions: os=linux & cpu=arm64 & libc=glibc
languageName: node
linkType: hard
-"@next/swc-linux-arm64-musl@npm:15.5.7":
- version: 15.5.7
- resolution: "@next/swc-linux-arm64-musl@npm:15.5.7"
+"@next/swc-linux-arm64-musl@npm:16.1.6":
+ version: 16.1.6
+ resolution: "@next/swc-linux-arm64-musl@npm:16.1.6"
conditions: os=linux & cpu=arm64 & libc=musl
languageName: node
linkType: hard
-"@next/swc-linux-x64-gnu@npm:15.5.7":
- version: 15.5.7
- resolution: "@next/swc-linux-x64-gnu@npm:15.5.7"
+"@next/swc-linux-x64-gnu@npm:16.1.6":
+ version: 16.1.6
+ resolution: "@next/swc-linux-x64-gnu@npm:16.1.6"
conditions: os=linux & cpu=x64 & libc=glibc
languageName: node
linkType: hard
-"@next/swc-linux-x64-musl@npm:15.5.7":
- version: 15.5.7
- resolution: "@next/swc-linux-x64-musl@npm:15.5.7"
+"@next/swc-linux-x64-musl@npm:16.1.6":
+ version: 16.1.6
+ resolution: "@next/swc-linux-x64-musl@npm:16.1.6"
conditions: os=linux & cpu=x64 & libc=musl
languageName: node
linkType: hard
-"@next/swc-win32-arm64-msvc@npm:15.5.7":
- version: 15.5.7
- resolution: "@next/swc-win32-arm64-msvc@npm:15.5.7"
+"@next/swc-win32-arm64-msvc@npm:16.1.6":
+ version: 16.1.6
+ resolution: "@next/swc-win32-arm64-msvc@npm:16.1.6"
conditions: os=win32 & cpu=arm64
languageName: node
linkType: hard
-"@next/swc-win32-x64-msvc@npm:15.5.7":
- version: 15.5.7
- resolution: "@next/swc-win32-x64-msvc@npm:15.5.7"
+"@next/swc-win32-x64-msvc@npm:16.1.6":
+ version: 16.1.6
+ resolution: "@next/swc-win32-x64-msvc@npm:16.1.6"
conditions: os=win32 & cpu=x64
languageName: node
linkType: hard
@@ -778,7 +1057,7 @@ __metadata:
languageName: node
linkType: hard
-"@nodelib/fs.walk@npm:^1.2.3, @nodelib/fs.walk@npm:^1.2.8":
+"@nodelib/fs.walk@npm:^1.2.3":
version: 1.2.8
resolution: "@nodelib/fs.walk@npm:1.2.8"
dependencies:
@@ -964,81 +1243,74 @@ __metadata:
languageName: node
linkType: hard
-"@rushstack/eslint-patch@npm:^1.10.3":
- version: 1.12.0
- resolution: "@rushstack/eslint-patch@npm:1.12.0"
- checksum: 10/d03e67425e6bd6dd6521dd2e1c04a676ae439ea1ddb528775f8f9d8d87d52d535120650d06d6b3782e209e3b799ff901fa36abb4fe636f90a5c631d240b1237d
- languageName: node
- linkType: hard
-
-"@shikijs/core@npm:3.19.0":
- version: 3.19.0
- resolution: "@shikijs/core@npm:3.19.0"
+"@shikijs/core@npm:3.22.0":
+ version: 3.22.0
+ resolution: "@shikijs/core@npm:3.22.0"
dependencies:
- "@shikijs/types": "npm:3.19.0"
+ "@shikijs/types": "npm:3.22.0"
"@shikijs/vscode-textmate": "npm:^10.0.2"
"@types/hast": "npm:^3.0.4"
hast-util-to-html: "npm:^9.0.5"
- checksum: 10/78fc5f849636459e267cd77f3e60b492c8260a8be9449d3b1b3a463eab22153354ca6c961e021f936cb8251695298d85913b2cb3b31aafa343fdddadebbfed1c
+ checksum: 10/fc716bb042accd5061d0de142ee28c20b6e6d489f6516b901ee4db9ed5d802f59c9033106d8140c111a909b761d79523fced92c1367a6f97c4f0e0dad0f29bc9
languageName: node
linkType: hard
-"@shikijs/engine-javascript@npm:3.19.0":
- version: 3.19.0
- resolution: "@shikijs/engine-javascript@npm:3.19.0"
+"@shikijs/engine-javascript@npm:3.22.0":
+ version: 3.22.0
+ resolution: "@shikijs/engine-javascript@npm:3.22.0"
dependencies:
- "@shikijs/types": "npm:3.19.0"
+ "@shikijs/types": "npm:3.22.0"
"@shikijs/vscode-textmate": "npm:^10.0.2"
oniguruma-to-es: "npm:^4.3.4"
- checksum: 10/7b493cfce620976efd1d7cb3df946370897cac0c16fb71b089be9e197fde43ee60a3d1317db45820c61bcae47ae8e4ac4df91555454e733cd239dc064ef6cc03
+ checksum: 10/2fcadb897d0220ca70cc63d697e474ce13addc462a387249a852c882a58b9a1e7d6f9b42f694d324403c4acde8486dd54823228602f5ff4270e4298a43c10f51
languageName: node
linkType: hard
-"@shikijs/engine-oniguruma@npm:3.19.0":
- version: 3.19.0
- resolution: "@shikijs/engine-oniguruma@npm:3.19.0"
+"@shikijs/engine-oniguruma@npm:3.22.0":
+ version: 3.22.0
+ resolution: "@shikijs/engine-oniguruma@npm:3.22.0"
dependencies:
- "@shikijs/types": "npm:3.19.0"
+ "@shikijs/types": "npm:3.22.0"
"@shikijs/vscode-textmate": "npm:^10.0.2"
- checksum: 10/6bf6e35aa61f62b1a532071d11e1937a67fb68469c1886ab3c06c6d384b8feee589973ee101cbebefad9ff9405040ee640ced429e83b9dddd906f07d994a1939
+ checksum: 10/611654868bc2538ab4d7c3770ad2829a623fcf354ce5c09ba8fde29ecc106b5e4a6270de7d970da4524c1ad00d4f7ed3e5afef2be2ff0b94f8bb8541d0775320
languageName: node
linkType: hard
-"@shikijs/langs@npm:3.19.0":
- version: 3.19.0
- resolution: "@shikijs/langs@npm:3.19.0"
+"@shikijs/langs@npm:3.22.0":
+ version: 3.22.0
+ resolution: "@shikijs/langs@npm:3.22.0"
dependencies:
- "@shikijs/types": "npm:3.19.0"
- checksum: 10/679d61b89132c858bd1e96fc7a46fbae56dc8e9be176586cabb57cd9504bb7ea45bbd22879f63d822957060fe322302ad9824b9a6f18415a86b54e22347c0c2d
+ "@shikijs/types": "npm:3.22.0"
+ checksum: 10/091cdaeda7763e1170a6a289315a8371f07af541ad4d8fe17a247b45c4a3be82dc9d321a1e4589cdc8464a694692a5c8bfdd1909372b6ec52b0caa53d69e4a1f
languageName: node
linkType: hard
-"@shikijs/themes@npm:3.19.0":
- version: 3.19.0
- resolution: "@shikijs/themes@npm:3.19.0"
+"@shikijs/themes@npm:3.22.0":
+ version: 3.22.0
+ resolution: "@shikijs/themes@npm:3.22.0"
dependencies:
- "@shikijs/types": "npm:3.19.0"
- checksum: 10/7eb53912fe8b877e6fc498c937188ae55b960c681f65cd4201f2c3a919b0f5951f9ce090819ded5dc4eb0aabe7a811ba705a19b5c003e0dbfebad08d1ba535d5
+ "@shikijs/types": "npm:3.22.0"
+ checksum: 10/ba60849b4056ea4e243e2c2047382312e504d10f8e1ee09d73041d9de54bce30e28c79168406d8a8e3b7a7ab19d0f9c610e3469679f96145aa975460ac7e1407
languageName: node
linkType: hard
"@shikijs/transformers@npm:^3.13.0":
- version: 3.19.0
- resolution: "@shikijs/transformers@npm:3.19.0"
+ version: 3.22.0
+ resolution: "@shikijs/transformers@npm:3.22.0"
dependencies:
- "@shikijs/core": "npm:3.19.0"
- "@shikijs/types": "npm:3.19.0"
- checksum: 10/813c2e4053007a8516ebae8c06f4fa2e7b42c6570ea4cae88ecd8bb749695be023ca3b271f8152559dbb74ed36404a77f76c14f63632dc44f225d963a446b1d1
+ "@shikijs/core": "npm:3.22.0"
+ "@shikijs/types": "npm:3.22.0"
+ checksum: 10/782569a5a8a09dae18402162ad10bba36d8c4e4b6f01c613ccc8151071b06872c9bc32f06bb31147bb58b545b034cd5340d21b1c80c2862cef3983fac6eaef3c
languageName: node
linkType: hard
-"@shikijs/types@npm:3.19.0":
- version: 3.19.0
- resolution: "@shikijs/types@npm:3.19.0"
+"@shikijs/types@npm:3.22.0":
+ version: 3.22.0
+ resolution: "@shikijs/types@npm:3.22.0"
dependencies:
"@shikijs/vscode-textmate": "npm:^10.0.2"
"@types/hast": "npm:^3.0.4"
- checksum: 10/3f0e79f2ecbb0754ad08626e14313701a15dd1dbda1a1295d1e35a172b4555339a135118fabcc3ebdbf5017ceb64dbe3e5096268c3034c0c91ba3b0848e4b162
+ checksum: 10/c5abd9050d4645bbf9f6c9af1a3df31d24d823d21c232e47b171cc68bd4865adab20533503a5c97ffb9e87eae2f88e7a3835d64a0a8aa11a69dbfd45aabd58bf
languageName: node
linkType: hard
@@ -1085,7 +1357,7 @@ __metadata:
languageName: node
linkType: hard
-"@types/estree@npm:*, @types/estree@npm:^1.0.0":
+"@types/estree@npm:*, @types/estree@npm:^1.0.0, @types/estree@npm:^1.0.6":
version: 1.0.8
resolution: "@types/estree@npm:1.0.8"
checksum: 10/25a4c16a6752538ffde2826c2cc0c6491d90e69cd6187bef4a006dd2c3c45469f049e643d7e516c515f21484dc3d48fd5c870be158a5beb72f5baf3dc43e4099
@@ -1101,6 +1373,13 @@ __metadata:
languageName: node
linkType: hard
+"@types/json-schema@npm:^7.0.15":
+ version: 7.0.15
+ resolution: "@types/json-schema@npm:7.0.15"
+ checksum: 10/1a3c3e06236e4c4aab89499c428d585527ce50c24fe8259e8b3926d3df4cfbbbcf306cfc73ddfb66cbafc973116efd15967020b0f738f63e09e64c7d260519e7
+ languageName: node
+ linkType: hard
+
"@types/json5@npm:^0.0.29":
version: 0.0.29
resolution: "@types/json5@npm:0.0.29"
@@ -1140,21 +1419,21 @@ __metadata:
languageName: node
linkType: hard
-"@types/react-dom@npm:19.1.7":
- version: 19.1.7
- resolution: "@types/react-dom@npm:19.1.7"
+"@types/react-dom@npm:19.2.3":
+ version: 19.2.3
+ resolution: "@types/react-dom@npm:19.2.3"
peerDependencies:
- "@types/react": ^19.0.0
- checksum: 10/a99465e5a17d40725dedb3708357f8998c57caab768cee0992b4bb7822ce7ed2ec697a5f426cb98d3397b020756a6e4b0986dc5f6f4254e13b3536afb38538e6
+ "@types/react": ^19.2.0
+ checksum: 10/616c4a8aee250ea05fb1e7b98e7e00475dd3a6c1c30d7be18b4b93caba832f4203106b3a496a6b147e5acc2da14575eca47bce234c633bca1f8430ef8ffb234a
languageName: node
linkType: hard
-"@types/react@npm:19.1.9":
- version: 19.1.9
- resolution: "@types/react@npm:19.1.9"
+"@types/react@npm:19.2.10":
+ version: 19.2.10
+ resolution: "@types/react@npm:19.2.10"
dependencies:
- csstype: "npm:^3.0.2"
- checksum: 10/b1032eae52e3b4f2a8b9ea6aac936385a78b7eff55cad4ff4f0d7e726c6ea87c1f287a1ba0e57a76a8e4456d3fb918b4f97a01e71686fdc11a65b26b8d296be4
+ csstype: "npm:^3.2.2"
+ checksum: 10/0e34a0e42db02f4b3f4bed446128c555446c2854b833d71d597e6c8b08800dd90519a03a226ad250cccc4a0c9e51bd3f9c54cdcb79ee1219f4d5b318fb3a3813
languageName: node
linkType: hard
@@ -1172,140 +1451,138 @@ __metadata:
languageName: node
linkType: hard
-"@typescript-eslint/eslint-plugin@npm:^5.4.2 || ^6.0.0 || ^7.0.0 || ^8.0.0":
- version: 8.39.1
- resolution: "@typescript-eslint/eslint-plugin@npm:8.39.1"
+"@typescript-eslint/eslint-plugin@npm:8.54.0":
+ version: 8.54.0
+ resolution: "@typescript-eslint/eslint-plugin@npm:8.54.0"
dependencies:
- "@eslint-community/regexpp": "npm:^4.10.0"
- "@typescript-eslint/scope-manager": "npm:8.39.1"
- "@typescript-eslint/type-utils": "npm:8.39.1"
- "@typescript-eslint/utils": "npm:8.39.1"
- "@typescript-eslint/visitor-keys": "npm:8.39.1"
- graphemer: "npm:^1.4.0"
- ignore: "npm:^7.0.0"
+ "@eslint-community/regexpp": "npm:^4.12.2"
+ "@typescript-eslint/scope-manager": "npm:8.54.0"
+ "@typescript-eslint/type-utils": "npm:8.54.0"
+ "@typescript-eslint/utils": "npm:8.54.0"
+ "@typescript-eslint/visitor-keys": "npm:8.54.0"
+ ignore: "npm:^7.0.5"
natural-compare: "npm:^1.4.0"
- ts-api-utils: "npm:^2.1.0"
+ ts-api-utils: "npm:^2.4.0"
peerDependencies:
- "@typescript-eslint/parser": ^8.39.1
+ "@typescript-eslint/parser": ^8.54.0
eslint: ^8.57.0 || ^9.0.0
typescript: ">=4.8.4 <6.0.0"
- checksum: 10/446050aa43d54c0107c7c927ae1f68a4384c2bba514d5c22edabbe355426cb37bd5bb5a3faf240a6be8ef06f68de6099c2a53d9cbb1849ed35a152fb156171e2
+ checksum: 10/8f1c74ac77d7a84ae3f201bb09cb67271662befed036266af1eaa0653d09b545353441640516c1c86e0a94939887d32f0473c61a642488b14d46533742bfbd1b
languageName: node
linkType: hard
-"@typescript-eslint/parser@npm:^5.4.2 || ^6.0.0 || ^7.0.0 || ^8.0.0":
- version: 8.39.1
- resolution: "@typescript-eslint/parser@npm:8.39.1"
+"@typescript-eslint/parser@npm:8.54.0":
+ version: 8.54.0
+ resolution: "@typescript-eslint/parser@npm:8.54.0"
dependencies:
- "@typescript-eslint/scope-manager": "npm:8.39.1"
- "@typescript-eslint/types": "npm:8.39.1"
- "@typescript-eslint/typescript-estree": "npm:8.39.1"
- "@typescript-eslint/visitor-keys": "npm:8.39.1"
- debug: "npm:^4.3.4"
+ "@typescript-eslint/scope-manager": "npm:8.54.0"
+ "@typescript-eslint/types": "npm:8.54.0"
+ "@typescript-eslint/typescript-estree": "npm:8.54.0"
+ "@typescript-eslint/visitor-keys": "npm:8.54.0"
+ debug: "npm:^4.4.3"
peerDependencies:
eslint: ^8.57.0 || ^9.0.0
typescript: ">=4.8.4 <6.0.0"
- checksum: 10/ff45ce76353ed564e0f9db47b02b4b20895c96182b3693c610ef3dbceda373c476037a99f90d9f28633c192f301e5d554c89e1ba72da216763f960648ddf1f34
+ checksum: 10/d2e09462c9966ef3deeba71d9e41d1d4876c61eea65888c93a3db6fba48b89a2165459c6519741d40e969da05ed98d3f4c87a7f56c5521ab5699743cc315f6cb
languageName: node
linkType: hard
-"@typescript-eslint/project-service@npm:8.39.1":
- version: 8.39.1
- resolution: "@typescript-eslint/project-service@npm:8.39.1"
+"@typescript-eslint/project-service@npm:8.54.0":
+ version: 8.54.0
+ resolution: "@typescript-eslint/project-service@npm:8.54.0"
dependencies:
- "@typescript-eslint/tsconfig-utils": "npm:^8.39.1"
- "@typescript-eslint/types": "npm:^8.39.1"
- debug: "npm:^4.3.4"
+ "@typescript-eslint/tsconfig-utils": "npm:^8.54.0"
+ "@typescript-eslint/types": "npm:^8.54.0"
+ debug: "npm:^4.4.3"
peerDependencies:
typescript: ">=4.8.4 <6.0.0"
- checksum: 10/1970633d1a338190f0125e186beaa39b3ef912f287e4815934faf64b72f140e87fdf7d861962683635a450d270dd76faf0c865d72bfd57b471a36739f943676b
+ checksum: 10/93f0483f6bbcf7cf776a53a130f7606f597fba67cf111e1897873bf1531efaa96e4851cfd461da0f0cc93afbdb51e47bcce11cf7dd4fb68b7030c7f9f240b92f
languageName: node
linkType: hard
-"@typescript-eslint/scope-manager@npm:8.39.1":
- version: 8.39.1
- resolution: "@typescript-eslint/scope-manager@npm:8.39.1"
+"@typescript-eslint/scope-manager@npm:8.54.0":
+ version: 8.54.0
+ resolution: "@typescript-eslint/scope-manager@npm:8.54.0"
dependencies:
- "@typescript-eslint/types": "npm:8.39.1"
- "@typescript-eslint/visitor-keys": "npm:8.39.1"
- checksum: 10/8874f7479043b3fc878f2c04b2c565051deceb7e425a8e4e79a7f40f1ee696bb979bd91fff619e016fe6793f537b30609c0ee8a5c40911c4829fa264863f7a70
+ "@typescript-eslint/types": "npm:8.54.0"
+ "@typescript-eslint/visitor-keys": "npm:8.54.0"
+ checksum: 10/3474f3197e8647754393dee62b3145c9de71eaa66c8a68f61c8283aa332141803885db9c96caa6a51f78128ad9ef92f774a90361655e57bd951d5b57eb76f914
languageName: node
linkType: hard
-"@typescript-eslint/tsconfig-utils@npm:8.39.1, @typescript-eslint/tsconfig-utils@npm:^8.39.1":
- version: 8.39.1
- resolution: "@typescript-eslint/tsconfig-utils@npm:8.39.1"
+"@typescript-eslint/tsconfig-utils@npm:8.54.0, @typescript-eslint/tsconfig-utils@npm:^8.54.0":
+ version: 8.54.0
+ resolution: "@typescript-eslint/tsconfig-utils@npm:8.54.0"
peerDependencies:
typescript: ">=4.8.4 <6.0.0"
- checksum: 10/38c1e1982504e606e525ad0ce47fdb4c7acc686a28a94c2b30fe988c439977e991ce69cb88a1724a41a8096fc2d18d7ced7fe8725e42879d841515ff36a37ecf
+ checksum: 10/e9d6b29538716f007919bfcee94f09b7f8e7d2b684ad43d1a3c8d43afb9f0539c7707f84a34f42054e31c8c056b0ccf06575d89e860b4d34632ffefaefafe1fc
languageName: node
linkType: hard
-"@typescript-eslint/type-utils@npm:8.39.1":
- version: 8.39.1
- resolution: "@typescript-eslint/type-utils@npm:8.39.1"
+"@typescript-eslint/type-utils@npm:8.54.0":
+ version: 8.54.0
+ resolution: "@typescript-eslint/type-utils@npm:8.54.0"
dependencies:
- "@typescript-eslint/types": "npm:8.39.1"
- "@typescript-eslint/typescript-estree": "npm:8.39.1"
- "@typescript-eslint/utils": "npm:8.39.1"
- debug: "npm:^4.3.4"
- ts-api-utils: "npm:^2.1.0"
+ "@typescript-eslint/types": "npm:8.54.0"
+ "@typescript-eslint/typescript-estree": "npm:8.54.0"
+ "@typescript-eslint/utils": "npm:8.54.0"
+ debug: "npm:^4.4.3"
+ ts-api-utils: "npm:^2.4.0"
peerDependencies:
eslint: ^8.57.0 || ^9.0.0
typescript: ">=4.8.4 <6.0.0"
- checksum: 10/1195d65970f79f820558810f7e1edf0ea360bbeee55841fdbb71b5b40c09f1a65741b67a70b85c2834ae1f9a027b82da4234d01f42ab4e85dceef3eea84bfdaa
+ checksum: 10/60e92fb32274abd70165ce6f4187e4cffa55416374c63731d7de8fdcfb7a558b4dd48909ff1ad38ac39d2ea1248ec54d6ce38dbc065fd34529a217fc2450d5b1
languageName: node
linkType: hard
-"@typescript-eslint/types@npm:8.39.1, @typescript-eslint/types@npm:^8.39.1":
- version: 8.39.1
- resolution: "@typescript-eslint/types@npm:8.39.1"
- checksum: 10/8013f4f48a98da0de270d5fef1ff28b35407de82fce5acf3efa212fce60bc92a81bbb15b4b358d9facf4f161e49feec856fbf1a6d96f5027d013b542f2fe1bcc
+"@typescript-eslint/types@npm:8.54.0, @typescript-eslint/types@npm:^8.54.0":
+ version: 8.54.0
+ resolution: "@typescript-eslint/types@npm:8.54.0"
+ checksum: 10/c25cc0bdf90fb150cf6ce498897f43fe3adf9e872562159118f34bd91a9bfab5f720cb1a41f3cdf253b2e840145d7d372089b7cef5156624ef31e98d34f91b31
languageName: node
linkType: hard
-"@typescript-eslint/typescript-estree@npm:8.39.1":
- version: 8.39.1
- resolution: "@typescript-eslint/typescript-estree@npm:8.39.1"
+"@typescript-eslint/typescript-estree@npm:8.54.0":
+ version: 8.54.0
+ resolution: "@typescript-eslint/typescript-estree@npm:8.54.0"
dependencies:
- "@typescript-eslint/project-service": "npm:8.39.1"
- "@typescript-eslint/tsconfig-utils": "npm:8.39.1"
- "@typescript-eslint/types": "npm:8.39.1"
- "@typescript-eslint/visitor-keys": "npm:8.39.1"
- debug: "npm:^4.3.4"
- fast-glob: "npm:^3.3.2"
- is-glob: "npm:^4.0.3"
- minimatch: "npm:^9.0.4"
- semver: "npm:^7.6.0"
- ts-api-utils: "npm:^2.1.0"
+ "@typescript-eslint/project-service": "npm:8.54.0"
+ "@typescript-eslint/tsconfig-utils": "npm:8.54.0"
+ "@typescript-eslint/types": "npm:8.54.0"
+ "@typescript-eslint/visitor-keys": "npm:8.54.0"
+ debug: "npm:^4.4.3"
+ minimatch: "npm:^9.0.5"
+ semver: "npm:^7.7.3"
+ tinyglobby: "npm:^0.2.15"
+ ts-api-utils: "npm:^2.4.0"
peerDependencies:
typescript: ">=4.8.4 <6.0.0"
- checksum: 10/07ed9d7ab4d146ee3ce6cf82ffebf947e045a9289b01522e11b3985b64f590c00cac0ca10366df828ca213bf08216a67c7b2b76e7c8be650df2511a7e6385425
+ checksum: 10/3a545037c6f9319251d3ba44cf7a3216b1372422469e27f7ed3415244ebf42553da1ab4644da42d3f0ae2706a8cad12529ffebcb2e75406f74e3b30b812d010d
languageName: node
linkType: hard
-"@typescript-eslint/utils@npm:8.39.1":
- version: 8.39.1
- resolution: "@typescript-eslint/utils@npm:8.39.1"
+"@typescript-eslint/utils@npm:8.54.0":
+ version: 8.54.0
+ resolution: "@typescript-eslint/utils@npm:8.54.0"
dependencies:
- "@eslint-community/eslint-utils": "npm:^4.7.0"
- "@typescript-eslint/scope-manager": "npm:8.39.1"
- "@typescript-eslint/types": "npm:8.39.1"
- "@typescript-eslint/typescript-estree": "npm:8.39.1"
+ "@eslint-community/eslint-utils": "npm:^4.9.1"
+ "@typescript-eslint/scope-manager": "npm:8.54.0"
+ "@typescript-eslint/types": "npm:8.54.0"
+ "@typescript-eslint/typescript-estree": "npm:8.54.0"
peerDependencies:
eslint: ^8.57.0 || ^9.0.0
typescript: ">=4.8.4 <6.0.0"
- checksum: 10/39bb105f26aa1ba234ad7d284c277cbd66df9d51e245094892db140aac80d3656d0480f133b2db54e87af3ef9c371a12973120c9cfbff71e8e85865f9e1d0077
+ checksum: 10/9f88a2a7ab3e11aa0ff7f99c0e66a0cf2cba10b640def4c64a4f4ef427fecfb22f28dbe5697535915eb01f6507515ac43e45e0ff384bf82856e3420194d9ffdd
languageName: node
linkType: hard
-"@typescript-eslint/visitor-keys@npm:8.39.1":
- version: 8.39.1
- resolution: "@typescript-eslint/visitor-keys@npm:8.39.1"
+"@typescript-eslint/visitor-keys@npm:8.54.0":
+ version: 8.54.0
+ resolution: "@typescript-eslint/visitor-keys@npm:8.54.0"
dependencies:
- "@typescript-eslint/types": "npm:8.39.1"
+ "@typescript-eslint/types": "npm:8.54.0"
eslint-visitor-keys: "npm:^4.2.1"
- checksum: 10/6d4e4d0b19ebb3f21b692bbb0dcf9961876ca28cdf502296888a78eb4cd802a2ec8d3d5721d19970411edfd1c06f3e272e4057014c859ee1f0546804d07945e3
+ checksum: 10/cca5380ee30250302ee1459e5a0a38de8c16213026dbbff3d167fa7d71d012f31d60ac4483ad45ebd13f2ac963d1ca52dd5f22759a68d4ee57626e421769187a
languageName: node
linkType: hard
@@ -1369,7 +1646,7 @@ __metadata:
languageName: node
linkType: hard
-"@ungap/structured-clone@npm:^1.0.0, @ungap/structured-clone@npm:^1.2.0":
+"@ungap/structured-clone@npm:^1.0.0":
version: 1.3.0
resolution: "@ungap/structured-clone@npm:1.3.0"
checksum: 10/80d6910946f2b1552a2406650051c91bbd1f24a6bf854354203d84fe2714b3e8ce4618f49cc3410494173a1c1e8e9777372fe68dce74bd45faf0a7a1a6ccf448
@@ -1527,7 +1804,7 @@ __metadata:
languageName: node
linkType: hard
-"acorn@npm:^8.0.0, acorn@npm:^8.9.0":
+"acorn@npm:^8.0.0, acorn@npm:^8.15.0":
version: 8.15.0
resolution: "acorn@npm:8.15.0"
bin:
@@ -1776,6 +2053,15 @@ __metadata:
languageName: node
linkType: hard
+"baseline-browser-mapping@npm:^2.8.3, baseline-browser-mapping@npm:^2.9.0":
+ version: 2.9.19
+ resolution: "baseline-browser-mapping@npm:2.9.19"
+ bin:
+ baseline-browser-mapping: dist/cli.js
+ checksum: 10/8d7bbb7fe3d1ad50e04b127c819ba6d059c01ed0d2a7a5fc3327e23a8c42855fa3a8b510550c1fe1e37916147e6a390243566d3ef85bf6130c8ddfe5cc3db530
+ languageName: node
+ linkType: hard
+
"before-after-hook@npm:^4.0.0":
version: 4.0.0
resolution: "before-after-hook@npm:4.0.0"
@@ -1818,6 +2104,21 @@ __metadata:
languageName: node
linkType: hard
+"browserslist@npm:^4.24.0":
+ version: 4.28.1
+ resolution: "browserslist@npm:4.28.1"
+ dependencies:
+ baseline-browser-mapping: "npm:^2.9.0"
+ caniuse-lite: "npm:^1.0.30001759"
+ electron-to-chromium: "npm:^1.5.263"
+ node-releases: "npm:^2.0.27"
+ update-browserslist-db: "npm:^1.2.0"
+ bin:
+ browserslist: cli.js
+ checksum: 10/64f2a97de4bce8473c0e5ae0af8d76d1ead07a5b05fc6bc87b848678bb9c3a91ae787b27aa98cdd33fc00779607e6c156000bed58fefb9cf8e4c5a183b994cdb
+ languageName: node
+ linkType: hard
+
"cacache@npm:^19.0.1":
version: 19.0.1
resolution: "cacache@npm:19.0.1"
@@ -1877,10 +2178,10 @@ __metadata:
languageName: node
linkType: hard
-"caniuse-lite@npm:^1.0.30001579":
- version: 1.0.30001760
- resolution: "caniuse-lite@npm:1.0.30001760"
- checksum: 10/ac5c13d00b946c3ace331d25379ed9d85743b1028aba79ae80402cb128b4b491122585144898fefb836d4d9879c13c717a081ae241a00420cbbc7e1b934ec685
+"caniuse-lite@npm:^1.0.30001579, caniuse-lite@npm:^1.0.30001759":
+ version: 1.0.30001766
+ resolution: "caniuse-lite@npm:1.0.30001766"
+ checksum: 10/0edeb69bdb741c98deda609b75e35e5c31e944537e9873ea89a4cf9e9baa3e158675b224951a6f3a212d1f0c328a8494ace323c551ca1fa58ce4915562c4e4d3
languageName: node
linkType: hard
@@ -2000,33 +2301,13 @@ __metadata:
languageName: node
linkType: hard
-"color-name@npm:^1.0.0, color-name@npm:~1.1.4":
+"color-name@npm:~1.1.4":
version: 1.1.4
resolution: "color-name@npm:1.1.4"
checksum: 10/b0445859521eb4021cd0fb0cc1a75cecf67fceecae89b63f62b201cca8d345baf8b952c966862a9d9a2632987d4f6581f0ec8d957dfacece86f0a7919316f610
languageName: node
linkType: hard
-"color-string@npm:^1.9.0":
- version: 1.9.1
- resolution: "color-string@npm:1.9.1"
- dependencies:
- color-name: "npm:^1.0.0"
- simple-swizzle: "npm:^0.2.2"
- checksum: 10/72aa0b81ee71b3f4fb1ac9cd839cdbd7a011a7d318ef58e6cb13b3708dca75c7e45029697260488709f1b1c7ac4e35489a87e528156c1e365917d1c4ccb9b9cd
- languageName: node
- linkType: hard
-
-"color@npm:^4.2.3":
- version: 4.2.3
- resolution: "color@npm:4.2.3"
- dependencies:
- color-convert: "npm:^2.0.1"
- color-string: "npm:^1.9.0"
- checksum: 10/b23f5e500a79ea22428db43d1a70642d983405c0dd1f95ef59dbdb9ba66afbb4773b334fa0b75bb10b0552fd7534c6b28d4db0a8b528f91975976e70973c0152
- languageName: node
- linkType: hard
-
"comma-separated-tokens@npm:^2.0.0":
version: 2.0.3
resolution: "comma-separated-tokens@npm:2.0.3"
@@ -2041,6 +2322,13 @@ __metadata:
languageName: node
linkType: hard
+"convert-source-map@npm:^2.0.0":
+ version: 2.0.0
+ resolution: "convert-source-map@npm:2.0.0"
+ checksum: 10/c987be3ec061348cdb3c2bfb924bec86dea1eacad10550a85ca23edb0fe3556c3a61c7399114f3331ccb3499d7fd0285ab24566e5745929412983494c3926e15
+ languageName: node
+ linkType: hard
+
"crelt@npm:^1.0.5, crelt@npm:^1.0.6":
version: 1.0.6
resolution: "crelt@npm:1.0.6"
@@ -2048,7 +2336,7 @@ __metadata:
languageName: node
linkType: hard
-"cross-spawn@npm:^7.0.2, cross-spawn@npm:^7.0.6":
+"cross-spawn@npm:^7.0.6":
version: 7.0.6
resolution: "cross-spawn@npm:7.0.6"
dependencies:
@@ -2059,10 +2347,10 @@ __metadata:
languageName: node
linkType: hard
-"csstype@npm:^3.0.2":
- version: 3.1.3
- resolution: "csstype@npm:3.1.3"
- checksum: 10/f593cce41ff5ade23f44e77521e3a1bcc2c64107041e1bf6c3c32adc5187d0d60983292fda326154d20b01079e24931aa5b08e4467cc488b60bb1e7f6d478ade
+"csstype@npm:^3.2.2":
+ version: 3.2.3
+ resolution: "csstype@npm:3.2.3"
+ checksum: 10/ad41baf7e2ffac65ab544d79107bf7cd1a4bb9bab9ac3302f59ab4ba655d5e30942a8ae46e10ba160c6f4ecea464cc95b975ca2fefbdeeacd6ac63f12f99fe1f
languageName: node
linkType: hard
@@ -2106,15 +2394,15 @@ __metadata:
languageName: node
linkType: hard
-"debug@npm:4, debug@npm:^4.0.0, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.4, debug@npm:^4.4.0":
- version: 4.4.1
- resolution: "debug@npm:4.4.1"
+"debug@npm:4, debug@npm:^4.0.0, debug@npm:^4.1.0, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.4, debug@npm:^4.4.0, debug@npm:^4.4.3":
+ version: 4.4.3
+ resolution: "debug@npm:4.4.3"
dependencies:
ms: "npm:^2.1.3"
peerDependenciesMeta:
supports-color:
optional: true
- checksum: 10/8e2709b2144f03c7950f8804d01ccb3786373df01e406a0f66928e47001cf2d336cbed9ee137261d4f90d68d8679468c755e3548ed83ddacdc82b194d2468afe
+ checksum: 10/9ada3434ea2993800bd9a1e320bd4aa7af69659fb51cca685d390949434bc0a8873c21ed7c9b852af6f2455a55c6d050aa3937d52b3c69f796dab666f762acad
languageName: node
linkType: hard
@@ -2172,10 +2460,10 @@ __metadata:
languageName: node
linkType: hard
-"detect-libc@npm:^2.0.3, detect-libc@npm:^2.0.4":
- version: 2.0.4
- resolution: "detect-libc@npm:2.0.4"
- checksum: 10/136e995f8c5ffbc515955b0175d441b967defd3d5f2268e89fa695e9c7170d8bed17993e31a34b04f0fad33d844a3a598e0fd519a8e9be3cad5f67662d96fee0
+"detect-libc@npm:^2.0.3, detect-libc@npm:^2.1.2":
+ version: 2.1.2
+ resolution: "detect-libc@npm:2.1.2"
+ checksum: 10/b736c8d97d5d46164c0d1bed53eb4e6a3b1d8530d460211e2d52f1c552875e706c58a5376854e4e54f8b828c9cada58c855288c968522eb93ac7696d65970766
languageName: node
linkType: hard
@@ -2198,28 +2486,28 @@ __metadata:
"@lezer/highlight": "npm:^1.2.1"
"@mdx-js/loader": "npm:^3.1.0"
"@mdx-js/react": "npm:^3.1.0"
- "@next/mdx": "npm:15.5.9"
+ "@next/mdx": "npm:16.1.6"
"@octokit/rest": "npm:^22.0.1"
"@remixicon/react": "npm:^4.6.0"
"@shikijs/transformers": "npm:^3.13.0"
"@types/mdx": "npm:^2.0.13"
"@types/node": "npm:^22.13.14"
- "@types/react": "npm:19.1.9"
- "@types/react-dom": "npm:19.1.7"
+ "@types/react": "npm:19.2.10"
+ "@types/react-dom": "npm:19.2.3"
"@uiw/codemirror-themes": "npm:^4.23.7"
"@uiw/react-codemirror": "npm:^4.23.7"
chokidar: "npm:^3.6.0"
clsx: "npm:^2.1.1"
- eslint: "npm:^8"
- eslint-config-next: "npm:15.5.9"
+ eslint: "npm:^9"
+ eslint-config-next: "npm:16.1.6"
html-react-parser: "npm:^5.2.5"
lightningcss: "npm:^1.28.2"
motion: "npm:^12.4.1"
- next: "npm:15.5.9"
+ next: "npm:16.1.6"
next-mdx-remote-client: "npm:^2.1.2"
prop-types: "npm:^15.8.1"
- react: "npm:19.1.1"
- react-dom: "npm:19.1.1"
+ react: "npm:19.2.4"
+ react-dom: "npm:19.2.4"
shiki: "npm:^3.13.0"
typescript: "npm:^5"
unified: "npm:^11.0.4"
@@ -2235,15 +2523,6 @@ __metadata:
languageName: node
linkType: hard
-"doctrine@npm:^3.0.0":
- version: 3.0.0
- resolution: "doctrine@npm:3.0.0"
- dependencies:
- esutils: "npm:^2.0.2"
- checksum: 10/b4b28f1df5c563f7d876e7461254a4597b8cabe915abe94d7c5d1633fed263fcf9a85e8d3836591fc2d040108e822b0d32758e5ec1fe31c590dc7e08086e3e48
- languageName: node
- linkType: hard
-
"dom-serializer@npm:^2.0.0":
version: 2.0.0
resolution: "dom-serializer@npm:2.0.0"
@@ -2271,7 +2550,7 @@ __metadata:
languageName: node
linkType: hard
-"domutils@npm:^3.2.1":
+"domutils@npm:^3.2.2":
version: 3.2.2
resolution: "domutils@npm:3.2.2"
dependencies:
@@ -2300,6 +2579,13 @@ __metadata:
languageName: node
linkType: hard
+"electron-to-chromium@npm:^1.5.263":
+ version: 1.5.282
+ resolution: "electron-to-chromium@npm:1.5.282"
+ checksum: 10/5d32107084ab72199088f2b67ddd632d3c69671ee1ae958cf16f7b9bc1f664cd4c587bb8c45cbd019e15ad49fcc80711c55119040c961c2e48dcf7ddae4961dd
+ languageName: node
+ linkType: hard
+
"emoji-regex@npm:^8.0.0":
version: 8.0.0
resolution: "emoji-regex@npm:8.0.0"
@@ -2330,10 +2616,10 @@ __metadata:
languageName: node
linkType: hard
-"entities@npm:^6.0.0":
- version: 6.0.1
- resolution: "entities@npm:6.0.1"
- checksum: 10/62af1307202884349d2867f0aac5c60d8b57102ea0b0e768b16246099512c28e239254ad772d6834e7e14cb1b6f153fc3d0c031934e3183b086c86d3838d874a
+"entities@npm:^7.0.1":
+ version: 7.0.1
+ resolution: "entities@npm:7.0.1"
+ checksum: 10/3c0c58d869c45148463e96d21dee2d1b801bd3fe4cf47aa470cd26dfe81d59e9e0a9be92ae083fa02fa441283c883a471486e94538dcfb8544428aa80a55271b
languageName: node
linkType: hard
@@ -2516,6 +2802,13 @@ __metadata:
languageName: node
linkType: hard
+"escalade@npm:^3.2.0":
+ version: 3.2.0
+ resolution: "escalade@npm:3.2.0"
+ checksum: 10/9d7169e3965b2f9ae46971afa392f6e5a25545ea30f2e2dd99c9b0a95a3f52b5653681a84f5b2911a413ddad2d7a93d3514165072f349b5ffc59c75a899970d6
+ languageName: node
+ linkType: hard
+
"escape-string-regexp@npm:^4.0.0":
version: 4.0.0
resolution: "escape-string-regexp@npm:4.0.0"
@@ -2523,27 +2816,26 @@ __metadata:
languageName: node
linkType: hard
-"eslint-config-next@npm:15.5.9":
- version: 15.5.9
- resolution: "eslint-config-next@npm:15.5.9"
+"eslint-config-next@npm:16.1.6":
+ version: 16.1.6
+ resolution: "eslint-config-next@npm:16.1.6"
dependencies:
- "@next/eslint-plugin-next": "npm:15.5.9"
- "@rushstack/eslint-patch": "npm:^1.10.3"
- "@typescript-eslint/eslint-plugin": "npm:^5.4.2 || ^6.0.0 || ^7.0.0 || ^8.0.0"
- "@typescript-eslint/parser": "npm:^5.4.2 || ^6.0.0 || ^7.0.0 || ^8.0.0"
+ "@next/eslint-plugin-next": "npm:16.1.6"
eslint-import-resolver-node: "npm:^0.3.6"
eslint-import-resolver-typescript: "npm:^3.5.2"
- eslint-plugin-import: "npm:^2.31.0"
+ eslint-plugin-import: "npm:^2.32.0"
eslint-plugin-jsx-a11y: "npm:^6.10.0"
eslint-plugin-react: "npm:^7.37.0"
- eslint-plugin-react-hooks: "npm:^5.0.0"
+ eslint-plugin-react-hooks: "npm:^7.0.0"
+ globals: "npm:16.4.0"
+ typescript-eslint: "npm:^8.46.0"
peerDependencies:
- eslint: ^7.23.0 || ^8.0.0 || ^9.0.0
+ eslint: ">=9.0.0"
typescript: ">=3.3.1"
peerDependenciesMeta:
typescript:
optional: true
- checksum: 10/c56015602d1d4c044e7486924a7bdfb72e04515aff22c97ec0f0c6ddeed8c3474001a9a4258d90c89d2627eae14d0d769382d3a47f65910c4360a2de0c9b9b8e
+ checksum: 10/94828d947fe88d921ca9e59931a31d111344bbf23bd8baad50de463b05b23a823c526cb60576443c6c818136d054779970369f049c5c6a6ef7e92fae12f888d7
languageName: node
linkType: hard
@@ -2594,7 +2886,7 @@ __metadata:
languageName: node
linkType: hard
-"eslint-plugin-import@npm:^2.31.0":
+"eslint-plugin-import@npm:^2.32.0":
version: 2.32.0
resolution: "eslint-plugin-import@npm:2.32.0"
dependencies:
@@ -2648,12 +2940,18 @@ __metadata:
languageName: node
linkType: hard
-"eslint-plugin-react-hooks@npm:^5.0.0":
- version: 5.2.0
- resolution: "eslint-plugin-react-hooks@npm:5.2.0"
+"eslint-plugin-react-hooks@npm:^7.0.0":
+ version: 7.0.1
+ resolution: "eslint-plugin-react-hooks@npm:7.0.1"
+ dependencies:
+ "@babel/core": "npm:^7.24.4"
+ "@babel/parser": "npm:^7.24.4"
+ hermes-parser: "npm:^0.25.1"
+ zod: "npm:^3.25.0 || ^4.0.0"
+ zod-validation-error: "npm:^3.5.0 || ^4.0.0"
peerDependencies:
eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0
- checksum: 10/ebb79e9cf69ae06e3a7876536653c5e556b5fd8cd9dc49577f10a6e728360e7b6f5ce91f4339b33e93b26e3bb23805418f8b5e75db80baddd617b1dffe73bed1
+ checksum: 10/12e96c68d58c6588305fd17d660524a1ef1e872650ec591d5b138f059431290831c373d4b1c9ae8991fb25f96c43935497d2149678c027e65d0417d3d99ecc85
languageName: node
linkType: hard
@@ -2685,17 +2983,17 @@ __metadata:
languageName: node
linkType: hard
-"eslint-scope@npm:^7.2.2":
- version: 7.2.2
- resolution: "eslint-scope@npm:7.2.2"
+"eslint-scope@npm:^8.4.0":
+ version: 8.4.0
+ resolution: "eslint-scope@npm:8.4.0"
dependencies:
esrecurse: "npm:^4.3.0"
estraverse: "npm:^5.2.0"
- checksum: 10/5c660fb905d5883ad018a6fea2b49f3cb5b1cbf2cd4bd08e98646e9864f9bc2c74c0839bed2d292e90a4a328833accc197c8f0baed89cbe8d605d6f918465491
+ checksum: 10/e8e611701f65375e034c62123946e628894f0b54aa8cb11abe224816389abe5cd74cf16b62b72baa36504f22d1a958b9b8b0169b82397fe2e7997674c0d09b06
languageName: node
linkType: hard
-"eslint-visitor-keys@npm:^3.4.1, eslint-visitor-keys@npm:^3.4.3":
+"eslint-visitor-keys@npm:^3.4.3":
version: 3.4.3
resolution: "eslint-visitor-keys@npm:3.4.3"
checksum: 10/3f357c554a9ea794b094a09bd4187e5eacd1bc0d0653c3adeb87962c548e6a1ab8f982b86963ae1337f5d976004146536dcee5d0e2806665b193fbfbf1a9231b
@@ -2709,71 +3007,72 @@ __metadata:
languageName: node
linkType: hard
-"eslint@npm:^8":
- version: 8.57.1
- resolution: "eslint@npm:8.57.1"
+"eslint@npm:^9":
+ version: 9.39.2
+ resolution: "eslint@npm:9.39.2"
dependencies:
- "@eslint-community/eslint-utils": "npm:^4.2.0"
- "@eslint-community/regexpp": "npm:^4.6.1"
- "@eslint/eslintrc": "npm:^2.1.4"
- "@eslint/js": "npm:8.57.1"
- "@humanwhocodes/config-array": "npm:^0.13.0"
+ "@eslint-community/eslint-utils": "npm:^4.8.0"
+ "@eslint-community/regexpp": "npm:^4.12.1"
+ "@eslint/config-array": "npm:^0.21.1"
+ "@eslint/config-helpers": "npm:^0.4.2"
+ "@eslint/core": "npm:^0.17.0"
+ "@eslint/eslintrc": "npm:^3.3.1"
+ "@eslint/js": "npm:9.39.2"
+ "@eslint/plugin-kit": "npm:^0.4.1"
+ "@humanfs/node": "npm:^0.16.6"
"@humanwhocodes/module-importer": "npm:^1.0.1"
- "@nodelib/fs.walk": "npm:^1.2.8"
- "@ungap/structured-clone": "npm:^1.2.0"
+ "@humanwhocodes/retry": "npm:^0.4.2"
+ "@types/estree": "npm:^1.0.6"
ajv: "npm:^6.12.4"
chalk: "npm:^4.0.0"
- cross-spawn: "npm:^7.0.2"
+ cross-spawn: "npm:^7.0.6"
debug: "npm:^4.3.2"
- doctrine: "npm:^3.0.0"
escape-string-regexp: "npm:^4.0.0"
- eslint-scope: "npm:^7.2.2"
- eslint-visitor-keys: "npm:^3.4.3"
- espree: "npm:^9.6.1"
- esquery: "npm:^1.4.2"
+ eslint-scope: "npm:^8.4.0"
+ eslint-visitor-keys: "npm:^4.2.1"
+ espree: "npm:^10.4.0"
+ esquery: "npm:^1.5.0"
esutils: "npm:^2.0.2"
fast-deep-equal: "npm:^3.1.3"
- file-entry-cache: "npm:^6.0.1"
+ file-entry-cache: "npm:^8.0.0"
find-up: "npm:^5.0.0"
glob-parent: "npm:^6.0.2"
- globals: "npm:^13.19.0"
- graphemer: "npm:^1.4.0"
ignore: "npm:^5.2.0"
imurmurhash: "npm:^0.1.4"
is-glob: "npm:^4.0.0"
- is-path-inside: "npm:^3.0.3"
- js-yaml: "npm:^4.1.0"
json-stable-stringify-without-jsonify: "npm:^1.0.1"
- levn: "npm:^0.4.1"
lodash.merge: "npm:^4.6.2"
minimatch: "npm:^3.1.2"
natural-compare: "npm:^1.4.0"
optionator: "npm:^0.9.3"
- strip-ansi: "npm:^6.0.1"
- text-table: "npm:^0.2.0"
+ peerDependencies:
+ jiti: "*"
+ peerDependenciesMeta:
+ jiti:
+ optional: true
bin:
eslint: bin/eslint.js
- checksum: 10/5504fa24879afdd9f9929b2fbfc2ee9b9441a3d464efd9790fbda5f05738858530182029f13323add68d19fec749d3ab4a70320ded091ca4432b1e9cc4ed104c
+ checksum: 10/53ff0e9c8264e7e8d40d50fdc0c0df0b701cfc5289beedfb686c214e3e7b199702f894bbd1bb48653727bb1ecbd1147cf5f555a4ae71e1daf35020cdc9072d9f
languageName: node
linkType: hard
-"espree@npm:^9.6.0, espree@npm:^9.6.1":
- version: 9.6.1
- resolution: "espree@npm:9.6.1"
+"espree@npm:^10.0.1, espree@npm:^10.4.0":
+ version: 10.4.0
+ resolution: "espree@npm:10.4.0"
dependencies:
- acorn: "npm:^8.9.0"
+ acorn: "npm:^8.15.0"
acorn-jsx: "npm:^5.3.2"
- eslint-visitor-keys: "npm:^3.4.1"
- checksum: 10/255ab260f0d711a54096bdeda93adff0eadf02a6f9b92f02b323e83a2b7fc258797919437ad331efec3930475feb0142c5ecaaf3cdab4befebd336d47d3f3134
+ eslint-visitor-keys: "npm:^4.2.1"
+ checksum: 10/9b355b32dbd1cc9f57121d5ee3be258fab87ebeb7c83fc6c02e5af1a74fc8c5ba79fe8c663e69ea112c3e84a1b95e6a2067ac4443ee7813bb85ac7581acb8bf9
languageName: node
linkType: hard
-"esquery@npm:^1.4.2":
- version: 1.6.0
- resolution: "esquery@npm:1.6.0"
+"esquery@npm:^1.5.0":
+ version: 1.7.0
+ resolution: "esquery@npm:1.7.0"
dependencies:
estraverse: "npm:^5.1.0"
- checksum: 10/c587fb8ec9ed83f2b1bc97cf2f6854cc30bf784a79d62ba08c6e358bf22280d69aee12827521cf38e69ae9761d23fb7fde593ce315610f85655c139d99b05e5a
+ checksum: 10/4afaf3089367e1f5885caa116ef386dffd8bfd64da21fd3d0e56e938d2667cfb2e5400ab4a825aa70e799bb3741e5b5d63c0b94d86e2d4cf3095c9e64b2f5a15
languageName: node
linkType: hard
@@ -2909,19 +3208,6 @@ __metadata:
languageName: node
linkType: hard
-"fast-glob@npm:^3.3.2":
- version: 3.3.3
- resolution: "fast-glob@npm:3.3.3"
- dependencies:
- "@nodelib/fs.stat": "npm:^2.0.2"
- "@nodelib/fs.walk": "npm:^1.2.3"
- glob-parent: "npm:^5.1.2"
- merge2: "npm:^1.3.0"
- micromatch: "npm:^4.0.8"
- checksum: 10/dcc6432b269762dd47381d8b8358bf964d8f4f60286ac6aa41c01ade70bda459ff2001b516690b96d5365f68a49242966112b5d5cc9cd82395fa8f9d017c90ad
- languageName: node
- linkType: hard
-
"fast-json-stable-stringify@npm:^2.0.0":
version: 2.1.0
resolution: "fast-json-stable-stringify@npm:2.1.0"
@@ -2945,7 +3231,7 @@ __metadata:
languageName: node
linkType: hard
-"fdir@npm:^6.4.4":
+"fdir@npm:^6.5.0":
version: 6.5.0
resolution: "fdir@npm:6.5.0"
peerDependencies:
@@ -2957,12 +3243,12 @@ __metadata:
languageName: node
linkType: hard
-"file-entry-cache@npm:^6.0.1":
- version: 6.0.1
- resolution: "file-entry-cache@npm:6.0.1"
+"file-entry-cache@npm:^8.0.0":
+ version: 8.0.0
+ resolution: "file-entry-cache@npm:8.0.0"
dependencies:
- flat-cache: "npm:^3.0.4"
- checksum: 10/099bb9d4ab332cb93c48b14807a6918a1da87c45dce91d4b61fd40e6505d56d0697da060cb901c729c90487067d93c9243f5da3dc9c41f0358483bfdebca736b
+ flat-cache: "npm:^4.0.0"
+ checksum: 10/afe55c4de4e0d226a23c1eae62a7219aafb390859122608a89fa4df6addf55c7fd3f1a2da6f5b41e7cdff496e4cf28bbd215d53eab5c817afa96d2b40c81bfb0
languageName: node
linkType: hard
@@ -2985,14 +3271,13 @@ __metadata:
languageName: node
linkType: hard
-"flat-cache@npm:^3.0.4":
- version: 3.2.0
- resolution: "flat-cache@npm:3.2.0"
+"flat-cache@npm:^4.0.0":
+ version: 4.0.1
+ resolution: "flat-cache@npm:4.0.1"
dependencies:
flatted: "npm:^3.2.9"
- keyv: "npm:^4.5.3"
- rimraf: "npm:^3.0.2"
- checksum: 10/02381c6ece5e9fa5b826c9bbea481d7fd77645d96e4b0b1395238124d581d10e56f17f723d897b6d133970f7a57f0fab9148cbbb67237a0a0ffe794ba60c0c70
+ keyv: "npm:^4.5.4"
+ checksum: 10/58ce851d9045fffc7871ce2bd718bc485ad7e777bf748c054904b87c351ff1080c2c11da00788d78738bfb51b71e4d5ea12d13b98eb36e3358851ffe495b62dc
languageName: node
linkType: hard
@@ -3022,12 +3307,12 @@ __metadata:
languageName: node
linkType: hard
-"framer-motion@npm:^12.28.1":
- version: 12.28.1
- resolution: "framer-motion@npm:12.28.1"
+"framer-motion@npm:^12.33.0":
+ version: 12.33.0
+ resolution: "framer-motion@npm:12.33.0"
dependencies:
- motion-dom: "npm:^12.28.1"
- motion-utils: "npm:^12.27.2"
+ motion-dom: "npm:^12.33.0"
+ motion-utils: "npm:^12.29.2"
tslib: "npm:^2.4.0"
peerDependencies:
"@emotion/is-prop-valid": "*"
@@ -3040,7 +3325,7 @@ __metadata:
optional: true
react-dom:
optional: true
- checksum: 10/f8101df55b9e2c9ca7eb362aaff250ba2f77ef01770cbf3d27bc9c2103504d247936b4e62f2a4059bc1a0a878f558d32407db9b182976fdd48b2549d0631be54
+ checksum: 10/e3dd7c3167e4ea7d38d9020a672f8ab8b68fbc9994ae3c354e5d8b1c7827747db9206f6bdb024a4dab1b7ebd10ea044a14bacf50b7868271c59b1b5b2579dbb7
languageName: node
linkType: hard
@@ -3053,13 +3338,6 @@ __metadata:
languageName: node
linkType: hard
-"fs.realpath@npm:^1.0.0":
- version: 1.0.0
- resolution: "fs.realpath@npm:1.0.0"
- checksum: 10/e703107c28e362d8d7b910bbcbfd371e640a3bb45ae157a362b5952c0030c0b6d4981140ec319b347bce7adc025dd7813da1ff908a945ac214d64f5402a51b96
- languageName: node
- linkType: hard
-
"fsevents@npm:~2.3.2":
version: 2.3.3
resolution: "fsevents@npm:2.3.3"
@@ -3107,6 +3385,13 @@ __metadata:
languageName: node
linkType: hard
+"gensync@npm:^1.0.0-beta.2":
+ version: 1.0.0-beta.2
+ resolution: "gensync@npm:1.0.0-beta.2"
+ checksum: 10/17d8333460204fbf1f9160d067e1e77f908a5447febb49424b8ab043026049835c9ef3974445c57dbd39161f4d2b04356d7de12b2eecaa27a7a7ea7d871cbedd
+ languageName: node
+ linkType: hard
+
"get-intrinsic@npm:^1.2.4, get-intrinsic@npm:^1.2.5, get-intrinsic@npm:^1.2.6, get-intrinsic@npm:^1.2.7, get-intrinsic@npm:^1.3.0":
version: 1.3.0
resolution: "get-intrinsic@npm:1.3.0"
@@ -3189,26 +3474,17 @@ __metadata:
languageName: node
linkType: hard
-"glob@npm:^7.1.3":
- version: 7.2.3
- resolution: "glob@npm:7.2.3"
- dependencies:
- fs.realpath: "npm:^1.0.0"
- inflight: "npm:^1.0.4"
- inherits: "npm:2"
- minimatch: "npm:^3.1.1"
- once: "npm:^1.3.0"
- path-is-absolute: "npm:^1.0.0"
- checksum: 10/59452a9202c81d4508a43b8af7082ca5c76452b9fcc4a9ab17655822e6ce9b21d4f8fbadabe4fe3faef448294cec249af305e2cd824b7e9aaf689240e5e96a7b
+"globals@npm:16.4.0":
+ version: 16.4.0
+ resolution: "globals@npm:16.4.0"
+ checksum: 10/1627a9f42fb4c82d7af6a0c8b6cd616e00110908304d5f1ddcdf325998f3aed45a4b29d8a1e47870f328817805263e31e4f1673f00022b9c2b210552767921cf
languageName: node
linkType: hard
-"globals@npm:^13.19.0":
- version: 13.24.0
- resolution: "globals@npm:13.24.0"
- dependencies:
- type-fest: "npm:^0.20.2"
- checksum: 10/62c5b1997d06674fc7191d3e01e324d3eda4d65ac9cc4e78329fa3b5c4fd42a0e1c8722822497a6964eee075255ce21ccf1eec2d83f92ef3f06653af4d0ee28e
+"globals@npm:^14.0.0":
+ version: 14.0.0
+ resolution: "globals@npm:14.0.0"
+ checksum: 10/03939c8af95c6df5014b137cac83aa909090c3a3985caef06ee9a5a669790877af8698ab38007e4c0186873adc14c0b13764acc754b16a754c216cc56aa5f021
languageName: node
linkType: hard
@@ -3236,13 +3512,6 @@ __metadata:
languageName: node
linkType: hard
-"graphemer@npm:^1.4.0":
- version: 1.4.0
- resolution: "graphemer@npm:1.4.0"
- checksum: 10/6dd60dba97007b21e3a829fab3f771803cc1292977fe610e240ea72afd67e5690ac9eeaafc4a99710e78962e5936ab5a460787c2a1180f1cb0ccfac37d29f897
- languageName: node
- linkType: hard
-
"has-bigints@npm:^1.0.2":
version: 1.1.0
resolution: "has-bigints@npm:1.1.0"
@@ -3375,22 +3644,38 @@ __metadata:
languageName: node
linkType: hard
-"html-dom-parser@npm:5.1.2":
- version: 5.1.2
- resolution: "html-dom-parser@npm:5.1.2"
+"hermes-estree@npm:0.25.1":
+ version: 0.25.1
+ resolution: "hermes-estree@npm:0.25.1"
+ checksum: 10/7b1eca98b264a25632064cffa5771360d30cf452e77db1e191f9913ee45cf78c292b2dbca707e92fb71b0870abb97e94b506a5ab80abd96ba237fee169b601fe
+ languageName: node
+ linkType: hard
+
+"hermes-parser@npm:^0.25.1":
+ version: 0.25.1
+ resolution: "hermes-parser@npm:0.25.1"
+ dependencies:
+ hermes-estree: "npm:0.25.1"
+ checksum: 10/805efc05691420f236654349872c70731121791fa54de521c7ee51059eae34f84dd19f22ee846741dcb60372f8fb5335719b96b4ecb010d2aed7d872f2eff9cc
+ languageName: node
+ linkType: hard
+
+"html-dom-parser@npm:5.1.8":
+ version: 5.1.8
+ resolution: "html-dom-parser@npm:5.1.8"
dependencies:
domhandler: "npm:5.0.3"
- htmlparser2: "npm:10.0.0"
- checksum: 10/d54fcdafbc0b2881c441a396965ad285072d2e4df62bebe7074d7aaa2a1fffc95e9286bcb81d6f241c4cdb10a84435fa623738985b635574acb3c84e994e8bb6
+ htmlparser2: "npm:10.1.0"
+ checksum: 10/579deb63bd0981912983121971f687c952d7b2bf5c43dada2fe8eeb85f51f388ed084ffb6452afd136cd9db3ccbd1c9a6b3200d39c522acfecd50ee7f0c8ad25
languageName: node
linkType: hard
"html-react-parser@npm:^5.2.5":
- version: 5.2.11
- resolution: "html-react-parser@npm:5.2.11"
+ version: 5.2.17
+ resolution: "html-react-parser@npm:5.2.17"
dependencies:
domhandler: "npm:5.0.3"
- html-dom-parser: "npm:5.1.2"
+ html-dom-parser: "npm:5.1.8"
react-property: "npm:2.0.2"
style-to-js: "npm:1.1.21"
peerDependencies:
@@ -3399,7 +3684,7 @@ __metadata:
peerDependenciesMeta:
"@types/react":
optional: true
- checksum: 10/5b52699e63e6ebd7c1c2d76f6b5214fdbf017571785c5c01f0630704a84fcd3b75a9539e0f4e8bb65e91d8871ee3e80980baa21660cfd9749587dafd96a959bf
+ checksum: 10/74ec0bc5945a90fd154c84830ff1caaa6c686c1c0c82330a1e3cda18b15c8f9b177d2c564d1d3cf566b586c34ce78e2006692aeda3300b0ba30c5234cb7b07c8
languageName: node
linkType: hard
@@ -3410,15 +3695,15 @@ __metadata:
languageName: node
linkType: hard
-"htmlparser2@npm:10.0.0":
- version: 10.0.0
- resolution: "htmlparser2@npm:10.0.0"
+"htmlparser2@npm:10.1.0":
+ version: 10.1.0
+ resolution: "htmlparser2@npm:10.1.0"
dependencies:
domelementtype: "npm:^2.3.0"
domhandler: "npm:^5.0.3"
- domutils: "npm:^3.2.1"
- entities: "npm:^6.0.0"
- checksum: 10/768870f0e020dca19dc45df206cb6ac466c5dba6566c8fca4ca880347eed409f9977028d08644ac516bca8628ac9c7ded5a3847dc3ee1c043f049abf9e817154
+ domutils: "npm:^3.2.2"
+ entities: "npm:^7.0.1"
+ checksum: 10/660fb094a53fb77a3c771db969778b58af0e8a572a1bdc8e5952a4241e4b04e0a6063b16f6422e22c821441081c8de339e3f06ddda362ac2a42c8767d5e5ad53
languageName: node
linkType: hard
@@ -3465,7 +3750,7 @@ __metadata:
languageName: node
linkType: hard
-"ignore@npm:^7.0.0":
+"ignore@npm:^7.0.5":
version: 7.0.5
resolution: "ignore@npm:7.0.5"
checksum: 10/f134b96a4de0af419196f52c529d5c6120c4456ff8a6b5a14ceaaa399f883e15d58d2ce651c9b69b9388491d4669dda47285d307e827de9304a53a1824801bc6
@@ -3489,23 +3774,6 @@ __metadata:
languageName: node
linkType: hard
-"inflight@npm:^1.0.4":
- version: 1.0.6
- resolution: "inflight@npm:1.0.6"
- dependencies:
- once: "npm:^1.3.0"
- wrappy: "npm:1"
- checksum: 10/d2ebd65441a38c8336c223d1b80b921b9fa737e37ea466fd7e253cb000c64ae1f17fa59e68130ef5bda92cfd8d36b83d37dab0eb0a4558bcfec8e8cdfd2dcb67
- languageName: node
- linkType: hard
-
-"inherits@npm:2":
- version: 2.0.4
- resolution: "inherits@npm:2.0.4"
- checksum: 10/cd45e923bee15186c07fa4c89db0aace24824c482fb887b528304694b2aa6ff8a898da8657046a5dcf3e46cd6db6c61629551f9215f208d7c3f157cf9b290521
- languageName: node
- linkType: hard
-
"inline-style-parser@npm:0.2.7":
version: 0.2.7
resolution: "inline-style-parser@npm:0.2.7"
@@ -3559,13 +3827,6 @@ __metadata:
languageName: node
linkType: hard
-"is-arrayish@npm:^0.3.1":
- version: 0.3.2
- resolution: "is-arrayish@npm:0.3.2"
- checksum: 10/81a78d518ebd8b834523e25d102684ee0f7e98637136d3bdc93fd09636350fa06f1d8ca997ea28143d4d13cb1b69c0824f082db0ac13e1ab3311c10ffea60ade
- languageName: node
- linkType: hard
-
"is-async-function@npm:^2.0.0":
version: 2.1.1
resolution: "is-async-function@npm:2.1.1"
@@ -3742,13 +4003,6 @@ __metadata:
languageName: node
linkType: hard
-"is-path-inside@npm:^3.0.3":
- version: 3.0.3
- resolution: "is-path-inside@npm:3.0.3"
- checksum: 10/abd50f06186a052b349c15e55b182326f1936c89a78bf6c8f2b707412517c097ce04bc49a0ca221787bc44e1049f51f09a2ffb63d22899051988d3a618ba13e9
- languageName: node
- linkType: hard
-
"is-plain-obj@npm:^4.0.0":
version: 4.1.0
resolution: "is-plain-obj@npm:4.1.0"
@@ -3895,7 +4149,7 @@ __metadata:
languageName: node
linkType: hard
-"js-yaml@npm:^4.1.0":
+"js-yaml@npm:^4.1.1":
version: 4.1.1
resolution: "js-yaml@npm:4.1.1"
dependencies:
@@ -3906,6 +4160,15 @@ __metadata:
languageName: node
linkType: hard
+"jsesc@npm:^3.0.2":
+ version: 3.1.0
+ resolution: "jsesc@npm:3.1.0"
+ bin:
+ jsesc: bin/jsesc
+ checksum: 10/20bd37a142eca5d1794f354db8f1c9aeb54d85e1f5c247b371de05d23a9751ecd7bd3a9c4fc5298ea6fa09a100dafb4190fa5c98c6610b75952c3487f3ce7967
+ languageName: node
+ linkType: hard
+
"json-buffer@npm:3.0.1":
version: 3.0.1
resolution: "json-buffer@npm:3.0.1"
@@ -3938,6 +4201,15 @@ __metadata:
languageName: node
linkType: hard
+"json5@npm:^2.2.3":
+ version: 2.2.3
+ resolution: "json5@npm:2.2.3"
+ bin:
+ json5: lib/cli.js
+ checksum: 10/1db67b853ff0de3534085d630691d3247de53a2ed1390ba0ddff681ea43e9b3e30ecbdb65c5e9aab49435e44059c23dbd6fee8ee619419ba37465bb0dd7135da
+ languageName: node
+ linkType: hard
+
"jsx-ast-utils@npm:^2.4.1 || ^3.0.0, jsx-ast-utils@npm:^3.3.5":
version: 3.3.5
resolution: "jsx-ast-utils@npm:3.3.5"
@@ -3950,7 +4222,7 @@ __metadata:
languageName: node
linkType: hard
-"keyv@npm:^4.5.3":
+"keyv@npm:^4.5.4":
version: 4.5.4
resolution: "keyv@npm:4.5.4"
dependencies:
@@ -4146,6 +4418,15 @@ __metadata:
languageName: node
linkType: hard
+"lru-cache@npm:^5.1.1":
+ version: 5.1.1
+ resolution: "lru-cache@npm:5.1.1"
+ dependencies:
+ yallist: "npm:^3.0.2"
+ checksum: 10/951d2673dcc64a7fb888bf3d13bc2fdf923faca97d89cdb405ba3dfff77e2b26e5798d405e78fcd7094c9e7b8b4dab2ddc5a4f8a11928af24a207b7c738ca3f8
+ languageName: node
+ linkType: hard
+
"make-fetch-happen@npm:^14.0.3":
version: 14.0.3
resolution: "make-fetch-happen@npm:14.0.3"
@@ -4664,7 +4945,7 @@ __metadata:
languageName: node
linkType: hard
-"micromatch@npm:^4.0.4, micromatch@npm:^4.0.8":
+"micromatch@npm:^4.0.4":
version: 4.0.8
resolution: "micromatch@npm:4.0.8"
dependencies:
@@ -4674,7 +4955,7 @@ __metadata:
languageName: node
linkType: hard
-"minimatch@npm:^3.0.5, minimatch@npm:^3.1.1, minimatch@npm:^3.1.2":
+"minimatch@npm:^3.1.2":
version: 3.1.2
resolution: "minimatch@npm:3.1.2"
dependencies:
@@ -4683,7 +4964,7 @@ __metadata:
languageName: node
linkType: hard
-"minimatch@npm:^9.0.4":
+"minimatch@npm:^9.0.4, minimatch@npm:^9.0.5":
version: 9.0.5
resolution: "minimatch@npm:9.0.5"
dependencies:
@@ -4775,27 +5056,27 @@ __metadata:
languageName: node
linkType: hard
-"motion-dom@npm:^12.28.1":
- version: 12.28.1
- resolution: "motion-dom@npm:12.28.1"
+"motion-dom@npm:^12.33.0":
+ version: 12.33.0
+ resolution: "motion-dom@npm:12.33.0"
dependencies:
- motion-utils: "npm:^12.27.2"
- checksum: 10/a0ba8bbd137d4b21df4fe517c2a9e02c891270974f212909929aadcc3043a3655bb28d2eceeb58152ee0ce25381fe0dd1a06c3b1e48ba15a5b13ec20938b42b0
+ motion-utils: "npm:^12.29.2"
+ checksum: 10/0993bb6380c16fc8c9a2f5a5c4638f3d31bf7680e0683292478d8101489bd86830bb59e8fca8d84ee9b7dadbcfd1f1541de2a47dc7a1294ce34abb00ca5caed5
languageName: node
linkType: hard
-"motion-utils@npm:^12.27.2":
- version: 12.27.2
- resolution: "motion-utils@npm:12.27.2"
- checksum: 10/e4c4724b1bf11d5c6dca17e8c2fd42dc7270f03ca1fd1669908e3b8bb2cd528669c7aab8df134fedbc94806edb2f9e0e9f84c66cbe77d0cb923733417b5f9f79
+"motion-utils@npm:^12.29.2":
+ version: 12.29.2
+ resolution: "motion-utils@npm:12.29.2"
+ checksum: 10/ae5f9be58c07939af72334894ed1a18653d724946182a718dc3d11268ef26e63804c3f16dee5a6110596d4406b539c4513822b74f86adebef9488601c34b18b7
languageName: node
linkType: hard
"motion@npm:^12.4.1":
- version: 12.28.1
- resolution: "motion@npm:12.28.1"
+ version: 12.33.0
+ resolution: "motion@npm:12.33.0"
dependencies:
- framer-motion: "npm:^12.28.1"
+ framer-motion: "npm:^12.33.0"
tslib: "npm:^2.4.0"
peerDependencies:
"@emotion/is-prop-valid": "*"
@@ -4808,7 +5089,7 @@ __metadata:
optional: true
react-dom:
optional: true
- checksum: 10/4ad4e36ec237f22341db24a3beb87d3126facc52acde4d02d8b59cf3cbb98512e7e2aefe3256cc6e00e53a44fcaf01c998c427d79a113048b5a676524608cac5
+ checksum: 10/492e5a552b3c548d88a4597e611cf5c2709b26089500bbebf155ee9ec52aeaf00c35f262b65c924a3419f05da92a97caa4617263781d8f6651cc1ac10b97f548
languageName: node
linkType: hard
@@ -4869,23 +5150,24 @@ __metadata:
languageName: node
linkType: hard
-"next@npm:15.5.9":
- version: 15.5.9
- resolution: "next@npm:15.5.9"
+"next@npm:16.1.6":
+ version: 16.1.6
+ resolution: "next@npm:16.1.6"
dependencies:
- "@next/env": "npm:15.5.9"
- "@next/swc-darwin-arm64": "npm:15.5.7"
- "@next/swc-darwin-x64": "npm:15.5.7"
- "@next/swc-linux-arm64-gnu": "npm:15.5.7"
- "@next/swc-linux-arm64-musl": "npm:15.5.7"
- "@next/swc-linux-x64-gnu": "npm:15.5.7"
- "@next/swc-linux-x64-musl": "npm:15.5.7"
- "@next/swc-win32-arm64-msvc": "npm:15.5.7"
- "@next/swc-win32-x64-msvc": "npm:15.5.7"
+ "@next/env": "npm:16.1.6"
+ "@next/swc-darwin-arm64": "npm:16.1.6"
+ "@next/swc-darwin-x64": "npm:16.1.6"
+ "@next/swc-linux-arm64-gnu": "npm:16.1.6"
+ "@next/swc-linux-arm64-musl": "npm:16.1.6"
+ "@next/swc-linux-x64-gnu": "npm:16.1.6"
+ "@next/swc-linux-x64-musl": "npm:16.1.6"
+ "@next/swc-win32-arm64-msvc": "npm:16.1.6"
+ "@next/swc-win32-x64-msvc": "npm:16.1.6"
"@swc/helpers": "npm:0.5.15"
+ baseline-browser-mapping: "npm:^2.8.3"
caniuse-lite: "npm:^1.0.30001579"
postcss: "npm:8.4.31"
- sharp: "npm:^0.34.3"
+ sharp: "npm:^0.34.4"
styled-jsx: "npm:5.1.6"
peerDependencies:
"@opentelemetry/api": ^1.1.0
@@ -4924,7 +5206,7 @@ __metadata:
optional: true
bin:
next: dist/bin/next
- checksum: 10/ac27b82de08c9720e8e99cd64102af5e30306a8c861630d50da347a02c288cc441273ada64875c47e7a4d5991ff69cc92b23e906ce3271f9835a7911a0f060cc
+ checksum: 10/00322378df865d4f00d232f8b1f42f4f0ad114e1d14f660d483b01ccd533459af6202e2f80067bf41a97aa0c99c3ae1d21a0aef2c081b0a9f456b978de4bf757
languageName: node
linkType: hard
@@ -4948,6 +5230,13 @@ __metadata:
languageName: node
linkType: hard
+"node-releases@npm:^2.0.27":
+ version: 2.0.27
+ resolution: "node-releases@npm:2.0.27"
+ checksum: 10/f6c78ddb392ae500719644afcbe68a9ea533242c02312eb6a34e8478506eb7482a3fb709c70235b01c32fe65625b68dfa9665113f816d87f163bc3819b62b106
+ languageName: node
+ linkType: hard
+
"nopt@npm:^8.0.0":
version: 8.1.0
resolution: "nopt@npm:8.1.0"
@@ -5048,15 +5337,6 @@ __metadata:
languageName: node
linkType: hard
-"once@npm:^1.3.0":
- version: 1.4.0
- resolution: "once@npm:1.4.0"
- dependencies:
- wrappy: "npm:1"
- checksum: 10/cd0a88501333edd640d95f0d2700fbde6bff20b3d4d9bdc521bdd31af0656b5706570d6c6afe532045a20bb8dc0849f8332d6f2a416e0ba6d3d3b98806c7db68
- languageName: node
- linkType: hard
-
"oniguruma-parser@npm:^0.12.1":
version: 0.12.1
resolution: "oniguruma-parser@npm:0.12.1"
@@ -5163,13 +5443,6 @@ __metadata:
languageName: node
linkType: hard
-"path-is-absolute@npm:^1.0.0":
- version: 1.0.1
- resolution: "path-is-absolute@npm:1.0.1"
- checksum: 10/060840f92cf8effa293bcc1bea81281bd7d363731d214cbe5c227df207c34cd727430f70c6037b5159c8a870b9157cba65e775446b0ab06fd5ecc7e54615a3b8
- languageName: node
- linkType: hard
-
"path-key@npm:^3.1.0":
version: 3.1.1
resolution: "path-key@npm:3.1.1"
@@ -5208,7 +5481,7 @@ __metadata:
languageName: node
linkType: hard
-"picomatch@npm:^4.0.2":
+"picomatch@npm:^4.0.3":
version: 4.0.3
resolution: "picomatch@npm:4.0.3"
checksum: 10/57b99055f40b16798f2802916d9c17e9744e620a0db136554af01d19598b96e45e2f00014c91d1b8b13874b80caa8c295b3d589a3f72373ec4aaf54baa5962d5
@@ -5289,14 +5562,14 @@ __metadata:
languageName: node
linkType: hard
-"react-dom@npm:19.1.1":
- version: 19.1.1
- resolution: "react-dom@npm:19.1.1"
+"react-dom@npm:19.2.4":
+ version: 19.2.4
+ resolution: "react-dom@npm:19.2.4"
dependencies:
- scheduler: "npm:^0.26.0"
+ scheduler: "npm:^0.27.0"
peerDependencies:
- react: ^19.1.1
- checksum: 10/9005415d2175b1f1eb4a544ad04afb29691bb7b6dd43bbdaa09932146b310b73bd4552bc772ad78fa481f409eada1560cf887606c83c1a53a922c1e30f1b3a34
+ react: ^19.2.4
+ checksum: 10/ec17721a8cb131bc33480a9f738bc5bbfe4bd11b11cf69f3f473605346578a329ad26ceef6ef0761ea67a4b455803407dd7ed4ba3d8a5abd2cee8c32d221e498
languageName: node
linkType: hard
@@ -5314,10 +5587,10 @@ __metadata:
languageName: node
linkType: hard
-"react@npm:19.1.1":
- version: 19.1.1
- resolution: "react@npm:19.1.1"
- checksum: 10/9801530fdc939e1a7a499422e930515b2400809cb39c2872984e99f832d233f61659a693871183dac3155c2f9b2c9dcf4440a56bd18983277ae92860e38c3a61
+"react@npm:19.2.4":
+ version: 19.2.4
+ resolution: "react@npm:19.2.4"
+ checksum: 10/18179fe217f67eb2d0bc61cd04e7ad3c282ea09a1dface7eacd71816f62609f4bbf566c447c704335284deb8397b00bca084e0cd60e6f437279a7498e2d0bfe0
languageName: node
linkType: hard
@@ -5581,17 +5854,6 @@ __metadata:
languageName: node
linkType: hard
-"rimraf@npm:^3.0.2":
- version: 3.0.2
- resolution: "rimraf@npm:3.0.2"
- dependencies:
- glob: "npm:^7.1.3"
- bin:
- rimraf: bin.js
- checksum: 10/063ffaccaaaca2cfd0ef3beafb12d6a03dd7ff1260d752d62a6077b5dfff6ae81bea571f655bb6b589d366930ec1bdd285d40d560c0dae9b12f125e54eb743d5
- languageName: node
- linkType: hard
-
"run-parallel@npm:^1.1.9":
version: 1.2.0
resolution: "run-parallel@npm:1.2.0"
@@ -5642,10 +5904,10 @@ __metadata:
languageName: node
linkType: hard
-"scheduler@npm:^0.26.0":
- version: 0.26.0
- resolution: "scheduler@npm:0.26.0"
- checksum: 10/1ecf2e5d7de1a7a132796834afe14a2d589ba7e437615bd8c06f3e0786a3ac3434655e67aac8755d9b14e05754c177e49c064261de2673aaa3c926bc98caa002
+"scheduler@npm:^0.27.0":
+ version: 0.27.0
+ resolution: "scheduler@npm:0.27.0"
+ checksum: 10/eab3c3a8373195173e59c147224fc30dabe6dd453f248f5e610e8458512a5a2ee3a06465dc400ebfe6d35c9f5b7f3bb6b2e41c88c86fd177c25a73e7286a1e06
languageName: node
linkType: hard
@@ -5658,12 +5920,12 @@ __metadata:
languageName: node
linkType: hard
-"semver@npm:^7.3.5, semver@npm:^7.6.0, semver@npm:^7.7.1, semver@npm:^7.7.2":
- version: 7.7.2
- resolution: "semver@npm:7.7.2"
+"semver@npm:^7.3.5, semver@npm:^7.7.1, semver@npm:^7.7.3":
+ version: 7.7.3
+ resolution: "semver@npm:7.7.3"
bin:
semver: bin/semver.js
- checksum: 10/7a24cffcaa13f53c09ce55e05efe25cd41328730b2308678624f8b9f5fc3093fc4d189f47950f0b811ff8f3c3039c24a2c36717ba7961615c682045bf03e1dda
+ checksum: 10/8dbc3168e057a38fc322af909c7f5617483c50caddba135439ff09a754b20bdd6482a5123ff543dad4affa488ecf46ec5fb56d61312ad20bb140199b88dfaea9
languageName: node
linkType: hard
@@ -5713,35 +5975,37 @@ __metadata:
languageName: node
linkType: hard
-"sharp@npm:^0.34.3":
- version: 0.34.3
- resolution: "sharp@npm:0.34.3"
+"sharp@npm:^0.34.4":
+ version: 0.34.5
+ resolution: "sharp@npm:0.34.5"
dependencies:
- "@img/sharp-darwin-arm64": "npm:0.34.3"
- "@img/sharp-darwin-x64": "npm:0.34.3"
- "@img/sharp-libvips-darwin-arm64": "npm:1.2.0"
- "@img/sharp-libvips-darwin-x64": "npm:1.2.0"
- "@img/sharp-libvips-linux-arm": "npm:1.2.0"
- "@img/sharp-libvips-linux-arm64": "npm:1.2.0"
- "@img/sharp-libvips-linux-ppc64": "npm:1.2.0"
- "@img/sharp-libvips-linux-s390x": "npm:1.2.0"
- "@img/sharp-libvips-linux-x64": "npm:1.2.0"
- "@img/sharp-libvips-linuxmusl-arm64": "npm:1.2.0"
- "@img/sharp-libvips-linuxmusl-x64": "npm:1.2.0"
- "@img/sharp-linux-arm": "npm:0.34.3"
- "@img/sharp-linux-arm64": "npm:0.34.3"
- "@img/sharp-linux-ppc64": "npm:0.34.3"
- "@img/sharp-linux-s390x": "npm:0.34.3"
- "@img/sharp-linux-x64": "npm:0.34.3"
- "@img/sharp-linuxmusl-arm64": "npm:0.34.3"
- "@img/sharp-linuxmusl-x64": "npm:0.34.3"
- "@img/sharp-wasm32": "npm:0.34.3"
- "@img/sharp-win32-arm64": "npm:0.34.3"
- "@img/sharp-win32-ia32": "npm:0.34.3"
- "@img/sharp-win32-x64": "npm:0.34.3"
- color: "npm:^4.2.3"
- detect-libc: "npm:^2.0.4"
- semver: "npm:^7.7.2"
+ "@img/colour": "npm:^1.0.0"
+ "@img/sharp-darwin-arm64": "npm:0.34.5"
+ "@img/sharp-darwin-x64": "npm:0.34.5"
+ "@img/sharp-libvips-darwin-arm64": "npm:1.2.4"
+ "@img/sharp-libvips-darwin-x64": "npm:1.2.4"
+ "@img/sharp-libvips-linux-arm": "npm:1.2.4"
+ "@img/sharp-libvips-linux-arm64": "npm:1.2.4"
+ "@img/sharp-libvips-linux-ppc64": "npm:1.2.4"
+ "@img/sharp-libvips-linux-riscv64": "npm:1.2.4"
+ "@img/sharp-libvips-linux-s390x": "npm:1.2.4"
+ "@img/sharp-libvips-linux-x64": "npm:1.2.4"
+ "@img/sharp-libvips-linuxmusl-arm64": "npm:1.2.4"
+ "@img/sharp-libvips-linuxmusl-x64": "npm:1.2.4"
+ "@img/sharp-linux-arm": "npm:0.34.5"
+ "@img/sharp-linux-arm64": "npm:0.34.5"
+ "@img/sharp-linux-ppc64": "npm:0.34.5"
+ "@img/sharp-linux-riscv64": "npm:0.34.5"
+ "@img/sharp-linux-s390x": "npm:0.34.5"
+ "@img/sharp-linux-x64": "npm:0.34.5"
+ "@img/sharp-linuxmusl-arm64": "npm:0.34.5"
+ "@img/sharp-linuxmusl-x64": "npm:0.34.5"
+ "@img/sharp-wasm32": "npm:0.34.5"
+ "@img/sharp-win32-arm64": "npm:0.34.5"
+ "@img/sharp-win32-ia32": "npm:0.34.5"
+ "@img/sharp-win32-x64": "npm:0.34.5"
+ detect-libc: "npm:^2.1.2"
+ semver: "npm:^7.7.3"
dependenciesMeta:
"@img/sharp-darwin-arm64":
optional: true
@@ -5757,6 +6021,8 @@ __metadata:
optional: true
"@img/sharp-libvips-linux-ppc64":
optional: true
+ "@img/sharp-libvips-linux-riscv64":
+ optional: true
"@img/sharp-libvips-linux-s390x":
optional: true
"@img/sharp-libvips-linux-x64":
@@ -5771,6 +6037,8 @@ __metadata:
optional: true
"@img/sharp-linux-ppc64":
optional: true
+ "@img/sharp-linux-riscv64":
+ optional: true
"@img/sharp-linux-s390x":
optional: true
"@img/sharp-linux-x64":
@@ -5787,7 +6055,7 @@ __metadata:
optional: true
"@img/sharp-win32-x64":
optional: true
- checksum: 10/b8ca871c99b48601c47f5dfabf32e38e60071a93e359b3c765d398f708a7cf3735d1bd804b72a957246a3b215fd281a17f887d9c36ebfa690c90fa5fe142d2cd
+ checksum: 10/d62bc638c8ad382dffc266beeaffab71457d592abeb6fdf95b512e6dcbce0abf47b8d903b4ea081f012ceb40e4462f1e219184c729329146df32a5ccec2c231f
languageName: node
linkType: hard
@@ -5808,18 +6076,18 @@ __metadata:
linkType: hard
"shiki@npm:^3.13.0":
- version: 3.19.0
- resolution: "shiki@npm:3.19.0"
+ version: 3.22.0
+ resolution: "shiki@npm:3.22.0"
dependencies:
- "@shikijs/core": "npm:3.19.0"
- "@shikijs/engine-javascript": "npm:3.19.0"
- "@shikijs/engine-oniguruma": "npm:3.19.0"
- "@shikijs/langs": "npm:3.19.0"
- "@shikijs/themes": "npm:3.19.0"
- "@shikijs/types": "npm:3.19.0"
+ "@shikijs/core": "npm:3.22.0"
+ "@shikijs/engine-javascript": "npm:3.22.0"
+ "@shikijs/engine-oniguruma": "npm:3.22.0"
+ "@shikijs/langs": "npm:3.22.0"
+ "@shikijs/themes": "npm:3.22.0"
+ "@shikijs/types": "npm:3.22.0"
"@shikijs/vscode-textmate": "npm:^10.0.2"
"@types/hast": "npm:^3.0.4"
- checksum: 10/004dabc26a9db25c69f1aa6ed0555c8a5a34153084a1aa5f42fa03edf800ca13dd468ad6d7ba4cbf8f36dc8d316a7de29cecec228ea8d2d252f4c4c95eb162e6
+ checksum: 10/f9977e75f666253cc679e74b774af2afdfa48d52c631ab1448f47a90cd97f2290bcf50356f5b0d01a282da7f9e9f7e1938d585b213688e0d842fcba4a785f870
languageName: node
linkType: hard
@@ -5878,15 +6146,6 @@ __metadata:
languageName: node
linkType: hard
-"simple-swizzle@npm:^0.2.2":
- version: 0.2.2
- resolution: "simple-swizzle@npm:0.2.2"
- dependencies:
- is-arrayish: "npm:^0.3.1"
- checksum: 10/c6dffff17aaa383dae7e5c056fbf10cf9855a9f79949f20ee225c04f06ddde56323600e0f3d6797e82d08d006e93761122527438ee9531620031c08c9e0d73cc
- languageName: node
- linkType: hard
-
"smart-buffer@npm:^4.2.0":
version: 4.2.0
resolution: "smart-buffer@npm:4.2.0"
@@ -6171,32 +6430,25 @@ __metadata:
linkType: hard
"tar@npm:^7.4.3":
- version: 7.5.6
- resolution: "tar@npm:7.5.6"
+ version: 7.5.7
+ resolution: "tar@npm:7.5.7"
dependencies:
"@isaacs/fs-minipass": "npm:^4.0.0"
chownr: "npm:^3.0.0"
minipass: "npm:^7.1.2"
minizlib: "npm:^3.1.0"
yallist: "npm:^5.0.0"
- checksum: 10/cf4a84d79b9327fcf765f2ea16de4702b9b8dd7dc6b1840b16e0f999628d96b81b2c7efbf83d4eb42b0164856f1db887a5a61ffef97d36cdb77cac742219f9ee
+ checksum: 10/0d6938dd32fe5c0f17c8098d92bd9889ee0ed9d11f12381b8146b6e8c87bb5aa49feec7abc42463f0597503d8e89e4c4c0b42bff1a5a38444e918b4878b7fd21
languageName: node
linkType: hard
-"text-table@npm:^0.2.0":
- version: 0.2.0
- resolution: "text-table@npm:0.2.0"
- checksum: 10/4383b5baaeffa9bb4cda2ac33a4aa2e6d1f8aaf811848bf73513a9b88fd76372dc461f6fd6d2e9cb5100f48b473be32c6f95bd983509b7d92bb4d92c10747452
- languageName: node
- linkType: hard
-
-"tinyglobby@npm:^0.2.12, tinyglobby@npm:^0.2.13":
- version: 0.2.14
- resolution: "tinyglobby@npm:0.2.14"
+"tinyglobby@npm:^0.2.12, tinyglobby@npm:^0.2.13, tinyglobby@npm:^0.2.15":
+ version: 0.2.15
+ resolution: "tinyglobby@npm:0.2.15"
dependencies:
- fdir: "npm:^6.4.4"
- picomatch: "npm:^4.0.2"
- checksum: 10/3d306d319718b7cc9d79fb3f29d8655237aa6a1f280860a217f93417039d0614891aee6fc47c5db315f4fcc6ac8d55eb8e23e2de73b2c51a431b42456d9e5764
+ fdir: "npm:^6.5.0"
+ picomatch: "npm:^4.0.3"
+ checksum: 10/d72bd826a8b0fa5fa3929e7fe5ba48fceb2ae495df3a231b6c5408cd7d8c00b58ab5a9c2a76ba56a62ee9b5e083626f1f33599734bed1ffc4b792406408f0ca2
languageName: node
linkType: hard
@@ -6223,12 +6475,12 @@ __metadata:
languageName: node
linkType: hard
-"ts-api-utils@npm:^2.1.0":
- version: 2.1.0
- resolution: "ts-api-utils@npm:2.1.0"
+"ts-api-utils@npm:^2.4.0":
+ version: 2.4.0
+ resolution: "ts-api-utils@npm:2.4.0"
peerDependencies:
typescript: ">=4.8.4"
- checksum: 10/02e55b49d9617c6eebf8aadfa08d3ca03ca0cd2f0586ad34117fdfc7aa3cd25d95051843fde9df86665ad907f99baed179e7a117b11021417f379e4d2614eacd
+ checksum: 10/d6b2b3b6caad8d2f4ddc0c3785d22bb1a6041773335a1c71d73a5d67d11d993763fe8e4faefc4a4d03bb42b26c6126bbcf2e34826baed1def5369d0ebad358fa
languageName: node
linkType: hard
@@ -6260,13 +6512,6 @@ __metadata:
languageName: node
linkType: hard
-"type-fest@npm:^0.20.2":
- version: 0.20.2
- resolution: "type-fest@npm:0.20.2"
- checksum: 10/8907e16284b2d6cfa4f4817e93520121941baba36b39219ea36acfe64c86b9dbc10c9941af450bd60832c8f43464974d51c0957f9858bc66b952b66b6914cbb9
- languageName: node
- linkType: hard
-
"type-fest@npm:^4.31.0":
version: 4.41.0
resolution: "type-fest@npm:4.41.0"
@@ -6327,6 +6572,21 @@ __metadata:
languageName: node
linkType: hard
+"typescript-eslint@npm:^8.46.0":
+ version: 8.54.0
+ resolution: "typescript-eslint@npm:8.54.0"
+ dependencies:
+ "@typescript-eslint/eslint-plugin": "npm:8.54.0"
+ "@typescript-eslint/parser": "npm:8.54.0"
+ "@typescript-eslint/typescript-estree": "npm:8.54.0"
+ "@typescript-eslint/utils": "npm:8.54.0"
+ peerDependencies:
+ eslint: ^8.57.0 || ^9.0.0
+ typescript: ">=4.8.4 <6.0.0"
+ checksum: 10/21b1a27fd44716df8d2c7bac4ebd0caef196a04375fff7919dc817066017b6b8700f1e242bd065a26ac7ce0505b7a588626099e04a28142504ed4f0aae8bffb1
+ languageName: node
+ linkType: hard
+
"typescript@npm:^5":
version: 5.9.3
resolution: "typescript@npm:5.9.3"
@@ -6541,6 +6801,20 @@ __metadata:
languageName: node
linkType: hard
+"update-browserslist-db@npm:^1.2.0":
+ version: 1.2.3
+ resolution: "update-browserslist-db@npm:1.2.3"
+ dependencies:
+ escalade: "npm:^3.2.0"
+ picocolors: "npm:^1.1.1"
+ peerDependencies:
+ browserslist: ">= 4.21.0"
+ bin:
+ update-browserslist-db: cli.js
+ checksum: 10/059f774300efb4b084a49293143c511f3ae946d40397b5c30914e900cd5691a12b8e61b41dd54ed73d3b56c8204165a0333107dd784ccf8f8c81790bcc423175
+ languageName: node
+ linkType: hard
+
"uri-js@npm:^4.2.2":
version: 4.4.1
resolution: "uri-js@npm:4.4.1"
@@ -6708,10 +6982,10 @@ __metadata:
languageName: node
linkType: hard
-"wrappy@npm:1":
- version: 1.0.2
- resolution: "wrappy@npm:1.0.2"
- checksum: 10/159da4805f7e84a3d003d8841557196034155008f817172d4e986bd591f74aa82aa7db55929a54222309e01079a65a92a9e6414da5a6aa4b01ee44a511ac3ee5
+"yallist@npm:^3.0.2":
+ version: 3.1.1
+ resolution: "yallist@npm:3.1.1"
+ checksum: 10/9af0a4329c3c6b779ac4736c69fae4190ac03029fa27c1aef4e6bcc92119b73dea6fe5db5fe881fb0ce2a0e9539a42cdf60c7c21eda04d1a0b8c082e38509efb
languageName: node
linkType: hard
@@ -6745,6 +7019,22 @@ __metadata:
languageName: node
linkType: hard
+"zod-validation-error@npm:^3.5.0 || ^4.0.0":
+ version: 4.0.2
+ resolution: "zod-validation-error@npm:4.0.2"
+ peerDependencies:
+ zod: ^3.25.0 || ^4.0.0
+ checksum: 10/5e35ca8ebb4602dcb526e122d7e9fca695c4a479bd97535f3400a732d49160f24f7213a9ed64986fc9dc3a2e8a6c4e1241ec0c4d8a4e3e69ea91a0328ded2192
+ languageName: node
+ linkType: hard
+
+"zod@npm:^3.25.0 || ^4.0.0":
+ version: 4.3.6
+ resolution: "zod@npm:4.3.6"
+ checksum: 10/25fc0f62e01b557b4644bf0b393bbaf47542ab30877c37837ea8caf314a8713d220c7d7fe51f68ffa72f0e1018ddfa34d96f1973d23033f5a2a5a9b6b9d9da01
+ languageName: node
+ linkType: hard
+
"zwitch@npm:^2.0.0, zwitch@npm:^2.0.4":
version: 2.0.4
resolution: "zwitch@npm:2.0.4"
diff --git a/docs/.release-notes-template.md b/docs/.release-notes-template.md
index 4861bf0b22..7b4c4d6299 100644
--- a/docs/.release-notes-template.md
+++ b/docs/.release-notes-template.md
@@ -37,4 +37,4 @@ Below you can find a list of links and references to help you learn about and st
- [Changelog](https://github.com/backstage/backstage/tree/master/docs/releases/v1.1.0-changelog.md)
- Backstage [Demos](https://backstage.io/demos), [Blog](https://backstage.io/blog), [Roadmap](https://backstage.io/docs/overview/roadmap) and [Plugins](https://backstage.io/plugins)
-Sign up for our [newsletter](https://info.backstage.spotify.com/newsletter_subscribe) if you want to be informed about what is happening in the world of Backstage.
+Sign up for our [newsletter](https://spoti.fi/backstagenewsletter) if you want to be informed about what is happening in the world of Backstage.
diff --git a/docs/api/utility-apis.md b/docs/api/utility-apis.md
index 8d882227ec..5235a14ddf 100644
--- a/docs/api/utility-apis.md
+++ b/docs/api/utility-apis.md
@@ -185,7 +185,7 @@ const app = createApp({
A common pattern is to export a list of all APIs from `apis.ts`, next to
`App.tsx`. See the
-[example app in this repo](https://github.com/backstage/backstage/blob/master/packages/app/src/apis.ts)
+[example app in this repo](https://github.com/backstage/backstage/blob/master/packages/app-legacy/src/apis.ts)
for an example.
## Custom implementations of Utility APIs
diff --git a/docs/architecture-decisions/adr003-avoid-default-exports.md b/docs/architecture-decisions/adr003-avoid-default-exports.md
index 8ba37914df..3a4aa47435 100644
--- a/docs/architecture-decisions/adr003-avoid-default-exports.md
+++ b/docs/architecture-decisions/adr003-avoid-default-exports.md
@@ -48,7 +48,7 @@ benefits. A few are:
## Decision
We will stop using default exports except when absolutely necessary (such as
-[`React.lazy`](https://reactjs.org/docs/code-splitting.html#reactlazy) modules).
+[`React.lazy`](https://18.react.dev/reference/react/lazy) modules).
A workaround exists for those that would prefer to never use `default`:
```ts
diff --git a/docs/architecture-decisions/adr013-use-node-fetch.md b/docs/architecture-decisions/adr013-use-node-fetch.md
index 664faed1db..2172754ac7 100644
--- a/docs/architecture-decisions/adr013-use-node-fetch.md
+++ b/docs/architecture-decisions/adr013-use-node-fetch.md
@@ -32,7 +32,7 @@ const users = await response.json();
```
Frontend plugins and packages should prefer to use the
-[`fetchApiRef`](https://backstage.io/docs/reference/core-plugin-api.fetchapiref).
+[`fetchApiRef`](https://backstage.io/api/stable/variables/_backstage_core-plugin-api.index.fetchApiRef.html).
It uses `cross-fetch` internally. Example:
```ts
diff --git a/docs/architecture-decisions/adr014-use-fetch.md b/docs/architecture-decisions/adr014-use-fetch.md
index 9faa6c9ead..363154fd8d 100644
--- a/docs/architecture-decisions/adr014-use-fetch.md
+++ b/docs/architecture-decisions/adr014-use-fetch.md
@@ -33,7 +33,7 @@ const users = await response.json();
```
Frontend plugins and packages should prefer to use the
-[`fetchApiRef`](https://backstage.io/docs/reference/core-plugin-api.fetchapiref).
+[`fetchApiRef`](https://backstage.io/api/stable/variables/_backstage_core-plugin-api.index.fetchApiRef.html).
```ts
import { useApi } from '@backstage/core-plugin-api';
diff --git a/docs/auth/identity-resolver.md b/docs/auth/identity-resolver.md
index 5fb69c7955..0d4b50dcbe 100644
--- a/docs/auth/identity-resolver.md
+++ b/docs/auth/identity-resolver.md
@@ -287,7 +287,7 @@ async signInResolver(info, ctx) {
If you throw an error in the sign in resolver function, the sign in attempt is
immediately rejected, and the error details are presented in the user interface.
-The `ctx` context [has several useful functions](https://backstage.io/docs/reference/plugin-auth-node.authresolvercontext/)
+The `ctx` context [has several useful functions](https://backstage.io/api/stable/types/_backstage_plugin-auth-node.AuthResolverContext.html)
for issuing tokens in various ways.
### Custom Ownership Resolution
diff --git a/docs/auth/index.md b/docs/auth/index.md
index 1d668f6961..fb85eb999b 100644
--- a/docs/auth/index.md
+++ b/docs/auth/index.md
@@ -211,6 +211,8 @@ to get the existing session, which is exactly what the `ProxiedSignInPage` does.
thing you need to do to configure the `ProxiedSignInPage` is to pass the ID of the provider like this:
```tsx title="packages/app/src/App.tsx"
+import { ProxiedSignInPage } from '@backstage/core-components';
+
const app = createApp({
components: {
SignInPage: props => ,
@@ -285,7 +287,7 @@ sign-in resolvers so that they resolve to the same identity regardless of the me
## Scaffolder Configuration (Software Templates)
-If you want to use the authentication capabilities of the [Repository Picker](../features/software-templates/writing-templates.md#the-repository-picker) inside your software templates, you will need to configure the [`ScmAuthApi`](https://backstage.io/docs/reference/integration-react.scmauthapi) alongside your authentication provider. It is an API used to authenticate towards different SCM systems in a generic way, based on what resource is being accessed.
+If you want to use the authentication capabilities of the [Repository Picker](../features/software-templates/writing-templates.md#the-repository-picker) inside your software templates, you will need to configure the [`ScmAuthApi`](https://backstage.io/api/stable/interfaces/_backstage_integration-react.ScmAuthApi.html) alongside your authentication provider. It is an API used to authenticate towards different SCM systems in a generic way, based on what resource is being accessed.
To set it up, you'll need to add an API factory entry to `packages/app/src/apis.ts`. The example below sets up the `ScmAuthApi` for an already configured GitLab authentication provider:
@@ -361,7 +363,7 @@ The default `ScmAuthApi` provides integrations for `github`, `gitlab`, `azure` a
ScmAuth.createDefaultApiFactory();
```
-If you require only a subset of these integrations, then you will need a custom implementation of the [`ScmAuthApi`](https://backstage.io/docs/reference/integration-react.scmauthapi). It is an API used to authenticate different SCM systems generically, based on what resource is being accessed, and is used for example, by the Scaffolder (Software Templates) and Catalog Import plugins.
+If you require only a subset of these integrations, then you will need a custom implementation of the [`ScmAuthApi`](https://backstage.io/api/stable/interfaces/_backstage_integration-react.ScmAuthApi.html). It is an API used to authenticate different SCM systems generically, based on what resource is being accessed, and is used for example, by the Scaffolder (Software Templates) and Catalog Import plugins.
The first step is to remove the code that creates the default providers.
diff --git a/docs/auth/oidc.md b/docs/auth/oidc.md
index 55827ab1dc..a55719e564 100644
--- a/docs/auth/oidc.md
+++ b/docs/auth/oidc.md
@@ -136,7 +136,15 @@ auth:
- resolver: emailMatchingUserEntityProfileEmail
```
-If none of the built-in resolvers are suitable, you can alternatively write a custom resolver. See an example below:
+If none of the built-in resolvers are suitable, you can alternatively write a custom resolver.
+
+First, install the OIDC provider module:
+
+```bash
+yarn --cwd packages/backend add @backstage/plugin-auth-backend-module-oidc-provider
+```
+
+Then create a custom resolver as shown below:
```ts title="in packages/backend/src/index.ts"
/* highlight-add-start */
@@ -146,6 +154,10 @@ import {
createOAuthProviderFactory,
} from '@backstage/plugin-auth-node';
import { oidcAuthenticator } from '@backstage/plugin-auth-backend-module-oidc-provider';
+import {
+ stringifyEntityRef,
+ DEFAULT_NAMESPACE,
+} from '@backstage/catalog-model';
const myAuthProviderModule = createBackendModule({
// This ID must be exactly "auth" because that's the plugin it targets
@@ -168,7 +180,7 @@ const myAuthProviderModule = createBackendModule({
async signInResolver(info, ctx) {
const userRef = stringifyEntityRef({
kind: 'User',
- name: info.result.userinfo.sub,
+ name: info.result.fullProfile.userinfo.sub,
namespace: DEFAULT_NAMESPACE,
});
return ctx.issueToken({
diff --git a/docs/backend-system/architecture/08-naming-patterns.md b/docs/backend-system/architecture/08-naming-patterns.md
index 585a9fe87c..d073f3382c 100644
--- a/docs/backend-system/architecture/08-naming-patterns.md
+++ b/docs/backend-system/architecture/08-naming-patterns.md
@@ -11,10 +11,10 @@ As a rule, all names should be camel case, with the exceptions of plugin and mod
### Plugins
-| Description | Pattern | Examples |
-| ----------- | ----------------- | ------------------------------------- |
-| export | `Plugin` | `catalogPlugin`, `userSettingsPlugin` |
-| ID | `''` | `'catalog'`, `'user-settings'` |
+| Description | Pattern | Examples | Notes |
+| ----------- | ----------------- | ------------------------------------- | --------------------------------------------------- |
+| export | `Plugin` | `catalogPlugin`, `userSettingsPlugin` | |
+| ID | `''` | `'catalog'`, `'user-settings'` | letters, digits, and dashes, starting with a letter |
Example:
@@ -27,10 +27,10 @@ export const userSettingsPlugin = createBackendPlugin({
### Modules
-| Description | Pattern | Examples |
-| ----------- | ---------------------------- | ----------------------------------- |
-| export | `Module` | `catalogModuleGithubEntityProvider` |
-| ID | `''` | `'github-entity-provider'` |
+| Description | Pattern | Examples | Notes |
+| ----------- | ---------------------------- | ----------------------------------- | --------------------------------------------------- |
+| export | `Module` | `catalogModuleGithubEntityProvider` | |
+| ID | `''` | `'github-entity-provider'` | letters, digits, and dashes, starting with a letter |
Example:
diff --git a/docs/backend-system/building-backends/08-migrating.md b/docs/backend-system/building-backends/08-migrating.md
index 3a6cf1baee..3aa06216b4 100644
--- a/docs/backend-system/building-backends/08-migrating.md
+++ b/docs/backend-system/building-backends/08-migrating.md
@@ -220,7 +220,7 @@ These are the deprecation messages for the most common replacements:
- `getRootLogger` - This function will be removed in the future. If you need to get the root logger in the new system, please check out this documentation: https://backstage.io/docs/backend-system/core-services/logger
- `getVoidLogger` - This function will be removed in the future. If you need to mock the root logger in the new system, please use `mockServices.logger.mock()` from `@backstage/backend-test-utils` instead.
- `legacyPlugin` - Fully use the new backend system instead.
-- `loadBackendConfig` - Please migrate to the new backend system and use `coreServices.rootConfig` instead, or the [@backstage/config-loader#ConfigSources](https://backstage.io/docs/reference/config-loader.configsources) facilities if required.
+- `loadBackendConfig` - Please migrate to the new backend system and use `coreServices.rootConfig` instead, or the [@backstage/config-loader#ConfigSources](https://backstage.io/api/stable/classes/_backstage_config-loader.ConfigSources.html) facilities if required.
- `loggerToWinstonLogger` - Migrate to use the new `LoggerService` instead.
- `resolveSafeChildPath` - This function is deprecated and will be removed in a future release, see [#24493](https://github.com/backstage/backstage/issues/24493). Please use the `resolveSafeChildPath` function from the `@backstage/backend-plugin-api` package instead.
- `ServerTokenManager` - Please [migrate](https://backstage.io/docs/tutorials/auth-service-migration) to the new `coreServices.auth`, `coreServices.httpAuth`, and `coreServices.userInfo` services as needed instead.
diff --git a/docs/backend-system/building-plugins-and-modules/02-testing.md b/docs/backend-system/building-plugins-and-modules/02-testing.md
index 67fb3d4f22..8aaead97af 100644
--- a/docs/backend-system/building-plugins-and-modules/02-testing.md
+++ b/docs/backend-system/building-plugins-and-modules/02-testing.md
@@ -57,7 +57,7 @@ interactions with the running test service.
### mock services
-The [`mockServices`](https://backstage.io/docs/reference/backend-test-utils.mockservices) object from `@backstage/backend-test-utils` provides service factory functions, and mocks for all core services that you can use to verify interactions between plugin and services.
+The [`mockServices`](https://backstage.io/api/stable/modules/_backstage_backend-test-utils.index.mockServices.html) object from `@backstage/backend-test-utils` provides service factory functions, and mocks for all core services that you can use to verify interactions between plugin and services.
All mock services provide a factory function that is sufficient for most tests. Here's an example:
@@ -106,24 +106,24 @@ describe('myPlugin', () => {
Available services:
-- [`auth`](https://backstage.io/docs/reference/backend-test-utils.mockservices.auth/)
-- [`cache`](https://backstage.io/docs/reference/backend-test-utils.mockservices.cache/)
-- [`database`](https://backstage.io/docs/reference/backend-test-utils.mockservices.database/)
-- [`discovery`](https://backstage.io/docs/reference/backend-test-utils.mockservices.discovery/)
-- [`events`](https://backstage.io/docs/reference/backend-test-utils.mockservices.events/)
-- [`httpAuth`](https://backstage.io/docs/reference/backend-test-utils.mockservices.httpAuth/)
-- [`httpRouter`](https://backstage.io/docs/reference/backend-test-utils.mockservices.httpRouter/)
-- [`lifecycle`](https://backstage.io/docs/reference/backend-test-utils.mockservices.lifecycle/)
-- [`logger`](https://backstage.io/docs/reference/backend-test-utils.mockservices.logger/)
-- [`permissions`](https://backstage.io/docs/reference/backend-test-utils.mockservices.permissions/)
-- [`rootConfig`](https://backstage.io/docs/reference/backend-test-utils.mockservices.rootConfig/)
-- [`rootHealth`](https://backstage.io/docs/reference/backend-test-utils.mockservices.rootHealth/)
-- [`rootHttpRouter`](https://backstage.io/docs/reference/backend-test-utils.mockservices.rootHttpRouter/)
-- [`rootLifecycle`](https://backstage.io/docs/reference/backend-test-utils.mockservices.rootLifecycle/)
-- [`rootLogger`](https://backstage.io/docs/reference/backend-test-utils.mockservices.rootLogger/)
-- [`scheduler`](https://backstage.io/docs/reference/backend-test-utils.mockservices.scheduler/)
-- [`urlReader`](https://backstage.io/docs/reference/backend-test-utils.mockservices.urlReader/)
-- [`userInfo`](https://backstage.io/docs/reference/backend-test-utils.mockservices.userInfo/)
+- [`auth`](https://backstage.io/api/stable/modules/_backstage_backend-test-utils.index.mockServices.html#auth)
+- [`cache`](https://backstage.io/api/stable/modules/_backstage_backend-test-utils.index.mockServices.html#cache)
+- [`database`](https://backstage.io/api/stable/modules/_backstage_backend-test-utils.index.mockServices.html#database)
+- [`discovery`](https://backstage.io/api/stable/modules/_backstage_backend-test-utils.index.mockServices.html#discovery)
+- [`events`](https://backstage.io/api/stable/modules/_backstage_backend-test-utils.index.mockServices.html#events)
+- [`httpAuth`](https://backstage.io/api/stable/modules/_backstage_backend-test-utils.index.mockServices.html#httpAuth)
+- [`httpRouter`](https://backstage.io/api/stable/modules/_backstage_backend-test-utils.index.mockServices.html#httpRouter)
+- [`lifecycle`](https://backstage.io/api/stable/modules/_backstage_backend-test-utils.index.mockServices.html#lifecycle)
+- [`logger`](https://backstage.io/api/stable/modules/_backstage_backend-test-utils.index.mockServices.html#logger)
+- [`permissions`](https://backstage.io/api/stable/modules/_backstage_backend-test-utils.index.mockServices.html#permissions)
+- [`rootConfig`](https://backstage.io/api/stable/modules/_backstage_backend-test-utils.index.mockServices.html#rootConfig)
+- [`rootHealth`](https://backstage.io/api/stable/modules/_backstage_backend-test-utils.index.mockServices.html#rootHealth)
+- [`rootHttpRouter`](https://backstage.io/api/stable/modules/_backstage_backend-test-utils.index.mockServices.html#rootHttpRouter)
+- [`rootLifecycle`](https://backstage.io/api/stable/modules/_backstage_backend-test-utils.index.mockServices.html#rootLifecycle/)
+- [`rootLogger`](https://backstage.io/api/stable/modules/_backstage_backend-test-utils.index.mockServices.html#rootLogger/)
+- [`scheduler`](https://backstage.io/api/stable/modules/_backstage_backend-test-utils.index.mockServices.html#scheduler/)
+- [`urlReader`](https://backstage.io/api/stable/modules/_backstage_backend-test-utils.index.mockServices.html#urlReader/)
+- [`userInfo`](https://backstage.io/api/stable/modules/_backstage_backend-test-utils.index.mockServices.html#userInfo/)
## Testing Remote Service Interactions
diff --git a/docs/backend-system/core-services/http-router.md b/docs/backend-system/core-services/http-router.md
index 6de394f549..c6796af8aa 100644
--- a/docs/backend-system/core-services/http-router.md
+++ b/docs/backend-system/core-services/http-router.md
@@ -89,7 +89,7 @@ backend:
window: 6s # Time window for rate limiting for single client
incomingRequestLimit: 100 # Number of requests to accept from one client during time window
ipAllowList: ['127.0.0.1'] # IPs to bypass rate limiting
- skipSuccesfulRequests: false # Rate limit successful requests
+ skipSuccessfulRequests: false # Rate limit successful requests
skipFailedRequests: false # Rate limit failed requests
plugin:
# Plugin specific rate limiting
diff --git a/docs/backend-system/core-services/root-http-router.md b/docs/backend-system/core-services/root-http-router.md
index 9c2c60957f..2f7f324005 100644
--- a/docs/backend-system/core-services/root-http-router.md
+++ b/docs/backend-system/core-services/root-http-router.md
@@ -164,7 +164,7 @@ Note that requests towards `/api/*` will never be handled by the `routes` handle
The root HTTP Router service also allows for configuration of the underlying Node.js HTTP server object. This is useful for modifying settings on the HTTP server itself, such as server [`timeout`](https://nodejs.org/api/http.html#servertimeout), [`keepAliveTimeout`](https://nodejs.org/api/http.html#serverkeepalivetimeout), and [`headersTimeout`](https://nodejs.org/api/http.html#serverheaderstimeout).
-A `applyDefaults` helper is also made available to use the default app/router configuration while still enabling custom server configuration
+An `applyDefaults` helper is also made available to use the default app/router configuration while still enabling custom server configuration
```ts
import { rootHttpRouterServiceFactory } from '@backstage/backend-defaults/rootHttpRouter';
diff --git a/docs/conf/reading.md b/docs/conf/reading.md
index b6119b0da9..905f081f1d 100644
--- a/docs/conf/reading.md
+++ b/docs/conf/reading.md
@@ -131,7 +131,7 @@ const MyReactComponent = (...) => {
Depending on the config api in another API is slightly different though, as the
`ConfigApi` implementation is supplied via the App itself and not instantiated
like other APIs. See
-[packages/app/src/apis.ts](https://github.com/backstage/backstage/blob/244eef851f5aa19f91c7c9b5c12d5df95cf482ca/packages/app/src/apis.ts#L66)
+[packages/app-legacy/src/apis.ts](https://github.com/backstage/backstage/blob/244eef851f5aa19f91c7c9b5c12d5df95cf482ca/packages/app-legacy/src/apis.ts#L66)
for an example of how this wiring is done.
For standalone plugin setups in `dev/index.ts`, register a factory with a
diff --git a/docs/conf/user-interface/index.md b/docs/conf/user-interface/index.md
index e0fb645d78..abe74dddef 100644
--- a/docs/conf/user-interface/index.md
+++ b/docs/conf/user-interface/index.md
@@ -103,13 +103,13 @@ Backstage UI is using light by default under `:root` but you can target it more
[data-theme-mode='light'] {
/* Light theme specific styles */
- --bui-bg-surface-0: #f8f8f8;
+ --bui-bg-neutral-0: #f8f8f8;
--bui-fg-primary: #000;
}
[data-theme-mode='dark'] {
/* Dark theme specific styles */
- --bui-bg-surface-0: #333333;
+ --bui-bg-neutral-0: #333333;
--bui-fg-primary: #fff;
}
```
@@ -124,14 +124,17 @@ And if you’d like to go even further, you can target specific component class
| Token Name | Description |
| -------------------- | --------------------------------------------------------------------------------------------- |
-| `--bui-bg-surface-0` | This is used to define the background color of your app. It will only be used once. |
-| `--bui-bg-surface-1` | We ar using this color to sit on top of `--bui-bg-surface-0` mostly for `Card`, `Dialog`, ... |
-| `--bui-bg-surface-2` | This is for content inside elevated components. This colour is less common. |
+| `--bui-bg-neutral-0` | This is used to define the background color of your app. It will only be used once. |
+| `--bui-bg-neutral-1` | We ar using this color to sit on top of `--bui-bg-neutral-0` mostly for `Card`, `Dialog`, ... |
+| `--bui-bg-neutral-2` | This is for content inside elevated components. This colour is less common. |
| `--bui-bg-solid` | This is used for main actions like primary buttons. |
| `--bui-fg-solid` | This is for texts or icons on top of a solid backgrounds. |
| `--bui-fg-primary` | Your primary text or icon colours. |
| `--bui-fg-secondary` | Your secondary text or icon colours. |
-| `--bui-fg-link` | Used for links. |
+| `--bui-fg-danger` | Used for error states and destructive actions. |
+| `--bui-fg-warning` | Used for warning states and cautionary information. |
+| `--bui-fg-success` | Used for success states and positive feedback. |
+| `--bui-fg-info` | Used for informational content and neutral status. |
| `--bui-border` | Main borders around surfaces like `Card`, `Dialog`, ... |
| `--bui-font-regular` | The main font of your app. |
@@ -140,60 +143,71 @@ And if you’d like to go even further, you can target specific component class
#### Base colors
-These colors are used for special purposes like ring, scrollbar, ...
+| Token Name | Description |
+| ------------- | ----------------------------------------------------------------------- |
+| `--bui-black` | Pure black color. This one should be the same in light and dark themes. |
+| `--bui-white` | Pure white color. This one should be the same in light and dark themes. |
-| Token Name | Description |
-| -------------- | ----------------------------------------------------------------------- |
-| `--bui-black` | Pure black color. This one should be the same in light and dark themes. |
-| `--bui-white` | Pure white color. This one should be the same in light and dark themes. |
-| `--bui-gray-1` | You can use these mostly for backgrounds colors. |
-| `--bui-gray-2` | You can use these mostly for backgrounds colors. |
-| `--bui-gray-3` | You can use these mostly for backgrounds colors. |
-| `--bui-gray-4` | You can use these mostly for backgrounds colors. |
-| `--bui-gray-5` | You can use these mostly for backgrounds colors. |
-| `--bui-gray-6` | You can use these mostly for backgrounds colors. |
-| `--bui-gray-7` | You can use these mostly for backgrounds colors. |
-| `--bui-gray-8` | You can use these mostly for backgrounds colors. |
+#### Neutral background colors
-#### Core background colors
+These colors form a layered neutral scale for your application backgrounds. `--bui-bg-neutral-0` is the base background color. Each subsequent level (1 through 4) represents an elevated layer, with hover, pressed, and disabled variants for interactive states.
-These colors are used for the background of your application. We are mostly using for now a single elevated background for panels. `--bui-bg-surface-0` should mostly use as the main background color of your app.
+| Token Name | Description |
+| ----------------------------- | ------------------------------------------------------------ |
+| `--bui-bg-neutral-0` | The base background color of your Backstage instance. |
+| `--bui-bg-neutral-1` | First elevated layer. Use for cards, dialogs, and panels. |
+| `--bui-bg-neutral-1-hover` | Hover state for elements on neutral-1. |
+| `--bui-bg-neutral-1-pressed` | Pressed state for elements on neutral-1. |
+| `--bui-bg-neutral-1-disabled` | Disabled state for elements on neutral-1. |
+| `--bui-bg-neutral-2` | Second elevated layer. Use for elements on top of neutral-1. |
+| `--bui-bg-neutral-2-hover` | Hover state for elements on neutral-2. |
+| `--bui-bg-neutral-2-pressed` | Pressed state for elements on neutral-2. |
+| `--bui-bg-neutral-2-disabled` | Disabled state for elements on neutral-2. |
+| `--bui-bg-neutral-3` | Third elevated layer. Use for elements on top of neutral-2. |
+| `--bui-bg-neutral-3-hover` | Hover state for elements on neutral-3. |
+| `--bui-bg-neutral-3-pressed` | Pressed state for elements on neutral-3. |
+| `--bui-bg-neutral-3-disabled` | Disabled state for elements on neutral-3. |
+| `--bui-bg-neutral-4` | Fourth elevated layer. Use for elements on top of neutral-3. |
+| `--bui-bg-neutral-4-hover` | Hover state for elements on neutral-4. |
+| `--bui-bg-neutral-4-pressed` | Pressed state for elements on neutral-4. |
+| `--bui-bg-neutral-4-disabled` | Disabled state for elements on neutral-4. |
-| Token Name | Description |
-| ------------------------- | ------------------------------------------------ |
-| `--bui-bg-surface-0` | The background color of your Backstage instance. |
-| `--bui-bg-surface-1` | Use for any panels or elevated surfaces. |
-| `--bui-bg-surface-2` | Use for any panels or elevated surfaces. |
-| `--bui-bg-surface-3` | Use for any panels or elevated surfaces. |
-| `--bui-bg-solid` | Used for solid background colors. |
-| `--bui-bg-solid-hover` | Used for solid background colors when hovered. |
-| `--bui-bg-solid-pressed` | Used for solid background colors when pressed. |
-| `--bui-bg-solid-disabled` | Used for solid background colors when disabled. |
-| `--bui-bg-tint` | Used for tint background colors. |
-| `--bui-bg-tint-hover` | Used for tint background colors when hovered. |
-| `--bui-bg-tint-focus` | Used for tint background colors when active. |
-| `--bui-bg-tint-disabled` | Used for tint background colors when disabled. |
-| `--bui-bg-danger` | Used to show errors information. |
-| `--bui-bg-warning` | Used to show warnings information. |
-| `--bui-bg-success` | Used to show success information. |
+#### Solid background colors
+
+| Token Name | Description |
+| ------------------------- | ----------------------------------------------- |
+| `--bui-bg-solid` | Used for solid background colors. |
+| `--bui-bg-solid-hover` | Used for solid background colors when hovered. |
+| `--bui-bg-solid-pressed` | Used for solid background colors when pressed. |
+| `--bui-bg-solid-disabled` | Used for solid background colors when disabled. |
+
+#### Status background colors
+
+| Token Name | Description |
+| ------------------ | ----------------------------------- |
+| `--bui-bg-danger` | Used to show errors information. |
+| `--bui-bg-warning` | Used to show warnings information. |
+| `--bui-bg-success` | Used to show success information. |
+| `--bui-bg-info` | Used to show informational content. |
#### Foreground colors
Foreground colours are meant to work in pair with a background colours. Typically this would work for icons, texts, shapes, ... Use a matching name to know what foreground color to use. These colors are prefixed with `fg` to make it easier to identify.
-| Token Name | Description |
-| ------------------------ | ----------------------------------------------------------------- |
-| `--bui-fg-primary` | It should be used on top of main background surfaces. |
-| `--bui-fg-secondary` | It should be used on top of main background surfaces. |
-| `--bui-fg-link` | It should be used on top of main background surfaces. |
-| `--bui-fg-link-hover` | It should be used on top of main background surfaces. |
-| `--bui-fg-disabled` | It should be used on top of main background surfaces. |
-| `--bui-fg-solid` | It should be used on top of solid background colors. |
-| `--bui-fg-tint` | It should be used on top of tint background colors. |
-| `--bui-fg-tint-disabled` | It should be used on top of tint background colors when disabled. |
-| `--bui-fg-danger` | It should be used on top of danger background colors. |
-| `--bui-fg-warning` | It should be used on top of warning background colors. |
-| `--bui-fg-success` | It should be used on top of success background colors. |
+| Token Name | Description |
+| ------------------------ | ------------------------------------------------------ |
+| `--bui-fg-primary` | It should be used on top of main background surfaces. |
+| `--bui-fg-secondary` | It should be used on top of main background surfaces. |
+| `--bui-fg-disabled` | It should be used on top of main background surfaces. |
+| `--bui-fg-solid` | It should be used on top of solid background colors. |
+| `--bui-fg-danger` | Used for error states and destructive actions. |
+| `--bui-fg-warning` | Used for warning states and cautionary information. |
+| `--bui-fg-success` | Used for success states and positive feedback. |
+| `--bui-fg-info` | Used for informational content and neutral status. |
+| `--bui-fg-danger-on-bg` | It should be used on top of danger background colors. |
+| `--bui-fg-warning-on-bg` | It should be used on top of warning background colors. |
+| `--bui-fg-success-on-bg` | It should be used on top of success background colors. |
+| `--bui-fg-info-on-bg` | It should be used on top of info background colors. |
#### Border colors
@@ -201,7 +215,7 @@ These border colors are mostly meant to be used as borders on top of any compone
| Token Name | Description |
| ----------------------- | --------------------------------------------------- |
-| `--bui-border` | It should be used on top of `--bui-bg-surface-1`. |
+| `--bui-border` | It should be used on top of `--bui-bg-neutral-1`. |
| `--bui-border-hover` | Used when the component is interactive and hovered. |
| `--bui-border-pressed` | Used when the component is interactive and hovered. |
| `--bui-border-disabled` | Used when the component is disabled. |
diff --git a/docs/dls/contributing-to-storybook.md b/docs/dls/contributing-to-storybook.md
index fad8d0e8b0..7b5aaffd5d 100644
--- a/docs/dls/contributing-to-storybook.md
+++ b/docs/dls/contributing-to-storybook.md
@@ -55,8 +55,11 @@ core
└── Progress.stories.tsx
```
-> _Note: make sure your component story file has the following format
-> componentName.stories.tsx_
+:::note Note
+
+Make sure your component story file has the following format
+componentName.stories.tsx
+:::
## Running locally
diff --git a/docs/features/kubernetes/configuration.md b/docs/features/kubernetes/configuration.md
index 6a3f3760bf..922bfb6018 100644
--- a/docs/features/kubernetes/configuration.md
+++ b/docs/features/kubernetes/configuration.md
@@ -195,11 +195,11 @@ strategy.
This method can be quite helpful when used in combination with an ingestion
procedure like the
-[`GkeEntityProvider`](https://backstage.io/docs/reference/plugin-catalog-backend-module-gcp.gkeentityprovider/)
+[`GkeEntityProvider`](https://backstage.io/api/stable/classes/_backstage_plugin-catalog-backend-module-gcp.index.GkeEntityProvider.html)
(installation documented
[here](https://github.com/backstage/backstage/tree/master/plugins/catalog-backend-module-gcp#installation))
or the
-[`AwsEKSClusterProcessor`](https://backstage.io/docs/reference/plugin-catalog-backend-module-aws.awseksclusterprocessor/)
+[`AwsEKSClusterProcessor`](https://backstage.io/api/stable/classes/_backstage_plugin-catalog-backend-module-aws.index.AwsEKSClusterProcessor.html)
to automatically update the set of clusters tracked by Backstage.
For this method to work any entity that would be using this `Resource` to help drive the Kubernetes details in the Catalog's Entity pages needs to have a `dependsOn` relationship setup. Here's a quick example:
diff --git a/docs/features/kubernetes/installation.md b/docs/features/kubernetes/installation.md
index fa37253cd6..40b2dc0bcc 100644
--- a/docs/features/kubernetes/installation.md
+++ b/docs/features/kubernetes/installation.md
@@ -75,7 +75,7 @@ Backstage app.
If either existing
[cluster locators](https://backstage.io/docs/features/kubernetes/configuration#clusterlocatormethods)
don't work for your use-case, it is possible to implement a custom
-[KubernetesClustersSupplier](https://backstage.io/docs/reference/plugin-kubernetes-backend.kubernetesclusterssupplier).
+[KubernetesClustersSupplier](https://backstage.io/api/stable/interfaces/_backstage_plugin-kubernetes-node.KubernetesClustersSupplier.html).
Here's a very simplified example:
@@ -130,7 +130,7 @@ export const kubernetesModuleCustomClusterDiscovery = createBackendModule({
);
// there's also the ability to get access to some of the default implementations of the extension points where
- // neccessary:
+ // necessary:
serviceLocator.addServiceLocator(
async ({ getDefault, clusterSupplier }) => {
// get access to the default service locator:
diff --git a/docs/features/search/collators.md b/docs/features/search/collators.md
index f2ad982812..37cb59559a 100644
--- a/docs/features/search/collators.md
+++ b/docs/features/search/collators.md
@@ -86,7 +86,7 @@ Now with this example it will collate all entities that are `kind` equal to `api
:::tip
-The filter configuration is implemented using the `EntityFilterQuery` syntax. The [reference documentation on `EntityFilterQuery`](https://backstage.io/docs/reference/catalog-client.entityfilterquery/) provides more details.
+The filter configuration is implemented using the `EntityFilterQuery` syntax. The [reference documentation on `EntityFilterQuery`](https://backstage.io/api/stable/types/_backstage_catalog-client.index.EntityFilterQuery.html) provides more details.
:::
diff --git a/docs/features/search/declarative-integration.md b/docs/features/search/declarative-integration.md
index 74d16d7c57..3ad7492114 100644
--- a/docs/features/search/declarative-integration.md
+++ b/docs/features/search/declarative-integration.md
@@ -25,7 +25,7 @@ The search plugin is a collection of extensions that implement the search featur
### Installation
-Only one step is required to start using the `Search` plugin within declarative integration, so all you have to do is to install the `@backstage/plugin-catalog` and `@backstage/plugin-search` packages, (e.g., [app-next](https://github.com/backstage/backstage/tree/master/packages/app-next)):
+Only one step is required to start using the `Search` plugin within declarative integration, so all you have to do is to install the `@backstage/plugin-catalog` and `@backstage/plugin-search` packages, (e.g., [app](https://github.com/backstage/backstage/tree/master/packages/app)):
```sh
yarn add @backstage/plugin-catalog @backstage/plugin-search
diff --git a/docs/features/search/how-to-guides.md b/docs/features/search/how-to-guides.md
index f0823ac47e..018c70479d 100644
--- a/docs/features/search/how-to-guides.md
+++ b/docs/features/search/how-to-guides.md
@@ -232,7 +232,7 @@ Remember to export your new extension via your plugin's `index.ts` so that it is
export { YourSearchResultListItem } from './plugin.ts';
```
-For more details, see the [createSearchResultListItemExtension](https://backstage.io/docs/reference/plugin-search-react.createsearchresultlistitemextension) API reference.
+For more details, see the [createSearchResultListItemExtension](https://backstage.io/api/stable/functions/_backstage_plugin-search-react.index.createSearchResultListItemExtension.html) API reference.
### 2. Custom search result extension in the SearchPage
diff --git a/docs/features/search/search-engines.md b/docs/features/search/search-engines.md
index 07cf11aae5..5b8f546b40 100644
--- a/docs/features/search/search-engines.md
+++ b/docs/features/search/search-engines.md
@@ -291,3 +291,65 @@ search:
fuzziness: AUTO
prefixLength: 3;
```
+
+### Custom Authentication Extension Point
+
+For enterprise environments that require dynamic authentication mechanisms such as bearer tokens with automatic rotation, the Elasticsearch module provides an authentication extension point. This is useful when:
+
+- Using OAuth2/OIDC identity providers for service authentication
+- Tokens need to be refreshed automatically (e.g., tokens that expire hourly)
+- Integrating with internal identity services
+- Running Elasticsearch/OpenSearch clusters secured by token-based authentication
+
+To use custom authentication, create a backend module that provides an auth provider:
+
+```ts title="packages/backend/src/modules/elasticsearchAuth.ts"
+import { createBackendModule } from '@backstage/backend-plugin-api';
+import { elasticsearchAuthExtensionPoint } from '@backstage/plugin-search-backend-module-elasticsearch';
+
+export default createBackendModule({
+ pluginId: 'search',
+ moduleId: 'elasticsearch-custom-auth',
+ register(env) {
+ env.registerInit({
+ deps: {
+ elasticsearchAuth: elasticsearchAuthExtensionPoint,
+ },
+ async init({ elasticsearchAuth }) {
+ elasticsearchAuth.setAuthProvider({
+ async getAuthHeaders() {
+ // Fetch token from your identity service
+ const token = await myTokenService.getToken();
+ return { Authorization: `Bearer ${token}` };
+ },
+ });
+ },
+ });
+ },
+});
+```
+
+Then register this module in your backend:
+
+```ts title="packages/backend/src/index.ts"
+const backend = createBackend();
+
+// Other plugins...
+
+backend.add(import('@backstage/plugin-search-backend'));
+backend.add(import('@backstage/plugin-search-backend-module-elasticsearch'));
+
+/* highlight-add-start */
+backend.add(import('./modules/elasticsearchAuth'));
+/* highlight-add-end */
+
+backend.start();
+```
+
+The `getAuthHeaders` method is called before each request, allowing for just-in-time token retrieval and automatic rotation. When an auth provider is configured, it takes precedence over any static authentication in `app-config.yaml`.
+
+:::note Note
+
+Custom authentication is supported for the `elastic`, `opensearch`, and default providers. The `aws` provider uses AWS SigV4 request signing and does not support custom auth providers.
+
+:::
diff --git a/docs/features/software-catalog/api.md b/docs/features/software-catalog/api.md
index 96420cd37e..ca8b8f638d 100644
--- a/docs/features/software-catalog/api.md
+++ b/docs/features/software-catalog/api.md
@@ -27,7 +27,7 @@ one organization to the other, especially in production, but is commonly your
Some or all of the endpoints may accept or require an `Authorization` header
with a `Bearer` token, which should then be the Backstage token returned by the
-[`identity API`](https://backstage.io/docs/reference/core-plugin-api.identityapiref).
+[`identity API`](https://backstage.io/api/stable/variables/_backstage_core-plugin-api.index.identityApiRef.html).
## Entities
diff --git a/docs/features/software-catalog/catalog-customization.md b/docs/features/software-catalog/catalog-customization.md
index a828e6591a..d62bb34505 100644
--- a/docs/features/software-catalog/catalog-customization.md
+++ b/docs/features/software-catalog/catalog-customization.md
@@ -696,3 +696,63 @@ filter:
targetRef:
$in: [group:default/admins, group:default/viewers]
```
+
+### Configure groups, titles, and icons
+
+You can define and customize the tab groups that appear on the entity page, as well as enable icons for both groups and individual tabs.
+
+```yaml
+app:
+ extensions:
+ # Entity page (new frontend system)
+ - page:catalog/entity:
+ config:
+ # Show icons next to group and tab titles
+ showNavItemIcons: true
+
+ # Optionally override default groups and their icons
+ groups:
+ - overview:
+ title: Overview
+ icon: dashboard
+ - quality:
+ title: Quality
+ icon: verified
+ - documentation:
+ title: Docs
+ icon: description
+```
+
+Notes:
+
+- Icons for groups and tabs are resolved via the app's IconsApi. When using a string icon id (for example `"dashboard"`), ensure that the corresponding icon bundles are enabled/installed in your app (see the [IconBundleBlueprint documentation](https://backstage.io/api/stable/variables/_backstage_plugin-app-react.IconBundleBlueprint.html)).
+- Group icons are only rendered if `showNavItemIcons` is set to `true`.
+
+### Overriding or disabling a tab's group (per extension)
+
+Each entity content extension (tabs on the entity page) can declare a default `group` in code. You can override or disable this per installation in `app-config.yaml` using the extension's config:
+
+```yaml
+app:
+ extensions:
+ # ...
+ # Example entity content extension instance id
+ - entity-content:example/my-content:
+ config:
+ # Move this tab to a custom group you defined above
+ group: custom
+ # Show an icon for this entity content page but only if `showNavItemIcons` is enabled for the `page:catalog/entity` extension
+ icon: my-icon
+
+ # Disassociate from any group and show as a standalone tab
+ - entity-content:example/another-content:
+ config:
+ group: false
+```
+
+### Tab icons for entity content
+
+Entity content extensions can also declare an `icon` parameter. When provided as a string, the icon id is looked up via the IconsApi. For the icon to render:
+
+- The entity page must have `showNavItemIcons: true` (see configuration above).
+- The icon id must be available in the app's enabled icon bundles.
diff --git a/docs/features/software-catalog/creating-the-catalog-graph.md b/docs/features/software-catalog/creating-the-catalog-graph.md
index 4dc5b461b2..14cffee0c6 100644
--- a/docs/features/software-catalog/creating-the-catalog-graph.md
+++ b/docs/features/software-catalog/creating-the-catalog-graph.md
@@ -3,7 +3,7 @@
## Overview
The Software Catalog in Backstage is intended to capture human mental models using entities and their relationships rather than an exhaustive inventory of all possible things. The focus is on attaching functionality and views centered around these entities. Determining the "edge" where the catalog ends and the external world begins is crucial to ensure that the catalog's scope is appropriate.
-The Backstage software catalog serves as a centralized hub for organizing and discovering software components and services. While it excels at providing a high-level overview of these concepts, it may not be the ideal solution for tracking dynamic relationships between components and services in real-time. You can achieve real time views by attaching appropriate tooling to the nodes in the graph through [annotations](https://backstage.io/docs/features/software-catalog/well-known-annotations) and developing custom front-end [plugins](http://localhost:3000/docs/plugins/) that display deployment information and other real-time data.
+The Backstage software catalog serves as a centralized hub for organizing and discovering software components and services. While it excels at providing a high-level overview of these concepts, it may not be the ideal solution for tracking dynamic relationships between components and services in real-time. You can achieve real time views by attaching appropriate tooling to the nodes in the graph through [annotations](https://backstage.io/docs/features/software-catalog/well-known-annotations) and developing custom front-end [plugins](https://backstage.io/docs/plugins/create-a-plugin) that display deployment information and other real-time data.
It is worth noting that the Backstage Software Catalog should not be considered the ultimate source of truth, instead, it is advisable to use the Backstage Catalog as a caching mechanism that utilizes a REST API to convey information to the catalog UI and other Backstage plugins. Adopting a GitOps approach is recommended to modify YAML files in Backstage, treating YAML files in repositories as the primary source of truth and using Scaffolder to make changes via the UI and generate a pull request in the repository with the updated changes.
### Descriptor Components used to build the Catalog Graph
diff --git a/docs/features/software-catalog/references.md b/docs/features/software-catalog/references.md
index 9a5a037d6d..16ab90b6e0 100644
--- a/docs/features/software-catalog/references.md
+++ b/docs/features/software-catalog/references.md
@@ -40,7 +40,7 @@ used, and the relevant documentation should specify which rule applies where.
Entity ref strings are frequently passed between systems as identifiers of
entities. In those cases the refs should always be complete (have all three
parts). The sender should ensure that the refs are always lowercased in an
-`en-US` locale, preferably by using [the `stringifyEntityRef` function](https://backstage.io/docs/reference/catalog-model.stringifyentityref/)
+`en-US` locale, preferably by using [the `stringifyEntityRef` function](https://backstage.io/api/stable/functions/_backstage_catalog-model.index.stringifyEntityRef.html)
which does this automatically. The receiver should treat incoming refs case
insensitively to avoid problems with senders who do not obey this rule.
diff --git a/docs/features/software-catalog/well-known-annotations.md b/docs/features/software-catalog/well-known-annotations.md
index 0143d3b4d5..0736a586bf 100644
--- a/docs/features/software-catalog/well-known-annotations.md
+++ b/docs/features/software-catalog/well-known-annotations.md
@@ -462,7 +462,7 @@ migrating away from them.
### backstage.io/github-actions-id
This annotation was used for a while to enable the GitHub Actions feature. This
-is now instead using the [github.com/project-slug](#github-com-project-slug)
+is now instead using the [github.com/project-slug](#githubcomproject-slug)
annotation, with the same value format.
### backstage.io/definition-at-location
diff --git a/docs/features/software-templates/templating-extensions.md b/docs/features/software-templates/templating-extensions.md
index 242966ae5f..b131f51bc9 100644
--- a/docs/features/software-templates/templating-extensions.md
+++ b/docs/features/software-templates/templating-extensions.md
@@ -517,8 +517,8 @@ specifying options to the scaffolder backend plugin's `createRouter` function
[nunjucks]: https://mozilla.github.io/nunjucks
[filter]: https://mozilla.github.io/nunjucks/templating.html#filters
[global-fn]: https://mozilla.github.io/nunjucks/templating.html#global-functions
-[parseRepoUrl]: https://backstage.io/docs/reference/plugin-scaffolder-node.parserepourl
-[CompoundEntityRef]: https://backstage.io/docs/reference/catalog-model.compoundentityref
+[parseRepoUrl]: https://backstage.io/api/stable/functions/_backstage_plugin-scaffolder-node.index.parseRepoUrl.html
+[CompoundEntityRef]: https://backstage.io/api/stable/types/_backstage_catalog-model.index.CompoundEntityRef.html
[Zod]: https://zod.dev/
[zod-fn]: https://zod.dev/?id=functions
[piped]: https://en.wikipedia.org/wiki/Pipeline_(Unix)#Pipelines_in_command_line_interfaces
diff --git a/docs/features/software-templates/writing-custom-actions.md b/docs/features/software-templates/writing-custom-actions.md
index 1a64406b04..f5ed9e4854 100644
--- a/docs/features/software-templates/writing-custom-actions.md
+++ b/docs/features/software-templates/writing-custom-actions.md
@@ -28,13 +28,17 @@ boilerplate code, providing a smooth start:
```sh
$ yarn backstage-cli new
? What do you want to create?
- plugin-common - A new isomorphic common plugin package
- plugin-node - A new Node.js library plugin package
- plugin-react - A new web library plugin package
-> scaffolder-module - An module exporting custom actions for @backstage/plugin-scaffolder-backend
+ web-library - A library package, exporting shared functionality for web environments
+ node-library - A library package, exporting shared functionality for Node.js environments
+ catalog-provider-module - An Entity Provider module for the Software Catalog
+> scaffolder-backend-module - A module exporting custom actions for @backstage/plugin-scaffolder-backend
+ frontend-plugin - A new frontend plugin
+ backend-plugin - A new backend plugin
+ backend-plugin-module - A new backend module that extends an existing backend plugin
+(Move up and down to reveal more choices)
```
-When prompted, select the option to generate a scaffolder module. This creates a solid foundation for your custom
+When prompted, select the option to generate a `scaffolder-backend-module` using the down arrow key. This creates a solid foundation for your custom
action. Enter the name of the module you wish to create, and the CLI will generate the required files and directory
structure.
@@ -91,8 +95,8 @@ The `createTemplateAction` takes an object which specifies the following:
may ship with the `scaffolder-backend` plugin.
- `description` - An optional field to describe the purpose of the action. This will populate in the `/create/actions`
endpoint.
-- `schema.input` - A `zod` or JSON schema object for input values to your function
-- `schema.output` - A `zod` or JSON schema object for values which are output from the
+- `schema.input` - A `zod` schema object for input values to your function
+- `schema.output` - A `zod` schema object for values which are output from the
function using `ctx.output`
- `handler` - the actual code which is run as part of the action, with a context
@@ -195,7 +199,7 @@ argument. It looks like the following:
executed successfully on the previous run.
- `ctx.logger` - a [LoggerService](../../backend-system/core-services/logger.md) instance for additional logging inside your action
- `ctx.workspacePath` - a string of the working directory of the template run
-- `ctx.input` - an object which should match the `zod` or JSON schema provided in the
+- `ctx.input` - an object which should match the `zod` schema provided in the
`schema.input` part of the action definition
- `ctx.output` - a function which you can call to set outputs that match the
`zod` schema in `schema.output` for ex. `ctx.output('downloadUrl', myDownloadUrl)`
@@ -205,47 +209,12 @@ argument. It looks like the following:
- `ctx.metadata` - an object containing a `name` field, indicating the template
name. More metadata fields may be added later.
-## Registering Custom Actions
-
-To register your new custom action in the Backend System, you will need to create a backend module. Here is a very
-simplified example of how to do that:
-
-```ts title="packages/backend/src/index.ts"
-/* highlight-add-start */
-import { scaffolderActionsExtensionPoint } from '@backstage/plugin-scaffolder-node/alpha';
-import { createBackendModule } from '@backstage/backend-plugin-api';
-/* highlight-add-end */
-
-/* highlight-add-start */
-const scaffolderModuleCustomExtensions = createBackendModule({
- pluginId: 'scaffolder', // name of the plugin that the module is targeting
- moduleId: 'custom-extensions',
- register(env) {
- env.registerInit({
- deps: {
- scaffolder: scaffolderActionsExtensionPoint,
- // ... and other dependencies as needed
- },
- async init({ scaffolder /* ..., other dependencies */ }) {
- // Here you have the opportunity to interact with the extension
- // point before the plugin itself gets instantiated
- scaffolder.addActions(createNewFileAction()); // just an example
- },
- });
- },
-});
-/* highlight-add-end */
-
-const backend = createBackend();
-backend.add(import('@backstage/plugin-scaffolder-backend'));
-/* highlight-add-next-line */
-backend.add(scaffolderModuleCustomExtensions);
-```
+### Using Core Services in Custom Actions
If your custom action requires core services such as `config` or `cache` they can be imported in the dependencies and
passed to the custom action function.
-```ts title="packages/backend/src/index.ts"
+```ts title="module.ts"
import {
coreServices,
createBackendModule,
diff --git a/docs/features/software-templates/writing-custom-field-extensions.md b/docs/features/software-templates/writing-custom-field-extensions.md
index 477fa66e5b..3fe4d82a1f 100644
--- a/docs/features/software-templates/writing-custom-field-extensions.md
+++ b/docs/features/software-templates/writing-custom-field-extensions.md
@@ -22,7 +22,7 @@ Field extensions are a way to combine an ID, a `React` Component and a
the `Scaffolder` frontend plugin in your own `App.tsx`.
You can create your own Field Extension by using the
-[`createScaffolderFieldExtension`](https://backstage.io/docs/reference/plugin-scaffolder.createscaffolderfieldextension)
+[`createScaffolderFieldExtension`](https://backstage.io/api/stable/variables/_backstage_plugin-scaffolder.index.createScaffolderFieldExtension.html)
`API` like below.
As an example, we will create a component that validates whether a string is in the `Kebab-case` pattern:
@@ -151,7 +151,7 @@ const routes = (
### Async Validation Function
-A validation function can be asynchronous and use [Utility APIs](https://backstage.io/docs/api/utility-apis/) via the `ApiHolder` in the [field validation context](https://backstage.io/docs/reference/plugin-scaffolder-react.customfieldvalidator). The example below uses the `catalogApiRef` to check if the submitted value (in this scenario an entity ref) exists in the catalog.
+A validation function can be asynchronous and use [Utility APIs](https://backstage.io/docs/api/utility-apis/) via the `ApiHolder` in the [field validation context](https://backstage.io/api/stable/types/_backstage_plugin-scaffolder-react.index.CustomFieldValidator.html). The example below uses the `catalogApiRef` to check if the submitted value (in this scenario an entity ref) exists in the catalog.
```tsx
import { FieldValidation } from '@rjsf/utils';
diff --git a/docs/features/software-templates/writing-custom-step-layouts.md b/docs/features/software-templates/writing-custom-step-layouts.md
index f2ed5eb96d..ad766270f2 100644
--- a/docs/features/software-templates/writing-custom-step-layouts.md
+++ b/docs/features/software-templates/writing-custom-step-layouts.md
@@ -16,7 +16,7 @@ This is the same [field](https://rjsf-team.github.io/react-jsonschema-form/docs/
## Registering a React component as a custom step layout
-The [createScaffolderLayout](https://backstage.io/docs/reference/plugin-scaffolder-react.createscaffolderlayout) function is used to mark a component as a custom step layout:
+The [createScaffolderLayout](https://backstage.io/api/stable/functions/_backstage_plugin-scaffolder-react.index.createScaffolderLayout.html) function is used to mark a component as a custom step layout:
```tsx
import { scaffolderPlugin } from '@backstage/plugin-scaffolder';
diff --git a/docs/features/techdocs/addons--new.md b/docs/features/techdocs/addons--new.md
index 8c58eb892c..cbafcbe127 100644
--- a/docs/features/techdocs/addons--new.md
+++ b/docs/features/techdocs/addons--new.md
@@ -89,12 +89,12 @@ page header, TechDocs Addons whose location is `Header` will not be rendered.
Addons can, in principle, be provided by any plugin! To make it easier to
discover available Addons, we've compiled a list of them here:
-| Addon | Package/Plugin | Description |
-| ------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| [`techDocsExpandableNavigationAddonModule`](https://backstage.io/docs/reference/plugin-techdocs-module-addons-contrib.expandablenavigation) | `@backstage/plugin-techdocs-module-addons-contrib/alpha` | Allows TechDocs users to expand or collapse the entire TechDocs main navigation, and keeps the user's preferred state between documentation sites. |
-| [`techDocsReportIssueAddonModule`](https://backstage.io/docs/reference/plugin-techdocs-module-addons-contrib.reportissue) | `@backstage/plugin-techdocs-module-addons-contrib/alpha` | Allows TechDocs users to select a portion of text on a TechDocs page and open an issue against the repository that contains the documentation, populating the issue description with the selected text according to a configurable template. |
-| [`techDocsTextSizeAddonModule`](https://backstage.io/docs/reference/plugin-techdocs-module-addons-contrib.textsize) | `@backstage/plugin-techdocs-module-addons-contrib/alpha` | This TechDocs addon allows users to customize text size on documentation pages, they can select how much they want to increase or decrease the font size via slider or buttons. The default value for font size is 100% and this setting is kept in the browser's local storage whenever it is changed. |
-| [`techDocsLightBoxAddonModule`](https://backstage.io/docs/reference/plugin-techdocs-module-addons-contrib.lightbox) | `@backstage/plugin-techdocs-module-addons-contrib/alpha` | This TechDocs addon allows users to open images in a light-box on documentation pages, they can navigate between images if there are several on one page. The image size of the light-box image is the same as the image size on the document page. When clicking on the zoom icon it zooms the image to fit in the screen (similar to `background-size: contain`). |
+| Addon | Package/Plugin | Description |
+| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| [`techDocsExpandableNavigationAddonModule`](https://backstage.io/api/stable/variables/_backstage_plugin-techdocs-module-addons-contrib.plugins_techdocs-module-addons-contrib_src_alpha.techDocsExpandableNavigationAddonModule.html) | `@backstage/plugin-techdocs-module-addons-contrib/alpha` | Allows TechDocs users to expand or collapse the entire TechDocs main navigation, and keeps the user's preferred state between documentation sites. |
+| [`techDocsReportIssueAddonModule`](https://backstage.io/api/stable/variables/_backstage_plugin-techdocs-module-addons-contrib.plugins_techdocs-module-addons-contrib_src_alpha.techDocsReportIssueAddonModule.html) | `@backstage/plugin-techdocs-module-addons-contrib/alpha` | Allows TechDocs users to select a portion of text on a TechDocs page and open an issue against the repository that contains the documentation, populating the issue description with the selected text according to a configurable template. |
+| [`techDocsTextSizeAddonModule`](https://backstage.io/api/stable/variables/_backstage_plugin-techdocs-module-addons-contrib.plugins_techdocs-module-addons-contrib_src_alpha.techDocsReportIssueAddonModule.html) | `@backstage/plugin-techdocs-module-addons-contrib/alpha` | This TechDocs addon allows users to customize text size on documentation pages, they can select how much they want to increase or decrease the font size via slider or buttons. The default value for font size is 100% and this setting is kept in the browser's local storage whenever it is changed. |
+| [`techDocsLightBoxAddonModule`](https://backstage.io/api/stable/variables/_backstage_plugin-techdocs-module-addons-contrib.plugins_techdocs-module-addons-contrib_src_alpha.techDocsLightBoxAddonModule.html) | `@backstage/plugin-techdocs-module-addons-contrib/alpha` | This TechDocs addon allows users to open images in a light-box on documentation pages, they can navigate between images if there are several on one page. The image size of the light-box image is the same as the image size on the document page. When clicking on the zoom icon it zooms the image to fit in the screen (similar to `background-size: contain`). |
Got an Addon to contribute? Feel free to add a row above!
diff --git a/docs/features/techdocs/addons.md b/docs/features/techdocs/addons.md
index 435239794b..78b472edf2 100644
--- a/docs/features/techdocs/addons.md
+++ b/docs/features/techdocs/addons.md
@@ -126,12 +126,12 @@ page header, TechDocs Addons whose location is `Header` will not be rendered.
Addons can, in principle, be provided by any plugin! To make it easier to
discover available Addons, we've compiled a list of them here:
-| Addon | Package/Plugin | Description |
-| ---------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| [` `](https://backstage.io/docs/reference/plugin-techdocs-module-addons-contrib.expandablenavigation) | `@backstage/plugin-techdocs-module-addons-contrib` | Allows TechDocs users to expand or collapse the entire TechDocs main navigation, and keeps the user's preferred state between documentation sites. |
-| [` `](https://backstage.io/docs/reference/plugin-techdocs-module-addons-contrib.reportissue) | `@backstage/plugin-techdocs-module-addons-contrib` | Allows TechDocs users to select a portion of text on a TechDocs page and open an issue against the repository that contains the documentation, populating the issue description with the selected text according to a configurable template. |
-| [` `](https://backstage.io/docs/reference/plugin-techdocs-module-addons-contrib.textsize) | `@backstage/plugin-techdocs-module-addons-contrib` | This TechDocs addon allows users to customize text size on documentation pages, they can select how much they want to increase or decrease the font size via slider or buttons. The default value for font size is 100% and this setting is kept in the browser's local storage whenever it is changed. |
-| [` `](https://backstage.io/docs/reference/plugin-techdocs-module-addons-contrib.lightbox) | `@backstage/plugin-techdocs-module-addons-contrib` | This TechDocs addon allows users to open images in a light-box on documentation pages, they can navigate between images if there are several on one page. The image size of the light-box image is the same as the image size on the document page. When clicking on the zoom icon it zooms the image to fit in the screen (similar to `background-size: contain`). |
+| Addon | Package/Plugin | Description |
+| -------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| [` `](https://backstage.io/api/stable/variables/_backstage_plugin-techdocs-module-addons-contrib.index.ExpandableNavigation.html) | `@backstage/plugin-techdocs-module-addons-contrib` | Allows TechDocs users to expand or collapse the entire TechDocs main navigation, and keeps the user's preferred state between documentation sites. |
+| [` `](https://backstage.io/api/stable/variables/_backstage_plugin-techdocs-module-addons-contrib.index.ReportIssue.html) | `@backstage/plugin-techdocs-module-addons-contrib` | Allows TechDocs users to select a portion of text on a TechDocs page and open an issue against the repository that contains the documentation, populating the issue description with the selected text according to a configurable template. |
+| [` `](https://backstage.io/api/stable/variables/_backstage_plugin-techdocs-module-addons-contrib.index.TextSize.html) | `@backstage/plugin-techdocs-module-addons-contrib` | This TechDocs addon allows users to customize text size on documentation pages, they can select how much they want to increase or decrease the font size via slider or buttons. The default value for font size is 100% and this setting is kept in the browser's local storage whenever it is changed. |
+| [` `](https://backstage.io/api/stable/variables/_backstage_plugin-techdocs-module-addons-contrib.index.LightBox.html) | `@backstage/plugin-techdocs-module-addons-contrib` | This TechDocs addon allows users to open images in a light-box on documentation pages, they can navigate between images if there are several on one page. The image size of the light-box image is the same as the image size on the document page. When clicking on the zoom icon it zooms the image to fit in the screen (similar to `background-size: contain`). |
Got an Addon to contribute? Feel free to add a row above!
diff --git a/docs/features/techdocs/cli.md b/docs/features/techdocs/cli.md
index a52730d335..67d29c4ebb 100644
--- a/docs/features/techdocs/cli.md
+++ b/docs/features/techdocs/cli.md
@@ -271,5 +271,5 @@ upon your cloud storage provider -
You are welcome to contribute to TechDocs CLI to improve it and support new
features! See the project
-[README](https://github.com/backstage/backstage/blob/main/src/packages/techdocs-cli/README.md)
+[README](https://github.com/backstage/backstage/blob/master/packages/techdocs-cli/README.md)
for more information.
diff --git a/docs/features/techdocs/configuration.md b/docs/features/techdocs/configuration.md
index e21e452b7c..cf9215ebc3 100644
--- a/docs/features/techdocs/configuration.md
+++ b/docs/features/techdocs/configuration.md
@@ -4,205 +4,540 @@ title: TechDocs Configuration Options
description: Reference documentation for configuring TechDocs using app-config.yaml
---
-Using the `app-config.yaml` in the Backstage app, you can configure TechDocs
-using several options. This page serves as a reference to all the available
-configuration options for TechDocs.
+Using the `app-config.yaml` in the Backstage app, you can configure TechDocs using several options. This page serves as a reference to all the available configuration options for TechDocs.
+
+## Generator Configuration
+
+`techdocs.generator` is used to configure how documentation sites are generated using MkDocs.
+
+### Run In
+
+`techdocs.generator.runIn`
+
+**Options:** `'docker'` or `'local'`
+
+This determines how to run the generator - whether to spin up the techdocs-container docker image or to run mkdocs locally (assuming all the dependencies are taken care of).
+
+You want to change this to `'local'` if you are running Backstage using your own custom Docker setup and want to avoid running into Docker in Docker situation. [Read more here](https://backstage.io/docs/features/techdocs/getting-started/#disabling-docker-in-docker-situation-optional).
+
+**Example:**
```yaml
-# File: app-config.yaml
-
techdocs:
- # techdocs.generator is used to configure how documentation sites are generated using MkDocs.
-
generator:
- # techdocs.generator.runIn can be either 'docker' or 'local'. This is to determine how to run the generator - whether to
- # spin up the techdocs-container docker image or to run mkdocs locally (assuming all the dependencies are taken care of).
- # You want to change this to 'local' if you are running Backstage using your own custom Docker setup and want to avoid running
- # into Docker in Docker situation. Read more here
- # https://backstage.io/docs/features/techdocs/getting-started/#disabling-docker-in-docker-situation-optional
-
runIn: 'docker'
+```
- # (Optional) techdocs.generator.dockerImage can be used to control the docker image used during documentation generation. This can be useful
- # if you want to use MkDocs plugins or other packages that are not included in the default techdocs-container (spotify/techdocs).
- # NOTE: This setting is only used when techdocs.generator.runIn is set to 'docker'.
+### Docker Image
+`techdocs.generator.dockerImage`
+
+(Optional) This can be used to control the docker image used during documentation generation. This can be useful if you want to use MkDocs plugins or other packages that are not included in the default techdocs-container (spotify/techdocs).
+
+**Note:** This setting is only used when `techdocs.generator.runIn` is set to `'docker'`.
+
+**Example:**
+
+```yaml
+techdocs:
+ generator:
+ runIn: 'docker'
dockerImage: 'spotify/techdocs'
+```
- # (Optional) techdocs.generator.pullImage can be used to disable pulling the latest docker image by default. This can be useful when you are
- # using a custom techdocs.generator.dockerImage and you have a custom docker login requirement. For example, you need to login to
- # AWS ECR to pull the docker image.
- # NOTE: Disabling this requires the docker image was pulled by other means before running the techdocs generator.
+### Pull Image
- pullImage: true
+`techdocs.generator.pullImage`
+(Optional) This can be used to disable pulling the latest docker image by default. This can be useful when you are using a custom `techdocs.generator.dockerImage` and you have a custom docker login requirement. For example, you need to login to AWS ECR to pull the docker image.
+
+**Note:** Disabling this requires the docker image was pulled by other means before running the techdocs generator.
+
+**Example:**
+
+```yaml
+techdocs:
+ generator:
+ runIn: 'docker'
+ dockerImage: 'custom-registry/techdocs'
+ pullImage: false
+```
+
+### MkDocs Configuration
+
+#### Omit TechDocs Core Plugin
+
+`techdocs.generator.mkdocs.omitTechdocsCorePlugin`
+
+(Optional) This can be used to disable automatic addition of techdocs-core plugin to the mkdocs.yaml files. Defaults to `false`, which means that the techdocs-core plugin is always added to the mkdocs file.
+
+**Example:**
+
+```yaml
+techdocs:
+ generator:
mkdocs:
- # (Optional) techdocs.generator.omitTechdocsCoreMkdocsPlugin can be used to disable automatic addition of techdocs-core plugin to the mkdocs.yaml files.
- # Defaults to false, which means that the techdocs-core plugin is always added to the mkdocs file.
omitTechdocsCorePlugin: false
+```
- # (Optional and not recommended) Configures the techdocs generator to
- # attempt to ensure an index.md exists falling back to using /README.md
- # or README.md in case a default /index.md is not provided.
- # Note that https://www.mkdocs.org/user-guide/configuration/#edit_uri behavior
- # will be broken in these scenarios.
+#### Legacy Copy README to Index
+
+`techdocs.generator.mkdocs.legacyCopyReadmeMdToIndexMd`
+
+(Optional and not recommended) Configures the techdocs generator to attempt to ensure an index.md exists falling back to using `/README.md` or `README.md` in case a default `/index.md` is not provided.
+
+**Note:** https://www.mkdocs.org/user-guide/configuration/#edit_uri behavior will be broken in these scenarios.
+
+**Example:**
+
+```yaml
+techdocs:
+ generator:
+ mkdocs:
legacyCopyReadmeMdToIndexMd: false
+```
- # (Optional) Configures the default plugins which should be added
- # automatically to every mkdocs.yaml file. This simplifies the usage as
- # e.g. styling plugins can be added once for all.
- # Make sure that the defined plugins are installed locally / in the Docker
- # image.
- # By default, only the techdocs-core plugin will be added (except if
- # omitTechdocsCorePlugin: true).
+#### Default Plugins
+
+`techdocs.generator.mkdocs.defaultPlugins`
+
+(Optional) Configures the default plugins which should be added automatically to every mkdocs.yaml file. This simplifies the usage as e.g. styling plugins can be added once for all.
+
+Make sure that the defined plugins are installed locally / in the Docker image. By default, only the techdocs-core plugin will be added (except if `omitTechdocsCorePlugin: true`).
+
+**Example:**
+
+```yaml
+techdocs:
+ generator:
+ mkdocs:
defaultPlugins: ['techdocs-core']
+```
- # techdocs.builder can be either 'local' or 'external'.
- # Using the default build strategy, if builder is set to 'local' and you open a TechDocs page,
- # techdocs-backend will try to generate the docs, publish to storage and show the generated docs afterwards.
- # This is the "Basic" setup of the TechDocs Architecture.
- # Using the default build strategy, if builder is set to 'external' (or anything other than 'local'), techdocs-backend
- # will only fetch the docs and will NOT try to generate and publish.
- # In this case, we assume that docs are being built by an external process (e.g. in the CI/CD pipeline of the repository).
- # This is the "Recommended" setup of the architecture.
- # Note that custom build strategies may alter this behaviour.
- # Read more about the "Basic" and "Recommended" setups here https://backstage.io/docs/features/techdocs/architecture
- # Read more about build strategies here: https://backstage.io/docs/features/techdocs/concepts#techdocs-build-strategy
+## Builder Configuration
+`techdocs.builder`
+
+**Options:** `'local'` or `'external'`
+
+Using the default build strategy:
+
+- If builder is set to `'local'` and you open a TechDocs page, techdocs-backend will try to generate the docs, publish to storage and show the generated docs afterwards. This is the **"Basic"** setup of the TechDocs Architecture.
+- If builder is set to `'external'` (or anything other than `'local'`), techdocs-backend will only fetch the docs and will NOT try to generate and publish. In this case, we assume that docs are being built by an external process (e.g. in the CI/CD pipeline of the repository). This is the **"Recommended"** setup of the architecture.
+
+**Note:** Custom build strategies may alter this behaviour.
+
+[Read more about the "Basic" and "Recommended" setups](https://backstage.io/docs/features/techdocs/architecture)
+[Read more about build strategies](https://backstage.io/docs/features/techdocs/concepts#techdocs-build-strategy)
+
+**Example:**
+
+```yaml
+techdocs:
builder: 'local'
+```
- # techdocs.publisher is used to configure the Storage option, whether you want to use the local filesystem to store generated docs
- # or you want to use External storage providers like Google Cloud Storage, AWS S3, etc.
+## Publisher Configuration
+`techdocs.publisher`
+
+This is used to configure the storage option, whether you want to use the local filesystem to store generated docs or you want to use external storage providers like Google Cloud Storage, AWS S3, etc.
+
+### Publisher Type
+
+`techdocs.publisher.type`
+
+This determines where generated documentation files are stored.
+
+**Options:**
+
+- `'local'` - techdocs-backend will create a 'static' directory at its root to store generated documentation files
+- `'googleGcs'` - techdocs-backend will use a Google Cloud Storage Bucket
+- `'awsS3'` - techdocs-backend will use an Amazon Web Service (AWS) S3 bucket
+- `'azureBlobStorage'` - techdocs-backend will use Azure Blob Storage
+
+**Example:**
+
+```yaml
+techdocs:
publisher:
- # techdocs.publisher.type can be - 'local' or 'googleGcs' or 'awsS3' or 'azureBlobStorage'.
- # When set to 'local', techdocs-backend will create a 'static' directory at its root to store generated documentation files.
- # When set to 'googleGcs', techdocs-backend will use a Google Cloud Storage Bucket to store generated documentation files.
- # When set to 'awsS3', techdocs-backend will use an Amazon Web Service (AWS) S3 bucket to store generated documentation files.
-
type: 'local'
+```
- # Optional when techdocs.publisher.type is set to 'local'.
+### Local Storage
+`techdocs.publisher.local`
+
+This is used to configure the local storage option.
+
+Optional when `techdocs.publisher.type` is set to `'local'`.
+
+#### Publish Directory
+
+`techdocs.publisher.local.publishDirectory`
+
+(Optional) This specifies where the generated documentation is stored.
+
+**Example:**
+
+```yaml
+techdocs:
+ publisher:
+ type: 'local'
local:
- # (Optional). Set this to specify where the generated documentation is stored.
publishDirectory: '/path/to/local/directory'
+```
- # Required when techdocs.publisher.type is set to 'googleGcs'. Skip otherwise.
+### Google Cloud Storage
+`techdocs.publisher.googleGcs`
+
+This is used to configure the Google Cloud Storage option.
+
+Required when `techdocs.publisher.type` is set to `'googleGcs'`. Skip otherwise.
+
+#### Bucket Name
+
+`techdocs.publisher.googleGcs.bucketName`
+
+(Required) The Cloud Storage Bucket Name
+
+**Example:**
+
+```yaml
+techdocs:
+ publisher:
+ type: 'googleGcs'
googleGcs:
- # (Required) Cloud Storage Bucket Name
bucketName: 'techdocs-storage'
+```
- # (Optional) Location in storage bucket to save files
- # If not set, the default location will be the root of the storage bucket
- bucketRootPath: '/'
+#### Bucket Root Path
- # (Optional) An API key is required to write to a storage bucket.
- # If missing, GOOGLE_APPLICATION_CREDENTIALS environment variable will be used.
- # https://cloud.google.com/docs/authentication/production
+`techdocs.publisher.googleGcs.bucketRootPath`
+
+(Optional) The Location in storage bucket to save files. If not set, the default location will be the root of the storage bucket.
+
+**Example:**
+
+```yaml
+techdocs:
+ publisher:
+ type: 'googleGcs'
+ googleGcs:
+ bucketName: 'techdocs-storage'
+ bucketRootPath: '/docs'
+```
+
+#### Credentials
+
+`techdocs.publisher.googleGcs.credentials`
+
+(Optional) An API key required to write to a storage bucket.
+If missing `GOOGLE_APPLICATION_CREDENTIALS` environment variable will be used. https://cloud.google.com/docs/authentication/production
+
+**Example:**
+
+```yaml
+techdocs:
+ publisher:
+ type: 'googleGcs'
+ googleGcs:
+ bucketName: 'techdocs-storage'
credentials:
$file: '/path/to/google_application_credentials.json'
+```
- # Required when techdocs.publisher.type is set to 'awsS3'. Skip otherwise.
+### AWS S3
+`techdocs.publisher.awsS3`
+
+This is used to configure the AWS S3 option.
+
+Required when `techdocs.publisher.type` is set to `'awsS3'`. Skip otherwise.
+
+#### Bucket Name
+
+`techdocs.publisher.awsS3.bucketName`
+
+(Required) The AWS S3 Bucket Name
+
+**Example:**
+
+```yaml
+techdocs:
+ publisher:
+ type: 'awsS3'
awsS3:
- # (Required) AWS S3 Bucket Name
bucketName: 'techdocs-storage'
+```
- # (Optional) Location in storage bucket to save files
- # If not set, the default location will be the root of the storage bucket
- bucketRootPath: '/'
+#### Bucket Root Path
- # (Optional) The AWS account ID where the storage bucket is located.
- # Credentials for the account ID must be configured in the 'aws' app config section.
- # See the integration-aws-node package for details on how to configure credentials in
- # the 'aws' app config section.
- # https://www.npmjs.com/package/@backstage/integration-aws-node
- # If account ID is not set and no credentials are set, environment variables or aws config file will be used to authenticate.
- # https://www.npmjs.com/package/@aws-sdk/credential-provider-node
- # https://docs.aws.amazon.com/sdk-for-javascript/v3/developer-guide/setting-credentials-node.html
+`techdocs.publisher.awsS3.bucketRootPath`
+
+(Optional) The Location in storage bucket to save files. If not set, the default location will be the root of the storage bucket.
+
+**Example:**
+
+```yaml
+techdocs:
+ publisher:
+ type: 'awsS3'
+ awsS3:
+ bucketName: 'techdocs-storage'
+ bucketRootPath: '/documentation'
+```
+
+#### Account ID
+
+`techdocs.publisher.awsS3.accountId`
+
+The AWS account ID where the storage bucket is located. Credentials for the account ID must be configured in the `aws` app config section. See the [integration-aws-node package](https://www.npmjs.com/package/@backstage/integration-aws-node) for details on how to configure credentials in the `aws` app config section.
+
+If account ID is not set and no credentials are set, environment variables or AWS config file will be used to authenticate.
+
+https://www.npmjs.com/package/@aws-sdk/credential-provider-node
+https://docs.aws.amazon.com/sdk-for-javascript/v3/developer-guide/setting-credentials-node.html
+
+**Example:**
+
+```yaml
+techdocs:
+ publisher:
+ type: 'awsS3'
+ awsS3:
+ bucketName: 'techdocs-storage'
accountId: ${TECHDOCS_AWSS3_ACCOUNT_ID}
+```
- # (Optional) AWS credentials to use to write to the storage bucket.
- # This configuration section is now deprecated.
- # Configuring the account ID is now preferred, with credentials in the 'aws' app config section.
- # If credentials are not set and no account ID is set, environment variables or aws config file will be used to authenticate.
- # https://www.npmjs.com/package/@aws-sdk/credential-provider-node
- # https://docs.aws.amazon.com/sdk-for-javascript/v3/developer-guide/setting-credentials-node.html
+#### Credentials
+
+`techdocs.publisher.awsS3.credentials`
+
+(Optional) AWS credentials to use to write to the storage bucket. This configuration section is now **deprecated**. Configuring the account ID is now preferred, with credentials in the `aws` app config section.
+
+If credentials are not set and no account ID is set, environment variables or AWS config file will be used to authenticate.
+
+https://www.npmjs.com/package/@aws-sdk/credential-provider-node
+https://docs.aws.amazon.com/sdk-for-javascript/v3/developer-guide/setting-credentials-node.html
+
+**Example:**
+
+```yaml
+techdocs:
+ publisher:
+ type: 'awsS3'
+ awsS3:
+ bucketName: 'techdocs-storage'
credentials:
accessKeyId: ${TECHDOCS_AWSS3_ACCESS_KEY_ID_CREDENTIAL}
secretAccessKey: ${TECHDOCS_AWSS3_SECRET_ACCESS_KEY_CREDENTIAL}
+```
- # (Optional) AWS Region of the bucket.
- # If not set, AWS_REGION environment variable or aws config file will be used.
- # https://docs.aws.amazon.com/sdk-for-javascript/v3/developer-guide/setting-region.html
+#### Region
+
+`techdocs.publisher.awsS3.region`
+
+(Optional) The AWS Region of the bucket.
+If not set, `AWS_REGION` environment variable or AWS config file will be used.
+
+https://docs.aws.amazon.com/sdk-for-javascript/v3/developer-guide/setting-region.html
+
+**Example:**
+
+```yaml
+techdocs:
+ publisher:
+ type: 'awsS3'
+ awsS3:
+ bucketName: 'techdocs-storage'
region: ${AWS_REGION}
+```
- # (Optional) Endpoint URI to send requests to.
- # If not set, the default endpoint is built from the configured region.
- # https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-s3/interfaces/s3clientconfig.html#endpoint
+#### Endpoint
+
+`techdocs.publisher.awsS3.endpoint`
+
+(Optional) The Endpoint URI to send requests to.
+If not set, the default endpoint is built from the configured region.
+
+https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-s3/interfaces/s3clientconfig.html#endpoint
+
+**Example:**
+
+```yaml
+techdocs:
+ publisher:
+ type: 'awsS3'
+ awsS3:
+ bucketName: 'techdocs-storage'
endpoint: ${AWS_ENDPOINT}
+```
- # (Optional) HTTPS proxy to use for S3 Requests
- # Defaults to using no proxy
- # This allows docs to be published and read from behind a proxy
+#### HTTPS Proxy
+
+`techdocs.publisher.awsS3.httpsProxy`
+
+(Optional) The HTTPS proxy to use for S3 Requests. Defaults to using no proxy. This allows docs to be published and read from behind a proxy.
+
+**Example:**
+
+```yaml
+techdocs:
+ publisher:
+ type: 'awsS3'
+ awsS3:
+ bucketName: 'techdocs-storage'
httpsProxy: ${HTTPS_PROXY}
+```
- # (Optional) Whether to use path style URLs when communicating with S3.
- # Defaults to false.
- # This allows providers like LocalStack, Minio and Wasabi (and possibly others) to be used to host tech docs.
- s3ForcePathStyle: false
+#### S3 Force Path Style
- # (Optional) AWS Server Side Encryption
- # Defaults to undefined.
- # If not set, encrypted buckets will fail to publish.
- # https://docs.aws.amazon.com/AmazonS3/latest/userguide/specifying-s3-encryption.html
- sse: 'aws:kms' # or AES256
+`techdocs.publisher.awsS3.s3ForcePathStyle`
- # Required when techdocs.publisher.type is set to 'azureBlobStorage'. Skip otherwise.
+(Optional) Whether to use path style URLs when communicating with S3. Defaults to `false`. This allows providers like LocalStack, Minio and Wasabi (and possibly others) to be used to host tech docs.
+**Example:**
+
+```yaml
+techdocs:
+ publisher:
+ type: 'awsS3'
+ awsS3:
+ bucketName: 'techdocs-storage'
+ s3ForcePathStyle: true
+```
+
+#### Server Side Encryption
+
+`techdocs.publisher.awsS3.sse`
+
+(Optional) AWS Server Side Encryption. Defaults to undefined. If not set, encrypted buckets will fail to publish.
+
+https://docs.aws.amazon.com/AmazonS3/latest/userguide/specifying-s3-encryption.html
+
+**Options:** `'aws:kms'` or `'AES256'`
+
+**Example:**
+
+```yaml
+techdocs:
+ publisher:
+ type: 'awsS3'
+ awsS3:
+ bucketName: 'techdocs-storage'
+ sse: 'aws:kms'
+```
+
+### Azure Blob Storage
+
+`techdocs.publisher.azureBlobStorage`
+
+Required when `techdocs.publisher.type` is set to `'azureBlobStorage'`. Skip otherwise.
+
+#### Container Name
+
+`techdocs.publisher.azureBlobStorage.containerName`
+
+(Required) Azure Blob Storage Container Name
+
+**Example:**
+
+```yaml
+techdocs:
+ publisher:
+ type: 'azureBlobStorage'
azureBlobStorage:
- # (Required) Azure Blob Storage Container Name
containerName: 'techdocs-storage'
+```
- # (Optional) Azure blob storage connection string.
- # Can be useful for local testing through azurite
- # Defaults to undefined
- # if provided, takes higher priority, 'techdocs.publisher.azureBlobStorage.credentials' will become irrelevant
- connectionString: ''
+#### Connection String
- # (Required) An account name is required to write to a storage blob container.
- # https://docs.microsoft.com/en-us/rest/api/storageservices/authorize-with-shared-key
+`techdocs.publisher.azureBlobStorage.connectionString`
+
+(Optional) Azure blob storage connection string. Can be useful for local testing through azurite. Defaults to undefined. If provided, takes higher priority, and `techdocs.publisher.azureBlobStorage.credentials` will become irrelevant.
+
+**Example:**
+
+```yaml
+techdocs:
+ publisher:
+ type: 'azureBlobStorage'
+ azureBlobStorage:
+ containerName: 'techdocs-storage'
+ connectionString: 'DefaultEndpointsProtocol=https;AccountName=...'
+```
+
+#### Credentials
+
+`techdocs.publisher.azureBlobStorage.credentials`
+
+(Required) An account name to write to a storage blob container.
+
+https://docs.microsoft.com/en-us/rest/api/storageservices/authorize-with-shared-key
+
+(Optional) An account key is required to write to a storage container. If missing, `AZURE_TENANT_ID`, `AZURE_CLIENT_ID`, `AZURE_CLIENT_SECRET` environment variables will be used.
+
+https://docs.microsoft.com/en-us/azure/storage/common/storage-auth?toc=/azure/storage/blobs/toc.json
+
+**Example:**
+
+```yaml
+techdocs:
+ publisher:
+ type: 'azureBlobStorage'
+ azureBlobStorage:
+ containerName: 'techdocs-storage'
credentials:
accountName: ${TECHDOCS_AZURE_BLOB_STORAGE_ACCOUNT_NAME}
- # (Optional) An account key is required to write to a storage container.
- # If missing,AZURE_TENANT_ID, AZURE_CLIENT_ID, AZURE_CLIENT_SECRET environment variable will be used.
- # https://docs.microsoft.com/en-us/azure/storage/common/storage-auth?toc=/azure/storage/blobs/toc.json
accountKey: ${TECHDOCS_AZURE_BLOB_STORAGE_ACCOUNT_KEY}
+```
- # (Optional and not recommended) Prior to version [0.x.y] of TechDocs, docs
- # sites could only be accessed over paths with case-sensitive entity triplets
- # e.g. (namespace/Kind/name). If you are upgrading from an older version of
- # TechDocs and are unable to perform the necessary migration of files in your
- # external storage, you can set this value to `true` to temporarily revert to
- # the old, case-sensitive entity triplet behavior.
+## Legacy Case Sensitive Triplet Paths
+
+`techdocs.legacyUseCaseSensitiveTripletPaths`
+
+(Optional and not recommended) Prior to version [0.x.y] of TechDocs, docs sites could only be accessed over paths with case-sensitive entity triplets e.g. (namespace/Kind/name). If you are upgrading from an older version of TechDocs and are unable to perform the necessary migration of files in your external storage, you can set this value to `true` to temporarily revert to the old, case-sensitive entity triplet behavior.
+
+**Example:**
+
+```yaml
+techdocs:
legacyUseCaseSensitiveTripletPaths: false
+```
- # techdocs.cache is optional, and is only recommended when you've configured
- # an external techdocs.publisher.type above. Also requires backend.cache to
- # be configured with a valid cache store. Configure techdocs.cache.ttl to
- # enable caching of techdocs assets.
+## Cache Configuration
+
+`techdocs.cache`
+
+(Optional) `techdocs.cache` is only recommended when you've configured an external `techdocs.publisher.type` above. Also requires `backend.cache` to be configured with a valid cache store. Configure `techdocs.cache.ttl` to enable caching of techdocs assets.
+
+### TTL
+
+`techdocs.cache.ttl`
+
+Represents the number of milliseconds a statically built asset should stay cached. Cache invalidation is handled automatically by the frontend, which compares the build times in cached metadata vs. canonical storage, allowing long TTLs (e.g. 1 month/year).
+
+**Example:**
+
+```yaml
+techdocs:
cache:
- # Represents the number of milliseconds a statically built asset should
- # stay cached. Cache invalidation is handled automatically by the frontend,
- # which compares the build times in cached metadata vs. canonical storage,
- # allowing long TTLs (e.g. 1 month/year)
ttl: 3600000
+```
- # (Optional) The time (in milliseconds) that the TechDocs backend will wait
- # for a cache service to respond before continuing on as though the cached
- # object was not found (e.g. when the cache service is unavailable). The
- # default value is 1000
+### Read Timeout
+
+`techdocs.cache.readTimeout`
+
+(Optional) The time (in milliseconds) that the TechDocs backend will wait for a cache service to respond before continuing on as though the cached object was not found (e.g. when the cache service is unavailable). The default value is 1000.
+
+**Example:**
+
+```yaml
+techdocs:
+ cache:
+ ttl: 3600000
readTimeout: 500
```
diff --git a/docs/features/techdocs/extensions.md b/docs/features/techdocs/extensions.md
index 6c69d076a4..76cc571a0f 100644
--- a/docs/features/techdocs/extensions.md
+++ b/docs/features/techdocs/extensions.md
@@ -10,15 +10,15 @@ description: How to use the built-in TechDocs extension points
The TechDocs backend plugin provides the following extension points:
- `techdocsPreparerExtensionPoint`
- - Register a custom docs [PreparerBase extension](https://backstage.io/docs/reference/plugin-techdocs-node.preparerbase/)
+ - Register a custom docs [PreparerBase extension](https://backstage.io/api/stable/types/_backstage_plugin-techdocs-node.PreparerBase.html)
- Ideal for when you want a custom type of docs created for a specific entity type
- `techdocsBuildsExtensionPoint`
- Allows overriding the build phase Winston log transport (by default does not log to console)
- - Allows overriding the [DocsBuildStrategy](https://backstage.io/docs/reference/plugin-techdocs-node.docsbuildstrategy/)
+ - Allows overriding the [DocsBuildStrategy](https://backstage.io/api/stable/interfaces/_backstage_plugin-techdocs-node.DocsBuildStrategy.html)
- `techdocsPublisherExtensionPoint`
- Register a custom docs publisher
- `techdocsGeneratorExtensionPoint`
- - Register a custom [TechdocsGenerator](https://backstage.io/docs/reference/plugin-techdocs-node.techdocsgenerator/)
+ - Register a custom [TechdocsGenerator](https://backstage.io/api/stable/classes/_backstage_plugin-techdocs-node.TechdocsGenerator.html)
Extension points are exported from `@backstage/plugin-techdocs-backend`.
diff --git a/docs/frontend-system/architecture/20-extensions.md b/docs/frontend-system/architecture/20-extensions.md
index 99b77f5448..106ab5340a 100644
--- a/docs/frontend-system/architecture/20-extensions.md
+++ b/docs/frontend-system/architecture/20-extensions.md
@@ -399,7 +399,7 @@ const parent = createExtension({
// Create a child extension that attaches to the parent's input
const child = createExtension({
- attachTo: page.inputs.children, // Direct reference to the input
+ attachTo: parent.inputs.children, // Direct reference to the input
output: [coreExtensionData.reactElement], // Outputs are verified against the parent input
// other options...
});
diff --git a/docs/frontend-system/building-apps/01-index.md b/docs/frontend-system/building-apps/01-index.md
index ed84aeafb2..8610dfb7b5 100644
--- a/docs/frontend-system/building-apps/01-index.md
+++ b/docs/frontend-system/building-apps/01-index.md
@@ -103,7 +103,7 @@ You can also pass overrides to the features array, for more details, please read
### Using an async features loader
-In case you need to perform asynchronous operations before passing features to the `createApp` function, define a [feature loader](https://backstage.io/docs/reference/frontend-defaults.createappfeatureloader/) object and pass it to the `features` option:
+In case you need to perform asynchronous operations before passing features to the `createApp` function, define a [feature loader](https://backstage.io/api/stable/functions/_backstage_frontend-plugin-api.index.createFrontendFeatureLoader.html) object and pass it to the `features` option:
```tsx title="packages/app/src/App.tsx"
import { createApp } from '@backstage/frontend-defaults';
diff --git a/docs/frontend-system/building-apps/03-built-in-extensions.md b/docs/frontend-system/building-apps/03-built-in-extensions.md
index 44316bd898..e1d0b0282d 100644
--- a/docs/frontend-system/building-apps/03-built-in-extensions.md
+++ b/docs/frontend-system/building-apps/03-built-in-extensions.md
@@ -18,7 +18,7 @@ extensions:
```
:::warning
-Be careful when disabling built-in extensions, as there may be other extensions depending on their existence. For example, the built-in "alert display" extension displays messages retrieved via [AlertApi](https://backstage.io/docs/reference/core-plugin-api.alertapi) and disabling this extension will cause the application to no longer display these messages unless you install another extension that displays messages from `AlertApi`.
+Be careful when disabling built-in extensions, as there may be other extensions depending on their existence. For example, the built-in "alert display" extension displays messages retrieved via [AlertApi](https://backstage.io/api/stable/types/_backstage_core-plugin-api.index.AlertApi.html) and disabling this extension will cause the application to no longer display these messages unless you install another extension that displays messages from `AlertApi`.
:::
## Override built-in extensions
@@ -107,7 +107,7 @@ This is the extension that creates the app root element, so it renders root leve
##### Alert Display
-An app root element extension that displays messages posted via the [`AlertApi`](https://backstage.io/docs/reference/core-plugin-api.alertapi).
+An app root element extension that displays messages posted via the [`AlertApi`](https://backstage.io/api/stable/types/_backstage_core-plugin-api.index.AlertApi.html).
| kind | namespace | name | id |
| :--------------: | :-------: | :-----------: | :----------------------------------: |
@@ -125,12 +125,12 @@ An app root element extension that displays messages posted via the [`AlertApi`]
If you do not want to display alerts, disable this extension or if the available settings do not meet your needs, override this extension.
:::warning
-The built-in "alert display" extension displays messages retrieved via [AlertApi](https://backstage.io/docs/reference/core-plugin-api.alertapi) and disabling this extension will cause the application to no longer display these messages unless you install another extension that displays messages from `AlertApi`.
+The built-in "alert display" extension displays messages retrieved via [AlertApi](https://backstage.io/api/stable/types/_backstage_core-plugin-api.index.AlertApi.html) and disabling this extension will cause the application to no longer display these messages unless you install another extension that displays messages from `AlertApi`.
:::
##### OAuth Request Dialog
-An app root element extension that renders the oauth request dialog, it is based on the [oauthRequestApi](https://backstage.io/docs/reference/core-plugin-api.oauthrequestapi/).
+An app root element extension that renders the oauth request dialog, it is based on the [oauthRequestApi](https://backstage.io/api/stable/types/_backstage_core-plugin-api.index.OAuthRequestApi.html).
| kind | namespace | name | id |
| :--------------: | :-------: | :------------------: | :-----------------------------------------: |
@@ -146,10 +146,10 @@ Renders the app's sidebar and content in a specific layout.
#### Inputs
-| Name | Description | Type | Optional | Default | Extension creator |
-| ------- | --------------------------------------------- | ----------------------------------------------------------------------------------------------------------- | -------- | ------- | ------------------------------------ |
-| nav | A React element that renders the app sidebar. | [coreExtensionData.reactElement](https://backstage.io/docs/reference/frontend-plugin-api.coreextensiondata) | false | - | Override the `App/Nav` extension. |
-| content | A React element that renders the app content. | [coreExtensionData.reactElement](https://backstage.io/docs/reference/frontend-plugin-api.coreextensiondata) | false | - | Override the `App/Routes` extension. |
+| Name | Description | Type | Optional | Default | Extension creator |
+| ------- | --------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | -------- | ------- | ------------------------------------ |
+| nav | A React element that renders the app sidebar. | [coreExtensionData.reactElement](https://backstage.io/api/stable/variables/_backstage_frontend-plugin-api.index.coreExtensionData.html) | false | - | Override the `App/Nav` extension. |
+| content | A React element that renders the app content. | [coreExtensionData.reactElement](https://backstage.io/api/stable/variables/_backstage_frontend-plugin-api.index.coreExtensionData.html) | false | - | Override the `App/Routes` extension. |
### App nav
@@ -161,10 +161,10 @@ Extension responsible for rendering the logo and items in the app's sidebar.
#### Inputs
-| Name | Description | Type | Optional | Default | Extension creator |
-| ------- | -------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ | -------- | ------- | -------------------------------------------------------------------------------------------------------- |
-| content | Overrides the default content of the navbar. | [NavContentBlueprint.dataRefs.component](https://backstage.io/docs/reference/frontend-plugin-api.navcontentblueprint) | true | - | [NavContentBlueprint](https://backstage.io/docs/reference/frontend-plugin-api.navcontentblueprint) |
-| items | Nav items target objects. | [createNavItemExtension.targetDataRef](https://backstage.io/docs/reference/frontend-plugin-api.createnavitemextension.targetdataref) | true | - | [createNavItemExtension](https://backstage.io/docs/reference/frontend-plugin-api.createnavitemextension) |
+| Name | Description | Type | Optional | Default | Extension creator |
+| ------- | -------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | -------- | ------- | --------------------------------------------------------------------------------------------------------------------- |
+| content | Overrides the default content of the navbar. | [NavContentBlueprint.dataRefs.component](https://backstage.io/api/stable/variables/_backstage_plugin-app-react.NavContentBlueprint.html) | true | - | [NavContentBlueprint](https://backstage.io/api/stable/variables/_backstage_plugin-app-react.NavContentBlueprint.html) |
+| items | Nav items target objects. | [createNavItemExtension.targetDataRef](https://backstage.io/docs/reference/frontend-plugin-api.createnavitemextension.targetdataref) | true | - | [createNavItemExtension](https://backstage.io/docs/reference/frontend-plugin-api.createnavitemextension) |
### App routes
diff --git a/docs/frontend-system/building-plugins/02-testing.md b/docs/frontend-system/building-plugins/02-testing.md
index ac90185b40..82f44df2eb 100644
--- a/docs/frontend-system/building-plugins/02-testing.md
+++ b/docs/frontend-system/building-plugins/02-testing.md
@@ -31,50 +31,50 @@ describe('Entity details component', () => {
});
```
-To mock [Utility APIs](../architecture/33-utility-apis.md) that are used by your component you can use the `TestApiProvider` to override individual API implementations. In the snippet below, we wrap the component within a `TestApiProvider` in order to mock the catalog client API:
+To mock [Utility APIs](../architecture/33-utility-apis.md) that are used by your component, pass API overrides to `renderInTestApp` using the `apis` option. Mock helpers are available from `@backstage/frontend-test-utils` and plugin-specific test utilities. For a deeper look at the available mock APIs and how to create your own, see [Testing with Utility APIs](../utility-apis/05-testing.md).
```tsx
import { screen } from '@testing-library/react';
-import {
- renderInTestApp,
- TestApiProvider,
-} from '@backstage/frontend-test-utils';
-import { stringifyEntityRef } from '@backstage/catalog-model';
-import { CatalogApi, catalogApiRef } from '@backstage/plugin-catalog-react';
-import { EntityDetails } from './plugin';
+import { renderInTestApp, mockApis } from '@backstage/frontend-test-utils';
+import { identityApiRef } from '@backstage/frontend-plugin-api';
+import { catalogApiRef } from '@backstage/plugin-catalog-react';
+import { catalogApiMock } from '@backstage/plugin-catalog-react/testUtils';
+import { MyEntitiesList } from './plugin';
-describe('Entity details component', () => {
- it('should render the entity name and owner', async () => {
- const catalogApiMock = {
- async getEntityFacets() {
- return {
- facets: {
- 'relations.ownedBy': [{ count: 1, value: 'group:default/tools' }],
- },
- },
- }
- } satisfies Partial;
-
- const entityRef = stringifyEntityRef({
- kind: 'Component',
- namespace: 'default',
- name: 'test',
+describe('MyEntitiesList', () => {
+ it('should render entities owned by the current user', async () => {
+ await renderInTestApp( , {
+ apis: [
+ [
+ identityApiRef,
+ mockApis.identity({ userEntityRef: 'user:default/guest' }),
+ ],
+ [
+ catalogApiRef,
+ catalogApiMock({
+ entities: [
+ {
+ apiVersion: 'backstage.io/v1alpha1',
+ kind: 'Component',
+ metadata: { name: 'my-component' },
+ spec: { type: 'service', owner: 'user:default/guest' },
+ },
+ ],
+ }),
+ ],
+ ],
});
- await renderInTestApp(
-
-
- ,
- );
-
await expect(
- screen.findByText('The entity "test" is owned by "tools"'),
+ screen.findByText('my-component'),
).resolves.toBeInTheDocument();
});
});
```
-This pattern also works for many other context providers. An important example is the `EntityProvider` from the `@backstage/plugin-catalog-react` package, which you can use to provide a mocked entity context to the component.
+This approach provides the API overrides at the app level, which is useful when testing components that depend on APIs deep in the component tree.
+
+The `TestApiProvider` component is also available for standalone rendering scenarios where you're not using `renderInTestApp` or other test utilities. Context providers like `EntityProvider` from `@backstage/plugin-catalog-react` can also be used to provide a mocked entity context to the component.
## Testing extensions
@@ -102,7 +102,35 @@ describe('Index page', () => {
});
```
-This pattern also allows you to wrap the extension with context providers, such as the `TestApiProvider` that was introduced [above](#testing-react-components).
+You can also provide API overrides directly to `createExtensionTester` using the `apis` option:
+
+```tsx
+import { screen } from '@testing-library/react';
+import {
+ createExtensionTester,
+ mockApis,
+ renderInTestApp,
+} from '@backstage/frontend-test-utils';
+import { identityApiRef } from '@backstage/frontend-plugin-api';
+import { indexPageExtension } from './plugin';
+
+describe('Index page', () => {
+ it('should render with a custom identity', async () => {
+ await renderInTestApp(
+ createExtensionTester(indexPageExtension, {
+ apis: [
+ [
+ identityApiRef,
+ mockApis.identity({ userEntityRef: 'user:default/guest' }),
+ ],
+ ],
+ }).reactElement(),
+ );
+
+ expect(screen.getByText('Index Page')).toBeInTheDocument();
+ });
+});
+```
Note that the `.reactElement()` method will look for the `coreExtensionData.reactElement` data in the extension outputs. If that doesn't exist and the extension outputs something else that you want to test, you can access the output data using the `.get(dataRef)` method instead.
@@ -172,7 +200,82 @@ describe('Index page', () => {
});
```
-That's all for testing features!
+## Testing entity extensions
+
+The `createTestEntityPage` utility from `@backstage/plugin-catalog-react/testUtils` simplifies testing entity cards and content extensions. It creates a test page that mounts at `/`, provides an `EntityProvider` context, and picks up entity extensions through input redirects.
+
+```tsx
+import { screen } from '@testing-library/react';
+import { renderTestApp } from '@backstage/frontend-test-utils';
+import { createTestEntityPage } from '@backstage/plugin-catalog-react/testUtils';
+import { myEntityCard } from './plugin';
+
+describe('MyEntityCard', () => {
+ it('should render for Component entities', async () => {
+ const entity = {
+ apiVersion: 'backstage.io/v1alpha1',
+ kind: 'Component',
+ metadata: { name: 'my-service' },
+ spec: { type: 'service', owner: 'team-a' },
+ };
+
+ renderTestApp({
+ extensions: [createTestEntityPage({ entity }), myEntityCard],
+ });
+
+ expect(await screen.findByText('My Card Title')).toBeInTheDocument();
+ });
+});
+```
+
+Entity content extensions can be tested the exact same way, just pass your content extension instead of a card. The test page also supports entity filters defined on the extensions, so you can test filter behavior by providing different entity kinds. If your extension depends on APIs you can pass mock implementation using the `apis` option `renderTestApp`, or you can pass the API extension directly alongside your content extension.
+
+Extensions that use `EntityRefLinks` or `useRelatedEntities` may require additional API mocking using the `apis` option on `renderTestApp`.
+
+## Mounting routes
+
+If your component or extension uses `useRouteRef` to generate links to other routes, you need to mount those routes in the test environment. Both `renderInTestApp` and `renderTestApp` support the `mountedRoutes` option for this purpose.
+
+For example, given a component that uses `useRouteRef` to create a link:
+
+```tsx
+import { useRouteRef } from '@backstage/frontend-plugin-api';
+import { detailsRouteRef } from './routes';
+
+export const MyComponent = () => {
+ const detailsLink = useRouteRef(detailsRouteRef);
+
+ return View details ;
+};
+```
+
+You can test it by mounting the route ref to a path using the `mountedRoutes` option:
+
+```tsx
+import { screen } from '@testing-library/react';
+import { renderInTestApp } from '@backstage/frontend-test-utils';
+import { detailsRouteRef } from './routes';
+import { MyComponent } from './MyComponent';
+
+describe('MyComponent', () => {
+ it('should render a link to the plugin page', async () => {
+ await renderInTestApp( , {
+ mountedRoutes: {
+ '/my-plugin/details': detailsRouteRef,
+ },
+ });
+
+ expect(await screen.findByText('View details')).toHaveAttribute(
+ 'href',
+ '/my-plugin/details',
+ );
+ });
+});
+```
+
+## Extension tree snapshots
+
+The `snapshot()` method on `ExtensionTester` returns a tree-shaped representation of the resolved extension hierarchy, which is convenient to use with Jest's `toMatchInlineSnapshot()` for verifying extension structure in tests.
## Missing something?
diff --git a/docs/frontend-system/building-plugins/03-common-extension-blueprints.md b/docs/frontend-system/building-plugins/03-common-extension-blueprints.md
index aff66f3cc6..3bb613848f 100644
--- a/docs/frontend-system/building-plugins/03-common-extension-blueprints.md
+++ b/docs/frontend-system/building-plugins/03-common-extension-blueprints.md
@@ -73,6 +73,31 @@ Avoid using `convertLegacyEntityCardExtension` from `@backstage/core-compat-api`
Creates entity content to be displayed on the entity pages of the catalog plugin. Exported as `EntityContentBlueprint`.
+Supports optional params such as `group` and `icon` to:
+
+- group: string | false — associates the content with a tab group on the entity page (for example "overview", "quality", "deployment", or any custom id). You can override or disable this per-installation via app-config using `app.extensions[...].config.group`, where `false` removes the grouping.
+- icon: string — sets the tab icon. Note: when providing a string, the icon is looked up via the app's IconsApi; make sure icon bundles are enabled/installed in your app (see the Icons blueprint reference above) so that the icon id you use is available.
+
+To render icons in the entity page tabs, the page must also have icons enabled via app configuration. Set `showNavItemIcons: true` on the catalog entity page config (created via `page:catalog/entity`). Example:
+
+```yaml
+app:
+ extensions:
+ # Entity page
+ - page:catalog/entity:
+ config:
+ # Enable tab- and group-icons
+ showNavItemIcons: true
+ # Optionally override default groups and their icons
+ groups:
+ - overview:
+ title: Overview
+ icon: dashboard
+ - documentation:
+ title: Docs
+ icon: description
+```
+
Avoid using `convertLegacyEntityContentExtension` from `@backstage/core-compat-api` to convert legacy entity content extensions to the new system. Instead, use the `EntityContentBlueprint` directly. The legacy converter is only intended to help adapt 3rd party plugins that you don't control, and doesn't produce as good results as using the blueprint directly.
## Extension blueprints in `@backstage/plugin-search-react/alpha`
diff --git a/docs/frontend-system/index.md b/docs/frontend-system/index.md
index 9633df1dab..1d53b5e7e9 100644
--- a/docs/frontend-system/index.md
+++ b/docs/frontend-system/index.md
@@ -9,4 +9,4 @@ description: The Frontend System
We recommend migrating your frontend plugins to the new frontend system. If you do please do so under an `/alpha` sub-path export.
-You can find an example app setup in the [`app-next` package](https://github.com/backstage/backstage/tree/master/packages/app-next).
+You can find an example app setup in the [`app` package](https://github.com/backstage/backstage/tree/master/packages/app).
diff --git a/docs/frontend-system/utility-apis/01-index.md b/docs/frontend-system/utility-apis/01-index.md
index 57e895ca36..86d317ddb2 100644
--- a/docs/frontend-system/utility-apis/01-index.md
+++ b/docs/frontend-system/utility-apis/01-index.md
@@ -35,6 +35,14 @@ Most utility APIs are usable directly without any configuration. But they are pr
These cases are all described in [the main article](./04-configuring.md).
+## Testing with utility APIs
+
+> For details, [see the main article](./05-testing.md).
+
+When testing frontend components and extensions, you often need to provide mock implementations of the utility APIs they depend on. The `@backstage/frontend-test-utils` package provides the `mockApis` namespace with ready-made mocks for all core utility APIs, which can be passed to test utilities like `renderInTestApp` and `TestApiProvider`.
+
+These are described in detail in [the main article](./05-testing.md).
+
## Migrating from the old frontend system
If you want to learn how to migrate your own utility APIs from the old frontend system to the new one, that's described in the [Migrating APIs guide](../building-plugins/05-migrating.md#migrating-apis).
diff --git a/docs/frontend-system/utility-apis/05-testing.md b/docs/frontend-system/utility-apis/05-testing.md
new file mode 100644
index 0000000000..ba1e93e505
--- /dev/null
+++ b/docs/frontend-system/utility-apis/05-testing.md
@@ -0,0 +1,194 @@
+---
+id: testing
+title: Testing with Utility APIs
+sidebar_label: Testing
+description: Mocking and testing Utility APIs
+---
+
+When testing frontend components and extensions, you often need to provide mock implementations of the utility APIs they depend on. The `@backstage/frontend-test-utils` package provides the `mockApis` namespace with ready-made mocks for all core utility APIs.
+
+## The `mockApis` namespace
+
+The `mockApis` namespace is the main entry point for creating mock utility API instances in tests. It provides two usage patterns for each API:
+
+### Fake instances
+
+Call the API function directly to create a fake instance with simplified but functional behavior. These are useful when your test needs the API to actually work, not just be stubbed.
+
+```ts
+import { mockApis } from '@backstage/frontend-test-utils';
+
+const configApi = mockApis.config({ data: { app: { title: 'Test' } } });
+configApi.getString('app.title'); // 'Test'
+
+const alertApi = mockApis.alert();
+alertApi.post({ message: 'hello' });
+expect(alertApi.getAlerts()).toHaveLength(1);
+```
+
+### Jest mocks
+
+Call `.mock()` to get an instance where every method is a `jest.fn()`. You can optionally provide partial implementations. This is useful when you want to assert that specific methods were called.
+
+```ts
+import { mockApis } from '@backstage/frontend-test-utils';
+import { AuthorizeResult } from '@backstage/plugin-permission-common';
+
+const permissionApi = mockApis.permission.mock({
+ authorize: async () => ({ result: AuthorizeResult.ALLOW }),
+});
+
+// ... exercise the component ...
+
+expect(permissionApi.authorize).toHaveBeenCalledTimes(1);
+```
+
+## Providing mock APIs in tests
+
+### With `renderInTestApp`
+
+```tsx
+import { screen } from '@testing-library/react';
+import { renderInTestApp, mockApis } from '@backstage/frontend-test-utils';
+
+await renderInTestApp( , {
+ apis: [
+ mockApis.identity({ userEntityRef: 'user:default/guest' }),
+ mockApis.config({ data: { app: { title: 'Test App' } } }),
+ ],
+});
+```
+
+You can also use the `[apiRef, implementation]` tuple syntax to provide any API implementation, including ones that aren't from `mockApis`:
+
+```tsx
+import { myCustomApiRef } from '../apis';
+
+const myCustomApiInstance = {
+ // ...
+};
+
+await renderInTestApp( , {
+ apis: [
+ mockApis.identity({ userEntityRef: 'user:default/guest' }),
+ [myCustomApiRef, myCustomApiInstance],
+ ],
+});
+```
+
+### With `renderTestApp`
+
+The same `apis` option is available on `renderTestApp`, which is commonly used when testing extensions or entity pages:
+
+```tsx
+import { renderTestApp, mockApis } from '@backstage/frontend-test-utils';
+import { createTestEntityPage } from '@backstage/plugin-catalog-react/testUtils';
+
+renderTestApp({
+ extensions: [createTestEntityPage({ entity }), myEntityCard],
+ apis: [mockApis.permission()],
+});
+```
+
+### With `TestApiProvider`
+
+For standalone rendering scenarios where you're not using `renderInTestApp`, the `TestApiProvider` component accepts the same `apis` format:
+
+```tsx
+import { render } from '@testing-library/react';
+import { TestApiProvider, mockApis } from '@backstage/frontend-test-utils';
+
+render(
+
+
+ ,
+);
+```
+
+## Plugin-specific test mocks
+
+Plugins can provide their own mock APIs that follow the same pattern. For example, `@backstage/plugin-catalog-react` provides `catalogApiMock` in its `/testUtils` entry point:
+
+```tsx
+import { renderTestApp } from '@backstage/frontend-test-utils';
+import { catalogApiMock } from '@backstage/plugin-catalog-react/testUtils';
+
+renderTestApp({
+ extensions: [myExtension],
+ apis: [catalogApiMock({ entities: [entity] })],
+});
+```
+
+### Creating your own mock APIs
+
+If you maintain a plugin that exposes a utility API, you can provide mock utilities that follow the same function + `.mock()` pattern as the built-in `mockApis`.
+
+Use `attachMockApiFactory` for fake instances with real behavior, and `createApiMock` for the jest-mocked `.mock()` variant where all methods are `jest.fn()`. The full pattern looks like this:
+
+```ts
+import {
+ attachMockApiFactory,
+ createApiMock,
+ type ApiMock,
+} from '@backstage/frontend-test-utils';
+import { myApiRef, type MyApi } from '@internal/plugin-example-react';
+
+// Fake instance with real behavior
+export function myApiMock(options?: { greeting?: string }) {
+ return attachMockApiFactory(myApiRef, {
+ greet: async () => options?.greeting ?? 'Hello!',
+ });
+}
+
+// Jest mock variant where all methods are jest.fn()
+export namespace myApiMock {
+ export const mock = createApiMock(myApiRef, () => ({
+ greet: jest.fn(),
+ }));
+}
+```
+
+Consumers can then use it just like the core mocks:
+
+```tsx
+// Fake with real behavior
+await renderInTestApp( , {
+ apis: [myApiMock({ greeting: 'Hi there!' })],
+});
+
+// Jest mock for assertions
+const api = myApiMock.mock({
+ greet: async () => 'mocked',
+});
+
+await renderInTestApp( , {
+ apis: [api],
+});
+
+expect(api.greet).toHaveBeenCalledTimes(1);
+```
+
+## Available mock APIs
+
+The table below lists all core APIs available through the `mockApis` namespace.
+
+| API | Fake instance | Notes |
+| --------------------------------- | --------------------- | ---------------------------------------------------------------------- |
+| `mockApis.alert()` | `MockAlertApi` | Collects alerts; has `getAlerts()`, `clearAlerts()`, `waitForAlert()` |
+| `mockApis.analytics()` | `MockAnalyticsApi` | Collects events; has `getEvents()` |
+| `mockApis.config({ data })` | `MockConfigApi` | Reads from a plain JSON object |
+| `mockApis.discovery({ baseUrl })` | Inline | Returns `${baseUrl}/api/${pluginId}`, defaults to `http://example.com` |
+| `mockApis.error(options?)` | `MockErrorApi` | Collects errors; has `getErrors()`, `waitForError()` |
+| `mockApis.featureFlags(options?)` | `MockFeatureFlagsApi` | In-memory flag state; has `getState()`, `setState()`, `clearState()` |
+| `mockApis.fetch(options?)` | `MockFetchApi` | Wraps native `fetch`; supports identity injection and plugin protocol |
+| `mockApis.identity(options?)` | Inline | Configurable user ref, ownership, token, profile |
+| `mockApis.permission(options?)` | `MockPermissionApi` | Defaults to `ALLOW`; accepts a handler function |
+| `mockApis.storage({ data })` | `MockStorageApi` | In-memory storage with bucket support |
+| `mockApis.translation()` | `MockTranslationApi` | Passthrough returning default messages from translation refs |
+
+Each of these also has a `.mock()` variant that returns jest mocks, as described above.
diff --git a/docs/getting-started/config/database.md b/docs/getting-started/config/database.md
index d325c73d5f..cb482d5dc0 100644
--- a/docs/getting-started/config/database.md
+++ b/docs/getting-started/config/database.md
@@ -106,6 +106,88 @@ When filling these out, you have 2 choices,
If you opt for the second option of replacing the entire string, take care to not commit your `app-config.yaml` to source control. It may contain passwords that you don't want leaked.
+## Passwordless PostgreSQL in the Cloud
+
+If you want to host your PostgreSQL server in the cloud with passwordless authentication, you can use Azure Database for PostgreSQL with Microsoft Entra authentication or Google Cloud SQL for PostgreSQL with Cloud IAM.
+
+### Azure with Entra authentication
+
+Remove `password` from the connection configuration and set `type` to `azure`.
+
+Optionally set `tokenCredential` with the following properties. If no credential information is provided, it will default to using Default Azure Credential and a tokenRenewalOffsetTime of 5 minutes.
+
+#### Credential Selection
+
+The credential type is automatically inferred based on the fields you provide:
+
+- Client Secret Credential is used when all three are provided:
+ - `tenantId`
+ - `clientId`
+ - `clientSecret`
+- Managed Identity Credential is used when only `clientId` is provided. This enables user-assigned managed identity.
+- Default Azure Credential is used when no credential fields are provided. Default Azure Credential supports [many credential types](https://learn.microsoft.com/azure/developer/javascript/sdk/authentication/credential-chains#use-defaultazurecredential-for-flexibility), choosing one based on the runtime environment.
+
+#### Token Renewal
+
+Set `tokenRenewalOffsetTime` to control how early OAuth tokens should be refreshed.
+
+The value may be:
+
+- A human-readable string such as '1d', '2 hours', '30 seconds'
+- A duration object, e.g. { minutes: 3, seconds: 30 }
+
+Azure PostgreSQL uses short-lived Entra ID access tokens.
+By default, the database connector refreshes tokens 5 minutes before they expire.
+
+#### User Configuration
+
+Set `user` to the display name of your Entra ID group, service principal, or managed identity. Set it to the user principal name if you're authenticating with a user's credentials.
+
+#### Example
+
+```yaml title="app-config.yaml"
+backend:
+ database:
+ client: pg
+ connection:
+ # highlight-add-start
+ type: azure
+ tokenCredential:
+ tokenRenewalOffsetTime: 5 minutes
+ # highlight-add-end
+ host: ${POSTGRES_HOST}
+ port: ${POSTGRES_PORT}
+ user: ${POSTGRES_USER}
+ # highlight-remove-start
+ password: ${POSTGRES_PASSWORD}
+ # highlight-remove-end
+```
+
+### Google with Cloud IAM
+
+Remove `password` from the connection configuration and set `type` to `cloudsql`.
+
+Under the hood, this implements [Automatic IAM Database Authentication](https://github.com/GoogleCloudPlatform/cloud-sql-nodejs-connector?tab=readme-ov-file#automatic-iam-database-authentication).
+
+For an IAM user account, set `user` to the user's email address. For a service account, set `user` to the service account's email without the .gserviceaccount.com domain suffix.
+
+```yaml title="app-config.yaml"
+backend:
+ database:
+ client: pg
+ connection:
+ # highlight-add-start
+ type: cloudsql
+ instance: my-project:region:my-instance
+ # highlight-add-end
+ host: ${POSTGRES_HOST}
+ port: ${POSTGRES_PORT}
+ user: ${POSTGRES_USER}
+ # highlight-remove-start
+ password: ${POSTGRES_PASSWORD}
+ # highlight-remove-end
+```
+
:::
[Start the Backstage app](../index.md#2-run-the-backstage-app):
diff --git a/docs/getting-started/homepage.md b/docs/getting-started/homepage.md
index 7fac59f728..05e422610a 100644
--- a/docs/getting-started/homepage.md
+++ b/docs/getting-started/homepage.md
@@ -24,7 +24,83 @@ Before we begin, make sure
Now, let's get started by installing the home plugin and creating a simple homepage for your Backstage app.
-### Setup homepage
+## Setup Methods
+
+There are two ways to set up the home plugin, depending on which frontend system your Backstage app uses:
+
+1. **New Frontend System (Recommended)** - For apps using the new plugin system with extensions and blueprints
+2. **Legacy Frontend System** - For existing apps using the legacy plugin architecture
+
+### New Frontend System Setup
+
+If your Backstage app uses the [new frontend system](../frontend-system/index.md), follow these steps:
+
+#### 1. Install the plugin
+
+```bash title="From your Backstage root directory"
+yarn --cwd packages/app add @backstage/plugin-home
+```
+
+#### 2. Add the plugin to your app configuration
+
+Update your `packages/app/src/app.tsx` to include the home plugin:
+
+```tsx title="packages/app/src/app.tsx"
+import homePlugin from '@backstage/plugin-home/alpha';
+
+const app = createApp({
+ features: [
+ // ... other plugins
+ homePlugin,
+ ],
+});
+```
+
+#### 3. Configure the homepage as your root route
+
+By default, the homepage will be available at `/home`. To make it your app's landing page at `/`, add this configuration to your `app-config.yaml`:
+
+```yaml title="app-config.yaml"
+app:
+ extensions:
+ - page:home:
+ config:
+ path: /
+```
+
+The plugin will automatically add a "Home" navigation item to your sidebar and provide a basic homepage layout.
+
+#### 4. Optional: Enable visit tracking
+
+Visit tracking is an optional feature that allows users to see their recently visited and most visited pages on the homepage. This feature is **disabled by default** to give you control over what data is collected and stored.
+
+Visit tracking requires a storage implementation to persist user data:
+
+- **With UserSettings storage** (recommended): If you have the [UserSettings plugin](https://backstage.io/docs/features/software-catalog/external-integrations/#user-settings) configured with persistent storage, visit data will be stored there and synchronized across devices.
+- **Fallback to local storage**: If no persistent storage is available, the plugin will automatically fall back to browser local storage, which stores data locally per device.
+
+To enable visit tracking, add this configuration to your `app-config.yaml`:
+
+```yaml title="app-config.yaml"
+app:
+ extensions:
+ - api:home/visits: true
+ - app-root-element:home/visit-listener: true
+```
+
+#### 5. Customizing your homepage
+
+The New Frontend System provides powerful customization options:
+
+**Custom Homepage Layouts**: Use the `HomePageLayoutBlueprint` from `@backstage/plugin-home-react/alpha` to create custom homepage layouts with your own design and widget arrangements. A layout receives the installed widgets and is responsible for rendering them. If no custom layout is installed, the plugin provides a built-in default.
+
+**Adding Homepage Widgets**: Register custom widgets using the `HomePageWidgetBlueprint` from the `@backstage/plugin-home-react/alpha` package.
+
+For detailed instructions on creating custom layouts, registering widgets, and advanced configuration options, see the [Home plugin documentation](https://github.com/backstage/backstage/tree/master/plugins/home#readme).
+
+### Legacy Frontend System Setup
+
+If your Backstage app uses the legacy frontend system, follow these steps:
#### 1. Install the plugin
@@ -88,7 +164,7 @@ Let's update the route for "Home" in the Backstage sidebar to point to the new h
| --------------------------------------------------------------------------------- | --------------------------------------------------------------------------- |
|  |  |
-The code for the Backstage sidebar is most likely inside your [`packages/app/src/components/Root/Root.tsx`](https://github.com/backstage/backstage/blob/master/packages/app/src/components/Root/Root.tsx).
+The code for the Backstage sidebar is most likely inside your [`packages/app-legacy/src/components/Root/Root.tsx`](https://github.com/backstage/backstage/blob/master/packages/app-legacy/src/components/Root/Root.tsx).
Let's make the following changes
diff --git a/docs/getting-started/index.md b/docs/getting-started/index.md
index c7aabb7bd5..d7c4ee96c8 100644
--- a/docs/getting-started/index.md
+++ b/docs/getting-started/index.md
@@ -81,7 +81,7 @@ This guide also assumes a basic understanding of working on a Linux based operat
- Using `nvm` (recommended)
- [Installing nvm](https://github.com/nvm-sh/nvm#install--update-script)
- [Install and change Node version with nvm](https://nodejs.org/en/download/package-manager/#nvm)
- - Node 24 is a good starting point, this can be installed using `nvm install lts/krypton`
+ - Node 22 or 24 are recommended, these can be installed using `nvm install 22` or `nvm install 24`
- [Binary Download](https://nodejs.org/en/download/)
- [Package manager](https://nodejs.org/en/download/package-manager/)
- [Using NodeSource packages](https://github.com/nodesource/distributions/blob/master/README.md)
diff --git a/docs/getting-started/keeping-backstage-updated.md b/docs/getting-started/keeping-backstage-updated.md
index dea0cc2939..c93c5200f6 100644
--- a/docs/getting-started/keeping-backstage-updated.md
+++ b/docs/getting-started/keeping-backstage-updated.md
@@ -43,6 +43,16 @@ By default the bump command will upgrade `@backstage` packages to the latest `ma
yarn backstage-cli versions:bump --release next
```
+You can also use the `--release` option to target a specific version. This is useful if you need to pin your app to a specific release or if you need to downgrade to a previous version (e.g. moving from `1.45.0` back to `1.43.0`).
+
+:::warning
+Note that downgrading across significant version gaps (e.g. 2-3 releases) may result in package mismatches or errors due to the way Backstage manages dependencies. This method is best suited for small adjustments.
+:::
+
+```bash
+yarn backstage-cli versions:bump --release 1.43.0
+```
+
If you are using other plugins you can pass in the `--pattern` option to update
more than just the `@backstage/*` dependencies.
diff --git a/docs/integrations/azure/discovery.md b/docs/integrations/azure/discovery.md
index a4584ef338..7e4d376a7d 100644
--- a/docs/integrations/azure/discovery.md
+++ b/docs/integrations/azure/discovery.md
@@ -9,11 +9,7 @@ description: Automatically discovering catalog entities from repositories in an
This documentation is written for [the new backend system](../../backend-system/index.md) which is the default since Backstage [version 1.24](../../releases/v1.24.0.md). If you are still on the old backend system, you may want to read [its own article](https://github.com/backstage/backstage/blob/v1.37.0/docs/integrations/azure/discovery--old.md) instead, and [consider migrating](../../backend-system/building-backends/08-migrating.md)!
:::
-The Azure DevOps integration has a special entity provider for discovering
-catalog entities within an Azure DevOps. The provider will crawl your Azure
-DevOps organization and register entities matching the configured path. This can
-be useful as an alternative to static locations or manually adding things to the
-catalog.
+The Azure DevOps integration has a special entity provider for discovering catalog entities within an Azure DevOps. The provider will crawl your Azure DevOps organization and register entities matching the configured path. This can be useful as an alternative to static locations or manually adding things to the catalog.
This guide explains how to install and configure the Azure DevOps Entity Provider (recommended) or the Azure DevOps Processor.
@@ -21,9 +17,7 @@ This guide explains how to install and configure the Azure DevOps Entity Provide
### Code Search Feature
-Azure discovery is driven by the Code Search feature in Azure DevOps, this may not be enabled by default. For Azure
-DevOps Services you can confirm this by looking at the installed extensions in your Organization Settings. For Azure
-DevOps Server you'll find this information in your Collection Settings.
+Azure discovery is driven by the Code Search feature in Azure DevOps, this may not be enabled by default. For Azure DevOps Services you can confirm this by looking at the installed extensions in your Organization Settings. For Azure DevOps Server you'll find this information in your Collection Settings.
If the Code Search extension is not listed then you can install it from the [Visual Studio Marketplace](https://marketplace.visualstudio.com/items?itemName=ms.vss-code-search&targetId=f9352dac-ba6e-434e-9241-a848a510ce3f&utm_source=vstsproduct&utm_medium=SearchExtStatus).
@@ -68,7 +62,7 @@ catalog:
The parameters available are:
-- **`host:`** _(optional)_ Leave empty for Cloud hosted, otherwise set to your self-hosted instance host.
+- **`host:`** _(optional)_ The default value is `dev.azure.com`, it is required for legacy `{org}.visualstudio.com` domains or for on-premise installations.
- **`organization:`** Your Organization slug (or Collection for on-premise users). Required.
- **`project:`** _(required)_ Your project slug. Wildcards are supported as shown on the examples above. Using '\*' will search all projects. For a project name containing spaces, use both single and double quotes as in `project: '"My Project Name"'`.
- **`repository:`** _(optional)_ The repository name. Wildcards are supported as show on the examples above. If not set, all repositories will be searched.
diff --git a/docs/integrations/azure/locations.md b/docs/integrations/azure/locations.md
index 3ea180f5bd..8dd115662e 100644
--- a/docs/integrations/azure/locations.md
+++ b/docs/integrations/azure/locations.md
@@ -200,6 +200,47 @@ However a system-assigned managed identity is the most secure option because:
:::
+### Legacy `{org}.visualstudio.com` Domains
+
+Backstage supports the legacy `{org}.visualstudio.com` domains along with all the previously mentioned authentication options, the caveat is that each Azure DevOps Organization will need to be defined in your configuration along with a single credential.
+
+For example, this will work:
+
+```yaml
+integrations:
+ azure:
+ - host: my-org.visualstudio.com
+ credentials:
+ - clientId: ${AZURE_CLIENT_ID}
+ clientSecret: ${AZURE_CLIENT_SECRET}
+ tenantId: ${AZURE_TENANT_ID}
+```
+
+As will this:
+
+```yaml
+integrations:
+ azure:
+ - host: my-other-org.visualstudio.com
+ credentials:
+ - personalAccessToken: ${PERSONAL_ACCESS_TOKEN}
+```
+
+But this will NOT work:
+
+```yaml
+integrations:
+ azure:
+ - host: my-org.visualstudio.com
+ credentials:
+ - organizations:
+ - my-org
+ - my-other-org
+ clientId: ${AZURE_CLIENT_ID}
+ clientSecret: ${AZURE_CLIENT_SECRET}
+ tenantId: ${AZURE_TENANT_ID}
+```
+
## Configuration schema
The configuration is a structure with these elements:
diff --git a/docs/integrations/github/discovery.md b/docs/integrations/github/discovery.md
index e17f514058..66fdaa503b 100644
--- a/docs/integrations/github/discovery.md
+++ b/docs/integrations/github/discovery.md
@@ -375,7 +375,7 @@ schedule:
timeout: { minutes: 3 }
```
-More information about scheduling can be found on the [SchedulerServiceTaskScheduleDefinition](https://backstage.io/docs/reference/backend-plugin-api.schedulerservicetaskscheduledefinition) page.
+More information about scheduling can be found on the [SchedulerServiceTaskScheduleDefinition](https://backstage.io/api/stable/interfaces/_backstage_backend-plugin-api.index.SchedulerServiceTaskScheduleDefinition.html) page.
Alternatively, or additionally, you can configure [github-apps](github-apps.md) authentication
which carries a much higher rate limit at GitHub.
diff --git a/docs/integrations/github/org.md b/docs/integrations/github/org.md
index 2dac8b8866..5321423432 100644
--- a/docs/integrations/github/org.md
+++ b/docs/integrations/github/org.md
@@ -98,7 +98,7 @@ Directly under the `githubOrg` is a list of configurations, each entry is a stru
- `id`: A stable id for this provider. Entities from this provider will be associated with this ID, so you should take care not to change it over time since that may lead to orphaned entities and/or conflicts.
- `githubUrl`: The target that this provider should consume
- `orgs` (optional): The list of the GitHub orgs to consume. If you only list a single org the generated group entities will use the `default` namespace, otherwise they will use the org name as the namespace. By default the provider will consume all accessible orgs on the given GitHub instance (support for GitHub App integration only).
-- `schedule`: The refresh schedule to use, matches the structure of [`SchedulerServiceTaskScheduleDefinitionConfig`](https://backstage.io/docs/reference/backend-plugin-api.schedulerservicetaskscheduledefinitionconfig/)
+- `schedule`: The refresh schedule to use, matches the structure of [`SchedulerServiceTaskScheduleDefinitionConfig`](https://backstage.io/api/stable/interfaces/_backstage_backend-plugin-api.index.SchedulerServiceTaskScheduleDefinition.html)
- `pageSizes` (optional): Configure page sizes for GitHub GraphQL API queries to prevent `RESOURCE_LIMITS_EXCEEDED` errors. You can configure the following page sizes:
- `teams`: Number of teams to fetch per page when querying organization teams (default: 25)
diff --git a/docs/integrations/gitlab/discovery.md b/docs/integrations/gitlab/discovery.md
index 3d47edba6d..4d801bdd77 100644
--- a/docs/integrations/gitlab/discovery.md
+++ b/docs/integrations/gitlab/discovery.md
@@ -154,11 +154,12 @@ catalog:
fallbackBranch: master # Optional. Fallback to be used if there is no default branch configured at the Gitlab repository. It is only used, if `branch` is undefined. Uses `master` as default
skipForkedRepos: false # Optional. If the project is a fork, skip repository
includeArchivedRepos: false # Optional. If project is archived, include repository
- group: example-group # Optional. Group and subgroup (if needed) to look for repositories. If not present the whole instance will be scanned
+ group: example-group # Optional (unless useSearch is true). Group and subgroup (if needed) to look for repositories. If not present the whole instance will be scanned
groupPattern: # Optional. Filters for groups based on a list of RegEx. Default, no filters.
- '^somegroup$'
- 'anothergroup'
entityFilename: catalog-info.yaml # Optional. Defaults to `catalog-info.yaml`
+ useSearch: false # Optional. Whether to use the GitLab group search API to find files. Requires Gitlab 'Premium' or 'Ultimate' licenses. Defaults to `false`
projectPattern: '[\s\S]*' # Optional. Filters found projects based on provided pattern. Defaults to `[\s\S]*`, which means to not filter anything
excludeRepos: [] # Optional. A list of project paths that should be excluded from discovery, e.g. group/subgroup/repo. Should not start or end with a slash.
schedule: # Same options as in SchedulerServiceTaskScheduleDefinition. Optional for the Legacy Backend System
diff --git a/docs/landing-page/doc-landing-page.md b/docs/landing-page/doc-landing-page.md
index cb1b889851..8697144bd8 100644
--- a/docs/landing-page/doc-landing-page.md
+++ b/docs/landing-page/doc-landing-page.md
@@ -94,7 +94,7 @@ description: Documentation landing page.
Architecture Decision Records (ADRs)
Deprecations
Utility APIs
- Package Index
+ API References
FAQ
diff --git a/docs/notifications/index.md b/docs/notifications/index.md
index dce58d3214..3d7dc0eaac 100644
--- a/docs/notifications/index.md
+++ b/docs/notifications/index.md
@@ -147,9 +147,6 @@ add the `UserNotificationSettingsCard` to your frontend.
```tsx title="packages/app/src/App.tsx"
}>
-
-
-
` per specific needs.
+In the `packages/app/src/components/Root/Root.tsx`, tweak the [properties](https://backstage.io/api/stable/functions/_backstage_plugin-notifications.index.NotificationsSidebarItem.html) of the ` ` per specific needs.
## Usage
diff --git a/docs/overview/support.md b/docs/overview/support.md
index 0433683406..9ff2e302b8 100644
--- a/docs/overview/support.md
+++ b/docs/overview/support.md
@@ -15,7 +15,7 @@ description: Support and Community Details and Links
- [Code of Conduct](https://github.com/backstage/backstage/blob/master/CODE_OF_CONDUCT.md) -
This is how we roll.
- [Blog](https://backstage.io/blog/) - Announcements and updates.
-- [Newsletter](https://info.backstage.spotify.com/newsletter_subscribe) - Subscribe to
+- [Newsletter](https://spoti.fi/backstagenewsletter) - Subscribe to
our email newsletter.
- Give us a star ⭐️ - If you are using Backstage or think it is an interesting
project, we would love a star! ❤️
diff --git a/docs/overview/threat-model.md b/docs/overview/threat-model.md
index 129bd85930..6acba915d5 100644
--- a/docs/overview/threat-model.md
+++ b/docs/overview/threat-model.md
@@ -19,7 +19,7 @@ An **operator** is a user responsible for configuring and maintaining an instanc
A **builder** is an internal or external code contributor and end up having a similar level of access as operators. When installing Backstage plugins you should vet them just like any other package from an external source. While it’s possible to limit the impact of for example a supply chain attack by splitting the deployment into separate services with different plugins, the Backstage project itself does not aim to prevent these kinds of attacks or in any other way sandbox or limit the access of plugins.
-An **external user** is a user that does not belong to the other two groups, for example a malicious actor outside of the organization. The security model of Backstage currently assumes that this group does not have any direct access to Backstage, and it is the responsibility of each adopter of Backstage to make sure this is the case.
+An **external user** is a user that does not belong to the other three groups, for example a malicious actor outside of the organization. The security model of Backstage currently assumes that this group does not have any direct access to Backstage, and it is the responsibility of each adopter of Backstage to make sure this is the case.
## Operator Responsibilities
diff --git a/docs/permissions/custom-rules.md b/docs/permissions/custom-rules.md
index cab9e73a6f..b4ca86adf5 100644
--- a/docs/permissions/custom-rules.md
+++ b/docs/permissions/custom-rules.md
@@ -12,20 +12,21 @@ For some use cases, you may want to define custom [rules](../references/glossary
## Define a custom rule
-Plugins should export a rule factory that provides type-safety that ensures compatibility with the plugin's backend. The catalog plugin exports `createCatalogPermissionRule` from `@backstage/plugin-catalog-backend/alpha` for this purpose. Note: the `/alpha` path segment is temporary until this API is marked as stable. For this example, we'll define the rule and create a condition in `packages/backend/src/extensions/permissionsPolicyExtension.ts`.
+Plugins should export a rule factory that provides type-safety that ensures compatibility with the plugin's backend. The catalog plugin exports `createCatalogPermissionRule` from `@backstage/plugin-catalog-backend/alpha` for this purpose. Note: the `/alpha` path segment is temporary until this API is marked as stable. For this example, we'll define the rule and create a condition in `packages/backend/src/permissionRules.ts`.
We use `zod` and `@backstage/catalog-model` in our example below. To install them run:
```bash title="from your Backstage root directory"
-yarn --cwd packages/backend add zod @backstage/catalog-model
+yarn --cwd packages/backend add zod@3 @backstage/catalog-model
```
-```ts title="packages/backend/src/extensions/permissionsPolicyExtension.ts"
-...
-
+```ts title="packages/backend/src/permissionRules.ts"
import type { Entity } from '@backstage/catalog-model';
-import { catalogEntityPermissionResourceRef } from '@backstage/plugin-catalog-backend/alpha';
-import { createConditionFactory, createPermissionRule } from '@backstage/plugin-permission-node';
+import { catalogEntityPermissionResourceRef } from '@backstage/plugin-catalog-node/alpha';
+import {
+ createConditionFactory,
+ createPermissionRule,
+} from '@backstage/plugin-permission-node';
import { z } from 'zod';
export const isInSystemRule = createPermissionRule({
@@ -59,48 +60,13 @@ const isInSystem = createConditionFactory(isInSystemRule);
For a more detailed explanation on defining rules, refer to the [documentation for plugin authors](./plugin-authors/03-adding-a-resource-permission-check.md#adding-support-for-conditional-decisions).
-Still in the `packages/backend/src/extensions/permissionsPolicyExtension.ts` file, let's use the condition we just created in our `CustomPermissionPolicy`.
+In the `packages/backend/src/extensions/permissionsPolicyExtension.ts` file created in the [Writing a Policy](./writing-a-policy.md) section, let's use the condition we just created:
```ts title="packages/backend/src/extensions/permissionsPolicyExtension.ts"
...
-/* highlight-remove-next-line */
-import { catalogEntityPermissionResourceRef } from '@backstage/plugin-catalog-backend/alpha';
+import { policyExtensionPoint } from '@backstage/plugin-permission-node/alpha';
/* highlight-add-next-line */
-import { catalogEntityPermissionResourceRef, createCatalogConditionalDecision, catalogConditions } from '@backstage/plugin-catalog-backend/alpha';
-/* highlight-remove-next-line */
-import { createConditionFactory, createPermissionRule } from '@backstage/plugin-permission-node';
-/* highlight-add-next-line */
-import { createConditionFactory, createPermissionRule, PermissionPolicy, PolicyQuery, PolicyQueryUser } from '@backstage/plugin-permission-node';
-/* highlight-add-start */
-import { AuthorizeResult, PolicyDecision, isResourcePermission } from '@backstage/plugin-permission-common';
-/* highlight-add-end */
-...
-
-export const isInSystemRule = createPermissionRule({
- name: 'IS_IN_SYSTEM',
- description: 'Checks if an entity is part of the system provided',
- resourceRef: catalogEntityPermissionResourceRef,
- paramsSchema: z.object({
- systemRef: z
- .string()
- .describe('SystemRef to check the resource is part of'),
- }),
- apply: (resource: Entity, { systemRef }) => {
- if (!resource.relations) {
- return false;
- }
-
- return resource.relations
- .filter(relation => relation.type === 'partOf')
- .some(relation => relation.targetRef === systemRef);
- },
- toQuery: ({ systemRef }) => ({
- key: 'relations.partOf',
- values: [systemRef],
- }),
-});
-
-const isInSystem = createConditionFactory(isInSystemRule);
+import { isInSystem } from '../permissionRules';
class CustomPermissionPolicy implements PermissionPolicy {
async handle(
@@ -131,8 +97,6 @@ class CustomPermissionPolicy implements PermissionPolicy {
return { result: AuthorizeResult.ALLOW };
}
}
-
-...
```
## Provide the rule during plugin setup
@@ -147,19 +111,14 @@ The `PermissionsRegistryService` is a fairly new addition and not yet supported
To install custom rules in a plugin, we need to use the [`PermissionsRegistryService`](../backend-system/core-services/permissionsRegistry.md). Here's the steps you'll need to take to add the `isInSystemRule` we created above to the catalog:
-1. We will be using the `@backstage/plugin-catalog-node` package as it contains the extension point we need. Run this to add it:
+1. Create a `catalogPermissionRules.ts` file in the `packages/backend/src/extensions` folder with the following content:
- ```bash title="from your Backstage root directory"
- yarn --cwd packages/backend add @backstage/plugin-catalog-node
- ```
-
-2. Next create a `catalogPermissionRules.ts` file in the `packages/backend/src/modules` folder.
-3. Then add this as the contents of the new `catalogPermissionRules.ts` file:
-
- ```typescript title="packages/backend/src/modules/catalogPermissionRules.ts"
- import { createBackendModule } from '@backstage/backend-plugin-api';
- import { catalogPermissionExtensionPoint } from '@backstage/plugin-catalog-node';
- import { isInSystemRule } from './permissionsPolicyExtension';
+ ```typescript title="packages/backend/src/extensions/catalogPermissionRules.ts"
+ import {
+ coreServices,
+ createBackendModule,
+ } from '@backstage/backend-plugin-api';
+ import { isInSystemRule } from '../permissionRules';
export default createBackendModule({
pluginId: 'catalog',
@@ -175,7 +134,7 @@ To install custom rules in a plugin, we need to use the [`PermissionsRegistrySer
});
```
-4. Next we need to add this to the backend by adding the following line:
+2. Next we need to add this to the backend by adding the following line:
```ts title="packages/backend/src/index.ts"
// catalog plugin
@@ -184,10 +143,10 @@ To install custom rules in a plugin, we need to use the [`PermissionsRegistrySer
import('@backstage/plugin-catalog-backend-module-scaffolder-entity-model'),
);
/* highlight-add-next-line */
- backend.add(import('./modules/catalogPermissionRules'));
+ backend.add(import('./extensions/catalogPermissionRules'));
```
-5. Now when you run you Backstage instance - `yarn start` - the rule will be added to the catalog plugin.
+3. Now when you run your Backstage instance - `yarn start` - the rule will be added to the catalog plugin.
The updated policy will allow catalog entity resource permissions if any of the following are true:
diff --git a/docs/permissions/plugin-authors/04-authorizing-access-to-paginated-data.md b/docs/permissions/plugin-authors/04-authorizing-access-to-paginated-data.md
index b81382ee16..9b79cec042 100644
--- a/docs/permissions/plugin-authors/04-authorizing-access-to-paginated-data.md
+++ b/docs/permissions/plugin-authors/04-authorizing-access-to-paginated-data.md
@@ -43,7 +43,7 @@ To avoid this situation, the permissions framework has support for filtering ite
:::note Note
-In order to perform authorization filtering in this way, the data source must allow filters to be logically combined with AND, OR, and NOT operators. The conditional decisions returned by the permissions framework use a [nested object](https://backstage.io/docs/reference/plugin-permission-common.permissioncriteria) to combine conditions. If you're implementing a filter API from scratch, we recommend using the same shape for ease of interoperability. If not, you'll need to implement a function which transforms the nested object into your own format.
+In order to perform authorization filtering in this way, the data source must allow filters to be logically combined with AND, OR, and NOT operators. The conditional decisions returned by the permissions framework use a [nested object](https://backstage.io/api/stable/types/_backstage_plugin-permission-common.PermissionCriteria.html) to combine conditions. If you're implementing a filter API from scratch, we recommend using the same shape for ease of interoperability. If not, you'll need to implement a function which transforms the nested object into your own format.
:::
diff --git a/docs/permissions/plugin-authors/05-frontend-authorization.md b/docs/permissions/plugin-authors/05-frontend-authorization.md
index 4d673e3b4f..5aadae1d23 100644
--- a/docs/permissions/plugin-authors/05-frontend-authorization.md
+++ b/docs/permissions/plugin-authors/05-frontend-authorization.md
@@ -79,7 +79,7 @@ function AddTodo({ onAdd }: { onAdd: (title: string) => any }) {
}
```
-Here we are using the [`usePermission` hook](https://backstage.io/docs/reference/plugin-permission-react.usepermission) to communicate with the permission policy and receive a decision on whether this user is authorized to create a todo list item.
+Here we are using the [`usePermission` hook](https://backstage.io/api/stable/functions/_backstage_plugin-permission-react.usePermission.html) to communicate with the permission policy and receive a decision on whether this user is authorized to create a todo list item.
It's really that simple! Let's change our policy to test the disabled button:
@@ -98,7 +98,7 @@ And now you should see that you are not able to create a todo item from the fron
## Using `RequirePermission`
-Providing a disabled state can be a helpful signal to users, but there may be cases where hiding the element is preferred. For such cases, you can use the provided [`RequirePermission` component](https://backstage.io/docs/reference/plugin-permission-react.requirepermission):
+Providing a disabled state can be a helpful signal to users, but there may be cases where hiding the element is preferred. For such cases, you can use the provided [`RequirePermission` component](https://backstage.io/api/stable/functions/_backstage_plugin-permission-react.RequirePermission.html):
```tsx title="plugins/todo-list/src/components/TodoListPage/TodoListPage.tsx"
import {
diff --git a/docs/permissions/writing-a-policy.md b/docs/permissions/writing-a-policy.md
index 576afcac21..2bf2bcade9 100644
--- a/docs/permissions/writing-a-policy.md
+++ b/docs/permissions/writing-a-policy.md
@@ -66,9 +66,9 @@ Now with this policy in place the ability to delete entities in the Catalog is n
## What's in a policy?
-Let's break this down a bit further. The request object of type [PolicyQuery](https://backstage.io/docs/reference/plugin-permission-node.policyquery) is a simple wrapper around [the Permission object](https://backstage.io/docs/reference/plugin-permission-common.permission). This permission object encapsulates information about the action that the user is attempting to perform (See [the Concepts page](./concepts.md) for more details).
+Let's break this down a bit further. The request object of type [PolicyQuery](https://backstage.io/api/stable/types/_backstage_plugin-permission-node.index.PolicyQuery.html) is a simple wrapper around [the Permission object](https://backstage.io/api/stable/types/_backstage_plugin-permission-common.Permission.html). This permission object encapsulates information about the action that the user is attempting to perform (See [the Concepts page](./concepts.md) for more details).
-In the policy above, we are checking to see if the provided action is a catalog entity delete action, which is the permission that the catalog plugin authors have created to represent the action of unregistering a catalog entity. If this is the case, we return a [Definitive Policy Decision](https://backstage.io/docs/reference/plugin-permission-common.definitivepolicydecision) of DENY. In all other cases, we return ALLOW (resulting in an allow-by-default behavior).
+In the policy above, we are checking to see if the provided action is a catalog entity delete action, which is the permission that the catalog plugin authors have created to represent the action of unregistering a catalog entity. If this is the case, we return a [Definitive Policy Decision](https://backstage.io/api/stable/types/_backstage_plugin-permission-common.DefinitivePolicyDecision.html) of DENY. In all other cases, we return ALLOW (resulting in an allow-by-default behavior).
As we confirmed in the previous section, we know that this now prevents us from unregistering catalog components. Hooray! But you may notice that this prevents _anyone_ from unregistering a component, which is not a very realistic policy. Let's improve this policy by disabling the unregister action _unless you are the owner of this component_.
@@ -115,7 +115,7 @@ class CustomPermissionPolicy implements PermissionPolicy {
if (isPermission(request.permission, catalogEntityDeletePermission)) {
/* highlight-remove-start */
return {
- result: AuthorizeResult.DENY,
+ result: AuthorizeResult.DENY,
};
/* highlight-remove-end */
/* highlight-add-start */
@@ -134,9 +134,9 @@ class CustomPermissionPolicy implements PermissionPolicy {
Let's walk through the new code that we just added.
-Instead of returning an Definitive Policy Decision, we use factory methods to construct a [Conditional Policy Decision](https://backstage.io/docs/reference/plugin-permission-common.conditionalpolicydecision) (See the [Concepts page](./concepts.md) for more details). Since the policy doesn't have enough information to determine if `user` is the entity owner, this criteria is encapsulated within the conditional decision. However, `createCatalogConditionalDecision` will not compile unless `request.permission` is a catalog entity [`ResourcePermission`](https://backstage.io/docs/reference/plugin-permission-common.resourcepermission). This type constraint ensures that policies return conditional decisions that are compatible with the requested permission. To address this, we use [`isPermission`](https://backstage.io/docs/reference/plugin-permission-common.ispermission) to ["narrow"](https://www.typescriptlang.org/docs/handbook/2/narrowing.html) the type of `request.permission` to `ResourcePermission<'catalog-entity'>`. This matches the runtime behavior that was in place before, but you'll notice that the type of `request.permission` has changed within the scope of that `if` statement.
+Instead of returning an Definitive Policy Decision, we use factory methods to construct a [Conditional Policy Decision](https://backstage.io/api/stable/types/_backstage_plugin-permission-common.ConditionalPolicyDecision.html) (See the [Concepts page](./concepts.md) for more details). Since the policy doesn't have enough information to determine if `user` is the entity owner, this criteria is encapsulated within the conditional decision. However, `createCatalogConditionalDecision` will not compile unless `request.permission` is a catalog entity [`ResourcePermission`](https://backstage.io/api/stable/types/_backstage_plugin-permission-common.ResourcePermission.html). This type constraint ensures that policies return conditional decisions that are compatible with the requested permission. To address this, we use [`isPermission`](https://backstage.io/api/stable/functions/_backstage_plugin-permission-common.isPermission.html) to ["narrow"](https://www.typescriptlang.org/docs/handbook/2/narrowing.html) the type of `request.permission` to `ResourcePermission<'catalog-entity'>`. This matches the runtime behavior that was in place before, but you'll notice that the type of `request.permission` has changed within the scope of that `if` statement.
-The `catalogConditions` object contains all of the rules defined by the catalog plugin. These rules can be combined to form a [`PermissionCriteria`](https://backstage.io/docs/reference/plugin-permission-common.permissioncriteria) object, but for this case we only need to use the `isEntityOwner` rule. This rule accepts a list of entity refs that represent User identity and Group membership used to determine ownership. The second argument to `PermissionPolicy#handle` provides us with a `PolicyQueryUser` object, from which we can grab the user's `ownershipEntityRefs`. We provide an empty array as a fallback since the user may be anonymous.
+The `catalogConditions` object contains all of the rules defined by the catalog plugin. These rules can be combined to form a [`PermissionCriteria`](https://backstage.io/api/stable/types/_backstage_plugin-permission-common.PermissionCriteria.html) object, but for this case we only need to use the `isEntityOwner` rule. This rule accepts a list of entity refs that represent User identity and Group membership used to determine ownership. The second argument to `PermissionPolicy#handle` provides us with a `PolicyQueryUser` object, from which we can grab the user's `ownershipEntityRefs`. We provide an empty array as a fallback since the user may be anonymous.
You should now be able to see in your Backstage app that the unregister entity button is enabled for entities that you own, but disabled for all other entities!
@@ -190,7 +190,7 @@ class CustomPermissionPolicy implements PermissionPolicy {
}
```
-In this example, we use [`isResourcePermission`](https://backstage.io/docs/reference/plugin-permission-common.isresourcepermission) to match all permissions with a resource type of `catalog-entity`. Just like `isPermission`, this helper will "narrow" the type of `request.permission` and enable the use of `createCatalogConditionalDecision`. In addition to the behavior you observed before, you should also see that catalog entities are no longer visible unless you are the owner - success!
+In this example, we use [`isResourcePermission`](https://backstage.io/api/stable/functions/_backstage_plugin-permission-common.isResourcePermission.html) to match all permissions with a resource type of `catalog-entity`. Just like `isPermission`, this helper will "narrow" the type of `request.permission` and enable the use of `createCatalogConditionalDecision`. In addition to the behavior you observed before, you should also see that catalog entities are no longer visible unless you are the owner - success!
:::note Note
diff --git a/docs/plugins/add-to-directory.md b/docs/plugins/add-to-directory.md
index 8be0d764dd..48affef489 100644
--- a/docs/plugins/add-to-directory.md
+++ b/docs/plugins/add-to-directory.md
@@ -6,10 +6,7 @@ description: Documentation on Adding Plugin to Plugin Directory
## Adding a Plugin to the Directory
-To add a new plugin to the [plugin directory](https://backstage.io/plugins)
-create a file in
-[`microsite/data/plugins`](https://github.com/backstage/backstage/tree/master/microsite/data/plugins)
-with your plugin's information. Example:
+To add a new plugin to the [plugin directory](https://backstage.io/plugins) create a file with the following pattern `.yaml` where `` is the name of your plugin. This file will go in [`microsite/data/plugins`](https://github.com/backstage/backstage/tree/master/microsite/data/plugins) with your plugin's information. Example:
```yaml
---
@@ -26,13 +23,24 @@ npmPackageName: # Your npm package name E.g. '@backstage/plugin-' quotes ar
addedDate: # The date plugin added to directory E.g. '2022-10-01' quotes are required
```
+:::tip
+
+You can validate your YAML file is correct by running the following from the root of the repo:
+
+1. First run `yarn install`
+2. Then run `node ./scripts/verify-plugin-directory.js`
+
+If there are any errors they will be listed and you will need to correct them. We run this same check as part of the CI.
+
+:::
+
## Submission Tips
Here are a few tips to help speed up the review process when you submit your plugin:
-- For any icon that you use make sure you have the proper rights to use it.
+- For any icon that you use make sure you have the proper rights to use it. If you don't have an icon then it will default to `iconUrl: '/img/logo-gradient-on-dark.svg'`.
- Make sure that your package had been published on the NPM registry and that it's public.
- Make sure your package on NPM has a link back to your code repo, this helps provide confidence that it's the right package.
-- Where possible, please use an [NPM scope](https://docs.npmjs.com/about-scopes) that matches either your Organization name or user name, this provides trust in the plugin
+- Where possible, please use an [NPM scope](https://docs.npmjs.com/about-scopes) that matches either your Organization name or user name, this provides trust in the plugin.
- If your plugin has both a frontend and backend link the documentation to the frontend package but make sure it mentioned needing to install the backend package.
- Where possible include a screenshot of the features in you plugin documentation, it really does help when deciding to use a plugin.
diff --git a/docs/plugins/analytics.md b/docs/plugins/analytics.md
index f383e8881c..3e8d5b4111 100644
--- a/docs/plugins/analytics.md
+++ b/docs/plugins/analytics.md
@@ -54,7 +54,7 @@ learn how to contribute the integration yourself!
[matomo]: https://github.com/backstage/community-plugins/blob/main/workspaces/analytics/plugins/analytics-module-matomo/README.md
[add-tool]: https://github.com/backstage/backstage/issues/new?assignees=&labels=plugin&template=plugin_template.md&title=%5BAnalytics+Module%5D+THE+ANALYTICS+TOOL+TO+INTEGRATE
[int-howto]: #writing-integrations
-[analytics-api-type]: https://backstage.io/docs/reference/core-plugin-api.analyticsapi
+[analytics-api-type]: https://backstage.io/api/stable/types/_backstage_core-plugin-api.index.AnalyticsApi.html
[generic-http]: https://github.com/pfeifferj/backstage-plugin-analytics-generic/blob/main/README.md
## Key Events
diff --git a/docs/plugins/feature-flags.md b/docs/plugins/feature-flags.md
index 3afb8081d5..e9e000df0d 100644
--- a/docs/plugins/feature-flags.md
+++ b/docs/plugins/feature-flags.md
@@ -55,7 +55,7 @@ The user's selection is saved in the user's browser local storage. Once a featur
## FeatureFlagged Component
-The easiest way to control content based on the state of a feature flag is to use the [FeatureFlagged](https://backstage.io/docs/reference/core-app-api.featureflagged) component.
+The easiest way to control content based on the state of a feature flag is to use the [FeatureFlagged](https://backstage.io/api/stable/functions/_backstage_core-app-api.FeatureFlagged.html) component.
```ts
import { FeatureFlagged } from '@backstage/core-app-api';
@@ -73,7 +73,7 @@ import { FeatureFlagged } from '@backstage/core-app-api';
## Evaluating Feature Flag State
-It is also possible to query a feature flag using the [FeatureFlags Api](https://backstage.io/docs/reference/core-plugin-api.featureflagsapi).
+It is also possible to query a feature flag using the [FeatureFlags Api](https://backstage.io/api/stable/interfaces/_backstage_core-plugin-api.index.FeatureFlagsApi.html).
```ts
import { useApi, featureFlagsApiRef } from '@backstage/core-plugin-api';
diff --git a/docs/plugins/integrating-plugin-into-software-catalog.md b/docs/plugins/integrating-plugin-into-software-catalog.md
index 3542e073cb..911d74b019 100644
--- a/docs/plugins/integrating-plugin-into-software-catalog.md
+++ b/docs/plugins/integrating-plugin-into-software-catalog.md
@@ -45,7 +45,7 @@ export const MyPluginEntityContent = () => {
```
Internally `useEntity` makes use of
-[react `Context`s](https://reactjs.org/docs/context.html). The entity context is
+[react `Contexts`](https://18.react.dev/learn/passing-data-deeply-with-context). The entity context is
provided by the entity page into which your plugin will be embedded.
### Import your plugin and embed in the entities page
@@ -63,7 +63,7 @@ To add your component to the Entity view, you will need to modify the
your plugin, you may only care about certain kinds of
[entities](https://backstage.io/docs/features/software-catalog/descriptor-format),
each of which has its own
-[element](https://reactjs.org/docs/rendering-elements.html) for rendering. This
+element for rendering. This
functionality is handled by the `EntitySwitch` component:
```tsx
diff --git a/docs/plugins/integrating-search-into-plugins.md b/docs/plugins/integrating-search-into-plugins.md
index ec1c4e7a5a..fd80e0a1eb 100644
--- a/docs/plugins/integrating-search-into-plugins.md
+++ b/docs/plugins/integrating-search-into-plugins.md
@@ -237,7 +237,7 @@ backend.start();
#### 8. Testing the collator code
-To verify your implementation works as expected make sure to add tests for it. For your convenience, there is the [`TestPipeline`](https://backstage.io/docs/reference/plugin-search-backend-node.testpipeline) utility that emulates a pipeline into which you can integrate your custom collator.
+To verify your implementation works as expected make sure to add tests for it. For your convenience, there is the [`TestPipeline`](https://backstage.io/api/stable/classes/_backstage_plugin-search-backend-node.index.TestPipeline.html) utility that emulates a pipeline into which you can integrate your custom collator.
Look at [DefaultTechDocsCollatorFactory test](https://github.com/backstage/backstage/blob/de294ce5c410c9eb56da6870a1fab795268f60e3/plugins/techdocs-backend/src/search/DefaultTechDocsCollatorFactory.test.ts), for an example.
@@ -282,7 +282,7 @@ search experience.
of state necessary to perform search queries and display any results. As
inputs to the query are updated (e.g. a `term` or `filter` values), the
updated query is executed and `results` are refreshed. Check out the
- [SearchContextValue](https://backstage.io/docs/reference/plugin-search-react.searchcontextvalue)
+ [SearchContextValue](https://backstage.io/api/stable/types/_backstage_plugin-search-react.index.SearchContextValue.html)
for details.
- The aforementioned state can be modified and/or consumed via the
`useSearch()` hook, also exported by `@backstage/plugin-search-react`.
diff --git a/docs/plugins/proxying.md b/docs/plugins/proxying.md
index 5182ee7171..bd89fc6c36 100644
--- a/docs/plugins/proxying.md
+++ b/docs/plugins/proxying.md
@@ -141,6 +141,9 @@ registered in this manner.
Example:
```ts
+import { createBackendModule } from '@backstage/backend-plugin-api';
+import { proxyEndpointsExtensionPoint } from '@backstage/plugin-proxy-node/alpha';
+
backend.add(
createBackendModule({
pluginId: 'proxy',
diff --git a/docs/releases/v1.0.0.md b/docs/releases/v1.0.0.md
index 6906ef8ae7..c13c57f57e 100644
--- a/docs/releases/v1.0.0.md
+++ b/docs/releases/v1.0.0.md
@@ -89,4 +89,4 @@ Below you can find a list of links and references to help you learn about and st
- [Changelog](https://github.com/backstage/backstage/releases/tag/v1.0.0) for this release
- Backstage [Demos](https://backstage.io/demos), [Blog](https://backstage.io/blog), [Roadmap](https://backstage.io/docs/overview/roadmap) and [Plugins](https://backstage.io/plugins)
-Sign up for our [newsletter](https://mailchi.mp/spotify/backstage-community) if you want to be informed about what is happening in the world of Backstage.
+Sign up for our [newsletter](https://spoti.fi/backstagenewsletter) if you want to be informed about what is happening in the world of Backstage.
diff --git a/docs/releases/v1.1.0.md b/docs/releases/v1.1.0.md
index f484cc5b57..a55b9c8344 100644
--- a/docs/releases/v1.1.0.md
+++ b/docs/releases/v1.1.0.md
@@ -67,4 +67,4 @@ Below you can find a list of links and references to help you learn about and st
- [Changelog](https://github.com/backstage/backstage/tree/master/docs/releases/v1.1.0-changelog.md)
- Backstage [Demos](https://backstage.io/demos), [Blog](https://backstage.io/blog), [Roadmap](https://backstage.io/docs/overview/roadmap) and [Plugins](https://backstage.io/plugins)
-Sign up for our [newsletter](https://mailchi.mp/spotify/backstage-community) if you want to be informed about what is happening in the world of Backstage.
+Sign up for our [newsletter](https://spoti.fi/backstagenewsletter) if you want to be informed about what is happening in the world of Backstage.
diff --git a/docs/releases/v1.10.0.md b/docs/releases/v1.10.0.md
index b06ab63747..d636bd5de8 100644
--- a/docs/releases/v1.10.0.md
+++ b/docs/releases/v1.10.0.md
@@ -75,4 +75,4 @@ Below you can find a list of links and references to help you learn about and st
- [Changelog](https://github.com/backstage/backstage/tree/master/docs/releases/v1.10.0-changelog.md)
- Backstage [Demos](https://backstage.io/demos), [Blog](https://backstage.io/blog), [Roadmap](https://backstage.io/docs/overview/roadmap) and [Plugins](https://backstage.io/plugins)
-Sign up for our [newsletter](https://mailchi.mp/spotify/backstage-community) if you want to be informed about what is happening in the world of Backstage.
+Sign up for our [newsletter](https://spoti.fi/backstagenewsletter) if you want to be informed about what is happening in the world of Backstage.
diff --git a/docs/releases/v1.11.0.md b/docs/releases/v1.11.0.md
index ad2118c754..1e08b3234b 100644
--- a/docs/releases/v1.11.0.md
+++ b/docs/releases/v1.11.0.md
@@ -97,4 +97,4 @@ Below you can find a list of links and references to help you learn about and st
- [Changelog](https://github.com/backstage/backstage/tree/master/docs/releases/v1.11.0-changelog.md)
- Backstage [Demos](https://backstage.io/demos), [Blog](https://backstage.io/blog), [Roadmap](https://backstage.io/docs/overview/roadmap) and [Plugins](https://backstage.io/plugins)
-Sign up for our [newsletter](https://mailchi.mp/spotify/backstage-community) if you want to be informed about what is happening in the world of Backstage.
+Sign up for our [newsletter](https://spoti.fi/backstagenewsletter) if you want to be informed about what is happening in the world of Backstage.
diff --git a/docs/releases/v1.12.0.md b/docs/releases/v1.12.0.md
index 789be8beca..f8564166de 100644
--- a/docs/releases/v1.12.0.md
+++ b/docs/releases/v1.12.0.md
@@ -59,4 +59,4 @@ Below you can find a list of links and references to help you learn about and st
- [Changelog](https://github.com/backstage/backstage/tree/master/docs/releases/v1.12.0-changelog.md)
- Backstage [Demos](https://backstage.io/demos), [Blog](https://backstage.io/blog), [Roadmap](https://backstage.io/docs/overview/roadmap) and [Plugins](https://backstage.io/plugins)
-Sign up for our [newsletter](https://mailchi.mp/spotify/backstage-community) if you want to be informed about what is happening in the world of Backstage.
+Sign up for our [newsletter](https://spoti.fi/backstagenewsletter) if you want to be informed about what is happening in the world of Backstage.
diff --git a/docs/releases/v1.13.0.md b/docs/releases/v1.13.0.md
index b93920b7b1..e1806b8dfd 100644
--- a/docs/releases/v1.13.0.md
+++ b/docs/releases/v1.13.0.md
@@ -141,4 +141,4 @@ Below you can find a list of links and references to help you learn about and st
- [Changelog](https://github.com/backstage/backstage/tree/master/docs/releases/v1.13.0-changelog.md)
- Backstage [Demos](https://backstage.io/demos), [Blog](https://backstage.io/blog), [Roadmap](https://backstage.io/docs/overview/roadmap) and [Plugins](https://backstage.io/plugins)
-Sign up for our [newsletter](https://mailchi.mp/spotify/backstage-community) if you want to be informed about what is happening in the world of Backstage.
+Sign up for our [newsletter](https://spoti.fi/backstagenewsletter) if you want to be informed about what is happening in the world of Backstage.
diff --git a/docs/releases/v1.14.0.md b/docs/releases/v1.14.0.md
index 2c565e2519..d2d68f36d5 100644
--- a/docs/releases/v1.14.0.md
+++ b/docs/releases/v1.14.0.md
@@ -77,4 +77,4 @@ Below you can find a list of links and references to help you learn about and st
- [Changelog](https://github.com/backstage/backstage/tree/master/docs/releases/v1.14.0-changelog.md)
- Backstage [Demos](https://backstage.io/demos), [Blog](https://backstage.io/blog), [Roadmap](https://backstage.io/docs/overview/roadmap) and [Plugins](https://backstage.io/plugins)
-Sign up for our [newsletter](https://mailchi.mp/spotify/backstage-community) if you want to be informed about what is happening in the world of Backstage.
+Sign up for our [newsletter](https://spoti.fi/backstagenewsletter) if you want to be informed about what is happening in the world of Backstage.
diff --git a/docs/releases/v1.15.0.md b/docs/releases/v1.15.0.md
index c7ef6b33f9..0b6170a547 100644
--- a/docs/releases/v1.15.0.md
+++ b/docs/releases/v1.15.0.md
@@ -193,5 +193,5 @@ start using this new release.
[Roadmap](https://backstage.io/docs/overview/roadmap) and
[Plugins](https://backstage.io/plugins)
-Sign up for our [newsletter](https://mailchi.mp/spotify/backstage-community) if
+Sign up for our [newsletter](https://spoti.fi/backstagenewsletter) if
you want to be informed about what is happening in the world of Backstage.
diff --git a/docs/releases/v1.16.0.md b/docs/releases/v1.16.0.md
index 37a458cc32..b90274639a 100644
--- a/docs/releases/v1.16.0.md
+++ b/docs/releases/v1.16.0.md
@@ -84,4 +84,4 @@ Below you can find a list of links and references to help you learn about and st
- [Changelog](https://github.com/backstage/backstage/tree/master/docs/releases/v1.16.0-changelog.md)
- Backstage [Demos](https://backstage.io/demos), [Blog](https://backstage.io/blog), [Roadmap](https://backstage.io/docs/overview/roadmap) and [Plugins](https://backstage.io/plugins)
-Sign up for our [newsletter](https://info.backstage.spotify.com/newsletter_subscribe) if you want to be informed about what is happening in the world of Backstage.
+Sign up for our [newsletter](https://spoti.fi/backstagenewsletter) if you want to be informed about what is happening in the world of Backstage.
diff --git a/docs/releases/v1.17.0.md b/docs/releases/v1.17.0.md
index 36414e6608..6ed7ace5f5 100644
--- a/docs/releases/v1.17.0.md
+++ b/docs/releases/v1.17.0.md
@@ -69,4 +69,4 @@ Below you can find a list of links and references to help you learn about and st
- [Changelog](https://github.com/backstage/backstage/tree/master/docs/releases/v1.17.0-changelog.md)
- Backstage [Demos](https://backstage.io/demos), [Blog](https://backstage.io/blog), [Roadmap](https://backstage.io/docs/overview/roadmap) and [Plugins](https://backstage.io/plugins)
-Sign up for our [newsletter](https://info.backstage.spotify.com/newsletter_subscribe) if you want to be informed about what is happening in the world of Backstage.
+Sign up for our [newsletter](https://spoti.fi/backstagenewsletter) if you want to be informed about what is happening in the world of Backstage.
diff --git a/docs/releases/v1.18.0.md b/docs/releases/v1.18.0.md
index eb42a5f58a..88f3536dd4 100644
--- a/docs/releases/v1.18.0.md
+++ b/docs/releases/v1.18.0.md
@@ -130,4 +130,4 @@ Below you can find a list of links and references to help you learn about and st
- [Changelog](https://github.com/backstage/backstage/tree/master/docs/releases/v1.18.0-changelog.md)
- Backstage [Demos](https://backstage.io/demos), [Blog](https://backstage.io/blog), [Roadmap](https://backstage.io/docs/overview/roadmap) and [Plugins](https://backstage.io/plugins)
-Sign up for our [newsletter](https://info.backstage.spotify.com/newsletter_subscribe) if you want to be informed about what is happening in the world of Backstage.
+Sign up for our [newsletter](https://spoti.fi/backstagenewsletter) if you want to be informed about what is happening in the world of Backstage.
diff --git a/docs/releases/v1.19.0.md b/docs/releases/v1.19.0.md
index 49a31f32b6..c744905ec7 100644
--- a/docs/releases/v1.19.0.md
+++ b/docs/releases/v1.19.0.md
@@ -83,4 +83,4 @@ Below you can find a list of links and references to help you learn about and st
- [Changelog](https://github.com/backstage/backstage/tree/master/docs/releases/v1.19.0-changelog.md)
- Backstage [Demos](https://backstage.io/demos), [Blog](https://backstage.io/blog), [Roadmap](https://backstage.io/docs/overview/roadmap) and [Plugins](https://backstage.io/plugins)
-Sign up for our [newsletter](https://info.backstage.spotify.com/newsletter_subscribe) if you want to be informed about what is happening in the world of Backstage.
+Sign up for our [newsletter](https://spoti.fi/backstagenewsletter) if you want to be informed about what is happening in the world of Backstage.
diff --git a/docs/releases/v1.2.0.md b/docs/releases/v1.2.0.md
index 3751217ae4..f69f6369ca 100644
--- a/docs/releases/v1.2.0.md
+++ b/docs/releases/v1.2.0.md
@@ -38,7 +38,7 @@ Server-to-server authentication tokens issued from a TokenManager (specifically,
### Kubernetes
-Added support for `oidc` as an auth provider for kubernetes authentication and added an optional `oidcTokenProvider` config value. This will allow users to authenticate to kubernetes clusters using ID tokens obtained from the configured auth provider in their Backstage instance. Contributed by @dbravovmw(https://github.com/dbravovmw). #11328(https://github.com/backstage/backstage/pull/11328)
+Added support for `oidc` as an auth provider for kubernetes authentication and added an optional `oidcTokenProvider` config value. This will allow users to authenticate to kubernetes clusters using ID tokens obtained from the configured auth provider in their Backstage instance. Contributed by [@dbravovmw](https://github.com/dbravovmw) in [#11328](https://github.com/backstage/backstage/pull/11328)
### Misc
@@ -64,4 +64,4 @@ Below you can find a list of links and references to help you learn about and st
- [Changelog](https://github.com/backstage/backstage/tree/master/docs/releases/v1.2.0-changelog.md)
- Backstage [Demos](https://backstage.io/demos), [Blog](https://backstage.io/blog), [Roadmap](https://backstage.io/docs/overview/roadmap) and [Plugins](https://backstage.io/plugins)
-Sign up for our [newsletter](https://mailchi.mp/spotify/backstage-community) if you want to be informed about what is happening in the world of Backstage.
+Sign up for our [newsletter](https://spoti.fi/backstagenewsletter) if you want to be informed about what is happening in the world of Backstage.
diff --git a/docs/releases/v1.20.0.md b/docs/releases/v1.20.0.md
index 0d0075aa41..e4a8b04cab 100644
--- a/docs/releases/v1.20.0.md
+++ b/docs/releases/v1.20.0.md
@@ -47,4 +47,4 @@ Below you can find a list of links and references to help you learn about and st
- [Changelog](https://github.com/backstage/backstage/tree/master/docs/releases/v1.20.0-changelog.md)
- Backstage [Demos](https://backstage.io/demos), [Blog](https://backstage.io/blog), [Roadmap](https://backstage.io/docs/overview/roadmap) and [Plugins](https://backstage.io/plugins)
-Sign up for our [newsletter](https://info.backstage.spotify.com/newsletter_subscribe) if you want to be informed about what is happening in the world of Backstage.
+Sign up for our [newsletter](https://spoti.fi/backstagenewsletter) if you want to be informed about what is happening in the world of Backstage.
diff --git a/docs/releases/v1.21.0.md b/docs/releases/v1.21.0.md
index 53e77f0021..852eb92de1 100644
--- a/docs/releases/v1.21.0.md
+++ b/docs/releases/v1.21.0.md
@@ -132,4 +132,4 @@ Below you can find a list of links and references to help you learn about and st
- [Changelog](https://github.com/backstage/backstage/tree/master/docs/releases/v1.21.0-changelog.md)
- Backstage [Demos](https://backstage.io/demos), [Blog](https://backstage.io/blog), [Roadmap](https://backstage.io/docs/overview/roadmap) and [Plugins](https://backstage.io/plugins)
-Sign up for our [newsletter](https://info.backstage.spotify.com/newsletter_subscribe) if you want to be informed about what is happening in the world of Backstage.
+Sign up for our [newsletter](https://spoti.fi/backstagenewsletter) if you want to be informed about what is happening in the world of Backstage.
diff --git a/docs/releases/v1.22.0.md b/docs/releases/v1.22.0.md
index 9f9295fb96..e351d9c86a 100644
--- a/docs/releases/v1.22.0.md
+++ b/docs/releases/v1.22.0.md
@@ -66,4 +66,4 @@ Below you can find a list of links and references to help you learn about and st
- [Changelog](https://github.com/backstage/backstage/tree/master/docs/releases/v1.22.0-changelog.md)
- Backstage [Demos](https://backstage.io/demos), [Blog](https://backstage.io/blog), [Roadmap](https://backstage.io/docs/overview/roadmap) and [Plugins](https://backstage.io/plugins)
-Sign up for our [newsletter](https://info.backstage.spotify.com/newsletter_subscribe) if you want to be informed about what is happening in the world of Backstage.
+Sign up for our [newsletter](https://spoti.fi/backstagenewsletter) if you want to be informed about what is happening in the world of Backstage.
diff --git a/docs/releases/v1.23.0.md b/docs/releases/v1.23.0.md
index 413db12988..bb8a35f454 100644
--- a/docs/releases/v1.23.0.md
+++ b/docs/releases/v1.23.0.md
@@ -79,4 +79,4 @@ Below you can find a list of links and references to help you learn about and st
- [Changelog](https://github.com/backstage/backstage/tree/master/docs/releases/v1.23.0-changelog.md)
- Backstage [Demos](https://backstage.io/demos), [Blog](https://backstage.io/blog), [Roadmap](https://backstage.io/docs/overview/roadmap) and [Plugins](https://backstage.io/plugins)
-Sign up for our [newsletter](https://info.backstage.spotify.com/newsletter_subscribe) if you want to be informed about what is happening in the world of Backstage.
+Sign up for our [newsletter](https://spoti.fi/backstagenewsletter) if you want to be informed about what is happening in the world of Backstage.
diff --git a/docs/releases/v1.24.0.md b/docs/releases/v1.24.0.md
index 7bb8b174e1..9b87b5b039 100644
--- a/docs/releases/v1.24.0.md
+++ b/docs/releases/v1.24.0.md
@@ -87,4 +87,4 @@ Below you can find a list of links and references to help you learn about and st
- [Changelog](https://github.com/backstage/backstage/tree/master/docs/releases/v1.24.0-changelog.md)
- Backstage [Demos](https://backstage.io/demos), [Blog](https://backstage.io/blog), [Roadmap](https://backstage.io/docs/overview/roadmap) and [Plugins](https://backstage.io/plugins)
-Sign up for our [newsletter](https://info.backstage.spotify.com/newsletter_subscribe) if you want to be informed about what is happening in the world of Backstage.
+Sign up for our [newsletter](https://spoti.fi/backstagenewsletter) if you want to be informed about what is happening in the world of Backstage.
diff --git a/docs/releases/v1.25.0.md b/docs/releases/v1.25.0.md
index afb765b447..037c698a17 100644
--- a/docs/releases/v1.25.0.md
+++ b/docs/releases/v1.25.0.md
@@ -44,4 +44,4 @@ Below you can find a list of links and references to help you learn about and st
- [Changelog](https://github.com/backstage/backstage/tree/master/docs/releases/v1.25.0-changelog.md)
- Backstage [Demos](https://backstage.io/demos), [Blog](https://backstage.io/blog), [Roadmap](https://backstage.io/docs/overview/roadmap) and [Plugins](https://backstage.io/plugins)
-Sign up for our [newsletter](https://info.backstage.spotify.com/newsletter_subscribe) if you want to be informed about what is happening in the world of Backstage.
+Sign up for our [newsletter](https://spoti.fi/backstagenewsletter) if you want to be informed about what is happening in the world of Backstage.
diff --git a/docs/releases/v1.26.0.md b/docs/releases/v1.26.0.md
index 38665ff7e5..a42450b4ce 100644
--- a/docs/releases/v1.26.0.md
+++ b/docs/releases/v1.26.0.md
@@ -79,4 +79,4 @@ Below you can find a list of links and references to help you learn about and st
- [Changelog](https://github.com/backstage/backstage/tree/master/docs/releases/v1.26.0-changelog.md)
- Backstage [Demos](https://backstage.io/demos), [Blog](https://backstage.io/blog), [Roadmap](https://backstage.io/docs/overview/roadmap) and [Plugins](https://backstage.io/plugins)
-Sign up for our [newsletter](https://info.backstage.spotify.com/newsletter_subscribe) if you want to be informed about what is happening in the world of Backstage.
+Sign up for our [newsletter](https://spoti.fi/backstagenewsletter) if you want to be informed about what is happening in the world of Backstage.
diff --git a/docs/releases/v1.27.0.md b/docs/releases/v1.27.0.md
index 123d9663ad..bf382bbd4d 100644
--- a/docs/releases/v1.27.0.md
+++ b/docs/releases/v1.27.0.md
@@ -80,4 +80,4 @@ Below you can find a list of links and references to help you learn about and st
- [Changelog](https://github.com/backstage/backstage/tree/master/docs/releases/v1.27.0-changelog.md)
- Backstage [Demos](https://backstage.io/demos), [Blog](https://backstage.io/blog), [Roadmap](https://backstage.io/docs/overview/roadmap) and [Plugins](https://backstage.io/plugins)
-Sign up for our [newsletter](https://info.backstage.spotify.com/newsletter_subscribe) if you want to be informed about what is happening in the world of Backstage.
+Sign up for our [newsletter](https://spoti.fi/backstagenewsletter) if you want to be informed about what is happening in the world of Backstage.
diff --git a/docs/releases/v1.28.0.md b/docs/releases/v1.28.0.md
index bc690fbeef..9509128546 100644
--- a/docs/releases/v1.28.0.md
+++ b/docs/releases/v1.28.0.md
@@ -197,6 +197,6 @@ Below you can find a list of links and references to help you learn about and st
- [Changelog](https://github.com/backstage/backstage/tree/master/docs/releases/v1.28.0-changelog.md)
- Backstage [Demos](https://backstage.io/demos), [Blog](https://backstage.io/blog), [Roadmap](https://backstage.io/docs/overview/roadmap) and [Plugins](https://backstage.io/plugins)
-Sign up for our [newsletter](https://info.backstage.spotify.com/newsletter_subscribe) if you want to be informed about what is happening in the world of Backstage.
+Sign up for our [newsletter](https://spoti.fi/backstagenewsletter) if you want to be informed about what is happening in the world of Backstage.
Big shoutout to all 64 of you amazing folks who chipped in on this release 🙏: [@acierto](https://github.com/acierto), [@adityak60](https://github.com/adityak60), [@adsk-mukul](https://github.com/adsk-mukul), [@alexef](https://github.com/alexef), [@andrei-ivanovici](https://github.com/andrei-ivanovici), [@anicke](https://github.com/anicke), [@aramissennyeydd](https://github.com/aramissennyeydd), [@awanlin](https://github.com/awanlin), [@benjdlambert](https://github.com/benjdlambert), [@benjidotsh](https://github.com/benjidotsh), [@bethgriggs](https://github.com/bethgriggs), [@brianphillips](https://github.com/brianphillips), [@brunobastosg](https://github.com/brunobastosg), [@camilaibs](https://github.com/camilaibs), [@cjlee01](https://github.com/cjlee01), [@cmoulliard](https://github.com/cmoulliard), [@davidfestal](https://github.com/davidfestal), [@debsmita1](https://github.com/debsmita1), [@drodil](https://github.com/drodil), [@dweber019](https://github.com/dweber019), [@elaine-mattos](https://github.com/elaine-mattos), [@erik-adsk](https://github.com/erik-adsk), [@fabian-m-95](https://github.com/fabian-m-95), [@freben](https://github.com/freben), [@grantila](https://github.com/grantila), [@huggingpixels](https://github.com/huggingpixels), [@ismailmmd](https://github.com/ismailmmd), [@jeevaramanathan](https://github.com/jeevaramanathan), [@johanhammar](https://github.com/johanhammar), [@jslott2sigma](https://github.com/jslott2sigma), [@julien-hery](https://github.com/julien-hery), [@kalleericson](https://github.com/kalleericson), [@kissmikijr](https://github.com/kissmikijr), [@kuangp](https://github.com/kuangp), [@maetis](https://github.com/maetis), [@marcpalm](https://github.com/marcpalm), [@marcuseide](https://github.com/marcuseide), [@mareklibra](https://github.com/mareklibra), [@mario-mui](https://github.com/mario-mui), [@matteosilv](https://github.com/matteosilv), [@mclarke47](https://github.com/mclarke47), [@npiyush97](https://github.com/npiyush97), [@nurbaysymbat](https://github.com/nurbaysymbat), [@parsifal-m](https://github.com/parsifal-m), [@piatkiewicz](https://github.com/piatkiewicz), [@raffitamizian](https://github.com/raffitamizian), [@rbillon59](https://github.com/rbillon59), [@rewixe](https://github.com/rewixe), [@rugvip](https://github.com/rugvip), [@ryan-hanchett](https://github.com/ryan-hanchett), [@sblausten](https://github.com/sblausten), [@snowblitzer](https://github.com/snowblitzer), [@stanislav-c](https://github.com/stanislav-c), [@stephenglass](https://github.com/stephenglass), [@stijnbrouwers](https://github.com/stijnbrouwers), [@suniljose25](https://github.com/suniljose25), [@tcardonne](https://github.com/tcardonne), [@vadave](https://github.com/vadave), [@veenarm](https://github.com/veenarm), [@vinisdl](https://github.com/vinisdl), [@vinzscam](https://github.com/vinzscam), [@waldirmontoya25](https://github.com/waldirmontoya25), [@ydayagi](https://github.com/ydayagi), [@zaperex](https://github.com/zaperex).
diff --git a/docs/releases/v1.29.0.md b/docs/releases/v1.29.0.md
index 5f7ed1db19..12553c3a1c 100644
--- a/docs/releases/v1.29.0.md
+++ b/docs/releases/v1.29.0.md
@@ -114,4 +114,4 @@ Below you can find a list of links and references to help you learn about and st
- [Changelog](https://github.com/backstage/backstage/tree/master/docs/releases/v1.29.0-changelog.md)
- Backstage [Demos](https://backstage.io/demos), [Blog](https://backstage.io/blog), [Roadmap](https://backstage.io/docs/overview/roadmap) and [Plugins](https://backstage.io/plugins)
-Sign up for our [newsletter](https://info.backstage.spotify.com/newsletter_subscribe) if you want to be informed about what is happening in the world of Backstage.
+Sign up for our [newsletter](https://spoti.fi/backstagenewsletter) if you want to be informed about what is happening in the world of Backstage.
diff --git a/docs/releases/v1.3.0.md b/docs/releases/v1.3.0.md
index 96aa88a05e..57004158cf 100644
--- a/docs/releases/v1.3.0.md
+++ b/docs/releases/v1.3.0.md
@@ -62,4 +62,4 @@ Below you can find a list of links and references to help you learn about and st
- [Changelog](https://github.com/backstage/backstage/tree/master/docs/releases/v1.3.0-changelog.md)
- Backstage [Demos](https://backstage.io/demos), [Blog](https://backstage.io/blog), [Roadmap](https://backstage.io/docs/overview/roadmap), and [Plugins](https://backstage.io/plugins)
-Sign up for our [newsletter](https://mailchi.mp/spotify/backstage-community) if you want to be informed about what is happening in the world of Backstage.
+Sign up for our [newsletter](https://spoti.fi/backstagenewsletter) if you want to be informed about what is happening in the world of Backstage.
diff --git a/docs/releases/v1.30.0-changelog.md b/docs/releases/v1.30.0-changelog.md
index 0af531f483..21c63a23d8 100644
--- a/docs/releases/v1.30.0-changelog.md
+++ b/docs/releases/v1.30.0-changelog.md
@@ -338,7 +338,7 @@ Upgrade Helper: [https://backstage.github.io/upgrade-helper/?to=1.30.0](https://
- b2d97fd: Fixing loading of additional config files with new `ConfigSources`
- fbc7819: Use ES2022 in CLI bundler
- 93095ee: Make sure node-fetch is version 2.7.0 or greater
-- 6d898d8: Switched the `process` polyfill to use `require.resolve` for greater compatability.
+- 6d898d8: Switched the `process` polyfill to use `require.resolve` for greater compatibility.
- e53074f: Updated default backend plugin to use `RootConfigService` instead of `Config`. This also removes the dependency on `@backstage/config` as it's no longer used.
- ee2b0e5: The experimental module federation build now has the ability to force the use of development versions of `react` and `react-dom` by setting the `FORCE_REACT_DEVELOPMENT` flag.
- 239dffc: Remove usage of deprecated functionality from @backstage/config-loader
diff --git a/docs/releases/v1.30.0-next.4-changelog.md b/docs/releases/v1.30.0-next.4-changelog.md
index 433b5f894c..e3f2840121 100644
--- a/docs/releases/v1.30.0-next.4-changelog.md
+++ b/docs/releases/v1.30.0-next.4-changelog.md
@@ -212,7 +212,7 @@ Upgrade Helper: [https://backstage.github.io/upgrade-helper/?to=1.30.0-next.4](h
### Patch Changes
-- 6d898d8: Switched the `process` polyfill to use `require.resolve` for greater compatability.
+- 6d898d8: Switched the `process` polyfill to use `require.resolve` for greater compatibility.
- 2ced236: Updated dependency `@module-federation/enhanced` to `0.3.1`
- Updated dependencies
- @backstage/catalog-model@1.6.0-next.0
diff --git a/docs/releases/v1.30.0.md b/docs/releases/v1.30.0.md
index 0d3ad1dd5b..022dc23ba8 100644
--- a/docs/releases/v1.30.0.md
+++ b/docs/releases/v1.30.0.md
@@ -114,4 +114,4 @@ Below you can find a list of links and references to help you learn about and st
- [Changelog](https://github.com/backstage/backstage/tree/master/docs/releases/v1.30.0-changelog.md)
- Backstage [Demos](https://backstage.io/demos), [Blog](https://backstage.io/blog), [Roadmap](https://backstage.io/docs/overview/roadmap) and [Plugins](https://backstage.io/plugins)
-Sign up for our [newsletter](https://info.backstage.spotify.com/newsletter_subscribe) if you want to be informed about what is happening in the world of Backstage.
+Sign up for our [newsletter](https://spoti.fi/backstagenewsletter) if you want to be informed about what is happening in the world of Backstage.
diff --git a/docs/releases/v1.31.0.md b/docs/releases/v1.31.0.md
index 37b11c2b56..d622d19ce1 100644
--- a/docs/releases/v1.31.0.md
+++ b/docs/releases/v1.31.0.md
@@ -141,4 +141,4 @@ Below you can find a list of links and references to help you learn about and st
- [Changelog](https://github.com/backstage/backstage/tree/master/docs/releases/v1.31.0-changelog.md)
- Backstage [Demos](https://backstage.io/demos), [Blog](https://backstage.io/blog), [Roadmap](https://backstage.io/docs/overview/roadmap) and [Plugins](https://backstage.io/plugins)
-Sign up for our [newsletter](https://info.backstage.spotify.com/newsletter_subscribe) if you want to be informed about what is happening in the world of Backstage.
+Sign up for our [newsletter](https://spoti.fi/backstagenewsletter) if you want to be informed about what is happening in the world of Backstage.
diff --git a/docs/releases/v1.32.0.md b/docs/releases/v1.32.0.md
index 90011deb38..e811d939f9 100644
--- a/docs/releases/v1.32.0.md
+++ b/docs/releases/v1.32.0.md
@@ -157,4 +157,4 @@ Below you can find a list of links and references to help you learn about and st
- Backstage [Demos](https://backstage.io/demos), [Blog](https://backstage.io/blog), [Roadmap](https://backstage.io
/docs/overview/roadmap) and [Plugins](https://backstage.io/plugins)
-Sign up for our [newsletter](https://info.backstage.spotify.com/newsletter_subscribe) if you want to be informed about what is happening in the world of Backstage.
+Sign up for our [newsletter](https://spoti.fi/backstagenewsletter) if you want to be informed about what is happening in the world of Backstage.
diff --git a/docs/releases/v1.33.0.md b/docs/releases/v1.33.0.md
index c8798ea9e5..ce355b5b7d 100644
--- a/docs/releases/v1.33.0.md
+++ b/docs/releases/v1.33.0.md
@@ -70,4 +70,4 @@ Below you can find a list of links and references to help you learn about and st
- [Changelog](https://github.com/backstage/backstage/tree/master/docs/releases/v1.33.0-changelog.md)
- Backstage [Demos](https://backstage.io/demos), [Blog](https://backstage.io/blog), [Roadmap](https://backstage.io/docs/overview/roadmap) and [Plugins](https://backstage.io/plugins)
-Sign up for our [newsletter](https://info.backstage.spotify.com/newsletter_subscribe) if you want to be informed about what is happening in the world of Backstage.
+Sign up for our [newsletter](https://spoti.fi/backstagenewsletter) if you want to be informed about what is happening in the world of Backstage.
diff --git a/docs/releases/v1.34.0.md b/docs/releases/v1.34.0.md
index cb7b8af1f3..e0191e384f 100644
--- a/docs/releases/v1.34.0.md
+++ b/docs/releases/v1.34.0.md
@@ -98,4 +98,4 @@ Below you can find a list of links and references to help you learn about and st
- [Changelog](https://github.com/backstage/backstage/tree/master/docs/releases/v1.34.0-changelog.md)
- Backstage [Demos](https://backstage.io/demos), [Blog](https://backstage.io/blog), [Roadmap](https://backstage.io/docs/overview/roadmap) and [Plugins](https://backstage.io/plugins)
-Sign up for our [newsletter](https://info.backstage.spotify.com/newsletter_subscribe) if you want to be informed about what is happening in the world of Backstage.
+Sign up for our [newsletter](https://spoti.fi/backstagenewsletter) if you want to be informed about what is happening in the world of Backstage.
diff --git a/docs/releases/v1.35.0.md b/docs/releases/v1.35.0.md
index 04aba27da2..9ba3936a75 100644
--- a/docs/releases/v1.35.0.md
+++ b/docs/releases/v1.35.0.md
@@ -70,4 +70,4 @@ Below you can find a list of links and references to help you learn about and st
- [Changelog](https://github.com/backstage/backstage/tree/master/docs/releases/v1.35.0-changelog.md)
- Backstage [Demos](https://backstage.io/demos), [Blog](https://backstage.io/blog), [Roadmap](https://backstage.io/docs/overview/roadmap) and [Plugins](https://backstage.io/plugins)
-Sign up for our [newsletter](https://info.backstage.spotify.com/newsletter_subscribe) if you want to be informed about what is happening in the world of Backstage.
+Sign up for our [newsletter](https://spoti.fi/backstagenewsletter) if you want to be informed about what is happening in the world of Backstage.
diff --git a/docs/releases/v1.36.0.md b/docs/releases/v1.36.0.md
index 53fb25f011..dc05a479a7 100644
--- a/docs/releases/v1.36.0.md
+++ b/docs/releases/v1.36.0.md
@@ -99,4 +99,4 @@ Below you can find a list of links and references to help you learn about and st
- [Changelog](https://github.com/backstage/backstage/tree/master/docs/releases/v1.1.0-changelog.md)
- Backstage [Demos](https://backstage.io/demos), [Blog](https://backstage.io/blog), [Roadmap](https://backstage.io/docs/overview/roadmap) and [Plugins](https://backstage.io/plugins)
-Sign up for our [newsletter](https://info.backstage.spotify.com/newsletter_subscribe) if you want to be informed about what is happening in the world of Backstage.
+Sign up for our [newsletter](https://spoti.fi/backstagenewsletter) if you want to be informed about what is happening in the world of Backstage.
diff --git a/docs/releases/v1.37.0.md b/docs/releases/v1.37.0.md
index 8363731292..63ff100f36 100644
--- a/docs/releases/v1.37.0.md
+++ b/docs/releases/v1.37.0.md
@@ -99,7 +99,7 @@ There’s also some more information in the [changeset](https://github.com/backs
### New Frontend System improvements
-There’s now [a `DialogApi`](https://backstage.io/docs/reference/frontend-plugin-api.dialogapi/), which greatly helps with placing dialogs in front of your users - in particular from code that lives outside the React tree, such as in callbacks.
+There’s now [a `DialogApi`](https://backstage.io/api/stable/interfaces/_backstage_frontend-plugin-api.index.DialogApi.html), which greatly helps with placing dialogs in front of your users - in particular from code that lives outside the React tree, such as in callbacks.
At the same time, an `EntityHeaderBlueprint` lets you specifically replace the entity page headers. You can now also group multiple entity page contents into a single tab. A tab that groups more than one entity content is rendered as a dropdown menu. You can use the default list of tab groups or create your own. Groups are sorted in the same order as they are defined in the `app-config.yaml` file. The association between an entity content and a tab group can be optionally done when creating the content extension or via the `app-config.yaml` file. See usage examples in the [#28701](https://github.com/backstage/backstage/pull/28701) and [#29043](https://github.com/backstage/backstage/pull/29043) pull requests.
@@ -140,4 +140,4 @@ Below you can find a list of links and references to help you learn about and st
- [Changelog](https://github.com/backstage/backstage/tree/master/docs/releases/v1.37.0-changelog.md)
- Backstage [Demos](https://backstage.io/demos), [Blog](https://backstage.io/blog), [Roadmap](https://backstage.io/docs/overview/roadmap) and [Plugins](https://backstage.io/plugins)
-Sign up for our [newsletter](https://info.backstage.spotify.com/newsletter_subscribe) if you want to be informed about what is happening in the world of Backstage.
+Sign up for our [newsletter](https://spoti.fi/backstagenewsletter) if you want to be informed about what is happening in the world of Backstage.
diff --git a/docs/releases/v1.38.0.md b/docs/releases/v1.38.0.md
index 4d5fe1d75c..14331066d7 100644
--- a/docs/releases/v1.38.0.md
+++ b/docs/releases/v1.38.0.md
@@ -165,4 +165,4 @@ Below you can find a list of links and references to help you learn about and st
- [Changelog](https://github.com/backstage/backstage/tree/master/docs/releases/v1.38.0-changelog.md)
- Backstage [Demos](https://backstage.io/demos), [Blog](https://backstage.io/blog), [Roadmap](https://backstage.io/docs/overview/roadmap) and [Plugins](https://backstage.io/plugins)
-Sign up for our [newsletter](https://info.backstage.spotify.com/newsletter_subscribe) if you want to be informed about what is happening in the world of Backstage.
+Sign up for our [newsletter](https://spoti.fi/backstagenewsletter) if you want to be informed about what is happening in the world of Backstage.
diff --git a/docs/releases/v1.39.0.md b/docs/releases/v1.39.0.md
index de6903adb4..d6e388f7a8 100644
--- a/docs/releases/v1.39.0.md
+++ b/docs/releases/v1.39.0.md
@@ -122,4 +122,4 @@ Below you can find a list of links and references to help you learn about and st
- [Changelog](https://github.com/backstage/backstage/tree/master/docs/releases/v1.39.0-changelog.md)
- Backstage [Demos](https://backstage.io/demos), [Blog](https://backstage.io/blog), [Roadmap](https://backstage.io/docs/overview/roadmap) and [Plugins](https://backstage.io/plugins)
-Sign up for our [newsletter](https://info.backstage.spotify.com/newsletter_subscribe) if you want to be informed about what is happening in the world of Backstage.
+Sign up for our [newsletter](https://spoti.fi/backstagenewsletter) if you want to be informed about what is happening in the world of Backstage.
diff --git a/docs/releases/v1.4.0-changelog.md b/docs/releases/v1.4.0-changelog.md
index 484939f796..cd20ee2d7f 100644
--- a/docs/releases/v1.4.0-changelog.md
+++ b/docs/releases/v1.4.0-changelog.md
@@ -793,7 +793,7 @@
### Minor Changes
- 8798f8d93f: Introduces a new annotation `pagerduty.com/service-id` that can be used instead of the `pagerduty.com/integration-key` annotation.
- _Note: If both annotations are specified on a given Entity, then the `pagerduty.com/integration-key` annotation will be prefered_
+ _Note: If both annotations are specified on a given Entity, then the `pagerduty.com/integration-key` annotation will be preferred_
**BREAKING** The `PagerDutyClient.fromConfig` static method now expects a `FetchApi` compatible object and has been refactored to
accept 2 arguments: config and ClientApiDependencies
diff --git a/docs/releases/v1.4.0-next.0-changelog.md b/docs/releases/v1.4.0-next.0-changelog.md
index c6b9fd7cf9..7e039c8c1a 100644
--- a/docs/releases/v1.4.0-next.0-changelog.md
+++ b/docs/releases/v1.4.0-next.0-changelog.md
@@ -45,7 +45,7 @@
### Minor Changes
- 8798f8d93f: Introduces a new annotation `pagerduty.com/service-id` that can be used instead of the `pagerduty.com/integration-key` annotation.
- _Note: If both annotations are specified on a given Entity, then the `pagerduty.com/integration-key` annotation will be prefered_
+ _Note: If both annotations are specified on a given Entity, then the `pagerduty.com/integration-key` annotation will be preferred_
**BREAKING** The `PagerDutyClient.fromConfig` static method now expects a `FetchApi` compatible object and has been refactored to
accept 2 arguments: config and ClientApiDependencies
diff --git a/docs/releases/v1.4.0.md b/docs/releases/v1.4.0.md
index 9a178ea8ff..ee33a4ddab 100644
--- a/docs/releases/v1.4.0.md
+++ b/docs/releases/v1.4.0.md
@@ -67,4 +67,4 @@ Below you can find a list of links and references to help you learn about and st
- [Changelog](https://github.com/backstage/backstage/tree/master/docs/releases/v1.4.0-changelog.md)
- Backstage [Demos](https://backstage.io/demos), [Blog](https://backstage.io/blog), [Roadmap](https://backstage.io/docs/overview/roadmap) and [Plugins](https://backstage.io/plugins)
-Sign up for our [newsletter](https://mailchi.mp/spotify/backstage-community) if you want to be informed about what is happening in the world of Backstage.
+Sign up for our [newsletter](https://spoti.fi/backstagenewsletter) if you want to be informed about what is happening in the world of Backstage.
diff --git a/docs/releases/v1.40.0.md b/docs/releases/v1.40.0.md
index befaddfd66..b357ddf207 100644
--- a/docs/releases/v1.40.0.md
+++ b/docs/releases/v1.40.0.md
@@ -197,4 +197,4 @@ Below you can find a list of links and references to help you learn about and st
- [Changelog](https://github.com/backstage/backstage/tree/master/docs/releases/v1.40.0-changelog.md)
- Backstage [Demos](https://backstage.io/demos), [Blog](https://backstage.io/blog), [Roadmap](https://backstage.io/docs/overview/roadmap) and [Plugins](https://backstage.io/plugins)
-Sign up for our [newsletter](https://info.backstage.spotify.com/newsletter_subscribe) if you want to be informed about what is happening in the world of Backstage.
+Sign up for our [newsletter](https://spoti.fi/backstagenewsletter) if you want to be informed about what is happening in the world of Backstage.
diff --git a/docs/releases/v1.41.0.md b/docs/releases/v1.41.0.md
index 2e16e9ffba..8cb7b12de5 100644
--- a/docs/releases/v1.41.0.md
+++ b/docs/releases/v1.41.0.md
@@ -99,4 +99,4 @@ Below you can find a list of links and references to help you learn about and st
- [Changelog](https://github.com/backstage/backstage/tree/master/docs/releases/v1.41.0-changelog.md)
- Backstage [Demos](https://backstage.io/demos), [Blog](https://backstage.io/blog), [Roadmap](https://backstage.io/docs/overview/roadmap) and [Plugins](https://backstage.io/plugins)
-Sign up for our [newsletter](https://info.backstage.spotify.com/newsletter_subscribe) if you want to be informed about what is happening in the world of Backstage.
+Sign up for our [newsletter](https://spoti.fi/backstagenewsletter) if you want to be informed about what is happening in the world of Backstage.
diff --git a/docs/releases/v1.42.0.md b/docs/releases/v1.42.0.md
index 4fe52f7a77..14a3fe4181 100644
--- a/docs/releases/v1.42.0.md
+++ b/docs/releases/v1.42.0.md
@@ -65,4 +65,4 @@ Below you can find a list of links and references to help you learn about and st
- [Changelog](https://github.com/backstage/backstage/tree/master/docs/releases/v1.42.0-changelog.md)
- Backstage [Demos](https://backstage.io/demos), [Blog](https://backstage.io/blog), [Roadmap](https://backstage.io/docs/overview/roadmap) and [Plugins](https://backstage.io/plugins)
-Sign up for our [newsletter](https://info.backstage.spotify.com/newsletter_subscribe) if you want to be informed about what is happening in the world of Backstage.
+Sign up for our [newsletter](https://spoti.fi/backstagenewsletter) if you want to be informed about what is happening in the world of Backstage.
diff --git a/docs/releases/v1.43.0.md b/docs/releases/v1.43.0.md
index 449023d167..09dac1c32e 100644
--- a/docs/releases/v1.43.0.md
+++ b/docs/releases/v1.43.0.md
@@ -87,4 +87,4 @@ Below you can find a list of links and references to help you learn about and st
- [Changelog](https://github.com/backstage/backstage/tree/master/docs/releases/v1.43.0-changelog.md)
- Backstage [Demos](https://backstage.io/demos), [Blog](https://backstage.io/blog), [Roadmap](https://backstage.io/docs/overview/roadmap) and [Plugins](https://backstage.io/plugins)
-Sign up for our [newsletter](https://info.backstage.spotify.com/newsletter_subscribe) if you want to be informed about what is happening in the world of Backstage.
+Sign up for our [newsletter](https://spoti.fi/backstagenewsletter) if you want to be informed about what is happening in the world of Backstage.
diff --git a/docs/releases/v1.44.0.md b/docs/releases/v1.44.0.md
index c57708a8ec..3dc313fc2d 100644
--- a/docs/releases/v1.44.0.md
+++ b/docs/releases/v1.44.0.md
@@ -138,4 +138,4 @@ Below you can find a list of links and references to help you learn about and st
- [Changelog](https://github.com/backstage/backstage/tree/master/docs/releases/v1.44.0-changelog.md)
- Backstage [Demos](https://backstage.io/demos), [Blog](https://backstage.io/blog), [Roadmap](https://backstage.io/docs/overview/roadmap) and [Plugins](https://backstage.io/plugins)
-Sign up for our [newsletter](https://info.backstage.spotify.com/newsletter_subscribe) if you want to be informed about what is happening in the world of Backstage.
+Sign up for our [newsletter](https://spoti.fi/backstagenewsletter) if you want to be informed about what is happening in the world of Backstage.
diff --git a/docs/releases/v1.45.0.md b/docs/releases/v1.45.0.md
index 2afc9e7c35..d2d1ae948b 100644
--- a/docs/releases/v1.45.0.md
+++ b/docs/releases/v1.45.0.md
@@ -69,4 +69,4 @@ Below you can find a list of links and references to help you learn about and st
- [Changelog](https://github.com/backstage/backstage/tree/master/docs/releases/v1.45.0-changelog.md)
- Backstage [Demos](https://backstage.io/demos), [Blog](https://backstage.io/blog), [Roadmap](https://backstage.io/docs/overview/roadmap) and [Plugins](https://backstage.io/plugins)
-Sign up for our [newsletter](https://info.backstage.spotify.com/newsletter_subscribe) if you want to be informed about what is happening in the world of Backstage.
+Sign up for our [newsletter](https://spoti.fi/backstagenewsletter) if you want to be informed about what is happening in the world of Backstage.
diff --git a/docs/releases/v1.46.0.md b/docs/releases/v1.46.0.md
index 9ee4c68681..6e42ff84ed 100644
--- a/docs/releases/v1.46.0.md
+++ b/docs/releases/v1.46.0.md
@@ -126,4 +126,4 @@ Below you can find a list of links and references to help you learn about and st
- [Changelog](https://github.com/backstage/backstage/tree/master/docs/releases/v1.46.0-changelog.md)
- Backstage [Demos](https://backstage.io/demos), [Blog](https://backstage.io/blog), [Roadmap](https://backstage.io/docs/overview/roadmap) and [Plugins](https://backstage.io/plugins)
-Sign up for our [newsletter](https://info.backstage.spotify.com/newsletter_subscribe) if you want to be informed about what is happening in the world of Backstage.
+Sign up for our [newsletter](https://spoti.fi/backstagenewsletter) if you want to be informed about what is happening in the world of Backstage.
diff --git a/docs/releases/v1.47.0.md b/docs/releases/v1.47.0.md
index 55dfd17693..20ca86fff7 100644
--- a/docs/releases/v1.47.0.md
+++ b/docs/releases/v1.47.0.md
@@ -125,4 +125,4 @@ Below you can find a list of links and references to help you learn about and st
- [Changelog](https://github.com/backstage/backstage/tree/master/docs/releases/v1.47.0-changelog.md)
- Backstage [Demos](https://backstage.io/demos), [Blog](https://backstage.io/blog), [Roadmap](https://backstage.io/docs/overview/roadmap) and [Plugins](https://backstage.io/plugins)
-Sign up for our [newsletter](https://info.backstage.spotify.com/newsletter_subscribe) if you want to be informed about what is happening in the world of Backstage.
+Sign up for our [newsletter](https://spoti.fi/backstagenewsletter) if you want to be informed about what is happening in the world of Backstage.
diff --git a/docs/releases/v1.48.0-next.0-changelog.md b/docs/releases/v1.48.0-next.0-changelog.md
new file mode 100644
index 0000000000..11896befa1
--- /dev/null
+++ b/docs/releases/v1.48.0-next.0-changelog.md
@@ -0,0 +1,2651 @@
+# Release v1.48.0-next.0
+
+Upgrade Helper: [https://backstage.github.io/upgrade-helper/?to=1.48.0-next.0](https://backstage.github.io/upgrade-helper/?to=1.48.0-next.0)
+
+## @backstage/backend-app-api@1.5.0-next.0
+
+### Minor Changes
+
+- f1d29b4: Added support for extension point factories, along with the ability to report module startup failures via the extension point factory context.
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.7.0-next.0
+ - @backstage/config@1.3.6
+ - @backstage/errors@1.2.7
+
+## @backstage/backend-plugin-api@1.7.0-next.0
+
+### Minor Changes
+
+- f1d29b4: Added support for extension point factories. This makes it possible to call `registerExtensionPoint` with a single options argument and provide a factory for the extension point rather than a direct implementation. The factory is passed a context with a `reportModuleStartupFailure` method that makes it possible for plugins to report and attribute startup errors to the module that consumed the extension point.
+
+### Patch Changes
+
+- 7455dae: Use node prefix on native imports
+- 69d880e: Bump to latest zod to ensure it has the latest features
+- Updated dependencies
+ - @backstage/cli-common@0.1.18-next.0
+ - @backstage/plugin-auth-node@0.6.12-next.0
+ - @backstage/plugin-permission-common@0.9.5-next.0
+ - @backstage/plugin-permission-node@0.10.9-next.0
+ - @backstage/config@1.3.6
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.2
+
+## @backstage/frontend-plugin-api@0.14.0-next.0
+
+### Minor Changes
+
+- c38b74d: **BREAKING**: The following blueprints have been removed and are now only available from `@backstage/plugin-app-react`:
+
+ - `IconBundleBlueprint`
+ - `NavContentBlueprint`
+ - `RouterBlueprint`
+ - `SignInPageBlueprint`
+ - `SwappableComponentBlueprint`
+ - `ThemeBlueprint`
+ - `TranslationBlueprint`
+
+### Patch Changes
+
+- 7edb810: Added a new `internal` option to `createExtensionInput` that marks the input as only allowing attachments from the same plugin.
+
+- 9554c36: **DEPRECATED**: Multiple attachment points for extensions have been deprecated. The functionality continues to work for backward compatibility, but will log a deprecation warning and be removed in a future release.
+
+ Extensions using array attachment points should migrate to using Utility APIs instead. See the [Sharing Extensions Across Multiple Locations](https://backstage.io/docs/frontend-system/architecture/27-sharing-extensions) guide for the recommended pattern.
+
+- 53b6549: Plugins in the new frontend system now have a `pluginId` field rather than `id` to better align with naming conventions used throughout the frontend and backend systems. The old field is still present but marked as deprecated. All internal code has been updated to prefer `pluginId` while maintaining backward compatibility by falling back to `id` when needed.
+
+- 69d880e: Bump to latest zod to ensure it has the latest features
+
+- Updated dependencies
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.2
+ - @backstage/version-bridge@1.0.11
+
+## @backstage/ui@0.12.0-next.0
+
+### Minor Changes
+
+- b1f723b: **BREAKING**: Changed CSS selectors for `ButtonIcon` and `ButtonLink` components. Custom styles targeting `.bui-Button` to style these components must be updated to use `.bui-ButtonIcon` or `.bui-ButtonLink` respectively.
+
+ ```diff
+ -/* This no longer styles ButtonIcon or ButtonLink */
+ -.bui-Button[data-variant="primary"] { ... }
+ +/* Use component-specific selectors */
+ +.bui-ButtonIcon[data-variant="primary"] { ... }
+ +.bui-ButtonLink[data-variant="primary"] { ... }
+ ```
+
+ Affected components: ButtonIcon, ButtonLink
+
+- caeb9ad: **BREAKING**: The `cell` and `header` properties in `ColumnConfig` now return `ReactElement` instead of `ReactNode`.
+
+ This fixes an issue where React Aria's Collection component would inject an `id` prop into Fragment wrappers, causing "Invalid prop `id` supplied to `React.Fragment`" errors on render.
+
+ Migration:
+
+ ```diff
+ const columns: ColumnConfig[] = [
+ {
+ id: 'name',
+ label: 'Name',
+ - cell: (item) => item.name,
+ + cell: (item) => ,
+ - header: () => 'Name',
+ + header: () => Name ,
+ },
+ ];
+ ```
+
+### Patch Changes
+
+- 350c948: Fixed Box component to forward HTML attributes to the underlying div element.
+
+ **Affected components:** Box
+
+- 7455dae: Use node prefix on native imports
+
+- 508bd1a: Added new `Alert` component with support for status variants (info, success, warning, danger), icons, loading states, and custom actions.
+
+ Updated status color tokens for improved contrast and consistency across light and dark themes:
+
+ - Added new `--bui-bg-info` and `--bui-fg-info` tokens for info status
+ - Updated `--bui-bg-danger`, `--bui-fg-danger` tokens
+ - Updated `--bui-bg-warning`, `--bui-fg-warning` tokens
+ - Updated `--bui-bg-success`, `--bui-fg-success` tokens
+
+ **Affected components**: Alert
+
+- da30862: Fixed client-side navigation for container components by wrapping the container (not individual items) in RouterProvider. Components now conditionally provide routing context only when children have internal links, removing the Router context requirement when not needed. This also removes the need to wrap these components in MemoryRouter during tests when they are not using the `href` prop.
+
+ Additionally, when multiple tabs match the current URL via prefix matching, the tab with the most specific path (highest segment count) is now selected. For example, with URL `/catalog/users/john`, a tab with path `/catalog/users` is now selected over a tab with path `/catalog`.
+
+ Affected components: Tabs, Tab, TagGroup, Tag, Menu, MenuItem, MenuAutocomplete
+
+- 092c453: Fixed an infinite render loop in Tabs when navigating to a URL that doesn't match any tab `href`.
+
+- 5320aa8: Fixed components to not require a Router context when rendering without internal links.
+
+ Affected components: Link, ButtonLink, Row
+
+- cb090b4: Bump react-aria-components to v1.14.0
+
+- c429101: Fixed React 17 compatibility by using `useId` from `react-aria` instead of the built-in React hook which is only available in React 18+.
+
+- Updated dependencies
+ - @backstage/version-bridge@1.0.11
+
+## @backstage/plugin-app@0.4.0-next.0
+
+### Minor Changes
+
+- 7edb810: **BREAKING**: Extensions created with the following blueprints must now be provided via an override or a module for the `app` plugin. Extensions from other plugins will now trigger a warning in the app and be ignored.
+
+ - `IconBundleBlueprint`
+ - `NavContentBlueprint`
+ - `RouterBlueprint`
+ - `SignInPageBlueprint`
+ - `SwappableComponentBlueprint`
+ - `ThemeBlueprint`
+ - `TranslationBlueprint`
+
+### Patch Changes
+
+- 69d880e: Bump to latest zod to ensure it has the latest features
+- Updated dependencies
+ - @backstage/core-components@0.18.6-next.0
+ - @backstage/frontend-plugin-api@0.14.0-next.0
+ - @backstage/core-plugin-api@1.12.2-next.0
+ - @backstage/plugin-app-react@0.1.1-next.0
+ - @backstage/integration-react@1.2.15-next.0
+ - @backstage/theme@0.7.1
+ - @backstage/types@1.2.2
+ - @backstage/version-bridge@1.0.11
+ - @backstage/plugin-permission-react@0.4.40-next.0
+
+## @backstage/plugin-auth-backend-module-auth0-provider@0.3.0-next.0
+
+### Minor Changes
+
+- 36804fe: feat: Added organization option to authorization params of the strategy
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.7.0-next.0
+ - @backstage/plugin-auth-node@0.6.12-next.0
+
+## @backstage/plugin-auth-backend-module-github-provider@0.5.0-next.0
+
+### Minor Changes
+
+- ff07934: Added the `userIdMatchingUserEntityAnnotation` sign-in resolver that matches users by their GitHub user ID.
+
+### Patch Changes
+
+- 69d880e: Bump to latest zod to ensure it has the latest features
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.7.0-next.0
+ - @backstage/plugin-auth-node@0.6.12-next.0
+
+## @backstage/plugin-auth-backend-module-gitlab-provider@0.4.0-next.0
+
+### Minor Changes
+
+- ff07934: Added the `{gitlab-integration-host}/user-id` annotation to store GitLab's user ID (immutable) in user entities. Also includes addition of the `userIdMatchingUserEntityAnnotation` sign-in resolver that matches users by the new ID.
+
+### Patch Changes
+
+- 69d880e: Bump to latest zod to ensure it has the latest features
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.7.0-next.0
+ - @backstage/plugin-auth-node@0.6.12-next.0
+
+## @backstage/plugin-catalog-backend@3.4.0-next.0
+
+### Minor Changes
+
+- f1d29b4: Failures to connect catalog providers are now attributed to the module that provided the failing provider. This means that such failures will be reported as module startup failures rather than a failure to start the catalog plugin, and will therefore respect `onPluginModuleBootFailure` configuration instead.
+
+### Patch Changes
+
+- cfd8103: Updated imports to use stable catalog extension points from `@backstage/plugin-catalog-node` instead of the deprecated alpha exports.
+- 7455dae: Use node prefix on native imports
+- 1e669cc: Migrate audit events reference docs to .
+- 69d880e: Bump to latest zod to ensure it has the latest features
+- Updated dependencies
+ - @backstage/plugin-catalog-node@1.21.0-next.0
+ - @backstage/backend-openapi-utils@0.6.6-next.0
+ - @backstage/backend-plugin-api@1.7.0-next.0
+ - @backstage/integration@1.19.3-next.0
+ - @backstage/plugin-permission-common@0.9.5-next.0
+ - @backstage/plugin-permission-node@0.10.9-next.0
+ - @backstage/plugin-events-node@0.4.19-next.0
+ - @backstage/catalog-client@1.12.1
+ - @backstage/catalog-model@1.7.6
+ - @backstage/config@1.3.6
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.2
+ - @backstage/plugin-catalog-common@1.1.8-next.0
+
+## @backstage/plugin-catalog-backend-module-gitlab@0.8.0-next.0
+
+### Minor Changes
+
+- ff07934: Added the `{gitlab-integration-host}/user-id` annotation to store GitLab's user ID (immutable) in user entities. Also includes addition of the `userIdMatchingUserEntityAnnotation` sign-in resolver that matches users by the new ID.
+
+### Patch Changes
+
+- cfd8103: Updated imports to use stable catalog extension points from `@backstage/plugin-catalog-node` instead of the deprecated alpha exports.
+- 7455dae: Use node prefix on native imports
+- Updated dependencies
+ - @backstage/plugin-catalog-node@1.21.0-next.0
+ - @backstage/backend-plugin-api@1.7.0-next.0
+ - @backstage/backend-defaults@0.15.1-next.0
+ - @backstage/integration@1.19.3-next.0
+ - @backstage/plugin-events-node@0.4.19-next.0
+ - @backstage/catalog-model@1.7.6
+ - @backstage/config@1.3.6
+ - @backstage/plugin-catalog-common@1.1.8-next.0
+
+## @backstage/plugin-catalog-node@1.21.0-next.0
+
+### Minor Changes
+
+- cfd8103: Promoted stable catalog extension points from alpha to main export. The following extension points are now exported from `@backstage/plugin-catalog-node` instead of `@backstage/plugin-catalog-node/alpha`:
+
+ - `catalogLocationsExtensionPoint` and `CatalogLocationsExtensionPoint`
+ - `catalogProcessingExtensionPoint` and `CatalogProcessingExtensionPoint`
+ - `catalogAnalysisExtensionPoint` and `CatalogAnalysisExtensionPoint`
+
+ The old alpha exports for these extension points are now deprecated with `@deprecated` markers pointing to the new stable exports. Please update your imports from `@backstage/plugin-catalog-node/alpha` to `@backstage/plugin-catalog-node`.
+
+ Note: The `catalogModelExtensionPoint`, `catalogPermissionExtensionPoint`, and related types remain in alpha.
+
+### Patch Changes
+
+- 7455dae: Use node prefix on native imports
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.7.0-next.0
+ - @backstage/plugin-permission-common@0.9.5-next.0
+ - @backstage/plugin-permission-node@0.10.9-next.0
+ - @backstage/catalog-client@1.12.1
+ - @backstage/catalog-model@1.7.6
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.2
+ - @backstage/plugin-catalog-common@1.1.8-next.0
+
+## @backstage/app-defaults@1.7.5-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-components@0.18.6-next.0
+ - @backstage/core-plugin-api@1.12.2-next.0
+ - @backstage/core-app-api@1.19.4-next.0
+ - @backstage/theme@0.7.1
+ - @backstage/plugin-permission-react@0.4.40-next.0
+
+## @backstage/backend-defaults@0.15.1-next.0
+
+### Patch Changes
+
+- 7455dae: Use node prefix on native imports
+- 44f5d04: Minor internal restructure of the postgres config loading code
+- 4fc7bf0: Bump to tar v7
+- 69d880e: Bump to latest zod to ensure it has the latest features
+- Updated dependencies
+ - @backstage/integration-aws-node@0.1.20-next.0
+ - @backstage/backend-plugin-api@1.7.0-next.0
+ - @backstage/backend-dev-utils@0.1.7-next.0
+ - @backstage/config-loader@1.10.8-next.0
+ - @backstage/integration@1.19.3-next.0
+ - @backstage/cli-node@0.2.17-next.0
+ - @backstage/plugin-auth-node@0.6.12-next.0
+ - @backstage/backend-app-api@1.5.0-next.0
+ - @backstage/plugin-permission-node@0.10.9-next.0
+ - @backstage/plugin-events-node@0.4.19-next.0
+ - @backstage/config@1.3.6
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.2
+
+## @backstage/backend-dev-utils@0.1.7-next.0
+
+### Patch Changes
+
+- 7455dae: Use node prefix on native imports
+
+## @backstage/backend-dynamic-feature-service@0.7.9-next.0
+
+### Patch Changes
+
+- 7455dae: Use node prefix on native imports
+- Updated dependencies
+ - @backstage/plugin-catalog-backend@3.4.0-next.0
+ - @backstage/backend-openapi-utils@0.6.6-next.0
+ - @backstage/backend-plugin-api@1.7.0-next.0
+ - @backstage/plugin-search-backend-node@1.4.1-next.0
+ - @backstage/backend-defaults@0.15.1-next.0
+ - @backstage/plugin-scaffolder-node@0.12.4-next.0
+ - @backstage/config-loader@1.10.8-next.0
+ - @backstage/plugin-events-backend@0.5.11-next.0
+ - @backstage/plugin-search-common@1.2.22-next.0
+ - @backstage/cli-common@0.1.18-next.0
+ - @backstage/cli-node@0.2.17-next.0
+ - @backstage/plugin-auth-node@0.6.12-next.0
+ - @backstage/plugin-app-node@0.1.42-next.0
+ - @backstage/plugin-permission-common@0.9.5-next.0
+ - @backstage/plugin-permission-node@0.10.9-next.0
+ - @backstage/plugin-events-node@0.4.19-next.0
+ - @backstage/config@1.3.6
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.2
+
+## @backstage/backend-openapi-utils@0.6.6-next.0
+
+### Patch Changes
+
+- 7455dae: Use node prefix on native imports
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.7.0-next.0
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.2
+
+## @backstage/backend-test-utils@1.10.4-next.0
+
+### Patch Changes
+
+- f1d29b4: Updated `startTestBackend` to support factory-based extension points (v1.1 format) in addition to the existing direct implementation format.
+- 7455dae: Use node prefix on native imports
+- 69d880e: Bump to latest zod to ensure it has the latest features
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.7.0-next.0
+ - @backstage/backend-defaults@0.15.1-next.0
+ - @backstage/plugin-auth-node@0.6.12-next.0
+ - @backstage/backend-app-api@1.5.0-next.0
+ - @backstage/plugin-permission-common@0.9.5-next.0
+ - @backstage/plugin-events-node@0.4.19-next.0
+ - @backstage/config@1.3.6
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.2
+
+## @backstage/cli@0.35.3-next.0
+
+### Patch Changes
+
+- cfd8103: Updated catalog provider module template to use stable catalog extension points from `@backstage/plugin-catalog-node` instead of alpha exports.
+- 7455dae: Use node prefix on native imports
+- 4fc7bf0: Bump to tar v7
+- 122d39c: Completely removed support for the deprecated `app.experimental.packages` configuration. Replace existing usage directly with `app.packages`.
+- 69d880e: Bump to latest zod to ensure it has the latest features
+- Updated dependencies
+ - @backstage/config-loader@1.10.8-next.0
+ - @backstage/eslint-plugin@0.2.1-next.0
+ - @backstage/integration@1.19.3-next.0
+ - @backstage/cli-common@0.1.18-next.0
+ - @backstage/cli-node@0.2.17-next.0
+ - @backstage/catalog-model@1.7.6
+ - @backstage/config@1.3.6
+ - @backstage/errors@1.2.7
+ - @backstage/release-manifests@0.0.13
+ - @backstage/types@1.2.2
+
+## @backstage/cli-common@0.1.18-next.0
+
+### Patch Changes
+
+- 7455dae: Use node prefix on native imports
+- Updated dependencies
+ - @backstage/errors@1.2.7
+
+## @backstage/cli-node@0.2.17-next.0
+
+### Patch Changes
+
+- 7455dae: Use node prefix on native imports
+- 69d880e: Bump to latest zod to ensure it has the latest features
+- Updated dependencies
+ - @backstage/cli-common@0.1.18-next.0
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.2
+
+## @backstage/codemods@0.1.54-next.0
+
+### Patch Changes
+
+- 7455dae: Use node prefix on native imports
+- Updated dependencies
+ - @backstage/cli-common@0.1.18-next.0
+
+## @backstage/config-loader@1.10.8-next.0
+
+### Patch Changes
+
+- 7455dae: Use node prefix on native imports
+- Updated dependencies
+ - @backstage/cli-common@0.1.18-next.0
+ - @backstage/config@1.3.6
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.2
+
+## @backstage/core-app-api@1.19.4-next.0
+
+### Patch Changes
+
+- 69d880e: Bump to latest zod to ensure it has the latest features
+- Updated dependencies
+ - @backstage/core-plugin-api@1.12.2-next.0
+ - @backstage/config@1.3.6
+ - @backstage/types@1.2.2
+ - @backstage/version-bridge@1.0.11
+
+## @backstage/core-compat-api@0.5.7-next.0
+
+### Patch Changes
+
+- c38b74d: Internal updates for blueprint moves to `@backstage/plugin-app-react`.
+- 53b6549: Plugins in the new frontend system now have a `pluginId` field rather than `id` to better align with naming conventions used throughout the frontend and backend systems. The old field is still present but marked as deprecated. All internal code has been updated to prefer `pluginId` while maintaining backward compatibility by falling back to `id` when needed.
+- 69d880e: Bump to latest zod to ensure it has the latest features
+- Updated dependencies
+ - @backstage/plugin-catalog-react@1.21.6-next.0
+ - @backstage/frontend-plugin-api@0.14.0-next.0
+ - @backstage/core-plugin-api@1.12.2-next.0
+ - @backstage/plugin-app-react@0.1.1-next.0
+ - @backstage/types@1.2.2
+ - @backstage/version-bridge@1.0.11
+
+## @backstage/core-components@0.18.6-next.0
+
+### Patch Changes
+
+- 7455dae: Use node prefix on native imports
+- cebfea7: Removed link styles from LinkButton to avoid styling inconsistencies related to import order.
+- 69d880e: Bump to latest zod to ensure it has the latest features
+- Updated dependencies
+ - @backstage/core-plugin-api@1.12.2-next.0
+ - @backstage/config@1.3.6
+ - @backstage/errors@1.2.7
+ - @backstage/theme@0.7.1
+ - @backstage/version-bridge@1.0.11
+
+## @backstage/core-plugin-api@1.12.2-next.0
+
+### Patch Changes
+
+- 53b6549: Plugins in the new frontend system now have a `pluginId` field rather than `id` to better align with naming conventions used throughout the frontend and backend systems. The old field is still present but marked as deprecated. All internal code has been updated to prefer `pluginId` while maintaining backward compatibility by falling back to `id` when needed.
+- 69d880e: Bump to latest zod to ensure it has the latest features
+- Updated dependencies
+ - @backstage/frontend-plugin-api@0.14.0-next.0
+ - @backstage/config@1.3.6
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.2
+ - @backstage/version-bridge@1.0.11
+
+## @backstage/create-app@0.7.9-next.0
+
+### Patch Changes
+
+- 7455dae: Use node prefix on native imports
+- c38b74d: Switched `next-app` template to use blueprint from `@backstage/plugin-app-react`.
+- Updated dependencies
+ - @backstage/cli-common@0.1.18-next.0
+
+## @backstage/dev-utils@1.1.20-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-catalog-react@1.21.6-next.0
+ - @backstage/ui@0.12.0-next.0
+ - @backstage/core-components@0.18.6-next.0
+ - @backstage/core-plugin-api@1.12.2-next.0
+ - @backstage/core-app-api@1.19.4-next.0
+ - @backstage/app-defaults@1.7.5-next.0
+ - @backstage/catalog-model@1.7.6
+ - @backstage/integration-react@1.2.15-next.0
+ - @backstage/theme@0.7.1
+
+## @backstage/e2e-test-utils@0.1.2-next.0
+
+### Patch Changes
+
+- 7455dae: Use node prefix on native imports
+
+## @backstage/eslint-plugin@0.2.1-next.0
+
+### Patch Changes
+
+- 7455dae: Use node prefix on native imports
+
+## @backstage/frontend-app-api@0.14.1-next.0
+
+### Patch Changes
+
+- 17e0eb3: Updated the behavior of the new API override logic to log a deprecation warning instead of rejecting the override and blocking app startup, as was originally intended.
+
+- 7edb810: Implemented support for the `internal` extension input option.
+
+- 492503a: Updated error reporting and app tree resolution logic to attribute errors to the correct extension and allow app startup to proceed more optimistically:
+
+ - If an attachment fails to provide the required input data, the error is now attributed to the attachment rather than the parent extension.
+ - Singleton extension inputs will now only forward attachment errors if the input is required.
+ - Array extension inputs will now filter out failed attachments instead of failing the entire app tree resolution.
+
+- 122d39c: Completely removed support for the deprecated `app.experimental.packages` configuration. Replace existing usage directly with `app.packages`.
+
+- 9554c36: **DEPRECATED**: Deprecated support for multiple attachment points.
+
+- 53b6549: Plugins in the new frontend system now have a `pluginId` field rather than `id` to better align with naming conventions used throughout the frontend and backend systems. The old field is still present but marked as deprecated. All internal code has been updated to prefer `pluginId` while maintaining backward compatibility by falling back to `id` when needed.
+
+- 69d880e: Bump to latest zod to ensure it has the latest features
+
+- Updated dependencies
+ - @backstage/frontend-defaults@0.3.6-next.0
+ - @backstage/frontend-plugin-api@0.14.0-next.0
+ - @backstage/core-plugin-api@1.12.2-next.0
+ - @backstage/core-app-api@1.19.4-next.0
+ - @backstage/config@1.3.6
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.2
+ - @backstage/version-bridge@1.0.11
+
+## @backstage/frontend-defaults@0.3.6-next.0
+
+### Patch Changes
+
+- 17e0eb3: The `API_FACTORY_CONFLICT` error is now treated as a warning and will not prevent the app from starting.
+- 122d39c: Completely removed support for the deprecated `app.experimental.packages` configuration. Replace existing usage directly with `app.packages`.
+- c38b74d: Dependency update for tests.
+- 53b6549: Plugins in the new frontend system now have a `pluginId` field rather than `id` to better align with naming conventions used throughout the frontend and backend systems. The old field is still present but marked as deprecated. All internal code has been updated to prefer `pluginId` while maintaining backward compatibility by falling back to `id` when needed.
+- Updated dependencies
+ - @backstage/frontend-app-api@0.14.1-next.0
+ - @backstage/core-components@0.18.6-next.0
+ - @backstage/frontend-plugin-api@0.14.0-next.0
+ - @backstage/plugin-app@0.4.0-next.0
+ - @backstage/config@1.3.6
+ - @backstage/errors@1.2.7
+
+## @backstage/frontend-dynamic-feature-loader@0.1.9-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/frontend-plugin-api@0.14.0-next.0
+ - @backstage/config@1.3.6
+
+## @backstage/frontend-test-utils@0.4.5-next.0
+
+### Patch Changes
+
+- d7dd5bd: Fixed Router deprecation warning and switched to using new `RouterBlueprint` from `@backstage/plugin-app-api`.
+- 69d880e: Bump to latest zod to ensure it has the latest features
+- Updated dependencies
+ - @backstage/frontend-app-api@0.14.1-next.0
+ - @backstage/frontend-plugin-api@0.14.0-next.0
+ - @backstage/plugin-app@0.4.0-next.0
+ - @backstage/plugin-app-react@0.1.1-next.0
+ - @backstage/config@1.3.6
+ - @backstage/test-utils@1.7.15-next.0
+ - @backstage/types@1.2.2
+ - @backstage/version-bridge@1.0.11
+
+## @backstage/integration@1.19.3-next.0
+
+### Patch Changes
+
+- 7455dae: Use node prefix on native imports
+- Updated dependencies
+ - @backstage/config@1.3.6
+ - @backstage/errors@1.2.7
+
+## @backstage/integration-aws-node@0.1.20-next.0
+
+### Patch Changes
+
+- 7455dae: Use node prefix on native imports
+- Updated dependencies
+ - @backstage/config@1.3.6
+ - @backstage/errors@1.2.7
+
+## @backstage/integration-react@1.2.15-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/integration@1.19.3-next.0
+ - @backstage/core-plugin-api@1.12.2-next.0
+ - @backstage/config@1.3.6
+
+## @backstage/repo-tools@0.16.3-next.0
+
+### Patch Changes
+
+- cd75ed0: Add newline to OpenAPI license template files.
+- 7455dae: Use node prefix on native imports
+- 4fc7bf0: Bump to tar v7
+- 69d880e: Bump to latest zod to ensure it has the latest features
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.7.0-next.0
+ - @backstage/config-loader@1.10.8-next.0
+ - @backstage/cli-common@0.1.18-next.0
+ - @backstage/cli-node@0.2.17-next.0
+ - @backstage/catalog-model@1.7.6
+ - @backstage/errors@1.2.7
+
+## @techdocs/cli@1.10.5-next.0
+
+### Patch Changes
+
+- 7455dae: Use node prefix on native imports
+- Updated dependencies
+ - @backstage/backend-defaults@0.15.1-next.0
+ - @backstage/plugin-techdocs-node@1.14.1-next.0
+ - @backstage/cli-common@0.1.18-next.0
+ - @backstage/catalog-model@1.7.6
+ - @backstage/config@1.3.6
+
+## @backstage/test-utils@1.7.15-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-plugin-api@1.12.2-next.0
+ - @backstage/plugin-permission-common@0.9.5-next.0
+ - @backstage/core-app-api@1.19.4-next.0
+ - @backstage/config@1.3.6
+ - @backstage/theme@0.7.1
+ - @backstage/types@1.2.2
+ - @backstage/plugin-permission-react@0.4.40-next.0
+
+## @backstage/plugin-api-docs@0.13.4-next.0
+
+### Patch Changes
+
+- 7455dae: Use node prefix on native imports
+- Updated dependencies
+ - @backstage/plugin-catalog-react@1.21.6-next.0
+ - @backstage/core-components@0.18.6-next.0
+ - @backstage/frontend-plugin-api@0.14.0-next.0
+ - @backstage/core-plugin-api@1.12.2-next.0
+ - @backstage/plugin-catalog@1.32.3-next.0
+ - @backstage/catalog-model@1.7.6
+ - @backstage/plugin-catalog-common@1.1.8-next.0
+ - @backstage/plugin-permission-react@0.4.40-next.0
+
+## @backstage/plugin-app-backend@0.5.11-next.0
+
+### Patch Changes
+
+- 7455dae: Use node prefix on native imports
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.7.0-next.0
+ - @backstage/config-loader@1.10.8-next.0
+ - @backstage/plugin-auth-node@0.6.12-next.0
+ - @backstage/plugin-app-node@0.1.42-next.0
+ - @backstage/config@1.3.6
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.2
+
+## @backstage/plugin-app-node@0.1.42-next.0
+
+### Patch Changes
+
+- 7455dae: Use node prefix on native imports
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.7.0-next.0
+ - @backstage/config-loader@1.10.8-next.0
+
+## @backstage/plugin-app-react@0.1.1-next.0
+
+### Patch Changes
+
+- 409af72: Internal refactor to move implementation of blueprints from `@backstage/frontend-plugin-api` to this package.
+- Updated dependencies
+ - @backstage/frontend-plugin-api@0.14.0-next.0
+ - @backstage/core-plugin-api@1.12.2-next.0
+
+## @backstage/plugin-app-visualizer@0.1.28-next.0
+
+### Patch Changes
+
+- cb090b4: Bump react-aria-components to v1.14.0
+- c38b74d: Internal updates for blueprint moves to `@backstage/plugin-app-react`.
+- 4d50e1f: Improved rendering performance of the details page.
+- Updated dependencies
+ - @backstage/ui@0.12.0-next.0
+ - @backstage/core-components@0.18.6-next.0
+ - @backstage/frontend-plugin-api@0.14.0-next.0
+ - @backstage/core-plugin-api@1.12.2-next.0
+
+## @backstage/plugin-auth@0.1.5-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-components@0.18.6-next.0
+ - @backstage/frontend-plugin-api@0.14.0-next.0
+ - @backstage/errors@1.2.7
+ - @backstage/theme@0.7.1
+
+## @backstage/plugin-auth-backend@0.26.1-next.0
+
+### Patch Changes
+
+- 7455dae: Use node prefix on native imports
+- Updated dependencies
+ - @backstage/plugin-catalog-node@1.21.0-next.0
+ - @backstage/backend-plugin-api@1.7.0-next.0
+ - @backstage/plugin-auth-node@0.6.12-next.0
+ - @backstage/catalog-model@1.7.6
+ - @backstage/config@1.3.6
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.2
+
+## @backstage/plugin-auth-backend-module-atlassian-provider@0.4.11-next.0
+
+### Patch Changes
+
+- 69d880e: Bump to latest zod to ensure it has the latest features
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.7.0-next.0
+ - @backstage/plugin-auth-node@0.6.12-next.0
+
+## @backstage/plugin-auth-backend-module-aws-alb-provider@0.4.12-next.0
+
+### Patch Changes
+
+- 7455dae: Use node prefix on native imports
+- 69d880e: Bump to latest zod to ensure it has the latest features
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.7.0-next.0
+ - @backstage/plugin-auth-backend@0.26.1-next.0
+ - @backstage/plugin-auth-node@0.6.12-next.0
+ - @backstage/errors@1.2.7
+
+## @backstage/plugin-auth-backend-module-azure-easyauth-provider@0.2.16-next.0
+
+### Patch Changes
+
+- 7455dae: Use node prefix on native imports
+- 69d880e: Bump to latest zod to ensure it has the latest features
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.7.0-next.0
+ - @backstage/plugin-auth-node@0.6.12-next.0
+ - @backstage/catalog-model@1.7.6
+ - @backstage/errors@1.2.7
+
+## @backstage/plugin-auth-backend-module-bitbucket-provider@0.3.11-next.0
+
+### Patch Changes
+
+- 69d880e: Bump to latest zod to ensure it has the latest features
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.7.0-next.0
+ - @backstage/plugin-auth-node@0.6.12-next.0
+
+## @backstage/plugin-auth-backend-module-bitbucket-server-provider@0.2.11-next.0
+
+### Patch Changes
+
+- 69d880e: Bump to latest zod to ensure it has the latest features
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.7.0-next.0
+ - @backstage/plugin-auth-node@0.6.12-next.0
+
+## @backstage/plugin-auth-backend-module-cloudflare-access-provider@0.4.11-next.0
+
+### Patch Changes
+
+- 69d880e: Bump to latest zod to ensure it has the latest features
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.7.0-next.0
+ - @backstage/plugin-auth-node@0.6.12-next.0
+ - @backstage/config@1.3.6
+ - @backstage/errors@1.2.7
+
+## @backstage/plugin-auth-backend-module-gcp-iap-provider@0.4.11-next.0
+
+### Patch Changes
+
+- 69d880e: Bump to latest zod to ensure it has the latest features
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.7.0-next.0
+ - @backstage/plugin-auth-node@0.6.12-next.0
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.2
+
+## @backstage/plugin-auth-backend-module-google-provider@0.3.11-next.0
+
+### Patch Changes
+
+- 69d880e: Bump to latest zod to ensure it has the latest features
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.7.0-next.0
+ - @backstage/plugin-auth-node@0.6.12-next.0
+
+## @backstage/plugin-auth-backend-module-guest-provider@0.2.16-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.7.0-next.0
+ - @backstage/plugin-auth-node@0.6.12-next.0
+ - @backstage/catalog-model@1.7.6
+ - @backstage/errors@1.2.7
+
+## @backstage/plugin-auth-backend-module-microsoft-provider@0.3.11-next.0
+
+### Patch Changes
+
+- 69d880e: Bump to latest zod to ensure it has the latest features
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.7.0-next.0
+ - @backstage/plugin-auth-node@0.6.12-next.0
+
+## @backstage/plugin-auth-backend-module-oauth2-provider@0.4.11-next.0
+
+### Patch Changes
+
+- 69d880e: Bump to latest zod to ensure it has the latest features
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.7.0-next.0
+ - @backstage/plugin-auth-node@0.6.12-next.0
+
+## @backstage/plugin-auth-backend-module-oauth2-proxy-provider@0.2.16-next.0
+
+### Patch Changes
+
+- 7455dae: Use node prefix on native imports
+- 69d880e: Bump to latest zod to ensure it has the latest features
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.7.0-next.0
+ - @backstage/plugin-auth-node@0.6.12-next.0
+ - @backstage/errors@1.2.7
+
+## @backstage/plugin-auth-backend-module-oidc-provider@0.4.12-next.0
+
+### Patch Changes
+
+- 7455dae: Use node prefix on native imports
+- 69d880e: Bump to latest zod to ensure it has the latest features
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.7.0-next.0
+ - @backstage/plugin-auth-backend@0.26.1-next.0
+ - @backstage/plugin-auth-node@0.6.12-next.0
+ - @backstage/config@1.3.6
+ - @backstage/types@1.2.2
+
+## @backstage/plugin-auth-backend-module-okta-provider@0.2.11-next.0
+
+### Patch Changes
+
+- 69d880e: Bump to latest zod to ensure it has the latest features
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.7.0-next.0
+ - @backstage/plugin-auth-node@0.6.12-next.0
+
+## @backstage/plugin-auth-backend-module-onelogin-provider@0.3.11-next.0
+
+### Patch Changes
+
+- 69d880e: Bump to latest zod to ensure it has the latest features
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.7.0-next.0
+ - @backstage/plugin-auth-node@0.6.12-next.0
+
+## @backstage/plugin-auth-backend-module-openshift-provider@0.1.4-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.7.0-next.0
+ - @backstage/plugin-auth-node@0.6.12-next.0
+ - @backstage/catalog-model@1.7.6
+ - @backstage/types@1.2.2
+
+## @backstage/plugin-auth-backend-module-pinniped-provider@0.3.11-next.0
+
+### Patch Changes
+
+- 7455dae: Use node prefix on native imports
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.7.0-next.0
+ - @backstage/plugin-auth-node@0.6.12-next.0
+ - @backstage/config@1.3.6
+ - @backstage/types@1.2.2
+
+## @backstage/plugin-auth-backend-module-vmware-cloud-provider@0.5.11-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.7.0-next.0
+ - @backstage/plugin-auth-node@0.6.12-next.0
+ - @backstage/catalog-model@1.7.6
+
+## @backstage/plugin-auth-node@0.6.12-next.0
+
+### Patch Changes
+
+- 7455dae: Use node prefix on native imports
+- 69d880e: Bump to latest zod to ensure it has the latest features
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.7.0-next.0
+ - @backstage/catalog-client@1.12.1
+ - @backstage/catalog-model@1.7.6
+ - @backstage/config@1.3.6
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.2
+
+## @backstage/plugin-auth-react@0.1.24-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-components@0.18.6-next.0
+ - @backstage/core-plugin-api@1.12.2-next.0
+ - @backstage/errors@1.2.7
+
+## @backstage/plugin-bitbucket-cloud-common@0.3.7-next.0
+
+### Patch Changes
+
+- 7455dae: Use node prefix on native imports
+- Updated dependencies
+ - @backstage/integration@1.19.3-next.0
+
+## @backstage/plugin-catalog@1.32.3-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-catalog-react@1.21.6-next.0
+ - @backstage/core-components@0.18.6-next.0
+ - @backstage/plugin-search-common@1.2.22-next.0
+ - @backstage/core-compat-api@0.5.7-next.0
+ - @backstage/frontend-plugin-api@0.14.0-next.0
+ - @backstage/core-plugin-api@1.12.2-next.0
+ - @backstage/plugin-techdocs-react@1.3.8-next.0
+ - @backstage/plugin-search-react@1.10.3-next.0
+ - @backstage/catalog-client@1.12.1
+ - @backstage/catalog-model@1.7.6
+ - @backstage/errors@1.2.7
+ - @backstage/integration-react@1.2.15-next.0
+ - @backstage/types@1.2.2
+ - @backstage/version-bridge@1.0.11
+ - @backstage/plugin-catalog-common@1.1.8-next.0
+ - @backstage/plugin-permission-react@0.4.40-next.0
+ - @backstage/plugin-scaffolder-common@1.7.6-next.0
+ - @backstage/plugin-techdocs-common@0.1.1
+
+## @backstage/plugin-catalog-backend-module-aws@0.4.20-next.0
+
+### Patch Changes
+
+- cfd8103: Updated imports to use stable catalog extension points from `@backstage/plugin-catalog-node` instead of the deprecated alpha exports.
+- 7455dae: Use node prefix on native imports
+- Updated dependencies
+ - @backstage/plugin-catalog-node@1.21.0-next.0
+ - @backstage/integration-aws-node@0.1.20-next.0
+ - @backstage/backend-plugin-api@1.7.0-next.0
+ - @backstage/backend-defaults@0.15.1-next.0
+ - @backstage/integration@1.19.3-next.0
+ - @backstage/catalog-model@1.7.6
+ - @backstage/config@1.3.6
+ - @backstage/errors@1.2.7
+ - @backstage/plugin-catalog-common@1.1.8-next.0
+ - @backstage/plugin-kubernetes-common@0.9.10-next.0
+
+## @backstage/plugin-catalog-backend-module-azure@0.3.14-next.0
+
+### Patch Changes
+
+- cfd8103: Updated imports to use stable catalog extension points from `@backstage/plugin-catalog-node` instead of the deprecated alpha exports.
+- Updated dependencies
+ - @backstage/plugin-catalog-node@1.21.0-next.0
+ - @backstage/backend-plugin-api@1.7.0-next.0
+ - @backstage/integration@1.19.3-next.0
+ - @backstage/config@1.3.6
+ - @backstage/plugin-catalog-common@1.1.8-next.0
+
+## @backstage/plugin-catalog-backend-module-backstage-openapi@0.5.11-next.0
+
+### Patch Changes
+
+- cfd8103: Updated imports to use stable catalog extension points from `@backstage/plugin-catalog-node` instead of the deprecated alpha exports.
+- Updated dependencies
+ - @backstage/plugin-catalog-node@1.21.0-next.0
+ - @backstage/backend-openapi-utils@0.6.6-next.0
+ - @backstage/backend-plugin-api@1.7.0-next.0
+ - @backstage/catalog-model@1.7.6
+ - @backstage/config@1.3.6
+ - @backstage/errors@1.2.7
+
+## @backstage/plugin-catalog-backend-module-bitbucket-cloud@0.5.8-next.0
+
+### Patch Changes
+
+- cfd8103: Updated imports to use stable catalog extension points from `@backstage/plugin-catalog-node` instead of the deprecated alpha exports.
+- Updated dependencies
+ - @backstage/plugin-catalog-node@1.21.0-next.0
+ - @backstage/plugin-bitbucket-cloud-common@0.3.7-next.0
+ - @backstage/backend-plugin-api@1.7.0-next.0
+ - @backstage/integration@1.19.3-next.0
+ - @backstage/plugin-events-node@0.4.19-next.0
+ - @backstage/catalog-model@1.7.6
+ - @backstage/config@1.3.6
+ - @backstage/plugin-catalog-common@1.1.8-next.0
+
+## @backstage/plugin-catalog-backend-module-bitbucket-server@0.5.8-next.0
+
+### Patch Changes
+
+- cfd8103: Updated imports to use stable catalog extension points from `@backstage/plugin-catalog-node` instead of the deprecated alpha exports.
+- Updated dependencies
+ - @backstage/plugin-catalog-node@1.21.0-next.0
+ - @backstage/backend-plugin-api@1.7.0-next.0
+ - @backstage/integration@1.19.3-next.0
+ - @backstage/plugin-events-node@0.4.19-next.0
+ - @backstage/catalog-model@1.7.6
+ - @backstage/config@1.3.6
+ - @backstage/errors@1.2.7
+ - @backstage/plugin-catalog-common@1.1.8-next.0
+
+## @backstage/plugin-catalog-backend-module-gcp@0.3.16-next.0
+
+### Patch Changes
+
+- cfd8103: Updated imports to use stable catalog extension points from `@backstage/plugin-catalog-node` instead of the deprecated alpha exports.
+- Updated dependencies
+ - @backstage/plugin-catalog-node@1.21.0-next.0
+ - @backstage/backend-plugin-api@1.7.0-next.0
+ - @backstage/catalog-model@1.7.6
+ - @backstage/config@1.3.6
+ - @backstage/plugin-kubernetes-common@0.9.10-next.0
+
+## @backstage/plugin-catalog-backend-module-gerrit@0.3.11-next.0
+
+### Patch Changes
+
+- cfd8103: Updated imports to use stable catalog extension points from `@backstage/plugin-catalog-node` instead of the deprecated alpha exports.
+- 7455dae: Use node prefix on native imports
+- Updated dependencies
+ - @backstage/plugin-catalog-node@1.21.0-next.0
+ - @backstage/backend-plugin-api@1.7.0-next.0
+ - @backstage/integration@1.19.3-next.0
+ - @backstage/config@1.3.6
+ - @backstage/errors@1.2.7
+ - @backstage/plugin-catalog-common@1.1.8-next.0
+
+## @backstage/plugin-catalog-backend-module-gitea@0.1.9-next.0
+
+### Patch Changes
+
+- cfd8103: Updated imports to use stable catalog extension points from `@backstage/plugin-catalog-node` instead of the deprecated alpha exports.
+- Updated dependencies
+ - @backstage/plugin-catalog-node@1.21.0-next.0
+ - @backstage/backend-plugin-api@1.7.0-next.0
+ - @backstage/integration@1.19.3-next.0
+ - @backstage/config@1.3.6
+ - @backstage/errors@1.2.7
+ - @backstage/plugin-catalog-common@1.1.8-next.0
+
+## @backstage/plugin-catalog-backend-module-github@0.12.2-next.0
+
+### Patch Changes
+
+- cfd8103: Updated imports to use stable catalog extension points from `@backstage/plugin-catalog-node` instead of the deprecated alpha exports.
+- 7455dae: Use node prefix on native imports
+- Updated dependencies
+ - @backstage/plugin-catalog-node@1.21.0-next.0
+ - @backstage/backend-plugin-api@1.7.0-next.0
+ - @backstage/integration@1.19.3-next.0
+ - @backstage/plugin-events-node@0.4.19-next.0
+ - @backstage/catalog-model@1.7.6
+ - @backstage/config@1.3.6
+ - @backstage/plugin-catalog-common@1.1.8-next.0
+
+## @backstage/plugin-catalog-backend-module-github-org@0.3.19-next.0
+
+### Patch Changes
+
+- cfd8103: Updated imports to use stable catalog extension points from `@backstage/plugin-catalog-node` instead of the deprecated alpha exports.
+- Updated dependencies
+ - @backstage/plugin-catalog-backend-module-github@0.12.2-next.0
+ - @backstage/plugin-catalog-node@1.21.0-next.0
+ - @backstage/backend-plugin-api@1.7.0-next.0
+ - @backstage/plugin-events-node@0.4.19-next.0
+ - @backstage/config@1.3.6
+
+## @backstage/plugin-catalog-backend-module-gitlab-org@0.2.18-next.0
+
+### Patch Changes
+
+- cfd8103: Updated imports to use stable catalog extension points from `@backstage/plugin-catalog-node` instead of the deprecated alpha exports.
+- Updated dependencies
+ - @backstage/plugin-catalog-backend-module-gitlab@0.8.0-next.0
+ - @backstage/plugin-catalog-node@1.21.0-next.0
+ - @backstage/backend-plugin-api@1.7.0-next.0
+ - @backstage/plugin-events-node@0.4.19-next.0
+
+## @backstage/plugin-catalog-backend-module-incremental-ingestion@0.7.9-next.0
+
+### Patch Changes
+
+- cfd8103: Updated imports to use stable catalog extension points from `@backstage/plugin-catalog-node` instead of the deprecated alpha exports.
+- 7455dae: Use node prefix on native imports
+- Updated dependencies
+ - @backstage/plugin-catalog-backend@3.4.0-next.0
+ - @backstage/plugin-catalog-node@1.21.0-next.0
+ - @backstage/backend-plugin-api@1.7.0-next.0
+ - @backstage/backend-defaults@0.15.1-next.0
+ - @backstage/plugin-permission-common@0.9.5-next.0
+ - @backstage/plugin-events-node@0.4.19-next.0
+ - @backstage/catalog-model@1.7.6
+ - @backstage/config@1.3.6
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.2
+
+## @backstage/plugin-catalog-backend-module-ldap@0.12.2-next.0
+
+### Patch Changes
+
+- cfd8103: Updated imports to use stable catalog extension points from `@backstage/plugin-catalog-node` instead of the deprecated alpha exports.
+- 7455dae: Use node prefix on native imports
+- Updated dependencies
+ - @backstage/plugin-catalog-node@1.21.0-next.0
+ - @backstage/backend-plugin-api@1.7.0-next.0
+ - @backstage/catalog-model@1.7.6
+ - @backstage/config@1.3.6
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.2
+ - @backstage/plugin-catalog-common@1.1.8-next.0
+
+## @backstage/plugin-catalog-backend-module-logs@0.1.19-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-catalog-backend@3.4.0-next.0
+ - @backstage/backend-plugin-api@1.7.0-next.0
+ - @backstage/plugin-events-node@0.4.19-next.0
+
+## @backstage/plugin-catalog-backend-module-msgraph@0.8.5-next.0
+
+### Patch Changes
+
+- cfd8103: Updated imports to use stable catalog extension points from `@backstage/plugin-catalog-node` instead of the deprecated alpha exports.
+- Updated dependencies
+ - @backstage/plugin-catalog-node@1.21.0-next.0
+ - @backstage/backend-plugin-api@1.7.0-next.0
+ - @backstage/catalog-model@1.7.6
+ - @backstage/config@1.3.6
+ - @backstage/plugin-catalog-common@1.1.8-next.0
+
+## @backstage/plugin-catalog-backend-module-openapi@0.2.19-next.0
+
+### Patch Changes
+
+- cfd8103: Updated imports to use stable catalog extension points from `@backstage/plugin-catalog-node` instead of the deprecated alpha exports.
+- 7455dae: Use node prefix on native imports
+- Updated dependencies
+ - @backstage/plugin-catalog-node@1.21.0-next.0
+ - @backstage/backend-plugin-api@1.7.0-next.0
+ - @backstage/integration@1.19.3-next.0
+ - @backstage/catalog-model@1.7.6
+ - @backstage/types@1.2.2
+ - @backstage/plugin-catalog-common@1.1.8-next.0
+
+## @backstage/plugin-catalog-backend-module-puppetdb@0.2.19-next.0
+
+### Patch Changes
+
+- cfd8103: Updated imports to use stable catalog extension points from `@backstage/plugin-catalog-node` instead of the deprecated alpha exports.
+- Updated dependencies
+ - @backstage/plugin-catalog-node@1.21.0-next.0
+ - @backstage/backend-plugin-api@1.7.0-next.0
+ - @backstage/catalog-model@1.7.6
+ - @backstage/config@1.3.6
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.2
+
+## @backstage/plugin-catalog-backend-module-scaffolder-entity-model@0.2.17-next.0
+
+### Patch Changes
+
+- cfd8103: Updated imports to use stable catalog extension points from `@backstage/plugin-catalog-node` instead of the deprecated alpha exports.
+- Updated dependencies
+ - @backstage/plugin-catalog-node@1.21.0-next.0
+ - @backstage/backend-plugin-api@1.7.0-next.0
+ - @backstage/catalog-model@1.7.6
+ - @backstage/plugin-catalog-common@1.1.8-next.0
+ - @backstage/plugin-scaffolder-common@1.7.6-next.0
+
+## @backstage/plugin-catalog-backend-module-unprocessed@0.6.8-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-catalog-node@1.21.0-next.0
+ - @backstage/backend-plugin-api@1.7.0-next.0
+ - @backstage/plugin-auth-node@0.6.12-next.0
+ - @backstage/plugin-permission-common@0.9.5-next.0
+ - @backstage/catalog-model@1.7.6
+ - @backstage/errors@1.2.7
+ - @backstage/plugin-catalog-unprocessed-entities-common@0.0.13-next.0
+
+## @backstage/plugin-catalog-common@1.1.8-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-search-common@1.2.22-next.0
+ - @backstage/plugin-permission-common@0.9.5-next.0
+ - @backstage/catalog-model@1.7.6
+
+## @backstage/plugin-catalog-graph@0.5.7-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-catalog-react@1.21.6-next.0
+ - @backstage/core-components@0.18.6-next.0
+ - @backstage/frontend-plugin-api@0.14.0-next.0
+ - @backstage/core-plugin-api@1.12.2-next.0
+ - @backstage/catalog-client@1.12.1
+ - @backstage/catalog-model@1.7.6
+ - @backstage/types@1.2.2
+
+## @backstage/plugin-catalog-import@0.13.10-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-catalog-react@1.21.6-next.0
+ - @backstage/core-components@0.18.6-next.0
+ - @backstage/integration@1.19.3-next.0
+ - @backstage/frontend-plugin-api@0.14.0-next.0
+ - @backstage/core-plugin-api@1.12.2-next.0
+ - @backstage/catalog-client@1.12.1
+ - @backstage/catalog-model@1.7.6
+ - @backstage/config@1.3.6
+ - @backstage/errors@1.2.7
+ - @backstage/integration-react@1.2.15-next.0
+ - @backstage/plugin-catalog-common@1.1.8-next.0
+ - @backstage/plugin-permission-react@0.4.40-next.0
+
+## @backstage/plugin-catalog-react@1.21.6-next.0
+
+### Patch Changes
+
+- f523983: Fixes a bug where the `EntityListProvider` would not correctly hydrate query parameters if more than 20 were provided for the same key.
+- 69d880e: Bump to latest zod to ensure it has the latest features
+- Updated dependencies
+ - @backstage/core-components@0.18.6-next.0
+ - @backstage/core-compat-api@0.5.7-next.0
+ - @backstage/frontend-plugin-api@0.14.0-next.0
+ - @backstage/frontend-test-utils@0.4.5-next.0
+ - @backstage/core-plugin-api@1.12.2-next.0
+ - @backstage/plugin-permission-common@0.9.5-next.0
+ - @backstage/catalog-client@1.12.1
+ - @backstage/catalog-model@1.7.6
+ - @backstage/errors@1.2.7
+ - @backstage/integration-react@1.2.15-next.0
+ - @backstage/types@1.2.2
+ - @backstage/version-bridge@1.0.11
+ - @backstage/plugin-catalog-common@1.1.8-next.0
+ - @backstage/plugin-permission-react@0.4.40-next.0
+
+## @backstage/plugin-catalog-unprocessed-entities@0.2.26-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-components@0.18.6-next.0
+ - @backstage/core-compat-api@0.5.7-next.0
+ - @backstage/frontend-plugin-api@0.14.0-next.0
+ - @backstage/core-plugin-api@1.12.2-next.0
+ - @backstage/errors@1.2.7
+ - @backstage/plugin-catalog-unprocessed-entities-common@0.0.13-next.0
+ - @backstage/plugin-devtools-react@0.1.1-next.0
+
+## @backstage/plugin-catalog-unprocessed-entities-common@0.0.13-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-permission-common@0.9.5-next.0
+ - @backstage/catalog-model@1.7.6
+ - @backstage/errors@1.2.7
+
+## @backstage/plugin-config-schema@0.1.77-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-components@0.18.6-next.0
+ - @backstage/core-plugin-api@1.12.2-next.0
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.2
+
+## @backstage/plugin-devtools@0.1.36-next.0
+
+### Patch Changes
+
+- f2612c2: Fixes an issue where a user lacking permission to schedule tasks can now easily see the issue through a custom icon + tooltip.
+- Updated dependencies
+ - @backstage/core-components@0.18.6-next.0
+ - @backstage/core-compat-api@0.5.7-next.0
+ - @backstage/frontend-plugin-api@0.14.0-next.0
+ - @backstage/core-plugin-api@1.12.2-next.0
+ - @backstage/errors@1.2.7
+ - @backstage/plugin-devtools-common@0.1.22-next.0
+ - @backstage/plugin-devtools-react@0.1.1-next.0
+ - @backstage/plugin-permission-react@0.4.40-next.0
+
+## @backstage/plugin-devtools-backend@0.5.14-next.0
+
+### Patch Changes
+
+- 7455dae: Use node prefix on native imports
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.7.0-next.0
+ - @backstage/backend-defaults@0.15.1-next.0
+ - @backstage/config-loader@1.10.8-next.0
+ - @backstage/cli-common@0.1.18-next.0
+ - @backstage/plugin-permission-common@0.9.5-next.0
+ - @backstage/plugin-permission-node@0.10.9-next.0
+ - @backstage/config@1.3.6
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.2
+ - @backstage/plugin-devtools-common@0.1.22-next.0
+
+## @backstage/plugin-devtools-common@0.1.22-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-permission-common@0.9.5-next.0
+ - @backstage/types@1.2.2
+
+## @backstage/plugin-devtools-react@0.1.1-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/frontend-plugin-api@0.14.0-next.0
+ - @backstage/core-plugin-api@1.12.2-next.0
+
+## @backstage/plugin-events-backend@0.5.11-next.0
+
+### Patch Changes
+
+- 7455dae: Use node prefix on native imports
+- Updated dependencies
+ - @backstage/backend-openapi-utils@0.6.6-next.0
+ - @backstage/backend-plugin-api@1.7.0-next.0
+ - @backstage/plugin-events-node@0.4.19-next.0
+ - @backstage/config@1.3.6
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.2
+
+## @backstage/plugin-events-backend-module-aws-sqs@0.4.19-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.7.0-next.0
+ - @backstage/plugin-events-node@0.4.19-next.0
+ - @backstage/config@1.3.6
+ - @backstage/types@1.2.2
+
+## @backstage/plugin-events-backend-module-azure@0.2.28-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.7.0-next.0
+ - @backstage/plugin-events-node@0.4.19-next.0
+
+## @backstage/plugin-events-backend-module-bitbucket-cloud@0.2.28-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.7.0-next.0
+ - @backstage/plugin-events-node@0.4.19-next.0
+
+## @backstage/plugin-events-backend-module-bitbucket-server@0.1.9-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.7.0-next.0
+ - @backstage/plugin-events-node@0.4.19-next.0
+
+## @backstage/plugin-events-backend-module-gerrit@0.2.28-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.7.0-next.0
+ - @backstage/plugin-events-node@0.4.19-next.0
+
+## @backstage/plugin-events-backend-module-github@0.4.9-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.7.0-next.0
+ - @backstage/integration@1.19.3-next.0
+ - @backstage/plugin-events-node@0.4.19-next.0
+ - @backstage/config@1.3.6
+ - @backstage/types@1.2.2
+
+## @backstage/plugin-events-backend-module-gitlab@0.3.9-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.7.0-next.0
+ - @backstage/plugin-events-node@0.4.19-next.0
+ - @backstage/config@1.3.6
+
+## @backstage/plugin-events-backend-module-google-pubsub@0.1.8-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.7.0-next.0
+ - @backstage/plugin-events-node@0.4.19-next.0
+ - @backstage/config@1.3.6
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.2
+
+## @backstage/plugin-events-backend-module-kafka@0.3.1-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.7.0-next.0
+ - @backstage/plugin-events-node@0.4.19-next.0
+ - @backstage/config@1.3.6
+ - @backstage/types@1.2.2
+
+## @backstage/plugin-events-backend-test-utils@0.1.52-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-events-node@0.4.19-next.0
+
+## @backstage/plugin-events-node@0.4.19-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.7.0-next.0
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.2
+
+## @backstage/plugin-gateway-backend@1.1.2-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.7.0-next.0
+
+## @backstage/plugin-home@0.9.1-next.0
+
+### Patch Changes
+
+- 69d880e: Bump to latest zod to ensure it has the latest features
+- Updated dependencies
+ - @backstage/plugin-catalog-react@1.21.6-next.0
+ - @backstage/core-components@0.18.6-next.0
+ - @backstage/frontend-plugin-api@0.14.0-next.0
+ - @backstage/core-plugin-api@1.12.2-next.0
+ - @backstage/core-app-api@1.19.4-next.0
+ - @backstage/catalog-client@1.12.1
+ - @backstage/catalog-model@1.7.6
+ - @backstage/config@1.3.6
+ - @backstage/theme@0.7.1
+ - @backstage/plugin-home-react@0.1.35-next.0
+
+## @backstage/plugin-home-react@0.1.35-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-components@0.18.6-next.0
+ - @backstage/frontend-plugin-api@0.14.0-next.0
+ - @backstage/core-plugin-api@1.12.2-next.0
+
+## @backstage/plugin-kubernetes@0.12.16-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-catalog-react@1.21.6-next.0
+ - @backstage/core-components@0.18.6-next.0
+ - @backstage/plugin-kubernetes-react@0.5.16-next.0
+ - @backstage/frontend-plugin-api@0.14.0-next.0
+ - @backstage/core-plugin-api@1.12.2-next.0
+ - @backstage/catalog-model@1.7.6
+ - @backstage/plugin-kubernetes-common@0.9.10-next.0
+ - @backstage/plugin-permission-react@0.4.40-next.0
+
+## @backstage/plugin-kubernetes-backend@0.21.1-next.0
+
+### Patch Changes
+
+- 7455dae: Use node prefix on native imports
+- Updated dependencies
+ - @backstage/plugin-catalog-node@1.21.0-next.0
+ - @backstage/integration-aws-node@0.1.20-next.0
+ - @backstage/backend-plugin-api@1.7.0-next.0
+ - @backstage/plugin-kubernetes-node@0.4.1-next.0
+ - @backstage/plugin-permission-common@0.9.5-next.0
+ - @backstage/plugin-permission-node@0.10.9-next.0
+ - @backstage/catalog-client@1.12.1
+ - @backstage/catalog-model@1.7.6
+ - @backstage/config@1.3.6
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.2
+ - @backstage/plugin-kubernetes-common@0.9.10-next.0
+
+## @backstage/plugin-kubernetes-cluster@0.0.34-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-catalog-react@1.21.6-next.0
+ - @backstage/core-components@0.18.6-next.0
+ - @backstage/plugin-kubernetes-react@0.5.16-next.0
+ - @backstage/core-plugin-api@1.12.2-next.0
+ - @backstage/catalog-model@1.7.6
+ - @backstage/plugin-kubernetes-common@0.9.10-next.0
+ - @backstage/plugin-permission-react@0.4.40-next.0
+
+## @backstage/plugin-kubernetes-common@0.9.10-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-permission-common@0.9.5-next.0
+ - @backstage/catalog-model@1.7.6
+ - @backstage/types@1.2.2
+
+## @backstage/plugin-kubernetes-node@0.4.1-next.0
+
+### Patch Changes
+
+- 7455dae: Use node prefix on native imports
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.7.0-next.0
+ - @backstage/catalog-model@1.7.6
+ - @backstage/types@1.2.2
+ - @backstage/plugin-kubernetes-common@0.9.10-next.0
+
+## @backstage/plugin-kubernetes-react@0.5.16-next.0
+
+### Patch Changes
+
+- 7455dae: Use node prefix on native imports
+- Updated dependencies
+ - @backstage/core-components@0.18.6-next.0
+ - @backstage/core-plugin-api@1.12.2-next.0
+ - @backstage/catalog-model@1.7.6
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.2
+ - @backstage/plugin-kubernetes-common@0.9.10-next.0
+
+## @backstage/plugin-mcp-actions-backend@0.1.8-next.0
+
+### Patch Changes
+
+- 69d880e: Bump to latest zod to ensure it has the latest features
+- Updated dependencies
+ - @backstage/plugin-catalog-node@1.21.0-next.0
+ - @backstage/backend-plugin-api@1.7.0-next.0
+ - @backstage/backend-defaults@0.15.1-next.0
+ - @backstage/catalog-client@1.12.1
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.2
+
+## @backstage/plugin-mui-to-bui@0.2.4-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/ui@0.12.0-next.0
+ - @backstage/frontend-plugin-api@0.14.0-next.0
+ - @backstage/core-plugin-api@1.12.2-next.0
+ - @backstage/theme@0.7.1
+
+## @backstage/plugin-notifications@0.5.14-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-components@0.18.6-next.0
+ - @backstage/frontend-plugin-api@0.14.0-next.0
+ - @backstage/core-plugin-api@1.12.2-next.0
+ - @backstage/errors@1.2.7
+ - @backstage/theme@0.7.1
+ - @backstage/plugin-notifications-common@0.2.0
+ - @backstage/plugin-signals-react@0.0.19-next.0
+
+## @backstage/plugin-notifications-backend@0.6.2-next.0
+
+### Patch Changes
+
+- 7455dae: Use node prefix on native imports
+- Updated dependencies
+ - @backstage/plugin-catalog-node@1.21.0-next.0
+ - @backstage/backend-plugin-api@1.7.0-next.0
+ - @backstage/plugin-notifications-node@0.2.23-next.0
+ - @backstage/catalog-model@1.7.6
+ - @backstage/config@1.3.6
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.2
+ - @backstage/plugin-notifications-common@0.2.0
+ - @backstage/plugin-signals-node@0.1.28-next.0
+
+## @backstage/plugin-notifications-backend-module-email@0.3.18-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-catalog-node@1.21.0-next.0
+ - @backstage/integration-aws-node@0.1.20-next.0
+ - @backstage/backend-plugin-api@1.7.0-next.0
+ - @backstage/plugin-notifications-node@0.2.23-next.0
+ - @backstage/catalog-client@1.12.1
+ - @backstage/catalog-model@1.7.6
+ - @backstage/config@1.3.6
+ - @backstage/types@1.2.2
+ - @backstage/plugin-notifications-common@0.2.0
+
+## @backstage/plugin-notifications-backend-module-slack@0.3.1-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-catalog-node@1.21.0-next.0
+ - @backstage/backend-plugin-api@1.7.0-next.0
+ - @backstage/plugin-notifications-node@0.2.23-next.0
+ - @backstage/catalog-model@1.7.6
+ - @backstage/config@1.3.6
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.2
+ - @backstage/plugin-notifications-common@0.2.0
+
+## @backstage/plugin-notifications-node@0.2.23-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.7.0-next.0
+ - @backstage/catalog-client@1.12.1
+ - @backstage/catalog-model@1.7.6
+ - @backstage/plugin-notifications-common@0.2.0
+ - @backstage/plugin-signals-node@0.1.28-next.0
+
+## @backstage/plugin-org@0.6.49-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-catalog-react@1.21.6-next.0
+ - @backstage/core-components@0.18.6-next.0
+ - @backstage/frontend-plugin-api@0.14.0-next.0
+ - @backstage/core-plugin-api@1.12.2-next.0
+ - @backstage/catalog-model@1.7.6
+ - @backstage/plugin-catalog-common@1.1.8-next.0
+
+## @backstage/plugin-org-react@0.1.47-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-catalog-react@1.21.6-next.0
+ - @backstage/core-components@0.18.6-next.0
+ - @backstage/core-plugin-api@1.12.2-next.0
+ - @backstage/catalog-client@1.12.1
+ - @backstage/catalog-model@1.7.6
+
+## @backstage/plugin-permission-backend@0.7.8-next.0
+
+### Patch Changes
+
+- 7455dae: Use node prefix on native imports
+- 69d880e: Bump to latest zod to ensure it has the latest features
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.7.0-next.0
+ - @backstage/plugin-auth-node@0.6.12-next.0
+ - @backstage/plugin-permission-common@0.9.5-next.0
+ - @backstage/plugin-permission-node@0.10.9-next.0
+ - @backstage/config@1.3.6
+ - @backstage/errors@1.2.7
+
+## @backstage/plugin-permission-backend-module-allow-all-policy@0.2.16-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.7.0-next.0
+ - @backstage/plugin-auth-node@0.6.12-next.0
+ - @backstage/plugin-permission-common@0.9.5-next.0
+ - @backstage/plugin-permission-node@0.10.9-next.0
+
+## @backstage/plugin-permission-common@0.9.5-next.0
+
+### Patch Changes
+
+- 69d880e: Bump to latest zod to ensure it has the latest features
+- Updated dependencies
+ - @backstage/config@1.3.6
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.2
+
+## @backstage/plugin-permission-node@0.10.9-next.0
+
+### Patch Changes
+
+- 69d880e: Bump to latest zod to ensure it has the latest features
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.7.0-next.0
+ - @backstage/plugin-auth-node@0.6.12-next.0
+ - @backstage/plugin-permission-common@0.9.5-next.0
+ - @backstage/config@1.3.6
+ - @backstage/errors@1.2.7
+
+## @backstage/plugin-permission-react@0.4.40-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-plugin-api@1.12.2-next.0
+ - @backstage/plugin-permission-common@0.9.5-next.0
+ - @backstage/config@1.3.6
+
+## @backstage/plugin-proxy-backend@0.6.10-next.0
+
+### Patch Changes
+
+- 7455dae: Use node prefix on native imports
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.7.0-next.0
+ - @backstage/plugin-proxy-node@0.1.12-next.0
+ - @backstage/types@1.2.2
+
+## @backstage/plugin-proxy-node@0.1.12-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.7.0-next.0
+
+## @backstage/plugin-scaffolder@1.35.2-next.0
+
+### Patch Changes
+
+- 7455dae: Use node prefix on native imports
+
+- 2eeca03: Scaffolder form fields in the new frontend system now use a Utility API pattern instead of multiple attachment points. The `FormFieldBlueprint` now uses this new approach, and while form fields created with older versions still work, they will produce a deprecation warning and will stop working in a future release.
+
+ As part of this change, the following alpha exports were removed:
+
+ - `formFieldsApiRef`
+ - `ScaffolderFormFieldsApi`
+
+- 69d880e: Bump to latest zod to ensure it has the latest features
+
+- Updated dependencies
+ - @backstage/plugin-catalog-react@1.21.6-next.0
+ - @backstage/core-components@0.18.6-next.0
+ - @backstage/integration@1.19.3-next.0
+ - @backstage/frontend-plugin-api@0.14.0-next.0
+ - @backstage/plugin-scaffolder-react@1.19.6-next.0
+ - @backstage/core-plugin-api@1.12.2-next.0
+ - @backstage/plugin-techdocs-react@1.3.8-next.0
+ - @backstage/catalog-client@1.12.1
+ - @backstage/catalog-model@1.7.6
+ - @backstage/errors@1.2.7
+ - @backstage/integration-react@1.2.15-next.0
+ - @backstage/types@1.2.2
+ - @backstage/plugin-catalog-common@1.1.8-next.0
+ - @backstage/plugin-permission-react@0.4.40-next.0
+ - @backstage/plugin-scaffolder-common@1.7.6-next.0
+ - @backstage/plugin-techdocs-common@0.1.1
+
+## @backstage/plugin-scaffolder-backend@3.1.2-next.0
+
+### Patch Changes
+
+- 7455dae: Use node prefix on native imports
+- 4fc7bf0: Removed unused dependency
+- 1e669cc: Migrate audit events reference docs to .
+- 69d880e: Bump to latest zod to ensure it has the latest features
+- Updated dependencies
+ - @backstage/plugin-catalog-backend-module-scaffolder-entity-model@0.2.17-next.0
+ - @backstage/plugin-catalog-node@1.21.0-next.0
+ - @backstage/plugin-scaffolder-backend-module-bitbucket-cloud@0.3.2-next.0
+ - @backstage/plugin-scaffolder-backend-module-bitbucket@0.3.19-next.0
+ - @backstage/plugin-scaffolder-backend-module-gerrit@0.2.18-next.0
+ - @backstage/plugin-scaffolder-backend-module-github@0.9.5-next.0
+ - @backstage/plugin-scaffolder-backend-module-gitlab@0.11.2-next.0
+ - @backstage/plugin-scaffolder-backend-module-gitea@0.2.18-next.0
+ - @backstage/backend-openapi-utils@0.6.6-next.0
+ - @backstage/plugin-bitbucket-cloud-common@0.3.7-next.0
+ - @backstage/backend-plugin-api@1.7.0-next.0
+ - @backstage/backend-defaults@0.15.1-next.0
+ - @backstage/plugin-scaffolder-node@0.12.4-next.0
+ - @backstage/integration@1.19.3-next.0
+ - @backstage/plugin-auth-node@0.6.12-next.0
+ - @backstage/plugin-permission-common@0.9.5-next.0
+ - @backstage/plugin-permission-node@0.10.9-next.0
+ - @backstage/plugin-events-node@0.4.19-next.0
+ - @backstage/plugin-scaffolder-backend-module-bitbucket-server@0.2.18-next.0
+ - @backstage/catalog-model@1.7.6
+ - @backstage/config@1.3.6
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.2
+ - @backstage/plugin-scaffolder-backend-module-azure@0.2.18-next.0
+ - @backstage/plugin-scaffolder-common@1.7.6-next.0
+
+## @backstage/plugin-scaffolder-backend-module-azure@0.2.18-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.7.0-next.0
+ - @backstage/plugin-scaffolder-node@0.12.4-next.0
+ - @backstage/integration@1.19.3-next.0
+ - @backstage/config@1.3.6
+ - @backstage/errors@1.2.7
+
+## @backstage/plugin-scaffolder-backend-module-bitbucket@0.3.19-next.0
+
+### Patch Changes
+
+- 7455dae: Use node prefix on native imports
+- Updated dependencies
+ - @backstage/plugin-scaffolder-backend-module-bitbucket-cloud@0.3.2-next.0
+ - @backstage/backend-plugin-api@1.7.0-next.0
+ - @backstage/plugin-scaffolder-node@0.12.4-next.0
+ - @backstage/integration@1.19.3-next.0
+ - @backstage/plugin-scaffolder-backend-module-bitbucket-server@0.2.18-next.0
+ - @backstage/config@1.3.6
+ - @backstage/errors@1.2.7
+
+## @backstage/plugin-scaffolder-backend-module-bitbucket-cloud@0.3.2-next.0
+
+### Patch Changes
+
+- 7455dae: Use node prefix on native imports
+- 14741e2: Fully enable API token functionality for Bitbucket-Cloud.
+- 69d880e: Bump to latest zod to ensure it has the latest features
+- Updated dependencies
+ - @backstage/plugin-bitbucket-cloud-common@0.3.7-next.0
+ - @backstage/backend-plugin-api@1.7.0-next.0
+ - @backstage/plugin-scaffolder-node@0.12.4-next.0
+ - @backstage/integration@1.19.3-next.0
+ - @backstage/config@1.3.6
+ - @backstage/errors@1.2.7
+
+## @backstage/plugin-scaffolder-backend-module-bitbucket-server@0.2.18-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.7.0-next.0
+ - @backstage/plugin-scaffolder-node@0.12.4-next.0
+ - @backstage/integration@1.19.3-next.0
+ - @backstage/config@1.3.6
+ - @backstage/errors@1.2.7
+
+## @backstage/plugin-scaffolder-backend-module-confluence-to-markdown@0.3.18-next.0
+
+### Patch Changes
+
+- 7455dae: Use node prefix on native imports
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.7.0-next.0
+ - @backstage/plugin-scaffolder-node@0.12.4-next.0
+ - @backstage/integration@1.19.3-next.0
+ - @backstage/config@1.3.6
+ - @backstage/errors@1.2.7
+
+## @backstage/plugin-scaffolder-backend-module-cookiecutter@0.3.20-next.0
+
+### Patch Changes
+
+- 7455dae: Use node prefix on native imports
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.7.0-next.0
+ - @backstage/backend-defaults@0.15.1-next.0
+ - @backstage/plugin-scaffolder-node@0.12.4-next.0
+ - @backstage/integration@1.19.3-next.0
+ - @backstage/config@1.3.6
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.2
+
+## @backstage/plugin-scaffolder-backend-module-gcp@0.2.18-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.7.0-next.0
+ - @backstage/plugin-scaffolder-node@0.12.4-next.0
+ - @backstage/integration@1.19.3-next.0
+ - @backstage/config@1.3.6
+ - @backstage/errors@1.2.7
+
+## @backstage/plugin-scaffolder-backend-module-gerrit@0.2.18-next.0
+
+### Patch Changes
+
+- 7455dae: Use node prefix on native imports
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.7.0-next.0
+ - @backstage/plugin-scaffolder-node@0.12.4-next.0
+ - @backstage/integration@1.19.3-next.0
+ - @backstage/config@1.3.6
+ - @backstage/errors@1.2.7
+
+## @backstage/plugin-scaffolder-backend-module-gitea@0.2.18-next.0
+
+### Patch Changes
+
+- 7455dae: Use node prefix on native imports
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.7.0-next.0
+ - @backstage/plugin-scaffolder-node@0.12.4-next.0
+ - @backstage/integration@1.19.3-next.0
+ - @backstage/config@1.3.6
+ - @backstage/errors@1.2.7
+
+## @backstage/plugin-scaffolder-backend-module-github@0.9.5-next.0
+
+### Patch Changes
+
+- 7455dae: Use node prefix on native imports
+- 82ca951: cleaned up repo creation to make the unique portions explicit
+- 69d880e: Bump to latest zod to ensure it has the latest features
+- Updated dependencies
+ - @backstage/plugin-catalog-node@1.21.0-next.0
+ - @backstage/backend-plugin-api@1.7.0-next.0
+ - @backstage/plugin-scaffolder-node@0.12.4-next.0
+ - @backstage/integration@1.19.3-next.0
+ - @backstage/catalog-model@1.7.6
+ - @backstage/config@1.3.6
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.2
+
+## @backstage/plugin-scaffolder-backend-module-gitlab@0.11.2-next.0
+
+### Patch Changes
+
+- 7455dae: Use node prefix on native imports
+- 69d880e: Bump to latest zod to ensure it has the latest features
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.7.0-next.0
+ - @backstage/plugin-scaffolder-node@0.12.4-next.0
+ - @backstage/integration@1.19.3-next.0
+ - @backstage/config@1.3.6
+ - @backstage/errors@1.2.7
+
+## @backstage/plugin-scaffolder-backend-module-notifications@0.1.19-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.7.0-next.0
+ - @backstage/plugin-scaffolder-node@0.12.4-next.0
+ - @backstage/plugin-notifications-node@0.2.23-next.0
+ - @backstage/plugin-notifications-common@0.2.0
+
+## @backstage/plugin-scaffolder-backend-module-rails@0.5.18-next.0
+
+### Patch Changes
+
+- 7455dae: Use node prefix on native imports
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.7.0-next.0
+ - @backstage/plugin-scaffolder-node@0.12.4-next.0
+ - @backstage/integration@1.19.3-next.0
+ - @backstage/config@1.3.6
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.2
+
+## @backstage/plugin-scaffolder-backend-module-sentry@0.3.1-next.0
+
+### Patch Changes
+
+- 7455dae: Use node prefix on native imports
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.7.0-next.0
+ - @backstage/plugin-scaffolder-node@0.12.4-next.0
+ - @backstage/config@1.3.6
+ - @backstage/errors@1.2.7
+
+## @backstage/plugin-scaffolder-backend-module-yeoman@0.4.19-next.0
+
+### Patch Changes
+
+- 7455dae: Use node prefix on native imports
+- Updated dependencies
+ - @backstage/plugin-scaffolder-node-test-utils@0.3.8-next.0
+ - @backstage/backend-plugin-api@1.7.0-next.0
+ - @backstage/plugin-scaffolder-node@0.12.4-next.0
+ - @backstage/types@1.2.2
+
+## @backstage/plugin-scaffolder-common@1.7.6-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/integration@1.19.3-next.0
+ - @backstage/plugin-permission-common@0.9.5-next.0
+ - @backstage/catalog-model@1.7.6
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.2
+
+## @backstage/plugin-scaffolder-node@0.12.4-next.0
+
+### Patch Changes
+
+- 7455dae: Use node prefix on native imports
+- 4fc7bf0: Bump to tar v7
+- 69d880e: Bump to latest zod to ensure it has the latest features
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.7.0-next.0
+ - @backstage/integration@1.19.3-next.0
+ - @backstage/plugin-permission-common@0.9.5-next.0
+ - @backstage/catalog-model@1.7.6
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.2
+ - @backstage/plugin-scaffolder-common@1.7.6-next.0
+
+## @backstage/plugin-scaffolder-node-test-utils@0.3.8-next.0
+
+### Patch Changes
+
+- 7455dae: Use node prefix on native imports
+- Updated dependencies
+ - @backstage/backend-test-utils@1.10.4-next.0
+ - @backstage/backend-plugin-api@1.7.0-next.0
+ - @backstage/plugin-scaffolder-node@0.12.4-next.0
+ - @backstage/types@1.2.2
+
+## @backstage/plugin-scaffolder-react@1.19.6-next.0
+
+### Patch Changes
+
+- 2eeca03: Scaffolder form fields in the new frontend system now use a Utility API pattern instead of multiple attachment points. The `FormFieldBlueprint` now uses this new approach, and while form fields created with older versions still work, they will produce a deprecation warning and will stop working in a future release.
+
+ As part of this change, the following alpha exports were removed:
+
+ - `formFieldsApi`
+ - `formFieldsApiRef`
+ - `ScaffolderFormFieldsApi`
+
+- 69d880e: Bump to latest zod to ensure it has the latest features
+
+- Updated dependencies
+ - @backstage/plugin-catalog-react@1.21.6-next.0
+ - @backstage/core-components@0.18.6-next.0
+ - @backstage/frontend-plugin-api@0.14.0-next.0
+ - @backstage/core-plugin-api@1.12.2-next.0
+ - @backstage/catalog-client@1.12.1
+ - @backstage/catalog-model@1.7.6
+ - @backstage/theme@0.7.1
+ - @backstage/types@1.2.2
+ - @backstage/version-bridge@1.0.11
+ - @backstage/plugin-permission-react@0.4.40-next.0
+ - @backstage/plugin-scaffolder-common@1.7.6-next.0
+
+## @backstage/plugin-search@1.5.4-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-catalog-react@1.21.6-next.0
+ - @backstage/core-components@0.18.6-next.0
+ - @backstage/plugin-search-common@1.2.22-next.0
+ - @backstage/frontend-plugin-api@0.14.0-next.0
+ - @backstage/core-plugin-api@1.12.2-next.0
+ - @backstage/plugin-search-react@1.10.3-next.0
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.2
+ - @backstage/version-bridge@1.0.11
+
+## @backstage/plugin-search-backend@2.0.11-next.0
+
+### Patch Changes
+
+- 7455dae: Use node prefix on native imports
+- 69d880e: Bump to latest zod to ensure it has the latest features
+- Updated dependencies
+ - @backstage/backend-openapi-utils@0.6.6-next.0
+ - @backstage/backend-plugin-api@1.7.0-next.0
+ - @backstage/plugin-search-backend-node@1.4.1-next.0
+ - @backstage/backend-defaults@0.15.1-next.0
+ - @backstage/plugin-search-common@1.2.22-next.0
+ - @backstage/plugin-permission-common@0.9.5-next.0
+ - @backstage/plugin-permission-node@0.10.9-next.0
+ - @backstage/config@1.3.6
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.2
+
+## @backstage/plugin-search-backend-module-catalog@0.3.12-next.0
+
+### Patch Changes
+
+- 7455dae: Use node prefix on native imports
+- Updated dependencies
+ - @backstage/plugin-catalog-node@1.21.0-next.0
+ - @backstage/backend-plugin-api@1.7.0-next.0
+ - @backstage/plugin-search-backend-node@1.4.1-next.0
+ - @backstage/plugin-search-common@1.2.22-next.0
+ - @backstage/plugin-permission-common@0.9.5-next.0
+ - @backstage/catalog-client@1.12.1
+ - @backstage/catalog-model@1.7.6
+ - @backstage/config@1.3.6
+ - @backstage/errors@1.2.7
+ - @backstage/plugin-catalog-common@1.1.8-next.0
+
+## @backstage/plugin-search-backend-module-elasticsearch@1.7.10-next.0
+
+### Patch Changes
+
+- 7455dae: Use node prefix on native imports
+- Updated dependencies
+ - @backstage/integration-aws-node@0.1.20-next.0
+ - @backstage/backend-plugin-api@1.7.0-next.0
+ - @backstage/plugin-search-backend-node@1.4.1-next.0
+ - @backstage/plugin-search-common@1.2.22-next.0
+ - @backstage/config@1.3.6
+
+## @backstage/plugin-search-backend-module-explore@0.3.11-next.0
+
+### Patch Changes
+
+- 7455dae: Use node prefix on native imports
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.7.0-next.0
+ - @backstage/plugin-search-backend-node@1.4.1-next.0
+ - @backstage/plugin-search-common@1.2.22-next.0
+ - @backstage/config@1.3.6
+
+## @backstage/plugin-search-backend-module-pg@0.5.52-next.0
+
+### Patch Changes
+
+- 7455dae: Use node prefix on native imports
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.7.0-next.0
+ - @backstage/plugin-search-backend-node@1.4.1-next.0
+ - @backstage/plugin-search-common@1.2.22-next.0
+ - @backstage/config@1.3.6
+
+## @backstage/plugin-search-backend-module-stack-overflow-collator@0.3.17-next.0
+
+### Patch Changes
+
+- 7455dae: Use node prefix on native imports
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.7.0-next.0
+ - @backstage/plugin-search-backend-node@1.4.1-next.0
+ - @backstage/plugin-search-common@1.2.22-next.0
+ - @backstage/config@1.3.6
+
+## @backstage/plugin-search-backend-module-techdocs@0.4.11-next.0
+
+### Patch Changes
+
+- 7455dae: Use node prefix on native imports
+- Updated dependencies
+ - @backstage/plugin-catalog-node@1.21.0-next.0
+ - @backstage/backend-plugin-api@1.7.0-next.0
+ - @backstage/plugin-search-backend-node@1.4.1-next.0
+ - @backstage/plugin-search-common@1.2.22-next.0
+ - @backstage/plugin-techdocs-node@1.14.1-next.0
+ - @backstage/plugin-permission-common@0.9.5-next.0
+ - @backstage/catalog-client@1.12.1
+ - @backstage/catalog-model@1.7.6
+ - @backstage/config@1.3.6
+ - @backstage/plugin-catalog-common@1.1.8-next.0
+
+## @backstage/plugin-search-backend-node@1.4.1-next.0
+
+### Patch Changes
+
+- 7455dae: Use node prefix on native imports
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.7.0-next.0
+ - @backstage/plugin-search-common@1.2.22-next.0
+ - @backstage/plugin-permission-common@0.9.5-next.0
+ - @backstage/config@1.3.6
+ - @backstage/errors@1.2.7
+
+## @backstage/plugin-search-common@1.2.22-next.0
+
+### Patch Changes
+
+- 7455dae: Use node prefix on native imports
+- Updated dependencies
+ - @backstage/plugin-permission-common@0.9.5-next.0
+ - @backstage/types@1.2.2
+
+## @backstage/plugin-search-react@1.10.3-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-components@0.18.6-next.0
+ - @backstage/plugin-search-common@1.2.22-next.0
+ - @backstage/frontend-plugin-api@0.14.0-next.0
+ - @backstage/core-plugin-api@1.12.2-next.0
+ - @backstage/theme@0.7.1
+ - @backstage/types@1.2.2
+ - @backstage/version-bridge@1.0.11
+
+## @backstage/plugin-signals@0.0.28-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-components@0.18.6-next.0
+ - @backstage/frontend-plugin-api@0.14.0-next.0
+ - @backstage/core-plugin-api@1.12.2-next.0
+ - @backstage/theme@0.7.1
+ - @backstage/types@1.2.2
+ - @backstage/plugin-signals-react@0.0.19-next.0
+
+## @backstage/plugin-signals-backend@0.3.12-next.0
+
+### Patch Changes
+
+- 7455dae: Use node prefix on native imports
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.7.0-next.0
+ - @backstage/plugin-events-node@0.4.19-next.0
+ - @backstage/config@1.3.6
+ - @backstage/types@1.2.2
+ - @backstage/plugin-signals-node@0.1.28-next.0
+
+## @backstage/plugin-signals-node@0.1.28-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.7.0-next.0
+ - @backstage/plugin-auth-node@0.6.12-next.0
+ - @backstage/plugin-events-node@0.4.19-next.0
+ - @backstage/config@1.3.6
+ - @backstage/types@1.2.2
+
+## @backstage/plugin-signals-react@0.0.19-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-plugin-api@1.12.2-next.0
+ - @backstage/types@1.2.2
+
+## @backstage/plugin-techdocs@1.16.3-next.0
+
+### Patch Changes
+
+- 9e29545: Improve sidebars (nav/TOC) layout and scrolling
+- 22dce2b: TechDocs addons in the new frontend system now use a Utility API pattern instead of multiple attachment points. The `AddonBlueprint` now uses this new approach, and while addons created with older versions still work, they will produce a deprecation warning and will stop working in a future release.
+- Updated dependencies
+ - @backstage/plugin-catalog-react@1.21.6-next.0
+ - @backstage/core-components@0.18.6-next.0
+ - @backstage/plugin-search-common@1.2.22-next.0
+ - @backstage/integration@1.19.3-next.0
+ - @backstage/frontend-plugin-api@0.14.0-next.0
+ - @backstage/core-plugin-api@1.12.2-next.0
+ - @backstage/plugin-techdocs-react@1.3.8-next.0
+ - @backstage/plugin-search-react@1.10.3-next.0
+ - @backstage/catalog-client@1.12.1
+ - @backstage/catalog-model@1.7.6
+ - @backstage/config@1.3.6
+ - @backstage/errors@1.2.7
+ - @backstage/integration-react@1.2.15-next.0
+ - @backstage/theme@0.7.1
+ - @backstage/plugin-auth-react@0.1.24-next.0
+ - @backstage/plugin-techdocs-common@0.1.1
+
+## @backstage/plugin-techdocs-addons-test-utils@2.0.2-next.0
+
+### Patch Changes
+
+- 7455dae: Use node prefix on native imports
+- Updated dependencies
+ - @backstage/plugin-catalog-react@1.21.6-next.0
+ - @backstage/plugin-techdocs@1.16.3-next.0
+ - @backstage/core-plugin-api@1.12.2-next.0
+ - @backstage/plugin-techdocs-react@1.3.8-next.0
+ - @backstage/core-app-api@1.19.4-next.0
+ - @backstage/plugin-search-react@1.10.3-next.0
+ - @backstage/plugin-catalog@1.32.3-next.0
+ - @backstage/integration-react@1.2.15-next.0
+ - @backstage/test-utils@1.7.15-next.0
+
+## @backstage/plugin-techdocs-backend@2.1.5-next.0
+
+### Patch Changes
+
+- 7455dae: Use node prefix on native imports
+- Updated dependencies
+ - @backstage/plugin-catalog-node@1.21.0-next.0
+ - @backstage/backend-plugin-api@1.7.0-next.0
+ - @backstage/backend-defaults@0.15.1-next.0
+ - @backstage/plugin-techdocs-node@1.14.1-next.0
+ - @backstage/integration@1.19.3-next.0
+ - @backstage/catalog-client@1.12.1
+ - @backstage/catalog-model@1.7.6
+ - @backstage/config@1.3.6
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.2
+
+## @backstage/plugin-techdocs-module-addons-contrib@1.1.33-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-components@0.18.6-next.0
+ - @backstage/integration@1.19.3-next.0
+ - @backstage/frontend-plugin-api@0.14.0-next.0
+ - @backstage/core-plugin-api@1.12.2-next.0
+ - @backstage/plugin-techdocs-react@1.3.8-next.0
+ - @backstage/integration-react@1.2.15-next.0
+
+## @backstage/plugin-techdocs-node@1.14.1-next.0
+
+### Patch Changes
+
+- 7455dae: Use node prefix on native imports
+- Updated dependencies
+ - @backstage/integration-aws-node@0.1.20-next.0
+ - @backstage/backend-plugin-api@1.7.0-next.0
+ - @backstage/plugin-search-common@1.2.22-next.0
+ - @backstage/integration@1.19.3-next.0
+ - @backstage/catalog-model@1.7.6
+ - @backstage/config@1.3.6
+ - @backstage/errors@1.2.7
+ - @backstage/plugin-techdocs-common@0.1.1
+
+## @backstage/plugin-techdocs-react@1.3.8-next.0
+
+### Patch Changes
+
+- 22dce2b: TechDocs addons in the new frontend system now use a Utility API pattern instead of multiple attachment points. The `AddonBlueprint` now uses this new approach, and while addons created with older versions still work, they will produce a deprecation warning and will stop working in a future release.
+
+ As part of this change, the `techDocsAddonDataRef` alpha export was removed.
+
+- Updated dependencies
+ - @backstage/core-components@0.18.6-next.0
+ - @backstage/frontend-plugin-api@0.14.0-next.0
+ - @backstage/core-plugin-api@1.12.2-next.0
+ - @backstage/catalog-model@1.7.6
+ - @backstage/config@1.3.6
+ - @backstage/version-bridge@1.0.11
+ - @backstage/plugin-techdocs-common@0.1.1
+
+## @backstage/plugin-user-settings@0.8.32-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-catalog-react@1.21.6-next.0
+ - @backstage/core-components@0.18.6-next.0
+ - @backstage/frontend-plugin-api@0.14.0-next.0
+ - @backstage/core-plugin-api@1.12.2-next.0
+ - @backstage/core-app-api@1.19.4-next.0
+ - @backstage/catalog-model@1.7.6
+ - @backstage/errors@1.2.7
+ - @backstage/theme@0.7.1
+ - @backstage/types@1.2.2
+ - @backstage/plugin-signals-react@0.0.19-next.0
+ - @backstage/plugin-user-settings-common@0.0.1
+
+## @backstage/plugin-user-settings-backend@0.3.11-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.7.0-next.0
+ - @backstage/backend-defaults@0.15.1-next.0
+ - @backstage/plugin-auth-node@0.6.12-next.0
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.2
+ - @backstage/plugin-signals-node@0.1.28-next.0
+ - @backstage/plugin-user-settings-common@0.0.1
+
+## example-app@0.2.118-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/frontend-app-api@0.14.1-next.0
+ - @backstage/plugin-catalog-react@1.21.6-next.0
+ - @backstage/cli@0.35.3-next.0
+ - @backstage/ui@0.12.0-next.0
+ - @backstage/core-components@0.18.6-next.0
+ - @backstage/plugin-search-common@1.2.22-next.0
+ - @backstage/plugin-scaffolder@1.35.2-next.0
+ - @backstage/plugin-api-docs@0.13.4-next.0
+ - @backstage/plugin-scaffolder-react@1.19.6-next.0
+ - @backstage/plugin-techdocs@1.16.3-next.0
+ - @backstage/plugin-devtools@0.1.36-next.0
+ - @backstage/core-plugin-api@1.12.2-next.0
+ - @backstage/plugin-techdocs-react@1.3.8-next.0
+ - @backstage/core-app-api@1.19.4-next.0
+ - @backstage/plugin-home@0.9.1-next.0
+ - @backstage/plugin-search-react@1.10.3-next.0
+ - @backstage/plugin-catalog@1.32.3-next.0
+ - @backstage/plugin-catalog-graph@0.5.7-next.0
+ - @backstage/plugin-catalog-import@0.13.10-next.0
+ - @backstage/plugin-kubernetes@0.12.16-next.0
+ - @backstage/plugin-kubernetes-cluster@0.0.34-next.0
+ - @backstage/plugin-org@0.6.49-next.0
+ - @backstage/plugin-search@1.5.4-next.0
+ - @backstage/plugin-techdocs-module-addons-contrib@1.1.33-next.0
+ - @backstage/plugin-user-settings@0.8.32-next.0
+ - @backstage/app-defaults@1.7.5-next.0
+ - @backstage/catalog-model@1.7.6
+ - @backstage/config@1.3.6
+ - @backstage/integration-react@1.2.15-next.0
+ - @backstage/theme@0.7.1
+ - @backstage/plugin-auth-react@0.1.24-next.0
+ - @backstage/plugin-catalog-common@1.1.8-next.0
+ - @backstage/plugin-catalog-unprocessed-entities@0.2.26-next.0
+ - @backstage/plugin-mui-to-bui@0.2.4-next.0
+ - @backstage/plugin-notifications@0.5.14-next.0
+ - @backstage/plugin-permission-react@0.4.40-next.0
+ - @backstage/plugin-signals@0.0.28-next.0
+
+## example-app-next@0.0.32-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/frontend-defaults@0.3.6-next.0
+ - @backstage/frontend-app-api@0.14.1-next.0
+ - @backstage/plugin-catalog-react@1.21.6-next.0
+ - @backstage/plugin-app-visualizer@0.1.28-next.0
+ - @backstage/cli@0.35.3-next.0
+ - @backstage/ui@0.12.0-next.0
+ - @backstage/core-components@0.18.6-next.0
+ - @backstage/plugin-search-common@1.2.22-next.0
+ - @backstage/plugin-scaffolder@1.35.2-next.0
+ - @backstage/plugin-api-docs@0.13.4-next.0
+ - @backstage/core-compat-api@0.5.7-next.0
+ - @backstage/frontend-plugin-api@0.14.0-next.0
+ - @backstage/plugin-app@0.4.0-next.0
+ - @backstage/plugin-scaffolder-react@1.19.6-next.0
+ - @backstage/plugin-techdocs@1.16.3-next.0
+ - @backstage/plugin-devtools@0.1.36-next.0
+ - @backstage/core-plugin-api@1.12.2-next.0
+ - @backstage/plugin-techdocs-react@1.3.8-next.0
+ - @backstage/plugin-app-react@0.1.1-next.0
+ - @backstage/core-app-api@1.19.4-next.0
+ - @backstage/plugin-home@0.9.1-next.0
+ - @backstage/plugin-auth@0.1.5-next.0
+ - @backstage/plugin-search-react@1.10.3-next.0
+ - @backstage/plugin-catalog@1.32.3-next.0
+ - @backstage/plugin-catalog-graph@0.5.7-next.0
+ - @backstage/plugin-catalog-import@0.13.10-next.0
+ - @backstage/plugin-kubernetes@0.12.16-next.0
+ - @backstage/plugin-kubernetes-cluster@0.0.34-next.0
+ - @backstage/plugin-org@0.6.49-next.0
+ - @backstage/plugin-search@1.5.4-next.0
+ - @backstage/plugin-techdocs-module-addons-contrib@1.1.33-next.0
+ - @backstage/plugin-user-settings@0.8.32-next.0
+ - @backstage/app-defaults@1.7.5-next.0
+ - @backstage/catalog-model@1.7.6
+ - @backstage/config@1.3.6
+ - @backstage/integration-react@1.2.15-next.0
+ - @backstage/theme@0.7.1
+ - @backstage/plugin-auth-react@0.1.24-next.0
+ - @backstage/plugin-catalog-common@1.1.8-next.0
+ - @backstage/plugin-catalog-unprocessed-entities@0.2.26-next.0
+ - @backstage/plugin-notifications@0.5.14-next.0
+ - @backstage/plugin-permission-react@0.4.40-next.0
+ - @backstage/plugin-signals@0.0.28-next.0
+
+## app-next-example-plugin@0.0.32-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-components@0.18.6-next.0
+ - @backstage/frontend-plugin-api@0.14.0-next.0
+
+## example-backend@0.0.47-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-catalog-backend@3.4.0-next.0
+ - @backstage/plugin-catalog-backend-module-backstage-openapi@0.5.11-next.0
+ - @backstage/plugin-catalog-backend-module-openapi@0.2.19-next.0
+ - @backstage/plugin-catalog-backend-module-scaffolder-entity-model@0.2.17-next.0
+ - @backstage/plugin-search-backend-module-elasticsearch@1.7.10-next.0
+ - @backstage/plugin-scaffolder-backend-module-github@0.9.5-next.0
+ - @backstage/plugin-search-backend-module-techdocs@0.4.11-next.0
+ - @backstage/plugin-search-backend-module-catalog@0.3.12-next.0
+ - @backstage/plugin-search-backend-module-explore@0.3.11-next.0
+ - @backstage/plugin-notifications-backend@0.6.2-next.0
+ - @backstage/backend-plugin-api@1.7.0-next.0
+ - @backstage/plugin-search-backend-node@1.4.1-next.0
+ - @backstage/plugin-kubernetes-backend@0.21.1-next.0
+ - @backstage/plugin-permission-backend@0.7.8-next.0
+ - @backstage/plugin-scaffolder-backend@3.1.2-next.0
+ - @backstage/backend-defaults@0.15.1-next.0
+ - @backstage/plugin-devtools-backend@0.5.14-next.0
+ - @backstage/plugin-techdocs-backend@2.1.5-next.0
+ - @backstage/plugin-signals-backend@0.3.12-next.0
+ - @backstage/plugin-events-backend@0.5.11-next.0
+ - @backstage/plugin-search-backend@2.0.11-next.0
+ - @backstage/plugin-proxy-backend@0.6.10-next.0
+ - @backstage/plugin-auth-backend@0.26.1-next.0
+ - @backstage/plugin-app-backend@0.5.11-next.0
+ - @backstage/plugin-auth-node@0.6.12-next.0
+ - @backstage/plugin-auth-backend-module-github-provider@0.5.0-next.0
+ - @backstage/plugin-mcp-actions-backend@0.1.8-next.0
+ - @backstage/plugin-permission-common@0.9.5-next.0
+ - @backstage/plugin-permission-node@0.10.9-next.0
+ - @backstage/plugin-auth-backend-module-guest-provider@0.2.16-next.0
+ - @backstage/plugin-auth-backend-module-openshift-provider@0.1.4-next.0
+ - @backstage/plugin-events-backend-module-google-pubsub@0.1.8-next.0
+ - @backstage/plugin-permission-backend-module-allow-all-policy@0.2.16-next.0
+ - @backstage/plugin-catalog-backend-module-unprocessed@0.6.8-next.0
+ - @backstage/catalog-model@1.7.6
+ - @backstage/plugin-scaffolder-backend-module-notifications@0.1.19-next.0
+
+## e2e-test@0.2.37-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/cli-common@0.1.18-next.0
+ - @backstage/create-app@0.7.9-next.0
+ - @backstage/errors@1.2.7
+
+## @internal/frontend@0.0.17-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/frontend-plugin-api@0.14.0-next.0
+ - @backstage/types@1.2.2
+ - @backstage/version-bridge@1.0.11
+
+## @internal/scaffolder@0.0.18-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/frontend-plugin-api@0.14.0-next.0
+ - @backstage/plugin-scaffolder-react@1.19.6-next.0
+
+## techdocs-cli-embedded-app@0.2.117-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/cli@0.35.3-next.0
+ - @backstage/ui@0.12.0-next.0
+ - @backstage/core-components@0.18.6-next.0
+ - @backstage/plugin-techdocs@1.16.3-next.0
+ - @backstage/core-plugin-api@1.12.2-next.0
+ - @backstage/plugin-techdocs-react@1.3.8-next.0
+ - @backstage/core-app-api@1.19.4-next.0
+ - @backstage/plugin-catalog@1.32.3-next.0
+ - @backstage/app-defaults@1.7.5-next.0
+ - @backstage/catalog-model@1.7.6
+ - @backstage/config@1.3.6
+ - @backstage/integration-react@1.2.15-next.0
+ - @backstage/test-utils@1.7.15-next.0
+ - @backstage/theme@0.7.1
+
+## yarn-plugin-backstage@0.0.9-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/cli-common@0.1.18-next.0
+ - @backstage/errors@1.2.7
+ - @backstage/release-manifests@0.0.13
+
+## @internal/plugin-todo-list@1.0.48-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-components@0.18.6-next.0
+ - @backstage/core-plugin-api@1.12.2-next.0
+
+## @internal/plugin-todo-list-backend@1.0.47-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.7.0-next.0
+ - @backstage/errors@1.2.7
+
+## @internal/plugin-todo-list-common@1.0.29-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-permission-common@0.9.5-next.0
diff --git a/docs/releases/v1.48.0-next.1-changelog.md b/docs/releases/v1.48.0-next.1-changelog.md
new file mode 100644
index 0000000000..d15b1a220a
--- /dev/null
+++ b/docs/releases/v1.48.0-next.1-changelog.md
@@ -0,0 +1,29587 @@
+# Release v1.48.0-next.1
+
+Upgrade Helper: [https://backstage.github.io/upgrade-helper/?to=1.48.0-next.1](https://backstage.github.io/upgrade-helper/?to=1.48.0-next.1)
+
+## @backstage/backend-test-utils@1.10.5-next.0
+
+# @backstage/backend-test-utils
+
+## 1.10.4-next.0
+
+### Patch Changes
+
+- f1d29b4: Updated `startTestBackend` to support factory-based extension points (v1.1 format) in addition to the existing direct implementation format.
+- 7455dae: Use node prefix on native imports
+- 69d880e: Bump to latest zod to ensure it has the latest features
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.7.0-next.0
+ - @backstage/backend-defaults@0.15.1-next.0
+ - @backstage/plugin-auth-node@0.6.12-next.0
+ - @backstage/backend-app-api@1.5.0-next.0
+ - @backstage/plugin-permission-common@0.9.5-next.0
+ - @backstage/plugin-events-node@0.4.19-next.0
+ - @backstage/config@1.3.6
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.2
+
+## 1.10.3
+
+### Patch Changes
+
+- 872eb91: Upgrade `zod-to-json-schema` to latest version
+- Updated dependencies
+ - @backstage/backend-defaults@0.15.0
+ - @backstage/backend-plugin-api@1.6.1
+ - @backstage/backend-app-api@1.4.1
+ - @backstage/plugin-auth-node@0.6.11
+ - @backstage/plugin-permission-common@0.9.4
+
+## 1.10.3-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-defaults@0.15.0-next.2
+ - @backstage/backend-app-api@1.4.0
+ - @backstage/plugin-auth-node@0.6.10
+
+## 1.10.3-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-defaults@0.14.1-next.0
+ - @backstage/backend-app-api@1.4.0
+ - @backstage/backend-plugin-api@1.6.0
+ - @backstage/config@1.3.6
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.2
+ - @backstage/plugin-auth-node@0.6.10
+ - @backstage/plugin-events-node@0.4.18
+ - @backstage/plugin-permission-common@0.9.3
+
+## 1.10.2
+
+### Patch Changes
+
+- de96a60: chore(deps): bump `express` from 4.21.2 to 4.22.0
+- 8be23a4: Switched `textextensions` dependency for `text-extensions`.
+- 5a737e1: Fix PostgreSQL 18 `TestDatabases` by pinning the data directory
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.10
+ - @backstage/backend-defaults@0.14.0
+ - @backstage/plugin-events-node@0.4.18
+ - @backstage/backend-app-api@1.4.0
+ - @backstage/backend-plugin-api@1.6.0
+
+## 1.10.2-next.1
+
+### Patch Changes
+
+- de96a60: chore(deps): bump `express` from 4.21.2 to 4.22.0
+- 8be23a4: Switched `textextensions` dependency for `text-extensions`.
+- 5a737e1: Fix PostgreSQL 18 `TestDatabases` by pinning the data directory
+- Updated dependencies
+ - @backstage/backend-defaults@0.14.0-next.1
+ - @backstage/plugin-auth-node@0.6.10-next.1
+ - @backstage/plugin-events-node@0.4.18-next.1
+ - @backstage/backend-plugin-api@1.6.0-next.1
+ - @backstage/backend-app-api@1.4.0-next.1
+ - @backstage/config@1.3.6
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.2
+ - @backstage/plugin-permission-common@0.9.3
+
+## 1.10.1-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.10-next.0
+ - @backstage/backend-app-api@1.4.0-next.0
+ - @backstage/backend-defaults@0.14.0-next.0
+ - @backstage/backend-plugin-api@1.5.1-next.0
+ - @backstage/plugin-events-node@0.4.18-next.0
+ - @backstage/config@1.3.6
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.2
+ - @backstage/plugin-permission-common@0.9.3
+
+## 1.10.0
+
+### Minor Changes
+
+- d57b13b: Added support for Postgres 18 to the available `TestDatabases`.
+
+ Note that the set of _default_ databases to test against for users of the `TestDatabases` class was also updated to include Postgres 14 and 18, instead of 13 and 17. If you need to override this, you can pass in an explicit `ids` argument, for example `ids: ['POSTGRES_17', 'POSTGRES_13', 'SQLITE_3']`.
+
+### Patch Changes
+
+- f3001fd: Tweak some of the mock services to have more precise types
+- 05f60e1: Refactored constructor parameter properties to explicit property declarations for compatibility with TypeScript's `erasableSyntaxOnly` setting. This internal refactoring maintains all existing functionality while ensuring TypeScript compilation compatibility.
+- Updated dependencies
+ - @backstage/backend-defaults@0.13.1
+ - @backstage/backend-plugin-api@1.5.0
+ - @backstage/backend-app-api@1.3.0
+ - @backstage/plugin-permission-common@0.9.3
+ - @backstage/plugin-events-node@0.4.17
+ - @backstage/plugin-auth-node@0.6.9
+ - @backstage/config@1.3.6
+
+## 1.10.0-next.2
+
+### Patch Changes
+
+- f3001fd: Tweak some of the mock services to have more precise types
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.5.0-next.2
+
+## 1.10.0-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-defaults@0.13.1-next.1
+ - @backstage/backend-plugin-api@1.5.0-next.1
+ - @backstage/backend-app-api@1.3.0-next.1
+ - @backstage/plugin-permission-common@0.9.3-next.1
+ - @backstage/plugin-auth-node@0.6.9-next.1
+ - @backstage/plugin-events-node@0.4.17-next.1
+
+## 1.10.0-next.0
+
+### Minor Changes
+
+- d57b13b: Added support for Postgres 18 to the available `TestDatabases`.
+
+ Note that the set of _default_ databases to test against for users of the `TestDatabases` class was also updated to include Postgres 14 and 18, instead of 13 and 17. If you need to override this, you can pass in an explicit `ids` argument, for example `ids: ['POSTGRES_17', 'POSTGRES_13', 'SQLITE_3']`.
+
+### Patch Changes
+
+- 05f60e1: Refactored constructor parameter properties to explicit property declarations for compatibility with TypeScript's `erasableSyntaxOnly` setting. This internal refactoring maintains all existing functionality while ensuring TypeScript compilation compatibility.
+- Updated dependencies
+ - @backstage/backend-defaults@0.13.1-next.0
+ - @backstage/plugin-events-node@0.4.17-next.0
+ - @backstage/plugin-auth-node@0.6.9-next.0
+ - @backstage/backend-app-api@1.2.9-next.0
+ - @backstage/config@1.3.6-next.0
+ - @backstage/backend-plugin-api@1.4.5-next.0
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.2
+ - @backstage/plugin-permission-common@0.9.3-next.0
+
+## 1.9.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-defaults@0.13.0
+ - @backstage/backend-app-api@1.2.8
+ - @backstage/config@1.3.5
+ - @backstage/backend-plugin-api@1.4.4
+ - @backstage/plugin-auth-node@0.6.8
+ - @backstage/plugin-events-node@0.4.16
+ - @backstage/plugin-permission-common@0.9.2
+
+## 1.9.1-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/config@1.3.4-next.0
+ - @backstage/backend-defaults@0.13.0-next.1
+ - @backstage/backend-app-api@1.2.8-next.0
+ - @backstage/backend-plugin-api@1.4.4-next.0
+ - @backstage/plugin-auth-node@0.6.8-next.0
+ - @backstage/plugin-permission-common@0.9.2-next.0
+ - @backstage/plugin-events-node@0.4.16-next.0
+
+## 1.9.1-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-defaults@0.13.0-next.0
+ - @backstage/backend-app-api@1.2.7
+ - @backstage/plugin-auth-node@0.6.7
+ - @backstage/backend-plugin-api@1.4.3
+ - @backstage/config@1.3.3
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.2
+ - @backstage/plugin-events-node@0.4.15
+ - @backstage/plugin-permission-common@0.9.1
+
+## 1.9.0
+
+### Minor Changes
+
+- 4e2c237: The `mockServices.rootConfig()` instance now has an `update` method that can be used to test configuration subscriptions and updates.
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-defaults@0.12.1
+ - @backstage/plugin-auth-node@0.6.7
+ - @backstage/plugin-events-node@0.4.15
+ - @backstage/types@1.2.2
+ - @backstage/backend-app-api@1.2.7
+ - @backstage/backend-plugin-api@1.4.3
+
+## 1.9.0-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.7-next.0
+ - @backstage/backend-defaults@0.12.1-next.0
+ - @backstage/backend-plugin-api@1.4.3-next.0
+ - @backstage/backend-app-api@1.2.7-next.0
+ - @backstage/plugin-events-node@0.4.15-next.0
+
+## 1.9.0-next.0
+
+### Minor Changes
+
+- 4e2c237: The `mockServices.rootConfig()` instance now has an `update` method that can be used to test configuration subscriptions and updates.
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-app-api@1.2.6
+ - @backstage/backend-defaults@0.12.0
+ - @backstage/backend-plugin-api@1.4.2
+ - @backstage/config@1.3.3
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.1
+ - @backstage/plugin-auth-node@0.6.6
+ - @backstage/plugin-events-node@0.4.14
+ - @backstage/plugin-permission-common@0.9.1
+
+## 1.8.0
+
+### Minor Changes
+
+- dffaf70: Switched out `mockServices.scheduler` to use a mocked implementation instead of the default scheduler implementation. This implementation runs any scheduled tasks immediately on startup, as long as they don't have an initial delay or a manual trigger. After the initial run, the tasks are never run again unless manually triggered.
+
+### Patch Changes
+
+- 279e1f7: Updated the type definition of `mockErrorHandler` to ensure that it is used correctly.
+
+ ```ts
+ // This is wrong and will now result in a type error
+ app.use(mockErrorHandler);
+
+ // This is the correct usage
+ app.use(mockErrorHandler());
+ ```
+
+- 3a7dad9: Updated `better-sqlite3` to v12
+
+- Updated dependencies
+ - @backstage/backend-defaults@0.12.0
+ - @backstage/backend-app-api@1.2.6
+ - @backstage/plugin-auth-node@0.6.6
+ - @backstage/backend-plugin-api@1.4.2
+ - @backstage/plugin-events-node@0.4.14
+
+## 1.7.1-next.0
+
+### Patch Changes
+
+- 3a7dad9: Updated `better-sqlite3` to v12
+- Updated dependencies
+ - @backstage/backend-defaults@0.11.2-next.0
+ - @backstage/backend-app-api@1.2.6-next.0
+ - @backstage/plugin-auth-node@0.6.6-next.0
+ - @backstage/backend-plugin-api@1.4.2-next.0
+ - @backstage/plugin-events-node@0.4.14-next.0
+ - @backstage/config@1.3.3
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.1
+ - @backstage/plugin-permission-common@0.9.1
+
+## 1.7.0
+
+### Minor Changes
+
+- ead925a: Add a standard `toString` on credentials objects
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/config@1.3.3
+ - @backstage/plugin-permission-common@0.9.1
+ - @backstage/backend-defaults@0.11.1
+ - @backstage/backend-app-api@1.2.5
+ - @backstage/backend-plugin-api@1.4.1
+ - @backstage/plugin-auth-node@0.6.5
+ - @backstage/plugin-events-node@0.4.13
+
+## 1.7.0-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/config@1.3.3-next.0
+ - @backstage/plugin-permission-common@0.9.1-next.0
+ - @backstage/backend-defaults@0.11.1-next.1
+ - @backstage/backend-app-api@1.2.5-next.0
+ - @backstage/backend-plugin-api@1.4.1-next.0
+ - @backstage/plugin-auth-node@0.6.5-next.0
+ - @backstage/plugin-events-node@0.4.13-next.0
+
+## 1.7.0-next.0
+
+### Minor Changes
+
+- ead925a: Add a standard `toString` on credentials objects
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-defaults@0.11.1-next.0
+ - @backstage/backend-app-api@1.2.4
+ - @backstage/plugin-auth-node@0.6.4
+ - @backstage/backend-plugin-api@1.4.0
+ - @backstage/plugin-events-node@0.4.12
+ - @backstage/config@1.3.2
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.1
+ - @backstage/plugin-permission-common@0.9.0
+
+## 1.6.0
+
+### Minor Changes
+
+- 6dfb7be: Added `mockServices.permissions()` that can return actual results.
+- c999c25: Added an `actionsRegistryServiceMock` and `actionsServiceMock` to `/alpha` export for the experimental services.
+
+ This allows you to write tests for your actions by doing something similar to the following:
+
+ ```ts
+ import { actionsRegistryServiceMock } from '@backstage/backend-test-utils/alpha';
+
+ const mockActionsRegistry = actionsRegistryServiceMock();
+ const mockCatalog = catalogServiceMock({
+ entities: [
+ ...
+ ],
+ });
+
+ createGetCatalogEntityAction({
+ catalog: mockCatalog,
+ actionsRegistry: mockActionsRegistry,
+ });
+
+ await expect(
+ mockActionsRegistry.invoke({
+ id: 'test:get-catalog-entity',
+ input: { name: 'test' },
+ }),
+ ).resolves.toEqual(...)
+ ```
+
+### Patch Changes
+
+- 12c1fd4: Make the `user` credentials mock behave more like production
+- Updated dependencies
+ - @backstage/backend-defaults@0.11.0
+ - @backstage/plugin-auth-node@0.6.4
+ - @backstage/backend-app-api@1.2.4
+ - @backstage/backend-plugin-api@1.4.0
+ - @backstage/config@1.3.2
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.1
+ - @backstage/plugin-events-node@0.4.12
+ - @backstage/plugin-permission-common@0.9.0
+
+## 1.6.0-next.2
+
+### Patch Changes
+
+- 12c1fd4: Make the `user` credentials mock behave more like production
+- Updated dependencies
+ - @backstage/backend-defaults@0.11.0-next.2
+ - @backstage/backend-app-api@1.2.4-next.2
+ - @backstage/backend-plugin-api@1.4.0-next.1
+ - @backstage/config@1.3.2
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.1
+ - @backstage/plugin-auth-node@0.6.4-next.1
+ - @backstage/plugin-events-node@0.4.12-next.1
+
+## 1.6.0-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.4-next.1
+ - @backstage/backend-app-api@1.2.4-next.1
+ - @backstage/backend-defaults@0.10.1-next.1
+ - @backstage/backend-plugin-api@1.4.0-next.1
+ - @backstage/config@1.3.2
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.1
+ - @backstage/plugin-events-node@0.4.12-next.1
+
+## 1.6.0-next.0
+
+### Minor Changes
+
+- c999c25: Added mock implementations for `ActionsService` and `ActionsRegistryService`
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.4.0-next.0
+ - @backstage/backend-defaults@0.10.1-next.0
+ - @backstage/backend-app-api@1.2.4-next.0
+ - @backstage/plugin-auth-node@0.6.4-next.0
+ - @backstage/plugin-events-node@0.4.12-next.0
+
+## 1.5.0
+
+### Minor Changes
+
+- b3832d1: Add a functional `mockServices.events()`
+- c6bc67d: Added Valkey support alongside Redis in backend-defaults cache clients, using the new Keyv Valkey package. Also extended backend-test-utils to support Valkey in tests.
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-defaults@0.10.0
+ - @backstage/backend-app-api@1.2.3
+ - @backstage/plugin-auth-node@0.6.3
+ - @backstage/backend-plugin-api@1.3.1
+ - @backstage/config@1.3.2
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.1
+ - @backstage/plugin-events-node@0.4.11
+
+## 1.5.0-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-defaults@0.10.0-next.3
+ - @backstage/plugin-auth-node@0.6.3-next.2
+ - @backstage/backend-app-api@1.2.3-next.2
+ - @backstage/backend-plugin-api@1.3.1-next.2
+ - @backstage/config@1.3.2
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.1
+ - @backstage/plugin-events-node@0.4.11-next.2
+
+## 1.5.0-next.2
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-defaults@0.10.0-next.2
+ - @backstage/config@1.3.2
+ - @backstage/backend-app-api@1.2.3-next.1
+ - @backstage/plugin-auth-node@0.6.3-next.1
+ - @backstage/backend-plugin-api@1.3.1-next.1
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.1
+ - @backstage/plugin-events-node@0.4.11-next.1
+
+## 1.5.0-next.1
+
+### Minor Changes
+
+- c6bc67d: Added Valkey support alongside Redis in backend-defaults cache clients, using the new Keyv Valkey package. Also extended backend-test-utils to support Valkey in tests.
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-defaults@0.10.0-next.1
+ - @backstage/backend-app-api@1.2.3-next.1
+ - @backstage/plugin-auth-node@0.6.3-next.1
+ - @backstage/backend-plugin-api@1.3.1-next.1
+ - @backstage/config@1.3.2
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.1
+ - @backstage/plugin-events-node@0.4.11-next.1
+
+## 1.5.0-next.0
+
+### Minor Changes
+
+- b3832d1: Add a functional `mockServices.events()`
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-defaults@0.9.1-next.0
+ - @backstage/backend-app-api@1.2.3-next.0
+ - @backstage/backend-plugin-api@1.3.1-next.0
+ - @backstage/plugin-auth-node@0.6.3-next.0
+ - @backstage/plugin-events-node@0.4.11-next.0
+ - @backstage/config@1.3.2
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.1
+
+## 1.4.0
+
+### Minor Changes
+
+- cf4eb13: Added `actor` property to `BackstageUserPrincipal` containing the subject of the last service (if any) who performed authentication on behalf of the user.
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-defaults@0.9.0
+ - @backstage/backend-plugin-api@1.3.0
+ - @backstage/backend-app-api@1.2.2
+ - @backstage/plugin-auth-node@0.6.2
+ - @backstage/config@1.3.2
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.1
+ - @backstage/plugin-events-node@0.4.10
+
+## 1.3.2-next.2
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-defaults@0.9.0-next.2
+ - @backstage/backend-app-api@1.2.1
+ - @backstage/backend-plugin-api@1.2.1
+ - @backstage/config@1.3.2
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.1
+ - @backstage/plugin-auth-node@0.6.1
+ - @backstage/plugin-events-node@0.4.9
+
+## 1.3.2-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-defaults@0.9.0-next.1
+ - @backstage/backend-app-api@1.2.1
+ - @backstage/plugin-auth-node@0.6.1
+ - @backstage/backend-plugin-api@1.2.1
+ - @backstage/config@1.3.2
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.1
+ - @backstage/plugin-events-node@0.4.9
+
+## 1.3.2-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-defaults@0.9.0-next.0
+ - @backstage/backend-app-api@1.2.1
+ - @backstage/plugin-auth-node@0.6.1
+ - @backstage/backend-plugin-api@1.2.1
+ - @backstage/config@1.3.2
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.1
+ - @backstage/plugin-events-node@0.4.9
+
+## 1.3.1
+
+### Patch Changes
+
+- c3a91d5: Added support for PostgreSQL version 17
+- 37c6510: Moved `@types/jest` to `devDependencies`.
+- Updated dependencies
+ - @backstage/backend-defaults@0.8.2
+ - @backstage/plugin-auth-node@0.6.1
+ - @backstage/plugin-events-node@0.4.9
+ - @backstage/backend-app-api@1.2.1
+ - @backstage/backend-plugin-api@1.2.1
+ - @backstage/config@1.3.2
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.1
+
+## 1.3.1-next.2
+
+### Patch Changes
+
+- 37c6510: Moved `@types/jest` to `devDependencies`.
+- Updated dependencies
+ - @backstage/backend-defaults@0.8.2-next.2
+ - @backstage/plugin-events-node@0.4.9-next.2
+ - @backstage/backend-app-api@1.2.1-next.2
+ - @backstage/backend-plugin-api@1.2.1-next.1
+ - @backstage/config@1.3.2
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.1
+ - @backstage/plugin-auth-node@0.6.1-next.1
+
+## 1.3.1-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.1-next.1
+ - @backstage/backend-app-api@1.2.1-next.1
+ - @backstage/backend-defaults@0.8.2-next.1
+ - @backstage/backend-plugin-api@1.2.1-next.1
+ - @backstage/config@1.3.2
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.1
+ - @backstage/plugin-events-node@0.4.9-next.1
+
+## 1.3.1-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-defaults@0.8.2-next.0
+ - @backstage/backend-app-api@1.2.1-next.0
+ - @backstage/plugin-auth-node@0.6.1-next.0
+ - @backstage/backend-plugin-api@1.2.1-next.0
+ - @backstage/plugin-events-node@0.4.9-next.0
+
+## 1.3.0
+
+### Minor Changes
+
+- dd05a97: Added mocks for the new `PermissionsRegistryService`.
+- a4aa244: This change introduces mocks for the `auditor` service.
+
+### Patch Changes
+
+- f866b86: Internal refactor to use explicit `require` for lazy-loading dependency.
+- fb051f2: Sync feature installation compatibility logic with `@backstage/backend-app-api`.
+- 72cddf2: Added the new `getPermissionRuleset` method to `mockServices.permissionsRegistry`.
+- Updated dependencies
+ - @backstage/backend-defaults@0.8.0
+ - @backstage/backend-plugin-api@1.2.0
+ - @backstage/plugin-auth-node@0.6.0
+ - @backstage/backend-app-api@1.2.0
+ - @backstage/config@1.3.2
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.1
+ - @backstage/plugin-events-node@0.4.8
+
+## 1.3.0-next.3
+
+### Patch Changes
+
+- 72cddf2: Added the new `getPermissionRuleset` method to `mockServices.permissionsRegistry`.
+- Updated dependencies
+ - @backstage/backend-defaults@0.8.0-next.3
+ - @backstage/backend-plugin-api@1.2.0-next.2
+ - @backstage/backend-app-api@1.2.0-next.3
+ - @backstage/plugin-auth-node@0.6.0-next.2
+ - @backstage/plugin-events-node@0.4.8-next.2
+ - @backstage/config@1.3.2
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.1
+
+## 1.3.0-next.2
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.2.0-next.1
+ - @backstage/plugin-auth-node@0.6.0-next.1
+ - @backstage/backend-defaults@0.8.0-next.2
+ - @backstage/backend-app-api@1.2.0-next.2
+ - @backstage/config@1.3.2
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.1
+ - @backstage/plugin-events-node@0.4.8-next.1
+
+## 1.3.0-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-app-api@1.1.2-next.1
+ - @backstage/backend-defaults@0.8.0-next.1
+ - @backstage/backend-plugin-api@1.2.0-next.0
+ - @backstage/config@1.3.2
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.1
+ - @backstage/plugin-auth-node@0.5.7-next.0
+ - @backstage/plugin-events-node@0.4.8-next.0
+
+## 1.3.0-next.0
+
+### Minor Changes
+
+- dd05a97: Added mocks for the new `PermissionsRegistryService`.
+- a4aa244: This change introduces mocks for the `auditor` service.
+
+### Patch Changes
+
+- f866b86: Internal refactor to use explicit `require` for lazy-loading dependency.
+- fb051f2: Sync feature installation compatibility logic with `@backstage/backend-app-api`.
+- Updated dependencies
+ - @backstage/backend-defaults@0.8.0-next.0
+ - @backstage/backend-plugin-api@1.2.0-next.0
+ - @backstage/backend-app-api@1.1.2-next.0
+ - @backstage/config@1.3.2
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.1
+ - @backstage/plugin-auth-node@0.5.7-next.0
+ - @backstage/plugin-events-node@0.4.8-next.0
+
+## 1.2.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-defaults@0.7.0
+ - @backstage/backend-app-api@1.1.1
+ - @backstage/types@1.2.1
+ - @backstage/plugin-auth-node@0.5.6
+ - @backstage/backend-plugin-api@1.1.1
+ - @backstage/config@1.3.2
+ - @backstage/errors@1.2.7
+ - @backstage/plugin-events-node@0.4.7
+
+## 1.2.1-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/types@1.2.1-next.0
+ - @backstage/backend-app-api@1.1.1-next.1
+ - @backstage/backend-defaults@0.7.0-next.1
+ - @backstage/backend-plugin-api@1.1.1-next.1
+ - @backstage/config@1.3.2-next.0
+ - @backstage/errors@1.2.7-next.0
+ - @backstage/plugin-auth-node@0.5.6-next.1
+ - @backstage/plugin-events-node@0.4.7-next.1
+
+## 1.2.1-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-defaults@0.7.0-next.0
+ - @backstage/backend-app-api@1.1.1-next.0
+ - @backstage/plugin-auth-node@0.5.6-next.0
+ - @backstage/backend-plugin-api@1.1.1-next.0
+ - @backstage/config@1.3.1
+ - @backstage/errors@1.2.6
+ - @backstage/types@1.2.0
+ - @backstage/plugin-events-node@0.4.7-next.0
+
+## 1.2.0
+
+### Minor Changes
+
+- de6f280: **BREAKING** Upgraded @keyv/redis and keyv packages to resolve a bug related to incorrect resolution of cache keys.
+
+ This is a breaking change for clients using the `redis` store for cache with `useRedisSets` option set to false since cache keys will be calculated differently (without the sets:namespace: prefix). For clients with default configuration (or useRedisSets set to false) the cache keys will stay the same, but since @keyv/redis library no longer supports redis sets they won't be utilised anymore.
+
+ If you were using `useRedisSets` option in configuration make sure to remove it from `app-config.yaml`:
+
+ ```diff
+ backend:
+ cache:
+ store: redis
+ connection: redis://user:pass@cache.example.com:6379
+ - useRedisSets: false
+ ```
+
+### Patch Changes
+
+- 0e9c9fa: Mock the new `RootLifecycleService.addBeforeShutdownHook` method.
+- Updated dependencies
+ - @backstage/backend-defaults@0.6.0
+ - @backstage/plugin-auth-node@0.5.5
+ - @backstage/backend-plugin-api@1.1.0
+ - @backstage/backend-app-api@1.1.0
+ - @backstage/plugin-events-node@0.4.6
+ - @backstage/errors@1.2.6
+ - @backstage/config@1.3.1
+ - @backstage/types@1.2.0
+
+## 1.2.0-next.2
+
+### Patch Changes
+
+- 0e9c9fa: Mock the new `RootLifecycleService.addBeforeShutdownHook` method.
+- Updated dependencies
+ - @backstage/backend-defaults@0.6.0-next.2
+ - @backstage/backend-plugin-api@1.1.0-next.2
+ - @backstage/backend-app-api@1.1.0-next.2
+ - @backstage/errors@1.2.6-next.0
+ - @backstage/plugin-auth-node@0.5.5-next.2
+ - @backstage/plugin-events-node@0.4.6-next.2
+ - @backstage/config@1.3.1-next.0
+ - @backstage/types@1.2.0
+
+## 1.2.0-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.5.5-next.1
+ - @backstage/backend-defaults@0.6.0-next.1
+ - @backstage/backend-app-api@1.1.0-next.1
+ - @backstage/backend-plugin-api@1.1.0-next.1
+ - @backstage/config@1.3.0
+ - @backstage/errors@1.2.5
+ - @backstage/types@1.2.0
+ - @backstage/plugin-events-node@0.4.6-next.1
+
+## 1.2.0-next.0
+
+### Minor Changes
+
+- de6f280: **BREAKING** Upgraded @keyv/redis and keyv packages to resolve a bug related to incorrect resolution of cache keys.
+
+ This is a breaking change for clients using the `redis` store for cache with `useRedisSets` option set to false since cache keys will be calculated differently (without the sets:namespace: prefix). For clients with default configuration (or useRedisSets set to false) the cache keys will stay the same, but since @keyv/redis library no longer supports redis sets they won't be utilised anymore.
+
+ If you were using `useRedisSets` option in configuration make sure to remove it from `app-config.yaml`:
+
+ ```diff
+ backend:
+ cache:
+ store: redis
+ connection: redis://user:pass@cache.example.com:6379
+ - useRedisSets: false
+ ```
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-defaults@0.6.0-next.0
+ - @backstage/backend-plugin-api@1.0.3-next.0
+ - @backstage/backend-app-api@1.0.3-next.0
+ - @backstage/plugin-events-node@0.4.6-next.0
+ - @backstage/plugin-auth-node@0.5.5-next.0
+ - @backstage/config@1.3.0
+ - @backstage/errors@1.2.5
+ - @backstage/types@1.2.0
+
+## 1.1.0
+
+### Minor Changes
+
+- 5064827: Made it possible to construct `mockServices.database` with a given knex instance
+
+### Patch Changes
+
+- 7aae8e3: The `mockServices.discovery.factory()` factory now uses the mocked discovery service as its implementation, avoid the need for configuration.
+- eb82994: Removed unused `msw` dependency.
+- 4e58bc7: Upgrade to uuid v11 internally
+- Updated dependencies
+ - @backstage/config@1.3.0
+ - @backstage/plugin-events-node@0.4.5
+ - @backstage/backend-defaults@0.5.3
+ - @backstage/types@1.2.0
+ - @backstage/plugin-auth-node@0.5.4
+ - @backstage/backend-plugin-api@1.0.2
+ - @backstage/backend-app-api@1.0.2
+ - @backstage/errors@1.2.5
+
+## 1.1.0-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-events-node@0.4.5-next.3
+ - @backstage/backend-defaults@0.5.3-next.3
+ - @backstage/backend-app-api@1.0.2-next.2
+ - @backstage/backend-plugin-api@1.0.2-next.2
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+ - @backstage/types@1.1.1
+ - @backstage/plugin-auth-node@0.5.4-next.2
+
+## 1.1.0-next.2
+
+### Minor Changes
+
+- 5064827: Made it possible to construct `mockServices.database` with a given knex instance
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-defaults@0.5.3-next.2
+ - @backstage/plugin-events-node@0.4.5-next.2
+ - @backstage/plugin-auth-node@0.5.4-next.2
+ - @backstage/backend-app-api@1.0.2-next.2
+ - @backstage/backend-plugin-api@1.0.2-next.2
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+ - @backstage/types@1.1.1
+
+## 1.0.3-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-app-api@1.0.2-next.1
+ - @backstage/backend-defaults@0.5.3-next.1
+ - @backstage/backend-plugin-api@1.0.2-next.1
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+ - @backstage/types@1.1.1
+ - @backstage/plugin-auth-node@0.5.4-next.1
+ - @backstage/plugin-events-node@0.4.4-next.1
+
+## 1.0.3-next.0
+
+### Patch Changes
+
+- 7aae8e3: The `mockServices.discovery.factory()` factory now uses the mocked discovery service as its implementation, avoid the need for configuration.
+- eb82994: Removed unused `msw` dependency.
+- Updated dependencies
+ - @backstage/plugin-events-node@0.4.3-next.0
+ - @backstage/plugin-auth-node@0.5.4-next.0
+ - @backstage/backend-defaults@0.5.3-next.0
+ - @backstage/backend-app-api@1.0.2-next.0
+ - @backstage/backend-plugin-api@1.0.2-next.0
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+ - @backstage/types@1.1.1
+
+## 1.0.1
+
+### Patch Changes
+
+- fd6e6f4: build(deps): bump `cookie` from 0.6.0 to 0.7.0
+- a19ce00: The `createMockDirectory` cleanup strategy has been changed, no longer requiring it to be called outside individual tests.
+- 9cc7dd6: Minor doc string changes
+- Updated dependencies
+ - @backstage/backend-defaults@0.5.1
+ - @backstage/backend-app-api@1.0.1
+ - @backstage/plugin-auth-node@0.5.3
+ - @backstage/plugin-events-node@0.4.1
+ - @backstage/backend-plugin-api@1.0.1
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+ - @backstage/types@1.1.1
+
+## 1.0.1-next.2
+
+### Patch Changes
+
+- fd6e6f4: build(deps): bump `cookie` from 0.6.0 to 0.7.0
+- Updated dependencies
+ - @backstage/backend-app-api@1.0.1-next.1
+ - @backstage/backend-defaults@0.5.1-next.2
+ - @backstage/plugin-auth-node@0.5.3-next.1
+ - @backstage/backend-plugin-api@1.0.1-next.1
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+ - @backstage/types@1.1.1
+ - @backstage/plugin-events-node@0.4.1-next.1
+
+## 1.0.1-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-defaults@0.5.1-next.1
+ - @backstage/backend-app-api@1.0.1-next.0
+ - @backstage/backend-plugin-api@1.0.1-next.0
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+ - @backstage/types@1.1.1
+ - @backstage/plugin-auth-node@0.5.3-next.0
+ - @backstage/plugin-events-node@0.4.1-next.0
+
+## 1.0.1-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-defaults@0.5.1-next.0
+ - @backstage/backend-app-api@1.0.1-next.0
+ - @backstage/plugin-events-node@0.4.1-next.0
+ - @backstage/plugin-auth-node@0.5.3-next.0
+ - @backstage/backend-plugin-api@1.0.1-next.0
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+ - @backstage/types@1.1.1
+
+## 1.0.0
+
+### Major Changes
+
+- ec1b4be: Release 1.0 of the new backend system! :tada:
+
+ The backend system is finally getting promoted to 1.0.0. This means that the API is now stable and breaking changes should not occur until version 2.0.0, see our [package versioning policy](https://backstage.io/docs/overview/versioning-policy/#package-versioning-policy) for more information what this means.
+
+ This release also marks the end of the old backend system based on `createRouter` exports. Going forward backend plugins packages will start to deprecate and later this year remove exports supporting the old backend system. If you would like to help out with this transition, see or consult the [migration guide](https://backstage.io/docs/backend-system/building-plugins-and-modules/migrating/#remove-support-for-the-old-backend-system).
+
+### Minor Changes
+
+- 19ff127: **BREAKING**: Removed service mocks for the identity and token manager services, which have been removed from `@backstage/backend-plugin-api`.
+- d425fc4: **BREAKING**: The return values from `createBackendPlugin`, `createBackendModule`, and `createServiceFactory` are now simply `BackendFeature` and `ServiceFactory`, instead of the previously deprecated form of a function that returns them. For this reason, `createServiceFactory` also no longer accepts the callback form where you provide direct options to the service. This also affects all `coreServices.*` service refs.
+
+ This may in particular affect tests; if you were effectively doing `createBackendModule({...})()` (note the parentheses), you can now remove those extra parentheses at the end. You may encounter cases of this in your `packages/backend/src/index.ts` too, where you add plugins, modules, and services. If you were using `createServiceFactory` with a function as its argument for the purpose of passing in options, this pattern has been deprecated for a while and is no longer supported. You may want to explore the new multiton patterns to achieve your goals, or moving settings to app-config.
+
+ As part of this change, the `IdentityFactoryOptions` type was removed, and can no longer be used to tweak that service. The identity service was also deprecated some time ago, and you will want to [migrate to the new auth system](https://backstage.io/docs/tutorials/auth-service-migration) if you still rely on it.
+
+### Patch Changes
+
+- 710f621: Added missing service mock for `mockServices.rootConfig.mock`, and fixed the definition of `mockServices.rootHttpRouter.factory` to not have a duplicate callback.
+- f421d2a: Make MySQL pool settings a bit more lax
+- 0363bf1: There is a new `mockErrorHandler` utility to help in mocking the error middleware in tests.
+- c2b63ab: Updated dependency `supertest` to `^7.0.0`.
+- Updated dependencies
+ - @backstage/backend-defaults@0.5.0
+ - @backstage/backend-app-api@1.0.0
+ - @backstage/backend-plugin-api@1.0.0
+ - @backstage/plugin-auth-node@0.5.2
+ - @backstage/plugin-events-node@0.4.0
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+ - @backstage/types@1.1.1
+
+## 1.0.0-next.2
+
+### Major Changes
+
+- ec1b4be: Release 1.0 of the new backend system! :tada:
+
+ The backend system is finally getting promoted to 1.0.0. This means that the API is now stable and breaking changes should not occur until version 2.0.0, see our [package versioning policy](https://backstage.io/docs/overview/versioning-policy/#package-versioning-policy) for more information what this means.
+
+ This release also marks the end of the old backend system based on `createRouter` exports. Going forward backend plugins packages will start to deprecate and later this year remove exports supporting the old backend system. If you would like to help out with this transition, see or consult the [migration guide](https://backstage.io/docs/backend-system/building-plugins-and-modules/migrating/#remove-support-for-the-old-backend-system).
+
+### Patch Changes
+
+- f421d2a: Make MySQL pool settings a bit more lax
+- c2b63ab: Updated dependency `supertest` to `^7.0.0`.
+- Updated dependencies
+ - @backstage/backend-app-api@1.0.0-next.2
+ - @backstage/backend-defaults@0.5.0-next.2
+ - @backstage/plugin-auth-node@0.5.2-next.2
+ - @backstage/backend-plugin-api@1.0.0-next.2
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+ - @backstage/types@1.1.1
+ - @backstage/plugin-events-node@0.4.0-next.2
+
+## 0.6.0-next.1
+
+### Patch Changes
+
+- 710f621: Added missing service mock for `mockServices.rootConfig.mock`, and fixed the definition of `mockServices.rootHttpRouter.factory` to not have a duplicate callback.
+- Updated dependencies
+ - @backstage/backend-defaults@0.5.0-next.1
+ - @backstage/plugin-auth-node@0.5.2-next.1
+ - @backstage/backend-app-api@0.10.0-next.1
+ - @backstage/backend-plugin-api@0.9.0-next.1
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+ - @backstage/types@1.1.1
+ - @backstage/plugin-events-node@0.4.0-next.1
+
+## 0.6.0-next.0
+
+### Minor Changes
+
+- 19ff127: **BREAKING**: Removed service mocks for the identity and token manager services, which have been removed from `@backstage/backend-plugin-api`.
+- d425fc4: **BREAKING**: The return values from `createBackendPlugin`, `createBackendModule`, and `createServiceFactory` are now simply `BackendFeature` and `ServiceFactory`, instead of the previously deprecated form of a function that returns them. For this reason, `createServiceFactory` also no longer accepts the callback form where you provide direct options to the service. This also affects all `coreServices.*` service refs.
+
+ This may in particular affect tests; if you were effectively doing `createBackendModule({...})()` (note the parentheses), you can now remove those extra parentheses at the end. You may encounter cases of this in your `packages/backend/src/index.ts` too, where you add plugins, modules, and services. If you were using `createServiceFactory` with a function as its argument for the purpose of passing in options, this pattern has been deprecated for a while and is no longer supported. You may want to explore the new multiton patterns to achieve your goals, or moving settings to app-config.
+
+ As part of this change, the `IdentityFactoryOptions` type was removed, and can no longer be used to tweak that service. The identity service was also deprecated some time ago, and you will want to [migrate to the new auth system](https://backstage.io/docs/tutorials/auth-service-migration) if you still rely on it.
+
+### Patch Changes
+
+- 0363bf1: There is a new `mockErrorHandler` utility to help in mocking the error middleware in tests.
+- Updated dependencies
+ - @backstage/backend-app-api@0.10.0-next.0
+ - @backstage/backend-plugin-api@0.9.0-next.0
+ - @backstage/backend-defaults@0.5.0-next.0
+ - @backstage/plugin-events-node@0.4.0-next.0
+ - @backstage/plugin-auth-node@0.5.2-next.0
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+ - @backstage/types@1.1.1
+
+## 0.5.0
+
+### Minor Changes
+
+- 861f162: **BREAKING**: Removed these deprecated helpers:
+
+ - `setupRequestMockHandlers` is removed; use `registerMswTestHooks` instead.
+ - `MockDirectoryOptions` is removed; use `CreateMockDirectoryOptions` instead.
+
+ Stopped exporting the deprecated and internal `isDockerDisabledForTests` helper.
+
+ Removed `get` method from `ServiceFactoryTester` which is replaced by `getSubject`
+
+### Patch Changes
+
+- 8b13183: Internal updates to support latest version of `BackendFeauture`s from `@backstage/backend-plugin-api`.
+- b63d378: Update internal imports
+- 7c5f3b0: Update the `ServiceFactoryTester` to be able to test services that enables multi implementation installation.
+- 4e79d19: The default services for `startTestBackend` and `ServiceFactoryTester` now includes the Root Health Service.
+- Updated dependencies
+ - @backstage/backend-defaults@0.4.2
+ - @backstage/backend-app-api@0.9.0
+ - @backstage/backend-plugin-api@0.8.0
+ - @backstage/plugin-auth-node@0.5.0
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+ - @backstage/types@1.1.1
+ - @backstage/plugin-events-node@0.3.9
+
+## 0.4.5-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.8.0-next.3
+ - @backstage/backend-defaults@0.4.2-next.3
+ - @backstage/backend-app-api@0.8.1-next.3
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+ - @backstage/types@1.1.1
+ - @backstage/plugin-auth-node@0.5.0-next.3
+ - @backstage/plugin-events-node@0.3.9-next.3
+
+## 0.4.5-next.2
+
+### Patch Changes
+
+- 8b13183: Internal updates to support latest version of `BackendFeauture`s from `@backstage/backend-plugin-api`.
+- 7c5f3b0: Update the `ServiceFactoryTester` to be able to test services that enables multi implementation installation.
+- Updated dependencies
+ - @backstage/backend-defaults@0.4.2-next.2
+ - @backstage/backend-plugin-api@0.8.0-next.2
+ - @backstage/backend-app-api@0.8.1-next.2
+ - @backstage/plugin-auth-node@0.5.0-next.2
+ - @backstage/plugin-events-node@0.3.9-next.2
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+ - @backstage/types@1.1.1
+
+## 0.4.5-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.7.1-next.1
+ - @backstage/backend-app-api@0.8.1-next.1
+ - @backstage/backend-defaults@0.4.2-next.1
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+ - @backstage/types@1.1.1
+ - @backstage/plugin-auth-node@0.4.18-next.1
+ - @backstage/plugin-events-node@0.3.9-next.1
+
+## 0.4.5-next.0
+
+### Patch Changes
+
+- 4e79d19: The default services for `startTestBackend` and `ServiceFactoryTester` now includes the Root Health Service.
+- Updated dependencies
+ - @backstage/backend-defaults@0.4.2-next.0
+ - @backstage/backend-app-api@0.8.1-next.0
+ - @backstage/backend-plugin-api@0.7.1-next.0
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+ - @backstage/types@1.1.1
+ - @backstage/plugin-auth-node@0.4.18-next.0
+ - @backstage/plugin-events-node@0.3.9-next.0
+
+## 0.4.4
+
+### Patch Changes
+
+- 2f99178: The `ServiceFactoryTest.get` method was deprecated and the `ServiceFactoryTest.getSubject` should be used instead. The `getSubject` method has the same behavior, but has a better method name to indicate that the service instance returned is the subject currently being tested.
+- edf5cc3: The function `isDockerDisabledForTests` is deprecated and will no longer be exported in the near future as it should only be used internally.
+- b05e1e1: Service factories exported by this package have been updated to use the new service factory format that doesn't use a callback.
+- fce7887: Added mock for the Root Health Service in `mockServices`.
+- 906c817: Updated `startTestBackend` and `ServiceFactoryTester` to only accept plain service factory or backend feature objects, no longer supporting the callback form. This lines up with the changes to `@backstage/backend-plugin-api` and should not require any code changes.
+- 95a3a0b: Rename frontend and backend `setupRequestMockHandlers` methods to `registerMswTestHooks`.
+- b9ed1bb: bumped better-sqlite3 from ^9.0.0 to ^11.0.0
+- 98ccf00: Internal refactor of `mockServices.httpAuth.factory` to allow it to still be constructed with options, but without declaring options via `createServiceFactory`.
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.7.0
+ - @backstage/backend-defaults@0.4.0
+ - @backstage/backend-app-api@0.8.0
+ - @backstage/plugin-events-node@0.3.8
+ - @backstage/plugin-auth-node@0.4.17
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+ - @backstage/types@1.1.1
+
+## 0.4.4-next.1
+
+### Patch Changes
+
+- b9ed1bb: bumped better-sqlite3 from ^9.0.0 to ^11.0.0
+- Updated dependencies
+ - @backstage/backend-defaults@0.3.4-next.1
+ - @backstage/backend-app-api@0.7.10-next.1
+ - @backstage/backend-plugin-api@0.6.22-next.1
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+ - @backstage/types@1.1.1
+ - @backstage/plugin-auth-node@0.4.17-next.1
+ - @backstage/plugin-events-node@0.3.8-next.1
+
+## 0.4.3-next.0
+
+### Patch Changes
+
+- fce7887: Added mock for the Root Health Service in `mockServices`.
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.6.21-next.0
+ - @backstage/backend-defaults@0.3.3-next.0
+ - @backstage/backend-app-api@0.7.9-next.0
+ - @backstage/plugin-auth-node@0.4.16-next.0
+ - @backstage/plugin-events-node@0.3.7-next.0
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+ - @backstage/types@1.1.1
+
+## 0.4.0
+
+### Minor Changes
+
+- 805cbe7: Added `TestCaches` that functions just like `TestDatabases`
+
+### Patch Changes
+
+- 78a0b08: Internal refactor to handle `BackendFeature` contract change.
+- 9e63318: Made it possible to give access restrictions to `mockCredentials.service`
+- 006b3e8: The type `MockDirectoryOptions` was renamed to `CreateMockDirectoryOptions` so that it's clear these options are exclusive to the mock directory factory.
+- 0634fdc: Refactored `TestDatabases` to no longer depend on `backend-common`
+- 6a576dc: Fix the logger service mock to prevent returning `undefined` from the `child` method.
+- 6c11f6e: Use imports from backend-defaults instead of the deprecated ones from backend-app-api
+- Updated dependencies
+ - @backstage/backend-app-api@0.7.6
+ - @backstage/backend-plugin-api@0.6.19
+ - @backstage/plugin-auth-node@0.4.14
+ - @backstage/backend-defaults@0.3.0
+ - @backstage/plugin-events-node@0.3.5
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+ - @backstage/types@1.1.1
+
+## 0.4.0-next.3
+
+### Patch Changes
+
+- 006b3e8: The type `MockDirectoryOptions` was renamed to `CreateMockDirectoryOptions` so that it's clear these options are exclusive to the mock directory factory.
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.6.19-next.3
+ - @backstage/plugin-auth-node@0.4.14-next.3
+ - @backstage/plugin-events-node@0.3.5-next.2
+ - @backstage/backend-app-api@0.7.6-next.3
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+ - @backstage/types@1.1.1
+
+## 0.4.0-next.2
+
+### Patch Changes
+
+- 0634fdc: Refactored `TestDatabases` to no longer depend on `backend-common`
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.6.19-next.2
+ - @backstage/backend-app-api@0.7.6-next.2
+ - @backstage/plugin-auth-node@0.4.14-next.2
+ - @backstage/plugin-events-node@0.3.5-next.1
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+ - @backstage/types@1.1.1
+
+## 0.4.0-next.1
+
+### Minor Changes
+
+- 805cbe7: Added `TestCaches` that functions just like `TestDatabases`
+
+### Patch Changes
+
+- 9e63318: Made it possible to give access restrictions to `mockCredentials.service`
+- Updated dependencies
+ - @backstage/backend-app-api@0.7.6-next.1
+ - @backstage/backend-plugin-api@0.6.19-next.1
+ - @backstage/backend-common@0.23.0-next.1
+ - @backstage/plugin-auth-node@0.4.14-next.1
+ - @backstage/plugin-events-node@0.3.5-next.0
+
+## 0.3.9-next.0
+
+### Patch Changes
+
+- 6a576dc: Fix the logger service mock to prevent returning `undefined` from the `child` method.
+- Updated dependencies
+ - @backstage/backend-app-api@0.7.6-next.0
+ - @backstage/backend-common@0.22.1-next.0
+ - @backstage/plugin-events-node@0.3.5-next.0
+ - @backstage/backend-plugin-api@0.6.19-next.0
+ - @backstage/plugin-auth-node@0.4.14-next.0
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+ - @backstage/types@1.1.1
+
+## 0.3.8
+
+### Patch Changes
+
+- d229dc4: Move path utilities from `backend-common` to the `backend-plugin-api` package.
+- 7e5a50d: added `eventsServiceFactory` to `defaultServiceFactories` to resolve issue where different instances of the EventsServices could be used
+- Updated dependencies
+ - @backstage/backend-app-api@0.7.3
+ - @backstage/backend-common@0.22.0
+ - @backstage/backend-plugin-api@0.6.18
+ - @backstage/plugin-events-node@0.3.4
+ - @backstage/plugin-auth-node@0.4.13
+
+## 0.3.8-next.2
+
+### Patch Changes
+
+- 7e5a50d: added `eventsServiceFactory` to `defaultServiceFactories` to resolve issue where different instances of the EventsServices could be used
+- Updated dependencies
+ - @backstage/backend-common@0.22.0-next.2
+ - @backstage/plugin-events-node@0.3.4-next.2
+
+## 0.3.8-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-app-api@0.7.2-next.1
+ - @backstage/backend-common@0.22.0-next.1
+ - @backstage/plugin-auth-node@0.4.13-next.1
+ - @backstage/backend-plugin-api@0.6.18-next.1
+
+## 0.3.8-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-app-api@0.7.1-next.0
+ - @backstage/plugin-auth-node@0.4.13-next.0
+ - @backstage/backend-common@0.21.8-next.0
+ - @backstage/backend-plugin-api@0.6.18-next.0
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+ - @backstage/types@1.1.1
+
+## 0.3.7
+
+### Patch Changes
+
+- 3256f14: `startTestBackend` will now add placeholder plugins when a modules are provided without their parent plugin.
+- 007e7ea: Added mock of the new `listPublicServiceKeys` method for `AuthService`.
+- Updated dependencies
+ - @backstage/backend-common@0.21.7
+ - @backstage/backend-app-api@0.7.0
+ - @backstage/backend-plugin-api@0.6.17
+ - @backstage/plugin-auth-node@0.4.12
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+ - @backstage/types@1.1.1
+
+## 0.3.7-next.1
+
+### Patch Changes
+
+- 3256f14: `startTestBackend` will now add placeholder plugins when a modules are provided without their parent plugin.
+- 007e7ea: Added mock of the new `listPublicServiceKeys` method for `AuthService`.
+- Updated dependencies
+ - @backstage/backend-common@0.21.7-next.1
+ - @backstage/backend-app-api@0.7.0-next.1
+ - @backstage/backend-plugin-api@0.6.17-next.1
+ - @backstage/plugin-auth-node@0.4.12-next.1
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+ - @backstage/types@1.1.1
+
+## 0.3.7-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-app-api@0.6.3-next.0
+ - @backstage/backend-common@0.21.7-next.0
+ - @backstage/backend-plugin-api@0.6.17-next.0
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+ - @backstage/types@1.1.1
+ - @backstage/plugin-auth-node@0.4.12-next.0
+
+## 0.3.6
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-app-api@0.6.2
+ - @backstage/plugin-auth-node@0.4.11
+ - @backstage/backend-common@0.21.6
+ - @backstage/backend-plugin-api@0.6.16
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+ - @backstage/types@1.1.1
+
+## 0.3.5
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-app-api@0.6.1
+ - @backstage/backend-common@0.21.5
+ - @backstage/plugin-auth-node@0.4.10
+ - @backstage/backend-plugin-api@0.6.15
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+ - @backstage/types@1.1.1
+
+## 0.3.4
+
+### Patch Changes
+
+- 4a3d434: Added support for the new [`auth`](https://backstage.io/docs/backend-system/core-services/auth/) and [`httpAuth`](https://backstage.io/docs/backend-system/core-services/http-auth) services that were created as part of [BEP-0003](https://github.com/backstage/backstage/tree/master/beps/0003-auth-architecture-evolution). These services will be present by default in test apps, and you can access mocked versions of their features under `mockServices.auth` and `mockServices.httpAuth` if you want to inspect or replace their behaviors.
+
+ There is also a new `mockCredentials` that you can use for acquiring mocks of the various types of credentials that are used in the new system.
+
+- 9802004: Added `mockServices.userInfo`, which now also automatically is made available in test backends.
+
+- fd61d39: Updated dependency `testcontainers` to `^10.0.0`.
+
+- ff40ada: Updated dependency `mysql2` to `^3.0.0`.
+
+- 0fb419b: Updated dependency `uuid` to `^9.0.0`.
+ Updated dependency `@types/uuid` to `^9.0.0`.
+
+- Updated dependencies
+ - @backstage/backend-common@0.21.4
+ - @backstage/plugin-auth-node@0.4.9
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+ - @backstage/backend-plugin-api@0.6.14
+ - @backstage/backend-app-api@0.6.0
+ - @backstage/types@1.1.1
+
+## 0.3.4-next.2
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-app-api@0.6.0-next.2
+ - @backstage/backend-common@0.21.4-next.2
+ - @backstage/plugin-auth-node@0.4.9-next.2
+ - @backstage/backend-plugin-api@0.6.14-next.2
+ - @backstage/config@1.2.0-next.1
+ - @backstage/errors@1.2.4-next.0
+ - @backstage/types@1.1.1
+
+## 0.3.4-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/config@1.2.0-next.1
+ - @backstage/backend-app-api@0.6.0-next.1
+ - @backstage/backend-common@0.21.4-next.1
+ - @backstage/backend-plugin-api@0.6.14-next.1
+ - @backstage/plugin-auth-node@0.4.9-next.1
+ - @backstage/errors@1.2.4-next.0
+ - @backstage/types@1.1.1
+
+## 0.3.3-next.0
+
+### Patch Changes
+
+- 4a3d434: Added support for the new [`auth`](https://backstage.io/docs/backend-system/core-services/auth/) and [`httpAuth`](https://backstage.io/docs/backend-system/core-services/http-auth) services that were created as part of [BEP-0003](https://github.com/backstage/backstage/tree/master/beps/0003-auth-architecture-evolution). These services will be present by default in test apps, and you can access mocked versions of their features under `mockServices.auth` and `mockServices.httpAuth` if you want to inspect or replace their behaviors.
+
+ There is also a new `mockCredentials` that you can use for acquiring mocks of the various types of credentials that are used in the new system.
+
+- 9802004: Added `mockServices.userInfo`, which now also automatically is made available in test backends.
+
+- fd61d39: Updated dependency `testcontainers` to `^10.0.0`.
+
+- ff40ada: Updated dependency `mysql2` to `^3.0.0`.
+
+- 0fb419b: Updated dependency `uuid` to `^9.0.0`.
+ Updated dependency `@types/uuid` to `^9.0.0`.
+
+- Updated dependencies
+ - @backstage/backend-common@0.21.3-next.0
+ - @backstage/plugin-auth-node@0.4.8-next.0
+ - @backstage/errors@1.2.4-next.0
+ - @backstage/backend-plugin-api@0.6.13-next.0
+ - @backstage/backend-app-api@0.6.0-next.0
+ - @backstage/config@1.1.2-next.0
+ - @backstage/types@1.1.1
+
+## 0.3.0
+
+### Minor Changes
+
+- e85aa98: drop databases after unit tests if the database instance is not running in docker
+
+### Patch Changes
+
+- 6bb6f3e: Updated dependency `fs-extra` to `^11.2.0`.
+ Updated dependency `@types/fs-extra` to `^11.0.0`.
+- Updated dependencies
+ - @backstage/backend-common@0.21.0
+ - @backstage/plugin-auth-node@0.4.4
+ - @backstage/backend-app-api@0.5.11
+ - @backstage/backend-plugin-api@0.6.10
+ - @backstage/config@1.1.1
+ - @backstage/errors@1.2.3
+ - @backstage/types@1.1.1
+
+## 0.3.0-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.21.0-next.3
+ - @backstage/backend-app-api@0.5.11-next.3
+ - @backstage/plugin-auth-node@0.4.4-next.3
+ - @backstage/backend-plugin-api@0.6.10-next.3
+ - @backstage/config@1.1.1
+ - @backstage/errors@1.2.3
+ - @backstage/types@1.1.1
+
+## 0.3.0-next.2
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.21.0-next.2
+ - @backstage/backend-plugin-api@0.6.10-next.2
+ - @backstage/backend-app-api@0.5.11-next.2
+ - @backstage/plugin-auth-node@0.4.4-next.2
+ - @backstage/config@1.1.1
+ - @backstage/errors@1.2.3
+ - @backstage/types@1.1.1
+
+## 0.3.0-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.6.10-next.1
+ - @backstage/backend-common@0.21.0-next.1
+ - @backstage/backend-app-api@0.5.11-next.1
+ - @backstage/config@1.1.1
+ - @backstage/errors@1.2.3
+ - @backstage/types@1.1.1
+ - @backstage/plugin-auth-node@0.4.4-next.1
+
+## 0.3.0-next.0
+
+### Minor Changes
+
+- e85aa98: drop databases after unit tests if the database instance is not running in docker
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.21.0-next.0
+ - @backstage/backend-app-api@0.5.11-next.0
+ - @backstage/plugin-auth-node@0.4.4-next.0
+ - @backstage/backend-plugin-api@0.6.10-next.0
+ - @backstage/config@1.1.1
+ - @backstage/errors@1.2.3
+ - @backstage/types@1.1.1
+
+## 0.2.10
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.20.1
+ - @backstage/backend-plugin-api@0.6.9
+ - @backstage/backend-app-api@0.5.10
+ - @backstage/plugin-auth-node@0.4.3
+ - @backstage/config@1.1.1
+ - @backstage/errors@1.2.3
+ - @backstage/types@1.1.1
+
+## 0.2.10-next.2
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.6.9-next.2
+ - @backstage/backend-app-api@0.5.10-next.2
+ - @backstage/backend-common@0.20.1-next.2
+ - @backstage/plugin-auth-node@0.4.3-next.2
+
+## 0.2.10-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-app-api@0.5.10-next.1
+ - @backstage/backend-common@0.20.1-next.1
+ - @backstage/config@1.1.1
+ - @backstage/plugin-auth-node@0.4.3-next.1
+ - @backstage/backend-plugin-api@0.6.9-next.1
+ - @backstage/errors@1.2.3
+ - @backstage/types@1.1.1
+
+## 0.2.10-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.20.1-next.0
+ - @backstage/backend-app-api@0.5.10-next.0
+ - @backstage/backend-plugin-api@0.6.9-next.0
+ - @backstage/config@1.1.1
+ - @backstage/errors@1.2.3
+ - @backstage/types@1.1.1
+ - @backstage/plugin-auth-node@0.4.3-next.0
+
+## 0.2.9
+
+### Patch Changes
+
+- cc4228e: Switched module ID to use kebab-case.
+
+- b7de76a: Added support for PostgreSQL versions 15 and 16
+
+ Also introduced a new `setDefaults(options: { ids?: TestDatabaseId[] })` static method that can be added to the `setupTests.ts` file to define the default database ids you want to use throughout your package. Usage would look like this: `TestDatabases.setDefaults({ ids: ['POSTGRES_12','POSTGRES_16'] })` and would result in PostgreSQL versions 12 and 16 being used for your tests.
+
+- Updated dependencies
+ - @backstage/backend-common@0.20.0
+ - @backstage/backend-app-api@0.5.9
+ - @backstage/plugin-auth-node@0.4.2
+ - @backstage/backend-plugin-api@0.6.8
+ - @backstage/config@1.1.1
+ - @backstage/errors@1.2.3
+ - @backstage/types@1.1.1
+
+## 0.2.9-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.20.0-next.3
+ - @backstage/backend-app-api@0.5.9-next.3
+ - @backstage/backend-plugin-api@0.6.8-next.3
+ - @backstage/config@1.1.1
+ - @backstage/errors@1.2.3
+ - @backstage/types@1.1.1
+ - @backstage/plugin-auth-node@0.4.2-next.3
+
+## 0.2.9-next.2
+
+### Patch Changes
+
+- cc4228e: Switched module ID to use kebab-case.
+- Updated dependencies
+ - @backstage/backend-common@0.20.0-next.2
+ - @backstage/plugin-auth-node@0.4.2-next.2
+ - @backstage/backend-app-api@0.5.9-next.2
+ - @backstage/backend-plugin-api@0.6.8-next.2
+ - @backstage/config@1.1.1
+ - @backstage/errors@1.2.3
+ - @backstage/types@1.1.1
+
+## 0.2.9-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-app-api@0.5.9-next.1
+ - @backstage/backend-common@0.20.0-next.1
+ - @backstage/backend-plugin-api@0.6.8-next.1
+ - @backstage/config@1.1.1
+ - @backstage/errors@1.2.3
+ - @backstage/types@1.1.1
+ - @backstage/plugin-auth-node@0.4.2-next.1
+
+## 0.2.9-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.20.0-next.0
+ - @backstage/backend-app-api@0.5.9-next.0
+ - @backstage/plugin-auth-node@0.4.2-next.0
+ - @backstage/backend-plugin-api@0.6.8-next.0
+ - @backstage/config@1.1.1
+ - @backstage/errors@1.2.3
+ - @backstage/types@1.1.1
+
+## 0.2.8
+
+### Patch Changes
+
+- 013611b42e: `knex` has been bumped to major version 3 and `better-sqlite3` to major version 9, which deprecate node 16 support.
+- bb688f7b3b: Ensure recursive deletion of temporary directories in tests
+- Updated dependencies
+ - @backstage/backend-common@0.19.9
+ - @backstage/backend-plugin-api@0.6.7
+ - @backstage/backend-app-api@0.5.8
+ - @backstage/config@1.1.1
+ - @backstage/errors@1.2.3
+ - @backstage/types@1.1.1
+ - @backstage/plugin-auth-node@0.4.1
+
+## 0.2.8-next.2
+
+### Patch Changes
+
+- [#20570](https://github.com/backstage/backstage/pull/20570) [`013611b42e`](https://github.com/backstage/backstage/commit/013611b42ed457fefa9bb85fddf416cf5e0c1f76) Thanks [@freben](https://github.com/freben)! - `knex` has been bumped to major version 3 and `better-sqlite3` to major version 9, which deprecate node 16 support.
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.6.7-next.2
+ - @backstage/backend-common@0.19.9-next.2
+ - @backstage/backend-app-api@0.5.8-next.2
+ - @backstage/plugin-auth-node@0.4.1-next.2
+
+## 0.2.8-next.1
+
+### Patch Changes
+
+- bb688f7b3b: Ensure recursive deletion of temporary directories in tests
+- Updated dependencies
+ - @backstage/backend-common@0.19.9-next.1
+ - @backstage/backend-app-api@0.5.8-next.1
+ - @backstage/plugin-auth-node@0.4.1-next.1
+ - @backstage/backend-plugin-api@0.6.7-next.1
+ - @backstage/config@1.1.1
+ - @backstage/errors@1.2.3
+ - @backstage/types@1.1.1
+
+## 0.2.8-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-app-api@0.5.8-next.0
+ - @backstage/backend-common@0.19.9-next.0
+ - @backstage/backend-plugin-api@0.6.7-next.0
+ - @backstage/config@1.1.1
+ - @backstage/errors@1.2.3
+ - @backstage/types@1.1.1
+ - @backstage/plugin-auth-node@0.4.1-next.0
+
+## 0.2.7
+
+### Patch Changes
+
+- a250ad775f: Added `createMockDirectory()` to help out with file system mocking in tests.
+- 5ddc03813e: Remove third type parameter used for `MockInstance`, in order to be compatible with older versions of `@types/jest`.
+- 74491c9602: Updated to import `HostDiscovery` from `@backstage/backend-app-api`.
+- Updated dependencies
+ - @backstage/backend-common@0.19.8
+ - @backstage/plugin-auth-node@0.4.0
+ - @backstage/errors@1.2.3
+ - @backstage/backend-app-api@0.5.6
+ - @backstage/backend-plugin-api@0.6.6
+ - @backstage/config@1.1.1
+ - @backstage/types@1.1.1
+
+## 0.2.7-next.2
+
+### Patch Changes
+
+- a250ad775f: Added `createMockDirectory()` to help out with file system mocking in tests.
+- 74491c9602: Updated to import `HostDiscovery` from `@backstage/backend-app-api`.
+- Updated dependencies
+ - @backstage/backend-common@0.19.8-next.2
+ - @backstage/plugin-auth-node@0.4.0-next.2
+ - @backstage/errors@1.2.3-next.0
+ - @backstage/backend-app-api@0.5.6-next.2
+ - @backstage/backend-plugin-api@0.6.6-next.2
+ - @backstage/config@1.1.1-next.0
+ - @backstage/types@1.1.1
+
+## 0.2.6-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.19.7-next.1
+ - @backstage/backend-app-api@0.5.5-next.1
+ - @backstage/backend-plugin-api@0.6.5-next.1
+ - @backstage/plugin-auth-node@0.3.2-next.1
+ - @backstage/config@1.1.0
+ - @backstage/types@1.1.1
+
+## 0.2.6-next.0
+
+### Patch Changes
+
+- 5ddc03813e: Remove third type parameter used for `MockInstance`, in order to be compatible with older versions of `@types/jest`.
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.3.2-next.0
+ - @backstage/backend-common@0.19.7-next.0
+ - @backstage/config@1.1.0
+ - @backstage/backend-app-api@0.5.5-next.0
+ - @backstage/backend-plugin-api@0.6.5-next.0
+ - @backstage/types@1.1.1
+
+## 0.2.3
+
+### Patch Changes
+
+- 58cb5e5cea7b: Introduced a new utility for testing service factories, `ServiceFactoryTester`.
+- 202e52c5e361: Add support for installing backend features via module imports, for example `startTestBackend({ features: [import('my-plugin')] })`.
+- 9fb3b5373c45: Extended `mockService` to also include mocked variants, for example `mockServices.lifecycle.mock()`. The returned mocked implementation will have a `factory` property which is a service factory for itself. You can also pass a partial implementation of the service to the mock function to use a mock implementation of specific methods.
+- eb1594da5812: Serialize test database shutdown, and add logging
+- Updated dependencies
+ - @backstage/backend-app-api@0.5.3
+ - @backstage/backend-common@0.19.5
+ - @backstage/plugin-auth-node@0.3.0
+ - @backstage/config@1.1.0
+ - @backstage/types@1.1.1
+ - @backstage/backend-plugin-api@0.6.3
+
+## 0.2.3-next.3
+
+### Patch Changes
+
+- 202e52c5e361: Add support for installing backend features via module imports, for example `startTestBackend({ features: [import('my-plugin')] })`.
+- Updated dependencies
+ - @backstage/backend-app-api@0.5.3-next.3
+ - @backstage/config@1.1.0-next.2
+ - @backstage/types@1.1.1-next.0
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/plugin-auth-node@0.3.0-next.3
+
+## 0.2.3-next.2
+
+### Patch Changes
+
+- 58cb5e5cea7b: Introduced a new utility for testing service factories, `ServiceFactoryTester`.
+- Updated dependencies
+ - @backstage/backend-app-api@0.5.3-next.2
+ - @backstage/config@1.1.0-next.1
+ - @backstage/backend-common@0.19.5-next.2
+ - @backstage/plugin-auth-node@0.3.0-next.2
+ - @backstage/backend-plugin-api@0.6.3-next.2
+ - @backstage/types@1.1.0
+
+## 0.2.3-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/config@1.1.0-next.0
+ - @backstage/backend-app-api@0.5.3-next.1
+ - @backstage/backend-common@0.19.5-next.1
+ - @backstage/backend-plugin-api@0.6.3-next.1
+ - @backstage/plugin-auth-node@0.3.0-next.1
+ - @backstage/types@1.1.0
+
+## 0.2.2-next.0
+
+### Patch Changes
+
+- 9fb3b5373c45: Extended `mockService` to also include mocked variants, for example `mockServices.lifecycle.mock()`. The returned mocked implementation will have a `factory` property which is a service factory for itself. You can also pass a partial implementation of the service to the mock function to use a mock implementation of specific methods.
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.3.0-next.0
+ - @backstage/backend-common@0.19.4-next.0
+ - @backstage/backend-app-api@0.5.2-next.0
+ - @backstage/backend-plugin-api@0.6.2-next.0
+ - @backstage/config@1.0.8
+ - @backstage/types@1.1.0
+
+## 0.2.0
+
+### Minor Changes
+
+- b9c57a4f857e: **BREAKING**: Renamed `mockServices.config` to `mockServices.rootConfig`.
+- a6d7983f349c: **BREAKING**: Removed the `services` option from `createBackend`. Service factories are now `BackendFeature`s and should be installed with `backend.add(...)` instead. The following should be migrated:
+
+ ```ts
+ const backend = createBackend({ services: [myCustomServiceFactory] });
+ ```
+
+ To instead pass the service factory via `backend.add(...)`:
+
+ ```ts
+ const backend = createBackend();
+ backend.add(customRootLoggerServiceFactory);
+ ```
+
+### Patch Changes
+
+- ae9304818136: Add needed constants and constructs to support PostgreSQL version 14 as test database
+- Updated dependencies
+ - @backstage/backend-common@0.19.2
+ - @backstage/backend-app-api@0.5.0
+ - @backstage/backend-plugin-api@0.6.0
+ - @backstage/plugin-auth-node@0.2.17
+ - @backstage/config@1.0.8
+ - @backstage/types@1.1.0
+
+## 0.2.0-next.2
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-app-api@0.5.0-next.2
+ - @backstage/backend-plugin-api@0.6.0-next.2
+ - @backstage/backend-common@0.19.2-next.2
+ - @backstage/plugin-auth-node@0.2.17-next.2
+
+## 0.2.0-next.1
+
+### Minor Changes
+
+- b9c57a4f857e: **BREAKING**: Renamed `mockServices.config` to `mockServices.rootConfig`.
+
+### Patch Changes
+
+- ae9304818136: Add needed constants and constructs to support PostgreSQL version 14 as test database
+- Updated dependencies
+ - @backstage/backend-common@0.19.2-next.1
+ - @backstage/plugin-auth-node@0.2.17-next.1
+ - @backstage/backend-app-api@0.5.0-next.1
+ - @backstage/backend-plugin-api@0.6.0-next.1
+ - @backstage/config@1.0.8
+ - @backstage/types@1.1.0
+
+## 0.1.40-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-app-api@0.4.6-next.0
+ - @backstage/backend-common@0.19.2-next.0
+ - @backstage/backend-plugin-api@0.5.5-next.0
+ - @backstage/config@1.0.8
+ - @backstage/types@1.1.0
+ - @backstage/plugin-auth-node@0.2.17-next.0
+
+## 0.1.39
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.19.1
+ - @backstage/backend-app-api@0.4.5
+ - @backstage/backend-plugin-api@0.5.4
+ - @backstage/config@1.0.8
+ - @backstage/types@1.1.0
+ - @backstage/plugin-auth-node@0.2.16
+
+## 0.1.39-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.19.1-next.0
+ - @backstage/backend-app-api@0.4.5-next.0
+ - @backstage/backend-plugin-api@0.5.4-next.0
+ - @backstage/config@1.0.8
+ - @backstage/types@1.1.0
+ - @backstage/plugin-auth-node@0.2.16-next.0
+
+## 0.1.38
+
+### Patch Changes
+
+- 68a21956ef52: Remove reference to deprecated import
+- Updated dependencies
+ - @backstage/backend-common@0.19.0
+ - @backstage/types@1.1.0
+ - @backstage/backend-app-api@0.4.4
+ - @backstage/backend-plugin-api@0.5.3
+ - @backstage/plugin-auth-node@0.2.15
+ - @backstage/config@1.0.8
+
+## 0.1.38-next.2
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.19.0-next.2
+ - @backstage/backend-app-api@0.4.4-next.2
+ - @backstage/backend-plugin-api@0.5.3-next.2
+ - @backstage/config@1.0.7
+ - @backstage/types@1.0.2
+ - @backstage/plugin-auth-node@0.2.15-next.2
+
+## 0.1.38-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.19.0-next.1
+ - @backstage/backend-app-api@0.4.4-next.1
+ - @backstage/backend-plugin-api@0.5.3-next.1
+ - @backstage/plugin-auth-node@0.2.15-next.1
+ - @backstage/config@1.0.7
+ - @backstage/types@1.0.2
+
+## 0.1.38-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-app-api@0.4.4-next.0
+ - @backstage/backend-common@0.18.6-next.0
+ - @backstage/config@1.0.7
+ - @backstage/backend-plugin-api@0.5.3-next.0
+ - @backstage/types@1.0.2
+ - @backstage/plugin-auth-node@0.2.15-next.0
+
+## 0.1.37
+
+### Patch Changes
+
+- 63af7f6d53f: Allow specifying custom Docker registry for database tests
+- b1eb268bf9d: Added `POSTGRES_11` and `POSTGRES_12` as supported test database IDs.
+- Updated dependencies
+ - @backstage/backend-common@0.18.5
+ - @backstage/backend-app-api@0.4.3
+ - @backstage/plugin-auth-node@0.2.14
+ - @backstage/backend-plugin-api@0.5.2
+ - @backstage/config@1.0.7
+ - @backstage/types@1.0.2
+
+## 0.1.37-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.18.5-next.1
+ - @backstage/backend-app-api@0.4.3-next.1
+ - @backstage/plugin-auth-node@0.2.14-next.1
+ - @backstage/backend-plugin-api@0.5.2-next.1
+ - @backstage/config@1.0.7
+
+## 0.1.37-next.0
+
+### Patch Changes
+
+- b1eb268bf9d: Added `POSTGRES_11` and `POSTGRES_12` as supported test database IDs.
+- Updated dependencies
+ - @backstage/backend-common@0.18.5-next.0
+ - @backstage/backend-app-api@0.4.3-next.0
+ - @backstage/plugin-auth-node@0.2.14-next.0
+ - @backstage/backend-plugin-api@0.5.2-next.0
+ - @backstage/config@1.0.7
+ - @backstage/types@1.0.2
+
+## 0.1.36
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.18.4
+ - @backstage/backend-app-api@0.4.2
+ - @backstage/plugin-auth-node@0.2.13
+ - @backstage/backend-plugin-api@0.5.1
+ - @backstage/config@1.0.7
+ - @backstage/types@1.0.2
+
+## 0.1.36-next.2
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-app-api@0.4.2-next.2
+ - @backstage/backend-common@0.18.4-next.2
+ - @backstage/backend-plugin-api@0.5.1-next.2
+ - @backstage/config@1.0.7
+ - @backstage/types@1.0.2
+ - @backstage/plugin-auth-node@0.2.13-next.2
+
+## 0.1.36-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-app-api@0.4.2-next.1
+ - @backstage/backend-common@0.18.4-next.1
+ - @backstage/backend-plugin-api@0.5.1-next.1
+ - @backstage/config@1.0.7
+ - @backstage/types@1.0.2
+ - @backstage/plugin-auth-node@0.2.13-next.1
+
+## 0.1.36-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-app-api@0.4.2-next.0
+ - @backstage/backend-common@0.18.4-next.0
+ - @backstage/config@1.0.7
+ - @backstage/backend-plugin-api@0.5.1-next.0
+ - @backstage/types@1.0.2
+ - @backstage/plugin-auth-node@0.2.13-next.0
+
+## 0.1.35
+
+### Patch Changes
+
+- 928a12a9b3e: Internal refactor of `/alpha` exports.
+- 52b0022dab7: Updated dependency `msw` to `^1.0.0`.
+- 482dae5de1c: Updated link to docs.
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.2.12
+ - @backstage/backend-common@0.18.3
+ - @backstage/backend-plugin-api@0.5.0
+ - @backstage/backend-app-api@0.4.1
+ - @backstage/config@1.0.7
+ - @backstage/types@1.0.2
+
+## 0.1.35-next.2
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.2.12-next.2
+ - @backstage/backend-common@0.18.3-next.2
+ - @backstage/backend-app-api@0.4.1-next.2
+ - @backstage/backend-plugin-api@0.4.1-next.2
+ - @backstage/config@1.0.7-next.0
+
+## 0.1.35-next.1
+
+### Patch Changes
+
+- 52b0022dab7: Updated dependency `msw` to `^1.0.0`.
+- 482dae5de1c: Updated link to docs.
+- Updated dependencies
+ - @backstage/backend-common@0.18.3-next.1
+ - @backstage/plugin-auth-node@0.2.12-next.1
+ - @backstage/backend-plugin-api@0.4.1-next.1
+ - @backstage/backend-app-api@0.4.1-next.1
+ - @backstage/config@1.0.7-next.0
+ - @backstage/types@1.0.2
+
+## 0.1.35-next.0
+
+### Patch Changes
+
+- 928a12a9b3: Internal refactor of `/alpha` exports.
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.4.1-next.0
+ - @backstage/backend-app-api@0.4.1-next.0
+ - @backstage/backend-common@0.18.3-next.0
+ - @backstage/config@1.0.6
+ - @backstage/types@1.0.2
+ - @backstage/plugin-auth-node@0.2.12-next.0
+
+## 0.1.34
+
+### Patch Changes
+
+- baf6e4c96a: Removed unnecessary `@backstage/cli` dependency.
+- c51efce2a0: Update docs to always use `yarn add --cwd` for app & backend
+- 1835311713: Added explicit return type signature for `mockServices.config()`.
+- e716946103: Updated usage of the lifecycle service.
+- 7e7557a2be: Updated the `mockServices.rootLogger` options to accept a single level option instead.
+- 610d65e143: Updates to match new `BackendFeature` type.
+- e412d33025: Use the new `*ServiceFactory` exports from `@backstage/backend-app-api`
+- b86efa2d04: Updated usage of `ServiceFactory`.
+- 17b573e4be: The new backend system testing utilities have now been marked as stable API.
+- f1adb2e36b: Removed the `ref` from all `mockServices`.
+- d0901c9ba4: All mock service factories and mock service implementations are now available via the new experimental `mockServices` export.
+- 71a5ec0f06: Updated usages of `LogMeta`.
+- Updated dependencies
+ - @backstage/backend-app-api@0.4.0
+ - @backstage/backend-plugin-api@0.4.0
+ - @backstage/backend-common@0.18.2
+ - @backstage/config@1.0.6
+ - @backstage/types@1.0.2
+ - @backstage/plugin-auth-node@0.2.11
+
+## 0.1.34-next.2
+
+### Patch Changes
+
+- baf6e4c96a: Removed unnecessary `@backstage/cli` dependency.
+- 1835311713: Added explicit return type signature for `mockServices.config()`.
+- e716946103: Updated usage of the lifecycle service.
+- 7e7557a2be: Updated the `mockServices.rootLogger` options to accept a single level option instead.
+- 610d65e143: Updates to match new `BackendFeature` type.
+- e412d33025: Use the new `*ServiceFactory` exports from `@backstage/backend-app-api`
+- f1adb2e36b: Removed the `ref` from all `mockServices`.
+- 71a5ec0f06: Updated usages of `LogMeta`.
+- Updated dependencies
+ - @backstage/backend-app-api@0.4.0-next.2
+ - @backstage/backend-plugin-api@0.4.0-next.2
+ - @backstage/backend-common@0.18.2-next.2
+ - @backstage/plugin-auth-node@0.2.11-next.2
+ - @backstage/config@1.0.6
+ - @backstage/types@1.0.2
+
+## 0.1.34-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/cli@0.22.2-next.0
+ - @backstage/backend-common@0.18.2-next.1
+ - @backstage/backend-plugin-api@0.3.2-next.1
+ - @backstage/backend-app-api@0.3.2-next.1
+ - @backstage/config@1.0.6
+ - @backstage/types@1.0.2
+ - @backstage/plugin-auth-node@0.2.11-next.1
+
+## 0.1.34-next.0
+
+### Patch Changes
+
+- d0901c9ba4: All mock service factories and mock service implementations are now available via the new experimental `mockServices` export.
+- Updated dependencies
+ - @backstage/backend-app-api@0.3.2-next.0
+ - @backstage/backend-common@0.18.2-next.0
+ - @backstage/plugin-auth-node@0.2.11-next.0
+ - @backstage/cli@0.22.1
+ - @backstage/backend-plugin-api@0.3.2-next.0
+
+## 0.1.32
+
+### Patch Changes
+
+- 6cfd4d7073: Include implementations for the new `rootLifecycleServiceRef`.
+- 015a6dced6: Updated to make sure that service implementations replace default service implementations.
+- a3ec2f32ea: The `startTestBackend` setup now includes default implementations for all core services.
+- 483e907eaf: Internal updates of `createServiceFactory` from `@backstage/backend-plugin-api`.
+- 51b7a7ed07: The backend started by `startTestBackend` now has default implementations of all core services. It now also returns a `TestBackend` instance, which provides access to the underlying `server` that can be used with testing libraries such as `supertest`.
+- f23eef3aa2: Updated dependency `better-sqlite3` to `^8.0.0`.
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.3.0
+ - @backstage/cli@0.22.1
+ - @backstage/backend-common@0.18.0
+ - @backstage/backend-app-api@0.3.0
+ - @backstage/config@1.0.6
+ - @backstage/types@1.0.2
+ - @backstage/plugin-auth-node@0.2.9
+
+## 0.1.32-next.2
+
+### Patch Changes
+
+- 015a6dced6: Updated to make sure that service implementations replace default service implementations.
+- a3ec2f32ea: The `startTestBackend` setup now includes default implementations for all core services.
+- f23eef3aa2: Updated dependency `better-sqlite3` to `^8.0.0`.
+- Updated dependencies
+ - @backstage/backend-app-api@0.3.0-next.1
+ - @backstage/backend-plugin-api@0.3.0-next.1
+ - @backstage/backend-common@0.18.0-next.1
+ - @backstage/cli@0.22.1-next.2
+ - @backstage/config@1.0.6-next.0
+
+## 0.1.32-next.1
+
+### Patch Changes
+
+- 6cfd4d7073: Include implementations for the new `rootLifecycleServiceRef`.
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.2.1-next.0
+ - @backstage/cli@0.22.1-next.1
+ - @backstage/backend-common@0.18.0-next.0
+ - @backstage/config@1.0.6-next.0
+ - @backstage/backend-app-api@0.2.5-next.0
+
+## 0.1.32-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/cli@0.22.1-next.0
+ - @backstage/backend-app-api@0.2.4
+ - @backstage/backend-common@0.17.0
+ - @backstage/backend-plugin-api@0.2.0
+ - @backstage/config@1.0.5
+
+## 0.1.31
+
+### Patch Changes
+
+- afa3bf5657: Backends started with `startTestBackend` are now automatically stopped after all tests have run.
+- 3280711113: Updated dependency `msw` to `^0.49.0`.
+- Updated dependencies
+ - @backstage/backend-app-api@0.2.4
+ - @backstage/cli@0.22.0
+ - @backstage/backend-common@0.17.0
+ - @backstage/backend-plugin-api@0.2.0
+ - @backstage/config@1.0.5
+
+## 0.1.31-next.4
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/cli@0.22.0-next.4
+ - @backstage/backend-common@0.17.0-next.3
+ - @backstage/backend-app-api@0.2.4-next.3
+ - @backstage/backend-plugin-api@0.2.0-next.3
+ - @backstage/config@1.0.5-next.1
+
+## 0.1.31-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/cli@0.21.2-next.3
+ - @backstage/backend-app-api@0.2.4-next.2
+ - @backstage/backend-common@0.17.0-next.2
+ - @backstage/backend-plugin-api@0.2.0-next.2
+ - @backstage/config@1.0.5-next.1
+
+## 0.1.31-next.2
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-app-api@0.2.4-next.2
+ - @backstage/backend-common@0.17.0-next.2
+ - @backstage/cli@0.21.2-next.2
+ - @backstage/backend-plugin-api@0.2.0-next.2
+ - @backstage/config@1.0.5-next.1
+
+## 0.1.31-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.17.0-next.1
+ - @backstage/cli@0.21.2-next.1
+ - @backstage/backend-app-api@0.2.4-next.1
+ - @backstage/backend-plugin-api@0.1.5-next.1
+ - @backstage/config@1.0.5-next.1
+
+## 0.1.31-next.0
+
+### Patch Changes
+
+- 3280711113: Updated dependency `msw` to `^0.49.0`.
+- Updated dependencies
+ - @backstage/cli@0.21.2-next.0
+ - @backstage/backend-app-api@0.2.4-next.0
+ - @backstage/backend-common@0.16.1-next.0
+ - @backstage/backend-plugin-api@0.1.5-next.0
+ - @backstage/config@1.0.5-next.0
+
+## 0.1.30
+
+### Patch Changes
+
+- e13cd3feaf: Updated dependency `msw` to `^0.48.0`.
+- Updated dependencies
+ - @backstage/backend-common@0.16.0
+ - @backstage/cli@0.21.0
+ - @backstage/backend-app-api@0.2.3
+ - @backstage/backend-plugin-api@0.1.4
+ - @backstage/config@1.0.4
+
+## 0.1.30-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.16.0-next.1
+ - @backstage/cli@0.21.0-next.1
+ - @backstage/backend-app-api@0.2.3-next.1
+ - @backstage/backend-plugin-api@0.1.4-next.1
+ - @backstage/config@1.0.4-next.0
+
+## 0.1.30-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.16.0-next.0
+ - @backstage/cli@0.21.0-next.0
+ - @backstage/backend-app-api@0.2.3-next.0
+ - @backstage/backend-plugin-api@0.1.4-next.0
+ - @backstage/config@1.0.4-next.0
+
+## 0.1.29
+
+### Patch Changes
+
+- 72549952d1: Fixed handling of root scoped services in `startTestBackend`.
+- e91e8e9c55: Increased test database max connection pool size to reduce the risk of resource exhaustion.
+- Updated dependencies
+ - @backstage/backend-common@0.15.2
+ - @backstage/cli@0.20.0
+ - @backstage/backend-app-api@0.2.2
+ - @backstage/backend-plugin-api@0.1.3
+ - @backstage/config@1.0.3
+
+## 0.1.29-next.2
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.15.2-next.2
+ - @backstage/cli@0.20.0-next.2
+ - @backstage/backend-app-api@0.2.2-next.2
+ - @backstage/backend-plugin-api@0.1.3-next.2
+ - @backstage/config@1.0.3-next.2
+
+## 0.1.29-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/cli@0.20.0-next.1
+ - @backstage/backend-common@0.15.2-next.1
+ - @backstage/backend-plugin-api@0.1.3-next.1
+ - @backstage/backend-app-api@0.2.2-next.1
+ - @backstage/config@1.0.3-next.1
+
+## 0.1.29-next.0
+
+### Patch Changes
+
+- 72549952d1: Fixed handling of root scoped services in `startTestBackend`.
+- e91e8e9c55: Increased test database max connection pool size to reduce the risk of resource exhaustion.
+- Updated dependencies
+ - @backstage/backend-app-api@0.2.2-next.0
+ - @backstage/backend-plugin-api@0.1.3-next.0
+ - @backstage/cli@0.20.0-next.0
+ - @backstage/backend-common@0.15.2-next.0
+ - @backstage/config@1.0.3-next.0
+
+## 0.1.28
+
+### Patch Changes
+
+- 854ba37357: Updated to support new `ServiceFactory` formats.
+- 667d917488: Updated dependency `msw` to `^0.47.0`.
+- 87ec2ba4d6: Updated dependency `msw` to `^0.46.0`.
+- bf5e9030eb: Updated dependency `msw` to `^0.45.0`.
+- de3347ca74: Updated usages of `ServiceFactory`.
+- Updated dependencies
+ - @backstage/cli@0.19.0
+ - @backstage/backend-app-api@0.2.1
+ - @backstage/backend-plugin-api@0.1.2
+ - @backstage/backend-common@0.15.1
+ - @backstage/config@1.0.2
+
+## 0.1.28-next.3
+
+### Patch Changes
+
+- 854ba37357: Updated to support new `ServiceFactory` formats.
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.1.2-next.2
+ - @backstage/config@1.0.2-next.0
+ - @backstage/backend-app-api@0.2.1-next.2
+ - @backstage/cli@0.19.0-next.3
+ - @backstage/backend-common@0.15.1-next.3
+
+## 0.1.28-next.2
+
+### Patch Changes
+
+- 667d917488: Updated dependency `msw` to `^0.47.0`.
+- 87ec2ba4d6: Updated dependency `msw` to `^0.46.0`.
+- Updated dependencies
+ - @backstage/cli@0.19.0-next.2
+ - @backstage/backend-app-api@0.2.1-next.1
+ - @backstage/backend-plugin-api@0.1.2-next.1
+ - @backstage/backend-common@0.15.1-next.2
+
+## 0.1.28-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.15.1-next.1
+ - @backstage/cli@0.19.0-next.1
+
+## 0.1.28-next.0
+
+### Patch Changes
+
+- bf5e9030eb: Updated dependency `msw` to `^0.45.0`.
+- de3347ca74: Updated usages of `ServiceFactory`.
+- Updated dependencies
+ - @backstage/backend-common@0.15.1-next.0
+ - @backstage/cli@0.18.2-next.0
+ - @backstage/backend-plugin-api@0.1.2-next.0
+ - @backstage/backend-app-api@0.2.1-next.0
+
+## 0.1.27
+
+### Patch Changes
+
+- 0599732ec0: Refactored experimental backend system with new type names.
+- 56e1b4b89c: Added alpha test helpers for the new experimental backend system.
+- Updated dependencies
+ - @backstage/cli@0.18.1
+ - @backstage/backend-common@0.15.0
+ - @backstage/backend-app-api@0.2.0
+ - @backstage/backend-plugin-api@0.1.1
+
+## 0.1.27-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.15.0-next.0
+ - @backstage/cli@0.18.1-next.0
+
+## 0.1.26
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- 8006d0f9bf: Updated dependency `msw` to `^0.44.0`.
+- 679b32172e: Updated dependency `knex` to `^2.0.0`.
+- Updated dependencies
+ - @backstage/backend-common@0.14.1
+ - @backstage/cli@0.18.0
+
+## 0.1.26-next.3
+
+### Patch Changes
+
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- Updated dependencies
+ - @backstage/backend-common@0.14.1-next.3
+ - @backstage/cli@0.18.0-next.3
+
+## 0.1.26-next.2
+
+### Patch Changes
+
+- 679b32172e: Updated dependency `knex` to `^2.0.0`.
+- Updated dependencies
+ - @backstage/backend-common@0.14.1-next.2
+ - @backstage/cli@0.18.0-next.2
+
+## 0.1.26-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/cli@0.18.0-next.1
+ - @backstage/backend-common@0.14.1-next.1
+
+## 0.1.26-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.14.1-next.0
+ - @backstage/cli@0.17.3-next.0
+
+## 0.1.25
+
+### Patch Changes
+
+- 8f7b1835df: Updated dependency `msw` to `^0.41.0`.
+- Updated dependencies
+ - @backstage/cli@0.17.2
+ - @backstage/backend-common@0.14.0
+
+## 0.1.25-next.2
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/cli@0.17.2-next.2
+ - @backstage/backend-common@0.14.0-next.2
+
+## 0.1.25-next.1
+
+### Patch Changes
+
+- 8f7b1835df: Updated dependency `msw` to `^0.41.0`.
+- Updated dependencies
+ - @backstage/cli@0.17.2-next.1
+ - @backstage/backend-common@0.13.6-next.1
+
+## 0.1.25-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/cli@0.17.2-next.0
+ - @backstage/backend-common@0.13.6-next.0
+
+## 0.1.24
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.13.3
+ - @backstage/cli@0.17.1
+ - @backstage/config@1.0.1
+
+## 0.1.24-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.13.3-next.2
+ - @backstage/config@1.0.1-next.0
+ - @backstage/cli@0.17.1-next.2
+
+## 0.1.24-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.13.3-next.0
+ - @backstage/cli@0.17.1-next.0
+
+## 0.1.23
+
+### Patch Changes
+
+- 0654c87cf2: `TestDatabases.create` will no longer set up an `afterAll` test handler if no databases are supported.
+- Updated dependencies
+ - @backstage/cli@0.17.0
+ - @backstage/backend-common@0.13.2
+
+## 0.1.23-next.1
+
+### Patch Changes
+
+- 0654c87cf2: `TestDatabases.create` will no longer set up an `afterAll` test handler if no databases are supported.
+- Updated dependencies
+ - @backstage/cli@0.17.0-next.1
+ - @backstage/backend-common@0.13.2-next.1
+
+## 0.1.23-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/cli@0.16.1-next.0
+ - @backstage/backend-common@0.13.2-next.0
+
+## 0.1.22
+
+### Patch Changes
+
+- 89c7e47967: Minor README update
+- efc73db10c: Use `better-sqlite3` instead of `@vscode/sqlite3`
+- Updated dependencies
+ - @backstage/cli@0.16.0
+ - @backstage/backend-common@0.13.1
+ - @backstage/config@1.0.0
+
+## 0.1.21
+
+### Patch Changes
+
+- ab7cd7d70e: Do some groundwork for supporting the `better-sqlite3` driver, to maybe eventually replace `@vscode/sqlite3` (#9912)
+- 3c2bc73901: Add `setupRequestMockHandlers` which sets up a good `msw` server foundation, copied from `@backstage/test-utils` which is a frontend-only package and should not be used from backends.
+- Updated dependencies
+ - @backstage/backend-common@0.13.0
+ - @backstage/cli@0.15.2
+
+## 0.1.21-next.0
+
+### Patch Changes
+
+- ab7cd7d70e: Do some groundwork for supporting the `better-sqlite3` driver, to maybe eventually replace `@vscode/sqlite3` (#9912)
+- 3c2bc73901: Add `setupRequestMockHandlers` which sets up a good `msw` server foundation, copied from `@backstage/test-utils` which is a frontend-only package and should not be used from backends.
+- Updated dependencies
+ - @backstage/backend-common@0.13.0-next.0
+ - @backstage/cli@0.15.2-next.0
+
+## 0.1.20
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.12.0
+ - @backstage/cli@0.15.0
+
+## 0.1.19
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.11.0
+ - @backstage/cli@0.14.1
+
+## 0.1.18
+
+### Patch Changes
+
+- c77c5c7eb6: Added `backstage.role` to `package.json`
+- Updated dependencies
+ - @backstage/cli@0.14.0
+ - @backstage/backend-common@0.10.8
+ - @backstage/config@0.1.14
+
+## 0.1.17
+
+### Patch Changes
+
+- 2441d1cf59: chore(deps): bump `knex` from 0.95.6 to 1.0.2
+
+ This also replaces `sqlite3` with `@vscode/sqlite3` 5.0.7
+
+- Updated dependencies
+ - @backstage/cli@0.13.2
+ - @backstage/backend-common@0.10.7
+
+## 0.1.17-next.0
+
+### Patch Changes
+
+- 2441d1cf59: chore(deps): bump `knex` from 0.95.6 to 1.0.2
+
+ This also replaces `sqlite3` with `@vscode/sqlite3` 5.0.7
+
+- Updated dependencies
+ - @backstage/cli@0.13.2-next.0
+ - @backstage/backend-common@0.10.7-next.0
+
+## 0.1.16
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/cli@0.13.1
+ - @backstage/backend-common@0.10.6
+
+## 0.1.16-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/cli@0.13.1-next.1
+ - @backstage/backend-common@0.10.6-next.0
+
+## 0.1.16-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/cli@0.13.1-next.0
+
+## 0.1.15
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/cli@0.13.0
+ - @backstage/backend-common@0.10.5
+
+## 0.1.14
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/cli@0.12.0
+ - @backstage/backend-common@0.10.4
+ - @backstage/config@0.1.13
+
+## 0.1.14-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/cli@0.12.0-next.0
+ - @backstage/backend-common@0.10.4-next.0
+ - @backstage/config@0.1.13-next.0
+
+## 0.1.13
+
+### Patch Changes
+
+- b1bc55405e: Bump `testcontainers` dependency to version `8.1.2`
+- Updated dependencies
+ - @backstage/config@0.1.12
+ - @backstage/backend-common@0.10.3
+ - @backstage/cli@0.11.0
+
+## 0.1.12
+
+### Patch Changes
+
+- 130b7aadf2: Lazy-load `testcontainers` module in order to avoid side-effects.
+- Updated dependencies
+ - @backstage/backend-common@0.10.1
+ - @backstage/cli@0.10.4
+
+## 0.1.11
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.10.0
+ - @backstage/cli@0.10.3
+
+## 0.1.10
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.9.12
+ - @backstage/cli@0.10.0
+
+## 0.1.9
+
+### Patch Changes
+
+- e21e3c6102: Bumping minimum requirements for `dockerode` and `testcontainers`
+- Updated dependencies
+ - @backstage/cli@0.9.0
+ - @backstage/backend-common@0.9.10
+
+## 0.1.8
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.9.7
+ - @backstage/cli@0.8.0
+
+## 0.1.7
+
+### Patch Changes
+
+- d1da88a19: Properly export all used types.
+- Updated dependencies
+ - @backstage/config@0.1.9
+ - @backstage/backend-common@0.9.2
+ - @backstage/cli@0.7.11
+
+## 0.1.6
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.9.0
+ - @backstage/config@0.1.8
+
+## 0.1.5
+
+### Patch Changes
+
+- 524045758: Make sure that the unique databases names generated by `TestDatabases.create()`
+ don't collide.
+- Updated dependencies
+ - @backstage/backend-common@0.8.9
+ - @backstage/cli@0.7.8
+
+## 0.1.4
+
+### Patch Changes
+
+- f7134c368: bump sqlite3 to 5.0.1
+- Updated dependencies
+ - @backstage/backend-common@0.8.5
+
+## 0.1.3
+
+### Patch Changes
+
+- 772dbdb51: Deprecates `SingleConnectionDatabaseManager` and provides an API compatible database
+ connection manager, `DatabaseManager`, which allows developers to configure database
+ connections on a per plugin basis.
+
+ The `backend.database` config path allows you to set `prefix` to use an
+ alternate prefix for automatically generated database names, the default is
+ `backstage_plugin_`. Use `backend.database.plugin.` to set plugin
+ specific database connection configuration, e.g.
+
+ ```yaml
+ backend:
+ database:
+ client: 'pg',
+ prefix: 'custom_prefix_'
+ connection:
+ host: 'localhost'
+ user: 'foo'
+ password: 'bar'
+ plugin:
+ catalog:
+ connection:
+ database: 'database_name_overriden'
+ scaffolder:
+ client: 'sqlite3'
+ connection: ':memory:'
+ ```
+
+ Migrate existing backstage installations by swapping out the database manager in the
+ `packages/backend/src/index.ts` file as shown below:
+
+ ```diff
+ import {
+ - SingleConnectionDatabaseManager,
+ + DatabaseManager,
+ } from '@backstage/backend-common';
+
+ // ...
+
+ function makeCreateEnv(config: Config) {
+ // ...
+ - const databaseManager = SingleConnectionDatabaseManager.fromConfig(config);
+ + const databaseManager = DatabaseManager.fromConfig(config);
+ // ...
+ }
+ ```
+
+- Updated dependencies
+ - @backstage/backend-common@0.8.3
+ - @backstage/cli@0.7.1
+
+## 0.1.2
+
+### Patch Changes
+
+- 0711954a9: Skip running docker tests unless in CI
+- Updated dependencies [9cd3c533c]
+- Updated dependencies [92963779b]
+- Updated dependencies [7f7443308]
+- Updated dependencies [21e8ebef5]
+- Updated dependencies [eda9dbd5f]
+ - @backstage/cli@0.7.0
+ - @backstage/backend-common@0.8.2
+
+## @backstage/core-app-api@1.19.5-next.0
+
+# @backstage/core-app-api
+
+## 1.19.4-next.0
+
+### Patch Changes
+
+- 69d880e: Bump to latest zod to ensure it has the latest features
+- Updated dependencies
+ - @backstage/core-plugin-api@1.12.2-next.0
+ - @backstage/config@1.3.6
+ - @backstage/types@1.2.2
+ - @backstage/version-bridge@1.0.11
+
+## 1.19.3
+
+### Patch Changes
+
+- 75683ed: Added replay functionality to `AlertApiForwarder` to buffer and replay recent alerts to new subscribers, preventing missed alerts that were posted before subscription.
+- 97cd16f: Internal update of translation imports.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.12.1
+
+## 1.19.3-next.1
+
+### Patch Changes
+
+- 75683ed: Added replay functionality to `AlertApiForwarder` to buffer and replay recent alerts to new subscribers, preventing missed alerts that were posted before subscription.
+- Updated dependencies
+ - @backstage/config@1.3.6
+ - @backstage/core-plugin-api@1.12.1-next.0
+ - @backstage/types@1.2.2
+ - @backstage/version-bridge@1.0.11
+
+## 1.19.3-next.0
+
+### Patch Changes
+
+- 97cd16f: Internal update of translation imports.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.12.1-next.0
+ - @backstage/config@1.3.6
+ - @backstage/types@1.2.2
+ - @backstage/version-bridge@1.0.11
+
+## 1.19.2
+
+### Patch Changes
+
+- b2bef92: Convert all enums to erasable-syntax compliant patterns
+- 05f60e1: Refactored constructor parameter properties to explicit property declarations for compatibility with TypeScript's `erasableSyntaxOnly` setting. This internal refactoring maintains all existing functionality while ensuring TypeScript compilation compatibility.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.12.0
+ - @backstage/config@1.3.6
+
+## 1.19.2-next.1
+
+### Patch Changes
+
+- b2bef92: Convert all enums to erasable-syntax compliant patterns
+- Updated dependencies
+ - @backstage/core-plugin-api@1.11.2-next.1
+
+## 1.19.2-next.0
+
+### Patch Changes
+
+- 05f60e1: Refactored constructor parameter properties to explicit property declarations for compatibility with TypeScript's `erasableSyntaxOnly` setting. This internal refactoring maintains all existing functionality while ensuring TypeScript compilation compatibility.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.11.2-next.0
+ - @backstage/config@1.3.6-next.0
+ - @backstage/types@1.2.2
+ - @backstage/version-bridge@1.0.11
+
+## 1.19.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/config@1.3.5
+ - @backstage/core-plugin-api@1.11.1
+
+## 1.19.1-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/config@1.3.4-next.0
+ - @backstage/core-plugin-api@1.11.1-next.0
+
+## 1.19.0
+
+### Minor Changes
+
+- 3fca906: Add `OpenShiftAuth` helper to create default OAuth flow for OpenShift.
+
+### Patch Changes
+
+- 5ae6d9d: feat: support no en languages
+- Updated dependencies
+ - @backstage/core-plugin-api@1.11.0
+ - @backstage/types@1.2.2
+
+## 1.18.0
+
+### Minor Changes
+
+- 5ddc0fe: if session exists and refresh fails, then create a new session if not instant popup
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/config@1.3.3
+ - @backstage/core-plugin-api@1.10.9
+
+## 1.18.0-next.1
+
+### Minor Changes
+
+- 5ddc0fe: if session exists and refresh fails, then create a new session if not instant popup
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-plugin-api@1.10.9-next.0
+
+## 1.17.2-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/config@1.3.3-next.0
+ - @backstage/core-plugin-api@1.10.9-next.0
+
+## 1.17.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-plugin-api@1.10.8
+ - @backstage/config@1.3.2
+ - @backstage/types@1.2.1
+ - @backstage/version-bridge@1.0.11
+
+## 1.17.0
+
+### Minor Changes
+
+- 1e0230e: Support custom `AuthConnector` for `OAuth2`.
+
+ A user can pass their own `AuthConnector` implementation in `OAuth2` constructor.
+ In which case the session manager will use that instead of the `DefaultAuthConnector` to interact with the
+ authentication provider.
+
+ A custom `AuthConnector` may call the authentication provider from the front-end, store and retrieve tokens
+ in the session storage, for example, and otherwise send custom requests to the authentication provider and
+ handle its responses.
+
+ Note, that if the custom `AuthConnector` transforms scopes returned from the authentication provider,
+ the transformation must be the same as `OAuth2CreateOptions#scopeTransform` passed to `OAuth2` constructor.
+ See creating `DefaultAuthConnector` in `OAuth2#create(...)` for an example.
+
+### Patch Changes
+
+- 73f6cc3: Updated `I18nextTranslationApi` to support interpolation of JSX elements.
+- cc119b2: Fixed an issue causing `OAuthRequestDialog` to re-render on mount.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.10.7
+ - @backstage/config@1.3.2
+ - @backstage/types@1.2.1
+ - @backstage/version-bridge@1.0.11
+
+## 1.17.0-next.1
+
+### Minor Changes
+
+- 1e0230e: Support custom `AuthConnector` for `OAuth2`.
+
+ A user can pass their own `AuthConnector` implementation in `OAuth2` constructor.
+ In which case the session manager will use that instead of the `DefaultAuthConnector` to interact with the
+ authentication provider.
+
+ A custom `AuthConnector` may call the authentication provider from the front-end, store and retrieve tokens
+ in the session storage, for example, and otherwise send custom requests to the authentication provider and
+ handle its responses.
+
+ Note, that if the custom `AuthConnector` transforms scopes returned from the authentication provider,
+ the transformation must be the same as `OAuth2CreateOptions#scopeTransform` passed to `OAuth2` constructor.
+ See creating `DefaultAuthConnector` in `OAuth2#create(...)` for an example.
+
+### Patch Changes
+
+- cc119b2: Fixed an issue causing `OAuthRequestDialog` to re-render on mount.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.10.7-next.0
+ - @backstage/config@1.3.2
+ - @backstage/types@1.2.1
+ - @backstage/version-bridge@1.0.11
+
+## 1.16.2-next.0
+
+### Patch Changes
+
+- 73f6cc3: Updated `I18nextTranslationApi` to support interpolation of JSX elements.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.10.7-next.0
+ - @backstage/config@1.3.2
+ - @backstage/types@1.2.1
+ - @backstage/version-bridge@1.0.11
+
+## 1.16.1
+
+### Patch Changes
+
+- a47fd39: Removes instances of default React imports, a necessary update for the upcoming React 19 migration.
+
+
+
+- Updated dependencies
+ - @backstage/core-plugin-api@1.10.6
+ - @backstage/config@1.3.2
+ - @backstage/types@1.2.1
+ - @backstage/version-bridge@1.0.11
+
+## 1.16.1-next.0
+
+### Patch Changes
+
+- a47fd39: Removes instances of default React imports, a necessary update for the upcoming React 19 migration.
+
+
+
+- Updated dependencies
+ - @backstage/core-plugin-api@1.10.6-next.0
+ - @backstage/config@1.3.2
+ - @backstage/types@1.2.1
+ - @backstage/version-bridge@1.0.11
+
+## 1.16.0
+
+### Minor Changes
+
+- 9262001: The default auth injection middleware for the `FetchApi` will now also take configuration under `discovery.endpoints` into consideration when deciding whether to include credentials or not.
+- 12f8e01: The `discovery.endpoints` configuration no longer requires both `internal` and `external` target when using the object form, instead falling back to the default.
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-plugin-api@1.10.5
+ - @backstage/config@1.3.2
+ - @backstage/types@1.2.1
+ - @backstage/version-bridge@1.0.11
+
+## 1.16.0-next.0
+
+### Minor Changes
+
+- 9262001: The default auth injection middleware for the `FetchApi` will now also take configuration under `discovery.endpoints` into consideration when deciding whether to include credentials or not.
+- 12f8e01: The `discovery.endpoints` configuration no longer requires both `internal` and `external` target when using the object form, instead falling back to the default.
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/config@1.3.2
+ - @backstage/core-plugin-api@1.10.4
+ - @backstage/types@1.2.1
+ - @backstage/version-bridge@1.0.11
+
+## 1.15.5
+
+### Patch Changes
+
+- 58ec9e7: Removed older versions of React packages as a preparatory step for upgrading to React 19. This commit does not introduce any functional changes, but removes dependencies on previous React versions, allowing for a cleaner upgrade path in subsequent commits.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.10.4
+ - @backstage/version-bridge@1.0.11
+ - @backstage/config@1.3.2
+ - @backstage/types@1.2.1
+
+## 1.15.5-next.0
+
+### Patch Changes
+
+- 58ec9e7: Removed older versions of React packages as a preparatory step for upgrading to React 19. This commit does not introduce any functional changes, but removes dependencies on previous React versions, allowing for a cleaner upgrade path in subsequent commits.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.10.4-next.0
+ - @backstage/version-bridge@1.0.11-next.0
+ - @backstage/config@1.3.2
+ - @backstage/types@1.2.1
+
+## 1.15.4
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-plugin-api@1.10.3
+ - @backstage/types@1.2.1
+ - @backstage/config@1.3.2
+ - @backstage/version-bridge@1.0.10
+
+## 1.15.4-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-plugin-api@1.10.3-next.0
+ - @backstage/types@1.2.1-next.0
+ - @backstage/config@1.3.2-next.0
+ - @backstage/version-bridge@1.0.10
+
+## 1.15.3
+
+### Patch Changes
+
+- e5fa018: The OAuth 2 client implementations will now attempt to refresh the session when the existing session doesn't have the required scopes. The previous behavior was to only try to refresh the session of it was missing, and otherwise directly request a new session. This fixes an issue where some auth providers will not return access tokens with certain scopes unless explicitly requested, leading to an auth popup even if the underlying session already had been granted the requested scopes.
+- 2830689: Decrease OAuth2 token refresh grace period
+- Updated dependencies
+ - @backstage/config@1.3.1
+ - @backstage/core-plugin-api@1.10.2
+ - @backstage/types@1.2.0
+ - @backstage/version-bridge@1.0.10
+
+## 1.15.3-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/config@1.3.1-next.0
+ - @backstage/core-plugin-api@1.10.2-next.0
+ - @backstage/types@1.2.0
+ - @backstage/version-bridge@1.0.10
+
+## 1.15.3-next.0
+
+### Patch Changes
+
+- e5fa018: The OAuth 2 client implementations will now attempt to refresh the session when the existing session doesn't have the required scopes. The previous behavior was to only try to refresh the session of it was missing, and otherwise directly request a new session. This fixes an issue where some auth providers will not return access tokens with certain scopes unless explicitly requested, leading to an auth popup even if the underlying session already had been granted the requested scopes.
+- 2830689: Decrease OAuth2 token refresh grace period
+- Updated dependencies
+ - @backstage/config@1.3.0
+ - @backstage/core-plugin-api@1.10.1
+ - @backstage/types@1.2.0
+ - @backstage/version-bridge@1.0.10
+
+## 1.15.2
+
+### Patch Changes
+
+- 44b82da: The default config loader no longer requires `process.env.APP_CONFIG` to be set, allowing config to be read from other sources instead.
+- Updated dependencies
+ - @backstage/config@1.3.0
+ - @backstage/types@1.2.0
+ - @backstage/core-plugin-api@1.10.1
+ - @backstage/version-bridge@1.0.10
+
+## 1.15.1
+
+### Patch Changes
+
+- e969dc7: Move `@types/react` to a peer dependency.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.10.0
+ - @backstage/version-bridge@1.0.10
+ - @backstage/config@1.2.0
+ - @backstage/types@1.1.1
+
+## 1.15.1-next.1
+
+### Patch Changes
+
+- e969dc7: Move `@types/react` to a peer dependency.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.10.0-next.1
+ - @backstage/version-bridge@1.0.10-next.0
+ - @backstage/config@1.2.0
+ - @backstage/types@1.1.1
+
+## 1.15.1-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-plugin-api@1.10.0-next.0
+ - @backstage/config@1.2.0
+ - @backstage/types@1.1.1
+ - @backstage/version-bridge@1.0.9
+
+## 1.15.0
+
+### Minor Changes
+
+- ddbeace: Added the ability to explicitly disable routes through the `bindRoutes` option by passing `false` as the route target. This also fixes a bug where route bindings in config were incorrectly prioritized above the ones in code in certain situations.
+
+### Patch Changes
+
+- ea69e46: The `defaultConfigLoader` now also reads configuration from scripts tags with `type="backstage.io/config"`. The tag is expected to contain a JSON-serialized array of `AppConfig` objects. If any of these script tags are present, the injected runtime configuration in the static assets will no longer be used.
+- b537bd7: Allow custom star icons to be provided via the `star` and `unstarred` icon overrides. See how to override existing icons in the [Backstage documentation](https://backstage.io/docs/getting-started/app-custom-theme/#custom-icons).
+- 836127c: Updated dependency `@testing-library/react` to `^16.0.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.9.4
+ - @backstage/version-bridge@1.0.9
+ - @backstage/config@1.2.0
+ - @backstage/types@1.1.1
+
+## 1.14.3-next.0
+
+### Patch Changes
+
+- ea69e46: The `defaultConfigLoader` now also reads configuration from scripts tags with `type="backstage.io/config"`. The tag is expected to contain a JSON-serialized array of `AppConfig` objects. If any of these script tags are present, the injected runtime configuration in the static assets will no longer be used.
+- b537bd7: Allow custom star icons to be provided via the `star` and `unstarred` icon overrides. See how to override existing icons in the [Backstage documentation](https://backstage.io/docs/getting-started/app-custom-theme/#custom-icons).
+- 836127c: Updated dependency `@testing-library/react` to `^16.0.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.9.4-next.0
+ - @backstage/version-bridge@1.0.9-next.0
+ - @backstage/config@1.2.0
+ - @backstage/types@1.1.1
+
+## 1.14.2
+
+### Patch Changes
+
+- 9a46a81: The request to delete the session cookie when running the app in protected mode is now done with a plain `fetch` rather than `FetchApi`. This fixes a bug where the app would immediately try to sign-in again when removing the cookie during logout.
+- Updated dependencies
+ - @backstage/config@1.2.0
+ - @backstage/core-plugin-api@1.9.3
+ - @backstage/types@1.1.1
+ - @backstage/version-bridge@1.0.8
+
+## 1.14.1-next.0
+
+### Patch Changes
+
+- 9a46a81: The request to delete the session cookie when running the app in protected mode is now done with a plain `fetch` rather than `FetchApi`. This fixes a bug where the app would immediately try to sign-in again when removing the cookie during logout.
+- Updated dependencies
+ - @backstage/config@1.2.0
+ - @backstage/core-plugin-api@1.9.3
+ - @backstage/types@1.1.1
+ - @backstage/version-bridge@1.0.8
+
+## 1.14.0
+
+### Minor Changes
+
+- d3c39fc: Allow for the disabling of external routes through config, which was rendered impossible after the introduction of default targets.
+
+ ```yaml
+ app:
+ routes:
+ bindings:
+ # This has the effect of removing the button for registering new
+ # catalog entities in the scaffolder template list view
+ scaffolder.registerComponent: false
+ ```
+
+### Patch Changes
+
+- db2e2d5: Updated config schema to support app.routes.bindings
+- Updated dependencies
+ - @backstage/config@1.2.0
+ - @backstage/core-plugin-api@1.9.3
+ - @backstage/types@1.1.1
+ - @backstage/version-bridge@1.0.8
+
+## 1.13.1-next.1
+
+### Patch Changes
+
+- db2e2d5: Updated config schema to support app.routes.bindings
+- Updated dependencies
+ - @backstage/core-plugin-api@1.9.3
+ - @backstage/config@1.2.0
+ - @backstage/types@1.1.1
+ - @backstage/version-bridge@1.0.8
+
+## 1.13.0-next.0
+
+### Minor Changes
+
+- d3c39fc: Allow for the disabling of external routes through config, which was rendered impossible after the introduction of default targets.
+
+ ```yaml
+ app:
+ routes:
+ bindings:
+ # This has the effect of removing the button for registering new
+ # catalog entities in the scaffolder template list view
+ scaffolder.registerComponent: false
+ ```
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-plugin-api@1.9.3
+ - @backstage/config@1.2.0
+ - @backstage/types@1.1.1
+ - @backstage/version-bridge@1.0.8
+
+## 1.12.6
+
+### Patch Changes
+
+- 35fbe09: Added support for configuration of route bindings through static configuration, and default targets for external route refs.
+
+ In addition to configuring route bindings through code, it is now also possible to configure route bindings under the `app.routes.bindings` key, for example:
+
+ ```yaml
+ app:
+ routes:
+ bindings:
+ catalog.createComponent: catalog-import.importPage
+ ```
+
+ Each key in the route binding object is of the form `.`, where the route name is key used in the `externalRoutes` object passed to `createPlugin`. The value is of the same form, but with the name taken from the plugin `routes` option instead.
+
+ The equivalent of the above configuration in code is the following:
+
+ ```ts
+ const app = createApp({
+ // ...
+ bindRoutes({ bind }) {
+ bind(catalogPlugin.externalRoutes, {
+ createComponent: catalogImportPlugin.routes.importPage,
+ });
+ },
+ });
+ ```
+
+- Updated dependencies
+ - @backstage/core-plugin-api@1.9.3
+ - @backstage/config@1.2.0
+ - @backstage/types@1.1.1
+ - @backstage/version-bridge@1.0.8
+
+## 1.12.6-next.0
+
+### Patch Changes
+
+- 35fbe09: Added support for configuration of route bindings through static configuration, and default targets for external route refs.
+
+ In addition to configuring route bindings through code, it is now also possible to configure route bindings under the `app.routes.bindings` key, for example:
+
+ ```yaml
+ app:
+ routes:
+ bindings:
+ catalog.createComponent: catalog-import.importPage
+ ```
+
+ Each key in the route binding object is of the form `.`, where the route name is key used in the `externalRoutes` object passed to `createPlugin`. The value is of the same form, but with the name taken from the plugin `routes` option instead.
+
+ The equivalent of the above configuration in code is the following:
+
+ ```ts
+ const app = createApp({
+ // ...
+ bindRoutes({ bind }) {
+ bind(catalogPlugin.externalRoutes, {
+ createComponent: catalogImportPlugin.routes.importPage,
+ });
+ },
+ });
+ ```
+
+- Updated dependencies
+ - @backstage/core-plugin-api@1.9.3-next.0
+ - @backstage/config@1.2.0
+ - @backstage/types@1.1.1
+ - @backstage/version-bridge@1.0.8
+
+## 1.12.5
+
+### Patch Changes
+
+- 1bed9a3: The Backstage identity session expiration check will no longer fall back to using the provider expiration. This was introduced to smooth out the rollout of Backstage release 1.18, and is no longer needed.
+
+## 1.12.4
+
+### Patch Changes
+
+- c884b9a: The app is now aware of if it is being served from the `app-backend` with a separate public and protected bundles. When in protected mode the app will now continuously refresh the session cookie, as well as clear the cookie if the user signs out.
+- abfbcfc: Updated dependency `@testing-library/react` to `^15.0.0`.
+- cb1e3b0: Updated dependency `@testing-library/dom` to `^10.0.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.9.2
+ - @backstage/version-bridge@1.0.8
+ - @backstage/config@1.2.0
+ - @backstage/types@1.1.1
+
+## 1.12.4-next.0
+
+### Patch Changes
+
+- c884b9a: The app is now aware of if it is being served from the `app-backend` with a separate public and protected bundles. When in protected mode the app will now continuously refresh the session cookie, as well as clear the cookie if the user signs out.
+- Updated dependencies
+ - @backstage/config@1.2.0
+ - @backstage/core-plugin-api@1.9.1
+ - @backstage/types@1.1.1
+ - @backstage/version-bridge@1.0.7
+
+## 1.12.3
+
+### Patch Changes
+
+- e8f026a: Use ESM exports of react-use library
+- Updated dependencies
+ - @backstage/core-plugin-api@1.9.1
+ - @backstage/config@1.2.0
+ - @backstage/types@1.1.1
+ - @backstage/version-bridge@1.0.7
+
+## 1.12.2
+
+### Patch Changes
+
+- e8f026a: Use ESM exports of react-use library
+- Updated dependencies
+ - @backstage/core-plugin-api@1.9.1
+ - @backstage/config@1.2.0
+ - @backstage/types@1.1.1
+ - @backstage/version-bridge@1.0.7
+
+## 1.12.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/config@1.2.0
+ - @backstage/core-plugin-api@1.9.1
+ - @backstage/types@1.1.1
+ - @backstage/version-bridge@1.0.7
+
+## 1.12.1-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/config@1.2.0-next.1
+ - @backstage/core-plugin-api@1.9.1-next.1
+ - @backstage/types@1.1.1
+ - @backstage/version-bridge@1.0.7
+
+## 1.12.1-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/config@1.1.2-next.0
+ - @backstage/core-plugin-api@1.9.1-next.0
+ - @backstage/types@1.1.1
+ - @backstage/version-bridge@1.0.7
+
+## 1.12.0
+
+### Minor Changes
+
+- f919be9: Added a utility API for VMware Cloud auth; the API ref is available in the
+ `@backstage/core-plugin-api` and `@backstage/frontend-plugin-api` packages, the
+ implementation is in `@backstage/core-app-api` and a factory has been added to
+ `@backstage/app-defaults`.
+
+### Patch Changes
+
+- 9aac2b0: Use `--cwd` as the first `yarn` argument
+- 8fe56a8: Widen `@types/react` dependency range to include version 18.
+- 7da67ce: Change `defaultScopes` for Bitbucket auth from invalid `team` to `account`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.9.0
+ - @backstage/config@1.1.1
+ - @backstage/types@1.1.1
+ - @backstage/version-bridge@1.0.7
+
+## 1.12.0-next.1
+
+### Minor Changes
+
+- f919be9: Added a utility API for VMware Cloud auth; the API ref is available in the
+ `@backstage/core-plugin-api` and `@backstage/frontend-plugin-api` packages, the
+ implementation is in `@backstage/core-app-api` and a factory has been added to
+ `@backstage/app-defaults`.
+
+### Patch Changes
+
+- 9aac2b0: Use `--cwd` as the first `yarn` argument
+- 8fe56a8: Widen `@types/react` dependency range to include version 18.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.9.0-next.1
+ - @backstage/config@1.1.1
+ - @backstage/types@1.1.1
+ - @backstage/version-bridge@1.0.7
+
+## 1.11.4-next.0
+
+### Patch Changes
+
+- 7da67ce: Change `defaultScopes` for Bitbucket auth from invalid `team` to `account`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.8.3-next.0
+ - @backstage/config@1.1.1
+ - @backstage/types@1.1.1
+ - @backstage/version-bridge@1.0.7
+
+## 1.11.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-plugin-api@1.8.2
+ - @backstage/config@1.1.1
+ - @backstage/types@1.1.1
+ - @backstage/version-bridge@1.0.7
+
+## 1.11.3-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-plugin-api@1.8.2-next.0
+ - @backstage/config@1.1.1
+ - @backstage/types@1.1.1
+ - @backstage/version-bridge@1.0.7
+
+## 1.11.2
+
+### Patch Changes
+
+- 3e358b0: Added deprecation warning for React Router v6 beta, please make sure you have migrated your apps to use React Router v6 stable as support for the beta version will be removed. See the [migration tutorial](https://backstage.io/docs/tutorials/react-router-stable-migration) for more information.
+- 0cbb03b: Fixing regular expression ReDoS with zod packages. Upgrading to latest. ref:
+- Updated dependencies
+ - @backstage/core-plugin-api@1.8.1
+ - @backstage/config@1.1.1
+ - @backstage/types@1.1.1
+ - @backstage/version-bridge@1.0.7
+
+## 1.11.2-next.1
+
+### Patch Changes
+
+- 3e358b0dff: Added deprecation warning for React Router v6 beta, please make sure you have migrated your apps to use React Router v6 stable as support for the beta version will be removed. See the [migration tutorial](https://backstage.io/docs/tutorials/react-router-stable-migration) for more information.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.8.1-next.1
+ - @backstage/config@1.1.1
+ - @backstage/types@1.1.1
+ - @backstage/version-bridge@1.0.7
+
+## 1.11.2-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-plugin-api@1.8.1-next.0
+ - @backstage/config@1.1.1
+ - @backstage/types@1.1.1
+ - @backstage/version-bridge@1.0.7
+
+## 1.11.1
+
+### Patch Changes
+
+- 6c2b872153: Add official support for React 18.
+- 89d13e5618: Add current and default scopes when refreshing session
+- 9ab0572217: Add component data `core.type` marker for `AppRouter` and `FlatRoutes`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.8.0
+ - @backstage/version-bridge@1.0.7
+ - @backstage/config@1.1.1
+ - @backstage/types@1.1.1
+
+## 1.11.1-next.0
+
+### Patch Changes
+
+- 6c2b872153: Add official support for React 18.
+- 89d13e5618: Add current and default scopes when refreshing session
+- 9ab0572217: Add component data `core.type` marker for `AppRouter` and `FlatRoutes`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.8.0-next.0
+ - @backstage/version-bridge@1.0.7-next.0
+ - @backstage/config@1.1.1
+ - @backstage/types@1.1.1
+
+## 1.11.0
+
+### Minor Changes
+
+- c9d9bfeca2: URL encode some well known unsafe characters in `RouteResolver` (and therefore `useRouteRef`)
+
+### Patch Changes
+
+- 29e4d8b76b: Fixed bug in `AppRouter` to determine the correct `signOutTargetUrl` if `app.baseUrl` contains a `basePath`
+- acca17e91a: Wrap entire app in ``, enabling support for using translations outside plugins.
+- 1a0616fa10: Add missing resource and template app icons
+- 9a1fce352e: Updated dependency `@testing-library/jest-dom` to `^6.0.0`.
+- f95af4e540: Updated dependency `@testing-library/dom` to `^9.0.0`.
+- f1b349cfba: Fixed a bug in `TranslationApi` implementation where in some cases it wouldn't notify subscribers of language changes.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.7.0
+ - @backstage/version-bridge@1.0.6
+ - @backstage/config@1.1.1
+ - @backstage/types@1.1.1
+
+## 1.11.0-next.2
+
+### Minor Changes
+
+- c9d9bfeca2: URL encode some well known unsafe characters in `RouteResolver` (and therefore `useRouteRef`)
+
+### Patch Changes
+
+- acca17e91a: Wrap entire app in ``, enabling support for using translations outside plugins.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.7.0-next.1
+ - @backstage/config@1.1.1-next.0
+ - @backstage/types@1.1.1
+ - @backstage/version-bridge@1.0.5
+
+## 1.10.1-next.1
+
+### Patch Changes
+
+- 1a0616fa10: Add missing resource and template app icons
+- Updated dependencies
+ - @backstage/core-plugin-api@1.7.0-next.0
+ - @backstage/config@1.1.0
+ - @backstage/types@1.1.1
+ - @backstage/version-bridge@1.0.5
+
+## 1.10.1-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-plugin-api@1.7.0-next.0
+ - @backstage/config@1.1.0
+ - @backstage/types@1.1.1
+ - @backstage/version-bridge@1.0.5
+
+## 1.10.0
+
+### Minor Changes
+
+- 18619f793c94: Fixed two bugs in how the `OAuth2Session` type represents the underlying data. The `expiresAt` and `backstageIdentity` are now both optional, since that's what they are in practice. This is not considered a breaking change since it was effectively a bug in the modelling of the state that this type represents, and the type was not used in any other external contract.
+- 18619f793c94: The `OAuth` class which is used by all OAuth providers will now consider both the session expiration of both the Backstage identity as well as the upstream identity provider, and refresh the session with either of them is about to expire.
+- 6e30769cc627: Introduced experimental support for internationalization.
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- 9fe827b380e1: Internal refactor
+- 8cec7664e146: Removed `@types/node` dependency
+- Updated dependencies
+ - @backstage/config@1.1.0
+ - @backstage/core-plugin-api@1.6.0
+ - @backstage/types@1.1.1
+ - @backstage/version-bridge@1.0.5
+
+## 1.10.0-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- 9fe827b380e1: Internal refactor
+- Updated dependencies
+ - @backstage/config@1.1.0-next.2
+ - @backstage/core-plugin-api@1.6.0-next.3
+ - @backstage/types@1.1.1-next.0
+ - @backstage/version-bridge@1.0.5-next.0
+
+## 1.10.0-next.2
+
+### Minor Changes
+
+- 6e30769cc627: Introduced experimental support for internationalization.
+
+### Patch Changes
+
+- 8cec7664e146: Removed `@types/node` dependency
+- Updated dependencies
+ - @backstage/core-plugin-api@1.6.0-next.2
+ - @backstage/config@1.1.0-next.1
+ - @backstage/types@1.1.0
+ - @backstage/version-bridge@1.0.4
+
+## 1.10.0-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/config@1.1.0-next.0
+ - @backstage/core-plugin-api@1.6.0-next.1
+ - @backstage/types@1.1.0
+ - @backstage/version-bridge@1.0.4
+
+## 1.10.0-next.0
+
+### Minor Changes
+
+- 18619f793c94: Fixed two bugs in how the `OAuth2Session` type represents the underlying data. The `expiresAt` and `backstageIdentity` are now both optional, since that's what they are in practice. This is not considered a breaking change since it was effectively a bug in the modelling of the state that this type represents, and the type was not used in any other external contract.
+- 18619f793c94: The `OAuth` class which is used by all OAuth providers will now consider both the session expiration of both the Backstage identity as well as the upstream identity provider, and refresh the session with either of them is about to expire.
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-plugin-api@1.6.0-next.0
+ - @backstage/config@1.0.8
+ - @backstage/types@1.1.0
+ - @backstage/version-bridge@1.0.4
+
+## 1.9.1
+
+### Patch Changes
+
+- 9ae4e7e63836: Fixed a bug that could cause `navigate` analytics events to be misattributed to the plugin mounted on the root route (e.g. the `home` plugin at `/`) when the route that was navigated to wasn't associated with a routable extension.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.5.3
+ - @backstage/config@1.0.8
+ - @backstage/types@1.1.0
+ - @backstage/version-bridge@1.0.4
+
+## 1.9.1-next.0
+
+### Patch Changes
+
+- 9ae4e7e63836: Fixed a bug that could cause `navigate` analytics events to be misattributed to the plugin mounted on the root route (e.g. the `home` plugin at `/`) when the route that was navigated to wasn't associated with a routable extension.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.5.3
+ - @backstage/config@1.0.8
+ - @backstage/types@1.1.0
+ - @backstage/version-bridge@1.0.4
+
+## 1.9.0
+
+### Minor Changes
+
+- a77ddf7ccd71: add login in popup options to config popup width and height
+
+### Patch Changes
+
+- 8174cf4c0edf: Fixing MUI / Material UI references
+- Updated dependencies
+ - @backstage/core-plugin-api@1.5.3
+ - @backstage/config@1.0.8
+ - @backstage/types@1.1.0
+ - @backstage/version-bridge@1.0.4
+
+## 1.8.2-next.1
+
+### Patch Changes
+
+- 8174cf4c0edf: Fixing MUI / Material UI references
+- Updated dependencies
+ - @backstage/core-plugin-api@1.5.3-next.1
+ - @backstage/config@1.0.8
+ - @backstage/types@1.1.0
+ - @backstage/version-bridge@1.0.4
+
+## 1.8.2-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-plugin-api@1.5.3-next.0
+ - @backstage/config@1.0.8
+
+## 1.8.1
+
+### Patch Changes
+
+- 12adfbc8fe2d: Fixed a bug that prevented accurate plugin and route data from being applied to `navigate` analytics events when users visited pages constructed with ``, ``, and similar components that are used to gather one or more routable extensions under a given path.
+- ac677bc30ae0: Expose discovery.endpoints configuration to use FrontendHostDiscovery
+- 74b216ee4e50: Add `PropsWithChildren` to usages of `ComponentType`, in preparation for React 18 where the children are no longer implicit.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.5.2
+ - @backstage/types@1.1.0
+ - @backstage/config@1.0.8
+ - @backstage/version-bridge@1.0.4
+
+## 1.8.1-next.0
+
+### Patch Changes
+
+- 74b216ee4e50: Add `PropsWithChildren` to usages of `ComponentType`, in preparation for React 18 where the children are no longer implicit.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.5.2-next.0
+ - @backstage/config@1.0.7
+ - @backstage/types@1.0.2
+ - @backstage/version-bridge@1.0.4
+
+## 1.8.0
+
+### Minor Changes
+
+- c89437db899: The analytics' `navigate` event will now include the route parameters as attributes of the navigate event
+
+### Patch Changes
+
+- b645d70034a: Fixed a bug in the Azure auth provider which prevented getting access tokens with multiple scopes for one resource
+- 42d817e76ab: Added `FrontendHostDiscovery` for config driven discovery implementation
+- Updated dependencies
+ - @backstage/config@1.0.7
+ - @backstage/core-plugin-api@1.5.1
+ - @backstage/types@1.0.2
+ - @backstage/version-bridge@1.0.4
+
+## 1.8.0-next.1
+
+### Minor Changes
+
+- c89437db899: The analytics' `navigate` event will now include the route parameters as attributes of the navigate event
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-plugin-api@1.5.1
+ - @backstage/config@1.0.7
+
+## 1.7.1-next.0
+
+### Patch Changes
+
+- 42d817e76ab: Added `FrontendHostDiscovery` for config driven discovery implementation
+- Updated dependencies
+ - @backstage/core-plugin-api@1.5.1
+ - @backstage/config@1.0.7
+ - @backstage/types@1.0.2
+ - @backstage/version-bridge@1.0.4
+
+## 1.7.0
+
+### Minor Changes
+
+- 7908d72e033: Introduce a new global config parameter, `enableExperimentalRedirectFlow`. When enabled, auth will happen with an in-window redirect flow rather than through a popup window.
+- c15e0cedbe1: The `AuthConnector` interface now supports specifying a set of scopes when
+ refreshing a session. The `DefaultAuthConnector` implementation passes the
+ `scope` query parameter to the auth-backend plugin appropriately. The
+ `RefreshingAuthSessionManager` passes any scopes in its `GetSessionRequest`
+ appropriately.
+
+### Patch Changes
+
+- 1e4f5e91b8e: Bump `zod` and `zod-to-json-schema` dependencies.
+- e0c6e8b9c3c: Update peer dependencies
+- Updated dependencies
+ - @backstage/core-plugin-api@1.5.1
+ - @backstage/version-bridge@1.0.4
+ - @backstage/config@1.0.7
+ - @backstage/types@1.0.2
+
+## 1.7.0-next.3
+
+### Minor Changes
+
+- c15e0cedbe1: The `AuthConnector` interface now supports specifying a set of scopes when
+ refreshing a session. The `DefaultAuthConnector` implementation passes the
+ `scope` query parameter to the auth-backend plugin appropriately. The
+ `RefreshingAuthSessionManager` passes any scopes in its `GetSessionRequest`
+ appropriately.
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/config@1.0.7
+ - @backstage/core-plugin-api@1.5.1-next.1
+ - @backstage/types@1.0.2
+ - @backstage/version-bridge@1.0.4-next.0
+
+## 1.7.0-next.2
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-plugin-api@1.5.1-next.1
+ - @backstage/config@1.0.7
+ - @backstage/types@1.0.2
+ - @backstage/version-bridge@1.0.4-next.0
+
+## 1.7.0-next.1
+
+### Patch Changes
+
+- 1e4f5e91b8e: Bump `zod` and `zod-to-json-schema` dependencies.
+- e0c6e8b9c3c: Update peer dependencies
+- Updated dependencies
+ - @backstage/core-plugin-api@1.5.1-next.0
+ - @backstage/version-bridge@1.0.4-next.0
+ - @backstage/config@1.0.7
+ - @backstage/types@1.0.2
+
+## 1.7.0-next.0
+
+### Minor Changes
+
+- 7908d72e033: Introduce a new global config parameter, `enableExperimentalRedirectFlow`. When enabled, auth will happen with an in-window redirect flow rather than through a popup window.
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-plugin-api@1.5.0
+ - @backstage/config@1.0.7
+ - @backstage/types@1.0.2
+ - @backstage/version-bridge@1.0.3
+
+## 1.6.0
+
+### Minor Changes
+
+- 456eaa8cf83: `OAuth2` now gets ID tokens from a session with the `openid` scope explicitly
+ requested.
+
+ This should not be considered a breaking change, because spec-compliant OIDC
+ providers will already be returning ID tokens if and only if the `openid` scope
+ is granted.
+
+ This change makes the dependence explicit, and removes the burden on
+ OAuth2-based providers which require an ID token (e.g. this is done by various
+ default [auth handlers](https://backstage.io/docs/auth/identity-resolver/#authhandler)) to add
+ `openid` to their default scopes. _That_ could carry another indirect benefit:
+ by removing `openid` from the default scopes for a provider, grants for
+ resource-specific access tokens can avoid requesting excess ID token-related
+ scopes.
+
+### Patch Changes
+
+- 52b0022dab7: Updated dependency `msw` to `^1.0.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.5.0
+ - @backstage/config@1.0.7
+ - @backstage/types@1.0.2
+ - @backstage/version-bridge@1.0.3
+
+## 1.6.0-next.2
+
+### Minor Changes
+
+- 456eaa8cf83: `OAuth2` now gets ID tokens from a session with the `openid` scope explicitly
+ requested.
+
+ This should not be considered a breaking change, because spec-compliant OIDC
+ providers will already be returning ID tokens if and only if the `openid` scope
+ is granted.
+
+ This change makes the dependence explicit, and removes the burden on
+ OAuth2-based providers which require an ID token (e.g. this is done by various
+ default [auth handlers](https://backstage.io/docs/auth/identity-resolver/#authhandler)) to add
+ `openid` to their default scopes. _That_ could carry another indirect benefit:
+ by removing `openid` from the default scopes for a provider, grants for
+ resource-specific access tokens can avoid requesting excess ID token-related
+ scopes.
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-plugin-api@1.5.0-next.2
+ - @backstage/config@1.0.7-next.0
+
+## 1.5.1-next.1
+
+### Patch Changes
+
+- 52b0022dab7: Updated dependency `msw` to `^1.0.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.4.1-next.1
+ - @backstage/config@1.0.7-next.0
+ - @backstage/types@1.0.2
+ - @backstage/version-bridge@1.0.3
+
+## 1.5.1-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-plugin-api@1.4.1-next.0
+ - @backstage/config@1.0.6
+ - @backstage/types@1.0.2
+ - @backstage/version-bridge@1.0.3
+
+## 1.5.0
+
+### Minor Changes
+
+- db10b6ef65: Added a Bitbucket Server Auth Provider and added its API to the app defaults
+
+### Patch Changes
+
+- dff4d8ddb1: Fixed an issue where an explicit port the frontend base URL could break the app.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.4.0
+ - @backstage/config@1.0.6
+ - @backstage/types@1.0.2
+ - @backstage/version-bridge@1.0.3
+
+## 1.4.1-next.0
+
+### Patch Changes
+
+- dff4d8ddb1: Fixed an issue where an explicit port the frontend base URL could break the app.
+- Updated dependencies
+ - @backstage/config@1.0.6
+ - @backstage/core-plugin-api@1.3.0
+ - @backstage/types@1.0.2
+ - @backstage/version-bridge@1.0.3
+
+## 1.4.0
+
+### Minor Changes
+
+- bca8e8b393: Allow defining application level feature flags. See [Feature Flags documentation](https://backstage.io/docs/plugins/feature-flags#in-the-application) for reference.
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-plugin-api@1.3.0
+ - @backstage/config@1.0.6
+ - @backstage/types@1.0.2
+ - @backstage/version-bridge@1.0.3
+
+## 1.4.0-next.1
+
+### Minor Changes
+
+- bca8e8b393: Allow defining application level feature flags. See [Feature Flags documentation](https://backstage.io/docs/plugins/feature-flags#in-the-application) for reference.
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-plugin-api@1.3.0-next.1
+ - @backstage/config@1.0.6-next.0
+ - @backstage/types@1.0.2
+ - @backstage/version-bridge@1.0.3
+
+## 1.3.1-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/config@1.0.6-next.0
+ - @backstage/core-plugin-api@1.2.1-next.0
+ - @backstage/types@1.0.2
+ - @backstage/version-bridge@1.0.3
+
+## 1.3.0
+
+### Minor Changes
+
+- e0d9c9559a: Added a new `AppRouter` component and `app.createRoot()` method that replaces `app.getRouter()` and `app.getProvider()`, which are now deprecated. The new `AppRouter` component is a drop-in replacement for the old router component, while the new `app.createRoot()` method is used instead of the old provider component.
+
+ An old app setup might look like this:
+
+ ```tsx
+ const app = createApp(/* ... */);
+
+ const AppProvider = app.getProvider();
+ const AppRouter = app.getRouter();
+
+ const routes = ...;
+
+ const App = () => (
+
+
+
+
+ {routes}
+
+
+ );
+
+ export default App;
+ ```
+
+ With these new APIs, the setup now looks like this:
+
+ ```tsx
+ import { AppRouter } from '@backstage/core-app-api';
+
+ const app = createApp(/* ... */);
+
+ const routes = ...;
+
+ export default app.createRoot(
+ <>
+
+
+
+ {routes}
+
+ >,
+ );
+ ```
+
+ Note that `app.createRoot()` accepts a React element, rather than a component.
+
+### Patch Changes
+
+- d3fea4ae0a: Internal fixes to avoid implicit usage of globals
+- b05dcd5530: Move the `zod` dependency to a version that does not collide with other libraries
+- b4b5b02315: Tweak feature flag registration so that it happens immediately before the first rendering of the app, rather than just after.
+- 6870b43dd1: Fix for the automatic rewriting of base URLs.
+- 203271b746: Prevent duplicate feature flag components from rendering in the settings when using components
+- 3280711113: Updated dependency `msw` to `^0.49.0`.
+- 19356df560: Updated dependency `zen-observable` to `^0.9.0`.
+- c3fa90e184: Updated dependency `zen-observable` to `^0.10.0`.
+- 8015ff1258: Tweaked wording to use inclusive terminology
+- 653d7912ac: Made `WebStorage` notify its subscribers when `localStorage` values change in other tabs/windows
+- 63310e3987: Apps will now rewrite the `app.baseUrl` configuration to match the current `location.origin`. The `backend.baseUrl` will also be rewritten in the same way when the `app.baseUrl` and `backend.baseUrl` have matching origins. This will reduce the need for separate frontend builds for different environments.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.2.0
+ - @backstage/version-bridge@1.0.3
+ - @backstage/types@1.0.2
+ - @backstage/config@1.0.5
+
+## 1.3.0-next.4
+
+### Minor Changes
+
+- e0d9c9559a: Added a new `AppRouter` component and `app.createRoot()` method that replaces `app.getRouter()` and `app.getProvider()`, which are now deprecated. The new `AppRouter` component is a drop-in replacement for the old router component, while the new `app.createRoot()` method is used instead of the old provider component.
+
+ An old app setup might look like this:
+
+ ```tsx
+ const app = createApp(/* ... */);
+
+ const AppProvider = app.getProvider();
+ const AppRouter = app.getRouter();
+
+ const routes = ...;
+
+ const App = () => (
+
+
+
+
+ {routes}
+
+
+ );
+
+ export default App;
+ ```
+
+ With these new APIs, the setup now looks like this:
+
+ ```tsx
+ import { AppRouter } from '@backstage/core-app-api';
+
+ const app = createApp(/* ... */);
+
+ const routes = ...;
+
+ export default app.createRoot(
+ <>
+
+
+
+ {routes}
+
+ >,
+ );
+ ```
+
+ Note that `app.createRoot()` accepts a React element, rather than a component.
+
+### Patch Changes
+
+- b05dcd5530: Move the `zod` dependency to a version that does not collide with other libraries
+- Updated dependencies
+ - @backstage/config@1.0.5-next.1
+ - @backstage/core-plugin-api@1.2.0-next.2
+ - @backstage/types@1.0.2-next.1
+ - @backstage/version-bridge@1.0.3-next.0
+
+## 1.2.1-next.3
+
+### Patch Changes
+
+- 6870b43dd1: Fix for the automatic rewriting of base URLs.
+- 653d7912ac: Made `WebStorage` notify its subscribers when `localStorage` values change in other tabs/windows
+- Updated dependencies
+ - @backstage/config@1.0.5-next.1
+ - @backstage/core-plugin-api@1.2.0-next.2
+ - @backstage/types@1.0.2-next.1
+ - @backstage/version-bridge@1.0.3-next.0
+
+## 1.2.1-next.2
+
+### Patch Changes
+
+- b4b5b02315: Tweak feature flag registration so that it happens immediately before the first rendering of the app, rather than just after.
+- 203271b746: Prevent duplicate feature flag components from rendering in the settings when using components
+- 8015ff1258: Tweaked wording to use inclusive terminology
+- 63310e3987: Apps will now rewrite the `app.baseUrl` configuration to match the current `location.origin`. The `backend.baseUrl` will also be rewritten in the same way when the `app.baseUrl` and `backend.baseUrl` have matching origins. This will reduce the need for separate frontend builds for different environments.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.2.0-next.2
+ - @backstage/config@1.0.5-next.1
+ - @backstage/types@1.0.2-next.1
+ - @backstage/version-bridge@1.0.3-next.0
+
+## 1.2.1-next.1
+
+### Patch Changes
+
+- d3fea4ae0a: Internal fixes to avoid implicit usage of globals
+- c3fa90e184: Updated dependency `zen-observable` to `^0.10.0`.
+- Updated dependencies
+ - @backstage/version-bridge@1.0.3-next.0
+ - @backstage/core-plugin-api@1.1.1-next.1
+ - @backstage/types@1.0.2-next.1
+ - @backstage/config@1.0.5-next.1
+
+## 1.2.1-next.0
+
+### Patch Changes
+
+- 3280711113: Updated dependency `msw` to `^0.49.0`.
+- 19356df560: Updated dependency `zen-observable` to `^0.9.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.1.1-next.0
+ - @backstage/types@1.0.2-next.0
+ - @backstage/config@1.0.5-next.0
+ - @backstage/version-bridge@1.0.2
+
+## 1.2.0
+
+### Minor Changes
+
+- 9b737e5f2e: Updated the React Router wiring to make use of the new `basename` property of the router components in React Router v6 stable. To implement this, a new optional `basename` property has been added to the `Router` app component, which can be forwarded to the concrete router implementation in order to support this new behavior. This is done by default in any app that does not have a `Router` component override.
+- 127fcad26d: Deprecated the `homepage` config as the component that used it - `HomepageTimer` - has been removed and replaced by the `HeaderWorldClock` in the home plugin
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/version-bridge@1.0.2
+ - @backstage/core-plugin-api@1.1.0
+ - @backstage/types@1.0.1
+ - @backstage/config@1.0.4
+
+## 1.2.0-next.0
+
+### Minor Changes
+
+- 9b737e5f2e: Updated the React Router wiring to make use of the new `basename` property of the router components in React Router v6 stable. To implement this, a new optional `basename` property has been added to the `Router` app component, which can be forwarded to the concrete router implementation in order to support this new behavior. This is done by default in any app that does not have a `Router` component override.
+- 127fcad26d: Deprecated the `homepage` config as the component that used it - `HomepageTimer` - has been removed and replaced by the `HeaderWorldClock` in the home plugin
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-plugin-api@1.1.0-next.0
+ - @backstage/types@1.0.1-next.0
+ - @backstage/config@1.0.4-next.0
+ - @backstage/version-bridge@1.0.1
+
+## 1.1.1
+
+### Patch Changes
+
+- 27e6404aba: Fixed a bug where gathered index routes would fail to bind routable extensions. This would typically show up when placing a routable extension in the entity page overview tab.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.7
+ - @backstage/config@1.0.3
+ - @backstage/types@1.0.0
+ - @backstage/version-bridge@1.0.1
+
+## 1.1.1-next.2
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/config@1.0.3-next.2
+ - @backstage/core-plugin-api@1.0.7-next.2
+ - @backstage/types@1.0.0
+ - @backstage/version-bridge@1.0.1
+
+## 1.1.1-next.1
+
+### Patch Changes
+
+- 27e6404aba: Fixed a bug where gathered index routes would fail to bind routable extensions. This would typically show up when placing a routable extension in the entity page overview tab.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.7-next.1
+ - @backstage/config@1.0.3-next.1
+ - @backstage/types@1.0.0
+ - @backstage/version-bridge@1.0.1
+
+## 1.1.1-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/config@1.0.3-next.0
+ - @backstage/core-plugin-api@1.0.7-next.0
+ - @backstage/types@1.0.0
+ - @backstage/version-bridge@1.0.1
+
+## 1.1.0
+
+### Minor Changes
+
+- a448fea691: Updated the routing system to be compatible with React Router v6 stable.
+
+### Patch Changes
+
+- 817f3196f6: Updated React Router dependencies to be peer dependencies.
+
+- f9ec4e46e3: When using React Router v6 stable, it is now possible for components within the `Route` element tree to have `path` props, although they will be ignored.
+
+- 7d47def9c4: Removed dependency on `@types/jest`.
+
+- 744fea158b: Added `getSystemIcons()` function to the `AppContext` available through `useApp` that will pull a list of all the icons that have been registered in the App.
+
+- 667d917488: Updated dependency `msw` to `^0.47.0`.
+
+- 87ec2ba4d6: Updated dependency `msw` to `^0.46.0`.
+
+- bf5e9030eb: Updated dependency `msw` to `^0.45.0`.
+
+- 8448b53dd6: Clarify that the `WebStorage` observable returns `JsonValue` items.
+
+- 70299c99d5: Updated `FlatRoutes` to be compatible with React Router v6 stable.
+
+- e9d40ebf54: If you'd like to send analytics events to multiple implementations, you may now
+ do so using the `MultipleAnalyticsApi` implementation provided by this package.
+
+ ```tsx
+ import { MultipleAnalyticsApi } from '@backstage/core-app-api';
+ import {
+ analyticsApiRef,
+ configApiRef,
+ storageApiRef,
+ identityApiRef,
+ } from '@internal/backstage/core-plugin-api';
+ import { CustomAnalyticsApi } from '@internal/analytics';
+ import { VendorAnalyticsApi } from '@vendor/analytics';
+
+ createApiFactory({
+ api: analyticsApiRef,
+ deps: { configApi: configApiRef, identityApi: identityApiRef, storageApi: storageApiRef },
+ factory: ({ configApi, identityApi, storageApi }) =>
+ MultipleAnalyticsApi.fromApis([
+ VendorAnalyticsApi.fromConfig(configApi, { identityApi }),
+ CustomAnalyticsApi.fromConfig(configApi, { identityApi, storageApi }),
+ ]),
+ }),
+ ```
+
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.6
+ - @backstage/config@1.0.2
+
+## 1.1.0-next.3
+
+### Patch Changes
+
+- 7d47def9c4: Removed dependency on `@types/jest`.
+- Updated dependencies
+ - @backstage/config@1.0.2-next.0
+ - @backstage/core-plugin-api@1.0.6-next.3
+
+## 1.1.0-next.2
+
+### Patch Changes
+
+- f9ec4e46e3: When using React Router v6 stable, it is now possible for components within the `Route` element tree to have `path` props, although they will be ignored.
+
+- 667d917488: Updated dependency `msw` to `^0.47.0`.
+
+- 87ec2ba4d6: Updated dependency `msw` to `^0.46.0`.
+
+- e9d40ebf54: If you'd like to send analytics events to multiple implementations, you may now
+ do so using the `MultipleAnalyticsApi` implementation provided by this package.
+
+ ```tsx
+ import { MultipleAnalyticsApi } from '@backstage/core-app-api';
+ import {
+ analyticsApiRef,
+ configApiRef,
+ storageApiRef,
+ identityApiRef,
+ } from '@internal/backstage/core-plugin-api';
+ import { CustomAnalyticsApi } from '@internal/analytics';
+ import { VendorAnalyticsApi } from '@vendor/analytics';
+
+ createApiFactory({
+ api: analyticsApiRef,
+ deps: { configApi: configApiRef, identityApi: identityApiRef, storageApi: storageApiRef },
+ factory: ({ configApi, identityApi, storageApi }) =>
+ MultipleAnalyticsApi.fromApis([
+ VendorAnalyticsApi.fromConfig(configApi, { identityApi }),
+ CustomAnalyticsApi.fromConfig(configApi, { identityApi, storageApi }),
+ ]),
+ }),
+ ```
+
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.6-next.2
+
+## 1.1.0-next.1
+
+### Minor Changes
+
+- a448fea691: Updated the routing system to be compatible with React Router v6 stable.
+
+### Patch Changes
+
+- 817f3196f6: Updated React Router dependencies to be peer dependencies.
+- 70299c99d5: Updated `FlatRoutes` to be compatible with React Router v6 stable.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.6-next.1
+
+## 1.0.6-next.0
+
+### Patch Changes
+
+- 744fea158b: Added `getSystemIcons()` function to the `AppContext` available through `useApp` that will pull a list of all the icons that have been registered in the App.
+- bf5e9030eb: Updated dependency `msw` to `^0.45.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.6-next.0
+
+## 1.0.5
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.5
+
+## 1.0.5-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.5-next.0
+
+## 1.0.4
+
+### Patch Changes
+
+- 881fc75a75: Internal tweak removing usage of explicit type parameters for the `BackstagePlugin` type.
+- 8fe2357101: The `signOut` method of the `IdentityApi` will now navigate the user back to the base URL of the app as indicated by the `app.baseUrl` config.
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- 8006d0f9bf: Updated dependency `msw` to `^0.44.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4
+
+## 1.0.4-next.1
+
+### Patch Changes
+
+- 881fc75a75: Internal tweak removing usage of explicit type parameters for the `BackstagePlugin` type.
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.4-next.0
+
+## 1.0.4-next.0
+
+### Patch Changes
+
+- 8fe2357101: The `signOut` method of the `IdentityApi` will now navigate the user back to the base URL of the app as indicated by the `app.baseUrl` config.
+
+## 1.0.3
+
+### Patch Changes
+
+- 8f7b1835df: Updated dependency `msw` to `^0.41.0`.
+- 19781483a2: Handle URLs as the first argument to `fetchApi`, when using the `plugin:` protocol
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.3
+
+## 1.0.3-next.0
+
+### Patch Changes
+
+- 8f7b1835df: Updated dependency `msw` to `^0.41.0`.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.3-next.0
+
+## 1.0.2
+
+### Patch Changes
+
+- 1fae1f57c9: Fix SAML session schema to no longer require the (deprecated) id, to unbreak session data storage.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.2
+ - @backstage/config@1.0.1
+
+## 1.0.2-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/config@1.0.1-next.0
+ - @backstage/core-plugin-api@1.0.2-next.1
+
+## 1.0.2-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.2-next.0
+
+## 1.0.1
+
+### Patch Changes
+
+- 7c7919777e: build(deps-dev): bump `@testing-library/react-hooks` from 7.0.2 to 8.0.0
+- 24254fd433: build(deps): bump `@testing-library/user-event` from 13.5.0 to 14.0.0
+- 3ff2bfb66e: Refactored the route collection logic to prepare for future changes and avoid duplicate element tree traversal for the analytics context.
+- a7bb762dab: fixed empty body issue for POST requests using FetchAPI with 'plugin://' prefix
+- 230ad0826f: Bump to using `@types/node` v16
+- c47509e1a0: Implemented changes suggested by Deepsource.io including multiple double non-null assertion operators and unexpected awaits for non-promise values.
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.1
+ - @backstage/version-bridge@1.0.1
+
+## 1.0.1-next.1
+
+### Patch Changes
+
+- 24254fd433: build(deps): bump `@testing-library/user-event` from 13.5.0 to 14.0.0
+- 3ff2bfb66e: Refactored the route collection logic to prepare for future changes and avoid duplicate element tree traversal for the analytics context.
+- 230ad0826f: Bump to using `@types/node` v16
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.1-next.0
+
+## 1.0.1-next.0
+
+### Patch Changes
+
+- a7bb762dab: fixed empty body issue for POST requests using FetchAPI with 'plugin://' prefix
+- c47509e1a0: Implemented changes suggested by Deepsource.io including multiple double non-null assertion operators and unexpected awaits for non-promise values.
+
+## 1.0.0
+
+### Major Changes
+
+- b58c70c223: This package has been promoted to v1.0! To understand how this change affects the package, please check out our [versioning policy](https://backstage.io/docs/overview/versioning-policy).
+
+### Patch Changes
+
+- a422d7ce5e: chore(deps): bump `@testing-library/react` from 11.2.6 to 12.1.3
+- f24ef7864e: Minor typo fixes
+- Updated dependencies
+ - @backstage/core-plugin-api@1.0.0
+ - @backstage/version-bridge@1.0.0
+ - @backstage/config@1.0.0
+ - @backstage/types@1.0.0
+
+## 0.6.0
+
+### Minor Changes
+
+- bb2bb36651: **BREAKING**: Removed the deprecated `get` method from `StorageAPI` and its implementations, this method has been replaced by the `snapshot` method. The return value from snapshot no longer includes `newValue` which has been replaced by `value`. For getting notified when a value changes, use \`observe# @backstage/core-app-api.
+- f3cce3dcf7: **BREAKING**: Removed export of `GithubSession` and `SamlSession` which are only used internally.
+- af5eaa87f4: **BREAKING**: Removed deprecated `auth0AuthApiRef`, `oauth2ApiRef`, `samlAuthApiRef` and `oidcAuthApiRef` as these APIs are too generic to be useful. Instructions for how to migrate can be found at .
+- dbf84eee55: **BREAKING**: Removed the deprecated `GithubAuth.normalizeScopes` method.
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-plugin-api@0.8.0
+
+## 0.5.4
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-plugin-api@0.7.0
+
+## 0.5.3
+
+### Patch Changes
+
+- 1ed305728b: Bump `node-fetch` to version 2.6.7 and `cross-fetch` to version 3.1.5
+- c77c5c7eb6: Added `backstage.role` to `package.json`
+- Updated dependencies
+ - @backstage/core-plugin-api@0.6.1
+ - @backstage/config@0.1.14
+ - @backstage/types@0.1.2
+ - @backstage/version-bridge@0.1.2
+
+## 0.5.2
+
+### Patch Changes
+
+- 40775bd263: Switched out the `GithubAuth` implementation to use the common `OAuth2` implementation. This relies on the simultaneous change in `@backstage/plugin-auth-backend` that enabled access token storage in cookies rather than the current solution that's based on `LocalStorage`.
+
+ > **NOTE:** Make sure you upgrade the `auth-backend` deployment before or at the same time as you deploy this change.
+
+## 0.5.2-next.0
+
+### Patch Changes
+
+- 40775bd263: Switched out the `GithubAuth` implementation to use the common `OAuth2` implementation. This relies on the simultaneous change in `@backstage/plugin-auth-backend` that enabled access token storage in cookies rather than the current solution that's based on `LocalStorage`.
+
+ > **NOTE:** Make sure you upgrade the `auth-backend` deployment before or at the same time as you deploy this change.
+
+## 0.5.1
+
+### Patch Changes
+
+- f959c22787: Asynchronous methods on the identity API can now reliably be called at any time, including early in the bootstrap process or prior to successful sign-in.
+
+ Previously in such situations, a `Tried to access IdentityApi before app was loaded` error would be thrown. Now, those methods will wait and resolve eventually (as soon as a concrete identity API is provided).
+
+## 0.5.0
+
+### Minor Changes
+
+- ceebe25391: Removed deprecated `SignInResult` type, which was replaced with the new `onSignInSuccess` callback.
+
+### Patch Changes
+
+- fb565073ec: Add an `allowUrl` callback option to `FetchMiddlewares.injectIdentityAuth`
+- f050eec2c0: Added validation during the application startup that detects if there are any plugins present that have not had their required external routes bound. Failing the validation will cause a hard crash as it is a programmer error. It lets you detect early on that there are dangling routes, rather than having them cause an error later on.
+- Updated dependencies
+ - @backstage/core-plugin-api@0.6.0
+ - @backstage/config@0.1.13
+
+## 0.5.0-next.0
+
+### Minor Changes
+
+- ceebe25391: Removed deprecated `SignInResult` type, which was replaced with the new `onSignInSuccess` callback.
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-plugin-api@0.6.0-next.0
+ - @backstage/config@0.1.13-next.0
+
+## 0.4.0
+
+### Minor Changes
+
+- e2eb92c109: Removed previously deprecated `ApiRegistry` export.
+
+### Patch Changes
+
+- 34442cd5cf: Fixed an issue where valid SAML and GitHub sessions would be considered invalid and not be stored.
+
+ Deprecated the `SamlSession` and `GithubSession` types.
+
+- 784d8078ab: Removed direct and transitive Material UI dependencies.
+
+- Updated dependencies
+ - @backstage/config@0.1.12
+ - @backstage/core-plugin-api@0.5.0
+
+## 0.3.1
+
+### Patch Changes
+
+- 4ce51ab0f1: Internal refactor of the `react-use` imports to use `react-use/lib/*` instead.
+- Updated dependencies
+ - @backstage/core-plugin-api@0.4.1
+ - @backstage/core-components@0.8.3
+
+## 0.3.0
+
+### Minor Changes
+
+- a195284c7b: Updated `WebStorageApi` to reflect the `StorageApi` changes in `@backstage/core-plugin-api`.
+- b3605da81c: - Removed deprecated definition `createApp` from `@backstage/core-app-api` which has been replaced by `@backstage/app-defaults#createApp`
+ - Removed deprecated type `BackstagePluginWithAnyOutput`
+ - Removed deprecated constructors for `GithubAuth`, `OAuth2`, and `SamlAuth` as the `create` method should be used instead
+- 68f8b10ccd: - Removed deprecation configuration option `theme` from `AppTheme` of the `AppThemeApi`
+ - Removed reference to `theme` in the `app-defaults` default `AppTheme`
+ - Removed logic in `AppThemeProvider` that creates `ThemeProvider` from `appTheme.theme`
+
+### Patch Changes
+
+- 7927005152: Add `FetchApi` and related `fetchApiRef` which implement fetch, with an added Backstage token header when available.
+- 518ddc00bc: Schema-validate local storage cached session info on load
+- Updated dependencies
+ - @backstage/app-defaults@0.1.3
+ - @backstage/core-plugin-api@0.4.0
+ - @backstage/core-components@0.8.2
+
+## 0.2.1
+
+### Patch Changes
+
+- c11ce4f552: Deprecated `Auth0Auth`, pointing to using `OAuth2` directly instead.
+- 9d6503e86c: Switched out usage of deprecated `OAuthRequestApi` types from `@backstage/core-plugin-api`.
+- Updated dependencies
+ - @backstage/core-plugin-api@0.3.1
+ - @backstage/core-components@0.8.1
+
+## 0.2.0
+
+### Minor Changes
+
+- a036b65c2f: **BREAKING CHANGE**
+
+ The app `SignInPage` component has been updated to switch out the `onResult` callback for a new `onSignInSuccess` callback. This is an immediate breaking change without any deprecation period, as it was deemed to be the way of making this change that had the lowest impact.
+
+ The new `onSignInSuccess` callback directly accepts an implementation of an `IdentityApi`, rather than a `SignInResult`. The `SignInPage` from `@backstage/core-component` has been updated to fit this new API, and as long as you pass on `props` directly you should not see any breakage.
+
+ However, if you implement your own custom `SignInPage`, then this will be a breaking change and you need to migrate over to using the new callback. While doing so you can take advantage of the `UserIdentity.fromLegacy` helper from `@backstage/core-components` to make the migration simpler by still using the `SignInResult` type. This helper is also deprecated though and is only provided for immediate migration. Long-term it will be necessary to build the `IdentityApi` using for example `UserIdentity.create` instead.
+
+ The following is an example of how you can migrate existing usage immediately using `UserIdentity.fromLegacy`:
+
+ ```ts
+ onResult(signInResult);
+ // becomes
+ onSignInSuccess(UserIdentity.fromLegacy(signInResult));
+ ```
+
+ The following is an example of how implement the new `onSignInSuccess` callback of the `SignInPage` using `UserIdentity.create`:
+
+ ```ts
+ const identityResponse = await authApi.getBackstageIdentity();
+ // Profile is optional and will be removed, but allows the
+ // synchronous getProfile method of the IdentityApi to be used.
+ const profile = await authApi.getProfile();
+ onSignInSuccess(
+ UserIdentity.create({
+ identity: identityResponse.identity,
+ authApi,
+ profile,
+ }),
+ );
+ ```
+
+### Patch Changes
+
+- cd450844f6: Moved React dependencies to `peerDependencies` and allow both React v16 and v17 to be used.
+- dcd1a0c3f4: Minor improvement to the API reports, by not unpacking arguments directly
+- Updated dependencies
+ - @backstage/core-components@0.8.0
+ - @backstage/core-plugin-api@0.3.0
+ - @backstage/app-defaults@0.1.2
+ - @backstage/version-bridge@0.1.1
+
+## 0.1.24
+
+### Patch Changes
+
+- 0e7f256034: Fixed a bug where `useRouteRef` would fail in situations where relative navigation was needed and the app was is mounted on a sub-path. This would typically show up as a failure to navigate to a tab on an entity page.
+- Updated dependencies
+ - @backstage/core-components@0.7.6
+ - @backstage/theme@0.2.14
+ - @backstage/core-plugin-api@0.2.2
+
+## 0.1.23
+
+### Patch Changes
+
+- bab752e2b3: Change default port of backend from 7000 to 7007.
+
+ This is due to the AirPlay Receiver process occupying port 7000 and preventing local Backstage instances on MacOS to start.
+
+ You can change the port back to 7000 or any other value by providing an `app-config.yaml` with the following values:
+
+ backend:
+ listen: 0.0.0.0:7123
+ baseUrl: http://localhost:7123
+
+ More information can be found here:
+
+- 000190de69: The `ApiRegistry` from `@backstage/core-app-api` class has been deprecated and will be removed in a future release. To replace it, we have introduced two new helpers that are exported from `@backstage/test-utils`, namely `TestApiProvider` and `TestApiRegistry`.
+
+ These two new helpers are more tailored for writing tests and development setups, as they allow for partial implementations of each of the APIs.
+
+ When migrating existing code it is typically best to prefer usage of `TestApiProvider` when possible, so for example the following code:
+
+ ```tsx
+ render(
+
+ {...}
+
+ )
+ ```
+
+ Would be migrated to this:
+
+ ```tsx
+ render(
+
+ {...}
+
+ )
+ ```
+
+ In cases where the `ApiProvider` is used in a more standalone way, for example to reuse a set of APIs across multiple tests, the `TestApiRegistry` can be used instead. Note that the `TestApiRegistry` only has a single static factory method, `.from()`, and it is slightly different from the existing `.from()` method on `ApiRegistry` in that it doesn't require the API pairs to be wrapped in an outer array.
+
+ Usage that looks like this:
+
+ ```ts
+ const apis = ApiRegistry.with(
+ identityApiRef,
+ mockIdentityApi as unknown as IdentityApi,
+ ).with(configApiRef, new ConfigReader({}));
+ ```
+
+ OR like this:
+
+ ```ts
+ const apis = ApiRegistry.from([
+ [identityApiRef, mockIdentityApi as unknown as IdentityApi],
+ [configApiRef, new ConfigReader({})],
+ ]);
+ ```
+
+ Would be migrated to this:
+
+ ```ts
+ const apis = TestApiRegistry.from(
+ [identityApiRef, mockIdentityApi],
+ [configApiRef, new ConfigReader({})],
+ );
+ ```
+
+ If your app is still using the `ApiRegistry` to construct the `apis` for `createApp`, we recommend that you move over to use the new method of supplying API factories instead, using `createApiFactory`.
+
+- Updated dependencies
+ - @backstage/core-plugin-api@0.2.1
+ - @backstage/core-components@0.7.5
+
+## 0.1.22
+
+### Patch Changes
+
+- Reverted the `createApp` TypeScript type to match the one before version `0.1.21`, as it was an accidental breaking change.
+
+## 0.1.21
+
+### Patch Changes
+
+- 0b1de52732: Migrated to using new `ErrorApiError` and `ErrorApiErrorContext` names.
+
+- ecd1fcb80a: Deprecated the `BackstagePluginWithAnyOutput` type.
+
+- 32bfbafb0f: Start exporting and marking several types as public to address errors in the API report.
+
+- 014cbf8cb9: The `createApp` function from `@backstage/core-app-api` has been deprecated, with two new options being provided as a replacement.
+
+ The first and most commonly used one is `createApp` from the new `@backstage/app-defaults` package, which behaves just like the existing `createApp`. In the future this method is likely to be expanded to add more APIs and other pieces into the default setup, for example the Utility APIs from `@backstage/integration-react`.
+
+ The other option that we now provide is to use `createSpecializedApp` from `@backstage/core-app-api`. This is a more low-level API where you need to provide a full set of options, including your own `components`, `icons`, `defaultApis`, and `themes`. The `createSpecializedApp` way of creating an app is particularly useful if you are not using `@backstage/core-components` or Material UI, as it allows you to avoid those dependencies completely.
+
+- 475edb5bc5: move the BehaviorSubject init into the constructor
+
+- Updated dependencies
+ - @backstage/core-components@0.7.4
+ - @backstage/core-plugin-api@0.2.0
+ - @backstage/app-defaults@0.1.1
+
+## 0.1.20
+
+### Patch Changes
+
+- 78c512ce8f: I have added default icons for the catalog, scaffolder, techdocs, and search.
+- 8b4284cd5c: Improve API documentation for @backstage/core-plugin-api
+- Updated dependencies
+ - @backstage/core-components@0.7.3
+ - @backstage/theme@0.2.13
+ - @backstage/core-plugin-api@0.1.13
+
+## 0.1.19
+
+### Patch Changes
+
+- 10615525f3: Switch to use the json and observable types from `@backstage/types`
+- 41c49884d2: Start using the new `@backstage/types` package. Initially, this means using the `Observable` and `Json*` types from there. The types also remain in their old places but deprecated, and will be removed in a future release.
+- 925a967f36: Replace usage of test-utils-core with test-utils
+- 6b615e92c8: Api cleanup, adding `@public` where necessary and tweaking some comments
+- Updated dependencies
+ - @backstage/config@0.1.11
+ - @backstage/theme@0.2.12
+ - @backstage/core-components@0.7.2
+ - @backstage/core-plugin-api@0.1.12
+
+## 0.1.18
+
+### Patch Changes
+
+- 202f322927: Atlassian auth provider
+
+ - AtlassianAuth added to core-app-api
+ - Atlassian provider added to plugin-auth-backend
+ - Updated user-settings with Atlassian connection
+
+- 36e67d2f24: Internal updates to apply more strict checks to throw errors.
+
+- Updated dependencies
+ - @backstage/core-components@0.7.1
+ - @backstage/core-plugin-api@0.1.11
+
+## 0.1.17
+
+### Patch Changes
+
+- 75bc878221: Internal refactor to avoid importing all of `@material-ui/core`.
+- Updated dependencies
+ - @backstage/core-components@0.7.0
+ - @backstage/theme@0.2.11
+
+## 0.1.16
+
+### Patch Changes
+
+- d9fd798cc8: The Core App API now automatically instruments all route location changes using
+ the new Analytics API. Each location change triggers a `navigate` event, which
+ is an analogue of a "pageview" event in traditional web analytics systems. In
+ addition to the path, these events provide plugin-level metadata via the
+ analytics context, which can be useful for analyzing plugin usage:
+
+ ```json
+ {
+ "action": "navigate",
+ "subject": "/the-path/navigated/to?with=params#and-hashes",
+ "context": {
+ "extension": "App",
+ "pluginId": "id-of-plugin-that-exported-the-route",
+ "routeRef": "associated-route-ref-id"
+ }
+ }
+ ```
+
+ These events can be identified and handled by checking for the action
+ `navigate` and the extension `App`.
+
+- 4c3eea7788: Bitbucket Cloud authentication - based on the existing GitHub authentication + changes around BB apis and updated scope.
+
+ - BitbucketAuth added to core-app-api.
+ - Bitbucket provider added to plugin-auth-backend.
+ - Cosmetic entry for Bitbucket connection in user-settings Authentication Providers tab.
+
+- d6ad46eb22: Stop calling connector.removeSession in StaticAuthSessionManager, instead just discarding the
+ session locally.
+
+- Updated dependencies
+ - @backstage/core-components@0.6.1
+ - @backstage/core-plugin-api@0.1.10
+
+## 0.1.15
+
+### Patch Changes
+
+- 0c4ee1876f: Enables late registration of plugins into the application by updating ApiHolder when additional plugins have been added in.
+- Updated dependencies
+ - @backstage/core-plugin-api@0.1.9
+ - @backstage/core-components@0.6.0
+
+## 0.1.14
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-components@0.5.0
+ - @backstage/config@0.1.10
+
+## 0.1.13
+
+### Patch Changes
+
+- 671015f132: Switch to using utilities from \`@backstage/version-bridge'.
+- bd1981d609: Allow users to specify their own AppThemeProvider
+- Updated dependencies
+ - @backstage/core-components@0.4.2
+ - @backstage/core-plugin-api@0.1.8
+
+## 0.1.12
+
+### Patch Changes
+
+- 841666a19: Removed deprecated internal functions.
+- Updated dependencies
+ - @backstage/core-components@0.4.1
+ - @backstage/config@0.1.9
+ - @backstage/core-plugin-api@0.1.7
+
+## 0.1.11
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-components@0.4.0
+
+## 0.1.10
+
+### Patch Changes
+
+- cfcb486aa: Add system icons for the built-in entity types and use them in the entity list of the `catalog-import` plugin.
+
+- 392b36fa1: Added support for using authenticating via GitHub Apps in addition to GitHub OAuth Apps. It used to be possible to use GitHub Apps, but they did not handle session refresh correctly.
+
+ Note that GitHub Apps handle OAuth scope at the app installation level, meaning that the `scope` parameter for `getAccessToken` has no effect. When calling `getAccessToken` in open source plugins, one should still include the appropriate scope, but also document in the plugin README what scopes are required in the case of GitHub Apps.
+
+ In addition, the `authHandler` and `signInResolver` options have been implemented for the GitHub provider in the auth backend.
+
+- Updated dependencies
+ - @backstage/core-components@0.3.3
+ - @backstage/config@0.1.8
+
+## 0.1.9
+
+### Patch Changes
+
+- 72a31c29a: Add support for additional app origins
+- Updated dependencies
+ - @backstage/config@0.1.7
+ - @backstage/core-components@0.3.2
+ - @backstage/theme@0.2.10
+
+## 0.1.8
+
+### Patch Changes
+
+- 362657623: Add support for serving the app with a base path other than `/`, which is enabled by including the path in `app.baseUrl`.
+- 56c773909: Switched `@types/react` dependency to request `*` rather than a specific version.
+- Updated dependencies
+ - @backstage/core-components@0.3.1
+ - @backstage/core-plugin-api@0.1.6
+
+## 0.1.7
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/core-components@0.3.0
+ - @backstage/config@0.1.6
+ - @backstage/core-plugin-api@0.1.5
+
+## 0.1.6
+
+### Patch Changes
+
+- 9d40fcb1e: - Bumping `material-ui/core` version to at least `4.12.2` as they made some breaking changes in later versions which broke `Pagination` of the `Table`.
+ - Switching out `material-table` to `@material-table/core` for support for the later versions of `material-ui/core`
+ - This causes a minor API change to `@backstage/core-components` as the interface for `Table` re-exports the `prop` from the underlying `Table` components.
+ - `onChangeRowsPerPage` has been renamed to `onRowsPerPageChange`
+ - `onChangePage` has been renamed to `onPageChange`
+ - Migration guide is here:
+- Updated dependencies
+ - @backstage/core-components@0.2.0
+ - @backstage/core-plugin-api@0.1.4
+ - @backstage/theme@0.2.9
+
+## 0.1.5
+
+### Patch Changes
+
+- ea249c6e6: Fix a bug in `FlatRoutes` that prevented outlets from working with the root route, as well as matching root routes too broadly.
+- Updated dependencies
+ - @backstage/core-components@0.1.6
+
+## 0.1.4
+
+### Patch Changes
+
+- 62abffee4: Reintroduce export of `defaultConfigLoader`.
+- Updated dependencies
+ - @backstage/core-components@0.1.4
+
+## 0.1.3
+
+### Patch Changes
+
+- dc3e7ce68: Introducing new UnhandledErrorForwarder installed by default. For catching unhandled promise rejections, you can override the API to align with general error handling.
+- 5f4339b8c: Adding `FeatureFlag` component and treating `FeatureFlags` as first class citizens to composability API
+- Updated dependencies
+ - @backstage/core-plugin-api@0.1.3
+
+## 0.1.2
+
+### Patch Changes
+
+- 9bca2a252: Fixes a type bug where supplying all app icons to `createApp` was required, rather than just a partial list.
+
+- 75b8537ce: This change adds automatic error boundaries around extensions.
+
+ This means that all exposed parts of a plugin are wrapped in a general error boundary component, that is plugin aware. The default design for the error box is borrowed from `@backstage/errors`. To override the default "fallback", one must provide a component named `ErrorBoundaryFallback` to `createApp`, like so:
+
+ ```ts
+ const app = createApp({
+ components: {
+ ErrorBoundaryFallback: props => {
+ // a custom fallback component
+ return (
+ <>
+ Oops.
+
+ The plugin {props.plugin.getId()} failed with{' '}
+ {props.error.message}
+
+ Try again
+ >
+ );
+ },
+ },
+ });
+ ```
+
+ The props here include:
+
+ - `error`. An `Error` object or something that inherits it that represents the error that was thrown from any inner component.
+ - `resetError`. A callback that will simply attempt to mount the children of the error boundary again.
+ - `plugin`. A `BackstagePlugin` that can be used to look up info to be presented in the error message. For instance, you may want to keep a map of your internal plugins and team names or slack channels and present these when an error occurs. Typically, you'll do that by getting the plugin ID with `plugin.getId()`.
+
+- da8cba44f: Deprecate and disable the extension creation methods, which were added to this package by mistake and should only exist within `@backstage/core-plugin-api`.
+
+- 9bca2a252: Update `createApp` options to allow plugins with unknown output types in order to improve forwards and backwards compatibility.
+
+- Updated dependencies [e47336ea4]
+
+- Updated dependencies [75b8537ce]
+
+- Updated dependencies [da8cba44f]
+ - @backstage/core-components@0.1.2
+ - @backstage/core-plugin-api@0.1.2
+
+## 0.1.1
+
+### Patch Changes
+
+- e7c5e4b30: Update installation instructions in README.
+- Updated dependencies [031ccd45f]
+- Updated dependencies [e7c5e4b30]
+ - @backstage/core-plugin-api@0.1.1
+ - @backstage/core-components@0.1.1
+ - @backstage/theme@0.2.8
+
+## @backstage/core-plugin-api@1.12.3-next.0
+
+# @backstage/core-plugin-api
+
+## 1.12.2-next.0
+
+### Patch Changes
+
+- 53b6549: Plugins in the new frontend system now have a `pluginId` field rather than `id` to better align with naming conventions used throughout the frontend and backend systems. The old field is still present but marked as deprecated. All internal code has been updated to prefer `pluginId` while maintaining backward compatibility by falling back to `id` when needed.
+- 69d880e: Bump to latest zod to ensure it has the latest features
+- Updated dependencies
+ - @backstage/frontend-plugin-api@0.14.0-next.0
+ - @backstage/config@1.3.6
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.2
+ - @backstage/version-bridge@1.0.11
+
+## 1.12.1
+
+### Patch Changes
+
+- 358c6f7: The `useApp` and `useRouteRef` functions are now forwards compatible with the new frontend system. Along with the previous route reference changes this means that there is no longer a need to use `compatWrapper` from `@backstage/core-compat-api` to make code based on `@backstage/core-plugin-api` compatible with `@backstage/frontend-plugin-api` APIs.
+- 97cd16f: Reversed the relationship between the old `@backstage/core-plugin-api` and the new `@backstage/frontend-plugin-api`. Previously, the a lot of API definitions and utilities where defined in the old and re-exported from the old, but this change flips that around so that they now reside in the new package and are re-exported from the old. The external API of both packages remain the same, but this is a step towards being able to add further compatibility with the new frontend system built into the old.
+- Updated dependencies
+ - @backstage/frontend-plugin-api@0.13.2
+
+## 1.12.1-next.0
+
+### Patch Changes
+
+- 358c6f7: The `useApp` and `useRouteRef` functions are now forwards compatible with the new frontend system. Along with the previous route reference changes this means that there is no longer a need to use `compatWrapper` from `@backstage/core-compat-api` to make code based on `@backstage/core-plugin-api` compatible with `@backstage/frontend-plugin-api` APIs.
+- 97cd16f: Reversed the relationship between the old `@backstage/core-plugin-api` and the new `@backstage/frontend-plugin-api`. Previously, the a lot of API definitions and utilities where defined in the old and re-exported from the old, but this change flips that around so that they now reside in the new package and are re-exported from the old. The external API of both packages remain the same, but this is a step towards being able to add further compatibility with the new frontend system built into the old.
+- Updated dependencies
+ - @backstage/frontend-plugin-api@0.13.2-next.0
+ - @backstage/config@1.3.6
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.2
+ - @backstage/version-bridge@1.0.11
+
+## 1.12.0
+
+### Minor Changes
+
+- 83439b1: All route references are now forwards compatible with the new frontend system, i.e. `@backstage/frontend-plugin-api`. This means they no longer need to be converted with `convertLegacyRouteRef` or `convertLegacyRouteRefs` from `@backstage/core-compat-api`.
+
+### Patch Changes
+
+- b2bef92: Convert all enums to erasable-syntax compliant patterns
+- 05f60e1: Refactored constructor parameter properties to explicit property declarations for compatibility with TypeScript's `erasableSyntaxOnly` setting. This internal refactoring maintains all existing functionality while ensuring TypeScript compilation compatibility.
+- Updated dependencies
+ - @backstage/config@1.3.6
+
+## 1.11.2-next.1
+
+### Patch Changes
+
+- b2bef92: Convert all enums to erasable-syntax compliant patterns
+
+## 1.11.2-next.0
+
+### Patch Changes
+
+- 05f60e1: Refactored constructor parameter properties to explicit property declarations for compatibility with TypeScript's `erasableSyntaxOnly` setting. This internal refactoring maintains all existing functionality while ensuring TypeScript compilation compatibility.
+- Updated dependencies
+ - @backstage/config@1.3.6-next.0
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.2
+ - @backstage/version-bridge@1.0.11
+
+## 1.11.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/config@1.3.5
+
+## 1.11.1-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/config@1.3.4-next.0
+
+## 1.11.0
+
+### Minor Changes
+
+- 5114627: Make `openshiftAuthApiRef` available in `@backstage/core-plugin-api`.
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/types@1.2.2
+
+## 1.10.9
+
+### Patch Changes
+
+- f6ffea6: Add optional message field for auth providers. This is intended to be a user friendly message that displays in the OAuth request dialog. A default message will be displayed if one is not provided.
+- Updated dependencies
+ - @backstage/config@1.3.3
+
+## 1.10.9-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/config@1.3.3-next.0
+
+## 1.10.8
+
+### Patch Changes
+
+- c83cd8b: Fixed some circular or otherwise unclear imports
+- 0169b23: Internal tweak to avoid circular dependencies
+- Updated dependencies
+ - @backstage/config@1.3.2
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.1
+ - @backstage/version-bridge@1.0.11
+
+## 1.10.7
+
+### Patch Changes
+
+- 73f6cc3: The `TranslationApi` now supports interpolation of JSX elements by passing them directly as values to the translation function. If any of the provided interpolation values are JSX elements, the translation function will return a JSX element instead of a string.
+- Updated dependencies
+ - @backstage/config@1.3.2
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.1
+ - @backstage/version-bridge@1.0.11
+
+## 1.10.7-next.0
+
+### Patch Changes
+
+- 73f6cc3: The `TranslationApi` now supports interpolation of JSX elements by passing them directly as values to the translation function. If any of the provided interpolation values are JSX elements, the translation function will return a JSX element instead of a string.
+- Updated dependencies
+ - @backstage/config@1.3.2
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.1
+ - @backstage/version-bridge@1.0.11
+
+## 1.10.6
+
+### Patch Changes
+
+- a47fd39: Removes instances of default React imports, a necessary update for the upcoming React 19 migration.
+
+
+
+- Updated dependencies
+ - @backstage/config@1.3.2
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.1
+ - @backstage/version-bridge@1.0.11
+
+## 1.10.6-next.0
+
+### Patch Changes
+
+- a47fd39: Removes instances of default React imports, a necessary update for the upcoming React 19 migration.
+
+
+
+- Updated dependencies
+ - @backstage/config@1.3.2
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.1
+ - @backstage/version-bridge@1.0.11
+
+## 1.10.5
+
+### Patch Changes
+
+- 327d21e: Failure to lazy load an extension will now always result in an error being thrown to be forwarded to error boundaries, rather than being rendered using the `BootErrorPage` app component.
+- Updated dependencies
+ - @backstage/config@1.3.2
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.1
+ - @backstage/version-bridge@1.0.11
+
+## 1.10.4
+
+### Patch Changes
+
+- 58ec9e7: Removed older versions of React packages as a preparatory step for upgrading to React 19. This commit does not introduce any functional changes, but removes dependencies on previous React versions, allowing for a cleaner upgrade path in subsequent commits.
+- Updated dependencies
+ - @backstage/version-bridge@1.0.11
+ - @backstage/config@1.3.2
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.1
+
+## 1.10.4-next.0
+
+### Patch Changes
+
+- 58ec9e7: Removed older versions of React packages as a preparatory step for upgrading to React 19. This commit does not introduce any functional changes, but removes dependencies on previous React versions, allowing for a cleaner upgrade path in subsequent commits.
+- Updated dependencies
+ - @backstage/version-bridge@1.0.11-next.0
+ - @backstage/config@1.3.2
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.1
+
+## 1.10.3
+
+### Patch Changes
+
+- b40eb41: Move `Expand` and `ExpandRecursive` to `@backstage/types`
+- Updated dependencies
+ - @backstage/types@1.2.1
+ - @backstage/config@1.3.2
+ - @backstage/errors@1.2.7
+ - @backstage/version-bridge@1.0.10
+
+## 1.10.3-next.0
+
+### Patch Changes
+
+- b40eb41: Move `Expand` and `ExpandRecursive` to `@backstage/types`
+- Updated dependencies
+ - @backstage/types@1.2.1-next.0
+ - @backstage/config@1.3.2-next.0
+ - @backstage/errors@1.2.7-next.0
+ - @backstage/version-bridge@1.0.10
+
+## 1.10.2
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/errors@1.2.6
+ - @backstage/config@1.3.1
+ - @backstage/types@1.2.0
+ - @backstage/version-bridge@1.0.10
+
+## 1.10.2-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/errors@1.2.6-next.0
+ - @backstage/config@1.3.1-next.0
+ - @backstage/types@1.2.0
+ - @backstage/version-bridge@1.0.10
+
+## 1.10.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/config@1.3.0
+ - @backstage/types@1.2.0
+ - @backstage/errors@1.2.5
+ - @backstage/version-bridge@1.0.10
+
+## 1.10.0
+
+### Minor Changes
+
+- bfd4bec: **BREAKING PRODUCERS**: The `IconComponent` no longer accepts `fontSize="default"`. This has effectively been removed from Material-UI since its last two major versions, and has not worked properly for them in a long time.
+
+ This change should not have an effect on neither users of MUI4 nor MUI5/6, since the updated interface should still let you send the respective `SvgIcon` types into interfaces where relevant (e.g. as app icons).
+
+### Patch Changes
+
+- e969dc7: Move `@types/react` to a peer dependency.
+- 39001f4: Fixing issue with types for `ParamKeys` leading to type mismatches across versions
+- Updated dependencies
+ - @backstage/version-bridge@1.0.10
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+ - @backstage/types@1.1.1
+
+## 1.10.0-next.1
+
+### Patch Changes
+
+- e969dc7: Move `@types/react` to a peer dependency.
+- Updated dependencies
+ - @backstage/version-bridge@1.0.10-next.0
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+ - @backstage/types@1.1.1
+
+## 1.10.0-next.0
+
+### Minor Changes
+
+- bfd4bec: **BREAKING PRODUCERS**: The `IconComponent` no longer accepts `fontSize="default"`. This has effectively been removed from Material-UI since its last two major versions, and has not worked properly for them in a long time.
+
+ This change should not have an effect on neither users of MUI4 nor MUI5/6, since the updated interface should still let you send the respective `SvgIcon` types into interfaces where relevant (e.g. as app icons).
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+ - @backstage/types@1.1.1
+ - @backstage/version-bridge@1.0.9
+
+## 1.9.4
+
+### Patch Changes
+
+- 836127c: Updated dependency `@testing-library/react` to `^16.0.0`.
+- Updated dependencies
+ - @backstage/version-bridge@1.0.9
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+ - @backstage/types@1.1.1
+
+## 1.9.4-next.0
+
+### Patch Changes
+
+- 836127c: Updated dependency `@testing-library/react` to `^16.0.0`.
+- Updated dependencies
+ - @backstage/version-bridge@1.0.9-next.0
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+ - @backstage/types@1.1.1
+
+## 1.9.3
+
+### Patch Changes
+
+- 35fbe09: A new `defaultTarget` option has been added to `createExternalRouteRef`. This allows one to specify a default target of the route by name, for example `'catalog.catalogIndex'`, which will be used if the target route is present in the app and there is no explicit route binding.
+- Updated dependencies
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+ - @backstage/types@1.1.1
+ - @backstage/version-bridge@1.0.8
+
+## 1.9.3-next.0
+
+### Patch Changes
+
+- 35fbe09: Added a new `defaultTarget` option to `createExternalRouteRef`. I lets you specify a default target of the route by name, for example `'catalog.catalogIndex'`, which will be used if the target route is present in the app and there is no explicit route binding.
+- Updated dependencies
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+ - @backstage/types@1.1.1
+ - @backstage/version-bridge@1.0.8
+
+## 1.9.2
+
+### Patch Changes
+
+- abfbcfc: Updated dependency `@testing-library/react` to `^15.0.0`.
+- cb1e3b0: Updated dependency `@testing-library/dom` to `^10.0.0`.
+- Updated dependencies
+ - @backstage/version-bridge@1.0.8
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+ - @backstage/types@1.1.1
+
+## 1.9.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+ - @backstage/types@1.1.1
+ - @backstage/version-bridge@1.0.7
+
+## 1.9.1-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/config@1.2.0-next.1
+ - @backstage/errors@1.2.4-next.0
+ - @backstage/types@1.1.1
+ - @backstage/version-bridge@1.0.7
+
+## 1.9.1-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/errors@1.2.4-next.0
+ - @backstage/config@1.1.2-next.0
+ - @backstage/types@1.1.1
+ - @backstage/version-bridge@1.0.7
+
+## 1.9.0
+
+### Minor Changes
+
+- f919be9: Added a utility API for VMware Cloud auth; the API ref is available in the
+ `@backstage/core-plugin-api` and `@backstage/frontend-plugin-api` packages, the
+ implementation is in `@backstage/core-app-api` and a factory has been added to
+ `@backstage/app-defaults`.
+
+### Patch Changes
+
+- 8fe56a8: Widen `@types/react` dependency range to include version 18.
+- e586f79: Throw a more specific exception `NotImplementedError` when an API implementation cannot be found.
+- Updated dependencies
+ - @backstage/config@1.1.1
+ - @backstage/errors@1.2.3
+ - @backstage/types@1.1.1
+ - @backstage/version-bridge@1.0.7
+
+## 1.9.0-next.1
+
+### Minor Changes
+
+- f919be9: Added a utility API for VMware Cloud auth; the API ref is available in the
+ `@backstage/core-plugin-api` and `@backstage/frontend-plugin-api` packages, the
+ implementation is in `@backstage/core-app-api` and a factory has been added to
+ `@backstage/app-defaults`.
+
+### Patch Changes
+
+- 8fe56a8: Widen `@types/react` dependency range to include version 18.
+- Updated dependencies
+ - @backstage/config@1.1.1
+ - @backstage/errors@1.2.3
+ - @backstage/types@1.1.1
+ - @backstage/version-bridge@1.0.7
+
+## 1.8.3-next.0
+
+### Patch Changes
+
+- e586f79: Throw a more specific exception `NotImplementedError` when an API implementation cannot be found.
+- Updated dependencies
+ - @backstage/config@1.1.1
+ - @backstage/errors@1.2.3
+ - @backstage/types@1.1.1
+ - @backstage/version-bridge@1.0.7
+
+## 1.8.2
+
+### Patch Changes
+
+- 6878b1d: Removed unnecessary `i18next` dependency.
+- Updated dependencies
+ - @backstage/config@1.1.1
+ - @backstage/types@1.1.1
+ - @backstage/version-bridge@1.0.7
+
+## 1.8.2-next.0
+
+### Patch Changes
+
+- 6878b1d: Removed unnecessary `i18next` dependency.
+- Updated dependencies
+ - @backstage/config@1.1.1
+ - @backstage/types@1.1.1
+ - @backstage/version-bridge@1.0.7
+
+## 1.8.1
+
+### Patch Changes
+
+- 03d0b6d: Removed the alpha `convertLegacyRouteRef` utility, which as been moved to `@backstage/core-compat-api`
+- 0c93dc3: The `createTranslationRef` function from the `/alpha` subpath can now also accept a nested object structure of default translation messages, which will be flatted using `.` separators.
+- Updated dependencies
+ - @backstage/config@1.1.1
+ - @backstage/types@1.1.1
+ - @backstage/version-bridge@1.0.7
+
+## 1.8.1-next.1
+
+### Patch Changes
+
+- 0c93dc37b2: The `createTranslationRef` function from the `/alpha` subpath can now also accept a nested object structure of default translation messages, which will be flatted using `.` separators.
+- Updated dependencies
+ - @backstage/config@1.1.1
+ - @backstage/types@1.1.1
+ - @backstage/version-bridge@1.0.7
+
+## 1.8.1-next.0
+
+### Patch Changes
+
+- 03d0b6dcdc: Removed the alpha `convertLegacyRouteRef` utility, which as been moved to `@backstage/core-compat-api`
+- Updated dependencies
+ - @backstage/config@1.1.1
+ - @backstage/types@1.1.1
+ - @backstage/version-bridge@1.0.7
+
+## 1.8.0
+
+### Minor Changes
+
+- 1e5b7d993a: `IconComponent` can now have a `fontSize` of `inherit`, which is useful for in-line icons.
+- cb6db75bc2: Introduced `AnyRouteRefParams` as a replacement for `AnyParams`, which is now deprecated.
+
+### Patch Changes
+
+- 6c2b872153: Add official support for React 18.
+- cb6db75bc2: Deprecated several types related to the routing system that are scheduled to be removed, as well as several fields on the route ref types themselves.
+- 68fc9dc60e: Added a new `/alpha` export `convertLegacyRouteRef`, which is a temporary utility to allow existing route refs to be used with the new experimental packages.
+- Updated dependencies
+ - @backstage/version-bridge@1.0.7
+ - @backstage/config@1.1.1
+ - @backstage/types@1.1.1
+
+## 1.8.0-next.0
+
+### Minor Changes
+
+- 1e5b7d993a: `IconComponent` can now have a `fontSize` of `inherit`, which is useful for in-line icons.
+- cb6db75bc2: Introduced `AnyRouteRefParams` as a replacement for `AnyParams`, which is now deprecated.
+
+### Patch Changes
+
+- 6c2b872153: Add official support for React 18.
+- cb6db75bc2: Deprecated several types related to the routing system that are scheduled to be removed, as well as several fields on the route ref types themselves.
+- 68fc9dc60e: Added a new `/alpha` export `convertLegacyRouteRef`, which is a temporary utility to allow existing route refs to be used with the new experimental packages.
+- Updated dependencies
+ - @backstage/version-bridge@1.0.7-next.0
+ - @backstage/config@1.1.1
+ - @backstage/types@1.1.1
+
+## 1.7.0
+
+### Minor Changes
+
+- 322bbcae24: Removed the exprimental plugin configuration API. The `__experimentalReconfigure()` from the plugin options as well as the `__experimentalConfigure()` method on plugin instances have both been removed.
+
+### Patch Changes
+
+- 0b55f773a7: Removed some unused dependencies
+- 9a1fce352e: Updated dependency `@testing-library/jest-dom` to `^6.0.0`.
+- f95af4e540: Updated dependency `@testing-library/dom` to `^9.0.0`.
+- Updated dependencies
+ - @backstage/version-bridge@1.0.6
+ - @backstage/config@1.1.1
+ - @backstage/types@1.1.1
+
+## 1.7.0-next.1
+
+### Patch Changes
+
+- 0b55f773a7: Removed some unused dependencies
+- Updated dependencies
+ - @backstage/config@1.1.1-next.0
+ - @backstage/types@1.1.1
+ - @backstage/version-bridge@1.0.5
+
+## 1.7.0-next.0
+
+### Minor Changes
+
+- 322bbcae24: Removed the exprimental plugin configuration API. The `__experimentalReconfigure()` from the plugin options as well as the `__experimentalConfigure()` method on plugin instances have both been removed.
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/config@1.1.0
+ - @backstage/types@1.1.1
+ - @backstage/version-bridge@1.0.5
+
+## 1.6.0
+
+### Minor Changes
+
+- 18619f793c94: Added the optional `expiresAt` field that may now be part of a `BackstageIdentityResponse`.
+- 6e30769cc627: Introduced experimental support for internationalization.
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- 8cec7664e146: Removed `@types/node` dependency
+- Updated dependencies
+ - @backstage/config@1.1.0
+ - @backstage/types@1.1.1
+ - @backstage/version-bridge@1.0.5
+
+## 1.6.0-next.3
+
+### Patch Changes
+
+- 406b786a2a2c: Mark package as being free of side effects, allowing more optimized Webpack builds.
+- Updated dependencies
+ - @backstage/config@1.1.0-next.2
+ - @backstage/types@1.1.1-next.0
+ - @backstage/version-bridge@1.0.5-next.0
+
+## 1.6.0-next.2
+
+### Minor Changes
+
+- 6e30769cc627: Introduced experimental support for internationalization.
+
+### Patch Changes
+
+- 8cec7664e146: Removed `@types/node` dependency
+- Updated dependencies
+ - @backstage/config@1.1.0-next.1
+ - @backstage/types@1.1.0
+ - @backstage/version-bridge@1.0.4
+
+## 1.6.0-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/config@1.1.0-next.0
+ - @backstage/types@1.1.0
+ - @backstage/version-bridge@1.0.4
+
+## 1.6.0-next.0
+
+### Minor Changes
+
+- 18619f793c94: Added the optional `expiresAt` field that may now be part of a `BackstageIdentityResponse`.
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/config@1.0.8
+ - @backstage/types@1.1.0
+ - @backstage/version-bridge@1.0.4
+
+## 1.5.3
+
+### Patch Changes
+
+- 8174cf4c0edf: Fixing MUI / Material UI references
+- 13426ebd1235: Change `IconComponent` type to be compatible with Material UI v5 icons.
+- Updated dependencies
+ - @backstage/config@1.0.8
+ - @backstage/types@1.1.0
+ - @backstage/version-bridge@1.0.4
+
+## 1.5.3-next.1
+
+### Patch Changes
+
+- 8174cf4c0edf: Fixing MUI / Material UI references
+- Updated dependencies
+ - @backstage/config@1.0.8
+ - @backstage/types@1.1.0
+ - @backstage/version-bridge@1.0.4
+
+## 1.5.3-next.0
+
+### Patch Changes
+
+- 13426ebd1235: Change `IconComponent` type to be compatible with Material UI v5 icons.
+- Updated dependencies
+ - @backstage/config@1.0.8
+
+## 1.5.2
+
+### Patch Changes
+
+- 12adfbc8fe2d: Fixed a bug that prevented accurate plugin and route data from being applied to `navigate` analytics events when users visited pages constructed with ``, ``, and similar components that are used to gather one or more routable extensions under a given path.
+- 74b216ee4e50: Add `PropsWithChildren` to usages of `ComponentType`, in preparation for React 18 where the children are no longer implicit.
+- Updated dependencies
+ - @backstage/types@1.1.0
+ - @backstage/config@1.0.8
+ - @backstage/version-bridge@1.0.4
+
+## 1.5.2-next.0
+
+### Patch Changes
+
+- 74b216ee4e50: Add `PropsWithChildren` to usages of `ComponentType`, in preparation for React 18 where the children are no longer implicit.
+- Updated dependencies
+ - @backstage/config@1.0.7
+ - @backstage/types@1.0.2
+ - @backstage/version-bridge@1.0.4
+
+## 1.5.1
+
+### Patch Changes
+
+- 760f521b979: Add component name as data attribute for all components
+- 2898b6c8d52: Minor type tweaks for TypeScript 5.0
+- e0c6e8b9c3c: Update peer dependencies
+- Updated dependencies
+ - @backstage/version-bridge@1.0.4
+ - @backstage/config@1.0.7
+ - @backstage/types@1.0.2
+
+## 1.5.1-next.1
+
+### Patch Changes
+
+- 2898b6c8d52: Minor type tweaks for TypeScript 5.0
+- Updated dependencies
+ - @backstage/config@1.0.7
+ - @backstage/types@1.0.2
+ - @backstage/version-bridge@1.0.4-next.0
+
+## 1.5.1-next.0
+
+### Patch Changes
+
+- e0c6e8b9c3c: Update peer dependencies
+- Updated dependencies
+ - @backstage/version-bridge@1.0.4-next.0
+ - @backstage/config@1.0.7
+ - @backstage/types@1.0.2
+
+## 1.5.0
+
+### Minor Changes
+
+- ab750ddc4f2: The GitLab auth provider can now be used to get OpenID tokens.
+
+### Patch Changes
+
+- 928a12a9b3e: Internal refactor of `/alpha` exports.
+- 52b0022dab7: Updated dependency `msw` to `^1.0.0`.
+- Updated dependencies
+ - @backstage/config@1.0.7
+ - @backstage/types@1.0.2
+ - @backstage/version-bridge@1.0.3
+
+## 1.5.0-next.2
+
+### Minor Changes
+
+- ab750ddc4f2: The GitLab auth provider can now be used to get OpenID tokens.
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/config@1.0.7-next.0
+
+## 1.4.1-next.1
+
+### Patch Changes
+
+- 52b0022dab7: Updated dependency `msw` to `^1.0.0`.
+- Updated dependencies
+ - @backstage/config@1.0.7-next.0
+ - @backstage/types@1.0.2
+ - @backstage/version-bridge@1.0.3
+
+## 1.4.1-next.0
+
+### Patch Changes
+
+- 928a12a9b3: Internal refactor of `/alpha` exports.
+- Updated dependencies
+ - @backstage/config@1.0.6
+ - @backstage/types@1.0.2
+ - @backstage/version-bridge@1.0.3
+
+## 1.4.0
+
+### Minor Changes
+
+- db10b6ef65: Added a Bitbucket Server Auth Provider and added its API to the app defaults
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/config@1.0.6
+ - @backstage/types@1.0.2
+ - @backstage/version-bridge@1.0.3
+
+## 1.3.0
+
+### Minor Changes
+
+- bca8e8b393: Allow defining application level feature flags. See [Feature Flags documentation](https://backstage.io/docs/plugins/feature-flags#in-the-application) for reference.
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/config@1.0.6
+ - @backstage/types@1.0.2
+ - @backstage/version-bridge@1.0.3
+
+## 1.3.0-next.1
+
+### Minor Changes
+
+- bca8e8b393: Allow defining application level feature flags. See [Feature Flags documentation](https://backstage.io/docs/plugins/feature-flags#in-the-application) for reference.
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/config@1.0.6-next.0
+ - @backstage/types@1.0.2
+ - @backstage/version-bridge@1.0.3
+
+## 1.2.1-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/config@1.0.6-next.0
+ - @backstage/types@1.0.2
+ - @backstage/version-bridge@1.0.3
+
+## 1.2.0
+
+### Minor Changes
+
+- 9a1864976a: Added a new `display` property to the `AlertMessage` which can accept the values `permanent` or `transient`.
+
+ Here's a rough example of how to trigger an alert using the new `display` property:
+
+ ```ts
+ import { alertApiRef, useApi } from '@backstage/core-plugin-api';
+
+ const ExampleTransient = () => {
+ const alertApi = useApi(alertApiRef);
+ alertApi.post({
+ message: 'Example of Transient Alert',
+ severity: 'success',
+ display: 'transient',
+ });
+ };
+ ```
+
+### Patch Changes
+
+- d56127c712: useRouteRef - Limit re-resolving to location pathname changes only
+- 3280711113: Updated dependency `msw` to `^0.49.0`.
+- 19356df560: Updated dependency `zen-observable` to `^0.9.0`.
+- c3fa90e184: Updated dependency `zen-observable` to `^0.10.0`.
+- Updated dependencies
+ - @backstage/version-bridge@1.0.3
+ - @backstage/types@1.0.2
+ - @backstage/config@1.0.5
+
+## 1.2.0-next.2
+
+### Minor Changes
+
+- 9a1864976a: Added a new `display` property to the `AlertMessage` which can accept the values `permanent` or `transient`.
+
+ Here's a rough example of how to trigger an alert using the new `display` property:
+
+ ```ts
+ import { alertApiRef, useApi } from '@backstage/core-plugin-api';
+
+ const ExampleTransient = () => {
+ const alertApi = useApi(alertApiRef);
+ alertApi.post({
+ message: 'Example of Transient Alert',
+ severity: 'success',
+ display: 'transient',
+ });
+ };
+ ```
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/config@1.0.5-next.1
+ - @backstage/types@1.0.2-next.1
+ - @backstage/version-bridge@1.0.3-next.0
+
+## 1.1.1-next.1
+
+### Patch Changes
+
+- c3fa90e184: Updated dependency `zen-observable` to `^0.10.0`.
+- Updated dependencies
+ - @backstage/version-bridge@1.0.3-next.0
+ - @backstage/types@1.0.2-next.1
+ - @backstage/config@1.0.5-next.1
+
+## 1.1.1-next.0
+
+### Patch Changes
+
+- 3280711113: Updated dependency `msw` to `^0.49.0`.
+- 19356df560: Updated dependency `zen-observable` to `^0.9.0`.
+- Updated dependencies
+ - @backstage/types@1.0.2-next.0
+ - @backstage/config@1.0.5-next.0
+ - @backstage/version-bridge@1.0.2
+
+## 1.1.0
+
+### Minor Changes
+
+- a228f113d0: The app `Router` component now accepts an optional `basename` property.
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/version-bridge@1.0.2
+ - @backstage/types@1.0.1
+ - @backstage/config@1.0.4
+
+## 1.1.0-next.0
+
+### Minor Changes
+
+- a228f113d0: The app `Router` component now accepts an optional `basename` property.
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/types@1.0.1-next.0
+ - @backstage/config@1.0.4-next.0
+ - @backstage/version-bridge@1.0.1
+
+## 1.0.7
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/config@1.0.3
+ - @backstage/types@1.0.0
+ - @backstage/version-bridge@1.0.1
+
+## 1.0.7-next.2
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/config@1.0.3-next.2
+ - @backstage/types@1.0.0
+ - @backstage/version-bridge@1.0.1
+
+## 1.0.7-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/config@1.0.3-next.1
+ - @backstage/types@1.0.0
+ - @backstage/version-bridge@1.0.1
+
+## 1.0.7-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/config@1.0.3-next.0
+ - @backstage/types@1.0.0
+ - @backstage/version-bridge@1.0.1
+
+## 1.0.6
+
+### Patch Changes
+
+- 817f3196f6: Updated React Router dependencies to be peer dependencies.
+- 7d47def9c4: Removed dependency on `@types/jest`.
+- 744fea158b: Added `getSystemIcons()` function to the `AppContext` available through `useApp` that will pull a list of all the icons that have been registered in the App.
+- 667d917488: Updated dependency `msw` to `^0.47.0`.
+- 87ec2ba4d6: Updated dependency `msw` to `^0.46.0`.
+- bf5e9030eb: Updated dependency `msw` to `^0.45.0`.
+- ef9ab322de: Minor API signatures cleanup
+- Updated dependencies
+ - @backstage/config@1.0.2
+
+## 1.0.6-next.3
+
+### Patch Changes
+
+- 7d47def9c4: Removed dependency on `@types/jest`.
+- Updated dependencies
+ - @backstage/config@1.0.2-next.0
+
+## 1.0.6-next.2
+
+### Patch Changes
+
+- 667d917488: Updated dependency `msw` to `^0.47.0`.
+- 87ec2ba4d6: Updated dependency `msw` to `^0.46.0`.
+
+## 1.0.6-next.1
+
+### Patch Changes
+
+- 817f3196f6: Updated React Router dependencies to be peer dependencies.
+
+## 1.0.6-next.0
+
+### Patch Changes
+
+- 744fea158b: Added `getSystemIcons()` function to the `AppContext` available through `useApp` that will pull a list of all the icons that have been registered in the App.
+- bf5e9030eb: Updated dependency `msw` to `^0.45.0`.
+- ef9ab322de: Minor API signatures cleanup
+
+## 1.0.5
+
+### Patch Changes
+
+- 80da5162c7: Introduced a new experimental feature that allows you to declare plugin-wide options for your plugin by defining
+ `__experimentalConfigure` in your `createPlugin` options. See for more information.
+
+ This is an experimental feature and it will have breaking changes in the future.
+
+- 87649a06bf: Add a note that the `fetchApi` utility should not be used on sign-in page implementations and similar.
+
+## 1.0.5-next.0
+
+### Patch Changes
+
+- 80da5162c7: Introduced a new experimental feature that allows you to declare plugin-wide options for your plugin by defining
+ `__experimentalConfigure` in your `createPlugin` options. See for more information.
+
+ This is an experimental feature and it will have breaking changes in the future.
+
+## 1.0.4
+
+### Patch Changes
+
+- 881fc75a75: Internal tweak removing usage of explicit type parameters for the `BackstagePlugin` type.
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- 8006d0f9bf: Updated dependency `msw` to `^0.44.0`.
+- 2990fff4e5: Enabled the `@backstage/core-plugin-api/alpha` entry point.
+
+## 1.0.4-next.0
+
+### Patch Changes
+
+- 881fc75a75: Internal tweak removing usage of explicit type parameters for the `BackstagePlugin` type.
+- a70869e775: Updated dependency `msw` to `^0.43.0`.
+- 2990fff4e5: Enabled the `@backstage/core-plugin-api/alpha` entry point.
+
+## 1.0.3
+
+### Patch Changes
+
+- 8f7b1835df: Updated dependency `msw` to `^0.41.0`.
+
+## 1.0.3-next.0
+
+### Patch Changes
+
+- 8f7b1835df: Updated dependency `msw` to `^0.41.0`.
+
+## 1.0.2
+
+### Patch Changes
+
+- b653a5595c: The authentication APIs are no longer `@alpha`. Since the `@backstage/core-plugin-api` has no `/alpha` entrypoint, the only effect of marking the APIs as `@alpha` was to hide them in documentation. They are still expected to be widely used and there will be a migration path if they are changed in the future.
+- Updated dependencies
+ - @backstage/config@1.0.1
+
+## 1.0.2-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/config@1.0.1-next.0
+
+## 1.0.2-next.0
+
+### Patch Changes
+
+- b653a5595c: The authentication APIs are no longer `@alpha`. Since the `@backstage/core-plugin-api` has no `/alpha` entrypoint, the only effect of marking the APIs as `@alpha` was to hide them in documentation. They are still expected to be widely used and there will be a migration path if they are changed in the future.
+
+## 1.0.1
+
+### Patch Changes
+
+- 7c7919777e: build(deps-dev): bump `@testing-library/react-hooks` from 7.0.2 to 8.0.0
+- 24254fd433: build(deps): bump `@testing-library/user-event` from 13.5.0 to 14.0.0
+- 230ad0826f: Bump to using `@types/node` v16
+- Updated dependencies
+ - @backstage/version-bridge@1.0.1
+
+## 1.0.1-next.0
+
+### Patch Changes
+
+- 24254fd433: build(deps): bump `@testing-library/user-event` from 13.5.0 to 14.0.0
+- 230ad0826f: Bump to using `@types/node` v16
+
+## 1.0.0
+
+### Major Changes
+
+- b58c70c223: This package has been promoted to v1.0! To understand how this change affects the package, please check out our [versioning policy](https://backstage.io/docs/overview/versioning-policy).
+
+### Patch Changes
+
+- a422d7ce5e: chore(deps): bump `@testing-library/react` from 11.2.6 to 12.1.3
+- f24ef7864e: Minor typo fixes
+- Updated dependencies
+ - @backstage/version-bridge@1.0.0
+ - @backstage/config@1.0.0
+ - @backstage/types@1.0.0
+
+## 0.8.0
+
+### Minor Changes
+
+- bb2bb36651: **BREAKING**: Removed the deprecated `get` method from `StorageAPI` and its implementations, this method has been replaced by the `snapshot` method. The return value from snapshot no longer includes `newValue` which has been replaced by `value`. For getting notified when a value changes, use \`observe# @backstage/core-plugin-api.
+- af5eaa87f4: **BREAKING**: Removed deprecated `auth0AuthApiRef`, `oauth2ApiRef`, `samlAuthApiRef` and `oidcAuthApiRef` as these APIs are too generic to be useful. Instructions for how to migrate can be found at .
+- a480f670c7: **BREAKING**: OAuth provider id is now required when passing a provider to `createAuthRequester`.
+
+## 0.7.0
+
+### Minor Changes
+
+- 33cd215b11: **BREAKING**: Removed deprecated `AnyAnalyticsContext` type which is replaced by `AnalyticsContextValue`
+
+## 0.6.1
+
+### Patch Changes
+
+- 1ed305728b: Bump `node-fetch` to version 2.6.7 and `cross-fetch` to version 3.1.5
+- c77c5c7eb6: Added `backstage.role` to `package.json`
+- 2714145cf5: Removes unused react-use dependency.
+- Updated dependencies
+ - @backstage/config@0.1.14
+ - @backstage/types@0.1.2
+ - @backstage/version-bridge@0.1.2
+
+## 0.6.0
+
+### Minor Changes
+
+- ceebe25391: Removed deprecated `IdentityApi` methods: `getUserId`, `getIdToken`, and `getProfile`.
+
+ Existing usage of `getUserId` can be replaced by `getBackstageIdentity`, more precisely the equivalent of the previous `userId` can be retrieved like this:
+
+ ```ts
+ import { parseEntityRef } from '@backstage/catalog-model';
+
+ const identity = await identityApi.getBackstageIdentity();
+ const { name: userId } = parseEntityRef(identity.userEntityRef);
+ ```
+
+ Note that it is recommended to consume the entire `userEntityRef` rather than parsing out just the name, in order to support namespaces.
+
+ Existing usage of `getIdToken` can be replaced by `getCredentials`, like this:
+
+ ```ts
+ const { token } = await identityApi.getCredentials();
+ ```
+
+ And existing usage of `getProfile` is replaced by `getProfileInfo`, which returns the same profile object, but is now async.
+
+- ceebe25391: Removed deprecated `SignInResult` type, which was replaced with the new `onSignInSuccess` callback.
+
+- d879072b0c: Removed the deprecated `id` field of `BackstageIdentityResponse`.
+
+ Existing usage can be replaced by parsing the `name` of the `identity.userEntityRef` with `parseEntityRef` from `@backstage/catalog-model`, although note that it is recommended to consume the entire `userEntityRef` in order to support namespaces.
+
+- 94c02b4246: Removed deprecated `BackstageIdentity` type, which was replaced by `BackstageIdentityResponse`.
+
+- 234a36405b: Removed deprecated `OAuthRequestApi` types: `AuthProvider`, `AuthRequesterOptions`, `AuthRequester`, and `PendingAuthRequest`.
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/config@0.1.13
+
+## 0.6.0-next.0
+
+### Minor Changes
+
+- ceebe25391: Removed deprecated `IdentityApi` methods: `getUserId`, `getIdToken`, and `getProfile`.
+
+ Existing usage of `getUserId` can be replaced by `getBackstageIdentity`, more precisely the equivalent of the previous `userId` can be retrieved like this:
+
+ ```ts
+ import { parseEntityRef } from '@backstage/catalog-model';
+
+ const identity = await identityApi.getBackstageIdentity();
+ const { name: userId } = parseEntityRef(identity.userEntityRef);
+ ```
+
+ Note that it is recommended to consume the entire `userEntityRef` rather than parsing out just the name, in order to support namespaces.
+
+ Existing usage of `getIdToken` can be replaced by `getCredentials`, like this:
+
+ ```ts
+ const { token } = await identityApi.getCredentials();
+ ```
+
+ And existing usage of `getProfile` is replaced by `getProfileInfo`, which returns the same profile object, but is now async.
+
+- ceebe25391: Removed deprecated `SignInResult` type, which was replaced with the new `onSignInSuccess` callback.
+
+- d879072b0c: Removed the deprecated `id` field of `BackstageIdentityResponse`.
+
+ Existing usage can be replaced by parsing the `name` of the `identity.userEntityRef` with `parseEntityRef` from `@backstage/catalog-model`, although note that it is recommended to consume the entire `userEntityRef` in order to support namespaces.
+
+- 94c02b4246: Removed deprecated `BackstageIdentity` type, which was replaced by `BackstageIdentityResponse`.
+
+- 234a36405b: Removed deprecated `OAuthRequestApi` types: `AuthProvider`, `AuthRequesterOptions`, `AuthRequester`, and `PendingAuthRequest`.
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/config@0.1.13-next.0
+
+## 0.5.0
+
+### Minor Changes
+
+- 784d8078ab: Removed the deprecated `OldIconComponent` type.
+- e2eb92c109: Removed previously deprecated exports: `PluginHooks`, `PluginOutput`, and `FeatureFlagOutput`.
+
+ The deprecated `register` method of `PluginConfig` has been removed, as well as the deprecated `output` method of `BackstagePlugin`.
+
+### Patch Changes
+
+- 784d8078ab: Removed direct and transitive Material UI dependencies.
+- Updated dependencies
+ - @backstage/config@0.1.12
+
+## 0.4.1
+
+### Patch Changes
+
+- c534ef2242: Deprecated `OldIconComponent`. Existing usage should be replaced with `IconComponent`.
+
+## 0.4.0
+
+### Minor Changes
+
+- a195284c7b: **BREAKING CHANGE** The `StorageApi` has received several updates that fills in gaps for some use-cases and makes it easier to avoid mistakes:
+
+ - The `StorageValueChange` type has been renamed to `StorageValueSnapshot`, the `newValue` property has been renamed to `value`, the stored value type has been narrowed to `JsonValue`, and it has received a new `presence` property that is `'unknown'`, `'absent'`, or `'present'`.
+ - The `get` method has been deprecated in favor of a new `snapshot` method, which returns a `StorageValueSnapshot`.
+ - The `observe# @backstage/core-plugin-api method has had its contract changed. It should now emit values when the`presence`of a key changes, this may for example happen when remotely stored values are requested on page load and the presence switches from`'unknown'`to either`'absent'`or`'present'\`.
+
+ The above changes have been made with deprecations in place to maintain much of the backwards compatibility for consumers of the `StorageApi`. The only breaking change is the narrowing of the stored value type, which may in some cases require the addition of an explicit type parameter to the `get` and \`observe# @backstage/core-plugin-api methods.
+
+- f6722d2458: - Removed deprecated option `description` from `ApiRefConfig`
+
+ - Removed descriptions from all plugin API refs
+ - Removed deprecated parameters `path`, `icon`, and `title` in `createRouteRef`
+ - Removed deprecated types `Error` and `ErrorContext` from `ErrorApi`
+
+- 68f8b10ccd: - Removed deprecation configuration option `theme` from `AppTheme` of the `AppThemeApi`
+
+ - Removed reference to `theme` in the `app-defaults` default `AppTheme`
+ - Removed logic in `AppThemeProvider` that creates `ThemeProvider` from `appTheme.theme`
+
+- 6b69b44862: Removed deprecated types `ApiRefType` and `ApiRefsToTypes`
+
+### Patch Changes
+
+- 7927005152: Add `FetchApi` and related `fetchApiRef` which implement fetch, with an added Backstage token header when available.
+
+## 0.3.1
+
+### Patch Changes
+
+- 18d4f500af: Deprecated the `AnyAnalyticsContext` type and mark the `AnalyticsApi` experimental.
+- 8a7372cfd5: Deprecated `auth0AuthApiRef`, `oauth2ApiRef`, `oidcAuthApiRef`, `samlAuthApiRef`, and marked the rest of the auth `ApiRef`s as experimental. For more information on how to address the deprecations, see .
+- 760791a642: Renamed `AuthProvider` to `AuthProviderInfo` and add a required 'id' property to match the majority of usage. The `AuthProvider` type without the `id` property still exists but is deprecated, and all usage of it without an `id` is deprecated as well. For example, calling `createAuthRequest` without a `provider.id` is deprecated and it will be required in the future.
+
+ The following types have been renamed. The old names are still exported but deprecated, and are scheduled for removal in a future release.
+
+ - Renamed `AuthRequesterOptions` to `OAuthRequesterOptions`
+ - Renamed `AuthRequester` to `OAuthRequester`
+ - Renamed `PendingAuthRequest` to `PendingOAuthRequest`
+
+## 0.3.0
+
+### Minor Changes
+
+- a036b65c2f: The `IdentityApi` has received several updates. The `getUserId`, `getProfile`, and `getIdToken` have all been deprecated.
+
+ The replacement for `getUserId` is the new `getBackstageIdentity` method, which provides both the `userEntityRef` as well as the `ownershipEntityRefs` that are used to resolve ownership. Existing usage of the user ID would typically be using a fixed entity kind and namespace, for example `` `user:default/${identityApi.getUserId()}` ``, this kind of usage should now instead use the `userEntityRef` directly.
+
+ The replacement for `getProfile` is the new async `getProfileInfo`.
+
+ The replacement for `getIdToken` is the new `getCredentials` method, which provides an optional token to the caller like before, but it is now wrapped in an object for forwards compatibility.
+
+ The deprecated `idToken` field of the `BackstageIdentity` type has been removed, leaving only the new `token` field, which should be used instead. The `BackstageIdentity` also received a new `identity` field, which is a decoded version of the information within the token. Furthermore the `BackstageIdentity` has been renamed to `BackstageIdentityResponse`, with the old name being deprecated.
+
+ We expect most of the breaking changes in this update to have low impact since the `IdentityApi` implementation is provided by the app, but it is likely that some tests need to be updated.
+
+ Another breaking change is that the `SignInPage` props have been updated, and the `SignInResult` type is now deprecated. This is unlikely to have any impact on the usage of this package, but it is an important change that you can find more information about in the [`@backstage/core-app-api` CHANGELOG.md](https://github.com/backstage/backstage/blob/master/packages/core-app-api/CHANGELOG.md).
+
+### Patch Changes
+
+- cd450844f6: Moved React dependencies to `peerDependencies` and allow both React v16 and v17 to be used.
+- dcd1a0c3f4: Minor improvement to the API reports, by not unpacking arguments directly
+- Updated dependencies
+ - @backstage/version-bridge@0.1.1
+
+## 0.2.2
+
+### Patch Changes
+
+- b291d0ed7e: Tweaked the logged deprecation warning for `createRouteRef` to hopefully make it more clear.
+- bacb94ea8f: Documented the options of each of the extension creation functions.
+- Updated dependencies
+ - @backstage/theme@0.2.14
+
+## 0.2.1
+
+### Patch Changes
+
+- 950b36393c: Deprecated `register` option of `createPlugin` and the `outputs` methods of the plugin instance.
+
+ Introduces the `featureFlags` property to define your feature flags instead.
+
+## 0.2.0
+
+### Minor Changes
+
+- 7e18ed7f29: Removed the unused `UserFlags` type.
+- 7df99cdb77: Remove exports of unused types(`RouteOptions` and `RoutePath`).
+
+### Patch Changes
+
+- 37ebea2d68: Add deprecation warnings around `title` `icon` and `path` as they are no longer controlled when creating `routeRefs`
+- 2dd2a7b2cc: Deprecated the `theme` property on `AppTheme`, replacing it with `Provider`. See for more details.
+- b6a4bacdc4: Deprecated the `Error` and `ErrorContext` types, replacing them with identical `ErrorApiError` and `ErrorApiErrorContext` types.
+
+## 0.1.13
+
+### Patch Changes
+
+- 4a336fd292: Deprecate use of extensions without name. Adds a warning to the developer console to prompt integrators to provide names for extensions.
+- 8b4284cd5c: Improve API documentation for @backstage/core-plugin-api
+- e059aea7b9: Deprecate unused ApiRef types
+- Updated dependencies
+ - @backstage/theme@0.2.13
+
+## 0.1.12
+
+### Patch Changes
+
+- 41c49884d2: Start using the new `@backstage/types` package. Initially, this means using the `Observable` and `Json*` types from there. The types also remain in their old places but deprecated, and will be removed in a future release.
+- 925a967f36: Replace usage of test-utils-core with test-utils
+- Updated dependencies
+ - @backstage/config@0.1.11
+ - @backstage/theme@0.2.12
+
+## 0.1.11
+
+### Patch Changes
+
+- 202f322927: Atlassian auth provider
+
+ - AtlassianAuth added to core-app-api
+ - Atlassian provider added to plugin-auth-backend
+ - Updated user-settings with Atlassian connection
+
+- 36e67d2f24: Internal updates to apply more strict checks to throw errors.
+
+## 0.1.10
+
+### Patch Changes
+
+- 829bc698f4: Introducing the Analytics API: a lightweight way for plugins to instrument key
+ events that could help inform a Backstage Integrator how their instance of
+ Backstage is being used. The API consists of the following:
+
+ - `useAnalytics()`, a hook to be used inside plugin components which retrieves
+ an Analytics Tracker.
+ - `tracker.captureEvent()`, a method on the tracker used to instrument key
+ events. The method expects an action (the event name) and a subject (a unique
+ identifier of the object the action is being taken on).
+ - ` `, a way to declaratively attach additional information
+ to any/all events captured in the underlying React tree. There is also a
+ `withAnalyticsContext()` HOC utility.
+ - The `tracker.captureEvent()` method also accepts an `attributes` option for
+ providing additional run-time information about an event, as well as a
+ `value` option for capturing a numeric/metric value.
+
+ By default, captured events are not sent anywhere. In order to collect and
+ redirect events to an analytics system, the `analyticsApi` will need to be
+ implemented and instantiated by an App Integrator.
+
+- 4c3eea7788: Bitbucket Cloud authentication - based on the existing GitHub authentication + changes around BB apis and updated scope.
+
+ - BitbucketAuth added to core-app-api.
+ - Bitbucket provider added to plugin-auth-backend.
+ - Cosmetic entry for Bitbucket connection in user-settings Authentication Providers tab.
+
+## 0.1.9
+
+### Patch Changes
+
+- 98bd661240: Improve compatibility between different versions by defining the route reference type using a string key rather than a unique symbol. This change only applies to type checking and has no effect on the runtime value, where we still use the symbol.
+
+## 0.1.8
+
+### Patch Changes
+
+- 671015f132: Switch to using utilities from \`@backstage/version-bridge'.
+
+## 0.1.7
+
+### Patch Changes
+
+- 3d238b028: Migrated component data attachment method to have better compatibility with component proxies such as `react-hot-loader`.
+- Updated dependencies
+ - @backstage/config@0.1.9
+
+## 0.1.6
+
+### Patch Changes
+
+- 56c773909: Switched `@types/react` dependency to request `*` rather than a specific version.
+
+## 0.1.5
+
+### Patch Changes
+
+- c4d8ff963: Switched frontend identity code to use `token` instead of the deprecated `idToken` field
+- Updated dependencies
+ - @backstage/config@0.1.6
+
+## 0.1.4
+
+### Patch Changes
+
+- 9d40fcb1e: - Bumping `material-ui/core` version to at least `4.12.2` as they made some breaking changes in later versions which broke `Pagination` of the `Table`.
+ - Switching out `material-table` to `@material-table/core` for support for the later versions of `material-ui/core`
+ - This causes a minor API change to `@backstage/core-components` as the interface for `Table` re-exports the `prop` from the underlying `Table` components.
+ - `onChangeRowsPerPage` has been renamed to `onRowsPerPageChange`
+ - `onChangePage` has been renamed to `onPageChange`
+ - Migration guide is here:
+- Updated dependencies
+ - @backstage/theme@0.2.9
+
+## 0.1.3
+
+### Patch Changes
+
+- 5f4339b8c: Adding `FeatureFlag` component and treating `FeatureFlags` as first class citizens to composability API
+
+## 0.1.2
+
+### Patch Changes
+
+- 75b8537ce: This change adds automatic error boundaries around extensions.
+
+ This means that all exposed parts of a plugin are wrapped in a general error boundary component, that is plugin aware. The default design for the error box is borrowed from `@backstage/errors`. To override the default "fallback", one must provide a component named `ErrorBoundaryFallback` to `createApp`, like so:
+
+ ```ts
+ const app = createApp({
+ components: {
+ ErrorBoundaryFallback: props => {
+ // a custom fallback component
+ return (
+ <>
+ Oops.
+
+ The plugin {props.plugin.getId()} failed with{' '}
+ {props.error.message}
+
+ Try again
+ >
+ );
+ },
+ },
+ });
+ ```
+
+ The props here include:
+
+ - `error`. An `Error` object or something that inherits it that represents the error that was thrown from any inner component.
+ - `resetError`. A callback that will simply attempt to mount the children of the error boundary again.
+ - `plugin`. A `BackstagePlugin` that can be used to look up info to be presented in the error message. For instance, you may want to keep a map of your internal plugins and team names or slack channels and present these when an error occurs. Typically, you'll do that by getting the plugin ID with `plugin.getId()`.
+
+- da8cba44f: Apply fixes to the extension creation API that were mistakenly applied to `@backstage/core-app-api` instead.
+
+## 0.1.1
+
+### Patch Changes
+
+- 031ccd45f: Made the deprecated `icon` fields compatible with the `IconComponent` type from `@backstage/core` in order to smooth out the migration.
+- e7c5e4b30: Update installation instructions in README.
+- Updated dependencies [e7c5e4b30]
+ - @backstage/theme@0.2.8
+
+## @backstage/plugin-search-backend@2.0.12-next.0
+
+# @backstage/plugin-search-backend
+
+## 2.0.11-next.0
+
+### Patch Changes
+
+- 7455dae: Use node prefix on native imports
+- 69d880e: Bump to latest zod to ensure it has the latest features
+- Updated dependencies
+ - @backstage/backend-openapi-utils@0.6.6-next.0
+ - @backstage/backend-plugin-api@1.7.0-next.0
+ - @backstage/plugin-search-backend-node@1.4.1-next.0
+ - @backstage/backend-defaults@0.15.1-next.0
+ - @backstage/plugin-search-common@1.2.22-next.0
+ - @backstage/plugin-permission-common@0.9.5-next.0
+ - @backstage/plugin-permission-node@0.10.9-next.0
+ - @backstage/config@1.3.6
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.2
+
+## 2.0.10
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-defaults@0.15.0
+ - @backstage/backend-plugin-api@1.6.1
+ - @backstage/backend-openapi-utils@0.6.5
+ - @backstage/plugin-permission-common@0.9.4
+ - @backstage/plugin-permission-node@0.10.8
+
+## 2.0.10-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-defaults@0.15.0-next.2
+ - @backstage/plugin-permission-node@0.10.7
+ - @backstage/plugin-search-backend-node@1.4.0
+
+## 2.0.10-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-openapi-utils@0.6.5-next.0
+ - @backstage/backend-defaults@0.14.1-next.0
+ - @backstage/backend-plugin-api@1.6.0
+ - @backstage/config@1.3.6
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.2
+ - @backstage/plugin-permission-common@0.9.3
+ - @backstage/plugin-permission-node@0.10.7
+ - @backstage/plugin-search-backend-node@1.4.0
+ - @backstage/plugin-search-common@1.2.21
+
+## 2.0.9
+
+### Patch Changes
+
+- de96a60: chore(deps): bump `express` from 4.21.2 to 4.22.0
+- Updated dependencies
+ - @backstage/plugin-search-backend-node@1.4.0
+ - @backstage/backend-defaults@0.14.0
+ - @backstage/backend-openapi-utils@0.6.4
+ - @backstage/plugin-permission-node@0.10.7
+ - @backstage/backend-plugin-api@1.6.0
+
+## 2.0.9-next.1
+
+### Patch Changes
+
+- de96a60: chore(deps): bump `express` from 4.21.2 to 4.22.0
+- Updated dependencies
+ - @backstage/backend-defaults@0.14.0-next.1
+ - @backstage/backend-openapi-utils@0.6.4-next.1
+ - @backstage/plugin-permission-node@0.10.7-next.1
+ - @backstage/backend-plugin-api@1.6.0-next.1
+ - @backstage/config@1.3.6
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.2
+ - @backstage/plugin-permission-common@0.9.3
+ - @backstage/plugin-search-backend-node@1.4.0-next.1
+ - @backstage/plugin-search-common@1.2.21
+
+## 2.0.9-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-search-backend-node@1.4.0-next.0
+ - @backstage/backend-defaults@0.14.0-next.0
+ - @backstage/backend-plugin-api@1.5.1-next.0
+ - @backstage/plugin-permission-node@0.10.7-next.0
+ - @backstage/backend-openapi-utils@0.6.4-next.0
+ - @backstage/config@1.3.6
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.2
+ - @backstage/plugin-permission-common@0.9.3
+ - @backstage/plugin-search-common@1.2.21
+
+## 2.0.8
+
+### Patch Changes
+
+- b2bef92: Convert all enums to erasable-syntax compliant patterns
+- 05f60e1: Refactored constructor parameter properties to explicit property declarations for compatibility with TypeScript's `erasableSyntaxOnly` setting. This internal refactoring maintains all existing functionality while ensuring TypeScript compilation compatibility.
+- Updated dependencies
+ - @backstage/backend-defaults@0.13.1
+ - @backstage/backend-plugin-api@1.5.0
+ - @backstage/plugin-permission-common@0.9.3
+ - @backstage/plugin-search-backend-node@1.3.17
+ - @backstage/config@1.3.6
+ - @backstage/backend-openapi-utils@0.6.3
+ - @backstage/plugin-permission-node@0.10.6
+ - @backstage/plugin-search-common@1.2.21
+
+## 2.0.8-next.1
+
+### Patch Changes
+
+- b2bef92: Convert all enums to erasable-syntax compliant patterns
+- Updated dependencies
+ - @backstage/backend-defaults@0.13.1-next.1
+ - @backstage/backend-plugin-api@1.5.0-next.1
+ - @backstage/plugin-permission-common@0.9.3-next.1
+ - @backstage/backend-openapi-utils@0.6.3-next.1
+ - @backstage/plugin-permission-node@0.10.6-next.1
+ - @backstage/plugin-search-backend-node@1.3.17-next.1
+
+## 2.0.8-next.0
+
+### Patch Changes
+
+- 05f60e1: Refactored constructor parameter properties to explicit property declarations for compatibility with TypeScript's `erasableSyntaxOnly` setting. This internal refactoring maintains all existing functionality while ensuring TypeScript compilation compatibility.
+- Updated dependencies
+ - @backstage/backend-defaults@0.13.1-next.0
+ - @backstage/plugin-search-backend-node@1.3.17-next.0
+ - @backstage/config@1.3.6-next.0
+ - @backstage/plugin-permission-node@0.10.6-next.0
+ - @backstage/backend-openapi-utils@0.6.3-next.0
+ - @backstage/backend-plugin-api@1.4.5-next.0
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.2
+ - @backstage/plugin-permission-common@0.9.3-next.0
+ - @backstage/plugin-search-common@1.2.21-next.0
+
+## 2.0.7
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-defaults@0.13.0
+ - @backstage/config@1.3.5
+ - @backstage/backend-openapi-utils@0.6.2
+ - @backstage/backend-plugin-api@1.4.4
+ - @backstage/plugin-permission-common@0.9.2
+ - @backstage/plugin-permission-node@0.10.5
+ - @backstage/plugin-search-backend-node@1.3.16
+ - @backstage/plugin-search-common@1.2.20
+
+## 2.0.7-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/config@1.3.4-next.0
+ - @backstage/backend-defaults@0.13.0-next.1
+ - @backstage/backend-plugin-api@1.4.4-next.0
+ - @backstage/plugin-permission-common@0.9.2-next.0
+ - @backstage/plugin-permission-node@0.10.5-next.0
+ - @backstage/plugin-search-backend-node@1.3.16-next.0
+ - @backstage/backend-openapi-utils@0.6.2-next.0
+ - @backstage/plugin-search-common@1.2.20-next.0
+
+## 2.0.7-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-defaults@0.13.0-next.0
+ - @backstage/plugin-permission-node@0.10.4
+ - @backstage/plugin-search-backend-node@1.3.15
+ - @backstage/backend-openapi-utils@0.6.1
+ - @backstage/backend-plugin-api@1.4.3
+ - @backstage/config@1.3.3
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.2
+ - @backstage/plugin-permission-common@0.9.1
+ - @backstage/plugin-search-common@1.2.19
+
+## 2.0.6
+
+### Patch Changes
+
+- 0efcc97: Updated generated schemas
+- Updated dependencies
+ - @backstage/backend-defaults@0.12.1
+ - @backstage/types@1.2.2
+ - @backstage/backend-openapi-utils@0.6.1
+ - @backstage/backend-plugin-api@1.4.3
+ - @backstage/plugin-permission-node@0.10.4
+ - @backstage/plugin-search-backend-node@1.3.15
+
+## 2.0.6-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-defaults@0.12.1-next.0
+ - @backstage/backend-plugin-api@1.4.3-next.0
+ - @backstage/plugin-permission-node@0.10.4-next.0
+ - @backstage/plugin-search-backend-node@1.3.15-next.0
+ - @backstage/backend-openapi-utils@0.6.1-next.0
+
+## 2.0.5
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-openapi-utils@0.6.0
+ - @backstage/backend-defaults@0.12.0
+ - @backstage/plugin-permission-node@0.10.3
+ - @backstage/plugin-search-backend-node@1.3.14
+ - @backstage/backend-plugin-api@1.4.2
+
+## 2.0.5-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-defaults@0.11.2-next.0
+ - @backstage/backend-openapi-utils@0.6.0-next.0
+ - @backstage/plugin-permission-node@0.10.3-next.0
+ - @backstage/plugin-search-backend-node@1.3.14-next.0
+ - @backstage/backend-plugin-api@1.4.2-next.0
+ - @backstage/config@1.3.3
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.1
+ - @backstage/plugin-permission-common@0.9.1
+ - @backstage/plugin-search-common@1.2.19
+
+## 2.0.4
+
+### Patch Changes
+
+- 69fb975: Error messages should not contain backend SQL query strings in the API response, this change will ensure that messages are logged and empty response is returned to the user
+- Updated dependencies
+ - @backstage/config@1.3.3
+ - @backstage/plugin-permission-common@0.9.1
+ - @backstage/plugin-permission-node@0.10.2
+ - @backstage/backend-defaults@0.11.1
+ - @backstage/backend-openapi-utils@0.5.5
+ - @backstage/backend-plugin-api@1.4.1
+ - @backstage/plugin-search-backend-node@1.3.13
+ - @backstage/plugin-search-common@1.2.19
+
+## 2.0.4-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/config@1.3.3-next.0
+ - @backstage/plugin-permission-common@0.9.1-next.0
+ - @backstage/plugin-permission-node@0.10.2-next.0
+ - @backstage/backend-defaults@0.11.1-next.1
+ - @backstage/backend-plugin-api@1.4.1-next.0
+ - @backstage/plugin-search-backend-node@1.3.13-next.0
+ - @backstage/plugin-search-common@1.2.19-next.0
+ - @backstage/backend-openapi-utils@0.5.5-next.0
+
+## 2.0.4-next.0
+
+### Patch Changes
+
+- 69fb975: Error messages should not contain backend SQL query strings in the API response, this change will ensure that messages are logged and empty response is returned to the user
+- Updated dependencies
+ - @backstage/backend-defaults@0.11.1-next.0
+ - @backstage/plugin-permission-node@0.10.1
+ - @backstage/plugin-search-backend-node@1.3.12
+ - @backstage/backend-plugin-api@1.4.0
+ - @backstage/backend-openapi-utils@0.5.4
+ - @backstage/config@1.3.2
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.1
+ - @backstage/plugin-permission-common@0.9.0
+ - @backstage/plugin-search-common@1.2.18
+
+## 2.0.3
+
+### Patch Changes
+
+- c83cd8b: Fixed some circular or otherwise unclear imports
+- Updated dependencies
+ - @backstage/backend-defaults@0.11.0
+ - @backstage/backend-plugin-api@1.4.0
+ - @backstage/backend-openapi-utils@0.5.4
+ - @backstage/config@1.3.2
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.1
+ - @backstage/plugin-permission-common@0.9.0
+ - @backstage/plugin-permission-node@0.10.1
+ - @backstage/plugin-search-backend-node@1.3.12
+ - @backstage/plugin-search-common@1.2.18
+
+## 2.0.3-next.2
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-defaults@0.11.0-next.2
+ - @backstage/backend-openapi-utils@0.5.4-next.1
+ - @backstage/backend-plugin-api@1.4.0-next.1
+ - @backstage/config@1.3.2
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.1
+ - @backstage/plugin-permission-common@0.9.0
+ - @backstage/plugin-permission-node@0.10.1-next.1
+ - @backstage/plugin-search-backend-node@1.3.12-next.1
+ - @backstage/plugin-search-common@1.2.18
+
+## 2.0.3-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-defaults@0.10.1-next.1
+ - @backstage/backend-openapi-utils@0.5.4-next.1
+ - @backstage/backend-plugin-api@1.4.0-next.1
+ - @backstage/config@1.3.2
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.1
+ - @backstage/plugin-permission-common@0.9.0
+ - @backstage/plugin-permission-node@0.10.1-next.1
+ - @backstage/plugin-search-backend-node@1.3.12-next.1
+ - @backstage/plugin-search-common@1.2.18
+
+## 2.0.3-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.4.0-next.0
+ - @backstage/backend-defaults@0.10.1-next.0
+ - @backstage/plugin-permission-node@0.10.1-next.0
+ - @backstage/plugin-search-backend-node@1.3.12-next.0
+ - @backstage/backend-openapi-utils@0.5.4-next.0
+
+## 2.0.2
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-defaults@0.10.0
+ - @backstage/backend-plugin-api@1.3.1
+ - @backstage/plugin-permission-common@0.9.0
+ - @backstage/plugin-permission-node@0.10.0
+ - @backstage/backend-openapi-utils@0.5.3
+ - @backstage/config@1.3.2
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.1
+ - @backstage/plugin-search-backend-node@1.3.11
+ - @backstage/plugin-search-common@1.2.18
+
+## 2.0.2-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-defaults@0.10.0-next.3
+ - @backstage/backend-openapi-utils@0.5.3-next.2
+ - @backstage/backend-plugin-api@1.3.1-next.2
+ - @backstage/config@1.3.2
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.1
+ - @backstage/plugin-permission-common@0.9.0-next.0
+ - @backstage/plugin-permission-node@0.10.0-next.2
+ - @backstage/plugin-search-backend-node@1.3.11-next.2
+ - @backstage/plugin-search-common@1.2.18-next.0
+
+## 2.0.2-next.2
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-defaults@0.10.0-next.2
+ - @backstage/backend-openapi-utils@0.5.3-next.1
+ - @backstage/config@1.3.2
+ - @backstage/plugin-permission-node@0.10.0-next.1
+ - @backstage/plugin-search-backend-node@1.3.11-next.1
+ - @backstage/backend-plugin-api@1.3.1-next.1
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.1
+ - @backstage/plugin-permission-common@0.9.0-next.0
+ - @backstage/plugin-search-common@1.2.18-next.0
+
+## 2.0.2-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-defaults@0.10.0-next.1
+ - @backstage/backend-plugin-api@1.3.1-next.1
+ - @backstage/plugin-permission-common@0.9.0-next.0
+ - @backstage/plugin-permission-node@0.10.0-next.1
+ - @backstage/plugin-search-backend-node@1.3.11-next.1
+ - @backstage/backend-openapi-utils@0.5.3-next.1
+ - @backstage/config@1.3.2
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.1
+ - @backstage/plugin-search-common@1.2.18-next.0
+
+## 2.0.2-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-defaults@0.9.1-next.0
+ - @backstage/backend-plugin-api@1.3.1-next.0
+ - @backstage/plugin-permission-node@0.9.2-next.0
+ - @backstage/plugin-search-backend-node@1.3.11-next.0
+ - @backstage/backend-openapi-utils@0.5.3-next.0
+ - @backstage/config@1.3.2
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.1
+ - @backstage/plugin-permission-common@0.8.4
+ - @backstage/plugin-search-common@1.2.17
+
+## 2.0.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-defaults@0.9.0
+ - @backstage/backend-plugin-api@1.3.0
+ - @backstage/plugin-permission-node@0.9.1
+ - @backstage/plugin-search-backend-node@1.3.10
+ - @backstage/backend-openapi-utils@0.5.2
+ - @backstage/config@1.3.2
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.1
+ - @backstage/plugin-permission-common@0.8.4
+ - @backstage/plugin-search-common@1.2.17
+
+## 2.0.1-next.2
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-defaults@0.9.0-next.2
+ - @backstage/backend-openapi-utils@0.5.1
+ - @backstage/backend-plugin-api@1.2.1
+ - @backstage/config@1.3.2
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.1
+ - @backstage/plugin-permission-common@0.8.4
+ - @backstage/plugin-permission-node@0.9.0
+ - @backstage/plugin-search-backend-node@1.3.9
+ - @backstage/plugin-search-common@1.2.17
+
+## 2.0.1-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-defaults@0.9.0-next.1
+ - @backstage/plugin-permission-node@0.9.0
+ - @backstage/plugin-search-backend-node@1.3.9
+ - @backstage/backend-openapi-utils@0.5.1
+ - @backstage/backend-plugin-api@1.2.1
+ - @backstage/config@1.3.2
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.1
+ - @backstage/plugin-permission-common@0.8.4
+ - @backstage/plugin-search-common@1.2.17
+
+## 2.0.1-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-defaults@0.9.0-next.0
+ - @backstage/plugin-permission-node@0.9.0
+ - @backstage/plugin-search-backend-node@1.3.9
+ - @backstage/backend-openapi-utils@0.5.1
+ - @backstage/backend-plugin-api@1.2.1
+ - @backstage/config@1.3.2
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.1
+ - @backstage/plugin-permission-common@0.8.4
+ - @backstage/plugin-search-common@1.2.17
+
+## 2.0.0
+
+### Major Changes
+
+- d5c4a9d: **BREAKING** Removed support for the legacy backend system and references to `@backstage/backend-common`, please migrate to the new backend system.
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-defaults@0.8.2
+ - @backstage/plugin-permission-node@0.9.0
+ - @backstage/backend-openapi-utils@0.5.1
+ - @backstage/backend-plugin-api@1.2.1
+ - @backstage/config@1.3.2
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.1
+ - @backstage/plugin-permission-common@0.8.4
+ - @backstage/plugin-search-backend-node@1.3.9
+ - @backstage/plugin-search-common@1.2.17
+
+## 1.8.3-next.2
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-defaults@0.8.2-next.2
+ - @backstage/backend-openapi-utils@0.5.1-next.1
+ - @backstage/backend-plugin-api@1.2.1-next.1
+ - @backstage/config@1.3.2
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.1
+ - @backstage/plugin-permission-common@0.8.4
+ - @backstage/plugin-permission-node@0.8.9-next.1
+ - @backstage/plugin-search-backend-node@1.3.9-next.1
+ - @backstage/plugin-search-common@1.2.17
+
+## 1.8.3-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-defaults@0.8.2-next.1
+ - @backstage/backend-openapi-utils@0.5.1-next.1
+ - @backstage/backend-plugin-api@1.2.1-next.1
+ - @backstage/config@1.3.2
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.1
+ - @backstage/plugin-permission-common@0.8.4
+ - @backstage/plugin-permission-node@0.8.9-next.1
+ - @backstage/plugin-search-backend-node@1.3.9-next.1
+ - @backstage/plugin-search-common@1.2.17
+
+## 1.8.3-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-defaults@0.8.2-next.0
+ - @backstage/plugin-permission-node@0.8.9-next.0
+ - @backstage/plugin-search-backend-node@1.3.9-next.0
+ - @backstage/backend-plugin-api@1.2.1-next.0
+ - @backstage/backend-openapi-utils@0.5.1-next.0
+
+## 1.8.2
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-permission-node@0.8.8
+ - @backstage/backend-defaults@0.8.0
+ - @backstage/backend-plugin-api@1.2.0
+ - @backstage/plugin-search-backend-node@1.3.8
+ - @backstage/backend-openapi-utils@0.5.0
+ - @backstage/config@1.3.2
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.1
+ - @backstage/plugin-permission-common@0.8.4
+ - @backstage/plugin-search-common@1.2.17
+
+## 1.8.2-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-permission-node@0.8.8-next.2
+ - @backstage/backend-defaults@0.8.0-next.3
+ - @backstage/backend-plugin-api@1.2.0-next.2
+ - @backstage/plugin-search-backend-node@1.3.8-next.2
+ - @backstage/backend-openapi-utils@0.5.0-next.3
+ - @backstage/config@1.3.2
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.1
+ - @backstage/plugin-permission-common@0.8.4
+ - @backstage/plugin-search-common@1.2.17
+
+## 1.8.2-next.2
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.2.0-next.1
+ - @backstage/plugin-search-backend-node@1.3.8-next.1
+ - @backstage/backend-defaults@0.8.0-next.2
+ - @backstage/backend-openapi-utils@0.5.0-next.2
+ - @backstage/config@1.3.2
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.1
+ - @backstage/plugin-permission-common@0.8.4
+ - @backstage/plugin-permission-node@0.8.8-next.1
+ - @backstage/plugin-search-common@1.2.17
+
+## 1.8.2-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-openapi-utils@0.5.0-next.1
+ - @backstage/backend-defaults@0.8.0-next.1
+ - @backstage/backend-plugin-api@1.2.0-next.0
+ - @backstage/config@1.3.2
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.1
+ - @backstage/plugin-permission-common@0.8.4
+ - @backstage/plugin-permission-node@0.8.8-next.0
+ - @backstage/plugin-search-backend-node@1.3.8-next.0
+ - @backstage/plugin-search-common@1.2.17
+
+## 1.8.2-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-permission-node@0.8.8-next.0
+ - @backstage/backend-defaults@0.8.0-next.0
+ - @backstage/backend-plugin-api@1.2.0-next.0
+ - @backstage/backend-openapi-utils@0.4.2-next.0
+ - @backstage/config@1.3.2
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.1
+ - @backstage/plugin-permission-common@0.8.4
+ - @backstage/plugin-search-backend-node@1.3.8-next.0
+ - @backstage/plugin-search-common@1.2.17
+
+## 1.8.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-defaults@0.7.0
+ - @backstage/types@1.2.1
+ - @backstage/plugin-permission-node@0.8.7
+ - @backstage/backend-openapi-utils@0.4.1
+ - @backstage/backend-plugin-api@1.1.1
+ - @backstage/config@1.3.2
+ - @backstage/errors@1.2.7
+ - @backstage/plugin-permission-common@0.8.4
+ - @backstage/plugin-search-backend-node@1.3.7
+ - @backstage/plugin-search-common@1.2.17
+
+## 1.8.1-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/types@1.2.1-next.0
+ - @backstage/backend-defaults@0.7.0-next.1
+ - @backstage/backend-openapi-utils@0.4.1-next.1
+ - @backstage/backend-plugin-api@1.1.1-next.1
+ - @backstage/config@1.3.2-next.0
+ - @backstage/errors@1.2.7-next.0
+ - @backstage/plugin-permission-common@0.8.4-next.0
+ - @backstage/plugin-search-common@1.2.17-next.0
+ - @backstage/plugin-permission-node@0.8.7-next.1
+ - @backstage/plugin-search-backend-node@1.3.7-next.1
+
+## 1.8.1-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-defaults@0.7.0-next.0
+ - @backstage/plugin-permission-node@0.8.7-next.0
+ - @backstage/backend-openapi-utils@0.4.1-next.0
+ - @backstage/backend-plugin-api@1.1.1-next.0
+ - @backstage/config@1.3.1
+ - @backstage/errors@1.2.6
+ - @backstage/types@1.2.0
+ - @backstage/plugin-permission-common@0.8.3
+ - @backstage/plugin-search-backend-node@1.3.7-next.0
+ - @backstage/plugin-search-common@1.2.16
+
+## 1.8.0
+
+### Minor Changes
+
+- 384e494: Internal updates to generated code.
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-defaults@0.6.0
+ - @backstage/backend-plugin-api@1.1.0
+ - @backstage/plugin-permission-node@0.8.6
+ - @backstage/backend-openapi-utils@0.4.0
+ - @backstage/plugin-search-backend-node@1.3.6
+ - @backstage/errors@1.2.6
+ - @backstage/config@1.3.1
+ - @backstage/types@1.2.0
+ - @backstage/plugin-permission-common@0.8.3
+ - @backstage/plugin-search-common@1.2.16
+
+## 1.8.0-next.2
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-defaults@0.6.0-next.2
+ - @backstage/backend-plugin-api@1.1.0-next.2
+ - @backstage/plugin-permission-node@0.8.6-next.2
+ - @backstage/backend-openapi-utils@0.4.0-next.2
+ - @backstage/errors@1.2.6-next.0
+ - @backstage/plugin-search-backend-node@1.3.6-next.2
+ - @backstage/config@1.3.1-next.0
+ - @backstage/types@1.2.0
+ - @backstage/plugin-permission-common@0.8.3-next.0
+ - @backstage/plugin-search-common@1.2.16-next.0
+
+## 1.8.0-next.1
+
+### Minor Changes
+
+- 384e494: Internal updates to generated code.
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-defaults@0.6.0-next.1
+ - @backstage/plugin-search-backend-node@1.3.6-next.1
+ - @backstage/backend-plugin-api@1.1.0-next.1
+ - @backstage/plugin-permission-node@0.8.6-next.1
+ - @backstage/backend-openapi-utils@0.3.1-next.1
+ - @backstage/config@1.3.0
+ - @backstage/errors@1.2.5
+ - @backstage/types@1.2.0
+ - @backstage/plugin-permission-common@0.8.2
+ - @backstage/plugin-search-common@1.2.15
+
+## 1.7.1-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-defaults@0.6.0-next.0
+ - @backstage/backend-plugin-api@1.0.3-next.0
+ - @backstage/backend-openapi-utils@0.3.1-next.0
+ - @backstage/config@1.3.0
+ - @backstage/errors@1.2.5
+ - @backstage/types@1.2.0
+ - @backstage/plugin-permission-common@0.8.2
+ - @backstage/plugin-permission-node@0.8.6-next.0
+ - @backstage/plugin-search-backend-node@1.3.6-next.0
+ - @backstage/plugin-search-common@1.2.15
+
+## 1.7.0
+
+### Minor Changes
+
+- 39fd704: Internal update to use the new generated server types from `backstage-cli package schema openapi generate --server`.
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/config@1.3.0
+ - @backstage/backend-defaults@0.5.3
+ - @backstage/types@1.2.0
+ - @backstage/backend-plugin-api@1.0.2
+ - @backstage/backend-openapi-utils@0.3.0
+ - @backstage/plugin-search-backend-node@1.3.5
+ - @backstage/plugin-permission-common@0.8.2
+ - @backstage/errors@1.2.5
+ - @backstage/plugin-permission-node@0.8.5
+ - @backstage/plugin-search-common@1.2.15
+
+## 1.7.0-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-defaults@0.5.3-next.3
+ - @backstage/backend-openapi-utils@0.3.0-next.2
+ - @backstage/backend-plugin-api@1.0.2-next.2
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+ - @backstage/types@1.1.1
+ - @backstage/plugin-permission-common@0.8.1
+ - @backstage/plugin-permission-node@0.8.5-next.2
+ - @backstage/plugin-search-backend-node@1.3.5-next.3
+ - @backstage/plugin-search-common@1.2.14
+
+## 1.7.0-next.2
+
+### Minor Changes
+
+- 39fd704: Internal update to use the new generated server types from `backstage-cli package schema openapi generate --server`.
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-defaults@0.5.3-next.2
+ - @backstage/backend-openapi-utils@0.3.0-next.2
+ - @backstage/backend-plugin-api@1.0.2-next.2
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+ - @backstage/types@1.1.1
+ - @backstage/plugin-permission-common@0.8.1
+ - @backstage/plugin-permission-node@0.8.5-next.2
+ - @backstage/plugin-search-backend-node@1.3.5-next.2
+ - @backstage/plugin-search-common@1.2.14
+
+## 1.6.2-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-defaults@0.5.3-next.1
+ - @backstage/backend-openapi-utils@0.2.1-next.1
+ - @backstage/backend-plugin-api@1.0.2-next.1
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+ - @backstage/types@1.1.1
+ - @backstage/plugin-permission-common@0.8.1
+ - @backstage/plugin-permission-node@0.8.5-next.1
+ - @backstage/plugin-search-backend-node@1.3.5-next.1
+ - @backstage/plugin-search-common@1.2.14
+
+## 1.6.2-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-defaults@0.5.3-next.0
+ - @backstage/backend-openapi-utils@0.2.1-next.0
+ - @backstage/backend-plugin-api@1.0.2-next.0
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+ - @backstage/types@1.1.1
+ - @backstage/plugin-permission-common@0.8.1
+ - @backstage/plugin-permission-node@0.8.5-next.0
+ - @backstage/plugin-search-backend-node@1.3.5-next.0
+ - @backstage/plugin-search-common@1.2.14
+
+## 1.6.0
+
+### Minor Changes
+
+- 3109c24: The export for the new backend system at the `/alpha` export is now also available via the main entry point, which means that you can remove the `/alpha` suffix from the import.
+
+### Patch Changes
+
+- 66af016: Fix to schema to allow arbitrary query parameters.
+- 094eaa3: Remove references to in-repo backend-common
+- Updated dependencies
+ - @backstage/backend-defaults@0.5.1
+ - @backstage/plugin-search-backend-node@1.3.3
+ - @backstage/plugin-permission-node@0.8.4
+ - @backstage/backend-openapi-utils@0.2.0
+ - @backstage/backend-plugin-api@1.0.1
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+ - @backstage/types@1.1.1
+ - @backstage/plugin-permission-common@0.8.1
+ - @backstage/plugin-search-common@1.2.14
+
+## 1.5.18-next.2
+
+### Patch Changes
+
+- 66af016: Fix to schema to allow arbitrary query parameters.
+- Updated dependencies
+ - @backstage/backend-defaults@0.5.1-next.2
+ - @backstage/backend-openapi-utils@0.2.0-next.1
+ - @backstage/backend-plugin-api@1.0.1-next.1
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+ - @backstage/types@1.1.1
+ - @backstage/plugin-permission-common@0.8.1
+ - @backstage/plugin-permission-node@0.8.4-next.1
+ - @backstage/plugin-search-backend-node@1.3.3-next.2
+ - @backstage/plugin-search-common@1.2.14
+
+## 1.5.18-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-defaults@0.5.1-next.1
+ - @backstage/backend-openapi-utils@0.1.19-next.0
+ - @backstage/backend-plugin-api@1.0.1-next.0
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+ - @backstage/types@1.1.1
+ - @backstage/plugin-permission-common@0.8.1
+ - @backstage/plugin-permission-node@0.8.4-next.0
+ - @backstage/plugin-search-backend-node@1.3.3-next.1
+ - @backstage/plugin-search-common@1.2.14
+
+## 1.5.18-next.0
+
+### Patch Changes
+
+- 094eaa3: Remove references to in-repo backend-common
+- Updated dependencies
+ - @backstage/plugin-search-backend-node@1.3.3-next.0
+ - @backstage/backend-defaults@0.5.1-next.0
+ - @backstage/plugin-permission-node@0.8.4-next.0
+ - @backstage/backend-openapi-utils@0.1.19-next.0
+ - @backstage/backend-plugin-api@1.0.1-next.0
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+ - @backstage/types@1.1.1
+ - @backstage/plugin-permission-common@0.8.1
+ - @backstage/plugin-search-common@1.2.14
+
+## 1.5.17
+
+### Patch Changes
+
+- 5726390: Deprecate create router as the legacy backend system will no longer be supported.
+- d425fc4: Modules, plugins, and services are now `BackendFeature`, not a function that returns a feature.
+- c2b63ab: Updated dependency `supertest` to `^7.0.0`.
+- Updated dependencies
+ - @backstage/backend-defaults@0.5.0
+ - @backstage/backend-common@0.25.0
+ - @backstage/backend-plugin-api@1.0.0
+ - @backstage/plugin-permission-node@0.8.3
+ - @backstage/backend-openapi-utils@0.1.18
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+ - @backstage/types@1.1.1
+ - @backstage/plugin-permission-common@0.8.1
+ - @backstage/plugin-search-backend-node@1.3.2
+ - @backstage/plugin-search-common@1.2.14
+
+## 1.5.17-next.2
+
+### Patch Changes
+
+- c2b63ab: Updated dependency `supertest` to `^7.0.0`.
+- Updated dependencies
+ - @backstage/backend-common@0.25.0-next.2
+ - @backstage/backend-defaults@0.5.0-next.2
+ - @backstage/backend-plugin-api@1.0.0-next.2
+ - @backstage/backend-openapi-utils@0.1.18-next.2
+ - @backstage/plugin-permission-node@0.8.3-next.2
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+ - @backstage/types@1.1.1
+ - @backstage/plugin-permission-common@0.8.1
+ - @backstage/plugin-search-backend-node@1.3.2-next.2
+ - @backstage/plugin-search-common@1.2.14
+
+## 1.5.17-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-defaults@0.5.0-next.1
+ - @backstage/backend-common@0.25.0-next.1
+ - @backstage/backend-openapi-utils@0.1.18-next.1
+ - @backstage/backend-plugin-api@0.9.0-next.1
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+ - @backstage/types@1.1.1
+ - @backstage/plugin-permission-common@0.8.1
+ - @backstage/plugin-permission-node@0.8.3-next.1
+ - @backstage/plugin-search-backend-node@1.3.2-next.1
+ - @backstage/plugin-search-common@1.2.14
+
+## 1.5.17-next.0
+
+### Patch Changes
+
+- 5726390: Deprecate create router as the legacy backend system will no longer be supported.
+- d425fc4: Modules, plugins, and services are now `BackendFeature`, not a function that returns a feature.
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.9.0-next.0
+ - @backstage/backend-defaults@0.5.0-next.0
+ - @backstage/plugin-permission-node@0.8.3-next.0
+ - @backstage/backend-common@0.25.0-next.0
+ - @backstage/backend-openapi-utils@0.1.18-next.0
+ - @backstage/plugin-search-backend-node@1.3.2-next.0
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+ - @backstage/types@1.1.1
+ - @backstage/plugin-permission-common@0.8.1
+ - @backstage/plugin-search-common@1.2.14
+
+## 1.5.15
+
+### Patch Changes
+
+- 3123c16: Fix package metadata
+- Updated dependencies
+ - @backstage/backend-defaults@0.4.2
+ - @backstage/backend-plugin-api@0.8.0
+ - @backstage/backend-common@0.24.0
+ - @backstage/plugin-search-backend-node@1.3.0
+ - @backstage/plugin-permission-common@0.8.1
+ - @backstage/plugin-permission-node@0.8.1
+ - @backstage/plugin-search-common@1.2.14
+ - @backstage/backend-openapi-utils@0.1.16
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+ - @backstage/types@1.1.1
+
+## 1.5.15-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.8.0-next.3
+ - @backstage/backend-common@0.23.4-next.3
+ - @backstage/backend-defaults@0.4.2-next.3
+ - @backstage/backend-openapi-utils@0.1.16-next.3
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+ - @backstage/types@1.1.1
+ - @backstage/plugin-permission-common@0.8.1-next.1
+ - @backstage/plugin-permission-node@0.8.1-next.3
+ - @backstage/plugin-search-backend-node@1.2.28-next.3
+ - @backstage/plugin-search-common@1.2.14-next.1
+
+## 1.5.15-next.2
+
+### Patch Changes
+
+- 3123c16: Fix package metadata
+- Updated dependencies
+ - @backstage/backend-defaults@0.4.2-next.2
+ - @backstage/backend-plugin-api@0.8.0-next.2
+ - @backstage/plugin-permission-common@0.8.1-next.1
+ - @backstage/backend-common@0.23.4-next.2
+ - @backstage/plugin-permission-node@0.8.1-next.2
+ - @backstage/plugin-search-backend-node@1.2.28-next.2
+ - @backstage/plugin-search-common@1.2.14-next.1
+ - @backstage/backend-openapi-utils@0.1.16-next.2
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+ - @backstage/types@1.1.1
+
+## 1.5.15-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-permission-common@0.8.1-next.0
+ - @backstage/plugin-permission-node@0.8.1-next.1
+ - @backstage/backend-plugin-api@0.7.1-next.1
+ - @backstage/backend-common@0.23.4-next.1
+ - @backstage/backend-defaults@0.4.2-next.1
+ - @backstage/plugin-search-backend-node@1.2.28-next.1
+ - @backstage/plugin-search-common@1.2.14-next.0
+ - @backstage/backend-openapi-utils@0.1.16-next.1
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+ - @backstage/types@1.1.1
+
+## 1.5.15-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.23.4-next.0
+ - @backstage/backend-defaults@0.4.2-next.0
+ - @backstage/backend-openapi-utils@0.1.16-next.0
+ - @backstage/backend-plugin-api@0.7.1-next.0
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+ - @backstage/types@1.1.1
+ - @backstage/plugin-permission-common@0.8.0
+ - @backstage/plugin-permission-node@0.8.1-next.0
+ - @backstage/plugin-search-backend-node@1.2.28-next.0
+ - @backstage/plugin-search-common@1.2.13
+
+## 1.5.14
+
+### Patch Changes
+
+- 343f656: The `AuthorizedSearchEngine` will now ignore the deprecated `token` option, and treat it as an unauthorized request. This will not have any effect in practice, since credentials are always provided by the router.
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.7.0
+ - @backstage/backend-defaults@0.4.0
+ - @backstage/backend-common@0.23.3
+ - @backstage/plugin-permission-common@0.8.0
+ - @backstage/plugin-permission-node@0.8.0
+ - @backstage/backend-openapi-utils@0.1.15
+ - @backstage/plugin-search-backend-node@1.2.27
+ - @backstage/plugin-search-common@1.2.13
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+ - @backstage/types@1.1.1
+
+## 1.5.14-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-defaults@0.3.4-next.1
+ - @backstage/backend-common@0.23.3-next.1
+ - @backstage/backend-openapi-utils@0.1.15-next.1
+ - @backstage/backend-plugin-api@0.6.22-next.1
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+ - @backstage/types@1.1.1
+ - @backstage/plugin-permission-common@0.7.14
+ - @backstage/plugin-permission-node@0.7.33-next.1
+ - @backstage/plugin-search-backend-node@1.2.27-next.1
+ - @backstage/plugin-search-common@1.2.12
+
+## 1.5.13-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.6.21-next.0
+ - @backstage/backend-defaults@0.3.3-next.0
+ - @backstage/backend-common@0.23.2-next.0
+ - @backstage/backend-openapi-utils@0.1.14-next.0
+ - @backstage/plugin-permission-node@0.7.32-next.0
+ - @backstage/plugin-search-backend-node@1.2.26-next.0
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+ - @backstage/types@1.1.1
+ - @backstage/plugin-permission-common@0.7.14
+ - @backstage/plugin-search-common@1.2.12
+
+## 1.5.10
+
+### Patch Changes
+
+- 8869b8e: Updated local development setup.
+- 78a0b08: Internal refactor to handle `BackendFeature` contract change.
+- d44a20a: Added additional plugin metadata to `package.json`.
+- 5b6f979: Split backend search plugin startup into "init" and "start" stages to ensure necessary initialization has happened before startup
+- 34dc47d: Move @backstage/repo-tools to devDependencies
+- Updated dependencies
+ - @backstage/backend-common@0.23.0
+ - @backstage/backend-plugin-api@0.6.19
+ - @backstage/backend-defaults@0.3.0
+ - @backstage/plugin-search-backend-node@1.2.24
+ - @backstage/plugin-permission-node@0.7.30
+ - @backstage/plugin-permission-common@0.7.14
+ - @backstage/plugin-search-common@1.2.12
+ - @backstage/backend-openapi-utils@0.1.12
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+ - @backstage/types@1.1.1
+
+## 1.5.10-next.3
+
+### Patch Changes
+
+- d44a20a: Added additional plugin metadata to `package.json`.
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.6.19-next.3
+ - @backstage/backend-defaults@0.3.0-next.3
+ - @backstage/plugin-search-backend-node@1.2.24-next.3
+ - @backstage/plugin-permission-common@0.7.14-next.0
+ - @backstage/plugin-permission-node@0.7.30-next.3
+ - @backstage/plugin-search-common@1.2.12-next.0
+ - @backstage/backend-common@0.23.0-next.3
+ - @backstage/backend-openapi-utils@0.1.12-next.2
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+ - @backstage/types@1.1.1
+
+## 1.5.10-next.2
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.6.19-next.2
+ - @backstage/backend-common@0.23.0-next.2
+ - @backstage/backend-defaults@0.3.0-next.2
+ - @backstage/plugin-permission-node@0.7.30-next.2
+ - @backstage/backend-openapi-utils@0.1.12-next.1
+ - @backstage/plugin-search-backend-node@1.2.24-next.2
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+ - @backstage/types@1.1.1
+ - @backstage/plugin-permission-common@0.7.13
+ - @backstage/plugin-search-common@1.2.11
+
+## 1.5.10-next.1
+
+### Patch Changes
+
+- 34dc47d: Move @backstage/repo-tools to devDependencies
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.6.19-next.1
+ - @backstage/plugin-permission-node@0.7.30-next.1
+ - @backstage/backend-defaults@0.3.0-next.1
+ - @backstage/backend-common@0.23.0-next.1
+ - @backstage/plugin-search-backend-node@1.2.24-next.1
+
+## 1.5.10-next.0
+
+### Patch Changes
+
+- 8869b8e: Updated local development setup.
+- 5b6f979: Split backend search plugin startup into "init" and "start" stages to ensure necessary initialization has happened before startup
+- Updated dependencies
+ - @backstage/backend-common@0.22.1-next.0
+ - @backstage/plugin-search-backend-node@1.2.24-next.0
+ - @backstage/backend-defaults@0.2.19-next.0
+ - @backstage/backend-plugin-api@0.6.19-next.0
+ - @backstage/repo-tools@0.9.1-next.0
+ - @backstage/plugin-permission-node@0.7.30-next.0
+ - @backstage/backend-openapi-utils@0.1.12-next.0
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+ - @backstage/types@1.1.1
+ - @backstage/plugin-permission-common@0.7.13
+ - @backstage/plugin-search-common@1.2.11
+
+## 1.5.8
+
+### Patch Changes
+
+- c6cb568: Add lifecycle monitoring for the search index registry
+- Updated dependencies
+ - @backstage/repo-tools@0.9.0
+ - @backstage/backend-common@0.22.0
+ - @backstage/backend-plugin-api@0.6.18
+ - @backstage/plugin-search-backend-node@1.2.22
+ - @backstage/backend-openapi-utils@0.1.11
+ - @backstage/plugin-permission-node@0.7.29
+
+## 1.5.8-next.2
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.22.0-next.2
+ - @backstage/repo-tools@0.9.0-next.2
+
+## 1.5.8-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/repo-tools@0.8.1-next.1
+ - @backstage/backend-common@0.22.0-next.1
+ - @backstage/plugin-permission-node@0.7.29-next.1
+ - @backstage/plugin-search-backend-node@1.2.22-next.1
+ - @backstage/backend-plugin-api@0.6.18-next.1
+ - @backstage/backend-openapi-utils@0.1.11-next.1
+
+## 1.5.8-next.0
+
+### Patch Changes
+
+- c6cb568: Add lifecycle monitoring for the search index registry
+- Updated dependencies
+ - @backstage/plugin-search-backend-node@1.2.22-next.0
+ - @backstage/backend-common@0.21.8-next.0
+ - @backstage/backend-plugin-api@0.6.18-next.0
+ - @backstage/repo-tools@0.8.1-next.0
+ - @backstage/backend-openapi-utils@0.1.11-next.0
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+ - @backstage/types@1.1.1
+ - @backstage/plugin-permission-common@0.7.13
+ - @backstage/plugin-permission-node@0.7.29-next.0
+ - @backstage/plugin-search-common@1.2.11
+
+## 1.5.7
+
+### Patch Changes
+
+- 2bd291e: Allow reserved characters in requests.
+- d5a1fe1: Replaced winston logger with `LoggerService`
+- Updated dependencies
+ - @backstage/backend-common@0.21.7
+ - @backstage/repo-tools@0.8.0
+ - @backstage/plugin-permission-node@0.7.28
+ - @backstage/backend-plugin-api@0.6.17
+ - @backstage/plugin-search-backend-node@1.2.21
+ - @backstage/backend-openapi-utils@0.1.10
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+ - @backstage/types@1.1.1
+ - @backstage/plugin-permission-common@0.7.13
+ - @backstage/plugin-search-common@1.2.11
+
+## 1.5.7-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.21.7-next.1
+ - @backstage/backend-plugin-api@0.6.17-next.1
+ - @backstage/repo-tools@0.8.0-next.1
+ - @backstage/plugin-permission-node@0.7.28-next.1
+ - @backstage/plugin-search-backend-node@1.2.21-next.1
+ - @backstage/backend-openapi-utils@0.1.10-next.1
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+ - @backstage/types@1.1.1
+ - @backstage/plugin-permission-common@0.7.13
+ - @backstage/plugin-search-common@1.2.11
+
+## 1.5.7-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.21.7-next.0
+ - @backstage/repo-tools@0.8.0-next.0
+ - @backstage/backend-openapi-utils@0.1.10-next.0
+ - @backstage/backend-plugin-api@0.6.17-next.0
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+ - @backstage/types@1.1.1
+ - @backstage/plugin-permission-common@0.7.13
+ - @backstage/plugin-permission-node@0.7.28-next.0
+ - @backstage/plugin-search-backend-node@1.2.21-next.0
+ - @backstage/plugin-search-common@1.2.11
+
+## 1.5.6
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.21.6
+ - @backstage/backend-plugin-api@0.6.16
+ - @backstage/plugin-permission-node@0.7.27
+ - @backstage/plugin-search-backend-node@1.2.20
+ - @backstage/backend-openapi-utils@0.1.9
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+ - @backstage/types@1.1.1
+ - @backstage/plugin-permission-common@0.7.13
+ - @backstage/plugin-search-common@1.2.11
+
+## 1.5.5
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.21.5
+ - @backstage/plugin-permission-node@0.7.26
+ - @backstage/plugin-search-backend-node@1.2.19
+ - @backstage/backend-openapi-utils@0.1.8
+ - @backstage/backend-plugin-api@0.6.15
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+ - @backstage/types@1.1.1
+ - @backstage/plugin-permission-common@0.7.13
+ - @backstage/plugin-search-common@1.2.11
+
+## 1.5.4
+
+### Patch Changes
+
+- 2bd1410: Removed unused dependencies
+- 744c0cb: Update the router to use the new `auth` services, it now accepts an optional discovery service option to get credentials for the permission service.
+- Updated dependencies
+ - @backstage/backend-common@0.21.4
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+ - @backstage/backend-plugin-api@0.6.14
+ - @backstage/plugin-permission-common@0.7.13
+ - @backstage/plugin-search-common@1.2.11
+ - @backstage/backend-openapi-utils@0.1.7
+ - @backstage/plugin-search-backend-node@1.2.18
+ - @backstage/plugin-permission-node@0.7.25
+ - @backstage/types@1.1.1
+
+## 1.5.4-next.2
+
+### Patch Changes
+
+- 2bd1410: Removed unused dependencies
+- Updated dependencies
+ - @backstage/backend-common@0.21.4-next.2
+ - @backstage/backend-openapi-utils@0.1.7-next.2
+ - @backstage/backend-plugin-api@0.6.14-next.2
+ - @backstage/config@1.2.0-next.1
+ - @backstage/errors@1.2.4-next.0
+ - @backstage/types@1.1.1
+ - @backstage/plugin-permission-common@0.7.13-next.1
+ - @backstage/plugin-permission-node@0.7.25-next.2
+ - @backstage/plugin-search-backend-node@1.2.18-next.2
+ - @backstage/plugin-search-common@1.2.11-next.1
+
+## 1.5.4-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/config@1.2.0-next.1
+ - @backstage/backend-common@0.21.4-next.1
+ - @backstage/backend-plugin-api@0.6.14-next.1
+ - @backstage/plugin-auth-node@0.4.9-next.1
+ - @backstage/plugin-permission-common@0.7.13-next.1
+ - @backstage/plugin-permission-node@0.7.25-next.1
+ - @backstage/plugin-search-backend-node@1.2.18-next.1
+ - @backstage/backend-openapi-utils@0.1.7-next.1
+ - @backstage/errors@1.2.4-next.0
+ - @backstage/types@1.1.1
+ - @backstage/plugin-search-common@1.2.11-next.1
+
+## 1.5.3-next.0
+
+### Patch Changes
+
+- 744c0cb: Update the router to use the new `auth` services, it now accepts an optional discovery service option to get credentials for the permission service.
+- Updated dependencies
+ - @backstage/backend-common@0.21.3-next.0
+ - @backstage/plugin-auth-node@0.4.8-next.0
+ - @backstage/errors@1.2.4-next.0
+ - @backstage/backend-plugin-api@0.6.13-next.0
+ - @backstage/plugin-permission-common@0.7.13-next.0
+ - @backstage/plugin-search-common@1.2.11-next.0
+ - @backstage/backend-openapi-utils@0.1.6-next.0
+ - @backstage/plugin-search-backend-node@1.2.17-next.0
+ - @backstage/plugin-permission-node@0.7.24-next.0
+ - @backstage/config@1.1.2-next.0
+ - @backstage/types@1.1.1
+
+## 1.5.0
+
+### Minor Changes
+
+- 126c2f9: Updates the OpenAPI spec to use plugin as `info.title` instead of package name.
+- 04907c3: Updates the OpenAPI specification title to plugin ID instead of package name.
+
+### Patch Changes
+
+- 3ed0eac: Authorized search engine now obeys query page limit
+- Updated dependencies
+ - @backstage/backend-common@0.21.0
+ - @backstage/plugin-auth-node@0.4.4
+ - @backstage/backend-plugin-api@0.6.10
+ - @backstage/backend-openapi-utils@0.1.3
+ - @backstage/plugin-permission-node@0.7.21
+ - @backstage/plugin-search-backend-node@1.2.14
+ - @backstage/config@1.1.1
+ - @backstage/errors@1.2.3
+ - @backstage/types@1.1.1
+ - @backstage/plugin-permission-common@0.7.12
+ - @backstage/plugin-search-common@1.2.10
+
+## 1.5.0-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.21.0-next.3
+ - @backstage/plugin-auth-node@0.4.4-next.3
+ - @backstage/plugin-permission-node@0.7.21-next.3
+ - @backstage/plugin-search-backend-node@1.2.14-next.3
+ - @backstage/backend-openapi-utils@0.1.3-next.3
+ - @backstage/backend-plugin-api@0.6.10-next.3
+ - @backstage/config@1.1.1
+ - @backstage/errors@1.2.3
+ - @backstage/types@1.1.1
+ - @backstage/plugin-permission-common@0.7.12
+ - @backstage/plugin-search-common@1.2.10
+
+## 1.5.0-next.2
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.21.0-next.2
+ - @backstage/backend-plugin-api@0.6.10-next.2
+ - @backstage/plugin-auth-node@0.4.4-next.2
+ - @backstage/plugin-permission-node@0.7.21-next.2
+ - @backstage/plugin-search-backend-node@1.2.14-next.2
+ - @backstage/backend-openapi-utils@0.1.3-next.2
+ - @backstage/config@1.1.1
+ - @backstage/errors@1.2.3
+ - @backstage/types@1.1.1
+ - @backstage/plugin-permission-common@0.7.12
+ - @backstage/plugin-search-common@1.2.10
+
+## 1.5.0-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.6.10-next.1
+ - @backstage/backend-common@0.21.0-next.1
+ - @backstage/backend-openapi-utils@0.1.3-next.1
+ - @backstage/config@1.1.1
+ - @backstage/errors@1.2.3
+ - @backstage/types@1.1.1
+ - @backstage/plugin-auth-node@0.4.4-next.1
+ - @backstage/plugin-permission-common@0.7.12
+ - @backstage/plugin-permission-node@0.7.21-next.1
+ - @backstage/plugin-search-backend-node@1.2.14-next.1
+ - @backstage/plugin-search-common@1.2.10
+
+## 1.5.0-next.0
+
+### Minor Changes
+
+- 126c2f9: Updates the OpenAPI spec to use plugin as `info.title` instead of package name.
+- 04907c3: Updates the OpenAPI specification title to plugin ID instead of package name.
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.21.0-next.0
+ - @backstage/backend-openapi-utils@0.1.3-next.0
+ - @backstage/plugin-auth-node@0.4.4-next.0
+ - @backstage/plugin-permission-node@0.7.21-next.0
+ - @backstage/plugin-search-backend-node@1.2.14-next.0
+ - @backstage/backend-plugin-api@0.6.10-next.0
+ - @backstage/config@1.1.1
+ - @backstage/errors@1.2.3
+ - @backstage/types@1.1.1
+ - @backstage/plugin-permission-common@0.7.12
+ - @backstage/plugin-search-common@1.2.10
+
+## 1.4.9
+
+### Patch Changes
+
+- 4016f21: Remove some unused dependencies
+- Updated dependencies
+ - @backstage/backend-common@0.20.1
+ - @backstage/backend-plugin-api@0.6.9
+ - @backstage/backend-openapi-utils@0.1.2
+ - @backstage/plugin-permission-common@0.7.12
+ - @backstage/plugin-permission-node@0.7.20
+ - @backstage/plugin-auth-node@0.4.3
+ - @backstage/plugin-search-backend-node@1.2.13
+ - @backstage/config@1.1.1
+ - @backstage/errors@1.2.3
+ - @backstage/types@1.1.1
+ - @backstage/plugin-search-common@1.2.10
+
+## 1.4.9-next.2
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.6.9-next.2
+ - @backstage/backend-common@0.20.1-next.2
+ - @backstage/backend-openapi-utils@0.1.2-next.2
+ - @backstage/plugin-auth-node@0.4.3-next.2
+ - @backstage/plugin-permission-node@0.7.20-next.2
+ - @backstage/plugin-search-backend-node@1.2.13-next.2
+
+## 1.4.9-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.20.1-next.1
+ - @backstage/config@1.1.1
+ - @backstage/plugin-auth-node@0.4.3-next.1
+ - @backstage/plugin-permission-node@0.7.20-next.1
+ - @backstage/plugin-search-backend-node@1.2.13-next.1
+ - @backstage/backend-openapi-utils@0.1.2-next.1
+ - @backstage/backend-plugin-api@0.6.9-next.1
+ - @backstage/errors@1.2.3
+ - @backstage/types@1.1.1
+ - @backstage/plugin-permission-common@0.7.11
+ - @backstage/plugin-search-common@1.2.9
+
+## 1.4.9-next.0
+
+### Patch Changes
+
+- 4016f21: Remove some unused dependencies
+- Updated dependencies
+ - @backstage/backend-common@0.20.1-next.0
+ - @backstage/backend-openapi-utils@0.1.2-next.0
+ - @backstage/backend-plugin-api@0.6.9-next.0
+ - @backstage/config@1.1.1
+ - @backstage/errors@1.2.3
+ - @backstage/types@1.1.1
+ - @backstage/plugin-auth-node@0.4.3-next.0
+ - @backstage/plugin-permission-common@0.7.11
+ - @backstage/plugin-permission-node@0.7.20-next.0
+ - @backstage/plugin-search-backend-node@1.2.13-next.0
+ - @backstage/plugin-search-common@1.2.9
+
+## 1.4.8
+
+### Patch Changes
+
+- 0cbb03b: Fixing regular expression ReDoS with zod packages. Upgrading to latest. ref:
+- Updated dependencies
+ - @backstage/backend-common@0.20.0
+ - @backstage/backend-openapi-utils@0.1.1
+ - @backstage/plugin-auth-node@0.4.2
+ - @backstage/plugin-permission-common@0.7.11
+ - @backstage/plugin-permission-node@0.7.19
+ - @backstage/plugin-search-backend-node@1.2.12
+ - @backstage/backend-plugin-api@0.6.8
+ - @backstage/config@1.1.1
+ - @backstage/errors@1.2.3
+ - @backstage/types@1.1.1
+ - @backstage/plugin-search-common@1.2.9
+
+## 1.4.8-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.20.0-next.3
+ - @backstage/backend-openapi-utils@0.1.1-next.3
+ - @backstage/backend-plugin-api@0.6.8-next.3
+ - @backstage/config@1.1.1
+ - @backstage/errors@1.2.3
+ - @backstage/types@1.1.1
+ - @backstage/plugin-auth-node@0.4.2-next.3
+ - @backstage/plugin-permission-common@0.7.10
+ - @backstage/plugin-permission-node@0.7.19-next.3
+ - @backstage/plugin-search-backend-node@1.2.12-next.3
+ - @backstage/plugin-search-common@1.2.8
+
+## 1.4.8-next.2
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.20.0-next.2
+ - @backstage/plugin-auth-node@0.4.2-next.2
+ - @backstage/backend-openapi-utils@0.1.1-next.2
+ - @backstage/backend-plugin-api@0.6.8-next.2
+ - @backstage/config@1.1.1
+ - @backstage/errors@1.2.3
+ - @backstage/types@1.1.1
+ - @backstage/plugin-permission-common@0.7.10
+ - @backstage/plugin-permission-node@0.7.19-next.2
+ - @backstage/plugin-search-backend-node@1.2.12-next.2
+ - @backstage/plugin-search-common@1.2.8
+
+## 1.4.8-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.20.0-next.1
+ - @backstage/backend-openapi-utils@0.1.1-next.1
+ - @backstage/backend-plugin-api@0.6.8-next.1
+ - @backstage/config@1.1.1
+ - @backstage/errors@1.2.3
+ - @backstage/types@1.1.1
+ - @backstage/plugin-auth-node@0.4.2-next.1
+ - @backstage/plugin-permission-common@0.7.10
+ - @backstage/plugin-permission-node@0.7.19-next.1
+ - @backstage/plugin-search-backend-node@1.2.12-next.1
+ - @backstage/plugin-search-common@1.2.8
+
+## 1.4.8-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.20.0-next.0
+ - @backstage/backend-openapi-utils@0.1.1-next.0
+ - @backstage/plugin-auth-node@0.4.2-next.0
+ - @backstage/plugin-permission-node@0.7.19-next.0
+ - @backstage/plugin-search-backend-node@1.2.12-next.0
+ - @backstage/backend-plugin-api@0.6.8-next.0
+ - @backstage/config@1.1.1
+ - @backstage/errors@1.2.3
+ - @backstage/types@1.1.1
+ - @backstage/plugin-permission-common@0.7.10
+ - @backstage/plugin-search-common@1.2.8
+
+## 1.4.7
+
+### Patch Changes
+
+- 6694b369a3: Update the OpenAPI spec with more complete error responses and request bodies using Optic. Also, updates the test cases to use the new `supertest` pass through from `@backstage/backend-openapi-utils`.
+- Updated dependencies
+ - @backstage/plugin-search-backend-node@1.2.11
+ - @backstage/backend-common@0.19.9
+ - @backstage/backend-plugin-api@0.6.7
+ - @backstage/plugin-permission-common@0.7.10
+ - @backstage/backend-openapi-utils@0.1.0
+ - @backstage/config@1.1.1
+ - @backstage/errors@1.2.3
+ - @backstage/types@1.1.1
+ - @backstage/plugin-auth-node@0.4.1
+ - @backstage/plugin-permission-node@0.7.18
+ - @backstage/plugin-search-common@1.2.8
+
+## 1.4.7-next.2
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.6.7-next.2
+ - @backstage/backend-common@0.19.9-next.2
+ - @backstage/backend-openapi-utils@0.1.0-next.2
+ - @backstage/plugin-auth-node@0.4.1-next.2
+ - @backstage/plugin-permission-node@0.7.18-next.2
+ - @backstage/plugin-search-backend-node@1.2.11-next.2
+
+## 1.4.7-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.19.9-next.1
+ - @backstage/plugin-auth-node@0.4.1-next.1
+ - @backstage/plugin-permission-node@0.7.18-next.1
+ - @backstage/plugin-search-backend-node@1.2.11-next.1
+ - @backstage/backend-openapi-utils@0.1.0-next.1
+ - @backstage/backend-plugin-api@0.6.7-next.1
+ - @backstage/config@1.1.1
+ - @backstage/errors@1.2.3
+ - @backstage/types@1.1.1
+ - @backstage/plugin-permission-common@0.7.9
+ - @backstage/plugin-search-common@1.2.7
+
+## 1.4.7-next.0
+
+### Patch Changes
+
+- 6694b369a3: Update the OpenAPI spec with more complete error responses and request bodies using Optic. Also, updates the test cases to use the new `supertest` pass through from `@backstage/backend-openapi-utils`.
+- Updated dependencies
+ - @backstage/plugin-search-backend-node@1.2.11-next.0
+ - @backstage/backend-openapi-utils@0.1.0-next.0
+ - @backstage/backend-common@0.19.9-next.0
+ - @backstage/backend-plugin-api@0.6.7-next.0
+ - @backstage/config@1.1.1
+ - @backstage/errors@1.2.3
+ - @backstage/types@1.1.1
+ - @backstage/plugin-auth-node@0.4.1-next.0
+ - @backstage/plugin-permission-common@0.7.9
+ - @backstage/plugin-permission-node@0.7.18-next.0
+ - @backstage/plugin-search-common@1.2.7
+
+## 1.4.6
+
+### Patch Changes
+
+- 16be6f9473: Set the default length limit to search query to 100. To override it, define `search.maxTermLength` in the config file.
+- Updated dependencies
+ - @backstage/backend-common@0.19.8
+ - @backstage/plugin-auth-node@0.4.0
+ - @backstage/errors@1.2.3
+ - @backstage/backend-openapi-utils@0.0.5
+ - @backstage/backend-plugin-api@0.6.6
+ - @backstage/plugin-search-backend-node@1.2.10
+ - @backstage/plugin-permission-node@0.7.17
+ - @backstage/config@1.1.1
+ - @backstage/types@1.1.1
+ - @backstage/plugin-permission-common@0.7.9
+ - @backstage/plugin-search-common@1.2.7
+
+## 1.4.6-next.2
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.19.8-next.2
+ - @backstage/plugin-auth-node@0.4.0-next.2
+ - @backstage/errors@1.2.3-next.0
+ - @backstage/backend-openapi-utils@0.0.5-next.0
+ - @backstage/plugin-permission-node@0.7.17-next.2
+ - @backstage/plugin-search-backend-node@1.2.10-next.2
+ - @backstage/backend-plugin-api@0.6.6-next.2
+ - @backstage/config@1.1.1-next.0
+ - @backstage/types@1.1.1
+ - @backstage/plugin-permission-common@0.7.9-next.0
+ - @backstage/plugin-search-common@1.2.7-next.0
+
+## 1.4.5-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.19.7-next.1
+ - @backstage/backend-plugin-api@0.6.5-next.1
+ - @backstage/plugin-search-backend-node@1.2.9-next.1
+ - @backstage/plugin-auth-node@0.3.2-next.1
+ - @backstage/plugin-permission-node@0.7.16-next.1
+ - @backstage/config@1.1.0
+ - @backstage/backend-openapi-utils@0.0.4
+ - @backstage/errors@1.2.2
+ - @backstage/types@1.1.1
+ - @backstage/plugin-permission-common@0.7.8
+ - @backstage/plugin-search-common@1.2.6
+
+## 1.4.5-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.3.2-next.0
+ - @backstage/backend-common@0.19.7-next.0
+ - @backstage/config@1.1.0
+ - @backstage/backend-openapi-utils@0.0.4
+ - @backstage/backend-plugin-api@0.6.5-next.0
+ - @backstage/errors@1.2.2
+ - @backstage/types@1.1.1
+ - @backstage/plugin-permission-common@0.7.8
+ - @backstage/plugin-permission-node@0.7.16-next.0
+ - @backstage/plugin-search-backend-node@1.2.9-next.0
+ - @backstage/plugin-search-common@1.2.6
+
+## 1.4.3
+
+### Patch Changes
+
+- 71114ac50e02: The export for the new backend system has been moved to be the `default` export.
+
+ For example, if you are currently importing the plugin using the following pattern:
+
+ ```ts
+ import { examplePlugin } from '@backstage/plugin-example-backend';
+
+ backend.add(examplePlugin);
+ ```
+
+ It should be migrated to this:
+
+ ```ts
+ backend.add(import('@backstage/plugin-example-backend'));
+ ```
+
+- Updated dependencies
+ - @backstage/backend-common@0.19.5
+ - @backstage/plugin-auth-node@0.3.0
+ - @backstage/config@1.1.0
+ - @backstage/errors@1.2.2
+ - @backstage/plugin-permission-common@0.7.8
+ - @backstage/plugin-search-common@1.2.6
+ - @backstage/types@1.1.1
+ - @backstage/plugin-permission-node@0.7.14
+ - @backstage/backend-plugin-api@0.6.3
+ - @backstage/backend-openapi-utils@0.0.4
+ - @backstage/plugin-search-backend-node@1.2.7
+
+## 1.4.3-next.3
+
+### Patch Changes
+
+- 71114ac50e02: The export for the new backend system has been moved to be the `default` export.
+
+ For example, if you are currently importing the plugin using the following pattern:
+
+ ```ts
+ import { examplePlugin } from '@backstage/plugin-example-backend';
+
+ backend.add(examplePlugin);
+ ```
+
+ It should be migrated to this:
+
+ ```ts
+ backend.add(import('@backstage/plugin-example-backend'));
+ ```
+
+- Updated dependencies
+ - @backstage/config@1.1.0-next.2
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/plugin-permission-common@0.7.8-next.2
+ - @backstage/plugin-search-common@1.2.6-next.2
+ - @backstage/types@1.1.1-next.0
+ - @backstage/plugin-permission-node@0.7.14-next.3
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/backend-common@0.19.5-next.3
+ - @backstage/backend-openapi-utils@0.0.4-next.0
+ - @backstage/plugin-auth-node@0.3.0-next.3
+ - @backstage/plugin-search-backend-node@1.2.7-next.3
+
+## 1.4.3-next.2
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/config@1.1.0-next.1
+ - @backstage/backend-common@0.19.5-next.2
+ - @backstage/plugin-auth-node@0.3.0-next.2
+ - @backstage/plugin-permission-node@0.7.14-next.2
+ - @backstage/backend-plugin-api@0.6.3-next.2
+ - @backstage/plugin-permission-common@0.7.8-next.1
+ - @backstage/plugin-search-backend-node@1.2.7-next.2
+ - @backstage/backend-openapi-utils@0.0.3
+ - @backstage/errors@1.2.1
+ - @backstage/types@1.1.0
+ - @backstage/plugin-search-common@1.2.6-next.1
+
+## 1.4.3-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/config@1.1.0-next.0
+ - @backstage/backend-common@0.19.5-next.1
+ - @backstage/backend-plugin-api@0.6.3-next.1
+ - @backstage/plugin-auth-node@0.3.0-next.1
+ - @backstage/plugin-permission-common@0.7.8-next.0
+ - @backstage/plugin-permission-node@0.7.14-next.1
+ - @backstage/plugin-search-backend-node@1.2.7-next.1
+ - @backstage/backend-openapi-utils@0.0.3
+ - @backstage/errors@1.2.1
+ - @backstage/types@1.1.0
+ - @backstage/plugin-search-common@1.2.6-next.0
+
+## 1.4.2-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.3.0-next.0
+ - @backstage/backend-common@0.19.4-next.0
+ - @backstage/backend-openapi-utils@0.0.3
+ - @backstage/backend-plugin-api@0.6.2-next.0
+ - @backstage/config@1.0.8
+ - @backstage/errors@1.2.1
+ - @backstage/types@1.1.0
+ - @backstage/plugin-permission-common@0.7.7
+ - @backstage/plugin-permission-node@0.7.13-next.0
+ - @backstage/plugin-search-backend-node@1.2.6-next.0
+ - @backstage/plugin-search-common@1.2.5
+
+## 1.4.0
+
+### Minor Changes
+
+- ebeb77586975: Now performs request validation based on OpenAPI schema through `@backstage/backend-openapi-utils`. Error responses for invalid input, like `"a"` instead of a number, may have changed.
+
+### Patch Changes
+
+- 629cbd194a87: Use `coreServices.rootConfig` instead of `coreService.config`
+- 12a8c94eda8d: Add package repository and homepage metadata
+- 951ab6c9db58: Add missing `configSchema` to package.json
+- Updated dependencies
+ - @backstage/backend-common@0.19.2
+ - @backstage/backend-plugin-api@0.6.0
+ - @backstage/backend-openapi-utils@0.0.3
+ - @backstage/plugin-search-backend-node@1.2.4
+ - @backstage/plugin-auth-node@0.2.17
+ - @backstage/plugin-permission-node@0.7.11
+ - @backstage/config@1.0.8
+ - @backstage/errors@1.2.1
+ - @backstage/types@1.1.0
+ - @backstage/plugin-permission-common@0.7.7
+ - @backstage/plugin-search-common@1.2.5
+
+## 1.4.0-next.2
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.6.0-next.2
+ - @backstage/backend-common@0.19.2-next.2
+ - @backstage/plugin-permission-node@0.7.11-next.2
+ - @backstage/plugin-search-backend-node@1.2.4-next.2
+ - @backstage/plugin-auth-node@0.2.17-next.2
+
+## 1.4.0-next.1
+
+### Patch Changes
+
+- 629cbd194a87: Use `coreServices.rootConfig` instead of `coreService.config`
+- 12a8c94eda8d: Add package repository and homepage metadata
+- 951ab6c9db58: Add missing `configSchema` to package.json
+- Updated dependencies
+ - @backstage/backend-common@0.19.2-next.1
+ - @backstage/backend-openapi-utils@0.0.3-next.1
+ - @backstage/plugin-search-backend-node@1.2.4-next.1
+ - @backstage/plugin-auth-node@0.2.17-next.1
+ - @backstage/backend-plugin-api@0.6.0-next.1
+ - @backstage/plugin-permission-node@0.7.11-next.1
+ - @backstage/config@1.0.8
+ - @backstage/errors@1.2.1
+ - @backstage/types@1.1.0
+ - @backstage/plugin-permission-common@0.7.7
+ - @backstage/plugin-search-common@1.2.5
+
+## 1.4.0-next.0
+
+### Minor Changes
+
+- ebeb77586975: Now performs request validation based on OpenAPI schema through `@backstage/backend-openapi-utils`. Error responses for invalid input, like `"a"` instead of a number, may have changed.
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-openapi-utils@0.0.3-next.0
+ - @backstage/plugin-search-backend-node@1.2.4-next.0
+ - @backstage/backend-common@0.19.2-next.0
+ - @backstage/backend-plugin-api@0.5.5-next.0
+ - @backstage/config@1.0.8
+ - @backstage/errors@1.2.1
+ - @backstage/types@1.1.0
+ - @backstage/plugin-auth-node@0.2.17-next.0
+ - @backstage/plugin-permission-common@0.7.7
+ - @backstage/plugin-permission-node@0.7.11-next.0
+ - @backstage/plugin-search-common@1.2.5
+
+## 1.3.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/errors@1.2.1
+ - @backstage/backend-common@0.19.1
+ - @backstage/backend-plugin-api@0.5.4
+ - @backstage/config@1.0.8
+ - @backstage/types@1.1.0
+ - @backstage/plugin-auth-node@0.2.16
+ - @backstage/plugin-permission-common@0.7.7
+ - @backstage/plugin-permission-node@0.7.10
+ - @backstage/plugin-search-backend-node@1.2.3
+ - @backstage/plugin-search-common@1.2.5
+
+## 1.3.3-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/errors@1.2.1-next.0
+ - @backstage/backend-common@0.19.1-next.0
+ - @backstage/backend-plugin-api@0.5.4-next.0
+ - @backstage/config@1.0.8
+ - @backstage/types@1.1.0
+ - @backstage/plugin-auth-node@0.2.16-next.0
+ - @backstage/plugin-permission-common@0.7.7-next.0
+ - @backstage/plugin-permission-node@0.7.10-next.0
+ - @backstage/plugin-search-backend-node@1.2.3-next.0
+ - @backstage/plugin-search-common@1.2.5-next.0
+
+## 1.3.2
+
+### Patch Changes
+
+- ee411e7c2623: Update OpenAPI specs to be in line with linting standards.
+- Updated dependencies
+ - @backstage/backend-common@0.19.0
+ - @backstage/types@1.1.0
+ - @backstage/errors@1.2.0
+ - @backstage/backend-plugin-api@0.5.3
+ - @backstage/plugin-auth-node@0.2.15
+ - @backstage/plugin-permission-node@0.7.9
+ - @backstage/plugin-search-backend-node@1.2.2
+ - @backstage/config@1.0.8
+ - @backstage/plugin-permission-common@0.7.6
+ - @backstage/plugin-search-common@1.2.4
+
+## 1.3.2-next.2
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.19.0-next.2
+ - @backstage/backend-plugin-api@0.5.3-next.2
+ - @backstage/config@1.0.7
+ - @backstage/errors@1.2.0-next.0
+ - @backstage/types@1.0.2
+ - @backstage/plugin-auth-node@0.2.15-next.2
+ - @backstage/plugin-permission-common@0.7.6-next.0
+ - @backstage/plugin-permission-node@0.7.9-next.2
+ - @backstage/plugin-search-backend-node@1.2.2-next.2
+ - @backstage/plugin-search-common@1.2.4-next.0
+
+## 1.3.2-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.19.0-next.1
+ - @backstage/errors@1.2.0-next.0
+ - @backstage/backend-plugin-api@0.5.3-next.1
+ - @backstage/plugin-auth-node@0.2.15-next.1
+ - @backstage/plugin-permission-node@0.7.9-next.1
+ - @backstage/plugin-search-backend-node@1.2.2-next.1
+ - @backstage/plugin-permission-common@0.7.6-next.0
+ - @backstage/config@1.0.7
+ - @backstage/types@1.0.2
+ - @backstage/plugin-search-common@1.2.4-next.0
+
+## 1.3.2-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.18.6-next.0
+ - @backstage/config@1.0.7
+ - @backstage/backend-plugin-api@0.5.3-next.0
+ - @backstage/errors@1.1.5
+ - @backstage/types@1.0.2
+ - @backstage/plugin-auth-node@0.2.15-next.0
+ - @backstage/plugin-permission-common@0.7.5
+ - @backstage/plugin-permission-node@0.7.9-next.0
+ - @backstage/plugin-search-backend-node@1.2.2-next.0
+ - @backstage/plugin-search-common@1.2.3
+
+## 1.3.1
+
+### Patch Changes
+
+- 021cfbb5152: Added an OpenAPI 3.0 spec and enforced schema-first model on the router.
+- Updated dependencies
+ - @backstage/backend-common@0.18.5
+ - @backstage/plugin-permission-node@0.7.8
+ - @backstage/plugin-auth-node@0.2.14
+ - @backstage/plugin-search-backend-node@1.2.1
+ - @backstage/backend-plugin-api@0.5.2
+ - @backstage/config@1.0.7
+ - @backstage/errors@1.1.5
+ - @backstage/types@1.0.2
+ - @backstage/plugin-permission-common@0.7.5
+ - @backstage/plugin-search-common@1.2.3
+
+## 1.3.1-next.2
+
+### Patch Changes
+
+- 021cfbb5152: Added an OpenAPI 3.0 spec and enforced schema-first model on the router.
+- Updated dependencies
+ - @backstage/config@1.0.7
+
+## 1.3.1-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.18.5-next.1
+ - @backstage/plugin-auth-node@0.2.14-next.1
+ - @backstage/plugin-permission-node@0.7.8-next.1
+ - @backstage/plugin-search-backend-node@1.2.1-next.1
+ - @backstage/backend-plugin-api@0.5.2-next.1
+ - @backstage/config@1.0.7
+
+## 1.3.1-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.18.5-next.0
+ - @backstage/plugin-permission-node@0.7.8-next.0
+ - @backstage/plugin-auth-node@0.2.14-next.0
+ - @backstage/plugin-search-backend-node@1.2.1-next.0
+ - @backstage/backend-plugin-api@0.5.2-next.0
+ - @backstage/config@1.0.7
+ - @backstage/errors@1.1.5
+ - @backstage/types@1.0.2
+ - @backstage/plugin-permission-common@0.7.5
+ - @backstage/plugin-search-common@1.2.3
+
+## 1.3.0
+
+### Minor Changes
+
+- 1469daa409e: Exports search plugin that can be used with the new backend system. For documentation on how to migrate, check out the [how to migrate to the new backend system guide](https://backstage.io/docs/features/search/how-to-guides/#how-to-migrate-your-backend-installation-to-use-search-together-with-the-new-backend-system).
+
+### Patch Changes
+
+- 1e4f5e91b8e: Bump `zod` and `zod-to-json-schema` dependencies.
+- Updated dependencies
+ - @backstage/backend-common@0.18.4
+ - @backstage/plugin-permission-node@0.7.7
+ - @backstage/plugin-permission-common@0.7.5
+ - @backstage/plugin-search-backend-node@1.2.0
+ - @backstage/plugin-auth-node@0.2.13
+ - @backstage/backend-plugin-api@0.5.1
+ - @backstage/config@1.0.7
+ - @backstage/errors@1.1.5
+ - @backstage/types@1.0.2
+ - @backstage/plugin-search-common@1.2.3
+
+## 1.3.0-next.2
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.18.4-next.2
+ - @backstage/plugin-permission-node@0.7.7-next.2
+ - @backstage/backend-plugin-api@0.5.1-next.2
+ - @backstage/config@1.0.7
+ - @backstage/errors@1.1.5
+ - @backstage/types@1.0.2
+ - @backstage/plugin-auth-node@0.2.13-next.2
+ - @backstage/plugin-permission-common@0.7.5-next.0
+ - @backstage/plugin-search-backend-node@1.2.0-next.2
+ - @backstage/plugin-search-common@1.2.3-next.0
+
+## 1.3.0-next.1
+
+### Minor Changes
+
+- 1469daa409e: Exports search plugin that can be used with the new backend system. For documentation on how to migrate, check out the [how to migrate to the new backend system guide](https://backstage.io/docs/features/search/how-to-guides/#how-to-migrate-your-backend-installation-to-use-search-together-with-the-new-backend-system).
+
+### Patch Changes
+
+- 1e4f5e91b8e: Bump `zod` and `zod-to-json-schema` dependencies.
+- Updated dependencies
+ - @backstage/plugin-permission-node@0.7.7-next.1
+ - @backstage/plugin-permission-common@0.7.5-next.0
+ - @backstage/plugin-search-backend-node@1.2.0-next.1
+ - @backstage/backend-common@0.18.4-next.1
+ - @backstage/backend-plugin-api@0.5.1-next.1
+ - @backstage/config@1.0.7
+ - @backstage/errors@1.1.5
+ - @backstage/types@1.0.2
+ - @backstage/plugin-auth-node@0.2.13-next.1
+ - @backstage/plugin-search-common@1.2.3-next.0
+
+## 1.2.5-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.18.4-next.0
+ - @backstage/config@1.0.7
+ - @backstage/errors@1.1.5
+ - @backstage/types@1.0.2
+ - @backstage/plugin-auth-node@0.2.13-next.0
+ - @backstage/plugin-permission-common@0.7.4
+ - @backstage/plugin-permission-node@0.7.7-next.0
+ - @backstage/plugin-search-backend-node@1.1.5-next.0
+ - @backstage/plugin-search-common@1.2.2
+
+## 1.2.4
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-permission-node@0.7.6
+ - @backstage/plugin-auth-node@0.2.12
+ - @backstage/backend-common@0.18.3
+ - @backstage/errors@1.1.5
+ - @backstage/plugin-permission-common@0.7.4
+ - @backstage/config@1.0.7
+ - @backstage/types@1.0.2
+ - @backstage/plugin-search-backend-node@1.1.4
+ - @backstage/plugin-search-common@1.2.2
+
+## 1.2.4-next.2
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.2.12-next.2
+ - @backstage/backend-common@0.18.3-next.2
+ - @backstage/plugin-permission-node@0.7.6-next.2
+ - @backstage/plugin-search-backend-node@1.1.4-next.2
+ - @backstage/config@1.0.7-next.0
+
+## 1.2.4-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-permission-node@0.7.6-next.1
+ - @backstage/errors@1.1.5-next.0
+ - @backstage/backend-common@0.18.3-next.1
+ - @backstage/plugin-auth-node@0.2.12-next.1
+ - @backstage/plugin-permission-common@0.7.4-next.0
+ - @backstage/config@1.0.7-next.0
+ - @backstage/types@1.0.2
+ - @backstage/plugin-search-backend-node@1.1.4-next.1
+ - @backstage/plugin-search-common@1.2.2-next.0
+
+## 1.2.4-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.18.3-next.0
+ - @backstage/config@1.0.6
+ - @backstage/errors@1.1.4
+ - @backstage/types@1.0.2
+ - @backstage/plugin-auth-node@0.2.12-next.0
+ - @backstage/plugin-permission-common@0.7.3
+ - @backstage/plugin-permission-node@0.7.6-next.0
+ - @backstage/plugin-search-backend-node@1.1.4-next.0
+ - @backstage/plugin-search-common@1.2.1
+
+## 1.2.3
+
+### Patch Changes
+
+- 1b30c9a0f7: Change the router's response to include the error message instead of its object type in case it fails during a search query because the messages have more info.
+- Updated dependencies
+ - @backstage/backend-common@0.18.2
+ - @backstage/config@1.0.6
+ - @backstage/errors@1.1.4
+ - @backstage/types@1.0.2
+ - @backstage/plugin-auth-node@0.2.11
+ - @backstage/plugin-permission-common@0.7.3
+ - @backstage/plugin-permission-node@0.7.5
+ - @backstage/plugin-search-backend-node@1.1.3
+ - @backstage/plugin-search-common@1.2.1
+
+## 1.2.3-next.2
+
+### Patch Changes
+
+- 1b30c9a0f7: Change the router's response to include the error message instead of its object type in case it fails during a search query because the messages have more info.
+- Updated dependencies
+ - @backstage/backend-common@0.18.2-next.2
+ - @backstage/plugin-auth-node@0.2.11-next.2
+ - @backstage/plugin-permission-node@0.7.5-next.2
+ - @backstage/config@1.0.6
+ - @backstage/errors@1.1.4
+ - @backstage/types@1.0.2
+ - @backstage/plugin-permission-common@0.7.3
+ - @backstage/plugin-search-backend-node@1.1.3-next.2
+ - @backstage/plugin-search-common@1.2.1
+
+## 1.2.3-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.18.2-next.1
+ - @backstage/config@1.0.6
+ - @backstage/errors@1.1.4
+ - @backstage/types@1.0.2
+ - @backstage/plugin-auth-node@0.2.11-next.1
+ - @backstage/plugin-permission-common@0.7.3
+ - @backstage/plugin-permission-node@0.7.5-next.1
+ - @backstage/plugin-search-backend-node@1.1.3-next.1
+ - @backstage/plugin-search-common@1.2.1
+
+## 1.2.3-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.18.2-next.0
+ - @backstage/plugin-auth-node@0.2.11-next.0
+ - @backstage/plugin-permission-node@0.7.5-next.0
+ - @backstage/plugin-search-backend-node@1.1.3-next.0
+
+## 1.2.1
+
+### Patch Changes
+
+- bfd66b0478: Allow max page limit for search results to be configurable
+- Updated dependencies
+ - @backstage/backend-common@0.18.0
+ - @backstage/plugin-search-backend-node@1.1.1
+ - @backstage/config@1.0.6
+ - @backstage/errors@1.1.4
+ - @backstage/types@1.0.2
+ - @backstage/plugin-auth-node@0.2.9
+ - @backstage/plugin-permission-common@0.7.3
+ - @backstage/plugin-permission-node@0.7.3
+ - @backstage/plugin-search-common@1.2.1
+
+## 1.2.1-next.2
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.18.0-next.1
+ - @backstage/plugin-auth-node@0.2.9-next.1
+ - @backstage/plugin-permission-node@0.7.3-next.1
+ - @backstage/plugin-search-backend-node@1.1.1-next.2
+ - @backstage/config@1.0.6-next.0
+ - @backstage/errors@1.1.4
+ - @backstage/types@1.0.2
+ - @backstage/plugin-permission-common@0.7.3-next.0
+ - @backstage/plugin-search-common@1.2.1-next.0
+
+## 1.2.1-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.18.0-next.0
+ - @backstage/config@1.0.6-next.0
+ - @backstage/errors@1.1.4
+ - @backstage/types@1.0.2
+ - @backstage/plugin-auth-node@0.2.9-next.0
+ - @backstage/plugin-permission-common@0.7.3-next.0
+ - @backstage/plugin-permission-node@0.7.3-next.0
+ - @backstage/plugin-search-backend-node@1.1.1-next.1
+ - @backstage/plugin-search-common@1.2.1-next.0
+
+## 1.2.1-next.0
+
+### Patch Changes
+
+- bfd66b0478: Allow max page limit for search results to be configurable
+- Updated dependencies
+ - @backstage/plugin-search-backend-node@1.1.1-next.0
+ - @backstage/backend-common@0.17.0
+ - @backstage/config@1.0.5
+ - @backstage/errors@1.1.4
+ - @backstage/types@1.0.2
+ - @backstage/plugin-auth-node@0.2.8
+ - @backstage/plugin-permission-common@0.7.2
+ - @backstage/plugin-permission-node@0.7.2
+ - @backstage/plugin-search-common@1.2.0
+
+## 1.2.0
+
+### Minor Changes
+
+- 29ebc43a0b: numberOfResults is now provided alongside the query result
+
+### Patch Changes
+
+- b05dcd5530: Move the `zod` dependency to a version that does not collide with other libraries
+- Updated dependencies
+ - @backstage/plugin-search-backend-node@1.1.0
+ - @backstage/backend-common@0.17.0
+ - @backstage/plugin-permission-common@0.7.2
+ - @backstage/plugin-permission-node@0.7.2
+ - @backstage/errors@1.1.4
+ - @backstage/plugin-auth-node@0.2.8
+ - @backstage/types@1.0.2
+ - @backstage/plugin-search-common@1.2.0
+ - @backstage/config@1.0.5
+
+## 1.2.0-next.3
+
+### Patch Changes
+
+- b05dcd5530: Move the `zod` dependency to a version that does not collide with other libraries
+- Updated dependencies
+ - @backstage/plugin-permission-common@0.7.2-next.2
+ - @backstage/plugin-permission-node@0.7.2-next.3
+ - @backstage/backend-common@0.17.0-next.3
+ - @backstage/config@1.0.5-next.1
+ - @backstage/errors@1.1.4-next.1
+ - @backstage/types@1.0.2-next.1
+ - @backstage/plugin-auth-node@0.2.8-next.3
+ - @backstage/plugin-search-backend-node@1.1.0-next.3
+ - @backstage/plugin-search-common@1.2.0-next.3
+
+## 1.2.0-next.2
+
+### Minor Changes
+
+- 29ebc43a0b: numberOfResults is now provided alongside the query result
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-search-backend-node@1.1.0-next.2
+ - @backstage/backend-common@0.17.0-next.2
+ - @backstage/plugin-search-common@1.2.0-next.2
+ - @backstage/plugin-auth-node@0.2.8-next.2
+ - @backstage/plugin-permission-node@0.7.2-next.2
+ - @backstage/config@1.0.5-next.1
+ - @backstage/errors@1.1.4-next.1
+ - @backstage/types@1.0.2-next.1
+ - @backstage/plugin-permission-common@0.7.2-next.1
+
+## 1.1.2-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.17.0-next.1
+ - @backstage/plugin-search-backend-node@1.0.5-next.1
+ - @backstage/types@1.0.2-next.1
+ - @backstage/plugin-auth-node@0.2.8-next.1
+ - @backstage/plugin-permission-node@0.7.2-next.1
+ - @backstage/config@1.0.5-next.1
+ - @backstage/errors@1.1.4-next.1
+ - @backstage/plugin-permission-common@0.7.2-next.1
+ - @backstage/plugin-search-common@1.1.2-next.1
+
+## 1.1.2-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-search-backend-node@1.0.5-next.0
+ - @backstage/backend-common@0.16.1-next.0
+ - @backstage/plugin-auth-node@0.2.8-next.0
+ - @backstage/plugin-permission-common@0.7.2-next.0
+ - @backstage/plugin-permission-node@0.7.2-next.0
+ - @backstage/types@1.0.2-next.0
+ - @backstage/config@1.0.5-next.0
+ - @backstage/errors@1.1.4-next.0
+ - @backstage/plugin-search-common@1.1.2-next.0
+
+## 1.1.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.16.0
+ - @backstage/plugin-auth-node@0.2.7
+ - @backstage/plugin-permission-common@0.7.1
+ - @backstage/types@1.0.1
+ - @backstage/plugin-permission-node@0.7.1
+ - @backstage/plugin-search-backend-node@1.0.4
+ - @backstage/config@1.0.4
+ - @backstage/errors@1.1.3
+ - @backstage/plugin-search-common@1.1.1
+
+## 1.1.1-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.16.0-next.1
+ - @backstage/plugin-auth-node@0.2.7-next.1
+ - @backstage/plugin-permission-node@0.7.1-next.1
+ - @backstage/plugin-search-backend-node@1.0.4-next.1
+ - @backstage/config@1.0.4-next.0
+ - @backstage/errors@1.1.3-next.0
+ - @backstage/types@1.0.1-next.0
+ - @backstage/plugin-permission-common@0.7.1-next.0
+ - @backstage/plugin-search-common@1.1.1-next.0
+
+## 1.1.1-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.16.0-next.0
+ - @backstage/plugin-auth-node@0.2.7-next.0
+ - @backstage/plugin-permission-common@0.7.1-next.0
+ - @backstage/types@1.0.1-next.0
+ - @backstage/plugin-permission-node@0.7.1-next.0
+ - @backstage/plugin-search-backend-node@1.0.4-next.0
+ - @backstage/config@1.0.4-next.0
+ - @backstage/errors@1.1.3-next.0
+ - @backstage/plugin-search-common@1.1.1-next.0
+
+## 1.1.0
+
+### Minor Changes
+
+- 16c853a6ed: Be less restrictive with unknown keys on query endpoint
+- a799972bb1: The query received by search engines now contains a property called `pageLimit`, it specifies how many results to return per page when sending a query request to the search backend.
+
+ Example:
+ _Returns up to 30 results per page_
+
+ GET /query?pageLimit=30
+
+ The search backend validates the page limit and this value must not exceed 100, but it doesn't set a default value for the page limit parameter, it leaves it up to each search engine to set this, so Lunr, Postgres and Elastic Search set 25 results per page as a default value.
+
+### Patch Changes
+
+- 2d3a5f09ab: Use `response.json` rather than `response.send` where appropriate, as outlined in `SECURITY.md`
+- Updated dependencies
+ - @backstage/backend-common@0.15.2
+ - @backstage/plugin-auth-node@0.2.6
+ - @backstage/plugin-permission-node@0.7.0
+ - @backstage/plugin-permission-common@0.7.0
+ - @backstage/plugin-search-common@1.1.0
+ - @backstage/plugin-search-backend-node@1.0.3
+ - @backstage/config@1.0.3
+ - @backstage/errors@1.1.2
+ - @backstage/types@1.0.0
+
+## 1.1.0-next.2
+
+### Patch Changes
+
+- 2d3a5f09ab: Use `response.json` rather than `response.send` where appropriate, as outlined in `SECURITY.md`
+- Updated dependencies
+ - @backstage/backend-common@0.15.2-next.2
+ - @backstage/plugin-permission-common@0.7.0-next.2
+ - @backstage/plugin-permission-node@0.7.0-next.2
+ - @backstage/plugin-search-backend-node@1.0.3-next.2
+ - @backstage/plugin-auth-node@0.2.6-next.2
+ - @backstage/plugin-search-common@1.1.0-next.2
+ - @backstage/config@1.0.3-next.2
+ - @backstage/errors@1.1.2-next.2
+ - @backstage/types@1.0.0
+
+## 1.1.0-next.1
+
+### Minor Changes
+
+- 16c853a6ed: Be less restrictive with unknown keys on query endpoint
+- a799972bb1: The query received by search engines now contains a property called `pageLimit`, it specifies how many results to return per page when sending a query request to the search backend.
+
+ Example:
+ _Returns up to 30 results per page_
+
+ GET /query?pageLimit=30
+
+ The search backend validates the page limit and this value must not exceed 100, but it doesn't set a default value for the page limit parameter, it leaves it up to each search engine to set this, so Lunr, Postgres and Elastic Search set 25 results per page as a default value.
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.15.2-next.1
+ - @backstage/plugin-search-common@1.1.0-next.1
+ - @backstage/plugin-search-backend-node@1.0.3-next.1
+ - @backstage/config@1.0.3-next.1
+ - @backstage/errors@1.1.2-next.1
+ - @backstage/types@1.0.0
+ - @backstage/plugin-auth-node@0.2.6-next.1
+ - @backstage/plugin-permission-common@0.6.5-next.1
+ - @backstage/plugin-permission-node@0.6.6-next.1
+
+## 1.0.3-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.15.2-next.0
+ - @backstage/plugin-auth-node@0.2.6-next.0
+ - @backstage/plugin-permission-node@0.6.6-next.0
+ - @backstage/config@1.0.3-next.0
+ - @backstage/errors@1.1.2-next.0
+ - @backstage/types@1.0.0
+ - @backstage/plugin-permission-common@0.6.5-next.0
+ - @backstage/plugin-search-backend-node@1.0.3-next.0
+ - @backstage/plugin-search-common@1.0.2-next.0
+
+## 1.0.2
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.15.1
+ - @backstage/plugin-auth-node@0.2.5
+ - @backstage/plugin-permission-node@0.6.5
+ - @backstage/plugin-search-backend-node@1.0.2
+ - @backstage/config@1.0.2
+ - @backstage/errors@1.1.1
+ - @backstage/plugin-permission-common@0.6.4
+ - @backstage/plugin-search-common@1.0.1
+
+## 1.0.2-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/config@1.0.2-next.0
+ - @backstage/errors@1.1.1-next.0
+ - @backstage/plugin-permission-common@0.6.4-next.2
+ - @backstage/backend-common@0.15.1-next.3
+ - @backstage/plugin-auth-node@0.2.5-next.3
+ - @backstage/plugin-permission-node@0.6.5-next.3
+ - @backstage/plugin-search-backend-node@1.0.2-next.2
+
+## 1.0.2-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.15.1-next.0
+ - @backstage/plugin-search-backend-node@1.0.2-next.0
+ - @backstage/plugin-auth-node@0.2.5-next.0
+ - @backstage/plugin-permission-common@0.6.4-next.0
+ - @backstage/plugin-permission-node@0.6.5-next.0
+ - @backstage/plugin-search-common@1.0.1-next.0
+
+## 1.0.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.15.0
+ - @backstage/plugin-auth-node@0.2.4
+ - @backstage/plugin-permission-node@0.6.4
+ - @backstage/plugin-search-backend-node@1.0.1
+
+## 1.0.1-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.15.0-next.0
+ - @backstage/plugin-auth-node@0.2.4-next.0
+ - @backstage/plugin-permission-node@0.6.4-next.0
+ - @backstage/plugin-search-backend-node@1.0.1-next.0
+
+## 1.0.0
+
+### Major Changes
+
+- 7bd7d336b2: This package has been promoted to 1.0. Read more about what it means in [New release: Backstage Search 1.0 blog](https://backstage.io/blog/2022/07/19/releasing-backstage-search-1.0)
+
+### Patch Changes
+
+- a21cd43467: If error is `MissingIndexError` we return a 400 response with a more clear error message.
+- Updated dependencies
+ - @backstage/backend-common@0.14.1
+ - @backstage/plugin-search-backend-node@1.0.0
+ - @backstage/plugin-search-common@1.0.0
+ - @backstage/plugin-auth-node@0.2.3
+ - @backstage/plugin-permission-common@0.6.3
+ - @backstage/plugin-permission-node@0.6.3
+ - @backstage/errors@1.1.0
+
+## 0.5.4-next.2
+
+### Patch Changes
+
+- a21cd43467: If error is `MissingIndexError` we return a 400 response with a more clear error message.
+- Updated dependencies
+ - @backstage/backend-common@0.14.1-next.3
+ - @backstage/plugin-auth-node@0.2.3-next.2
+ - @backstage/plugin-permission-common@0.6.3-next.1
+ - @backstage/plugin-permission-node@0.6.3-next.2
+ - @backstage/plugin-search-backend-node@0.6.3-next.2
+
+## 0.5.4-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.14.1-next.1
+ - @backstage/errors@1.1.0-next.0
+ - @backstage/plugin-auth-node@0.2.3-next.1
+ - @backstage/plugin-permission-common@0.6.3-next.0
+ - @backstage/plugin-permission-node@0.6.3-next.1
+ - @backstage/plugin-search-backend-node@0.6.3-next.1
+ - @backstage/plugin-search-common@0.3.6-next.0
+
+## 0.5.4-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.14.1-next.0
+ - @backstage/plugin-auth-node@0.2.3-next.0
+ - @backstage/plugin-permission-node@0.6.3-next.0
+ - @backstage/plugin-search-backend-node@0.6.3-next.0
+
+## 0.5.3
+
+### Patch Changes
+
+- 7d8acfc32e: `RouterOptions` and `createRouter` now marked as public exports
+- 915700f64f: The provided search engine now adds a pagination-aware `rank` value to all results.
+- Updated dependencies
+ - @backstage/plugin-search-common@0.3.5
+ - @backstage/plugin-permission-node@0.6.2
+ - @backstage/backend-common@0.14.0
+ - @backstage/plugin-auth-node@0.2.2
+ - @backstage/plugin-search-backend-node@0.6.2
+ - @backstage/plugin-permission-common@0.6.2
+
+## 0.5.3-next.2
+
+### Patch Changes
+
+- 7d8acfc32e: `RouterOptions` and `createRouter` now marked as public exports
+- Updated dependencies
+ - @backstage/plugin-search-common@0.3.5-next.1
+ - @backstage/backend-common@0.14.0-next.2
+ - @backstage/plugin-search-backend-node@0.6.2-next.2
+ - @backstage/plugin-auth-node@0.2.2-next.2
+ - @backstage/plugin-permission-node@0.6.2-next.2
+
+## 0.5.3-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.13.6-next.1
+ - @backstage/plugin-auth-node@0.2.2-next.1
+ - @backstage/plugin-permission-common@0.6.2-next.0
+ - @backstage/plugin-permission-node@0.6.2-next.1
+ - @backstage/plugin-search-backend-node@0.6.2-next.1
+ - @backstage/plugin-search-common@0.3.5-next.0
+
+## 0.5.3-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.13.6-next.0
+ - @backstage/plugin-search-backend-node@0.6.2-next.0
+ - @backstage/plugin-auth-node@0.2.2-next.0
+ - @backstage/plugin-permission-node@0.6.2-next.0
+
+## 0.5.2
+
+### Patch Changes
+
+- 8cc75993a6: Fixed issue in `PermissionEvaluator` instance check that would cause unexpected "invalid union" errors.
+- Updated dependencies
+ - @backstage/backend-common@0.13.3
+ - @backstage/config@1.0.1
+ - @backstage/plugin-search-backend-node@0.6.1
+ - @backstage/plugin-auth-node@0.2.1
+ - @backstage/plugin-search-common@0.3.4
+ - @backstage/plugin-permission-common@0.6.1
+ - @backstage/plugin-permission-node@0.6.1
+
+## 0.5.2-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.13.3-next.2
+ - @backstage/config@1.0.1-next.0
+ - @backstage/plugin-search-backend-node@0.6.1-next.1
+ - @backstage/plugin-search-common@0.3.4-next.0
+ - @backstage/plugin-auth-node@0.2.1-next.1
+ - @backstage/plugin-permission-common@0.6.1-next.0
+ - @backstage/plugin-permission-node@0.6.1-next.1
+
+## 0.5.2-next.0
+
+### Patch Changes
+
+- 8cc75993a6: Fixed issue in `PermissionEvaluator` instance check that would cause unexpected "invalid union" errors.
+- Updated dependencies
+ - @backstage/backend-common@0.13.3-next.0
+ - @backstage/plugin-auth-node@0.2.1-next.0
+ - @backstage/plugin-permission-node@0.6.1-next.0
+ - @backstage/plugin-search-backend-node@0.6.1-next.0
+
+## 0.5.0
+
+### Minor Changes
+
+- 94ccd772d4: **BREAKING**: The `authorization` property is no longer returned on search results when queried. Note: this will only result in a breaking change if you have custom code in your frontend that relies on the `authorization.resourceRef` property on documents.
+
+### Patch Changes
+
+- 30f9884359: Check for non-resource permissions when authorizing result-by-result in AuthorizedSearchEngine.
+- 3c8cfaaa80: Use `PermissionEvaluator` instead of `PermissionAuthorizer`, which is now deprecated.
+- 62ee65422c: Use new `IndexableResultSet` type as return type of query method in `SearchEngine` implementation.
+- c98d271466: Use updated types from `@backstage/plugin-permission-common`
+- Updated dependencies
+ - @backstage/plugin-permission-common@0.6.0
+ - @backstage/plugin-permission-node@0.6.0
+ - @backstage/plugin-auth-node@0.2.0
+ - @backstage/plugin-search-common@0.3.3
+ - @backstage/backend-common@0.13.2
+ - @backstage/plugin-search-backend-node@0.6.0
+
+## 0.5.0-next.2
+
+### Patch Changes
+
+- 3c8cfaaa80: Use `PermissionEvaluator` instead of `PermissionAuthorizer`, which is now deprecated.
+- Updated dependencies
+ - @backstage/plugin-permission-common@0.6.0-next.1
+ - @backstage/plugin-permission-node@0.6.0-next.2
+ - @backstage/backend-common@0.13.2-next.2
+ - @backstage/plugin-search-backend-node@0.6.0-next.1
+
+## 0.5.0-next.1
+
+### Patch Changes
+
+- 30f9884359: Check for non-resource permissions when authorizing result-by-result in AuthorizedSearchEngine.
+- c98d271466: Use updated types from `@backstage/plugin-permission-common`
+- Updated dependencies
+ - @backstage/plugin-permission-common@0.6.0-next.0
+ - @backstage/plugin-permission-node@0.6.0-next.1
+ - @backstage/backend-common@0.13.2-next.1
+ - @backstage/plugin-search-common@0.3.3-next.1
+
+## 0.5.0-next.0
+
+### Minor Changes
+
+- 94ccd772d4: **BREAKING**: The `authorization` property is no longer returned on search results when queried. Note: this will only result in a breaking change if you have custom code in your frontend that relies on the `authorization.resourceRef` property on documents.
+
+### Patch Changes
+
+- 62ee65422c: Use new `IndexableResultSet` type as return type of query method in `SearchEngine` implementation.
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.2.0-next.0
+ - @backstage/plugin-search-common@0.3.3-next.0
+ - @backstage/plugin-search-backend-node@0.5.3-next.0
+ - @backstage/backend-common@0.13.2-next.0
+ - @backstage/plugin-permission-node@0.5.6-next.0
+
+## 0.4.8
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.13.1
+ - @backstage/config@1.0.0
+ - @backstage/errors@1.0.0
+ - @backstage/types@1.0.0
+ - @backstage/plugin-permission-common@0.5.3
+ - @backstage/plugin-search-backend-node@0.5.2
+ - @backstage/plugin-auth-node@0.1.6
+ - @backstage/plugin-permission-node@0.5.5
+ - @backstage/plugin-search-common@0.3.2
+
+## 0.4.7
+
+### Patch Changes
+
+- 3e54f6c436: Use `@backstage/plugin-search-common` package instead of `@backstage/search-common`.
+- Updated dependencies
+ - @backstage/backend-common@0.13.0
+ - @backstage/plugin-search-common@0.3.1
+ - @backstage/plugin-search-backend-node@0.5.1
+ - @backstage/plugin-auth-node@0.1.5
+ - @backstage/plugin-permission-node@0.5.4
+
+## 0.4.7-next.0
+
+### Patch Changes
+
+- 3e54f6c436: Use `@backstage/plugin-search-common` package instead of `@backstage/search-common`.
+- Updated dependencies
+ - @backstage/backend-common@0.13.0-next.0
+ - @backstage/plugin-search-common@0.3.1-next.0
+ - @backstage/plugin-search-backend-node@0.5.1-next.0
+ - @backstage/plugin-auth-node@0.1.5-next.0
+ - @backstage/plugin-permission-node@0.5.4-next.0
+
+## 0.4.6
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.12.0
+ - @backstage/plugin-permission-common@0.5.2
+ - @backstage/plugin-permission-node@0.5.3
+ - @backstage/plugin-search-backend-node@0.5.0
+ - @backstage/search-common@0.3.0
+ - @backstage/plugin-auth-node@0.1.4
+
+## 0.4.5
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.11.0
+ - @backstage/plugin-permission-node@0.5.2
+ - @backstage/plugin-auth-node@0.1.3
+
+## 0.4.4
+
+### Patch Changes
+
+- Fix for the previous release with missing type declarations.
+- Updated dependencies
+ - @backstage/backend-common@0.10.9
+ - @backstage/config@0.1.15
+ - @backstage/errors@0.2.2
+ - @backstage/search-common@0.2.4
+ - @backstage/types@0.1.3
+ - @backstage/plugin-auth-node@0.1.2
+ - @backstage/plugin-permission-common@0.5.1
+ - @backstage/plugin-permission-node@0.5.1
+ - @backstage/plugin-search-backend-node@0.4.7
+
+## 0.4.3
+
+### Patch Changes
+
+- c77c5c7eb6: Added `backstage.role` to `package.json`
+- Updated dependencies
+ - @backstage/backend-common@0.10.8
+ - @backstage/errors@0.2.1
+ - @backstage/plugin-auth-node@0.1.1
+ - @backstage/plugin-permission-common@0.5.0
+ - @backstage/config@0.1.14
+ - @backstage/search-common@0.2.3
+ - @backstage/types@0.1.2
+ - @backstage/plugin-permission-node@0.5.0
+ - @backstage/plugin-search-backend-node@0.4.6
+
+## 0.4.2
+
+### Patch Changes
+
+- b3f3e42036: Use `getBearerTokenFromAuthorizationHeader` from `@backstage/plugin-auth-node` instead of the deprecated `IdentityClient` method.
+- Updated dependencies
+ - @backstage/backend-common@0.10.7
+ - @backstage/plugin-auth-node@0.1.0
+ - @backstage/plugin-permission-node@0.4.3
+
+## 0.4.2-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-backend@0.10.0-next.0
+ - @backstage/backend-common@0.10.7-next.0
+ - @backstage/plugin-permission-node@0.4.3-next.0
+
+## 0.4.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-backend@0.9.0
+ - @backstage/backend-common@0.10.6
+ - @backstage/plugin-permission-node@0.4.2
+
+## 0.4.1-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-backend@0.9.0-next.1
+ - @backstage/backend-common@0.10.6-next.0
+ - @backstage/plugin-permission-node@0.4.2-next.1
+
+## 0.4.1-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-backend@0.9.0-next.0
+ - @backstage/plugin-permission-node@0.4.2-next.0
+
+## 0.4.0
+
+### Minor Changes
+
+- bbfbc755aa: **BREAKING** Added three additional required properties to `createRouter` to support filtering search results based on permissions. To make this change to an existing app, add the required parameters to the `createRouter` call in `packages/backend/src/plugins/search.ts`:
+
+ ```diff
+ export default async function createPlugin({
+ logger,
+ + permissions,
+ discovery,
+ config,
+ tokenManager,
+ }: PluginEnvironment) {
+ /* ... */
+
+ return await createRouter({
+ engine: indexBuilder.getSearchEngine(),
+ + types: indexBuilder.getDocumentTypes(),
+ + permissions,
+ + config,
+ logger,
+ });
+ }
+ ```
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-search-backend-node@0.4.5
+ - @backstage/plugin-auth-backend@0.8.0
+ - @backstage/search-common@0.2.2
+ - @backstage/backend-common@0.10.5
+ - @backstage/plugin-permission-node@0.4.1
+
+## 0.3.1
+
+### Patch Changes
+
+- cd6854046e: Validate query string in search endpoint
+- Updated dependencies
+ - @backstage/backend-common@0.10.4
+ - @backstage/config@0.1.13
+
+## 0.3.1-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.10.4-next.0
+
+## 0.3.0
+
+### Minor Changes
+
+- a41fbfe739: Search result location filtering
+
+ This change introduces a filter for search results based on their location protocol. The intention is to filter out unsafe or
+ malicious values before they can be consumed by the frontend. By default locations must be http/https URLs (or paths).
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.10.0
+
+## 0.2.8
+
+### Patch Changes
+
+- dcd1a0c3f4: Minor improvement to the API reports, by not unpacking arguments directly
+- Updated dependencies
+ - @backstage/backend-common@0.9.13
+
+## 0.2.7
+
+### Patch Changes
+
+- bab752e2b3: Change default port of backend from 7000 to 7007.
+
+ This is due to the AirPlay Receiver process occupying port 7000 and preventing local Backstage instances on MacOS to start.
+
+ You can change the port back to 7000 or any other value by providing an `app-config.yaml` with the following values:
+
+ backend:
+ listen: 0.0.0.0:7123
+ baseUrl: http://localhost:7123
+
+ More information can be found here:
+
+- Updated dependencies
+ - @backstage/backend-common@0.9.11
+
+## 0.2.6
+
+### Patch Changes
+
+- a13f21cdc: Implement optional `pageCursor` based paging in search.
+
+ To use paging in your app, add a ` ` to your
+ `SearchPage.tsx`.
+
+- Updated dependencies
+ - @backstage/search-common@0.2.0
+ - @backstage/plugin-search-backend-node@0.4.2
+ - @backstage/backend-common@0.9.1
+
+## 0.2.5
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.9.0
+
+## 0.2.4
+
+### Patch Changes
+
+- 64baedea5: Improve search query logging message
+- Updated dependencies
+ - @backstage/backend-common@0.8.10
+
+## 0.2.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.8.6
+ - @backstage/plugin-search-backend-node@0.4.0
+
+## 0.2.2
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.8.5
+ - @backstage/plugin-search-backend-node@0.3.0
+
+## 0.2.1
+
+### Patch Changes
+
+- 3108ff7bf: Make `yarn dev` respect the `PLUGIN_PORT` environment variable.
+- Updated dependencies
+ - @backstage/plugin-search-backend-node@0.2.1
+ - @backstage/backend-common@0.8.3
+
+## 0.2.0
+
+### Minor Changes
+
+- 5aff84759: This release represents a move out of a pre-alpha phase of the Backstage Search
+ plugin, into an alpha phase. With this release, you gain more control over the
+ layout of your search page on the frontend, as well as the ability to extend
+ search on the backend to encompass everything Backstage users may want to find.
+
+ If you are updating to version `v0.4.0` of `@backstage/plugin-search` from a
+ prior release, you will need to make modifications to your app backend.
+
+ First, navigate to your backend package and install the two related search
+ backend packages:
+
+ ```sh
+ cd packages/backend
+ yarn add @backstage/plugin-search-backend @backstage/plugin-search-backend-node
+ ```
+
+ Wire up these new packages into your app backend by first creating a new
+ `search.ts` file at `src/plugins/search.ts` with contents like the following:
+
+ ```typescript
+ import { useHotCleanup } from '@backstage/backend-common';
+ import { createRouter } from '@backstage/plugin-search-backend';
+ import {
+ IndexBuilder,
+ LunrSearchEngine,
+ } from '@backstage/plugin-search-backend-node';
+ import { PluginEnvironment } from '../types';
+ import { DefaultCatalogCollator } from '@backstage/plugin-catalog-backend';
+
+ export default async function createPlugin({
+ logger,
+ discovery,
+ }: PluginEnvironment) {
+ // Initialize a connection to a search engine.
+ const searchEngine = new LunrSearchEngine({ logger });
+ const indexBuilder = new IndexBuilder({ logger, searchEngine });
+
+ // Collators are responsible for gathering documents known to plugins. This
+ // particular collator gathers entities from the software catalog.
+ indexBuilder.addCollator({
+ defaultRefreshIntervalSeconds: 600,
+ collator: new DefaultCatalogCollator({ discovery }),
+ });
+
+ // The scheduler controls when documents are gathered from collators and sent
+ // to the search engine for indexing.
+ const { scheduler } = await indexBuilder.build();
+
+ // A 3 second delay gives the backend server a chance to initialize before
+ // any collators are executed, which may attempt requests against the API.
+ setTimeout(() => scheduler.start(), 3000);
+ useHotCleanup(module, () => scheduler.stop());
+
+ return await createRouter({
+ engine: indexBuilder.getSearchEngine(),
+ logger,
+ });
+ }
+ ```
+
+ Then, ensure the search plugin you configured above is initialized by modifying
+ your backend's `index.ts` file in the following ways:
+
+ ```diff
+ +import search from './plugins/search';
+ // ...
+ +const searchEnv = useHotMemoize(module, () => createEnv('search'));
+ // ...
+ +apiRouter.use('/search', await search(searchEnv));
+ // ...
+ ```
+
+### Patch Changes
+
+- Updated dependencies [92963779b]
+- Updated dependencies [db1c8f93b]
+- Updated dependencies [5aff84759]
+- Updated dependencies [eda9dbd5f]
+ - @backstage/backend-common@0.8.2
+ - @backstage/search-common@0.1.2
+ - @backstage/plugin-search-backend-node@0.2.0
+
+## 0.1.5
+
+### Patch Changes
+
+- Updated dependencies [22fd8ce2a]
+- Updated dependencies [f9fb4a205]
+ - @backstage/backend-common@0.8.0
+
+## 0.1.4
+
+### Patch Changes
+
+- Updated dependencies [e0bfd3d44]
+- Updated dependencies [38ca05168]
+ - @backstage/backend-common@0.7.0
+
+## 0.1.3
+
+### Patch Changes
+
+- b9b2b4b76: Lunr Search Engine support
+- Updated dependencies [b9b2b4b76]
+- Updated dependencies [d367f63b5]
+- Updated dependencies [b42531cfe]
+ - @backstage/plugin-search-backend-node@0.1.3
+ - @backstage/backend-common@0.6.3
+
+## 0.1.2
+
+### Patch Changes
+
+- 4d248725e: Bump to use the in-repo latest `backend-common`, and the correct version of `express-promise-router`
+
+## @backstage/backend-plugin-api@1.7.0-next.1
+
+### Minor Changes
+
+- bb9b471: Plugin IDs that do not match the standard format are deprecated (letters, digits, and dashes only, starting with a letter). Plugin IDs that do no match this format will be rejected in a future release.
+
+ In addition, plugin IDs that don't match the legacy pattern that also allows underscores, with be rejected.
+
+## @backstage/frontend-app-api@0.15.0-next.1
+
+### Minor Changes
+
+- 55b2ef6: **BREAKING**: Updated the behavior of the new API override logic to reject the override and block app startup instead of just logging a deprecation warning.
+
+### Patch Changes
+
+- 09032d7: Internal update to simplify testing utility implementations.
+- Updated dependencies
+ - @backstage/frontend-defaults@0.4.0-next.1
+ - @backstage/frontend-plugin-api@0.14.0-next.1
+
+## @backstage/frontend-defaults@0.4.0-next.1
+
+### Minor Changes
+
+- 55b2ef6: **BREAKING**: The `API_FACTORY_CONFLICT` warning is now treated as an error and will prevent the app from starting.
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/frontend-app-api@0.15.0-next.1
+ - @backstage/frontend-plugin-api@0.14.0-next.1
+ - @backstage/plugin-app@0.4.0-next.1
+ - @backstage/core-components@0.18.7-next.1
+
+## @backstage/frontend-plugin-api@0.14.0-next.1
+
+### Minor Changes
+
+- bb9b471: Plugin IDs that do not match the standard format are deprecated (letters, digits, and dashes only, starting with a letter). Plugin IDs that do no match this format will be rejected in a future release.
+- 10ebed4: **BREAKING**: Removed type support for multiple attachment points in the `ExtensionDefinitionAttachTo` type. Extensions can no longer specify an array of attachment points in the `attachTo` property.
+
+ The runtime still supports multiple attachment points for backward compatibility with existing compiled code, but new code will receive type errors if attempting to use this pattern.
+
+ Extensions that previously used multiple attachment points should migrate to using a Utility API pattern instead. See the [Sharing Extensions Across Multiple Locations](https://backstage.io/docs/frontend-system/architecture/27-sharing-extensions) guide for the recommended approach.
+
+## @backstage/integration@1.20.0-next.1
+
+### Minor Changes
+
+- 6999f6d: The AzureUrl class in the @backstage/integration package is now able to process BOTH git branches and git tags. Initially this class only processed git branches and threw an error when non-branch Azure URLs were passed in.
+
+## @backstage/ui@0.12.0-next.1
+
+### Minor Changes
+
+- 058ffd9: **BREAKING**: Removed `large` size variant from Button component as it was never implemented.
+
+ **Migration:**
+
+ ```diff
+ - Click me
+ + Click me
+ ```
+
+ **Affected components:** Button
+
+- 110fec0: **BREAKING**: Removed link and tint color tokens, added new status foreground tokens, and improved Link component styling
+
+ The following color tokens have been removed:
+
+ - `--bui-fg-link` (and all related tokens: `-hover`, `-pressed`, `-disabled`)
+ - `--bui-fg-tint` (and all related tokens: `-hover`, `-pressed`, `-disabled`)
+ - `--bui-bg-tint` (and all related tokens: `-hover`, `-pressed`, `-disabled`)
+ - `--bui-border-tint` (and all related tokens)
+
+ **New Status Tokens:**
+
+ Added dedicated tokens for status colors that distinguish between usage on status backgrounds vs. standalone usage:
+
+ - `--bui-fg-danger-on-bg` / `--bui-fg-danger`
+ - `--bui-fg-warning-on-bg` / `--bui-fg-warning`
+ - `--bui-fg-success-on-bg` / `--bui-fg-success`
+ - `--bui-fg-info-on-bg` / `--bui-fg-info`
+
+ The `-on-bg` variants are designed for text on colored backgrounds, while the base variants are for standalone status indicators with improved visibility and contrast.
+
+ **Migration:**
+
+ For link colors, migrate to one of the following alternatives:
+
+ ```diff
+ .custom-link {
+ - color: var(--bui-fg-link);
+ + color: var(--bui-fg-info); /* For informational links */
+ + /* or */
+ + color: var(--bui-fg-primary); /* For standard text links */
+ }
+ ```
+
+ For tint colors (backgrounds, foregrounds, borders), migrate to appropriate status or neutral colors:
+
+ ```diff
+ .info-section {
+ - background: var(--bui-bg-tint);
+ + background: var(--bui-bg-info); /* For informational sections */
+ + /* or */
+ + background: var(--bui-bg-neutral-on-surface-0); /* For neutral emphasis */
+ }
+ ```
+
+ If you're using status foreground colors on colored backgrounds, update to the new `-on-bg` tokens:
+
+ ```diff
+ .error-badge {
+ - color: var(--bui-fg-danger);
+ + color: var(--bui-fg-danger-on-bg);
+ background: var(--bui-bg-danger);
+ }
+ ```
+
+ **Affected components:** Link
+
+### Patch Changes
+
+- 4d1b7f4: Fixed CSS Module syntax to comply with Next.js 16 Turbopack validation by flattening nested dark theme selectors.
+
+ **Affected components:** Popover, Tooltip
+
+- 2c219b9: Added `destructive` prop to Button for dangerous actions like delete or remove. Works with all variants (primary, secondary, tertiary).
+
+ **Affected components:** Button
+
+- 5af9e14: Fixed `useDefinition` hook adding literal "undefined" class name when no className prop was passed.
+
+- 74c5a76: Fixed Switch component disabled state styling to show `not-allowed` cursor and disabled text color.
+
+ **Affected components:** Switch
+
+## @backstage/plugin-auth-backend-module-atlassian-provider@0.4.12-next.0
+
+# @backstage/plugin-auth-backend-module-atlassian-provider
+
+## 0.4.11-next.0
+
+### Patch Changes
+
+- 69d880e: Bump to latest zod to ensure it has the latest features
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.7.0-next.0
+ - @backstage/plugin-auth-node@0.6.12-next.0
+
+## 0.4.10
+
+### Patch Changes
+
+- de96a60: chore(deps): bump `express` from 4.21.2 to 4.22.0
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.10
+ - @backstage/backend-plugin-api@1.6.0
+
+## 0.4.10-next.1
+
+### Patch Changes
+
+- de96a60: chore(deps): bump `express` from 4.21.2 to 4.22.0
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.10-next.1
+ - @backstage/backend-plugin-api@1.6.0-next.1
+
+## 0.4.10-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.10-next.0
+ - @backstage/backend-plugin-api@1.5.1-next.0
+
+## 0.4.9
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.5.0
+ - @backstage/plugin-auth-node@0.6.9
+
+## 0.4.9-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.5.0-next.1
+ - @backstage/plugin-auth-node@0.6.9-next.1
+
+## 0.4.9-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.9-next.0
+ - @backstage/backend-plugin-api@1.4.5-next.0
+
+## 0.4.8
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.4.4
+ - @backstage/plugin-auth-node@0.6.8
+
+## 0.4.8-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.4.4-next.0
+ - @backstage/plugin-auth-node@0.6.8-next.0
+
+## 0.4.7
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.7
+ - @backstage/backend-plugin-api@1.4.3
+
+## 0.4.7-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.7-next.0
+ - @backstage/backend-plugin-api@1.4.3-next.0
+
+## 0.4.6
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.6
+ - @backstage/backend-plugin-api@1.4.2
+
+## 0.4.6-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.6-next.0
+ - @backstage/backend-plugin-api@1.4.2-next.0
+
+## 0.4.5
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.4.1
+ - @backstage/plugin-auth-node@0.6.5
+
+## 0.4.5-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.4.1-next.0
+ - @backstage/plugin-auth-node@0.6.5-next.0
+
+## 0.4.4
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.4
+ - @backstage/backend-plugin-api@1.4.0
+
+## 0.4.4-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.4-next.1
+ - @backstage/backend-plugin-api@1.4.0-next.1
+
+## 0.4.4-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.4.0-next.0
+ - @backstage/plugin-auth-node@0.6.4-next.0
+
+## 0.4.3
+
+### Patch Changes
+
+- 5cc1f7f: Introduce `dangerouslyAllowSignInWithoutUserInCatalog` auth resolver config.
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.3
+ - @backstage/backend-plugin-api@1.3.1
+
+## 0.4.3-next.2
+
+### Patch Changes
+
+- 5cc1f7f: Introduce `dangerouslyAllowSignInWithoutUserInCatalog` auth resolver config.
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.3-next.2
+ - @backstage/backend-plugin-api@1.3.1-next.2
+
+## 0.4.3-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.3-next.1
+ - @backstage/backend-plugin-api@1.3.1-next.1
+
+## 0.4.3-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.3.1-next.0
+ - @backstage/plugin-auth-node@0.6.3-next.0
+
+## 0.4.2
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.3.0
+ - @backstage/plugin-auth-node@0.6.2
+
+## 0.4.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.1
+ - @backstage/backend-plugin-api@1.2.1
+
+## 0.4.1-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.1-next.1
+ - @backstage/backend-plugin-api@1.2.1-next.1
+
+## 0.4.1-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.1-next.0
+ - @backstage/backend-plugin-api@1.2.1-next.0
+
+## 0.4.0
+
+### Minor Changes
+
+- 61f464e: Added `auth.providers..sessionDuration` config for auth providers to allow the lifespan of user sessions to be configured.
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.2.0
+ - @backstage/plugin-auth-node@0.6.0
+
+## 0.4.0-next.2
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.2.0-next.2
+ - @backstage/plugin-auth-node@0.6.0-next.2
+
+## 0.4.0-next.1
+
+### Minor Changes
+
+- 61f464e: Added `auth.providers..sessionDuration` config for auth providers to allow the lifespan of user sessions to be configured.
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.2.0-next.1
+ - @backstage/plugin-auth-node@0.6.0-next.1
+
+## 0.3.5-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.2.0-next.0
+ - @backstage/plugin-auth-node@0.5.7-next.0
+
+## 0.3.4
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.5.6
+ - @backstage/backend-plugin-api@1.1.1
+
+## 0.3.4-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.1.1-next.1
+ - @backstage/plugin-auth-node@0.5.6-next.1
+
+## 0.3.4-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.5.6-next.0
+ - @backstage/backend-plugin-api@1.1.1-next.0
+
+## 0.3.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.5.5
+ - @backstage/backend-plugin-api@1.1.0
+
+## 0.3.3-next.2
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.1.0-next.2
+ - @backstage/plugin-auth-node@0.5.5-next.2
+
+## 0.3.3-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.5.5-next.1
+ - @backstage/backend-plugin-api@1.1.0-next.1
+
+## 0.3.3-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.0.3-next.0
+ - @backstage/plugin-auth-node@0.5.5-next.0
+
+## 0.3.2
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.5.4
+ - @backstage/backend-plugin-api@1.0.2
+
+## 0.3.2-next.2
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.5.4-next.2
+ - @backstage/backend-plugin-api@1.0.2-next.2
+
+## 0.3.2-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.0.2-next.1
+ - @backstage/plugin-auth-node@0.5.4-next.1
+
+## 0.3.2-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.5.4-next.0
+ - @backstage/backend-plugin-api@1.0.2-next.0
+
+## 0.3.1
+
+### Patch Changes
+
+- 217458a: Updated configuration schema to include the new `allowedDomains` option for the `emailLocalPartMatchingUserEntityName` sign-in resolver.
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.5.3
+ - @backstage/backend-plugin-api@1.0.1
+
+## 0.3.1-next.1
+
+### Patch Changes
+
+- 217458a: Updated configuration schema to include the new `allowedDomains` option for the `emailLocalPartMatchingUserEntityName` sign-in resolver.
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.5.3-next.1
+ - @backstage/backend-plugin-api@1.0.1-next.1
+
+## 0.3.1-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.5.3-next.0
+ - @backstage/backend-plugin-api@1.0.1-next.0
+
+## 0.3.0
+
+### Minor Changes
+
+- d425fc4: **BREAKING**: The return values from `createBackendPlugin`, `createBackendModule`, and `createServiceFactory` are now simply `BackendFeature` and `ServiceFactory`, instead of the previously deprecated form of a function that returns them. For this reason, `createServiceFactory` also no longer accepts the callback form where you provide direct options to the service. This also affects all `coreServices.*` service refs.
+
+ This may in particular affect tests; if you were effectively doing `createBackendModule({...})()` (note the parentheses), you can now remove those extra parentheses at the end. You may encounter cases of this in your `packages/backend/src/index.ts` too, where you add plugins, modules, and services. If you were using `createServiceFactory` with a function as its argument for the purpose of passing in options, this pattern has been deprecated for a while and is no longer supported. You may want to explore the new multiton patterns to achieve your goals, or moving settings to app-config.
+
+ As part of this change, the `IdentityFactoryOptions` type was removed, and can no longer be used to tweak that service. The identity service was also deprecated some time ago, and you will want to [migrate to the new auth system](https://backstage.io/docs/tutorials/auth-service-migration) if you still rely on it.
+
+### Patch Changes
+
+- c2b63ab: Updated dependency `supertest` to `^7.0.0`.
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.0.0
+ - @backstage/plugin-auth-node@0.5.2
+
+## 0.3.0-next.2
+
+### Patch Changes
+
+- c2b63ab: Updated dependency `supertest` to `^7.0.0`.
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.5.2-next.2
+ - @backstage/backend-plugin-api@1.0.0-next.2
+
+## 0.3.0-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.5.2-next.1
+ - @backstage/backend-plugin-api@0.9.0-next.1
+
+## 0.3.0-next.0
+
+### Minor Changes
+
+- d425fc4: **BREAKING**: The return values from `createBackendPlugin`, `createBackendModule`, and `createServiceFactory` are now simply `BackendFeature` and `ServiceFactory`, instead of the previously deprecated form of a function that returns them. For this reason, `createServiceFactory` also no longer accepts the callback form where you provide direct options to the service. This also affects all `coreServices.*` service refs.
+
+ This may in particular affect tests; if you were effectively doing `createBackendModule({...})()` (note the parentheses), you can now remove those extra parentheses at the end. You may encounter cases of this in your `packages/backend/src/index.ts` too, where you add plugins, modules, and services. If you were using `createServiceFactory` with a function as its argument for the purpose of passing in options, this pattern has been deprecated for a while and is no longer supported. You may want to explore the new multiton patterns to achieve your goals, or moving settings to app-config.
+
+ As part of this change, the `IdentityFactoryOptions` type was removed, and can no longer be used to tweak that service. The identity service was also deprecated some time ago, and you will want to [migrate to the new auth system](https://backstage.io/docs/tutorials/auth-service-migration) if you still rely on it.
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.9.0-next.0
+ - @backstage/plugin-auth-node@0.5.2-next.0
+
+## 0.2.4
+
+### Patch Changes
+
+- c8f1cae: Add `signIn` to authentication provider configuration schema
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.8.0
+ - @backstage/plugin-auth-node@0.5.0
+
+## 0.2.4-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.8.0-next.3
+ - @backstage/plugin-auth-node@0.5.0-next.3
+
+## 0.2.4-next.2
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.8.0-next.2
+ - @backstage/plugin-auth-node@0.5.0-next.2
+
+## 0.2.4-next.1
+
+### Patch Changes
+
+- c8f1cae: Add `signIn` to authentication provider configuration schema
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.7.1-next.1
+ - @backstage/plugin-auth-node@0.4.18-next.1
+
+## 0.2.4-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.7.1-next.0
+ - @backstage/plugin-auth-node@0.4.18-next.0
+
+## 0.2.3
+
+### Patch Changes
+
+- b9832ae: Fix several issues with the Atlassian auth provider (type definition, profile url, profile transformation, scopes)
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.7.0
+ - @backstage/plugin-auth-node@0.4.17
+
+## 0.2.3-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.6.22-next.1
+ - @backstage/plugin-auth-node@0.4.17-next.1
+
+## 0.2.2-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.6.21-next.0
+ - @backstage/plugin-auth-node@0.4.16-next.0
+
+## 0.2.0
+
+### Minor Changes
+
+- 8efc6cf: **BREAKING**: The `scope` and `scopes` config options have been removed and replaced by the standard `additionalScopes` config. In addition, the `offline_access`, `read:jira-work`, and `read:jira-user` scopes have been set to required and will always be present.
+
+### Patch Changes
+
+- 78a0b08: Internal refactor to handle `BackendFeature` contract change.
+- d44a20a: Added additional plugin metadata to `package.json`.
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.6.19
+ - @backstage/plugin-auth-node@0.4.14
+
+## 0.2.0-next.2
+
+### Minor Changes
+
+- 8efc6cf: **BREAKING**: The `scope` and `scopes` config options have been removed and replaced by the standard `additionalScopes` config. In addition, the `offline_access`, `read:jira-work`, and `read:jira-user` scopes have been set to required and will always be present.
+
+### Patch Changes
+
+- d44a20a: Added additional plugin metadata to `package.json`.
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.6.19-next.3
+ - @backstage/plugin-auth-node@0.4.14-next.3
+
+## 0.1.11-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.6.19-next.2
+ - @backstage/plugin-auth-node@0.4.14-next.2
+
+## 0.1.11-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.6.19-next.0
+ - @backstage/plugin-auth-node@0.4.14-next.0
+
+## 0.1.10
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.6.18
+ - @backstage/plugin-auth-node@0.4.13
+
+## 0.1.10-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.4.13-next.1
+ - @backstage/backend-plugin-api@0.6.18-next.1
+
+## 0.1.10-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.4.13-next.0
+ - @backstage/backend-plugin-api@0.6.18-next.0
+
+## 0.1.9
+
+### Patch Changes
+
+- 269b4c1: Read scopes from config and pass to AtlassianProvider as they are required
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.6.17
+ - @backstage/plugin-auth-node@0.4.12
+
+## 0.1.9-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.6.17-next.1
+ - @backstage/plugin-auth-node@0.4.12-next.1
+
+## 0.1.9-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.6.17-next.0
+ - @backstage/plugin-auth-node@0.4.12-next.0
+
+## 0.1.8
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.4.11
+ - @backstage/backend-plugin-api@0.6.16
+
+## 0.1.7
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.4.10
+ - @backstage/backend-plugin-api@0.6.15
+
+## 0.1.6
+
+### Patch Changes
+
+- c511186: Addressed OAuth flow issue in Atlassian auth module
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.4.9
+ - @backstage/backend-plugin-api@0.6.14
+
+## 0.1.6-next.2
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.4.9-next.2
+ - @backstage/backend-plugin-api@0.6.14-next.2
+
+## 0.1.6-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.6.14-next.1
+ - @backstage/plugin-auth-node@0.4.9-next.1
+
+## 0.1.5-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.4.8-next.0
+ - @backstage/backend-plugin-api@0.6.13-next.0
+
+## 0.1.2
+
+### Patch Changes
+
+- 8472188: Added or fixed the `repository` field in `package.json`.
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.4.4
+ - @backstage/backend-plugin-api@0.6.10
+
+## 0.1.2-next.3
+
+### Patch Changes
+
+- 8472188: Added or fixed the `repository` field in `package.json`.
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.4.4-next.3
+ - @backstage/backend-plugin-api@0.6.10-next.3
+
+## 0.1.2-next.2
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.6.10-next.2
+ - @backstage/plugin-auth-node@0.4.4-next.2
+
+## 0.1.2-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.6.10-next.1
+ - @backstage/plugin-auth-node@0.4.4-next.1
+
+## 0.1.2-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.4.4-next.0
+ - @backstage/backend-plugin-api@0.6.10-next.0
+
+## 0.1.1
+
+### Patch Changes
+
+- 4016f21: Remove some unused dependencies
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.6.9
+ - @backstage/plugin-auth-node@0.4.3
+
+## 0.1.1-next.2
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.6.9-next.2
+ - @backstage/plugin-auth-node@0.4.3-next.2
+
+## 0.1.1-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.4.3-next.1
+ - @backstage/backend-plugin-api@0.6.9-next.1
+
+## 0.1.1-next.0
+
+### Patch Changes
+
+- 4016f21: Remove some unused dependencies
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.6.9-next.0
+ - @backstage/plugin-auth-node@0.4.3-next.0
+
+## 0.1.0
+
+### Minor Changes
+
+- 2a5891e: New module for `@backstage/plugin-auth-backend` that adds an atlassian auth provider
+
+### Patch Changes
+
+- a62764b: Updated dependency `passport` to `^0.7.0`.
+- Updated dependencies
+ - @backstage/backend-common@0.20.0
+ - @backstage/plugin-auth-node@0.4.2
+ - @backstage/backend-plugin-api@0.6.8
+
+## 0.1.0-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.20.0-next.3
+ - @backstage/backend-plugin-api@0.6.8-next.3
+ - @backstage/plugin-auth-node@0.4.2-next.3
+
+## 0.1.0-next.2
+
+### Patch Changes
+
+- a62764b: Updated dependency `passport` to `^0.7.0`.
+- Updated dependencies
+ - @backstage/backend-common@0.20.0-next.2
+ - @backstage/plugin-auth-node@0.4.2-next.2
+ - @backstage/backend-plugin-api@0.6.8-next.2
+
+## 0.1.0-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.20.0-next.1
+ - @backstage/backend-plugin-api@0.6.8-next.1
+ - @backstage/plugin-auth-node@0.4.2-next.1
+
+## 0.1.0-next.0
+
+### Minor Changes
+
+- 2a5891e816: New module for `@backstage/plugin-auth-backend` that adds an atlassian auth provider
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.20.0-next.0
+ - @backstage/plugin-auth-node@0.4.2-next.0
+ - @backstage/backend-plugin-api@0.6.8-next.0
+
+## @backstage/plugin-auth-backend-module-aws-alb-provider@0.4.13-next.0
+
+# @backstage/plugin-auth-backend-module-aws-alb-provider
+
+## 0.4.12-next.0
+
+### Patch Changes
+
+- 7455dae: Use node prefix on native imports
+- 69d880e: Bump to latest zod to ensure it has the latest features
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.7.0-next.0
+ - @backstage/plugin-auth-backend@0.26.1-next.0
+ - @backstage/plugin-auth-node@0.6.12-next.0
+ - @backstage/errors@1.2.7
+
+## 0.4.11
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.6.1
+ - @backstage/plugin-auth-backend@0.26.0
+ - @backstage/plugin-auth-node@0.6.11
+
+## 0.4.11-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-backend@0.26.0-next.0
+ - @backstage/plugin-auth-node@0.6.10
+
+## 0.4.10
+
+### Patch Changes
+
+- de96a60: chore(deps): bump `express` from 4.21.2 to 4.22.0
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.10
+ - @backstage/plugin-auth-backend@0.25.7
+ - @backstage/backend-plugin-api@1.6.0
+
+## 0.4.10-next.1
+
+### Patch Changes
+
+- de96a60: chore(deps): bump `express` from 4.21.2 to 4.22.0
+- Updated dependencies
+ - @backstage/plugin-auth-backend@0.25.7-next.1
+ - @backstage/plugin-auth-node@0.6.10-next.1
+ - @backstage/backend-plugin-api@1.6.0-next.1
+ - @backstage/errors@1.2.7
+
+## 0.4.10-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.10-next.0
+ - @backstage/backend-plugin-api@1.5.1-next.0
+ - @backstage/plugin-auth-backend@0.25.7-next.0
+ - @backstage/errors@1.2.7
+
+## 0.4.9
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.5.0
+ - @backstage/plugin-auth-backend@0.25.6
+ - @backstage/plugin-auth-node@0.6.9
+
+## 0.4.9-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.5.0-next.1
+ - @backstage/plugin-auth-backend@0.25.6-next.1
+ - @backstage/plugin-auth-node@0.6.9-next.1
+
+## 0.4.9-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-backend@0.25.6-next.0
+ - @backstage/plugin-auth-node@0.6.9-next.0
+ - @backstage/backend-plugin-api@1.4.5-next.0
+ - @backstage/errors@1.2.7
+
+## 0.4.8
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.4.4
+ - @backstage/plugin-auth-backend@0.25.5
+ - @backstage/plugin-auth-node@0.6.8
+
+## 0.4.8-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.4.4-next.0
+ - @backstage/plugin-auth-backend@0.25.5-next.0
+ - @backstage/plugin-auth-node@0.6.8-next.0
+
+## 0.4.7
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-backend@0.25.4
+ - @backstage/plugin-auth-node@0.6.7
+ - @backstage/backend-plugin-api@1.4.3
+
+## 0.4.7-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.7-next.0
+ - @backstage/backend-plugin-api@1.4.3-next.0
+ - @backstage/plugin-auth-backend@0.25.4-next.0
+
+## 0.4.6
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-backend@0.25.3
+ - @backstage/plugin-auth-node@0.6.6
+ - @backstage/backend-plugin-api@1.4.2
+
+## 0.4.6-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-backend@0.25.3-next.0
+ - @backstage/plugin-auth-node@0.6.6-next.0
+ - @backstage/backend-plugin-api@1.4.2-next.0
+ - @backstage/errors@1.2.7
+
+## 0.4.5
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-backend@0.25.2
+ - @backstage/backend-plugin-api@1.4.1
+ - @backstage/plugin-auth-node@0.6.5
+
+## 0.4.5-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.4.1-next.0
+ - @backstage/plugin-auth-backend@0.25.2-next.0
+ - @backstage/plugin-auth-node@0.6.5-next.0
+
+## 0.4.4
+
+### Patch Changes
+
+- c83cd8b: Fixed some circular or otherwise unclear imports
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.4
+ - @backstage/backend-plugin-api@1.4.0
+ - @backstage/errors@1.2.7
+ - @backstage/plugin-auth-backend@0.25.1
+
+## 0.4.4-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.4-next.1
+ - @backstage/backend-plugin-api@1.4.0-next.1
+ - @backstage/errors@1.2.7
+ - @backstage/plugin-auth-backend@0.25.1-next.1
+
+## 0.4.4-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.4.0-next.0
+ - @backstage/plugin-auth-backend@0.25.1-next.0
+ - @backstage/plugin-auth-node@0.6.4-next.0
+
+## 0.4.3
+
+### Patch Changes
+
+- 5cc1f7f: Introduce `dangerouslyAllowSignInWithoutUserInCatalog` auth resolver config.
+- Updated dependencies
+ - @backstage/plugin-auth-backend@0.25.0
+ - @backstage/plugin-auth-node@0.6.3
+ - @backstage/backend-plugin-api@1.3.1
+ - @backstage/errors@1.2.7
+
+## 0.4.3-next.2
+
+### Patch Changes
+
+- 5cc1f7f: Introduce `dangerouslyAllowSignInWithoutUserInCatalog` auth resolver config.
+- Updated dependencies
+ - @backstage/plugin-auth-backend@0.25.0-next.2
+ - @backstage/plugin-auth-node@0.6.3-next.2
+ - @backstage/backend-plugin-api@1.3.1-next.2
+ - @backstage/errors@1.2.7
+
+## 0.4.3-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-backend@0.25.0-next.1
+ - @backstage/plugin-auth-node@0.6.3-next.1
+ - @backstage/backend-plugin-api@1.3.1-next.1
+ - @backstage/errors@1.2.7
+
+## 0.4.3-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-backend@0.25.0-next.0
+ - @backstage/backend-plugin-api@1.3.1-next.0
+ - @backstage/plugin-auth-node@0.6.3-next.0
+ - @backstage/errors@1.2.7
+
+## 0.4.2
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-backend@0.24.5
+ - @backstage/backend-plugin-api@1.3.0
+ - @backstage/plugin-auth-node@0.6.2
+ - @backstage/errors@1.2.7
+
+## 0.4.2-next.2
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-backend@0.24.5-next.2
+ - @backstage/backend-plugin-api@1.2.1
+ - @backstage/errors@1.2.7
+ - @backstage/plugin-auth-node@0.6.1
+
+## 0.4.2-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-backend@0.24.5-next.1
+ - @backstage/plugin-auth-node@0.6.1
+ - @backstage/backend-plugin-api@1.2.1
+ - @backstage/errors@1.2.7
+
+## 0.4.2-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-backend@0.24.5-next.0
+ - @backstage/plugin-auth-node@0.6.1
+ - @backstage/backend-plugin-api@1.2.1
+ - @backstage/errors@1.2.7
+
+## 0.4.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.1
+ - @backstage/plugin-auth-backend@0.24.4
+ - @backstage/backend-plugin-api@1.2.1
+ - @backstage/errors@1.2.7
+
+## 0.4.1-next.2
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.2.1-next.1
+ - @backstage/errors@1.2.7
+ - @backstage/plugin-auth-backend@0.24.4-next.2
+ - @backstage/plugin-auth-node@0.6.1-next.1
+
+## 0.4.1-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.1-next.1
+ - @backstage/plugin-auth-backend@0.24.4-next.1
+ - @backstage/backend-plugin-api@1.2.1-next.1
+ - @backstage/errors@1.2.7
+
+## 0.4.1-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-backend@0.24.4-next.0
+ - @backstage/plugin-auth-node@0.6.1-next.0
+ - @backstage/backend-plugin-api@1.2.1-next.0
+
+## 0.4.0
+
+### Minor Changes
+
+- 61f464e: Added `auth.providers..sessionDuration` config for auth providers to allow the lifespan of user sessions to be configured.
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.2.0
+ - @backstage/plugin-auth-node@0.6.0
+ - @backstage/errors@1.2.7
+ - @backstage/plugin-auth-backend@0.24.3
+
+## 0.4.0-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.2.0-next.2
+ - @backstage/plugin-auth-backend@0.24.3-next.3
+ - @backstage/plugin-auth-node@0.6.0-next.2
+ - @backstage/errors@1.2.7
+
+## 0.4.0-next.2
+
+### Minor Changes
+
+- 61f464e: Added `auth.providers..sessionDuration` config for auth providers to allow the lifespan of user sessions to be configured.
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.2.0-next.1
+ - @backstage/plugin-auth-node@0.6.0-next.1
+ - @backstage/errors@1.2.7
+ - @backstage/plugin-auth-backend@0.24.3-next.2
+
+## 0.3.3-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.2.0-next.0
+ - @backstage/errors@1.2.7
+ - @backstage/plugin-auth-backend@0.24.3-next.1
+ - @backstage/plugin-auth-node@0.5.7-next.0
+
+## 0.3.3-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.2.0-next.0
+ - @backstage/errors@1.2.7
+ - @backstage/plugin-auth-backend@0.24.3-next.0
+ - @backstage/plugin-auth-node@0.5.7-next.0
+
+## 0.3.2
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.5.6
+ - @backstage/plugin-auth-backend@0.24.2
+ - @backstage/backend-plugin-api@1.1.1
+ - @backstage/errors@1.2.7
+
+## 0.3.2-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.1.1-next.1
+ - @backstage/errors@1.2.7-next.0
+ - @backstage/plugin-auth-backend@0.24.2-next.1
+ - @backstage/plugin-auth-node@0.5.6-next.1
+
+## 0.3.2-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.5.6-next.0
+ - @backstage/plugin-auth-backend@0.24.2-next.0
+ - @backstage/backend-plugin-api@1.1.1-next.0
+ - @backstage/errors@1.2.6
+
+## 0.3.1
+
+### Patch Changes
+
+- 5c9cc05: Use native fetch instead of node-fetch
+- Updated dependencies
+ - @backstage/plugin-auth-backend@0.24.1
+ - @backstage/plugin-auth-node@0.5.5
+ - @backstage/backend-plugin-api@1.1.0
+ - @backstage/errors@1.2.6
+
+## 0.3.1-next.2
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.1.0-next.2
+ - @backstage/errors@1.2.6-next.0
+ - @backstage/plugin-auth-backend@0.24.1-next.2
+ - @backstage/plugin-auth-node@0.5.5-next.2
+
+## 0.3.1-next.1
+
+### Patch Changes
+
+- 5c9cc05: Use native fetch instead of node-fetch
+- Updated dependencies
+ - @backstage/plugin-auth-backend@0.24.1-next.1
+ - @backstage/plugin-auth-node@0.5.5-next.1
+ - @backstage/backend-plugin-api@1.1.0-next.1
+ - @backstage/errors@1.2.5
+
+## 0.3.1-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.0.3-next.0
+ - @backstage/plugin-auth-node@0.5.5-next.0
+ - @backstage/errors@1.2.5
+ - @backstage/plugin-auth-backend@0.24.1-next.0
+
+## 0.3.0
+
+### Minor Changes
+
+- 75168e3: **BREAKING**: The AWS ALB `fullProfile` will no longer have the its username or email converted to lowercase. This is to ensure unique handling of the users. You may need to update and configure a custom sign-in resolver or profile transform as a result.
+
+### Patch Changes
+
+- 5d74716: Remove unused backend-common dependency
+- Updated dependencies
+ - @backstage/plugin-auth-backend@0.24.0
+ - @backstage/plugin-auth-node@0.5.4
+ - @backstage/backend-plugin-api@1.0.2
+ - @backstage/errors@1.2.5
+
+## 0.3.0-next.2
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-backend@0.24.0-next.2
+ - @backstage/plugin-auth-node@0.5.4-next.2
+ - @backstage/backend-plugin-api@1.0.2-next.2
+ - @backstage/errors@1.2.4
+
+## 0.3.0-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.0.2-next.1
+ - @backstage/errors@1.2.4
+ - @backstage/plugin-auth-backend@0.24.0-next.1
+ - @backstage/plugin-auth-node@0.5.4-next.1
+
+## 0.3.0-next.0
+
+### Minor Changes
+
+- 75168e3: **BREAKING**: The AWS ALB `fullProfile` will no longer have the its username or email converted to lowercase. This is to ensure unique handling of the users. You may need to update and configure a custom sign-in resolver or profile transform as a result.
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-backend@0.24.0-next.0
+ - @backstage/plugin-auth-node@0.5.4-next.0
+ - @backstage/backend-plugin-api@1.0.2-next.0
+ - @backstage/errors@1.2.4
+
+## 0.2.1
+
+### Patch Changes
+
+- 217458a: Updated configuration schema to include the new `allowedDomains` option for the `emailLocalPartMatchingUserEntityName` sign-in resolver.
+- 094eaa3: Remove references to in-repo backend-common
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.5.3
+ - @backstage/plugin-auth-backend@0.23.1
+ - @backstage/backend-plugin-api@1.0.1
+ - @backstage/errors@1.2.4
+
+## 0.2.1-next.1
+
+### Patch Changes
+
+- 217458a: Updated configuration schema to include the new `allowedDomains` option for the `emailLocalPartMatchingUserEntityName` sign-in resolver.
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.5.3-next.1
+ - @backstage/backend-plugin-api@1.0.1-next.1
+ - @backstage/errors@1.2.4
+ - @backstage/plugin-auth-backend@0.23.1-next.1
+
+## 0.2.1-next.0
+
+### Patch Changes
+
+- 094eaa3: Remove references to in-repo backend-common
+- Updated dependencies
+ - @backstage/plugin-auth-backend@0.23.1-next.0
+ - @backstage/plugin-auth-node@0.5.3-next.0
+ - @backstage/backend-plugin-api@1.0.1-next.0
+ - @backstage/errors@1.2.4
+
+## 0.2.0
+
+### Minor Changes
+
+- d425fc4: **BREAKING**: The return values from `createBackendPlugin`, `createBackendModule`, and `createServiceFactory` are now simply `BackendFeature` and `ServiceFactory`, instead of the previously deprecated form of a function that returns them. For this reason, `createServiceFactory` also no longer accepts the callback form where you provide direct options to the service. This also affects all `coreServices.*` service refs.
+
+ This may in particular affect tests; if you were effectively doing `createBackendModule({...})()` (note the parentheses), you can now remove those extra parentheses at the end. You may encounter cases of this in your `packages/backend/src/index.ts` too, where you add plugins, modules, and services. If you were using `createServiceFactory` with a function as its argument for the purpose of passing in options, this pattern has been deprecated for a while and is no longer supported. You may want to explore the new multiton patterns to achieve your goals, or moving settings to app-config.
+
+ As part of this change, the `IdentityFactoryOptions` type was removed, and can no longer be used to tweak that service. The identity service was also deprecated some time ago, and you will want to [migrate to the new auth system](https://backstage.io/docs/tutorials/auth-service-migration) if you still rely on it.
+
+### Patch Changes
+
+- ecbc47e: Fix a bug where the signer was checked from the payload instead of the header
+- 8d1fb8d: Throw correct error when email is missing from the claims
+- Updated dependencies
+ - @backstage/backend-common@0.25.0
+ - @backstage/backend-plugin-api@1.0.0
+ - @backstage/plugin-auth-node@0.5.2
+ - @backstage/plugin-auth-backend@0.23.0
+ - @backstage/errors@1.2.4
+
+## 0.2.0-next.2
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.25.0-next.2
+ - @backstage/plugin-auth-node@0.5.2-next.2
+ - @backstage/plugin-auth-backend@0.23.0-next.2
+ - @backstage/backend-plugin-api@1.0.0-next.2
+ - @backstage/errors@1.2.4
+
+## 0.2.0-next.1
+
+### Patch Changes
+
+- 8d1fb8d: Throw correct error when email is missing from the claims
+- Updated dependencies
+ - @backstage/backend-common@0.25.0-next.1
+ - @backstage/plugin-auth-node@0.5.2-next.1
+ - @backstage/backend-plugin-api@0.9.0-next.1
+ - @backstage/errors@1.2.4
+ - @backstage/plugin-auth-backend@0.23.0-next.1
+
+## 0.2.0-next.0
+
+### Minor Changes
+
+- d425fc4: **BREAKING**: The return values from `createBackendPlugin`, `createBackendModule`, and `createServiceFactory` are now simply `BackendFeature` and `ServiceFactory`, instead of the previously deprecated form of a function that returns them. For this reason, `createServiceFactory` also no longer accepts the callback form where you provide direct options to the service. This also affects all `coreServices.*` service refs.
+
+ This may in particular affect tests; if you were effectively doing `createBackendModule({...})()` (note the parentheses), you can now remove those extra parentheses at the end. You may encounter cases of this in your `packages/backend/src/index.ts` too, where you add plugins, modules, and services. If you were using `createServiceFactory` with a function as its argument for the purpose of passing in options, this pattern has been deprecated for a while and is no longer supported. You may want to explore the new multiton patterns to achieve your goals, or moving settings to app-config.
+
+ As part of this change, the `IdentityFactoryOptions` type was removed, and can no longer be used to tweak that service. The identity service was also deprecated some time ago, and you will want to [migrate to the new auth system](https://backstage.io/docs/tutorials/auth-service-migration) if you still rely on it.
+
+### Patch Changes
+
+- ecbc47e: Fix a bug where the signer was checked from the payload instead of the header
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.9.0-next.0
+ - @backstage/plugin-auth-backend@0.23.0-next.0
+ - @backstage/backend-common@0.25.0-next.0
+ - @backstage/plugin-auth-node@0.5.2-next.0
+ - @backstage/errors@1.2.4
+
+## 0.1.15
+
+### Patch Changes
+
+- c8f1cae: Add `signIn` to authentication provider configuration schema
+
+- 4ea354f: Added a `signer` configuration option to validate against the token claims. We strongly recommend that you set this value (typically on the format `arn:aws:elasticloadbalancing:us-east-2:123456789012:loadbalancer/app/my-load-balancer/1234567890123456`) to ensure that the auth provider can safely check the authenticity of any incoming tokens.
+
+ Example:
+
+ ```diff
+ auth:
+ providers:
+ awsalb:
+ # this is the URL of the IdP you configured
+ issuer: 'https://example.okta.com/oauth2/default'
+ # this is the ARN of your ALB instance
+ + signer: 'arn:aws:elasticloadbalancing:us-east-2:123456789012:loadbalancer/app/my-load-balancer/1234567890123456'
+ # this is the region where your ALB instance resides
+ region: 'us-west-2'
+ signIn:
+ resolvers:
+ # typically you would pick one of these
+ - resolver: emailMatchingUserEntityProfileEmail
+ - resolver: emailLocalPartMatchingUserEntityName
+ ```
+
+- 93095ee: Make sure node-fetch is version 2.7.0 or greater
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.8.0
+ - @backstage/backend-common@0.24.0
+ - @backstage/plugin-auth-backend@0.22.10
+ - @backstage/plugin-auth-node@0.5.0
+ - @backstage/errors@1.2.4
+
+## 0.1.15-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.8.0-next.3
+ - @backstage/backend-common@0.23.4-next.3
+ - @backstage/errors@1.2.4
+ - @backstage/plugin-auth-backend@0.22.10-next.3
+ - @backstage/plugin-auth-node@0.5.0-next.3
+
+## 0.1.15-next.2
+
+### Patch Changes
+
+- 93095ee: Make sure node-fetch is version 2.7.0 or greater
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.8.0-next.2
+ - @backstage/backend-common@0.23.4-next.2
+ - @backstage/plugin-auth-backend@0.22.10-next.2
+ - @backstage/plugin-auth-node@0.5.0-next.2
+ - @backstage/errors@1.2.4
+
+## 0.1.15-next.1
+
+### Patch Changes
+
+- c8f1cae: Add `signIn` to authentication provider configuration schema
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.7.1-next.1
+ - @backstage/plugin-auth-backend@0.22.10-next.1
+ - @backstage/backend-common@0.23.4-next.1
+ - @backstage/errors@1.2.4
+ - @backstage/plugin-auth-node@0.4.18-next.1
+
+## 0.1.15-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.23.4-next.0
+ - @backstage/backend-plugin-api@0.7.1-next.0
+ - @backstage/errors@1.2.4
+ - @backstage/plugin-auth-backend@0.22.10-next.0
+ - @backstage/plugin-auth-node@0.4.18-next.0
+
+## 0.1.14
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.7.0
+ - @backstage/backend-common@0.23.3
+ - @backstage/plugin-auth-node@0.4.17
+ - @backstage/plugin-auth-backend@0.22.9
+ - @backstage/errors@1.2.4
+
+## 0.1.14-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.23.3-next.1
+ - @backstage/backend-plugin-api@0.6.22-next.1
+ - @backstage/errors@1.2.4
+ - @backstage/plugin-auth-backend@0.22.9-next.1
+ - @backstage/plugin-auth-node@0.4.17-next.1
+
+## 0.1.13-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.6.21-next.0
+ - @backstage/backend-common@0.23.2-next.0
+ - @backstage/plugin-auth-backend@0.22.8-next.0
+ - @backstage/plugin-auth-node@0.4.16-next.0
+ - @backstage/errors@1.2.4
+
+## 0.1.11
+
+### Patch Changes
+
+- 78a0b08: Internal refactor to handle `BackendFeature` contract change.
+- d44a20a: Added additional plugin metadata to `package.json`.
+- Updated dependencies
+ - @backstage/backend-common@0.23.0
+ - @backstage/backend-plugin-api@0.6.19
+ - @backstage/plugin-auth-node@0.4.14
+ - @backstage/plugin-auth-backend@0.22.6
+ - @backstage/errors@1.2.4
+
+## 0.1.11-next.3
+
+### Patch Changes
+
+- d44a20a: Added additional plugin metadata to `package.json`.
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.6.19-next.3
+ - @backstage/plugin-auth-node@0.4.14-next.3
+ - @backstage/plugin-auth-backend@0.22.6-next.3
+ - @backstage/backend-common@0.23.0-next.3
+ - @backstage/errors@1.2.4
+
+## 0.1.11-next.2
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.6.19-next.2
+ - @backstage/backend-common@0.23.0-next.2
+ - @backstage/plugin-auth-backend@0.22.6-next.2
+ - @backstage/plugin-auth-node@0.4.14-next.2
+ - @backstage/errors@1.2.4
+
+## 0.1.11-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.6.19-next.1
+ - @backstage/backend-common@0.23.0-next.1
+ - @backstage/plugin-auth-backend@0.22.6-next.1
+ - @backstage/plugin-auth-node@0.4.14-next.1
+
+## 0.1.11-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.22.1-next.0
+ - @backstage/plugin-auth-backend@0.22.6-next.0
+ - @backstage/backend-plugin-api@0.6.19-next.0
+ - @backstage/plugin-auth-node@0.4.14-next.0
+ - @backstage/errors@1.2.4
+
+## 0.1.10
+
+### Patch Changes
+
+- 4a0577e: fix: Move config declarations to appropriate auth backend modules
+- Updated dependencies
+ - @backstage/backend-common@0.22.0
+ - @backstage/backend-plugin-api@0.6.18
+ - @backstage/plugin-auth-backend@0.22.5
+ - @backstage/plugin-auth-node@0.4.13
+
+## 0.1.10-next.2
+
+### Patch Changes
+
+- 4a0577e: fix: Move config declarations to appropriate auth backend modules
+- Updated dependencies
+ - @backstage/backend-common@0.22.0-next.2
+ - @backstage/plugin-auth-backend@0.22.5-next.2
+
+## 0.1.10-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.22.0-next.1
+ - @backstage/plugin-auth-backend@0.22.5-next.1
+ - @backstage/plugin-auth-node@0.4.13-next.1
+ - @backstage/backend-plugin-api@0.6.18-next.1
+
+## 0.1.10-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-backend@0.22.5-next.0
+ - @backstage/plugin-auth-node@0.4.13-next.0
+ - @backstage/backend-common@0.21.8-next.0
+ - @backstage/backend-plugin-api@0.6.18-next.0
+ - @backstage/errors@1.2.4
+
+## 0.1.9
+
+### Patch Changes
+
+- f286d59: Added support for AWS GovCloud (US) regions
+
+- 30f5a51: Added `authModuleAwsAlbProvider` as a default export.
+
+ It can now be used like this in your backend: `backend.add(import('@backstage/plugin-auth-backend-module-aws-alb-provider'));`
+
+- Updated dependencies
+ - @backstage/backend-common@0.21.7
+ - @backstage/plugin-auth-backend@0.22.4
+ - @backstage/backend-plugin-api@0.6.17
+ - @backstage/plugin-auth-node@0.4.12
+ - @backstage/errors@1.2.4
+
+## 0.1.9-next.1
+
+### Patch Changes
+
+- 30f5a51: Added `authModuleAwsAlbProvider` as a default export.
+
+ It can now be used like this in your backend: `backend.add(import('@backstage/plugin-auth-backend-module-aws-alb-provider'));`
+
+- Updated dependencies
+ - @backstage/backend-common@0.21.7-next.1
+ - @backstage/plugin-auth-backend@0.22.4-next.1
+ - @backstage/backend-plugin-api@0.6.17-next.1
+ - @backstage/plugin-auth-node@0.4.12-next.1
+ - @backstage/errors@1.2.4
+
+## 0.1.9-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.21.7-next.0
+ - @backstage/backend-plugin-api@0.6.17-next.0
+ - @backstage/errors@1.2.4
+ - @backstage/plugin-auth-backend@0.22.4-next.0
+ - @backstage/plugin-auth-node@0.4.12-next.0
+
+## 0.1.8
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-backend@0.22.3
+ - @backstage/plugin-auth-node@0.4.11
+ - @backstage/backend-common@0.21.6
+ - @backstage/backend-plugin-api@0.6.16
+ - @backstage/errors@1.2.4
+
+## 0.1.7
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.21.5
+ - @backstage/plugin-auth-backend@0.22.2
+ - @backstage/plugin-auth-node@0.4.10
+ - @backstage/backend-plugin-api@0.6.15
+ - @backstage/errors@1.2.4
+
+## 0.1.6
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-backend@0.22.1
+
+## 0.1.5
+
+### Patch Changes
+
+- 2af5354: Bump dependency `jose` to v5
+- b1b012d: Fix issue with `providerInfo` not being set properly for some proxy providers, by making `providerInfo` an explicit optional return from `authenticate`
+- Updated dependencies
+ - @backstage/backend-common@0.21.4
+ - @backstage/plugin-auth-node@0.4.9
+ - @backstage/errors@1.2.4
+ - @backstage/backend-plugin-api@0.6.14
+ - @backstage/plugin-auth-backend@0.22.0
+
+## 0.1.5-next.2
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.21.4-next.2
+ - @backstage/plugin-auth-backend@0.22.0-next.2
+ - @backstage/plugin-auth-node@0.4.9-next.2
+ - @backstage/backend-plugin-api@0.6.14-next.2
+ - @backstage/errors@1.2.4-next.0
+
+## 0.1.5-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.21.4-next.1
+ - @backstage/backend-plugin-api@0.6.14-next.1
+ - @backstage/plugin-auth-backend@0.22.0-next.1
+ - @backstage/plugin-auth-node@0.4.9-next.1
+ - @backstage/errors@1.2.4-next.0
+
+## 0.1.4-next.0
+
+### Patch Changes
+
+- 2af5354: Bump dependency `jose` to v5
+- b1b012d: Fix issue with `providerInfo` not being set properly for some proxy providers, by making `providerInfo` an explicit optional return from `authenticate`
+- Updated dependencies
+ - @backstage/backend-common@0.21.3-next.0
+ - @backstage/plugin-auth-node@0.4.8-next.0
+ - @backstage/errors@1.2.4-next.0
+ - @backstage/backend-plugin-api@0.6.13-next.0
+ - @backstage/plugin-auth-backend@0.22.0-next.0
+
+## 0.1.0
+
+### Minor Changes
+
+- 23a98f8: Migrated the AWS ALB auth provider to new `@backstage/plugin-auth-backend-module-aws-alb-provider` module package.
+
+### Patch Changes
+
+- d309cad: Refactored to use the `jose` library for JWT handling.
+- Updated dependencies
+ - @backstage/backend-common@0.21.0
+ - @backstage/plugin-auth-backend@0.21.0
+ - @backstage/plugin-auth-node@0.4.4
+ - @backstage/backend-plugin-api@0.6.10
+ - @backstage/errors@1.2.3
+
+## 0.1.0-next.2
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-common@0.21.0-next.3
+ - @backstage/plugin-auth-backend@0.21.0-next.3
+ - @backstage/plugin-auth-node@0.4.4-next.3
+ - @backstage/backend-plugin-api@0.6.10-next.3
+ - @backstage/errors@1.2.3
+
+## 0.1.0-next.1
+
+### Patch Changes
+
+- d309cad: Refactored to use the `jose` library for JWT handling.
+- Updated dependencies
+ - @backstage/plugin-auth-backend@0.21.0-next.2
+ - @backstage/backend-common@0.21.0-next.2
+ - @backstage/backend-plugin-api@0.6.10-next.2
+ - @backstage/plugin-auth-node@0.4.4-next.2
+ - @backstage/errors@1.2.3
+
+## 0.1.0-next.0
+
+### Minor Changes
+
+- 23a98f8: Migrated the AWS ALB auth provider to new `@backstage/plugin-auth-backend-module-aws-alb-provider` module package.
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.6.10-next.1
+ - @backstage/backend-common@0.21.0-next.1
+ - @backstage/plugin-auth-backend@0.20.4-next.1
+ - @backstage/errors@1.2.3
+ - @backstage/plugin-auth-node@0.4.4-next.1
+
+## @backstage/plugin-auth-backend-module-azure-easyauth-provider@0.2.17-next.0
+
+# @backstage/plugin-auth-backend-module-azure-easyauth-provider
+
+## 0.2.16-next.0
+
+### Patch Changes
+
+- 7455dae: Use node prefix on native imports
+- 69d880e: Bump to latest zod to ensure it has the latest features
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.7.0-next.0
+ - @backstage/plugin-auth-node@0.6.12-next.0
+ - @backstage/catalog-model@1.7.6
+ - @backstage/errors@1.2.7
+
+## 0.2.15
+
+### Patch Changes
+
+- de96a60: chore(deps): bump `express` from 4.21.2 to 4.22.0
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.10
+ - @backstage/backend-plugin-api@1.6.0
+
+## 0.2.15-next.1
+
+### Patch Changes
+
+- de96a60: chore(deps): bump `express` from 4.21.2 to 4.22.0
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.10-next.1
+ - @backstage/backend-plugin-api@1.6.0-next.1
+ - @backstage/catalog-model@1.7.6
+ - @backstage/errors@1.2.7
+
+## 0.2.15-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.10-next.0
+ - @backstage/backend-plugin-api@1.5.1-next.0
+ - @backstage/catalog-model@1.7.6
+ - @backstage/errors@1.2.7
+
+## 0.2.14
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.5.0
+ - @backstage/plugin-auth-node@0.6.9
+ - @backstage/catalog-model@1.7.6
+
+## 0.2.14-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.5.0-next.1
+ - @backstage/plugin-auth-node@0.6.9-next.1
+
+## 0.2.14-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.9-next.0
+ - @backstage/catalog-model@1.7.6-next.0
+ - @backstage/backend-plugin-api@1.4.5-next.0
+ - @backstage/errors@1.2.7
+
+## 0.2.13
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.4.4
+ - @backstage/plugin-auth-node@0.6.8
+
+## 0.2.13-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.4.4-next.0
+ - @backstage/plugin-auth-node@0.6.8-next.0
+
+## 0.2.12
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.7
+ - @backstage/backend-plugin-api@1.4.3
+
+## 0.2.12-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.7-next.0
+ - @backstage/backend-plugin-api@1.4.3-next.0
+
+## 0.2.11
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.6
+ - @backstage/backend-plugin-api@1.4.2
+
+## 0.2.11-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.6-next.0
+ - @backstage/backend-plugin-api@1.4.2-next.0
+ - @backstage/catalog-model@1.7.5
+ - @backstage/errors@1.2.7
+
+## 0.2.10
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/catalog-model@1.7.5
+ - @backstage/backend-plugin-api@1.4.1
+ - @backstage/plugin-auth-node@0.6.5
+
+## 0.2.10-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/catalog-model@1.7.5-next.0
+ - @backstage/backend-plugin-api@1.4.1-next.0
+ - @backstage/plugin-auth-node@0.6.5-next.0
+
+## 0.2.9
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.4
+ - @backstage/backend-plugin-api@1.4.0
+ - @backstage/catalog-model@1.7.4
+ - @backstage/errors@1.2.7
+
+## 0.2.9-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.4-next.1
+ - @backstage/backend-plugin-api@1.4.0-next.1
+ - @backstage/catalog-model@1.7.4
+ - @backstage/errors@1.2.7
+
+## 0.2.9-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.4.0-next.0
+ - @backstage/plugin-auth-node@0.6.4-next.0
+
+## 0.2.8
+
+### Patch Changes
+
+- 5cc1f7f: Introduce `dangerouslyAllowSignInWithoutUserInCatalog` auth resolver config.
+- Updated dependencies
+ - @backstage/catalog-model@1.7.4
+ - @backstage/plugin-auth-node@0.6.3
+ - @backstage/backend-plugin-api@1.3.1
+ - @backstage/errors@1.2.7
+
+## 0.2.8-next.2
+
+### Patch Changes
+
+- 5cc1f7f: Introduce `dangerouslyAllowSignInWithoutUserInCatalog` auth resolver config.
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.3-next.2
+ - @backstage/backend-plugin-api@1.3.1-next.2
+ - @backstage/catalog-model@1.7.3
+ - @backstage/errors@1.2.7
+
+## 0.2.8-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.3-next.1
+ - @backstage/backend-plugin-api@1.3.1-next.1
+ - @backstage/catalog-model@1.7.3
+ - @backstage/errors@1.2.7
+
+## 0.2.8-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.3.1-next.0
+ - @backstage/plugin-auth-node@0.6.3-next.0
+ - @backstage/catalog-model@1.7.3
+ - @backstage/errors@1.2.7
+
+## 0.2.7
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.3.0
+ - @backstage/plugin-auth-node@0.6.2
+ - @backstage/catalog-model@1.7.3
+ - @backstage/errors@1.2.7
+
+## 0.2.6
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.1
+ - @backstage/backend-plugin-api@1.2.1
+ - @backstage/catalog-model@1.7.3
+ - @backstage/errors@1.2.7
+
+## 0.2.6-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.1-next.1
+ - @backstage/backend-plugin-api@1.2.1-next.1
+ - @backstage/catalog-model@1.7.3
+ - @backstage/errors@1.2.7
+
+## 0.2.6-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.1-next.0
+ - @backstage/backend-plugin-api@1.2.1-next.0
+
+## 0.2.5
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.2.0
+ - @backstage/plugin-auth-node@0.6.0
+ - @backstage/catalog-model@1.7.3
+ - @backstage/errors@1.2.7
+
+## 0.2.5-next.2
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.2.0-next.2
+ - @backstage/plugin-auth-node@0.6.0-next.2
+ - @backstage/catalog-model@1.7.3
+ - @backstage/errors@1.2.7
+
+## 0.2.5-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.2.0-next.1
+ - @backstage/plugin-auth-node@0.6.0-next.1
+ - @backstage/catalog-model@1.7.3
+ - @backstage/errors@1.2.7
+
+## 0.2.5-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.2.0-next.0
+ - @backstage/catalog-model@1.7.3
+ - @backstage/errors@1.2.7
+ - @backstage/plugin-auth-node@0.5.7-next.0
+
+## 0.2.4
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.5.6
+ - @backstage/backend-plugin-api@1.1.1
+ - @backstage/catalog-model@1.7.3
+ - @backstage/errors@1.2.7
+
+## 0.2.4-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.1.1-next.1
+ - @backstage/catalog-model@1.7.3-next.0
+ - @backstage/errors@1.2.7-next.0
+ - @backstage/plugin-auth-node@0.5.6-next.1
+
+## 0.2.4-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.5.6-next.0
+ - @backstage/backend-plugin-api@1.1.1-next.0
+ - @backstage/catalog-model@1.7.2
+ - @backstage/errors@1.2.6
+
+## 0.2.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.5.5
+ - @backstage/backend-plugin-api@1.1.0
+ - @backstage/errors@1.2.6
+ - @backstage/catalog-model@1.7.2
+
+## 0.2.3-next.2
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.1.0-next.2
+ - @backstage/errors@1.2.6-next.0
+ - @backstage/plugin-auth-node@0.5.5-next.2
+ - @backstage/catalog-model@1.7.2-next.0
+
+## 0.2.3-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.5.5-next.1
+ - @backstage/backend-plugin-api@1.1.0-next.1
+ - @backstage/catalog-model@1.7.1
+ - @backstage/errors@1.2.5
+
+## 0.2.3-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.0.3-next.0
+ - @backstage/plugin-auth-node@0.5.5-next.0
+ - @backstage/catalog-model@1.7.1
+ - @backstage/errors@1.2.5
+
+## 0.2.2
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.5.4
+ - @backstage/backend-plugin-api@1.0.2
+ - @backstage/catalog-model@1.7.1
+ - @backstage/errors@1.2.5
+
+## 0.2.2-next.2
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.5.4-next.2
+ - @backstage/backend-plugin-api@1.0.2-next.2
+ - @backstage/catalog-model@1.7.0
+ - @backstage/errors@1.2.4
+
+## 0.2.2-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.0.2-next.1
+ - @backstage/catalog-model@1.7.0
+ - @backstage/errors@1.2.4
+ - @backstage/plugin-auth-node@0.5.4-next.1
+
+## 0.2.2-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.5.4-next.0
+ - @backstage/backend-plugin-api@1.0.2-next.0
+ - @backstage/catalog-model@1.7.0
+ - @backstage/errors@1.2.4
+
+## 0.2.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.5.3
+ - @backstage/backend-plugin-api@1.0.1
+ - @backstage/catalog-model@1.7.0
+ - @backstage/errors@1.2.4
+
+## 0.2.1-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.5.3-next.1
+ - @backstage/backend-plugin-api@1.0.1-next.1
+ - @backstage/catalog-model@1.7.0
+ - @backstage/errors@1.2.4
+
+## 0.2.1-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.5.3-next.0
+ - @backstage/backend-plugin-api@1.0.1-next.0
+ - @backstage/catalog-model@1.7.0
+ - @backstage/errors@1.2.4
+
+## 0.2.0
+
+### Minor Changes
+
+- d425fc4: **BREAKING**: The return values from `createBackendPlugin`, `createBackendModule`, and `createServiceFactory` are now simply `BackendFeature` and `ServiceFactory`, instead of the previously deprecated form of a function that returns them. For this reason, `createServiceFactory` also no longer accepts the callback form where you provide direct options to the service. This also affects all `coreServices.*` service refs.
+
+ This may in particular affect tests; if you were effectively doing `createBackendModule({...})()` (note the parentheses), you can now remove those extra parentheses at the end. You may encounter cases of this in your `packages/backend/src/index.ts` too, where you add plugins, modules, and services. If you were using `createServiceFactory` with a function as its argument for the purpose of passing in options, this pattern has been deprecated for a while and is no longer supported. You may want to explore the new multiton patterns to achieve your goals, or moving settings to app-config.
+
+ As part of this change, the `IdentityFactoryOptions` type was removed, and can no longer be used to tweak that service. The identity service was also deprecated some time ago, and you will want to [migrate to the new auth system](https://backstage.io/docs/tutorials/auth-service-migration) if you still rely on it.
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.0.0
+ - @backstage/plugin-auth-node@0.5.2
+ - @backstage/catalog-model@1.7.0
+ - @backstage/errors@1.2.4
+
+## 0.2.0-next.2
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.5.2-next.2
+ - @backstage/backend-plugin-api@1.0.0-next.2
+ - @backstage/catalog-model@1.6.0
+ - @backstage/errors@1.2.4
+
+## 0.2.0-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.5.2-next.1
+ - @backstage/backend-plugin-api@0.9.0-next.1
+ - @backstage/catalog-model@1.6.0
+ - @backstage/errors@1.2.4
+
+## 0.2.0-next.0
+
+### Minor Changes
+
+- d425fc4: **BREAKING**: The return values from `createBackendPlugin`, `createBackendModule`, and `createServiceFactory` are now simply `BackendFeature` and `ServiceFactory`, instead of the previously deprecated form of a function that returns them. For this reason, `createServiceFactory` also no longer accepts the callback form where you provide direct options to the service. This also affects all `coreServices.*` service refs.
+
+ This may in particular affect tests; if you were effectively doing `createBackendModule({...})()` (note the parentheses), you can now remove those extra parentheses at the end. You may encounter cases of this in your `packages/backend/src/index.ts` too, where you add plugins, modules, and services. If you were using `createServiceFactory` with a function as its argument for the purpose of passing in options, this pattern has been deprecated for a while and is no longer supported. You may want to explore the new multiton patterns to achieve your goals, or moving settings to app-config.
+
+ As part of this change, the `IdentityFactoryOptions` type was removed, and can no longer be used to tweak that service. The identity service was also deprecated some time ago, and you will want to [migrate to the new auth system](https://backstage.io/docs/tutorials/auth-service-migration) if you still rely on it.
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.9.0-next.0
+ - @backstage/plugin-auth-node@0.5.2-next.0
+ - @backstage/catalog-model@1.6.0
+ - @backstage/errors@1.2.4
+
+## 0.1.6
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.8.0
+ - @backstage/plugin-auth-node@0.5.0
+ - @backstage/catalog-model@1.6.0
+ - @backstage/errors@1.2.4
+
+## 0.1.6-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.8.0-next.3
+ - @backstage/catalog-model@1.6.0-next.0
+ - @backstage/errors@1.2.4
+ - @backstage/plugin-auth-node@0.5.0-next.3
+
+## 0.1.6-next.2
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.8.0-next.2
+ - @backstage/plugin-auth-node@0.5.0-next.2
+ - @backstage/catalog-model@1.5.0
+ - @backstage/errors@1.2.4
+
+## 0.1.6-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.7.1-next.1
+ - @backstage/catalog-model@1.5.0
+ - @backstage/errors@1.2.4
+ - @backstage/plugin-auth-node@0.4.18-next.1
+
+## 0.1.6-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.7.1-next.0
+ - @backstage/catalog-model@1.5.0
+ - @backstage/errors@1.2.4
+ - @backstage/plugin-auth-node@0.4.18-next.0
+
+## 0.1.5
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.7.0
+ - @backstage/plugin-auth-node@0.4.17
+ - @backstage/catalog-model@1.5.0
+ - @backstage/errors@1.2.4
+
+## 0.1.5-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.6.22-next.1
+ - @backstage/catalog-model@1.5.0
+ - @backstage/errors@1.2.4
+ - @backstage/plugin-auth-node@0.4.17-next.1
+
+## 0.1.4-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.6.21-next.0
+ - @backstage/plugin-auth-node@0.4.16-next.0
+ - @backstage/catalog-model@1.5.0
+ - @backstage/errors@1.2.4
+
+## 0.1.2
+
+### Patch Changes
+
+- 78a0b08: Internal refactor to handle `BackendFeature` contract change.
+- d44a20a: Added additional plugin metadata to `package.json`.
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.6.19
+ - @backstage/plugin-auth-node@0.4.14
+ - @backstage/catalog-model@1.5.0
+ - @backstage/errors@1.2.4
+
+## 0.1.2-next.2
+
+### Patch Changes
+
+- d44a20a: Added additional plugin metadata to `package.json`.
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.6.19-next.3
+ - @backstage/plugin-auth-node@0.4.14-next.3
+ - @backstage/catalog-model@1.5.0
+ - @backstage/errors@1.2.4
+
+## 0.1.2-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.6.19-next.2
+ - @backstage/plugin-auth-node@0.4.14-next.2
+ - @backstage/catalog-model@1.5.0
+ - @backstage/errors@1.2.4
+
+## 0.1.2-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.6.19-next.0
+ - @backstage/plugin-auth-node@0.4.14-next.0
+ - @backstage/catalog-model@1.5.0
+ - @backstage/errors@1.2.4
+
+## 0.1.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/catalog-model@1.5.0
+ - @backstage/backend-plugin-api@0.6.18
+ - @backstage/plugin-auth-node@0.4.13
+
+## 0.1.1-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.4.13-next.1
+ - @backstage/backend-plugin-api@0.6.18-next.1
+
+## 0.1.1-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/catalog-model@1.5.0-next.0
+ - @backstage/plugin-auth-node@0.4.13-next.0
+ - @backstage/backend-plugin-api@0.6.18-next.0
+ - @backstage/errors@1.2.4
+
+## 0.1.0
+
+### Minor Changes
+
+- 06a6725: New auth backend module to add `azure-easyauth` provider. Note that as part of this change the default provider ID has been changed from `easyAuth` to `azureEasyAuth`, which means that if you switch to this new module you need to update your app config as well as the `provider` prop of the `ProxiedSignInPage` in the frontend.
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.6.17
+ - @backstage/plugin-auth-node@0.4.12
+ - @backstage/catalog-model@1.4.5
+ - @backstage/errors@1.2.4
+
+## @backstage/plugin-auth-backend-module-bitbucket-provider@0.3.12-next.0
+
+# @backstage/plugin-auth-backend-module-bitbucket-provider
+
+## 0.3.11-next.0
+
+### Patch Changes
+
+- 69d880e: Bump to latest zod to ensure it has the latest features
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.7.0-next.0
+ - @backstage/plugin-auth-node@0.6.12-next.0
+
+## 0.3.10
+
+### Patch Changes
+
+- de96a60: chore(deps): bump `express` from 4.21.2 to 4.22.0
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.10
+ - @backstage/backend-plugin-api@1.6.0
+
+## 0.3.10-next.1
+
+### Patch Changes
+
+- de96a60: chore(deps): bump `express` from 4.21.2 to 4.22.0
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.10-next.1
+ - @backstage/backend-plugin-api@1.6.0-next.1
+
+## 0.3.10-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.10-next.0
+ - @backstage/backend-plugin-api@1.5.1-next.0
+
+## 0.3.9
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.5.0
+ - @backstage/plugin-auth-node@0.6.9
+
+## 0.3.9-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.5.0-next.1
+ - @backstage/plugin-auth-node@0.6.9-next.1
+
+## 0.3.9-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.9-next.0
+ - @backstage/backend-plugin-api@1.4.5-next.0
+
+## 0.3.8
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.4.4
+ - @backstage/plugin-auth-node@0.6.8
+
+## 0.3.8-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.4.4-next.0
+ - @backstage/plugin-auth-node@0.6.8-next.0
+
+## 0.3.7
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.7
+ - @backstage/backend-plugin-api@1.4.3
+
+## 0.3.7-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.7-next.0
+ - @backstage/backend-plugin-api@1.4.3-next.0
+
+## 0.3.6
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.6
+ - @backstage/backend-plugin-api@1.4.2
+
+## 0.3.6-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.6-next.0
+ - @backstage/backend-plugin-api@1.4.2-next.0
+
+## 0.3.5
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.4.1
+ - @backstage/plugin-auth-node@0.6.5
+
+## 0.3.5-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.4.1-next.0
+ - @backstage/plugin-auth-node@0.6.5-next.0
+
+## 0.3.4
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.4
+ - @backstage/backend-plugin-api@1.4.0
+
+## 0.3.4-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.4-next.1
+ - @backstage/backend-plugin-api@1.4.0-next.1
+
+## 0.3.4-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.4.0-next.0
+ - @backstage/plugin-auth-node@0.6.4-next.0
+
+## 0.3.3
+
+### Patch Changes
+
+- 5cc1f7f: Introduce `dangerouslyAllowSignInWithoutUserInCatalog` auth resolver config.
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.3
+ - @backstage/backend-plugin-api@1.3.1
+
+## 0.3.3-next.2
+
+### Patch Changes
+
+- 5cc1f7f: Introduce `dangerouslyAllowSignInWithoutUserInCatalog` auth resolver config.
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.3-next.2
+ - @backstage/backend-plugin-api@1.3.1-next.2
+
+## 0.3.3-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.3-next.1
+ - @backstage/backend-plugin-api@1.3.1-next.1
+
+## 0.3.3-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.3.1-next.0
+ - @backstage/plugin-auth-node@0.6.3-next.0
+
+## 0.3.2
+
+### Patch Changes
+
+- 5d10f99: Enabled persistency of scopes for Bitbucket Cloud.
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.3.0
+ - @backstage/plugin-auth-node@0.6.2
+
+## 0.3.2-next.0
+
+### Patch Changes
+
+- 5d10f99: Enabled persistency of scopes for Bitbucket Cloud.
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.1
+ - @backstage/backend-plugin-api@1.2.1
+
+## 0.3.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.1
+ - @backstage/backend-plugin-api@1.2.1
+
+## 0.3.1-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.1-next.1
+ - @backstage/backend-plugin-api@1.2.1-next.1
+
+## 0.3.1-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.1-next.0
+ - @backstage/backend-plugin-api@1.2.1-next.0
+
+## 0.3.0
+
+### Minor Changes
+
+- 61f464e: Added `auth.providers..sessionDuration` config for auth providers to allow the lifespan of user sessions to be configured.
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.2.0
+ - @backstage/plugin-auth-node@0.6.0
+
+## 0.3.0-next.2
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.2.0-next.2
+ - @backstage/plugin-auth-node@0.6.0-next.2
+
+## 0.3.0-next.1
+
+### Minor Changes
+
+- 61f464e: Added `auth.providers..sessionDuration` config for auth providers to allow the lifespan of user sessions to be configured.
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.2.0-next.1
+ - @backstage/plugin-auth-node@0.6.0-next.1
+
+## 0.2.5-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.2.0-next.0
+ - @backstage/plugin-auth-node@0.5.7-next.0
+
+## 0.2.4
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.5.6
+ - @backstage/backend-plugin-api@1.1.1
+
+## 0.2.4-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.1.1-next.1
+ - @backstage/plugin-auth-node@0.5.6-next.1
+
+## 0.2.4-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.5.6-next.0
+ - @backstage/backend-plugin-api@1.1.1-next.0
+
+## 0.2.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.5.5
+ - @backstage/backend-plugin-api@1.1.0
+
+## 0.2.3-next.2
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.1.0-next.2
+ - @backstage/plugin-auth-node@0.5.5-next.2
+
+## 0.2.3-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.5.5-next.1
+ - @backstage/backend-plugin-api@1.1.0-next.1
+
+## 0.2.3-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.0.3-next.0
+ - @backstage/plugin-auth-node@0.5.5-next.0
+
+## 0.2.2
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.5.4
+ - @backstage/backend-plugin-api@1.0.2
+
+## 0.2.2-next.2
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.5.4-next.2
+ - @backstage/backend-plugin-api@1.0.2-next.2
+
+## 0.2.2-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.0.2-next.1
+ - @backstage/plugin-auth-node@0.5.4-next.1
+
+## 0.2.2-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.5.4-next.0
+ - @backstage/backend-plugin-api@1.0.2-next.0
+
+## 0.2.1
+
+### Patch Changes
+
+- 217458a: Updated configuration schema to include the new `allowedDomains` option for the `emailLocalPartMatchingUserEntityName` sign-in resolver.
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.5.3
+ - @backstage/backend-plugin-api@1.0.1
+
+## 0.2.1-next.1
+
+### Patch Changes
+
+- 217458a: Updated configuration schema to include the new `allowedDomains` option for the `emailLocalPartMatchingUserEntityName` sign-in resolver.
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.5.3-next.1
+ - @backstage/backend-plugin-api@1.0.1-next.1
+
+## 0.2.1-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.5.3-next.0
+ - @backstage/backend-plugin-api@1.0.1-next.0
+
+## 0.2.0
+
+### Minor Changes
+
+- d425fc4: **BREAKING**: The return values from `createBackendPlugin`, `createBackendModule`, and `createServiceFactory` are now simply `BackendFeature` and `ServiceFactory`, instead of the previously deprecated form of a function that returns them. For this reason, `createServiceFactory` also no longer accepts the callback form where you provide direct options to the service. This also affects all `coreServices.*` service refs.
+
+ This may in particular affect tests; if you were effectively doing `createBackendModule({...})()` (note the parentheses), you can now remove those extra parentheses at the end. You may encounter cases of this in your `packages/backend/src/index.ts` too, where you add plugins, modules, and services. If you were using `createServiceFactory` with a function as its argument for the purpose of passing in options, this pattern has been deprecated for a while and is no longer supported. You may want to explore the new multiton patterns to achieve your goals, or moving settings to app-config.
+
+ As part of this change, the `IdentityFactoryOptions` type was removed, and can no longer be used to tweak that service. The identity service was also deprecated some time ago, and you will want to [migrate to the new auth system](https://backstage.io/docs/tutorials/auth-service-migration) if you still rely on it.
+
+### Patch Changes
+
+- c2b63ab: Updated dependency `supertest` to `^7.0.0`.
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.0.0
+ - @backstage/plugin-auth-node@0.5.2
+
+## 0.2.0-next.2
+
+### Patch Changes
+
+- c2b63ab: Updated dependency `supertest` to `^7.0.0`.
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.5.2-next.2
+ - @backstage/backend-plugin-api@1.0.0-next.2
+
+## 0.2.0-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.5.2-next.1
+ - @backstage/backend-plugin-api@0.9.0-next.1
+
+## 0.2.0-next.0
+
+### Minor Changes
+
+- d425fc4: **BREAKING**: The return values from `createBackendPlugin`, `createBackendModule`, and `createServiceFactory` are now simply `BackendFeature` and `ServiceFactory`, instead of the previously deprecated form of a function that returns them. For this reason, `createServiceFactory` also no longer accepts the callback form where you provide direct options to the service. This also affects all `coreServices.*` service refs.
+
+ This may in particular affect tests; if you were effectively doing `createBackendModule({...})()` (note the parentheses), you can now remove those extra parentheses at the end. You may encounter cases of this in your `packages/backend/src/index.ts` too, where you add plugins, modules, and services. If you were using `createServiceFactory` with a function as its argument for the purpose of passing in options, this pattern has been deprecated for a while and is no longer supported. You may want to explore the new multiton patterns to achieve your goals, or moving settings to app-config.
+
+ As part of this change, the `IdentityFactoryOptions` type was removed, and can no longer be used to tweak that service. The identity service was also deprecated some time ago, and you will want to [migrate to the new auth system](https://backstage.io/docs/tutorials/auth-service-migration) if you still rely on it.
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.9.0-next.0
+ - @backstage/plugin-auth-node@0.5.2-next.0
+
+## 0.1.6
+
+### Patch Changes
+
+- c8f1cae: Add `signIn` to authentication provider configuration schema
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.8.0
+ - @backstage/plugin-auth-node@0.5.0
+
+## 0.1.6-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.8.0-next.3
+ - @backstage/plugin-auth-node@0.5.0-next.3
+
+## 0.1.6-next.2
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.8.0-next.2
+ - @backstage/plugin-auth-node@0.5.0-next.2
+
+## 0.1.6-next.1
+
+### Patch Changes
+
+- c8f1cae: Add `signIn` to authentication provider configuration schema
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.7.1-next.1
+ - @backstage/plugin-auth-node@0.4.18-next.1
+
+## 0.1.6-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.7.1-next.0
+ - @backstage/plugin-auth-node@0.4.18-next.0
+
+## 0.1.5
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.7.0
+ - @backstage/plugin-auth-node@0.4.17
+
+## 0.1.5-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.6.22-next.1
+ - @backstage/plugin-auth-node@0.4.17-next.1
+
+## 0.1.4-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.6.21-next.0
+ - @backstage/plugin-auth-node@0.4.16-next.0
+
+## 0.1.2
+
+### Patch Changes
+
+- 78a0b08: Internal refactor to handle `BackendFeature` contract change.
+- 8efc6cf: Added support for the new shared `additionalScopes` configuration. In addition, the `account` scope has been set to required and will always be present.
+- d44a20a: Added additional plugin metadata to `package.json`.
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.6.19
+ - @backstage/plugin-auth-node@0.4.14
+
+## 0.1.2-next.2
+
+### Patch Changes
+
+- 8efc6cf: Added support for the new shared `additionalScopes` configuration. In addition, the `account` scope has been set to required and will always be present.
+- d44a20a: Added additional plugin metadata to `package.json`.
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.6.19-next.3
+ - @backstage/plugin-auth-node@0.4.14-next.3
+
+## 0.1.2-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.6.19-next.2
+ - @backstage/plugin-auth-node@0.4.14-next.2
+
+## 0.1.2-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.6.19-next.0
+ - @backstage/plugin-auth-node@0.4.14-next.0
+
+## 0.1.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.6.18
+ - @backstage/plugin-auth-node@0.4.13
+
+## 0.1.1-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.4.13-next.1
+ - @backstage/backend-plugin-api@0.6.18-next.1
+
+## 0.1.1-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.4.13-next.0
+ - @backstage/backend-plugin-api@0.6.18-next.0
+
+## 0.1.0
+
+### Minor Changes
+
+- ba763b6: Migrate the Bitbucket auth provider to the new `@backstage/plugin-auth-backend-module-bitbucket-provider` module package.
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.6.17
+ - @backstage/plugin-auth-node@0.4.12
+
+## @backstage/plugin-auth-backend-module-bitbucket-server-provider@0.2.12-next.0
+
+# @backstage/plugin-auth-backend-module-bitbucket-server-provider
+
+## 0.2.11-next.0
+
+### Patch Changes
+
+- 69d880e: Bump to latest zod to ensure it has the latest features
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.7.0-next.0
+ - @backstage/plugin-auth-node@0.6.12-next.0
+
+## 0.2.10
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.10
+ - @backstage/backend-plugin-api@1.6.0
+
+## 0.2.10-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.10-next.1
+ - @backstage/backend-plugin-api@1.6.0-next.1
+
+## 0.2.10-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.10-next.0
+ - @backstage/backend-plugin-api@1.5.1-next.0
+
+## 0.2.9
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.5.0
+ - @backstage/plugin-auth-node@0.6.9
+
+## 0.2.9-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.5.0-next.1
+ - @backstage/plugin-auth-node@0.6.9-next.1
+
+## 0.2.9-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.9-next.0
+ - @backstage/backend-plugin-api@1.4.5-next.0
+
+## 0.2.8
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.4.4
+ - @backstage/plugin-auth-node@0.6.8
+
+## 0.2.8-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.4.4-next.0
+ - @backstage/plugin-auth-node@0.6.8-next.0
+
+## 0.2.7
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.7
+ - @backstage/backend-plugin-api@1.4.3
+
+## 0.2.7-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.7-next.0
+ - @backstage/backend-plugin-api@1.4.3-next.0
+
+## 0.2.6
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.6
+ - @backstage/backend-plugin-api@1.4.2
+
+## 0.2.6-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.6-next.0
+ - @backstage/backend-plugin-api@1.4.2-next.0
+
+## 0.2.5
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.4.1
+ - @backstage/plugin-auth-node@0.6.5
+
+## 0.2.5-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.4.1-next.0
+ - @backstage/plugin-auth-node@0.6.5-next.0
+
+## 0.2.4
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.4
+ - @backstage/backend-plugin-api@1.4.0
+
+## 0.2.4-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.4-next.1
+ - @backstage/backend-plugin-api@1.4.0-next.1
+
+## 0.2.4-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.4.0-next.0
+ - @backstage/plugin-auth-node@0.6.4-next.0
+
+## 0.2.3
+
+### Patch Changes
+
+- 5cc1f7f: Introduce `dangerouslyAllowSignInWithoutUserInCatalog` auth resolver config.
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.3
+ - @backstage/backend-plugin-api@1.3.1
+
+## 0.2.3-next.2
+
+### Patch Changes
+
+- 5cc1f7f: Introduce `dangerouslyAllowSignInWithoutUserInCatalog` auth resolver config.
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.3-next.2
+ - @backstage/backend-plugin-api@1.3.1-next.2
+
+## 0.2.3-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.3-next.1
+ - @backstage/backend-plugin-api@1.3.1-next.1
+
+## 0.2.3-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.3.1-next.0
+ - @backstage/plugin-auth-node@0.6.3-next.0
+
+## 0.2.2
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.3.0
+ - @backstage/plugin-auth-node@0.6.2
+
+## 0.2.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.1
+ - @backstage/backend-plugin-api@1.2.1
+
+## 0.2.1-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.1-next.1
+ - @backstage/backend-plugin-api@1.2.1-next.1
+
+## 0.2.1-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.1-next.0
+ - @backstage/backend-plugin-api@1.2.1-next.0
+
+## 0.2.0
+
+### Minor Changes
+
+- 61f464e: Added `auth.providers..sessionDuration` config for auth providers to allow the lifespan of user sessions to be configured.
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.2.0
+ - @backstage/plugin-auth-node@0.6.0
+
+## 0.2.0-next.2
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.2.0-next.2
+ - @backstage/plugin-auth-node@0.6.0-next.2
+
+## 0.2.0-next.1
+
+### Minor Changes
+
+- 61f464e: Added `auth.providers..sessionDuration` config for auth providers to allow the lifespan of user sessions to be configured.
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.2.0-next.1
+ - @backstage/plugin-auth-node@0.6.0-next.1
+
+## 0.1.5-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.2.0-next.0
+ - @backstage/plugin-auth-node@0.5.7-next.0
+
+## 0.1.4
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.5.6
+ - @backstage/backend-plugin-api@1.1.1
+
+## 0.1.4-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.1.1-next.1
+ - @backstage/plugin-auth-node@0.5.6-next.1
+
+## 0.1.4-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.5.6-next.0
+ - @backstage/backend-plugin-api@1.1.1-next.0
+
+## 0.1.3
+
+### Patch Changes
+
+- 5c9cc05: Use native fetch instead of node-fetch
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.5.5
+ - @backstage/backend-plugin-api@1.1.0
+
+## 0.1.3-next.2
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.1.0-next.2
+ - @backstage/plugin-auth-node@0.5.5-next.2
+
+## 0.1.3-next.1
+
+### Patch Changes
+
+- 5c9cc05: Use native fetch instead of node-fetch
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.5.5-next.1
+ - @backstage/backend-plugin-api@1.1.0-next.1
+
+## 0.1.3-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.0.3-next.0
+ - @backstage/plugin-auth-node@0.5.5-next.0
+
+## 0.1.2
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.5.4
+ - @backstage/backend-plugin-api@1.0.2
+
+## 0.1.2-next.2
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.5.4-next.2
+ - @backstage/backend-plugin-api@1.0.2-next.2
+
+## 0.1.2-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.0.2-next.1
+ - @backstage/plugin-auth-node@0.5.4-next.1
+
+## 0.1.2-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.5.4-next.0
+ - @backstage/backend-plugin-api@1.0.2-next.0
+
+## 0.1.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.5.3
+ - @backstage/backend-plugin-api@1.0.1
+
+## 0.1.1-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.5.3-next.1
+ - @backstage/backend-plugin-api@1.0.1-next.1
+
+## 0.1.1-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.5.3-next.0
+ - @backstage/backend-plugin-api@1.0.1-next.0
+
+## 0.1.0
+
+### Minor Changes
+
+- 527d973: New module for `@backstage/plugin-auth-backend` that adds a `Bitbucket Server` auth provider.
+
+### Patch Changes
+
+- 0a3a13e: Updated dependency `supertest` to `^7.0.0`.
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.0.0
+ - @backstage/plugin-auth-node@0.5.2
+
+## 0.1.0-next.0
+
+### Minor Changes
+
+- 527d973: New module for `@backstage/plugin-auth-backend` that adds a `Bitbucket Server` auth provider.
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.5.2-next.2
+ - @backstage/backend-plugin-api@1.0.0-next.2
+
+## @backstage/plugin-auth-backend-module-cloudflare-access-provider@0.4.12-next.0
+
+# @backstage/plugin-auth-backend-module-cloudflare-access-provider
+
+## 0.4.11-next.0
+
+### Patch Changes
+
+- 69d880e: Bump to latest zod to ensure it has the latest features
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.7.0-next.0
+ - @backstage/plugin-auth-node@0.6.12-next.0
+ - @backstage/config@1.3.6
+ - @backstage/errors@1.2.7
+
+## 0.4.10
+
+### Patch Changes
+
+- de96a60: chore(deps): bump `express` from 4.21.2 to 4.22.0
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.10
+ - @backstage/backend-plugin-api@1.6.0
+
+## 0.4.10-next.1
+
+### Patch Changes
+
+- de96a60: chore(deps): bump `express` from 4.21.2 to 4.22.0
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.10-next.1
+ - @backstage/backend-plugin-api@1.6.0-next.1
+ - @backstage/config@1.3.6
+ - @backstage/errors@1.2.7
+
+## 0.4.10-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.10-next.0
+ - @backstage/backend-plugin-api@1.5.1-next.0
+ - @backstage/config@1.3.6
+ - @backstage/errors@1.2.7
+
+## 0.4.9
+
+### Patch Changes
+
+- 05f60e1: Refactored constructor parameter properties to explicit property declarations for compatibility with TypeScript's `erasableSyntaxOnly` setting. This internal refactoring maintains all existing functionality while ensuring TypeScript compilation compatibility.
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.5.0
+ - @backstage/plugin-auth-node@0.6.9
+ - @backstage/config@1.3.6
+
+## 0.4.9-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.5.0-next.1
+ - @backstage/plugin-auth-node@0.6.9-next.1
+
+## 0.4.9-next.0
+
+### Patch Changes
+
+- 05f60e1: Refactored constructor parameter properties to explicit property declarations for compatibility with TypeScript's `erasableSyntaxOnly` setting. This internal refactoring maintains all existing functionality while ensuring TypeScript compilation compatibility.
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.9-next.0
+ - @backstage/config@1.3.6-next.0
+ - @backstage/backend-plugin-api@1.4.5-next.0
+ - @backstage/errors@1.2.7
+
+## 0.4.8
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/config@1.3.5
+ - @backstage/backend-plugin-api@1.4.4
+ - @backstage/plugin-auth-node@0.6.8
+
+## 0.4.8-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/config@1.3.4-next.0
+ - @backstage/backend-plugin-api@1.4.4-next.0
+ - @backstage/plugin-auth-node@0.6.8-next.0
+
+## 0.4.7
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.7
+ - @backstage/backend-plugin-api@1.4.3
+
+## 0.4.7-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.7-next.0
+ - @backstage/backend-plugin-api@1.4.3-next.0
+
+## 0.4.6
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.6
+ - @backstage/backend-plugin-api@1.4.2
+
+## 0.4.6-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.6-next.0
+ - @backstage/backend-plugin-api@1.4.2-next.0
+ - @backstage/config@1.3.3
+ - @backstage/errors@1.2.7
+
+## 0.4.5
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/config@1.3.3
+ - @backstage/backend-plugin-api@1.4.1
+ - @backstage/plugin-auth-node@0.6.5
+
+## 0.4.5-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/config@1.3.3-next.0
+ - @backstage/backend-plugin-api@1.4.1-next.0
+ - @backstage/plugin-auth-node@0.6.5-next.0
+
+## 0.4.4
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.4
+ - @backstage/backend-plugin-api@1.4.0
+ - @backstage/config@1.3.2
+ - @backstage/errors@1.2.7
+
+## 0.4.4-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.4-next.1
+ - @backstage/backend-plugin-api@1.4.0-next.1
+ - @backstage/config@1.3.2
+ - @backstage/errors@1.2.7
+
+## 0.4.4-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.4.0-next.0
+ - @backstage/plugin-auth-node@0.6.4-next.0
+
+## 0.4.3
+
+### Patch Changes
+
+- 5cc1f7f: Introduce `dangerouslyAllowSignInWithoutUserInCatalog` auth resolver config.
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.3
+ - @backstage/backend-plugin-api@1.3.1
+ - @backstage/config@1.3.2
+ - @backstage/errors@1.2.7
+
+## 0.4.3-next.2
+
+### Patch Changes
+
+- 5cc1f7f: Introduce `dangerouslyAllowSignInWithoutUserInCatalog` auth resolver config.
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.3-next.2
+ - @backstage/backend-plugin-api@1.3.1-next.2
+ - @backstage/config@1.3.2
+ - @backstage/errors@1.2.7
+
+## 0.4.3-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.3-next.1
+ - @backstage/backend-plugin-api@1.3.1-next.1
+ - @backstage/config@1.3.2
+ - @backstage/errors@1.2.7
+
+## 0.4.3-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.3.1-next.0
+ - @backstage/plugin-auth-node@0.6.3-next.0
+ - @backstage/config@1.3.2
+ - @backstage/errors@1.2.7
+
+## 0.4.2
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.3.0
+ - @backstage/plugin-auth-node@0.6.2
+ - @backstage/config@1.3.2
+ - @backstage/errors@1.2.7
+
+## 0.4.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.1
+ - @backstage/backend-plugin-api@1.2.1
+ - @backstage/config@1.3.2
+ - @backstage/errors@1.2.7
+
+## 0.4.1-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.1-next.1
+ - @backstage/backend-plugin-api@1.2.1-next.1
+ - @backstage/config@1.3.2
+ - @backstage/errors@1.2.7
+
+## 0.4.1-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.1-next.0
+ - @backstage/backend-plugin-api@1.2.1-next.0
+
+## 0.4.0
+
+### Minor Changes
+
+- 61f464e: Added `auth.providers..sessionDuration` config for auth providers to allow the lifespan of user sessions to be configured.
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.2.0
+ - @backstage/plugin-auth-node@0.6.0
+ - @backstage/config@1.3.2
+ - @backstage/errors@1.2.7
+
+## 0.4.0-next.2
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.2.0-next.2
+ - @backstage/plugin-auth-node@0.6.0-next.2
+ - @backstage/config@1.3.2
+ - @backstage/errors@1.2.7
+
+## 0.4.0-next.1
+
+### Minor Changes
+
+- 61f464e: Added `auth.providers..sessionDuration` config for auth providers to allow the lifespan of user sessions to be configured.
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.2.0-next.1
+ - @backstage/plugin-auth-node@0.6.0-next.1
+ - @backstage/config@1.3.2
+ - @backstage/errors@1.2.7
+
+## 0.3.5-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.2.0-next.0
+ - @backstage/config@1.3.2
+ - @backstage/errors@1.2.7
+ - @backstage/plugin-auth-node@0.5.7-next.0
+
+## 0.3.4
+
+### Patch Changes
+
+- d4a8246: Use the email from `cfIdentity` instead of `claims` when constructing user profile in order to support Cloudflare Service Tokens.
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.5.6
+ - @backstage/backend-plugin-api@1.1.1
+ - @backstage/config@1.3.2
+ - @backstage/errors@1.2.7
+
+## 0.3.4-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.1.1-next.1
+ - @backstage/config@1.3.2-next.0
+ - @backstage/errors@1.2.7-next.0
+ - @backstage/plugin-auth-node@0.5.6-next.1
+
+## 0.3.4-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.5.6-next.0
+ - @backstage/backend-plugin-api@1.1.1-next.0
+ - @backstage/config@1.3.1
+ - @backstage/errors@1.2.6
+
+## 0.3.3
+
+### Patch Changes
+
+- 5c9cc05: Use native fetch instead of node-fetch
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.5.5
+ - @backstage/backend-plugin-api@1.1.0
+ - @backstage/errors@1.2.6
+ - @backstage/config@1.3.1
+
+## 0.3.3-next.2
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.1.0-next.2
+ - @backstage/errors@1.2.6-next.0
+ - @backstage/plugin-auth-node@0.5.5-next.2
+ - @backstage/config@1.3.1-next.0
+
+## 0.3.3-next.1
+
+### Patch Changes
+
+- 5c9cc05: Use native fetch instead of node-fetch
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.5.5-next.1
+ - @backstage/backend-plugin-api@1.1.0-next.1
+ - @backstage/config@1.3.0
+ - @backstage/errors@1.2.5
+
+## 0.3.3-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.0.3-next.0
+ - @backstage/plugin-auth-node@0.5.5-next.0
+ - @backstage/config@1.3.0
+ - @backstage/errors@1.2.5
+
+## 0.3.2
+
+### Patch Changes
+
+- d52d7f9: Support ISO and ms string forms of durations in config too
+- 4e58bc7: Upgrade to uuid v11 internally
+- Updated dependencies
+ - @backstage/config@1.3.0
+ - @backstage/plugin-auth-node@0.5.4
+ - @backstage/backend-plugin-api@1.0.2
+ - @backstage/errors@1.2.5
+
+## 0.3.2-next.2
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.5.4-next.2
+ - @backstage/backend-plugin-api@1.0.2-next.2
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+
+## 0.3.2-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.0.2-next.1
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+ - @backstage/plugin-auth-node@0.5.4-next.1
+
+## 0.3.2-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.5.4-next.0
+ - @backstage/backend-plugin-api@1.0.2-next.0
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+
+## 0.3.1
+
+### Patch Changes
+
+- 217458a: Updated configuration schema to include the new `allowedDomains` option for the `emailLocalPartMatchingUserEntityName` sign-in resolver.
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.5.3
+ - @backstage/backend-plugin-api@1.0.1
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+
+## 0.3.1-next.1
+
+### Patch Changes
+
+- 217458a: Updated configuration schema to include the new `allowedDomains` option for the `emailLocalPartMatchingUserEntityName` sign-in resolver.
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.5.3-next.1
+ - @backstage/backend-plugin-api@1.0.1-next.1
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+
+## 0.3.1-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.5.3-next.0
+ - @backstage/backend-plugin-api@1.0.1-next.0
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+
+## 0.3.0
+
+### Minor Changes
+
+- d425fc4: **BREAKING**: The return values from `createBackendPlugin`, `createBackendModule`, and `createServiceFactory` are now simply `BackendFeature` and `ServiceFactory`, instead of the previously deprecated form of a function that returns them. For this reason, `createServiceFactory` also no longer accepts the callback form where you provide direct options to the service. This also affects all `coreServices.*` service refs.
+
+ This may in particular affect tests; if you were effectively doing `createBackendModule({...})()` (note the parentheses), you can now remove those extra parentheses at the end. You may encounter cases of this in your `packages/backend/src/index.ts` too, where you add plugins, modules, and services. If you were using `createServiceFactory` with a function as its argument for the purpose of passing in options, this pattern has been deprecated for a while and is no longer supported. You may want to explore the new multiton patterns to achieve your goals, or moving settings to app-config.
+
+ As part of this change, the `IdentityFactoryOptions` type was removed, and can no longer be used to tweak that service. The identity service was also deprecated some time ago, and you will want to [migrate to the new auth system](https://backstage.io/docs/tutorials/auth-service-migration) if you still rely on it.
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.0.0
+ - @backstage/plugin-auth-node@0.5.2
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+
+## 0.3.0-next.2
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.5.2-next.2
+ - @backstage/backend-plugin-api@1.0.0-next.2
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+
+## 0.3.0-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.5.2-next.1
+ - @backstage/backend-plugin-api@0.9.0-next.1
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+
+## 0.3.0-next.0
+
+### Minor Changes
+
+- d425fc4: **BREAKING**: The return values from `createBackendPlugin`, `createBackendModule`, and `createServiceFactory` are now simply `BackendFeature` and `ServiceFactory`, instead of the previously deprecated form of a function that returns them. For this reason, `createServiceFactory` also no longer accepts the callback form where you provide direct options to the service. This also affects all `coreServices.*` service refs.
+
+ This may in particular affect tests; if you were effectively doing `createBackendModule({...})()` (note the parentheses), you can now remove those extra parentheses at the end. You may encounter cases of this in your `packages/backend/src/index.ts` too, where you add plugins, modules, and services. If you were using `createServiceFactory` with a function as its argument for the purpose of passing in options, this pattern has been deprecated for a while and is no longer supported. You may want to explore the new multiton patterns to achieve your goals, or moving settings to app-config.
+
+ As part of this change, the `IdentityFactoryOptions` type was removed, and can no longer be used to tweak that service. The identity service was also deprecated some time ago, and you will want to [migrate to the new auth system](https://backstage.io/docs/tutorials/auth-service-migration) if you still rely on it.
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.9.0-next.0
+ - @backstage/plugin-auth-node@0.5.2-next.0
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+
+## 0.2.0
+
+### Minor Changes
+
+- 75d026a: Support for Cloudflare Custom Headers and Custom Cookie Auth Name
+
+### Patch Changes
+
+- c8f1cae: Add `signIn` to authentication provider configuration schema
+- 93095ee: Make sure node-fetch is version 2.7.0 or greater
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.8.0
+ - @backstage/plugin-auth-node@0.5.0
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+
+## 0.2.0-next.3
+
+### Minor Changes
+
+- 75d026a: Support for Cloudflare Custom Headers and Custom Cookie Auth Name
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.8.0-next.3
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+ - @backstage/plugin-auth-node@0.5.0-next.3
+
+## 0.1.6-next.2
+
+### Patch Changes
+
+- 93095ee: Make sure node-fetch is version 2.7.0 or greater
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.8.0-next.2
+ - @backstage/plugin-auth-node@0.5.0-next.2
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+
+## 0.1.6-next.1
+
+### Patch Changes
+
+- c8f1cae: Add `signIn` to authentication provider configuration schema
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.7.1-next.1
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+ - @backstage/plugin-auth-node@0.4.18-next.1
+
+## 0.1.6-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.7.1-next.0
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+ - @backstage/plugin-auth-node@0.4.18-next.0
+
+## 0.1.5
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.7.0
+ - @backstage/plugin-auth-node@0.4.17
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+
+## 0.1.5-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.6.22-next.1
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+ - @backstage/plugin-auth-node@0.4.17-next.1
+
+## 0.1.4-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.6.21-next.0
+ - @backstage/plugin-auth-node@0.4.16-next.0
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+
+## 0.1.2
+
+### Patch Changes
+
+- 78a0b08: Internal refactor to handle `BackendFeature` contract change.
+- d44a20a: Added additional plugin metadata to `package.json`.
+- 1354d81: Use `node-fetch` instead of native fetch, as per
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.6.19
+ - @backstage/plugin-auth-node@0.4.14
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+
+## 0.1.2-next.3
+
+### Patch Changes
+
+- d44a20a: Added additional plugin metadata to `package.json`.
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.6.19-next.3
+ - @backstage/plugin-auth-node@0.4.14-next.3
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+
+## 0.1.2-next.2
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.6.19-next.2
+ - @backstage/plugin-auth-node@0.4.14-next.2
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+
+## 0.1.2-next.1
+
+### Patch Changes
+
+- 1354d81: Use `node-fetch` instead of native fetch, as per
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.6.19-next.1
+ - @backstage/plugin-auth-node@0.4.14-next.1
+
+## 0.1.2-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.6.19-next.0
+ - @backstage/plugin-auth-node@0.4.14-next.0
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+
+## 0.1.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.6.18
+ - @backstage/plugin-auth-node@0.4.13
+
+## 0.1.1-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.4.13-next.1
+ - @backstage/backend-plugin-api@0.6.18-next.1
+
+## 0.1.1-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.4.13-next.0
+ - @backstage/backend-plugin-api@0.6.18-next.0
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+
+## 0.1.0
+
+### Minor Changes
+
+- c26218d: Created a separate module for the Cloudflare Access auth provider
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.6.17
+ - @backstage/plugin-auth-node@0.4.12
+ - @backstage/config@1.2.0
+ - @backstage/errors@1.2.4
+
+## @backstage/plugin-auth-backend-module-gcp-iap-provider@0.4.12-next.0
+
+# @backstage/plugin-auth-backend-module-gcp-iap-provider
+
+## 0.4.11-next.0
+
+### Patch Changes
+
+- 69d880e: Bump to latest zod to ensure it has the latest features
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.7.0-next.0
+ - @backstage/plugin-auth-node@0.6.12-next.0
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.2
+
+## 0.4.10
+
+### Patch Changes
+
+- de96a60: chore(deps): bump `express` from 4.21.2 to 4.22.0
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.10
+ - @backstage/backend-plugin-api@1.6.0
+
+## 0.4.10-next.1
+
+### Patch Changes
+
+- de96a60: chore(deps): bump `express` from 4.21.2 to 4.22.0
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.10-next.1
+ - @backstage/backend-plugin-api@1.6.0-next.1
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.2
+
+## 0.4.10-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.10-next.0
+ - @backstage/backend-plugin-api@1.5.1-next.0
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.2
+
+## 0.4.9
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.5.0
+ - @backstage/plugin-auth-node@0.6.9
+
+## 0.4.9-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.5.0-next.1
+ - @backstage/plugin-auth-node@0.6.9-next.1
+
+## 0.4.9-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.9-next.0
+ - @backstage/backend-plugin-api@1.4.5-next.0
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.2
+
+## 0.4.8
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.4.4
+ - @backstage/plugin-auth-node@0.6.8
+
+## 0.4.8-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.4.4-next.0
+ - @backstage/plugin-auth-node@0.6.8-next.0
+
+## 0.4.7
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.7
+ - @backstage/types@1.2.2
+ - @backstage/backend-plugin-api@1.4.3
+
+## 0.4.7-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.7-next.0
+ - @backstage/backend-plugin-api@1.4.3-next.0
+
+## 0.4.6
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.6
+ - @backstage/backend-plugin-api@1.4.2
+
+## 0.4.6-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.6-next.0
+ - @backstage/backend-plugin-api@1.4.2-next.0
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.1
+
+## 0.4.5
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.4.1
+ - @backstage/plugin-auth-node@0.6.5
+
+## 0.4.5-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.4.1-next.0
+ - @backstage/plugin-auth-node@0.6.5-next.0
+
+## 0.4.4
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.4
+ - @backstage/backend-plugin-api@1.4.0
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.1
+
+## 0.4.4-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.4-next.1
+ - @backstage/backend-plugin-api@1.4.0-next.1
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.1
+
+## 0.4.4-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.4.0-next.0
+ - @backstage/plugin-auth-node@0.6.4-next.0
+
+## 0.4.3
+
+### Patch Changes
+
+- 5cc1f7f: Introduce `dangerouslyAllowSignInWithoutUserInCatalog` auth resolver config.
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.3
+ - @backstage/backend-plugin-api@1.3.1
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.1
+
+## 0.4.3-next.2
+
+### Patch Changes
+
+- 5cc1f7f: Introduce `dangerouslyAllowSignInWithoutUserInCatalog` auth resolver config.
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.3-next.2
+ - @backstage/backend-plugin-api@1.3.1-next.2
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.1
+
+## 0.4.3-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.3-next.1
+ - @backstage/backend-plugin-api@1.3.1-next.1
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.1
+
+## 0.4.3-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.3.1-next.0
+ - @backstage/plugin-auth-node@0.6.3-next.0
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.1
+
+## 0.4.2
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.3.0
+ - @backstage/plugin-auth-node@0.6.2
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.1
+
+## 0.4.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.1
+ - @backstage/backend-plugin-api@1.2.1
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.1
+
+## 0.4.1-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.1-next.1
+ - @backstage/backend-plugin-api@1.2.1-next.1
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.1
+
+## 0.4.1-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.1-next.0
+ - @backstage/backend-plugin-api@1.2.1-next.0
+
+## 0.4.0
+
+### Minor Changes
+
+- 61f464e: Added `auth.providers..sessionDuration` config for auth providers to allow the lifespan of user sessions to be configured.
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.2.0
+ - @backstage/plugin-auth-node@0.6.0
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.1
+
+## 0.4.0-next.2
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.2.0-next.2
+ - @backstage/plugin-auth-node@0.6.0-next.2
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.1
+
+## 0.4.0-next.1
+
+### Minor Changes
+
+- 61f464e: Added `auth.providers..sessionDuration` config for auth providers to allow the lifespan of user sessions to be configured.
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.2.0-next.1
+ - @backstage/plugin-auth-node@0.6.0-next.1
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.1
+
+## 0.3.5-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.2.0-next.0
+ - @backstage/errors@1.2.7
+ - @backstage/types@1.2.1
+ - @backstage/plugin-auth-node@0.5.7-next.0
+
+## 0.3.4
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/types@1.2.1
+ - @backstage/plugin-auth-node@0.5.6
+ - @backstage/backend-plugin-api@1.1.1
+ - @backstage/errors@1.2.7
+
+## 0.3.4-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/types@1.2.1-next.0
+ - @backstage/backend-plugin-api@1.1.1-next.1
+ - @backstage/errors@1.2.7-next.0
+ - @backstage/plugin-auth-node@0.5.6-next.1
+
+## 0.3.4-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.5.6-next.0
+ - @backstage/backend-plugin-api@1.1.1-next.0
+ - @backstage/errors@1.2.6
+ - @backstage/types@1.2.0
+
+## 0.3.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.5.5
+ - @backstage/backend-plugin-api@1.1.0
+ - @backstage/errors@1.2.6
+ - @backstage/types@1.2.0
+
+## 0.3.3-next.2
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.1.0-next.2
+ - @backstage/errors@1.2.6-next.0
+ - @backstage/plugin-auth-node@0.5.5-next.2
+ - @backstage/types@1.2.0
+
+## 0.3.3-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.5.5-next.1
+ - @backstage/backend-plugin-api@1.1.0-next.1
+ - @backstage/errors@1.2.5
+ - @backstage/types@1.2.0
+
+## 0.3.3-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.0.3-next.0
+ - @backstage/plugin-auth-node@0.5.5-next.0
+ - @backstage/errors@1.2.5
+ - @backstage/types@1.2.0
+
+## 0.3.2
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/types@1.2.0
+ - @backstage/plugin-auth-node@0.5.4
+ - @backstage/backend-plugin-api@1.0.2
+ - @backstage/errors@1.2.5
+
+## 0.3.2-next.2
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.5.4-next.2
+ - @backstage/backend-plugin-api@1.0.2-next.2
+ - @backstage/errors@1.2.4
+ - @backstage/types@1.1.1
+
+## 0.3.2-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.0.2-next.1
+ - @backstage/errors@1.2.4
+ - @backstage/types@1.1.1
+ - @backstage/plugin-auth-node@0.5.4-next.1
+
+## 0.3.2-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.5.4-next.0
+ - @backstage/backend-plugin-api@1.0.2-next.0
+ - @backstage/errors@1.2.4
+ - @backstage/types@1.1.1
+
+## 0.3.1
+
+### Patch Changes
+
+- 217458a: Updated configuration schema to include the new `allowedDomains` option for the `emailLocalPartMatchingUserEntityName` sign-in resolver.
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.5.3
+ - @backstage/backend-plugin-api@1.0.1
+ - @backstage/errors@1.2.4
+ - @backstage/types@1.1.1
+
+## 0.3.1-next.1
+
+### Patch Changes
+
+- 217458a: Updated configuration schema to include the new `allowedDomains` option for the `emailLocalPartMatchingUserEntityName` sign-in resolver.
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.5.3-next.1
+ - @backstage/backend-plugin-api@1.0.1-next.1
+ - @backstage/errors@1.2.4
+ - @backstage/types@1.1.1
+
+## 0.3.1-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.5.3-next.0
+ - @backstage/backend-plugin-api@1.0.1-next.0
+ - @backstage/errors@1.2.4
+ - @backstage/types@1.1.1
+
+## 0.3.0
+
+### Minor Changes
+
+- d425fc4: **BREAKING**: The return values from `createBackendPlugin`, `createBackendModule`, and `createServiceFactory` are now simply `BackendFeature` and `ServiceFactory`, instead of the previously deprecated form of a function that returns them. For this reason, `createServiceFactory` also no longer accepts the callback form where you provide direct options to the service. This also affects all `coreServices.*` service refs.
+
+ This may in particular affect tests; if you were effectively doing `createBackendModule({...})()` (note the parentheses), you can now remove those extra parentheses at the end. You may encounter cases of this in your `packages/backend/src/index.ts` too, where you add plugins, modules, and services. If you were using `createServiceFactory` with a function as its argument for the purpose of passing in options, this pattern has been deprecated for a while and is no longer supported. You may want to explore the new multiton patterns to achieve your goals, or moving settings to app-config.
+
+ As part of this change, the `IdentityFactoryOptions` type was removed, and can no longer be used to tweak that service. The identity service was also deprecated some time ago, and you will want to [migrate to the new auth system](https://backstage.io/docs/tutorials/auth-service-migration) if you still rely on it.
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.0.0
+ - @backstage/plugin-auth-node@0.5.2
+ - @backstage/errors@1.2.4
+ - @backstage/types@1.1.1
+
+## 0.3.0-next.2
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.5.2-next.2
+ - @backstage/backend-plugin-api@1.0.0-next.2
+ - @backstage/errors@1.2.4
+ - @backstage/types@1.1.1
+
+## 0.3.0-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.5.2-next.1
+ - @backstage/backend-plugin-api@0.9.0-next.1
+ - @backstage/errors@1.2.4
+ - @backstage/types@1.1.1
+
+## 0.3.0-next.0
+
+### Minor Changes
+
+- d425fc4: **BREAKING**: The return values from `createBackendPlugin`, `createBackendModule`, and `createServiceFactory` are now simply `BackendFeature` and `ServiceFactory`, instead of the previously deprecated form of a function that returns them. For this reason, `createServiceFactory` also no longer accepts the callback form where you provide direct options to the service. This also affects all `coreServices.*` service refs.
+
+ This may in particular affect tests; if you were effectively doing `createBackendModule({...})()` (note the parentheses), you can now remove those extra parentheses at the end. You may encounter cases of this in your `packages/backend/src/index.ts` too, where you add plugins, modules, and services. If you were using `createServiceFactory` with a function as its argument for the purpose of passing in options, this pattern has been deprecated for a while and is no longer supported. You may want to explore the new multiton patterns to achieve your goals, or moving settings to app-config.
+
+ As part of this change, the `IdentityFactoryOptions` type was removed, and can no longer be used to tweak that service. The identity service was also deprecated some time ago, and you will want to [migrate to the new auth system](https://backstage.io/docs/tutorials/auth-service-migration) if you still rely on it.
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.9.0-next.0
+ - @backstage/plugin-auth-node@0.5.2-next.0
+ - @backstage/errors@1.2.4
+ - @backstage/types@1.1.1
+
+## 0.2.18
+
+### Patch Changes
+
+- c8f1cae: Add `signIn` to authentication provider configuration schema
+- 13a9c63: Corrected the documentation for the GCP IAP auth module and updated the configuration to follow proxy configuration conventions by ignoring authEnv
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.8.0
+ - @backstage/plugin-auth-node@0.5.0
+ - @backstage/errors@1.2.4
+ - @backstage/types@1.1.1
+
+## 0.2.18-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.8.0-next.3
+ - @backstage/errors@1.2.4
+ - @backstage/types@1.1.1
+ - @backstage/plugin-auth-node@0.5.0-next.3
+
+## 0.2.18-next.2
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.8.0-next.2
+ - @backstage/plugin-auth-node@0.5.0-next.2
+ - @backstage/errors@1.2.4
+ - @backstage/types@1.1.1
+
+## 0.2.18-next.1
+
+### Patch Changes
+
+- c8f1cae: Add `signIn` to authentication provider configuration schema
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.7.1-next.1
+ - @backstage/errors@1.2.4
+ - @backstage/types@1.1.1
+ - @backstage/plugin-auth-node@0.4.18-next.1
+
+## 0.2.18-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.7.1-next.0
+ - @backstage/errors@1.2.4
+ - @backstage/types@1.1.1
+ - @backstage/plugin-auth-node@0.4.18-next.0
+
+## 0.2.17
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.7.0
+ - @backstage/plugin-auth-node@0.4.17
+ - @backstage/errors@1.2.4
+ - @backstage/types@1.1.1
+
+## 0.2.17-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.6.22-next.1
+ - @backstage/errors@1.2.4
+ - @backstage/types@1.1.1
+ - @backstage/plugin-auth-node@0.4.17-next.1
+
+## 0.2.16-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.6.21-next.0
+ - @backstage/plugin-auth-node@0.4.16-next.0
+ - @backstage/errors@1.2.4
+ - @backstage/types@1.1.1
+
+## 0.2.14
+
+### Patch Changes
+
+- 78a0b08: Internal refactor to handle `BackendFeature` contract change.
+- d44a20a: Added additional plugin metadata to `package.json`.
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.6.19
+ - @backstage/plugin-auth-node@0.4.14
+ - @backstage/errors@1.2.4
+ - @backstage/types@1.1.1
+
+## 0.2.14-next.2
+
+### Patch Changes
+
+- d44a20a: Added additional plugin metadata to `package.json`.
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.6.19-next.3
+ - @backstage/plugin-auth-node@0.4.14-next.3
+ - @backstage/errors@1.2.4
+ - @backstage/types@1.1.1
+
+## 0.2.14-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.6.19-next.2
+ - @backstage/plugin-auth-node@0.4.14-next.2
+ - @backstage/errors@1.2.4
+ - @backstage/types@1.1.1
+
+## 0.2.14-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.6.19-next.0
+ - @backstage/plugin-auth-node@0.4.14-next.0
+ - @backstage/errors@1.2.4
+ - @backstage/types@1.1.1
+
+## 0.2.13
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.6.18
+ - @backstage/plugin-auth-node@0.4.13
+
+## 0.2.13-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.4.13-next.1
+ - @backstage/backend-plugin-api@0.6.18-next.1
+
+## 0.2.13-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.4.13-next.0
+ - @backstage/backend-plugin-api@0.6.18-next.0
+ - @backstage/errors@1.2.4
+ - @backstage/types@1.1.1
+
+## 0.2.12
+
+### Patch Changes
+
+- e0ed31c: Add user id annotation sign-in resolver
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.6.17
+ - @backstage/plugin-auth-node@0.4.12
+ - @backstage/errors@1.2.4
+ - @backstage/types@1.1.1
+
+## 0.2.12-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.6.17-next.1
+ - @backstage/plugin-auth-node@0.4.12-next.1
+ - @backstage/errors@1.2.4
+ - @backstage/types@1.1.1
+
+## 0.2.12-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.6.17-next.0
+ - @backstage/errors@1.2.4
+ - @backstage/types@1.1.1
+ - @backstage/plugin-auth-node@0.4.12-next.0
+
+## 0.2.11
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.4.11
+ - @backstage/backend-plugin-api@0.6.16
+ - @backstage/errors@1.2.4
+ - @backstage/types@1.1.1
+
+## 0.2.10
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.4.10
+ - @backstage/backend-plugin-api@0.6.15
+ - @backstage/errors@1.2.4
+ - @backstage/types@1.1.1
+
+## 0.2.9
+
+### Patch Changes
+
+- 38af71a: Updated dependency `google-auth-library` to `^9.0.0`.
+- b1b012d: Fix issue with `providerInfo` not being set properly for some proxy providers, by making `providerInfo` an explicit optional return from `authenticate`
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.4.9
+ - @backstage/errors@1.2.4
+ - @backstage/backend-plugin-api@0.6.14
+ - @backstage/types@1.1.1
+
+## 0.2.9-next.2
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.4.9-next.2
+ - @backstage/backend-plugin-api@0.6.14-next.2
+ - @backstage/errors@1.2.4-next.0
+ - @backstage/types@1.1.1
+
+## 0.2.9-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.6.14-next.1
+ - @backstage/plugin-auth-node@0.4.9-next.1
+ - @backstage/errors@1.2.4-next.0
+ - @backstage/types@1.1.1
+
+## 0.2.8-next.0
+
+### Patch Changes
+
+- 38af71a: Updated dependency `google-auth-library` to `^9.0.0`.
+- b1b012d: Fix issue with `providerInfo` not being set properly for some proxy providers, by making `providerInfo` an explicit optional return from `authenticate`
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.4.8-next.0
+ - @backstage/errors@1.2.4-next.0
+ - @backstage/backend-plugin-api@0.6.13-next.0
+ - @backstage/types@1.1.1
+
+## 0.2.4
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.4.4
+ - @backstage/backend-plugin-api@0.6.10
+ - @backstage/errors@1.2.3
+ - @backstage/types@1.1.1
+
+## 0.2.4-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.4.4-next.3
+ - @backstage/backend-plugin-api@0.6.10-next.3
+ - @backstage/errors@1.2.3
+ - @backstage/types@1.1.1
+
+## 0.2.4-next.2
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.6.10-next.2
+ - @backstage/plugin-auth-node@0.4.4-next.2
+ - @backstage/errors@1.2.3
+ - @backstage/types@1.1.1
+
+## 0.2.4-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.6.10-next.1
+ - @backstage/errors@1.2.3
+ - @backstage/types@1.1.1
+ - @backstage/plugin-auth-node@0.4.4-next.1
+
+## 0.2.4-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.4.4-next.0
+ - @backstage/backend-plugin-api@0.6.10-next.0
+ - @backstage/errors@1.2.3
+ - @backstage/types@1.1.1
+
+## 0.2.3
+
+### Patch Changes
+
+- 4016f21: Remove some unused dependencies
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.6.9
+ - @backstage/plugin-auth-node@0.4.3
+ - @backstage/errors@1.2.3
+ - @backstage/types@1.1.1
+
+## 0.2.3-next.2
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.6.9-next.2
+ - @backstage/plugin-auth-node@0.4.3-next.2
+
+## 0.2.3-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.4.3-next.1
+ - @backstage/backend-plugin-api@0.6.9-next.1
+ - @backstage/errors@1.2.3
+ - @backstage/types@1.1.1
+
+## 0.2.3-next.0
+
+### Patch Changes
+
+- 4016f21: Remove some unused dependencies
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.6.9-next.0
+ - @backstage/errors@1.2.3
+ - @backstage/types@1.1.1
+ - @backstage/plugin-auth-node@0.4.3-next.0
+
+## 0.2.2
+
+### Patch Changes
+
+- cc4228e: Switched module ID to use kebab-case.
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.4.2
+ - @backstage/backend-plugin-api@0.6.8
+ - @backstage/errors@1.2.3
+ - @backstage/types@1.1.1
+
+## 0.2.2-next.3
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.6.8-next.3
+ - @backstage/errors@1.2.3
+ - @backstage/types@1.1.1
+ - @backstage/plugin-auth-node@0.4.2-next.3
+
+## 0.2.2-next.2
+
+### Patch Changes
+
+- cc4228e: Switched module ID to use kebab-case.
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.4.2-next.2
+ - @backstage/backend-plugin-api@0.6.8-next.2
+ - @backstage/errors@1.2.3
+ - @backstage/types@1.1.1
+
+## 0.2.2-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.6.8-next.1
+ - @backstage/errors@1.2.3
+ - @backstage/types@1.1.1
+ - @backstage/plugin-auth-node@0.4.2-next.1
+
+## 0.2.2-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.4.2-next.0
+ - @backstage/backend-plugin-api@0.6.8-next.0
+ - @backstage/errors@1.2.3
+ - @backstage/types@1.1.1
+
+## 0.2.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.6.7
+ - @backstage/errors@1.2.3
+ - @backstage/types@1.1.1
+ - @backstage/plugin-auth-node@0.4.1
+
+## 0.2.1-next.2
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.6.7-next.2
+ - @backstage/plugin-auth-node@0.4.1-next.2
+
+## 0.2.1-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.4.1-next.1
+ - @backstage/backend-plugin-api@0.6.7-next.1
+ - @backstage/errors@1.2.3
+ - @backstage/types@1.1.1
+
+## 0.2.1-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.6.7-next.0
+ - @backstage/errors@1.2.3
+ - @backstage/types@1.1.1
+ - @backstage/plugin-auth-node@0.4.1-next.0
+
+## 0.2.0
+
+### Minor Changes
+
+- 6f142d5356: **BREAKING** `gcpIapAuthenticator.initialize()` is no longer `async`
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.4.0
+ - @backstage/errors@1.2.3
+ - @backstage/backend-plugin-api@0.6.6
+ - @backstage/types@1.1.1
+
+## 0.2.0-next.2
+
+### Minor Changes
+
+- 6f142d5356: **BREAKING** `gcpIapAuthenticator.initialize()` is no longer `async`
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.4.0-next.2
+ - @backstage/errors@1.2.3-next.0
+ - @backstage/backend-plugin-api@0.6.6-next.2
+ - @backstage/types@1.1.1
+
+## 0.1.2-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.6.5-next.1
+ - @backstage/plugin-auth-node@0.3.2-next.1
+ - @backstage/errors@1.2.2
+ - @backstage/types@1.1.1
+
+## 0.1.2-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.3.2-next.0
+ - @backstage/backend-plugin-api@0.6.5-next.0
+ - @backstage/errors@1.2.2
+ - @backstage/types@1.1.1
+
+## 0.1.0
+
+### Minor Changes
+
+- 8513cd7d00e3: New module for `@backstage/plugin-auth-backend` that adds a GCP IAP auth provider.
+
+### Patch Changes
+
+- 71114ac50e02: The export for the new backend system has been moved to be the `default` export.
+
+ For example, if you are currently importing the plugin using the following pattern:
+
+ ```ts
+ import { examplePlugin } from '@backstage/plugin-example-backend';
+
+ backend.add(examplePlugin);
+ ```
+
+ It should be migrated to this:
+
+ ```ts
+ backend.add(import('@backstage/plugin-example-backend'));
+ ```
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.3.0
+ - @backstage/errors@1.2.2
+ - @backstage/types@1.1.1
+ - @backstage/backend-plugin-api@0.6.3
+
+## 0.1.0-next.3
+
+### Patch Changes
+
+- 71114ac50e02: The export for the new backend system has been moved to be the `default` export.
+
+ For example, if you are currently importing the plugin using the following pattern:
+
+ ```ts
+ import { examplePlugin } from '@backstage/plugin-example-backend';
+
+ backend.add(examplePlugin);
+ ```
+
+ It should be migrated to this:
+
+ ```ts
+ backend.add(import('@backstage/plugin-example-backend'));
+ ```
+
+- Updated dependencies
+ - @backstage/errors@1.2.2-next.0
+ - @backstage/types@1.1.1-next.0
+ - @backstage/backend-plugin-api@0.6.3-next.3
+ - @backstage/plugin-auth-node@0.3.0-next.3
+
+## 0.1.0-next.2
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.3.0-next.2
+ - @backstage/backend-plugin-api@0.6.3-next.2
+ - @backstage/errors@1.2.1
+ - @backstage/types@1.1.0
+
+## 0.1.0-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@0.6.3-next.1
+ - @backstage/plugin-auth-node@0.3.0-next.1
+ - @backstage/errors@1.2.1
+ - @backstage/types@1.1.0
+
+## 0.1.0-next.0
+
+### Minor Changes
+
+- 8513cd7d00e3: New module for `@backstage/plugin-auth-backend` that adds a GCP IAP auth provider.
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.3.0-next.0
+ - @backstage/backend-plugin-api@0.6.2-next.0
+ - @backstage/errors@1.2.1
+ - @backstage/types@1.1.0
+
+## @backstage/plugin-auth-backend-module-google-provider@0.3.12-next.0
+
+# @backstage/plugin-auth-backend-module-google-provider
+
+## 0.3.11-next.0
+
+### Patch Changes
+
+- 69d880e: Bump to latest zod to ensure it has the latest features
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.7.0-next.0
+ - @backstage/plugin-auth-node@0.6.12-next.0
+
+## 0.3.10
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.10
+ - @backstage/backend-plugin-api@1.6.0
+
+## 0.3.10-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.10-next.1
+ - @backstage/backend-plugin-api@1.6.0-next.1
+
+## 0.3.10-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.10-next.0
+ - @backstage/backend-plugin-api@1.5.1-next.0
+
+## 0.3.9
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.5.0
+ - @backstage/plugin-auth-node@0.6.9
+
+## 0.3.9-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.5.0-next.1
+ - @backstage/plugin-auth-node@0.6.9-next.1
+
+## 0.3.9-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.9-next.0
+ - @backstage/backend-plugin-api@1.4.5-next.0
+
+## 0.3.8
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.4.4
+ - @backstage/plugin-auth-node@0.6.8
+
+## 0.3.8-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.4.4-next.0
+ - @backstage/plugin-auth-node@0.6.8-next.0
+
+## 0.3.7
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.7
+ - @backstage/backend-plugin-api@1.4.3
+
+## 0.3.7-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.7-next.0
+ - @backstage/backend-plugin-api@1.4.3-next.0
+
+## 0.3.6
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.6
+ - @backstage/backend-plugin-api@1.4.2
+
+## 0.3.6-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.6-next.0
+ - @backstage/backend-plugin-api@1.4.2-next.0
+
+## 0.3.5
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.4.1
+ - @backstage/plugin-auth-node@0.6.5
+
+## 0.3.5-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.4.1-next.0
+ - @backstage/plugin-auth-node@0.6.5-next.0
+
+## 0.3.4
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.4
+ - @backstage/backend-plugin-api@1.4.0
+
+## 0.3.4-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.4-next.1
+ - @backstage/backend-plugin-api@1.4.0-next.1
+
+## 0.3.4-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.4.0-next.0
+ - @backstage/plugin-auth-node@0.6.4-next.0
+
+## 0.3.3
+
+### Patch Changes
+
+- 5cc1f7f: Introduce `dangerouslyAllowSignInWithoutUserInCatalog` auth resolver config.
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.3
+ - @backstage/backend-plugin-api@1.3.1
+
+## 0.3.3-next.2
+
+### Patch Changes
+
+- 5cc1f7f: Introduce `dangerouslyAllowSignInWithoutUserInCatalog` auth resolver config.
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.3-next.2
+ - @backstage/backend-plugin-api@1.3.1-next.2
+
+## 0.3.3-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.3-next.1
+ - @backstage/backend-plugin-api@1.3.1-next.1
+
+## 0.3.3-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.3.1-next.0
+ - @backstage/plugin-auth-node@0.6.3-next.0
+
+## 0.3.2
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/backend-plugin-api@1.3.0
+ - @backstage/plugin-auth-node@0.6.2
+
+## 0.3.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.1
+ - @backstage/backend-plugin-api@1.2.1
+
+## 0.3.1-next.1
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.1-next.1
+ - @backstage/backend-plugin-api@1.2.1-next.1
+
+## 0.3.1-next.0
+
+### Patch Changes
+
+- Updated dependencies
+ - @backstage/plugin-auth-node@0.6.1-next.0
+ - @backstage/backend-plugin-api@1.2.1-next.0
+
+## 0.3.0
+
+### Minor Changes
+
+- 61f464e: Added `auth.providers.