Commit Graph

519 Commits

Author SHA1 Message Date
DarkSky bcf2a51d41 feat(native): record encoding (#14188)
fix #13784 

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

* **New Features**
* Start/stop system or meeting recordings with Ogg/Opus artifacts and
native start/stop APIs; workspace backup recovery.

* **Refactor**
* Simplified recording lifecycle and UI flows; native runtime now
orchestrates recording/processing and reporting.

* **Bug Fixes**
* Stronger path validation, safer import/export dialogs, consistent
error handling/logging, and retry-safe recording processing.

* **Chores**
* Added cross-platform native audio capture and Ogg/Opus encoding
support.

* **Tests**
* New unit, integration, and e2e tests for recording, path guards,
dialogs, and workspace recovery.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-03-22 02:50:14 +08:00
DarkSky 7ac8b14b65 feat(editor): migrate typst mermaid to native (#14499)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Native/WASM Mermaid and Typst SVG preview rendering on desktop and
mobile, plus cross-platform Preview plugin integrations.

* **Improvements**
* Centralized, sanitized rendering bridge with automatic Typst
font-directory handling and configurable native renderer selection.
* More consistent and robust error serialization and worker-backed
preview flows for improved stability and performance.

* **Tests**
* Extensive unit and integration tests for preview rendering, font
discovery, sanitization, and error serialization.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-03-20 04:04:40 +08:00
DarkSky 1ffb8c922c fix(native): cleanup deleted docs and blobs (#14689) 2026-03-20 04:00:25 +08:00
DarkSky d6d5ae6182 fix(electron): create doc shortcut should follow default type in settings (#14678) 2026-03-18 14:58:22 +08:00
renovate[bot] 8f03090780 chore: bump up Lakr233/MarkdownView version to from: "3.8.2" (#14658)
This PR contains the following updates:

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

---

### Release Notes

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

###
[`v3.8.2`](https://redirect.github.com/Lakr233/MarkdownView/compare/3.8.1...3.8.2)

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

###
[`v3.8.1`](https://redirect.github.com/Lakr233/MarkdownView/compare/3.8.0...3.8.1)

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

###
[`v3.8.0`](https://redirect.github.com/Lakr233/MarkdownView/compare/3.7.0...3.8.0)

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

###
[`v3.7.0`](https://redirect.github.com/Lakr233/MarkdownView/compare/3.6.3...3.7.0)

[Compare
Source](https://redirect.github.com/Lakr233/MarkdownView/compare/3.6.3...3.7.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:eyJjcmVhdGVkSW5WZXIiOiI0My42Ni40IiwidXBkYXRlZEluVmVyIjoiNDMuNjYuNCIsInRhcmdldEJyYW5jaCI6ImNhbmFyeSIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-16 00:57:48 +08:00
renovate[bot] 8125cc0e75 chore: bump up Lakr233/ListViewKit version to from: "1.2.0" (#14617)
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [Lakr233/ListViewKit](https://redirect.github.com/Lakr233/ListViewKit)
| minor | `from: "1.1.8"` → `from: "1.2.0"` |

---

### Release Notes

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

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

[Compare
Source](https://redirect.github.com/Lakr233/ListViewKit/compare/1.1.8...1.2.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:eyJjcmVhdGVkSW5WZXIiOiI0My41OS4wIiwidXBkYXRlZEluVmVyIjoiNDMuNTkuMCIsInRhcmdldEJyYW5jaCI6ImNhbmFyeSIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-14 23:45:32 +08:00
renovate[bot] 02744cec00 chore: bump up apple/swift-collections version to from: "1.4.0" (#14616)
This PR contains the following updates:

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

---

### Release Notes

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

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

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

This feature release supports Swift toolchain versions 6.0, 6.1 and 6.2.
It includes a variety of bug fixes, and ships the following new
features:

##### New ownership-aware ring buffer and hashed container
implementations

In the `DequeModule` module, we have two new source-stable types that
provide ownership-aware ring buffer implementations:

- [`struct UniqueDeque<Element>`][UniqueDeque] is a uniquely held,
dynamically resizing, noncopyable deque.
- [`struct RigidDeque<Element>`][RigidDeque] is a fixed-capacity deque
implementation.

`RigidDeque`/`UniqueDeque` are to `Deque` like
`RigidArray`/`UniqueArray` are to `Array` -- they provide noncopyable
embodiments of the same basic data structure, with many of the same
operations.

[UniqueDeque]:
https://swiftpackageindex.com/apple/swift-collections/documentation/dequemodule/uniquedeque

[RigidDeque]:
https://swiftpackageindex.com/apple/swift-collections/documentation/dequemodule/rigiddeque

In the `BasicContainers` module, this release adds previews of four new
types, implementing ownership-aware hashed containers:

- [`struct UniqueSet<Element>`][UniqueSet] is a uniquely held,
dynamically resizing set.
- [`struct RigidSet<Element>`][RigidSet] is a fixed-capacity set.
- [`struct UniqueDictionary<Key, Value>`][UniqueDictionary] is a
uniquely held, dynamically resizing dictionary.
- [`struct RigidDictionary<Key, Value>`][RigidDictionary] is a
fixed-capacity dictionary.

[RigidSet]:
https://redirect.github.com/apple/swift-collections/tree/main/Sources/BasicContainers/RigidSet

[UniqueSet]:
https://redirect.github.com/apple/swift-collections/tree/main/Sources/BasicContainers/UniqueSet

[RigidDictionary]:
https://redirect.github.com/apple/swift-collections/tree/main/Sources/BasicContainers/RigidDictionary

[UniqueDictionary]:
https://redirect.github.com/apple/swift-collections/tree/main/Sources/BasicContainers/UniqueDictionary

These are direct analogues of the standard `Set` and `Dictionary` types.
These types are built on top of the `Equatable` and `Hashable` protocol
generalizations that were proposed in [SE-0499]; as that proposal is not
yet implemented in any shipping toolchain, these new types are shipping
as source-unstable previews, conditional on a new
`UnstableHashedContainers` package trait. The final API of these types
will also deeply depend on the `struct Borrow` and `struct Inout`
proposals (and potentially other language/stdlib improvements) that are
currently working their way through the Swift Evolution process.
Accordingly, we may need to make source-breaking changes to the
interfaces of these types -- they are not ready to be blessed as Public
API. However, we encourage intrepid engineers to try them on for size,
and report pain points. (Of which we expect there will be many in this
first preview.)

[SE-0499]:
https://redirect.github.com/swiftlang/swift-evolution/blob/main/proposals/0499-support-non-copyable-simple-protocols.md

We continue the pattern of `Rigid-` and `Unique-` naming prefixes with
these new types:

- The `Unique` types (`UniqueArray`, `UniqueDeque`, `UniqueSet`,
`UniqueDictionary` etc.) are dynamically self-sizing containers that
automatically reallocate their storage as needed to best accommodate
their contents; the `Unique` prefix was chosen to highlight that these
types are always uniquely held, avoiding the complications of mutating
shared copies.
- The `Rigid` types remove dynamic sizing, and they operate strictly
within an explicitly configured capacity. Dynamic sizing is not always
appropriate -- when targeting space- or time-constrained environments
(think embedded use cases or real-time work), it is preferable to avoid
implicit reallocations, and to instead choose to have explicit control
over when (and if) storage is reallocated, and to what size. This is
where the `Rigid` types come in: their instances are created with a
specific capacity and it is a runtime error to exceed that. This makes
them quite inflexible (hence the "rigid" qualifier), but in exchange,
their operations provide far stricter complexity guarantees: they
exhibit no random runtime latency spikes, and they can trivially fit in
strict memory budgets.

##### Early drafts of borrowing sequence, generative iteration and
container protocols

This release includes highly experimental but *working* implementations
of new protocols supplying ownership-aware alternatives to the classic
`Sequence`/`Collection` protocol hierarchy. These protocols and the
generic operations built on top of them can be turned on by enabling the
`UnstableContainersPreview` package trait.

- [`protocol BorrowingSequence<Element>`][BorrowingSequence] models
borrowing sequences with ephemeral lifetimes. (This is already
progressing through Swift Evolution.)
- [`protocol Container<Element>`][Container] models constructs that
physically store their contents, and can expose stable spans over them.
- [`protocol Producer<Element, ProducerError>`][Producer] models a
generative iterator -- a construct that generates items demand.
- [`protocol Drain<Element>`][Drain] refines `Producer` to model an
in-place consumable elements -- primarily for use around container
types.

[BorrowingSequence]:
https://redirect.github.com/apple/swift-collections/blob/main/Sources/ContainersPreview/Protocols/BorrowingSequence.swift

[BorrowingIteratorProtocol]:
https://redirect.github.com/apple/swift-collections/blob/main/Sources/ContainersPreview/Protocols/BorrowingIteratorProtocol.swift

[Container]:
https://redirect.github.com/apple/swift-collections/blob/main/Sources/ContainersPreview/Protocols/Container.swift

[Producer]:
https://redirect.github.com/apple/swift-collections/blob/main/Sources/ContainersPreview/Protocols/Producer.swift

[Drain]:
https://redirect.github.com/apple/swift-collections/blob/main/Sources/ContainersPreview/Protocols/Drain.swift

In this version, the package has developed these protocols just enough
to implement basic generic operations for moving data between containers
like `UniqueArray` and `RigidDeque`. As we gain experience using these,
future releases may start adding basic generic algorithms, more
protocols (bidirectional, random-access, (per)mutable, range-replaceable
containers etc.) convenience adapters, and other features -- or we may
end up entirely overhauling or simply discarding some/all of them.
Accordingly, the experimental interfaces enabled by
`UnstableContainersPreview` are not source stable, and they are not
intended for production use. We expect the eventual production version
of these (or whatever designs they evolve into) to ship in the Swift
Standard Library. We do highly recommend interested folks to try playing
with these, to get a feel for the strange problems of Ownership.

Besides these protocols, the package also defines rudimentary
substitutes of some basic primitives that belong in the Standard
Library:

- [`struct InputSpan<Element>`][InputSpan] the dual of `OutputSpan` --
while `OutputSpan` is primarily for moving items *into* somebody else's
storage, `InputSpan` enables safely moving items *out of* storage.
- [`struct Borrow<Target>`][Borrow] represents a borrowing reference to
an item. (This package models this with a pointer, which is an
ill-fitting substitute for the real implementation in the stdlib.)
- [`struct Inout<Target>`][Inout] represents a mutating reference to an
item.

[InputSpan]:
https://redirect.github.com/apple/swift-collections/blob/main/Sources/ContainersPreview/Types/InputSpan.swift

[Borrow]:
https://redirect.github.com/apple/swift-collections/blob/main/Sources/ContainersPreview/Types/Borrow.swift

[Inout]:
https://redirect.github.com/apple/swift-collections/blob/main/Sources/ContainersPreview/Types/Inout.swift

##### A formal way to access `SortedSet` and `SortedDictionary` types

The `SortedCollections` module contains (preexisting) early drafts of
two sorted collection types `SortedSet` and `SortedDictionary`, built on
top of an in-memory B-tree implementation. This release defines an
`UnstableSortedCollections` package trait that can be used to enable
building these types for experimentation without manually modifying the
package. Like in previous releases, these implementations remain
unfinished in this release, with known API issues; accordingly, these
types remain unstable. (Issue
[#&#8203;1](https://redirect.github.com/apple/swift-collections/issues/1)
remains open.) Future package releases may change their interface in
ways that break source compatibility, or they may remove these types
altogether.

##### Minor interface-level changes

- The `Collections` module no longer uses the unstable `@_exported
import` feature. Instead, it publishes public typealiases of every type
that it previously reexported from `DequeModule`, `OrderedCollections`,
`BitCollections`, `HeapModule` and `HashTreeCollections`.

- We renamed some `RigidArray`/`UniqueArray` operations to improve their
clarity at the point of use. The old names are still available, but
deprecated.

| Old name | New name |
| ----------------------------------------------- |
------------------------------------------------- |
| `append(count:initializingWith:)` |
`append(addingCount:initializingWith:)` |
| `insert(count:at:initializingWith:)` |
`insert(addingCount:at:initializingWith:)` |
| `replaceSubrange(_:newCount:initializingWith:)` |
`replace(removing:addingCount:initializingWith:)` |
| `replaceSubrange(_:moving:)` | `replace(removing:moving:)` |
| `replaceSubrange(_:copying:)` | `replace(removing:copying:)` |
| `copy()` | `clone()` |
| `copy(capacity:)` | `clone(capacity:)` |

- We have now defined a complete set of `OutputSpan`/`InputSpan`-based
`append`/`insert`/`replace`/`consume` primitives, fully generalized to
be implementable by piecewise contiguous containers. These operations
pave the way for a `Container`-based analogue of the classic
`RangeReplaceableCollection` protocol, with most of the user-facing
operations becoming standard generic algorithms built on top of these
primitives:

  ```
  mutating func append<E: Error>(
      addingCount newItemCount: Int,
initializingWith initializer: (inout OutputSpan<Element>) throws(E) ->
Void
  )

  mutating func insert<E: Error>(
     addingCount newItemCount: Int,
     at index: Int,
initializingWith initializer: (inout OutputSpan<Element>) throws(E) ->
Void
  ) throws(E)

  mutating func replace<E: Error>(
      removing subrange: Range<Int>,
      consumingWith consumer: (inout InputSpan<Element>) -> Void,
      addingCount newItemCount: Int,
initializingWith initializer: (inout OutputSpan<Element>) throws(E) ->
Void
  ) throws(E)

  mutating func consume(
      _ subrange: Range<Int>,
      consumingWith consumer: (inout InputSpan<Element>) -> Void
  )
  ```

- The package no longer uses the code generation tool `gyb`.

#### What's Changed

- Fix links in GitHub templates by
[@&#8203;lorentey](https://redirect.github.com/lorentey) in
[#&#8203;527](https://redirect.github.com/apple/swift-collections/pull/527)
- Adopt `package` access modifier and get rid of gybbing by
[@&#8203;lorentey](https://redirect.github.com/lorentey) in
[#&#8203;526](https://redirect.github.com/apple/swift-collections/pull/526)
- \[Doc] Fix links in landing page by
[@&#8203;Azoy](https://redirect.github.com/Azoy) in
[#&#8203;531](https://redirect.github.com/apple/swift-collections/pull/531)
- \[BigString] Refactor \_Chunk to be its own managed buffer of UTF8 by
[@&#8203;Azoy](https://redirect.github.com/Azoy) in
[#&#8203;488](https://redirect.github.com/apple/swift-collections/pull/488)
- Add new package trait UnstableSortedCollections by
[@&#8203;lorentey](https://redirect.github.com/lorentey) in
[#&#8203;533](https://redirect.github.com/apple/swift-collections/pull/533)
- \[RopeModule] Fix warnings by
[@&#8203;lorentey](https://redirect.github.com/lorentey) in
[#&#8203;534](https://redirect.github.com/apple/swift-collections/pull/534)
- Fix ability to build & test BigString with Xcode & CMake by
[@&#8203;lorentey](https://redirect.github.com/lorentey) in
[#&#8203;537](https://redirect.github.com/apple/swift-collections/pull/537)
- \[BigString] Bring back Index.\_isUTF16TrailingSurrogate by
[@&#8203;Azoy](https://redirect.github.com/Azoy) in
[#&#8203;539](https://redirect.github.com/apple/swift-collections/pull/539)
- chore: restrict GitHub workflow permissions - future-proof by
[@&#8203;incertum](https://redirect.github.com/incertum) in
[#&#8203;540](https://redirect.github.com/apple/swift-collections/pull/540)
- \[BitCollections] Add missing imports for InternalCollectionsUtilities
by [@&#8203;lorentey](https://redirect.github.com/lorentey) in
[#&#8203;554](https://redirect.github.com/apple/swift-collections/pull/554)
- Compare self.value to other, not itself by
[@&#8203;SiliconA-Z](https://redirect.github.com/SiliconA-Z) in
[#&#8203;553](https://redirect.github.com/apple/swift-collections/pull/553)
- Change useFloyd heuristic to match comment by
[@&#8203;SiliconA-Z](https://redirect.github.com/SiliconA-Z) in
[#&#8203;551](https://redirect.github.com/apple/swift-collections/pull/551)
- Typo: symmetric difference should be the xor, not intersection by
[@&#8203;SiliconA-Z](https://redirect.github.com/SiliconA-Z) in
[#&#8203;550](https://redirect.github.com/apple/swift-collections/pull/550)
- first should get the Initialized elements by
[@&#8203;SiliconA-Z](https://redirect.github.com/SiliconA-Z) in
[#&#8203;549](https://redirect.github.com/apple/swift-collections/pull/549)
- Replace Container with a far less powerful (but more universal)
Iterable construct by
[@&#8203;lorentey](https://redirect.github.com/lorentey) in
[#&#8203;543](https://redirect.github.com/apple/swift-collections/pull/543)
- Temporarily stop testing RigidArray & UniqueArray on release/6.3
snapshots on Linux by
[@&#8203;lorentey](https://redirect.github.com/lorentey) in
[#&#8203;562](https://redirect.github.com/apple/swift-collections/pull/562)
- \[RigidArray, HashTrees] Mark deinitializers inlinable by
[@&#8203;lorentey](https://redirect.github.com/lorentey) in
[#&#8203;560](https://redirect.github.com/apple/swift-collections/pull/560)
- GHA: Add weekly dependabot by
[@&#8203;bkhouri](https://redirect.github.com/bkhouri) in
[#&#8203;563](https://redirect.github.com/apple/swift-collections/pull/563)
- Work around temporary issue with current 6.3 snapshots by
[@&#8203;lorentey](https://redirect.github.com/lorentey) in
[#&#8203;565](https://redirect.github.com/apple/swift-collections/pull/565)
- Add `RigidDeque` and `UniqueDeque` by
[@&#8203;lorentey](https://redirect.github.com/lorentey) in
[#&#8203;557](https://redirect.github.com/apple/swift-collections/pull/557)
- \[Collections module] Stop using `@_exported import` by
[@&#8203;lorentey](https://redirect.github.com/lorentey) in
[#&#8203;566](https://redirect.github.com/apple/swift-collections/pull/566)
- Delete stray benchmark results files by
[@&#8203;lorentey](https://redirect.github.com/lorentey) in
[#&#8203;567](https://redirect.github.com/apple/swift-collections/pull/567)
- Assorted `RigidArray`/`UniqueArray` updates by
[@&#8203;lorentey](https://redirect.github.com/lorentey) in
[#&#8203;569](https://redirect.github.com/apple/swift-collections/pull/569)
- `RigidArray`/`UniqueArray`: Add new copying span initializers by
[@&#8203;Azoy](https://redirect.github.com/Azoy) in
[#&#8203;572](https://redirect.github.com/apple/swift-collections/pull/572)
- `RigidDeque`/`UniqueDeque`: Add some top-level documentation by
[@&#8203;lorentey](https://redirect.github.com/lorentey) in
[#&#8203;571](https://redirect.github.com/apple/swift-collections/pull/571)
- Update docs for Container.nextSpan(after:maximumCount:) by
[@&#8203;lorentey](https://redirect.github.com/lorentey) in
[#&#8203;574](https://redirect.github.com/apple/swift-collections/pull/574)
- Remove workaround for bug in OutputSpan.wUMBP by
[@&#8203;lorentey](https://redirect.github.com/lorentey) in
[#&#8203;570](https://redirect.github.com/apple/swift-collections/pull/570)
- \[RigidArray, RigidDeque].nextSpan: Validate `maximumCount` by
[@&#8203;lorentey](https://redirect.github.com/lorentey) in
[#&#8203;575](https://redirect.github.com/apple/swift-collections/pull/575)
- Bump swiftlang/github-workflows/.github/workflows/soundness.yml from
0.0.6 to 0.0.7 by
[@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in
[#&#8203;577](https://redirect.github.com/apple/swift-collections/pull/577)
- give constant folding an opportunity to select a much faster code path
for empty dictionary (and set) literals by
[@&#8203;tayloraswift](https://redirect.github.com/tayloraswift) in
[#&#8203;578](https://redirect.github.com/apple/swift-collections/pull/578)
- Bump
swiftlang/github-workflows/.github/workflows/swift\_package\_test.yml
from 0.0.6 to 0.0.7 by
[@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot] in
[#&#8203;576](https://redirect.github.com/apple/swift-collections/pull/576)
- Ownership-aware Set and Dictionary variants by
[@&#8203;lorentey](https://redirect.github.com/lorentey) in
[#&#8203;573](https://redirect.github.com/apple/swift-collections/pull/573)
- \[Prerelease] Check API for consistency, fill holes, patch
incoherencies by
[@&#8203;lorentey](https://redirect.github.com/lorentey) in
[#&#8203;581](https://redirect.github.com/apple/swift-collections/pull/581)
- \[BitSet] Amend return value of `update(with:)` method by
[@&#8203;benrimmington](https://redirect.github.com/benrimmington) in
[#&#8203;538](https://redirect.github.com/apple/swift-collections/pull/538)
- \[BasicContainers] Fix spelling of a source file by
[@&#8203;lorentey](https://redirect.github.com/lorentey) in
[#&#8203;585](https://redirect.github.com/apple/swift-collections/pull/585)
- Include notes about index mutation in `span(after/before:)` (+ other
doc fixes) by
[@&#8203;natecook1000](https://redirect.github.com/natecook1000) in
[#&#8203;541](https://redirect.github.com/apple/swift-collections/pull/541)
- \[BasicContainers] Finalize requirements for hashed containers by
[@&#8203;lorentey](https://redirect.github.com/lorentey) in
[#&#8203;586](https://redirect.github.com/apple/swift-collections/pull/586)
- Update README for 1.4.0 by
[@&#8203;lorentey](https://redirect.github.com/lorentey) in
[#&#8203;587](https://redirect.github.com/apple/swift-collections/pull/587)
- Working towards the 1.4.0 tag by
[@&#8203;lorentey](https://redirect.github.com/lorentey) in
[#&#8203;588](https://redirect.github.com/apple/swift-collections/pull/588)
- \[BasicContainers] Avoid defining set/dictionary types unless
UnstableHashedContainers is enabled by
[@&#8203;lorentey](https://redirect.github.com/lorentey) in
[#&#8203;589](https://redirect.github.com/apple/swift-collections/pull/589)
- \[BasicContainers] RigidArray: Correct spelling of replacement for
deprecated method by
[@&#8203;lorentey](https://redirect.github.com/lorentey) in
[#&#8203;590](https://redirect.github.com/apple/swift-collections/pull/590)

#### New Contributors

- [@&#8203;incertum](https://redirect.github.com/incertum) made their
first contribution in
[#&#8203;540](https://redirect.github.com/apple/swift-collections/pull/540)
- [@&#8203;SiliconA-Z](https://redirect.github.com/SiliconA-Z) made
their first contribution in
[#&#8203;553](https://redirect.github.com/apple/swift-collections/pull/553)
- [@&#8203;bkhouri](https://redirect.github.com/bkhouri) made their
first contribution in
[#&#8203;563](https://redirect.github.com/apple/swift-collections/pull/563)
- [@&#8203;dependabot](https://redirect.github.com/dependabot)\[bot]
made their first contribution in
[#&#8203;577](https://redirect.github.com/apple/swift-collections/pull/577)
- [@&#8203;tayloraswift](https://redirect.github.com/tayloraswift) made
their first contribution in
[#&#8203;578](https://redirect.github.com/apple/swift-collections/pull/578)
- [@&#8203;benrimmington](https://redirect.github.com/benrimmington)
made their first contribution in
[#&#8203;538](https://redirect.github.com/apple/swift-collections/pull/538)

**Full Changelog**:
<https://github.com/apple/swift-collections/compare/1.3.0...1.4.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:eyJjcmVhdGVkSW5WZXIiOiI0My41OS4wIiwidXBkYXRlZEluVmVyIjoiNDMuNTkuMCIsInRhcmdldEJyYW5jaCI6ImNhbmFyeSIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-09 12:31:54 +00:00
DarkSky f34e25e122 test: migrate test & utils (#14569)
#### PR Dependency Tree


* **PR #14569** 👈

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

* **Chores**
* Upgraded development test tooling to Vitest v4 and added Playwright
browser test integration; normalized test configurations and CI shard
matrix.

* **Tests**
* Added a large suite of new integration tests covering editor flows
(edgeless, database, embeds, images, latex, code, clipboard,
multi-editor, presentation, undo/redo, etc.).
* Removed numerous end-to-end Playwright test suites across the same
feature areas.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-03-07 04:12:27 +08:00
renovate[bot] 2b6146727b chore: bump up RevenueCat/purchases-ios-spm version to from: "5.60.0" (#14545) 2026-03-02 08:48:25 +08:00
renovate[bot] d5245a3273 chore: bump up Recouse/EventSource version to from: "0.1.7" (#14541)
This PR contains the following updates:

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

---

### Release Notes

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

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

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

#### What's Changed

- Separate timeout interval values for request and resource by
[@&#8203;Recouse](https://redirect.github.com/Recouse) in
[#&#8203;46](https://redirect.github.com/Recouse/EventSource/pull/46)

**Full Changelog**:
<https://github.com/Recouse/EventSource/compare/0.1.6...0.1.7>

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

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

#### What's Changed

- Fix visionOS availability error for split(by:) method by
[@&#8203;danielseidl](https://redirect.github.com/danielseidl) in
[#&#8203;45](https://redirect.github.com/Recouse/EventSource/pull/45)

#### New Contributors

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

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

</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:eyJjcmVhdGVkSW5WZXIiOiI0My40My4yIiwidXBkYXRlZEluVmVyIjoiNDMuNDMuMiIsInRhcmdldEJyYW5jaCI6ImNhbmFyeSIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-02 06:26:20 +08:00
renovate[bot] fff63562b1 chore: bump up Lakr233/MarkdownView version to from: "3.6.3" (#14540)
This PR contains the following updates:

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

---

### Release Notes

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

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

[Compare
Source](https://redirect.github.com/Lakr233/MarkdownView/compare/3.6.2...3.6.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.

---

- [ ] <!-- 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:eyJjcmVhdGVkSW5WZXIiOiI0My40My4yIiwidXBkYXRlZEluVmVyIjoiNDMuNDMuMiIsInRhcmdldEJyYW5jaCI6ImNhbmFyeSIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-02 06:26:03 +08:00
DarkSky 2cb171f553 feat: cleanup webpack deps (#14530)
#### PR Dependency Tree


* **PR #14530** 👈

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

* **Breaking Changes**
  * Webpack bundler support removed from the build system
* Bundler selection parameter removed from build and development
commands

* **Refactor**
  * Build configuration consolidated to a single bundler approach
* Webpack-specific build paths and workflows removed; development server
simplified

* **Chores**
  * Removed webpack-related dev dependencies and tooling
  * Updated package build scripts for a unified bundle command

* **Dependencies**
* Upgraded Sentry packages across frontend packages
(react/electron/esbuild plugin)
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-02-28 00:24:08 +08:00
DarkSky bdccf4e9fd fix: typo 2026-02-27 10:20:35 +08:00
donqu1xotevincent 5215c73166 chore(ios): update description (#14522) 2026-02-26 19:49:50 +08:00
DarkSky 046e126054 feat: bump typescript (#14507)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **Chores**
  * Upgraded TypeScript toolchain to v5.9.3 across packages and tooling.
* Removed legacy ts-node and migrated developer tooling to newer
runtimes (tsx/SWC) where applicable.
* **Documentation**
* Updated developer CLI docs and runtime behavior notes to reflect the
new loader/runtime for running TypeScript files; no changes to public
APIs or end-user behavior.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-02-24 13:22:46 +08:00
DarkSky c2c7dde06c chore: bump deps (#14506)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **Chores**
  * Version bumped to 0.26.3 across the project and Helm charts.
  * Removed an unused dependency (minimatch) from multiple packages.
* Updated build/tooling and packaging metadata, including packaging
maker replacement.
  * Adjusted app release metadata and platform packaging config.

* **Tests**
* Updated test snapshots to reflect minor presentational styling
adjustments.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-02-24 09:11:41 +08:00
DarkSky 6d805b302c docs: cleanup outdated infos 2026-02-23 21:03:13 +08:00
DarkSky ef6717e59a fix(editor): editor behavior and styles (#14498)
fix #14269 
fix #13920
fix #13977
fix #13953
fix #13895
fix #13905
fix #14136
fix #14357
fix #14491

#### PR Dependency Tree


* **PR #14498** 👈

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

* **Bug Fixes**
  * Callout and toolbar defaults now reliably show grey backgrounds
  * Keyboard shortcuts behave better across layouts and non-ASCII input
  * Deleted workspaces no longer appear in local listings

* **New Features**
  * Cell editing now respects pre-entry validation hooks
* Scrollbars use themeable variables and include Chromium compatibility
fixes

* **Style**
  * Minor UI color adjustment for hidden properties

* **Tests**
  * Added unit tests for table column handling and keymap behavior
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-02-23 06:37:16 +08:00
DarkSky ad988dbd1e chore: trim useless files for client (#14488)
#### PR Dependency Tree


* **PR #14488** 👈

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

* **Chores**
* Improved Electron build to trim unused locale files on macOS, Windows,
and Linux while always preserving English fallbacks; added post-build
cleanup and stricter packaging ignore rules to exclude tests, examples,
scripts, docs, README, and build metadata.
* **Style**
  * Reformatted a TypeScript type annotation for consistency.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-02-22 17:17:42 +08:00
DarkSky 2414aa5848 feat: improve admin build (#14485)
#### PR Dependency Tree


* **PR #14485** 👈

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

* **Chores**
  * Admin static assets now served under /admin for self-hosted installs
  * CLI is directly executable from the command line
  * Build tooling supports a configurable self-hosted public path
  * Updated admin package script for adding UI components
* Added a PostCSS dependency and plugin to the build toolchain for admin
builds

* **Style**
* Switched queue module to a local queuedash stylesheet, added queuedash
Tailwind layer, and scoped queuedash styles for the admin UI

* **Bug Fixes**
  * Improved error propagation in the Electron renderer
* Migration compatibility to repair a legacy checksum during native
storage upgrades

* **Tests**
  * Added tests covering the migration repair flow
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-02-21 23:25:05 +08:00
DarkSky 0de1bd0da8 feat: bump deps (#14484) 2026-02-21 08:04:18 +08:00
DarkSky 186ec5431d fix: android build 2026-02-21 05:12:12 +08:00
DarkSky c9bffc13b5 feat: improve mobile native impl (#14481)
fix #13529 

#### PR Dependency Tree


* **PR #14481** 👈

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**
* Mobile blob caching with file-backed storage for faster loads and
reduced network usage
* Blob decoding with lazy refresh on token-read failures for improved
reliability
  * Full-text search/indexing exposed to mobile apps
* Document sync APIs and peer clock management for robust cross-device
sync

* **Tests**
* Added unit tests covering payload decoding, cache safety, and
concurrency

* **Dependencies**
* Added an LRU cache dependency and a new mobile-shared package for
shared mobile logic
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-02-21 04:13:24 +08:00
DarkSky 8f833388eb feat: improve admin panel design (#14464) 2026-02-17 17:40:29 +08:00
DarkSky 850e646ab9 fix: electon rendering on windows (#14456)
fix #14450
fix #14401
fix #13983
fix #12766
fix #14404
fix #12019

#### PR Dependency Tree


* **PR #14456** 👈

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**
* Added new tab navigation functions: `switchTab`, `switchToNextTab`,
and `switchToPreviousTab`.

* **Bug Fixes**
  * Improved bounds validation for tab view resizing.
  * Enhanced tab lifecycle management during navigation events.
  * Refined background throttling behavior for active tabs.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-02-16 14:08:26 +08:00
DarkSky 2b71b3f345 feat: improve test & bundler (#14434)
#### PR Dependency Tree


* **PR #14434** 👈

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**
* Introduced rspack bundler as an alternative to webpack for optimized
builds.

* **Tests & Quality**
* Added comprehensive editor semantic tests covering markdown, hotkeys,
and slash-menu operations.
* Expanded CI cross-browser testing to Chromium, Firefox, and WebKit;
improved shape-rendering tests to account for zoom.

* **Bug Fixes**
  * Corrected CSS overlay styling for development servers.
  * Fixed TypeScript typings for build tooling.

* **Other**
  * Document duplication now produces consistent "(n)" suffixes.
  * French i18n completeness increased to 100%.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-02-14 16:09:09 +08:00
Lakr b46bf91575 fix(ios): add AI privacy consent alert (#14421)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

## Release Notes

* **New Features**
* Added AI feature consent flow requiring user agreement before enabling
AI capabilities.
* Added calendar integration support including CalDAV account linking
and management.
* Expanded workspace administration capabilities with detailed workspace
analytics and configuration options.

* **Improvements**
  * Enhanced workspace sharing and configuration controls.
  * Added support for calendar provider presets and subscriptions.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-02-12 18:25:18 +08:00
renovate[bot] 52c7b04a01 chore: bump up @vitejs/plugin-react-swc version to v4 (#14405)
This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
|
[@vitejs/plugin-react-swc](https://redirect.github.com/vitejs/vite-plugin-react/tree/main/packages/plugin-react-swc#readme)
([source](https://redirect.github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react-swc))
| [`^3.7.2` →
`^4.0.0`](https://renovatebot.com/diffs/npm/@vitejs%2fplugin-react-swc/3.9.0/4.2.3)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/@vitejs%2fplugin-react-swc/4.2.3?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@vitejs%2fplugin-react-swc/3.9.0/4.2.3?slim=true)
|

---

### Release Notes

<details>
<summary>vitejs/vite-plugin-react
(@&#8203;vitejs/plugin-react-swc)</summary>

###
[`v4.2.3`](https://redirect.github.com/vitejs/vite-plugin-react/blob/HEAD/packages/plugin-react-swc/CHANGELOG.md#423-2026-02-02)

[Compare
Source](https://redirect.github.com/vitejs/vite-plugin-react/compare/5e600a31ec27fae54df58a46ef1fffa80238042e...12914fa8c1d32323db6a134d46cd0ca83db91cd1)

###
[`v4.2.2`](https://redirect.github.com/vitejs/vite-plugin-react/blob/HEAD/packages/plugin-react-swc/CHANGELOG.md#422-2025-11-12)

[Compare
Source](https://redirect.github.com/vitejs/vite-plugin-react/compare/v4.2.1...5e600a31ec27fae54df58a46ef1fffa80238042e)

##### Update code to support newer `rolldown-vite`
([#&#8203;978](https://redirect.github.com/vitejs/vite-plugin-react/pull/978))

`rolldown-vite` will remove `optimizeDeps.rollupOptions` in favor of
`optimizeDeps.rolldownOptions` soon. This plugin now uses
`optimizeDeps.rolldownOptions` to support newer `rolldown-vite`. Please
update `rolldown-vite` to the latest version if you are using an older
version.

###
[`v4.2.1`](https://redirect.github.com/vitejs/vite-plugin-react/blob/HEAD/packages/plugin-react-swc/CHANGELOG.md#421-2025-11-05)

[Compare
Source](https://redirect.github.com/vitejs/vite-plugin-react/compare/v4.2.0...v4.2.1)

##### Fix `@vitejs/plugin-react-swc/preamble` on build
([#&#8203;962](https://redirect.github.com/vitejs/vite-plugin-react/pull/962))

###
[`v4.2.0`](https://redirect.github.com/vitejs/vite-plugin-react/blob/HEAD/packages/plugin-react-swc/CHANGELOG.md#420-2025-10-24)

[Compare
Source](https://redirect.github.com/vitejs/vite-plugin-react/compare/v4.1.0...v4.2.0)

##### Add `@vitejs/plugin-react-swc/preamble` virtual module for SSR HMR
([#&#8203;890](https://redirect.github.com/vitejs/vite-plugin-react/pull/890))

SSR applications can now initialize HMR runtime by importing
`@vitejs/plugin-react-swc/preamble` at the top of their client entry
instead of manually calling `transformIndexHtml`. This simplifies SSR
setup for applications that don't use the `transformIndexHtml` API.

##### Use SWC when useAtYourOwnRisk\_mutateSwcOptions is provided
([#&#8203;951](https://redirect.github.com/vitejs/vite-plugin-react/pull/951))

Previously, this plugin did not use SWC if plugins were not provided
even if `useAtYourOwnRisk_mutateSwcOptions` was provided. This is now
fixed.

###
[`v4.1.0`](https://redirect.github.com/vitejs/vite-plugin-react/blob/HEAD/packages/plugin-react-swc/CHANGELOG.md#410-2025-09-17)

[Compare
Source](https://redirect.github.com/vitejs/vite-plugin-react/compare/f21864b102d40fca4f70dfe9112a10101ec12f54...v4.1.0)

##### Set SWC cacheRoot options

This is set to `{viteCacheDir}/swc` and override the default of `.swc`.

##### Perf: simplify refresh wrapper generation
([#&#8203;835](https://redirect.github.com/vitejs/vite-plugin-react/pull/835))

###
[`v4.0.1`](https://redirect.github.com/vitejs/vite-plugin-react/blob/HEAD/packages/plugin-react-swc/CHANGELOG.md#401-2025-08-19)

[Compare
Source](https://redirect.github.com/vitejs/vite-plugin-react/compare/590f394c1e451987258ed64a4b5fb6207c5e8261...f21864b102d40fca4f70dfe9112a10101ec12f54)

##### Set `optimizeDeps.rollupOptions.transform.jsx` instead of
`optimizeDeps.rollupOptions.jsx` for rolldown-vite
([#&#8203;735](https://redirect.github.com/vitejs/vite-plugin-react/pull/735))

`optimizeDeps.rollupOptions.jsx` is going to be deprecated in favor of
`optimizeDeps.rollupOptions.transform.jsx`.

###
[`v4.0.0`](https://redirect.github.com/vitejs/vite-plugin-react/blob/HEAD/packages/plugin-react-swc/CHANGELOG.md#400-2025-08-07)

[Compare
Source](https://redirect.github.com/vitejs/vite-plugin-react/compare/9e0c1038959e828865be810a164a51c3db1ac375...590f394c1e451987258ed64a4b5fb6207c5e8261)

###
[`v3.11.0`](https://redirect.github.com/vitejs/vite-plugin-react/blob/HEAD/packages/plugin-react-swc/CHANGELOG.md#3110-2025-07-18)

[Compare
Source](https://redirect.github.com/vitejs/vite-plugin-react/compare/32d49ecf9b15e3070c7abe5a176252a3fe542e5c...9e0c1038959e828865be810a164a51c3db1ac375)

##### Add HMR support for compound components
([#&#8203;518](https://redirect.github.com/vitejs/vite-plugin-react/pull/518))

HMR now works for compound components like this:

```tsx
const Root = () => <div>Accordion Root</div>
const Item = () => <div>Accordion Item</div>

export const Accordion = { Root, Item }
```

##### Return `Plugin[]` instead of `PluginOption[]`
([#&#8203;537](https://redirect.github.com/vitejs/vite-plugin-react/pull/537))

The return type has changed from `react(): PluginOption[]` to more
specialized type `react(): Plugin[]`. This allows for type-safe
manipulation of plugins, for example:

```tsx
// previously this causes type errors
react()
  .map(p => ({ ...p, applyToEnvironment: e => e.name === 'client' }))
```

###
[`v3.10.2`](https://redirect.github.com/vitejs/vite-plugin-react/blob/HEAD/packages/plugin-react-swc/CHANGELOG.md#3102-2025-06-10)

[Compare
Source](https://redirect.github.com/vitejs/vite-plugin-react/compare/8ce7183265c43f88623655a9cfdcec5282068f9b...32d49ecf9b15e3070c7abe5a176252a3fe542e5c)

##### Suggest `@vitejs/plugin-react-oxc` if rolldown-vite is detected
[#&#8203;491](https://redirect.github.com/vitejs/vite-plugin-react/pull/491)

Emit a log which recommends `@vitejs/plugin-react-oxc` when
`rolldown-vite` is detected to improve performance and use Oxc under the
hood. The warning can be disabled by setting `disableOxcRecommendation:
true` in the plugin options.

##### Use `optimizeDeps.rollupOptions` instead of
`optimizeDeps.esbuildOptions` for rolldown-vite
[#&#8203;489](https://redirect.github.com/vitejs/vite-plugin-react/pull/489)

This suppresses the warning about `optimizeDeps.esbuildOptions` being
deprecated in rolldown-vite.

##### Add Vite 7-beta to peerDependencies range
[#&#8203;497](https://redirect.github.com/vitejs/vite-plugin-react/pull/497)

React plugins are compatible with Vite 7, this removes the warning when
testing the beta.

###
[`v3.10.1`](https://redirect.github.com/vitejs/vite-plugin-react/blob/HEAD/packages/plugin-react-swc/CHANGELOG.md#3101-2025-06-03)

[Compare
Source](https://redirect.github.com/vitejs/vite-plugin-react/compare/dcadcfc2841c0bedfe44279c556835c350dfa5fa...8ce7183265c43f88623655a9cfdcec5282068f9b)

##### Add explicit semicolon in preambleCode
[#&#8203;485](https://redirect.github.com/vitejs/vite-plugin-react/pull/485)

This fixes an edge case when using HTML minifiers that strips line
breaks aggressively.

###
[`v3.10.0`](https://redirect.github.com/vitejs/vite-plugin-react/blob/HEAD/packages/plugin-react-swc/CHANGELOG.md#3100-2025-05-23)

[Compare
Source](https://redirect.github.com/vitejs/vite-plugin-react/compare/4a944487aabe4db16660f4196e1d6eed79edf0e0...dcadcfc2841c0bedfe44279c556835c350dfa5fa)

##### Add `filter` for rolldown-vite
[#&#8203;470](https://redirect.github.com/vitejs/vite-plugin-react/pull/470)

Added `filter` so that it is more performant when running this plugin
with rolldown-powered version of Vite.

##### Skip HMR preamble in Vitest browser mode
[#&#8203;478](https://redirect.github.com/vitejs/vite-plugin-react/pull/478)

This was causing annoying `Sourcemap for "/@&#8203;react-refresh" points
to missing source files` and is unnecessary in test mode.

##### Skip HMR for JSX files with hooks
[#&#8203;480](https://redirect.github.com/vitejs/vite-plugin-react/pull/480)

This removes the HMR warning for hooks with JSX.

</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:eyJjcmVhdGVkSW5WZXIiOiI0Mi45NS4yIiwidXBkYXRlZEluVmVyIjoiNDIuOTUuMiIsInRhcmdldEJyYW5jaCI6ImNhbmFyeSIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-10 03:22:15 +00:00
renovate[bot] 1c0f873c9d chore: bump up RevenueCat/purchases-ios-spm version to from: "5.58.0" (#14399)
This PR contains the following updates:

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

---

> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.

---

### Release Notes

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

###
[`v5.58.0`](https://redirect.github.com/RevenueCat/purchases-ios-spm/compare/5.57.2...5.58.0)

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

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

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

##### 🔄 Other Changes

- Make networkName nullable in ad event data types
([#&#8203;6229](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/6229))
via Pol Miro ([@&#8203;polmiro](https://redirect.github.com/polmiro))
- Remove networkName from AdFailedToLoad event
([#&#8203;6208](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/6208))
via Pol Miro ([@&#8203;polmiro](https://redirect.github.com/polmiro))
- Excluding xcarchive and separate dSYMs folder from XCFramework in
order to reduce download size
([#&#8203;5967](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/5967))
via Rick ([@&#8203;rickvdl](https://redirect.github.com/rickvdl))

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

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

#### 5.57.1

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

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

#### 5.57.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:eyJjcmVhdGVkSW5WZXIiOiI0Mi45NS4yIiwidXBkYXRlZEluVmVyIjoiNDIuOTUuMiIsInRhcmdldEJyYW5jaCI6ImNhbmFyeSIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-09 00:41:34 +08:00
DarkSky 8b68574820 fix: old workspace migration (#14403)
fix #14395 

#### PR Dependency Tree


* **PR #14403** 👈

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**
  * Added ability to enumerate and list local workspaces.
* Improved workspace ID persistence with Electron global-state storage,
automatic fallback to legacy storage, and one-time migration to
consolidate IDs.
* **Tests**
* Added unit test validating listing behavior (includes/excludes
workspaces based on presence of workspace DB file).
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-02-09 00:22:37 +08:00
DarkSky 8ce620e2e6 chore: bump deps 2026-02-07 17:26:44 +08:00
DarkSky 5a51d447fb fix: android build 2026-02-06 00:06:34 +08:00
DarkSky 8d201cd1ad fix: android build 2026-02-05 22:29:39 +08:00
DarkSky 31f6f209e3 chore: bump deps 2026-02-05 21:45:22 +08:00
DarkSky 403f16b404 chore: drop old client support (#14369) 2026-02-05 02:49:33 +08:00
renovate[bot] de29e8300a chore: bump up @types/uuid version to v11 (#14364)
This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| @&#8203;types/uuid | [`^10.0.0` →
`^11.0.0`](https://renovatebot.com/diffs/npm/@types%2fuuid/10.0.0/11.0.0)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fuuid/11.0.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fuuid/10.0.0/11.0.0?slim=true)
|

---

### 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-02 17:57:23 +00:00
renovate[bot] cce6122a63 chore: bump up @sentry/esbuild-plugin version to v4 (#14350)
This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
|
[@sentry/esbuild-plugin](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins/tree/main/packages/esbuild-plugin)
([source](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins))
| [`^3.0.0` →
`^4.0.0`](https://renovatebot.com/diffs/npm/@sentry%2fesbuild-plugin/3.6.1/4.8.0)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/@sentry%2fesbuild-plugin/4.8.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@sentry%2fesbuild-plugin/3.6.1/4.8.0?slim=true)
|

---

### Release Notes

<details>
<summary>getsentry/sentry-javascript-bundler-plugins
(@&#8203;sentry/esbuild-plugin)</summary>

###
[`v4.8.0`](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins/blob/HEAD/CHANGELOG.md#480)

[Compare
Source](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins/compare/4.7.0...4.8.0)

##### New Features 

- Inject component annotations into HTML elements rather than React
components by [@&#8203;timfish](https://redirect.github.com/timfish) in
[#&#8203;851](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins/pull/851)
- Combine injection snippets by
[@&#8203;timfish](https://redirect.github.com/timfish) in
[#&#8203;853](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins/pull/853)
- Use Rolldown native `MagicString` by
[@&#8203;timfish](https://redirect.github.com/timfish) in
[#&#8203;846](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins/pull/846)

###
[`v4.7.0`](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins/blob/HEAD/CHANGELOG.md#470)

[Compare
Source](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins/compare/4.6.2...4.7.0)

- docs: Add RELEASE.md to document release process
([#&#8203;834](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins/pull/834))
- feat: Combine injection plugins
([#&#8203;844](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins/pull/844))
- fix(plugin-manager): Enable "rejectOnError" in debug
([#&#8203;837](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins/pull/837))
- fix(plugin-manager): Respect `sourcemap.ignore` values for injecting
debugIDs
([#&#8203;836](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins/pull/836))
- fix(vite): Skip HTML injection for MPA but keep it for SPA
([#&#8203;843](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins/pull/843))

<details>
  <summary> <strong>Internal Changes</strong> </summary>

- chore: Use pull\_request\_target for changelog preview
([#&#8203;842](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins/pull/842))
- ci(release): Switch from action-prepare-release to Craft
([#&#8203;831](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins/pull/831))
- test: Ensure Debug IDs match
([#&#8203;840](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins/pull/840))

</details>

###
[`v4.6.2`](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins/blob/HEAD/CHANGELOG.md#462)

[Compare
Source](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins/compare/4.6.1...4.6.2)

- fix(vite): Ensure sentryVitePlugin always returns an array of plugins
([#&#8203;832](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins/pull/832))
- fix(vite): Skip code injection for HTML facade chunks
([#&#8203;830](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins/pull/830))
- fix(rollup): Prevent double-injection of debug ID
([#&#8203;827](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins/pull/827))
- fix(esbuild): fix debug ID injection when moduleMetadata or
applicationKey is set
([#&#8203;828](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins/pull/828))

###
[`v4.6.1`](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins/blob/HEAD/CHANGELOG.md#461)

[Compare
Source](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins/compare/4.6.0...4.6.1)

- chore(deps): Update glob to 10.5.0
([#&#8203;823](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins/pull/823))

<details>
  <summary> <strong>Internal Changes</strong> </summary>

- chore(core): Log release output
([#&#8203;821](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins/pull/821))

</details>

###
[`v4.6.0`](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins/blob/HEAD/CHANGELOG.md#460)

[Compare
Source](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins/compare/4.5.0...4.6.0)

- fix(core): Stop awaiting build start telemetry to avoid breaking
module federation builds
([#&#8203;818](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins/pull/818))
- feat(core): Bump
[@&#8203;sentry/cli](https://redirect.github.com/sentry/cli) from 2.51.0
to 2.57.0
([#&#8203;819](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins/pull/819))

###
[`v4.5.0`](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins/blob/HEAD/CHANGELOG.md#450)

[Compare
Source](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins/compare/4.4.0...4.5.0)

- docs: added info on debug flag value precedence
([#&#8203;811](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins/pull/811))
- feat: add debug statements after sourcemap uploads
([#&#8203;812](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins/pull/812))
- feat(core): Allow multi-project sourcemaps upload
([#&#8203;813](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins/pull/813))
- fix: propagate the debug option to the cli
([#&#8203;810](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins/pull/810))

###
[`v4.4.0`](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins/blob/HEAD/CHANGELOG.md#440)

[Compare
Source](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins/compare/4.3.0...4.4.0)

- feat(core): Explicitly allow `undefined` as value for `authToken`
option
([#&#8203;805](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins/pull/805))
- fix(core): Strip query strings from asset paths
([#&#8203;806](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins/pull/806))

Work in this release was contributed by
[@&#8203;aiktb](https://redirect.github.com/aiktb). Thank you for your
contribution!

###
[`v4.3.0`](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins/blob/HEAD/CHANGELOG.md#430)

[Compare
Source](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins/compare/4.2.0...4.3.0)

- feat(core): Extend deploy option to allow opting out of automatic
deploy creation
([#&#8203;801](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins/pull/801))
- feat(core): No asset globbing for direct upload
([#&#8203;800](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins/pull/800))

###
[`v4.2.0`](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins/blob/HEAD/CHANGELOG.md#420)

[Compare
Source](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins/compare/4.1.1...4.2.0)

- feat(core): Add `prepareArtifacts` option for uploading sourcemaps
([#&#8203;794](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins/pull/794))
- perf: use premove for build clean
([#&#8203;792](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins/pull/792))
- fix(core): Forward headers option to sentry-cli
([#&#8203;797](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins/pull/797))

Work in this release contributed by
[@&#8203;liAmirali](https://redirect.github.com/liAmirali). Thank you
for your contribution!

###
[`v4.1.1`](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins/blob/HEAD/CHANGELOG.md#411)

[Compare
Source](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins/compare/4.1.0...4.1.1)

- fix(react-native): Enhance fragment detection for indirect references
([#&#8203;767](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins/pull/767))

###
[`v4.1.0`](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins/blob/HEAD/CHANGELOG.md#410)

[Compare
Source](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins/compare/4.0.2...4.1.0)

- feat(deps): Bump
[@&#8203;sentry/cli](https://redirect.github.com/sentry/cli) to 2.51.0
[#&#8203;786](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins/pull/786)
- feat(core): Add flag for disabling sourcemaps upload
[#&#8203;785](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins/pull/785)
- fix(debugId): Add guards for injected code to avoid errors
[#&#8203;783](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins/pull/783)
- docs(options): Improve JSDoc for options
[#&#8203;781](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins/pull/781)
- feat(core): Expose method for injecting debug Ids from plugin manager
[#&#8203;784](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins/pull/784)

###
[`v4.0.2`](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins/blob/HEAD/CHANGELOG.md#402)

[Compare
Source](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins/compare/4.0.1...4.0.2)

- fix(core): Make `moduleMetadata` injection snippet ES5-compliant
([#&#8203;774](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins/pull/774))

###
[`v4.0.1`](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins/blob/HEAD/CHANGELOG.md#401)

[Compare
Source](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins/compare/4.0.0...4.0.1)

- fix(core): Make plugin inject ES5-friendly code
([#&#8203;770](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins/pull/770))
- fix(core): Use `renderChunk` for release injection for
Rollup/Rolldown/Vite
([#&#8203;761](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins/pull/761))

Work in this release was contributed by
[@&#8203;grushetsky](https://redirect.github.com/grushetsky). Thank you
for your contribution!

###
[`v4.0.0`](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins/blob/HEAD/CHANGELOG.md#400)

[Compare
Source](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins/compare/3.6.1...4.0.0)

##### Breaking Changes

- (Type change) Vite plugin now returns `VitePlugin` type instead of
`any`
- Deprecated function `getBuildInformation` has been removed

##### List of Changes

- feat(core)!: Remove `getBuildInformation` export
([#&#8203;765](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins/pull/765))
- feat(vite)!: Update return type of vite plugin
([#&#8203;728](https://redirect.github.com/getsentry/sentry-javascript-bundler-plugins/pull/728))

</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-02 01:40:58 +08:00
renovate[bot] 345f45d327 chore: bump up @capgo/inappbrowser version to v8 (#14346)
This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [@capgo/inappbrowser](https://capgo.app/docs/plugins/inappbrowser/)
([source](https://redirect.github.com/Cap-go/capacitor-inappbrowser)) |
[`^7.1.0` →
`^8.0.0`](https://renovatebot.com/diffs/npm/@capgo%2finappbrowser/7.29.4/8.1.11)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/@capgo%2finappbrowser/8.1.11?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@capgo%2finappbrowser/7.29.4/8.1.11?slim=true)
|

---

### Release Notes

<details>
<summary>Cap-go/capacitor-inappbrowser
(@&#8203;capgo/inappbrowser)</summary>

###
[`v8.1.11`](https://redirect.github.com/Cap-go/capacitor-inappbrowser/releases/tag/8.1.11)

[Compare
Source](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/8.1.10...8.1.11)

#### 🆕 Changelog

#### Changed

- Added Capacitor version compatibility table to README documentation
clarifying which plugin versions work with which Capacitor versions and
their maintenance status

***

🔗 **Full Changelog**:
<https://github.com/Cap-go/capacitor-inappbrowser/compare/8.1.10...8.1.11>

###
[`v8.1.10`](https://redirect.github.com/Cap-go/capacitor-inappbrowser/releases/tag/8.1.10)

[Compare
Source](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/8.1.9...8.1.10)

#### 🆕 Changelog

#### Fixed

- Corrected `addEventListener` usage in `messageFromWebview` example
documentation

***

🔗 **Full Changelog**:
<https://github.com/Cap-go/capacitor-inappbrowser/compare/8.1.9...8.1.10>

###
[`v8.1.9`](https://redirect.github.com/Cap-go/capacitor-inappbrowser/releases/tag/8.1.9)

[Compare
Source](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/8.1.8...8.1.9)

#### 🆕 Changelog

#### Changed

- Locked capacitor-swift-pm dependency to version 8.0.0 for improved
stability

***

🔗 **Full Changelog**:
<https://github.com/Cap-go/capacitor-inappbrowser/compare/8.1.8...8.1.9>

###
[`v8.1.8`](https://redirect.github.com/Cap-go/capacitor-inappbrowser/releases/tag/8.1.8)

[Compare
Source](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/8.1.7...8.1.8)

#### 🆕 Changelog

#### Fixed

- Prevent race condition in `setHidden()` async path that could cause
visibility state inconsistencies

***

🔗 **Full Changelog**:
<https://github.com/Cap-go/capacitor-inappbrowser/compare/8.1.7...8.1.8>

###
[`v8.1.7`](https://redirect.github.com/Cap-go/capacitor-inappbrowser/releases/tag/8.1.7)

[Compare
Source](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/8.1.6...8.1.7)

#### 🆕 Changelog

#### Fixed

- Fixed show/hide functionality for Android that was not working
correctly

***

🔗 **Full Changelog**:
<https://github.com/Cap-go/capacitor-inappbrowser/compare/8.1.6...8.1.7>

###
[`v8.1.6`](https://redirect.github.com/Cap-go/capacitor-inappbrowser/releases/tag/8.1.6)

[Compare
Source](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/8.1.5...8.1.6)

#### 🆕 Changelog

#### Fixed

- Fixed `show()` method not properly displaying hidden WebView on iOS

***

🔗 **Full Changelog**:
<https://github.com/Cap-go/capacitor-inappbrowser/compare/8.1.5...8.1.6>

###
[`v8.1.5`](https://redirect.github.com/Cap-go/capacitor-inappbrowser/releases/tag/8.1.5)

[Compare
Source](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/8.1.4...8.1.5)

#### 🆕 Changelog

#### Added

- Exposed `mobileApp` interface on Android platform, providing access to
mobile app functionality and metadata

***

🔗 **Full Changelog**:
<https://github.com/Cap-go/capacitor-inappbrowser/compare/8.1.4...8.1.5>

###
[`v8.1.4`](https://redirect.github.com/Cap-go/capacitor-inappbrowser/releases/tag/8.1.4)

[Compare
Source](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/8.1.3...8.1.4)

#### 🆕 Changelog

#### Fixed

- Fixed safe bottom inset calculation for devices using gesture
navigation

***

🔗 **Full Changelog**:
<https://github.com/Cap-go/capacitor-inappbrowser/compare/8.1.3...8.1.4>

###
[`v8.1.3`](https://redirect.github.com/Cap-go/capacitor-inappbrowser/releases/tag/8.1.3)

[Compare
Source](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/8.1.2...8.1.3)

#### 🆕 Changelog

#### Added

- WebView visibility control from JavaScript via
`window.mobileApp.hide()` and `window.mobileApp.show()` methods
(requires `allowWebViewJsVisibilityControl: true` in CapacitorConfig)
- Native `hide()` and `show()` methods to the plugin API for
programmatic WebView visibility control

#### Fixed

- Configuration accessors for JavaScript visibility control
- Null guard checks in hide/show functionality to prevent crashes
- State management to properly restore hidden mode after snapshots

***

🔗 **Full Changelog**:
<https://github.com/Cap-go/capacitor-inappbrowser/compare/8.1.2...8.1.3>

###
[`v8.1.2`](https://redirect.github.com/Cap-go/capacitor-inappbrowser/releases/tag/8.1.2)

[Compare
Source](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/8.1.1...8.1.2)

#### 🆕 Changelog

#### Changed

- Updated Gradle to v8.14.4

***

🔗 **Full Changelog**:
<https://github.com/Cap-go/capacitor-inappbrowser/compare/8.1.1...8.1.2>

###
[`v8.1.1`](https://redirect.github.com/Cap-go/capacitor-inappbrowser/releases/tag/8.1.1)

[Compare
Source](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/8.1.0...8.1.1)

#### 🆕 Changelog

#### Changed

- Updated `capacitor-swift-pm` dependency from version 8.0.1 to a newer
version for improved Swift Package Manager integration

***

🔗 **Full Changelog**:
<https://github.com/Cap-go/capacitor-inappbrowser/compare/8.1.0...8.1.1>

###
[`v8.1.0`](https://redirect.github.com/Cap-go/capacitor-inappbrowser/releases/tag/8.1.0)

[Compare
Source](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/8.0.6...8.1.0)

#### 🆕 Changelog

#### Added

- Hidden webview mode allowing the browser to operate invisibly in the
background without displaying UI
- Support for hidden webview functionality on both iOS and Android
platforms

#### Changed

- Updated Capacitor Swift PM dependency to version 8.0.0
- Updated Vite to version 7.3.1 in example project

***

🔗 **Full Changelog**:
<https://github.com/Cap-go/capacitor-inappbrowser/compare/8.0.6...8.1.0>

###
[`v8.0.6`](https://redirect.github.com/Cap-go/capacitor-inappbrowser/releases/tag/8.0.6)

[Compare
Source](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/8.0.5...8.0.6)

#### 🆕 Changelog

#### Changed

- Updated dependency lock files to latest compatible versions
- Updated mistricky/ccc GitHub Action to v0.2.6

***

🔗 **Full Changelog**:
<https://github.com/Cap-go/capacitor-inappbrowser/compare/8.0.5...8.0.6>

###
[`v8.0.5`](https://redirect.github.com/Cap-go/capacitor-inappbrowser/releases/tag/8.0.5)

[Compare
Source](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/8.0.4...8.0.5)

#### 🆕 Changelog

#### Changed

- Updated lock files to maintain dependency integrity and improve
package resolution

***

🔗 **Full Changelog**:
<https://github.com/Cap-go/capacitor-inappbrowser/compare/8.0.4...8.0.5>

###
[`v8.0.4`](https://redirect.github.com/Cap-go/capacitor-inappbrowser/releases/tag/8.0.4)

[Compare
Source](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/8.0.3...8.0.4)

#### 🆕 Changelog

#### Fixed

- Updated `androidx.webkit:webkit` dependency to v1.15.0
- Updated `androidx.core:core-splashscreen` dependency to v1.2.0

***

🔗 **Full Changelog**:
<https://github.com/Cap-go/capacitor-inappbrowser/compare/8.0.3...8.0.4>

###
[`v8.0.3`](https://redirect.github.com/Cap-go/capacitor-inappbrowser/releases/tag/8.0.3)

[Compare
Source](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/8.0.2...8.0.3)

#### 🆕 Changelog

#### Added

- New `disableOverscroll` option for iOS to control bounce effect
behavior

#### Fixed

- Updated `androidx.window:window` dependency to version 1.5.1 for
improved Android window management

#### Changed

- Migrated build system to use Bun instead of npm for Android builds
- Updated `mistricky/ccc` action to version 0.2.5

***

🔗 **Full Changelog**:
<https://github.com/Cap-go/capacitor-inappbrowser/compare/8.0.2...8.0.3>

###
[`v8.0.2`](https://redirect.github.com/Cap-go/capacitor-inappbrowser/releases/tag/8.0.2)

[Compare
Source](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/8.0.1...8.0.2)

#### 🆕 Changelog

#### Changed

- Updated Capacitor Camera and Splash Screen dependencies to version
8.0.0 for improved compatibility
- Simplified safe area insets calculation in iOS WebView height
management for better code maintainability
- Removed redundant Android version check for mixed content mode in
WebView settings
- Improved variable naming throughout the codebase for better code
clarity and consistency
- Added homepage field to package metadata pointing to plugin
documentation

***

🔗 **Full Changelog**:
<https://github.com/Cap-go/capacitor-inappbrowser/compare/8.0.1...8.0.2>

###
[`v8.0.1`](https://redirect.github.com/Cap-go/capacitor-inappbrowser/releases/tag/8.0.1)

[Compare
Source](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/5dcab1715849de4b6bdf72f7e8019992a2f23295...8.0.1)

#### 🆕 Changelog

#### Changed

- Updated package to support Capacitor 8.0.0

#### Fixed

- Improved checkout performance significantly
- Enhanced fetch speed

***

🔗 **Full Changelog**:
<https://github.com/Cap-go/capacitor-inappbrowser/compare/7.29.4...8.0.1>

###
[`v8.0.0`](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.29.4...5dcab1715849de4b6bdf72f7e8019992a2f23295)

[Compare
Source](https://redirect.github.com/Cap-go/capacitor-inappbrowser/compare/7.29.4...5dcab1715849de4b6bdf72f7e8019992a2f23295)

</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 22:33:23 +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
Akshaj Rawat 759aa1b684 feat: add option to disable image anti-aliasing (#14278)
## What this PR does

Closes #13869 
Adds a global setting to toggle image anti-aliasing in AFFiNE.

When disabled, images are rendered using nearest-neighbor scaling
(`image-rendering: pixelated`), preserving crisp pixels for pixel art,
sprites, icons, and low-resolution images.

## Why

Anti-aliasing causes small images to become blurry when scaled,
making it difficult to work with pixel art and technical assets.

## How to test

1. Open Settings → Appearance → Images
2. Toggle “Smooth image rendering”
3. Observe image scaling behavior:
   - ON: smooth / anti-aliased
   - OFF: pixelated / nearest-neighbor

## Notes

- Frontend-only change
- No backend required

# BEFORE
<img width="1911" height="909" alt="Screenshot 2026-01-18 202651"
src="https://github.com/user-attachments/assets/a40816c3-93fa-416d-90ec-38a919da182f"
/>

# AFTER
<img width="1919" height="910" alt="Screenshot 2026-01-18 202705"
src="https://github.com/user-attachments/assets/19fc348b-5f14-4e32-b6a8-a0905e569af5"
/>



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

* **New Features**
* Added an Images section in Appearance with a toggle to switch image
antialiasing on/off (setting is persisted).

* **Style**
* When antialiasing is turned off, images render with pixelated scaling
for a crisp, non-smoothed look.

* **Localization**
* Added English labels and description for the new Images and
antialiasing options.

<sub>✏️ Tip: You can customize this high-level summary in your review
settings.</sub>
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: DarkSky <25152247+darkskygit@users.noreply.github.com>
2026-01-27 20:18:21 +00:00
Akshaj Rawat b8f626513f feat: disable high power consumption without charger (#14281)
Co-authored-by: DarkSky <darksky2048@gmail.com>
2026-01-27 04:46:16 +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
Cats Juice cf98afb32e chore: bump theme@1.1.23 (#14222)
close #13952

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

* **Chores**
* Upgraded the shared theme library from v1.1.16 to v1.1.23 across the
project (core components, UI widgets, content blocks, and frontend
apps), delivering the latest styling and design refinements
platform-wide.

<sub>✏️ Tip: You can customize this high-level summary in your review
settings.</sub>
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: L-Sun <zover.v@gmail.com>
2026-01-06 20:48:44 +08:00
DarkSky f42246aba1 fix: allow method for cors 2026-01-05 13:14:56 +08:00
DarkSky 41addfe311 fix: blob sync 2026-01-03 01:40:13 +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