In this issue we describe our process when we want to change or remove a public API. The goal is to put this knowledge in a guide on developer.piwik.org so it is easy to spread this knowledge to all team members including new ones in the future.
All popular software platforms have a process to ensure Backward Compatibility (BC) is kept between
Patch releases (see Semantic Versioning 2.0.0). when BC is kept, it means users can be confident to upgrade to a newer version (Minor or Patch release) that their platform will still work (including any installed third party plugins.). For example Symfony have a very advanced BC guide: Our Backwards Compatibility Promise .
Here are the notes how our current process work:
<a class='mention' href='https://github.com/deprecated'>@deprecated</a>tag in the API, event name, etc.
Majorversion (eg. Piwik 3.0.0) then we are will remove all
<a class='mention' href='https://github.com/deprecated'>@deprecated</a>code and therefore break BC.
We are proposing serious changes in our release cycle in order to not break BC in a major release cycle. Join in at #8547
this is now documented in https://developer.matomo.org/guides/apis