SugarCRM SupportDocumentationSugar Versions9.09.0 UltimateSugar Ultimate 9.0.0 Release Notes

Sugar Ultimate 9.0.0 Release Notes

Overview

This document describes the changes and functionality available in Sugar® Ultimate 9.0.0. Sugar 9.0.0 is available for both SugarCloud (Sugar-hosted SaaS) and On-Site deployments.

Customers who are upgrading to 9.0.0 from Winter '19 (8.3) should refer to the following sections:

Customers who are upgrading to 9.0.0 from Spring '18 (8.0) should refer to the following sections:

For more information on the changes in this release, please refer to the What to Expect When Upgrading to 9.0 article.

Administrator and End User

Feature Enhancements When Upgrading From Winter '19 (8.3)

The following feature enhancements are available in version 9.0.0 when upgrading from the Winter '19 release, 8.3:

  • Advanced Workflow is now SugarBPM™ : Sugar's business process automation suite has been renamed "SugarBPM".
    • Tagging support for SugarBPM modules : The tags feature, already commonly used in other parts of Sugar, is now available on record views and list views for SugarBPM modules (i.e. Process Definitions, Process Business Rules, and Process Email Templates). 
    • Import and export improvements : Process definitions with Gateway references to Business Rule actions will retain their business rule mappings when they are exported from Sugar 9.x or higher and then imported to another instance running the same or higher version. In addition, any tags that are applied to SugarBPM module records will export and import as part of the .bpm package.
    • Enhanced operators for process termination : The global termination settings for a process definition can now listen for changes to a field, including changes to or from a specified value. This allows administrators to, for example, restart timed events by terminating a running process and starting it over when a certain field changes.
  • Outgoing Email Accounts
    • Shared email accounts : Teams of users can now send emails from shared email accounts. Outbound accounts created via the Emails module now include a Teams field which specifies which users are able to use the account for sending email. By default, user email accounts are assigned to the user's private team.
    • "Reply-To" name and email address : Users can now designate a "Reply-To" name and email address for outgoing user email accounts that will receive any replies from the outbound email message.
  • Comment Log
    • Collapsible Comment Log entries : Comment Log entries are now expandable and collapsible. Admins can configure how many characters to display by default.
    • Comment Log available on the Basic template : The Comment Log field is now available to be added to the record view layout in custom modules built using the Basic template.
  • Converted amount for quotes : The quote's Unit Price and Line Item Total fields now reflect the converted amount using the quote's currency. 
  • Service Level field : The Service Level dropdown field has been added to the Accounts module and to custom modules built using the Company template. It can be used to capture each account's customer service tier.
  • Follow Up Date field : The Follow Up Date field has been added to the Cases, Bugs, and Data Privacy modules as well as to custom modules built using the Issue template.

Feature Enhancements When Upgrading From Spring '18 (8.0)

The following feature enhancements are new in version 9.0.0 when you are upgrading from the Spring '18 release, 8.0:

  • Advanced Workflow is now SugarBPM™ : Sugar's business process automation suite has been renamed "SugarBPM".
    • Tagging support for SugarBPM modules : The tags feature, already commonly used in other parts of Sugar, is now available on record views and list views for SugarBPM modules (i.e. Process Definitions, Process Business Rules, and Process Email Templates). 
    • Faster imports and exports : Email templates and process business rules will automatically export as part of their related process definition's .bpm file, streamlining the import process. Process definitions with Gateway references to Business Rule actions will retain their business rule mappings when they are exported from Sugar 9.x or higher and then imported to another instance running the same or higher version. In addition, any tags that are applied to SugarBPM module records will export and import as part of the .bpm package.
    • Gateway improvements : Event-based gateways can now detect whether a form activity has been completed before a condition has been met or within a set period of time.
    • Support for "All" or "Any" related records : When more than one related record may be evaluated by a process definition, the administrator can specify if the criteria must be true for all related records or just one or more of the related records.
    • One-to-many message recipients : The recipient list for SugarBPM process email templates may include email addresses from any module related to the target record as well as recipients related to the related modules.
    • Process Validation : The enhanced Process Validator lets you validate SugarBPM process definition designs on import and on demand. The validation job detects configuration errors as well as sequencing mistakes.
    • Admin Configuration : Process auto-save and auto-validate options have been added to Sugar's System Settings page in a new panel labeled "SugarBPM™". This is also where you will find the Error Number of Cycles setting, which has been relocated in this version. 
    • Enhanced operators for process termination : The global termination settings for a process definition can now listen for changes to a field, including changes to or from a specified value. This allows administrators to, for example, restart timed events by terminating a running process and starting it over when a certain field changes.
    • Process Email Template To/From Variables : The Fields Selector tool now lets you insert the current (i.e. "changes to") and the old (i.e. "changes from") values of a changed field into process email templates.
    • Multi-Layer (Chained) Module Relationships for Actions
      • Add Related Record : Create a new Sugar record and relate it to the target Sugar record or to a record related to the target record. 
      • Change Fields : Change the value of one or more fields on the target record, on records related to the target record, or on records related to that related record.
  • Outgoing Email Accounts
    • Shared email accounts : Teams of users can now send emails from shared email accounts. Outbound accounts created via the Emails module now include a Teams field which specifies which users are able to use the account for sending email. By default, user email accounts are assigned to the user's private team.
    • "Reply-To" name and email address : Users can now designate a "Reply-To" name and email address for outgoing user email accounts that will receive any replies from the outbound email message.
  • Reporting 
    • Improved report distribution : Users can now schedule emailed reports for other users as well as for themselves via the new Report Schedules module.
    • Stock reports : Over 100 new stock reports are available in the Reports module.
    • Grouped bar charts for reports : In addition to the familiar stacked-style horizontal and vertical bar charts in Sugar, users may now select grouped bar charts as a new option for visualizing reports.
    • Reporting on Product Catalog : The Product Catalog module is available to use in reports.
    • Exporting Reports : Users can now export all report types.
  • Product Catalog
    • Product Catalog Quick Picks dashlet : The Product Catalog Quick Picks dashlet allows you to access products that you recently used or marked as favorites and add them as line items on opportunities and quotes.
    • Favoriting Product Catalog records : Product catalog records can now be marked as favorites via the Product Catalog list view/record view, Product Catalog Quick Picks dashlet, or Product Catalog dashlet.
  • Quotes
    • Quotes configuration : Administrators can configure the available fields and their order for quotes worksheets when users work with quotes.
    • Quoted line item currency for quotes : Users now have the ability to change the line item's currency when creating or editing quotes.
    • Converted amount for quotes : The quote's Unit Price and Line Item Total fields now reflect the converted amount using the quote's currency. 
  • Comment Log
    • Comment Log : The Comment Log field, a shared log of messages, comments, or other text, has been added to the Bugs and Cases record views and is available to be added to other modules' layouts by administrators.
    • Collapsible Comment Log entries : Comment Log entries are now expandable and collapsible. Admins can configure how many characters to display by default.
  • Data Privacy
    • Email opt-in link : Users can generate a link to send to customers which, when clicked, will mark the opted-out email address as opted-in.
    • Data erasure for activity streams : Erasing personal information via the Data Privacy module now removes the erased values from activity stream posts. 
  • Revenue line items in preferred currencies : Users now have the ability to add revenue line items from the product catalog using their preferred currency instead of the product catalog item's currency by enabling the Create Revenue Line Items in Preferred Currency option in their user profile.
  • Emoji support : The Emails module can now display emojis used in message content, and users can use emojis in Sugar text fields.
  • Additional information at login : Sugar's login screen now includes an image and the ability to display notifications from SugarCRM. Admins have the option to disable this via Admin > System Settings > Enable additional login screen content. Instances with customized login screens will have this option disabled automatically when upgraded to 9.0.
  • Service Level field : The Service Level dropdown field has been added to the Accounts module and to custom modules built using the Company template. It can be used to capture each account's customer service tier.
  • Follow Up Date field : The Follow Up Date field has been added to the Cases, Bugs, and Data Privacy modules as well as to custom modules built using the Issue template.

