Security

Users can perform actions without the proper permissions
Minifier servlet allows access to any file on the system
Some JSONService allows unauthenticated access
Users are vulnerable to cross-site request forgery
Guests can access any portlet by changing URL parameters
All portlets in a community is viewable regardless of permission
Authentication via https does not redirect correctly to non standard ports
Redirect url attributes are not handled properly in windows
Added ability to limit MVCPortlet to a specific path

Performance

Service builder caches incorrect values when called from message bus
Web services do not clean up their thread locals
Memory leak related with message bus configurator
Memory leak with Quartz
Memory leak with Spring
Memory leak related with ProgressTrackerThreadLocal
Service Hooks do not work if multiple services are overwritten
StringServletOutputStream does not use unsync IO classes
Service builder is slow because it is initialized twice
Improved performance related to retrieving the portal's port
Improved performance of StringBundler
Improved performance related to encoding portlet keys
Improved performance of URL taglibs
Server runs low on memory when download large file from the Document Library
Expanding all pages in Manage Pages does not work
Improved Ehcache performance in large clusters
Improved performance by cleaning up Spring beans cache after startup
Reduce heap size requirement in Servlet 2.5+ containers
Performance improvement for PortletPreferences
Cache key prefixes are now cached to improve performance
Compressed CSS/JavaScript are now cached
Improved performance of UnicodeFormatter
Improved performance of MethodInvoker
Improved performance of StringUtil.split()
Improved performance of CacheResponse
Google Analytics updated to load asynchronously
Removed extraneous logic from thread caches
Switching to StAX for XML parsing
Replaced StringBuilder with StringBundler
Improved performance of taglibs
Improved file IO performance
Improved performance by not caching language keys with no value
Improved performance of Service Builder generated models
Copying a user group template pages to a user is now faster
Improved performance by removing StringBuilder parameters
Improved performance by caching layout settings
Improved performance of StringServletResponse
Improved performance of BaseFilter
Improved performance of HttpUtil and HtmlUtil
New StringUtil.replace() method for multi-key-value replacement
StringUtil now uses StringBundler instead of StringBuilder
Improved performance of LayoutTemplateLocalService
Improved performance of StringServletResponse
Replaced escaped model with a escaped view
Improved performance of Layouts
Improved performance of velocity
Improved performance of InitialThreadLocal

General

Service builder caches incorrect values when called from message bus
Quartz does not have enough time to shutdown
JSON services do not work if the user is required to change his password
FCKEditor does not work correctly with HTML 5
Communities are not sorted alphabetically
Browsers incorrectly identified as IE6
Added option to remember maximized window state across pages
Spring beans are not shut down
Add application filtering may not work sometimes
Shut down errors related with HttpUtil
Shut down errors related with ThreadLocalRegistry
Axis is not shutdown properly
HttpUtil.URLtoByteArray() does not set the user agent or content type
i18n friendly URLs do not work without a slash
Wrong URL for private pages when virtual.hosts.default.community.name is set
IE dose not correctly handling downloading non-ascii file names
Old properties in portal-developer.properties
Duplicate key exceptions during startup
RoleLocalServiceUtil.getUserRelatedRoles() causes SQL error
StreamUtil does not close channels
Two argument constructor for LastPath causes an exception
Some classes implement equal() without implementing hashCode()
Incorrect usage of DateFormatFactoryUtil in threaded environments
Option to disable "Request Processed Successfully" from LiferayPortlet
Can not upload a user portrait image in IE8
Communities are not sorted correctly
Concurrency issues with InvokerPortlet
Setting the user-principal-strategy to screenName causes exceptions
Bug with JDK's JIT implementation
ClassCastException when using RenderRequestWrapper
Guest can not add comment even if given permission
PwdEncryptor does not correctly encrypt text using the crypt algorithm
tiles-defs.xml is not validated
Grammar mistake in custom CSS instructions
Log messages contain unhelpful array symbols
Improved logging for PropsUtil
/html/portal/css.jsp has been split into multiple files for easier customization
Add ability to dynamically scale images
Numeric screen names are now allowed
Development parameters now last the entire session
Add ability to not display pagination controls above results
Optimized ProgressTracker's code for getting sessions
Add ability to restrict company users from modifying their screennames and email addresses
Improved debug logging for redirect URL
Added a "system" type community

Accessibility

Added a ValidHtmlFilter

Application Server Support

Portal does not start up if using -Djboss.vfs.forceVfsJar=true
Application server throws an error when it starts without internet connection
Class loading issues with JBoss and Windows

Authentication

Authentication via https does not redirect correctly to non standard ports
Middle names are not exported to LDAP
LDAP users that login will import all associated groups without using the group filter
RequestHeaderAutoLogin always import user from LDAP
Setting a screen name generator from a hook does not work with LDAP imports
Wrong number of passwords remembered in password history
Incorrect URL used to verify OpenID authentication
auth.forward.by.last.path & default.landing.page.path do not work with CAS
LDAP import does not properly handle users with no screen names and email address
Deep linking when using OpenSSO does not work
Authentication filters do not work with localized URLs
Export settings for LDAP is labeled incorrectly
Allow user registration to login the user and redirect to a page
User middle names can now be mapped to a LDAP attribute
Added CAS authentication by email address
PortalLDAPUtil has been refactored into multiple classes
Improved error messages when LDAP fails to connect
SiteMinder authentication now obey the authentication type

Control Panel

