3 hours ago
mermaid

@mermaid-js/tiny@11.16.0

Minor Changes

  • #7535 ea1c48f Thanks @ragelink! - feat(cynefin): Adds the Cynefin framework as a new diagram type (beta) to Mermaid (available as cynefin-beta). The Cynefin framework, created by Dave Snowden, is a decision-making framework that categorizes problems into five complexity domains, widely used in agile, incident management, strategy, and organizational design.

  • #7721 f45cc2c Thanks @notionparallax! - feat(treeView): add box-drawing character input support for treeView diagrams

  • #7550 f1f4d45 Thanks @DominicBurkart! - feat(xychart): add per-point text labels for xychart line plots

  • #7527 b4d0442 Thanks @notionparallax! - feat(treeView): Extends the existing treeView-beta diagram with features useful for representing file/directory structures.

  • #7793 a6f097d Thanks @SSDWGG! - feat(er): support optional ER attribute types with a ? suffix

  • #7772 37f2e36 Thanks @devareddy05! - feat(gantt): support multiple excludes / includes lines so long exclusion lists can be split into commented groups (#6270)

  • #7708 4e63e9d Thanks @txmxthy! - feat(architecture): add align row|column {ids…} directive to architecture-beta diagrams so authors can declare horizontal or vertical alignment of services explicitly.

  • #7760 05223be Thanks @ngdaniels! - feat(pie): Enhance Pie Chart - Enable donut chart, Set legend position, and highlight slice

  • #7251 216e4e9 Thanks @ydah! - feat(railroad): Add support for Railroad Diagrams (Syntax Diagrams) with four input syntaxes: IR (railroad-beta), EBNF (railroad-ebnf-beta), ABNF (railroad-abnf-beta), and PEG (railroad-peg-beta).

  • #7774 e5c75e6 Thanks @ngdaniels! - feat(xychart): enable rotate label on X-axis

  • #7791 974fa7b Thanks @knsv-bot! - feat(swimlane): add swimlane as a standalone diagram type with a dedicated layered orthogonal layout algorithm

Patch Changes

  • #7744 633c261 Thanks @ashishjain0512! - fix(architecture): add architecture.seed config option to make architecture diagrams render deterministically. Resolves #7729.

  • #7732 c8ba156 Thanks @rkdfx! - fix: tolerate leading horizontal whitespace before YAML frontmatter delimiters. Closes mermaid-js/mermaid#7613

  • #7314 4e4e6c4 Thanks @darshanr0107! - fix(flowchart): Prevent crash when flowchart node shape is undefined

  • #7762 cfd2391 Thanks @Dharya-dev! - fix(class): support styling and callbacks for generic classes

  • #7284 c1f116d Thanks @darshanr0107! - fix(gantt): Render gantt vertical markers without affecting row layout or chart height

  • #7786 72fbab1 Thanks @knsv-bot! - fix(er): allow special characters (e.g. dots) in ER diagram attribute names and types by escaping them with backticks

  • #7672 4887e97 Thanks @sjackson0109! - fix(flowchart): respect per-subgraph direction keyword in Dagre layout. Fixes #4648

  • #7734 a4c1e50 Thanks @OfirHaf! - fix(block): read block padding and sanitize config dynamically instead of at module load time

  • #7674 cc75089 Thanks @cyphercodes! - fix(block): respect current DOMPurify config when sanitizing labels

  • #7711 be2e282 Thanks @Jinacker! - fix(flowchart): render flowchart and state self-loop edges as a single SVG path.

  • #7781 d945968 Thanks @Dharya-dev! - fix(radar): align axis labels based on angular position to prevent clipping

  • #7661 2f5e9e8 Thanks @nabila401! - fix(venn): fix 3-circle venn diagram union rendering

  • #7780 8dcdce4 Thanks @Dharya-dev! - fix(xychart): truncate plot data to match x-axis category count

  • #7235 1bbc189 Thanks @darshanr0107! - fix: Support consecutive LaTeX in node text

  • #7247 365c1b1 Thanks @darshanr0107! - fix(treeView): Ensure treemap labels render correctly in large nested diagrams

  • #7754 06a32b7 Thanks @palgunatm66! - fix(sequence): sequenceDiagram rect backgrounds using theme-aware fallback colors

  • #7693 afaf306 Thanks @dull-bird! - fix(quadrant-chart): allow CJK, emoji, Latin-1 accented characters, and other non-ASCII text in unquoted axis/quadrant/point labels. Fixes #7120.

  • #7751 79e97cd Thanks @puneetdixit200! - fix(state): render state diagram click tooltips with mermaidTooltip

  • #7570 c2305df Thanks @PinguinsRule! - fix(state): Fix invalid syntax between state and '{'

  • #7758 a4a250b Thanks @mk24x7! - fix(venn): render labeled higher-arity unions when the underlying pairwise unions are not declared. Resolves #7656.

  • Updated dependencies [ea1c48f, b4d0442, 4e63e9d, 216e4e9]:

    • @mermaid-js/parser@1.2.0
3 hours ago
mermaid

mermaid@11.16.0

Minor Changes

  • #7535 ea1c48f Thanks @ragelink! - feat(cynefin): Adds the Cynefin framework as a new diagram type (beta) to Mermaid (available as cynefin-beta). The Cynefin framework, created by Dave Snowden, is a decision-making framework that categorizes problems into five complexity domains, widely used in agile, incident management, strategy, and organizational design.

  • #7721 f45cc2c Thanks @notionparallax! - feat(treeView): add box-drawing character input support for treeView diagrams

  • #7550 f1f4d45 Thanks @DominicBurkart! - feat(xychart): add per-point text labels for xychart line plots

  • #7527 b4d0442 Thanks @notionparallax! - feat(treeView): Extends the existing treeView-beta diagram with features useful for representing file/directory structures.

  • #7793 a6f097d Thanks @SSDWGG! - feat(er): support optional ER attribute types with a ? suffix

  • #7772 37f2e36 Thanks @devareddy05! - feat(gantt): support multiple excludes / includes lines so long exclusion lists can be split into commented groups (#6270)

  • #7708 4e63e9d Thanks @txmxthy! - feat(architecture): add align row|column {ids…} directive to architecture-beta diagrams so authors can declare horizontal or vertical alignment of services explicitly.

  • #7760 05223be Thanks @ngdaniels! - feat(pie): Enhance Pie Chart - Enable donut chart, Set legend position, and highlight slice

  • #7251 216e4e9 Thanks @ydah! - feat(railroad): Add support for Railroad Diagrams (Syntax Diagrams) with four input syntaxes: IR (railroad-beta), EBNF (railroad-ebnf-beta), ABNF (railroad-abnf-beta), and PEG (railroad-peg-beta).

  • #7774 e5c75e6 Thanks @ngdaniels! - feat(xychart): enable rotate label on X-axis

  • #7791 974fa7b Thanks @knsv-bot! - feat(swimlane): add swimlane as a standalone diagram type with a dedicated layered orthogonal layout algorithm

