For production systems, it is crucial to be in full control of the used driver version that you have tested and validated for your application.
With cloud platforms and dynamic container deployments, the default behaviour of the language package management is to pull or update to the latest version available.
In some rare cases, this can break your application when a major change is introduced.
We have listed below the main drivers that have some form of auto-update or package management tools and some of the ways to control the version installed or prevent updates.
For Python
Control the versions in use for your build by modifying your requirements.txt
file to require specific versions of the various libraries and drivers you are using, and this may not be only for neo4j's.
Another good reference here
For JavaScript / nodeJS
You should use npm install neo4j-driver@major.minor.build
and only download/install the exact version you have tested against
Then to lock and prevent unwanted updates, use a filepackage-lock.json
; See here.
or use npm-shrinkwrap.json
(see here for details).
For .NET
To get a specific version: dotnet add package Neo4j.Driver -v <version>
For Go
Pull via GitHub and specify the version explicitly.
Example:github.com/neo4j-drivers/gobolt v1.8
For Java
Maven's default behaviour is to use specific version. Full details are available here.
Gradle should also not be an issue, details here.
Comments
0 comments
Please sign in to leave a comment.