Liferay DXP 2025.Q2 Breaking Changes

Breaking changes break or significantly alter existing functionality or code structure. Here are all of the breaking changes for Liferay DXP 2025.Q2. As the product changes and improves, we try our best to minimize these disruptions, but sometimes they are unavoidable.

Changes in Liferay DXP

Here is a list of changes that break or significantly alter existing functionality within Liferay.

Breaking ChangesDescriptionReferences
Analytics Cloud User Deletion/Suppression RequestsWhen a user is deleted in Analytics Cloud, the user is first suppressed, and then permanently deleted. Previously, this caused a separate request for the suppression and deletion, but now they are combined in a single request. Additionally, the request combines all affected email addresses instead of different requests for each user, significantly reducing the number of requests.LPD-45375
Batch Imports Using External Reference CodesBatch engine imports that use an external reference codes as a query parameter now use batchExternalReferenceCode to apply to the imported entity, instead of externalReferenceCode. The externalReferenceCode parameter now only applies to the import task itself.LPD-47178
Custom Form Fields Using AMD LoaderThe AMD loader is removed. Liferay DXP officially supports ESM, which modern browsers natively support, allowing for direct usage without additional loaders. Custom JavaScript using amdloader must migrate to Liferay.loader. See this example.LPD-42938, LPD-52228
Dynamic Inheritance for Page View PermissionsThe permissions.view.dynamic.inheritance property’s behavior has changed. Now the behavior only applies to the View permission. To have access to view a page, users must have the View permission both for that page and all pages in the hierarchy above it. The previous behavior was inverted, which did not match its description.LPD-52364
Ehcache Version UpgradeEhcache 2.x is no longer maintained. Liferay DXP’s internal caching now uses Ehcache version 3.10.8. Existing XML configuration files must be reviewed and rewritten to adhere to the Ehcache 3.x schema.LPD-40485
Email Notifications for Web ContentUsers subscribed to a web content article or folder no longer receive updates if they are pending approval in workflow (unless the user is directly involved in the workflow review). This change makes the behavior consistent with Documents and Media content.LPP-58042
Folder Workflow Configuration PermissionsWeb content and Documents and Media folders now have separate permissions for workflow configuration that don’t affect permission to update other properties. The Update permission allows the user to update properties like the name or description, and the Advanced Update permission grants access to update its associated workflow.LPD-42452
JQuery System ConfigurationJquery is no longer available as a system configuration. If you still need JQuery, consider using an import map client extension or adding JQuery with a CDN script to your JavaScript.LPD-44529
Managing Publication Changes in BulkUsers can now move or discard publication changes in bulk via the management bar. You can enable or disable this feature via the LPD-20183 release feature flag.LPD-20190
Dropping/Mapping Fragments in a Collection DisplayUsers can now only drop or map fragments into the first item of a Collection Display.LPD-45724
Page SEO ConfigurationsThe form displayed to configure page SEO has been simplified.LPD-45929
Progress Bar for PublicationsWhen publishing, users now see a progress bar to estimate the remaining time for the publication.LPD-44469
Publication Size IndicatorPublications now show whether they are classified as light, medium, or large publications on the Review Changes screen. You can enable or disable this feature via the LPD-20556 release feature flag.LPD-36902
Removed Option to Add Collection PagesUsers can no longer add collection pages as a page type. Instead, use a Collection Display fragment to display your collections.LPD-45659

Changes in Module Source

CommercePriceFormatter.java modules/apps/commerce/commerce-currency-api/src/main/java/com/liferay/commerce/currency/util/CommercePriceFormatter.java

  • Date: Jan. 21, 2025
  • Ticket: LPD-45731
  • What changed: The parse(ActionRequest, String, String) and parse(String, String, Locale) methods have a new boolean parameter for allowNegativeValue.
  • Reason: This change allows for handling negative values when creating price modifiers.

EntityModelResource.java modules/apps/portal-vulcan/portal-vulcan-api/src/main/java/com/liferay/portal/vulcan/resource/EntityModelResource.java

  • Date: Jan. 21, 2025
  • Ticket: LPD-35336
  • What changed: The new setContextCompany(Company contextCompany) method is added to inject the context company of the request.
  • Reason: It is necessary to be able to get the EntityFields based on the company, so the company context is also necessary. This change reinforces the existing pattern in other interfaces (such as VulcanBatchEngineTaskItemDelegate or <SchemaName>Resource).

OAuthClientEntryService.java modules/apps/oauth-client/oauth-client-persistence-api/src/main/java/com/liferay/oauth/client/persistence/service/OAuthClientEntryService.java

  • Date: Jan. 21, 2025
  • Ticket: LPD-34901
  • What changed: The addOAuthClientEntry and updateOAuthClientryEntry methods have a new parameter for metadataCacheInMillis.
  • Reason: This change is required to set the cache time to retain metadata.

OAuthClientEntryServiceImpl.java modules/apps/oauth-client/oauth-client-persistence-service/src/main/java/com/liferay/oauth/client/persistence/service/impl/OAuthClientEntryServiceImpl.java

  • Date: Jan. 21, 2025
  • Ticket: LPD-34901
  • What changed: The addOAuthClientEntry and updateOAuthClientryEntry methods have a new parameter for metadataCacheInMillis.
  • Reason: This change is required to set the cache time to retain metadata.

OAuthClientEntryLocalServiceImpl.java modules/apps/oauth-client/oauth-client-persistence-service/src/main/java/com/liferay/oauth/client/persistence/service/impl/OAuthClientEntryLocalServiceImpl.java

  • Date: Jan. 21, 2025
  • Ticket: LPD-34901
  • What changed: The addOAuthClientEntry and updateOAuthClientryEntry methods have a new parameter for metadataCacheInMillis.
  • Reason: This change is required to set the cache time to retain metadata.

ObjectEntryOpenAPIResource.java modules/apps/object/object-rest-api/src/main/java/com/liferay/object/rest/openapi/v1_0/ObjectEntryOpenAPIResource.java

  • Date: Jan. 21, 2025
  • Ticket: LPD-35336
  • What changed: Various method signatures have a new long parameter for companyId. Related logic is also updated. Add a company ID to any calls to these methods.
  • Reason: This change enhances context-aware processing for OpenAPI schemas, provides a clearer and more explicit contract for methods, and standardizes the usage of company ID in the code.

OpenAPIResource.java modules/apps/portal-vulcan/portal-vulcan-api/src/main/java/com/liferay/portal/vulcan/resource/OpenAPIResource.java

  • Date: Jan. 21, 2025
  • Ticket: LPD-35336
  • What changed: The getOpenAPI(OpenAPIContributor, OpenAPISchemaFilter, Set<Class<?>>, String, UriInfo) method has a new long parameter for companyId. Related logic is also updated. Add a company ID to any calls to getOpenAPI.
  • Reason: This change enhances context-aware processing for OpenAPI schemas, provides a clearer and more explicit contract for methods, and standardizes the usage of company ID in the code.

ConfigurationEntry.java /modules/apps/configuration-admin/configuration-admin-web/src/main/java/com/liferay/configuration/admin/web/internal/display/ConfigurationEntry.java

  • Date: Jan. 23, 2025
  • Ticket: LPD-46252
  • What changed: The new isDeprecated method is added.
  • Reason: This method is necessary to indicate when a configuration is deprecated.

ConfigurationModel.java /modules/apps/configuration-admin/configuration-admin-web/src/main/java/com/liferay/configuration/admin/web/internal/model/ConfigurationModel.java

  • Date: Jan. 23, 2025
  • Ticket: LPD-46252
  • What changed: The new isDeprecated method is added.
  • Reason: This method is necessary to indicate when a configuration is deprecated.

ConfigurationScreen.java /modules/apps/configuration-admin/configuration-admin-api/src/main/java/com/liferay/configuration/admin/display/ConfigurationScreen.java

  • Date: Jan. 23, 2025
  • Ticket: LPD-46252
  • What changed: The new isDeprecated method is added.
  • Reason: This method is necessary to indicate when a configuration is deprecated.

ExtendedObjectClassDefinition.java /modules/apps/static/portal-configuration/portal-configuration-metatype-api/src/main/java/com/liferay/portal/configuration/metatype/annotations/ExtendedObjectClassDefinition.java

  • Date: Jan. 23, 2025
  • Ticket: LPD-46252
  • What changed: The new isDeprecated method is added.
  • Reason: This method is necessary to indicate when a configuration is deprecated.

CPTestUtil.java modules/apps/commerce/commerce-product-test-util/src/main/java/com/liferay/commerce/product/test/util/CPTestUtil.java

  • Date: Jan. 27, 2025
  • Ticket: LPD-46233
  • What changed: The addCPSpecificationOption has a new boolean parameter to indicate whether a specification is facetable.
  • Reason: This change is necessary to make tests more configurable.

FrontendTokenDefinitionRegistry.java modules/apps/frontend-token/frontend-token-definition-api/src/main/java/com/liferay/frontend/token/definition/FrontendTokenDefinitionRegistry.java

  • Date: Jan. 27, 2025
  • Ticket: LPD-35071
  • What changed: The new getFrontendTokenDefinition(long companyId, String themeId) method is added.
  • Reason: This change allows for returning the frontend token definition for a style book based on theme ID.

KaleoDefinitionLocalService.java modules/apps/portal-workflow/portal-workflow-kaleo-api/src/main/java/com/liferay/portal/workflow/kaleo/service/KaleoDefinitionLocalService.java

  • Date: Jan. 29, 2025
  • Ticket: LPD-47175
  • What changed: Various methods now have the @Indexable(type = IndexableType.REINDEX) annotation added, so they trigger a reindex upon completion.
  • Reason: A Kaleo definition reindex is necessary when these methods complete, because the updated information must be replicated in the Kaleo definition versions.

CommerceOrderImpl.java modules/apps/commerce/commerce-service/src/main/java/com/liferay/commerce/model/impl/CommerceOrderImpl.java

  • Date: Jan. 29, 2025
  • Ticket: LPD-46281
  • What changed: The getCPConfigurationListId(long groupId) method is removed.
  • Reason: This method is no longer used.

LayoutSEOEntryServiceImpl.java modules/apps/layout/layout-seo-service/src/main/java/com/liferay/layout/seo/service/impl/LayoutSEOEntryServiceImpl.java

  • Date: Feb. 1, 2025
  • Ticket: LPD-45929
  • What changed: The copyLayoutSEOEntry(long, long, boolean, long, boolean, Map<Locale, String>, long, boolean, Map<Locale, String>, Map<Locale, String>, long, boolean, Map<Locale, String>, ServiceContext) method is removed.
  • Reason: This method is no longer used.

LayoutSEOEntryLocalServiceImpl.java modules/apps/layout/layout-seo-service/src/main/java/com/liferay/layout/seo/service/impl/LayoutSEOEntryLocalServiceImpl.java

  • Date: Feb. 1, 2025
  • Ticket: LPD-45929
  • What changed: The copyLayoutSEOEntry(long, long, boolean, long, boolean, Map<Locale, String>, long, boolean, Map<Locale, String>, Map<Locale, String>, long, boolean, Map<Locale, String>, ServiceContext) method is changed to copyLayoutSEOEntry(long, long, boolean, long, LayoutSEOEntry, ServiceContext). Additionally, the updateCustomMetaTags(long, long, boolean, long, ServiceContext) method has a new List<LayoutSEOEntryCustomMetaTagProperty parameter.
  • Reason: This change improves the code by directly using a LayoutSEOEntry, eliminating the requirement to pass each parameter separately. The new List<LayoutSEOEntryCustomMetaTagProperty> parameter allows for setting custom meta tags.

BaseUpgradePortletPreferences.java modules/apps/portlet-display-template/portlet-display-template-api/src/main/java/com/liferay/portlet/display/template/upgrade/BaseUpgradePortletPreferences.java

  • Date: Feb. 1, 2025
  • Ticket: LPD-45118
  • What changed: The getGroupExternalReferenceCode(long) and getScopeExternalReferenceCode(long, long) methods each have a new long parameter.
  • Reason: This change enforces formatting consistency in the code.

rest-openapi.yaml modules/apps/headless/headless-delivery/headless-delivery-impl/rest-openapi.yaml

  • Date: Feb. 1, 2025
  • Ticket: LPD-47047
  • What changed: The Page Rule Conditions definition has been changed.
  • Reason: This change adapts the definition to manage negated conditions.

CommerceWishListItemLocalServiceImpl.java modules/apps/commerce/commerce-wish-list-service/src/main/java/com/liferay/commerce/wish/list/service/impl/CommerceWishListItemLocalServiceImpl.java

  • Date: Feb. 3, 2025
  • Ticket: LPD-43404
  • What changed: Various methods have reordered parameters.
  • Reason: This change enforces consistency for method signatures.

CommerceWishListItemServiceImpl.java modules/apps/commerce/commerce-wish-list-service/src/main/java/com/liferay/commerce/wish/list/service/impl/CommerceWishListItemServiceImpl.java

  • Date: Feb. 3, 2025
  • Ticket: LPD-43404
  • What changed: Various methods have reordered parameters.
  • Reason: This change enforces consistency for method signatures.

CommerceWishListLocalServiceImpl.java modules/apps/commerce/commerce-wish-list-service/src/main/java/com/liferay/commerce/wish/list/service/impl/CommerceWishListLocalServiceImpl.java

  • Date: Feb. 3, 2025
  • Ticket: LPD-43404
  • What changed: Various methods have reordered parameters.
  • Reason: This change enforces consistency for method signatures.

CommerceWishListServiceImpl.java modules/apps/commerce/commerce-wish-list-service/src/main/java/com/liferay/commerce/wish/list/service/impl/CommerceWishListServiceImpl.java

  • Date: Feb. 3, 2025
  • Ticket: LPD-43404
  • What changed: Various methods have reordered parameters.
  • Reason: This change enforces consistency for method signatures.

SamlProviderConfiguration.java modules/dxp/apps/saml/saml-api/src/main/java/com/liferay/saml/runtime/configuration/SamlProviderConfiguration.java

  • Date: Feb. 3, 2025
  • Ticket: LPD-43790
  • What changed: The annotation property for the clockSkew method is changed from name = "saml-sp-clock-skew" to name = "clock-skew".
  • Reason: This change is made to enforce formatting consistency.

BaseDDMFormFieldTypeSettingsTestCase.java modules/apps/dynamic-data-mapping/dynamic-data-mapping-test-util/src/main/java/com/liferay/dynamic/data/mapping/test/util/BaseDDMFormFieldTypeSettingsTestCase.java

  • Date: Feb. 5, 2025
  • Ticket: LPD-48008
  • What changed: Various methods are removed from BaseDDMFormFieldTypeSettingsTestCase.
  • Reason: A new base class was created to follow the DXP naming pattern. The removed methods were transferred to this new base class.

