SugarCRM SupportDocumentationSugar Versions7.107.10 EnterpriseSugar Enterprise 7.10.0.0 Release Notes
This release is only available for On-Demand customers.

Sugar Enterprise 7.10.0.0 Release Notes

Overview

This document describes the changes and functionality available in Sugar® Enterprise 7.10.0.0.

Sugar 7.10.0.0 is only available for On-Demand (Sugar-hosted SaaS) deployments.

Administrator and End User

Feature Enhancements

The following feature enhancements are included in this release:

  • Emails user interface : The Emails module now uses the Sidecar interface. It has been redesigned to store copies of email messages sent from Sugar or archived via one of the various email archiving options. Users can view and work with email records much like they view and work with records in other Sidecar modules.
  • Outgoing email accounts : Users can configure multiple SMTP accounts to send email from Sugar.
  • Drill-through report charts : Click on a segment of a report's chart to view a list of records belonging to that segment.
  • Sharable dashboards : Dashboards can now be shared with teams of users, pulled into their views by users, and pushed to teams of users by system admin users. 
  • Contracts user interface : The Contracts module now uses the Sidecar user interface.
  • Contract Types user interface : The Contract Types module now uses the Sidecar user interface.
  • Currencies user interface : The Currencies module now uses the Sidecar user interface. 
  • Products- and Quotes-related modules user interface : The Manufacturers, Shipping Providers, and Tax Rates modules now use the Sidecar user interface. 
  • Process Business Rules user interface : The Rules Builder has been completely redesigned for usability with improvements that include row sorting via drag and drop, mass moving of rows, and mass deleting of rows.
  • SAML configuration enhancement : Additional configuration options have been added for configuring SSO using SAML. 
  • Teams filter : Multiple team selection is now supported when filtering based on the Teams field in Sidecar modules. 
  • Elasticsearch 5.4 support : Elasticsearch version 5.4 is now supported.

Fixed Issues

The following issues have been resolved in this release. Support portal users can use the following links for more details about each issue:

  • 79329 : Outlook Plug-in version 2.4.0 may not connect to certain Sugar versions (7.9.1.0, 7.10.0.0).
  • 79110 : Processes that contain a Wait event and are expected to trigger additional processes may only trigger one of the expected processes.
  • 78882 : If two or more process definitions contain similar Terminate events and are running at the same time, one of the in-flight processes may terminate prematurely.
  • 78843 : When using a French keyboard layout, the administrator cannot edit Wait event settings in the Process Definition's visual designer.
  • 785757857778678 : Invalid or improperly designed process definitions may cause performance issues.
  • 78364 : Sugar improperly attempts to establish an SSL/TLS connection when "Use SMTP Authentication" is unchecked.
  • 78080 : Users assigned a role with Edit permission set to "Owner" for the Reports module may be prevented from copying reports.
  • 77823 : Records that are created and assigned via Advanced Workflow do not send assignment notifications as expected.
  • 77658 : Adding a custom time format in the config_override.php file may not work as expected and display the time values incorrectly.
  • 77481 : Manually clearing the cache directory may cause unexpected errors in the system if the Users module contains a custom field.
  • 76538 : When accessing Sugar using a device (e.g. laptop) with touch screen enabled, the date picker may not work as expected.
  • 75571 : Enabling the "Delete related notes & attachments with deleted emails" option may not delete the related note record as expected when an email is deleted.
  • 75304 : Reporting on next, current, or previous fiscal quarters for a fiscal year may not return correct results as expected.
  • 72921 : Setting the email client in the user's profile to "External Email Client" may not be respected properly as the Sugar email client continues to be used when replying to emails in Sugar.

