mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-02-04 08:38:34 +00:00
b49e48b467ead5d0c73ecd67bcd3b2d6d5cc85cc
10973 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
b49e48b467 | feat: add new tool | ||
|
|
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> |
||
|
|
5041578768 |
feat: bump ios toolchain (#14325)
#### PR Dependency Tree * **PR #14325** 👈 This tree was auto-generated by [Charcoal](https://github.com/danerwilliams/charcoal)v0.26.0-beta.9 |
||
|
|
b8f626513f |
feat: disable high power consumption without charger (#14281)
Co-authored-by: DarkSky <darksky2048@gmail.com> |
||
|
|
3b4b0bad22 | feat: improve admin panel styles (#14318) | ||
|
|
7d47cc52b6 |
fix: firefox input (#14315)
fix #14296 fix #14289 #### PR Dependency Tree * **PR #14315** 👈 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** * Improved inline editor stability for selection edge cases and beforeinput handling, with better recovery and native-input protection. * Fixed potential crashes when deleting with selections outside the editor bounds, including Firefox-specific scenarios. * **Tests** * Added unit tests covering beforeinput behavior and added Firefox end-to-end regression tests. * **Chores** * Reduced CI test parallelism to streamline pipeline. <sub>✏️ Tip: You can customize this high-level summary in your review settings.</sub> <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
27ed15a83e |
fix: chat session cannot delete (#14312)
fix #14309 #### PR Dependency Tree * **PR #14312** 👈 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 AI chat session deletion with confirmation dialogs and success/failure notifications. * Localized AI chat panel labels, loading messages, and session management text across multiple languages. * **Documentation** * Added internationalization support for chat panel titles, history loading states, and deletion confirmations. <sub>✏️ Tip: You can customize this high-level summary in your review settings.</sub> <!-- end of auto-generated comment: release notes by coderabbit.ai --> |
||
|
|
5498133627 |
chore: bump up rustc version to v1.93.0 (#14303)
This PR contains the following updates: | Package | Update | Change | |---|---|---| | [rustc](https://redirect.github.com/rust-lang/rust) | minor | `1.92.0` → `1.93.0` | --- ### Release Notes <details> <summary>rust-lang/rust (rustc)</summary> ### [`v1.93.0`](https://redirect.github.com/rust-lang/rust/blob/HEAD/RELEASES.md#Version-1930-2026-01-22) [Compare Source](https://redirect.github.com/rust-lang/rust/compare/1.92.0...1.93.0) \========================== <a id="1.93.0-Language"></a> ## Language - [Stabilize several s390x `vector`-related target features and the `is_s390x_feature_detected!` macro](https://redirect.github.com/rust-lang/rust/pull/145656) - [Stabilize declaration of C-style variadic functions for the `system` ABI](https://redirect.github.com/rust-lang/rust/pull/145954) - [Emit error when using some keyword as a `cfg` predicate](https://redirect.github.com/rust-lang/rust/pull/146978) - [Stabilize `asm_cfg`](https://redirect.github.com/rust-lang/rust/pull/147736) - [During const-evaluation, support copying pointers byte-by-byte](https://redirect.github.com/rust-lang/rust/pull/148259) - [LUB coercions now correctly handle function item types, and functions with differing safeties](https://redirect.github.com/rust-lang/rust/pull/148602) - [Allow `const` items that contain mutable references to `static` (which is *very* unsafe, but not *always* UB)](https://redirect.github.com/rust-lang/rust/pull/148746) - [Add warn-by-default `const_item_interior_mutations` lint to warn against calls which mutate interior mutable `const` items](https://redirect.github.com/rust-lang/rust/pull/148407) - [Add warn-by-default `function_casts_as_integer` lint](https://redirect.github.com/rust-lang/rust/pull/141470) <a id="1.93.0-Compiler"></a> ## Compiler - [Stabilize `-Cjump-tables=bool`](https://redirect.github.com/rust-lang/rust/pull/145974). The flag was previously called `-Zno-jump-tables`. <a id="1.93.0-Platform-Support"></a> ## Platform Support - [Promote `riscv64a23-unknown-linux-gnu` to Tier 2 (without host tools)](https://redirect.github.com/rust-lang/rust/pull/148435) Refer to Rust's [platform support page][platform-support-doc] for more information on Rust's tiered platform support. [platform-support-doc]: https://doc.rust-lang.org/rustc/platform-support.html <a id="1.93.0-Libraries"></a> ## Libraries - [Stop internally using `specialization` on the `Copy` trait as it is unsound in the presence of lifetime dependent `Copy` implementations. This may result in some performance regressions as some standard library APIs may now call `Clone::clone` instead of performing bitwise copies](https://redirect.github.com/rust-lang/rust/pull/135634) - [Allow the global allocator to use thread-local storage and `std::thread::current()`](https://redirect.github.com/rust-lang/rust/pull/144465) - [Make `BTree::append` not update existing keys when appending an entry which already exists](https://redirect.github.com/rust-lang/rust/pull/145628) - [Don't require `T: RefUnwindSafe` for `vec::IntoIter<T>: UnwindSafe`](https://redirect.github.com/rust-lang/rust/pull/145665) <a id="1.93.0-Stabilized-APIs"></a> ## Stabilized APIs - [`<[MaybeUninit<T>]>::assume_init_drop`](https://doc.rust-lang.org/stable/core/primitive.slice.html#method.assume_init_drop) - [`<[MaybeUninit<T>]>::assume_init_ref`](https://doc.rust-lang.org/stable/core/primitive.slice.html#method.assume_init_ref) - [`<[MaybeUninit<T>]>::assume_init_mut`](https://doc.rust-lang.org/stable/core/primitive.slice.html#method.assume_init_mut) - [`<[MaybeUninit<T>]>::write_copy_of_slice`](https://doc.rust-lang.org/stable/std/primitive.slice.html#method.write_copy_of_slice) - [`<[MaybeUninit<T>]>::write_clone_of_slice`](https://doc.rust-lang.org/stable/std/primitive.slice.html#method.write_clone_of_slice) - [`String::into_raw_parts`](https://doc.rust-lang.org/stable/std/string/struct.String.html#method.into_raw_parts) - [`Vec::into_raw_parts`](https://doc.rust-lang.org/stable/std/vec/struct.Vec.html#method.into_raw_parts) - [`<iN>::unchecked_neg`](https://doc.rust-lang.org/stable/std/primitive.isize.html#method.unchecked_neg) - [`<iN>::unchecked_shl`](https://doc.rust-lang.org/stable/std/primitive.isize.html#method.unchecked_shl) - [`<iN>::unchecked_shr`](https://doc.rust-lang.org/stable/std/primitive.isize.html#method.unchecked_shr) - [`<uN>::unchecked_shl`](https://doc.rust-lang.org/stable/std/primitive.usize.html#method.unchecked_shl) - [`<uN>::unchecked_shr`](https://doc.rust-lang.org/stable/std/primitive.usize.html#method.unchecked_shr) - [`<[T]>::as_array`](https://doc.rust-lang.org/stable/std/primitive.slice.html#method.as_array) - [`<[T]>::as_mut_array`](https://doc.rust-lang.org/stable/std/primitive.slice.html#method.as_mut_array) - [`<*const [T]>::as_array`](https://doc.rust-lang.org/stable/std/primitive.pointer.html#method.as_array) - [`<*mut [T]>::as_mut_array`](https://doc.rust-lang.org/stable/std/primitive.pointer.html#method.as_mut_array) - [`VecDeque::pop_front_if`](https://doc.rust-lang.org/stable/std/collections/struct.VecDeque.html#method.pop_front_if) - [`VecDeque::pop_back_if`](https://doc.rust-lang.org/stable/std/collections/struct.VecDeque.html#method.pop_back_if) - [`Duration::from_nanos_u128`](https://doc.rust-lang.org/stable/std/time/struct.Duration.html#method.from_nanos_u128) - [`char::MAX_LEN_UTF8`](https://doc.rust-lang.org/stable/std/primitive.char.html#associatedconstant.MAX_LEN_UTF8) - [`char::MAX_LEN_UTF16`](https://doc.rust-lang.org/stable/std/primitive.char.html#associatedconstant.MAX_LEN_UTF16) - [`std::fmt::from_fn`](https://doc.rust-lang.org/stable/std/fmt/fn.from_fn.html) - [`std::fmt::FromFn`](https://doc.rust-lang.org/stable/std/fmt/struct.FromFn.html) <a id="1.93.0-Cargo"></a> ## Cargo - [Enable CARGO\_CFG\_DEBUG\_ASSERTIONS in build scripts based on profile](https://redirect.github.com/rust-lang/cargo/pull/16160/) - [In `cargo tree`, support long forms for `--format` variables](https://redirect.github.com/rust-lang/cargo/pull/16204/) - [Add `--workspace` to `cargo clean`](https://redirect.github.com/rust-lang/cargo/pull/16263/) <a id="1.93.0-Rustdoc"></a> ## Rustdoc - [Remove `#![doc(document_private_items)]`](https://redirect.github.com/rust-lang/rust/pull/146495) - [Include attribute and derive macros in search filters for "macros"](https://redirect.github.com/rust-lang/rust/pull/148176) - [Include extern crates in search filters for `import`](https://redirect.github.com/rust-lang/rust/pull/148301) - [Validate usage of crate-level doc attributes](https://redirect.github.com/rust-lang/rust/pull/149197). This means if any of `html_favicon_url`, `html_logo_url`, `html_playground_url`, `issue_tracker_base_url`, or `html_no_source` either has a missing value, an unexpected value, or a value of the wrong type, rustdoc will emit the deny-by-default lint `rustdoc::invalid_doc_attributes`. <a id="1.93.0-Compatibility-Notes"></a> ## Compatibility Notes - [Introduce `pin_v2` into the builtin attributes namespace](https://redirect.github.com/rust-lang/rust/pull/139751) - [Update bundled musl to 1.2.5](https://redirect.github.com/rust-lang/rust/pull/142682) - [On Emscripten, the unwinding ABI used when compiling with `panic=unwind` was changed from the JS exception handling ABI to the wasm exception handling ABI.](https://redirect.github.com/rust-lang/rust/pull/147224) If linking C/C++ object files with Rust objects, `-fwasm-exceptions` must be passed to the linker now. On nightly Rust, it is possible to get the old behavior with `-Zwasm-emscripten-eh=false -Zbuild-std`, but it will be removed in a future release. - The `#[test]` attribute, used to define tests, was previously ignored in various places where it had no meaning (e.g on trait methods or types). Putting the `#[test]` attribute in these places is no longer ignored, and will now result in an error; this may also result in errors when generating rustdoc. [Error when `test` attribute is applied to structs](https://redirect.github.com/rust-lang/rust/pull/147841) - Cargo now sets the `CARGO_CFG_DEBUG_ASSERTIONS` environment variable in more situations. This will cause crates depending on `static-init` versions 1.0.1 to 1.0.3 to fail compilation with "failed to resolve: use of unresolved module or unlinked crate `parking_lot`". See [the linked issue](https://redirect.github.com/rust-lang/rust/issues/150646#issuecomment-3718964342) for details. - [User written types in the `offset_of!` macro are now checked to be well formed.](https://redirect.github.com/rust-lang/rust/issues/150465/) - `cargo publish` no longer emits `.crate` files as a final artifact for user access when the `build.build-dir` config is unset - [Upgrade the `deref_nullptr` lint from warn-by-default to deny-by-default](https://redirect.github.com/rust-lang/rust/pull/148122) - [Add future-incompatibility warning for `...` function parameters without a pattern outside of `extern` blocks](https://redirect.github.com/rust-lang/rust/pull/143619) - [Introduce future-compatibility warning for `repr(C)` enums whose discriminant values do not fit into a `c_int` or `c_uint`](https://redirect.github.com/rust-lang/rust/pull/147017) - [Introduce future-compatibility warning against ignoring `repr(C)` types as part of `repr(transparent)`](https://redirect.github.com/rust-lang/rust/pull/147185) </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> |
||
|
|
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 -->
|
||
|
|
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]( |
||
|
|
268eb1f7ba |
chore: bump up Node.js to v22.22.0 (#14299)
This PR contains the following updates: | Package | Update | Change | |---|---|---| | [node](https://nodejs.org) ([source](https://redirect.github.com/nodejs/node)) | minor | `22.21.1` → `22.22.0` | --- ### Release Notes <details> <summary>nodejs/node (node)</summary> ### [`v22.22.0`](https://redirect.github.com/nodejs/node/releases/tag/v22.22.0): 2026-01-13, Version 22.22.0 'Jod' (LTS), @​marco-ippolito [Compare Source](https://redirect.github.com/nodejs/node/compare/v22.21.1...v22.22.0) This is a security release. ##### Notable Changes lib: - (CVE-2025-59465) add TLSSocket default error handler - (CVE-2025-55132) disable futimes when permission model is enabled lib,permission: - (CVE-2025-55130) require full read and write to symlink APIs src: - (CVE-2025-59466) rethrow stack overflow exceptions in async\_hooks src,lib: - (CVE-2025-55131) refactor unsafe buffer creation to remove zero-fill toggle tls: - (CVE-2026-21637) route callback exceptions through error handlers ##### Commits - \[[`6badf4e6f4`](https://redirect.github.com/nodejs/node/commit/6badf4e6f4)] - **deps**: update c-ares to v1.34.6 (Node.js GitHub Bot) [#​60997](https://redirect.github.com/nodejs/node/pull/60997) - \[[`37509c3ff0`](https://redirect.github.com/nodejs/node/commit/37509c3ff0)] - **deps**: update undici to 6.23.0 (Matteo Collina) [nodejs-private/node-private#791](https://redirect.github.com/nodejs-private/node-private/pull/791) - \[[`eb8e41f8db`](https://redirect.github.com/nodejs/node/commit/eb8e41f8db)] - **(CVE-2025-59465)** **lib**: add TLSSocket default error handler (RafaelGSS) [nodejs-private/node-private#797](https://redirect.github.com/nodejs-private/node-private/pull/797) - \[[`ebbf942a83`](https://redirect.github.com/nodejs/node/commit/ebbf942a83)] - **(CVE-2025-55132)** **lib**: disable futimes when permission model is enabled (RafaelGSS) [nodejs-private/node-private#748](https://redirect.github.com/nodejs-private/node-private/pull/748) - \[[`6b4849583a`](https://redirect.github.com/nodejs/node/commit/6b4849583a)] - **(CVE-2025-55130)** **lib,permission**: require full read and write to symlink APIs (RafaelGSS) [nodejs-private/node-private#760](https://redirect.github.com/nodejs-private/node-private/pull/760) - \[[`ddadc31f09`](https://redirect.github.com/nodejs/node/commit/ddadc31f09)] - **(CVE-2025-59466)** **src**: rethrow stack overflow exceptions in async\_hooks (Matteo Collina) [nodejs-private/node-private#773](https://redirect.github.com/nodejs-private/node-private/pull/773) - \[[`d4d9f3915f`](https://redirect.github.com/nodejs/node/commit/d4d9f3915f)] - **(CVE-2025-55131)** **src,lib**: refactor unsafe buffer creation to remove zero-fill toggle (Сковорода Никита Андреевич) [nodejs-private/node-private#759](https://redirect.github.com/nodejs-private/node-private/pull/759) - \[[`25d6799df6`](https://redirect.github.com/nodejs/node/commit/25d6799df6)] - **(CVE-2026-21637)** **tls**: route callback exceptions through error handlers (Matteo Collina) [nodejs-private/node-private#796](https://redirect.github.com/nodejs-private/node-private/pull/796) </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> |
||
|
|
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> |
||
|
|
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 --> |
||
|
|
02449026b9 |
fix: add expose port 3010 in Dockerfile (#14293)
Expose is requierd for automatic port finding with load balancers like
Traefik without having to configure the port explict.
> error="service \"affine-affine\" error: port is missing"
container=affine-affine-a76ca4362da101be5a53279db7aac67595a9df0783b0026efc3e5431009cbd66
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **Chores**
* Updated deployment configuration for container port exposure.
<sub>✏️ Tip: You can customize this high-level summary in your review
settings.</sub>
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
|
||
|
|
056f2c1161 | fix: should allow affine.pro to be embedded (#14285) | ||
|
|
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 --> |
||
|
|
f373e08583 | feat: refactor doc write in native (#14272) v0.26.0-beta.8 | ||
|
|
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 --> |
||
|
|
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 --> |
||
|
|
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 ( |
||
|
|
2c5559ed0b | fix: missing session fields | ||
|
|
924d58603f | chore: improve event flow (#14266) | ||
|
|
d4581b839a | chore: add tools | ||
|
|
8d14607c2b | feat: improve indexer perf v0.26.0-beta.7 | ||
|
|
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) |
||
|
|
ac7a95e708 |
feat: misc optimizations (#14257)
fix #13798 |
||
|
|
76e1721d70 | fix: journal conflict handle v0.26.0-beta.6 | ||
|
|
fc59dff9e2 | chore: enable blur background for mac | ||
|
|
27a58e764c | chore: bump version & deps | ||
|
|
13907f7234 | fix(core): event flow handle (#14256) | ||
|
|
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 --> |
||
|
|
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>v0.26.0-beta.5 |
||
|
|
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 --> |
||
|
|
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 --> |
||
|
|
89f0430242 | fix: race conditions (y-crdt/y-octo#51) | ||
|
|
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 --> |
||
|
|
a5b60cf679 | fix: index calc & detached node handle (y-crdt/y-octo#50) | ||
|
|
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 --> |
||
|
|
d515d295ce |
feat(editor): enhance string comparison handling in eval.ts (#14233)
Refactors the compareString function to safely handle null and undefined
inputs and improves overall string comparison logic. This prevents
incorrect sort behavior and ensures consistent ordering when comparing
mixed or missing values, particularly in table view sorting scenarios.
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **Bug Fixes**
* Improved string comparison used for sorting: empty values are
consistently placed last, numeric parts sort numerically before
non-numeric parts, and mixed-type and case variations are handled more
predictably for stable, consistent ordering across data views.
<sub>✏️ Tip: You can customize this high-level summary in your review
settings.</sub>
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
|
||
|
|
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 -->
|
||
|
|
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]( |
||
|
|
c1d43b9b18 |
fix(editor): keep slash menu alive on text input when no_result (#14141)
**Problem** Slash menu can be prematurely aborted when the query is still in `no_result` due to async query updates after deletion. **Solution** Keep the slash menu alive on text input while in `no_result`, preventing aborts based on a stale query state. **Repro** 1. Type `/eeee` 2. Delete to `/` 3. Type `h` 4. Slash menu should recover and show results <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Bug Fixes** * Enhanced slash-menu keyboard interaction: users can now continue typing to refine queries when no results are displayed, instead of the menu closing unexpectedly. Keyboard navigation and other controls remain responsive. <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> |
||
|
|
b8e597fa1d | fix: hide search local label if need | ||
|
|
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>v0.26.0-beta.4 |
||
|
|
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 -->
|
||
|
|
f42246aba1 | fix: allow method for cors | ||
|
|
f5394b7450 |
fix: refine handling for non-standard keyboards to avoid incorrect keyCode fallback (#14206)
Fix https://github.com/toeverything/AFFiNE/issues/14059
With the help of Claude Opus 4.5
Improve handling of keyCode fallback for non-standard keyboards by only
applying it when modifier keys are pressed. This change prevents
incorrect fallback behavior for non-ASCII characters, ensuring users can
type intended characters without triggering shortcuts.
After
https://github.com/user-attachments/assets/00ab4fb2-4bc2-4ca7-a284-9782686d298c
Event dump for Cyrillic x
```json
{
"key": "х",
"keyCode": 219,
"which": 219,
"code": "BracketLeft",
"location": 0,
"altKey": false,
"ctrlKey": false,
"metaKey": false,
"shiftKey": false,
"repeat": false
}
```
blocksuite commit
|
||
|
|
e7d0f31546 | fix: blob redirect | ||
|
|
fe5d6c0c0f |
feat(editor): support frontmatter & colored text parsing (#14205)
fix #13847 |
||
|
|
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 |