Releases: uber-go/fx
Releases · uber-go/fx
v1.5.0
v1.4.0
Add fx.Populate
to populate variables with values from the dependency injection container without requiring intermediate structs.
v1.3.0
v1.2.0
Add fx.NopLogger
which disables lifecycle output.
v1.1.0
v1.0.0
First stable release: no breaking changes will be made in the 1.x series.
- [Breaking] Rename
fx.Inject
tofx.Extract
. - [Breaking] Rename
fxtest.Must*
tofxtest.Require*
. - [Breaking] Remove
fx.Timeout
andfx.DefaultTimeout
. fx.Extract
now supportsfx.In
tags on target structs.
v1.0.0-rc2
- [Breaking] Lifecycle hooks now take a context.
- Add
fx.In
andfx.Out
which exposes optional and named types.
Modules should embed these types instead of relying ondig.In
anddig.Out
. - Add an
Err
method to retrieve the underlying errors during the dependency
graph construction. The same error is also returned fromStart
. - Graph resolution now happens as part of
fx.New
, rather than at the beginning
ofapp.Start
. This allows inspection of the graph errors throughapp.Err()
before the decision to start the app. - Add a
Logger
option, which allows users to send Fx's logs to different
sink. - Add
fxtest.App
, which redirects log output to the user'stesting.TB
and
provides some lifecycle helpers.
v1.0.0-beta3.1
Patch release to the widely adopted Beta3 version that updates the obsolete dependencies which have been causing problems, especially the logrus imports.
This release is only intended to remove the immediate pressure to migrate to RC1, there is no current plan to support the "beta3 branch".
v1.0.0-rc1
- [Breaking] Providing types into
fx.App
and invoking functions are now
options passed during application construction. This makes users'
interactions with modules and collections of modules identical. - [Breaking]
TestLifecycle
is now in a separatefxtest
subpackage. - Add
fx.Inject()
to pull values from the container into a struct.
v1.0.0-beta4
- [Breaking] Monolithic framework, as released in initial betas, has been
broken into smaller pieces as a result of recent advances indig
library.
This is a radical departure from the previous direction, but it needed to
be done for the long-term good of the project. - [Breaking]
Module interface
has been scoped all the way down to being
a single dig constructor. This allows for very sophisticated module
compositions. Seego.uber.org/dig
for more information on the constructors. - [Breaking]
package config
has been moved to its own repository.
seego.uber.org/config
for more information. fx.Lifecycle
has been added for modules to hook into the framework
lifecycle events.service.Host
interface which composed a number of primitives together
(configuration, metrics, tracing) has been deprecated in favor of
fx.App
.