Skip to content

Commit

Permalink
Update changelog and readme for 1.0 release (uber-go#377)
Browse files Browse the repository at this point in the history
Update the changelog and readme for the first stable release. 🎉
  • Loading branch information
akshayjshah authored Mar 14, 2017
1 parent c0dfce3 commit 0a21df7
Show file tree
Hide file tree
Showing 3 changed files with 93 additions and 31 deletions.
8 changes: 4 additions & 4 deletions .readme.tmpl
Original file line number Diff line number Diff line change
Expand Up @@ -67,10 +67,10 @@ Log a static string, without any context or `printf`-style templating:

{{.BenchmarkWithoutFields}}

## Development Status: Release Candidate 3
The current release is `v1.0.0-rc.3`. No further breaking changes are *planned*
unless wider use reveals critical bugs or usability issues, but users who need
absolute stability should wait for the 1.0.0 release.
## Development Status: Stable
All APIs are finalized, and no breaking changes will be made in the 1.x series
of releases. Users of semver-aware dependency management systems should pin zap
to `^1`.

<hr>
Released under the [MIT License](LICENSE.txt).
Expand Down
62 changes: 62 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,52 @@
# Changelog

## v1.0.0 (14 Mar 2017)

This is zap's first stable release. All exported APIs are now final, and no
further breaking changes will be made in the 1.x release series. Anyone using a
semver-aware dependency manager should now pin to `^1`.

Breaking changes:

* [#366][]: Add byte-oriented APIs to encoders to log UTF-8 encoded text without
casting from `[]byte` to `string`.
* [#364][]: To support buffering outputs, add `Sync` methods to `zapcore.Core`,
`zap.Logger`, and `zap.SugaredLogger`.
* [#371][]: Rename the `testutils` package to `zaptest`, which is less likely to
clash with other testing helpers.

Bugfixes:

* [#362][]: Make the ISO8601 time formatters fixed-width, which is friendlier
for tab-separated console output.
* [#369][]: Remove the automatic locks in `zapcore.NewCore`, which allows zap to
work with concurrency-safe `WriteSyncer` implementations.
* [#347][]: Stop reporting errors when trying to `fsync` standard out on Linux
systems.
* [#373][]: Report the correct caller from zap's standard library
interoperability wrappers.

Enhancements:

* [#348][]: Add a registry allowing third-party encodings to work with zap's
built-in `Config`.
* [#327][]: Make the representation of logger callers configurable (like times,
levels, and durations).
* [#376][]: Allow third-party encoders to use their own buffer pools, which
removes the last performance advantage that zap's encoders have over plugins.
* [#346][]: Add `CombineWriteSyncers`, a convenience function to tee multiple
`WriteSyncer`s and lock the result.
* [#365][]: Make zap's stacktraces compatible with mid-stack inlining (coming in
Go 1.9).
* [#372][]: Export zap's observing logger as `zaptest/observer`. This makes it
easier for particularly punctilious users to unit test their application's
logging.

Thanks to @suyash, @htrendev, @flisky, @Ulexus, and @skipor for their
contributions to this release.

## v1.0.0-rc.3 (7 Mar 2017)

This is the third release candidate for zap's stable release. There are no
breaking changes.

Expand All @@ -21,6 +67,7 @@ Enhancements:
Thanks to @ansel1 and @suyash for their contributions to this release.

## v1.0.0-rc.2 (21 Feb 2017)

This is the second release candidate for zap's stable release. It includes two
breaking changes.

Expand Down Expand Up @@ -57,6 +104,7 @@ Enhancements:
Thanks to @skipor and @chapsuk for their contributions to this release.

## v1.0.0-rc.1 (14 Feb 2017)

This is the first release candidate for zap's stable release. There are multiple
breaking changes and improvements from the pre-release version. Most notably:

Expand All @@ -76,6 +124,7 @@ breaking changes and improvements from the pre-release version. Most notably:
timer heap.

## v0.1.0-beta.1 (6 Feb 2017)

This is a minor version, tagged to allow users to pin to the pre-1.0 APIs and
upgrade at their leisure. Since this is the first tagged release, there are no
backwards compatibility concerns and all functionality is new.
Expand All @@ -95,3 +144,16 @@ upgrade to the upcoming stable release.
[#307]: https://github.com/uber-go/zap/pull/307
[#353]: https://github.com/uber-go/zap/pull/353
[#311]: https://github.com/uber-go/zap/pull/311
[#366]: https://github.com/uber-go/zap/pull/366
[#364]: https://github.com/uber-go/zap/pull/364
[#371]: https://github.com/uber-go/zap/pull/371
[#362]: https://github.com/uber-go/zap/pull/362
[#369]: https://github.com/uber-go/zap/pull/369
[#347]: https://github.com/uber-go/zap/pull/347
[#373]: https://github.com/uber-go/zap/pull/373
[#348]: https://github.com/uber-go/zap/pull/348
[#327]: https://github.com/uber-go/zap/pull/327
[#376]: https://github.com/uber-go/zap/pull/376
[#346]: https://github.com/uber-go/zap/pull/346
[#365]: https://github.com/uber-go/zap/pull/365
[#372]: https://github.com/uber-go/zap/pull/372
54 changes: 27 additions & 27 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -59,43 +59,43 @@ Log a message and 10 fields:

| Library | Time | Bytes Allocated | Objects Allocated |
| :--- | :---: | :---: | :---: |
| :zap: zap | 923 ns/op | 705 B/op | 2 allocs/op |
| :zap: zap (sugared) | 1458 ns/op | 1613 B/op | 20 allocs/op |
| go-kit | 3980 ns/op | 2897 B/op | 66 allocs/op |
| lion | 5394 ns/op | 5811 B/op | 63 allocs/op |
| logrus | 6460 ns/op | 6100 B/op | 78 allocs/op |
| apex/log | 17594 ns/op | 3834 B/op | 65 allocs/op |
| log15 | 19246 ns/op | 5633 B/op | 93 allocs/op |
| :zap: zap | 1466 ns/op | 705 B/op | 2 allocs/op |
| :zap: zap (sugared) | 2893 ns/op | 1931 B/op | 21 allocs/op |
| go-kit | 8183 ns/op | 3119 B/op | 65 allocs/op |
| lion | 12259 ns/op | 5999 B/op | 62 allocs/op |
| logrus | 12862 ns/op | 5783 B/op | 77 allocs/op |
| apex/log | 20317 ns/op | 4024 B/op | 64 allocs/op |
| log15 | 31855 ns/op | 5536 B/op | 91 allocs/op |

Log a message with a logger that already has 10 fields of context:

| Library | Time | Bytes Allocated | Objects Allocated |
| :--- | :---: | :---: | :---: |
| :zap: zap | 233 ns/op | 0 B/op | 0 allocs/op |
| :zap: zap (sugared) | 312 ns/op | 80 B/op | 2 allocs/op |
| go-kit | 4188 ns/op | 3048 B/op | 52 allocs/op |
| lion | 4753 ns/op | 4076 B/op | 38 allocs/op |
| logrus | 5498 ns/op | 4567 B/op | 63 allocs/op |
| apex/log | 14204 ns/op | 2898 B/op | 51 allocs/op |
| log15 | 16380 ns/op | 2643 B/op | 44 allocs/op |
| :zap: zap | 536 ns/op | 0 B/op | 0 allocs/op |
| :zap: zap (sugared) | 734 ns/op | 80 B/op | 2 allocs/op |
| lion | 6784 ns/op | 3978 B/op | 36 allocs/op |
| go-kit | 8316 ns/op | 2950 B/op | 50 allocs/op |
| logrus | 10160 ns/op | 3967 B/op | 61 allocs/op |
| apex/log | 17095 ns/op | 2801 B/op | 49 allocs/op |
| log15 | 19112 ns/op | 2545 B/op | 42 allocs/op |

Log a static string, without any context or `printf`-style templating:

| Library | Time | Bytes Allocated | Objects Allocated |
| :--- | :---: | :---: | :---: |
| :zap: zap | 234 ns/op | 0 B/op | 0 allocs/op |
| :zap: zap (sugared) | 415 ns/op | 80 B/op | 2 allocs/op |
| standard library | 657 ns/op | 80 B/op | 2 allocs/op |
| go-kit | 694 ns/op | 656 B/op | 13 allocs/op |
| lion | 1042 ns/op | 1225 B/op | 10 allocs/op |
| logrus | 1819 ns/op | 1507 B/op | 27 allocs/op |
| apex/log | 3482 ns/op | 584 B/op | 11 allocs/op |
| log15 | 5597 ns/op | 1592 B/op | 26 allocs/op |

## Development Status: Release Candidate 3
The current release is `v1.0.0-rc.3`. No further breaking changes are *planned*
unless wider use reveals critical bugs or usability issues, but users who need
absolute stability should wait for the 1.0.0 release.
| :zap: zap | 521 ns/op | 0 B/op | 0 allocs/op |
| standard library | 580 ns/op | 80 B/op | 2 allocs/op |
| :zap: zap (sugared) | 885 ns/op | 80 B/op | 2 allocs/op |
| go-kit | 1384 ns/op | 656 B/op | 13 allocs/op |
| lion | 2009 ns/op | 1224 B/op | 10 allocs/op |
| logrus | 2925 ns/op | 1409 B/op | 25 allocs/op |
| apex/log | 3723 ns/op | 584 B/op | 11 allocs/op |
| log15 | 6349 ns/op | 1496 B/op | 24 allocs/op |

## Development Status: Stable
All APIs are finalized, and no breaking changes will be made in the 1.x series
of releases. Users of semver-aware dependency management systems should pin zap
to `^1`.

<hr>
Released under the [MIT License](LICENSE.txt).
Expand Down

0 comments on commit 0a21df7

Please sign in to comment.