Revapi

Full-featured API checker for Java and beyond.

There hasn’t been much public progress on Revapi lately but it nevertheless slowly crawls forward in its quest to become the best programming API checking tool in the multiverse :)

A couple of days ago, I released new versions of all the Revapi components to define their module names marking the beginnings of making them fully modularized Java libraries.

The following were released:

  • Revapi API 0.8.3

  • Revapi Basic Features 0.6.2

  • Revapi Ant Task 0.6.2

  • Revapi Java SPI 0.13.2

  • Revapi Java Extension 0.14.2

  • Revapi Text Reporter 0.8.1

  • Revapi Standalone 0.6.3

  • Revapi Maven Plugin 0.9.3

Fixes

In addition to every above mentioned module defining the Automatic-Module-Name (to "claim" its module name for the future), there also were some important fixes.

  • Configuration doesn’t get confused when an element that can contain a list contains a textual value.

  • An NPE could be thrown when encountering a missing type while analyzing Java archives.

  • Ant extension should finally work properly (issue #94)

  • Failure to construct the element tree when javac fails to analyze some classes should now be fixed

  • Revapi now should work without warnings under Java 9 (when put on the classpath, NOT modulepath) (issue #69).

New Features

The detection of java.class.serialVersionUIDUnchanged switched from using the strict "class digest" used by the JVM to determine a default serialVersionUID to a more meaningful (for the purpose of API change tracking) class structural changes. The difference will now only be reported when the types or number of fields in a class changes (this is configurable by revapi.java.checks.serialVersionUID.changeDetection configuration property which defaults to structural but can be set to jvm to revert to the original behavior).

Thanks

Many thanks go out to Anton Klaren for fixing the XML-to-JSON list conversion bug.

Future

Due to limited time available I am still not finished with the greatly enhanced element matching mentioned in the last release notes.

Revapi still has many other areas to improve in. Your help of any kind is greatly appreciated.

Back to top

Msb3 Maven skin by Marek Romanowski.