Pacemaker-3.0.1 (07 Aug 2025)
- 775 commits with 283 files changed, 11592 insertions(+), 7745 deletions(-)
Known regressions introduced in this release
xml_acl_filtered_copy()returns false for NULL source (fixed in 3.0.2-rc1)
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_REGISTERfromcib_remoteclient - 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_dcreturn 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 --timeoutvalue - 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_sizeparameter 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_sizeparameter incrm_ipc_new. - libcrmcommon: Introduce the
pcmk_rc_ipc_moreerror code. - libcrmcommon: Map
pcmk_rc_cib_corrupttoCRM_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_dataandpe_match_data_t - libpe_rules,libpe_status: deprecate struct
pe_op_eval_dataandpe_op_eval_data_t - libpe_rules,libpe_status: deprecate struct
pe_re_match_dataandpe_re_match_data_t - libpe_rules,libpe_status: deprecate struct
pe_rsc_eval_dataandpe_rsc_eval_data_t - libpe_rules,libpe_status: deprecate struct
pe_rule_eval_dataandpe_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_stateand its values - libstonithd: Deprecate enum
stonith_call_optionsand its values - libstonithd: Deprecate enum
stonith_namespaceand 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_tand 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_tand structstonith_s - libstonithd: Deprecate
stonith_text2namespace() - libstonithd: Ignore
namespace_sin stonith API metadata method - libstonithd: Ignore
namespace_sin stonith API validate method - Python: add
PACEMAKER_CONFIG_DIRto BuildOptions