versions icon indicating copy to clipboard operation
versions copied to clipboard

#979: overhaul of the updates logger

Open andrzejj0 opened this issue 2 months ago • 5 comments

  • Extended the API for the updates logger
  • New, appendable xml schema which allows recording multiple executions of the plugin
  • Added json and csv

The change logger updates are now generated using an XSD schema rather than using Modello. The primary reason was the ability to easily (de)serialize using multiple formats + extensibility.

The ultimate goal of this is to use this change logger model to actually transmit updates in "display" targets as well, so that both "display" and "change" targets share the common backend.

I know it's going to be a large one, so I'm doing this in stages. First stage is this updates overhaul.

@slawekjaranowski please review

Edit: it's actually not breaking since the old API is made deprecated, but is still there, to be retired.

Edit2: I did test the site. ;)

andrzejj0 avatar Oct 04 '25 14:10 andrzejj0

Will add an example of change recorder logs to DisplayDependencyUpdates.

andrzejj0 avatar Oct 26 '25 10:10 andrzejj0

Maybe we can use jakarta instead of javax? If it's not a big deal now?

slachiewicz avatar Nov 01 '25 09:11 slachiewicz

Maybe we can use jakarta instead of javax? If it's not a big deal now?

I tried, but I think that is not possible: we still support Java 8. https://github.com/andrzejj0/versions-maven-plugin/actions/runs/18996348155/job/54256770147

javax.xml.bind:jaxb-api:2.3.1 is the last version that supports Java 8, but it is only compatible with javax.

andrzejj0 avatar Nov 01 '25 12:11 andrzejj0

However, it's easy to do it when we eventually drop Java 8 support (some day). Meanwhile, added you to reviewers.

Your Copilot PR would still need to use this new change recorder to record changes, but that's pretty straightforward (a prompt away).

andrzejj0 avatar Nov 01 '25 12:11 andrzejj0

@slawekjaranowski kindly reminder :)

andrzejj0 avatar Nov 30 '25 13:11 andrzejj0