Skip to content

Releases: uber-go/dig

v1.17.1

19 Oct 17:04
3c7d5e3
Compare
Choose a tag to compare

Added

  • Suggestions for value vs. pointer elements for slice and array types.

Fixed

  • An issue where value group values were not getting decorated
    by decorators within the same module when using dig.Export(true).
  • A typo in docs.
  • An issue where false positives in cycle detection were occurring
    when providing to a child scope.

Thanks to @paullen and @lcarilla for their contributions to this release.

v1.17.0

03 May 22:21
Compare
Choose a tag to compare

Added

  • Allow using dig.As with dig.Group.
  • Add FillInvokeInfo Option and InvokeInfo struct to help
    extract the types requested by an Invoke statement.
  • To get visibility into constructor and decorator calls, introduce
    WithProviderCallback and WithDecoratorCallback Options to provide callback functions.

v1.16.1

11 Jan 18:45
67800c3
Compare
Choose a tag to compare

Fixed

  • A panic when DryRun was used with Decorate.

v1.16.0

04 Jan 07:24
Compare
Choose a tag to compare

Added

  • Add RecoverFromPanics option, which provides panic-recovery mechanism for Container.
  • Add Error interface which enables distinguishing errors from Dig using standard errors
    package.

Thanks to @mie998 for their contribution(s) to this release.

v1.15.0

03 Aug 00:09
8fe1219
Compare
Choose a tag to compare

Added

  • Support for soft value groups, which specify a value group that only gets populated
    with values from already-executed constructors.

Fixed

  • Fix an issue with invoke order affecting results provided by private provides.

Thanks to @hbdf for their contributions to this release.

v1.14.1

22 Mar 17:17
d14f6ca
Compare
Choose a tag to compare

Fixed

  • Fix an issue where a dependency for a decoration supplied by another decorator in the
    same scope is ignored.
  • Fix a panic when submitting a single value as a value group in Scope.Decorate.
  • Upon a provide error, make the error message contain the function named specified
    by LocationForPC Option.

v1.14.0

28 Feb 20:12
879a6f8
Compare
Choose a tag to compare

Added

  • Introduce dig.Scope which creates a scoped dependency injection
    container to scope dependencies.
  • Introduce Scope.Decorate and Container.Decorate which allows a
    decorator to modify a dependency already provided in the dependency graph.
  • Add FillDecorateInfo Option and DecorateInfo struct which exposes
    information on what Dig was able to understand from the decorator provided
    with Scope.Decorate or Container.Decorate.

Changed

  • The error message that appears when a cycle is detected in the dependency graph
    has been changed slightly.

Fixed

  • A stack overflow bug that happens when cycles are introduced via self-pointing
    dependencies with DeferAcyclicVerification.

v1.13.0

21 Sep 22:47
a3603d5
Compare
Choose a tag to compare

Added

  • Introduce As option which supports providing a type as interface(s)
    it implements to the container.
  • Add LocationForPC option which overrides the function inspection
    for a program counter address to a provided function info.

v1.12.0

04 Aug 23:58
54d6461
Compare
Choose a tag to compare

Added

  • Support for ProvideInfo and FillProvideInfo that allow the caller of
    Provide to get info about what dig understood from the constructor.

v1.11.0

09 Jun 21:08
7673eb2
Compare
Choose a tag to compare

Added

  • Support unexported fields on dig.In structs with the
    ignore-unexported:"true struct tag.