JustAnDK
ecc98573eb
fix: safe cookie parsing ( #14292 )
...
# Summary
This PR fixes a server-side cookie parsing edge case where malformed
cookie values throw `URI malformed`, causing socket.io auth to fail and
clients to get stuck in infinite workspace loading/syncing.
# Observed Behavior
- User creates a cloud-backed workspace and invites another user to it.
- Second user accepts the invite, awaits approval, and attempts to load
the workspace, getting stuck in infinite loading state.
- `api/workspaces/<id>/docs/<id>` return 404 for those users, as the
workspace they are trying to access was not synced to the server.
- Server logs show socket.io `CONNECT_ERROR` with `URI malformed`, then
connection closed.
# Confirmed Trigger
An externally-managed `auth_session` cookie containing a raw `%` symbol
causes `decodeURIComponent` to throw. This matches the observed
socket.io `CONNECT_ERROR`, explaining why some users were affected while
the rest were not.
# Root Cause
The `parseCookies` function calls `decodeURIComponent` on every cookie
key/value without guard, so when a malformed percent-encoded value is
encountered, `decodeURIComponent` throws, which bubbles into the
socket.io auth middleware, aborting the connection.
# Fix
Wrap `decodeURIComponent` calls in `try/catch`, on failure falling back
to the raw key/value.
# Testing
- Manually regenerating the bad cookie until no malformed parts are
present resolves the issue.
- With the guard in place, affected users can open shared workspaces
with sync successfully completing.
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **Bug Fixes**
* Improved cookie parsing robustness so malformed cookie values no
longer cause errors; the system now preserves raw cookie values when
decoding fails.
* **Tests**
* Added test coverage to ensure cookie parsing handles invalid/malformed
cookie values without throwing.
<sub>✏️ Tip: You can customize this high-level summary in your review
settings.</sub>
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-01-26 17:24:11 +08:00
renovate[bot]
69907083f7
chore: bump up opentelemetry ( #14300 )
...
This PR contains the following updates:
| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/ ) |
[Confidence](https://docs.renovatebot.com/merge-confidence/ ) |
|---|---|---|---|
|
[@opentelemetry/core](https://redirect.github.com/open-telemetry/opentelemetry-js/tree/main/packages/opentelemetry-core )
([source](https://redirect.github.com/open-telemetry/opentelemetry-js ))
| [`2.2.0` →
`2.5.0`](https://renovatebot.com/diffs/npm/@opentelemetry%2fcore/2.2.0/2.5.0 )
|

|

|
|
[@opentelemetry/exporter-prometheus](https://redirect.github.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/opentelemetry-exporter-prometheus )
([source](https://redirect.github.com/open-telemetry/opentelemetry-js ))
| [`^0.208.0` →
`^0.211.0`](https://renovatebot.com/diffs/npm/@opentelemetry%2fexporter-prometheus/0.208.0/0.211.0 )
|

|

|
|
[@opentelemetry/exporter-zipkin](https://redirect.github.com/open-telemetry/opentelemetry-js/tree/main/packages/opentelemetry-exporter-zipkin )
([source](https://redirect.github.com/open-telemetry/opentelemetry-js ))
| [`2.2.0` →
`2.5.0`](https://renovatebot.com/diffs/npm/@opentelemetry%2fexporter-zipkin/2.2.0/2.5.0 )
|

|

|
|
[@opentelemetry/host-metrics](https://redirect.github.com/open-telemetry/opentelemetry-js-contrib/tree/main/packages/host-metrics#readme )
([source](https://redirect.github.com/open-telemetry/opentelemetry-js-contrib/tree/HEAD/packages/host-metrics ))
| [`0.38.0` →
`0.38.2`](https://renovatebot.com/diffs/npm/@opentelemetry%2fhost-metrics/0.38.0/0.38.2 )
|

|

|
|
[@opentelemetry/instrumentation](https://redirect.github.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/opentelemetry-instrumentation )
([source](https://redirect.github.com/open-telemetry/opentelemetry-js ))
| [`^0.208.0` →
`^0.211.0`](https://renovatebot.com/diffs/npm/@opentelemetry%2finstrumentation/0.208.0/0.211.0 )
|

|

|
|
[@opentelemetry/instrumentation-graphql](https://redirect.github.com/open-telemetry/opentelemetry-js-contrib/tree/main/packages/instrumentation-graphql#readme )
([source](https://redirect.github.com/open-telemetry/opentelemetry-js-contrib/tree/HEAD/packages/instrumentation-graphql ))
| [`^0.56.0` →
`^0.58.0`](https://renovatebot.com/diffs/npm/@opentelemetry%2finstrumentation-graphql/0.56.0/0.58.0 )
|

|

|
|
[@opentelemetry/instrumentation-http](https://redirect.github.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/opentelemetry-instrumentation-http )
([source](https://redirect.github.com/open-telemetry/opentelemetry-js ))
| [`^0.208.0` →
`^0.211.0`](https://renovatebot.com/diffs/npm/@opentelemetry%2finstrumentation-http/0.208.0/0.211.0 )
|

|

|
|
[@opentelemetry/instrumentation-ioredis](https://redirect.github.com/open-telemetry/opentelemetry-js-contrib/tree/main/packages/instrumentation-ioredis#readme )
([source](https://redirect.github.com/open-telemetry/opentelemetry-js-contrib/tree/HEAD/packages/instrumentation-ioredis ))
| [`^0.57.0` →
`^0.59.0`](https://renovatebot.com/diffs/npm/@opentelemetry%2finstrumentation-ioredis/0.57.0/0.59.0 )
|

|

|
|
[@opentelemetry/instrumentation-nestjs-core](https://redirect.github.com/open-telemetry/opentelemetry-js-contrib/tree/main/packages/instrumentation-nestjs-core#readme )
([source](https://redirect.github.com/open-telemetry/opentelemetry-js-contrib/tree/HEAD/packages/instrumentation-nestjs-core ))
| [`^0.55.0` →
`^0.57.0`](https://renovatebot.com/diffs/npm/@opentelemetry%2finstrumentation-nestjs-core/0.55.0/0.57.0 )
|

|

|
|
[@opentelemetry/instrumentation-socket.io](https://redirect.github.com/open-telemetry/opentelemetry-js-contrib/tree/main/packages/instrumentation-socket.io#readme )
([source](https://redirect.github.com/open-telemetry/opentelemetry-js-contrib/tree/HEAD/packages/instrumentation-socket.io ))
| [`^0.55.0` →
`^0.57.0`](https://renovatebot.com/diffs/npm/@opentelemetry%2finstrumentation-socket.io/0.55.1/0.57.0 )
|

|

|
|
[@opentelemetry/resources](https://redirect.github.com/open-telemetry/opentelemetry-js/tree/main/packages/opentelemetry-resources )
([source](https://redirect.github.com/open-telemetry/opentelemetry-js ))
| [`2.2.0` →
`2.5.0`](https://renovatebot.com/diffs/npm/@opentelemetry%2fresources/2.2.0/2.5.0 )
|

|

|
|
[@opentelemetry/sdk-metrics](https://redirect.github.com/open-telemetry/opentelemetry-js/tree/main/packages/sdk-metrics )
([source](https://redirect.github.com/open-telemetry/opentelemetry-js ))
| [`2.2.0` →
`2.5.0`](https://renovatebot.com/diffs/npm/@opentelemetry%2fsdk-metrics/2.2.0/2.5.0 )
|

|

|
|
[@opentelemetry/sdk-node](https://redirect.github.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/opentelemetry-sdk-node )
([source](https://redirect.github.com/open-telemetry/opentelemetry-js ))
| [`^0.208.0` →
`^0.211.0`](https://renovatebot.com/diffs/npm/@opentelemetry%2fsdk-node/0.208.0/0.211.0 )
|

|

|
|
[@opentelemetry/sdk-trace-node](https://redirect.github.com/open-telemetry/opentelemetry-js/tree/main/packages/opentelemetry-sdk-trace-node )
([source](https://redirect.github.com/open-telemetry/opentelemetry-js ))
| [`2.2.0` →
`2.5.0`](https://renovatebot.com/diffs/npm/@opentelemetry%2fsdk-trace-node/2.2.0/2.5.0 )
|

|

|
|
[@opentelemetry/semantic-conventions](https://redirect.github.com/open-telemetry/opentelemetry-js/tree/main/semantic-conventions )
([source](https://redirect.github.com/open-telemetry/opentelemetry-js ))
| [`1.38.0` →
`1.39.0`](https://renovatebot.com/diffs/npm/@opentelemetry%2fsemantic-conventions/1.38.0/1.39.0 )
|

|

|
---
### Release Notes
<details>
<summary>open-telemetry/opentelemetry-js
(@​opentelemetry/core)</summary>
###
[`v2.5.0`](https://redirect.github.com/open-telemetry/opentelemetry-js/blob/HEAD/CHANGELOG.md#250 )
[Compare
Source](https://redirect.github.com/open-telemetry/opentelemetry-js/compare/v2.4.0...v2.5.0 )
##### 🐛 Bug Fixes
- refactor(resources): use runtime check for default service name
[#​6257](https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6257 )
[@​overbalance](https://redirect.github.com/overbalance )
##### 🏠 Internal
- chore(context-async-hooks): Deprecate `AsyncHooksContextManager`
[#​6298](https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6298 )
[@​trentm](https://redirect.github.com/trentm )
- chore: fix CODEOWNERS rule ordering
[#​6297](https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6297 )
[@​overbalance](https://redirect.github.com/overbalance )
- fix(github): fix CODEOWNERS browser package paths
[#​6303](https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6303 )
[@​overbalance](https://redirect.github.com/overbalance )
- fix(build): update
[@​types/node](https://redirect.github.com/types/node ) to
18.19.130, remove DOM types from base tsconfig
[#​6280](https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6280 )
[@​overbalance](https://redirect.github.com/overbalance )
###
[`v2.4.0`](https://redirect.github.com/open-telemetry/opentelemetry-js/blob/HEAD/CHANGELOG.md#240 )
[Compare
Source](https://redirect.github.com/open-telemetry/opentelemetry-js/compare/v2.3.0...v2.4.0 )
##### 🐛 Bug Fixes
- fix(sdk-metrics): improve PeriodicExportingMetricReader() constructor
input validation
[#​6286](https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6286 )
[@​cjihrig](https://redirect.github.com/cjihrig )
- fix(core): Avoid using DOM types for otperformance export
[#​6278](https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6278 )
[@​samchungy](https://redirect.github.com/samchungy )
##### 🏠 Internal
- chore(browser): fix CODEOWNERS paths for browser-related packages
- refactor(sdk-metrics): remove Promise.allSettled() ponyfill
[#​6277](https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6277 )
[@​cjihrig](https://redirect.github.com/cjihrig )
###
[`v2.3.0`](https://redirect.github.com/open-telemetry/opentelemetry-js/blob/HEAD/CHANGELOG.md#230 )
[Compare
Source](https://redirect.github.com/open-telemetry/opentelemetry-js/compare/v2.2.0...v2.3.0 )
##### 🚀 Features
- feat(sdk-trace-base): implement on ending in span processor
[#​6024](https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6024 )
[@​majanjua-amzn](https://redirect.github.com/majanjua-amzn )
- note: this feature is experimental and subject to change
##### 🐛 Bug Fixes
- fix(sdk-metrics): remove setImmediate usage in ConsoleMetricExporter
[#​6199](https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6199 )
[@​overbalance](https://redirect.github.com/overbalance )
##### 🏠 Internal
- refactor(bundler-tests): split webpack tests into webpack-4 and
webpack-5
[#​6098](https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6098 )
[@​overbalance](https://redirect.github.com/overbalance )
- refactor(sdk-metrics): remove isNotNullish() utility function
[#​6151](https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6151 )
[@​cjihrig](https://redirect.github.com/cjihrig )
- refactor(sdk-metrics): remove FlatMap() utility function
[#​6154](https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6154 )
[@​cjihrig](https://redirect.github.com/cjihrig )
- refactor(sdk-metrics): simplify AllowList and DenyList processors
[#​6159](https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6159 )
[@​cjihrig](https://redirect.github.com/cjihrig )
- chore: disallow constructor parameter property syntax
[#​6187](https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6187 )
[@​legendecas](https://redirect.github.com/legendecas )
- refactor(sdk-metrics): use test() instead of match() in isValidName()
[#​6205](https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6205 )
[@​cjihrig](https://redirect.github.com/cjihrig )
- refactor(core): remove TimeOriginLegacy Safari <15 fallback
[#​6235](https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6235 )
[@​overbalance](https://redirect.github.com/overbalance )
- chore: remove backcompat workspace
[#​6238](https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6238 )
[@​overbalance](https://redirect.github.com/overbalance )
- refactor(core,resources): consolidate platform-specific code
[#​6208](https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6208 )
[@​overbalance](https://redirect.github.com/overbalance )
- test(api): remove unnecessary conditional
[#​6241](https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6241 )
[@​cjihrig](https://redirect.github.com/cjihrig )
- refactor(api): remove several reverse() calls
[#​6252](https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6252 )
[@​cjihrig](https://redirect.github.com/cjihrig )
- refactor(api): remove unnecessary map() call
[#​6251](https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6251 )
[@​cjihrig](https://redirect.github.com/cjihrig )
- chore: add zed to gitignore
[#​6258](https://redirect.github.com/open-telemetry/opentelemetry-js/pull/6258 )
[@​overbalance](https://redirect.github.com/overbalance )
</details>
<details>
<summary>open-telemetry/opentelemetry-js-contrib
(@​opentelemetry/host-metrics)</summary>
###
[`v0.38.2`](https://redirect.github.com/open-telemetry/opentelemetry-js-contrib/blob/HEAD/packages/host-metrics/CHANGELOG.md#0382-2026-01-21 )
[Compare
Source](https://redirect.github.com/open-telemetry/opentelemetry-js-contrib/compare/c84212cca7f010b80747cccb9942474e0459df6e...7a5f3c0a09b6a2d32c712b2962b95137c906a016 )
##### Bug Fixes
- **deps:** update dependency systeminformation to v5.30.3
([#​3335](https://redirect.github.com/open-telemetry/opentelemetry-js-contrib/issues/3335 ))
([9af0086](https://redirect.github.com/open-telemetry/opentelemetry-js-contrib/commit/9af008622326464fa3076127bbab34a1dc0d10aa ))
###
[`v0.38.1`](https://redirect.github.com/open-telemetry/opentelemetry-js-contrib/blob/HEAD/packages/host-metrics/CHANGELOG.md#0381-2026-01-14 )
[Compare
Source](https://redirect.github.com/open-telemetry/opentelemetry-js-contrib/compare/66935ac724cc271f70028035e534d47a4dfbcf12...c84212cca7f010b80747cccb9942474e0459df6e )
##### Bug Fixes
- **deps:** update dependency systeminformation to v5.27.14 \[security]
([#​3308](https://redirect.github.com/open-telemetry/opentelemetry-js-contrib/issues/3308 ))
([c2d0bc5](https://redirect.github.com/open-telemetry/opentelemetry-js-contrib/commit/c2d0bc5b1928e2147fe44c1a5a8b826f30b8f7de ))
</details>
<details>
<summary>open-telemetry/opentelemetry-js-contrib
(@​opentelemetry/instrumentation-graphql)</summary>
###
[`v0.58.0`](https://redirect.github.com/open-telemetry/opentelemetry-js-contrib/blob/HEAD/packages/instrumentation-graphql/CHANGELOG.md#0580-2026-01-21 )
[Compare
Source](https://redirect.github.com/open-telemetry/opentelemetry-js-contrib/compare/c84212cca7f010b80747cccb9942474e0459df6e...7a5f3c0a09b6a2d32c712b2962b95137c906a016 )
##### Features
- **deps:** update deps matching '@​opentelemetry/\*'
([#​3353](https://redirect.github.com/open-telemetry/opentelemetry-js-contrib/issues/3353 ))
([a56bbdc](https://redirect.github.com/open-telemetry/opentelemetry-js-contrib/commit/a56bbdc34a5015b0a5fdcb7522f168cfc90ba95c ))
###
[`v0.57.0`](https://redirect.github.com/open-telemetry/opentelemetry-js-contrib/blob/HEAD/packages/instrumentation-graphql/CHANGELOG.md#0570-2026-01-14 )
[Compare
Source](https://redirect.github.com/open-telemetry/opentelemetry-js-contrib/compare/94e5b7da4500459e38e8d4dfda93542f22159600...c84212cca7f010b80747cccb9942474e0459df6e )
##### Features
- **deps:** update deps matching '@​opentelemetry/\*'
([#​3332](https://redirect.github.com/open-telemetry/opentelemetry-js-contrib/issues/3332 ))
([925a150](https://redirect.github.com/open-telemetry/opentelemetry-js-contrib/commit/925a1501ce0d082c6845d36e7c964e625ee3de0c ))
- **deps:** update deps matching '@​opentelemetry/\*'
([#​3340](https://redirect.github.com/open-telemetry/opentelemetry-js-contrib/issues/3340 ))
([2954943](https://redirect.github.com/open-telemetry/opentelemetry-js-contrib/commit/29549434e7204b03d58635eb20352efee0e797d4 ))
</details>
<details>
<summary>open-telemetry/opentelemetry-js-contrib
(@​opentelemetry/instrumentation-ioredis)</summary>
###
[`v0.59.0`](https://redirect.github.com/open-telemetry/opentelemetry-js-contrib/blob/HEAD/packages/instrumentation-ioredis/CHANGELOG.md#0590-2026-01-21 )
[Compare
Source](https://redirect.github.com/open-telemetry/opentelemetry-js-contrib/compare/c84212cca7f010b80747cccb9942474e0459df6e...7a5f3c0a09b6a2d32c712b2962b95137c906a016 )
##### Features
- **deps:** update deps matching '@​opentelemetry/\*'
([#​3353](https://redirect.github.com/open-telemetry/opentelemetry-js-contrib/issues/3353 ))
([a56bbdc](https://redirect.github.com/open-telemetry/opentelemetry-js-contrib/commit/a56bbdc34a5015b0a5fdcb7522f168cfc90ba95c ))
##### Dependencies
- The following workspace dependencies were updated
- devDependencies
-
[@​opentelemetry/contrib-test-utils](https://redirect.github.com/opentelemetry/contrib-test-utils )
bumped from ^0.57.0 to ^0.58.0
###
[`v0.58.0`](https://redirect.github.com/open-telemetry/opentelemetry-js-contrib/blob/HEAD/packages/instrumentation-ioredis/CHANGELOG.md#0580-2026-01-14 )
[Compare
Source](https://redirect.github.com/open-telemetry/opentelemetry-js-contrib/compare/66935ac724cc271f70028035e534d47a4dfbcf12...c84212cca7f010b80747cccb9942474e0459df6e )
##### Features
- **deps:** update deps matching '@​opentelemetry/\*'
([#​3332](https://redirect.github.com/open-telemetry/opentelemetry-js-contrib/issues/3332 ))
([925a150](https://redirect.github.com/open-telemetry/opentelemetry-js-contrib/commit/925a1501ce0d082c6845d36e7c964e625ee3de0c ))
- **deps:** update deps matching '@​opentelemetry/\*'
([#​3340](https://redirect.github.com/open-telemetry/opentelemetry-js-contrib/issues/3340 ))
([2954943](https://redirect.github.com/open-telemetry/opentelemetry-js-contrib/commit/29549434e7204b03d58635eb20352efee0e797d4 ))
##### Dependencies
- The following workspace dependencies were updated
- devDependencies
-
[@​opentelemetry/contrib-test-utils](https://redirect.github.com/opentelemetry/contrib-test-utils )
bumped from ^0.56.0 to ^0.57.0
</details>
<details>
<summary>open-telemetry/opentelemetry-js-contrib
(@​opentelemetry/instrumentation-nestjs-core)</summary>
###
[`v0.57.0`](https://redirect.github.com/open-telemetry/opentelemetry-js-contrib/blob/HEAD/packages/instrumentation-nestjs-core/CHANGELOG.md#0570-2026-01-21 )
[Compare
Source](https://redirect.github.com/open-telemetry/opentelemetry-js-contrib/compare/c84212cca7f010b80747cccb9942474e0459df6e...7a5f3c0a09b6a2d32c712b2962b95137c906a016 )
##### Features
- **deps:** update deps matching '@​opentelemetry/\*'
([#​3353](https://redirect.github.com/open-telemetry/opentelemetry-js-contrib/issues/3353 ))
([a56bbdc](https://redirect.github.com/open-telemetry/opentelemetry-js-contrib/commit/a56bbdc34a5015b0a5fdcb7522f168cfc90ba95c ))
###
[`v0.56.0`](https://redirect.github.com/open-telemetry/opentelemetry-js-contrib/blob/HEAD/packages/instrumentation-nestjs-core/CHANGELOG.md#0560-2026-01-14 )
[Compare
Source](https://redirect.github.com/open-telemetry/opentelemetry-js-contrib/compare/94e5b7da4500459e38e8d4dfda93542f22159600...c84212cca7f010b80747cccb9942474e0459df6e )
##### Features
- **deps:** update deps matching '@​opentelemetry/\*'
([#​3332](https://redirect.github.com/open-telemetry/opentelemetry-js-contrib/issues/3332 ))
([925a150](https://redirect.github.com/open-telemetry/opentelemetry-js-contrib/commit/925a1501ce0d082c6845d36e7c964e625ee3de0c ))
- **deps:** update deps matching '@​opentelemetry/\*'
([#​3340](https://redirect.github.com/open-telemetry/opentelemetry-js-contrib/issues/3340 ))
([2954943](https://redirect.github.com/open-telemetry/opentelemetry-js-contrib/commit/29549434e7204b03d58635eb20352efee0e797d4 ))
</details>
<details>
<summary>open-telemetry/opentelemetry-js-contrib
(@​opentelemetry/instrumentation-socket.io)</summary>
###
[`v0.57.0`](https://redirect.github.com/open-telemetry/opentelemetry-js-contrib/blob/HEAD/packages/instrumentation-socket.io/CHANGELOG.md#0570-2026-01-21 )
[Compare
Source](https://redirect.github.com/open-telemetry/opentelemetry-js-contrib/compare/c84212cca7f010b80747cccb9942474e0459df6e...7a5f3c0a09b6a2d32c712b2962b95137c906a016 )
##### Features
- **deps:** update deps matching '@​opentelemetry/\*'
([#​3353](https://redirect.github.com/open-telemetry/opentelemetry-js-contrib/issues/3353 ))
([a56bbdc](https://redirect.github.com/open-telemetry/opentelemetry-js-contrib/commit/a56bbdc34a5015b0a5fdcb7522f168cfc90ba95c ))
##### Dependencies
- The following workspace dependencies were updated
- devDependencies
-
[@​opentelemetry/contrib-test-utils](https://redirect.github.com/opentelemetry/contrib-test-utils )
bumped from ^0.57.0 to ^0.58.0
###
[`v0.56.0`](https://redirect.github.com/open-telemetry/opentelemetry-js-contrib/blob/HEAD/packages/instrumentation-socket.io/CHANGELOG.md#0560-2026-01-14 )
[Compare
Source](https://redirect.github.com/open-telemetry/opentelemetry-js-contrib/compare/66935ac724cc271f70028035e534d47a4dfbcf12...c84212cca7f010b80747cccb9942474e0459df6e )
##### Features
- **deps:** update deps matching '@​opentelemetry/\*'
([#​3332](https://redirect.github.com/open-telemetry/opentelemetry-js-contrib/issues/3332 ))
([925a150](https://redirect.github.com/open-telemetry/opentelemetry-js-contrib/commit/925a1501ce0d082c6845d36e7c964e625ee3de0c ))
- **deps:** update deps matching '@​opentelemetry/\*'
([#​3340](https://redirect.github.com/open-telemetry/opentelemetry-js-contrib/issues/3340 ))
([2954943](https://redirect.github.com/open-telemetry/opentelemetry-js-contrib/commit/29549434e7204b03d58635eb20352efee0e797d4 ))
##### Dependencies
- The following workspace dependencies were updated
- devDependencies
-
[@​opentelemetry/contrib-test-utils](https://redirect.github.com/opentelemetry/contrib-test-utils )
bumped from ^0.56.0 to ^0.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.
👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config
help](https://redirect.github.com/renovatebot/renovate/discussions ) if
that's undesired.
---
- [ ] <!-- 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 13:33:43 +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
([#​5707](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/5707 ))
via Antonio Pallares
([@​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
([#​5765](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/5765 ))
via Rick ([@​rickvdl](https://redirect.github.com/rickvdl ))
- Fix signature verification fallback urls
([#​5756](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/5756 ))
via Antonio Pallares
([@​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
([#​4257](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4257 ))
via Mark Villacampa
([@​MarkVillacampa](https://redirect.github.com/MarkVillacampa ))
- Fixes a Paywall Template 7 crash when none of the tiers have any
available products.
([#​4243](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4243 ))
via JayShortway
([@​JayShortway](https://redirect.github.com/JayShortway ))
- \[SK2] send unsynced attributes when syncing purchases
([#​4245](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4245 ))
via Mark Villacampa
([@​MarkVillacampa](https://redirect.github.com/MarkVillacampa ))
##### Other Changes
- Do not embed `RevenueCat.framework` in `RevenueCatUI`
([#​4256](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4256 ))
via Cesar de la Vega
([@​vegaro](https://redirect.github.com/vegaro ))
- Add warnings and clarifications to v5 migration docs
([#​4231](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4231 ))
via Mark Villacampa
([@​MarkVillacampa](https://redirect.github.com/MarkVillacampa ))
- Fixes SwiftLint violation of rule optional\_data\_string\_conversion
([#​4252](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4252 ))
via JayShortway
([@​JayShortway](https://redirect.github.com/JayShortway ))
- Paywall Components Localized Strings
([#​4237](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4237 ))
via James Borthwick
([@​jamesrb1](https://redirect.github.com/jamesrb1 ))
- Update `fastlane-plugin-revenuecat_internal`
([#​4244](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4244 ))
via Cesar de la Vega
([@​vegaro](https://redirect.github.com/vegaro ))
- Add missing `#if PAYWALL_COMPONENTS`
([#​4241](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4241 ))
via James Borthwick
([@​jamesrb1](https://redirect.github.com/jamesrb1 ))
- Paywalls Components Viewmodels + partial localization support
([#​4230](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4230 ))
via James Borthwick
([@​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
([#​4234](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4234 ))
via Cesar de la Vega
([@​vegaro](https://redirect.github.com/vegaro ))
- Add `feedbackSurveyCompleted` event to Customer Center events
([#​4194](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4194 ))
via Cesar de la Vega
([@​vegaro](https://redirect.github.com/vegaro ))
##### Other Changes
- \[Diagnostics] Add `backend_error_code` property
([#​4236](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4236 ))
via Toni Rico ([@​tonidero](https://redirect.github.com/tonidero ))
- Update README.md
([#​3986](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/3986 ))
via Khoa ([@​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
([#​4226](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4226 ))
via Cesar de la Vega
([@​vegaro](https://redirect.github.com/vegaro ))
- \[Paywall] Fix restoreStarted not being called on
`presentPaywallIfNeeded` when using `requiredEntitlementIdentifier`
([#​4223](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4223 ))
via Josh Holtz
([@​joshdholtz](https://redirect.github.com/joshdholtz ))
- \[CustomerCenter] Move sheet and restore alert creation to
`ManageSubscriptionsView`
([#​4220](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4220 ))
via Cesar de la Vega
([@​vegaro](https://redirect.github.com/vegaro ))
- \[EXTERNAL] `Custom Entitlements Computation`: fix support display on
debug screen
([#​4215](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4215 ))
by [@​NachoSoto](https://redirect.github.com/NachoSoto )
([#​4218](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4218 ))
via Toni Rico ([@​tonidero](https://redirect.github.com/tonidero ))
- \[Customer Center] Add padding to `No thanks` in promotional offer
screen
([#​4221](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4221 ))
via Cesar de la Vega
([@​vegaro](https://redirect.github.com/vegaro ))
- Fix version number in plist files
([#​4213](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4213 ))
via Cesar de la Vega
([@​vegaro](https://redirect.github.com/vegaro ))
- fix mac os sandbox check slowness
([#​3879](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/3879 ))
via Andy Boedo ([@​aboedo](https://redirect.github.com/aboedo ))
- \[Customer Center] Fix `FeedbackSurveyView` not opening
([#​4208](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4208 ))
via Cesar de la Vega
([@​vegaro](https://redirect.github.com/vegaro ))
- Remove `unneeded_override` disable to fix linter
([#​4209](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4209 ))
via Cesar de la Vega
([@​vegaro](https://redirect.github.com/vegaro ))
##### Dependency Updates
- Bump rexml from 3.3.3 to 3.3.6 in
/Tests/InstallationTests/CocoapodsInstallation
([#​4210](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4210 ))
via dependabot\[bot]
([@​dependabot](https://redirect.github.com/dependabot )\[bot])
- Bump rexml from 3.3.3 to 3.3.6
([#​4211](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4211 ))
via dependabot\[bot]
([@​dependabot](https://redirect.github.com/dependabot )\[bot])
##### Other Changes
- Update readme wording
([#​3914](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/3914 ))
via James Borthwick
([@​jamesrb1](https://redirect.github.com/jamesrb1 ))
- Set a maximum duration for iOS 15 tests
([#​4229](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4229 ))
via Cesar de la Vega
([@​vegaro](https://redirect.github.com/vegaro ))
- Paywall Components Initial Commit
([#​4224](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4224 ))
via James Borthwick
([@​jamesrb1](https://redirect.github.com/jamesrb1 ))
- \[CustomerCenter] Open App Store when the user wants to update their
app
([#​4199](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4199 ))
via JayShortway
([@​JayShortway](https://redirect.github.com/JayShortway ))
- \[Customer Center] Shows a warning when the app is not the latest
version
([#​4193](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4193 ))
via JayShortway
([@​JayShortway](https://redirect.github.com/JayShortway ))
- Fix integration tests simulator version
([#​4219](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4219 ))
via Cesar de la Vega
([@​vegaro](https://redirect.github.com/vegaro ))
- Pin swift-docc-plugin to 1.3.0
([#​4216](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4216 ))
via James Borthwick
([@​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
([#​4132](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4132 ))
via James Borthwick
([@​jamesrb1](https://redirect.github.com/jamesrb1 ))
##### Bugfixes
- \[Customer Center] Migrate to List style
([#​4190](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4190 ))
via Cody Kerns
([@​codykerns](https://redirect.github.com/codykerns ))
- \[Paywalls] Improve locale consistency
([#​4158](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4158 ))
via Josh Holtz
([@​joshdholtz](https://redirect.github.com/joshdholtz ))
- Set Paywalls Tester deployment target to iOS 15
([#​4196](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4196 ))
via James Borthwick
([@​jamesrb1](https://redirect.github.com/jamesrb1 ))
- \[Customer Center] Hide Contact Support button if URL can't be created
([#​4192](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4192 ))
via Cesar de la Vega
([@​vegaro](https://redirect.github.com/vegaro ))
- Fix the setting for SKIP\_INSTALL in Xcode project
([#​4195](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4195 ))
via Andy Boedo ([@​aboedo](https://redirect.github.com/aboedo ))
- \[Customer Center] Improving customer center buttons
([#​4165](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4165 ))
via Cody Kerns
([@​codykerns](https://redirect.github.com/codykerns ))
- Revert workaround for iOS 18 beta 5 SwiftUI crash
([#​4173](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4173 ))
via Mark Villacampa
([@​MarkVillacampa](https://redirect.github.com/MarkVillacampa ))
- \[Paywalls] Make iOS version calculation lazy
([#​4163](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4163 ))
via Mark Villacampa
([@​MarkVillacampa](https://redirect.github.com/MarkVillacampa ))
- Observe `PurchaseHandler` when owned externally
([#​4097](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4097 ))
via James Borthwick
([@​jamesrb1](https://redirect.github.com/jamesrb1 ))
##### Dependency Updates
- Bump fastlane-plugin-revenuecat\_internal from `d5f0742` to `4c4b8ce`
([#​4167](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4167 ))
via dependabot\[bot]
([@​dependabot](https://redirect.github.com/dependabot )\[bot])
- Bump rexml from 3.2.8 to 3.3.3 in
/Tests/InstallationTests/CocoapodsInstallation
([#​4176](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4176 ))
via dependabot\[bot]
([@​dependabot](https://redirect.github.com/dependabot )\[bot])
- Bump rexml from 3.2.9 to 3.3.3
([#​4175](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4175 ))
via dependabot\[bot]
([@​dependabot](https://redirect.github.com/dependabot )\[bot])
##### Other Changes
- \[Customer Center] Clean up colors in WrongPlatformView and
NoSubscriptionsView
([#​4204](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4204 ))
via Cesar de la Vega
([@​vegaro](https://redirect.github.com/vegaro ))
- Fix failing `all-tests` and retry more flaky tests
([#​4188](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4188 ))
via Josh Holtz
([@​joshdholtz](https://redirect.github.com/joshdholtz ))
- Compatibility content unavailable improvements
([#​4197](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4197 ))
via James Borthwick
([@​jamesrb1](https://redirect.github.com/jamesrb1 ))
- Create lane to enable customer center
([#​4191](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4191 ))
via Cesar de la Vega
([@​vegaro](https://redirect.github.com/vegaro ))
- XCFramework artifacts in CircleCI
([#​4189](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4189 ))
via Andy Boedo ([@​aboedo](https://redirect.github.com/aboedo ))
- \[Customer Center] CustomerCenterViewModel checks whether the app is
the latest version
([#​4169](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4169 ))
via JayShortway
([@​JayShortway](https://redirect.github.com/JayShortway ))
- export RevenueCatUI xcframework
([#​4172](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4172 ))
via Andy Boedo ([@​aboedo](https://redirect.github.com/aboedo ))
- Corrects references from ManageSubscriptionsButtonStyle to
ButtonsStyle.
([#​4186](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4186 ))
via JayShortway
([@​JayShortway](https://redirect.github.com/JayShortway ))
- Speed up carthage installation tests
([#​4184](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4184 ))
via Andy Boedo ([@​aboedo](https://redirect.github.com/aboedo ))
- Customer center improvements
([#​4166](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4166 ))
via James Borthwick
([@​jamesrb1](https://redirect.github.com/jamesrb1 ))
- replace `color(from colorInformation:)` global with extension
([#​4183](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4183 ))
via Andy Boedo ([@​aboedo](https://redirect.github.com/aboedo ))
- Generating new test snapshots for `main` - ios-13
([#​4181](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4181 ))
via RevenueCat Git Bot
([@​RCGitBot](https://redirect.github.com/RCGitBot ))
- Generating new test snapshots for `main` - ios-16
([#​4182](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4182 ))
via RevenueCat Git Bot
([@​RCGitBot](https://redirect.github.com/RCGitBot ))
- Generating new test snapshots for `main` - ios-14
([#​4180](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4180 ))
via RevenueCat Git Bot
([@​RCGitBot](https://redirect.github.com/RCGitBot ))
- Generating new test snapshots for `main` - ios-15
([#​4179](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4179 ))
via RevenueCat Git Bot
([@​RCGitBot](https://redirect.github.com/RCGitBot ))
- Fix tests in main
([#​4174](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4174 ))
via Andy Boedo ([@​aboedo](https://redirect.github.com/aboedo ))
- Enable customer center tests
([#​4171](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4171 ))
via James Borthwick
([@​jamesrb1](https://redirect.github.com/jamesrb1 ))
- \[Customer Center] Initial implementation
([#​3967](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/3967 ))
via Cesar de la Vega
([@​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
([#​4154](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4154 ))
via Andy Boedo ([@​aboedo](https://redirect.github.com/aboedo ))
##### Dependency Updates
- Bump danger from 9.4.3 to 9.5.0
([#​4143](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4143 ))
via dependabot\[bot]
([@​dependabot](https://redirect.github.com/dependabot )\[bot])
- Bump nokogiri from 1.16.6 to 1.16.7
([#​4129](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4129 ))
via dependabot\[bot]
([@​dependabot](https://redirect.github.com/dependabot )\[bot])
- Bump fastlane from 2.221.1 to 2.222.0
([#​4130](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4130 ))
via dependabot\[bot]
([@​dependabot](https://redirect.github.com/dependabot )\[bot])
##### Other Changes
- Update deployment targets for tests
([#​4145](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4145 ))
via Andy Boedo ([@​aboedo](https://redirect.github.com/aboedo ))
- Deploy purchaserTester: clean up dry-run parameter
([#​4140](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4140 ))
via Andy Boedo ([@​aboedo](https://redirect.github.com/aboedo ))
- Clean up API Testers
([#​4141](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4141 ))
via Andy Boedo ([@​aboedo](https://redirect.github.com/aboedo ))
- More project structure cleanup
([#​4131](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4131 ))
via Andy Boedo ([@​aboedo](https://redirect.github.com/aboedo ))
- temporarily disables purchasetester deploy
([#​4133](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4133 ))
via Andy Boedo ([@​aboedo](https://redirect.github.com/aboedo ))
- Fix trigger all tests branch
([#​4135](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4135 ))
via Andy Boedo ([@​aboedo](https://redirect.github.com/aboedo ))
- Clean up XCWorkspace and testing apps
([#​4111](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4111 ))
via Andy Boedo ([@​aboedo](https://redirect.github.com/aboedo ))
- tests trigger: add target-branch parameter to trigger from the right
branch
([#​4121](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4121 ))
via Andy Boedo ([@​aboedo](https://redirect.github.com/aboedo ))
- Re-added the RevenueCatUI tests job on every commit
([#​4113](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4113 ))
via Andy Boedo ([@​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
([#​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
([#​4022](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4022 ))
via Josh Holtz
([@​joshdholtz](https://redirect.github.com/joshdholtz ))
##### Bugfixes
- Fix certain completion blocks not being dispatched on the main thread
([#​4058](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4058 ))
via Mark Villacampa
([@​MarkVillacampa](https://redirect.github.com/MarkVillacampa ))
- Only checks staged files for leftover API keys.
([#​4073](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4073 ))
via JayShortway
([@​JayShortway](https://redirect.github.com/JayShortway ))
##### Other Changes
- \[Ci] Fix trigger to run all tests from github actions
([#​4075](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4075 ))
via Andy Boedo ([@​aboedo](https://redirect.github.com/aboedo ))
- added new workflow to trigger all tests
([#​4051](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4051 ))
via Andy Boedo ([@​aboedo](https://redirect.github.com/aboedo ))
- Reduce CI jobs
([#​4025](https://redirect.github.com/RevenueCat/purchases-ios-spm/issues/4025 ))
via Andy Boedo ([@​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
09cc2dceda
feat: cleanup chat panel ( #14259 )
...
#### PR Dependency Tree
* **PR #14258**
* **PR #14259** 👈
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
* **Refactor**
* Split AI initialization into separate editor, app, and shared
registries; removed legacy chat-panel and replaced it with a
component-based editor chat, updating wiring and public exports.
* Propagated server/subscription/model services into chat/playground
components and improved session lifecycle and UI composition.
* **Tests**
* Added tests for AI effect registration and chat session resolution;
extended DOM/test utilities and assertions.
* **Chores**
* Added happy-dom for runtime and test environments.
<sub>✏️ Tip: You can customize this high-level summary in your review
settings.</sub>
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-01-26 04:02:07 +08:00
likljn
94431df236
fix(core): make member popover responsive ( #14277 )
...
## Problem
In Kanban view, clicking the `Empty` value for the Member property can
cause the member popover layout to overflow/break due to a fixed
container width.
### Before ScreenShot
<img width="410" height="119" alt="image"
src="https://github.com/user-attachments/assets/e0d28a37-2ea4-4a65-afca-e4ef10af37dd "
/>
## Repro
1. Open a Database in Kanban view
2. Ensure the Member property has some cards with `Empty`
3. Click the `Empty` member value
4. Observe the popover layout overflow/broken UI
## Solution
Make the popover container responsive by using `width: 100%` with
`maxWidth: 415px` to preserve the original intended size while
preventing overflow in narrow containers.
### After ScreenShot
<img width="410" height="146" alt="image (1)"
src="https://github.com/user-attachments/assets/d97e6b8b-eabc-499a-9f04-0422505c67bf "
/>
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **Style**
* Improved member selector popover styling: unified padding, made width
responsive with a max width limit, and added box-sizing for more
consistent layout and spacing across screen sizes.
<sub>✏️ Tip: You can customize this high-level summary in your review
settings.</sub>
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-01-18 09:37:08 +00:00
DarkSky
f373e08583
feat: refactor doc write in native ( #14272 )
2026-01-18 16:31:12 +08:00
Gabriele
753b11deeb
fix: resolve navbar overlay issue on sign-in page ( #14274 )
...
This pr fixes #14273 .
I have implemented two minor CSS adjustments to resolve the navbar
interaction issue on the sign-in page:
- Removed position: relative and z-index: 1 from signInPageContainer.
- Set z-index: 1 on the SignInPanel div (prevent SignInBackgroundArts
from overlapping the SignInPanel)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **Style**
* Adjusted z-index layering for the sign-in page component.
<sub>✏️ Tip: You can customize this high-level summary in your review
settings.</sub>
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-01-17 17:32:42 +00:00
Heera Rana
17f2ebc4de
feat: render document header image from document metadata ( #14255 )
...
### What
Adds support for rendering an optional image above the document title
using document metadata.
### Why
Provides a visual identifier for documents and improves readability for
users who rely on visual cues.
### How
- Reads `headerImage` from document metadata (if present)
- Renders the image above the editor when present
- Fully optional and non-breaking
- No BlockSuite or data model changes
### Related
fix #14240
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **New Features**
* Documents can now display header images in the page editor. When a
header image is available, it appears above the editor content,
enhancing visual presentation and providing better context for your
documents.
<sub>✏️ Tip: You can customize this high-level summary in your review
settings.</sub>
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-01-16 14:18:59 +00:00
realies
0da91e406e
feat(server): add document write tools for mcp ( #14245 )
...
## Summary
This PR adds write capabilities to AFFiNE's MCP (Model Context Protocol)
integration, enabling external tools (Claude, GPT, etc.) to create and
modify documents programmatically.
**New MCP Tools:**
- `create_document` - Create new documents from markdown content
- `update_document` - Update document content using structural diffing
for minimal changes (preserves document history and enables real-time
collaboration)
**Implementation:**
- `markdown_to_ydoc.rs` - Converts markdown to AFFiNE-compatible y-octo
binary format
- `markdown_utils.rs` - Shared markdown parsing utilities (used by both
ydoc-to-md and md-to-ydoc)
- `update_ydoc.rs` - Structural diffing implementation for updating
existing documents
- `DocWriter` service - TypeScript service for document operations
- Exposes `markdownToDocBinary` and `updateDocBinary` via napi bindings
**Supported Markdown Elements:**
- Headings (H1-H6)
- Paragraphs
- Bullet lists and numbered lists
- Code blocks (with language detection)
- Blockquotes
- Horizontal dividers
- Todo items (checkboxes)
**y-octo Changes:**
This PR reverts the y-octo sync (ca2462f , a5b60cf ) which introduced a
concurrency bug causing hangs when creating documents with many nested
block structures. It also ports the improved `get_node_index` binary
search fix from upstream that prevents divide-by-zero panics when
decoding documents.
## Test Results ✅
### Unit Tests (47/47 passing)
| Test Suite | Tests | Status |
|------------|-------|--------|
| markdown_to_ydoc | 16/16 | ✅ Pass |
| markdown_utils | 11/11 | ✅ Pass |
| update_ydoc | 13/13 | ✅ Pass |
| delta_markdown | 2/2 | ✅ Pass |
| affine (doc parser) | 5/5 | ✅ Pass |
### End-to-End MCP Testing ✅
Tested against local AFFiNE server with real MCP client requests:
| Tool | Result | Notes |
|------|--------|-------|
| `tools/list` | ✅ Pass | Returns all 5 tools with correct schemas |
| `create_document` | ✅ Pass | Successfully created test documents |
| `update_document` | ✅ Pass | Successfully updated documents with
structural diffing |
| `read_document` | ✅ Pass | Existing tool, works correctly |
| `keyword_search` | ✅ Pass | Existing tool, works correctly |
**E2E Test Details:**
- Started local AFFiNE server with PostgreSQL, Redis, and Manticore
- Created test user and workspace via seed/GraphQL
- Verified MCP endpoint at `/api/workspaces/:workspaceId/mcp`
- Tested JSON-RPC calls with proper SSE streaming
- Confirmed documents are stored and indexed correctly (verified via
server logs)
## Test Plan
- [x] All Rust unit tests pass (47 tests)
- [x] Native bindings build successfully (release mode)
- [x] Document creation via MCP works end-to-end
- [x] Document update via MCP works end-to-end
- [x] CodeRabbit feedback addressed
- [ ] Integration testing with Claude/GPT MCP clients
Closes #14161
---
**Requested by:** @realies
**Key guidance from:** @darkskygit (use y-octo instead of yjs for memory
efficiency)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **New Features**
* Create documents from Markdown: generate new documents directly from
Markdown content with automatic title extraction
* Update documents with Markdown: modify existing documents using
Markdown as the source with automatic diff calculation for efficient
updates
* Copilot integration: new tools for document creation and updates
through Copilot's interface
<sub>✏️ Tip: You can customize this high-level summary in your review
settings.</sub>
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-01-16 20:57:24 +08:00
DarkSky
2c5559ed0b
fix: missing session fields
2026-01-16 17:26:05 +08:00
DarkSky
924d58603f
chore: improve event flow ( #14266 )
2026-01-16 16:07:27 +08:00
DarkSky
00a458543f
feat: cleanup chat panel ( #14258 )
...
#### PR Dependency Tree
* **PR #14258** 👈
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
## Release Notes
* **Removed Features**
* Web search functionality has been removed from AI chat and related AI
features. Users will no longer see network search options or toggles in
chat preferences and panels.
* AI chat requests no longer support external web search capabilities.
<sub>✏️ Tip: You can customize this high-level summary in your review
settings.</sub>
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
#### PR Dependency Tree
* **PR #14258** 👈
* **PR #14259**
This tree was auto-generated by
[Charcoal](https://github.com/danerwilliams/charcoal )
2026-01-15 19:20:55 +08:00
DarkSky
ac7a95e708
feat: misc optimizations ( #14257 )
...
fix #13798
2026-01-15 03:47:22 +08:00
DarkSky
76e1721d70
fix: journal conflict handle
2026-01-15 00:55:35 +08:00
DarkSky
fc59dff9e2
chore: enable blur background for mac
2026-01-15 00:35:11 +08:00
DarkSky
27a58e764c
chore: bump version & deps
2026-01-15 00:33:51 +08:00
DarkSky
13907f7234
fix(core): event flow handle ( #14256 )
2026-01-15 00:04:32 +08:00
DarkSky
7c24b2521a
feat: reduce backend ( #14251 )
...
#### PR Dependency Tree
* **PR #14251** 👈
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**
* Current user profile now exposes access tokens, revealed tokens, and
detailed calendar accounts/subscriptions.
* Workspace now exposes permissions, calendars, calendar events, and a
workspace-scoped blob upload part URL.
* New document-update mutation for applying doc updates.
* **API Changes**
* validateAppConfig is now a query (mutation deprecated).
* Several legacy top-level calendar/blob endpoints deprecated in favor
of user/workspace fields.
* **Refactor**
* Calendar, blob-upload and access-token surfaces reorganized to use
user/workspace-centric fields.
<sub>✏️ Tip: You can customize this high-level summary in your review
settings.</sub>
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-01-14 00:01:07 +08:00
github-actions[bot]
7c440686ad
chore(i18n): sync translations ( #14148 )
...
New Crowdin translations by [Crowdin GH
Action](https://github.com/crowdin/github-action )
---------
Co-authored-by: Crowdin Bot <support+bot@crowdin.com >
Co-authored-by: DarkSky <darksky2048@gmail.com >
2026-01-13 22:09:42 +08:00
DarkSky
b331a08744
feat: native update merge ( #14250 )
...
#### PR Dependency Tree
* **PR #14250** 👈
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
* **Backend Optimization**
* Faster document retrieval via a native binary fetch path.
* Native-accelerated merging of document updates for improved
performance and consistency.
* **Indexing & Reliability**
* Indexing now only proceeds on valid parse results, with clearer
warnings and richer metadata on failures.
* More consistent sync behavior and enhanced diagnostic logging for
indexing operations.
* **Tests**
* Expanded tests to cover native binary retrieval error handling.
<sub>✏️ Tip: You can customize this high-level summary in your review
settings.</sub>
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-01-13 22:03:55 +08:00
DarkSky
279b7bb64f
feat(core): integrate google calendar sync ( #14248 )
...
fix #14170
fix #13893
fix #13673
fix #13543
fix #13308
fix #7607
#### PR Dependency Tree
* **PR #14247**
* **PR #14248** 👈
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**
* Integrations panel in Account Settings to link/unlink calendar
providers.
* Collapsible settings wrapper for improved layout.
* **Improvements**
* Calendar system reworked: per-account calendar groups, simplified
toggles with explicit Save, richer event display (multi-dot date
indicators), improved event time/title handling across journal views.
* **Localization**
* Added calendar keys: save-error, no-journal, no-calendar; removed
legacy duplicate-error keys.
<sub>✏️ Tip: You can customize this high-level summary in your review
settings.</sub>
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-01-13 02:38:16 +08:00
DarkSky
89f0430242
fix: race conditions ( y-crdt/y-octo#51 )
2026-01-13 01:10:07 +08:00
DarkSky
0bd8160ed4
feat: init cloud calendar support ( #14247 )
...
#### PR Dependency Tree
* **PR #14247** 👈
* **PR #14248**
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**
* Google Calendar integration (disabled by default): link/unlink
accounts, OAuth flow, webhooks, real-time push, background sync,
workspace calendars with customizable items and date-range event
viewing.
* **GraphQL / Client**
* New queries & mutations for accounts, subscriptions, events,
providers, and workspace calendar management.
* **Localization**
* Added localized error message for calendar provider request failures.
* **Tests**
* Backend tests covering sync, webhook renewal, and error/error-recovery
scenarios.
<sub>✏️ Tip: You can customize this high-level summary in your review
settings.</sub>
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-01-12 23:17:43 +08:00
DarkSky
a5b60cf679
fix: index calc & detached node handle ( y-crdt/y-octo#50 )
2026-01-11 18:44:55 +08:00
DarkSky
ca2462f987
feat(native): sync yocto codes ( #14243 )
...
#### PR Dependency Tree
* **PR #14243** 👈
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**
* Batch management API for coordinated document mutations and change
tracking.
* New document accessors (IDs, state snapshots, change/delete set
queries) and subscriber count.
* **Chores**
* Upgraded Rust edition across packages to 2024.
* Repository-wide formatting, stylistic cleanups and test adjustments.
* **Breaking Changes**
* Removed the Node native bindings package and its JS/TS declarations
and tests (no longer published/available).
<sub>✏️ Tip: You can customize this high-level summary in your review
settings.</sub>
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-01-11 06:08:33 +08:00
DarkSky
e4dc82ee35
chore: bump deps ( #14227 )
...
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **Chores**
* Updated backend service dependencies to the latest stable versions for
improved performance and security.
* Upgraded UI component library dependencies to the latest minor
releases.
* **Improvements**
* Enhanced web search functionality for better search results on
standard AI models.
<sub>✏️ Tip: You can customize this high-level summary in your review
settings.</sub>
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-01-07 13:15:17 +08:00
renovate[bot]
aa6f26b1a5
chore: bump up opentelemetry ( #14208 )
...
This PR contains the following updates:
| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/ ) |
[Confidence](https://docs.renovatebot.com/merge-confidence/ ) |
|---|---|---|---|
|
[@opentelemetry/instrumentation-ioredis](https://redirect.github.com/open-telemetry/opentelemetry-js-contrib/tree/main/packages/instrumentation-ioredis#readme )
([source](https://redirect.github.com/open-telemetry/opentelemetry-js-contrib/tree/HEAD/packages/instrumentation-ioredis ))
| [`^0.56.0` →
`^0.57.0`](https://renovatebot.com/diffs/npm/@opentelemetry%2finstrumentation-ioredis/0.56.0/0.57.0 )
|

|

|
|
[@opentelemetry/instrumentation-socket.io](https://redirect.github.com/open-telemetry/opentelemetry-js-contrib/tree/main/packages/instrumentation-socket.io#readme )
([source](https://redirect.github.com/open-telemetry/opentelemetry-js-contrib/tree/HEAD/packages/instrumentation-socket.io ))
| [`0.55.0` →
`0.55.1`](https://renovatebot.com/diffs/npm/@opentelemetry%2finstrumentation-socket.io/0.55.0/0.55.1 )
|

|

|
---
### Release Notes
<details>
<summary>open-telemetry/opentelemetry-js-contrib
(@​opentelemetry/instrumentation-ioredis)</summary>
###
[`v0.57.0`](https://redirect.github.com/open-telemetry/opentelemetry-js-contrib/blob/HEAD/packages/instrumentation-ioredis/CHANGELOG.md#0570-2025-12-17 )
[Compare
Source](https://redirect.github.com/open-telemetry/opentelemetry-js-contrib/compare/94e5b7da4500459e38e8d4dfda93542f22159600...66935ac724cc271f70028035e534d47a4dfbcf12 )
##### Features
- **instrumentations-ioredis:** support `net.*` and database semconv
migration
([#​3266](https://redirect.github.com/open-telemetry/opentelemetry-js-contrib/issues/3266 ))
([9f92c8b](https://redirect.github.com/open-telemetry/opentelemetry-js-contrib/commit/9f92c8b5b1660ff83ae27a733d13ac9f71695484 ))
##### Dependencies
- The following workspace dependencies were updated
- devDependencies
-
[@​opentelemetry/contrib-test-utils](https://redirect.github.com/opentelemetry/contrib-test-utils )
bumped from ^0.55.0 to ^0.56.0
</details>
<details>
<summary>open-telemetry/opentelemetry-js-contrib
(@​opentelemetry/instrumentation-socket.io)</summary>
###
[`v0.55.1`](https://redirect.github.com/open-telemetry/opentelemetry-js-contrib/blob/HEAD/packages/instrumentation-socket.io/CHANGELOG.md#0551-2025-12-17 )
[Compare
Source](https://redirect.github.com/open-telemetry/opentelemetry-js-contrib/compare/94e5b7da4500459e38e8d4dfda93542f22159600...66935ac724cc271f70028035e534d47a4dfbcf12 )
##### Dependencies
- The following workspace dependencies were updated
- devDependencies
-
[@​opentelemetry/contrib-test-utils](https://redirect.github.com/opentelemetry/contrib-test-utils )
bumped from ^0.55.0 to ^0.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.
👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config
help](https://redirect.github.com/renovatebot/renovate/discussions ) if
that's undesired.
---
- [ ] <!-- 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:eyJjcmVhdGVkSW5WZXIiOiI0Mi42OS4xIiwidXBkYXRlZEluVmVyIjoiNDIuNjkuMSIsInRhcmdldEJyYW5jaCI6ImNhbmFyeSIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-07 11:45:15 +08:00
DarkSky
b8e597fa1d
fix: hide search local label if need
2026-01-07 10:42: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
Yiding Jia
a11e9fe8ca
feat(server): add LISTEN_ADDR env var for allowing server to listen on ipv6 ( #14211 )
...
The old code hardcoded 0.0.0.0 which means the server only listened for
ipv4 connections, making it not work on ipv6-only networks.
This change adds a LISTEN_ADDR env var which allows the server to bind
to ipv6 as well.
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **New Features**
* Server listen address is now configurable via the LISTEN_ADDR
environment variable (default: 0.0.0.0), enabling IPv4/IPv6 or
interface-specific binding.
* Configuration schemas and admin UI now expose the listen address
option so deployments can view and override it.
<sub>✏️ Tip: You can customize this high-level summary in your review
settings.</sub>
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-01-05 09:31:47 +00:00
DarkSky
f42246aba1
fix: allow method for cors
2026-01-05 13:14:56 +08:00
DarkSky
e7d0f31546
fix: blob redirect
2026-01-04 00:23:51 +08:00
DarkSky
fe5d6c0c0f
feat(editor): support frontmatter & colored text parsing ( #14205 )
...
fix #13847
2026-01-03 22:43:11 +08:00
Yiding Jia
510933becf
chore(server): bump ioredis to 5.8.2 for ipv6 support ( #14204 )
...
Bump ioredis to 5.8.2 for ipv6 support.
Prior to 5.8.2 ioredis required passing `family: 0` or `family: 6` when
constructing a client in order to connect to redis over ipv6. This was
fixed in 5.8.2.
fix #14197
2026-01-03 01:06:30 +00:00
DarkSky
3633c75c6f
feat: cleanup tables ( #14203 )
...
#### PR Dependency Tree
* **PR #14203** 👈
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**
* Removed deprecated database tables, enums and schema fields (cleanup
of legacy subscription, invoice, runtime settings and session expiry
data). This includes irreversible data removal for those legacy
elements.
* **Tests**
* Updated tests and test data to align with the cleaned-up schema and
removed fields.
<sub>✏️ Tip: You can customize this high-level summary in your review
settings.</sub>
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-01-03 03:50:14 +08:00
DarkSky
41addfe311
fix: blob sync
2026-01-03 01:40:13 +08:00
DarkSky
9a7f8e7d4d
feat: workspace level share settings ( #14201 )
...
fix #13698
2026-01-03 01:13:27 +08:00
DarkSky
60de882a30
feat: shared link list ( #14200 )
...
#### PR Dependency Tree
* **PR #14200** 👈
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
## Release Notes
* **New Features**
* Added a "Shared Links" panel to workspace management, enabling admins
to view all published documents within a workspace
* Added publication date tracking for published documents, now displayed
alongside shared links
* **Chores**
* Removed deprecated `publicPages` field; use `publicDocs` instead
<sub>✏️ Tip: You can customize this high-level summary in your review
settings.</sub>
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-01-02 21:07:41 +08:00
zetaloop
9f96633b33
fix: normalize shortcut display ( #14196 )
...
Normalize shortcut tokens and remove stray whitespace.
Uncomment group/ungroup shortcuts now that the feature is implemented.
Fix Windows redo shortcut display.
<img width="142" height="230" alt="image"
src="https://github.com/user-attachments/assets/989e061e-1ca2-489c-ab8e-6baad853d438 "
/><img width="142" height="37" alt="image"
src="https://github.com/user-attachments/assets/671ed9b2-ccad-44ad-8889-7810bb01143c "
/>
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **Chores**
* Standardized keyboard shortcut representations across the application
for improved consistency and clarity in shortcut displays.
* Corrected spacing inconsistencies in shortcut entries to ensure
uniform formatting.
<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-01 13:07:35 +00:00
DarkSky
1e8095c224
fix: ci
2026-01-01 18:20:18 +08:00
DarkSky
0b0ae5ea0a
feat: add queue management for admin panel
2026-01-01 06:13:50 +08:00
DarkSky
f745f7b669
feat: pre-aggregation workspace stats
2026-01-01 05:01:52 +08:00
DarkSky
97507e7043
fix: query type cast
2026-01-01 02:41:03 +08:00
DarkSky
91e6f3c45c
feat: improve workspace index
2026-01-01 01:39:40 +08:00
DarkSky
c7b74384a4
fix: types
2025-12-31 23:55:51 +08:00
DarkSky
20c4951847
feat: improve workspace list perf
2025-12-31 22:59:52 +08:00
DarkSky
bc03fab649
chore: cleanup logs
2025-12-31 12:31:58 +08:00
DarkSky
99332228da
feat: native sync state ( #14190 )
...
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **New Features**
* Added indexed clock management capabilities for documents, enabling
get, set, and clear operations across Android, iOS, Electron, and web
platforms.
* **Refactor**
* Improved storage architecture to dynamically select platform-specific
implementations (SQLite for Electron, IndexedDB for others).
* **Bug Fixes**
* Enhanced document operations to properly maintain and clean up indexer
synchronization state during document lifecycle changes.
<sub>✏️ Tip: You can customize this high-level summary in your review
settings.</sub>
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-12-31 04:09:32 +08:00
DarkSky
95ef04f3e0
fix: cloud workspace search prefer & highlights
2025-12-30 12:46:43 +08:00
DarkSky
e2adab7805
fix: table compatibility ( #14185 )
2025-12-30 12:01:27 +08:00