Neo4j Driver For Go Releases

This is the release announcement topic for our brand new official go driver.

You can find full instructions (in addition to go get github.com/neo4j/neo4j-go-driver/neo4j) on how to use the official go driver at GitHub - neo4j/neo4j-go-driver: Neo4j Bolt Driver for Go.

4 Likes

Neo4j Go Driver v1.7.0-beta01 has been released.

1 Like

Do you have to have Seabolt ? no pure Go ?

Yes it is required to use seabolt. It's a pretty simple installation process. I believe they require seabolt so the driver is consistent across all languages that are supported.

2 Likes

Neo4j Go Driver v1.7.0-beta02 is now released with Bolt V3 support.

without pure Go version it's not possible to use this driver in serverless env, like AWS Lambda for ex.

2 Likes

That's good feedback and certainly true at the moment. A thing to keep in mind though is that on serverless, a lot of the cloud vendors are moving towards supporting Docker containers for running cloud functions. Google already does, so does Azure, and it's kind of expected that AWS Lambda will support Docker containers too though I don't know the timeline.

If you're one of the serverless providers, docker makes sense as a support endpoint because there are too many different runtimes to support (python, node, golang, etc. etc.) and supporting individual runtimes comes with those drawbacks like this that you identify.

Great. Any breaking changes?

It doesn't introduce any breaking changes. You can always see a full list of changes at 1.7 changelog · neo4j/neo4j-go-driver Wiki · GitHub.

On the seabolt requirement question...

As part of our long term plan to support as many languages, platforms and frameworks as possible with our official drivers, we're working towards a more modular architecture for our client-side libraries. Concretely, this means that drivers will be built on top of lower level libraries, called connectors.

Seabolt is one such connector, and has been built in C to ensure both great performance and broad compatibility. Connectors will in general encompass all protocol, type system and routing logic and will surface a "Connector API" on which drivers and other tooling can be built. Note that connectors are not intended for direct use by application software.

We do recognise that there are a small subset of platform configurations that might struggle to work with a C dependency library. This is obviously unfortunate for those in this position, but we do hope that the greater breadth of language support we can offer for the wider Neo4j community will offset these limitations. Over time, we may even be able to plug some of these gaps with pure language code, should we see a great enough need.

In terms of the extra steps required for the installation of a C dependency, we are also looking at ways to streamline this process. So watch this space!

2 Likes

Neo4j Go Driver v1.7.0-beta03 is now released. For a list of changes, you can have a look at the change log by visiting 1.7 changelog · neo4j/neo4j-go-driver Wiki · GitHub.

Neo4j Go Driver v1.7.0-rc01 is now released. For a list of changes, you can have a look at the change log by visiting 1.7 changelog · neo4j/neo4j-go-driver Wiki · GitHub.

Go Driver v1.7.0-rc02 and Seabolt v1.7.0-rc02 are released last Friday, with experimental binary packages for seabolt available here. Please try them out and let us know any problems you run into.

For a list of changes, you can have a look at change logs -> 1.7 changelog · neo4j/neo4j-go-driver Wiki · GitHub and 1.7 changelog · neo4j-drivers/seabolt Wiki · GitHub.

Seabolt 1.7.0-rc03 and Go Driver 1.7.0-rc03 are now released. Seabolt now has a static library output which is a step towards statically linkable go-driver!

Changelogs are available at 1.7 changelog · neo4j-drivers/seabolt Wiki · GitHub and 1.7 changelog · neo4j/neo4j-go-driver Wiki · GitHub respectively.

Seabolt 1.7.1 and Go Driver 1.7.1 versions are now released.

Changelogs are available at 1.7 changelog · neo4j-drivers/seabolt Wiki · GitHub and 1.7 changelog · neo4j/neo4j-go-driver Wiki · GitHub respectively.

1 Like

Seabolt 1.7.2 and Go Driver 1.7.2 versions are now released.

Changelogs are available at https://github.com/neo4j-drivers/seabolt/wiki/1.7-changelog#v172 and https://github.com/neo4j/neo4j-go-driver/wiki/1.7-changelog#v172 respectively.

Go Driver 1.7.4 has been released: Release v1.7.4 · neo4j/neo4j-go-driver · GitHub

2 Likes

Go 4.0 beta has been released: Release First beta of 4.0 · neo4j/neo4j-go-driver · GitHub

A new version of Neo4j Driver for Go, version 4.4.0-beta1, is now available

A new version of Neo4j Driver for Go, version 4.4.0, is now available