Skip to content
Florent Biville edited this page May 23, 2022 · 50 revisions

v4.4.2

πŸ“ˆ Fixes and improvements

  • Back port the 5.0 rewrite of the support for server-side connection read timeout hints. This is especially important in Aura since hints are automatically enabled. If you encounter many "i/o timeout" errors, time to upgrade!

βœ… Testkit

  • Remove temporary feature flags
  • Allow nil values of maxTxRetryTimeMs

v4.4.1

πŸ†• APIs and features

  • Expose number of system updates in result summary (thanks @erictg)
  • Allow fetch size to be configured at the driver level. Session-level configuration keeps precedence.

πŸ“ˆ Fixes and improvements

  • Improve logging:
    • when reading chunks of messages from the Bolt server, the reported connection type would not always be correct (logging bolt4 instead of bolt3 for Bolt 3 connections)
    • log server-side configuration hints if they are enabled (logged at INFO level and with the Bolt logger)
  • Fix error handling in Bolt message hydration
  • Fix the computation of result summary notifications
  • Clarify user impersonation documentation

v4.4.0

This release includes all the improvements present in the previous beta and alpha releases.

v4.4.0-beta1

This is the first beta release that provides a preview of the new features and general improvements.

πŸ‘ Improvements

  • Improve examples which uses the session.WriteTransaction #278

v4.4.0-alpha1

This is the first alpha release that provides a preview of the new features and general improvements.

⭐ New Features

  • Introduce new bearer authentication scheme for SSO support #263
  • Introduce User impersonation support 273

πŸ‘ Improvements

  • Add principal to Kerberos Auth for backwards compatibility #264
  • Add method ResultSummary.Query() to replace the now deprecated ResultSummary.Statement() #265
  • Do not raise error when closing a session with a pending transaction #266
  • Send qid in DISCARD & PULL only when necessary #267

βœ… Testkit

  • Add support to Relationship and Path to testkit-backend #258
  • Add kerberos auth to testkit backend #262

v4.3.7

πŸ“ˆ Fixes and improvements

  • [3e643c1886fe85dc289af0c90e27cb25f164d2ab] Handle data race of racingio.Reader and racingio.Writer more elegantly
  • [027891f7926855ab9abd1c0882cbd1626f8db94f] Gracefully handle panics of transaction functions

v4.3.6

πŸ“ˆ Fixes and improvements

  • Back port the 5.0 rewrite of the support for server-side connection read timeout hints. This is especially important in Aura since hints are automatically enabled. If you encounter many "i/o timeout" errors AND use the Go driver v4.3.4 or later, time to upgrade!

v4.3.5

πŸ“ˆ Fixes and improvements

  • Improve logging:
    • when reading chunks of messages from the Bolt server, the reported connection type would not always be correct (logging bolt4 instead of bolt3 for Bolt 3 connections)
    • log server-side configuration hints if they are enabled (logged at INFO level and with the Bolt logger)
  • Fix error handling in Bolt message hydration
  • Fix the computation of result summary notifications

v4.3.4

πŸ†• APIs and features

  • Implement connection read timeout server hint - see specs for more information

πŸ“ˆ Fixes and improvements

  • Fix Kerberos authentication
  • Expose number of system updates in result summary (thanks @erictg)

v4.3.3

  • Fix profile children computation, ProfiledPlan#Children() was not returning the right results

v4.3.2

  • neo4j.ResultSummary now exposes neo4j.DatabaseInfo to retrieve information about the database a result has been obtained from:
result, err := session.Run("RETURN 42", map[string]interface{}{})
if err != nil { /* do something useful */ }
summary, err := result.Consume()
if err != nil { /* do something useful */ }
databaseInfo := summary.Database() // caution: this returns `nil` with Neo4j servers 3.x
fmt.Printf("Database name is: %s\n", databaseInfo.Name())      

v4.3.1

  • Update User-Agent string from "Go Driver/4.0" to "Go Driver/4.3"

v4.3.0

No changes were introduced.

v4.3.0-rc2

  • Fix bug when dealing with disconnected node paths (#225)

v4.3.0-rc1

No changes were introduced.

v4.3.0-beta2

  • Deprecate ServerInfo#Version and introduce ServerInfo#Agent and ServerInfo#ProtocolVersion
  • Move Bolt logging (introduced in v4.3.0-alpha1) to session level and default to nil

Bolt message logging is now configured at the session level and is independent from the existing logging configuration - see Bolt logging configuration

v4.3.0-beta1

  • Treat expired authentication errors as fatal

The connection pool will then purge such connections

v4.3.0-alpha1

  • Enable 4.3 protocol and add support for extended handshake

Driver users can now include a range of protocol versions ranging from 3.0 to 4.3

  • Add support for 4.3 ROUTE message
  • Retry fetching routing table until there are readers
  • Send bookmarks when fetching routing table (via ROUTE message or via procedure)

v4.2.5

  • Update User-Agent string from "Go Driver/4.0" to "Go Driver/4.2"

v4.2.4

  • Fix state transition, previously blocked by wrong stream count

v4.2.3

  • Now uses connection timeout setting when connecting to cluster members when updating routing table.
  • Fixes issue with discarding big streams. Streams are discarded if they are still open after their scope ends (like a transaction or session)
  • Session.Run now forces a reset before issuing the command to the server, this makes sure that the connection is still alive. Solves issues with CheckConnectivity when running in a cluster

v4.2.2

  • Fixes issue with corrupt records in some scenarios with records bigger than a transport chunk. Issue 183

v4.2.1

  • Fixes issue with node/relationship counts in summary, issue 178
  • Retries retrieval of routing tables when there are no readers in routing table, same way as previously done with writers

v4.2.0

  • Aligned with Neo4j database version 4.2.
  • Driver supports Neo4j databases of versions 3.5, 4.0, 4.1 and 4.2.

v4.0.0-beta2

  • Added missing temporal conversion functions that converted to native time.Time, existed in 1.8
  • Discards records in pending results when session is closed
  • Change in logger interface, removed Errorf function.
  • Improved retry error handling

v4.0.0-beta1

  • Feature complete to level of 4.2 of other official Neo4j drivers
  • Improved performance as compared to 1.8 (see benchmark tool for some of the tested cases)
  • There are breaking API changes compared to 1.8 (see migration guide for details)
Clone this wiki locally