I always wonder why a lot of these oldies stick with POI 3.9 and based on your 
explanation there wouldn't be much reason not to use 3.10 as there weren't much 
breaking changes ... if any.
So it must be something else ... I start to believe - especially when dealing 
with a few stackoverflow issues lately - it's a delusions of adequacy and 
because 3.9 is lexically bigger than 3.1x,
e.g. if you look at search.maven.org, they pick 3.9 ...

... enough ranting ... I'm ok with semantic versioning, but I welcome even more 
the constant changes introduced with the 2-release-rule.
There are so many places where we use some shorts/integers instead of enums or 
the ooxml and biff apis differ even for *SSF.
So I prefer a clean(er) API vs. a backward-compatible and maybe ambiguous one.

But how would you deal with versioning in the different modules?
I guess, the answer will be, to have the same version for all modules - if 
there's a breaking change in one of the modules, we would raise the major 
version,
but this wouldn't reflect the unchanged API in the other modules.
And if we would do per-module versioning, things get even more confusing.

If this assumption is correct, I think this hasn't much effect on user to use 
the correct dependencies.
Either they use maven/gradle and get the dependencies on the fly or they copy 
the jars once into the project and don't care anymore about them.

So coming back to the original topic, I'm ok with adding commons io to the 
project.
I only had a quick look into commons io, but LittleEndian could be replaced via 
EndianUtils and the streams with SwappedDataInputStream.
There are a few other stream classes which we've copy and pasted like 
BoundedInputStream.

Andi.

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to