Pacemaker-3.0.1 (07 Aug 2025)
- 775 commits with 283 files changed, 11592 insertions(+), 7745 deletions(-)
Features added since Pacemaker-3.0.0
- daemons: Convert all daemons to support large IPC messages.
- daemons: Enable TLS support for Pacemaker Remote nodes.
- daemons: Set up X509 auth in based if enabled.
- libcib: Enable TLS certs for remote CIB operations.
- libcrmcommon: Add flags for multipart messages.
- libcrmcommon: Support large IPC messages and server events.
- liblrmd: Enable TLS support for Pacemaker Remote clients.
- libpacemaker: Reset scheduler object in
pcmk_simulate()
- libs: Log if a TLS certificate is close to expiration.
- sysconfig: Add env settings needed for X509 authentication.
- sysconfig: Document using certificates for remote nodes.
- tools: Deprecate
cibadmin --sync-call
Fixes since Pacemaker-3.0.0
- build: Various minor fixes to static analysis checks
- docs: Improve tables and indexing throughout documentation.
- build: Fix default pacemaker-remoted path on Fedora >= 42
- controller: avoid memory leak when updating join phase
- crmadmin: return error if DC is not elected
- libcib: Don't match element based on XPath matching an attribute
- libcib: Don't send
CRM_OP_REGISTER
fromcib_remote
client - libcrmcluster: prevent external callers from triggering assertion when connecting to cluster
- libcrmcluster: restore CPG header size compatibility
- libcrmcommon: Add retries on connect to avoid fatal errors
- libcrmcommon: Elements should never match if IDs differ
- libcrmcommon: provide a description for
pcmk_rc_no_dc
return code - libcrmcommon: Sort schema transformations on non-glibc systems
- libcrmservice: consider a monitor pending if LoadUnit receives no reply from systemd
- libpacemaker: Prevent CIB growth during
crm_simulate --profile
- libpacemaker: set fail-count to INFINITY for fatal failures
- libpe_status: consider parents of an unmanaged resource active on the node
- libpe_status: Make
cluster_status()
idempotent - pacemaker-attrd: make a peer learn our node name once it has joined
- pacemaker-attrd: prevent segfault if a peer leaves when its name is unknown yet
- pacemaker-attrd: remember names of peers from attribute update in case unknown
- scheduler: avoid memory leak in bundles
- scheduler: avoid memory leak when freeing node copies
- tools: Avoid crash in
crm_simulate --profile
- tools: validate
stonith_admin --timeout
value - various: Correctly detect completion of systemd start/stop actions
- xml: Ensure ACL permissions are valid after XSL transformations
- xml: Preserve ACL reference behavior for replaced constraints
Public API changes since Pacemaker-3.0.0
- fencer: Don't automatically pass nodeid as parameter
- libcrmcommon: add
pcmk_common_cleanup()
- libcrmcommon: add
pcmk_free_scheduler()
- libcrmcommon: add
pcmk_new_scheduler()
- libcrmcommon: add
pcmk_reset_scheduler()
- libcrmcommon: Deprecate
crm_foreach_xpath_result()
- libcrmcommon: Deprecate
crm_ipc_compressed.
- libcrmcommon: Deprecate dedupXpathResults()
- libcrmcommon: Deprecate freeXpathObject()
- libcrmcommon: Deprecate getXpathResult()
- libcrmcommon: Deprecate
get_xpath_object()
- libcrmcommon: Deprecate
max_size
parameter tomainloop_add_ipc_client.
- libcrmcommon: Deprecate numXpathResults()
- libcrmcommon: Deprecate pcmkXmlStr
- libcrmcommon: Deprecate
xml_accept_changes()
- libcrmcommon: Deprecate
xml_calculate_changes()
- libcrmcommon: Deprecate
xml_calculate_significant_changes()
- libcrmcommon: Deprecate
xml_document_dirty()
- libcrmcommon: Deprecate
xml_tracking_changes()
- libcrmcommon: Deprecate
xml_track_changes()
- libcrmcommon: Deprecate
xpath_search()
- libcrmcommon: Ignore the
max_size
parameter incrm_ipc_new.
- libcrmcommon: Introduce the
pcmk_rc_ipc_more
error code. - libcrmcommon: Map
pcmk_rc_cib_corrupt
toCRM_EX_CONFIG.
- liblrmd: Ignore provider for stonith-class resource metadata calls
- libpacemaker: Document that
pcmk_fence_installed()
ignores timeout - libpe_rules,libpe_status: deprecate crm/pengine/common.h header
- libpe_rules,libpe_status: deprecate struct
pe_match_data
andpe_match_data_t
- libpe_rules,libpe_status: deprecate struct
pe_op_eval_data
andpe_op_eval_data_t
- libpe_rules,libpe_status: deprecate struct
pe_re_match_data
andpe_re_match_data_t
- libpe_rules,libpe_status: deprecate struct
pe_rsc_eval_data
andpe_rsc_eval_data_t
- libpe_rules,libpe_status: deprecate struct
pe_rule_eval_data
andpe_rule_eval_data_t
- libpe_rules: deprecate crm/pengine/rules.h header
- libpe_rules: deprecate
pe_eval_nvpairs()
- libpe_rules: deprecate
pe_unpack_nvpairs()
- libpe_status: deprecate
cleanup_calculations()
- libpe_status: deprecate
pe_free_working_set()
- libpe_status: deprecate
pe_new_working_set()
- libpe_status: deprecate
pe_reset_working_set()
- libpe_status: deprecate
set_working_set_defaults()
- libstonithd: Deprecate enum
op_state
and its values - libstonithd: Deprecate enum
stonith_call_options
and its values - libstonithd: Deprecate enum
stonith_namespace
and its values - libstonithd: Deprecate enum
stonith_state
- libstonithd: Deprecate
stonith_action_str()
- libstonithd: Deprecate
stonith_agent_exists()
- libstonithd: Deprecate
stonith_api_connect_retry()
- libstonithd: Deprecate
stonith_api_delete()
- libstonithd: Deprecate
stonith_api_new()
- libstonithd: Deprecate
stonith_api_operations_t
- libstonithd: Deprecate
stonith_callback_data_t
- libstonithd: Deprecate
stonith_dispatch()
- libstonithd: Deprecate
stonith_dump_pending_callbacks()
- libstonithd: Deprecate
stonith_event_t
and structstonith_event_s
- libstonithd: Deprecate
stonith_get_namespace()
- libstonithd: Deprecate
stonith_history_free()
- libstonithd: Deprecate
stonith_history_t
- libstonithd: Deprecate
stonith_key_value_add()
- libstonithd: Deprecate
stonith_key_value_freeall()
- libstonithd: Deprecate
stonith_key_value_t
- libstonithd: Deprecate
stonith_namespace2text()
- libstonithd: Deprecate
stonith_op_state_str()
- libstonithd: Deprecate
stonith_t
and structstonith_s
- libstonithd: Deprecate
stonith_text2namespace()
- libstonithd: Ignore
namespace_s
in stonith API metadata method - libstonithd: Ignore
namespace_s
in stonith API validate method - Python: add
PACEMAKER_CONFIG_DIR
to BuildOptions