Crowd 6.0 Upgrade Notes

4 July, 2024

Here are some important notes on upgrading to Crowd 6.0. To learn about new features, check out the release notes.

 Upgrade notes

Here's some important information you should know about:

Removed support for OpenJDK 8 and 11

Crowd 6.0 requires JDK 17 to work. This is why both the Upgrading Crowd via Automatic Database Upgrade and Upgrading Crowd via XML Data Transfer upgrade paths include an additional step to adopt JDK 17 for Crowd 6.0 and later.

Removed support for JNDI datasource connection

Crowd 6.0 doesn’t support JNDI datasource due to security reasons. Follow How to convert a datasource to a direct JDBC connection to complete the migration to a direct JDBC connection.

Crowd 6.0.2: Name change from Azure Active Directory to Microsoft Entra ID

Due to Microsoft’s name change from Azure Active Directory (Azure AD) to Microsoft Entra ID, we’ve updated all the references to Azure AD. The changes include:

  • Crowd console UI messages

  • Crowd logs - atlassian-crowd.log

    If you have any integrations of log scanners that rely on the ‘Azure' keyword in a log message, consider updating these to 'Microsoft Entra ID’ to make sure they work correctly after upgrading Crowd.


  • Product documentation

  • Javadocs

  • REST docs

 Supported platforms

With Crowd 6.0, we stopped supporting OpenJDK 8 and OpenJDK 11 in favor of OpenJDK 17. Crowd 6.0 doesn't support connecting to the database using JNDI.

App developers

We’re introducing several changes to the API classes and packages:

com.atlassian.crowd:embedded-crowd-api
List of changes

Element

Description

class com.atlassian.crowd.embedded.impl.IdentifierMap<V>

Class no longer inherits from 'com.google.common.collect.ForwardingMap<java.lang.String, V>'.

class com.atlassian.crowd.embedded.impl.IdentifierSet

Class no longer inherits from 'com.google.common.collect.ForwardingSet<java.lang.String>'.

field com.atlassian.crowd.embedded.impl.IdentifierSet.EMPTY

Field removed from class.

field com.atlassian.crowd.embedded.api.Directories.ACTIVE_FILTER

The type of the field changed from 'com.google.common.base.Predicate<com.atlassian.crowd.embedded.api.Directory>' to 'java.util.function.Predicate<com.atlassian.crowd.embedded.api.Directory>'.

field com.atlassian.crowd.embedded.api.Directories.NAME_FUNCTION

The type of the field changed from 'com.google.common.base.Function<com.atlassian.crowd.embedded.api.Directory, java.lang.String>' to 'java.util.function.Function<com.atlassian.crowd.embedded.api.Directory, java.lang.String>'.

field com.atlassian.crowd.embedded.api.UserComparator.KEY_MAKER

The type of the field changed from 'com.google.common.base.Function<com.atlassian.crowd.embedded.api.User, com.atlassian.crowd.embedded.api.UserComparator.Key>' to 'java.util.function.Function<com.atlassian.crowd.embedded.api.User, com.atlassian.crowd.embedded.api.UserComparator.Key>'.

field com.atlassian.crowd.embedded.impl.IdentifierUtils.TO_LOWER_CASE

The type of the field changed from 'com.google.common.base.Function<java.lang.String, java.lang.String>' to 'java.util.function.Function<java.lang.String, java.lang.String>'.

method <T> T[] com.google.common.collect.ForwardingCollection<E>::standardToArray(T[]) @ com.atlassian.crowd.embedded.impl.IdentifierSet

Method was removed.

method V com.google.common.collect.ForwardingMap<K, V>::standardRemove(java.lang.Object) @ com.atlassian.crowd.embedded.impl.IdentifierMap<V>

Method was removed.

method boolean com.google.common.collect.ForwardingCollection<E>::standardAddAll(java.util.Collection<? extends E>) @ com.atlassian.crowd.embedded.impl.IdentifierSet

Method was removed.

method boolean com.google.common.collect.ForwardingCollection<E>::standardContains(java.lang.Object) @ com.atlassian.crowd.embedded.impl.IdentifierSet

Method was removed.