Fixed Issues When Upgrading From Winter '19 (8.3)

The following issues are resolved in version 9.0.0 when upgrading from the Winter '19 release, 8.3. Support portal users can use the following links for more details about each issue:

  • 82374 : In certain circumstances, attempting to view a record in a module may result in an error. 
  • 82153 : The SugarBPM process validation tool throws a false error when using a Sugar contact as a recipient in a Send Message event.
  • 82020, 79492 : Setting the log level to "Error" may result in multiple relationship errors being written to the log file. 
  • 82019 : Adding quoted line items to a quote incorrectly sends an assignment notification to the current user who created and is assigned to the record.
  • 81945, 81710 : For SugarBPM process definitions, the "Changes", "Changes to", and "Changes from" operators are not available as expected for Receive Message event configurations.
  • 81935 : It is not possible to set the Email Address field for the recipient of a Send Message event if you select and then deselect a Related To module in its configuration window. As a workaround, click "Cancel" and try configuring the recipient again.
  • 81920 : The SugarBPM process validation tool evaluates the intermediate module's fields instead of the module where the record has been created when using an Add Related Record action to form a chained relationship.
  • 81820 : Having a large number of team sets on records may cause performance issues when performing a global search. 
  • 81770 : Attempting to install Sugar on a Redis-enabled environment where Redis is hosted externally may result in a 500 error.  
  • 81759 : Sugar may not behave as expected and result in an error if the Sugar license is either expired or due to expire.
  • 81077 : Attempting to merge two opportunity records where the status is not set to "Closed Won" or "Closed Lost" may not work as expected and result in an error. 
  • 80870 : For Sugar instances running on an Oracle database, running a Quick Repair and Rebuild after upgrading to version 8.0.0 may generate invalid SQL queries. 
  • 80851 : Accessing modules containing a large number of custom relationships, Relate-type fields, and/or calculated fields with rollup or related() functions may not load properly and result in a 500 error. 
  • 80816 : When a shared dashboard contains a List View dashlet that has a filter applied, the dashlet will incorrectly display a Loading message even though no results will be returned due to the user not having access to the applied filter. 
  • 8081179919 : Having multiple SugarBPM wait events in flight for a single record may cause subpanels to display duplicate entries for that record.
  • 80481, 80462, 80215 : SugarBPM will trigger a process for only the first record when multiple records are created at once (e.g. when multiple revenue line items are added to a new opportunity or via Marketo or inbound email).
  • 80293 : Process definitions will not send email messages to the valid recipients if a recipient field contains an empty value.
  • 79684 : When multiple process definitions have a "changes to" Start event based on a checkbox field's value, only one of the expected processes will run.
  • 79344 : The quoted line item total may not respect the user's preferred currency as expected. 
  • 79318 : When a user has team-based permissions enabled for their default team (i.e. "Additional Permissions Enabled"), the setting may not be respected when creating a new record.
  • 73799 : The Sugar log may include libpng warnings. 

Fixed Issues When Upgrading From Spring '18 (8.0)

