planetscale 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (378) hide show
  1. checksums.yaml +7 -0
  2. data/.github/workflows/ci.yml +24 -0
  3. data/.github/workflows/gem-push.yml +38 -0
  4. data/.github/workflows/licensed.yml +43 -0
  5. data/.gitignore +10 -0
  6. data/.licensed.yml +9 -0
  7. data/.licenses/go/github.com/armon/circbuf.dep.yml +31 -0
  8. data/.licenses/go/github.com/gorilla/mux.dep.yml +41 -0
  9. data/.licenses/go/github.com/hashicorp/go-cleanhttp.dep.yml +375 -0
  10. data/.licenses/go/github.com/mitchellh/go-homedir.dep.yml +32 -0
  11. data/.licenses/go/github.com/pkg/errors.dep.yml +36 -0
  12. data/.licenses/go/github.com/planetscale/planetscale-go/planetscale.dep.yml +160 -0
  13. data/.licenses/go/github.com/planetscale/sql-proxy/proxy.dep.yml +180 -0
  14. data/.licenses/go/go.uber.org/atomic.dep.yml +31 -0
  15. data/.licenses/go/go.uber.org/multierr.dep.yml +30 -0
  16. data/.licenses/go/go.uber.org/zap.dep.yml +30 -0
  17. data/.licenses/go/go.uber.org/zap/buffer.dep.yml +30 -0
  18. data/.licenses/go/go.uber.org/zap/internal/bufferpool.dep.yml +30 -0
  19. data/.licenses/go/go.uber.org/zap/internal/color.dep.yml +30 -0
  20. data/.licenses/go/go.uber.org/zap/internal/exit.dep.yml +31 -0
  21. data/.licenses/go/go.uber.org/zap/zapcore.dep.yml +31 -0
  22. data/.licenses/go/golang.org/x/net/context/ctxhttp.dep.yml +63 -0
  23. data/.licenses/go/golang.org/x/oauth2.dep.yml +44 -0
  24. data/.licenses/go/golang.org/x/oauth2/internal.dep.yml +38 -0
  25. data/.ruby_version +1 -0
  26. data/Gemfile +8 -0
  27. data/LICENSE +201 -0
  28. data/README.md +88 -0
  29. data/Rakefile +10 -0
  30. data/bin/console +15 -0
  31. data/bin/setup +17 -0
  32. data/controller.go +255 -0
  33. data/go.mod +16 -0
  34. data/go.sum +428 -0
  35. data/lib/generators/planetscale/install_generator.rb +58 -0
  36. data/lib/planetscale.rb +137 -0
  37. data/lib/planetscale/version.rb +5 -0
  38. data/planetscale.gemspec +44 -0
  39. data/proxy.go +128 -0
  40. data/vendor/github.com/armon/circbuf/.gitignore +22 -0
  41. data/vendor/github.com/armon/circbuf/LICENSE +20 -0
  42. data/vendor/github.com/armon/circbuf/README.md +28 -0
  43. data/vendor/github.com/armon/circbuf/circbuf.go +92 -0
  44. data/vendor/github.com/armon/circbuf/go.mod +1 -0
  45. data/vendor/github.com/golang/protobuf/AUTHORS +3 -0
  46. data/vendor/github.com/golang/protobuf/CONTRIBUTORS +3 -0
  47. data/vendor/github.com/golang/protobuf/LICENSE +28 -0
  48. data/vendor/github.com/golang/protobuf/proto/buffer.go +324 -0
  49. data/vendor/github.com/golang/protobuf/proto/defaults.go +63 -0
  50. data/vendor/github.com/golang/protobuf/proto/deprecated.go +113 -0
  51. data/vendor/github.com/golang/protobuf/proto/discard.go +58 -0
  52. data/vendor/github.com/golang/protobuf/proto/extensions.go +356 -0
  53. data/vendor/github.com/golang/protobuf/proto/properties.go +306 -0
  54. data/vendor/github.com/golang/protobuf/proto/proto.go +167 -0
  55. data/vendor/github.com/golang/protobuf/proto/registry.go +317 -0
  56. data/vendor/github.com/golang/protobuf/proto/text_decode.go +801 -0
  57. data/vendor/github.com/golang/protobuf/proto/text_encode.go +560 -0
  58. data/vendor/github.com/golang/protobuf/proto/wire.go +78 -0
  59. data/vendor/github.com/golang/protobuf/proto/wrappers.go +34 -0
  60. data/vendor/github.com/gorilla/mux/AUTHORS +8 -0
  61. data/vendor/github.com/gorilla/mux/LICENSE +27 -0
  62. data/vendor/github.com/gorilla/mux/README.md +805 -0
  63. data/vendor/github.com/gorilla/mux/doc.go +306 -0
  64. data/vendor/github.com/gorilla/mux/go.mod +3 -0
  65. data/vendor/github.com/gorilla/mux/middleware.go +74 -0
  66. data/vendor/github.com/gorilla/mux/mux.go +606 -0
  67. data/vendor/github.com/gorilla/mux/regexp.go +388 -0
  68. data/vendor/github.com/gorilla/mux/route.go +736 -0
  69. data/vendor/github.com/gorilla/mux/test_helpers.go +19 -0
  70. data/vendor/github.com/hashicorp/go-cleanhttp/LICENSE +363 -0
  71. data/vendor/github.com/hashicorp/go-cleanhttp/README.md +30 -0
  72. data/vendor/github.com/hashicorp/go-cleanhttp/cleanhttp.go +58 -0
  73. data/vendor/github.com/hashicorp/go-cleanhttp/doc.go +20 -0
  74. data/vendor/github.com/hashicorp/go-cleanhttp/go.mod +3 -0
  75. data/vendor/github.com/hashicorp/go-cleanhttp/handlers.go +48 -0
  76. data/vendor/github.com/mitchellh/go-homedir/LICENSE +21 -0
  77. data/vendor/github.com/mitchellh/go-homedir/README.md +14 -0
  78. data/vendor/github.com/mitchellh/go-homedir/go.mod +1 -0
  79. data/vendor/github.com/mitchellh/go-homedir/homedir.go +167 -0
  80. data/vendor/github.com/pkg/errors/.gitignore +24 -0
  81. data/vendor/github.com/pkg/errors/.travis.yml +10 -0
  82. data/vendor/github.com/pkg/errors/LICENSE +23 -0
  83. data/vendor/github.com/pkg/errors/Makefile +44 -0
  84. data/vendor/github.com/pkg/errors/README.md +59 -0
  85. data/vendor/github.com/pkg/errors/appveyor.yml +32 -0
  86. data/vendor/github.com/pkg/errors/errors.go +288 -0
  87. data/vendor/github.com/pkg/errors/go113.go +38 -0
  88. data/vendor/github.com/pkg/errors/stack.go +177 -0
  89. data/vendor/github.com/planetscale/planetscale-go/planetscale/backups.go +139 -0
  90. data/vendor/github.com/planetscale/planetscale-go/planetscale/branches.go +258 -0
  91. data/vendor/github.com/planetscale/planetscale-go/planetscale/certs.go +142 -0
  92. data/vendor/github.com/planetscale/planetscale-go/planetscale/client.go +305 -0
  93. data/vendor/github.com/planetscale/planetscale-go/planetscale/databases.go +131 -0
  94. data/vendor/github.com/planetscale/planetscale-go/planetscale/deploy_requests.go +368 -0
  95. data/vendor/github.com/planetscale/planetscale-go/planetscale/organizations.go +78 -0
  96. data/vendor/github.com/planetscale/planetscale-go/planetscale/service_tokens.go +163 -0
  97. data/vendor/github.com/planetscale/sql-proxy/proxy/client.go +467 -0
  98. data/vendor/github.com/planetscale/sql-proxy/proxy/tls_cache.go +73 -0
  99. data/vendor/go.uber.org/atomic/.codecov.yml +19 -0
  100. data/vendor/go.uber.org/atomic/.gitignore +12 -0
  101. data/vendor/go.uber.org/atomic/.travis.yml +27 -0
  102. data/vendor/go.uber.org/atomic/CHANGELOG.md +76 -0
  103. data/vendor/go.uber.org/atomic/LICENSE.txt +19 -0
  104. data/vendor/go.uber.org/atomic/Makefile +78 -0
  105. data/vendor/go.uber.org/atomic/README.md +63 -0
  106. data/vendor/go.uber.org/atomic/bool.go +81 -0
  107. data/vendor/go.uber.org/atomic/bool_ext.go +53 -0
  108. data/vendor/go.uber.org/atomic/doc.go +23 -0
  109. data/vendor/go.uber.org/atomic/duration.go +82 -0
  110. data/vendor/go.uber.org/atomic/duration_ext.go +40 -0
  111. data/vendor/go.uber.org/atomic/error.go +51 -0
  112. data/vendor/go.uber.org/atomic/error_ext.go +39 -0
  113. data/vendor/go.uber.org/atomic/float64.go +76 -0
  114. data/vendor/go.uber.org/atomic/float64_ext.go +47 -0
  115. data/vendor/go.uber.org/atomic/gen.go +26 -0
  116. data/vendor/go.uber.org/atomic/go.mod +8 -0
  117. data/vendor/go.uber.org/atomic/go.sum +9 -0
  118. data/vendor/go.uber.org/atomic/int32.go +102 -0
  119. data/vendor/go.uber.org/atomic/int64.go +102 -0
  120. data/vendor/go.uber.org/atomic/nocmp.go +35 -0
  121. data/vendor/go.uber.org/atomic/string.go +54 -0
  122. data/vendor/go.uber.org/atomic/string_ext.go +43 -0
  123. data/vendor/go.uber.org/atomic/uint32.go +102 -0
  124. data/vendor/go.uber.org/atomic/uint64.go +102 -0
  125. data/vendor/go.uber.org/atomic/value.go +31 -0
  126. data/vendor/go.uber.org/multierr/.codecov.yml +15 -0
  127. data/vendor/go.uber.org/multierr/.gitignore +4 -0
  128. data/vendor/go.uber.org/multierr/.travis.yml +23 -0
  129. data/vendor/go.uber.org/multierr/CHANGELOG.md +60 -0
  130. data/vendor/go.uber.org/multierr/LICENSE.txt +19 -0
  131. data/vendor/go.uber.org/multierr/Makefile +42 -0
  132. data/vendor/go.uber.org/multierr/README.md +23 -0
  133. data/vendor/go.uber.org/multierr/error.go +449 -0
  134. data/vendor/go.uber.org/multierr/glide.yaml +8 -0
  135. data/vendor/go.uber.org/multierr/go.mod +8 -0
  136. data/vendor/go.uber.org/multierr/go.sum +11 -0
  137. data/vendor/go.uber.org/multierr/go113.go +52 -0
  138. data/vendor/go.uber.org/zap/.codecov.yml +17 -0
  139. data/vendor/go.uber.org/zap/.gitignore +32 -0
  140. data/vendor/go.uber.org/zap/.readme.tmpl +109 -0
  141. data/vendor/go.uber.org/zap/.travis.yml +23 -0
  142. data/vendor/go.uber.org/zap/CHANGELOG.md +432 -0
  143. data/vendor/go.uber.org/zap/CODE_OF_CONDUCT.md +75 -0
  144. data/vendor/go.uber.org/zap/CONTRIBUTING.md +81 -0
  145. data/vendor/go.uber.org/zap/FAQ.md +156 -0
  146. data/vendor/go.uber.org/zap/LICENSE.txt +19 -0
  147. data/vendor/go.uber.org/zap/Makefile +63 -0
  148. data/vendor/go.uber.org/zap/README.md +134 -0
  149. data/vendor/go.uber.org/zap/array.go +320 -0
  150. data/vendor/go.uber.org/zap/buffer/buffer.go +123 -0
  151. data/vendor/go.uber.org/zap/buffer/pool.go +49 -0
  152. data/vendor/go.uber.org/zap/checklicense.sh +17 -0
  153. data/vendor/go.uber.org/zap/config.go +264 -0
  154. data/vendor/go.uber.org/zap/doc.go +113 -0
  155. data/vendor/go.uber.org/zap/encoder.go +79 -0
  156. data/vendor/go.uber.org/zap/error.go +80 -0
  157. data/vendor/go.uber.org/zap/field.go +539 -0
  158. data/vendor/go.uber.org/zap/flag.go +39 -0
  159. data/vendor/go.uber.org/zap/glide.yaml +34 -0
  160. data/vendor/go.uber.org/zap/global.go +168 -0
  161. data/vendor/go.uber.org/zap/global_go112.go +26 -0
  162. data/vendor/go.uber.org/zap/global_prego112.go +26 -0
  163. data/vendor/go.uber.org/zap/go.mod +13 -0
  164. data/vendor/go.uber.org/zap/go.sum +56 -0
  165. data/vendor/go.uber.org/zap/http_handler.go +81 -0
  166. data/vendor/go.uber.org/zap/internal/bufferpool/bufferpool.go +31 -0
  167. data/vendor/go.uber.org/zap/internal/color/color.go +44 -0
  168. data/vendor/go.uber.org/zap/internal/exit/exit.go +64 -0
  169. data/vendor/go.uber.org/zap/level.go +132 -0
  170. data/vendor/go.uber.org/zap/logger.go +344 -0
  171. data/vendor/go.uber.org/zap/options.go +140 -0
  172. data/vendor/go.uber.org/zap/sink.go +161 -0
  173. data/vendor/go.uber.org/zap/stacktrace.go +85 -0
  174. data/vendor/go.uber.org/zap/sugar.go +304 -0
  175. data/vendor/go.uber.org/zap/time.go +27 -0
  176. data/vendor/go.uber.org/zap/writer.go +99 -0
  177. data/vendor/go.uber.org/zap/zapcore/console_encoder.go +161 -0
  178. data/vendor/go.uber.org/zap/zapcore/core.go +113 -0
  179. data/vendor/go.uber.org/zap/zapcore/doc.go +24 -0
  180. data/vendor/go.uber.org/zap/zapcore/encoder.go +443 -0
  181. data/vendor/go.uber.org/zap/zapcore/entry.go +264 -0
  182. data/vendor/go.uber.org/zap/zapcore/error.go +115 -0
  183. data/vendor/go.uber.org/zap/zapcore/field.go +227 -0
  184. data/vendor/go.uber.org/zap/zapcore/hook.go +68 -0
  185. data/vendor/go.uber.org/zap/zapcore/increase_level.go +66 -0
  186. data/vendor/go.uber.org/zap/zapcore/json_encoder.go +534 -0
  187. data/vendor/go.uber.org/zap/zapcore/level.go +175 -0
  188. data/vendor/go.uber.org/zap/zapcore/level_strings.go +46 -0
  189. data/vendor/go.uber.org/zap/zapcore/marshaler.go +61 -0
  190. data/vendor/go.uber.org/zap/zapcore/memory_encoder.go +179 -0
  191. data/vendor/go.uber.org/zap/zapcore/sampler.go +208 -0
  192. data/vendor/go.uber.org/zap/zapcore/tee.go +81 -0
  193. data/vendor/go.uber.org/zap/zapcore/write_syncer.go +123 -0
  194. data/vendor/golang.org/x/net/AUTHORS +3 -0
  195. data/vendor/golang.org/x/net/CONTRIBUTORS +3 -0
  196. data/vendor/golang.org/x/net/LICENSE +27 -0
  197. data/vendor/golang.org/x/net/PATENTS +22 -0
  198. data/vendor/golang.org/x/net/context/context.go +56 -0
  199. data/vendor/golang.org/x/net/context/ctxhttp/ctxhttp.go +71 -0
  200. data/vendor/golang.org/x/net/context/go17.go +73 -0
  201. data/vendor/golang.org/x/net/context/go19.go +21 -0
  202. data/vendor/golang.org/x/net/context/pre_go17.go +301 -0
  203. data/vendor/golang.org/x/net/context/pre_go19.go +110 -0
  204. data/vendor/golang.org/x/oauth2/.travis.yml +13 -0
  205. data/vendor/golang.org/x/oauth2/AUTHORS +3 -0
  206. data/vendor/golang.org/x/oauth2/CONTRIBUTING.md +26 -0
  207. data/vendor/golang.org/x/oauth2/CONTRIBUTORS +3 -0
  208. data/vendor/golang.org/x/oauth2/LICENSE +27 -0
  209. data/vendor/golang.org/x/oauth2/README.md +36 -0
  210. data/vendor/golang.org/x/oauth2/go.mod +9 -0
  211. data/vendor/golang.org/x/oauth2/go.sum +361 -0
  212. data/vendor/golang.org/x/oauth2/internal/client_appengine.go +14 -0
  213. data/vendor/golang.org/x/oauth2/internal/doc.go +6 -0
  214. data/vendor/golang.org/x/oauth2/internal/oauth2.go +37 -0
  215. data/vendor/golang.org/x/oauth2/internal/token.go +294 -0
  216. data/vendor/golang.org/x/oauth2/internal/transport.go +33 -0
  217. data/vendor/golang.org/x/oauth2/oauth2.go +381 -0
  218. data/vendor/golang.org/x/oauth2/token.go +178 -0
  219. data/vendor/golang.org/x/oauth2/transport.go +89 -0
  220. data/vendor/google.golang.org/appengine/LICENSE +202 -0
  221. data/vendor/google.golang.org/appengine/internal/api.go +678 -0
  222. data/vendor/google.golang.org/appengine/internal/api_classic.go +169 -0
  223. data/vendor/google.golang.org/appengine/internal/api_common.go +123 -0
  224. data/vendor/google.golang.org/appengine/internal/app_id.go +28 -0
  225. data/vendor/google.golang.org/appengine/internal/base/api_base.pb.go +308 -0
  226. data/vendor/google.golang.org/appengine/internal/base/api_base.proto +33 -0
  227. data/vendor/google.golang.org/appengine/internal/datastore/datastore_v3.pb.go +4367 -0
  228. data/vendor/google.golang.org/appengine/internal/datastore/datastore_v3.proto +551 -0
  229. data/vendor/google.golang.org/appengine/internal/identity.go +55 -0
  230. data/vendor/google.golang.org/appengine/internal/identity_classic.go +61 -0
  231. data/vendor/google.golang.org/appengine/internal/identity_flex.go +11 -0
  232. data/vendor/google.golang.org/appengine/internal/identity_vm.go +134 -0
  233. data/vendor/google.golang.org/appengine/internal/internal.go +110 -0
  234. data/vendor/google.golang.org/appengine/internal/log/log_service.pb.go +1313 -0
  235. data/vendor/google.golang.org/appengine/internal/log/log_service.proto +150 -0
  236. data/vendor/google.golang.org/appengine/internal/main.go +16 -0
  237. data/vendor/google.golang.org/appengine/internal/main_common.go +7 -0
  238. data/vendor/google.golang.org/appengine/internal/main_vm.go +69 -0
  239. data/vendor/google.golang.org/appengine/internal/metadata.go +60 -0
  240. data/vendor/google.golang.org/appengine/internal/net.go +56 -0
  241. data/vendor/google.golang.org/appengine/internal/regen.sh +40 -0
  242. data/vendor/google.golang.org/appengine/internal/remote_api/remote_api.pb.go +361 -0
  243. data/vendor/google.golang.org/appengine/internal/remote_api/remote_api.proto +44 -0
  244. data/vendor/google.golang.org/appengine/internal/transaction.go +115 -0
  245. data/vendor/google.golang.org/appengine/internal/urlfetch/urlfetch_service.pb.go +527 -0
  246. data/vendor/google.golang.org/appengine/internal/urlfetch/urlfetch_service.proto +64 -0
  247. data/vendor/google.golang.org/appengine/urlfetch/urlfetch.go +210 -0
  248. data/vendor/google.golang.org/protobuf/AUTHORS +3 -0
  249. data/vendor/google.golang.org/protobuf/CONTRIBUTORS +3 -0
  250. data/vendor/google.golang.org/protobuf/LICENSE +27 -0
  251. data/vendor/google.golang.org/protobuf/PATENTS +22 -0
  252. data/vendor/google.golang.org/protobuf/encoding/prototext/decode.go +773 -0
  253. data/vendor/google.golang.org/protobuf/encoding/prototext/doc.go +7 -0
  254. data/vendor/google.golang.org/protobuf/encoding/prototext/encode.go +371 -0
  255. data/vendor/google.golang.org/protobuf/encoding/protowire/wire.go +538 -0
  256. data/vendor/google.golang.org/protobuf/internal/descfmt/stringer.go +318 -0
  257. data/vendor/google.golang.org/protobuf/internal/descopts/options.go +29 -0
  258. data/vendor/google.golang.org/protobuf/internal/detrand/rand.go +69 -0
  259. data/vendor/google.golang.org/protobuf/internal/encoding/defval/default.go +213 -0
  260. data/vendor/google.golang.org/protobuf/internal/encoding/messageset/messageset.go +241 -0
  261. data/vendor/google.golang.org/protobuf/internal/encoding/tag/tag.go +207 -0
  262. data/vendor/google.golang.org/protobuf/internal/encoding/text/decode.go +665 -0
  263. data/vendor/google.golang.org/protobuf/internal/encoding/text/decode_number.go +190 -0
  264. data/vendor/google.golang.org/protobuf/internal/encoding/text/decode_string.go +161 -0
  265. data/vendor/google.golang.org/protobuf/internal/encoding/text/decode_token.go +373 -0
  266. data/vendor/google.golang.org/protobuf/internal/encoding/text/doc.go +29 -0
  267. data/vendor/google.golang.org/protobuf/internal/encoding/text/encode.go +265 -0
  268. data/vendor/google.golang.org/protobuf/internal/errors/errors.go +89 -0
  269. data/vendor/google.golang.org/protobuf/internal/errors/is_go112.go +39 -0
  270. data/vendor/google.golang.org/protobuf/internal/errors/is_go113.go +12 -0
  271. data/vendor/google.golang.org/protobuf/internal/filedesc/build.go +158 -0
  272. data/vendor/google.golang.org/protobuf/internal/filedesc/desc.go +631 -0
  273. data/vendor/google.golang.org/protobuf/internal/filedesc/desc_init.go +471 -0
  274. data/vendor/google.golang.org/protobuf/internal/filedesc/desc_lazy.go +704 -0
  275. data/vendor/google.golang.org/protobuf/internal/filedesc/desc_list.go +450 -0
  276. data/vendor/google.golang.org/protobuf/internal/filedesc/desc_list_gen.go +356 -0
  277. data/vendor/google.golang.org/protobuf/internal/filedesc/placeholder.go +107 -0
  278. data/vendor/google.golang.org/protobuf/internal/filetype/build.go +297 -0
  279. data/vendor/google.golang.org/protobuf/internal/flags/flags.go +24 -0
  280. data/vendor/google.golang.org/protobuf/internal/flags/proto_legacy_disable.go +9 -0
  281. data/vendor/google.golang.org/protobuf/internal/flags/proto_legacy_enable.go +9 -0
  282. data/vendor/google.golang.org/protobuf/internal/genid/any_gen.go +34 -0
  283. data/vendor/google.golang.org/protobuf/internal/genid/api_gen.go +106 -0
  284. data/vendor/google.golang.org/protobuf/internal/genid/descriptor_gen.go +829 -0
  285. data/vendor/google.golang.org/protobuf/internal/genid/doc.go +11 -0
  286. data/vendor/google.golang.org/protobuf/internal/genid/duration_gen.go +34 -0
  287. data/vendor/google.golang.org/protobuf/internal/genid/empty_gen.go +19 -0
  288. data/vendor/google.golang.org/protobuf/internal/genid/field_mask_gen.go +31 -0
  289. data/vendor/google.golang.org/protobuf/internal/genid/goname.go +25 -0
  290. data/vendor/google.golang.org/protobuf/internal/genid/map_entry.go +16 -0
  291. data/vendor/google.golang.org/protobuf/internal/genid/source_context_gen.go +31 -0
  292. data/vendor/google.golang.org/protobuf/internal/genid/struct_gen.go +116 -0
  293. data/vendor/google.golang.org/protobuf/internal/genid/timestamp_gen.go +34 -0
  294. data/vendor/google.golang.org/protobuf/internal/genid/type_gen.go +184 -0
  295. data/vendor/google.golang.org/protobuf/internal/genid/wrappers.go +13 -0
  296. data/vendor/google.golang.org/protobuf/internal/genid/wrappers_gen.go +175 -0
  297. data/vendor/google.golang.org/protobuf/internal/impl/api_export.go +177 -0
  298. data/vendor/google.golang.org/protobuf/internal/impl/checkinit.go +141 -0
  299. data/vendor/google.golang.org/protobuf/internal/impl/codec_extension.go +223 -0
  300. data/vendor/google.golang.org/protobuf/internal/impl/codec_field.go +830 -0
  301. data/vendor/google.golang.org/protobuf/internal/impl/codec_gen.go +5637 -0
  302. data/vendor/google.golang.org/protobuf/internal/impl/codec_map.go +388 -0
  303. data/vendor/google.golang.org/protobuf/internal/impl/codec_map_go111.go +37 -0
  304. data/vendor/google.golang.org/protobuf/internal/impl/codec_map_go112.go +11 -0
  305. data/vendor/google.golang.org/protobuf/internal/impl/codec_message.go +217 -0
  306. data/vendor/google.golang.org/protobuf/internal/impl/codec_messageset.go +123 -0
  307. data/vendor/google.golang.org/protobuf/internal/impl/codec_reflect.go +209 -0
  308. data/vendor/google.golang.org/protobuf/internal/impl/codec_tables.go +557 -0
  309. data/vendor/google.golang.org/protobuf/internal/impl/codec_unsafe.go +17 -0
  310. data/vendor/google.golang.org/protobuf/internal/impl/convert.go +496 -0
  311. data/vendor/google.golang.org/protobuf/internal/impl/convert_list.go +141 -0
  312. data/vendor/google.golang.org/protobuf/internal/impl/convert_map.go +121 -0
  313. data/vendor/google.golang.org/protobuf/internal/impl/decode.go +276 -0
  314. data/vendor/google.golang.org/protobuf/internal/impl/encode.go +201 -0
  315. data/vendor/google.golang.org/protobuf/internal/impl/enum.go +21 -0
  316. data/vendor/google.golang.org/protobuf/internal/impl/extension.go +156 -0
  317. data/vendor/google.golang.org/protobuf/internal/impl/legacy_enum.go +219 -0
  318. data/vendor/google.golang.org/protobuf/internal/impl/legacy_export.go +92 -0
  319. data/vendor/google.golang.org/protobuf/internal/impl/legacy_extension.go +176 -0
  320. data/vendor/google.golang.org/protobuf/internal/impl/legacy_file.go +81 -0
  321. data/vendor/google.golang.org/protobuf/internal/impl/legacy_message.go +558 -0
  322. data/vendor/google.golang.org/protobuf/internal/impl/merge.go +176 -0
  323. data/vendor/google.golang.org/protobuf/internal/impl/merge_gen.go +209 -0
  324. data/vendor/google.golang.org/protobuf/internal/impl/message.go +276 -0
  325. data/vendor/google.golang.org/protobuf/internal/impl/message_reflect.go +465 -0
  326. data/vendor/google.golang.org/protobuf/internal/impl/message_reflect_field.go +543 -0
  327. data/vendor/google.golang.org/protobuf/internal/impl/message_reflect_gen.go +249 -0
  328. data/vendor/google.golang.org/protobuf/internal/impl/pointer_reflect.go +178 -0
  329. data/vendor/google.golang.org/protobuf/internal/impl/pointer_unsafe.go +174 -0
  330. data/vendor/google.golang.org/protobuf/internal/impl/validate.go +576 -0
  331. data/vendor/google.golang.org/protobuf/internal/impl/weak.go +74 -0
  332. data/vendor/google.golang.org/protobuf/internal/order/order.go +89 -0
  333. data/vendor/google.golang.org/protobuf/internal/order/range.go +115 -0
  334. data/vendor/google.golang.org/protobuf/internal/pragma/pragma.go +29 -0
  335. data/vendor/google.golang.org/protobuf/internal/set/ints.go +58 -0
  336. data/vendor/google.golang.org/protobuf/internal/strs/strings.go +196 -0
  337. data/vendor/google.golang.org/protobuf/internal/strs/strings_pure.go +27 -0
  338. data/vendor/google.golang.org/protobuf/internal/strs/strings_unsafe.go +94 -0
  339. data/vendor/google.golang.org/protobuf/internal/version/version.go +79 -0
  340. data/vendor/google.golang.org/protobuf/proto/checkinit.go +71 -0
  341. data/vendor/google.golang.org/protobuf/proto/decode.go +278 -0
  342. data/vendor/google.golang.org/protobuf/proto/decode_gen.go +603 -0
  343. data/vendor/google.golang.org/protobuf/proto/doc.go +94 -0
  344. data/vendor/google.golang.org/protobuf/proto/encode.go +319 -0
  345. data/vendor/google.golang.org/protobuf/proto/encode_gen.go +97 -0
  346. data/vendor/google.golang.org/protobuf/proto/equal.go +167 -0
  347. data/vendor/google.golang.org/protobuf/proto/extension.go +92 -0
  348. data/vendor/google.golang.org/protobuf/proto/merge.go +139 -0
  349. data/vendor/google.golang.org/protobuf/proto/messageset.go +93 -0
  350. data/vendor/google.golang.org/protobuf/proto/proto.go +43 -0
  351. data/vendor/google.golang.org/protobuf/proto/proto_methods.go +19 -0
  352. data/vendor/google.golang.org/protobuf/proto/proto_reflect.go +19 -0
  353. data/vendor/google.golang.org/protobuf/proto/reset.go +43 -0
  354. data/vendor/google.golang.org/protobuf/proto/size.go +97 -0
  355. data/vendor/google.golang.org/protobuf/proto/size_gen.go +55 -0
  356. data/vendor/google.golang.org/protobuf/proto/wrappers.go +29 -0
  357. data/vendor/google.golang.org/protobuf/reflect/protodesc/desc.go +276 -0
  358. data/vendor/google.golang.org/protobuf/reflect/protodesc/desc_init.go +248 -0
  359. data/vendor/google.golang.org/protobuf/reflect/protodesc/desc_resolve.go +286 -0
  360. data/vendor/google.golang.org/protobuf/reflect/protodesc/desc_validate.go +374 -0
  361. data/vendor/google.golang.org/protobuf/reflect/protodesc/proto.go +252 -0
  362. data/vendor/google.golang.org/protobuf/reflect/protoreflect/methods.go +77 -0
  363. data/vendor/google.golang.org/protobuf/reflect/protoreflect/proto.go +504 -0
  364. data/vendor/google.golang.org/protobuf/reflect/protoreflect/source.go +128 -0
  365. data/vendor/google.golang.org/protobuf/reflect/protoreflect/source_gen.go +461 -0
  366. data/vendor/google.golang.org/protobuf/reflect/protoreflect/type.go +665 -0
  367. data/vendor/google.golang.org/protobuf/reflect/protoreflect/value.go +285 -0
  368. data/vendor/google.golang.org/protobuf/reflect/protoreflect/value_pure.go +59 -0
  369. data/vendor/google.golang.org/protobuf/reflect/protoreflect/value_union.go +411 -0
  370. data/vendor/google.golang.org/protobuf/reflect/protoreflect/value_unsafe.go +98 -0
  371. data/vendor/google.golang.org/protobuf/reflect/protoregistry/registry.go +869 -0
  372. data/vendor/google.golang.org/protobuf/runtime/protoiface/legacy.go +15 -0
  373. data/vendor/google.golang.org/protobuf/runtime/protoiface/methods.go +167 -0
  374. data/vendor/google.golang.org/protobuf/runtime/protoimpl/impl.go +44 -0
  375. data/vendor/google.golang.org/protobuf/runtime/protoimpl/version.go +56 -0
  376. data/vendor/google.golang.org/protobuf/types/descriptorpb/descriptor.pb.go +4039 -0
  377. data/vendor/modules.txt +79 -0
  378. metadata +495 -0
