Confluence 11.0 への準備

このドキュメントでは、既存のプラグインおよびアプリに Confluence 11.0 との互換性があるかどうかを確認したい、Confluence 開発者向けの情報をご案内します。

このページで、新しいマイルストーンの公開タイミング、およびその内容をご確認ください。ベータ版のリリース後、正式なリリース ノートを公開します。

最新のマイルストーン

2026 年 9 月 30 日

11.0.0-rc2

ダウンロード

このマイルストーンで問題が見受けられた場合

Confluence EAP のヘッダーで [フィードバック] ボタンを押すか、課題を登録してお知らせください。

On this page:


予定されている変更

このセクションでは、導入予定の変更の概要について紹介します。アプリへの影響の検討にお役立てください。変更の実装が完了したら、そのタイミングと対象のマイルストーンをご案内します。 

このリリースは Data Center ライセンスのみをサポートします。サーバー ライセンスをお持ちの場合は、アップグレードのオプションをご確認ください。

AUI 11 Visual Refresh

ステータス: DONE

AUI 11 is coming with Jira 12, Confluence 11, Bitbucket 11, Bamboo 13, and Crowd 8. See Introducing AUI 11 (Jira 12, Confluence 11, Bitbucket 11, Bamboo 13, Crowd 8)

Asynchronous Macro Execution

Status: EXPERIMENTAL

Confluence Data Center now supports asynchronous macro execution — a major performance capability that changes how macros are rendered on a page.

Previously, every macro on a Confluence page was executed sequentially on the same HTTP request thread. The browser couldn't receive the page until every last macro had finished — meaning a single slow macro (e.g. a Jira query or a blog-posts roll-up) could block an entire page load for all users.

With this release, macros can be configured to execute asynchronously and concurrently in a dedicated thread pool. The HTTP request thread is freed immediately, and macro results are assembled as they complete. For pages with multiple slow macros, this can dramatically reduce perceived load time.

Configuration required: Yes (opt-in per macro, admin setup)

Concurrent execution
Multiple macros on the same page can now execute in parallel rather than sequentially, significantly reducing total page render time.

Deduplication
If multiple users request the same page simultaneously, identical macro executions (same macro, same parameters, same content) can be deduplicated — one execution runs and its result is shared, avoiding redundant parallel work.

Configurable timeouts and rate limits
Administrators can set per-macro time limits and concurrency limits via the REST API, with global defaults configurable via JVM system properties. If a macro exceeds its time limit, Confluence can signal it to stop gracefully.

Result caching (opt-in)
Macro results can be cached per-user on each node, so repeat visits to the same page don't re-execute expensive macros. Cache TTL and size are configurable.

Execution cancellation
Administrators can cancel in-flight macro executions in real time — by execution ID, by macro name, or all at once — via REST API. Macro developers can implement graceful cancellation support.

Observability
Active macro executions are visible in real time, both via REST API and (on clustered setups) in the Confluence Clustering UI. A scheduled analytics job publishes execution statistics for monitoring.

Safe fallback
If the async thread pool is saturated (queue full or queue latency exceeded), macros fall back to synchronous execution automatically. No requests are dropped.

How to get started
This feature is disabled by default and requires administrator configuration:

  1. Enable the dark feature atlassian.macros.async.execution in Confluence Dark Features

  2. Use the REST API (PUT /rest/asyncmacros/latest/execution-controls) to configure which macros run asynchronously

  3. Optionally tune thread pool and timeout settings via JVM system properties

See the full Administrator & Developer User Guide for step-by-step instructions.

Macro developer impact
Existing macros are not affected unless an administrator explicitly enables async execution for them via the REST API. Macro developers who want to support graceful cancellation should implement isCancellable() and handle InterruptedException / ExecutionCancellationContextThreadLocal.isCancelled(). To enable result caching, implement isCacheable().

Atlassian Keyboard Shortcuts Upgrade

ステータス: DONE

The com.atlassian.plugins.shortcuts:atlassian-shortcuts-plugin was upgraded from 6.0.2 to 6.1.7 in Confluence 11 to provide compatibility with the Content Security Policy.

While the new minor version is backward compatible, there’s an undocumented feature that may have been used in Marketplace apps for triggering editor operations in the <operation> tag which changes.

Code in Confluence 10 and older:

    <keyboard-shortcut key="tinymce.h1" i18n-name="admin.keyboard.shortcut.tinymce.h1" name="Heading 1">
        <description key="tinymce.advanced.h1"/>
        <shortcut>[Ctrl+1]</shortcut>
        <operation type="execute">FormatBlock-h1</operation>
        <context>tinymce.block</context>
    </keyboard-shortcut>