Patch Changes

  • #7744 633c261 Thanks @ashishjain0512! - fix(architecture): add architecture.seed config option to make architecture diagrams render deterministically. Resolves #7729.

  • #7732 c8ba156 Thanks @rkdfx! - fix: tolerate leading horizontal whitespace before YAML frontmatter delimiters. Closes mermaid-js/mermaid#7613

  • #7314 4e4e6c4 Thanks @darshanr0107! - fix(flowchart): Prevent crash when flowchart node shape is undefined

  • #7762 cfd2391 Thanks @Dharya-dev! - fix(class): support styling and callbacks for generic classes

  • #7284 c1f116d Thanks @darshanr0107! - fix(gantt): Render gantt vertical markers without affecting row layout or chart height

  • #7786 72fbab1 Thanks @knsv-bot! - fix(er): allow special characters (e.g. dots) in ER diagram attribute names and types by escaping them with backticks

  • #7672 4887e97 Thanks @sjackson0109! - fix(flowchart): respect per-subgraph direction keyword in Dagre layout. Fixes #4648

  • #7734 a4c1e50 Thanks @OfirHaf! - fix(block): read block padding and sanitize config dynamically instead of at module load time

  • #7674 cc75089 Thanks @cyphercodes! - fix(block): respect current DOMPurify config when sanitizing labels

  • #7711 be2e282 Thanks @Jinacker! - fix(flowchart): render flowchart and state self-loop edges as a single SVG path.

  • #7781 d945968 Thanks @Dharya-dev! - fix(radar): align axis labels based on angular position to prevent clipping

  • #7661 2f5e9e8 Thanks @nabila401! - fix(venn): fix 3-circle venn diagram union rendering

  • #7780 8dcdce4 Thanks @Dharya-dev! - fix(xychart): truncate plot data to match x-axis category count

  • #7235 1bbc189 Thanks @darshanr0107! - fix: Support consecutive LaTeX in node text

  • #7247 365c1b1 Thanks @darshanr0107! - fix(treeView): Ensure treemap labels render correctly in large nested diagrams

  • #7754 06a32b7 Thanks @palgunatm66! - fix(sequence): sequenceDiagram rect backgrounds using theme-aware fallback colors

  • #7693 afaf306 Thanks @dull-bird! - fix(quadrant-chart): allow CJK, emoji, Latin-1 accented characters, and other non-ASCII text in unquoted axis/quadrant/point labels. Fixes #7120.

  • #7751 79e97cd Thanks @puneetdixit200! - fix(state): render state diagram click tooltips with mermaidTooltip

  • #7570 c2305df Thanks @PinguinsRule! - fix(state): Fix invalid syntax between state and '{'

  • #7758 a4a250b Thanks @mk24x7! - fix(venn): render labeled higher-arity unions when the underlying pairwise unions are not declared. Resolves #7656.

  • Updated dependencies [ea1c48f, b4d0442, 4e63e9d, 216e4e9]:

    • @mermaid-js/parser@1.2.0
3 hours ago
mermaid

@mermaid-js/layout-elk@0.2.2

Patch Changes

3 hours ago
mermaid

@mermaid-js/parser@1.2.0

Minor Changes

  • #7535 ea1c48f Thanks @ragelink! - feat(cynefin): Adds the Cynefin framework as a new diagram type (beta) to Mermaid (available as cynefin-beta). The Cynefin framework, created by Dave Snowden, is a decision-making framework that categorizes problems into five complexity domains, widely used in agile, incident management, strategy, and organizational design.

  • #7527 b4d0442 Thanks @notionparallax! - feat(treeView): Extends the existing treeView-beta diagram with features useful for representing file/directory structures.

  • #7708 4e63e9d Thanks @txmxthy! - feat(architecture): add align row|column {ids…} directive to architecture-beta diagrams so authors can declare horizontal or vertical alignment of services explicitly.

  • #7251 216e4e9 Thanks @ydah! - feat(railroad): Add support for Railroad Diagrams (Syntax Diagrams) with four input syntaxes: IR (railroad-beta), EBNF (railroad-ebnf-beta), ABNF (railroad-abnf-beta), and PEG (railroad-peg-beta).

3 hours ago
mermaid

@mermaid-js/examples@1.3.0

Minor Changes

  • #7915 f707c3d Thanks @sidharthv96! - feat(examples): Add relatable, real-world examples for every diagram type, showcasing each diagram's strengths
5 hours ago
webpack

v5.108.0

