v1.15.0
See CHANGELOG.md for details.
v5.2.12
5.2.12 (2026-09-25)
- CEA: Honor CEA-708 caption pen opacity (#10621) (4dc1474), closes #10620
- DASH: Get the key ID from the init segment when the manifest has none (#10552) (7ee04ec), closes #10390
- DRM: Ignore session creation during teardown (#10614) (fc396d0)
- net: Avoid dropping low-latency segments when a retried request succeeds (#10646) (d6f939f)
- Prevent destroy() from hanging when playback is wedged (#10624) (5d713d0), closes #10623
- WebVTT: Parse every fragment of a multi-fragment MP4 segment (#10642) (0d8a677)
v5.1.25
5.1.25 (2026-09-25)
- CEA: Honor CEA-708 caption pen opacity (#10621) (fb9ceea), closes #10620
- DRM: Ignore session creation during teardown (#10614) (b123a81)
- net: Avoid dropping low-latency segments when a retried request succeeds (#10646) (e7abce9)
- Prevent destroy() from hanging when playback is wedged (#10624) (9585825), closes #10623
- WebVTT: Parse every fragment of a multi-fragment MP4 segment (#10642) (aa42523)
v16.4.0-canary.46
- Revert "Add experimental custom webpack support": #99227
- test: stabilize lazy dynamic import error overlay: #98730
- turbo-tasks-gc: tear down reverse edges when collecting a task: #99145
- Sequence CI for branch-based PR stacks: #99086
- Prefetch scheduler mirrors the navigation's tree walk: #98975
- Separate route structure comparison from param comparison: #98974
- Store the head as its own CacheNode: #98973
- Record which params a CacheNode's data depends on: #98972
- Use RouteTree for CacheNode tree: #98971
- Remove the page/layout distinction from RouteTree: #98970
- Fix root predicates: #98942
- [turbopack] only remove followers if they are actually removed as children: #98843
- turbo-tasks-backend: simplify the collectibility predicate and collect transient tasks: #98615
- turbo-tasks-gc: Invalidating a deleted task should be a no-op: #98614
- Avoid decoding prerender matcher parameters twice: #99121
Huge thanks to @eps1lon, @sokra, @lukesandberg, @acdlite, and @gnoff for helping!
Release 2026-09-25
-
#10192: Mock-server XML response bytes now use the shared schema-aware serializer instead of
json2xml, including attributes, namespaces, and root naming. Existing XML response snapshots may need updating. Supplied serialized XML remains unchanged.Generate XML examples from schema metadata, preserving attributes, namespaces, array wrappers, repeated elements, and OpenAPI 3.2 text and CDATA nodes. Use the same XML serialization for request bodies, code snippets, response examples, mock responses, and Markdown documentation. Preserve serialized media examples and escape schema string examples as element text.
Explain XML generation failures in response example panels, including the serialized-example escape hatch for large payloads. Expose XML generation failures in mock response headers with
X-Scalar-XML-Error, containing the first error diagnostic code. Report diagnostics to other consumers through a callback or the developer console, and format element-only descendants within mixed content without changing text values.
- #10344: Share JSON and property-name escaping for inline scripts between client-side and server-side rendering.
-
#10192: Mock-server XML response bytes now use the shared schema-aware serializer instead of
json2xml, including attributes, namespaces, and root naming. Existing XML response snapshots may need updating. Supplied serialized XML remains unchanged.Generate XML examples from schema metadata, preserving attributes, namespaces, array wrappers, repeated elements, and OpenAPI 3.2 text and CDATA nodes. Use the same XML serialization for request bodies, code snippets, response examples, mock responses, and Markdown documentation. Preserve serialized media examples and escape schema string examples as element text.
Explain XML generation failures in response example panels, including the serialized-example escape hatch for large payloads. Expose XML generation failures in mock response headers with
X-Scalar-XML-Error, containing the first error diagnostic code. Report diagnostics to other consumers through a callback or the developer console, and format element-only descendants within mixed content without changing text values.
-
#10192: Mock-server XML response bytes now use the shared schema-aware serializer instead of
json2xml, including attributes, namespaces, and root naming. Existing XML response snapshots may need updating. Supplied serialized XML remains unchanged.Generate XML examples from schema metadata, preserving attributes, namespaces, array wrappers, repeated elements, and OpenAPI 3.2 text and CDATA nodes. Use the same XML serialization for request bodies, code snippets, response examples, mock responses, and Markdown documentation. Preserve serialized media examples and escape schema string examples as element text.
Explain XML generation failures in response example panels, including the serialized-example escape hatch for large payloads. Expose XML generation failures in mock response headers with
X-Scalar-XML-Error, containing the first error diagnostic code. Report diagnostics to other consumers through a callback or the developer console, and format element-only descendants within mixed content without changing text values.
-
#10343: Restrict AsyncAPI external references to the source directory and public network addresses, and preserve the source location for preloaded documents.
URL inputs to
createAsyncApiMockServeralso reject private network addresses, including localhost. Load local files or pass preloaded document content for local development. Docker documents supplied throughOPENAPI_DOCUMENTresolve relative references from their temporary/tmp/openapi.jsonor/tmp/openapi.yamlfile, confined to/tmp. Both OpenAPI and AsyncAPI Docker documents preserve the selected source origin. -
#10192: Apply edited XML bodies instead of their original serialized or data examples, render schema-free XML examples in Markdown, and share reference decoding and response provenance selection.
-
#10192: Mock-server XML response bytes now use the shared schema-aware serializer instead of
json2xml, including attributes, namespaces, and root naming. Existing XML response snapshots may need updating. Supplied serialized XML remains unchanged.Generate XML examples from schema metadata, preserving attributes, namespaces, array wrappers, repeated elements, and OpenAPI 3.2 text and CDATA nodes. Use the same XML serialization for request bodies, code snippets, response examples, mock responses, and Markdown documentation. Preserve serialized media examples and escape schema string examples as element text.
Explain XML generation failures in response example panels, including the serialized-example escape hatch for large payloads. Expose XML generation failures in mock response headers with
X-Scalar-XML-Error, containing the first error diagnostic code. Report diagnostics to other consumers through a callback or the developer console, and format element-only descendants within mixed content without changing text values.
-
#10356: Load densely cross-linked API descriptions with far less memory. References are now linked after coercion, so TypeBox no longer copies the reference graph each time it checks a union or array. Stripe's API description loads in about 2 seconds with a peak of about 190 MB, down from about 17 seconds and 1.4 GB, so it now loads and renders with a 768 MB heap limit.
Coercion now checks each reference target in its own position, not through every reference that points to it. Before, a target that failed a strict schema check (for example, a schema with
oneOfreferences) could turn the reference into an empty schema and drop siblingx-extensions. Those references and extensions are now kept, so affected response schemas render in full.References to targets that coercion drops, such as a root-level
definitionsblock, now link to a copy cast as the schema, parameter, response or other object the reference stands in for, and their anchors resolve against the resource that contains them. A$ref: '#'inside a schema with an$idnow links to that schema.Coerce reference targets stored in extension data and schema siblings on fallback references before rendering, avoiding crashes from malformed fields while preserving recursive links.
-
#10192: Apply edited XML bodies instead of their original serialized or data examples, render schema-free XML examples in Markdown, and share reference decoding and response provenance selection.
- #10346: Add
onIncompatible: 'ignore'for best-effort OpenAPI 3.2 upgrades. Apply available migrations and return the document despite compatibility issues, without mutating the input. Strict mode remains the default; malformed versions and clone errors still throw.
-
#10192: Mock-server XML response bytes now use the shared schema-aware serializer instead of
json2xml, including attributes, namespaces, and root naming. Existing XML response snapshots may need updating. Supplied serialized XML remains unchanged.Generate XML examples from schema metadata, preserving attributes, namespaces, array wrappers, repeated elements, and OpenAPI 3.2 text and CDATA nodes. Use the same XML serialization for request bodies, code snippets, response examples, mock responses, and Markdown documentation. Preserve serialized media examples and escape schema string examples as element text.
Explain XML generation failures in response example panels, including the serialized-example escape hatch for large payloads. Expose XML generation failures in mock response headers with
X-Scalar-XML-Error, containing the first error diagnostic code. Report diagnostics to other consumers through a callback or the developer console, and format element-only descendants within mixed content without changing text values.
-
#10341: Avoid excessive processing time when encoding chunk names with long runs of dots.
-
#10342: Prevent prototype pollution when merging documents and writing nested values or JSON references, while preserving prototype-named JSON data properties.
Dot-separated mutations now reject new
constructorandprototypekeys, as well as__proto__, instead of creating these keys through inherited properties. -
#10334: Include optional form fields when selecting files or editing values, while preserving explicitly unchecked fields.
-
#10192: Apply edited XML bodies instead of their original serialized or data examples, render schema-free XML examples in Markdown, and share reference decoding and response provenance selection.
- #10349: Support Astro 7 in the Starlight integration.
-
#10350: Keep long response bodies scrollable inside the body panel in narrow API client layouts.
-
#10192: Mock-server XML response bytes now use the shared schema-aware serializer instead of
json2xml, including attributes, namespaces, and root naming. Existing XML response snapshots may need updating. Supplied serialized XML remains unchanged.Generate XML examples from schema metadata, preserving attributes, namespaces, array wrappers, repeated elements, and OpenAPI 3.2 text and CDATA nodes. Use the same XML serialization for request bodies, code snippets, response examples, mock responses, and Markdown documentation. Preserve serialized media examples and escape schema string examples as element text.
Explain XML generation failures in response example panels, including the serialized-example escape hatch for large payloads. Expose XML generation failures in mock response headers with
X-Scalar-XML-Error, containing the first error diagnostic code. Report diagnostics to other consumers through a callback or the developer console, and format element-only descendants within mixed content without changing text values. -
#10334: Include optional form fields when selecting files or editing values, while preserving explicitly unchecked fields.
-
#10192: Mock-server XML response bytes now use the shared schema-aware serializer instead of
json2xml, including attributes, namespaces, and root naming. Existing XML response snapshots may need updating. Supplied serialized XML remains unchanged.Generate XML examples from schema metadata, preserving attributes, namespaces, array wrappers, repeated elements, and OpenAPI 3.2 text and CDATA nodes. Use the same XML serialization for request bodies, code snippets, response examples, mock responses, and Markdown documentation. Preserve serialized media examples and escape schema string examples as element text.
Explain XML generation failures in response example panels, including the serialized-example escape hatch for large payloads. Expose XML generation failures in mock response headers with
X-Scalar-XML-Error, containing the first error diagnostic code. Report diagnostics to other consumers through a callback or the developer console, and format element-only descendants within mixed content without changing text values. -
#10335: Clarify operation authentication tooltips with separate headings, readable scheme types, API key locations and names, and formatted descriptions.
-
#10336: Preserve nested object boundaries for properties composed from multiple allOf schemas.
-
#10333: Fix sidebar navigation scrolling past operations and models in themes with decorative backgrounds.
Measure only headers registered with
data-scalar-scroll-headerwhen scrolling to content. Scalar registers its mobile header and sticky breadcrumb bar automatically; embedding sites can register their own fixed or sticky headers with the same attribute.Host headers are no longer discovered automatically. Register fixed or sticky host headers with
data-scalar-scroll-header, or reserve their height with--scalar-custom-header-height. Registered Scalar breadcrumbs are counted below that reserved space.
- #10344: Share JSON and property-name escaping for inline scripts between client-side and server-side rendering.
- #10344: Escape configuration data embedded in inline scripts to prevent HTML script injection.
-
#10342: Prevent prototype pollution when merging documents and writing nested values or JSON references, while preserving prototype-named JSON data properties.
Dot-separated mutations now reject new
constructorandprototypekeys, as well as__proto__, instead of creating these keys through inherited properties. -
#10345: Update undici to 7.29.0 to address security vulnerabilities in HTTP requests, proxies, WebSockets, cookies, and caching.
-
#10342: Prevent prototype pollution when merging documents and writing nested values or JSON references, while preserving prototype-named JSON data properties.
Dot-separated mutations now reject new
constructorandprototypekeys, as well as__proto__, instead of creating these keys through inherited properties. -
#10338: Update ts-deepmerge to prevent untrusted object properties from replacing built-in methods and breaking string conversion.
Properties named after built-in object methods, including
toString,valueOf, andhasOwnProperty, are now omitted from merged data.
- #10344: Share JSON and property-name escaping for inline scripts between client-side and server-side rendering.
-
#10192: Mock-server XML response bytes now use the shared schema-aware serializer instead of
json2xml, including attributes, namespaces, and root naming. Existing XML response snapshots may need updating. Supplied serialized XML remains unchanged.Generate XML examples from schema metadata, preserving attributes, namespaces, array wrappers, repeated elements, and OpenAPI 3.2 text and CDATA nodes. Use the same XML serialization for request bodies, code snippets, response examples, mock responses, and Markdown documentation. Preserve serialized media examples and escape schema string examples as element text.
Explain XML generation failures in response example panels, including the serialized-example escape hatch for large payloads. Expose XML generation failures in mock response headers with
X-Scalar-XML-Error, containing the first error diagnostic code. Report diagnostics to other consumers through a callback or the developer console, and format element-only descendants within mixed content without changing text values. -
#10335: Clarify operation authentication tooltips with separate headings, readable scheme types, API key locations and names, and formatted descriptions.
-
#10339: Escape JavaScript and favicon URL attributes to prevent values from injecting HTML.
Apply the same attribute escaping to Django Ninja JavaScript and favicon URLs.
-
#10339: Escape JavaScript and favicon URL attributes to prevent values from injecting HTML.
Apply the same attribute escaping to Django Ninja JavaScript and favicon URLs.
- @scalar/api-reference@1.72.1
- #10347: Update the Rust lockfile to patched actix-http, time, bytes, and rand releases.
-
#10343: Restrict AsyncAPI external references to the source directory and public network addresses, and preserve the source location for preloaded documents.
URL inputs to
createAsyncApiMockServeralso reject private network addresses, including localhost. Load local files or pass preloaded document content for local development. Docker documents supplied throughOPENAPI_DOCUMENTresolve relative references from their temporary/tmp/openapi.jsonor/tmp/openapi.yamlfile, confined to/tmp. Both OpenAPI and AsyncAPI Docker documents preserve the selected source origin.
- #10352: Fix desktop login callback port allocation and allow the dashboard to confirm successful login.
- @scalar/api-reference@1.72.1
- @scalar/api-reference@1.72.1
- @scalar/api-reference@1.72.1
- @scalar/api-reference@1.72.1
- @scalar/api-reference@1.72.1
- @scalar/api-reference@1.72.1
Tabler v1.6.0
Tabler 1.6 is out. It brings eight new components, a datepicker that doesn't depend on Litepicker any more, a neutral gray scale, colors defined in oklch() and a focus ring that's finally an outline. The CSS also got smaller: about 110 kB came off tabler.min.css. On top of that there are more than a hundred smaller changes across the framework, the demo pages and the docs.
A calendar popup for a text input or a button, or an inline calendar on the page. It handles a single date, several dates and a range. It's built on Vanilla Calendar Pro, so Litepicker is deprecated, and the docs have a section on moving over from it.
Tiny line, bar and circle charts drawn inline with text, for a trend in a table cell or next to a number. The chart is an SVG rendered from data-bs-values, so no chart library is needed. It takes its color from text utilities and its size from classes.
A colored marker, a label and an optional value for the series of a chart or a progress bar. Group items with .legend-list, and turn on the interactive mode to toggle a series on click. The large variant .legend-lg shows a big value with a unit.
A small row of stepped bars that shows a level, such as priority, strength or coverage. It sits next to a label, and the number of bars, the color and the size are all adjustable.
A segmented meter that rates the password as the user types, so a weak password is visible before the form is sent. The scoring and the labels are configurable, and every change fires change.bs.strength.
A one-time code field shown as separate character slots. It's still one real input underneath, so autofill, password managers, SMS codes and screen readers work. Slots can be grouped and masked, and there are validation states.
A copy button for the text of a field, an element or a literal string, with a short copied state. It's built on the browser clipboard API and fires events, so dist/libs/clipboard is deprecated.
A short shower of colored pieces over the page, for a finished setup, a first order or a signup. Put data-bs-toggle="confetti" on a button or call it from JavaScript, and set the amount, length, speed and colors with data attributes.
Autosize, CountUp, InputMask, Sortable and SwitchIcon are real components with instances, methods and events. Autosize and CountUp are written from scratch and don't need the dist/libs scripts any more, so those are deprecated. CountUp respects prefers-reduced-motion.
Switch icon got a switch-icon-loading state. Pass a promise to event.wait() in the toggle.bs.switch-icon event and the button shows a spinner until it settles.
Sortable got drag styles for the ghost, the chosen and the dragged item, and the demo shows a drag handle, table rows, a kanban board, clone, multi-drag and swap.
tabler.js also no longer stops on page load when one element has an invalid data-* config. The error is logged and every other component is still created.
The default gray scale is neutral now. In 1.5 it had a slight blue tint, so backgrounds, borders and muted text look a little different. To keep the 1.5 look, load tabler-themes.css and set data-bs-theme-base="gray" on <html>.
The palette is defined in oklch(), and tints, shades and hover states are mixed with color-mix(in oklab) instead of rgba(). Mixed colors are a touch cleaner, mostly noticeable in the lighter backgrounds. The --tblr-*-rgb variables are deprecated and stay until 2.0.
The focus indicator is a solid 2px outline instead of a box-shadow halo, stronger in dark mode. You can tune it per component with --tblr-focus-ring-width and --tblr-focus-ring-color.
.navbar-floating detaches the navbar and the sidebar from the edge of the screen with a 0.5rem gap, and .offcanvas-floating does the same for an offcanvas. The theme settings data-bs-navbar-style="floating" and data-bs-offcanvas-style="floating" on <html> switch the whole page.
A native <dialog> opened with showModal() gets the same backdrop as a modal, and .modal-blur on it blurs the page behind. Scrolling to the end of a modal, an offcanvas or a scrollable dropdown no longer scrolls the page behind it.
tabler.min.css lost about 110 kB. The button, list group, bg-pattern-* and color utility styles are generated once instead of per variant, and the vertical navbar is generated once instead of per breakpoint. The flag, payment and social SVGs in dist/img are minified, and only the images the CSS uses are copied.
If you ship your own build, $enable-deprecated: false leaves the deprecated aliases and the --tblr-*-rgb variables out of the CSS entirely.
The demo has a new billing page, a system status panel with 60-day uptime bars, gauge cards on the widgets page and a reworked charts page with sections and legends. The hardcoded Google Maps and Mapbox keys are gone; the map demos read them from the environment.
Component docs pages got a CSS variables section generated from the source, so it can't go stale. Markdown tables and the class reference table sit in a bordered, scrollable box. The CDN snippets carry integrity and crossorigin attributes. There's a Sortable page, an agent skill under /.well-known/agent-skills/, and the upgrade guides moved to /ui/getting-started/upgrade/ with one page per release.
Nothing in 1.6 requires a change to your markup. Two things can trip a build:
- 69 Sass variables that were plain colors are
color-mix()strings now, so they follow--tblr-*overrides in the browser. That's the*-bg-subtle,*-text-emphasisand*-border-subtlefamilies,$body-secondary-color,$input-focus-border-colorand a few navbar, dropdown and switch colors. Overriding them still works, but a Sass color function such asdarken()orrgba()on their default value fails. Build from the base color instead:shade-color(tint-color($primary, 80%), 5%). - The component port is compiled with strict TypeScript and every config is typed. A TypeScript project that passes a loosely typed options object to a component may get new type errors. Nothing changes at runtime.
A few things are deprecated and keep working:
.form-hintis.form-textnow, matching Bootstrap. The old class is an alias.- An empty
.legendstill renders as a dot, but.legend-dotis the class for it. - The
$*-focus-box-shadowvariables,theme-color-lighter(),url-svg(),varify()and a few other Sass helpers warn when used. - The
tabler.tablerJS namespace withgetColor()andhexToRgba()is deprecated. Read the variable yourself.
Every change, with a before and after example for each one, is in the Upgrade to 1.6 guide.
- a13ebc3: Added
Autosizecomponent totabler.js, withupdate()anddispose()methods. - 038000f: Added the
--tblr-btn-input-*control scale on:root(padding, font size, line height, radius, min height per size). - 0e2faa0: Added a
Clipboardcopy button built on the browser API;dist/libs/clipboardis deprecated. - e63fe34: Added a
Confetticomponent withdata-bs-toggle="confetti", a demo page and docs. - 118380d: Added
Datepickerplugin built on Vanilla Calendar Pro with adatepickerpreview page; Litepicker is deprecated. - 0905918: Updated the default gray scale (
$gray-50…$gray-950) toneutral;data-bs-theme-base="gray"keeps the 1.5 look. - 2b44251: Added the
.flag-country-ytflag for Mayotte. - 744a09c: Updated the focus indicator from a
box-shadowto anoutline; the$*-focus-box-shadowvariables and tokens are deprecated. - c1373d7: Added
--tblr-hover-bgvariable and used it for the hover background of buttons, nav links, dropdown items and list groups. - be30919: Updated
.legendinto a legend item with.legend-dot,.legend-value,.legend-offand.legend-list, plus aLegendcomponent. - a984752: Added
.legend-lg,.legend-unitand.legend-list-dividedfor large legend items with a big value and a unit. - c1786b5: Added
dialog::backdropstyling so a native<dialog>uses the same backdrop as modals. - 7e7b2ce: Added
.navbar-floatingand thedata-bs-navbar-style="floating"theme setting for a navbar and sidebar with a0.5remgap. - 7e7b2ce: Added
.offcanvas-floatingand thedata-bs-offcanvas-style="floating"theme setting for an offcanvas with a0.5remgap. - 0fe02b3: Updated color mixing to
color-mix(in oklab); the--tblr-*-rgbvariables are deprecated and stay until 2.0. - a744b84: Added the
OtpInputcomponent with grouped slots, masking, and validation states. - a984752: Added
.page-section-titleand.page-section-descriptionclasses for section headings inside the page body. - 107e493: Updated the palette to
oklch()and masked the check, switch, toggler and carousel icons;tablerJS namespace is deprecated. - a9efcc2: Added the Signal component (
.signal): stepped bars that show a level such as priority, with aSignal.astrowrapper. - bd60d5f: Added SortableJS drag styles; set
forceFallbacktotrueon adata-sortablelist to drag a styled, tilted copy. - 5d5be36: Added
Sparklinecomponent: inline SVG line, bar and circle charts fromdata-bs-values, with size classes and signed bars. - 9669c0a: Added a
Strengthpassword meter with a segmented bar, configurable scoring andchange.bs.strength. - 0776b88: Added a
switch-icon-loadingstate and a cancelabletoggle.bs.switch-iconevent withevent.wait(promise)for async toggles. - bd5c010: Added
SwitchIcon,CountUp,InputMaskandSortablecomponents totabler.js. - da79879: Updated
.accordion-buttonline height to1.25remvia the--tblr-accordion-btn-line-heightvariable. - b295d84: Fixed
.accordion-button-toggle-pluswith sprite icons by rotating the plus into a close icon instead of hiding a path. - 72a95d8: Fixed
.alertlayout so headings, descriptions, lists and buttons align and stack correctly. - 62408b8: Added a dependency-free
Autosizecomponent that firesresized.bs.autosize;dist/libs/autosizeis deprecated. - 3b8bf55: Updated the button, list group,
bg-pattern-*and color utility styles to cut 72 kB fromtabler.min.css. - 58e03a9: Fixed
CountUprejecting numbers and booleans written as strings indata-countup, which countUp.js accepted. - ea10f0e: Added a dependency-free
CountUpcomponent that respectsprefers-reduced-motion;dist/libs/countup.jsis deprecated. - 58e03a9: Updated
theme-color-lighter(),url-svg(),varify()and five more Sass helpers to deprecated; they warn when used. - 18a8a49: Fixed
.dropdown-menu-arrowborder rendering on Firefox by trimming the clipped edges. - 58e03a9: Added
$enable-deprecated; set it tofalseto leave the deprecated aliases and--tblr-*-rgbvariables out of the CSS. - f778fcf: Removed the
js/testsandscss/testsfolders from the published@tabler/corepackage. - 7bfeb12: Fixed
.alert-linkchanging color on hover. - cac3179: Fixed the ApexCharts tooltip arrow staying white in Safari by painting
.apexcharts-tooltip-arrowdirectly. - 7bfeb12: Fixed
.card-optionsbeing taken out of the.card-headerflow byposition: absolute. - 79796ab: Fixed
.card-progressto overlay the card like.card-status, so its rounded corners match the card's radius exactly. - db903c3: Fixed
.card-status-*strip corners not matching the card'sborder-radius. - 7bfeb12: Fixed
Datepickerreopening on a second trigger click, itsshowandhideevents, and its color scheme on light pages. - 7bfeb12: Fixed
--tblr-focus-ring-widthand--tblr-focus-ring-coloroverrides having no effect when set on a component. - ce52364: Fixed the default browser border and padding on
.form-helpwhen it is a<button>. - 7bfeb12: Fixed the
.form-switchknob not moving in RTL and its size in.form-switch-lg. - 7bfeb12: Fixed
tabler.jsstopping on page load when one element has an invaliddata-*config; the error is logged instead. - 67a3795: Fixed
.input-group-flatso.input-group-textfollows the.is-validand.is-invalidborder and focus colors. - 531529a: Fixed jQuery
.on()listeners not receiving Bootstrap events likeshow.bs.dropdownin all components. - 127c56b: Fixed the empty gutter to the right of the navbar on non-scrolling pages by dropping
scrollbar-gutter: stablefromhtml. - 7e7b2ce: Fixed the menu row of the two-row navbar staying light with
data-bs-navbar-themeset todarkorprimary. - 7bfeb12: Fixed missing
IMaskInstanceandSortableInstanceindist/types;vanilla-calendar-prois an optional peer dependency. - 64dd529: Fixed the
.form-selectgroup-labelicon-only margin applying to icons nested deeper inside the label. - 9268348: Fixed
.stretched-linkon a.btnso the link covers its whole container instead of only the button. - 61b492e: Fixed
.table-stripedand.table-striped-columnsrepainting rows and cells that set a.bg-*,.table-*or inline background. - fa70c03: Fixed missing border between
.card-tableand.card-footerwhen wrapped in.table-responsive. - a9efcc2: Fixed Tom Select growing taller on focus when the selected item has an indicator (avatar, flag, badge).
- c99a436: Fixed
.is-validand.is-invalidborder colors and focus ring on Tom Select.form-selectfields. - 57e213b: Updated
.form-hintto Bootstrap's.form-text, with.form-hintkept as a deprecated alias. - cc7afaf: Fixed a disabled off
.form-switchlooking the same as an enabled one by filling its track and darkening the knob. - 03985e3: Fixed text badges in navbar
.nav-linkoverlapping the title and causing horizontal scroll in the stacked menu. - 0460291: Updated the
.navbar-verticalstyles to be generated once instead of per breakpoint, cutting 36 kB fromtabler.min.css. - 2b44251: Updated the flag, payment and social SVGs in
dist/imgto be minified with svgo, and copied only the images the CSS uses. - 41e2dc7: Updated
prefont size to 13px with a new$pre-font-sizevariable, and$markdown-pre-font-sizefor.markdown. - 2b99ed5: Fixed invisible text selection inside
preblocks in light mode. - c1786b5: Added
overscroll-behavior: containto.modal,.modal-body,.offcanvas-bodyand.dropdown-menu-scrollable. - 3e60b18: Fixed
.navbar-expand,.btn-link:hover,--*-darken,.ribbonfold colors,.avatar-brandz-index and dark mode literals. - 1ffbeec: Updated the Bootstrap component port to strict TypeScript with typed
ComponentConfigtypes and addedeventActionOnPlugin. - 3e60b18: Fixed light theme islands losing
data-bs-theme-primaryand radius, and added.theme-darkto the dark mode selectors. - 8db40cd: Fixed Tom Select controls being shorter than
.form-controlby using Tabler input metrics in all sizes.
- 64dd529: Added new billing page with plan usage, payment method, and invoices layout.
- a984752: Updated the charts page with sections, card subtitles,
Legendlists above charts and a semantic colors chart. - bd60d5f: Added grouped Sortable demos: drag handle, table rows, kanban board, clone, multi-drag and swap.
- 3f767ee: Added a System status panel with 60-day uptime history bars to the Uptime preview page.
- 3f767ee: Added ApexCharts gauge cards to the Widgets preview page.
- eda6503: Updated the preview navbar Sponsor button and the docs sidebar Illustrations card to an All Package link and card.
- 4676d12: Fixed
CardTitletext color onCardBackgroundIconfor readability. - 7bfeb12: Added a Sortable docs page covering
data-sortable, the drag styles and theSortablecomponent. - 364ccf8: Fixed keyboard access and accessible names across preview pages,
Alert,Avatar,Rating,TagandWysiwygcomponents. - 3f767ee: Fixed the "Card with code" widget rendering its code as plain text instead of a
preblock. - 084d202: Fixed docs breadcrumbs, unresolved
siteexpressions in the.mdmirrors and the missingplayandrssicons. - 084d202: Fixed
robots.txt, minified assets inBaseLayout, the marketing menu link and themarkdown.htmlredirect in the preview. - 0d39308: Fixed heading order, form
autocompleteand accessible names on preview pages,Alert,Button,DropzoneandAvatar. - 8636174: Fixed
Trendingsigns, ApexCharts 7 legend markers, marketing asset paths,pageLibschecks and the notifications close button. - 9268348: Fixed the actions dropdown in the tables and invoices demos being cut off by
.table-responsive. - 4cfa9f3: Removed the hardcoded Google Maps and Mapbox keys; map demos now read
GOOGLE_MAPS_KEYandMAPBOX_KEYfrom the environment. - bf576f1: Fixed page modals leaking between pages and made the change-password and confirm-delete modal scripts plain inline JS.
- 1dbabb5: Fixed a dev-server
ENOENTrace: preview'swatch:cssnow writes totmp-assets/cssandcopy-assetssyncs it intopublic/. - add68b2: Fixed the missing promo top banner on docs.tabler.io and preview.tabler.io by restoring the
banner.jsscript. - f06de8a: Updated Tabler Icons to v3.48.0.
- 8ceb56b: Added an agent skill under
/.well-known/agent-skills/and anai-catalog.jsonmanifest to the docs. - 8ae47ae: Added a CSS variables section to component docs pages, replacing the hand-written SCSS variables sections.
- 6bd3fff: Added the upgrade guide for Tabler 1.6 and moved the upgrade guides to
/ui/getting-started/upgrade/with one page per release. - 2129b0b: Added a
check:open-sourcegate and the five missing attributions, including Popper, which ships insidetabler.js. - da79879: Updated accordion docs examples to use
.bg-surfaceon each.accordion-item. - 7bfeb12: Added relative colors,
oklch(from …), to the features that set the minimum browser versions on the browser support page. - bcf5991: Added
integrityandcrossoriginattributes to the CDN snippets on the installation and plugin pages. - bab8f24: Updated the class reference table in the docs to use the bordered
.docs-tablebox. - c28e848: Updated the confetti amount example to use plain
.btnbuttons instead of.btn-outline-primary. - 41e2dc7: Updated markdown tables in the docs with a bordered, scrollable
.docs-tablebox and a tighter header row. - 5a735bc: Added a note to the installation docs that
tabler.jsalready includes Bootstrap and must not be loaded next to it. - 7bfeb12: Added a note to the 1.5 upgrade guide that
.text-gray-*classes, a no-op in 1.4, now set the text color. - 7bfeb12: Added Litepicker,
.legendand neutral gray sections to the 1.6 upgrade guide; fixed the jsVectorMap CDN link. - e052821: Added
--tblr-status-color-rgb,presize,.card-options,.page-section-titleand.theme-darkto the 1.6 upgrade guide. - 9268348: Fixed the missing icon spacing in the "Alerts with icons" example on the alert docs page.
- 86ac4f1: Fixed the unreadable "5" badge in the avatar status docs example by adding
text-gray-100. - 6f96282: Fixed the "Card on a background pattern" docs example so the preview shows the
.bg-pattern-diagonalbackground.
socket.io@4.8.4
- cleanup pending acks on timeout to prevent memory leak (37aad11)
- prevent uWebSockets.js from serving missing client files (dfb5ab3)
- reject stateful regexps for dynamic namespaces (59f4f24)
- types: allow emitWithAck() for events with void callbacks (#5453) (8b93a18)
- types: properly import http module (74599a6)
engine.io@~6.6.0(no change)ws@~8.21.0(diff)
socket.io-client@4.8.4
- types: export ExtendedError for connect_error event (#5548) (c0d5450)
- types: export reserved event interfaces (#5533) (03945df)
engine.io-client@~6.6.1(no change)ws@~8.21.0(diff)