Major integrations and fixes: - Added BACKBEAT SDK integration for P2P operation timing - Implemented beat-aware status tracking for distributed operations - Added Docker secrets support for secure license management - Resolved KACHING license validation via HTTPS/TLS - Updated docker-compose configuration for clean stack deployment - Disabled rollback policies to prevent deployment failures - Added license credential storage (CHORUS-DEV-MULTI-001) Technical improvements: - BACKBEAT P2P operation tracking with phase management - Enhanced configuration system with file-based secrets - Improved error handling for license validation - Clean separation of KACHING and CHORUS deployment stacks 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
10 KiB
10 KiB
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
1.17.1 - 2023-10-19
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.
1.17.0 - 2023-05-02
Added
- Allow using
dig.Aswithdig.Group. - Add
FillInvokeInfoOption andInvokeInfostruct to help extract the types requested by anInvokestatement. - To get visibility into constructor and decorator calls, introduce
WithProviderCallbackandWithDecoratorCallbackOptions to provide callback functions.
1.16.1 - 2023-01-10
Fixed
- A panic when
DryRunwas used withDecorate.
1.16.0 - 2023-01-03
Added
- Add
RecoverFromPanicsoption, which provides panic-recovery mechanism for Container. - Add
Errorinterface which enables distinguishing errors from Dig using standarderrorspackage.
Thanks to @mie998 for their contribution(s) to this release.
1.15.0 - 2022-08-02
Added
- Support for
softvalue 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.
1.14.1 - 2022-03-22
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.
1.14.0 - 2022-02-23
Added
- Introduce
dig.Scopewhich creates a scoped dependency injection container to scope dependencies. - Introduce
Scope.DecorateandContainer.Decoratewhich allows a decorator to modify a dependency already provided in the dependency graph. - Add
FillDecorateInfoOption andDecorateInfostruct which exposes information on what Dig was able to understand from the decorator provided withScope.DecorateorContainer.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.
1.13.0 - 2021-09-21
Added
- Introduce
Asoption which supports providing a type as interface(s) it implements to the container. - Add
LocationForPCoption which overrides the function inspection for a program counter address to a provided function info.
1.12.0 - 2021-07-29
Added
- Support for ProvideInfo and FillProvideInfo that allow the caller of
Provideto get info about what dig understood from the constructor.
1.11.0 - 2021-06-09
Added
- Support unexported fields on
dig.Instructs with theignore-unexported:"truestruct tag.
1.10.0 - 2020-06-16
Added
- Introduce
DryRunOption which, when set to true, disables invocation of functions supplied toProvideandInvoke. This option will be used to build no-op containers, for example forfx.ValidateAppmethod.
1.9.0 - 2020-03-31
Added
- GraphViz visualization of the graph now includes names of packages next to constructors.
- Added a
flattenmodifier to group tags for slices to allow providing individual elements instead of the slice for a group value. See package doucmentation for more information.
Changed
- Drop library dependency on
golang.org/x/lint. - Support printing multi-line error messages with
%+v.
1.8.0 - 2019-11-14
Changed
- Migrated to Go modules.
1.7.0 - 2019-01-04
Added
- Added
Groupoption forProvideto add value groups to the container without rewriting constructors. See package doucmentation for more information.
1.6.0 - 2018-11-06
Changed
- When an error graph is visualized, the graph is pruned so that the graph only contains failure nodes.
- Container visualization is now oriented from right to left.
1.5.1 - 2018-11-01
Fixed
- Fixed a test that was causing Dig to be unusable with Go Modules.
1.5.0 - 2018-09-19
Added
- Added a
DeferAcyclicVerificationcontainer option that defers graph cycle detection until the next Invoke.
Changed
- Improved cycle-detection performance by 50x in certain degenerative cases.
1.4.0 - 2018-08-16
Added
- Added
Visualizefunction to visualize the state of the container in the GraphViz DOT format. This allows visualization of error types and the dependency relationships of types in the container. - Added
CanVisualizeErrorfunction to determine if an error can be visualized in the graph. - Added
Nameoption forProvideto add named values to the container without rewriting constructors. See package documentation for more information.
Changed
name:"..."tags on nested Result Objects will now cause errors instead of being ignored.
1.3.0 - 2017-12-04
Changed
- Improved messages for errors thrown by Dig under a many scenarios to be more informative.
1.2.0 - 2017-11-07
Added
dig.Inanddig.Outnow support value groups, making it possible to produce many values of the same type from different constructors. See package documentation for more information.
1.1.0 - 2017-09-15
Added
- Added the
dig.RootCausefunction which allows retrieving the original constructor error that caused anInvokefailure.
Changed
- Errors from
Invokenow attempt to hint to the user a presence of a similar type, for example a pointer to the requested type and vice versa.
1.0.0 - 2017-07-31
First stable release: no breaking changes will be made in the 1.x series.
Changed
ProvideandInvokewill now fail ifdig.Inordig.Outstructs contain unexported fields. Previously these fields were ignored which often led to confusion.
1.0.0-rc2 - 2017-07-21
Added
- Exported
dig.IsInanddig.IsOutso that consuming libraries can check if a params or return struct embeds thedig.Inanddig.Outtypes, respectively.
Changed
- Added variadic options to all public APIS so that new functionality can be introduced post v1.0.0 without introducing breaking changes.
- Functions with variadic arguments can now be passed to
dig.Provideanddig.Invoke. Previously this caused an error, whereas now the args will be ignored.
1.0.0-rc1 - 2017-06-21
First release candidate.
0.5.0 - 2017-06-19
Added
-
dig.Inanddig.Outnow support named instances, i.e.:type param struct { dig.In DB1 DB.Connection `name:"primary"` DB2 DB.Connection `name:"secondary"` }
Fixed
- Structs compatible with
dig.Inanddig.Outmay now be generated usingreflect.StructOf.
0.4.0 - 2017-06-12
Added
- Add
dig.Inembeddable type for advanced use-cases of specifying dependencies. - Add
dig.Outembeddable type for advanced use-cases of constructors inserting types in the container. - Add support for optional parameters through
optional:"true"tag ondig.Inobjects. - Add support for value types and many built-ins (maps, slices, channels).
Changed
- [Breaking] Restrict the API surface to only
ProvideandInvoke. - [Breaking] Update
Providemethod to accept variadic arguments.
Removed
- [Breaking] Remove
Must*funcs to greatly reduce API surface area. - Providing constructors with common returned types results in an error.
0.3 - 2017-05-02
Added
- Add functionality to
Provideto support constructor withnreturn objects to be resolved into thedig.Graph - Add
Invokefunction to invoke provided function and insert return objects into thedig.Graph
Changed
- Rename
RegisterAllandMustRegisterAlltoProvideAllandMustProvideAll.
0.2 - 2017-03-27
Changed
- Rename
RegistertoProvidefor clarity and to recude clash with other Register functions. - Rename
dig.Graphtodig.Container.
Removed
- Remove the package-level functions and the
DefaultGraph.
0.1 - 2017-03-23
Initial release.