nvme-cli: Bump SRCREV to 73d468229 and package libnvme-cli

Bump nvme-cli SRCREV to 73d468229cf2dfd2dd9f8c7c21406174f85b172d to
support OOB set-feature commands. This version also includes the upstreamed
fix for the MCTP open SIGSEGV (b/538280251).

Re-adapt and fix 0001-add-libnvme_cli.patch to work with the bumped
version. Resolve compile errors caused by header decoupling by adding
necessary includes in print utilities and OCP/Solidigm plugins.

Correct packaging rules by prioritizing the main package ${PN} to ensure
the real library libnvme-cli.so is packaged in the main package, while
unversioned symlink libnvme3.so is correctly assigned to the -dev package.
Remove unused NetworkManager files.

Shortlog:
Akhilesh RN (1):
      linux: Update size when telemetry controller initiated data is unavailable

Alexandr Goncharov (1):
      tree: fix store uuid/nguid from sysfs

Alfred Wingate (1):
      build: remove symbol which doesn't exist in libnvme-mi.so

Alistair Francis (1):
      fabrics: set persistent when connecting to a discovery controller

Anant Mashiana (2):
      completions: added Solidigm plugin to autocomplete scripts
      plugins/solidigm: Added extra VU fields to id-ctrl

Andreas Hindborg (2):
      Fix bug in `nvme_identify_iocs`
      Fix a bug where CSI was not passed to to nvme_ns_mgmt

Andrew Jeffery (1):
      mi: Probe quirks on first command submission

Andrew Meir (2):
      Add support for codeql sweeps
      Updates to codeql config

Ankit Kumar (6):
      types.h: Add missing enum for power state descriptor
      types.h: add missing enum for optional admin command support
      types.h: add missing enum for firmware updates
      types.h: add missing description and enum for log page att
      types.h: add missing enum for optional nvm command
      types.h: add missing enum for format nvm attributes

Ankit Soni (4):
      types: added new fields in nvme_nvme_id_ns
      build: update libnvme wrap
      nvme-print: added new fields for nvm_id_ns
      libnvme: add lockdown log page support(LID : 0x14)

Anuj Gupta (1):
      ioctl: nvme_uring_cmd add structure and opcodes

Arbaz Khan (3):
      type: Added enums for ANSAN and RGCNS bit of OAES field
      type: Using enums of ANSAN and RGCNS bit for OAES
      types,util: Added Enums for missing status codes

Arno DUBOIS (1):
      docs: add missing API types documentation

Arthur Shau (11):
      plugins/ocp: Reorganize OCP plugin source code
      plugins/ocp: Fix typos in Latency Monitor Log
      plugins/ocp: Add missing fields in Latency Monitor Log
      plugins/ocp: Fix endianness in Latency Monitor Log output
      plugins/ocp: Add OCP set latency monitor feature command
      plugins/ocp: Add telemetry-log command to OCP plugin
      plugins/ocp: Rename FW activation history command
      plugins/ocp: Fix printing order of various Latency Monitor Log buckets
      ocp: Add Get DSSD Power State Feature (FID: C7h)
      ocp: Switch OCP plugin to use semantic versioning
      docs: Add missing OCP plugin docs to meson

Arunpandian J (35):
      nvme: Add Media Unit Status log page(LID: 0x10)
      Clean up Patch for types.h, ioctl.h
      nvme: Add Supported Capacity Configuration List log page(LID: 0x11)
      nvme: Add Enhanced Controller Meta Data(FID: 0x7D)
      types: Added doc description for fields used
      ioctl.h: Add description for fields used
      linux: Streamline documentation
      log: Fix whitespacing in documentation
      tree: Add missing documentation
      types.h: Add missing documentaion for all the log pages
      types.h: doc update for ZNS structures
      types: doc field update for NVM commands, Feature Identifiers
      types: All MI command related structure doc field update
      types: Add doc field for admin opcodes, FIDs, LIDs, Identify commands
      types: Add doc section for enum fields
      types: Add missing doc for ZNS, NVMe OF, NVMe command set
      types: status code type value update as per NVMe specification
      util: Add status code values in generic status to errno conversion
      util: Congregate status code values to return EINVAL
      util: Add status code values in order to return errno
      types: Add missing doc field description
      fabrics: Streamlining documentation
      ioctl: Align arguments indentation with braces
      test: print test logs for pass case
      tests: Add tests for controller reset
      plugins/ocp: Add Device capability(LID: 0xC4) log page
      completions: Add bash completion for OCP Device capability(LID: 0xC4) log page
      Documentation: Add document for OCP Device capability(LID: 0xC4) log page
      doc: Fix typo in documentation
      plugins/ocp: Add DSSD Power state feature(FID: C7h)
      Documentation: Add document for DSSD Power state feature(FID: C7h)
      completions: Add bash completion for DSSD Power state feature(FID: C7h)
      completions: Add bash completions for telemetry string log page
      Documentations: Add document for telemetry string log page
      plugins/ocp: Add OCP Telemetry String log page, Telemetry log page

Bao Tran (1):
      nvme-print: Split max power flags

Bean Li (1):
      nvme: do not include meta data for PRACT=1 and MD=8 (version 2)

Ben Chuang (2):
      util: Fixed nvme_id_ns_flbas_to_lbaf_inuse()
      test: Add unit test for nvme_id_ns_flbas_to_lbaf_inuse()

Ben Reese (2):
      Plugin: ScaleFlux Adding Status Command
      ScaleFlux Plugin Cleanup AER Values

Benjamin Drung (2):
      doc: Fix spelling mistakes found by lintian
      examples: Fix wrong indentation in discover-loop.py

Boris Glimcher (19):
      pyproject.toml instead of setup.py for new packaging
      Add workflow to publish to PyPI and TestPyPI
      Workflow: temporary disable publish to PyPI, starting with TestPyPI
      CI: rename branch main to master
      openssl: update to patch-3 to fix installation issue
      test: adding dependency on pynvme
      CI: add test for subproject fallbacks compilation
      CI: add python wheel build in addition to source package
      dist: add missing BuildRequires to spec file
      rpm: add makefile rule for rpms
      CI: fixing dist packaging error
      readme: Add github badges
      ci: add code coverage
      ci: create first dependabot.yml
      doc: add quickstart and installation
      doc: update installation doc
      build: use uuid wrap for fallback build
      ci: add static library compilation
      build: switch to new python meson backend

Brando (1):
      doc: Fixing compile instruction in README

Brandon Capener (13):
      build: fix spelling
      build: initial windows support
      build: remove unneeded windows check
      linux: Add crypto.c and no-crypto.c with shims for methods implemented in linux.c Adds compatibility shims for linux.c methods when building on Windows.
      build: remove default prefix option
      build: include more source files in windows build
      tree: split platform code into separate files
      lib: add windows direct open transport handle support
      tree: minor refactor of subsystem init
      tree: add global context to libnvme_get_ctrl_transport
      tree: add windows tree support
      nvme: add windows support for rpmb hash functions
      nvme: enable cli for windows build

Brandon Paupore (31):
      ioctl: Add Timeout Parameter for Zone Management Commands
      types: Enable telemetry data area 4 in base
      Add lbstm support for create-ns
      Remove nvme_init_id_ns
      libnvme: 64-bit Reference Tags and TP-4068 changes
      types: Add support for the OAQD ID controller field
      types: Support Phy Rx Eye Opening Measurement Log
      nvme: Add support for the OAQD ID controller field
      nvme: Fix for fdpa reserved field printing
      nvme: Introduce nvme_realloc function
      nvme: Spport Phy Rx Eye Opening Measurement Log
      plugins/wdc: cleanup line lengths
      plugins/wdc: enhanced SN861 device support
      ioctl: MSB variable-size storage/reference tags
      ocp: fix for power-state argument checking
      ocp: support OCP 2.5 Set Telemetry Profile feature
      ocp: support OCP DSSD Async Event Config feature
      ocp: Unify line start spacing as tabs
      plugins/ocp: underflow + index fixes for telemetry
      wdc: add support for SNTMP drive
      wdc: rework log retrieval and parsing
      sndk: rework shared capabilities with wdc plugin
      sndk: vs-internal-log udui support
      wdc: invalid customer ID fix
      ocp: fix Ext SMART log page version 5 checking
      ocp: minor feature name fixes
      plugins: update default telemetry retrieval DA
      nvme-print: support PEL VS Events and Info
      plugin: cleanup vs-internal-log documentation
      nvme-print: expose PEL print functions
      ocp: add Persistent Event log support

Brenden Bain (2):
      sed: fixing SID and MSID reporting
      sed: clarifying SUM sed policy reporting

Broc Going (84):
      min: Cleaned up usage of MIN in favor of safer CCAN min.
      mi: fix build with MI support disabled
      lib: Give blkdev and chardev checks platform-agnostic names
      fabrics: Made more includes conditional on fabrics support
      nvme: Make mmap functionality conditional on mmap support
      ioclt: Add libnvme wrapper for updating block size after format
      json: Enables json printing and ocp plugin without fabrics
      mem: implement allocation helpers for Windows
      mem: implement huge page allocation APIs for Windows
      private: include ifaddrs when needed
      nbft: Moves public nbft methods from libnvme to libnvmf
      util: add cross-platform compatibility for errno values.
      nvme: return NVMe status codes for protocol errors
      lib-types: introduce file descriptor abstraction
      mem-win: Remove unneeded includes and definitions.
      nvme: Use libnvme_free for all memory allocated with libnvme_alloc
      ocp: Fix no-uuid parsing in ocp_clear_feature
      ocp: Fix fw activation log error reporting for negative err values
      micron-nvme: Use libnvme_alloc for log data buffers
      micron-nvme: Fix telemetry log reading
      micron-nvme: Fix vs-drive-info output format check
      micron-nvme: Clean up vs-nand-stats
      micron-nvme: Fix error reporting for commands that were failing silently
      sighdl: Add windows compatibility for sighdl
      amzn-nvme: Use signal if sigaction is not supported
      common: Add compatibility wrappers for common functions.
      util: Move get_entity_name and get_entity_version into util-fabrics.
      mem-win: Disable Windows min/max macros in favor of project solutions
      nvme-print-json: Replace uint with __u32
      endian: Remove redundant _WIN64 check
      micron-nvme: Add support for telemetry data area 4
      micron-nvme: Fix unchecked string copies of path strings
      ocp: Fix ocp internal-log output-format handling
      ioctl: Add Windows ioctl support
      check-public-symbols: Update text reading to work on Windows also
      ibm-nvme: Use memset instead of bzero for standard compatibility
      plugins: Fix casting errors when using unsigned long
      ocp-nvme: Replace fstat checking of S_ISBLK with built-in check
      log: Add Windows compatibility for __libnvme_msg formatting
      util: Add compatibility for libnvme_random_uuid
      fdp: Remove unused linux/fs.h include
      nvme-print: Fix nvme_bar_cap cps field alignment
      top: Make top a conditional feature and disable by default on Windows
      common: Add cross-platform wrapper for opening raw data files
      nvme: Add O_BINARY setting to stderr and stdout on Windows
      ioctl-win: Update sanitize implementation to use new ioctl
      ioctl-win: Assert ctrl handle for Windows format nvm
      micron: Clean up formatting and remove unneeded macros
      micron: Add cross-platform support for getting drive model
      micron: Add cross-platform handling of PCIe correctable errors.
      micron: Add platform-specific GetOSConfig implementations
      micron: Add .zip file support and fix rm errors on Windows
      micron: Update plugin version to 2.1.0
      micron: Fix command injection vulnerabilities
      solidigm: Apply fixes to allow compilation on Windows
      micron: Fix buffer overflow vulnerabilities
      micron: Fix possible NULL pointer dereference issues
      micron: Fix temp directory access security
      nvme: Open files using nvme_open_rawdata to fix Windows issues
      ioctl-win: Implement reset_ctrl_device using a PnP-level reset.
      tests: Add is_windows check and skip unsupported tests on Windows
      tests: Configure PATH for tests in a platform-agnostic way.
      tests: Update get features test base on Windows capabilities
      test-uint128: Update tostr_test locale handling to be Windows compatible
      test: Update build configuration to support testing on Windows
      tests/plugins: Expand testing framework to support plugin tests
      tests: Add linting support for all python files recursively under tests.
      nvme_test: Update run_ns_io to be platform agnostic.
      plugins: Add build support on Windows
      build: Add statically-linked build support for Windows.
      build: Copy libnvme DLL for running and testing Windows shared builds
      readme: Add readme section on Windows build and environment setup script
      nvme-print: Update generic name listing to be platform independent
      pci-ids: Add nvme-pci-ids for cross-platform reading of IDs
      nvme-models: Update product name detection to use nvme-pci-ids
      micron: Use new nvme-pci-ids to get PCI IDs
      tests/micron: Add vs-internal-log tests for micron plugin.
      micron: Fix vs-internal-log return value on error
      tests/micron: Add micron vs-temperature-stats tests and fix command
      tests/micron: Add micron vs-pcie-stats tests and fix command issues
      tests/micron: Add micron clear-pcie-correctable-errors tests
      micron: Fix vs-pcie-stats output-format handling
      tests/micron: Add micron vs-drive-info tests
      nvme: Add nvme args support for different supported output formats

Brooke Ellis (4):
      nbft: fix sizeof operand mismatch in pointer array allocations
      plugins/wdc: fix typed malloc size expressions for log buffers
      nbft: fix missing error checks for ftell() and rewind()
      test: replace rewind() with fseek() to enable error detection

Bryan Gurney (1):
      nvme: set eds to true if controller supports 128 bit hostid

Caleb Sander (57):
      json_discovery_log: avoid buffer overrun
      nvme-print: Fix printing of u32 values
      fabrics: handle /dev/nvme-fabrics read failure
      fabrics: check genctr after getting discovery entries
      nvmf-autoconnect: restart service to avoid dropping AEN
      ioctl: fix RAE bit on last Get Log Page command
      nvme-print: fix argument order for show functions
      fabrics: only look for matching ctrl on same host
      test: add infra for mocking passthru ioctls
      test: add discovery log page tests
      build: clean up version script
      ioctl: remove nsid from nvme_identify_secondary_ctrl_list()
      test: pass a large enough buffer to nvme_identify_ns_descs()
      ioctl: use available Identify helper functions
      test: add tests for Identify functions
      fabrics: only look for spaces in strchomp()
      fabrics: unconditionally strip discovery entry strings
      test: account for discovery log page entry stripping
      ioctl: correct feature IDs in Get/Set Features commands
      ioctl: set correct bits in Set Features commands
      ioctl: pass data for Get/Set Features commands
      ioctl: avoid sending uninitialized timestamp
      ioctl: don't set SAVE bit on unsaveable features
      ioctl: pass ENDGID in nvme_get_features_endurance_event_cfg()
      ioctl: export nvme_{g,s}et_features_iocs_profile()
      ioctl: fix swapped parameters in nvme_set_features_host_id()
      ioctl: pass NSID in Get/Set Features commands that use it
      ioctl: implement nvme_set_features_lba_range()
      test: add tests for Get/Set Features functions
      fabrics: use SECTYPE to determine whether to use TLS
      readme: clarify that LD_PRELOAD is not needed for ASAN
      readme: add instructions for enabling UBSAN
      test: make LD_PRELOAD tests work with ASAN
      test: don't pass NULL to memcmp() or memset()
      nbft: Avoid unaligned pointer dereferences
      test: Avoid unaligned pointer dereferences
      types: Cast values to u32 if shift overflows int
      mi: Cast values to u32 if shift overflows int
      test: Cast values to u32 if shift overflows int
      types: add Host Behavior Support field definitions
      print-stdout: print Host Behavior Support correctly
      fabrics: clear RAE for discovery log page commands
      fabrics: avoid redundant Get Log Page on retry
      fabrics: fetch smaller Discovery Log Page header
      fabrics: have nvmf_get_discovery_log() call nvmf_get_discovery_wargs()
      fabrics: avoid redundant args in nvme_discovery_log()
      libnvme-wrap: exit on VOID_FN lookup failure
      tree: fix incorrect return value
      cleanup: add cleanup functions
      tree: use cleanup functions
      fabrics: use cleanup functions
      json: use cleanup functions
      linux: use cleanup functions
      util: use cleanup functions
      cleanup: remove unused cleanup_charp()
      nvme: simplify cleanup_nvme_dev()
      nvme: Remove unused cfg argument from NVME_ARGS() macro

Caleb Sander Mateos (37):
      sysfs: minimize heap allocations of sysfs paths
      test: use diff to compare sysfs output
      nvme-wrap: remove unused nvme_cli_get_log_ana_groups()
      ioctl: fix nvme_get_log_ana_groups() pointer type
      ioctl: respect rae in nvme_get_log_ana()
      ioctl: replace nvme_ana_rsp_hdr in doc comments
      ioctl: add support for atomic, piecewise ANA log fetch
      test: support returning shorter buffer in mock ioctl
      test: log mock ioctl command fields in hexadecimal
      test: add mock ioctl tests for atomic ANA log fetch
      libnvme: export nvme_mi_admin_get_ana_log_atomic()
      linux: add nvme_get_ana_log_len_from_id_ctrl()
      build: update libnvme wrap
      nvme: fix maximum ANA log page length calculation
      nvme: use libnvme's atomic ANA log page fetch
      test: add test cases for argconfig option values
      test: add test cases for argconfig comma-separated array parsing
      util: remove argconfig CFG_SIZE type
      util: remove argconfig_parse_val() declaration
      util: make argconfig_set_opt_val() a void function
      util: use cleanup to avoid goto in argconfig_parse()
      util: remove redundant NULL check in argconfig_print_help()
      util: inline argconfig_parse_byte()
      util: remove redundant cast in argconfig_parse_type()
      util: remove unnecessary parentheses in argconfig_parse_type()
      util: remove empty default case in argconfig functions
      util: reduce arguments passed to argconfig_parse_type()
      util: reduce complexity of argconfig_parse_val()
      util: consolidate call paths to argconfig_parse_type()
      util: reduce allocation sizes in argconfig_parse()
      util: introduce is_null_or_empty() to avoid strlen()
      util: remove redundant loop condition in argconfig_parse()
      util: avoid duplication in argconfig_parse_comma_sep_array*()
      nvme: use argconfig_parse_comma_sep_array_u16() in attach-ns
      util: remove unnecessary NULL check in cleanup_nvme_root()
      nvme: avoid unnecessary dup() + close() in io_mgmt_send()
      fabrics: remove unused _discover_from_json_config_file() argument

Carl Moran (2):
      plugins/wdc: fix json output for vs-nand-stats
      plugins/wdc: json output format not actually json

Chaitanya Kulkarni (6):
      libnvme: code cleanup src/nvme/fabrics.c
      libnvme: code cleanup src/nvme/filters.c
      libnvme: code cleanup src/nvme/ioctl.c
      libnvme: code cleanup src/nvme/tree.c
      libnvme: code cleanup src/nvme/util.c
      nvme/types.h: avoid using anon enums

Chaithanya shoba (2):
      plugins/micron: Add support for OCP telemetry log parsing
      plugins/micron: Move OCP internal log parsing from Micron to OCP Plugin.

Changqing Li (1):
      mock.c: fix checking of HAVE_GLIBC_IOCTL

Chris Leech (4):
      nvmf-keys: udev rule should be using /etc/nvme
      linux: TLS PSK derivation fixes
      libnvme: TLS PSK derivation fixes
      linux: fix HKDF TLS key derivation back to OpenSSL 3.0.8

Chris Patterson (1):
      types: fix regression for vendor-specific field in nvme_id_ns

Christophe Vu-Brugier (1):
      doc: fix minor mistake in README.md about dependencies

Chuck Horkin (7):
      prefix: Use Request or Response Length in DLEN and DOFF for MI
      mi_xfer: Added nvme_mi_mi_xfer API
      mi: Add support for multiple csi buffers
      mi: Introduce asynchronous event message handling
      mi: Additional define options for older systems with SIOCMCTPALLOC
      mi:     nvme_mi_mi_xfer() is overly restrictive
      mi-mctp: Fix compile bug in test/mi-mctp.c when !HAVE_LINUX_MCTP_H

Clayton Craft (1):
      tree: support apple-nvme transport

Daniel Néri (3):
      nvme-print: add fallback for non-standard locale category
      plugins/netapp: add include of libgen.h for basename(3) prototype
      examples: remove unnecessary include of <bits/pthreadtypes.h>