From Confluence 11, the <operation> requires explicit Javascript code:

    <keyboard-shortcut key="tinymce.h1" i18n-name="admin.keyboard.shortcut.tinymce.h1" name="Heading 1">
        <description key="tinymce.advanced.h1"/>
        <shortcut>[Ctrl+1]</shortcut>
        <operation type="execute">FormatBlock-h1</operation>
        <operation type="execute">require('tinymce').activeEditor.execCommand('FormatBlock-h1')</operation>
        <context>tinymce.block</context>
    </keyboard-shortcut>


More details about keyboard shortcuts module can be found in the documentation.

Bandana と XStream の完全削除

ステータス: DONE

Bandana は Confluence 10.0 で読み取り専用にされた後、Confluence 11.0 で完全に削除されます。セキュリティ上の理由により、Confluence 11.0 では XStream ライブラリもバンドルされなくなります。

次のパッケージは削除され、プラグインで使用できなくなります。

  • com.atlassian.bandana*
  • com.atlassian.confluence.setup.bandana*
  • com.atlassian.confluence.setup.xstream*
  • com.thoughtworks.xstream*

Confluence 11.0 では、Bandana データベース テーブルへの直接アクセスが不可能になります。

現在 Bandana を使用しているアプリは、11.0 にアップグレードする前に、代替ストレージ (Active Objects や SAL プラグイン設定など) に移行する必要があります。

詳細については、「Confluence 10.0 への準備」を参照してください。

Supported upgrade path

Upgrades to Confluence 11.0 are supported only from Confluence 10.2.13 or later. If you are running an earlier version, upgrade to Confluence 10.2.13 or later before upgrading to Confluence 11.0.

アップグレードに成功すると、Bandana テーブルは自動的に削除されます。データを保持するには、アップグレードする前にテーブルをバックアップすることを検討してください。

OpenSymphony PropertySet の完全削除

ステータス: DONE

PropertySet を活用する次の API は、Confluence 10.0 で読み取り専用にされました。Confluence 11.0 では完全に削除されました。

  • com.atlassian.confluence.user.ConfluenceUserPropertySetFactory

  • com.atlassian.confluence.user.UserAccessor#getPropertySet

  • com.atlassian.confluence.core.ConfluencePropertySetManager

Confluence 11.0 ではデータを移行できなくなります。アップグレードする前に移行を完了する必要があります。 

移行ガイダンスについては、「Confluence 10.0 への準備」で詳細を参照してください。

Confluence Mobile Web Removal

ステータス: DONE

We have removed the legacy Confluence mobile web interface in Confluence 11.0. This change does not affect the Confluence Data Center mobile app.

When users access Confluence from a mobile browser, Confluence now prompts them to either:

  • download the Confluence Data Center mobile app, or

  • continue to the desktop version of Confluence in their browser.

Existing links to the former mobile interface redirect to the corresponding standard Confluence page where possible.

If your app uses resources, REST endpoints, or URLs provided by confluence-mobile-web, update it to use supported Confluence APIs and standard page URLs.


コンテンツ セキュリティ ポリシー

Status: DONE

Confluence 11 では、"script-src" ディレクティブのコンテンツ セキュリティ ポリシー (CSP) が導入されました。以下の調整が適用されます (これらの変更に適合するように、プラグインのコードを更新する必要があります)。

  1. eval の直接的および間接的な使用がすべてブロックされます。
  2. すべてのインライン スクリプトがブロックされます。
  3. 他のドメインから読み込まれるスクリプトは、CSP script-src ヘッダーを介して許可する必要があります。
  4. インライン コードを含むスクリプト タグには、nonce 属性を含める必要があります。
  5. 操作タイプが execute のキーボード ショートカットはサポートされなくなりました。

script-src CSP が有効化される仕組み

Confluence 11 enables this by default alongside existing policies. Only system administrators can disable this feature via the configuring of system properties:

http.header.security.content.security.policy.strictness.enabled

(-Dhttp.header.security.content.security.policy.strictness.enabled=false)

The CSP report-only mode is disabled when the property CSP is enabled (set to true).

There is also a system property http.header.security.content.security.scriptsrc.additional.urls that let admins to allow external scripts if they need.

Handling eval removal

コードベースから eval 操作および eval に似た操作を削除します。これらの操作は有害であり、安全な代替手段はありません。eval を使用せずに機能を実装し、直接的および間接的な使用をブロックしてください。例として、次のようなものがあります。

  1. Function コンストラクタ

  2. 文字列引数を使用した setTimeout または setInterval の呼び出し

  3. .html または .write を使用したスクリプトの動的な追加

  4. eval 違反がスローされるため、アンダースコアのテンプレート メソッド (_.template) は使用できない

