From 0449af3a7d08b0104b9048f9d4fec4439e541d54 Mon Sep 17 00:00:00 2001 From: fisker Date: Wed, 16 Sep 2026 16:17:05 +0800 Subject: [PATCH] Release 3.9.7 --- .github/ISSUE_TEMPLATE/formatting.md | 2 +- .github/ISSUE_TEMPLATE/integration.md | 2 +- CHANGELOG.md | 194 ++++++++++++++++++ package.json | 2 +- .../versioned_docs/version-stable/browser.md | 36 ++-- .../versioned_docs/version-stable/install.md | 10 +- .../version-stable/sharing-configurations.md | 4 +- 7 files changed, 222 insertions(+), 28 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/formatting.md b/.github/ISSUE_TEMPLATE/formatting.md index 7849d0248..823cb8b4b 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 3.9.6** +**Prettier 3.9.7** [Playground link](https://prettier.io/playground/#.....) ```sh diff --git a/.github/ISSUE_TEMPLATE/integration.md b/.github/ISSUE_TEMPLATE/integration.md index 9d78e6d82..70501cfcf 100644 --- a/.github/ISSUE_TEMPLATE/integration.md +++ b/.github/ISSUE_TEMPLATE/integration.md @@ -20,7 +20,7 @@ BEFORE SUBMITTING AN ISSUE: **Environments:** -- Prettier Version: 3.9.6 +- Prettier Version: 3.9.7 - Running Prettier via: - Runtime: - Operating System: diff --git a/CHANGELOG.md b/CHANGELOG.md index 0f8737f13..dea72898b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,197 @@ +# 3.9.7 + +[diff](https://github.com/prettier/prettier/compare/3.9.6...3.9.7) + +#### Markdown: Prevent indentation drift in list-item code blocks ([#19647](https://github.com/prettier/prettier/pull/19647), [#19990](https://github.com/prettier/prettier/pull/19990) by [@Austin1serb](https://github.com/Austin1serb), [@giaBaoJS](https://github.com/giaBaoJS)) + + +```markdown + +- [x] short first line. + + second paragraph at six spaces that wraps + onto another line here. + + +- [x] short first line. + + second paragraph at six spaces that wraps + onto another line here. + + +- [x] short first line. + + second paragraph at six spaces that wraps + onto another line here. +``` + +#### JavaScript: Fix embedded template literal idempotency ([#19725](https://github.com/prettier/prettier/pull/19725) by [@fisker](https://github.com/fisker)) + + +```jsx +// Input +const foo = html` +
${getText({ + value, + })}
+`; + +// Prettier 3.9.6 (first format) +const foo = html` +
+ ${getText({ + value, + })} +
+`; + +// Prettier 3.9.6 (second format) +const foo = html` +
+ ${getText({ + value, + })} +
+`; + +// Prettier 3.9.7 +const foo = html` +
+ ${getText({ + value, + })} +
+`; +``` + +#### Markdown: Preserve Liquid blocks after Markdown tables ([#19730](https://github.com/prettier/prettier/pull/19730) by [@wanxiankai](https://github.com/wanxiankai), [@seiyab](https://github.com/seiyab)) + + +```markdown + +| Argument | Type | +| -------- | ---- | +{% set default_params = { + "model": ["str"], +} %} + + +| Argument | Type | +| ------------------------- | ---- | +| {% set default_params = { | + + "model": ["str"], + +} %} + + +| Argument | Type | +| -------- | ---- | +{% set default_params = { + "model": ["str"], +} %} +``` + +#### Markdown: Preserve single tildes in Markdown ([#19739](https://github.com/prettier/prettier/pull/19739) by [@lazerg](https://github.com/lazerg)) + +Since 3.9.0, single-tilde spans like `H~2~O` were rewritten to double tildes, turning subscript syntax into strike-through. Only double tildes are treated that way now, matching GitHub. + + +```markdown + +H~2~O + + +H~~2~~O + + +H~2~O +``` + +#### Markdown: Fix Markdown blockquote containing `>` characters ([#19802](https://github.com/prettier/prettier/pull/19802) by [@seiyab](https://github.com/seiyab)) + + +```md + +> **test**\> + + +> **test**>\> + + +> **test**\> +``` + +#### Markdown: Strip blockquote markers from a setext heading's continuation lines ([#19878](https://github.com/prettier/prettier/pull/19878) by [@Kjubikstronk](https://github.com/Kjubikstronk)) + +A setext heading spanning multiple lines inside a blockquote kept the `>` marker of its continuation lines as literal text. + + +```md + +> Multi +> Line +> === + + +> Multi > Line +> === + + +> Multi +> Line +> === +``` + +#### Markdown: Fix HTML block indentation drift in markdown list items ([#19987](https://github.com/prettier/prettier/pull/19987) by [@lazerg](https://github.com/lazerg)) + + +```markdown + +1. Enable images: + +

+ example +

+ + +1. Enable images: + +

+ example +

+ + +1. Enable images: + +

+ example +

+``` + +#### Angular: Support `@boundary` error boundaries ([#20014](https://github.com/prettier/prettier/pull/20014) by [@Yahiro025](https://github.com/Yahiro025)) + + +```html + +@boundary { + +} +@error (let err) { +

{{err.message}}

+} + + +SyntaxError: Unexpected character "EOF" (Do you have an unescaped "{" in your template? Use "{{ '{' }}") to escape it.) (6:1) + + +@boundary { + +} @error (let err) { +

{{ err.message }}

+} +``` + # 3.9.6 [diff](https://github.com/prettier/prettier/compare/3.9.5...3.9.6) diff --git a/package.json b/package.json index 922a1cd28..50962f054 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "prettier", - "version": "3.10.0-dev", + "version": "3.9.7", "description": "Prettier is an opinionated code formatter", "bin": "./bin/prettier.cjs", "repository": "prettier/prettier", diff --git a/website/versioned_docs/version-stable/browser.md b/website/versioned_docs/version-stable/browser.md index f950c4847..46e13a238 100644 --- a/website/versioned_docs/version-stable/browser.md +++ b/website/versioned_docs/version-stable/browser.md @@ -21,7 +21,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 [https://unpkg.com/browse/prettier@3.9.6/plugins](https://unpkg.com/browse/prettier@3.9.6/plugins). Note that `estree` plugin should be loaded when printing JavaScript, TypeScript, Flow, or JSON. +- **`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 [https://unpkg.com/browse/prettier@3.9.7/plugins](https://unpkg.com/browse/prettier@3.9.7/plugins). Note that `estree` plugin should be loaded when printing JavaScript, TypeScript, Flow, or JSON. You need to load the ones that you’re going to use and pass them to `prettier.format` using the `plugins` option. @@ -32,8 +32,8 @@ See below for examples. ### Global ```html - - + +