Preparing for Crowd 5.3

On this page

Still need help?

The Atlassian Community is here for you.

Ask the community

This documentation is intended for Crowd developers who want to ensure that their existing apps are compatible with Crowd 5.3.

Quick info

Here you can find information about the latest EAP.

Application / DateEAP numberDownloads

Crowd

 

5.3.0-EAP01

(EAP1)

Download EAP for Windows

Download EAP for Linux

Summary of changes

In this section we'll provide an overview of the changes we intend to make, so you can start thinking how it might impact your apps. Once they're ready, we'll indicate when a change has been implemented.

Faster LDAP directories synchronization

Status: IMPLEMENTED

We’ve improved Crowd synchronization with LDAP directories:

  • Synchronization is now performed much faster. This mainly improves the speed of full synchronization but also has an impact on incremental synchronization.

  • Synchronization is now performed using less memory by avoiding the duplication of objects that represents a group-name or user-name from an active directory.

  • Adding a group to an active directory while full synchronization is running will no longer cause the next incremental sync to fail.

If problems do occur, this functionality can be disabled by setting the system property -Dcrowd.use.legacy.ad.membership.sync=true and restarting Crowd.

Blocked non-Marketplace app uploads

Status: IMPLEMENTED

Uploading apps to Crowd via the UI or REST has been disabled by default to improve instance security. The -Dupm.plugin.upload.enabled=true system property can be temporarily enabled to allow app upload if necessary.

SBOM generation

Status: IN PROGRESS

Crowd releases now contain a Software Bill of Materials bundle which includes all dependency versions used to build Crowd.

Removed OpenID Web Apps

Status: IMPLEMENTED

The OpenID Server and client have been deprecated in Crowd 5.2 and will no longer be available in Crowd 5.3. If your app or custom scripts rely on using OpenID Web Apps, you’ll need to migrate to a different Identity Provider.

Apart from OpenID, we’ve also removed the following libraries:

GroupID

ArtifactID

xalan

xalan

net.sourceforge.nekohtml

nekohtml

redis.clients

jedis

org.openid4java

openid4java

com.typesafe.akka

  • akka-actor_2.11

  • akka-slf4j_2.11

  • akka-testkit_2.11

org.specs2

  • specs2_2.11

  • specs2-core_2.11

  • specs2-scalacheck_2.11

  • specs2-junit_2.11

  • specs2-mock_2.11

io.spray

  • spray-servlet_2.11

  • spray-http_2.11

  • spray-routing_2.11

  • spray-testkit_2.11

API changes

Status: IMPLEMENTED

Crowd API is deprecated in 5.3.0 and will be removed with the release of Crowd 6.0.0.

Upgrade to FasterXML/jackson v2

Crowd classes, method signatures, and fields previously annotated with org.codehaus.jackson.annotate* annotations are now using com.fasterxml.jackson.annotation*.

Upgrade to Jersey 2

Crowd upgraded to Jersey RESTful Web Services 2.x framework and JAX-RS 2.0.

Other (potentially) breaking changes

Element

Description

com.atlassian.crowd:crowd-azure-ad

class com.atlassian.crowd.directory.rest.resolver.DirectoryObjectTypeIdResolver

The class no longer implements the interface org.codehaus.jackson.map.jsontype.TypeIdResolver

method com.atlassian.crowd.directory.rest.resolver.DirectoryObjectTypeIdResolver::typeFromId(String)

The number of parameters of the method has changed.

com.atlassian.crowd:crowd-core

method com.atlassian.crowd.model.user.InternalUser::updateDetailsFrom(User)

The return type changed from void to java.util.List<com.atlassian.crowd.model.user.InternalUser.MutableField>

com.atlassian.crowd:crowd-ldap

class com.atlassian.crowd.directory.DeduplicatingDnMapperDecorator

The class was removed.

