Re: Structured Changelogs for ELPA packages
Philip Kaludercic <[email protected]> Sat, 01 Aug 2026 22:03:50 +0000
| Newsgroups | gmane.emacs.devel |
|---|---|
| Message-ID | <[email protected]> |
Arash Esbati <[email protected]> writes: > Philip Kaludercic <[email protected]> writes: > >> It seems that there are two main positions we could take to prescribing >> some kind of structure that we could exploit to extract the information >> from these files: >> >> - The strict approach would be to say that if we want packages to have >> fine-granular news, that they have to use a specific file format, say >> Org-mode and that the sections describing specific releases have to be >> annotated with tags or properties. The simplest idea would be just to >> require the org-mode file to include a section with a :release: tag, >> e.g. >> >> * Version 1.2.3 :release: >> Version 1.2.3 of the package foo includes the following new features: >> ... >> >> - The permissive approach would be to allow any kind of file format and >> then search for sections that would likely to contain the news for a >> specific version. So if you had a NEWS.md and released version 1.2.3, >> then the first line that would look like >> >> # Version 1.2.3 >> Version 1.2.3 of the package foo includes the following new features: >> ... >> >> then we would extract the subsection for the news of this specific >> version. For plaintext, it would be more difficult, but failing to >> find a specific release section isn't fatal as we can just fall back >> to our previous strategy. >> >> Are there any other ideas or comments on this question? My personal >> position is that the first approach is preferable, even if that would >> require some authors to switch to org-mode, but that is only necessary >> if they value improved handling of their changelogs. The second >> approach has the advantage that it would support more packages right >> away, but that would come at the cost of possible false positives. > > I can only tell for AUCTeX, but back then, I had a look at other ELPA > packages and I found a NEWS.org with the format described in 'Keep a > Changelog'[1] to be easy and accessible. The headers are clearly > defined and formatting with Org is easy so you don't have to be an Org > expert. Extracting the relevant portions from such a file should be > easy as well. Hmm, [1] is actually a lot more formal than anything we had discussed in the bug report I mentioned since it prescribes how the contents of the section should be formatted. Also, it explicitly says "Changelogs are for humans, not machines." which, while I agree in principle, is the opposite direction of what we were trying to solve, since we want to have a machine-friendly and predictable way to detect and extract only the relevant section from a NEWS.org file. > Best, Arash > > Footnotes: > [1] https://keepachangelog.com/en/1.1.0/