ObjectFieldSettingUtil.java modules/apps/object/object-api/src/main/java/com/liferay/object/field/setting/util/ObjectFieldSettingUtil.java

  • Date: Feb. 5, 2025
  • Ticket: LPD-47580
  • What changed: The getDefaultValueAsString(DDMExpressionFactory, ObjectField, ObjectFieldSettingLocalService, Map<String, Object>) method is replaced with getDefaultValue(DDMExpressionFactory, ObjectField, Map<String, Object>), and it now returns a String instead of an Object.
  • Reason: This change adds support for providing default values for object fields that are not text-based.

rest-openapi.yaml modules/apps/headless/headless-delivery/headless-delivery-impl/rest-openapi.yaml

  • Date: Feb. 5, 2025
  • Ticket: LPD-47497
  • What changed: The action property is removed from page rule actions. Additionally, the condition property is renamed to field.
  • Reason: This property was not necessary for fragments. The property name change enforces naming consistency.

RoleResource.java modules/apps/headless/headless-admin-user/headless-admin-user-api/src/main/java/com/liferay/headless/admin/user/resource/v1_0/RoleResource.java

  • Date: Feb. 6, 2025
  • Ticket: LPD-44667
  • What changed: The getRolesPage method has a new Filter parameter.
  • Reason: This change adds support for filtering roles.

CaptchaConfiguration.java modules/apps/captcha/captcha-api/src/main/java/com/liferay/captcha/configuration/CaptchaConfiguration.java

  • Date: Feb. 6, 2025
  • Ticket: LPD-9391
  • What changed: The CaptchaConfiguration is now configured with scope = ExtendedObjectClassDefinition.Scope.COMPANY.
  • Reason: This change adds support for configuring CAPTCHAs on the instance level.

CaptchaProvider.java modules/apps/captcha/captcha-api/src/main/java/com/liferay/captcha/provider/CaptchaProvider.java

  • Date: Feb. 6, 2025
  • Ticket: LPD-9391
  • What changed: The getCaptcha method now requires a CaptchaConfiguration parameter.
  • Reason: This change is necessary to support configuring CAPTCHAs on the instance level.

CaptchaUtil.java modules/apps/captcha/captcha-api/src/main/java/com/liferay/captcha/util/CaptchaUtil.java

  • Date: Feb. 6, 2025
  • Ticket: LPD-9391
  • What changed: Various methods now require a CaptchaConfiguration parameter.
  • Reason: This change is necessary to support configuring CAPTCHAs on the instance level.

SAQConfiguration.java modules/apps/portal-security/portal-security-service-access-quota-api/src/main/java/com/liferay/portal/security/service/access/quota/configuration/SAQConfiguration.java

  • Date: Feb. 9, 2025
  • Ticket: LPD-43790
  • What changed: The max method’s annotation property is changed from name='maximum' to name='saq-configuration-service-max'. Additionally, the metrics method’s annotation property is changed from name='metrics' to name='saq-configuration-service-metrics'.
  • Reason: This change enforces formatting consistency in the code.

FDSAPIURLSerializer.java modules/apps/frontend-data-set/frontend-data-set-api/src/main/java/com/liferay/frontend/data/set/url/FDSAPIURLSerializer.java

  • Date: Feb. 9, 2025
  • Ticket: LPD-44159
  • What changed: The FDSAPIURLSerializer interface is removed. Instead, use the related base classes.
  • Reason: This interface is no longer needed.

FDSAPIURLBuilder.java modules/apps/frontend-data-set/frontend-data-set-api/src/main/java/com/liferay/frontend/data/set/url/FDSAPIURLBuilder.java

  • Date: Feb. 9, 2025
  • Ticket: LPD-44159
  • What changed: The FDSAPIURLBuilder interface is removed.
  • Reason: FDSAPIURLBuilder is not needed to create a public API, because URL building is part of the serialization process handled by BaseAPIURLSerializer.

FDSAPIURLBuilderFactory.java modules/apps/frontend-data-set/frontend-data-set-api/src/main/java/com/liferay/frontend/data/set/url/FDSAPIURLBuilderFactory.java

  • Date: Feb. 9, 2025
  • Ticket: LPD-44159
  • What changed: The FDSAPIURLBuilderFactory interface is removed.
  • Reason: FDSAPIURLBuilderFactory is not needed to create a public API, because URL building is part of the serialization process handled by BaseAPIURLSerializer.

FDSItemActionList.java modules/apps/frontend-data-set/frontend-data-set-api/src/main/java/com/liferay/frontend/data/set/action/FDSItemActionList.java

  • Date: Feb. 9, 2025
  • Ticket: LPD-44159
  • What changed: The getFDSActionDropdownItems(HttpServletRequest, HttpServletResponse) method has the HttpServletResponse parameter removed.
  • Reason: The HTTP servlet response is not necessary to compute the action list. Additionally, the implementation should handle exceptions and return an empty list if something goes wrong to prevent interrupting serialization.

FDSCreationMenu.java modules/apps/frontend-data-set/frontend-data-set-api/src/main/java/com/liferay/frontend/data/set/action/FDSCreationMenu.java

  • Date: Feb. 9, 2025
  • Ticket: LPD-44159
  • What changed: The getCreationMenu(HttpServletRequest, HttpServletResponse) method has the HttpServletResponse parameter removed.
  • Reason: The HTTP servlet response is not necessary to compute the action list. Additionally, the implementation should handle exceptions and return an empty list if something goes wrong to prevent interrupting serialization.

rest-openapi.yaml modules/apps/commerce/headless/headless-commerce/headless-commerce-admin-order-impl/rest-openapi.yaml

  • Date: Feb. 10, 2025
  • Ticket: LPD-47795
  • What changed: The Order entity’s customFields property now uses the CustomField type.
  • Reason: This change is necessary to format all of the available custom field types correctly.

LayoutStructureRulesHelper.java modules/apps/layout/layout-api/src/main/java/com/liferay/layout/helper/structure/LayoutStructureRulesHelper.java

  • Date: Feb. 10, 2025
  • Ticket: LPD-47602
  • What changed: The LayoutStructureRulesResult constructor has new parameters for itemIdsMap and layoutStructureRuleIdsMap.
  • Reason: This change enables providing more information about frontend rules.

LayoutStructureRulesHelper.java modules/apps/layout/layout-api/src/main/java/com/liferay/layout/helper/structure/LayoutStructureRulesHelper.java

  • Date: Feb. 10, 2025
  • Ticket: LPD-47603
  • What changed: The new processLayoutStructureRules(long, Map<String, Object>, List<LayoutStructureRule>, PermissionChecker, long[]) method is added.
  • Reason: This change adds support for evaluating frontend page rules.

LayoutPageTemplateCollectionLocalServiceImpl.java modules/apps/layout/layout-page-template-service/src/main/java/com/liferay/layout/page/template/service/impl/LayoutPageTemplateCollectionLocalServiceImpl.java

  • Date: Feb. 13, 2025
  • Ticket: LPD-48508
  • What changed: The addLayoutPageTemplateCollection has a new parameter for layoutPageTemplateCollectionKey.
  • Reason: This change allows for specifying the key when creating a layout page template collection.

LayoutPageTemplateCollectionServiceImpl.java modules/apps/layout/layout-page-template-service/src/main/java/com/liferay/layout/page/template/service/impl/LayoutPageTemplateCollectionServiceImpl.java

  • Date: Feb. 13, 2025
  • Ticket: LPD-48508
  • What changed: The addLayoutPageTemplateCollection has a new parameter for layoutPageTemplateCollectionKey.
  • Reason: This change allows for specifying the key when creating a layout page template collection.

ObjectEntryLocalService.java modules/apps/object/object-api/src/main/java/com/liferay/object/service/ObjectEntryLocalService.java

  • Date: Feb. 19, 2025
  • Ticket: LPD-45398
  • What changed: The overloaded addObjectEntry methods have a new parameter added for defaultLanguageId.
  • Reason: This change is made to persist the default language ID within the object entry entity.

SegmentsExperimentService.java modules/apps/segments/segments-api/src/main/java/com/liferay/segments/service/SegmentsExperimentService.java

  • Date: Feb. 22, 2025
  • Ticket: LPD-49245
  • What changed: The fetchSegmentsExperiment(long groupId, long segmentsExperienceId, long plid) has the segmentsExperienceId parameter replaced with a String parameter for segmentsExperienceKey.
  • Reason: Segments experiments are associated to a published page, and published and draft pages now have separate segment experiences. This change supports using the key instead of the ID to get the proper segment experiment. The key is the same between published segment experiences and draft segment experiences.

SegmentsExperimentLocalService.java modules/apps/segments/segments-api/src/main/java/com/liferay/segments/service/SegmentsExperimentLocalService.java

  • Date: Feb. 22, 2025
  • Ticket: LPD-49245
  • What changed: The deleteSegmentsExperiment and fetchSegmentsExperiment methods now require segmentsExperienceKey instead of segmentsExperienceId.
  • Reason: Segments experiments are associated to a published page, and published and draft pages now have separate segment experiences. This change supports using the key instead of the ID to get the proper segment experiment. The key is the same between published segment experiences and draft segment experiences.

SegmentsExperimentRelService.java modules/apps/segments/segments-api/src/main/java/com/liferay/segments/service/SegmentsExperimentRelService.java

  • Date: Feb. 22, 2025
  • Ticket: LPD-49245
  • What changed: The getSegmentsExperimentRel method now requires segmentsExperienceKey instead of segmentsExperienceId.
  • Reason: Segments experiments are associated to a published page, and published and draft pages now have separate segment experiences. This change supports using the key instead of the ID to get the proper segment experiment. The key is the same between published segment experiences and draft segment experiences.

SegmentsExperimentRelLocalService.java modules/apps/segments/segments-api/src/main/java/com/liferay/segments/service/SegmentsExperimentRelLocalService.java

  • Date: Feb. 22, 2025
  • Ticket: LPD-49245
  • What changed: The fetchSegmentsExperimentRel, getSegmentsExperimentRel, and getSegmentsExperimentRelsBySegmentsExperienceKey methods now require segmentsExperienceKey instead of segmentsExperienceId.
  • Reason: Segments experiments are associated to a published page, and published and draft pages now have separate segment experiences. This change supports using the key instead of the ID to get the proper segment experiment. The key is the same between published segment experiences and draft segment experiences.

AssetDisplayPageEntryService.java modules/apps/asset/asset-display-page-api/src/main/java/com/liferay/asset/display/page/service/AssetDisplayPageEntryService.java

  • Date: Feb. 24, 2025
  • Ticket: LPD-49711
  • What changed: Various methods have the userId parameter removed.
  • Reason: The user ID parameter was unnecessary because this is a remote API.

rest-openapi.yaml modules/apps/headless/headless-admin-site/headless-admin-site-impl/rest-openapi.yaml

  • Date: Feb. 24, 2025
  • Ticket: LPD-48985
  • What changed: The new CollectionItemExternalReference schema is added. Additionally, CollectionReference’s external reference inheritance is removed.
  • Reason: This change adds support for collection item external references. A collection reference could be an item external reference code but an item external reference is not necessarily a collection.

BaseBatchEngineTaskItemDelegate.java modules/apps/batch-engine/batch-engine-api/src/main/java/com/liferay/batch/engine/BaseBatchEngineTaskItemDelegate.java

  • Date: Feb. 25, 2025
  • Ticket: LPD-46937
  • What changed: The deleteItem(T, Map<String, Serializable) method now returns the generic T type instead of void.
  • Reason: This change is necessary to apply the batch engine import strategy.

BaseBatchEngineTaskExecutorTest.java modules/apps/batch-engine/batch-engine-test/src/testIntegration/java/com/liferay/batch/engine/internal/test/BaseBatchEngineTaskExecutorTest.java

  • Date: Feb. 25, 2025
  • Ticket: LPD-46937
  • What changed: The deleteItem(BlogPosting, Map<String, Serializable>) method now returns a BlogPosting instead of void.
  • Reason: This change is necessary to apply the batch engine import strategy.

CommercePriceListLocalServiceImpl.java modules/apps/commerce/commerce-price-list-service/src/main/java/com/liferay/commerce/price/list/service/impl/CommercePriceListLocalServiceImpl.java

  • Date: Feb. 25, 2025
  • Ticket: LPD-47566
  • What changed: Various methods for getting a price list now have a new parameter for a currency code.
  • Reason: This change allows for getting commerce price lists by currency code.

LayoutStructureRulesHelper.java modules/apps/layout/layout-api/src/main/java/com/liferay/layout/helper/structure/LayoutStructureRulesHelper.java

  • Date: Feb. 25, 2025
  • Ticket: LPD-48051
  • What changed: The LayoutStructureRulesHelper constructor has new parameters for displayedItemIds and enabledItemIds.
  • Reason: This change adds support for specifying which items to display or enable.

UserResource.java modules/dxp/apps/scim/scim-rest-api/src/main/java/com/liferay/scim/rest/resource/v1_0/UserResource.java

  • Date: Feb. 25, 2025
  • Ticket: LPD-49009
  • What changed: The getV2Users method has a new Filter parameter.
  • Reason: This change adds support for filtering.

LayoutPageTemplateEntryLocalServiceImpl.java modules/apps/layout/layout-page-template-service/src/main/java/com/liferay/layout/page/template/service/impl/LayoutPageTemplateEntryLocalServiceImpl.java

  • Date: Feb. 26, 2025
  • Ticket: LPD-48493
  • What changed: The addLayoutPageTemplateEntry method has a new parameter for layoutPageTemplateEntryKey.
  • Reason: This change allows for specifying the key when creating a layout page template entry.

LayoutPageTemplateEntryServiceImpl.java modules/apps/layout/layout-page-template-service/src/main/java/com/liferay/layout/page/template/service/impl/LayoutPageTemplateEntryServiceImpl.java

  • Date: Feb. 26, 2025
  • Ticket: LPD-48493
  • What changed: The addLayoutPageTemplateEntry method has a new parameter for layoutPageTemplateEntryKey.
  • Reason: This change allows for specifying the key when creating a layout page template entry.

BatchEngineImportTaskExecutor.java modules/apps/batch-engine/batch-engine-api/src/main/java/com/liferay/batch/engine/BatchEngineImportTaskExecutor.java

  • Date: Feb. 27, 2025
  • Ticket: LPD-48378
  • What changed: A new method is added to give more control over execution and allow for configuring compression and persistence of database content.
  • Reason: This change allows for using raw data without storing it in the database.

FDSSerializer.java modules/apps/frontend-data-set/frontend-data-set-api/src/main/java/com/liferay/frontend/data/set/serializer/FDSSerializer.java

  • Date: Feb. 28, 2025
  • Ticket: LPD-47487
  • What changed: The new FDS_TYPES String[] constant value is defined in FDSSerializer. Additionally, the new isAvailable(String, HttpServletRequest), serializePagination(String, HttpServletRequest), and serializePropsTransformer(String, HttpServletRequest) methods are added.
  • Reason: This change extends serialization capabilities and provides information to the newly added FDSRenderer class. Users are not expected to implement this interface.

