SugarCRM SupportDocumentationSugar Versions7.97.9 ProfessionalSugar Professional 7.9.0.0 Release Notes

Sugar Professional 7.9.0.0 Release Notes

Overview

This document describes the changes and functionality available in Sugar® Professional 7.9.0.0.

Sugar 7.9.0.0 is available for both On-Demand (Sugar-hosted SaaS) and On-Site deployments.

Administrator and End User

Feature Enhancements

The following feature enhancements are included in the 7.9.0.0 release:

  • Quotes user interface : The Quotes module now uses the Sidecar user interface and includes the following changes:
    • Drag-and-drop line reordering : Users can easily arrange comments and quoted line items on the quote worksheet via drag-and-drop.
    • Mass actions : Select multiple line items and comments to add them to a new group or remove them via mass delete.
    • Product Catalog search : The product catalog can now be searched by category and type in addition to name.
    • Optional groups : When building a quote, line items and comments may now be added outside of a group.
    • Quote PDFs : Quote PDFs can now be saved from the related account or opportunity's Quotes subpanel as well as from the quote's record view.
    • Smarter relate fields : Inactive tax rates and inactive shipping providers are hidden from their respective fields on the quote record.
    • Sugar Logic : Calculated fields in the quotes module now use Sugar Logic so admins can have greater control over quote field formulas via Studio.
  • Global Search operators : New search operators "AND", "OR", and "NOT" are now supported for global search.
  • Reports user interface : The Reports list view now uses the Sidecar user interface.
    • Description and Tags fields : New "Description" and "Tags" fields are now available in the Reports module and can be accessed via the list view.  
  • Help pane : The Help link in Sugar's footer now opens the help pane which provides a brief introduction to the current Sidecar module, learning resource links (e.g. Documentation & Support), and the tour link.
    • Support and Tour links : The "Support" and "Tour" links in Sugar's footer have been moved to the help pane.

Fixed Issues

The following issues have been resolved in version 7.9.0.0:

  • 60782 : When creating an email marketing record, entering the start time (e.g. 18:00) using a format that is different from the user's preferred time format may cause the Start Date field to be set incorrectly resulting in unexpected behavior.
  • 72955 : Invalid characters contained in a package's dropdown list are improperly allowed to be uploaded to Sugar via Module Loader.
  • 75456 : Sharing multiple calendars containing large numbers of calls and meetings may exhaust PHP's memory limit resulting in unexpected errors.
  • 75960 : Running JSMin version 2.x (e.g. 2.0.1) in PHP may cause unexpected issues when utilizing Sugar.
  • 76141 : When related record subpanels in Legacy module detail views (e.g. Contracts) are collapsed for newly created records, the double arrow icon may no longer appear for users to expand the subpanel. 
  • 76968 : Deploying packages in Module Builder may fail with an error when temp files are detected in the file system by the package scanner.
  • 77005 : The View Change Log option may disappear from the custom module's record view after upgrading to 7.7.1.0.
  • 77059 : The quick create layout for relate fields (e.g. Billing Account Name) in Legacy modules (e.g. Quotes) are not editable via Admin > Studio. 
  • 77062 : Exporting a target list may display incorrect information (e.g. email address) for a contact record if there is an existing account with the same record ID in Sugar.  
  • 77101 : Invalid email addresses may improperly be allowed to save in Sugar. 
  • 77260 : Session locking may cause performance issues in Sugar.
  • 77271 : The Visibility Editor window may not load as expected and display an error if there is a large number (e.g. 400) of dependent values already added to the parent dropdown in the Visibility Editor. 
  • 77307 : Uploading packages via Module Loader may not work as expected if the cache directory is cleared.
  • 77525 : When creating a quote via the "Quotes (Bill To)" subpanel in the Contacts module, certain fields (e.g. Billing Account Name) may not be auto-populated as expected.
  • 77653 : Performing a Quick Repair and Rebuild may display improper repair scripts.
  • 77670 : The Set Connector Properties page in Admin > Connectors displays the incorrect Twitter Developer site URL. 
  • 77929 : Recipients will not be opted out of future campaign emails after clicking the opt-out link included in email-type campaign messages.
  • 77942 : When testing email campaigns, the test email may not send out as expected if multiple tests are performed using the same target list. 
  • 77965 : Deleting a field in Studio may not work as expected when logged into Sugar with a non-English language (e.g. Portuguese, German, Spanish).
  • 78101 : When using the Forecast field as a filter in a report, the corresponding filter values may not be available to select and appear blank. 
  • 78141 : An unexpected error may occur while creating a workflow action that creates a related opportunity record associated with the target module.
  • 78186 : Duplicate fields may improperly appear in the Default, Available, and Hidden columns of the List View layout in Admin > Studio.
  • 78197 : Creating a web-to-lead form may not work as expected for instances running Sugar Professional 7.8.0.0.
  • 78220 : Changing the label in Studio for a custom field created using another language (e.g. Spanish) may improperly change the label for other custom fields. 

