Skip to content

Releases: SchweizerischeBundesbahnen/scion-workbench

1.0.0-beta.35 (@scion/workbench-client)

12 Nov 10:28

Choose a tag to compare

1.0.0-beta.35 (2025-11-12)

Features

  • workbench-client: enable microfrontend to inject current workbench element (d2e4537)

20.0.0-beta.9 (@scion/workbench)

11 Nov 12:58

Choose a tag to compare

20.0.0-beta.9 (2025-11-11)

Features

  • workbench/perspective: enable contribution of microfrontend parts to a workbench perspective (b6d25cf), closes #683
  • workbench/part: support activating docked part when adding it to the layout (89aba48)
  • workbench/dialog: add support for non-blocking dialog (28b0291)
  • workbench/dialog: add support for part-modal dialog (4411246)
  • workbench/notification: enable closing notification via handle (7b425bd)
  • workbench/notification: prevent notification from closing on hover (903a912)

BREAKING CHANGES

  • workbench: SCION Workbench requires @scion/microfrontend-platform v1.5.0 or higher.
  • workbench: SCION Workbench requires @scion/workbench-client v1.0.0-beta.34 or higher.

Recommendations

  • To use icons in docked parts, configure an icon provider in the workbench host application or include the Material icon font. See documentation for details.

Deprecations

  • workbench/popup: Signature of context option in popup config has changed from object literal to string literal. Migrate {context: {viewId: 'view.x'}} to {context: 'view.x'}.
  • workbench/dialog: Signature of context option in dialog options has changed from object literal to string literal. Migrate {context: {viewId: 'view.x'}} to {context: 'view.x'}.
  • workbench/messagebox: Signature of context option in messagebox options has changed from object literal to string literal. Migrate {context: {viewId: 'view.x'}} to {context: 'view.x'}.
  • workbench/dialog: view modality in dialog options was renamed to context.
  • workbench/messagebox: view modality in messagebox options was renamed to context.

1.0.0-beta.34 (@scion/workbench-client)

11 Nov 12:46

Choose a tag to compare

1.0.0-beta.34 (2025-11-11)

Features

  • workbench-client/perspective: enable contribution of microfrontend parts to a workbench perspective (b6d25cf), closes #683
  • workbench-client/dialog: add support for non-blocking dialog (28b0291)
  • workbench-client/dialog: add support for part-modal dialog (4411246)
  • workbench-client/text: support passing interpolation parameters via options (17718d0)

Recommendations

  • workbench-client: For Angular applications, provide WorkbenchPart for dependency injection. See documentation for details.
    import {WorkbenchPart} from '@scion/workbench-client';
    import {Beans} from '@scion/toolkit/bean-manager';
    
    {provide: WorkbenchPart, useFactory: () => Beans.opt(WorkbenchPart)}
  • To use icons in docked parts, configure an icon provider in the workbench host application or include the Material icon font. See documentation for details.

Deprecations

  • workbench-client/perspective: The modeling of a workbench perspective capability has changed: Parts must be modeled as separate part capabilities and views referenced from part capabilities. To migrate, refer to the documentation of WorkbenchPerspectiveCapability and WorkbenchPartCapability. Support for the deprecated model will be removed in SCION Workbench version 22.

    Before migration:

    {
      "type": "perspective",
      "qualifier": {
        "perspective": "sample-perspective"
      },
      "private": false,
      "properties": {
        "layout": [
          {
            "id": "main-area"
          },
          {
            "id": "navigator",
            "align": "left",
            "relativeTo": "main-area",
            "ratio": 0.25,
            "views": [
              {
                "qualifier": {
                  "view": "navigator"
                }
              }
            ]
          }
        ]
      }
    }

    After migration:

    {
      "type": "perspective",
      "qualifier": {
        "perspective": "sample-perspective"
      },
      "private": false,
      "properties": {
        "parts": [
          {
            "id": "main-area",
            "qualifier": {
              "part": "main-area"
            }
          },
          {
            "id": "navigator",
            "qualifier": {
              "part": "navigator"
            },
            "position": {
              "align": "left",
              "relativeTo": "main-area",
              "ratio": 0.25
            }
          }
        ]
      }
    },
    {
      "type": "part",
      "qualifier": {
        "part": "main-area"
      }
    },
    {
      "type": "part",
      "qualifier": {
        "part": "navigator"
      },
      "properties": {
        "views": [
          {
            "qualifier": {
              "view": "navigator"
            }
          }
        ]
      }
    }
  • workbench-client/popup: Signature of context option in popup config has changed from object literal to string literal. Migrate {context: {viewId: 'view.x'}} to {context: 'view.x'}.

  • workbench-client/dialog: Signature of context option in dialog options has changed from object literal to string literal. Migrate {context: {viewId: 'view.x'}} to {context: 'view.x'}.

  • workbench-client/messagebox: Signature of context option in messagebox options has changed from object literal to string literal. Migrate {context: {viewId: 'view.x'}} to {context: 'view.x'}.

  • workbench-client/dialog: view modality in dialog options was renamed to context.

  • workbench-client/messagebox: view modality in messagebox options was renamed to context.

  • workbench-client/popup: Referrer property on popup handle has been marked for removal. No replacement. Instead, add a parameter to the popup capability for the popup opener to pass required referrer information.

20.0.0-beta.8 (@scion/workbench)

17 Sep 09:27

Choose a tag to compare

20.0.0-beta.8 (2025-09-17)

Bug Fixes

  • workbench/view: prevent stale view title after navigation (11f3226)
  • workbench: prevent flickering of translated texts on re-layout (e4fdc4b), closes #255

