|
4 | 4 |
|
5 | 5 | This section highlights new features in {product} {product-version}. |
6 | 6 |
|
7 | | -None. |
| 7 | +[id="feature-rhidp-5499"] |
| 8 | +== `techdocsAddons` configuration for dynamic plugins |
| 9 | + |
| 10 | +{product-short} introduces the `techdocsAddons` configuration option for a dynamic plugin's front-end configuration. This feature allows dynamic plugins to export one or more components as TechDocs add-ons, enhancing the TechDocs experience. Add-ons can be configured using props to modify their behavior, such as manipulating a TechDocs site's Document Object Model (DOM). |
| 11 | +For more information, see <link to docs>. |
| 12 | + |
| 13 | +[id="feature-rhidp-5125"] |
| 14 | +== Configurable global header plugin |
| 15 | + |
| 16 | +With this update, {product-short} introduces a new global header plugin, providing a configurable and extendable header in {product-very-short}. You can use the default header with key {product-very-short} components or fully customize it by enabling, disabling, or extending its functionality through the dynamic plugin system. |
| 17 | + |
| 18 | +The key features and enhancements include: |
| 19 | + |
| 20 | +* Global header as a dynamic plugin |
| 21 | +** Enabled by default with a provided wrapper |
| 22 | +** Can be disabled by turning off the dynamic plugin |
| 23 | +** Supports customization by adding, reordering, or removing components |
| 24 | + |
| 25 | +* Extendable default header components |
| 26 | +** Search input field |
| 27 | +** *Create* button linking to templates |
| 28 | +** Support for internal or external links, such as support and notification icons |
| 29 | +** **Profile** and **Create** drop-down menus |
| 30 | + |
| 31 | +* Plugin extension capabilities |
| 32 | +** Other plugins can add custom components or links |
| 33 | +** Extend the `CreateDropdown` or `ProfileDropdown` menus |
| 34 | + |
| 35 | +The global header plugin also introduces new mount points in the dynamic plugin system, offering enhanced flexibility in positioning, styling, and extending the header, enabling a fully customizable experience in {product-very-short}. |
| 36 | + |
| 37 | +For more information about global header, see <doc links>. |
| 38 | + |
| 39 | +[id="feature-rhidp-4676"] |
| 40 | +== New dynamic plugin for Kubernetes scaffolder actions |
| 41 | + |
| 42 | +With this update, {product-short} introduces the `@backstage-community/plugin-scaffolder-backend-module-kubernetes` plugin as a dynamic plugin, enabling Backstage template actions for Kubernetes. Currently, it includes the `create-namespace` action. The plugin for Kubernetes scaffolder actions is disabled by default. |
| 43 | + |
| 44 | +For more information, see <doc links>. |
| 45 | + |
| 46 | +[id="feature-rhidp-5484"] |
| 47 | +== Support for loading authentication providers from dynamic plugins |
| 48 | + |
| 49 | +{product} {product-version} introduces support for loading authentication providers or modules from dynamic plugins, enabling greater flexibility and customization. The key improvements include: |
| 50 | + |
| 51 | +* Environment variable control: |
| 52 | +** A new `ENABLE_AUTH_PROVIDER_MODULE_OVERRIDE` environment variable determines whether the backend installs the default authentication provider module. |
| 53 | +** When the new environment variable is enabled, dynamic plugins can be used to supply custom authentication providers. |
| 54 | + |
| 55 | +* Custom sign-in page support: |
| 56 | ++ |
| 57 | +-- |
| 58 | +** A new `signInPage` configuration allows front-end dynamic plugins to provide a custom `SignInPage` component. |
| 59 | ++ |
| 60 | +.Example configuration |
| 61 | +[source,yaml] |
| 62 | +---- |
| 63 | +dynamicPlugins: |
| 64 | + frontend: |
| 65 | + my-plugin-package: |
| 66 | + signInPage: |
| 67 | + importName: CustomSignInPage |
| 68 | +---- |
| 69 | + |
| 70 | +** The exported `CustomSignInPage` will be mapped to `components.SignInPage` during front-end initialization. |
| 71 | +-- |
| 72 | + |
| 73 | +* Authentication provider settings: |
| 74 | ++ |
| 75 | +-- |
| 76 | +** A new `providerSettings` configuration field allows front-end dynamic plugins to define authentication provider settings for display in the *Authentication Providers* tab on the *Settings* page. |
| 77 | ++ |
| 78 | +.Example configuration |
| 79 | +[source,yaml] |
| 80 | +---- |
| 81 | +dynamicPlugins: |
| 82 | + frontend: |
| 83 | + my-plugin-package: |
| 84 | + providerSettings: |
| 85 | +- title: Github Two |
| 86 | +description: Sign in with GitHub Org Two |
| 87 | +provider: core.auth.github-two |
| 88 | +---- |
| 89 | + |
| 90 | +** Each `providerSettings` entry creates a corresponding row in the *Authentication Providers* tab. The provider field must match the string used in `createApiRef` when defining the API reference: |
| 91 | ++ |
| 92 | +.Example configuration |
| 93 | +[source,javascript] |
| 94 | +---- |
| 95 | +export const ghTwoAuthApiRef: ApiRef< |
| 96 | + OAuthApi & ProfileInfoApi & BackstageIdentityApi & SessionApi |
| 97 | +> = createApiRef({ |
| 98 | + id: 'core.auth.github-two', // <--- this string |
| 99 | +}) |
| 100 | +---- |
| 101 | +-- |
| 102 | + |
| 103 | +For more information, see <doc links>. |
| 104 | + |
| 105 | +[id="feature-rhidp-5513"] |
| 106 | +== Floating action button support for plugins |
| 107 | + |
| 108 | +{product-very-short} now supports adding plugins as floating action on selected pages. This feature allows you to configure commonly used plugins as floating buttons, providing quick access and improving navigation by centralizing essential plugins on a single page. |
| 109 | + |
| 110 | +For more information, see <doc links>. |
| 111 | + |
| 112 | +[id="feature-rhidp-4235"] |
| 113 | +== Support for top visited and recently visited cards on the customizable home page |
| 114 | + |
| 115 | +With {product-very-short} {product-version}, two new cards are available for the customizable home page: |
| 116 | + |
| 117 | +* **Top Visited Pages**: Displays the most frequently visited pages. |
| 118 | +* **Recently Visited Pages**: Displays the latest pages accessed. |
| 119 | + |
| 120 | +These cards track visited pages for each user within their browser and can be configured in the dynamic home page as follows: |
| 121 | + |
| 122 | +.Example configuration |
| 123 | +[source,yaml] |
| 124 | +---- |
| 125 | +- mountPoint: home.page/cards |
| 126 | + importName: TopVisitedCard |
| 127 | + config: |
| 128 | + layouts: |
| 129 | + xl: { w: 6, h: 4 } |
| 130 | + lg: { w: 6, h: 4 } |
| 131 | + md: { w: 6, h: 4 } |
| 132 | + sm: { w: 6, h: 4 } |
| 133 | + xs: { w: 6, h: 4 } |
| 134 | + xxs: { w: 6, h: 4 } |
| 135 | +
|
| 136 | +
|
| 137 | +- mountPoint: home.page/cards |
| 138 | + importName: RecentlyVisitedCard |
| 139 | + config: |
| 140 | + layouts: |
| 141 | + xl: { w: 6, h: 4, x: 6 } |
| 142 | + lg: { w: 6, h: 4, x: 6 } |
| 143 | + md: { w: 6, h: 4, x: 6 } |
| 144 | + sm: { w: 6, h: 4, x: 6 } |
| 145 | + xs: { w: 6, h: 4, x: 6 } |
| 146 | + xxs: { w: 6, h: 4, x: 6 } |
| 147 | +---- |
| 148 | + |
| 149 | +The new cards enhance the user experience by providing quick access to frequently used and recently viewed content. |
| 150 | + |
| 151 | +[id="enhancement-rhidp-5815"] |
| 152 | +== Improved rate limit handling for GitHub organization entity provider |
| 153 | + |
| 154 | +The GitHub organization entity provider now manages both primary and secondary GitHub rate limits. It automatically pauses operations when these limits are reached, ensuring greater reliability, especially when ingesting large GitHub organizations. |
| 155 | + |
| 156 | +[id="feature-rhidp-5814"] |
| 157 | +== New configuration option for improved catalog performance |
| 158 | + |
| 159 | +A new `catalog.disableRelationsCompatibility` configuration option has been introduced. Enabling this option enhances catalog performance and reduces memory usage. However, it may impact consumers that depend on the target field in relation objects. |
| 160 | + |
| 161 | +[id="feature-rhidp-5813"] |
| 162 | +== New Scaffolder permission for front-end template management |
| 163 | + |
| 164 | +The `scaffolder.template.management` permission has been introduced to restrict access to front-end template management features, ensuring better control over template modifications. For more information, see link:https://docs.redhat.com/en/documentation/red_hat_developer_hub/{product-version}/html-single/authorization/index#ref-rbac-permission-policies_title-authorization[Permission policies reference]. |
| 165 | + |
| 166 | +[id="enhancement-rhidp-5732"] |
| 167 | +== Support for multi-replica RHDH with persistent volume for dynamic plugins cache |
| 168 | + |
| 169 | +Previously, running multi-replica {product-very-short} with a persistent volume for the dynamic plugins cache was not possible due to potential write conflicts. {product-very-short} {product-version} mitigates that risk, allowing for better scalability and stability. |
| 170 | + |
| 171 | +[id="enhancement-rhidp-4595"] |
| 172 | +== Configurable PVC mounting for containers |
| 173 | + |
| 174 | +Previously, the default Persistent Volume Claim (PVC) could only be mounted to the Backstage container. With this update, you can now configure which container(s) the PVC must be mounted to, providing greater flexibility in storage management. |
| 175 | + |
| 176 | +[id="enhancement-rhidp-4785"] |
| 177 | +== Enhanced secret configuration for YAML files |
| 178 | +{product-very-short} now introduces the ability to configure multiple secrets within a single YAML file, similar to PVCs. Additionally, it allows annotations to specify: |
| 179 | + |
| 180 | +* The mount path for each secret |
| 181 | +* The specific containers where the secret must be mounted |
| 182 | + |
| 183 | +This enhancement provides greater flexibility in managing secrets across different containers. |
| 184 | + |
| 185 | +[id="enhancement-rhidp-5601"] |
| 186 | +== Enhanced title customization options for the home page plugin |
| 187 | + |
| 188 | +The home page plugin now provides more ways to customize and personalize the title. If your user catalog entity includes a `displayName`, the title can dynamically display your first name or display name for a more personalized experience. |
| 189 | + |
8 | 190 |
|
0 commit comments