go-kit v0.9.0 Release Notes
Release Date: 2019-06-27 // 6 months ago-
🚀 A new major release with incremental improvements and enhancements. Major features include support for AWS Lambda as a transport, and improved error handling in all transports. Thanks to the 26 contributors who contributed to this release! 🏌
🚀 Note that this release includes breaking changes in the metrics package , please review the documentation for changes.
🐛 Bug fixes
- sd/etcdv3: serve the keepalive response channel (#803) (thanks @fangdingjun)
- ✅ tracing/zipkin: swaps tested conditions (#812) (thanks @jcchavezs)
- metrics/influx: Fix InfluxDB import path (#826) (thanks @flowchartsman)
- kitgen: normalize backSlashes in path (#831) (thanks @obeyda)
- sd/etcdv3: fix dead loop (#848) (thanks @zii)
- sd/zk: fix:
ProtectedEphemeralSequential
in the wrong zk path (#849) (thanks @RedDragonet) - metrics/cloudwatch2: fix context in Send() (#857) (thanks @h8liu)
- sd: fix data race (#865) (thanks @toffaletti)
- tracing/opentracing: fix port assignment (#866) (thanks @kevinreed8263)
- ⚡️ transport/nats: Update imports (#881) (thanks @wallyqs)
- ✅ metrics/prometheus: fix for latest HEAD (#885)
- metrics/dogstatsd: Drop metrics according to sample rate (#884) (thanks @martin-sucha)
✨ Enhancements
- 🌲 log: Support logrus.Field logger in the logrus adapter (#793) (thanks @sagikazarmark)
- transport/amqp: Add amqp.Delivery to the request func (#802) (thanks @ValeryPiashchynski)
- transport/http: adding request and response encoders for Protobuf (#809) (thanks @jprobinson)
- tracing/zipkin: add request sampler (#813) (thanks @jcchavezs)
- tracing/opentracing: Change span injection/extraction from HTTP request (#821) (thanks @nboukeffa)
- 0️⃣ tracing/opentracing: Use opencensus' DefaultSampler instead of AlwaysSample as default (#830) (thanks @rueian)
- metrics: Make Send/Write Loop context aware (#837) (thanks @jlordiales)
- 👍 transport/awslambda: add support (#815) (thanks @suekto-andreas)
- transport/amqp: add NopResponse option (#850) (thanks @mattfung)
- 🌲 log: add a log adapter for zap.Logger (#855) (thanks @MaruHyl)
- transport: Implement transport level error handlers (#863) (thanks @sagikazarmark)
- transport/nats: Use given context in NATS endpoint (#876) (thanks @nsmith5)
- ⚡️ metrics/cloudwatch2: Update cloudwatch2 to latest upstream API (#878) (thanks @nsmith5)
📚 Documentation, examples, tests
- misc: fix a few misspellings (#797) (thanks @dvrkps)
- examples: Replace "x/net/context" import with "context" (#810) (thanks @marselester)
- ✅ metrics/prometheus: Fix test to accommodate new Prometheus metric output (#820)
- 🏁 kitgen: fix kitgen test in the windows (#840) (thanks @runner)
- 🏗 misc: add integration with builds.sr.ht (#842)
- 🌲 log/level: improve examples (#845)
- misc: code improvements (#868) (thanks @sosiska)
- ✅ sd/{etcd,etcdv3}: disable flaky integration tests (#883)
- ⚡️ README: Update Gin framework homepage url (#888) (thanks @yellowmint)
Previous changes from v0.8.0
-
🚀 A major release! Featuring NATS and AMPQ transports, many other smaller enhancements, and many bug fixes. Thanks to the 25 contributors who made big contributions to this release! 🏌️
🐛 Bug fixes
- 🛠 Fix Client.Endpoint to not cancel when bufferedStream (#776) (thanks @xescugc)
- 🛠 Fix Consul SD loop exiting on EOF (#788) (thanks @kcajmagic)
- ➕ Add backoff package and fix Consul CPU usage (#635) (thanks @nicot)
- 🛠 Fix race condition in NATS transport tests (#705) (thanks @nussjustin)
- 🛠 Fix pact test due to breaking api change (#720) (thanks @basvanbeek)
- ➕ Add FinalizerFunc to NATS transport (#790) (thanks @kirooha)
- 🛠 Fix etcdv3 registrar tests (#724) (thanks @basvanbeek)
- JSONRPC: add id from request to response (#742) (thanks @wangzuo)
- 🛠 Fix etcd import path (#756) (thanks @h8liu)
- 📦 Rename 'package log' to 'log package' to fix godoc link handling. (#765) (thanks @bx2)
✨ Enhancements
- NATS transport (#680) (thanks @kirooha)
- AMQP Transport (#746) (thanks @mattfung)
- Metrics - Influx StatsD (#664) (#688) (thanks @james-r-smith)
- HTTPClient interface (#754) (thanks @drscre)
- ➕ Add casbin for authorization (#787) (thanks @suekto-andreas)
- ➕ Add logrus adapter for Logger interface (#752) (#759) (thanks @aswinmprabhu)
- ♻️ Refactor (lint/unconvert): remove base64 call returns a string (#717) (thanks @mishudark)
- 🛠 Fix function names in JWT examples (#723) (thanks @zachwalton)
- metrics/internal/convert: use method value insetad of lambda (#767) (thanks @quasilyte)
- ✅ metrics/teststat: replace
x = x <op> y
withx <op>= y
(#769) (thanks @quasilyte) - 🛠 Fix Prometheus tests (#789)
- 👍 Circle 2.0 support (#749, #771)
📚 Documentation, examples, and testing
- 🛠 Fix minor comment typos (#687) (thanks @joe94)
- ⚡️ Update README.md with English version of website (#708) (thanks @Olliepop)
- ⚡️ Profilesvc docs update (#709) (thanks @wadearnold)
- ✂ Remove redundant statements in profilesvc example (#721) (thanks @sudo-suhas)
- ➕ Adds documentation for OpenCensus (#730) (thanks @basvanbeek)
- ➕ Add kitgen README (#743) (thanks @ermik)
- ➕ Adds GoBuffalo (#748) (thanks @1995parham)
- 🚀 Use newest Go releases for testing (#757) (thanks @ChrisHines)
- ✂ Remove context in stringsvc examples 1 & 2 (#764) (thanks @bx2)
- 🚚 metrics: remove commented-out debug code (#770) (thanks @quasilyte)
- ✂ Delete debug.test (#777) (thanks @danp)