field com.atlassian.crowd.directory.synchronisation.cache.UsnChangedCacheRefresher.PROPERTY_USE_LEGACY_AD_INCREMENTAL_SYNC

The field with constant value has been removed

method
com.atlassian.crowd.directory.ldap.mapper.attribute.group.RFC4519MemberDnRangeOffsetMapper::getValues(DirContextAdapter)

Method newly throws checked exceptions: javax.naming.NamingException

method
com.atlassian.crowd.model.LDAPDirectoryEntity::getLdapName()

The method is now abstract. The interface no longer has the default implementation of the method.

method
com.atlassian.crowd.directory.SpringLDAPConnector::findEntityByDN(String, String, String, ContextMapperWithRequiredAttributes, Class<T>)

The number of parameters of the method has changed.

method com.atlassian.crowd.directory.MicrosoftActiveDirectory::findAdditionalDirectMembers(LdapName, Supplier<Optional<LDAPGroupWithAttributes>>)

The number of parameters of the method has changed.

method com.atlassian.crowd.directory.RFC4519Directory::findAdditionalDirectMembers(LdapName, Supplier<Optional<LDAPGroupWithAttributes>>)

The number of parameters of the method has changed.

method com.atlassian.crowd.directory.RFC4519Directory::findDirectMembersOfGroup(LdapName)

The number of parameters of the method has changed.

constructor com.atlassian.crowd.directory.ldap.name.SearchDN(LDAPPropertiesMapper, Converter)

The number of parameters of the method has changed.

com.atlassian.crowd:crowd-persistence

class com.atlassian.crowd.directory.PasswordConstraintsLoaderImpl

The class was removed.

class com.atlassian.crowd.directory.PasswordLengthConstraint

The class was removed.

class com.atlassian.crowd.directory.PasswordScoreConstraint

The class was removed.

class com.atlassian.crowd.directory.RegexConstraint

The class was removed.

interface com.atlassian.crowd.directory.PasswordConstraintsLoader

The class was removed.

Version upgrades

Status: IMPLEMENTED

Crowd 5.3 is available with Platform 6.5 components. Here is a summary of libraries and apps, both Atlassian-developed and third-party, which were included as part of the Platform 6.5 upgrade:

Change

Details

Upgraded Atlassian Platform components and related libraries to Platform 6.5 compatible versions

com.atlassian.activeobjects:*→ 5.3.1
com.atlassian.analytics-client:*→ 8.4.1
com.atlassian.applinks:* → 9.2.1
com.atlassian.cache:* → 6.1.0
com.atlassian.config:* → 1.2.0
com.atlassian.event:* → 5.1.0
com.atlassian.healthcheck:* → 7.1.0
com.atlassian.plugins:atlassian-plugins-* → 7.5.2
com.atlassian.plugins:atlassian-plugins-webresource-plugin → 6.3.1
com.atlassian.plugins.rest:* → 7.2.1
com.atlassian.sal:sal-* → 5.2.0
com.atlassian.scheduler:* → 4.2.1
com.atlassian.soy:* → 6.1.0
com.atlassian.templaterenderer:* → 5.1.1
com.atlassian.troubleshooting:* → 1.54.1
com.atlassian.upm:* → 6.5.2

Updated third party libraries to Platform 6.5 compatible versions

com.fasterxml.jackson.core:*: → 2.16.1
com.google.guava:* → 32.1.3-jre
commons-io:commons-io → 2.15.1
org.apache.commons:commons-lang3 → 3.14.0
org.apache.commons:commons-text → 1.11.0

New

com.atlassian.plugins.rest:atlassian-rest-v2-plugin:7.2.1
com.fasterxml.jackson.core:jackson-annotations:2.16.1
com.fasterxml.jackson.core:jackson-core:2.16.1
com.fasterxml.jackson.core:jackson-databind:2.16.1

Last modified on Mar 4, 2024

Was this helpful?

Yes
No
Provide feedback about this article
Powered by Confluence and Scroll Viewport.