2 hours ago
billboard.js

4.0.0

4.0.0 (2026-06-16)

The detailed new feature description can be found at:

billboard.js 4.0 release: Canvas rendering mode, 94.3% faster overall in benchmark! (dev.to link)

Bug Fixes

  • background: Correct background image position in canvas (34009de)
  • boost: Correct rootSelector typo in CSS scope initialization (a0673ee), closes #4123
  • boost: Reuse Worker and Object URL to prevent memory leak (fc812fb), closes #3720
  • canvas: address canvas render review issues (70df3f6)
  • canvas: align candlestick labels with wick endpoints (b328da4)
  • canvas: align rendering and touch interaction parity (5944cab)
  • data: Add type check before 'in' operator in JSON dot-notation path resolver (67c00b9), closes #4116
  • data: Handle non-array value for data.json (dc5d04c), closes #4103
  • types: Add file extensions to types (02c7bf6), closes #4097
  • types: Export shape option types from main entry point (#4109) (f4a236a), closes #4104
  • util: camelCase SVG tag/attribute matching in sanitizer (631ddc5), closes #4078 #4106
  • util: update sanitization function (#4105) (d492644)
  • zoom: fix drag zoom boundary release and circle transition desync (00f6859), closes #4131 #4131

Features

  • canvas: add canvas rendering mode (200c99e)
  • esm: tree-shakable grid, regions, category modules (678e761)
  • funnel: Rotate and spline option (7a7bf25), closes #4024
  • plugin-tableview: add numberFormat configuration option (2abe355), closes #4140 #4141 by @Loksly

BREAKING CHANGES

  • esm: chart.export() and chart.flow() are no longer included automatically in the ESM build. Explicit import required:
  import bb, { bar, exportApi, flow } from "billboard.js";
  bb.generate({ ...bar(), ...exportApi(), ...flow(), data: { ... } });

UMD bundle users are not affected.

  • refactor(esm): remove prototype stubs for export and flow modules

Remove the stub implementations and delete calls that were added as fallbacks — they are unnecessary now that the resolver pattern handles lazy loading directly without stub cleanup.

  • feat(esm): make grid, regions, category APIs tree-shakable
  • Introduce grid(), regions(), category() resolver modules for opt-in ESM import
  • Remove apiGrid, apiRegion, apiCategory from axis resolver
  • Remove internal grid/region renderers from axis resolver
  • Extend Chart/api/stubs with xgrids/ygrids/regions/category/categories stubs
  • Add optional chaining in redraw/eventrect/flow/ChartInternal for grid/region methods
  • Update UMD entry to auto-invoke new resolvers
  • Update ESM entry to export new resolvers
  • Point runtime error docs to new MODULE_IMPORTS.md guide
  • Add tests for new optional modules

Add CHANGELOG-v4.md for release notes and MODULE_IMPORTS.md as the canonical module import guide referenced from runtime error messages.

  • esm: In ESM builds, chart.xgrids()/ygrids(), chart.regions(), chart.category()/categories() now require explicit import:
  import bb, {bar, grid, regions, category} from "billboard.js";
  grid(); regions(); category();  // run once per app

UMD bundle users are not affected — the UMD entry auto-invokes all resolvers.

9 hours ago
next.js

v16.3.0-canary.52

Core Changes

  • chore: upgrade next-rspack to rspack 2.0: #92222

Misc Changes

  • docs: Route Handlers to be supported later on: #94705
  • [ci] Allow "rerun failed jobs" to work up until 5 days for e2e deploy tests: #94812
  • Fix stale next data API test URL: #94815
  • Format submillisecond durations as milliseconds: #94813
  • Instruct agents to keep and commit the generated agent-rules block: #94725
  • [agents-md] Index bundled docs instead of downloading into .next-docs: #94719
  • docs: add prefetchInlining config reference: #94650
  • Move warnOnce imports into statements guarded by process.env.NODE_ENV === 'development': #94781
  • Expand signature rewriting to allow returning ResolvedVc from turbo task functions: #94772
  • Move errorOnce imports into statements guarded by process.env.NODE_ENV === 'development': #94782
  • Add a message to AGENTS.md about super:: imports.: #94733
  • Turbopack: add experimental React compiler support: #94573

Credits

Huge thanks to @icyJoseph, @eps1lon, @devjiwonchoi, @timneutkens, @gaojude, @ifer47, @sampoder, @lukesandberg, @wbinnssmith, and @SyMind for helping!

12 hours ago
heroui

v3.2.0

What's inside

  • React Aria 1.18.0
  • Calendar → week/day views, multi-select, year picker
  • Table → SortableColumnHeader
  • Autocomplete → Virtualizer
  • Tooltip → delay theme vars
  • Toggles → new Field composition

Breaking Changes

Radio, Checkbox, and Switch move to an explicit *.Content composition — *.Control nests inside *.Content, the label is plain text inside *.Content (no nested <Label>), and Description/FieldError become siblings of *.Content.

What's Changed

New Contributors

Full Release Note

https://heroui.com/docs/react/releases/v3-2-0

Full Changelog: https://github.com/heroui-inc/heroui/compare/v3.1.0...v3.2.0

12 hours ago
heroui

v3.2.0

What's inside

  • React Aria 1.18.0
  • Calendar → week/day views, multi-select, year picker
  • Table → SortableColumnHeader
  • Autocomplete → Virtualizer
  • Tooltip → delay theme vars
  • Toggles → new Field composition

Breaking Changes

Radio, Checkbox, and Switch move to an explicit *.Content composition — *.Control nests inside *.Content, the label is plain text inside *.Content (no nested <Label>), and Description/FieldError become siblings of *.Content.

What's Changed

New Contributors

Full Release Note

https://heroui.com/docs/react/releases/v3-2-0

Full Changelog: https://github.com/heroui-inc/heroui/compare/v3.1.0...v3.2.0

12 hours ago
nextui

v3.2.0

What's inside

  • React Aria 1.18.0
  • Calendar → week/day views, multi-select, year picker
  • Table → SortableColumnHeader
  • Autocomplete → Virtualizer
  • Tooltip → delay theme vars
  • Toggles → new Field composition

Breaking Changes

Radio, Checkbox, and Switch move to an explicit *.Content composition — *.Control nests inside *.Content, the label is plain text inside *.Content (no nested <Label>), and Description/FieldError become siblings of *.Content.

What's Changed

New Contributors

Full Release Note

https://heroui.com/docs/react/releases/v3-2-0

Full Changelog: https://github.com/heroui-inc/heroui/compare/v3.1.0...v3.2.0

12 hours ago
formatjs

@formatjs/intl-durationformat: 0.10.15

0.10.15 (2026-06-15)

What's Changed

Full Changelog: https://github.com/formatjs/formatjs/compare/@formatjs/intl-durationformat@0.10.14...@formatjs/intl-durationformat@0.10.15

12 hours ago
formatjs

babel-plugin-formatjs: 11.3.13

11.3.13 (2026-06-15)

What's Changed

Full Changelog: https://github.com/formatjs/formatjs/compare/babel-plugin-formatjs@11.3.12...babel-plugin-formatjs@11.3.13

12 hours ago
astro

@astrojs/node@11.0.0-beta.2

Patch Changes

  • #17054 d426b67 Thanks @astrobot-houston! - Fixes an issue where Astro files with non-ASCII characters in their name weren't correctly served after the build.
12 hours ago
astro

astro@7.0.0-beta.4

Major Changes

  • #16966 6650ec2 Thanks @Princesseuh! - Makes Sätteri the default Markdown processor

    Astro now renders .md files with satteri() from @astrojs/markdown-satteri, its native Markdown pipeline, instead of the remark/rehype pipeline. @astrojs/markdown-remark is no longer installed by default.

    To keep using the remark/rehype pipeline, install @astrojs/markdown-remark and set it as your processor:

    // astro.config.mjs
    import { defineConfig } from 'astro/config';
    import { unified } from '@astrojs/markdown-remark';
    
    export default defineConfig({
      markdown: {
        processor: unified(),
      },
    });

    The deprecated markdown.remarkPlugins, markdown.rehypePlugins, and markdown.remarkRehype options still work, but now require @astrojs/markdown-remark to be used.

Patch Changes

  • #17078 04547ec Thanks @astrobot-houston! - Fixes a spurious Astro.request.headers warning on prerendered pages when security.allowedDomains is configured. The internal allowedDomains header validation now skips prerendered routes, since they use synthetic requests with no real headers.
13 hours ago
plate

v53.2.0

@platejs/yjs

Minor Changes

Contributors

Thanks to everyone who contributed to this release:

@zbeyens

Full changelog: v53.1.7...v53.2.0