We are building a decentralized application using Neo4J as the database and have an issue where our local instance on our laptops shows a kernel version in debug.log as 3.5.5 but a remote peer's kernel version shows 'dev' and we're using the same codebase. This is problematic because we're using full text indexes for searching and the dev kernel throws an exception saying the procedure is not supported. It works fine on our local 3.5.5 instances. We can't understand how the remote is using a 'dev' version as it's the same code. This is a blocker for us otherwise we'll have to rebuild the node and that we prefer not to do as we won't have the luxury of doing this once we go live (decentralized system). We can not find a 'dev' version anywhere on the net. We have thoroughly cleaned out our graphs too in case it was holding onto old stale data/libraries somehow. All of our code is Java using Maven to pull in both the core and Cypher libraries.
We figured it out by perusing your code. If you explode the jar files when creating one large jar file, you lose the meta information in the neo4j jar that neo4j uses to determine what version the jar is and just defaults to 'dev'. Fixed by copying all jars into a lib directory and including that folder with the jars within the uber jar.