1
0
mirror of https://github.com/Unleash/unleash.git synced 2024-12-22 19:07:54 +01:00
Unleash is the open source feature toggle service.
Go to file
renovate[bot] 4fbeb20856
chore(deps): update dependency vite to v4.3.3 (#3680)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [vite](https://togithub.com/vitejs/vite/tree/main/#readme)
([source](https://togithub.com/vitejs/vite)) | [`4.1.4` ->
`4.3.3`](https://renovatebot.com/diffs/npm/vite/4.1.4/4.3.3) |
[![age](https://badges.renovateapi.com/packages/npm/vite/4.3.3/age-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://badges.renovateapi.com/packages/npm/vite/4.3.3/adoption-slim)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://badges.renovateapi.com/packages/npm/vite/4.3.3/compatibility-slim/4.1.4)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://badges.renovateapi.com/packages/npm/vite/4.3.3/confidence-slim/4.1.4)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>vitejs/vite</summary>

###
[`v4.3.3`](https://togithub.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small433-2023-04-26-small)

[Compare
Source](https://togithub.com/vitejs/vite/compare/v4.3.2...v4.3.3)

- fix: address file path mismatch when loading Vite config file on
Windows (fix
[#&#8203;12923](https://togithub.com/vitejs/vite/issues/12923))
([#&#8203;13005](https://togithub.com/vitejs/vite/issues/13005))
([84c4118](https://togithub.com/vitejs/vite/commit/84c4118)), closes
[#&#8203;12923](https://togithub.com/vitejs/vite/issues/12923)
[#&#8203;13005](https://togithub.com/vitejs/vite/issues/13005)
- fix: undefined document in worker
([#&#8203;12988](https://togithub.com/vitejs/vite/issues/12988))
([08c1452](https://togithub.com/vitejs/vite/commit/08c1452)), closes
[#&#8203;12988](https://togithub.com/vitejs/vite/issues/12988)
- fix(resolve): deep import resolvedId error
([#&#8203;13010](https://togithub.com/vitejs/vite/issues/13010))
([30a41ff](https://togithub.com/vitejs/vite/commit/30a41ff)), closes
[#&#8203;13010](https://togithub.com/vitejs/vite/issues/13010)
- feat: optimize deps option to turn off auto discovery
([#&#8203;13000](https://togithub.com/vitejs/vite/issues/13000))
([bd86375](https://togithub.com/vitejs/vite/commit/bd86375)), closes
[#&#8203;13000](https://togithub.com/vitejs/vite/issues/13000)
- chore(deps): update all non-major dependencies
([#&#8203;12805](https://togithub.com/vitejs/vite/issues/12805))
([5731ac9](https://togithub.com/vitejs/vite/commit/5731ac9)), closes
[#&#8203;12805](https://togithub.com/vitejs/vite/issues/12805)

###
[`v4.3.2`](https://togithub.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small432-2023-04-25-small)

[Compare
Source](2a8779c577...v4.3.2)

- fix: status optional in windows network drive regex (fix:
[#&#8203;12948](https://togithub.com/vitejs/vite/issues/12948))
([#&#8203;12949](https://togithub.com/vitejs/vite/issues/12949))
([f781fc6](https://togithub.com/vitejs/vite/commit/f781fc6)), closes
[#&#8203;12948](https://togithub.com/vitejs/vite/issues/12948)
[#&#8203;12949](https://togithub.com/vitejs/vite/issues/12949)
- fix: use realpathSync for node <16.18 on windows
([#&#8203;12971](https://togithub.com/vitejs/vite/issues/12971))
([965839c](https://togithub.com/vitejs/vite/commit/965839c)), closes
[#&#8203;12971](https://togithub.com/vitejs/vite/issues/12971)
- fix(ssr): hoist statements after hashbang
([#&#8203;12985](https://togithub.com/vitejs/vite/issues/12985))
([07bd6d1](https://togithub.com/vitejs/vite/commit/07bd6d1)), closes
[#&#8203;12985](https://togithub.com/vitejs/vite/issues/12985)
- chore: build time message setting color
([#&#8203;12940](https://togithub.com/vitejs/vite/issues/12940))
([ada7cd5](https://togithub.com/vitejs/vite/commit/ada7cd5)), closes
[#&#8203;12940](https://togithub.com/vitejs/vite/issues/12940)
- chore: remove extra ) in changelog
([#&#8203;12932](https://togithub.com/vitejs/vite/issues/12932))
([e7924d2](https://togithub.com/vitejs/vite/commit/e7924d2)), closes
[#&#8203;12932](https://togithub.com/vitejs/vite/issues/12932)
- chore: upgrade rollup
([#&#8203;12965](https://togithub.com/vitejs/vite/issues/12965))
([bdb2f25](https://togithub.com/vitejs/vite/commit/bdb2f25)), closes
[#&#8203;12965](https://togithub.com/vitejs/vite/issues/12965)
- refactor: resolveExports
([#&#8203;10917](https://togithub.com/vitejs/vite/issues/10917))
([ad21ec3](https://togithub.com/vitejs/vite/commit/ad21ec3)), closes
[#&#8203;10917](https://togithub.com/vitejs/vite/issues/10917)

###
[`v4.3.1`](https://togithub.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small431-2023-04-20-small)

[Compare
Source](d6468a3b1f...2a8779c5779ddcf1dd726be39c4547b4851b45cf)

- fix: revert ensure module in graph before transforming
([#&#8203;12774](https://togithub.com/vitejs/vite/issues/12774))
([#&#8203;12929](https://togithub.com/vitejs/vite/issues/12929))
([9cc93a5](https://togithub.com/vitejs/vite/commit/9cc93a5)), closes
[#&#8203;12774](https://togithub.com/vitejs/vite/issues/12774)
[#&#8203;12929](https://togithub.com/vitejs/vite/issues/12929)
- docs: 4.3 announcement and release notes
([#&#8203;12925](https://togithub.com/vitejs/vite/issues/12925))
([f29c582](https://togithub.com/vitejs/vite/commit/f29c582)), closes
[#&#8203;12925](https://togithub.com/vitejs/vite/issues/12925)
- chore: clean up 4.3 changelog
([55ec023](https://togithub.com/vitejs/vite/commit/55ec023))

###
[`v4.3.0`](https://togithub.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#&#8203;430-2023-04-20)

[Compare
Source](https://togithub.com/vitejs/vite/compare/v4.2.2...d6468a3b1fa11f066a0f38515874f71da7b9640e)

Vite 4.3 is out! Read the [announcement blog post
here](https://vitejs.dev/blog/announcing-vite4-3)

[![Vite 4.3, It's
Fast](https://vitejs.dev/og-image-announcing-vite4-3.png)](https://vitejs.dev/blog/announcing-vite4-3)

In this minor, we focused on improving the dev server performance. The
resolve logic got streamlined, improving hot paths and implementing
smarter caching for finding `package.json`, TS config files, and
resolved URL in general.

You can read a detailed walkthrough of the performance work done in this
blog post by one of Vite Contributors: [How we made Vite 4.3 faaaaster
🚀](https://sun0day.github.io/blog/vite/why-vite4\_3-is-faster.html).

This sprint resulted in speed improvements across the board compared to
Vite 4.2.

These are the performance improvements as measured by
[sapphi-red/performance-compare](https://togithub.com/sapphi-red/performance-compare),
which tests an app with 1000 React Components cold and warm dev server
startup time as well as HMR times for a root and a leaf component:

| **Vite (babel)**   |  Vite 4.2 | Vite 4.3 | Improvement  |
| :----------------- | --------: | -------: | -----------: |
| **dev cold start** | 17249.0ms | 5132.4ms |      -70.2%  |
| **dev warm start** |  6027.8ms | 4536.1ms |      -24.7%  |
| **Root HMR**       |    46.8ms |   26.7ms |      -42.9%  |
| **Leaf HMR**       |    27.0ms |   12.9ms |      -52.2%  |

| **Vite (swc)**     |  Vite 4.2 | Vite 4.3 | Improvement  |
| :----------------- | --------: | -------: | -----------: |
| **dev cold start** | 13552.5ms | 3201.0ms |      -76.4%  |
| **dev warm start** |  4625.5ms | 2834.4ms |      -38.7%  |
| **Root HMR**       |    30.5ms |   24.0ms |      -21.3%  |
| **Leaf HMR**       |    16.9ms |   10.0ms |      -40.8%  |

You can read more information about the benchmark
[here](https://gist.github.com/sapphi-red/25be97327ee64a3c1dce793444afdf6e)

##### Features

- feat: expose `isFileServingAllowed` as public utility
([#&#8203;12894](https://togithub.com/vitejs/vite/issues/12894))
([93e095c](https://togithub.com/vitejs/vite/commit/93e095c)), closes
[#&#8203;12894](https://togithub.com/vitejs/vite/issues/12894)
- feat: reuse existing style elements in dev
([#&#8203;12678](https://togithub.com/vitejs/vite/issues/12678))
([3a41bd8](https://togithub.com/vitejs/vite/commit/3a41bd8)), closes
[#&#8203;12678](https://togithub.com/vitejs/vite/issues/12678)
- feat: skip pinging the server when the tab is not shown
([#&#8203;12698](https://togithub.com/vitejs/vite/issues/12698))
([bedcd8f](https://togithub.com/vitejs/vite/commit/bedcd8f)), closes
[#&#8203;12698](https://togithub.com/vitejs/vite/issues/12698)
- feat(create-vite): use typescript 5.0 in templates
([#&#8203;12481](https://togithub.com/vitejs/vite/issues/12481))
([8582e2d](https://togithub.com/vitejs/vite/commit/8582e2d)), closes
[#&#8203;12481](https://togithub.com/vitejs/vite/issues/12481)
- feat: use preview server parameter in preview server hook
([#&#8203;11647](https://togithub.com/vitejs/vite/issues/11647))
([4c142ea](https://togithub.com/vitejs/vite/commit/4c142ea)), closes
[#&#8203;11647](https://togithub.com/vitejs/vite/issues/11647)
- feat(reporter): show gzip info for all compressible files (fix
[#&#8203;11288](https://togithub.com/vitejs/vite/issues/11288))
([#&#8203;12485](https://togithub.com/vitejs/vite/issues/12485))
([03502c8](https://togithub.com/vitejs/vite/commit/03502c8)), closes
[#&#8203;11288](https://togithub.com/vitejs/vite/issues/11288)
[#&#8203;12485](https://togithub.com/vitejs/vite/issues/12485)
- feat(server): allow to import `data:` uris
([#&#8203;12645](https://togithub.com/vitejs/vite/issues/12645))
([4886d9f](https://togithub.com/vitejs/vite/commit/4886d9f)), closes
[#&#8203;12645](https://togithub.com/vitejs/vite/issues/12645)
- feat: add opus filetype to assets & mime types
([#&#8203;12526](https://togithub.com/vitejs/vite/issues/12526))
([63524ba](https://togithub.com/vitejs/vite/commit/63524ba)), closes
[#&#8203;12526](https://togithub.com/vitejs/vite/issues/12526)

##### Performance

- perf: parallelize await exportsData from depsInfo
([#&#8203;12869](https://togithub.com/vitejs/vite/issues/12869))
([ab3a530](https://togithub.com/vitejs/vite/commit/ab3a530)), closes
[#&#8203;12869](https://togithub.com/vitejs/vite/issues/12869)
- perf: avoid side effects resolving in dev and in the optimizer/scanner
([#&#8203;12789](https://togithub.com/vitejs/vite/issues/12789))
([fb904f9](https://togithub.com/vitejs/vite/commit/fb904f9)), closes
[#&#8203;12789](https://togithub.com/vitejs/vite/issues/12789)
- perf: parallelize imports processing in import analysis plugin
([#&#8203;12754](https://togithub.com/vitejs/vite/issues/12754))
([037a6c7](https://togithub.com/vitejs/vite/commit/037a6c7)), closes
[#&#8203;12754](https://togithub.com/vitejs/vite/issues/12754)
- perf: unresolvedUrlToModule promise cache
([#&#8203;12725](https://togithub.com/vitejs/vite/issues/12725))
([80c526e](https://togithub.com/vitejs/vite/commit/80c526e)), closes
[#&#8203;12725](https://togithub.com/vitejs/vite/issues/12725)
- perf(resolve): avoid tryFsResolve for /@&#8203;fs/ paths
([#&#8203;12450](https://togithub.com/vitejs/vite/issues/12450))
([3ef8aaa](https://togithub.com/vitejs/vite/commit/3ef8aaa)), closes
[#&#8203;12450](https://togithub.com/vitejs/vite/issues/12450)
- perf(resolve): reduce vite client path checks
([#&#8203;12471](https://togithub.com/vitejs/vite/issues/12471))
([c49af23](https://togithub.com/vitejs/vite/commit/c49af23)), closes
[#&#8203;12471](https://togithub.com/vitejs/vite/issues/12471)
- perf: avoid new URL() in hot path
([#&#8203;12654](https://togithub.com/vitejs/vite/issues/12654))
([f4e2fdf](https://togithub.com/vitejs/vite/commit/f4e2fdf)), closes
[#&#8203;12654](https://togithub.com/vitejs/vite/issues/12654)
- perf: improve isFileReadable performance
([#&#8203;12397](https://togithub.com/vitejs/vite/issues/12397))
([acf3a14](https://togithub.com/vitejs/vite/commit/acf3a14)), closes
[#&#8203;12397](https://togithub.com/vitejs/vite/issues/12397)
- perf: module graph url shortcuts
([#&#8203;12635](https://togithub.com/vitejs/vite/issues/12635))
([c268cfa](https://togithub.com/vitejs/vite/commit/c268cfa)), closes
[#&#8203;12635](https://togithub.com/vitejs/vite/issues/12635)
- perf: reduce runOptimizerIfIdleAfterMs time
([#&#8203;12614](https://togithub.com/vitejs/vite/issues/12614))
([d026a65](https://togithub.com/vitejs/vite/commit/d026a65)), closes
[#&#8203;12614](https://togithub.com/vitejs/vite/issues/12614)
- perf: shorcircuit resolve in ensure entry from url
([#&#8203;12655](https://togithub.com/vitejs/vite/issues/12655))
([82137d6](https://togithub.com/vitejs/vite/commit/82137d6)), closes
[#&#8203;12655](https://togithub.com/vitejs/vite/issues/12655)
- perf: skip es-module-lexer if have no dynamic imports
([#&#8203;12732](https://togithub.com/vitejs/vite/issues/12732))
([5d07d7c](https://togithub.com/vitejs/vite/commit/5d07d7c)), closes
[#&#8203;12732](https://togithub.com/vitejs/vite/issues/12732)
- perf: start preprocessing static imports before updating module graph
([#&#8203;12723](https://togithub.com/vitejs/vite/issues/12723))
([c90b46e](https://togithub.com/vitejs/vite/commit/c90b46e)), closes
[#&#8203;12723](https://togithub.com/vitejs/vite/issues/12723)
- perf: use package cache for one off resolve
([#&#8203;12744](https://togithub.com/vitejs/vite/issues/12744))
([77bf4ef](https://togithub.com/vitejs/vite/commit/77bf4ef)), closes
[#&#8203;12744](https://togithub.com/vitejs/vite/issues/12744)
- perf(css): cache lazy import
([#&#8203;12721](https://togithub.com/vitejs/vite/issues/12721))
([fedb080](https://togithub.com/vitejs/vite/commit/fedb080)), closes
[#&#8203;12721](https://togithub.com/vitejs/vite/issues/12721)
- perf(hmr): keep track of already traversed modules when propagating
update ([#&#8203;12658](https://togithub.com/vitejs/vite/issues/12658))
([3b912fb](https://togithub.com/vitejs/vite/commit/3b912fb)), closes
[#&#8203;12658](https://togithub.com/vitejs/vite/issues/12658)
- perf(moduleGraph): resolve dep urls in parallel
([#&#8203;12619](https://togithub.com/vitejs/vite/issues/12619))
([4823fec](https://togithub.com/vitejs/vite/commit/4823fec)), closes
[#&#8203;12619](https://togithub.com/vitejs/vite/issues/12619)
- perf(resolve): skip for virtual files
([#&#8203;12638](https://togithub.com/vitejs/vite/issues/12638))
([9e13f5f](https://togithub.com/vitejs/vite/commit/9e13f5f)), closes
[#&#8203;12638](https://togithub.com/vitejs/vite/issues/12638)
- perf: avoid fsp.unlink if we don't use the promise
([#&#8203;12589](https://togithub.com/vitejs/vite/issues/12589))
([19d1980](https://togithub.com/vitejs/vite/commit/19d1980)), closes
[#&#8203;12589](https://togithub.com/vitejs/vite/issues/12589)
- perf: back to temporal optimizer dirs
([#&#8203;12622](https://togithub.com/vitejs/vite/issues/12622))
([8da0422](https://togithub.com/vitejs/vite/commit/8da0422)), closes
[#&#8203;12622](https://togithub.com/vitejs/vite/issues/12622)
- perf: cache `depsCacheDirPrefix` value for `isOptimizedDepFile`
([#&#8203;12601](https://togithub.com/vitejs/vite/issues/12601))
([edbd262](https://togithub.com/vitejs/vite/commit/edbd262)), closes
[#&#8203;12601](https://togithub.com/vitejs/vite/issues/12601)
- perf: improve cleanUrl util
([#&#8203;12573](https://togithub.com/vitejs/vite/issues/12573))
([68d500e](https://togithub.com/vitejs/vite/commit/68d500e)), closes
[#&#8203;12573](https://togithub.com/vitejs/vite/issues/12573)
- perf: non-blocking write of optimized dep files
([#&#8203;12603](https://togithub.com/vitejs/vite/issues/12603))
([2f5f968](https://togithub.com/vitejs/vite/commit/2f5f968)), closes
[#&#8203;12603](https://togithub.com/vitejs/vite/issues/12603)
- perf: try using realpathSync.native in Windows
([#&#8203;12580](https://togithub.com/vitejs/vite/issues/12580))
([1cc99f8](https://togithub.com/vitejs/vite/commit/1cc99f8)), closes
[#&#8203;12580](https://togithub.com/vitejs/vite/issues/12580)
- perf: use fsp in more cases
([#&#8203;12553](https://togithub.com/vitejs/vite/issues/12553))
([e9b92f5](https://togithub.com/vitejs/vite/commit/e9b92f5)), closes
[#&#8203;12553](https://togithub.com/vitejs/vite/issues/12553)
- perf(html): apply preTransformRequest for html scripts
([#&#8203;12599](https://togithub.com/vitejs/vite/issues/12599))
([420782c](https://togithub.com/vitejs/vite/commit/420782c)), closes
[#&#8203;12599](https://togithub.com/vitejs/vite/issues/12599)
- perf(optimizer): bulk optimizer delay
([#&#8203;12609](https://togithub.com/vitejs/vite/issues/12609))
([c881971](https://togithub.com/vitejs/vite/commit/c881971)), closes
[#&#8203;12609](https://togithub.com/vitejs/vite/issues/12609)
- perf(optimizer): start optimizer early
([#&#8203;12593](https://togithub.com/vitejs/vite/issues/12593))
([4f9b8b4](https://togithub.com/vitejs/vite/commit/4f9b8b4)), closes
[#&#8203;12593](https://togithub.com/vitejs/vite/issues/12593)
- perf(resolve): avoid isWorkerRequest and clean up .ts imported a .js
([#&#8203;12571](https://togithub.com/vitejs/vite/issues/12571))
([8ab1438](https://togithub.com/vitejs/vite/commit/8ab1438)), closes
[#&#8203;12571](https://togithub.com/vitejs/vite/issues/12571)
- perf(resolve): findNearestMainPackageData instead of lookupFile
([#&#8203;12576](https://togithub.com/vitejs/vite/issues/12576))
([54b376f](https://togithub.com/vitejs/vite/commit/54b376f)), closes
[#&#8203;12576](https://togithub.com/vitejs/vite/issues/12576)
- perf(server): only watch .env files in envDir
([#&#8203;12587](https://togithub.com/vitejs/vite/issues/12587))
([26d8e72](https://togithub.com/vitejs/vite/commit/26d8e72)), closes
[#&#8203;12587](https://togithub.com/vitejs/vite/issues/12587)
- perf: avoid execSync on openBrowser
([#&#8203;12510](https://togithub.com/vitejs/vite/issues/12510))
([a2af2f0](https://togithub.com/vitejs/vite/commit/a2af2f0)), closes
[#&#8203;12510](https://togithub.com/vitejs/vite/issues/12510)
- perf: extract regex and use Map in data-uri plugin
([#&#8203;12500](https://togithub.com/vitejs/vite/issues/12500))
([137e63d](https://togithub.com/vitejs/vite/commit/137e63d)), closes
[#&#8203;12500](https://togithub.com/vitejs/vite/issues/12500)
- perf: extract vite:resolve internal functions
([#&#8203;12522](https://togithub.com/vitejs/vite/issues/12522))
([6ea4be2](https://togithub.com/vitejs/vite/commit/6ea4be2)), closes
[#&#8203;12522](https://togithub.com/vitejs/vite/issues/12522)
- perf: improve package cache usage
([#&#8203;12512](https://togithub.com/vitejs/vite/issues/12512))
([abc2b9c](https://togithub.com/vitejs/vite/commit/abc2b9c)), closes
[#&#8203;12512](https://togithub.com/vitejs/vite/issues/12512)
- perf: more regex improvements
([#&#8203;12520](https://togithub.com/vitejs/vite/issues/12520))
([abf536f](https://togithub.com/vitejs/vite/commit/abf536f)), closes
[#&#8203;12520](https://togithub.com/vitejs/vite/issues/12520)
- perf: regex to startsWith/slice in utils
([#&#8203;12532](https://togithub.com/vitejs/vite/issues/12532))
([debc6e2](https://togithub.com/vitejs/vite/commit/debc6e2)), closes
[#&#8203;12532](https://togithub.com/vitejs/vite/issues/12532)
- perf: remove regex in ImportMetaURL plugins
([#&#8203;12502](https://togithub.com/vitejs/vite/issues/12502))
([1030049](https://togithub.com/vitejs/vite/commit/1030049)), closes
[#&#8203;12502](https://togithub.com/vitejs/vite/issues/12502)
- perf: replace endsWith with ===
([#&#8203;12539](https://togithub.com/vitejs/vite/issues/12539))
([7eb52ec](https://togithub.com/vitejs/vite/commit/7eb52ec)), closes
[#&#8203;12539](https://togithub.com/vitejs/vite/issues/12539)
- perf: replace startsWith with ===
([#&#8203;12531](https://togithub.com/vitejs/vite/issues/12531))
([9cce026](https://togithub.com/vitejs/vite/commit/9cce026)), closes
[#&#8203;12531](https://togithub.com/vitejs/vite/issues/12531)
- perf: reuse regex in plugins
([#&#8203;12518](https://togithub.com/vitejs/vite/issues/12518))
([da43936](https://togithub.com/vitejs/vite/commit/da43936)), closes
[#&#8203;12518](https://togithub.com/vitejs/vite/issues/12518)
- perf: use `safeRealpath` in `getRealpath`
([#&#8203;12551](https://togithub.com/vitejs/vite/issues/12551))
([cec2320](https://togithub.com/vitejs/vite/commit/cec2320)), closes
[#&#8203;12551](https://togithub.com/vitejs/vite/issues/12551)
- perf(css): improve postcss config resolve
([#&#8203;12484](https://togithub.com/vitejs/vite/issues/12484))
([58e99b6](https://togithub.com/vitejs/vite/commit/58e99b6)), closes
[#&#8203;12484](https://togithub.com/vitejs/vite/issues/12484)
- perf(esbuild): make tsconfck non-blocking
([#&#8203;12548](https://togithub.com/vitejs/vite/issues/12548))
([e5cdff7](https://togithub.com/vitejs/vite/commit/e5cdff7)), closes
[#&#8203;12548](https://togithub.com/vitejs/vite/issues/12548)
- perf(esbuild): update tsconfck to consume faster find-all
implementation
([#&#8203;12541](https://togithub.com/vitejs/vite/issues/12541))
([b6ea25a](https://togithub.com/vitejs/vite/commit/b6ea25a)), closes
[#&#8203;12541](https://togithub.com/vitejs/vite/issues/12541)
- perf(resolve): fix browser mapping nearest package.json check
([#&#8203;12550](https://togithub.com/vitejs/vite/issues/12550))
([eac376e](https://togithub.com/vitejs/vite/commit/eac376e)), closes
[#&#8203;12550](https://togithub.com/vitejs/vite/issues/12550)
- perf(resolve): improve package.json resolve speed
([#&#8203;12441](https://togithub.com/vitejs/vite/issues/12441))
([1fc8c65](https://togithub.com/vitejs/vite/commit/1fc8c65)), closes
[#&#8203;12441](https://togithub.com/vitejs/vite/issues/12441)
- perf(resolve): refactor package.json handling for deep imports
([#&#8203;12461](https://togithub.com/vitejs/vite/issues/12461))
([596b661](https://togithub.com/vitejs/vite/commit/596b661)), closes
[#&#8203;12461](https://togithub.com/vitejs/vite/issues/12461)
- perf(resolve): refactor tryFsResolve and tryResolveFile
([#&#8203;12542](https://togithub.com/vitejs/vite/issues/12542))
([3f70f47](https://togithub.com/vitejs/vite/commit/3f70f47))
- perf(resolve): skip absolute paths in root as url checks
([#&#8203;12476](https://togithub.com/vitejs/vite/issues/12476))
([8d2931b](https://togithub.com/vitejs/vite/commit/8d2931b)), closes
[#&#8203;12476](https://togithub.com/vitejs/vite/issues/12476)
- perf(resolve): support # in path only for dependencies
([#&#8203;12469](https://togithub.com/vitejs/vite/issues/12469))
([6559fc7](https://togithub.com/vitejs/vite/commit/6559fc7)), closes
[#&#8203;12469](https://togithub.com/vitejs/vite/issues/12469)

##### Bug Fixes

- fix(build): do not repeatedly output warning message
([#&#8203;12910](https://togithub.com/vitejs/vite/issues/12910))
([251d0ab](https://togithub.com/vitejs/vite/commit/251d0ab)), closes
[#&#8203;12910](https://togithub.com/vitejs/vite/issues/12910)
- fix: escape msg in render restricted error html
([#&#8203;12889](https://togithub.com/vitejs/vite/issues/12889))
([3aa2127](https://togithub.com/vitejs/vite/commit/3aa2127)), closes
[#&#8203;12889](https://togithub.com/vitejs/vite/issues/12889)
- fix: yarn pnp considerBuiltins
([#&#8203;12903](https://togithub.com/vitejs/vite/issues/12903))
([a0e10d5](https://togithub.com/vitejs/vite/commit/a0e10d5)), closes
[#&#8203;12903](https://togithub.com/vitejs/vite/issues/12903)
- fix: broken middleware name
([#&#8203;12871](https://togithub.com/vitejs/vite/issues/12871))
([32bef57](https://togithub.com/vitejs/vite/commit/32bef57)), closes
[#&#8203;12871](https://togithub.com/vitejs/vite/issues/12871)
- fix: cleanUpStaleCacheDirs once per process
([#&#8203;12847](https://togithub.com/vitejs/vite/issues/12847))
([2c58b6e](https://togithub.com/vitejs/vite/commit/2c58b6e)), closes
[#&#8203;12847](https://togithub.com/vitejs/vite/issues/12847)
- fix(build): do not warn when URL in CSS is externalized
([#&#8203;12873](https://togithub.com/vitejs/vite/issues/12873))
([1510996](https://togithub.com/vitejs/vite/commit/1510996)), closes
[#&#8203;12873](https://togithub.com/vitejs/vite/issues/12873)
- fix: build time deps optimization, and ensure single crawl end call
([#&#8203;12851](https://togithub.com/vitejs/vite/issues/12851))
([fa30879](https://togithub.com/vitejs/vite/commit/fa30879)), closes
[#&#8203;12851](https://togithub.com/vitejs/vite/issues/12851)
- fix: correct vite config temporary name
([#&#8203;12833](https://togithub.com/vitejs/vite/issues/12833))
([cdd9c23](https://togithub.com/vitejs/vite/commit/cdd9c23)), closes
[#&#8203;12833](https://togithub.com/vitejs/vite/issues/12833)
- fix(importAnalysis): warning on ExportAllDeclaration
([#&#8203;12799](https://togithub.com/vitejs/vite/issues/12799))
([5136b9b](https://togithub.com/vitejs/vite/commit/5136b9b)), closes
[#&#8203;12799](https://togithub.com/vitejs/vite/issues/12799)
- fix(optimizer): start optimizer after buildStart
([#&#8203;12832](https://togithub.com/vitejs/vite/issues/12832))
([cfe75ee](https://togithub.com/vitejs/vite/commit/cfe75ee)), closes
[#&#8203;12832](https://togithub.com/vitejs/vite/issues/12832)
- fix: handle try-catch for fs promise when resolve https config
([#&#8203;12808](https://togithub.com/vitejs/vite/issues/12808))
([0bba402](https://togithub.com/vitejs/vite/commit/0bba402)), closes
[#&#8203;12808](https://togithub.com/vitejs/vite/issues/12808)
- fix(build): correctly handle warning ignore list
([#&#8203;12831](https://togithub.com/vitejs/vite/issues/12831))
([8830532](https://togithub.com/vitejs/vite/commit/8830532)), closes
[#&#8203;12831](https://togithub.com/vitejs/vite/issues/12831)
- fix(resolve): use different importer check for css imports
([#&#8203;12815](https://togithub.com/vitejs/vite/issues/12815))
([d037327](https://togithub.com/vitejs/vite/commit/d037327)), closes
[#&#8203;12815](https://togithub.com/vitejs/vite/issues/12815)
- fix: ignore sideEffects for scripts imported from html
([#&#8203;12786](https://togithub.com/vitejs/vite/issues/12786))
([f09551f](https://togithub.com/vitejs/vite/commit/f09551f)), closes
[#&#8203;12786](https://togithub.com/vitejs/vite/issues/12786)
- fix: warn on build when bundling code that uses nodejs built in module
([#&#8203;12616](https://togithub.com/vitejs/vite/issues/12616))
([72050f9](https://togithub.com/vitejs/vite/commit/72050f9)), closes
[#&#8203;12616](https://togithub.com/vitejs/vite/issues/12616)
- fix(cli): pass mode to optimize command
([#&#8203;12776](https://togithub.com/vitejs/vite/issues/12776))
([da38ad8](https://togithub.com/vitejs/vite/commit/da38ad8)), closes
[#&#8203;12776](https://togithub.com/vitejs/vite/issues/12776)
- fix(css): resolve at import from dependency basedir
([#&#8203;12796](https://togithub.com/vitejs/vite/issues/12796))
([46bdf7d](https://togithub.com/vitejs/vite/commit/46bdf7d)), closes
[#&#8203;12796](https://togithub.com/vitejs/vite/issues/12796)
- fix(worker): asset in iife worker and relative base
([#&#8203;12697](https://togithub.com/vitejs/vite/issues/12697))
([ddefc06](https://togithub.com/vitejs/vite/commit/ddefc06)), closes
[#&#8203;12697](https://togithub.com/vitejs/vite/issues/12697)
- fix(worker): return null for shouldTransformCachedModule
([#&#8203;12797](https://togithub.com/vitejs/vite/issues/12797))
([ea5f6fc](https://togithub.com/vitejs/vite/commit/ea5f6fc)), closes
[#&#8203;12797](https://togithub.com/vitejs/vite/issues/12797)
- fix: allow onwarn to override vite default warning handling
([#&#8203;12757](https://togithub.com/vitejs/vite/issues/12757))
([f736930](https://togithub.com/vitejs/vite/commit/f736930)), closes
[#&#8203;12757](https://togithub.com/vitejs/vite/issues/12757)
- fix: ensure module in graph before transforming
([#&#8203;12774](https://togithub.com/vitejs/vite/issues/12774))
([44ad321](https://togithub.com/vitejs/vite/commit/44ad321)), closes
[#&#8203;12774](https://togithub.com/vitejs/vite/issues/12774)
- fix: update package cache watcher
([#&#8203;12772](https://togithub.com/vitejs/vite/issues/12772))
([a78588f](https://togithub.com/vitejs/vite/commit/a78588f)), closes
[#&#8203;12772](https://togithub.com/vitejs/vite/issues/12772)
- fix: avoid clean up while committing deps folder
([#&#8203;12722](https://togithub.com/vitejs/vite/issues/12722))
([3f4d109](https://togithub.com/vitejs/vite/commit/3f4d109)), closes
[#&#8203;12722](https://togithub.com/vitejs/vite/issues/12722)
- fix: ignore pnp resolve error
([#&#8203;12719](https://togithub.com/vitejs/vite/issues/12719))
([2d30ae5](https://togithub.com/vitejs/vite/commit/2d30ae5)), closes
[#&#8203;12719](https://togithub.com/vitejs/vite/issues/12719)
- fix: leave fully dynamic import.meta.url asset (fixes
[#&#8203;10306](https://togithub.com/vitejs/vite/issues/10306))
([#&#8203;10549](https://togithub.com/vitejs/vite/issues/10549))
([56802b1](https://togithub.com/vitejs/vite/commit/56802b1)), closes
[#&#8203;10306](https://togithub.com/vitejs/vite/issues/10306)
[#&#8203;10549](https://togithub.com/vitejs/vite/issues/10549)
- fix: output combined sourcemap in importAnalysisBuild plugin
([#&#8203;12642](https://togithub.com/vitejs/vite/issues/12642))
([d051639](https://togithub.com/vitejs/vite/commit/d051639)), closes
[#&#8203;12642](https://togithub.com/vitejs/vite/issues/12642)
- fix: take in relative assets path fixes from rollup
([#&#8203;12695](https://togithub.com/vitejs/vite/issues/12695))
([81e44dd](https://togithub.com/vitejs/vite/commit/81e44dd)), closes
[#&#8203;12695](https://togithub.com/vitejs/vite/issues/12695)
- fix: throws error when plugin tries to resolve ID to external URL
([#&#8203;11731](https://togithub.com/vitejs/vite/issues/11731))
([49674b5](https://togithub.com/vitejs/vite/commit/49674b5)), closes
[#&#8203;11731](https://togithub.com/vitejs/vite/issues/11731)
- fix(css): css file emit synchronously
([#&#8203;12558](https://togithub.com/vitejs/vite/issues/12558))
([8e30025](https://togithub.com/vitejs/vite/commit/8e30025)), closes
[#&#8203;12558](https://togithub.com/vitejs/vite/issues/12558)
- fix(import-analysis): escape quotes correctly
([#&#8203;12688](https://togithub.com/vitejs/vite/issues/12688))
([1638ebd](https://togithub.com/vitejs/vite/commit/1638ebd)), closes
[#&#8203;12688](https://togithub.com/vitejs/vite/issues/12688)
- fix(optimizer): load the correct lock file
([#&#8203;12700](https://togithub.com/vitejs/vite/issues/12700))
([889eebe](https://togithub.com/vitejs/vite/commit/889eebe)), closes
[#&#8203;12700](https://togithub.com/vitejs/vite/issues/12700)
- fix(server): delay ws server listen when restart
([#&#8203;12734](https://togithub.com/vitejs/vite/issues/12734))
([abe9274](https://togithub.com/vitejs/vite/commit/abe9274)), closes
[#&#8203;12734](https://togithub.com/vitejs/vite/issues/12734)
- fix(ssr): load sourcemaps alongside modules
([#&#8203;11780](https://togithub.com/vitejs/vite/issues/11780))
([be95050](https://togithub.com/vitejs/vite/commit/be95050)), closes
[#&#8203;11780](https://togithub.com/vitejs/vite/issues/11780)
- fix(ssr): show ssr module loader error stack
([#&#8203;12651](https://togithub.com/vitejs/vite/issues/12651))
([050c0f9](https://togithub.com/vitejs/vite/commit/050c0f9)), closes
[#&#8203;12651](https://togithub.com/vitejs/vite/issues/12651)
- fix(worker): disable manifest plugins in worker build
([#&#8203;12661](https://togithub.com/vitejs/vite/issues/12661))
([20b8ef4](https://togithub.com/vitejs/vite/commit/20b8ef4)), closes
[#&#8203;12661](https://togithub.com/vitejs/vite/issues/12661)
- fix(worker): worker import.meta.url should not depends on document in
iife mode
([#&#8203;12629](https://togithub.com/vitejs/vite/issues/12629))
([65f5ed2](https://togithub.com/vitejs/vite/commit/65f5ed2)), closes
[#&#8203;12629](https://togithub.com/vitejs/vite/issues/12629)
- fix: avoid temporal optimize deps dirs
([#&#8203;12582](https://togithub.com/vitejs/vite/issues/12582))
([ff92f2f](https://togithub.com/vitejs/vite/commit/ff92f2f)), closes
[#&#8203;12582](https://togithub.com/vitejs/vite/issues/12582)
- fix: await `buildStart` before server start
([#&#8203;12647](https://togithub.com/vitejs/vite/issues/12647))
([871d353](https://togithub.com/vitejs/vite/commit/871d353)), closes
[#&#8203;12647](https://togithub.com/vitejs/vite/issues/12647)
- fix: call `buildStart` only once when using next port
([#&#8203;12624](https://togithub.com/vitejs/vite/issues/12624))
([e10c6bd](https://togithub.com/vitejs/vite/commit/e10c6bd)), closes
[#&#8203;12624](https://togithub.com/vitejs/vite/issues/12624)
- fix: sourcemapIgnoreList for optimizedDeps
([#&#8203;12633](https://togithub.com/vitejs/vite/issues/12633))
([c1d3fc9](https://togithub.com/vitejs/vite/commit/c1d3fc9)), closes
[#&#8203;12633](https://togithub.com/vitejs/vite/issues/12633)
- fix: splitFileAndPostfix works as cleanUrl
([#&#8203;12572](https://togithub.com/vitejs/vite/issues/12572))
([276725f](https://togithub.com/vitejs/vite/commit/276725f)), closes
[#&#8203;12572](https://togithub.com/vitejs/vite/issues/12572)
- fix: throw error on build optimizeDeps issue
([#&#8203;12560](https://togithub.com/vitejs/vite/issues/12560))
([02a46d7](https://togithub.com/vitejs/vite/commit/02a46d7)), closes
[#&#8203;12560](https://togithub.com/vitejs/vite/issues/12560)
- fix: use nearest pkg to resolved for moduleSideEffects
([#&#8203;12628](https://togithub.com/vitejs/vite/issues/12628))
([1dfecc8](https://togithub.com/vitejs/vite/commit/1dfecc8)), closes
[#&#8203;12628](https://togithub.com/vitejs/vite/issues/12628)
- fix(css): use `charset: 'utf8'` by default for css
([#&#8203;12565](https://togithub.com/vitejs/vite/issues/12565))
([c20a064](https://togithub.com/vitejs/vite/commit/c20a064)), closes
[#&#8203;12565](https://togithub.com/vitejs/vite/issues/12565)
- fix(html): dont pretransform public scripts
([#&#8203;12650](https://togithub.com/vitejs/vite/issues/12650))
([4f0af3f](https://togithub.com/vitejs/vite/commit/4f0af3f)), closes
[#&#8203;12650](https://togithub.com/vitejs/vite/issues/12650)
- fix: avoid crash because of no access permission
([#&#8203;12552](https://togithub.com/vitejs/vite/issues/12552))
([eea1682](https://togithub.com/vitejs/vite/commit/eea1682)), closes
[#&#8203;12552](https://togithub.com/vitejs/vite/issues/12552)
- fix: esbuild complains with extra fields
([#&#8203;12516](https://togithub.com/vitejs/vite/issues/12516))
([7be0ba5](https://togithub.com/vitejs/vite/commit/7be0ba5)), closes
[#&#8203;12516](https://togithub.com/vitejs/vite/issues/12516)
- fix: escape replacements in clientInjections
([#&#8203;12486](https://togithub.com/vitejs/vite/issues/12486))
([3765067](https://togithub.com/vitejs/vite/commit/3765067)), closes
[#&#8203;12486](https://togithub.com/vitejs/vite/issues/12486)
- fix: open browser reuse logic
([#&#8203;12535](https://togithub.com/vitejs/vite/issues/12535))
([04d14af](https://togithub.com/vitejs/vite/commit/04d14af)), closes
[#&#8203;12535](https://togithub.com/vitejs/vite/issues/12535)
- fix: prevent error on not set location href
([#&#8203;12494](https://togithub.com/vitejs/vite/issues/12494))
([2fb8527](https://togithub.com/vitejs/vite/commit/2fb8527)), closes
[#&#8203;12494](https://togithub.com/vitejs/vite/issues/12494)
- fix: simplify prettyUrl
([#&#8203;12488](https://togithub.com/vitejs/vite/issues/12488))
([ebe5aa5](https://togithub.com/vitejs/vite/commit/ebe5aa5)), closes
[#&#8203;12488](https://togithub.com/vitejs/vite/issues/12488)
- fix(config): add random number to temp transpiled file
([#&#8203;12150](https://togithub.com/vitejs/vite/issues/12150))
([2b2ba61](https://togithub.com/vitejs/vite/commit/2b2ba61)), closes
[#&#8203;12150](https://togithub.com/vitejs/vite/issues/12150)
- fix(deps): update all non-major dependencies
([#&#8203;12389](https://togithub.com/vitejs/vite/issues/12389))
([3e60b77](https://togithub.com/vitejs/vite/commit/3e60b77)), closes
[#&#8203;12389](https://togithub.com/vitejs/vite/issues/12389)
- fix(html): public asset urls always being treated as paths (fix
[#&#8203;11857](https://togithub.com/vitejs/vite/issues/11857))
([#&#8203;11870](https://togithub.com/vitejs/vite/issues/11870))
([46d1352](https://togithub.com/vitejs/vite/commit/46d1352)), closes
[#&#8203;11857](https://togithub.com/vitejs/vite/issues/11857)
[#&#8203;11870](https://togithub.com/vitejs/vite/issues/11870)
- fix(ssr): hoist import statements to the top
([#&#8203;12274](https://togithub.com/vitejs/vite/issues/12274))
([33baff5](https://togithub.com/vitejs/vite/commit/33baff5)), closes
[#&#8203;12274](https://togithub.com/vitejs/vite/issues/12274)
- fix(ssr): hoist re-exports with imports
([#&#8203;12530](https://togithub.com/vitejs/vite/issues/12530))
([45549e4](https://togithub.com/vitejs/vite/commit/45549e4)), closes
[#&#8203;12530](https://togithub.com/vitejs/vite/issues/12530)
- fix: should generate Hi-res sourcemap for dev
([#&#8203;12501](https://togithub.com/vitejs/vite/issues/12501))
([1502617](https://togithub.com/vitejs/vite/commit/1502617)), closes
[#&#8203;12501](https://togithub.com/vitejs/vite/issues/12501)

##### Clean up

- refactor: simplify crawlEndFinder
([#&#8203;12868](https://togithub.com/vitejs/vite/issues/12868))
([31f8b51](https://togithub.com/vitejs/vite/commit/31f8b51)), closes
[#&#8203;12868](https://togithub.com/vitejs/vite/issues/12868)
- refactor: use simpler resolve for nested optimized deps
([#&#8203;12770](https://togithub.com/vitejs/vite/issues/12770))
([d202588](https://togithub.com/vitejs/vite/commit/d202588)), closes
[#&#8203;12770](https://togithub.com/vitejs/vite/issues/12770)
- refactor: `import.meta.url` condition from renderChunk hook of worker
plugin ([#&#8203;12696](https://togithub.com/vitejs/vite/issues/12696))
([fdef8fd](https://togithub.com/vitejs/vite/commit/fdef8fd)), closes
[#&#8203;12696](https://togithub.com/vitejs/vite/issues/12696)
- refactor: clean up preTransformRequest
([#&#8203;12672](https://togithub.com/vitejs/vite/issues/12672))
([561227c](https://togithub.com/vitejs/vite/commit/561227c)), closes
[#&#8203;12672](https://togithub.com/vitejs/vite/issues/12672)
- refactor: make debugger nullable
([#&#8203;12687](https://togithub.com/vitejs/vite/issues/12687))
([89e4977](https://togithub.com/vitejs/vite/commit/89e4977)), closes
[#&#8203;12687](https://togithub.com/vitejs/vite/issues/12687)
- refactor: remove `ensureVolumeInPath`
([#&#8203;12690](https://togithub.com/vitejs/vite/issues/12690))
([a3150ee](https://togithub.com/vitejs/vite/commit/a3150ee)), closes
[#&#8203;12690](https://togithub.com/vitejs/vite/issues/12690)
- refactor: remove unused exports data props
([#&#8203;12740](https://togithub.com/vitejs/vite/issues/12740))
([4538bfe](https://togithub.com/vitejs/vite/commit/4538bfe)), closes
[#&#8203;12740](https://togithub.com/vitejs/vite/issues/12740)
- refactor: use `resolvePackageData` in
`requireResolveFromRootWithFallback`
([#&#8203;12712](https://togithub.com/vitejs/vite/issues/12712))
([1ea38e2](https://togithub.com/vitejs/vite/commit/1ea38e2)), closes
[#&#8203;12712](https://togithub.com/vitejs/vite/issues/12712)
- refactor(css): simplify cached import code
([#&#8203;12730](https://togithub.com/vitejs/vite/issues/12730))
([0646754](https://togithub.com/vitejs/vite/commit/0646754)), closes
[#&#8203;12730](https://togithub.com/vitejs/vite/issues/12730)
- refactor: improve scanner logs
([#&#8203;12578](https://togithub.com/vitejs/vite/issues/12578))
([9925a72](https://togithub.com/vitejs/vite/commit/9925a72)), closes
[#&#8203;12578](https://togithub.com/vitejs/vite/issues/12578)
- refactor: isInNodeModules util
([#&#8203;12588](https://togithub.com/vitejs/vite/issues/12588))
([fb3245a](https://togithub.com/vitejs/vite/commit/fb3245a)), closes
[#&#8203;12588](https://togithub.com/vitejs/vite/issues/12588)
- refactor: remove `idToPkgMap`
([#&#8203;12564](https://togithub.com/vitejs/vite/issues/12564))
([a326ec8](https://togithub.com/vitejs/vite/commit/a326ec8)), closes
[#&#8203;12564](https://togithub.com/vitejs/vite/issues/12564)
- refactor: simplify lookupFile
([#&#8203;12585](https://togithub.com/vitejs/vite/issues/12585))
([4215e22](https://togithub.com/vitejs/vite/commit/4215e22)), closes
[#&#8203;12585](https://togithub.com/vitejs/vite/issues/12585)
- refactor: tryStatSync as util
([#&#8203;12575](https://togithub.com/vitejs/vite/issues/12575))
([92601db](https://togithub.com/vitejs/vite/commit/92601db)), closes
[#&#8203;12575](https://togithub.com/vitejs/vite/issues/12575)
- refactor: use findNearestPackageData in more places
([#&#8203;12577](https://togithub.com/vitejs/vite/issues/12577))
([35faae9](https://togithub.com/vitejs/vite/commit/35faae9)), closes
[#&#8203;12577](https://togithub.com/vitejs/vite/issues/12577)
- refactor: esbuild plugin config logic
([#&#8203;12493](https://togithub.com/vitejs/vite/issues/12493))
([45b5b0f](https://togithub.com/vitejs/vite/commit/45b5b0f)), closes
[#&#8203;12493](https://togithub.com/vitejs/vite/issues/12493)

##### Previous Changelogs

#####
[4.3.0-beta.8](https://togithub.com/vitejs/vite/compare/v4.3.0-beta.7....v4.3.0-beta.8)
(2023-04-19)

See [4.3.0-beta.8
changelog](https://togithub.com/vitejs/vite/blob/v4.3.0-beta.8/packages/vite/CHANGELOG.md)

#####
[4.3.0-beta.7](https://togithub.com/vitejs/vite/compare/v4.3.0-beta.6....v4.3.0-beta.7)
(2023-04-17)

See [4.3.0-beta.7
changelog](https://togithub.com/vitejs/vite/blob/v4.3.0-beta.7/packages/vite/CHANGELOG.md)

#####
[4.3.0-beta.6](https://togithub.com/vitejs/vite/compare/v4.3.0-beta.5....v4.3.0-beta.6)
(2023-04-14)

See [4.3.0-beta.6
changelog](https://togithub.com/vitejs/vite/blob/v4.3.0-beta.6/packages/vite/CHANGELOG.md)

#####
[4.3.0-beta.5](https://togithub.com/vitejs/vite/compare/v4.3.0-beta.4....v4.3.0-beta.5)
(2023-04-11)

See [4.3.0-beta.5
changelog](https://togithub.com/vitejs/vite/blob/v4.3.0-beta.5/packages/vite/CHANGELOG.md)

#####
[4.3.0-beta.4](https://togithub.com/vitejs/vite/compare/v4.3.0-beta.3....v4.3.0-beta.4)
(2023-04-09)

See [4.3.0-beta.4
changelog](https://togithub.com/vitejs/vite/blob/v4.3.0-beta.4/packages/vite/CHANGELOG.md)

#####
[4.3.0-beta.3](https://togithub.com/vitejs/vite/compare/v4.3.0-beta.2....v4.3.0-beta.3)
(2023-04-07)

See [4.3.0-beta.3
changelog](https://togithub.com/vitejs/vite/blob/v4.3.0-beta.3/packages/vite/CHANGELOG.md)

#####
[4.3.0-beta.2](https://togithub.com/vitejs/vite/compare/v4.3.0-beta.1....v4.3.0-beta.2)
(2023-04-05)

See [4.3.0-beta.2
changelog](https://togithub.com/vitejs/vite/blob/v4.3.0-beta.2/packages/vite/CHANGELOG.md)

#####
[4.3.0-beta.1](https://togithub.com/vitejs/vite/compare/v4.3.0-beta.0....v4.3.0-beta.1)
(2023-03-29)

See [4.3.0-beta.1
changelog](https://togithub.com/vitejs/vite/blob/v4.3.0-beta.1/packages/vite/CHANGELOG.md)

#####
[4.3.0-beta.0](https://togithub.com/vitejs/vite/compare/v4.2.1....v4.3.0-beta.0)
(2023-03-23)

See [4.3.0-beta.0
changelog](https://togithub.com/vitejs/vite/blob/v4.3.0-beta.0/packages/vite/CHANGELOG.md)

###
[`v4.2.2`](https://togithub.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small422-2023-04-18-small)

[Compare
Source](https://togithub.com/vitejs/vite/compare/v4.2.1...v4.2.2)

- fix: escape msg in render restricted error html, backport
[#&#8203;12889](https://togithub.com/vitejs/vite/issues/12889)
([8758c5c](https://togithub.com/vitejs/vite/commit/8758c5c)), closes
[#&#8203;12889](https://togithub.com/vitejs/vite/issues/12889)

###
[`v4.2.1`](https://togithub.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small421-2023-03-20-small)

[Compare
Source](9dbb7f7765...v4.2.1)

- fix: add `virtual:` to virtual module source map ignore
([#&#8203;12444](https://togithub.com/vitejs/vite/issues/12444))
([c4aa28f](https://togithub.com/vitejs/vite/commit/c4aa28f)), closes
[#&#8203;12444](https://togithub.com/vitejs/vite/issues/12444)
- fix(css): inject source content conditionally
([#&#8203;12449](https://togithub.com/vitejs/vite/issues/12449))
([3e665f6](https://togithub.com/vitejs/vite/commit/3e665f6)), closes
[#&#8203;12449](https://togithub.com/vitejs/vite/issues/12449)
- fix(worker): using data URLs for inline shared worker
([#&#8203;12014](https://togithub.com/vitejs/vite/issues/12014))
([79a5007](https://togithub.com/vitejs/vite/commit/79a5007)), closes
[#&#8203;12014](https://togithub.com/vitejs/vite/issues/12014)
- chore: changelog edits for 4.2
([#&#8203;12438](https://togithub.com/vitejs/vite/issues/12438))
([ce047e3](https://togithub.com/vitejs/vite/commit/ce047e3)), closes
[#&#8203;12438](https://togithub.com/vitejs/vite/issues/12438)

###
[`v4.2.0`](https://togithub.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#&#8203;420-2023-03-16)

[Compare
Source](https://togithub.com/vitejs/vite/compare/v4.1.4...9dbb7f7765fd7d255daf82ad44fe867d49f0befd)

Vite 4.2 is out!

##### Support env variables replacement in HTML files

Vite now supports [replacing env variables in HTML
files](https://vitejs.dev/guide/env-and-mode.html#html-env-replacement).
Any properties in `import.meta.env` can be used in HTML files with a
special `%ENV_NAME%` syntax:

```html
<h1>Vite is running in %MODE%</h1>
<p>Using data from %VITE_API_URL%</p>
```

##### Sourcemaps improvements

The Chrome Dev Tools team has been working to improve the DX of Vite and
Vite-powered frameworks in the dev tools. Vite 4.2 brings an [improved
experience](https://twitter.com/bmeurer/status/1631286267823439881) and
tools for framework authors to [hide 3rd party code and build artifacts
from the user](https://twitter.com/bmeurer/status/1631531492462526467)
from console log traces using
[`server.sourcemapIgnoreList`](https://vitejs.dev/config/server-options.html#server-sourcemapignorelist)
and
[`build.rollupOptions.output.sourcemapIgnoreList`](https://rollupjs.org/configuration-options/#output-sourcemapignorelist).

##### ESM subpath imports

Vite 4.2 now supports [subpath
imports](https://nodejs.org/api/packages.html#subpath-imports), thanks
to [@&#8203;lukeed05](https://twitter.com/lukeed05)'s
[resolve.exports](https://togithub.com/lukeed/resolve.exports) library.

##### TypeScript 5 support

Vite 4.2 also supports TypeScript 5's `tsconfig` `extends` [array
format](https://devblogs.microsoft.com/typescript/announcing-typescript-5-0-beta/#supporting-multiple-configuration-files-in-extends),
thanks to [tsconfck](https://togithub.com/dominikg/tsconfck).

##### esbuild 0.17

esbuild
[v0.17.0](https://togithub.com/evanw/esbuild/releases/tag/v0.17.0)
improved the design of its incremental, watch, and serve APIs. Check out
[#&#8203;11908](https://togithub.com/vitejs/vite/pull/11908) for the
rationale of why we didn't consider the backward-incompatible changes
breaking for our use cases. The updated esbuild design now allows Vite
to properly cancel in-fly builds and improve server restarts.

##### Use Rollup types from the vite package

Expose Rollup types as a namespace. This is helpful to avoid type
conflicts because of different versions of Rollup types in environments
like [vite-ecosystem-ci](https://togithub.com/vitejs/vite-ecosystem-ci)
([#&#8203;12316](https://togithub.com/vitejs/vite/issues/12316)).

```ts
import type { Rollup } from 'vite'
```

##### Português Docs Translation

The Vite documentation is now translated to Português at
[pt.vitejs.dev](https://pt.vitejs.dev) thanks to [Nazaré Da
Piedade](https://twitter.com/nazarepiedady) .

##### Features

- feat: add status message for 504 caused by optimizer
([#&#8203;12435](https://togithub.com/vitejs/vite/issues/12435))
([5cdd3fa](https://togithub.com/vitejs/vite/commit/5cdd3fa)), closes
[#&#8203;12435](https://togithub.com/vitejs/vite/issues/12435)
- feat: update tsconfck to 2.1.0 to add support for typescript 5 config
syntax ([#&#8203;12401](https://togithub.com/vitejs/vite/issues/12401))
([3f1c379](https://togithub.com/vitejs/vite/commit/3f1c379)), closes
[#&#8203;12401](https://togithub.com/vitejs/vite/issues/12401)
- feat: default esbuild jsxDev based on config.isProduction
([#&#8203;12386](https://togithub.com/vitejs/vite/issues/12386))
([f24c2b0](https://togithub.com/vitejs/vite/commit/f24c2b0)), closes
[#&#8203;12386](https://togithub.com/vitejs/vite/issues/12386)
- feat(css): add `build.cssMinify`
([#&#8203;12207](https://togithub.com/vitejs/vite/issues/12207))
([90431f2](https://togithub.com/vitejs/vite/commit/90431f2)), closes
[#&#8203;12207](https://togithub.com/vitejs/vite/issues/12207)
- feat(types): export Rollup namespace
([#&#8203;12316](https://togithub.com/vitejs/vite/issues/12316))
([6e49e52](https://togithub.com/vitejs/vite/commit/6e49e52)), closes
[#&#8203;12316](https://togithub.com/vitejs/vite/issues/12316)
- feat: add `sourcemapIgnoreList` configuration option
([#&#8203;12174](https://togithub.com/vitejs/vite/issues/12174))
([f875580](https://togithub.com/vitejs/vite/commit/f875580)), closes
[#&#8203;12174](https://togithub.com/vitejs/vite/issues/12174)
- feat: cancellable scan during optimization
([#&#8203;12225](https://togithub.com/vitejs/vite/issues/12225))
([1e1cd3b](https://togithub.com/vitejs/vite/commit/1e1cd3b)), closes
[#&#8203;12225](https://togithub.com/vitejs/vite/issues/12225)
- feat: don't override `build.target` if terser is 5.16.0+
([#&#8203;12197](https://togithub.com/vitejs/vite/issues/12197))
([9885f6f](https://togithub.com/vitejs/vite/commit/9885f6f)), closes
[#&#8203;12197](https://togithub.com/vitejs/vite/issues/12197)
- feat: support ESM subpath imports
([#&#8203;7770](https://togithub.com/vitejs/vite/issues/7770))
([cc92da9](https://togithub.com/vitejs/vite/commit/cc92da9)), closes
[#&#8203;7770](https://togithub.com/vitejs/vite/issues/7770)
- feat(css): add preprocessor option to define stylus vars & funcs
([#&#8203;7227](https://togithub.com/vitejs/vite/issues/7227))
([5968bec](https://togithub.com/vitejs/vite/commit/5968bec)), closes
[#&#8203;7227](https://togithub.com/vitejs/vite/issues/7227)
- feat(css): support resolving stylesheets from exports map
([#&#8203;7817](https://togithub.com/vitejs/vite/issues/7817))
([108aadf](https://togithub.com/vitejs/vite/commit/108aadf)), closes
[#&#8203;7817](https://togithub.com/vitejs/vite/issues/7817)
- feat(html): support env replacement
([#&#8203;12202](https://togithub.com/vitejs/vite/issues/12202))
([4f2c49f](https://togithub.com/vitejs/vite/commit/4f2c49f)), closes
[#&#8203;12202](https://togithub.com/vitejs/vite/issues/12202)
- refactor: customize ErrorOverlay (part 2)
([#&#8203;11830](https://togithub.com/vitejs/vite/issues/11830))
([4159e6f](https://togithub.com/vitejs/vite/commit/4159e6f)), closes
[#&#8203;11830](https://togithub.com/vitejs/vite/issues/11830)
- refactor: remove constructed sheet type style injection
([#&#8203;11818](https://togithub.com/vitejs/vite/issues/11818))
([1a6a0c2](https://togithub.com/vitejs/vite/commit/1a6a0c2)), closes
[#&#8203;11818](https://togithub.com/vitejs/vite/issues/11818)
- refactor(importAnalysis): cache injected env string
([#&#8203;12154](https://togithub.com/vitejs/vite/issues/12154))
([2aad552](https://togithub.com/vitejs/vite/commit/2aad552)), closes
[#&#8203;12154](https://togithub.com/vitejs/vite/issues/12154)
- feat: esbuild 0.17
([#&#8203;11908](https://togithub.com/vitejs/vite/issues/11908))
([9d42f06](https://togithub.com/vitejs/vite/commit/9d42f06)), closes
[#&#8203;11908](https://togithub.com/vitejs/vite/issues/11908)
- feat: ignore list client injected sources
([#&#8203;12170](https://togithub.com/vitejs/vite/issues/12170))
([8a98aef](https://togithub.com/vitejs/vite/commit/8a98aef)), closes
[#&#8203;12170](https://togithub.com/vitejs/vite/issues/12170)
- feat: support rollup plugin `this.load` in plugin container context
([#&#8203;11469](https://togithub.com/vitejs/vite/issues/11469))
([abfa804](https://togithub.com/vitejs/vite/commit/abfa804)), closes
[#&#8203;11469](https://togithub.com/vitejs/vite/issues/11469)
- feat(cli): allow to specify sourcemap mode via --sourcemap build's
option ([#&#8203;11505](https://togithub.com/vitejs/vite/issues/11505))
([ee3b90a](https://togithub.com/vitejs/vite/commit/ee3b90a)), closes
[#&#8203;11505](https://togithub.com/vitejs/vite/issues/11505)
- feat(reporter): report built time
([#&#8203;12100](https://togithub.com/vitejs/vite/issues/12100))
([f2ad222](https://togithub.com/vitejs/vite/commit/f2ad222)), closes
[#&#8203;12100](https://togithub.com/vitejs/vite/issues/12100)

##### Bug Fixes

- fix: html env replacement plugin position
([#&#8203;12404](https://togithub.com/vitejs/vite/issues/12404))
([96f36a9](https://togithub.com/vitejs/vite/commit/96f36a9)), closes
[#&#8203;12404](https://togithub.com/vitejs/vite/issues/12404)
- fix(optimizer): # symbol in deps id stripped by browser
([#&#8203;12415](https://togithub.com/vitejs/vite/issues/12415))
([e23f690](https://togithub.com/vitejs/vite/commit/e23f690)), closes
[#&#8203;12415](https://togithub.com/vitejs/vite/issues/12415)
- fix(resolve): rebase sub imports relative path
([#&#8203;12373](https://togithub.com/vitejs/vite/issues/12373))
([fe1d61a](https://togithub.com/vitejs/vite/commit/fe1d61a)), closes
[#&#8203;12373](https://togithub.com/vitejs/vite/issues/12373)
- fix(server): should close server after create new server
([#&#8203;12379](https://togithub.com/vitejs/vite/issues/12379))
([d23605d](https://togithub.com/vitejs/vite/commit/d23605d)), closes
[#&#8203;12379](https://togithub.com/vitejs/vite/issues/12379)
- fix(resolve): remove deep import syntax handling
([#&#8203;12381](https://togithub.com/vitejs/vite/issues/12381))
([42e0d6a](https://togithub.com/vitejs/vite/commit/42e0d6a)), closes
[#&#8203;12381](https://togithub.com/vitejs/vite/issues/12381)
- fix: print urls when dns order change
([#&#8203;12261](https://togithub.com/vitejs/vite/issues/12261))
([e57cacf](https://togithub.com/vitejs/vite/commit/e57cacf)), closes
[#&#8203;12261](https://togithub.com/vitejs/vite/issues/12261)
- fix: throw ssr import error directly (fix
[#&#8203;12322](https://togithub.com/vitejs/vite/issues/12322))
([#&#8203;12324](https://togithub.com/vitejs/vite/issues/12324))
([21ffc6a](https://togithub.com/vitejs/vite/commit/21ffc6a)), closes
[#&#8203;12322](https://togithub.com/vitejs/vite/issues/12322)
[#&#8203;12324](https://togithub.com/vitejs/vite/issues/12324)
- fix(config): watch config even outside of root
([#&#8203;12321](https://togithub.com/vitejs/vite/issues/12321))
([7e2fff7](https://togithub.com/vitejs/vite/commit/7e2fff7)), closes
[#&#8203;12321](https://togithub.com/vitejs/vite/issues/12321)
- fix(config): watch envDir even outside of root
([#&#8203;12349](https://togithub.com/vitejs/vite/issues/12349))
([131f3ee](https://togithub.com/vitejs/vite/commit/131f3ee)), closes
[#&#8203;12349](https://togithub.com/vitejs/vite/issues/12349)
- fix(define): correctly replace SSR in dev
([#&#8203;12204](https://togithub.com/vitejs/vite/issues/12204))
([0f6de4d](https://togithub.com/vitejs/vite/commit/0f6de4d)), closes
[#&#8203;12204](https://togithub.com/vitejs/vite/issues/12204)
- fix(optimizer): suppress esbuild cancel error
([#&#8203;12358](https://togithub.com/vitejs/vite/issues/12358))
([86a24e4](https://togithub.com/vitejs/vite/commit/86a24e4)), closes
[#&#8203;12358](https://togithub.com/vitejs/vite/issues/12358)
- fix(optimizer): transform css require to import directly
([#&#8203;12343](https://togithub.com/vitejs/vite/issues/12343))
([716286e](https://togithub.com/vitejs/vite/commit/716286e)), closes
[#&#8203;12343](https://togithub.com/vitejs/vite/issues/12343)
- fix(reporter): build.assetsDir should not impact output when in lib
mode ([#&#8203;12108](https://togithub.com/vitejs/vite/issues/12108))
([b12f457](https://togithub.com/vitejs/vite/commit/b12f457)), closes
[#&#8203;12108](https://togithub.com/vitejs/vite/issues/12108)
- fix(types): avoid resolve.exports types for bundling
([#&#8203;12346](https://togithub.com/vitejs/vite/issues/12346))
([6b40f03](https://togithub.com/vitejs/vite/commit/6b40f03)), closes
[#&#8203;12346](https://togithub.com/vitejs/vite/issues/12346)
- fix(worker): force rollup to build worker module under watch mode
([#&#8203;11919](https://togithub.com/vitejs/vite/issues/11919))
([d464679](https://togithub.com/vitejs/vite/commit/d464679)), closes
[#&#8203;11919](https://togithub.com/vitejs/vite/issues/11919)
- fix: resolve browser mapping using bare imports (fix
[#&#8203;11208](https://togithub.com/vitejs/vite/issues/11208))
([#&#8203;11219](https://togithub.com/vitejs/vite/issues/11219))
([22de84f](https://togithub.com/vitejs/vite/commit/22de84f)), closes
[#&#8203;11208](https://togithub.com/vitejs/vite/issues/11208)
[#&#8203;11219](https://togithub.com/vitejs/vite/issues/11219)
- fix: avoid null sourcePath in `server.sourcemapIgnoreList`
([#&#8203;12251](https://togithub.com/vitejs/vite/issues/12251))
([209c3bd](https://togithub.com/vitejs/vite/commit/209c3bd)), closes
[#&#8203;12251](https://togithub.com/vitejs/vite/issues/12251)
- fix: configure proxy before subscribing to error events
([#&#8203;12263](https://togithub.com/vitejs/vite/issues/12263))
([c35e100](https://togithub.com/vitejs/vite/commit/c35e100)), closes
[#&#8203;12263](https://togithub.com/vitejs/vite/issues/12263)
- fix: enforce absolute path for server.sourcemapIgnoreList
([#&#8203;12309](https://togithub.com/vitejs/vite/issues/12309))
([ab6ae07](https://togithub.com/vitejs/vite/commit/ab6ae07)), closes
[#&#8203;12309](https://togithub.com/vitejs/vite/issues/12309)
- fix: handle error without line and column in loc
([#&#8203;12312](https://togithub.com/vitejs/vite/issues/12312))
([ce18eba](https://togithub.com/vitejs/vite/commit/ce18eba)), closes
[#&#8203;12312](https://togithub.com/vitejs/vite/issues/12312)
- fix: properly clean up optimization temp folder
([#&#8203;12237](https://togithub.com/vitejs/vite/issues/12237))
([fbbf8fe](https://togithub.com/vitejs/vite/commit/fbbf8fe)), closes
[#&#8203;12237](https://togithub.com/vitejs/vite/issues/12237)
- fix: unique dep optimizer temp folders
([#&#8203;12252](https://togithub.com/vitejs/vite/issues/12252))
([38ce81c](https://togithub.com/vitejs/vite/commit/38ce81c)), closes
[#&#8203;12252](https://togithub.com/vitejs/vite/issues/12252)
- fix(build-import-analysis): should not append ?used when css request
has ?url or ?raw
([#&#8203;11910](https://togithub.com/vitejs/vite/issues/11910))
([e3f725f](https://togithub.com/vitejs/vite/commit/e3f725f)), closes
[#&#8203;11910](https://togithub.com/vitejs/vite/issues/11910)
- fix(optimizer): don not call context.rebuild after cancel
([#&#8203;12264](https://togithub.com/vitejs/vite/issues/12264))
([520d84e](https://togithub.com/vitejs/vite/commit/520d84e)), closes
[#&#8203;12264](https://togithub.com/vitejs/vite/issues/12264)
- fix(resolve): update `resolve.exports` to `2.0.1` to fix `*`
resolution issue
([#&#8203;12314](https://togithub.com/vitejs/vite/issues/12314))
([523d6f7](https://togithub.com/vitejs/vite/commit/523d6f7)), closes
[#&#8203;12314](https://togithub.com/vitejs/vite/issues/12314)
- fix: use relative paths in `sources` for transformed source maps
([#&#8203;12079](https://togithub.com/vitejs/vite/issues/12079))
([bcbc582](https://togithub.com/vitejs/vite/commit/bcbc582)), closes
[#&#8203;1

</details>

---

### Configuration

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

🚦 **Automerge**: Enabled.

♻ **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 has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://app.renovatebot.com/dashboard#github/Unleash/unleash).

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

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-05-04 18:06:22 +00:00
.do
.github docs: Metrics tag openapi docs (#3572) 2023-04-26 12:10:57 +02:00
.husky
coverage feat: Instance stats for export/import (#3121) 2023-02-15 14:39:16 +02:00
docker chore: update to node 18 (#3527) 2023-04-18 10:35:32 +02:00
docs/api/oas docs: Remove/update references to Heroku (#2099) 2022-10-19 12:02:00 +00:00
examples
frontend chore(deps): update dependency vite to v4.3.3 (#3680) 2023-05-04 18:06:22 +00:00
perf
scripts feat: promote toggles script (#3639) 2023-04-28 09:08:12 +02:00
src chore: deprecate username on api-tokens (#3616) 2023-05-04 09:56:00 +02:00
website chore(deps): update dependency trim-newlines to v4.1.1 (#3678) 2023-05-04 11:34:04 +00:00
.dockerignore
.editorconfig
.eslintignore Feat/add change request settings (#2390) 2022-11-11 10:09:25 +02:00
.eslintrc chore: add linter rules for regexp (#3500) 2023-04-17 07:11:22 +00:00
.gitignore Test npm publish (#3554) 2023-04-18 15:44:19 +02:00
.lycheeignore chore: ignore Twitter link from being checked (#2971) 2023-01-23 22:09:28 +01:00
.mergify.yml chore: mergify (#3631) 2023-04-26 16:07:34 +02:00
.node-version chore: update node-version file (#3562) 2023-04-21 09:25:10 +02:00
.nvmrc chore: update to node 18 (#3527) 2023-04-18 10:35:32 +02:00
.prettierignore
app.json fix: tell heroku to not build in production mode 2022-10-18 21:35:50 +02:00
CHANGELOG.md
CODE_OF_CONDUCT.md
CONTRIBUTING.md docs: update documentation and dev server use of passord (#3564) 2023-04-19 13:29:18 +02:00
docker-compose.yml Update docker-compose.yml (#3256) 2023-03-06 14:30:28 +01:00
Dockerfile feat: set timezone to utc (#3666) 2023-05-03 10:25:56 +03:00
LICENSE
package.json 5.1.0-beta.20 2023-05-04 07:56:21 +00:00
README.md added flutter documentation (#2736) 2023-01-03 13:07:01 +01:00
renovate.json feat: wait for deps to be somewhat stable (#2768) 2023-01-05 12:45:48 +01:00
tsconfig.json chore: enable strictNullCheck but ignore problems at compile time (#3273) 2023-03-10 10:27:56 +01:00
yarn.lock chore(deps): update dependency lint-staged to v13.2.2 (#3673) 2023-05-03 23:53:57 +00:00

About Unleash

Unleash is an open source feature management solution. It improves the workflow of your development team and leads to quicker software delivery. Unleash increases efficiency and gives teams full control of how and when they enable new functionality for end users. Unleash lets teams ship code to production in smaller releases whenever they want.

Feature toggles make it easy to test how your code works with real production data without the fear that you'll accidentally break your users' experience. It also helps your team work on multiple features in parallel without each maintaining an separate feature branch.

Unleash is the largest open source solution for feature flagging on GitHub. There's 12 official client and server SDKs and 10+ community SDKs available; you can even make your own if you want to. You can use Unleash with any language and any framework.


Get started in 2 steps

1. Start Unleash

With git and docker installed, it's easy to get started:

Run this script:

git clone git@github.com:Unleash/unleash.git
cd unleash
docker compose up -d

Then point your browser to localhost:4242 and log in using:

  • username: admin
  • password: unleash4all

If you'd rather run the source code in this repo directly via Node.js, see the step-by-step instructions to get up and running in the contributing guide.

2. Connect your SDK

Find your preferred SDK in our list of official SDKs and import it into your project. Follow the setup guides for your specific SDK.

If you use the docker compose file from the previous step, here's the configuration details you'll need to get going:

  • For front-end SDKs, use:
    • URL: http://localhost:4242/api/frontend/
    • clientKey: default:development.unleash-insecure-frontend-api-token
  • For server-side SDKs, use:
    • Unleash API URL: http://localhost:4242/api/
    • API token: default:development.unleash-insecure-api-token

If you use a different setup, your configuration details will most likely also be different.

Check a feature toggle

Checking the state of a feature toggle in your code is easy! The syntax will vary depending on your language, but all you need is a simple function call to check whether a toggle is available. Here's how it might look in Java:

if (unleash.isEnabled("AwesomeFeature")) {
  // do new, flashy thing
} else {
  // do old, boring stuff
}

Run Unleash on a service?

If you don't want to run Unleash locally, we also provide easy deployment setups for Heroku and Digital Ocean:

Deploy to Heroku Deploy to DigitalOcean

Configure and run Unleash anywhere

The above sections show you how to get up and running quickly and easily. When you're ready to start configuring and customizing Unleash for your own environment, check out the documentation for getting started with self-managed deployments, Unleash configuration options, or running Unleash locally via docker.


Online demo

Try out the Unleash online demo.

The Unleash online demo


Community and help — sharing is caring

We know that learning a new tool can be hard and time-consuming. We have a growing community that loves to help out. Please don't hesitate to reach out for help.

Join Unleash on Slack

💬 Join Unleash on Slack if you want ask open questions about Unleash, feature toggling or discuss these topics in general.

💻 Create a GitHub issue if you have found a bug or have ideas on how to improve Unleash.

📚 Visit the documentation for more in-depth descriptions, how-to guides, and more.


Contribute to Unleash

Building Unleash is a collaborative effort, and we owe a lot of gratitude to many smart and talented individuals. Building it together with community ensures that we build a product that solves real problems for real people. We'd love to have your help too: Please feel free to open issues or provide pull requests.

Check out the CONTRIBUTING.md file for contribution guidelines and the Unleash developer guide for tips on environment setup, running the tests, and running Unleash from source.

Contributors

The Unleash contributors


Features our users love

Flexibility and adaptability

Security and performance

  • Privacy by design (GDPR and Schrems II). End-user data never leaves your application.
  • Audit logs
  • Enforce OWASP's secure headers via the strict HTTPS-only mode
  • Flexible hosting options: host it on premise or in the cloud (any cloud)
  • Scale the Unleash Proxy independently of the Unleash server to support any number of front-end clients without overloading your Unleash instance

Looking for more features?

If you're looking for one of the following features, please take a look at our Pro and Enterprise plans:


Architecture

Read more in the system overview section of the Unleash documentation.


Unleash SDKs

To connect your application to Unleash you'll need to use a client SDK for your programming language.

Official server-side SDKs:

Official front-end SDKs:

The front-end SDKs connects via the Unleash Proxy in order to ensure privacy, scalability and security.

Community SDKs:

If none of the official SDKs fit your need, there's also a number of community-developed SDKs where you might find an implementation for your preferred language (such as Elixir, Dart, Clojure, and more).


Users of Unleash

Unleash is trusted by thousands of companies all over the world.

Proud Open-Source users: (send us a message if you want to add your logo here)

The Unleash logo encircled by logos for Finn.no, nav (the Norwegian Labour and Welfare Administration), Budgets, Otovo, and Amedia. The encircling logos are all connected to the Unleash logo.


Migration guides

Unleash has evolved significantly over the past few years, and we know how hard it can be to keep software up to date. If you're using the current major version, upgrading shouldn't be an issue. If you're on a previous major version, check out the Unleash migration guide!


Want to know more about Unleash?

Videos and podcasts

Articles and more