Skip to content

Add missing blank line around code block #17675

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 5 commits into from
Jun 27, 2025
Merged

Add missing blank line around code block #17675

merged 5 commits into from
Jun 27, 2025

Conversation

fisker
Copy link
Member

@fisker fisker commented Jun 25, 2025

Description

Fixes #17652

Checklist

  • I’ve added tests to confirm my change works.
  • (If changing the API or CLI) I’ve documented the changes I’ve made (in the docs/ directory).
  • (If the change is user-facing) I’ve added my changes to changelog_unreleased/*/XXXX.md file following changelog_unreleased/TEMPLATE.md.
  • I’ve read the contributing guidelines.

Copy link

pkg-pr-new bot commented Jun 25, 2025

Open in StackBlitz

yarn add https://pkg.pr.new/prettier/prettier/@prettier/plugin-hermes@17675.tgz
yarn add https://pkg.pr.new/prettier/prettier/@prettier/plugin-oxc@17675.tgz
yarn add https://pkg.pr.new/prettier/prettier@17675.tgz

commit: 48f53bd

Copy link

netlify bot commented Jun 25, 2025

Deploy Preview for prettier ready!

Name Link
🔨 Latest commit 48f53bd
🔍 Latest deploy log https://app.netlify.com/projects/prettier/deploys/685c71ca4f67f500082c7af4
😎 Deploy Preview https://deploy-preview-17675--prettier.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@fisker fisker marked this pull request as ready for review June 25, 2025 21:44
@fisker fisker marked this pull request as draft June 25, 2025 21:57
@fisker fisker marked this pull request as draft June 25, 2025 21:57
@fisker fisker marked this pull request as ready for review June 25, 2025 22:22
@fisker fisker merged commit 46526b4 into prettier:main Jun 27, 2025
33 checks passed
@fisker fisker deleted the 17652 branch June 27, 2025 02:48
geissonator pushed a commit to openbmc/docs that referenced this pull request Jun 30, 2025
The latest prettier (3.6.2) fixed an incompatibility with markdownlint
and requires re-running[1].

[1]: prettier/prettier#17675

Change-Id: Idd9fb1d4f33ef599ec73548a300da7c53ffda8cd
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
geissonator pushed a commit to openbmc/openbmc-test-automation that referenced this pull request Jul 1, 2025
The latest prettier (3.6.2) fixed an incompatibility with markdownlint
and requires re-running[1].

[1]: prettier/prettier#17675

Change-Id: I4f4e792d0d8a9ee7b5d7f72e5f77cbdb05a52482
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
apricote pushed a commit to hetznercloud/fleeting-plugin-hetzner that referenced this pull request Jul 4, 2025
…fleeting-plugin-hetzner!256)

This MR contains the following updates:

| Package | Change | Age | Confidence |
|---|---|---|---|
| [prettier](https://prettier.io) ([source](https://github.com/prettier/prettier)) | `3.3.3` -> `3.6.2` | [![age](https://developer.mend.io/api/mc/badges/age/npm/prettier/3.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/prettier/3.3.3/3.6.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) |

Note: The `pre-commit` manager in Renovate is not supported by the `pre-commit` maintainers or community. Please do not report any problems there, instead [create a Discussion in the Renovate repository](https://github.com/renovatebot/renovate/discussions/new) if you have any questions.

---

### Release Notes

<details>
<summary>prettier/prettier (prettier)</summary>

### [`v3.6.2`](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#362)

[Compare Source](prettier/prettier@3.6.1...3.6.2)

[diff](prettier/prettier@3.6.1...3.6.2)

##### Markdown: Add missing blank line around code block ([#&#8203;17675](prettier/prettier#17675) by [@&#8203;fisker](https://github.com/fisker))

<!-- prettier-ignore -->

````md
<!-- Input -->
1. Some text, and code block below, with newline after code block

   ```yaml
   ---
   foo: bar
   ```

   1. Another
   2. List

<!-- Prettier 3.6.1 -->
1. Some text, and code block below, with newline after code block

   ```yaml
   ---
   foo: bar
   ```
   1. Another
   2. List

<!-- Prettier 3.6.2 -->
1. Some text, and code block below, with newline after code block

   ```yaml
   ---
   foo: bar
   ```

   1. Another
   2. List
````

### [`v3.6.1`](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#361)

[Compare Source](prettier/prettier@3.6.0...3.6.1)

[diff](prettier/prettier@3.6.0...3.6.1)

##### TypeScript: Allow const without initializer ([#&#8203;17650](prettier/prettier#17650), [#&#8203;17654](prettier/prettier#17654) by [@&#8203;fisker](https://github.com/fisker))

<!-- prettier-ignore -->

```jsx
// Input
export const version: string;

// Prettier 3.6.0 (--parser=babel-ts)
SyntaxError: Unexpected token (1:21)
> 1 | export const version: string;
    |                     ^

// Prettier 3.6.0 (--parser=oxc-ts)
SyntaxError: Missing initializer in const declaration (1:14)
> 1 | export const version: string;
    |              ^^^^^^^^^^^^^^^

// Prettier 3.6.1
export const version: string;
```

##### Miscellaneous: Avoid closing files multiple times ([#&#8203;17665](prettier/prettier#17665) by [@&#8203;43081j](https://github.com/43081j))

When reading a file to infer the interpreter from a shebang, we use the
`n-readlines` library to read the first line in order to get the shebang.

This library closes files when it reaches EOF, and we later try close the same
files again. We now close files only if `n-readlines` did not already close
them.

### [`v3.6.0`](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#360)

[Compare Source](prettier/prettier@3.5.3...3.6.0)

[diff](prettier/prettier@3.5.3...3.6.0)

🔗 [Release Notes](https://prettier.io/blog/2025/06/23/3.6.0)

### [`v3.5.3`](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#353)

[Compare Source](prettier/prettier@3.5.2...3.5.3)

[diff](prettier/prettier@3.5.2...3.5.3)

##### Flow: Fix missing parentheses in `ConditionalTypeAnnotation` ([#&#8203;17196](prettier/prettier#17196) by [@&#8203;fisker](https://github.com/fisker))

<!-- prettier-ignore -->

```jsx
// Input
type T<U> = 'a' | ('b' extends U ? 'c' : empty);
type T<U> = 'a' & ('b' extends U ? 'c' : empty);

// Prettier 3.5.2
type T<U> = "a" | "b" extends U ? "c" : empty;
type T<U> = "a" & "b" extends U ? "c" : empty;

// Prettier 3.5.3
type T<U> = "a" | ("b" extends U ? "c" : empty);
type T<U> = "a" & ("b" extends U ? "c" : empty);
```

### [`v3.5.2`](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#352)

[Compare Source](prettier/prettier@3.5.1...3.5.2)

[diff](prettier/prettier@3.5.1...3.5.2)

##### Remove `module-sync` condition ([#&#8203;17156](prettier/prettier#17156) by [@&#8203;fisker](https://github.com/fisker))

In Prettier 3.5.0, [we added `module-sync` condition to `package.json`](https://prettier.io/blog/2025/02/09/3.5.0#use-esm-entrypoint-for-requireesm-16958-by-tats-u), so that `require("prettier")` can use ESM version, but turns out it doesn't work if CommonJS and ESM plugins both imports builtin plugins. To solve this problem, we decide simply remove the `module-sync` condition, so `require("prettier")` will still use the CommonJS version, we'll revisit until `require(ESM)` feature is more stable.

### [`v3.5.1`](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#351)

[Compare Source](prettier/prettier@3.5.0...3.5.1)

[diff](prettier/prettier@3.5.0...3.5.1)

##### Fix CLI crash when cache for old version exists ([#&#8203;17100](prettier/prettier#17100) by [@&#8203;sosukesuzuki](https://github.com/sosukesuzuki))

Prettier 3.5 uses a different cache format than previous versions, Prettier 3.5.0 crashes when reading existing cache file, Prettier 3.5.1 fixed the problem.

##### Support dockercompose and github-actions-workflow in VSCode ([#&#8203;17101](prettier/prettier#17101) by [@&#8203;remcohaszing](https://github.com/remcohaszing))

Prettier now supports the `dockercompose` and `github-actions-workflow` languages in Visual Studio Code.

### [`v3.5.0`](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#350)

[Compare Source](prettier/prettier@3.4.2...3.5.0)

[diff](prettier/prettier@3.4.2...3.5.0)

🔗 [Release Notes](https://prettier.io/blog/2025/02/09/3.5.0.html)

### [`v3.4.2`](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#342)

[Compare Source](prettier/prettier@3.4.1...3.4.2)

[diff](prettier/prettier@3.4.1...3.4.2)

##### Treat U+30A0 & U+30FB in Katakana Block as CJK ([#&#8203;16796](prettier/prettier#16796) by [@&#8203;tats-u](https://github.com/tats-u))

Prettier doesn't treat U+30A0 & U+30FB as Japanese. U+30FB is commonly used in Japanese to represent the delimitation of first and last names of non-Japanese people or “and”. The following “C言語・C++・Go・Rust” means “C language & C++ & Go & Rust” in Japanese.

<!-- prettier-ignore -->

```md
<!-- Input (--prose-wrap=never) -->

C言
語
・
C++
・
Go
・
Rust

<!-- Prettier 3.4.1 -->
C言語・ C++ ・ Go ・ Rust

<!-- Prettier 3.4.2 -->
C言語・C++・Go・Rust
```

U+30A0 can be used as the replacement of the `-` in non-Japanese names (e.g. “Saint-Saëns” (Charles Camille Saint-Saëns) can be represented as “サン゠サーンス” in Japanese), but substituted by ASCII hyphen (U+002D) or U+FF1D (full width hyphen) in many cases (e.g. “サン=サーンス” or “サン=サーンス”).

##### Fix comments print on class methods with decorators ([#&#8203;16891](prettier/prettier#16891) by [@&#8203;fisker](https://github.com/fisker))

<!-- prettier-ignore -->

```jsx
// Input
class A {
  @&#8203;decorator
  /** 
   * The method description
   *
  */
  async method(foo: Foo, bar: Bar) {
    console.log(foo);
  }
}