The following issues are newly resolved in version 9.0.0 when upgrading from the Spring '18 release, 8.0. Support portal users can use the following links for more details about each issue:

  • 82374 : In certain circumstances, attempting to view a record in a module may result in an error. 
  • 82153 : The SugarBPM process validation tool throws a false error when using a Sugar contact as a recipient in a Send Message event.
  • 8202079492 : Setting the log level to "Error" may result in multiple relationship errors being written to the log file. 
  • 82019 : Adding quoted line items to a quote incorrectly sends an assignment notification to the current user who created and is assigned to the record.
  • 81945, 81710 : For SugarBPM process definitions, the "Changes", "Changes to", and "Changes from" operators are not available as expected for Receive Message event configurations.
  • 81935 : It is not possible to set the Email Address field for the recipient of a Send Message event if you select and then deselect a Related To module in its configuration window. As a workaround, click "Cancel" and try configuring the recipient again.
  • 81920 : The SugarBPM process validation tool evaluates the intermediate module's fields instead of the module where the record has been created when using an Add Related Record action to form a chained relationship.
  • 81820 : Having a large number of team sets on records may cause performance issues when performing a global search. 
  • 81770 : Attempting to install Sugar on a Redis-enabled environment where Redis is hosted externally may result in a 500 error.  
  • 81759 : Sugar may not behave as expected and result in an error if the Sugar license is either expired or due to expire.
  • 81635 : When creating a new password due to password expiration, an error message may not appear as expected if the password in the Confirm Password field does not match the new password.  
  • 81619 : The Tags field is incorrectly available to add to the Popup Search layout via Admin > Studio.
  • 81589 : Accessing the Forecasts module or a forecast-type dashlet (e.g. In Forecast) may unnecessarily rebuild cache files resulting in 500 errors.
  • 81567 : Using the REST v10 search API may cause performance issues. 
  • 81538 : Calculated fields in the Quotes module containing a rollup function (e.g. rollupSum) for product catalog fields may cause the quote's total to not update correctly when the line item's quantity is modified.
  • 8144880930 : In certain circumstances, when creating an opportunity via the Opportunities subpanel, adding a product as a revenue line item using the Product Catalog dashlet may result in unexpected behavior. 
  • 81445 : In certain circumstances, reassigning a record to another user may not work as expected and result in an error. 
  • 81422 : Whan quoted line items are added using the Product Catalog dashlet, the default value (e.g. Quoted) set for the Status field may not be respected and display no value in the field.
  • 81351 : Health check errantly reports iNetMiniETL version 1.7.0 as incompatible.
  • 81327 : PHP warning messages regarding Redis connection failures are errantly being written to the apache error logs.
  • 81322 : SugarBPM processes may trigger more than once for new record creation if the target module contains a calculated field with the maxRelatedDate() function. 
  • 81301 : Upgrades may be non-performant or fail when the instance includes a large number of emails and attachments.
  • 81287 : When logged into Sugar with the Czech language, attempting to rename a field label in the List View layout via Admin > Studio may not work as expected.
  • 8120872671 : When logged into Sugar with certain languages (e.g German, French) and editing inline via the list view, the Cancel link and/or the Save button text may not display properly. 
  • 81171 : Upgrades may not complete when the instance includes long database table names.
  • 81146 : The Run Email Reminder Notifications scheduler may fail to send out email reminders for meetings and calls.
  • 81114 : Editing a record in the Preview panel to set a related record causes the relationship to be formed twice.
  • 81077 : Attempting to merge two opportunity records where the status is not set to "Closed Won" or "Closed Lost" may not work as expected and result in an error. 
  • 81035 : Modifying the subpanels appearing on the Data Privacy record view prevents users being able to mark records within those subpanels for erasure.
  • 81026 : Users may be unable to login to Sugar or may be unable to use global search due to an error caused by Elastic Search settings being absent from config_override.php.
  • 81001 : In the REST API version 4.1, calling get_entry_list on the Contacts module fails to return valid account_name and account_id values.
  • 80915 : LDAP users may be unable to log into Sugar due to the presence of 'authenticationClass' => '' in config.php.
  • 80886 : LDAP users may be unable to log into Sugar when LDAP is configured to use anonymous binding.
  • 80879 : When in-line editing from a list view, calculated date fields based on related date fields may prevent the record from being saved.
  • 80870 : For Sugar instances running on an Oracle database, running a Quick Repair and Rebuild after upgrading to version 8.0.0 may generate invalid SQL queries. 
  • 80866, 80904 : Reports may fail to return correct results when the Optional Related Modules option is used.
  • 80864 : The link to a lead's related opportunity is blank on the lead-conversion confirmation screen.
  • 80860 : Campaigns' email marketing records are not able to be edited.
  • 80854 : When adding quoted line items using the Product Catalog Dashlet, customizations making use of the Products product_template_name populate_list vardef are not respected.
  • 80851 : Accessing modules containing a large number of custom relationships, Relate-type fields, and/or calculated fields with rollup or related() functions may not load properly and result in a 500 error. 
  • 80844 : The Workflows list view displays no value for the Status field.
  • 80816 : When a shared dashboard contains a List View dashlet that has a filter applied, the dashlet will incorrectly display a Loading message even though no results will be returned due to the user not having access to the applied filter. 
  • 80813 : The SOAP API is not available for use, rendering applications which use SOAP unable to connect to Sugar.
  • 8081179919 : Having multiple SugarBPM wait events in flight for a single record may cause subpanels to display duplicate entries for that record.
  • 80808 : Record views may fail to load when the Actions menu has been customized using non-sequential button ordering.
  • 80806 : Reports filtering on date fields using single digits for the months or days position may fail to return results.
  • 80783 : Attachments to knowledge base articles created prior to version 8.0.0 may not appear in Sugar after upgrading to 8.x.
  • 80671 : Prepared statements built using Doctrine's SQL builder class do not appear in slow query logging as expected.
  • 80605 : Integrations and customizations using the REST v4.1 API may no longer work as expected for instances running on PHP 7.1.
  • 80541 : After a process definition updates a text field containing a line break, the html tag <br /> is displayed in place of the line break.
  • 80481, 80462, 80215 : SugarBPM will trigger a process for only the first record when multiple records are created at once (e.g. when multiple revenue line items are added to a new opportunity or via Marketo or inbound email).
  • 80477 : While importing records, choosing "Salesforce" as the data source results in an error.
  • 80475 : When building a workflow alert template, users are not able to insert field variables based on related modules.
  • 80469 : The "Clean up unused combinations of teams" repair does not remove unused sets of teams from Sugar's database as expected.
  • 80422 : Report filters based on fiscal quarters do not respect the fiscal year start date configured via the Forecasts module. 
  • 80414 : Reports displaying a relate-type field may incorrectly exclude records with a deleted record selected in their relate-type field.
  • 80349 : Global search does not return results when team-based permissions are enabled.
  • 80308, 7857078509, 7850776151 : When accessing Sugar using Internet Explorer or Firefox, attempting to clear a saved filter from the list view or subpanel search may not work as expected.
  • 80293 : Process definitions will not send email messages to the valid recipients if a recipient field contains an empty value.
  • 80163 : Modules using the legacy user interface experience degraded performance when Sugar's tracker tables grow very large.
  • 80094 : Legacy workflows which use a checkbox field in their trigger conditions may not function as expected.
  • 800837995679251 : List view filters which are applied before the list view finishes loading may not be respected by the displayed results.
  • 80064 : When a line item is created directly from a quote's worksheet, the quoted line item record's Assigned To field displays blank.  
  • 80049 : Health check incorrectly flags versions 1.01 and higher of the DrillDownReportsChart package as incompatible.
  • 80036 : Creating new account records using the Outlook plug-in may not work as expected and result in an error for users assigned a role with field-level restrictions in the Accounts module.
  • 79994 : Custom field values belonging to deleted records are not removed from the database as expected by the Prune Database on 1st of Month scheduler job.
  • 79917 : Health check incorrectly flags versions 1.31 and higher of the wGuage package as incompatible.
  • 79798 : When performing a search via global search, using shortcut operators such as ampersand (&), vertical bar (|), or hyphen (-) may not return results as expected.
  • 79785 : While importing records, clicking "Undo Import" removes the imported records from Sugar but errantly allows the records to appear as results in global search.
  • 79782 : Health check incorrectly flags versions 4.5 and higher of the Process Manager package as incompatible.
  • 79777 : The billing address and shipping address for quotes created via the "Quotes (Bill To)" or "Quotes (Ship To)" subpanel may appear incorrectly if the related record's (e.g. Accounts) billing and shipping address is different.
  • 79684 : When multiple process definitions have a "changes to" Start event based on a checkbox field's value, only one of the expected processes will run.
  • 7964372456 : Inbound emails containing emojis may not get imported into Sugar as expected.
  • 79458 : Subpanels for related legacy modules may not display for the Quotes record view as expected.
  • 79344 : The quoted line item total may not respect the user's preferred currency as expected. 
  • 79328 : Saving an opportunity or revenue line item record may fail and result in a 500 error if the value in the currency field (e.g. Likely) includes a trailing space.
  • 79318 : When a user has team-based permissions enabled for their default team (i.e. "Additional Permissions Enabled"), the setting may not be respected when creating a new record.
  • 79278 : Logging into the portal may not work as expected for portal users created via import in the Contacts module.
  • 79243 : Attachments on knowledge base records may not be visible on record view despite having been successfully uploaded.
  • 79166 : Session locking may cause performance issues in Sugar.
  • 79161 : Modifying a relationship between two records where one of the records is related to a large set of records may result in performance issues and 500 errors.
  • 79127 : When creating a list view filter, selecting the My Favorites option may not filter the list view as expected to only display records that you have marked as favorites. 
  • 79002 : List view date filters using the "Is Between" operator may cause overlapping labels when resizing the browser window.
  • 78736 : Out-of-the-box dashboards may incorrectly be recreated after deleting it from the home page or intelligence pane. 
  • 78668 : In certain circumstances, tooltips may persist improperly while navigating through Sugar.
  • 78574 : Incorrect vardef default values may cause issues with SugarBPM functionality.
  • 78555 : Reports which attempt to display the Knowledge Base module's Active Revision field result in an error.
  • 78540 : Emails may be incorrectly sent from disabled process definitions.
  • 78339 : Global search does not return results matching search strings which are portions of field values and greater than 16 characters long.
  • 78278 : Reports which attempt to filter on multiselect fields created via Module Builder do not return results as expected.
  • 78093 : Datetime filters on reports may not return the expected results depending on the user's time zone.
  • 78089 : Health check incorrectly considers the "Timeline Dashlet Activities by CARRENET with license validation" package as compatible.
  • 78087 : Health check incorrectly considers versions prior to 4.0 of the "Act-On Integrated Marketing Automation for SugarCRM version 7.x" package as compatible.
  • 77979 : Using the v4 SOAP API to retrieve lists of records may experience performance issues when tags are heavily used in the instance.
  • 77601 : SugarBPM cannot add related records when the target module is on the "one" side of a one-to-many relationship. 
  • 77330 : Report filters cannot be created based on the Product Catalog module's Product Category field.
  • 77314 : List views sorted by custom fields may experience degraded performance for modules containing a large number of records.
  • 76000, 75999 : Setting the Collation option to "utf8mb4_general_ci" via Admin > Locale may cause unexpected errors.
  • 75784 : Health check incorrectly considers Zendesk packages prior to version 2.20 as compatible.
  • 74912 : In the Process Business Rules module, it is possible to create a business rule that exceeds the maximum SQL query length, resulting in a Javascript error and blank screen on save.
  • 73799 : The Sugar log may include libpng warnings. 
  • 73696 : Users attempting to navigate elsewhere after exporting from Legacy modules are instead redirected to the Home page.
  • 73306 : If the default list view filter for a module has been customized, the filter is also applied to its subpanels.
  • 73282 : Forwarding an email from within Sugar does not include the body of the original email in the newly sent message.
  • 72600 : When viewing a dashlet containing a matrix report's chart, the total incorrectly shows as 0 when displayed in a user-preferred currency other than the currency of the underlying records.
  • 70388 : When building a report, searching for available fields only returns the first ten matching field names.
  • 66972 : When sorting report results by a date or datetime field belonging to a related module, selected runtime filters may not be applied.