Handling keyboard shortcut operations

Previously supported tinymce editor keyboard shortcut operations like <operation type="execute">FormatBlock-h1</operation> (inside a <keyboard-shortcut> block of the plugin descriptor) now need to be explicitly converted to a function call. Example:

<operation type="execute">require('tinymce').activeEditor.execCommand('FormatBlock-h1')</operation>

インライン スクリプトの処理

  1. インラインを削除し、主要イベントの処理と併せてイベント ハンドラーを追加します (該当する場合)

  2. script タグ内のコードを別の js ファイルに移動させるか、script タグに nonce 属性を追加します

    VM ファイルでの nonce の追加 
    <script type="text/javascript" nonce="$!request.getAttribute('cspNonceId')">
    soy ファイルでの nonce の追加
    // Get nonce value from request object
    public String getNonceId() {
            HttpServletRequest request = getActiveRequest();
            if (request != null) {
                Object nonceId = request.getAttribute("cspNonceId");
                return nonceId != null ? nonceId.toString() : "";
            }
            return "";
    }
    
    // Set the nonceId to the soy files data mapping
    .put("nonceId", getNonceId())
    
    
    // set the nonce value in the template
     <script type="text/javascript" {if $nonceId}nonce="{$nonceId}"{/if}>
  3. For scripts using external urls, allow the domain in the CSP Header
    pom ファイルに以下の依存関係を追加します。
      <dependency>
                <groupId>com.atlassian.security</groupId>
                <artifactId>atlassian-secure-api</artifactId>
                <scope>provided</scope>
      </dependency>
    atlasian-plugin.xml で CSP フラグメントを作成します
    <csp name="onboarding-youtube-scripts"
             key="onboarding-csp-fragment"
             class="<FULL CLASS PATH LIKE(COM.YOUR.APP.CLASS)>"/>
    クラス ファイルを作成します
    package <PACKAGE_NAME>
    
    import com.atlassian.security.csp.api.CspDirective;
    import com.atlassian.security.csp.api.CspFragment;
    
    import java.net.URI;
    import java.util.Set;
    
    /**
     * CSP Fragment to whitelist a url
     * Registered via the {@code <csp>} module descriptor in atlassian-plugin.xml.
     */
    public class CLASS_NAME implements CspFragment {
    
        private static final Set<URI> SCRIPT_ORIGINS = Set.of(
                URI.create("<URL>")
        );
    
        @Override
        public Set<CspDirective> getCSPDirectives() {
            return Set.of(CspDirective.SCRIPT_SRC);
        }
    
        @Override
        public Set<URI> getCSPOrigins(CspDirective cspDirective) {
            if (CspDirective.SCRIPT_SRC == cspDirective) {
                return SCRIPT_ORIGINS;
            }
            return Set.of();
        }
    
        @Override
        public Set<String> getUrlPatterns() {
            return Set.of("/**");
        }
    }

Custom HTML Editing Now Disabled by Default

ステータス: DONE

セキュリティを向上させるため、カスタム HTML の編集が既定で無効になりました。カスタム HTML を有効にする必要がある場合は、confluence.custom.html.config.enabled システム プロパティを true に設定します。この機能を有効にできるのは、システム管理者のみです。

システム プロパティの設定方法


Fair Journal Index Queue

Status: DONE(enabled by default from 11.0.0-m202)

The content index queue is now drained fairly across content types instead of strictly in queue order. Entries are grouped by content type (pages and blogs, attachments, comments, user profiles, custom content, other), each with its own checkpoint, and each cycle takes entries round-robin across the groups. A bulk operation on one content type — a mass attachment upload, a space import — can no longer delay indexing of everything queued behind it. Queue depth per content type is shown on the Content indexing admin page.

Applies to the content index journal (main_index) only; other journals keep the linear path.

Configuration required: No. To turn it off, disable the confluence.fair.journal.index.queue dark feature.

Fair Journal Index Queue Concurrent Processing

Status: DONE (enabled by default from 11.0.0-beta3)

Each batch taken from the fair index queue is now indexed by a pool of worker threads instead of one, increasing throughput on multi-core nodes. Entries are chunked by content identity — same content always in the same chunk, in queue order — and chunks run in parallel, each worker on its own Hibernate session. The pool is sized from the CPUs available to the JVM (capped at 50) and gives each worker at least 100 entries. Per-group ordering is preserved, and a checkpoint only advances over a confirmed run of entries.

Configuration required: No. Requires the fair journal index queue to be enabled. To fall back to serial processing, disable the confluence.fair.journal.index.queue.parallel.processing dark feature — the gate is read every cycle, so no restart is needed.