Non-Company Admins are not able to assign user roles
Users retain organization roles even after leaving the organization
Updating a user/organization's contact info will delete/re-add it
New database shards do not add plugin tables
Uploading an invalid user portrait causes an exception
Pagination control in monitoring does not work
Changing "Available Languages" has no effect
Community roles do not paginate correctly
Defining permissions for a role is very slow if there is lots of data
Can not edit a user from the user group section of Control Panel
Users can still edit their email addresses even if it's restricted to admins only
Page scoped portlet preferences are not read correctly
Searching by article ID does not work
Web Content portlet configurations can not be saved
Portlet configuration in the Control Panel contains irrelevant tabs
Portlet configuration's Archived does not work in Control Panel
Inactive portlets appear in the Control Panel menu
Tags search display results are being truncated in control panel
Role community scoping throws javascript error
Going to a different section in the form navigation menu causes the page to reload
Non-Administrator users can not create users
Non-Administrator users can not access Communities portlet in Control Panel
User middle names can now be mapped to a LDAP attribute
New option to ignore custom roles when converting permission algorithms
Server restart is now required after upgrading permission algorithm

Database

Attempting to verify a MySQL table status whose engine column is null results in an error
New database shards do not add plugin tables
ResourceAction table's name column is too small
Plugins using Service Builder do not use all database shards
Hypersonic data is created in the wrong folder
Database columns for URLs are too small
PortalCache throws an IllegalArgumentException because of EntityCacheImpl
DBCP causes a Broken Pipe SocketException
JDBC properties for the counter does not inherit properties from jdbc.default.*
Dynamic queries do not return results when QueryUtil.ALL_POS is used
Plugins now automatically use read/write database splitting
HSQL Database Engine updated to version 1.8.1.2
Transaction manager can now be configured in portal.properties

Export/Import (LAR)

Portlet level permissions are not being imported or exported
Web content article titles are wrong in Asset Publisher after importing a site
Layouts of type "URL" with relative links to pages in other communities are not preserved on import
New version of Document Library files created when publishing from staging
Temporary files from importing a site is not deleted
Group ID is not set in Journal's ServiceContext when importing a LAR
Importing a portlet LAR does not import permissions
Can not export a Document Library with a non-ascii file name
Site import/export option "Permissions Assigned to Roles" is not needed
Create and modified date of bookmarks are now preserved during a site import
Create and modified date of images are now preserved during a site import
Create and modified date of document library files are now preserved during a site import
Create and modified date of blogs are now preserved during a site import
Create and modified date of web contents are now preserved during a site import
Create and modified date of wiki portlet are now preserved during a site import
Create and modified date of polls are now preserved during a site import
Create and modified date of ratings are now preserved during a site import

Extension Environment

Struts-config-ext.xml is not overwritting struts-config.xml
Library jars in extension plugin are not copied
Compiling a ext plugin throws error because of missing dist/ folder

Framework/API

Removed support for Friki
Portlet 2.0 (JSR 286) Compliance - Incorrect window ID
Portlet 2.0 (JSR 286) Compliance - Setting portlet window state
Attaching a session destroy event causes the portal to crash during startup
MethodInvoker calls the wrong method
NamespaceServletRequest does not return shared request attributes
Web key VM_VARIABLES is not available from plugins
Events are not serialized across plugins
Plugins using Service Builder do not use all database shards
CounterLocalServiceUtil.reset(String, int) does not work
Dockbar portlet is missing from PortletKeys
Portlet render parameters are not shared between layouts
Portlet window states are not being saved in a session
Setting wrong c3p0 properties does not cause an error
Counter service does not work with JTA
Removed unused methods in PortalUtil
Cannot view document library file or add pages when user does not have group membership
Added getProgress() method to ProgressTracker
Restored old sample portlet in Plugins SDK
Http class is missing header methods
Service builder generated classes do not correctly use Counter and Resource
Added new getWrappedSession() method to HttpSessionWrapper
Added create/modified date to ServiceContext
LocalServiceUtil.lock() will never throw a DuplicateLockException
Using another portlet's service does not work
Service builder is slow because it is initialized twice
Service Builder generates invalid SQL for Hypersonic
Dom4j XML wrappers do not implement toString()
Added new find by companyId and active methods to UserUtil
PORTLET_CONFIGURATOR_VISIBILITY web key is now available to plugins
Add new finder methods for MB Threads
Added a LRU Cache
Added a DeterminateKeyGenerator
Updated Spring to use JDK 5
New write method for FileUtil
New unsafeGetByteArray() method for UnsyncByteArrayOutputStream
Removed extraneous logic from thread caches
PortalUtil.getUploadPortletRequest() now takes a PortletRequest
Cache classes moved to new package
Added a simple XML Element class
Content length and type now available from HTTP proxy response
Added new getCompanyGroups() method to GroupLocalServiceUtil
StringBundler can now append characters & StringBundler
Transaction manager can now be configured in portal.properties
PropsUtil in kernel now accepts a Filter
Added new getDateValues() method to GetterUtil and ParamUtil
Added new clone() methods to ArrayUtil
Non-ascii document titles in IE
ZipReader & ZipWriter now support additional formats
Moved ThemePreviewFilter's package to follow naming pattern
Added getControlPanelFullURL() method to PortalUtil
PortletKeys is missing multiple keys
Added a cluster link executor class
Added additional get methods to PrefsPropsUtil
DB.build*() methods now requires an extra sqlDir argument
MimeTypesUtil.getContentType() now gives preference to the file name
Added new constant to ContentTypes for Microsoft Word documents
Added new getLong() methods to MapUtil
Added new add() methods to QueryPos
Added new addOrderByComparator() method to OrderFactoryUtil
Tuple can now be created with an unlimited number of objects
Added new CacheKeyGeneratorUtil class
Renamed ThreadLocalCacheFilter to ThreadLocalFilter
Added new LockRegistry class
Added new dynamicQueryCount() method to service classes
Added ability to use Class instead of name for Bean Reference
Updated Service Builder to use Class for bean reference
Improved performance of Service Builder generated models
Added additional addOrderBy() methods to DocumentComparator
Added new encodePath() method to HttpUtil
New StringUtil.replace() method for multi-key-value replacement
Added option to use cglib instead of JDK's dynamic proxy
Added new writeTo() method to StringBundler
Added new getValidUserId() method to PortalUtil
Google Apps API is now available to plugins
Added new fastLoad() method to UnicodeProperties
*BeanHandler classes now expose the underlying bean
Added new getString() method to PrefsPropsUtil
Added new methods for determining the layout type
Added a message listener to log hot deploy/undeploy events
Plugins with localized attributes will not compile because of LocalizationUtil
Added new clonePortlet() method to PortletLocalServiceUtil
Allow EnterpriseAdminUtil to be used in plugins
Added a default constructor to UnsyncStringWriter
Wrong author information in auto generated files

