My understanding was that using:
@Size(2) String[] arrayOfTwoStrings;
was basically "wrong" according to the new annotation semantics. Rather you'd have:
@Size(2) String[] arrayOfTwoCharacterCodes;
String @Size(2) [] arrayOfTwoStrings;
The "nuclear" option is to adopt this wholeheartedly in BV 2.0. We could additionally support a "compatibility mode" that, if enabled, would preserve the BV 1.x constrained array semantics, with no Java-based option to validate each element (as the appropriate constraint position has been hijacked). Alternatively, a given BV implementation could support a special mode to turn on the "new" behavior, but that would probably be much more messy for re-unifying the specification and implementations in the future.
Matt