Check for breaking changes in APIs
This is an old post, but ApiChange still exists. but now on GitHub.
Have you ever had the need to compare interfaces of two versions of the same framework?
If you have, then ApiChange is a tool for you. It’s open source, powerful and easy to use 🙂
I gave it a spin comparing current trunk version 2.9.2 of Lucene.Net with the latest official release version 2.4.0.
I downloaded ApiChange and ran the following command in a command prompt:
ApiChange.exe -Diff -old C:Lucene.Net_2_4_0Lucene.Net.dll -new C:trunkLucene.Net.dll
The output lists all the differences, but here is a summary:
- 23 public types where removed
- 96 public types where added
- 158 public types where changed
Cool little tool with other features such as:
- Diff public types for breaking changes.
- Who uses a method?
- Who uses a type?
- Who uses implements an interface?
- Who references me?
- What format has the binary (32/64, Managed C++, Pure IL, Unmanaged)?
- Search for all event subscribers and unsubscribers.
It’s based on Mono Cecil – a free IL parser, and not reflection as I initial thought. Go check it out…