oxfmt_v0.74.0
parruda/swarmoxfmt_v0.74.0Oct 19, 2026by github-actions[bot]
Upgrading?
AI Summary
Bug fixes for the oxfmt formatter including JSDoc parsing, Markdown link handling, YAML front matter preservation, and JSON validation improvements.
Key Highlights
- Fixed JSDoc parsing for code spans after quotes.
- Improved handling of BOM in config and YAML files.
- Fixed JSON validation to reject invalid JSON instead of dropping it.
New Features
- Treat link destinations and footnote references as opaque to code span fences.
- Keep front matter verbatim when body starts with indented delimiter.
- Reject invalid JSON instead of dropping them.
- Performance improvements in formatting core.
Full Release Notes
### 🐛 Bug Fixes - e236de0 formatter_tests: Skip conformance spec calls with non-literal options (#27957) (leaysgur) - 782ab6e linter: Search string values without UTF-8 conversion (#26716) (Dunqing) - a5d8184 jsdoc: Parse code spans after quotes in descriptions (#27955) (leaysgur) - 2645d2c formatter_markdown: Treat link destinations and footnote references as opaque to code span fences (#27948) (leaysgur) - 4d8195c formatter_yaml: Keep a root plain scalar starting with a document marker verbatim (#27947) (leaysgur) - 529b057 formatter_core: Keep front matter verbatim when body starts with indented delimiter (#27946) (leaysgur) - c22a9b2 formatter: Treat static block with only empty statements as empty (#27945) (leaysgur) - d3ff3f6 formatter/jsdoc: Write descriptions as written to not close the comment (#27823) (leaysgur) - c4c1727 formatter/sort_imports: Keep comments after the last import (#27822) (leaysgur) - a64677e formatter: Print JSDoc embedded snippets with LF (#27821) (leaysgur) - 2c1cc20 formatter: Keep comment only Vue bindings as-is (#27820) (leaysgur) - 1bf236d formatter/sort_imports: Do not use comments as import source (#27819) (leaysgur) - 52ee29d formatter_yaml: Never start col-0 line with document marker or BOM (#27818) (leaysgur) - 81c75e7 formatter/css: Keep glued css-in-js statement placeholders glued (#27814) (leaysgur) - a1ef7f4 formatter: Keep typecast parens in same-operator binary and arrow chain (#27812) (leaysgur) - de110ce formatter: Keep more parens around `TSInstantiationExpression` (#27811) (leaysgur) - 8b02e90 formatter_json: Reject invalid JSON instead of dropping them (#27785) (leaysgur) - 6fe4c1b formatter: Treat lone CR in JSX text and argument blank lines (#27780) (leaysgur) - 5605362 oxfmt: Validate editorconfig as like oxfmtrc (#27778) (leaysgur) - 5b2acb0 formatter_core: Report error position releative to CRLF source (#27777) (leaysgur) - c78e80e formatter_core: Report parse error positions relative to the BOM-headed source (#27776) (leaysgur) - 3a980c9 formatter_toml: Handle BOM like other languages (#27775) (leaysgur) - 97c9fc4 oxfmt: Handle BOM in config JSON (#27774) (leaysgur) - 28eb4a7 oxfmt: Print trailing newline for `--list-different` (#27773) (leaysgur) - d2bea21 formatter: Glue comments to an opener in empty for-head slots and array holes (#27737) (leaysgur) - 6a95ec1 formatter: Keep comment position on holey array (#27730) (leaysgur) - 54769da formatter: Break after dangling line comment in holey array (#27729) (leaysgur) - 99077ef formatter_json: Reject unary expressions other than signed numbers (#27728) (leaysgur) - 22cd4cd formatter_json: Handle holey array and comments (#27727) (leaysgur) - 644ca1c formatter: Do not indent logical chains whose right sides all inline (#27667) (leaysgur) - a07a0fb formatter: Wrap comment-only JSX expression container in a group (#27666) (leaysgur) ### ⚡ Performance - e220293 formatter: Check only the operator suppression mark in `is_quiet` (#27952) (leaysgur) - e5fdc9c formatter_core: Write into one element stack through a concrete `Formatter` (#27559) (leaysgur) - a342f7e formatter: Skip comment handling for nodes with no comment near them (#27557) (leaysgur) - d8ce750 formatter: Write string literals with swapped quotes into the arena (#27558) (Yuji Sugiura) - 1c393c0 formatter_core: Skip scanning texts with nothing to rewrite (#27561) (leaysgur) - 1d3ef10 formatter_core: Keep the embedded IR when nothing in it is rewritten (#27673) (leaysgur) ### 📚 Documentation - 1325225 oxfmt: Update useless comment prefix (#27956) (leaysgur) - d0dd140 formatter: Note lossy cooked round-trip in template embeds (#27944) (leaysgur) - 8a3a6c8 oxfmt: Update stale notes on the JSDoc string-out channel and fixture origins (#27824) (leaysgur)
Related Repositories
maybe-finance/maybe★ 54,213
The personal finance app for everyone
huginn/huginn★ 50,090
Create agents that monitor and act on your behalf. Your agents are standing by!
discourse/discourse★ 47,999
A platform for community discussion. Free, open, simple.
chatwoot/chatwoot★ 38,082
Open-source live-chat, email support, omni-channel desk. An alternative to Intercom, Zendesk, Salesforce Service Cloud etc. 🔥💬