Change Log

Copy Markdown

All notable changes to this project will be documented in this file. See Conventional Commits for commit guidelines.

v0.2.0 (2026-06-15)

Chores:

  • align test DB compose with ash_neo4j and retire bats test-runner by Matt Beanland

  • reference Neo4j 5.26.27 in compose, docs and fixtures by Matt Beanland

  • replace git-cliff with git_ops for releases by Matt Beanland

CI/CD:

  • run on dev/main and add dialyzer + warnings-as-errors gate by Matt Beanland

Features:

  • policy: add cypher_5, cypher_25 and dynamic_labels flags by Matt Beanland

Bug Fixes:

  • ci: correct Neo4j test auth password and bump matrix image to 5.26.27 by Matt Beanland

  • bolty: type transaction/4 extra_parameters as map by Matt Beanland

  • error: preserve atom error codes in Error.wrap/2 by Matt Beanland

Style:

  • apply mix format to files with format drift by Matt Beanland

v0.1.0 — 2026-06-06

Bug Fixes

  • Pin str_length in decode_string bitstring pattern (7a4fdff)

Chores

  • BREAKING Drop support for Neo4j 3.x and 4.x (Bolt 1.0–4.4) (1e2639b)
  • Remove dead legacy DateTime packer clauses (5245082)
  • Remove stale :bolt_2_x/:bolt_3_x/:bolt_4_x test tags (48b69d9)
  • Remove dead Bolt ≤3/≤2 message clauses; document negotiated capabilities (12c540b)
  • Add neo4j 2026.05 service; align passwords to 'password' (735570a)
  • Drop Memgraph support (issue #15) (b546480)

Documentation

  • Update README for Bolt 6.0 and Neo4j 2026.05 support (18821ef)

Features

  • Add mix test.matrix and mix changelog tasks; bump to 0.1.0 (aaa4df3)
  • Add support for Bolt 5.6, 5.7, and 5.8 (Neo4j 5.26.26 LTS) (d31d13a)
  • Document :versions as first-class config; deprecate BOLT_VERSIONS (cad2b00)
  • Expose negotiated connection capabilities via Bolty.connection_info/1 (04daf05)
  • Add Bolt 6.0 support (Neo4j 2026.05) (3429612)
  • Route Bolt 6.x to separate port in test.matrix (526d842)
  • Add Vector type pack/unpack for Bolt 6.0 (issue #13) (3f04e9c)
  • Add Bolt version guard and docs for Vector type (3f28f94)

Refactoring

  • Make Policy the source of truth for all Bolt version-driven behaviour (f5b1d08)

Testing

  • Update message encoder tests from Bolt 3.x/2.x to 5.x (7afc3e8)
  • Remove hardcoded server version assertions in connection_test (c5f27ac)

v0.0.13

  • %Bolty.Types.Point{} parameters are now sent as native PackStream Points instead of being silently converted to Maps. This allows Points (and arrays of Points) to be stored directly as Neo4j node properties. Breaking: callers that pass a %Bolty.Types.Point{} to Cypher's point() constructor must now pass a Map instead (or use Bolty.Types.Point.format_param/1 to convert). See https://github.com/diffo-dev/bolty/pull/35

Full Changelog: https://github.com/diffo-dev/bolty/compare/0.0.12...0.0.13

v0.0.12

  • Execute/4 sends send_reset for :syntax_error/:semantic_error when inside a transaction (#26)
  • Additional bolty issues with transactions (#28)
  • Unknown Error (CaseClauseError) no case clause matching: {:ignored, [0, 0]} (#29)

Full Changelog: https://github.com/diffo-dev/bolty/compare/0.0.11...0.0.12

v0.0.11

  • Fix UndefinedFunctionError when formatting a Neo4j EntityNotFound error (#21)

Full Changelog: https://github.com/diffo-dev/bolty/compare/0.0.10...0.0.11

v0.0.10

  • DateTime param illegal — policy-driven PackStream encoding (#14)

Full Changelog: https://github.com/diffo-dev/bolty/compare/0.0.9...0.0.10

v0.0.9

  • Fix duration stored as string

v0.0.8

  • Fix duration microseconds

v0.0.7

  • Initial fork from boltx v0.0.6
  • Duration support
  • Maintenance
  • Negotiate range