method boolean com.google.common.collect.ForwardingCollection<E>::standardContainsAll(java.util.Collection<?>) @ com.atlassian.crowd.embedded.impl.IdentifierSet

Method was removed.

method boolean com.google.common.collect.ForwardingCollection<E>::standardIsEmpty() @ com.atlassian.crowd.embedded.impl.IdentifierSet

Method was removed.

method boolean com.google.common.collect.ForwardingCollection<E>::standardRemove(java.lang.Object) @ com.atlassian.crowd.embedded.impl.IdentifierSet

Method was removed.

method boolean com.google.common.collect.ForwardingCollection<E>::standardRetainAll(java.util.Collection<?>) @ com.atlassian.crowd.embedded.impl.IdentifierSet

Method was removed.

method boolean com.google.common.collect.ForwardingMap<K, V>::standardContainsKey(java.lang.Object) @ com.atlassian.crowd.embedded.impl.IdentifierMap<V>

Method was removed.

method boolean com.google.common.collect.ForwardingMap<K, V>::standardContainsValue(java.lang.Object) @ com.atlassian.crowd.embedded.impl.IdentifierMap<V>

Method was removed.

method boolean com.google.common.collect.ForwardingMap<K, V>::standardEquals(java.lang.Object) @ com.atlassian.crowd.embedded.impl.IdentifierMap<V>

Method was removed.

method boolean com.google.common.collect.ForwardingMap<K, V>::standardIsEmpty() @ com.atlassian.crowd.embedded.impl.IdentifierMap<V>

Method was removed.

method boolean com.google.common.collect.ForwardingSet<E>::standardEquals(java.lang.Object) @ com.atlassian.crowd.embedded.impl.IdentifierSet

Method was removed.

method boolean com.google.common.collect.ForwardingSet<E>::standardRemoveAll(java.util.Collection<?>) @ com.atlassian.crowd.embedded.impl.IdentifierSet

Method was removed.

method int com.google.common.collect.ForwardingMap<K, V>::standardHashCode() @ com.atlassian.crowd.embedded.impl.IdentifierMap<V>

Method was removed.

method int com.google.common.collect.ForwardingSet<E>::standardHashCode() @ com.atlassian.crowd.embedded.impl.IdentifierSet

Method was removed.

method java.lang.Object[] com.google.common.collect.ForwardingCollection<E>::standardToArray() @ com.atlassian.crowd.embedded.impl.IdentifierSet

Method was removed.

method java.lang.String com.google.common.collect.ForwardingCollection<E>::standardToString() @ com.atlassian.crowd.embedded.impl.IdentifierSet

Method was removed.

method java.lang.String com.google.common.collect.ForwardingMap<K, V>::standardToString() @ com.atlassian.crowd.embedded.impl.IdentifierMap<V>

Method was removed.

method java.util.Map<java.lang.String, V> com.atlassian.crowd.embedded.impl.IdentifierMap<V>::delegate()

Method was removed.

method java.util.Set<java.lang.String> com.atlassian.crowd.embedded.impl.IdentifierSet::delegate()

Method was removed.

method void com.google.common.collect.ForwardingCollection<E>::standardClear() @ com.atlassian.crowd.embedded.impl.IdentifierSet

Method was removed.

method void com.google.common.collect.ForwardingMap<K, V>::standardClear() @ com.atlassian.crowd.embedded.impl.IdentifierMap<V>

Method was removed.

method void com.google.common.collect.ForwardingMap<K, V>::standardPutAll(java.util.Map<? extends K, ? extends V>) @ com.atlassian.crowd.embedded.impl.IdentifierMap<V>

Method was removed.

method void com.atlassian.crowd.embedded.impl.ConnectionPoolPropertyUtil::<init>()

Visibility reduced.

com.atlassian.crowd:crowd-integration-api
List of changes

Element

Description

field com.atlassian.crowd.model.DirectoryEntities.LOWER_NAME_FUNCTION

The type of the field changed from 'com.google.common.base.Function<com.atlassian.crowd.model.DirectoryEntity, java.lang.String>' to 'java.util.function.Function<com.atlassian.crowd.model.DirectoryEntity, java.lang.String>'.

field com.atlassian.crowd.model.DirectoryEntities.NAME_FUNCTION

