Releases: yandex/yatagan
Releases · yandex/yatagan
1.5.1
1.5.0
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
1.4.0
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
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
1.2.1
v1.2.0
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 oferror.UnresolvedCla$$
.
- Unresolved types reporting should include type names themselves (if
- API: Add and implement
@Reusable
scope. by @Jeffset in #26- Now
@Reusable
scope is properly supoprted as in Dagger.
- Now
- 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.
- Now sub-component factory methods can accept modules, dependencies and
- 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.
- New
- 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
New Contributors
Full Changelog: v1.1.0...v1.2.0
v1.2.0-rc3
What's Changed
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
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
withautoBuilder
in minifier config. by @Jeffset in #47
Full Changelog: v1.2.0-rc1...v1.2.0-rc2