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.
0.30.0 - 2018-05-12
- Default app modules for http and grpc
- Default app runners for http and grpc
- Moved gorilla tracing to a separate package
- Renamed
context
package tofxcontext
- Renamed
daemon
package tofxdaemon
- Renamed
database/sql
package tofxsql
- Renamed
debug
package tofxdebug
- Renamed
debug/metrics/prometheus
package tofxpromhttp
- Renamed
dev
package tofxdev
- Renamed
errors
package tofxerrors
- Renamed
errors/airbrake
package tofxairbrake
- Renamed
grpc
package tofxgrpc
- Renamed
http
package tofxhttp
- Renamed
http/gorilla
package tofxmux
and moved tohttp/gorilla/mux
- Renamed
http/gorilla/opentracing
package tootmux
and moved tohttp/gorilla/mux/opentracing
- Renamed
log
package tofxlog
- Renamed
log/logrus
package tofxlogrus
- Renamed
prometheus
package tofxprometheus
- Renamed
test
package tofxtesting
- Moved
tracing
package totracing/opentracing
under the namefxopentracing
- Renamed
tracing/jaeger
package tofxjaeger
- Renamed
tracing/jaeger/metrics/prometheus
package tojaegerprometheus
- Moved
debug/metrics/prometheus
package tometrics/prometheus/promhttp
asfxpromhttp
- Moved param and result structs next to the constructor
- Use new Jaeger config constructor instead of the deprecated one
- Unused jaeger client config
0.23.0 - 2018-04-29
- http: opentracing correlation ID middleware
- http: rewritten correlation ID middleware
- grpc: rewritten correlation ID middleware
0.22.0 - 2018-04-26
- context: New package for basic context keys
- http: correlation ID middleware
- Move random string generation to internal package for reusability
- Move common Correlation ID related interfaces to
internal/correlationid
package - Use
context.Context
wherever possible
0.21.0 - 2018-04-26
- log: logrus adapter
0.20.0 - 2018-03-18
- metrics/prometheus: Prometheus instance
- tracing/jaeger: Prometheus metrics factory
- Component log context to prometheus and jaeger
- metrics/prometheus: Moved prometheus handler to debug package
0.19.1 - 2018-03-05
- database/sql: Comments for DB connection config
- database/sql: Invalid dependency injection container parameter
0.19.0 - 2018-02-28
- database/sql: max idle connection setting falls back to the internal default by default
0.18.0 - 2018-02-28
- database/sql: DB connection configuration
- database/sql: Utility function to make the master connection the primary one
- database/sql: Slave overwriting master connection
0.17.0 - 2018-02-04
- Test runner interface for test runners (already implemented by Godog and Main test runners)
- Test runner list for merging test runners into one
- Test runner factories
- Function type for test runner factories
- gRPC client acceptance context moved to subpackage to avoid dependency
- AppContext function
0.16.0 - 2018-02-01
- gRPC Dial function
- DB acceptance context
- gRPC client acceptance context
- App acceptance context
0.15.1 - 2018-01-24
- Error indicators for http and debug server shutdown
0.15.0 - 2018-01-24
- Invoke function for configuring global airbrake logger
- Application info struct for common application details
- Airbrake ProjectKey configuration option
0.14.0 - 2018-01-23
- Application context function for Godog
- Environment variable loading helper
0.13.0 - 2018-01-23
- Move
fxtest
package undertest
0.12.0 - 2018-01-23
fx.App
wrapper so that closer does not have to be manually populatedfxtest.App
wrapper so that closer does not have to be manually populated
- Segmentation fault when Godog runner used without initialization
0.11.0 - 2018-01-22
- Godog runner configuration
- Build tag helpers to determine whether a test is executed with
unit
,acceptance
orintegration
tags GetFreePort
for getting a free TCP port (useful for acceptance tests involving a server connection)
0.10.0 - 2018-01-18
- TLS option for DB app config
0.9.0 - 2018-01-16
- gRPC correlation ID interceptor
0.8.0 - 2018-01-14
- Metrics support for Jaeger
- Upgrade Jaeger libraries
- Use go-kit logger wrapper from jaeger lib
- Upgraded gRPC
0.7.0 - 2018-01-12
- App config for SQL
- App config for Airbrake
- App config for Jaeger
- App config for gRPC client
0.6.3 - 2017-12-05
io.Writer
adapter for go-kit logger
- Use
io.Writer
log adapter instead of the stdlib one in grpc log
0.6.2 - 2017-11-17
- Error handler result for error handler groups
0.6.1 - 2017-11-16
- StatusChecker health check constructor
0.6.0 - 2017-11-16
- Upgrade go.uber.org/dig to minimum 1.2.0
- Use dig 1.2 features in error handling
0.5.2 - 2017-10-30
- Updated dependencies
0.5.1 - 2017-10-26
- Stack trace to some errors
- Updated dependencies
0.5.0 - 2017-10-18
- Prometheus metrics endpoint register function
- Custom gRPC server options to the gRPC config
- Moved Gorilla Mux router to
http/gorilla
package - Replaced custom router solution with tracer injection
- Custom Mux router wrapper
- Interceptors from gRPC constructor params
0.4.0 - 2017-10-15
- Router wrapping Gorilla mux adding OpenTracing support
- Logger is now optional in Jaeger tracer
0.3.3 - 2017-10-13
- Null pointer closer
0.3.2 - 2017-10-13
- Null pointer closer
0.3.1 - 2017-10-13
- Lock go-kit to patch versions
- Register the daemon runner in the application lifecycle
0.3.0 - 2017-10-13
- Daemon and cron tools
WithTimeout
function to enforce timeouts- Simple http server construction
- Database connection constructor
- Master-slave database connection constructor
- Add gRPC server constructor
- Do not require a
net.Addr
in debug server config - Debug server is started without goph/serverz
- Make configurations non-optional options
0.2.0 - 2017-10-12
- Error channel returned from debug server
- Opentracing global tracer
- Provide debug.Handler from debug server constructor
- Make logger optional (but highly recommended) for debug server
- Global error channel
- Debug bootstrap
- goph/stdlib requirement
- go-kit logger constructor
- emperror error handler constructor
- airbrake compatible error handler constructor
- Error handler stack for collecting multiple handlers under a single dependency
- opentracing tracer constructor
- jaeger tracer constructor
- Lifecycle extension for supporting Closers
- Debug server constructor (invoke fn)
- Health collector constructor
- Bootstrap options