Known Issues

The following known issues are present in this release. Support portal users can use the following links for more details about each issue:

  • 82377 : SugarBPM module field evaluations improperly allow the selection of the "changes", "changes to", and "changes from" operators when "All Related Records" is enabled. To avoid unexpected behavior, utilize the "is", "is not", or other non-change operators when evaluating all related records in process criteria.
  • 82254 : Users may be unexpectedly logged out when requests with out-of-date user_hash data are sent to the server in close succession.
  • 82173 : User sessions that expire while accessing a Legacy module (e.g. studio) may cause the cross-site forgery error message to appear. As a workaround do the following: do not have multiple browser tabs open when accessing Legacy modules, raise the access_token_lifetime value to a higher value than 3600 seconds, and log out and log back in to reset the token lifetime before doing any work in Studio.
  • 82038 : Clicking on a Home page tab (e.g. Sales) or attempting to sort by a field column on the Legacy dashboard may not work as expected and result in an error.  
  • 81999 : Users may be unexpectedly logged out when requests with out-of-date user_hash data are sent to the server in close succession.
  • 81929 : Report chart drill-through may not work as expected and display an error message (No data available) for reports using the Product Catalog module.
  • 81877 : Full-text search re-indexes performed from the command line may run out of memory when run on very large data sets.
  • 81722 : Sorting the fields by the column header (e.g. Name) in Admin > Studio or Module Builder may result in CSRF errors being written to the log file.
  • 81544 : When viewing additional details of an activity (e.g. meeting) via the calendar, the datetime format may not respect the system or user locale settings and incorrectly display the values using UTC.
  • 81382 : Deleting a target list related to a large number of records may fail with an error. 
  • 81339 : Generating a report (e.g. Summation with Details) grouped by "Fiscal Quarter" for a custom date field (e.g. Fiscal Quarter: Booking Date) may result in a database failure error. 
  • 81335 : Importing records in Sugar may fail with a PHP error if the upload directory is not set to the default upload folder in config.php.
  • 81328 : Changes made to custom relate fields that are marked as "Audit" in Admin > Studio do not get recorded in the audit log as expected.
  • 81297 : If a web-to-lead form gets submitted using an existing email address in Sugar, the email address may not be marked as "Primary" for the generated lead record. 
  • 81261 : Report chart drill-through may not work as expected if the report contains a date field formatted as "MM/DD/YYYY". As a workaround, change the date format in the user's profile to "YYYY-MM-DD" to match the database date format.
  • 81184 : Attempting to view the audit log may result in a 500 error if the record was imported with the Date-type field formatted as "MM/DD/YYYY". As a workaround, reformat the date field in the {module name}_audit table as "YYYY-MM-DD". 
  • 81152 : Event-based gateways improperly consider activity elements to be complete if the activity gets reassigned to another user via "Select New Process User".
  • 81151 : Report chart drill-through may not work as expected when the report is filtered by a checkbox field.
  • 81121 : In certain circumstances, the Gantt chart in the Projects module may display an incorrect year of "1907" for the date range if the date format in the user's profile or system locale settings is set to "MM/DD/YYYY". As a workaround, change the date format in the user's profile or system locale settings to "YYYY-MM-DD", "YYYY/MM/DD", or "YYYY.MM.DD".
  • 81051 : If a calculated Date field is set to null, the value is incorrectly displayed as an invalid date in reports.
  • 81021 : Creating report schedules via duplication copies the related user recipient, preventing users from copying other users' report schedules for themselves.
  • 80968 : It may not be possible to disable SAML authentication via the user interface after certain actions have been performed on your Sugar instance.
  • 80966 : Records with a custom calculated Datetime field cannot be saved if the calculation results in a null value.
  • 80936 : When importing records makes changes to an existing record, the Date Modified field is not updated.
  • 80884 : Viewing a shared dashboard containing the Forecast Bar Chart dashlet may display a "Loading..." message.
  • 80865 : It is not possible to search by the Record Name column in Process Management.
  • 80829 : Date and datetime fields do not respect the user's preferred format when included on PDFs.
  • 80799 : Upgrading to Sugar 8.0.x may fail if you set the acl_actions table to MyISAM. As a workaround, set the acl_actions table to InnoDB before upgrading.
  • 80785 : Global search results may not display as expected on Microsoft Edge and Internet Explorer browsers. As a workaround, use Chrome or Firefox to access Sugar when possible.
  • 80759 : In PDF templates that contain more than one href link, only the first link works.
  • 80730 : Reports without charts are improperly available to select in the Saved Reports Chart dashlet. 
  • 80726 : Dropdown lists created in Module Builder incorrectly allow certain special characters in the item name; modules containing such a list cannot be deployed.
  • 80708 : If the cache or uploads folders are moved outside of the Sugar directory, users may experience unexpected behavior when accessing Sugar or when importing CSV files.
  • 80681 : Making changes to a report's relationship-based filters may result in an error when running the report. As a workaround, re-create the report with the desired filter without making any changes to it.
  • 80583 : Attempting to erase fields (e.g. Description) marked as "Personal Information" from the Opportunities module do not work as expected and result in a 500 error.
  • 80430 : On-Demand sessions may time out with a 500 error due to a database issue.
  • 80376 : Uninstalling custom modules from Sugar may not delete the associated workflows as expected. As a workaround, remove the affected workflow via the database. 
  • 80250 : Receive Message events configured for a record related to the process definition's target module may not behave as expected.
  • 80091 : Creating a dashboard may not work as expected and result in an error for users without private teams. Navigating to Admin > Repair and running "Repair Teams" will help resolve the issue. 
  • 80002 : Generating PDFs using previously existing PDF templates may not display data as expected after upgrading to Sugar versions 7.9 or higher.
  • 80001 : Email messages sent via SugarBPM may display HTML formatting when records are created using SOAP/REST v4.1. It is recommended to use the latest version of the API.
  • 79925 : Email messages that have been archived to Sugar and contain embedded or inline images show empty containers instead of images in the email's record view and preview.
  • 79947 : Calculated fields may not populate when the record has multiple calculated fields using the related() function to the same module (e.g. related ($accounts, field1) and related($accounts, field2)).
  • 79767 : SugarBPM processes do not send email messages to contact recipients as expected. As a workaround, manually type the contact's email address in the Send Message event's recipient field and press "Enter".
  • 79763 : The Account Name field does not get populated as expected for quoted line items related to a quote. 
  • 79752 : When working with SugarBPM process business rules on Internet Explorer 11, you cannot delete columns from rules in the Rules Builder. As a workaround, please use another supported browser.
  • 79715 : The Follow button does not appear in the Contracts record view as expected. 
  • 79712 : The "Sign" and "Get latest" links do not appear as expected in the Documents subpanel of the Contracts module. 
  • 79704 : When logged into Sugar with certain languages (e.g. Russian), the list view's Record Actions menu may not appear as expected for some modules (e.g. Dashboards).
  • 79698 : When merging records, fields that are required under certain conditions are required even if the conditions have not been met.
  • 79686 : The List Order field in the Contract Types, Manufacturers, Tax Rates, and Shipping Providers modules does not control the order in which the options are listed in the corresponding fields (Type Name, Manufacturer Name, Shipping Provider, Tax Rate) for the Contracts, Quotes, and Product Catalog modules.
  • 79640 : The Home (Sugar cube) icon shifts position in the navigation bar when "Allow users to select modules to appear in the navigation bar" is enabled.
  • 79510 : Email addresses are not shown on the import summary screen even though they were properly imported.
  • 79469 : When a web-to-lead form is created without including a redirect URL, the visitor may improperly get directed to an error page upon submitting the form.
  • 79173 : When attempting to navigate away from the module or save the record, the Unsaved changes warning message may unexpectedly appear for modules containing custom dependent fields.
  • 79131 : When the "Listview items per page" setting in Admin > System Settings contains a large value (e.g. 50 or greater), it may cause an issue with rendering the "Download PDF" and "Email PDF" options in the record view's actions menu. Changing the "Listview items per page" setting to "20" may help resolve the issue. 
  • 79108 : When editing a record via the list view preview on the intelligence pane, the Resolve Conflict drawer may appear unexpectedly upon save.  
  • 79009 : When the targeted module contains a broken field, configuring an Action element in a process definition causes the Process Design canvas to time out.
  • 78890 : Updating composer in instances with custom modules deployed from module builder may cause unexpected errors.
  • 78885 : A SugarBPM process may be prematurely considered complete when part of the process remains unexecuted in job queue.
  • 78719 : Users may encounter an unexpected behavior when accessing Sugar if the Date Modified field in the user account contains the same value as another user. 
  • 78709 : Users assigned a role with Delete, Edit, or Export permission set to "Owner" may improperly be restricted from downloading and emailing PDFs.   
  • 78667 : Attempting to scroll in Sidecar modules (e.g. Meetings) may not work as expected when logged into Sugar on iPad.
  • 78600 : Special characters are improperly allowed to be entered in dropdown lists' item names.
  • 78582 : Process definitions do not enforce the requirement that multiple paths must converge before an End event.
  • 78580 : Saving a record without completing the Salutation field which is marked as required in Admin > Studio may result in unexpected behavior. 
  • 78527 : Inline editing a TextArea field via the subpanel may not work as expected. Reloading the web browser will resolve the issue and allow the user to inline edit the field properly. 
  • 78487 : When renaming modules via Admin > Rename Modules, only the most recent changes will remain and any previous updates to module names will be incorrectly removed after save. 
  • 78334 : Performing certain actions in records containing calculated fields with rollup functions (e.g. rollupSum) and a large number of related records may cause performance issues in Sugar.   
  • 78315 : The same Process ID may be used for multiple processes if a process definition's Start condition is triggered by simultaneous events.
  • 78229 : Downloading the import file template may take longer than expected for module's containing a large number of records.
  • 78128 : For dropdown list values, a value's Display Label will improperly revert to a blank value if its Item Name is 0 (zero).
  • 77820 : The Visibility Editor window may not load as expected and display an error if there is a large number of dropdown dependencies defined in the visibility editor.
  • 77780 : Instances using MS SQL may see unexpected behavior due to a lack of ORDER BY clause in the list view query. 
  • 77738 : Attempting to merge two records (e.g. accounts) may fail with an error if the record that is being merged to the primary record contains a large number of related records (e.g. contacts).
  • 77719 : If a process definition contains a Wait event that is relative to a date field, the process does not adjust for changes that may occur to the date field after the Wait event's initiation.
  • 77609 : Generating reports with empty relate fields may not include the associated record in the report result as expected if the related record has been deleted.
  • 77302 : Upgrades may fail due to queries posted by the upgrade exceeding the max_allowed_packet database setting.
  • 77287 : Performing certain actions (e.g. import, mass update) in Sugar may result in performance issues if there are numerous calculated fields to be updated in related records. As a workaround, add the following line to the config_override.php file to disable the related calculation field updates: $sugar_config['disable_related_calc_fields'] = true;. But keep in mind that the affected calculated values will not be updated and running Recalculate Values on related records. 
  • 77249 : Guests may not get imported to call or meeting records as expected.
  • 77087 : When a record is assigned to the user's default private team, changing the Teams field from the private team to another team (e.g. Global) may incorrectly display the team name with the user's last name appended to the end (e.g. Global Smith).   
  • 77055 : Attempting to mass update the user's outbound email client via Admin > User Management may not work as expected.
  • 76401 : The data in the report chart may be inconsistent between the report chart dashlet and the Reports module. 
  • 76014 : Mass-updating a large number of records that trigger the start event on one or more process definitions will result in a PHP timeout error. Additionally, any processes created before PHP timed out may be corrupt.
  • 75254 : Printing reports (e.g. Summation With Details report) to PDF may not work as expected when logged into Sugar via a mobile browser.
  • 74919 : Performing certain actions (e.g. Quick Repair and Rebuild) in Sugar that rebuild the cache files may cause unexpected issues in the system if there are multiple users logged in and utilizing Sugar. As a workaround, perform such actions during off-hours where users are not utilizing the system.
  • 74628 : Certain workflows using a Relate-type field in the condition may fail to load as expected and result in errors after upgrading to 7.6.x.x. As a workaround, run the following query in the instance's expressions table:
    UPDATE expressions
    SET    exp_type = "id"
    WHERE  exp_type = "relate"
           AND lhs_field = "assigned_user_id"
  • 74539 : Custom fields may not display as expected when previewing call and meeting records via the intelligence pane.
  • 74382 : The Case Summary dashlet may not work as expected and cause an internal server error if the account record has a large number of related cases.
  • 74350 : An unexpected error may occur when saving a record if there is an issue with the user's default team in the database. As a workaround, run the following query in the instance's team sets table. The affected users will then need to edit their profile to configure their default teams again.
    UPDATE team_sets
    SET    deleted = 1
    WHERE  id NOT IN ("select team_set_id from team_sets_teams where deleted = 0")
           AND deleted = 0
  • 74097 : Changing the instance's opportunity model from "Opportunities and Revenue Line Items" to "Opportunities" may cause data to not display correctly when viewing the campaign's ROI.
  • 73689 : When users adjust the list view or subpanel column widths, the user's preferred column size may not be preserved if the browser window is resized.
  • 73566 : Calculated or dependent fields containing a related() function may not get calculated until after save for activity-type modules (e.g. Notes).
  • 73468 : Time-elapse workflow may not trigger as expected when a date field (e.g. Expected Close Date) in the condition is set to a date in the future.
  • 72810 : Filtering the list view search using custom checkbox fields may not work as expected.
  • 7262571848 : When a large number (e.g. 60) of PDF templates are available in a module, users may not be able to scroll through the full list of templates via the "Download PDF" or "Email PDF" options in the record view. As a workaround, changing the screen resolution or reducing the number of templates may help resolve the issue.  
  • 72581 : Attempting to merge records in modules containing required dependent fields may not work as expected. 
  • 71950 : Adding TinyMCE to a TextArea-type field (e.g. Description) may cause the field to not display properly in record view when accessing Sugar via certain browsers (e.g. Firefox).
  • 71733 : Printing archived emails via the browser's print option may not display correctly.
  • 70940 : Attempting to disable the SAML authentication via Admin > Password Management may not work as expected if the authenticationClass property in config.php has been set to SAMLAuthenticate.
  • 70024 : Scheduled reports may have incorrect or missing charts in the emailed PDF. Select "Print as PDF" from the report's Actions menu to see the updated chart.
  • 69957 : Large number of activity stream records may cause performance issues.  
  • 68985 : Custom relationships created between a module and the Activities module via Admin > Studio cannot be deleted as expected.
  • 68975 : Changing the order of subpanels via Admin > Display Modules and Subpanels does not preserve the order upon save.
  • 68461 : Searching by non-primary email addresses in the module's list view (e.g. Accounts) does not pull up results as expected.
  • 68112 : Matrix-type reports display incorrectly when exported to PDF.
  • 67886 : During lead conversion, the newly created opportunity record does not get associated to the Revenue Line Item, causing the lead conversion to not complete successfully. As a workaround, create the opportunity record during lead conversion then manually associate the opportunity to the Revenue Line Item.