File Permission validation

ステータス: DONE

Directories and files need to adhere to below permission policies. Please update the permission for directories and files in confluence home.

  • Linux        -  Write by application, Read by application and groups.

  • Windows - Read, Write and executable by application and groups.

File health check errors will be reported on troubleshooting page and errors will be logged every hour in confluence logs. To disable the File validation enable the system property confluence.file.permission.validation.lenient.enabled.

Frontend AMD and WRM Resources Removal

Status: DONE

Confluence file dialog view

  • Removed AMD confluence-editor/files/file-dialog/file-dialog-view

  • Removed JavaScript global Confluence.Editor.FileDialog.FileDialogView

Confluence placeholder

Confluence position

  • Removed JavaScript globals AJS.Position

  • Replacement: AMD module confluence/position

Confluence tooltip

  • Removed WRM

    • confluence.web.resources:tooltip

    • com.atlassian.confluence.plugins.confluence-frontend:tooltip

  • Removed AMD module confluence/tooltip

  • Removed the global AJS.Tooltip

  • Replacement: AUI Tooltip component

Confluence underscore

  • Removed WRM confluence.web.resources:underscore

  • Replacement: com.atlassian.confluence.plugins.confluence-frontend:underscore

HttpClient 4 Removal

ステータス: DONE

We're removing Apache HttpClient 4 because this version is no longer actively developed and has reached its end of life. To ensure the security and stability of our next major versions, HttpClient 4 will no longer be available as a core platform dependency.

If your app relies on Apache HttpClient or another HTTP client, you'll need to embed and manage it as your own dependency. To prepare for this change, review your code for any imports from org.apache.http.* or any usage of com.atlassian.httpclient.apache.httpcomponents that assume the library is provided by the platform. You should also verify that your apps don’t rely on the transitive exposure of HttpClient 4 through Atlassian HttpClient, as the library will be removed from the platform classpath.


JNDI Sanitisation

ステータス: DONE

To reduce RCE risks, we’ve sanitized Java Naming and Directory Interface (JNDI) locations across Data Center. We restricted locations to the java: prefix or permitted relative prefixes jdbc/ and mail/. This change affects lookup, doLookup, lookupLink, and rename methods.

We’ve also deleted some OSWorkflow packages to further mitigate JNDI vulnerabilities and reduce maintenance.

The following packages and their classes have been removed from OSWorkflow:

  • com.opensymphony.workflow.timer

  • com.opensymphony.workflow.util

  • com.opensymphony.workflow.soap

  • com.opensymphony.workflow.ejb

  • com.opensymphony.workflow.spi.ejb

  • com.opensymphony.workflow.util.ejb.local

  • com.opensymphony.workflow.util.ejb.remote

  • com.opensymphony.workflow.spi.hibernate

  • com.opensymphony.workflow.loader

  • com.opensymphony.workflow.spi.hibernate3

  • com.opensymphony.workflow.spi.jdbc

  • com.opensymphony.workflow.spi.ojb

  • com.opensymphony.workflow.spi.prevayler

JQuery 4 アップグレード

ステータス: DONE

jQuery 4 へのアップグレードを行い、すべての Data Center 製品を単一のバージョンに統一します。このアップデートによって、製品横断型アプリをより開発しやすくなります。現在、古いバージョンの jQuery を使用している製品にとっては、とりわけ効果的です。なお、この変更の一環として、jQuery migrate も削除されます。

フロントエンド コードの多くが jQuery に依存しているため、このアップグレードに伴い、アプリやカスタム統合のアップデートが必要になる可能性があります。アトラシアンはお客様の準備をサポートするため、次の製品バージョンに対して、互換性のある変更をできる限り多くバックポートしています。

  • Jira Software 11.3

  • Jira Service Management 11.3

  • Confluence 10.2

  • Bamboo 12.1

  • Bitbucket 10

  • Crowd 7

これにより、その他の互換性を損なう変更を心配することなく、jQuery 4 互換性についてアプリをテストできます。

さらに、AUI 10.1 が jQuery 4 をサポートするようになりました。アトラシアンは、今後も引き続き jQuery の Web リソースを提供します。必要に応じてセキュリティ パッチを迅速に展開するためにも、これらのリソースをご利用ください。jQuery 4 は今後のアーリー アクセス プログラム (EAP) リリースに含まれる予定ですが、最初の数バージョンではご利用になれない可能性があります。

jQuery 4 へのアップグレード方法

JQuery plugins removal

ステータス: DONE