For more information on a bug or to provide feedback, use the SugarCRM Bug Tracker located at http://www.sugarcrm.com/support/bugs.html. To view the complete list of bugs fixed in this specific release, run a search using " 7.9.0.0" in the Targeted In Release field. Look for the bugs marked "Fixed" in the Resolution field.

Known Issues

The following are known issues in version 7.9.0.0:

  • 53969 : The Projects module does not have the option (star icon) to designate records as favorites. As a workaround, the Favorites option can be enabled by changing favorites from "false" to "true" in the ./modules/Projects/vardefs.php file.
  • 61338 : When test entries are deleted from the campaign, the related campaign emails that are sent to targets may not be viewable and display an error (Error retrieving record. This record may be deleted or you may not be authorized to view it).
  • 64880 : Certain fields (e.g. email address, phone, etc.) in the Users module may not be available to add as field variables in PDF templates.
  • 65527 : The SugarCRM® cube icon is used as the system-wide favicon even when "Display module icon as favicon" is enabled in Admin > System Settings.
  • 65647 : Users will not see updates to their avatar images without first logging out and back into Sugar.
  • 65674 : Selecting an item from the Recently Viewed list under the module tab does not correctly update the list to include the selected record.
  • 66209 : Help text is not being displayed.
  • 66520 : Notes may not be edited directly from the Contracts module's Notes subpanel.
  • 66573 : More than one user attempting to merge records simultaneously results in errors.
  • 66580 : List view loads may experience performance issues as quantity of records loaded increases.
  • 66826 : Numerical fields such as Bug Number may not be used with type-ahead functionality to generate a list of potential matches when relating records.
  • 66842 : Relate fields cannot be sorted as expected in the list view.
  • 66900, 67294 : Resetting the forecast time period does not set the current time period correctly and causes various issues in the application.
  • 66910 : The notification for Cases module does not include the case number as expected when triggered via the workflow.
  • 66995 : The Display server response times option is improperly available to select via Admin > System Settings.
  • 68024 : The Case Number, Date Created, and Created By field values for the Cases module may not get populated in workflow alerts that are triggered on first save.
  • 68095 : Text provided for Campaign Tracker URLs is unexpectedly shortened after the first 30 characters.
  • 68112 : Matrix-type reports display incorrectly when exported to PDF.
  • 68245 : Calendar dashlet may be missing from Legacy dashboard after upgrading to 7.2.0.
  • 68426 : New panels added to the Record View layout in Studio do not display the panel options (Display Type, Collapse?) until the layout is saved in Studio.
  • 68440 : Quick creating (e.g. Leads, Contacts, etc.) via the Emails dashlet on the Legacy dashboard opens up the legacy create view instead of the sidecar record view.
  • 68461 : Searching by non-primary email addresses in the module's list view (e.g. Accounts) does not pull up results as expected.
  • 68464 : Changes made to record view layouts via studio are not reflected when quick creating records until after the full creation view is used.
  • 68975 : Changing the order of subpanels via Admin > Display Modules and Subpanels does not preserve the order upon save.
  • 68979 : Changing the currency of a quote multiple times may introduce rounding errors to the line item price fields.
  • 68985 : Custom relationships created between a module and the Activities module via Admin > Studio cannot be deleted as expected. 
  • 69184 : Creating a custom field may not work as expected if there are numerous custom fields and large amounts of data existing in the module.
  • 69391 : Changes made to module names via Admin > Rename Modules are not reflected on list views columns for modules which relate to the affected module. The column names may be corrected individually by modifying each listview's column labels via Studio.
  • 69508 : Relating a new record via the Legacy module subpanel (e.g. Calls) in a module's record view (e.g. Leads) causes the Next and Previous buttons to no longer appear in the record view. Navigating back to the list view and selecting a record will correct the issue by restoring the buttons again in the record view.
  • 69801, 69918 : Changing the style attributes for table tags, image tags, etc. on email templates via HTML may result in parts of the code getting removed upon save.
  • 69982 : Old Value variables (e.g. {::past::Opportunities::sales_stage::}) inserted in workflow alert templates may not display the correct value in the email as expected.
  • 69985 : If a custom module has a relationship with an individual Activity-type module (e.g. Tasks), this related module may not be available to select when creating a workflow action to create a record in a module (Tasks) associated with the target module (e.g. custom module). As a workaround, create a one-to-many relationship between the custom module and the Activities module, and the appropriate Activity-type module (e.g. Tasks) will be available to select when creating the workflow action
  • 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.
  • 70106 : The Skype icon does not appear next to the phone number as expected when the SkypeOut integration is enabled.
  • 70124 : Studio's formula builder displays several undesired functions (getListWhere, isForecastClosed, isForecastClosedWon, and isForecastClosedLost).
  • 70389 : Tabbing while inline editing the address block in the record view does not work as expected as it does not tab through all the fields (e.g. state, postal code, etc.) within the address block.
  • 70542 : The "Show Completed Meetings, Calls, and Tasks" option is not available in Calendar > Settings, which can cause performance issues in the Calendar module for users who have a large number of activity records. Setting Admin > System Settings > vCal Updates Time Period to "-1" will relieve the performance delay, however this will prevent user availability information from appearing when scheduling a call or meeting.
  • 70553 : Disabling export via Admin > Locale does not remove the Export option as expected from the list view.
  • 70601 : Custom HTML files including javascript may not render correctly after upgrade to 7.5.0.0.
  • 71446 : For opportunities, changes made to labels via Studio > Opportunities > Labels do not affect list view labels. Make changes to labels via Studio > Opportunities > Layouts > List View to modify list view layouts.
  • 71733 : Printing archived emails via the browser's print option may not display correctly.
  • 71807 : Studio layouts appear in reverse order when right-to-left themes are enabled.
  • 72000 : Changing the Admin user with user ID = 1 to a regular user may cause the system index to not index records properly in Sugar. To resolve the issue, change the Admin user (user ID = 1) back to a System Administrator User. 
  • 72022 : The Projects module is incorrectly available to select via Admin > Mobile.
  • 72098 : Clicking the "Restore Default" button in Admin > Studio automatically saves and displays the out-of-the-box default layout despite not saving the change in Studio.
  • 72264 : Clicking on the opportunity's name in the Quotes detail view after downloading the quote to PDF improperly redirects to the home page instead of the opportunity's record view. As a workaround, right-click on the opportunity name after downloading the quote to PDF and the opportunity's record view will open accordingly.
  • 72286 : The Opportunity module's amount fields cannot accept negative values.
  • 72409 : When generating a report, labels may improperly overlap in the chart (e.g. Vertical Bar chart) causing the labels to be unreadable.
  • 72588 : Synchronizing the Google Calendar with the Sugar calendar may not sync the tasks as expected.
  • 72590 : The Due Date field may not be available to select when mass updating in the Tasks module. To resolve the issue, navigate to Admin > Studio > Tasks > Fields and disable the Mass Update option for the Due Date field then enable it again.
  • 72810 : Filtering the list view search using custom checkbox fields may not work as expected.
  • 72882 : When accessing Sugar using Internet Explorer, the date picker does not display properly and disappears when using the scroll bar on the page. As a workaround, scrolling with your mouse or trackpad will display the calendar picker properly.
  • 72887 : Customizing a role-list while creating a custom DropDown field in Studio causes the new field to not be saved. As a workaround, create and save the new field before making changes to any role-lists.
  • 72956, 73729 : Populating a target list by selecting a report for a module (e.g. Accounts) may not add all records as expected if the report contains a large amount of data.
  • 72962 : Dependent fields containing a related() function may cause the data to not display as expected in the module's list view.
  • 73009 : When the total file size in the ./upload/upgrades/module/ directory is large, it may cause performance issues in Admin > Module Loader.
  • 73187 : Tabbing while inline editing the address block for account and contact record's may not work as expected as it does not tab through all the fields (e.g. state, postal code) within the address block. 
  • 73301 : Attempting to edit Sugar Logic formulas with too many lines in the formula may cause an error ("Formula Builder: Error Loading Content") in Studio's formula builder. As a workaround, edit the formula to remove any line breaks.
  • 73434 : Custom entrypoints which require authentication may not work as expected when using session tokens.
  • 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.
  • 73485 : Parent modules incorrectly appear in related module dropdown lists.
  • 73488 : Re-ordering list view columns does not work as expected for iPad and mobile devices.
  • 73492 : Sorting the Forecasts module by Likely, Best, or Worst fields may not sort by the base currency amount as expected.
  • 73566 : Calculated or dependent fields containing a related() function may not get calculated until after save for activity-type modules (e.g. Notes).
  • 73569 : Attempting to add a row to an existing quote record may not work as expected when accessing Sugar via certain browsers (e.g. Chrome, Safari) on iPad.
  • 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.
  • 73727 : Emails sent from Sidecar modules may fail to send if the system's outbound email setting is configured with an email address that has a password containing a special character.
  • 73891 : Attempting to reorder subpanels in the module's record view may not work as expected when logged into Sugar using Chrome on Windows. As a workaround, disable the "Enable Touch Events" option for Chrome and users should be able to drag and drop subpanels accordingly.
  • 73929 : Cases created from inbound emails may improperly display the case's description as HTML.
  • 74349 : Creating and saving a record assigned to a team that the current user is not associated to may display an error even though the record gets created successfully.
  • 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: UPDATE team_sets SET deleted = 1 WHERE id NOT IN ("SELECT team_set_id FROM team_sets_teams WHERE deleted = 0") AND deleted = 0. The affected users will then need to edit their profile to configure their default teams again.
  • 74354 : Pie charts may not display properly in report results if there are labels with a large number of characters.
  • 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.
  • 74421 : Passing text including an ampersand (&) into an API call may cause the call to fail.
  • 74475 : Clicking a button (e.g. Plus button) in the subpanel (e.g. Emails) before the module's record view completes loading may result in unexpected errors.
  • 74539 : Custom fields may not display as expected when previewing call and meeting records via the intelligence pane.
  • 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"
  • 74687 : Avatar field marked as required in Admin > Studio may cause Sidecar modules to not save as expected and result in an error.
  • 74818 : List view column widths for custom modules may appear collapsed after upgrading from Sugar 7.5.x.x to 7.7.x.x. To resolve the issue, administrators can navigate to Admin > Studio to change the module's list view column width or users can manually resize the column widths via the module's list view.
  • 74893 : Opportunity's with expected closed dates prior to a certain time period (e.g. 1/1/1970) may cause the Forecast Bar Chart dashlet to not display as expected.
  • 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.
  • 75254 : Printing reports (e.g. Summation With Details report) to PDF may not work as expected when logged into Sugar via a mobile browser.
  • 75258 : Mass updating or importing records (e.g. cases) that are related to records (e.g. accounts) with large datasets may result in PHP memory errors.
  • 75302 : Activities (e.g. calls and meetings) created via the Calendar module tab's actions menu may not appear in the calendar grid as expected. Reloading the web browser will display the newly created activity (e.g. call) in the calendar grid.
  • 75481 : When duplicating a PDF template via Admin > PDF Manager, the template's body is not visible. Save then edit the duplicate record to view and modify the template.
  • 75482 : Editing all recurrences of a call or meeting with invalid recurrence rules may result in unexpected behavior.
  • 75916 : Customizing JS and other core files may cause customizations to not work as expected after upgrading to 7.7.x.
  • 75937 : Users assigned a role where access to the Project Tasks module is disabled are improperly able to create project tasks via the Project Tasks subpanel.
  • 75939 : Importing a large number of records (e.g. 8,000) in Sugar may fail to import as expected. As a workaround, break up the import file into smaller batches with less than 5,000 records.
  • 75940 : Mass deleting more than 20 Account records with numerous related records may fail to delete as expected and result in an error.
  • 76007 : Inline editing the User field for records in the module's list view (e.g. Accounts) may display an error upon save for users assigned a role with View and Edit permissions set to "Owner". Reloading the web browser will resolve the issue and display the updated assigned user's name for the record in the list view.
  • 76040 : Certain modules may be marked as customized in Admin > Studio > Export Customizations after installing or upgrading to 7.7.0.0.
  • 76107 : Generating Calls, Meetings, or Tasks reports grouped by "Day" for Date or Datetime fields (e.g. Day: Start Date, Day: Date Created, etc.) may result in a database failure error for certain database stacks.
  • 76113 : When accessing Sugar using Chrome or Firefox, clicking the "i" icon for Call, Meeting, or Task record cells on the calendar view may cause the calendar grid to appear blank and improperly display the more information pop-up window at the bottom of the screen.
  • 76124 : Users assigned a role with View permission set to "None" for a module (e.g. Contacts) may be able to preview the module record via the Search and Add drawer for Sidecar modules.
  • 76126 : When entering a dependency formula for a DropDown-type field, clicking the Cancel button on Studio's formula builder may not close the window as expected and result in an error.
  • 76130 : Printing reports with charts (e.g. Summation-type reports) to PDF may not display correctly when logged in with languages using right-to-left script (e.g. Arabic, Hebrew).
  • 76151 : When viewing Sidecar module records in list view, Firefox users cannot click the "x" to cancel an applied saved filter as expected. As a workaround, apply the All {Records} filter to reset the list view.
  • 76166, 76167 : Users are improperly allowed to set the lead's status to "Converted" via the Leads subpanel and Mass Update panel.
  • 76494 : For some On-Demand instances, the Forecasts list view may not display as expected after upgrading to 7.7.0.0.
  • 76524 : Dependent fields may not appear in the layout (e.g. Record View) as expected if the parent field (e.g. parent dropdown) is not present.
  • 76574 : Disabling and enabling modules via Admin > Search then scheduling a system index prior to saving may cause a 500 error to occur when performing a global search.
  • 76698 : Previously existing reports may not display the Primary Team Name field values (e.g. East) as hyperlinks after upgrading to 7.7.1.0. Creating a new report including the Primary Team Name field will display the field values as hyperlinks as expected.
  • 76699 : When logged into Sugar using certain browsers (e.g. Internet Explorer 11), multiselect-type fields may not display properly when inline editing or mass updating the field via the module's list view.
  • 76985 : When performing a global search, filtering by a module then hitting the Enter key after entering the search term may cause a 500 error to occur.
  • 77015 : When using the SetRequired dependency, any required fields that are not completed do not get highlighted when in-line editing and saving the record.
  • 77162 : When Sugar is deployed on a Linux OS, uploading packages in Module Loader may fail with an error when .PNG files are detected by the package scanner.  
  • 77205 : Viewing a page (e.g. list view) in Sugar without performing any actions for a period of time (e.g. 3 minutes) may cause an error message (Request Timeout: The server is not responding. Check your internet connection.) to appear unexpectedly.
  • 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. 
  • 77302 : Upgrades may fail due to queries posted by the upgrade exceeding the max_allowed_packet database setting.
  • 77340 : Removing the Expected Close Date column via Admin > Forecasts Settings may cause the forecast worksheet and the Forecast Bar Chart dashlet to display incorrectly.
  • 77362 : When creating or editing an alert email template for workflows, certain related modules may not be available to select as expected in the Related Module dropdown field.
  • 77372, 77612 : When logged into Sugar using the Chrome browser, highlighting/selecting text in certain fields (e.g. Description, Name) may cause issues loading the browser and display an error. As a workaround, edit the field without highlighting any text to make the necessary changes. 
  • 77539 : Changing the boost value for a field (e.g. Name) may not affect the relevancy of the field for full text search, resulting in unexpected behavior. 
  • 7754977932 : Users may be logged out unexpectedly or experience performance degradation when user records are modified. 
  • 77563 : The Converted field is incorrectly available to add for the Leads module in Studio which when added to the layout may result in unexpected errors for converted lead records after upgrading from 7.6.x to 7.7.1.1. 
  • 77673 : When logged into Sugar using Safari 9, clicking the team name (e.g. East) in reports may improperly open Sugar's home page instead of navigating to the team's detail view.
  • 77764 : Attempting to scroll in Legacy modules (e.g. Campaigns) may not work as expected when logged into Sugar on iPad.
  • 77792 : Enabling Full Text Search for the Date Created field in a module (e.g. Leads) may cause unexpected errors when performing a global search filtered by the module.
  • 78065 : Moving a stock field between the columns (e.g. Hidden, Available) for the List View and Subpanel layouts in Studio may result in unexpected behavior. 
  • 78108 : 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 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.
  • 78128 : For dropdown list values, a value's Display Label will improperly revert to a blank value if its Item Name is 0 (zero).
  • 78471 : Setting the default date format in the user's profile to "mm/dd/yyyy" may cause the time periods on the Forecasts Settings page to incorrectly display "Invalid date".
  • 78592 : Subpanels may not expand after upgrading to 7.9.0.0. Contact Sugar support for assistance with resolving this issue.
  • 78736 : The "My Dashboard" may incorrectly be recreated after deleting it from the home page or intelligence pane.
  • 79204 : Creating multiple quotes from a related module's Quotes subpanel (e.g. from an account record) incorrectly duplicates the original quote's line items as line items in each subsequent quote.
  • 79463 : The Accounts field on quoted line items cannot be populated.

