|
1 | | -# Pacemaker-3.0.2 (23 Apr 2026) |
2 | | -* 1806 commits with 607 files changed, 38242 insertions(+), 30786 deletions(-) |
| 1 | +# Pacemaker-3.0.2 (01 Jun 2026) |
| 2 | +* 1856 commits with 615 files changed, 39078 insertions(+), 31526 deletions(-) |
3 | 3 |
|
4 | 4 | ## Features added since Pacemaker-3.0.1 |
5 | 5 |
|
|
65 | 65 | *(regression introduced in 3.0.1)* |
66 | 66 | * **libcib:** Fix setting origin attributes in CIB updates |
67 | 67 | *(regression introduced in 2.1.6)* |
| 68 | +* **libcib:** Prevent crashing when handling an XPath query for an attribute |
| 69 | + *(regression introduced in 3.0.1)* |
68 | 70 | * **agents:** Error check calling `attrd_updater` in HealthCPU. |
69 | 71 | * **agents:** Error check calling `attrd_updater` in HealthIOWait. |
70 | 72 | * **agents:** Error check calling `attrd_updater` in HealthSMART. |
|
134 | 136 | * **libcib:** Explicitly handle receiving a NACK from based. |
135 | 137 | * **libcib:** Explicitly handle receiving a NACK from fenced. |
136 | 138 | * **libcib:** Fix `cib__signon_retry()` return code |
| 139 | +* **libcib:** Full-CIB replace op no longer segfaults with `cib_xpath` |
| 140 | +* **libcib:** Handle `cib_xpath_address` for an XPath query for an attribute |
137 | 141 | * **libcrmcommon, libpacemaker:** Don't assign const char * to char * |
| 142 | +* **libcrmcommon, tools:** Fix NULL dereference in `crm_resource.c` |
138 | 143 | * **libcrmcommon:** Allow empty string values in `pcmk__scan_nvpair()` |
139 | 144 | * **libcrmcommon:** Avoid integer overflow in `seconds_to_hms()` |
| 145 | +* **libcrmcommon:** Avoid leak in `pcmk__xe_dereference_children()` test |
140 | 146 | * **libcrmcommon:** Avoid overflow in `crm_time_add_months()` |
141 | 147 | * **libcrmcommon:** Avoid overflow when negating `INT_MIN` |
142 | 148 | * **libcrmcommon:** Create a log file if it doesn't exist. |
|
176 | 182 | * **libpacemaker:** If `process_rsc_history` exits early, free the list. |
177 | 183 | * **libpe:** Free elements of `rsc->priv->ticket_constraints`... |
178 | 184 | * **libpe:** If `pe__clone_default` exits early, free the lists. |
| 185 | +* **libpe_status:** Avoid leaking a `pcmk_resource_t's` xml/orig_xml |
179 | 186 | * **libpe_status:** Use first operations child when expanding template |
180 | 187 | * **libraries:** Ensure includes are outside extern in public headers |
181 | 188 | * **libservices:** Deal with fgets errors in `services__get_lsb_metadata.` |
182 | 189 | * **pacemaker-attrd:** Drop "requesting shutdown" code |
183 | 190 | * **pacemaker-attrd:** Wipe CIB along with memory |
184 | 191 | * **pacemakerd:** Correctly detect ping requests from sbd |
185 | 192 | * **pacemakerd:** Match correctly in `PCMK_{valgrind,callgrind}_enabled` |
| 193 | +* **pacemakerd:** Properly find and track all existing sub-daemons |
186 | 194 | * **scheduler:** promoted state with promoted state with attribute |
187 | 195 | * **sysconfig:** Remove `--leak-check=full` from default `VALGRIND_OPTS.` |
188 | 196 | * **tools:** Avoid memory leak in `crm_resource --clear` |
|
197 | 205 | * **tools:** Free the list at the end of `cli_resource_print_operations.` |
198 | 206 | * **tools:** Handle large timeouts correctly in `crm_resource --wait` |
199 | 207 | * **tools:** Improve some cibadmin error messages |
| 208 | +* **tools:** Use the VERSION variable instead of invoking `crm_attribute --version`. |
200 | 209 | * **various:** Always NULL-check return value of `pcmk__find_client()` |
201 | 210 | * **various:** Use const for a few string pointer variables |
202 | 211 |
|
|
274 | 283 | * **libcrmcommon:** Deprecate `pcmk_all_flags_set()` |
275 | 284 | * **libcrmcommon:** Deprecate `pcmk_any_flags_set()` |
276 | 285 | * **libcrmcommon:** Deprecate `pcmk_daemon_user()` |
| 286 | +* **libcrmcommon:** Deprecate `PCMK_dh_max_bits.` |
277 | 287 | * **libcrmcommon:** Deprecate `PCMK_FENCING_HOST_ARGUMENT` |
278 | 288 | * **libcrmcommon:** Deprecate `PCMK_FENCING_HOST_CHECK` |
279 | 289 | * **libcrmcommon:** Deprecate `pcmk_is_set()` |
|
300 | 310 | * **libcrmcommon:** Deprecate `PCMK_XA_ORPHANED` |
301 | 311 | * **libcrmcommon:** Deprecate `PCMK_XA_STONITH_ENABLED` |
302 | 312 | * **libcrmcommon:** Deprecate `PCMK_XA_STONITH_TIMEOUT_MS` |
| 313 | +* **libcrmcommon:** Deprecate `pcmk_unpack_nvpair_blocks()` |
303 | 314 | * **libcrmcommon:** Deprecate `save_xml_to_file()` |
304 | 315 | * **libcrmcommon:** Deprecate struct `crm_time_period_s` |
305 | 316 | * **libcrmcommon:** Deprecate struct `crm_time_s` |
|
352 | 363 | * **liblrmd:** Deprecate struct `lrmd_s` |
353 | 364 | * **libpacemaker:** Convert the `pcmk_rc_disp_flags` enum to use `UINT32_C`. |
354 | 365 | * **libpacemaker:** Convert the `pcmk_sim_flags` enum to use `UINT32_C`. |
| 366 | +* **libpe_status:** `get_meta_attributes()` rsc argument is now const |
355 | 367 | * **libstonithd:** Convert the `stonith_call_options` enum to use `UINT32_C`. |
356 | 368 | * **libstonithd:** Deprecate `stonith_t` |
357 | 369 | * **schemas:** Add a schema for `cibadmin` |
|
0 commit comments