Last updated Feb 8, 2024

Platform 7 upgrade guides

We aim to publish upgrade guides as part of the Bitbucket repositories. This page only contains upgrade guides for components that do not have publicly accessible source repositories. Links to all the upgrade guides are collected on Prepare your Data Center app for Platform 7.

Class nameCodeAlternative codeMigration notes
com.atlassian.webdriver.applinks.component.OauthIncomingAuthenticationSectionisTwoLOAllowedSupplier()isTwoLOAllowed()
com.atlassian.webdriver.applinks.grid.GridFinderallRowsSupplier()supplyAllRows()
com.atlassian.applinks.internal.common.lang.ApplinksEnumsfromName(@Nonnull final Class<E> enumType)fromNameFunction(@Nonnull final Class<E> enumType)
fromNameSafe(@Nonnull final Class<E> enumType)fromNameSafeFunction(@Nonnull final Class<E> enumType)
toName()toNameFunction()
com.atlassian.applinks.internal.common.lang.FunctionalInterfacestoGuavaPredicate(@Nonnull Predicate<T> original)NONEMarked for deletion. Invoke .test() on original predicate when casting to Guava type.
com.atlassian.applinks.internal.common.rest.model.oauth.RestConsumerREST_TRANSFORMREST_TRANSFORM_FUNCTION
com.atlassian.applinks.internal.common.status.oauth.OAuthConfigORDER_BY_LEVELCOMPARE_BY_LEVELCOMPARE_BY_LEVEL is a custom comparator. In order to achieve the same functionality, it should be used like so: list.stream().sorted(COMPARE_BY_LEVEL).collect(toList())
com.atlassian.applinks.internal.rest.model.RestRepresentationsfromDomainFunction(@Nonnull final Class<R> restRepresentationType)fromDomain(@Nonnull final Class<R> restRepresentationType)
com.atlassian.applinks.internal.rest.model.auth.compatibility.RestAuthenticationProviderREST_TRANSFORMREST_TRANSFORM_FUNCTION
com.atlassian.applinks.internal.status.error.ApplinkErrorsfindCauseMatching(@Nonnull Throwable error, @Nonnull Predicate<? super Throwable> matcher)NONE
com.atlassian.applinks.internal.status.oauth.OAuthConfigsFROM_REST_CONSUMERFROM_REST_CONSUMER_FUNCTION

Atlassian Application

Class nameCodeAlternative codeMigration notes
com.atlassian.application.api.ApplicationDateTime buildDate()ZonedDateTime buildZonedDate()Third party dependency org.joda.time is replaced by java.time

Atlassian Config

The following classes will be removed from the public API:

Class name
com.atlassian.config.AbstractConfigElement
com.atlassian.config.AbstractConfigurationPersister
com.atlassian.config.ApplicationConfig
com.atlassian.config.bootstrap.BootstrappedContextLoaderListener
com.atlassian.config.bootstrap.DefaultAtlassianBootstrapManager
com.atlassian.config.ConfigElement
com.atlassian.config.ConfigurationPersister
com.atlassian.config.db.DatabaseList
com.atlassian.config.db.DelegatingConnection
com.atlassian.config.db.PropertyUtils
com.atlassian.config.DefaultHomeLocator
com.atlassian.config.lifecycle.DefaultLifecycleContext
com.atlassian.config.lifecycle.events.ApplicationStartedEvent
com.atlassian.config.lifecycle.events.ApplicationStoppedEvent
com.atlassian.config.lifecycle.events.ApplicationStoppingEvent
com.atlassian.config.lifecycle.events.ConfigEvent
com.atlassian.config.lifecycle.events.LifecycleEvent
com.atlassian.config.lifecycle.LifecycleManager
com.atlassian.config.lifecycle.LifecycleServletContextListener
com.atlassian.config.lifecycle.ServletContextListenerWrapper
com.atlassian.config.SetupConstants
com.atlassian.config.spring.BootstrappedContainerContext
com.atlassian.config.xml.AbstractDom4jXmlConfigurationPersister
com.atlassian.config.xml.DefaultDom4jXmlConfigurationPersister
com.atlassian.config.xml.Dom4jXmlConfigElement
com.atlassian.config.xml.Dom4jXmlListConfigElement
com.atlassian.config.xml.Dom4jXmlMapConfigElement
com.atlassian.config.xml.Dom4jXmlMapEntryConfigElement
com.atlassian.config.xml.Dom4jXmlStringConfigElement

Atlassian Core

The com.atlassian.core.logging Java package will be removed from the public API. In addition, the following changes have been made:

Class nameCodeAlternative codeMigration notes
com.atlassian.core.util.thumbnail.Thumberpublic BufferedImage getImage(File, com.google.common.base.Predicate<ReusableBufferedInputStream>)public BufferedImage getImage(File, java.util.Predicate<ReusableBufferedInputStream>)java.util.Predicate is a drop-in replacement for com.google.common.base.Predicate
com.atlassian.core.util.thumbnail.Thumberpublic BufferedImage getImage(ReusableBufferedInputStream, com.google.common.base.Predicate<ReusableBufferedInputStream>)public BufferedImage getImage(ReusableBufferedInputStream, java.util.Predicate<ReusableBufferedInputStream>)java.util.Predicate is a drop-in replacement for com.google.common.base.Predicate
com.atlassian.core.util.thumbnail.ThumbnailUtilpublic static com.google.common.base.Optional<ImageReader> getFirstImageReader(ImageInputStream)public static java.util.Optional<ImageReader> getImageReader(ImageInputStream)java.util.Optional is a replacement for com.google.common.base.Optional
com.atlassian.core.filters.ProfilingAndErrorFilterClass will be removed in Platform 7.0
com.atlassian.core.util.Dom4jUtilClass will be removed in Platform 7.0
com.atlassian.core.user.preferences.UserPreferencesUserSettingsService or PluginSettingsFactory from SAL or migrate to using AO completelyClass will be removed in Platform 7.0
com.atlassian.core.propertyset.CachingPropertySetUserSettingsService or PluginSettingsFactory from SAL or migrate to using AO completelyClass will be removed in Platform 7.0

Atlassian Failure Cache

Class nameCodeAlternative codeMigration notes
com.atlassian.failurecache.executor.DaemonExecutorServiceinvokeAllAndGet()invokeAllAndGetResults()invokeAllAndGetResults() returns List instead of ImmutableList
com.atlassian.failurecache.executor.DaemonExecutorServiceImplinvokeAllAndGet()invokeAllAndGetResults()invokeAllAndGetResults() returns List instead of ImmutableList
com.atlassian.failurecache.Cacherefresh()n/aReference returned value using java.util.concurrent.Future interface
com.atlassian.failurecache.CacheLoadergetKeys()getAllKeys()Return value is of type Set instead of Guava ImmutableSet
com.atlassian.failurecache.CacheLoaderloadValue()loadValueFuture()Return value is of type Future instead of Guava ListenableFuture
com.atlassian.failurecache.ExpirationDateBasedCacheImplrefresh()n/aReference returned value using java.util.concurrent.Future interface
com.atlassian.failurecache.ExpiringValueextractValue()extractValueFunction()Return value is of type Java Function instead of Guava Function
com.atlassian.failurecache.PlaceholderFutureForwardingListenableFuture f = new PlaceholderFuture()CompletableFuture f = new PlaceholderFuture()Superclass will be changed from Guava ForwardingListenableFuture to Java CompletableFuture
com.atlassian.failurecache.PlaceholderFutureListenableFuture f = p.delegate()Future f = p.delegate()Return value type will be changed from Guava ListenableFuture to Java Future
com.atlassian.failurecache.PlaceholderFuturesetDelegate(ListenableFuture)setDelegate(Future)Parameter type will be changed from Guava ListenableFuture to Java Future
com.atlassian.failurecache.RefreshableListenableFuture f = r.refreshCache()Future f = r.refreshCache()Return value type will be changed from Guava ListenableFuture to Java Future
Class nameCodeAlternative codeMigration notes
com.atlassian.plugins.capabilities.api.AppWithCapabilities.javaDateTime getBuildDate()ZonedDateTime getBuildDateTime()Third party dependency org.joda.time is replaced by java.time
com.atlassian.plugins.navlink.producer.navigation.links.NavigationLinkBase.javaDateTime getBuildDate()ZonedDateTime getBuildDateTime()
com.atlassian.plugins.navlink.producer.navigation.links.NavigationLinkBuilderBase.javabuildDate(DateTime buildDate)buildDateTime(ZonedDateTime buildDateTime)
com.atlassian.plugins.navlink.util.date.JodaDateToJavaTimeUtil.javawhole classnone
com.atlassian.plugins.navlink.producer.navigation.services.NavigationLinkRepositorymatching(final com.google.common.base.Predicate<RawNavigationLink> criteria)matching(final Predicate<RawNavigationLink> criteria)java.util.function.Predicate is a drop-in replacement for com.google.common.base.Predicate
com.atlassian.plugins.custom_apps.NavigationLinkRepositoryAdapterSee aboveSee aboveSee above
com.atlassian.plugins.navlink.producer.navigation.plugin.PluginModuleTypeBasedNavigationLinkRepositorySee aboveSee aboveSee above
com.atlassian.plugins.navlink.consumer.menu.client.capabilities.CapabilitiesClientgetCapabilities(ReadOnlyApplicationLink applicationLink)getCapabilitiesFuture(ReadOnlyApplicationLink applicationLink)Return value is of type Future instead of Guava's ListenableFuture
com.atlassian.plugins.navlink.consumer.menu.client.capabilities.RestCapabilitiesClientSee aboveSee aboveSee above
com.atlassian.plugins.navlink.consumer.menu.services.NavigationLinksCacheLoaderImmutableSet<Pair<RemoteApplicationWithCapabilities, Locale>> getKeys()Set<Pair<RemoteApplicationWithCapabilities, Locale>> getAllKeys()Return value is of type Set instead of Guava's ImmutableSet
ListenableFuture<ExpiringValue<ApplicationNavigationLinks>> loadValue(final Pair<RemoteApplicationWithCapabilities, Locale> key)Future<ExpiringValue<ApplicationNavigationLinks>> loadValueFuture(final Pair<RemoteApplicationWithCapabilities, Locale> key)Return value is of type Future instead of Guava's ListenableFuture
com.atlassian.plugins.navlink.consumer.menu.client.navigation.NavigationClientgetNavigationLinks(RemoteApplicationWithCapabilities application, Locale locale)getNavigationLinksFuture(RemoteApplicationWithCapabilities application, Locale locale)Return value is of type Future instead of Guava's ListenableFuture
com.atlassian.plugins.navlink.consumer.menu.client.navigation.RestNavigationClientSee aboveSee aboveSee above
com.atlassian.plugins.capabilities.api.AppWithCapabilitiesgetCapabilities()getAllCapabilities()Return value is of type Map instead of Guava's ImmutableMap
com.atlassian.plugins.capabilities.api.LinkedAppWithCapabilitiesSee aboveSee aboveSee above
com.atlassian.plugins.navlink.producer.capabilities.RemoteApplicationWithCapabilitiesSee aboveSee aboveSee above
com.atlassian.plugins.navlink.producer.capabilities.ApplicationWithCapabilitiesSee aboveSee aboveSee above
com.atlassian.plugins.navlink.common.NavigationLinkServicematching(@Nonnull Locale locale, @Nonnull com.google.common.base.Predicate<NavigationLink> criteria)matching(@Nonnull Locale locale, @Nonnull Predicate<NavigationLink> criteria)java.util.function.Predicate is a drop-in replacement for com.google.common.base.Predicate
com.atlassian.plugins.navlink.consumer.menu.services.RemoteNavigationLinkServiceSee aboveSee aboveSee above
com.atlassian.plugins.navlink.producer.navigation.services.LocalNavigationLinkServiceSee aboveSee aboveSee above
com.atlassian.plugins.navlink.consumer.menu.services.CachingRemoteNavigationLinkServiceImplSee aboveSee aboveSee above
com.atlassian.plugins.navlink.producer.navigation.services.LocalNavigationLinkServiceImplSee aboveSee aboveSee above
com.atlassian.plugins.navlink.producer.navigation.ApplicationNavigationLinksgetNavigationLinks()getAllNavigationLinks()Return value is of type Set instead of Guava ImmutableSet
com.atlassian.plugins.navlink.util.executor.DaemonExecutorServiceinvokeAllAndGet(Iterable<? extends Callable<I>> callables, long timeout, TimeUnit unit)invokeAllAndGet(Collection<? extends Callable<I>> callables, long timeout, TimeUnit unit)Return value makes use of type List instead of Guava's ImmutableList
com.atlassian.plugins.navlink.util.executor.DaemonExecutorServiceImplSee aboveSee aboveSee above
com.atlassian.plugins.navlink.producer.navigation.services.RawNavigationLinkPredicateskeyEquals(final String key)equalsKey(final String key)java.util.function.Predicate is a drop-in replacement for com.google.common.base.Predicate
com.atlassian.plugins.navlink.consumer.menu.services.CachingLinkedApplicationCapabilitiesImplListenableFuture<?> refreshCache()Future<?> refreshCache()Return value is of type Future instead of Guava's ListenableFuture
com.atlassian.plugins.navlink.consumer.menu.services.CapabilitiesCacheLoaderImmutableSet<ApplicationId> getKeys()Set<ApplicationId> getAllKeys()Return value is of type Set instead of Guava's ImmutableSet
ListenableFuture<ExpiringValue<RemoteApplicationWithCapabilities>> loadValue(final ApplicationId applicationId)Future<ExpiringValue<RemoteApplicationWithCapabilities>> loadValueFuture(ApplicationId applicationId)Return value is of type Future instead of Guava's ListenableFuture
com.atlassian.plugins.navlink.producer.navigation.NavigationLinkPredicateskeyEquals(final String keyToMatch)equalsKey(final String keyToMatch)java.util.function.Predicate is a drop-in replacement for com.google.common.base.Predicate
matchesCustomApp(final CustomApp customApp)filterCustomApp(final CustomApp customApp)java.util.function.Predicate is a drop-in replacement for com.google.common.base.Predicate
Class nameCodeAlternative code
com.atlassian.linkaggregation.jira.JiraTimeModifiedServiceDateTime getLastModifiedZonedDateTime getLastModifiedZonedDate
com.atlassian.linkaggregation.RemoteLinkAggregateTimeModifiedServiceDateTime getLastModifiedZonedDateTime getLastModifiedZonedDate
com.atlassian.linkaggregation.impl.RemoteLinkAggregatorServiceDateTime getLastModifiedZonedDateTime getLastModifiedZonedDate

UPM Server

Class nameCodeAlternative code
com.atlassian.upm.api.license.event.PluginLicenseExpiredEventPluginLicenseExpiredEvent(PluginLicense license, DateTime expiryDate)PluginLicenseExpiredEvent(PluginLicense license, ZonedDateTime expiryDate)
DateTime getExpiryDate()ZonedDateTime getExpiryZonedDate()
com.atlassian.upm.api.license.entity.PluginLicenseDateTime SERVER_LICENSE_CUTOFF_DATEZonedDateTime SERVER_LICENSE_CUTOFF_ZONED_DATE
DateTime getCreationDate()ZonedDateTime getCreationZonedDate()
DateTime getPurchaseDate()ZonedDateTime getPurchaseZonedDate()
Option<DateTime> getExpiryDate()Optional<ZonedDateTime> getExpiryZonedDate()
Option<Period> getTimeBeforeExpiry()Optional<Duration> getDurationBeforeExpiry()
Option<DateTime> getMaintenanceExpiryDate()Optional<ZonedDateTime> getMaintenanceExpiryZonedDate()
Option<Period> getTimeBeforeMaintenanceExpiry()Optional<Duration> getDurationBeforeMaintenanceExpiry()
Option<DateTime> getSubscriptionEndDate()Optional<ZonedDateTime> getSubscriptionEndZonedDate()
com.atlassian.upm.api.license.entity.PluginLicense.PluginLicenseMaintenancePeriodExpiredEventPluginLicenseMaintenancePeriodExpiredEvent(PluginLicense license, DateTime expiryDate)PluginLicenseMaintenancePeriodExpiredEvent(PluginLicense license, ZonedDateTime expiryZonedDate)
DateTime getExpiryDate()ZonedDateTime getExpiryZonedDate()
com.atlassian.upm.license.internal.ConfluenceLicenseDateFormatterString formatDateTime(DateTime licenseDate)String formatDateTime(ZonedDateTime licenseDate)
com.atlassian.upm.license.internal.BitbucketLicenseDateFormatterString formatDateTime(DateTime licenseDate)String formatDateTime(ZonedDateTime licenseDate)
com.atlassian.upm.license.internal.FecruLicenseDateFormatterString formatDate(DateTime licenseDate)String formatDate(ZonedDateTime licenseDate)
com.atlassian.upm.license.PluginLicensesOption<Days>; getDaysSinceMaintenanceExpiry(PluginLicense pluginLicense)OptionalLong daysSinceMaintenanceExpiry(PluginLicense pluginLicense)
Function<PluginLicense, DateTime> licenseCreationDate()Function<PluginLicense, ZonedDateTime> licenseCreationZonedDate()
com.atlassian.upm.license.LicensedAttributes.LicenseAttributes.BuilderBuilder expiryDate(Option<DateTime> expiryDate)Builder expiryDate(Optional<ZonedDateTime> expiryDate)
Builder maintenanceExpiryDate(Option<DateTime> maintenanceExpiryDate)Builder maintenanceExpiryDate(Optional<ZonedDateTime> maintenanceExpiryDate)

Rate this page: