Hi list, I have a ticket to discuss (1).
When we deprecate APIs / methods etc, what I want to suggest is that we might start to explicitly add the version when that happened. For example, if you deprecated something which goes to 5.0, would you be so nice to do this? @Deprecated(since = "5.0") Similarly, that annotation offers one more field - forRemoval, so using it like this: @Deprecated(since = "5.0", forRemoval = true) means that this is eligible to be deleted in Cassandra 6.0. With this information, it is way more comfortable to just "grep" where we are at when it comes to deprecations eligible to be deleted in the next version. Currently, we basically have to go one by one and figure out if it is not old enough to remove. I believe this would bring more transparency into what is planned to be removed and when as well it will be clearly visible what should be removed in the next version and it is not. Tangential question to this is if everything we deprecated is eligible for removal? In other words, are there any cases when forRemoval would be false? Could you elaborate on that and give such examples or do you all think that everything which is deprecated will be eventually removed? (1) https://issues.apache.org/jira/browse/CASSANDRA-18912 Thanks and regards