High Availability / Clustering

New database shards do not add plugin tables
Cache creation errors during sever start up
Plugins using Service Builder do not use all database shards
ClusterLink does not have a destroy() method
Plugin configuration settings are not propagated to other nodes in a cluster
Web content template does not update in other nodes of a cluster when updated
BrowserTracker service fails under high load
Improved Ehcache performance in large clusters
Multicast settings now configurable from portal.properties
Added net interface binding information for ClusterLink
Added a separate channel for ClusterLink control
Refactored cluster link to have separate receiver logic
Added a cluster link executor class

JavaScript

Link for multiple file uploader does not appear
The check for maximum number of characters on input fields is validated incorrectly
The "suggestions" button which provides suggested tags does not work for Web Content articles that use a structure
Disabling strip filter breaks ajaxable portlets
Expanding all pages in Manage Pages does not work
Compressed CSS/JavaScript are now cached

Localization

Friendly URLs can not start with a locale + / does not work with virtual hosts
Date input field is not localized
Unlocalized phrase in WSRP portlet
User language can only be changed once
Venezuela time is not a time zone option
Added new toW3cLanguageId() methods to LocaleUtil

Manage Pages

Multiple pages can have the same id
Friendly URLs can start with /dtd/
Changing the friendly URL of a page will cause an exception
Accessing a "Link to Page" type page created in the Control Panel causes an infinite loop
Manage pages "Copy Page" & "Link to Page" combo boxes do not show the correct pages
Hidden portlets can be added to a panel type page
The title for a theme's thumbnail is not properly aligned in IE6
Expanding all pages in Manage Pages does not work

Permissions

Users without permission can view images through the slide show
Portlet data permissions are not exported
Users retain organization roles even after leaving the organization
Guest can be given permission to assign roles
Can not change permissions when using permission algorithm 6
Users who belong to a community via an organization do not have any community role
Search may not return all results a user has permission to view
The "Manage Pages" permission overrides the "Publish to Live" permission
The Community Member role can still be given or removed from a user affiliated with a community
Can not give permission to delete a page
Permission checks for Organization roles are not working
Importing a portlet LAR does not import permissions
Can not edit instanceable portlet permission when using permission algorithm 6
Role community scoping throws javascript error
Non-Administrator users can not access Communities portlet in Control Panel
Public checkbox does not account for the default guest view permissions
Server restart is now required after upgrading permission algorithm

Plugin - Hooks

Service Hooks do not work if multiple services are overwritten
Hook deployment causes files to be periodically corrupted
value.object.listeners.* properties do not take more than one class
Setting a screen name generator from a hook does not work with LDAP imports
Class loading issues with plugins
Setting auth.pipeline.* properties in a plugin hook has no effect

Plugin - Portlets

Memory leak with Spring
Removing view permission from a WSRP portlet causes an error
util-java.jar in plugins is not upgraded
Undeployed portlets are show up as portlets without view permission
Checking permissions from a plugin causes exceptions
Class loading issues with plugins
Plugin portlets do not deploy if there is no <guest-unsupported>
Plugin portlets display null as the portlet description
Old version of static resources are served to browsers
Plugin portlets now defaults to the same transaction manager as the portal

Plugin - Theme

$saxReaderUtil does not work in velocity templates
Newly added portlets ignores the theme's CSS
Add html classnames to make styling easier
Added CSS classes for signed in and signed out states

Plugin Portlet - WOL

No default image in WOL's Meetup portlet
JIRA portlet no longer synchronizes with LPE

Plugin Portlet - WSRP

Can not add a WSRP Consumer
Portlets can not load resources through WSRP
Can not reply in Message Boards through WSRP
Images do not show up in WSRP consumer portlet
Stopping a portlet on the producer results in being unable to manage portlets on the consumer
Redeploying a WSRP portlet causes the portlet to become unavailable
Can not switch out WSRP consumer portlet
Portlet mode is not stored in shared session
WSRP proxied portlets goes into widget mode after a second submit
WSRP consumer portlet does not maintain sessions correctly
WSRP doGetResource() method does not include form data
"Return to Full Page" does not work with WSRP proxied portlets
Unlocalized phrase in WSRP portlet
Improve robustness of WSRP request parsing
WSRP unable to add portlet to consumer when producer contains portlet without display name
Users can add a remote portlet twice on the WSRP consumer administration page
WSRP does not properly proxy instanceable portlets
wsrp-preferOperation parameter is ignored during a getResource operation
All WSRP producer portlets uses the same community
Improper handling of null values when registering a new consumer
Improved support for redirects in WSRP
RenderURLParams taglib is now WSRP aware
WSRP proxied portlets can now specify its category

