Skip to content

0.9.0

Compare
Choose a tag to compare
@github-actions github-actions released this 11 Nov 15:03

Added

  • Groovy DSL for adding feature flags via Gradle plugin. This is equivalent to feature("SomeFeatureFlag") function.
    laboratory {
      SomeFeatureFlag {
        withDefaultOption("Enabled")
        withOption("Disabled")
      }
    }
  • options extension to Class<Feature<T>> that returns all available feature flag options.
  • defaultOption extension to Class<Feature<T>> that returns a default option of a feature flag.
  • source extension to Class<Feature<*>> that returns a feature flag source if available.
  • description extension to Class<Feature<*>> that returns a feature flag description if available.
  • withOption() and withDefaultOption() to Gradle plugin for adding options to feature flags.
  • defaultOption property to Feature interface.
  • setOption() and setOptions() functions to Laboratory and FeatureStorage.

Changed

  • excludeProjects plugin functions are now called projectFilter and the condition is reversed. Previously they removed projects that matched a condition. Now they allow projects that match it.
  • sourcedWith property on Feature is now named source.
  • Upgrade to Coroutines 1.4.1.

Deprecated

  • withValue() and withDefaultValue() functions in Gradle plugin. withOption() and withDefaultOption() should be used instead.
  • setFeature() and setFeatures() functions. setOption() and setOptions() should be used instead.

Removed

  • ProjectFilter from laboratory-gradle-plugin in favour of java.util.function.Predicate.
  • configure() overload which accepts sources factory as a separate argument.
  • isDefaultValue from Feature interface. defaultOption should be used instead.

Fixed

  • Moved generateSourcedFeatureStorage task to a correct tasks group.