CloudBees Feature Management - .Net changelog

CloudBees Feature Management is an advanced feature flagging solution that lets your development teams quickly build and deploy applications without compromising on safety. By providing a gradual release mechanism and a simple way to define target audiences, CloudBees Feature Management allows developers and product managers to optimize feature releases and customize the user experience. CloudBees Feature Management gives teams control over features that are in staging, production, or any environment in the deployment pipeline.

May 23, 2022: V5.1.9

  • Fixed file writing for cached configuration (replacing instead of overriding).

February 24, 2022: V5.1.8

  • Internal change - using SDK LibVersion from build.

May 20, 2022

  • European Union (EU) hosting has been removed.

February 2, 2022: V5.1.7

  • Added the BaseCachePath configuration storage path option to RoxOptions.

  • Added Rox.IsTargetingOnForFlag.

2021-08-16: V5.1.5

  • Added a proxy that supports servers or clients using CloudBees Feature Management SDKs with the following connection issues:

    • No internet access

    • Trouble connecting to CloudBees Feature Management services

    • Blocked by a firewall

    • Client does not have CORS permissions

    • Needing full control over network requests A proxy for CloudBees Feature Management

2021-08-09: V5.1.4

  • CloudBees Feature Management customers now have the option to host data on CloudBees servers located in Ireland. By providing both EU and US servers, this capability can increase speed, reliability, security, and privacy, as well as support regulatory and business compliance requirements designated to the respective user locations.

    With EU hosting enabled, the following data related to CloudBees Feature Management is stored on EU servers:

    • Applications

    • Environments

    • Flags

    • Target groups

    • Audit logs

2021-06-02: V5.1.3

Increasing analytics requests timeout

2021-04-16: V5.1.2

Breaking change: renaming UserspaceUnhandlerErrorHandler to UserspaceUnhandledErrorHandler

2021-03-21: V5.1.1

  • Creating .net client (Nuget rox-client)

  • Fixing Configuration fetched handler HasChanges

2021-02-03: V5.0.1

  • Fixing RegEx Match condition, and empty string values

2021-01-05: V5.0.0

Breaking changes:

  • Variant changed to RoxString

    • New Variant("defaultStr", new String[] {"str1", "str2"}) ⇒ new RoxString("defaultStr", new String[] {"str1", "str2"})

  • Functions input validations

    • Some trivial parameters (mostly type) validations were added to dynamicApi and flags constructions. For example: new RoxString(null) will raise an ArgumentException as default cannot be null (default value of RoxString should be a string). Rox.dynamicApi.value(null, 'defaultStr', ['str2', 'str3']) will raise an ArgumentException because of null flag name (name should always be a string)

Fixes and Additions:

  • Can use register without a namespace:

    • register(container) will register the container under an empty string namespace (multiple register calls with the same namespaces are still not allowed!)

  • Added a User Space Error handling

    • It is recommended to wrap all handlers used in Rox platform (all Rox.SetCustom<…​>Property, RoxOptions.ImpressionHandler, RoxOptions.ConfigurationFetchedHandler, RoxOptions.DynamicPropertiesRule) with try-catch in order to be in the right context. In case there will be an uncaught error, it will reach the Rox.SetUserspaceUnhandledErrorHandler handler. You can use this handler for debugging, or for further error handling. An Error thrown within this handler will be written to log. If no SetUserspaceUnhandledErrorHandler was set, errors will be written to the log.

  • Analytics / impressions

    • Starting with SDK 5, flags will always send impressions after setup (not only when targeting is enabled on the dashboard)

  • Impression handler parameters change

    • As experiments were removed, impressions handler signature was changed from (reportingValue, experiment, context) to (reportingValue, context). reportingValue now also has a Targeting (boolean) property, indicating the flag was evaluated by using the dashboard configurations.

  • New Flag Types Int/Double

    • In addition to RoxFlag and RoxString, we also added RoxInt and RoxDouble

    • DynamicApi was also updated with matching GetInt and GetDouble methods

  • Added a graceful Rox.Shutdown

    • In order to clean all background Tasks

    • multiple Rox.Setup calls will be ignored if Rox wasn’t Shutdown in between

2020-06-11: V4.9.0

  • Added self-managed support

  • Performance improvements

2020-01-21: V4.7.1

  • Rox.Register container - ignoring compiler generated fields

  • Rox.Register container - taking into account properties with compiler generated get accessor

2019-09-04: V4.7.0

  • Changes to API calls, using Cloudfront

  • API version 1.8.0

  • Values are base64 - fixing " and () bug

  • Added Implicit Property support - DynamicPropertiesRule option

2019-07-20: V4.5.0

  • Added push updates via Server-Sent Events (closed for beta customers)

  • Added Dynamic API

  • Variants in Dynamic API are open for any value from the dashboard

2018-10-04: V4.2.0

  • Support for C# 4.5.1

2018-08-20: V4.1.0

  • Scheduled Released

  • Encrypted in operator - you can now use in operator and the data will be passed to the clients encrypted

  • API version 1.7.0

2018-08-19: V4.0.0

  • Impression Analytics support

2018-07-12: V3.0.0

  • API version 1.6.0

  • Support to configure SDK to work with Roxy

  • Add support to Flag dependencies

  • Add Impression handler

  • Add Configuration handler

2018-07-01: V2.0.0

  • isEnabled renamed to IsEnabled

  • IsEnabled and GetValue no context method was added

  • API version 1.5.0

  • Support Value Quote expressions

  • Security enhancement

  • Allow overriding custom rox. properties

  • Added internal tests

2018-02-20: V1.0.2

Fixed in-array bug

2018-01-22: V1.0.1

Initial release