Developer

Developer Notes for Upgrading From Winter '19 (8.3)

The following changes in this release may affect developers in version 9.0.0 when upgrading from the Winter '19 release, 8.3:

  • This Sugar release introduces PHP 7.3 support.
  • Some SOAP API integrations may not be able to authenticate using LDAP when an LDAP encryption key is configured. As a work around, remove the LDAP encryption key under Admin > Password Management.
  • When planning a 9.0.0 upgrade of an existing Sugar instance running on SQL Server, it is recommend to upgrade Sugar to 9.0.0 before upgrading to Windows Server 2016 and to SQL Server 2017.
  • For Sugar 9.0.0 running on Microsoft SQL Server, we have converted ID fields used with Microsoft SQL Server from varchar to nvarchar. This change is intended to improve list view performance when using SQL Server.
  • The Sugar application will no longer share Sugar subscription warning and error messages via public metadata. This will reduce the occurrence of unexpected HTTP 412 metadata synchronization issues in Sugar instances, especially near the end of their subscription term.
  • The Product Catalog dashlet (QuotesProductCatalogView) has been refactored to make it easier to extend for use with other modules via code customization.
  • The Sugar Feedback module has been deprecated and will be removed in a future Sugar release. The following Sidecar components have been deprecated:
    Name File Path
    FeedbacksRatingField ./modules/Feedbacks/clients/base/fields/rating/
    FeedbacksFeedbackView ./modules/Feedbacks/clients/base/views/feedback/
  • Sugar's support for Google Analytics has been deprecated. The following JavaScript class and associated functions have been deprecated and will be removed in a future Sugar release.
    SUGAR.analytics.connectors.GoogleAnalytics
    SUGAR.analytics.connectors.GoogleAnalytics.initialize()
    SUGAR.analytics.connectors.GoogleAnalytics.start()
    SUGAR.analytics.connectors.GoogleAnalytics.trackPageView()
    SUGAR.analytics.connectors.GoogleAnalytics.trackEvent()
    SUGAR.analytics.connectors.GoogleAnalytics.set()
    SUGAR.analytics.connectors.GoogleAnalytics.enableIPAnonymization()

