Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/jbowes/whatsnew

Check for new github releases of your Golang application 🎊
https://github.com/jbowes/whatsnew

go golang golang-library hacktoberfest releases updates

Last synced: 2 months ago
JSON representation

Check for new github releases of your Golang application 🎊

Awesome Lists containing this project

README

        

whatsnew


Check for new github releases of your Golang application 🎊


Go Reference
Enterprise Ready
GitHub tag
Build Status
BSD license
codecov
Go Report Card


---

[`whatsnew`][godoc] provides a simple way to check GitHub for new releases of
your Go application. It saves results between runs, uses etags to speed up responses, and tries to minimize the overhead it adds to an otherwise fast
application CLI run.

If caching to disk or reading from GitHub don't work for you, you can
[customize the behaviour][impl].

## Quick start

```go
import (
"context"
"github.com/jbowes/whatsnew"
)

func main() {
ctx := context.Background()

// Start a whatsnew Check
fut := whatsnew.Check(ctx, &whatsnew.Options{
Slug: "you/your-app",
Cache: "testdata/update-cache.json",
Version: "v0.0.1",
})

// Run your CLI code and whatnot

// Wait for the Check to complete, and show the results
if v, _ := fut.Get(); v != "" {
fmt.Printf("new release available: %s\n", v)
}
}
```

For more usage and examples, see the [GoDoc Reference][godoc]

## Alternatives

`whatsnew` only **checks** for releases. If you're looking for a package that
will let your application **update itself**, or you prefer packages that start
with `go-`, consider one of these:
- [go-github-selfupdate](https://github.com/rhysd/go-github-selfupdate)
- [go-selfupdate](https://github.com/sanbornm/go-selfupdate)
- [go-update](https://github.com/inconshreveable/go-update)

## Contributing

I would love your help!

`whatsnew` is still a work in progress. You can help by:

- Opening a pull request to resolve an [open issue][issues].
- Adding a feature or enhancement of your own! If it might be big, please
[open an issue][enhancement] first so we can discuss it.
- Improving this `README` or adding other documentation to `whatsnew`.
- Letting [me] know if you're using `whatsnew`.

[godoc]: https://pkg.go.dev/github.com/jbowes/whatsnew
[impl]: https://pkg.go.dev/github.com/jbowes/whatsnew/impl

[issues]: ./issues
[bug]: ./issues/new?labels=bug
[enhancement]: ./issues/new?labels=enhancement

[me]: https://twitter.com/jrbowes