jQuery アップグレードの一環として、Confluence から次の jQuery プラグインを削除しています。代替手段は提供されません。

Autocomplete plugin

  • Removed WRM

    • confluence.web.resources:jquery-autocomplete

    • com.atlassian.confluence.plugins.confluence-frontend:jquery-autocomplete

  • Removed AMD confluence/autocomplete

  • Removed jQuery plugin $.fn.autocomplete

  • Replacements:

Fancybox プラグイン

利用状況 (11.0 からサポート対象外): $jqueryElement.fancybox([settings])

代替手段: 提供されていません。必要に応じて、プラグインに独自のプラグインのコピーをバンドルする必要があります。

削除されたウェブリソース

  • com.atlassian.confluence.plugins.confluence-frontend:jquery-fancy-box

  • confluence.web.resources:fancy-box

JSON プラグイン

利用状況 (11.0 からサポート対象外): $.toJSON(str)

Replacement: JSON.stringify() - JavaScript | MDN

削除されたウェブリソース

  • com.atlassian.confluence.plugins.confluence-frontend:jquery-json

Mousewheel プラグイン

利用状況 (11.0 からサポート対象外): $jqueryElement.on('mousewheel', handler)

Replacement: Element: wheel event - Web APIs | MDN 

Progressbar plugin

Viewport プラグイン

$jqueryElement.viewport([settings]) 

代替手段: 提供されていません。必要に応じて、プラグインに独自のプラグインのコピーをバンドルする必要があります。

Jackson 3 Upgrade

ステータス: DONE

We’re upgrading the Jackson dependency from version 2 to 3. If your app depends on Jackson for REST modules, we recommend testing your integration early to ensure compatibility with version 3. The official Jackson 3 upgrade guide can be found at Jackson 3 Migration Guide

移行および移動されたライブラリ。

  • confluence-rest-jersey-jackson2 は confluence-rest-jersey-jackson に名前が変更され、パッケージ名も com.atlassian.confluence.plugins.rest.jersey.jackson (jackson2.* ではなく) に変更。
  • confluence-rest-plugin-jackson2 は confluence-rest-plugin-jackson に名前が変更され、パッケージ名も com.atlassian.confluence.plugins.rest.jackson .* (jackson2.* ではなく) に変更。
  • New Jackson3 rest module confluence-rest-serialization-jackson3 as drop-in replacement of confluence-rest-serialization-jackson2
  • Jackson2Soy now renamed to Jackson3Soy

ObjectMapper オブジェクトをビルドするテストでは、Jakarta Annotations ライブラリも指定する必要がある場合があります。

        <!-- Jackson 3 jakarta-xmlbind module is required transitively when a unit test
             builds a real ObjectMapper (jackson-databind itself is visible via provided scope). -->
        <dependency>
            <groupId>tools.jackson.module</groupId>
            <artifactId>jackson-module-jakarta-xmlbind-annotations</artifactId>
            <scope>test</scope>
        </dependency>

Jakarta 11 and Spring 7 upgrade

ステータス: DONE

We’re migrating to Jakarta 11 and Spring 7 to keep our technology stack current.

Jakarta 11 upgrade

Most Jakarta APIs in the Atlassian ecosystem have undergone only minor updates, indicating backward-compatible changes. While major updates may affect specific use cases, we expect less impact than the previous migration from Jakarta 8 to Jakarta 10. We recommend reviewing the official Jakarta documentation to understand how these updates might affect your work. Refer to the Jakarta documentation for more details

Spring 7 upgrade

While key concepts remain stable and some apps may work without recompilation, this upgrade carries similar complexity to the Spring 6 migration. Certain advanced features may change and require updates. We recommend reviewing the official Spring documentation to understand how these updates might affect your work. Refer the Spring documentation for more details

Java 25 is Now the Minimum Supported Version

ステータス: DONE

Java 25 is the minimum supported version for both compile and runtime environments. To ensure a smooth transition, we’ve confirmed that all platform apps support Java 25 through dedicated CI testing.

Joda-Time removal

ステータス: DONE

Confluence Data Center core will no longer provide Joda-Time as a runtime dependency or OSGi export. A migration to java.time is strongly recommended. As an interim measure, Plugins may temporarily bundle their own package-private Joda jar, as long as Joda types do not cross plugin boundaries.

Jsoup 1.22.2 アップグレード

ステータス: DONE

Jsoup 1.22.2 へのアップグレードをConfluence 11 で安全に行うには、HTML 解析に org.jsoup.Jsoup.parse() の代わりに com.atlassian.confluence.util.JsoupUtil.parse() を使用してください。