CommerceTaxEngine.java modules/apps/commerce/commerce-api/src/main/java/com/liferay/commerce/tax/CommerceTaxEngine.java

  • Date: Mar. 3, 2025
  • Ticket: LPD-48053
  • What changed: The new getKey method is added.
  • Reason: This change allows for CommerceTaxEngineRegistryImpl to manage both standard OSGi components and client extensions.

FrontendTokenDefinitionRegistry.java modules/apps/frontend-token/frontend-token-definition-api/src/main/java/com/liferay/frontend/token/definition/FrontendTokenDefinitionRegistry.java

  • Date: Mar. 5, 2025
  • Ticket: LPD-47819
  • What changed: The new getFrontendTokenDefinition(Layout) method is added. Added the method FrontendTokenDefinition getFrontendTokenDefinition(Layout layout) to the FrontendTokenDefinitionRegistry class.
  • Reason: This method is needed to retrieve the frontend token definition that should apply to a page, because the definition is scoped to a page.

LiferayOSGiDefaultsPlugin.java modules/sdk/gradle-plugins-defaults/src/main/java/com/liferay/gradle/plugins/defaults/LiferayOSGiDefaultsPlugin.java

  • Date: Mar. 5, 2025
  • Ticket: LPD-48031
  • What changed: This change removes the public COMPILE_INCLUDE_PLATFORM_CONFIGURATION_NAME field and the related configuration logic.
  • Reason: This configuration made it difficult to predict and track which dependencies are included at runtime. This change ensures that only compatible dependencies are included now that Liferay uses Jakarta libraries. This means requiring explicit compileInclude statements, rather than implicit transitive dependencies that this configuration would allow.

ObjectEntryService.java modules/apps/object/object-api/src/main/java/com/liferay/object/service/ObjectEntryService.java

  • Date: Mar. 6, 2025
  • Ticket: LPD-50346
  • What changed: The addObjectEntry and addOrUpdateObjectEntry methods have a new parameter for objectEntryFolderId.
  • Reason: This change adds support for creating or updating an object entry in a specified folder.

ObjectEntryLocalService.java modules/apps/object/object-api/src/main/java/com/liferay/object/service/ObjectEntryLocalService.java

  • Date: Mar. 6, 2025
  • Ticket: LPD-50346
  • What changed: The addObjectEntry and addOrUpdateObjectEntry methods have a new parameter for objectEntryFolderId.
  • Reason: This change adds support for creating or updating an object entry in a specified folder.

PageExperience.java modules/apps/headless/headless-admin-site/headless-admin-site-api/src/main/java/com/liferay/headless/admin/site/dto/v1_0/PageExperience.java

  • Date: Mar. 6, 2025
  • Ticket: LPD-48498
  • What changed: The sitePageExternalReferenceCode API parameter is renamed to pageSpecificationExternalReferenceCode.
  • Reason: This change enforces consistency with other entity types.

WarehouseItemResourceImpl.java modules/apps/commerce/headless/headless-commerce/headless-commerce-admin-inventory-impl/src/main/java/com/liferay/headless/commerce/admin/inventory/internal/resource/v1_0/WarehouseItemResourceImpl.java

  • Date: Mar. 6, 2025
  • Ticket: LPD-50226
  • What changed: The deleteWarehouseItem and deleteWarehouseItemByExternalReferenceCode method return types are changed from Response to void.
  • Reason: This change enforces consistency in the code for similar methods.

MenuAccessConfigurationManager.java modules/apps/site/site-api/src/main/java/com/liferay/site/configuration/manager/MenuAccessConfigurationManager.java

  • Date: Mar. 6, 2025
  • Ticket: LPD-49787
  • What changed: The addAccessRoleToControlMenu method is removed.
  • Reason: This method is removed to prevent adding a role to all existing sites that have the menu access configuration enabled.

CommerceChannelRelLocalServiceImpl.java modules/apps/commerce/commerce-product-service/src/main/java/com/liferay/commerce/product/service/impl/CommerceChannelRelLocalServiceImpl.java

  • Date: Mar. 7, 2025
  • Ticket: LPD-48683
  • What changed: Various methods have been renamed.
  • Reason: This change is made to enforce naming consistency in the code.

GroupResource.java modules/dxp/apps/scim/scim-rest-api/src/main/java/com/liferay/scim/rest/resource/v1_0/GroupResource.java

  • Date: Mar. 7, 2025
  • Ticket: LPD-48900
  • What changed: The getV2Groups and getV2GroupById methods have a new String parameter for excludedAttributes.
  • Reason: This change is required to add support for excluding attributes.

CommerceContextFactory.java modules/apps/commerce/commerce-api/src/main/java/com/liferay/commerce/context/CommerceContextFactory.java

  • Date: Mar. 8, 2025
  • Ticket: LPD-47566
  • What changed: CommerceContextFactory’s methods now allow for setting the CommerceCurrency.
  • Reason: This change is required to allow for multi-currency functionality.

AssetCategoryTreeNodeItemSelectorCriterion.java modules/apps/asset/asset-categories-item-selector-api/src/main/java/com/liferay/asset/categories/item/selector/criterion/AssetCategoryTreeNodeItemSelectorCriterion.java

  • Date: Mar. 11, 2025
  • Ticket: LPD-50859
  • What changed: The AssetCategoryTreeNodeItemSelectorCriterion class is moved to the com.liferay.asset.categories.item.selector package.
  • Reason: The com.liferay.asset.categories.item.selector.criterion package has been refactored to com.liferay.asset.categories.item.selector.

WikiAttachmentItemSelectorCriterion.java modules/apps/wiki/wiki-api/src/main/java/com/liferay/wiki/item/selector/criterion/WikiAttachmentItemSelectorCriterion.java

  • Date: Mar. 11, 2025
  • Ticket: LPD-50859
  • What changed: The WikiAttachmentItemSelectorCriterion class is moved to the com.liferay.wiki.item.selector package.
  • Reason: The com.liferay.wiki.item.selector.criterion package has been refactored to com.liferay.wiki.item.selector.

WikiPageItemSelectorCriterion.java modules/apps/wiki/wiki-api/src/main/java/com/liferay/wiki/item/selector/criterion/WikiPageItemSelectorCriterion.java

  • Date: Mar. 11, 2025
  • Ticket: LPD-50859
  • What changed: The WikiPageItemSelectorCriterion class is moved to the com.liferay.wiki.item.selector package.
  • Reason: The com.liferay.wiki.item.selector.criterion package has been refactored to com.liferay.wiki.item.selector.

LiferaySpringBootDefaultsPlugin.java modules/sdk/gradle-plugins-defaults/src/main/java/com/liferay/gradle/plugins/defaults/LiferaySpringBootDefaultsPlugin.java

  • Date: Mar. 11, 2025
  • Ticket: LPD-50812
  • What changed: The LiferaySpringBootDefaultsPlugin class is removed. The com.liferay.spring.boot.defaults plugin can no longer be used in build.gradle files.
  • Reason: LiferaySpringBootDefaultsPlugin was only used in one module (webhook-logger) but necessitated the Spring Boot Gradle plugin dependency. Instead of upgrading this dependency, this change removes the plugin that needs it, since the only usage is also no longer needed.

CartItemResourceImpl.java modules/apps/commerce/headless/headless-commerce/headless-commerce-delivery-cart-impl/src/main/java/com/liferay/headless/commerce/delivery/cart/internal/resource/v1_0/CartItemResourceImpl.java

  • Date: Mar. 11, 2025
  • Ticket: LPD-40423
  • What changed: The getCartItemsPage method has a new String parameter, to support searching.
  • Reason: This change fixes issues with search and pagination for the order items listing table.

rest-openapi.yaml modules/apps/headless/headless-batch-engine/headless-batch-engine-impl/rest-openapi.yaml

  • Date: Mar. 12, 2025
  • Ticket: LPD-47626
  • What changed: The postImportTask route has a new batchExternalReferenceCode parameter added.
  • Reason: This change separates the external reference code used to identify the batch import task from the external reference code used for the underlying API call.

BaseDBPartitionTestCase.java modules/apps/portal/portal-db-partition-test-util/src/main/java/com/liferay/portal/db/partition/test/util/BaseDBPartitionTestCase.java

  • Date: Mar. 12, 2025
  • Ticket: LPD-46942
  • What changed: The exists(String partitionName) method is removed. Instead, use the new existsPartition(Connection connection, String partitionName) method from DBPartitionDB.
  • Reason: The logic for this method’s implementation was refactored into the DBPartitionDB class, which can be used for both tests and portal logic.

StyleBookEntryLocalService.java modules/apps/style-book/style-book-api/src/main/java/com/liferay/style/book/service/StyleBookEntryLocalService.java

  • Date: Mar. 12, 2025
  • Ticket: LPD-32807
  • What changed: The fetchDefaultStyleBookEntry(long, String) method has a new parameter for themeId.
  • Reason: This change allows each theme to have a default style book entry.

FragmentEntryItemSelectorCriterion.java modules/apps/fragment/fragment-item-selector-api/src/main/java/com/liferay/fragment/item/selector/criterion/FragmentEntryItemSelectorCriterion.java

  • Date: Mar. 13, 2025
  • Ticket: LPD-50859
  • What changed: The FragmentEntryItemSelectorCriterion class is moved to the com.liferay.fragment.item.selector package.
  • Reason: The com.liferay.fragment.item.selector.criterion package has been refactored to com.liferay.fragment.item.selector.

FragmentCollectionItemSelectorCriterion.java modules/apps/fragment/fragment-collection-item-selector-api/src/main/java/com/liferay/fragment/collection/item/selector/criterion/FragmentCollectionItemSelectorCriterion.java

  • Date: Mar. 13, 2025
  • Ticket: LPD-50859
  • What changed: The FragmentCollectionItemSelectorCriterion class is moved to the com.liferay.fragment.collection.item.selector package.
  • Reason: The com.liferay.fragment.collection.item.selector.criterion package has been refactored to com.liferay.fragment.collection.item.selector.

AssetLibrary.java modules/apps/headless/headless-asset-library/headless-asset-library-api/src/main/java/com/liferay/headless/asset/library/dto/v1_0/AssetLibrary.java

  • Date: Mar. 14, 2025
  • Ticket: LPD-49536
  • What changed: Various methods are removed from AssetLibrary.
  • Reason: This change reflects a broader refactoring of asset library APIs.

CommerceOrderThreadLocal.java modules/apps/commerce/commerce-api/src/main/java/com/liferay/commerce/order/CommerceOrderThreadLocal.java

  • Date: Mar. 15, 2025
  • Ticket: LPD-50061
  • What changed: The isSkipValidateAccountOrdersLimit method is renamed to isSkipValidateAccountLimit, and the setSkipValidateAccountOrdersLimit method is renamed to setSkipValidateAccountLimit.
  • Reason: This change is made to enforce naming conventions in Liferay.

AssetVocabularyItemSelectorCriterion.java modules/apps/asset/asset-vocabulary-item-selector-api/src/main/java/com/liferay/asset/vocabulary/item/selector/criterion/AssetVocabularyItemSelectorCriterion.java

  • Date: Mar. 17, 2025
  • Ticket: LPD-50859
  • What changed: The AssetVocabularyItemSelectorCriterion class is moved to the com.liferay.asset.vocabulary.item.selector package.
  • Reason: The com.liferay.asset.vocabulary.item.selector.criterion package has been refactored to com.liferay.asset.vocabulary.item.selector.

AssetTagsItemSelectorCriterion.java modules/apps/asset/asset-tags-item-selector-api/src/main/java/com/liferay/asset/tags/item/selector/criterion/AssetTagsItemSelectorCriterion.java

  • Date: Mar. 17, 2025
  • Ticket: LPD-50859
  • What changed: The AssetTagsItemSelectorCriterion class is moved to the com.liferay.asset.tags.item.selector package.
  • Reason: The com.liferay.asset.tags.item.selector.criterion package has been refactored to com.liferay.asset.tags.item.selector.

AssetDisplayPageSelectorCriterion.java modules/apps/asset/asset-display-page-item-selector-api/src/main/java/com/liferay/asset/display/page/item/selector/criterion/AssetDisplayPageSelectorCriterion.java

  • Date: Mar. 17, 2025
  • Ticket: LPD-50859
  • What changed: The AssetDisplayPageSelectorCriterion class is moved to the com.liferay.asset.display.page.item.selector package.
  • Reason: The com.liferay.asset.display.page.item.selector.criterion package has been refactored to com.liferay.asset.display.page.item.selector.

CETItemSelectorCriterion.java modules/apps/client-extension/client-extension-type-item-selector-api/src/main/java/com/liferay/client/extension/type/item/selector/criterion/CETItemSelectorCriterion.java

  • Date: Mar. 17, 2025
  • Ticket: LPD-50859
  • What changed: The CETItemSelectorCriterion class is moved to the com.liferay.client.extension.type.item.selector package.
  • Reason: The com.liferay.client.extension.type.item.selector.criterion package has been refactored to com.liferay.client.extension.type.item.selector.

BlogsItemSelectorCriterion.java modules/apps/blogs/blogs-item-selector-api/src/main/java/com/liferay/blogs/item/selector/criterion/BlogsItemSelectorCriterion.java

  • Date: Mar. 17, 2025
  • Ticket: LPD-50859
  • What changed: The BlogsItemSelectorCriterion class is moved to the com.liferay.blogs.item.selector package.
  • Reason: The com.liferay.blogs.item.selector.criterion package has been refactored to com.liferay.blogs.item.selector.

BaseUpgradePortletPreferences.java modules/apps/portlet-display-template/portlet-display-template-api/src/main/java/com/liferay/portlet/display/template/upgrade/BaseUpgradePortletPreferences.java

  • Date: Mar. 17, 2025
  • Ticket: LPD-51051
  • What changed: The getScopeExternalReferenceCode methods have new parameters for ownerId and ownerType.
  • Reason: Master pages create their preferences using plid 0, so we must use the owner ID of the portlet preferences as the layout plid when portlet preferences plid is 0.

SegmentsEntryItemSelectorCriterion.java modules/apps/segments/segments-item-selector-api/src/main/java/com/liferay/segments/item/selector/criterion/SegmentsEntryItemSelectorCriterion.java

  • Date: Mar. 17, 2025
  • Ticket: LPD-50859
  • What changed: The SegmentsEntryItemSelectorCriterion class is moved to the com.liferay.segments.item.selector package.
  • Reason: The com.liferay.segments.item.selector.criterion package has been refactored to com.liferay.segments.item.selector.

SegmentsExperienceItemSelectorCriterion.java modules/apps/segments/segments-item-selector-api/src/main/java/com/liferay/segments/item/selector/criterion/SegmentsExperienceItemSelectorCriterion.java

  • Date: Mar. 17, 2025
  • Ticket: LPD-50859
  • What changed: The SegmentsExperienceItemSelectorCriterion class is moved to the com.liferay.segments.item.selector package.
  • Reason: The com.liferay.segments.item.selector.criterion package has been refactored to com.liferay.segments.item.selector.