Daniel Wagner (1663):
      fabrics: Refactor uuid_from_device_tree
      pynvme: Add install target to Makefile
      libnvme.map: Sort global export section
      libnvme.map: Add missing exports for nvme-cli
      Makefile: Install log.h header file
      libnvme.map: Add nvme_get_attr
      Merge pull request #52 from igaw/build-meson
      Merge pull request #47 from hreinecke/cleanup-sym
      Merge pull request #48 from hreinecke/dump-config
      Merge pull request #50 from hreinecke/csi
      build: Add meson CI workflow
      fabrics: Do not overflow when reading systemd_uuid
      Merge pull request #61 from jk-ozlabs/cross
      Merge pull request #56 from igaw/meson-ci
      fabrics: Remove 'UUID derived from machine-id' feature
      build: Allow subproject meson builds
      Merge pull request #64 from igaw/meson-subproject
      build: Set minimum version for json-c
      Merge pull request #66 from jk-ozlabs/fixes
      build: Split libtool versioning from project versioning
      Merge pull request #67 from igaw/libjson-c-min-version
      Merge pull request #69 from birkelund/meson-fixes
      Merge pull request #68 from igaw/set-lib-version
      build: Add fallback dependency for json-c
      Merge pull request #70 from igaw/fallback-json-c
      Merge pull request #71 from martin-belanger/update-python-examples
      Merge pull request #73 from martin-belanger/fix-python-dependency
      build: Add missing json-c.wrap
      Merge pull request #8 from birkelund/types
      Merge pull request #78 from igaw/json-c.wrap
      Merge pull request #77 from jk-ozlabs/ccan-fix
      Merge pull request #79 from birkelund/meson-install-missing-header
      libnvme.map: Expose symbols for Python binding
      Merge pull request #75 from jk-ozlabs/fixes
      Merge pull request #81 from igaw/fix-python-lib
      ccan: Add *.c files to the build
      Merge pull request #60 from martin-belanger/add-init-method
      Merge pull request #86 from birkelund/fix-virt-mgmt
      Merge pull request #87 from martin-belanger/add-python-testsv2
      Merge pull request #83 from igaw/ccan-build-c-files
      Merge pull request #89 from martin-belanger/rm-duplicate-line
      Merge pull request #93 from tbzatek/docs-updates-4
      Merge pull request #98 from martin-belanger/fix-iface-offset
      Merge pull request #101 from sc108-lee/fix/id_psd
      Merge pull request #106 from hreinecke/fixes
      types: Add Identify CNS 0x18 Domain List Support
      ioctl: Fix rae parameter order in __nvme_get_log
      types: nvme_id_ns rsvd area modified as lbaf fields
      build: Remove meson help text from meson.build
      build: Adopt libsystemd versioning scheme
      Merge pull request #94 from igaw/merge-nvme-cli-monolithic
      build: Update json-c dependencies
      workflows: Don't install libjson-c-dev
      Merge pull request #107 from igaw/update-json-c-dep
      build: Lower json-c dependencies
      workflows: Install libjson-c-dev
      Merge pull request #103 from minwooim/for-chrdev-name
      build: Update json-c.wrap
      build: Rename config.h to libnvme-config.h
      Merge pull request #116 from igaw/update-json-c-wrap
      build: Set include dirs when buidling configurator
      Merge pull request #117 from igaw/update-json-c-wrap
      Merge pull request #119 from minwooim/for-fix-chrdev-to-generic
      build: Do not use the configurator for meson
      Merge pull request #126 from igaw/drop-configurator
      Merge pull request #131 from sc108-lee/fix/json-c
      Merge pull request #130 from sc108-lee/remove/unused_doc
      Merge pull request #129 from martin-belanger/document-sanitize-address
      build: Enable ccan debug code for debug build
      Merge pull request #137 from tbzatek/fabrics-fixes-2
      Merge pull request #138 from tbzatek/fabrics-fixes-3
      Merge pull request #142 from sc108-lee/add_map
      Merge pull request #141 from igaw/ccan-debug-build
      Merge pull request #143 from sc108-lee/tp4076
      Merge branch 'pel_header_fix'
      types: Add documentation to enum nvme_csi
      ioctl: Add Offset Type to get_log_page()
      Merge pull request #144 from igaw/add_get_log_page_fields_2.0
      types: Add Controller Metadata and Namespace Metadata
      Merge pull request #147 from sc108-lee/add/gitignore
      Merge pull request #146 from igaw/add-ctrl-metadata-and-ns-metadata
      fabrics: Declare loop index at the beginning of the block
      Merge pull request #153 from igaw/build-fix-fabrics
      util: Define inline function as static inline
      Merge pull request #156 from igaw/build-static-inline
      lib: Resort libnvme.map
      build: Avoid including wrong config.h as subpackage
      build: Use _dep postfix for all dependency objects
      build: Set C dialect and warning level
      Merge pull request #159 from igaw/build-cleanups
      Merge pull request #155 from martin-belanger/replace-make-by-meson
      build: Remove unused configurator
      Merge pull request #162 from igaw/build-cleanup-makefile-drop
      linux: Add nvme_get_logical_block_size()
      linux: Add support to generate DH-HMAC-CHAP keys
      Merge pull request #158 from igaw/nvme_gen_dhchap_key
      Merge pull request #151 from igaw/logical-block-size
      build: Remove in-tree config files from gitignore
      build: Detect if Python.h header is present
      Merge pull request #163 from igaw/build-check-python-devel
      build: Fix *.wrap exclude pattern in .gitignore
      build: Remove more in tree build artifacts
      Merge pull request #167 from martin-belanger/fix-the-docs
      libnvme.map: Export nvme_io
      Merge pull request #150 from hreinecke/api-rework
      ioctl: Remove declration of nvme_set_features_iocs_profile()
      Merge pull request #172 from hreinecke/host_traddr
      ioctl: Rearrange members in nvme_identify_args
      ioctl: Rearrange members in nvme_get_log_args
      ioctl: Rearrange members in nvme_set_features_args
      ioctl: Rearrange members in nvme_get_features_args
      ioctl: Rearrange members in nvme_format_nvm_args
      ioctl: Rearrange members in nvme_ns_mgmt_args
      ioctl: Rearrange members in nvme_ns_attach_args
      ioctl: Rearrange members in nvme_fw_download_args
      ioctl: Rearrange members in nvme_fw_commit_args
      ioctl: Rearrange members in nvme_security_send_args
      ioctl: Rearrange members in nvme_security_receive_args
      ioctl: Rearrange members in nvme_get_lba_status_args
      ioctl: Rearrange members in nvme_directive_send_args
      ioctl: Rearrange members in nvme_directive_recv_args
      ioctl: Rearrange members in nvme_capacity_mgmt_args
      ioctl: Rearrange members in nvme_lockdown_args
      ioctl: Rearrange members in nvme_set_property_args
      ioctl: Rearrange members in nvme_get_property_args
      ioctl: Rearrange members in nvme_sanitize_nvm_args
      ioctl: Rearrange members in nvme_virtual_mgmt_args
      ioctl: Rearrange members in nvme_io_args
      ioctl: Rearrange members in nvme_dsm_args
      ioctl: Rearrange members in nvme_copy_args
      ioctl: Rearrange members in nvme_resv_acquire_args
      ioctl: Rearrange members in nvme_resv_register_args
      ioctl: Rearrange members in nvme_resv_release_args
      ioctl: Rearrange members in nvme_resv_report_args
      ioctl: Rearrange members in nvme_zns_mgmt_send_args
      ioctl: Rearrange members in nvme_zns_mgmt_recv_args
      ioctl: Rearrange members in nvme_zns_append_args
      log: Introduce libnvme error codes
      Merge pull request #173 from igaw/add-error-codes
      Merge pull request #171 from igaw/struct-layout-v2
      Merge pull request #108 from hreinecke/scan-rework
      ioctl: Set provided timestamp nvme_set_features_timestamp
      tree: Skip invalid pointer when scanning topology
      Merge pull request #175 from igaw/fix-tests
      build: Add __nvme_msg back to exported symbols
      Merge pull request #176 from igaw/fix-exports
      Merge pull request #180 from sc108-lee/fix/ssl
      linux: Include missing stddef.h
      Merge pull request #183 from igaw/add-missing-stddef
      Merge pull request #164 from sc108-lee/add/flbas_to_lbaf_inuse
      Merge pull request #185 from martin-belanger/ccan-static-lib
      src: Use PRIu64 format specifier for uint64 types
      Merge pull request #157 from Arunpandian15/Media_Unit_Status_Log_Page
      Merge pull request #191 from hreinecke/tls
      ioctl: Initialize all members in nvme_get_log_args
      Merge pull request #192 from igaw/fix-nvme_get_log_args
      Merge pull request #201 from Arunpandian15/types_h_cleanup
      ioctl: Set errno when command args check fails
      util: Set errno in error case nvme_get_directive_receive_length
      ioctl: Fix struct nvme_get_log_args memberm alignment
      ioctl: Sort members their natural size
      linux: Rename __nvme_get_log_page()
      libvnme: Remove	__nvme_msg from export map
      Merge pull request #207 from igaw/rename-__nvme_get_log_page
      Merge pull request #205 from igaw/fix-64bit-alignment
      Merge pull request #214 from hreinecke/kdoc
      Merge pull request #217 from martin-belanger/fix-license
      Merge pull request #215 from hreinecke/regen-doc
      Merge pull request #211 from hreinecke/config-errors
      Merge pull request #199 from Arunpandian15/Supported_Cap_Config_List_Log_Page
      Merge pull request #224 from Arunpandian15/Enhanced_ctrl_MD
      Merge pull request #166 from sc108-lee/for-upstream/tp4095
      doc: Remove unused make.bat file
      tree: Remove doublicated declaration
      types: Fix doc description
      doc: Mesonize documentation generation
      doc: Fix sphinx setup
      doc: Regenerate all documentation
      Merge pull request #222 from igaw/mesonize-doc
      build: Make CI build fail on warnings
      Merge pull request #225 from igaw/fail-on-warnings
      Merge pull request #223 from hreinecke/json-mandatory
      Merge pull request #213 from jeffreyalien/telemetry-da4-2
      build: Add kernel-doc CI build
      Merge pull request #226 from linux-nvme/kernel-doc-ci
      tree: Remove dead !LIBUUID code
      Merge pull request #227 from igaw/cleanup-libuuid-dep
      Merge pull request #221 from hreinecke/dump-tree
      tree: Remove CONFIG_JSONC ifdefs
      Merge pull request #230 from sc108-lee/fix/io_cmd
      tree: Fix memleaks in __nvme_free_ns() and nvme_scan_subsystem()
      build: make Python memory allocations valgrind friendly
      Merge pull request #233 from igaw/fix-mem-leak
      Merge pull request #238 from samiWaheed/master
      Merge pull request #239 from hanumanthuh/master
      Merge pull request #237 from Arunpandian15/cleanup_Description
      Merge pull request #234 from jeffreyalien/uuidx-parm
      Merge pull request #242 from Arunpandian15/doc_update
      Merge pull request #245 from Arunpandian15/cleanup_17
      Merge pull request #249 from AkhileshRN/telemetry_ctlr
      Merge pull request #247 from Arunpandian15/types_h_doc_field
      log: Allow nvme_msg usage with invalid root pointer
      Merge pull request #246 from igaw/fix-nvme_msg
      Merge pull request #250 from Arunpandian15/types_h_doc_21
      Merge pull request #248 from igaw/tp8010-support-refactored
      Merge pull request #252 from Arunpandian15/doc_mi
      fabrics: add default port number for NVMe/TCP I/O controllers
      Merge pull request #253 from igaw/port-default-port-for-discovery
      doc: Do not precomple HTML doc anymore
      doc: Regenerate all documentation
      build: Use boolean type for docs-build default
      Merge pull request #254 from Arunpandian15/mi_types
      Merge pull request #255 from Arunpandian15/types_doc_24
      Merge pull request #256 from Arunpandian15/doc_types_25
      Merge pull request #258 from Arunpandian15/types_doc_28
      Merge pull request #261 from martin-belanger/move-ccan-out-of-public-headers
      Merge pull request #262 from Arunpandian15/util_01
      Merge pull request #259 from Arunpandian15/fix_sct
      Merge pull request #257 from glimchb/setuptools
      Merge pull request #266 from glimchb/actionbranch
      fabrics: Do not swap bytes for system uuid
      Merge pull request #264 from igaw/fix-system-uuid
      tree: Ignore traddr case in nvme_lookup_ctrl()
      Merge pull request #270 from igaw/fix-pel
      Merge pull request #269 from Arunpandian15/util_sc_02
      Merge pull request #267 from igaw/traddr-case-insesitive
      Merge pull request #272 from Arunpandian15/sc
      build: Depend on libssl when using the fallback dependency
      Merge pull request #273 from igaw/fix-libssl-dep
      Merge pull request #236 from birkelund/meson-fixes
      linux: Include private.h
      linux: Add log.h back
      doc: Regenerate all documentation
      Merge pull request #274 from sc108-lee/status_code_type
      Merge pull request #275 from Arunpandian15/types_05
      Merge pull request #277 from glimchb/openssl
      Merge pull request #278 from sc108-lee/list_ns
      Merge pull request #280 from glimchb/test
      Merge pull request #281 from glimchb/opensslci
      Merge pull request #282 from glimchb/wheel2
      doc: Regenerate all documentation
      Merge pull request #289 from glimchb/rpm
      fabrics: Allow to change sysconfdir for hostnqn and hostid file
      Merge pull request #294 from hreinecke/disc-ttrsvcid
      Merge pull request #293 from igaw/fix-sysconfdir
      Merge pull request #290 from glimchb/rpm
      tree: Add support for default trsvcid for all controllers
      fabrics: Correctly stringify default hostnqn and hostid paths
      Merge pull request #297 from igaw/fix-stringify-hostnqn
      doc: Provide SYSCONFDIR without quotes
      Merge pull request #301 from Arunpandian15/doc_20
      Merge pull request #299 from tbzatek/covscan-fixes-1
      Merge pull request #302 from martin-gpy/update_log_level
      Merge pull request #304 from tbzatek/init-subsystem-1
      fabrics: Avoid out of bounds string chomping
      Merge pull request #309 from tbzatek/init-subsystem-2
      Merge pull request #311 from glimchb/ci
      Merge pull request #313 from glimchb/badges
      Merge pull request #314 from glimchb/codecov
      Merge pull request #310 from igaw/nvme_chomp
      Merge pull request #292 from tbzatek/errno-fixes-1
      Merge pull request #306 from jeffreyalien/nvme-2.0-2
      fabrics: Free old traddr in nvmf_add_ctrl
      Merge pull request #308 from Arunpandian15/tests_23_03
      Merge pull request #315 from igaw/fix-host-traddr-free
      Merge pull request #307 from bjpaupor/lbstm
      Merge pull request #318 from hreinecke/display-tree
      ioctl: Remove attribute packed and alignedof for args structs
      Merge pull request #325 from martin-belanger/fix-dim-tas
      Merge pull request #321 from igaw/remove-packed-attribute
      doc: Regenerate all documentation
      Merge pull request #331 from jk-ozlabs/fixes
      tree: Remove default port setting for TCP and RDMA ports
      Merge pull request #333 from jk-ozlabs/fixes
      Merge pull request #332 from linux-nvme/fix-discovery-tcp-port
      doc: Regenerate all documentation
      build: Add git ref to the binary
      doc: Build ReST documantion as standalone target
      ci: publish only sdist on PyPi
      Merge pull request #339 from igaw/pypi-sdist-only
      Merge pull request #343 from igaw/build-rst-doc
      Merge pull request #337 from nekopsykose/scope-delimiter
      Merge pull request #341 from glimchb/dep
      Merge pull request #338 from TotalCaesar659/patch-1
      Merge pull request #348 from linux-nvme/dependabot/github_actions/actions/upload-artifact-3
      Merge pull request #347 from linux-nvme/dependabot/github_actions/actions/setup-python-3
      Merge pull request #346 from linux-nvme/dependabot/github_actions/codecov/codecov-action-3
      Merge pull request #345 from linux-nvme/dependabot/github_actions/actions/checkout-3
      Merge pull request #342 from cions/fix-cxx11-narrowing
      Merge pull request #344 from glimchb/doc
      util: add function to retrieve version information
      fabrics: Lower log level in __nvmf_add_ctrl
      Merge pull request #351 from igaw/fix-log-level
      fabrics: Remove double connection error logging
      Merge pull request #352 from igaw/fix-log-level
      Merge pull request #350 from glimchb/doc
      Merge pull request #340 from igaw/add-git-version
      Merge pull request #354 from eli-schwartz/uuid_h-name
      Merge pull request #349 from glimchb/master
      Merge pull request #357 from t-8ch/host_mem_buf-feature-length
      Merge pull request #359 from glimchb/master
      Merge pull request #360 from martin-gpy/nvme_config_segfault
      licenses: Remove old dir from initial ccan import
      log: Change license to LGPL-2.1-or-later
      treewide: Add SPDX identifier
      meson: Use SPDX identifier as license text
      libnvme: Export nvme_ctrl_get_config
      tree: Factor lookup code for controller
      fabrics: Consider config from file when adding new controller
      Merge pull request #358 from jeffreyalien/tp-4068-4084
      Merge pull request #363 from igaw/apply-file-config
      Merge pull request #362 from ankit-sam/master
      fabrics: Introduce connection connect error mapping
      Merge pull request #366 from sc108-lee/export-symbol
      Merge pull request #365 from jeffreyalien/master
      Merge pull request #353 from igaw/introduce-connection-error-mapping
      Merge pull request #371 from CodeConstruct/optional-cxx
      Merge pull request #370 from ankit-sam/master
      Merge pull request #372 from CodeConstruct/32-bit
      Merge pull request #76 from jk-ozlabs/mi
      ioctl: Add inline to nvme_identify_cns_nsid and nvme_get_log_ana
      Merge pull request #379 from igaw/fix-libnvme-mi-build
      fabrics: restructrure nvmf_get_discovery_log
      doc: move update instruction into template
      doc: update Python binding documentation
      README: add note about min kernel version
      Merge pull request #380 from igaw/add-kernel-dep-note
      ci: add python version to setup-python environment
      Merge pull request #381 from igaw/add-version-to-setup-python
      Merge pull request #376 from linux-nvme/dependabot/github_actions/actions/setup-python-4
      Merge pull request #375 from hreinecke/subsys-ns-lookup
      Merge pull request #383 from jeffreyalien/stc-control-bit-fix
      Merge pull request #384 from CodeConstruct/api-types
      Merge pull request #386 from CodeConstruct/mi
      Merge pull request #387 from jeffreyalien/master
      Merge pull request #388 from CodeConstruct/conf-host-endian-fix
      Merge pull request #391 from CodeConstruct/mi
      Merge pull request #389 from CodeConstruct/powerpc
      Merge pull request #392 from CodeConstruct/mi+admin
      doc: Add kernel-doc to header files
      Merge pull request #390 from igaw/update-doc
      test: Remove code dependency for mi test
      Merge pull request #397 from igaw/fix-coderage-report
      Merge pull request #398 from hreinecke/ctrl-auth
      Merge pull request #399 from CodeConstruct/mi-kdoc
      Merge pull request #402 from CodeConstruct/mi-kdoc
      Merge pull request #400 from CodeConstruct/mi-test-ep-init
      Merge pull request #403 from CodeConstruct/mi-cov-visibility
      Merge pull request #396 from CodeConstruct/mi+scan
      Merge pull request #405 from CodeConstruct/mi-h
      doc: Workaround kenrel-doc code scanner
      Merge pull request #406 from CodeConstruct/mi-ep-scan
      Merge pull request #409 from sc108-lee/libsystemd
      Merge branch 'mi-mctp-test' of https://github.com/CodeConstruct/libnvme
      Merge pull request #410 from CodeConstruct/mi+mpr
      Merge pull request #413 from CodeConstruct/not-cascading-style-sheets
      Merge pull request #415 from CodeConstruct/mi-config
      Merge pull request #418 from CodeConstruct/mi-retvals
      Merge pull request #378 from igaw/fix-nvmf_get_discovery_log
      nvme: Fix typos in header files
      nvme: Whitespace cleanups in header files
      nvme: More whitespace cleanup reported by checkpatch
      Merge pull request #419 from igaw/spell-checking
      Merge pull request #421 from martin-belanger/eflag-1
      Merge pull request #422 from martin-belanger/eflag-2
      build: Add workflow to create release from tags
      Merge pull request #416 from CodeConstruct/kdoc-test
      build: Add release automation script
      Merge pull request #424 from igaw/add-release-script
      Merge pull request #423 from martin-belanger/eflag-3
      build: Explicitly check return values when using run_command
      Merge pull request #427 from CodeConstruct/docs
      Merge pull request #428 from igaw/fix-doc-build
      Regenerate all documentation
      Release v1.1-rc0
      Merge pull request #432 from CodeConstruct/mi-timeout
      workflow: Only publish proper releases to PyPI
      build: Support release candidate version strings
      build: Update release version rules
      build: Update version before regenerating docs
      Merge pull request #435 from martin-belanger/add-missing-attrs-to-python
      Merge pull request #436 from CodeConstruct/mi-glp
      Merge pull request #414 from sc108-lee/rpm
      build: Add support to build against LibreSSL
      Merge pull request #439 from igaw/add-libressl-support
      ioctl: Honor rae in nvme_get_nsid_log
      build: Drop -nostdinc for LibreSSL header checks
      Merge pull request #441 from igaw/drop-nostdinc-libressl
      Merge pull request #443 from martin-gpy/dump_output
      Merge pull request #440 from igaw/fix-rae-users
      Merge pull request #442 from ismaell/posix
      Merge pull request #449 from tbzatek/errno-fixes-2
      Merge pull request #450 from hreinecke/json-sync
      Regenerate all documentation
      Merge pull request #433 from igaw/build-support-pypi-rc-uploads
      util: Add LINE_MAX define
      Merge pull request #453 from igaw/add-line-max-define
      build: Extend release script to support micro version releases
      Merge pull request #457 from CodeConstruct/mi+admin
      Merge pull request #458 from CodeConstruct/mi-mtu-conf
      Merge pull request #460 from CodeConstruct/mpr
      Merge pull request #461 from hreinecke/dhchap-templating.v2
      Merge pull request #463 from martin-gpy/authkey_unavailable_segfault
      doc: Install pre-compiled man pages to the correct path
      Merge pull request #464 from igaw/fix-man-page-dir
      docs: Relax regex in identifier match in list-man-pages.sh
      Merge pull request #465 from martin-gpy/update_schema
      Merge pull request #469 from CodeConstruct/action-warn-fix
      Merge pull request #470 from linux-nvme/dependabot/github_actions/actions/checkout-3
      Merge pull request #473 from martin-belanger/add-lsp-to-get-dlp4
      Merge pull request #476 from martin-belanger/add-tp8010-defs
      Merge pull request #480 from CodeConstruct/dev/mi-id-secondary
      Merge pull request #481 from CodeConstruct/dev/mi-status
      Merge pull request #479 from CodeConstruct/dev/ci-cross
      Merge pull request #484 from CodeConstruct/dev/mi-symvers
      Merge pull request #482 from CodeConstruct/dev/mi-firmware
      Merge pull request #483 from martin-belanger/add-pleo-support
      Merge pull request #486 from martin-belanger/add-pleo-support-py
      Merge pull request #487 from martin-belanger/eliminate-empty-arguments
      Merge pull request #488 from martin-belanger/fix-examples
      json: Enforce correctly formatted JSON config files
      json: Verify JSON config file starts with an array
      Merge pull request #489 from drakedog2008/description
      Merge pull request #493 from maurizio-lombardi/memleak
      Merge pull request #491 from igaw/harden-json-parser
      Merge pull request #499 from CodeConstruct/pr/log-page
      fabrics: Use fallthrough statement
      Merge pull request #494 from ikegami-t/set-feature-0dh
      Merge pull request #501 from safl/mk
      Merge pull request #502 from CodeConstruct/pr/mi-status
      Merge pull request #503 from CodeConstruct/pr/mi-conf-err
      Merge pull request #504 from CodeConstruct/pr/mi-conf-mtu
      util: Do not expose fallthrough defines
      Merge pull request #507 from igaw/private-fallhtrough-define
      Merge pull request #508 from martin-gpy/add_is_persistent
      util: Add simple UUID type
      Merge pull request #497 from igaw/drop-libuuid
      ioctl: Set log page offset for nvme_get_log_telemetry_host
      mi: Set log page offset for nvme_get_log_telemetry_host
      build: Update min version of meson to 0.48
      Merge pull request #510 from igaw/pass-lpo-arg
      Merge pull request #511 from igaw/build-min-verison-fix
      fabrics: Duplicate strings when merging configs
      Merge pull request #512 from igaw/fix-merge-config
      types: Move enum nvme_data_tfr to types
      Merge pull request #513 from igaw/move-def
      build: Update version to v1.2
      doc: Regenerate all docs for v1.2
      build: Remove usused pkg-config template
      Merge pull request #519 from igaw/pkg-config
      ioctl: Move nvme_get_log_page() to ioctl.h
      ioctl: Use nvme_get_log_page() in helpers
      Merge pull request #515 from CodeConstruct/dev/mi-ctrl-list-nsid
      Merge pull request #517 from drakedog2008/pr/bug-fix
      Merge pull request #514 from CodeConstruct/dev/mi-quirks
      Merge pull request #520 from CodeConstruct/pr/mi-status
      Merge pull request #521 from martin-belanger/release-python-gil
      Merge pull request #528 from jinliangw/master
      Merge pull request #529 from CodeConstruct/pr/be
      Merge pull request #531 from dankamongmen/dankamongmen/meson-0.50.0
      doc: Generate rst documentation on the fly for readthedocs
      Merge pull request #532 from igaw/generate-rst-readthedocs
      build: Drop meson version test for 0.48
      build: Allow static linking
      Merge pull request #533 from igaw/static-build
      build: Always set CONFIG_LIBSYSTEMD variable
      Merge pull request #534 from igaw/cleanup-static-build
      build: Run cross build test under qemu
      Merge pull request #535 from igaw/run-cross-tests
      build: Do not install libuuid in cross builds
      build: Add s390x cross build target
      Merge pull request #536 from igaw/run-cross-tests
      build: Drop --werror for fallback builds
      Merge pull request #538 from martin-belanger/fix-uuid-size
      Merge pull request #540 from CodeConstruct/pr/mi-endpoint-close
      Merge pull request #542 from CodeConstruct/dev/mi-libdbus
      Merge pull request #546 from tbzatek/valgrind-fixes-1
      Merge pull request #545 from jinliangw/rename_tmp
      Merge pull request #548 from tbzatek/valgrind-fixes-2
      Merge pull request #539 from jinliangw/master
      Merge pull request #547 from jinliangw/in_band_get_log_fix
      Merge pull request #551 from jinliangw/spsp_fix
      Merge pull request #552 from birkelund/tp4146
      nvme: Output zero padded hostid in resv-report command
      Merge pull request #1761 from igaw/fix-recv-report-hostid
      Merge pull request #554 from drakedog2008/pr/timeout
      build: Remove unused uuid.wrap
      build: Add D-Bus fallback
      build: Add libdbus to build default build environment
      Merge pull request #555 from igaw/build-libdbus-wrap
      Merge pull request #558 from birkelund/tp4146
      Merge pull request #1756 from birkelund/tp4146
      build: Renaming and cleanups of workflow files
      build: Add AppImage build workflows
      Merge pull request #1769 from igaw/create-appimage
      build: Set projects default to debug and prefix /usr/local
      ioctl: Initialize all members in nvme_fdp_reclaim_unit-handle_status
      util: Add ECONNECTREFUSED to enum nvme_connect_err
      fabrics: Change string for NVMF_DISC_EFLAGS_NONE
      fabrics: Add nqn to connect/disconnect log entry
      Merge pull request #557 from igaw/misc-fabric-fixes
      tree: Add unique discovery controller flag
      Merge pull request #556 from igaw/add-unique-disc-ctrl
      build: Set projects default to debug and prefix /usr/local
      fabrics: Do not overwrite errno with return code
      fabrics: Use endian helper when reading discovery log entries
      fabrics: Add support for binary output
      nvme: Ingore LOG_NOTICE level
      fabrics: Update error message when connect attemp fails
      fabrics: Set discovery KATO also for current disc crtl
      fabrics: Do not attempt to reconnect to already connected ctrls
      Merge pull request #1768 from igaw/misc-fabric-fixes
      build: Update libnvme wrap
      fabrics: Prefer unique disc ctrl over well known
      ioctl: Initialize non-trivial designated initializers
      Merge pull request #560 from igaw/fix-non-trivial-designeded-initializers
      fabrics: Handle DUPRETINFO and EPCSD when doing discovery
      fabrics: Do not disconnect unique disc ctrl on default
      gitignore: Ignore clang build artifacts
      gitignore: Ignore clang build artifacts
      Merge pull request #1749 from ikegami-t/smart-log
      Merge pull request #1770 from igaw/dst-wait
      build: Upload latest AppImage
      Merge pull request #1771 from igaw/appimage-release
      build: The release workflow can't tag
      Merge pull request #1772 from ikegami-t/util-print
      Merge pull request #1765 from igaw/make-pdc-default
      fabrics: Always sanitize discovery log entries
      Merge pull request #1774 from ikegami-t/util-maint
      tree: Add persistent_discovery_ctrl config flag
      Merge pull request #1773 from linux-nvme/dependabot/github_actions/actions/upload-artifact-3
      Merge pull request #564 from igaw/make-pdc-optional
      Merge pull request #562 from igaw/sanitize-disc-log
      build: Update libnvme wrap
      fabrics: Make PDC behavior configurable
      Merge pull request #1775 from igaw/make-pdc-optional
      Merge pull request #565 from CodeConstruct/pr/563
      Merge pull request #566 from birkelund/fix-event-timestamp
      fabrics: Fix discovery controller filter function
      fabrics: Fix already connected test
      fabrics: Pass discovery ctrl to __discover()
      Merge pull request #1777 from birkelund/tp4146-fixes
      Merge pull request #1779 from ikegami-t/util-suffix
      fabrics: Avoid buffer overrun in strchomp
      Merge pull request #1780 from calebsander/fix/strip-spaces
      Merge pull request #567 from igaw/fix-strchomp
      Merge pull request #1778 from igaw/pdc-fixes
      build: Update libnvme version dependency on release
      Merge pull request #1781 from igaw/release-update-libnvme-version
      Merge pull request #569 from ikegami-t/dst
      build: Bump libnvme wrap
      Merge pull request #1782 from ikegami-t/dst
      build: Update version to v1.3
      doc: Regenerate all docs for v1.3
      build: Bump libnvme.wrap release v1.3
      build: Update version to v2.3
      doc: Regenerate all docs for v2.3
      Merge pull request #570 from tbzatek/nss
      nvme: Support effects-log for fabrics ctrl
      Merge pull request #1794 from igaw/effects-log
      build: Enable Azure Pipeline again
      Merge pull request #1795 from igaw/add-blkttests
      build: Also trigger Azure Pipeline for PR
      util: Add crc32 implementation
      build: Use prefixdir directly on sysconfdir
      build: Use prefixdir directly on sysconfdir
      build: Make json-c dependency optional again
      build: Update dbus.wrap
      Merge pull request #575 from igaw/update-dbus-wrap
      fabrics: Do not ignore one char whitespace when string sanitizing
      Merge pull request #576 from igaw/fix-strchomp-callers
      Merge pull request #573 from igaw/fix-muon-build
      Merge pull request #1799 from igaw/fix-muon-build
      Merge pull request #1798 from igaw/drop-zlib
      util: Reimplement suffix_si_parse
      util: Update suffix_binary_parse API
      Merge pull request #1790 from igaw/reimplement-suffix_si_parse
      Merge pull request #1789 from ikegami-t/get-feature-status
      util: Numbers without any suffix are also valid
      Merge pull request #1802 from igaw/fix-suffix_binary_parse-regression
      build: Update library paths for AppImage
      Merge pull request #1809 from igaw/fix-appimage
      Merge pull request #1805 from martin-belanger/fix-doc
      Merge pull request #574 from igaw/make-json-c-optional
      build: Set defaults for libdbus to disabled
      build: Rename meson.yml to build.yml
      build: Add muon build
      Merge pull request #577 from igaw/build-updates
      fabrics: No need to sanitize trsvcid and traddr
      plugins/solidigm: Use struct json_object instead of typedef
      plugins/solidigm: Use json_create_object wrapper
      nvme-print: Move JSON printing function into a new file
      nvme: Make json-c optional again
      Merge pull request #1800 from igaw/make-json-c-optional
      Merge pull request #1814 from jeffreyalien/latency-log
      Merge pull request #1817 from sc108-lee/completion
      Merge pull request #1819 from innogritkenny/master
      doc: --storage-tag-check doesn't take any arguments
      ioctl: Set file descriptor in nvme_get_log_page()
      mi: Add nvme_mi_admin_get_log_page
      build: Bump libnvme wrap
      nvme: Use fprintf for error message logging in get_log()
      nvme: Use chunked read in get_log()
      build: Update CI build targets
      build: Streamline workflows with nvme-cli
      build: Add s390x cross build and enable cross tests
      build: Add muon build target
      build: Enable test in muon minimal build
      nvme: Fix type in error message
      nvme: Factor out parse telemetry log da element
      nvme: Refactor get telemetry log page helper
      nvme: Add rae argument to telemetry-log command
      fabrics: Fix ordering for auto connect services
      build: Initialize sysconfdir
      build: Initialize sysconfdir
      build: Upload all log files on failure
      build: Upload all log files on failure
      build: Add action build back
      plugins/solidigm: Do not overwrite previously initialized variable
      nvme: Use correct ABORT type for self abort test
      plugins/inspur: Cast vendor specific smart log value
      build: Add build action back
      build: Update json-c wrap
      build: Update OpenSSL wrap
      build: Update libnvme wrap
      doc: Update build script to use correct meson verbs
      doc: Do not hardcode default location for config files
      fabrics: Add define for DMI sysinfo
      fabrics: Filter out invalid UUIDs from DMI
      build: Update version to v1.4
      doc: Regenerate all docs for v1.4
      build: Bump libnvme to v1.4
      build: Update version to v2.4
      doc: Regenerate all docs for v2.4
      build: Add external AppImage upload workflow
      build: Use sftp transport for AppImage deploy step
      build: Deploy AppImage only for push on master
      build: Fetch all references before using git describe
      tree: Fix argument check in nvme_bytes_to_lba
      nvme-print: Use enum nvme_print_flags for nvme_show_id_ctrl
      fabrics: Do not pass unsupported options to kernel
      tree: Fix offset argument check in nvme_bytes_to_lba
      build: Disable fallback on default
      build: Update wrap mode defaults
      build: Make json-c dependency lookup not fail
      build: Extend summary section
      build: Simple muon build configuration
      build: Bump libnvme wrap
      build: Disable fallback on default
      build: Make json-c dependency lookup not fail
      build: Extend summary section
      build: Update wrap mode defaults
      doc: Update REAMDE
      build: Fix appimage configuration
      build: Extend static linked binary build test
      doc: Update README
      python: Update test data
      ioctl: Explicitly initialize all members of struct nvme_ns_mgmt_args
      build: Install missing s390 library
      test: Add unit test for ctrl lookups
      build: Install missing s390 library
      build: Do not use json-c fallback for muon minimal build
      nvme-print-json: Update function sigs for !json-c builds
      nbft: Make json-c output depending on config flag
      nbft: Add stdlib.h include
      nbft: Add include util/types.h
      nvme-print: Double function definition
      nvme-print: Export generic to string functions
      nvme-print: Unify flag passing into functions
      nvme-print: Split add_bitmap implementation
      fabrics: Move printing functions to the print files
      print: Introduce print ops structure
      nvme-print-json: Refactor json print code to use nvme_print_ops
      nvme-print-stdout: Refactor stdout print code to use print_ops
      nvme-print-binary: Refactor binary print code to use print_ops
      nvme: Use correct metadata buffer size
      nvme: Use correct data buffer size
      fabrics: Revert 'fabrics: prevent 'nvme connect' to well-known discovery NQN'
      fabrics: Do not print device on connect per default
      plugins/nbft: Use common code to parse print flags
      util: Add ignored error code
      fabrics: Filter discovery ctrls out during application context check
      tree: Ignore NULL address pointer for phy slot lookup
      fabrics: Relax match on well known disc ctrl lookup
      build: Bump libnvme wrap
      build: Reformat build_opionts.txt
      fabrics: Add support for volatile configuration
      nvmf-autoconnect: Annotate the context to autoconnect
      doc: Add information on --context
      scripts: Move helper scripts to a central place
      scripts: Call update doc script from top level dir
      scripts: Sync release script
      build: Move CI build steps into a scripts
      scripts: Use spaces instead of tabs
      util: Provide empty nvme_ipaddrs_eq for static builds
      build: Use containers with matrix build
      docs: Update file modes
      scripts: Move helper scripts to a central place
      scripts: Execute the scripts from toplevel directory
      scripts: Update update-docs.sh scripts
      scripts: Make release script project neutral
      build: Bump libnvme wrap
      build: Use containers with matrix build
      nvme-print: Fix typo in callback definition
      nvme-print: Move num argument parsing into callbacks
      nvme-print: Remove left overs from refactoring
      build: Update cross instruction and drop verbose test flag
      build: Update version to v1.5
      doc: Regenerate all docs for v1.5
      build: Bump libnvme wrap
      build: Update version to v2.5
      doc: Regenerate all docs for v2.5
      tree: Scan all subsystems
      fabrics: Consider also all hosts settings for context match
      ccan: Remove unused documentation
      ccan: Add htable, strset and dependencies
      nvme-print-stdout: Support subsys reachable from several hosts
      build: Bump libnvme wrap
      nvme-print-stdout: List only ctrls which are part of ns
      tree: Add getter for subsystem iopolicy
      build: Bump libnvme wrap
      nvme-print: Fix show-topolocy for ctrls
      nvme-print-stdout: Do not show non reachable ns in namespace topology
      nvme-print: Show subsystem iopolicy
      util: Set errno to 0 before strtol/stroul call
      fabrics: Read the supported options lazy
      fabrics: Do not pass disable_sqflow if not supported
      mi: remove nsid from nvme_mi_admin_identify_secondary_ctrl_list()
      build: Bump libnvme wrap
      nvme: Update list secondary command
      test: make all function static
      test: fix lookup test case
      build: use prebuild container images for cross builds
      build: use debian container for release-python build
      build: use container for coverage build
      build: checkout repo in coverage build
      build: avoid unused static inline function warning for clang
      build: use prebuild containers for builds
      build: fix AppImage yaml file
      build: more style fixes for AppImage build
      build: fix coverage report build
      build: fix generation of coverage report
      build: run tests before coverage tool
      build: run tests before coverage tool
      build: use latest container instead fixed version
      build: use latest container instead fixed version
      build: Bump libnvme wrap
      test: use non deprecated API
      nvme: fw_download use nvme_alloc only
      nvme: append huge to nvme_{alloc|free} function
      util: add cleanup function for generic memory allocations
      nvme: introduce alloc helper with alignment support
      nvme: allocate aligned payloads for all nvme commands
      nvme: auto free nvme_dev resource
      build: abort CI builds on first error
      plugins/solidigm: use static log macro to calc bitmask
      build: abort CI builds on first error
      build: bump libnvme wrap
      completion: add 'version' and 'help' to list
      util: handle utf-8 thousend separators correctly
      unit: add locale number test
      build: Update version to v1.6
      doc: Regenerate all docs for v1.6
      build: bump libnvme wrap to v1.6
      build: Update version to v2.6
      doc: Regenerate all docs for v2.6
      build: upload artifacts only for upstream repo
      build: upload artifacts only for upstream repo
      nvme: use block-count arg if provided
      nvme: do not include meta data for PRACT=1 and MD=8
      build: do not setup python
      ioctl: use lsp arg in nvme_get_log_boot_partition
      build: Bump libnvme wrap
      fabrics: autoconnect: explicitly express module dependency
      mailmap: only show contributer's name
      plugins/ocp: update nvme_show_select_result call
      nvme-print-json: remove obj_print helper
      nvme-print-json: use human helper everywhere
      doc: remove invalid hostkey info for --dhchap-secret
      build: do not rebuild muon/samu every time
      build: pass the linker argument via muon argument
      build: remove the wrap feature dependency for muon
      build: do not rebuild muon/samu every time
      build: pass the linker argument via muon argument
      doc: add additional build instructions
      doc: mention build helper script for muon build instruction
      nvme: return error code in get_persistent_event_log
      nvme: auto cleanup buffers
      nvme: auto cleanup filedescriptors
      util/mem: move alloc helper to util section
      nvme: replace libhugetlbfs with mmap and madvise
      build: remove libhugetlbfs references
      nvme: validate output format split status from flag return value
      build: add CFLAGS back when building with muon
      build: ignore external code for code coverage check
      build: add checkpatch to catch style issues
      build: ignore external code for code coverage check
      build: add codecov configuration
      build: add codecov configuration
      tree: read all attributes from sysfs when available
      tree: do not open blk device on default
      build: construct path to config.h manually
      build: update json-c and openssl wrap
      build: Update version to v1.7
      doc: Regenerate all docs for v1.7
      build: update json-c wrap
      build: Update libnvme wrap to v1.7
      doc: fix lockdown document
      build: Update version to v2.7
      doc: Regenerate all docs for v2.7
      build: use single string to name tests
      build: use build container with python support
      tree: do no free ns on error in nvme_ns_init
      build: handle patch level versioning
      build: Update version to v1.7.1
      doc: Regenerate all docs for v1.7.1
      build: fix release python tag match
      build: checkout full repo for checkpatch
      nvme-print-json: Revert field name changes
      build: Update version to v2.7.1
      doc: Regenerate all docs for v2.7.1
      build: checkout full repo for checkpatch
      json-schema: add keyring and tls_key details
      tree: use logical block size for lba
      libnvme: export nvme_dump_tree
      json: dump the output to the user selected filedescriptor
      nvme: allow to overwrite base sysfs path
      nvme: allow to overwrite hostnqn and hostid
      test: read and dump sysfs tar file
      nbft: fixup include for libnvme
      nbft: do not issue an error if ACPI tables are missing
      tree: do not issue an error when subsys lookup fails during scanning
      nvme-print-json: append array object in json_support_log
      build: Update version to v1.8
      doc: Regenerate all docs for v1.8
      build: bump libnvme version
      build: Update version to v2.8
      doc: Regenerate all docs for v2.8
      build: bump libnvme wrap
      log: move nvme_{set|get}_debug to log.c
      ioctl: export nvme_submit_passthru{64} as weak symbol
      ioctl: remove incomplete debug logging infrastructure
      build: bump libnvme wrap
      nvme: remove unused declaration
      nvme: update include for libnvme
      logging: move logging code to a new file
      logging: track log level globally
      nvme: track verbose level
      logging: output ioctl debugging info
      nvme: do not issue warning when nvme_core module is not loaded
      build: bump libnvme wrap
      nvme: do not scan topology when mmaping registers
      nvme: extend error message for ns scan failures
      tree: fix lba_count size calculation
      build: bump libnvme wrap
      build: bump libnvme wrap
      logging: fix error handling for ioctl passthru wrappers
      fabrics: align identify command payload
      Revert "logging: fix error handling for ioctl passthru wrappers"
      Revert "ioctl: Return NVMe status in nvme_directive_send_id_endir()"
      Revert "ioctl: add nvme_get_features_host_id2()"
      Revert "ioctl: add nvme_get_features_timestamp2()"
      Revert "ioctl: add nvme_set_features_iocs_profile2()"
      Revert "ioctl: add nvme_set_features_host_id2()"
      Revert "ioctl: add nvme_set_features_host_behavior2()"
      Revert "ioctl: add nvme_set_features_timestamp2()"
      Revert "ioctl: Update stub functions to match documentation"
      Revert "ioctl: Update function documentation"
      Revert "fabrics: retry discovery log page when DNR is not set"
      Revert "ioctl: return EPROTO when an NVMe status occurred"
      Revert "build(deps): bump AppImageCrafters/build-appimage from 1.3 to 2"
      nvmf-connect: systemd hardening effort
      tree: use strtou32 to read lba_size
      nvme: identify primary ctrl do not accept nsid
      nvmf-autoconnect: fix string encoding
      build: Update version to v1.9
      doc: Regenerate all docs for v1.9
      build: bump libnvme wrap
      build: Update version to v2.9
      doc: Regenerate all docs for v2.9
      plugins/spdk: drop the plugin
      build: Update version to v2.9.1
      doc: Regenerate all docs for v2.9.1
      libnvme: sort export map
      log: keep log level logic in one place
      log: split log variables from root object
      build: bump libnvme wrap
      nvme: use cleanup helper for nvme_root_t objects
      nvme: initialize default library logging
      linux: default init cleanup variable
      build: bump libnvme wrap
      build: separate builds of libnvme and nvme-cli
      doc: remove unused release variable
      build: reorder release commits
      doc: fix ocp format issues
      build: reorder release commits
      fabrics: skip namespace scan for fabric commands
      nvme-print-stdout: refactor subsys config
      linux: add nvme_revoke_tls_key
      build: bump libnvme wrap
      nvme: use stdout for exporting TLS keys
      nvme: strip newline when parsing TLS key files
      nvme: use cleanup helper for STREAM objects
      fabrics: use cleanup helper for STREAM objects
      nvme-rpmb: use cleanup helper for STREAM objects
      nvme: use cleanup helper to close file descriptor
      nvme: factor out import key function
      nvme: return error code/message for TLS commands
      nvme: add support to revoke TLS key
      build: sort documentation files entries
      doc: fix tls-key --keyfile shorthand
      doc: add tls-key --revoke documentation
      completion: add support for tls-key
      doc: fix micron ocp telemetry log parse title
      build: add documentation CI build
      build: add documentation CI build
      build: always CI build documentation
      tree: preserve parsing order of a config file
      json: filter out pcie transport
      test: revamp sysfs tree dump test
      test: add config dump test
      test: add config-pcie-with-tcp-config test case
      fabrics: extend hostnqn/hostid variable inject interface
      tree: add helper to lookup hostnqn/hostid
      test: add hostnqn lookup test
      build: bump libnvme wrap
      fabrics: use cleanup helper to free nvme root object
      fabrics: extend already connected message
      fabrics: use helper to lookup default hostnqn/hostid
      fabrics: first read config before topology scanning
      fabrics: refactore discover from json config
      fabrics: connect all hosts in config.json
      build: do not overwrite conf data from main meson.build
      build: show git version used during configuration
      build: add static build target
      build: show git version used during configuration
      build: fetch complete git history
      build: use official download action
      utils: add missing header
      utils: cleanup includes in utils.h
      utils: fix print formatting option
      fabrics: use cleanup helper where possible
      fabrics: do not report error when no modules are loaded when disconnecting
      fabrics: check if json config is existing
      fabrics: drop --disable-sqflow alias -d
      fabrics: drop --quiet alias -S
      test: return error code
      nvme: extend help message when mmap regs fails
      fabrics: do not leak nvme_ctrl_t object on connect
      doc: Regenerate all docs for v1.10
      Release v1.10
      build: bump libnvme wrap
      doc: Regenerate all docs for v2.10
      Release v2.10
      docs: rename ocp-unsupported-req-log file
      build: add install step to doc CI build
      build: add install step to doc CI build
      doc: Regenerate all docs for v2.10.1
      Release v2.10.1
      build: fix libnvme dependency
      doc: Regenerate all docs for v2.10.2
      Release v2.10.2
      build: use linux-nvme/ci-containers
      build: use linux-nvme/ci-containers
      linux: reorder variable declarations
      linux: use ssize_t as return type for nvme_identity_len
      linux: only return the description of a key
      test: make config-diff more flexible to use
      test: add test case for importing/exporting PSKs
      linux: add import/export function for TLS pre-shared keys
      test: extend psk to test new 'versioned' API
      tree: add getter/setters for TLS PSK
      json: move keystore operations out of the JSON parser
      test: add pre-shared key json tests
      tree: move dhchap and tls sysfs parser into separate functions
      tree: read tls_configured_key and tls_keyring from sysfs
      linux: export keys to config
      linux: handle key import correctly
      fabrics: rename first argument for argument macros
      fabrics: use hex numbers when generating command line options
      fabrics: add ctrl connect interface
      fabrics: fix map error level in __nvmf_add_ctrl
      util: added error code for ENOKEY
      tree: do no export tls keys when not provided by user
      json: do not escape strings when printing the configuration
      build: bump libnvme wrap
      nvme: use unsigned char for hmac and identity
      fabrics: add support to connect to accept a configuration
      fabrics: add support to connect to accept a PSK command line
      docs: update TLS options
      nvmf-keys: add udev rule to import tls keys
      nvme: export tls keys honoring version and hmac
      nvme: set file permission for keyfile to owner only
      nvme: rename identity to version
      nvme: add support to add derive TLS PSK to keyfile
      docs: update gen-tls-key arguments
      nvme: return correct error code in append_keyfile
      nvme: add support to append TLS PSK to keyfile for check-tls-key
      docs: update check-tls-key arguments
      doc: Regenerate all docs for v1.11
      Release v1.11
      build: bump libnvme wrap
      scripts: handle libnvme version update correctly
      doc: Regenerate all docs for v2.11
      Release v2.11
      linux: fix derive_psk_digest OpenSSL 1.1 version
      linux: do not return w/o OpenSSL support enabled
      docs: add howto to setup TLS connections
      linux: do not do any keyring ops when no key is provided
      fabrics: do not attempt to import keys if tls is not enabled
      doc: Regenerate all docs for v1.11.1
      Release v1.11.1
      test/mock: pass thru unknown ioctls
      tests: do not unconditionally depend on dlsym
      build: bump libnvme wrap
      doc: remove TLS documentation
      ioctl: fix io_uring whitespace damages
      build: bump wraps
      build: bump wrap
      build: automatically add a thank you note on PR merge
      build: fix REST API call and permissions for thanks you note
      build: add thank you bot
      build: add github token to comment step
      build: remove thank you bot
      build: remove thank you bot
      tests: monitor /dev for new nvme block device
      plugins/ocp: fix telemetry parser buffer overflow
      build: checkpatch ignore new/del/mov files
      build: sync checkpatch config file
      build: checkpatch limit line length to 100 chars
      build: checkpatch limit line length to 100 chars
      nvme: do not output debug infos on info level
      Revert "nvme: add flush command chardev handle error message"
      Revert "nvme: use blkdev for direct if namespace-id specified"
      Revert "argconfig: add argconfig_get_value()"
      examples: fix time stamp prefix printf format string
      pyproject.toml: allow newer meson version
      build: update min meson dependency
      build: request c++ compiler for host and build machine
      build: drop support for openssl 1
      build: bump libnvme wrap
      util/types: fix print format string
      plugins/virtium: fix print format string
      plugins/sed: use platform depended cast for pointer type
      util/logging: fix print format string
      nvme: enforce ns granularity on ns create
      build: do not include config.h globally
      nvme: use correct parser type for nvmsetid and endgid option
      build: ignore PREFER_DEFINED_ATTRIBUTE_MACRO
      doc: Regenerate all docs for v1.12
      Release v1.12
      build: bump libnvme wrap
      doc: Regenerate all docs for v2.12
      Release v2.12
      build: fix python release workflows
      build: enable python test release and fix release tag
      build: use correct syntax to fetch container
      build: use v1 branch pypi publish action
      build: use trusted publisher authentication
      pyproject: add description metadata
      build: set permissions for release-python
      build: disable twine metadata check
      build: update packaging for twine
      build: install pip
      build: use pipx for installing packaging
      build: install packaging globally
      build: install packaging in upload containers
      gitignore: ignore .build-tools
      src: update include directive
      mailmap: show only contributers name
      Revert "nvme-print-json: display only verbose output"
      ioctl: return status code when using liburing
      build: bump libnvme wrap
      build: bump libnvme wrap
      fabrics: retry connect command on EINTR
      build: fix python upload workflows
      build: update gh-action-pypi-publish dependency
      build: use the correct version syntax for actions
      build: set python version to 3.10
      doc: Regenerate all docs for v1.13
      Release v1.13
      build: bump libnvme wrap
      doc: Regenerate all docs for v2.13
      Release v2.13
      build: allow to specify tag for workflow_dispatch
      build: upload unique pypi test versions
      build: add cleanup task for pypi test uploads
      build: fix test pypi cleanup task
      build: cleanup python test pypi upload
      build: split 'dev' postfix from version string
      biuld: patch the meson.build for test pypi upload
      src: introduce unreleased export section
      scripts: update UNRELEASED export map on release
      build: update readthedocs commands
      build: use newer build container for readthedocs
      mi: fix unrleased section name
      build: run nightly build only for linux-nvme
      Revert "fabrics: retry connect command on EINTR"
      build: bump libnvme wrap
      util: add SIGINT handler
      nvme: retry commands on EAGAIN and EINTR
      nvme: check errno not return value
      fabrics: refactor error propagation in nvmf_connect
      build: make 'clean' target an alias for 'purge'
      build: always use meson commands
      build: fix the static build
      build: make 'clean' target an alias for 'purge'
      build: disable netdb test for static builds
      doc: Regenerate all docs for v1.14
      Release v1.14
      build: bump libnvme wrap
      doc: Regenerate all docs for v2.14
      Release v2.14
      ioctl: only use io_uring for char devices
      doc: fix return value description for nvme_scan_topology
      ioctl: introduce force xfer length configuration knob
      nvme: add command line argument to disable retries
      doc: add note about huge TLB when using fw-download
      build: disable liburing support per default
      tree: filter tree after scan has completed
      nvme: extend filter to match device name
      nvme-print: suppress output when no ctrl is present for list-subsys
      tree: free ctrl attributes when (re)configure ctrl
      Revert "linux: TLS PSK derivation fixes"
      json: do not leak port_obj for PCI devices
      tree: always set the host key
      doc: Regenerate all docs for v1.15
      Release v1.15
      build: bump libnvme wrap
      doc: Regenerate all docs for v2.15
      Release v2.15
      udev: rename 71-nvme-hpe.rules to 71-nvmf-hpe.rules
      build: fix static build
      build: add valgrind test option to build script
      build: run tests with valgrind for default builds
      build: add valgrind test option to build script
      build: run tests with valgrind for default builds
      build: replace AppImage with static build binary
      tree: do not try to strdup NULL pointer
      build: bump libnvme wrap
      linux: use EVP_PKEY_CTX_add1_hkdf_info only once in compat function
      test: add hkdf_add1 test
      build: bump libnvme wrap
      build: don't mark build fail when coverage fails
      build: don't mark build fail when coverage fails
      CI: add expect package for blktests
      doc/nvme-write: fix short hand argument for --block-size
      test/mi: initialize struct args
      tree: preserve dhchap_key to during scan
      doc: Regenerate all docs for v1.16
      Release v1.16
      build: bump libnvme wrap
      doc: Regenerate all docs for v2.16
      Release v2.16
      lib: import libnvme sources
      libnvme: hookup the library into the build
      build: add native compiler to cross compiler config
      build: disable force-fallback-for libnvme
      map: merge all symbols into 2.0 section
      ioctl: remove deprecated functions
      src: merge libnvme-mi into libnvme
      api-types: replace nvme_root_t with struct nvme_global_ctx
      src: introduce transport handle abstraction
      api-types: remove unused fd members
      linux: add nvme_transport_handle_get_fd
      linux: add nvme_transport_handle_get_name
      linux: add nvme_transport_handle_is_{blk|char}dev
      mi: replace nvme_mi_ctrl_t with struct nvme_transport_handle
      linux: add MI support to nvme_{open|close}
      linux: add nvme_transport_handle_is_{direct|mi}
      ioctl: add support for MI passthru
      ioctl: add alignment and length check to nvme_fw_download
      mi: replace dedicated MI API with generic one
      nvme-cli: update to libnvme API changes
      rrc: return error codes directly
      nvme-cli: update error handling
      ioctl: add nvme_identify_partial
      mi: remove nvme_mi_admin_identify{_partial}
      ioctl: remove struct args backwards compatibility
      src: rename struct command *cmd to acmd
      ioctl: rework nvme_identify commands
      src: rework nvme_identify commands
      ioctl: rework nvme_get_log commands
      ioctl: add nvme_init_log_lpo helper
      ioctl: rework nvme_set_features commands
      ioctl: rework nvme_get_features commands
      ioctl: rework nvme_format_nvm command
      ioctl: rework nvme_ns_mgmt commands
      ioctl: rework nvme_ns_attach commands
      ioctl: rework nvme_fw_download command
      ioctl: rework nvme_fw_commit command
      ioctl: rework nvme_security_send command
      ioctl: rework nvme_security_receive command
      ioctl: rework nvme_get_lba_status command
      ioctl: rework nvme_directive_send commands
      src: rework nvme_directive_send command
      ioctl: rework nvme_directive_recv commands
      src: rework nvme_directive_recv command
      ioctl: rework nvme_capacity_mgmt commands
      src: rework nvme_capacity_mgmt command
      ioctl: rework nvme_lockdown command
      ioctl: rework nvme_set_property command
      ioctl: rework nvme_get_property command
      ioctl: rework nvme_sanitize_nvm command
      ioctl: rework nvme_dev_self_test command
      ioctl: rework nvme_virtual_mgmt command
      ioctl: rework nvme_resv_acquire command
      ioctl: rework nvme_resv_register command
      ioctl: rework nvme_resv_release command
      ioctl: rework nvme_resv_report command
      ioctl: rework nvme_io_mgmt_recv commands
      ioctl: rework nvme_io_mgmt_send commands
      ioctl: rework nvme_zns_mgmt_send commands
      ioctl: rework nvme_zns_mgmt_recv commands
      ioctl: rework nvme_zns_append commands
      ioctl: rework nvme_dim_send command
      ioctl: rework nvme_lm_cqd command
      ioctl: rework nvme_lm_track_send command
      ioctl: rework nvme_lm_migration_send command
      ioctl: rework nvme_lm_migration_recv command
      ioctl: rework nvme_lm_set_features_data_queue command
      ioctl: rework nvme_lm_get_features_data_queue command
      ioctl: rework nvme_io commands
      ioctl: rework nvme_copy command
      ioctl: remove unused enum features
      src: merge api-types.h content into types.h
      plugins: replace nvme_scan with nvme_scan_topology
      libnvme: remove unused project config files
      build: switch back to 80 char checkpatch config
      build: move libnvme github workflows to top dir
      build: mark repo as safe for git
      libnvme/mi: always initialize timeout_save
      plugins/sandisk: update calling arguments
      build: avoid breaking cross builds with OpenSSL enabled
      nvme: use io passthru for write_uncor
      ioctl: fix dms command
      fabrics: interpret return code from nvme_create_ctrl correctly
      nvme: dsm: make context atttribute optional again
      libnvme: use 64-bit version struct nvme_passtru_cmd everywhere
      ioctl: add hooks into submission path
      src: drop result argument from submit API
      ioctl: fix return code handling in uring code
      nvme: add fallback support for block vs char device to dsm command
      nvme: add fallback support for block vs char device to flush command
      nvme: factor out get_pi_info from submit_io
      nvme: do not use initialize PI tags unconditionally
      doc: add how to use the CI containers to build
      ioctl: use dummy passthru command
      nvme: handle absence of PI support in IO commands
      nvme: add fallback support for block vs char device to verify command
      build: merge libnvme build into the nvme-cli build scripts
      util: move nvme_strerror to libraray
      fabrics: move __discover to the library
      fabrics: move json config based discovery to library
      fabrics: move connect config json code to the library
      fabrics: move nbft code to the library
      fabrics: move host_traddr and host_iface to ctrl
      fabrics: add context to common fabrics arg parser
      fabrics: move discovery config file code to library
      fabrics: move final discovery code to library
      fabrics: generalize nvmf_discovery_ctx to nvmf_context
      fabrics: move connect logic to library
      fabrics: remove duplicate arguments from discover/connect
      fabrics: add documentation to the new discovery/connnect API
      doc: update readme on libnvme dependency
      fabrics: correctly set host traddr and iface
      fabrics: set hostnqn and hostid for fabrics context
      fabrics: set crypto info to fabrics context
      linux: filter out key errors when looking up identity
      fabrics: add missing default context assignment
      nvme: init result_def in get_feature_id_changed
      build: move pyproject.toml to root dir
      build: update python workflow
      build: handle PyPi versioning scheme for library versioning
      build: merge all symbols into 2.0 sections
      build: change linker script to use the .ld extension
      test: print command string
      tree: remove nvme_update_config
      fabrics: reorder and align fabric_args assigments
      build: use proper shell variable expansion
      build: replace the version patching with mesonpy approach
      build: commit CI-generated version so sdist gets correct metadata
      build: add sdist build step back
      build: fix yaml syntax for libnvme release python workflow
      fabrics: open transport handle for discovery controller
      fabrics: move config modify code to library
      tree: remove unused default_host variable
      tree: add nvme_host_get
      tree: separate create host code from nvme_lookup_host
      tree: add nvme_subsystem_get
      tree: make nvme_lookup_ctrl and nvme_ctrl_find private
      test: don't fail in ioctl mock for unknown ioctl
      tree: add nvme_global_ctx to struct nvme_ns and struct nvme_ctrl
      tree: get global context directly
      test: add global context discovery test case
      linux: add global context as first argument to crypto API
      nbft: add global context as first argument to nbft API
      log: remove deprecated default global context functions
      build: remove obsolete 'nvme' ignore
      docs: update readme to include more badges
      build: replace qus with setup-qemu-action
      linux: add possibility to disable IOCTL probing
      fabrics: rename fabrics_args to nvmf_args
      nvme: rename nvme_config to nvme_args
      fabrics: add global default command line arguments
      nvme: replace OPT_ARGS with NVME_ARGS
      tree: cleanup paths when freeing namespace
      build: add coverity workflow
      build: coverity: use curl and build in debian.python
      build: remove duplicate workflows
      docs: update readthedocs setup
      build: fix readthedocs html install path
      build: do not fail build job on 'negative' coverage report
      build: use our own containers for RTD
      build: drop the 'os' in RTD build
      build: rtd: use build.jobs instead of build.commands
      build: rtd: don't specify format and install asciidoc dependency
      build: rtd: only build html docs for nvme-cli
      build: rtd: reduce bulid dependency
      build: rtd: add sphinx dependency
      build: rtd: install asciidoc via pip
      build: rtd: fix pip install step
      build: rtd: fix html lookup path in copy step
      json: update nvme_dump_config to a file descriptor
      fabrics: do no try do disconnect invalid ctrl
      build: disable coverage reports
      build: pin all GitHub Actions to SHA of latest release version
      build: remove unused libnvme codecov configuration
      build: remove unused scripts from libnvme
      build: merge update-docs script
      src: use standard lookup for libnvme include
      ioctl: use correct defines for set_features field encode
      test: add header include test
      libnvme: include main headers where possible
      libnvme: drop a few unused headers
      nvme: use nvme_ns_rescan instead open coding
      ioctl: make IOCTL defines private
      ioctl: always define the passthru data structs
      cmds: move command function to their own header
      build: sort install_headers alphabetically
      cmds: move nvme commands to cmds header
      linux: reduce the number of includes
      cmds: move nvme cmds from util to cmds.h or types.h
      tree: reduce the number of includes
      nbft: include nvme/types.h instead nvme/util.h
      crc32: add spdx license tag
      base64: update spdx tag
      log: drop the tree.h header include
      mi: drop the types.h include
      lib: move library definition into new headers
      util: move functions into private header
      log: move logging definition to lib.h
      tree: move nvme_ns_*_transport_handle to private header
      mi: replace nvme_mi_*global_context with nvme_*_global_context
      mi: make nvme_mi_admin_admin_passthru private
      lib-types: move struct nvme_passthrue_cmd up
      fabrics: rename nvme_free_uri to nvmf_free_uri
      cmds: avoid possible infinite loop
      cmds: free id_ctrl after use in nvme_get_telemetry_max
      mi: fix nvme_mi_create_global_ctx removal
      nvme: remove -t as alias for --timeout
      build: only try to upload if it's linux-nvme/nvme-cli repo
      build: github workflow cleanups
      build: fix syntax error in upload workflow
      build: update workflow name
      build: fix upload condition
      build: replace debian.python with debian container
      build: disable libraries for static build
      build: no need to update libnvme subproject
      build: update release version string acceptance test
      doc: Regenerate all docs for v3.0-a.1
      build: add Fedora and Tubmleweed to the build matrix
      mi: verify length of data before reading header
      misc: initialize memory before using in tests
      build: update checkout action versioning
      build: use distro CFLAGS
      tree: gracefully handle empty dirs
      tree: fix spdx tag for tree.py test
      util: update spdx license fro sighdl
      docs: update license for rtd yaml files
      example: update license for discovery-loop.py
      licenses: add missing spdx tags
      licenses: consolidate license texts
      doc: add security info
      build: re-enable docs build update-docs.sh
      build: drop libnvme wrap update in release.sh
      doc: Regenerate all docs for v3.0-a.2
      Release v3.0-a.2
      build: commit all doc updates when releasing
      tree: handle error when trying to get transport handle
      tree: propagate error code for nvme_scan_ctrl
      test: ignore ENOENT and EACCES from nvme_scan_topology
      tree: remove nvme_scan
      filters: return error code
      doc: prefix local mandir and htmldir paths
      doc: Regenerate all docs for v3.0-a.3
      Release v3.0-a.3
      build: ignore patch version updates for actions
      fabrics: sanitize FC traddr
      src: order includes per common recommendation
      build: upload versioned binary to SFTP server
      build: replace ftp-deployer with inline sshpass+sftp
      build: add SSH options to sftp
      build: switch to plain sftp without sshpass
      nvme: help compiler to figure out figuring init of variables
      tree: always initialize ns variable
      util/types: include missing header for time_t
      no-json: update function arguments
      nbft: move nbft_file_entry to nbft header
      fabrics: move nvmf_default_config to tree
      linux: move the hostid/hostnqn function
      lib: remove the unreleased linker section
      libnvme: make fabrics optional
      build: use meson static build to test fabrics=disabled
      build: use cflags array instead string
      linux: fix typos in documentation
      nvme: move non-nvme_init_* helper functions to nvme-cli
      cmds: remove nvme_fw_download_seq
      cmds: group all nvme_init_* functions
      cmds: move nvme_init_* implementations to header
      nvme-cmds: move nvme_ns_detach/attach_ctrl to nvme-cli
      uring: move io_uring code to new file
      cmds: move nvme_get_log and related code to cmds.c
      cmds: move nvme_get_log_atomic down
      lib: update function names to follow pattern
      build: replace ncipollo/release-action with gh release
      docs: update reamde badges
      build: add dedicated docs target
      build: set workspace dir for codecov
      build: add windows build workflow
      examples: include select.h header
      fabrics: dump config on stdout
      fabrics: do not print device name when dumping config
      linux: fix return value in nvme_lookup_key
      build: resort libnvme linker scripts
      linux: add nvme_create_raw_secret
      fabris: add nvmf_context_free
      fabrics: allow tls key to be a pin
      nvme-print-json: do not enable verbose mode on default
      fabrics: use uuid from hostnqn for hostid
      docs: move global/fabrics options into separate files
      tests: don't enforce NS management support for local testing
      tests: skip tests which rely on namespace management
      tests: add native TAP protocol support
      tests: ensure TAP output and test output separate
      tests: update documentation
      CI: update to nightly tests to use meson test framework
      build: honor the users input for libdbus option
      libnvme: introduce libnvme prefix for library API
      mi: move types into mi-types.h
      mi: use libnvme prefix for mi API
      build: reorder nightly build configuration
      tests/tap_runner: intercept stderr
      CI: upload meson logs from nightly run
      tests: fix config lookup path
      tests: fix tap_runner to route diagnostic output to stderr
      tests: move diagnostic output behind debug flag
      CI: update the upload path for nightly build
      lib: avoid kernel logging cmd does not match nsid
      tests: use common exec_cmd helper
      tests: log all cmds input/output
      CI: enable debug logging level for nightly run
      tests: don't run Python tests in parallel
      nvme: expose tls mode in use
      fabrics: issue a warning on invalid traddr format
      tests: modernize subprocess calls
      libnvme: rename nvmf_ API prefix to libnvmf_
      cleanup: rename __cleanup__ to __cleanup
      cleanup: rename _cleanup_free_ to __cleanup_free
      cleanup: rename _cleanup_file_ to __cleanup_file
      cleanup: rename _cleanup_dir_ to __cleanup_dir
      cleanup: rename _cleanup_fd_ to __cleanup_fd
      cleanup: rename _cleanup_addrinfo_ to __cleanup_addrinfo
      cleanup: rename _cleanup_uri_ to __cleanup_uri
      cleanup: rename _cleanup_huge_ to __cleanup_huge
      cleanup: rename _cleanup_nvme_ctrl_ to __cleanup_nvme_ctrl
      cleanup: rename _cleanup_nvme_global_ctx_ to __cleanup_nvme_global_ctx
      cleanup: rename _cleanup_nvmf_context_ to __cleanup_nvmf_context
      cleanup: rename _cleanup_nvme_transport_handle_ to __cleanup_nvme_transport_handle
      cleanup: rename _cleanup_dirents_ to __cleanup_dirents
      cleanup: rename _cleanup_evp_mac_ctx_ to __cleanup_evp_mac_ctx
      cleanup: rename _cleanup_evp_mac_ to __cleanup_evp_mac
      cleanup: rename _cleanup_evp_pkey_ctx_ to __cleanup_evp_pkey_ctx
      cleanup: rename _cleanup_tokener_ to __cleanup_tokener
      zns: fix check for valid global context
      compiler-attributes: rename header to match pattern
      cleanup: move optional cleanups to C files
      cleanup: move POSIX API cleanup helpers into a separate file
      uring: move no-uring implementation into C file
      private: make fabrics parts optional in global context
      mi: make management interface support optional
      private: remove unused ioctl.h include
      lib: define LIBNVME_LOG_* levels to replace syslog.h LOG_* constants
      lib: add LIBNVME_ prefix to DEFAULT_LOGLEVEL
      libnvme: add nvme- prefix to types.h and cmds.h
      endian: provide endian helpers when missing
      types: provide base types when missing
      CI: select ucrt64 compiler
      generate-accessors: extend struct annotation with default mode qualifier
      build: make json-c dependent on fabrics
      tree: use traddr_is_hostname from fabrics
      fabrics: move libnvmf_context to private-fabrics header
      fabrics: don't return config from merge_config
      libnvme: update Python binding to use libnvmf_context
      libnvme: embed libnvme_fabrics_config in libnvmf_context
      fabrics: replace fabrics options with fabrics context
      fabrics: move connect/disconnect to fabrics API
      fabrics: add _id postfix to TLS keys in libnvme_fabrics_options
      fabrics: add missing common arguments to nvmf_args
      fabrics: use context at controller creation time
      private: replace typedefs with direct definitions
      generate-accessors: output added list with correct formatting
      fabrics: retire libnvme_fabrics_config from public API
      fabrics: add tls_configured_key to merge/update logic
      private-fabrics: fix spelling in comment
      generate-accessors: add char double-pointer accessor support
      fabrics: move URI data struct to private API
      build: drop windows guard on no-json
      build: handle libdbus and liburing dependencies generically
      nbft: move spec types into separate header
      nbft: use libnbft_ prefix for library types
      libnvme: make free functions null-pointer safe
      python: remove redundant null check
      docs: add new libnvme headers
      doc: Regenerate all docs for v3.0-a.4
      Release v3.0-a.4
      generate-accessors: fix invalid kdoc banners
      doc: Regenerate all docs for v3.0-a.5
      Release v3.0-a.5
      fabrics: do not re-initialize nvmf_args
      private: add indentation to !accessor commands
      python: add missing define for handwritten getter
      nvme: initialize default timeout for format command
      nvme: enable support for --no-ioclt-probing for open_exclusive
      nvme-print: fix traddr transformation for ave discovery log
      nvme: add O_TRUNC when opening output files for read commands
      feat: add support for Host Behavior Support
      tests: use feat command to handle host behavior
      tests: fix ms byte decoding
      tests: split copy test into subtests
      tests: add mcl/mssrl/msrc limit checks to nvme_copy_test
      tests: only setup cdfe for requested descriptor version
      tests: check and format namespace for copy test
      tests: skip 16-bit guard copy tests when namespace is in 64-bit guard PI mode
      tests: handle PI and MS settings
      tests: skip write-uncor test when not supported
      build: generate coverage report for nightly tests
      build: switch to gcovr
      CI: install gcovr for nightly build run
      CI: tune codecov setup for nightly builds
      CI: set codecov slug
      CI: set the slug environment variable explicitly
      CI: explicitly set project metadata for codecov
      build: re-sort entries in linker scripts
      mem: move memory allocator helpers
      nvme: replace nvme_(re)alloc with libnvme_(re)alloc
      mem: move alloc_huge and free_huge to library
      mem: introduce libnvme_free
      table: add fallback reallocarray implemenation
      nvme: replace posix_memalign with libnvme_alloc
      CI: upload nightly coverage via GH action
      CI: update download-artifact version for nightly-tests
      log: open-code dprintf
      linux: replace getline with fgets
      nvme-print-stdout: rework effects log output
      nvme-models: replace getline with fgets for portability
      nvme-models: change id to device name
      nvme-print: print product name if available
      libnvme-mi: move linker symbols into separate script
      nvme: remove MI feature support when disabled
      CI: use kubevirt artifacts for nightly codecov upload
      ioctl: defer ioctl version probing until first use
      CI: fix missing coverage data in codecov uploads
      nvme-models: suppress missing sysfs entry messages
      CI: disable Codecov push trigger
      nvme-cmds: sort commands according the spec order
      nvme-cmds: fix typos in documentation
      nvme-cmds: split header according to spec grouping
      nvme-types: move fabrics definitions into separate header
      nvme-types: move zns definitions into separate header
      nvme-types: move nvm definitions into separate header
      nvme-types: move mi definitions into separate header
      nvme-types: move base definitions into separate header
      nvme: add support for global options before command
      nvme: use nvme_args directly to check flag
      plugins/netapp: use nvme_args directly to check flag
      unit: extend command line test
      plugins: rename -v/-o short options
      doc: update -o short option documentation
      plugins/virtium: use snprintf instead strncpy
      doc: update global options placement
      doc: reformat synopsis to avoid overlong line
      nvme-types: add spec reference to DOC section
      nvme-types: add missing documentation
      nvme-types: add or update missing types and accessors
      nvme-types-mi: remove backwards compat defines
      nvme-types-mi: update reserved field name
      nvme-types-base: drop depricated mask
      nvme-types-base: rename notification mask features
      nvme-types-nbft: rename nbft type header
      nvme-types-nbft: update to v1.3
      libnvme: consolidate kdoc return text
      libnvme-mi: use callbacks for mi submit logging
      tests: harden JSON parsing
      build: install libnvme as versioned libnvme3 artifacts
      build: handle should_faild deprecation
      nvme-print-json: split fabrics Address into fields
      ioctl: improve async passthru API
      test: add async test case
      docs: update repors section in REAMDE
      nvme-types-base: add padding to nvme_lm_nvme_controller_state_data union
      ioctl-linux: do no use uring for MI
      no-uring: check if handle is valid
      ioctl: rename command passthru API
      build: enable liburing build target and test
      ioctl: rename passthru functions
      lib: fix overlong lines
      linux: move crypto APIs in new header
      lib: remove log arguments from global context constructor
      scan: refactor filter API
      tree: unexport libnvme_host_get_ids
      fabrics: move hostnqn/hostid code to fabrics files
      tree-linux: move all sysfs-related code to this file
      build: add coverity scan back
      build: replace wget with curl
      build: undo clang-analyzer job renaming
      doc: Regenerate all docs for v3.0-b.1
      Release v3.0-b.1
      build: install headers into versioned subdirectory
      build: install man/html pages into versioned subdirectory
      doc: Regenerate all docs for v3.0-b.2
      Release v3.0-b.2
      libnvme-wrap: drop unused code
      plugins: add newline after json output
      nvme-print: add nvme_show_verbose_* helpder
      nvme-print-json: only output json if none empty
      nvme-print-json: centralize init/finish
      nvme: do not print status message on default
      nvme-print: use status variable instead of errno
      libnvme: rename Python binding to libnvme3
      doc: Regenerate all docs for v3.0-b.3
      Release v3.0-b.3
      pyproject: fix toml syntax
      plugins/ocp: fix casting from pointers with different size
      plugins/solidigm: update printf formatting for 64bit types
      libnvme: replace environment options with explicit APIs
      libnvme/config: clarify internal documentation
      doc: update the URL for the latest binary for testing
      fabrics: make libnvmf_host_get_ids a public API
      fabrics: check arguments in libnvmf_host_get_ids
      lib: add global context setters for hostnqn/hostid
      lib: add global context to libnvme_read_hostnqn/hostid
      libnvme/test: replace env configuration with explicit
      libnvme/examples: set default hostnqn/hostid on global ctx
      libnvme/fabrics: decouple hostnqn pointer lifetime from fctx
      libnvme/fabrics: do not look up hostnqn/hostid implicitly
      libnvme/tree: do not set hostsymname in libnvme_get_host
      libnvme/tree: rename nvme_alloc_subsystem
      libnvme/tree: only do a lookup in libnvme_lookup_host
      libnvme/tree: only do a lookup in libnvme_lookup_subystem
      libnvme/tree: only do a lookup in libnvme_lookup_ctrl
      fabrics: create handle for existing discovery controller
      nvme-print: handle NULL phy slot pointer

