<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://sugarclub.sugarai.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>Sugar 25.1 Customization Guide</title><link>https://sugarclub.sugarai.com/dev-club/w/dev-tutorials/998/sugar-25-1-customization-guide</link><description /><dc:language>en-US</dc:language><generator>Telligent Community 12</generator><item><title>Sugar 25.1 Customization Guide</title><link>https://sugarclub.sugarai.com/dev-club/w/dev-tutorials/998/sugar-25-1-customization-guide</link><pubDate>Mon, 14 Apr 2025 12:32:10 GMT</pubDate><guid isPermaLink="false">5c521d64-519d-47a6-9065-134618b211bf:60e79dce-5864-4aca-96f4-1093e5067173</guid><dc:creator>Rafael Fernandes</dc:creator><comments>https://sugarclub.sugarai.com/dev-club/w/dev-tutorials/998/sugar-25-1-customization-guide#comments</comments><description>Current Revision posted to Dev Tutorials by Rafael Fernandes on 4/14/2025 12:32:10 PM&lt;br /&gt;
&lt;p&gt;The purpose of this document is to provide insight to Sugar Developers for upgrading custom Sugar code, extensions, and integrations to the Sugar 25.1 release. This guide focuses on changes in&amp;nbsp;&lt;span&gt;Sugar 25.1&lt;/span&gt;&amp;nbsp;that could cause an immediate impact on Sugar customizations and integrations built for earlier Sugar versions.&lt;/p&gt;
&lt;p&gt;Please check out the&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href="/dev-club/m/event-recaps/2983"&gt;Sugar 25.1 Developer Webinar recording&lt;/a&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;for more developer highlights.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;For Admin and End User release notes, please visit the&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href="https://support.sugarcrm.com/SmartLinks/Release_Notes/25.1.0_Release_Notes/"&gt;Sugar 25.1.0 Release Notes&lt;/a&gt;.&lt;/strong&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1ff80k9i32"&gt;User Experience Updates&lt;/h2&gt;
&lt;h3 id="mcetoc_1gb30ctl1e"&gt;Introducing Package Builder and Deployer&lt;/h3&gt;
&lt;p&gt;We&amp;rsquo;re thrilled to introduce&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;Package Builder and Deployer&lt;/strong&gt;&amp;nbsp;&amp;ndash; a powerful new tool designed to help admins and developers seamlessly promote configurations and customizations across environments.&amp;nbsp;&lt;span class="TextRun SCXW71217995 BCX0" lang="EN-US" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW71217995 BCX0"&gt;This tool has been in the making for a while&amp;nbsp;and now we fell it&amp;#39;s time to release it as it has been proven to work in multiple scenarios across the board.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;This functionality is available&amp;nbsp;through&amp;nbsp;&lt;code&gt;Admin -&amp;gt; Developer Tools -&amp;gt; Package Builder and Deployer&lt;/code&gt;. and it will enable you to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span class="TextRun MacChromeBold SCXW91870631 BCX0" lang="EN-US" data-contrast="none"&gt;&lt;span class="NormalTextRun SCXW91870631 BCX0"&gt;&lt;strong&gt;Support Industry Verticalization&lt;/strong&gt;:&amp;nbsp; You will be able to create your own vertical template (let&amp;#39;s say Manifacturing) and easily package it to be distributed easily&lt;/span&gt;&lt;/span&gt;&lt;span class="TextRun SCXW91870631 BCX0" lang="EN-US" data-contrast="none"&gt;&lt;span class="NormalTextRun SCXW91870631 BCX0"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="TextRun SCXW91870631 BCX0" lang="EN-US" data-contrast="none"&gt;&lt;span class="NormalTextRun SCXW91870631 BCX0"&gt;&lt;strong&gt;Targeted packaging&lt;/strong&gt;: You&amp;nbsp;are now able to select which configurations/customizations you want to distribute&lt;/span&gt;&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;Fields&lt;/li&gt;
&lt;li&gt;Relationships&lt;/li&gt;
&lt;li&gt;Roles&lt;/li&gt;
&lt;li&gt;Layouts
&lt;ul&gt;
&lt;li&gt;List View&lt;/li&gt;
&lt;li&gt;Record View&lt;/li&gt;
&lt;li&gt;Preview&lt;/li&gt;
&lt;li&gt;Preview View&lt;/li&gt;
&lt;li&gt;Popup Views
&lt;ul&gt;
&lt;li&gt;List View&lt;/li&gt;
&lt;li&gt;Search View&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Search View&lt;/li&gt;
&lt;li&gt;Record View Dashlet&lt;/li&gt;
&lt;li&gt;Mobile Layouts
&lt;ul&gt;
&lt;li&gt;Edit View&lt;/li&gt;
&lt;li&gt;List View&lt;/li&gt;
&lt;li&gt;Detail View&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Subpanel Layouts&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;BPM Process Definition&lt;/li&gt;
&lt;li&gt;Legacy Workflows&lt;/li&gt;
&lt;li&gt;Reports&lt;/li&gt;
&lt;li&gt;Dashboards&lt;/li&gt;
&lt;li&gt;Drop-Downs&lt;/li&gt;
&lt;li&gt;Languages&lt;/li&gt;
&lt;li&gt;Timeline Settings&lt;/li&gt;
&lt;li&gt;Smart Guides&lt;/li&gt;
&lt;li&gt;Scheduled Jobs&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;span class="TextRun SCXW91870631 BCX0" lang="EN-US" data-contrast="none"&gt;&lt;span class="NormalTextRun SCXW91870631 BCX0"&gt;&lt;strong&gt;&lt;span class="TextRun SCXW162613501 BCX0" lang="EN-US" data-contrast="none"&gt;&lt;span class="NormalTextRun SCXW162613501 BCX0"&gt;Deployable Unique Package:&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span class="TextRun SCXW162613501 BCX0" lang="EN-US" data-contrast="none"&gt;&lt;span class="NormalTextRun SCXW162613501 BCX0"&gt;System needs&lt;/span&gt;&lt;/span&gt;&lt;span class="TextRun MacChromeBold SCXW162613501 BCX0" lang="EN-US" data-contrast="none"&gt;&lt;span class="NormalTextRun SCXW162613501 BCX0"&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="TextRun SCXW162613501 BCX0" lang="EN-US" data-contrast="none"&gt;&lt;span class="NormalTextRun SCXW162613501 BCX0"&gt;to bundle the selected configurations&lt;/span&gt;&lt;span class="NormalTextRun SCXW162613501 BCX0"&gt;/customizations&lt;/span&gt;&lt;span class="NormalTextRun SCXW162613501 BCX0"&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;into a single, deployable&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span class="NormalTextRun SCXW162613501 BCX0"&gt;solution&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span class="NormalTextRun SCXW162613501 BCX0"&gt;template&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span class="NormalTextRun SCXW162613501 BCX0"&gt;package&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="TextRun SCXW91870631 BCX0" lang="EN-US" data-contrast="none"&gt;&lt;span class="NormalTextRun SCXW91870631 BCX0"&gt;&lt;strong&gt;Converting Staging environments to production&lt;/strong&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;with a click of button.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="TextRun SCXW91870631 BCX0" lang="EN-US" data-contrast="none"&gt;&lt;span class="NormalTextRun SCXW91870631 BCX0"&gt;&lt;span class="TextRun Highlight MacChromeBold SCXW259876131 BCX0" lang="EN-US" data-contrast="none"&gt;&lt;span class="NormalTextRun SCXW259876131 BCX0"&gt;&lt;strong&gt;&lt;span class="TextRun MacChromeBold SCXW988428 BCX0" lang="EN-US" data-contrast="none"&gt;&lt;span class="NormalTextRun SCXW988428 BCX0"&gt;List of Deployed Packages:&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span class="TextRun SCXW988428 BCX0" lang="EN-US" data-contrast="none"&gt;&lt;span class="NormalTextRun SCXW988428 BCX0"&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;Admins&amp;nbsp;will see the list of deployed (with the information it was deployed remotely or locally) solution template packages in any instance&amp;nbsp;admins have&amp;nbsp;access to.&lt;/span&gt;&lt;/span&gt;&lt;span class="EOP SCXW988428 BCX0"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="TextRun SCXW91870631 BCX0" lang="EN-US" data-contrast="none"&gt;&lt;span class="NormalTextRun SCXW91870631 BCX0"&gt;&lt;span class="TextRun Highlight MacChromeBold SCXW259876131 BCX0" lang="EN-US" data-contrast="none"&gt;&lt;span class="NormalTextRun SCXW259876131 BCX0"&gt;&lt;strong&gt;Solution Template Management&lt;/strong&gt;:&lt;/span&gt;&lt;/span&gt;&lt;span class="TextRun MacChromeBold SCXW259876131 BCX0" lang="EN-US" data-contrast="none"&gt;&lt;span class="NormalTextRun SCXW259876131 BCX0"&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="TextRun SCXW259876131 BCX0" lang="EN-US" data-contrast="none"&gt;&lt;span class="NormalTextRun SCXW259876131 BCX0"&gt;Solution template owner can manage&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span class="NormalTextRun SCXW259876131 BCX0"&gt;i.e.&lt;/span&gt;&lt;span class="NormalTextRun SCXW259876131 BCX0"&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;create/update/&lt;/span&gt;&lt;span class="NormalTextRun SCXW259876131 BCX0"&gt;delete&lt;/span&gt;&lt;span class="NormalTextRun SCXW259876131 BCX0"&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;any solution template for an instance they have access to.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;:&amp;nbsp;If a customer is using&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;Oracle&lt;/strong&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;version earlier than&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;23.5&lt;/strong&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;and attempts to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Pull a package using Package Builder and Deployer, or&lt;/li&gt;
&lt;li&gt;Download and install a package created by Package Builder and Deployer,&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;You&amp;nbsp;must first add the following override before pulling or installing the package:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;$sugar_config['pb_bulk_insert'] = false&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;This step ensures compatibility and prevents potential issues during the package installing operation.&lt;/p&gt;
&lt;h3 id="mcetoc_1gb30ctl1e"&gt;Account last interaction&lt;/h3&gt;
&lt;p&gt;In this release,&amp;nbsp;w&lt;span class="NormalTextRun SCXW218849757 BCX0"&gt;e&amp;rsquo;re&lt;/span&gt;&lt;span class="NormalTextRun SCXW218849757 BCX0"&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;introducing a new field called &amp;quot;Last Interaction&amp;quot; on Accounts, designed to enhance your CRM experience by offering a quick snapshot of the most recent customer engagement. An interaction is defined as a &amp;quot;held&amp;quot; call or meeting on the account&amp;nbsp;&lt;span class="TextRun SCXW218849757 BCX0" lang="EN-US" data-contrast="auto"&gt;providing a clear indicator of the last time you connected with the customer.&amp;nbsp;With the &amp;quot;Last Interaction&amp;quot; field, you can effortlessly pinpoint which accounts require immediate attention, all without leaving your current view or generating a separate report.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&amp;ldquo;Last Interaction&amp;rdquo; field is available&amp;nbsp;out-of-the-box&amp;nbsp;in these layouts
&lt;ol&gt;
&lt;li&gt;Record View- under Tags for new instances and existing instances that have not been customized&lt;/li&gt;
&lt;li&gt;Append to the bottom of existing instances that have been customized&lt;/li&gt;
&lt;li&gt;Add filler next to &amp;ldquo;Last Interaction&amp;rdquo; so the field doesn&amp;rsquo;t go across the RV&lt;/li&gt;
&lt;li&gt;The field is displayed as a Date field with a link and an icon to the left of the link&lt;/li&gt;
&lt;li&gt;Record View Dashlet- under Tags for new instances and existing instances
&lt;ol&gt;
&lt;li&gt;Append to the bottom of existing instances that have been customized&lt;/li&gt;
&lt;li&gt;Add filler next to &amp;ldquo;Last Interaction&amp;rdquo;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Popup Listview, Popup Search, Search- in the Hidden column (by default they show up in hidden)&lt;/li&gt;
&lt;li&gt;List View- in the Default column, for new and existing instances, under Date Created&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Changes made to a Call or a Meeting update the related Account record
&lt;ol&gt;
&lt;li&gt;E.g. a call was scheduled in the future and the status changes to &amp;ldquo;Held&amp;rdquo;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;User is able to report on this field and use in other OOTB sugar processes
&lt;ol&gt;
&lt;li&gt;Including filtering in LV&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Field is auditable and reportable&lt;/li&gt;
&lt;li&gt;&lt;span&gt;When a call or meeting triggers an update to the &amp;quot;Last Interaction&amp;quot; field on an account, the corresponding account record is moved to the top of the list view (if ordered by date modified).&lt;/span&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span&gt;This is because the update activates the&amp;nbsp;&lt;/span&gt;&lt;code class="c-mrkdwn__code" data-stringify-type="code"&gt;date_modified&lt;/code&gt;&lt;span&gt;&amp;nbsp;timestamp for that account&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;On upgrade, a new job (&lt;code&gt;SugarJobInitInteractions&lt;/code&gt;) will be created to look at all&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="text-decoration:underline;"&gt;Account Meeting and Call interactions&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;and populate the field with the last activity that was marked &amp;ldquo;Held&amp;rdquo;. It will run only&amp;nbsp;once during upgrade and will&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="text-decoration:underline;"&gt;NOT&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;update&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;code&gt;date_modified&lt;/code&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;field.&lt;/p&gt;
&lt;h3 id="mcetoc_1gb30ctl1e"&gt;Ability to set variable path for record view for OneDrive&lt;/h3&gt;
&lt;p&gt;In this release, we have extended the functionality to configure &amp;quot;Paths for Record View&amp;quot; to support OneDrive and SharePoint, in addition to Dropbox and Google Drive.&lt;/p&gt;
&lt;p&gt;This update enables greater flexibility in managing file paths for OneDrive and SharePoint, allowing users to dynamically configure paths for record views. Feature include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Users can configure variable paths for OneDrive and SharePoint through the &amp;quot;Default Starting Path&amp;quot; and &amp;quot;Variable Path&amp;quot; fields.&lt;/li&gt;
&lt;li&gt;The &amp;quot;Default Starting Path&amp;quot; is read-only and can only be set via the &amp;quot;Select Path&amp;quot; button, ensuring a valid folder ID is used.&lt;/li&gt;
&lt;li&gt;The &amp;quot;Variable Path&amp;quot; field allows users to define dynamic paths using variables (e.g., &amp;quot;$name&amp;quot;, &amp;quot;$name-$industry&amp;quot;).&lt;/li&gt;
&lt;li&gt;Users are limited to setting up one variable folder to be created.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="mcetoc_1gb30ctl1e"&gt;Unique Report Results&lt;/h3&gt;
&lt;p&gt;In this release,&amp;nbsp;we have updated our reporting functionality to allow users to get unique results on their reports by simply selecting a checkbox &amp;quot;Show distinct results&amp;quot;. The columns used in the output of the report will be the ones being unique outputted, something like&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;code&gt;SELECT DISTINCT columnA,&amp;nbsp;&lt;/code&gt;&lt;span&gt;&lt;code&gt;columnB from table&lt;/code&gt;&amp;nbsp;in&amp;nbsp;SQL terms.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;When enabled, this option removes duplicate report results. Duplicates may occur when a record meets a report filter multiple times due to its related records, causing it to be listed more than once. Please note that enabling this option may result in the exclusion of valid records, depending on your report criteria&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1gb30ctl1e"&gt;Migrate from sucrose to chart.js&lt;/h3&gt;
&lt;p&gt;In this release, we continue our transition from Sugar Sucrose (legacy) charting engine to the more modern and robust Chart.js library. As part of this effort, we&amp;#39;ve implemented a Bubble Chart along with its integrated tooltip engine as well as Sales Pipeline (Funnel) charts. This transition moves us closer to making more of our dashlets and reports fully independent from the outdated Sucrose engine.&lt;/p&gt;
&lt;p&gt;In the Forecast Bar Chart, we&amp;#39;re keeping the &amp;ldquo;Likely&amp;ldquo; and &amp;ldquo;Quota&amp;ldquo; legend visible as the dashlet is resized. For the bar part of the chart, use the existing legend behavior where the part of the legend is visible and what doesn&amp;rsquo;t fit gets collapsed under a dropdown.&lt;/p&gt;
&lt;h3 id="mcetoc_1ij671fi10"&gt;Icon Improvements&lt;/h3&gt;
&lt;p&gt;In this release, we&amp;#39;re making improvements to icons in Sugar, the newly improved features are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Adding module icons to list views.&amp;nbsp;&lt;span&gt;When a user is viewing a module in the List View, each module will display its respective icon (according to what&amp;#39;s been selected in Module Names) to the left of the module name.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Updating&amp;nbsp;DocumentMerge&amp;nbsp;icons based on file type. In case filetype isn&amp;#39;t&amp;nbsp;&lt;code&gt;doc, pdf, ppt, excel&lt;/code&gt;&amp;nbsp;we will default it to&amp;nbsp;&lt;code&gt;doc&lt;/code&gt;.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="mcetoc_1gb30ctl1e"&gt;New&amp;nbsp;Submodule for Managing Meeting Recordings and Transcripts&lt;/h3&gt;
&lt;p&gt;In this release, a&amp;nbsp;new submodule has been added to the meetings module in SugarCRM to manage multiple recording URLs and transcript attachments.&lt;/p&gt;
&lt;p&gt;This update supports AI-driven analysis and seamless integration with Sugar Connect, while maintaining a clean user interface by preventing unnecessary menu clutter. The submodule will allow automatic population of meeting data and ensure that users can access recordings and transcripts without modification rights.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Key Features&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Adding multiple recording URLs, associated access codes, and transcript files via Sugar Connect&amp;rsquo;s API&lt;/li&gt;
&lt;li&gt;Displaying this submodule only within the context of the meetings module, without adding it to the global navigation menu&lt;/li&gt;
&lt;li&gt;Including fields for start and end datetimes to define the recording&amp;rsquo;s duration&lt;/li&gt;
&lt;li&gt;Providing read-only access to users for viewing the recordings and transcripts&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="mcetoc_1g4djj0su0"&gt;Artificial Intelligence&lt;/h2&gt;
&lt;h3 id="mcetoc_1iipslfhq1"&gt;Standardizing AI Icons&lt;/h3&gt;
&lt;p&gt;In this release, we are replacing Predict icons with AI icons. The following changes where applied on DropdownStyles, vardefs definitions, language files, .less files, styleguide and HBS files where they were used.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;from&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;code&gt;sicon-sugar-predict-lg&lt;/code&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;to&amp;nbsp;&lt;code&gt;sicon-ai-xl&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;from&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;code&gt;sicon-sugar-predict&lt;/code&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;to&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;code&gt;sicon-ai&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span style="font-size:inherit;"&gt;&lt;strong&gt;Note:&lt;/strong&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;Even though it is not part of the styleguide in favor of AI, we have kept the&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;code&gt;sicon-sugar-predict*&lt;/code&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;in our Sicon library for now.&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1i7u16d9e5"&gt;&lt;span&gt;&lt;span class="TextRun SCXW118627354 BCX0" lang="EN-US" data-contrast="auto"&gt;&lt;span class="NormalTextRun SCXW118627354 BCX0" data-ccp-parastyle="heading 2"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class="NormalTextRun SCXW249156672 BCX0"&gt;&lt;/span&gt;&lt;/span&gt;Sugar REST API updates&lt;/h2&gt;
&lt;p&gt;This Sugar release introduces REST&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;&lt;code&gt;v11_26&lt;/code&gt;&lt;/strong&gt;.&lt;/p&gt;
&lt;h3 id="mcetoc_1gjpkca900"&gt;Connector Salesfusion&lt;/h3&gt;
&lt;p&gt;Gets info about Market organization integrated via salesfusion connector..&lt;/p&gt;
&lt;div class="content-scrollable-wrapper"&gt;
&lt;pre&gt;GET &amp;lt;sugar instance&amp;gt;/rest/v11_26/connector/salesfusion&lt;/pre&gt;
&lt;h3 id="mcetoc_1gjpkca900"&gt;Prospect Lists&lt;/h3&gt;
&lt;p&gt;Get Prospect Lists Prospects.&lt;/p&gt;
&lt;div class="content-scrollable-wrapper"&gt;
&lt;pre&gt;GET &amp;lt;sugar instance&amp;gt;/rest/v11_26/prospect_lists_prospects&lt;/pre&gt;
&lt;h3 id="mcetoc_1gjpkca900"&gt;Find the outbound emails&lt;/h3&gt;
&lt;p&gt;Find the outbound emails current user can use.&lt;/p&gt;
&lt;div class="content-scrollable-wrapper"&gt;
&lt;pre&gt;POST &amp;lt;sugar instance&amp;gt;/rest/v11_26/Mail/outboundEmails&lt;/pre&gt;
&lt;h3 id="mcetoc_1gjpkca900"&gt;Load packages data from remote instance&lt;/h3&gt;
&lt;p&gt;Package builder uses this endpoint to Load packages data from remote instance. This endpoint is only available to administrators.&lt;/p&gt;
&lt;div class="content-scrollable-wrapper"&gt;
&lt;pre&gt;POST &amp;lt;sugar instance&amp;gt;/rest/v11_26/Administration/package/getRemotePackages&lt;/pre&gt;
&lt;h3 id="mcetoc_1gjpkca900"&gt;Extract customizations&lt;/h3&gt;
&lt;p&gt;Package builder uses this endpoint to get customizations in one or multiple categories. This endpoint is only available to administrators.&lt;/p&gt;
&lt;div class="content-scrollable-wrapper"&gt;
&lt;pre&gt;POST &amp;lt;sugar instance&amp;gt;/rest/v11_26/Administration/package/customizations&lt;/pre&gt;
&lt;/div&gt;
&lt;h3 id="mcetoc_1gjpkca900"&gt;Retrieve db data for customizations&lt;/h3&gt;
&lt;p&gt;Package builder uses this endpoint to get db data for customizations. This endpoint is only available to administrators.&lt;/p&gt;
&lt;div class="content-scrollable-wrapper"&gt;
&lt;pre&gt;POST &amp;lt;sugar instance&amp;gt;/rest/v11_26/Administration/package/data&lt;/pre&gt;
&lt;/div&gt;
&lt;h3 id="mcetoc_1gjpkca900"&gt;Create a new package&lt;/h3&gt;
&lt;p&gt;Package builder uses this endpoint to create a new package. This endpoint is only available to administrators.&lt;/p&gt;
&lt;div class="content-scrollable-wrapper"&gt;
&lt;pre&gt;POST &amp;lt;sugar instance&amp;gt;/rest/v11_26/Administration/package&lt;/pre&gt;
&lt;/div&gt;
&lt;h3 id="mcetoc_1gjpkca900"&gt;Upload a package to another instance&lt;/h3&gt;
&lt;p&gt;Package builder uses this endpoint to upload a package to another instance. This endpoint is only available to administrators.&lt;/p&gt;
&lt;div class="content-scrollable-wrapper"&gt;
&lt;pre&gt;POST &amp;lt;sugar instance&amp;gt;/rest/v11_26/Administration/package/remote&lt;/pre&gt;
&lt;h3 id="mcetoc_1gjpkca900"&gt;Get a package&lt;/h3&gt;
&lt;p&gt;Use this endpoint to get the content of a package. This endpoint is only available to administrators.&lt;/p&gt;
&lt;div class="content-scrollable-wrapper"&gt;
&lt;pre&gt;POST &amp;lt;sugar instance&amp;gt;/rest/v11_26/Administration/package/:id&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h3 id="mcetoc_1ff80k9i33"&gt;&lt;code&gt;&lt;/code&gt;&lt;/h3&gt;
&lt;h3 id="mcetoc_1ff80k9i33"&gt;&lt;code&gt;&lt;/code&gt;&lt;/h3&gt;
&lt;div class="content-scrollable-wrapper"&gt;
&lt;div class="content-scrollable-wrapper"&gt;
&lt;h2 id="mcetoc_1gjpkca900"&gt;Deprecated Endpoints&lt;/h2&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;pre&gt;GET &amp;lt;sugar instance&amp;gt;/rest/v11_26/globalsearch?platform=portal&lt;br /&gt;&lt;br /&gt;POST &amp;lt;sugar instance&amp;gt;/rest/v11_26/globalsearch?platform=portal&lt;br /&gt;&lt;br /&gt;GET &amp;lt;sugar instance&amp;gt;/rest/v11_26/&amp;lt;module&amp;gt;/globalsearch?platform=portal&lt;br /&gt;&lt;br /&gt;POST &amp;lt;sugar instance&amp;gt;/rest/v11_26/&amp;lt;module&amp;gt;/globalsearch?platform=portal&lt;br /&gt;&lt;br /&gt;GET &amp;lt;sugar instance&amp;gt;/rest/v11_26/search&lt;br /&gt;&lt;br /&gt;GET &amp;lt;sugar instance&amp;gt;/rest/v11_26/portalsearch&lt;br /&gt;&lt;br /&gt;POST &amp;lt;sugar instance&amp;gt;/rest/v11_26/portalsearch&lt;br /&gt;&lt;br /&gt;GET &amp;lt;sugar instance&amp;gt;/rest/v11_26/Dashboards/&amp;lt;module&amp;gt;&lt;br /&gt;&lt;br /&gt;POST &amp;lt;sugar instance&amp;gt;/rest/v11_26/Dashboards/&amp;lt;module&amp;gt;&lt;br /&gt;&lt;br /&gt;GET &amp;lt;sugar instance&amp;gt;/rest/v11_26/Dashboards&lt;br /&gt;&lt;br /&gt;POST &amp;lt;sugar instance&amp;gt;/rest/v11_26/Dashboards&lt;br /&gt;&lt;br /&gt;POST &amp;lt;sugar instance&amp;gt;/rest/v11_26/Dashboards/Activities&lt;br /&gt;&lt;br /&gt;POST &amp;lt;sugar instance&amp;gt;/rest/v11_26/&amp;lt;module&amp;gt;/:id/link/related_activities&lt;/pre&gt;
&lt;h3 id="mcetoc_1ff80k9i33"&gt;&lt;code&gt;&lt;/code&gt;&lt;/h3&gt;
&lt;h3 id="mcetoc_1ff80k9i33"&gt;&lt;code&gt;&lt;/code&gt;&lt;/h3&gt;
&lt;h2 id="mcetoc_1ftl03hrg6"&gt;&lt;span style="font-size:inherit;"&gt;PHP Library Upgrades&lt;/span&gt;&lt;/h2&gt;
&lt;h3 id="mcetoc_1gj2kiufk0"&gt;PHP-Parser&lt;/h3&gt;
&lt;p&gt;&lt;span&gt;Sugar utilizes a&amp;nbsp;PHP library called&amp;nbsp;&lt;a href="https://github.com/nikic/PHP-Parser/tree/master"&gt;PHP-Parser&lt;/a&gt;&amp;nbsp;Its purpose is to simplify static code analysis and manipulation.&lt;/span&gt;&lt;span&gt;&amp;nbsp;In this release, we are upgrading its version to 4.16.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;There are no known breaking changes in this upgrade, they are mostly bug fixes in this release.&lt;/p&gt;
&lt;div class="content-scrollable-wrapper"&gt;
&lt;pre&gt;nikic/php-parser &amp;rarr; ^v4.16.0&lt;/pre&gt;
&lt;h3 id="mcetoc_1fda51lpf4"&gt;Microsoft Graph SDK&lt;/h3&gt;
&lt;p&gt;&lt;a href="https://github.com/microsoftgraph/msgraph-sdk-php"&gt;Microsoft Graph SDK for PHP&lt;/a&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;provides Sugar with a framework for retrieving data from a Microsoft account using the Microsoft Graph API via OAuth2 tokens. There are no known breaking changes in this upgrade, they are mostly newly generated modes and PHP version support.&lt;/p&gt;
&lt;div class="content-scrollable-wrapper"&gt;
&lt;pre&gt;microsoftgraph/msgraph-sdk-php &lt;span&gt;&amp;rarr;&lt;/span&gt; ^2.12.0&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;h3&gt;Upgrade PHP libs to the latest Minor versions without breaking changes&lt;/h3&gt;
&lt;p&gt;In this release, we&amp;#39;ve updated all minor and patch versions of our PHP libraries as declared in the composer. Since these are minor and patch updates, no breaking changes are expected. The updates primarily include newly generated models and improved PHP version compatibility.&lt;/p&gt;
&lt;div&gt;
&lt;pre&gt;&lt;span&gt;aws/aws-sdk-php &amp;rarr; ^3.336.13&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span&gt;doctrine/dbal &amp;rarr; ^3.9.1&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span&gt;docusign/esign-client &amp;rarr; ^v8.0.0&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span&gt;egulias/email-validator &amp;rarr; ^4.0.2&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span&gt;google/apiclient &amp;rarr; ^v2.18.2&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span&gt;guzzlehttp/guzzle &amp;rarr; ^7.9.2&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span&gt;microsoft/microsoft-graph &amp;rarr; ^v2.23.0&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span&gt;psr/log &amp;rarr; ^3.0.2&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span&gt;psr/simple-cache &amp;rarr; ^3.0.0&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span&gt;ramsey/uuid &amp;rarr; ^4.7.6&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span&gt;rector/rector &amp;rarr; ^1.2.5&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span&gt;rlanvin/php-rrule &amp;rarr; ^v2.5.1&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span&gt;ruflin/elastica &amp;rarr; ^7.3.1&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span&gt;smarty/smarty &amp;rarr; ^5.4.3&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span&gt;symfony/cache &amp;rarr; ^5.4.46&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span&gt;symfony/console &amp;rarr; ^5.4.47&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span&gt;symfony/event-dispatcher &amp;rarr; ^5.4.45&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span&gt;symfony/expression-language &amp;rarr; ^5.4.45&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span&gt;symfony/intl &amp;rarr; ^5.4.47&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span&gt;symfony/polyfill-intl-idn &amp;rarr; ^1.31.0&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span&gt;symfony/process &amp;rarr; ^5.4.47&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span&gt;symfony/security-core &amp;rarr; ^5.4.48&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span&gt;symfony/security-csrf &amp;rarr; ^5.4.45&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span&gt;symfony/validator &amp;rarr; ^5.4.48&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span&gt;wikimedia/less.php &amp;rarr; ^v5.1.1&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;h2 id="mcetoc_1ff80k9i33"&gt;&lt;span style="font-size:inherit;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;JS Library Upgrades&lt;/h2&gt;
&lt;div class="content-scrollable-wrapper"&gt;
&lt;h3 id="mcetoc_1fda51lpf4"&gt;Karma Components&lt;/h3&gt;
&lt;p&gt;&lt;a href="https://github.com/karma-runner/karma"&gt;Karma&lt;/a&gt;&lt;span&gt;&amp;nbsp;and its components&amp;nbsp;&lt;a href="https://github.com/karma-runner/karma-coverage"&gt;karma-coverage&lt;/a&gt;,&amp;nbsp;&lt;a href="https://github.com/karma-runner/karma-sauce-launcher"&gt;karma-sauce-launcher&lt;/a&gt;,&amp;nbsp;&lt;a href="https://github.com/codymikol/karma-webpack"&gt;karma-webpack&lt;/a&gt;,&amp;nbsp;&lt;a href="https://github.com/karma-runner/karma-firefox-launcher/"&gt;karma-firefox-launcher&lt;/a&gt;,&amp;nbsp;&lt;a href="https://github.com/karma-runner/karma-jasmine/"&gt;karma-jasmin&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;provide Sugar with&amp;nbsp; tool that allows you to execute JavaScript code in multiple real browsers. There were breaking changes in this release, however, most of them are related to internal testing, if you use Karma for your testing, you&amp;#39;d need to revisit your code.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;There are no known breaking changes in this upgrade, they are mostly bug fixes in this release.&lt;/p&gt;
&lt;/div&gt;
&lt;pre&gt;karma-runner/karma &amp;rarr;  ^6.4.4&lt;br /&gt;karma-runner/karma-coverage &amp;rarr; ^2.2.1&lt;br /&gt;karma-runner/karma-firefox-launcher &amp;rarr;  ^2.1.3&lt;br /&gt;karma-runner/karma-jasmine &amp;rarr;  ^5.1.0&lt;br /&gt;karma-runner/karma-sauce-launcher &amp;rarr;  ^4.3.6&lt;/pre&gt;
&lt;div class="content-scrollable-wrapper"&gt;
&lt;h3 id="mcetoc_1fda51lpf4"&gt;Gulp&amp;nbsp;Components&lt;/h3&gt;
&lt;p&gt;&lt;a href="https://github.com/gulpjs/gulp"&gt;Gulp&lt;/a&gt;&lt;span&gt;&amp;nbsp;and its components&amp;nbsp;&lt;a href="https://github.com/vgamula/gulp-cucumber"&gt;gulp-cucumber&lt;/a&gt;,&amp;nbsp;&lt;a href="https://github.com/sindresorhus/gulp-filter"&gt;gulp-filter&lt;/a&gt;,&amp;nbsp;&lt;a href="https://github.com/olegskl/gulp-stylelint"&gt;gulp-stylelint&lt;/a&gt;,&amp;nbsp;&lt;a href="https://github.com/ivogabe/gulp-typescript"&gt;gulp-typescript&lt;/a&gt;,&amp;nbsp;&lt;a href="https://github.com/adametry/gulp-eslint"&gt;gulp-eslint&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;provide Sugar a toolkit that helps you automate painful or time-consuming tasks in your development workflow.&lt;span&gt;There are no known breaking changes in these upgrade, they are mostly bug fixes in&amp;nbsp;their releases&lt;/span&gt;.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;There are no known breaking changes in this upgrade, they are mostly bug fixes in this release.&lt;/p&gt;
&lt;/div&gt;
&lt;pre&gt;gulp &amp;rarr;  ^5.0.0&lt;br /&gt;gulp-cucumber &amp;rarr; ^0.0.24&lt;br /&gt;gulp-filter &amp;rarr;  ^7.0.0&lt;br /&gt;gulp-stylelint &amp;rarr;  ^13.0.0&lt;br /&gt;gulp-typescript &amp;rarr;  ^5.0.1&lt;br /&gt;gulp-eslint &amp;rarr;  ^6.0.0&lt;/pre&gt;
&lt;div class="content-scrollable-wrapper"&gt;
&lt;div class="content-scrollable-wrapper"&gt;
&lt;div class="content-scrollable-wrapper"&gt;
&lt;div class="content-scrollable-wrapper"&gt;
&lt;h3 id="mcetoc_1fda51lpf4"&gt;Low to Minimum Impact&amp;nbsp;Upgrade on various JS&amp;nbsp;libraries&lt;/h3&gt;
&lt;p&gt;We have patch upgraded the versions of the following components&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href="https://github.com/babel/babel/"&gt;@babel/core&lt;/a&gt;&lt;span&gt;,&amp;nbsp;&lt;a href="https://github.com/ajv-validator/ajv"&gt;ajv&lt;/a&gt;,&amp;nbsp;&lt;a href="https://github.com/twbs/bootstrap/"&gt;bootstrap&lt;/a&gt;,&amp;nbsp;&lt;a href="https://jquery.com"&gt;jquery&lt;/a&gt;,&amp;nbsp;&lt;a href="https://github.com/moment/moment/"&gt;moment.js&lt;/a&gt;,&amp;nbsp;&lt;a href="https://github.com/sugarcrm/ventana"&gt;@sugarcrm/ventana&lt;/a&gt;,&amp;nbsp;&lt;a href="https://github.com/babel/babel-loader/"&gt;babel-loader&lt;/a&gt;,&amp;nbsp;&lt;a href="https://github.com/babel/babel"&gt;@babel/eslint-parser&lt;/a&gt;,&amp;nbsp;&lt;a href="https://github.com/tj/commander.js"&gt;commander&lt;/a&gt;,&amp;nbsp;&lt;a href="https://github.com/import-js/eslint-plugin-import"&gt;eslint-plugin-import&lt;/a&gt;,&amp;nbsp;script-loader&lt;/span&gt;.,&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href="https://github.com/webpack-contrib/exports-loader"&gt;exports-loader&lt;/a&gt;,&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href="https://github.com/webpack-contrib/imports-loader"&gt;imports-loader&lt;/a&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;There are no known breaking changes in these upgrade, they are mostly bug fixes in&amp;nbsp;their releases.&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;pre&gt;@babel/core &amp;rarr;  ^7.26.0&lt;br /&gt;@babel/eslint-parser &amp;rarr;  ^7.24.7&lt;br /&gt;@babel/preset-env &amp;rarr;  ^7.24.7&lt;br /&gt;@sugarcrm/ventana &amp;rarr; ^1.1.16&lt;br /&gt;ajv &amp;rarr; ^8.17.1&lt;br /&gt;babel-loader &amp;rarr;  ^9.2.1&lt;br /&gt;commander &amp;rarr; ^12.1.0&lt;br /&gt;eslint-plugin-import &amp;rarr; ^2.29.1&lt;br /&gt;jquery &amp;rarr; ^3.7.1&lt;br /&gt;jsdoc &amp;rarr; ^4.0.3&lt;br /&gt;moment &amp;rarr; ^2.30.1&lt;br /&gt;sindresorhus/strip-json-comments &amp;rarr; ^3.1.1&lt;br /&gt;sinon &amp;rarr; ^19.0.2&lt;br /&gt;script-loader &amp;rarr; ^0.7.2&lt;br /&gt;webpack&amp;nbsp;&amp;rarr; ^5.92.0&lt;br /&gt;exports-loader &amp;rarr; ^5.0.0&lt;br /&gt;imports-loader &amp;rarr; ^5.0.0&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;
&lt;h2 id="mcetoc_1iipslfhq0"&gt;Supported Platforms Update&lt;/h2&gt;
&lt;p&gt;In this release, we are updating Sugar&amp;rsquo;s Supported Platforms.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span&gt;We are dropping support for PHP 8.2 and adding support to PHP 8.4.&lt;/span&gt;&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;PHP&amp;nbsp;8.0 to PHP 8.1 have breaking changes and incompatibilities
&lt;ul&gt;
&lt;li&gt;Here is PHP&amp;rsquo;s official migration guide (&lt;a href="https://www.php.net/manual/en/migration81.php"&gt;https://www.php.net/manual/en/migration81.php&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Backwards incompatibilities guide (&lt;a href="https://www.php.net/manual/en/migration81.incompatible.php"&gt;https://www.php.net/manual/en/migration81.incompatible.php&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;PHP&amp;nbsp;8.1&lt;span&gt;&amp;nbsp;&lt;/span&gt;to PHP 8.2 have breaking changes and incompatibilities
&lt;ul&gt;
&lt;li&gt;Here is PHP&amp;rsquo;s official migration guide (&lt;a href="https://www.php.net/manual/en/migration82.php"&gt;https://www.php.net/manual/en/migration82.php&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Backwards incompatibilities guide (&lt;a href="https://www.php.net/manual/en/migration82.incompatible.php"&gt;https://www.php.net/manual/en/migration82.incompatible.php&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;PHP&amp;nbsp;8.2&lt;span&gt;&amp;nbsp;&lt;/span&gt;to PHP 8.3 have breaking changes and incompatibilities
&lt;ul&gt;
&lt;li&gt;Here is PHP&amp;rsquo;s official migration guide (&lt;a href="https://www.php.net/manual/en/migration83.php"&gt;https://www.php.net/manual/en/migration83.php&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Backwards incompatibilities guide (&lt;a href="https://www.php.net/manual/en/migration83.incompatible.php"&gt;https://www.php.net/manual/en/migration83.incompatible.php&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;PHP&amp;nbsp;8.3&lt;span&gt;&amp;nbsp;&lt;/span&gt;to PHP 8.4 have breaking changes and incompatibilities
&lt;ul&gt;
&lt;li&gt;Here is PHP&amp;rsquo;s official migration guide (&lt;a href="https://www.php.net/manual/en/migration84.php"&gt;https://www.php.net/manual/en/migration84.php&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Backwards incompatibilities guide (&lt;a href="https://www.php.net/manual/en/migration84.incompatible.php"&gt;https://www.php.net/manual/en/migration84.incompatible.php&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;There isn&amp;#39;t an upgrade path from 8.0 to 8.4, you must ensure it follows the upgrade path 7.4 -&amp;gt; 8.0 -&amp;gt; 8.1 -&amp;gt; 8.2 -&amp;gt; 8.3 -&amp;gt; 8.4&lt;/li&gt;
&lt;li&gt;We are supporting IIS 10 and Apache 2.4&lt;/li&gt;
&lt;li&gt;MySQL Support
&lt;ul&gt;
&lt;li&gt;Keep 8.0 with minimum version 8.0.40&lt;/li&gt;
&lt;li&gt;Add support for MySQL 8.4.3&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;MSSQL Support
&lt;ul&gt;
&lt;li&gt;We are dropping&amp;nbsp;support&amp;nbsp;for&amp;nbsp;MSSQL&amp;nbsp;2019&lt;/li&gt;
&lt;li&gt;Keep&amp;nbsp;support for MSSQL 2022&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Oracle Support
&lt;ul&gt;
&lt;li&gt;We are&amp;nbsp;&lt;span&gt;dropping&amp;nbsp;support&lt;/span&gt;&amp;nbsp;for Oracle 19&lt;/li&gt;
&lt;li&gt;Adding&amp;nbsp;support&amp;nbsp;for&amp;nbsp;Oracle&amp;nbsp;23&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;span&gt;DB2&amp;nbsp;Support&lt;/span&gt;
&lt;ul&gt;
&lt;li&gt;We&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;support&lt;/span&gt;&amp;nbsp;for DB2 11.5.9&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;We are&amp;nbsp;dropping support for Windows Server 2019.&lt;/li&gt;
&lt;li&gt;Search
&lt;ul&gt;
&lt;li&gt;Keep support for Elasticsearch 8.4.3&lt;/li&gt;
&lt;li&gt;Adding support for Elasticsearch 8.17.1&lt;/li&gt;
&lt;li&gt;Adding support for OpenSearch 2.7.0&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="mcetoc_1ff80k9i33"&gt;Configurability&amp;nbsp;updates&lt;/h2&gt;
&lt;h3 id="mcetoc_1f7c87abe2"&gt;&lt;/h3&gt;
&lt;h3 id="mcetoc_1f77psegv7"&gt;Sugar Config Settings&lt;/h3&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;p&gt;&lt;strong&gt;Setting Name&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;&lt;strong&gt;Default&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;&lt;strong&gt;Override Example&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p&gt;&lt;strong&gt;Description&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;span class="token string single-quoted-string"&gt;security.&lt;/span&gt;&lt;span class="token string single-quoted-string"&gt;preferIpv6&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;false&lt;/td&gt;
&lt;td&gt;&lt;span class="token variable"&gt;$sugar_config&lt;/span&gt;&lt;span class="token punctuation"&gt;[&lt;/span&gt;&lt;span class="token string single-quoted-string"&gt;&amp;#39;security&amp;#39;&lt;/span&gt;&lt;span class="token punctuation"&gt;]&lt;/span&gt;&lt;span class="token punctuation"&gt;[&lt;/span&gt;&lt;span class="token string single-quoted-string"&gt;&amp;#39;preferIpv6&amp;#39;&lt;/span&gt;&lt;span class="token punctuation"&gt;]&lt;/span&gt;&lt;span class=""&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span class="token operator"&gt;=&lt;/span&gt;&lt;span class=""&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span class="token constant boolean"&gt;true&lt;/span&gt;&lt;span class="token punctuation"&gt;;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;Specifies whether Sugar should prefer iPv6 lookups instead of IPv4.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;max_external_request_time&lt;/td&gt;
&lt;td&gt;600&lt;/td&gt;
&lt;td&gt;&lt;span&gt;$sugar_config['max_external_request_time'] = 600;&lt;/span&gt;&lt;/td&gt;
&lt;td&gt;&lt;span&gt;Set timeout value for HTTP requests ExternalResourceClient. 600 is amount of seconds. Examples: 10, 100, 200, 500, 1000, 123&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="mcetoc_1f77psegvb"&gt;Removed Functions / Libraries / Features&lt;/h2&gt;
&lt;h3 id="mcetoc_1gj9pc6si2"&gt;Remove Session and Dbal Scans from HealthCheck&lt;/h3&gt;
&lt;p data-renderer-start-pos="1"&gt;In version 12.3, we added a Dbal scan health check to prevent issues caused by breaking changes introduced with the Dbal version upgrade, as well as some session checks. Since this task has been completed, we are now removing it from the health checks.&lt;/p&gt;
&lt;h3 id="mcetoc_1gj9pc6si2"&gt;Remove previously deprecated Zend components&lt;/h3&gt;
&lt;p data-renderer-start-pos="1"&gt;In 13.2 we deprecated Zend components, in this release we are removing them, those components are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Zend_Service*&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Zend_Gdata*&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Zend_Version*&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="mcetoc_1g4djj0su0"&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;h2 id="mcetoc_1f77psegvl"&gt;Platform Updates&lt;/h2&gt;
&lt;h3 id="mcetoc_1gqa6vaoc8"&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;/code&gt;&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;&lt;/code&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1gb30ctl1e"&gt;Sell-Market integration&amp;nbsp;moved into&amp;nbsp;Sugar Core&lt;/h3&gt;
&lt;p&gt;In this release, we&amp;#39;re seamlessly integrating Sell/Market functionality directly into&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;Sugar Core&lt;/strong&gt;, eliminating the need for customers to install the MLP separately. This integration ensures a consistent experience for both Sell/Market MLP users and Sugar 25.1&amp;nbsp;users, streamlining setup and reducing the potential for configuration errors.&lt;/p&gt;
&lt;p&gt;Looking ahead, this foundational work will pave the way for a more efficient, user-friendly, and maintainable CRM experience, along with a smoother, more reliable Market/Sell sync process. As part of that, we&amp;#39;ve also updated the Market Connector Key field name to &amp;quot;Organization Name&amp;quot; and help text.&lt;/p&gt;
&lt;p&gt;It is important to notice that the following API platforms were added in this release and are exclusively being used by SugarMarket:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;salesfusion_Data&lt;/li&gt;
&lt;li&gt;salesfusion_Email&lt;/li&gt;
&lt;li&gt;salesfusion_Frequent&lt;/li&gt;
&lt;li&gt;salesfusion_Data_Integration&lt;/li&gt;
&lt;li&gt;salesfusion_Email_Integration&lt;/li&gt;
&lt;li&gt;salesfusion_Frequent_Integration&lt;/li&gt;
&lt;li&gt;SugarMarket_Plaform1&lt;/li&gt;
&lt;li&gt;SugarMarket_Plaform2&lt;/li&gt;
&lt;li&gt;SugarMarket_Integration1&lt;/li&gt;
&lt;li&gt;SugarMarket_Integration2&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Specifics on SugarMarket License&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;If a customer has both Sell and Serve licenses then Serve users for that customer would be able to access the synced data but it&amp;#39;s functionality would be limited to the access a Serve user has to modules in the instance. e.g. Serve user would be able see the synced market data for contacts and accounts. (Same behavior as today)&lt;/li&gt;
&lt;li&gt;Sugar&amp;nbsp;will not enable the Sell/Market integration for customers who have Serve only licenses in 25.1.&lt;/li&gt;
&lt;li&gt;If an existing Sell customer purchases Market AFTER the upgrade to&lt;span&gt;25.1&lt;/span&gt;&amp;nbsp;(where Market has been added to core), the customer will need to manually assign Market licenses to the users to grant access to those modules.&lt;/li&gt;
&lt;li&gt;If an existing Sell/Market customer cancels their Market subscription but keeps the Sell license, we&amp;nbsp;will automatically remove the Market license from any users. Any Market data synced to the CRM would still be in their system, but we would block them from viewing the Market modules.&amp;nbsp;&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="mcetoc_1iipslfhq1"&gt;Add .json to the list of allowed extensions in ModuleScanner&lt;/h3&gt;
&lt;p&gt;Some legitimate MLPs use JSON to store data and have to use .php files to store the data to overcome the ModuleLoader restrictions. In this release, we&amp;#39;re adding&lt;code&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;.json&lt;/code&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;files as a valid extension in the PackageScanner.&lt;/p&gt;
&lt;h3 id="mcetoc_1iipslfhq1"&gt;Support for OpenSearch&lt;/h3&gt;
&lt;p&gt;We&amp;rsquo;re excited to announce that in this release, we are officially supporting&amp;nbsp;&lt;a href="https://opensearch.org/about.html"&gt;OpenSearch&lt;/a&gt;. The open-source search and analytics engine that was introduced by&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a href="https://aws.amazon.com/blogs/opensource/stepping-up-for-a-truly-open-source-elasticsearch/"&gt;Amazon in January 2021&lt;/a&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;as an alternative to Elasticsearch.&lt;/p&gt;
&lt;p&gt;OpenSearch can be used both locally (on-premise) and through Amazon&amp;rsquo;s managed services, offering flexibility in how you deploy and scale your search infrastructure.&lt;/p&gt;
&lt;p&gt;Since OpenSearch is built on the same core as Elasticsearch, we&amp;rsquo;ve kept most of the configuration for&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;code&gt;full_text_engine&lt;/code&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;the same. The name &amp;ldquo;&lt;code&gt;Elastic&lt;/code&gt;&amp;rdquo; will be used for both Elasticsearch and OpenSearch, ensuring a seamless transition and consistent experience.&lt;/p&gt;
&lt;p&gt;For a simple configuration using OpenSearch in a cloud environment, you can refer to the following example::&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="php"&gt;&amp;#39;full_text_engine&amp;#39; =&amp;gt; 
  array (
    &amp;#39;Elastic&amp;#39; =&amp;gt; 
    array (
      &amp;#39;host&amp;#39; =&amp;gt; &amp;#39;vpc-br-9835-ndcv....7t45e.us-west-2.es.amazonaws.com&amp;#39;,
      &amp;#39;port&amp;#39; =&amp;gt; &amp;#39;443&amp;#39;,
      &amp;#39;transport&amp;#39; =&amp;gt; &amp;#39;https&amp;#39;,
      &amp;#39;username&amp;#39; =&amp;gt; &amp;#39;some username&amp;#39;,
      &amp;#39;password&amp;#39; =&amp;gt; &amp;#39;some password&amp;#39;,
    ),
  ),&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt;&amp;nbsp;Admins can also update these configurations in their UI when installing Sugar or after through&amp;nbsp;&lt;code&gt;Admin -&amp;gt; Search -&amp;gt;&amp;nbsp;Full Text Search Settings&lt;/code&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1gb30ctl1e"&gt;ExternalResourceClient now supports IPv6&lt;/h3&gt;
&lt;p&gt;We have implemented IPv6 support on ExternalResourceClient. Some clients would have their Sugar installations on networks where IPv4 interfaces&amp;nbsp;weren&amp;#39;t available causing ERC to fail with&amp;nbsp;&lt;span&gt;&lt;code&gt;Failed to open stream: Network is unreachable&lt;/code&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-renderer-start-pos="1"&gt;This occurred because the ERC was relying solely on the&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;code&gt;gethostbyname()&lt;/code&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;function in the file&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;code&gt;src/Security/Dns/NativeResolver.php&lt;/code&gt;, which only returns IPv4 addresses.&lt;/p&gt;
&lt;p data-renderer-start-pos="1"&gt;We have introduced a new config that you can set to &amp;quot;&lt;code&gt;prefer IPv6&lt;/code&gt;&amp;quot; lookups instead of IPv4 (default is&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;strong&gt;false&lt;/strong&gt;).&lt;/p&gt;
&lt;p data-renderer-start-pos="1"&gt;&lt;span class="token variable"&gt;&lt;/span&gt;&lt;pre class="ui-code" data-mode="php"&gt;$sugar_config[&amp;#39;security&amp;#39;][&amp;#39;preferIpv6&amp;#39;] = true;&lt;/pre&gt;&lt;span class="token punctuation"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;
&lt;h3 id="mcetoc_1ij671fi11"&gt;Improvements&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;We&amp;#39;ve made significant improvements to the performance of the Quoted Line Items Grid in the Quotes Record View, which previously became&amp;nbsp;irresponsive&amp;nbsp;when handling large volumes of QLIs.&lt;/li&gt;
&lt;li&gt;We&amp;#39;re hiding &amp;quot;Collation&amp;quot; box in the Locale menu for Sugar Cloud instances, customers can accidentally initiate collation conversion and it can take hours to finish.&lt;/li&gt;
&lt;li&gt;In order to ensure the protection of sensitive information, the Connector configuration screen&amp;nbsp;will only show password information to a user once when it is initially configured, and then obfuscate that information if viewed later.&lt;/li&gt;
&lt;li&gt;In this release, we&amp;#39;ve improved our Sugar Core and Sugarstyle guide to use SugarIcons from a single source of truth on SugarIcons by using our internal , before, it was spread across different folders in the application.&lt;/li&gt;
&lt;li&gt;We&amp;#39;re updating Content-Security-Policy (CSP) defaults to include Discover UK region (&lt;code&gt;&lt;span&gt;*.sugarapps.uk&lt;/span&gt;&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Sugar was not sending a&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;code&gt;User-Agent&lt;/code&gt;&amp;nbsp;header with any external request, some servers block requests with an empty&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;code&gt;User-Agent&lt;/code&gt;. Since, sending User-Agent is a best practice on integrations for debugging purposes, we are setting it by default on our ExternalResourceClient.
&lt;ul&gt;
&lt;li&gt;New helper class&amp;nbsp;&lt;code&gt;Sugarcrm\Sugarcrm\Security\HttpClient\UserAgent&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;provides few methods such as&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;code&gt;forGeneric(), forCurl(), forSoap(),&amp;nbsp;forErc(), forGuzzle()&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;code&gt;forErc()&lt;/code&gt;&amp;nbsp;for example, it would print/return&lt;code&gt;&amp;nbsp;SugarCRM/15.0/ExternalResourceClient/1.0&lt;/code&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;Default is:&amp;nbsp;&lt;code&gt;&amp;#39;SugarCRM/&amp;#39; . $GLOBALS['sugar_version'].&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="mcetoc_1gb30ctl1e"&gt;Bug Fixes&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Fixed p&lt;code&gt;rospect_lists_prospects&lt;/code&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;endpoint when&amp;nbsp;&lt;code&gt;date_modified&lt;/code&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;filter is used, the API would return a Database error with a&amp;nbsp;500 Error&lt;/li&gt;
&lt;li&gt;Fixed&amp;nbsp;&lt;span&gt;Deadlocks when using outbound email extensively due to multiple Language refreshes, which has now been fixed&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;We&amp;#39;ve aligned FAB icons with Tailwind colors and Modern UI border radius&lt;/li&gt;
&lt;li&gt;Fixed an issue with Chrome browsers and timezone that was causing the page to refresh multiple times for some timezones in&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;code&gt;Asia&lt;/code&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;(&lt;span&gt;The root cause is Chromium issue #40453385).&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Fixed&amp;nbsp;Inbound Email Scheduler breaks if setTransferEncoding does not match RFC1521 exactly ; &amp;quot;8bit&amp;quot; vs &amp;quot;8 bit&amp;quot;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;Fixed Geocoder Resolver Job Failing by implementing an efficient solution to consume the queue efficiently in a parallelized manner.&lt;/li&gt;
&lt;li&gt;Fixed Deletion of User Profile Pictures with Admin/Developer privileges to the Users module.&lt;/li&gt;
&lt;li&gt;Enforcing Authorized-Only Modification of Note Attachment in Notes Module (only users with &amp;#39;edit&amp;#39; access can modify that)&lt;/li&gt;
&lt;li&gt;Fixed Campaign Email Templates would not show or insert correctly Tracker URL&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="mcetoc_1ij671fi12"&gt;Sugar Core Security Updates&lt;/h3&gt;
&lt;p&gt;As part of our ongoing efforts to keep Sugar clean, fast, reliable, and most importantly secure, we have updated&amp;nbsp;Sugar Core code in different areas of the application such as Package Scanner, Studio, Module Installer, UI rendering, API endpoints, Legacy SOAP API, File Uploads, Legacy Workflows and BWC modules. Not only those changes but we&amp;#39;ve cleaned up and improve our logging messages around deprecations.&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1f77psegv7"&gt;Deprecated functions&lt;/h2&gt;
&lt;div class="code-block sc-ezYOhE gBYPJJ"&gt;
&lt;div class="code-block sc-ezYOhE gBYPJJ"&gt;&lt;span&gt;In this release, we are&amp;nbsp;deprecating the following&amp;nbsp;methods and/or classes:&lt;/span&gt;&lt;/div&gt;
&lt;ul&gt;
&lt;li class="code-block sc-ezYOhE gBYPJJ"&gt;get_decoded()&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="mcetoc_1fda51lpf4"&gt;&lt;span class="TextRun SCXW246282223 BCX0" lang="EN-US"&gt;&lt;span class="NormalTextRun SCXW246282223 BCX0"&gt;&lt;span&gt;SugarUploadS3 is no longer deprecated&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span class="TextRun SCXW55758653 BCX0" lang="EN-US"&gt;&lt;span class="NormalTextRun SCXW55758653 BCX0"&gt;In this release, we&amp;nbsp;are un-deprecating&lt;span&gt;&amp;nbsp;&lt;/span&gt;and&amp;nbsp;removing&lt;/span&gt;&lt;span class="NormalTextRun SCXW55758653 BCX0"&gt;&amp;nbsp;HealthCheck&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;(bucket E) to scan for the usage of the&amp;nbsp;&lt;code&gt;SugarUploadS3&lt;/code&gt;. We have re-implemented this class in a more secure and safe way.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="mcetoc_1hgt5tqlsa"&gt;Denylist Updates&lt;/h2&gt;
&lt;div class="code-block sc-ezYOhE gBYPJJ"&gt;
&lt;div class="code-block sc-ezYOhE gBYPJJ"&gt;
&lt;div class="content"&gt;
&lt;div class="content"&gt;
&lt;div class="content"&gt;
&lt;div class="code-block sc-ezYOhE gBYPJJ"&gt;
&lt;div class="code-block sc-ezYOhE gBYPJJ"&gt;
&lt;div class="code-block sc-ezYOhE gBYPJJ"&gt;&lt;span&gt;In this release, we are adding the following&amp;nbsp;methods and/or classes&amp;nbsp;to the PackageScanner&amp;#39;s denylist:&lt;/span&gt;&lt;/div&gt;
&lt;ul&gt;
&lt;li class="code-block sc-ezYOhE gBYPJJ"&gt;openUri()&lt;/li&gt;
&lt;li class="code-block sc-ezYOhE gBYPJJ"&gt;unserialize()&lt;/li&gt;
&lt;li class="code-block sc-ezYOhE gBYPJJ"&gt;gzwrite()&lt;/li&gt;
&lt;li class="code-block sc-ezYOhE gBYPJJ"&gt;extractTo()&lt;/li&gt;
&lt;li class="code-block sc-ezYOhE gBYPJJ"&gt;class_alias()&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;

&lt;div style="font-size: 90%;"&gt;Tags: Sugar 25.1&lt;/div&gt;
</description></item><item><title>Sugar 25.1 Customization Guide</title><link>https://sugarclub.sugarai.com/dev-club/w/dev-tutorials/998/sugar-25-1-customization-guide/revision/1</link><pubDate>Fri, 14 Mar 2025 15:26:00 GMT</pubDate><guid isPermaLink="false">5c521d64-519d-47a6-9065-134618b211bf:60e79dce-5864-4aca-96f4-1093e5067173</guid><dc:creator>Rafael Fernandes</dc:creator><comments>https://sugarclub.sugarai.com/dev-club/w/dev-tutorials/998/sugar-25-1-customization-guide#comments</comments><description>Revision 1 posted to Dev Tutorials by Rafael Fernandes on 3/14/2025 3:26:00 PM&lt;br /&gt;
&lt;p&gt;Sugar 25.1 Customization Guide&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;
</description></item></channel></rss>