InfoListProviderItemSelectorCriterion.java modules/apps/info/info-list-provider-item-selector-api/src/main/java/com/liferay/info/list/provider/item/selector/criterion/InfoListProviderItemSelectorCriterion.java

  • Date: Mar. 17, 2025
  • Ticket: LPD-50859
  • What changed: The InfoListProviderItemSelectorCriterion class is moved to the com.liferay.info.list.provider.item.selector package.
  • Reason: The com.liferay.info.list.provider.item.selector.criterion package has been refactored to com.liferay.info.list.provider.item.selector.

InfoFieldItemSelectorCriterion.java modules/apps/info/info-field-item-selector-api/src/main/java/com/liferay/info/field/item/selector/criterion/InfoFieldItemSelectorCriterion.java

  • Date: Mar. 17, 2025
  • Ticket: LPD-50859
  • What changed: The InfoFieldItemSelectorCriterion class is moved to the com.liferay.info.field.item.selector package.
  • Reason: The com.liferay.info.field.item.selector.criterion package has been refactored to com.liferay.info.field.item.selector.

InfoCollectionProviderItemSelectorCriterion.java modules/apps/info/info-collection-provider-item-selector-api/src/main/java/com/liferay/info/collection/provider/item/selector/criterion/InfoCollectionProviderItemSelectorCriterion.java

  • Date: Mar. 17, 2025
  • Ticket: LPD-50859
  • What changed: The InfoCollectionProviderItemSelectorCriterion class is moved to the com.liferay.info.collection.provider.item.selector package.
  • Reason: The com.liferay.info.collection.provider.item.selector.criterion package has been refactored to com.liferay.info.collection.provider.item.selector.

RelatedInfoItemCollectionProviderItemSelectorCriterion.java modules/apps/info/info-collection-provider-item-selector-api/src/main/java/com/liferay/info/collection/provider/item/selector/criterion/RelatedInfoItemCollectionProviderItemSelectorCriterion.java

  • Date: Mar. 17, 2025
  • Ticket: LPD-50859
  • What changed: The RelatedInfoItemCollectionProviderItemSelectorCriterion class is moved to the com.liferay.info.collection.provider.item.selector package.
  • Reason: The com.liferay.info.collection.provider.item.selector.criterion package has been refactored to com.liferay.info.collection.provider.item.selector.

RepeatableFieldInfoCollectionProviderItemSelectorCriterion.java modules/apps/info/info-collection-provider-item-selector-api/src/main/java/com/liferay/info/collection/provider/item/selector/criterion/RepeatableFieldInfoCollectionProviderItemSelectorCriterion.java

  • Date: Mar. 17, 2025
  • Ticket: LPD-50859
  • What changed: The RepeatableFieldInfoCollectionProviderItemSelectorCriterion class is moved to the com.liferay.info.collection.provider.item.selector package.
  • Reason: The com.liferay.info.collection.provider.item.selector.criterion package has been refactored to com.liferay.info.collection.provider.item.selector.

HashifyAction.java modules/sdk/gradle-plugins-workspace/src/main/java/com/liferay/gradle/plugins/workspace/internal/util/copy/HashifyAction.java

  • Date: Mar. 17, 2025
  • Ticket: LPD-51475
  • What changed: The hashify methods now accept a glob instead of regular expressions for file name matching. In any applicable client-extension.yaml files, change any regular expression patterns for hashify in the assemble block to use a glob pattern instead.
  • Reason: Globs are already allowed for file path matching for URLs, so this change makes the API more consistent.

SiteNavigationMenuItemItemSelectorCriterion.java modules/apps/site-navigation/site-navigation-item-selector-api/src/main/java/com/liferay/site/navigation/item/selector/criterion/SiteNavigationMenuItemItemSelectorCriterion.java

  • Date: Mar. 17, 2025
  • Ticket: LPD-50859
  • What changed: The SiteNavigationMenuItemItemSelectorCriterion class is moved to the com.liferay.site.navigation.item.selector package.
  • Reason: The com.liferay.site.navigation.item.selector.criterion package has been refactored to com.liferay.site.navigation.item.selector.

SiteNavigationMenuItemSelectorCriterion.java modules/apps/site-navigation/site-navigation-item-selector-api/src/main/java/com/liferay/site/navigation/item/selector/criterion/SiteNavigationMenuItemSelectorCriterion.java

  • Date: Mar. 17, 2025
  • Ticket: LPD-50859
  • What changed: The SiteNavigationMenuItemSelectorCriterion class is moved to the com.liferay.site.navigation.item.selector package.
  • Reason: The com.liferay.site.navigation.item.selector.criterion package has been refactored to com.liferay.site.navigation.item.selector.

SharingEntryServiceImpl.java modules/apps/sharing/sharing-service/src/main/java/com/liferay/sharing/service/impl/SharingEntryServiceImpl.java

  • Date: Mar. 17, 2025
  • Ticket: LPD-50944
  • What changed: The addOrUpdateSharingEntry and addSharingEntry methods have a new String parameter for an external reference code.
  • Reason: This change adds support for external reference codes with SharingEntry entities.

SharingEntryLocalServiceImpl.java modules/apps/sharing/sharing-service/src/main/java/com/liferay/sharing/service/impl/SharingEntryLocalServiceImpl.java

  • Date: Mar. 17, 2025
  • Ticket: LPD-50944
  • What changed: The addOrUpdateSharingEntry and addSharingEntry methods have a new String parameter for an external reference code.
  • Reason: This change adds support for external reference codes with SharingEntry entities.

bnd.bnd modules/sdk/gradle-plugins-jasper-jspc/bnd.bnd

  • Date: Mar. 18, 2025
  • Ticket: LPD-50995
  • What changed: The gradle-plugins-jasper-jspc package version is increased to 3.0.0 without any other breaking changes.
  • Reason: This change is made to prepare for forking plugin versions between branches.

CPSpecificationOptionImpl.java modules/apps/commerce/commerce-product-service/src/main/java/com/liferay/commerce/product/model/impl/CPSpecificationOptionImpl.java

  • Date: Mar. 19, 2025
  • Ticket: LPD-46276
  • What changed: The getListTypeEntries method is removed.
  • Reason: This method is no longer used.

AccountEntryServiceImpl.java modules/apps/account/account-service/src/main/java/com/liferay/account/service/impl/AccountEntryServiceImpl.java

  • Date: Mar. 19, 2025
  • Ticket: LPD-51653
  • What changed: The fetchAccountEntryByExternalReferenceCode method’s parameters are reordered.
  • Reason: This change enforces consistency in method parameters.

JournalItemSelectorCriterion.java modules/apps/journal/journal-item-selector-api/src/main/java/com/liferay/journal/item/selector/criterion/JournalItemSelectorCriterion.java

  • Date: Mar. 20, 2025
  • Ticket: LPD-50859
  • What changed: The JournalItemSelectorCriterion class is moved to the com.liferay.journal.item.selector package.
  • Reason: The com.liferay.journal.item.selector.criterion package has been refactored to com.liferay.journal.item.selector.

KBAttachmentItemSelectorCriterion.java modules/apps/knowledge-base/knowledge-base-item-selector-api/src/main/java/com/liferay/knowledge/base/item/selector/criterion/KBAttachmentItemSelectorCriterion.java

  • Date: Mar. 20, 2025
  • Ticket: LPD-50859
  • What changed: The KBAttachmentItemSelectorCriterion class is moved to the com.liferay.knowledge.base.item.selector package.
  • Reason: The com.liferay.knowledge.base.item.selector.criterion package has been refactored to com.liferay.knowledge.base.item.selector.

rest-openapi.yaml modules/apps/headless/headless-delivery/headless-delivery-impl/rest-openapi.yaml

  • Date: Mar. 20, 2025
  • Ticket: LPD-48867
  • What changed: The ObjectEntryFolder entity and its endpoints are removed.
  • Reason: The ObjectEntryFolder entity is moved into a new module.

SiteTeamsItemSelectorCriterion.java modules/apps/site/site-teams-item-selector-api/src/main/java/com/liferay/site/teams/item/selector/criterion/SiteTeamsItemSelectorCriterion.java

  • Date: Mar. 21, 2025
  • Ticket: LPD-50859
  • What changed: The SiteTeamsItemSelectorCriterion class is moved to the com.liferay.site.teams.item.selector package.
  • Reason: The com.liferay.site.teams.item.selector.criterion package has been refactored to com.liferay.site.teams.item.selector.

SiteItemSelectorCriterion.java modules/apps/site/site-item-selector-api/src/main/java/com/liferay/site/item/selector/criterion/SiteItemSelectorCriterion.java

  • Date: Mar. 21, 2025
  • Ticket: LPD-50859
  • What changed: The SiteItemSelectorCriterion class is moved to the com.liferay.site.item.selector package.
  • Reason: The com.liferay.site.item.selector.criterion package has been refactored to com.liferay.site.item.selector.

PortalCacheConfiguration.java modules/apps/portal-cache/portal-cache-api/src/main/java/com/liferay/portal/cache/configuration/PortalCacheConfiguration.java

  • Date: Mar. 21, 2025
  • Ticket: LPD-43563
  • What changed: The getPortalCacheListenerPropertiesSet is removed, and replaced with getPortalCacheReplicatorPropertiesSet.
  • Reason: This method is no longer supported, in preparation for upgrading to Ehcache 3. Ehcache 3 no longer supports declaring cache event listener factories (such as portal cache listener factories) in XML configurations. The method name now reflects this change and shows that the property set only serves PortalCacheReplicator configurations.

PortalCacheListenerFactory.java modules/apps/portal-cache/portal-cache-api/src/main/java/com/liferay/portal/cache/PortalCacheListenerFactory.java

  • Date: Mar. 21, 2025
  • Ticket: LPD-43563
  • What changed: The PortalCacheListenerFactory class is removed. Instead, register a custom PortalCacheListener implementation using PortalCache’s registerPortalCacheListener methods.
  • Reason: Declaring a portal cache listener factory in the Ehcache XML configuration file for Liferay to process it is no longer supported, in preparation for upgrading to Ehcache 3. Ehcache 3 no longer supports declaring cache event listener factories (such as portal cache listener factories) in XML configurations.

PortalCacheManagerConfiguration.java modules/apps/portal-cache/portal-cache-api/src/main/java/com/liferay/portal/cache/configuration/PortalCacheManagerConfiguration.java

  • Date: Mar. 21, 2025
  • Ticket: LPD-43563
  • What changed: The PortalCacheManagerListenerPropertiesSet parameter is removed from the PortalCacheManagerConfiguration constructor. Additionally, the getPortalCacheManagerListenerPropertiesSet method is removed. Instead, register a custom PortalCacheListener implementation using PortalCache’s registerPortalCacheListener methods.
  • Reason: Declaring a portal cache listener factory in the Ehcache XML configuration file for Liferay to process it is no longer supported, in preparation for upgrading to Ehcache 3. Ehcache 3 no longer supports declaring cache event listener factories (such as portal cache listener factories) in XML configurations.

PortalCacheManagerListenerFactory.java modules/apps/portal-cache/portal-cache-api/src/main/java/com/liferay/portal/cache/PortalCacheManagerListenerFactory.java

  • Date: Mar. 21, 2025
  • Ticket: LPD-43563
  • What changed: The PortalCacheManagerListenerFactory class is removed. Instead, register a custom PortalCacheListener implementation using PortalCache’s registerPortalCacheListener methods.
  • Reason: Declaring a portal cache listener factory in the Ehcache XML configuration file for Liferay to process it is no longer supported, in preparation for upgrading to Ehcache 3. Ehcache 3 no longer supports declaring cache event listener factories (such as portal cache listener factories) in XML configurations.

FragmentsImporter.java modules/apps/fragment/fragment-api/src/main/java/com/liferay/fragment/importer/FragmentsImporter.java

  • Date: Mar. 21, 2025
  • Ticket: LPD-50980
  • What changed: The importFragmentEntries method now has a new boolean parameter, marketplace.
  • Reason: This change allows for indicating whether a fragment is imported from Marketplace.

FragmentEntryService.java modules/apps/fragment/fragment-api/src/main/java/com/liferay/fragment/service/FragmentEntryService.java

  • Date: Mar. 21, 2025
  • Ticket: LPD-50980
  • What changed: The addFragmentEntry method now has a new boolean parameter, marketplace.
  • Reason: This change allows for indicating whether a fragment is imported from Marketplace.

FragmentCollectionService.java modules/apps/fragment/fragment-api/src/main/java/com/liferay/fragment/service/FragmentCollectionService.java

  • Date: Mar. 21, 2025
  • Ticket: LPD-50980
  • What changed: The addFragmentCollection method now has a new boolean parameter, marketplace.
  • Reason: This change allows for indicating whether a fragment is imported from Marketplace.

AccountGroupLocalServiceImpl.java modules/apps/account/account-service/src/main/java/com/liferay/account/service/impl/AccountGroupLocalServiceImpl.java

  • Date: Mar. 21, 2025
  • Ticket: LPD-50974
  • What changed: The addAccountGroup and updateAccountGroup methods have a new String parameter for an external reference code.
  • Reason: This change adds support for managing external reference codes with a single method call.

AccountGroupServiceImpl.java modules/apps/account/account-service/src/main/java/com/liferay/account/service/impl/AccountGroupServiceImpl.java

  • Date: Mar. 21, 2025
  • Ticket: LPD-50974
  • What changed: The addAccountGroup and updateAccountGroup methods have a new String parameter for an external reference code.
  • Reason: This change adds support for managing external reference codes with a single method call.

SamlProviderConfiguration.java modules/dxp/apps/saml/saml-api/src/main/java/com/liferay/saml/runtime/configuration/SamlProviderConfiguration.java

  • Date: Mar. 24, 2025
  • Ticket: LPD-43790
  • What changed: The annotation properties for the role method are changed from {"saml-role-idp", "saml-role-sp"} to {"identity-provider", "service-provider"}.
  • Reason: This change avoids reusing the same description used for other language keys.

CTCollectionLocalService.java modules/apps/change-tracking/change-tracking-api/src/main/java/com/liferay/change/tracking/service/CTCollectionLocalService.java

  • Date: Mar. 24, 2025
  • Ticket: LPD-48185
  • What changed: Various new methods with List<CTEntry> or CTEntry[] parameters are added.
  • Reason: This change allows for getRelatedCTEntriesMap method calls to search for multiple CT entries. This allows for properly searching the complete tree when moving or discarding multiple changes at once.

CPDefinitionSpecificationOptionValueService.java modules/apps/commerce/commerce-product-api/src/main/java/com/liferay/commerce/product/service/CPDefinitionSpecificationOptionValueService.java

  • Date: Mar. 24, 2025
  • Ticket: LPD-48103
  • What changed: Various add and update methods have a new boolean parameter added.
  • Reason: This change reflects the new value used to manage the specification’s visibility in the front store.

