Mid
From PDF
Version Control
Git & GitHub
How do you automate semantic versioning and changelog generation using Git tags?
Short answer: Semantic Versioning (SemVer) follows the format: MAJOR.MINOR.PATCH
Example code
v2.3.1 It’s based on changes — breaking changes bump MAJOR, new features bump MINOR, and bug fixes bump PATCH. Automation tools: semantic-release (Node.js) GitVersion (for .NET) release-please (Google’s tool for GitHub Actions) Example using semantic-release: npm install semantic-release @semantic-release/git @semantic-release/github -D Create a .releaserc.json: { "branches": ["main"], "plugins": [ "@semantic-release/commit-analyzer", "@semantic-release/release-notes-generator", "@semantic-release/changelog", "@semantic-release/github", "@semantic-release/git" } What it does: Reads commit messages (feat:, fix:, breaking:) Calculates next version automatically Creates a Git tag (e.g., v1.2.0) Updates CHANGELOG.md Publishes release notes to GitHub Example output: chore(release): 1.3.0 feat: add dark mode toggle fix: resolve login error
Real-world example (ShopNest)
ShopNest’s team uses GitHub PRs with reviews and CI checks so broken builds never reach production unnoticed.
Say this in the interview
- Define — one clear sentence (the short answer above).
- Example — relate it to a project like ShopNest or your real work.
- Trade-off — when you would not use it.
Share this Q&A
Share preview image: https://www.toolliyo.com/images/toolliyo-logo.png