Preparing for Crowd 6.0

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 6.0.

Quick info

Here you can find information about the latest EAP.

Application / DateEAP numberDownloads

Crowd /  

6.0.0-EAP01

(EAP1)

Download EAP

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.

Removed support for JNDI datasource connection

Added on 27 May 2024

Status: IMPLEMENTED

Due to security reasons, JNDI datasource as a method for connecting to a database was deprecated in the 5.3.0 release and removed completely in Crowd 6.0.

Removed support for OpenJDK 8 and 11

Status:  IMPLEMENTED

With the release of Crowd 6.0, we’re ending support for OpenJDK 8 and 11. This means that the oldest version we’ll support, test, and compile against is OpenJDK 17.

Upgrade to Atlassian Data Center Platform 7

Status: IMPLEMENTED

Crowd 6.0 includes an upgrade to Atlassian Data Center Platform 7. This upgrade puts us in a better position to respond to security changes with reduced disruption and breaking changes for your apps.

As part of this work, we’re:

  • upgrading numerous Atlassian and third-party components to benefit from the latest security patches and bug fixes

  • removing Gray APIs—unsupported third-party and cross-product libraries with dependencies

As a result, we’ll:

  • rearchitect Atlassian REST APIs (Jackson/Jersey updated, and JAX-RS upgraded to v2)

  • reduce public APIs in Atlassian apps, WRM, and web fragments

Learn more about preparing for the Atlassian Platform 7 upgrade

Endpoint default security annotations

Added on 19 April 2024, updated on 28 May 2024

Status: IMPLEMENTED

Our latest update introduces changes for improved endpoint security where you can better control access to endpoints with new annotations. Important annotations to review are @AdminOnly, @AnonymousSiteAccess, @LicensedOnly, @SystemAdminOnly, @UnlicensedSiteAccess, and @UnrestrictedAccess. They’ve been revised to ensure only the intended users access your application endpoints. Starting from Crowd 6.0, only licensed users can access resources without specified access criteria annotations. In Crowd, you would need to make changes to endpoints such as REST, Struts actions and Servlets (and Servlet filters).

Discover the full details of this change on Prepare your Data Center app to comply with secure endpoint defaults

Front-end dependencies SBOM file included in the distribution

Added on 29 May 2024

Status: IMPLEMENTED

Crowd 6.0 includes an SBOM file for front-end dependencies, providing details about the software components, dependencies, and licenses utilized in the build. This enhancement ensures that Crowd Data Center is compliant with the Secure Software Development Framework.

Updates to the Crowd API

Added on 23 April 2024

Status: IMPLEMENTED

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

More details

Updated API

The following artifacts and Java packages constitute the Crowd 6.0 API:

Artifacts
  • com.atlassian.crowd:embedded-crowd-api

  • com.atlassian.crowd:crowd-integration-api

  • com.atlassian.crowd:crowd-api

  • com.atlassian.crowd:crowd-events

  • com.atlassian.crowd:crowd-server-api

Packages
  • com.atlassian.crowd

  • com.atlassian.crowd.attribute

  • com.atlassian.crowd.audit

  • com.atlassian.crowd.audit.query

  • com.atlassian.crowd.directory

  • com.atlassian.crowd.directory.loader

  • com.atlassian.crowd.directory.monitor

  • com.atlassian.crowd.directory.monitor.poller

  • com.atlassian.crowd.embedded.api

  • com.atlassian.crowd.embedded.impl

  • com.atlassian.crowd.event

  • com.atlassian.crowd.event.analytics

  • com.atlassian.crowd.event.application

  • com.atlassian.crowd.event.audit.internal

  • com.atlassian.crowd.event.azure

  • com.atlassian.crowd.event.configuration

  • com.atlassian.crowd.event.directory

  • com.atlassian.crowd.event.emailscan

  • com.atlassian.crowd.event.group

  • com.atlassian.crowd.event.groupleveladmin

  • com.atlassian.crowd.event.license

  • com.atlassian.crowd.event.licensing

  • com.atlassian.crowd.event.links

  • com.atlassian.crowd.event.login

  • com.atlassian.crowd.event.migration

  • com.atlassian.crowd.event.recovery

  • com.atlassian.crowd.event.role

  • com.atlassian.crowd.event.sso

  • com.atlassian.crowd.event.token

  • com.atlassian.crowd.event.user

  • com.atlassian.crowd.exception

  • com.atlassian.crowd.exception.crypto

  • com.atlassian.crowd.exception.embedded

  • com.atlassian.crowd.exception.runtime

  • com.atlassian.crowd.manager.application

  • com.atlassian.crowd.manager.audit

  • com.atlassian.crowd.manager.avatar

  • com.atlassian.crowd.manager.crypto

  • com.atlassian.crowd.manager.directory

  • com.atlassian.crowd.manager.directory.monitor

  • com.atlassian.crowd.manager.permission

  • com.atlassian.crowd.manager.property

  • com.atlassian.crowd.manager.sso

  • com.atlassian.crowd.manager.webhook

  • com.atlassian.crowd.model

  • com.atlassian.crowd.model.application

  • com.atlassian.crowd.model.authentication

  • com.atlassian.crowd.model.backup

  • com.atlassian.crowd.model.directory

  • com.atlassian.crowd.model.event

  • com.atlassian.crowd.model.group

  • com.atlassian.crowd.model.lookandfeel

  • com.atlassian.crowd.model.membership

  • com.atlassian.crowd.model.permission

  • com.atlassian.crowd.model.rememberme

  • com.atlassian.crowd.model.sso

  • com.atlassian.crowd.model.token

  • com.atlassian.crowd.model.user

  • com.atlassian.crowd.model.webhook

  • com.atlassian.crowd.password.encoder

  • com.atlassian.crowd.password.factory

  • com.atlassian.crowd.saml

  • com.atlassian.crowd.search

  • com.atlassian.crowd.search.builder

  • com.atlassian.crowd.search.query

  • com.atlassian.crowd.search.query.entity

  • com.atlassian.crowd.search.query.entity.restriction

  • com.atlassian.crowd.search.query.entity.restriction.constants

  • com.atlassian.crowd.search.query.membership

  • com.atlassian.crowd.search.util

  • com.atlassian.crowd.support

  • com.atlassian.crowd.user

  • com.atlassian.crowd.util

  • com.atlassian.crowd.util.build

  • com.atlassian.crowd.util.mail

  • com.atlassian.crowd.validator

