It’s not a specific issue with 2.14, but an issue where the output of a task changes in a way that Gradle doesn’t handle. Gradle doesn’t assume that it can delete outputs it doesn’t know about and Gradle doesn’t correlate old outputs with new outputs in a way that would tell us that it’s safe to remove files.
This talks about a similar issue (although, it’s about upgrading Gradle): Incremental Build Output Corrupted with Rolling Gradle Upgrades
Going forward, we’re working on a way for a task to be able to declare/describe its outputs in a way that would allow Gradle to remove outdated outputs automatically.
Other than cruft building up, it’s usually not an issue to have extra files in build/libs
since dependencies between tasks are described in a way that ignores the extra files.