Skip to content

Releases: yandex/yatagan

1.5.0

16 Apr 16:47
Compare
Choose a tag to compare

What's Changed

  • Fix: Loops detection behind non-eager edges. by @Jeffset in #98
    A critical bug that allowed graphs to contain unreported dependency cycles along non-lazy paths. So, update could break things in theory, but in practice such errors should've been detected at runtime.
  • Keep enclosing class by @bacecek in #100
  • Provide YataganGenerated & Generated annotations in the produced code. by @Jeffset in #112
  • Provide Optional#orElse method with lazily alternative creation by @bacecek in #114

Full Changelog: v1.4.1...v1.5.0


Thanks @bacecek for contributions!

1.4.1

28 Sep 13:12
Compare
Choose a tag to compare

This release contains fixes for 1.4.0 and some previous bugs

What's Changed

  • Fix: Properly build usedParents in #91
  • Included the lost cherry-pick of the #55, that is good to have in the 1.x.y

Full Changelog: v1.4.0...v1.4.1

1.4.0

27 Sep 12:06
Compare
Choose a tag to compare

What's Changed

  • Refactor: Support arbitrary boolean expressions in ConditionScope via logicng in #67
  • Report non-abstract @Provides inside interface module in #68
  • Api: Implement ConditionExpression API in #73
  • Testing: Introduce validation against "golden" generated code in #81
  • Fix: #85 in #86
  • Api: Introduce ValueOf API in #87
  • Fix: Move alias duplicate check to GraphBindingsManager in #89

Full Changelog: v1.3.0...v1.4.0

Hightlights of this release

  • New, more flexible, Condition API - @ConditionExpression, accompanied with @ValueOf. Read the docs on the annotations for details.

This release is identical to its release candidate - 1.4.0-rc01

1.4.0-rc1

14 Sep 18:32
Compare
Choose a tag to compare
1.4.0-rc1 Pre-release
Pre-release

What's Changed

  • Refactor: Support arbitrary boolean expressions in ConditionScope via logicng in #67
  • Report non-abstract @Provides inside interface module in #68
  • Api: Implement ConditionExpression API in #73
  • Testing: Introduce validation against "golden" generated code in #81
  • Fix: #85 in #86
  • Api: Introduce ValueOf API in #87
  • Fix: Move alias duplicate check to GraphBindingsManager in #89

Full Changelog: v1.3.0...v1.4.0-rc1

Hightlights of this release

  • New, more flexible, Condition API - @ConditionExpression, accompanied with @ValueOf. Read the docs on the annotations for details.

1.3.0

20 Jul 08:44
Compare
Choose a tag to compare

What's Changed

  • Enhance: Support @Conditional on @AssistedInject. by @Jeffset in #63
  • Add omitThreadChecks & omitProvisionNullChecks by @Jeffset in #64

Full Changelog: v1.2.1...v1.3.0

1.2.1

16 Jun 20:56
Compare
Choose a tag to compare

This release contains fixes for #51, #57, #58

Full Changelog: v1.2.0...v1.2.1

v1.2.0

12 Apr 14:18
Compare
Choose a tag to compare

What's Changed

  • Implement new ap options mechanism to ensure that they are all provided in processor by @bacecek in #16
  • Enhance: Improve error-type handling. by @Jeffset in #25
    • Unresolved types reporting should include type names themselves (if correctErrorTypes is enabled for KAPT, KSP support is limited) instead of error.UnresolvedCla$$.
  • API: Add and implement @Reusable scope. by @Jeffset in #26
    • Now @Reusable scope is properly supoprted as in Dagger.
  • Enhance: Allow adding child components implicitly. by @Jeffset in #28
    • Now sub-components can be added by declaring their factory methods inside the parent component as with Dagger.
  • Enhance: Support full-blown subcomponent factory methods. by @Jeffset in #33
    • Now sub-component factory methods can accept modules, dependencies and @BindInstance arguments as in Dagger and more.
  • Fix: Properly resolve aliases while computing caching omission. by @Jeffset in #36
    • Generated code performance optimization.
  • Enhance: Implement auto-builder. by @Jeffset in #34
    • New Yatagan.autoBuilder() loader can be used for components without a declared builder. Use with caution - no type safety is enforced at compile time. Feature aimed to compensate for the Dagger's auto-generated builder absence.
  • Enhance: Allow for @Builder's factory methods to return supertypes by @Jeffset in #42
    • As in Dagger
  • Enhance: Allow IntoMap.Key annotations to have non-"value" attributes. by @Jeffset in #43
    • As in Dagger
  • Fix: Introduce reportDuplicateAliasesAsErrors option. by @Jeffset in #49
    • Add yatagan.experimental.reportDuplicateAliasesAsErrors = true to processor arguments (for KAPT, KSP) and Yatagan.reportDuplicateAliasesAsErrors(true) to reflection setup. This will activate duplicate @Binds errors. This option will be enabled and removed in the next major release.

New Contributors

Full Changelog: v1.1.0...v1.2.0

v1.2.0-rc3

06 Apr 16:00
Compare
Choose a tag to compare
v1.2.0-rc3 Pre-release
Pre-release

What's Changed

  • Fix: Introduce reportDuplicateAliasesAsErrors option. by @Jeffset in #49

Concerning the fix for #48

This is a minor release, and the fix might break existing graphs, so it is disabled by default. To enable the fix and to let Yatagan correctly issue errors about duplicate @Binds one should use

  • For kapt/ksp: yatagan.experimental.reportDuplicateAliasesAsErrors = true annotation processor argument.
  • For reflection: Yatagan.reportDuplicateAliasesAsErrors(true).

In the next major release this behavior will be default and the switches will be removed.

Full Changelog: v1.2.0-rc2...v1.2.0-rc3

v1.2.0-rc2

05 Apr 16:22
Compare
Choose a tag to compare
v1.2.0-rc2 Pre-release
Pre-release

What's Changed

  • Enhance: Allow for @Builder's factory methods to return supertypes by @Jeffset in #42
  • Enhance: Allow IntoMap.Key annotations to have non-"value" attributes. by @Jeffset in #43
  • Fix: Replace create with autoBuilder in minifier config. by @Jeffset in #47

Full Changelog: v1.2.0-rc1...v1.2.0-rc2

1.2.0-rc1

03 Apr 13:28
19725dc
Compare
Choose a tag to compare
1.2.0-rc1 Pre-release
Pre-release

What's Changed

  • Implement new ap options mechanism to ensure that they are all provided in processor by @bacecek in #16
  • Enhancement: Improve error-type handling by @Jeffset in #25
  • API: Add and implement @Reusable scope by @Jeffset in #26
  • Enhance: Allow adding child components implicitly by @Jeffset in #28
  • Enhance: Support full-blown subcomponent factory methods by @Jeffset in #33
  • Fix: Properly resolve aliases while computing caching omission by @Jeffset in #36
  • Enhance: Implement auto-builder by @Jeffset in #34

New Contributors

Full Changelog: v1.1.0...v1.2.0-rc1