We are pleased to announce the release of Liferay Portal 7.4 GA14 and Liferay Commerce 4.0 GA14!

Download options
Liferay Portal and Liferay Commerce share the same Bundle and Docker image. To get started using either Liferay Portal or Liferay Commerce, choose the best download option suited for your environment below.
Docker image
To use Liferay Portal 7.4 GA14:
docker run -it -p 8080:8080 liferay/portal:7.4.3.14-ga14
For more information on using the official Liferay docker image see the liferay/portal repo on Docker Hub.
Bundles and other download options
If you are used to binary releases, you can find the Liferay Portal 7.4 GA14 and Liferay Commerce 4.0 GA14 release on the download page. If you need additional files (for example, the source code, or dependency libraries), visit the release page.
Dependency Management
For development using the Liferay Platform, update Liferay Workspace to use the latest dependencies, by adding the following line to the build.gradle file:
dependencies {
compileOnly group: "com.liferay.portal", name: "release.portal.api"
}
All portal dependencies are now defined with a single declaration. When using an IDE such as Eclipse or IntelliJ all apis are immediately available in autocomplete for immediate use.
By setting a product info key property it will be possible to update all dependencies to a new version by updating the liferay.workspace.product property in the liferay workspace projects gradle.property file:
liferay.workspace.product = portal-7.4-ga14
When using an IDE such as Eclipse or IntelliJ all apis are immediately available in autocomplete for immediate use.
Features
Objects
Manage Object's Entries Permissions Individually
Users are now able to define permissions at object entry level individually, using the Liferay Permissions Framework.
https://issues.liferay.com/browse/LPS-146757
Business Fields Types
Users are now able to identify objects fields by their business friendly names (Date, Text, Relationships, Picklists, Numeric, etc.) and have a quick description of what they are used for. Also, this opens multiple possibilities for new out of the box fields.
https://issues.liferay.com/browse/LPS-142670
Create Custom Views in Custom Objects
Users are now able to create and manage custom table views for listing data from Objects, allowing them to select which collumns should be in each view and replacing the autogenerated ones.
https://issues.liferay.com/browse/LPS-144902
https://issues.liferay.com/browse/LPS-135394
Experience Building
Improve management of color tokens in Style Books
Enhancements of the color picker in the Page Editor, to provide different ways for selecting and copying colors, as well as the possibility to link color tokens to make the selection faster.
https://issues.liferay.com/browse/LPS-141376
Documentation
All documentation for Liferay Portal and Liferay Commerce can now be found on our documentation site: learn.liferay.com. For more information on upgrading to Liferay Portal 7.4 GA14 see refer to the Upgrade Overview.
Compatibility Matrix
Liferay's general policy is to test Liferay Portal and Liferay Commerce against newer major releases of operating systems, open source app servers, browsers, and open source databases (we regularly update the bundled upstream libraries to fix bugs or take advantage of new features in the open source we depend on).
Liferay Portal 7.4 GA14 and Liferay Commerce 4.0 GA14 were tested extensively for use with the following Application/Database Servers:
Application Server
-
Tomcat 9.0
-
Wildfly 18.0, 23.0
Database
-
MySQL 5.7, 8.0
-
MariaDB 10.2, 10.4
-
PostgreSQL 12.x, 13.x
JDK
-
IBM J9 JDK 8
-
Oracle JDK 8
-
Oracle JDK 11
-
All Java Technical Compatibility Kit (TCK) compliant builds of Java 11 and Java 8
Search Engine Compatibility Matrix
Source Code
Source is available as a zip archive on the release page, or on its home on GitHub. If you're interested in contributing, take a look at our contribution page.
Bug Reporting
If you believe you have encountered a bug in the new release you can report your issue by following the bug reporting instructions.
Getting Support
Support is provided by our awesome community. Please visit helping a developer page for more details on how you can receive support.
Fixes and Known Issues
Related Assets...
More Blog Entries...
Confirm the absence of an administrator by running the same query the verifier uses. On older Liferay versions (no type_ column), use:
SELECT COUNT(*)
FROM User_ u
INNER JOIN Users_Roles ur ON u.userId = ur.userId
INNER JOIN Role_ r ON ur.roleId = r.roleId
WHERE r.name = 'Administrator'
AND u.companyId = {companyId}
AND r.companyId = {companyId};
On newer Liferay versions (with the type_ column), add AND u.type_ = 1 (regular user) to the query. If the result is 0, the verifier will fail.
Users_Roles.Company table before retrying the upgrade.Error: No guest user was found for company {companyId}
What it means: The specified virtual instance has no default / guest user. The guest user is used internally by Liferay for unauthenticated access and is required for the platform to operate.
How to fix:
-
Confirm the absence of a guest user by running the same query the verifier uses. The verifier adapts to the schema: if the
defaultUsercolumn exists onUser_, it filters bydefaultUser = TRUE; otherwise it filters bytype_ = 0(guest).-- Newer Liferay versions (defaultUser column exists): SELECT COUNT(*) FROM User_ WHERE companyId = {companyId} AND defaultUser = TRUE; -- Older Liferay versions: SELECT COUNT(*) FROM User_ WHERE companyId = {companyId} AND type_ = 0;If the count is
0, the verifier will fail. - Restore the guest user from a pre-upgrade database backup. Guest users are created automatically when companies are provisioned — a missing guest user usually indicates database corruption or partial data loss, and a backup is the safest recovery.
- If the virtual instance is no longer needed, consider removing it from the
Companytable before retrying the upgrade.
Verifier 2: Database Character Set
Classname: com.liferay.portal.verify.PreupgradeVerifyDatabaseCharacterSet
Validates that the database uses a supported character set. On MariaDB/MySQL, it additionally checks for mixed character sets across tables.
Error: Unsupported database character set: {charset}
What it means: The database is using a character set that Liferay does not support. Liferay requires a Unicode-compatible character set (such as utf8 or utf8mb4) to store multilingual content correctly.
How to fix:
-
Check the current database character set:
- DB2:
SELECT value FROM sysibmadm.dbcfg WHERE name = 'codeset' - MySQL/MariaDB:
SELECT @@character_set_database, @@collation_database; - PostgreSQL:
SELECT pg_encoding_to_char(encoding) FROM pg_database WHERE datname = current_database(); - Oracle:
SELECT value$ FROM sys.props$ WHERE name = 'NLS_CHARACTERSET'; - SQL Server:
SELECT DATABASEPROPERTYEX(DB_NAME(), 'Collation');
- DB2:
