I found this tool, http://sab39.netreach.com/Software/Japitools/JDK-Results/46/, which checks for backwards compatibility between different versions of APIs for Java using javadoc.
Is there an tool equivalent to this one for C#/.NET?
Here is an example of a comparison between JDK 1.5 and JDK 6 APIs using this tool: http://www.kaffe.org/~stuart/japi/htmlout/h-jdk15-jdk6
Backward compatible (also known as downward compatible or backward compatibility) refers to a hardware or software system that can successfully use interfaces and data from earlier versions of the system or with other systems.
In other words, you should ensure that the existing functionality of the API will remain intact while the new functionality is added. An API is backward compatible if a client (a program written to consume the API) that can work with one version of the API can work the same way with future versions of the API.
GCC libstdc++ has been backward compatible with no ABI breaks for around a decade. GNU libc for what, two decades. You don't break such fundamental ABIs on a whim. If the libstdc++ ABI had changed, it would have broken every single bit of C++ code built with GCC4 over the last decade.
C# 4.0 is nearly backwards compatible with previous versions but there are a few breaking changes. For most ordinary code you won't notice these breaking changes. For the new features in C# 4 you can check out the Wikipedia article which has quite a good summary with examples.
ApiChange does take a set of "old" assemblies and a set of "new" assemblies which are diffed for potentially breaking Api changes:
ApiChange -diff -old HelloWorldV1.dll -new HelloWorldV2.dll
LibCheck allows you to compare two versions of an assembly and determine the differences. The tool reports the differences as a combination of "removed" and "added" APIs:
LibCheck -store HelloWorld.dll 1.0 -full C:\HelloWorldV1\
LibCheck -store HelloWorld.dll 2.0 -full C:\HelloWorldV2\
LibCheck -compare 1.0 2.0
See also "Working with LibCheck", "Highlight Public API Differences Between Assembly Revisions" and "Api Diff Between Assemblies" articles.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With