Skip to content

v1.6.0

Choose a tag to compare

@aarsilv aarsilv released this 12 Jan 16:56
· 70 commits to main since this release

What's Changed

We now have retries for the initial request of the configuration. These are separated by a short wait (~10% of the polling interval) as initialization is typically awaited, so we don't want it to take too long.

We also now have retries for polling for updated configurations. These are separated by an exponential backoff, and if a certain amount fails, polling will stop.

We've also added the ability to have the initialization not throw an error on failure, and for it to attempt polling even after a failed initial request. (E.g., initialize the server with no configurations, but leave the chance to get one later)

Lastly, the timeout of the request can be adjusted as well.

This is all controlled by newly added configuration options:

  • numInitialRequestRetries - how many times fetching the initial configuration in init() will be retried (default: 1)
    throwOnFailedInitialization - whether or not init() should throw/reject with an error if no initial configuration was successfully requested (default: true; which is current behavior)
  • pollAfterFailedInitialization - whether or not to start regular polling for configurations if one is not loaded in init(). (default: false)
  • numPollRequestRetries - how many times a failed request for an updated configuration (after init() is done) will be attempted. (default: 7)
  • requestTimeoutMs - timeout for the configuration request (default: 5000 ms)

Full Changelog: v1.5.0...v1.6.0