Releases: tdeekens/flopflip
Release list
Introducing adapters making `flopflip` backend agnostic
Version 3.0.0 is here with quite a bunch of nice little improvements and one major change in direction for
flopflip.
🎱 Breaking changes (for the good)
flopflipis now "backend" agnostic and introduces the notion of adapters which you need to setup withinConfigureFlopFlip(more in the readme)- We can therefore now integrate with any feature flag provider not only LaunchDarkly
- This also allows us to build other adapters such as localstorage, WebSocket or HTTP based ones later
- An adapter only needs to implement a
configureandreconfigurefunction returning aPromisethe library does the rest for you (setup and state management)
import adapter from '@flopflip/launchdarkly-adapter';
<ConfigureFlopflip adapter={adapter} adapterArgs={{ user, clientSideId }}>
<App />
<ConfigureFlopflip>shouldConfigureis now calledshouldDeferAdapterConfigurationand defaults tofalse- HoCs now receive
{ flag: String, variate?: String | Boolean }and are not backwards compatible any more to justflag: String
🍭 Features
FeatureTogglednot accepts both arender-prop andchildren(what ever you prefer)<FeatureToggled flag="bar" render={( { isFeatureEnabled } ) => <div />} />equals<FeatureToggled flag="bar"><div /></FeatureToggled><FeatureToggled flag="bar" toggledComponent={ToggledComponent} untoggledComponent={UntoggledComponent} />is also possible
❤️ Tooling
- We moved to have a
.eslintrcwhile integratin witheslint-plugin-xoinstead ofxodirectly - We setup
enzyme-matchersdifferently to use their nice reporters better - We moved our Jest configuration into an
.jestrc.json - We homogenised into one
rollup.config.jsfor all packages
Introducing adapters making `flopflip` backend agnostic
Version 3.0.0 is here with quite a bunch of nice little improvements and one major change in direction for
flopflip.
🎱 Breaking changes (for the good)
flopflipis now "backend" agnostic and introduces the notion of adapters which you need to setup withinConfigureFlopFlip(more in the readme)- We can therefore now integrate with any feature flag provider not only LaunchDarkly
- This also allows us to build other adapters such as localstorage, WebSocket or HTTP based ones later
- An adapter only needs to implement a
configureandreconfigurefunction returning aPromisethe library does the rest for you (setup and state management)
import adapter from '@flopflip/launchdarkly-adapter';
<ConfigureFlopflip adapter={adapter} adapterArgs={{ user, clientSideId }}>
<App />
<ConfigureFlopflip>shouldConfigureis now calledshouldDeferAdapterConfigurationand defaults tofalse- HoCs now receive
{ flag: String, variate?: String | Boolean }and are not backwards compatible any more to justflag: String
🍭 Features
FeatureTogglednot accepts both arender-prop andchildren(what ever you prefer)<FeatureToggled flag="bar" render={( { isFeatureEnabled } ) => <div />} />equals<FeatureToggled flag="bar"><div /></FeatureToggled><FeatureToggled flag="bar" toggledComponent={ToggledComponent} untoggledComponent={UntoggledComponent} />is also possible
❤️ Tooling
- We moved to have a
.eslintrcwhile integratin witheslint-plugin-xoinstead ofxodirectly - We setup
enzyme-matchersdifferently to use their nice reporters better - We moved our Jest configuration into an
.jestrc.json - We homogenised into one
rollup.config.jsfor all packages
Introducing adapters making `flopflip` backend agnostic
Version 3.0.0 is here with quite a bunch of nice little improvements and one major change in direction for
flopflip.
🎱 Breaking changes (for the good)
flopflipis now "backend" agnostic and introduces the notion of adapters which you need to setup withinConfigureFlopFlip(more in the readme)- We can therefore now integrate with any feature flag provider not only LaunchDarkly
- This also allows us to build other adapters such as localstorage, WebSocket or HTTP based ones later
- An adapter only needs to implement a
configureandreconfigurefunction returning aPromisethe library does the rest for you (setup and state management)
import adapter from '@flopflip/launchdarkly-adapter';
<ConfigureFlopflip adapter={adapter} adapterArgs={{ user, clientSideId }}>
<App />
<ConfigureFlopflip>shouldConfigureis now calledshouldDeferAdapterConfigurationand defaults tofalse- HoCs now receive
{ flag: String, variate?: String | Boolean }and are not backwards compatible any more to justflag: String
🍭 Features
FeatureTogglednot accepts both arender-prop andchildren(what ever you prefer)<FeatureToggled flag="bar" render={( { isFeatureEnabled } ) => <div />} />equals<FeatureToggled flag="bar"><div /></FeatureToggled><FeatureToggled flag="bar" toggledComponent={ToggledComponent} untoggledComponent={UntoggledComponent} />is also possible
❤️ Tooling
- We moved to have a
.eslintrcwhile integratin witheslint-plugin-xoinstead ofxodirectly - We setup
enzyme-matchersdifferently to use their nice reporters better - We moved our Jest configuration into an
.jestrc.json - We homogenised into one
rollup.config.jsfor all packages
Add in memory adapter for flopflip
This is the initial version of the in memory adapter compatible with the backend agnostic version of the library.
Add in localstorage adapter for flopflip
This is the initial version of the localstorage adapter compatible with the backend agnostic version of the library.
Add in launchdarkly adapter for flopflip
This is the a rewrite of the launchdarkly-wrapper to be compatible with the backend agnostic version of the library.
Improvements of display names for components
🍭 Gifts
- Display names for components are made more expressive
- Dependencies have been updated
Improvements of display names for components
🍭 Gifts
- Display names for components are made more expressive
- Dependencies have been updated
Improvements of display names for components
🍭 Gifts
- Display names for components are made more expressive
- Dependencies have been updated
Fix usage of `.babelrc` and speed up build times
😲 Bug fixes
- Use a "global" .babelrc for all
packages - We use envs in the
.babelrcto adjust transpilation for dev/prod and test - We don't use an BABEL_ENV anymore (which was a duplicate)
⚠️ We now support the last two versions of each browser- This was differently before but with the current usage of the library we don't expect this to cause anyone trouble
🐱 Dependencies
- Update all dependencies
🍭 Gifts
- Using Lerna's
--parallelspeeds up the built of allpackagesby about 30%