Due to major architectural changes, including the JMX compatibility, there is no backwards compatibility between version 4.1 of the Java Dynamic Management Kit and previous releases (3.2, 3.0, 2.0). Code developed for versions 3.2, 3.0, and 2.0 will most likely need to be ported in order to take advantage of the new architecture. Agents and managers developed with different versions of the product are definitely incompatible at the communications level.
Versions 4.1 and 4.0 of the Java Dynamic Management Kit are fully code-compatible: applications developed with version 4.0 will compile without modification when using version 4.1 of the packages. However, due to serialization issues, agent and manager applications of heterogeneous 4.x versions cannot communicate. This is easily solved by recompiling the 4.0 applications using the 4.1 packages.
One notable exception to version incompatibility at the communication level is the SNMP interoperability. Due to the relatively stable protocol definition, SNMP can be used to connect different versions of the Java Dynamic Management Kit, to the extent that the protocol was implemented by those versions. Agents or managers must continue to run their original version of the product, but they may communicate through SNMP with entities relying on a different version.
Files generated by the mibgen tool of the 4.1 release are compatible with those generated by the 4.0 version with one exception. The metadata classes generated for a MIB and used by the SNMP adaptor need to be regenerated. The other classes generated to represent the whole MIB and a skeleton implementation of each MIB group are unchanged, and they can be safely replaced by your previously customized implementations.