Skip to content

Releases: SchweizerischeBundesbahnen/scion-microfrontend-platform

1.0.0-beta.10

07 Sep 13:55
Compare
Choose a tag to compare

1.0.0-beta.10 (2021-01-25)

Bug Fixes

  • start platform outside angular zone in testing app and devtools (f017422), closes #53

1.0.0-beta.9

07 Sep 13:55
Compare
Choose a tag to compare

1.0.0-beta.9 (2021-01-18)

Bug Fixes

  • devtools: perform scope check when computing dependencies between micro applications (5e43bc3)
  • platform: resolve host startup promise only once applications and properties are available (f4067c2)

Features

  • platform: allow monitoring sci-router-outlet whether embedded content has gained or lost focus (14fb178)
  • platform: allow passing params in an intent (b82b343), closes #44
  • platform: open shadow DOM of the router outlet (cb10c32)

1.0.0-beta.8

07 Sep 13:54
Compare
Choose a tag to compare

1.0.0-beta.8 (2020-12-18)

Bug Fixes

  • platform: allow empty path as url for outlet navigation (8a0a70b)
  • platform: ensure trailing slash in application base URLs (62a7a92)
  • platform: make platform startup more robust (0d30b72), closes #40 #41

Features

  • devtools: add devtools micro application (19db8bf), closes #4
  • platform: provide a static list of installed applications in the manifest service (b60015f)

BREAKING CHANGES

  • platform: The HostPlatformState bean has been removed as no longer necessary, because activator microfrontends are now installed after completing host platform startup, and because the startup Promise waits until connected to the host.

To migrate: Instead of listening for the host platform to enter the 'started' state, wait for the startup Promise to resolve.
Note: You can independently upgrade host and clients to the new version because the platform was not using the platform status at all.

1.0.0-beta.7

07 Sep 13:54
Compare
Choose a tag to compare

1.0.0-beta.7 (2020-11-05)

Code Refactoring

  • platform: move bean manager to @scion/toolkit (aa00b7e), closes #33

BREAKING CHANGES

  • platform: The bean manager was moved from @scion/microfrontend-platform to @scion/toolkit NPM module.

Note: The messaging protocol between host and client HAS NOT CHANGED. You can therefore independently upgrade host and clients to the new version.

To migrate:

  • Update @scion/toolkit to version 10.0.0-beta.3.
  • Import following symbols from @scion/toolkit/bean-manager instead of from @scion/microfrontend-platform: BeanManager, Beans, Initializer, InitializerFn, BeanDecorator, PreDestroy, BeanInstanceConstructInstructions, Type, AbstractType.
  • Replace InstanceConstructInstructions with BeanInstanceConstructInstructions.
  • Use static methods of the MicrofrontendPlatform class to interact with states of the platform lifecycle (formerly via PlatformState bean), e.g., to wait for the platform to enter a specific state. In this change, we changed the bean PlatformState to an enum to represent platform states (formerly PlatformStates).
    Migrate as follows:
    • Beans.get(PlatformState).whenState -> MicrofrontendPlatform.whenState, e.g., Beans.get(PlatformState).whenState(PlatformStates.Starting) -> MicrofrontendPlatform.whenState(PlatformStates.Starting)
    • Beans.get(PlatformState).state -> MicrofrontendPlatform.state
    • Beans.get(PlatformState).state$ -> MicrofrontendPlatform.state$
  • Replace occurrences of PlatformStates with PlatformState.
  • Control bean destruction order by setting its destroyOrder in the options object when registering the bean (formerly by setting the destroy phase). Beans with a lower destroy order are destroyed before beans with a higher destroy order. Beans of the same destroy order are destroyed in reverse construction order. By default, the destroy order is 0.
  • Registering a bean now returns a handle to unregister the bean (formerly void). If registering a bean inside a void expression, register it inside a void operator, as follows: void (Beans.register(Bean))

1.0.0-beta.6

07 Sep 13:53
Compare
Choose a tag to compare

1.0.0-beta.6 (2020-09-30)

Bug Fixes

  • platform: substitute falsy values in named parameters of URL (96c84db), closes #24

Features

  • platform: allow registering beans under a symbol (98bf890), closes #28
  • platform: separate message and intent communication APIs (7610eb0)

BREAKING CHANGES

  • platform: Use MessageClient for topic-based messaging, and IntentClient for intent-based messaging

Note: The messaging protocol between host and client HAS NOT CHANGED. You can therefore independently upgrade host and clients to the new version.

Breaking changes in MessageClient

Moved or renamed the following methods:

  • MessageClient#onMessage$ -> MessageClient.observe$
  • MessageClient#issueIntent -> IntentClient.publish
  • MessageClient#requestByIntent$ -> IntentClient.request$
  • MessageClient#onIntent$ -> IntentClient.observe$
  • MessageClient#isConnected -> MicrofrontendPlatform.isConnectedToHost

Renamed options object of the following methods:

  • MessageClient#request$: MessageOptions -> RequestOptions
  • IntentClient#publish: MessageOptions -> IntentOptions
  • IntentClient#request$: MessageOptions -> IntentOptions

Breaking change for decorating MessageClient and IntentClient bean

For Angular developers, see Preparing the MessageClient and IntentClient for use with Angular how to decorate the MessageClient and IntentClient for making Observables to emit inside the Angular zone.

Breaking change for disabling messaging in tests

Messaging can now be deactivated via options object when starting the platform. Previously you had to register a NullMessageClient bean.
MicrofrontendPlatform.connectToHost({messaging: {enabled: false}}

1.0.0-beta.5

07 Sep 13:53
Compare
Choose a tag to compare

1.0.0-beta.5 (2020-07-17)

chore

  • update project workspace to Angular 10 (20a3266), closes #19

BREAKING CHANGES

  • esm5 and fesm5 format is no longer distributed in @scion/microfrontend-platform’s NPM package

We no longer include the distributions for esm5 and fesm5 in the @scion/microfrontend-platform’s NPM package. Only the formats for esm2015, fesm2015, and UMD are distributed. Consequently, the module field in package.json now points to the fesm2015 distribution.

To migrate:

  • If requiring esm5 or fesm5, you will need to downlevel to ES5 yourself. If using Angular, the Angular CLI will automatically downlevel the code to ES5 if differential loading is enabled in the Angular project, so no action is required from Angular CLI users.

1.0.0-beta.4

07 Sep 13:52
Compare
Choose a tag to compare

1.0.0-beta.4 (2020-07-14)

Bug Fixes

  • testapp: do not render the application shell in activator microfrontends (2180257)

Features

  • platform: enable activators to signal their readiness (5beb278), closes #6

1.0.0-beta.3

07 Sep 13:52
Compare
Choose a tag to compare
release: v1.0.0-beta.3

1.0.0-beta.2

07 Sep 13:51
Compare
Choose a tag to compare
release: v1.0.0-beta.2

1.0.0-beta.1

07 Sep 13:50
Compare
Choose a tag to compare

1.0.0-beta.1 (2020-06-21)

Features

  • platform: move SCION Microfrontend Platform to a separate Git repository (b191ccd)
  • platform: provide services to manage and query capabilities and intentions (3923331)