Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

scope question: add changelog parsing code? #8

Closed
ericphanson opened this issue Dec 26, 2024 · 1 comment · Fixed by #11
Closed

scope question: add changelog parsing code? #8

ericphanson opened this issue Dec 26, 2024 · 1 comment · Fixed by #11

Comments

@ericphanson
Copy link
Collaborator

ericphanson commented Dec 26, 2024

I've written some code to parse markdown changelogs, using CommonMark.jl and MarkdownAST.jl. I am thinking about using this potentially for:

  • with a REPL mode, being able to query installed packages changelogs (if they have one under some well-known names like NEWS or CHANGELOG.md, and if it's parsable)
  • potentially in RegistryCI.jl to allow relaxing the must-have-release-notes-for-breaking-changes-check where one would not need to supply Registrator with the notes if RegistryCI can parse out breaking changes from a changelog in a well-known place
  • potentially surfacing changes for CompatHelper, a la @IanButterworth's comment here

This changelog-parsing code could live in a separate package or could be added here. If it were added here, it would add some dependencies:

  • CommonMark, for parsing changelogs from files
  • MarkdownAST, since my parsing code is based on MarkdownAST's representation
  • Dates, for parsing dates
  • AbstractTrees, for traversing MarkdownAST trees (already a dep of MarkdownAST)
  • and OrderedCollections, since I use an OrderedDict, though this could be dropped if necessary for some other representation (vector of pairs or similar)

It would also add some complexity (currently ~300 LoC, though ~1/3 of that is just the contents of this PR).

Alternatively, it could be a separate package (ChangelogParser.jl or maybe KeepAChangelog.jl or something like that).

Thoughts? cc @mortenpi @fredrikekre

@fredrikekre
Copy link
Member

I vote for including it here!

This was referenced Dec 27, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants