Preparing for Crowd 6.0
Development releases
On this page
Related content
- No related content found
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 / Date | EAP number | Downloads |
---|---|---|
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.
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
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
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
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
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
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)
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)
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)
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 |
|
Updated |
|
Removed |
|
Related content
- No related content found