The type of the field changed from 'com.google.common.base.Function<com.atlassian.crowd.model.DirectoryEntity, java.lang.String>' to 'java.util.function.Function<com.atlassian.crowd.model.DirectoryEntity, java.lang.String>'.

field com.atlassian.crowd.model.application.Applications.ACTIVE_FILTER

The type of the field changed from 'com.google.common.base.Predicate<com.atlassian.crowd.model.application.Application>' to 'java.util.function.Predicate<com.atlassian.crowd.model.application.Application>'.

field com.atlassian.crowd.model.application.Applications.NAME_FUNCTION

The type of the field changed from 'com.google.common.base.Function<com.atlassian.crowd.model.application.Application, java.lang.String>' to 'java.util.function.Function<com.atlassian.crowd.model.application.Application, java.lang.String>'.

field com.atlassian.crowd.model.group.Groups.LOWER_NAME_FUNCTION

The type of the field changed from 'com.google.common.base.Function<com.atlassian.crowd.model.group.Group, java.lang.String>' to 'java.util.function.Function<com.atlassian.crowd.model.group.Group, java.lang.String>'.

field com.atlassian.crowd.model.group.Groups.NAME_FUNCTION

The type of the field changed from 'com.google.common.base.Function<com.atlassian.crowd.model.group.Group, java.lang.String>' to 'java.util.function.Function<com.atlassian.crowd.model.group.Group, java.lang.String>'.

field com.atlassian.crowd.model.user.Users.LOWER_NAME_FUNCTION

The type of the field changed from 'com.google.common.base.Function<com.atlassian.crowd.model.user.User, java.lang.String>' to 'java.util.function.Function<com.atlassian.crowd.model.user.User, java.lang.String>'.

field com.atlassian.crowd.model.user.Users.NAME_FUNCTION

The type of the field changed from 'com.google.common.base.Function<com.atlassian.crowd.model.user.User, java.lang.String>' to 'java.util.function.Function<com.atlassian.crowd.model.user.User, java.lang.String>'.

class com.atlassian.crowd.model.user.BaseImmutableUser.Builder<T extends com.atlassian.crowd.model.user.BaseImmutableUser.Builder>

The formal type parameter changed from 'T extends com.atlassian.crowd.model.user.BaseImmutableUser.Builder' to 'T'.

method com.google.common.collect.SetMultimap<java.lang.String, java.lang.String> com.atlassian.crowd.attribute.AttributeUtil::toMultimap(com.atlassian.crowd.embedded.api.Attributes)

Method was removed.

method com.google.common.collect.SetMultimap<java.lang.String, java.lang.String> com.atlassian.crowd.attribute.AttributeUtil::toMultimap(java.util.Map<java.lang.String, java.util.Set<java.lang.String>>)

Method was removed.

method T com.atlassian.crowd.model.user.BaseImmutableUser.Builder<T extends com.atlassian.crowd.model.user.BaseImmutableUser.Builder>::active(boolean)

The return type changed from 'T extends com.atlassian.crowd.model.user.BaseImmutableUser.Builder' to 'com.atlassian.crowd.model.user.BaseImmutableUser.Builder<T>'.

method T com.atlassian.crowd.model.user.BaseImmutableUser.Builder<T extends com.atlassian.crowd.model.user.BaseImmutableUser.Builder>::directoryId(long)

The return type changed from 'T extends com.atlassian.crowd.model.user.BaseImmutableUser.Builder' to 'com.atlassian.crowd.model.user.BaseImmutableUser.Builder<T>'.

method T com.atlassian.crowd.model.user.BaseImmutableUser.Builder<T extends com.atlassian.crowd.model.user.BaseImmutableUser.Builder>::displayName(java.lang.String)

The return type changed from 'T extends com.atlassian.crowd.model.user.BaseImmutableUser.Builder' to 'com.atlassian.crowd.model.user.BaseImmutableUser.Builder<T>'.

method T com.atlassian.crowd.model.user.BaseImmutableUser.Builder<T extends com.atlassian.crowd.model.user.BaseImmutableUser.Builder>::emailAddress(java.lang.String)