アップグレードに関する勧告

  • 対象ライブラリ: Jsoup 1.22.2

  • Affected versions: Confluence 9.2.23, 10.2.15, and 11

  • 従来のメソッド: org.jsoup.Jsoup.parse()

  • 新しいメソッド: com.atlassian.confluence.util.JsoupUtil.parse()

コード移行手順

  1. Jsoup.parse への直接呼び出しを Confluence ユーティリティ ラッパーに置き換えます。

  2. 適切なインポート ステートメントがアトラシアンのユーティリティ クラスを指すようにします。

  3. 更新後の HTML レンダリングの動作をテストします。 


Log4j 1.x API No Longer Available to Apps

ステータス: DONE

The log4j 1.x API is no longer part of the Confluence public API. Apps can no longer import the following package:

  • org.apache.log4j

An app that still imports it will fail to resolve when installed on Confluence 11.0. Log the same information through either of these, both of which are public API in Confluence 11.0:

  • org.slf4j — recommended. LoggerFactory.getLogger(MyClass.class) returns an org.slf4j.Logger.

  • org.apache.logging.log4j — the log4j 2 API, along with org.apache.logging.log4j.message and org.apache.logging.log4j.util.


Most callers only need to change the import and the logger factory call. The common log4j 1.x methods (debug, info, warn, error) have direct SLF4J equivalents.

Logging Configuration Moved to log4j2.xml

ステータス: DONE

From Confluence 11.0, the log4j.properties format will no longer be used and is replaced by log4j2.xml. Below are the affected files:

Up to 10.2.x

  • WEB-INF/classes/log4j.properties

  • WEB-INF/classes/log4j-diagnostic.properties

From Confluence 11.0

  • WEB-INF/classes/log4j2.xml

  • WEB-INF/classes/log4j2-diagnostic.xml

A log4j.properties left in place after an upgrade is ignored, not merged. Any logging customisation in it stops applying. Confluence logs a warning at startup when it finds one. If you customised logging, re-apply those changes to log4j2.xml before upgrading, then delete log4j.properties to silence the warning. Setting log levels at runtime through Logging and Profiling in the admin UI is unchanged.

ルック & フィール レイアウトの編集が既定で無効に

ステータス: DONE

セキュリティ向上のため、ルック & フィールのカスタマイズ設定が既定で無効になりました。管理者は既存のレイアウト設定の表示のみを行うことができます。ルック & フィールのカスタマイズを有効にするには、confluence.custom.look.and.feel.enabled システム プロパティを true に設定します。この機能を有効にできるのは、システム管理者のみです。

  • Look and Feel customization will be disabled by default at both Global and Space level. Setting the system property to true will enable customization at both the places.

  • In addition to this, for Space level stylesheet configuration ensure that “Custom Stylesheets for Spaces” is enabled in Security Configuration.

システム プロパティの設定方法

Rate-limit REST endpoints with annotations

ステータス: DONE

We've added an annotation-based rate limiter to the platform, so you can cap the request rate of a single REST endpoint. It is available to all Data Center products and their apps.

Add the public API dependency with provided scope:

<dependency>
<groupId>com.atlassian.ratelimiting</groupId>
    <artifactId>rate-limiting-public-api</artifactId>
    <scope>provided</scope>
</dependency>

Then annotate a JAX-RS resource class or method:

@GET
@RateLimited(permitsPerSecond = 15, propertyName = "com.atlassian.ratelimiting.api.myapp.questions.list")
public Response getQuestions() { ... }

Limits apply per user, per node. Users that exceed one receive an HTTP 429 with a Retry-After header and a {"rateLimited": true} body. Administrators can override or disable any limit with a JVM system property, so always set an explicit propertyName to give them a stable key. For limits that vary per request, implement Rule and reference it from @RateLimitRule.

必要な操作

  • Consider annotating expensive or abuse-prone endpoints in your app.

  • Make sure your clients handle 429 and back off using Retry-After, as product endpoints may now be rate limited too.

See Rate-limit REST endpoints with annotations for the full guide.

React 19 のアップグレード

ステータス: DONE

React 19 にアップグレードしています。React は DC 製品のコア フロントエンド依存関係です。さらに、Atlaskit などの他の重要なフロントエンド ライブラリの依存関係でもあります。このため、React を使用している Marketplace アプリも React 19 にアップグレードする必要があります。

このアップグレードの影響範囲:

  • Web リソース com.atlassian.plugins:react で React 19 が提供されます

  • 今後は、クライアント側拡張機能 (CSE) で React 19 を使用します

アトラシアンは、移行に役立つツールの詳細を学び、開発していく中で、開発者向けドキュメントを更新していきます。