David Santamaría Rogado (1):
      udev: don't spread variables through all nodes

Dedow, Karl (1):
      plugins/ocp: Fix whitespace and style issues

Dennis Maisenbacher (67):
      tests: Use raw string for compiling regex
      tests: fix nvme_attach_detach_ns_test
      tests: Fix nvme_copy_test python traceback fails
      tests: Fixup nvme_create_max_ns_test
      tests: Improve nvme_ctrl_reset_test
      tests: Adjust ncap and nsze for nvme_format_test
      tests: Fix nvme_get_features_test
      tests: Use correct flag in vendor specific id-ctrl
      tests: Fix nvme_smart_log_test
      tests: Add feature check to nvme_compare_test
      tests: Fix nvme_get_lba_status_test and nvme_lba_status_log_test
      tests: Create default ns on tearDown
      CI: Add workflow for running tests on real nvme device
      build: Add token for coverage test
      build: Add token for coverage test
      tests: Introduce configurable nvme binary path
      tests: Use json output for parsing
      tests: use current LBA format as I/O block size
      tests: Remove unneeded sleep statements
      tests: Refactor prints
      tests: Fix `subprosess.call` calls
      tests: Use container image to run nightly tests
      CI: add missing bind-mount option for /dev
      tests: fix LBA format calculation
      tests: read LBA size for validation
      tests: fix hex to base-10 conversion in id-ctrl output
      tests: check if verify command is supported
      CI: move to self-hosted GitHub ARC infrastructure
      test: add missing tests for identify functions
      test: add tests for log functions
      ioctl: fix nvme_lm_set_features_ctrl_data_queue
      test: add missing tests for features functions
      test: add tests for zns functions
      test: add tests for miscellaneous ioctl functions
      CI: adopt kubevirt-action for self-hosted ARC
      ioctl: fix nvme_directive_recv_stream_status
      test: move _cleanup_free_ to util.h
      test: add tests for miscellaneous ioctl functions
      nvme: fix timeout ioctl arguments
      CI: allow manual workflow dispatches to run
      CI: add nightly blktests
      CI: improve nightly blktests
      CI: checkout commit that triggered the workflow
      CI: continue independent test cases on previous failure
      nvme: nvme_get_log use nvme_passthru_cmd directly
      src: rework nvme_set_features commands
      src: rework nvme_get_features commands
      src: rework nvme_format_nvm command
      src: rework nvme_ns_mgmt commands
      src: rework nvme_ns_attach commands
      src: rework nvme_fw_download commands
      src: rework nvme_resv_release commands
      src: rework nvme_resv_report commands
      src: rework nvme_io_mgmt_recv commands
      src: rework nvme_io_mgmt_send commands
      python: adjust README to use global_ctx
      python: update error handling for bindings
      nvme: refactor PI tagging for uniform behavior
      CI: use podman as container runtime
      CI: fix podman device permissions
      CI: Add host_devices list to kubevirt-action
      nvme: return a status from get_pif_sts()
      nvme: introduce Qualified Protection Information Format (QPIF)
      tests: add Qualified Protection Information Format (QPIF) testcase
      libnvme: add CIU and CIRN to Identify Controller data structure
      libnvme: fix NVME_SC_EXCEEDS_MAX_NS_SANITIZE status code value
      libnvme: remove duplicate NVME_SC_FEAT_IOCS_COMBINATION_REJECTED

