All notable changes to this project will be documented in this file. See Conventional Commits for commit guidelines.
3.7.1 (2024-10-24)
- history-service: keep pathname if only search is defined in path (c2985df)
- history-service: keep pathname if only search is defined in path (244c233)
- history-service: keep pathname if only search is defined in path (515b032)
- history-service: keep pathname if only search is defined in path (fca3d91)
- history-service: keep pathname if only search is defined in path (576f04d)
3.7.0 (2024-09-03)
- react: test vs react 18 and react 17 (f0f37e6)
- react: test vs react 18 and react 17 (e47e9cc)
- react: test vs react 18 and react 17 (e85fdec)
- react: test vs react 18 and react 17 (9a3ef8e)
- react: test vs react 18 and react 17 (1e7dc75)
- react: test vs react 18 and react 17 (cf3794f)
- react: test vs react 18 and react 17 (1b8adfd)
- react: test vs react 18 and react 17 (7e66afc)
- react: test vs react 18 and react 17 (8d970d9)
- react: test vs react 18 and react 17 (37cec60)
- react: test vs react 18 and react 17 (5120b26)
- react: test vs react 18 and react 17 (7f5f671)
3.6.0 (2024-02-13)
- core: add
getInfo
method to feature service registry (c7e5311)
3.5.2 (2024-02-08)
- module-loader-amd: use
__esModule
as default condition (3549b92)
3.5.1 (2024-02-08)
- module-loader-amd: handle AMD modules built by different bundlers (9597cee)
3.5.0 (2024-01-04)
3.4.1 (2023-12-15)
- all: use
import
/require
instead ofdefault
inexports
(b12e524)
3.4.0 (2023-12-11)
- core: include consumer ID in externals validation (93bbf51)
3.3.0 (2023-10-16)
- demos: allow dev server to cleanly close after all tests (6236757)
- all: pass
parentFeatureApp
intoonBind
(353680d) - module-loader-amd: update SystemJS (8c111ef), closes #80 #80
- Revert "build(all): increase memory for integration tests" (b774733)
3.2.0 (2023-01-20)
- history-service: only declare
GetHistoryKeyOptions
once (4b97a73)
- history-service: add support for
getHistoryKey
option to v1 and v2 (d43ba57)
3.1.0 (2023-01-20)
- history-service: allow history key to be customized by integrator (487104f)
3.0.1 (2022-09-27)
- demos: remove declaration of external dependencies (0f16746)
- history-service: do not ignore consumer history changes on root location push (#720) (e14568c)
3.0.0 (2022-09-20)
- react: Removed
renderError
prop. Use thechildren
prop instead. - history-service: Version 5 of the
history
package is now required as peer dependency. Some types of the root location transformer have been slightly changed, and the deprecatedprimaryConsumerId
has been removed (replaced byprimaryConsumerHistoryKey
).
2.13.1 (2022-06-20)
- react: export
FeatureHubContext
(b379913)
2.13.0 (2022-04-04)
- core: introduce onBind callback (04c2cfd)
2.12.0 (2022-03-31)
- serialized-state-manager: introduce a definition factory function (ce6ecbb)
2.11.1 (2022-02-10)
2.11.0 (2022-02-10)
2.10.0 (2022-01-14)
- website: set strict response headers (63ff878)
- async-ssr-manager: async render inside renderUntilCompleted (99b80ce)
2.9.0 (2021-07-12)
- all: handle module type during hydration (5cd3373)
- demos: add missing readonly modifiers (4b6fdb9)
- demos: add runtime check to loadNodeIntegrator (1c9d7d3)
- demos: avoid optional chaining operator (83aa522)
- demos: clean up unnecessary stuff (0f5a728)
- demos: postcss webpack config for todomvc (f98a155)
- demos: remove any cast from federation itest (0059fe3)
- demos: share React as module federation singleton (05c159b)
- demos: use blueprintjs in federation demo (7d914b8)
- demos: use empty entry in federated module webpack config (95073f0)
- demos: use js files for the demo server code (a5d1fed)
- demos: watch node integrator (ddb29bf), closes #250
- module-loader-amd: remove unused
moduleType
from signature (c4edc8d) - module-loader-commonjs: remove unused
moduleType
from signature (f39cd0d) - module-loader-federation: remove unused
moduleType
from signature (0aa329d) - react: increase
react
peer dependency range (4257bf2)
- core: enhance module loader with module type (ed56640)
- demos: add demo with multiple module loaders (dd4db94)
- demos: update to webpack 5 (d25da20)
- module-loader-federation: add webpack module federation loader (f477b17)
- module-loader-federation: avoid using a factory (16bd0d0)
- react: add module type to FeatureAppLoader (bed5484)
2.8.1 (2020-11-14)
- core: update semver to reduce size (#616) (e257e9a), closes #130
- react: do not set state after FeatureAppContainer has been unmounted (#613) (ba42b6a)
2.8.0 (2020-10-27)
- avoid unmounting of elements in children render function when feature app is loaded (#604) (1709b7d)
2.7.0 (2020-06-11)
2.6.0 (2020-03-20)
2.5.0 (2020-02-19)
2.4.1 (2020-02-12)
- core: avoid wrong featureServiceAlreadyRegistered logs (#560) (80eb1bf)
- history-service: handle absolute server request urls (#561) (be84e93)
2.4.0 (2019-12-18)
2.3.1 (2019-11-01)
2.3.0 (2019-08-26)
- history-service: root location transformer createNewRootLocationForMultipleConsumers (#539) (42691cf)
2.2.1 (2019-07-30)
2.2.0 (2019-07-11)
2.1.1 (2019-07-06)
2.1.0 (2019-07-05)
- history-service: support multiple location changes in one navigation (#518) (1352318), closes #496 #441
2.0.0 (2019-06-20)
- all: do not destroy Feature App when it is rendered multiple times (#512) (bf8a8ad), closes #505
- all: remove all deprecated interfaces (#510) (7df042e)
- history-service: reorder createRootLocation params (#511) (92d6070)
- all: let featureAppId be defined by the integrator (#504) (2565f0c), closes #495
- all: pass full env to beforeCreate callback (#506) (abeb26a), closes #490
- async-ssr-manager: move timeout from config to options (#499) (9536ef7)
- core: remove ability to provide configs via FeatureServiceRegistry (#500) (388b9f0)
- history-service: rename primaryConsumerUid to primaryConsumerId (#502) (49fae65)
- react: do not re-throw render errors on server (#508) (4b1c53e)
- all:
FeatureAppManager#getFeatureAppScope
has been replaced byFeatureAppManager#createFeatureAppScope
, since now a newFeatureAppScope
is created for every call. When a Feature App is unmounted, therelease
method (previously calleddestroy
) must be called. Only when all scopes for a Feature App ID have been released, the Feature App instance is destroyed. - history-service: The
currentRootLocation
andconsumerLocation
parameters ofcreateRootLocation
have been switched. - all: The following interfaces have been removed:
AsyncSsrManagerV0
ExternalsValidatorLike
FeatureAppManagerLike
FeatureServiceRegistryLike
HistoryServiceV0
FeatureHubContextValue
SerializedStateManagerV0
ServerRequestV0
- react: When the
FeatureAppContainer
/FeatureAppLoader
catches a render error on the server, this error was previously re-thrown. To re-create this behavior, anonError
prop must be defined that throws the error. - all: Instead of passing the
featureAppId
and thefeatureServices
as separate arguments to thebeforeCreate
callback, the full Feature App environment, that contains thefeatureAppId
andfeatureServices
, is now passed as a single argument (env
). This is the same argument that is passed to the Feature App'screate
method. - all: The option
featureAppConfigs
has been removed from the options ofcreateFeatureHub
and from the options of theFeatureAppManager
constructor. Theenv
that is passed to a Feature App'screate
method does not include aninstanceConfig
property anymore. If a Feature App must be configured, the integrator needs to specify theconfig
prop of theFeatureAppLoader
orFeatureAppContainer
. Furthermore, theFeatureAppLoader
orFeatureAppContainer
now require afeatureAppId
prop, and theinstanceConfig
andidSpecifier
props have been removed. The same applies to the<feature-app-loader>
and<feature-app-container>
custom elements. Since the integrator now needs to define the ID of a Feature App, the Feature App definition must not specify anid
anymore. - history-service: The option
primaryConsumerUid
ofcreateRootLocationTransformer
has been renamed toprimaryConsumerId
. - core: The option
featureServiceConfigs
has been removed from the options ofcreateFeatureHub
and from the options of theFeatureServiceRegistry
constructor. Theenv
that is passed to a Feature Service'screate
method does not include aconfig
property anymore. If a Feature Service must be configured, a factory function that accepts options, and that returns a Feature Service definition, should be used instead, see@feature-hub/async-ssr-manager
for an example. - async-ssr-manager: The
asyncSsrManagerDefinition
has been replaced with the factory functiondefineAsyncSsrManager
. This function accepts options to set thetimeout
, which previously had to be set by the integrator via Feature Service configs. This is in preparation of an upcoming breaking change that removes the ability to provide Feature Service configs through the Feature Service registry. - core: The type params of the following interfaces have been changed:
FeatureAppDefinition
FeatureAppEnvironment
FeatureServiceProviderDefinition
FeatureServiceEnvironment
1.7.0 (2019-05-10)
1.6.0 (2019-05-03)
1.5.0 (2019-04-16)
1.4.0 (2019-04-08)
- demos: add React Error Handling demo (#447) (05fbb75)
- react: add onError and renderError to FeatureAppContainer (#420) (33fcce7)
- react: add onError and renderError to FeatureAppLoader (#445) (2a967b5)
- react: support adding Feature App stylesheets to the document during SSR (#452) (5340f28)
1.3.0 (2019-03-15)
- demos: implement a guard against empty todos (#396) (50276e6)
- dom: only render defined id specifiers (#427) (d9e1c15)
- history-service: add missing readonlys (#416) (e67fc27)
- react: deprecate FeatureHubContextValue interface (#411) (fc13a16)
- website: improve visibility of note boxes (#419) (4b84a71)
- async-ssr-manager: use Logger Feature Service instead of console (#415) (e0f0605)
- core: add logger option to FeatureAppManager, FeatureServiceRegistry, and createFeatureHub (#404) (b70557e), closes #402
- demos: add custom logging demo (#418) (6ad41b9)
- demos: dynamize external declarations (#389) (9918fd5)
- demos: use Logger Feature Service in Todo Manager (#417) (58287e5)
- dom: add logger option to defineFeatureAppContainer & defineFeatureAppLoader (#406) (1716d6e)
- dom: allow for container replacement (#428) (ea54ddf)
- history-service: use Logger Feature Service instead of console (#414) (a363757)
- logger: add Logger Feature Service (#413) (97d5f3e)
- react: add custom logger option to FeatureHubContext (#408) (470acd3)
1.2.0 (2019-02-27)
- demos: add todomvc demo (#190) (f48b9c9)
- dom: add support for instanceConfig (#384) (19555ed)
- website: build the todomvc demo into the website build directory (#382) (c62fae8)
1.1.0 (2019-02-25)
- all: add missing sideEffects package.json entries (#377) (e3dbc78)
- all: correct interfaces of all Feature Services to reflect the switch to version 1.0.0 (#378) (da1066c)
1.0.1 (2019-02-15)
- all: increase feature service versions (#366) (168c771)
- core: add JSDoc comments to createFeatureHub result (#368) (95c7fb6)
1.0.0 (2019-02-14)
- all: introduce instanceConfig (#350) (9a25084)
- all: release 1.0 🎉 (a1794a5)
- core: implement createFeatureHub function (#356) (22df643)
- react: handle feature app errors (#352) (634c03a)
- all: on Node 8 require URLSearchParams from url module (#301) (993b3fc), closes #298
- all: update dependency ts-node to v8 (#288) (70cdf84)
- demos: increase jest timeout to 120 seconds (#302) (1401852)
- react: remove mission critical feature app todos (#297) (da651bc)
- all: enforce valid semver versions for Feature Services (#330) (6cc19c6)
- async-ssr-manager: rename rerenderAfter to scheduleRerender (#335) (4477934)
- async-ssr-manager: support re-scheduling rerender (#337) (2311998)
- core: integrate ExternalsValidator (#329) (864188d)
- core: make ExternalsValidator optional for the FeatureAppManager (#341) (18fba0d)
- core: make ExternalsValidator optional for the FeatureServiceRegistry (#343) (9860ff5)
- core: move Feature Service dependencies into a separate key (#314) (1ad1d84)
- core: remove FeatureAppManager#destroy (#336) (04bc770)
- demos: add "Feature App in Feature App" demo (#313) (2fcecf6)
- demos: add state serialization to async-ssr-manager demo (#291) (bdbcdb1)
- demos: enable SSR for FA-in-FA demo and fix externals config (#326) (0f13102)
- demos: use a FeatureAppLoader in "Feature App in Feature App" demo (#316) (333c302)
- demos: use addUrlForHydration for preloading in ssr demo (#322) (770090a)
- react: add addUrlForHydration and integrate into FeatureAppLoader (#320) (9de6cf2)
- react: add FeatureHubContext (#312) (793bf05)
- serialized-state-manager: create package (#287) (8cadcb9)
- serialized-state-manager: implement public API and add JSDoc (#290) (938c8bc)
0.12.0 (2019-01-17)
- demos: do not preload Feature App in SSR demo (#269) (661300e)
- server-request: align headers with the Request interface from express (#275) (f1b05c1)
- all: rename manager/registry to featureAppManager/featureServiceRegistry (#247) (f662c45), closes #25
- all: reset Feature Service versions to 0.1 (#262) (78a145f)
- async-ssr-manager: remove the serverRequest property (#268) (bef20d5)
- async-ssr-manager: rename from server-renderer (#243) (af946fa)
- core: add support for optional dependencies (#244) (4e3c896)
- core: validate provided feature service versions on register (#252) (d6f89e8)
- demos: add Async SSR Manager demo and integration test (#251) (b349021)
- demos: respond with error page for server errors in demos (#257) (97e0484)
- history-service: make async-ssr-manager dependency optional (#256) (9e8be1e)
- history-service: reduce public API surface (#258) (5f8b8ec)
- react: add asyncSsrManager prop to FeatureAppLoader (#248) (92579d9)
- server-renderer: move and adapt old SSR code (#135) (b33f744)
- server-renderer: replace register & rerender with rerenderAfter (#241) (5fbfcc6)
- server-request: create new feature service (#263) (c69ccc2)
- website: change size of website logo (#253) (894f709)
0.11.0 (2019-01-04)
- all: add website package (#208) (95e1a2d), closes #119 #167 #189 #151 #138 #145 #146
- all: split module-loader into AMD and CommonJS packages (#234) (7703ada)
- core: rename method and improve logging (#225) (45c8906)
- core: retain FeatureApp type in FeatureAppDefinition (#214) (91b205d)
- history-service: rename interface property and method arguments (#227) (2852fb4)
- react: improve logging (#226) (534f9f9)
- react: rename nodeSrc to serverSrc (#231) (85c65a7), closes #209
0.10.0 (2018-12-20)
- module-loader: use standard package entry for node module loader (#203) (e380857)
- react: improve log message if ID specifier is missing (#204) (cc8be3d)
0.9.0 (2018-12-20)
- demos: use blueprint components for amd-module-loader demo (#196) (2013ffc)
- history-service: remove history package type exports (#197) (1694769)
0.8.0 (2018-12-19)
0.7.0 (2018-12-14)
- core: both the manager and the registry now accept options (#185) (f04693c), closes #117
- history-service: history is now a peer dependency (#184) (92dc0f1), closes #129
- react: improve log messages to make them more consistent (#187) (5e3b945), closes #139
- react: the loader will not try to load an empty src (#186) (236c487), closes #150
0.6.0 (2018-12-13)
- core: add optional id specifier to feature app env (#181) (6c49cdc)
- demos: add initial history service demo (#178) (cd9daf1)
- demos: rename integration-tests package to demos (#174) (1decb95)
0.5.1 (2018-12-11)
0.5.0 (2018-12-11)
0.4.0 (2018-12-03)
0.3.0 (2018-11-30)
- module-loader: move @feature-hub/core to dependencies (9d1b0f7)
- react: move @feature-hub/core to dependencies (1af784c)
- all: rename
featureAppKey
toidSpecifier
(#102) (0e2da7e) - core: rename
url
method argument of the FeatureAppManager (#101) (eb65651) - core: rename the
ownFeatureServiceDefinitions
property of Feature Apps (#100) (078fa9e) - examples: setup examples workspace (#81) (170bfb4)
- server-renderer: rename server-renderer package (#99) (302fcf3)
- server-renderer-feature-service: create package (7fddfbf), closes #21 #25
0.2.0 (2018-11-28)
0.1.1 (2018-11-28)
- all: add initial packages (#1) (019680e)
- all: merge all React packages, closes #30 (#31) (0f6fdd6)
- all: merge module loaders to one universal package (#36) (e583b9a)
- all: remove "React" prefix from both React component class names (#14) (0a795fc)
- core: introduce the core package (#18) (6809578)
- module-loader: rename module loader functions, closes #49 (#51) (f9be3cd)