Koject Versions Save

DI Container library for Kotlin Multiplatform.

v1.3.0

1 year ago

New Features

  • [test] Add startTest methods for testing (#185) @mori-atsushi
  • [test] Add TestProvides and allow dependencies to be overridden. (#186) @mori-atsushi

Behavior changes

  • [core] Remove singleton scope check (#197, #209) @mori-atsushi

Improvement

  • [core] Supports nested modules (#188, #189, #191, #208) @mori-atsushi
  • [core] Support star generics (#192) @mori-atsushi
  • [processor] Check Binds supertype on processor (#195, #200) @mori-atsushi
  • [processor] Rename Factory to avoid duplication (#193, #201) @mori-atsushi

Other Changes

  • Prepar v1.3.0 (#212) @mori-atsushi
  • Update docusaurus monorepo to v2.4.0 (#211) @renovate
  • Update androidx-compose-ui to v1.4.0 (#207) @renovate
  • Update androidx-activity to v1.7.0 (#206) @renovate
  • Update androidx-lifecycle to v2.6.1 (#205) @renovate
  • Update androidx-fragment to v1.5.6 (#204) @renovate
  • Prepar v1.3.0-beta02 (#203) @mori-atsushi
  • Update dependency com.vanniktech.maven.publish to v0.25.0 (#210) @renovate
  • [example] Add tests (#199, #202)) @mori-atsushi
  • Prepar v1.3.0-beta01 (#198) @mori-atsushi
  • Prepar v1.3.0-alpha03 (#196) @mori-atsushi
  • Prepar v1.3.0-alpha02 (#190) @mori-atsushi
  • Prepar v1.3.0-alpha01 (#187) @mori-atsushi
  • [documents] Fix broken document layout (#184) @mori-atsushi

v1.3.0-beta02

1 year ago

New Features

  • [test] Add startTest methods for testing (#185) @mori-atsushi
  • [test] Add TestProvides and allow dependencies to be overridden. (#186) @mori-atsushi

Behavior changes

  • [core] Remove singleton scope check (#197) @mori-atsushi

Improvement

  • [core] Supports nested modules (#188, #189, #191) @mori-atsushi
  • [core] Support star generics (#192) @mori-atsushi
  • [processor] Check Binds supertype on processor (#195, #200) @mori-atsushi
  • [processor] Rename Factory to avoid duplication (#193, #201) @mori-atsushi

Other Changes

  • Prepar v1.3.0-beta02 (#203) @mori-atsushi
  • [example] Add tests (#199, #202)) @mori-atsushi
  • Prepar v1.3.0-beta01 (#198) @mori-atsushi
  • Prepar v1.3.0-alpha03 (#196) @mori-atsushi
  • Prepar v1.3.0-alpha02 (#190) @mori-atsushi
  • Prepar v1.3.0-alpha01 (#187) @mori-atsushi
  • [documents] Fix broken document layout (#184) @mori-atsushi

v1.3.0-beta01

1 year ago

New Features

  • [test] Add startTest methods for testing (#185) @mori-atsushi
  • [test] Add TestProvides and allow dependencies to be overridden. (#186) @mori-atsushi

Behavior changes

  • [core] Remove singleton scope check (#197) @mori-atsushi

Improvement

  • [core] Supports nested modules (#188, #189, #191) @mori-atsushi
  • [core] Support star generics (#192) @mori-atsushi
  • [processor] Check Binds supertype on processor (#195) @mori-atsushi
  • [processor] Rename Factory to avoid duplication (#193) @mori-atsushi

Other Changes

  • Prepar v1.3.0-beta01 (#198) @mori-atsushi
  • Prepar v1.3.0-alpha03 (#196) @mori-atsushi
  • Prepar v1.3.0-alpha02 (#190) @mori-atsushi
  • Prepar v1.3.0-alpha01 (#187) @mori-atsushi
  • [documents] Fix broken document layout (#184) @mori-atsushi

v1.3.0-alpha03

1 year ago

What’s Changed

  • Prepar v1.3.0-alpha03 (#196) @mori-atsushi
  • Check Binds supertype on processor (#195) @mori-atsushi
  • [processor] Rename Factory to avoid duplication (#193) @mori-atsushi
  • [core] Support star generics (#192) @mori-atsushi
  • [core] Supports nested modules - ComponentExtras (#189) @mori-atsushi
  • Specify the module name in library modules (#191) @mori-atsushi
  • Prepar v1.3.0-alpha02 (#190) @mori-atsushi
  • [core] Supports nested modules (#188) @mori-atsushi
  • Prepar v1.3.0-alpha01 (#187) @mori-atsushi
  • [test] Add TestProvides and allow dependencies to be overridden. (#186) @mori-atsushi
  • Add start methods for testing (#185) @mori-atsushi
  • [documents] Fix broken document layout (#184) @mori-atsushi

v1.2.0

1 year ago

Migrations

  • [core] The inject() API for Named has changed (#148)
// Until v1.1.0
val db1 = inject<DB>("db1")
val db2 = inject<DB>("db2")

// Since v1.2.0
val db1 = inject<DB>(Named("db1"))
val db2 = inject<DB>(Named("db2"))
  • [core] The ComponentExtras API has changed. (#157)
// Until v1.1.0
@ExperimentalKojectApi
@ComponentExtras(CustomComponent::class)
class CustomComponentExtras(
    val extra: ExtraClass
)

// Since v1.2.0
@ExperimentalKojectApi
class CustomComponentExtras(
    val extra: ExtraClass
): ComponentExtras<CustomComponent>
  • [android] injectViewModels() has been renamed to lazyViewModels() (#149)
// Until v1.1.0
private val viewModel: TopViewModel by injectViewModels()

// Since v1.2.0
private val viewModel: TopViewModel by lazyViewModels()

New Features

  • [core] Enable lazy injection (#148, #154) @mori-atsushi
  • [core] Allow additional dependencies to be provided on start (#135, #136, #138, #140, #142, #145, #147, #169) @mori-atsushi
  • [core] Allow provide from object (#166) @mori-atsushi
  • [android] Make Android's Application/Context injectable (#137, #150) @mori-atsushi
  • [android] Add ActivityComponent / FragmentComponent (#152, #153, #161) @mori-atsushi
  • [android] Make ViewModelCoroutineScope injectable (#162) @mori-atsushi
  • [compose] Add ComposeComponent (#155, #160, #163) @mori-atsushi

Behavior changes

  • [core] Disallow nullable provide (#165) @mori-atsushi

Improvement

  • [processor] Add compile-time validation (#139, #141, #164, #167, #174) @mori-atsushi
  • [processor] Make it possible to measure processor processing time (#159) @mori-atsushi

Other Changes

  • Preparing v1.2.0 (#183) @mori-atsushi
  • Update dependency typescript to v5 (#182) @renovate
  • Change build settings (#181) @mori-atsushi
  • [ci] Run tests on macos (#180) @mori-atsushi
  • [documents] Add sitemap (#179) @mori-atsushi
  • Add workflow for documentation (#178) @mori-atsushi
  • Update dependency @tsconfig/docusaurus to v1.0.7 (#177) @renovate
  • [example] separate modules (#176) @mori-atsushi
  • Fix test not to publish (#173) @mori-atsushi
  • Prepar v1.2.0 beta01 (#171) @mori-atsushi
  • Update dependency com.diffplug.spotless to v6.17.0 (#170) @renovate
  • Prepar v1.2.0 alpha04 (#168) @mori-atsushi
  • Prepar 1.2.0-alpha03 (#158) @mori-atsushi
  • Rename projects (#156) @mori-atsushi
  • Prepar v1.2.0-alpha02 (#151) @mori-atsushi
  • Add integration tests (#146) @mori-atsushi
  • Prepar v1.2.0-alpha01 (#144) @mori-atsushi
  • [android] Add ViewModel tests (#143) @mori-atsushi

v1.2.0-beta01

1 year ago

Migrations

  • [core] The inject() API for Named has changed (#148)
// Until v1.1.0
val db1 = inject<DB>("db1")
val db2 = inject<DB>("db2")

// Since v1.2.0
val db1 = inject<DB>(Named("db1"))
val db2 = inject<DB>(Named("db2"))
  • [core] The ComponentExtras API has changed. (#157)
// Until v1.1.0
@ExperimentalKojectApi
@ComponentExtras(CustomComponent::class)
class CustomComponentExtras(
    val extra: ExtraClass
)

// Since v1.2.0
@ExperimentalKojectApi
class CustomComponentExtras(
    val extra: ExtraClass
): ComponentExtras<CustomComponent>
  • [android] injectViewModels() has been renamed to lazyViewModels() (#149)
// Until v1.1.0
private val viewModel: TopViewModel by injectViewModels()

// Since v1.2.0
private val viewModel: TopViewModel by lazyViewModels()

New Features

  • [core] Enable lazy injection (#148, #154) @mori-atsushi
  • [core] Allow additional dependencies to be provided on start (#135, #136, #138, #140, #142, #145, #147, #169) @mori-atsushi
  • [core] Allow provide from object (#166) @mori-atsushi
  • [android] Make Android's Application/Context injectable (#137, #150) @mori-atsushi
  • [android] Add ActivityComponent / FragmentComponent (#152, #153, #161) @mori-atsushi
  • [android] Make ViewModelCoroutineScope injectable (#162) @mori-atsushi
  • [compose] Add ComposeComponent (#155, #160, #163) @mori-atsushi
  • [processor] Add compile-time validation (#139, #141, #164, #167) @mori-atsushi

Behavior changes

  • [core] Disallow nullable provide (#165) @mori-atsushi

Other Changes

  • Prepar v1.2.0 beta01 (#171) @mori-atsushi
  • Update dependency com.diffplug.spotless to v6.17.0 (#170) @renovate
  • Prepar v1.2.0 alpha04 (#168) @mori-atsushi
  • [processor] Make it possible to measure processor processing time (#159) @mori-atsushi
  • Prepar 1.2.0-alpha03 (#158) @mori-atsushi
  • Rename projects (#156) @mori-atsushi
  • Prepar v1.2.0-alpha02 (#151) @mori-atsushi
  • Add integration tests (#146) @mori-atsushi
  • Prepar v1.2.0-alpha01 (#144) @mori-atsushi
  • [android] Add ViewModel tests (#143) @mori-atsushi

v1.2.0-alpha04

1 year ago

What’s Changed

  • Prepar v1.2.0 alpha04 (#168) @mori-atsushi
  • [processor] Add validation for @Provides (2) (#167) @mori-atsushi
  • Make an object providable (#166) @mori-atsushi
  • [processor] Disallow nullable provide (#165) @mori-atsushi
  • [processor] Add validation for @Provides (#164) @mori-atsushi
  • [compose] Avoid creating Jobs when you don't need them (#163) @mori-atsushi
  • [viewmodel] Implement to provide ViewModelCoroutineScope (#162) @mori-atsushi
  • [android] Implement to provide Activity / Fragment CoroutineScope (#161) @mori-atsushi
  • [compose] Implement to provide ComposeCoroutineScope (#160) @mori-atsushi
  • [processor] Make it possible to measure processor processing time (#159) @mori-atsushi
  • Prepar 1.2.0-alpha03 (#158) @mori-atsushi
  • Change how KojectExtras/ComponentExtras are declared (#157) @mori-atsushi
  • [compose] Add ComposeComponent (#155) @mori-atsushi
  • Rename projects (#156) @mori-atsushi
  • Change lazyInject API (#154) @mori-atsushi
  • [activity] Activity Context can now be injected. (#153) @mori-atsushi
  • [android] Add ActivityComponent / FragmentComponent (#152) @mori-atsushi
  • Prepar v1.2.0-alpha02 (#151) @mori-atsushi
  • [example] Use koject-android-core (#150) @mori-atsushi
  • Rename inject ViewModel function (#149) @mori-atsushi
  • Supports lazy injection (#148) @mori-atsushi
  • [core] Change the configuration method of Koject (#147) @mori-atsushi
  • Add integration tests (#146) @mori-atsushi
  • Refactor not to use Deprecated methods (#145) @mori-atsushi
  • Prepar v1.2.0-alpha01 (#144) @mori-atsushi
  • [core] Add integration tests (#142) @mori-atsushi
  • [android] Add ViewModel tests (#143) @mori-atsushi
  • [processor] Fix DependencyValidator (#141) @mori-atsushi
  • [core] Inject KojectExtras into component types (#140) @mori-atsushi
  • [processor] Add validation (#139) @mori-atsushi
  • Show error message when extras are missing (#138) @mori-atsushi
  • [android] Add koject-android-core library (#137) @mori-atsushi
  • Support singleton extras (#136) @mori-atsushi
  • Add KojctExtras (#135) @mori-atsushi

v1.2.0-alpha03

1 year ago

What’s Changed

  • Prepar 1.2.0-alpha03 (#158) @mori-atsushi
  • Change how KojectExtras/ComponentExtras are declared (#157) @mori-atsushi
  • [compose] Add ComposeComponent (#155) @mori-atsushi
  • Rename projects (#156) @mori-atsushi
  • Change lazyInject API (#154) @mori-atsushi
  • [activity] Activity Context can now be injected. (#153) @mori-atsushi
  • [android] Add ActivityComponent / FragmentComponent (#152) @mori-atsushi
  • Prepar v1.2.0-alpha02 (#151) @mori-atsushi
  • [example] Use koject-android-core (#150) @mori-atsushi
  • Rename inject ViewModel function (#149) @mori-atsushi
  • Supports lazy injection (#148) @mori-atsushi
  • [core] Change the configuration method of Koject (#147) @mori-atsushi
  • Add integration tests (#146) @mori-atsushi
  • Refactor not to use Deprecated methods (#145) @mori-atsushi
  • Prepar v1.2.0-alpha01 (#144) @mori-atsushi
  • [core] Add integration tests (#142) @mori-atsushi
  • [android] Add ViewModel tests (#143) @mori-atsushi
  • [processor] Fix DependencyValidator (#141) @mori-atsushi
  • [core] Inject KojectExtras into component types (#140) @mori-atsushi
  • [processor] Add validation (#139) @mori-atsushi
  • Show error message when extras are missing (#138) @mori-atsushi
  • [android] Add koject-android-core library (#137) @mori-atsushi
  • Support singleton extras (#136) @mori-atsushi
  • Add KojctExtras (#135) @mori-atsushi

v1.2.0-alpha02

1 year ago

What’s Changed

  • Prepar v1.2.0-alpha02 (#151) @mori-atsushi
  • [example] Use koject-android-core (#150) @mori-atsushi
  • Rename inject ViewModel function (#149) @mori-atsushi
  • Supports lazy injection (#148) @mori-atsushi
  • [core] Change the configuration method of Koject (#147) @mori-atsushi
  • Add integration tests (#146) @mori-atsushi
  • Refactor not to use Deprecated methods (#145) @mori-atsushi
  • Prepar v1.2.0-alpha01 (#144) @mori-atsushi
  • [core] Add integration tests (#142) @mori-atsushi
  • [android] Add ViewModel tests (#143) @mori-atsushi
  • [processor] Fix DependencyValidator (#141) @mori-atsushi
  • [core] Inject KojectExtras into component types (#140) @mori-atsushi
  • [processor] Add validation (#139) @mori-atsushi
  • Show error message when extras are missing (#138) @mori-atsushi
  • [android] Add koject-android-core library (#137) @mori-atsushi
  • Support singleton extras (#136) @mori-atsushi
  • Add KojctExtras (#135) @mori-atsushi

v1.2.0-alpha01

1 year ago

What’s Changed

  • Refactor not to use Deprecated methods (#145) @mori-atsushi
  • Prepar v1.2.0-alpha01 (#144) @mori-atsushi
  • [core] Add integration tests (#142) @mori-atsushi
  • [android] Add ViewModel tests (#143) @mori-atsushi
  • [processor] Fix DependencyValidator (#141) @mori-atsushi
  • [core] Inject KojectExtras into component types (#140) @mori-atsushi
  • [processor] Add validation (#139) @mori-atsushi
  • Show error message when extras are missing (#138) @mori-atsushi
  • [android] Add koject-android-core library (#137) @mori-atsushi
  • Support singleton extras (#136) @mori-atsushi
  • Add KojctExtras (#135) @mori-atsushi