You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+14-7Lines changed: 14 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,10 +1,16 @@
1
-
## [Unreleased]
2
-
3
-
### Changes
4
-
5
-
-*No changes*
6
-
7
-
## [1.2.0] (2026-06-05)
1
+
## [Unreleased]
2
+
3
+
### Changes
4
+
5
+
***Breaking changes:**`plugin-konfeature` переведён на публичную библиотеку [`konfeature-ui`][konfeature-ui]. Собственная реализация экрана, `ViewModel`, диалога редактирования и `JsonConverter` удалены — UI, состояние и хранение переопределений теперь предоставляет `konfeature-ui`. См. [migration guide](docs/migration_guide.md).
6
+
***Breaking changes:** Удалён `KonfeatureDebugPanelInterceptor`. Вместо него используется `KonfeatureDebugPanelConfig`, который объединяет хранилище переопределений (DataStore) и интерцептор. Создайте конфиг через `KonfeatureDebugPanelConfig.create(context)`, подключите его к `Konfeature` через `applyDebugPanelConfig(config)` и передайте тот же конфиг в `KonfeaturePlugin(konfeature, config)`.
***Breaking changes:** Для debug-сборок теперь необходимо подключать `konfeature-ui`, а для release-сборок — `konfeature-ui-noop`.
9
+
* Изменено поведение переопределения значений: в панели инлайн-переключаются только `Boolean`-тогглы, значения остальных типов отображаются только для чтения.
10
+
* Обновлён каталог версий зависимостей (2026.02.23 → 2026.07.10).
<ahref="https://github.com/user-attachments/assets/c8935f5d-1458-4e4d-9008-120ef0300013">Watch the debug-panel demo</a>
7
+
</video>
6
8
7
9
[](https://central.sonatype.com/search?namespace=com.redmadrobot.debug)
В основе плагина лежит библиотека [Konfeature][konfeature], которая позволяет:
172
183
173
184
- отображать конфигурации feature, используемые в Konfeature
174
185
- просматривать источник каждого элемента конфигурации (Default, Firebase, AppGallery и др.)
175
-
- переопределять значения элементов конфигурации с типами Boolean, String, Long, Double
186
+
- переопределять значения тогглов типа `Boolean` прямо в панели (значения остальных типов отображаются только для чтения)
187
+
188
+
Экран, список фич и хранение переопределений (DataStore) предоставляет библиотека [`konfeature-ui`][konfeature]. Плагин лишь встраивает её экран в дебаг-панель. Переопределённые значения сохраняются между перезапусками приложения.
176
189
177
-
Для подключения плагина необходимо передать объект класса `KonfeatureDebugPanelInterceptor` и экземпляр `Konfeature`
190
+
Для подключения нужно создать `KonfeatureDebugPanelConfig`, подключить его к экземпляру `Konfeature` через `applyDebugPanelConfig(...)` и передать тот же самый конфиг в `KonfeaturePlugin`:
178
191
179
192
```kotlin
180
-
val debugPanelInterceptor =KonfeatureDebugPanelInterceptor(context)
193
+
// создаётся один раз на старте приложения; create() — suspend-функция
194
+
val config =KonfeatureDebugPanelConfig.create(context)
181
195
182
196
val konfeatureInstance = konfeature {
183
-
if (isDebug) {
184
-
addInterceptor(debugPanelInterceptor)
185
-
}
197
+
register(MyFeatureConfig())
198
+
applyDebugPanelConfig(config)
186
199
}
187
200
188
201
KonfeaturePlugin(
189
-
debugPanelInterceptor = debugPanelInterceptor,
190
202
konfeature = konfeatureInstance,
203
+
config = config,
191
204
)
192
205
```
193
206
207
+
> Важно: в `KonfeaturePlugin` необходимо передать тот же самый `config`, который был подключён к `Konfeature` через `applyDebugPanelConfig(...)`. Если конфиг не был подключён, конструктор плагина упадёт с ошибкой, так как панель показывала бы значения, которые не может переопределить.
208
+
194
209
В builder Konfeature доступны следующие настройки:
Copy file name to clipboardExpand all lines: docs/migration_guide.md
+54-1Lines changed: 54 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,57 @@
1
1
# Миграция
2
2
3
+
## Миграция на версию 1.3.0
4
+
5
+
### Переход plugin-konfeature на библиотеку konfeature-ui
6
+
7
+
`plugin-konfeature` переведён на публичную библиотеку [`konfeature-ui`][konfeature]: экран, список фич и хранение переопределений (DataStore) теперь предоставляет она. Собственный `KonfeatureDebugPanelInterceptor`, экран, `ViewModel` и диалог редактирования удалены.
8
+
9
+
Вместо `KonfeatureDebugPanelInterceptor` используется `KonfeatureDebugPanelConfig` — он объединяет хранилище переопределений и интерцептор, гарантируя, что панель и `Konfeature` работают с одним и тем же store.
10
+
11
+
> Миграция хранимых значений не предусмотрена: ранее переопределённые значения после обновления сбрасываются к значениям из источников.
12
+
13
+
#### Gradle
14
+
15
+
Для debug-сборок необходимо подключить `konfeature-ui`, для release-сборок — `konfeature-ui-noop`. Зависимость `konfeature` переведена в `implementation`, так как нужна в обеих конфигурациях.
`KonfeatureDebugPanelConfig.create(...)` — `suspend`-функция, вызовите её на старте приложения из подходящего scope. Тот же `config` необходимо подключить к `Konfeature` через `applyDebugPanelConfig(...)` и передать в `KonfeaturePlugin`.
27
+
28
+
```diff
29
+
- val debugPanelInterceptor = KonfeatureDebugPanelInterceptor(context)
30
+
- val konfeatureInstance = konfeature {
31
+
- addInterceptor(debugPanelInterceptor)
32
+
- }
33
+
- KonfeaturePlugin(
34
+
- debugPanelInterceptor = debugPanelInterceptor,
35
+
- konfeature = konfeatureInstance,
36
+
- )
37
+
38
+
+ val config = KonfeatureDebugPanelConfig.create(context)
39
+
+ val konfeatureInstance = konfeature {
40
+
+ register(MyFeatureConfig())
41
+
+ applyDebugPanelConfig(config)
42
+
+ }
43
+
+ KonfeaturePlugin(
44
+
+ konfeature = konfeatureInstance,
45
+
+ config = config,
46
+
+ )
47
+
```
48
+
49
+
> Конструктор `KonfeaturePlugin` упадёт с ошибкой, если переданный `config` не был подключён к `Konfeature` через `applyDebugPanelConfig(...)`.
50
+
51
+
#### Переопределение значений
52
+
53
+
Инлайн-переопределение в панели теперь доступно только для тогглов типа `Boolean`. Значения остальных типов отображаются только для чтения.
54
+
3
55
## Миграция на версию 1.0.0
4
56
5
57
### Миграция с FlipperPlugin на KonfeaturePlugin
@@ -255,4 +307,5 @@ VariablePlugin позволял изменять значения перемен
255
307
Планируется развивать и улучшать KonfeaturePlugin, так что следите за обновлениями.
0 commit comments