More details can be found in community post at React 19 upgrade in Data Center (Jira 12, Confluence 11, Bitbucket 11, Bamboo 13, Crowd 8)

変換されたプラグインのサポート終了

ステータス: DONE

プラットフォームからすべての変換コードとインフラストラクチャが削除されます。これは、これまで起動時に古いプラグイン形式を変換していたランタイム変換プロセスが存在しなくなることを意味します。

変換されたプラグインのインストールや有効化を試みると、UPM によりアクションがブロックされ、明確なエラー メッセージが表示されます。プラットフォーム 9 ベースの製品バージョンにアップグレードすると、すでにインストールされている変換済みプラグインは強制的に無効化されます。

To ensure your apps continue to work on Data Center Platform 9, you must migrate them to the "transformerless" format. The following guides might help you in this process:

この処理を自動化するために、変換スクリプトが提供されています。詳細なガイダンスとベスト プラクティスについては、アプリ コンポーネントの Spring Java 構成に関するドキュメントを参照してください。

 Transformed apps already installed will be disabled when you upgrade to 11.0.0-beta3.

ローカル ドライブからの復元を既定で無効化

ステータス: DONE

アプリのセキュリティを向上させるため、ローカル ドライブからのデータの復元は既定で無効になりました。ローカル ドライブからのデータの復元を有効にするには、confluence.restore.from.local.drive.enabled システム プロパティを true に設定します。この機能は、システム管理者のみがシステム プロパティの設定を通じて有効にできます。

SSRF Protection: Default Outbound Denylist and Allowlist Enforcement

ステータス: DONE

