5 exercises — Practice writing changelogs that communicate user value: translating technical fixes, feature announcements, breaking change notices, and adopting Keep a Changelog format.
0 / 25 completed
1 / 25
A changelog entry reads: "Fixed bug where null pointer exception occurred in UserService when processing empty payloads." How should this be rewritten for a public changelog?
Changelog entries should describe user-observable behavior, not internal implementation details.
Translation layers:
• "NullPointerException" → "crash" or "error"
• "UserService" → doesn't matter to users
• "empty payloads" → "all fields left blank"
The user-facing rewrite tells users:
1. What type of entry this is ("Fixed")
2. What happened from their perspective ("app crashed")
3. When it happened ("when submitting a form with all fields blank")
Option B is close but slightly more verbose ("submitting a form with no required fields filled in" = more words than needed).
Option C ✓ — same information, tighter language.
Key vocabulary:
• User-observable behavior — what the user sees or experiences, not internal system state
• Changelog entry types — Added, Fixed, Changed, Deprecated, Removed, Security
• Technical-to-plain translation — converting internal error names to user-facing descriptions
• Keep a Changelog — the widely adopted changelog format standard (keepachangelog.com)
2 / 25
A developer writes this changelog entry: "Added support for webhooks." What is missing?
Feature changelog entries need: what you can do now + key capabilities + documentation link.
"Added support for webhooks" tells developers nothing they can act on:
• Which events trigger webhooks?
• What payload format?
• How do I set one up?
Better: "Added: Webhooks — get real-time notifications when orders complete, payments fail, or subscriptions change. Configure endpoints in Settings → Webhooks. See the webhooks guide →"
This tells developers:
1. What the feature is
2. Specific events available (order complete, payment fail, subscription change)
3. Where to configure it (Settings → Webhooks)
4. Where to learn more (documentation link)
Key vocabulary:
• Feature entry — an "Added" entry describing new functionality
• User benefit description — explaining what users can now accomplish, not just what was built
• Capability enumeration — listing specific sub-features or use cases within a larger feature
• Documentation link — a reference to the full docs for readers who want more depth
3 / 25
A changelog announces a breaking change in an API. Which entry is best?
Breaking changes require maximum visibility: visual warning, clear deadline, and a migration guide link.
Elements required for breaking change entries:
1. Visual signal — ⚠️ or "BREAKING CHANGE" prominently at the start
2. What changed — old behavior → new behavior
3. Hard deadline — exact date old behavior stops working
4. Migration guide link — how to update without breaking
Option B is good but lacks the visual warning signal (⚠️) and the migration guide link.
Option D ("security improvement") is actively dangerous — it obscures a breaking change behind positive framing.
Why the migration link is non-negotiable:
• Teams need to plan the migration
• Without the guide, they'll flood support with the same question
• It's the single most important thing developers need in this moment
Key vocabulary:
• Breaking change — a modification that requires existing users to update their code
• Deprecation — announcing that a feature will be removed in a future version
• Migration guide — documentation explaining how to update code to work with the new version
• Sunset date — the specific date when deprecated functionality will be removed
4 / 25
A product team asks: "Should we combine all fixes, features, and changes into one big changelog entry called 'v2.4.0 Update'?" What is the best response?
Changelogs need categorical structure so developers can quickly find the type of change relevant to them.
Why categorization matters:
• A security team scanning the changelog only cares about "Security" entries
• A developer asked "did anything break in this release?" needs "Breaking Changes" or "Changed"
• A sales engineer demoing new features needs the "Added" section
Standard categories (Keep a Changelog format):
• Added — new features
• Changed — changes to existing functionality
• Deprecated — features that will be removed
• Removed — features that were removed
• Fixed — bug fixes
• Security — security patches
Option D is wrong — individual blog posts for every change is impractical and creates noise; most changes belong in the changelog.
Key vocabulary:
• Categorical changelog — a changelog organized by type of change (Added, Fixed, etc.)
• Keep a Changelog — the widely adopted format standard for developer changelogs
• Scanning behavior — the way developers read changelogs by type, not linearly
• Release notes — a more narrative version of a changelog, often published on a blog
5 / 25
A startup wants to write their first changelog. They say: "We'll just do it when we have time and add whatever we remember." What practice should they adopt instead?
The best changelog practice is to update it at PR time — when the change is live in the developer's mind.
Why "when we have time" fails:
• Developers forget what changed between releases
• Changelogs written post-hoc become incomplete
• Users lose trust when the changelog is clearly incomplete or out of date
Why automatic git-commit changelogs (Option B) fail:
• Commit messages are written for developers ("Fix edge case in checkout flow") not users ("Fixed: checkout sometimes skipped payment step")
• Auto-generated changelogs expose internal code language to end users
• They don't distinguish significance (a typo fix and a breaking change look the same)
The CHANGELOG.md-in-repo approach:
• Lives with the code — never lost
• Updated at PR time (while context is fresh)
• Reviewed as part of the PR process
• Can be rendered by GitHub as a formatted release note
Key vocabulary:
• CHANGELOG.md — a markdown file in the repository root tracking all notable changes
• PR-time changelog update — the practice of updating the changelog as part of submitting a pull request
• Release notes — a formatted, audience-friendly version of the changelog for a specific release
• Auto-generated changelog — a changelog created from commit messages (often insufficient for end users)
6 / 25
Sarah: 'Hey team, we just released a new version of the authentication service. I've drafted a changelog entry saying 'Improved performance and enhanced security.' But my manager keeps asking for more details – specifically, *what* improvements were made to performance and *how* did they enhance security?'. Which of the following is the BEST response Sarah should give?
Sarah is right to feel pressure; changelogs should provide specific details about changes. While 'Improved performance and enhanced security' are good high-level summaries, they lack concrete information that allows developers to understand the impact of the release. A strong changelog entry should quantify improvements (e.g., 'Reduced API response time by 30%') and explain *how* enhancements were achieved (e.g., 'Implemented rate limiting and strengthened authentication protocols').
7 / 25
Alex: "Hey team, we just released version 1.5.0 of the reporting API. I've written a PR description saying 'Resolved several issues and added new metrics.' It feels a bit vague, doesn't it? My lead wants to see more specifics – things like what *exactly* was resolved and which new metrics were introduced. Here's my draft:
```
Resolved several issues and added new metrics.
```
What's the best way to revise this description for a PR, considering Alex's feedback?
The key here is understanding that changelog entries for PR descriptions should be specific enough for developers to quickly grasp the impact of the changes. Alex's lead wants concrete details to assess the scope and potential consequences of the update. Simply stating 'resolved several issues' doesn't provide this information; it avoids addressing the core feedback about needing clarity on *what* was fixed and *which* new metrics were added. A better approach would be to list the specific resolutions and the newly introduced metrics.
8 / 25
John writes a Slack message to the team: 'Just merged the latest changes. Looks like we squashed a bunch of small bugs and added some minor UI tweaks.'
Which of the following is the MOST effective way for John to update the team during a daily stand-up?
A: 'We fixed a few things, mostly small stuff. It's all in the PR.'
B: 'I merged some changes that included bug fixes and UI improvements. We're focusing on stability and usability enhancements.'
C: 'Just pushed a new build with some minor updates – don't worry about it!'
D: 'The PR has several commits, so the changes are substantial. I'll send the link if anyone wants to review.'
Option B is the best response because it provides context and explains the *type* of changes made (bug fixes and UI improvements) while framing them as enhancements to stability and usability – key developer relations terms. Options A, C, and D are too informal or lack sufficient detail for a stand-up update. It's crucial to communicate value clearly, not just state that 'changes were merged.'
9 / 25
You're reviewing a pull request for the user profile service. The developer has written this changelog entry: 'Implemented new validation rules for email addresses and phone numbers.' However, the PR includes several commits – one adding the validation logic, another updating the UI to display error messages if the input is invalid, and a third refactoring some related code. Which of the following best describes how you should approach summarizing this change for a developer-focused changelog?
A: 'Added email/phone number validation.'
B: 'Improved data integrity by implementing new client-side validation rules and updating UI feedback.'
C: 'Implemented stricter input validation to prevent incorrect user data from being stored.'
D: 'Updated the user profile service with improved data quality controls.'
This question tests understanding of how changelogs should accurately reflect *all* aspects of a change, not just a high-level summary. Option A is too simplistic and misses the UI updates and refactoring. Option B correctly captures the key elements: validation rules, user feedback (UI), and related code changes. Options C and D are overly technical and don't convey the overall impact of the update effectively.
10 / 25
Mark just released a new version of the payment processing service. He's drafted this changelog entry: 'Optimized database queries and improved transaction speed.' However, during code review, you notice he only optimized one specific query – the one used for refund requests. The rest of the changes were minor UI tweaks to display success/failure messages. Which of the following is the MOST appropriate revision of Mark's changelog entry to accurately reflect the work done?
The original entry is too broad. While 'optimized database queries' is accurate, it doesn't specify *which* query was optimized – crucial for developers understanding the impact. Option 1 correctly highlights the specific optimization (refund requests) and acknowledges the minor UI changes. Options 2 & 3 are overly verbose, and option 4 is too general; a changelog should be precise and actionable.
11 / 25
Sarah: 'Hey team, we just released a new version of the authentication service. I've drafted a changelog entry saying 'Improved performance and enhanced security.' But my manager keeps asking for more details – specifically, *what* improvements were made to performance and *how* did they enhance security?'. Which of the following is the BEST response Sarah should give?
Sarah is right to feel pressure; changelogs should provide specific details about changes. While 'Improved performance and enhanced security' are good high-level summaries, they lack concrete information that allows developers to understand the impact of the release. A strong changelog entry should quantify improvements (e.g., 'Reduced API response time by 30%') and explain *how* enhancements were achieved (e.g., 'Implemented rate limiting and strengthened authentication protocols').
12 / 25
Alex: "Hey team, we just released version 1.5.0 of the reporting API. I've written a PR description saying 'Resolved several issues and added new metrics.' It feels a bit vague, doesn't it? My lead wants to see more specifics – things like what *exactly* was resolved and which new metrics were introduced. Here's my draft:
```
Resolved several issues and added new metrics.
```
What's the best way to revise this description for a PR, considering Alex's feedback?
The key here is understanding that changelog entries for PR descriptions should be specific enough for developers to quickly grasp the impact of the changes. Alex's lead wants concrete details to assess the scope and potential consequences of the update. Simply stating 'resolved several issues' doesn't provide this information; it avoids addressing the core feedback about needing clarity on *what* was fixed and *which* new metrics were added. A better approach would be to list the specific resolutions and the newly introduced metrics.
13 / 25
John writes a Slack message to the team: 'Just merged the latest changes. Looks like we squashed a bunch of small bugs and added some minor UI tweaks.'
Which of the following is the MOST effective way for John to update the team during a daily stand-up?
A: 'We fixed a few things, mostly small stuff. It's all in the PR.'
B: 'I merged some changes that included bug fixes and UI improvements. We're focusing on stability and usability enhancements.'
C: 'Just pushed a new build with some minor updates – don't worry about it!'
D: 'The PR has several commits, so the changes are substantial. I'll send the link if anyone wants to review.'
Option B is the best response because it provides context and explains the *type* of changes made (bug fixes and UI improvements) while framing them as enhancements to stability and usability – key developer relations terms. Options A, C, and D are too informal or lack sufficient detail for a stand-up update. It's crucial to communicate value clearly, not just state that 'changes were merged.'
14 / 25
You're reviewing a pull request for the user profile service. The developer has written this changelog entry: 'Implemented new validation rules for email addresses and phone numbers.' However, the PR includes several commits – one adding the validation logic, another updating the UI to display error messages if the input is invalid, and a third refactoring some related code. Which of the following best describes how you should approach summarizing this change for a developer-focused changelog?
A: 'Added email/phone number validation.'
B: 'Improved data integrity by implementing new client-side validation rules and updating UI feedback.'
C: 'Implemented stricter input validation to prevent incorrect user data from being stored.'
D: 'Updated the user profile service with improved data quality controls.'
This question tests understanding of how changelogs should accurately reflect *all* aspects of a change, not just a high-level summary. Option A is too simplistic and misses the UI updates and refactoring. Option B correctly captures the key elements: validation rules, user feedback (UI), and related code changes. Options C and D are overly technical and don't convey the overall impact of the update effectively.
15 / 25
Mark just released a new version of the payment processing service. He's drafted this changelog entry: 'Optimized database queries and improved transaction speed.' However, during code review, you notice he only optimized one specific query – the one used for refund requests. The rest of the changes were minor UI tweaks to display success/failure messages. Which of the following is the MOST appropriate revision of Mark's changelog entry to accurately reflect the work done?
The original entry is too broad. While 'optimized database queries' is accurate, it doesn't specify *which* query was optimized – crucial for developers understanding the impact. Option 1 correctly highlights the specific optimization (refund requests) and acknowledges the minor UI changes. Options 2 & 3 are overly verbose, and option 4 is too general; a changelog should be precise and actionable.
16 / 25
Sarah: 'Hey team, we just released a new version of the authentication service. I've drafted a changelog entry saying 'Improved performance and enhanced security.' But my manager keeps asking for more details – specifically, *what* improvements were made to performance and *how* did they enhance security?'. Which of the following is the BEST response Sarah should give?
Sarah is right to feel pressure; changelogs should provide specific details about changes. While 'Improved performance and enhanced security' are good high-level summaries, they lack concrete information that allows developers to understand the impact of the release. A strong changelog entry should quantify improvements (e.g., 'Reduced API response time by 30%') and explain *how* enhancements were achieved (e.g., 'Implemented rate limiting and strengthened authentication protocols').
17 / 25
Alex: "Hey team, we just released version 1.5.0 of the reporting API. I've written a PR description saying 'Resolved several issues and added new metrics.' It feels a bit vague, doesn't it? My lead wants to see more specifics – things like what *exactly* was resolved and which new metrics were introduced. Here's my draft:
```
Resolved several issues and added new metrics.
```
What's the best way to revise this description for a PR, considering Alex's feedback?
The key here is understanding that changelog entries for PR descriptions should be specific enough for developers to quickly grasp the impact of the changes. Alex's lead wants concrete details to assess the scope and potential consequences of the update. Simply stating 'resolved several issues' doesn't provide this information; it avoids addressing the core feedback about needing clarity on *what* was fixed and *which* new metrics were added. A better approach would be to list the specific resolutions and the newly introduced metrics.
18 / 25
John writes a Slack message to the team: 'Just merged the latest changes. Looks like we squashed a bunch of small bugs and added some minor UI tweaks.'
Which of the following is the MOST effective way for John to update the team during a daily stand-up?
A: 'We fixed a few things, mostly small stuff. It's all in the PR.'
B: 'I merged some changes that included bug fixes and UI improvements. We're focusing on stability and usability enhancements.'
C: 'Just pushed a new build with some minor updates – don't worry about it!'
D: 'The PR has several commits, so the changes are substantial. I'll send the link if anyone wants to review.'
Option B is the best response because it provides context and explains the *type* of changes made (bug fixes and UI improvements) while framing them as enhancements to stability and usability – key developer relations terms. Options A, C, and D are too informal or lack sufficient detail for a stand-up update. It's crucial to communicate value clearly, not just state that 'changes were merged.'
19 / 25
You're reviewing a pull request for the user profile service. The developer has written this changelog entry: 'Implemented new validation rules for email addresses and phone numbers.' However, the PR includes several commits – one adding the validation logic, another updating the UI to display error messages if the input is invalid, and a third refactoring some related code. Which of the following best describes how you should approach summarizing this change for a developer-focused changelog?
A: 'Added email/phone number validation.'
B: 'Improved data integrity by implementing new client-side validation rules and updating UI feedback.'
C: 'Implemented stricter input validation to prevent incorrect user data from being stored.'
D: 'Updated the user profile service with improved data quality controls.'
This question tests understanding of how changelogs should accurately reflect *all* aspects of a change, not just a high-level summary. Option A is too simplistic and misses the UI updates and refactoring. Option B correctly captures the key elements: validation rules, user feedback (UI), and related code changes. Options C and D are overly technical and don't convey the overall impact of the update effectively.
20 / 25
Mark just released a new version of the payment processing service. He's drafted this changelog entry: 'Optimized database queries and improved transaction speed.' However, during code review, you notice he only optimized one specific query – the one used for refund requests. The rest of the changes were minor UI tweaks to display success/failure messages. Which of the following is the MOST appropriate revision of Mark's changelog entry to accurately reflect the work done?
The original entry is too broad. While 'optimized database queries' is accurate, it doesn't specify *which* query was optimized – crucial for developers understanding the impact. Option 1 correctly highlights the specific optimization (refund requests) and acknowledges the minor UI changes. Options 2 & 3 are overly verbose, and option 4 is too general; a changelog should be precise and actionable.
21 / 25
Sarah: 'Hey team, we just released a new version of the authentication service. I've drafted a changelog entry saying 'Improved performance and enhanced security.' But my manager keeps asking for more details – specifically, *what* improvements were made to performance and *how* did they enhance security?'. Which of the following is the BEST response Sarah should give?
Sarah is right to feel pressure; changelogs should provide specific details about changes. While 'Improved performance and enhanced security' are good high-level summaries, they lack concrete information that allows developers to understand the impact of the release. A strong changelog entry should quantify improvements (e.g., 'Reduced API response time by 30%') and explain *how* enhancements were achieved (e.g., 'Implemented rate limiting and strengthened authentication protocols').
22 / 25
Alex: "Hey team, we just released version 1.5.0 of the reporting API. I've written a PR description saying 'Resolved several issues and added new metrics.' It feels a bit vague, doesn't it? My lead wants to see more specifics – things like what *exactly* was resolved and which new metrics were introduced. Here's my draft:
```
Resolved several issues and added new metrics.
```
What's the best way to revise this description for a PR, considering Alex's feedback?
The key here is understanding that changelog entries for PR descriptions should be specific enough for developers to quickly grasp the impact of the changes. Alex's lead wants concrete details to assess the scope and potential consequences of the update. Simply stating 'resolved several issues' doesn't provide this information; it avoids addressing the core feedback about needing clarity on *what* was fixed and *which* new metrics were added. A better approach would be to list the specific resolutions and the newly introduced metrics.
23 / 25
John writes a Slack message to the team: 'Just merged the latest changes. Looks like we squashed a bunch of small bugs and added some minor UI tweaks.'
Which of the following is the MOST effective way for John to update the team during a daily stand-up?
A: 'We fixed a few things, mostly small stuff. It's all in the PR.'
B: 'I merged some changes that included bug fixes and UI improvements. We're focusing on stability and usability enhancements.'
C: 'Just pushed a new build with some minor updates – don't worry about it!'
D: 'The PR has several commits, so the changes are substantial. I'll send the link if anyone wants to review.'
Option B is the best response because it provides context and explains the *type* of changes made (bug fixes and UI improvements) while framing them as enhancements to stability and usability – key developer relations terms. Options A, C, and D are too informal or lack sufficient detail for a stand-up update. It's crucial to communicate value clearly, not just state that 'changes were merged.'
24 / 25
You're reviewing a pull request for the user profile service. The developer has written this changelog entry: 'Implemented new validation rules for email addresses and phone numbers.' However, the PR includes several commits – one adding the validation logic, another updating the UI to display error messages if the input is invalid, and a third refactoring some related code. Which of the following best describes how you should approach summarizing this change for a developer-focused changelog?
A: 'Added email/phone number validation.'
B: 'Improved data integrity by implementing new client-side validation rules and updating UI feedback.'
C: 'Implemented stricter input validation to prevent incorrect user data from being stored.'
D: 'Updated the user profile service with improved data quality controls.'
This question tests understanding of how changelogs should accurately reflect *all* aspects of a change, not just a high-level summary. Option A is too simplistic and misses the UI updates and refactoring. Option B correctly captures the key elements: validation rules, user feedback (UI), and related code changes. Options C and D are overly technical and don't convey the overall impact of the update effectively.
25 / 25
Mark just released a new version of the payment processing service. He's drafted this changelog entry: 'Optimized database queries and improved transaction speed.' However, during code review, you notice he only optimized one specific query – the one used for refund requests. The rest of the changes were minor UI tweaks to display success/failure messages. Which of the following is the MOST appropriate revision of Mark's changelog entry to accurately reflect the work done?
The original entry is too broad. While 'optimized database queries' is accurate, it doesn't specify *which* query was optimized – crucial for developers understanding the impact. Option 1 correctly highlights the specific optimization (refund requests) and acknowledges the minor UI changes. Options 2 & 3 are overly verbose, and option 4 is too general; a changelog should be precise and actionable.
What does the "Changelog Writing — Developer Relations English Exercises" exercise cover?
Practice writing developer changelogs: user-facing bug fix entries, feature announcements, breaking change notices, and categorical changelog structure.
Is this exercise free to use?
Yes. Every exercise on CoderSlingo, including this one, is free to use with no account, sign-up, or paywall.
How many questions are in "Changelog Writing — Developer Relations English Exercises"?
This exercise has 25 questions. Each one gives instant feedback with an explanation, so you can see exactly why an answer is right or wrong.
Do I need to create an account to save my progress?
No account is required. The progress bar and score are tracked in your browser for the current session -- the exercise is designed to be a quick, repeatable drill rather than something you resume later.
What happens if I get an answer wrong?
You'll see the correct answer highlighted immediately, along with a short explanation of why it's correct. Wrong answers aren't penalized beyond your score, and you can keep going through every question.
How is this exercise different from reading an article?
Articles explain vocabulary and concepts through prose, while exercises like this one are interactive drills -- multiple-choice questions -- that test and reinforce your recall of specific terms and phrasing.
Can I retry this exercise?
Yes -- use the "Try again" button on the results screen to reset your score and go through all the questions again from the start.
Where can I find more Developer Relations exercises?
Browse the full Developer Relations hub for related drills, or check the site-wide exercises index for other IT English topics.
Is this exercise suitable for beginners?
This exercise assumes basic familiarity with IT terminology. If a term feels unfamiliar, check the site Glossary for a plain-English definition before attempting the questions.
How often is new content like this published?
New exercises are added regularly across all categories, alongside new vocabulary sets and articles. Check back on the exercises hub to see what's new.