Information on each Summer '26 patch release for the Communications, Media, and Energy & Utilities (CME) managed package. Periodically, we add patch releases for Summer '26. Check back here for information.
For package download links, see Communications, Media, and Energy & Utilities Patch Links.
For Omnistudio patch notes, see Omnistudio Releases.
If you’re looking for installation links for previous versions, contact Salesforce Customer Support for help.
CME 262.18.900.650.3
This patch contains fixes to Communications, Media, and Energy & Utilities, and Omnistudio to ensure features work correctly.
CME 262.17.900.650.2
This patch contains fixes to Communications, Media, and Energy & Utilities, and Industries CPQ to ensure features work correctly.
| Product Area | Issue | Description |
|---|---|---|
| Industries CPQ |
When an org has an exceptionally large number of Price List Entries (240,000+), with many promotions each carrying a high volume of promo items and promotional PLEs, the CompilePricing job loads more data into memory than the heap limit allows, causing the job to fail. The Enhanced CompilePricing job runs multiple async jobs in parallel, all upserting into CachedAPIResponse__c keyed on UniqueIdentifier__c. On re-runs, concurrent jobs repeatedly attempt to update rows that already exist for the current configuration snapshot. This causes parallel transactions to contend for the same rows, producing UNABLE_TO_LOCK_ROW errors. When the platform exhausts retries on a chunk under partial-save with triggers active, it escalates to a "Too many retries of batch save" failure, killing the job entirely. |
Optimized the query to fetch only fields required during compilation, removing unused JSON-heavy fields. This reduces memory footprint per record and keeps the job within heap limits for large orgs. Added exception handling for "Too many retries of batch save” errors and a retry mechanism for unique row insertions, preventing job failure when parallel transactions contend for the same rows. |
CME 262.16.900.650.1
This patch contains fixes to Communications, Media, and Energy & Utilities, Enterprise Sales Management, and Industries CPQ to ensure features work correctly.
| Product Area | Issue | Description |
|---|---|---|
| Enterprise Sales Management | When you applied percentage-based, absolute, code-based, or override adjustments, custom context rules for filtering adjustments could fail because the adjustment type wasn’t included in the request. | Custom context rules now work as expected when you apply adjustments because the adjustment type is included in the request. |
| Industries CPQ | The CMT package upgrade from v260 to 262.15 is failing because the package test class CpqSalesConfigTemplateWrapperTest filters on Account.Name in SOQL. The customer has Shield Platform Encryption enabled on this field, which prevents it from being used as a filter condition, causing the error field Name can not be filtered in a query call. Since the test class is part of the package, the customer cannot modify it and is blocked from upgrading. | Updated CpqSalesConfigTemplateWrapperTest to filter on Account.Id instead of Account.Name in the SOQL query. Since Id is not subject to Shield Platform Encryption, this resolves the field Name can not be filtered in a query call error and allows the package upgrade to complete successfully. |
CME 262.15.900.649
This patch contains fixes to Communications, Media, and Energy & Utilities, Document Generation and Contract Lifecycle Management to ensure features work correctly.
| Product Area | Issue | Description |
|---|---|---|
| Industries CPQ | On the Product Designer detail page, the SubType picklist fails to load and throws a 401 Unauthorized / TypeError for non-admin users when the security setting "Enforce login IP ranges on every request" is enabled. This issue occurs because the PCDetailsService.getSObjectPicklistValues() method initiates an HTTP self-callout to the Salesforce UI API, which routes through an internal Salesforce proxy IP. As this proxy IP is naturally absent from the user's restricted Login IP Ranges, the platform blocks the request as unauthorized, preventing the picklist data from rendering on the front end. | The fix Introduces an internal, in-process execution path using ConnectApi to bypass the need for an external HTTP callout or session token. Because the data is now retrieved entirely within the platform's native context, strict IP-range enforcement rules are no longer triggered. To ensure a safe rollout, this new logic is gated behind a custom setting that defaults to off, keeping existing system behavior completely unchanged unless explicitly enabled. From the Setup, add the setting named UseConnectApiForPicklistValues and set its value to True. |
| Document Generation | When generating documents from client-side DOCX OmniScripts on Chrome version 150, document generation failed. The document preview displayed an invalid XML parsing error, and no DOCX or PDF output was produced. | This patch resolves the issue by correctly handling DOCX template XML files during document generation. Documents now generate successfully on Chrome 150. |
| Contract Lifecycle Management | After a DocuSign signature event was processed, the Contract Recipient status intermittently failed to update. Even when the associated Contract Envelope status was correctly marked as Completed, one or more related Contract Recipient records could show outdated values. | This patch resolves the issue. Contract Recipient statuses now update and stay consistent with the Contract Envelope status. This patch also adds detailed logging so that administrators can identify and monitor recipient status update failures through debug logs. |
CME 262.12.900.646
This patch contains fixes to Communications, Media, and Energy & Utilities, Industries CPQ, Enterprise Sales Management, and Industries Order Management to ensure features work correctly.
| Product Area | Issue | Description |
|---|---|---|
| Industries CPQ | During an Asset-to-Order flow using Classic APIs, a previously disconnected promotion is incorrectly re-applied to a child product after its original bundle is removed and a new bundle containing the exact same child product is added to the cart. This bug only triggers if an independent discount already exists in the cart, which causes the system to re-evaluate active promotions. Because the underlying query logic fails to filter out historical data, the old, disconnected promotion leaks back into the active pricing context and attaches itself to the new child product. | As a fix, the query within PricingComponentSelector.queryAppliedPromotions was updated to include an explicit Action__c != 'Disconnect' filter on the OrderAppliedPromotion__c object, effectively blocking disconnected promotions from leaking into active pricing evaluations. To prevent disruptions to existing implementations, this fix is gated behind a new configuration flag in CpqConfigurationSetup__c called ExcludeDisconnectedPromoFromPricing. This flag defaults to off, ensuring that legacy system behavior remains completely unchanged unless the feature is intentionally enabled. |
| Enterprise Sales Management | Push-upgrade jobs fail on the 262 branch when B2BCmexAssetToQuoteInBatchTest queries Account.Name in a WHERE clause. Salesforce rejects this because Account.Name is a compound field when Person Accounts are enabled. | This patch removes the Name filter from Account queries in the Apex Test Classes. These test classes rely on Apex data isolation to retrieve the single Account record created in the test setup. |
| Industries Order Management | Submitting a Change-of-Plan order with lazy loading enabled could fail and reject the order when all of the destination product's decomposition rules evaluated to false. | Change-of-Plan orders now decompose and submit successfully, even when all of the destination product's decomposition rules evaluate to false. |