Plugin Web - Solr

Searching within portlets is causing an error when Solr is used.
Solr web plugin causes exceptions
only one tag of multiple tags in entries is searchable by solr web plugin
Least relevant search results are displayed first when using Solr
Searching a tag with multiple words fails if search term is not the first word of the tag name

Plugins

Web key VM_VARIABLES is not available from plugins
Events are not serialized across plugins
Library jars in extension plugin are not copied
Compiling a ext plugin throws error because of missing dist/ folder
Plugins now automatically use read/write database splitting
Google Apps API is now available to plugins
External build.xml can now set the parent directory for new plugin projects
Plugins with localized attributes will not compile because of LocalizationUtil

Portlet

Portlet widgets generates invalid HTML
Adding to the header in PortletResponseImpl is not implemented correctly
Netvibes widgets may not work

Portlet - Announcement

Paging in Announcement portlet does not work
Users assigned to a role via a user group do not receive announcements
Announcement portlet's distribution scope does not list all communities

Portlet - Asset Publisher

Actions performed on selected assets in Asset Publisher configuration can cause problems for adding new assets
Web content article titles are wrong in Asset Publisher after importing a site
Asset publisher is not letting you save settings in ie when manual selection is set
Asset publisher displays success message incorrectly
Asset publisher shows an error if a user deletes a folder that is being used in the portlet
Asset Publisher no longer allows assets to be created in live site

Portlet - Blog

Unable to edit blogs through the Blogs Aggregator portlet
Blogs aggregator creates wrong RSS link for selection type scope
Publishing a Blog draft does not have the default permissions
Blogs Aggregator and Recent Bloggers portlets display both live and staging blog entries
Blog entries with one comment says "1 Comments"
Finding blog entries should look for the blogs aggregator portlet
Blogs no longer ping Google if domain is localhost
Create and modified date of blogs are now preserved during a site import

Portlet - Bookmarks

Create and modified date of bookmarks are now preserved during a site import

Portlet - Calendar

Deleted calendar events appear in search results
Importing an iCal may cause an exception
Calendar - Event title does not show certain characters in Edit mode
All day events spans two days if using SQL Server

Portlet - Document Library

Cannot move documents in Document Library Portlet
Items in Document Library cannot be moved to other folders when using JCR Hook
Document Library does not allow zero sized files
Can not create a sub-folder with the name of an existing file
Auto login does not work when directly accessing documents and articles
Cannot upload files with certain characters in the filename to Message Board and Wiki portlets
Document library throws an exception when changing the parent folder that contains a large number of subfolders
Deleted Document Library folders are not deleted from file system
dl.file.max.size is not respected
Link for multiple file uploader does not appear
OpenOffice documents are not searched
Can't set Document Library's Extra Settings Properties.
New version of Document Library files created when publishing from staging
Document library file permissions are not accessible if you are the owner
Document Library file version's create date is wrong
Deleting the latest file version causes issues when downloading
Files with invalid characters in the file name are not accessible
Organizations do not show up in WebDAV
Server runs low on memory when download large file from the Document Library
Content of MS Office 2007 documents are now searchable
Added document conversion for Office 2007 documents
Update DLFileVersion to contain description data specific to the version
Improved exception messages for FileSystemHook
Create and modified date of document library files are now preserved during a site import
Add Document Library icons for Office 2007 documents

Portlet - Image Gallery

An Image Gallery folder with a large amount of images will throw an out of memory error when a user attempts to delete it
Cannot upload files with certain characters in the filename to Message Board and Wiki portlets
Image gallery does not display image on popup using ie6
Link for multiple file uploader does not appear
Custom sized images are not deleted
Organizations do not show up in WebDAV
Create and modified date of images are now preserved during a site import

Portlet - Language

Flags in Language portlet have wrong color

Portlet - Message Boards

When a MB Thread view permission is removed, most of the thread's messages are still viewable through the RSS feed
It is possible to view restricted Message Board messages
Message Boards thread status is not changed to unresolved after removing answers
Message board merge with parent checkbox displays an error when checked
The previous and next buttons may not work in Message Board threads
Cannot upload files with certain characters in the filename to Message Board and Wiki portlets
Default thread splitting message is missing
Can not reply in Message Boards through WSRP
Message board posts may be displayed with syntactically incorrect HTML
Message board post count does not reflect correct number when you delete a message
Deleting a comment will lock MBCategory table
Long lines extend out of the Message Board portlet
Add new finder methods for MB Threads

Portlet - My Communities

View All / Add links incorrectly appears at the top of the portlet
Private communities can be searched for

Portlet - Nested Portlets

Portlets In a Nested Portlets disappears after 5.2 SP1 to SP2 upgrade
Can not add portlets to Nested Portlets without first changing the layout

Portlet - Polls

Incorrect poll choice is deleted
Create and modified date of polls are now preserved during a site import

Portlet - Search

Search portlet incorrectly indicates there are more search results
Added portlet indexer mapping to IndexerRegistry

Portlet - Sign In

Users can not sign in/out due to session listeners
More helpful error messages when creating an account

Portlet - Software Catalog

Software Catalog does not work with virtual hosts
Software catalog UI is not consistent

Portlet - Web Content

Can not preview expired web content
Web content display causes images to overlap over the portlet borders
$saxReaderUtil does not work in velocity templates
The "suggestions" button which provides suggested tags does not work for Web Content articles that use a structure
Old version of web content is indexed when reindexing search indexes
Changing template does not get published from staging
Searching by article ID does not work
Web Content portlet configurations can not be saved
Items per page selection in web content structure and template popup do not work
Organizations do not show up in WebDAV
When Web Content Display is used to edit an article, messages from previous edits are sometimes displayed
Create and modified date of web contents are now preserved during a site import
Add option to get friendly URL in web content templates
Added ability to use custom tokens in web content articles

