Skip to content

Releases: tdeekens/flopflip

Rename `withFeatureFlag` to `branchOnFeatureFlag`

05 Nov 13:03
Compare
Choose a tag to compare

This release contains some minor improvements under the hood while trying to make the API improve some rough edge on the API.

💣 Breaking Changes (sorry again)

  • The withFeatureToggle HoC is now called branchOnFeatureToggle
    • This felt more descriptive as the withFeatureToggle never injected a prop but rather alternated rendering

🍭 Glitches and gotchas

  • We went over our rollup build again trying to making our dist files smaller //TODO

❤️ Fixes and tooling

  • We upgraded to the new version of XO and fixed linting errors along the way
  • We fixed broken links in our readme pointing to unpkg
  • We updated all dependencies again

Rename `withFeatureFlag` to `branchOnFeatureFlag`

05 Nov 13:03
Compare
Choose a tag to compare

This release contains some minor improvements under the hood while trying to make the API improve some rough edge on the API.

💣 Breaking Changes (sorry again)

  • The withFeatureToggle HoC is now called branchOnFeatureToggle
    • This felt more descriptive as the withFeatureToggle never injected a prop but rather alternated rendering

🍭 Glitches and gotchas

  • We went over our rollup build again trying to making our dist files smaller //TODO

❤️ Fixes and tooling

  • We upgraded to the new version of XO and fixed linting errors along the way
  • We fixed broken links in our readme pointing to unpkg
  • We updated all dependencies again

Rename `withFeatureFlag` to `branchOnFeatureFlag`

05 Nov 13:04
Compare
Choose a tag to compare

This release contains some minor improvements under the hood while trying to make the API improve some rough edge on the API.

💣 Breaking Changes (sorry again)

  • The withFeatureToggle HoC is now called branchOnFeatureToggle
    • This felt more descriptive as the withFeatureToggle never injected a prop but rather alternated rendering

🍭 Glitches and gotchas

  • We went over our rollup build again trying to making our dist files smaller //TODO

❤️ Fixes and tooling

  • We upgraded to the new version of XO and fixed linting errors along the way
  • We fixed broken links in our readme pointing to unpkg
  • We updated all dependencies again

Fix import of ldclient-js

05 Nov 13:04
Compare
Choose a tag to compare

We had to change the import of ldclient-js to work with the latest commonjs rollup plugin.

Fix up cross package dependencies

28 Oct 07:04
Compare
Choose a tag to compare

🎱 Improvements

  • Due to the more loosely coupled package infrastructure we can now remove cross package dependencies

Fix up cross package dependencies

28 Oct 07:04
Compare
Choose a tag to compare

🎱 Improvements

  • Due to the more loosely coupled package infrastructure we can now remove cross package dependencies

Fix up cross package dependencies

28 Oct 07:04
Compare
Choose a tag to compare

🎱 Improvements

  • Due to the more loosely coupled package infrastructure we can now remove cross package dependencies

Fix regression in `withFeatureToggle`

28 Oct 06:41
Compare
Choose a tag to compare

🍾 Bug fixes

  • We fixed a regression bug in withFeatureToggle caused by a falsely named argument

Introducing adapters making `flopflip` backend agnostic

27 Oct 18:41
Compare
Choose a tag to compare

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)

  • flopflip is now "backend" agnostic and introduces the notion of adapters which you need to setup within ConfigureFlopFlip (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 configure and reconfigure function returning a Promise the library does the rest for you (setup and state management)
import adapter from '@flopflip/launchdarkly-adapter';

<ConfigureFlopflip adapter={adapter} adapterArgs={{ user, clientSideId }}>
  <App />
<ConfigureFlopflip>
  • shouldConfigure is now called shouldDeferAdapterConfiguration and defaults to false
  • HoCs now receive { flag: String, variate?: String | Boolean } and are not backwards compatible any more to just flag: String

🍭 Features

  • FeatureToggled not accepts both a render-prop and children (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 .eslintrc while integratin with eslint-plugin-xo instead of xo directly
  • We setup enzyme-matchers differently to use their nice reporters better
  • We moved our Jest configuration into an .jestrc.json
  • We homogenised into one rollup.config.js for all packages

Introducing adapters making `flopflip` backend agnostic

27 Oct 18:41
Compare
Choose a tag to compare

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)

  • flopflip is now "backend" agnostic and introduces the notion of adapters which you need to setup within ConfigureFlopFlip (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 configure and reconfigure function returning a Promise the library does the rest for you (setup and state management)
import adapter from '@flopflip/launchdarkly-adapter';

<ConfigureFlopflip adapter={adapter} adapterArgs={{ user, clientSideId }}>
  <App />
<ConfigureFlopflip>
  • shouldConfigure is now called shouldDeferAdapterConfiguration and defaults to false
  • HoCs now receive { flag: String, variate?: String | Boolean } and are not backwards compatible any more to just flag: String

🍭 Features

  • FeatureToggled not accepts both a render-prop and children (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 .eslintrc while integratin with eslint-plugin-xo instead of xo directly
  • We setup enzyme-matchers differently to use their nice reporters better
  • We moved our Jest configuration into an .jestrc.json
  • We homogenised into one rollup.config.js for all packages