- [Breaking] Environment config provider was removed. If you were using environment variables to override YAML values, see config documentation for more information.
- [Breaking] Simplify Provider interface: remove
Scope
method from theconfig.Provider
interface, one can use either ScopedProvider and Value.Get() to access sub fields. - Add
task.MustRegister
convenience function which fails fast by panicking Note that this should only be used during app initialization, and is provided to avoid repetetive error checking for services which register many tasks. - Expose options on task module to disable execution. This will allow users to enqueue and consume tasks on different clusters.
- [Breaking] Rename Backend interface
Publish
toEnqueue
. Created a newExecuteAsync
method that will kick off workers to consume tasks and this is subsumed by module Start. - [Breaking] Rename package
uhttp/client
touhttp/uhttpclient
for clarity. - [Breaking] Rename
PopulateStruct
method in value toPopulate
. The method can now populate not only structs, but anything: slices, maps, builtin types and maps. - [Breaking]
package dig
has moved fromgo.uber.org/fx/dig
to a new home atgo.uber.org/dig
. - [Breaking] Pass a tracer the
uhttp/uhttpclient
constructor explicitly, instead of using a global tracer. This will allow to use http client in parallel tests.
- [Breaking] Remove
ulog.Logger
interface and expose*zap.Logger
directly. - [Breaking] Rename config and module from
modules.rpc
tomodules.yarpc
- [Breaking] Rename config key from
modules.http
tomodules.uhttp
to match the module name - [Breaking] Upgrade
zap
tov1.0.0-rc.3
(now go.uber.org/zap, was github.com/uber-go/zap) - Remove now-unused
config.IsDevelopmentEnv()
helper to encourage better testing practices. Not a breaking change as nobody is using this func themselves according to our code search tool. - Log
traceID
andspanID
in hex format to match Jaeger UI. Upgrade Jaeger to min version 2.1.0 and use jaeger's adapters for jaeger and tally initialization. - Tally now supports reporting histogram samples for a bucket. Upgrade Tally to 2.1.0
- [Breaking] Make new module naming consistent
yarpc.ThriftModule
toyarpc.New
,task.NewModule
totask.New
- [Breaking] Rename
yarpc.CreateThriftServiceFunc
toyarpc.ServiceCreateFunc
as it is not thrift-specific. - Report version metrics for company-wide version usage information.
- Allow configurable service name and module name via service options.
- DIG constructors now support returning a tuple with the second argument being an error.
This is the first beta release of the framework, where we invite users to start building services on it and provide us feedback. Warning we are not promising API compatibility between beta releases and the final 1.0.0 release. In fact, we expect our beta user feedback to require some changes to the way things work. Once we reach 1.0, we will provider proper version compatibility.