xref: /openbmc/libpldm/CHANGELOG.md (revision 387b10f6cd37746778baef7dcc1acd84409774f8)
1# Changelog
2
3All notable changes to this project will be documented in this file.
4
5The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6and this project adheres to
7[Semantic Versioning](https://semver.org/spec/v2.0.0.html).
8
9Change categories:
10
11- Added
12- Changed
13- Deprecated
14- Removed
15- Fixed
16- Security
17
18## [Unreleased]
19
20### Added
21
221. oem: meta: Add decode_oem_meta_file_io_write_req()
232. oem: meta: Add decode_oem_meta_file_io_read_req()
243. oem: meta: Add encode_oem_meta_file_io_read_resp()
254. pdr: Add pldm_entity_association_pdr_remove_contained_entity()
265. pdr: Add pldm_pdr_remove_fru_record_set_by_rsi()
276. pldm_entity_association_tree_copy_root_check()
287. oem: ibm: Add topology related state set and enum
29
308. base: Add size and buffer macros for struct pldm_msg
31
32   Together these macros reduce the need for use of reinterpret_cast<>() in C++.
33
34### Changed
35
361. dsp: bios_table: Null check for pldm_bios_table_iter_is_end()
37
38   pldm_bios_table_iter_is_end() now returns true if the provided argument is
39   NULL.
40
412. ABI break for pldm_pdr_find_record()
42
43   Register assignment for function parameters was changed with the removal of
44   some asserts in related implementations.
45
463. ABI break for pldm_pdr_get_next_record()
47
48   Register assignment for function parameters was changed with the removal of
49   some asserts in related implementations.
50
51### Deprecated
52
531. oem: meta: Deprecate `decode_oem_meta_file_io_req()`
54
55   Users should switch to `decode_oem_meta_file_io_write_req()`. Modify this
56   function to make it safer.
57
58   Modification:
59
60   - The meaning of the returned result.
61   - Change parameters from individual pointers to a struct.
62   - Check the length provided in the message won't exceed the buffer.
63
642. pldm_entity_association_tree_copy_root()
65
66   The implementation allocates, but gives no indication to the caller if an
67   allocation (and hence the copy) has failed. Users should migrate to
68   pldm_entity_association_tree_copy_root_check().
69
70### Removed
71
721. Deprecated functions with the `_check` suffix
73
74   - `get_fru_record_by_option_check()`
75   - `pldm_bios_table_append_pad_checksum_check()`
76   - `pldm_bios_table_attr_entry_enum_decode_def_num_check()`
77   - `pldm_bios_table_attr_entry_enum_decode_pv_hdls_check()`
78   - `pldm_bios_table_attr_entry_enum_decode_pv_num_check()`
79   - `pldm_bios_table_attr_entry_enum_encode_check()`
80   - `pldm_bios_table_attr_entry_integer_encode_check()`
81   - `pldm_bios_table_attr_entry_string_decode_def_string_length_check()`
82   - `pldm_bios_table_attr_entry_string_encode_check()`
83   - `pldm_bios_table_attr_value_entry_encode_enum_check()`
84   - `pldm_bios_table_attr_value_entry_encode_integer_check()`
85   - `pldm_bios_table_attr_value_entry_encode_string_check()`
86   - `pldm_bios_table_string_entry_decode_string_check()`
87   - `pldm_bios_table_string_entry_encode_check()`
88   - `pldm_entity_association_pdr_add_check()`
89   - `pldm_entity_association_pdr_add_from_node_check()`
90   - `pldm_pdr_add_check()`
91   - `pldm_pdr_add_fru_record_set_check()`
92
93### Fixed
94
951. dsp: bios_table: Null check for pldm_bios_table_iter_is_end()
96
97   Avoid a caller-controlled NULL pointer dereference in the library
98   implementation.
99
1002. platform: fix encode/decode_poll_for_platform_event_message_req
101
102   Update checking of `TransferOperationFlag` and `eventIDToAcknowledge` to
103   follow spec.
104
105## [0.9.1] - 2024-09-07
106
107### Changed
108
1091. Moved evolutions intended for v0.9.0 into place
110
111   Evolutions for the release have been moved from `evolutions/current` to
112   `evolutions/v0.9.1`. Library users can apply them to migrate off of
113   deprecated APIs.
114
115## [0.9.0] - 2024-09-07
116
117### Added
118
1191. base: Define macros for reserved TIDs
1202. pdr: Add pldm_entity_association_pdr_add_contained_entity_to_remote_pdr()
1213. pdr: Add pldm_entity_association_pdr_create_new()
1224. platform: Define macros for the responded transferflags
1235. pdr: Add pldm_pdr_get_terminus_handle() API
1246. pdr: Add related decode_entity_auxiliary_names_pdr() APIs
1257. fw_update: Add encode req & decode resp for get_downstream_fw_params
1268. platform: Add decode_pldm_platform_cper_event() API
1279. decode_get_pdr_repository_info_resp_safe()
128
129   Replaces decode_get_pdr_repository_info_resp() as discussed in the
130   `Deprecated` section below
131
13210. decode_get_pdr_resp_safe()
133
134    Replaces decode_get_pdr_resp() as discussed in the `Deprecated` section
135    below
136
137### Changed
138
1391. pdr: Stabilise related decode_entity_auxiliary_names_pdr() APIs
1402. platform: Rework decode/encode_pldm_message_poll_event_data() APIs
1413. platform: Stabilise decode_pldm_message_poll_event_data() APIs
1424. ABI break for decode_sensor_op_data()
143
144   Applying LIBPLDM_CC_NONNULL to the internal msgbuf APIs caused
145   abi-compliance-checker to flag a change in the register containing the
146   parameter `previous_op_state`.
147
1485. platform: Stabilise decode_pldm_platform_cper_event() API
1496. oem: meta: Stabilise decode_oem_meta_file_io_write_req() API
1507. oem: meta: Stabilise decode_oem_meta_file_io_read_req() API
1518. oem: meta: Stabilise encode_oem_meta_file_io_read_resp() API
152
153### Deprecated
154
1551. Rename and deprecate functions with the `_check` suffix
156
157   All library function return values always need to be checked. The `_check`
158   suffix is redundant, so remove it. Migration to the non-deprecated
159   equivalents without the `_check` suffix can be performed using
160   `scripts/ apply-renames` and the [clang-rename][] configurations under
161   `evolutions/`
162
163   The deprecated functions:
164
165   - `get_fru_record_by_option_check()`
166   - `pldm_bios_table_append_pad_checksum_check()`
167   - `pldm_bios_table_attr_entry_enum_decode_def_num_check()`
168   - `pldm_bios_table_attr_entry_enum_decode_pv_hdls_check()`
169   - `pldm_bios_table_attr_entry_enum_decode_pv_num_check()`
170   - `pldm_bios_table_attr_entry_enum_encode_check()`
171   - `pldm_bios_table_attr_entry_integer_encode_check()`
172   - `pldm_bios_table_attr_entry_string_decode_def_string_length_check()`
173   - `pldm_bios_table_attr_entry_string_encode_check()`
174   - `pldm_bios_table_attr_value_entry_encode_enum_check()`
175   - `pldm_bios_table_attr_value_entry_encode_integer_check()`
176   - `pldm_bios_table_attr_value_entry_encode_string_check()`
177   - `pldm_bios_table_string_entry_decode_string_check()`
178   - `pldm_bios_table_string_entry_encode_check()`
179   - `pldm_entity_association_pdr_add_check()`
180   - `pldm_entity_association_pdr_add_from_node_check()`
181   - `pldm_pdr_add_check()`
182   - `pldm_pdr_add_fru_record_set_check()`
183
184[clang-rename]: https://clang.llvm.org/extra/clang-rename.html
185
1862. `decode_get_pdr_repository_info_resp()`
187
188   Users should move to `decode_get_pdr_repository_info_resp_safe()` which
189   eliminates the opportunity for buffer overruns when extracting objects from
190   the message.
191
1923. `decode_get_pdr_resp()`
193
194   Users should move to `decode_get_pdr_resp_safe()` which reduces the
195   invocation tedium and improves memory safety over `decode_get_pdr_resp()`.
196
197### Removed
198
1991. IBM OEM header compatibility symlinks.
200
201   Anyone left using the deprecated paths can migrate using the coccinelle patch
202   at `evolutions/current/oem-ibm-header-compat.cocci`.
203
204### Fixed
205
2061. requester: instance-id: Release read lock on conflict
2072. pdr: Error propagation for
208   pldm_entity_association_pdr_add_from_node_with_record_handle()
209
210## [0.8.0] - 2024-05-23
211
212### Added
213
2141. base: Provide pldm_msg_hdr_correlate_response()
2152. transport: af-mctp: Add pldm_transport_af_mctp_bind()
2163. oem: ibm: Add chapdata file type support
2174. base: Added PLDM_SMBIOS & PLDM_RDE message types
2185. oem: meta: Add decode_oem_meta_file_io_req()
2196. state-set: Add all state set values to system power state enum as per DSP0249
2207. platform: Add alias members to the enum
221   pldm_pdr_repository_chg_event_change_record_event_data_operation.
222
223   enum constants with inconsistent names are deprecated with this change.
224   remove old inconsistent enum members after backward compatibility cleanup is
225   done
226
2278. oem-ibm: Alias `pldm_oem_ibm_fru_field_type` members as `PLDM_OEM_IBM_*`
2289. oem: ibm: Add Firmware Update Access Key(UAK) as a FRU field type
22910. platform: Add 3 PDR type enum for Redfish Device Enablement per
230    DSP0248_1.2.0
23111. state_set: Add CONNECTED and DISCONNECTED enum for Link State set
23212. entity: Add enum for Network Interface Connectors and Network Ports
233    Connection Types
23413. pdr: Add decode_numeric_effecter_pdr_data()
23514. oem: ibm: Support for the Real SAI entity id
23615. fw_update: Add encode req & decode resp for query_downstream_devices
23716. fw_update: Add encode req & decode resp for query_downstream_identifiers
23817. platform: Add support for GetStateEffecterStates command
239
240### Changed
241
2421. base: Stabilise pldm_msg_hdr_correlate_response()
2432. transport: af-mctp: Stabilise pldm_transport_af_mctp_bind()
2443. libpldm: Fix header use
2454. libpldm: More fixes for header use
2465. pdr: Stabilise pldm_pdr_find_last_in_range() API
2476. pdr: Stabilise pldm_entity_association_pdr_add_from_node_with_record_handle()
2487. oem: meta: stabilise decode_oem_meta_file_io_req()
2498. pdr: pldm_entity_association_tree_copy_root(): Document preconditions
250
251### Deprecated
252
2531. Deprecate `pldm_oem_ibm_fru_field_type` members that that are not prefixed
254   with `PLDM_OEM_IBM_`
255
256### Fixed
257
2581. libpldm: Rationalise the local and installed path of pldm.h
2592. pdr: Assign record_handle in entity_association_pdr_add_children()
2603. msgbuf: Require sensor data enum in pldm_msgbuf_extract_sensor_value()
2614. pdr: Remove redundant constant for minimum numeric sensor PDR length
2625. tests: oem: meta: Fix fileio use of msgbuf
263
264## [0.7.0] - 2023-08-29
265
266### Added
267
2681. state-set: Add new enum for Operational Fault Status enum
269
270### Changed
271
2721. transport: Match specified metadata in pldm_transport_send_recv_msg()
2732. transport: mctp-demux: Drop ABI annotation for internal symbols
2743. transport: Stabilise core transport and implementation APIs
275
276   This stabilisation covers the following headers and functions:
277
278   - libpldm/transport.h
279
280     - pldm_transport_poll()
281     - pldm_transport_send_msg()
282     - pldm_transport_recv_msg()
283     - pldm_transport_send_recv_msg()
284
285   - libpldm/transport/af-mctp.h
286
287     - pldm_transport_af_mctp_init()
288     - pldm_transport_af_mctp_destroy()
289     - pldm_transport_af_mctp_core()
290     - pldm_transport_af_mctp_init_pollfd()
291     - pldm_transport_af_mctp_map_tid()
292     - pldm_transport_af_mctp_unmap_tid()
293
294   - libpldm/transport/mctp-demux.h
295     - pldm_transport_mctp_demux_init()
296     - pldm_transport_mctp_demux_destroy()
297     - pldm_transport_mctp_demux_core()
298     - pldm_transport_mctp_demux_init_pollfd()
299     - pldm_transport_mctp_demux_map_tid()
300     - pldm_transport_mctp_demux_unmap_tid()
301
302### Deprecated
303
3041. All the existing "requester" APIs from `libpldm/pldm.h` (also known as
305   `libpldm/requester/pldm.h`):
306
307   - pldm_open()
308   - pldm_send_recv()
309   - pldm_send()
310   - pldm_recv()
311   - pldm_recv_any()
312   - pldm_close()
313
314   Users should migrate to the newer "transport" APIs instead.
315
316## Fixed
317
3181. tests: Exclude transport tests when build excludes testing ABIs
3192. abi: Capture deprecation of pldm_close()
320
321## [0.6.0] - 2023-08-22
322
323### Changed
324
3251. pdr: Avoid ID overflow in pldm_entity_association_tree_add_entity()
3262. meson: Apply `b_ndebug=if-release` by default
3273. pdr : Stabilize pldm_entity_association_tree_add_entity()
3284. pdr: Stabilise pldm_entity_association_tree_find_with_locality()
3295. pdr: Stabilize pldm_entity_node_get_remote_container_id()
3306. transport: af-mctp: Assign out-params on success in \*\_recv()
3317. transport: Generalise the pldm_transport_recv_msg() API
332
333### Removed
334
3351. pdr: Remove pldm_entity_association_pdr_add()
3362. state-set: Remove enum pldm_state_set_operational_fault_status_values
337
338### Fixed
339
3401. transport: register init_pollfd callback for af-mctp
3412. transport: fix init_pollfd function parameter
3423. transport: Fix doxygen and variables for send and recv functions
3434. transport: af-mctp: Ensure malloc() succeeds in \*\_recv()
344
345## [0.5.0] - 2023-08-09
346
347### Added
348
3491. pdr: Introduce pldm_entity_association_pdr_add_check()
350
351### Changed
352
3531. pdr: Allow record_handle to be NULL for pldm_pdr_add_check()
3542. transport: pldm_transport_poll(): Adjust return value semantics
3553. transport: free un-wanted responses in pldm_transport_send_recv_msg()
356
357### Deprecated
358
3591. state-set: Enum pldm_state_set_operational_fault_status_values
360
361   The enum operational_fault_status is defined with wrong members and will
362   eventually be replaced with the correct members. Any uses of
363   pldm_state_set_operational_fault_status_values members should move to
364   equivalent pldm_state_set_operational_stress_status_values members if needed.
365
3662. platform: Struct field name in fru_record_set PDR
367
368   References to entity_instance_num should be changed to entity_instance
369
3703. platform: Struct field name in numeric sensor value PDR
371
372   References to entity_instance_num should be changed to entity_instance
373
374### Removed
375
3761. bios_table: Remove pldm_bios_table_attr_entry_integer_encode_length()
3772. bios_table: Remove pldm_bios_table_attr_value_entry_encode_enum()
3783. bios_table: Remove pldm_bios_table_attr_value_entry_encode_string()
3794. bios_table: Remove pldm_bios_table_attr_value_entry_encode_integer()
3805. bios_table: Remove pldm_bios_table_append_pad_checksum()
3816. fru: Remove get_fru_record_by_option()
3827. pdr: Make is_present() static
3838. pdr: Remove pldm_pdr_add()
3849. pdr: Remove pldm_pdr_add_fru_record_set()
38510. pdr: Remove pldm_entity_association_pdr_add_from_node()
38611. pdr: Make find_entity_ref_in_tree() static
38712. pdr: Make entity_association_tree_find() static
388
389### Fixed
390
3911. requester: Fix response buffer cast in pldm_send_recv()
3922. pdr: Hoist record handle overflow test to avoid memory leak
3933. transport: Correct comparison in while loop condition
394
395## [0.4.0] - 2023-07-14
396
397### Added
398
3991. bios_table: Introduce pldm_bios_table_append_pad_checksum_check()
4002. fru: Introduce get_fru_record_by_option_check()
4013. pdr: Introduce pldm_entity_association_pdr_add_from_node_check()
4024. pdr: Introduce pldm_pdr_add_check()
4035. pdr: Introduce pldm_pdr_add_fru_record_set_check()
404
405### Changed
406
4071. requester: Mark pldm_close() as LIBPLDM_ABI_TESTING
4082. requester: Expose pldm_close() in header
4093. bios_table: pldm_bios_table_string_entry_encode_check(): Handle overflow
4104. bios_table: pldm_bios_table_iter_create(): Return NULL on failed alloc
4115. bios_table: pldm_bios_table_iter_next(): Invalid entry halts iteration
4126. pdr: pldm_pdr_init(): Return NULL on allocation failure
4137. pdr: pldm_pdr_destroy(): Exit early if repo is NULL
4148. pdr: Document preconditions for trivial accessor functions
415
416   A trivial accessor function is one that exposes properties of an object in a
417   way can't result in an error, beyond passing an invalid argument to the
418   function. For APIs meeting this definition we define a precondition that
419   struct pointers must point to valid objects to avoid polluting the function
420   prototypes. The following APIs now have this precondition explicitly defined:
421
422   - pldm_entity_extract()
423   - pldm_entity_get_parent()
424   - pldm_entity_is_exist_parent()
425   - pldm_entity_is_node_parent()
426   - pldm_is_current_parent_child
427   - pldm_is_empty_entity_assoc_tree()
428   - pldm_pdr_get_record_count()
429   - pldm_pdr_get_record_handle()
430   - pldm_pdr_get_repo_size()
431   - pldm_pdr_record_is_remote()
432
4339. pdr: pldm_entity_node_get_remote_container_id() is a trivial accessor
43410. pdr: pldm_pdr_fru_record_set_find_by_rsi(): Exit early on NULL arguments
43511. pdr: pldm_entity_association_tree_init(): Return NULL on failed alloc
43612. pdr: pldm_entity_association_tree_visit(): Document preconditions
43713. pdr: pldm_entity_association_tree_visit(): Exit early on failure
43814. pdr: pldm_entity_association_tree_destroy(): Exit early on bad argument
43915. pdr: pldm_entity_get_num_children(): Return zero for invalid arguments
44016. pdr: pldm_is_current_parent_child(): Return false for invalid arguments
44117. pdr: pldm_entity_association_pdr_add(): Exit early on bad arguments
44218. pdr: pldm_find_entity_ref_in_tree(): Exit early on bad arguments
44319. pdr: pldm_entity_association_tree_find(): Early exit on bad arguments
44420. pdr: pldm_entity_association_tree_destroy_root(): Exit early on bad arg
44521. pdr: pldm_entity_association_pdr_extract(): Early exit on bad arguments
44622. pdr: pldm_entity_association_pdr_extract(): Assign out params at exit
44723. pdr: pldm_entity_get_num_children(): Don't return invalid values
44824. libpldm: Lift or remove asserts where a subsequent check exists
449
450### Deprecated
451
4521. pldm_bios_table_attr_entry_integer_encode()
453
454   Migrate to pldm_bios_table_attr_entry_integer_encode_check()
455
4562. bios_table: Deprecate pldm_bios_table_attr_value_entry_encode_enum()
457
458   Migrate to pldm_bios_table_attr_value_entry_encode_enum_check()
459
4603. bios_table: Deprecate pldm_bios_table_attr_value_entry_encode_string()
461
462   Migrate to pldm_bios_table_attr_value_entry_encode_string_check()
463
4644. bios_table: Deprecate pldm_bios_table_attr_value_entry_encode_integer()
465
466   Migrate to pldm_bios_table_attr_value_entry_encode_integer_check()
467
4685. pdr: Deprecate is_present()
469
470   There should be no users of this symbol. If you are a user, you should figure
471   out how to stop, or get in touch. This symbol will be marked static the
472   release after deprecation.
473
4746. pdr: Deprecate find_entity_ref_in_tree()
475
476   There should be no users of this symbol. If you are a user, you should figure
477   out how to stop, or get in touch. This symbol will be marked static the
478   release after deprecation.
479
4807. pdr: Deprecate entity_association_tree_find()
481
482   There should be no users of this symbol. If you are a user, you should figure
483   out how to stop, or get in touch. This symbol will be marked static the
484   release after deprecation.
485
4868. bios_table: Stabilise pldm_bios_table_append_pad_checksum_check()
487
488   pldm_bios_table_append_pad_checksum() is deprecated by this change. Users of
489   pldm_bios_table_append_pad_checksum() should migrate to
490   pldm_bios_table_append_pad_checksum_check()
491
4929. fru: Stabilise get_fru_record_by_option_check()
493
494   get_fru_record_by_option() is deprecated by this change. Users of
495   get_fru_record_by_option() should migrate to get_fru_record_by_option_check()
496
49710. pdr: Stabilise pldm_entity_association_pdr_add_from_node_check()
498
499    pldm_entity_association_pdr_add_from_node() is deprecated by this change.
500    Users of pldm_entity_association_pdr_add_from_node() should migrate to
501    pldm_entity_association_pdr_add_from_node_check()
502
50311. pdr: Stabilise pldm_pdr_add_check()
504
505    pldm_pdr_add() is deprecated by this change. Users of pldm_pdr_add() should
506    migrate to pldm_pdr_add_check()
507
50812. pdr: Stabilise pldm_pdr_add_fru_record_set_check()
509
510    pldm_pdr_add_fru_record_set() is deprecated by this change. Users of
511    pldm_pdr_add_fru_record_set() should migrate to
512    pldm_pdr_add_fru_record_set_check()
513
514### Removed
515
5161. bios_table: Remove deprecated APIs sanitized by assert():
517
518   - pldm_bios_table_string_entry_encode()
519   - pldm_bios_table_string_entry_decode_string()
520   - pldm_bios_table_attr_entry_enum_encode()
521   - pldm_bios_table_attr_entry_enum_decode_pv_num()
522   - pldm_bios_table_attr_entry_enum_decode_def_num()
523   - pldm_bios_table_attr_entry_enum_decode_pv_hdls()
524   - pldm_bios_table_attr_entry_string_encode()
525   - pldm_bios_table_attr_entry_string_decode_def_string_length()
526
527### Fixed
528
5291. pdr: Return success for pldm_pdr_find_child_container_id_range_exclude() API
5302. pdr: Rework pldm_pdr_find_container_id_range_exclude() API
5313. transport: mctp-demux: Don't test socket for non-zero value
5324. requester: Return PLDM_REQUESTER_OPEN_FAIL from pldm_open() on error
5335. pdr: pldm_pdr_fru_record_set_find_by_rsi(): Document reality of return
5346. transport: Fix possible NULL ptr deref in pldm_socket_sndbuf_init()
5357. abi: Update to remove pldm_close() from reference dumps
5368. bios_table: Annotate pldm_bios_table_attr_value_entry_encode_integer()
537
538## [0.3.0] - 2023-06-23
539
540### Added
541
5421. Add encode/decode pldmMessagePollEvent data
5432. README: Add a section on working with libpldm
5443. pdr: Introduce remote_container_id and associated APIs
5454. pdr: Add APIs for creating and locating remote PDRs
5465. pdr: Add pldm_pdr_find_last_in_range()
5476. pdr: Add pldm_entity_association_pdr_add_from_node_with_record_handle()
5487. pdr: Add pldm_pdr_find_container_id_range_exclude()
549
550### Changed
551
5521. include: Move installed transport.h under libpldm/
5532. libpldm: Explicit deprecated, stable and testing ABI classes
5543. meson: Reduce strength of oem-ibm requirements from enabled to allowed
555
556   The `oem-ibm` feature is now enabled by the default meson configuration, for
557   CI purposes. `oem-ibm` is still disabled by default in the `libpldm` bitbake
558   recipe:
559
560   <https://github.com/openbmc/openbmc/blob/master/meta-phosphor/recipes-phosphor/libpldm/libpldm_git.bb#L10>
561
562   To disable `oem-ibm` in your development builds, pass `-Doem-ibm=disabled`
563   when invoking `meson setup`
564
5654. bios_table: Relax pldm_bios_table_string_entry_decode_string_check()
5665. bios_table: Relax pldm_bios_table_attr_entry_enum_decode_pv_hdls_check()
567
568### Deprecated
569
5701. bios_table: Deprecate APIs with arguments sanitized using assert()
571
572   C provides enough foot-guns without us encoding them into library APIs.
573   Specifically, deprecate the following in favour of their `*_check()` variants
574   which ensure assertions won't fail or otherwise invoke UB:
575
576   - pldm_bios_table_string_entry_encode()
577   - pldm_bios_table_string_entry_decode_string()
578   - pldm_bios_table_attr_entry_enum_encode()
579   - pldm_bios_table_attr_entry_enum_decode_pv_num()
580   - pldm_bios_table_attr_entry_enum_decode_def_num()
581   - pldm_bios_table_attr_entry_enum_decode_pv_hdls()
582   - pldm_bios_table_attr_entry_string_encode()
583   - pldm_bios_table_attr_entry_string_decode_def_string_length()
584
585### Removed
586
5871. libpldm: Remove the requester-api option
588
589### Fixed
590
5911. requester: Make pldm_open() return existing fd
5922. transport: Prevent sticking in waiting for response
5933. transport: Match on response in pldm_transport_send_recv_msg()
5944. requester: Add check before accessing hdr in pldm_recv()
5955. bios_table: pldm_bios_table_attr_entry_string_info_check() NULL deref
596