Commit Graph

234 Commits

Author SHA1 Message Date
DarkSky
403f16b404 chore: drop old client support (#14369) 2026-02-05 02:49:33 +08:00
renovate[bot]
948951d461 chore: bump up Lakr233/MarkdownView version to from: "3.6.2" (#14342)
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
|
[Lakr233/MarkdownView](https://redirect.github.com/Lakr233/MarkdownView)
| minor | `from: "3.4.7"` → `from: "3.6.2"` |

---

### Release Notes

<details>
<summary>Lakr233/MarkdownView (Lakr233/MarkdownView)</summary>

###
[`v3.6.2`](https://redirect.github.com/Lakr233/MarkdownView/compare/3.6.1...3.6.2)

[Compare
Source](https://redirect.github.com/Lakr233/MarkdownView/compare/3.6.1...3.6.2)

###
[`v3.6.1`](https://redirect.github.com/Lakr233/MarkdownView/compare/3.6.0...3.6.1)

[Compare
Source](https://redirect.github.com/Lakr233/MarkdownView/compare/3.6.0...3.6.1)

###
[`v3.6.0`](https://redirect.github.com/Lakr233/MarkdownView/compare/3.5.6...3.6.0)

[Compare
Source](https://redirect.github.com/Lakr233/MarkdownView/compare/3.5.6...3.6.0)

###
[`v3.5.6`](https://redirect.github.com/Lakr233/MarkdownView/compare/3.5.2...3.5.6)

[Compare
Source](https://redirect.github.com/Lakr233/MarkdownView/compare/3.5.2...3.5.6)

###
[`v3.5.2`](https://redirect.github.com/Lakr233/MarkdownView/compare/3.5.1...3.5.2)

[Compare
Source](https://redirect.github.com/Lakr233/MarkdownView/compare/3.5.1...3.5.2)

###
[`v3.5.1`](https://redirect.github.com/Lakr233/MarkdownView/compare/3.5.0...3.5.1)

[Compare
Source](https://redirect.github.com/Lakr233/MarkdownView/compare/3.5.0...3.5.1)

###
[`v3.5.0`](https://redirect.github.com/Lakr233/MarkdownView/compare/3.4.9...3.5.0)

[Compare
Source](https://redirect.github.com/Lakr233/MarkdownView/compare/3.4.9...3.5.0)

###
[`v3.4.9`](https://redirect.github.com/Lakr233/MarkdownView/releases/tag/3.4.9)

[Compare
Source](https://redirect.github.com/Lakr233/MarkdownView/compare/3.4.8...3.4.9)

#### Changes since 3.4.7

- Add multi-platform support and SwiftUI integration
- Refactor Example app and remove legacy UIKit code
- Improve dynamic color handling for dark mode support
- Fix canImport order to check UIKit before AppKit

###
[`v3.4.8`](https://redirect.github.com/Lakr233/MarkdownView/compare/3.4.7...3.4.8)

[Compare
Source](https://redirect.github.com/Lakr233/MarkdownView/compare/3.4.7...3.4.8)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/toeverything/AFFiNE).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi45Mi4xIiwidXBkYXRlZEluVmVyIjoiNDIuOTIuMSIsInRhcmdldEJyYW5jaCI6ImNhbmFyeSIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-01 19:47:10 +08:00
renovate[bot]
b778207af9 chore: bump up RevenueCat/purchases-ios-spm version to from: "5.56.1" (#14343)
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
|
[RevenueCat/purchases-ios-spm](https://redirect.github.com/RevenueCat/purchases-ios-spm)
| minor | `from: "5.55.3"` → `from: "5.56.1"` |

---

### Release Notes

<details>
<summary>RevenueCat/purchases-ios-spm
(RevenueCat/purchases-ios-spm)</summary>

###
[`v5.56.1`](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.56.0...5.56.1)

[Compare
Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.56.0...5.56.1)

###
[`v5.56.0`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5560)

[Compare
Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.55.3...5.56.0)

#### 5.56.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/toeverything/AFFiNE).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi45Mi4xIiwidXBkYXRlZEluVmVyIjoiNDIuOTIuMSIsInRhcmdldEJyYW5jaCI6ImNhbmFyeSIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-01 19:43:01 +08:00
DarkSky
888f1f39db chore: bump deps (#14341) 2026-02-01 05:55:18 +08:00
renovate[bot]
50507fc9bf chore: bump up RevenueCat/purchases-ios-spm version to from: "5.55.3" (#14302)
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
|
[RevenueCat/purchases-ios-spm](https://redirect.github.com/RevenueCat/purchases-ios-spm)
| minor | `from: "5.0.1"` → `from: "5.55.3"` |

---

### Release Notes

<details>
<summary>RevenueCat/purchases-ios-spm
(RevenueCat/purchases-ios-spm)</summary>

###
[`v5.55.3`](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.55.2...5.55.3)

[Compare
Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.55.2...5.55.3)

###
[`v5.55.2`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5552)

[Compare
Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.55.1...5.55.2)

#### 5.55.2

###
[`v5.55.1`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5551)

[Compare
Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.55.0...5.55.1)

#### 5.55.1

###
[`v5.55.0`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5550)

[Compare
Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.54.1...5.55.0)

#### 5.55.0

###
[`v5.54.1`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5541)

[Compare
Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.54.0...5.54.1)

#### 5.54.1

###
[`v5.54.0`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5540)

[Compare
Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.53.0...5.54.0)

#### 5.54.0

###
[`v5.53.0`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5530)

[Compare
Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.52.1...5.53.0)

#### 5.53.0

###
[`v5.52.1`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5521)

[Compare
Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.52.0...5.52.1)

#### 5.52.1

###
[`v5.52.0`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5520)

[Compare
Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.51.1...5.52.0)

#### 5.52.0

###
[`v5.51.1`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5511)

[Compare
Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.51.0...5.51.1)

#### 5.51.1

###
[`v5.51.0`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5510)

[Compare
Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.50.1...5.51.0)

#### 5.51.0

###
[`v5.50.1`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5501)

[Compare
Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.50.0...5.50.1)

#### 5.50.1

###
[`v5.50.0`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5500)

[Compare
Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.49.3...5.50.0)

#### 5.50.0

###
[`v5.49.3`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5493)

[Compare
Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.49.2...5.49.3)

#### 5.49.3

###
[`v5.49.2`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5492)

[Compare
Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.49.1...5.49.2)

#### 5.49.2

###
[`v5.49.1`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5491)

[Compare
Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.49.0...5.49.1)

#### 5.49.1

###
[`v5.49.0`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5490)

[Compare
Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.48.0...5.49.0)

#### 5.49.0

###
[`v5.48.0`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5480)

[Compare
Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.47.1...5.48.0)

#### 5.48.0

###
[`v5.47.1`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5471)

[Compare
Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.47.0...5.47.1)

#### 5.47.1

###
[`v5.47.0`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5470)

[Compare
Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.46.3...5.47.0)

#### 5.47.0

###
[`v5.46.3`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5463)

[Compare
Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.46.2...5.46.3)

##### 🔄 Other Changes

- Use cached offerings on network errors
([#&#8203;5707](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/5707))
via Antonio Pallares
([@&#8203;ajpallares](https://redirect.github.com/ajpallares))
- Allow the use of Test Store in release builds using the uiPreview
dangerous setting for the RC Mobile app
([#&#8203;5765](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/5765))
via Rick ([@&#8203;rickvdl](https://redirect.github.com/rickvdl))
- Fix signature verification fallback urls
([#&#8203;5756](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/5756))
via Antonio Pallares
([@&#8203;ajpallares](https://redirect.github.com/ajpallares))

###
[`v5.46.2`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5462)

[Compare
Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.46.1...5.46.2)

#### 5.46.2

###
[`v5.46.1`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5461)

[Compare
Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.46.0...5.46.1)

#### 5.46.1

###
[`v5.46.0`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5460)

[Compare
Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.45.1...5.46.0)

#### 5.46.0

###
[`v5.45.1`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5451)

[Compare
Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.45.0...5.45.1)

#### 5.45.1

###
[`v5.45.0`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5450)

[Compare
Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.44.1...5.45.0)

#### 5.45.0

###
[`v5.44.1`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5441)

[Compare
Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.44.0...5.44.1)

#### 5.44.1

###
[`v5.44.0`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5440)

[Compare
Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.43.0...5.44.0)

#### 5.44.0

###
[`v5.43.0`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5430)

[Compare
Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.42.0...5.43.0)

#### 5.43.0

###
[`v5.42.0`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5420)

[Compare
Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.41.0...5.42.0)

#### 5.42.0

###
[`v5.41.0`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5410)

[Compare
Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.40.0...5.41.0)

#### 5.41.0

###
[`v5.40.0`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5400)

[Compare
Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.39.3...5.40.0)

#### 5.40.0

###
[`v5.39.3`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5393)

[Compare
Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.39.2...5.39.3)

#### 5.39.3

###
[`v5.39.2`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5392)

[Compare
Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.39.1...5.39.2)

#### 5.39.2

###
[`v5.39.1`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5391)

[Compare
Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.39.0...5.39.1)

#### 5.39.1

###
[`v5.39.0`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5390)

[Compare
Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.38.2...5.39.0)

#### 5.39.0

###
[`v5.38.2`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5382)

[Compare
Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.38.1...5.38.2)

#### 5.38.2

###
[`v5.38.1`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5381)

[Compare
Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.38.0...5.38.1)

#### 5.38.1

###
[`v5.38.0`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5380)

[Compare
Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.37.0...5.38.0)

#### 5.38.0

###
[`v5.37.0`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5370)

[Compare
Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.36.0...5.37.0)

#### 5.37.0

###
[`v5.36.0`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5360)

[Compare
Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.35.1...5.36.0)

#### 5.36.0

###
[`v5.35.1`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5351)

[Compare
Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.35.0...5.35.1)

#### 5.35.1

###
[`v5.35.0`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5350)

[Compare
Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.34.0...5.35.0)

#### 5.35.0

###
[`v5.34.0`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5340)

[Compare
Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.33.1...5.34.0)

#### 5.34.0

###
[`v5.33.1`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5331)

[Compare
Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.33.0...5.33.1)

#### 5.33.1

###
[`v5.33.0`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5330)

[Compare
Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.32.0...5.33.0)

#### 5.33.0

###
[`v5.32.0`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5320)

[Compare
Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.31.0...5.32.0)

#### 5.32.0

###
[`v5.31.0`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5310)

[Compare
Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.30.0...5.31.0)

#### 5.31.0

###
[`v5.30.0`](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.29.0...5.30.0)

[Compare
Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.29.0...5.30.0)

###
[`v5.29.0`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5290)

[Compare
Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.28.1...5.29.0)

#### 5.29.0

###
[`v5.28.1`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5281)

[Compare
Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.28.0...5.28.1)

#### 5.28.1

###
[`v5.28.0`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5280)

[Compare
Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.27.1...5.28.0)

#### 5.28.0

###
[`v5.27.1`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5271)

[Compare
Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.26.0...5.27.1)

#### 5.27.1

###
[`v5.26.0`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5260)

[Compare
Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.25.3...5.26.0)

#### 5.26.0

###
[`v5.25.3`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5253)

[Compare
Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.25.2...5.25.3)

#### 5.25.3

###
[`v5.25.2`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5252)

[Compare
Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.25.1...5.25.2)

#### 5.25.2

###
[`v5.25.1`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5251)

[Compare
Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.25.0...5.25.1)

#### 5.25.1

###
[`v5.25.0`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5250)

[Compare
Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.24.0...5.25.0)

#### 5.25.0

###
[`v5.24.0`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5240)

[Compare
Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.23.0...5.24.0)

#### 5.24.0

###
[`v5.23.0`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5230)

[Compare
Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.22.2...5.23.0)

#### 5.23.0

###
[`v5.22.2`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5222)

[Compare
Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.22.1...5.22.2)

#### 5.22.2

###
[`v5.22.1`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5221)

[Compare
Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.22.0...5.22.1)

#### 5.22.1

###
[`v5.22.0`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5220)

[Compare
Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.21.2...5.22.0)

#### 5.22.0

###
[`v5.21.2`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5212)

[Compare
Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.21.1...5.21.2)

#### 5.21.2

###
[`v5.21.1`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5211)

[Compare
Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.21.0...5.21.1)

#### 5.21.1

###
[`v5.21.0`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5210)

[Compare
Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.20.3...5.21.0)

#### 5.21.0

###
[`v5.20.3`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5203)

[Compare
Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.20.2...5.20.3)

#### 5.20.3

###
[`v5.20.2`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5202)

[Compare
Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.20.1...5.20.2)

#### 5.20.2

###
[`v5.20.1`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5201)

[Compare
Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.20.0...5.20.1)

#### 5.20.1

###
[`v5.20.0`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5200)

[Compare
Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.19.0...5.20.0)

#### 5.20.0

###
[`v5.19.0`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5190)

[Compare
Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.18.0...5.19.0)

#### 5.19.0

###
[`v5.18.0`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5180)

[Compare
Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.17.0...5.18.0)

#### 5.18.0

###
[`v5.17.0`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5170)

[Compare
Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.16.1...5.17.0)

#### 5.17.0

###
[`v5.16.1`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5161)

[Compare
Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.16.0...5.16.1)

#### 5.16.1

###
[`v5.16.0`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5160)

[Compare
Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.15.1...5.16.0)

#### 5.16.0

###
[`v5.15.1`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5151)

[Compare
Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.15.0...5.15.1)

#### 5.15.1

###
[`v5.15.0`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5150)

[Compare
Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.14.6...5.15.0)

#### 5.15.0

###
[`v5.14.6`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5146)

[Compare
Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.14.5...5.14.6)

#### 5.14.6

###
[`v5.14.5`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5145)

[Compare
Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.14.4...5.14.5)

#### 5.14.5

###
[`v5.14.4`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5144)

[Compare
Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.14.3...5.14.4)

#### 5.14.4

###
[`v5.14.3`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5143)

[Compare
Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.14.2...5.14.3)

#### 5.14.3

###
[`v5.14.2`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5142)

[Compare
Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.14.1...5.14.2)

#### 5.14.2

###
[`v5.14.1`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5141)

[Compare
Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.14.0...5.14.1)

#### 5.14.1

###
[`v5.14.0`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5140)

[Compare
Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.13.0...5.14.0)

#### 5.14.0

###
[`v5.13.0`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5130)

[Compare
Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.12.1...5.13.0)

#### 5.13.0

###
[`v5.12.1`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5121)

[Compare
Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.12.0...5.12.1)

#### 5.12.1

###
[`v5.12.0`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5120)

[Compare
Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.11.0...5.12.0)

#### 5.12.0

###
[`v5.11.0`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5110)

[Compare
Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.10.0...5.11.0)

#### 5.11.0

###
[`v5.10.0`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#5100)

[Compare
Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.9.0...5.10.0)

#### 5.10.0

###
[`v5.9.0`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#590)

[Compare
Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.8.0...5.9.0)

#### 5.9.0

###
[`v5.8.0`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#580)

[Compare
Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.7.1...5.8.0)

#### 5.8.0

###
[`v5.7.1`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#571)

[Compare
Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.7.0...5.7.1)

#### 5.7.1

###
[`v5.7.0`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#570)

[Compare
Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.6.0...5.7.0)

#### 5.7.0

###
[`v5.6.0`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#560)

[Compare
Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.5.0...5.6.0)

#### 5.6.0

###
[`v5.5.0`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#550)

[Compare
Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.4.0...5.5.0)

#### 5.5.0

###
[`v5.4.0`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#540)

[Compare
Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.3.4...5.4.0)

#### 5.4.0

###
[`v5.3.4`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#534)

[Compare
Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.3.3...5.3.4)

#### 5.3.4

###
[`v5.3.3`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#533)

[Compare
Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.3.2...5.3.3)

##### Bugfixes

- Remove usage of adServicesToken in syncPurchases
([#&#8203;4257](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4257))
via Mark Villacampa
([@&#8203;MarkVillacampa](https://redirect.github.com/MarkVillacampa))
- Fixes a Paywall Template 7 crash when none of the tiers have any
available products.
([#&#8203;4243](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4243))
via JayShortway
([@&#8203;JayShortway](https://redirect.github.com/JayShortway))
- \[SK2] send unsynced attributes when syncing purchases
([#&#8203;4245](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4245))
via Mark Villacampa
([@&#8203;MarkVillacampa](https://redirect.github.com/MarkVillacampa))

##### Other Changes

- Do not embed `RevenueCat.framework` in `RevenueCatUI`
([#&#8203;4256](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4256))
via Cesar de la Vega
([@&#8203;vegaro](https://redirect.github.com/vegaro))
- Add warnings and clarifications to v5 migration docs
([#&#8203;4231](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4231))
via Mark Villacampa
([@&#8203;MarkVillacampa](https://redirect.github.com/MarkVillacampa))
- Fixes SwiftLint violation of rule optional\_data\_string\_conversion
([#&#8203;4252](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4252))
via JayShortway
([@&#8203;JayShortway](https://redirect.github.com/JayShortway))
- Paywall Components Localized Strings
([#&#8203;4237](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4237))
via James Borthwick
([@&#8203;jamesrb1](https://redirect.github.com/jamesrb1))
- Update `fastlane-plugin-revenuecat_internal`
([#&#8203;4244](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4244))
via Cesar de la Vega
([@&#8203;vegaro](https://redirect.github.com/vegaro))
- Add missing `#if PAYWALL_COMPONENTS`
([#&#8203;4241](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4241))
via James Borthwick
([@&#8203;jamesrb1](https://redirect.github.com/jamesrb1))
- Paywalls Components Viewmodels + partial localization support
([#&#8203;4230](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4230))
via James Borthwick
([@&#8203;jamesrb1](https://redirect.github.com/jamesrb1))

###
[`v5.3.2`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#532)

[Compare
Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.3.1...5.3.2)

##### Bugfixes

- \[Customer Center] Build `WrongPlatformView` from JSON
([#&#8203;4234](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4234))
via Cesar de la Vega
([@&#8203;vegaro](https://redirect.github.com/vegaro))
- Add `feedbackSurveyCompleted` event to Customer Center events
([#&#8203;4194](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4194))
via Cesar de la Vega
([@&#8203;vegaro](https://redirect.github.com/vegaro))

##### Other Changes

- \[Diagnostics] Add `backend_error_code` property
([#&#8203;4236](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4236))
via Toni Rico ([@&#8203;tonidero](https://redirect.github.com/tonidero))
- Update README.md
([#&#8203;3986](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/3986))
via Khoa ([@&#8203;onmyway133](https://redirect.github.com/onmyway133))

###
[`v5.3.1`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#531)

[Compare
Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.3.0...5.3.1)

##### Bugfixes

- Fix `compatibleTopBarTrailing` in MacOS and api tests
([#&#8203;4226](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4226))
via Cesar de la Vega
([@&#8203;vegaro](https://redirect.github.com/vegaro))
- \[Paywall] Fix restoreStarted not being called on
`presentPaywallIfNeeded` when using `requiredEntitlementIdentifier`
([#&#8203;4223](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4223))
via Josh Holtz
([@&#8203;joshdholtz](https://redirect.github.com/joshdholtz))
- \[CustomerCenter] Move sheet and restore alert creation to
`ManageSubscriptionsView`
([#&#8203;4220](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4220))
via Cesar de la Vega
([@&#8203;vegaro](https://redirect.github.com/vegaro))
- \[EXTERNAL] `Custom Entitlements Computation`: fix support display on
debug screen
([#&#8203;4215](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4215))
by [@&#8203;NachoSoto](https://redirect.github.com/NachoSoto)
([#&#8203;4218](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4218))
via Toni Rico ([@&#8203;tonidero](https://redirect.github.com/tonidero))
- \[Customer Center] Add padding to `No thanks` in promotional offer
screen
([#&#8203;4221](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4221))
via Cesar de la Vega
([@&#8203;vegaro](https://redirect.github.com/vegaro))
- Fix version number in plist files
([#&#8203;4213](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4213))
via Cesar de la Vega
([@&#8203;vegaro](https://redirect.github.com/vegaro))
- fix mac os sandbox check slowness
([#&#8203;3879](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/3879))
via Andy Boedo ([@&#8203;aboedo](https://redirect.github.com/aboedo))
- \[Customer Center] Fix `FeedbackSurveyView` not opening
([#&#8203;4208](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4208))
via Cesar de la Vega
([@&#8203;vegaro](https://redirect.github.com/vegaro))
- Remove `unneeded_override` disable to fix linter
([#&#8203;4209](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4209))
via Cesar de la Vega
([@&#8203;vegaro](https://redirect.github.com/vegaro))

##### Dependency Updates

- Bump rexml from 3.3.3 to 3.3.6 in
/Tests/InstallationTests/CocoapodsInstallation
([#&#8203;4210](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4210))
via dependabot\[bot]
([@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot])
- Bump rexml from 3.3.3 to 3.3.6
([#&#8203;4211](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4211))
via dependabot\[bot]
([@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot])

##### Other Changes

- Update readme wording
([#&#8203;3914](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/3914))
via James Borthwick
([@&#8203;jamesrb1](https://redirect.github.com/jamesrb1))
- Set a maximum duration for iOS 15 tests
([#&#8203;4229](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4229))
via Cesar de la Vega
([@&#8203;vegaro](https://redirect.github.com/vegaro))
- Paywall Components Initial Commit
([#&#8203;4224](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4224))
via James Borthwick
([@&#8203;jamesrb1](https://redirect.github.com/jamesrb1))
- \[CustomerCenter] Open App Store when the user wants to update their
app
([#&#8203;4199](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4199))
via JayShortway
([@&#8203;JayShortway](https://redirect.github.com/JayShortway))
- \[Customer Center] Shows a warning when the app is not the latest
version
([#&#8203;4193](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4193))
via JayShortway
([@&#8203;JayShortway](https://redirect.github.com/JayShortway))
- Fix integration tests simulator version
([#&#8203;4219](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4219))
via Cesar de la Vega
([@&#8203;vegaro](https://redirect.github.com/vegaro))
- Pin swift-docc-plugin to 1.3.0
([#&#8203;4216](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4216))
via James Borthwick
([@&#8203;jamesrb1](https://redirect.github.com/jamesrb1))

###
[`v5.3.0`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#530)

[Compare
Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.2.3...5.3.0)

##### New Features

- Price rounding logic
([#&#8203;4132](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4132))
via James Borthwick
([@&#8203;jamesrb1](https://redirect.github.com/jamesrb1))

##### Bugfixes

- \[Customer Center] Migrate to List style
([#&#8203;4190](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4190))
via Cody Kerns
([@&#8203;codykerns](https://redirect.github.com/codykerns))
- \[Paywalls] Improve locale consistency
([#&#8203;4158](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4158))
via Josh Holtz
([@&#8203;joshdholtz](https://redirect.github.com/joshdholtz))
- Set Paywalls Tester deployment target to iOS 15
([#&#8203;4196](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4196))
via James Borthwick
([@&#8203;jamesrb1](https://redirect.github.com/jamesrb1))
- \[Customer Center] Hide Contact Support button if URL can't be created
([#&#8203;4192](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4192))
via Cesar de la Vega
([@&#8203;vegaro](https://redirect.github.com/vegaro))
- Fix the setting for SKIP\_INSTALL in Xcode project
([#&#8203;4195](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4195))
via Andy Boedo ([@&#8203;aboedo](https://redirect.github.com/aboedo))
- \[Customer Center] Improving customer center buttons
([#&#8203;4165](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4165))
via Cody Kerns
([@&#8203;codykerns](https://redirect.github.com/codykerns))
- Revert workaround for iOS 18 beta 5 SwiftUI crash
([#&#8203;4173](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4173))
via Mark Villacampa
([@&#8203;MarkVillacampa](https://redirect.github.com/MarkVillacampa))
- \[Paywalls] Make iOS version calculation lazy
([#&#8203;4163](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4163))
via Mark Villacampa
([@&#8203;MarkVillacampa](https://redirect.github.com/MarkVillacampa))
- Observe `PurchaseHandler` when owned externally
([#&#8203;4097](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4097))
via James Borthwick
([@&#8203;jamesrb1](https://redirect.github.com/jamesrb1))

##### Dependency Updates

- Bump fastlane-plugin-revenuecat\_internal from `d5f0742` to `4c4b8ce`
([#&#8203;4167](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4167))
via dependabot\[bot]
([@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot])
- Bump rexml from 3.2.8 to 3.3.3 in
/Tests/InstallationTests/CocoapodsInstallation
([#&#8203;4176](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4176))
via dependabot\[bot]
([@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot])
- Bump rexml from 3.2.9 to 3.3.3
([#&#8203;4175](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4175))
via dependabot\[bot]
([@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot])

##### Other Changes

- \[Customer Center] Clean up colors in WrongPlatformView and
NoSubscriptionsView
([#&#8203;4204](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4204))
via Cesar de la Vega
([@&#8203;vegaro](https://redirect.github.com/vegaro))
- Fix failing `all-tests` and retry more flaky tests
([#&#8203;4188](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4188))
via Josh Holtz
([@&#8203;joshdholtz](https://redirect.github.com/joshdholtz))
- Compatibility content unavailable improvements
([#&#8203;4197](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4197))
via James Borthwick
([@&#8203;jamesrb1](https://redirect.github.com/jamesrb1))
- Create lane to enable customer center
([#&#8203;4191](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4191))
via Cesar de la Vega
([@&#8203;vegaro](https://redirect.github.com/vegaro))
- XCFramework artifacts in CircleCI
([#&#8203;4189](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4189))
via Andy Boedo ([@&#8203;aboedo](https://redirect.github.com/aboedo))
- \[Customer Center] CustomerCenterViewModel checks whether the app is
the latest version
([#&#8203;4169](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4169))
via JayShortway
([@&#8203;JayShortway](https://redirect.github.com/JayShortway))
- export RevenueCatUI xcframework
([#&#8203;4172](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4172))
via Andy Boedo ([@&#8203;aboedo](https://redirect.github.com/aboedo))
- Corrects references from ManageSubscriptionsButtonStyle to
ButtonsStyle.
([#&#8203;4186](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4186))
via JayShortway
([@&#8203;JayShortway](https://redirect.github.com/JayShortway))
- Speed up carthage installation tests
([#&#8203;4184](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4184))
via Andy Boedo ([@&#8203;aboedo](https://redirect.github.com/aboedo))
- Customer center improvements
([#&#8203;4166](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4166))
via James Borthwick
([@&#8203;jamesrb1](https://redirect.github.com/jamesrb1))
- replace `color(from colorInformation:)` global with extension
([#&#8203;4183](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4183))
via Andy Boedo ([@&#8203;aboedo](https://redirect.github.com/aboedo))
- Generating new test snapshots for `main` - ios-13
([#&#8203;4181](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4181))
via RevenueCat Git Bot
([@&#8203;RCGitBot](https://redirect.github.com/RCGitBot))
- Generating new test snapshots for `main` - ios-16
([#&#8203;4182](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4182))
via RevenueCat Git Bot
([@&#8203;RCGitBot](https://redirect.github.com/RCGitBot))
- Generating new test snapshots for `main` - ios-14
([#&#8203;4180](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4180))
via RevenueCat Git Bot
([@&#8203;RCGitBot](https://redirect.github.com/RCGitBot))
- Generating new test snapshots for `main` - ios-15
([#&#8203;4179](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4179))
via RevenueCat Git Bot
([@&#8203;RCGitBot](https://redirect.github.com/RCGitBot))
- Fix tests in main
([#&#8203;4174](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4174))
via Andy Boedo ([@&#8203;aboedo](https://redirect.github.com/aboedo))
- Enable customer center tests
([#&#8203;4171](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4171))
via James Borthwick
([@&#8203;jamesrb1](https://redirect.github.com/jamesrb1))
- \[Customer Center] Initial implementation
([#&#8203;3967](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/3967))
via Cesar de la Vega
([@&#8203;vegaro](https://redirect.github.com/vegaro))

###
[`v5.2.3`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#523)

[Compare
Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.2.2...5.2.3)

##### Bugfixes

- Fix Paywalls crash on iOS 18 beta
([#&#8203;4154](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4154))
via Andy Boedo ([@&#8203;aboedo](https://redirect.github.com/aboedo))

##### Dependency Updates

- Bump danger from 9.4.3 to 9.5.0
([#&#8203;4143](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4143))
via dependabot\[bot]
([@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot])
- Bump nokogiri from 1.16.6 to 1.16.7
([#&#8203;4129](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4129))
via dependabot\[bot]
([@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot])
- Bump fastlane from 2.221.1 to 2.222.0
([#&#8203;4130](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4130))
via dependabot\[bot]
([@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot])

##### Other Changes

- Update deployment targets for tests
([#&#8203;4145](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4145))
via Andy Boedo ([@&#8203;aboedo](https://redirect.github.com/aboedo))
- Deploy purchaserTester: clean up dry-run parameter
([#&#8203;4140](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4140))
via Andy Boedo ([@&#8203;aboedo](https://redirect.github.com/aboedo))
- Clean up API Testers
([#&#8203;4141](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4141))
via Andy Boedo ([@&#8203;aboedo](https://redirect.github.com/aboedo))
- More project structure cleanup
([#&#8203;4131](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4131))
via Andy Boedo ([@&#8203;aboedo](https://redirect.github.com/aboedo))
- temporarily disables purchasetester deploy
([#&#8203;4133](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4133))
via Andy Boedo ([@&#8203;aboedo](https://redirect.github.com/aboedo))
- Fix trigger all tests branch
([#&#8203;4135](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4135))
via Andy Boedo ([@&#8203;aboedo](https://redirect.github.com/aboedo))
- Clean up XCWorkspace and testing apps
([#&#8203;4111](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4111))
via Andy Boedo ([@&#8203;aboedo](https://redirect.github.com/aboedo))
- tests trigger: add target-branch parameter to trigger from the right
branch
([#&#8203;4121](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4121))
via Andy Boedo ([@&#8203;aboedo](https://redirect.github.com/aboedo))
- Re-added the RevenueCatUI tests job on every commit
([#&#8203;4113](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4113))
via Andy Boedo ([@&#8203;aboedo](https://redirect.github.com/aboedo))

###
[`v5.2.2`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#522-customercenteralpha3)

[Compare
Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.2.1...5.2.2)

- Fix for disabled promo offer button
([#&#8203;4142](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4142))

###
[`v5.2.1`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#521-customercenteralpha1)

[Compare
Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.2.0...5.2.1)

- Initial Customer Center Alpha Release

###
[`v5.2.0`](https://redirect.github.com/RevenueCat/purchases-ios-spm/blob/HEAD/CHANGELOG.md#520)

[Compare
Source](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.1.0...5.2.0)

##### New Features

- Added new paywall template to support multiple tiered subscriptions
([#&#8203;4022](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4022))
via Josh Holtz
([@&#8203;joshdholtz](https://redirect.github.com/joshdholtz))

##### Bugfixes

- Fix certain completion blocks not being dispatched on the main thread
([#&#8203;4058](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4058))
via Mark Villacampa
([@&#8203;MarkVillacampa](https://redirect.github.com/MarkVillacampa))
- Only checks staged files for leftover API keys.
([#&#8203;4073](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4073))
via JayShortway
([@&#8203;JayShortway](https://redirect.github.com/JayShortway))

##### Other Changes

- \[Ci] Fix trigger to run all tests from github actions
([#&#8203;4075](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4075))
via Andy Boedo ([@&#8203;aboedo](https://redirect.github.com/aboedo))
- added new workflow to trigger all tests
([#&#8203;4051](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4051))
via Andy Boedo ([@&#8203;aboedo](https://redirect.github.com/aboedo))
- Reduce CI jobs
([#&#8203;4025](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4025))
via Andy Boedo ([@&#8203;aboedo](https://redirect.github.com/aboedo))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/toeverything/AFFiNE).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi45Mi4xIiwidXBkYXRlZEluVmVyIjoiNDIuOTIuMSIsInRhcmdldEJyYW5jaCI6ImNhbmFyeSIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-26 05:44:47 +08:00
DarkSky
924d58603f chore: improve event flow (#14266) 2026-01-16 16:07:27 +08:00
DarkSky
27a58e764c chore: bump version & deps 2026-01-15 00:33:51 +08:00
DarkSky
99332228da feat: native sync state (#14190)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **New Features**
* Added indexed clock management capabilities for documents, enabling
get, set, and clear operations across Android, iOS, Electron, and web
platforms.

* **Refactor**
* Improved storage architecture to dynamically select platform-specific
implementations (SQLite for Electron, IndexedDB for others).

* **Bug Fixes**
* Enhanced document operations to properly maintain and clean up indexer
synchronization state during document lifecycle changes.

<sub>✏️ Tip: You can customize this high-level summary in your review
settings.</sub>

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-12-31 04:09:32 +08:00
DarkSky
20a80015c0 feat: integrate native indexer for mobile (#14174)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

## Release Notes

* **New Features**
* Added full-text search functionality to mobile apps (Android and iOS),
enabling document indexing and search capabilities.
* Enhanced blob upload support with new GraphQL mutations for creating,
completing, and managing file uploads.

* **Improvements**
* iOS and Android now use SQLite storage backend for improved indexing
performance, aligning with desktop experience.

<sub>✏️ Tip: You can customize this high-level summary in your review
settings.</sub>

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-12-28 21:34:39 +08:00
renovate[bot]
11d9a41433 chore: bump up apple/swift-collections version to from: "1.3.0" (#13688)
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
|
[apple/swift-collections](https://redirect.github.com/apple/swift-collections)
| minor | `from: "1.2.1"` -> `from: "1.3.0"` |

---

### Release Notes

<details>
<summary>apple/swift-collections (apple/swift-collections)</summary>

###
[`v1.3.0`](https://redirect.github.com/apple/swift-collections/releases/tag/1.3.0):
Swift Collections 1.3.0

[Compare
Source](https://redirect.github.com/apple/swift-collections/compare/1.2.1...1.3.0)

This feature release supports Swift toolchain versions 6.0, 6.1 and 6.2,
and it includes the following improvements:

##### `BasicContainers` module

This new module collects ownership-aware, low-level variants of existing
data structures in the core standard library. In this release, this
module consists of two array variants, `UniqueArray` and `RigidArray`.

These new types are provided as less flexible, noncopyable alternatives
to the classic `Array` type. The standard `Array` implements value
semantics with the copy-on-write optimization; this inherently requires
elements to be copyable, and it is itself copyable.

`struct UniqueArray<Element>` is a noncopyable array variant that takes
away `Array`'s copy-on-write behavior, enabling support for noncopyable
elements. This type's noncopyability means mutations can always assume
that the array is uniquely owned, with no shared copies (hence the
name!). This means that array mutations such as mutating an element at
an index can behave much more predictably, with no unexpected
performance spikes due to having to copy shared storage.

`struct RigidArray<Element>` goes even further, by also disabling
dynamic resizing. Rigid arrays have a fixed capacity: they are
initialized with room for a particular number of elements, and they
never implicitly grow (nor shrink) their storage. When a rigid array's
count reaches its capacity, it becomes unable to add any new items --
inserting into a full array is considered a programming error. This
makes this a quite inflexible (or *rigid*) type indeed, as avoiding
storage overflow requires careful, up front planning on the resource
needs of the task at hand. In exchange, rigid arrays can have extremely
predictable performance characteristics.

`UniqueArray` is a great default choice when a task just needs an array
type that is able store noncopyable elements. `RigidArray` is best
reserved for use cases that require absolute, pedantic control over
memory use or latency -- such as control software running in
environments with extremely limited memory, or when a certain task must
always be completed in some given amount of time.

The `Unique` and `Rigid` prefixes applied here establish a general
naming convention for low-level variants of the classic copy-on-write
data structure implementations. Future releases are expected to flesh
out our zoo of container types by adding `Unique` and `Rigid` variants
of the existing `Set`, `Dictionary`, `Deque`, `Heap` and other
constructs, with type names such as as `RigidDictionary` and
`UniqueDeque`.

##### `TrailingElementsModule` module

This new module ships a new `TrailingArray` construct, a preview of a
new low-level, ownership-aware variant of `ManagedBuffer`. This is
primarily intended as a interoperability helper for C constructs that
consist of a fixed-size header directly followed by variable-size
storage buffer.

##### `ContainersPreview` module

This module is intended to contain previews of an upcoming
ownership-aware container model. In this initial release, this module
consists of just one construct: `struct Box<T>`.

`Box` is a wrapper type that forms a noncopyable, heap allocated box
around an arbitrary value.

#### What's Changed

- Merge release/1.1 to main by
[@&#8203;lorentey](https://redirect.github.com/lorentey) in
[#&#8203;204](https://redirect.github.com/apple/swift-collections/pull/204)
- Merge relase/1.1 to main, without taking any changes by
[@&#8203;lorentey](https://redirect.github.com/lorentey) in
[#&#8203;206](https://redirect.github.com/apple/swift-collections/pull/206)
- \[Heap] Add methods to replace minimum/maximum (redux) by
[@&#8203;lorentey](https://redirect.github.com/lorentey) in
[#&#8203;208](https://redirect.github.com/apple/swift-collections/pull/208)
- Persistent collections updates (part 10) by
[@&#8203;lorentey](https://redirect.github.com/lorentey) in
[#&#8203;207](https://redirect.github.com/apple/swift-collections/pull/207)
- Update CMakeLists.txt by
[@&#8203;compnerd](https://redirect.github.com/compnerd) in
[#&#8203;215](https://redirect.github.com/apple/swift-collections/pull/215)
- Merge latest changes from release/1.1 to main by
[@&#8203;lorentey](https://redirect.github.com/lorentey) in
[#&#8203;220](https://redirect.github.com/apple/swift-collections/pull/220)
- Merge branch release/1.1 to main by
[@&#8203;lorentey](https://redirect.github.com/lorentey) in
[#&#8203;231](https://redirect.github.com/apple/swift-collections/pull/231)
- \[SortedCollections] Disable tests with
[@&#8203;testable](https://redirect.github.com/testable) imports in
release builds by
[@&#8203;lorentey](https://redirect.github.com/lorentey) in
[#&#8203;232](https://redirect.github.com/apple/swift-collections/pull/232)
- \[Hashtable] Minor Documentation Fix (Typo) by
[@&#8203;nickkohrn](https://redirect.github.com/nickkohrn) in
[#&#8203;241](https://redirect.github.com/apple/swift-collections/pull/241)
- Merge branch `release/1.1` to `main` by
[@&#8203;lorentey](https://redirect.github.com/lorentey) in
[#&#8203;248](https://redirect.github.com/apple/swift-collections/pull/248)
- Update README.md by
[@&#8203;glessard](https://redirect.github.com/glessard) in
[#&#8203;251](https://redirect.github.com/apple/swift-collections/pull/251)
- \[OrderedDictionary] Explicitly mention in documentation that
keys/values are ordered by
[@&#8203;warpling](https://redirect.github.com/warpling) in
[#&#8203;254](https://redirect.github.com/apple/swift-collections/pull/254)
- build: support ARM64 spelling by
[@&#8203;compnerd](https://redirect.github.com/compnerd) in
[#&#8203;282](https://redirect.github.com/apple/swift-collections/pull/282)
- Merge release/1.1 to main by
[@&#8203;lorentey](https://redirect.github.com/lorentey) in
[#&#8203;284](https://redirect.github.com/apple/swift-collections/pull/284)
- Update release checklist by
[@&#8203;lorentey](https://redirect.github.com/lorentey) in
[#&#8203;323](https://redirect.github.com/apple/swift-collections/pull/323)
- build: update the build rules for adjusted tree layout by
[@&#8203;compnerd](https://redirect.github.com/compnerd) in
[#&#8203;331](https://redirect.github.com/apple/swift-collections/pull/331)
- build: support using swift-collections in larger projects by
[@&#8203;compnerd](https://redirect.github.com/compnerd) in
[#&#8203;330](https://redirect.github.com/apple/swift-collections/pull/330)
- Merge release/1.1 to main by
[@&#8203;lorentey](https://redirect.github.com/lorentey) in
[#&#8203;332](https://redirect.github.com/apple/swift-collections/pull/332)
- build: support building in Debug mode on Windows by
[@&#8203;compnerd](https://redirect.github.com/compnerd) in
[#&#8203;333](https://redirect.github.com/apple/swift-collections/pull/333)
- Bugfix Incorrect Assert in BTree.removeFirst/removeLast by
[@&#8203;LeoNavel](https://redirect.github.com/LeoNavel) in
[#&#8203;349](https://redirect.github.com/apple/swift-collections/pull/349)
- Fix typos by [@&#8203;rex4539](https://redirect.github.com/rex4539) in
[#&#8203;356](https://redirect.github.com/apple/swift-collections/pull/356)
- Merge branch `release/1.1` to `main` by
[@&#8203;lorentey](https://redirect.github.com/lorentey) in
[#&#8203;358](https://redirect.github.com/apple/swift-collections/pull/358)
- Merge.1.1→main by
[@&#8203;lorentey](https://redirect.github.com/lorentey) in
[#&#8203;361](https://redirect.github.com/apple/swift-collections/pull/361)
- Add post-merge CI support by
[@&#8203;shahmishal](https://redirect.github.com/shahmishal) in
[#&#8203;367](https://redirect.github.com/apple/swift-collections/pull/367)
- Update CODEOWNERS by
[@&#8203;lorentey](https://redirect.github.com/lorentey) in
[#&#8203;375](https://redirect.github.com/apple/swift-collections/pull/375)
- Merge release/1.1 to main by
[@&#8203;lorentey](https://redirect.github.com/lorentey) in
[#&#8203;386](https://redirect.github.com/apple/swift-collections/pull/386)
- Merge release/1.1 to main by
[@&#8203;lorentey](https://redirect.github.com/lorentey) in
[#&#8203;410](https://redirect.github.com/apple/swift-collections/pull/410)
- \[BTree]\[NFC] Rephrase some comments by
[@&#8203;lorentey](https://redirect.github.com/lorentey) in
[#&#8203;427](https://redirect.github.com/apple/swift-collections/pull/427)
- \[CI] Pull Request testing support via GitHub Actions by
[@&#8203;shahmishal](https://redirect.github.com/shahmishal) in
[#&#8203;426](https://redirect.github.com/apple/swift-collections/pull/426)
- \[OrderedDictionary Documentation] fix a typo by
[@&#8203;Gyuni](https://redirect.github.com/Gyuni) in
[#&#8203;445](https://redirect.github.com/apple/swift-collections/pull/445)
- Install swiftmodules with full module triple by
[@&#8203;etcwilde](https://redirect.github.com/etcwilde) in
[#&#8203;470](https://redirect.github.com/apple/swift-collections/pull/470)
- \[OrderedSet] Add `OrderedSet.appending(contentsOf:)` by
[@&#8203;pm-dev](https://redirect.github.com/pm-dev) in
[#&#8203;452](https://redirect.github.com/apple/swift-collections/pull/452)
- ManagedBuffer.capacity is unavailable on OpenBSD. by
[@&#8203;3405691582](https://redirect.github.com/3405691582) in
[#&#8203;456](https://redirect.github.com/apple/swift-collections/pull/456)
- Align Heap.\_UnsafeHandle min/maxValue tie-breaking with Swift.min/max
by [@&#8203;DakshinD](https://redirect.github.com/DakshinD) in
[#&#8203;455](https://redirect.github.com/apple/swift-collections/pull/455)
- Add Heap.removeAll(where:) by
[@&#8203;DakshinD](https://redirect.github.com/DakshinD) in
[#&#8203;454](https://redirect.github.com/apple/swift-collections/pull/454)
- Merge release/1.2 to main by
[@&#8203;lorentey](https://redirect.github.com/lorentey) in
[#&#8203;450](https://redirect.github.com/apple/swift-collections/pull/450)
- Disable `SortedCollections` module by
[@&#8203;lorentey](https://redirect.github.com/lorentey) in
[#&#8203;479](https://redirect.github.com/apple/swift-collections/pull/479)
- Enable MemberImportVisibility and fix issues uncovered by
[@&#8203;lorentey](https://redirect.github.com/lorentey) in
[#&#8203;480](https://redirect.github.com/apple/swift-collections/pull/480)
- fix comment for OrderedSet.appending(contentsOf:) by
[@&#8203;ozumin](https://redirect.github.com/ozumin) in
[#&#8203;478](https://redirect.github.com/apple/swift-collections/pull/478)
- Bump requirements of nested benchmarking package by
[@&#8203;lorentey](https://redirect.github.com/lorentey) in
[#&#8203;481](https://redirect.github.com/apple/swift-collections/pull/481)
- Fix CMake build by
[@&#8203;etcwilde](https://redirect.github.com/etcwilde) in
[#&#8203;482](https://redirect.github.com/apple/swift-collections/pull/482)
- Merge changes on `release/1.2` to `main` branch by
[@&#8203;lorentey](https://redirect.github.com/lorentey) in
[#&#8203;487](https://redirect.github.com/apple/swift-collections/pull/487)
- Enable macOS testing on GitHub Actions by
[@&#8203;shahmishal](https://redirect.github.com/shahmishal) in
[#&#8203;483](https://redirect.github.com/apple/swift-collections/pull/483)
- Fix API documentation links in README.md by
[@&#8203;azarovalex](https://redirect.github.com/azarovalex) in
[#&#8203;490](https://redirect.github.com/apple/swift-collections/pull/490)
- Skip Xcode 16.0 and 16.1 in PR workflow by
[@&#8203;natecook1000](https://redirect.github.com/natecook1000) in
[#&#8203;493](https://redirect.github.com/apple/swift-collections/pull/493)
- Fix OrderedSet example usage by
[@&#8203;azarovalex](https://redirect.github.com/azarovalex) in
[#&#8203;491](https://redirect.github.com/apple/swift-collections/pull/491)
- Add support for embedded Swift mode by
[@&#8203;parkera](https://redirect.github.com/parkera) in
[#&#8203;494](https://redirect.github.com/apple/swift-collections/pull/494)
- Include DequeModule in the Foundation toolchain build by
[@&#8203;cthielen](https://redirect.github.com/cthielen) in
[#&#8203;495](https://redirect.github.com/apple/swift-collections/pull/495)
- Fix CMake build for `release/1.2` by
[@&#8203;cthielen](https://redirect.github.com/cthielen) in
[#&#8203;498](https://redirect.github.com/apple/swift-collections/pull/498)
- fix minor typo in init docs for Deque.swift by
[@&#8203;t089](https://redirect.github.com/t089) in
[#&#8203;503](https://redirect.github.com/apple/swift-collections/pull/503)
- \[SortedSet] Fix subtreeCount inconsistency after remove at index by
[@&#8203;brianchang928](https://redirect.github.com/brianchang928) in
[#&#8203;502](https://redirect.github.com/apple/swift-collections/pull/502)
- Add the missing COLLECTIONS\_SINGLE\_MODULE when import
InternalCollectionsUtils by
[@&#8203;faimin](https://redirect.github.com/faimin) in
[#&#8203;501](https://redirect.github.com/apple/swift-collections/pull/501)
- \[SortedCollections] Fix incorrect offset calculation in
BTree.findAnyIndex by
[@&#8203;brianchang928](https://redirect.github.com/brianchang928) in
[#&#8203;506](https://redirect.github.com/apple/swift-collections/pull/506)
- \[SortedCollections] Fix B-tree root reduction during element removal
causing data loss by
[@&#8203;brianchang928](https://redirect.github.com/brianchang928) in
[#&#8203;507](https://redirect.github.com/apple/swift-collections/pull/507)
- Add checks for Wasm compatibility to `pull_request.yml` by
[@&#8203;MaxDesiatov](https://redirect.github.com/MaxDesiatov) in
[#&#8203;509](https://redirect.github.com/apple/swift-collections/pull/509)
- First round of noncopyable constructs: `Box`, `RigidArray`,
`DynamicArray` by
[@&#8203;lorentey](https://redirect.github.com/lorentey) in
[#&#8203;508](https://redirect.github.com/apple/swift-collections/pull/508)
- \[actions] exclude Xcode 26 beta 6 by
[@&#8203;glessard](https://redirect.github.com/glessard) in
[#&#8203;514](https://redirect.github.com/apple/swift-collections/pull/514)
- Add "trailing elements" module with facilities for tail-allocated
storage by [@&#8203;DougGregor](https://redirect.github.com/DougGregor)
in
[#&#8203;513](https://redirect.github.com/apple/swift-collections/pull/513)
- \[Xcode] Add trailing elements to xcodeproj by
[@&#8203;Azoy](https://redirect.github.com/Azoy) in
[#&#8203;515](https://redirect.github.com/apple/swift-collections/pull/515)
- Containers: Naming updates, minor tweaks by
[@&#8203;lorentey](https://redirect.github.com/lorentey) in
[#&#8203;516](https://redirect.github.com/apple/swift-collections/pull/516)
- Add BasicContainer rename to xcodeproj by
[@&#8203;Azoy](https://redirect.github.com/Azoy) in
[#&#8203;517](https://redirect.github.com/apple/swift-collections/pull/517)
- Prepare for tagging 1.3.0 by
[@&#8203;lorentey](https://redirect.github.com/lorentey) in
[#&#8203;523](https://redirect.github.com/apple/swift-collections/pull/523)
- \[Docs] Fix landing page of collections documentation by
[@&#8203;Azoy](https://redirect.github.com/Azoy) in
[#&#8203;520](https://redirect.github.com/apple/swift-collections/pull/520)
- build: Install libraries in an `arch` sub-folder by
[@&#8203;Steelskin](https://redirect.github.com/Steelskin) in
[#&#8203;505](https://redirect.github.com/apple/swift-collections/pull/505)
- More release preparations for 1.3.0 by
[@&#8203;lorentey](https://redirect.github.com/lorentey) in
[#&#8203;524](https://redirect.github.com/apple/swift-collections/pull/524)
- One last round of documentation updates by
[@&#8203;lorentey](https://redirect.github.com/lorentey) in
[#&#8203;525](https://redirect.github.com/apple/swift-collections/pull/525)

#### New Contributors

- [@&#8203;nickkohrn](https://redirect.github.com/nickkohrn) made their
first contribution in
[#&#8203;241](https://redirect.github.com/apple/swift-collections/pull/241)
- [@&#8203;warpling](https://redirect.github.com/warpling) made their
first contribution in
[#&#8203;254](https://redirect.github.com/apple/swift-collections/pull/254)
- [@&#8203;LeoNavel](https://redirect.github.com/LeoNavel) made their
first contribution in
[#&#8203;349](https://redirect.github.com/apple/swift-collections/pull/349)
- [@&#8203;rex4539](https://redirect.github.com/rex4539) made their
first contribution in
[#&#8203;356](https://redirect.github.com/apple/swift-collections/pull/356)
- [@&#8203;Gyuni](https://redirect.github.com/Gyuni) made their first
contribution in
[#&#8203;445](https://redirect.github.com/apple/swift-collections/pull/445)
- [@&#8203;pm-dev](https://redirect.github.com/pm-dev) made their first
contribution in
[#&#8203;452](https://redirect.github.com/apple/swift-collections/pull/452)
- [@&#8203;DakshinD](https://redirect.github.com/DakshinD) made their
first contribution in
[#&#8203;455](https://redirect.github.com/apple/swift-collections/pull/455)
- [@&#8203;ozumin](https://redirect.github.com/ozumin) made their first
contribution in
[#&#8203;478](https://redirect.github.com/apple/swift-collections/pull/478)
- [@&#8203;azarovalex](https://redirect.github.com/azarovalex) made
their first contribution in
[#&#8203;490](https://redirect.github.com/apple/swift-collections/pull/490)
- [@&#8203;natecook1000](https://redirect.github.com/natecook1000) made
their first contribution in
[#&#8203;493](https://redirect.github.com/apple/swift-collections/pull/493)
- [@&#8203;parkera](https://redirect.github.com/parkera) made their
first contribution in
[#&#8203;494](https://redirect.github.com/apple/swift-collections/pull/494)
- [@&#8203;t089](https://redirect.github.com/t089) made their first
contribution in
[#&#8203;503](https://redirect.github.com/apple/swift-collections/pull/503)
- [@&#8203;brianchang928](https://redirect.github.com/brianchang928)
made their first contribution in
[#&#8203;502](https://redirect.github.com/apple/swift-collections/pull/502)
- [@&#8203;faimin](https://redirect.github.com/faimin) made their first
contribution in
[#&#8203;501](https://redirect.github.com/apple/swift-collections/pull/501)
- [@&#8203;MaxDesiatov](https://redirect.github.com/MaxDesiatov) made
their first contribution in
[#&#8203;509](https://redirect.github.com/apple/swift-collections/pull/509)
- [@&#8203;DougGregor](https://redirect.github.com/DougGregor) made
their first contribution in
[#&#8203;513](https://redirect.github.com/apple/swift-collections/pull/513)

**Full Changelog**:
<https://github.com/apple/swift-collections/compare/1.2.1...1.3.0>

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [x] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/toeverything/AFFiNE).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4xMzEuOSIsInVwZGF0ZWRJblZlciI6IjQyLjU5LjAiLCJ0YXJnZXRCcmFuY2giOiJjYW5hcnkiLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIl19-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-28 15:18:35 +08:00
renovate[bot]
f49f42ce76 chore: bump up Lakr233/ListViewKit version to from: "1.1.8" (#14078)
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [Lakr233/ListViewKit](https://redirect.github.com/Lakr233/ListViewKit)
| patch | `from: "1.1.6"` -> `from: "1.1.8"` |

---

### Release Notes

<details>
<summary>Lakr233/ListViewKit (Lakr233/ListViewKit)</summary>

###
[`v1.1.8`](https://redirect.github.com/Lakr233/ListViewKit/compare/1.1.7...1.1.8)

[Compare
Source](https://redirect.github.com/Lakr233/ListViewKit/compare/1.1.7...1.1.8)

###
[`v1.1.7`](https://redirect.github.com/Lakr233/ListViewKit/compare/1.1.6...1.1.7)

[Compare
Source](https://redirect.github.com/Lakr233/ListViewKit/compare/1.1.6...1.1.7)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/toeverything/AFFiNE).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi4zMi4yIiwidXBkYXRlZEluVmVyIjoiNDIuMzIuMiIsInRhcmdldEJyYW5jaCI6ImNhbmFyeSIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: DarkSky <25152247+darkskygit@users.noreply.github.com>
2025-12-28 15:17:50 +08:00
renovate[bot]
f78dc44690 chore: bump up Lakr233/MarkdownView version to from: "3.4.7" (#14090)
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
|
[Lakr233/MarkdownView](https://redirect.github.com/Lakr233/MarkdownView)
| patch | `from: "3.4.2"` -> `from: "3.4.7"` |

---

### Release Notes

<details>
<summary>Lakr233/MarkdownView (Lakr233/MarkdownView)</summary>

###
[`v3.4.7`](https://redirect.github.com/Lakr233/MarkdownView/compare/3.4.6...3.4.7)

[Compare
Source](https://redirect.github.com/Lakr233/MarkdownView/compare/3.4.6...3.4.7)

###
[`v3.4.6`](https://redirect.github.com/Lakr233/MarkdownView/compare/3.4.5...3.4.6)

[Compare
Source](https://redirect.github.com/Lakr233/MarkdownView/compare/3.4.5...3.4.6)

###
[`v3.4.5`](https://redirect.github.com/Lakr233/MarkdownView/compare/3.4.4...3.4.5)

[Compare
Source](https://redirect.github.com/Lakr233/MarkdownView/compare/3.4.4...3.4.5)

###
[`v3.4.4`](https://redirect.github.com/Lakr233/MarkdownView/compare/3.4.3...3.4.4)

[Compare
Source](https://redirect.github.com/Lakr233/MarkdownView/compare/3.4.3...3.4.4)

###
[`v3.4.3`](https://redirect.github.com/Lakr233/MarkdownView/compare/3.4.2...3.4.3)

[Compare
Source](https://redirect.github.com/Lakr233/MarkdownView/compare/3.4.2...3.4.3)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [x] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/toeverything/AFFiNE).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi40Mi4yIiwidXBkYXRlZEluVmVyIjoiNDIuNTkuMCIsInRhcmdldEJyYW5jaCI6ImNhbmFyeSIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-28 15:16:48 +08:00
DarkSky
2e38898937 feat: refresh index if version changed (#14150) 2025-12-26 01:08:05 +08:00
DarkSky
e8693a3a25 feat: introduce fuzzy search for native indexer (#14109) 2025-12-25 04:40:23 +08:00
DarkSky
cb0ff04efa feat: bump more deps (#14079) 2025-12-10 16:02:28 +08:00
DarkSky
215541d331 feat: improve indexing perf with native indexer (#14066)
fix #12132, #14006, #13496, #12375, #12132 

The previous idb indexer generated a large number of scattered writes
when flushing to disk, which caused CPU and disk write spikes. If the
document volume is extremely large, the accumulation of write
transactions will cause memory usage to continuously increase.

This PR introduces batch writes to mitigate write performance on the web
side, and adds a native indexer on the Electron side to greatly improve
performance.


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Full-text search (FTS) added across storage layers and native plugins:
indexing, search, document retrieval, match ranges, and index flushing.
* New SQLite-backed indexer storage, streaming search/aggregate APIs,
and in-memory index with node-building and highlighting.

* **Performance**
* Indexing rewritten for batched, concurrent writes and parallel
metadata updates.
* Search scoring enhanced to consider multiple term positions and
aggregated term data.

* **Other**
  * Configurable refresh interval and indexer version bump.

<sub>✏️ Tip: You can customize this high-level summary in your review
settings.</sub>
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-12-09 22:04:50 +08:00
DarkSky
776ca2c702 chore: bump version 2025-12-08 10:47:37 +08:00
DarkSky
cf4e37c584 feat(native): native reader for indexer (#14055) 2025-12-07 16:22:11 +08:00
DarkSky
4e082e4170 chore: bump version 2025-11-15 17:29:54 +08:00
Lakr
f3bb2be5ef feat: request apply subscription mutation (#13844) 2025-10-31 22:53:30 +08:00
DarkSky
e4b5b24fdd chore: bump package version 2025-10-29 21:14:34 +08:00
Lakr
8aeb8bd0ca feat(ios): insert app user id to rc (#13756)
This pull request integrates RevenueCat into the iOS paywall system,
enabling user authentication and subscription management through the
RevenueCat SDK. It introduces new dependencies, updates the paywall
plugin initialization, and adds logic to fetch and use the current user
identifier from the web context for RevenueCat login. The most important
changes are grouped below:

**RevenueCat Integration and Configuration:**

* Added `purchases-ios-spm` (RevenueCat) as a Swift Package dependency
in `AffinePaywall` and updated `Package.resolved` to track the new
dependency.
(`packages/frontend/apps/ios/App/Packages/AffinePaywall/Package.swift`,
`packages/frontend/apps/ios/App/App.xcworkspace/xcshareddata/swiftpm/Package.resolved`)
[[1]](diffhunk://#diff-7716c691e65a220dad542e024fbf91547c45ea69ddff1d0b6a002a497cd7c8ecR20-R28)
[[2]](diffhunk://#diff-63609de9bdfc08b8a0691a4f0ddb7ddff07ae76b40ec2ee7c12adb7db226eb3cR48-R56)
* Implemented `Paywall.setup()` for initializing RevenueCat
configuration, including setting log level, proxy URL, and a static API
key.
(`packages/frontend/apps/ios/App/Packages/AffinePaywall/Sources/AffinePaywall/Paywall.swift`,
`packages/frontend/apps/ios/App/Plugins/PayWall/PayWallPlugin.swift`)
[[1]](diffhunk://#diff-bce0a21a4e7695b7bf2430cd6b8a85fbc84124cc3be83f3288119992b7abb6cdR8-R30)
[[2]](diffhunk://#diff-1854d318d8fd8736d078f5960373ed440836263649a8193c8ee33e72a99424edR14)

**User Authentication and Subscription State:**

* Enhanced the paywall ViewModel logic to fetch the current user
identifier from the web context (`window.getCurrentUserIdentifier`),
configure RevenueCat, and log in the user before fetching subscription
state. Improved error handling and ensured external entitlement fetching
is robust.
(`packages/frontend/apps/ios/App/Packages/AffinePaywall/Sources/AffinePaywall/Model/ViewModel+Action.swift`)
[[1]](diffhunk://#diff-df2cb61867b4ff10dee98d534cf3c94fe8d48ebaef3f219450a9fba26725fdcbR9)
[[2]](diffhunk://#diff-df2cb61867b4ff10dee98d534cf3c94fe8d48ebaef3f219450a9fba26725fdcbL120-R155)
[[3]](diffhunk://#diff-df2cb61867b4ff10dee98d534cf3c94fe8d48ebaef3f219450a9fba26725fdcbR165)
* Added a global JavaScript function `getCurrentUserIdentifier` to the
iOS web context to retrieve the current user's account ID for use in
RevenueCat login. (`packages/frontend/apps/ios/src/app.tsx`)

**Project Metadata:**

* Downgraded the `objectVersion` in the Xcode project file, possibly to
maintain compatibility with other tools or environments.
(`packages/frontend/apps/ios/App/App.xcodeproj/project.pbxproj`)

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Paywall now initializes automatically for a smoother subscription
flow.
* New global API to retrieve the current user identifier from the app
context.

* **Improvements**
* Added integration to better coordinate subscription/login state before
showing paywall options.
* Ensures user identity is validated prior to entitlement checks,
improving accuracy.
  * Improved error messages and logging during purchase/login flows.

* **Bug Fixes**
* Fixed intermittent issues where subscription status could fail to load
or appear outdated.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-10-21 16:15:29 +00:00
Lakr
c63e3e7fe6 fix(ios): adopt smaller font size for small device (#13715)
This pull request makes minor adjustments to the iOS frontend app,
focusing on UI fine-tuning and improving type safety for concurrency.
The most notable changes are a small font size adjustment in the paywall
badge, marking an enum as `Sendable` for safer concurrency, and removing
a StoreKit configuration reference from the Xcode scheme.

UI adjustments:
* Reduced the font size for the badge text in `PackageOptionView` from
12 to 10 for a more refined appearance.

Concurrency and type safety:
* Added the `Sendable` protocol conformance to the `SKUnitCategory` enum
to ensure it can be safely used across concurrency boundaries.

Project configuration:
* Removed the `StoreKitConfigurationFileReference` from the
`App.xcscheme`, which may help streamline scheme configuration or
prevent unnecessary StoreKit file usage during app launch.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- Style
- Tweaked paywall option badge text size for a cleaner, more polished
look.

- Refactor
- Improved concurrency safety in underlying models to enhance stability.

- Chores
- Removed a development-only StoreKit configuration from the iOS debug
launch setup.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-10-09 19:13:02 +08:00
Lakr
7d0b8aaa81 feat(ios): sync paywall with external purchased items (#13681)
This pull request introduces significant improvements to the integration
between the paywall feature and the web context within the iOS app. The
main focus is on enabling synchronization of subscription states between
the app and the embedded web view, refactoring how purchased items are
managed, and enhancing the paywall presentation logic. Additionally,
some debug-only code has been removed for cleaner production builds.

**Paywall and Web Context Integration**

* Added support for binding a `WKWebView` context to the paywall,
allowing the paywall to communicate with the web view for subscription
state updates and retrievals (`Paywall.presentWall` now accepts a
`bindWebContext` parameter, and `ViewModel` supports binding and using
the web context).
[[1]](diffhunk://#diff-bce0a21a4e7695b7bf2430cd6b8a85fbc84124cc3be83f3288119992b7abb6cdR10-R32)
[[2]](diffhunk://#diff-cb192a424400265435cb06d86b204aa17b4e8195d9dd811580f51faeda211ff0R54-R57)
[[3]](diffhunk://#diff-cb192a424400265435cb06d86b204aa17b4e8195d9dd811580f51faeda211ff0L26-R38)
[[4]](diffhunk://#diff-1854d318d8fd8736d078f5960373ed440836263649a8193c8ee33e72a99424edL30-R36)

* On paywall dismissal, the app now triggers a JavaScript call to update
the subscription state in the web view, ensuring consistency between the
app and the web context.

**Purchased Items Refactor**

* Refactored `ViewModel` to distinguish between store-purchased items
and externally-purchased items (from the web context), and unified them
in a computed `purchasedItems` property. This improves clarity and
extensibility for handling entitlements from multiple sources.

* Added logic to fetch external entitlements by executing JavaScript in
the web view and decoding the subscription information, mapping external
plans to internal product identifiers.
[[1]](diffhunk://#diff-df2cb61867b4ff10dee98d534cf3c94fe8d48ebaef3f219450a9fba26725fdcbL99-R137)
[[2]](diffhunk://#diff-df2cb61867b4ff10dee98d534cf3c94fe8d48ebaef3f219450a9fba26725fdcbR169-R209)

**Codebase Cleanup**

* Removed debug-only code for shake gesture and debug menu from
`AFFiNEViewController`, streamlining the production build.

**API and Model Enhancements**

* Made `SKUnitCategory` and its extensions public to allow broader usage
across modules, and introduced a configuration struct for the paywall.
[[1]](diffhunk://#diff-742ccf0c6bafd2db6cb9795382d556fbab90b8855ff38dc340aa39318541517dL10-R17)
[[2]](diffhunk://#diff-bce0a21a4e7695b7bf2430cd6b8a85fbc84124cc3be83f3288119992b7abb6cdR10-R32)

**Other Minor Improvements**

* Improved constructor formatting for `PayWallPlugin` for readability.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- New Features
- Paywall now binds to the in-app web view so web-based subscriptions
are recognized alongside App Store purchases.
- Bug Fixes
- Entitlements combine App Store and web subscription state for more
accurate display.
- Dismissing the paywall immediately updates subscription status to
reduce stale states.
  - Improved reliability when presenting the paywall.
- Chores
  - Removed debug shake menu and debug paywall options from iOS builds.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-10-03 07:21:41 +00:00
renovate[bot]
5fdae9161a chore: bump up SwifterSwift/SwifterSwift version to from: "6.2.0" (#12874)
> [!NOTE]
> Mend has cancelled [the proposed
renaming](https://redirect.github.com/renovatebot/renovate/discussions/37842)
of the Renovate GitHub app being renamed to `mend[bot]`.
> 
> This notice will be removed on 2025-10-07.

<hr>

This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
|
[SwifterSwift/SwifterSwift](https://redirect.github.com/SwifterSwift/SwifterSwift)
| minor | `from: "6.0.0"` -> `from: "6.2.0"` |

---

### Release Notes

<details>
<summary>SwifterSwift/SwifterSwift (SwifterSwift/SwifterSwift)</summary>

###
[`v6.2.0`](https://redirect.github.com/SwifterSwift/SwifterSwift/blob/HEAD/CHANGELOG.md#v620)

[Compare
Source](https://redirect.github.com/SwifterSwift/SwifterSwift/compare/6.1.1...6.2.0)

##### Added

- **NSView**
- Added `addArrangedSubviews(_ views: )` to add an array of views to the
end of the arrangedSubviews array.
[#&#8203;1181](https://redirect.github.com/SwifterSwift/SwifterSwift/pull/1181)
by [Roman Podymov](https://redirect.github.com/RomanPodymov)
- Added `removeArrangedSubviews` to remove all views in stack’s array of
arranged subviews.
[#&#8203;1181](https://redirect.github.com/SwifterSwift/SwifterSwift/pull/1181)
by [Roman Podymov](https://redirect.github.com/RomanPodymov)
- **Sequence**
- `sorted(by:)`, `sorted(by:with:)`, `sorted(by:and:)`,
`sorted(by:and:and:)`, `sum(for:)`, `first(where:equals:)` now have
alternatives that receive functions as parameters. This change maintains
compatibility with KeyPath while making the methods more flexible.
[#&#8203;1170](https://redirect.github.com/SwifterSwift/SwifterSwift/pull/1170)
by [MartonioJunior](https://redirect.github.com/MartonioJunior)

##### Changed

- **Sequence**
- `sorted(by:)`, `sorted(by:with:)`, `sorted(by:and:)`,
`sorted(by:and:and:)`, `sum(for:)`, `first(where:equals:)` now have
alternatives that receive functions as parameters. This change maintains
compatibility with KeyPath while making the methods more flexible.
[#&#8203;1170](https://redirect.github.com/SwifterSwift/SwifterSwift/pull/1170)
by [MartonioJunior](https://redirect.github.com/MartonioJunior)
- `contains(_:)` for `Element: Hashable` now can receive any type that
conforms to `Sequence`, not just an `Array`.
[#&#8203;1169](https://redirect.github.com/SwifterSwift/SwifterSwift/pull/1169)
by [MartonioJunior](https://redirect.github.com/MartonioJunior)

##### Fixed

- **PrivacyInfo.xcprivacy**
- XCode Generate Privacy Report: `Missing an expected key:
'NSPrivacyCollectedDataTypes'`.
[#&#8203;1182](https://redirect.github.com/SwifterSwift/SwifterSwift/issues/1182)
by [Phil](https://redirect.github.com/cdoky)

###
[`v6.1.1`](https://redirect.github.com/SwifterSwift/SwifterSwift/blob/HEAD/CHANGELOG.md#v611)

[Compare
Source](https://redirect.github.com/SwifterSwift/SwifterSwift/compare/6.1.0...6.1.1)

##### Added

- **Cocoapods**
- Added the privacy manifest to Cocoapods.
[#&#8203;1178](https://redirect.github.com/SwifterSwift/SwifterSwift/pull/1178)
by [guykogus](https://redirect.github.com/guykogus)

###
[`v6.1.0`](https://redirect.github.com/SwifterSwift/SwifterSwift/blob/HEAD/CHANGELOG.md#v610)

[Compare
Source](https://redirect.github.com/SwifterSwift/SwifterSwift/compare/6.0.0...6.1.0)

##### Deprecated

- **UIImageView**
- `blurred(withStyle:)` should have copied the image view and blurred
the new instance, but instead it performed the same functionality as
`blur(withStyle:)`, making the outcome unexpected as well as being
obsolete.
[#&#8203;1161](https://redirect.github.com/SwifterSwift/SwifterSwift/pull/1161)
by [guykogus](https://redirect.github.com/guykogus)

##### Added

- **Swift Package Manager**
- Added a privacy manifest to comply with Apple's requirements regarding
[Describing use of required reason
API](https://developer.apple.com/documentation/bundleresources/privacy_manifest_files/describing_use_of_required_reason_api).
[#&#8203;1176](https://redirect.github.com/SwifterSwift/SwifterSwift/pull/1176)
by [guykogus](https://redirect.github.com/guykogus)
- **Measurement**
- Added `+=`, `-=`, `*=`, `/=` to add, subtract, multiply and divide
measurements.
[#&#8203;1162](https://redirect.github.com/SwifterSwift/SwifterSwift/pull/1162)
by [Roman Podymov](https://redirect.github.com/RomanPodymov)
- **Sequence**
- Added `product()` for calculating the product of all `Numeric`
elements.
[#&#8203;1168](https://redirect.github.com/SwifterSwift/SwifterSwift/pull/1168)
by [MartonioJunior](https://redirect.github.com/MartonioJunior)
- Added `product(for:)` for calculating the product of the `Numeric`
property for all elements in `Sequence`.
[#&#8203;1168](https://redirect.github.com/SwifterSwift/SwifterSwift/pull/1168)
by [MartonioJunior](https://redirect.github.com/MartonioJunior)
- **UIView**
- Added `removeBlur()` method for removing the applied blur effect from
the view.
[#&#8203;1159](https://redirect.github.com/SwifterSwift/SwifterSwift/pull/1159)
by [regi93](https://redirect.github.com/regi93)
- Added `makeCircle(diameter:)` method to make the view circular.
[#&#8203;1165](https://redirect.github.com/SwifterSwift/SwifterSwift/pull/1165)
by [happyduck-git](https://redirect.github.com/happyduck-git)

##### Fixed

- **UIImageView**
- Moved `blur(withStyle:)` from `UIImageView` to `UIView`, as it can be
performed on all views.
[#&#8203;1161](https://redirect.github.com/SwifterSwift/SwifterSwift/pull/1161)
by [guykogus](https://redirect.github.com/guykogus)
- **UIView**
- `GradientDirection` initializer and constants had access level
`internal` instead of `public`.
[#&#8203;1152](https://redirect.github.com/SwifterSwift/SwifterSwift/pull/1152)
by [guykogus](https://redirect.github.com/guykogus)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/toeverything/AFFiNE).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MC42MC4xIiwidXBkYXRlZEluVmVyIjoiNDEuMTMxLjkiLCJ0YXJnZXRCcmFuY2giOiJjYW5hcnkiLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIl19-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-30 17:41:45 +00:00
EYHN
4b3ebd899b feat(ios): update js subscription api (#13678)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- New Features
- Added on-demand subscription refresh and state retrieval in the iOS
app, enabling up-to-date subscription status and billing information.
- Exposed lightweight runtime APIs to check and update subscription
state for improved account visibility.

- Chores
- Integrated shared GraphQL package and project references to support
subscription operations.
- Updated workspace configuration to include the common GraphQL module
for the iOS app.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-09-30 03:12:51 +00:00
Lakr
8df7353722 chore(ios): iap paywall update (#13669)
This pull request introduces several improvements and refactors to the
iOS frontend, with a focus on the paywall system, configuration, and
developer experience. The most significant changes include dynamic
pricing updates for subscription packages, the introduction of a
centralized pricing configuration, and enhanced developer documentation
and settings for Claude Code. There are also minor fixes and
improvements to restore purchase flows, App Store syncing, and protocol
usage guidance.

**Paywall System Improvements**

* Subscription package pricing and display is now dynamically updated
based on App Store data, ensuring users see accurate, localized pricing
and descriptions. This includes new logic for calculating monthly prices
and updating package button text. (`ViewModel.swift`,
`ViewModel+Action.swift`, `SKUnit+Pro.swift`, `SKUnit+AI.swift`)
[[1]](diffhunk://#diff-cb192a424400265435cb06d86b204aa17b4e8195d9dd811580f51faeda211ff0R83-R160)
[[2]](diffhunk://#diff-cb192a424400265435cb06d86b204aa17b4e8195d9dd811580f51faeda211ff0L102-R199)
[[3]](diffhunk://#diff-df2cb61867b4ff10dee98d534cf3c94fe8d48ebaef3f219450a9fba26725fdcbL58-R73)
[[4]](diffhunk://#diff-df2cb61867b4ff10dee98d534cf3c94fe8d48ebaef3f219450a9fba26725fdcbL74-R94)
[[5]](diffhunk://#diff-ea535c02550f727587e74521da8fd90dec23cbe3c685f9c4aa4923ce0bbdb363L19-R35)
[[6]](diffhunk://#diff-a5fef660f959bbb52ce3f19bba8bfbd0bb00d66c9f18a20a998101b5df6c8f60L18-R22)
* Introduced a new `PricingConfiguration.swift` file to centralize
product identifiers, default selections, and display strings for
subscription products, improving maintainability and consistency.
(`PricingConfiguration.swift`, `SKUnit+Pro.swift`, `SKUnit+AI.swift`)
[[1]](diffhunk://#diff-de4566ecd5bd29f36737ae5e5904345bd1a5c8f0a73140c3ebba41856bae3e86R1-R54)
[[2]](diffhunk://#diff-ea535c02550f727587e74521da8fd90dec23cbe3c685f9c4aa4923ce0bbdb363L19-R35)
[[3]](diffhunk://#diff-a5fef660f959bbb52ce3f19bba8bfbd0bb00d66c9f18a20a998101b5df6c8f60L18-R22)

**Developer Experience and Documentation**

* Added `AGENTS.md` to provide comprehensive guidance for Claude Code
and developers, including project overview, build commands,
architecture, native bridge APIs, Swift code style, and dependencies.
(`AGENTS.md`)
* Added a local settings file (`settings.local.json`) to configure
permissions for Claude Code, allowing specific Bash commands for iOS
builds. (`settings.local.json`)
* Updated Swift architecture guidelines to discourage protocol-oriented
design unless necessary, favoring dependency injection and composition.
(`AGENTS.md`)

**User Experience Improvements**

* The purchase footer now includes an underline for "Restore Purchase"
and a clear message about subscription auto-renewal and cancellation
flexibility. (`PurchaseFooterView.swift`)
* Improved restore purchase and App Store sync logic to better handle
user sign-in prompts and error handling. (`ViewModel+Action.swift`,
`Store.swift`)
[[1]](diffhunk://#diff-df2cb61867b4ff10dee98d534cf3c94fe8d48ebaef3f219450a9fba26725fdcbL45-R49)
[[2]](diffhunk://#diff-df2cb61867b4ff10dee98d534cf3c94fe8d48ebaef3f219450a9fba26725fdcbL58-R73)
[[3]](diffhunk://#diff-9f18fbbf15591c56380ce46358089c663ce4440f596db8577de76dc6cd306b54R26-R28)

**Minor Fixes and Refactoring**

* Made `docId` in `DeleteSessionInput` optional to match GraphQL schema
expectations. (`DeleteSessionInput.graphql.swift`)
[[1]](diffhunk://#diff-347e5828e46f435d7d7090a3e3eb7445af8c616f663e8711cd832f385f870a9bL14-R14)
[[2]](diffhunk://#diff-347e5828e46f435d7d7090a3e3eb7445af8c616f663e8711cd832f385f870a9bL25-R25)
* Minor formatting and dependency list updates in `Package.swift`.
(`Package.swift`)
* Fixed concurrency usage in event streaming for chat manager.
(`ChatManager+Stream.swift`)

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* New Features
* Paywall options now dynamically reflect product data with clearer
labels and monthly price calculations.
* Added an auto‑renewal note (“cancel anytime”) and underlined “Restore
Purchase” for better clarity.

* Refactor
* Improved purchase/restore flow reliability and UI updates for a
smoother experience.

* Documentation
* Added a comprehensive development guide and updated architecture/style
guidance for iOS.

* Chores
* Introduced local build permissions configuration for iOS development.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-09-29 09:18:47 +00:00
Lakr
8d6f7047c2 fix(ios): build project (#13656)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- New Features
- Access Tokens screen now shows revealed access tokens, including the
token value where available.

- Chores
  - Updated iOS Paywall package to use Swift tools version 5.9.
  - Removed an unused internal iOS package to streamline the app.
- Aligned access token data model to the latest backend schema for
improved consistency.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-09-26 10:10:30 +00:00
EYHN
54498df247 feat(ios): upgrade button in setting (#13645)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- New Features
- Added a Subscription section in Mobile Settings (for signed-in users)
with plan info and an Upgrade button that opens the native paywall.
  - Supports showing “Pro” and “AI” paywalls.
  - Integrated native paywall provider on iOS.

- Style
- Introduced new styling for the subscription card, content, and button.

- Localization
- Added English strings for subscription title, description, and button.

- Chores
- Minor iOS project cleanup and internal wiring to enable the paywall
module.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-09-26 06:27:45 +00:00
Lakr
7a90e1551c fix(ios): complete iap user interface (#13639)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- New Features
- In-app purchases fully integrated for Pro and AI plans with restore,
live product loading, and StoreKit test configuration.

- Improvements
- Refreshed paywall: intro animation, delayed close button, smoother
horizontal paging, page dots interaction, per-item reveal animations,
and purchase-state UI (disabled/checked when owned).

- Changes
- "Believer" plan and related screens removed; Pro simplified to Monthly
and Annual offerings.

- Chores
- iOS project and build settings updated for newer toolchain and
StoreKit support.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2025-09-25 04:50:12 +00:00
Cats Juice
ca9811792d feat(component): emoji and icon picker (#13638)
![CleanShot 2025-09-23 at 17 11
13](https://github.com/user-attachments/assets/0a4a9d09-1149-4042-bc73-e068a428f335)


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- Icon Picker added with Emoji and Icon panels, search/filtering, recent
selections, color selection, skin tone options, and smooth group
navigation.

- **Documentation**
  - Storybook example added to preview and test the Icon Picker.

- **Chores**
  - Bumped icon library dependency to a newer minor version.
  - Added emoji data dependency to support the Emoji Picker.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-09-24 07:14:54 +00:00
Lakr
75a6c79b2c fix(ios): crash at swift runtime error (#13635)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Fetch copilot model options per prompt (default, optional, pro) with
generated GraphQL query and schema types.

* **Chores**
* Upgraded iOS deps: Apollo iOS 1.23.0, EventSource 0.1.5, Swift
Collections 1.2.1.
* Switched Intelligents to static linking and updated project
integration.
* Parameterized and standardized GraphQL codegen tooling; setup
automation now syncs versions and safely backs up/restores custom
scalars.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-09-23 05:56:08 +00:00
renovate[bot]
ebf75e4d31 chore: bump up apollographql/apollo-ios version to v1.23.0 (#13623)
Coming soon: The Renovate bot (GitHub App) will be renamed to Mend. PRs
from Renovate will soon appear from 'Mend'. Learn more
[here](https://redirect.github.com/renovatebot/renovate/discussions/37842).

This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
|
[apollographql/apollo-ios](https://redirect.github.com/apollographql/apollo-ios)
| minor | `from: "1.22.0"` -> `from: "1.23.0"` |
|
[apollographql/apollo-ios](https://redirect.github.com/apollographql/apollo-ios)
| minor | `1.22.0` -> `1.23.0` |

---

### Release Notes

<details>
<summary>apollographql/apollo-ios (apollographql/apollo-ios)</summary>

###
[`v1.23.0`](https://redirect.github.com/apollographql/apollo-ios/blob/HEAD/CHANGELOG.md#v1230)

[Compare
Source](https://redirect.github.com/apollographql/apollo-ios/compare/1.22.0...1.23.0)

##### New

- **Added `requireNonOptionalMockFields` flag to
`ApolloCodegenConfiguration.OutputOptions`.
([#&#8203;669](https://redirect.github.com/apollographql/apollo-ios-dev/pull/669)):**
Added new flag to codegen output options to allow having non-optional
fields in the test mocks if desired. *Thank you to
[@&#8203;dwroth](https://redirect.github.com/dwroth) for the
contribution.*

##### Improvement

- **Added public initializer to `DatabaseRow`.
([#&#8203;664](https://redirect.github.com/apollographql/apollo-ios-dev/pull/664)):**
Not having a public initializer on `DatabasRow` was hindering the
ability to create custom `SQLiteDatabase` implementations. This solves
that by adding a public initializer to `DatabaseRow`.*Thank you to
[@&#8203;ChrisLaganiere](https://redirect.github.com/ChrisLaganiere) for
the contribution.*

##### Fixed

- **Unncessary deprecation warning in codegen options initializer.
([#&#8203;3563](https://redirect.github.com/apollographql/apollo-ios/issues/3563)):**
Added `@_disfavoredOverload` to the deprecated initialized in
`ApolloCodegenConfiguration` to prevent possible warnings caused by the
compiler selecting a deprecated initializer versus the new/current
initializer. See PR
[#&#8203;682](https://redirect.github.com/apollographql/apollo-ios-dev/pull/682).
*Thank you to
[@&#8203;CraigSiemens](https://redirect.github.com/CraigSiemens) for
raising the issue.*

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these
updates again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/toeverything/AFFiNE).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS45Ny4xMCIsInVwZGF0ZWRJblZlciI6IjQxLjk3LjEwIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-21 18:35:24 +00:00
renovate[bot]
21bb8142b0 chore: bump up Recouse/EventSource version to from: "0.1.5" (#13620)
Coming soon: The Renovate bot (GitHub App) will be renamed to Mend. PRs
from Renovate will soon appear from 'Mend'. Learn more
[here](https://redirect.github.com/renovatebot/renovate/discussions/37842).

This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [Recouse/EventSource](https://redirect.github.com/Recouse/EventSource)
| patch | `from: "0.1.4"` -> `from: "0.1.5"` |

---

### Release Notes

<details>
<summary>Recouse/EventSource (Recouse/EventSource)</summary>

###
[`v0.1.5`](https://redirect.github.com/Recouse/EventSource/releases/tag/0.1.5)

[Compare
Source](https://redirect.github.com/Recouse/EventSource/compare/0.1.4...0.1.5)

#### What's Changed

- Fix potential data corruption by
[@&#8203;Recouse](https://redirect.github.com/Recouse) in
[#&#8203;30](https://redirect.github.com/Recouse/EventSource/pull/30)
- Concurrency improvements by
[@&#8203;Recouse](https://redirect.github.com/Recouse) in
[#&#8203;31](https://redirect.github.com/Recouse/EventSource/pull/31)
- Update EventParser.swift to Support CR LF by
[@&#8203;Lakr233](https://redirect.github.com/Lakr233) in
[#&#8203;28](https://redirect.github.com/Recouse/EventSource/pull/28)

#### New Contributors

- [@&#8203;Lakr233](https://redirect.github.com/Lakr233) made their
first contribution in
[#&#8203;28](https://redirect.github.com/Recouse/EventSource/pull/28)

**Full Changelog**:
<https://github.com/Recouse/EventSource/compare/0.1.4...0.1.5>

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/toeverything/AFFiNE).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS45Ny4xMCIsInVwZGF0ZWRJblZlciI6IjQxLjk3LjEwIiwidGFyZ2V0QnJhbmNoIjoiY2FuYXJ5IiwibGFiZWxzIjpbImRlcGVuZGVuY2llcyJdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-21 14:54:00 +00:00
renovate[bot]
19bd29e90c chore: bump up apple/swift-collections version to from: "1.2.1" (#13535)
Coming soon: The Renovate bot (GitHub App) will be renamed to Mend. PRs
from Renovate will soon appear from 'Mend'. Learn more
[here](https://redirect.github.com/renovatebot/renovate/discussions/37842).

This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
|
[apple/swift-collections](https://redirect.github.com/apple/swift-collections)
| patch | `from: "1.2.0"` -> `from: "1.2.1"` |

---

### Release Notes

<details>
<summary>apple/swift-collections (apple/swift-collections)</summary>

###
[`v1.2.1`](https://redirect.github.com/apple/swift-collections/releases/tag/1.2.1):
Swift Collections 1.2.1

[Compare
Source](https://redirect.github.com/apple/swift-collections/compare/1.2.0...1.2.1)

This is a patch release with the following minor improvements:

- `BigString` sometimes miscounted distances in its character view,
resulting in an invalid collection conformance. This is now fixed.
([#&#8203;485](https://redirect.github.com/apple/swift-collections/issues/485))
- `BigString`'s Unicode Scalar and character views now make better use
of known lengths of the text chunks stored in the tree, resulting in
significantly improved performance for their distance measurements.
([#&#8203;486](https://redirect.github.com/apple/swift-collections/issues/486))
- The Foundation-specific toolchain configuration was updated to include
the Deque type.
([#&#8203;496](https://redirect.github.com/apple/swift-collections/issues/496))

#### What's Changed

- \[BigString] Fix character indexing operations by
[@&#8203;lorentey](https://redirect.github.com/lorentey) in
[#&#8203;485](https://redirect.github.com/apple/swift-collections/pull/485)
- \[BigString] Harvest some low-hanging performance fruit by
[@&#8203;lorentey](https://redirect.github.com/lorentey) in
[#&#8203;486](https://redirect.github.com/apple/swift-collections/pull/486)
- Include DequeModule in the Foundation toolchain build by
[@&#8203;cthielen](https://redirect.github.com/cthielen) in
[#&#8203;496](https://redirect.github.com/apple/swift-collections/pull/496)

**Full Changelog**:
<https://github.com/apple/swift-collections/compare/1.2.0...1.2.1>

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/toeverything/AFFiNE).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS44Mi43IiwidXBkYXRlZEluVmVyIjoiNDEuOTcuMTAiLCJ0YXJnZXRCcmFuY2giOiJjYW5hcnkiLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIl19-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-21 14:22:59 +00:00
Lakr
360c9545f4 feat(ios): [IAP] Paywall Initial Commit (#13609)
Requires https://github.com/toeverything/AFFiNE/pull/13606 to be merged.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- New Features
- Introduced an in-app Paywall with Pro, AI, and Believer plans, feature
previews, paging dots, and selectable pricing options.
- Added purchase and restore actions, plus a unified, polished UI using
new color/icon resources.

- Documentation
  - Added Swift Code Style Guidelines.

- Chores
- Updated dependencies (including MarkdownView 3.4.2), added new
resource packages, and removed an unused dependency.
  - Raised iOS deployment target to 16.5 and refreshed project settings.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: DarkSky <25152247+darkskygit@users.noreply.github.com>
2025-09-19 11:01:46 +00:00
Lakr
1f228382c2 chore: fix building the app (#13606)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- New Features
  - Built-in Then-style DSL for fluent configuration.
- Centralized theming via a new resources library exposing standardized
colors and icons for SwiftUI and UIKit.

- Refactor
  - Migrated color and icon accessors to the new resources provider.
  - Removed redundant imports and streamlined UI configuration.

- Dependencies
  - Updated MarkdownView to 3.4.2.
- Removed the Then third-party dependency; updated package sources;
added resources package and assets.

- Documentation
  - Added iOS Swift code style and architecture guidelines.

- Chores
  - Updated Xcode project format and repository ignore rules.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-09-19 06:05:05 +00:00
EYHN
89646869e4 feat(ios): create paywall api (#13602)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- New Features
- Introduced a new iOS Paywall plugin with a simple API to display a
paywall and receive a success response.
  - Added JavaScript wrapper and type definitions for easy integration.

- Refactor
  - Reorganized the iOS project structure for plugins.

- Chores
- Removed unused legacy iOS plugins to streamline the app and reduce
build complexity.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-09-18 03:47:28 +00:00
Lakr
531fbf0eed fix: 🚑 replace problematic attachment count (#13416)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Bug Fixes**
* Improved attachment handling in chat by updating the way attachments
are counted, ensuring only files and images are included. Document
attachments are no longer counted in this process.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-08-06 09:37:37 +08:00
Lakr
d398aa9a71 chore: added mime-type in gql (#13414)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Improved file and image attachment handling by including MIME type
information for uploads.
* Added a new query to fetch document summaries by workspace and
document IDs.

* **Refactor**
* Minor adjustments to method signatures and property initializations to
streamline code and maintain consistency.
* Updated access levels for certain properties and methods to internal,
enhancing encapsulation.

* **Style**
  * Formatting and whitespace clean-up for improved code readability.

No changes to user-facing functionality or behavior.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-08-05 08:10:40 +00:00
DarkSky
0fcb4cb0fe feat(server): scenario mapping (#13404)
fix AI-404

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Introduced scenario-based configuration for copilot, allowing default
model assignments for various AI use cases.
  * Added a new image generation model to the available options.

* **Improvements**
* Refined copilot provider settings by removing deprecated fallback
options and standardizing base URL configuration.
* Enhanced prompt management to support scenario-driven updates and
improved configuration handling.
* Updated admin and settings interfaces to support new scenario
configurations.

* **Bug Fixes**
* Removed deprecated or unused prompts and related references across
platforms for consistency.

* **Other**
* Improved test coverage and updated test assets to reflect prompt and
scenario changes.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-08-04 09:50:38 +00:00
Lakr
1661ab1790 feat: fix several view model issue (#13388)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **New Features**
* Error messages in chat cells are now clearly displayed with improved
formatting and dynamic height adjustment for better readability.
* Introduced the ability to remove specific chat cell view models from a
session.

* **Bug Fixes**
* Enhanced error handling to automatically remove invalid chat cell view
models when a message creation fails.

* **Other Improvements**
* Improved internal logic for handling message attachments and added
more detailed debug logging for the copilot response lifecycle.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-08-01 07:24:33 +00:00
Lakr
19790c1b9e feat: update MarkdownView render (#13387)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **New Features**
* Introduced support for managing context blobs, including adding and
removing blobs within contexts.
  * Added the ability to generate and revoke user access tokens.
  * Implemented queries to list user access tokens and context blobs.

* **Improvements**
* Enhanced context object queries to include blobs and updated related
data structures.
* Updated type references for improved schema alignment and consistency.

* **Bug Fixes**
* Removed obsolete or incorrect error fields from certain context and
document queries.

* **Chores**
  * Upgraded the MarkdownView dependency to version 3.4.1.
  * Updated internal type names for better clarity and maintainability.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-08-01 04:38:10 +00:00
L-Sun
4e1f047cf2 refactor(editor): always show keyboard toolbar in mobile (#13384)
Close
[AF-2756](https://linear.app/affine-design/issue/AF-2756/激活输入区的时候,展示toolbar,适配不弹虚拟键盘的场景,比如实体键盘)

#### PR Dependency Tree


* **PR #13384** 👈

This tree was auto-generated by
[Charcoal](https://github.com/danerwilliams/charcoal)

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Improved virtual keyboard handling by introducing static keyboard
height and app tab safe area tracking for more consistent toolbar
behavior.

* **Bug Fixes**
* Enhanced keyboard visibility detection on Android and iOS, especially
when a physical keyboard is connected.

* **Refactor**
* Simplified and streamlined keyboard toolbar logic, including delayed
panel closing and refined height calculations.
* Removed unused or redundant toolbar closing methods and position
management logic.

* **Style**
* Updated toolbar and panel styles for better positioning and layout
consistency.
  * Adjusted and removed certain mobile-specific padding styles.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->


#### PR Dependency Tree


* **PR #13384** 👈

This tree was auto-generated by
[Charcoal](https://github.com/danerwilliams/charcoal)
2025-08-01 01:58:19 +00:00
Lakr
4586e4a18f feat: adopt new backend api for attachment (#13336)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **New Features**
* Introduced a new query for applying document updates using AI,
allowing merged markdown responses.
* Added support for an optional file upload field when creating chat
messages.

* **Improvements**
* Enhanced recent Copilot sessions query with pagination by adding an
offset parameter.
* Refined attachment handling in chat responses to better distinguish
between single and multiple file uploads, improving reliability.

* **Bug Fixes**
  * Minor update to error handling for clearer messaging.

* **Chores**
* Cleaned up and updated iOS project configuration files for improved
build consistency.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-28 07:23:03 +00:00
EYHN
43f8d852d8 feat(ios): ai button feature flag (#13280)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **New Features**
  * Added a global API to check the AI button feature flag status.

* **Bug Fixes**
* Improved handling for the AI button feature: the app now checks the
feature flag before proceeding and provides a clear error if the feature
is disabled.

* **Refactor**
  * Removed all AI button presentation and dismissal logic from the app.
* Deleted unused plugin interfaces and registration related to the AI
button feature.

* **Chores**
  * Updated project metadata and build configuration for iOS.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-21 10:07:32 +00:00
EYHN
436d5e5079 fix(core): allow mobile connect selfhost without https (#13279)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Chores**
* Updated Android and iOS app configurations to allow non-HTTPS
(cleartext) network traffic.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-21 05:57:25 +00:00
Lakr
b7c026bbe8 feat: ai now working again (#13196)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **New Features**
* Added support for displaying title and summary fields in workspace
pages.
* Introduced a menu in the chat header with a "Clear History" option to
remove chat history.

* **Improvements**
* Enhanced chat message handling with asynchronous context preparation
and improved markdown processing.
* Simplified chat input and assistant message rendering for better
performance and maintainability.
* Updated dependency versions for improved stability and compatibility.

* **Bug Fixes**
* Ensured chat features are available in all build configurations, not
just debug mode.

* **Chores**
* Removed unused dependencies and internal code, and disabled certain
function bar options.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-21 02:49:20 +00:00
EYHN
38d8dde6b8 chore(ios): fix ios version (#13130)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **New Features**
* Added support for specifying a custom iOS App Store version during
release workflows.

* **Chores**
  * Updated the iOS app's marketing version to 0.23.1.
  * Upgraded the iOS workflow runner to macOS 15 and Xcode 16.4.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-10 04:18:33 +00:00
Lakr
ecea7bd825 fix: 🚑 compiler issue (#13114) 2025-07-09 10:18:04 +00:00