Commit Graph

834 Commits

Author SHA1 Message Date
keepClamDown
73e2d10973 feat(ios): polish onboarding and native sign-in flow (#15217)
## Summary
- Reworks the iOS onboarding, native sign-in, and paywall flow so
first-install and cold-start entry stay native, adaptive, and aligned
with the current login/subscription gates.
- Removes onboarding swipe paging, refines onboarding/paywall layout
behavior, and keeps AI/paywall entry behavior consistent for logged-in
and subscribed users.
- Adds the new mobile all-docs empty states with localized copy and
dialog entry points, and closes the remaining review follow-ups by
removing the onboarding plan artifact and dropping the iOS AI
subscription bypass.

## Test plan
- Built the iOS app for simulator with `xcodebuild -workspace
App.xcworkspace -scheme App -configuration Debug -sdk iphonesimulator
-destination 'generic/platform=iOS Simulator' ARCHS=arm64
ONLY_ACTIVE_ARCH=YES CODE_SIGNING_ALLOWED=NO CODE_SIGNING_REQUIRED=NO
build` during the native onboarding/sign-in flow work.
- Let the repo pre-commit hooks run on the latest follow-up commit
(`prettier` + `eslint --fix`).
- Checked diagnostics for the edited TS/TSX files after the review
follow-up changes.
- Manually iterated on onboarding/native sign-in/paywall UI states in
simulator during implementation.

---------

Co-authored-by: DarkSky <darksky2048@gmail.com>
2026-08-21 08:12:27 +08:00
DarkSky
6375f5ab8c chore: bump typescript 7 (#15465) 2026-08-11 03:09:54 +08:00
DarkSky
0c7b20dc18 chore: migrate oxlint & oxfmt (#15464)
#### PR Dependency Tree


* **PR #15464** 👈

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

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

## Summary by CodeRabbit

* **Chores**
* Replaced the project’s formatting and linting workflow with Oxfmt and
Oxlint.
* Added shared formatting and linting configuration, editor integration,
and updated automated checks.
* Updated generated files, scripts, and lint guidance to use the new
tooling.

* **Style**
* Reformatted templates, source code, examples, and configuration files
for consistent readability.
  * No user-facing functionality or rendering behavior changed.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-08-10 23:51:28 +08:00
Adit Syed Afnan
f0c7a45706 fix(editor): allow selection of earlier dates(#15436)
### Description
This PR fixes a bug where the date picker inside the property panel
restricted users from selecting dates prior to 1970.

**Changes:**
- Updated the minimum date constant (`DATE_MIN`) in the date picker
calendar from `1970-01-01` to `1900-01-01`.
- This allows a broader historical range of dates to be selected,
properly supporting birth dates and historical events.

### Related Issues
Fixes #15435 

### Type of Change
- [x] Bug fix (non-breaking change which fixes an issue)

### Testing Done
- Verified that the property date picker allows navigation and selection
of years prior to 1970.

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

* **Bug Fixes**
* Expanded the date picker’s supported range to include dates from
January 1, 1900.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-08-07 19:29:34 +08:00
renovate[bot]
c70eb811b9 chore: bump up @atlaskit/pragmatic-drag-and-drop-hitbox version to v2 (#15397)
This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
|
[@atlaskit/pragmatic-drag-and-drop-hitbox](https://atlassian.design/components/pragmatic-drag-and-drop/)
([source](https://redirect.github.com/atlassian/pragmatic-drag-and-drop))
| [`^1.1.0` →
`^2.0.0`](https://renovatebot.com/diffs/npm/@atlaskit%2fpragmatic-drag-and-drop-hitbox/1.1.0/2.0.0)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/@atlaskit%2fpragmatic-drag-and-drop-hitbox/2.0.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@atlaskit%2fpragmatic-drag-and-drop-hitbox/1.1.0/2.0.0?slim=true)
|

---

### Release Notes

<details>
<summary>atlassian/pragmatic-drag-and-drop
(@&#8203;atlaskit/pragmatic-drag-and-drop-hitbox)</summary>

###
[`v1.2.0`](0b015bf95f...fd32fa138e)

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- 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:eyJjcmVhdGVkSW5WZXIiOiI0NC4zLjIiLCJ1cGRhdGVkSW5WZXIiOiI0NC4zLjIiLCJ0YXJnZXRCcmFuY2giOiJjYW5hcnkiLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIl19-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-08-01 15:17:47 +08:00
renovate[bot]
e8fefc82c1 chore: bump up @atlaskit/pragmatic-drag-and-drop version to v2 (#15394)
This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
|
[@atlaskit/pragmatic-drag-and-drop](https://atlassian.design/components/pragmatic-drag-and-drop/)
([source](https://redirect.github.com/atlassian/pragmatic-drag-and-drop))
| [`^1.7.7` →
`^2.0.0`](https://renovatebot.com/diffs/npm/@atlaskit%2fpragmatic-drag-and-drop/1.8.1/2.0.1)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/@atlaskit%2fpragmatic-drag-and-drop/2.0.1?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@atlaskit%2fpragmatic-drag-and-drop/1.8.1/2.0.1?slim=true)
|

---

### Configuration

📅 **Schedule**: (UTC)

- 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:eyJjcmVhdGVkSW5WZXIiOiI0NC4zLjIiLCJ1cGRhdGVkSW5WZXIiOiI0NC4zLjIiLCJ0YXJnZXRCcmFuY2giOiJjYW5hcnkiLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIl19-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-31 19:06:55 +08:00
DarkSky
1d36e2e4b2 feat(core): improve mobile perf (#15317)
#### PR Dependency Tree


* **PR #15317** 👈

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**
* Virtualized mobile navigation with shell navigation and interactive
swipe menus; coordinated mobile back handling with interactive
phases/state restoration.
* Added shared auth request proxy and message-port based token handling
across mobile and worker flows.
* **Bug Fixes**
  * Hydrated remote worker error stacks for calls and observable errors.
* Improved SQLite FTS/indexer and nbstore optional text handling;
refined docs-search ref parsing and notification loading/retry.
* **Refactor / UX**
* Modal focus-preservation and pointer behavior updates; improved mobile
menu controls and back gesture plugins.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-07-23 00:23:21 +08:00
Diego Vega Centeno
7318ef1ed4 fix(core): forward svg props to icon renderer (#15278)
## Problem

Page reference icon is vertically misaligned because the
`pageReferenceIcon` class is not applied.
This is because `IconRenderer` does not forward SVG props to the
underlying `AffineIconRenderer` component.

## Fix

Main fix: 
- Forward SVG props in `getDocIconComponent`.
- Add support for SVG props in `IconRenderer`.

Side fixes: 
- Comment out color in `pageReferenceIcon` style so the icon inherits
its parent color now that the class is actually applied
- Remove hardcoded SVG margin used for vertical alignment.

## Before / After

**Before**
<img width="405" height="163" alt="before"
src="https://github.com/user-attachments/assets/45c6f0c9-d2f8-4295-832a-03018cbe0bf1"
/>

**After**
<img width="404" height="156" alt="after"
src="https://github.com/user-attachments/assets/fa3f955a-b1fd-4bc1-b966-09b5b9d6a7e4"
/>

## Related issues

- Fixes #14978: Makes icon vertically aligned.


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

## Summary by CodeRabbit

- **Bug Fixes**
- Improved icon rendering so additional display properties are correctly
passed through to Affine icons.
- Updated document icon components to support standard SVG properties,
enabling more consistent customization.
- Refined reference icon styling to allow color inheritance from
surrounding UI context.
- Removed unnecessary spacing beneath reference icons for cleaner
alignment.



<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-07-21 14:57:50 +08:00
DarkSky
11db127772 chore: bump deps (#15151) 2026-06-24 23:55:19 +08:00
Tines Valen
e2624d93c7 fix(core): filters emojipicker on label in addition to tags (#15129)
Fixes #15116 
# Issue
Emojipicker keyword filtering only filtered on `tags`, and not `label`.
So searching for an emoji's name would not result in said emoji ending
up in the result. E.G. searching "sunflower" does not make 🌻 appear

# Solution
Adding an extra condition to the filter function to check if the keyword
is a substring of an emoji's label

# Result
Search results now include emojis with that `label`

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

* **New Features**
* Improved emoji picker search to include matches on both emoji labels
and tags (case-insensitive), enabling broader search results for better
discoverability.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-06-18 22:07:27 +08:00
DarkSky
d500e472f0 chore: bump deps (#15124) 2026-06-18 12:55:18 +08:00
Talha Mujahid
6faebcabd3 fix(editor): prevent backspace in icon picker search from deleting editor content (#15089)
## Problem
When the callout block's icon picker is open and the user types in the
search input, pressing backspace deletes content in the main editor
instead of the search text.

## Root Cause
The callout icon picker is mounted via `createPopup` inside
`editor-host`. `PageKeyboardManager` registers a global `Backspace`
handler on the editor host (`keyboard-manager.ts`) with `{ global: true
}`, which fires on every backspace keydown regardless of what element is
focused. Without `stopPropagation`, the backspace event from the search
input bubbles up through the DOM and triggers block deletion.

Other keys are unaffected because the editor handles character input
through `contenteditable` focus, those handlers only act when a
contenteditable node is active.

## Fix
Add `onKeyDown` with `e.stopPropagation()` to the search inputs in both
`EmojiPicker` and `AffineIconPicker`. This matches the existing pattern
already used by `MenuComponent` (`menu-renderer.ts:107`) and all other
interactive components (`date-picker`, `inline-edit`, `prompt-modal`).

## Why not affected elsewhere
`DocIconPicker` uses the same pickers but wraps them in a Radix UI
`Menu` with `modal: true`, which portals outside `editor-host` — so
backspace events never reach the editor's global handler there.

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

## Summary by CodeRabbit

* **Bug Fixes**
* Improved keyboard event handling in search inputs for icon and emoji
pickers

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-06-10 16:13:04 +08:00
DarkSky
aca47445aa feat(client): migration old package to rspack (#15068)
#### PR Dependency Tree


* **PR #15068** 👈

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

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

* **Chores**
* Upgraded Vitest across packages to 4.1.8 and bumped Tailwind PostCSS
to 4.3.0
* CLI/tooling updated to support the media-capture-playground package
and adjust build/dev server behavior

* **Bug Fixes**
  * Improved workspace deletion reliability in the Electron app

* **Refactor**
* Simplified media capture playground build setup (build/config
adjustments)

* **Tests**
* Made tests more robust by preserving/restoring environment state
during runs
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-06-02 12:00:50 +08:00
DarkSky
2aa56cbccd chore: bump toolchain & fix lint 2026-05-24 06:47:17 +08:00
Xuan4781
aa48c1c18b fix: audio waveform clipping in horizontal card view (#14789)
Fixes #13399

### Issue
When viewing an audio attachment card in horizontal view, the waveform 
was being clipped and not fully visible. In vertical view it displayed 
correctly.

### Fix
- `audio-waveform` and `progressContainer` flex children were missing 
  `minWidth: 0` and `flex: 1`, causing container overflow
- `.affine-attachment-container` had a fixed height with `overflow:
hidden`
  that cut off the waveform row

### Screenshot Verification
**Before**
<img width="1661" height="935" alt="image"
src="https://github.com/user-attachments/assets/b2f0908b-94fe-4869-bdfb-cc6a757e703d"
/>

**After**
<img width="750" height="182" alt="image"
src="https://github.com/user-attachments/assets/63caac69-f37b-4894-80de-806b691581c8"
/>


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

## Summary by CodeRabbit

**New Features**
- Introduced audio embed card functionality allowing users to embed and
display audio content directly in documents with standardized dimensions
and improved responsive layout styling for better visual presentation
and integration.

**Improvements**
- Enhanced styling and layout handling for audio player components to
ensure proper display and optimal rendering in various container sizes
and space constraints.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-04-05 17:35:39 +08:00
DarkSky
233004f867 chore: bump oxlint & enable more supported rules (#14769) 2026-04-03 03:36:52 +08:00
DarkSky
bcf2a51d41 feat(native): record encoding (#14188)
fix #13784 

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

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

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

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

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

* **Tests**
* New unit, integration, and e2e tests for recording, path guards,
dialogs, and workspace recovery.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-03-22 02:50:14 +08:00
Mohad
cb9897d493 fix(i18n): support Arabic comma separator in date-picker weekDays and monthNames (#14663)
## Problem

The Arabic locale strings in `ar.json` use the Arabic comma `،` (U+060C)
as separator:

```json
"com.affine.calendar-date-picker.week-days": "أ،إث،ث،أر،خ،ج،س"
```

But `day-picker.tsx` splits on ASCII comma only — causing all
weekday/month names to render as a single unsplit string in Arabic
locale.

## Fix

Change `.split(',')` to `.split(/[,،]/)` in two call sites — matches
both ASCII and Arabic comma.

## Impact

One-line fix per call site. No other functionality affected. All
non-Arabic locales unchanged.

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

* **Bug Fixes**
* Date picker rendering updated to correctly handle both ASCII and
Arabic/Persian comma formats when determining month and weekday labels.
This fixes inconsistent header and month-name displays in locales using
different comma characters while preserving existing interactions and
behavior.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-03-19 22:21:51 +08:00
chauhan_s
fbfcc01d14 fix(core): reserve space for auth input error to avoid layout shift (#14670)
Prevents layout shift when showing auth input errors by reserving space
for the error message. Improves visual stability and avoids UI jumps
when validation errors appear.

### Before 


https://github.com/user-attachments/assets/7439aa5e-069d-42ac-8963-e5cdee341ad9



### After

https://github.com/user-attachments/assets/8e758452-5323-4807-8a0d-38913303020d


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

## Summary by CodeRabbit

* **Refactor**
* Improved error message display mechanism in authentication components
for more consistent rendering.

* **Style**
* Enhanced vertical spacing for error messages in form inputs to ensure
better visual consistency and readability.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-03-18 10:48:50 +08:00
DarkSky
f34e25e122 test: migrate test & utils (#14569)
#### PR Dependency Tree


* **PR #14569** 👈

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

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

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

* **Tests**
* Added a large suite of new integration tests covering editor flows
(edgeless, database, embeds, images, latex, code, clipboard,
multi-editor, presentation, undo/redo, etc.).
* Removed numerous end-to-end Playwright test suites across the same
feature areas.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-03-07 04:12:27 +08:00
DarkSky
c90f173821 chore: bump deps (#14526)
#### PR Dependency Tree


* **PR #14526** 👈

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

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

## Summary by CodeRabbit

* **Chores**
* Updated Storybook component development tooling to version 10.2.13 for
improved stability and performance
  * Removed Chromatic integration from the component preview system

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-02-27 20:17:06 +08:00
DarkSky
046e126054 feat: bump typescript (#14507)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

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

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

* **Tests**
* Updated test snapshots to reflect minor presentational styling
adjustments.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-02-24 09:11:41 +08:00
DarkSky
6d805b302c docs: cleanup outdated infos 2026-02-23 21:03:13 +08:00
DarkSky
8f833388eb feat: improve admin panel design (#14464) 2026-02-17 17:40:29 +08:00
DarkSky
728e02cab7 feat: bump eslint & oxlint (#14452)
#### PR Dependency Tree


* **PR #14452** 👈

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 null-safety, dependency tracking, upload validation, and
error logging for more reliable uploads, clipboard, calendar linking,
telemetry, PDF/theme printing, and preview/zoom behavior.
* Tightened handling of all-day calendar events (missing date now
reported).

* **Deprecations**
  * Removed deprecated RadioButton and RadioButtonGroup; use RadioGroup.

* **Chores**
* Unified and upgraded linting/config, reorganized imports, and
standardized binary handling for more consistent builds and tooling.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-02-16 13:52:08 +08:00
DarkSky
8ce620e2e6 chore: bump deps 2026-02-07 17:26:44 +08:00
DarkSky
31f6f209e3 chore: bump deps 2026-02-05 21:45:22 +08:00
DarkSky
403f16b404 chore: drop old client support (#14369) 2026-02-05 02:49:33 +08:00
renovate[bot]
40a2518ff9 chore: bump up @chromatic-com/storybook version to v5 (#14347)
This PR contains the following updates:

| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
|
[@chromatic-com/storybook](https://redirect.github.com/chromaui/addon-visual-tests)
| [`^4.1.3` →
`^5.0.0`](https://renovatebot.com/diffs/npm/@chromatic-com%2fstorybook/4.1.3/5.0.0)
|
![age](https://developer.mend.io/api/mc/badges/age/npm/@chromatic-com%2fstorybook/5.0.0?slim=true)
|
![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@chromatic-com%2fstorybook/4.1.3/5.0.0?slim=true)
|

---

### Release Notes

<details>
<summary>chromaui/addon-visual-tests
(@&#8203;chromatic-com/storybook)</summary>

###
[`v5.0.0`](https://redirect.github.com/chromaui/addon-visual-tests/releases/tag/v5.0.0)

[Compare
Source](https://redirect.github.com/chromaui/addon-visual-tests/compare/v4.1.3...v5.0.0)

##### 💥 Breaking Change

- Upgrade to Storybook 10.1
[#&#8203;396](https://redirect.github.com/chromaui/addon-visual-tests/pull/396)
([@&#8203;ghengeveld](https://redirect.github.com/ghengeveld))

##### 🐛 Bug Fix

- Update npm version and add pull-requests permission for trusted
publishing
[#&#8203;403](https://redirect.github.com/chromaui/addon-visual-tests/pull/403)
([@&#8203;ghengeveld](https://redirect.github.com/ghengeveld))
- Update release workflow to use npm trusted publishing
[#&#8203;402](https://redirect.github.com/chromaui/addon-visual-tests/pull/402)
([@&#8203;ghengeveld](https://redirect.github.com/ghengeveld))
- Fix: Update broken and outdated links in the addon
[#&#8203;397](https://redirect.github.com/chromaui/addon-visual-tests/pull/397)
([@&#8203;jonniebigodes](https://redirect.github.com/jonniebigodes))

##### Authors: 2

- [@&#8203;jonniebigodes](https://redirect.github.com/jonniebigodes)
- Gert Hengeveld
([@&#8203;ghengeveld](https://redirect.github.com/ghengeveld))

</details>

---

### Configuration

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

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

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

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

---

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

---

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

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

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-02-01 22:33:49 +08:00
Akshaj Rawat
759aa1b684 feat: add option to disable image anti-aliasing (#14278)
## What this PR does

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

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

## Why

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

## How to test

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

## Notes

- Frontend-only change
- No backend required

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

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



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

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

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

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

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

---------

Co-authored-by: DarkSky <25152247+darkskygit@users.noreply.github.com>
2026-01-27 20:18:21 +00:00
Gabriele
753b11deeb fix: resolve navbar overlay issue on sign-in page (#14274)
This pr fixes #14273.

I have implemented two minor CSS adjustments to resolve the navbar
interaction issue on the sign-in page:

- Removed position: relative and z-index: 1 from signInPageContainer.
- Set z-index: 1 on the SignInPanel div (prevent SignInBackgroundArts
from overlapping the SignInPanel)


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

## Summary by CodeRabbit

* **Style**
  * Adjusted z-index layering for the sign-in page component.

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

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-01-17 17:32:42 +00:00
DarkSky
27a58e764c chore: bump version & deps 2026-01-15 00:33:51 +08:00
DarkSky
279b7bb64f feat(core): integrate google calendar sync (#14248)
fix #14170 
fix #13893 
fix #13673 
fix #13543 
fix #13308 
fix #7607




#### PR Dependency Tree


* **PR #14247**
  * **PR #14248** 👈

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

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

* **New Features**
* Integrations panel in Account Settings to link/unlink calendar
providers.
  * Collapsible settings wrapper for improved layout.

* **Improvements**
* Calendar system reworked: per-account calendar groups, simplified
toggles with explicit Save, richer event display (multi-dot date
indicators), improved event time/title handling across journal views.

* **Localization**
* Added calendar keys: save-error, no-journal, no-calendar; removed
legacy duplicate-error keys.

<sub>✏️ Tip: You can customize this high-level summary in your review
settings.</sub>
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-01-13 02:38:16 +08:00
DarkSky
e4dc82ee35 chore: bump deps (#14227)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Chores**
* Updated backend service dependencies to the latest stable versions for
improved performance and security.
* Upgraded UI component library dependencies to the latest minor
releases.

* **Improvements**
* Enhanced web search functionality for better search results on
standard AI models.

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

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-01-07 13:15:17 +08:00
Cats Juice
cf98afb32e chore: bump theme@1.1.23 (#14222)
close #13952

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

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

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

---------

Co-authored-by: L-Sun <zover.v@gmail.com>
2026-01-06 20:48:44 +08:00
DarkSky
4717886c9e fix: title icon display (#14101)
fix #14073
2025-12-14 01:00:01 +08:00
DarkSky
cb0ff04efa feat: bump more deps (#14079) 2025-12-10 16:02:28 +08:00
DarkSky
40f3337d45 feat: bump deps (#14076)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **Chores**
* Updated core dependencies, developer tooling and Rust toolchain to
newer stable versions across the repo
* Upgraded Storybook to v10 and improved ESM path resolution for
storybook tooling
* Broadened native binding platform/architecture support and
strengthened native module version validation, loading and WASI handling

* **New Features**
* Exposed an additional native text export for consumers (enhanced
JS/native surface)

<sub>✏️ Tip: You can customize this high-level summary in your review
settings.</sub>
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-12-10 03:52:14 +08:00
DarkSky
027f741ed6 chore: bump deps (#14065)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **Chores**
* Updated dependency versions across the monorepo (notably zod →
^3.25.76 and vitest-related packages → ^3.2.4), plus minor package bumps
to align tooling and libraries. These are manifest/test-tooling updates
only; no public API, behavior, or end-user features were changed.

<sub>✏️ Tip: You can customize this high-level summary in your review
settings.</sub>
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-12-08 21:47:25 +08:00
DarkSky
776ca2c702 chore: bump version 2025-12-08 10:47:37 +08:00
DarkSky
4e082e4170 chore: bump version 2025-11-15 17:29:54 +08:00
DarkSky
e4b5b24fdd chore: bump package version 2025-10-29 21:14:34 +08:00
renovate[bot]
2c44d3abc6 chore: bump up vite version to v7 [SECURITY] (#13786)
This PR contains the following updates:

| Package | Change | Age | Confidence |
|---|---|---|---|
| [vite](https://vite.dev)
([source](https://redirect.github.com/vitejs/vite/tree/HEAD/packages/vite))
| [`^6.1.0` ->
`^7.0.0`](https://renovatebot.com/diffs/npm/vite/6.3.6/7.1.11) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/vite/7.1.11?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vite/6.3.6/7.1.11?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [vite](https://vite.dev)
([source](https://redirect.github.com/vitejs/vite/tree/HEAD/packages/vite))
| [`^6.0.3` ->
`^7.0.0`](https://renovatebot.com/diffs/npm/vite/6.3.6/7.1.11) |
[![age](https://developer.mend.io/api/mc/badges/age/npm/vite/7.1.11?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vite/6.3.6/7.1.11?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

### GitHub Vulnerability Alerts

####
[CVE-2025-62522](https://redirect.github.com/vitejs/vite/security/advisories/GHSA-93m4-6634-74q7)

### Summary
Files denied by
[`server.fs.deny`](https://vitejs.dev/config/server-options.html#server-fs-deny)
were sent if the URL ended with `\` when the dev server is running on
Windows.

### Impact
Only apps that match the following conditions are affected:

- explicitly exposes the Vite dev server to the network (using --host or
[`server.host` config
option](https://vitejs.dev/config/server-options.html#server-host))
- running the dev server on Windows

### Details
`server.fs.deny` can contain patterns matching against files (by default
it includes `.env`, `.env.*`, `*.{crt,pem}` as such patterns). These
patterns were able to bypass by using a back slash(`\`). The root cause
is that `fs.readFile('/foo.png/')` loads `/foo.png`.

### PoC
```shell
npm create vite@latest
cd vite-project/
cat "secret" > .env
npm install
npm run dev
curl --request-target /.env\ http://localhost:5173
```
<img width="1593" height="616" alt="image"
src="https://github.com/user-attachments/assets/36212f4e-1d3c-4686-b16f-16b35ca9e175"
/>

---

### Release Notes

<details>
<summary>vitejs/vite (vite)</summary>

###
[`v7.1.11`](https://redirect.github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-7111-2025-10-20-small)

[Compare
Source](https://redirect.github.com/vitejs/vite/compare/v7.1.10...v7.1.11)

##### Bug Fixes

- **dev:** trim trailing slash before `server.fs.deny` check
([#&#8203;20968](https://redirect.github.com/vitejs/vite/issues/20968))
([f479cc5](f479cc57c4))

##### Miscellaneous Chores

- **deps:** update all non-major dependencies
([#&#8203;20966](https://redirect.github.com/vitejs/vite/issues/20966))
([6fb41a2](6fb41a260b))

##### Code Refactoring

- use subpath imports for types module reference
([#&#8203;20921](https://redirect.github.com/vitejs/vite/issues/20921))
([d0094af](d0094af639))

##### Build System

- remove cjs reference in files field
([#&#8203;20945](https://redirect.github.com/vitejs/vite/issues/20945))
([ef411ce](ef411cee26))
- remove hash from built filenames
([#&#8203;20946](https://redirect.github.com/vitejs/vite/issues/20946))
([a817307](a81730754d))

###
[`v7.1.10`](https://redirect.github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-7110-2025-10-14-small)

[Compare
Source](https://redirect.github.com/vitejs/vite/compare/v7.1.9...v7.1.10)

##### Bug Fixes

- **css:** avoid duplicate style for server rendered stylesheet link and
client inline style during dev
([#&#8203;20767](https://redirect.github.com/vitejs/vite/issues/20767))
([3a92bc7](3a92bc79b3))
- **css:** respect emitAssets when cssCodeSplit=false
([#&#8203;20883](https://redirect.github.com/vitejs/vite/issues/20883))
([d3e7eee](d3e7eeefa9))
- **deps:** update all non-major dependencies
([879de86](879de86935))
- **deps:** update all non-major dependencies
([#&#8203;20894](https://redirect.github.com/vitejs/vite/issues/20894))
([3213f90](3213f90ff0))
- **dev:** allow aliases starting with `//`
([#&#8203;20760](https://redirect.github.com/vitejs/vite/issues/20760))
([b95fa2a](b95fa2aa75))
- **dev:** remove timestamp query consistently
([#&#8203;20887](https://redirect.github.com/vitejs/vite/issues/20887))
([6537d15](6537d15591))
- **esbuild:** inject esbuild helpers correctly for esbuild 0.25.9+
([#&#8203;20906](https://redirect.github.com/vitejs/vite/issues/20906))
([446eb38](446eb38632))
- normalize path before calling `fileToBuiltUrl`
([#&#8203;20898](https://redirect.github.com/vitejs/vite/issues/20898))
([73b6d24](73b6d243e0))
- preserve original sourcemap file field when combining sourcemaps
([#&#8203;20926](https://redirect.github.com/vitejs/vite/issues/20926))
([c714776](c714776aa1))

##### Documentation

- correct `WebSocket` spelling
([#&#8203;20890](https://redirect.github.com/vitejs/vite/issues/20890))
([29e98dc](29e98dc3ef))

##### Miscellaneous Chores

- **deps:** update rolldown-related dependencies
([#&#8203;20923](https://redirect.github.com/vitejs/vite/issues/20923))
([a5e3b06](a5e3b064fa))

###
[`v7.1.9`](https://redirect.github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-719-2025-10-03-small)

[Compare
Source](https://redirect.github.com/vitejs/vite/compare/v7.1.8...v7.1.9)

##### Reverts

- **server:** drain stdin when not interactive
([#&#8203;20885](https://redirect.github.com/vitejs/vite/issues/20885))
([12d72b0](12d72b0538))

###
[`v7.1.8`](https://redirect.github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-718-2025-10-02-small)

[Compare
Source](https://redirect.github.com/vitejs/vite/compare/v7.1.7...v7.1.8)

##### Bug Fixes

- **css:** improve url escape characters handling
([#&#8203;20847](https://redirect.github.com/vitejs/vite/issues/20847))
([24a61a3](24a61a3f54))
- **deps:** update all non-major dependencies
([#&#8203;20855](https://redirect.github.com/vitejs/vite/issues/20855))
([788a183](788a183afc))
- **deps:** update artichokie to 0.4.2
([#&#8203;20864](https://redirect.github.com/vitejs/vite/issues/20864))
([e670799](e670799e12))
- **dev:** skip JS responses for document requests
([#&#8203;20866](https://redirect.github.com/vitejs/vite/issues/20866))
([6bc6c4d](6bc6c4dbc2))
- **glob:** fix HMR for array patterns with exclusions
([#&#8203;20872](https://redirect.github.com/vitejs/vite/issues/20872))
([63e040f](63e040f1ca))
- keep ids for virtual modules as-is
([#&#8203;20808](https://redirect.github.com/vitejs/vite/issues/20808))
([d4eca98](d4eca986d6))
- **server:** drain stdin when not interactive
([#&#8203;20837](https://redirect.github.com/vitejs/vite/issues/20837))
([bb950e9](bb950e92b3))
- **server:** improve malformed URL handling in middlewares
([#&#8203;20830](https://redirect.github.com/vitejs/vite/issues/20830))
([d65a983](d65a9831c9))

##### Documentation

- **create-vite:** provide deno example
([#&#8203;20747](https://redirect.github.com/vitejs/vite/issues/20747))
([fdb758a](fdb758a517))

##### Miscellaneous Chores

- **deps:** update rolldown-related dependencies
([#&#8203;20810](https://redirect.github.com/vitejs/vite/issues/20810))
([ea68a88](ea68a8868c))
- **deps:** update rolldown-related dependencies
([#&#8203;20854](https://redirect.github.com/vitejs/vite/issues/20854))
([4dd06fd](4dd06fdc8d))
- update url of `create-react-app` license
([#&#8203;20865](https://redirect.github.com/vitejs/vite/issues/20865))
([166a178](166a178f45))

###
[`v7.1.7`](https://redirect.github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-717-2025-09-22-small)

[Compare
Source](https://redirect.github.com/vitejs/vite/compare/v7.1.6...v7.1.7)

##### Bug Fixes

- **build:** fix ssr environment `emitAssets: true` when
`sharedConfigBuild: true`
([#&#8203;20787](https://redirect.github.com/vitejs/vite/issues/20787))
([4c4583c](4c4583ce7a))
- **client:** use CSP nonce when rendering error overlay
([#&#8203;20791](https://redirect.github.com/vitejs/vite/issues/20791))
([9bc9d12](9bc9d1258f))
- **deps:** update all non-major dependencies
([#&#8203;20811](https://redirect.github.com/vitejs/vite/issues/20811))
([9f2247c](9f2247c066))
- **glob:** handle glob imports from folders starting with dot
([#&#8203;20800](https://redirect.github.com/vitejs/vite/issues/20800))
([105abe8](105abe87c4))
- **hmr:** trigger prune event when import is removed from non hmr
module
([#&#8203;20768](https://redirect.github.com/vitejs/vite/issues/20768))
([9f32b1d](9f32b1dc71))
- **hmr:** wait for `import.meta.hot.prune` callbacks to complete before
running other HMRs
([#&#8203;20698](https://redirect.github.com/vitejs/vite/issues/20698))
([98a3484](98a3484733))

###
[`v7.1.6`](https://redirect.github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-716-2025-09-18-small)

[Compare
Source](https://redirect.github.com/vitejs/vite/compare/v7.1.5...v7.1.6)

##### Bug Fixes

- **deps:** update all non-major dependencies
([#&#8203;20773](https://redirect.github.com/vitejs/vite/issues/20773))
([88af2ae](88af2ae7df))
- **esbuild:** inject esbuild helper functions with minified `$`
variables correctly
([#&#8203;20761](https://redirect.github.com/vitejs/vite/issues/20761))
([7e8e004](7e8e0043d6))
- fallback terser to main thread when nameCache is provided
([#&#8203;20750](https://redirect.github.com/vitejs/vite/issues/20750))
([a679a64](a679a64340))
- **types:** strict env typings fail when `skipLibCheck` is `false`
([#&#8203;20755](https://redirect.github.com/vitejs/vite/issues/20755))
([cc54e29](cc54e29474))

##### Miscellaneous Chores

- **deps:** update rolldown-related dependencies
([#&#8203;20675](https://redirect.github.com/vitejs/vite/issues/20675))
([a67bb5f](a67bb5fbec))
- **deps:** update rolldown-related dependencies
([#&#8203;20772](https://redirect.github.com/vitejs/vite/issues/20772))
([d785e72](d785e72f2e))

###
[`v7.1.5`](https://redirect.github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-715-2025-09-08-small)

[Compare
Source](https://redirect.github.com/vitejs/vite/compare/v7.1.4...v7.1.5)

##### Bug Fixes

- apply `fs.strict` check to HTML files
([#&#8203;20736](https://redirect.github.com/vitejs/vite/issues/20736))
([14015d7](14015d794f))
- **deps:** update all non-major dependencies
([#&#8203;20732](https://redirect.github.com/vitejs/vite/issues/20732))
([122bfba](122bfbabeb))
- upgrade sirv to 3.0.2
([#&#8203;20735](https://redirect.github.com/vitejs/vite/issues/20735))
([09f2b52](09f2b52e8d))

###
[`v7.1.4`](https://redirect.github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-714-2025-09-01-small)

[Compare
Source](https://redirect.github.com/vitejs/vite/compare/v7.1.3...v7.1.4)

##### Bug Fixes

- add missing awaits
([#&#8203;20697](https://redirect.github.com/vitejs/vite/issues/20697))
([79d10ed](79d10ed634))
- **deps:** update all non-major dependencies
([#&#8203;20676](https://redirect.github.com/vitejs/vite/issues/20676))
([5a274b2](5a274b29df))
- **deps:** update all non-major dependencies
([#&#8203;20709](https://redirect.github.com/vitejs/vite/issues/20709))
([0401feb](0401feba17))
- pass rollup watch options when building in watch mode
([#&#8203;20674](https://redirect.github.com/vitejs/vite/issues/20674))
([f367453](f367453ca2))

##### Miscellaneous Chores

- remove unused constants entry from rolldown.config.ts
([#&#8203;20710](https://redirect.github.com/vitejs/vite/issues/20710))
([537fcf9](537fcf9186))

##### Code Refactoring

- remove unnecessary `minify` parameter from `finalizeCss`
([#&#8203;20701](https://redirect.github.com/vitejs/vite/issues/20701))
([8099582](8099582e53))

###
[`v7.1.3`](https://redirect.github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-713-2025-08-19-small)

[Compare
Source](https://redirect.github.com/vitejs/vite/compare/v7.1.2...v7.1.3)

##### Features

- **cli:** add Node.js version warning for unsupported versions
([#&#8203;20638](https://redirect.github.com/vitejs/vite/issues/20638))
([a1be1bf](a1be1bf090))
- generate code frame for parse errors thrown by terser
([#&#8203;20642](https://redirect.github.com/vitejs/vite/issues/20642))
([a9ba017](a9ba0174a5))
- support long lines in `generateCodeFrame`
([#&#8203;20640](https://redirect.github.com/vitejs/vite/issues/20640))
([1559577](1559577317))

##### Bug Fixes

- **deps:** update all non-major dependencies
([#&#8203;20634](https://redirect.github.com/vitejs/vite/issues/20634))
([4851cab](4851cab3ba))
- **optimizer:** incorrect incompatible error
([#&#8203;20439](https://redirect.github.com/vitejs/vite/issues/20439))
([446fe83](446fe83033))
- support multiline new URL(..., import.meta.url) expressions
([#&#8203;20644](https://redirect.github.com/vitejs/vite/issues/20644))
([9ccf142](9ccf142764))

##### Performance Improvements

- **cli:** dynamically import `resolveConfig`
([#&#8203;20646](https://redirect.github.com/vitejs/vite/issues/20646))
([f691f57](f691f57e46))

##### Miscellaneous Chores

- **deps:** update rolldown-related dependencies
([#&#8203;20633](https://redirect.github.com/vitejs/vite/issues/20633))
([98b92e8](98b92e8c4b))

##### Code Refactoring

- replace startsWith with strict equality
([#&#8203;20603](https://redirect.github.com/vitejs/vite/issues/20603))
([42816de](42816dee0e))
- use `import` in worker threads
([#&#8203;20641](https://redirect.github.com/vitejs/vite/issues/20641))
([530687a](530687a344))

##### Tests

- remove `checkNodeVersion` test
([#&#8203;20647](https://redirect.github.com/vitejs/vite/issues/20647))
([731d3e6](731d3e61f4))

###
[`v7.1.2`](https://redirect.github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-712-2025-08-12-small)

[Compare
Source](https://redirect.github.com/vitejs/vite/compare/v7.1.1...v7.1.2)

##### Bug Fixes

- **client:** add `[vite]` prefixes to debug logs
([#&#8203;20595](https://redirect.github.com/vitejs/vite/issues/20595))
([7cdef61](7cdef612a6))
- **config:** make debugger work with bundle loader
([#&#8203;20573](https://redirect.github.com/vitejs/vite/issues/20573))
([c583927](c583927bee))
- **deps:** update all non-major dependencies
([#&#8203;20587](https://redirect.github.com/vitejs/vite/issues/20587))
([20d4817](20d48172a0))
- don't consider ids with `npm:` prefix as a built-in module
([#&#8203;20558](https://redirect.github.com/vitejs/vite/issues/20558))
([ab33803](ab33803f2c))
- **hmr:** watch non-inlined assets referenced by CSS
([#&#8203;20581](https://redirect.github.com/vitejs/vite/issues/20581))
([b7d494b](b7d494bf60))
- **module-runner:** prevent crash when sourceMappingURL pattern appears
in string literals
([#&#8203;20554](https://redirect.github.com/vitejs/vite/issues/20554))
([2770478](2770478d1c))

##### Miscellaneous Chores

- **deps:** migrate to `@jridgewell/remapping` from
`@ampproject/remapping`
([#&#8203;20577](https://redirect.github.com/vitejs/vite/issues/20577))
([0a6048a](0a6048aba4))
- **deps:** update rolldown-related dependencies
([#&#8203;20586](https://redirect.github.com/vitejs/vite/issues/20586))
([77632c5](77632c55db))

###
[`v7.1.1`](https://redirect.github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-7111-2025-10-20-small)

[Compare
Source](https://redirect.github.com/vitejs/vite/compare/v7.1.0...v7.1.1)

##### Bug Fixes

- **dev:** trim trailing slash before `server.fs.deny` check
([#&#8203;20968](https://redirect.github.com/vitejs/vite/issues/20968))
([f479cc5](f479cc57c4))

##### Miscellaneous Chores

- **deps:** update all non-major dependencies
([#&#8203;20966](https://redirect.github.com/vitejs/vite/issues/20966))
([6fb41a2](6fb41a260b))

##### Code Refactoring

- use subpath imports for types module reference
([#&#8203;20921](https://redirect.github.com/vitejs/vite/issues/20921))
([d0094af](d0094af639))

##### Build System

- remove cjs reference in files field
([#&#8203;20945](https://redirect.github.com/vitejs/vite/issues/20945))
([ef411ce](ef411cee26))
- remove hash from built filenames
([#&#8203;20946](https://redirect.github.com/vitejs/vite/issues/20946))
([a817307](a81730754d))

###
[`v7.1.0`](https://redirect.github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#710-2025-08-07)

[Compare
Source](https://redirect.github.com/vitejs/vite/compare/v7.0.8...v7.1.0)

##### Features

- support files with more than 1000 lines by `generateCodeFrame`
([#&#8203;20508](https://redirect.github.com/vitejs/vite/issues/20508))
([e7d0b2a](e7d0b2afa5))
- add `import.meta.main` support in config (bundle config loader)
([#&#8203;20516](https://redirect.github.com/vitejs/vite/issues/20516))
([5d3e3c2](5d3e3c2ae5))
- **optimizer:** improve dependency optimization error messages with
esbuild formatMessages
([#&#8203;20525](https://redirect.github.com/vitejs/vite/issues/20525))
([d17cfed](d17cfeda07))
- **ssr:** add `import.meta.main` support for Node.js module runner
([#&#8203;20517](https://redirect.github.com/vitejs/vite/issues/20517))
([794a8f2](794a8f2302))
- add `future: 'warn'`
([#&#8203;20473](https://redirect.github.com/vitejs/vite/issues/20473))
([e6aaf17](e6aaf17ca2))
- add `removeServerPluginContainer` future deprecation
([#&#8203;20437](https://redirect.github.com/vitejs/vite/issues/20437))
([c1279e7](c1279e7540))
- add `removeServerReloadModule` future deprecation
([#&#8203;20436](https://redirect.github.com/vitejs/vite/issues/20436))
([6970d17](6970d1740c))
- add `server.warmupRequest` to future deprecation
([#&#8203;20431](https://redirect.github.com/vitejs/vite/issues/20431))
([8ad388a](8ad388aeab))
- add `ssrFixStacktrace` / `ssrRewriteStacktrace` to
`removeSsrLoadModule` future deprecation
([#&#8203;20435](https://redirect.github.com/vitejs/vite/issues/20435))
([8c8f587](8c8f5879ea))
- **client:** ping from SharedWorker
([#&#8203;19057](https://redirect.github.com/vitejs/vite/issues/19057))
([5c97c22](5c97c22548))
- **dev:** add `this.fs` support
([#&#8203;20301](https://redirect.github.com/vitejs/vite/issues/20301))
([0fe3f2f](0fe3f2f7c3))
- export `defaultExternalConditions`
([#&#8203;20279](https://redirect.github.com/vitejs/vite/issues/20279))
([344d302](344d30243b))
- implement `removePluginHookSsrArgument` future deprecation
([#&#8203;20433](https://redirect.github.com/vitejs/vite/issues/20433))
([95927d9](95927d9c0b))
- implement `removeServerHot` future deprecation
([#&#8203;20434](https://redirect.github.com/vitejs/vite/issues/20434))
([259f45d](259f45d069))
- resolve server URLs before calling other listeners
([#&#8203;19981](https://redirect.github.com/vitejs/vite/issues/19981))
([45f6443](45f6443a93))
- **ssr:** resolve externalized packages with
`resolve.externalConditions` and add `module-sync` to default external
condition
([#&#8203;20409](https://redirect.github.com/vitejs/vite/issues/20409))
([c669c52](c669c524e6))
- **ssr:** support `import.meta.resolve` in module runner
([#&#8203;20260](https://redirect.github.com/vitejs/vite/issues/20260))
([62835f7](62835f7c06))

##### Bug Fixes

- **css:** avoid warnings for `image-set` containing `__VITE_ASSET__`
([#&#8203;20520](https://redirect.github.com/vitejs/vite/issues/20520))
([f1a2635](f1a2635e69))
- **css:** empty CSS entry points should generate CSS files, not JS
files
([#&#8203;20518](https://redirect.github.com/vitejs/vite/issues/20518))
([bac9f3e](bac9f3ecf8))
- **dev:** denied request stalled when requested concurrently
([#&#8203;20503](https://redirect.github.com/vitejs/vite/issues/20503))
([64a52e7](64a52e70d9))
- **manifest:** initialize `entryCssAssetFileNames` as an empty Set
([#&#8203;20542](https://redirect.github.com/vitejs/vite/issues/20542))
([6a46cda](6a46cdac5d))
- skip prepareOutDirPlugin in workers
([#&#8203;20556](https://redirect.github.com/vitejs/vite/issues/20556))
([97d5111](97d5111645))
- **asset:** only watch existing files for `new URL(, import.meta.url)`
([#&#8203;20507](https://redirect.github.com/vitejs/vite/issues/20507))
([1b211fd](1b211fd1be))
- **client:** keep ping on WS constructor error
([#&#8203;20512](https://redirect.github.com/vitejs/vite/issues/20512))
([3676da5](3676da5bc5))
- **deps:** update all non-major dependencies
([#&#8203;20537](https://redirect.github.com/vitejs/vite/issues/20537))
([fc9a9d3](fc9a9d3f14))
- don't resolve as relative for specifiers starting with a dot
([#&#8203;20528](https://redirect.github.com/vitejs/vite/issues/20528))
([c5a10ec](c5a10ec004))
- **html:** allow control character in input stream
([#&#8203;20483](https://redirect.github.com/vitejs/vite/issues/20483))
([c12a4a7](c12a4a76a2))
- merge old and new `noExternal: true` correctly
([#&#8203;20502](https://redirect.github.com/vitejs/vite/issues/20502))
([9ebe4a5](9ebe4a514a))
- **deps:** update all non-major dependencies
([#&#8203;20489](https://redirect.github.com/vitejs/vite/issues/20489))
([f6aa04a](f6aa04a52d))
- **dev:** denied requests overly
([#&#8203;20410](https://redirect.github.com/vitejs/vite/issues/20410))
([4be5270](4be5270b27))
- **hmr:** register css deps as `type: asset`
([#&#8203;20391](https://redirect.github.com/vitejs/vite/issues/20391))
([7eac8dd](7eac8ddb65))
- **optimizer:** discover correct jsx runtime during scan
([#&#8203;20495](https://redirect.github.com/vitejs/vite/issues/20495))
([10d48bb](10d48bb2e3))
- **preview:** set correct host for `resolvedUrls`
([#&#8203;20496](https://redirect.github.com/vitejs/vite/issues/20496))
([62b3e0d](62b3e0d95c))
- **worker:** resolve WebKit compat with inline workers by deferring
blob URL revocation
([#&#8203;20460](https://redirect.github.com/vitejs/vite/issues/20460))
([8033e5b](8033e5bf8d))

##### Performance Improvements

- **client:** reduce reload debounce
([#&#8203;20429](https://redirect.github.com/vitejs/vite/issues/20429))
([22ad43b](22ad43b4bf))

##### Miscellaneous Chores

- **deps:** update rolldown-related dependencies
([#&#8203;20536](https://redirect.github.com/vitejs/vite/issues/20536))
([8be2787](8be278748a))
- **deps:** update dependency parse5 to v8
([#&#8203;20490](https://redirect.github.com/vitejs/vite/issues/20490))
([744582d](744582d018))
- format
([f20addc](f20addc536))
- stablize `cssScopeTo`
([#&#8203;19592](https://redirect.github.com/vitejs/vite/issues/19592))
([ced1343](ced13433fb))

##### Code Refactoring

- use hook filters in the worker plugin
([#&#8203;20527](https://redirect.github.com/vitejs/vite/issues/20527))
([958cdf2](958cdf24f8))
- extract prepareOutDir as a plugin
([#&#8203;20373](https://redirect.github.com/vitejs/vite/issues/20373))
([2c4af1f](2c4af1f90b))
- extract resolve rollup options
([#&#8203;20375](https://redirect.github.com/vitejs/vite/issues/20375))
([61a9778](61a97780e6))
- rewrite openchrome.applescript to JXA
([#&#8203;20424](https://redirect.github.com/vitejs/vite/issues/20424))
([7979f9d](7979f9da55))
- use `http-proxy-3`
([#&#8203;20402](https://redirect.github.com/vitejs/vite/issues/20402))
([26d9872](26d987232a))
- use hook filters in internal plugins
([#&#8203;20358](https://redirect.github.com/vitejs/vite/issues/20358))
([f19c4d7](f19c4d72de))
- use hook filters in internal resolve plugin
([#&#8203;20480](https://redirect.github.com/vitejs/vite/issues/20480))
([acd2a13](acd2a13c2d))

##### Tests

- detect ts support via `process.features`
([#&#8203;20544](https://redirect.github.com/vitejs/vite/issues/20544))
([856d3f0](856d3f06e6))
- fix unimportant errors in test-unit
([#&#8203;20545](https://redirect.github.com/vitejs/vite/issues/20545))
([1f23554](1f235545b1))

##### Beta Changelogs

#####
[7.1.0-beta.1](https://redirect.github.com/vitejs/vite/compare/v7.1.0-beta.0...v7.1.0-beta.1)
(2025-08-05)

See [7.1.0-beta.1
changelog](https://redirect.github.com/vitejs/vite/blob/v7.1.0-beta.1/packages/vite/CHANGELOG.md)

#####
[7.1.0-beta.0](https://redirect.github.com/vitejs/vite/compare/v7.0.6...v7.1.0-beta.0)
(2025-07-30)

See [7.1.0-beta.0
changelog](https://redirect.github.com/vitejs/vite/blob/v7.1.0-beta.0/packages/vite/CHANGELOG.md)

###
[`v7.0.8`](https://redirect.github.com/vitejs/vite/releases/tag/v7.0.8)

[Compare
Source](https://redirect.github.com/vitejs/vite/compare/v7.0.7...v7.0.8)

Please refer to
[CHANGELOG.md](https://redirect.github.com/vitejs/vite/blob/v7.0.8/packages/vite/CHANGELOG.md)
for details.

###
[`v7.0.7`](https://redirect.github.com/vitejs/vite/releases/tag/v7.0.7)

[Compare
Source](https://redirect.github.com/vitejs/vite/compare/v7.0.6...v7.0.7)

Please refer to
[CHANGELOG.md](https://redirect.github.com/vitejs/vite/blob/v7.0.7/packages/vite/CHANGELOG.md)
for details.

###
[`v7.0.6`](https://redirect.github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#710-2025-08-07)

[Compare
Source](https://redirect.github.com/vitejs/vite/compare/v7.0.5...v7.0.6)

##### Features

- support files with more than 1000 lines by `generateCodeFrame`
([#&#8203;20508](https://redirect.github.com/vitejs/vite/issues/20508))
([e7d0b2a](e7d0b2afa5))
- add `import.meta.main` support in config (bundle config loader)
([#&#8203;20516](https://redirect.github.com/vitejs/vite/issues/20516))
([5d3e3c2](5d3e3c2ae5))
- **optimizer:** improve dependency optimization error messages with
esbuild formatMessages
([#&#8203;20525](https://redirect.github.com/vitejs/vite/issues/20525))
([d17cfed](d17cfeda07))
- **ssr:** add `import.meta.main` support for Node.js module runner
([#&#8203;20517](https://redirect.github.com/vitejs/vite/issues/20517))
([794a8f2](794a8f2302))
- add `future: 'warn'`
([#&#8203;20473](https://redirect.github.com/vitejs/vite/issues/20473))
([e6aaf17](e6aaf17ca2))
- add `removeServerPluginContainer` future deprecation
([#&#8203;20437](https://redirect.github.com/vitejs/vite/issues/20437))
([c1279e7](c1279e7540))
- add `removeServerReloadModule` future deprecation
([#&#8203;20436](https://redirect.github.com/vitejs/vite/issues/20436))
([6970d17](6970d1740c))
- add `server.warmupRequest` to future deprecation
([#&#8203;20431](https://redirect.github.com/vitejs/vite/issues/20431))
([8ad388a](8ad388aeab))
- add `ssrFixStacktrace` / `ssrRewriteStacktrace` to
`removeSsrLoadModule` future deprecation
([#&#8203;20435](https://redirect.github.com/vitejs/vite/issues/20435))
([8c8f587](8c8f5879ea))
- **client:** ping from SharedWorker
([#&#8203;19057](https://redirect.github.com/vitejs/vite/issues/19057))
([5c97c22](5c97c22548))
- **dev:** add `this.fs` support
([#&#8203;20301](https://redirect.github.com/vitejs/vite/issues/20301))
([0fe3f2f](0fe3f2f7c3))
- export `defaultExternalConditions`
([#&#8203;20279](https://redirect.github.com/vitejs/vite/issues/20279))
([344d302](344d30243b))
- implement `removePluginHookSsrArgument` future deprecation
([#&#8203;20433](https://redirect.github.com/vitejs/vite/issues/20433))
([95927d9](95927d9c0b))
- implement `removeServerHot` future deprecation
([#&#8203;20434](https://redirect.github.com/vitejs/vite/issues/20434))
([259f45d](259f45d069))
- resolve server URLs before calling other listeners
([#&#8203;19981](https://redirect.github.com/vitejs/vite/issues/19981))
([45f6443](45f6443a93))
- **ssr:** resolve externalized packages with
`resolve.externalConditions` and add `module-sync` to default external
condition
([#&#8203;20409](https://redirect.github.com/vitejs/vite/issues/20409))
([c669c52](c669c524e6))
- **ssr:** support `import.meta.resolve` in module runner
([#&#8203;20260](https://redirect.github.com/vitejs/vite/issues/20260))
([62835f7](62835f7c06))

##### Bug Fixes

- **css:** avoid warnings for `image-set` containing `__VITE_ASSET__`
([#&#8203;20520](https://redirect.github.com/vitejs/vite/issues/20520))
([f1a2635](f1a2635e69))
- **css:** empty CSS entry points should generate CSS files, not JS
files
([#&#8203;20518](https://redirect.github.com/vitejs/vite/issues/20518))
([bac9f3e](bac9f3ecf8))
- **dev:** denied request stalled when requested concurrently
([#&#8203;20503](https://redirect.github.com/vitejs/vite/issues/20503))
([64a52e7](64a52e70d9))
- **manifest:** initialize `entryCssAssetFileNames` as an empty Set
([#&#8203;20542](https://redirect.github.com/vitejs/vite/issues/20542))
([6a46cda](6a46cdac5d))
- skip prepareOutDirPlugin in workers
([#&#8203;20556](https://redirect.github.com/vitejs/vite/issues/20556))
([97d5111](97d5111645))
- **asset:** only watch existing files for `new URL(, import.meta.url)`
([#&#8203;20507](https://redirect.github.com/vitejs/vite/issues/20507))
([1b211fd](1b211fd1be))
- **client:** keep ping on WS constructor error
([#&#8203;20512](https://redirect.github.com/vitejs/vite/issues/20512))
([3676da5](3676da5bc5))
- **deps:** update all non-major dependencies
([#&#8203;20537](https://redirect.github.com/vitejs/vite/issues/20537))
([fc9a9d3](fc9a9d3f14))
- don't resolve as relative for specifiers starting with a dot
([#&#8203;20528](https://redirect.github.com/vitejs/vite/issues/20528))
([c5a10ec](c5a10ec004))
- **html:** allow control character in input stream
([#&#8203;20483](https://redirect.github.com/vitejs/vite/issues/20483))
([c12a4a7](c12a4a76a2))
- merge old and new `noExternal: true` correctly
([#&#8203;20502](https://redirect.github.com/vitejs/vite/issues/20502))
([9ebe4a5](9ebe4a514a))
- **deps:** update all non-major dependencies
([#&#8203;20489](https://redirect.github.com/vitejs/vite/issues/20489))
([f6aa04a](f6aa04a52d))
- **dev:** denied requests overly
([#&#8203;20410](https://redirect.github.com/vitejs/vite/issues/20410))
([4be5270](4be5270b27))
- **hmr:** register css deps as `type: asset`
([#&#8203;20391](https://redirect.github.com/vitejs/vite/issues/20391))
([7eac8dd](7eac8ddb65))
- **optimizer:** discover correct jsx runtime during scan
([#&#8203;20495](https://redirect.github.com/vitejs/vite/issues/20495))
([10d48bb](10d48bb2e3))
- **preview:** set correct host for `resolvedUrls`
([#&#8203;20496](https://redirect.github.com/vitejs/vite/issues/20496))
([62b3e0d](62b3e0d95c))
- **worker:** resolve WebKit compat with inline workers by deferring
blob URL revocation
([#&#8203;20460](https://redirect.github.com/vitejs/vite/issues/20460))
([8033e5b](8033e5bf8d))

##### Performance Improvements

- **client:** reduce reload debounce
([#&#8203;20429](https://redirect.github.com/vitejs/vite/issues/20429))
([22ad43b](22ad43b4bf))

##### Miscellaneous Chores

- **deps:** update rolldown-related dependencies
([#&#8203;20536](https://redirect.github.com/vitejs/vite/issues/20536))
([8be2787](8be278748a))
- **deps:** update dependency parse5 to v8
([#&#8203;20490](https://redirect.github.com/vitejs/vite/issues/20490))
([744582d](744582d018))
- format
([f20addc](f20addc536))
- stablize `cssScopeTo`
([#&#8203;19592](https://redirect.github.com/vitejs/vite/issues/19592))
([ced1343](ced13433fb))

##### Code Refactoring

- use hook filters in the worker plugin
([#&#8203;20527](https://redirect.github.com/vitejs/vite/issues/20527))
([958cdf2](958cdf24f8))
- extract prepareOutDir as a plugin
([#&#8203;20373](https://redirect.github.com/vitejs/vite/issues/20373))
([2c4af1f](2c4af1f90b))
- extract resolve rollup options
([#&#8203;20375](https://redirect.github.com/vitejs/vite/issues/20375))
([61a9778](61a97780e6))
- rewrite openchrome.applescript to JXA
([#&#8203;20424](https://redirect.github.com/vitejs/vite/issues/20424))
([7979f9d](7979f9da55))
- use `http-proxy-3`
([#&#8203;20402](https://redirect.github.com/vitejs/vite/issues/20402))
([26d9872](26d987232a))
- use hook filters in internal plugins
([#&#8203;20358](https://redirect.github.com/vitejs/vite/issues/20358))
([f19c4d7](f19c4d72de))
- use hook filters in internal resolve plugin
([#&#8203;20480](https://redirect.github.com/vitejs/vite/issues/20480))
([acd2a13](acd2a13c2d))

##### Tests

- detect ts support via `process.features`
([#&#8203;20544](https://redirect.github.com/vitejs/vite/issues/20544))
([856d3f0](856d3f06e6))
- fix unimportant errors in test-unit
([#&#8203;20545](https://redirect.github.com/vitejs/vite/issues/20545))
([1f23554](1f235545b1))

##### Beta Changelogs

#####
[7.1.0-beta.1](https://redirect.github.com/vitejs/vite/compare/v7.1.0-beta.0...v7.1.0-beta.1)
(2025-08-05)

See [7.1.0-beta.1
changelog](https://redirect.github.com/vitejs/vite/blob/v7.1.0-beta.1/packages/vite/CHANGELOG.md)

#####
[7.1.0-beta.0](https://redirect.github.com/vitejs/vite/compare/v7.0.6...v7.1.0-beta.0)
(2025-07-30)

See [7.1.0-beta.0
changelog](https://redirect.github.com/vitejs/vite/blob/v7.1.0-beta.0/packages/vite/CHANGELOG.md)

###
[`v7.0.5`](https://redirect.github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-705-2025-07-17-small)

[Compare
Source](https://redirect.github.com/vitejs/vite/compare/v7.0.4...v7.0.5)

##### Bug Fixes

- **deps:** update all non-major dependencies
([#&#8203;20406](https://redirect.github.com/vitejs/vite/issues/20406))
([1a1cc8a](1a1cc8a435))
- remove special handling for `Accept: text/html`
([#&#8203;20376](https://redirect.github.com/vitejs/vite/issues/20376))
([c9614b9](c9614b9c37))
- watch assets referenced by `new URL(, import.meta.url)`
([#&#8203;20382](https://redirect.github.com/vitejs/vite/issues/20382))
([6bc8bf6](6bc8bf634d))

##### Miscellaneous Chores

- **deps:** update dependency rolldown to ^1.0.0-beta.27
([#&#8203;20405](https://redirect.github.com/vitejs/vite/issues/20405))
([1165667](1165667b27))

##### Code Refactoring

- use `foo.endsWith("bar")` instead of `/bar$/.test(foo)`
([#&#8203;20413](https://redirect.github.com/vitejs/vite/issues/20413))
([862e192](862e192d21))

###
[`v7.0.4`](https://redirect.github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-704-2025-07-10-small)

[Compare
Source](https://redirect.github.com/vitejs/vite/compare/v7.0.3...v7.0.4)

##### Bug Fixes

- allow resolving bare specifiers to relative paths for entries
([#&#8203;20379](https://redirect.github.com/vitejs/vite/issues/20379))
([324669c](324669c2d8))

##### Build System

- remove `@oxc-project/runtime` devDep
([#&#8203;20389](https://redirect.github.com/vitejs/vite/issues/20389))
([5e29602](5e29602f6f))

###
[`v7.0.3`](https://redirect.github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-703-2025-07-08-small)

[Compare
Source](https://redirect.github.com/vitejs/vite/compare/v7.0.2...v7.0.3)

##### Bug Fixes

- **client:** protect against window being defined but addEv undefined
([#&#8203;20359](https://redirect.github.com/vitejs/vite/issues/20359))
([31d1467](31d1467cf0))
- **define:** replace optional values
([#&#8203;20338](https://redirect.github.com/vitejs/vite/issues/20338))
([9465ae1](9465ae1378))
- **deps:** update all non-major dependencies
([#&#8203;20366](https://redirect.github.com/vitejs/vite/issues/20366))
([43ac73d](43ac73da27))

##### Miscellaneous Chores

- **deps:** update dependency dotenv to v17
([#&#8203;20325](https://redirect.github.com/vitejs/vite/issues/20325))
([45040d4](45040d4807))
- **deps:** update dependency rolldown to ^1.0.0-beta.24
([#&#8203;20365](https://redirect.github.com/vitejs/vite/issues/20365))
([5ab25e7](5ab25e73a2))
- use `n/prefer-node-protocol` rule
([#&#8203;20368](https://redirect.github.com/vitejs/vite/issues/20368))
([38bb268](38bb268cde))

##### Code Refactoring

- minor changes to reduce diff between normal Vite and rolldown-vite
([#&#8203;20354](https://redirect.github.com/vitejs/vite/issues/20354))
([2e8050e](2e8050e4cd))

###
[`v7.0.2`](https://redirect.github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-702-2025-07-04-small)

[Compare
Source](https://redirect.github.com/vitejs/vite/compare/v7.0.1...v7.0.2)

##### Bug Fixes

- **css:** resolve relative paths in sass, revert
[#&#8203;20300](https://redirect.github.com/vitejs/vite/issues/20300)
([#&#8203;20349](https://redirect.github.com/vitejs/vite/issues/20349))
([db8bd41](db8bd412a8))

###
[`v7.0.1`](https://redirect.github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small-701-2025-07-03-small)

[Compare
Source](https://redirect.github.com/vitejs/vite/compare/v7.0.0...v7.0.1)

##### Bug Fixes

- **css:** skip resolving resolved paths in sass
([#&#8203;20300](https://redirect.github.com/vitejs/vite/issues/20300))
([ac528a4](ac528a44c3))
- **deps:** update all non-major dependencies
([#&#8203;20324](https://redirect.github.com/vitejs/vite/issues/20324))
([3e81af3](3e81af38a8))
- **types:** add a global interface for Worker
([#&#8203;20243](https://redirect.github.com/vitejs/vite/issues/20243))
([37bdfc1](37bdfc18f4))

##### Miscellaneous Chores

- **deps:** update rolldown-related dependencies
([#&#8203;20323](https://redirect.github.com/vitejs/vite/issues/20323))
([30d2f1b](30d2f1b38c))
- fix typos and grammatical errors across documentation and comments
([#&#8203;20337](https://redirect.github.com/vitejs/vite/issues/20337))
([c1c951d](c1c951dcc3))
- group commits by category in changelog
([#&#8203;20310](https://redirect.github.com/vitejs/vite/issues/20310))
([41e83f6](41e83f62b1))
- rearrange 7.0 changelog
([#&#8203;20280](https://redirect.github.com/vitejs/vite/issues/20280))
([eafd28a](eafd28ac88))

###
[`v7.0.0`](https://redirect.github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#700-2025-06-24)

[Compare
Source](https://redirect.github.com/vitejs/vite/compare/v6.4.1...v7.0.0)

![Vite 7 is out!](../../docs/public/og-image-announcing-vite7.png)

Today, we're excited to announce the release of the next Vite major:

- **[Vite 7.0 announcement blog
post](https://vite.dev/blog/announcing-vite7.html)**
- [Docs](https://vite.dev/) (translations: [简体中文](https://cn.vite.dev/),
[日本語](https://ja.vite.dev/), [Español](https://es.vite.dev/),
[Português](https://pt.vite.dev/), [한국어](https://ko.vite.dev/),
[Deutsch](https://de.vite.dev/), [فارسی](https://fa.vite.dev/))
- [Migration Guide](https://vite.dev/guide/migration.html)

##### ⚠ BREAKING CHANGES

- **ssr:** don't access `Object` variable in ssr transformed code
([#&#8203;19996](https://redirect.github.com/vitejs/vite/issues/19996))
- remove `experimental.skipSsrTransform` option
([#&#8203;20038](https://redirect.github.com/vitejs/vite/issues/20038))
- remove `HotBroadcaster`
([#&#8203;19988](https://redirect.github.com/vitejs/vite/issues/19988))
- **css:** always use sass compiler API
([#&#8203;19978](https://redirect.github.com/vitejs/vite/issues/19978))
- bump `build.target` and name it `baseline-widely-available`
([#&#8203;20007](https://redirect.github.com/vitejs/vite/issues/20007))
- bump required node version to 20.19+, 22.12+ and remove cjs build
([#&#8203;20032](https://redirect.github.com/vitejs/vite/issues/20032))
- **css:** remove sass legacy API support
([#&#8203;19977](https://redirect.github.com/vitejs/vite/issues/19977))
- remove deprecated `HotBroadcaster` related types
([#&#8203;19987](https://redirect.github.com/vitejs/vite/issues/19987))
- remove deprecated no-op type only properties
([#&#8203;19985](https://redirect.github.com/vitejs/vite/issues/19985))
- remove node 18 support
([#&#8203;19972](https://redirect.github.com/vitejs/vite/issues/19972))
- remove deprecated hook-level `enforce`/`transform` from
`transformIndexHtml` hook
([#&#8203;19349](https://redirect.github.com/vitejs/vite/issues/19349))
- remove deprecated splitVendorChunkPlugin
([#&#8203;19255](https://redirect.github.com/vitejs/vite/issues/19255))

##### Features

- **types:** use terser types from terser package
([#&#8203;20274](https://redirect.github.com/vitejs/vite/issues/20274))
([a5799fa](a5799fa74c))
- apply some middlewares before `configurePreviewServer` hook
([#&#8203;20224](https://redirect.github.com/vitejs/vite/issues/20224))
([b989c42](b989c42cf8))
- apply some middlewares before `configureServer` hook
([#&#8203;20222](https://redirect.github.com/vitejs/vite/issues/20222))
([f5cc4c0](f5cc4c0ded))
- add base option to import.meta.glob
([#&#8203;20163](https://redirect.github.com/vitejs/vite/issues/20163))
([253d6c6](253d6c6df2))
- add `this.meta.viteVersion`
([#&#8203;20088](https://redirect.github.com/vitejs/vite/issues/20088))
([f55bf41](f55bf41e91))
- allow passing down resolved config to vite's `createServer`
([#&#8203;19894](https://redirect.github.com/vitejs/vite/issues/19894))
([c1ae9bd](c1ae9bd4a0))
- buildApp hook
([#&#8203;19971](https://redirect.github.com/vitejs/vite/issues/19971))
([5da659d](5da659de90))
- **build:** provide names for asset entrypoints
([#&#8203;19912](https://redirect.github.com/vitejs/vite/issues/19912))
([c4e01dc](c4e01dc5ab))
- bump `build.target` and name it `baseline-widely-available`
([#&#8203;20007](https://redirect.github.com/vitejs/vite/issues/20007))
([4a8aa82](4a8aa82556))
- **client:** support opening fileURL in editor
([#&#8203;20040](https://redirect.github.com/vitejs/vite/issues/20040))
([1bde4d2](1bde4d2524))
- make PluginContext available for Vite-specific hooks
([#&#8203;19936](https://redirect.github.com/vitejs/vite/issues/19936))
([7063839](7063839d47))
- resolve environments plugins at config time
([#&#8203;20120](https://redirect.github.com/vitejs/vite/issues/20120))
([f6a28d5](f6a28d5f79))
- stabilize `css.preprocessorMaxWorkers` and default to `true`
([#&#8203;19992](https://redirect.github.com/vitejs/vite/issues/19992))
([70aee13](70aee139ea))
- stabilize `optimizeDeps.noDiscovery`
([#&#8203;19984](https://redirect.github.com/vitejs/vite/issues/19984))
([6d2dcb4](6d2dcb494d))

##### Bug Fixes

- **deps:** update all non-major dependencies
([#&#8203;20271](https://redirect.github.com/vitejs/vite/issues/20271))
([6b64d63](https://redirect.github.com/vitejs/vite/commit/6b64d63d700154de2c00270

</details>

---

### Configuration

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

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

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

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

---

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

---

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

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

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-21 16:12:43 +00:00
Cats Juice
b44fdbce0c feat(component): virtual scroll emoji groups in emoji picker (#13671)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- New Features
- Revamped Emoji Picker: grouped browsing with sticky group headers,
footer navigation, and a new EmojiButton for quicker selection.
  - Recent emojis with persisted history and single-tap add.
- Programmatic group navigation and callbacks for sticky-group changes.

- Style
  - Updated scroll area paddings for emoji and icon pickers.
  - Enhanced group header background for better contrast.

- Refactor
- Simplified emoji picker internals for leaner, more responsive
rendering.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-09-30 01:59:39 +00:00
Cats Juice
12daefdf54 fix(core): prevent emoji being clipped and adjust icon-picker default color (#13664)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- Style
- Updated icon picker to use the primary icon color, improving visual
consistency (including SVG icons).
- Improved emoji rendering in the document icon picker by applying an
emoji-specific font for elements marked as emoji, matching existing size
and line-height.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-09-29 02:25:31 +00:00
Cats Juice
d272c4342d feat(core): replace emoji-mart with affine icon picker (#13644)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- New Features
  - Unified icon picker with consistent rendering across the app.
  - Picker can auto-close after selection.
  - “Remove” now clears the icon selection.

- Refactor
- Icon handling consolidated across editors, navigation, and document
titles for consistent behavior.
  - Picker now opens on the Emoji panel by default.

- Style
  - Adjusted line-height and selectors for icon picker visuals.

- Chores
  - Removed unused emoji-mart dependencies.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-09-26 06:41:29 +00:00
Cats Juice
ca9811792d feat(component): emoji and icon picker (#13638)
![CleanShot 2025-09-23 at 17 11
13](https://github.com/user-attachments/assets/0a4a9d09-1149-4042-bc73-e068a428f335)


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

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

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

- **Chores**
  - Bumped icon library dependency to a newer minor version.
  - Added emoji data dependency to support the Emoji Picker.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-09-24 07:14:54 +00:00
Cats Juice
195864fc88 feat(core): edit icon in navigation panel (#13595)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

- **New Features**
- Rename dialog now edits per-item explorer icons (emoji or custom) and
can skip name-change callbacks. Doc icon picker added to the editor with
localized "Add icon" placeholder and readonly rendering. Icon editor
supports fallbacks, trigger variants, and improved input/test-id wiring.

- **Style**
- Updated icon picker and trigger sizing and placeholder visuals;
title/icon layout adjustments.

- **Chores**
- Explorer icon storage and module added to persist and serve icons
across the app.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-09-22 10:24:11 +00:00
L-Sun
fd717af3db fix(core): update and fix oxlint error (#13591)
#### PR Dependency Tree


* **PR #13591** 👈
  * **PR #13590**

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 drag-and-drop stability: draggables, drop targets, and
monitors now respond when option sources or external data change.
- Improved async actions and permission checks to always use the latest
callbacks and error handlers.

- Chores
  - Lint/Prettier configs updated to ignore the Git directory.
  - Upgraded oxlint dev dependency.

- Tests
- Updated several end-to-end tests for more reliable text selection,
focus handling, and timing.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-09-16 16:47:43 +08:00