the top level pom in nifi has a massive dependency management section. this was used initially to help enforce consistent usage of dependencies across nifi but this also can defeat the purpose of the classloader isolation offered by nars. We need to push down dependency version declarations to the nar levels where appropriate.
there have been reported issues of defects happening due to us using much newer versions (or sometimes older) of dependencies due to this dependency management model. By pushing declarations down to the proper scope each nar/etc.. can use the specific versions of components it needs and we'll stop introducing issues by forcing a different version.