// Prettier 3.4.1
class A {
  @&#8203;decorator
  async /**
   * The method description
   *
   */
  method(foo: Foo, bar: Bar) {
    console.log(foo);
  }
}

// Prettier 3.4.2
class A {
  @&#8203;decorator
  /**
   * The method description
   *
   */
  async method(foo: Foo, bar: Bar) {
    console.log(foo);
  }
}
```

##### Fix non-idempotent formatting ([#&#8203;16899](prettier/prettier#16899) by [@&#8203;seiyab](https://github.com/seiyab))

This bug fix is not language-specific. You may see similar change in any languages. This fixes regression in 3.4.0 so change caused by it should yield same formatting as 3.3.3.

<!-- prettier-ignore -->

```jsx
// Input
<div>
  foo
  <span>longlonglonglonglonglonglonglonglonglonglonglonglonglonglongl foo</span>
  , abc
</div>;

// Prettier 3.4.1 (first)
<div>
  foo
  <span>
    longlonglonglonglonglonglonglonglonglonglonglonglonglonglongl foo
  </span>, abc
</div>;

// Prettier 3.4.1 (second)
<div>
  foo
  <span>longlonglonglonglonglonglonglonglonglonglonglonglonglonglongl foo</span>
  , abc
</div>;

// Prettier 3.4.2
<div>
  foo
  <span>longlonglonglonglonglonglonglonglonglonglonglonglonglonglongl foo</span>
  , abc
