Commit | Line | Data |
---|---|---|
bdfce0d2 AH |
1 | # CiviCRM 5.25.0 |
2 | ||
a8cf70fe | 3 | Released May 6, 2020 |
bdfce0d2 | 4 | |
a8cf70fe | 5 | - **[Synopsis](#synopsis)** |
bdfce0d2 AH |
6 | - **[Features](#features)** |
7 | - **[Bugs resolved](#bugs)** | |
8 | - **[Miscellany](#misc)** | |
9 | - **[Credits](#credits)** | |
a8cf70fe AH |
10 | - **[Feedback](#feedback)** |
11 | ||
12 | ## <a name="synopsis"></a>Synopsis | |
13 | ||
14 | | *Does this version...?* | | | |
15 | |:--------------------------------------------------------------- |:-------:| | |
498be86b AF |
16 | | Fix security vulnerabilities? | no | |
17 | | Change the database schema? | **yes** | | |
18 | | Alter the API? | **yes** | | |
19 | | Require attention to configuration options? | no | | |
20 | | Fix problems installing or upgrading to a previous version? | **yes** | | |
21 | | Introduce features? | **yes** | | |
22 | | Fix bugs? | **yes** | | |
bdfce0d2 AH |
23 | |
24 | ## <a name="features"></a>Features | |
25 | ||
26 | ### Core CiviCRM | |
27 | ||
498be86b AF |
28 | - **End of life plans for php 7.0 & deprecate php 7.1 |
29 | ([dev/core#1528](https://lab.civicrm.org/dev/core/issues/1528): | |
30 | [16753](https://github.com/civicrm/civicrm-core/pull/16753), | |
31 | [599](https://github.com/civicrm/civicrm-drupal/pull/599), | |
32 | [598](https://github.com/civicrm/civicrm-drupal/pull/598), | |
33 | [111](https://github.com/civicrm/civicrm-backdrop/pull/111), | |
34 | [16678](https://github.com/civicrm/civicrm-core/pull/16678), | |
35 | [114](https://github.com/civicrm/civicrm-backdrop/pull/114), | |
36 | [187](https://github.com/civicrm/civicrm-wordpress/pull/187) and | |
37 | [184](https://github.com/civicrm/civicrm-wordpress/pull/184))** | |
bdfce0d2 | 38 | |
fc6522d4 | 39 | CiviCRM now requires PHP 7.1 at a minimum and recommends PHP 7.3. |
bdfce0d2 | 40 | |
fc6522d4 AH |
41 | In the process of making this change, the minimum PHP version is now stored in |
42 | a single place within the core codebase. CMS-specific files have this value, | |
43 | too, but tests enforce that it be the same as the single core value. | |
bdfce0d2 | 44 | |
fc6522d4 AH |
45 | - **Replace jcalendar instances with datepicker (Continued |
46 | Work [dev/core#561](https://lab.civicrm.org/dev/core/issues/561): | |
47 | [15709](https://github.com/civicrm/civicrm-core/pull/15709) and | |
48 | [16863](https://github.com/civicrm/civicrm-core/pull/16863))** | |
49 | ||
50 | These changes continue work to move to datepicker from jcalendar by converting | |
51 | report instances from using the legacy jcalendar to using datepicker for date | |
52 | fields and deprecating the `addDateRange` function used by jcalendar. | |
bdfce0d2 | 53 | |
498be86b AF |
54 | - **APIv4 - Add Dashboard & DashboardContact entities |
55 | ([16867](https://github.com/civicrm/civicrm-core/pull/16867))** | |
bdfce0d2 | 56 | |
498be86b AF |
57 | Adds APIv4 support for Dashboard & DashboardContact and does some cleanup in |
58 | the BAO and API layers for improved consistency. | |
bdfce0d2 | 59 | |
0e582417 | 60 | - **Add new language, `nl_BE` |
498be86b | 61 | ([17014](https://github.com/civicrm/civicrm-core/pull/17014))** |
bdfce0d2 | 62 | |
fc6522d4 | 63 | Adds a new translation option for "Dutch (Belgium)". |
bdfce0d2 | 64 | |
498be86b AF |
65 | - **Add hook to alter display value or Custom field value |
66 | ([16921](https://github.com/civicrm/civicrm-core/pull/16921))** | |
bdfce0d2 | 67 | |
fc6522d4 AH |
68 | The new hook |
69 | [`hook_civicrm_alterCustomFieldDisplayValue()`](https://docs.civicrm.org/dev/en/latest/hooks/hook_civicrm_alterCustomFieldDisplayValue/) | |
70 | allows modification of the displayed value for a custom field value. | |
bdfce0d2 | 71 | |
0e582417 | 72 | - **APIv4 query improvements (Work towards |
fc6522d4 | 73 | [dev/report#31](https://lab.civicrm.org/dev/report/issues/31): |
498be86b AF |
74 | [16917](https://github.com/civicrm/civicrm-core/pull/16917) and |
75 | [16947](https://github.com/civicrm/civicrm-core/pull/16947))** | |
bdfce0d2 | 76 | |
fc6522d4 AH |
77 | This change builds out the APIv4 framework to support `GROUP BY` and different |
78 | types of expressions in clauses that previously only accepted the names of | |
79 | fields. These expressions can now include numbers, `NULL`, strings, and | |
80 | whitelisted SQL functions. The framework can in theory handle most SQL | |
81 | functions, but this first PR adds support for the aggregate functions `AVG`, | |
82 | `COUNT`, `MAX`, `MIN`, and `SUM`. | |
bdfce0d2 | 83 | |
0f9d1ab9 TO |
84 | - **install/index.php - Fix leak which breaks compatibility with current Backdrop |
85 | ([#17249](https://github.com/civicrm/civicrm-core/pull/17249))** | |
86 | ||
498be86b | 87 | ### CiviContribute |
bdfce0d2 | 88 | |
0e582417 | 89 | - **Partial Refunds (Work towards |
498be86b AF |
90 | [dev/financial#87](https://lab.civicrm.org/dev/financial/issues/87): |
91 | [16480](https://github.com/civicrm/civicrm-core/pull/16480))** | |
bdfce0d2 | 92 | |
fc6522d4 | 93 | The "Add Payment" form is altered to permit payments to be added even if a |
498be86b | 94 | contribution is fully paid. |
bdfce0d2 | 95 | |
fc6522d4 | 96 | - **Add privacy fields to Contribution Detail report |
498be86b | 97 | ([16674](https://github.com/civicrm/civicrm-core/pull/16674))** |
bdfce0d2 | 98 | |
fc6522d4 AH |
99 | Columns for the following fields are added to the contribution detail report: |
100 | "Do Not Phone", "Do Not Mail", "Do Not SMS", "Do Not Trade". | |
bdfce0d2 | 101 | |
498be86b AF |
102 | - **Add "pledge id" as column and filter in Contribution Detail report. |
103 | ([16868](https://github.com/civicrm/civicrm-core/pull/16868))** | |
bdfce0d2 | 104 | |
fc6522d4 AH |
105 | This change improves the Contribution Detail Report by adding "pledge id" as |
106 | a filter and column. | |
bdfce0d2 | 107 | |
913e93ec AH |
108 | ### CiviEvent |
109 | ||
110 | - **Remove additional display of buttons for events | |
111 | ([16550](https://github.com/civicrm/civicrm-core/pull/16550))** | |
112 | ||
113 | When viewing an event registration, this removes the Record Payment button | |
114 | from the Fees section. Payments can still be recorded from the payments | |
115 | section. | |
116 | ||
498be86b | 117 | ### WordPress Integration |
bdfce0d2 | 118 | |
913e93ec AH |
119 | - **Merge REST API wrapper code |
120 | ([160](https://github.com/civicrm/civicrm-wordpress/pull/160))** | |
121 | ||
122 | This merges the CiviCRM WP REST API Wrapper plugin's code into the core | |
123 | WordPress integration. The result is that there are now native WordPress REST | |
124 | endpoints for the REST API, email tracking, and other endpoints that had been | |
125 | direct links to PHP files in the `extern` folder of the CiviCRM plugin. | |
126 | ||
498be86b AF |
127 | - **Add shortcodes for Personal Campaign Pages |
128 | ([185](https://github.com/civicrm/civicrm-wordpress/pull/185) and | |
129 | [16695](https://github.com/civicrm/civicrm-core/pull/16695))** | |
bdfce0d2 | 130 | |
fc6522d4 | 131 | Personal Campaign Pages are now available as a shortcode. |
bdfce0d2 | 132 | |
498be86b | 133 | ## <a name="bugs"></a>Bugs resolved |
bdfce0d2 | 134 | |
498be86b | 135 | ### Core CiviCRM |
bdfce0d2 | 136 | |
9a4c3174 AH |
137 | - **Activity Detail report gives syntax error with force=1 if include case |
138 | activities is on | |
139 | ([dev/core#1710](https://lab.civicrm.org/dev/core/issues/1710): | |
140 | [17128](https://github.com/civicrm/civicrm-core/pull/17128))** | |
141 | ||
142 | The case activity table wasn't properly loaded when the Activity Detail report | |
143 | including case activities would go straight to displaying results. | |
144 | ||
145 | - **Search Builder - Activity Type search not working. | |
146 | ([dev/core#1714](https://lab.civicrm.org/dev/core/issues/1714): | |
147 | [17215](https://github.com/civicrm/civicrm-core/pull/17215))** | |
148 | ||
149 | In Search Builder, searching by activity type would return no results, | |
150 | affecting not only direct searches but also smart groups that built with | |
151 | Search Builder. This resolves the regression, which first appeared in 5.24.3. | |
152 | ||
fc6522d4 AH |
153 | - **Deleting entities leaves obsolete EntityTag records |
154 | ([dev/core#667](https://lab.civicrm.org/dev/core/issues/667): | |
155 | [16832](https://github.com/civicrm/civicrm-core/pull/16832))** | |
156 | ||
157 | Fixes a bug where deleting a contact does not delete tags associated with the | |
158 | contact. | |
159 | ||
160 | - **Profile Public Title (frontend_title column) is not used in profile | |
161 | create/edit mode | |
162 | ([dev/core#1683](https://lab.civicrm.org/dev/core/issues/1683): | |
163 | [16945](https://github.com/civicrm/civicrm-core/pull/16945))** | |
164 | ||
165 | The Public Title setting that was recently added for profiles would only | |
166 | replace the profile name on contribution and event forms. When the profile | |
167 | was used in a standalone context, the name would always appear. | |
168 | ||
169 | - **Auto-complete search results not consistent with other searches | |
170 | ([dev/core#787](https://lab.civicrm.org/dev/core/issues/787): | |
171 | [13809](https://github.com/civicrm/civicrm-core/pull/13809))** | |
172 | ||
498be86b AF |
173 | - **Need to Increase Data Size for `form_values` column on |
174 | civicrm_report_instance table | |
175 | ([dev/core#1569](https://lab.civicrm.org/dev/core/issues/1569): | |
176 | [16836](https://github.com/civicrm/civicrm-core/pull/16836))** | |
bdfce0d2 | 177 | |
fc6522d4 | 178 | This hanges the data type for the `form_values` column on the |
498be86b | 179 | `civicrm_report_instance` from TEXT to LONGTEXT. |
bdfce0d2 | 180 | |
498be86b AF |
181 | - **PHP warning on Add relationship form |
182 | ([dev/core#1663](https://lab.civicrm.org/dev/core/issues/1663): | |
183 | [16845](https://github.com/civicrm/civicrm-core/pull/16845) and | |
184 | [16941](https://github.com/civicrm/civicrm-core/pull/16941))** | |
bdfce0d2 | 185 | |
498be86b AF |
186 | - **Removing all the dashlets from the dashboard leads to E_NOTICE |
187 | ([dev/core#1668](https://lab.civicrm.org/dev/core/issues/1668): | |
188 | [16883](https://github.com/civicrm/civicrm-core/pull/16883))** | |
bdfce0d2 | 189 | |
498be86b AF |
190 | - **Regression: Api4 causes container being rebuild on every request |
191 | ([dev/core#1674](https://lab.civicrm.org/dev/core/issues/1674): | |
192 | [16919](https://github.com/civicrm/civicrm-core/pull/16919))** | |
bdfce0d2 | 193 | |
498be86b AF |
194 | - **E_NOTICE when using the New Individual popup/profile |
195 | ([dev/core#1676](https://lab.civicrm.org/dev/core/issues/1676): | |
196 | [16924](https://github.com/civicrm/civicrm-core/pull/16924))** | |
bdfce0d2 | 197 | |
fc6522d4 AH |
198 | - **[regression] CiviCRM reports that smart groups won't work due to deleted |
199 | custom fields that aren't deleted | |
200 | ([dev/core#1688](https://lab.civicrm.org/dev/core/issues/1688): | |
498be86b | 201 | [16961](https://github.com/civicrm/civicrm-core/pull/16961))** |
bdfce0d2 | 202 | |
fc6522d4 AH |
203 | A system check would mistakenly report that a smart group was based upon a |
204 | deleted custom field if it was based upon a checkbox or multi-select custom | |
205 | field. | |
206 | ||
498be86b AF |
207 | - **Fix checking permissions in api3 profile get |
208 | ([16848](https://github.com/civicrm/civicrm-core/pull/16848))** | |
bdfce0d2 | 209 | |
fc6522d4 AH |
210 | This resolves a bug where the API would reverse the value of the option to use |
211 | a current user's permissions when retrieving the list of fields in a profile. | |
212 | ||
498be86b AF |
213 | - **APIv4 - convert Result object to array when running through json_encode |
214 | ([16828](https://github.com/civicrm/civicrm-core/pull/16828))** | |
bdfce0d2 | 215 | |
498be86b | 216 | - **Api4 AJAX endpoint: change required permission to access AJAX API. |
913e93ec AH |
217 | ([16705](https://github.com/civicrm/civicrm-core/pull/16705) and |
218 | [17241](https://github.com/civicrm/civicrm-core/pull/17241))** | |
bdfce0d2 | 219 | |
913e93ec AH |
220 | The APIv4 AJAX endpoint is now open to users with either the Access CiviCRM or |
221 | the Access AJAX API permissions, matching the APIv3 behavior. | |
bdfce0d2 | 222 | |
913e93ec AH |
223 | - **Improvements to APIv4 select query |
224 | ([16889](https://github.com/civicrm/civicrm-core/pull/16889) and | |
225 | [16900](https://github.com/civicrm/civicrm-core/pull/16900))** | |
bdfce0d2 | 226 | |
9a4c3174 AH |
227 | - **APIv4 - Don't advertise implicit multi-joins in Explorer |
228 | ([17205](https://github.com/civicrm/civicrm-core/pull/17205))** | |
229 | ||
230 | Implicit one-to-many joins in APIv4 have been problematic and may get removed. | |
231 | As a soft deprecation, these are no longer displayed in the APIv4 explorer. | |
232 | ||
498be86b AF |
233 | - **CRM_Core_I18n - Provide a better label for new/unknown locales |
234 | ([17021](https://github.com/civicrm/civicrm-core/pull/17021))** | |
bdfce0d2 | 235 | |
913e93ec AH |
236 | If CiviCRM finds a locale in the localization files but doesn't know what it |
237 | is, it will now display the locale code instead of just a blank option. | |
238 | ||
498be86b AF |
239 | - **Fixed fatal error for class not found when managed hook is invoked during |
240 | upgrade ([17004](https://github.com/civicrm/civicrm-core/pull/17004))** | |
bdfce0d2 | 241 | |
0e582417 TO |
242 | - **Log error message instead of throwing exception |
243 | ([16880](https://github.com/civicrm/civicrm-core/pull/16880))** | |
bdfce0d2 | 244 | |
0e582417 | 245 | - **Remove instances of fatal |
913e93ec | 246 | ([16759](https://github.com/civicrm/civicrm-core/pull/16759))** |
bdfce0d2 | 247 | |
913e93ec AH |
248 | This throws exceptions rather than dying when encountering problems creating |
249 | contacts. | |
bdfce0d2 | 250 | |
498be86b AF |
251 | - **Fix bug where a % in a serialized array can lead to the data being broken |
252 | ([16694](https://github.com/civicrm/civicrm-core/pull/16694))** | |
bdfce0d2 | 253 | |
498be86b AF |
254 | - **Fix batch contact/activity update with radio options |
255 | ([16855](https://github.com/civicrm/civicrm-core/pull/16855))** | |
bdfce0d2 | 256 | |
913e93ec AH |
257 | This fixes a failure to copy the value down a column if the field is radio |
258 | buttons and the value in the first row contains a space. | |
259 | ||
498be86b AF |
260 | - **Fix CustomDataView.tpl plain empty memo field. |
261 | ([16839](https://github.com/civicrm/civicrm-core/pull/16839))** | |
bdfce0d2 | 262 | |
498be86b | 263 | Ensure note custom fields display on their own lines |
bdfce0d2 | 264 | |
498be86b AF |
265 | - **Fix setting outBound_option readonly in UI |
266 | ([16774](https://github.com/civicrm/civicrm-core/pull/16774))** | |
bdfce0d2 | 267 | |
913e93ec AH |
268 | If the outbound mailer option is set via the settings file, the settings form |
269 | will now disable the field. | |
bdfce0d2 | 270 | |
498be86b AF |
271 | - **Use dbAlias to generate where clause for date field in activity report |
272 | ([16689](https://github.com/civicrm/civicrm-core/pull/16689))** | |
bdfce0d2 | 273 | |
913e93ec AH |
274 | This resolves potentially ambiguous queries in the Activity Summary and Detail |
275 | reports if the activity table is joined again in the report. | |
276 | ||
498be86b AF |
277 | - **[REF] Use composer patches to apply CiviCRM Customisations for CRM-1367 and |
278 | CRM-5946 ([16870](https://github.com/civicrm/civicrm-core/pull/16870))** | |
bdfce0d2 | 279 | |
498be86b AF |
280 | Migrates the patching of pear_mail from a script file to using composer |
281 | patches to ensure CiviCRM customisations for CRM-1367 and CRM-5946 are applied | |
282 | consistently. | |
bdfce0d2 | 283 | |
498be86b | 284 | ### CiviCase |
bdfce0d2 | 285 | |
498be86b AF |
286 | - **Various errors recorded in log message on Manage Case screen -> relationship |
287 | tab. ([dev/core#1664](https://lab.civicrm.org/dev/core/issues/1664): | |
288 | [16846](https://github.com/civicrm/civicrm-core/pull/16846))** | |
bdfce0d2 | 289 | |
498be86b AF |
290 | Fixes log messages generated when opening the relationship tab on the Manage |
291 | Case form. | |
bdfce0d2 | 292 | |
0e582417 | 293 | - **"Merge Case" modal not showing relevant cases |
498be86b AF |
294 | ([dev/core#1646](https://lab.civicrm.org/dev/core/issues/1646): |
295 | [16798](https://github.com/civicrm/civicrm-core/pull/16798))** | |
bdfce0d2 | 296 | |
913e93ec AH |
297 | The pop-up to merge cases would only show 25 other cases. It now shows all |
298 | cases for a client. | |
bdfce0d2 | 299 | |
498be86b AF |
300 | - **Adding a timeline to a case doesn't get the last activity in the timeline |
301 | right ([dev/core#1675](https://lab.civicrm.org/dev/core/issues/1675) and | |
302 | [dev/core#1695](https://lab.civicrm.org/dev/core/issues/1695): | |
303 | [289](https://github.com/civicrm/civicrm-packages/pull/289))** | |
bdfce0d2 | 304 | |
498be86b AF |
305 | Ensures case custom fields are saved when submitted via Drupal webform. |
306 | Additionally ensures that the last activity in the case timeline is set | |
307 | correctly. | |
bdfce0d2 | 308 | |
0e582417 | 309 | - **Check for "Change Case Type" in case activity form doesn't do anything |
498be86b AF |
310 | ([dev/core#1652](https://lab.civicrm.org/dev/core/issues/1652): |
311 | [16785](https://github.com/civicrm/civicrm-core/pull/16785))** | |
bdfce0d2 | 312 | |
0e582417 TO |
313 | - **When auditing cases on non-English deployments, richtext details |
314 | are incorrectly escaped | |
498be86b | 315 | ([16659](https://github.com/civicrm/civicrm-core/pull/16659))** |
bdfce0d2 | 316 | |
0e582417 | 317 | - **Respect 'Do not notify activity type' setting |
913e93ec AH |
318 | ([16800](https://github.com/civicrm/civicrm-core/pull/16800))** |
319 | ||
320 | The setting to not notify assignees for certain activity types was not | |
321 | respected when submitting an activity from a case. | |
322 | ||
498be86b | 323 | ### CiviContribute |
bdfce0d2 | 324 | |
0e582417 | 325 | - **Changes to "CiviContribute Component Settings" not saved |
9a4c3174 AH |
326 | ([dev/core#1724](https://lab.civicrm.org/dev/core/issues/1724): |
327 | [17188](https://github.com/civicrm/civicrm-core/pull/17188))** | |
328 | ||
329 | The way that CiviContribute component settings were stored was updated for | |
330 | 5.23, but the transition during the upgrade was problematic. This replaces | |
331 | the transition code, resolving issues for sites upgrading directly from 5.22.x | |
332 | or earlier. Sites on 5.23.x or 5.24.x should review their settings, however. | |
333 | ||
334 | - **Invoice action not shown when invoicing enabled | |
335 | ([17164](https://github.com/civicrm/civicrm-core/pull/17164))** | |
336 | ||
337 | The "Invoices - print or email" action was not available for contribution | |
338 | search results even when invoicing was enabled. | |
339 | ||
340 | - **Cumulative contributions not being calculated with the correct criteria | |
341 | ([dev/core#1740](https://lab.civicrm.org/dev/core/issues/1740): | |
342 | [17237](https://github.com/civicrm/civicrm-core/pull/17237))** | |
343 | ||
344 | The cumulative contributions display from a contribution page would needlessly | |
345 | filter contributions by date, with the end date being midnight on the current | |
346 | date. That would exclude contributions received on the current day. | |
347 | ||
fc6522d4 AH |
348 | - **Updating misleading labels on buttons to confirmation pages |
349 | ([dev/core#1613](https://lab.civicrm.org/dev/core/issues/1613): | |
350 | [16651](https://github.com/civicrm/civicrm-core/pull/16651))** | |
351 | ||
352 | Some donors and event registrants interpreted the button text "Confirm | |
353 | Contribution" (on contribution pages) and "Continue" (on event registration | |
354 | pages) to mean that this would complete the contribution or registration. In | |
355 | fact, these would only appear when a confirmation page is used. | |
356 | ||
357 | The button text now appears as "Review your contribution" and "Review your | |
358 | registration", respectively. | |
359 | ||
360 | - **Fix upgrade failure. Thin-out activation logic for `sequentialcreditnotes`. | |
361 | ([16971](https://github.com/civicrm/civicrm-core/pull/16971) following | |
362 | [dev/financial#84](https://lab.civicrm.org/dev/financial/issues/84))** | |
363 | ||
364 | This change fixes an issue for some builds when upgrading caused by the | |
365 | activation of the `sequentialcreditnotes` extension to replace core code that | |
366 | generates sequential credit note identifiers. | |
367 | ||
498be86b AF |
368 | - **Fix Bug where Payment Balance is sometimes miscalculated |
369 | ([16546](https://github.com/civicrm/civicrm-core/pull/16546))** | |
bdfce0d2 | 370 | |
498be86b AF |
371 | Fixes a bug where Add Refund is displayed instead of Add Payment on partially |
372 | paid event contributions. | |
bdfce0d2 | 373 | |
0e582417 TO |
374 | - **Stop overwriting contact name with PayPal name |
375 | ([CRM-20553](https://issues.civicrm.org/jira/browse/CRM-20553): [14667](https://github.com/civicrm/civicrm-core/pull/14667))** | |
bdfce0d2 | 376 | |
913e93ec AH |
377 | When a user creates a donation via PayPal, their CiviCRM contact name should |
378 | not be overwritten to be their PayPal account name. | |
bdfce0d2 | 379 | |
0e582417 | 380 | - **Fix use of "Soft Credit Amount Stats" and any filter of contribution… |
498be86b | 381 | ([16591](https://github.com/civicrm/civicrm-core/pull/16591))** |
bdfce0d2 | 382 | |
498be86b | 383 | Ensures that one can use "Soft Credit Amount Stats" with all filters. |
bdfce0d2 | 384 | |
498be86b AF |
385 | - **CRM_Core_Payment_PayPalProIPN should not call getPayPalPaymentProcessorID() |
386 | if processor_id is clearly provided in URL | |
387 | ([dev/core#1579](https://lab.civicrm.org/dev/core/issues/1579): | |
388 | [16479](https://github.com/civicrm/civicrm-core/pull/16479))** | |
bdfce0d2 | 389 | |
498be86b | 390 | - **Update pending contribution status action also send email without warning |
fc6522d4 | 391 | ([dev/core#1640](https://lab.civicrm.org/dev/core/issues/1640): |
913e93ec AH |
392 | [16742](https://github.com/civicrm/civicrm-core/pull/16742))**] |
393 | ||
394 | When bulk updating the status of contributions, there is now a checkbox to | |
395 | choose whether the contacts should be emailed. Previously, emails would be | |
396 | generated without warning. | |
397 | ||
398 | - **Fix display of payment processor title in cancelSubscription form | |
399 | ([16857](https://github.com/civicrm/civicrm-core/pull/16857))** | |
400 | ||
0e582417 | 401 | - **Make the checkbox, "Billing address is the same", respond to the change event |
913e93ec AH |
402 | ([16496](https://github.com/civicrm/civicrm-core/pull/16496))** |
403 | ||
0e582417 | 404 | This makes the "billing address is the same" checkbox trigger its changes no |
913e93ec AH |
405 | matter how the box is checked, not just by clicking it. |
406 | ||
407 | ### CiviEvent | |
bdfce0d2 | 408 | |
498be86b AF |
409 | - **PayPal Express Checkout fails on events |
410 | ([dev/financial#119](https://lab.civicrm.org/dev/financial/issues/119): | |
411 | [16692](https://github.com/civicrm/civicrm-core/pull/16692))** | |
bdfce0d2 | 412 | |
913e93ec AH |
413 | - **Fixed fatal error for Event Participants custom search if price set field |
414 | option is disabled after a registrant has already selected it | |
415 | ([16894](https://github.com/civicrm/civicrm-core/pull/16894))** | |
bdfce0d2 | 416 | |
498be86b | 417 | ### CiviMember |
bdfce0d2 | 418 | |
fc6522d4 AH |
419 | - **Don't freeze fields for auto-renew memberships |
420 | ([dev/core#1331](https://lab.civicrm.org/dev/core/issues/1331): | |
421 | [16609](https://github.com/civicrm/civicrm-core/pull/16609) and | |
422 | [16881](https://github.com/civicrm/civicrm-core/pull/16881))** | |
423 | ||
424 | Previously, many membership fields were frozen for administrators when the | |
425 | membership was set to auto-renew with a recurring contribution. | |
426 | ||
913e93ec AH |
427 | - **Deceased Contact via Inline doesn't update the Membership's status to |
428 | Deceased ([dev/core#1599](https://lab.civicrm.org/dev/core/issues/1599): | |
429 | [16724](https://github.com/civicrm/civicrm-core/pull/16724) and | |
430 | [16787](https://github.com/civicrm/civicrm-core/pull/16787))** | |
bdfce0d2 | 431 | |
913e93ec AH |
432 | When marking a contact as deceased, this simplifies the underlying process and |
433 | ensures that a message is displayed about memberships being updated to | |
434 | Deceased status. | |
bdfce0d2 | 435 | |
498be86b AF |
436 | - **Invalid currency "$" on sending offline membership receipt. |
437 | ([dev/core#1682](https://lab.civicrm.org/dev/core/issues/1682): | |
438 | [16943](https://github.com/civicrm/civicrm-core/pull/16943))** | |
bdfce0d2 | 439 | |
913e93ec AH |
440 | Fixes an error when sending a receipt for a membership created from an offline |
441 | membership form. The default currency symbol was being saved as the currency | |
442 | itself. | |
bdfce0d2 | 443 | |
498be86b | 444 | - **Membership auto-renew is not optional if using price set |
fc6522d4 | 445 | ([dev/core#1630](https://lab.civicrm.org/dev/core/issues/1630): |
498be86b | 446 | [16762](https://github.com/civicrm/civicrm-core/pull/16762))** |
bdfce0d2 | 447 | |
913e93ec AH |
448 | - **Membership join date checkbox on constituent detail report has lost its |
449 | label ([dev/report#28](https://lab.civicrm.org/dev/report/issues/28): | |
450 | [16829](https://github.com/civicrm/civicrm-core/pull/16829))** | |
451 | ||
498be86b | 452 | ### Drupal Integration |
bdfce0d2 | 453 | |
498be86b AF |
454 | - **Address no longer available as Relationship for Views in Drupal 7 |
455 | ([dev/drupal#110](https://lab.civicrm.org/dev/drupal/issues/110): | |
456 | [118](https://github.com/civicrm/civicrm-backdrop/pull/118) and | |
457 | [600](https://github.com/civicrm/civicrm-drupal/pull/600))** | |
bdfce0d2 | 458 | |
498be86b AF |
459 | - **Generalise typo3/phar-stream-wrapper so CiviCRM can be installed on D8.7 |
460 | ([17085](https://github.com/civicrm/civicrm-core/pull/17085))** | |
bdfce0d2 | 461 | |
498be86b | 462 | - **civicrm-setup and backward slashes in file paths on windows don't play nice |
fc6522d4 | 463 | together ([dev/core#1643](https://lab.civicrm.org/dev/core/issues/1643): |
498be86b | 464 | [16886](https://github.com/civicrm/civicrm-core/pull/16886))** |
bdfce0d2 | 465 | |
498be86b AF |
466 | Fixes installing CiviCRM on Drupal8 sites on windows using civicrm-setup / cv |
467 | core:install. | |
bdfce0d2 | 468 | |
498be86b | 469 | ### WordPress Integration |
bdfce0d2 | 470 | |
498be86b | 471 | - **5.23 breaks WP admin menu links |
fc6522d4 | 472 | ([dev/core#1637](https://lab.civicrm.org/dev/core/issues/1637): |
498be86b | 473 | [16713](https://github.com/civicrm/civicrm-core/pull/16713))** |
bdfce0d2 | 474 | |
498be86b AF |
475 | - **Set "cms.root" URL in addition to Path |
476 | ([188](https://github.com/civicrm/civicrm-wordpress/pull/188))** | |
bdfce0d2 | 477 | |
913e93ec AH |
478 | This resolves a "Cannot resolve path using 'cms.root.url'" exception thrown on |
479 | the "Settings - Resource URLs" screen incorrectly on a WordPress multisite | |
480 | subsite. | |
bdfce0d2 | 481 | |
498be86b | 482 | ## <a name="misc"></a>Miscellany |
bdfce0d2 | 483 | |
498be86b AF |
484 | - **Add recurring contribution ID to doCancelRecurring |
485 | ([16741](https://github.com/civicrm/civicrm-core/pull/16741))** | |
bdfce0d2 | 486 | |
498be86b AF |
487 | - **Support PropertyBag in CRM_Utils_Array |
488 | ([16699](https://github.com/civicrm/civicrm-core/pull/16699) and | |
489 | [16737](https://github.com/civicrm/civicrm-core/pull/16737))** | |
bdfce0d2 | 490 | |
498be86b AF |
491 | - **Added pseudoconstant for acl_id |
492 | ([16925](https://github.com/civicrm/civicrm-core/pull/16925))** | |
bdfce0d2 | 493 | |
498be86b AF |
494 | - **Added pseudoconstant for state province |
495 | ([16799](https://github.com/civicrm/civicrm-core/pull/16799))** | |
bdfce0d2 | 496 | |
0e582417 | 497 | - **Added pseudoconstant for location type |
498be86b | 498 | ([16758](https://github.com/civicrm/civicrm-core/pull/16758))** |
bdfce0d2 | 499 | |
498be86b AF |
500 | - **Added pseudoconstant for priceset |
501 | ([16754](https://github.com/civicrm/civicrm-core/pull/16754))** | |
bdfce0d2 | 502 | |
0e582417 | 503 | - **Added pseudoconstant for bounce type |
498be86b | 504 | ([16727](https://github.com/civicrm/civicrm-core/pull/16727))** |
bdfce0d2 | 505 | |
498be86b AF |
506 | - **Added pseudoconstant for civicrm_tag.parent_id |
507 | ([16703](https://github.com/civicrm/civicrm-core/pull/16703))** | |
bdfce0d2 | 508 | |
498be86b AF |
509 | - **Event Cart cleanup |
510 | ([16691](https://github.com/civicrm/civicrm-core/pull/16691))** | |
bdfce0d2 | 511 | |
498be86b AF |
512 | - **Update cancelSubscription form to use updated methodology |
513 | ([16501](https://github.com/civicrm/civicrm-core/pull/16501) and | |
514 | [16715](https://github.com/civicrm/civicrm-core/pull/16715))** | |
bdfce0d2 | 515 | |
498be86b AF |
516 | - **Skip expensive smarty Processing when nothing to see here |
517 | ([16731](https://github.com/civicrm/civicrm-core/pull/16731))** | |
bdfce0d2 | 518 | |
498be86b AF |
519 | - **UFMatch - deprecate unused functions |
520 | ([16849](https://github.com/civicrm/civicrm-core/pull/16849))** | |
bdfce0d2 | 521 | |
498be86b AF |
522 | - **Shifted UpdateMemberhsip to BAO Layer |
523 | ([16690](https://github.com/civicrm/civicrm-core/pull/16690))** | |
bdfce0d2 | 524 | |
498be86b AF |
525 | - **Add DAO::writeRecord and DAO::deleteRecord methods |
526 | ([16856](https://github.com/civicrm/civicrm-core/pull/16856))** | |
bdfce0d2 | 527 | |
498be86b AF |
528 | - **Add some deprecation notices, stop calling PrevNext::cleanupCache |
529 | ([16697](https://github.com/civicrm/civicrm-core/pull/16697))** | |
bdfce0d2 | 530 | |
498be86b AF |
531 | - **Remove assigns for atypefile |
532 | ([16895](https://github.com/civicrm/civicrm-core/pull/16895))** | |
bdfce0d2 | 533 | |
498be86b AF |
534 | - **Deprecate use of in OptionGroup::add() function |
535 | ([16910](https://github.com/civicrm/civicrm-core/pull/16910))** | |
bdfce0d2 | 536 | |
498be86b AF |
537 | - **Improve APIv4 selectUtils to handle join paths in fieldnames. |
538 | ([16904](https://github.com/civicrm/civicrm-core/pull/16904))** | |
bdfce0d2 | 539 | |
498be86b AF |
540 | - **Upgrade jQuery validation version to v1.19.1 |
541 | ([16625](https://github.com/civicrm/civicrm-core/pull/16625))** | |
bdfce0d2 | 542 | |
498be86b AF |
543 | - **APIv3 - Use new DAO::deleteRecord method |
544 | ([16869](https://github.com/civicrm/civicrm-core/pull/16869))** | |
bdfce0d2 | 545 | |
498be86b AF |
546 | - **Improve conditional in api3 ChainSubscriber |
547 | ([16718](https://github.com/civicrm/civicrm-core/pull/16718))** | |
bdfce0d2 | 548 | |
498be86b AF |
549 | - **Mark unused function as deprecated |
550 | ([16688](https://github.com/civicrm/civicrm-core/pull/16688))** | |
bdfce0d2 | 551 | |
498be86b AF |
552 | - **CRM/Contact - Cleanup boolean expressions |
553 | ([16844](https://github.com/civicrm/civicrm-core/pull/16844))** | |
bdfce0d2 | 554 | |
498be86b AF |
555 | - **CRM/Contribute - Cleanup boolean expressions |
556 | ([16853](https://github.com/civicrm/civicrm-core/pull/16853))** | |
bdfce0d2 | 557 | |
498be86b AF |
558 | - **Civi/Test - Refactor out CRM_Utils_Array::value |
559 | ([16871](https://github.com/civicrm/civicrm-core/pull/16871))** | |
bdfce0d2 | 560 | |
498be86b AF |
561 | - **Cleanup reverse boolean expressions |
562 | ([16850](https://github.com/civicrm/civicrm-core/pull/16850))** | |
bdfce0d2 | 563 | |
498be86b AF |
564 | - **CRM/Core - Cleanup boolean expressions |
565 | ([16852](https://github.com/civicrm/civicrm-core/pull/16852))** | |
bdfce0d2 | 566 | |
498be86b AF |
567 | - **CRM/Utils - Cleanup boolean expressions |
568 | ([16851](https://github.com/civicrm/civicrm-core/pull/16851))** | |
bdfce0d2 | 569 | |
498be86b AF |
570 | - **CRM - Cleanup boolean expressions |
571 | ([16854](https://github.com/civicrm/civicrm-core/pull/16854))** | |
bdfce0d2 | 572 | |
498be86b AF |
573 | - **Fix another instance of silly use of CRM_Utils_Array::value |
574 | ([16712](https://github.com/civicrm/civicrm-core/pull/16712))** | |
bdfce0d2 | 575 | |
498be86b AF |
576 | - **Fix passing a non-array to CRM_Utils_Array::value |
577 | ([16701](https://github.com/civicrm/civicrm-core/pull/16701))** | |
bdfce0d2 | 578 | |
498be86b AF |
579 | - **Fix another instance of NULL being passed to CRM_Utils_Array::value |
580 | ([16711](https://github.com/civicrm/civicrm-core/pull/16711))** | |
bdfce0d2 | 581 | |
498be86b AF |
582 | - **Remove an instance of passing non-arraay to CRM_Utils_Array::value( |
583 | ([16706](https://github.com/civicrm/civicrm-core/pull/16706))** | |
bdfce0d2 | 584 | |
498be86b AF |
585 | - **Remove calls & deprecate CRM_Core_BAO_PrevNextCache::setItem |
586 | ([16696](https://github.com/civicrm/civicrm-core/pull/16696))** | |
bdfce0d2 | 587 | |
498be86b AF |
588 | - **(POC) Add `hook_civicrm_postCommit`, a less foot-gunny variant of |
589 | `hook_civicrm_post` | |
590 | ([15338](https://github.com/civicrm/civicrm-core/pull/15338))** | |
bdfce0d2 | 591 | |
498be86b AF |
592 | - **Fix typos in xml/dao |
593 | ([16827](https://github.com/civicrm/civicrm-core/pull/16827))** | |
bdfce0d2 | 594 | |
498be86b AF |
595 | - **Deprecate unused/unneeded pseudoconstant functions |
596 | ([16771](https://github.com/civicrm/civicrm-core/pull/16771))** | |
bdfce0d2 | 597 | |
498be86b AF |
598 | - **Deprecate calling contactTrashRestore function |
599 | ([16824](https://github.com/civicrm/civicrm-core/pull/16824))** | |
bdfce0d2 | 600 | |
498be86b AF |
601 | - **Remove old stuff |
602 | ([16835](https://github.com/civicrm/civicrm-core/pull/16835))** | |
bdfce0d2 | 603 | |
498be86b AF |
604 | - **Remove deprecated cleaning of money in the BAO layer |
605 | ([16950](https://github.com/civicrm/civicrm-core/pull/16950))** | |
bdfce0d2 | 606 | |
498be86b AF |
607 | - **Remove unused deprecated function |
608 | ([16812](https://github.com/civicrm/civicrm-core/pull/16812))** | |
bdfce0d2 | 609 | |
498be86b AF |
610 | - **Remove deprecated function |
611 | ([16907](https://github.com/civicrm/civicrm-core/pull/16907))** | |
bdfce0d2 | 612 | |
498be86b AF |
613 | - **Remove unused code |
614 | ([16914](https://github.com/civicrm/civicrm-core/pull/16914))** | |
bdfce0d2 | 615 | |
498be86b AF |
616 | - **Remove deprecated parameter |
617 | ([16813](https://github.com/civicrm/civicrm-core/pull/16813))** | |
bdfce0d2 | 618 | |
498be86b | 619 | - **fix typo ([16865](https://github.com/civicrm/civicrm-core/pull/16865))** |
bdfce0d2 | 620 | |
498be86b AF |
621 | - **API tests - remove unnecessary check for v4 |
622 | ([16866](https://github.com/civicrm/civicrm-core/pull/16866))** | |
bdfce0d2 | 623 | |
498be86b AF |
624 | - **[NFC] APIv4 - Add test coverage for expected fields from join |
625 | ([16920](https://github.com/civicrm/civicrm-core/pull/16920))** | |
bdfce0d2 | 626 | |
498be86b AF |
627 | - **[NFC] Add in unit test to ensure that APIv4 Doesn't accept an invalid… |
628 | ([16893](https://github.com/civicrm/civicrm-core/pull/16893))** | |
bdfce0d2 | 629 | |
498be86b AF |
630 | - **[NFC] Use strict comparison where possible |
631 | ([16896](https://github.com/civicrm/civicrm-core/pull/16896))** | |
bdfce0d2 | 632 | |
498be86b AF |
633 | - **[NFC] Code formatting |
634 | ([16906](https://github.com/civicrm/civicrm-core/pull/16906))** | |
bdfce0d2 | 635 | |
498be86b AF |
636 | - **[NFC] minor form cleanup. |
637 | ([16905](https://github.com/civicrm/civicrm-core/pull/16905))** | |
bdfce0d2 | 638 | |
498be86b AF |
639 | - **(NFC) Minor typo: receipients > recipients |
640 | ([16810](https://github.com/civicrm/civicrm-core/pull/16810))** | |
bdfce0d2 | 641 | |
498be86b AF |
642 | - **[NFC] Minor code cleanup |
643 | ([16823](https://github.com/civicrm/civicrm-core/pull/16823))** | |
bdfce0d2 | 644 | |
498be86b AF |
645 | - **[NFC] Deprecate passing in silly data |
646 | ([16818](https://github.com/civicrm/civicrm-core/pull/16818))** | |
bdfce0d2 | 647 | |
498be86b AF |
648 | - **[NFC] Test cleanup |
649 | ([16817](https://github.com/civicrm/civicrm-core/pull/16817))** | |
bdfce0d2 | 650 | |
498be86b AF |
651 | - **[NFC] Test cleanup, remove duplicate test |
652 | ([16755](https://github.com/civicrm/civicrm-core/pull/16755))** | |
bdfce0d2 | 653 | |
498be86b AF |
654 | - **(NFC) Minor string error : for for > for |
655 | ([16773](https://github.com/civicrm/civicrm-core/pull/16773))** | |
bdfce0d2 | 656 | |
498be86b AF |
657 | - **(NFC) Minor typo: contacts(s) -> contact(s) |
658 | ([16804](https://github.com/civicrm/civicrm-core/pull/16804))** | |
bdfce0d2 | 659 | |
498be86b AF |
660 | - **(NFC) Query.php / Minor typo: Genrated -> Generated |
661 | ([16803](https://github.com/civicrm/civicrm-core/pull/16803))** | |
bdfce0d2 | 662 | |
498be86b AF |
663 | - **[NFC] Fix comments, use single quotes |
664 | ([16693](https://github.com/civicrm/civicrm-core/pull/16693))** | |
bdfce0d2 | 665 | |
498be86b AF |
666 | - **[NFC] Mark unused function deprecated, fix some comments & formatting |
667 | ([16698](https://github.com/civicrm/civicrm-core/pull/16698))** | |
bdfce0d2 | 668 | |
498be86b AF |
669 | - **[NFC] cleanup in test class |
670 | ([16764](https://github.com/civicrm/civicrm-core/pull/16764))** | |
bdfce0d2 | 671 | |
498be86b AF |
672 | - **[NFC] Use helper / api to delete contacts in tests |
673 | ([16825](https://github.com/civicrm/civicrm-core/pull/16825))** | |
bdfce0d2 | 674 | |
498be86b AF |
675 | - **[NFC/TEST] Resurrect unfinished test for getRelatedCases() |
676 | ([16885](https://github.com/civicrm/civicrm-core/pull/16885))** | |
bdfce0d2 | 677 | |
498be86b AF |
678 | - **[Test] Remove skip that seems no longer required |
679 | ([16912](https://github.com/civicrm/civicrm-core/pull/16912))** | |
bdfce0d2 | 680 | |
498be86b AF |
681 | - **Test for PR 13809 |
682 | ([16474](https://github.com/civicrm/civicrm-core/pull/16474))** | |
bdfce0d2 | 683 | |
498be86b AF |
684 | - **[TEST] Add test for to time processing |
685 | ([16861](https://github.com/civicrm/civicrm-core/pull/16861))** | |
bdfce0d2 | 686 | |
498be86b AF |
687 | - **[REF] Case Activities Report includes core activities *always* |
688 | ([dev/core#1366](https://lab.civicrm.org/dev/core/issues/1366): | |
689 | [16670](https://github.com/civicrm/civicrm-core/pull/16670))** | |
bdfce0d2 | 690 | |
498be86b AF |
691 | - **[REF] Cleanup api3 DashboardContact |
692 | ([16792](https://github.com/civicrm/civicrm-core/pull/16792))** | |
bdfce0d2 | 693 | |
498be86b AF |
694 | - **[REF] Fixes a bug in Message Template create API where by user permissions |
695 | checks were being done on system workflow messages | |
696 | ([16788](https://github.com/civicrm/civicrm-core/pull/16788))** | |
bdfce0d2 | 697 | |
498be86b AF |
698 | - **[REF] Remove calls to fatal() |
699 | ([16746](https://github.com/civicrm/civicrm-core/pull/16746))** | |
bdfce0d2 | 700 | |
498be86b AF |
701 | - **[REF] Cleanup uses of CRM_Utils_Array::value related to numbers |
702 | ([16778](https://github.com/civicrm/civicrm-core/pull/16778))** | |
bdfce0d2 | 703 | |
498be86b AF |
704 | - **[REF] cleanup financial type form - remove complex inheritence |
705 | ([16777](https://github.com/civicrm/civicrm-core/pull/16777))** | |
bdfce0d2 | 706 | |
498be86b AF |
707 | - **[REF] Use ?? operator instead of CRM_Utils_Array::value() |
708 | ([16710](https://github.com/civicrm/civicrm-core/pull/16710))** | |
bdfce0d2 | 709 | |
498be86b AF |
710 | - **[REF] dev/core#1116 - Remove unused misnamed activityTypeName variable |
711 | ([16730](https://github.com/civicrm/civicrm-core/pull/16730))** | |
bdfce0d2 | 712 | |
498be86b AF |
713 | - **REF Switch to getter on cancelSubscription form |
714 | ([16740](https://github.com/civicrm/civicrm-core/pull/16740))** | |
bdfce0d2 | 715 | |
498be86b AF |
716 | - **[REF] Minor code simplification |
717 | ([16734](https://github.com/civicrm/civicrm-core/pull/16734))** | |
bdfce0d2 | 718 | |
498be86b AF |
719 | - **[REF] Hopefully fix regularly failing conformance test |
720 | ([16732](https://github.com/civicrm/civicrm-core/pull/16732))** | |
bdfce0d2 | 721 | |
498be86b AF |
722 | - **[REF] Use empty() instead of CRM_Utils_Array::value() in inline conditionals |
723 | ([16729](https://github.com/civicrm/civicrm-core/pull/16729))** | |
bdfce0d2 | 724 | |
498be86b AF |
725 | - **[REF] Use ?? operator instead of CRM_Utils_Array::value() in return |
726 | statements ([16719](https://github.com/civicrm/civicrm-core/pull/16719))** | |
bdfce0d2 | 727 | |
498be86b AF |
728 | - **[REF] CRM_Utils_Array::value() -> empty() |
729 | ([16704](https://github.com/civicrm/civicrm-core/pull/16704))** | |
bdfce0d2 | 730 | |
498be86b AF |
731 | - **[REF] Cleanup is_array(CRM_Utils_Array::value()) pattern |
732 | ([16875](https://github.com/civicrm/civicrm-core/pull/16875))** | |
bdfce0d2 | 733 | |
498be86b AF |
734 | - **[REF] Remove redundant call to build permissions |
735 | ([16862](https://github.com/civicrm/civicrm-core/pull/16862))** | |
bdfce0d2 | 736 | |
498be86b AF |
737 | - **[REF] Replace CRM_Utils_Array::value with ?? in variable assignments |
738 | ([16768](https://github.com/civicrm/civicrm-core/pull/16768))** | |
bdfce0d2 | 739 | |
498be86b AF |
740 | - **[REF] Replace coalesce pattern with coalesce operator |
741 | ([16802](https://github.com/civicrm/civicrm-core/pull/16802))** | |
bdfce0d2 | 742 | |
498be86b AF |
743 | - **[REF] Switch to using a non abandoned library for getting a mapping of |
744 | mimetypes to extensions | |
745 | ([16436](https://github.com/civicrm/civicrm-core/pull/16436))** | |
bdfce0d2 | 746 | |
498be86b AF |
747 | - **[REF] move buildQuickForm function to the trait |
748 | ([16948](https://github.com/civicrm/civicrm-core/pull/16948))** | |
bdfce0d2 | 749 | |
498be86b AF |
750 | - **[REF] Move properties to Trait |
751 | ([16940](https://github.com/civicrm/civicrm-core/pull/16940))** | |
bdfce0d2 | 752 | |
498be86b AF |
753 | - **[REF] Start transitioning EmailCommon class to a trait |
754 | ([16935](https://github.com/civicrm/civicrm-core/pull/16935))** | |
bdfce0d2 | 755 | |
498be86b AF |
756 | - **[REF] Remove fatal, fix some code comments |
757 | ([16928](https://github.com/civicrm/civicrm-core/pull/16928))** | |
bdfce0d2 | 758 | |
498be86b AF |
759 | - **[REF] extract code to getEmails |
760 | ([16929](https://github.com/civicrm/civicrm-core/pull/16929))** | |
bdfce0d2 | 761 | |
498be86b AF |
762 | - **[REF] Minor simplification - do not use variable variables |
763 | ([16927](https://github.com/civicrm/civicrm-core/pull/16927))** | |
bdfce0d2 | 764 | |
498be86b AF |
765 | - **[REF] Extract code used to render a pseudoconstant when a table is defined. |
766 | ([16902](https://github.com/civicrm/civicrm-core/pull/16902))** | |
bdfce0d2 | 767 | |
498be86b AF |
768 | - **[REF] Move form specific handling back to the relevant form. |
769 | ([16913](https://github.com/civicrm/civicrm-core/pull/16913))** | |
bdfce0d2 | 770 | |
498be86b AF |
771 | - **[REF] APIv4 - Preserve order when expanding select wildcards |
772 | ([16909](https://github.com/civicrm/civicrm-core/pull/16909))** | |
bdfce0d2 | 773 | |
498be86b AF |
774 | - **[REF] Remove & from before variable |
775 | ([16897](https://github.com/civicrm/civicrm-core/pull/16897))** | |
bdfce0d2 | 776 | |
498be86b AF |
777 | - **[REF] Replace \CRM_Utils_Array::value with ?? |
778 | ([16872](https://github.com/civicrm/civicrm-core/pull/16872))** | |
bdfce0d2 | 779 | |
498be86b AF |
780 | - **[REF] Civi/Api4 - Refactor out 'use CRM_Utils_Array' |
781 | ([16873](https://github.com/civicrm/civicrm-core/pull/16873))** | |
bdfce0d2 | 782 | |
498be86b AF |
783 | - **[REF] BAO_Contact - Remove CRM_Utils_Array::value and other unnecessary code |
784 | ([16874](https://github.com/civicrm/civicrm-core/pull/16874))** | |
bdfce0d2 | 785 | |
498be86b AF |
786 | - **[REF] APIv4 - Restructure the way get query objects are constucted |
787 | ([16878](https://github.com/civicrm/civicrm-core/pull/16878))** | |
bdfce0d2 | 788 | |
498be86b AF |
789 | - **[REF] Fix PCP getPcpDashboardInfo to be tested & use sensible functions |
790 | ([16790](https://github.com/civicrm/civicrm-core/pull/16790))** | |
bdfce0d2 | 791 | |
498be86b AF |
792 | - **[REF] Simplify obtuse boolean expressions |
793 | ([16822](https://github.com/civicrm/civicrm-core/pull/16822))** | |
bdfce0d2 | 794 | |
498be86b AF |
795 | - **[REF] Replace CRM_Utils_Array::value with ?? in variable assignments |
796 | ([16820](https://github.com/civicrm/civicrm-core/pull/16820))** | |
bdfce0d2 | 797 | |
498be86b AF |
798 | - **[REF] cleanups on array operator |
799 | ([16821](https://github.com/civicrm/civicrm-core/pull/16821))** | |
bdfce0d2 | 800 | |
498be86b AF |
801 | - **[REF] Simplify obtuse boolean expressions |
802 | ([16819](https://github.com/civicrm/civicrm-core/pull/16819))** | |
bdfce0d2 | 803 | |
498be86b AF |
804 | - **[REF] Remove titleHeader var |
805 | ([16816](https://github.com/civicrm/civicrm-core/pull/16816))** | |
bdfce0d2 | 806 | |
498be86b AF |
807 | - **[REF] simplify references to civicrm_acl |
808 | ([16671](https://github.com/civicrm/civicrm-core/pull/16671))** | |
bdfce0d2 | 809 | |
9a4c3174 AH |
810 | - **[REF] Fix retrieving invoice related settings when doing complete |
811 | transaction ([17218](https://github.com/civicrm/civicrm-core/pull/17218))** | |
812 | ||
bdfce0d2 AH |
813 | ## <a name="credits"></a>Credits |
814 | ||
815 | This release was developed by the following code authors: | |
816 | ||
498be86b AF |
817 | a-n The Artists Information Company - William Mortada; AGH Strategies - Alice |
818 | Frumin, Andrew Hunt; Alexy Mikhailichenko; Andrei Mondoc; Christian Wach; Circle | |
819 | Interactive - Pradeep Nayak; CiviCoop - Jaap Jansma; CiviCRM - Coleman Watts, | |
820 | Tim Otten; CiviDesk - Yashodha Chaku; Coop SymbioTIC - Mathieu Lutfy; Dave D; | |
821 | Freeform Solutions - Herb van den Dool; Fuzion - Jitendra Purohit; iXiam - César | |
822 | Ramos; JMA Consulting - Seamus Lee; Joinery - Allen Shaw; Kartik Kathuria; | |
823 | Lighthouse Design and Consulting - Brian Shaughnessy; Makoa - Usha F. Matisson; | |
824 | Megaphone Technology Consulting - Jon Goldberg; MJW Consulting - Matthew Wire; | |
825 | Naomi Rosenberg; Ray Wright; OSSeed Technologies LLP - Sushant Paste; SYSTOPIA | |
826 | Organisationsberatung - Björn Endres; Timbsoft Technologies - Tunbola Ogunwande; | |
827 | Wikimedia Foundation - Eileen McNaughton | |
bdfce0d2 AH |
828 | |
829 | Most authors also reviewed code for this release; in addition, the following | |
830 | reviewers contributed their comments: | |
831 | ||
498be86b AF |
832 | Agileware - Justin Freeman; Artful Robot - Rich Lott; British Humanist |
833 | Association - Andrew West; CiviDesk - Nicolas Ganivet; Coop SymbioTIC - Mathieu | |
834 | Lutfy; Digitalcourage - Detlev Sieber; Freeform Solutions - S. Gray; Fuzion - | |
835 | Jitendra Purohit; Greenpeace Central and Eastern Europe - Patrick Figel; Jamie | |
836 | Tillman; JMA Consulting - Monish Deb; Korlon - Stuart Gaston; MJCO - Mikey | |
837 | O'Toole; Richard van Oosterhout; Skvare - Mark Hanna; Squiffle Consulting - | |
fc6522d4 | 838 | Aidan Saunders; Tadpole Collective - Kevin Cristiano |
a8cf70fe AH |
839 | |
840 | ## <a name="feedback"></a>Feedback | |
841 | ||
842 | These release notes are edited by Alice Frumin and Andrew Hunt. If you'd like | |
843 | to provide feedback on them, please log in to https://chat.civicrm.org/civicrm | |
844 | and contact `@agh1`. |