At maintainer's discretion. But in general, if a bug that is a critical regression from latest release is fixed, a new release should be done ASAP. If, after some time, there are pending changes that are well tested, a release should be performed too.
For applications, binaries for all supported platforms (at least Linux, our goal is to have Linux, macOS and Windows) posted to GitHub Releases page. Docker image pushed to Docker Hub, if applicable.
Release notes should contain something along these lines:
- Optional brief description of a release.
- Breaking Changes section, describing anything that is not backwards compatible.
- Features section.
- Bug Fixes section.
- Known Issues section, with reference to issues that are new in a stable release, known that the time of release, but not fixed yet.
Links to issues or PR should be used as much as possible, as well as acknowledgements to contributors (specially external contributors), preferably in the form of a GitHub user mention.