</div>;
```

### [`v3.4.1`](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#341)

[Compare Source](prettier/prettier@3.4.0...3.4.1)

[diff](prettier/prettier@3.4.0...3.4.1)

##### Remove unnecessary parentheses around assignment in `v-on` ([#&#8203;16887](prettier/prettier#16887) by [@&#8203;fisker](https://github.com/fisker))

<!-- prettier-ignore -->

```vue
<!-- Input -->
<template>
  <button @&#8203;click="foo += 2">Click</button>
</template>

<!-- Prettier 3.4.0 -->
<template>
  <button @&#8203;click="(foo += 2)">Click</button>
</template>

<!-- Prettier 3.4.1 -->
<template>
  <button @&#8203;click="foo += 2">Click</button>
</template>
```

### [`v3.4.0`](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#340)

[Compare Source](prettier/prettier@3.3.3...3.4.0)

[diff](prettier/prettier@3.3.3...3.4.0)

🔗 [Release Notes](https://prettier.io/blog/2024/11/26/3.4.0.html)

</details>

---

### Configuration

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

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever MR is behind base branch, or you tick the rebase/retry checkbox.

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

---

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

---

This MR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS4xOS4wIiwidXBkYXRlZEluVmVyIjoiNDEuMTkuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
renovate bot added a commit to andrei-picus-tink/auto-renovate that referenced this pull request Jul 13, 2025
| datasource | package  | from  | to    |
| ---------- | -------- | ----- | ----- |
| npm        | prettier | 3.5.3 | 3.6.2 |


## [v3.6.2](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#362)

[diff](prettier/prettier@3.6.1...3.6.2)

##### Markdown: Add missing blank line around code block ([#17675](prettier/prettier#17675) by [@fisker](https://github.com/fisker))

<!-- prettier-ignore -->

````md
<!-- Input -->
1. Some text, and code block below, with newline after code block

   ```yaml
   ---
   foo: bar
   ```

   1. Another
   2. List

<!-- Prettier 3.6.1 -->
1. Some text, and code block below, with newline after code block

   ```yaml
   ---
   foo: bar
   ```
   1. Another
   2. List

<!-- Prettier 3.6.2 -->
1. Some text, and code block below, with newline after code block

   ```yaml
   ---
   foo: bar
   ```

   1. Another
   2. List
````


## [v3.6.1](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#361)

[diff](prettier/prettier@3.6.0...3.6.1)

##### TypeScript: Allow const without initializer ([#17650](prettier/prettier#17650), [#17654](prettier/prettier#17654) by [@fisker](https://github.com/fisker))

<!-- prettier-ignore -->

```jsx
// Input
export const version: string;