Minor Changes

  • Treat top-level await and import.meta as ES module markers, matching Node.js syntax detection so no explicit module type is needed. (by @alexander-akait in #21218)

  • Add a bun target that emits ESM and externalizes bun:* and node.js built-in modules. (by @alexander-akait in #21248)

  • Support CommonJS reexports via Object.defineProperty value and getter descriptors. (by @alexander-akait in #21129)

  • Support JSON Schema const when generating CLI flags from a schema. (by @alexander-akait in #21087)

  • Support JSON Schema if/then/else when generating CLI flags from a schema. (by @alexander-akait in #21087)

  • Skip import specifiers, require() and import() calls in dead conditional branches gated by inlined imported constants (isDEV ? A : B), evaluated via getCondition. (by @hai-x in #21136)

  • CSS localIdentName [hash] now resolves to the local ident hash (matching css-loader); use [modulehash] for the module hash. (by @alexander-akait in #21259)

  • Add CSS parser as option and resolve url() inside HTML style attributes. (by @alexander-akait in #21157)

  • Add dedicated module classes for all built-in module types. (by @alexander-akait in #21164)

  • Support .html/.css for the default ./src entry under the html/css experiments. (by @alexander-akait in #21039)

  • Add defineConfig helper for typed configuration files. (by @alexander-akait in #21169)

  • Add a deno target (with versions, e.g. deno, deno2, deno1.40) that emits ESM, resolves node.js built-ins via the required node: specifier, and keeps Deno's own import protocols (npm:, jsr:, node:, http(s)://) external. (by @alexander-akait in #21247)

  • Use module-import for electron externals when the target supports ESM. (by @alexander-akait in #21184)

  • Add output.environment.logicalAssignment to emit ||= in runtime code when the target supports logical assignment operators. (by @bjohansebas in #21219)

  • Resolve and rewrite asset URLs inside <iframe srcdoc> in HTML modules. (by @bjohansebas in #21226)

  • Add HMR support for HTML modules with body/title DOM patching on update. (by @alexander-akait in #21011)

  • Add css-url html source type extracting url() references from CSS-valued attributes. (by @alexander-akait in #21250)

  • Add module.parser.html.sources option to disable or customize URL-attribute extraction for HTML modules, with script / script-module / stylesheet / stylesheet-inline types for custom attributes (by @alexander-akait in #21022)

  • Add module.parser.html.template option to transform HTML module source before parsing. (by @alexander-akait in #21055)

  • Extract more source URLs in HTML modules (SVG, legacy and obsolete attributes). (by @alexander-akait in #21241)

  • Inline export default <const> when the default-exported value is a primitive constant. (by @hai-x in #21189)

  • Support optimization.inlineExports for better tree-shaking. (by @hai-x in #20973)

  • Re-encode inline hash digests ([contenthash]/[chunkhash]/[fullhash]/[modulehash]) from the full content hash, so they carry full entropy and work under optimization.realContentHash and in dynamically-loaded chunk filenames; also preserve leading zero bytes in base-N digests. (by @alexander-akait in #21267)

  • Allow tree-shaking unused calls to /*#__NO_SIDE_EFFECTS__*/-annotated (pure) exports across module boundaries. (by @hai-x in #20907)

  • Defer building unused re-export targets of side-effect-free barrel modules. (by @hai-x in #21165)

  • Keep export mangling enabled for modules whose namespace object is used as a whole value, by materializing a decoupled namespace object that keeps the original export names. (by @alexander-akait in #21234)

  • Add output.environment.let option (paired with target's let capability) and emit let/const instead of var in generated runtime code wherever it is safe. Bindings that may be wrapped in runtime-condition if blocks (harmony imports, ConcatenatedModule external imports) continue to use var to preserve function scoping. (by @alexander-akait in #21010)

  • Add output.html to emit an HTML file per entrypoint, injecting its JS/CSS chunks (including dependOn shared chunks). (by @alexander-akait in #21215)

  • Add module.parser.javascript.pureFunctions to mark top-level names as side-effect-free for tree shaking. (by @hai-x in #21063)

  • Add universal to compiler.platform, true for universal targets ("universal" or ["web", "node"]). (by @bjohansebas in #21252)

  • Add output.strictModuleResolution to gate the runtime MODULE_NOT_FOUND guard. (by @hai-x in #21067)

  • Support an inline digest in hash path placeholders, e.g. [contenthash:base64:8]. (by @alexander-akait in #21259)

  • Support [uniqueName] and its [uniquename] alias in template paths. (by @alexander-akait in #21155)

  • Support CSS in Node for universal targets, collecting styles for SSR. (by @alexander-akait in #21208)

  • Improve commonjs, node-commonjs and global externals for universal targets. (by @alexander-akait in #21187)

  • Add a universal target preset (browser + web worker + Node.js + Electron + NW.js) that always outputs ECMAScript modules. (by @alexander-akait in #21214)

  • Support new Worker(new URL(...)) in universal (node + web) targets by resolving the Worker constructor from worker_threads when no global Worker exists. (by @alexander-akait in #21195)

  • Add output.workerChunkFilename and entry.worker for worker chunk filenames. (by @alexander-akait in #21128)

Patch Changes

  • Skip re-parsing the inlined entry module when no renaming is needed. (by @alexander-akait in #21167)

  • Extend the avoidEntryIife no-parse fast path to multi-entry chunks. (by @alexander-akait in #21173)

  • Reuse the binary deserialize dispatch table to speed up cache restore. (by @alexander-akait in #21175)

  • Type buildInfo and buildMeta per module type with shared common properties. (by @alexander-akait in #21172)

  • Avoid copying module runtime requirements when ownership is not transferred. (by @alexander-akait in #21140)

  • Keep all CommonJS exports when an exported function accesses them via this. (by @alexander-akait in #21179)

  • Align CLI color-support detection across Node, Deno and Bun. (by @alexander-akait in #21257)

  • Include the schema origin path in conflicting-schema CLI argument errors. (by @alexander-akait in #21087)

  • Reject __proto__, constructor and prototype path segments in cli.processArguments to prevent prototype pollution. (by @alexander-akait in #21057)

  • Speed up Compilation.deleteAsset and Compilation.renameAsset via a lazy reverse index from asset file name to containing chunks. (by @alexander-akait in #21035)

  • Fix merging of inner modules' top-level declarations in concatenated modules. (by @alexander-akait in #21170)

  • Reduce allocations in export hashing and concatenation name lookups. (by @alexander-akait in #21167)

  • Avoid toLowerCase allocations in CSS keyword comparisons. (by @alexander-akait in #21109)

  • Speed up CSS identifier escaping with a char-class lookup table. (by @alexander-akait in #21109)

  • Resolve [fullhash] in url() public paths for inlined CSS export types (style/text/css-style-sheet) at runtime. (by @alexander-akait in #21054)

  • Avoid quadratic line scan when building CSS module exports source maps. (by @alexander-akait in #21109)

  • Compute CSS comment source locations lazily. (by @alexander-akait in #21109)

  • Support inline hash digest and length in CSS module localIdentName placeholders. (by @alexander-akait in #21259)

  • Resolve full CSS escapes (including hex) in CSS-Modules names, so e.g. \75 rl() matches url(). (by @alexander-akait in #21196)

  • Reduce CSS parser CPU (hoisted per-call regexes, byte-compared @container pure-mode keywords) and stop retaining parsed comments on the reused parser instance between modules. (by @alexander-akait in #21202)

  • Reduce CSS build time and memory usage. Per-export CSS dependencies are consolidated into one dependency per module, and hot-path allocations and lookups in CSS code generation and the module-graph cache are trimmed. (by @alexander-akait in #21114)

  • Cache CSS public-path placeholder offsets per module source to avoid re-materializing and re-scanning the source on every render. (by @alexander-akait in #21054)

  • Fix CSS tokenizer infinite loops and dropped tokens on malformed input. (by @alexander-akait in #21102)

  • Speed up CSS identifier unescaping with bulk run flushing. (by @alexander-akait in #21109)

  • Skip already-visited symlink targets when resolving context hashes so cyclic symlink graphs no longer overflow the queue. (by @alexander-akait in #21088)

  • Resolve DefinePlugin access to an undefined object member as undefined. (by @alexander-akait in #21040)

  • Avoid materializing dependency source locations when sorting, keeping them lazy to reduce build time and memory. (by @alexander-akait in #21228)

  • Speed up serialization deserialize by replacing a Buffer.isBuffer call with a typeof check. (by @hai-x in #21203)

  • Emit assets with absolute target paths as-is to avoid invalid Windows paths. (by @alexander-akait in #21223)

  • Add output.environment.spread, output.environment.hasOwn, and output.environment.symbol, and use method shorthand, spread, Object.hasOwn, and an unguarded Symbol in generated runtime code where the environment supports it. (by @alexander-akait in #21188)

  • Drop the unused loadScript runtime from ESM hot-update bundles. (by @alexander-akait in #21208)

  • Extend value binding optimization to export default expressions. (by @xiaoxiaojx in #21117)

  • Reduce ExportInfo memory and cache size for inline-exports metadata. (by @alexander-akait in #21171)

  • Resolve nested exports info paths iteratively to cut per-level array allocations. (by @alexander-akait in #21137)

  • Fix stale incremental cache for css, html and asset/source/inline modules. (by @alexander-akait in #21108)

  • CommonJS tree-shaking no longer drops exports accessed before a deferred require binding. (by @xiaoxiaojx in #21123)

  • Make CSS-referenced asset available in lazy JS chunk during incremental rebuilds. (by @alexander-akait in #21100)

  • Correct string/template import specifier parsing for filesystem cache build dependencies and fix module-sharing hostname validation. (by @alexander-akait in #21232)

  • perf: guard isDeferred() behind experiments.deferImport in ConcatenatedModule (by @shashank-u03 in #21096)

  • Speed up deterministicGrouping and cached comparators on large builds. (by @alexander-akait in #21197)

  • Reduce allocations on harmony/commonjs dependency hot paths. (by @alexander-akait in #21180)

  • Force-load a module's new owning chunk during HMR when its only loaded chunk is removed from a runtime, so it keeps receiving updates. (by @alexander-akait in #21131)

  • Fix HTML parser adoption agency to handle a nobr shielded by a marker. (by @alexander-akait in #21274)

  • Expand HTML parser tag/attribute coverage and decode character references. (by @alexander-akait in #21159)

  • Speed up and reduce allocations in the experimental HTML parser's tokenizer, tree builder, and entity decoder. (by @alexander-akait in #21152)

  • Speed up the experimental HTML parser and reduce its memory usage. (by @alexander-akait in #21130)

  • Avoid redundant HTML module work: reuse the dependency-template render across the JS and HTML code-generation passes, and memoize sentinel resolution/content hashing per source. (by @alexander-akait in #21054)

  • Release inner-graph state after use and speed up inlined-export checks. (by @alexander-akait in #21167)

  • Reduce JavascriptParser allocations on the walk hot path to speed up parsing and lower memory usage. (by @alexander-akait in #21139)

  • Reduce CPU and memory overhead of the lazy barrel optimization. (by @alexander-akait in #21213)

  • Keep the error message in module build errors on engines whose Error.stack omits it. (by @alexander-akait in #21239)

  • Speed up module concatenation by caching repeated per-module computations. (by @alexander-akait in #21115)

  • Move the hot flag from Module to NormalModule, where it's actually read and written. (by @alexander-akait in #21028)

  • Move the weak flag from Dependency to ModuleDependency, where it's actually set. (by @alexander-akait in #21111)

  • Avoid the entry IIFE for multiple inlined entry modules by renaming collisions. (by @alexander-akait in #21151)

  • Reject new import.defer(...)/new import.source(...) with member access as a SyntaxError. (by @alexander-akait in #21211)

  • Avoid ProvidePlugin injection for local CommonJS require bindings that use the same variable name. (by @fireairforce in #21041)

  • Resolve the global new Worker(new URL(...)) to worker_threads on the node target. (by @alexander-akait in #21217)

  • Use optional chaining in generated runtime code where the environment supports it. (by @alexander-akait in #21186)

  • Allow output.path to be the filesystem root by treating EISDIR like EEXIST in mkdirp. (by @alexander-akait in #21223)

  • Reduce memory by not retaining the source location object on every dependency. (by @alexander-akait in #21183)

  • Keep the full exports object when a require() binding is re-exported. (by @alexander-akait in #21144)

  • Replace glob-to-regexp dependency with watchpack's globToRegExp utility. (by @hai-x in #21176)

  • Shrink the persistent cache: add a NULL_AND_I16 binary tier and inline tiny strings instead of larger far back-references. (by @hai-x in #21210)

  • Type serializer read/write contexts with positional tuples and fix a ProvideSharedDependency version/request swap. (by @alexander-akait in #21201)

  • Speed up buildChunkGraph by deriving block modules from the first runtime. (by @alexander-akait in #21166)

  • Cache re-export target resolution in SideEffectsFlagPlugin for faster builds. (by @alexander-akait in #21085)

  • Skip pure single-star passthrough modules for export * re-exports. (by @alexander-akait in #21085)

  • Skip dependency error/warning reporting for unchanged modules on rebuilds. (by @alexander-akait in #21154)

  • Use value descriptors instead of getters for const export bindings. (by @xiaoxiaojx in #21021)

  • Apply CSS hot updates on the Node side of a universal target. (by @alexander-akait in #21217)

  • Guard CSS style export-type injection so it no-ops when there is no document. (by @alexander-akait in #21193)

  • Avoid building warning stats objects when counting warnings without a filter. (by @alexander-akait in #21198)

  • Recognize forward-slash Windows absolute paths (e.g. C:/dir) consistently. (by @alexander-akait in #21223)

5 hours ago
vue-next

v3.5.39

For stable releases, please refer to CHANGELOG.md for details. For pre-releases, please refer to CHANGELOG.md of the minor branch.

5 hours ago
core

v3.5.39

For stable releases, please refer to CHANGELOG.md for details. For pre-releases, please refer to CHANGELOG.md of the minor branch.

5 hours ago
three.js

r185

https://github.com/mrdoob/three.js/wiki/Migration-Guide#184--185 https://github.com/mrdoob/three.js/milestone/98?closed=1

  • Global
    • Remove deprecated code. #33407 (@Mugen87)
    • Update package-lock.json. #33563 (@Mugen87)
    • Harmonize errors. #33588 (@Mugen87)
    • Update Three.WebGPU.js. ebd2a765edd45f419f3e530c5d24c83d2567af4f (@Mugen87)
    • Update package-lock.json. bea0fa775817a8b1a25656ce0396e67580557f02 (@Mugen87)
  • AnimationAction
    • Fix time warping bug. #33617 (@Mugen87)
  • BezierInterpolant
    • Refactor inTangents/outTangents. #33515 (@Mugen87)
  • Bindings
    • TSL Compute: Fix needsUpdate. #33530 (@thelazylamaGit)
  • Box3
    • Improve docs. #33633 (@Mugen87)
  • BufferGeometry
    • Fix attribute count mismatch in computeVertexNormals() and computeTangents(). #33520 (@Mugen87)
    • Support Transformed Geometry when Serializing. #33641 (@WestLangley, @Mugen87)
  • CI
    • Improve permissions. #33466 (@Mugen87)
  • ClippingContext
    • Fix stale viewMatrix with multiple cameras. #33578 (@Mugen87)
  • ColorAdjustment
    • Add max() for outputs. #33854 (@sunag)
  • common.glsl
    • WebGLRenderer Shaders: introduce transformNormalByInverseViewMatrix(). #33351 (@WestLangley, @Mugen87)
    • Update inverseTransformDirection definition for clarity. #33431 (@WestLangley)
  • FrustumArray
    • Optimize frustum computations. #33804 (@Mugen87)
  • HTMLTexture
    • Support new WICG HTML-in-Canvas API signatures. #33788 (@ewewraw)
    • Annotate Chrome versions for each API code path. ff95cea91e31f5333ecb7c69edd6d1864ba626f8 (@mrdoob, @claude)
  • IESSpotLight
    • Make sure IES texture can be exchanged. #33502 (@dswhy)
  • Inspector
    • Fix FPS counter freeze when WebGLBackend query is unavailable. #33755 (@sunag)
  • InstanceNode
    • Sync update ranges in updateBefore. #33615 (@thejustinwalsh, @Mugen87)
  • Line2NodeMaterial
    • Refactoring, use native node material hooks. #33689 (@sunag)
    • Fix the warn on cache-key, keep it in set lineColorNode. a219a9deed6798ec7d333433c69c46d44cd1905f (@sunag)
  • LoadingManager
    • Loaders, Editor: Improve handling of assets with unicode characters. #33301 (@Mugen87)
  • Material
    • Fixed setValues() to honor Euler and Vector2 types. #33476 (@FE-kang, @Mugen87)
  • MaterialLoader
    • Add registerMaterial() and Material.fromJSON(). #33714 (@Mugen87)
  • Matrix3
    • deprecate .scale(), .rotate(), and .translate(). #33757 (@WestLangley)
  • Matrix4
    • Introduce faster version of determinant(). #33814 (@Mugen87)
    • Use determinant3x3() where appropriate. #33820 (@WestLangley)
    • Rename determinant3x3() to determinantAffine(). #33823 (@Mugen87)
  • Morph
    • Fix individual morphTargetInfluences per object. #33772 (@sunag)
  • NodeBuilder
    • Fast-path getDataFromNode when no sub-build is active. #33656 (@mrdoob)
    • Use .nodes as Set instead of Array. #33664 (@sunag)
    • Use .sequentialNodes as Set instead of Array. #33703 (@mrdoob)
    • Make registerDeclaration() more robust. #33869 (@Mugen87)
  • NodeMaterial
    • Dynamically copy properties in copy(). #33775 (@sunag)
  • NodeMaterialObserver
    • Fix default version value of textures. #33422 (@Mugen87)
    • Reuse lightsData cache entry per frame. #33425 (@RenaudRohlinger, @claude)
    • Fix environment rotation and intensity checks. #33764 (@Mugen87)
  • Nodes
    • Fix toConst() usage in Camera. #33831 (@Mugen87)
  • NodeUniformBuffer
    • Fix byteLength to follow overridden buffer getter. #33469 (@RenaudRohlinger)
  • NodeUtils
    • Update getAlignmentFromType to use 4-byte elements and add bool type. #33546 (@sunag)
  • npm
    • Exclude examples/fonts from the published package. #33744 (@mrdoob, @claude)
  • Object3D
    • Honor matrixWorldNeedsUpdate in updateWorldMatrix(). #33746 (@Mugen87)
  • ObjectLoader
    • Allow ObjectLoader to use custom loading managers in sync'd image loads. #33669 (@SeanCurtis-TRI)
  • PassNode
    • Fix implicit depth texture creation when depthBuffer: false. #33410 (@thelazylamaGit, @Mugen87)
  • PMREMGenerator
    • Avoid unnecessary depth buffers in render targets. #33585 (@shotamatsuda)
    • Apply await renderer.init() policy. #33587 (@Mugen87)
  • PMREMNode
    • Fix dispose of internal PMREMs. #33849 (@Mugen87)
  • PointShadowNode
    • Fix shadows with logarithmic depth buffer. #33584 (@Mugen87)
  • Raycaster
    • Fix setFromCamera() with ortho cameras. #33568 (@Mugen87)
  • Renderer
    • Export missing classes. #33623 (@pepperoni505)
    • Ensure valid camera state in compileAsync(). #33668 (@Mugen87)
    • Fix light invalidation by nested render calls. #33737 (@Mugen87)
    • Fix compileAsync(). #33784 (@Mugen87)
    • Improve render list processing of render bundles. #33811 (@Mugen87)
    • Merge update ranges if possible. #33813 (@Mugen87)
    • Fully support InstancedMesh with render bundles. #33839 (@Mugen87)
    • Improve texture check in _getShadowNodes(). #33845 (@sunag)
  • Renderers
    • Clean up logs. #33508 (@Mugen87)
    • Fix sort of render lists with reversed depth buffer. #33700 (@Mugen87)
    • Disable bump mapping for wireframe rendering. #33777 (@mrdoob, @claude)
  • RenderList
    • Fix occlusionQueryCount. #33765 (@Mugen87)
  • RenderObject
    • Guard against undefined geometry attribute in getAttributes(). #33460 (@RenaudRohlinger)
    • Properly compare interleaved buffer attributes. #33558 (@Mugen87)
    • Drop redundant morph target check. #33771 (@Mugen87)
    • Optimize getKeys(). #33805 (@Mugen87)
    • Fix handling of side. #33860 (@Mugen87)
  • RTTNode
    • Introduce setResolutioScale() and updates. #33606 (@sunag)
  • ShaderLib
    • Fix formatting of main function declaration. #33696 (@pohlt)
  • Shaders
    • Update nomenclature. #33727 (@WestLangley)
    • Add deprecation note. #33729 (@WestLangley)
  • ShadowFilterNode
    • Use textureGatherCompare in PCFSoftShadowFilter. #33534 (@RenaudRohlinger, @claude, @shotamatsuda)
  • ShadowNode
    • Fix shadow viewer inspect and introduce equirectDirection. #33752 (@sunag)
  • SphereGeometry
    • Make pole vertices more robust. #33652 (@Mugen87)
  • Src
    • Clean up. #33590 (@WestLangley)
  • StackNode
    • Fix outputNode flow propagation. #33405 (@sunag)
  • StereoCamera
    • Fix matrix computation. #33731 (@Mugen87)
  • StorageTextureNode
    • Bypass UV matrix transforms. #33545 (@thelazylamaGit)
    • Set referenceNode & add .store() function. #33544 (@thelazylamaGit)
  • TSL
    • Remove string, arrayBuffer definitions. #33430 (@sunag)
    • Fix setName() for attributes. #33432 (@sunag)
    • Introduce storageTexture3D. #33443 (@shotamatsuda)
    • Make not() on vector produce component-wise logical not. #33442 (@shotamatsuda)
    • Fix redundant min/max calls being generated. #33441 (@shotamatsuda)
    • Fix stack node sequence. #33402 (@sunag)
    • Cache function nodes per renderer's backend. #33517 (@sunag)
    • Add support for textureGather and textureGatherCompare. #33475 (@shotamatsuda, @sunag)
    • Make sure structs are built when compiling functions. #33524 (@Mugen87, @sunag)
    • Introduce nodeProxyConstructor. #33542 (@sunag)
    • Remove modInt export from Three.TSL.js. #33628 (@Methuselah96)
    • Add missing StorageTexture3DNode exports. #33630 (@Methuselah96)
    • Migrate vertex accessor classes to TSL Fn. #33674 (@sunag)
    • Fix varying code sequence in vertex stage. #33709 (@sunag)
    • Align packing nomenclature with packing.glsl.js. #33715 (@WestLangley, @sunag)
    • Introduce ambientOcclusion property. #33728 (@sunag)
    • Fix direction and normal transform methods. #33725 (@Mugen87)
    • Rename directionToFaceDirection -> negateOnBackSide. #33753 (@sunag)
    • Introduce override context. #33807 (@sunag)
    • Use RGBA for batching color. #33866 (@Mugen87)
  • UniformsGroup
    • Pool per-uniform update-range objects. #33427 (@RenaudRohlinger, @claude)
  • WebGLOutput
    • Handle antialias. #33446 (@mrdoob)
  • WebGLRenderer
    • Fix stale scratch framebuffers after context restore. #33533 (@vizerb, @Mugen87)
    • reset statistics (info.reset) before shadowMap.render. #33688 (@ldaoust01)
    • Improve lookups of shader stages. #33829 (@Mugen87)
    • Always bind position to location 0. #33841 (@Mugen87)
    • Fix normal maps with DoubleSide+ flat shading. #33859 (@Mugen87)
    • Fix normal maps with BackSide and vertex tangents. #33861 (@Mugen87)
  • WebGLTextureUtils
    • fix copyTextureToTexture() usage inside updateBefore(). #33736 (@marcofugaro, @Mugen87)
  • WebGLUniformsGroups
    • Optimize UBO updates to avoid GC churn. #33704 (@mrdoob, @claude)
  • WebGPUBackend
    • toggle comment causing import to appear in build. #33449 (@daigofuji)
  • WebGPUBindingUtils
    • Guard updateBinding() against destroyed GPU buffer. #33461 (@RenaudRohlinger, @Mugen87)
  • WebGPUPipelineUtils
    • reset shared render-pipeline descriptor before suspending in the async path. #33794 (@hsheth2, @Mugen87)
  • WebGPURenderer
    • Honor layerUpdates for compressed array textures. #33417 (@RenaudRohlinger, @sunag)
    • Ensure valid render pipelines when using depthBias. #33471 (@Mugen87)
    • Support all BPTC formats. #33482 (@Mugen87)
    • Surface uncaptured GPU errors and WGSL diagnostics. #33418 (@RenaudRohlinger, @claude, @sunag)
    • Restore framebuffer after clear. #33512 (@Mugen87)
    • Make structs work in vertex shader with WebGL. #33509 (@Mugen87)
    • Fix texture disposal for render targets. #33511 (@Mugen87)
    • Honor the Compositor Contract. #33457 (@WestLangley, @Mugen87)
    • Optimize submit() calls. #33513 (@Mugen87)
    • Support rendering to texture arrays. #33507 (@cabanier, @Mugen87, @elalish, @renovate[bot], @ycw)
    • Introduce descriptor classes and caching. #33525 (@Mugen87)
    • Fix mipmap filter mode. #33527 (@XorTdsc)
    • More descriptor usage. #33529 (@Mugen87)
    • Improve support for output types. #33299 (@sunag)
    • Add support for WebXR with WebGPU. #33583 (@cabanier)
    • Manage hardwareClipping on builder level. #33681 (@Mugen87)
    • Fix dispose of override material render objects. #33682 (@Mugen87)
    • Fix stale texture references in bindings. #33680 (@Mugen87)
    • Refactor material lighting setup. #33702 (@sunag)
    • Fix unsupported texture sample counts. #33722 (@sunag)
    • add lighting.enabled. #33721 (@sunag)
    • Fix getShaderAsync() render context retrieval. #33733 (@sunag)
    • Add WGSL polyfill for inverse(). #33745 (@Mugen87)
    • Fix displacement-map shadows. #33774 (@sunag)
    • Track frontFaceCW in needsRenderUpdate. #33780 (@LLiJJing)
    • Correctly honor 4-byte stride alignment. #33787 (@Mugen87)
    • Minor performance fixes. #33802 (@Mugen87)
    • Fully support ExternalTexture. #33816 (@Mugen87)
    • Scope sampler caching to bindings to prevent sampler collision on shared. #33847 (@sunag)
    • Improve Sampler disposal. #33850 (@Mugen87)
  • WebGPUUtils
    • Cache preferred canvas format. #33800 (@Mugen87)
  • XRManager
    • Use foveateBoundTexture() to enable foveation. #33484 (@cabanier)

Docs

  • Improve displacementMap JSDoc. #33453 (@Mugen87)
  • Document minimum texture sizes of PMREMGenerator. #33465 (@Mugen87)
  • Fix JSDoc. #33569 (@Mugen87)
  • Fix code example generation. #33586 (@Mugen87)
  • Fix typo in ARButton docstring. #33608 (@Carifio24)
  • Add color space notes. #33636 (@Mugen87)
  • Correct lightMap description. #33642 (@WestLangley)
  • Fix typos in JSDoc. #33713 (@hanityx)
  • Update TSL.md. 522bc18d8beaf8a145bc69f4c261108071d827fb (@Mugen87)
  • Fix Safari scrolling to anchors. #33719 (@shotamatsuda)
  • Update nomenclature. #33742 (@WestLangley)
  • NodeMaterial.setupOutput and TSL positionLocal. #33791 (@cmhhelgeson)
  • Update TSL.md. 67e7b21040c4224014a637f706c279ce548e98d6 (@sunag)
  • Update TSL.md. 5402547a11f7239473e9085c3dcf724f7aa953ce (@sunag)
  • Fix JSDoc type expressions for docs build. 1b4637dd8530a76dafc5565d49dc62b76982a82b (@mrdoob, @claude)

Manual

  • Fix links in material table. #33487 (@Mugen87)
  • Improve Installation guide. #33599 (@Mugen87)
  • Update nomenclature. #33723 (@WestLangley)
  • Fix link navigation. #33858 (@Mugen87)

Examples

  • Update webgl_loader_svg.html. 27867588d172f90bca9ee93ed3faf4de775a4f6f (@Mugen87)
  • Explicitly set clear color in WebGPU demos. #33452 (@gkjohnson)
  • Clean up. #33470 (@Mugen87)
  • Make wave speed frame rate independent in webgl_shaders_ocean. #33492 (@unrealsid, @Mugen87)
  • Fix final alpha issues. #33496 (@gkjohnson)
  • Update webgl_loader_ifc to use web-ifc directly. #33491 (@agviegas, @claude)
  • Clean up. #33505 (@Mugen87)
  • Add webgpu_furnace_test.html. #33516 (@WestLangley)
  • Added GUI to Furnace Tests. #33523 (@WestLangley)
  • Improve GUI in webgpu_lines_fat.html. #33498 (@WestLangley)
  • Improve GUI in webgl_lines_fat.html. #33538 (@WestLangley)
  • Add Open Graph Protocol fields. #33543 (@Mugen87)
  • Update tags.json. 82181ef0af3f2fbe0e275663b0fc7f287aff2fbd (@Mugen87)
  • Improve webgpu anamorphic, rtt and bloom. #33600 (@sunag)
  • Remove "setDecoderPath" in non-gltf path examples. #33604 (@gkjohnson)
  • Add TSL function for grounded skyboxes. #33611 (@Mugen87)
  • Add nanite-style rasterizer. #33605 (@sunag)
  • Update webgpu_compute_nanite-style.html. 76d1eba5eadada3c25ff8cb0657b8ed23e8aeff1 (@Mugen87)
  • Improve WebGPU AO example. #33631 (@marcofugaro)
  • Improve AO scale. #33637 (@Mugen87)
  • Cleanup webgpu_postprocessing_ssaa. #33653 (@Methuselah96)
  • Optimize and shade smooth Tennyson Bust model. #33655 (@marcofugaro)
  • webgpu_lights_clustered firefly-style HDR sprites. #33660 (@mrdoob)
  • Update CDN dependencies. #33677 (@mrdoob, @claude)
  • Improved face alignment in webgl_morphtargets_webcam. #33690 (@mrdoob, @claude)
  • Add webgpu_skinning_instancing_individual. #33644 (@RenaudRohlinger, @sunag)
  • Migrate examples to new DRACOLoader url config. #33724 (@gkjohnson)
  • Fix Animation Speed label of webgpu_compute_nanite-style. 607fc7dc268e47b94eccc66121224d87a33c5c91 (@sunag)
  • Subset MPLUSRounded1c font in webgl_geometry_text_stroke. #33743 (@mrdoob, @claude)
  • Add TileCreasedNormalsPlugin. #33767 (@mrdoob, @claude)
  • Add inspector to the ball pool example. 195e328825d0bbe237355ee0ab433f60af4f29b9 (@mrdoob, @claude)
  • Add LoftGeometry addon and example. #33776 (@mrdoob, @claude)
  • Rename webgpu_compute_nanite-style to webgpu_compute_rasterizer. 4c83d5e32dc8ef3f46d4024689a752eeb7df4561 (@mrdoob, @claude)
  • Clean up webgpu_compute_rasterizer. 60e798e6c40007d01f7a1392be4f761338a54166 (@mrdoob, @claude)
  • Remove ammo.js examples. #33786 (@mrdoob, @claude)
  • Use CDN version of Ammo.js. #33799 (@Mugen87)
  • Rework webgpu_lights_clustered. #33803 (@mrdoob, @claude)
  • Example: Fix and optimize snow compute demo. #33833 (@Mugen87, @sunag)
  • Add volumetric fire, enhances the VolumetricLightingModel. #33848 (@sunag)
  • Update misc_exporter_gltf_normals.html. 70ea716718752e84fa3223b73d5bd875ceac8a1e (@Mugen87)
  • Add procedural city generator. #33817 (@mrdoob, @claude)
  • Improve webgpu_custom_fog with terrain and forest generators. #33873 (@mrdoob, @claude)
  • Improve webgpu_custom_fog_scattering. #33825 (@mrdoob, @claude)
  • Add webgpu_compute_rasterizer_ibl. #33783 (@mrdoob, @claude, @sunag)
  • Use FirstPersonControls in webgpu_compute_rasterizer. aace2e8bab4ade32dd76af3d5e05b464d20f1a39 (@mrdoob, @claude)

Addons

  • Addons

    • Removed TiledLighting. #33751 (@sunag)
  • ArcballControls

    • Document correct usage of adjustNearFar. #33479 (@Mugen87)
    • Fix swapped X/Y gizmo ring orientations. #33536 (@raeraex2)
  • AsciiEffect

    • Add escapeHTML(). #33567 (@Mugen87)
  • BufferGeometryUtils

    • Optimize toCreasedNormals(). #33768 (@mrdoob, @claude)
  • CSMShadowNode

    • Add support for reversed depth buffer. #33506 (@shotamatsuda)
    • Fix inconsistency in frustum split. #33510 (@shotamatsuda)
  • ClusteredLightsNode

    • Fix point light distance attenuation. #33679 (@mrdoob, @claude)
    • keep castShadow point lights on the material-lights path. #33792 (@hsheth2)
    • include clustered lights in getLights(). #33793 (@hsheth2)
  • DRACOExporter

    • Removed bundled encoders in favor of CDN. #33789 (@mrdoob, @claude)
  • DRACOLoader

    • Use relative file urls by default. #33564 (@gkjohnson)
    • Deprecate "setDecoderConfig" function. #33602 (@gkjohnson)
    • Add exported urls for GLTF decoder. #33691 (@gkjohnson)
  • DataTextureLoader

    • Add createDataTexture(). #33705 (@Mugen87)
  • EXRLoader

    • Fix out-of-bounds read on partial scanline blocks. #33620 (@Mugen87)
  • FXAANode

    • Refactor ApplyFXAA(). #33708 (@Mugen87)
  • FirstPersonControls

    • Damping, separate move sources, release fix, E/Q keys. #33874 (@mrdoob, @claude)
  • GLTFExporter

    • Improve multi-scene animation support. #33748 (@Mugen87)
    • Fix export of normal maps. #33837 (@Mugen87)
  • GTAONode

    • Cosine-weighted integration with per-slice normal projection. #33654 (@marcofugaro)
  • ImportanceSampledEnvironment

    • Spatiotemporal Denoiser for SSR. #33843 (@0beqz)
  • Inspector

    • Added scope for styles. #33456 (@sunag)
    • Added storage settings and info feature. #33571 (@sunag)
    • Add unread warning and error notification badges. #33732 (@sunag)
    • Migrate Graph to Canvas & add FPS graph to toggle button. #33756 (@sunag)
    • Improved Viewer, Timeline. #33750 (@sunag)
    • Fix slider using step() after define the value. #33806 (@sunag)
    • Improve state preservation, layout sizing and add CPU/GPU graph metrics. #33808 (@sunag)
    • Inline extensions configuration and remove extensions.json. #33812 (@sunag)
    • Improve mobile compatibility. #33819 (@sunag)
    • Improve folder renaming, color/select value updates, and visibility controls. #33853 (@sunag)
    • Add overdraw render mode. #33870 (@mrdoob, @claude)
    • Group duplicate console messages and allow detached tab panels to remain visible. #33864 (@sunag)
    • Fix Timeline resize. c1889da3c4fe9f3828fa90786d6a8772252ba966 (@sunag)
  • KTX2Loader

    • Use relative file urls by default. #33603 (@gkjohnson)
    • Fix regression in rgba16 unorm support. #33662 (@donmccurdy)
    • Disable etc1 on Chrome Mesa (Linux). #33697 (@arpu, @Mugen87, @donmccurdy, @mrdoob)
  • LWOLoader

    • Deprecate loader. #33621 (@Mugen87)
  • LightProbeGrid

    • Improve docs. #33426 (@Mugen87)
    • Avoid redundant matrixWorld updates during bake. #33489 (@mrdoob, @claude)
    • Add indirect bounces option to bake(). #33657 (@mrdoob)
  • LineMaterial

    • Fix trimSegment() with reversed depth buffer. #33572 (@Mugen87)
    • Trim line distances. #33607 (@Mugen87)
  • LineSegment2

    • Don't raycast without a valid resolution. #33872 (@Mugen87)
  • LoftGeometry

    • Fix UVs for non-uniform sections. #33815 (@mrdoob)
  • MaterialXLoader

    • Avoid compiling unused BSDF lobes. #33712 (@mrdoob, @claude)
  • Matrix3

    • Remove remaining usage of translate() and scale(). #33754 (@Mugen87)
  • MikkTSpace

    • Add dispose(), cache promise. #33501 (@Shane-oo, @Mugen87)
  • PLYExporter

    • Honor data types of buffer attributes. #33625 (@Mugen87)
    • Support custom attributes. #33627 (@Mugen87)
  • PLYLoader

    • Honor PLY data types when creating buffer attributes. #33622 (@Mugen87)
  • PixelationPassNode

    • Fix examples to avoid fading alpha. #33450 (@gkjohnson)
  • RapierPhysics

    • Add applyImpulse(). #33459 (@Mugen87)
  • Reflector

    • Make getReflectionCamera() public. #33556 (@Mugen87)
  • SSAAPassNode

    • Make clear color handling more consistent. #33478 (@Mugen87)
  • SSGINode

    • Use a half float render target. #33769 (@mrdoob, @claude)
    • Optimize code. #33782 (@Mugen87)
    • Reduce bandwidth with RG11B10. #33822 (@Mugen87)
  • SVGLoader

    • Honor scale in strokeWidth. #33411 (@Mugen87)
    • Improve createShapes(). #33415 (@Mugen87)
    • Add material helpers. #33424 (@Mugen87)
    • Basic gradients support. #33436 (@Mugen87)
    • Make stroke generation more robust. #33438 (@Mugen87)
  • ShapePath

    • Update toShapes(). #33503 (@Mugen87)
  • TransformControls

    • Add viewport support. #33451 (@Mugen87)
    • Fix edge case transforms. #27719 (@AlaricBaraou, @Mugen87)
    • Allow visibility control of rotation gizmos. #33562 (@Mugen87)
  • USDAParser

    • Infer the elementSize of missing skeletal joint attributes. #33596 (@bigbigbiglazycat, @Mugen87)
    • Fix inline-brace prim definitions being silently dropped. #33773 (@wheresoli)
  • USDLoader

    • Preserve USDA animation timing metadata. #33560 (@mkeblx, @mrdoob)
    • Fix texture paths in standalone USD files. #33610 (@Mugen87)
  • USDZExporter

    • Support mimeType setting via Texture.userData. #33579 (@Mugen87)
    • Fix opacity regression. #33580 (@Mugen87)
    • Add animation support. #33589 (@Mugen87)
    • Improve usability. #33597 (@Mugen87)
    • Add multi-material support. #33598 (@Mugen87)
    • Basic normal scale support. #33851 (@Mugen87)
  • USDZLoader

    • Reorder quaternion components in USDA quatf[] array parsing. #33577 (@bigbigbiglazycat, @Mugen87)
    • Preserve attribute connections when a direct value follows. #33581 (@Mugen87)
    • Add onLoad() and onError() to parse(). #33582 (@Mugen87)
  • VRMLLoader

    • Allow multi-line strings. #33616 (@Mugen87)
  • VolumeShader

    • Support perspective cameras. #33493 (@Mugen87)
    • Improve apply_colormap(). #33867 (@Mugen87)
  • Water2Mesh

    • Simplify flowMap setup. #33540 (@Mugen87)
  • WebGPURenderer

    • Added ClusteredLighting (Forward+ clustered) shading. #33406 (@mrdoob, @claude, @sunag)
    • Add fallback for XR with WebGPU. #33497 (@cabanier, @Mugen87, @elalish, @renovate[bot], @ycw)
  • lottie_canvas.module

    • LottieLoader, TTFLoader: Removed bundled libs in favor of CDN. #33798 (@mrdoob, @claude)

Devtools

  • Make hierarchy collapsible. #33645 (@Mugen87)
  • Resolve linter issues. #33646 (@Mugen87)
  • Remove empty scenes. #33647 (@Mugen87)
  • Bump version to 1.16. 4e3822704a4ddca670beaa4f5f779ead0437762b (@mrdoob)
  • clean up. #33879 (@linbingquan)

Editor

  • Remove legacy JSON format Worker code. #33423 (@sebastiondev)
  • Improve SVG setup. #33447 (@Mugen87)
  • Make light targets editable. #33541 (@Mugen87)
  • Fix ListboxItem text content. #33648 (@Mugen87)
  • Add texture parameters dialog. #33651 (@Mugen87)
  • Fix name conflict during glTF export. #33699 (@Mugen87)
  • Rework auto-completion in script editor. #33711 (@Mugen87)
  • Fix collision detection in arkanoid demo. #33718 (@Mugen87)
  • Update arkanoid.app.json. 716b6448c37c77de9a0ec6a7f0368d34eb7b0c48 (@Mugen87)
  • Add support for orthographic cameras. #33701 (@Mugen87)
  • Fix outliner regression. #33735 (@Mugen87)
  • Make size of vertex normals helper configurable. #33790 (@Mugen87)

Tests

  • Add unit test for custom interpolant. #33480 (@Mugen87)
  • Run unittests in browser with Puppeteer. #33550 (@catalin-enache, @Mugen87)
  • Update CatmullRomCurve3.tests.js. 6b719702fbc30f1fc3d6448420601d409df883f8 (@Mugen87)
  • E2E: Update screenshot. #33635 (@Mugen87)
  • E2E: Fix WebGPU Device Lost errors. #33650 (@shotamatsuda)
  • test/e2e: fix Buffer handling for Node.js 23+. #33672 (@WestLangley)
  • E2E: Print elapsed seconds. #33726 (@shotamatsuda)

Utils

  • Improved changelog.js. d718472ad975a38a86bbc63b859f3b2286dc3a53 (@mrdoob, @claude)
8 hours ago
Babylon.js

9.14.0

Core

GUI

  • build(treeshaking): make gui/loaders/serializers side-effect-free (.pure/.types split) - by RaananW (#18610)

Loaders

  • build(treeshaking): make gui/loaders/serializers side-effect-free (.pure/.types split) - by RaananW (#18610)
  • Fix glTF morph target animation stutter from shader recompiles - [Bug Fix] by PatrickRyanMS (#18596)
  • fix(OBJ): Guard empty vertex buffers when normals/uvs/colors are absent - by raymondyfei (#18597)
  • fix(SPLAT): Fix GSplat PLY misclassified as point cloud when both RGB and f_dc colors present - by raymondyfei (#18593)
  • GS streaming lod part3 - by CedricGuillemet (#18588)

Playground

  • fix(playground): declare uuid as a direct dependency to fix broken build - by RaananW (#18609)
  • Playground: support importing external resources by absolute URL - by RaananW (#18599)

Sandbox

  • fix(sandbox): import LoadingScreen side-effect in renderingZone - by RaananW (#18614)
  • Add FBX support to the Sandbox - [New Feature] by PatrickRyanMS (#18607)