All Versions
10
Latest Version
Avg Release Cycle
150 days
Latest Release
216 days ago

Changelog History

  • v0.10.0

    February 17, 2020
  • v0.9.0

    June 27, 2019

    ๐Ÿš€ 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)
  • v0.8.0

    November 10, 2018

    ๐Ÿš€ 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

    ๐Ÿ“š 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)
  • v0.7.0

    March 19, 2018

    ๐Ÿš€ An early 2018 release, containing several exciting new enhancements. First, we
    now have the kitgen code generation tool, for bootstrapping new services,
    thanks to the tireless efforts of @nyarly. Second, we have the long-awaited
    JSONRPC transport, due to the tireless efforts of @rossmcf, @blainsmith, and
    ๐Ÿ‘ several others. Thanks also to @senseyeio. Also, we have support for etcdv3 in
    ๐Ÿ“ฆ package sd, and a new prototype cloudwatch package for metrics.

    ๐Ÿš€ Thanks to the 16 individual contributors who have contributed to this release! ๐ŸŒ๏ธโ€โ™€๏ธ

    ๐Ÿ› Bug fixes

    โœจ Enhancements

    • cmd/kitgen: Add kitgen code generator tool (#589) -- thanks, @nyarly
    • ๐Ÿ“ฆ transport/jsonrpc: New package (#576) -- thanks, @rossmcf @blainsmith and @senseyeio
    • ๐Ÿ‘ sd/etcdv3: Add support for etcdv3 (#663) -- thanks, @cabrel
    • ๐Ÿ“ฆ metrics/cloudwatchv2: Add alternative cloudwatch package (#668) -- thanks, @nelz9999
    • ๐Ÿ‘ tracing/zipkin: Add native Zipkin tracing support (#671) -- thanks, @basvanbeek
    • ๐ŸŒฒ log: Add syslog support (#574) -- thanks, @mingan
    • transport/http: Add Server NoOpRequestDecoder (#659) -- thanks, @jdolce
    • ๐Ÿšš ratelimit: Remove dependency on juju (#622) -- thanks, @nelz9999

    ๐Ÿ“š Documentation, examples, and testing

  • v0.6.0

    October 09, 2017

    ๐Ÿ›  A late-2017 release, containing mostly small enhancements and bugfixes. The biggest change not totally reflected in the changelog below is that this release includes changes to support gRPC 1.6. There are several breaking or potentially-breaking changes, including the fact that we now support only Go 1.9 and above.

    ๐Ÿš€ Thanks to the 18 individual contributors who have contributed to this release! ๐ŸŒ๏ธโ€โ™€๏ธ

    ๐Ÿ› Bug fixes

    • ๐Ÿ’ฅ auth/jwt: MapClaims: improve API (#568) -- breaking change -- thanks, @litriv
    • transport/grpc: rm deprecated funcs (#598) -- potentially breaking change -- thanks, @travissalascox
    • auth/jwt: prevent concurrent reads and writes on MapClaims (#564)
    • transport/grpc: fix a swallowed error (#572) -- thanks, @alrs
    • metrics/cloudwatch: only send new counter values (#591) -- thanks, @feliksik
    • metrics/dogstatsd: fix for when to omit tag values (#602) -- thanks, @jfhamlin

    โœจ Enhancements

    • ๐Ÿ’ฅ Standardize names for functions moving information to and from the context (#579) -- breaking change
    • metrics/cloudwatch: partition API requests into separate concurrent batches (#540) -- thanks, @alpeb
    • ratelimit: new adapters for x/time/rate (#582) -- thanks, @nelz9999
    • sd: add Stop method to Instancer interface (#583)
    • 0๏ธโƒฃ metrics/dogstatsd: track Gauge values, and support default values (#588) -- thanks, @jfhamlin
    • metrics/cloudwatch: improve API for specifying percentiles (#599) -- thanks, @feliksik
    • auth/basic: add BasicAuth middleware (#605) -- thanks, @DimaSalakhov
    • metrics: set unit time on Timer type (#610) -- thanks, @esenac

    ๐Ÿ“š Documentation, examples, and testing

    • Go kit now only supports go1.9 and above (#613) -- potentially breaking change
    • โš™ Run Coveralls on Travis (#519)
    • โšก๏ธ Update gRPC README information about protoc and streams (#557) -- thanks, @Fanatics
    • ๐Ÿ“š Minor documentation fixes (#561)
    • โœ‚ Remove some byte order marks (#571) -- thanks, @lwalen
    • โœ… metrics/cloudwatch: Small fixes to CloudWatch tests (#573) -- thanks, @alrs
    • ๐Ÿ“ฆ examples/addsvc: improved package layout (#577)
    • โœ… log: improve tests (#581) -- thanks, @cam-stitt
    • โšก๏ธ examples: updated Thrift to latest Go library (#585) -- thanks, @basvanbeek
    • โœ… sd: fix TestDefaultEndpointer flake (#596)
    • sd: fix spelling in doc comment (#603) -- thanks, @elliotwms
    • examples/addsvc: fix typo in doc comments (#606) -- thanks, @gosharplite
    • metrics: fix missing comma in example code (#611) -- thanks, @daniel-garcia
    • โšก๏ธ auth/jwt: minor doc update (#617) -- thanks, @bcho
    • examples/addsvc: fix typo (#619) -- thanks, @karthikmuralidharan
  • v0.5.0

    June 20, 2017

    ๐Ÿ’ฅ A pre-GopherCon release, the biggest change being breaking changes to package sd. We now expose the raw instance strings from each underlying service discovery system, so that consumers can do things with them other than construct endpoints. For background, see issues #475, #403, and #209, and for the (extensive) discussion, see PR #492.

    ๐Ÿš€ Besides that, we just have a solid set of improvements and enhancements. See below for the full changelog. Huge thanks to Yuri Shkuro @yurishkuro for his tireless work on package sd, including dealing with my mercurial demands and frustratingly irregular schedule. And huge thanks to the 17 individual contributors who've contributed to this release! ๐ŸŒ๏ธโ€โ™€๏ธ

    ๐Ÿ› Bug fixes

    • โšก๏ธ log: Update NewSyncWriter to work with term.IsTerminal (#501) โ€” thanks, @ChrisHines
    • ๐Ÿšš metrics/prometheus: move handlers to promhttp (#497) โ€” thanks, @kavirajk

    โœจ Enhancements

    • ๐Ÿ‘ sd: Support push model for service discovery (#492) โ€” thanks, @yurishkuro
    • sd: add Eureka SD implementation (#504) โ€” thanks, @martinbaillie
    • โฌ†๏ธ transport/http: upgrade go1.7 ctxhttp to req.WithContext (#535) โ€” thanks, @stanxii
    • transport/http: add client finalizer (#533) โ€” thanks, @travissalascox
    • transport/http: make request Accept header available in context (#516)
    • ๐Ÿšš transport/grpc: remove autoprefixing logic (#524) โ€” thanks, @terinjokes
    • auth/jwt: Add *WithClaims methods to jwt middleware (#488) โ€” thanks, @cam-stitt
    • ๐Ÿ“œ auth/jwt: Improved error handling on jwt.NewParser (#521) โ€” thanks, @basvanbeek
    • metrics: Cloudwatch metrics (#495) โ€” thanks, @cam-stitt
    • ๐ŸŒฒ log: Add TimestampFormat and TimeFormat (#514) โ€” thanks, @ChrisHines
    • ๐ŸŒฒ log: Add msys2/cygwin terminal detection support (#485) โ€” thanks, @ereOn

    ๐Ÿ“š Documentation, examples, and testing

    • โœ… sd: test fixes (#544, #547, #548, #550) โ€” thanks, @yurishkuro
    • ๐Ÿšš log/level: Remove log.NewContext mention from log/level docs (#493) โ€” thanks, @narqo
    • โœ… log/level: fix typo in level test cases (#520) โ€” thanks, @SimonRichardson
    • examples/shipping: header should set before WriteHeader (#538) โ€” thanks, @bcho
    • ๐ŸŒฒ examples/shipping: use log.NewSyncWriter in example (#522) โ€” thanks, @terinjokes
    • examples/addsvc: Fix typo in addsvc's doc block (#518) โ€” thanks, @annismckenzie
    • ๐Ÿšš README: Remove h2 framework from Service frameworks (#532) โ€” thanks, @NoahZhang
    • โšก๏ธ misc: Install latest by default on Travis and update go for CircleCI (#536) โ€” thanks, @suyash
    • misc: Use more consistent CircleCI badge (#517) โ€” thanks, @kevgo
  • v0.4.0

    March 08, 2017

    ๐Ÿ›  Another substantial Go kit release, with a handful of bugfixes and some major enhancements.

    We now use stdlib package context wherever possible โ€” basically, everywhere except package transport/grpc, as gRPC still imports golang.org/x/net/context and we don't have a choice but to comply. Still, there are ways to bridge the gap: see examples/addsvc for details. This means Go kit now requires Go 1.7 or above.

    โœ‚ The other major changes in this release involve package log. We've removed NewContext and the Context type , preferring With and WithPrefix helper functions. Also, we've promoted the experiemental level package to package level, and deprecated the old levels package to deprecated_levels. I'm really happy with this: it's a slightly esoteric, but really clean and literate way to compose levels with Go kit's package log. Give it a shot!

    ๐Ÿš€ For the full changelog, see below. My enormous gratitude goes to Chris Hines @ChrisHines for his expert work on package log, and to Bas van Beek @basvanbeek for his expert work on packages tracing and transport/grpc. And huge thanks to the 22 individual contributors who've contributed to this release! ๐ŸŒ๏ธโ€โ™€๏ธ

    ๐Ÿ› Bug fixes

    • ๐ŸŒฒ log/term/colorlogger: Reset bold attribute (#399) - thanks, @serge-v
    • metrics/influx: Fix global tags (#404) โ€” thanks, @kihamo
    • metrics/generic: make goroutine-safe (#424) โ€” thanks, @gaplyk
    • metrics/generic: actually track metric name thru With invocations (#455) โ€” thanks, @yurishkuro

    โœจ Enhancements

    • ๐Ÿ‘‰ Use stdlib context where possible (#421, #480)
    • ๐Ÿšš log: remove Context type, prefer With/WithPrefix helpers (#481)
    • 0๏ธโƒฃ log: DefaultTimestamp becomes nano-precision (#430) โ€” thanks, @willfaught
    • 0๏ธโƒฃ log: DefaultCaller key becomes "caller" (#439) โ€” thanks, @willfaught
    • ๐Ÿ“ฆ log/level: brand new leveled logging package (#401, #454, #470, #476) โ€” thanks, @groob
    • metrics: Gauge gets an Add method (#393) โ€” thanks, @hardcoar, @dlmiddlecote
    • โœ… metrics/circonus: rm :( it was racy, difficult to test, and broke often (#442)
    • sd/etcd: add TTL (#413) โ€” thanks, @buptmiao
    • transport: ServerBefore/ServerAfter can be repeated (#467, #479) โ€” thanks, @djgilcrease
    • transport/grpc: improve error handling (#389) โ€” thanks, @kushtrimjunuzi
    • ๐Ÿ‘ transport/grpc: support Server Response Headers and Trailers (#479)
    • transport/http: add ServerFinalizer (#394, #405, #408, #461) โ€” thanks, @konradreiche, @xla, @drscre
    • โœจ transport/http: enhance ErrorEncoder: support StatusCoder, Headerer, json.Marshaler interfaces (#414)
    • transport/http: don't encode JSON response with StatusNoContent (#436) โ€” thanks, @groob
    • transport/http: add EncodeJSONRequest helper (#440) โ€” thanks, @willfaught
    • transport/http: add EncodeXMLRequest (#456) โ€” thanks, and condolences, to @gaplyk

    ๐Ÿ“š Documentation, examples, and testing

    • examples/addsvc: correct typo (#396) โ€” thanks, @patterns
    • examples/shipping: fix reciever name (#473) โ€” thanks, @kisPocok
    • ๐Ÿ“š log: improve documentation (#429)
    • ๐Ÿ“š metrics: fix documentation (#406, #417) โ€” thanks, @Artmann
    • ๐Ÿ“„ metrics/graphite: fix typo in docs (#450) โ€” thanks, @jkakar
    • tracing/zipkin: document new, easier Zipkin HTTP tracing collector (#466)
    • ๐Ÿ“„ tracing/zipkin: fix typo in Zipkin docs (#469) โ€” thanks, @frozzare
    • โœ… Testing: fixes for Go report card (#395)
    • โœ… Testing: run integration tests on Circle (#372, #416) โ€” thanks, @rodrigosaito
    • ๐Ÿณ Testing: use docker-compose 1.10 in integration environment (#448)
    • โœ… Testing: improve coverprofile wildcard in gitignore (#458) โ€” thanks, @travissalascox
    • โœ… Testing: Drone.io is no more :( (#468) โ€” thanks, @17twenty
    • โฌ†๏ธ Testing: Upgrade CI to use go1.7.5 and go1.8 (#471)
  • v0.3.0

    November 15, 2016

    ๐Ÿš€ An incremental, if large, release of Go kit. With contributions from @basvanbeek, @bbrazil, @briankassouf, @cam-stitt, @dvrkps, @everesio, @Fenthick, @groob, @jstordeur, @kpacha, @marcusolsson, @mishudark, @peterbourgon, @rossmcf, @suyash, and @xla. Thanks, contributors!

    ๐Ÿ› Bug fixes

    • ๐Ÿ›  Fix synchronization bug in metrics/generic.Histogram (#392)
    • ๐Ÿ›  Fixes tracking changes to OpenTracing (#387, #374, #339)
    • ๐Ÿ›  Fixes and improvements to package metrics/influx (#369)
    • Correct HTTP tags in distributed tracing spans (#375)
    • ๐Ÿ›  Fix some dead and breaking code in package sd/consul (#371)
    • ๐Ÿ›  Fix panic on inconsistent label cardinality (#365)
    • ๐Ÿ›  Fix To/From mixup in package tracing (#348)

    โœจ Enhancements

    • โ™ป๏ธ Completely refactor package metrics (#313) โ˜…
    • โž• Add package auth/jwt (#335)
    • โž• Add package metrics/pcp for Intel Performance CoPilot (#363)
    • โž• Add package log/experimental_level (#357)
    • Custom error behavior for lb.Retry (#370)
    • โšก๏ธ Update examples/shipping (#388)
    • ๐Ÿ›  Go Report Card fixes (#379)
    • โœ‚ Remove unused errors from package endpoint (#361)
    • โž• Add metrics.Timer (#358)
    • โž• Add better unit tests for package sd/etcd.Client (#344)

    ๐Ÿ“š Documentation

    • ๐Ÿ“ฆ Clarify comments in package metrics (#342)
    • ๐Ÿ›  Fix typo in package auth/jwt docs (#385)
    • ๐Ÿ›  Fix typo in package log docs (#380, #351)
    • ๐Ÿ›  Fix typo in package metrics/expvar docs #356
    • ๐Ÿ“ฆ Provide better initial guidance in package circuitbreaker docs (#345)
  • v0.2.0

    August 02, 2016

    ๐Ÿš€ An incremental release of Go kit. With contributions from @Ayiga, @basvanbeek, @ChrisHines, @eblanchette, @ifraixedes, @jygastaud, @LennartOlsen, @peterbourgon, and @xmattstrongx. Thanks, contributors!

    ๐Ÿ› Bug fixes

    • util/conn: fix Manager behavior when initial Dial fails (#293)
    • ๐Ÿ›  Fixes tracking changes to OpenTracing (#330, #315, #314, #311, #306)
    • ๐Ÿ›  Fixes and improvements to package etcd tests (#329)

    โœจ Enhancements

    • ๐Ÿ”€ Simple sync log (#327)
    • ๐ŸŒฒ Do not log "SpanContext not found in Extract carrier" (#316)
    • ๐Ÿ‘Œ Improvements to transports and contexts, especially gRPC (#303)
    • sd etcd register/deregister implementation (#299)

    ๐Ÿ“š Documentation

    • ๐Ÿ›  Some small fixes on Profilesvc example (#318)
    • โž• Adding testable example documention (#317)
    • โœ‚ Removed url.QueryEscape from the make*Endpoint functions (#309)
    • ๐Ÿ›  Fix typos (#307)
    • ๐Ÿ“š Update documentation throughout the project (#301)
    • โšก๏ธ Update client.go concatEndpoint (#297)
    • examples/addsvc: recompile protobufs (#296)
  • v0.1.0

    June 07, 2016

    ๐Ÿš€ The initial semver-compatible tagged release of Go kit. See #279.