CloudBees Feature Management - PHP 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.

Jun 15, 2022: V5.0.2

Removed the Impressions send backoff strategy.

Jun 14, 2022: V5.0.1

Added setTimeout to setup options, to control network requests for a timeout.

2021-10-27 V5.0.0

Breaking changes:

  • RoxVariant changed to RoxString

    • new RoxVariant(…​)new RoxString(…​).

Fixes and Additions:

  • Can use register without a namespace:

    • Rox::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 CustomPropertyGenerator, ImpressionHandler, ConfigurationFetchedHandler, DynamicPropertyRule) with try-catch in order to be in the right context.

    • In case there will be an uncaught error, it will reach the UserspaceUnhandledErrorHandler handler which is simply a function registered via Rox::setUserspaceUnhandledErrorHandler.

    • You can use this handler for debugging, or for further error handling. An exception raised within this handler will be written to log.

    • If Rox::setUserspaceUnhandledErrorHandler was not called, 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, ImpressionArgs class now doesn’t have getExperiment() method. Objects returned by its getReportingValue() method now also provide isTargeting() property indicating whether 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.

  • Added a graceful Rox::shutdown() function in order to free all the consumed resources.

    • Multiple Rox::setup() calls will be ignored if ROX wasn’t shutdown in between.

  • The minimum PHP version for SDK 5 is PHP 7.3. For old PHP versions, please use SDK 4.

2021-10-07 V4.8.0

Add analytics module.

2020-12-23 V4.7.4

rox::Register and all rox::SetCustom<xxx>Property after rox::Setup will now have effect on flag evaluations

These calls will still not be registered to the Dashboard

2020-04-05 V4.7.3

Making sure distinct_id doesn’t rely on the process id

2020-04-01 V4.7.2

Supporting Monolog v2

2020-01-12 V4.7.1

RoxContainerInterface was removed, Rox::register will register any class Rox::register will recognize dynamic properties

2020-01-02 V4.7.0

Initial release