Portlet - Wiki

Removed support for Friki
Wiki Friendly URLs should default to tags when folksonomy is not specified
Cannot upload files with certain characters in the filename to Message Board and Wiki portlets
Moved wiki pages appears in search results
Edit to Wiki Attachments causes an incorrect redirect
Redirected to the wrong page after adding a wiki page
Can not edit a wiki page's permission
Wiki pages with one attachments says "1 Attachments"
Create and modified date of wiki portlet are now preserved during a site import

Reporting

Added an audit tracking framework

Search

Can not add Liferay as a search provider
OpenOffice documents are not searched
Updating a tag does not update the search index of assets with the tag
Moved wiki pages appears in search results
Old version of web content is indexed when reindexing search indexes
Lucene database tables are not created automatically
Private communities can be searched for
Search for resource with owner permission are not searchable
Content of MS Office 2007 documents are now searchable

Service Builder

Service builder does not wok with entities named *Service
Service Builder generated soap services do not return primitive arrays
Service builder does not wok if package-path contains ".service."
ServiceBuilder generates wrong SQL for "primary key" in mapping-tables if "db-name" is used

Staging

Portlet data permissions are not exported
Selected pages scope in publish to remote and publish to live does not function
Users with the Manage Pages permission are not able to view staged page
Web content article titles are wrong in Asset Publisher after importing a site
Changing template does not get published from staging
New version of Document Library files created when publishing from staging
The "Manage Pages" permission overrides the "Publish to Live" permission
Group ID is not set in Journal's ServiceContext when importing a LAR
Community/Organization members are assignable to workflow stage roles
Create and modified date of bookmarks are now preserved during a site import
Create and modified date of images are now preserved during a site import
Create and modified date of document library files are now preserved during a site import
Create and modified date of blogs are now preserved during a site import
Create and modified date of web contents are now preserved during a site import
Create and modified date of wiki portlet are now preserved during a site import
Asset Publisher no longer allows assets to be created in live site
Added data cleanup to staging
Create and modified date of polls are now preserved during a site import
Create and modified date of ratings are now preserved during a site import

TagLib

Time input fields do not use user's locale
Added a new CSS class to the panel taglib to help style a basic basic panel
<liferay-ui:page-iterator> generates invalid JavaScript code
Date input field is not localized
The check for maximum number of characters on input fields is validated incorrectly
liferay-ui.tld does not validate
<liferay-util:include> and <liferay-security:doAsURL>can not be used in plugins
<liferay-portlet:runtime> does not have access to query string
Improved performance of URL taglibs
$taglibLiferay.language() does not work in themes
Page pagination controls text overlaps with image
RenderURLParams taglib is now WSRP aware
Improved performance of taglibs
<liferay-ui:message> now accepts arguments
Improve discussions to allow multiple discussions per portlet per page

Third Party Libraries

Memory leak with Quartz
Memory leak with Spring
Removed OpenXRI library
Setting wrong c3p0 properties does not cause an error
ICU4J 4.0.1 does not normalize certain characters
Class loading issues with JBoss and Windows
AspectJ updated to version 1.6.8
Apache Commons libraries updated
Jackrabbit updated to version 1.6.1
jTDS updated to version 1.2.5
HSQL Database Engine updated to version 1.8.1.2
Compass updated to version 2.2.0
Apache POI updated to version 3.6
Velocity updated to version 1.6.3
jabsorb updated to version 1.3.1
Display Tag Library updated to version 1.2
Mozilla Charset Detectors updated to version 1.1
PostgreSQL JDBC Driver updated to version 8.4-701
JCommon updated to version 1.0.16
JFreeChart updated to version 1.0.13
OpenID 4 Java updated to version 0.9.5.593
SLF4J updated to version 1.5.10
Geo Tools updated to version 2.6.1
Added POI OOXML and XMLBeans jars
JODConverter updated to version 2.2.2
NekoHTML updated to version 1.9.14
Added spring-test.jar
Ant updated to version 1.8.0
Quartz updated to version 1.7.2
Jericho HTML Parser updated to version 3.1
MySQL Connector/J downgraded to version 5.0.7
Ehcache updated to 2.0.0

Upgrade

