Fluentd v0.14, which has drastically updated Plugin APIs, also has a layer to provide compatibility for old-fashioned plugins to support them and huge amount of existing configuration files in user environments.
It was far from easy, and developers had to do everything possible, including any kind of black magics.
This talk will show some stories with code and commits of a software used in real world:
* How to provide compatibility between different APIs
* How to provide required methods on existing objects
* How to make sure to call super
for existing methods without super