Skip to content

Releases: thomaspoignant/go-feature-flag

v1.0.0-beta.3

14 Oct 11:56
620ff07
Compare
Choose a tag to compare
v1.0.0-beta.3 Pre-release
Pre-release

v1.0.0-beta.3

What's Changed

Full Changelog: v1.0.0-beta.2...v1.0.0-beta.3

v1.0.0-beta.2

12 Oct 13:59
e404d17
Compare
Choose a tag to compare
v1.0.0-beta.2 Pre-release
Pre-release

v1.0.0-beta.2

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.

What's Changed

Full Changelog: v0.28.1...v1.0.0-beta.2

v0.28.1

05 Oct 07:27
47bc6fa
Compare
Choose a tag to compare

What's Changed

Bug fixes

Changes

Dependencies

  • Bump cloud.google.com/go/storage from 1.26.0 to 1.27.0 by @dependabot in #350
  • Bump k8s.io/api from 0.25.1 to 0.25.2 by @dependabot in #353
  • Bump github.com/aws/aws-sdk-go from 1.44.100 to 1.44.105 by @dependabot in #356
  • Bump k8s.io/client-go from 0.25.1 to 0.25.2 by @dependabot in #354
  • Bump github.com/fsouza/fake-gcs-server from 1.40.1 to 1.40.2 by @dependabot in #352
  • Bump google.golang.org/api from 0.97.0 to 0.98.0 by @dependabot in #359
  • Bump github.com/aws/aws-sdk-go from 1.44.105 to 1.44.109 by @dependabot in #358

New Contributors

Full Changelog: v0.28.0...v0.28.1

v0.28.0

22 Sep 08:16
b1f6f08
Compare
Choose a tag to compare

What's Changed

Changes

Dependencies

  • Bump github.com/aws/aws-sdk-go from 1.44.88 to 1.44.89 by @dependabot in #327
  • Bump github.com/aws/aws-sdk-go from 1.44.89 to 1.44.90 by @dependabot in #328
  • Bump github.com/aws/aws-sdk-go from 1.44.90 to 1.44.91 by @dependabot in #329
  • Bump github.com/fsouza/fake-gcs-server from 1.39.0 to 1.40.1 by @dependabot in #331
  • Bump google.golang.org/api from 0.94.0 to 0.95.0 by @dependabot in #332
  • Bump github.com/aws/aws-sdk-go from 1.44.91 to 1.44.92 by @dependabot in #333
  • Bump github.com/aws/aws-sdk-go from 1.44.92 to 1.44.93 by @dependabot in #334
  • Bump github.com/google/go-cmp from 0.5.8 to 0.5.9 by @dependabot in #335
  • Bump github.com/aws/aws-sdk-go from 1.44.93 to 1.44.94 by @dependabot in #336
  • Bump github.com/aws/aws-sdk-go from 1.44.94 to 1.44.95 by @dependabot in #337
  • Bump github.com/aws/aws-sdk-go from 1.44.95 to 1.44.96 by @dependabot in #338
  • Bump github.com/aws/aws-sdk-go from 1.44.96 to 1.44.97 by @dependabot in #339
  • Bump github.com/aws/aws-sdk-go from 1.44.97 to 1.44.98 by @dependabot in #340
  • Bump google.golang.org/api from 0.95.0 to 0.96.0 by @dependabot in #341
  • Bump github.com/aws/aws-sdk-go from 1.44.98 to 1.44.99 by @dependabot in #342
  • Bump github.com/aws/aws-sdk-go from 1.44.99 to 1.44.100 by @dependabot in #343
  • Bump k8s.io/client-go from 0.25.0 to 0.25.1 by @dependabot in #344

New Contributors

Full Changelog: v0.27.2...v0.28.0

v0.27.2

31 Aug 15:23
51bb4ff
Compare
Choose a tag to compare

v0.27.2

What's Changed

New Contributors

Full Changelog: v0.27.1...v0.27.2

v1.0.0-beta.1

09 Aug 21:53
Compare
Choose a tag to compare
v1.0.0-beta.1 Pre-release
Pre-release

v1.0.0-beta.1

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.

Why?

Because the format was too basic and was not allowing complex flag configuration.

What should I change?

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.

Feedback

Please send us all your feedback at [email protected] or in slack.

v0.27.1

19 Jul 07:57
885ea49
Compare
Choose a tag to compare

v0.27.1

What's Changed

Full Changelog: v0.27.0...v0.27.1

v0.27.0

18 Jul 17:00
6e9af48
Compare
Choose a tag to compare

v0.27.0

What's Changed

Full Changelog: v0.26.1...v0.27.0

v0.26.1

07 Jul 12:34
96db56d
Compare
Choose a tag to compare

v0.26.1

What's Changed

Full Changelog: v0.26.0...v0.26.1

v0.26.0

07 Jul 08:50
e3fb234
Compare
Choose a tag to compare

v0.26.0

📝 Release note

Full Changelog: v0.25.2...v0.26.0

⚠️ Breaking changes ⚠️

This version change the way to do your SDK initialization in particular when it comes to notifier, provider and exporter.

Why are we doing this breaking changes?

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.

What did we change?

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.

How to migrate?

Edit your init function of go-feature-flag and replace your retriever, exporter, notifier following this.

Retrievers

ffclient.FileRetriever          ->      fileretriever.Retriever
ffclient.GithubRetriever        ->      gcstorageretriever.Retriever
ffclient.GithubRetriever        ->      githubretriever.Retriever
ffclient.HTTPRetriever          ->      httpretriever.Retriever
ffclient.KubernetesRetriever    ->      k8sretriever.Retriever
fflcient.S3Retriever            ->      s3retriever.Retriever

Exporters

ffexporter.File                 ->      fileexporter.Exporter
ffexporter.GoogleCloudStorage   ->      gcstorageexporter.Exporter
ffexporter.Log                  ->      logsexporter.Exporter
ffexporter.S3                   ->      s3exporter.Exporter
ffexporter.Webhook              ->      webhookexporter.Exporter

Notifiers

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