July 10, 2024: V5.1.11
-
Fixing dotnet client SDK rox.app_release custom property (used in version conditions), to be the executing app version
-
Stopping Xamarin releases (deprecated)
-
Internal changes
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 ofRoxString
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 theRox.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 noSetUserspaceUnhandledErrorHandler
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
andRoxString
, we also addedRoxInt
andRoxDouble
-
DynamicApi
was also updated with matchingGetInt
andGetDouble
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