// Prettier 3.6.0 (--parser=babel-ts)
SyntaxError: Unexpected token (1:21)
> 1 | export const version: string;
    |                     ^

// Prettier 3.6.0 (--parser=oxc-ts)
SyntaxError: Missing initializer in const declaration (1:14)
> 1 | export const version: string;
    |              ^^^^^^^^^^^^^^^

// Prettier 3.6.1
export const version: string;
```

##### Miscellaneous: Avoid closing files multiple times ([#17665](prettier/prettier#17665) by [@43081j](https://github.com/43081j))

When reading a file to infer the interpreter from a shebang, we use the
`n-readlines` library to read the first line in order to get the shebang.

This library closes files when it reaches EOF, and we later try close the same
files again. We now close files only if `n-readlines` did not already close
them.


## [v3.6.0](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#360)

[diff](prettier/prettier@3.5.3...3.6.0)

🔗 [Release Notes](https://prettier.io/blog/2025/06/23/3.6.0)
renovate bot added a commit to andrei-picus-tink/auto-renovate that referenced this pull request Jul 27, 2025
| datasource | package  | from  | to    |
| ---------- | -------- | ----- | ----- |
| npm        | prettier | 3.5.3 | 3.6.2 |


## [v3.6.2](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#362)

[diff](prettier/prettier@3.6.1...3.6.2)

##### Markdown: Add missing blank line around code block ([#17675](prettier/prettier#17675) by [@fisker](https://github.com/fisker))

<!-- prettier-ignore -->

````md
<!-- Input -->
1. Some text, and code block below, with newline after code block

   ```yaml
   ---
   foo: bar
   ```

   1. Another
   2. List

<!-- Prettier 3.6.1 -->
1. Some text, and code block below, with newline after code block

   ```yaml
   ---
   foo: bar
   ```
   1. Another
   2. List

<!-- Prettier 3.6.2 -->
1. Some text, and code block below, with newline after code block

   ```yaml
   ---
   foo: bar
   ```

   1. Another
   2. List
````


## [v3.6.1](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#361)

[diff](prettier/prettier@3.6.0...3.6.1)

##### TypeScript: Allow const without initializer ([#17650](prettier/prettier#17650), [#17654](prettier/prettier#17654) by [@fisker](https://github.com/fisker))

<!-- prettier-ignore -->

```jsx
// Input
export const version: string;

