question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

@lipis and I discussed how we could notify users of new features. My suggestion was to show changelog in the help dialog.

Whatever we do, I think we should keep a user-facing changelog for excalidraw.com itself, not just the package. Meaning it should contain changes not listed in the @excalidraw/excalidraw package changelog.

Moreover, if we want to display a changelog in the UI, each change should stand on its own because unlike in the package, we release each change immediately. Thus, it doesn’t make sense to put the changes under sections because it would result in something like this:

# feature
- lalala
# fix
- lalala
# feature
- lalala
# feature
- lalala

Moreover still, since we’ll effectively need 2 separate changelogs, I don’t think maintaining (and syncing) both of them manually is feasible.


As such, I propose to maintain a machine-readable changelog, where:

  1. Each line is one commit to master.
  2. Each line is qualified with the type of the change (we now do that already by prefixing the commit message with feat: etc.) so it can be automatically parsed and sorted under respective section for the user-facing changelogs.

If we employ Enforce semantic PR title #2531, this machine readable changelog can be fully automated.

After that, we maintain two (or more) separate, user-facing changelogs. One for the web app, and one for the package.

The web-app changelog will largely be identical to the machine-readable (+ some styling changes so it displays nicely in the UI), while the package changelog will look more or less identical to how the changelog looks now (with sections).

These use-facing changelogs could be automated, as well.

Issue Analytics

  • State:open
  • Created 3 years ago
  • Reactions:1
  • Comments:6 (6 by maintainers)

github_iconTop GitHub Comments

1reaction
NMinhNguyencommented, Jan 3, 2021

Having used conventional commits for changelog generation extensively at work (via Lerna) and recently having tried https://github.com/atlassian/changesets, I’d say that the Changesets flow is preferable because commit messages can’t easily be edited once they land on the main branch (you have to rewrite history causing conflicts for others), and generally speaking commit messages (or PR titles) aren’t very suitable for authoring text in my opinion. With Changesets, it’s a .md file that can be edited subsequently (or even deleted) and you can have them auto formatted by Prettier, you can preview the rendered Markdown in VS Code etc. 😃 Pretty sure you should be able to programmatically customise changelog generation to suit your needs as well.

0reactions
ad1992commented, Dec 16, 2020

Yep, +1, better to follow an existing convention (also some users will be familiar with it) and these would be supported in the Github action out of the box afaik as well so we need not maintain separately.

Read more comments on GitHub >

github_iconTop Results From Across the Web

News and podcasts for developers |> Changelog
Podcasts from Changelog. Weekly shows about software development, developer culture, open source, building startups, artificial intelligence, brain science, and ...
Read more >
Keep a Changelog
A changelog is a file which contains a curated, chronologically ordered list of notable changes for each version of a project. Why keep...
Read more >
Changelog - Wikipedia
A changelog is a log or record of all notable changes made to a project. The project is often a website or software...
Read more >
Changelog - The GitHub Blog
Changelog. Subscribe to all Changelog posts via RSS or follow GitHub Changelog on Twitter to stay updated on everything we ship.
Read more >
What is Changelog & Example of ARN Change Log Format
Perhaps you've heard of the term “changelog” but aren't quite sure what it is. Simply put, changelog is a documented record of all...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found