I'm not a fan myself either. If I recall correctly, some MicroProfile specifications had troubles with keeping those annotations up to date, and I'd guess that's because 1. [almost] no one actually remembers the annotations are there (I know I don't), 2. [almost] no one actually understands how to use them (I know I don't). I'm pretty sure the exact same thing is going to happen to CDI soon after the prototype is successfully finished and deployed. Plus I'd say that for CDI, package-level granularity is too coarse. I'm even going to claim that package-level versioning gives virtually zero benefit over artifact-level versioning (at least in case of CDI). There are tools out there (such as
https://revapi.org/) that can actually help with tracking compatibility and breaking changes, but annotating packages is not it.
Tangent: if there's a spec (such as Transactions) struggling to figure out the impact of CDI's breaking changes, they should reach out to CDI. I'm sure we'd be glad to help. (My hunch is that they're not affected at all, because the only thing from JTA that depends on CDI is @Transactional and @TransactionScoped, but I didn't really look.)
LT