The return type changed from 'T extends com.atlassian.crowd.model.user.BaseImmutableUser.Builder' to 'com.atlassian.crowd.model.user.BaseImmutableUser.Builder<T>'.

method T com.atlassian.crowd.model.user.BaseImmutableUser.Builder<T extends com.atlassian.crowd.model.user.BaseImmutableUser.Builder>::externalId(java.lang.String)

The return type changed from 'T extends com.atlassian.crowd.model.user.BaseImmutableUser.Builder' to 'com.atlassian.crowd.model.user.BaseImmutableUser.Builder<T>'.

method T com.atlassian.crowd.model.user.BaseImmutableUser.Builder<T extends com.atlassian.crowd.model.user.BaseImmutableUser.Builder>::firstName(java.lang.String)

The return type changed from 'T extends com.atlassian.crowd.model.user.BaseImmutableUser.Builder' to 'com.atlassian.crowd.model.user.BaseImmutableUser.Builder<T>'.

method T com.atlassian.crowd.model.user.BaseImmutableUser.Builder<T extends com.atlassian.crowd.model.user.BaseImmutableUser.Builder>::lastName(java.lang.String)

The return type changed from 'T extends com.atlassian.crowd.model.user.BaseImmutableUser.Builder' to 'com.atlassian.crowd.model.user.BaseImmutableUser.Builder<T>'.

method T com.atlassian.crowd.model.user.BaseImmutableUser.Builder<T extends com.atlassian.crowd.model.user.BaseImmutableUser.Builder>::name(java.lang.String)

The return type changed from 'T extends com.atlassian.crowd.model.user.BaseImmutableUser.Builder' to 'com.atlassian.crowd.model.user.BaseImmutableUser.Builder<T>'.

com.atlassian.crowd:crowd-api


List of changes

Element

Description

enum com.atlassian.crowd.model.permission.UserPermission.ADMIN

Crowd doesn't have a notion for system-admin. Use SYS_ADMIN instead.

field com.atlassian.crowd.directory.DirectoryMembershipsIterable.GROUPS_TO_NAMES 

Field removed from class.

field com.atlassian.crowd.util.InternalEntityUtils.GET_NAME 

The type of the field changed from 'com.google.common.base.Function<? super com.atlassian.crowd.model.InternalEntity, java.lang.String>' to 'java.util.function.Function<? super com.atlassian.crowd.model.InternalEntity, java.lang.String>'.

method <T extends com.atlassian.crowd.model.DirectoryEntity> com.google.common.base.Predicate<T> com.atlassian.crowd.util.DirectoryEntityUtils::whereNameEquals(java.lang.String) 

The return type changed from 'com.google.common.base.Predicate<T extends com.atlassian.crowd.model.DirectoryEntity>' to 'java.util.function.Predicate<T extends com.atlassian.crowd.model.DirectoryEntity>'.

method <T> com.google.common.collect.ListMultimap<java.lang.String, T> com.atlassian.crowd.directory.MultiValuesQueriesSupport::searchGroupRelationshipsGroupedByName(com.atlassian.crowd.search.query.membership.MembershipQuery<T>) 

The return type changed from 'com.google.common.collect.ListMultimap<java.lang.String, T>' to 'java.util.Map<java.lang.String, java.util.List<T>>'.

method java.lang.String com.atlassian.crowd.model.directory.SynchronisationStatusKey::marshallParams(java.util.List<Hosted by one.com .Serializable>) 

Method was removed.

method java.util.Collection<T> com.atlassian.crowd.manager.directory.BulkRemoveResult<T>::getFailedEntities() 

The return type changed covariantly from 'java.util.Collection<T>' to 'java.util.List<T>'.

method java.util.Collection<T> com.atlassian.crowd.manager.directory.BulkRemoveResult<T>::getMissingEntities() 

The return type changed covariantly from 'java.util.Collection<T>' to 'java.util.List<T>'.

method java.util.List<Hosted by one.com .Serializable> com.atlassian.crowd.model.directory.SynchronisationStatusKey::unmarshallParams(java.lang.String) 

Method was removed.

class com.atlassian.crowd.exception.PasswordEncoderException

Class was added.

class com.atlassian.crowd.exception.PasswordEncoderNotFoundException

Class was added.