Server-Side Request Forgery (SSRF) 攻撃に対する保護を強化するために、既定のアウトバウンド リクエスト拒否リストを導入し、許可リストの適用範囲を追加のプラットフォーム コンポーネントに拡大しました。この拒否リストにより、クラウド メタデータ サービス (AWS、Google Cloud、Azure) やリンクローカル IP アドレスといった機密性の高い内部エンドポイント、および危険な非 HTTP プロトコル (例: file://、ftp://、ldap://) へのアウトバウンド接続が自動的にブロックされます。

さらに、以前は許可リストをバイパスしていた複数のプラットフォーム コンポーネント (OAuth2、ガジェット、UPM/Marketplace、アプリケーション リンク、Webhook など) が許可リストの設定を順守するようになり、プラットフォーム全体で一貫したアウトバウンド リクエストのフィルタリングが確保されます。

変更の背景

この取り組みの目的は、SSRF に関連するセキュリティ脆弱性に対処することです。SSRF により、攻撃者はサーバーを利用して、内部または外部リソースに対する不正なリクエストを行うことができます。

Default outbound denylist

A new hardcoded denylist has been added to the allowlist plugin that blocks outbound requests to known-dangerous destinations. The denylist is evaluated if the allowlist is disabled.

The denylist blocks:

  • Cloud Metadata Services: AWS, Google Cloud, and Azure instance metadata endpoints ( 169.254.169.254, metadata.google.internal, metadata.azure.internal)

  • AWS Metadata Service IP Ranges: The entire 169.254.0.0/16 IPv4 range and the fd00:ec2::254 IPv6 AWS metadata address

  • dangerous protocols: file://, ftp://, gopher://, ldap://, dict://, smtp://, tftp://, ssh://, sftp://, jdbc://, mysql://, postgres://, ws://, smb://, jar://, phar://, nfs://

  • loopback and localhost: 127.0.0.0/8, ::1/128

  • private networks: 10.0.0.0/8 (Class A), 172.16.0.0/12 (Class B), 192.168.0.0/16 (Class C), fc00::/7 (IPv6 ULA)

The denylist also performs DNS resolution of domain URIs to compare resolved IP addresses against IP/CIDR denylist rules, preventing bypasses via DNS rebinding or custom domain resolution to blocked IPs.

Allowlist enforcement extended to additional platform components

We've extended allowlist enforcement to several platform and product plugins that previously made outbound network requests without going through the allowlist. The following components now respect the allowlist configuration:

  • OAuth2: outbound requests made by the OAuth2 plugin

  • Gadgets: outbound requests made by the gadgets framework, such as gadget spec fetching, HTTP cache

  • UPM and Marketplace: outbound requests made by the UPM (Marketplace URLs are allowlisted by default)

  • Application Links: outbound requests made via application link connections

  • Webhooks: outbound requests made when delivering webhook events

If your app relies on any of these components to make outbound requests to external services, ensure those URLs are included in the allowlist configuration. Marketplace URLs are automatically allowlisted.

必要なアクション

これらの保護機能は既定で有効になっているため、設定は不要です。Jira、Confluence、JSM インスタンスに対して、すぐに使える SSRF 保護を提供します。必要に応じて、管理者は JVM システム プロパティ (-Dssrf.denylist.enabled=false など) を介して拒否リストを無効にできますが、本番環境での無効化は推奨されません。

SSRF 攻撃を軽減するために、適切な許可リストを設定してください。許可リストは SSRF に対する効果的な防御策です。拒否リストでは一部の明らかな SSRF 脆弱性を防ぐことはできますが、究極の解決策として、包括的な許可リストを設定する必要があります。

拒否リストをより細かく管理するには、以下のシステム プロパティを使用します。

プロパティ既定目的
ssrf.denylist.enabled
true拒否リスト全体を有効または無効にする
ssrf.denylist.dns.enabled
trueDNS ベースの IP チェックを有効または無効にする
ssrf.denylist.protocols.enabled
trueプロトコル拒否リストを有効または無効にする
ssrf.denylist.localhost.enabled
false
ループバック/ローカルホストの範囲と非公開ネットワークを有効または無効にする


V3 Attachment Storage Removal

ステータス: DONE

Confluence 8.1 introduced the v4 attachment layout and a background migration that moved attachment data from ver003 to v4. Confluence 11.0 removes version 3 (ver003) attachment storage entirely: the storage implementation, the automatic V3 → V4 migration, and the related APIs.

Note that the V3 → V4 migration no longer runs in Confluence 11.0 and must have been completed prior to upgrading.

変更の実装内容

このセクションでは、実装済みの変更の詳細について、それらが最初に提供されたマイルストーンごとに紹介します。テストするマイルストーン バージョンの判断にご利用ください。

RC 2 –  30 September 2026

マイルストーン 11.0.0-rc2

含まれるもの

  • Minor Bug fixes

RC 1 –  22 September 2026

マイルストーン 11.0.0-rc1

含まれるもの

  • Minor Bug fixes

Beta –  16 September 2026

マイルストーン 11.0.0-beta4

含まれるもの

  • Mobile web removal

  • Rate limiting for REST

  • Minor UI and platform bug fixes

Beta –  8 September 2026

マイルストーン 11.0.0-beta3

含まれるもの

  • Complete migration to Jackson 3

  • Removal of Log4j 1 (and migration to Log4j 2)

  • Removal of Joda time

  • Concurrent processing of the fair journal index queue

  • HttpClient 4 removal

  • OpenSymphony PropertySet の削除

  • Minor Bug fixes, including fix for CONFSERVER-104454

EAP 08 - 5 August 2026

Milestone 11.0.0-m221

含まれるもの

  • Asynchronous macro execution

  • 軽微なバグ修正

EAP 07 - 13 July 2026

Milestone 11.0.0-m202

含まれるもの

  • REST から Jackson 3 への移行

  • Fair journal index queue implemented

  • 軽微なバグ修正

EAP 06 - 15 June 2026

Milestone 11.0.0-m177

含まれるもの

  • 軽微なバグ修正

EAP 05 - 02 June 2026

Milestone 11.0.0-m168

含まれるもの

  • 添付ファイルの同時並行アップロード

  • 軽微なバグ修正

EAP 04 – 06 May 2026

Milestone 11.0.0-m148

Contains:

  • ルック & フィール カスタマイズの編集が既定で無効化

  • CSP strict モードが既定で有効化

  • JQuery Fancybox および JSON プラグインを削除

  • 軽微なバグ修正

EAP 03 – 08 April 2026

Milestone 11.0.0-m116

Contains:

  • システム プロパティを介してより厳格なコンテンツ セキュリティ ポリシー (CSP) を設定できるようになりました

  • A default outbound request denylist has been added as protection against SSRF

  • 軽微なバグ修正

  • JQuery 4

EAP 02 – 3 March 2026

Milestone 11.0.0-m79

含まれるもの

  • ルック & フィール レイアウトの編集が既定で無効に

  • 軽微なバグ修正

EAP 01 – 10 February 2026

Milestone 11.0.0-m55

含まれるもの

  • カスタム HTML 編集が既定で無効に

  • 軽微なバグ修正


最新のドキュメントをお探しの場合は、Confluence EAP スペースで最新のドキュメントをご確認ください。

新しい開発者コミュニティがあるのをご存知ですか? community.developer.atlassian.com/ で、ぜひご確認ください。新しい EAP リリースの公開時にはお知らせカテゴリに投稿する予定です。


最終更新日: 2026 年 10 月 14 日

この内容はお役に立ちましたか?

はい
いいえ
この記事についてのフィードバックを送信する
Powered by Confluence and Scroll Viewport.