The following table lists all of the breaking changes that have already been introduced to the Jira Software 10.0 and Jira Service Management 10.0 Java and REST APIs. The content of the table is kept up-to-date with everly EAP release of Jira Software 10.0 and Jira Service Management 10.0.
Change | Instructions | Implemented |
---|---|---|
Deprecated com.atlassian.jira.issue.table.IssueTable provided by jira-api removed | Use com.atlassian.jira.issue.table.IssueTable provided by jira-issue-nav-plugin instead. | EAP 02 |
Removed:
| For marshalling and unmarshalling, use the Jackson-friendly serializers and deserializers:
| EAP 02 |
Removed com.atlassian.jira:jira-func-tests-legacy | Migrate your code from BaseJIRAWebTest (Junit3) to FuncTestCase (Junit 4+). This module has been deprecated since Jira 7. | EAP 02 |
The doHealthCheck request parameter was removed from the rest/api/2/serverInfo endpoint together with the healthChecks field from the response. | Use jira-healthcheck-plugin instead. | EAP 02 |
Removed rest/api/1.0/endpoint | No alternative provided. | EAP 02 |
Removed:
|
Instead, use:
| EAP 02 |
Removed com.atlassian.jira.rest.v1.model.ValueCollection | No alternative provided. | EAP 02 |
| Use com.atlassian.jira.testkit.client.restclient.ParsedResponse Use new RestCall interface or lambda in place of method interface instead. | EAP 02 |
Jira table column update for Oracle and Mysql. | No actions required, schema will be migrated on restart. Impacted tables include: changegroup jiraissue jiraaction | EAP 02 |
com.atlassian.jira.avatar.AvatarManager #getAvatarBaseDirectory | Use AvatarManager#readAvatarData() to access avatar data directly. | EAP 02 |
Jira Service Management Upgrade from Groovy 2 to Groovy 4 in Assets | Migrate all groovy code to be compatible with Groovy 4. | EAP 03 |
Jira Service Management Removal of the http-builder library from Groovy console and scripts. | Switch to the native Groovy GET and POST methods. | EAP 03 |
com.atlassian.jira.util.AttachmentConfig | Use AttachmentConfigManager#getTemporaryAttachmentDirectory() instead. | EAP 03 |
com.atlassian.jira.issue.attachment.AttachmentStore |
Use alternative methods provided by:
| EAP 03 |
com.atlassian.jira.util.AttachmentUtils |
To create, read, or delete attachment and thumbnail data directly, Use the methods available in To find the temporary attachment directory, use The attachment and thumbnail directories for a particular issue are no longer exposed. Instead, use:
To manage individual attachments or store other data elsewhere, use:
| EAP 03 |
AttachmentManager#attachmentsEnabled() | Use AttachmentConfigManager#isAttachmentsEnabled() instead. | EAP 03 |
AttachmentManager#disableAttachments() | No alternative provided | EAP 03 |
AttachmentManager#createAttachmentCopySourceFile and previously deprecated overloads of AttachmentManager#createAttachment | Use Use AttachmentManager#createAttachment(CreateAttachmentParamsBean) instead. | EAP 03 |
com.atlassian.jira.issue.attachment.CreateAttachmentParamsBean#CreateAttachmentParamsBean | Instead, use the provided builder:com.atlassian.jira.issue.attachment.CreateAttachmentParamsBean.Builder | EAP 03 |
AttachmentManager#deleteAttachmentDirectory(Issue) | To delete an issue, use IssueManager#deleteIssue instead. | EAP 03 |
Remove deprecated REST API endpoint GET /rest/api/2/group provided by com.atlassian.jira.rest.v2.issue.GroupResource#getGroup | GET /rest/api/2/group (docs) will be removed. Use Use GET /rest/api/2/group/member instead (docs) provided by com.atlassian.jira.rest.v2.issue.GroupResource#getUsersFromGroup instead. | EAP 03 |
Disabling runtime compilation of JavaServer Pages (JSP). |
Affected vendors have been contacted. There is no longer any support for modifying the JSP. Public documentation will be updated. | EAP 03 |
Public endpoint DELETE /rest/api/2/version/{id} provided by com.atlassian.jira.rest.v2.issue.VersionResource#delete(java.lang.String, java.lang.String, java.lang.String) removed along with public API methods: com.atlassian.jira.bc.project.version.VersionService#delete(JiraServiceContext, ValidationResult) com.atlassian.jira.project.version.VersionManager#deleteVersion(ApplicationUser, Version, Option<Version>, Option<Version>) | Use POST /rest/api/2/version/{id}/removeAndSwap provided by com.atlassian.jira.rest.v2.issue.VersionResource#delete(String, DeleteAndReplaceVersionBean) For the Public API use the following replacements: com.atlassian.jira.bc.project.version.VersionService#deleteVersionAndSwap com.atlassian.jira.project.version.VersionManager#deleteVersionAndSwap | EAP 03 |
Velocity upgraded to 1.6.4.atlassian_28 to receive path traversal prevention | N/A | EAP 03 |
Block Velocity file URL access in webapp directory | We don't use any .vm files in the webapp directory. Not breaking for Jira itself (in theory). | EAP 03 |
com.atlassian.jira.bc.license.JiraLicenseService.ValidationResult#getLicenseVersion() | Use #getLicenseDetails().getLicenseVersion() instead. | EAP 03 |
com.atlassian.jira.bc.license.JiraLicenseService.ValidationResult#getTotalUserCount() | Use one of the following:
| EAP 03 |
com.atlassian.jira.bc.portal.PortalPageService#updatePortalPageUnconditionally(com.atlassian.jira.bc.JiraServiceContext, com.atlassian.jira.user.ApplicationUser, com.atlassian.jira.portal.PortalPage) removed | Use one of the following:
| EAP 03 |
com.atlassian.jira.bc.project.version.VersionService#validateVersionDetails(com.atlassian.jira.user.ApplicationUser, com.atlassian.jira.project.version.Version, java.lang.String, java.lang.String) removed | Use #validateUpdate(com.atlassian.jira.user.ApplicationUser,com.atlassian.jira.bc.project.version.VersionService.VersionBuilder) instead. | EAP 03 |
com.atlassian.jira.bc.project.version.VersionService#validateReleaseDate(com.atlassian.jira.user.ApplicationUser, com.atlassian.jira.project.version.Version, java.lang.String) removed | Use #validateUpdate(com.atlassian.jira.user.ApplicationUser,com.atlassian.jira.bc.project.version.VersionService.VersionBuilder) instead. | EAP 03 |
com.atlassian.jira.bc.user.UserService#validateRemoveUserFromApplication(com.atlassian.jira.user.ApplicationUser, com.atlassian.application.api.ApplicationKey) removed | Use UserService#validateRemoveUserFromApplication(com.atlassian.jira.user.ApplicationUser,com.atlassian.jira.user.ApplicationUser,com.atlassian.application.api.ApplicationKey) instead. | EAP 03 |
com.atlassian.jira.bc.customfield.CustomFieldDefinition#CustomFieldDefinition() removed | Use com.atlassian.jira.bc.customfield.CustomFieldDefinition#builder to construct the instance. | EAP 03 |
com.atlassian.jira.bc.issue.comment.CommentService#isGroupVisiblityEnabled() renamed to com.atlassian.jira.bc.issue.comment.CommentService#isGroupVisibilityEnabled() | Use methods with the visiblity typo corrected to visibility . | EAP 03 |
com.atlassian.jira.bc.issue.comment.CommentService#isProjectVisiblityEnabled() renamed to com.atlassian.jira.bc.issue.comment.CommentService#isProjectRoleVisibilityEnabled() | Use methods with the visiblity typo corrected to visibility . | EAP 03 |
com.atlassian.jira.bc.issue.comment.CommentService#isValidCommentData(com.atlassian.jira.user.ApplicationUser, com.atlassian.jira.issue.Issue, java.lang.String, java.lang.String, com.atlassian.jira.util.ErrorCollection) removed | Use #isValidCommentVisibility(com.atlassian.jira.user.ApplicationUser, com.atlassian.jira.issue.Issue, com.atlassian.jira.bc.issue.visibility.Visibility, com.atlassian.jira.util.ErrorCollection) instead. | EAP 03 |
com.atlassian.jira.bc.issue.comment.CommentService.CommentParameters#getGroupLevel() andcom.atlassian.jira.bc.issue.comment.CommentService.CommentParameters#getRoleLevelId() removed | Use the method returning Visibility instance:#getVisibility() Example of use that returns io.atlassian.fugue.Option<String> instance with appropriate group level value:getVisibility().accept(VisibilityVisitors.returningGroupLevelVisitor()) | EAP 03 |
com.atlassian.jira.bc.issue.util.VisibilityValidator#isProjectRoleVisiblityEnabled() renamed to #isProjectRoleVisibilityEnabled() | Use methods with the visiblity typo corrected to visibility . | EAP 03 |
com.atlassian.jira.bc.issue.util.VisibilityValidator#isGroupVisiblityEnabled() renamed to #isGroupVisibilityEnabled() | Use methods with the visiblity typo corrected to visibility . | EAP 03 |
com.atlassian.jira.bc.issue.util.VisibilityValidator#isValidVisibilityData(com.atlassian.jira.bc.JiraServiceContext, java.lang.String, com.atlassian.jira.issue.Issue, java.lang.String, java.lang.String) removed | Use #isValidVisibilityData(com.atlassian.jira.bc.JiraServiceContext, String, com.atlassian.jira.issue.Issue, com.atlassian.jira.bc.issue.visibility.Visibility) instead. | EAP 03 |
com.atlassian.jira.bc.issue.worklog.WorklogInputParameters#getGroupLevel, com.atlassian.jira.bc.issue.worklog.WorklogInputParametersImpl#getGroupLevel ,com.atlassian.jira.bc.issue.worklog.WorklogInputParameters#getRoleLevelId ,com.atlassian.jira.bc.issue.worklog.WorklogInputParametersImpl#getGroupLevel removed | Use the method returning Visibility instance:#getVisibility() Example of use that returns io.atlassian.fugue.Option<String> instance with appropriate group level value:getVisibility().accept(VisibilityVisitors.returningGroupLevelVisitor()) | EAP 03 |
com.atlassian.jira.bulkedit.BulkOperationManager#getBulkOperations() removed | Use getProgressAwareBulkOperations() instead. | EAP 03 |
com.atlassian.jira.bulkedit.BulkOperationManager#addBulkOperation(String, Class) removed | Use addProgressAwareBulkOperation(String, Class) instead. | EAP 03 |
com.atlassian.jira.bulkedit.BulkOperationManager#getOperation(String) removed | Use getProgressAwareOperation(String) instead. | EAP 03 |
com.atlassian.jira.bulkedit.operation.BulkOperation removed | Use com.atlassian.jira.bulkedit.operation.ProgressAwareBulkOperation instead. | EAP 03 |
Removed deprecated audit REST API endpoints:GET /rest/api/2/auditing/record POST /rest/api/2/auditing/record |
Use the new REST API endpoints instead:
For more information about the API, refer to Audit log improvements for developers. | EAP 03 |
Removed deprecated audit API code:
|
Use the new API code instead:
For more information about this change, refer to Migrating to the new Jira audit log Java API. | EAP 03 |
com.atlassian.jira.issue.search.managers.IssueSearcherManager#getSearcherGroups(com.atlassian.jira.issue.search.SearchContext) removed | The com.atlassian.jira.issue.search.SearchContext parameter is no longer needed. Use #getSearcherGroups() instead. | EAP 03 |
com.atlassian.jira.issue.search.managers.SearchHandlerManager#getSearcherGroups(com.atlassian.jira.issue.search.SearchContext) removed | The com.atlassian.jira.issue.search.SearchContext parameter is no longer needed. Use #getSearcherGroups() instead. | EAP 03 |
com.atlassian.jira.issue.search.managers.SearchHandlerManager#getSearchersByClauseName(com.atlassian.jira.user.ApplicationUser, java.lang.String, com.atlassian.jira.issue.search.SearchContext) removed | The com.atlassian.jira.issue.search.SearchContext parameter is no longer needed. Use #getSearchersByClauseName(com.atlassian.crowd.embedded.api.User,String) instead. | EAP 03 |
com.atlassian.jira.issue.search.searchers.util.IndexedInputHelper#getAllIndexValuesForMatchingClauses(com.atlassian.jira.user.ApplicationUser, com.atlassian.jira.issue.search.ClauseNames, com.atlassian.query.Query, com.atlassian.jira.issue.search.SearchContext) | The com.atlassian.jira.issue.search.SearchContext parameter is no longer needed. Use #getAllIndexValuesForMatchingClauses(com.atlassian.jira.user.ApplicationUser,com.atlassian.jira.issue.search.ClauseNames,com.atlassian.query.Query) instead. | EAP 03 |
com.atlassian.jira.issue.search.searchers.util.IndexedInputHelper#getAllNavigatorValuesForMatchingClauses(com.atlassian.jira.user.ApplicationUser, com.atlassian.jira.issue.search.ClauseNames, com.atlassian.query.Query, com.atlassian.jira.issue.search.SearchContext) removed | The com.atlassian.jira.issue.search.SearchContext parameter is no longer needed. Use #getAllNavigatorValuesForMatchingClauses(ApplicationUser,com.atlassian.jira.issue.search.ClauseNames,com.atlassian.query.Query) instead. | EAP 03 |
com.atlassian.jira.issue.util.IssueUpdateBean#getUser() removed | Use #getApplicationUser() instead. | EAP 03 |
com.atlassian.jira.jql.query.AbstractLocalDateOperatorQueryFactory removed | Use com.atlassian.jira.jql.util.JqlLocalDateSupport#getLocalDatesFromQueryLiterals(java.util.List) instead. | EAP 03 |
com.atlassian.jira.jql.util.JqlIssueSupport#getIssues(java.lang.String, com.atlassian.jira.user.ApplicationUser) removed | Use #getIssue(String,com.atlassian.jira.user.ApplicationUser) instead. | EAP 03 |
com.atlassian.jira.jql.util.JqlIssueSupport#getIssues(java.lang.String) removed | Use #getIssue(String) instead. | EAP 03 |
com.atlassian.jira.license.LicenseDetails#getLicenseStatusMessage(com.atlassian.jira.user.ApplicationUser, java.lang.String, com.atlassian.jira.user.util.UserManager) removed | Use #getLicenseStatusMessage(com.atlassian.jira.util.I18nHelper,UserManager) instead. | EAP 03 |
com.atlassian.jira.license.LicenseDetails#getLicenseStatusMessage(com.atlassian.jira.util.I18nHelper, com.atlassian.jira.web.util.OutlookDate, java.lang.String, com.atlassian.jira.user.util.UserManager) removed | Use #getLicenseStatusMessage(com.atlassian.jira.util.I18nHelper,UserManager) instead. | EAP 03 |
com.atlassian.jira.license.LicenseDetails#isLicenseAlmostExpired() removed | Use LicenseDetails#getMaintenanceExpiryDate directly. | EAP 03 |
com.atlassian.jira.bc.whitelist.WhitelistService removed | Use com.atlassian.plugins.whitelist.WhitelistService and com.atlassian.plugins.whitelist.OutboundWhitelist instead. | EAP 03 |
com.atlassian.jira.bc.whitelist.WhitelistManager removed | Use com.atlassian.plugins.whitelist.WhitelistService and com.atlassian.plugins.whitelist.OutboundWhitelist instead. | EAP 03 |
com.atlassian.jira.mention.MentionService#sendCommentMentions(com.atlassian.jira.user.ApplicationUser, java.util.Set<com.atlassian.jira.notification.NotificationRecipient>, com.atlassian.jira.issue.comments.Comment, com.atlassian.jira.issue.comments.Comment) removed | Use #sendCommentMentions(Set,ApplicationUser,Comment,Comment) instead. | EAP 03 |
com.atlassian.jira.mention.MentionService#sendIssueCreateMentions(com.atlassian.jira.user.ApplicationUser, java.util.Set<com.atlassian.jira.notification.NotificationRecipient>, com.atlassian.jira.issue.Issue) removed | Use #sendIssueCreateMentions(Set,ApplicationUser,Issue) instead. | EAP 03 |
com.atlassian.jira.mention.MentionService#sendIssueEditMentions(com.atlassian.jira.user.ApplicationUser, java.util.Set<com.atlassian.jira.notification.NotificationRecipient>, com.atlassian.jira.issue.Issue, com.atlassian.jira.issue.comments.Comment) removed | Use #sendIssueEditMentions(Set,ApplicationUser,Issue,Comment) instead. | EAP 03 |
com.atlassian.jira.plugin.keyboardshortcut.KeyboardShortcutManager#getActiveShortcuts() removed | Use #listActiveShortcutsUniquePerContext instead. | EAP 03 |
com.atlassian.jira.plugin.webfragment.conditions.AbstractJiraPermissionCondition removed | Use AbstractPermissionCondition instead. | EAP 03 |
com.atlassian.jira.plugin.webfragment.conditions.AbstractPermissionCondition removed | Use AbstractProjectPermissionCondition instead. | EAP 03 |
com.atlassian.jira.project.type.ProjectTypesEnabledCondition removed | No replacement | EAP 03 |
com.atlassian.jira.permission.PermissionSchemeManager#getEntitiesByType(org.ofbiz.core.entity.GenericValue, com.atlassian.jira.security.plugin.ProjectPermissionKey, java.lang.String) removed | Use #getPermissionSchemeEntries(long,com.atlassian.jira.security.plugin.ProjectPermissionKey,String) instead. | EAP 03 |
com.atlassian.jira.permission.PermissionSchemeManager#getGroups(java.lang.Long, com.atlassian.jira.project.Project) removed | Use #getGroups(ProjectPermissionKey,Project) instead. | EAP 03 |
com.atlassian.jira.config.properties.LookAndFeelBean#getVersion() removed | Use getSettingsHash() to get the state of Look and feel feature. | EAP 03 |
com.atlassian.jira.config.properties.LookAndFeelBean#updateVersion(long) removed | Use updateSettingsHash() instead. | EAP 03 |
com.atlassian.jira.config.SubTaskManager#insertSubTaskIssueType(java.lang.String, java.lang.Long, java.lang.String, java.lang.String) removed | Use insertSubTaskIssueType(String,Long,String,Long) instead. | EAP 03 |
com.atlassian.jira.config.SubTaskManager#updateSubTaskIssueType(java.lang.String, java.lang.String, java.lang.Long, java.lang.String, java.lang.String) removed | Use updateSubTaskIssueType(String,String,Long,String,Long) instead. | EAP 03 |
com.atlassian.jira.event.issue.IssueWatcherAddedEvent#getUser() removed | Use #getApplicationUser() instead. | EAP 03 |
com.atlassian.jira.event.issue.IssueWatcherDeletedEvent#getUser() removed | Use getApplicationUser() instead. | EAP 03 |
com.atlassian.jira.event.mail.EmailQueueFlashedEvent removed | Use com.atlassian.jira.event.mail.EmailQueueFlushedEvent instead. | EAP 03 |
Jira Service ManagementGET /servicedeskapi/queues/{projectKey} removed | Use GET /servicedeskapi/admin/queues/{projectKey} instead. | EAP 03 |
Jira Service ManagementPUT /servicedeskapi/queues/include-count removed | Use PUT /servicedeskapi/admin/queues/include-count instead. | EAP 03 |
Jira Service ManagementPUT /servicedeskapi/queues/{projectKey}/include-count removed | Use PUT /servicedeskapi/admin/queues/{projectKey}/include-count instead. | EAP 03 |
Jira Service ManagementPUT /servicedeskapi/queues/cache-count removed | Use PUT /servicedeskapi/admin/queues/cache-count instead. | EAP 03 |
Jira Service ManagementPUT /servicedeskapi/queues/{projectKey}/cache-count removed | Use PUT /servicedeskapi/admin/queues/{projectKey}/cache-count instead. | EAP 03 |
Private endpoint POST globalconfig/1/customfieldoptions/{customFieldId}/ provided by com.atlassian.jira.projectconfig.rest.global.CustomFieldOptionsResource#setOptions removed | Use POST globalconfig/1/customfieldoptions/{customFieldId}/setOptions provided by com.atlassian.jira.projectconfig.rest.global.CustomFieldOptionsResource#setOptionsForCustomField instead. | EAP 04 |
Private endpoint POST /api/1.0/user/{username}/avatar/{avatarid} provided by com.atlassian.jira.rest.v1.users.UserResource removed | Replace with PUT /rest/api/2/user/avatar provided by com.atlassian.jira.rest.v2.issue.UserResource#updateUserAvatar | EAP 04 |
Private endpoint /greenhopper/1.0/api/sprints/{sprintId}/remotelink provided by ccom.atlassian.greenhopper.web.api.RemoteSprintLinkResource#createOrUpdateRemoteSprintLink removed | Use greenhopper/1.0/api/sprints/{sprintId}/remotelinkchecked provided by com.atlassian.greenhopper.web.api.RemoteSprintLinkResource#createRemoteSprintLinkChecked instead. | EAP 04 |
com.atlassian.jira.security.GlobalPermissionEntry#getGlobalPermissionType() removed | Use #getPermissionKey() instead. | EAP 04 |
com.atlassian.jira.security.JiraAuthenticationContext#getI18nBean() removed | Use #getI18nHelper() instead. | EAP 04 |
com.atlassian.jira.security.JiraAuthenticationContext#getText(java.lang.String) removed | Use getText() method on #getI18nHelper() . | EAP 04 |
com.atlassian.jira.sharing.ShareManager#hasPermission(com.atlassian.jira.user.ApplicationUser, com.atlassian.jira.sharing.SharedEntity) removed | Use #isSharedWith(com.atlassian.crowd.embedded.api.User, SharedEntity) to get the same logic. According to this, the permission checks should be done in the service layer. | EAP 04 |
com.atlassian.jira.user.preferences.JiraUserPreferences class moved to jira-core | You should not construct user preferences directly. Request them through the UserPreferencesManager instead. | EAP 04 |
com.atlassian.jira.issue.fields.rest.json.CommentBeanFactory#createRenderedBean(com.atlassian.jira.issue.comments.Comment) removed | Use #createRenderedBean(com.atlassian.jira.issue.comments.Comment, com.atlassian.jira.user.ApplicationUser, com.atlassian.jira.util.EmailFormatter) instead. | EAP 04 |
com.atlassian.jira.util.collect.MapBuilder#toFastMap() removed | Use ImmutableMap instead. | EAP 04 |
com.atlassian.jira.util.collect.MapBuilder#toImmutableMap() removed | Use #toMap() instead or consider using ImmutableMap if the map doesn't need to accept nulls. | EAP 04 |
com.atlassian.jira.util.index.Contexts#nullContext() removed | Use com.atlassian.jira.task.context.Contexts#nullContext() instead. | EAP 04 |
com.atlassian.jira.util.JiraDurationUtils#onClearCache(com.atlassian.jira.event.ClearCacheEvent) removed | Use DurationFormatChanged event instead. | EAP 04 |
com.atlassian.jira.util.JiraDurationUtils#start() removed | No replacement | EAP 04 |
com.atlassian.jira.web.action.issue.IssueCreationHelperBean#getProvidedFieldNames(com.atlassian.jira.user.ApplicationUser, com.atlassian.jira.issue.Issue) removed | Use com.atlassian.jira.web.action.issue.IssueCreationHelperBean#getProvidedFieldNames(com.atlassian.jira.issue.Issue) instead. | EAP 04 |
com.atlassian.jira.web.bean.MultiBulkMoveBean#setTargetProject(org.ofbiz.core.entity.GenericValue) removed | Use com.atlassian.jira.web.bean.MultiBulkMoveBean#setTargetProject(com.atlassian.jira.project.Project) instead. | EAP 04 |
com.atlassian.jira.web.util.HelpUtil.HelpPath#getSimpleUrl() removed | Use com.atlassian.jira.web.util.HelpUtil.HelpPath#getUrl() instead. | EAP 04 |
com.atlassian.jira.web.util.OutlookDate#format() removed | Use com.atlassian.jira.datetime.DateTimeFormatter#format(java.util.Date) instead. | EAP 04 |
com.atlassian.jira.web.util.OutlookDate#getCompleteDateFormat() removed | Use com.atlassian.jira.datetime.DateTimeFormatter#getFormatHint() instead. | EAP 04 |
com.atlassian.jira.web.util.OutlookDate#getDatePickerFormat() removed | Use com.atlassian.jira.datetime.DateTimeFormatter#getFormatHint() instead. | EAP 04 |
com.atlassian.jira.web.util.OutlookDate#getDateTimePickerFormat() removed | Use com.atlassian.jira.datetime.DateTimeFormatter#getFormatHint() instead. | EAP 04 |
com.atlassian.jira.web.util.OutlookDate#getDateTimePickerFormatSample(java.util.Date) removed | Use com.atlassian.jira.datetime.DateTimeFormatter#format(java.util.Date) instead. | EAP 04 |
com.atlassian.jira.web.util.OutlookDate#getNow() removed | Use java.util.Date#Date() instead. | EAP 04 |
com.atlassian.jira.help.HelpUrlsParser#defaultUrl(String, String) and #onDemand(boolean) removed | Use com.atlassian.jira.help.HelpUrlsParserBuilderFactory to construct new HelpUrlsParse instance. | EAP 04 |
com.atlassian.jira.imports.project.mapper.ProjectImportIdMapper#getValuesFromImport() removed | Use getRegisteredOldIds() instead. If needed, you can also use getKey() | EAP 04 |
com.atlassian.jira.imports.project.mapper.ProjectRoleActorMapper#getAllProjectRoleActors() removed | Use the properly typed method #getProjectRoleActors() instead. | EAP 04 |
com.atlassian.jira.issue.comments.CommentManager#getProjectRole(java.lang.Long) removed | Use com.atlassian.jira.security.roles.ProjectRoleManager#getProjectRole(Long) instead. | EAP 04 |
com.atlassian.jira.issue.fields.layout.field.FieldLayoutStorageException removed | No replacement | EAP 04 |
com.atlassian.jira.issue.fields.rest.json.CommentBeanFactory#createRenderedBean(com.atlassian.jira.issue.comments.Comment) removed | Use #createRenderedBean(com.atlassian.jira.issue.comments.Comment, com.atlassian.jira.user.ApplicationUser, com.atlassian.jira.util.EmailFormatter) instead. | EAP 04 |
Removed:
| Use #shouldNotifyCluster() instead. Do not consult internal ReindexAllCompletedEvent class. | EAP 04 |
Removed:
| Use #shouldNotifyCluster() instead. Do not consult internal ReindexAllStartedEvent class. | EAP 04 |
com.atlassian.jira.permission.SchemePermissions removed | Use com.atlassian.jira.security.PermissionManager instead. | EAP 04 |
com.atlassian.jira.permission.Permission removed | Use com.atlassian.jira.security.PermissionManager or com.atlassian.jira.security.GlobalPermissionManager instead. | EAP 04 |
com.atlassian.jira.issue.attachment.AttachmentZipKit removed | Use com.atlassian.jira.issue.AttachmentIndexManager instead. | EAP 04 |
com.atlassian.jira.util.NotNull removed | Use javax.annotation.Nonnull instead. | EAP 04 |
The following methods:
are removed from:
| Use #shouldNotifyCluster() instead. Do not consult internal ReindexAllStartedEvent class. | EAP 04 |
Private endpoint GET globalconfig/1/issuecustomfields/{issue} provided by com.atlassian.jira.projectconfig.rest.global.IssueCustomFieldsResource#getAffectedProjects removed | No replacement | EAP 05 |
Private endpoint POST /api/1.0/user/{username}/avatar/{avatarid} provided by com.atlassian.jira.rest.v1.users.UserResource removed | Replace PUT /rest/api/2/user/avatar provided by com.atlassian.jira.rest.v2.issue.UserResource#updateUserAvatar . | EAP 05 |
Introduced method allowlist in Velocity templates. | Convert the SecureIntrospectorImpl to work in allowlist mode instead of blocklist. | EAP 05 |
Introduced file and filetype allowlist wiring in the Velocity engine for allowed VMs and Velocity types | Check how to configure the Velocity file and file type allowlist | EAP 05 |
com.atlassian.jira.config.ConstantsManager#storeIssueTypes(java.util.List removed | Use updateIssueType(String, String, Long, String, String, Long) or recalculateIssueTypeSequencesAndStore(java.util.List) instead. | EAP 05 |
com.atlassian.jira.issue.customfields.CustomFieldType#getNonnullCustomFieldProvider() removed | Use getNonNullCustomFieldProvider() instead. | EAP 05 |
com.atlassian.jira.util.collect.CollectionUtil#filter(Collection removed | Use standard Stream#filter(Predicate and appropiate Stream#collect(...) call. | EAP 05 |
com.atlassian.jira.issue.customfields.vdi.NonNullCustomFieldProvider#getCustomFieldInfo(com.atlassian.jira.issue.Issue)and com.atlassian.jira.issue.customfields.DefaultNonNullCustomFieldProvider#getCustomFieldInfo(com.atlassian.jira.issue.Issue) removed | Use getCustomFieldInfo(java.util.List issues) instead.
You now need to implement | EAP 05 |
com.atlassian.jira.issue.customfields.CustomFieldPrefetchedData removed | Use com.atlassian.jira.issue.customfields.vdi.CustomFieldPrefetchedData instead. | EAP 05 |
Removed:
| Use com.atlassian.jira.issue.customfields.vdi.CustomFieldPrefetchedData instead. | EAP 05 |
Removed:
| Use #addIndex(org.apache.lucene.document.Document, com.atlassian.jira.issue.Issue, com.atlassian.jira.issue.customfields.vdi.CustomFieldPrefetchedData) instead. | EAP 05 |
com.atlassian.jira.issue.index.indexers.impl.AbstractCustomFieldIndexer#addDocumentFieldsSearchable(org.apache.lucene.document.Document doc, com.atlassian.jira.issue.Issue issue, com.atlassian.jira.issue.customfields.CustomFieldPrefetchedData prefetchedData) removed | Use #addDocumentFieldsSearchable(org.apache.lucene.document.Document, com.atlassian.jira.issue.Issue, com.atlassian.jira.issue.customfields.vdi.CustomFieldPrefetchedData) instead. | EAP 05 |
com.atlassian.jira.issue.index.indexers.impl.AbstractCustomFieldIndexer#addDocumentFieldsNotSearchable(org.apache.lucene.document.Document doc, com.atlassian.jira.issue.Issue issue, com.atlassian.jira.issue.customfields.CustomFieldPrefetchedData prefetchedData) removed | Use #addDocumentFieldsNotSearchable(org.apache.lucene.document.Document, com.atlassian.jira.issue.Issue, com.atlassian.jira.issue.customfields.vdi.CustomFieldPrefetchedData) instead. | EAP 05 |
com.atlassian.jira.bc.user.search.UserSearchParams all public constructors removed | Use UserSearchParams.Builder to construct an instance of UserSearchParams instead of using the constructor. | EAP 06 |
com.atlassian.jira.bc.user.search.UserSearchParams.builder() | The behaviour of this method changed, it was left for convenience and it’s the same as calling UserSearchParams.builder(MAXIMUM_RESULTS) . | EAP 06 |
com.atlassian.jira.bc.user.search.UserSearchParams.Builder.maxResults(Integer) removed from public API | Use UserSearchParams.limitResults(int) instead. This method would limit the value to be no greater than UserSearchParams.MAXIMUM_RESULTS | EAP 06 |
com.atlassian.jira.bc.user.search.UserSearchParams.Builder.filter(Predicate<User>) removed from public API | No replacement | EAP 06 |
Plugin atlassian-awareness-capability removed | No replacement | EAP 06 |
Plugin jira-html5-attach-images removed | No replacement | EAP 06 |
Plugin pocketknife-features-plugin removed | Use feature flag implementation in-product, available in Jira 7.1 onwards. | EAP 06 |
com.atlassian.jira.web.action.JiraWebActionSupport is now abstract | Extend the class to provide your implementation. | EAP 06 |
We’re removing Jackson as a parameter type and replacing it with String . com.atlassian.jira.issue.IssueInputParameters#addProperty(String propertyKey, JsonNode propertyValue) changed to addProperty(String propertyKey, String propertyValue)
The same change from JsonNode to String happened also in:
| Serialize the value before passing it to the method and deserialize after reading it. | EAP 07 |
com.atlassian.configurable.ObjectConfigurationFactory#loadObjectConfigurationFromElement accepts com.atlassian.plugin.module.Element instead of org.dom4j.Element | Use the new type in method calls. | EAP 07 |
com.atlassian.jira.issue.fields.rest.IssueFinderV2#findIssue(String) returns io.atlassian.fugue.Either instead of com.atlassian.fugue.Either | Replaced class is equivalent. | EAP 07 |
Rate this page: