Skip to content

v0.5.0

Compare
Choose a tag to compare
@thomaspoignant thomaspoignant released this 13 Jan 10:14
· 2384 commits to main since this release
33e35be

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