Dmitry Sherstoboev (4):
      plugins/lm: Pass numd option to nvme_lm_migration_recv
      types: Fix Live Migration SEQIND Shift and Mask
      plugins/lm: Refine Sequence Indicator description and macro usage
      types: Change LM CDQ sz argument from u8 to u32.

Dmitry V. Levin (1):
      udev: fix warning reported by udevadm verify

Eli Schwartz (2):
      fix broken includes for the uuid.h header
      reduce the exposed interface for libnvme_dep

Fahim Hassan (8):
      nvme: fix uninitialized variable in get_feature_id_changed()
      nvme: fix uninitialized variable in passthru()
      libnvme: fix uninitialized argument in libnvme_get_lba_status_log()
      nvme: fix inverted null check in is_ns_mgmt_support()
      nvme: fix potential use of uninitialized flags in passthru()
      plugins/sed: fix null pointer dereference in sedopal_print_locking_features()
      nvme: fix null pointer dereference in get_log_offset()
      libnvme: validate context in libnvme_rescan_ctrl()

Felix Yan (2):
      doc: Fix short option name for cfg-file
      doc: Fix config-schema.json's URL

Francis Pravin (59):
      nvme: remove double free in persistent-event-log
      nvme: fix fw-commit MUD result message
      types: add enum for Protection Information Format
      nvme-print-stdout: fix to print the log line by line
      nvme-print-stdout: print MEM bit of CTRATT field
      types: add new filed added in TP4141a
      nvme-print-stdout: fix format index in stdout_nvm_id_ns
      build: update libnvme wrap
      nvme-print-stdout: Add helper function to print PIF in string form
      nvme-print: print the new fields added in TP4141a
      nvme: choose PIF from QPIF if QPIFS supports and PIF is QTYPE
      nvme: add helper function to get pif and sts value
      nvme: check MD size with PI size when PRACT set to 1
      nvme: use proper mask to get correct lbafu value
      types: Changed the space into tap space
      types: add new fields added in TP4165
      nvme-print: print the new fields added in TP4165
      types: add new fields added in TP4142
      types: Add enum for Completion Condition of Get LBA status command
      build: update libnvme wrap
      nvme-print: use Completion Condition enum
      nvme-print: print the new fields added in TP4142
      nvme-print-json: print CMBEBS and CMBSWTP in json format
      nvme-print-json: print controller register values in offset order
      nvme-print: print NSSES field of CAP register
      libnvme: add EMVS support to sanitize command
      types: Added enum for SMVES event of PEL log
      build: update libnvme wrap
      nvme: add EMVS support to sanitize command
      nvme-print-stdout: print VERS bit of SANICAP field
      doc: Add sanitize command emvs option
      nvme-print: Add Sanitize Media Verification Event in PEL log
      types: Add ETPVDS and SSI fields of sanitize status log
      nvme-print: use NVME_GET in sanitize log
      nvme-print: print the new fields added in Sanitize log - TP4152
      types: add enum for the fields added in TP4160
      build: bump libnvme wrap
      nvme-print-stdout: print MAXWZD and NSZS bits of ONCS field
      nvme: add Namespace Zeroes support to Write Zeroes command
      doc: Add write zeroes command namespace-zeroes option
      types: add enum for the fields added in TP4058
      nvme: add the new Self-test Code of Device Self-test command
      nvme-print-stdout: add human readable output for DSTO field
      types: Update id-ns fields based on NVM Command Set Spec 1.1
      types: Update nvm-id-ns fields based on NVM Command Set Spec 1.1
      types,util: add Asynchronous Event Configuration NVMe 2.1 definitions
      build: bump libnvme wrap
      nvme-print: print new id-ns fields added in NVM Command Set Spec 1.1
      types: add HDISNS field of Host Behavior Support feature
      nvme-print: print new fields of nvm_id_ctrl
      nvme-print: print Host Behavior Support feature fields
      types: add enum for Identify I/O Command Set Data Structure
      build: bump libnvme wrap
      nvme-print: add human readable output for IOCS Data Structure
      nvme-print: print new fields of Asynchronous Event Configuration
      types: Update nvme_id_independent_id_ns fields based on NVMe 2.1 spec
      nvme-print: print new fields of nvme_id_independent_id_ns
      types,util: add enums for Boot Partition Write Protection Config feature
      nvme-print: print Boot Partition Write Protection Config feature field

Giulio Benetti (1):
      examples: Make examples build selectable

Gollu Appalanaidu (12):
      nvme: add identify controller structure 2.0 spec. fields
      ioctl: add CDW2 and CDW3 support for Write Zeroes and Verify Command
      ioctl: Change IOCTL for read, write and compare commands
      ioctl: add multiple update detected result value in fw commit
      types: add capacity management command support
      types: add spinup control feature (fid=0x1A)
      types: add boot partition log support
      types: add support for fid supported and effects log(lid = 0x12)
      types: add supported log pages log page (lid = 0x00)
      ioctl: add lockdown command support
      types: add identify endurance group list (cns 0x19) support
      nvme: add optional copy format support id ctrl field

Gopinath P (1):
      plugin/ocp: Added the OCP Get Feature FID=C3h command API

Gopinath P/Gopinath P (1):
      plugin/ocp: Added OCP 2.7 smart extended log changes Updated the smart extended log page structure, json and stdout print ocp2.7 enhancement.

Greg Joyce (12):
      sed: Add plugin for basic SED Opal operations
      sed: Confirm entered password before initialization.
      sed: update SED password when initalizing
      sed: only re-read partition table after unlock.
      sed: perform a tper revert after lsp revert
      tree: handle no address phy slot dirs
      plugins/sed: add sid password change
      sed: add '--read-only' to lock/unlock commands
      sed: extended discovery feature code printing
      sed: improved contextual error messages
      sed: add SED man pages
      sed: better error messages for revert and password

Guangzong Chen (1):
      libnvme: fix SIGSEGV in __libnvme_transport_handle_open_mi

Guzebing (1):
      nvme: check MUD support before firmware commit

Han Han (3):
      spec: Use the correct url of libnvme
      spec: Fix the sub-include dir name to nvme
      examples: Add src/ into the include and library path

Hannes Reinecke (367):
      Make systemd and uuid optional
      Parse 'address' string into components
      Fixup libuuid compilation
      fabrics: fixup hostid size
      fabrics: add mapping functions for discovery log entries
      tree: Make functions static
      Match systemd version with nvme-cli
      tree: add 'nvme_host' structure
      util: export nvme_get_attr()
      test: allow passing in controller name
      tree,fabrics: use topology information for discovery
      tree,fabrics: per-controller configuration
      tree,fabrics: detect discovery loops
      fabrics: add 'verbose' option
      tree: implement nvme_ctrl_is_persistent()
      fabrics: 'tos' is invalid for loop
      JSON configuration file handling
      tree: add 'nvme_update_config()' as API function
      tree: move config_file argument into nvme_root
      types: add NVME_LOG_LPO_NONE
      fabrics: Read system UUID from DMI and merge hostnqn generation functions
      ioctl: add definitions for Namespace Write Protect Feature
      ioctl: add 'nsid' parameter to nvme_identify_secondary_ctrl_list()
      Add logging functionality to libnvme
      tree: argument checking for nvme_create_ctrl()
      fabrics: blank out invalid arguments in build_options()
      fabrics: add fast_io_fail_tmo option
      tree,fabrics: add 'host_iface' controller option
      fabrics,tree: Fixes for PCIe devices
      tree: error checking in nvme_ns_init()
      tree: initialize subsystem in nvme_init_ctrl()
      tree: error checking in nvme_init_ctrl()
      tree: controller subsystem pointer might be NULL
      tree: move static declarations into private header file
      tree: Move structures to private.h
      tree: add refcounting for objects
      tree: add nvme_rescan_ctrl()
      tree: export nvme_free_host()
      tree: export nvme_free_subsystem()
      tree: rename nvme_disconnect_ctrl()
      tree: re-read 'state' attribute
      Add SWIG interface generator files
      examples/discover-loop.py: python example for nvme discovery
      test/tree.py: add test script for the python binding
      tree: check hostnqn and hostid when scanning topology
      libnvme.i: decode discover log page entry fields
      tree: initialize all lists
      tree: rework topology deallocation
      log: export last error message
      libnvme.i: display last error message on connect()
      libnvme.i: add a 'log_level' function to nvme_root object
      tree: add error logging when failing to lookup subsystem name
      tree: use 'stat' to lookup nvme controller
      tree: rename __nvme_init_ctrl() to nvme_configure_ctrl()
      tree: implement nvme_deconfigure_ctrl()
      tree: do not free 'path' in nvme_init_ctrl()
      tree: avoid crash on unset subsystem in nvme_ctrl_get_host{nqn,id}
      fabrics: add nvme_host_t as argument to build_options()
      tree: set errno in nvme_create_ctrl()
      json: use nvme_msg() instead of fprintf()
      tree.h: remove stale declaration of nvme_ctrl_get_nqn()
      tree: rework topology for multiple hosts
      src/Makefile: fixup depencendy for private.h
      private.h: drop 'hostid' and 'hostnqn' from nvme_ctrl_t
      examples,test: depend on libnvme.a
      tree: fixup crash on pcie controller for older kernels
      tree: better logging output
      tree: free 'subsysnqn'
      tree: set default ANA state to 'optimized'
      tree: rework ctrl address generation
      Merge pull request #39 from verschwindibussen/fix-shared-build
      Merge pull request #33 from hreinecke/scanning
      Merge pull request #42 from martin-belanger/scoped-ipv6
      Merge pull request #46 from martin-belanger/fix-compiler-warning
      Merge pull request #45 from igaw/update-mapfile
      tree: remove nvme_ctrl_get_host{nqn,id}
      fabrics: make uuid_from_device_tree and uuid_from_dmi static
      tree: make nvme_init_ctrl() an internal symbol
      json: allow 'NULL' argument to json_update_config()
      tree: add nvme_dump_config()
      Create make.yml
      Merge pull request #49 from linux-nvme/hreinecke-workflow
      Add nvme_identify_active_ns_list_csi() and nvme_identify_allocated_ns_list_csi()
      Fix version number for meson build
      Merge pull request #53 from hreinecke/meson-fix
      Merge pull request #55 from igaw/fix-uuid-read-overflow
      Merge pull request #63 from igaw/remove-systemd-dep
      Merge pull request #58 from martin-belanger/add-more-to-python
      Merge pull request #59 from martin-belanger/reowrk-python-exceptions
      Add json config schema
      Merge pull request #102 from hreinecke/config
      Remove references to nvme_ctrl_get_nqn()
      fabrics: use nvme_msg() instead of fprintf()
      fabrics: decode new discovery log entry type '3'
      fabrics: decode discover log page flags
      Distinguish between 'nvm' and 'discovery' subsystems
      fabrics: set 'discovery' argument for unique discovery controllers
      Merge pull request #105 from hreinecke/discovery
      Merge pull request #109 from igaw/json-c-dep
      fabrics: add nvmf_default_config()
      Merge pull request #110 from hreinecke/default-config
      Add missing symbols for discovery to map file
      Merge pull request #112 from hreinecke/map-update
      Merge pull request #114 from martin-belanger/add-tp8013-to-python
      fabrics: add missing function documentation and mapfile update
      Merge pull request #115 from hreinecke/doc-update
      Add 'timeout' parameter to ioctl function
      Add 'result' argument to ioctl wrapper functions
      Merge pull request #99 from wxiong38/pel_coredump
      Merge pull request #118 from hreinecke/timeout
      log: fixup SPDX license
      Merge pull request #120 from hreinecke/spdx
      Implement 'dhchap_key' host and controller attributes
      Merge pull request #100 from hreinecke/auth.v5
      Add authentication keys to JSON schema
      Sanitize zns command arguments
      Merge pull request #121 from hreinecke/json-fix
      Merge pull request #122 from hreinecke/zns-args
      tree: fixup loop address handling
      Merge pull request #132 from hreinecke/loop-fix
      Merge pull request #134 from hreinecke/discovery-fix
      Merge pull request #133 from sc108-lee/update-id-ctrl
      Merge pull request #136 from martin-belanger/memleak-swig-module
      Decode TLS1.3 transport security
      Merge pull request #152 from hreinecke/tsas
      Use argument structure for nvme_get_log()
      Inline nvme_get_log() wrapper functions
      Use argument structure for nvme_set_features() and nvme_get_features()
      Use argument structure for nvme_identify()
      Inline nvme_identify() wrapper functions
      Use argument structure for nvme_format_nvm() and nvme_ns_mgmt()
      Use argument structure for nvme_fw_download()
      Use argument structure for nvme_fw_commit()
      Use argument structure for nvme_security_send() and nvme_security_receive()
      Use argument structure for nvme_get_lba_status()
      Use argument structure for nvme_directive_send() and nvme_directive_receive()
      Use argument structure for nvme_capacity_mgmt()
      Use argument structure for nvme_lockdown()
      Use argument structure for nvme_set_property() and nvme_get_property()
      Use argument structure for nvme_sanize_nvm()
      Use argument structure for nvme_dev_self_test()
      Use argument structure for nvme_virtual_mgmt()
      Use argument structure for NVMe I/O commands
      Use argument structure for nvme_dsm()
      Use argument structure for nvme_copy()
      Use argument structure for NVMe reservation commands
      Use argument structure for nvme_zns_mgmt_send() and nvme_zns_mgmt_recv()
      Use argument structure for nvme_zns_append()
      Inline nvme_flush()
      tree: use name as argument to nvme_ctrl_lookup_subsystem_name()
      tree: drop 'path' argument from nvme_init_subsystem()
      tree: lookup correct subsystem in nvme_scan_ctrl()
      tree: scan controllers before scanning subsystems in nvme_scan_topology()
      Move 'host_traddr' and 'host_iface' into fabrics configuration
      Implement nvme_errno_to_string()
      Merge pull request #177 from hreinecke/connect_err
      fabrics: do not treat ctrl_loss_tmo values of '-1' as invalid
      Merge pull request #178 from tbzatek/docs-updates-5
      Merge pull request #135 from hreinecke/ctrl-loss-args
      Merge pull request #186 from igaw/print-format-specifier
      fabrics: add fabrics config option 'tls'
      tree: only open controller device node if required
      Merge pull request #194 from hreinecke/ctrl-init
      fabrics: kill 'disable_sqflow' argument to nvmf_add_ctrl()
      Merge pull request #195 from hreinecke/disable-sqflow
      fabrics: Remove nvmf_add_ctrl_opts()
      fabrics: Update prototype documentation
      fabrics: remove documentation for nvmf_add_ctrl_opts()
      Merge pull request #196 from hreinecke/rc-cleanup
      Update README.md
      Merge pull request #203 from igaw/fix-error-codes
      Merge hostname2traddr()
      Add 'nvme_root_t' argument to nvme_msg()
      Move global logging variables into nvme_root_t
      Remove stale definition for nvme_log_message
      libnvme/tests: fixup create-ctrl-obj.py
      Merge pull request #204 from igaw/fix-nvme_get_log_args-layout
      Rework nvme_scan_filter()
      Merge pull request #202 from hreinecke/msg-redirect
      Remove nvme_reset_topology()
      Rename nvme_path_get_subsystem()
      tree: document function prototypes
      Return error from nvme_read_config()
      Ignore errors when opening JSON configuration file
      Merge pull request #209 from hreinecke/doc-proto
      ioctl.h: fixup kernel-doc comments
      linux.h: fixup kernel-doc comments
      tree.h: fixup kernel-doc comments
      types.h: fixup kernel-doc comments
      fabrics.c: fixup kernel-doc comments
      util.h: fixup kernel-doc comments
      Fixup sphinx warnings
      Regenerate libnvme.rst
      Add documentation section descriptions
      Fixup wrong kernel-doc annotations
      tree: fixup memory leak in nvme_scan_ctrl()
      tree: restart controller lookup
      Add scripts to regenerate documentation
      tree: loop controllers can have transport addresses
      tree: loop address may be NULL
      Merge pull request #219 from hreinecke/lookup-restart
      tree: do not set dhchap_key to 'none'
      Merge pull request #220 from hreinecke/dhchap-fix
      tree: do not print function twice
      json: remove wrapper definitions
      Make JSON-C mandatory during built
      tree: add nvme_dump_tree()
      Merge pull request #229 from igaw/remove-jsonc-ifdefs
      Document filter functions
      Merge pull request #284 from hreinecke/filter-doc
      tree: link paths to namespaces in nvme_subsystem_scan_namespace()
      tree: add nvme_ctrl_get_ana_state()
      Merge pull request #283 from hreinecke/ana-path
      tree: fixup coredump during nvme discover
      linux: fixup log page offset in nvme_get_log_page()
      Merge pull request #296 from igaw/set_default_trsvcid
      Merge pull request #298 from hreinecke/log-page-len
      meson: build display-tree example
      tree: add debugging messages during scanning
      tree: do not return error when filtering out subsystems
      Merge pull request #319 from hreinecke/scan-filter
      json: fix endless loop scanning for controllers
      Merge pull request #320 from hreinecke/json-scan
      fabrics: add 'nvmf_update_config()'
      Merge pull request #322 from hreinecke/update-config
      libnvme: export 'nvme_lookup_ctrl()'
      Merge pull request #323 from hreinecke/export-symbol
      tree: move nvme_init_subsystem() into nvme_lookup_subsystem()
      tree: make subsystem name mandatory in nvme_scan_ctrl()
      tree: rework nvme_scan_subsystem()
      Merge pull request #324 from hreinecke/subsystem-rework
      Update function prototype documentation
      Merge pull request #327 from hreinecke/doc-update
      tree: always allocate config file in nvme_read_config()
      Merge pull request #329 from hreinecke/read_config
      tree: update nvme_scan_filter_t usage
      tree: filter out namespaces
      tree: add namespace path iterators
      tree: remove 'ctrl_get_ana_state()'
      tree: add 'f_args' argument to pass user data to the filter function
      Merge pull request #330 from hreinecke/filter-ns
      examples/telemetry-listen: coverity fixes
      fabrics: coverity fixes
      tree: coverity fixes
      test/zns: coverity fixes
      Merge pull request #356 from hreinecke/coverity
      Merge pull request #361 from igaw/clarify-license
      tree: simplifiy nvme_subsystem_lookup_namespace()
      tree: make nvme_subsystem_scan_namespace() idempotent
      tree: make nvme_ctrl_scan_namespace() idempotent
      fabrics: Update controller authentication in nvmf_add_ctrl()
      json: fixup dhchap_ctrl_key definitions
      libnvme: accessors for dhchap_key variables
      tree: rename controller 'dhchap_key' to 'dhchap_ctrl_key'
      Parse dhchap_host_key on controller level
      Update json config schema for missing dhchap host key
      linux: add nvme_lookup_keyring()
      nvme: add 'nvme_insert_tls_key()' function
      linux: add key helper functions
      fabrics: add configuration option 'keyring'
      fabrics: add configuration option 'tls_key'
      nvme-gen-tls-key: add options to derive a TLS key
      nvme-check-tls-key: add options to derive a 'retained' TLS key
      nvme-connect: enable option '--tls'
      nvme-(discover,connect,connect-all): enable options '--keyring' and '--tls_key'
      Print out correct TREQ strings for discovery
      libnvme: add 'application' setting to the subsystem
      libnvme: add 'application' setting to nvme_root
      fabrics: filter out subsystems with non-matching application string
      src/nvme/tree.c: make __nvme_scan_subsystem() returning bool
      Merge pull request #737 from prashanth-nayak/hkdf_expand_label
      libnvme: separate out a function 'select_hmac'
      libnvme: separate out 'gen_tls_identity' and reshuffle 'derive_nvme_keys'
      libnvme: Add base64 functions
      libnvme: support NVMe TLS identities version 1
      libnvme: Implement 'nvme_generate_tls_key_identity()'
      nvme: fixup length calculation for 'nvme gen-tls-key --secret'
      Merge pull request #748 from hreinecke/TP8018
      libnvme: fixup error codes
      libnvme: reshuffle nvme_generate_tls_key_identity()
      Merge pull request #749 from hreinecke/TP8018-fixes
      subprojects/libnvme: update wrapper for TP8018
      nvme: Add version '1' identifier for nvme-gen-tls-key
      nvme: print out the resulting TLS identity for 'nvme check-tls-key'
      nvme: sanitize nvme-gen-tls-key
      Merge pull request #2165 from martin-gpy/warnings_verbose_level
      meson.build: fixup 'join' syntax
      Merge pull request #770 from hreinecke/fix-join.v2
      fabrics: add 'concat' option
      build: Update libnvme wrap
      nvme-fabrics: enable option 'concat'
      linux: allow for NULL argument in nvme_lookup_keyring()
      linux: add nvme_read_key()
      linux: add nvme_update_key()
      crc32: Add CRC32 algorithm
      linux: add nvme_export_tls_key()
      linux: add nvme_import_tls_key()
      linux: rework nvme_insert_tls_key_versioned()
      tree: read TLS key in nvme_configure_ctrl()
      json: export TLS key in PSK interchange format
      json: import TLS key from PSK interchange format
      json: dump TLS key data in PSK interchange format
      linux: Add nvme_scan_tls_keys()
      config-schema.json.in: tls keys and keyrings are strings
      fabrics: keyring is a long
      libnvme: add missing symbol nvme_scan_tls_keys
      nvme: use library functions for importing and exporting TLS keys
      build: bump libnvme wrap
      nvme: add new function 'tls_key'
      ioctl: return EPROTO when an NVMe status occurred
      fabrics: retry discovery log page when DNR is not set
      ioctl: Update function documentation
      ioctl: Update stub functions to match documentation
      ioctl: add nvme_set_features_timestamp2()
      ioctl: add nvme_set_features_host_behavior2()
      ioctl: add nvme_set_features_host_id2()
      ioctl: add nvme_set_features_iocs_profile2()
      ioctl: add nvme_get_features_timestamp2()
      ioctl: add nvme_get_features_host_id2()
      ioctl: Return NVMe status in nvme_directive_send_id_endir()
      tree: optionally skip namespaces during scanning
      linux: update TLS version 1 PSK derivation
      linux: fixup PSK HMAC type '0' handling
      sed: add '--read-only' to 'sed initialize'
      fabrics: make 'disconnect' accepting only -n or -d
      linux: set errno when nvme_generate_tls_key_identity() fails
      test/psk: add testcase for TLS identity derivation
      linux: rename __nvme_insert_tls_key() to __nvme_import_tls_key()
      linux: rename __nvme_insert_tls_key_versioned() to __nvme_insert_tls_key()
      nvme.i: fix crash on ctrl.discover() without a connection
      nvme.i: decode 'tsas' discovery log page entry
      nvme.i: fixup typo in nvme:discover
      libnvme/nvme.i: Update subsystem definitions
      examples/discovery-loop.py: update to use tcp transport
      nvme/linux: add fallback implementation for nvme_insert_tls_key_compat()
      libnvme.wrap: update to latest version
      nvme: add --compat flag for 'gen-tls-key' and 'check-tls-key'
      libnvme/nvme.i: raise exception when disconnect fails
      python: support 'with' statement for objects
      examples/discover-loop.py: rework to use 'with' statement
      examples/discover-loop.py: actually implement a discovery loop
      nvme/linux: check for empty digest in gen_tls_identity()
      libnvme/fabrics: remove duplicate discovery functions
      libnvme: clarify dhchap key usage
      fabrics: update dhchap options for discovery
      fabrics: allow dhchap authentication for unique discovery controller
      libnvme: drop duplicate function nvme_ctrl_get_address()
      libnvme: drop nvme_subsystem accessors from tree.c
      libnvme: generate read-only accessor for 'phy_slot'
      libnvme: read-only controller accessors
      libnvme: read-only subsystem accessors
      libnvme: read-only host accessors
      libnvme: auto-generate 'subsysnqn' accessors
      libnvme/fabrics; Use nvmf_context as argument to lookup_ctrl()
      libnvme/fabrics: drop fabric_args from __create_discovery_ctrl()
      libnvme: drop fabric_args
      libnvme: drop 'struct nvmf_discovery_ctx'
      libnvme: use 'struct nvmf_context' as argument for __nvme_lookup_ctrl()
      libnvme: use 'struct nvmf_context' as argument to _candidate_init()
      libnvme; use 'struct nvmf_context' as argument to nvme_ctrl_find()
      libnvme: Separate out _nvme_create_ctrl()
      libnvme: use 'struct nvmf_context' as argument to nvmf_connect_disc_entry()
      libnvme: Introduct _nvme_ctrl_match_config()
      libnvme: make __nvme_lookup_ctrl() static
      libnvme: Re-implement __nvme_lookup_ctrl()
      libnvme: convert test/tree.c to 'struct nvmf_context'
      libnvme: Drop __nvme_lookup_ctrl()