CPSpecificationOptionService.java modules/apps/commerce/commerce-product-api/src/main/java/com/liferay/commerce/product/service/CPSpecificationOptionService.java

  • Date: Mar. 24, 2025
  • Ticket: LPD-48103
  • What changed: Various add and update methods have a new boolean parameter added.
  • Reason: This change reflects the new value used to manage the specification’s visibility in the front store.

CPContentHelper.java modules/apps/commerce/commerce-product-content-api/src/main/java/com/liferay/commerce/product/content/helper/CPContentHelper.java

  • Date: Mar. 24, 2025
  • Ticket: LPD-48103
  • What changed: The hasCPDefinitionSpecificationOptionValues(long) method is removed. Instead, directly call getCPDefinitionSpecificationOptionValues(long).
  • Reason: This method implementation was redundant.

CommerceAddressLocalServiceImpl.java modules/apps/commerce/commerce-service/src/main/java/com/liferay/commerce/service/impl/CommerceAddressLocalServiceImpl.java

  • Date: Mar. 25, 2025
  • Ticket: LPD-51450
  • What changed: The addCommerceAddress and updateCommerceAddress have a new String parameter for subtype, and the other parameters are reordered. Additionally, obsolete overloaded addCommerceAddress and updateCommerceAddress methods are removed.
  • Reason: This change adds support for setting address subtypes.

CommerceAddressServiceImpl.java modules/apps/commerce/commerce-service/src/main/java/com/liferay/commerce/service/impl/CommerceAddressServiceImpl.java

  • Date: Mar. 25, 2025
  • Ticket: LPD-51450
  • What changed: The addCommerceAddress and updateCommerceAddress have a new String parameter for subtype, and the other parameters are reordered. Additionally, obsolete overloaded addCommerceAddress and updateCommerceAddress methods are removed.
  • Reason: This change adds support for setting address subtypes.

DDMUserPersonalFolderItemSelectorCriterion modules/apps/dynamic-data-mapping/dynamic-data-mapping-form-item-selector-api/src/main/java/com/liferay/dynamic/data/mapping/form/item/selector/criterion/DDMUserPersonalFolderItemSelectorCriterion.java

  • Date: Mar. 25, 2025
  • Ticket: LPD-50859
  • What changed: The DDMUserPersonalFolderItemSelectorCriterion class is moved to the com.liferay.dynamic.data.mapping.item.selector package.
  • Reason: The com.liferay.dynamic.data.mapping.item.selector.criterion package has been refactored to com.liferay.dynamic.data.mapping.item.selector. SF rule, see LPD-50859

DDMUserPersonalFolderItemSelectorCriterion.java modules/apps/dynamic-data-mapping/dynamic-data-mapping-form-item-selector-api/src/main/java/com/liferay/dynamic/data/mapping/form/item/selector/criterion/DDMUserPersonalFolderItemSelectorCriterion.java

  • Date: Mar. 25, 2025
  • Ticket: LPD-50859
  • What changed: The DDMUserPersonalFolderItemSelectorCriterion class is moved to the com.liferay.dynamic.data.mapping.form.item.selector package.
  • Reason: The com.liferay.dynamic.data.mapping.form.item.selector.criterion package has been refactored to com.liferay.dynamic.data.mapping.form.item.selector.

OrganizationRoleItemSelectorCriterion.java modules/apps/roles/roles-item-selector-api/src/main/java/com/liferay/roles/item/selector/organization/role/OrganizationRoleItemSelectorCriterion.java

  • Date: Mar. 26, 2025
  • Ticket: LPD-50859
  • What changed: The OrganizationRoleItemSelectorCriterion class is moved to the com.liferay.roles.item.selector package.
  • Reason: The com.liferay.roles.item.selector.organization.role package has been refactored to com.liferay.roles.item.selector.

RegularRoleItemSelectorCriterion.java modules/apps/roles/roles-item-selector-api/src/main/java/com/liferay/roles/item/selector/regular/role/RegularRoleItemSelectorCriterion.java

  • Date: Mar. 26, 2025
  • Ticket: LPD-50859
  • What changed: The RegularRoleItemSelectorCriterion class is moved to the com.liferay.roles.item.selector package.
  • Reason: The com.liferay.roles.item.selector.regular.role package has been refactored to com.liferay.roles.item.selector.

SiteRoleItemSelectorCriterion.java modules/apps/roles/roles-item-selector-api/src/main/java/com/liferay/roles/item/selector/site/role/SiteRoleItemSelectorCriterion.java

  • Date: Mar. 26, 2025
  • Ticket: LPD-50859
  • What changed: The SiteRoleItemSelectorCriterion class is moved to the com.liferay.roles.item.selector package.
  • Reason: The com.liferay.roles.item.selector.site.role package has been refactored to com.liferay.roles.item.selector.

CommerceAccountGroupAccountItemSelectorCriterion.java modules/apps/commerce/commerce-account-item-selector-api/src/main/java/com/liferay/commerce/account/item/selector/criterion/CommerceAccountGroupAccountItemSelectorCriterion.java

  • Date: Mar. 31, 2025
  • Ticket: LPD-50859
  • What changed: The CommerceAccountGroupAccountItemSelectorCriterion class is moved to the com.liferay.commerce.account.item.selector package.
  • Reason: The com.liferay.commerce.account.item.selector.criterion package has been refactored to com.liferay.commerce.account.item.selector.

CommerceAccountGroupItemSelectorCriterion.java modules/apps/commerce/commerce-account-item-selector-api/src/main/java/com/liferay/commerce/account/item/selector/criterion/CommerceAccountGroupItemSelectorCriterion.java

  • Date: Mar. 31, 2025
  • Ticket: LPD-50859
  • What changed: The CommerceAccountGroupItemSelectorCriterion class is moved to the com.liferay.commerce.account.item.selector package.
  • Reason: The com.liferay.commerce.account.item.selector.criterion package has been refactored to com.liferay.commerce.account.item.selector.

CommerceAccountItemSelectorCriterion.java modules/apps/commerce/commerce-account-item-selector-api/src/main/java/com/liferay/commerce/account/item/selector/criterion/CommerceAccountItemSelectorCriterion.java

  • Date: Mar. 31, 2025
  • Ticket: LPD-50859
  • What changed: The CommerceAccountItemSelectorCriterion class is moved to the com.liferay.commerce.account.item.selector package.
  • Reason: The com.liferay.commerce.account.item.selector.criterion package has been refactored to com.liferay.commerce.account.item.selector.

CommercePriceListLocalService.java modules/apps/ccommerce/commerce-price-list-service/src/main/java/com/liferay/commerce/price/list/service/impl/CommercePriceListLocalService.java

  • Date: Apr. 1, 2025
  • Ticket: LPD-47843
  • What changed: Various method arguments are reordered.
  • Reason: This change is made to enforce consistency with service.xml.

CPConfigurationListLocalService.java modules/apps/ccommerce/commerce-product-service/src/main/java/com/liferay/commerce/product/service/impl/CPConfigurationListLocalService.java

  • Date: Apr. 1, 2025
  • Ticket: LPD-47843
  • What changed: Various method arguments are reordered.
  • Reason: This change is made to enforce consistency with service.xml.

CPDefinitionLocalService.java modules/apps/ccommerce/commerce-product-service/src/main/java/com/liferay/commerce/product/service/impl/CPDefinitionLocalService.java

  • Date: Apr. 1, 2025
  • Ticket: LPD-47843
  • What changed: Various method arguments are reordered.
  • Reason: This change is made to enforce consistency with service.xml.

CProductLocalService.java modules/apps/ccommerce/commerce-product-service/src/main/java/com/liferay/commerce/product/service/impl/CProductLocalService.java

  • Date: Apr. 1, 2025
  • Ticket: LPD-47843
  • What changed: Various method arguments are reordered.
  • Reason: This change is made to enforce consistency with service.xml.

CommerceTaxCategoryMappingLocalService.java modules/apps/ccommerce/commerce-tax-service/CommerceTaxCategoryMappingLocalService.java

  • Date: Apr. 1, 2025
  • Ticket: LPD-47843
  • What changed: Various method arguments are reordered.
  • Reason: This change is made to enforce consistency with service.xml.

CommerceTaxCategoryMappingService.java modules/apps/ccommerce/commerce-tax-service/CommerceTaxCategoryMappingService.java

  • Date: Apr. 1, 2025
  • Ticket: LPD-47843
  • What changed: Various method arguments are reordered.
  • Reason: This change is made to enforce consistency with service.xml.

BaseCTCollectionResourceImpl.java modules/apps/change-tracking/change-tracking-rest-impl/src/main/java/com/liferay/change/tracking/rest/internal/resource/v1_0/BaseCTCollectionResourceImpl.java

  • Date: Apr. 1, 2025
  • Ticket: LPD-45735
  • What changed: Various batch endpoint method signatures have the entity ID path parameter removed.
  • Reason: Batch endpoints were incorrectly generating paths with entity IDs. These IDs should be transmitted within the request body, not as URL path parameters. The issue originated from inconsistent handling of camel case parameter names that contain consecutive capital letters.

BaseCTProcessResourceImpl.java modules/apps/change-tracking/change-tracking-rest-impl/src/main/java/com/liferay/change/tracking/rest/internal/resource/v1_0/BaseCTProcessResourceImpl.java

  • Date: Apr. 1, 2025
  • Ticket: LPD-45735
  • What changed: Various batch endpoint method signatures have the entity ID path parameter removed.
  • Reason: Batch endpoints were incorrectly generating paths with entity IDs. These IDs should be transmitted within the request body, not as URL path parameters. The issue originated from inconsistent handling of camel case parameter names that contain consecutive capital letters.

BaseCTRemoteResourceImpl.java modules/apps/change-tracking/change-tracking-rest-impl/src/main/java/com/liferay/change/tracking/rest/internal/resource/v1_0/BaseCTRemoteResourceImpl.java

  • Date: Apr. 1, 2025
  • Ticket: LPD-45735
  • What changed: Various batch endpoint method signatures have the entity ID path parameter removed.
  • Reason: Batch endpoints were incorrectly generating paths with entity IDs. These IDs should be transmitted within the request body, not as URL path parameters. The issue originated from inconsistent handling of camel case parameter names that contain consecutive capital letters.

Mutation.java modules/apps/change-tracking/change-tracking-rest-impl/src/main/java/com/liferay/change/tracking/rest/internal/graphql/mutation/v1_0/Mutation.java

  • Date: Apr. 1, 2025
  • Ticket: LPD-45735
  • What changed: Various batch endpoint method signatures have the entity ID path parameter removed.
  • Reason: Batch endpoints were incorrectly generating paths with entity IDs. These IDs should be transmitted within the request body, not as URL path parameters. The issue originated from inconsistent handling of camel case parameter names that contain consecutive capital letters.

BaseDSEnvelopeResourceImpl.java modules/apps/digital-signature/digital-signature-rest-impl/src/main/java/com/liferay/digital/signature/rest/internal/resource/v1_0/BaseDSEnvelopeResourceImpl.java

  • Date: Apr. 1, 2025
  • Ticket: LPD-45735
  • What changed: Various batch endpoint method signatures have the entity ID path parameter removed.
  • Reason: Batch endpoints were incorrectly generating paths with entity IDs. These IDs should be transmitted within the request body, not as URL path parameters. The issue originated from inconsistent handling of camel case parameter names that contain consecutive capital letters.

Mutation.java modules/apps/digital-signature/digital-signature-rest-impl/src/main/java/com/liferay/digital/signature/rest/internal/graphql/mutation/v1_0/Mutation.java

  • Date: Apr. 1, 2025
  • Ticket: LPD-45735
  • What changed: Various batch endpoint method signatures have the entity ID path parameter removed.
  • Reason: Batch endpoints were incorrectly generating paths with entity IDs. These IDs should be transmitted within the request body, not as URL path parameters. The issue originated from inconsistent handling of camel case parameter names that contain consecutive capital letters.

BaseSLAResourceImpl.java modules/dxp/apps/portal-workflow/portal-workflow-metrics-rest-impl/src/main/java/com/liferay/portal/workflow/metrics/rest/internal/resource/v1_0/BaseSLAResourceImpl.java

  • Date: Apr. 1, 2025
  • Ticket: LPD-45735
  • What changed: Various batch endpoint method signatures have the entity ID path parameter removed.
  • Reason: Batch endpoints were incorrectly generating paths with entity IDs. These IDs should be transmitted within the request body, not as URL path parameters. The issue originated from inconsistent handling of camel case parameter names that contain consecutive capital letters.

Mutation.java modules/dxp/apps/portal-workflow/portal-workflow-metrics-rest-impl/src/main/java/com/liferay/portal/workflow/metrics/rest/internal/graphql/mutation/v1_0/Mutation.java

  • Date: Apr. 1, 2025
  • Ticket: LPD-45735
  • What changed: Various batch endpoint method signatures have the entity ID path parameter removed.
  • Reason: Batch endpoints were incorrectly generating paths with entity IDs. These IDs should be transmitted within the request body, not as URL path parameters. The issue originated from inconsistent handling of camel case parameter names that contain consecutive capital letters.

BaseSXPBlueprintResourceImpl.java modules/dxp/apps/search-experiences/search-experiences-rest-impl/src/main/java/com/liferay/search/experiences/rest/internal/resource/v1_0/BaseSXPBlueprintResourceImpl.java

  • Date: Apr. 1, 2025
  • Ticket: LPD-45735
  • What changed: Various batch endpoint method signatures have the entity ID path parameter removed.
  • Reason: Batch endpoints were incorrectly generating paths with entity IDs. These IDs should be transmitted within the request body, not as URL path parameters. The issue originated from inconsistent handling of camel case parameter names that contain consecutive capital letters.

BaseSXPElementResourceImpl.java modules/dxp/apps/search-experiences/search-experiences-rest-impl/src/main/java/com/liferay/search/experiences/rest/internal/resource/v1_0/BaseSXPElementResourceImpl.java

  • Date: Apr. 1, 2025
  • Ticket: LPD-45735
  • What changed: Various batch endpoint method signatures have the entity ID path parameter removed.
  • Reason: Batch endpoints were incorrectly generating paths with entity IDs. These IDs should be transmitted within the request body, not as URL path parameters. The issue originated from inconsistent handling of camel case parameter names that contain consecutive capital letters.

Mutation.java modules/dxp/apps/search-experiences/search-experiences-rest-impl/src/main/java/com/liferay/search/experiences/rest/internal/graphql/mutation/v1_0/Mutation.java

  • Date: Apr. 1, 2025
  • Ticket: LPD-45735
  • What changed: Various batch endpoint method signatures have the entity ID path parameter removed.
  • Reason: Batch endpoints were incorrectly generating paths with entity IDs. These IDs should be transmitted within the request body, not as URL path parameters. The issue originated from inconsistent handling of camel case parameter names that contain consecutive capital letters.

