Releases: MiSikora/laboratory
Releases · MiSikora/laboratory
0.12.1
Added
- Indication that an option is a supervisor. If an option supervises features it has an eye icon next to it. List of supervised features is available after long pressing a chip.
- Navigation from supervised feature to supervisor.
- Navigation from supervisor to supervised feature.
- Amount of offscreen feature sections in inspector can be controlled with
LaboratoryActivity.Configuration.OffscreenSectionsBehavior
. Default is unlimited.
Changed
- Upgrade to Kotlin
1.4.32
. - Upgrade to LifecycleViewmodelKtx
2.3.1
. - Upgrade to FragmentKtx
1.3.2
. - Upgrade to Wire
3.7.0
.
0.12.0
Added
- Gradle plugin generates
sourcedBuilder()
extension function forSourcedFeatureStorage
that returns custom builder with steps for each source. This makes changes to sources compile time safe. - Show feature's supervisor option in inspector – #95.
Changed
- Upgrade to Coroutines
1.4.3
. - Upgrade to AGP
4.1.3
.
Deprecated
sourcedGenerated()
extension function generated by Gradle plugin.
0.11.0
Changed
- Use
proto3
forFeatureFlags
definition. - Upgrade to DataStore
1.0.0-alpha08
. - Upgrade to Kotlin
1.4.31
. - Upgrade to Wire
3.6.1
. - Upgrade to FragmentKtx
1.3.1
.
0.10.0
Added
- Parent–child relationship to
Feature
. This relationship is controlled with aFeature.supervisorOption
property. Whenever supervisor has its option different from this value then the supervised feature flag cannot return any other option than a default one. Option can still be set viaLaboratory
but it will not be exposed as long as a feature flag is not supervised. This relationship is recursive meaning that grandparents control grandchildren indirectly. - Code generation of supervisor options via Gradle plugin.
Changed
- Gradle plugin no longer changes implicit package name multiple times. Only last value that was set is applied in configuration.
- Upgrade to DataStore
1.0.0-alpha06
. - Upgrade to AGP
4.1.2
. - Upgrade to Kotlin
1.4.30
. - Upgrade to Wire
3.6.0
. - Upgrade to Material
1.3.0
. - Upgrade to FragmentKtx
1.3.0
. - Upgrade to LifecycleViewmodelKtx
2.3.0
. - Upgrade to Hyperion
0.9.31
.
Fixed
- Search icon not animating on Android below SDK 24.
Deprecated
DataStore
custom builder and builder factory methods. Factory method that acceptsDataStore
directly should be used instead.
0.9.7
Changed
DeprecationLevel.Hidden
is no longer deprecated. It was a mistake to deprecate it at all since it could work from the start.
0.9.6
Added
FeatureFactory
can be now appended to another with plus operator.DefaultOptionFactory
can be now appended to another with plus operator.
Changed
- Use description as feature flag's KDoc content.
- Upgrade Kotlin to
1.4.21
.
Deprecated
- Using
DeprecationLevel.Hidden
is temporarily treated as an error until the compiler issue is fixed.
Fixed
- Make updates to the in-memory
Laboratory
atomic.
0.9.5
Added
- Builder pattern for
LaboratoryActivity.Configuration
construction. - Visual representation of deprecated feature flags in the QA module.
- Visual representation of deprecated feature flags can be configured via
LaboratoryActivity.Configuration
builder withdeprecationPhenotypeSelector()
anddeprecationAlignmentSelector()
functions. - Consumer ProGuard rules to
laboratory-inspector
to keep@Deprecated
annotation. - QA module displays clickable hyperlinks from a feature flag description if it contains Markdown formatted links.
Changed
- Upgrade to DataStore
1.0.0-alpha05
.
Deprecated
LaboratoryActivity.Configuration()
constructor. UseLaboratoryActivity.Configuration.create()
orLaboratoryActivity.Configuration.builder()
instead.
Fixed
- Warning and error level deprecation on generated feature flags is now correctly suppressed.
0.9.4
Added
- Kyrie
0.2.1
tolaboratory-inspector
. - DynamicAnimation
1.0.0
tolaboratory-inspector
.
Changed
- Animation of search feature in inspector. It no longer makes ugly visibility transitions.
- Upgrade to Coroutines
1.4.2
.
0.9.3
Added
- Feature flags filtering to the QA module. Features are filtered by their name, options or source options.
- ConstraintLayout
2.0.4
tolaboratory-inspector
.
Changed
- Inspector tabs are now scrollable instead of fixed.
- Upgrade to Kotlin
1.4.20
.
Fixed
- Shared preferences based
FeatureStorage
dispatches now changes to feature flag observers whenclear()
method is used. This fixes an issue with the QA module where it did not update the UI after resetting feature flags if shared preferences where used for feature flags persistence. - Preserve feature flags preview adapter scroll position on configuration changes.
- External feature factories are no longer filtered out when added with the
configure()
function.
0.9.2
Added
BlockingLaboratory
class that can read and write feature flags via blocking API.blocking()
function toLaboratory
class that is an entry point to the blocking API.- Deprecation of feature flags from the Gradle plugin with
deprecated(message, level)
method.level
argument is optional and a warning level is used by default.
Changed
- Upgrade to DataStore
1.0.0-alpha04
.
Deprecated
- All blocking functions on the
Laboratory
class.BlockingLaboratory
available viablocking()
function should be used instead.