Dependencies

  • workbench: SCION Workbench requires @scion/workbench-client version 1.0.0-beta.33 or later.

1.0.0-beta.33 (@scion/workbench-client)

17 Sep 09:19

Choose a tag to compare

1.0.0-beta.33 (2025-09-17)

Bug Fixes

  • workbench-client: prevent flickering of translated texts on re-layout (5818435), closes #255

20.0.0-beta.7 (@scion/workbench)

11 Sep 14:09

Choose a tag to compare

20.0.0-beta.7 (2025-09-11)

Features

  • workbench: support placeholders in non-localized manifest texts (1fc40a8), closes #255

Dependencies

  • workbench: SCION Workbench requires @scion/workbench-client version 1.0.0-beta.32 or later.

1.0.0-beta.32 (@scion/workbench-client)

11 Sep 13:52

Choose a tag to compare

1.0.0-beta.32 (2025-09-11)

Features

  • workbench-client: support placeholders in non-localized manifest texts (1fc40a8), closes #255

20.0.0-beta.6 (@scion/workbench)

04 Sep 10:06

Choose a tag to compare

20.0.0-beta.6 (2025-09-04)

Performance Improvements

  • workbench/view: enable lazy loading of inactive microfrontend views (5a334a4), closes #681

Dependencies

  • workbench: SCION Workbench requires @scion/workbench-client version 1.0.0-beta.31 or later.

BREAKING CHANGES

  • workbench/view: Microfrontend views require titles and headings set in the manifest due to lazy loading. Previously, these may have been set in the microfrontends.

    To migrate, set the view titles and headings in the manifest. Otherwise, inactive views would not have a title and heading. See changelog of @scion/workbench-client for details. Alternatively, enable compat mode as follows:

    import {provideWorkbench} from '@scion/workbench';
    
    provideWorkbench({
      microfrontendPlatform: {
        preloadInactiveViews: true,
        // ... other config skipped
      },
    });

This will continue eager loading microfrontend views and log a deprecation warning, giving micro applications time to migrate to capability-based titles and headings. Note that this flag will be removed in version 22.

1.0.0-beta.31 (@scion/workbench-client)

04 Sep 09:40

Choose a tag to compare

1.0.0-beta.31 (2025-09-04)

Features

  • workbench-client: enable localization of texts in the manifest (69343b3), closes #255
  • workbench-client: enable localization of texts in a message box (a1fdf77)
  • workbench-client: enable localization of texts in a notification (325388e), closes #401

Performance Improvements

  • workbench/view: enable lazy loading of inactive microfrontend views (5a334a4), closes #681

BREAKING CHANGES

  • workbench/view: Microfrontend views require titles and headings set in the manifest due to lazy loading. Previously, these may have been set in the microfrontends.

    To migrate, set the view titles and headings in the manifest. Otherwise, inactive views would not have a title and heading. Alternatively, enable compat mode as described below.

    Example of setting the title in the manifest:

    {
      "type": "view",
      "qualifier": {
        "entity": "product"
      },
      "properties": {
        "path": "products/:id",
        "title": "Product"
     }
    }

    Texts can be localized using a translation key:

    {
      "type": "view",
      "qualifier": {
        "entity": "product"
      },
      "properties": {
        "path": "products/:id",
        "title": "%product.title"
      }
    }

    Translation keys start with the percent symbol (%) and are passed to the text provider for translation, with the percent symbol omitted. Register the text provider via WorkbenchClient.registerTextProvider in the activator.

    import {WorkbenchClient} from '@scion/workbench-client';
    import {inject} from '@angular/core';
    
    WorkbenchClient.registerTextProvider((key, params) => {
      return translate(key, params); // `translate` is illustrative and not part of the Workbench API
    });

    Translation keys may include parameters for text interpolation. Interpolation parameters can reference capability parameters and resolvers. See documentation for details: https://workbench-client-api.scion.vercel.app/interfaces/WorkbenchViewCapability.html.

    {
      "type": "view",
      "qualifier": {
        "entity": "product"
      },
      "params": [
         {"name": "id", "required":  true}
      ],
      "properties": {
        "path": "products/:id",
        "title": "%product.title;name=:productName", // `:productName` references a resolver
        "resolve": {
          "productName": "products/:id/name" // `:id` references a capability parameter
        }
      }
    }

    Register a message listener in the activator to reply to resolve requests:

    import {Beans} from '@scion/toolkit/bean-manager';
    import {MessageClient} from '@scion/microfrontend-platform';
    
    Beans.get(MessageClient).onMessage('products/:id/name', request => {
      const id = request.params!.get('id');
      return `Product ${id}`;
    });

    Enable Compat Mode in Host App

    For compatibility with micro applications setting view titles and headings in microfrontends, enable the preloadInactiveViews flag in the workbench config. This will continue eager loading microfrontend views and log a deprecation warning, giving applications time to migrate to capability-based titles and headings. Note that this flag will be removed in version 22.

    Example of enabling the compatibility flag:

    import {provideWorkbench} from '@scion/workbench';
    
    provideWorkbench({
      microfrontendPlatform: {
        preloadInactiveViews: true,
        // ... other config skipped
      },
    });

20.0.0-beta.5 (@scion/workbench)

25 Jul 18:19

Choose a tag to compare

20.0.0-beta.5 (2025-07-25)

Features

  • workbench: provide active workbench element (e94ea0c), closes #550
  • workbench: highlight focused workbench element (445a3a4)
  • workbench/desktop: preserve content of desktop when detached (88f92eb)
  • workbench/main-area: preserve content of main area part when detached (5a0acf9)

Dependencies

  • workbench: SCION Workbench requires @scion/workbench-client version 1.0.0-beta.30 or later.