// Prettier 3.6.0 (--parser=babel-ts)
SyntaxError: Unexpected token (1:21)
> 1 | export const version: string;
    |                     ^

// Prettier 3.6.0 (--parser=oxc-ts)
SyntaxError: Missing initializer in const declaration (1:14)
> 1 | export const version: string;
    |              ^^^^^^^^^^^^^^^

// Prettier 3.6.1
export const version: string;
```

##### Miscellaneous: Avoid closing files multiple times ([#17665](prettier/prettier#17665) by [@43081j](https://github.com/43081j))

When reading a file to infer the interpreter from a shebang, we use the
`n-readlines` library to read the first line in order to get the shebang.

This library closes files when it reaches EOF, and we later try close the same
files again. We now close files only if `n-readlines` did not already close
them.


## [v3.6.0](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#360)

[diff](prettier/prettier@3.5.3...3.6.0)

🔗 [Release Notes](https://prettier.io/blog/2025/06/23/3.6.0)
renovate bot added a commit to andrei-picus-tink/auto-renovate that referenced this pull request Aug 4, 2025
| datasource | package  | from  | to    |
| ---------- | -------- | ----- | ----- |
| npm        | prettier | 3.5.3 | 3.6.2 |


## [v3.6.2](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#362)

[diff](prettier/prettier@3.6.1...3.6.2)

##### Markdown: Add missing blank line around code block ([#17675](prettier/prettier#17675) by [@fisker](https://github.com/fisker))

<!-- prettier-ignore -->

````md
<!-- Input -->
1. Some text, and code block below, with newline after code block

   ```yaml
   ---
   foo: bar
   ```

   1. Another
   2. List

<!-- Prettier 3.6.1 -->
1. Some text, and code block below, with newline after code block

   ```yaml
   ---
   foo: bar
   ```
   1. Another
   2. List

<!-- Prettier 3.6.2 -->
1. Some text, and code block below, with newline after code block

   ```yaml
   ---
   foo: bar
   ```

   1. Another
   2. List
````


## [v3.6.1](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#361)

[diff](prettier/prettier@3.6.0...3.6.1)

##### TypeScript: Allow const without initializer ([#17650](prettier/prettier#17650), [#17654](prettier/prettier#17654) by [@fisker](https://github.com/fisker))

<!-- prettier-ignore -->

```jsx
// Input
export const version: string;

// Prettier 3.6.0 (--parser=babel-ts)
SyntaxError: Unexpected token (1:21)
> 1 | export const version: string;
    |                     ^

// Prettier 3.6.0 (--parser=oxc-ts)
SyntaxError: Missing initializer in const declaration (1:14)
> 1 | export const version: string;
    |              ^^^^^^^^^^^^^^^

// Prettier 3.6.1
export const version: string;
```

##### Miscellaneous: Avoid closing files multiple times ([#17665](prettier/prettier#17665) by [@43081j](https://github.com/43081j))

When reading a file to infer the interpreter from a shebang, we use the
`n-readlines` library to read the first line in order to get the shebang.

This library closes files when it reaches EOF, and we later try close the same
files again. We now close files only if `n-readlines` did not already close
them.


## [v3.6.0](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#360)

[diff](prettier/prettier@3.5.3...3.6.0)

🔗 [Release Notes](https://prettier.io/blog/2025/06/23/3.6.0)
renovate bot added a commit to andrei-picus-tink/auto-renovate that referenced this pull request Aug 5, 2025
| datasource | package  | from  | to    |
| ---------- | -------- | ----- | ----- |
| npm        | prettier | 3.5.3 | 3.6.2 |


## [v3.6.2](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#362)

[diff](prettier/prettier@3.6.1...3.6.2)

##### Markdown: Add missing blank line around code block ([#17675](prettier/prettier#17675) by [@fisker](https://github.com/fisker))

<!-- prettier-ignore -->

````md
<!-- Input -->
1. Some text, and code block below, with newline after code block

   ```yaml
   ---
   foo: bar
   ```

   1. Another
   2. List

<!-- Prettier 3.6.1 -->
1. Some text, and code block below, with newline after code block

   ```yaml
   ---
   foo: bar
   ```
   1. Another
   2. List

<!-- Prettier 3.6.2 -->
1. Some text, and code block below, with newline after code block

   ```yaml
   ---
   foo: bar
   ```

   1. Another
   2. List
````


## [v3.6.1](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#361)

[diff](prettier/prettier@3.6.0...3.6.1)

##### TypeScript: Allow const without initializer ([#17650](prettier/prettier#17650), [#17654](prettier/prettier#17654) by [@fisker](https://github.com/fisker))

<!-- prettier-ignore -->

```jsx
// Input
export const version: string;

