Shipnote

Streamline Release Notes for Open Source Projects

Open-source project maintainers frequently push updates, but keeping contributors and users informed about every new feature, fix, and breaking change is a constant, manual effort.

The problem

Maintaining an active open-source project involves constant development, with contributions from many developers globally. Manually compiling detailed release notes after every version bump or significant merge is a time-consuming and often neglected task for project maintainers. This lack of clear, consistent changelogs makes it difficult for users to track project evolution, understand new features, or anticipate breaking changes, leading to frustration and reduced community engagement.

Open-source projects thrive on transparency and communication. Without an automated system, the burden of summarizing pull requests and commit messages into a coherent changelog falls squarely on lead maintainers. This often results in delayed releases, incomplete documentation, or maintainer burnout. Contributors also struggle to see the impact of their work when updates aren't clearly articulated, diminishing their motivation to participate further.

How Shipnote solves it

1
Automatically transform your Git commits into well-structured, user-friendly changelogs for your open-source project.
2
Clearly communicate new features, bug fixes, and breaking changes to your user and contributor community.
3
Provide a hosted, public changelog that consistently showcases your project's active development and progress.

Concrete example


# Example GitHub Actions workflow for an open-source project
# Generates changelog on every push to main

name: Open Source Changelog

on:
  push:
    branches:
      - main

jobs:
  generate_changelog:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - name: Generate Changelog with Shipnote
        uses: shipnotehq/changelog-action@v1
        with:
          shipnote-api-key: ${{ secrets.SHIPNOTE_API_KEY }}
          repo-owner: ${{ github.repository_owner }}
          repo-name: ${{ github.event.repository.name }}
          last-sha: ${{ github.event.before }}
          current-sha: ${{ github.event.after }}
          # Optionally, specify a tag to delineate releases
          tag: ${{ github.ref_name }}

Ready to try Shipnote?

Your commits become a published changelog in 60 seconds — no writing required.

Frequently asked questions

How does Shipnote handle contributions from many different authors?
Shipnote processes all commits in the specified range, regardless of author, ensuring a comprehensive changelog that reflects contributions from the entire community.
Can Shipnote automatically detect semantic versioning changes?
Shipnote focuses on generating release notes from commits. While it doesn't directly manage semantic versioning, well-structured commit messages (e.g., feat:, fix:, chore:) will be interpreted effectively.
Is the changelog publicly accessible and easy to share?
Yes, Shipnote provides a public URL for your changelog, which can be shared widely, embedded on your project's website, or linked from GitHub releases.

Related use cases