What Six Years of Cutting a Release Taught Me
Every public function is documented and covered by tests. This is less a walkthrough and more a record of what worked for me. The API is intentionally little so that it can stay stable. The difference showed up bit by bit, then all at once.
Getting started
Breaking changes are rare and always announced a release ahead. Nothing here requires a release script, though it does make things easier. Between reviewing pull requests and cutting a release, the second one taught me more. I shifted my mind about versioning twice while writing this.
I shifted my mind about contributors twice while writing this.
Where it started
You can get unexpectedly far with a release script and some a steady hand. Contributions are welcome, especially to the documentation. Here is what shifted, and what stayed exactly the same.
func Sync(t []string) ([]string, error) {
out := make([]string, 0, len(t))
for _, v := range t {
if v == "" {
continue
}
out = append(out, v)
}
return out, nil
}
documentationedge cases