IMPROVEMENTS
- database: enable TLS with postgres tests
- database: fix another printf
- feat: Support PostgreSQL databases via config
BUILD
- fix(deps): update module github.com/googleapis/go-sql-spanner to v1.7.2 (#438)
- fix(deps): update module github.com/madflojo/testcerts to v1.3.0 (#435)
IMPROVEMENTS
- database: fix printf
IMPROVEMENTS
- database: add RunMigrationsContext with tracing
- test: verify ErrorList doesn't obviously panic
- test: verify
yaml:"x-foo"
works
BUILD
- chore(deps): update actions/checkout action to v4
- chore(deps): update actions/setup-go action to v5
- chore(deps): update github/codeql-action action to v3
- fix(deps): update module cloud.google.com/go/spanner to v1.67.0
- fix(deps): update module github.com/googleapis/go-sql-spanner to v1.7.1
- fix(deps): update module github.com/prometheus/client_golang to v1.20.2
- fix(deps): update module github.com/rickar/cal/v2 to v2.1.19
- fix(deps): update module google.golang.org/grpc to v1.67.0
- fix(deps): update opentelemetry-go monorepo to v1.29.0
IMPROVEMENTS
- config: include decoder fallback to parse time.Duration values
IMPROVEMENTS
- feat: allow config to unmarshal regexes as strings
BUILD
- chore(deps): update mysql docker tag to v9
- fix(deps): update module github.com/googleapis/go-sql-spanner to v1.5.0
- fix(deps): update module github.com/rickar/cal/v2 to v2.1.17
- fix(deps): update module google.golang.org/grpc to v1.65.0
- fix(deps): update opentelemetry-go monorepo to v1.28.0
IMPROVEMENTS
- feat: allowing for the x-clean-statements during spanner migrations to be configurable
BUILD
- fix(deps): update module github.com/rickar/cal/v2 to v2.1.16
IMPROVEMENTS
- time: if exactly 5pm, should go to next banking day
BUILD
- fix(deps): update module cloud.google.com/go/spanner to v1.63.0
- fix(deps): update module github.com/googleapis/go-sql-spanner to v1.4.0
- fix(deps): update module github.com/madflojo/testcerts to v1.2.0
- fix(deps): update module github.com/spf13/viper to v1.19.0
- fix(deps): update module google.golang.org/grpc to v1.64.0
- fix(deps): update opentelemetry-go monorepo to v1.27.0
IMPROVEMENTS
- database: enforce ordering of sql.DB config (SetConnMaxIdleTime before SetConnMaxLifetime)
IMPROVEMENTS
- strx: revert Go 1.22 simplification
BUILD
- build: -short test on Windows
- build: run oldstable Go, run go test on windows
- database: fix cert paths in test
BUILD
- meta: downgrade Go to 1.21 until Openshift supports newer Go
IMPROVEMENTS
- config: merge arbitrary map's together
- feat: AddBankingTime
- strx: simplify implementation in Go 1.22+
BUILD
- chore(deps): update mysql docker tag to v8.4
- chore(deps): update dependency go to v1.22.3
- fix(deps): update module github.com/go-sql-driver/mysql to v1.8.1
- fix(deps): update module cloud.google.com/go/spanner to v1.61.0
- fix(deps): update module github.com/google/uuid to v1.6.0
- fix(deps): update module github.com/stretchr/testify to v1.9.0
- fix(deps): update module github.com/googleapis/gax-go/v2 to v2.12.4
- fix(deps): update module github.com/googleapis/go-sql-spanner to v1.3.1
- fix(deps): update module github.com/prometheus/client_golang to v1.19.1
- fix(deps): update module github.com/golang-migrate/migrate/v4 to v4.17.1
- fix(deps): update module github.com/rickar/cal/v2 to v2.1.14
- fix(deps): update module github.com/rickar/cal/v2 to v2.1.15
- fix(deps): update module google.golang.org/grpc to v1.63.2
- fix(deps): update opentelemetry-go monorepo to v1.26.0
IMPROVEMENTS
- http: Update default count value to 200
BUILD
- fix(deps): update module cloud.google.com/go/spanner to v1.55.0
IMPROVEMENTS
- fix: proper printf verbs
BUILD
- build(deps): bump golang.org/x/crypto from 0.16.0 to 0.17.0
- fix(deps): update module github.com/golang-migrate/migrate/v4 to v4.17.0
- fix(deps): update module github.com/prometheus/client_golang to v1.18.0
- fix(deps): update module github.com/spf13/viper to v1.18.2
- fix(deps): update module google.golang.org/grpc to v1.60.1
IMPROVEMENTS
- chore: add better logging around running migrations
- chore: check for some rare null pointers
- test: checking ErrorList conditions
- test: verify upcoming holidays calculate correctly
BUILD
- fix(deps): update google.golang.org/grpc to v1.60.0
- fix(deps): update module cloud.google.com/go/spanner to v1.53.1
- fix(deps): update opentelemetry-go monorepo to v1.20.0
IMPROVEMENTS
- time: use generic logic for Friday-observed banking days
BUILD
- fix(deps): update module github.com/gorilla/mux to v1.8.1
IMPROVEMENTS
- fix: Veteran's day is not observed today
- test: check future Saturday holidays
ADDITIONS
- feat: add
build
package to log runtime information - feat: add
sql
package to instrument SQL statements - feat: add
telemetry
package to instrument OpenTracing in applications
BUILD
- chore(deps): update mysql docker tag to v8.2
- fix(deps): update module github.com/google/uuid to v1.4.0
IMPROVEMENTS
- fix(logger): prevent nil pointer dereference when calling
log.Stringer(nil)
BUILD
- fix(deps): update module github.com/madflojo/testcerts to v1.1.1
- fix(deps): update module cloud.google.com/go/spanner to v1.51.0
- fix(deps): update module google.golang.org/grpc to v1.59.0
ADDITIONS
- http: Add GetOrderBy(r *http.Request) to get 'orderBy' vars from request
BUILD
- fix(deps): update module cloud.google.com/go/spanner to v1.49.0
- fix(deps): update module github.com/go-kit/kit to v0.13.0
- fix(deps): update module github.com/google/uuid to v1.3.1
- fix(deps): update module google.golang.org/grpc to v1.58.1
BUILD
- admin: remove
NewServer
- chore(deps): update mysql docker tag to v8.1
- fix(deps): update module cloud.google.com/go/spanner to v1.48.0
- fix(deps): update module google.golang.org/grpc to v1.57.0
IMPROVEMENTS
- log: make NewBufferLogger() safe to read/write across goroutines
BUILD
- build: use latest stable Go release
- fix(deps): update module github.com/googleapis/gax-go/v2 to v2.12.0
- fix(deps): update module google.golang.org/grpc to v1.56.2
ADDITIONS
- log: Added the ability to specify the format for log messages via
MOOV_LOG_FORMAT
with values ofnop
,json
, orlogfmt
- fix(deps): update module github.com/googleapis/go-sql-spanner to v1.1.0
ADDITIONS
- config: allows specifying a
embed.FS
to pull the default configuration from - database: allow specifying a
embed.FS
to pull migrations from
IMPROVEMENTS
- config: clarify the naming of the mapstructure.DecoderConfig
- feat: detect mysql deadlock err
BUILD
- fix(deps): update module cloud.google.com/go/spanner to v1.46.0
- fix(deps): update module github.com/googleapis/gax-go/v2 to v2.9.0
- fix(deps): update module github.com/stretchr/testify to v1.8.3
IMPROVEMENTS
- database: idempotently creates the spanner databases.
- database: allows for specific creation in addition to random spanner database creation
ADDITIONS
- database: add
SpannerUniqueViolation
helper for mapping Spanner DB duplicate error - database: adjusted
UniqueViolation
helper to check for either MySQL or Spanner errors
BUILD
- fix(deps): update module cloud.google.com/go/spanner to v1.45.1
- fix(deps): update module github.com/go-sql-driver/mysql to v1.7.1
- fix(deps): update module github.com/prometheus/client_golang to v1.15.1
IMPROVEMENTS
- config: overwrite slices instead of merging
IMPROVEMENTS
- database: fixed issues with spanner migrations and comments
ADDITIONS
- Adding in spanner support for databases
BUILD
- build: update github.com/stretchr/testify to v1.8.2
- fix(deps): update module github.com/madflojo/testcerts to v1.1.0
- fix(deps): update module github.com/rickar/cal/v2 to v2.1.13
ADDITIONS
- http: add LimitedSkipCount helper
IMPROVEMENTS
- Increase maximum 'skip' value in GetSkipAndCount(r *http.Request) to math.MaxInt32
BUILD
- fix(deps): update module github.com/rickar/cal/v2 to v2.1.10
- fix(deps): update module github.com/spf13/viper to v1.15.0
IMPROVEMENTS
- idempotent: remove outdated package
ADDITIONS
- admin: add constructor for Admin server that doesn't panic, add timeout setters
- randx: add new package
BREAKING CHANGES
- database: remove SQLite as a database option
BUILD
- fix(deps): update module github.com/go-sql-driver/mysql to v1.7.0
IMPROVEMENTS
- Fix MySQLUniqueViolation check to look for error dupe code more broadly
- Fix MySQLDataTooLong check to look for error data length code more broadly
BUILD
- fix(deps): update module github.com/hashicorp/golang-lru to v0.6.0
- fix(deps): update module github.com/mattn/go-sqlite3 to v1.14.16
- fix(deps): update module github.com/prometheus/client_golang to v1.14.0
- fix(deps): update module github.com/rickar/cal/v2 to v2.1.8
- fix(deps): update module github.com/spf13/viper to v1.14.0
BUILD
- fix(deps): update module github.com/fsnotify/fsnotify to v1.6.0
- fix(deps): update module github.com/gobuffalo/here to v0.6.7
- fix(deps): update module github.com/matttproud/golang_protobuf_extensions to v1.0.2
- fix(deps): update module github.com/prometheus/client_model to v0.3.0
- fix(deps): update module github.com/spf13/afero to v1.9.2
- fix(deps): update module github.com/stretchr/testify to v1.8.1
- fix(deps): update module go.uber.org/atomic to v1.10.0
- fix(deps): update module golang.org/x/sys to v0.1.0
- fix(deps): update module golang.org/x/text to v0.4.0
IMPROVEMENTS
- build: add GetHoliday() onto Time
BUILD
- build: require Go +1.19 in Actions
- fix(deps): update module github.com/rickar/cal/v2 to v2.1.7
IMPROVEMENTS
- Added TLS client certs to TLS config for database connection
- TLS client certs can be included via configuration
BUILD
- fix(deps): update module github.com/spf13/viper to v1.13.0
BUILD
- fix(deps): update module github.com/mattn/go-sqlite3 to v1.14.15
- fix(deps): update module github.com/rickar/cal/v2 to v2.1.6
IMPROVEMENTS
- Add Int64OrNil method for logging
- docs: describe liveness/readiness probes and metrics endpoints
- test: ensure ID() length
BUILD
- build: update deprecated io/ioutil functions
- chore(deps): update module go to 1.19
- fix(deps): update module github.com/prometheus/client_golang to v1.13.0
BREAKING CHANGES
- fix: quit converting times to UTC in
Time
ADDITIONS
- database: add
MySQLDataTooLong
helper for detecting "data too long" errors (Code: 1406)
BUILD
- fix(deps): update module github.com/stretchr/testify to v1.8.0
IMPROVEMENTS
- fix: recover from panics during logging, log those if we can
ADDITIONS
- feat: add AddBusinessDay to Time (#235)
IMPROVEMENTS
- time: update test cases to make sure Juneteenth holiday is handled appropriately (#234)
BUILD
- fix(deps): update module github.com/rickar/cal/v2 to v2.1.5 (#234)
ADDITIONS
- feat: add IsBusinessDay to Time
- log: add a helper for stdout logging during verbose test runs
IMPROVEMENTS
- do not ignore error when walk dir in pkger
BUILD
- fix(deps): update module github.com/spf13/viper to v1.12.0
IMPROVEMENTS
- k8s: update to check more paths
BUILD
- build: update codeql action
- fix(deps): update module github.com/go-kit/log to v0.2.1
- fix: mysql/Dockerfile to reduce vulnerabilities
BUILD
- fix(deps): update module github.com/mattn/go-sqlite3 to v1.14.13
- fix(deps): update module github.com/prometheus/client_golang to v1.12.2
REMOVALS
- database: remove test containers based on dockertest (aka
database.CreateTestMySQLDB
)
BUILD
- fix(deps): update module github.com/stretchr/testify to v1.7.1
- fix(deps): update module github.com/spf13/viper to v1.11.0
- fix(deps): update module github.com/golang-migrate/migrate/v4 to v4.15.2
ADDITIONS
- time: add IsHoliday()
BUILD
- fix(deps): update module github.com/mattn/go-sqlite3 to v1.14.12
- fix(deps): update module github.com/prometheus/client_golang to v1.12.1
- time: update github.com/rickar/cal to v2 release
IMPROVEMENTS
- Adding in a lock around writing to the metrics
IMPROVEMENTS
- Cleanup and simplify the recording of metrics
IMPROVEMENTS
- Adding logging to the error that could come back from verify ca
- Adding in additional metrics to track for database connections
- Adding in test cases to make sure the metrics get recorded
BUG FIXES
- database: Fix ApplyConnectionsConfig
BUILD
- fix(deps): update module github.com/spf13/viper to v1.10.1
- fix(deps): update module github.com/ory/dockertest/v3 to v3.8.1
IMPROVEMENTS
- log: add nil pointer check in adding log contexts
- database: close sql test resources
BUILD
- fix(deps): update github.com/mitchellh/mapstructure to v1.4.3
BREAKING CHANGES
- config: fail loading if there are unused (extra) fields
IMPROVEMENTS
- config: verify blank strings replace populated strings
- database: verify TLS connections work as expected
- database: check sql rows error
BUILD
- build: enable gosec, fix go-kit depreciations
- fix(deps): update module github.com/go-kit/kit to v0.12.0
- fix(deps): update module github.com/mattn/go-sqlite3 to v1.14.9
ADDITIONS
- database: add
multiStatement=true
to DSN to allow multiple statements in a migration
IMPROVEMENTS
- log: allow fetching of the values and setting up the log values to be sorted by keys
- log: add Details method to return a map of context values
ADDITIONS
- database: add TLS support to MySQL
BUILD
- fix(deps): update module github.com/golang-migrate/migrate/v4 to v4.15.0
- fix(deps): update module github.com/ory/dockertest/v3 to v3.8.0
- fix(deps): update module github.com/spf13/viper to v1.9.0
ADDITIONS
- log: add
Int64(..)
valuer
IMPROVEMENTS
- log: added more valuer types (
uint32
,uint64
,float32
)
IMPROVEMENTS
- log: added debug log level
BUG FIXES
- time: fix
AddBankingDay
calculation around weekend holidays
IMPROVEMENTS
- database: support disabling cgo by removing sqlite support
- Set meaningful names for databases used in tests (#172)
BUILD
- fix(deps): update module github.com/go-kit/kit to v0.11.0
- fix(deps): update module github.com/google/uuid to v1.3.0
- fix(deps): update module github.com/mattn/go-sqlite3 to v1.14.8
- fix(deps): update module github.com/spf13/viper to v1.8.1
ADDITIONS
- database: mask mysql password in JSON marshaling
BUILD
- fix(deps): update module github.com/prometheus/client_golang to v1.11.0
- fix(deps): update module github.com/ory/dockertest/v3 to v3.7.0
- build: update gotilla/websocket and spf13/viper
ADDITIONS
- Add database Transaction functions
IMPROVEMENTS
- config: include which file is missing
BUILD
- fix(deps): update module github.com/go-sql-driver/mysql to v1.6.0
- fix(deps): update module github.com/mattn/go-sqlite3 to v1.14.7
- fix(deps): update module github.com/ory/dockertest/v3 to v3.6.5
ADDITIONS
- add subrouter function to Server (#160)
ADDITIONS
- log: timeOrNil() (#157)
- Adding in a .Nil() method to the logged error so you can log and return nil in the same oneliner
IMPROVEMENTS
- database: set STRICT_ALL_TABLES on mysql connections
BUILD
- Bump gogo/protobuf to fix CVE
- fix(deps): update module github.com/prometheus/client_golang to v1.10.0
ADDITIONS
- Adding in configurable sql connections
BREAKING CHANGES
- Adding timezone/location parameter to time Now func
IMPROVEMENTS
- docs: update "Getting Help" section
BUILD
- chore(deps): update module golang-migrate/migrate/v4 to v4.14.1
- chore(deps): update module google/uuid to v1.2.0
- chore(deps): update module mattn/go-sqlite3 to v1.14.6
- chore(deps): update module ory/dockertest/v3 to v3.6.3
- chore(deps): update module prometheus/client_golang to v1.9.0
IMPROVEMENTS
- logging: Restricts the logging values from
interface{}
to specific types that are easily converted into a log line.
IMPROVEMENTS
- database: run and share single MySQL docker container with all tests
FIXES:
- database: fix parallel tests data race in migrations
BREAKING CHANGES
- database: removed
InMemorySqliteConfig
object
ADDITIONS
- log: add timestamp field to all logs
FIXES:
- database: CreateTestSqliteDB didn't use path of SQLite DB for migrations
BREAKING CHANGES
- log:
Logger.LogError
andLogger.LogErrorf
no longer return anerror
, they will returnLoggedError
which can be called withErr()
to return anerror
- database: changed signature of
New
andNewAndMigrate
functions by reordering arguments and changing return types - database: renamed Sqlite to SQlite and MySql to MySQL in database config
ADDITIONS
- database: load sql files for migrations from
/migrations
directory
FIXES:
- database: fix leaked DB connection created by migrator
ADDITIONS
- log: package for generating structured logs
- config: package for loading the app configuration
- stime: package for fetching system time and mocking time in tests
- api: schema for base error model
ADDITIONS
- http: Add GetSkipAndCount(r *http.Request) to get 'skip' and 'count' vars from request
ADDITIONS
- admin: add a handler to print the version on 'GET /version'
IMPROVEMENTS
- http/bind: rename ofac as watchman
BUILD
- Update module prometheus/client_golang to v1.3.0
- Update Copyright headers for 2020
- chore(deps): update module hashicorp/golang-lru to v0.5.4
BREAKING CHANGES
We've renamed http.GetRequestID
and http.GetUserID
from http.Get*Id
to match Go's preference for ID
suffixes.
ADDITIONS
- idempotent: add
Header(*http.Request) string
andHeaderKey
- http/bind: add Wire HTTP service/port binding
- http/bind: add customers port
- http/bind: rename gl to accounts
- time: expose ISO 8601 format
BUG FIXES
- http: respond with '429 PreconditionFailed' if X-Idempotency-Key has been seen before
IMPROVEMENTS
- idempotent: bump up max header length
- admin: bind on a random port and return it in BindAddr on
:0
- build: enable windows in TravisCI
ADDITIONS
- admin: Added
AddLivenessCheck
andAddReadinessCheck
for HTTP health checks
ADDITIONS
- Added
Has
andMatch
functions to support type-based error handling
ADDITIONS
- Add
ID() string
to return a random identifier.
ADDITIONS
- admin:
Server.AddHandler
for extendable commands - http/bind: Add Fed service
BUG FIXES
- http: fix panic in ResponseWriter.WriteHeader
BUG FIXES
- http: don't panic if nil idempotent.Recorder is passed to ResponseWriter
ADDITIONS
- http/bind: Add OFAC and GL services
- k8s: Add
Inside()
for cluster awareness. - docker: Add
Enabled()
for compatability checks.
BREAKING CHANGES
- time: default times to UTC rather than Eastern.
- error: Add
ParseError
andErrorList
types. - time: Prevent negative times in
NewTime(t time.Time)
ADDITIONS
- Add ParseError and ErrorList. (See: moov-io/base #23)
BUG FIXES
- http: Add OPTIONS to Access-Control-Allow-Methods
ADDITIONS
- Add
base.Time
as an embeddedtime.Time
with banktime methods. (AddBankingDay, IsWeekend)
- Initial release