Known Issues

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

  • 79752 : When using Internet Explorer 11 with Advanced Workflows, columns cannot be deleted from process business rules in the Rules Builder. As a workaround, please use another supported browser.
  • 79734  : Drill through is not supported for report charts which are grouped by a relate field.
  • 79717 : The View Change Log option is not available to select in the Contracts record view actions menu.
  • 79716 : The Contracts list view, record view, and subpanel do not have the option (star icon) to designate records as favorites.
  • 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. 
  • 79709 : Single sign-on authentication may fail when attempting to log into Sugar using Internet Explorer.
  • 79707 : Clicking a URL link from an archived email's record view may cause the email body to improperly render blank. Navigating back to the email's record view will display the email body again. As a workaround, right-click on the URL link to open it in a new browser tab.   
  • 79705 : Report charts do not respect user preferences for number formatting, currency symbol, or date and time formatting.
  • 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).
  • 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, abd Product Catalog modules.
  • 79492 : Setting the log level to "Error" may result in multiple relationship errors being written to the log file.
  • 79463 : The Accounts field on quoted line items cannot be populated.
  • 79453 : Emails that were previously archived to contact records, as well as newly archived emails to contacts, may not appear in the related account's Emails subpanel after upgrade to 7.9.x. As a workaround, select the related account when archiving an email to a contact using the Outlook plug-in. 
  • 79244 : Certain stock modules may be improperly hidden after converting from Sugar Professional 7.9.1.0 to Sugar Ultimate 7.9.1.0.
  • 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.
  • 79156 : When a Summation Report with Details is printed to PDF, there may be missing display columns (e.g. Name) on the PDF file.
  • 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. 
  • 78852 : Calculated fields containing a rollupSum() function may not automatically update as expected with the calculated value until the record is saved.
  • 78790 : Performing certain actions that rebuild the cache files (e.g. clearing the cache directory) may cause unexpected errors in the system.
  • 78736 :Out-of-the-box dashboards may incorrectly be recreated after deleting it from the home page or intelligence pane. 
  • 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.
  • 78600 : Special characters are improperly allowed to be entered in dropdown lists' item names.
  • 78537 : Editing the run-time filter in reports may not auto-complete to pull up matches as expected.
  • 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.
  • 78507, 76151 : When accessing Sugar using Internet Explorer or Firefox, attempting to remove an applied filter from the list view may not work as expected. As a workaround, select the All "Module Name" option from the Filter options list to clear the applied filter.
  • 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. 
  • 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".
  • 78272 : Populating an amount field during record creation via the REST version 10 API causes the record to fail to appear in listview as expected when filtering on the amount field's value. As a workaround, update the currency_id field to "-99" via the REST API, trigger a save event via the user interface, or update the field directly via the database. 
  • 78198 : Activity stream posts may incorrectly display system labels for instances where the system default language is set to a non-English language. As a workaround, navigate to Admin > Locale and change the language to "English (US)", perform a "Quick Repair and Rebuild", then switch the default language back to your desired language.
  • 78153 : Changing the default value for the Popup Reminder Time field for calls or meetings may not work as expected and continue to display the old value.
  • 78128 : For dropdown list values, a value's Display Label will improperly revert to a blank value if its Item Name is 0 (zero).
  • 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. 
  • 78031 : Setting a default value for a field during the import process may not preserve the value in the field as expected.
  • 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.
  • 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.
  • 7776478667 : Attempting to scroll in modules (e.g. Campaigns, Meetings) may not work as expected when logged into Sugar on iPad.
  • 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.
  • 7754977932 : Users may be logged out unexpectedly or experience performance degradation when user records are modified. 
  • 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. 
  • 7737277612 : 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. 
  • 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.
  • 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.
  • 77302 : Upgrades may fail due to queries posted by the upgrade exceeding the max_allowed_packet database setting.
  • 77291 : Downloading PDF templates containing bold and/or italic text may not display the text in the correct font format. 
  • 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. 
  • 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.
  • 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.  
  • 77012 : When creating a custom module in module builder, adding a many-to-one relationship may incorrectly create a duplicate relationship field to the module after saving/deploying the package.
  • 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.
  • 76730 : Field-level validations may not work as expected to trigger field validation messages upon saving the record. 
  • 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.
  • 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.
  • 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.
  • 76401 : The data in the report chart may be inconsistent between the report chart dashlet and the Reports module. 
  • 76166, 76167 : Users are improperly allowed to set the lead's status to "Converted" via the Leads subpanel and Mass Update panel.
  • 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).
  • 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.
  • 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.
  • 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.
  • 76107 : Generating Calls, Meetings, or Tasks reports grouped by "Day" for Date or Datetime fields (e.g. Day: Start Date, Day: Date Created) may result in a database failure error for certain database stacks.
  • 76007 : Inline editing the Assigned to 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.
  • 75940 : Mass deleting more than 20 Account records with numerous related records may fail to delete as expected and result in an error.
  • 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.
  • 75916 : Customizing JS and other core files may cause customizations to not work as expected after upgrading to 7.7.x.
  • 75482 : Editing all recurrences of a call or meeting with invalid recurrence rules may result in unexpected behavior.
  • 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.
  • 75471 : Sugar may not behave as expected and result in an error if the Sugar license is either expired or due to expire. 
  • 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.
  • 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.
  • 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.
  • 74893 : Opportunities 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.
  • 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.
  • 74687 : Avatar field marked as required in Admin > Studio may cause Sidecar modules to not save as expected and result in an error.
  • 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.
  • 74506 : Users who implicitly belong to a team due to Reports-To hierarchy are incorrectly displayed as explicit team members when viewing the team via Admin > Team Management.
  • 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.
  • 74421 : Passing text including an ampersand (&) into an API call may cause the call to fail.
  • 74416 : Creating a Summation-type report that is grouped and sorted by a certain field (e.g. Month: Expected Close Date, Quarter: Expected Close Date) in a related module (e.g. Opportunities) may cause the run-time filter to not work as expected. 
  • 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.
  • 74354 : Pie charts may not display properly in report results if there are labels with a large number of characters.
  • 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.
  • 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.
  • 73929 : Cases created from inbound emails may improperly display the case's description as HTML.
  • 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.
  • 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.
  • 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.
  • 73566 : Calculated or dependent fields containing a related() function may not get calculated until after save for activity-type modules (e.g. Notes).
  • 73492 : Sorting the Forecasts module by Likely, Best, or Worst fields may not sort by the base currency amount as expected.
  • 73488 : Re-ordering list view columns does not work as expected for iPad and mobile devices.
  • 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.
  • 73434 : Custom entrypoints which require authentication may not work as expected when using session tokens.
  • 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.
  • 72962 : Dependent fields containing a related() function may cause the data to not display as expected in the module's list view.
  • 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.
  • 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.
  • 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.
  • 72810 : Filtering the list view search using custom checkbox fields may not work 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.
  • 72588 : Synchronizing the Google Calendar with the Sugar calendar may not sync the tasks as expected.
  • 72409 : When generating a report, labels may improperly overlap in the chart (e.g. Vertical Bar chart) causing the labels to be unreadable.
  • 72286 : The Opportunity module's amount fields cannot accept negative values.
  • 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.
  • 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.
  • 72022 : The Projects module is incorrectly available to select via Admin > Mobile.
  • 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. 
  • 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).  
  • 71807 : Studio layouts appear in reverse order when right-to-left themes are enabled.
  • 71733 : Printing archived emails via the browser's print option may not display correctly.
  • 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.
  • 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.
  • 70935 : When text is highlighted to change the font size in the compose email window, selecting the same font size (e.g. 12pt) twice in consecutive order may incorrectly reset the font back to the default size (8pt).
  • 70601 : Custom HTML files including javascript may not render correctly after upgrade.
  • 70553 : Disabling export via Admin > Locale does not remove the Export option as expected from the list view.
  • 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.
  • 70389, 73187 : 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) within the address block.
  • 70124 : Studio's formula builder displays several undesired functions (getListWhereisForecastClosedisForecastClosedWon, and isForecastClosedLost).
  • 70106 : The Skype icon does not appear next to the phone number as expected when the SkypeOut integration is enabled.
  • 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.
  • 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
  • 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.
  • 69957 : Large number of activity stream records may cause performance issues.  
  • 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.
  • 69508 : Relating a new record via the Legacy module subpanel (e.g. Documents) in a module's record view (e.g. Contracts) 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.
  • 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.
  • 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.
  • 68985 : Custom relationships created between a module and the Activities module via Admin > Studio cannot be deleted as expected. 
  • 68979 : Changing the currency of a quote multiple times may introduce rounding errors to the line item price fields.
  • 68975 : Changing the order of subpanels via Admin > Display Modules and Subpanels does not preserve the order upon save.
  • 68464 : Changes made to record view layouts via Studio are not reflected when quick creating records until after the full creation view is used.
  • 68461 : Searching by non-primary email addresses in the module's list view (e.g. Accounts) does not pull up results as expected.
  • 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.
  • 68245 : Calendar dashlet may be missing from Legacy dashboard after upgrade.
  • 68112 : Matrix-type reports display incorrectly when exported to PDF.
  • 68095 : Text provided for Campaign Tracker URLs is unexpectedly shortened after the first 30 characters.
  • 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.
  • 67186 : The View Change Log in module records (e.g. Quotes, Opportunities) may incorrectly reflect the original system currency (US Dollar) for currency fields even though the default system currency has been changed (e.g. Euro) in Admin > Locale.
  • 66995 : The Display server response times option is improperly available to select via Admin > System Settings.
  • 66910 : The notification for Cases module does not include the case number as expected when triggered via the workflow.
  • 66900, 67294 : Resetting the forecast time period does not set the current time period correctly and causes various issues in the application.
  • 66842 : Relate fields cannot be sorted as expected in the list view.
  • 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.
  • 66580 : List view loads may experience performance issues as quantity of records loaded increases.
  • 66573 : More than one user attempting to merge records simultaneously results in errors.
  • 66209 : Help text is not being displayed.
  • 65674 : Selecting an item from the Recently Viewed list under the module tab does not correctly update the list to include the selected record.
  • 65647 : Users will not see updates to their avatar images without first logging out and back into Sugar.
  • 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.
  • 64880 : Certain fields (e.g. email address, phone) in the Users module may not be available to add as field variables in PDF templates.
  • 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).

Developer

Development Changes