// Prettier 3.6.0 (--parser=babel-ts)
SyntaxError: Unexpected token (1:21)
> 1 | export const version: string;
    |                     ^

// Prettier 3.6.0 (--parser=oxc-ts)
SyntaxError: Missing initializer in const declaration (1:14)
> 1 | export const version: string;
    |              ^^^^^^^^^^^^^^^

// Prettier 3.6.1
export const version: string;
```

##### Miscellaneous: Avoid closing files multiple times ([#17665](prettier/prettier#17665) by [@43081j](https://github.com/43081j))

When reading a file to infer the interpreter from a shebang, we use the
`n-readlines` library to read the first line in order to get the shebang.

This library closes files when it reaches EOF, and we later try close the same
files again. We now close files only if `n-readlines` did not already close
them.


## [v3.6.0](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#360)

[diff](prettier/prettier@3.5.3...3.6.0)

🔗 [Release Notes](https://prettier.io/blog/2025/06/23/3.6.0)
renovate bot added a commit to andrei-picus-tink/auto-renovate that referenced this pull request Aug 6, 2025
| datasource | package  | from  | to    |
| ---------- | -------- | ----- | ----- |
| npm        | prettier | 3.5.3 | 3.6.2 |


## [v3.6.2](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#362)

[diff](prettier/prettier@3.6.1...3.6.2)

##### Markdown: Add missing blank line around code block ([#17675](prettier/prettier#17675) by [@fisker](https://github.com/fisker))

<!-- prettier-ignore -->

````md
<!-- Input -->
1. Some text, and code block below, with newline after code block

   ```yaml
   ---
   foo: bar
   ```

   1. Another
   2. List

<!-- Prettier 3.6.1 -->
1. Some text, and code block below, with newline after code block

   ```yaml
   ---
   foo: bar
   ```
   1. Another
   2. List

<!-- Prettier 3.6.2 -->
1. Some text, and code block below, with newline after code block

   ```yaml
   ---
   foo: bar
   ```

   1. Another
   2. List
````


## [v3.6.1](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#361)

[diff](prettier/prettier@3.6.0...3.6.1)

##### TypeScript: Allow const without initializer ([#17650](prettier/prettier#17650), [#17654](prettier/prettier#17654) by [@fisker](https://github.com/fisker))

<!-- prettier-ignore -->

```jsx
// Input
export const version: string;

// Prettier 3.6.0 (--parser=babel-ts)
SyntaxError: Unexpected token (1:21)
> 1 | export const version: string;
    |                     ^

// Prettier 3.6.0 (--parser=oxc-ts)
SyntaxError: Missing initializer in const declaration (1:14)
> 1 | export const version: string;
    |              ^^^^^^^^^^^^^^^

// Prettier 3.6.1
export const version: string;
```

##### Miscellaneous: Avoid closing files multiple times ([#17665](prettier/prettier#17665) by [@43081j](https://github.com/43081j))

When reading a file to infer the interpreter from a shebang, we use the
`n-readlines` library to read the first line in order to get the shebang.

This library closes files when it reaches EOF, and we later try close the same
files again. We now close files only if `n-readlines` did not already close
them.


## [v3.6.0](https://github.com/prettier/prettier/blob/HEAD/CHANGELOG.md#360)

[diff](prettier/prettier@3.5.3...3.6.0)

🔗 [Release Notes](https://prettier.io/blog/2025/06/23/3.6.0)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Markdown: newline removed around code block in v3.6.0
2 participants