Hanumanthu H (1):
      add cdw13 for set_feature_args structure

Hao Jiang (8):
      Add pkgconfig for libnvme-mi
      mi: Fix C++ compiler errors
      Add more details for return code of MI admin cmds
      mi: Init ctrl_id within xfer
      mi: Allow zero as a controller ID in nvme_mi_scan_ep
      mi: add timeout functions to .map
      mi: fix the return error code.
      mi: fix the rc for nvme_mi_scan_ep

Haro Panosyan (2):
      plugins/solidigm : Fixing vs-internal-log to generate identify per allocated namespace.
      plugin/solidigm fixing identify logs generation

Hasan Polat (2):
      ioctl: update nvme_set_var_size_tags() to properly use reftag
      doc: fix format command info

Heitor Alves de Siqueira (1):
      plugins/virtium: use time_t for time_stamp values

Ismael Luceno (1):
      Fix poll.h includes

Israel Rukshin (3):
      fabrics: Fix fast_io_fail_tmo option
      libnvme: Introduce functions to generate host identifier and host NQN
      fabrics: Always pass hostid and hostnqn

Jayden Stenfort (3):
      Plugin: ScaleFlux Seperating Types
      Plugin: ScaleFlux Spelling&Typo Fixes
      Plugin: ScaleFlux Use NVME_NSID_ALL

Jeff Lien (13):
      linux: Add size and data area parm to nvme_get_telemetry_log
      linux: Change nvme_get_log_page to use nvme_get_log_args parm
      types: Add Host Initiated Data Gen Number to telemetry log struct
      types: Update persistent event entry struct added new fields
      types: Add new Identify constant
      types: Add support for get log - MI Command Supported
      types: Add new enums and defines for TP-4084
      doc: Add function nvme_init_copy_range_f1 doc
      ioctl: Fix STC mask for device-self-test command
      types: Add Storage Tag Check IO Control flag
      ioctl:  Fixed get log LSP and LSI mask values
      build: Add api-types.h to install headers
      linux: Add nvme_get_uuid_list function

Jeffrey Lien (2):
      plugins/wdc: Fix data Formatting for Latency Monitor Log Page
      wdc: Add support for SN861 drive

Jeremy Kerr (119):
      Separate libs from link flags to fix link-order compile failure
      Build c++ objects with c++ compiler
      ioctl: Fix incorrect cdw initialisation in nvme_set_features
      configure: simplify config-host.h & config-host.mak generation
      meson.build: Add ccan-required configuration macros
      Unify configuration includes, use meson-generated configuration data
      pynvme: Make swig optional & python bindings conditional on swig
      log: we use bool, so include stdbool.h
      types.h: heal -> health
      private.h: Add required includes
      Revert "src/Makefile: fix ccan config.h"
      Revert "meson: revert to using the ccan configurator"
      makefiles: use config.h in examples/ & tests/
      configure: include ccan config from top-level config.h
      meson: use correct byteswap macro name
      log.h: include tree.h for nvme_root_t
      test: drop hardware-dependent tests from meson test target
      meson: only build test/cpp if a c++ compiler is available
      examples: Fix printf format warnings on 32-bit
      libnvme-mi: Introduce NVMe Managament Interface library
      mi: Add basic tests
      examples/mi-mctp: Add subcommand support
      mi: Add NVMe-MI Read MI Data Structure commands for controller and controller list
      mi: Add initial Admin channel commands
      examples/mi-mctp: Add identify subcommand
      test/mi: Improve test OK reporting, print log data separately
      api: move _args defintions to api-types.h
      mi: change admin channel functions to use _args structs
      example: provide an example of both the full and partial identify commands
      meson: use host target for defining endianness
      Fix %llx/%lx build warnings on powerpc
      mi: remove unused nvme_mi_admin_identify()
      mi: be consistent with mi function prefixes
      mi: Add simple Admin command test
      mi: Add Admin error test
      mi: fixes for MI Identify command serialisation
      mi: Add Admin channel Get Log Page command
      examples/mi-mctp: Add Get Log Page example
      mi: Add direct admin transfer API
      mi: Add security send & security receive commands
      mi: rename start argument to _read_mi_data_ctrl_list function
      mi: Add kernel-doc documentation to mi header
      workflows: Add mi.h to documentation format check
      mi: Add initial mi document
      doc: check-in processed mi.rst
      MI: reinstate init_ep and crc32 functions for use in test
      test: define separate library for MI unit tests
      mi: free endpoints on root destruction
      doc: Add MCTP scan details to mi document
      MI: install top-level libnvme-mi.h header
      mi: track controller lifetime under endpoint and provide endpoint scan
      test: move some common test tools to test/utils.c
      test: Add initial tests for mi-mctp layer
      mi: be pedantic with message sizes and offsets
      mi: be pedantic with response message format
      mi: check response status after each submit()
      mi-mctp: better handling for error/unexpected responses
      test: move test_peer->rx_fn function to transmit path
      mi-mctp: Add support for More Processing Required responses
      types: fix typo on nvme_mi_ccs definitions in public API
      mi: Add types for MI Get/Set Configuration data
      mi: Add MI configuration commands
      mi: Add examples for MI configuration commands
      mi: Add extended MI response status values
      mi-mctp: suppress error on scanning endpoints we already have
      mi: make return values + errno consistent across error paths
      doc/meson: provide a full-path version of api_files
      doc: Add a kdoc test for API docs
      doc: remove github workflow for doc check
      doc: Use correct variable in configure_file input
      mi: Add endpoint get/set timeout API
      mi: Add maximum More Processing Required limit API
      mi-mctp: Add timeout support to MCTP transport
      mi: unify MI Get Log Page function with ioctl API
      mi: Implement Get & Set Features Admin commands
      mi: Add identify helpers for namespace lists
      mi: Add identify helpers for namespaces
      mi: Add identify helper for nsid-capable Controller List
      mi: Implement Namespace Management command and create/delete helpers
      mi: Implement NS attach command and helpers
      mi: Implement Format NVM command
      mi: Implement Sanitize command
      mi: Add Get Log Page helpers
      example/mi-conf: Add an example for MI transport configuration
      mi: Allow Admin-message sized More Processing Required responses
      examples/mi-mctp: fix warning for possibly uninitialised variable
      github workflows: Add an armhf cross build
      github workflows: Add a powerpc64le cross build
      mi: Add Identify function for secondary controller list
      mi: Introduce a helper for response status, unify values with ioctls
      mi: Move post-1.1 symbols to 1_2 section of libnvme-mi.map
      mi: Add firmware download and commit commands
      mi: fix get_log_page chunked offset check
      mi: Distinguish MI status from NVMe (CDW3) status
      mi: add nvme_mi_status_to_string()
      examples/mi-conf: Initialise sd_bus_error
      examples/mi-conf: account for MCTP header in route MTU
      mi: Issue a NSID-specific Controller List Identify in nsid_ctrl_list()
      mi: Introduce quirks and endpoint probing
      mi: Allow probe suppression via an environment variable
      mi: Add inter-command-delay quirk
      mi: Add model detection via identify in nvme_mi_ep_probe()
      mi: Print applied quirks
      doc: Add documentation for MI probe behaviour
      mi: Add inter-command-delay quirk for Samsung MZUL2512 devices
      mi: Fix status extraction from cdw3 field
      mi: endian fixes
      mi: call nvme_mi_close on endpoint error path
      MI: switch from libsdbus to libdbus
      test: mi: Explicitly zero args for test API invocations
      test: mi: Provide a full request buffer for invalid admin req tests
      mi: Add nvme_mi_ctrl_id to retrieve controller ID
      mi: don't return from mi_mctp_submit with a tag held
      mi: implement length and offset alignment checks in admin_xfer()
      mi-mctp: use a linear response buffer
      mi: allow non-4-byte-aligned responses
      mi-mctp: Fix free() in error path of mi_open_mctp
      nvme: fw-download offset only describes FW offset, not file offset
      tests: mi: Add test for dlen/doff values through raw admin_xfer interface

Jesse Taube (5):
      fabrics: Fix next_line parser.
      libnvme/json: Allow hostnqn to be optional
      libnvme/json: Allow subsys nqn to be optional
      fabrics: Use setup_common_context in create_common_context
      fabrics: Use do-while instead of goto in next_line

Jian Zhang (7):
      example: fix mi identify failed with error cntid
      mi: add control primitive command
      examples: add control primitive in mi-mctp
      util: avoid min macro pollution
      test: check the namespace is not cluttered with min/max
      meson: pass -D_GNU_SOURCE to reallocarray detection
      sandisk: fix -Wformat-truncation warning in sndk_vs_internal_fw_log()

Jim Munn (19):
      build: Fix build failure in generate-accessors with -Werror set.
      feat: fix bugs in arbitration and power-thresh commands
      feat: Fixed uidx parameter bug.
      feat: Add power measurement feature support.
      util/mem: fix NULL dereference in nvme_realloc() on allocation failure
      nvme: Add power-measurement-log command (LID 0x25)
      nvme-print: Decode Sample Rate Scale
      nvme-print: Decode 2 new bits in ctratt.
      build: use MSYS2 UCRT64 for Windows CI build
      util: Fix buffer overflow in process_field_size_default
      completions: fix ocp plugin command list and description
      ocp: normalize command descriptions for consistency
      completions: add power-measurement-log command
      fix: remove -j/--json completion for top-level subcommands
      util: add json_object_add_value_bool() macro
      gitignore: ignore unit-py build artifacts
      fabrics: load fabrics module after parsing args
      util: add optional argconfig parse hook
      build: add python-jsonschema to Windows UCRT64 deps

Jinliang Wang (9):
      mi: Add Identify helper for ns-descs and primary-ctrl-caps
      mi: add nvme_mi_admin_admin_passthru
      mi: fix rc checking
      mi: rename tmp variable inside nvme_mi_admin_get_log
      mi: use lpo and numd to chunk big get log page command
      ioctl: fix log page offset
      mi: fix location of spsp1 and spsp0
      mi: set correct rc and errno when crc mismatch
      mi: restore default ep timeout during admin_passthru

John Meneghini (1):
      nbft: make lookup_ctrl function public

Jonathan Teh (1):
      tree: fix memory leak in nvme_ctrl_lookup_subsystem_name

Jonghyeon Kim (2):
      plugins/mangoboost: Add plugin to support MangoBoost
      Documentation: Add man page for mangoboost command

Joy Gu (4):
      avoid casting pointer arguments to argconfig functions
      types: add cross-namespace copy formats, status codes, ONCS bits
      nvme: allow set-features to take input from stdin
      nvme-copy: support cross-namespace copy

Karthik Balan (1):
      plugins/ocp: fixed crash in telemetry string log output format json

Keith Busch (100):
      Initial libnvme commit
      Add a telemetry scan example
      Add exported symbols to libnvme.map
      Add nvme display tree example
      examples/telemetry: Fix scanning uevent file
      examples: Add column disaply of topology
      examples: Add loop discover example
      Add documentation
      tests: Remove some of the output
      Add license information
      Add README
      util: Fix default log transfer length typo
      tests: Fix fw log check
      Import ccan modules
      Split host and controller telemetry log API
      Consolodate features into common header
      Update .gitignore
      Make systemd-devel optional
      Add c++ inclusion support
      Add licence tags, copyright, and author comments
      Apply kernel-doc comments to more structs and enums
      Move ccan up a directory
      Fix copyright comments
      Set up ccan make dependency correctly
      Add man pages for exports
      Fill in more documentation details
      Update .gitignore
      Integration fixes
      Fix typo in comments
      Testing rst html options
      Merge branch 'master' of https://github.com/linux-nvme/libnvme
      Fix split line documentation
      Fix install make targets
      Merge branch 'master' of https://github.com/linux-nvme/libnvme
      Fix status code mask
      Typo fixes
      Move feature field decoding to utilitiies
      Fix double free discover log
      Merge pull request #1 from safl/master
      Fill out additional documentation fields
      Merge branch 'master' of https://github.com/linux-nvme/libnvme
      Export single namespace open
      Define all nvme registers
      fix comment typo
      Explicit casting from void *
      minor updates
      have tree export directly opening namespaces
      generic whitespace strip routine
      export metadata size
      zns and ns-types
      report zones helpers
      fix up get_nsid api
      update and inline feature decoding
      common code all the complex value accessors
      fix mmio accesses
      document corner case for large nsids
      update doc cross links
      add lba status log helper
      Merge pull request #2 from tbzatek/get_log_cdw10_mask
      fix log numdu mask
      Merge pull request #3 from tbzatek/docs-updates-1
      Merge pull request #4 from tbzatek/build-pkg-config
      Merge pull request #6 from hreinecke/address-parse
      Merge pull request #5 from hreinecke/master
      updates from integration
      fix integration breakage
      Merge pull request #7 from hreinecke/topology.v2
      Merge pull request #9 from birkelund/fixes
      Merge pull request #10 from hreinecke/nvme-cli
      Merge pull request #11 from hreinecke/int-fixes
      Merge pull request #12 from birkelund/fix
      Merge pull request #13 from hreinecke/swig.v3
      Merge pull request #14 from hreinecke/realloc
      re-arm discovery AEN
      Merge pull request #19 from tbzatek/status-to-string
      Merge pull request #20 from tbzatek/json-c-build-fixes
      Merge pull request #21 from martin-belanger/move-python-to-separate-dir
      Merge pull request #24 from tbzatek/docs-updates-2
      Merge pull request #15 from jk-ozlabs/fixes
      Merge pull request #26 from hreinecke/discovery-fixes
      Merge pull request #27 from martin-belanger/fix-empty-model
      Merge pull request #29 from martin-belanger/fix-compilation-warning
      Merge pull request #28 from hreinecke/topology
      Merge pull request #30 from martin-belanger/fix-compilation-warning
      Merge pull request #31 from martin-belanger/fix-compilation-warning
      Revert "tree: rework topology for multiple hosts"
      Merge pull request #34 from wxiong38/hostnqn_uuid_ibm
      Merge pull request #36 from verschwindibussen/refactor-uuid_from_device_tree
      Merge pull request #37 from verschwindibussen/install-pynvme
      Merge pull request #38 from metaspace/nvme-iocs-wrong-cns
      Merge pull request #40 from metaspace/fix_csi_create
      Merge pull request #41 from birkelund/add-cap-css-csi
      Merge pull request #522 from igaw/use-nvme_get_log_page
      nvme: Add wait for device self test
      fix endians
      nvme-cli: fix extended metadata size calculation
      nvme: fix directive receive identify offsets
      don't include newlines in already wrapped text
      nvme-cli: attach ns to local controller if none specified
      libnvme: do not byte swap command dwords

Khem Raj (1):
      plugins/ssstc: Replace __uint16_t with uint16_t

Klaus Jensen (26):
      Typo fix
      nvme/fabrics: fix compile error
      types: add NVME_CAP_CSS_CSI
      update libnvme.map
      meson: use library() and rely on user settings
      src/Makefile: fix ccan config.h
      meson: revert to using the ccan configurator
      types: move command parameters from ioctl.h
      types: move the feature shift/masks from util.h
      linux: move linux specific stuff from util.{c,h}
      types: remove endian/mmio helpers
      src/meson.build: install missing linux.h
      ioctl: fix mask values for virt mgmt
      meson: do not leak internal include directories
      types: add fdp data structures and helpers
      types: nsid is unused in reclaim unit handle usage
      build: bump libnvme to f83b2c4c4738
      nvme: add io management send/recv commands
      nvme: add flexible data placement management commands
      types: use nvme_timestamp for fdp events
      nvme-print: print unused reclaim unit handles
      nvme-print: prettify the fdp event printing
      plugins/fdp: use the right command-line switch
      nvme-print: print 64 bit values with json add_value_uint64
      build: bump libnvme
      nvme-print: pretty print fdp event timestamp

Kou Wenqi (1):
      nvme: do not report error when nvme_core module is not loaded

Laiwenhu (1):
      nvme: validate storage tag size correctly

Laraib Javed (5):
      plugins/sandisk: fix memory leak in sndk_get_enc_drive_capabilities()
      libnvme: fix null pointer dereference in _discovery_config_json()
      nvme: remove dead initialization of data_written in get_telemetry_log()
      netapp: fix dead store in netapp_smdevices_get_info() and netapp_ontapdevices_get_info()
      wdc: fix null pointer dereference in get_dev_mgmt_log_page_lid_data()

Leonardo da Cunha (53):
      util: Added function to find specific UUID in UUID list.
      plugins/solidigm: Compressing vs-internal-log log files into zip file.
      plugins/ocp: Split ocp_get_uuid_index() into find and get functions.
      plugins/ocp: Adjusted variable type size carrying UUID index to 8 bit.
      plugins/solidigm: Improved Solidigm UUID index detection.
      plugins/solidigm: Additional LID for temperature statistics.
      types: Added Command and Feature Lockdown LID
      plugins/solidigm: Automatic enabling Data Area 4 when retrieving Telemetry.
      nvme-print: Added "Command and Feature Lockdown" string to LID 0x14
      plugins/solidigm: Added log pages to vs-internal-logs
      plugins/solidigm: Added workload-tracker command
      plugins/solidigm: Added Workload Tracker Triggers and Wall Time
      completion: add solidgm work-tracker binding
      completion: add ocp set-telemetry-profile to zsh
      Documentation: Added solidigm plugin commands
      plugins/solidigm: Automatic retry smaller log chunk size.
      plugins/fdp: Added FDP feature subcommand.
      doc: Add nvme-fdp-feature command
      completions: Added fdp feature auto-completion.
      Documentation: Added solidigm plugin commands to main manual page.
      plugins/solidigm: parse-telemetry-log aware of OCP2.5 binaries
      plugins/solidigm: Fix parse-telemetry-log command parsing error handling.
      documentation: Updated solidigm parse-telemetry-log source-file.
      completions: Update solidigm parse-telemetry-log --sourcefile
      plugins/solidigm: Updated SMART PLL Lock Loss counters field
      plugins/solidigm: Added missing log descriptions and uuid support to some logs.
      Documentation: updated solidigm workload tracker page
      completions: Updated solidigm workload tracker command
      plugin/solidigm: Additional product Telemetry parsing support.
      plugin/solidigm: Added EXTENDED vs-internal-log option.
      plugins/ocp: Add --all-ns option to command set-error-injection.
      plugins/ocp: Add --all-ns option to command get-error-injection.
      completions: Added ocp get/set_error_injection options.
      plugins/solidigm: Added debug info to parse-telemetry-log.
      plugins/solidigm: Better string handling on Telemetry parsing.
      plugins/solidigm: Additional nlog warning instrumentation.
      nvme-print-stdout: Display id-ctrl ONCS fields according to NVMe spec v.2.3
      plugins/solidigm: Added wildcard and filters to telemetry parsing.
      plugins/solidigm: Added some Vendor specific SMART Attribute IDs.
      plugins/solidigm: parse telemetry error message improvements.
      plugins/solidigm: Reverting VU SMART attribute names change.
      plugins/solidigm: Enabled Telemetry side trace items parsing.
      plugins/solidigm: Added Telemetry config metadata to parser output.
      plugins/solidigm: Warning for missing Telemetry object config
      plugins/solidigm: Fixed parse Telemetry of multidimensional arrays
      plugins/solidigm: Removed some header includes.
      plugins/solidigm: Removed Telemetry parser array to string conversion.
      plugins/solidigm: Bug Fix reversed Telemetry array dimensions order.
      plugins/solidigm: Additional telemetry configuration wildcard.
      plugins/solidigm: Additional signature detection into Telemetry parser.
      plugins/solidigm: BugFix dumping large telemetry logs.
      libnvme: bugfix enabled retrieval of large persistent event log.
      plugins/solidigm: Bug fix retrieval of large PEL.

Liang Yan (2):
      build: Add vscode directory into ignore
      linux: Allocate aligned payload for nvme_get_telemetry_log

Lingkai Zuo (1):
      plugins/amzn: Add stats support for EC2 local storage instance type

Lior Weintraub (1):
      examples: fix incorrect controller status in MI info output

Markus Kurz (21):
      src: rework nvme_dsm command
      src: rework nvme_fw_commit command
      src: rework nvme_security_send command
      src: rework nvme_security_receive command
      src: rework nvme_get_lba_status command
      src: rework nvme_lockdown command
      src: rework nvme_set_property command
      src: rework nvme_get_property command
      src: rework nvme_sanitize_nvm command
      src: rework nvme_dev_self_test command
      src: rework nvme_virtual_mgmt command
      src: rework nvme_resv_acquire command
      src: rework nvme_resv_register command
      src: rework nvme_zns_mgmt_send command
      src: rework nvme_zns_mgmt_recv command
      src: rework nvme_zns_append command
      src: rework nvme_lm_cdq command
      src: rework nvme_lm_track_send command
      src: rework nvme_lm_migration_send command
      src: rework nvme_lm_migration_recv command
      zns: add error check zns report zones

