# Changelog

## v0.18.6

[compare changes](https://github.com/wxt-dev/wxt/compare/wxt-v0.18.5...wxt-v0.18.6)

### 🚀 Enhancements

- **modules:** Add new `addImportPreset` helper function ([#720](https://github.com/wxt-dev/wxt/pull/720))

### 🩹 Fixes

- **types:** Module `options` param is optional, but types did not reflect that ([#719](https://github.com/wxt-dev/wxt/pull/719))
- **modules:** Re-export `WxtModule` type from `wxt/modules` to prevent TS2742 ([#721](https://github.com/wxt-dev/wxt/pull/721))
- **modules:** Add modules to TS project so type augmentation works ([#722](https://github.com/wxt-dev/wxt/pull/722))

### 🏡 Chore

- **dev-deps:** Upgrade typescript to 5.4 ([#718](https://github.com/wxt-dev/wxt/pull/718))

## v0.18.5

[compare changes](https://github.com/wxt-dev/wxt/compare/wxt-v0.18.4...wxt-v0.18.5)

### 🚀 Enhancements

- Module system ([#672](https://github.com/wxt-dev/wxt/pull/672))

### 🩹 Fixes

- To fix the issue with Entrypoint Side Effects link errors ([#705](https://github.com/wxt-dev/wxt/pull/705))
- **storage:** Add storage area typing for storage keys ([#708](https://github.com/wxt-dev/wxt/pull/708))

### 📖 Documentation

- Restructure wxt.dev ([#701](https://github.com/wxt-dev/wxt/pull/701))
- Add eslintrc info to auto-imports page ([454b076](https://github.com/wxt-dev/wxt/commit/454b076))

### 🏡 Chore

- **deps:** Bump linkedom from 0.16.8 to 0.18.2 ([#690](https://github.com/wxt-dev/wxt/pull/690))
- **deps:** Bump nypm from 0.3.6 to 0.3.8 ([#692](https://github.com/wxt-dev/wxt/pull/692))
- **deps-dev:** Bump tsx from 4.7.0 to 4.11.2 ([#699](https://github.com/wxt-dev/wxt/pull/699))
- **deps-dev:** Bump execa from 8.0.1 to 9.1.0 ([#691](https://github.com/wxt-dev/wxt/pull/691))
- Fix flakey TS config ([a257217](https://github.com/wxt-dev/wxt/commit/a257217))
- Remove log in tests ([eb3b9bc](https://github.com/wxt-dev/wxt/commit/eb3b9bc))
- **deps:** Upgrade braces to 3.0.3 ([#711](https://github.com/wxt-dev/wxt/pull/711))

### 🤖 CI

- Add support for managing multiple changelogs ([#712](https://github.com/wxt-dev/wxt/pull/712))

### ❤️ Contributors

- TheOnlyTails ([@TheOnlyTails](http://github.com/TheOnlyTails))
- Rxliuli ([@rxliuli](http://github.com/rxliuli))

## v0.18.4

[compare changes](https://github.com/wxt-dev/wxt/compare/v0.18.3...v0.18.4)

### 🩹 Fixes

- Allow zipping hidden files in sources by listing them explicitly in `includeSources` ([#674](https://github.com/wxt-dev/wxt/pull/674))
- Properly invalidate content script context ([#683](https://github.com/wxt-dev/wxt/pull/683))

### 📖 Documentation

- Update contributing guidelines ([8125d74](https://github.com/wxt-dev/wxt/commit/8125d74))

### ❤️ Contributors

- Hujiulong ([@hujiulong](http://github.com/hujiulong))

## v0.18.3

[compare changes](https://github.com/wxt-dev/wxt/compare/v0.18.2...v0.18.3)

### 🩹 Fixes

- Automatically add dev server to sandbox CSP ([#663](https://github.com/wxt-dev/wxt/pull/663))
- Remove `import * as` imports from entrypoints during build ([#671](https://github.com/wxt-dev/wxt/pull/671))
- **security:** Upgrade tar to 6.2.1 ([215def7](https://github.com/wxt-dev/wxt/commit/215def7))

### 📖 Documentation

- Add YTBlock to homepage ([#666](https://github.com/wxt-dev/wxt/pull/666))

### 🏡 Chore

- Add missing tests for dev mode CSP ([#662](https://github.com/wxt-dev/wxt/pull/662))
- Upgrade templates to v0.18 ([3b954cc](https://github.com/wxt-dev/wxt/commit/3b954cc))

### 🤖 CI

- Fix sync-releases workflow trigger ([5d8efef](https://github.com/wxt-dev/wxt/commit/5d8efef))

### ❤️ Contributors

- Edoan ([@EdoanR](http://github.com/EdoanR))

## v0.18.2

[compare changes](https://github.com/wxt-dev/wxt/compare/v0.18.1...v0.18.2)

### 🚀 Enhancements

- **runner:** Add `keepProfileChanges` option ([#655](https://github.com/wxt-dev/wxt/pull/655))

### 🩹 Fixes

- Automatically detect and add "sidePanel" permission ([5fcaf7c](https://github.com/wxt-dev/wxt/commit/5fcaf7c))

### 📖 Documentation

- Fix `wxt-vitest-plugin` reference ([#650](https://github.com/wxt-dev/wxt/pull/650))
- Fix spelling mistake in remote-code.md ([#652](https://github.com/wxt-dev/wxt/pull/652))
- Correct event handler name in handling-updates.md ([#653](https://github.com/wxt-dev/wxt/pull/653))
- Fix iframe typos ([c74e530](https://github.com/wxt-dev/wxt/commit/c74e530))

### ❤️ Contributors

- Edoan ([@EdoanR](http://github.com/EdoanR))
- Linus Norton ([@linusnorton](http://github.com/linusnorton))
- Jeffrey Zang ([@jeffrey-zang](http://github.com/jeffrey-zang))
- Emmanuel Ferdman ([@emmanuel-ferdman](https://github.com/emmanuel-ferdman))

## v0.18.1

[compare changes](https://github.com/wxt-dev/wxt/compare/v0.18.0...v0.18.1)

### 🩹 Fixes

- `_background` is not defined ([#649](https://github.com/wxt-dev/wxt/pull/649))

### 🏡 Chore

- Add root README back ([ec3dd52](https://github.com/wxt-dev/wxt/commit/ec3dd52))

### 🤖 CI

- Fix sync releases workflow ([dc5b55b](https://github.com/wxt-dev/wxt/commit/dc5b55b))

## v0.18.0

[compare changes](https://github.com/wxt-dev/wxt/compare/v0.17.12...v0.18.0)

### 🚀 Enhancements

- Add zip compression settings ([#605](https://github.com/wxt-dev/wxt/pull/605))
- Support returning values from scripts executed with the scripting API ([#624](https://github.com/wxt-dev/wxt/pull/624))
- **experimental:** Load entrypoint options with Vite Runtime API ([#648](https://github.com/wxt-dev/wxt/pull/648))

### 🩹 Fixes

- ⚠️ Automatically move `host_permissions` to `permissions` for MV2 ([#626](https://github.com/wxt-dev/wxt/pull/626))
- **dep:** Upgrade `@webext-core/isolated-element` to v1.1.2 ([#625](https://github.com/wxt-dev/wxt/pull/625))

### 📖 Documentation

- Add Fluent Read to homepage ([#600](https://github.com/wxt-dev/wxt/pull/600))
- Fix typo on example for wxt.config.ts. ([#609](https://github.com/wxt-dev/wxt/pull/609))
- Tix typo in `entrypoints.md` ([#614](https://github.com/wxt-dev/wxt/pull/614))
- Add Facebook Video Controls to homepage ([#615](https://github.com/wxt-dev/wxt/pull/615))
- Fix typo in assets page ([a94d673](https://github.com/wxt-dev/wxt/commit/a94d673))
- Add ElemSnap to homepage ([#621](https://github.com/wxt-dev/wxt/pull/621))
- Update content script registration JSDoc ([e47519f](https://github.com/wxt-dev/wxt/commit/e47519f))
- Add docs about handling updates ([acb7554](https://github.com/wxt-dev/wxt/commit/acb7554))
- Add MS Edge TTS to homepage ([#647](https://github.com/wxt-dev/wxt/pull/647))
- Document required permission for storage API ([#632](https://github.com/wxt-dev/wxt/pull/632))

### 🏡 Chore

- Update vue template config ([#607](https://github.com/wxt-dev/wxt/pull/607))
- **deps-dev:** Bump lint-staged from 15.2.1 to 15.2.2 ([#637](https://github.com/wxt-dev/wxt/pull/637))
- **deps-dev:** Bump publint from 0.2.6 to 0.2.7 ([#639](https://github.com/wxt-dev/wxt/pull/639))
- **deps-dev:** Bump simple-git-hooks from 2.9.0 to 2.11.1 ([#640](https://github.com/wxt-dev/wxt/pull/640))
- Refactor repo to a standard monorepo ([#646](https://github.com/wxt-dev/wxt/pull/646))
- Fix formatting after monorepo refactor ([6ca3767](https://github.com/wxt-dev/wxt/commit/6ca3767))

#### ⚠️ Breaking Changes

- ⚠️ Automatically move `host_permissions` to `permissions` for MV2 ([#626](https://github.com/wxt-dev/wxt/pull/626))

  Out of an abundance of caution, I've marked this as a breaking change because permission generation has changed. **_If you list `host_permissions` in your `wxt.config.ts`'s manifest and have released your extension_**, double check that your `permissions` and `host_permissions` have not changed for all browsers you target in your `.output/*/manifest.json` files. Permission changes can cause the extension to be disabled on update, and can cause a drop in users, so be sure to double check for differences compared to the previous manifest version.

### ❤️ Contributors

- Alegal200 ([@alegal200](https://github.com/alegal200))
- Yacine-bens ([@yacine-bens](http://github.com/yacine-bens))
- Ayden ([@AydenGen](https://github.com/AydenGen))
- Wuzequanyouzi ([@wuzequanyouzi](http://github.com/wuzequanyouzi))
- Can Rau ([@CanRau](http://github.com/CanRau))
- 日高 凌 ([@ryohidaka](http://github.com/ryohidaka))
- Bas Van Zanten ([@Bas950](http://github.com/Bas950))
- ThinkStu ([@Bistutu](http://github.com/Bistutu))

## v0.17.12

[compare changes](https://github.com/wxt-dev/wxt/compare/v0.17.11...v0.17.12)

### 🚀 Enhancements

- Add hooks for extending vite config ([#599](https://github.com/wxt-dev/wxt/pull/599))

### 🩹 Fixes

- **content-script-ui:** Properly assign and unassign mounted value ([#598](https://github.com/wxt-dev/wxt/pull/598))

### 📖 Documentation

- Add discord server link ([#593](https://github.com/wxt-dev/wxt/pull/593))

### 🏡 Chore

- Remove unnecssary 'Omit' types ([db57c8e](https://github.com/wxt-dev/wxt/commit/db57c8e))
- **deps-dev:** Bump @aklinker1/check from 1.1.1 to 1.2.0 ([#588](https://github.com/wxt-dev/wxt/pull/588))
- **deps-dev:** Bump vue from 3.3.10 to 3.4.21 ([#589](https://github.com/wxt-dev/wxt/pull/589))
- **deps-dev:** Bump sass from 1.69.5 to 1.72.0 ([#591](https://github.com/wxt-dev/wxt/pull/591))

## v0.17.11

[compare changes](https://github.com/wxt-dev/wxt/compare/v0.17.10...v0.17.11)

### 🩹 Fixes

- Resolve absolute paths from the public directory properly ([#583](https://github.com/wxt-dev/wxt/pull/583))

### 📖 Documentation

- Fix `zip.includeSources` example ([16fc584](https://github.com/wxt-dev/wxt/commit/16fc584))
- Add "GitHub Custom Notifier" to homepage ([#580](https://github.com/wxt-dev/wxt/pull/580))

### 🏡 Chore

- Simplify virtual module setup ([#581](https://github.com/wxt-dev/wxt/pull/581))
- Add some array utils ([#582](https://github.com/wxt-dev/wxt/pull/582))
- Extract helper function ([d3b14af](https://github.com/wxt-dev/wxt/commit/d3b14af))

### ❤️ Contributors

- Qiwei Yang ([@qiweiii](http://github.com/qiweiii))

## v0.17.10

[compare changes](https://github.com/wxt-dev/wxt/compare/v0.17.9...v0.17.10)

### 🚀 Enhancements

- Add `dev.server.port` config ([#577](https://github.com/wxt-dev/wxt/pull/577))

### 🏡 Chore

- Use `@aklinker1/check` to simplify checks setup ([#550](https://github.com/wxt-dev/wxt/pull/550))
- Refactor order of config resolution ([#578](https://github.com/wxt-dev/wxt/pull/578))

### ❤️ Contributors

- Zizheng Tai ([@zizhengtai](http://github.com/zizhengtai))

## v0.17.9

[compare changes](https://github.com/wxt-dev/wxt/compare/v0.17.8...v0.17.9)

### 🚀 Enhancements

- Add `{{mode}}` Template Variable ([#566](https://github.com/wxt-dev/wxt/pull/566))

### 🩹 Fixes

- Don't override `wxt.config.ts` options when CLI flags are not passed ([#567](https://github.com/wxt-dev/wxt/pull/567))

### 🏡 Chore

- Merge user config using `defu` ([#568](https://github.com/wxt-dev/wxt/pull/568))

### ❤️ Contributors

- Guillaume ([@GuiEpi](http://github.com/GuiEpi))

## v0.17.8

[compare changes](https://github.com/wxt-dev/wxt/compare/v0.17.7...v0.17.8)

### 🚀 Enhancements

- **analysis:** Open `stats.html` file automatically ([#564](https://github.com/wxt-dev/wxt/pull/564))

### 🩹 Fixes

- **init:** Better error logging when templates fail to load ([b47c150](https://github.com/wxt-dev/wxt/commit/b47c150))
- Remove deprecated extension from Vue template ([#534](https://github.com/wxt-dev/wxt/pull/534))
- Append option description error ([#546](https://github.com/wxt-dev/wxt/pull/546))
- **init:** Don't overwrite existing files when initializing a new project ([#556](https://github.com/wxt-dev/wxt/pull/556))
- **dev:** Don't crash dev mode when rebuild fails ([#565](https://github.com/wxt-dev/wxt/pull/565))

### 📖 Documentation

- Replace `pnpx` with `pnpm dlx` ([#527](https://github.com/wxt-dev/wxt/pull/527))
- Update homepage demo video ([35269da](https://github.com/wxt-dev/wxt/commit/35269da))
- Update README demo video ([#539](https://github.com/wxt-dev/wxt/pull/539))
- Add Plex skipper to "Using WXT" section ([#541](https://github.com/wxt-dev/wxt/pull/541))
- Add documentation for Bun.sh ([#543](https://github.com/wxt-dev/wxt/pull/543))
- Mention adding unlisted scripts and pages to `web_accessible_resources` ([121b521](https://github.com/wxt-dev/wxt/commit/121b521))
- Add examples for GitHub Actions ([#540](https://github.com/wxt-dev/wxt/pull/540))
- Fixed "Reload the Extension" section ([#559](https://github.com/wxt-dev/wxt/pull/559))

### 🏡 Chore

- Increase unit test timeout ([d9cba55](https://github.com/wxt-dev/wxt/commit/d9cba55))
- Increase hook timeout for Windows/NPM tests ([56b7149](https://github.com/wxt-dev/wxt/commit/56b7149))
- Switch to seed plugin for testing ([#547](https://github.com/wxt-dev/wxt/pull/547))
- **vue-template:** Upgrade to `vue-tsc` v2 ([#549](https://github.com/wxt-dev/wxt/pull/549))
- Add a test covering `wxt init` in a non-empty directory ([#563](https://github.com/wxt-dev/wxt/pull/563))

### ❤️ Contributors

- Btea ([@btea](http://github.com/btea))
- Vlad Fedosov ([@StyleT](http://github.com/StyleT))
- Lpmvb ([@Lpmvb](http://github.com/Lpmvb))
- Guillaume ([@GuiEpi](http://github.com/GuiEpi))
- Sunshio ([@MPB-Tech](http://github.com/MPB-Tech))
- Luca Dalli ([@lucadalli](http://github.com/lucadalli))

## v0.17.7

[compare changes](https://github.com/wxt-dev/wxt/compare/v0.17.6...v0.17.7)

### 🩹 Fixes

- **zip:** List `.wxt/local_modules` overrides relative to the `package.json` they're added to ([#526](https://github.com/wxt-dev/wxt/pull/526))

### 🏡 Chore

- Bump templates to v0.17 ([#524](https://github.com/wxt-dev/wxt/pull/524))
- Increase test timeout for windows NPM tests ([#525](https://github.com/wxt-dev/wxt/pull/525))

## v0.17.6

[compare changes](https://github.com/wxt-dev/wxt/compare/v0.17.5...v0.17.6)

### 🚀 Enhancements

- Add warnings when important directories are missing ([#516](https://github.com/wxt-dev/wxt/pull/516))
- Automatically remove top-level MV2-only or MV3-only keys ([#518](https://github.com/wxt-dev/wxt/pull/518))
- Automatically generate `browser_action` based on `action` for MV2 ([#519](https://github.com/wxt-dev/wxt/pull/519))

### 🩹 Fixes

- **zip:** List all private packages correctly in a PNPM workspace ([#520](https://github.com/wxt-dev/wxt/pull/520))

### 📖 Documentation

- Mentions moving folders into `srcDir` ([9cd4e83](https://github.com/wxt-dev/wxt/commit/9cd4e83))

### 🏡 Chore

- **deps-dev:** Bump @types/react from 18.2.34 to 18.2.61 ([#510](https://github.com/wxt-dev/wxt/pull/510))

## v0.17.5

[compare changes](https://github.com/wxt-dev/wxt/compare/v0.17.4...v0.17.5)

### 🚀 Enhancements

- Expose package management utils under `wxt.pm` ([#502](https://github.com/wxt-dev/wxt/pull/502))
- Download and override private packages for Firefox code review ([#507](https://github.com/wxt-dev/wxt/pull/507))

### 📖 Documentation

- Fix typos ([#503](https://github.com/wxt-dev/wxt/pull/503))
- Add docs about configuring the manifest as a function ([195d2cc](https://github.com/wxt-dev/wxt/commit/195d2cc))
- Fix CLI generation ([b754435](https://github.com/wxt-dev/wxt/commit/b754435))

### 🏡 Chore

- Use JSZip for `wxt zip`, enabling future features ([#501](https://github.com/wxt-dev/wxt/pull/501))

### ❤️ Contributors

- Btea ([@btea](http://github.com/btea))

## v0.17.4

[compare changes](https://github.com/wxt-dev/wxt/compare/v0.17.3...v0.17.4)

### 🚀 Enhancements

- Add basic content script to templates ([#495](https://github.com/wxt-dev/wxt/pull/495))
- Add `ResolvedConfig.wxtModuleDir`, resolving the directory once ([#497](https://github.com/wxt-dev/wxt/pull/497))

### 🩹 Fixes

- Resolve the path to `node_modules/wxt` correctly ([#498](https://github.com/wxt-dev/wxt/pull/498))

### 📖 Documentation

- Added DocVersionRedirector to "Using WXT" section ([#492](https://github.com/wxt-dev/wxt/pull/492))
- Fix typos ([f80fb42](https://github.com/wxt-dev/wxt/commit/f80fb42))
- Add CRXJS to comparison page ([cb4f9aa](https://github.com/wxt-dev/wxt/commit/cb4f9aa))
- Update comparison page ([35778f7](https://github.com/wxt-dev/wxt/commit/35778f7))
- Update context usage ([012bd7e](https://github.com/wxt-dev/wxt/commit/012bd7e))
- Add testing example for `ContentScriptContext` ([e1c6020](https://github.com/wxt-dev/wxt/commit/e1c6020))

### 🏡 Chore

- Fix tests after template change ([f9b0aa4](https://github.com/wxt-dev/wxt/commit/f9b0aa4))

### ❤️ Contributors

- Btea ([@btea](http://github.com/btea))
- Leo Shklovskii <leo@thermopylae.net>

## v0.17.3

[compare changes](https://github.com/wxt-dev/wxt/compare/v0.17.2...v0.17.3)

### 🚀 Enhancements

- **storage:** Guarantee `storage.getItems` returns values in the same order as requested ([b5f4d8c](https://github.com/wxt-dev/wxt/commit/b5f4d8c))

### 🩹 Fixes

- Content scripts crash when using `storage.defineItem` ([77e6d1f](https://github.com/wxt-dev/wxt/commit/77e6d1f))
- **storage:** Revert #478 and run migrations when item is defined and properly wait for migrations before allowing read/writes ([#487](https://github.com/wxt-dev/wxt/pull/487), [#478](https://github.com/wxt-dev/wxt/issues/478))

## v0.17.2

[compare changes](https://github.com/wxt-dev/wxt/compare/v0.17.1...v0.17.2)

### 🩹 Fixes

- Don't use sub-dependency binaries directly ([#482](https://github.com/wxt-dev/wxt/pull/482))

## v0.17.1

[compare changes](https://github.com/wxt-dev/wxt/compare/v0.17.0...v0.17.1)

### 🩹 Fixes

- Content scripts not loading in dev mode ([3fbbe2c](https://github.com/wxt-dev/wxt/commit/3fbbe2c))

### 📖 Documentation

- Lots of small typo fixes ([#480](https://github.com/wxt-dev/wxt/pull/480))

### ❤️ Contributors

- Leo Shklovskii ([@leos](https://github.com/leos))

## v0.17.0

[compare changes](https://github.com/wxt-dev/wxt/compare/v0.16.11...v0.17.0)

### 🚀 Enhancements

- **storage:** ⚠️ Improved support for default values on storage items ([#477](https://github.com/wxt-dev/wxt/pull/477))

### 🩹 Fixes

- **storage:** ⚠️ Only run migrations when the extension is updated ([#478](https://github.com/wxt-dev/wxt/pull/478))
- Improve dev mode for content scripts registered at runtime ([#474](https://github.com/wxt-dev/wxt/pull/474))

### 📖 Documentation

- **storage:** Update docs ([91fc41c](https://github.com/wxt-dev/wxt/commit/91fc41c))

#### ⚠️ Breaking Changes

`v0.17.0` introduces several breaking changes to `wxt/storage`.

First, if you were using `defineItem` with versioning and no default value, you will need to add `defaultValue: null` to the options and update the first type parameter:

```ts
// < 0.17
const item = storage.defineItem<number>("local:count", {
  version: ...,
  migrations: ...,
})

// >= 0.17
const item = storage.defineItem<number | null>("local:count", {
  defaultValue: null,
  version: ...,
  migrations: ...,
})
```

The `defaultValue` property is now required if passing in the second options argument.

If you exclude the second options argument, it will default to being nullable, as before.

```ts
const item: WxtStorageItem<number | null> =
  storage.defineItem<number>('local:count');
const value: number | null = await item.getValue();
```

> If you don't use typescript, there aren't any breaking changes, this is just a type change.

For storage items that are not nullable, the `watch` callback types has improved and will use the default value instead of `null` when the value is missing:

```ts
// >=0.17
const item = storage.defineItem<number>('local:count', { defaultValue: 0 });
item.watch((newValue: number | null, oldValue: number | null) => {
  // ...
});

// >=0.17
const item = storage.defineItem<number>('local:count', { defaultValue: 0 });
item.watch((newValue: number, oldValue: number) => {
  // ...
});
```

You can also access the default value directly off the item:

```ts
console.log(item.defaultValue); // 0
```

The second breaking change is that migrations for versioned items only run when the extension is updated. Before, they were ran whenever the storage item was created, in any entrypoint (background, popup, content script, etc). Now, in v0.17, storage items will only run migrations when the `browser.runtime.onInstalled` event is fired with `reason = "update"` in the background. See the updated docs to make sure they run correctly: https://wxt.dev/guide/storage.html#running-migrations. TLDR: you need to import all storage items into the background entrypoint for the `onInstalled` hook to fire properly and thus run the migrations.

To keep the old behavior, call the new `migrate` function to run migrations as soon as an item is defined:

```ts
const item = storage.defineItem(...);
item.migrate();
```

## v0.16.11

[compare changes](https://github.com/wxt-dev/wxt/compare/v0.16.10...v0.16.11)

### 🩹 Fixes

- Output main JS file for HTML entrypoints to chunks directory ([#473](https://github.com/wxt-dev/wxt/pull/473))

### 🏡 Chore

- **e2e:** Remove log ([4fda203](https://github.com/wxt-dev/wxt/commit/4fda203))

### 🤖 CI

- Fix codecov warning in release workflow ([7c6973f](https://github.com/wxt-dev/wxt/commit/7c6973f))
- Upgrade `pnpm/action-setup` to v3 ([905bfc7](https://github.com/wxt-dev/wxt/commit/905bfc7))

## v0.16.10

[compare changes](https://github.com/wxt-dev/wxt/compare/v0.16.9...v0.16.10)

### 🚀 Enhancements

- Customize when content scripts are registered, in the manifest or at runtime ([#471](https://github.com/wxt-dev/wxt/pull/471))

### 🩹 Fixes

- Don't assume react when importing JSX entrypoints during build ([#470](https://github.com/wxt-dev/wxt/pull/470))
- Respect `configFile` option ([#472](https://github.com/wxt-dev/wxt/pull/472))

## v0.16.9

[compare changes](https://github.com/wxt-dev/wxt/compare/v0.16.8...v0.16.9)

### 🚀 Enhancements

- Support setting side panel options in HTML file ([#468](https://github.com/wxt-dev/wxt/pull/468))

### 🩹 Fixes

- Fix order of ShadowRootUI hooks calling ([#459](https://github.com/wxt-dev/wxt/pull/459))

### 📖 Documentation

- Add wrapper div to react's `createShadowRootUi` example ([bc24ea4](https://github.com/wxt-dev/wxt/commit/bc24ea4))

### 🏡 Chore

- Simplify entrypoint types ([#464](https://github.com/wxt-dev/wxt/pull/464))

### ❤️ Contributors

- Okou ([@ookkoouu](https://github.com/ookkoouu))

## v0.16.8

[compare changes](https://github.com/wxt-dev/wxt/compare/v0.16.7...v0.16.8)

### 🩹 Fixes

- Watch files outside project root during development ([#454](https://github.com/wxt-dev/wxt/pull/454))

### 📖 Documentation

- Add loading and error states for "Who's using WXT" section ([447a48f](https://github.com/wxt-dev/wxt/commit/447a48f))

## v0.16.7

[compare changes](https://github.com/wxt-dev/wxt/compare/v0.16.6...v0.16.7)

### 🚀 Enhancements

- Generate ESLint globals file for auto-imports ([#450](https://github.com/wxt-dev/wxt/pull/450))

### 🔥 Performance

- Upgrade Vite to 5.1 ([#452](https://github.com/wxt-dev/wxt/pull/452))

### 📖 Documentation

- Add section about dev mode differences ([a0d1643](https://github.com/wxt-dev/wxt/commit/a0d1643))
- Remove anchor from content script ui examples ([87a62a1](https://github.com/wxt-dev/wxt/commit/87a62a1))

### 🏡 Chore

- **e2e:** Use `wxt prepare` instead of `wxt build` when possible to speed up E2E tests ([#451](https://github.com/wxt-dev/wxt/pull/451))

## v0.16.6

[compare changes](https://github.com/wxt-dev/wxt/compare/v0.16.5...v0.16.6)

### 🚀 Enhancements

- Add option to customize the analysis artifacts output ([#431](https://github.com/wxt-dev/wxt/pull/431))

### 🩹 Fixes

- Use `insertBefore` on mounting content script UI ([ba85fdf](https://github.com/wxt-dev/wxt/commit/ba85fdf))

### 💅 Refactors

- Use `Element.prepend` on mounting UI ([295f860](https://github.com/wxt-dev/wxt/commit/295f860))

### 📖 Documentation

- Fix `createShadowRootUi` unmount calls ([946072f](https://github.com/wxt-dev/wxt/commit/946072f))

### 🏡 Chore

- Enable skipped test since it works now ([6b8dfdf](https://github.com/wxt-dev/wxt/commit/6b8dfdf))

### ❤️ Contributors

- Lionelhorn ([@Lionelhorn](https://github.com/Lionelhorn))
- Okou ([@ookkoouu](https://github.com/ookkoouu))

## v0.16.5

[compare changes](https://github.com/wxt-dev/wxt/compare/v0.16.4...v0.16.5)

### 🩹 Fixes

- Support node 20 when running `wxt submit` ([e835502](https://github.com/wxt-dev/wxt/commit/e835502))

### 📖 Documentation

- Remove "coming soon" from automated publishing feature ([2b374b9](https://github.com/wxt-dev/wxt/commit/2b374b9))

## v0.16.4

[compare changes](https://github.com/wxt-dev/wxt/compare/v0.16.3...v0.16.4)

### 🚀 Enhancements

- Automatically convert MV3 `web_accessible_resources` to MV2 ([#423](https://github.com/wxt-dev/wxt/pull/423))
- Add option to customize the analysis output filename ([#426](https://github.com/wxt-dev/wxt/pull/426))

### 🩹 Fixes

- Don't use immer for `transformManifest` ([#424](https://github.com/wxt-dev/wxt/pull/424))
- Exclude analysis files from the build summary ([#425](https://github.com/wxt-dev/wxt/pull/425))

### 🏡 Chore

- Fix fake path in test data generator ([d0f1c70](https://github.com/wxt-dev/wxt/commit/d0f1c70))

## v0.16.3

[compare changes](https://github.com/wxt-dev/wxt/compare/v0.16.2...v0.16.3)

### 🚀 Enhancements

- Hooks ([#419](https://github.com/wxt-dev/wxt/pull/419))

### 🩹 Fixes

- **init:** Use `ungh` to prevent rate limits when loading templates ([37ad2c7](https://github.com/wxt-dev/wxt/commit/37ad2c7))

### 📖 Documentation

- Fix typo of intuitive ([#415](https://github.com/wxt-dev/wxt/pull/415))
- Fix typo of opinionated ([#416](https://github.com/wxt-dev/wxt/pull/416))

### 🏡 Chore

- Add dependabot for github actions ([#404](https://github.com/wxt-dev/wxt/pull/404))
- **deps-dev:** Bump happy-dom from 12.10.3 to 13.3.8 ([#411](https://github.com/wxt-dev/wxt/pull/411))
- **deps-dev:** Bump typescript from 5.3.2 to 5.3.3 ([#409](https://github.com/wxt-dev/wxt/pull/409))
- Register global `wxt` instance ([#418](https://github.com/wxt-dev/wxt/pull/418))

### ❤️ Contributors

- Chen Hua ([@hcljsq](https://github.com/hcljsq))
- Florian Metz ([@Timeraa](http://github.com/Timeraa))

## v0.16.2

[compare changes](https://github.com/wxt-dev/wxt/compare/v0.16.1...v0.16.2)

### 🩹 Fixes

- Don't crash background service worker when using `import.meta.url` ([#402](https://github.com/wxt-dev/wxt/pull/402))

## v0.16.1

[compare changes](https://github.com/wxt-dev/wxt/compare/v0.16.0...v0.16.1)

### 🩹 Fixes

- Don't require config to run `wxt submit init` ([9318346](https://github.com/wxt-dev/wxt/commit/9318346))

### 📖 Documentation

- Add premid extension to homepage ([#399](https://github.com/wxt-dev/wxt/pull/399))

### 🏡 Chore

- **templates:** Upgrade to wxt `^0.16.0` ([f0b2a12](https://github.com/wxt-dev/wxt/commit/f0b2a12))

### ❤️ Contributors

- Florian Metz ([@Timeraa](http://github.com/Timeraa))

## v0.16.0

[compare changes](https://github.com/wxt-dev/wxt/compare/v0.15.4...v0.16.0)

### 🚀 Enhancements

- ⚠️ ESM background support ([#398](https://github.com/wxt-dev/wxt/pull/398))

### 📖 Documentation

- Document how to opt into ESM ([1e12ce2](https://github.com/wxt-dev/wxt/commit/1e12ce2))

### 🏡 Chore

- **deps-dev:** Bump lint-staged from 15.2.0 to 15.2.1 ([#395](https://github.com/wxt-dev/wxt/pull/395))
- **deps-dev:** Bump p-map from 7.0.0 to 7.0.1 ([#396](https://github.com/wxt-dev/wxt/pull/396))
- **deps-dev:** Bump @vitest/coverage-v8 from 1.0.1 to 1.2.2 ([#397](https://github.com/wxt-dev/wxt/pull/397))

#### ⚠️ Breaking Changes

In [#398](https://github.com/wxt-dev/wxt/pull/398), HTML pages' JS entrypoints in the output directory have been moved. Unless you're doing some kind of post-build work referencing files, you don't have to make any changes.

- Before:
  ```
  .output/
    <target>/
      chunks/
        some-shared-chunk-<hash>.js
        popup-<hash>.js
      popup.html
  ```
- After:
  ```
  .output/
    <target>/
      chunks/
        some-shared-chunk-<hash>.js
      popup.html
      popup.js
  ```

This effects all HTML files, not just the Popup. The hash has been removed, and it's been moved to the root of the build target folder, not inside the `chunks/` directory. Moving files like this has not historically increased review times or triggered in-depth reviews when submitting updates to the stores.

## v0.15.4

[compare changes](https://github.com/wxt-dev/wxt/compare/v0.15.3...v0.15.4)

### 🩹 Fixes

- **submit:** Load `.env.submit` automatically when running `wxt submit` and `wxt submit init` ([#391](https://github.com/wxt-dev/wxt/pull/391))

## v0.15.3

[compare changes](https://github.com/wxt-dev/wxt/compare/v0.15.2...v0.15.3)

### 🩹 Fixes

- **dev:** Reload `<name>/index.html` entrypoints properly on save ([#390](https://github.com/wxt-dev/wxt/pull/390))

## v0.15.2

[compare changes](https://github.com/wxt-dev/wxt/compare/v0.15.1...v0.15.2)

### 🚀 Enhancements

- Add `submit` command ([#370](https://github.com/wxt-dev/wxt/pull/370))

### 🩹 Fixes

- **dev:** Resolve `script` and `link` aliases ([#387](https://github.com/wxt-dev/wxt/pull/387))

### ❤️ Contributors

- Nenad Novaković ([@dvlden](https://github.com/dvlden))

## v0.15.1

[compare changes](https://github.com/wxt-dev/wxt/compare/v0.15.0...v0.15.1)

### 🚀 Enhancements

- Allow passing custom preferences to chrome, enabling dev mode on `chrome://extensions` and allowing content script sourcemaps automatically ([#384](https://github.com/wxt-dev/wxt/pull/384))

### 🩹 Fixes

- **security:** Upgrade to vite@5.0.12 to resolve CVE-2024-23331 ([39b76d3](https://github.com/wxt-dev/wxt/commit/39b76d3))

### 📖 Documentation

- Fixed doc errors on the guide/extension-api page ([#383](https://github.com/wxt-dev/wxt/pull/383))

### 🏡 Chore

- Fix vite version conflicts in demo extension ([98d2792](https://github.com/wxt-dev/wxt/commit/98d2792))

### ❤️ Contributors

- 0x7a7a ([@0x7a7a](https://github.com/0x7a7a))

## v0.15.0

[compare changes](https://github.com/wxt-dev/wxt/compare/v0.14.7...v0.15.0)

### 🚀 Enhancements

- **zip:** ⚠️ Add `includeSources` and rename `ignoredSources` to `excludeSources` ([#378](https://github.com/wxt-dev/wxt/pull/378))

### 🩹 Fixes

- Generate missing sourcemap in `wxt:unimport` plugin ([#381](https://github.com/wxt-dev/wxt/pull/381))
- ⚠️ Move browser constants to `import.meta.env` ([#380](https://github.com/wxt-dev/wxt/pull/380))
- Enable inline sourcemaps by default during development ([#382](https://github.com/wxt-dev/wxt/pull/382))

### 📖 Documentation

- Fix typo ([f9718a1](https://github.com/wxt-dev/wxt/commit/f9718a1))

### 🏡 Chore

- Update contributor docs ([eb758bd](https://github.com/wxt-dev/wxt/commit/eb758bd))

#### ⚠️ Breaking Changes

Renamed `zip.ignoredSources` to `zip.excludeSources` in [#378](https://github.com/wxt-dev/wxt/pull/378)

Renamed undocumented constants for detecting the build config at runtime in [#380](https://github.com/wxt-dev/wxt/pull/380). Now documented here: https://wxt.dev/guide/multiple-browsers.html#runtime

- `__BROWSER__` &rarr; `import.meta.env.BROWSER`
- `__COMMAND__` &rarr; `import.meta.env.COMMAND`
- `__MANIFEST_VERSION__` &rarr; `import.meta.env.MANIFEST_VERSION`
- `__IS_CHROME__` &rarr; `import.meta.env.CHROME`
- `__IS_FIREFOX__` &rarr; `import.meta.env.FIREFOX`
- `__IS_SAFARI__` &rarr; `import.meta.env.SAFARI`
- `__IS_EDGE__` &rarr; `import.meta.env.EDGE`
- `__IS_OPERA__` &rarr; `import.meta.env.OPERA`

### ❤️ Contributors

- Nenad Novaković ([@dvlden](https://github.com/dvlden))

## v0.14.7

[compare changes](https://github.com/wxt-dev/wxt/compare/v0.14.6...v0.14.7)

### 🩹 Fixes

- Improve error messages when importing and building entrypoints ([3b63a51](https://github.com/wxt-dev/wxt/commit/3b63a51))
- **storage:** Throw better error message when importing outside a extension environment ([35865ad](https://github.com/wxt-dev/wxt/commit/35865ad))
- Upgrade `web-ext-run` ([62ecb6f](https://github.com/wxt-dev/wxt/commit/62ecb6f))

### 📖 Documentation

- Add `matches` to content script examples ([dab8efa](https://github.com/wxt-dev/wxt/commit/dab8efa))
- Fix incorrect sample code ([#372](https://github.com/wxt-dev/wxt/pull/372))
- Document defined constants for the build target ([68874e6](https://github.com/wxt-dev/wxt/commit/68874e6))
- Add missing `await` to `createShadowRootUi` examples ([fc45c37](https://github.com/wxt-dev/wxt/commit/fc45c37))

### ❤️ Contributors

- 東奈比 ([@dongnaebi](http://github.com/dongnaebi))

## v0.14.6

[compare changes](https://github.com/wxt-dev/wxt/compare/v0.14.5...v0.14.6)

### 🚀 Enhancements

- Restart dev mode when saving config ([#365](https://github.com/wxt-dev/wxt/pull/365))
- Add basic validation for entrypoint options ([#368](https://github.com/wxt-dev/wxt/pull/368))

### 🩹 Fixes

- Add subdependency bin directory so `wxt build --analyze` works with PNPM ([#363](https://github.com/wxt-dev/wxt/pull/363))
- Sort build output files naturally ([#364](https://github.com/wxt-dev/wxt/pull/364))

### 🤖 CI

- Check for type errors in demo before building ([4b005b4](https://github.com/wxt-dev/wxt/commit/4b005b4))

## v0.14.5

[compare changes](https://github.com/wxt-dev/wxt/compare/v0.14.4...v0.14.5)

### 🚀 Enhancements

- Add `dev.reloadCommand` config ([#362](https://github.com/wxt-dev/wxt/pull/362))

### 🩹 Fixes

- Disable reload dev command when 4 commands are already registered ([#361](https://github.com/wxt-dev/wxt/pull/361))

## v0.14.4

[compare changes](https://github.com/wxt-dev/wxt/compare/v0.14.3...v0.14.4)

### 🩹 Fixes

- Allow requiring built-in node modules from ESM CLI ([#356](https://github.com/wxt-dev/wxt/pull/356))

### 🏡 Chore

- Add unit tests for passing flags via the CLI ([#354](https://github.com/wxt-dev/wxt/pull/354))

## v0.14.3

[compare changes](https://github.com/wxt-dev/wxt/compare/v0.14.2...v0.14.3)

### 🩹 Fixes

- Make `getArrayFromFlags` result can be undefined ([#352](https://github.com/wxt-dev/wxt/pull/352))

### ❤️ Contributors

- Yuns ([@yunsii](http://github.com/yunsii))

## v0.14.2

[compare changes](https://github.com/wxt-dev/wxt/compare/v0.14.1...v0.14.2)

### 🚀 Enhancements

- Add `filterEntrypoints` option to speed up development ([#344](https://github.com/wxt-dev/wxt/pull/344))

### 🔥 Performance

- Only call `findEntrypoint` once per build ([#342](https://github.com/wxt-dev/wxt/pull/342))

### 🩹 Fixes

- Improve error message and document use of imported variables outside an entrypoint's `main` function ([#346](https://github.com/wxt-dev/wxt/pull/346))
- Allow `browser.runtime.getURL` to include hashes and query params for HTML paths ([#350](https://github.com/wxt-dev/wxt/pull/350))

### 📖 Documentation

- Fix typos and outdated ui function usage ([#347](https://github.com/wxt-dev/wxt/pull/347))

### 🏡 Chore

- Update templates to `^0.14.0` ([70a4961](https://github.com/wxt-dev/wxt/commit/70a4961))
- Fix typo in function name ([a329e24](https://github.com/wxt-dev/wxt/commit/a329e24))

### ❤️ Contributors

- Yuns ([@yunsii](http://github.com/yunsii))
- Armin

## v0.14.1

[compare changes](https://github.com/wxt-dev/wxt/compare/v0.14.0...v0.14.1)

### 🩹 Fixes

- Use `Alt+R`/`Opt+R` to reload extension during development ([b6ab7a9](https://github.com/wxt-dev/wxt/commit/b6ab7a9))

## v0.14.0

[compare changes](https://github.com/wxt-dev/wxt/compare/v0.13.5...v0.14.0)

### 🚀 Enhancements

- ⚠️ Refactor content script UI functions and add helper for "integrated" UIs ([#333](https://github.com/wxt-dev/wxt/pull/333))

#### ⚠️ Breaking Changes

`createContentScriptUi` and `createContentScriptIframe`, and some of their options, have been renamed:

- `createContentScriptUi({ ... })` &rarr; `createShadowRootUi({ ... })`
- `createContentScriptIframe({ ... })` &rarr; `createIframeUi({ ... })`
- `type: "inline" | "overlay" | "modal"` has been changed to `position: "inline" | "overlay" | "modal"`
- `onRemove` is now called **_before_** the UI is removed from the DOM, previously it was called after the UI was removed
- `mount` option has been renamed to `onMount`, to better match the related option, `onRemove`.

## v0.13.5

[compare changes](https://github.com/wxt-dev/wxt/compare/v0.13.4...v0.13.5)

### 🩹 Fixes

- Strip path from `web_accessible_resources[0].matches` ([#332](https://github.com/wxt-dev/wxt/pull/332))

### 📖 Documentation

- Add section about customizing other browser options during development ([8683bd4](https://github.com/wxt-dev/wxt/commit/8683bd4))

### 🏡 Chore

- Update bug report template ([9a2cc18](https://github.com/wxt-dev/wxt/commit/9a2cc18))

## v0.13.4

[compare changes](https://github.com/wxt-dev/wxt/compare/v0.13.3...v0.13.4)

### 🩹 Fixes

- Disable minification during development ([b7cdf15](https://github.com/wxt-dev/wxt/commit/b7cdf15))

### 🏡 Chore

- Use `const` instead of `let` ([2770974](https://github.com/wxt-dev/wxt/commit/2770974))

## v0.13.3

[compare changes](https://github.com/wxt-dev/wxt/compare/v0.13.2...v0.13.3)

### 🚀 Enhancements

- **DX:** Add `ctrl+E`/`cmd+E` shortcut to reload extension during development ([#322](https://github.com/wxt-dev/wxt/pull/322))

### 🏡 Chore

- **deps-dev:** Bump tsx from 4.6.2 to 4.7.0 ([#320](https://github.com/wxt-dev/wxt/pull/320))
- **deps-dev:** Bump prettier from 3.1.0 to 3.1.1 ([#318](https://github.com/wxt-dev/wxt/pull/318))
- **deps-dev:** Bump vitepress from 1.0.0-rc.31 to 1.0.0-rc.34 ([#316](https://github.com/wxt-dev/wxt/pull/316))
- Refactor manifest generation E2E tests to unit tests ([#323](https://github.com/wxt-dev/wxt/pull/323))

## v0.13.2

[compare changes](https://github.com/wxt-dev/wxt/compare/v0.13.1...v0.13.2)

### 🚀 Enhancements

- Add `isolateEvents` option to `createContentScripUi` ([#313](https://github.com/wxt-dev/wxt/pull/313))

### 📖 Documentation

- Remove duplicate `entrypoints/` path ([76e63e2](https://github.com/wxt-dev/wxt/commit/76e63e2))
- Update unlisted pages/scripts description ([c99a281](https://github.com/wxt-dev/wxt/commit/c99a281))
- Update content script entrypoint docs ([1360eb7](https://github.com/wxt-dev/wxt/commit/1360eb7))
- Add example for setting up custom panels/panes in devtools ([#308](https://github.com/wxt-dev/wxt/pull/308))
- Use example tags to automate relevant example lists ([#311](https://github.com/wxt-dev/wxt/pull/311))

### 🏡 Chore

- Update templates to `^0.13.0` ([#309](https://github.com/wxt-dev/wxt/pull/309))
- Upgrade template dependencies ([#310](https://github.com/wxt-dev/wxt/pull/310))
- Re-enable coverage ([#312](https://github.com/wxt-dev/wxt/pull/312))

### ❤️ Contributors

- 冯不游

## v0.13.1

[compare changes](https://github.com/wxt-dev/wxt/compare/v0.13.0...v0.13.1)

### 🩹 Fixes

- **storage:** Support multiple `:` characters in storage keys ([#303](https://github.com/wxt-dev/wxt/pull/303))
- Ship `vite/client` types internally for proper resolution using PNPM ([#304](https://github.com/wxt-dev/wxt/pull/304))

### 📖 Documentation

- Reorder guide ([6421ab3](https://github.com/wxt-dev/wxt/commit/6421ab3))
- General fixes and improvements ([2ad099b](https://github.com/wxt-dev/wxt/commit/2ad099b))

### 🏡 Chore

- Update `scripts/build.ts` show current build step in progress, not completed count ([#306](https://github.com/wxt-dev/wxt/pull/306))

## v0.13.0

[compare changes](https://github.com/wxt-dev/wxt/compare/v0.12.5...v0.13.0)

### 🚀 Enhancements

- ⚠️ New `wxt/storage` APIs ([#300](https://github.com/wxt-dev/wxt/pull/300))

#### ⚠️ Breaking Changes

- `wxt/storage` no longer relies on [`unstorage`](https://www.npmjs.com/package/unstorage). Some `unstorage` APIs, like `prefixStorage`, have been removed, while others, like `snapshot`, are methods on the new `storage` object. Most of the standard usage remains the same. See https://wxt.dev/guide/storage and https://wxt.dev/api/reference/wxt/storage/ for more details ([#300](https://github.com/wxt-dev/wxt/pull/300))

## v0.12.5

[compare changes](https://github.com/wxt-dev/wxt/compare/v0.12.4...v0.12.5)

### 🩹 Fixes

- Correct import in dev-only, noop background ([#298](https://github.com/wxt-dev/wxt/pull/298))

## v0.12.4

[compare changes](https://github.com/wxt-dev/wxt/compare/v0.12.3...v0.12.4)

### 🩹 Fixes

- Disable Vite CJS warnings ([#296](https://github.com/wxt-dev/wxt/pull/296))

## v0.12.3

[compare changes](https://github.com/wxt-dev/wxt/compare/v0.12.2...v0.12.3)

### 🩹 Fixes

- Correctly mock `webextension-polyfill` for Vitest ([#294](https://github.com/wxt-dev/wxt/pull/294))

## v0.12.2

[compare changes](https://github.com/wxt-dev/wxt/compare/v0.12.1...v0.12.2)

### 🚀 Enhancements

- Support PNPM without hoisting dependencies ([#291](https://github.com/wxt-dev/wxt/pull/291))

## v0.12.1

[compare changes](https://github.com/wxt-dev/wxt/compare/v0.12.0...v0.12.1)

### 🩹 Fixes

- Upgrade `@webext-core/match-patterns` to `1.0.3` ([#289](https://github.com/wxt-dev/wxt/pull/289))
- Fix `package.json` lint errors ([#290](https://github.com/wxt-dev/wxt/pull/290))

### 🏡 Chore

- Upgrade templates to `wxt@^0.12.0` ([#285](https://github.com/wxt-dev/wxt/pull/285))

## v0.12.0

[compare changes](https://github.com/wxt-dev/wxt/compare/v0.11.2...v0.12.0)

### 🚀 Enhancements

- ⚠️ Add support for "main world" content scripts ([#284](https://github.com/wxt-dev/wxt/pull/284))

### 🩹 Fixes

- Only use type imports for Vite ([#278](https://github.com/wxt-dev/wxt/pull/278))
- Throw error when no entrypoints are found ([#283](https://github.com/wxt-dev/wxt/pull/283))

### 📖 Documentation

- Improve content script UI guide ([#272](https://github.com/wxt-dev/wxt/pull/272))
- Fix dead links ([291d25b](https://github.com/wxt-dev/wxt/commit/291d25b))

### 🏡 Chore

- Convert WXT CLI to an ESM binary ([#279](https://github.com/wxt-dev/wxt/pull/279))

#### ⚠️ Breaking Changes

`defineContentScript` and `defineBackground` are now exported from `wxt/sandbox` instead of `wxt/client`. ([#284](https://github.com/wxt-dev/wxt/pull/284))

- If you use auto-imports, no changes are required.
- If you have disabled auto-imports, you'll need to manually update your import statements:
  ```diff
  - import { defineBackground, defineContentScript } from 'wxt/client';
  + import { defineBackground, defineContentScript } from 'wxt/sandbox';
  ```

## v0.11.2

[compare changes](https://github.com/wxt-dev/wxt/compare/v0.11.1...v0.11.2)

### 🩹 Fixes

- Discover `.js`, `.jsx`, and `.tsx` unlisted scripts correctly ([#274](https://github.com/wxt-dev/wxt/pull/274))
- Improve duplicate entrypoint name detection and catch the error before loading their config ([#276](https://github.com/wxt-dev/wxt/pull/276))

### 📖 Documentation

- Improve content script UI docs ([#268](https://github.com/wxt-dev/wxt/pull/268))

### 🏡 Chore

- Update sSolid template to vite 5 ([#265](https://github.com/wxt-dev/wxt/pull/265))
- Add missing navigation item ([bcb93af](https://github.com/wxt-dev/wxt/commit/bcb93af))

## v0.11.1

[compare changes](https://github.com/wxt-dev/wxt/compare/v0.11.0...v0.11.1)

### 🚀 Enhancements

- Add util for detecting URL changes in content scripts ([#264](https://github.com/wxt-dev/wxt/pull/264))

### 🏡 Chore

- Upgrade templates to `wxt@^0.11.0` ([#263](https://github.com/wxt-dev/wxt/pull/263))

## v0.11.0

[compare changes](https://github.com/wxt-dev/wxt/compare/v0.10.4...v0.11.0)

### 🚀 Enhancements

- ⚠️ Vite 5 support ([#261](https://github.com/wxt-dev/wxt/pull/261))

### 📖 Documentation

- Adds tl;dv to homepage ([#260](https://github.com/wxt-dev/wxt/pull/260))

### 🏡 Chore

- Speed up CI using `pnpm` instead of `npm` ([#259](https://github.com/wxt-dev/wxt/pull/259))
- Abstract vite from WXT's core logic ([#242](https://github.com/wxt-dev/wxt/pull/242))

#### ⚠️ Breaking Changes

- You will need to update any other Vite plugins to a version that supports Vite 5 ([#261](https://github.com/wxt-dev/wxt/pull/261))

### ❤️ Contributors

- Ítalo Brasil ([@italodeverdade](http://github.com/italodeverdade))

## v0.10.4

[compare changes](https://github.com/wxt-dev/wxt/compare/v0.10.3...v0.10.4)

### 🚀 Enhancements

- Add config to customize `outDir` ([#258](https://github.com/wxt-dev/wxt/pull/258))

### 📖 Documentation

- Add Doozy to homepage ([#249](https://github.com/wxt-dev/wxt/pull/249))
- Update sidepanel availability ([#250](https://github.com/wxt-dev/wxt/pull/250))

### 🏡 Chore

- **deps-dev:** Bump prettier from 3.0.3 to 3.1.0 ([#254](https://github.com/wxt-dev/wxt/pull/254))
- **deps-dev:** Bump @types/lodash.merge from 4.6.8 to 4.6.9 ([#255](https://github.com/wxt-dev/wxt/pull/255))
- **deps-dev:** Bump tsx from 3.14.0 to 4.6.1 ([#252](https://github.com/wxt-dev/wxt/pull/252))

### ❤️ Contributors

- 冯不游

## v0.10.3

[compare changes](https://github.com/wxt-dev/wxt/compare/v0.10.2...v0.10.3)

### 🩹 Fixes

- **auto-imports:** Don't add imports to `node_module` dependencies ([#247](https://github.com/wxt-dev/wxt/pull/247))

### 📖 Documentation

- Fix typo ([317b1b6](https://github.com/wxt-dev/wxt/commit/317b1b6))

### 🏡 Chore

- Trigger docs upgrade via webhook ([742b996](https://github.com/wxt-dev/wxt/commit/742b996))
- Use `normalize-path` instead of `vite.normalizePath` ([#244](https://github.com/wxt-dev/wxt/pull/244))
- Use `defu` for merging some config objects ([#243](https://github.com/wxt-dev/wxt/pull/243))

### 🤖 CI

- Publish docs on push to main ([1611c1d](https://github.com/wxt-dev/wxt/commit/1611c1d))
- Only print response headers from docs webhook ([97cbda3](https://github.com/wxt-dev/wxt/commit/97cbda3))

## v0.10.2

[compare changes](https://github.com/wxt-dev/wxt/compare/v0.10.1...v0.10.2)

### 🩹 Fixes

- Apply `mode` option to build steps correctly ([82ed821](https://github.com/wxt-dev/wxt/commit/82ed821))

### 🏡 Chore

- Upgrade templates to v0.10 ([#239](https://github.com/wxt-dev/wxt/pull/239))

## v0.10.1

[compare changes](https://github.com/wxt-dev/wxt/compare/v0.10.0...v0.10.1)

### 🩹 Fixes

- Remove WXT global to remove unused modules from production builds ([3da3e07](https://github.com/wxt-dev/wxt/commit/3da3e07))

## v0.10.0

[compare changes](https://github.com/wxt-dev/wxt/compare/v0.9.2...v0.10.0)

### 🚀 Enhancements

- List `bun` as an experimental option in `wxt init` ([#233](https://github.com/wxt-dev/wxt/pull/233))
- ⚠️ Allow plural directory and only png's for manifest icons ([#237](https://github.com/wxt-dev/wxt/pull/237))
- Add `wxt/storage` API ([#234](https://github.com/wxt-dev/wxt/pull/234))

### 🩹 Fixes

- Don't use `bun` to load entrypoint config ([#232](https://github.com/wxt-dev/wxt/pull/232))

### 📖 Documentation

- Update main README links ([207b750](https://github.com/wxt-dev/wxt/commit/207b750))

#### ⚠️ Breaking Changes

- ⚠️ No longer discover icons with extensions other than `.png`. If you previously used `.jpg`, `.jpeg`, `.bmp`, or `.svg`, you'll need to convert your icons to `.png` files or manually add them to the manifest inside your `wxt.config.ts` file ([#237](https://github.com/wxt-dev/wxt/pull/237))

### ❤️ Contributors

- Nenad Novaković ([@dvlden](https://github.com/dvlden))

## v0.9.2

[compare changes](https://github.com/wxt-dev/wxt/compare/v0.9.1...v0.9.2)

### 🚀 Enhancements

- Experimental option to exclude `webextension-polyfill` ([#231](https://github.com/wxt-dev/wxt/pull/231))

### 🤖 CI

- Fix sync-release workflow ([d1b5230](https://github.com/wxt-dev/wxt/commit/d1b5230))

## v0.9.1

[compare changes](https://github.com/wxt-dev/wxt/compare/v0.9.0...v0.9.1)

### 🚀 Enhancements

- Add `alias` config for customizing path aliases ([#216](https://github.com/wxt-dev/wxt/pull/216))

### 🩹 Fixes

- Move `webextension-polyfill` from peer to regular dependencies ([609ae2a](https://github.com/wxt-dev/wxt/commit/609ae2a))
- Generate valid manifest for Firefox MV3 ([#229](https://github.com/wxt-dev/wxt/pull/229))

### 📖 Documentation

- Add examples ([c81dfff](https://github.com/wxt-dev/wxt/commit/c81dfff))
- Improve the "Used By" section on homepage ([#220](https://github.com/wxt-dev/wxt/pull/220))
- Add UltraWideo to homepage ([#193](https://github.com/wxt-dev/wxt/pull/193))
- Add StayFree to homepage ([#221](https://github.com/wxt-dev/wxt/pull/221))
- Update feature comparison ([67ffa44](https://github.com/wxt-dev/wxt/commit/67ffa44))

### 🏡 Chore

- Remove whitespace from generated `.wxt` files ([#211](https://github.com/wxt-dev/wxt/pull/211))
- Upgrade templates to `wxt@^0.9.0` ([#214](https://github.com/wxt-dev/wxt/pull/214))
- Update Vite dependency range to `^4.0.0 || ^5.0.0-0` ([f1e8084](https://github.com/wxt-dev/wxt/commit/f1e8084be89e512dde441b9197a99183c497f67d))

### 🤖 CI

- Automatically sync GitHub releases with `CHANGELOG.md` on push ([#218](https://github.com/wxt-dev/wxt/pull/218))

### ❤️ Contributors

- Aaron Klinker ([@aaronklinker-st](http://github.com/aaronklinker-st))

## v0.9.0

[compare changes](https://github.com/wxt-dev/wxt/compare/v0.8.7...v0.9.0)

### 🩹 Fixes

- ⚠️ Remove `lib` from `.wxt/tsconfig.json` ([#209](https://github.com/wxt-dev/wxt/pull/209))

### 📖 Documentation

- Fix heading ([345406f](https://github.com/wxt-dev/wxt/commit/345406f))
- Add demo video ([#208](https://github.com/wxt-dev/wxt/pull/208))

### 🏡 Chore

- Fix Svelte and React template READMEs ([#207](https://github.com/wxt-dev/wxt/pull/207))

#### ⚠️ Breaking Changes

- ⚠️ Removed [`"WebWorker"` types](https://www.typescriptlang.org/tsconfig/lib.html) from `.wxt/tsconfig.json` ([#209](https://github.com/wxt-dev/wxt/pull/209)). These types are useful for MV3 projects using a service worker. To add them back to your project, add the following to your project's TSConfig:
  ```diff
  {
    "extends": "./.wxt/tsconfig.json",
  + "compilerOptions": {
  +   "lib": ["ESNext", "DOM", "WebWorker"]
  + }
  }
  ```

### ❤️ Contributors

- yyyanghj ([@yyyanghj](https://github.com/yyyanghj))

## v0.8.7

[compare changes](https://github.com/wxt-dev/wxt/compare/v0.8.6...v0.8.7)

### 🚀 Enhancements

- `createContentScriptIframe` utility ([#206](https://github.com/wxt-dev/wxt/pull/206))

### 🏡 Chore

- **deps-dev:** Bump happy-dom from 12.4.0 to 12.10.3 ([#194](https://github.com/wxt-dev/wxt/pull/194))
- **deps-dev:** Bump tsx from 3.12.8 to 3.14.0 ([#198](https://github.com/wxt-dev/wxt/pull/198))
- Upgrade types ([f3874da](https://github.com/wxt-dev/wxt/commit/f3874da))
- **deps-dev:** Upgrade `lint-staged` to `^15.0.2` ([5f74a54](https://github.com/wxt-dev/wxt/commit/5f74a54))
- **deps-dev:** Upgrade `execa` to `^8.0.1` ([#200](https://github.com/wxt-dev/wxt/pull/200))
- **deps-dev:** Upgrade `typedoc` to `^0.25.3` ([#201](https://github.com/wxt-dev/wxt/pull/201))
- **deps-dev:** Upgrade `vue` to `3.3.7` ([0b8d101](https://github.com/wxt-dev/wxt/commit/0b8d101))
- **deps-dev:** Upgrade `vitepress` to `1.0.0-rc.24` ([5de18e5](https://github.com/wxt-dev/wxt/commit/5de18e5))
- **deps-dev:** Update `@type/*` packages for demo ([cd4d00e](https://github.com/wxt-dev/wxt/commit/cd4d00e))
- **deps-dev:** Update `sass` to `1.69.5` ([183bb02](https://github.com/wxt-dev/wxt/commit/183bb02))
- Improve prettier git hook ([0f09cbe](https://github.com/wxt-dev/wxt/commit/0f09cbe))
- Run E2E tests in parallel ([#204](https://github.com/wxt-dev/wxt/pull/204))

### 🤖 CI

- Separate validation into multiple jobs ([#203](https://github.com/wxt-dev/wxt/pull/203))

## v0.8.6

[compare changes](https://github.com/wxt-dev/wxt/compare/v0.8.5...v0.8.6)

### 🩹 Fixes

- Inline WXT modules inside `WxtVitest` plugin ([b75c553](https://github.com/wxt-dev/wxt/commit/b75c553))

## v0.8.5

[compare changes](https://github.com/wxt-dev/wxt/compare/v0.8.4...v0.8.5)

### 🚀 Enhancements

- Refactor project structure to export `initialize`, `prepare`, and `zip` functions ([#182](https://github.com/wxt-dev/wxt/pull/182))

### 🩹 Fixes

- Enable Vue SFC auto-imports in `vue` template ([f8a0fb3](https://github.com/wxt-dev/wxt/commit/f8a0fb3))

### 📖 Documentation

- Improve `runner.binaries` documentation ([d9e9b43](https://github.com/wxt-dev/wxt/commit/d9e9b43))
- Update auto-imports.md ([#186](https://github.com/wxt-dev/wxt/pull/186))
- Add `test.server.deps.inline` to Vitest guide ([19756c6](https://github.com/wxt-dev/wxt/commit/19756c6))

### 🏡 Chore

- Update template docs ([2e24b9e](https://github.com/wxt-dev/wxt/commit/2e24b9e))
- Reduce package size by 70%, 1.92 MB to 590 kB ([#190](https://github.com/wxt-dev/wxt/pull/190))

### ❤️ Contributors

- Nenad Novaković ([@dvlden](https://github.com/dvlden))

## v0.8.4

[compare changes](https://github.com/wxt-dev/wxt/compare/v0.8.3...v0.8.4)

### 🩹 Fixes

- Allow actions without a popup ([#181](https://github.com/wxt-dev/wxt/pull/181))

## v0.8.3

[compare changes](https://github.com/wxt-dev/wxt/compare/v0.8.2...v0.8.3)

### 🚀 Enhancements

- Add testing utils under `wxt/testing` ([#178](https://github.com/wxt-dev/wxt/pull/178))

## v0.8.2

[compare changes](https://github.com/wxt-dev/wxt/compare/v0.8.1...v0.8.2)

### 🩹 Fixes

- **firefox:** Stop extending `AbortController` to fix crash in content scripts ([#176](https://github.com/wxt-dev/wxt/pull/176))

### 🏡 Chore

- Improve output consistency ([#175](https://github.com/wxt-dev/wxt/pull/175))

## v0.8.1

[compare changes](https://github.com/wxt-dev/wxt/compare/v0.8.0...v0.8.1)

### 🩹 Fixes

- Output `action.browser_style` correctly ([6a93f20](https://github.com/wxt-dev/wxt/commit/6a93f20))

### 📖 Documentation

- Generate full API docs with typedoc ([#174](https://github.com/wxt-dev/wxt/pull/174))

## v0.8.0

[compare changes](https://github.com/wxt-dev/wxt/compare/v0.7.5...v0.8.0)

### 🚀 Enhancements

- ⚠️ Use `defineUnlistedScript` to define unlisted scripts ([#167](https://github.com/wxt-dev/wxt/pull/167))

### 📖 Documentation

- Fix wrong links ([#166](https://github.com/wxt-dev/wxt/pull/166))

### 🌊 Types

- ⚠️ Rename `BackgroundScriptDefintition` to `BackgroundDefinition` ([446f265](https://github.com/wxt-dev/wxt/commit/446f265))

#### ⚠️ Breaking Changes

- ⚠️ Unlisted scripts must now `export default defineUnlistedScript(...)` ([#167](https://github.com/wxt-dev/wxt/pull/167))
- ⚠️ Rename `BackgroundScriptDefintition` to `BackgroundDefinition` ([446f265](https://github.com/wxt-dev/wxt/commit/446f265))

### ❤️ Contributors

- 渣渣120 [@WOSHIZHAZHA120](https://github.com/WOSHIZHAZHA120)

## v0.7.5

[compare changes](https://github.com/wxt-dev/wxt/compare/v0.7.4...v0.7.5)

### 🩹 Fixes

- More consistent `version_name` generation between browsers ([#163](https://github.com/wxt-dev/wxt/pull/163))
- Ignore non-manifest fields when merging content script entries ([#164](https://github.com/wxt-dev/wxt/pull/164))
- Add `browser_style` to popup options ([#165](https://github.com/wxt-dev/wxt/pull/165))

## v0.7.4

[compare changes](https://github.com/wxt-dev/wxt/compare/v0.7.3...v0.7.4)

### 🩹 Fixes

- Support `react-refresh` when pre-rendering HTML pages in dev mode ([#158](https://github.com/wxt-dev/wxt/pull/158))

### 📖 Documentation

- Add migration guides ([b58fb02](https://github.com/wxt-dev/wxt/commit/b58fb02))

### 🏡 Chore

- Upgrade templates to v0.7 ([#156](https://github.com/wxt-dev/wxt/pull/156))

## v0.7.3

[compare changes](https://github.com/wxt-dev/wxt/compare/v0.7.2...v0.7.3)

### 🚀 Enhancements

- Support JS entrypoints ([#155](https://github.com/wxt-dev/wxt/pull/155))

## v0.7.2

[compare changes](https://github.com/wxt-dev/wxt/compare/v0.7.1...v0.7.2)

### 🚀 Enhancements

- Allow customizing entrypoint options per browser ([#154](https://github.com/wxt-dev/wxt/pull/154))

### 🩹 Fixes

- Default safari to MV2 ([5807931](https://github.com/wxt-dev/wxt/commit/5807931))
- Add missing `persistent` type to `defineBackgroundScript` ([d9fdcb5](https://github.com/wxt-dev/wxt/commit/d9fdcb5))

### 📖 Documentation

- Restructure website to improve UX ([#149](https://github.com/wxt-dev/wxt/pull/149))
- Add docs for development and testing ([f58d69d](https://github.com/wxt-dev/wxt/commit/f58d69d))

### 🏡 Chore

- **deps-dev:** Bump @types/fs-extra from 11.0.1 to 11.0.2 ([#144](https://github.com/wxt-dev/wxt/pull/144))
- **deps-dev:** Bump @faker-js/faker from 8.0.2 to 8.1.0 ([#146](https://github.com/wxt-dev/wxt/pull/146))
- **deps-dev:** Bump vitest-mock-extended from 1.2.1 to 1.3.0 ([#147](https://github.com/wxt-dev/wxt/pull/147))
- **deps-dev:** Bump vitest from 0.34.3 to 0.34.6 ([#145](https://github.com/wxt-dev/wxt/pull/145))
- **deps-dev:** Bump typescript from 5.1 to 5.2 ([#148](https://github.com/wxt-dev/wxt/pull/148))

## v0.7.1

[compare changes](https://github.com/wxt-dev/wxt/compare/v0.7.0...v0.7.1)

### 🚀 Enhancements

- `createContentScriptUi` helper ([#143](https://github.com/wxt-dev/wxt/pull/143))

### 📖 Documentation

- Add docs for `createContentScriptUi` ([65fcfc0](https://github.com/wxt-dev/wxt/commit/65fcfc0))

### 🏡 Chore

- **release:** V0.7.1-alpha1 ([2d4983e](https://github.com/wxt-dev/wxt/commit/2d4983e))

## v0.7.0

[compare changes](https://github.com/wxt-dev/wxt/compare/v0.6.6...v0.7.0)

### 🚀 Enhancements

- Content script `cssInjectionMode` ([#141](https://github.com/wxt-dev/wxt/pull/141))

### 🩹 Fixes

- Validate transformed manifest correctly ([4b2012c](https://github.com/wxt-dev/wxt/commit/4b2012c))
- ⚠️ Output content script CSS to `content-scripts/<name>.css` ([#140](https://github.com/wxt-dev/wxt/pull/140))
- Reorder typescript paths to give priority to `@` and `~` over `@@` and `~~` ([#142](https://github.com/wxt-dev/wxt/pull/142))

### 🏡 Chore

- Store user config metadata in memory ([0591050](https://github.com/wxt-dev/wxt/commit/0591050))

#### ⚠️ Breaking Changes

- ⚠️ Content script CSS used to be output to `assets/<name>.css`, but is now `content-scripts/<name>.css` to match the docs. ([#140](https://github.com/wxt-dev/wxt/pull/140))

## v0.6.6

[compare changes](https://github.com/wxt-dev/wxt/compare/v0.6.5...v0.6.6)

### 🚀 Enhancements

- Disable opening browser automatically during dev mode ([#136](https://github.com/wxt-dev/wxt/pull/136))

## v0.6.5

[compare changes](https://github.com/wxt-dev/wxt/compare/v0.6.4...v0.6.5)

### 🩹 Fixes

- Don't crash when `<all_urls>` matches is used in dev mode ([b48cee9](https://github.com/wxt-dev/wxt/commit/b48cee9))
- Support loading `tsx` entrypoints ([#134](https://github.com/wxt-dev/wxt/pull/134))

### 📖 Documentation

- Add tags for SEO and socials ([96be879](https://github.com/wxt-dev/wxt/commit/96be879))
- Add more content to the homepage ([5570793](https://github.com/wxt-dev/wxt/commit/5570793))
- Fix DX section sizing ([41e1549](https://github.com/wxt-dev/wxt/commit/41e1549))
- Add link to update extensions using WXT ([24e69fe](https://github.com/wxt-dev/wxt/commit/24e69fe))

### 🏡 Chore

- Code coverage improvements ([#131](https://github.com/wxt-dev/wxt/pull/131))

## v0.6.4

[compare changes](https://github.com/wxt-dev/wxt/compare/v0.6.3...v0.6.4)

### 🩹 Fixes

- **content-scripts:** Don't throw an error when including `include` or `exclude` options on a content script ([455e7f3](https://github.com/wxt-dev/wxt/commit/455e7f3))
- Use `execaCommand` instead of `node:child_process` ([#130](https://github.com/wxt-dev/wxt/pull/130))

### 🏡 Chore

- **templates:** Add `.wxt` directory to gitignore ([#129](https://github.com/wxt-dev/wxt/pull/129))
- Increase E2E test timeout ([5482b2f](https://github.com/wxt-dev/wxt/commit/5482b2f))

## v0.6.3

[compare changes](https://github.com/wxt-dev/wxt/compare/v0.6.2...v0.6.3)

### 🚀 Enhancements

- **client:** Add `block` and `addEventListener` utils to `ContentScriptContext` ([#128](https://github.com/wxt-dev/wxt/pull/128))

## v0.6.2

[compare changes](https://github.com/wxt-dev/wxt/compare/v0.6.1...v0.6.2)

### 🚀 Enhancements

- `--analyze` build flag ([#125](https://github.com/wxt-dev/wxt/pull/125))
- Show spinner when building entrypoints ([#126](https://github.com/wxt-dev/wxt/pull/126))

### 📖 Documentation

- Fix import typo ([4c43072](https://github.com/wxt-dev/wxt/commit/4c43072))
- Update vite docs to use function ([e0929a6](https://github.com/wxt-dev/wxt/commit/e0929a6))

## v0.6.1

[compare changes](https://github.com/wxt-dev/wxt/compare/v0.6.0...v0.6.1)

### 🚀 Enhancements

- Add `transformManifest` option ([#124](https://github.com/wxt-dev/wxt/pull/124))

### 🩹 Fixes

- Don't open browser during development when using WSL ([#123](https://github.com/wxt-dev/wxt/pull/123))

### 📖 Documentation

- Load extension details from CWS ([8e0a189](https://github.com/wxt-dev/wxt/commit/8e0a189))

## v0.6.0

[compare changes](https://github.com/wxt-dev/wxt/compare/v0.5.6...v0.6.0)

### 🚀 Enhancements

- Export `ContentScriptContext` from `wxt/client` ([1f448d1](https://github.com/wxt-dev/wxt/commit/1f448d1))
- ⚠️ Require a function for `vite` configuration ([#121](https://github.com/wxt-dev/wxt/pull/121))

### 🩹 Fixes

- Use the same mode for each build step ([1f6a931](https://github.com/wxt-dev/wxt/commit/1f6a931))
- Disable dev logs in production ([3f260ee](https://github.com/wxt-dev/wxt/commit/3f260ee))

#### ⚠️ Breaking Changes

- ⚠️ The `vite` config option must now be a function. If you were using an object before, change it from `vite: { ... }` to `vite: () => ({ ... })`. ([#121](https://github.com/wxt-dev/wxt/pull/121))

## v0.5.6

[compare changes](https://github.com/wxt-dev/wxt/compare/v0.5.5...v0.5.6)

### 🚀 Enhancements

- Add `ContentScriptContext` util for stopping invalidated content scripts ([#120](https://github.com/wxt-dev/wxt/pull/120))

## v0.5.5

[compare changes](https://github.com/wxt-dev/wxt/compare/v0.5.4...v0.5.5)

### 🩹 Fixes

- Automatically replace vite's `process.env.NODE_ENV` output in lib mode with the mode ([92039b8](https://github.com/wxt-dev/wxt/commit/92039b8))

## v0.5.4

[compare changes](https://github.com/wxt-dev/wxt/compare/v0.5.3...v0.5.4)

### 🩹 Fixes

- Recognize `background/index.ts` as an entrypoint ([419fab8](https://github.com/wxt-dev/wxt/commit/419fab8))
- Don't warn about deep entrypoint subdirectories not being recognized ([87e8df9](https://github.com/wxt-dev/wxt/commit/87e8df9))

## v0.5.3

[compare changes](https://github.com/wxt-dev/wxt/compare/v0.5.2...v0.5.3)

### 🩹 Fixes

- Allow function for vite config ([4ec904e](https://github.com/wxt-dev/wxt/commit/4ec904e))

### 🏡 Chore

- Refactor how config is resolved ([#118](https://github.com/wxt-dev/wxt/pull/118))

## v0.5.2

[compare changes](https://github.com/wxt-dev/wxt/compare/v0.5.1...v0.5.2)

### 🩹 Fixes

- Import client utils when getting entrypoint config ([#117](https://github.com/wxt-dev/wxt/pull/117))

## v0.5.1

[compare changes](https://github.com/wxt-dev/wxt/compare/v0.5.0...v0.5.1)

### 🚀 Enhancements

- Allow disabling auto-imports ([#114](https://github.com/wxt-dev/wxt/pull/114))
- Include/exclude entrypoints based on target browser ([#115](https://github.com/wxt-dev/wxt/pull/115))

### 🩹 Fixes

- Allow any string for target browser ([b4de93d](https://github.com/wxt-dev/wxt/commit/b4de93d))

## v0.5.0

[compare changes](https://github.com/wxt-dev/wxt/compare/v0.4.1...v0.5.0)

### 🩹 Fixes

- **types:** Don't write to files if nothing changes ([#107](https://github.com/wxt-dev/wxt/pull/107))
- ⚠️ Change default `publicDir` to `<srcDir>/public` ([5f15f9c](https://github.com/wxt-dev/wxt/commit/5f15f9c))

### 📖 Documentation

- Add link to examples repo ([46a5036](https://github.com/wxt-dev/wxt/commit/46a5036))
- Fix typos ([beafa6a](https://github.com/wxt-dev/wxt/commit/beafa6a))
- Make README pretty ([b33b663](https://github.com/wxt-dev/wxt/commit/b33b663))
- Add migration docs ([e2350fe](https://github.com/wxt-dev/wxt/commit/e2350fe))
- Add vite customization docs ([fe966b6](https://github.com/wxt-dev/wxt/commit/fe966b6))

### 🏡 Chore

- Move repo to wxt-dev org ([ac7cbfc](https://github.com/wxt-dev/wxt/commit/ac7cbfc))
- **deps-dev:** Bump prettier from 3.0.1 to 3.0.3 ([#111](https://github.com/wxt-dev/wxt/pull/111))
- **deps-dev:** Bump tsx from 3.12.7 to 3.12.8 ([#109](https://github.com/wxt-dev/wxt/pull/109))
- **deps-dev:** Bump @types/node from 20.5.0 to 20.5.9 ([#110](https://github.com/wxt-dev/wxt/pull/110))
- Add entrypoints debug log ([dbd84c8](https://github.com/wxt-dev/wxt/commit/dbd84c8))

#### ⚠️ Breaking Changes

- ⚠️ Change default `publicDir` to `<srcDir>/public` ([5f15f9c](https://github.com/wxt-dev/wxt/commit/5f15f9c))

## v0.4.1

[compare changes](https://github.com/wxt-dev/wxt/compare/v0.4.0...v0.4.1)

### 🚀 Enhancements

- **cli:** Add `wxt clean` command to delete generated files ([#106](https://github.com/wxt-dev/wxt/pull/106))

### 🩹 Fixes

- **init:** Don't show `cd .` when initializing the current directory ([e086374](https://github.com/wxt-dev/wxt/commit/e086374))

## v0.4.0

[compare changes](https://github.com/wxt-dev/wxt/compare/v0.3.2...v0.4.0)

### 🚀 Enhancements

- Add `--debug` flag for printing debug logs for all CLI commands ([#75](https://github.com/wxt-dev/wxt/pull/75))
- Replace `web-ext` with `web-ext-run` ([#101](https://github.com/wxt-dev/wxt/pull/101))
- Generate types for `browser.i18n.getMessage` ([#103](https://github.com/wxt-dev/wxt/pull/103))

### 🩹 Fixes

- Allow adding custom content scripts ([b428a62](https://github.com/wxt-dev/wxt/commit/b428a62))
- Don't overwrite `wxt.config.ts` content scripts, append entrypoints to it ([5f5f1d9](https://github.com/wxt-dev/wxt/commit/5f5f1d9))
- ⚠️ Use relative path aliases inside `.wxt/tsconfig.json` ([#102](https://github.com/wxt-dev/wxt/pull/102))

### 📖 Documentation

- Add contribution guide ([#76](https://github.com/wxt-dev/wxt/pull/76))

### 🏡 Chore

- Setup dependabot for upgrading dependencies ([d66293c](https://github.com/wxt-dev/wxt/commit/d66293c))
- Update social preview ([e164bd5](https://github.com/wxt-dev/wxt/commit/e164bd5))
- Setup bug and feature issue templates ([2bde917](https://github.com/wxt-dev/wxt/commit/2bde917))
- Upgrade to prettier 3 ([#77](https://github.com/wxt-dev/wxt/pull/77))
- **deps-dev:** Bump vitest from 0.32.4 to 0.34.1 ([#81](https://github.com/wxt-dev/wxt/pull/81))
- **deps-dev:** Bump ora from 6.3.1 to 7.0.1 ([#79](https://github.com/wxt-dev/wxt/pull/79))
- **deps-dev:** Bump @types/node from 20.4.5 to 20.5.0 ([#78](https://github.com/wxt-dev/wxt/pull/78))
- **deps-dev:** Bump tsup from 7.1.0 to 7.2.0 ([#80](https://github.com/wxt-dev/wxt/pull/80))
- **deps-dev:** Bump @vitest/coverage-v8 from 0.32.4 to 0.34.1 ([#84](https://github.com/wxt-dev/wxt/pull/84))
- **deps-dev:** Bump vitepress from 1.0.0-beta.5 to 1.0.0-rc.4 ([#85](https://github.com/wxt-dev/wxt/pull/85))
- **deps-dev:** Bump vitest-mock-extended from 1.1.4 to 1.2.0 ([#87](https://github.com/wxt-dev/wxt/pull/87))
- **deps-dev:** Bump lint-staged from 13.3.0 to 14.0.0 ([#89](https://github.com/wxt-dev/wxt/pull/89))
- Fix remote code E2E test ([83e62a1](https://github.com/wxt-dev/wxt/commit/83e62a1))
- Fix failing demo build ([b58a15e](https://github.com/wxt-dev/wxt/commit/b58a15e))
- **deps-dev:** Bump vitest-mock-extended from 1.2.0 to 1.2.1 ([#97](https://github.com/wxt-dev/wxt/pull/97))
- **deps-dev:** Bump lint-staged from 14.0.0 to 14.0.1 ([#100](https://github.com/wxt-dev/wxt/pull/100))
- **deps-dev:** Bump vitest from 0.34.1 to 0.34.3 ([#99](https://github.com/wxt-dev/wxt/pull/99))
- Increase E2E test timeout because GitHub Actions Window runner is slow ([2a0842b](https://github.com/wxt-dev/wxt/commit/2a0842b))
- **deps-dev:** Bump vitepress from 1.0.0-rc.4 to 1.0.0-rc.10 ([#96](https://github.com/wxt-dev/wxt/pull/96))
- Fix test watcher restarting indefinitely ([2c7922c](https://github.com/wxt-dev/wxt/commit/2c7922c))
- Remove explicit icon config from templates ([93bfee0](https://github.com/wxt-dev/wxt/commit/93bfee0))
- Use import aliases in Vue template ([#104](https://github.com/wxt-dev/wxt/pull/104))

#### ⚠️ Breaking Changes

- ⚠️ Use relative path aliases inside `.wxt/tsconfig.json` ([#102](https://github.com/wxt-dev/wxt/pull/102))

## v0.3.2

[compare changes](https://github.com/wxt-dev/wxt/compare/v0.3.1...v0.3.2)

### 🚀 Enhancements

- Discover icons from the public directory ([#72](https://github.com/wxt-dev/wxt/pull/72))
- Don't allow auto-importing from subdirectories ([d54d611](https://github.com/wxt-dev/wxt/commit/d54d611))

### 📖 Documentation

- Document the `url:` import prefix for remote code ([323045a](https://github.com/wxt-dev/wxt/commit/323045a))
- Fix typos ([97f0938](https://github.com/wxt-dev/wxt/commit/97f0938))
- Fix capitalization ([39467d1](https://github.com/wxt-dev/wxt/commit/39467d1))
- Generate markdown for config reference ([#74](https://github.com/wxt-dev/wxt/pull/74))

### 🏡 Chore

- Upgrade dependencies ([798f02f](https://github.com/wxt-dev/wxt/commit/798f02f))
- Upgrade vite (`v4.3` &rarr; `v4.4`) ([547c185](https://github.com/wxt-dev/wxt/commit/547c185))
- Update templates to work with CSS entrypoints ([7f15305](https://github.com/wxt-dev/wxt/commit/7f15305))
- Improve file list output in CI ([#73](https://github.com/wxt-dev/wxt/pull/73))

### 🤖 CI

- Validate templates against `main` ([#66](https://github.com/wxt-dev/wxt/pull/66))
- List vite version when validating project templates ([ef140dc](https://github.com/wxt-dev/wxt/commit/ef140dc))
- Validate templates using tarball to avoid version conflicts within the `wxt/node_modules` directory ([edfa075](https://github.com/wxt-dev/wxt/commit/edfa075))

## v0.3.1

[compare changes](https://github.com/wxt-dev/wxt/compare/v0.3.0...v0.3.1)

### 🚀 Enhancements

- CSS entrypoints ([#61](https://github.com/wxt-dev/wxt/pull/61))
- `init` command for bootstrapping new projects ([#65](https://github.com/wxt-dev/wxt/pull/65))

### 📖 Documentation

- Add zip command to installation scripts ([94a1097](https://github.com/wxt-dev/wxt/commit/94a1097))
- Add output paths to entrypoint docs ([3a336eb](https://github.com/wxt-dev/wxt/commit/3a336eb))
- Update installation docs ([aea866c](https://github.com/wxt-dev/wxt/commit/aea866c))
- Add publishing docs ([4184b05](https://github.com/wxt-dev/wxt/commit/4184b05))
- Add a section for extensions using WXT ([709b61a](https://github.com/wxt-dev/wxt/commit/709b61a))
- Add a comparison page to compare and contrast against Plasmo ([38d4f9c](https://github.com/wxt-dev/wxt/commit/38d4f9c))

### 🏡 Chore

- Update template projects to v0.3 ([#56](https://github.com/wxt-dev/wxt/pull/56))
- Branding and logo ([#60](https://github.com/wxt-dev/wxt/pull/60))
- Simplify binary setup ([#62](https://github.com/wxt-dev/wxt/pull/62))
- Add Solid template ([#63](https://github.com/wxt-dev/wxt/pull/63))
- Increase E2E test timeout to fix flakey test ([dfe424f](https://github.com/wxt-dev/wxt/commit/dfe424f))

### 🤖 CI

- Speed up demo validation ([3a9fd39](https://github.com/wxt-dev/wxt/commit/3a9fd39))
- Fix flakey failure when validating templates ([25677ba](https://github.com/wxt-dev/wxt/commit/25677ba))

### ❤️ Contributors

- BeanWei ([@BeanWei](https://github.com/BeanWei))

## v0.3.0

[compare changes](https://github.com/wxt-dev/wxt/compare/v0.2.5...v0.3.0)

### 🚀 Enhancements

- ⚠️ Add type safety to `browser.runtime.getURL` ([58a84ec](https://github.com/wxt-dev/wxt/commit/58a84ec))
- ⚠️ Change default `publicDir` to `<rootDir>/public` ([19c0948](https://github.com/wxt-dev/wxt/commit/19c0948))
- Windows support ([#50](https://github.com/wxt-dev/wxt/pull/50))

### 🩹 Fixes

- Add `WebWorker` lib to generated tsconfig ([2c70246](https://github.com/wxt-dev/wxt/commit/2c70246))

### 📖 Documentation

- Update entrypoint directory links ([0aebb67](https://github.com/wxt-dev/wxt/commit/0aebb67))

### 🌊 Types

- Allow any string for the `__BROWSER__` global ([6092235](https://github.com/wxt-dev/wxt/commit/6092235))

### 🤖 CI

- Improve checks against `demo/` extension ([9cc464f](https://github.com/wxt-dev/wxt/commit/9cc464f))

#### ⚠️ Breaking Changes

- ⚠️ Add type safety to `browser.runtime.getURL` ([58a84ec](https://github.com/wxt-dev/wxt/commit/58a84ec))
- ⚠️ Change default `publicDir` to `<rootDir>/public` ([19c0948](https://github.com/wxt-dev/wxt/commit/19c0948))

## v0.2.5

[compare changes](https://github.com/wxt-dev/wxt/compare/v0.2.4...v0.2.5)

### 🚀 Enhancements

- Auto-import from subdirectories ([547fee0](https://github.com/wxt-dev/wxt/commit/547fee0))
- Include background script in dev mode if user doesn't define one ([ca20a21](https://github.com/wxt-dev/wxt/commit/ca20a21))

### 🩹 Fixes

- Don't crash when generating types in dev mode ([d8c1903](https://github.com/wxt-dev/wxt/commit/d8c1903))
- Properly load entrypoints that reference `import.meta` ([54b18cc](https://github.com/wxt-dev/wxt/commit/54b18cc))

### 🏡 Chore

- Update templates to wxt@0.2 ([9d00eb2](https://github.com/wxt-dev/wxt/commit/9d00eb2))

### 🤖 CI

- Validate project templates ([9ac756f](https://github.com/wxt-dev/wxt/commit/9ac756f))

## v0.2.4

[compare changes](https://github.com/wxt-dev/wxt/compare/v0.2.3...v0.2.4)

### 🚀 Enhancements

- Add `wxt zip` command ([#47](https://github.com/wxt-dev/wxt/pull/47))

## v0.2.3

[compare changes](https://github.com/wxt-dev/wxt/compare/v0.2.2...v0.2.3)

### 🩹 Fixes

- Correctly lookup open port ([#45](https://github.com/wxt-dev/wxt/pull/45))
- Read boolean maniest options from meta tags correctly ([495c5c8](https://github.com/wxt-dev/wxt/commit/495c5c8))
- Some fields cannot be overridden from `config.manifest` ([#46](https://github.com/wxt-dev/wxt/pull/46))

## v0.2.2

[compare changes](https://github.com/wxt-dev/wxt/compare/v0.2.1...v0.2.2)

### 🩹 Fixes

- Register content scripts correctly in dev mode ([2fb5a54](https://github.com/wxt-dev/wxt/commit/2fb5a54))

## v0.2.1

[compare changes](https://github.com/wxt-dev/wxt/compare/v0.2.0...v0.2.1)

### 🚀 Enhancements

- Support all content script options ([6f5bf89](https://github.com/wxt-dev/wxt/commit/6f5bf89))

### 🩹 Fixes

- Remove HMR log ([90fa6bf](https://github.com/wxt-dev/wxt/commit/90fa6bf))

## v0.2.0

[compare changes](https://github.com/wxt-dev/wxt/compare/v0.1.6...v0.2.0)

### 🚀 Enhancements

- ⚠️ Rename `defineBackgroundScript` to `defineBackground` ([5b48ae9](https://github.com/wxt-dev/wxt/commit/5b48ae9))
- Recongize unnamed content scripts (`content.ts` and `content/index.ts`) ([3db5cec](https://github.com/wxt-dev/wxt/commit/3db5cec))

### 📖 Documentation

- Update templates ([f28a29e](https://github.com/wxt-dev/wxt/commit/f28a29e))
- Add docs for each type of entrypoint ([77cbfc1](https://github.com/wxt-dev/wxt/commit/77cbfc1))
- Add inline JSDoc for public types ([375a2a6](https://github.com/wxt-dev/wxt/commit/375a2a6))

### 🏡 Chore

- Run `wxt prepare` on `postinstall` ([c1ea9ba](https://github.com/wxt-dev/wxt/commit/c1ea9ba))
- Don't format lockfile ([5c7e041](https://github.com/wxt-dev/wxt/commit/5c7e041))

#### ⚠️ Breaking Changes

- ⚠️ Rename `defineBackgroundScript` to `defineBackground` ([5b48ae9](https://github.com/wxt-dev/wxt/commit/5b48ae9))

## v0.1.6

[compare changes](https://github.com/wxt-dev/wxt/compare/v0.1.5...v0.1.6)

### 🩹 Fixes

- Resolve tsconfig paths in vite ([ea92a27](https://github.com/wxt-dev/wxt/commit/ea92a27))
- Add logs when a hot reload happens ([977246f](https://github.com/wxt-dev/wxt/commit/977246f))

### 🏡 Chore

- React and Vue starter templates ([#33](https://github.com/wxt-dev/wxt/pull/33))
- Svelte template ([#34](https://github.com/wxt-dev/wxt/pull/34))

## v0.1.5

[compare changes](https://github.com/wxt-dev/wxt/compare/v0.1.4...v0.1.5)

### 🩹 Fixes

- Include `vite/client` types ([371be99](https://github.com/wxt-dev/wxt/commit/371be99))

## v0.1.4

[compare changes](https://github.com/wxt-dev/wxt/compare/v0.1.3...v0.1.4)

### 🩹 Fixes

- Fix regression where manifest was not listed first in build summary ([fa2b656](https://github.com/wxt-dev/wxt/commit/fa2b656))
- Fix config hook implementations for vite plugins ([49965e7](https://github.com/wxt-dev/wxt/commit/49965e7))

### 📖 Documentation

- Update CLI screenshot ([0a26673](https://github.com/wxt-dev/wxt/commit/0a26673))

### 🏡 Chore

- Update prettier ignore ([68611ae](https://github.com/wxt-dev/wxt/commit/68611ae))

## v0.1.3

[compare changes](https://github.com/wxt-dev/wxt/compare/v0.1.2...v0.1.3)

### 🚀 Enhancements

- Add tsconfig path aliases ([#32](https://github.com/wxt-dev/wxt/pull/32))

### 🩹 Fixes

- Merge `manifest` option from both inline and user config ([05ca998](https://github.com/wxt-dev/wxt/commit/05ca998))
- Cleanup build summary with sourcemaps ([ac0b28e](https://github.com/wxt-dev/wxt/commit/ac0b28e))

### 📖 Documentation

- Create documentation site ([#31](https://github.com/wxt-dev/wxt/pull/31))

### 🏡 Chore

- Upgrade to pnpm 8 ([0ce7c9d](https://github.com/wxt-dev/wxt/commit/0ce7c9d))

## v0.1.2

[compare changes](https://github.com/wxt-dev/wxt/compare/v0.1.1...v0.1.2)

### 🚀 Enhancements

- Accept a function for `config.manifest` ([ee49837](https://github.com/wxt-dev/wxt/commit/ee49837))

### 🩹 Fixes

- Add missing types for `webextension-polyfill` and the `manifest` option ([636aa48](https://github.com/wxt-dev/wxt/commit/636aa48))
- Only add imports to JS files ([b29c3c6](https://github.com/wxt-dev/wxt/commit/b29c3c6))
- Generate valid type for `EntrypointPath` when there are no entrypoints ([6e7184d](https://github.com/wxt-dev/wxt/commit/6e7184d))

### 🌊 Types

- Change `config.vite` to `UserConfig` ([ef6001e](https://github.com/wxt-dev/wxt/commit/ef6001e))

## v0.1.1

[compare changes](https://github.com/wxt-dev/wxt/compare/v0.1.0...v0.1.1)

### 🩹 Fixes

- Allow dashes in entrypoint names ([2e51e73](https://github.com/wxt-dev/wxt/commit/2e51e73))
- Unable to read entrypoint options ([#28](https://github.com/wxt-dev/wxt/pull/28))

## v0.1.0

Initial release of WXT. Full support for production builds and initial toolkit for development:

- HMR support when HTML page dependencies change
- Reload extension when background changes
- Reload HTML pages when saving them directly
- Re-register and reload tabs when content scripts change

[compare changes](https://github.com/wxt-dev/wxt/compare/v0.0.2...v0.1.0)

### 🚀 Enhancements

- Content scripts reloading ([#25](https://github.com/wxt-dev/wxt/pull/25))

### 📖 Documentation

- Update feature list ([0255028](https://github.com/wxt-dev/wxt/commit/0255028))

### 🤖 CI

- Create github release ([b7c078f](https://github.com/wxt-dev/wxt/commit/b7c078f))

## v0.0.2

[compare changes](https://github.com/wxt-dev/wxt/compare/v0.0.1...v0.0.2)

### 🚀 Enhancements

- Reload extension when source code is changed ([#17](https://github.com/wxt-dev/wxt/pull/17))
- Setup background script web socket/reload ([#22](https://github.com/wxt-dev/wxt/pull/22))
- Reload HTML files individually ([#23](https://github.com/wxt-dev/wxt/pull/23))

### 🩹 Fixes

- Output chunks to a chunks directory ([2dd7a99](https://github.com/wxt-dev/wxt/commit/2dd7a99))
- Remove hash from content script css outputs ([#20](https://github.com/wxt-dev/wxt/pull/20))
- Overwrite files with the same name when renaming entrypoints in dev mode ([37986bf](https://github.com/wxt-dev/wxt/commit/37986bf))
- Separate template builds to prevent sharing chunks ([7f3a1e8](https://github.com/wxt-dev/wxt/commit/7f3a1e8))
- Show Vite warnings and errors ([c51f0e0](https://github.com/wxt-dev/wxt/commit/c51f0e0))

### 📖 Documentation

- Add milestone progress badge to README ([684197d](https://github.com/wxt-dev/wxt/commit/684197d))
- Fix milestone link in README ([e14f81d](https://github.com/wxt-dev/wxt/commit/e14f81d))

### 🏡 Chore

- Refactor build output type ([#19](https://github.com/wxt-dev/wxt/pull/19))
- Refactor build outputs to support transpiled templates ([a78aada](https://github.com/wxt-dev/wxt/commit/a78aada))
- Rename `templates` to `virtual-modules` ([#24](https://github.com/wxt-dev/wxt/pull/24))
- Update cli screenshot ([54eb118](https://github.com/wxt-dev/wxt/commit/54eb118))

## v0.0.1

[compare changes](https://github.com/wxt-dev/wxt/compare/v0.0.0...v0.0.1)

### 🚀 Enhancements

- Add logger to config ([232ff7a](https://github.com/wxt-dev/wxt/commit/232ff7a))
- Export and bootstrap the `/client` package ([5b07c95](https://github.com/wxt-dev/wxt/commit/5b07c95))
- Resolve entrypoints based on filesystem ([a63f061](https://github.com/wxt-dev/wxt/commit/a63f061))
- Separate output directories for each browser/manifest version ([f09ffbb](https://github.com/wxt-dev/wxt/commit/f09ffbb))
- Build entrypoints and output `manifest.json` ([1e7c738](https://github.com/wxt-dev/wxt/commit/1e7c738))
- Automatically add CSS files to content scripts ([047ce04](https://github.com/wxt-dev/wxt/commit/047ce04))
- Download and bundle remote URL imports ([523c7df](https://github.com/wxt-dev/wxt/commit/523c7df))
- Generate type declarations and config for project types and auto-imports ([21debad](https://github.com/wxt-dev/wxt/commit/21debad))
- Good looking console output ([e2cc995](https://github.com/wxt-dev/wxt/commit/e2cc995))
- Dev server working and a valid extension is built ([505e419](https://github.com/wxt-dev/wxt/commit/505e419))
- Virtualized content script entrypoint ([ca29537](https://github.com/wxt-dev/wxt/commit/ca29537))
- Provide custom, typed globals defined by Vite ([8c59a1c](https://github.com/wxt-dev/wxt/commit/8c59a1c))
- Copy public directory to outputs ([1a25f2b](https://github.com/wxt-dev/wxt/commit/1a25f2b))
- Support browser and chrome styles for mv2 popups ([7945c94](https://github.com/wxt-dev/wxt/commit/7945c94))
- Support browser and chrome styles for mv2 popups ([7abb577](https://github.com/wxt-dev/wxt/commit/7abb577))
- Support more CLI flags for `build` and `dev` ([#9](https://github.com/wxt-dev/wxt/pull/9))
- Add more supported browser types ([f114c5b](https://github.com/wxt-dev/wxt/commit/f114c5b))
- Open browser when starting dev server ([#11](https://github.com/wxt-dev/wxt/pull/11))

### 🩹 Fixes

- Support `srcDir` config ([739d19f](https://github.com/wxt-dev/wxt/commit/739d19f))
- Root path customization now works ([4faa3b3](https://github.com/wxt-dev/wxt/commit/4faa3b3))
- Print durations as ms/s based on total time ([3e37de9](https://github.com/wxt-dev/wxt/commit/3e37de9))
- Don't print error twice when background crashes ([407627c](https://github.com/wxt-dev/wxt/commit/407627c))
- Load package.json from root not cwd ([3ca16ee](https://github.com/wxt-dev/wxt/commit/3ca16ee))
- Only allow a single entrypoint with a given name ([8eb4e86](https://github.com/wxt-dev/wxt/commit/8eb4e86))
- Respect the mv2 popup type ([0f37ceb](https://github.com/wxt-dev/wxt/commit/0f37ceb))
- Respect background type and persistent manifest options ([573ef80](https://github.com/wxt-dev/wxt/commit/573ef80))
- Make content script array orders consistent ([f380378](https://github.com/wxt-dev/wxt/commit/f380378))
- Firefox manifest warnings in dev mode ([50bb845](https://github.com/wxt-dev/wxt/commit/50bb845))

### 📖 Documentation

- Update README ([785ea54](https://github.com/wxt-dev/wxt/commit/785ea54))
- Update README ([99ccadb](https://github.com/wxt-dev/wxt/commit/99ccadb))
- Update description ([07a262e](https://github.com/wxt-dev/wxt/commit/07a262e))
- Update README ([58a0ef4](https://github.com/wxt-dev/wxt/commit/58a0ef4))
- Update README ([23ed6f7](https://github.com/wxt-dev/wxt/commit/23ed6f7))
- Add initial release milestone link to README ([b400e54](https://github.com/wxt-dev/wxt/commit/b400e54))
- Fix typo in README ([5590c9d](https://github.com/wxt-dev/wxt/commit/5590c9d))

### 🏡 Chore

- Refactor cli files into their own directory ([e6c0d84](https://github.com/wxt-dev/wxt/commit/e6c0d84))
- Simplify `BuildOutput` type ([1f6c4a0](https://github.com/wxt-dev/wxt/commit/1f6c4a0))
- Move `.exvite` directory into `srcDir` instead of `root` ([53fb805](https://github.com/wxt-dev/wxt/commit/53fb805))
- Refactor CLI commands ([b8952b6](https://github.com/wxt-dev/wxt/commit/b8952b6))
- Improve build summary sorting ([ec57e8c](https://github.com/wxt-dev/wxt/commit/ec57e8c))
- Remove comments ([e3e9c0d](https://github.com/wxt-dev/wxt/commit/e3e9c0d))
- Refactor internal config creation ([7c634f4](https://github.com/wxt-dev/wxt/commit/7c634f4))
- Check virtual entrypoints feature in README ([70208f4](https://github.com/wxt-dev/wxt/commit/70208f4))
- Add E2E tests and convert to vitest workspace ([5813302](https://github.com/wxt-dev/wxt/commit/5813302))
- Rename package to wxt ([51a1072](https://github.com/wxt-dev/wxt/commit/51a1072))
- Fix header log's timestamp ([8ca5657](https://github.com/wxt-dev/wxt/commit/8ca5657))
- Fix demo global usage ([1ecfedd](https://github.com/wxt-dev/wxt/commit/1ecfedd))
- Refactor folder structure ([9ab3953](https://github.com/wxt-dev/wxt/commit/9ab3953))
- Fix release workflow ([2e94f2a](https://github.com/wxt-dev/wxt/commit/2e94f2a))

### 🤖 CI

- Create validation workflow ([#12](https://github.com/wxt-dev/wxt/pull/12))
- Create release workflow ([#13](https://github.com/wxt-dev/wxt/pull/13))