Maybe it wouldn't be a problem. I assume the way to make the dependencies non-transitive would be to change the scope from compile to provided in the relevant pom.xml files. Then any application embedding the process engine could use whichever version of Spring it likes, as long as any Spring methods used by the process engine are compatible with the specified version. There are 95 org.springframework classes (71, excluding test-related classes) imported in camunda-bpm-platform 7.4.0. To safely state that Camunda works with Spring 3+, you'd have to ensure that any API changes since Spring 3.1.2 don't affect the usage of these classes (I suspect this may be the case, but I'm not sure).
In my opinion, a better option would be to migrate the process engine dependencies to an actively supported generation of Spring (3.2, 4.1 or, preferably 4.2) and state that Camunda works with that version. Then, if the dependencies are made non-transitive it may (might/should?) also work with previous, unsupported versions.
Maybe it wouldn't be a problem. I assume the way to make the dependencies non-transitive would be to change the scope from compile to provided in the relevant pom.xml files. Then any application embedding the process engine could use whichever version of Spring it likes, as long as any Spring methods used by the process engine are compatible with the specified version. There are 95 org.springframework classes (71, excluding test-related classes) imported in camunda-bpm-platform 7.4.0. To safely state that Camunda works with Spring 3+, you'd have to ensure that any API changes since Spring 3.1.2 don't affect the usage of these classes (I suspect this may be the case, but I'm not sure).
In my opinion, a better option would be to migrate the process engine dependencies to an actively supported generation of Spring (3.2, 4.1 or, preferably 4.2) and state that Camunda works with that version. Then, if the dependencies are made non-transitive it may (might/should?) also work with previous, unsupported versions.