interface com.atlassian.crowd.password.encoder.InternalPasswordEncoder

Class was added.

interface com.atlassian.crowd.password.encoder.LdapPasswordEncoder

Class was added.

interface com.atlassian.crowd.password.encoder.PasswordEncoder

Class was added.

interface com.atlassian.crowd.password.encoder.UpgradeablePasswordEncoder

Class was added.

interface com.atlassian.crowd.password.factory.PasswordEncoderFactory

Class was added.

com.atlassian.crowd:crowd-events
List of changes

Element

Description

field com.atlassian.crowd.event.licensing.LicensingTabViewEvent.BY_STATUS 

The type of the field changed from 'com.google.common.collect.ImmutableMap<com.atlassian.crowd.event.licensing.LicensingTabViewEvent.Status, com.atlassian.crowd.event.licensing.LicensingTabViewEvent>' to 'java.util.Map<com.atlassian.crowd.event.licensing.LicensingTabViewEvent.Status, com.atlassian.crowd.event.licensing.LicensingTabViewEvent>'.

field com.atlassian.crowd.event.licensing.LicensingTabViewEvent.BY_STATUS 

The type of the field changed from 'com.google.common.collect.ImmutableMap<com.atlassian.crowd.event.licensing.LicensingTabViewEvent.Status, com.atlassian.crowd.event.licensing.LicensingTabViewEvent>' to 'java.util.Map<com.atlassian.crowd.event.licensing.LicensingTabViewEvent.Status, com.atlassian.crowd.event.licensing.LicensingTabViewEvent>'.

field com.atlassian.crowd.event.links.ExternalLinkClickedEvent.BY_TARGET 

The type of the field changed from 'com.google.common.collect.ImmutableMap<com.atlassian.crowd.event.links.ExternalLinkClickedEvent.TargetLink, com.atlassian.crowd.event.links.ExternalLinkClickedEvent>' to 'java.util.Map<com.atlassian.crowd.event.links.ExternalLinkClickedEvent.TargetLink, com.atlassian.crowd.event.links.ExternalLinkClickedEvent>'.

field com.atlassian.crowd.event.links.ExternalLinkClickedEvent.BY_TARGET 

The type of the field changed from 'com.google.common.collect.ImmutableMap<com.atlassian.crowd.event.links.ExternalLinkClickedEvent.TargetLink, com.atlassian.crowd.event.links.ExternalLinkClickedEvent>' to 'java.util.Map<com.atlassian.crowd.event.links.ExternalLinkClickedEvent.TargetLink, com.atlassian.crowd.event.links.ExternalLinkClickedEvent>'.

method <E extends java.lang.Enum, T> com.google.common.collect.ImmutableMap<E, T> com.atlassian.crowd.event.EnumBasedEvent<T extends java.lang.Enum>::createMapByEnum(E[], com.google.common.base.Function<E, T>) 

The return type changed from 'com.google.common.collect.ImmutableMap<E extends java.lang.Enum, T>' to 'java.util.Map<E extends java.lang.Enum<E>, T>'.

method <E extends java.lang.Enum, T> com.google.common.collect.ImmutableMap<E, T> com.atlassian.crowd.event.EnumBasedEvent<T extends java.lang.Enum>::createMapByEnum(E[], com.google.common.base.Function<E, T>) 

The formal type parameter changed from 'E extends java.lang.Enum' to 'E extends java.lang.Enum<E>'.

method T com.atlassian.crowd.model.user.BaseImmutableUser.Builder<T extends com.atlassian.crowd.model.user.BaseImmutableUser.Builder>::active(boolean) @ com.atlassian.crowd.model.user.ImmutableUser.Builder 

The return type changed from 'com.atlassian.crowd.model.user.ImmutableUser.Builder' to 'com.atlassian.crowd.model.user.BaseImmutableUser.Builder<com.atlassian.crowd.model.user.ImmutableUser>'.

method T com.atlassian.crowd.model.user.BaseImmutableUser.Builder<T extends com.atlassian.crowd.model.user.BaseImmutableUser.Builder>::directoryId(long) @ com.atlassian.crowd.model.user.ImmutableUser.Builder 