@@ -0,0 +1,8 @@
1
+ package: go.uber.org/multierr
2
+ import:
3
+ - package: go.uber.org/atomic
4
+ version: ^1
5
+ testImport:
6
+ - package: github.com/stretchr/testify
7
+ subpackages:
8
+ - assert
@@ -0,0 +1,8 @@
1
+ module go.uber.org/multierr
2
+
3
+ go 1.12
4
+
5
+ require (
6
+ github.com/stretchr/testify v1.3.0
7
+ go.uber.org/atomic v1.7.0
8
+ )
@@ -0,0 +1,11 @@
1
+ github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8=
2
+ github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
3
+ github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
4
+ github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
5
+ github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
6
+ github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
7
+ github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
8
+ github.com/stretchr/testify v1.3.0 h1:TivCn/peBQ7UY8ooIcPgZFpTNSz0Q2U6UrFlUfqbe0Q=
9
+ github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
10
+ go.uber.org/atomic v1.7.0 h1:ADUqmZGgLDDfbSL9ZmPxKTybcoEYHgpYfELNoN+7hsw=
11
+ go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc=
@@ -0,0 +1,52 @@
1
+ // Copyright (c) 2019 Uber Technologies, Inc.
2
+ //
3
+ // Permission is hereby granted, free of charge, to any person obtaining a copy
4
+ // of this software and associated documentation files (the "Software"), to deal
5
+ // in the Software without restriction, including without limitation the rights
6
+ // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
+ // copies of the Software, and to permit persons to whom the Software is
8
+ // furnished to do so, subject to the following conditions:
9
+ //
10
+ // The above copyright notice and this permission notice shall be included in
11
+ // all copies or substantial portions of the Software.
12
+ //
13
+ // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
+ // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
+ // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
+ // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
+ // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
+ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19
+ // THE SOFTWARE.
20
+
21
+ // +build go1.13
22
+
23
+ package multierr
24
+
25
+ import "errors"
26
+
27
+ // As attempts to find the first error in the error list that matches the type
28
+ // of the value that target points to.
29
+ //
30
+ // This function allows errors.As to traverse the values stored on the
31
+ // multierr error.
32
+ func (merr *multiError) As(target interface{}) bool {
33
+ for _, err := range merr.Errors() {
34
+ if errors.As(err, target) {
35
+ return true
36
+ }
37
+ }
38
+ return false
39
+ }
40
+
41
+ // Is attempts to match the provided error against errors in the error list.
42
+ //
43
+ // This function allows errors.Is to traverse the values stored on the
44
+ // multierr error.
45
+ func (merr *multiError) Is(target error) bool {
46
+ for _, err := range merr.Errors() {
47
+ if errors.Is(err, target) {
48
+ return true
49
+ }
50
+ }
51
+ return false
52
+ }
@@ -0,0 +1,17 @@
1
+ coverage:
2
+ range: 80..100
3
+ round: down
4
+ precision: 2
5
+
6
+ status:
7
+ project: # measuring the overall project coverage
8
+ default: # context, you can create multiple ones with custom titles
9
+ enabled: yes # must be yes|true to enable this status
10
+ target: 95% # specify the target coverage for each commit status
11
+ # option: "auto" (must increase from parent commit or pull request base)
12
+ # option: "X%" a static target percentage to hit
13
+ if_not_found: success # if parent is not found report status as success, error, or failure
14
+ if_ci_failed: error # if ci fails report status as success, error, or failure
15
+ ignore:
16
+ - internal/readme/readme.go
17
+
@@ -0,0 +1,32 @@
1
+ # Compiled Object files, Static and Dynamic libs (Shared Objects)
2
+ *.o
3
+ *.a
4
+ *.so
5
+
6
+ # Folders
7
+ _obj
8
+ _test
9
+ vendor
10
+
11
+ # Architecture specific extensions/prefixes
12
+ *.[568vq]
13
+ [568vq].out
14
+
15
+ *.cgo1.go
16
+ *.cgo2.c
17
+ _cgo_defun.c
18
+ _cgo_gotypes.go
19
+ _cgo_export.*
20
+
21
+ _testmain.go
22
+
23
+ *.exe
24
+ *.test
25
+ *.prof
26
+ *.pprof
27
+ *.out
28
+ *.log
29
+
30
+ /bin
31
+ cover.out
32
+ cover.html
@@ -0,0 +1,109 @@
1
+ # :zap: zap [![GoDoc][doc-img]][doc] [![Build Status][ci-img]][ci] [![Coverage Status][cov-img]][cov]
2
+
3
+ Blazing fast, structured, leveled logging in Go.
4
+
5
+ ## Installation
6
+
7
+ `go get -u go.uber.org/zap`
8
+
9
+ Note that zap only supports the two most recent minor versions of Go.
10
+
11
+ ## Quick Start
12
+
13
+ In contexts where performance is nice, but not critical, use the
14
+ `SugaredLogger`. It's 4-10x faster than other structured logging
15
+ packages and includes both structured and `printf`-style APIs.
16
+
17
+ ```go
18
+ logger, _ := zap.NewProduction()
19
+ defer logger.Sync() // flushes buffer, if any
20
+ sugar := logger.Sugar()
21
+ sugar.Infow("failed to fetch URL",
22
+ // Structured context as loosely typed key-value pairs.
23
+ "url", url,
24
+ "attempt", 3,
25
+ "backoff", time.Second,
26
+ )
27
+ sugar.Infof("Failed to fetch URL: %s", url)
28
+ ```
29
+
30
+ When performance and type safety are critical, use the `Logger`. It's even
31
+ faster than the `SugaredLogger` and allocates far less, but it only supports
32
+ structured logging.
33
+
34
+ ```go
35
+ logger, _ := zap.NewProduction()
36
+ defer logger.Sync()
37
+ logger.Info("failed to fetch URL",
38
+ // Structured context as strongly typed Field values.
39
+ zap.String("url", url),
40
+ zap.Int("attempt", 3),
41
+ zap.Duration("backoff", time.Second),
42
+ )
43
+ ```
44
+
45
+ See the [documentation][doc] and [FAQ](FAQ.md) for more details.
46
+
47
+ ## Performance
48
+
49
+ For applications that log in the hot path, reflection-based serialization and
50
+ string formatting are prohibitively expensive — they're CPU-intensive
51
+ and make many small allocations. Put differently, using `encoding/json` and
52
+ `fmt.Fprintf` to log tons of `interface{}`s makes your application slow.
53
+
54
+ Zap takes a different approach. It includes a reflection-free, zero-allocation
55
+ JSON encoder, and the base `Logger` strives to avoid serialization overhead
56
+ and allocations wherever possible. By building the high-level `SugaredLogger`
57
+ on that foundation, zap lets users *choose* when they need to count every
58
+ allocation and when they'd prefer a more familiar, loosely typed API.
59
+
60
+ As measured by its own [benchmarking suite][], not only is zap more performant
61
+ than comparable structured logging packages — it's also faster than the
62
+ standard library. Like all benchmarks, take these with a grain of salt.<sup
63
+ id="anchor-versions">[1](#footnote-versions)</sup>
64
+
65
+ Log a message and 10 fields:
66
+
67
+ {{.BenchmarkAddingFields}}
68
+
69
+ Log a message with a logger that already has 10 fields of context:
70
+
71
+ {{.BenchmarkAccumulatedContext}}
72
+
73
+ Log a static string, without any context or `printf`-style templating:
74
+
75
+ {{.BenchmarkWithoutFields}}
76
+
77
+ ## Development Status: Stable
78
+
79
+ All APIs are finalized, and no breaking changes will be made in the 1.x series
80
+ of releases. Users of semver-aware dependency management systems should pin
81
+ zap to `^1`.
82
+
83
+ ## Contributing
84
+
85
+ We encourage and support an active, healthy community of contributors &mdash;
86
+ including you! Details are in the [contribution guide](CONTRIBUTING.md) and
87
+ the [code of conduct](CODE_OF_CONDUCT.md). The zap maintainers keep an eye on
88
+ issues and pull requests, but you can also report any negative conduct to
89
+ oss-conduct@uber.com. That email list is a private, safe space; even the zap
90
+ maintainers don't have access, so don't hesitate to hold us to a high
91
+ standard.
92
+
93
+ <hr>
94
+
95
+ Released under the [MIT License](LICENSE.txt).
96
+
97
+ <sup id="footnote-versions">1</sup> In particular, keep in mind that we may be
98
+ benchmarking against slightly older versions of other packages. Versions are
99
+ pinned in zap's [glide.lock][] file. [↩](#anchor-versions)
100
+
101
+ [doc-img]: https://godoc.org/go.uber.org/zap?status.svg
102
+ [doc]: https://godoc.org/go.uber.org/zap
103
+ [ci-img]: https://travis-ci.com/uber-go/zap.svg?branch=master
104
+ [ci]: https://travis-ci.com/uber-go/zap
105
+ [cov-img]: https://codecov.io/gh/uber-go/zap/branch/master/graph/badge.svg
106
+ [cov]: https://codecov.io/gh/uber-go/zap
107
+ [benchmarking suite]: https://github.com/uber-go/zap/tree/master/benchmarks
108
+ [glide.lock]: https://github.com/uber-go/zap/blob/master/glide.lock
109
+
@@ -0,0 +1,23 @@
1
+ language: go
2
+ sudo: false
3
+
4
+ go_import_path: go.uber.org/zap
5
+ env:
6
+ global:
7
+ - TEST_TIMEOUT_SCALE=10
8
+ - GO111MODULE=on
9
+
10
+ matrix:
11
+ include:
12
+ - go: 1.13.x
13
+ - go: 1.14.x
14
+ env: LINT=1
15
+
16
+ script:
17
+ - test -z "$LINT" || make lint
18
+ - make test
19
+ - make bench
20
+
21
+ after_success:
22
+ - make cover
23
+ - bash <(curl -s https://codecov.io/bash)
@@ -0,0 +1,432 @@
1
+ # Changelog
2
+
3
+ ## 1.16.0 (1 Sep 2020)
4
+
5
+ Bugfixes:
6
+ * [#828][]: Fix missing newline in IncreaseLevel error messages.
7
+ * [#835][]: Fix panic in JSON encoder when encoding times or durations
8
+ without specifying a time or duration encoder.
9
+ * [#843][]: Honor CallerSkip when taking stack traces.
10
+ * [#862][]: Fix the default file permissions to use `0666` and rely on the umask instead.
11
+ * [#854][]: Encode `<nil>` for nil `Stringer` instead of a panic error log.
12
+
13
+ Enhancements:
14
+ * [#629][]: Added `zapcore.TimeEncoderOfLayout` to easily create time encoders
15
+ for custom layouts.
16
+ * [#697][]: Added support for a configurable delimiter in the console encoder.
17
+ * [#852][]: Optimize console encoder by pooling the underlying JSON encoder.
18
+ * [#844][]: Add ability to include the calling function as part of logs.
19
+ * [#843][]: Add `StackSkip` for including truncated stacks as a field.
20
+ * [#861][]: Add options to customize Fatal behaviour for better testability.
21
+
22
+ Thanks to @SteelPhase, @tmshn, @lixingwang, @wyxloading, @moul, @segevfiner, @andy-retailnext and @jcorbin for their contributions to this release.
23
+
24
+ ## 1.15.0 (23 Apr 2020)
25
+
26
+ Bugfixes:
27
+ * [#804][]: Fix handling of `Time` values out of `UnixNano` range.
28
+ * [#812][]: Fix `IncreaseLevel` being reset after a call to `With`.
29
+
30
+ Enhancements:
31
+ * [#806][]: Add `WithCaller` option to supersede the `AddCaller` option. This
32
+ allows disabling annotation of log entries with caller information if
33
+ previously enabled with `AddCaller`.
34
+ * [#813][]: Deprecate `NewSampler` constructor in favor of
35
+ `NewSamplerWithOptions` which supports a `SamplerHook` option. This option
36
+ adds support for monitoring sampling decisions through a hook.
37
+
38
+ Thanks to @danielbprice for their contributions to this release.
39
+
40
+ ## 1.14.1 (14 Mar 2020)
41
+
42
+ Bugfixes:
43
+ * [#791][]: Fix panic on attempting to build a logger with an invalid Config.
44
+ * [#795][]: Vendoring Zap with `go mod vendor` no longer includes Zap's
45
+ development-time dependencies.
46
+ * [#799][]: Fix issue introduced in 1.14.0 that caused invalid JSON output to
47
+ be generated for arrays of `time.Time` objects when using string-based time
48
+ formats.
49
+
50
+ Thanks to @YashishDua for their contributions to this release.
51
+
52
+ ## 1.14.0 (20 Feb 2020)
53
+
54
+ Enhancements:
55
+ * [#771][]: Optimize calls for disabled log levels.
56
+ * [#773][]: Add millisecond duration encoder.
57
+ * [#775][]: Add option to increase the level of a logger.
58
+ * [#786][]: Optimize time formatters using `Time.AppendFormat` where possible.
59
+
60
+ Thanks to @caibirdme for their contributions to this release.
61
+
62
+ ## 1.13.0 (13 Nov 2019)
63
+
64
+ Enhancements:
65
+ * [#758][]: Add `Intp`, `Stringp`, and other similar `*p` field constructors
66
+ to log pointers to primitives with support for `nil` values.
67
+
68
+ Thanks to @jbizzle for their contributions to this release.
69
+
70
+ ## 1.12.0 (29 Oct 2019)
71
+
72
+ Enhancements:
73
+ * [#751][]: Migrate to Go modules.
74
+
75
+ ## 1.11.0 (21 Oct 2019)
76
+
77
+ Enhancements:
78
+ * [#725][]: Add `zapcore.OmitKey` to omit keys in an `EncoderConfig`.
79
+ * [#736][]: Add `RFC3339` and `RFC3339Nano` time encoders.
80
+
81
+ Thanks to @juicemia, @uhthomas for their contributions to this release.
82
+
83
+ ## 1.10.0 (29 Apr 2019)
84
+
85
+ Bugfixes:
86
+ * [#657][]: Fix `MapObjectEncoder.AppendByteString` not adding value as a
87
+ string.
88
+ * [#706][]: Fix incorrect call depth to determine caller in Go 1.12.
89
+
90
+ Enhancements:
91
+ * [#610][]: Add `zaptest.WrapOptions` to wrap `zap.Option` for creating test
92
+ loggers.
93
+ * [#675][]: Don't panic when encoding a String field.
94
+ * [#704][]: Disable HTML escaping for JSON objects encoded using the
95
+ reflect-based encoder.
96
+
97
+ Thanks to @iaroslav-ciupin, @lelenanam, @joa, @NWilson for their contributions
98
+ to this release.
99
+
100
+ ## v1.9.1 (06 Aug 2018)
101
+
102
+ Bugfixes:
103
+
104
+ * [#614][]: MapObjectEncoder should not ignore empty slices.
105
+
106
+ ## v1.9.0 (19 Jul 2018)
107
+
108
+ Enhancements:
109
+ * [#602][]: Reduce number of allocations when logging with reflection.
110
+ * [#572][], [#606][]: Expose a registry for third-party logging sinks.
111
+
112
+ Thanks to @nfarah86, @AlekSi, @JeanMertz, @philippgille, @etsangsplk, and
113
+ @dimroc for their contributions to this release.
114
+
115
+ ## v1.8.0 (13 Apr 2018)
116
+
117
+ Enhancements:
118
+ * [#508][]: Make log level configurable when redirecting the standard
119
+ library's logger.
120
+ * [#518][]: Add a logger that writes to a `*testing.TB`.
121
+ * [#577][]: Add a top-level alias for `zapcore.Field` to clean up GoDoc.
122
+
123
+ Bugfixes:
124
+ * [#574][]: Add a missing import comment to `go.uber.org/zap/buffer`.
125
+
126
+ Thanks to @DiSiqueira and @djui for their contributions to this release.
127
+
128
+ ## v1.7.1 (25 Sep 2017)
129
+
130
+ Bugfixes:
131
+ * [#504][]: Store strings when using AddByteString with the map encoder.
132
+
133
+ ## v1.7.0 (21 Sep 2017)
134
+
135
+ Enhancements:
136
+
137
+ * [#487][]: Add `NewStdLogAt`, which extends `NewStdLog` by allowing the user
138
+ to specify the level of the logged messages.
139
+
140
+ ## v1.6.0 (30 Aug 2017)
141
+
142
+ Enhancements:
143
+
144
+ * [#491][]: Omit zap stack frames from stacktraces.
145
+ * [#490][]: Add a `ContextMap` method to observer logs for simpler
146
+ field validation in tests.
147
+
148
+ ## v1.5.0 (22 Jul 2017)
149
+
150
+ Enhancements:
151
+
152
+ * [#460][] and [#470][]: Support errors produced by `go.uber.org/multierr`.
153
+ * [#465][]: Support user-supplied encoders for logger names.
154
+
155
+ Bugfixes:
156
+
157
+ * [#477][]: Fix a bug that incorrectly truncated deep stacktraces.
158
+
159
+ Thanks to @richard-tunein and @pavius for their contributions to this release.
160
+
161
+ ## v1.4.1 (08 Jun 2017)
162
+
163
+ This release fixes two bugs.
164
+
165
+ Bugfixes:
166
+
167
+ * [#435][]: Support a variety of case conventions when unmarshaling levels.
168
+ * [#444][]: Fix a panic in the observer.
169
+
170
+ ## v1.4.0 (12 May 2017)
171
+
172
+ This release adds a few small features and is fully backward-compatible.
173
+
174
+ Enhancements:
175
+
176
+ * [#424][]: Add a `LineEnding` field to `EncoderConfig`, allowing users to
177
+ override the Unix-style default.
178
+ * [#425][]: Preserve time zones when logging times.
179
+ * [#431][]: Make `zap.AtomicLevel` implement `fmt.Stringer`, which makes a
180
+ variety of operations a bit simpler.
181
+
182
+ ## v1.3.0 (25 Apr 2017)
183
+
184
+ This release adds an enhancement to zap's testing helpers as well as the
185
+ ability to marshal an AtomicLevel. It is fully backward-compatible.
186
+
187
+ Enhancements:
188
+
189
+ * [#415][]: Add a substring-filtering helper to zap's observer. This is
190
+ particularly useful when testing the `SugaredLogger`.
191
+ * [#416][]: Make `AtomicLevel` implement `encoding.TextMarshaler`.
192
+
193
+ ## v1.2.0 (13 Apr 2017)
194
+
195
+ This release adds a gRPC compatibility wrapper. It is fully backward-compatible.
196
+
197
+ Enhancements:
198
+
199
+ * [#402][]: Add a `zapgrpc` package that wraps zap's Logger and implements
200
+ `grpclog.Logger`.
201
+
202
+ ## v1.1.0 (31 Mar 2017)
203
+
204
+ This release fixes two bugs and adds some enhancements to zap's testing helpers.
205
+ It is fully backward-compatible.
206
+
207
+ Bugfixes:
208
+
209
+ * [#385][]: Fix caller path trimming on Windows.
210
+ * [#396][]: Fix a panic when attempting to use non-existent directories with
211
+ zap's configuration struct.
212
+
213
+ Enhancements:
214
+
215
+ * [#386][]: Add filtering helpers to zaptest's observing logger.
216
+
217
+ Thanks to @moitias for contributing to this release.
218
+
219
+ ## v1.0.0 (14 Mar 2017)
220
+
221
+ This is zap's first stable release. All exported APIs are now final, and no
222
+ further breaking changes will be made in the 1.x release series. Anyone using a
223
+ semver-aware dependency manager should now pin to `^1`.
224
+
225
+ Breaking changes:
226
+
227
+ * [#366][]: Add byte-oriented APIs to encoders to log UTF-8 encoded text without
228
+ casting from `[]byte` to `string`.
229
+ * [#364][]: To support buffering outputs, add `Sync` methods to `zapcore.Core`,
230
+ `zap.Logger`, and `zap.SugaredLogger`.
231
+ * [#371][]: Rename the `testutils` package to `zaptest`, which is less likely to
232
+ clash with other testing helpers.
233
+
234
+ Bugfixes:
235
+
236
+ * [#362][]: Make the ISO8601 time formatters fixed-width, which is friendlier
237
+ for tab-separated console output.
238
+ * [#369][]: Remove the automatic locks in `zapcore.NewCore`, which allows zap to
239
+ work with concurrency-safe `WriteSyncer` implementations.
240
+ * [#347][]: Stop reporting errors when trying to `fsync` standard out on Linux
241
+ systems.
242
+ * [#373][]: Report the correct caller from zap's standard library
243
+ interoperability wrappers.
244
+
245
+ Enhancements:
246
+
247
+ * [#348][]: Add a registry allowing third-party encodings to work with zap's
248
+ built-in `Config`.
249
+ * [#327][]: Make the representation of logger callers configurable (like times,
250
+ levels, and durations).
251
+ * [#376][]: Allow third-party encoders to use their own buffer pools, which
252
+ removes the last performance advantage that zap's encoders have over plugins.
253
+ * [#346][]: Add `CombineWriteSyncers`, a convenience function to tee multiple
254
+ `WriteSyncer`s and lock the result.
255
+ * [#365][]: Make zap's stacktraces compatible with mid-stack inlining (coming in
256
+ Go 1.9).
257
+ * [#372][]: Export zap's observing logger as `zaptest/observer`. This makes it
258
+ easier for particularly punctilious users to unit test their application's
259
+ logging.
260
+
261
+ Thanks to @suyash, @htrendev, @flisky, @Ulexus, and @skipor for their
262
+ contributions to this release.
263
+
264
+ ## v1.0.0-rc.3 (7 Mar 2017)
265
+
266
+ This is the third release candidate for zap's stable release. There are no
267
+ breaking changes.
268
+
269
+ Bugfixes:
270
+
271
+ * [#339][]: Byte slices passed to `zap.Any` are now correctly treated as binary blobs
272
+ rather than `[]uint8`.
273
+
274
+ Enhancements:
275
+
276
+ * [#307][]: Users can opt into colored output for log levels.
277
+ * [#353][]: In addition to hijacking the output of the standard library's
278
+ package-global logging functions, users can now construct a zap-backed
279
+ `log.Logger` instance.
280
+ * [#311][]: Frames from common runtime functions and some of zap's internal
281
+ machinery are now omitted from stacktraces.
282
+
283
+ Thanks to @ansel1 and @suyash for their contributions to this release.
284
+
285
+ ## v1.0.0-rc.2 (21 Feb 2017)
286
+
287
+ This is the second release candidate for zap's stable release. It includes two
288
+ breaking changes.
289
+
290
+ Breaking changes:
291
+
292
+ * [#316][]: Zap's global loggers are now fully concurrency-safe
293
+ (previously, users had to ensure that `ReplaceGlobals` was called before the
294
+ loggers were in use). However, they must now be accessed via the `L()` and
295
+ `S()` functions. Users can update their projects with
296
+
297
+ ```
298
+ gofmt -r "zap.L -> zap.L()" -w .
299
+ gofmt -r "zap.S -> zap.S()" -w .
300
+ ```
301
+ * [#309][] and [#317][]: RC1 was mistakenly shipped with invalid
302
+ JSON and YAML struct tags on all config structs. This release fixes the tags
303
+ and adds static analysis to prevent similar bugs in the future.
304
+
305
+ Bugfixes:
306
+
307
+ * [#321][]: Redirecting the standard library's `log` output now
308
+ correctly reports the logger's caller.
309
+
310
+ Enhancements:
311
+
312
+ * [#325][] and [#333][]: Zap now transparently supports non-standard, rich
313
+ errors like those produced by `github.com/pkg/errors`.
314
+ * [#326][]: Though `New(nil)` continues to return a no-op logger, `NewNop()` is
315
+ now preferred. Users can update their projects with `gofmt -r 'zap.New(nil) ->
316
+ zap.NewNop()' -w .`.
317
+ * [#300][]: Incorrectly importing zap as `github.com/uber-go/zap` now returns a
318
+ more informative error.
319
+
320
+ Thanks to @skipor and @chapsuk for their contributions to this release.
321
+
322
+ ## v1.0.0-rc.1 (14 Feb 2017)
323
+
324
+ This is the first release candidate for zap's stable release. There are multiple
325
+ breaking changes and improvements from the pre-release version. Most notably:
326
+
327
+ * **Zap's import path is now "go.uber.org/zap"** &mdash; all users will
328
+ need to update their code.
329
+ * User-facing types and functions remain in the `zap` package. Code relevant
330
+ largely to extension authors is now in the `zapcore` package.
331
+ * The `zapcore.Core` type makes it easy for third-party packages to use zap's
332
+ internals but provide a different user-facing API.
333
+ * `Logger` is now a concrete type instead of an interface.
334
+ * A less verbose (though slower) logging API is included by default.
335
+ * Package-global loggers `L` and `S` are included.
336
+ * A human-friendly console encoder is included.
337
+ * A declarative config struct allows common logger configurations to be managed
338
+ as configuration instead of code.
339
+ * Sampling is more accurate, and doesn't depend on the standard library's shared
340
+ timer heap.
341
+
342
+ ## v0.1.0-beta.1 (6 Feb 2017)
343
+
344
+ This is a minor version, tagged to allow users to pin to the pre-1.0 APIs and
345
+ upgrade at their leisure. Since this is the first tagged release, there are no
346
+ backward compatibility concerns and all functionality is new.
347
+
348
+ Early zap adopters should pin to the 0.1.x minor version until they're ready to
349
+ upgrade to the upcoming stable release.
350
+
351
+ [#316]: https://github.com/uber-go/zap/pull/316
352
+ [#309]: https://github.com/uber-go/zap/pull/309
353
+ [#317]: https://github.com/uber-go/zap/pull/317
354
+ [#321]: https://github.com/uber-go/zap/pull/321
355
+ [#325]: https://github.com/uber-go/zap/pull/325
356
+ [#333]: https://github.com/uber-go/zap/pull/333
357
+ [#326]: https://github.com/uber-go/zap/pull/326
358
+ [#300]: https://github.com/uber-go/zap/pull/300
359
+ [#339]: https://github.com/uber-go/zap/pull/339
360
+ [#307]: https://github.com/uber-go/zap/pull/307
361
+ [#353]: https://github.com/uber-go/zap/pull/353
362
+ [#311]: https://github.com/uber-go/zap/pull/311
363
+ [#366]: https://github.com/uber-go/zap/pull/366
364
+ [#364]: https://github.com/uber-go/zap/pull/364
365
+ [#371]: https://github.com/uber-go/zap/pull/371
366
+ [#362]: https://github.com/uber-go/zap/pull/362
367
+ [#369]: https://github.com/uber-go/zap/pull/369
368
+ [#347]: https://github.com/uber-go/zap/pull/347
369
+ [#373]: https://github.com/uber-go/zap/pull/373
370
+ [#348]: https://github.com/uber-go/zap/pull/348
371
+ [#327]: https://github.com/uber-go/zap/pull/327
372
+ [#376]: https://github.com/uber-go/zap/pull/376
373
+ [#346]: https://github.com/uber-go/zap/pull/346
374
+ [#365]: https://github.com/uber-go/zap/pull/365
375
+ [#372]: https://github.com/uber-go/zap/pull/372
376
+ [#385]: https://github.com/uber-go/zap/pull/385
377
+ [#396]: https://github.com/uber-go/zap/pull/396
378
+ [#386]: https://github.com/uber-go/zap/pull/386
379
+ [#402]: https://github.com/uber-go/zap/pull/402
380
+ [#415]: https://github.com/uber-go/zap/pull/415
381
+ [#416]: https://github.com/uber-go/zap/pull/416
382
+ [#424]: https://github.com/uber-go/zap/pull/424
383
+ [#425]: https://github.com/uber-go/zap/pull/425
384
+ [#431]: https://github.com/uber-go/zap/pull/431
385
+ [#435]: https://github.com/uber-go/zap/pull/435
386
+ [#444]: https://github.com/uber-go/zap/pull/444
387
+ [#477]: https://github.com/uber-go/zap/pull/477
388
+ [#465]: https://github.com/uber-go/zap/pull/465
389
+ [#460]: https://github.com/uber-go/zap/pull/460
390
+ [#470]: https://github.com/uber-go/zap/pull/470
391
+ [#487]: https://github.com/uber-go/zap/pull/487
392
+ [#490]: https://github.com/uber-go/zap/pull/490
393
+ [#491]: https://github.com/uber-go/zap/pull/491
394
+ [#504]: https://github.com/uber-go/zap/pull/504
395
+ [#508]: https://github.com/uber-go/zap/pull/508
396
+ [#518]: https://github.com/uber-go/zap/pull/518
397
+ [#577]: https://github.com/uber-go/zap/pull/577
398
+ [#574]: https://github.com/uber-go/zap/pull/574
399
+ [#602]: https://github.com/uber-go/zap/pull/602
400
+ [#572]: https://github.com/uber-go/zap/pull/572
401
+ [#606]: https://github.com/uber-go/zap/pull/606
402
+ [#614]: https://github.com/uber-go/zap/pull/614
403
+ [#657]: https://github.com/uber-go/zap/pull/657
404
+ [#706]: https://github.com/uber-go/zap/pull/706
405
+ [#610]: https://github.com/uber-go/zap/pull/610
406
+ [#675]: https://github.com/uber-go/zap/pull/675
407
+ [#704]: https://github.com/uber-go/zap/pull/704
408
+ [#725]: https://github.com/uber-go/zap/pull/725
409
+ [#736]: https://github.com/uber-go/zap/pull/736
410
+ [#751]: https://github.com/uber-go/zap/pull/751
411
+ [#758]: https://github.com/uber-go/zap/pull/758
412
+ [#771]: https://github.com/uber-go/zap/pull/771
413
+ [#773]: https://github.com/uber-go/zap/pull/773
414
+ [#775]: https://github.com/uber-go/zap/pull/775
415
+ [#786]: https://github.com/uber-go/zap/pull/786
416
+ [#791]: https://github.com/uber-go/zap/pull/791
417
+ [#795]: https://github.com/uber-go/zap/pull/795
418
+ [#799]: https://github.com/uber-go/zap/pull/799
419
+ [#804]: https://github.com/uber-go/zap/pull/804
420
+ [#812]: https://github.com/uber-go/zap/pull/812
421
+ [#806]: https://github.com/uber-go/zap/pull/806
422
+ [#813]: https://github.com/uber-go/zap/pull/813
423
+ [#629]: https://github.com/uber-go/zap/pull/629
424
+ [#697]: https://github.com/uber-go/zap/pull/697
425
+ [#828]: https://github.com/uber-go/zap/pull/828
426
+ [#835]: https://github.com/uber-go/zap/pull/835
427
+ [#843]: https://github.com/uber-go/zap/pull/843
428
+ [#844]: https://github.com/uber-go/zap/pull/844
429
+ [#852]: https://github.com/uber-go/zap/pull/852
430
+ [#854]: https://github.com/uber-go/zap/pull/854
431
+ [#861]: https://github.com/uber-go/zap/pull/861
432
+ [#862]: https://github.com/uber-go/zap/pull/862