GO Feature Flag is a simple, complete and lightweight self-hosted feature flag solution 100% Open Source. 🎛️
MIT License
Bot releases are hidden (Show)
Published by thomaspoignant over 1 year ago
Full Changelog: https://github.com/thomaspoignant/go-feature-flag/compare/v1.0.0...v1.0.1
Published by thomaspoignant over 1 year ago
Finally, we have reached the point of delivering version v1.0.0
.
This new version brings :
To have more details please read the introduction blog post.
First of all, you should know that all flags from version v0.x.x
are still compatible with this new version of GO Feature Flag.
BUT we encourage you to migrate your flag to the new version and for this, we have created a tool called go-feature-flag-migration-cli
to convert flags in v0.x.x format to v1.0.0 format.
The easiest way to use it is probably to use our docker image like this:
docker run \
-v $(pwd)/your/configuration_folder:/config \
thomaspoignant/go-feature-flag-migration-cli:latest \
--input-format=yaml \
--input-file=/config/my-go-feature-flag-config-v0.x.x.yaml \
--output-format=yaml \
--output-file=/config/my-go-feature-flag-config-v1.x.x.yaml
Published by thomaspoignant almost 2 years ago
Full Changelog: https://github.com/thomaspoignant/go-feature-flag/compare/v0.28.2...v1.0.0-rc.5
Published by thomaspoignant almost 2 years ago
Full Changelog: https://github.com/thomaspoignant/go-feature-flag/compare/v1.0.0-rc.2...v1.0.0-rc.4
Published by thomaspoignant almost 2 years ago
Published by thomaspoignant almost 2 years ago
Published by thomaspoignant almost 2 years ago
This is the first release candidate for GO Feature Flag v1.0.0.
We are looking for beta tester.
Please give us feedback at [email protected].
Full Changelog: https://github.com/thomaspoignant/go-feature-flag/compare/v0.28.2...v1.0.0-rc.1
Published by thomaspoignant almost 2 years ago
Full Changelog: https://github.com/thomaspoignant/go-feature-flag/compare/v0.28.1...v0.28.2
Published by thomaspoignant about 2 years ago
Full Changelog: https://github.com/thomaspoignant/go-feature-flag/compare/v1.0.0-beta.2...v1.0.0-beta.3
Published by thomaspoignant about 2 years ago
This second beta is fully working with the new flag format.
If you want more info about the format, you can look at the doc for this beta.
All feedback are welcome if you try the version.
Remember that this version is compatible with the previous flag format.
Full Changelog: https://github.com/thomaspoignant/go-feature-flag/compare/v0.28.1...v1.0.0-beta.2
Published by thomaspoignant about 2 years ago
Full Changelog: https://github.com/thomaspoignant/go-feature-flag/compare/v0.28.0...v0.28.1
Published by thomaspoignant about 2 years ago
Full Changelog: https://github.com/thomaspoignant/go-feature-flag/compare/v0.27.2...v0.28.0
Published by thomaspoignant about 2 years ago
Full Changelog: https://github.com/thomaspoignant/go-feature-flag/compare/v0.27.1...v0.27.2
Published by thomaspoignant about 2 years ago
This is the first beta of go-feature-flag v1.0.0
.
The most significant change for this version is to support a more advanced flag format in your configuration.
Because the format was too basic and was not allowing complex flag configuration.
Nothing, for now, we are 100% compatible with the old flag format, but I encourage you to migrate.
We still encourage you to migrate the way you are writing the flag to the new format, by checking #275 to see how the new format look like.
Please send us all your feedback at [email protected] or in slack.
Published by thomaspoignant over 2 years ago
Full Changelog: https://github.com/thomaspoignant/go-feature-flag/compare/v0.27.0...v0.27.1
Published by thomaspoignant over 2 years ago
Full Changelog: https://github.com/thomaspoignant/go-feature-flag/compare/v0.26.1...v0.27.0
Published by thomaspoignant over 2 years ago
string
for compatibility reasons by @thomaspoignant in https://github.com/thomaspoignant/go-feature-flag/pull/267
Full Changelog: https://github.com/thomaspoignant/go-feature-flag/compare/v0.26.0...v0.26.1
Published by thomaspoignant over 2 years ago
Full Changelog: https://github.com/thomaspoignant/go-feature-flag/compare/v0.25.2...v0.26.0
This version change the way to do your SDK initialization in particular when it comes to notifier
, provider
and exporter
.
This change is needed because we are adding more and more retriever / exporter and notifier, and with that we are also adding more dependencies to the project.
And since all the dependencies are in the same package we were increasing the size of your build even if you were not using the new providers.
The best example is when we introduce the kubernetes provider, it has added ~20Mo in your application because the client-go
from kubernetes is huge.
We have moved all retriever / exporter and notifier in a dedicated package for each of them.
With this new organisation when building your app we will use only the dependencies related to your configuration.
We also change the way to deal with the notifiers
to align it with the way it work for other extensions.
Edit your init function of go-feature-flag
and replace your retriever, exporter, notifier following this.
ffclient.FileRetriever -> fileretriever.Retriever
ffclient.GithubRetriever -> gcstorageretriever.Retriever
ffclient.GithubRetriever -> githubretriever.Retriever
ffclient.HTTPRetriever -> httpretriever.Retriever
ffclient.KubernetesRetriever -> k8sretriever.Retriever
fflcient.S3Retriever -> s3retriever.Retriever
ffexporter.File -> fileexporter.Exporter
ffexporter.GoogleCloudStorage -> gcstorageexporter.Exporter
ffexporter.Log -> logsexporter.Exporter
ffexporter.S3 -> s3exporter.Exporter
ffexporter.Webhook -> webhookexporter.Exporter
Since in this PR we change the way to work with notifier, you have more impact when configuring them.
Before this PR to configure a notifier you had something like that.
_, err := ffclient.New(ffclient.Config{
// ...
Notifiers: []ffclient.NotifierConfig{
&ffclient.WebhookConfig{
// ...
},
},
})
With this PR we had remove the ffclient.NotifierConfig
struct to use directly the notifier
them self.
It means that now ffclient.Config.Notifiers
has the type []notifier.Notifier
.
So it will look like:
_, err := ffclient.New(ffclient.Config{
// ...
Notifiers: []notifier.Notifier{
&webhooknotifier.Notifier{
// ...
},
},
})
To follow the same pattern has the retrievers
and exporters
we also have changed the struct you were using.
notifier.LogNotifier -> logsnotifier.Notifier
ffclient.SlackNotifier -> slacknotifier.Notifier
ffclient.WebhookConfig -> webhooknotifier.Notifier
Published by thomaspoignant over 2 years ago
⚠️ This version can force you to load a new version of antlr
.
Please consider removing your dependency on antlr
and replacing it with a new version.
Full Changelog: https://github.com/thomaspoignant/go-feature-flag/compare/v0.25.1...v0.25.2
Published by thomaspoignant over 2 years ago
Full Changelog: https://github.com/thomaspoignant/go-feature-flag/compare/v0.25.0...v0.25.1