The 0.15.1
version is built using these major dependencies:
library | version |
---|---|
Anvil | 2.4.2 |
Dagger | 2.43.2 |
Kotlin | 1.7.0 |
androidx.compose | 1.2.1 |
androidx.core | 1.2.0 |
androidx.work | 2.7.1 |
androidx.activity | 1.5.1 |
androidx.fragment | 1.5.2 |
androidx.lifecycle | 2.5.1 |
androidx.savedstate | 1.2.0 |
- Fragment lookup for compose ViewModelStoreOwner fix @jakoss (#527)
- Qualifier Annotation Fix @oldwomanjosiah (#513)
- make benchmarks results Windows-friendly @rbusarow (#531)
- 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)
- @jakoss made their first contribution in #527
@RBusarow, @jakoss and @oldwomanjosiah
Full Changelog: https://github.com/RBusarow/Tangle/compare/0.15.0...0.15.1
The 0.15.0
version is built using these major dependencies:
library | version |
---|---|
Anvil | 2.4.1 |
Dagger | 2.43 |
Kotlin | 1.7.0 |
androidx.compose | 1.2.0 |
androidx.core | 1.2.0 |
androidx.work | 2.7.1 |
androidx.activity | 1.5.1 |
androidx.fragment | 1.5.1 |
androidx.lifecycle | 2.5.1 |
androidx.savedstate | 1.2.0 |
- Allow Fragment::arg with nullable parameters @oldwomanjosiah (#420)
@RBusarow, @oldwomanjosiah
- 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)
- Gradle plugin will now automatically enable/disable Tangle features depending upon which Androidx dependencies a module has. (#353)
- see the Gradle plugin docs for more information
- kotlin version-related updates (#358)
- Kotlin 1.5.30
- Compose 1.0.3
- update KotlinPoet to 1.10.1 (#359)
- make TanglePlugin apply the Anvil plugin eagerly (#339)
- 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)
- 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)
- 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)
- 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")
}
}
- rename
TangleGraph.init()
toTangleGraph.add()
(#299) - make :tangle-api a regular jar artifact (#289) (not really a breaking change though?)
- 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)
- fix
by tangleViewModel
ignoresComponentActivity
orFragmentActivity
(#228) - fix
by tangleViewModel
in a Fragment attempts to initialize eagerly (and crashes) (#227)
- update Anvil to 2.3.4 (#251)
- 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 {
// ...
}
}
- The
by tangleViewModel()
delegate functions forActivity
andFragment
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:new:tangle { viewModelsEnabled.set(true) composeEnabled.set(true) }
tangle { viewModelOptions { enabled = true // default is true composeEnabled = true // default is false } }
- fix wrapping of very long checkNotNull error messages (#162)
- fix the package for the compose tangleViewModel (#146)
- disable BuildConfig for Android libraries (#145)
- fix compose tangleViewModel package (#147)
- kotlin dependency updates (#143)
- prepare for 0.11.5 release (#148)
- fix the package for the compose tangleViewModel (#146)
- create version 0.11.4 (#128)
- fix ViewModel duplicate bindings (#127)
- only create FragmentFactory and _Subcomponent.Factory bindings once in each
classpath (#124)
- issue (#123)
- create
release.sh
(#126)
- create default multi-bindings for ViewModels (#116)
- update applied paths in TanglePlugin #110
- Bump constraintlayout from 2.0.4 to 2.1.0 ( Dependabot) #108
- update version to 0.11.1 #109
- add release-drafter #106
- 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
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.