Hi, In Malhar there are relatively smaller number of operators that we use in our demo applications, customer applications, POCs etc that are mature.
The library is cluttered with operators especially in lib/util, lib/algo, lib/math packages which can be cleaned up by either removing them or improving them but that breaks semantic versioning. When we add new operators/utilities it takes certain time for them to mature. Japicmp doesn't help because it doesn't honor @Evolving @Unstable annotations for now. I wanted to propose that we add an annotation, let's say, re-use hadoop's @Stable and mark the operators which are stable with it and perform semver check on just these operators. The 0.7.0 version of japi cmp has the support for inclusions (as well as exclusions) based on annotations. Here is the info: https://github.com/siom79/japicmp/issues/88 The reason I am inclined to the inclusion approach is that there are relatively smaller number of operators which IMO are stable. A lot of them aren't. So instead of going and marking so many as Evolving, we will mark relatively few of them as stable. Also new development can be facilitated by this. We wouldn't have to add @Evolving to everything which is new. Instead we will mark it @Stable when it is. Please let me know what you think? Thanks, Chandni
