Skip to content

Releases: thomaspoignant/go-feature-flag

v0.7.0

03 Feb 14:18
2fb5a34
Compare
Choose a tag to compare

v0.7.0

Features

  • #65 - Call webhooks when a flag has changed

Changes

  • #64 - Create a notification system when flags changes
  • #63 - Bump github.com/stretchr/testify from 1.6.1 to 1.7.0
  • #62 - Bump github.com/aws/aws-sdk-go from 1.36.19 to 1.37.1

v0.6.1

21 Jan 15:32
2791961
Compare
Choose a tag to compare

v0.6.1

Changes

  • #59 - Remove gocron dependency and use a time.Ticker to handle the background updater.

v0.6.0

18 Jan 10:32
552fc5e
Compare
Choose a tag to compare

v0.6.0

Features

  • #53 - Log flag changes of your flags to be able to trace all the flag changes.
  • #58 - Allow multiple go-feature-flag instances in the same application.

Changes

  • #55 - Refactor to avoid global variables as much as possible.

v0.5.0

13 Jan 10:14
33e35be
Compare
Choose a tag to compare

v0.5.0

⚠️ Breaking changes

  • #49 - Change the signature to pass the retriever in the config. See the pull request (#49) to have the full details and to see how to migrate from v0.4.1 to v0.5.0.

Why?

The main reason is to have the aws/aws-sdk-go as a dependency only if you are using the S3Retriever. With this new syntax, we don't force you to have the SDK if you are not using it.

How to migrate

If you were using HTTPRetriever, S3Retriever or GithubRetriever, the change consists only of changing the key in the config.

// Before v0.5.0
err := ffclient.Init(ffclient.Config{
    PollInterval: 3,
    HTTPRetriever: &ffClient.HTTPRetriever{
        URL:    "http://example.com/test.yaml",
    },
})

// Since v0.5.0
err := ffclient.Init(ffclient.Config{
    PollInterval: 3,
    Retriever: &ffclient.HTTPRetriever{
        URL:    "http://example.com/test.yaml",
    },
})

It is a bit different for the flag configuration, I have introduced a FileRetriever to keep the same format for all retrievers.

// Before v0.5.0
err := ffclient.Init(ffclient.Config{
    PollInterval: 3,
    LocalFile: "file-example.yaml",
})

// Since v0.5.0
err := ffclient.Init(ffclient.Config{
    PollInterval: 3,
    Retriever: &ffclient.FileRetriever{
        Path:    "file-example.yaml",
    },
})

Features

  • #47 - Add a Timeout properties to specify timeout when calling HTTP Client retriever, default is 10 seconds.
  • #48 - Use context when retrieving the flags, Context could be passed in the ffclient.Config{} during initialization.

Internal

  • #46 - Rename and un-export UserToJSON

v0.4.1

11 Jan 08:56
735bdc2
Compare
Choose a tag to compare

v0.4.1

Fix typo in the documentation.

v0.4.0

23 Dec 18:01
de1d135
Compare
Choose a tag to compare

v0.4.0

Features

  • Add Github retriever #29

v0.3.0

22 Dec 09:56
c8d2c93
Compare
Choose a tag to compare

v0.3.0

  • Variation return default value only if an error appear #24
  • Add log when calling variation #26

v0.2.0

17 Dec 14:22
e58fb50
Compare
Choose a tag to compare

v0.2.0

#13 - Change the way to affect people in the cohort

v0.1.0

16 Dec 13:35
4faeb2f
Compare
Choose a tag to compare

Initial release of go-feature-flag

The library support 3 receivers (file, HTTP, and S3).