The return type changed from 'com.atlassian.crowd.model.user.ImmutableUser.Builder' to 'com.atlassian.crowd.model.user.BaseImmutableUser.Builder<com.atlassian.crowd.model.user.ImmutableUser>'.

method T com.atlassian.crowd.model.user.BaseImmutableUser.Builder<T extends com.atlassian.crowd.model.user.BaseImmutableUser.Builder>::displayName(java.lang.String) @ com.atlassian.crowd.model.user.ImmutableUser.Builder 

The return type changed from 'com.atlassian.crowd.model.user.ImmutableUser.Builder' to 'com.atlassian.crowd.model.user.BaseImmutableUser.Builder<com.atlassian.crowd.model.user.ImmutableUser>'.

method T com.atlassian.crowd.model.user.BaseImmutableUser.Builder<T extends com.atlassian.crowd.model.user.BaseImmutableUser.Builder>::emailAddress(java.lang.String) @ com.atlassian.crowd.model.user.ImmutableUser.Builder 

The return type changed from 'com.atlassian.crowd.model.user.ImmutableUser.Builder' to 'com.atlassian.crowd.model.user.BaseImmutableUser.Builder<com.atlassian.crowd.model.user.ImmutableUser>'.

parameter <E extends java.lang.Enum, T> com.google.common.collect.ImmutableMap<E, T> com.atlassian.crowd.event.EnumBasedEvent<T extends java.lang.Enum>::createMapByEnum(E[], com.google.common.base.Function<E, T>) 

The type of the parameter changed from 'com.google.common.base.Function<E extends java.lang.Enum, T>' to 'java.util.function.Function<E extends java.lang.Enum<E>, T>'.

com.atlassian.crowd:crowd-server-api
List of changes

Element

Description

interface com.atlassian.crowd.manager.bootstrap.CrowdBootstrapManager

Class was added.

interface com.atlassian.crowd.manager.user.CachedUserGroupResolver

Class was added.

interface com.atlassian.crowd.service.UserService

Class was added.

com.atlassian.crowd:crowd-persistence (deprecated)
List of changes

Element

Description

interface com.atlassian.crowd.directory.DirectorySynchronisationStatusImpl.StatusParametersMarshaller

Class was added.

class com.atlassian.crowd.dao.direntity.LocallyCachedDirectoryEntityResolver

Class was removed.

class com.atlassian.crowd.dao.membership.cache.CacheInvalidations

Class was removed.

class com.atlassian.crowd.dao.membership.cache.CachingInternalMembershipDao

Class was removed.

class com.atlassian.crowd.dao.membership.cache.CachingMembershipDao

Class was removed.

class com.atlassian.crowd.dao.membership.cache.DefaultCacheFactory

Class was removed.

class com.atlassian.crowd.dao.membership.cache.MembershipCache

Class was removed.

class com.atlassian.crowd.util.cache.LocalCacheUtils

Class was removed.

enum com.atlassian.crowd.dao.membership.cache.QueryType

Class was removed.

interface com.atlassian.crowd.dao.direntity.DirectoryEntityResolver

Class was removed.

interface com.atlassian.crowd.dao.membership.cache.CacheFactory

Class was removed.

method com.atlassian.crowd.directory.DirectorySynchronisationStatusImpl.Builder com.atlassian.crowd.directory.DirectorySynchronisationStatusImpl::builder()

The number of parameters of the method has changed.

method com.atlassian.crowd.directory.DirectorySynchronisationStatusImpl.Builder com.atlassian.crowd.directory.DirectorySynchronisationStatusImpl::builder(com.atlassian.crowd.model.directory.DirectorySynchronisationStatus)

The number of parameters of the method has changed.

method void com.atlassian.crowd.directory.DirectorySynchronisationStatusImpl.Builder::<init>()

The number of parameters of the method has changed.

method void com.atlassian.crowd.directory.DirectorySynchronisationStatusImpl.Builder::<init>(com.atlassian.crowd.model.directory.DirectorySynchronisationStatus)

The number of parameters of the method has changed.

parameter void com.atlassian.crowd.crypto.PropertyEncryptor::<init>(com.atlassian.crowd.embedded.api.Encryptor, ===com.google.common.collect.SetMultimap<java.lang.String, java.lang.String>===)