Developer Notes for Upgrading From Spring '18 (8.0)

The following changes in this release may affect developers in version 9.0.0 when upgrading from the Spring '18 release, 8.0:

  • This Sugar release introduces PHP 7.3 support.
  • Some SOAP API integrations may not be able to authenticate using LDAP when an LDAP encryption key is configured. As a work around, remove the LDAP encryption key under Admin > Password Management.
  • When planning a 9.0.0 upgrade of an existing Sugar instance running on SQL Server, it is recommend to upgrade Sugar to 9.0.0 before upgrading to Windows Server 2016 and to SQL Server 2017.
  • For Sugar 9.0.0 running on Microsoft SQL Server, we have converted ID fields used with Microsoft SQL Server from varchar to nvarchar. This change is intended to improve list view performance when using SQL Server.
  • The Sugar application will no longer share Sugar subscription warning and error messages via public metadata. This will reduce the occurrence of unexpected HTTP 412 metadata synchronization issues in Sugar instances, especially near the end of their subscription term.
  • The Product Catalog dashlet (QuotesProductCatalogView) has been refactored to make it easier to extend for use with other modules via code customization.
  • The Sugar Feedback module has been deprecated and will be removed in a future Sugar release. The following Sidecar components have been deprecated:
    Name File Path
    FeedbacksRatingField ./modules/Feedbacks/clients/base/fields/rating/
    FeedbacksFeedbackView ./modules/Feedbacks/clients/base/views/feedback/
  • Sugar's support for Google Analytics has been deprecated. The following JavaScript class and associated functions have been deprecated and will be removed in a future Sugar release.
    SUGAR.analytics.connectors.GoogleAnalytics
    SUGAR.analytics.connectors.GoogleAnalytics.initialize()
    SUGAR.analytics.connectors.GoogleAnalytics.start()
    SUGAR.analytics.connectors.GoogleAnalytics.trackPageView()
    SUGAR.analytics.connectors.GoogleAnalytics.trackEvent()
    SUGAR.analytics.connectors.GoogleAnalytics.set()
    SUGAR.analytics.connectors.GoogleAnalytics.enableIPAnonymization()
  • Sugar's out-of-the-box default dashboard metadata files have been removed. These files specified the default list view and record view dashboards used by Sugar's stock modules. This default information is now stored in the Dashboards module in the Sugar database. There should be no impact on existing customizations unless they include one of the removed PHP files.
    The following files have been removed:
    • ./modules/<module>/clients/base/layouts/record-dashboard/record-dashboard.php
    • ./modules/<module>/clients/base/layouts/list-dashboard/list-dashboard.php
  • Custom Sugar dashboards should no longer be defined via metadata. Customizations should use the Default Dashboards feature instead of defining dashboard metadata. During the upgrade to Sugar 8.3, any pre-existing custom metadata dashboards will be migrated into a default dashboard record that is shared globally and assigned to Admin user.
    Module-loadable packages that install custom dashboards will need to be updated to remove the custom dashboard metadata since it will no longer be supported.
  • The following Sidecar JS libraries have been upgraded. jQuery Migrate should help maintain compatibility for custom BWC code using older jQuery APIs. Custom code that uses deprecated jQuery APIs should be updated as soon as possible.
  • The following BWC (SugarMVC) JavaScript libraries have been upgraded: jQuery Migrate should help maintain compatibility for custom BWC code using older jQuery APIs. Custom code that uses deprecated jQuery APIs should be updated as soon as possible.
  • As part of the jQuery upgrade, the following jQuery plug-ins needed to be updated to be compatible with v3.3.1.
    • include/javascript/jquery/markitup: v1.1 -> v1.1.15 (changelog)
    • include/javascript/pmse/lib/jquery.layout-latest.js: v1.3.0 -> v1.6.3 (changelog)
    • include/javascript/jquery/jquery.timepicker.js: 1.8.8 -> 1.11.14 (changelog)
    • include/javascript/jquery/bootstrap/bootstrap.min.js (v2.0.0) is removed and replaced by include/javascript/twitterbootstrap/bootstrap.min.js (v2.2.1) (changelog)
  • Some code changes have been made to ensure future compatibility with PHP 7.3. As a result, the following PHP libraries were updated. If you have custom code that uses these libraries, you should verify that your customizations are still compatible.
    • doctrine/dbal: 2.7.1 → 2.8.0 (changelog)
    • ramsey/uuid: 2.9.0 → 3.8.0 (changelog)
    • symfony/{cache,console,framework-bundle,security-core,security-csrf,translation,validator}: 3.4.8 → 3.4.16 (changelog)
    • tedivm/jshrink: 1.1.0 → 1.3.1 (changelog)
  • The following PHP library has been updated. If you have custom code that uses this library, you should verify that your customizations are still compatible.
    • onelogin/php-saml: v2.11 -> v3.0 (changelog)
  • The following JavaScript library was updated in this Sugar release. If you have custom code that uses this library, you should verify that your customizations are still compatible.
  • As part of the changes to ensure future compatibility with PHP 7.3, some changes have been made to the following vendor libraries for PHP 7.2 and 7.3 compatibility without upgrading them. If you have custom code that uses these libraries, you should verify that your customizations are still compatible.
    • Smarty
    • XTemplate
    • HTMLPurifier
  • This Sugar release introduces a SugarConfig setting to control if shortcut global search operators should be used. These operators are: '&' for AND, '|' for OR, and '-' for NOT. These shortcuts can interfere with attempts to search for text that includes these characters. For example, searching for "Alcatel-Lucent" will be interpreted as "Alcatel NOT Lucent" and would exclude an exact match from search results. If this is an issue, Sugar administrators can now use the following SugarConfig setting to disable shortcut operators: $sugar_config['gs_use_shortcut_operator'] = false;
  • This Sugar release introduces the v11_4 REST API version. The following new REST APIs have been added in v11_4:
    • GET rest/<module>/<id>/link/<link_name>/leancount
    • GET rest/<module>/<id>/link/<link_name>/filter/leancount
    Please review the REST API documentation in the Developer Guide for more details on these API endpoints.
  • The following jQuery plugins are deprecated and will be removed in a future Sugar release. They are currently unused by core Sugar application. Please verify that JavaScript code customizations do not rely on these deprecated libraries.
    • include/javascript/jquery/jquery.dataTables.customSort.js
    • include/javascript/jquery/jquery.dataTables.min.js
    • include/javascript/jquery/jquery.droparea.js
    • include/javascript/jquery/jquery.elementReady.js
    • include/javascript/jquery/jquery.highLight.js
    • include/javascript/jquery/jquery.hotkeys.js
    • include/javascript/jquery/jquery.hoverIntent.js
    • include/javascript/jquery/jquery.hoverscroll.js
    • include/javascript/jquery/jquery.popoverext.js
    • include/javascript/jquery/jquery.watch.js
  • The deprecated JIT chart library has been removed in this Sugar release. The JIT chart library was deprecated in Sugar 7.10 and has been replaced by Sucrose charts. Please ensure you have removed any code that uses JIT charts prior to upgrading.
    The following directory has been removed in this Sugar release:
    • ./sugarcrm/include/SugarCharts/Jit
  • As part of new Comments Log field, Sugar now includes a CommentLog module that supports only the following REST API endpoint: GET /rest/CommentLog/<GUID>
    POST, PUT, and DELETE are not supported.
  • In Sugar user interface customizations, replace any usage of the LBL_REPORT_GRAND_TOTAL key with LBL_GRAND_TOTAL key instead. The LBL_REPORT_GRAND_TOTAL key will be removed in a future Sugar release.
  • The following REST API endpoints were added in this Sugar release: GET /PdfManager/generate
  • With enforced user subscription limits, SAML and LDAP JIT user provisioning will not allow a customer to accidentally exceed the number of allowed active users.
  • We have improved our support of OAuth 2.0 standards by adding support for RFC 6750 bearer tokens. See this blog post for more details.
  • The unsupported browser error message functionality has been removed from the login page. As part of this work, code related to this functionality was removed from ./clients/base/views/login/login.js, and LBL_ALERT_BROWSER_SUPPORT and TPL_ALERT_BROWSER_SUPPORT were removed from ./include/language/en_us.lang.php. We recommend testing that any customizations you made to the login page continue to work as expected and that your customizations are not using the strings LBL_ALERT_BROWSER_SUPPORT or TPL_ALERT_BROWSER_SUPPORT.
  • Underscore 1.9.0 includes big performance improvements that we want you to benefit from, so we have upgraded Underscore from 1.8.3 to 1.9.1. No functionality will be deprecated as part of this upgrade, so we expect the impact to be quite low. See the Underscore changelog for more details.
  • We have changed how default filters populate the filters in subpanels. Prior to this release, if you had customized the default filter for a module (see this blog post for more details on how you can implement this customization), that filter would be set as the default for subpanels in the module as well. Some users found this confusing as they assumed they were seeing all records instead of a filtered set of records in the subpanel. We have updated this functionality so that even if you customize the default filter for a module, the subpanels in that module will still default to the All Records filter. If you have customized the default filter for a module, we recommend notifying your end users of this change in behavior.
  • Ventana's buildFileURL() method no longer supports the passOAuthToken option. Two functions in Sugar have been updated to no longer support the oauth_token option:
    uploadFile() in /clients/base/fields/attachments/attachment.js
    importProject() in /modules/pmse_Project/clients/base/views/project-import/project-import.js
  • Handlebars v4 included significant changes to depthed paths that would likely break many customizations and integrations (see the Handlebars 4.0.0 Release Notes for more details). In order to get you the improvements without breaking your customizations and integrations, we have created a forked version of Handlebars v1.3.0 with a unique version number, 1.3.1-sugarcrm-temporary. The forked version of Handlebars is intended to be a temporary fork that we intend to discontinue using and/or remove in a future version of Sugar. Given the breaking changes to depthed paths in v4, we are exploring alternatives to reduce disruption to existing customizations and allow developers as much time as possible to adapt.
  • jQuery has been upgraded from 1.11.3 to 1.12.4. 
    jQuery Migrate has been upgraded from 1.2.1 to 1.4.1.
    jQuery UI has been upgraded from 1.11.4 to 1.12.1.
    See this blog post for more details on how we expect these upgrades to affect your integrations and customizations as well as links to changelogs and release notes for these upgrades.
  • We have created a new field component for Quotes configuration: Tristate Checkbox. The code for this checkbox is located in ./clients/base/fields/tristate-checkbox. The Tristate Checkbox has three possible states instead of the two a traditional checkbox has. The checkbox can be checked, unchecked, or indeterminate. The Tristate Checkbox was created specifically for use in the Quotes configuration interface and we do not recommend using it in other locations.
  • Admins can now configure the Quotes user interface by navigating to Administration > Quotes Configuration. Ensure any fields that your code customizations rely on are visible or included in a SugarLogic formula for a visible, calculated field.
  • Two new REST API endpoints were added to REST API version 11.3 to aid in configuring and retrieving the Quotes configuration:
    POST /Quotes/config
    GET /Quotes/config
  • A db logger channel has been added to allow for more fine-grained control over log messages related to the database. For example, the following config option will cause related debug messages to be written to the log file regardless of the global Sugar log setting: $sugar_config['logger']['channels']['db']['level'] = 'debug';
  • The format for database-related log messages has changed. 
    Previous format:
    Tue 03 Jul 2018 01:27:39 PM PDT [23772][1][INFO] Query: SELECT name
    FROM users
    WHERE id = 1
    New format:
    Tue 03 Jul 2018 01:27:39 PM PDT [23772][1][INFO] Query: SELECT name\n FROM users\n WHERE id = 1
    For development purposes, the original multi-line message can be restored using sed 's/\\n/\n/g' sugarcrm.log
  • The SugarCache implementation has been refactored to support PSR-16 cache interface and encrypted storage for multi-tenant cache use.
    As part of these changes, cache backends that extend SugarCacheAbstract are deprecated and will be removed in a future Sugar release. Cache implementations from Sugarcrm\Sugarcrm\Cache\Backend namespace should be used instead.
    Usage of the characters reserved by PSR-16 in cache keys such as ()/@: are no longer supported. Currently, these characters are converted to - and warnings are logged in sugarcrm.log.
  • The following Sugar Config parameters have been added for SugarCache:
    • cache.backend is a string that can be used to define which caching backend class that should be used.
    • cache.multi_tenant is a boolean that can be used to enable multi-tenant cache behavior.
    • cache.encryption_key can be used to define the encryption key for use in multi-tenant mode. This key will be generated automatically and doesn't need to be specified manually.
  • When using Sugar with Elasticsearch 6.x, Sugar will create one search index per module.
  • The following PHP libraries were updated or added in this Sugar release:
    • The Elastica library was upgraded from v5.3.0 to v6.0.1. Please refer to the Elastica changelog for more details if you have custom code that calls Elastica library directly.
    • AWS SDK for PHP (aws/aws-sdk-php) v3.55.3 was added in this Sugar release. For more information on this SDK, please visit the Amazon website.
  • Slow queries created using Doctrine QueryBuilder are now logged as FATAL errors when "Log slow queries" is enabled via Admin > System Settings. The associated boolean SugarConfig setting is dump_slow_queries.
  • Monolog channels no longer support non-PSR logging levels like "fatal". For more information on PSR compliant logging levels, refer to the PSR-3 Logger page of Sugar's Developer Guide.
  • An option has been added to module loadable package manifests that will allow Module Loader to ensure all traces of previously installed package versions (including packages that have been upgraded multiple times) are removed.
    <?php
    $manifest = array(
      'id' => '<id>',
      ...
      'uninstall_before_upgrade' => true,
      ...
    );
    
    Custom pre- or post-install scripts that remove old versions of the package when upgrading may no longer be necessary when using the new uninstall_before_upgrade option.
  • Sugar can now be configured to use Amazon Elasticsearch Service. This requires some different AWS specific configuration as seen in the example below.
    'full_text_engine' => array (
      'Elastic' =>
      array (
          'transport' => 'AwsAuthV4',
          'aws_access_key_id' => '<aws access token>',
          'aws_secret_access_key' => 'aws secret access key',
          'aws_region' => 'aws region',
          'host' => 'aws ES server host',
      ),
    ),
  • Filter API performance has been significantly improved in this release by optimizing how the API queries the database. Instead of running a single complex SQL query, Filter API requests are now implemented using two simpler SQL queries. This change should significantly improve list view performance for modules with many records and complex team security rules.
  • The following authentication-related files were removed:
    • sugarcrm/modules/Users/authentication/EmailAuthenticate/EmailAuthenticate.php
    • sugarcrm/modules/Users/authentication/EmailAuthenticate/EmailAuthenticateUser.php
    • sugarcrm/modules/Users/authentication/LDAPAuthenticate/LDAPAuthenticate.php
    • sugarcrm/modules/Users/authentication/LDAPAuthenticate/LDAPAuthenticateUser.php
    • sugarcrm/modules/Users/authentication/LDAPAuthenticate/LDAPConfigs/default.php
    • sugarcrm/modules/Users/authentication/SAMLAuthenticate/SAMLAuthenticate.php
    • sugarcrm/modules/Users/authentication/SAMLAuthenticate/SAMLAuthenticateUser.php
    • sugarcrm/modules/Users/authentication/SAMLAuthenticate/SAMLRequestRegistry.php
    • sugarcrm/modules/Users/authentication/SAMLAuthenticate/index.php
    • sugarcrm/modules/Users/authentication/SAMLAuthenticate/saml.php
    • sugarcrm/modules/Users/authentication/SAMLAuthenticate/settings.php
    • sugarcrm/modules/Users/authentication/SugarAuthenticate/SugarAuthenticate.php
    • sugarcrm/modules/Users/authentication/SugarAuthenticate/SugarAuthenticateExternal.php
    • sugarcrm/modules/Users/authentication/SugarAuthenticate/SugarAuthenticateUser.php
    The following Authentication classes have been replaced:
    • SAMLAuthenticate has been replaced by IdMSAMLAuthenticate.
    • LDAPAuthenticate has been replaced by IdMLDAPAuthenticate.
    • SugarAuthenticate has been replaced by IdMSugarAuthenticate.
    • SugarAuthenticateExternal has been replaced by ExternalLoginInterface
    If you have customized authentication, please test to ensure it works correctly after upgrade.
  • The clipboard.js v2.0.0 library has been added to Sugar.
  • In order to support importing and displaying emails that contain emoji, MySQL databases now use the utf8mb4 character set and the utf8mb4_general_ci collation. The character set and collation will be set automatically for new instances of Sugar and updated during the upgrade of existing instances of Sugar. Upgrading instances are not anticipated to experience issues, but upgrade testing is recommended.
    Tables with very large row sizes (e.g. custom tables with a large number of custom fields) may be unable to be automatically upgraded. The upgrade script will notify you if a table would exceed the single-row size supported by MySQL (65,535 bytes) upon conversion to utf8mb4. In order to reduce the row size, we recommend the following:
    • Remove fields that are not being used.
    • Reduce the lengths for char/varchar fields (e.g. size of longest existing value plus some padding).
    • Replace large varchar fields with text fields. Text fields are roughly 10 bytes, so significant size reduction exists when text fields can replace large varchar fields (e.g. VARCHAR(255).
  • The EmailMarketing::time_start property has been removed in this release. The start time of an email campaign should be derived by parsing the EmailMarketing::date_start attribute.
  • The function View.Views.Base.HistorySummaryHeaderpaneView._getParentModelName is now deprecated.
  • The translatable template string TPL_HISTORICAL_SUMMARY stored in sugarcrm/include/language/en_us.lang.php now uses unescaped values. Please ensure you are NOT using this template in combination with Handlebars.SafeString as this would make your code vulnerable to XSS attacks.
  • The Sugar login page has been updated to display content from SugarCRM. The content will not display on any window smaller than 1024px (this includes most phones and tablets). We recommend testing that any customizations you have made to the Sugar login page continue to work on both large and small screens.
    The following sidecar views have been added:
    • MarketingExtrasView
    • MarketingExtrasView has been added to LoginLayout
    • MarketingExtrasView has been added to ForgotPasswordLayout
    As part of the updated login page implementation, a new REST API endpoint GET /login/content was added to REST API version 11.2.
  • Admins can choose to disable the SugarCRM content from appearing on the login page via Admin > System Settings > Enable additional login screen content. The marketing_extras_enabled boolean SugarConfig setting has been added in this Sugar release. Setting this value to false will disable the custom content from SugarCRM on the login page.

Supported Platforms

For information on supported platform components, see Sugar 9.0.x Supported Platforms.

Upgrade Paths

Package From Version(s) MySQL SQLServer DB2 Oracle
New Installs
8.0.3-to-9.0.0 8.0.3 ✓ 
8.3.0-to-9.0.0 8.3.0

Last modified: 2019-06-21 17:27:41