Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
23ad7f8
Release 8.3.2
May 7, 2026
b2d7719
fix(cli): copy plugin files in CocoaPods projects (#8467)
jcesarmobile May 8, 2026
76ff70e
Release 8.3.3
May 8, 2026
b7e167b
chore(cli): update telemetry endpoint (#8464)
alexgerardojacinto May 12, 2026
de1e506
Release 8.3.4
May 12, 2026
731a82e
chore: format java code (#8475)
jcesarmobile May 21, 2026
bc74536
chore: format java code (#8477)
jcesarmobile May 21, 2026
93c72de
feat: add method getDouble to plugin config (#7638)
robingenz May 21, 2026
e456de0
fix(SystemBars): make `safe-area-inset-x` available on API <= 34 (#8424)
theproducer May 22, 2026
258867b
feat(cli): add experimental packageOptions (#8471)
jcesarmobile May 26, 2026
b4b297a
feat(cli): capture ios_package_manager in telemetry (#8482)
alexgerardojacinto May 27, 2026
1d031a4
fix(cli): revert live reload config on failure (#8485)
jcesarmobile May 28, 2026
f1077ef
chore: fix typo in declarations.ts (#8488)
jcesarmobile May 29, 2026
d4ad7ff
fix(SystemBars): respect `insetsHandling` disable (#8481)
theproducer Jun 1, 2026
4c6c321
fix(android): show only the requested system bar (#8480)
fallintoplace Jun 1, 2026
36b729d
chore: Decrease timeout for CI jobs from 60 to 30 minutes (#8476)
markemer Jun 1, 2026
41fd9de
Release 8.4.0
Jun 2, 2026
28bb2c6
fix(cli): patch Capacitor SPM dependency version in plugins (#8492)
jcesarmobile Jun 2, 2026
6048e90
fix(cli): make SPM dependency patch work on prereleases (#8508)
jcesarmobile Jun 15, 2026
7217b52
Release 8.4.1
Jun 19, 2026
b789b68
chore: run `npm run fmt` to fix lint errors (#8516)
markemer Jun 22, 2026
6f2d328
fix(android): explicitly grant URI permissions for image capture inte…
alexgerardojacinto Jul 8, 2026
1834b97
Release 8.4.2
Jul 14, 2026
f368a1b
chore(android): fix lint issues (#8542)
OS-pedrogustavobilro Jul 27, 2026
4c1c870
fix(cli): support TypeScript 7 when loading capacitor.config.ts (#8534)
conbrad Jul 28, 2026
3fa04a3
feat(ios): UIScene Support (#8536)
theproducer Jul 29, 2026
984fa85
feat(cli): add migrator functionality for adopting UIScene (#8544)
theproducer Jul 31, 2026
3ab4139
Release 8.5.0
Jul 31, 2026
5e5bb3b
fix(cli): use POSIX paths in CapApp-SPM Package.swift (#8549)
omriwil Aug 6, 2026
5ac4dd6
fix(core): prevent removeListener from removing wrong listener (#8271)
maniktyagi04 Aug 10, 2026
dd3a611
chore: sync plus with upstream main (upstream-preferred conflicts)
Aug 20, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
142 changes: 142 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,142 @@
name: CI

on:
push:
branches:
- main
pull_request:
types:
- 'synchronize'
- 'opened'
branches:
- '**'

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.ref != 'refs/heads/main' }}

jobs:
setup:
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- name: Get Latest
uses: actions/setup-node@v6
with:
node-version: 22.x
- uses: actions/checkout@v5
- name: Restore Dependency Cache

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2: The setup job restores/saves the ~/.npm cache but never runs npm install, so it never warms or fills that cache. Because all test jobs declare needs: setup, actions/cache@v4 saves the (empty) ~/.npm under the shared ubuntu key when setup finishes first, and the later ubuntu jobs restore that empty entry as a cache hit and skip their own save — so npm install stays cold on every run. Run npm install in the setup job (before the cache save) so the cache is actually populated, or drop the job and its needs: setup dependencies.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At .github/workflows/ci.yml, line 28:

<comment>The `setup` job restores/saves the `~/.npm` cache but never runs `npm install`, so it never warms or fills that cache. Because all test jobs declare `needs: setup`, actions/cache@v4 saves the (empty) `~/.npm` under the shared ubuntu key when setup finishes first, and the later ubuntu jobs restore that empty entry as a cache hit and skip their own save — so `npm install` stays cold on every run. Run `npm install` in the `setup` job (before the cache save) so the cache is actually populated, or drop the job and its `needs: setup` dependencies.</comment>

<file context>
@@ -0,0 +1,142 @@
+        with:
+          node-version: 22.x
+      - uses: actions/checkout@v5
+      - name: Restore Dependency Cache
+        uses: actions/cache@v4
+        with:
</file context>

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2: The setup job restores/saves the ~/.npm cache but never runs npm install, so it never warms or fills that cache. Because all test jobs declare needs: setup, actions/cache@v4 saves the (empty) ~/.npm under the shared ubuntu key when setup finishes first, and the later ubuntu jobs restore that empty entry as a cache hit and skip their own save — so npm install stays cold on every run. Run npm install in the setup job (before the cache save) so the cache is actually populated, or drop the job and its needs: setup dependencies.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At .github/workflows/ci.yml, line 28:

<comment>The `setup` job restores/saves the `~/.npm` cache but never runs `npm install`, so it never warms or fills that cache. Because all test jobs declare `needs: setup`, actions/cache@v4 saves the (empty) `~/.npm` under the shared ubuntu key when setup finishes first, and the later ubuntu jobs restore that empty entry as a cache hit and skip their own save — so `npm install` stays cold on every run. Run `npm install` in the `setup` job (before the cache save) so the cache is actually populated, or drop the job and its `needs: setup` dependencies.</comment>

<file context>
@@ -0,0 +1,142 @@
+        with:
+          node-version: 22.x
+      - uses: actions/checkout@v5
+      - name: Restore Dependency Cache
+        uses: actions/cache@v4
+        with:
</file context>

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2: The setup job restores/saves the ~/.npm cache but never runs npm install, so it never warms or fills that cache. Because all test jobs declare needs: setup, actions/cache@v4 saves the (empty) ~/.npm under the shared ubuntu key when setup finishes first, and the later ubuntu jobs restore that empty entry as a cache hit and skip their own save — so npm install stays cold on every run. Run npm install in the setup job (before the cache save) so the cache is actually populated, or drop the job and its needs: setup dependencies.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At .github/workflows/ci.yml, line 28:

<comment>The `setup` job restores/saves the `~/.npm` cache but never runs `npm install`, so it never warms or fills that cache. Because all test jobs declare `needs: setup`, actions/cache@v4 saves the (empty) `~/.npm` under the shared ubuntu key when setup finishes first, and the later ubuntu jobs restore that empty entry as a cache hit and skip their own save — so `npm install` stays cold on every run. Run `npm install` in the `setup` job (before the cache save) so the cache is actually populated, or drop the job and its `needs: setup` dependencies.</comment>

<file context>
@@ -0,0 +1,142 @@
+        with:
+          node-version: 22.x
+      - uses: actions/checkout@v5
+      - name: Restore Dependency Cache
+        uses: actions/cache@v4
+        with:
</file context>

uses: actions/cache@v4
with:
path: ~/.npm
key: ${{ runner.OS }}-dependencies-cache-${{ hashFiles('**/package.json') }}
lint:
runs-on: macos-15
timeout-minutes: 30
steps:
- uses: actions/setup-node@v6
with:
node-version: 22.x
- uses: actions/checkout@v5
- name: Restore Dependency Cache
uses: actions/cache@v4
with:
path: ~/.npm
key: ${{ runner.OS }}-dependencies-cache-${{ hashFiles('**/package.json') }}
- run: npm install

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P3: This workflow installs with npm install but the repository has no package-lock.json (it is bun-managed, per bun.lock and test.yml's use of oven-sh/setup-bun). Without a lockfile, npm install resolves floating dependency versions, so builds are non-reproducible and can diverge from the bun-based test.yml. Install with bun install/bun install --frozen-lockfile (matching test.yml, keying the cache on bun.lock) or commit a package-lock.json.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At .github/workflows/ci.yml, line 46:

<comment>This workflow installs with `npm install` but the repository has no package-lock.json (it is bun-managed, per bun.lock and test.yml's use of oven-sh/setup-bun). Without a lockfile, `npm install` resolves floating dependency versions, so builds are non-reproducible and can diverge from the bun-based test.yml. Install with `bun install`/`bun install --frozen-lockfile` (matching test.yml, keying the cache on bun.lock) or commit a package-lock.json.</comment>

<file context>
@@ -0,0 +1,142 @@
+        with:
+          path: ~/.npm
+          key: ${{ runner.OS }}-dependencies-cache-${{ hashFiles('**/package.json') }}
+      - run: npm install
+      - run: brew install swiftlint
+      - run: npm run lint
</file context>

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P3: This workflow installs with npm install but the repository has no package-lock.json (it is bun-managed, per bun.lock and test.yml's use of oven-sh/setup-bun). Without a lockfile, npm install resolves floating dependency versions, so builds are non-reproducible and can diverge from the bun-based test.yml. Install with bun install/bun install --frozen-lockfile (matching test.yml, keying the cache on bun.lock) or commit a package-lock.json.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At .github/workflows/ci.yml, line 46:

<comment>This workflow installs with `npm install` but the repository has no package-lock.json (it is bun-managed, per bun.lock and test.yml's use of oven-sh/setup-bun). Without a lockfile, `npm install` resolves floating dependency versions, so builds are non-reproducible and can diverge from the bun-based test.yml. Install with `bun install`/`bun install --frozen-lockfile` (matching test.yml, keying the cache on bun.lock) or commit a package-lock.json.</comment>

<file context>
@@ -0,0 +1,142 @@
+        with:
+          path: ~/.npm
+          key: ${{ runner.OS }}-dependencies-cache-${{ hashFiles('**/package.json') }}
+      - run: npm install
+      - run: brew install swiftlint
+      - run: npm run lint
</file context>

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P3: This workflow installs with npm install but the repository has no package-lock.json (it is bun-managed, per bun.lock and test.yml's use of oven-sh/setup-bun). Without a lockfile, npm install resolves floating dependency versions, so builds are non-reproducible and can diverge from the bun-based test.yml. Install with bun install/bun install --frozen-lockfile (matching test.yml, keying the cache on bun.lock) or commit a package-lock.json.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At .github/workflows/ci.yml, line 46:

<comment>This workflow installs with `npm install` but the repository has no package-lock.json (it is bun-managed, per bun.lock and test.yml's use of oven-sh/setup-bun). Without a lockfile, `npm install` resolves floating dependency versions, so builds are non-reproducible and can diverge from the bun-based test.yml. Install with `bun install`/`bun install --frozen-lockfile` (matching test.yml, keying the cache on bun.lock) or commit a package-lock.json.</comment>

<file context>
@@ -0,0 +1,142 @@
+        with:
+          path: ~/.npm
+          key: ${{ runner.OS }}-dependencies-cache-${{ hashFiles('**/package.json') }}
+      - run: npm install
+      - run: brew install swiftlint
+      - run: npm run lint
</file context>

- run: brew install swiftlint
- run: npm run lint
test-cli:
runs-on: macos-15
timeout-minutes: 30
needs:
- setup
- lint
steps:
- uses: actions/setup-node@v6
with:
node-version: 22.x
- uses: actions/checkout@v5
- name: Restore Dependency Cache
uses: actions/cache@v4
with:
path: ~/.npm
key: ${{ runner.OS }}-dependencies-cache-${{ hashFiles('**/package.json') }}
- run: npm install
- run: npm run build
working-directory: ./cli
- run: npm test
working-directory: ./cli
test-core:
runs-on: ubuntu-latest
timeout-minutes: 30
needs:
- setup
- lint
steps:
- uses: actions/setup-node@v6
with:
node-version: 22.x
- uses: actions/checkout@v5
- name: Restore Dependency Cache
uses: actions/cache@v4
with:
path: ~/.npm
key: ${{ runner.OS }}-dependencies-cache-${{ hashFiles('**/package.json') }}
- run: npm install
- run: npm run build
working-directory: ./core
- run: npm test
working-directory: ./core
test-ios:
runs-on: macos-15
timeout-minutes: 30
needs:
- setup
- lint
strategy:
matrix:
xcode:
- /Applications/Xcode_26.0.app
steps:
- run: sudo xcode-select --switch ${{ matrix.xcode }}
- run: xcrun simctl list > /dev/null
- run: xcodebuild -downloadPlatform iOS
- uses: actions/setup-node@v6
with:
node-version: 22.x
- uses: actions/checkout@v5
- name: Restore Dependency Cache
uses: actions/cache@v4
with:
path: ~/.npm
key: ${{ runner.OS }}-dependencies-cache-${{ hashFiles('**/package.json') }}
- run: npm install
- run: npm run verify
working-directory: ./ios
- name: Validate native podspec
run: sh ./scripts/native-podspec.sh lint
test-android:
runs-on: ubuntu-latest
timeout-minutes: 30
needs:
- setup
- lint
steps:
- uses: actions/setup-node@v6
with:
node-version: 22.x
- name: set up JDK 21
uses: actions/setup-java@v5
with:
java-version: '21'
distribution: 'zulu'
- uses: actions/checkout@v5
- name: Restore Dependency Cache
uses: actions/cache@v4
with:
path: ~/.npm
key: ${{ runner.OS }}-dependencies-cache-${{ hashFiles('**/package.json') }}
- run: npm install
- run: npm run verify
working-directory: ./android
64 changes: 63 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,70 @@
All notable changes to this project will be documented in this file.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2: This merge dropped the 8.3.12 changelog section, which was the top (most recent) plus release entry before the sync. The upstream-preferred conflict resolution removed it and never re-added it, so the changelog no longer documents the latest @capacitor-plus release and the version stream jumps from 8.5.0 down into 8.3.11. Restore the 8.3.12 section (the only 8.3.x entry whose release is missing).

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At CHANGELOG.md, line 6:

<comment>This merge dropped the `8.3.12` changelog section, which was the top (most recent) plus release entry before the sync. The upstream-preferred conflict resolution removed it and never re-added it, so the changelog no longer documents the latest @capacitor-plus release and the version stream jumps from 8.5.0 down into 8.3.11. Restore the 8.3.12 section (the only 8.3.x entry whose release is missing).</comment>

<file context>
@@ -3,8 +3,70 @@
 See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
 
-## [8.3.12](https://github.com/Cap-go/capacitor-plus/compare/8.3.11...8.3.12) (2026-08-13)
+# [8.5.0](https://github.com/ionic-team/capacitor/compare/8.4.2...8.5.0) (2026-07-31)
 
+### Bug Fixes
</file context>

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P3: The conflict resolution interleaved the upstream block (8.5.0..8.3.1) above the plus block (8.3.11..8.3.5), producing duplicate version headings 8.3.4, 8.3.3, and 8.3.2 (an upstream entry plus a Cap-go entry, with different dates/content) and an out-of-order top where the newest plus release (8.3.11, 2026-08-13) appears below older upstream entries (8.3.1, 2026-04-16). This makes the changelog misleading to readers and to any lerna/CI tooling that parses headings. Keep the changelog newest-first and de-duplicate the 8.3.x sections so each version has a single heading with merged content.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At CHANGELOG.md, line 6:

<comment>The conflict resolution interleaved the upstream block (8.5.0..8.3.1) above the plus block (8.3.11..8.3.5), producing duplicate version headings `8.3.4`, `8.3.3`, and `8.3.2` (an upstream entry plus a Cap-go entry, with different dates/content) and an out-of-order top where the newest plus release (8.3.11, 2026-08-13) appears below older upstream entries (8.3.1, 2026-04-16). This makes the changelog misleading to readers and to any lerna/CI tooling that parses headings. Keep the changelog newest-first and de-duplicate the 8.3.x sections so each version has a single heading with merged content.</comment>

<file context>
@@ -3,8 +3,70 @@
 See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
 
-## [8.3.12](https://github.com/Cap-go/capacitor-plus/compare/8.3.11...8.3.12) (2026-08-13)
+# [8.5.0](https://github.com/ionic-team/capacitor/compare/8.4.2...8.5.0) (2026-07-31)
 
+### Bug Fixes
</file context>

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2: This merge dropped the 8.3.12 changelog section, which was the top (most recent) plus release entry before the sync. The upstream-preferred conflict resolution removed it and never re-added it, so the changelog no longer documents the latest @capacitor-plus release and the version stream jumps from 8.5.0 down into 8.3.11. Restore the 8.3.12 section (the only 8.3.x entry whose release is missing).

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At CHANGELOG.md, line 6:

<comment>This merge dropped the `8.3.12` changelog section, which was the top (most recent) plus release entry before the sync. The upstream-preferred conflict resolution removed it and never re-added it, so the changelog no longer documents the latest @capacitor-plus release and the version stream jumps from 8.5.0 down into 8.3.11. Restore the 8.3.12 section (the only 8.3.x entry whose release is missing).</comment>

<file context>
@@ -3,8 +3,70 @@
 See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
 
-## [8.3.12](https://github.com/Cap-go/capacitor-plus/compare/8.3.11...8.3.12) (2026-08-13)
+# [8.5.0](https://github.com/ionic-team/capacitor/compare/8.4.2...8.5.0) (2026-07-31)
 
+### Bug Fixes
</file context>

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P3: The conflict resolution interleaved the upstream block (8.5.0..8.3.1) above the plus block (8.3.11..8.3.5), producing duplicate version headings 8.3.4, 8.3.3, and 8.3.2 (an upstream entry plus a Cap-go entry, with different dates/content) and an out-of-order top where the newest plus release (8.3.11, 2026-08-13) appears below older upstream entries (8.3.1, 2026-04-16). This makes the changelog misleading to readers and to any lerna/CI tooling that parses headings. Keep the changelog newest-first and de-duplicate the 8.3.x sections so each version has a single heading with merged content.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At CHANGELOG.md, line 6:

<comment>The conflict resolution interleaved the upstream block (8.5.0..8.3.1) above the plus block (8.3.11..8.3.5), producing duplicate version headings `8.3.4`, `8.3.3`, and `8.3.2` (an upstream entry plus a Cap-go entry, with different dates/content) and an out-of-order top where the newest plus release (8.3.11, 2026-08-13) appears below older upstream entries (8.3.1, 2026-04-16). This makes the changelog misleading to readers and to any lerna/CI tooling that parses headings. Keep the changelog newest-first and de-duplicate the 8.3.x sections so each version has a single heading with merged content.</comment>

<file context>
@@ -3,8 +3,70 @@
 See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
 
-## [8.3.12](https://github.com/Cap-go/capacitor-plus/compare/8.3.11...8.3.12) (2026-08-13)
+# [8.5.0](https://github.com/ionic-team/capacitor/compare/8.4.2...8.5.0) (2026-07-31)
 
+### Bug Fixes
</file context>

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2: This merge dropped the 8.3.12 changelog section, which was the top (most recent) plus release entry before the sync. The upstream-preferred conflict resolution removed it and never re-added it, so the changelog no longer documents the latest @capacitor-plus release and the version stream jumps from 8.5.0 down into 8.3.11. Restore the 8.3.12 section (the only 8.3.x entry whose release is missing).

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At CHANGELOG.md, line 6:

<comment>This merge dropped the `8.3.12` changelog section, which was the top (most recent) plus release entry before the sync. The upstream-preferred conflict resolution removed it and never re-added it, so the changelog no longer documents the latest @capacitor-plus release and the version stream jumps from 8.5.0 down into 8.3.11. Restore the 8.3.12 section (the only 8.3.x entry whose release is missing).</comment>

<file context>
@@ -3,8 +3,70 @@
 See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
 
-## [8.3.12](https://github.com/Cap-go/capacitor-plus/compare/8.3.11...8.3.12) (2026-08-13)
+# [8.5.0](https://github.com/ionic-team/capacitor/compare/8.4.2...8.5.0) (2026-07-31)
 
+### Bug Fixes
</file context>

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P3: The conflict resolution interleaved the upstream block (8.5.0..8.3.1) above the plus block (8.3.11..8.3.5), producing duplicate version headings 8.3.4, 8.3.3, and 8.3.2 (an upstream entry plus a Cap-go entry, with different dates/content) and an out-of-order top where the newest plus release (8.3.11, 2026-08-13) appears below older upstream entries (8.3.1, 2026-04-16). This makes the changelog misleading to readers and to any lerna/CI tooling that parses headings. Keep the changelog newest-first and de-duplicate the 8.3.x sections so each version has a single heading with merged content.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At CHANGELOG.md, line 6:

<comment>The conflict resolution interleaved the upstream block (8.5.0..8.3.1) above the plus block (8.3.11..8.3.5), producing duplicate version headings `8.3.4`, `8.3.3`, and `8.3.2` (an upstream entry plus a Cap-go entry, with different dates/content) and an out-of-order top where the newest plus release (8.3.11, 2026-08-13) appears below older upstream entries (8.3.1, 2026-04-16). This makes the changelog misleading to readers and to any lerna/CI tooling that parses headings. Keep the changelog newest-first and de-duplicate the 8.3.x sections so each version has a single heading with merged content.</comment>

<file context>
@@ -3,8 +3,70 @@
 See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
 
-## [8.3.12](https://github.com/Cap-go/capacitor-plus/compare/8.3.11...8.3.12) (2026-08-13)
+# [8.5.0](https://github.com/ionic-team/capacitor/compare/8.4.2...8.5.0) (2026-07-31)
 
+### Bug Fixes
</file context>

See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.

## [8.3.12](https://github.com/Cap-go/capacitor-plus/compare/8.3.11...8.3.12) (2026-08-13)
# [8.5.0](https://github.com/ionic-team/capacitor/compare/8.4.2...8.5.0) (2026-07-31)

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2: This merge removed the plus release entry ## [8.3.12] ("Version bump only for package capacitor") that was the top of the changelog before the sync. It is not re-added anywhere, so the record for that plus release is lost from the changelog. Re-add the 8.3.12 entry (or verify the sync tooling intentionally dropped it) before merging.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At CHANGELOG.md, line 6:

<comment>This merge removed the plus release entry `## [8.3.12]` ("Version bump only for package capacitor") that was the top of the changelog before the sync. It is not re-added anywhere, so the record for that plus release is lost from the changelog. Re-add the 8.3.12 entry (or verify the sync tooling intentionally dropped it) before merging.</comment>

<file context>
@@ -3,8 +3,70 @@
 See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
 
-## [8.3.12](https://github.com/Cap-go/capacitor-plus/compare/8.3.11...8.3.12) (2026-08-13)
+# [8.5.0](https://github.com/ionic-team/capacitor/compare/8.4.2...8.5.0) (2026-07-31)
 
+### Bug Fixes
</file context>

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2: This merge removed the plus release entry ## [8.3.12] ("Version bump only for package capacitor") that was the top of the changelog before the sync. It is not re-added anywhere, so the record for that plus release is lost from the changelog. Re-add the 8.3.12 entry (or verify the sync tooling intentionally dropped it) before merging.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At CHANGELOG.md, line 6:

<comment>This merge removed the plus release entry `## [8.3.12]` ("Version bump only for package capacitor") that was the top of the changelog before the sync. It is not re-added anywhere, so the record for that plus release is lost from the changelog. Re-add the 8.3.12 entry (or verify the sync tooling intentionally dropped it) before merging.</comment>

<file context>
@@ -3,8 +3,70 @@
 See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
 
-## [8.3.12](https://github.com/Cap-go/capacitor-plus/compare/8.3.11...8.3.12) (2026-08-13)
+# [8.5.0](https://github.com/ionic-team/capacitor/compare/8.4.2...8.5.0) (2026-07-31)
 
+### Bug Fixes
</file context>

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2: This merge removed the plus release entry ## [8.3.12] ("Version bump only for package capacitor") that was the top of the changelog before the sync. It is not re-added anywhere, so the record for that plus release is lost from the changelog. Re-add the 8.3.12 entry (or verify the sync tooling intentionally dropped it) before merging.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At CHANGELOG.md, line 6:

<comment>This merge removed the plus release entry `## [8.3.12]` ("Version bump only for package capacitor") that was the top of the changelog before the sync. It is not re-added anywhere, so the record for that plus release is lost from the changelog. Re-add the 8.3.12 entry (or verify the sync tooling intentionally dropped it) before merging.</comment>

<file context>
@@ -3,8 +3,70 @@
 See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
 
-## [8.3.12](https://github.com/Cap-go/capacitor-plus/compare/8.3.11...8.3.12) (2026-08-13)
+# [8.5.0](https://github.com/ionic-team/capacitor/compare/8.4.2...8.5.0) (2026-07-31)
 
+### Bug Fixes
</file context>


### Bug Fixes

- **cli:** support TypeScript 7 when loading capacitor.config.ts ([#8534](https://github.com/ionic-team/capacitor/issues/8534)) ([4c1c870](https://github.com/ionic-team/capacitor/commit/4c1c8709413b9c19b008c99122ca330cc3c90e6f))

### Features

- **cli:** add migrator functionality for adopting UIScene ([#8544](https://github.com/ionic-team/capacitor/issues/8544)) ([984fa85](https://github.com/ionic-team/capacitor/commit/984fa85ba0adab0aacf895aed6323bf4b503dccb))
- **ios:** UIScene Support ([#8536](https://github.com/ionic-team/capacitor/issues/8536)) ([3fa04a3](https://github.com/ionic-team/capacitor/commit/3fa04a357c92af34cd6fccb8124791963804a9dc))

## [8.4.2](https://github.com/ionic-team/capacitor/compare/8.4.1...8.4.2) (2026-07-14)

### Bug Fixes

- **android:** explicitly grant URI permissions for image capture intent ([#8526](https://github.com/ionic-team/capacitor/issues/8526)) ([6f2d328](https://github.com/ionic-team/capacitor/commit/6f2d3283897a375d09ca9ec8784a9f0d65f0a530))

## [8.4.1](https://github.com/ionic-team/capacitor/compare/8.4.0...8.4.1) (2026-06-19)

### Bug Fixes

- **cli:** make SPM dependency patch work on prereleases ([#8508](https://github.com/ionic-team/capacitor/issues/8508)) ([6048e90](https://github.com/ionic-team/capacitor/commit/6048e90171afa0229a3c25b52a23c377c6bb804c))
- **cli:** patch Capacitor SPM dependency version in plugins ([#8492](https://github.com/ionic-team/capacitor/issues/8492)) ([28bb2c6](https://github.com/ionic-team/capacitor/commit/28bb2c687069dfdd6aa7abc866004a1c6388d103))

# [8.4.0](https://github.com/ionic-team/capacitor/compare/8.3.4...8.4.0) (2026-06-02)

### Bug Fixes

- **android:** show only the requested system bar ([#8480](https://github.com/ionic-team/capacitor/issues/8480)) ([4c6c321](https://github.com/ionic-team/capacitor/commit/4c6c3219afb5223211e857457e46283c37eb9424))
- **cli:** revert live reload config on failure ([#8485](https://github.com/ionic-team/capacitor/issues/8485)) ([1d031a4](https://github.com/ionic-team/capacitor/commit/1d031a4abec2c793079ba8897ad2e40c4cc6c7f9))
- **SystemBars:** make `safe-area-inset-x` available on API <= 34 ([#8424](https://github.com/ionic-team/capacitor/issues/8424)) ([e456de0](https://github.com/ionic-team/capacitor/commit/e456de083e19644f484bec5a5359cb67960ac8bc))
- **SystemBars:** respect `insetsHandling` disable ([#8481](https://github.com/ionic-team/capacitor/issues/8481)) ([d4ad7ff](https://github.com/ionic-team/capacitor/commit/d4ad7ffe39daf66e0cfc63af9028d5c05543bde7))

### Features

- add method getDouble to plugin config ([#7638](https://github.com/ionic-team/capacitor/issues/7638)) ([93c72de](https://github.com/ionic-team/capacitor/commit/93c72de40a2ec4c78b33659250cb08340083088e))
- **cli:** add experimental packageOptions ([#8471](https://github.com/ionic-team/capacitor/issues/8471)) ([258867b](https://github.com/ionic-team/capacitor/commit/258867b7bf37b1837b99b02ec9638e5a6df08d97))
- **cli:** capture ios_package_manager in telemetry ([#8482](https://github.com/ionic-team/capacitor/issues/8482)) ([b4b297a](https://github.com/ionic-team/capacitor/commit/b4b297a52f8732659662d5e5aaeff81c0f7d9835))

## [8.3.4](https://github.com/ionic-team/capacitor/compare/8.3.3...8.3.4) (2026-05-12)

**Note:** Version bump only for package capacitor

## [8.3.3](https://github.com/ionic-team/capacitor/compare/8.3.2...8.3.3) (2026-05-08)

### Bug Fixes

- **cli:** copy plugin files in CocoaPods projects ([#8467](https://github.com/ionic-team/capacitor/issues/8467)) ([b2d7719](https://github.com/ionic-team/capacitor/commit/b2d771926a180e60deea31992d7d4abcd5ca3bc7))

## [8.3.2](https://github.com/ionic-team/capacitor/compare/8.3.1...8.3.2) (2026-05-07)

### Bug Fixes

- **cli:** add cSettings support for compiler flags in generated Package.swift ([#8448](https://github.com/ionic-team/capacitor/issues/8448)) ([0bd0676](https://github.com/ionic-team/capacitor/commit/0bd0676315c5fd77e50312dd7b5bf4990dcbd7d0))
- **cli:** add system framework and weak framework support in SPM Package.swift ([#8447](https://github.com/ionic-team/capacitor/issues/8447)) ([3232f0f](https://github.com/ionic-team/capacitor/commit/3232f0fe1d9811b0b5c500e3dc05cb8a250177f8))
- **cli:** correct Capacitor plugin SPM compat check ([#8440](https://github.com/ionic-team/capacitor/issues/8440)) ([e5ccc45](https://github.com/ionic-team/capacitor/commit/e5ccc451dda27d56bca824ed644bd20fe4d988cb))
- **cli:** generate binaryTarget entries for custom xcframeworks in Package.swift ([#8445](https://github.com/ionic-team/capacitor/issues/8445)) ([1f7e33f](https://github.com/ionic-team/capacitor/commit/1f7e33fca43d183332ec19d22b0d75ef81d8cc6d))
- **cli:** generate resource entries in Package.swift ([#8455](https://github.com/ionic-team/capacitor/issues/8455)) ([790bd27](https://github.com/ionic-team/capacitor/commit/790bd27123497111984227010c3162cec94a108e))
- **cli:** handle Cordova plugins without iOS source files ([#8443](https://github.com/ionic-team/capacitor/issues/8443)) ([0da130e](https://github.com/ionic-team/capacitor/commit/0da130eb7a861bee4e2c35bc0aac53ba9c983fc3))
- **cli:** link plugin dependencies in Package.swift ([#8457](https://github.com/ionic-team/capacitor/issues/8457)) ([b3c769e](https://github.com/ionic-team/capacitor/commit/b3c769e856c826b1174518877cf86ac7ce73bf09))
- **ios:** support Cordova plugins with Package.swift ([#8438](https://github.com/ionic-team/capacitor/issues/8438)) ([139943b](https://github.com/ionic-team/capacitor/commit/139943b0c05fddb2d1ce2d6f468800fddf17b4cf))
- **SystemBars:** avoid extra view padding on API <= 34 ([#8439](https://github.com/ionic-team/capacitor/issues/8439)) ([5b135a7](https://github.com/ionic-team/capacitor/commit/5b135a70217be560e7176c8d5b514cc92ed3e4e4))

## [8.3.1](https://github.com/ionic-team/capacitor/compare/8.3.0...8.3.1) (2026-04-16)

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2: The 8.3.1 heading now points to the upstream repo (ionic-team/capacitor), but its section body is the plus-specific "sync upstream SystemBars fixes" entry (Cap-go issue ionic-team#8480/ionic-team#8481/#106, Cap-go commit a63975d). The merge dropped upstream 8.3.1's own fixes and mislabeled the plus entry under the upstream URL, so the heading and its content no longer agree. Restore the plus 8.3.1 entry under its Cap-go heading and keep upstream 8.3.1 content separate under the ionic-team heading.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At CHANGELOG.md, line 69:

<comment>The 8.3.1 heading now points to the upstream repo (ionic-team/capacitor), but its section body is the plus-specific "sync upstream SystemBars fixes" entry (Cap-go issue #8480/#8481/#106, Cap-go commit a63975d). The merge dropped upstream 8.3.1's own fixes and mislabeled the plus entry under the upstream URL, so the heading and its content no longer agree. Restore the plus 8.3.1 entry under its Cap-go heading and keep upstream 8.3.1 content separate under the ionic-team heading.</comment>

<file context>
@@ -3,8 +3,70 @@
+- **ios:** support Cordova plugins with Package.swift ([#8438](https://github.com/ionic-team/capacitor/issues/8438)) ([139943b](https://github.com/ionic-team/capacitor/commit/139943b0c05fddb2d1ce2d6f468800fddf17b4cf))
+- **SystemBars:** avoid extra view padding on API <= 34 ([#8439](https://github.com/ionic-team/capacitor/issues/8439)) ([5b135a7](https://github.com/ionic-team/capacitor/commit/5b135a70217be560e7176c8d5b514cc92ed3e4e4))
+
+## [8.3.1](https://github.com/ionic-team/capacitor/compare/8.3.0...8.3.1) (2026-04-16)
 
 ### Bug Fixes
</file context>

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2: The 8.3.1 heading now points to the upstream repo (ionic-team/capacitor), but its section body is the plus-specific "sync upstream SystemBars fixes" entry (Cap-go issue ionic-team#8480/ionic-team#8481/#106, Cap-go commit a63975d). The merge dropped upstream 8.3.1's own fixes and mislabeled the plus entry under the upstream URL, so the heading and its content no longer agree. Restore the plus 8.3.1 entry under its Cap-go heading and keep upstream 8.3.1 content separate under the ionic-team heading.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At CHANGELOG.md, line 69:

<comment>The 8.3.1 heading now points to the upstream repo (ionic-team/capacitor), but its section body is the plus-specific "sync upstream SystemBars fixes" entry (Cap-go issue #8480/#8481/#106, Cap-go commit a63975d). The merge dropped upstream 8.3.1's own fixes and mislabeled the plus entry under the upstream URL, so the heading and its content no longer agree. Restore the plus 8.3.1 entry under its Cap-go heading and keep upstream 8.3.1 content separate under the ionic-team heading.</comment>

<file context>
@@ -3,8 +3,70 @@
+- **ios:** support Cordova plugins with Package.swift ([#8438](https://github.com/ionic-team/capacitor/issues/8438)) ([139943b](https://github.com/ionic-team/capacitor/commit/139943b0c05fddb2d1ce2d6f468800fddf17b4cf))
+- **SystemBars:** avoid extra view padding on API <= 34 ([#8439](https://github.com/ionic-team/capacitor/issues/8439)) ([5b135a7](https://github.com/ionic-team/capacitor/commit/5b135a70217be560e7176c8d5b514cc92ed3e4e4))
+
+## [8.3.1](https://github.com/ionic-team/capacitor/compare/8.3.0...8.3.1) (2026-04-16)
 
 ### Bug Fixes
</file context>

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2: The 8.3.1 heading now points to the upstream repo (ionic-team/capacitor), but its section body is the plus-specific "sync upstream SystemBars fixes" entry (Cap-go issue ionic-team#8480/ionic-team#8481/#106, Cap-go commit a63975d). The merge dropped upstream 8.3.1's own fixes and mislabeled the plus entry under the upstream URL, so the heading and its content no longer agree. Restore the plus 8.3.1 entry under its Cap-go heading and keep upstream 8.3.1 content separate under the ionic-team heading.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At CHANGELOG.md, line 69:

<comment>The 8.3.1 heading now points to the upstream repo (ionic-team/capacitor), but its section body is the plus-specific "sync upstream SystemBars fixes" entry (Cap-go issue #8480/#8481/#106, Cap-go commit a63975d). The merge dropped upstream 8.3.1's own fixes and mislabeled the plus entry under the upstream URL, so the heading and its content no longer agree. Restore the plus 8.3.1 entry under its Cap-go heading and keep upstream 8.3.1 content separate under the ionic-team heading.</comment>

<file context>
@@ -3,8 +3,70 @@
+- **ios:** support Cordova plugins with Package.swift ([#8438](https://github.com/ionic-team/capacitor/issues/8438)) ([139943b](https://github.com/ionic-team/capacitor/commit/139943b0c05fddb2d1ce2d6f468800fddf17b4cf))
+- **SystemBars:** avoid extra view padding on API <= 34 ([#8439](https://github.com/ionic-team/capacitor/issues/8439)) ([5b135a7](https://github.com/ionic-team/capacitor/commit/5b135a70217be560e7176c8d5b514cc92ed3e4e4))
+
+## [8.3.1](https://github.com/ionic-team/capacitor/compare/8.3.0...8.3.1) (2026-04-16)
 
 ### Bug Fixes
</file context>


### Bug Fixes

Expand Down
Loading
Loading