The type of the parameter changed from 'com.google.common.collect.SetMultimap<java.lang.String, java.lang.String>' to 'java.util.Map<java.lang.String, java.util.Set<java.lang.String>>'.

method java.lang.String com.atlassian.crowd.model.directory.SynchronisationStatusKey::marshallParams(java.util.List<Hosted by one.com .Serializable>)

Method was removed.

method java.util.List<Hosted by one.com .Serializable> com.atlassian.crowd.model.directory.SynchronisationStatusKey::unmarshallParams(java.lang.String)

Method was removed.

method void com.atlassian.crowd.model.EntityWithAttributes::<init>(com.google.common.collect.Multimap<java.lang.String, java.lang.String>)

Method was removed.

method <T> com.google.common.collect.ListMultimap<java.lang.String, T> com.atlassian.crowd.directory.AbstractInternalDirectory::searchGroupRelationshipsGroupedByName(com.atlassian.crowd.search.query.membership.MembershipQuery<T>)

The return type changed from 'com.google.common.collect.ListMultimap<java.lang.String, T>' to 'java.util.Map<java.lang.String, java.util.List<T>>'.

method <T> com.google.common.collect.ListMultimap<java.lang.String, T> com.atlassian.crowd.directory.DelegatedAuthenticationDirectory::searchGroupRelationshipsGroupedByName(com.atlassian.crowd.search.query.membership.MembershipQuery<T>)

The return type changed from 'com.google.common.collect.ListMultimap<java.lang.String, T>' to 'java.util.Map<java.lang.String, java.util.List<T>>'.

method <T> com.google.common.collect.ListMultimap<java.lang.String, T> com.atlassian.crowd.directory.MultiValuesQueriesSupport::searchGroupRelationshipsGroupedByName(com.atlassian.crowd.search.query.membership.MembershipQuery<T>) @ com.atlassian.crowd.directory.InternalRemoteDirectory

The return type changed from 'com.google.common.collect.ListMultimap<java.lang.String, T>' to 'java.util.Map<java.lang.String, java.util.List<T>>'.

method <T> com.google.common.collect.ListMultimap<java.lang.String, T> com.atlassian.crowd.embedded.spi.MembershipDao::searchGroupedByName(long, com.atlassian.crowd.search.query.membership.MembershipQuery<T>)

The return type changed from 'com.google.common.collect.ListMultimap<java.lang.String, T>' to 'java.util.Map<java.lang.String, java.util.List<T>>'.

method com.google.common.collect.SetMultimap<java.lang.String, java.lang.String> com.atlassian.crowd.model.InternalEntityAttribute::toMap(java.util.Collection<? extends com.atlassian.crowd.model.InternalEntityAttribute>)

The return type changed from 'com.google.common.collect.SetMultimap<java.lang.String, java.lang.String>' to 'java.util.Map<java.lang.String, java.util.Set<java.lang.String>>'.

com.atlassian.crowd:crowd-common (deprecated)
Click here to expand...

Element

Description

class com.atlassian.crowd.common.diff.MapDiff

Class was removed.

class com.atlassian.crowd.common.diff.NormalizingDiffBuilder<T>

Class was removed.

class com.atlassian.crowd.common.features.SystemPropertyBasedFeatureFlag

Class was removed.

com.atlassian.crowd:embedded-crowd-spi (deprecated)
List of changes

Element

Description

method java.lang.String com.atlassian.crowd.model.directory.SynchronisationStatusKey::marshallParams(java.util.List<Hosted by one.com .Serializable>)

Method was removed.

method java.util.List<Hosted by one.com .Serializable> com.atlassian.crowd.model.directory.SynchronisationStatusKey::unmarshallParams(java.lang.String)

Method was removed.

method <T> com.google.common.collect.ListMultimap<java.lang.String, T> com.atlassian.crowd.embedded.spi.MembershipDao::searchGroupedByName(long, com.atlassian.crowd.search.query.membership.MembershipQuery<T>)

The return type changed from 'com.google.common.collect.ListMultimap<java.lang.String, T>' to 'java.util.Map<java.lang.String, java.util.List<T>>'.

Last modified on Sep 4, 2024

Was this helpful?

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