5 - **[Synopsis](#synopsis)**
6 - **[Features](#features)**
7 - **[Bugs resolved](#bugs)**
8 - **[Miscellany](#misc)**
9 - **[Credits](#credits)**
10 - **[Feedback](#feedback)**
12 ## <a name="synopsis"></a>Synopsis
14 | *Does this version...?* | |
15 |:--------------------------------------------------------------- |:-------:|
16 | Fix security vulnerabilities? | |
17 | Change the database schema? | |
19 | Require attention to configuration options? | |
20 | Fix problems installing or upgrading to a previous version? | |
21 | Introduce features? | |
24 ## <a name="features"></a>Features
28 - **crm- Missing Summary ([16423](https://github.com/civicrm/civicrm-core/pull/16423))**
30 - **CRM-19767 Missing Summary ([16105](https://github.com/civicrm/civicrm-core/pull/16105))**
32 ## <a name="bugs"></a>Bugs resolved
36 - **[NFC] Skip utf8mb4 test on MySQL versions lower than 5.7 ([16483](https://github.com/civicrm/civicrm-core/pull/16483))**
38 - **release-notes: Late changes for 5.22 release notes ([16485](https://github.com/civicrm/civicrm-core/pull/16485))**
40 - **release-notes: Late changes for 5.22 release notes ([16476](https://github.com/civicrm/civicrm-core/pull/16476))**
42 - **APIv4 documentation & code cleanup ([16457](https://github.com/civicrm/civicrm-core/pull/16457))**
44 - **Revert "Remove unreachable code lines." ([16472](https://github.com/civicrm/civicrm-core/pull/16472))**
46 - **Call hook_civicrm_copy for RecurringEntity ([16466](https://github.com/civicrm/civicrm-core/pull/16466))**
48 - **composer.json - Relax psr/log constraint. Improve D8 compatibility. ([16471](https://github.com/civicrm/civicrm-core/pull/16471))**
50 - **APIv3 - Only scan files for deprecation checks in Entity.get ([16460](https://github.com/civicrm/civicrm-core/pull/16460))**
52 - **Fix for #1573: Extra columns for Contribution Detail report. ([16458](https://github.com/civicrm/civicrm-core/pull/16458))**
54 - **5.22 to master ([16469](https://github.com/civicrm/civicrm-core/pull/16469))**
56 - **Fix obscure bug ([16463](https://github.com/civicrm/civicrm-core/pull/16463))**
58 - **Add require_once to api3TestTrait ([16461](https://github.com/civicrm/civicrm-core/pull/16461))**
60 - **[REF] Interim code cleanup - make the usage of addPayments clearer ([16441](https://github.com/civicrm/civicrm-core/pull/16441))**
62 - **Pass language code to CiviCRM for Wordpress ([16446](https://github.com/civicrm/civicrm-core/pull/16446))**
64 - **dev/core#1558 retrieve setting credit_notes_prefix as a 'real' setting. ([16397](https://github.com/civicrm/civicrm-core/pull/16397))**
66 - **APIv4 - Variable substution in docblocks ([16449](https://github.com/civicrm/civicrm-core/pull/16449))**
68 - **APIv4 Explorer - Better UI for defaults param ([16454](https://github.com/civicrm/civicrm-core/pull/16454))**
70 - **NFC Fix TokenRow docblock ([16452](https://github.com/civicrm/civicrm-core/pull/16452))**
72 - **[NFC] Minor test cleanup. ([16450](https://github.com/civicrm/civicrm-core/pull/16450))**
74 - **[REF] Pass params into function rather than this weird check for whether params exists. ([16438](https://github.com/civicrm/civicrm-core/pull/16438))**
76 - **dev/core#1319 Fix regression with shared household address ([16447](https://github.com/civicrm/civicrm-core/pull/16447))**
78 - **dev/core#1471 - Add system status alert for deleted custom fields in … ([16267](https://github.com/civicrm/civicrm-core/pull/16267))**
80 - **Add unit test to back office form when a payment is made against a partially paid contribution ([16437](https://github.com/civicrm/civicrm-core/pull/16437))**
82 - **Respect form value for register_date on partipant form ([16439](https://github.com/civicrm/civicrm-core/pull/16439))**
84 - **Use markdown in php docblocks & display in APIv4 Explorer ([16425](https://github.com/civicrm/civicrm-core/pull/16425))**
86 - **event#23 - don't count non-counted participants on Confirm Registrati… ([16098](https://github.com/civicrm/civicrm-core/pull/16098))**
88 - **[REF] Remove unused variable ([16434](https://github.com/civicrm/civicrm-core/pull/16434))**
90 - **APIv4 - don't throw exception when updating/deleting 0 items ([16374](https://github.com/civicrm/civicrm-core/pull/16374))**
92 - **Cleanup API_Exception usage ([16432](https://github.com/civicrm/civicrm-core/pull/16432))**
94 - **dev/core#1558 Data conversion for non-standard setting. ([16424](https://github.com/civicrm/civicrm-core/pull/16424))**
96 - **dev/core#560 Replace fatal with exception ([16433](https://github.com/civicrm/civicrm-core/pull/16433))**
98 - **APIv4 Explorer css tweaks ([16431](https://github.com/civicrm/civicrm-core/pull/16431))**
100 - **dev/core#547 If CiviContribute is not enabled don't crash when calling ContributionPage.getoptions or Event.getoptions ([16365](https://github.com/civicrm/civicrm-core/pull/16365))**
102 - **dev/core#1522 Handle space as thousand separator ([16392](https://github.com/civicrm/civicrm-core/pull/16392))**
104 - **dev/core#1558 [REF] Remove deprecated code from CRM_Admin_Form_Preferences ([16398](https://github.com/civicrm/civicrm-core/pull/16398))**
106 - **dev/core#1387 Continue removal of "config_backend" ([15842](https://github.com/civicrm/civicrm-core/pull/15842))**
108 - **IconPicker widget improvements ([15760](https://github.com/civicrm/civicrm-core/pull/15760))**
110 - **Civi\Test - Allow `headless()->apply()` (etc) to execute without setup.sh ([16405](https://github.com/civicrm/civicrm-core/pull/16405))**
112 - **Allow most values of $civicrm_paths['XXX']['url'] to be relative ([16403](https://github.com/civicrm/civicrm-core/pull/16403))**
114 - **Fix loading with alternate packages path (system-level) ([16407](https://github.com/civicrm/civicrm-core/pull/16407))**
116 - **CRM_Core_Menu - Fix warnings during local test run (dev/core#742) ([16406](https://github.com/civicrm/civicrm-core/pull/16406))**
118 - ** Fix loading with alternate packages path (UI-level) ([16409](https://github.com/civicrm/civicrm-core/pull/16409))**
120 - **Api4 docs improvements ([16411](https://github.com/civicrm/civicrm-core/pull/16411))**
122 - **[REF] Add test for line item, extract fn ([16402](https://github.com/civicrm/civicrm-core/pull/16402))**
124 - **[REF] Ensure that the from is correctly modified in both the main que… ([16422](https://github.com/civicrm/civicrm-core/pull/16422))**
126 - **composer.json - Explicitly set target PHP platform ([16421](https://github.com/civicrm/civicrm-core/pull/16421))**
128 - **5.22 to master ([16420](https://github.com/civicrm/civicrm-core/pull/16420))**
130 - **5.22 ([16419](https://github.com/civicrm/civicrm-core/pull/16419))**
132 - **[NFC] throw exceptions, single quotes, declare exceptions, remove unused param ([16415](https://github.com/civicrm/civicrm-core/pull/16415))**
134 - **[REF] Remove some unused variables ([16414](https://github.com/civicrm/civicrm-core/pull/16414))**
136 - **dev/core#1558 [REF] Remove unnecessary query, clean up silly function ([16412](https://github.com/civicrm/civicrm-core/pull/16412))**
138 - **setup.sh - Fixes for running in basic composer file-structure ([16408](https://github.com/civicrm/civicrm-core/pull/16408))**
140 - **5.22 to master ([16410](https://github.com/civicrm/civicrm-core/pull/16410))**
142 - **Make $civicrm_paths less sensitive to trailing slashes. Add tests. ([16404](https://github.com/civicrm/civicrm-core/pull/16404))**
144 - **[REF] Extract & share code to determine revenue recognition date. ([16388](https://github.com/civicrm/civicrm-core/pull/16388))**
146 - **Prevent PropertBag from being so noisy about deprecation warnings ([16390](https://github.com/civicrm/civicrm-core/pull/16390))**
148 - **Finish removal of deferred_revenue_enabled from non-standard setting ([16395](https://github.com/civicrm/civicrm-core/pull/16395))**
150 - **REF Extract code to build pcp_supporter_text and enable translation ([16271](https://github.com/civicrm/civicrm-core/pull/16271))**
152 - **[REF] Remove unused variables ([16396](https://github.com/civicrm/civicrm-core/pull/16396))**
154 - **dev/core#1550 Invalid links to extension directory in popup help text ([16394](https://github.com/civicrm/civicrm-core/pull/16394))**
156 - **Api4 - Use explicit adder functions rather than magicMethod ([16372](https://github.com/civicrm/civicrm-core/pull/16372))**
158 - **Fix tests to use buildFeeFn ([16389](https://github.com/civicrm/civicrm-core/pull/16389))**
160 - **dev/translation#30 Move l10n resource dir under private files ([15408](https://github.com/civicrm/civicrm-core/pull/15408))**
162 - **dev/translation#34 Fix Contact Reference option for Postal Code ([16352](https://github.com/civicrm/civicrm-core/pull/16352))**
164 - **event#32: Fix bad variable in message template ([16367](https://github.com/civicrm/civicrm-core/pull/16367))**
166 - **Remove irrelevant code. ([16348](https://github.com/civicrm/civicrm-core/pull/16348))**
168 - **Update Export unit test to pass on MySQL 8 ([16375](https://github.com/civicrm/civicrm-core/pull/16375))**
170 - **dev/translation#33 Fix incorrect quoting in a link and an incorrect link ([16387](https://github.com/civicrm/civicrm-core/pull/16387))**
172 - **dev/drupal#85 Drupal8: Fix bug with empty language prefix mangling https:// to http:/ ([15912](https://github.com/civicrm/civicrm-core/pull/15912))**
174 - **5.22 ([16386](https://github.com/civicrm/civicrm-core/pull/16386))**
176 - **5.22 ([16385](https://github.com/civicrm/civicrm-core/pull/16385))**
178 - **(NFC) Update Var declaration to be standard in CRM folder ([16382](https://github.com/civicrm/civicrm-core/pull/16382))**
180 - **Add helper for getting participantValues ([16355](https://github.com/civicrm/civicrm-core/pull/16355))**
182 - **(NFC) Civi/*.php - Update for Drupal.Commenting.VariableComment.IncorrectVarType ([16379](https://github.com/civicrm/civicrm-core/pull/16379))**
184 - **Api4 - improve docblocks & display links in explorer ([16373](https://github.com/civicrm/civicrm-core/pull/16373))**
186 - **NFC Add parameter definition to membershipstatus.calc ([16370](https://github.com/civicrm/civicrm-core/pull/16370))**
188 - **Move exportui extension into core ([16335](https://github.com/civicrm/civicrm-core/pull/16335))**
190 - **Remove unused code ([16371](https://github.com/civicrm/civicrm-core/pull/16371))**
192 - **Duplicate code (for real) ([16363](https://github.com/civicrm/civicrm-core/pull/16363))**
194 - **dev/core#1364 Merge all addresses on export should INCLUDE merging households ([16369](https://github.com/civicrm/civicrm-core/pull/16369))**
196 - **Make getTotalPayments return 0 instead of NULL ([16129](https://github.com/civicrm/civicrm-core/pull/16129))**
198 - **[REF] Extract function to export header row ([16364](https://github.com/civicrm/civicrm-core/pull/16364))**
200 - **fix more typo's in the text ([16368](https://github.com/civicrm/civicrm-core/pull/16368))**
202 - **event#30 - don't allow multiple waitlist registrations ([16358](https://github.com/civicrm/civicrm-core/pull/16358))**
204 - **Wrong parameter passed to executeQuery function ([16353](https://github.com/civicrm/civicrm-core/pull/16353))**
206 - **event#28: Don't send scheduled reminders for event templates ([16311](https://github.com/civicrm/civicrm-core/pull/16311))**
208 - **fix typo's in the text ([16361](https://github.com/civicrm/civicrm-core/pull/16361))**
210 - **Update BAO_Acl internal functions to protected & unused to deprecated ([16189](https://github.com/civicrm/civicrm-core/pull/16189))**
212 - **Add function to set entitySubType for entity forms ([16017](https://github.com/civicrm/civicrm-core/pull/16017))**
214 - **dev/translation#35 Display the CiviCRM Resources dashlet in the user's language ([16354](https://github.com/civicrm/civicrm-core/pull/16354))**
216 - **[REF] Move assignment of BalanceAmount ([16334](https://github.com/civicrm/civicrm-core/pull/16334))**
218 - **Add debug info to api4 output ([16351](https://github.com/civicrm/civicrm-core/pull/16351))**
220 - **[REF] Fix CRM_Core_BAO_UFGroup::createUFJoin to not receive by reference. ([16260](https://github.com/civicrm/civicrm-core/pull/16260))**
222 - **Remove unreachable code lines. ([16349](https://github.com/civicrm/civicrm-core/pull/16349))**
224 - **dev/mailing#59 Add in provider option IMAP_XOAUTH2 to assist with goo… ([16307](https://github.com/civicrm/civicrm-core/pull/16307))**
226 - **dev/core#1537 Don't append multiple copies of the eligible related contacts text ([16326](https://github.com/civicrm/civicrm-core/pull/16326))**
228 - **Add "Contributor Name" to Offline Contribution Receipts ([16286](https://github.com/civicrm/civicrm-core/pull/16286))**
230 - **Api4 - Make abstract function abstract ([16343](https://github.com/civicrm/civicrm-core/pull/16343))**
232 - **Api4 - Improve Entity::get ([16346](https://github.com/civicrm/civicrm-core/pull/16346))**
234 - **dev/core#1116 Wrong linebreaks viewing Inbound Emails when activity type label is changed ([16347](https://github.com/civicrm/civicrm-core/pull/16347))**
236 - **Change function buildEventFeeForm to non-static ([16337](https://github.com/civicrm/civicrm-core/pull/16337))**
238 - **Fix unit test so price set params are valid ([16344](https://github.com/civicrm/civicrm-core/pull/16344))**
240 - **Add user friendly error message on merge error ([16340](https://github.com/civicrm/civicrm-core/pull/16340))**
242 - **Simplify event title retrieval, use cache, add test ([16345](https://github.com/civicrm/civicrm-core/pull/16345))**
244 - **[NFC] Remove unused local variables from CRM_Contribute_Form_AdditionalPayment::processCreditCard ([16342](https://github.com/civicrm/civicrm-core/pull/16342))**
246 - **When viewing a membership show if the status is overridden ([16341](https://github.com/civicrm/civicrm-core/pull/16341))**
248 - **dev/core#1064 Allow personalised 'view in browser' links for mass emails ([14591](https://github.com/civicrm/civicrm-core/pull/14591))**
250 - **[REF] Remove setting of unused function. ([16315](https://github.com/civicrm/civicrm-core/pull/16315))**
252 - **[NFC] Code formatting ([16331](https://github.com/civicrm/civicrm-core/pull/16331))**
254 - **Start to use function rather than multiple queries for event details add test ([16329](https://github.com/civicrm/civicrm-core/pull/16329))**
256 - **[REF] Move the bounce to the start of the form submit ([16333](https://github.com/civicrm/civicrm-core/pull/16333))**
258 - **[NFC] Extend unit test to cover for recent refactor by eileen to ensure sup… ([16332](https://github.com/civicrm/civicrm-core/pull/16332))**
260 - **[REF] Eliminate silly parameter from function signature. ([16330](https://github.com/civicrm/civicrm-core/pull/16330))**
262 - **Fix retrieving contribution_status_id for manual payment processor ([16018](https://github.com/civicrm/civicrm-core/pull/16018))**
264 - **Remove function that exactly matches parent class. ([16316](https://github.com/civicrm/civicrm-core/pull/16316))**
266 - **Extract code for isPaymentOnExistingContribution. ([16327](https://github.com/civicrm/civicrm-core/pull/16327))**
268 - **[REF] Extract code that assigns event variables to the tpl ([16325](https://github.com/civicrm/civicrm-core/pull/16325))**
270 - **[NFC] Code cleanup ([16314](https://github.com/civicrm/civicrm-core/pull/16314))**
272 - **Update temp table handler to support utf8mb4 if that is the db collation ([15992](https://github.com/civicrm/civicrm-core/pull/15992))**
274 - **also skip report instance header and footer (lab-1286) ([15383](https://github.com/civicrm/civicrm-core/pull/15383))**
276 - **NFC Convert Manage PCP page to short array syntax ([16320](https://github.com/civicrm/civicrm-core/pull/16320))**
278 - **dev/core#1535 - Fix missing address is_primary field ([16321](https://github.com/civicrm/civicrm-core/pull/16321))**
280 - **Remove duplicate line of code ([16317](https://github.com/civicrm/civicrm-core/pull/16317))**
282 - **5.22 ([16319](https://github.com/civicrm/civicrm-core/pull/16319))**
284 - **[NFC] code cleanup ([16310](https://github.com/civicrm/civicrm-core/pull/16310))**
286 - **[NFC] Code cleanup ([16309](https://github.com/civicrm/civicrm-core/pull/16309))**
288 - **[REF] Remove apparent copy & paste code. ([16308](https://github.com/civicrm/civicrm-core/pull/16308))**
290 - **Api4 - Support wildcard * in select clause ([16302](https://github.com/civicrm/civicrm-core/pull/16302))**
292 - **Api4 - format output consistently across get/create/update. ([16305](https://github.com/civicrm/civicrm-core/pull/16305))**
294 - **dev/mailing#59 Update the version of zetacomponents/mail package to b… ([16306](https://github.com/civicrm/civicrm-core/pull/16306))**
296 - **Remove unused code in Case/Form/Activity postProcess ([16304](https://github.com/civicrm/civicrm-core/pull/16304))**
298 - **Update docs link for edit scheduled job parameters ([16299](https://github.com/civicrm/civicrm-core/pull/16299))**
300 - **Api4 - Filter returned fields by contact type ([16300](https://github.com/civicrm/civicrm-core/pull/16300))**
302 - **Fix minor typo in help text. ([16303](https://github.com/civicrm/civicrm-core/pull/16303))**
304 - **dev/core#1395 - Clear the asset builder cache when clearing cache ([15857](https://github.com/civicrm/civicrm-core/pull/15857))**
306 - **dev/core#1511 Expose option to show event location on configuration tab ([16230](https://github.com/civicrm/civicrm-core/pull/16230))**
308 - **[NFC] code cleanup ([16301](https://github.com/civicrm/civicrm-core/pull/16301))**
310 - **Add metadata to is_primary fields ([16113](https://github.com/civicrm/civicrm-core/pull/16113))**
312 - **Enforce isSkipLineItem for membership payment entity in Order.create ([15891](https://github.com/civicrm/civicrm-core/pull/15891))**
314 - **dev/core#1517 - Permission error on event info page for anonymous users ([16266](https://github.com/civicrm/civicrm-core/pull/16266))**
316 - **Fetch Only Active Custom Group Extend Values ([15759](https://github.com/civicrm/civicrm-core/pull/15759))**
318 - **5.22 ([16296](https://github.com/civicrm/civicrm-core/pull/16296))**
320 - **dev/drupal#89 Drupal 8 version of checkGroupRole ([16273](https://github.com/civicrm/civicrm-core/pull/16273))**
322 - **Enotice fix ([16293](https://github.com/civicrm/civicrm-core/pull/16293))**
324 - **[NFC] Minor code cleanup ([16290](https://github.com/civicrm/civicrm-core/pull/16290))**
326 - **dev/core#1255 - fix display of email address on pay later contribution ([15314](https://github.com/civicrm/civicrm-core/pull/15314))**
328 - **Check field to carry over custom data by default when the other contact has none ([16246](https://github.com/civicrm/civicrm-core/pull/16246))**
330 - **5.22 to master ([16288](https://github.com/civicrm/civicrm-core/pull/16288))**
332 - **dev/core#1502 Make unicode font dejavusans the default for mailing labels ([16216](https://github.com/civicrm/civicrm-core/pull/16216))**
334 - **Basic extraction of paid event processing ([16281](https://github.com/civicrm/civicrm-core/pull/16281))**
336 - **Update civicrm.settings.php.template to default to CLEANURL for WP ([16284](https://github.com/civicrm/civicrm-core/pull/16284))**
338 - **dev/core#1520 Improve accessibility of membership edit form ([16272](https://github.com/civicrm/civicrm-core/pull/16272))**
340 - **Force reCaptcha is not working when pay later enabled ([16282](https://github.com/civicrm/civicrm-core/pull/16282))**
342 - **[REF] Fix return value on deleting financial type ([16280](https://github.com/civicrm/civicrm-core/pull/16280))**
344 - **Api4 - Convert field values to correct data type ([16274](https://github.com/civicrm/civicrm-core/pull/16274))**
346 - **Implement PaymentProcessor and PaymentProcessorType APIv4 Entities ([15624](https://github.com/civicrm/civicrm-core/pull/15624))**
348 - **[REF] Move handling of default payment instrument for a payment proc… ([16279](https://github.com/civicrm/civicrm-core/pull/16279))**
350 - **Restrict case roles by group ([15570](https://github.com/civicrm/civicrm-core/pull/15570))**
352 - **Remove never passed-in parameter from addPayments ([16262](https://github.com/civicrm/civicrm-core/pull/16262))**
354 - **Remove unused and largely unreachable code. ([16244](https://github.com/civicrm/civicrm-core/pull/16244))**
356 - **[REF] Reduce places where we pass ids into Mailing::create ([16263](https://github.com/civicrm/civicrm-core/pull/16263))**
358 - **[REF] Remove ids and fully deprecate passing it to Contribution::create ([16256](https://github.com/civicrm/civicrm-core/pull/16256))**
360 - **Ensure that we always return a raw urlencoded url for extenal urls to… ([16265](https://github.com/civicrm/civicrm-core/pull/16265))**
362 - **[NFC] Explicitly specify that it is the Payment processor Type Name n… ([16275](https://github.com/civicrm/civicrm-core/pull/16275))**
364 - **5.22 ([16278](https://github.com/civicrm/civicrm-core/pull/16278))**
366 - **Add resolved to return array for get_conflicts ([15829](https://github.com/civicrm/civicrm-core/pull/15829))**
368 - **dev/core#1519 Fix auto renew text ([16269](https://github.com/civicrm/civicrm-core/pull/16269))**
370 - **Update contributor-key.yml ([16268](https://github.com/civicrm/civicrm-core/pull/16268))**
372 - **Update failing test to match intervening changes elsewhere ([16270](https://github.com/civicrm/civicrm-core/pull/16270))**
374 - **#1253 Pass mailing id to alterMailContent hook ([15306](https://github.com/civicrm/civicrm-core/pull/15306))**
376 - **dev/core#1507 Fix recent items for viewing Email activities from contact activities tab ([16195](https://github.com/civicrm/civicrm-core/pull/16195))**
378 - **Add more functionality to the api4 $index param ([16257](https://github.com/civicrm/civicrm-core/pull/16257))**
380 - **Add pre/post hooks on ContributionSoft entity ([16264](https://github.com/civicrm/civicrm-core/pull/16264))**
382 - **dev/drupal#89 - Drupal 8 - Contact Report does not load any values in… ([15318](https://github.com/civicrm/civicrm-core/pull/15318))**
384 - **Country/State PseudoConstant not sorted according to the locale ([16258](https://github.com/civicrm/civicrm-core/pull/16258))**
386 - **Set contribution status to refunded when it has been refunded ([16148](https://github.com/civicrm/civicrm-core/pull/16148))**
388 - **[REF] Remove never-passed param from getLineItems ([16251](https://github.com/civicrm/civicrm-core/pull/16251))**
390 - **Add tax rates to metadata ([16253](https://github.com/civicrm/civicrm-core/pull/16253))**
392 - **[REF] Extract location wrangling code. ([16247](https://github.com/civicrm/civicrm-core/pull/16247))**
394 - **[REF] rename lineItem & lineItems variable ([16254](https://github.com/civicrm/civicrm-core/pull/16254))**
396 - **core#1512: Address ID should be exportable ([16240](https://github.com/civicrm/civicrm-core/pull/16240))**
398 - **Fix activity.case_id token to always display the first case ID ([16208](https://github.com/civicrm/civicrm-core/pull/16208))**
400 - **[REF] Move use of priceSetID & amount_override to where they are used ([16252](https://github.com/civicrm/civicrm-core/pull/16252))**
402 - **[REF] Cleanup CRM_Member_BAO_Membership::buildMembershipTypeValues ([16059](https://github.com/civicrm/civicrm-core/pull/16059))**
404 - **[REF] Remove enclosed & escaped variables ([16249](https://github.com/civicrm/civicrm-core/pull/16249))**
406 - **[NFC] Code comments ([16248](https://github.com/civicrm/civicrm-core/pull/16248))**
408 - **[NFC] Minor cleanup in test class ([16250](https://github.com/civicrm/civicrm-core/pull/16250))**
410 - **[REF] Minor code simplification in dedupe. ([16245](https://github.com/civicrm/civicrm-core/pull/16245))**
412 - **dev/core#1100 Add externUrl method and civicrm_alterExternUrl hook ([15475](https://github.com/civicrm/civicrm-core/pull/15475))**
414 - **Remove patch hunk now that zetacomponents/Mail#73 has been merged ([16231](https://github.com/civicrm/civicrm-core/pull/16231))**
416 - **[REF] move sessionStart functionality to System subclass ([16241](https://github.com/civicrm/civicrm-core/pull/16241))**
418 - **5.22 to master ([16242](https://github.com/civicrm/civicrm-core/pull/16242))**
420 - **dev/core#1378 Scheduled reminders: do not email if do_not_email or on_hold ([15778](https://github.com/civicrm/civicrm-core/pull/15778))**
422 - **Add utf8 to utfmb8 conversion api command ([15969](https://github.com/civicrm/civicrm-core/pull/15969))**
424 - **dev/core#495 Make admin settings field labels translatable ([16234](https://github.com/civicrm/civicrm-core/pull/16234))**
426 - **dev/core#495 Make admin settings field labels translatable ([16235](https://github.com/civicrm/civicrm-core/pull/16235))**
428 - **dev/core#495 Make admin settings field labels translatable ([16236](https://github.com/civicrm/civicrm-core/pull/16236))**
430 - **dev/core#495 Make admin settings field labels translatable ([16237](https://github.com/civicrm/civicrm-core/pull/16237))**
432 - **dev/core#495 Make admin settings field labels translatable ([16233](https://github.com/civicrm/civicrm-core/pull/16233))**
434 - **dev/core#495 Make admin settings field labels translatable ([16232](https://github.com/civicrm/civicrm-core/pull/16232))**
436 - **dev/core#495 Make admin settings field labels translatable ([16228](https://github.com/civicrm/civicrm-core/pull/16228))**
438 - **dev/core#495 Make admin settings field labels translatable ([16229](https://github.com/civicrm/civicrm-core/pull/16229))**
440 - **dev/core#495 Make admin settings field labels translatable ([16227](https://github.com/civicrm/civicrm-core/pull/16227))**
442 - **Change check.gif to an actual gif (was a PNG) ([16220](https://github.com/civicrm/civicrm-core/pull/16220))**
444 - **Refactor CRM_Contact_BAO_Contact::importableFields() to use metadata ([16222](https://github.com/civicrm/civicrm-core/pull/16222))**
446 - **5.22 to master ([16226](https://github.com/civicrm/civicrm-core/pull/16226))**
448 - **dev/core#495 Add some ts tags on settings ([16224](https://github.com/civicrm/civicrm-core/pull/16224))**
450 - **dev/core#1249 Allow IPNs to be validated even if the supplied contact… ([15307](https://github.com/civicrm/civicrm-core/pull/15307))**
452 - **dev/core#1355 Add contention handling for dedupe jobs ([15670](https://github.com/civicrm/civicrm-core/pull/15670))**
454 - **Revised version of test from #15725 ([15948](https://github.com/civicrm/civicrm-core/pull/15948))**
456 - **[NFC] Test update following PR #16150, assertEquals first param is th… ([16219](https://github.com/civicrm/civicrm-core/pull/16219))**
458 - **dev/core#1499 - Case Resource shows contact names that are not access… ([16150](https://github.com/civicrm/civicrm-core/pull/16150))**
460 - **Deprecate creating partially paid contributions, other than by partially paying a contribution. ([15855](https://github.com/civicrm/civicrm-core/pull/15855))**
462 - **[NFC] Add in more assertions around the content of line items and tot… ([16218](https://github.com/civicrm/civicrm-core/pull/16218))**
464 - **[REF] Update fetchAll function signature to match parent function ([16198](https://github.com/civicrm/civicrm-core/pull/16198))**
466 - **Fix Error handling following DB Package upgrade ([16213](https://github.com/civicrm/civicrm-core/pull/16213))**
468 - **dev/core#1143 Support MySQL 8 by wrapping the word groups around in b… ([16201](https://github.com/civicrm/civicrm-core/pull/16201))**
470 - **dev/core#392 Fix FTS INNDOB indexer query to work in MySQL 8 as well … ([16202](https://github.com/civicrm/civicrm-core/pull/16202))**
472 - **dev/core#1143 Fix Upgrade tests on MySQL 8 by quoting reserved words ([16214](https://github.com/civicrm/civicrm-core/pull/16214))**
474 - **dev/WordPress#2 Modify the WordPress plugin version using distmaker ([16211](https://github.com/civicrm/civicrm-core/pull/16211))**
476 - **dev/core#1506 Fix blank group title in recent items list when editing description inline ([16197](https://github.com/civicrm/civicrm-core/pull/16197))**
478 - **REF Simplify if statement on case activity form ([16210](https://github.com/civicrm/civicrm-core/pull/16210))**
480 - **dev/core#1143 Ensure that columns that are reserved words e.g. groupi… ([16203](https://github.com/civicrm/civicrm-core/pull/16203))**
482 - **dev/core#392 Ensure that the log_date column on logging tables is NOT… ([16204](https://github.com/civicrm/civicrm-core/pull/16204))**
484 - **dev/core#392 Fix handling of dates in getMembershipStarts function to… ([16207](https://github.com/civicrm/civicrm-core/pull/16207))**
486 - **dev/core#1143 Ensure that any field name when performaning an export … ([16206](https://github.com/civicrm/civicrm-core/pull/16206))**
488 - **Update copyright headers following merge of #14662 ([16199](https://github.com/civicrm/civicrm-core/pull/16199))**
490 - **[REF] Eliminate ['userID'] as an input for BAO_Membership::create ([16196](https://github.com/civicrm/civicrm-core/pull/16196))**
492 - **dev/core#1143 enable auto adding of backticks when doing an insert() or update() function ([16193](https://github.com/civicrm/civicrm-core/pull/16193))**
494 - **Update function to repair indexes to take table as a parameter ([16146](https://github.com/civicrm/civicrm-core/pull/16146))**
496 - **dev/core#711 Add in upgrade step for removing Google+ from website ty… ([16185](https://github.com/civicrm/civicrm-core/pull/16185))**
498 - **[REF] Move the storing of custom data into the add function rather th… ([16191](https://github.com/civicrm/civicrm-core/pull/16191))**
500 - **Add PDF letter functionality for Activities using new token processor ([14662](https://github.com/civicrm/civicrm-core/pull/14662))**
502 - **5.22 ([16194](https://github.com/civicrm/civicrm-core/pull/16194))**
504 - **Remove $ids as parameter for Membership::add ([16192](https://github.com/civicrm/civicrm-core/pull/16192))**
506 - **Permit modified_id as a parameter for membership create api ([16166](https://github.com/civicrm/civicrm-core/pull/16166))**
508 - **Remove unindexed join from getACLRoles query ([16183](https://github.com/civicrm/civicrm-core/pull/16183))**
510 - **5.22 ([16188](https://github.com/civicrm/civicrm-core/pull/16188))**
512 - **dev/drupal#98 Fix masquerade issue caused by drupal update change ([16177](https://github.com/civicrm/civicrm-core/pull/16177))**
514 - **Mailing Subscribe Form: remove nbsp from descriptions ([16186](https://github.com/civicrm/civicrm-core/pull/16186))**
516 - **Update my contributor details ([16184](https://github.com/civicrm/civicrm-core/pull/16184))**
518 - **dev/core#711 remove Google+ ([16099](https://github.com/civicrm/civicrm-core/pull/16099))**
520 - **[NFC] Doc Block fix should be bool no boolean as per coding standards ([596](https://github.com/civicrm/civicrm-drupal/pull/596))**
522 - **dev/drupal#102 Fix wiki link that goes nowhere ([595](https://github.com/civicrm/civicrm-drupal/pull/595))**
524 - **Remove SymfonyComponents/YAML package ([285](https://github.com/civicrm/civicrm-packages/pull/285))**
526 - **[REF] Activate fetchAll function in DataObject file ([281](https://github.com/civicrm/civicrm-packages/pull/281))**
528 - **Remove unmaintained unsupported System_Command package ([283](https://github.com/civicrm/civicrm-packages/pull/283))**
530 - **Fix unit tests after gettext merge ([282](https://github.com/civicrm/civicrm-packages/pull/282))**
532 - **Update DB_Object ([280](https://github.com/civicrm/civicrm-packages/pull/280))**
534 - **Update gettext to latest tagged release ([227](https://github.com/civicrm/civicrm-packages/pull/227))**
536 - **Upgrade DB package to be version 1.9.3 ([276](https://github.com/civicrm/civicrm-packages/pull/276))**
538 - **Remove unsupported and unused package DB_Table ([277](https://github.com/civicrm/civicrm-packages/pull/277))**
540 ## <a name="misc"></a>Miscellany
542 ## <a name="credits"></a>Credits
544 This release was developed by the following code authors:
546 a-n The Artists Information Company - William Mortada; AGH Strategies - Andrew Hunt; Agileware - Pengyi Zhang; Andrei Mondoc; borisson; British Humanist Association - Andrew West; Caltha - Tomasz Pietrzkowski; Chris Burgess; Circle Interactive - Pradeep Nayak; CiviCoop - Jaap Jansma; CiviCRM - Coleman Watts, Tim Otten; CiviDesk - Yashodha Chaku; CompuCorp - Vinu Varshith Sekar; Coop SymbioTIC - Mathieu Lutfy, Samuel Vanhove; Dave D; Electronic Frontier Foundation - Mark Burdett; Fuzion - Jitendra Purohit; GMCVO Databases - Jade Gaunt; JMA Consulting - Seamus Lee; John Kingsnorth; Joinery - Allen Shaw; Megaphone Technology Consulting - Jon Goldberg; MJCO - Mikey O'Toole; MJW Consulting - Matthew Wire; myDropWizard - David Snopek; Progressive Technology Project - Jamie McClelland; Squiffle Consulting - Aidan Saunders; Tadpole Collective - Kevin Cristiano; Third Sector Design - Michael McAndrew; Timbsoft Technologies - Tunbola Ogunwande; Web Access - Kurund Jalmi; Wikimedia Foundation - Eileen McNaughton, Elliott Eggleston
548 Most authors also reviewed code for this release; in addition, the following
549 reviewers contributed their comments:
551 a-n The Artists Information Company - William Mortada; AGH Strategies - Alice Frumin, Andrew Hunt; Agileware - Justin Freeman, Pengyi Zhang; Andrei Mondoc; Andrew Cormick-Dockery; Artful Robot - Rich Lott; borisson; British Humanist Association - Andrew West; Christian Wach; Circle Interactive - Pradeep Nayak; civibot[bot]; CiviCoop - Jaap Jansma; civicrm-builder; CiviCRM - Coleman Watts, Tim Otten; CiviDesk - Nicolas Ganivet, Yashodha Chaku; CompuCorp - Shitij Gugnani; Coop SymbioTIC - Mathieu Lutfy; Dave D; Electronic Frontier Foundation - Mark Burdett; Francesc Bassas i Bullich; Fuzion - Jitendra Purohit, Luke Stewart, Peter Davis; Greenpeace Central and Eastern Europe - Patrick Figel; JMA Consulting - Joe Murray, Monish Deb, Seamus Lee; John Kingsnorth; Joinery - Allen Shaw; Korlon - Stuart Gaston; Lighthouse Design and Consulting - Brian Shaughnessy; Megaphone Technology Consulting - Jon Goldberg; mikantchap; MJCO - Mikey O'Toole; MJW Consulting - Matthew Wire; Richard van Oosterhout; Squiffle Consulting - Aidan Saunders; SYSTOPIA Organisationsberatung - Björn Endres; Tadpole Collective - Kevin Cristiano; tapashdatta; Timbsoft Technologies - Tunbola Ogunwande; Wikimedia Foundation - Eileen McNaughton, Elliott Eggleston
553 ## <a name="feedback"></a>Feedback
555 These release notes are edited by Alice Frumin and Andrew Hunt. If you'd like
556 to provide feedback on them, please log in to https://chat.civicrm.org/civicrm