10.7.1
- keep typed array line points in toObject() and toJSON() #2073 (Bao Nguyen)
- Transformer follows size changes of an attached group's children (Anton Lavrevov)
- 7cb8bb1: update CHANGELOG with new version (Anton Lavrevov)
- 48a8c8d: build for 10.7.1 (Anton Lavrevov)
2.3.0
- forwardRef on legacy Responsive and ResponsiveGridLayout (#2244) - #2277 by @STRML
- add constrainSize to containerBounds so isBounded bounds resize (#1779) - #2278 by @STRML
- collision resolution for free-form, wrap, and y:Infinity (#1982 #2161 #2252) - #2279 by @STRML
- GridItem memoization, touch scroll, edge auto-scroll, drop scroll (#2240 #1793 #2232 #2143 #2203) - #2280 by @STRML
- build: bump react-resizable to ^3.2.0 + record out-of-scope decisions - #2276 by @STRML
- touch external-drop adapter (#2281) - #2282 by @STRML
- dedup drop pipeline between desktop and touch - #2284 by @STRML
- re-seed size from data-grid when a responsive layout is generated (#2110) - #2283 by @STRML
- verify #1744 gap collapse through the component path - #2285 by @STRML
- bound resize to the container edge in isBounded grids (#1779) - #2286 by @STRML
- do not fire onLayoutChange mid-external-drag (#2219) - #2287 by @STRML
- forward allowMobileScroll through ResponsiveReactGridLayout (#1793) - #2289 by @STRML
- add debounceTimeout option to useContainerWidth (#2254) - #2290 by @STRML
- end drag when mouseup arrives before the drag start renders (#2291) - #2292 by @maricastroc
-
add deterministic Playwright e2e harness and expand CI - #2275 by @STRML
-
build: bump react-resizable to ^3.2.0 + record out-of-scope decisions - #2276 by @STRML
-
bump follow-redirects from 1.15.11 to 1.16.1 - #2261 by @dependabot[bot]
-
bump flatted from 3.3.3 to 3.4.4 - #2257 by @dependabot[bot]
-
style: ignore codemaps in prettier so fmt:check passes - #2293 by @STRML
shadcn@4.21.2
-
#12143
8c2bf3882cb856ac10abbb162bdc0b8383ebd432Thanks @shadcn! - Acceptcomponents.jsonandpackage.jsonfiles that start with a UTF-8 byte order mark. -
#12142
95efb5cd8d7f13adba70b58b1119211e8980683fThanks @shadcn! - replace cosmiconfig with a smaller custom reader. -
#12140
3b1ae6e43f082dd82d0e5710b813cfad929abdb4Thanks @shadcn! - Skipnpm auditand the funding check when installing or removing dependencies, or creating a project, with npm. -
Updated dependencies [
8c2bf3882cb856ac10abbb162bdc0b8383ebd432,95efb5cd8d7f13adba70b58b1119211e8980683f,3b1ae6e43f082dd82d0e5710b813cfad929abdb4]:- @shadcn/registry@0.1.1
@shadcn/registry@0.1.1
-
#12143
8c2bf3882cb856ac10abbb162bdc0b8383ebd432Thanks @shadcn! - Acceptcomponents.jsonandpackage.jsonfiles that start with a UTF-8 byte order mark. -
#12142
95efb5cd8d7f13adba70b58b1119211e8980683fThanks @shadcn! - replace cosmiconfig with a smaller custom reader. -
#12140
3b1ae6e43f082dd82d0e5710b813cfad929abdb4Thanks @shadcn! - Skipnpm auditand the funding check when installing or removing dependencies, or creating a project, with npm.
Release 2026-10-05
- #10473: Add
featuredClientsto choose which clients are shown as tabs in the "Client Libraries" block, and in which order. - #10449: Add
hideModelNamesto show structural types instead of model names in schema type labels and operation headings. - #10443: Add a showExtensions allowlist to display OpenAPI extensions on operations, parameters, response headers, and schema fields without a custom plugin, with a schema-style value tree from the blocks package.
- #10420: Add
maxVisibleRequestBodyPropertiesto control the initial request body property limit (default 12, or 0 for unlimited) independently of nested schema expansion. Show the number of hidden properties in the overflow control.
-
#10462: Keep nested allOf object fields and choice groups inside their named property. Recursive references render as leaves without repeating composition choices.
-
#10452: Autofill the OAuth2 redirect URL on initial load when configured authentication flows have no scopes.
-
#10468: Stop the schema property copy-link button from taking width from a collapsed preview such as
{ compound, percentage }. Its 24px hit box now overhangs the end of the line, so the row gives up only the icon and its gap, however the consuming app orders its stylesheets. -
#10397: Extract the schema renderer into @scalar/blocks so other Scalar surfaces can reuse the schema tree while preserving API Reference behavior.
Keep the public API Reference Schema and SchemaProperty exports connected to extension plugins and deep-link navigation when mounted outside ApiReference.
Expose shared presentation components through @scalar/blocks/shared, group host integration APIs under schema/helpers and schema/expansion, and keep schema stories and visual regression coverage with Blocks.
Preserve literal toolbar icon types so Storybook previews can be type checked.
Pass schema navigation, extension rendering, and shared expansion state explicitly through props instead of providing or injecting host context.
-
#10448: Expose an actions slot on the Operation component to replace its default copy control in embedded layouts.
-
#10441: Truncate long composition picker labels while keeping the full text available on hover and in the dropdown.
-
#10467: Use the design system border, shadow, and extra-large radius for all floating surfaces. Backdrops now inherit their radius from the floating element, and the lifted brightness no longer brightens the border.
-
#10443: Add a showExtensions allowlist to display OpenAPI extensions on operations, parameters, response headers, and schema fields without a custom plugin, with a schema-style value tree from the blocks package.
-
#10397: Extract the schema renderer into @scalar/blocks so other Scalar surfaces can reuse the schema tree while preserving API Reference behavior.
Keep the public API Reference Schema and SchemaProperty exports connected to extension plugins and deep-link navigation when mounted outside ApiReference.
Expose shared presentation components through @scalar/blocks/shared, group host integration APIs under schema/helpers and schema/expansion, and keep schema stories and visual regression coverage with Blocks.
Preserve literal toolbar icon types so Storybook previews can be type checked.
Pass schema navigation, extension rendering, and shared expansion state explicitly through props instead of providing or injecting host context.
- #10460: Preserve multipart file metadata in generated code examples, including arrays and composed schemas, read actual file bytes across code example targets, let HTTP clients set the multipart boundary, and preserve typed text fields without turning them into file attachments.
- #10468: Stop the schema property copy-link button from taking width from a collapsed preview such as
{ compound, percentage }. Its 24px hit box now overhangs the end of the line, so the row gives up only the icon and its gap, however the consuming app orders its stylesheets.
- #10473: Add
featuredClientsto choose which clients are shown as tabs in the "Client Libraries" block, and in which order. - #10449: Add
hideModelNamesto show structural types instead of model names in schema type labels and operation headings. - #10443: Add a showExtensions allowlist to display OpenAPI extensions on operations, parameters, response headers, and schema fields without a custom plugin, with a schema-style value tree from the blocks package.
- #10420: Add
maxVisibleRequestBodyPropertiesto control the initial request body property limit (default 12, or 0 for unlimited) independently of nested schema expansion. Show the number of hidden properties in the overflow control.
- #10473: Add
featuredClientsto choose which clients are shown as tabs in the "Client Libraries" block, and in which order. - #10449: Add
hideModelNamesto show structural types instead of model names in schema type labels and operation headings. - #10443: Add a showExtensions allowlist to display OpenAPI extensions on operations, parameters, response headers, and schema fields without a custom plugin, with a schema-style value tree from the blocks package.
- #10420: Add
maxVisibleRequestBodyPropertiesto control the initial request body property limit (default 12, or 0 for unlimited) independently of nested schema expansion. Show the number of hidden properties in the overflow control.
- #10431: Keep explicit authentication field clears separate from configured defaults, add field-local reset actions, and prevent clearing fixed-choice OAuth settings.
- #10463: Fix large request bodies rendering blank gaps in the code editor.
- #10431: Keep explicit authentication field clears separate from configured defaults, add field-local reset actions, and prevent clearing fixed-choice OAuth settings.
- #10470: Polish the bearer token "Get a token" row: the label matches the font size and color of the rows around it, the settings icon lines up with the password toggle above it, and the authorize button uses the gradient style.
- #10472: Stop pointing auth field labels at the non-labelable editor wrapper, and keep focusing the masked password input when its label is clicked.
- #10466: Fix long unbroken lines in the raw request body (for example Base64 strings or tokens) stretching the client beyond the viewport. The line now scrolls inside the editor.
- #10467: Use the design system border, shadow, and extra-large radius for all floating surfaces. Backdrops now inherit their radius from the floating element, and the lifted brightness no longer brightens the border.
- #10467: Use the design system border, shadow, and extra-large radius for all floating surfaces. Backdrops now inherit their radius from the floating element, and the lifted brightness no longer brightens the border.
-
#10397: Extract the schema renderer into @scalar/blocks so other Scalar surfaces can reuse the schema tree while preserving API Reference behavior.
Keep the public API Reference Schema and SchemaProperty exports connected to extension plugins and deep-link navigation when mounted outside ApiReference.
Expose shared presentation components through @scalar/blocks/shared, group host integration APIs under schema/helpers and schema/expansion, and keep schema stories and visual regression coverage with Blocks.
Preserve literal toolbar icon types so Storybook previews can be type checked.
Pass schema navigation, extension rendering, and shared expansion state explicitly through props instead of providing or injecting host context.
- #10460: Preserve multipart file metadata in generated code examples, including arrays and composed schemas, read actual file bytes across code example targets, let HTTP clients set the multipart boundary, and preserve typed text fields without turning them into file attachments.
- #10431: Keep explicit authentication field clears separate from configured defaults, add field-local reset actions, and prevent clearing fixed-choice OAuth settings.
- #10460: Preserve multipart file metadata in generated code examples, including arrays and composed schemas, read actual file bytes across code example targets, let HTTP clients set the multipart boundary, and preserve typed text fields without turning them into file attachments.
- #10453: Update Electron to 44.5.1. The desktop app now requires macOS 13 or later.
- @scalar/api-reference@1.73.0
- @scalar/api-reference@1.73.0
- @scalar/api-reference@1.73.0
- @scalar/api-reference@1.73.0
- @scalar/api-reference@1.73.0
- @scalar/api-reference@1.73.0
- @scalar/api-reference@1.73.0
v5.16.0
October 5, 2026
- Changed ISO date strings ending in
Zto be treated as UTC, offsets without a colon like+0200are now recognized too (677) ⚠️ Events with dates ending inZare now shifted to the calendar's time zone, remove theZto keep displaying them as is- Improved rendering performance of
dayGridviews with many events (678) - Fixed a 1px gap above background events in
resourceTimelineviews (683)
Special thanks to the following sponsors of EventСalendar:
@ekwi-tech @syncsynchalt @aurawindsurfing
v8.1.1
I am pleased to announce the release of officeParser v8.1.1! This patch reads PowerPoint decks in the order the presentation shows them, each slide with its own notes, reads LaTeX text about twice as fast, and tidies what the HTML and Markdown generators write.
[!WARNING] Behavior changes
- A table's place on the page is not its columns' alignment.
TableMetadata.align(HTML's<table data-align>) was written to Markdown as the alignment of every column. Columns are now written as their cells align them, and the table's place is an attribute list under it ({align=center}) in theextendeddialect. Thepandocpreset writes none, since Pandoc shows that line as text. To align columns, settext-alignon the cells.- A yellow highlight is a plain
<mark>in HTML, with nodata-colororstyle, and==text==in Markdown however the colour is written. Other colours are written as before.
Everything else is a fix: output only moves where it was wrong before.
- PowerPoint slides are read in deck order, with their own notes. Order and notes were taken from the numbers in the parts' file names, so a deck whose slides had been moved or deleted came out in the wrong order, and notes could land on the slide next to their own.
slideNumberis now the slide's place in the deck. If you stored slide numbers or note ids from an earlier version, re-parse. - LaTeX text is read in runs, not a character at a time. Ordinary prose parses about twice as fast, and a long stretch of plain text many times faster. The tree a document parses to is unchanged.
- Windows-1252 text is right on every Node version. The
TextDecoderof Node 22.13.0 to 22.22.0 reads the curly quotes, dashes and euro sign of Windows-1252 as control characters (nodejs/node#56542). officeParser now decodes it itself, so HTML, RTF and LaTeX files read the same whatever the runtime. - The browser bundles load under a strict Content Security Policy. They no longer evaluate a string as they load, so a page with
script-src 'self'gets no violation report. - HTML header cells stay header cells. A
<th>, and any cell of a<thead>, was read as an ordinary cell, so a table could lose its header row in HTML, DOCX, ODT and LaTeX output. - HTML task items are marked. Each item of a task list carries
data-type="taskItem"besidedata-checked. - A column's alignment is written once in a Markdown table, not again as a
<div style="text-align: …">in each cell. - CSS colour keywords are not colours.
color: inherit,unset,currentcolor,initialand atransparentbackground are no longer read from HTML as colours and written back. - LaTeX output asks for the page a person would. The preamble is
\usepackage[a4paper,margin=1in]{geometry}, and the page is exactly the size it names: lengths written in TeX'sptcame out 0.4% small. A LaTeX length is also read in the unit it is written in, and a line break that ends a paragraph is kept. - Visualizer: the LaTeX preview looks like the LaTeX build. It is set in LaTeX's own fonts, at the sizes, on the paper and inside the margins the generated source asks for, where it used to be a web page in a sans-serif font.
- Inline DOCX markup has a fixed nesting limit. Past 512 levels inside a paragraph the parser raises
MAX_NESTING_DEPTH_EXCEEDED. Where it stopped used to depend on the runtime's call stack.
Seven posts on how document formats work inside and how officeParser reads them: officeparser.harshankur.com/blog (RSS).
npm install officeparser@8.1.1
🔗 Full Changelog: View v8.1.1 details 🔗 Documentation & Visualizer: officeparser.harshankur.com