diff --git a/.git-blame-ignore-revs b/.git-blame-ignore-revs
index f4e0944ac..cc4b5557c 100644
--- a/.git-blame-ignore-revs
+++ b/.git-blame-ignore-revs
@@ -5,6 +5,8 @@
# See https://git-scm.com/docs/git-blame#Documentation/git-blame.txt---ignore-revs-fileltfilegt
# Prettier bump after release
+# 2.8.0
+4049e49fe2a939facd6f46be338a3be9c1c0489e
# 2.7.1
1f9baef429df2516ff8eb835fd8c020b5e854a5f
# 2.7.0
diff --git a/.github/ISSUE_TEMPLATE/formatting.md b/.github/ISSUE_TEMPLATE/formatting.md
index 8c834ef3c..d18cacd6a 100644
--- a/.github/ISSUE_TEMPLATE/formatting.md
+++ b/.github/ISSUE_TEMPLATE/formatting.md
@@ -26,7 +26,7 @@ Don't fill the form below manually! Let a program create a report for you:
-->
-**Prettier 2.7.1**
+**Prettier 2.8.0**
[Playground link](https://prettier.io/playground/#.....)
```sh
diff --git a/.github/ISSUE_TEMPLATE/integration.md b/.github/ISSUE_TEMPLATE/integration.md
index 5ad85c7f6..d310b9699 100644
--- a/.github/ISSUE_TEMPLATE/integration.md
+++ b/.github/ISSUE_TEMPLATE/integration.md
@@ -20,7 +20,7 @@ BEFORE SUBMITTING AN ISSUE:
**Environments:**
-- Prettier Version: 2.7.1
+- Prettier Version: 2.8.0
- Running Prettier via:
- Runtime:
- Operating System:
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 2f0c74018..f2b90c496 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,9 @@
+# 2.8.0
+
+[diff](https://github.com/prettier/prettier/compare/2.7.1...2.8.0)
+
+đź”— [Release Notes](https://prettier.io/blog/2022/11/23/2.8.0.html)
+
# 2.7.1
[diff](https://github.com/prettier/prettier/compare/2.7.0...2.7.1)
diff --git a/changelog_unreleased/angular/13100.md b/changelog_unreleased/angular/13100.md
deleted file mode 100644
index 06c2e3c30..000000000
--- a/changelog_unreleased/angular/13100.md
+++ /dev/null
@@ -1,19 +0,0 @@
-#### Insert spaces in pipe (#13100 by @sosukesuzuki)
-
-
-```html
-
-
-
-
-
-
-
-
-```
diff --git a/changelog_unreleased/api/10183.md b/changelog_unreleased/api/10183.md
deleted file mode 100644
index 9807e453e..000000000
--- a/changelog_unreleased/api/10183.md
+++ /dev/null
@@ -1,3 +0,0 @@
-#### "Doc Explorer" mode for the Playground (#10183 by @thorn0)
-
-Switch the `parser` option to the special `doc-explorer` value to play with Prettier's intermediate representation and see how it's printed with different options.
diff --git a/changelog_unreleased/api/12362.md b/changelog_unreleased/api/12362.md
deleted file mode 100644
index 3bd000439..000000000
--- a/changelog_unreleased/api/12362.md
+++ /dev/null
@@ -1,19 +0,0 @@
-#### Fix doc printer issue when using `ifBreak` inside `group` (#12362 by @fisker)
-
-
-```jsx
-// Input
-// |80
-for (const number of [123_123_123, 123_123_123, 123_123_123, 123_123_123, 12]) {
-}
-
-// Prettier stable
-for (const number of [
- 123_123_123, 123_123_123, 123_123_123, 123_123_123, 12,
-]) {
-}
-
-// Prettier main
-for (const number of [123_123_123, 123_123_123, 123_123_123, 123_123_123, 12]) {
-}
-```
diff --git a/changelog_unreleased/api/13227.md b/changelog_unreleased/api/13227.md
deleted file mode 100644
index 73b1fa5dc..000000000
--- a/changelog_unreleased/api/13227.md
+++ /dev/null
@@ -1,3 +0,0 @@
-#### "Rethrow embed errors" checkbox on the Playground (#13227 by @thorn0)
-
-Previously, the behavior of the Playground was confusingly inconsistent with the local behavior of Prettier in that it surfaced parsing errors in embedded languages for debug purposes. Now this behavior is controlled by a checkbox and disabled by default.
diff --git a/changelog_unreleased/cli/13016.md b/changelog_unreleased/cli/13016.md
deleted file mode 100644
index 1f5cff2c0..000000000
--- a/changelog_unreleased/cli/13016.md
+++ /dev/null
@@ -1,29 +0,0 @@
-#### Fix `--cache` set only if with `--write` or `--no-different` (#13016 by @Milly)
-
-Do not save formatted cache if without `--write` option and the file is modifies by prettier.
-
-Before fixed, always save formatted cache if with `--cache` option.
-Therefore, unformatted files will never be formatted.
-
-**2.7:**
-
-```
-> prettier --cache foo.js
-# Show formatted contents of `foo.js`.
-# Then the cache is created and `foo.js` is flagged as already formatted.
-
-> prettier --cache --write foo.js
-foo.js 2ms (cached)
-# "... (cached)" means that the file is already formatted and do nothing this time.
-```
-
-**2.8:**
-
-```
-> prettier --cache foo.js
-# Show formatted contents of `foo.js`.
-
-> prettier --cache --write foo.js
-foo.js 2ms
-# `foo.js` has
-```
diff --git a/changelog_unreleased/cli/13019.md b/changelog_unreleased/cli/13019.md
deleted file mode 100644
index bb4f81b2b..000000000
--- a/changelog_unreleased/cli/13019.md
+++ /dev/null
@@ -1,9 +0,0 @@
-#### Add `--cache-location` option (#13019 by @sosukesuzuki)
-
-Path to the cache file location used by `--cache` flag. If you don't explicit `--cache-location`, Prettier saves cache file at `./node_modules/.cache/prettier/.prettier-cache`.
-
-If a file path is passed, that file is used as the cache file.
-
-```bash
-prettier --write --cache --cache-location=my_cache_file src
-```
diff --git a/changelog_unreleased/cli/13081.md b/changelog_unreleased/cli/13081.md
deleted file mode 100644
index 67acee028..000000000
--- a/changelog_unreleased/cli/13081.md
+++ /dev/null
@@ -1,3 +0,0 @@
-#### Infer parser for `.lintstagedrc` (#13081 by @OrRosenblatt)
-
-A `.lintstagedrc` file (without extension) is handled using `json` and `yaml` parsers.
diff --git a/changelog_unreleased/css/13577.md b/changelog_unreleased/css/13577.md
deleted file mode 100644
index e19fe8491..000000000
--- a/changelog_unreleased/css/13577.md
+++ /dev/null
@@ -1,32 +0,0 @@
-#### Fix formatting of long `:is`, `:where`, and `:not` selectors (#13577 by @j-f1)
-
-Pseudo-selectors like `:is`, `:where`, and `:not` that can take multiple selectors as arguments are now formatted like function calls are in other languages. Previously, no special significance was attached to the commas between their “arguments,” leading to confusing wrapping behavior. There are likely still improvements to be made here — please open an issue with some example code if you find something that doesn’t look as expected.
-
-
-```css
-/* Input */
-:where(
- label > input:valid,
- label > textarea:not(:empty),
- label > button[disabled]
-) ~ .errors > .error { display: none; }
-
-/* Prettier stable */
-:where(label > input:valid, label > textarea:not(:empty), label
- > button[disabled])
- ~ .errors
- > .error {
- display: none;
-}
-
-/* Prettier main */
-:where(
- label > input:valid,
- label > textarea:not(:empty),
- label > button[disabled]
- )
- ~ .errors
- > .error {
- display: none;
-}
-```
diff --git a/changelog_unreleased/handlebars/13507.md b/changelog_unreleased/handlebars/13507.md
deleted file mode 100644
index 4a67473eb..000000000
--- a/changelog_unreleased/handlebars/13507.md
+++ /dev/null
@@ -1,33 +0,0 @@
-#### Correctly format custom "else if" blocks (#13507 by @jamescdavis)
-
-A template transform can be used to create custom block keywords that behave similar to `if`. This updates printer-glimmer to correctly recognize and format the "else if" case when "if" is a custom keyword.
-
-
-```hbs
-{{! Input }}
-{{#when isAtWork}}
- Ship that code!
-{{else when isReading}}
- You can finish War and Peace eventually...
-{{else}}
- Go to bed!
-{{/when}}
-
-{{! Prettier stable }}
-{{#when isAtWork}}
- Ship that code!
-{{else}}{{#when isReading}}
- You can finish War and Peace eventually...
- {{else}}
- Go to bed!
- {{/when}}{{/when}}
-
-{{! Prettier main }}
-{{#when isAtWork}}
- Ship that code!
-{{else when isReading}}
- You can finish War and Peace eventually...
-{{else}}
- Go to bed!
-{{/when}}
-```
diff --git a/changelog_unreleased/javascript/13054.md b/changelog_unreleased/javascript/13054.md
deleted file mode 100644
index 6fddc71be..000000000
--- a/changelog_unreleased/javascript/13054.md
+++ /dev/null
@@ -1,28 +0,0 @@
-#### Fix docblock parsing (#13054 by @fisker)
-
-
-```jsx
-// With `--insert-pragma` flag
-
-// Input
-/* comment */
-foo()
-
-// Prettier stable
-/**
- * /* comment
- *
- * @format
- */
-
-foo();
-
-// Prettier main
-/**
- * comment
- *
- * @format
- */
-
-foo();
-```
diff --git a/changelog_unreleased/javascript/13173.md b/changelog_unreleased/javascript/13173.md
deleted file mode 100644
index 505e8b71a..000000000
--- a/changelog_unreleased/javascript/13173.md
+++ /dev/null
@@ -1,20 +0,0 @@
-#### Fix range format for function bodies (#13173 by @thorn0)
-
-
-```jsx
-// Input
-let fn = (() => {
- return; //
-//^^^^^^^^^^ - range
-});
-
-// Prettier stable
-let fn = (() => {
- return; //
-};);
-
-// Prettier main
-let fn = (() => {
- return; //
-});
-```
diff --git a/changelog_unreleased/javascript/13274.md b/changelog_unreleased/javascript/13274.md
deleted file mode 100644
index 26466f984..000000000
--- a/changelog_unreleased/javascript/13274.md
+++ /dev/null
@@ -1,34 +0,0 @@
-#### Fix inconsistent formatting for multiline strings (#13274 by @GlebDolzhikov)
-
-
-```jsx
-// Input
-const loremIpsumFooBazBar1 = 'Multiline string\
- Multiline string\
-'
-
-const loremIpsumFooBazBar2 = 'Multiline string\
- Multiline string\
- Multiline string'
-
-// Prettier stable
-const loremIpsumFooBazBar1 = "Multiline string\
- Multiline string\
-";
-
-const loremIpsumFooBazBar2 =
- "Multiline string\
- Multiline string\
- Multiline string";
-
-// Prettier main
-const loremIpsumFooBazBar1 =
- "Multiline string\
- Multiline string\
-";
-
-const loremIpsumFooBazBar2 =
- "Multiline string\
- Multiline string\
- Multiline string";
-```
diff --git a/changelog_unreleased/markdown/11373.md b/changelog_unreleased/markdown/11373.md
deleted file mode 100644
index 8eb18b15e..000000000
--- a/changelog_unreleased/markdown/11373.md
+++ /dev/null
@@ -1,15 +0,0 @@
-#### Preserve inline code line breaks if `--prose-wrap=preserve` (#11373 by @andersk)
-
-
-```markdown
-
-Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod `tempor
-incididunt` ut labore et dolore magna aliqua.
-
-
-Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod `tempor incididunt` ut labore et dolore magna aliqua.
-
-
-Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod `tempor
-incididunt` ut labore et dolore magna aliqua.
-```
diff --git a/changelog_unreleased/mdx/12208.md b/changelog_unreleased/mdx/12208.md
deleted file mode 100644
index df8cd122d..000000000
--- a/changelog_unreleased/mdx/12208.md
+++ /dev/null
@@ -1,29 +0,0 @@
-#### Improve MDX range ignore support (#12208 by @nickrttn)
-
-Adds support for using Markdown [range ignore](https://prettier.io/docs/en/ignore.html#range-ignore) directives in MDX, using JSX comments.
-
-
-```mdx
-// Input
-{/* prettier-ignore-start */}
-
-export const Hello = () => {
- return (
- Hello
)
-}
-
-{/* prettier-ignore-end */}
-
-// Prettier stable (throws an error)
-TypeError: Cannot read properties of undefined (reading 'type')
-
-// Prettier main
-{/* prettier-ignore-start */}
-
-export const Hello = () => {
- return (
- Hello
)
-}
-
-{/* prettier-ignore-end */}
-```
diff --git a/changelog_unreleased/scss/13286.md b/changelog_unreleased/scss/13286.md
deleted file mode 100644
index d64d73195..000000000
--- a/changelog_unreleased/scss/13286.md
+++ /dev/null
@@ -1,13 +0,0 @@
-#### fix: extra space between '#' and '{' (#13286 by @jspereiramoura)
-
-
-```scss
-// Input
-padding: var(--spacer#{(1) + 2});
-
-// Prettier stable
-padding: var(--spacer# {(1) + 2});
-
-// Prettier main
-padding: var(--spacer#{(1) + 2});
-```
diff --git a/changelog_unreleased/typescript/13289.md b/changelog_unreleased/typescript/13289.md
deleted file mode 100644
index 7a4183c19..000000000
--- a/changelog_unreleased/typescript/13289.md
+++ /dev/null
@@ -1,13 +0,0 @@
-#### Fix parens in inferred function return types with `extends` (#13289 by @GlebDolzhikov)
-
-
-```ts
-// Input
-type Foo = T extends (...a: any[]) => (infer R extends string) ? R : never;
-
-// Prettier stable
-type Foo = T extends (...a: any[]) => infer R extends string ? R : never;
-
-// Prettier main
-type Foo = T extends ((...a: any[]) => infer R extends string) ? R : never;
-```
diff --git a/changelog_unreleased/typescript/13764.md b/changelog_unreleased/typescript/13764.md
deleted file mode 100644
index e9741644d..000000000
--- a/changelog_unreleased/typescript/13764.md
+++ /dev/null
@@ -1,12 +0,0 @@
-#### Support TypeScript 4.9 [`satisfies` operator](https://devblogs.microsoft.com/typescript/announcing-typescript-4-9/#satisfies) (#13764, #13783, #13872 by @sosukesuzuki)
-
-
-```tsx
-const palette = {
- red: [255, 0, 0],
- green: "#00ff00",
- blue: [0, 0, 255]
-} satisfies Record;
-```
-
-[Auto-Accessors in Classes](https://devblogs.microsoft.com/typescript/announcing-typescript-4-9/#auto-accessors-in-classes) will be supported in an upcoming 2.8 patch release. We have de-scoped them for now to ship `satisfies` operator sooner.
diff --git a/docs/browser.md b/docs/browser.md
index 610cee5d2..38d7df95a 100644
--- a/docs/browser.md
+++ b/docs/browser.md
@@ -18,7 +18,7 @@ Required options:
- **[`parser`](options.md#parser) (or [`filepath`](options.md#file-path))**: One of these options has to be specified for Prettier to know which parser to use.
-- **`plugins`**: Unlike the `format` function from the [Node.js-based API](api.md#prettierformatsource--options), this function doesn’t load plugins automatically. The `plugins` option is required because all the parsers included in the Prettier package come as plugins (for reasons of file size). These plugins are files in
+- **`plugins`**: Unlike the `format` function from the [Node.js-based API](api.md#prettierformatsource--options), this function doesn’t load plugins automatically. The `plugins` option is required because all the parsers included in the Prettier package come as plugins (for reasons of file size). These plugins are files in
You need to load the ones that you’re going to use and pass them to `prettier.format` using the `plugins` option.
@@ -29,8 +29,8 @@ See below for examples.
### Global
```html
-
-
+
+
-
+
+