SharingEntryServiceImpl.java modules/apps/sharing/sharing-service/src/main/java/com/liferay/sharing/service/impl/SharingEntryServiceImpl.java

  • Date: Apr. 3, 2025
  • Ticket: LPD-51094
  • What changed: The addOrUpdateSharingEntry and addSharingEntry methods have a new long parameter for toUserGroupId.
  • Reason: This adds support for user groups in SharingEntry entities.

SharingEntryLocalServiceImpl.java modules/apps/sharing/sharing-service/src/main/java/com/liferay/sharing/service/impl/SharingEntryLocalServiceImpl.java

  • Date: Apr. 3, 2025
  • Ticket: LPD-51094
  • What changed: The addOrUpdateSharingEntry and addSharingEntry methods have a new long parameter for toUserGroupId.
  • Reason: This adds support for user groups in SharingEntry entities.

CommerceOrderLocalServiceImpl.java modules/apps/commerce/commerce-service/src/main/java/com/liferay/commerce/service/impl/CommerceOrderLocalServiceImpl.java

  • Date: Apr. 3, 2025
  • Ticket: LPD-51451
  • What changed: The updateBillingAddress and updateShippingAddress methods have a new String parameter added for subtype. The other parameters have also been reordered.
  • Reason: This change adds support for setting address subtypes.

CommerceOrderServiceImpl.java modules/apps/commerce/commerce-service/src/main/java/com/liferay/commerce/service/impl/CommerceOrderServiceImpl.java

  • Date: Apr. 3, 2025
  • Ticket: LPD-51451
  • What changed: The updateBillingAddress and updateShippingAddress methods have a new String parameter added for subtype. The other parameters have also been reordered.
  • Reason: This change adds support for setting address subtypes.

LayoutPageTemplateCollectionItemSelectorCriterion modules/apps/layout/layout-page-template-item-selector-api/src/main/java/com/liferay/layout/page/template/item/selector/criterion/LayoutPageTemplateCollectionItemSelectorCriterion.java

  • Date: Apr. 3, 2025
  • Ticket: LPD-50859
  • What changed: The LayoutPageTemplateCollectionItemSelectorCriterion class is moved to the com.liferay.layout.page.template.item.selector package.
  • Reason: The com.liferay.layout.page.template.item.selector.criterion package is refactored to com.liferay.layout.page.template.item.selector.

LayoutPageTemplateCollectionTreeNodeItemSelectorCriterion.java modules/apps/layout/layout-page-template-item-selector-api/src/main/java/com/liferay/layout/page/template/item/selector/criterion/LayoutPageTemplateCollectionTreeNodeItemSelectorCriterion.java

  • Date: Apr. 3, 2025
  • Ticket: LPD-50859
  • What changed: The LayoutPageTemplateCollectionTreeNodeItemSelectorCriterion class is moved to the com.liferay.layout.page.template.item.selector package.
  • Reason: The com.liferay.layout.page.template.item.selector.criterion package is refactored to com.liferay.layout.page.template.item.selector.

LayoutPageTemplateEntryItemSelectorCriterion.java modules/apps/layout/layout-page-template-item-selector-api/src/main/java/com/liferay/layout/page/template/item/selector/criterion/LayoutPageTemplateEntryItemSelectorCriterion.java

  • Date: Apr. 3, 2025
  • Ticket: LPD-50859
  • What changed: The LayoutPageTemplateCollectionTreeNodeItemSelectorCriterion class is moved to the com.liferay.layout.page.template.item.selector package.
  • Reason: The com.liferay.layout.page.template.item.selector.criterion package is refactored to com.liferay.layout.page.template.item.selector.

SharingEntryInterpreter.java modules/apps/sharing/sharing-api/src/main/java/com/liferay/sharing/interpreter/SharingEntryInterpreter.java

  • Date: Apr. 9, 2025
  • Ticket: LPD-49727
  • What changed: The new getTitle(SharingEntry, Locale) method is added, to get a localized title from an asset entry.
  • Reason: This change allows for APIs involving shared entries to show internationalized titles.

CTDisplayRenderer.java modules/apps/change-tracking/change-tracking-spi/src/main/java/com/liferay/change/tracking/spi/display/CTDisplayRenderer.java

  • Date: Apr. 10, 2025
  • Ticket: LPD-52847
  • What changed: The isMovable method is removed.
  • Reason: The method is no longer needed, because CTCollectionLocalService’s getRelatedCTEntriesMap method now filters changes that are dependencies for other changes.

CTDisplayRendererRegistry.java modules/apps/change-tracking/change-tracking-spi/src/main/java/com/liferay/change/tracking/spi/display/CTDisplayRendererRegistry.java

  • Date: Apr. 10, 2025
  • Ticket: LPD-52847
  • What changed: The isMovable method is removed.
  • Reason: The method is no longer needed, because CTCollectionLocalService’s getRelatedCTEntriesMap method now filters changes that are dependencies for other changes.

FriendlyURLSeparatorConfigurationManager.java modules/apps/friendly-url/friendly-url-api/src/main/java/com/liferay/friendly/url/configuration/manager/FriendlyURLSeparatorConfigurationManager.java

  • Date: Apr. 10, 2025
  • Ticket: LPD-46294
  • What changed: The getFriendlyURLSeparatorsJSON method now returns a JSONObject instead of a String.
  • Reason: The JSONObject is necessary for other changes in the code.

Attachment.java modules/apps/commerce/headless/headless-commerce/headless-commerce-admin-catalog-api/src/main/java/com/liferay/headless/commerce/admin/catalog/dto/v1_0/Attachment.java

  • Date: Apr. 11, 2025
  • Ticket: LPD-51599
  • What changed: The Attachment class now uses classes from Vulcan.
  • Reason: The CustomField, CustomValue, and Geo classes have been moved to the Vulcan API module.

AttachmentBase64.java modules/apps/commerce/headless/headless-commerce/headless-commerce-admin-catalog-api/src/main/java/com/liferay/headless/commerce/admin/catalog/dto/v1_0/AttachmentBase64.java

  • Date: Apr. 11, 2025
  • Ticket: LPD-51599
  • What changed: The AttachmentBase64 class now uses classes from Vulcan.
  • Reason: The CustomField, CustomValue, and Geo classes have been moved to the Vulcan API module.

AttachmentUrl.java modules/apps/commerce/headless/headless-commerce/headless-commerce-admin-catalog-api/src/main/java/com/liferay/headless/commerce/admin/catalog/dto/v1_0/AttachmentUrl.java

  • Date: Apr. 11, 2025
  • Ticket: LPD-51599
  • What changed: The AttachmentUrl class now uses classes from Vulcan.
  • Reason: The CustomField, CustomValue, and Geo classes have been moved to the Vulcan API module.

MappedProduct.java modules/apps/commerce/headless/headless-commerce/headless-commerce-admin-catalog-api/src/main/java/com/liferay/headless/commerce/admin/catalog/dto/v1_0/MappedProduct.java

  • Date: Apr. 11, 2025
  • Ticket: LPD-51599
  • What changed: The MappedProduct class now uses classes from Vulcan.
  • Reason: The CustomField, CustomValue, and Geo classes have been moved to the Vulcan API module.

Option.java modules/apps/commerce/headless/headless-commerce/headless-commerce-admin-catalog-api/src/main/java/com/liferay/headless/commerce/admin/catalog/dto/v1_0/Option.java

  • Date: Apr. 11, 2025
  • Ticket: LPD-51599
  • What changed: The Option class now uses classes from Vulcan.
  • Reason: The CustomField, CustomValue, and Geo classes have been moved to the Vulcan API module.

OptionValue.java modules/apps/commerce/headless/headless-commerce/headless-commerce-admin-catalog-api/src/main/java/com/liferay/headless/commerce/admin/catalog/dto/v1_0/OptionValue.java

  • Date: Apr. 11, 2025
  • Ticket: LPD-51599
  • What changed: The OptionValue class now uses classes from Vulcan.
  • Reason: The CustomField, CustomValue, and Geo classes have been moved to the Vulcan API module.

Product.java modules/apps/commerce/headless/headless-commerce/headless-commerce-admin-catalog-api/src/main/java/com/liferay/headless/commerce/admin/catalog/dto/v1_0/Product.java

  • Date: Apr. 11, 2025
  • Ticket: LPD-51599
  • What changed: The Product class now uses classes from Vulcan.
  • Reason: The CustomField, CustomValue, and Geo classes have been moved to the Vulcan API module.

ProductOption.java modules/apps/commerce/headless/headless-commerce/headless-commerce-admin-catalog-api/src/main/java/com/liferay/headless/commerce/admin/catalog/dto/v1_0/ProductOption.java

  • Date: Apr. 11, 2025
  • Ticket: LPD-51599
  • What changed: The ProductOption class now uses classes from Vulcan.
  • Reason: The CustomField, CustomValue, and Geo classes have been moved to the Vulcan API module.

Sku.java modules/apps/commerce/headless/headless-commerce/headless-commerce-admin-catalog-api/src/main/java/com/liferay/headless/commerce/admin/catalog/dto/v1_0/Sku.java

  • Date: Apr. 11, 2025
  • Ticket: LPD-51599
  • What changed: The Sku class now uses classes from Vulcan.
  • Reason: The CustomField, CustomValue, and Geo classes have been moved to the Vulcan API module.

OrderItem.java modules/apps/commerce/headless/headless-commerce/headless-commerce-admin-order-api/src/main/java/com/liferay/headless/commerce/admin/order/dto/v1_0/OrderItem.java

  • Date: Apr. 11, 2025
  • Ticket: LPD-51599
  • What changed: The OrderItem class now uses classes from Vulcan.
  • Reason: The CustomField, CustomValue, and Geo classes have been moved to the Vulcan API module.

Shipment.java modules/apps/commerce/headless/headless-commerce/headless-commerce-admin-shipment-api/src/main/java/com/liferay/headless/commerce/admin/shipment/dto/v1_0/Shipment.java

  • Date: Apr. 11, 2025
  • Ticket: LPD-51599
  • What changed: The Shipment class now uses classes from Vulcan.
  • Reason: The CustomField, CustomValue, and Geo classes have been moved to the Vulcan API module.

Account.java modules/apps/commerce/headless/headless-commerce/headless-commerce-delivery-catalog-api/src/main/java/com/liferay/headless/commerce/delivery/catalog/dto/v1_0/Account.java

  • Date: Apr. 11, 2025
  • Ticket: LPD-51599
  • What changed: The Account class now uses classes from Vulcan.
  • Reason: The CustomField, CustomValue, and Geo classes have been moved to the Vulcan API module.

Attachment.java modules/apps/commerce/headless/headless-commerce/headless-commerce-delivery-catalog-api/src/main/java/com/liferay/headless/commerce/delivery/catalog/dto/v1_0/Attachment.java

  • Date: Apr. 11, 2025
  • Ticket: LPD-51599
  • What changed: The Attachment class now uses classes from Vulcan.
  • Reason: The CustomField, CustomValue, and Geo classes have been moved to the Vulcan API module.

Product.java modules/apps/commerce/headless/headless-commerce/headless-commerce-delivery-catalog-api/src/main/java/com/liferay/headless/commerce/delivery/catalog/dto/v1_0/Product.java

  • Date: Apr. 11, 2025
  • Ticket: LPD-51599
  • What changed: The Product class now uses classes from Vulcan.
  • Reason: The CustomField, CustomValue, and Geo classes have been moved to the Vulcan API module.

Sku.java modules/apps/commerce/headless/headless-commerce/headless-commerce-delivery-catalog-api/src/main/java/com/liferay/headless/commerce/delivery/catalog/dto/v1_0/Sku.java

  • Date: Apr. 11, 2025
  • Ticket: LPD-51599
  • What changed: The Sku class now uses classes from Vulcan.
  • Reason: The CustomField, CustomValue, and Geo classes have been moved to the Vulcan API module.

DisplayPageTemplate.java modules/apps/headless/headless-admin-content/headless-admin-content-api/src/main/java/com/liferay/headless/admin/content/dto/v1_0/DisplayPageTemplate.java

  • Date: Apr. 11, 2025
  • Ticket: LPD-51599
  • What changed: The DisplayPageTemplate class now uses classes from Vulcan.
  • Reason: The CustomField, CustomValue, and Geo classes have been moved to the Vulcan API module.

Account.java modules/apps/headless/headless-admin-user/headless-admin-user-api/src/main/java/com/liferay/headless/admin/user/dto/v1_0/Account.java

  • Date: Apr. 11, 2025
  • Ticket: LPD-51599
  • What changed: The Account class now uses classes from Vulcan.
  • Reason: The CustomField, CustomValue, and Geo classes have been moved to the Vulcan API module.

AccountGroup.java modules/apps/headless/headless-admin-user/headless-admin-user-api/src/main/java/com/liferay/headless/admin/user/dto/v1_0/AccountGroup.java

  • Date: Apr. 11, 2025
  • Ticket: LPD-51599
  • What changed: The AccountGroup class now uses classes from Vulcan.
  • Reason: The CustomField, CustomValue, and Geo classes have been moved to the Vulcan API module.

Organization.java modules/apps/headless/headless-admin-user/headless-admin-user-api/src/main/java/com/liferay/headless/admin/user/dto/v1_0/Organization.java

  • Date: Apr. 11, 2025
  • Ticket: LPD-51599
  • What changed: The Organization class now uses classes from Vulcan.
  • Reason: The CustomField, CustomValue, and Geo classes have been moved to the Vulcan API module.

UserAccount.java modules/apps/headless/headless-admin-user/headless-admin-user-api/src/main/java/com/liferay/headless/admin/user/dto/v1_0/UserAccount.java

  • Date: Apr. 11, 2025
  • Ticket: LPD-51599
  • What changed: The UserAccount class now uses classes from Vulcan.
  • Reason: The CustomField, CustomValue, and Geo classes have been moved to the Vulcan API module.

BlogPosting.java modules/apps/headless/headless-delivery/headless-delivery-api/src/main/java/com/liferay/headless/delivery/dto/v1_0/BlogPosting.java

  • Date: Apr. 11, 2025
  • Ticket: LPD-51599
  • What changed: The BlogPosting class now uses classes from Vulcan.
  • Reason: The CustomField, CustomValue, and Geo classes have been moved to the Vulcan API module.

Document.java modules/apps/headless/headless-delivery/headless-delivery-api/src/main/java/com/liferay/headless/delivery/dto/v1_0/Document.java

  • Date: Apr. 11, 2025
  • Ticket: LPD-51599
  • What changed: The Document class now uses classes from Vulcan.
  • Reason: The CustomField, CustomValue, and Geo classes have been moved to the Vulcan API module.

DocumentFolder.java modules/apps/headless/headless-delivery/headless-delivery-api/src/main/java/com/liferay/headless/delivery/dto/v1_0/DocumentFolder.java

  • Date: Apr. 11, 2025
  • Ticket: LPD-51599
  • What changed: The DocumentFolder class now uses classes from Vulcan.
  • Reason: The CustomField, CustomValue, and Geo classes have been moved to the Vulcan API module.

