Releases: Goooler/Tabby
Releases · Goooler/Tabby
Release list
nightly
What's Changed
- Shape CMP skeleton by @Goooler in #332
- Move subscription info fetch into Go by @Goooler in #334
- Add Rule into filter modes by @Goooler in #336
- Refactor Proxy.Type to value class for forward compatibility by @Goooler in #337
- Merge upstream changes by @Goooler in #335
- Correct resource string templates to positional format for CMP by @Goooler in #338
- Release version 3.3.0 by @Goooler in #339
- Update koin to v4.2.2 by @renovate[bot] in #340
- Update plugin com.gradle.develocity to v4.4.3 by @renovate[bot] in #341
- Update plugin spotless to v8.7.0 by @renovate[bot] in #342
- Bump targetSdk to 37 by @Goooler in #343
- Replace CMP dependencies by @Goooler in #344
- Migrate from Okhttp to Ktor by @Goooler in #345
- Remove extra TypeConverter for enum by @Goooler in #347
- Update room to v3.0.0-rc01 by @renovate[bot] in #346
- Update actions/checkout action to v7 by @renovate[bot] in #349
- Update Gradle to v9.6.0 by @renovate[bot] in #350
- Update dependency com.facebook:ktfmt to v0.64 by @renovate[bot] in #351
- Update ktor monorepo to v3.5.1 by @renovate[bot] in #352
- Update Gradle to v9.6.1 by @renovate[bot] in #353
- Update plugin spotless to v8.8.0 by @renovate[bot] in #354
- Move shared models to core model module by @lihenggui in #355
- Update plugin com.gradle.develocity to v4.5.0 by @renovate[bot] in #356
- Update lifecycle to v2.11.0-rc01 by @renovate[bot] in #357
- Update room to v3.0.0 by @renovate[bot] in #358
- Update module github.com/metacubex/mihomo to v1.19.28 by @renovate[bot] in #360
- Update Go dependencies by @actionstokenprovider[bot] in #361
- Update dependency core/src/foss/golang/clash to v1.19.28 by @renovate[bot] in #359
- Update module golang.org/x/sync to v0.22.0 by @renovate[bot] in #362
- Update Go dependencies by @actionstokenprovider[bot] in #363
- Update plugin ksp to v2.3.10 by @renovate[bot] in #364
- Update kotlin monorepo to v2.4.10 by @renovate[bot] in #365
- Update lifecycle to v2.11.0 by @renovate[bot] in #366
- Update agp to v9.3.0 by @renovate[bot] in #367
- Update actions/setup-go action to v7 by @renovate[bot] in #368
- Gradle 9.7.0-rc-1 by @Goooler in #369
- Update dependency core/src/foss/golang/clash to v1.19.29 by @renovate[bot] in #371
- Update Go dependencies by @actionstokenprovider[bot] in #373
- Update module github.com/metacubex/mihomo to v1.19.29 by @renovate[bot] in #372
- Update Go dependencies by @actionstokenprovider[bot] in #374
- Enable improved incremental compilation for Kotlin JVM by @Goooler in #375
- Update agp to v9.3.1 by @renovate[bot] in #376
- Update plugin spotless to v8.9.0 by @renovate[bot] in #377
- Migrate optimization DSL by @Goooler in #378
- Update dependency androidx.room3:room3-runtime to v3.0.1 by @renovate[bot] in #379
- Update ktor monorepo to v3.5.2 by @renovate[bot] in #381
- Update Gradle to v9.7.0-rc-2 by @renovate[bot] in #380
- Update plugin ksp to v2.3.11 by @renovate[bot] in #382
- Update Gradle to v9.7.0-rc-3 by @renovate[bot] in #383
- Update Gradle to v9.7.0 by @renovate[bot] in #384
- Update Mihomo to v1.19.30 by @renovate[bot] in #387
- Update Go dependencies by @actionstokenprovider[bot] in #388
- Update module github.com/dlclark/regexp2 to v2 by @renovate[bot] in #389
- Update Go dependencies by @actionstokenprovider[bot] in #390
- Update plugin spotless to v8.10.0 by @renovate[bot] in #391
- Migrate eventState to SharedFlow by @Goooler in #393
- Decouple ViewModel from DefaultLifecycleObserver by @Goooler in #392
- Update Gradle to v9.7.1 by @renovate[bot] in #394
- Update dependency go to 1.27 by @renovate[bot] in #395
- Update agp to v9.3.2 by @renovate[bot] in #397
- Fix delayed state updates when stopping Clash services by @Goooler in #398
- Update actions/setup-java action to v6 by @renovate[bot] in #400
- Update cmp to v1.12.0 by @renovate[bot] in #399
- Update room to v3.0.2 by @renovate[bot] in #401
- Update plugin spotless to v8.10.1 by @renovate[bot] in #402
- Replace custom logging with Kermit by @lihenggui in #403
- Split coroutine dependencies by platform by @lihenggui in #404
- Move platform-independent utilities to commonMain by @lihenggui in #406
- Move compose icons to common folder by @lihenggui in #405
- Prefer constructor functions for providers by @Goooler in #407
- Update dependency com.android.library to v9.4.0 by @renovate[bot] in #408
- Extract Room database and kaidl IPC to dedicated submodules by @Goooler in #409
- Update plugin spotless to v8.10.2 by @renovate[bot] in #410
- Update module github.com/dlclark/regexp2/v2 to v2.7.2 by @renovate[bot] in #411
- Update kotlin monorepo to v2.4.20 by @renovate[bot] in #413
- Update module github.com/dlclark/regexp2/v2 to v2.8.0 by @renovate[bot] in #414
- Update module golang.org/x/sync to v0.23.0 by @renovate[bot] in #415
- Update dependency co.touchlab:kermit to v2.2.0 by @renovate[bot] in #416
- Update plugin com.gradle.develocity to v4.5.1 by @renovate[bot] in #418
- Update dependency androidx.room3:room3-runtime to v3.0.3 by @renovate[bot] in #419
- Update plugin ksp to v2.3.12 by @renovate[bot] in #420
- Update Mihomo to v1.19.31 by @renovate[bot] in #422
- Update ktor monorepo to v3.6.0 by @renovate[bot] in #424
- Update agp to v9.4.1 by @renovate[bot] in #425
- Update dependency org.jetbrains.androidx.navigation3:navigation3-ui to v1.1.2 by @renovate[bot] in #427
- Update cmp to v1.12.1 by @renovate[bot] in #426
- Update dependency androidx.core:core to v1.19.1 by @renovate[bot] in #428
Full Changelog: 3.3.0...nightly
3.3.0
What's Changed
- Prefer withLifecycle extension for ViewModel by @Goooler in #322
- Provide RECEIVE_BROADCASTS by AppModule by @Goooler in #323
- Produce VMs by koinViewModel by @Goooler in #325
- Update okhttp monorepo to v5.4.0 by @renovate[bot] in #327
- Update golang.org/x/sync to v0.21.0 with go.sum regeneration by @Copilot in #328
- Update plugin golang to v0.3.0 by @renovate[bot] in #331
- Provide global instances by Koin by @Goooler in #324
- Move subscription info fetch into Go by @Goooler in #334
- Add Rule into filter modes by @Goooler in #336
- Refactor Proxy.Type to value class for forward compatibility by @Goooler in #337
Full Changelog: 3.2.0...3.3.0
3.2.0
What's Changed
- Share main component helpers for more scopes by @Goooler in #278
- Derive intents from mainIntent for services by @Goooler in #279
- Prefer the small icon for monochrome by @Goooler in #280
- Support scroll-to-top on proxy list by @Goooler in #243
- Support focusing selected proxy node by @Goooler in #245
- Support health-check for single node by @Copilot in #246
- Optimize health check concurrency and remove unused provider references by @Goooler in #281
- Bump targetSdk to 36 by @Goooler in #282
- Polish About links by @Goooler in #284
- Smaller badge text for proxy node by @Goooler in #285
- Update dependency core/src/foss/golang/clash to v1.19.26 by @renovate[bot] in #287
- Update Go dependencies by @actionstokenprovider[bot] in #288
- Update module github.com/metacubex/mihomo to v1.19.26 by @renovate[bot] in #289
- Update Go dependencies by @actionstokenprovider[bot] in #290
- Tweak ProxyItemCard by @Goooler in #292
- Prefer git submodule tag name for nativeCoreVersion by @Goooler in #293
- Copy versions to clipboard on long press by @Goooler in #294
- Remove unused DB migrations by @Goooler in #296
- Migrate to Room 3 by @Goooler in #295
- Eliminate redundant Room TypeConverters by @Goooler in #297
- Stop SoftReference for Database by @Goooler in #298
- Show build commit in app version field by @Goooler in #299
- Change User-Agent header to 'Tabby' by @Goooler in #300
- Update kotlin monorepo to v2.4.0 by @renovate[bot] in #302
- Update kotlin to v2.4.0 by @renovate[bot] in #303
- Update androidx.lifecycle to v2.11.0-rc01 by @renovate[bot] in #304
- Update dependency androidx.core:core to v1.19.0 by @renovate[bot] in #305
- Update room to v3.0.0-alpha06 by @renovate[bot] in #307
- Prefer LinkBuffer for Compose runtime by @Goooler in #308
- Update dependency core/src/foss/golang/clash to v1.19.27 by @renovate[bot] in #312
- Update Go dependencies by @actionstokenprovider[bot] in #314
- Update module github.com/metacubex/mihomo to v1.19.27 by @renovate[bot] in #313
- Update Go dependencies by @actionstokenprovider[bot] in #315
- Add GitHub artifact attest to APK build/release workflows by @Copilot in #316
- Support age secret keys by @Copilot in #311
- Add Age key helper (X25519/Hybrid) and end-to-end key validation APIs by @Copilot in #317
- Merge upstream changes by @Goooler in #318
- Fix Home mode before profile load by @lihenggui in #306
- Call assertions from AssertK by @Goooler in #319
- Resolve start/stop toggle state race conditions on HomeScreen by @Goooler in #320
New Contributors
- @lihenggui made their first contribution in #306
Full Changelog: 3.1.1...3.2.0
3.1.1
3.1.0
What's Changed
- Migrate deprecated PackageManager flag APIs to API 33+ typed overloads by @Copilot in #235
- Update plugin ksp to v2.3.8 by @renovate[bot] in #236
- Retain EditableTextMapScreen orders by @Goooler in #237
- Refactor EditableTextList to use Set by @Goooler in #240
- Support reordering editable lists by @Goooler in #238
- Support marquee text for selected proxy node by @Goooler in #242
- Polish update-go-dependencies workflow by @Goooler in #247
- Remove redundant workspace path by @Goooler in #248
- Update plugin spotless to v8.5.0 by @renovate[bot] in #249
- Extract HTTP calls flow by @Goooler in #251
- Consolidate contribution guidance into CONTRIBUTING by @Goooler in #252
- Support updating editable items by @Goooler in #241
- Update dependency core/src/foss/golang/clash to v1.19.25 by @renovate[bot] in #254
- Update module github.com/metacubex/mihomo to v1.19.25 by @renovate[bot] in #255
- Update Go dependencies by @actionstokenprovider[bot] in #256
- Update plugin spotless to v8.5.1 by @renovate[bot] in #257
- Update dependency androidx.compose:compose-bom to v2026.05.01 by @renovate[bot] in #259
- Update androidx.lifecycle to v2.11.0-beta02 by @renovate[bot] in #258
- Update navigation3 to v1.1.2 by @renovate[bot] in #261
- Update dependency androidx.core:core to v1.19.0-rc01 by @renovate[bot] in #260
- Update dependency io.github.g00fy2.quickie:quickie-bundled to v1.12.0 by @renovate[bot] in #262
- Open external links in Chrome Custom Tabs by @Copilot in #264
- Update dependency androidx.browser:browser to v1.10.0 by @renovate[bot] in #265
- Update plugin com.gradle.develocity to v4.4.2 by @renovate[bot] in #267
- Update plugin ksp to v2.3.9 by @renovate[bot] in #268
- Update plugin spotless to v8.6.0 by @renovate[bot] in #269
- Support checking for updates by @Copilot in #266
- Move About version info to Help screen by @Goooler in #270
New Contributors
- @actionstokenprovider[bot] made their first contribution in #256
Full Changelog: 3.0.0...3.1.0
3.0.0
What's Changed
- Bump minSdk to 28 and remove hideapi project by @Goooler in #60
- Set up Spotless + Ktfmt by @Goooler in #62
- Cleanups by @Goooler in #61
- Use indent for 2 for Kotlin by @Goooler in #66
- Cache Go modules in CI build workflows by @Copilot in #67
- Update plugin golang to v0.1.2 by @renovate[bot] in #68
- Migrate Parcelable models to Kotlin Parcelize by @Copilot in #69
- Migrate var usage in data classes by @Copilot in #70
- Refresh CONTRIBUTING.md with current contributor workflow and project conventions by @Copilot in #71
- Set up Compose infra by @Goooler in #73
- Rewrite HelpDesign by @Goooler in #74
- Update module github.com/metacubex/mihomo to v1.19.24 by @renovate[bot] in #75
- Rewrite LogsDesign by @Goooler in #76
- Rewrite FilesDesign by @Goooler in #77
- Rewrite LogcatScreen by @Goooler in #78
- Rewrite AppCrashedDesign by @Goooler in #79
- Rewrite ApkBrokenDesign by @Goooler in #80
- Rewrite NewProfileScreen by @Goooler in #81
- Rewrite PropertiesDesign by @Goooler in #82
- Rewrite ProfilesDesign by @Goooler in #84
- Rewrite ProfilesDesign by @Goooler in #85
- Update plugin com.gradle.develocity to v4.4.1 by @renovate[bot] in #87
- Rewrite SettingsDesign by @Goooler in #86
- Rewrite AppSettingsDesign by @Goooler in #88
- Rewrite NetworkSettingsDesign by @Goooler in #89
- Workaround for showToast by @Goooler in #91
- Pin clash-foss submodule to mihomo v1.19.24 tag by @Copilot in #92
- Rewrite AccessControlDesign by @Goooler in #90
- Replace manual submodule init with actions/checkout native support by @Copilot in #42
- Rewrite MainDesign by @Goooler in #93
- Rewrite ProxyDesign by @Goooler in #83
- Rewrite OverrideSettingsDesign by @Goooler in #94
- Rewrite MetaFeatureSettingsDesign by @Goooler in #95
- Compose migration cleanups part 1 by @Goooler in #97
- Update agp to v9.2.0 by @renovate[bot] in #99
- Remove Android product flavors by @Copilot in #100
- Update plugin golang to v0.1.3 by @renovate[bot] in #102
- Update plugin golang to v0.1.4 by @renovate[bot] in #103
- Reapply "Remove Android product flavors" by @Goooler in #101
- Rewrite dialog bindings by @Goooler in #98
- Seal events and requests by @Goooler in #104
- Remove wrappers for Compose contents by @Goooler in #105
- Move java source sets into kotlin by @Goooler in #106
- Merge design into app by @Goooler in #107
- Resolve
lintVitalReleaseExtraTranslation failures by restoring missing default string keys by @Copilot in #108 - Update dependency androidx.compose:compose-bom to v2026.04.01 by @renovate[bot] in #110
- Update plugin ksp to v2.3.7 by @renovate[bot] in #111
- Reuse mihomoDimens by @Goooler in #109
- Fix color scheme for ProxyDesign by @Goooler in #112
- Split packages by @Goooler in #113
- Mark stable classes for Compose by @Goooler in #114
- Unify toast and snackbar usages by @Goooler in #115
- Fix Snackbar layout inflation crash by aligning app bootstrap theme with AppCompat by @Copilot in #117
- Unwrap HelpDesign by @Goooler in #118
- Unwrap LogsDesign by @Goooler in #120
- Simplify suspend startForResult by @Goooler in #122
- Update kotlin monorepo to v2.3.21 by @renovate[bot] in #124
- Support skipping downloadGeoFiles task by @Goooler in #123
- Unwrap AppCrashedDesign by @Goooler in #125
- Unwrap ApkBrokenScreen by @Goooler in #126
- Unwrap NetworkSettingsDesign by @Goooler in #128
- Unwrap SettingsDesign by @Goooler in #129
- Unwrap AppSettingsDesign by @Goooler in #130
- Unwrap MetaFeatureSettingsScreen by @Goooler in #131
- Unwrap OverrideSettingsDesign by @Goooler in #132
- Mark all data class properties final by @Goooler in #133
- Unwrap AccessControlDesign by @Goooler in #134
- Unwrap LogcatDesign by @Goooler in #137
- Unwrap MainDesign by @Goooler in #138
- Event flow for Broadcasts by @Goooler in #139
- Unwrap ProfilesDesign by @Goooler in #140
- Unwrap ProvidersDesign by @Goooler in #141
- Unwrap NewProfileDesign by @Goooler in #142
- Unwrap PropertiesDesign by @Goooler in #127
- Unwrap FilesDesign by @Goooler in #121
- Unwrap ProxyDesign by @Goooler in #143
- Remove DesignActivity and legacy Material library by @Goooler in #144
- Prefer ImageVector for Compose by @Goooler in #146
- Fix review comments from PRs and cleanups by @Copilot in #147
- Improve crash log dumping by @Goooler in #148
- Clean up log reading and writing by @Goooler in #149
- Clean up compat glues by @Goooler in #150
- Wrap Traffic in value class by @Goooler in #151
- Try BinaryByteSize by @Goooler in #152
- Update dependency me.saket.bytesize:bytesize to v2.2.1 by @renovate[bot] in #153
- Update kaidl to v0.2.0 by @renovate[bot] in #155
- Treat warnings as errors by @Goooler in #154
- Update Gradle to v9.5.0 by @renovate[bot] in #156
- Route screens by Navigation 3 by @Goooler in #145
- Split full screen dialogs to screens by @Goooler in #157
- Suppress UnusedReceiverParameter for icons by @Goooler in #158
- Unify MihomoScaffold for all screens by @Goooler in #159
- Merge ExternalControlActivity into MainActivity by @Goooler in #160
- Fix edge-to-edge on three-button navbar by @Goooler in #162
- Prefer snackbars for Compose screens by @Goooler in #161
- Migrate all settings items to using ComposePreference by @Goooler in #163
- Eliminate item nesting for preferences by @Goooler in #164
- Update plugin golang to v0.2.1 by @renovate[bot] in #167
- Drop 32-bit supports by @Goooler in #166
- Try out PreviewWrapper by @Goooler in #169
- Log all exceptions out by @Goooler in #168
- Migrate from Java UUID to Kotlin Uuid by @Goooler in #171
- Opt in ExperimentalFoundationApi and ExperimentalMaterial3Api by @Goooler in #172
- Replace FileOutputStream usages by @Goooler in #174
- Honor dark mode from settings by @Goooler in #175
- Enable context-sensitive resolution by @Goooler in #176
- Expose UiStore states as Flow by @Goooler in #177
- Prefer callbackFlow for UiStore by @Goooler in #178
- Clean up serializer usages by @Goooler in #181
- Extract glue project by @go...
v2.12.1
What's Changed
Full Changelog: v2.12.0...v2.12.1
v2.12.0
What's Changed
- Update peter-evans/create-pull-request action to v8 by @renovate[bot] in #27
- Update actions/checkout action to v6 by @renovate[bot] in #21
- Update actions/setup-java action to v5 by @renovate[bot] in #22
- Update dependency androidx.appcompat:appcompat to v1.7.1 by @renovate[bot] in #6
- Update dependency androidx.recyclerview:recyclerview to v1.4.0 by @renovate[bot] in #10
- Update dependency org.jetbrains.kotlinx:kotlinx-coroutines-android to v1.10.2 by @renovate[bot] in #2
- Update Gradle to v8.14.4 by @renovate[bot] in #16
- Update dependency com.android.tools.build:gradle to v8.13.2 by @renovate[bot] in #12
- Update dependency androidx.coordinatorlayout:coordinatorlayout to v1.3.0 by @renovate[bot] in #7
- Update dependency androidx.core:core-ktx to v1.17.0 by @renovate[bot] in #8
- Update dependency androidx.viewpager2:viewpager2 to v1.1.0 by @renovate[bot] in #11
- Update dependency androidx.fragment:fragment to v1.8.9 by @renovate[bot] in #9
- Update dependency androidx.activity:activity-ktx to v1.12.4 by @renovate[bot] in #5
- Update dependency androidx.activity:activity to v1.12.4 by @renovate[bot] in #3
- Update room to v2.8.4 by @renovate[bot] in #20
- Update dependency com.squareup.okhttp3:okhttp-bom to v5 by @renovate[bot] in #24
- Update kotlin monorepo to v2.3.10 by @renovate[bot] in #17
- Update dependency org.jetbrains.kotlinx:kotlinx-serialization-json to v1.10.0 by @renovate[bot] in #15
- Update dependency com.google.android.material:material to v1.13.0 by @renovate[bot] in #13
- Fix compile errors with Material 1.13.0: replace removed colorPrimary/colorControlNormal attrs by @Copilot in #28
- Clean up version catalog by @Copilot in #31
- Bump CMake version to 4.0+ by @Copilot in #32
- Switch clash-foss submodule default branch to Meta by @Copilot in #34
- Update Gradle to v9.4.0 by @renovate[bot] in #35
- Migrate to the new Golang Gradle plugin by @Goooler in #30
- Update plugin golang to v0.1.0 by @renovate[bot] in #36
- Modernize configurations by @Goooler in #37
- AGP 9 by @renovate[bot] in #38
- Bump Java level to 21, use Java 25 on CI by @Copilot in #39
- Update module github.com/metacubex/mihomo to v1.19.21 by @renovate[bot] in #44
- Update dependency org.jetbrains.kotlin.plugin.serialization to v2.3.20 by @renovate[bot] in #51
- Update Gradle to v9.4.1 by @renovate[bot] in #52
- Update plugin com.gradle.develocity to v4.4.0 by @renovate[bot] in #54
- Update module github.com/metacubex/mihomo to v1.19.22 by @renovate[bot] in #55
- Update dependency androidx.activity:activity-ktx to v1.13.0 by @renovate[bot] in #49
- Update dependency androidx.core:core-ktx to v1.18.0 by @renovate[bot] in #50
- Update module github.com/metacubex/mihomo to v1.19.23 by @renovate[bot] in #56
- Update gradle/actions action to v6 by @renovate[bot] in #53
- Fix crash when Hide App Icon is enabled alongside dynamic shortcuts by @Copilot in #46
- Update dependency org.jetbrains.kotlinx:kotlinx-serialization-json to v1.11.0 by @renovate[bot] in #57
- Update agp to v9.1.1 by @renovate[bot] in #58
New Contributors
Full Changelog: v2.11.24...v2.12.0
v2.11.24
Full Changelog: v2.11.23...v2.11.24