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
Satoshi "moris" Tagomori, @tagomoris
OSS developer/maintainer: Fluentd, Norikra, MessagePack-Ruby, Woothee and many others mainly about Web services, data collecting and distributed/streaming data processing. Living in Tokyo, and day job is for Treasure Data.