KnowledgeBaseArticle.java modules/apps/headless/headless-delivery/headless-delivery-api/src/main/java/com/liferay/headless/delivery/dto/v1_0/KnowledgeBaseArticle.java

  • Date: Apr. 11, 2025
  • Ticket: LPD-51599
  • What changed: The KnowledgeBaseArticle class now uses classes from Vulcan.
  • Reason: The CustomField, CustomValue, and Geo classes have been moved to the Vulcan API module.

KnowledgeBaseFolder.java modules/apps/headless/headless-delivery/headless-delivery-api/src/main/java/com/liferay/headless/delivery/dto/v1_0/KnowledgeBaseFolder.java

  • Date: Apr. 11, 2025
  • Ticket: LPD-51599
  • What changed: The KnowledgeBaseFolder class now uses classes from Vulcan.
  • Reason: The CustomField, CustomValue, and Geo classes have been moved to the Vulcan API module.

MessageBoardMessage.java modules/apps/headless/headless-delivery/headless-delivery-api/src/main/java/com/liferay/headless/delivery/dto/v1_0/MessageBoardMessage.java

  • Date: Apr. 11, 2025
  • Ticket: LPD-51599
  • What changed: The MessageBoardMessage class now uses classes from Vulcan.
  • Reason: The CustomField, CustomValue, and Geo classes have been moved to the Vulcan API module.

MessageBoardSection.java modules/apps/headless/headless-delivery/headless-delivery-api/src/main/java/com/liferay/headless/delivery/dto/v1_0/MessageBoardSection.java

  • Date: Apr. 11, 2025
  • Ticket: LPD-51599
  • What changed: The MessageBoardSection class now uses classes from Vulcan.
  • Reason: The CustomField, CustomValue, and Geo classes have been moved to the Vulcan API module.

MessageBoardThread.java modules/apps/headless/headless-delivery/headless-delivery-api/src/main/java/com/liferay/headless/delivery/dto/v1_0/MessageBoardThread.java

  • Date: Apr. 11, 2025
  • Ticket: LPD-51599
  • What changed: The MessageBoardThread class now uses classes from Vulcan.
  • Reason: The CustomField, CustomValue, and Geo classes have been moved to the Vulcan API module.

NavigationMenuItem.java modules/apps/headless/headless-delivery/headless-delivery-api/src/main/java/com/liferay/headless/delivery/dto/v1_0/NavigationMenuItem.java

  • Date: Apr. 11, 2025
  • Ticket: LPD-51599
  • What changed: The NavigationMenuItem class now uses classes from Vulcan.
  • Reason: The CustomField, CustomValue, and Geo classes have been moved to the Vulcan API module.

SitePage.java modules/apps/headless/headless-delivery/headless-delivery-api/src/main/java/com/liferay/headless/delivery/dto/v1_0/SitePage.java

  • Date: Apr. 11, 2025
  • Ticket: LPD-51599
  • What changed: The SitePage class now uses classes from Vulcan.
  • Reason: The CustomField, CustomValue, and Geo classes have been moved to the Vulcan API module.

StructuredContent.java modules/apps/headless/headless-delivery/headless-delivery-api/src/main/java/com/liferay/headless/delivery/dto/v1_0/StructuredContent.java

  • Date: Apr. 11, 2025
  • Ticket: LPD-51599
  • What changed: The StructuredContent class now uses classes from Vulcan.
  • Reason: The CustomField, CustomValue, and Geo classes have been moved to the Vulcan API module.

StructuredContentFolder.java modules/apps/headless/headless-delivery/headless-delivery-api/src/main/java/com/liferay/headless/delivery/dto/v1_0/StructuredContentFolder.java

  • Date: Apr. 11, 2025
  • Ticket: LPD-51599
  • What changed: The StructuredContentFolder class now uses classes from Vulcan.
  • Reason: The CustomField, CustomValue, and Geo classes have been moved to the Vulcan API module.

WikiPage.java modules/apps/headless/headless-delivery/headless-delivery-api/src/main/java/com/liferay/headless/delivery/dto/v1_0/WikiPage.java

  • Date: Apr. 11, 2025
  • Ticket: LPD-51599
  • What changed: The WikiPage class now uses classes from Vulcan.
  • Reason: The CustomField, CustomValue, and Geo classes have been moved to the Vulcan API module.

SitePage.java modules/apps/headless/headless-admin-site/headless-admin-site-api/src/main/java/com/liferay/headless/admin/site/dto/v1_0/SitePage.java

  • Date: Apr. 11, 2025
  • Ticket: LPD-51599
  • What changed: The SitePage class now uses classes from Vulcan.
  • Reason: The CustomField, CustomValue, and Geo classes have been moved to the Vulcan API module.

bnd.bnd modules/apps/analytics/analytics-settings-rest-api/bnd.bnd

  • Date: Apr. 11, 2025
  • Ticket: LPD-52900
  • What changed: The analytics-settings-rest-api package version is increased to 7.0.0 without any other breaking changes.
  • Reason: This change allows for the data source POST endpoint to return the analytics URL for frontend use without refreshing the page.

ObjectEntry.java modules/apps/object/object-rest-api/src/main/java/com/liferay/object/rest/dto/v1_0/ObjectEntry.java

  • Date: Apr. 13, 2025
  • Ticket: LPD-51899
  • What changed: The version property is now retrieved in the SystemProperties DTO.
  • Reason: This change avoids name collisions between new system properties and existing custom properties.

ObjectEntryInfoItemValuesProviderUtil.java modules/apps/object/object-info-api/src/main/java/com/liferay/object/info/item/provider/util/ObjectEntryInfoItemValuesProviderUtil.java

  • Date: Apr. 15, 2025
  • Ticket: LPD-52416
  • What changed: The getInfoFieldValues and getFriendlyURLInfoFieldValue methods have changed method signatures.
  • Reason: This change reinforces uses existing code, and adds support for calculating object relationship friendly URLs.

UserAccountResource.java modules/apps/headless/headless-asset-library/headless-asset-library-api/src/main/java/com/liferay/headless/asset/library/resource/v1_0/UserAccountResource.java

  • Date: Apr. 15, 2025
  • Ticket: LPD-51781
  • What changed: Various methods in UserAccountResource are removed or have their method signatures changed.
  • Reason: This change is required to reflect changes in the asset libraries API.

ObjectEntryFolderService.java modules/apps/object/object-api/src/main/java/com/liferay/object/service/ObjectEntryFolderService.java

  • Date: Apr. 15, 2025
  • Ticket: LPD-52764
  • What changed: The updateObjectEntryFolder method has a new ServiceContext parameter.
  • Reason: This change adds support for workflow when updating object entry folders.

ObjectEntryFolderLocalService.java modules/apps/object/object-api/src/main/java/com/liferay/object/service/ObjectEntryFolderLocalService.java

  • Date: Apr. 15, 2025
  • Ticket: LPD-52764
  • What changed: The updateObjectEntryFolder method has a new ServiceContext parameter.
  • Reason: This change adds support for workflow when updating object entry folders.

AccountEntryLocalServiceImpl.java modules/apps/account/account-service/src/main/java/com/liferay/account/service/impl/AccountEntryLocalServiceImpl.java

  • Date: Apr. 16, 2025
  • Ticket: LPD-50975
  • What changed: The addAccountEntry and updateAccountEntry methods now have a now String parameter for an external reference code.
  • Reason: This change allows for managing external reference codes with a single method call.

AccountEntryServiceImpl.java modules/apps/account/account-service/src/main/java/com/liferay/account/service/impl/AccountEntryServiceImpl.java

  • Date: Apr. 16, 2025
  • Ticket: LPD-50975
  • What changed: The addAccountEntry and updateAccountEntry methods now have a now String parameter for an external reference code. The fetchAccountEntryByExternalReferenceCode method’s parameters are also reordered.
  • Reason: This change allows for managing external reference codes with a single method call.

DisplayPageTemplateFolderResource.java modules/apps/headless/headless-admin-site/headless-admin-site-api/src/main/java/com/liferay/headless/admin/site/resource/v1_0/DisplayPageTemplateFolderResource.java

  • Date: Apr. 16, 2025
  • Ticket: LPD-49868
  • What changed: The putSiteDisplayPageTemplateFolderPermissionsPage method now has a Permission[] parameter.
  • Reason: This change corrects an inconsistency in the API.

DisplayPageTemplateResource.java modules/apps/headless/headless-admin-site/headless-admin-site-api/src/main/java/com/liferay/headless/admin/site/resource/v1_0/DisplayPageTemplateResource.java

  • Date: Apr. 16, 2025
  • Ticket: LPD-49868
  • What changed: putSiteDisplayPageTemplatePermissionsPage method now has a Permission[] parameter.
  • Reason: This change corrects an inconsistency in the API.

MasterPageResource.java modules/apps/headless/headless-admin-site/headless-admin-site-api/src/main/java/com/liferay/headless/admin/site/resource/v1_0/MasterPageResource.java

  • Date: Apr. 16, 2025
  • Ticket: LPD-49868
  • What changed: putSiteMasterPagePermissionsPage method now has a Permission[] parameter.
  • Reason: This change corrects an inconsistency in the API.

PageTemplateResource.java modules/apps/headless/headless-admin-site/headless-admin-site-api/src/main/java/com/liferay/headless/admin/site/resource/v1_0/PageTemplateResource.java

  • Date: Apr. 16, 2025
  • Ticket: LPD-49868
  • What changed: The putSitePageTemplatePermissionsPage method now has a Permission[] parameter. The put.*PermissionsPage method has a new attribute
  • Reason: This change corrects an inconsistency in the API.

PageTemplateSetResource.java modules/apps/headless/headless-admin-site/headless-admin-site-api/src/main/java/com/liferay/headless/admin/site/resource/v1_0/PageTemplateSetResource.java

  • Date: Apr. 16, 2025
  • Ticket: LPD-49868
  • What changed: The putSitePageTemplateSetPermissionsPage method now has a Permission[] parameter.
  • Reason: This change corrects an inconsistency in the API.

SitePageResource.java modules/apps/headless/headless-admin-site/headless-admin-site-api/src/main/java/com/liferay/headless/admin/site/resource/v1_0/SitePageResource.java

  • Date: Apr. 16, 2025
  • Ticket: LPD-49868
  • What changed: The putSiteSitePagePermissionsPage method now has a Permission[] parameter.
  • Reason: This change corrects an inconsistency in the API.

UtilityPageResource.java modules/apps/headless/headless-admin-site/headless-admin-site-api/src/main/java/com/liferay/headless/admin/site/resource/v1_0/UtilityPageResource.java

  • Date: Apr. 16, 2025
  • Ticket: LPD-49868
  • What changed: The putSiteUtilityPagePermissionsPage method now has a Permission[] parameter.
  • Reason: This change corrects an inconsistency in the API.

