CloudBees Feature Management - .Net changelog

With CloudBees Software Delivery Management, you can measure, manage, and improve your team’s ability to deliver features and connect software development efforts to the rest of the business.

CloudBees Software Delivery Management has two modules: CloudBees Engineering Efficiency and CloudBees Feature Management.

  • CloudBees Feature Management lets you access your features at every stage of development for greater control and experimentation.
  • CloudBees Engineering Efficiency lets you access engineering productivity data, giving you the visibility to focus on quickly and predictably delivering value to your customers and the business.

.Net changelog

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