The Bolt version negotiation currently accepts a BOLT_VERSIONS environment variable (comma-separated floats, e.g. "5.4,5.3") as a way to constrain which versions the client will offer during handshake.
This sits outside the normal config path. Since :versions is already accepted as a start_link option (and BOLT_VERSIONS is only the fallback when the opt is absent), this should be documented as a first-class config key alongside the other connection options like :hostname, :port, :auth.
This way everything lives in one place — application config — and BOLT_VERSIONS can be deprecated or removed as an undocumented escape hatch.
The Bolt version negotiation currently accepts a BOLT_VERSIONS environment variable (comma-separated floats, e.g. "5.4,5.3") as a way to constrain which versions the client will offer during handshake.
This sits outside the normal config path. Since :versions is already accepted as a start_link option (and BOLT_VERSIONS is only the fallback when the opt is absent), this should be documented as a first-class config key alongside the other connection options like :hostname, :port, :auth.
This way everything lives in one place — application config — and BOLT_VERSIONS can be deprecated or removed as an undocumented escape hatch.