Verify User process fails in creating a contact for users without an associated contact
Portlets In a Nested Portlets disappears after 5.2 SP1 to SP2 upgrade
Database columns for URLs are too small
util-java.jar in plugins is not upgraded
PortletPreferences.reset() incorrectly causes an error during an upgrade
Journal Article portlet prevents upgrading from 5.1.0 / 5.1.1 CE to 5.1 / 5.2 EE
Upgrade Process for 5.1.8 to 5.2.8
It is now possible to upgrade from 5.1 EE to 5.2 EE
Add property to turn off reindexing after an upgrade
com.liferay.documentlibrary.util.DLIndexer
Method: addFile(long companyId, String portletId, long groupId, long repositoryId, String fileName)
Status: Deprecated
New method: addFile(long companyId, String portletId, long groupId, long userId, long repositoryId, String fileName)
See: LPE-2405
Method: addFile(long companyId, String portletId, long groupId, long repositoryId, String fileName, long fileEntryId, String properties, Date modifiedDate, String[] tagsCategories, String[] tagsEntries)
Status: Deprecated
New method: addFile(long companyId, String portletId, long groupId, long userId, long repositoryId, String fileName, long fileEntryId, String properties, Date modifiedDate, String[] tagsCategories, String[] tagsEntries)
See: LPE-2405
Method: getFileDocument(long companyId, String portletId, long groupId, long repositoryId, String fileName)
Status: Deprecated
New method: getFileDocument(long companyId, String portletId, long groupId, long userId, long repositoryId, String fileName)
See: LPE-2405
Method: getFileDocument(long companyId, String portletId, long groupId, long repositoryId, String fileName, long fileEntryId, String properties, Date modifiedDate, String[] tagsCategories, String[] tagsEntries)
Status: Deprecated
New method: getFileDocument(long companyId, String portletId, long groupId, long userId, long repositoryId, String fileName, long fileEntryId, String properties, Date modifiedDate, String[] tagsCategories, String[] tagsEntries)
See: LPE-2405
Method: updateFile(long companyId, String portletId, long groupId, long repositoryId, String fileName, long fileEntryId, String properties, Date modifiedDate, String[] tagsCategories, String[] tagsEntries)
Status: Deprecated
New method: updateFile(long companyId, String portletId, long groupId, long userId, long repositoryId, String fileName, long fileEntryId, String properties, Date modifiedDate, String[] tagsCategories, String[] tagsEntries)
See: LPE-2405
com.liferay.documentlibrary.util.DLIndexerUtil
Method: addFile(long companyId, String portletId, long groupId, long repositoryId, String fileName)
Status: Deprecated
New method: addFile(long companyId, String portletId, long groupId, long userId, long repositoryId, String fileName)
See: LPE-2405
Method: addFile(long companyId, String portletId, long groupId, long repositoryId, String fileName, long fileEntryId, String properties, Date modifiedDate, String[] tagsCategories, String[] tagsEntries)
Status: Deprecated
New method: addFile(long companyId, String portletId, long groupId, long userId, long repositoryId, String fileName, long fileEntryId, String properties, Date modifiedDate, String[] tagsCategories, String[] tagsEntries)
See: LPE-2405
Method: getFileDocument(long companyId, String portletId, long groupId, long repositoryId, String fileName)
Status: Deprecated
New method: getFileDocument(long companyId, String portletId, long groupId, long userId, long repositoryId, String fileName)
See: LPE-2405
Method: getFileDocument(long companyId, String portletId, long groupId, long repositoryId, String fileName, long fileEntryId, String properties, Date modifiedDate, String[] tagsCategories, String[] tagsEntries)
Status: Deprecated
New method: getFileDocument(long companyId, String portletId, long groupId, long userId, long repositoryId, String fileName, long fileEntryId, String properties, Date modifiedDate, String[] tagsCategories, String[] tagsEntries)
See: LPE-2405
Method: updateFile(long companyId, String portletId, long groupId, long repositoryId, String fileName, long fileEntryId, String properties, Date modifiedDate, String[] tagsCategories, String[] tagsEntries)
Status: Deprecated
New method: updateFile(long companyId, String portletId, long groupId, long userId, long repositoryId, String fileName, long fileEntryId, String properties, Date modifiedDate, String[] tagsCategories, String[] tagsEntries)
See: LPE-2405
com.liferay.portal.UserPortraitException
Status: Deprecated
New class: com.liferay.portal.UserPortraitSizeException, com.liferay.portal.UserPortraitTypeException
See: LPE-1948
com.liferay.portal.kernel.dao.db.DB
Method: buildCreateFile(String databaseName)
Status: Deleted
New method: buildCreateFile(String sqlDir, String databaseName)
See: LPE-2138
Method: buildCreateFile(String databaseName, int population)
Status: Deleted
New method: buildCreateFile(String sqlDir, String databaseName, int population)
See: LPE-2138
Method: buildSQLFile(String fileName)
Status: Deleted
New method: buildSQLFile(String sqlDir, String fileName)
See: LPE-2138
com.liferay.portal.kernel.dao.orm.EntityCache
Method: setLocalCacheEnabled(boolean localCacheEnabled)
Status: Deleted
See: LPE-1922
com.liferay.portal.kernel.dao.orm.EntityCacheUtil
Method: setLocalCacheEnabled(boolean localCacheEnabled)
Status: Deleted
See: LPE-1922
com.liferay.portal.kernel.dao.orm.FinderCache
Method: setLocalCacheEnabled(boolean localCacheEnabled)
Status: Deleted
See: LPE-1922
com.liferay.portal.kernel.dao.orm.FinderCacheUtil
Method: setLocalCacheEnabled(boolean localCacheEnabled)
Status: Deleted
See: LPE-1922
com.liferay.portal.kernel.messaging.config.AbstractMessagingConfigurator
Method: init()
Status: Deprecated
New method: afterPropertiesSet()
See: LPE-2099
com.liferay.portal.kernel.messaging.jmx.JMXMessageListener
Method: init()
Status: Deprecated
New method: afterPropertiesSet()
See: LPE-2099
com.liferay.portal.kernel.util.ClassLoaderProxy
Method: ClassLoaderProxy(Object obj, ClassLoader classLoader)
Status: Deprecated
New method: ClassLoaderProxy(Object obj, String className, ClassLoader classLoader)
See: LPE-2228
com.liferay.portal.kernel.util.StringUtil
Method: replaceValues(String s, String begin, String end, Map<String, String> values)
Status: Deprecated
New method: replace(String s, String begin, String end, Map<String, String> values)
See: LPE-2302
com.liferay.portal.service.PortletLocalService
Method: deployRemotePortlet(Portlet portlet)
Status: Deleted
New method: deployRemotePortlet(Portlet portlet, String categoryName)
See: LPE-2100
Method: newPortlet(long companyId, String portletId)
Status: Deprecated
New method: clonePortlet(long companyId, String portletId)
See: LPE-2399
com.liferay.portal.service.PortletLocalServiceUtil
Method: deployRemotePortlet(Portlet portlet)
Status: Deleted
New method: deployRemotePortlet(Portlet portlet, String categoryName)
See: LPE-2100
Method: newPortlet(long companyId, String portletId)
Status: Deprecated
New method: clonePortlet(long companyId, String portletId)
See: LPE-2399
com.liferay.portal.service.PortletLocalServiceWrapper
Method: deployRemotePortlet(Portlet portlet)
Status: Deleted
New method: deployRemotePortlet(Portlet portlet, String categoryName)
See: LPE-2100
Method: newPortlet(long companyId, String portletId)
Status: Deprecated
New method: clonePortlet(long companyId, String portletId)
See: LPE-2399
com.liferay.portal.util.Portal
Method: getBasePersistence(BaseModel<?> baseModel)
Status: Deleted
See: LPE-2072
Method: getBasePersistence(String servletContextName, String className)
Status: Deleted
See: LPE-2072
Method: getServletContextName(BaseModel<?> baseModel)
Status: Deleted
See: LPE-2072
Method: renderPage(StringBuilder sb, ServletContext servletContext, HttpServletRequest request, HttpServletResponse response, String path)
Status: Deleted
New method: renderPage(ServletContext servletContext, HttpServletRequest request, HttpServletResponse response, String path)
See: LPE-2261
Method: renderPortlet(StringBuilder sb, ServletContext servletContext, HttpServletRequest request, HttpServletResponse response, Portlet portlet, String queryString)
Status: Deleted
New method: renderPortlet(ServletContext servletContext, HttpServletRequest request, HttpServletResponse response, Portlet portlet, String queryString, boolean writeOutput)
See: LPE-2261
Method: renderPortlet(StringBuilder sb, ServletContext servletContext, HttpServletRequest request, HttpServletResponse response, Portlet portlet, String queryString, String columnId, Integer columnPos, Integer columnCount)
Status: Deleted
New method: renderPortlet(ServletContext servletContext, HttpServletRequest request, HttpServletResponse response, Portlet portlet, String queryString, String columnId, Integer columnPos, Integer columnCount, boolean writeOutput)
See: LPE-2261
Method: renderPortlet(StringBuilder sb, ServletContext servletContext, HttpServletRequest request, HttpServletResponse response, Portlet portlet, String queryString, String columnId, Integer columnPos, Integer columnCount, String path)
Status: Deleted
New method: renderPortlet(ServletContext servletContext, HttpServletRequest request, HttpServletResponse response, Portlet portlet, String queryString, String columnId, Integer columnPos, Integer columnCount, String path, boolean writeOutput)
See: LPE-2261
com.liferay.portal.util.PortalUtil
Method: getBasePersistence(BaseModel<?> baseModel)
Status: Deleted
See: LPE-2072
Method: getBasePersistence(String servletContextName, String className)
Status: Deleted
See: LPE-2072
Method: getServletContextName(BaseModel<?> baseModel)
Status: Deleted
See: LPE-2072
Method: renderPage(StringBuilder sb, ServletContext servletContext, HttpServletRequest request, HttpServletResponse response, String path)
Status: Deleted
New method: renderPage(ServletContext servletContext, HttpServletRequest request, HttpServletResponse response, String path)
See: LPE-2261
Method: renderPortlet(StringBuilder sb, ServletContext servletContext, HttpServletRequest request, HttpServletResponse response, Portlet portlet, String queryString)
Status: Deleted
New method: renderPortlet(ServletContext servletContext, HttpServletRequest request, HttpServletResponse response, Portlet portlet, String queryString, boolean writeOutput)
See: LPE-2261
Method: renderPortlet(StringBuilder sb, ServletContext servletContext, HttpServletRequest request, HttpServletResponse response, Portlet portlet, String queryString, String columnId, Integer columnPos, Integer columnCount)
Status: Deleted
New method: renderPortlet(ServletContext servletContext, HttpServletRequest request, HttpServletResponse response, Portlet portlet, String queryString, String columnId, Integer columnPos, Integer columnCount, boolean writeOutput)
See: LPE-2261
Method: renderPortlet(StringBuilder sb, ServletContext servletContext, HttpServletRequest request, HttpServletResponse response, Portlet portlet, String queryString, String columnId, Integer columnPos, Integer columnCount, String path)
Status: Deleted
New method: renderPortlet(ServletContext servletContext, HttpServletRequest request, HttpServletResponse response, Portlet portlet, String queryString, String columnId, Integer columnPos, Integer columnCount, String path, boolean writeOutput)
See: LPE-2261
com.liferay.portlet.InvokerPortlet
Method: create(Portlet portletModel, Portlet portlet, PortletConfig portletConfig, PortletContext portletContext, boolean facesPortlet, boolean strutsPortlet, boolean strutsBridgePortlet)
Status: Deleted
New method: create(Portlet portletModel, Portlet portlet, PortletConfig portletConfig, PortletContext portletContext, boolean checkAuthToken, boolean facesPortlet, boolean strutsPortlet, boolean strutsBridgePortlet)
See: LPE-2236
Method: prepare(Portlet portletModel, Portlet portlet, PortletConfig portletConfig, PortletContext portletContext, boolean facesPortlet, boolean strutsPortlet, boolean strutsBridgePortlet)
Status: Deleted
New method: create(Portlet portletModel, Portlet portlet, PortletConfig portletConfig, PortletContext portletContext, boolean checkAuthToken, boolean facesPortlet, boolean strutsPortlet, boolean strutsBridgePortlet)
See: LPE-2236
com.liferay.portlet.documentlibrary.model.DLFileEntry
Method: getExtraSettingsProperties()
Note: This method now returns a UnicodeProperties instead of a Properties
See: LPE-2102
Method: setExtraSettingsProperties(Properties extraSettingsProperties)
Status: Deleted
New method: setExtraSettingsProperties(UnicodeProperties extraSettingsProperties)
See: LPE-2102
com.liferay.portlet.documentlibrary.model.DLFileEntryWrapper
Method: getExtraSettingsProperties()
Note: This method now returns a UnicodeProperties instead of a Properties
See: LPE-2102
Method: setExtraSettingsProperties(Properties extraSettingsProperties)
Status: Deleted
New method: setExtraSettingsProperties(UnicodeProperties extraSettingsProperties)
See: LPE-2102
com.liferay.portlet.documentlibrary.service.DLFileRankLocalService
Method: addFileRank(long groupId, long companyId, long userId, long folderId, String name)
Status: Deprecated
New method: addFileRank(long groupId, long companyId, long userId, long folderId, String name, ServiceContext serviceContext)
See: LPE-2208
com.liferay.portlet.documentlibrary.service.DLFileRankLocalServiceUtil
Method: addFileRank(long groupId, long companyId, long userId, long folderId, String name)
Status: Deprecated
New method: addFileRank(long groupId, long companyId, long userId, long folderId, String name, ServiceContext serviceContext)
See: LPE-2208
com.liferay.portlet.polls.service.PollsVoteLocalService
Method: addVote(long userId, long questionId, long choiceId)
Status: Deprecated
New method: addVote(long userId, long questionId, long choiceId, ServiceContext serviceContext)
See: LPE-2355
com.liferay.portlet.polls.service.PollsVoteLocalServiceUtil
Method: addVote(long userId, long questionId, long choiceId)
Status: Deprecated
New method: addVote(long userId, long questionId, long choiceId, ServiceContext serviceContext)
See: LPE-2355
com.liferay.portlet.polls.service.PollsVoteLocalServiceWrapper
Method: addVote(long userId, long questionId, long choiceId)
Status: Deprecated
New method: addVote(long userId, long questionId, long choiceId, ServiceContext serviceContext)
See: LPE-2355
com.liferay.portlet.ratings.service.RatingsEntryLocalService
Method: updateEntry(long userId, String className, long classPK, double score)
Status: Deprecated
New method: updateEntry(long userId, String className, long classPK, double score, ServiceContext serviceContext)
See: LPE-2374
com.liferay.portlet.ratings.service.RatingsEntryLocalServiceUtil
Method: updateEntry(long userId, String className, long classPK, double score)
Status: Deprecated
New method: updateEntry(long userId, String className, long classPK, double score, ServiceContext serviceContext)
See: LPE-2374
com.liferay.portlet.ratings.service.RatingsEntryLocalServiceWrapper
Method: updateEntry(long userId, String className, long classPK, double score)
Status: Deprecated
New method: updateEntry(long userId, String className, long classPK, double score, ServiceContext serviceContext)
See: LPE-2374
/html/portal/css.jsp has been split into multiple files for easier customization
The file /html/portal/css_uniform.jsp has been moved to /html/portal/css/portal/uniform.jspf. If this file has been customized and /html/portal/css.jsp has not been customized, this file must be renamed.
Grammar mistake in custom CSS instructions
The language key "insert-custom-css-that-will-loaded-after-the-theme" has been changed to "insert-custom-css-that-will-be-loaded-after-the-theme". Custom code that uses the old language key should update to the new language key.
All portlets in a community is viewable regardless of permission
This update may cause some portlets which sets "add-default-resource" in liferay-portlet.xml to true to no longer work. To revert to the old behavior, set the following in portal(-ext).properties: portlet.add.default.resource.check.enabled=false
Added CAS authentication by email address
This improvement may cause existing CAS authentication to stop working if the following appears in portal(-ext).properties: company.security.auth.type=emailAddress or if "How do users authenticate?" in the Control Panel's (Enterprise Admin portlet in 5.1 EE) settings section is set to "By Email Address". These settings were previously ignored when CAS is used. To ensure CAS continues to work correctly, please remove company.security.auth.type from portal(-ext).properties and set "How do users authenticate?" to "By Screen Name".
Redirect url attributes are not handled properly in windows
The following properties has been removed from portal(-ext).properties: referer.url.security.mode referer.url.domains.allowed referer.url.ips.allowed Please use the following properties instead: redirect.url.security.mode redirect.url.domains.allowed redirect.url.ips.allowed
Moved ThemePreviewFilter's package to follow naming pattern
As a part of this update, in portal.properties, com.liferay.portal.servlet.filters.theme.ThemePreviewFilter has been renamed to com.liferay.portal.servlet.filters.themepreview.ThemePreviewFilter If you are using this property in your portal(-ext).properties file, you must update the property to enable theme preview.
Added a separate channel for ClusterLink control
The portal properties cluster.link.channel.properties.X has been renamed to cluster.link.channel.properties.transport.X For example, cluster.link.channel.properties.0 has been renamed to cluster.link.channel.properties.transport.0. If these properties has been set in portal(-ext).properties, they must be renamed or else cluster link may not work correctly.
Removed support for Friki
The Friki wiki engine has been removed and the friki.jar is no longer distributed with Liferay portal.
Service Builder generated soap services do not return primitive arrays
To fix this bug in the extension environment, Service Builder must be run again and the extension environment must be redeployed.