Developer

The following changes in release 7.9.0.0 may affect developers:

  • The Quotes module has moved from the SugarMVC (BWC) framework to Sidecar. Customizations to the Quotes module user interface will need to be migrated to Sidecar user interface framework. Automated migration of these customizations is not possible.
  • The Reports module list view has been moved into Sidecar user interface. The Reports wizard and detail view have not been changed. Customizations that have been made to the SugarMVC (BWC) Reports module list view will need to be migrated to the new Sidecar user interface.
  • Significant code changes were made in preparation for PHP7 support. Some examples include removal of PHP 4-style constructors and other deprecated PHP functions or features. Sugar developers should visit this developer blog post for more details on preparing code customizations for PHP7.
  • As part of adding prepared statements support to Sugar, the following deprecated PHP classes and methods have been removed:
    SugarQuery_Builder_Delete
    SugarQuery_Builder_Insert
    SugarQuery_Builder_Update
    SugarQuery_Builder_Literal
    SugarQuery_Compiler
    SugarQuery::joinRaw()
    SugarQuery::compileSql() 
    DBManager::delete()
    DBManager::retrieve()
    DBManager::insertSQL()
    DBManager::updateSQL()
    DBManager::deleteSQL()
    DBManager::retrieveSQL()
    DBManager::preparedQuery()
    DBManager::pQuery()
    DBManager::prepareQuery()
    DBManager::prepareTypeData()
    DBManager::prepareStatement()
    
    The $execute parameter on DBManager::insertParams() has been removed.
    The $execute parameter on DBManager::updateParams() has been removed.
  • Sidecar's local browser storage is now cleared whenever a login occurs on a different Sugar instance on the same domain. This prevents Sugar local storage data, such as OAuth tokens and settings, from being inadvertently shared across multiple Sugar instances on the same domain.
  • Sidecar's browser local storage library has been changed from stash.js to store.js. stash.js has no active maintainers and was using deprecated browser APIs which necessitated a change to a better supported open source library. This change will be transparent for consumers of the app.cache Sidecar APIs but where Sugar developers had used stash.js APIs directly then they will encounter breakages.
  • The format for Sugar metadata used to describe Relationships has changed. Relationship field metadata is now array indexed by the name of the field. For example, the relationship ID field definition can now be accessed using $definition['fields']['id'] instead of $definition['fields'][0]. Existing metadata in prior Sugar versions will be migrated to the new format during an upgrade to Sugar 7.9.
  • The following deprecated Sugar database adapters have been removed or are no longer available:
    ./include/database/MysqlManager.php
      ./include/database/MssqlManager.php
      ./include/database/FreeTDSManager.php
    The following SugarConfig options have also been removed:
    db_mssql_force_driver
    mysqli_disabled
  • An improvement to Sugar's Autoloader, the majority of core Sugar PHP classes are now autoloadable, even many of those that are not PSR{0,4} compliant. This means that boilerplate code like require_once 'include/api/SugarApi.php' is no longer needed. Most of the unnecessary require_once calls have been removed from the Sugar codebase. When adding new non-PSR4-compliant classes (e.g. custom/clients/base/api/SomeNewApi.php) then you may need to delete cache/class_map.php and cache/file_map.php or run a Quick Repair and Rebuild. This will clean the autoloader cache so that your new class is indexed and autoloaded by Sugar at runtime.
  • A new Platforms extension has been added which allows Sugar developers to register new Sugar platform names that are used by the Sugar instance. Custom Sugar platforms are used by some REST API integrations or those creating new Sidecar clients. Unregistered or unknown platforms are not allowed to be used with Sugar when the disable_unknown_platform Sugar Config setting is enabled. For example, to create a new test platform, you would create a file custom/Extension/application/Ext/Platforms/test_platform.ext.php with the contents:
    <?php
    $platforms[] = 'test';
  • The Elastica library has been upgraded from 1.4.3 to 5.1.0. This may affect custom code that was calling Elastica library directly. For details on changes and compatibility breakages, please refer to the Elastica changelog.
  • The use of SQL prepared statements has been introduced throughout the Sugar application. Use of SugarQuery or SugarBean APIs benefit automatically. Sugar developers should be migrating any use of raw SQL to use prepared statements to improve performance of repetitive queries and enhanced protection against SQL injection attacks. We now include and use the Doctrine DBAL and Query Builder libraries. For example, in many cases data insertion is performed using Sugar's DBManager. The following example demonstratins migrating a usage of an INSERT statement to use Sugar's implementation of prepared statements.
    $query = 'INSERT INTO table (foo, bar) VALUES ("foo", "bar")';
    $db->query($query);
    

    Using prepared statements:

    $fieldDefs = $GLOBALS['dictionary']['table'][>'fields'];
    $db->insertParams('table', $fieldDefs, array(
      'foo' => 'foo',
      'bar' => 'bar',
    ));
  • Sugar will no longer use the JSMin PHP extension if the version is greater than 2.0.0 since this version has bugs in it that breaks Sugar's JavaScript minification process. When JSMin PHP extension is not used, Sugar will use fall back to using JShrink 1.1.0 library. It is recommended that you use JSMin 1.1.0 extension since the native extension runs significantly faster. Sugar JavaScript is compressed in a few milliseconds using JSMin instead of a few seconds when using JShrink.
  • Global Search operators have been re-introduced, including AND,OR and NOT along with support for parenthesis. The default operator used in a sequence of search terms separated by spaces can be controlled using a new Sugar Config property called default_gs_space_operator. The default behavior is an AND of the search terms.
  • Use of % and _ characters as wildcards in SugarQuery APIs such as ::contains(), ::starts(), and ::ends() has been deprecated. Alternative methods ::like() and ::notLike() should be used instead.
  • The Zend Mail PHP library has been removed. Sugar core code never used the Zend Mail library, and it has been the subject of recent CVE security advisories. Sugar developers should make sure their customizations are not dependent on Sugar's Zend Mail library prior to upgrade.
  • The OneLogin php-saml library has been upgraded from 2.7.0 to 2.10.5. Please view the OneLogin php-saml changelog for more details.
  • Calling BeanFactory::retrieveBean() with an empty ID argument is deprecated. Calling retrieveBean() in this way would create a new SugarBean object instead of retrieve an existing SugarBean. Sugar developers should call BeanFactory::newBean() instead to create new SugarBeans.
  • Some Module Loadable Packages created using Module Builder in Sugar versions prior to 7.7.1.0 cannot be installed into Sugar 7.9.0.0 due to a change in relationship metadata format. When a package is already installed prior to upgrade, the Sugar 7.9.0.0 upgrader will update the relationship metadata format automatically.
    Sugar Developers can work around this by updating the built_in_version value to 7.7.1.0 or higher in their manifest.php and changing the relationship metadata used in their packages as follows:
    Sugar 7.7.0.0 defines relationship field arrays using a numerical index. For example:
    1 => 
        array (
          'name' => 'date_modified',
          'type' => 'datetime',
        ),
    
    Update this metadata to use the Sugar 7.9.0.0 format which defines field arrays using the field name as the index. For example:
    'date_modified' => 
        array (
          'name' => 'date_modified',
          'type' => 'datetime',
        ),
    The format for ID fields has also changed. In Sugar 7.7.0.0, ID fields used the type varchar. For example:
    array(
        'name' => 'id',
        'type' => 'varchar',
        'len' => 36,
    )
    Update this metadata to use the Sugar 7.9.0.0 format which uses the type id.
    array(
        'name' => 'id',
        'type' => 'id',
    )
  • The D&B Connector and all related components have been removed. All REST API endpoints, layouts, views, and dashlets associated with D&B connector have been removed. The D&B connector settings page has been removed from the Administration panel. The DUNS number and other D&B related fields are retained on those modules that had them.
  • The deprecated global validateForm() JavaScript function that was part of Advanced Workflow has been removed.
  • A new Sugar Config setting freebusy_use_vcal_cache has been added. The internal implementation of the Free-Busy cache negatively affected performance when working with Meetings records. This cache is now disabled by default but can be re-enabled when necessary by adding the setting to your Sugar config.
  • The PHPMailer library has been upgraded from version 5.2.9 to 5.2.22. If you have custom code calling the PHPMailer library directly, please review the PHPMailer changelog and make any necessary code changes.
  • The following deprecated JavaScript functions have been removed:
    app.analytics.detachAnalytics()
    app.analytics.attachAnalytics()
    app.analytics.getTrackableElements()
    app.analytics.parseTrackTag()
  • The version of the TinyMCE library used with legacy (BWC) modules has been upgraded from 3.5.8 to 3.5.11. Sugar developers with customizations that use the embedded TinyMCE library should test their customizations to ensure they still function after the upgrade. Please view the TinyMCE 3.5.11 changelog for more details.
  • The app:locale:change global Sidecar event is now triggered after app.lang.setCurrentLanguage() is called. The new locale code is also passed to listeners of this app:locale:change event. This makes it easier for code using the app:locale:change event to identify the correct new locale.
  • The deprecated app.utils.tooltip JavaScript APIs have been removed.
  • The allow_bwc button metadata property used in subpanels and list views has been deprecated. This property was used to disable Sidecar list view inline editing for legacy (BWC) modules. Where 'allow_bwc' => true was currently used, Sugar developers can rely on 'full_form' => true instead. This will open the BWC editor when editing.
  • The deprecated SearchAhead Sidecar plug-in has been removed.
  • The Type parameter is no longer hardcoded within SubpanelLayout#initialize(). This will make it easier to extend SubpanelLayout classes. Customizations to SubpanelLayout should be tested to confirm they still function properly after upgrade.
  • The parameters for Sidecar's app.api.getMetadata(hash, types, modules, callbacks, options) function has been deprecated. Sugar developers should use an options hash instead. For example, instead of making the following call:
    app.api.getMetadata(null, null, ['accounts','contacts'], null, null);
    
    Using an options hash instead:
    var options = {modules: ['accounts', 'contacts']};
    app.api.getMetadata(options);
  • The following deprecated JavaScript functions used in legacy (BWC) modules has been removed. Sugar developers should fix any code that made use of these functions prior to upgrade:
    checkAuthUserStatus()
    ajaxLink()
  • The deprecated SugarMVC view ./modules/Administration/views/view.configureajaxui.php used to configure Ajax UI in older versions of Sugar has been removed.
  • The following unused JavaScript file related to a previous (Sugar 6.x-based) Dashlet frameworkinclude/DashletContainer/Containers/DCMenu.js has been removed. While it was not used by core Sugar application, this can impact customizations that relied on the functionality provided in DCMenu.
  • The JavaScript function SUGAR.util.fillShortcuts() that is used in legacy (BWC) modules has been removed.
  • The deprecated clearAllListeners option is no longer supported by Sidecar's Context::clear(options) method. Clearing all listeners during Context::clear() is no longer optional. All event listeners are now always cleared when Context::clear() is called in order to prevent accidental memory leaks.
  • Sidecar libraries have been moved from lib directory to the node_modules directory. This is a side effect of using Node Package Manager (NPM) to manage Sidecar's JavaScript dependencies. Please view package.json to see more details about these Sidecar dependencies.
  • For collection field types, Sidecar will now store the value as a MixedBeanCollection on the Sidecar Bean. This allows you to relate or unrelate records on a Sidecar Bean by adding and removing records from the MixedBeanCollection and then calling Bean#save().
  • SUGAR.util.ajaxCallInProgress() and the associated sugar.ajaxCallinProgress.js file have been removed from the Sidecar framework. This was unused code and equivalent functionality already exists. In particular, Sugar developers can rely on jQuery's $.active API or ajaxStart and ajaxStop jQuery events.
  • The method getCallsInProgressCount has been removed from Ventana as it was unused and the functionality is already provided by jQuery.
  • The deprecated Sidecar app.view.invokeParent() function has been removed. Sugar developers should use Component#_super() method instead. For example, the following call uses app.view.invokeParent():
    initialize: function(options) {
      app.view.invokeParent(this, {
        type: 'field',
        name: 'rowaction',
        method: 'initialize',
        args: [options]
      });
      ...
    }
    
    Using the Component#_super() method instead:
    initialize: function(options) {
      this._super('initialize', [options]);
      ...
    }
  • The Sugar config setting $sugar_config['additional_js_config']['skipTutorial'] has been removed. It is no longer needed since the tutorial no longer runs by default for first time users.
  • A new Help pop-up system has been introduced which means customizations to several Help dashlets or dashboards will need to be updated. Any changes to Help language strings, translations, or changes to learning resources links will continue to work because they are used in the new Help pop-up. Because of this, we expect the most common customizations to Help system will continue to work. The following Sidecar components have been removed:
    ./clients/base/views/help-dashlet
    ./clients/base/layouts/help-dashboard/
    ./clients/base/views/help-dashboard-headerpane
    ./modules/Home/clients/base/views/help-dashboard-headerpane
    ./clients/base/views/search-help-dashboard-headerpane # note that this doesn't exist before 7.7
    ./modules/Forecasts/clients/base/views/help-dashlet
  • This Sugar release has introduced a new HelpLayout component that displays as a pop up HelpletView whenever the user toggles on the Help system. This system replaces the existing Help dashboards. The following are new Sidecar components introduced in this Sugar release and are related to the new Help system:
    ./clients/base/layouts/help
    ./clients/base/views/help-header
    ./clients/base/views/helplet
  • It is no longer necessary to specify the layout parameter in the Sidecar method DashboardLayout#navigateLayout(id, layout). The layout parameter has now been deprecated.
  • The following Sidecar components have been deprecated and will be removed in a future Sugar release:
    • ./clients/base/layouts/dashboard
      Use ./modules/Dashboards/clients/base/layouts/dashboard instead.
    • ./clients/base/views/dashboard-headerpane
      Use ./modules/Dashboards/clients/base/views/dashboard-headerpane instead.
  • Routing for the Home module has been simplified to load Home dashboards by routing to record layout instead of list layout. The layout and structure of the Home dashboard has not changed. As part of this change, the following Sidecar controllers have been deprecated and will be removed in an upcoming Sugar release. Sugar developers should migrate any customizations to these controllers to use View.Layouts.Dashboards.Dashboard and View.Layouts.Home.Record instead:
    ./modules/Home/clients/base/layouts/dashboard/dashboard.js
    ./modules/Home/clients/base/layouts/list/list.js
    ./modules/Home/clients/base/layouts/records/records.js

Additional Product Information

Sugar 7.9.0.0 does not include support for the following pieces of functionality:

  • Sugar Mobile Plus

Supported Platforms

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

Upgrade Paths

Package From Version(s) MySQL SQLServer
New Installs
7.8.x-to-7.9.0.0 7.8.0.0 - 7.8.2.0

Last modified: 10/02/2017 05:03pm