Releases: thomaspoignant/go-feature-flag
v0.13.1
v0.13.0
v0.13.0
Breaking Changes
This breaking change is needed to unblock future features like #101.
We accept this breaking change only because we are still in version v0.X
, as soon as we hit the v1.X
this kind of change will not be possible.
Features
- #106 - Add webhook data exporter
- #109 - Add experimentation capability with the possibility to configure a
startDate
and anendDate
for the flag. - #105 - Accept a more fine-grained percentage, the hash is now compute with a 100000 range when it was 100 before.
Changes
- #108 -
PayloadURL
is deprecated and you should useEndpointURL
instead.
v0.12.0
v0.11.0
v0.11.0
Features
- #95 - Add an option to start even when retriever is unreachable
- #94 - Add a log data exporter to replace automatic variation logging
⚠️ Breaking changes
If you were using these logs, you need to add the log data exporter to your configuration.
err := Init(Config{
// ...
DataExporter: DataExporter{
Exporter: &ffexporter.Log{},
},
})
Fixes
- #92 - Wait longer to avoid flaky test
Changes
- #93 - CI: Upgrade CI to go 1.16 + Scope coveralls
v0.10.0
v0.10.0
This new version includes a way to export your data to a file 💥 📈 📊 💹
Ok maybe you don't care to collect data on the fly and to put them locally, but this version includes a simple way to add more exporters in the future.
This version will allow developing #89 #88 #87 ...
Features
- #82 - Introducing the concept of feature events to export data
Changes
- #84 - Better summary in the readme
v0.9.1
v0.9.0
v0.9.0
Features
- #75 - Send a Slack message when a flag has changed.
⚠️ Breaking changes
- #74 - Deprecate the
Webhooks
field in the configuration to have the fieldNotifiers
instead
Migration
If you were using Webhooks
before, you should have a configuration like this:
ffclient.Init(ffclient.Config{
Retriever: &ffclient.FileRetriever{Path: "testdata/flag-config.yaml"},
FileFormat: "yaml",
Webhooks: []ffclient.WebhookConfig{
{
PayloadURL: " https://example.com/hook",
Secret: "Secret",
Meta: map[string]string{
"app.name": "my app",
},
},
},
}
With Notifiers
, your configuration should looks like this now:
ffclient.Init(ffclient.Config{
Retriever: &ffclient.FileRetriever{Path: "testdata/flag-config.yaml"},
FileFormat: "yaml",
Notifiers: []ffclient.NotifierConfig{
&ffclient.WebhookConfig{
PayloadURL: " https://example.com/hook",
Secret: "Secret",
Meta: map[string]string{
"app.name": "my app",
},
},
},
}