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 Changes | Description | References |
---|---|---|
Analytics Cloud User Deletion/Suppression Requests | When 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 Codes | Batch 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 Loader | The 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 Permissions | The 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 Upgrade | Ehcache 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 Content | Users 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 Permissions | Web 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 Configuration | Jquery 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 Bulk | Users 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 Display | Users can now only drop or map fragments into the first item of a Collection Display. | LPD-45724 |
Page SEO Configurations | The form displayed to configure page SEO has been simplified. | LPD-45929 |
Progress Bar for Publications | When publishing, users now see a progress bar to estimate the remaining time for the publication. | LPD-44469 |
Publication Size Indicator | Publications 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 Pages | Users 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)
andparse(String, String, Locale)
methods have a newboolean
parameter forallowNegativeValue
. - 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
andupdateOAuthClientryEntry
methods have a new parameter formetadataCacheInMillis
. - 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
andupdateOAuthClientryEntry
methods have a new parameter formetadataCacheInMillis
. - 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
andupdateOAuthClientryEntry
methods have a new parameter formetadataCacheInMillis
. - 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 forcompanyId
. 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 newlong
parameter forcompanyId
. Related logic is also updated. Add a company ID to any calls togetOpenAPI
. - 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 newboolean
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 tocopyLayoutSEOEntry(long, long, boolean, long, LayoutSEOEntry, ServiceContext)
. Additionally, theupdateCustomMetaTags(long, long, boolean, long, ServiceContext)
method has a newList<LayoutSEOEntryCustomMetaTagProperty
parameter. - Reason: This change improves the code by directly using a
LayoutSEOEntry
, eliminating the requirement to pass each parameter separately. The newList<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)
andgetScopeExternalReferenceCode(long, long)
methods each have a newlong
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 fromname = "saml-sp-clock-skew"
toname = "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 withgetDefaultValue(DDMExpressionFactory, ObjectField, Map<String, Object>)
, and it now returns aString
instead of anObject
. - 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, thecondition
property is renamed tofield
. - 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 newFilter
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 withscope = 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 aCaptchaConfiguration
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 fromname='maximum'
toname='saq-configuration-service-max'
. Additionally, themetrics
method’s annotation property is changed fromname='metrics'
toname='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 byBaseAPIURLSerializer
.
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 byBaseAPIURLSerializer
.
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 theHttpServletResponse
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 theHttpServletResponse
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’scustomFields
property now uses theCustomField
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 foritemIdsMap
andlayoutStructureRuleIdsMap
. - 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 forlayoutPageTemplateCollectionKey
. - 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 forlayoutPageTemplateCollectionKey
. - 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 fordefaultLanguageId
. - 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 thesegmentsExperienceId
parameter replaced with aString
parameter forsegmentsExperienceKey
. - 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
andfetchSegmentsExperiment
methods now requiresegmentsExperienceKey
instead ofsegmentsExperienceId
. - 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 requiressegmentsExperienceKey
instead ofsegmentsExperienceId
. - 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
, andgetSegmentsExperimentRelsBySegmentsExperienceKey
methods now requiresegmentsExperienceKey
instead ofsegmentsExperienceId
. - 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 genericT
type instead ofvoid
. - 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 aBlogPosting
instead ofvoid
. - 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 fordisplayedItemIds
andenabledItemIds
. - 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 newFilter
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 forlayoutPageTemplateEntryKey
. - 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 forlayoutPageTemplateEntryKey
. - 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 inFDSSerializer
. Additionally, the newisAvailable(String, HttpServletRequest)
,serializePagination(String, HttpServletRequest)
, andserializePropsTransformer(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
andaddOrUpdateObjectEntry
methods have a new parameter forobjectEntryFolderId
. - 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
andaddOrUpdateObjectEntry
methods have a new parameter forobjectEntryFolderId
. - 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 topageSpecificationExternalReferenceCode
. - 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
anddeleteWarehouseItemByExternalReferenceCode
method return types are changed fromResponse
tovoid
. - 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
andgetV2GroupById
methods have a newString
parameter forexcludedAttributes
. - 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 theCommerceCurrency
. - 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 thecom.liferay.asset.categories.item.selector
package. - Reason: The
com.liferay.asset.categories.item.selector.criterion
package has been refactored tocom.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 thecom.liferay.wiki.item.selector
package. - Reason: The
com.liferay.wiki.item.selector.criterion
package has been refactored tocom.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 thecom.liferay.wiki.item.selector
package. - Reason: The
com.liferay.wiki.item.selector.criterion
package has been refactored tocom.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. Thecom.liferay.spring.boot.defaults
plugin can no longer be used inbuild.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 newString
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 newbatchExternalReferenceCode
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 newexistsPartition(Connection connection, String partitionName)
method fromDBPartitionDB
. - 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 forthemeId
. - 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 thecom.liferay.fragment.item.selector
package. - Reason: The
com.liferay.fragment.item.selector.criterion
package has been refactored tocom.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 thecom.liferay.fragment.collection.item.selector
package. - Reason: The
com.liferay.fragment.collection.item.selector.criterion
package has been refactored tocom.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 toisSkipValidateAccountLimit
, and thesetSkipValidateAccountOrdersLimit
method is renamed tosetSkipValidateAccountLimit
. - 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 thecom.liferay.asset.vocabulary.item.selector
package. - Reason: The
com.liferay.asset.vocabulary.item.selector.criterion
package has been refactored tocom.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 thecom.liferay.asset.tags.item.selector
package. - Reason: The
com.liferay.asset.tags.item.selector.criterion
package has been refactored tocom.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 thecom.liferay.asset.display.page.item.selector
package. - Reason: The
com.liferay.asset.display.page.item.selector.criterion
package has been refactored tocom.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 thecom.liferay.client.extension.type.item.selector
package. - Reason: The
com.liferay.client.extension.type.item.selector.criterion
package has been refactored tocom.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 thecom.liferay.blogs.item.selector
package. - Reason: The
com.liferay.blogs.item.selector.criterion
package has been refactored tocom.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 forownerId
andownerType
. - Reason: Master pages create their preferences using
plid
0, so we must use the owner ID of the portlet preferences as the layoutplid
when portlet preferencesplid
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 thecom.liferay.segments.item.selector
package. - Reason: The
com.liferay.segments.item.selector.criterion
package has been refactored tocom.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 thecom.liferay.segments.item.selector
package. - Reason: The
com.liferay.segments.item.selector.criterion
package has been refactored tocom.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 thecom.liferay.info.list.provider.item.selector
package. - Reason: The
com.liferay.info.list.provider.item.selector.criterion
package has been refactored tocom.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 thecom.liferay.info.field.item.selector
package. - Reason: The
com.liferay.info.field.item.selector.criterion
package has been refactored tocom.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 thecom.liferay.info.collection.provider.item.selector
package. - Reason: The
com.liferay.info.collection.provider.item.selector.criterion
package has been refactored tocom.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 thecom.liferay.info.collection.provider.item.selector
package. - Reason: The
com.liferay.info.collection.provider.item.selector.criterion
package has been refactored tocom.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 thecom.liferay.info.collection.provider.item.selector
package. - Reason: The
com.liferay.info.collection.provider.item.selector.criterion
package has been refactored tocom.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 applicableclient-extension.yaml
files, change any regular expression patterns forhashify
in theassemble
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 thecom.liferay.site.navigation.item.selector
package. - Reason: The
com.liferay.site.navigation.item.selector.criterion
package has been refactored tocom.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 thecom.liferay.site.navigation.item.selector
package. - Reason: The
com.liferay.site.navigation.item.selector.criterion
package has been refactored tocom.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
andaddSharingEntry
methods have a newString
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
andaddSharingEntry
methods have a newString
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 to3.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 thecom.liferay.journal.item.selector
package. - Reason: The
com.liferay.journal.item.selector.criterion
package has been refactored tocom.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 thecom.liferay.knowledge.base.item.selector
package. - Reason: The
com.liferay.knowledge.base.item.selector.criterion
package has been refactored tocom.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 thecom.liferay.site.teams.item.selector
package. - Reason: The
com.liferay.site.teams.item.selector.criterion
package has been refactored tocom.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 thecom.liferay.site.item.selector
package. - Reason: The
com.liferay.site.item.selector.criterion
package has been refactored tocom.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 withgetPortalCacheReplicatorPropertiesSet
. - 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 customPortalCacheListener
implementation usingPortalCache
’sregisterPortalCacheListener
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 thePortalCacheManagerConfiguration
constructor. Additionally, thegetPortalCacheManagerListenerPropertiesSet
method is removed. Instead, register a customPortalCacheListener
implementation usingPortalCache
’sregisterPortalCacheListener
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 customPortalCacheListener
implementation usingPortalCache
’sregisterPortalCacheListener
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 newboolean
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 newboolean
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 newboolean
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
andupdateAccountGroup
methods have a newString
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
andupdateAccountGroup
methods have a newString
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>
orCTEntry[]
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 callgetCPDefinitionSpecificationOptionValues(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
andupdateCommerceAddress
have a newString
parameter forsubtype
, and the other parameters are reordered. Additionally, obsolete overloadedaddCommerceAddress
andupdateCommerceAddress
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
andupdateCommerceAddress
have a newString
parameter forsubtype
, and the other parameters are reordered. Additionally, obsolete overloadedaddCommerceAddress
andupdateCommerceAddress
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 thecom.liferay.dynamic.data.mapping.item.selector
package. - Reason: The
com.liferay.dynamic.data.mapping.item.selector.criterion
package has been refactored tocom.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 thecom.liferay.dynamic.data.mapping.form.item.selector
package. - Reason: The
com.liferay.dynamic.data.mapping.form.item.selector.criterion
package has been refactored tocom.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 thecom.liferay.roles.item.selector
package. - Reason: The
com.liferay.roles.item.selector.organization.role
package has been refactored tocom.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 thecom.liferay.roles.item.selector
package. - Reason: The
com.liferay.roles.item.selector.regular.role
package has been refactored tocom.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 thecom.liferay.roles.item.selector
package. - Reason: The
com.liferay.roles.item.selector.site.role
package has been refactored tocom.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 thecom.liferay.commerce.account.item.selector
package. - Reason: The
com.liferay.commerce.account.item.selector.criterion
package has been refactored tocom.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 thecom.liferay.commerce.account.item.selector
package. - Reason: The
com.liferay.commerce.account.item.selector.criterion
package has been refactored tocom.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 thecom.liferay.commerce.account.item.selector
package. - Reason: The
com.liferay.commerce.account.item.selector.criterion
package has been refactored tocom.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
andaddSharingEntry
methods have a newlong
parameter fortoUserGroupId
. - 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
andaddSharingEntry
methods have a newlong
parameter fortoUserGroupId
. - 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
andupdateShippingAddress
methods have a newString
parameter added forsubtype
. 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
andupdateShippingAddress
methods have a newString
parameter added forsubtype
. 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 thecom.liferay.layout.page.template.item.selector
package. - Reason: The
com.liferay.layout.page.template.item.selector.criterion
package is refactored tocom.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 thecom.liferay.layout.page.template.item.selector
package. - Reason: The
com.liferay.layout.page.template.item.selector.criterion
package is refactored tocom.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 thecom.liferay.layout.page.template.item.selector
package. - Reason: The
com.liferay.layout.page.template.item.selector.criterion
package is refactored tocom.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
’sgetRelatedCTEntriesMap
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
’sgetRelatedCTEntriesMap
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 aJSONObject
instead of aString
. - 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 fromVulcan
. - Reason: The
CustomField
,CustomValue
, andGeo
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 fromVulcan
. - Reason: The
CustomField
,CustomValue
, andGeo
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 fromVulcan
. - Reason: The
CustomField
,CustomValue
, andGeo
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 fromVulcan
. - Reason: The
CustomField
,CustomValue
, andGeo
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 fromVulcan
. - Reason: The
CustomField
,CustomValue
, andGeo
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 fromVulcan
. - Reason: The
CustomField
,CustomValue
, andGeo
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 fromVulcan
. - Reason: The
CustomField
,CustomValue
, andGeo
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 fromVulcan
. - Reason: The
CustomField
,CustomValue
, andGeo
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 fromVulcan
. - Reason: The
CustomField
,CustomValue
, andGeo
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 fromVulcan
. - Reason: The
CustomField
,CustomValue
, andGeo
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 fromVulcan
. - Reason: The
CustomField
,CustomValue
, andGeo
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 fromVulcan
. - Reason: The
CustomField
,CustomValue
, andGeo
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 fromVulcan
. - Reason: The
CustomField
,CustomValue
, andGeo
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 fromVulcan
. - Reason: The
CustomField
,CustomValue
, andGeo
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 fromVulcan
. - Reason: The
CustomField
,CustomValue
, andGeo
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 fromVulcan
. - Reason: The
CustomField
,CustomValue
, andGeo
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 fromVulcan
. - Reason: The
CustomField
,CustomValue
, andGeo
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 fromVulcan
. - Reason: The
CustomField
,CustomValue
, andGeo
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 fromVulcan
. - Reason: The
CustomField
,CustomValue
, andGeo
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 fromVulcan
. - Reason: The
CustomField
,CustomValue
, andGeo
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 fromVulcan
. - Reason: The
CustomField
,CustomValue
, andGeo
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 fromVulcan
. - Reason: The
CustomField
,CustomValue
, andGeo
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 fromVulcan
. - Reason: The
CustomField
,CustomValue
, andGeo
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 fromVulcan
. - Reason: The
CustomField
,CustomValue
, andGeo
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 fromVulcan
. - Reason: The
CustomField
,CustomValue
, andGeo
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 fromVulcan
. - Reason: The
CustomField
,CustomValue
, andGeo
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 fromVulcan
. - Reason: The
CustomField
,CustomValue
, andGeo
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 fromVulcan
. - Reason: The
CustomField
,CustomValue
, andGeo
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 fromVulcan
. - Reason: The
CustomField
,CustomValue
, andGeo
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 fromVulcan
. - Reason: The
CustomField
,CustomValue
, andGeo
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 fromVulcan
. - Reason: The
CustomField
,CustomValue
, andGeo
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 fromVulcan
. - Reason: The
CustomField
,CustomValue
, andGeo
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 fromVulcan
. - Reason: The
CustomField
,CustomValue
, andGeo
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 fromVulcan
. - Reason: The
CustomField
,CustomValue
, andGeo
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 to7.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 theSystemProperties
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
andgetFriendlyURLInfoFieldValue
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 newServiceContext
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 newServiceContext
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
andupdateAccountEntry
methods now have a nowString
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
andupdateAccountEntry
methods now have a nowString
parameter for an external reference code. ThefetchAccountEntryByExternalReferenceCode
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 aPermission[]
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 aPermission[]
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 aPermission[]
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 aPermission[]
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 aPermission[]
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 aPermission[]
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 aPermission[]
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 topostImportTaskObject
. - 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
andsort
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
, andsort
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 newlong
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 totitle
. - 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 fromputByExternalReferenceCodeObjectEntryExternalReferenceCodeObjectActionObjectActionName
toputByExternalReferenceCodeObjectActionObjectActionName
. - 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 overridingdoEndTag
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. MethodminifyJavaScript
has been removed as it had been already deprecated long ago. This might affect to those cases whenminifier.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
, andLayout.IconImageId
Service Builder finders now return collections, and various service methods associated with them are removed. Additionally, theLayoutRevision.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. TheLayoutRevision.L_H_P
finder is removed in favor ofLayoutRevision.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
andhasStagingGroup(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)
, andupdateGoogleUserId(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)
andgetUserByFacebookId(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
andupdateUserGroup
methods have a newString
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
andupdateUserGroup
methods have a newString
parameter for an external reference code. Additionally, thefetchUserGroupByExternalReferenceCode
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 theclassPK
andtypePK
parameters removed. Additionally, thegetDefaultWorkflowDefinitionLink(long, String, long, long)
andgetWorkflowDefinitionLink(long, long, String, long, long)
methods are removed. - Reason: The values passed for
classPK
andtypePK
were always0
, 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 thegetUserByExternalReferenceCode(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
andupdateAddress
methods have a newString
parameter for a subtype, and the other parameters are reordered. Additionally, theupdateAddress(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
andupdateAddress
methods have a newString
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 newRunnable
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 newString
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 newString
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 torewriteInlineAttributes
. - 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 toDBColumnSizeUpgradeProcess
and is no longerabstract
. The new constructor now has a parameter fornewColumnType
. - 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 theisWebSphere
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.