Skip to main content

0.15.1

The 0.15.1 version is built using these major dependencies:

libraryversion
Anvil2.4.2
Dagger2.43.2
Kotlin1.7.0
androidx.compose1.2.1
androidx.core1.2.0
androidx.work2.7.1
androidx.activity1.5.1
androidx.fragment1.5.2
androidx.lifecycle2.5.1
androidx.savedstate1.2.0

🐛 Bug Fixes

🧰 Maintenance

  • Update dependency com.autonomousapps.dependency-analysis to v1.13.1 (#541)
  • Update dependency mathjs to v11.1.0 (#540)
  • Update dependency io.mockk:mockk to v1.12.7 (#533)
  • Update dependency com.autonomousapps.dependency-analysis to v1.13.0 (#535)
  • Update square-anvil to v2.4.2 (#538)
  • revert paging-compose to 1.0.0-alpha14 (#539)
  • Update dependency androidx.paging:paging-compose to v1.0.0-alpha16 (#434)
  • use gradle-build-action for caching in instrumented tests and add AVD caching (#536)
  • Update dependency mdx-mermaid to v1.3.2 (#532)
  • Update dependency org.robolectric:robolectric to v4.8.2 (#534)
  • Update dependency mermaid to v9.1.6 (#529)
  • Update dependency androidx.test:orchestrator to v1.4.1 (#436)
  • Update coil to v2.2.0 (#528)
  • Update androidx-fragment-version to v1.5.2 (#521)
  • Update google-dagger to v2.43.2 (#476)
  • Update androidx-compose-runtime to v1.2.1 (#522)
  • Update dependency gradle to v7.5.1 (#520)
  • Update kotest to v5.4.2 (#523)
  • Update dependency androidx.appcompat:appcompat to v1.5.0 (#524)
  • Update dependency com.android.tools.build:gradle to v7.2.2 (#518)
  • Update docusaurus monorepo to v2.0.1 (#514)
  • Update dependency com.autonomousapps.dependency-analysis to v1.12.0 (#516)
  • Update dependency Chart.js to v3.9.1 (#517)
  • Update dependency mermaid to v9.1.5 (#519)
  • Update dependency com.autonomousapps.dependency-analysis to v1.11.3 (#512)
  • Update kotest to v5.4.1 (#510)
  • Update dependency com.autonomousapps.dependency-analysis to v1.11.2 (#511)
  • Update dependency com.autonomousapps.dependency-analysis to v1.11.1 (#509)

New Contributors

Contributors

@RBusarow, @jakoss and @oldwomanjosiah

Full Changelog: https://github.com/RBusarow/Tangle/compare/0.15.0...0.15.1

0.15.0

The 0.15.0 version is built using these major dependencies:

libraryversion
Anvil2.4.1
Dagger2.43
Kotlin1.7.0
androidx.compose1.2.0
androidx.core1.2.0
androidx.work2.7.1
androidx.activity1.5.1
androidx.fragment1.5.1
androidx.lifecycle2.5.1
androidx.savedstate1.2.0

🐛 Bug Fixes

Contributors

@RBusarow, @oldwomanjosiah

0.14.1

🐛 Bug Fixes

  • update Anvil to 2.3.8 (#379)
  • remove inferred nullability for TangleViewModelFactory.create (#378)

🧰 Maintenance

  • Bump activity-ktx from 1.3.1 to 1.4.0 (#372)
  • Bump navigation-ui-ktx from 2.4.0-alpha10 to 2.4.0-beta01 (#371)
  • Bump auto-common from 1.1.2 to 1.2 (#364)
  • Bump room-compiler from 2.4.0-alpha04 to 2.4.0-alpha05 (#357)
  • Bump prismjs from 1.24.1 to 1.25.0 in /website (#363)
  • Bump axios from 0.21.1 to 0.21.4 in /website (#362)

0.14.0

🐛 Bug Fixes

  • Gradle plugin will now automatically enable/disable Tangle features depending upon which Androidx dependencies a module has. (#353)

🧰 Maintenance

  • kotlin version-related updates (#358)
    • Kotlin 1.5.30
    • Compose 1.0.3
  • update KotlinPoet to 1.10.1 (#359)

0.13.2

🐛 Bug Fixes

  • make TanglePlugin apply the Anvil plugin eagerly (#339)

0.13.1

🚀 Features

  • The Tangle Gradle Plugin will now automatically apply the Anvil Gradle plugin if it hasn't been applied already. There is no change to behavior if Anvil was already applied manually, or if Anvil is applied later on in configuration. (#333)

🐛 Bug Fixes

  • The Tangle Gradle Plugin will now correctly detect existence of the Android Gradle Plugin (#333)
  • The website's "get started" button point to configuration doc (#331)

🧰 Maintenance

  • Bump com.osacky.doctor from 0.7.1 to 0.7.2 (#329)
  • Bump kotest-property-jvm from 4.6.2 to 4.6.3 (#328)
  • Bump lifecycle-viewmodel-compose from 1.0.0-alpha07 to 2.4.0-beta01 (#327)
  • Bump navigation-runtime-ktx from 2.4.0-alpha08 to 2.4.0-alpha09 (#326)
  • update Dokka to 1.5.30 (#324)
  • update Gradle Plugin Publish to 0.16.0 (#325)
  • Bump gradle-maven-publish-plugin from 0.17.0 to 0.18.0 (#322)
  • Bump junit-jupiter-api from 5.7.2 to 5.8.0 (#321)
  • Bump ktlint-gradle from 10.1.0 to 10.2.0 (#312)

0.13.0

🚀 Features

  • add member injection (#309)
@TangleScope(UserScope::class)
class UserActivity : Activity() {

@Inject
lateinit var logger: MyLogger

override fun onCreate(savedInstanceState: Bundle?) {
// inject MyLogger
TangleGraph.inject(this)

super.onCreate(savedInstanceState)

logger.log("started UserActivity")
}
}

💥 Breaking Changes

  • rename TangleGraph.init() to TangleGraph.add() (#299)
  • make :tangle-api a regular jar artifact (#289) (not really a breaking change though?)

🧰 Maintenance

  • Bump moshi-ksp from 0.13.0 to 0.14.0 (#307)
  • Bump auto-service-ksp from 0.5.5 to 1.0.0 (#308)
  • Bump Androidx Work to 2.6.0 (#277)
  • Bump AGP to 7.0.2 (#278)
  • Bump compose from 1.0.1 to 1.0.2 (#262)

0.12.1

🐛 Bug Fixes

  • fix by tangleViewModel ignores ComponentActivity or FragmentActivity (#228)
  • fix by tangleViewModel in a Fragment attempts to initialize eagerly (and crashes) (#227)

🧰 Maintenance

  • update Anvil to 2.3.4 (#251)

0.12.0 - Worker Injection

🚀 Features

  • WorkManager/Worker Assisted injection is now supported (#180)
@TangleWorker
class MyWorker @AssistedInject constructor(
@Assisted
context: Context,
@Assisted
params: WorkerParameters,
val repository: MyRepository
) : CoroutineWorker(context, params) {
override suspend fun doWork(): Result {
// ...
}
}

💥 Breaking Changes

  • The by tangleViewModel() delegate functions for Activity and Fragment have been moved to their own modules. (#204) This was done to prevent leaking the Androidx transitive dependencies into projects which don't otherwise use them. The new artifacts are:
    • com.rickbusarow.tangle:tangle-viewmodel-activity
    • com.rickbusarow.tangle:tangle-viewmodel-fragment
  • TangleGraph has moved :tangle-api (tangle.inject.TangleGraph) (#169)
  • ViewModel-related s feature toggles in the Gradle plugin have been moved. old:
    tangle {
    viewModelsEnabled.set(true)
    composeEnabled.set(true)
    }
    new:
    tangle {
    viewModelOptions {
    enabled = true // default is true
    composeEnabled = true // default is false
    }
    }

🐛 Bug Fixes

  • fix wrapping of very long checkNotNull error messages (#162)

0.11.5

🐛 Bug Fixes

  • fix the package for the compose tangleViewModel (#146)
  • disable BuildConfig for Android libraries (#145)
  • fix compose tangleViewModel package (#147)

🧰 Maintenance

  • kotlin dependency updates (#143)

ℹ️ Website

  • prepare for 0.11.5 release (#148)
  • fix the package for the compose tangleViewModel (#146)
  • create version 0.11.4 (#128)

0.11.4

🐛 Bug Fixes

  • fix ViewModel duplicate bindings (#127)
  • only create FragmentFactory and _Subcomponent.Factory bindings once in each classpath (#124)

🧰 Maintenance

  • create release.sh (#126)

0.11.2

Changes

🐛 Bug Fixes

  • create default multi-bindings for ViewModels (#116)

🧰 Maintenance

  • create a github action for releasing (#118)
  • update changelogs (#117)

ℹ️ Website

  • update version to 0.11.2 (#119)
  • update changelogs (#117)

0.11.1

🐛 Bug Fixes

  • update applied paths in TanglePlugin #110

🧰 Maintenance

  • Bump constraintlayout from 2.0.4 to 2.1.0 ( Dependabot) #108
  • update version to 0.11.1 #109
  • add release-drafter #106

0.11.0 - Fragment Injection

  • add require function which throws TangleCompilationException #6
  • Docusaurus #7
  • update api dump #47
  • replace kotlinter with ktlint-gradle #45
  • initial Dokka setup #46
  • basic knit setup #48
  • automatically deploy website for every merge into main #49

0.10.0 - ViewModel Injection

Initial release

This release supports multi-bound ViewModel injection via the by tangle() delegate function, with Compose support.

Automatic SavedStateHandle injection is supported, and arguments can be automatically constructor-injected via the @FromSavedState("myKey") annotation.