The following changes in this release may affect developers:

  • It is recommended to set $sugar_config['SAML']['strict'] = true; for production use of SAML in this Sugar release. This will ensure that the underlying PHP SAML implementation will reject unsigned and unencrypted messages.
  • This Sugar release introduces a brand new, open source charting library called Sucrose. Please visit http://sucrose.io for more information. This library was created and is maintained by the SugarCRM development team.
    All of the out-of-the-box dashlets and reports use the new Sucrose library. Customizations to dashlets and reports should be tested and, where necessary, migrated to the new Sucrose APIs.
  • As part of our plan to migrate to the Sucrose chart library, we are deprecating JIT and NVD3/D3 libraries and plan to remove them in a future Sugar release. Existing customizations that use JIT or NVD3/D3 should migrate to Sucrose at this time.
  • The following modules have been migrated to the Sidecar user interface. Any UI customizations to these modules will need to be rewritten in the Sidecar framework prior to upgrading to the new release.
    • Contracts
    • Manufacturers
    • Tax Rates
    • Shippers
    • Currencies
    • Contract Types
  • As part of the new Sharable Dashboards, previous versions' out-of-the-box dashboards will be converted to the new style of dashboard. If you have customized your dashboards to names other than list-dashboard.php or record-dashboard.php, they will NOT be upgraded to the new dashboard type, but the metadata will still exist. If you want to create a shareable dashboard record similar to your old customized dashboard, you can generate it manually through the UI.
  • The APIs used by legacy Email Compose are now deprecated including the following:
    • Many of the routes in sugarcrm/modules/Emails/clients/base/api/MailApi.php have been deprecated and are registered with maxVersion as v11.
    • The OutboundEmailConfiguration/listendpoint in sugarcrm/modules/OutboundEmailConfiguration/clients/base/api/OutboundEmailConfigurationApi.php has been deprecated.Emails/enum/outbound_email_id can be used instead.
    • All routes in sugarcrm/modules/Emails/MailRecord.php have been deprecated.
  • As part of new Emails module work, many PHP methods, properties, and some Sidecar components have been deprecated and will be removed in a future Sugar release.
    • PHP methods
      Email::email2init()
       Email::email2saveAttachment()
       Email::safeAttachmentName()
       Email::email2ParseAddresses()
       Email::email2ParseAddressesForAddressesOnly()
       Email::email2GetMime()
       Email::sendEmailTest()
       Email::isDraftEmail()
       Email::email2Send()
       Email::getNamePlusEmailAddressesForCompose()
       Email::_arrayToDelimitedString()
       Email::saveTempNoteAttachments()
       Email::saveEmailAddresses()
       Email::linkEmailToAddress()
       Email::cleanEmails()
       Email::loadAdditionalEmailData()
       Email::getForwardHeader()
       Email::getNotes()
       Email::getReplyHeader()
       Email::quotePlainTextEmail()
       Email::quoteHtmlEmail()
       Email::quoteHtmlEmailForNewEmailUI()
       Email::check_email_settings()
       Email::js_set_archived()
       Email::u_get_clear_form_js()
       Email::pickOneButton()
       Email::getUserEditorPreference()
       Email::parse_addrs()
       Email::remove_empty_fields()
       Email::findEmailsLink()
       Email::handleAttachments()
       Email::hasSignatureInBody()
       Email::removeAllNewlines()
       Email::getStartPage()
       Email::send()
       Email::getSystemDefaultEmail()
       Email::create_new_list_query()
       Email::fill_in_additional_list_fields()
       Email::fill_in_additional_detail_fields()
       Email::quickCreateForm()
       Email::searchImportedEmails()
       Email::doesImportedEmailHaveAttachment()
       Email::_genereateSearchImportedEmailsQuery()
       Email::_generateSearchImportWhereClause()
       Email::trimLongTo()
       Email::distributionForm()
       Email::userSelectTable()
       Email::checkInbox()
       Email::fillPrimaryParentFields()
       Email::cid2Link()
       Email::cids2Links()
       Email::setFieldNullable()
       Email::revertFieldNullable()
       Email::toDatabaseSearchDateTime()
       Email::_setMailerFactoryClassName()
       Email::retrieveEmailAddresses()
      
    • PHP properties
       Email::$from_addr
       Email::$from_addr_name
       Email::$from_name
       Email::$to_addrs
       Email::$to_addrs_names
       Email::$to_addrs_arr
       Email::$to_addrs_emails
       Email::$to_addrs_ids
       Email::$cc_addrs
       Email::$cc_addrs_names
       Email::$cc_addrs_arr
       Email::$cc_addrs_emails
       Email::$cc_addrs_ids
       Email::$bcc_addrs
       Email::$bcc_addrs_names
       Email::$bcc_addrs_arr
       Email::$bcc_addrs_emails
       Email::$bcc_addrs_ids
       Email::$attachment_image
       Email::$imagePrefix
       Email::$type_name
       Email::$status_name
       Email::$type
       Email::$status
       Email::$flagged
       Email::$cachePath
       Email::$cacheFile
       Email::$replyDelimiter
       Email::$emailDescription
       Email::$emailDescriptionHTML
       Email::$emailRawSource
       Email::$link_action
       Email::$relationshipMap
       Email::$modifiedFieldDefs
       Email::$addedFieldDefs
       Email::$emailAddress
       Email::$saved_attachments
       Email::$et
       Email::$reply_to_addr
       Email::$reply_to_name
       Email::$reply_to_email
      
    • Sidecar components
      • EmailsAttachmentButtonField is deprecated.
        ./modules/Emails/clients/base/fields/attachment-button
      • EmailsRecipientsField is deprecated.
        ./modules/Emails/clients/base/fields/recipients
      • EmailsSenderField is deprecated. Use OutboundEmailField instead.
        ./modules/Emails/clients/base/fields/sender
      • EmailsComposeDocumentsLayout is deprecated
        Emails/clients/base/layouts/compose-documents
      • EmailsComposeActionbarField is deprecated. Use Htmleditable_tinymceField instead.
        Emails/clients/base/fields/compose-actionbar
      • EmailsArchiveEmailLayout is deprecated. Use CreateLayout instead.
        Emails/clients/base/layouts/archive-email
      • EmailsArchiveEmailView is deprecated. Use CreateView instead.
        Emails/clients/base/views/archive-email
      • EmailsComposeLayout is deprecated. Use ComposeEmailLayout instead.
        Emails/clients/base/layouts/compose
      • EmailsComposeView is deprecated. Use ComposeEmailView instead.
        Emails/clients/base/views/compose
      • EmailsComposeSenderoptionsView is deprecated.
        Emails/clients/base/views/compose-senderoptions
      • BaseAttachmentsField is deprecated. Use EmailAttachmentsField instead.
        clients/base/fields/attachments
  • As part of our new Email functionality, many of the APIs related to email have changed.
    The following endpoints are new and available beginning in version 10:
    • POST /EmailAddresses
    • PUT /EmailAddresses/:record
    • GET /Emails/:record
    • GET /Emails/filter
    • GET /Emails
    • GET /Emails/count
    • POST /Emails/filter
    • POST /Emails/filter/count
    • GET /Emails/filter/count
    • POST /Emails/:record/link/:link_name/:remote_id
    • POST /Emails/:record/link
    • DELETE /Emails/:record/link/:link_name/:remote_id
    • POST /Emails/:record/link/:link_name/add_record_list/:remote_id
    • GET /Mail/recipients/find
    • POST /OutboundEmail
    • PUT /OutboundEmail/:record
    The following endpoints are new and available beginning in version 11:
    • POST /Emails
    • PUT /Emails/:record
    The following endpoints are now deprecated:
    • POST /Mail
    • POST /Mail/archive
    • POST /Mail/recipients/lookup
    • POST /Mail/address/validate
    • POST /Mail/attachment 
    • DELETE /Mail/attachment/:file_guid
    • DELETE /Mail/attachment/cache
    • GET /OutboundEmailConfiguration/list
  • A new Sugar Config option called smtp_mailer_debug has been added, making it easier to debug SMTP issues that occur using PHPMailer. Refer to the Developer Guide for more details.
  • AlertView#cancelClicked() now accepts the Event as a parameter and passes it to the onCancel callback.
  • AlertView#confirmClicked() now accepts the Event as a parameter and passes it to the onConfirm callback.
  • AlertView#closeClicked() now passes the Event parameter to the onClose callback.
  • EnumField#loadEnumOptions() now supports passing an error callback as an additional parameter.
  • The DragdropSelect2 Sidecar plug-in will now allows developers to provide a custom dropDraggedItems(sourceCollection, targetCollection, draggedItems, droppedItems) function.
  • The droppedItems are clones of the draggedItems which makes them safe to manipulate.
  • The default drop implementation, if no dropDraggedItems() exists, removes the dragged items from the sourceCollection and adds them to the targetCollection.
  • Added app.utils.getReadableFileSize() for getting a file size in a human-readable format. The function produces descriptions that sacrifice percision for readability. For example, a file size like 1014K is more accurrate, but a user would more likely expect to see 1M.
  • Added app.utils.openEmailCreateDrawer()for opening a layout for creating emails in a drawer. It is designed for opening the "create" layout for creating an archived email and the "compose-email" layout for creating a draft or sending an email.
  • AlertView#cancelClicked() now accepts the Event as a parameter and passes it to the onCancel callback.
  • AlertView#confirmClicked() now accepts the Event as a parameter and passes it to the onConfirm callback.
  • AlertView#closeClicked() now passes the Event parameter to the onClose callback.
  • EnumField#loadEnumOptions() now supports passing an error callback as an additional parameter.
  • The DragdropSelect2 Sidecar plug-in will now allows developers to provide a custom dropDraggedItems(sourceCollection, targetCollection, draggedItems, droppedItems) function.
  • The droppedItems are clones of the draggedItems which makes them safe to manipulate.
  • The default drop implementation, if no dropDraggedItems() exists, removes the dragged items from the sourceCollection and adds them to the targetCollection.
  • Added app.utils.getReadableFileSize() for getting a file size in a human-readable format. The function produces descriptions that sacrifice percision for readability. For example, a file size like 1014K is more accurrate, but a user would more likely expect to see 1M.
  • Added app.utils.openEmailCreateDrawer()for opening a layout for creating emails in a drawer. It is designed for opening the "create" layout for creating an archived email and the "compose-email" layout for creating a draft or sending an email.
  • Recipients returned by Sugar Email REST APIs will now include standard ACL data (_acl) for each object.
  • The Sidecar Field#setDisabled() API now supports a boolean trigger option that will trigger a field:disabled event on the current Contextwhen called.
  • The Backbone.js library has been upgraded from version 1.2.3 to 1.3.3. View the Backbone.js change log for more details on how your Sidecar-based customizations may be affected.
  • Sidecar BeanCollections and MixedBeanCollections now take full advantage of Sugar Collection REST APIs. They now track changes of multiple adds or removals of related records, support for pagination, etc. Work with related collections of records within Sidecar can now be done more easily and efficiently.
  • The deprecated resetOptions method in sugar/sidecar/src/data/bean-collection.js has been removed.
  • An unused jquery-quicksearch plug-in was removed in this Sugar release. Ensure that customizations do not use the quicksearch jQuery plug-in and that they do not reference ./sidecar/lib/jquery/wicked.js.
  • The jquery-placeholder plug-in has been removed. It is no longer needed in modern browsers that fully support HTML5. This change will not affect customizations unless direct references exist to ./sidecar/lib/jquery-placeholder.
  • The iframe.transport jQuery plug-in has been deprecated and will be removed in a future Sugar release. File uploads should be accomplished by sending FormData objects as part of AJAX requests.
  • The unminified Sidecar framework source code has been converted into EcmaScript 2015 modules in this Sugar release. Sidecar code is transpiled to EcmaScript 5 and minified when loaded into browsers, so these structural changes do not affect Sugar customizations.
  • The Sidecar DataManager API DataManager#getRelationshipFields() has been deprecated and will be removed in a future Sugar release. Use DataManager#getRelationFields instead.
  • In this Sugar release, we've made some changes to Sidecar framework which will prevent customizations from calling private Sidecar methods unless the JS Config sidecarCompatMode is true. The default value will be false. The compatibility mode should be used as a temporary work around. All JavaScript customizations are expected to use public Sidecar APIs.
    If necessary, here is an example of how you can enable sidecarCompatMode using config_override.php.
    <?php
    $sugar_config['additional_js_config'] = array('sidecarCompatMode' => true);
    
    Many files have moved as part of this refactoring effort as well.
    Old Location New Location
    sidecar/lib/backbone/** sidecar/node_modules/backbone/
    sidecar/lib/jasmine-sinon/jasmine-sinon.js sidecar/node_modules/jasmine-sinon/lib/jasmine-sinon.js
    sidecar/lib/jquery/jquery.min.js sidecar/node_modules/jquery/dist/jquery.min.js
    sidecar/lib/jquery/jquery-migrate-1.2.1.min.js sidecar/node_modules/jquery-migrate/dist/jquery-migrate.min.js
    sidecar/lib/jquery/jquery.iframe.transport.js sidecar/node_modules/jquery.iframe-transport/jquery.iframe-transport.js
    sidecar/lib/jquery-ui/js/** include/javascript/jquery
    sidecar/lib/sugarapi/sugarapi.js sidecar/node_modules/@sugarcrm/ventana/src/client.js
    The following Sidecar methods have been deprecated an will be removed in a future Sugar release. Please update your customizations to use alternative APIs.
    App.context.getContext()
    App.acl.clearCache()    
    App.acl.action2permission   
    App.Acl._accessToAny    
    App.error.initialize()  
    App.error.remoteLogging 
    App.error.throwErrorWithCallStack()
    App.routing.stop()  
    App.validation.validators.url()
    
    The following deprecated Sidecar methods were removed. Please verify that your customizations do not use this method prior to upgrading to Sugar 7.10.
    beanCollection#resetOptions()
    
    The following Sidecar files were removed. Please verify that your customizations do not reference these files prior to upgrading to Sugar 7.10.
    ./include/api/help/module_filter_record_get_help.html
    ./include/javascript/jquery/jquery.effects.custombounce.js
    ./sidecar/gulp/assets/files.json
    ./sidecar/gulp/assets/base-files.json
    ./sidecar/gulp/assets/default-tests.json
    ./sidecar/gulp/assets/jquery.json
    ./sidecar/gulp/assets/zepto.json
    ./sidecar/gulp/util.js
    ./sidecar/lib/backbone
    ./sidecar/lib/backbone/backbone.js
    ./sidecar/lib/backbone/backbone.min.js
    ./sidecar/lib/jasmine
    ./sidecar/lib/jasmine/jasmine_favicon.png
    ./sidecar/lib/jasmine/jasmine-html.js
    ./sidecar/lib/jasmine/jasmine.js
    ./sidecar/lib/jasmine/MIT.LICENSE
    ./sidecar/lib/jasmine/jasmine.css
    ./sidecar/lib/jasmine-zepto
    ./sidecar/lib/jasmine-zepto/jasmine-zepto.js
    ./sidecar/lib/jasmine-ci
    ./sidecar/lib/jasmine-ci/utils
    ./sidecar/lib/jasmine-ci/utils/core.js
    ./sidecar/lib/jasmine-ci/utils/console-runner.js
    ./sidecar/lib/jasmine-ci/jasmine-reporters
    ./sidecar/lib/jasmine-ci/jasmine-reporters/jasmine.phantomjs-reporter.js
    ./sidecar/lib/jasmine-jquery
    ./sidecar/lib/jasmine-jquery/jasmine-jquery.js
    ./sidecar/lib/jasmine-sinon
    ./sidecar/lib/jasmine-sinon/jasmine-sinon.js
    ./sidecar/lib/jquery-placeholder
    ./sidecar/lib/jquery-placeholder/jquery.placeholder.js
    ./sidecar/lib/jquery-placeholder/README.md
    ./sidecar/lib/jquery-placeholder/LICENSE-MIT.txt
    ./sidecar/lib/jquery-placeholder/tests
    ./sidecar/lib/jquery-placeholder/tests/tests.js
    ./sidecar/lib/jquery-placeholder/tests/index.html
    ./sidecar/lib/jquery-placeholder/demo.html
    ./sidecar/lib/jquery-placeholder/bower.json
    ./sidecar/lib/jquery-ui
    ./sidecar/lib/jquery-ui/css
    ./sidecar/lib/jquery-ui/css/smoothness
    ./sidecar/lib/jquery-ui/css/smoothness/jquery-ui-1.11.4.custom.min.css
    ./sidecar/lib/jquery-ui/css/smoothness/images
    ./sidecar/lib/jquery-ui/css/smoothness/images/ui-bg_glass_65_ffffff_1x400.png
    ./sidecar/lib/jquery-ui/css/smoothness/images/ui-icons_454545_256x240.png
    ./sidecar/lib/jquery-ui/css/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png
    ./sidecar/lib/jquery-ui/css/smoothness/images/ui-icons_888888_256x240.png
    ./sidecar/lib/jquery-ui/css/smoothness/images/ui-bg_flat_75_ffffff_40x100.png
    ./sidecar/lib/jquery-ui/css/smoothness/images/ui-bg_glass_75_dadada_1x400.png
    ./sidecar/lib/jquery-ui/css/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png
    ./sidecar/lib/jquery-ui/css/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png
    ./sidecar/lib/jquery-ui/css/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png
    ./sidecar/lib/jquery-ui/css/smoothness/images/ui-icons_2e83ff_256x240.png
    ./sidecar/lib/jquery-ui/css/smoothness/images/ui-icons_222222_256x240.png
    ./sidecar/lib/jquery-ui/css/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png
    ./sidecar/lib/jquery-ui/css/smoothness/images/ui-icons_cd0a0a_256x240.png
    ./sidecar/lib/jquery-ui/js
    ./sidecar/lib/jquery-ui/js/jquery-ui-1.11.4.custom.min.js
    ./sidecar/lib/jquery-ui/js/jquery-1.7.1.min.js
    ./sidecar/lib/jquery/wicked.js
    ./sidecar/lib/jquery/jquery-migrate-1.2.1.min.js
    ./sidecar/lib/jquery/jquery.iframe.transport.js
    ./sidecar/lib/jquery/jquery.min.js
    ./sidecar/lib/sugarapi/sugarapi.js
    ./sidecar/lib/sugarapi/demoServerData.js
    ./sidecar/lib/sugarapi/demoRestServer.js
    ./sidecar/lib/zepto
    ./sidecar/lib/zepto/ajax.js
    ./sidecar/lib/zepto/detect.js
    ./sidecar/lib/zepto/event.js
    ./sidecar/lib/zepto/fx.js
    ./sidecar/lib/zepto/fx_methods.js
    ./sidecar/lib/zepto/readme.txt
    ./sidecar/lib/zepto/selector.js
    ./sidecar/lib/zepto/touch.js
    ./sidecar/lib/zepto/zepto.js
    ./sidecar/src/core/cookies.js
    
  • Deprecated Sidecar method signatures for the following functions have been removed:
    Context#resetLoadFlag()
    MetadataManager#getField()
    Router#route()
    ViewManager#createField()
    
  • The following Sidecar functions have been deprecated and will be removed in a future Sugar release.
    Utils.Date.parse()
    Utils.Date.guessFormat()
    Utils.Date.parseFormat()
    Utils.Date.format()
    Utils.Date.roundTime()
    Utils.Date.UTCtoLocalTime()
    Utils.Date.UTCtoTimezone()
    Utils.Date.toUTC()
    Utils.Date.getRelativeTimeLabel()
    Utils.Date.parseDisplayDefault()
    Utils.Date.stripIsoTimeDelimterAndTZ()
    Utils.Date.isIso()
    
  • The deprecated Sidecar method AlertView#close() has been removed. Use AlertView#dispose() instead.
  • The deprecated Sidecar property Layout#meta has been removed. Use Layout#xmeta instead.
  • The RecordView method RecordView#initButtons() has been deprecated. Ensure that you do not have custom code that calls this method. It is not necessary to call this method directly.
  • View/ViewManager.createField() takes a new parameter, nested. Set nested to true when the field is part of another parent field that controls the nested field's lifecycle. For example, the individual fields associated with a fieldset are nested. When nested is set to true, the field will not be added to the parent View's list of fields. nested is set to false by default.
  • The following new REST API endpoints have been added. Refer to the the Developer Guide for more information.
    GET rest/v11/Dashboards
    POST rest/v11/Dashboards
  • We have created version 11 of the Sugar REST API. The previous API version (10) will continue to behave as before.Refer to the Developer Guide for more information.
  • The deprecated REST endpoint /rest/<version>/<module>/filter/<filter_id> has been removed. Use /rest/<version>/<module>/filter?filter_id=<id> instead.
  • The view_name field has changed from type varchar to enum. The view_name field will be converted during upgrade process. If you happen to have custom layouts that use Dashboards besides the default "Record," "List," or "Activity Stream," then you will need to update the "dashboard_view_name_list" dropdown list to add those additional layouts.
  • The dashboard_module field has been changed from type varchar to enum.
  • A new ACL class called SugarACLAdminOnlyFields has been created. The ACL allows for a list of non_writeable_fields that can only be editable by a Sugar admin user. This is used on new Dashboards module to ensure that only admin users are able to designate default dashboards which are pushed to all users within the set team.
  • As part of the new shareable dashboards, the old default dashboards that were stored in metadata are converted into dashboard records in the Sugar database. To configure different default dashboards for Sugar users, please use shareable dashboards instead of modifying dashboard metadata.
    The following default dashboard metadata locations are no longer recognized in this Sugar release.
    ./modules/<module>/clients/base/layouts/list-dashboard
    ./modules/<module>/clients/base/layouts/record-dashboard
  • As part of the new sharable dashboards, the previous out-of-the-box dashboards will be converted to the new style of dashboard. If you have customized your dashboards to names other than "list-dashboard.php" or "record-dashboard.php," they will NOT be upgraded to the new dashboard type, but the metadata will still exist. If you want to create a shareable dashboard record similar to your old customized dashboard, you can generate it manually through the UI. Otherwise, everything should continue to work as it has.
  • The deprecated PHP method Account::remove_redundant_http() has been removed. Please ensure your customizations are not using it.
  • The portal home page has been renamed. As part of this renaming, the following files have been renamed:
    • sugarcrm/clients/portal/layouts/dashboard/dashboard.php is now sugarcrm/clients/portal/layouts/home/home.php
    • sugarcrm/clients/portal/layouts/dashboard/dashboard.js is now sugarcrm/clients/portal/layouts/home/home.js
    Any customizations related to dashboard.php or dashboard.js will need to be updated.
  • dashboard-list has been renamed to portal-list. As part of this renaming, the following files have been renamed:
    • sugarcrm/clients/portal/layouts/dashboard-list/dashboard-list.php is now sugarcrm/clients/portal/layouts/portal-list/portal-list.php
    • sugarcrm/clients/portal/views/dashboard-list-top/dashboard-list-top.hbs is now sugarcrm/clients/portal/views/portal-list-top/portal-list-top.hbs
    • sugarcrm/clients/portal/views/dashboard-list-top/dashboard-list-top.js is now sugarcrm/clients/portal/views/portal-list-top/portal-list-top.js
    Any customizations related to dashboard-list.phpdashboard-list-top.hbs, or dashboard-list-top.js will need to be updated.
  • sugarcrm/modules/KBContents/clients/portal/layouts/list-dashboard/list-dashboard.php has been replaced with sugarcrm/modules/KBContents/clients/portal/layouts/rhs-pane/rhs-pane.ph. Any customizations related to list-dashboard.php will need to be updated.
  • The hidden sidebar on the right hand side of the Home dashboard is being removed. As part of this removal, sugarcrm/modules/Home/clients/base/layouts/record/record.js will be deleted.
  • Generating a dashboard from metadata has been deprecated. All dashboards should be created using sharable dashboards.
  • As part of the new sharable dashboards, all custom Dashboard module record views will be renamed to end in .bak. You have the option of retrieving your custom Dashboard record view by renaming it so it does not end in .bak. Note that if you reinstate your old custom Dashboard record view, you will override the Sugar dashboard record view. A future release will remove all custom Dashboard record views ending in .bak, so you should review them to see if you still need them.
  • The REST API version can now be specified via an HTTP Accept header. The REST API version should be specified in either the URL or in the HTTP Accept header but not in both locations at once. Both of the examples below represent valid requests to v10 API:
    GET <sugar>/rest/v10/me
    
    GET <sugar>/rest/me
    ...
    Accept: application/vnd.sugarcrm.core+json; version=10
  • We have upgraded the Doctrine Database Abstraction Layer (DBAL) library from version 2.5.4 to 2.5.12. For more information, refer to the Doctrine DBAL website.
  • New Sugar REST APIs for administering Elasticsearch have been added. More details are available in the REST API documentation.

    rest/<version>/Administration/elasticsearch/refresh/status
    rest/<version>/Administration/elasticsearch/refresh/trigger
    rest/<version>/Administration/elasticsearch/refresh/enable
    rest/<version>/Administration/elasticsearch/replicas/status
    rest/<version>/Administration/elasticsearch/replicas/enable
  • Admins can now control the log level for InputValidation regardless of the global log level. They can so by using the following config_override directive:
    $sugar_config['logger']['channels']['input_validation']['level'] = 'warning';
  • Advanced Workflow REST API documentation has been improved. Refer to the built-in REST documentation or the Sugar Developer Guide for more details.
  • The following Sugar Authentication classes have been deprecated and will be removed in a future Sugar release:
    ./modules/Users/authentication/LDAPAuthenticate/
    ./modules/Users/authentication/SAMLAuthenticate/
    ./modules/Users/authentication/SugarAuthenticate/
    
    Developers should use the following Identity Manager classes instead. In the long term, we plan to refactor Identity Management into a service that is separate from the core Sugar application.
    ./modules/Users/authentication/IdmLDAPAuthenticate/
    ./modules/Users/authentication/IdmSAMLAuthenticate/
    ./modules/Users/authentication/IdmSugarAuthenticate/
  • The following SugarConfig setting has been added:
    $sugar_config['logger']['channels']['authentication']
    
    This setting controls the logging level for authentication messages. Admins and developers can set the log level for these messages as well as set a custom processor for log message. For example, "backtrace" and "request" will provide useful debug information.
    $sugar_config['logger']['channels']['authentication'] = array('level' => 'debug', 'processors' => ['backtrace']);
  • PHP Type hints were added to many REST API service-related classes to support improvements in support for type declarations in PHP 7. This can cause runtime errors when functions are called using incorrectly typed parameters.
    The following functions have changed:
    ./clients/base/api/BulkApi.php
        public function bulkCall(ServiceBase $api, array $args)
    
    ./clients/base/api/CalendarEventsApi.php
        public function updateCalendarEvent(ServiceBase $api, array $args)
        public function deleteCalendarEvent(ServiceBase $api, array $args)
        public function updateRecurringCalendarEvent(SugarBean $bean, ServiceBase $api, array &$args)
        public function deleteRecordAndRecurrences(ServiceBase $api, array $args)
        public function deleteRecurrences(SugarBean $bean)
        protected function initializeArgs(array $args, SugarBean $bean = null)
        protected function adjustStartDate(array &$args)
        protected function filterOutRecurrenceFields(array $args)
        protected function shouldAutoInviteParent(SugarBean $bean, array $args)
        protected function getRecurringSequence(array $args)
    
    ./clients/base/api/CollectionApi.php
        protected function mapSourceArguments(CollectionDefinitionInterface $definition, $source, array $args)
        abstract protected function getSourceData(ServiceBase $api, $source, array $args);
        abstract protected function getSourceCount(ServiceBase $api, $source, array $args);
    
    ./clients/base/api/ConfigModuleApi.php
        public function config(ServiceBase $api, array $args)
    
    ./clients/base/api/ConnectorApi.php
        public function getConnectors(ServiceBase $api, array $args)
        public function validateHash(array $args)
    
    ./clients/base/api/CurrentUserApi.php
        public function retrieveCurrentUser(ServiceBase $api, array $args)
        protected function getUserHash(User $user)
        public function updateCurrentUser(ServiceBase $api, array $args) 
        public function updatePassword(ServiceBase $api, array $args)
        public function verifyPassword(ServiceBase $api, array $args)
        protected function getUserPref(User $user, $pref, $metaName, $category = 'global')
        protected function getUserPrefTimezone(User $user, $category = 'global')
        protected function getUserPrefCurrency(User $user, $category = 'global')
        protected function getUserPrefSignature_default(User $user)
        protected function getUserPrefSignature_prepend(User $user, $category = 'global')
        protected function getUserPrefEmail_link_type(User $user)
        protected function getUserPrefLanguage(User $user)
        protected function changePassword(SugarBean $bean, $old, $new)
        public function userPreferences(ServiceBase $api, array $args)
        public function userPreferencesSave(ServiceBase $api, array $args)
        public function userPreference(ServiceBase $api, array $args)
        public function userPreferenceSave(ServiceBase $api, array $args)
        public function userPreferenceDelete(ServiceBase $api, array $args)
        public function getMyFollowedRecords(ServiceBase $api, array $args)
    
    ./clients/base/api/DuplicateCheckApi.php
        protected function trimArgs(array $args)
        protected function populateFromApi(ServiceBase $api, SugarBean $bean, array $args, array $options = array())
    
    ./clients/base/api/FileApi.php
        public function saveFilePut(ServiceBase $api, array $args, $stream = 'php://input')
        protected function checkFileAccess(SugarBean $bean, $field, array $args)
        public function saveFilePost(ServiceBase $api, array $args, $temporary = false)
        public function getFileList(ServiceBase $api, array $args)
        public function getFile(ServiceBase $api, array $args)
        public function removeFile(ServiceBase $api, array $args)
        public function getArchive(ServiceBase $api, array $args)
        protected function deleteIfFails(SugarBean $bean, array $args)
        protected function getFileInfo(SugarBean $bean, $field, ServiceBase $api)
        protected function isFileEncoded(ServiceBase $api, array $args)
    
    ./clients/base/api/FileTempApi.php
        public function saveTempImagePost(ServiceBase $api, array $args)
        public function getTempImage(ServiceBase $api, array $args)
    
    ./clients/base/api/FilterApi.php
        protected function populateRelatedFields(SugarBean $bean, $data)
        protected function removeRelateCollectionsFromSelect(array $options)
    
    ./clients/base/api/GlobalSearchApi.php
        public function globalSearch(ServiceBase $api, array $args)
        protected function formatResults(ServiceBase $api, ResultSetInterface $results)
        protected function formatBeanFromResult(ServiceBase $api, Result $result)
    
    ./clients/base/api/HelpApi.php
        public function getHelp(ServiceBase $api, array $args)
        public function getExceptionsHelp(ServiceBase $api, array $args)
    
    ./clients/base/api/ListApi.php
        public function parseArguments(ServiceBase $api, array $args, SugarBean $seed = null)
        public function listModule(ServiceBase $api, array $args)
        protected function performQuery(ServiceBase $api, array $args, SugarBean $seed, $queryParts, $limit, $offset)
    
    ./clients/base/api/LocaleApi.php
        public function localeOptions(ServiceBase $api, array $args)
    
    ./clients/base/api/LoggerApi.php
        public function logMessage(ServiceBase $api, array $args)
    
    ./clients/base/api/MassUpdateApi.php
        public function massDelete(ServiceBase $api, array $args)
        public function massUpdate(ServiceBase $api, array $args)
    
    ./clients/base/api/MetadataApi.php
        protected function getTypeFilter(array $args, $default)
        protected function getModuleFilter(array $args, $default)
        protected function isOnlyHash(array $args)
        public function getPublicMetadata(ServiceBase $api, array $args)
       protected function filterResults(array $args, $data, $typeFilter, $onlyHash = false, $baseChunks = array(), $perModuleChunks = array(), $moduleFilter = array())
    
    ./clients/base/api/ModuleApi.php
        public function getEnumValues(ServiceBase $api, array $args)
        public function updateRecord(ServiceBase $api, array $args)
        public function updateRelatedRecords(ServiceBase $api, SugarBean $bean, array $args)
        public function retrieveRecord(ServiceBase $api, array $args)
        public function deleteRecord(ServiceBase $api, array $args)
        public function setFavorite(ServiceBase $api, array $args)
        public function unsetFavorite(ServiceBase $api, array $args)
        protected function getRelatedFields(array $args, SugarBean $bean)
        protected function moveTemporaryFiles(array $args, SugarBean $bean)
        protected function getLoadedAndFormattedBean(ServiceBase $api, array $args)
        protected function processAfterCreateOperations(array $args, SugarBean $bean)
    
    ./clients/base/api/ModuleCollectionApi.php
        protected function getSourceData(ServiceBase $api, $source, array $args)
        protected function getSourceCount(ServiceBase $api, $source, array $args)
    
    ./clients/base/api/OAuth2Api.php
        protected function getOAuth2Server(array $args)
        public function token(ServiceBase $api, array $args)
        public function logout(ServiceBase $api, array $args)
        public function bwcLogin(ServiceBase $api, array $args)
    
    ./clients/base/api/PasswordApi.php
        public function requestPassword(ServiceBase $api, array $args)
    
    ./clients/base/api/PingApi.php
        public function ping(ServiceBase $api, array $args)
    
    ./clients/base/api/PipelineChartApi.php
        public function pipeline(ServiceBase $api, array $args)
        protected function buildQuery(ServiceBase $api, SugarBean $seed, $tp, $amount_field, $type = 'user')
    
    ./clients/base/api/RSSFeedApi.php
        public function getFeed(ServiceBase $api, array $args)
        public function getFeedLimit(array $args)
    
    ./clients/base/api/RecentApi.php
        protected function parseArguments(array $args)
        public function getRecentlyViewed(ServiceBase $api, array $args, $acl = 'list')
        protected function getRecentlyViewedQueryObject(SugarBean $seed, array $options)
    
    ./clients/base/api/RecordListApi.php
        public function recordListCreate(ServiceBase $api, array $args)
        public function recordListDelete(ServiceBase $api, array $args)
        public function recordListGet(ServiceBase $api, array $args)
    
    ./clients/base/api/RegisterLeadApi.php
        protected function updateBean(SugarBean $bean, ServiceBase $api, array $args)
        public function createLeadRecord(ServiceBase $api, array $args)
    
    ./clients/base/api/RelateCollectionApi.php
        protected function getSourceData(ServiceBase $api, $source, array $args)
        protected function getSourceCount(ServiceBase $api, $source, array $args)
    
    ./clients/base/api/RelateRecordApi.php
        protected function checkRelatedSecurity(ServiceBase $api, array $args, SugarBean $primaryBean,  $securityTypeLocal = 'view', $securityTypeRemote = 'view')
        protected function getRelatedFields(ServiceBase $api, array $args, SugarBean $primaryBean, $linkName, SugarBean $seed = null)
        public function getRelatedRecord(ServiceBase $api, array $args)
        public function createRelatedRecord(ServiceBase $api, array $args)
        public function createRelatedLink(ServiceBase $api, array $args)
        public function createRelatedLinks(ServiceBase $api, array $args, $securityTypeLocal = 'view', $securityTypeRemote = 'view')
        public function updateRelatedLink(ServiceBase $api, array $args)
        public function deleteRelatedLink(ServiceBase $api, array $args)
        public function createRelatedLinksFromRecordList(ServiceBase $api, array $args)
    
    ./clients/base/api/TwitterApi.php
        public function getTweets(ServiceBase $api, array $args)
        public function getCurrentUser(ServiceBase $api, array $args)
    
    ./clients/base/api/vCardApi.php
        public function vCardSave(ServiceBase $api, array $args)
        public function vCardDownload(ServiceBase $api, array $args)
        public function vCardImport(ServiceBase $api, array $args)
        protected function getVcardForRecord(ServiceBase $api, array $args)
    
    ./clients/mobile/api/CurrentUserMobileApi.php
        protected function getUserHash(User $user)
    
    ./clients/portal/api/CurrentUserPortalApi.php
        public function retrieveCurrentUser(ServiceBase $api, array $args)
        public function updateCurrentUser(ServiceBase $api, array $args)
        protected function changePassword(SugarBean $bean, $old, $new)
    
    ./data/SugarBean.php
        public function populateFromRow(array $row, $convert = false)
    
    ./include/Expressions/Dependency.php
        public function fire(SugarBean $target)
        private function fireActions(SugarBean $target, $useFalse = false)
    
    ./include/Expressions/Expression/Numeric/NumericExpression.php
        protected function isCurrencyField(SugarBean $bean, $field)
        protected function getFieldPrecision(SugarBean $bean, $field)
    
    ./include/SugarObjects/templates/file/File.php
        public function populateFromRow(array $row, $convert = false)
    
    ./include/SugarObjects/templates/person/Person.php
        protected function getVCalData(array $options)
    
    ./include/api/SugarApi.php
        public function requireArgs(array $args, $requiredFields = array())
        protected function formatBean(ServiceBase $api, array $args, SugarBean $bean, array $options = array())
        protected function formatBeans(ServiceBase $api, array $args, $beans, array $options = array())
        protected function loadBean(ServiceBase $api, array $args, $aclToCheck = 'view', array $options = array())
        protected function updateBean(SugarBean $bean, ServiceBase $api, array $args)
        protected function toggleFavorites(SugarBean $bean, $favorite)
    
    ./include/api/SugarListApi.php
        public function parseArguments(ServiceBase $api, array $args, SugarBean $seed = null)
    
    ./modules/Accounts/clients/base/api/AccountsApi.php
        public function opportunityStats(ServiceBase $api, array $args)
    
    ./modules/ActivityStream/clients/base/api/ActivitiesApi.php
        protected function checkParentPreviewEnabled(User $user, $module, $id)
    
    ./modules/Administration/clients/base/api/AdministrationApi.php
        public function searchReindex(ServiceBase $api, array $args)
        public function searchStatus(ServiceBase $api, array $args)
        public function searchFields(ServiceBase $api, array $args)
        public function elasticSearchQueue(ServiceBase $api, array $args)
        public function elasticSearchRouting(ServiceBase $api, array $args)
        public function elasticSearchIndices(ServiceBase $api, array $args)
        public function elasticSearchMapping(ServiceBase $api, array $args)
    
    ./modules/Audit/clients/base/api/AuditApi.php
        public function viewChangeLog(ServiceBase $api, array $args)
    
    ./modules/Calendar/clients/base/api/CalendarApi.php
        public function inviteeSearch(ServiceBase $api, array $args)
        protected function buildSearchParams(array $args)
        protected function transformInvitees(ServiceBase $api, array $args, $searchResults)
        protected function getMatchedFields(array $args, $record, $maxFields = 0)
    
    ./modules/Categories/clients/base/api/TreeApi.php
        protected function createNewBean(ServiceBase $api, array $args)
        public function prepend(ServiceBase $api, array $args)
        public function append(ServiceBase $api, array $args)
        public function insertBefore(ServiceBase $api, array $args)
        public function insertAfter(ServiceBase $api, array $args)
        public function moveBefore(ServiceBase $api, array $args)
        public function moveAfter(ServiceBase $api, array $args)
        public function moveFirst(ServiceBase $api, array $args)
        public function moveLast(ServiceBase $api, array $args)
        public function tree(ServiceBase $api, array $args)
        public function children(ServiceBase $api, array $args)
        public function next(ServiceBase $api, array $args)
        public function prev(ServiceBase $api, array $args)
        public function getParent(ServiceBase $api, array $args)
        public function path(ServiceBase $api, array $args)
        public function filterSubTree(ServiceBase $api, array $args)
        public function filterTree(ServiceBase $api, array $args)
    
    ./modules/Contacts/clients/base/api/ContactsApi.php
        public function influencers(ServiceBase $api, array $args)
        public function opportunityStats(ServiceBase $api, array $args)
        public function getFreeBusySchedule(ServiceBase $api, array $args)
        protected function getBean(ServiceBase $api, array $args)
        protected function getAccountBean(ServiceBase $api, array $args)
        protected function getAccountRelationship(ServiceBase $api, array $args, $account, $relationship, $limit = 5, $query = array())
    
    ./modules/Dashboards/clients/base/api/DashboardApi.php
        public function createDashboard(ServiceBase $api, array $args)
    
    ./modules/Dashboards/clients/base/api/DashboardListApi.php
        public function getDashboards(ServiceBase $api, array $args)
    
    ./modules/Documents/Document.php
        public function populateFromRow(array $row, $convert = false)
    
    ./modules/Documents/clients/base/api/DocumentsFileApi.php
        protected function checkFileAccess(SugarBean $bean, $field, array $args)
        protected function deleteIfFails(SugarBean $bean, array $args)
    
    ./modules/DynamicFields/templates/Fields/TemplateField.php
        public function populateFromRow(array $row)
    
    ./modules/DynamicFields/templates/Fields/TemplateRelatedTextField.php
        public function populateFromRow(array $row)
    
    ./modules/Emails/Email.php
        public function populateFromRow(array $row, $convert = false)
    
    ./modules/Emails/clients/base/api/MailApi.php
        public function createMail(ServiceBase $api, array $args)
        public function updateMail(ServiceBase $api, array $args)
        public function archiveMail(ServiceBase $api, array $args)
        protected function handleMail(ServiceBase $api, array $args)
        public function recipientLookup(ServiceBase $api, array $args)
        public function findRecipients(ServiceBase $api, array $args)
        public function validateArguments(array &$args)
        protected function validateRecipients(array $args, $argName, $isRequired = false)
        protected function initMailRecord(array $args)
        public function validateEmailAddresses(ServiceBase $api, array $args)
        public function saveAttachment(ServiceBase $api, array $args)
        public function removeAttachment(ServiceBase $api, array $args)
        public function clearUserCache(ServiceBase $api, array $args)
    
    ./modules/EmbeddedFiles/clients/base/api/EmbeddedFileApi.php
        public function saveFilePost(ServiceBase $api, array $args, $temporary = false)
        public function getFile(ServiceBase $api, array $args)
    
    ./modules/ExpressionEngine/clients/base/api/RelatedValueApi.php
        public function getRelatedValues(ServiceBase $api, array $args)
        protected function isFieldCurrency(SugarBean $bean, $field)
    
    ./modules/ExpressionEngine/clients/base/api/SugarLogicFunctionsApi.php
        public function getSugarLogicFunctions(ServiceBase $api, array $args)
    
    ./modules/Filters/clients/base/api/PreviouslyUsedFiltersApi.php
        public function setUsed(ServiceBase $api, array $args)
        public function getUsed(ServiceBase $api, array $args)
        public function deleteUsed(ServiceBase $api, array $args)
    
    ./modules/ForecastManagerWorksheets/clients/base/api/ForecastManagerWorksheetsApi.php
        public function assignQuota(ServiceBase $api, array $args = array())
    
    ./modules/ForecastWorksheets/clients/base/api/ForecastWorksheetsApi.php
        public function forecastWorksheetSave(ServiceBase $api, array $args)
        protected function getClass(array $args)
    
    ./modules/Forecasts/clients/base/api/ForecastsApi.php
        public function returnEmptySet(ServiceBase $api, array $args)
        public function forecastsInitialization(ServiceBase $api, array $args)
        public function retrieveSelectedUser(ServiceBase $api, array $args)
        public function timeperiod(ServiceBase $api, array $args)
        protected function getTimeperiodFilterClass(array $args)
        public function getReportees(ServiceBase $api, array $args)
        public function getOrgTree(ServiceBase $api, array $args)
        protected function compareSettingsToDefaults(Administration $admin, $forecastsSettings, ServiceBase $api)
        public function getQuota(ServiceBase $api, array $args)
    
    ./modules/Forecasts/clients/base/api/ForecastsChartApi.php
        public function chart(ServiceBase $api, array $args)
        protected function getClass($file, $klass, array $args)
    
    ./modules/Forecasts/clients/base/api/ForecastsFilterApi.php
        public function forecastsCommitted(ServiceBase $api, array $args)
    
    ./modules/Forecasts/clients/base/api/ForecastsModuleApi.php
        protected function getClass(array $args)
    
    ./modules/Forecasts/clients/base/api/ForecastsProgressApi.php
        public function progressRep(ServiceBase $api, array $args)
        public function progressManager(ServiceBase $api, array $args)
    
    ./modules/History/clients/base/api/HistoryApi.php
        protected function scrubFields(array $args)
    
    ./modules/Home/clients/base/api/MostActiveUsersApi.php
        public function getMostActiveUsers(ServiceBase $api, array $args)
    
    . /modules/KBContents/clients/base/api/KBContentsApi.php
        public function relatedDocuments(ServiceBase $api, array $args)
        public function disableApi(ServiceBase $api, array $args)
    
    ./modules/KBContents/clients/base/api/KBContentsFilterApi.php
        protected function filterByContainingExcludingWords(ServiceBase $api, array $args, $filterArgs)
    
    ./modules/KBContents/clients/base/api/KBContentsRelateRecordApi.php
        public function createRelatedLinks(ServiceBase $api, array $args, $securityTypeLocal = 'view', $securityTypeRemote = 'view')
    
    ./modules/KBContents/clients/base/api/KBContentsUsefulnessApi.php
        protected function vote(ServiceBase $api, array $args, $isUseful)
        public function voteUseful(ServiceBase $api, array $args)
        public function voteNotUseful(ServiceBase $api, array $args)
    
    ./modules/Leads/clients/base/api/LeadConvertApi.php
        public function convertLead(ServiceBase $api, array $args)
        protected function loadModule(ServiceBase $api, $module, $data)
        protected function loadModules(ServiceBase $api, $modulesToConvert, $data)
    
    ./modules/Leads/clients/base/api/LeadsApi.php
        public function getFreeBusySchedule(ServiceBase $api, array $args)
        protected function getAccountBean(ServiceBase $api, array $args, $record)
        protected function getAccountRelationship(ServiceBase $api, array $args, $account, $relationship, $limit = 5, $query = array())
    
    ./modules/Meetings/clients/base/api/MeetingsApi.php
        public function getAgenda(ServiceBase $api, array $args)
        public function getExternalInfo(ServiceBase $api, array $args) 
    
    ./modules/ModuleBuilder/parsers/views/AbstractMetaDataParser.php
        protected function _standardizeFieldLabels(array &$fielddefs)
        public static function _trimFieldDefs(array $def)
        public static function getClientStudioValidation(array $Studio, $view, $client)
    
    ./modules/ModuleBuilder/parsers/views/GridLayoutMetaDataParser.php
        public static function _trimFieldDefs(array $def)
    
    ./modules/ModuleBuilder/parsers/views/ListLayoutMetaDataParser.php
        public static function _trimFieldDefs(array $def)
    
    ./modules/ModuleBuilder/parsers/views/SubpanelMetaDataParser.php
        public static function _trimFieldDefs(array $def)
    
    ./modules/Opportunities/clients/base/api/OpportunitiesEnumApi.php
        public function getEnumValues(ServiceBase $api, array $args)
    
    ./modules/OutboundEmailConfiguration/clients/base/api/OutboundEmailConfigurationApi.php
        public function listConfigurations(ServiceBase $api, array $args)
        public function convertQuote(ServiceBase $api, array $args)
        public function createRecordList(ServiceBase $api, array $args)
    
    ./modules/Reports/clients/base/api/ReportsDashletsApi.php
        public function getSavedReports(ServiceBase $api, array $args)
        public function getSavedReportChartById(ServiceBase $api, array $args)
    
    ./modules/Reports/clients/base/api/ReportsExportApi.php
        public function exportRecord(ServiceBase $api, array $args)
    
    ./modules/RevenueLineItems/clients/base/api/RevenueLineItemsGlobeChartApi.php
        public function salesByCountry(ServiceBase $api, array $args)
    
    ./modules/SchedulersJobs/SchedulersJob.php
        protected function sudo(User $user)
    
    ./modules/Tags/clients/base/api/TagsApi.php
        public function updateBean(SugarBean $bean, ServiceBase $api, array $args)
    
    ./modules/Teams/clients/base/api/TeamsRelateRecordApi.php
        protected function checkRelatedSecurity(ServiceBase $api, array $args, SugarBean $primaryBean, $securityTypeLocal = 'view', $securityTypeRemote = 'view')
    
    ./modules/TimePeriods/clients/base/api/TimePeriodsCurrentApi.php
        public function getCurrentTimePeriod(ServiceBase $api, array $args)
        public function getTimePeriodByDate(ServiceBase $api, array $args)
    
    ./modules/Users/User.php
        public function populateFromRow(array $row, $convert = false)
    
    ./modules/Users/clients/base/api/UsersApi.php
        public function deleteUser(ServiceBase $api, array $args)
        public function getFreeBusySchedule(ServiceBase $api, array $args)
    
    ./modules/Users/clients/base/api/UsersRelateRecordApi.php
        protected function checkRelatedSecurity(ServiceBase $api, array $args, SugarBean $primaryBean, $securityTypeLocal = 'view', $securityTypeRemote = 'view')
    
    ./modules/pmse_Inbox/clients/base/api/PMSECasesListApi.php
        public function selectCasesList(ServiceBase $api, array $args)
        public function selectLogLoad(ServiceBase $api, array $args)
        public function clearLog(ServiceBase $api, array $args)
        public function configLogLoad(ServiceBase $api, array $args)
        public function configLogPut(ServiceBase $api, array $args)
        public function returnProcessUsersChart(ServiceBase $api, array $args)
        public function returnProcessStatusChart(ServiceBase $api, array $args)
    
    ./modules/pmse_Inbox/clients/base/api/PMSEEngineApi.php
        public function getNotes(ServiceBase $api, array $args)
        public function saveNotes(ServiceBase $api, array $args)
        public function deleteNotes(ServiceBase $api, array $args)
        public function retrieveHistoryLog(ServiceBase $api, array $args)
        public function engineRoute(ServiceBase $api, array $args)
        public function engineClaim(ServiceBase $api, array $args)
        public function reassignRecord(ServiceBase $api, array $args)
        public function adhocReassign(ServiceBase $api, array $args)
        public function getReassign(ServiceBase $api, array $args)
        public function getFormDataReassign(array $args)
        public function getAdhoc(ServiceBase $api, array $args)
        public function getFormDataAdhoc(array $args)
        public function changeCaseUser(ServiceBase $api, array $args)
        public function userListByTeam(ServiceBase $api, array $args)
        public function updateChangeCaseFlow(ServiceBase $api, array $args)
        public function reactivateFlows(ServiceBase $api, array $args)
        public function cancelCase(ServiceBase $api, array $args)
        public function reassignFlows(ServiceBase $api, array $args)
        public function getReassignFlows(ServiceBase $api, array $args)
        public function getUnattendedCases(ServiceBase $api, array $args)
        public function selectCase(ServiceBase $api, array $args)
        public function getCaseRecord(ServiceBase $api, array $args)
        public function getSettingsEngine(ServiceBase $api, array $args)
        public function putSettingsEngine(ServiceBase $api, array $args)
    
    ./modules/pmse_Inbox/clients/base/api/PMSEEngineFilterApi.php
        protected function formatBeans(ServiceBase $api, array $args, $beans, array $options = array())
    
    ./modules/pmse_Inbox/clients/base/api/PMSEImageGeneratorApi.php
        public function getFile(ServiceBase $api, array $args)
        public function getTempImage(ServiceBase $api, array $args)
        public function getProjectFile(ServiceBase $api, array $args)
        public function getProcessImage(ServiceBase $api, array $args)
    
    ./modules/pmse_Project/clients/base/api/PMSEProjectApi.php
        public function retrieveCustomProject(ServiceBase $api, array $args)
        public function updateCustomProject(ServiceBase $api, array $args)
        protected function getLoadedAndFormattedBean(ServiceBase $api, array $args)
        public function getBRFields(ServiceBase $api, array $args)
        public function getCrmData(ServiceBase $api, array $args)
        public function putCrmData(ServiceBase $api, array $args)
        public function getActivityDefinition(ServiceBase $api, array $args)
        public function putActivityDefinition(ServiceBase $api, array $args)
        public function getEventDefinition(ServiceBase $api, array $args)
        public function putEventDefinition(ServiceBase $api, array $args)
        public function getGatewayDefinition(ServiceBase $api, array $args)
        public function putGatewayDefinition(ServiceBase $api, array $args)
        public function verifyRunningProcess(ServiceBase $api, array $args)
    
    ./modules/pmse_Project/clients/base/api/PMSEProjectCRUDApi.php
        public function deleteRecord(ServiceBase $api, array $args)
    
    ./modules/pmse_Project/clients/base/api/PMSEProjectImportExportApi.php
        public function projectDownload(ServiceBase $api, array $args)
        public function projectImport(ServiceBase $api, array $args)
    
    ./modules/pmse_Project/pmse_BpmFlow/pmse_BpmFlow.php
        public function populateFromRow(array $row, $convert = false)

 

Additional Product Information

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

  • Offline Client
  • Sugar Mobile Plus

Supported Platforms

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

Upgrade Paths

Package From Version(s) MySQL
New Installs
7.9.x-to-7.10.0.0 7.9.0.0 - 7.9.2.0

Last modified: 11/17/2017 11:49am