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? | 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** |
24 ## <a name="features"></a>Features
28 - **Add created & modified dates to "View Relationship" screen
29 ([22909](https://github.com/civicrm/civicrm-core/pull/22909))**
31 Adds created and modified dates to the "View Relationship" screen.
33 - **Replace entity icons
34 ([dev/user-interface#26](https://lab.civicrm.org/dev/user-interface/-/issues/26):
35 [23094](https://github.com/civicrm/civicrm-core/pull/23094) and
36 [23073](https://github.com/civicrm/civicrm-core/pull/23073))**
38 Displays font-awesome icons instead of the old image gifs in the user
39 interface for contact types and recent items.
41 - **Raise number of websites available to inline edit
42 ([dev/core#3106](https://lab.civicrm.org/dev/core/-/issues/3106):
43 [22908](https://github.com/civicrm/civicrm-core/pull/22908))**
45 Raises the max number of inline editable websites from 5 to 25.
47 - **Add in APIv4 Logging Entity
48 ([23129](https://github.com/civicrm/civicrm-core/pull/23129))**
50 Exposes the civicrm_log table to APIv4.
52 - **Add APIv4 for RecentItems
53 ([23099](https://github.com/civicrm/civicrm-core/pull/23099))**
55 Exposes the list of recently viewed items to APIv4.
57 - **Enable APIv4 export action on UFGroup and UFField.
58 ([22832](https://github.com/civicrm/civicrm-core/pull/22832))**
60 Makes the export action available on the UFGroup and UFField Entities in
63 - **SearchKit - Allow creation of new records via in-place edit
64 ([22376](https://github.com/civicrm/civicrm-core/pull/22376))**
66 Allows e.g. an email record to be created if one does not already exist via
69 - **SearchKit - mark stable
70 ([23010](https://github.com/civicrm/civicrm-core/pull/23010))**
72 Marks SearchKit as stable.
74 - **Search Kit - Auto-enable during normal installation
75 ([22952](https://github.com/civicrm/civicrm-core/pull/22952))**
77 Auto-enables SearchKit during installation.
79 - **SearchKit - Add CiviMail integration
80 ([22808](https://github.com/civicrm/civicrm-core/pull/22808))**
82 Makes it so SearchKit works with CiviMail.
84 - **SearchKit - Improve checkbox UX for bulk actions
85 ([22906](https://github.com/civicrm/civicrm-core/pull/22906))**
87 Improves user experience for SearchKit bulk actions.
89 - **SearchKit - Add icon support
90 ([23034](https://github.com/civicrm/civicrm-core/pull/23034))**
92 Adds Icon support to SearchKit.
94 - **Afform - compose layouts with multiple SearchKit displays
95 ([22887](https://github.com/civicrm/civicrm-core/pull/22887))**
97 Allows multiple search displays on an afform, which permits composing a
98 dashboard-like layout.
100 - **Afform - Easier layout creation with predefined container styles and
101 built-in title ([22975](https://github.com/civicrm/civicrm-core/pull/22975))**
103 This makes layouts easier to make, by adding predefined "Panel Pane" and
104 "Collapsible" styles which can be applied to any container element. It also
105 makes container titles easier to work with, and fixes some issues with saving
108 - **Add option_value_fields metadata
109 ([22996](https://github.com/civicrm/civicrm-core/pull/22996))**
111 Adds metadata for OptionValues.
113 - **Add action links for group.
114 ([22912](https://github.com/civicrm/civicrm-core/pull/22912))**
120 - **Add case ID and make subject optional for case detail report
121 ([22973](https://github.com/civicrm/civicrm-core/pull/22973))**
123 Improves case detail report by making the case ID available and making the
124 subject field optional.
128 - **Add support for financial account custom fields
129 ([23067](https://github.com/civicrm/civicrm-core/pull/23067))**
131 Enables support for custom fields on Financial Accounts.
133 - **Add page id and template type as data attributes in contribution templates
134 ([21945](https://github.com/civicrm/civicrm-core/pull/21945))**
136 Adds more details about the page id and template type to the html of the
137 contribution templates.
139 - **Proposal - make future recurring contribution instances modifiable & not
140 fail if the only contribution is deleted. (Work towards
141 [dev/financial#6](https://lab.civicrm.org/dev/financial/-/issues/6):
142 [21473](https://github.com/civicrm/civicrm-core/pull/21473) and
143 [21470](https://github.com/civicrm/civicrm-core/pull/21470))**
145 Update the recurring contribution when the template contribution is edited.
146 Fixes the creation of the template contribution when it has custom data.
150 - **Add membership_id as a reference to the row
151 ([23049](https://github.com/civicrm/civicrm-core/pull/23049))**
153 Add membership id as a reference to each row on contact dashboard.
155 ### Drupal Integration
157 - **What if we stopped publishing Drupal 6 releases in 2022?
158 ([22960](https://github.com/civicrm/civicrm-core/pull/22960))**
160 Ends support for Drupal6 integration.
162 - **civicrm.drush.inc - Add 'civicrm-pipe' subcommand
163 ([652](https://github.com/civicrm/civicrm-drupal/pull/652))**
165 Adds support for subcommand `drush civicrm-pipe` (`drush cvpipe`).
167 ## <a name="bugs"></a>Bugs resolved
172 - **Preserve previous tab when navigating to and from contact page
173 ([dev/core#3003](https://lab.civicrm.org/dev/core/-/issues/3003):
174 [22316](https://github.com/civicrm/civicrm-core/pull/22316))**
176 - **cannot set serialize=0 via api3 when creating custom fields
177 ([dev/core#2524](https://lab.civicrm.org/dev/core/-/issues/2524):
178 [22934](https://github.com/civicrm/civicrm-core/pull/22934))**
180 - **Cannot remove Group Organisation selection in multisite setup
181 ([dev/core#2633](https://lab.civicrm.org/dev/core/-/issues/2633):
182 [20437](https://github.com/civicrm/civicrm-core/pull/20437))**
184 - **Contact Type get Changed after renewal with credit card
185 ([dev/core#2833](https://lab.civicrm.org/dev/core/-/issues/2833):
186 [21467](https://github.com/civicrm/civicrm-core/pull/21467))**
188 - **Users cannot be created if no unsupervised deduping rule exists
189 ([dev/core#2918](https://lab.civicrm.org/dev/core/-/issues/2918):
190 [22804](https://github.com/civicrm/civicrm-core/pull/22804))**
192 - **Filename in content-disposition should have extension
193 ([dev/core#3034](https://lab.civicrm.org/dev/core/-/issues/3034):
194 [22532](https://github.com/civicrm/civicrm-core/pull/22532) and
195 [23083](https://github.com/civicrm/civicrm-core/pull/23083))**
197 Ensures that filename contains the file extension for PDFs.
199 - **Enhance EntityRef to widget to show create new option when contacts are
200 restricted by multiple contact type
201 ([dev/core#3082](https://lab.civicrm.org/dev/core/-/issues/3082):
202 [22830](https://github.com/civicrm/civicrm-core/pull/22830))**
204 - **Checkbox fields on profile admin page can't be unchecked
205 ([dev/core#3085](https://lab.civicrm.org/dev/core/-/issues/3085):
206 [22916](https://github.com/civicrm/civicrm-core/pull/22916))**
208 - **CRM_Core_BAO_Address::addGeocoderData mishandling NULL geocodes
209 ([dev/core#3132](https://lab.civicrm.org/dev/core/-/issues/3132):
210 [23009](https://github.com/civicrm/civicrm-core/pull/23009))**
212 - **Gender field no longer working
213 ([dev/core#3142](https://lab.civicrm.org/dev/core/-/issues/3142):
214 [23053](https://github.com/civicrm/civicrm-core/pull/23053))**
216 - **Upgrade to CiviCRM 5.48.0 fails with No such Table
217 ([dev/core#3166](https://lab.civicrm.org/dev/core/-/issues/3166):
218 [23148](https://github.com/civicrm/civicrm-core/pull/23148))**
220 - **Allow API4 match to match an empty value
221 ([22882](https://github.com/civicrm/civicrm-core/pull/22882))**
223 - **Fix copy button float in APIv4 Explorer
224 ([22978](https://github.com/civicrm/civicrm-core/pull/22978))**
226 - **APIv4 - Get dynamic list of entity types
227 ([22826](https://github.com/civicrm/civicrm-core/pull/22826))**
229 Switches APIv4 Entity.get to dynamically fetch a list of entity types instead
230 of using a hardcoded list.
232 - **APIv4 Explorer - Adjust 'Index' field to fit better on narrow screens
233 ([23146](https://github.com/civicrm/civicrm-core/pull/23146))**
235 - **SearchKit - Fix joins when RelationshipCache is base search entity
236 ([23066](https://github.com/civicrm/civicrm-core/pull/23066))**
238 - **SearchKit - Fix page size size
239 ([22927](https://github.com/civicrm/civicrm-core/pull/22927))**
241 Shrinks the page size input to fit on smaller screens or dashboards.
243 - **SearchKit - Fix "all selected" checkbox when selecting a single page
244 ([23003](https://github.com/civicrm/civicrm-core/pull/23003))**
246 - **SearchKit - Ensure filters work with multiple search displays on a form
247 ([23018](https://github.com/civicrm/civicrm-core/pull/23018))**
249 - **Afform - Fix collapsible style
250 ([23011](https://github.com/civicrm/civicrm-core/pull/23011))**
252 - **Afform - reset managed entities when deleting a dashlet
253 ([22957](https://github.com/civicrm/civicrm-core/pull/22957))**
255 - **Link to Google Maps over HTTPs
256 ([23044](https://github.com/civicrm/civicrm-core/pull/23044))**
258 - **noexpand seems to never be assigned
259 ([23005](https://github.com/civicrm/civicrm-core/pull/23005))**
261 - **During upgrade log that it ran the sql when there is just a sql file and no
263 ([22939](https://github.com/civicrm/civicrm-core/pull/22939))**
265 - **Fix OptionValue BAO to call pre/post hooks to prevent force-reset of managed
266 option values ([23130](https://github.com/civicrm/civicrm-core/pull/23130))**
268 - **Copy Clear value in batch update process for radio button field
269 ([22941](https://github.com/civicrm/civicrm-core/pull/22941))**
271 - **[WIP] Schema - Fix boolean fields in various tables
272 ([22954](https://github.com/civicrm/civicrm-core/pull/22954))**
274 - **Prevent escaping on cancelInfo_show_ids
275 ([23077](https://github.com/civicrm/civicrm-core/pull/23077))**
277 - **Do not default-escape upgrade linkes + Enotice fix on Extension screen
278 ([23058](https://github.com/civicrm/civicrm-core/pull/23058))**
280 - **Fix notices on Task.tpl (grumpy mode)
281 ([23006](https://github.com/civicrm/civicrm-core/pull/23006))**
283 - **Remove isset(taxAmount) from membership online receipt
284 ([23017](https://github.com/civicrm/civicrm-core/pull/23017))**
286 - **SampleData - Fix missing option value names
287 ([23000](https://github.com/civicrm/civicrm-core/pull/23000))**
289 - **Fix undefined index by making sure that is_template is always defined
290 ([22993](https://github.com/civicrm/civicrm-core/pull/22993))**
292 - **Don't lose search criteria for smart group built with search builder
293 ([23052](https://github.com/civicrm/civicrm-core/pull/23052))**
295 - **Fix double encoding of document title on Contact view form
296 ([22928](https://github.com/civicrm/civicrm-core/pull/22928))**
298 - **Group Contact create -> fix to use post hook for subscription records
299 ([22419](https://github.com/civicrm/civicrm-core/pull/22419))**
301 - **Make note date required when creating note
302 ([22987](https://github.com/civicrm/civicrm-core/pull/22987))**
304 - **Respect zero value
305 ([23016](https://github.com/civicrm/civicrm-core/pull/23016))**
307 - **E-notice fix on pdfLetter
308 ([23007](https://github.com/civicrm/civicrm-core/pull/23007))**
310 - **Add chartEnabled to expectedSmartyVariables for reports
311 ([23045](https://github.com/civicrm/civicrm-core/pull/23045))**
313 Avoids another Smarty notice on reports which do not have charts enabled.
315 - **Re-fix enotice on templateSelected
316 ([23008](https://github.com/civicrm/civicrm-core/pull/23008))**
318 - **Notices on import - consolidate mapping variables
319 ([23119](https://github.com/civicrm/civicrm-core/pull/23119))**
321 - **Emit deprecated warning for typo version of hook_civicrm_links
322 ([23117](https://github.com/civicrm/civicrm-core/pull/23117))**
324 - **Fix enotice, simplify text on Saved field mapping
325 ([23114](https://github.com/civicrm/civicrm-core/pull/23114))**
327 - **Fixes issue with duplicate is_billing on inline address forms.
328 ([22850](https://github.com/civicrm/civicrm-core/pull/22850))**
330 - **Fix incorrect use of icon argument for crmButton function
331 ([23145](https://github.com/civicrm/civicrm-core/pull/23145))**
333 - **Fix smarty notices in billing form
334 ([22992](https://github.com/civicrm/civicrm-core/pull/22992))**
336 - **Avoid PHP notices in activity search
337 ([23093](https://github.com/civicrm/civicrm-core/pull/23093))**
339 - **Notice fixes in advanced search
340 ([22956](https://github.com/civicrm/civicrm-core/pull/22956))**
342 - **Avoid trailing spaces in trigger output
343 ([23069](https://github.com/civicrm/civicrm-core/pull/23069))**
345 - **Ensure formType is assigned to the template
346 ([23078](https://github.com/civicrm/civicrm-core/pull/23078))**
348 - **Ensure pay_later variables assigned to template
349 ([22971](https://github.com/civicrm/civicrm-core/pull/22971))**
351 - **Ensure some variables are assigned to the template
352 ([22972](https://github.com/civicrm/civicrm-core/pull/22972))**
354 - **Ensure soft credit types are assigned to the template
355 ([23037](https://github.com/civicrm/civicrm-core/pull/23037))**
357 - **Keep "EntityFile" records until after Symfony "delete" hooks fire
358 ([23002](https://github.com/civicrm/civicrm-core/pull/23002))**
360 - **Fix property declarations
361 ([22965](https://github.com/civicrm/civicrm-core/pull/22965))**
363 - **Schema - Fix boolean fields in civicrm_event and civicrm_contribution
364 ([22925](https://github.com/civicrm/civicrm-core/pull/22925))**
366 - **Do not default escape 'create new' links
367 ([22969](https://github.com/civicrm/civicrm-core/pull/22969))**
369 - **Do not escape hierarchical select
370 ([22991](https://github.com/civicrm/civicrm-core/pull/22991))**
372 - **Enotice fix in grumpy smarty mode
373 ([22970](https://github.com/civicrm/civicrm-core/pull/22970))**
375 - **Enotice fix (grumpy smarty)
376 ([22988](https://github.com/civicrm/civicrm-core/pull/22988))**
379 ([22989](https://github.com/civicrm/civicrm-core/pull/22989))**
381 - **Grumpy smarty - Never escape 'initHideBoxes'
382 ([22990](https://github.com/civicrm/civicrm-core/pull/22990))**
384 - **Remove bad use of PHP assert, removed in PHP 8.0
385 ([22981](https://github.com/civicrm/civicrm-core/pull/22981))**
387 - **Split mailing label formatting out from main format
388 ([22463](https://github.com/civicrm/civicrm-core/pull/22463))**
392 - **Fix issues with case sorting/searching from case dashboard
393 ([21514](https://github.com/civicrm/civicrm-core/pull/21514))**
397 - **Accounting entries incorrect in a number of cases... especially with pending
398 refunds and overpayments (Work towards
399 [dev/financial#186](https://lab.civicrm.org/dev/financial/-/issues/186):
400 [23076](https://github.com/civicrm/civicrm-core/pull/23076))**
402 Do not display partially paid & partially refunded for selection on edit.
404 - **PCP: Account creation profile does not support contact image
405 ([dev/core#2986](https://lab.civicrm.org/dev/core/-/issues/2986):
406 [22223](https://github.com/civicrm/civicrm-core/pull/22223))**
408 - **Avoid PHP notices from smarty on pricefield table
409 ([23046](https://github.com/civicrm/civicrm-core/pull/23046))**
411 - **Remove more isset from offline receipt
412 ([23072](https://github.com/civicrm/civicrm-core/pull/23072))**
414 - **do not URL Encode parameters for PayFlowPro
415 ([23054](https://github.com/civicrm/civicrm-core/pull/23054))**
417 - **Remove grumpy-mode-incompatible isset in payment notification
418 ([23014](https://github.com/civicrm/civicrm-core/pull/23014))**
420 - **Cleanup variable assigns in ContributionPage confirm
421 ([22902](https://github.com/civicrm/civicrm-core/pull/22902))**
423 - **First recurring payment (paypal ipn) - remove redundant status set,
425 ([23081](https://github.com/civicrm/civicrm-core/pull/23081))**
427 - **Remove issets on pay_later_receipt
428 ([23004](https://github.com/civicrm/civicrm-core/pull/23004))**
430 - **Simplify fix for smarty/php notice on contributionview
431 ([22886](https://github.com/civicrm/civicrm-core/pull/22886))**
433 - **Add paymentstatus helpers for doPayment and separate return params
434 ([22680](https://github.com/civicrm/civicrm-core/pull/22680))**
436 - **Expose payment processor error from PaymentProcessor.pay
437 ([22900](https://github.com/civicrm/civicrm-core/pull/22900))**
439 - **Ensure pay_later_text is always assigned
440 ([22977](https://github.com/civicrm/civicrm-core/pull/22977))**
442 - **Stop passing settings into getTaxLabel
443 ([23040](https://github.com/civicrm/civicrm-core/pull/23040))**
445 - **Assign totalTaxAmount more consistently
446 ([23038](https://github.com/civicrm/civicrm-core/pull/23038))**
450 - **Remove isset from event registration receipt
451 ([23064](https://github.com/civicrm/civicrm-core/pull/23064))**
453 - **Add workflow template for offline event
454 ([22904](https://github.com/civicrm/civicrm-core/pull/22904))**
456 - **Event Location fixes
457 ([23041](https://github.com/civicrm/civicrm-core/pull/23041))**
459 - **Remove issets from event_offline_receipt pay_later_text
460 ([23060](https://github.com/civicrm/civicrm-core/pull/23060))**
464 - **After upgrade to 5.48.0 Error: Mailing cannot be sent. There are missing or
465 invalid fields (subject,name,from_name,from_email,body)
466 ([dev/mail#107](https://lab.civicrm.org/dev/mail/-/issues/107):
467 [23141](https://github.com/civicrm/civicrm-core/pull/23141))**
469 - **CiviMail - Remove deprecated variable only used by Mosaico
470 ([22689](https://github.com/civicrm/civicrm-core/pull/22689))**
472 - **Set limit to 0 when processing send sms task
473 ([23166](https://github.com/civicrm/civicrm-core/pull/23166))**
477 - **Recurring membership term is incorrect when using price sets
478 ([dev/membership#41](https://lab.civicrm.org/dev/membership/-/issues/41):
479 [22825](https://github.com/civicrm/civicrm-core/pull/22825))**
481 - **Calculate lifetime memberships more accurately
482 ([22255](https://github.com/civicrm/civicrm-core/pull/22255))**
484 - **Enotice fix - membership search
485 ([23136](https://github.com/civicrm/civicrm-core/pull/23136))**
487 ## <a name="misc"></a>Miscellany
489 - **Add utils for managing schema to extension upgrader base class
490 ([22955](https://github.com/civicrm/civicrm-core/pull/22955))**
492 - **add classes to the membership userdashboard page
493 ([23021](https://github.com/civicrm/civicrm-core/pull/23021))**
495 - **Replace incorrect class comment
496 ([23043](https://github.com/civicrm/civicrm-core/pull/23043))**
498 - **Finish conversion of static function to non-static
499 ([23042](https://github.com/civicrm/civicrm-core/pull/23042))**
501 - **Bump minimist from 1.2.5 to 1.2.6
502 ([23090](https://github.com/civicrm/civicrm-core/pull/23090))**
504 - **Optimise isCustomDateField
505 ([22943](https://github.com/civicrm/civicrm-core/pull/22943))**
507 - **Access invoice_prefix setting directly
508 ([23039](https://github.com/civicrm/civicrm-core/pull/23039))**
510 - **Fix function calls to be non-static
511 ([23122](https://github.com/civicrm/civicrm-core/pull/23122))**
513 - **Fully deprecate `getTokenDetails`
514 ([22483](https://github.com/civicrm/civicrm-core/pull/22483))**
516 - **regenerate civicrm_generated
517 ([22917](https://github.com/civicrm/civicrm-core/pull/22917))**
519 - **Test cleanup (minor)
520 ([23112](https://github.com/civicrm/civicrm-core/pull/23112))**
522 - **Simplify class inheritance
523 ([23121](https://github.com/civicrm/civicrm-core/pull/23121))**
525 - **Tpl cleanup - whitespace, wrong closing tag
526 ([23124](https://github.com/civicrm/civicrm-core/pull/23124))**
528 - **Consolidate MapTable.tpl
529 ([23138](https://github.com/civicrm/civicrm-core/pull/23138))**
531 - **Test cleanup, deprecate ContributionSoft::retrieve
532 ([23106](https://github.com/civicrm/civicrm-core/pull/23106))**
534 - **Cleanup unnecessary variables
535 ([23111](https://github.com/civicrm/civicrm-core/pull/23111))**
537 - **Remove use of deprecated FILTER_SANITIZE_STRING
538 ([22982](https://github.com/civicrm/civicrm-core/pull/22982))**
540 - **Remove unnecessary pass-by-ref
541 ([23110](https://github.com/civicrm/civicrm-core/pull/23110))**
543 - **Remove unused variable
544 ([23113](https://github.com/civicrm/civicrm-core/pull/23113))**
546 - **Remove double return statement
547 ([23108](https://github.com/civicrm/civicrm-core/pull/23108))**
549 - **Remove use of overrideDefaultCurrency method from eventInfo page.
550 ([22802](https://github.com/civicrm/civicrm-core/pull/22802))**
552 - **Remove good intentions
553 ([23126](https://github.com/civicrm/civicrm-core/pull/23126))**
555 - **Remove unused private variables
556 ([23123](https://github.com/civicrm/civicrm-core/pull/23123))**
558 - **Remove 'in-between' class
559 ([23133](https://github.com/civicrm/civicrm-core/pull/23133))**
561 - **Remove unused property
562 ([23137](https://github.com/civicrm/civicrm-core/pull/23137))**
564 - **Remove unnecessary pass-by-ref
565 ([23132](https://github.com/civicrm/civicrm-core/pull/23132))**
567 - **Rename test class to reflect form
568 ([22903](https://github.com/civicrm/civicrm-core/pull/22903))**
570 - **Test usability fix
571 ([23096](https://github.com/civicrm/civicrm-core/pull/23096))**
573 - **Cleanup FinancialAccount BAO to use `writeRecord` and deprecate `add`
574 ([23079](https://github.com/civicrm/civicrm-core/pull/23079))**
576 - **[REF] Update Composer compile plugin
577 ([23088](https://github.com/civicrm/civicrm-core/pull/23088))**
579 - **[REF] Create polyfill function for array_key_first which only exists in
581 ([23095](https://github.com/civicrm/civicrm-core/pull/23095))**
583 - **[REF] Extract & stdise AmountBlockIsActive
584 ([22291](https://github.com/civicrm/civicrm-core/pull/22291))**
586 - **(REF) Schema - Fix boolean fields in various tables - Split commits
587 ([23134](https://github.com/civicrm/civicrm-core/pull/23134))**
589 - **REF - Split upgrade SQL into multiple tasks
590 ([22950](https://github.com/civicrm/civicrm-core/pull/22950))**
592 - **[REF] APIv4 - Use new class_args metadata to remove special handing
593 ([22853](https://github.com/civicrm/civicrm-core/pull/22853))**
595 - **REF Cleanup activity getBespokeTokens()
596 ([22974](https://github.com/civicrm/civicrm-core/pull/22974))**
598 - **[REF] Deprecate BAO_Contact::retrieve
599 ([22966](https://github.com/civicrm/civicrm-core/pull/22966))**
601 - **[NFC] - Compatibility for PHP-7.4/PHP-8
602 ([22962](https://github.com/civicrm/civicrm-core/pull/22962))**
604 - **[NFC] Superficial cleanup
605 ([22907](https://github.com/civicrm/civicrm-core/pull/22907))**
607 - **[NFC] Fix URL documenting Batch entity
608 ([23062](https://github.com/civicrm/civicrm-core/pull/23062))**
610 ## <a name="credits"></a>Credits
612 This release was developed by the following code authors:
614 AGH Strategies - Alice Frumin, Andie Hunt; Blackfly Solutions - Alan Dixon;
615 BrightMinded Ltd - Bradley Taylor; Christian Wach; Circle Interactive -
616 Pradeep Nayak; CiviCoop - Jaap Jansma; CiviCRM - Coleman Watts, Tim Otten;
617 CiviDesk - Yashodha Chaku; Dave D; Future Processing - Adrian; Fuzion - Luke
618 Stewart; Ginkgo Street Labs - Michael Z Daryabeygi; iXiam - Vangelis Pantazis;
619 JMA Consulting - Monish Deb, Seamus Lee; Klangsoft - David Reedy Jr; Megaphone
620 Technology Consulting - Jon Goldberg; MJW Consulting - Matthew Wire; Oxfam
621 Germany - Thomas Schüttler; PERORA SRL - Samuele Masetto; Progressive Technology
622 Project - Jamie McClelland; Skvare - Sunil Pawar; Tadpole Collective - Kevin
623 Cristiano; Third Sector Design - Kurund Jalmi; Wikimedia Foundation - Eileen
626 Most authors also reviewed code for this release; in addition, the following
627 reviewers contributed their comments:
629 Agileware - Justin Freeman; ALL IN APPLI; Artful Robot - Rich Lott;
630 Australian Greens - John Twyman; Betty Dolfing; Coop SymbioTIC - Mathieu Lutfy,
631 Samuel Vanhove, Shane Bill; Francesc Bassas i Bullich; JMA Consulting - Joe
632 Murray; Richard van Oosterhout; Semper IT - Karin Gerritsen;
634 ## <a name="feedback"></a>Feedback
636 These release notes are edited by Alice Frumin and Andie Hunt. If you'd like
637 to provide feedback on them, please log in to https://chat.civicrm.org/civicrm