11e1fd9acSwawryk# Deprecation 21e1fd9acSwawryk 366e0ed8eSTomasz Zawadzki## ABI and API Deprecation 49a387721STomasz Zawadzki 59a387721STomasz ZawadzkiThis document details the policy for maintaining stability of SPDK ABI and API. 69a387721STomasz Zawadzki 78d8fa905SKrzysztof KarasMajor ABI version can change at most once for each SPDK release. 870b16d44SJosh SorefABI versions are managed separately for each library and follow [Semantic Versioning](https://semver.org/). 99a387721STomasz Zawadzki 109a387721STomasz ZawadzkiAPI and ABI deprecation notices shall be posted in the next section. 119a387721STomasz ZawadzkiEach entry must describe what will be removed and can suggest the future use or alternative. 129a387721STomasz ZawadzkiSpecific future SPDK release for the removal must be provided. 139a387721STomasz ZawadzkiABI cannot be removed without providing deprecation notice for at least single SPDK release. 149a387721STomasz Zawadzki 15cec5d0acSJim HarrisDeprecated code paths must be registered with `SPDK_LOG_DEPRECATION_REGISTER()` and logged with 165b50d3e8SMike Gerdts`SPDK_LOG_DEPRECATED()`. The tag used with these macros will appear in the SPDK 175b50d3e8SMike Gerdtslog at the warn level when `SPDK_LOG_DEPRECATED()` is called, subject to rate limits. 185b50d3e8SMike GerdtsThe tags can be matched with the level 4 headers below. 195b50d3e8SMike Gerdts 2066e0ed8eSTomasz Zawadzki## Deprecation Notices 210f3f107dSShuhei Matsumoto 223a39d90bSJim Harris### gpt 233a39d90bSJim Harris 240f575d16STomasz Zawadzki#### `old_gpt_guid` 253a39d90bSJim Harris 263a39d90bSJim HarrisDeprecated the SPDK partition type GUID `7c5222bd-8f5d-4087-9c00-bf9843c7b58c`. Partitions of this 273a39d90bSJim Harristype have bdevs created that are one block less than the actual size of the partition. Existing 283a39d90bSJim Harrispartitions using the deprecated GUID can continue to use that GUID; support for the deprecated GUID 293a39d90bSJim Harriswill remain in SPDK indefinitely, and will continue to exhibit the off-by-one bug so that on-disk 303a39d90bSJim Harrismetadata layouts based on the incorrect size are not affected. 313a39d90bSJim Harris 323a39d90bSJim HarrisSee GitHub issue [2801](https://github.com/spdk/spdk/issues/2801) for additional details on the bug. 333a39d90bSJim Harris 343a39d90bSJim HarrisNew SPDK partition types should use GUID `6527994e-2c5a-4eec-9613-8f5944074e8b` which will create 353a39d90bSJim Harrisa bdev of the correct size. 362d590e74SSebastian Brzezinka 37da50ac95SKrzysztof Karas### rpc 38da50ac95SKrzysztof Karas 39da50ac95SKrzysztof Karas#### `spdk_rpc_listen` `spdk_rpc_accept` `spdk_rpc_close` 40da50ac95SKrzysztof Karas 41da50ac95SKrzysztof KarasThese functions are deprecated and will be removed in 24.09 release. Please use 42da50ac95SKrzysztof Karas`spdk_rpc_server_listen`, `spdk_rpc_server_accept` and `spdk_rpc_server_close` instead. 4338b1eaa4SJim Harris 4438b1eaa4SJim Harris### env 4538b1eaa4SJim Harris 46*00bbcea0SJim Harris#### `spdk_env_get_socket_id`, `spdk_pci_device_get_socket_id` 4738b1eaa4SJim Harris 48*00bbcea0SJim HarrisThese functions are deprecated and will be removed in 25.05 release. Please use 49*00bbcea0SJim Harris`spdk_env_get_numa_id` and `spdk_pci_device_get_numa_id` instead. 50