Contributing
August 28, 2025 ยท View on GitHub
- Fork the notifier on github
- Build and test your changes
- Commit and push until you are happy with your contribution
- Make a pull request
- Thanks!
Installing the go development environment
-
Install homebrew
ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)" -
Install go
brew install go --cross-compile-all -
Configure
$GOPATHin~/.bashrcexport GOPATH="$HOME/go" export PATH=$PATH:$GOPATH/bin
Downloading the code
You can download the code and its dependencies using
go get -t github.com/bugsnag/bugsnag-go/v2
It will be put into "$GOPATH/src/github.com/bugsnag/bugsnag-go"
Then install depend
Running Tests
You can run the tests with
go test ./...
Making PRs
All PRs should target the next branch as their base. This means that we can land them and stage them for a release without making multiple changes to master (which would cause multiple releases due to go get's behaviour).
The exception to this rule is for an urgent bug fix when next is already ahead of master. See hotfixes for what to do then.
Releasing a New Version
If you are a project maintainer, you can build and release a new version of
bugsnag-go as follows:
Planned releases
Prerequisite: All code changes should already have been reviewed and PR'd into the next branch before making a release.
- Decide on a version number and date for this release
- Add an entry (or update the
TBDentry if it exists) for this release inCHANGELOG.mdso that it includes the version number, release date and granular description of what changed - Update the version number in
v2/bugsnag.goand verify that tests pass. - Create a PR from
release-x.x.x-next->nexttitledRelease vX.X.X, adding a description to help the reviewer understand the scope of the release - Create a PR from
nexttomasteron GitHub, set the commit message tovX.X.X - Create a release from current
masteron GitHub calledvX.X.X. Copy and paste the markdown from this release's notes inCHANGELOG.md(this will create a git tag for you).
Hotfixes
If a next branch already exists and is ahead of master but there is a bug fix which needs to go out urgently, check out the latest master and create a new hotfix branch git checkout -b hotfix. You can then proceed to follow the above steps, substituting next for hotfix.
Once released, ensure master is merged into next so that the changes made on hotfix are included.