SPDK v23.09: NVMe-oF TCP data digest chaining, JSON-RPC Go client, DIF/DIX CRC32/64

On behalf of the SPDK community I’m pleased to announce the release of SPDK 23.09!!

This release contains the following new features:

  • Accel operation chaining NVMe bdev: The NVMe bdev will now advertise support for accel sequences if the underlying controller supports it.
  • NVMe-oF TCP data digest chaining: The NVMe-oF TCP transport will now calculate data digest using the accel sequence APIs if they’re available.
  • JSON-RPC 2.0 client in Go: Added JSON-RPC 2.0 client written in Go to ease communication with SPDK. Please see the documentation.
  • DIF/DIX CRC32/64 support: Extended util library DIF/DIX support to CRC-32 and CRC-64 format of the Protection Information.
  • NVMe-oF TCP TLS configuration: It is now possible to persist NVMe-oF TCP TLS configuration across application restarts.

The full changelog for this release is available here. Deprecation notices for users updating from previous releases can be found here.

New Contributors

This release contains 483 commits from 52 authors with over 21k lines of code changed.

We’d especially like to recognize all of our first time contributors:

  • Duncan Bellamy
  • Emilia Haligowska
  • Eugene Kobyak
  • Fedor Uporov
  • Guangyang Han
  • Krzysztof Sprzaczkowski
  • Maciej Mis
  • Marek Chomnicki
  • Robert Ganzynkowicz
  • Zhenwei Pi

Many thanks to everyone for your contributions, participation, and effort!