Martin Belanger (286):
      Makefile: fix libnvme_wrap targets
      fabrics: Remove trailing newline from debugging messages
      Merge branch 'logging.v2' of https://github.com/hreinecke/libnvme
      fix memory leak
      rename Python class names using SWIG's %rename
      Move 'Python bindings' SWIG and Makefile to 'pynvme' directory
      add README file for python bindings
      Bug fix in Python SWIG module
      Merge latest changes from master branch
      Default empty model attribute to 'undefined'
      Fix compiler warning
      Fix memory leaks and double free
      Un-stub nvme_free_ctrl(). In other words, nvme_free_ctrl() will now properly delete ctrl objects
      Add support for scoped IPv6
      Fix compiler warning.
      build: Add support for meson build system
      Clean up Python exception handling
      Expose C enums and #defines in Python module. Add persistent_set() method to the Python nvme_ctrl class.
      Make Python Bindings optional
      [Python]: Fix inaccurate Python examples
      Add Python init() method. Move nvme_init_ctrl() from private.h to tree.h Addess review comments.
      Add Python tests to meson framework.
      Removed a duplicate line (read from file). I checked with Hannes and he confirmed that the line was added by mistake.
      Fix python unit tests when run as a subproject of another project (#91)
      Fix reading of system UUID on Debian
      Fix host_iface offset.
      Add discovery_ctrl_set() to Python bindings.
      Document meson's -Db_sanitize=address option
      Fix memory leak.
      Replacing make by meson.
      fix error building the man pages
      Define ccan as a static library
      fix license info
      python: Add dump_config
      tree: Add host symbolic name
      types: Add DCTYPE to nvme_id_psd
      tree: Add cntrltype and dctype to the controller object
      types: Add Discovery Information Managment types
      util: Add key-value helpers and OS identification tools
      ioctl: Add nvme_dim_send()
      fabrics: Add support to register with a DC
      Move ccan definitions out of public headers.
      fabrics: Invoke nvmf_dim() with provided tas argument
      fabrics: add NCC to nvmf_disc_eflags
      python: add eflags to discovery log page
      python: add __version__ to libnvme python package
      python: add missing ctrl attrs to Python bindings
      examples: Add missing free()
      fabrics: Add new TP8010 definitions
      fabrics: Add nvmf_get_discovery_wargs()
      python: Use nvmf_get_discovery_wargs()
      fabrics: Filter out empty strings in add_argument()
      examples: LID supported must be shifted right by 16
      python: Release GIL on blocking calls
      fabrics: Fix bad UUID size introduced in recent UUID changes
      docs: Fixed typos and missing options
      fabrics: Ensure host-traddr/iface consistency for "connect-all"
      python: Fix segmentation fault during garbage collection
      python: Return PyObject* from __str__() instead of a static char[]
      python test: Check there is no SIGSEGV during garbage collection
      python: Reformat SWIG input file
      python, meson: Assert that deps are present for -Dpython=true
      Python: Add hostnqn_from_file() and hostid_from_file()
      Python: Add support for setting/getting Host DHCHAP key
      build, meson: Print option summary
      build: Print option summary
      python: Remove redundant host.set_key() method
      python: Add setter property for controller DHCHAP Key
      python: Change python option from combo to feature
      nbft: Doc typo - Use nvme_nbft_free() instead of nbft_free()
      Python: Add NBFT support
      NBFT: Remove documentation from nbft.c since it's also in nbft.h
      Python: make NBFT data more pythonic
      Python: Suppress swig warnings about unnamed struct
      python/swig: Wrap swig-sensitive struct inside #ifwdef SWIG
      python/swig: Check swig version to determine whether -py3 is needed
      Python: Fix crash during garbage collection
      util: Add ipaddrs_eq() to check whether two IP addresses are equal
      util: rename ipaddrs_eq() to nvme_ipaddrs_eq() and make public.
      test: Add more code coverage for nvme_ipaddrs_eq()
      tree: Use nvme_ipaddrs_eq() to compare IP addresses
      tree: missing closedir() causes fd leak for "/sys/bus/pci/slots"
      tree: Don't open nvme devices until it's absolutely required
      json: fix seg. fault converting NULL to JSON string
      meson: Don't hard-code path to "internal/config.h"
      util: Split _nvme_ipaddrs_eq() from nvme_ipaddrs_eq()
      tree: Add nvme_ctrl_get_src_addr() to get the controller's src_addr
      test: add tests for nvme_ctrl_get_src_addr()
      util: Add functions to parse the system's interfaces
      tree: Improve TCP controller matching algorithm
      test: add tests for new tcp controller matching algorithm
      tree: Use early return instead of else statements
      fabrics: lookup_discovery_ctrl() must look under host and not root
      fabrics: For TCP/RDMA, compare IP addresses with nvme_ipaddrs_eq()
      tree: Add 2 new public functions to lookup existing controllers
      build: Update libnvme git SHA to pull the right version
      fabrics: Removing duplicate code and moving to libnvme
      README: Fix meson/python build badges
      docs: Fix Read-the-Docs configuration (deprecated config param)
      README: Fix meson build badge
      build, CI: Add a GitHub Action to run the checkpatch.pl script
      build: Update meson commands in Makefile
      Makefile: Add new targets and update meson command syntax
      Makefile: Add new targets and update meson command syntax
      python, swig: add missing controller attributes
      tree: handle the case when host_iface/host_traddr are set to "none"
      python: fix typo in nvmf_discovery_log
      python: Don't exit immediately on discovery fail.
      python: fix iterators failing on empty lists
      python: remove "iter" elements
      meson: Use configure_file() `install` instead of install_data()
      python bindings: add some definitions for backward compatibility
      libnvme: Rename NVME_LOG_*_DISCOVER to NVME_LOG_*_DISCOVERY
      meson: build libnvme directly instead of as a subproject
      libnvme: add accessor code generation
      docs: Fix URLs referencing deprecated libnvme repo
      docs: Fix read-the-docs
      PyPI: add meson options to build without nvme executable
      PyPI: Do not install/build nvme components
      PyPI: fix missing symbolic link libnvme.so.x ->  libnvme.so.X.Y.Z
      PyPI: Only use major version for libnvme.so
      libnvme: Add nvme_getifaddrs()
      docs: Make documentation build depend on -Dlibnvme and -Dnvme
      ci: use total commit count for unique TestPyPI dev version
      ci: do not push to TestPyPi when a git tag is pushed to repo
      libnvme: commit pre-generated accessor files and simplify build
      build: rename LIBNVME_ACCESSORS_3_0 to LIBNVME_ACCESSORS_3
      libnvme.ld: remove duplicate symbols found in accessors.ld
      libnvme: move accessor generator to tools/generator/
      libnvme: remove stale symbols from libnvme.ld and libnvmf.ld
      libnvme: replace accessor generator with Python and add in-source annotations
      libnvme: annotate public API symbols with __public
      python-libnvme: drop 1.x backward-compatibility shims
      doc: update and polish README.md
      doc: document default installation paths and how to override them
      nvmf: fix timeout not applied to discovery log commands
      nvmf: fix generator emitting setters for read-only members in .ld files
      nvmf: clean up discovery args struct initialization
      nvmf: replace nvmf_get_discovery_log() with opaque-args API
      doc: consolidate contributor guidance into CONTRIBUTING.md
      test: add unit tests for static helpers in fabrics.c
      generate-accessors: fix stale examples and redundant code
      generate-accessors: switch annotations to // comment style
      generate-accessors: add lifecycle and default-value generation
      swig: fix bugs introduced in libnvmf_context refactor
      swig: replace libnvmf_context with dict-based ctrl constructor
      swig: fix Py_NewRef compatibility with Python < 3.10
      swig: guard against silent attribute typos on SWIG objects
      libnvme: move fabrics-only helpers to util-fabrics.c
      libnvme: add missing prototypes for exported symbols
      libnvme: add check-public-headers test
      swig: replace hand-written accessor wrappers with auto-generated #defines
      libnvme: rename !accessors: member annotation to !access:
      libnvme: replace single-mode access annotation with a two-axis model
      libnvme: prep accessor annotations and generator for Python bindings redesign
      libnvme: rename libnvme_ns_get_uuid to libnvme_ns_copy_uuid
      python bindings: redesign Phase 1 — generator-emitted SWIG fragments
      python bindings: redesign Phase 2 — API surface polish
      ci: replace webispy/checkpatch-action with upstream checkpatch.pl
      python bindings: add PUBLISHING.md
      python bindings: add exception hierarchy
      python bindings: remove deprecated files
      Makefile: add checkpatch targets
      ci: extend check-accessors to cover all generated files
      python bindings: table-driven fabrics config dict parsing
      nvme.i: fix brace style for C function definitions
      libnvme: introduce async/sync passthru API
      libnvme: guard libnvme_submit_admin/io_passthru() against NULL hdl
      libnvme: fix libnvme_wait_admin_passthru() ignoring CQE result
      uring: annotate unused arguments
      libnvme: fix uring_state never updated in __libnvme_transport_handle_open_uring()
      libnvme: add __libnvme_ prefix to all compiler attributes
      tree: extract TCP ctrl matching into tree-fabrics.c
      tree: move TLS/DHChap sysfs readers to tree-fabrics.c
      tree: rename fabrics-only functions to libnvmf_ prefix
      fabrics: rename callbacks to hooks
      fabrics: group hooks and user_data into struct libnvmf_hooks
      tree/fabrics: introduce libnvme_ctrl_params and embed in libnvmf_context
      fabrics: fix libnvmf_connect() not propagating resolved TLS key IDs
      tree: decouple ctrl-find/alloc from libnvmf_context
      tree: move ctrl-find cluster to tree-fabrics.c
      ci: add no-fabrics build config and unit tests
      build: add valgrind test setup
      build: add ASan+UBSan test setup
      build: add valgrind suppressions and ASan+UBSan CI flag
      libnvme: fix hostid leak in libnvme_create_host()
      generator: add nested struct accessor support
      libnvme: apply annotation to nested structs
      fabrics: replace hand-written APIs with generated ones
      libnvme: remove libnvmf_ctrl_get_fabrics_config()
      libnvmf: add convenience setters for parameter groups
      libnvme: add libnvme_ctrl_is_transport_fabric()
      libnvme: add NVMe controller ownership registry
      nvme: add registry plugin and orchestrator column
      libnvmf: wire registry into connect and disconnect paths
      nvme: add man pages for registry commands and update disconnect-all
      libnvme: move fabrics include list into its own file
      libnvme: pass global context to registry public APIs
      libnvme-python: make registry python test robust to spawn/forkserver
      nvme: rework the registry command-line interface
      fabrics: use -t for the disconnect-all --transport short option
      fabrics: add --owner to connect, connect-all and discover
      libnvme: test that registry attribute values round-trip verbatim
      libnvme: guard registry cleanup against instance reuse with uevent_seqnum
      doc: add libnvme registry overview (REGISTRY.md)
      nvmf-autoconnect: tag connections with --owner=autoconnect
      tests: update registry CLI test for reworked nvme registry interface
      python-ci: run the unit tests a second time without valgrind
      libnvme/json: free the subsystem object when skipping discovery subsystems
      libnvme/json: fix misplaced "required" keys in the config schema
      libnvme/json: write the config as an object, keep reading the legacy array
      libnvme/test: fix exit-code capture in config-diff.sh
      libnvme/json: persist the registry owner in the config file
      doc: document nvme-cli-ai companion repository
      libnvme: drop the log messages from the no-netdb stubs
      libnvme: add shared fabrics helpers in preparation for exclusion list
      libnvme: add the libnvmf_tid transport identity
      libnvme: add the NVMe-oF exclusion list
      plugins/exclusion: add the nvme exclusion management plugin
      nvme-cli/fabrics: add --exclude to nvme disconnect
      doc: add NVMe-oF exclusion list documentation
      doc: move REGISTRY.md under libnvme/design/
      nvme-cli/fabrics: note an excluded target on connect under --verbose
      libnvme: substitute RUNDIR into the registry udev rule
      plugins/exclusion: operate on the default list when --name is omitted
      libnvme: make discovery connects honor the exclusion list
      libnvme/doc: state the library/application boundary
      libnvme/doc: add the smart-TID design
      libnvme/tid: reject hostnames, canonicalize numeric addresses
      libnvme/tid: drop get_hash() and equal()
      libnvme/tid: replace per-field setters with a set_identity triplet
      libnvme/fabrics: use str(), not get_canonical(), in the exclusion log
      libnvme/tid: group functions by role in tid.c/tid.h
      libnvme/util: reimplement numeric address helpers without getaddrinfo
      libnvme: reject hostname addresses instead of resolving them
      nvme-cli/fabrics: resolve hostnames before handing addresses to libnvme
      libnvme/test: drop the netdb gating from the libnvme tests
      libnvme: classify scoped IPv6 addresses with the TID's numeric test
      doc: add NVMe-oF connection configuration documentation
      libnvme/config: add an internal INI reader
      libnvme/config: add the parameter store and key table
      libnvme/config: add an INI-format NVMe-oF config parser
      libnvme/config: resolve the cascade into the connection list
      libnvme/config: publish the resolved configuration API
      libnvme/config: add the connect argument emitter
      libnvme/fabrics: use host_iface, not trsvcid, in libnvmf_add_ctrl()
      meson: stop deriving RUNDIR from --prefix
      nvme-cli/fabrics: add --idempotent to nvme connect
      libnvme/fabrics: add --devid-file to nvme connect
      libnvme/config: add the configuration write side
      libnvme/config: deduplicate CONFIG_MAIN_PATH
      libnvme/python: add config_read() and config_validate()
      doc: add NEWS.md
      nvme-cli: add the config.json reader for INI conversion
      fabrics, nvme-cli: add the discovery.conf reader for INI conversion
      nvme-cli: add the config-convert command
      libnvme/design: fix stale config-convert references in CONFIG.md
      doc: add nvme-config-convert man page
      tests: extract shared command/logging infra into TestNVMeBase
      tests: add end-to-end coverage for nvme config-convert
      libnvme/config: apply a parameter store to a connect context
      fabrics, nvme-cli: consume the INI config directly from the CLI
      libnvme: fix regressions from the implicit host-lookup removal
      libnvme: consolidate libnvme_get_host() into tree.c
      libnvme/fabrics: drop the dead JSON config loops and parser hooks
      meson: stop installing an empty discovery.conf stub by default
      nvme-cli: retire --dump-config from discover/connect-all/connect
      doc: add nvme-fabrics.conf(5) man page and sample file
      libnvme/test: check fopen() before fclose() in config-emit
      nvme-cli: rework "nvme config" into config-validate/config-show
      nvme, plugins/config: migrate config-* into a config plugin
      nvme: fabrics_config_validate: reject a missing config file
      nvme: fix a crash in config-validate/config-show/config-convert under -o json
      libnvme: fix bogus host-lookup failure in NBFT discovery
      nvme: fix legacy config.json auto-conversion naming
      libnvme: drop the legacy JSON config path and json.c/json-c
      libnvme/test: replace tree-dump with a JSON-free scan_topology test
      libnvme/test: restore hostnqn precedence test coverage
      fabrics: don't resolve host_traddr as a hostname
      libnvme: validate FC WWN addressing in tid_sanitize_addr()
      nvme: add JSON output to config show
      doc: add man pages for config show and validate
      libnvme: write registry entry on an already-connected controller
      fabrics: check registry owner before connect-all/discover
      libnvme: let the accessor generator override the naming segment
      libnvme: generate the trivial libnvme_global_ctx bool accessors

Martin George (125):
      fabrics: update log level for write failures
      tree: avoid segfault if subsysnqn is not available
      fabrics: sanitize dump-config output
      nvme-tree: avoid segfault if auth keys are unavailable
      json-schema: add dhchap_key details to host section
      libnvme.map: add nvme_ctrl_is_persistent()
      nvme-print: fix segfault in supported-log-pages json output
      nvme-doc: update man page for supported-log-pages
      nvme: fix block count and data size logic
      nvme-print: sanitize supported-log-pages output
      fabrics: fix fc config JSON file handling
      fabrics: prevent 'nvme connect' to well-known discovery NQN
      nvme-print: fix counter while looping through uuid_list
      nvme-tree: avoid warning in 'list-subsys'
      tree: fix segfault in nvme_scan_subsystem()
      udev-rule: apply round-robin iopolicy on i/o subsystems alone
      udev-rules: set ctrl_loss_tmo to -1 for ONTAP NVMe/TCP
      udev-rules: rename netapp udev rule
      json-schema: add keyring and tls_key details
      nvme: restric hmac options for gen-tls-key
      fabrics: fix invalid output format error during nvme connect
      fabrics: fix connect error if hostid file does not exist
      nvme-print-stdout: enhance connect message
      fabrics: move hostid/hostnqn warnings to verbose level
      linux: avoid segfault in check-tls-key due to null hostnqn/subsysnqn
      nvme: print inserted tls key for check-tls-key
      nvme-print: fix typo in list verbose output
      nvme-print: print more details in ns-descs verbose output
      nvme-netapp: add nspath tlv handling
      nvme: print retained key for gen-tls-key's -i option too
      nvme: check-tls-key fails despite having hostnqn file
      tree: fix mem leak in nvme_ns_init()
      fabrics: fix mem leak in nvmf_check_hostid_and_hostnqn()
      nvme: fix mem leak in multiple key related functions
      tree: fix segfault in nvme_free_tree()
      nvme: update parse_args() return value handling
      nvme: fix verbose logging
      fabrics: print an error for ENOENT too
      nvme: avoid segfault in show-topology
      fabrics: avoid potential segfault in nvmf_dim()
      netapp: fix uninitialized value from heap error
      netapp: segregate the print routines
      netapp: print output for single device too
      nvme-print: add subsystype to the list-subsys output
      nvme-print: update subsys verbose outputs
      nvme-print: sanitize error-log output
      nvme: update nvme_insert_tls_key_versioned() return handling
      fabrics: fix incorrect access filename check
      netapp-smdevices: segregate print routines
      netapp-smdevices: print single device output too
      tree: fix dhchap_key mem leak
      tree: fix dhchap_ctrl_key mem leak
      tree: fix tls key mem leak
      nvme: fix uninitialized value in error-log
      nvme-print-stdout: update changed-ns-list-log output
      nvme-print-json: update JSON verbose output for nvm-id-ctrl
      nvme-print-json: display only verbose output
      nvme: update tls_key() handling
      netapp-smdev: add err msg for no smdevices
      netapp-ontapdev: add err msg for no ontapdevices
      netapp-ontapdev: add verbose output
      netapp-ontapdev-doc: add verbose details
      nvme: update messages for few misc functions
      fabrics: update return values for dim
      netapp-ontapdev: fix fw version handling
      netapp-ontapdev: fix JSON output for nsze & nuse
      nvme-netapp: update err messages
      netapp-smdev: remove redundant code
      netapp-smdev-doc: add verbose details
      netapp-smdev: add verbose output
      udev-rules-ontap: switch to queue-depth iopolicy
      nvme-print-stdout: add descriptions for nsze, ncap & nuse
      nvme-print-stdout: add details in list-ns verbose output
      nvme: make -v output consistent with -H output for nvme get-property
      nvme: make -v output consistent with -H output for nvme get-feature
      nvme: make get-feature JSON output print everything
      nvme: check for valid output format
      netapp-ontapdev: update basestr headers in verbose output
      netapp-smdev: update basestr header in verbose output
      netapp-ontapdev: update err msg for no ontapdevices
      netapp-smdev: update err msg for no smdevices
      netapp-ontapdev: correct the basestr header
      tree: add routine to fetch subsys model
      tree: add routine to fetch subsys firmware rev
      netapp-ontapdev: add subsysname to the verbose output
      netapp-ontapdev: add subsysname to regular output
      nvme-print: display model in list-subsys output
      nvme-print: display fw-rev in list-subsys output
      tree: add routine to fetch subsys serial number
      build: bump libnvme wrap
      nvme-print: display serial num in list-subsys output
      nvme: fix mem leak in nvme copy
      netapp-ontapdev: update invalid device handling
      netapp-smdev: update invalid device handling
      libnvme: sanitize free() handling
      nvme-cli: sanitize free() handling
      nvme: update the tls 'compat' option documentation
      test/mi: avoid compile warning in test_admin_invalid_formats()
      fabrics: fix uninitialized value in _nvmf_discovery()
      fabrics: fix mem leak at nvmf_discovery_config_file()
      fabrics: fix concat during nvme connect-all
      fabrics: add error if --tls and --concat are invoked together
      fabrics: add error if no dhchap-secret is specified with --concat
      fabrics: add error if dhchap-ctrl-secret is specified with --concat
      fabrics: fix fabrics_connect() error message
      fabrics: fix mem leak at nvmf_connect()
      fabrics: add additional debug messages for --tls and --concat
      tree: fix mem leak in list-subsys verbose option
      nvme: sanitize call to strerror()
      nvme: standardize nvme_strerror() usage
      tree: update nvme_scan_ctrl() return handling
      fabrics: update get_entity_name() return handling
      nvme: update format specifier in nvme_show_error()
      tree: fix nvme_subsystem_scan_namespaces() return handling
      nvme: fix segfault at nvme_match_devname()
      nvme-print: align print output for get-feature host behavior
      nvme-print: align print output for get-reg cc
      nvme-print: align print output for get-reg cap
      fabrics: permit bi-auth with secure concat TLS
      tree: avoid updating --tls in nvme_read_sysfs_tls()
      fabrics: add helper to update tls and concat
      fabrics: update device connect message
      fabrics: avoid connect segfault for invalid param
      fabrics: sanitize traddr & trsvcid handling during connect-all
      nvme: ensure log_level is properly updated

Martin Joerg (1):
      nvme: Fix invalid memory access in show_registers

Martin Wilck (5):
      fabrics: fix conditions in nvmf-autoconnect.service
      fabrics: autoconnect: add service unit for connecting NBFT subsystems
      fabrics: add udev rule to avoid renaming nbft interfaces
      nbft: avoid duplicate entries in ssns->hfis
      nvmf-autoconnect: add NetworkManager dispatcher script

Mateusz Kozlowski (2):
      nvme: Fix nvme format block-size option handling
      plugins/zns: Fix offset in report zones

Matt Johnston (4):
      mi: provide a facility for transports to describe endpoints
      mi: Add MI endpoints to root_t, and add iterators
      mi: Add facility to scan MI endpoints from MCTP daemon
      examples/mi-mctp: Add 'dbus' option

Maurizio Lombardi (23):
      mi: fix a memory leak in nvme_mi_open_mctp()
      mi: fix a static checker warning in examples/mi-mctp
      util: fix a file handle leak in nvme_uuid_random()
      fabrics: fix a check-after-dereference error in nvmf_discovery_log()
      nvme: fix rnlpt to_string() values.
      fabrics: fix potential invalid memory access in __nvmf_supported_option()
      Revert "nvme: Masks SSTAT in sanize-log output"
      libnvme: fix a memory leak in read_discovery()
      libnvme: fix a memory leak when calling read_ssns()
      create-ns: align the namespaces to 1Mib boundaries when using SI suffixes
      fabrics: check the read() return value
      nvme: fix error path if write() fails in get_telemetry_log()
      types: add the nvme Cancel command opcode
      nvme-print: add the cancel opcode to the nvme_cmd_to_string() list
      nvme: telemetry: report the correct error if the ioctl() fails.
      nvme-print-json: add missing va_end()
      linux: avoid potential null pointer dereference
      mi-mctp: initialize the rc variable in handle_mctp_endpoint()
      plugins/solidigm: fix use after free.
      ns_descs: prevent buffer overrun and memory corruption
      nvme: Fix get-feature on big-endian systems
      libnvme: propagate the error to the caller if nvme_get_log_page() fails
      Add nvme_fabrics module loading function

Michal Rábek (8):
      lib: save one strdup by using GNU basename() implementation
      build: fix musl build
      build: add a musl build configuration
      ci: add a musl build job
      test: fix musl libc test fail due to locale differences
      test: fix 'diff --unified' failing on Alpine Linux
      ci: add build job in an Alpine container with musl
      build: add an option to specify a list of plugins to include

Milan Broz (1):
      sed: Fix parsing of Discovery0 features

Minh Hoang (Storage HW) (1):
      Fixed OCP Latency Monitor stdout spacing in column header

Minsik Jeon (8):
      nvme: use correct telemetry log size
      rpm: Add missing rule and service files
      nvme-print-json: Bugfix status json key of sanitize-log
      plugins/fdp: bugfix error check to validate output format
      nvme: Support show-regs for nvmeof
      plugins/ocp: Align ocp_smart_extended_log struct.
      ocp-nvme: Update ocp v2.6 Smart Information Extended
      ocp-nvme: Add missing data media_dies_offline to smart_extended_log.

Minwoo Im (7):
      tree: add namespace chrdev name to nvme_ns
      tree: rename namespace function name chrdev to generic
      types: add opcode field to error log page (TP4113)
      build: Bump up libnvme wrap
      print: print csi and opcode in error log (TP4113)
      tree: fix generic device open failure
      nvme-print: Unify number base format for nsid

Nate Thornton (15):
      ioctl: set data length when retrieving LBA status
      types: Add TP4159 PCIe Infrastructure for Live Migration definitions
      types: Live Migration
      ioctl: Live Migration
      build: bump libnvme wrap
      print: OACS Host Managed Live Migration Support (HMLMS)
      plugin/lm: Introduce Live Migration plugin
      types: Add Create Queue Specific (CQS) shift and mask for LM CDQ command
      nvme: add --block-size option to io commands to bypass identify commands.
      completions: add --block-size option to io commands to bypass identify commands.
      docs: update with new --block-size= argument for compare/read/write
      logging: suppress logging except during normal output
      ocp: Add all statistics to the map table
      lm: Migration Recv displayed suspend status is incorrect
      nvme: Allow commit action = 0b011 (replace and activate immediate)

Nick darkfiberiru Wolff (1):
      nvme: apply user-specified timeout via transport handle

Nilay Shroff (52):
      nvme: Don't seg fault if given device is not char/block device
      libnvme : record the nvme pci adapter physical slot
      tree: Add NVM subsystem controller identifier
      fabrics : allow host to create duplicate connections to target
      nvme-print: Print cntlid number for controller
      tree: add support for discovering nvme paths using sysfs multipath link
      tree: add queue-depth attribute for nvme path object
      tree: add attribute numa_nodes for NVMe path object
      test: extend sysfs tree dump test
      nvme-list: fix verbose JSON output for 'nvme list' command
      nvme-list: make verbose JSON output backward compatible
      nvme: support <device> option in show-topology command
      nvme: extend show-topology command to add support for multipath
      nvme: add common APIs for printing tabular format output
      nvme: add support for printing show-topology in tabular form
      nvme: avoid printing iopolicy in list-subsys output
      nvme: add iopolicy field in JSON output
      nvme-cli: extend show-topology tabular output for non-multipath subsys
      nvme-cli: extend show-topology tabular output for multipath subsys
      libnvme: annotate libnvme_path::ana_state with !accessors:none
      libnvme: annotate libnvme_path::numa_nodes with !accessors:none
      libnvme: annotate libnvme_subsystem::iopolicy with !accessors:none
      libnvme: add support for retrieving per-path gendisk I/O statistics
      libnvme: add support for retrieving namespace gendisk I/O statistics
      libnvme: add support for per-path diagnostic counters
      libnvme: add support for namespace diagnostic counters
      libnvme: add support for nshead diagnostic counters
      libnvme: add support for ctrl diagnostic counters
      nvme: add support for unsigned and long types in table_get_value_width()
      nvme: use table_get_value_width() in table_print_centered()
      nvme: add support for float and double types in table_print_XXX()
      nvme: allow table output to be directed to a FILE stream
      nvme: add sigaction for SIGWINCH
      nvme: add generic top-like dashboard framework
      nvme: add nvme top command
      nvme-top: avoid NULL dereference on non-multipath host
      libnvme: fix memleak in libnvme_subsystem_set_ns_path
      nvme-top: preserve selected subsystem across topology refresh
      util/table: fix memory leak in table_add_columns_filter()
      util/table: extend table APIs to support fixed width column
      nvme: use AUTO_WIDTH for show topology tabular output
      nvme-top: use fixed width columns
      build: add Clang Static Analyzer support
      libnvme: update diag attribute paths
      libnvme: rename diag attributes and update paths
      build: add Clang analyzer workflow
      build: use fedora container for analyzer workflow
      nvme-top: restore selected subsystem to the first entry
      nvme-top: support paging in the top dashboard
      nvme-top: synthesize NVMe kobject uevent on ENOBUFS
      libnvme: return status from libnvme_refresh_topology()
      nvme-top: avoid recreating the global NVMe context on topology updates

Nitesh Shetty (1):
      nvme: plugins/fdp, check endurance group identifier

Nitin Sao (9):
      types: add new field added in TP4090
      types: add new field added in TP4099
      build: bump libnvme wrap
      nvme-print: add new field added in TP4090
      nvme-print: Added print for two new fields for HMB feature
      types: Added new controller attribute as per TP4104
      types: Added new field CSER in enum as per TP4167
      build: bump libnvme wrap
      nvme-print-stdout: Added print for new field CSER (TP4167)

Oliver Upton (1):
      common.h: Avoid using unsupported load/store instructions in arm64 VMs

Paul Wood (1):
      ocp-telemetry-decode: fix ascii string lookup

Prashanth Nayak (2):
      nvme: Add length field to Hkdf-Expand-Label computation
      linux: Correct error handling for derive_psk_digest

Praveen Kumar B/Praveen Kumar B (1):
      pulgin/ocp: Added the OCP2.7 supported Get feature FID=CAh command api

Sagi Grimberg (7):
      fabrics: restore hostname traddr support
      fabrics: fix endless loop in connect-all for NVME_NQN_CURR
      fabrics: don't treat host_traddr 'none' as a valid hostname
      nvme-print: print the nvme generic name in json output as well
      nvme-print: fix wrong list-subsys output when ns are attached to different ctrls
      make: fix make rpm target
      udev: Add custom udev rule for the Vast Data Block array

Sam James (5):
      test: handle POSIX ioctl prototype
      meson: make building tests conditional
      Use C99 types for uint32_t
      nvme: Use C99 types for uint32_t
      plugins/innogrit: `u_char` -> `unsigned char`

Sami Waheed (1):
      Update ioctl.h

Sarah Ahmed (8):
      fabrics: fix inverted child controller check in _nvmf_discovery()
      wdc-nvme: fix null dereference of sph in get_dev_mgmt_log_page_lid_data()
      tree: replace strdup with xstrdup in nvme_alloc_subsystem()
      wdc-nvme: validate PCI ID lookup in wdc_log_page_directory()
      sfx-nvme: fix sizeof mismatch in calloc in nvme_dump_evtlog()
      ioctl-linux: fix uninitialized cmd32.result in ioctl_passthru32()
      ocp-smart-extended-log: fix sizeof mismatch in malloc for get_c0_log_page()
      wdc-nvme: replace wdc_get_pci_ids() with nvme_get_pci_ids()

Sebastian Brzezinka (3):
      nvme-print: check if controller belong to SPDK
      plugins/spdk: plugin to list SPDK subsystems
      nvme-print: expand the maximum field length to prevent misalignment

Shin'ichiro Kawasaki (1):
      fabrics: Use corresponding hostid when hostnqn is generated

Simon A. F. Lund (2):
      Fix dependency on systemd
      Makefile: add 'make uninstall'

Sivaprasad Gutha (4):
      plugins/micron: update to support latest products
      plugins/micron: adding missing product support
      nvme: plot eye chart data and hex dumping VS eye data
      nvme: Added message key for printable eye in normal format

Stefan Hajnoczi (1):
      nvme: fix /dev/spkd/ typo

Stellios Leventis (1):
      plugins/wdc: Extend SN530 support.

Stephen Bates (1):
      ocp-nvme: Add a different formatting for JSON output

Stephen Cheng (1):
      tree: Fix potential NULL pointer dereference in nvme_host_get_ids()

Steve Chang (1):
      doc: fix typos and grammar issues in README.md

Steven Seungcheol Lee (81):
      types: fix wrong bits nvme_id_psd apw[178:176], aps[183:182]
      types: Add New fields on PEL based on NVMe 2.0a
      types: Add Identify for CNS 08h NVMe spec 2.0a based
      types: fix(Add missing fields rrl, frl, lbafe)
      types: Add missing Zone Attributes Information on zone descriptor
      doc: There is no nvme_host_mem_buf_desc in source files
      Add libjson version check on configure to fix build error
      doc: Add ocfs explaination
      Add missing function(nvme_get_log_zns_changed_zones) to map file
      zns: Add support for zone random write area (zrwa)
      build: Add subpackages contents to .gitignore
      meson: ssl version checking allowed version only
      util: modify flbas rsvd bits to be used
      ioctl: Modify identify command argument based on spec
      types: Add NVM Command Set id-ns structure
      ioctl: Add identify ioctl for CNS 09h, 0Ah
      nvme: Add nulbaf(Number of Unique Capability LBA Formats) field on nvmd_id_ns
      nvme: get log domain id included in Log Specific Identifier
      ioctl: nvme_io_args.dspec(Directive Specific) value is 16 bits
      types: fix status code type bug (wrong masking)
      types.h: Key Value Command Set Identifier added (NVME_CSI_KV)
      ioctl.h: ns list bug fix (wrong cns value)
      libnvme: export 'nvme_scan_ctrls'
      meson: libsystemd <= 219 does not support sd-bus, sd-event
      rpmbuild: Enable 'make rpm' to build rpm pkgs #408
      completion: fix typo, add missing args
      nvme.c: Check Firmware Update Granularity in fwdl
      doc: fix kernel-doc-check warning
      fdp: Fix wrong Reclaim Unit Handle Status size
      nvme: Fix parameter limit range
      types.h: Add FDP related Status Code
      types: Add ns-mgmt host software specified fields
      types: Add IO command set specific field on nsmgmt
      nvme-print: Add VWCNP on NSFEAT of id-ns
      nvme-print: Add new fields print on id directive
      nvme: Add dtype, dspec on write-zeroes, write-uncor
      nvme: Add ns-mgmt host software specified fields
      nvme: Add zns specfic field for create ns
      build: Bump libnvme.wrap to align create ns args
      ioctl: io management send, receive args fix
      fdp: set-events feature is saveable
      nvme: fix io_mgmt args parse error
      build: Bump libnvme wrap to fix io_mgmt apis
      nvme-wrap: do_admin_args_op should not clear args timeout
      nvme: Do not map status to errno codes
      tree: Modify label name close_fd to close_dev
      Makefile: add standalone build
      meson: Add libhugetlbfs option to not included in static
      build: Add static build on CI target
      build: bump libnvme to disable tests option
      nvme: reduce identify cmd issue
      nvme: fix overflow possiblity
      README: Add make static explanation
      nvme: fix lbaf inuse to use 6:5 bits
      ioctl: refactoring set_features
      ocp-nvme: remove ocp log page version checking
      ocp-nvme: Add LMDATA-37 for Latency Monitor Log
      ocp-nvme: ocp plugin version update
      ocp-nvme: Recommit removed patch
      types: Add id-ctrl CTRATT.RHII enum
      ocp-nvme: Update ocp v2.6 Hardware Component
      ocp-nvme: Add Error Injection type from ocp2.6
      rpm: use defined prefix from meson
      nvme-print: Add id-ctrl CTRATT.RHII, using enum
      build: bump libnvme wrap
      print: Supported Log lidsp print updated NVMe v2.1
      nvme: telemetry ctrl-init need to clear RAE
      ioctl,types: telemetry log update based NVMe v2.1
      mi: telemetry log update based NVMe v2.1
      build: bump libnvme wrap
      nvme: Host-init telemetry log mcda field added
      types: Update id-ctrl field based on NVMe 2.1 spec
      types: use __le16 instead of __u16 for data fields
      types: Add enum for nvme_id_ctrl.trattr
      ocp: TCG Configuration Log field added ocp v2.6
      build: bump libnvme wrap
      print: Add missing fid to string
      print: id-ctrl print updated based on NVMe v2.1
      plugins/ocp: Use structure for ocp smart log
      nvme: add error message for mmap_registers
      mi: Add ISH bit (admin command cflags)

Stuart Hayes (6):
      nbft: add NBFT v1.0 table support
      nbft: added NBFT v1.0 table support
      nbft: add the nbft show plugin
      nbft: fix tcp/dhcp address fallback retry
      fabrics: fix NULL dereference in nvmf_update_tls_concat
      nbft: use the correct interfaces for NBFT connections

Swapna Samoju (1):
      micron: add smart-log and id-ctrl commands

Swapnil Dinkar (1):
      plugins/amzn: add stats support

Tetsuya TAKAHASHI (2):
      ocp: fix GUID output
      ocp: fix option handling in internal-log

Thomas Weißschuh (1):
      util: Add feature length for host memory buffer

Thu Nguyen (1):
      Update mctp APIs to mctp codeconstruct version 2.0

Tokunori Ikegami (767):
      util: Add get feature length 2 API to support direction parameter
      nvme-print: Display smart log data units read and written SI value
      util: Add file stream parameter to print word wrapped
      MAINT: util: Delete duplicated OPT_LONG definition
      util: Parse suffix binary value as unsinged long long correctly
      doc: Add storage-tag option description for compare, read and write commands
      types: Add abort self-test code value definition
      nvme: Use self-test code definition values instead hard-coded values
      nvme: Ignore device self-test wait option for abort operation
      nvme: Add device self-test SIGINT signal handling for wait option to abort
      nvme: Move static variable definitions to top of file
      doc: Update device-self-test command documentation
      nvme: Use abort self-test code definition value instead hard-code value
      nvme: Filter out status flags for get feature command
      unit: Add test-argconfig-parse
      util: Revert JSON output to plain numbers
      nvme: Continue get feature on invalid NS error to get multiple feature ids
      nvme: Align get feature data buffer length by page size to allocate
      util: Add argconfig seen flag parameter to check if feature NSID set
      plugins/ocp: Add support for EOL/PLP failure mode feature
      plugins/ocp: Add support for clear PCIe correctable error counters feature
      plugins/ocp: Refactor to clear feature identifier C1h and C3h
      plugins/ocp: Add set feature EOL/PLP failure mode no-uuid option
      util: Introduce argconfig simple helper to check seen condition
      nvme: Check fw-commit command support MUD
      nvme-print: Fix nvme show status function indentation errors
      util: Use argconfig commandline options pointer directly
      nvme: Fix format command function indentation errors
      util: Cleanup argconfig parse function
      nvme-print-json: Add json output status function
      nvme: Add support for NVMe-MI receive command
      nvme: Fix passthru command function indentation errors
      nvme: Use stdout for passthru and submit_io commands success messages
      nvme: Add support for NVMe-MI send command
      doc: Add eol-plp-failure-mode command documentation
      doc: Add clear-pcie-correctable-error-counters command documentation
      doc: Add nvme-mi-recv command documentation
      doc: Add nvme-mi-send command documentation
      doc: Documentations maintenance changes
      nvme: Fix format command to skip to reread NSID all block device
      nvme-printf: Add show error function for nvme list command json output
      util: Check output format json for json error message output
      nvme: Use nvme show error API to outptu stderr messages for json format
      nvme: Check validate output format err value instead of flags
      nvme: Fix indentation errors around nvme show error API
      fabrics: Fix linux kernel check patch errors and warnings
      fabrics: Return errno value as negative
      nvme-print-json: Use vasprintf instead of vsnprintf to allocate string
      nvme: Add nvme_show_perror to use instead of perror for json output
      nvme: Fix linux kernel check patch errors
      nvme: Fix linux kernel check patch warnings
      util: Delete unused argconfig help function
      util: Delete unused argconfig file types
      util: Delete unused argconfig subopts type
      util: Add argconfig parse value function
      nvme: Change sanitize command action option to use argconfig parse value
      util: Delete argconfig value length to calcurate instead
      util: Split to set argconfig option value
      util: Delete argconfig value type to add option value as va lists instead
      util: Delete unnecessary argconfig definitions OPT_VAL and CFG_VAL
      nvme: Fix get-feature command sel parameter check to allow value 8
      completions: Add json command option
      completions: Fix nvm-id-ns-lba-format command zsh definition
      completions: bash: Add id-domain command
      completions: bash: Delete unsupported id-iocs command options
      nvme: Set effects-log command csi option help message string
      Fix incorrect article 'an' as 'a' to use for descriptions and message
      completions: Add missing zsh commands descriptions
      doc: Correct nvme-show-hostnqn command NAME description
      completions: Add bash option values handling for sanitize command action
      completions: Add ocp commands bash completion
      completions: Add ocp commands zsh completion
      completions: Add ocp sub commands zsh completion
      completions: Add zsh option values handling for sanitize command action
      util: Fix suffix_si_parse to parse no decimal point but suffix value correctly
      nvme: Fix io-passthru command read metadata output
      nvme: Split passthru commands read output
      fabrics: Change NVMF_OPTS as NVMF_ARGS to fix linux kernel check patch error
      fabrics: Fix NVMF_ARGS macro indentation error
      nvme-print: Fix nvme_show_error() to call va_end() for json output format
      nvme-print-json: Add json output result function
      nvme-print: Add nvme show result function
      ocp: Add eol plp failure mode json outputs
      plugins/ocp: Fix ocp-nvme.c linux kernel check patch errors
      plugins/ocp: Fix ocp-nvme.c linux kernel check patch warnings
      plugins/ocp: Fix remaining files linux kernel check patch warnings
      plugin: Fix files linux kernel check patch errors and warnings
      plugins/toshiba: Fix linux kernel check patch errors and warnings
      util: Fix argconfig.c linux kernel check patch error and warnings
      util: Fix base64.c linux kernel check patch errors and warnings
      util: Fix crc32.c linux kernel check patch errors and warnings
      util: Fix types.c linux kernel check patch warnings
      plugin: Change version and usage names for linux kernel check patch warnings
      util: Move falltrhough feature check to meson.build
      plugins/wdc: Refactor wdc-nvme.c for linux kernel check patch errors and warnings
      plugins/wdc: Fix wdc-utils.c linux kernel check patch errors and warnings
      plugins/amzn: Fix amzn-nvme.c linux kernel check patch error and warnings
      plugins/dera: Fix dera-nvme.c linux kernel check patch errors and warnings
      plugins/fdb: Fix fdb.c linux kernel check patch warnings
      plugins/huawei: Fix huawei-nvme.c linux kernel check patch errors and warnings
      plugins/innogrit: Fix innogrit-nvme.c linux kernel check patch errors
      plugins/inspur: Fix inspur-nvme.c space indentation to tab indentation
      plugins/inspur: Fix inspur-nvme.c linux kernel check patch warnings
      plugins/intel: Fix intel-nvme.c linux kernel check patch errors and warnings
      plugins/memblaze: Fix memblaze-nvme.c space indentation to tab indentation
      plugins/memblaze: Fix memblaze-utils.h space indentation to tab indentation
      plugins/memblaze: Fix memblaze-nvme.c linux kernel check patch errors and warnings
      plugins/micron: Fix micron-nvme.c space indentation to tab indentation
      plugins/micron: Fix micron-nvme.c linux kernel check patch errors and warnings
      plugins/nbft: Fix nbft-plugin.c linux kernel check patch warnings
      plugins/netapp: Fix netapp-nvme.c linux kernel check patch errors and warnings
      plugins/scaleflux: Fix sfx-nvme.c linux kernel check patch errors and warnings
      plugins/seagate: Fix seagate-nvme.c linux kernel check patch warnings
      plugins/shannon: Fix shannon-nvme.c linux kernel check patch errors and warnings
      plugins/solidigm: Fix linux kernel check patch errors and warnings
      plugins/transcend: Fix transcend-nvme.c linux kernel check patch errors and warnings
      plugins/virtium: Fix virtium-nvme.c linux kernel check patch errors and warnings
      plugins/ymtc: Fix ymtc-nvme.c space indentation to tab indentation
      plugins/ymtc: Fix ymtc-nvme.c linux kernel check patch warning
      plugins/zns: Fix zns.c linux kernel check patch errors and warnings
      nvme: Fix quoted string split across lines to use quoted newline
      plugins/micron: Correct NULL pointer checking error
      fabrics: Add EADDRNOTAVAIL error mapping
      util: Use HAVE_NETDB instead of HAVE_LIBNSS
      json: Use memory block allocated by realloc() instead printbuf
      nvme: Add support for create-ns command endg-id option parameter
      util: Set LC_ALL=C as default if -H option is not used
      util: Delete unused CFG_BOOL argconfig type as duplicated with CFG_FLAG
      README: Correct hugetlbfs spelling error
      nvme-rpmb: Fix nvme_show_id_ctrl_rpmbs() definition error
      nvme: Revert passthru and submit_io to print status to stderr from stdout
      types: Add support for EGFEAT, Domain Identifier, TEGCAP and UEGCAP
      nvme-print: Fix endurance_log whitespace changes
      nvme-print: Add support for EGFEAT, Domain Identifier, TEGCAP and UEGCAP
      Fix incorrect article 'an' as 'a' to use for a description
      ioctl: Add debugging feature to show command outputs
      log: Add nvme root global variable to set for default output
      types: Define FLBAS MASK and SHIFT to use NVME_GET
      types: Use NVME_SET for status type mask to get status value
      util: Split argconfig output format json function to set and get
      util: Fix to set argconfig output format json option correctly
      nvme: Add verbose default option to show command debug output
      fabrics: Fix NVMF_ARGS macro to use parameter n correctly
      nvme: Change to use NVME_ARGS verbose default option from OPT_ARGS
      nvme: Add output-format default option instead of argconfig json option
      nvme-print-stdout: Add CAP.CPS and CAP.NSSS human readable outputs
      nvme-print-stdout: Fix to set stdout_list_item print function missed
      nvme-print-json: Change order list functions and set NULL if unimplemented
      nvme-print-binary: Set list function to NULL if unimplemented
      nvme-print: Add nvme_zns_finish_zone_list() API function
      nvme-print: Add nvme_zns_start_zone_list() API function
      nvme-print-json: Add directive print function
      nvme-print-stdout: Fix coding style errors
      nvme-print-json: Add id_iocs print function
      nvme-print-json: Combine variable definition and setting value
      nvme-print-json: Add lba_status print function
      nvme-print-json: Use json_print to print and free object
      nvme-print-json: Add select_result print function
      nvme-print-json: Add show_feature_fields print function
      nvme-print-json: Add TMPTH feature print function
      nvme-print-json: Add feature fields print functions
      nvme-print-json: Add host memory buffer and timestamp features print functions
      nvme: Change to use NVME_FLBAS_META_EXT() macro to check flbas value
      nvme: Change phy-rx-eom-log command to use NVME_ARGS instead
      nvme: Change short option -o and -v duplicated to upper case
      doc: Change short option -o and -v duplicated to upper case
      completions: Change short option -o and -v duplicated to upper case
      completions: Add nvme-mi-recv nad nvme-mi-send commands completions
      doc: Add nvme commands --output-format and --verbose options
      doc: Add id-ns-granularity command
      doc: Add list-secondary command
      doc: Add id-uuid command
      doc: Add virt-mgmt command
      nvme-print: Correct to print correct ascii character string length
      build: Add -std=c99 to CFLAGS for muon on CentOS 7
      nvme-print-json: Update formatting and codying style
      nvme-print-json: Add remaining feature fields print functions
      nvme: Fix get-feature command mixed stdout and json outputs
      nvme-print-json: Change d() output to use d_json()
      nvme: Replace get feature command stderr output to nvme_show_error()
      nvme-print-json: Add single_property printf function
      nvme-print-json: Add static "result" and "erorr" strings variables
      nvme-print-json: Print persistent_event_log no log data result correctly
      nvme-print-json: Replace effects_log_list print to use json_print()
      nvme-print-json: Remove unnecessary string newline code
      nvme-print-json: Split persistent_event_log print function
      nvme-print-json: Add root_add_result() to output result message
      nvme-print-json: Add json_zns_changed print function
      nvme-print-json: Unify json_list and jroot object names to root
      nvme-print-json: Add id_ctrl_rpmbs print function
      nvme-print-json: Add lba_range print function
      nvme-print-json: Add lba_status_info print function
      nvme-print-json: Add list_item print function
      nvme-print-json: Replace lba_status_log printf() to root_add_result()
      nvme-print-json: Update lba_status_log to use root_add_***() and obj_add_***()
      nvme-print-json: Update feature_show_fields_*** to use root/obj_add_***()
      nvme-print-json: Replase json_object_add_value_string() to obj/root_add_str()
      nvme-print-json: Replase json_object_add_value_uint64() to obj/root_add_uint64()
      nvme-print-json: Replase json_object_add_value_int() to obj/root_add_int()
      nvme-print-json: Replase json_object_add_value_uint() to obj/root_add_uint()
      nvme-print-json: Replase json_object_add_value_array() to obj/root_add_array()
      nvme-print-json: Replase json_array_add_value_object() to array_add_obj()
      nvme-print-json: Replase json_object_add_value_object() to obj/root_add_obj()
      nvme-print-json: Replase json_object_add_value_uint128() to obj/root_add_uint128()
      nvme-print-json: Replase json_array_add_value_string() to array_add_str()
      nvme-print-json: Combine duplicated json key and val string variables
      nvme-print-json: Add readable format cap, vs, cc, csts, nssr and crto registers
      nvme-print-json: Add remaining controller registers readable format
      nvme-print-json: Delete static const char string global variables
      nvme-print-json: Use r instead of root and use obj_add_***(r, ..., ...)
      nvme-print: Add nvme_show_error_status() to merge error message and status
      nvme-print-json: Add show_init/finish calls to report features in array
      nvme-print-json: Change to report error and data in array
      nvme-print-json: Change to report feature select in array
      nvme-print-json: Change to report status and message in array
      build: Add -std=c99 for bootstrapping muon
      build: remove the wrap feature dependency for muon
      build: Disable muon bestline for CentOS 7 build error
      types: Add controller properties CMBEBS, CMBSWTP and NSSD
      types: Add persistent event log reporting context definitions
      types: Add PEL reporting context port identifier type definitions
      Revert "nvme-print-json: remove obj_print helper"
      nvme: Add show-regs and get-property commands NSSD print outputs
      nvme-print-stdout: Use persistent event log RCI definitions
      nvme-print: Add PEL RCI port identifier type printf function
      nvme-print: Fix nvme_host_metadata_type_to_string() indentation errors
      nvme-print-stdout: Delete duplicated if condition checking line
      nvme-print-json, nvme-print-stdout: Use CHAR_BIT definition
      nvme-print, common: Fix for whitespace change
      nvme: Delete duplicated semicolon
      nvme: Delete unusual fallthrough for cases have no body
      nvme-print-stdout: Fix linux kernel check patch errors
      nvme-print-stdout: Check sscanf return value
      nvme-print-stdout: Fix channel configuration descriptors pointer
      doc: Fix documentation file mode 100755 to 100644
      doc: Fix get-property and set-property offset and value descriptions
      micron-nvme: Unuse stat() to check if strMainDirName exists
      doc: Add get-feature cdw11 and set-feature cdw12 parameters
      doc: Fix admin and io passthru cdw parameters description
      nvme-print-stdout: Use NVME_PMRCAP register definition to print
      nvme-print-stdout: Use NVME_PMRCTL_EN register definition to print
      nvme-print-stdout: Use NVME_PMRSTS register definitions to print
      nvme-print-stdout: Use NVME_PMREBS register definitions to print
      nvme-print-stdout: Use NVME_PMRSWTP register definitions to print
      nvme-print-stdout: Use NVME_PMRMSC register definitions to print
      types: Add PEL header additional information definitions
      types: Add boot partition information definitions
      types: Fix enum nvme_pel_rci documentation error
      types: Add PEL set feature event layout definitions
      ioctl: Move nvme_cmd_dword_fields definitions into header file
      nvme-print-stdout: Split line length exceeded 100 columns
      nvme-print-stdout: Fix LBA status DSLBA output as hexadecimal
      nvme-print-stdout: Change hexadecimal value 0x prefix to use %#x
      logging: Split to output ioctl latency by log info level
      nvme-print: Add PEL EHAI port identifier type printf function
      nvme-print-stdout: Use NVME_SET_FEAT_EVENT register definitions
      nvme-print-stdout: Use NVME_GET for FID supported and effects FSP
      nvme-print-stdout: Use NVME_GET for MI commands supported and effects CSP
      nvme-print-stdout: Use NVME_BOOT_PARTITION_INFO field definitions
      nvme: Delete unused nvme root scanned
      plugins/wdc: Whitespace changes
      plugins/wdc: Fix narrow index variable type in for loop to __u32
      types: Fix EOM header optional data present fields definition
      types: Add optional data present filed mask and shift definition
      nvme: Fix to cleanup free raw_secret memory allocated
      nvme-print-stdout: use FDP configuration attributes definitions
      nvme-print-stdout: use NVME_MAJOR and NVME_MINOR definitions
      nvme-print-stdout: use controller configuration definitions
      nvme-print-stdout: use CSTS definitions
      nvme-print-stdout: use admin queue attributes definitions
      types: Fix NVME_CSTS_SHST_MASK definition
      nvme-print: Use EOM optional data present macros changed
      nvme-print: Refactor CMBLOC and PMRSTS registers function
      nvme-print: Change PMRSZU string function as unit string
      nvme: Refactor mmap_registers to add writable parameter
      nvme-print: Add register print functions
      nvme-print-stdout: Add register print functions
      nvme-print-json: Add register print functions
      nvme: Add support for get-reg and set-reg commands
      ioctl: Add nvme_ns_mgmt_delete_timeout()
      types: Fix boot partition read offset (BPROF) mask value
      nvme-print-stdout: Use NVME_CMBLOC definitions
      nvme-print-stdout: Use NVME_CMBSZ definitions
      nvme-print-stdout: Use NVME_BPINFO definitions
      nvme-print-stdout: Use NVME_BPRSEL definitions
      types: Add NVME_CMBEBS property definitions
      types: Add CMBSWTP property definitions
      types: Add NVME_CMIC definitions
      nvme: Add fw-download warning message for FWUG alignment error
      nvme: Change fw-download xfer initialization to set 0
      types: Add enum nvme_csts documentation
      types: add controller status shutdown type (CSTS.ST) definition
      build: bump libnvme wrap
      nvme-print-stdout: Use NVME_CMBMSC/STS/EBS/SWTP definitions
      nvme-print: Use NVME_UNIT definitions
      types: Add enum nvme_unit/cmbebs/cmbswtp/flbas/cmic documentation
      types: add enum nvme_cap documentation
      types: add CAP.CPS and CAP.NSSS definitions
      test: add CSTS.ST, CAP.CPS and CAP.NSSS registers
      examples: fix mi-mctp build warning errors
      nvme-print-stdout: Use NVME_CMIC definitions
      nvme-print-stdout: Add CSTS.ST register stdout print
      types: Fix PMRWBM register name
      types: fix CRTO.CRIMT mask value definition
      types: add controller properties enum documentation
      types: add ASQ, ACQ and BPMBL controller properties definitions
      nvme-print-json: add obj_add_uint_0nx() function
      nvme-print-json: add obj_d() function
      nvme-print-json: add support set feature event in PEL
      nvme-print-json: add support telemetry log create event in PEL
      nvme-print-json: use NVME_BOOT_PARTITION_INFO field definitions
      nvme-print-json: use NVME_MAJOR and NVME_MINOR definitions
      nvme-print-json, nvme-print-stdout: add tertiary version number
      nvme-print-json: use controller configuration definitions
      nvme-print-stdout: use POWER_OF_TWO macro
      nvme-print-json: use CSTS definitions
      nvme-print-json: use admin queue attributes definitions
      nvme-print-stdout: fix ASQB, ACQB and BMBBA prints
      doc: add nvme connet ctrl-loss-tmo description
      nvme-print-json: Fix linux kernel check patch errors
      nvme-print-json: Fix channel configuration descriptors pointer
      nvme-print-stdout: Fix PMRWBM register name
      nvme-print-json: Use NVME_PMRxxx register definitions to print
      nvme-print-json: Fix LBA status DSLBA output as hexadecimal
      nvme: Add nvme_cfg global variable for NVME_ARGS default options
      nvme: Add nvme_cfg timeout default option
      nvme: Change NVME_DEFAULT_IOCTL_TIMEOUT to use nvme_cfg timeout
      nvme: Add support for delete-ns command timeout option
      doc: Add nvme commands timeout option
      completions: Fix bash-nvme-completion.sh indentation errors
      completions: Fix _nvme indentation errors
      completions: Change fw-activate command name to fw-commit
      completions: Add /dev/nvme argument missed
      completions: Add io-mgmt-recv/send commands zsh completions
      completions: Add timeout option zsh completions
      completions: Add timeout option bash completions
      types: add PEL vendor specific and TCG defined events definitions
      nvme-print: Print PEL reserved event string
      build: bump libnvme wrap
      nvme-print: add PEL vendor specific and TCG defined events strings
      nvme: Add smart-log command fahrenheit option
      doc: Add smart-log command fahrenheit option
      completions: add smart-log command fahrenheit option
      nvme-print-binary: Fix binary_smart_log indentation error
      nvme-print-stdout: Fix stdout_smart_log indentation error
      nvme-print: Fix nvme_show_smart_log indentation error
      nvme-print: Use 'unsigned int' instead of 'unsigned'
      nvme: add flags type nvme_print_flags_t
      nvme: change _cleanup_file_ to _cleanup_fd_
      nvme-print: check locale to use temperatures in degrees fahrenheit
      nvme: delete smart-log command fahrenheit option
      nvme: add get-feature and id-ctrl commands fahrenheit outputs
      nvme-print-json: add get-feature command fahrenheit temperature output
      nvme: use _cleanup_free_ type buffer for get-feature command
      nvme: extern NVME_ARGS macro definition
      ocp: use NVME_ARGS macro definition by eol-plp-failure-mode command
      nvme-rpmb: send RPMB_REQ_READ_RESULT for authentication key programming
      ocp: set UUID index for eol-plp-failure-mode command to get
      doc: fix ocp eol-plp-failure-mode select short option
      ocp: fix eol-plp-failure-mode command sel option value
      ocp: add get-error-injection command
      doc: add ocp get-error-injection command
      completions: add ocp get-error-injection command
      nvme-print-binary: add effects-log command output missed
      ccan: Add freed pointer checking to delete strset member
      ocp: add set-error-injection command
      doc: add ocp set-error-injection command
      completions: add ocp set-error-injection command
      nvme: return -ENXIO value to open device if errno not set
      tree: fix nvme_read_config() to not set errno if return 0
      nvme-print: use LC_MEASUREMENT to check fahrenheit temperature
      nvme-print-stdout: use NVME_FEAT util definitions
      util: extern uint128_t_to_double() function
      logging: add print_info function
      nvme-print-stdout: add print_array function
      ocp: fix to set return value to get c9 log page data
      ocp: fix to return c9 log page data error to open file
      ocp: Change C9 function names to use c9 instead
      ocp: fix ocp-nvme.c coding style errors
      nvme-print-json: use _cleanup_free_
      nvme: use NVME_GET_FEATURES_SEL_SUPPORTED definition
      ocp: add get-enable-ieee1667-silo command
      ocp: add error recovery log page version 3
      ocp: add SMART / health information extended log page version 4
      nvme-print-json: extern json object add functions
      nvme: use NVME_CTRL_FNA definitions
      types: add NVME_CHECK() definition to check nvme register field value
      ocp: add support for hwcomp log page
      ocp: add hwcomp dummy definition
      ocp: add hwcomp log command comp-id option
      ocp: add hwcomp log command list option
      ocp: add hwcomp log json output
      doc: add ocp hardware-component-log command
      completions: add ocp hardware-component-log command
      ocp: split ocp-hwcomp log
      build: bump libnvme wrap
      nvme: use NVME_CHECK() to check get features select field value
      types: add NVME_VAL() definition
      types: add NVME_CTRL_FNA definitions to get field values
      ocp: fix to set log data pointer allocated
      ocp: include util/types.h to use nvme_uint128_t
      types: add NVME_CTRL_OAES_TTHR definition
      types: add NVME_CTRL_OAES get macro definitions
      nvme-print-stdout: use NVME_CTRL_OAES definitions
      nvme: use NVME_GET_FEATURES_SEL definitions
      nvme: separate get NVME_GET_FEATURES_SEL_CHANGED definition
      doc: add get-feature command changed option
      completions: add get-feature command changed option
      nvme-print: fix error information log page endianness error
      nvme: fix to convert metadata size to native byte order
      ocp-print: move json code into separate files
      plugins: update meson.build file to always build ocp plugin
      ocp: split ocp-fw-activation-history print codes
      ocp: split smart extended log print codes
      ocp: move ocp telemetry log print function into ocp-print
      ocp: split latency monitor log print codes
      ocp: split unsupported requirement log print codes
      ocp: split error recovery log print codes
      ocp: split device capabilities log print codes
      ocp: split telemetry string log print codes
      ocp: split TCG configuration log print codes
      ocp: build ocp-nvme.c and ocp-telemetry-decode.c without json
      ocp: fix ocp-nvme.c indentation errors
      ocp: fix ocp-print-stdout.c indentation error
      ocp: remove callback function cast
      ocp: combine to use GUID length definitions
      types: add NVMe 2.1 get log page LIDs
      types: add struct nvme_id_ctrl_nvm ver and lbamqf member variables
      ocp: fix firmware activation history entry endian
      ocp: fix TCG configuration log endian
      ocp: fix latency monitoring data structure entry endian
      opc: fix hardware component descriptions bytes number
      types: add NVME_ID_CTRL_NVM_LBAMQF definitions
      ocp: set UUID index to get hwcomp log
      build: change muon setup command and parameter
      nvme-print-stdout: add nvm-id-ctrl command VER and LBAMQF fields
      ocp: set UUID index to get extended smart log
      ocp: delete internal-log command telemetry type none value definition
      ocp: update internal-log command telemetry type description
      plugins: build plugins not depended on json without json
      nvme-wrap: add nvme_cli_set_features() API function
      ocp: add ocp-types.h file for OCP requirements definitions
      ocp: add set-enable-ieee1667-silo command
      nvme: disable output-format option json value without json-c
      amzn: enable amzn-nvme.c build without json-c dependencies checking
      amzn: use PRIu64 printf format string instead of llu
      dapustor: enable dapustor-nvme.c build without json-c dependencies checkin
      dell: build plugin not depended on json without json
      fdp: build plugin not depended on json without json
      huawei: enable huawei-nvme.c build without json-c dependencies checking
      intel: enable intel-nvme.c build without json-c dependencies checking
      micron: enable micron-nvme.c build without json-c dependencies checking
      ocp: add ocp_get_log_simple() to set UUID index
      amzn: avoid sprinkling ifdefs and use flags
      plugins: introduce OPT_FLAG_JSON for command option json
      nbft: enable nbft-plugin.c build without json-c dependencies checking
      netapp: enable netapp-nvme.c build without json-c dependencies checking
      nvidia: build plugin not depended on json without json
      types: fix lm data field unsigned values to little endian
      types: error information log entry status field definitions
      scaleflux: use PRIu64 printf format string instead of llu
      scaleflux: enable sfx-nvme.c build without json-c dependencies checking
      seagate: enable seagate-nvme.c build without json-c dependencies checking
      ssstc: build plugin not depended on json without json
      wdc: enable wdc-nvme.c build without json-c dependencies checking
      util: cast to use empty function json_object_array_add parameter k
      micron: avoid sprinkling ifdefs
      intel: avoid sprinkling ifdefs
      netapp: avoid sprinkling ifdefs
      dapustor: avoid sprinkling ifdefs
      util: clean up json.h file
      types: add NVMe 2.1 identify power state descriptor fields
      nvme-print-json: update register print code to use libnvme definition
      nvme-print-json: update id-ctrl print code to use libnvme definition
      nvme: fix to use NVME_VAL() for CQ entry status field filter
      nvme-print: move obj_add_* definitions into util/json.h
      ocp: use struct nvme_timestamp type for FAHE-5 timestamp field
      ocp: remove unnecessary 64 bits mask
      ocp-print: use int48_to_long() to print 48 bits values
      util: introduce int56_to_long() type conversion helper
      ocp: add ocp dssd log id and feature id definitions
      ocp: fix to check hwcomp log size if valid
      ocp: change hwcomp log size variable name to log_bytes
      nvme-print: add NVMe 2.1 get log page LIDs string
      types: Add NVMe 2.1 feature ID definitions
      types: add NVMe 2.1 admin command opcode definitions
      types: add NVMe 2.1 identify command CNS definitions
      ioctl: add nvme_get_endgid_log()
      ioctl: add nvme_get_log_rotational_media_info()
      ioctl: add nvme_get_log_dispersed_ns_participating_nss()
      ioctl: add nvme_get_log_mgmt_addr_list()
      ioctl: add nvme_get_log_reachability_groups()
      ioctl: add nvme_get_log_reachability_associations()
      ioctl: add nvme_get_log_changed_alloc_ns_list()
      ioctl: add nvme_get_log_host_discover()
      ioctl: add nvme_get_log_ave_discover()
      ioctl: add nvme_get_log_pull_model_ddc_req()
      types: add NVME_FEAT_FDPE_*** definitions
      build: bump libnvme wrap
      nvme-print: add NVMe 2.1 get and set features FIDs string
      nvme-print-stdout: fix to print PEL set feature event FDP events
      nvme-print-stdout: use libnvme FDP events feature definitions
      nvme-print-stdout: split PEL set feature event function
      nvme-print-stdout: split PEL functions
      nvme-print: add NVMe 2.1 admin commands strings
      types: add I/O command fabric commands opcode definition
      types: fix enum nvme_psd definitions indentation errors
      types: add spinup control and pls features definition
      mi: add nvme_mi_admin_get_log_mgmt_addr_list()
      types: move STR_LEN definition from json.h
      nvme-print-stdout: add NVMe 2.1 identify power state descriptor fields
      nvme-print-json: add NVMe 2.1 identify power state descriptor fields
      build: bump libnvme wrap
      nvme: add mgmt-addr-list-log command
      nvme-print-json: add json_mgmt_addr_list_log()
      nvme-print-binary: add binary_mgmt_addr_list_log()
      doc: fix ocp-hardware-component-log documentation errors
      completions: fix ocp hardware-component-log zsh completion
      completions: add mgmt-addr-list-log command
      doc: add mgmt-addr-list-log command
      nvme-print-stdout: add get feature pls mode print
      nvme-print-json: add get feature pls mode print
      nvme-print-stdout: use NVME_CTRL_OACS definitions
      types: add NVME_CTRL_OACS definitions
      nvme: add NS management commands error message output
      argconfig: add argconfig_get_value()
      nvme: use blkdev for direct if namespace-id specified
      nvme: add flush command chardev handle error message
      tests: correct to check blkdev for NS attached
      tests: add blkdev checking after NS creation
      tests: add verbose options for NS management commands
      nvme: add rotational-media-info-log command
      Revert "tests: add blkdev checking after NS creation"
      mi: fix indentation errors
      ioctl: add libnvme-mi NVMe 2.1 log page APIs
      completions: add rotational-media-info-log command
      doc: add rotational-media-info-log command
      nvme: change attach-ns to error out if wrong device given
      ocp: fix to free hwcomp log desc memory allocated
      build: bump libnvme wrap
      nvme-wrap: use rotational media information log libnvme-mi API
      nvme-wrap: handle get log rotational media info correctly
      nvme: add NVMe 2.1 changed-alloc-ns-list-log command
      doc: add changed-alloc-ns-list-log command
      completions: fix mgmt-addr-list-log command
      completions: add changed-alloc-ns-list-log command
      nvme: add dispersed-ns-participating-nss-log command
      doc: add dispersed-ns-participating-nss-log command
      completions: add dispersed-ns-participating-nss-log command
      completions: add and fix io-mgmt-recv and io-mgmt-send commands
      nvme: add reachability-groups-log command
      doc: add reachability-groups-log command
      completions: add reachability-groups-log command
      ioctl: fix nvme_get_log_reachability_groups() parameters order
      types: fix nvme_reachability_association_desc member variable name
      nvme: fix reachability-groups-log command perror message
      mi: fix nvme_mi_admin_get_log_reachability_groups() parameters order
      build: bump libnvme wrap
      nvme-wrap: do_admin_op() get_log_reachability_groups parameters order
      nvme: add reachability-associations-log command
      doc: add reachability-associations-log command
      completions: add reachability-associations-log command
      nvme-print-binary: fix to output reachability associations log length
      nvme-print-binary: fix to output reachability groups log length
      nvme-print-binary: fix to output dispersed ns participating nss log length
      nvme-print-binary: fix to output phy rx eom log length
      nvme-wrap: fix get_log_reachability_associations parameters order
      libnvme: export nvmf_exat_ptr_next
      build: bump libnvme wrap
      nvme: add host-discovery-log command
      completions: fix zsh completions array parameter names
      completions: add host-discovery-log command
      doc: add host-discovery-log command
      nvme-print-json: delete json_host_discovery_log printf error code
      nvme: add ave-discovery-log command
      doc: add ave-discovery-log command
      completions: add ave-discovery-log command
      types: add SLM and CP command set indicator values
      nvme: fix ave-discovery-log command LID setting
      nvme: add pull-model-ddc-req-log command
      doc: add pull-model-ddr-req-log command
      completions: add pull-model-ddc-req-log command
      plugins: move meson.build solidigm-nvme.c into solidigm/meson.build
      plugins: sort subdir list as alphabetical order
      ocp: replace no-uuid option help string to use no_uuid variable
      nvme-print-json: set allocation error string directly
      nvme-print: add nvme_show_perror() variable number arguments
      plugins: add NVMe feature extension
      nvme-print: use allocation error string variable
      nvme: fix to set nvme_io_args reftag value
      types: add performance attribute structures
      types: add performance characteristics feature access values
      util: add performance characteristics feature decode function
      types: add performance characteristics attribute type values
      types: add performance characteristics attribute definitions
      util: add performance characteristic feature length
      build: bump libnvme wrap
      nvme: add performance characteristic feature output
      nvme-print-json: add performance characteristic feature output
      feat: add perf-characteristics command
      plugin: translate -h into commands
      feat: add hctm command
      nvme: add dry-run NVME_ARGS default option
      util: add FDP events feature length
      mi: add nvme_mi_submit entry and exit weak functions
      nvme: add general_help str parameter to filter sub-commands
      types: add temperature threshold feature TMPTHH field
      ioctl: add temperature threshold TMPSEL and THSEL parameters to get
      feat: combine get functions
      nvme: delete host identifier feature length checking
      nvme: make --opcode argument mandatory
      doc: add opcode description as mandatory
      feat: add FEAT_ARGS to use instead of NVME_ARGS
      nvme: add output-format-version option
      nvme: add dir-send command human-readable deprecated help text
      feat: add timestamp command
      feat: add temp-thresh command
      feat: fix to set perfc feature save argument correctly
      doc: update dir-send command documentation on -H
      build: delete docs=disabled muon build option
      logging: add nvme_mi_submit entry and exit functions
      sighdl: include stddef header file for NULL definition
      nvme-print: add show_key_value print_ops
      nvme: output NS management command result by json
      tests: validate create-ns command nsid json output
      nvme-print-json: reverse pel power on reset parameter order error
      examples: add explicit pthread dependency to meson
      wdc: fix muon build warning
      util: add json_object_add_string() function
      nvme-print-json: output actual lbaf data size for verbose mode
      nvme: output copy command success message for json format
      nvme-print-json: count json_show_init() and json_show_finish() calls
      nvme: change get_dev() to call nvme_show_init() for debug log level
      logging: output command and latency debug for json format
      wdc: use HAVE_TM_GMTOFF meson configuration variable
      nvme: change NS management status message as error
      types: add SMART / health information CW shift and mask values
      feat: add arbitration command
      nvme-print-stdout: add format command relatives prints
      doc: add nvme list namespace usage sizes description
      nvme-print-stdout: add name space usage binary suffix verbose print
      nvme: output nvme_alloc_huge() error message
      nvme: add get-log command symbolic names
      doc: add get-log command symbolic names
      nvme: add get and set feature commands symbolic names
      doc: add get and set feature commands symbolic names
      feat: add volatile-wc command
      nvme-print-stdout: add get log command verbose outputs
      nvme-print-stdout: add ANA, PEL and LBA status log verbose outputs
      ioctl: fix nvme_get_log_endurance_grp_evt() description
      nvme-print: fix stdout_endurance_group_event_agg_log() parameter
      nvme-print-stdout: add get log verbose outputs
      mi: add arbitration feature get function
      mi: add power management feature functions
      mi: correct mi admin feature functions map file
      build: bump libnvme wrap
      nvme-wrap: add power management and arbitration features functions
      nvme-print-stdout: add get-log command verbose outputs
      nvme-print: print both celsius and fahrenheit temperature values
      util: add table_init_with_columns() function
      util: allow table_add_columns() to set column width
      util: remove unnecessary row end padding print
      nvme-print-stdout: replace nvme simple list with generic table
      util: use switch case statements instead of repeated else if
      util: move to add final padding printf between each columns
      util: rename table_init() to table_create()
      zns: replace zns list with generic table
      nvme-print-stdout: fix detailed list row field width
      ioctl: fix get_log_partial to use uring for link type direct
      fabrics: fix nvme_get_adrfam function description parameter ctrl as c
      test: fix ioctl/logs.c -Wint-in-bool-context warnings
      ioctl: introduce nvme_identify helper functions
      ioctl: introduce get log helper functions
      ioctl: introduce get/set feature helper functions
      ioctl: rework nvme_dsm command
      nvme: rework nvme_io command
      nvme: rework nvme_copy command
      ioctl: refactor nvme_get_log_partial uring
      test/zns: fix kernel-doc-check warnings
      examples: fix mi-mctp.c kernel-doc-check warning
      examples: do not use "/**" opening comment mark
      test: fix mi.c kernel-doc-check warning
      linux: change nvme_transport_handle_get_name to return base name
      nvme: fix to call nvme_submit_io_passthru for I/O commands
      nvme: fix copy_cmd to get pif and sts values
      nvme: correct to check dry-run option
      types: add NVMe 2.3 opcode, fid and lid definitions
      nvme: add support for sanitize-ns command
      nvme: add sanitize ns specific status code string
      doc: correct id-ns vendor-specific short option
      nvme-print-stdout: change stdout_d() to not print equal line
      nvme-print-stdout: print equal line by stdout_d() for debug log level
      nvme-print: introduce nvme_show_err() helper function
      nvme: fix get_pi_info() handling for submit_io() error
      nvme-print: introduce nvme_show_cmd_err() helper function
      nvme: correct sanitize in progress definition name
      nvme: check chardev for resets and rescan
      nvme: Combine duplicated char dev error message string variables
      nvme: fix to add device open error message
      feat: add power-limit command
      feat: add power-thresh command
      util: fix argconfig_match_val() to check option value length
      nvme: add fw-commit command ca option values
      nvme: check fw-commit command ca value with definition
      nvme, doc: update fw-commit action help message and documentation
      libnvme: replace fprintf to nvme_msg
      libnvme/fabrics: fix inet_pton_with_scope function header description
      libnvme/fabrics: replace fprintf to nvme_msg
      libnvme/json: check write return value for build warnings
      libnvme/linux: allow /dev/ngX device as character device
      nvme: allow char dev filter for show-topology and list-subsys commands
      nvme-print-stdout: fix get feature 128-bit host id print
      nvme-print-stdout: delete stdout_feat_perfc fid parameter unused
      libnvme/ioctl: introduce ioctl_io64 nvme transport direct handle
      nvme-print-json: fix get feature 128-bit host id print
      nvme-print-stdout: fix to use le64_to_cpu for host id feature print
      nvme-print, ocp-print-json: fix to output alloc_error
      libnvme/test: add to test copy desc format 0h
      libnvme: rename copy_range and add new fields
      libnvme/cmds: change copy desc format tags to big-endian
      nvme: change default output format version to 2
      feat: add err-recovery command
      feat: add num-queues command
      nvme-print: fix nvme_show_cmd_err to pass admin parameter
      nvme-print: change nvme_show_cmd_err cmd parameter to opcode
      nvme: add get and set features specific status code string
      doc: add output-format-version option description
      nvme: change nvme_show_err parameters order
      nvme-print: change nvme_show_err parameter msg to fmt
      feat: use nvme_show_err() helper function
      tests: fix python TypeError errors
      nvme: handle get-feature output format in nvme-print layer
      nvme: use new error handling helper for get-feature error handling
      doc: add error-log command description for fields and ordering
      nvme: introdue error-log filter logic option arguments
      nvme-print-stdout: fix error-log endian errors
      nvme-print-stdout: fix error-log indentation errors
      nvme-print-json: add to print error-log fields missed
      nvme-print-json: fix error-log checkpatch warnings
      nvme-print: use error-log STS fields API macros
      doc: introdue error-log filter logic option arguments
      completions: introdue error-log filter logic option arguments
      nvme-types-base: rename nvme_cmd_get_log_telemetry_host_lsp
      nvme: use #pragma once to reduce header file #ifndef code
      build: use fallthrough attribute instead of __fallthrough__
      build: use NVME_ prefix for HAVE_FOO defines
      nvme-print: fix LBA range type 0h as general purpose
      nvme: call nvme_show_finish by closing transport handle
      feat: sort feat commands list by FID ordering
      nvme: use DSM max ranges macro definition
      nvme: add support for sanitize wait option
      nvme: add support for sanitize repeat option
      nvme-types-base: add sanicap vers and nvers definitions
      nvme: add support for sanitize sanicap verification
      doc: add sanitize command wait and repeat options
      completions: add sanitize command wait and repeat options
      logging: add data and metadata dump to show command
      logging: add log level debug verbose
      util: add argconfig hidden parameter
      nvme: drop deprecated human-readable option
      doc: remove human-readable option
      completions: remove human-readable option
      tests: replace human-readable option to verbose option
      util: replace to check human-readable option to verbose option
      feat: use command line args verbose setting to show feature
      fabrics: make uuid_from_dmi_entries more robust
      fabrics: split uuid_from_dmi_entries file read function

Tomas Bzatek (93):
      ioctl: Fix NVME_LOG_CDW10_NUMDL_MASK
      Docs strings updates
      build: Include libnvme.pc in the default make target
      util: Add nvme_status_to_string()
      types: Add new status codes
      util: Add strings for new status codes
      build: Fix build without json-c
      types: Device self-test doc strings update
      types: Fix a typo in the NVME_FORMAT_MSET_EXTENEDED constant
      types: Doc strings update for Sanitize and Format operations
      build: Change library version to be a valid number
      types: Fabrics doc strings updates
      fabrics: Don't include trailing newline in nvmf_hostnqn_generate()
      tree: Handle NULL hostid in nvme_lookup_host()
      docs: Fix a typo in README.md
      types: TP8013 and TP8014 doc strings updates
      tree: nvme_configure_ctrl(): Set errno to zero on success
      tree: Clarify NULL return values from nvme_get_attr()
      fabrics: Add missing break in a switch
      fabrics: Fix leaking ctrl in nvmf_connect_disc_entry()
      tree: Avoid dereferencing nvme_subsystem_t before its check for NULL
      tree: Fix leaking 'name' in nvme_subsystem_lookup_namespace()
      tree: Fix subsystem initialization in nvme_scan_ctrl()
      tree: Handle NULL subsysname in nvme_scan_ctrl()
      fabrics: Fix build_options() return values
      fabrics: Fix uuid_from_dmi_entries() read buffer initialization
      tree: Fix leaking struct nvme_ns.generic_name
      build: Fix nss code snippet includes
      nbft: Move added symbols to LIBNVME_1_5
      nbft: Add a simple unit test
      nbft: Fix nbft_ssns_flags endianness test
      nbft: Parse the {HOSTID,HOSTNQN}_CONFIGURED flags
      util: Introduce alloc helper with alignment support
      tree: Allocate aligned payloads for ns scan
      linux: Allocate aligned payloads for id_ctrl and id_ns calls
      fabrics: Allocate aligned payloads for id_ctrl and discovery log calls
      tree: Fix clearing application strings
      doc: Fix nvme-connect manpage --application option string
      fabrics: Explicitly initialize auto-cleanup variables
      linux: Explicitly initialize auto-cleanup variables
      tree: Explicitly initialize auto-cleanup variables
      util: Explicitly initialize auto-cleanup variables
      nbft: Fix (struct nbft_info_subsystem_ns).num_hfis off-by-one
      tests: Fix diffs output for duplicate HFI entries
      tests: Add sample NBFT table from Dell PowerEdge R760
      tests: Add sample NBFT table from Dell PowerEdge R660
      linux: Explicitly initialize auto-cleanup variables
      log: Introduce nvme_get_logging_level()
      log: Respect DEFAULT_LOGLEVEL on uninitialized logging
      doc: Document the NBFT API
      nbft: Add SSNS 'unavailable' flag
      nbft: Add SSNS 'discovered' flag
      tests: Adapt to added NBFT SSNS flags
      tests: Add complex NBFT table from Dell R660
      nbft: Whitespace fixes
      json: Fix uninitialized variables
      build: Switch default meson buildtype to 'debugoptimized'
      nvme-print-json: Fix uninitialized variable
      nvme-print-stdout: Fix uninitialized variable
      plugins/sed: Fix uninitialized variable
      plugins/nbft: Fix uninitialized variables
      nbft: Fix uninitialized variable
      plugins/nbft: Print the new SSNS flags
      plugins/nbft: Implement verbose logging
      nbft: Fix 'verbose' argument type
      nbft: Silence connection failures for unavailable SSNS
      nbft: Pause logging for expected connection failures
      nbft: Include SSNS index in error messages
      build: Switch default meson buildtype to 'debugoptimized'
      nbft: Refactor connection attempt out
      nbft: Fix scandir() error check
      tests: Add sample NBFT table with mpath IPv4+IPv6 discovery
      util: Add string constant for ENVME_CONNECT_IGNORED
      linux: Fix uninitialized variables
      plugins/nbft: Use default library logging
      fabrics: Introduce simple URI parser
      tests: Add uriparser tests
      fabrics: Unescape URI elements
      fabrics: Make some symbols public
      util/cleanup: Add cleanup for struct nvme_fabrics_uri
      nbft: Perform actual discovery
      nbft: Skip SSNS records pointing to well-known discovery NQN
      nbft: Reuse existing discovery controller
      linux: Remove the use of OpenSSL Engine API
      nbft: Report proper error codes from discover_from_nbft()
      tests: Add sample NBFT table with empty HFI ipv6 address
      tests: Add an empty NBFT table
      libnvme/tests: Fix a libvnme typo
      libnvme/mi: Fix a libvnme typo
      nvme-types-nbft: Update to Boot Specification rev. 1.3
      nbft: Extend the parser for Boot Specification rev. 1.3
      nbft: Use original flags instead of individual bool members
      nbft: Add Security Profile Descriptor API

Tomas Winkler (3):
      wdc: add wdc_is_zn350() wrapper
      wdc: make char pointer arguments and variables const where appropriate
      wdc: use libnvme's nvme_uuid_find() for UUID lookup

Tomasz Zawadzki (1):
      plugins/spdk: plugin to list SPDK controllers

TotalCaesar659 (1):
      Update URLs to HTTPS

Umer Saleem (4):
      tree: Add PCI physical slot number for controller
      libnvme.wrap: Bump to 42ac453
      nvme-print-stdout: Print PCI physical slot number for controller
      nvme-print-json: Print PCI pysical slot number for controller

Vasuki Manikarnike (1):
      udev: Add custom udev rules for HPE Alletra Storage

Vigneshwaran Saravanan (9):
      plugins/ocp: Added ocp unsupported requirements log page
      plugin/ocp_fid_c6h:Added the ocp C6h feature api Reviewed-by: Karthik Balan karthik.b82@samsung.com, Arunpandian J arun.j@samsung.com Signed-off-by: Vigneshwaran Saravanan/SSD TS Dev /SSIR/Engineer/Samsung Electronics <s.vignesh@samsung.com>
      plugins/ocp:Added the ocp C6h feature api Reviewed-by: Karthik Balan karthik.b82@samsung.com, Arunpandian J arun.j@samsung.com Signed-off-by: Vigneshwaran Saravanan/SSD TS Dev /SSIR/Engineer/Samsung Electronics <s.vignesh@samsung.com>
      plugins/ocp: Add ocp TCG Configuration Log Page
      plugins/ocp: Update telemetry string log page (C9h)
      plugins/ocp: fix UAF when printing telemetry log
      plugins/ocp: Added OCP 2.6 telemetry support Updated the Telemetry Structure and Enum to support the OCP 2.6 spec
      plugin/ocp: Added the OCP Get Feature FID=C5h command api
      plugin/ocp: Added the OCP Get Feature FID=C8h command api

Vikash Kumar (1):
      nvme: allocate payload buffer in create-ns command

Vincent Fu (2):
      nvme-print-stdout: fix storage tag size label
      nvme-print: omit size of protection information

Vishal Pankaj Chandratreya (2):
      Changed 'Kelvin' to 'kelvin', as recommended by the BIPM.
      Made temperature readouts in line with the SI.

Warner Losh (7):
      sed_opal: Only build when we really have sed_opal headers
      meson.build: Fix spelling of sed-opal.h filename
      examples: Include sys/stat.h for S_I* constants
      ccan/endian.h: Only define __{BIG,LITTLE}_ENDIAN if undefined.
      solidigm: Eliminate <linux/limits.h>
      micron: Add missing newline
      wdc: On FreeBSD, get the timezone the same as with real glibc

Wei Hou (2):
      util/types: Move convert_ts to util/types
      util/types: Add generic spinner

Wen Xiong (4):
      libnvme: Add new events support in PEL
      ioctl: Set lsp to action in nvme_get_log_persistent_event
      plugins/ibm: Add IBM specific plugins code
      plugins/ibm: show persist events log

Wilfred Mallawa (1):
      nvme: fix security buffer allocation size

Xiaoyuan Zhang (6):
      nvme-print-stdout: fix persistent-event-log set feature event output
      plugins: Add a new DapuStor plugin and the smart-log-add command
      plugins/dapustor: dapustor smart-log-add update
      completions: add the zsh completion of the dapustor plugin
      plugins/dapustor: smart-log-add fix
      nvme-print: fix Arbitration Mechanism Supported

Yi Zhang (1):
      Fix common misspellings from codespell project

Zhen Wang (3):
      plugins/amzn: Enable namespace metrics for EC2 local storage
      plugins/amzn: Handle EC2 local storage controller devices
      amzn: Add interval polling for NVMe latency stats

chengjike (1):
      fix path->nentry bugs

cions (1):
      ioctl.h: Fix clang -Wc++11-narrowing error

da Cunha, Leonardo (11):
      plugins/ocp: Use network byte order for OCP UUID value
      plugins/solidigm: Add uuid index resolution
      plugins/solidigm: Fixes and clean-up of Telemetry parse code. Fixed parsing of 64 bit values. Fixed COD field name. Fixed compilation warnings when compiling for 32 bit. Added missing free(). Consolidated single entry function to telemetry parser. Consolidated use of integer types.
      plugin/solidigm: Added vs-internal-log command.
      plugins/solidigm: Formated log page directory table consistently with "nvme list" format.
      nvme: Fix retrieval of telemetry log up to specified data area.
      linux: Added functions to enable faster telemetry data retrieval. Moved telemetry data area support detection into separate function. Added possibility to modify data transfer chunk size. Enable telemetry extraction up to specified data area. Removed some printf() and perror().
      nvme: Fixed segmentation fault when getting host initiated telemetry
      plugins/solidigm: internal-logs Telemetry auto detect last data area. Faster telemetry retrieval using large buffers.
      plugins/solidigm: Added support for temperature statistics log page
      plugins/solidigm: Added OCP 2.0 vs-drive-info command.

dependabot[bot] (62):
      build(deps): bump codecov/codecov-action from 1 to 3
      build(deps): bump actions/setup-python from 1 to 3
      build(deps): bump actions/upload-artifact from 1 to 3
      build(deps): bump actions/checkout from 2 to 3
      build(deps): bump actions/setup-python from 3 to 4
      build(deps): bump actions/checkout from 2 to 3
      build(deps): bump actions/upload-artifact from 2 to 3
      build(deps): bump sand4rt/ftp-deployer from 1.4 to 1.7
      build(deps): bump actions/checkout from 3 to 4
      build(deps): bump actions/checkout from 3 to 4
      build(deps): bump actions/checkout from 3 to 4
      build(deps): bump actions/checkout from 3 to 4
      build(deps): bump actions/upload-artifact from 3 to 4
      build(deps): bump actions/download-artifact from 3 to 4
      build(deps): bump dawidd6/action-download-artifact from 2 to 3
      build(deps): bump github/codeql-action from 2 to 3
      build(deps): bump actions/upload-artifact from 3 to 4
      build(deps): bump codecov/codecov-action from 3 to 4
      build(deps): bump codecov/codecov-action from 3 to 4
      build(deps): bump sand4rt/ftp-deployer from 1.7 to 1.8
      build(deps): bump AppImageCrafters/build-appimage from 1.3 to 2
      build(deps): bump dawidd6/action-download-artifact from 3 to 5
      build(deps): bump dawidd6/action-download-artifact from 5 to 6
      build(deps): bump mosteo-actions/docker-run from 1 to 2
      build(deps): bump mosteo-actions/docker-run from 1 to 2
      build(deps): bump codecov/codecov-action from 4 to 5
      build(deps): bump codecov/codecov-action from 4 to 5
      build(deps): bump pypa/gh-action-pypi-publish@release/v1.5
      build(deps): Bump actions/download-artifact from 4 to 5
      build(deps): bump actions/download-artifact from 4 to 5
      build(deps): bump actions/checkout from 4 to 5
      build(deps): Bump actions/checkout from 4 to 5
      build(deps): Bump pypa/gh-action-pypi-publish in /.github/workflows
      build(deps): bump github/codeql-action from 3 to 4
      build(deps): Bump actions/upload-artifact from 4 to 5
      build(deps): Bump actions/download-artifact from 5 to 6
      build(deps): bump actions/upload-artifact from 4 to 5
      build(deps): bump actions/download-artifact from 5 to 6
      build(deps): bump actions/checkout from 5 to 6
      build(deps): bump actions/upload-artifact from 5 to 6
      build(deps): bump actions/download-artifact from 6 to 7
      build(deps): bump github/codeql-action from 4.32.4 to 4.32.5
      build(deps): bump actions/download-artifact from 7.0.0 to 8.0.0
      build(deps): bump actions/upload-artifact from 6.0.0 to 7.0.0
      build(deps): bump docker/setup-qemu-action from 3.7.0 to 4.0.0
      build(deps): bump docker/login-action from 3.7.0 to 4.0.0
      build(deps): bump github/codeql-action from 4.32.5 to 4.33.0
      build(deps): bump github/codeql-action from 4.33.0 to 4.34.1
      build(deps): bump codecov/codecov-action from 5.5.2 to 6.0.0
      build(deps): bump github/codeql-action from 4.34.1 to 4.35.1
      build(deps): bump pypa/gh-action-pypi-publish from 1.13.0 to 1.14.0
      build(deps): bump docker/login-action from 4.0.0 to 4.1.0
      build(deps): bump docker/setup-qemu-action from 4.0.0 to 4.1.0
      build(deps): bump github/codeql-action from 4.35.1 to 4.36.0
      build(deps): bump docker/login-action from 4.1.0 to 4.2.0
      build(deps): bump codecov/codecov-action from 6.0.0 to 7.0.0
      build(deps): bump msys2/setup-msys2 from 2.31.0 to 2.32.0
      build(deps): bump actions/checkout from 6.0.2 to 7.0.0
      build(deps): bump docker/setup-qemu-action from 4.1.0 to 4.2.0
      build(deps): bump github/codeql-action/analyze from 4.36.0 to 4.37.0
      build(deps): bump docker/login-action from 4.2.0 to 4.4.0
      build(deps): bump github/codeql-action/init from 4.36.0 to 4.37.0

duanhaoqiang (1):
      nvme: Enforce length to a multiple of 4 in get_log_page

g0l4 (1):
      nvme: fix ignored interruption in format command

hris Patterson (1):
      nvme-print-json: include vs for identify namespace

hsdhillo (4):
      plugins/solidigm: Added Marketing Name Log support for Solidigm.
      plugins/solidigm: Replace snprintf with asprintf
      plugins/solidigm: Telemetry null check json object
      plugins/solidigm: smart attribute C7 named dynamically, add desc for E7, E8

huahuang94 (1):
      plugin/dera: update dera smart-log-add command output

innogritkenny (3):
      plugins/innogrit: modify command opcode for eventlog and cdump
      plugins/innogrit: Add vendor command get-eventlog and get-cdump
      plugins/innogrit: modify for project tacoma

jaya.ganthan (1):
      plugin/ocp: Added implementation for 0xC1 log page

jeff-lien-sndk (32):
      wdc: Fix for get-drive-status wdc plugin command
      sndk: Add support for new PCI device id
      sndk: Add support for retrieving data area 4
      sndk: Add support for the Sandisk UUID
      linux:  Add functions to set and clear etdas bit
      nvme: Enable retrieving telemetry log data area 4
      sndk: Use libnvme functions to set/clear etdas bit
      ocp: Fixes to telemetry-string-log command
      ocp: Update/Fix Man page for telemetry-string-log command
      ocp: Fix telemetry string log json format parsing
      ocp: Add support for retrieving telemetry data area 4
      ocp: Update man page documentation for internal-log command
      ocp: Update completions for ocp internal-log and telemetry-string-log
      wdc: Fix SN861 capabilities in NVME-OF cases
      sndk: Add drive-resize support for SN861 Drives
      sndk: Support fabric attached SN861
      sndk: Fix SN861 drive-resize capability
      sndk: And support for new Sandisk devices
      sndk: Add plugin command support for SN-861
      plugins/sandisk:  Use Correct PCI Vendor ID for SNESSD1 Drives
      plugin/wdc: Fix UUID search for SN640 and SN655
      plugins/ocp: Prevent Seg Fault during Telemetry log Parsing
      ocp: Fix core dump during telemetry log decode
      sndk: Add support for additional UUID
      sndk: Add Clear Assert Capability to 2 Sandisk Drives
      sndk: vs-internal-log command fixes and enhancements
      ocp: handle C9 log page read fails
      sndk: avoid buffer overflow when reading file name
      id-ctrl: Add NVMe 2.3 id controller fields
      sndk: Add support for new Sandisk drives
      sndk: Add support for new Sandisk devices
      telemetry-log: Fix telemetry-log invalid argument error

jeff-lien-wdc (32):
      wdc: Add support for SN861 2nd pci device id
      wdc: Fix UUID index fallback mechanism
      wdc: Fix vs-smart-add-log Command for SN650 and SN655
      plugins/wdc: Plugin fixes and updates
      plugins/wdc: Add Debug Log Collection Support
      wdc: Add support for the get-drive-status command to SN861
      ocp: Fix timestamp displayed by fw-activate-history command
      wdc:  Fix timestamp displayed by vs-firmware-activate-history command
      wdc: Review changes and build fixes
      wdc: Fix compiler warning.
      ocp: OCP 2.5 Telemetry DA 1 and 2 Parsing Updates
      ocp: Update Plugin Version
      wdc: Update and refactor the C0h log page parsing
      wdc: OCP 2.5 Log Page Updates
      wdc: Add Support for new SN-861 PCI device id
      Add Support for new SN655 PCI Device ID
      wdc: Add Support for SN5100S
      ocp: Fixes for OCP 2.5 Telemetry DA1 FIFO Event Parsing
      wdc: Fix for Reading WDC C2 Vendor Unique Log Page
      wdc:  Fixes for SNTMP Capabilities
      ocp: Fixes for OCP 2.5 Telemetry Stats Parsing
      ocp: Update ocp plugin version
      sandisk: Add sandisk plugin
      sndk: Add documentation for Sandisk plugin commands
      ocp: Fix print_formatted_var_size_str and json_add_formatted_var_size_str
      ocp: Fix Parsing of Statistics Snapshot FIFO Event
      wdc:  Fixed check for supported log pages
      wdc: Fix for vs-smart-add-log wdc plugin command
      wdc:  Add support for cu_smart-log command on SN861
      wdc: Add support for clear-assert-dump to SNTMP drives
      sndk: Add sndk cu-smart-log plugin command
      wdc: Fix uuid-index setting for WD 0xC2 log page

jinhua.huang (10):
      plugins/memblaze: Add smart-log-add and latency-feature functions
      nvme/plugins: fix mismatch operator
      plugins/memblaze: code-format on leading indent and align
      plugins/memblaze: code refactor on using cleanup_nvme_dev
      plugins/memblaze: code refactor on applying __packed on more structs
      plugins/memblaze: fix code mis-type error
      plugins/memblaze: add performance stats
      plugins/memblaze: fix a wrong id on smart-log-add
      plugins/memblaze: update smart-log-add-x ids
      plugins/memblaze: extract smart log add-x (0xCA) into separate file

junjin-reflect (1):
      nvme-rpmb: print error message when setting auth key fails

kdedow (9):
      plugins/ocp: SMART cloud log bug fixes.
      plugins/ocp: OCP 2.0 field updates for SMART cloud log
      plugins/ocp: Move SMART cloud log methods to separate file for reusability
      plugins/ocp: Add SMART cloud log to solidigm plugin
      plugins/ocp: Add firmware activation history log to OCP plugin
      plugins/solidigm: Add firmware activation history log to Solidigm plugin
      solidigm: Add supported log pages log feature to Solidigm plugin
      solidigm: Changes to supported log pages feature requested by review
      solidigm: Reduce memory usage in supported log pages feature

kobyou (1):
      plugins/ssstc: add a new plugin for SSSTC driver

lebao (1):
      nvme-print-stdout: print frl1/2/3 values for zns id-ns

leonardo.da.cunha (6):
      plugins/solidigm: Added NLog support to Telemetry parsing. Telemetry Reason Identifier fields changed to start with lower case.
      plugins/solidigm: Added Identify controller VU extensions parsing.
      plugins/ocp: Reorganized clear feature code for better reuse
      plugins/solidigm: Added command to clear PCIe Correctable Error Counters according to OCP 2.0
      plugins/ocp: changed command clear-pcie-correctable-error-counters to match OCP 2.0 spec. Fixed some function name typos.
      plugins/solidigm: Added OCP 2.0 compatibility version command

letli (2):
      tests: mock io_uring_get_probe
      ioctl: get_log_page by nvme uring cmd

liuzhen (1):
      ocp-nvme: fix the error display of Hardware Component Log

mh2022-meta (1):
      Fixed latency_monitor_feature_enable to be 01h as per OCP spec v2.0

nick black (1):
      build: require meson 0.50.0+

orbisai0security (2):
      plugin: use snprintf for fixed-size formatting buffers
      nvme-pring: add buffer-length checks

paumr (2):
      doc: show where self-test results can be found
      doc: added commit conventions to contribution guidelines

psykose (1):
      fabrics: use '%' instead of SCOPE_DELIMITER

rick (2):
      types: add kv opcodes
      nvme-print: print KV command set page header

root (2):
      nvme-cli: nvme gen-hostnqn use partition UUID on IBM
      libnvme: core dump when running nvme persistent-event-log

sfindley102892 (1):
      ocp: Add Statistics Identifier String Table Size to JSON

shankara (3):
      nvme-print: Added missing logpage names in nvme_log_to_string function
      plugins/solidigm: log page name extraction using nvme_log_to_string function
      plugins/solidigm: Added re_sku_count smart atrribute

sunxing (1):
      nvme-print: Use attrs_info as key for Zone Attributes Information

thieule742 (1):
      types: Fix nvme_ns_id_desc packing

yjin (1):
      plugins/sfx: sfx-nvme add expand-cap & dump evtlog cmd

zerone (1):
      types: Update position of elbatm in struct nvme_copy_range{_f1}

zguo (1):
      list-ctrl: limit to JSON and normal output

zhangxiaoyuan (1):
      nvme: use argconfig_parse_seen to check conditions

наб (1):
      docs: nvme-id-doman: dom{ia => ai}n

丁剑 (1):
      log: high latency timestamp issue

胡玮文 (1):
      nvme: fix virtual_mgmt cntlid parsing order


Tested: Verified id-ctrl, get-feature, and set-feature work via MCTP on target hardware. Logs: https://paste.googleplex.com/4798663367983104
Fusion-Link: http://fusion2/ci/kokoro/prod%3Agbmc%2Ffirmware-build%2Ffirmware%2Fredacted_gbmc_platforms/activity/b56710df-5e93-4477-87b3-346fa5d67d38
Google-Bug-Id: 524301009, 538280251
Change-Id: I472a1065ac36a32d18ff9f541e2ad0ac4ba2c901
Signed-off-by: Guangzong Chen <guangzong@google.com>
TAG=agy
CONV=231941b8-bb00-4012-9013-a0a6fc44d387
2 files changed
tree: d945c043f0a219fbe012ef37cc1274d3f8ee09c5
  1. classes/
  2. conf/
  3. dynamic-layers/
  4. recipes-bsp/
  5. recipes-connectivity/
  6. recipes-core/
  7. recipes-devtools/
  8. recipes-extended/
  9. recipes-google/
  10. recipes-kernel/
  11. recipes-phosphor/
  12. recipes-support/
  13. recipes-tpm1/
  14. recipes-tpm2/
  15. LICENSE
  16. README.md
README.md

meta-gbmc-staging

This repository contains additions to the openbmc/meta-google layer that are not yet ready for OpenBMC inclusion.

How to use this layer

  1. Clone openbmc/openbmc from GitHub.
  2. Clone this layer from GitHub into a subdirectory of openbmc.