Mule Management Console 3 ships with both mule2 and mule3 agents. You can monitor all your mule instances from latest MMC and benefit from UI improvements and bug fixes even if you didn’t upgrade to mule3.
MMC 3.1 takes it to another level by introducing backward compatibility support for both agents. Safely upgrades your MMC console without touching mule instances! Everything you already configured will still work and UI will provide access to features depending on agent capacities.
Validating such support requires a fair amount of QA and we always try to maximize automatized testing. Two approaches are used to achieve this:
- end-to-end integration tests
- automatized API backward compatibility checking
Continuous integration
A previous post describes in details our continuous integration strategy. While fundamental to achieve high quality this approach does not ensure the whole API spectrum is covered. Clearly there is a need for something else.
Continuous backwards compatibility checking
Every company has some sort of public API deprecation policy. Semantic versioning is an attempt to standardize those based on version number semantics.
Following this method our second approach ensures no breaking changes is introduced by consistently checking whole public API with previous released version. Authorized changes can then be relaxed depending on version type.
Thanks to a maven plugin this check is part of our build life cycle. No way we can let a breaking change sneak in!
Are you using other solutions to ensure backward compatibility? We are always searching for disrupting ideas to improve MuleSoft products.