ImportTaskResource.java modules/apps/headless/headless-batch-engine/headless-batch-engine-api/src/main/java/com/liferay/headless/batch/engine/resource/v1_0/ImportTaskResource.java

  • Date: Apr. 16, 2025
  • Ticket: LPD-49868
  • What changed: The postImportTask(Object) method is renamed to postImportTaskObject.
  • Reason: The Swagger library is not able to show both endpoints in the API explorer due to an internal bug in the library (see https://github.com/swagger-api/swagger-core/issues/4070). This was not reproducible before Liferay DXP upgraded to Jakarta.

CartResource.java modules/apps/commerce/headless/headless-commerce/headless-commerce-delivery-cart-api/src/main/java/com/liferay/headless/commerce/delivery/cart/resource/v1_0/CartResource.java

  • Date: Apr. 17, 2025
  • Ticket: LPD-52426
  • What changed: All endpoints now have the filter and sort parameters added.
  • Reason: This change allows customers to filter and sort cart resources.

PlacedOrderResource.java modules/apps/commerce/headless/headless-commerce/headless-commerce-delivery-order-api/src/main/java/com/liferay/headless/commerce/delivery/order/resource/v1_0/PlacedOrderResource.java

  • Date: Apr. 17, 2025
  • Ticket: LPD-52426
  • What changed: All endpoints now have the search, filter, and sort parameters added.
  • Reason: This change allows customers to search, filter, and sort placed order resources.

CPDefinitionLocalService.java modules/apps/commerce/commerce-product-api/src/main/java/com/liferay/commerce/product/service/CPDefinitionLocalService.java

  • Date: Apr. 17, 2025
  • Ticket: LPD-53381
  • What changed: The maintainVersionThreshold method now has a new long parameter for a company ID.
  • Reason: This change reflects that product versioning configuration is now instance-scoped.

rest-openapi.yaml modules/apps/headless/headless-object/headless-object-impl/rest-openapi.yaml

  • Date: Apr. 23, 2025
  • Ticket: LPD-52707
  • What changed: The name parameter is renamed to title.
  • Reason: This change is to enforce consistency between data sets and object entries in the API.

rest-openapi.yaml modules/apps/object/object-rest-impl/rest-openapi.yaml

  • Date: Apr. 23, 2025
  • Ticket: LPD-49223
  • What changed: The PUT operation for object actions by external reference code is changed. The route is changed from /by-external-reference-code/{objectEntryExternalReferenceCode}/object-actions/{objectActionName} to /by-external-reference-code/{externalReferenceCode}/object-actions/{objectActionName}, and the operation ID is changed from putByExternalReferenceCodeObjectEntryExternalReferenceCodeObjectActionObjectActionName to putByExternalReferenceCodeObjectActionObjectActionName.
  • Reason: This change enforces a consistent pattern for PUT operations by external reference code.

BatchEngineImportTaskExecutor.java modules/apps/batch-engine/batch-engine-api/src/main/java/com/liferay/batch/engine/BatchEngineImportTaskExecutor.java

  • Date: Apr. 24, 2025
  • Ticket: LPD-53639
  • What changed: This change adds a new method to allow for adding a new title language.
  • Reason: This method allows for inserting a title in the cookie banner.

FDSSerializer.java modules/apps/frontend-data-set/frontend-data-set-api/src/main/java/com/liferay/frontend/data/set/serializer/FDSSerializer.java

  • Date: Apr. 25, 2025
  • Ticket: LPD-52523
  • What changed: The new serializeAdditionalAPIURLParameters(String, HttpServletRequest) method is added.
  • Reason: This new method allows for additional API URL parameters to be serialized separately.

CaptchaTag.java modules/apps/captcha/captcha-taglib/src/main/java/com/liferay/captcha/taglib/servlet/taglib/CaptchaTag.java

  • Date: Apr. 29, 2025
  • Ticket: LPD-44396
  • What changed: The getPage method is removed, in favor of overriding doEndTag to render CAPTCHAs.
  • Reason: This method is no longer necessary to render CAPTCHAs.

Changes in portal-impl Classes

MinifierUtil.java portal-impl/src/com/liferay/portal/minifier/MinifierUtil.java

  • Date: Jan. 21, 2025
  • Ticket: LPD-45984
  • What changed: The minifyJavaScript method is removed. Run any necessary minification of JavaScript files at build time instead of runtime. Method minifyJavaScript has been removed as it had been already deprecated long ago. This might affect to those cases when minifier.enable=true is set to minify custom developments in runtime.
  • Reason: The runtime minifier and the closure-compiler-v20220601.jar library were deprecated and no longer used. All JavaScript minification is done at build time instead of runtime.

service.xml portal-impl/src/com/liferay/portal/service.xml

  • Date: Feb. 1, 2025
  • Ticket: LPD-46901
  • What changed: The Company.LogoId, Layout.G_P_SPLU, and Layout.IconImageId Service Builder finders now return collections, and various service methods associated with them are removed. Additionally, the LayoutRevision.L_H_P finder is removed.
  • Reason: Even though these finders were supposed to return single objects and thus be logically unique, it was possible for these finders to return multiple results, and they should not. Generally, finders that return single objects should use a unique index (i.e. unique=true) or they should return collections. The LayoutRevision.L_H_P finder is removed in favor of LayoutRevision.L_H_P_Collection.

GroupLocalServiceImpl.java portal-impl/src/com/liferay/portal/service/impl/GroupLocalServiceImpl.java

  • Date: Feb. 16, 2025
  • Ticket: LPD-48242
  • What changed: The getStagingGroup(long liveGroupId and hasStagingGroup(long liveGroupId) methods are removed.
  • Reason: These methods are no longer used.

UserLocalServiceImpl.java portal-impl/src/com/liferay/portal/service/impl/UserLocalServiceImpl.java

  • Date: Feb. 16, 2025
  • Ticket: LPD-48720
  • What changed: The fetchUserByGoogleUserId(long companyId, String googleUserId), getUserByGoogleUserId(long companyId, String googleUserId), and updateGoogleUserId(long userId, String googleUserId) methods are removed.
  • Reason: Google SSO is deprecated and these methods are no longer used.

UpgradeSQLServer.java portal-impl/src/main/java/com/portal/upgrade/v7_0_3/UpgradeSQLServer.java

  • Date: Feb. 19, 2025
  • Ticket: LPD-46955
  • What changed: The UpgradeSQLServer class is removed.
  • Reason: This class is no longer necessary.

UpgradeDB2.java portal-impl/src/main/java/com/portal/upgrade/v7_1_x/UpgradeDB2.java

  • Date: Feb. 19, 2025
  • Ticket: LPD-46955
  • What changed: The UpgradeDB2 class is removed.
  • Reason: This class is no longer necessary.

LayoutRevisionLocalServiceImpl.java portal-impl/src/com/liferay/portal/service/impl/LayoutRevisionLocalServiceImpl.java

  • Date: Feb. 21, 2025
  • Ticket: LPD-46900
  • What changed: The fetchLayoutRevision(long layoutSetBranchId, long layoutBranchId, boolean head, long plid) method is removed.
  • Reason: This method is no longer used.

PropsValues.java portal-impl/src/com/liferay/portal/util/PropsValues.java

  • Date: Feb. 21, 2025
  • Ticket: LPD-43940
  • What changed: The AUTO_DEPLOY_CUSTOM_PORTLET_XML constant value is removed.
  • Reason: Support for WebSphere is removed for the migration to Jakarta EE.

UserLocalServiceImpl.java portal-impl/src/com/liferay/portal/service/impl/UserLocalServiceImpl.java

  • Date: Feb. 22, 2025
  • Ticket: LPD-49274
  • What changed: The updateFacebookId(long userId, long facebookId) and getUserByFacebookId(long companyId, long facebookId) methods are removed.
  • Reason: This methods are no longer used.

LayoutLocalServiceImpl.java portal-impl/src/com/liferay/portal/service/impl/LayoutLocalServiceImpl.java

  • Date: Feb. 27, 2025
  • Ticket: LPD-47475
  • What changed: The fetchLayout(long classNameId, long classPK) method is removed.
  • Reason: This method is no longer used.

CompanyLocalServiceImpl.java portal-impl/src/com/liferay/portal/service/impl/CompanyLocalServiceImpl.java

  • Date: Mar. 5, 2025
  • Ticket: LPD-47831
  • What changed: The getCompanyByMx(String mx) method is removed.
  • Reason: This method is no longer used.

CompanyServiceImpl.java portal-impl/src/com/liferay/portal/service/impl/CompanyServiceImpl.java

  • Date: Mar. 5, 2025
  • Ticket: LPD-47831
  • What changed: The getCompanyByMx(String mx) method is removed.
  • Reason: This method is no longer used.

UserGroupLocalServiceImpl.java portal-impl/src/com/liferay/portal/service/impl/UserGroupLocalServiceImpl.java

  • Date: Mar. 10, 2025
  • Ticket: LPD-50867
  • What changed: The addUserGroup and updateUserGroup methods have a new String parameter for an external reference code.
  • Reason: This change adds support for managing the external reference code with a single method call.

UserGroupServiceImpl.java portal-impl/src/com/liferay/portal/service/impl/UserGroupServiceImpl.java

  • Date: Mar. 10, 2025
  • Ticket: LPD-50867
  • What changed: The addUserGroup and updateUserGroup methods have a new String parameter for an external reference code. Additionally, the fetchUserGroupByExternalReferenceCode method has its parameters reordered.
  • Reason: This change adds support for managing the external reference code with a single method call, and reinforces consistency in the code.

PasswordPolicyLocalServiceImpl.java portal-impl/src/com/liferay/portal/service/impl/PasswordPolicyLocalServiceImpl.java

  • Date: Mar. 10, 2025
  • Ticket: LPD-48135
  • What changed: The getPasswordPolicy(long companyId, long[] organizationIds) method is removed.
  • Reason: This method is no longer used.

WorkflowDefinitionLinkLocalServiceImpl.java portal-impl/src/com/liferay/portal/service/impl/WorkflowDefinitionLinkLocalServiceImpl.java

  • Date: Mar. 19, 2025
  • Ticket: LPD-48349
  • What changed: The fetchDefaultWorkflowDefinitionLink(long companyId, String className, long classPK, long typePK) method has the classPK and typePK parameters removed. Additionally, the getDefaultWorkflowDefinitionLink(long, String, long, long) and getWorkflowDefinitionLink(long, long, String, long, long) methods are removed.
  • Reason: The values passed for classPK and typePK were always 0, so they were unnecessary parameters. The removed methods are no longer used.

UserServiceImpl.java portal-impl/src/com/liferay/portal/service/impl/UserServiceImpl.java

  • Date: Mar. 19, 2025
  • Ticket: LPD-51653
  • What changed: The getUserByExternalReferenceCode(long companyId, String externalReferenceCode) method is removed. Instead, use the getUserByExternalReferenceCode(String externalReferenceCode, long companyId) method.
  • Reason: This change enforces consistency in the code.

AddressLocalServiceImpl.java portal-impl/src/com/liferay/portal/service/impl/AddressLocalServiceImpl.java

  • Date: Mar. 20, 2025
  • Ticket: LPD-51450
  • What changed: The addAddress and updateAddress methods have a new String parameter for a subtype, and the other parameters are reordered. Additionally, the updateAddress(long, String, String, String, String, String, long, long, long, boolean, boolean) method is removed.
  • Reason: This change adds support for setting address subtypes.

AddressServiceImpl.java portal-impl/src/com/liferay/portal/service/impl/AddressServiceImpl.java

  • Date: Mar. 20, 2025
  • Ticket: LPD-51450
  • What changed: The addAddress and updateAddress methods have a new String parameter for a subtype, and the other parameters are reordered.
  • Reason: This change adds support for setting address subtypes.

DBUpgrader.java portal-impl/src/com/liferay/portal/tools/DBUpgrader.java

  • Date: Apr. 4, 2025
  • Ticket: LPD-51452
  • What changed: The static upgradeModules method has a new Runnable parameter.
  • Reason: This change adds support for executing code with a callback.

RoleLocalServiceImpl.java portal-impl/src/com/liferay/portal/service/impl/RoleLocalServiceImpl.java

  • Date: Apr. 28, 2025
  • Ticket: LPD-50970
  • What changed: The updateRole method has a new String parameter for an external reference code.
  • Reason: This change allows for managing a role’s external reference code with a single method call.

RoleServiceImpl.java portal-impl/src/com/liferay/portal/service/impl/RoleServiceImpl.java

  • Date: Apr. 28, 2025
  • Ticket: LPD-50970
  • What changed: The updateRole method has a new String parameter for an external reference code.
  • Reason: This change allows for managing a role’s external reference code with a single method call.

PropsUtil.java portal-impl/src/com/liferay/portal/util/PropsUtil.java

  • Date: May 1, 2025
  • Ticket: LPD-52621
  • What changed: All methods with a Company parameter are removed.
  • Reason: This change removes the deprecated feature of setting company-specific portal properties.

Changes in portal-kernel Classes

ContentSecurityPolicyHTMLRewriter.java portal-kernel/src/com/liferay/portal/kernel/content/security/policy/ContentSecurityPolicyHTMLRewriter.java

  • Date: Jan. 23, 2025
  • Ticket: LPD-46264
  • What changed: The rewriteInlineEventHandlers method is renamed to rewriteInlineAttributes.
  • Reason: The new name better reflects the method’s purpose.

RedirectURLSettings.java /portal-kernel/src/com/liferay/portal/kernel/redirect/RedirectURLSettings.java

  • Date: Jan. 23, 2025
  • Ticket: LPD-45200
  • What changed: The new getAllowedProtocols(long companyId) method is added.
  • Reason: This change makes the redirect URL check more reliable.

MapUtil.java portal-kernel/src/com/liferay/portal/kernel/util/MapUtil.java

  • Date: Feb. 1, 2025
  • Ticket: LPD-42474
  • What changed: The getString(Map<String, ?>, String) and getString(Map<String, ?>, String, String) methods are changed so their parameters and return types use generic types.
  • Reason: This change allows for comparing arbitrary maps for equality.

WorkflowInstanceManager.java portal-kernel/src/com/liferay/portal/kernel/workflow/WorkflowInstanceManager.java

  • Date: Feb. 13, 2025
  • Ticket: LPD-48670
  • What changed: The new getNextWorkflowTransitions(long companyId, long userId, long workflowInstanceId) method is added.
  • Reason: This change reinforces the transition DTO response pattern.

DuplicateOpenIdException.java portal-kernel/src/com/liferay/portal/kernel/exception/DuplicateOpenIdException.java

  • Date: Feb. 16, 2025
  • Ticket: LPD-48720
  • What changed: The DuplicateOpenIdException class is removed.
  • Reason: OpenID SSO is deprecated and there is no longer any code that throws a DuplicateOpenIdException.

DuplicateGoogleUserIdException.java portal-kernel/src/com/liferay/portal/kernel/exception/DuplicateGoogleUserIdException.java

  • Date: Feb. 16, 2025
  • Ticket: LPD-48720
  • What changed: The DuplicateGoogleUserIdException class is removed.
  • Reason: Google SSO is deprecated and there is no longer any code that throws a DuplicateGoogleUserIdException.

BaseDBColumnSizeUpgradeProcess.java portal-kernel/src/main/java/com/portal/kernel/BaseDBColumnSizeUpgradeProcess.java

  • Date: Feb. 19, 2025
  • Ticket: LPD-46955
  • What changed: BaseDBColumnSizeUpgradeProcess is renamed to DBColumnSizeUpgradeProcess and is no longer abstract. The new constructor now has a parameter for newColumnType.
  • Reason: Specifying the SQL syntax was an error-prone approach.

PropsKeys.java portal-kernel/src/com/liferay/portal/kernel/util/PropsKeys.java

  • Date: Feb. 21, 2025
  • Ticket: LPD-43940
  • What changed: The AUTO_DEPLOY_CUSTOM_PORTLET_XML constant value is removed.
  • Reason: Support for WebSphere is removed for the migration to Jakarta EE.

ServerDetector.java portal-kernel/src/com/liferay/portal/kernel/util/ServerDetector.java

  • Date: Feb. 21, 2025
  • Ticket: LPD-43940
  • What changed: The WEBSPHERE_ID constant value and the isWebSphere method are removed. ServerDetector can no longer detect WebSphere.
  • Reason: Support for WebSphere is removed for the migration to Jakarta EE.

DeleteDuplicateUniqueFinderRowsUpgradeProcess.java portal-kernel/src/com/liferay/portal/kernel/upgrade/DeleteDuplicateUniqueFinderRowsUpgradeProcess.java

  • Date: Apr. 28, 2025
  • Ticket: LPD-52173
  • What changed: Constructors without an orderBy parameter are removed.
  • Reason: The orderBy parameter is always required.

Captcha.java portal-kernel/src/com/liferay/portal/kernel/captcha/Captcha.java

  • Date: Apr. 29, 2025
  • Ticket: LPD-44369
  • What changed: The getTagLibPath method is removed.
  • Reason: This method is no longer used in the interface. It’s now only present directly in the implementation classes.

Changes in Taglibs

NavBarSearchTag.java util-taglib/src/com/liferay/taglib/aui/NavBarSearchTag.java

  • Date: Apr. 24, 2025
  • Ticket: LPD-53353
  • What changed: The aui:nav-bar-search tag is removed.
  • Reason: This tag has been deprecated and it is no longer used.

NavBarTag.java util-taglib/src/com/liferay/taglib/aui/NavBarTag.java

  • Date: Apr. 24, 2025
  • Ticket: LPD-53353
  • What changed: The aui:nav-bar tag is removed.
  • Reason: This tag has been deprecated and it is no longer used.

NavItemTag.java util-taglib/src/com/liferay/taglib/aui/NavItemTag.java

  • Date: Apr. 24, 2025
  • Ticket: LPD-53353
  • What changed: The aui:nav-item tag is removed.
  • Reason: This tag has been deprecated and it is no longer used.

NavTag.java util-taglib/src/com/liferay/taglib/aui/NavTag.java

  • Date: Apr. 24, 2025
  • Ticket: LPD-53353
  • What changed: The aui:nav tag is removed.
  • Reason: This tag has been deprecated and it is no longer used.
Recipes related to this article
Migrating Your Database from MySQL to PostgreSQL

This recipe guides the user on how to migrate from MySQL to PostgreSQL database.

Published Date: Feb 27, 25, 7:28 PM
Using Zapier to Sync Object Data with Google Sheets

This recipe guides you through the steps required to use webhooks to trigger sync tasks between Liferay Objects and Google Sheets using Zapier.

Published Date: Nov 14, 24, 4:15 PM
Designing and Displaying Reusable Navigation Menus
Published Date: Aug 15, 24, 6:33 PM

Capabilities

Product

Education

Contact Us

Connect

Powered by Liferay
© 2024 Liferay Inc. All Rights Reserved • Privacy Policy