> > > what I'd expect as a new user of Commons IO
I think it's safe to say, at least on Windows, the default OS behavior is what 99% of people will want default in a copy utility; copying a file to a destination nearly always warrants the destination permissions, especially when the ACLs for Windows are so specific and rather tricky to manipulate after the fact. On MacOS, my results are identical, in zsh and bash, a file created in user-space, but copied (NOT moved) to a root-owned space will inherit the "root" permissions upon copy (consistent with old behavior, not new behavior). On Ubuntu, my results are identical as well: In bash, a file created in user-space, but copied (NOT moved) to a root-owned space will inherit the "root" permissions upon copy (consistent with old behavior, not new behavior). In my opinion, the utility is not useful without this behavior toggled back on by default. Otherwise, NIO with a walktree would accomplish this task instead, so by NOT reverting this change, the project is knowingly abandoning this API (or making a decision to keep an un-intuitive and confusing API workaround. But I've stated this before, so I will digress in my opinion, it's not really what's being discussed right now. Perhaps a better, more objective argument is that for 16 years, the behavior was the same, only to be changed for (less than) two years. In the case of my project, this was unnoticed as we often wait before upgrading library versions due to API changes. (however when Log4J vulnerabilities in past years started reaching our clients, we've been trying to take a more responsible approach) Since this is a "users" list, I would love to hear opinions that are less influenced. :) > Another concern is that for changes we should have tests that will avoid > future regressions and also clearly document why the test exists so that > the tests are not also changed inadvertently, I have been thinking about this as well. I hope I can receive some guidance on this, however, I would also like to set some scope that I would expect: - Javdoc comments updated to be more concise only for the APIs that are modified - I can receive some assistance from experienced devs on writing the unit tests. I could run platform-specific shell commands or use NIO features, but to test this on Windows would need some form of Windows CI host, so hopefully I can get some guidance on GitHub for this. I do understand there's a chance the team will reject this PR for reasons beyond my control, but I also hope that my sentiments about the usefulness of this API are weighed, since I believe this API will become less attractive for new developers if not corrected to its old behavior. :)
