Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Change categories:
- Added
- Changed
- Deprecated
- Removed
- Fixed
- Security
[Unreleased]
[0.3.0] - 2023-06-23
Added
- Add encode/decode pldmMessagePollEvent data
- README: Add a section on working with libpldm
- pdr: Introduce remote_container_id and associated APIs
- pdr: Add APIs for creating and locating remote PDRs
- pdr: Add pldm_pdr_find_last_in_range()
- pdr: Add pldm_entity_association_pdr_add_from_node_with_record_handle()
- pdr: Add pldm_pdr_find_container_id_range_exclude()
Changed
include: Move installed transport.h under libpldm/
libpldm: Explicit deprecated, stable and testing ABI classes
meson: Reduce strength of oem-ibm requirements from enabled to allowed
The oem-ibm
feature is now enabled by the default meson configuration, for CI purposes. oem-ibm
is still disabled by default in the libpldm
bitbake recipe:
https://github.com/openbmc/openbmc/blob/master/meta-phosphor/recipes-phosphor/libpldm/libpldm_git.bb#L10
To disable oem-ibm
in your development builds, pass -Doem-ibm=disabled
when invoking meson setup
bios_table: Relax pldm_bios_table_string_entry_decode_string_check()
bios_table: Relax pldm_bios_table_attr_entry_enum_decode_pv_hdls_check()
Deprecated
bios_table: Deprecate APIs with arguments sanitized using assert()
C provides enough foot-guns without us encoding them into library APIs. Specifically, deprecate the following in favour of their *_check()
variants which ensure assertions won't fail or otherwise invoke UB:
- pldm_bios_table_string_entry_encode()
- pldm_bios_table_string_entry_decode_string()
- pldm_bios_table_attr_entry_enum_encode()
- pldm_bios_table_attr_entry_enum_decode_pv_num()
- pldm_bios_table_attr_entry_enum_decode_def_num()
- pldm_bios_table_attr_entry_enum_decode_pv_hdls()
- pldm_bios_table_attr_entry_string_encode()
- pldm_bios_table_attr_entry_string_decode_def_string_length()
Removed
- libpldm: Remove the requester-api option
Fixed
- requester: Make pldm_open() return existing fd
- transport: Prevent sticking in waiting for response
- transport: Match on response in pldm_transport_send_recv_msg()
- requester: Add check before accessing hdr in pldm_recv()
- bios_table: pldm_bios_table_attr_entry_string_info_check() NULL deref