Deprecated API

The following artifacts and package are deprecated in the Crowd 6.0 API and will be removed in a subsequent Crowd version:

Artifacts
  • com.atlassian.crowd:crowd-persistence

  • com.atlassian.crowd:crowd-common

  • com.atlassian.crowd:embedded-crowd-spi

Packages
  • com.atlassian.crowd.common.analytics.events

  • com.atlassian.crowd.common.analytics.statistics.collectors

  • com.atlassian.crowd.common.properties

  • com.atlassian.crowd.common.util

  • com.atlassian.crowd.crypto

  • com.atlassian.crowd.dao.alias

  • com.atlassian.crowd.dao.application

  • com.atlassian.crowd.dao.audit

  • com.atlassian.crowd.dao.cluster

  • com.atlassian.crowd.dao.group

  • com.atlassian.crowd.dao.licensing

  • com.atlassian.crowd.dao.membership

  • com.atlassian.crowd.dao.permission

  • com.atlassian.crowd.dao.property

  • com.atlassian.crowd.dao.rememberme

  • com.atlassian.crowd.dao.sso

  • com.atlassian.crowd.dao.token

  • com.atlassian.crowd.dao.tombstone

  • com.atlassian.crowd.dao.user

  • com.atlassian.crowd.dao.webhook

  • com.atlassian.crowd.directory.password.constraint

  • com.atlassian.crowd.embedded.spi

  • com.atlassian.crowd.model.alias

  • com.atlassian.crowd.model.audit

  • com.atlassian.crowd.model.cluster

  • com.atlassian.crowd.model.property

  • com.atlassian.crowd.model.scheduling

  • com.atlassian.crowd.model.sso.idp

  • com.atlassian.crowd.model.tombstone

  • com.atlassian.crowd.search.hibernate

  • com.atlassian.crowd.search.hibernate.audit

  • com.atlassian.crowd.util.persistence

  • com.atlassian.crowd.util.persistence.hibernate.batch

API changes

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<java.io.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<java.io.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<java.io.Serializable>)

Method was removed.

method java.util.List<java.io.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)
List of changes

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<java.io.Serializable>)

Method was removed.

method java.util.List<java.io.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>>'.

Version changes

Crowd 6.0 is built with Platform 7.0 components. Explore Platform 7

Here is a summary of changes to third-part libraries used in Crowd 6.0:

New

com.google.code.gson:gson:2.10.1
com.sun.activation:jakarta.activation:1.2.2
org.jgrapht:jgrapht-core:1.5.2
org.jgrapht:jgrapht-io:1.5.2
org.slf4j:slf4j-api:2.0.12
org.apache.commons:commons-lang3:3.14.0
org.apache.commons:commons-text:1.11.0
org.apfloat:apfloat:1.10.1

Updated

com.google.code.findbugs:jsr305:3.0.1 -> 3.0.2
commons-codec:commons-codec:1.16.0 -> 1.16.1
commons-io:commons-io:2.15.1 -> 2.16.1
org.slf4j:slf4j-api:1.7.36 -> 2.0.12
javax.mail:javax.mail-api:1.6.2 -> jakarta.mail:jakarta.mail-api:1.6.7
javax.servlet:javax.servlet-api:4.0.1 -> jakarta.servlet:jakarta.servlet-api:4.0.4
org.springframework:*:5.3.31 -> 5.3.33
com.atlassian.aui:*:8.0.2 -> 8.0.12

Removed

com.fasterxml.jackson.core:*:2.16.1
com.google.code.findbugs:findbugs-annotations:3.0.1

Last modified on Jun 7, 2024

Was this helpful?

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