@mermaid-js/tiny@11.16.0
-
#7535
ea1c48fThanks @ragelink! - feat(cynefin): Adds the Cynefin framework as a new diagram type (beta) to Mermaid (available ascynefin-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
f45cc2cThanks @notionparallax! - feat(treeView): add box-drawing character input support for treeView diagrams -
#7550
f1f4d45Thanks @DominicBurkart! - feat(xychart): add per-point text labels for xychart line plots -
#7527
b4d0442Thanks @notionparallax! - feat(treeView): Extends the existing treeView-beta diagram with features useful for representing file/directory structures. -
#7793
a6f097dThanks @SSDWGG! - feat(er): support optional ER attribute types with a?suffix -
#7772
37f2e36Thanks @devareddy05! - feat(gantt): support multipleexcludes/includeslines so long exclusion lists can be split into commented groups (#6270) -
#7708
4e63e9dThanks @txmxthy! - feat(architecture): addalign row|column {ids…}directive to architecture-beta diagrams so authors can declare horizontal or vertical alignment of services explicitly. -
#7760
05223beThanks @ngdaniels! - feat(pie): Enhance Pie Chart - Enable donut chart, Set legend position, and highlight slice -
#7251
216e4e9Thanks @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
e5c75e6Thanks @ngdaniels! - feat(xychart): enable rotate label on X-axis -
#7791
974fa7bThanks @knsv-bot! - feat(swimlane): add swimlane as a standalone diagram type with a dedicated layered orthogonal layout algorithm
-
#7744
633c261Thanks @ashishjain0512! - fix(architecture): addarchitecture.seedconfig option to make architecture diagrams render deterministically. Resolves #7729. -
#7732
c8ba156Thanks @rkdfx! - fix: tolerate leading horizontal whitespace before YAML frontmatter delimiters. Closes mermaid-js/mermaid#7613 -
#7314
4e4e6c4Thanks @darshanr0107! - fix(flowchart): Prevent crash when flowchart node shape is undefined -
#7762
cfd2391Thanks @Dharya-dev! - fix(class): support styling and callbacks for generic classes -
#7284
c1f116dThanks @darshanr0107! - fix(gantt): Render gantt vertical markers without affecting row layout or chart height -
#7786
72fbab1Thanks @knsv-bot! - fix(er): allow special characters (e.g. dots) in ER diagram attribute names and types by escaping them with backticks -
#7672
4887e97Thanks @sjackson0109! - fix(flowchart): respect per-subgraph direction keyword in Dagre layout. Fixes #4648 -
#7734
a4c1e50Thanks @OfirHaf! - fix(block): read block padding and sanitize config dynamically instead of at module load time -
#7674
cc75089Thanks @cyphercodes! - fix(block): respect current DOMPurify config when sanitizing labels -
#7711
be2e282Thanks @Jinacker! - fix(flowchart): render flowchart and state self-loop edges as a single SVG path. -
#7781
d945968Thanks @Dharya-dev! - fix(radar): align axis labels based on angular position to prevent clipping -
#7661
2f5e9e8Thanks @nabila401! - fix(venn): fix 3-circle venn diagram union rendering -
#7780
8dcdce4Thanks @Dharya-dev! - fix(xychart): truncate plot data to match x-axis category count -
#7235
1bbc189Thanks @darshanr0107! - fix: Support consecutive LaTeX in node text -
#7247
365c1b1Thanks @darshanr0107! - fix(treeView): Ensure treemap labels render correctly in large nested diagrams -
#7754
06a32b7Thanks @palgunatm66! - fix(sequence): sequenceDiagram rect backgrounds using theme-aware fallback colors -
#7693
afaf306Thanks @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
79e97cdThanks @puneetdixit200! - fix(state): render state diagram click tooltips with mermaidTooltip -
#7570
c2305dfThanks @PinguinsRule! - fix(state): Fix invalid syntax between state and '{' -
#7758
a4a250bThanks @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
mermaid@11.16.0
-
#7535
ea1c48fThanks @ragelink! - feat(cynefin): Adds the Cynefin framework as a new diagram type (beta) to Mermaid (available ascynefin-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
f45cc2cThanks @notionparallax! - feat(treeView): add box-drawing character input support for treeView diagrams -
#7550
f1f4d45Thanks @DominicBurkart! - feat(xychart): add per-point text labels for xychart line plots -
#7527
b4d0442Thanks @notionparallax! - feat(treeView): Extends the existing treeView-beta diagram with features useful for representing file/directory structures. -
#7793
a6f097dThanks @SSDWGG! - feat(er): support optional ER attribute types with a?suffix -
#7772
37f2e36Thanks @devareddy05! - feat(gantt): support multipleexcludes/includeslines so long exclusion lists can be split into commented groups (#6270) -
#7708
4e63e9dThanks @txmxthy! - feat(architecture): addalign row|column {ids…}directive to architecture-beta diagrams so authors can declare horizontal or vertical alignment of services explicitly. -
#7760
05223beThanks @ngdaniels! - feat(pie): Enhance Pie Chart - Enable donut chart, Set legend position, and highlight slice -
#7251
216e4e9Thanks @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
e5c75e6Thanks @ngdaniels! - feat(xychart): enable rotate label on X-axis -
#7791
974fa7bThanks @knsv-bot! - feat(swimlane): add swimlane as a standalone diagram type with a dedicated layered orthogonal layout algorithm
-
#7744
633c261Thanks @ashishjain0512! - fix(architecture): addarchitecture.seedconfig option to make architecture diagrams render deterministically. Resolves #7729. -
#7732
c8ba156Thanks @rkdfx! - fix: tolerate leading horizontal whitespace before YAML frontmatter delimiters. Closes mermaid-js/mermaid#7613 -
#7314
4e4e6c4Thanks @darshanr0107! - fix(flowchart): Prevent crash when flowchart node shape is undefined -
#7762
cfd2391Thanks @Dharya-dev! - fix(class): support styling and callbacks for generic classes -
#7284
c1f116dThanks @darshanr0107! - fix(gantt): Render gantt vertical markers without affecting row layout or chart height -
#7786
72fbab1Thanks @knsv-bot! - fix(er): allow special characters (e.g. dots) in ER diagram attribute names and types by escaping them with backticks -
#7672
4887e97Thanks @sjackson0109! - fix(flowchart): respect per-subgraph direction keyword in Dagre layout. Fixes #4648 -
#7734
a4c1e50Thanks @OfirHaf! - fix(block): read block padding and sanitize config dynamically instead of at module load time -
#7674
cc75089Thanks @cyphercodes! - fix(block): respect current DOMPurify config when sanitizing labels -
#7711
be2e282Thanks @Jinacker! - fix(flowchart): render flowchart and state self-loop edges as a single SVG path. -
#7781
d945968Thanks @Dharya-dev! - fix(radar): align axis labels based on angular position to prevent clipping -
#7661
2f5e9e8Thanks @nabila401! - fix(venn): fix 3-circle venn diagram union rendering -
#7780
8dcdce4Thanks @Dharya-dev! - fix(xychart): truncate plot data to match x-axis category count -
#7235
1bbc189Thanks @darshanr0107! - fix: Support consecutive LaTeX in node text -
#7247
365c1b1Thanks @darshanr0107! - fix(treeView): Ensure treemap labels render correctly in large nested diagrams -
#7754
06a32b7Thanks @palgunatm66! - fix(sequence): sequenceDiagram rect backgrounds using theme-aware fallback colors -
#7693
afaf306Thanks @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
79e97cdThanks @puneetdixit200! - fix(state): render state diagram click tooltips with mermaidTooltip -
#7570
c2305dfThanks @PinguinsRule! - fix(state): Fix invalid syntax between state and '{' -
#7758
a4a250bThanks @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
@mermaid-js/layout-elk@0.2.2
-
#7712
e2e518aThanks @knsv-bot! - fix(elk): propagateelk.mergeEdgesconfig to subgraphs in ELK layout — previously edges defined inside a subgraph were not merged even whenelk.mergeEdges: truewas set -
Updated dependencies [
ea1c48f,f45cc2c,f1f4d45,633c261,c8ba156,4e4e6c4,cfd2391,c1f116d,b4d0442,72fbab1,a6f097d,37f2e36,4e63e9d,4887e97,a4c1e50,cc75089,be2e282,d945968,2f5e9e8,8dcdce4,1bbc189,05223be,365c1b1,06a32b7,afaf306,216e4e9,79e97cd,e5c75e6,974fa7b,c2305df,a4a250b]:- mermaid@11.16.0
@mermaid-js/parser@1.2.0
-
#7535
ea1c48fThanks @ragelink! - feat(cynefin): Adds the Cynefin framework as a new diagram type (beta) to Mermaid (available ascynefin-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
b4d0442Thanks @notionparallax! - feat(treeView): Extends the existing treeView-beta diagram with features useful for representing file/directory structures. -
#7708
4e63e9dThanks @txmxthy! - feat(architecture): addalign row|column {ids…}directive to architecture-beta diagrams so authors can declare horizontal or vertical alignment of services explicitly. -
#7251
216e4e9Thanks @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).
@mermaid-js/examples@1.3.0
- #7915
f707c3dThanks @sidharthv96! - feat(examples): Add relatable, real-world examples for every diagram type, showcasing each diagram's strengths
v5.108.0
-
Treat top-level await and
import.metaas ES module markers, matching Node.js syntax detection so no explicit module type is needed. (by @alexander-akait in #21218) -
Add a
buntarget that emits ESM and externalizesbun:*and node.js built-in modules. (by @alexander-akait in #21248) -
Support CommonJS reexports via
Object.definePropertyvalue and getter descriptors. (by @alexander-akait in #21129) -
Support JSON Schema
constwhen generating CLI flags from a schema. (by @alexander-akait in #21087) -
Support JSON Schema
if/then/elsewhen generating CLI flags from a schema. (by @alexander-akait in #21087) -
Skip import specifiers,
require()andimport()calls in dead conditional branches gated by inlined imported constants (isDEV ? A : B), evaluated viagetCondition. (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
asoption and resolveurl()inside HTMLstyleattributes. (by @alexander-akait in #21157) -
Add dedicated module classes for all built-in module types. (by @alexander-akait in #21164)
-
Support
.html/.cssfor the default./srcentry under the html/css experiments. (by @alexander-akait in #21039) -
Add
defineConfighelper for typed configuration files. (by @alexander-akait in #21169) -
Add a
denotarget (with versions, e.g.deno,deno2,deno1.40) that emits ESM, resolves node.js built-ins via the requirednode:specifier, and keeps Deno's own import protocols (npm:,jsr:,node:,http(s)://) external. (by @alexander-akait in #21247) -
Use
module-importfor electron externals when the target supports ESM. (by @alexander-akait in #21184) -
Add
output.environment.logicalAssignmentto 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-urlhtml source type extractingurl()references from CSS-valued attributes. (by @alexander-akait in #21250) -
Add
module.parser.html.sourcesoption to disable or customize URL-attribute extraction for HTML modules, withscript/script-module/stylesheet/stylesheet-inlinetypes for custom attributes (by @alexander-akait in #21022) -
Add
module.parser.html.templateoption 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.inlineExportsfor 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 underoptimization.realContentHashand 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.letoption (paired with target'sletcapability) and emitlet/constinstead ofvarin generated runtime code wherever it is safe. Bindings that may be wrapped in runtime-conditionifblocks (harmony imports, ConcatenatedModule external imports) continue to usevarto preserve function scoping. (by @alexander-akait in #21010) -
Add
output.htmlto emit an HTML file per entrypoint, injecting its JS/CSS chunks (includingdependOnshared chunks). (by @alexander-akait in #21215) -
Add
module.parser.javascript.pureFunctionsto mark top-level names as side-effect-free for tree shaking. (by @hai-x in #21063) -
Add
universaltocompiler.platform, true for universal targets ("universal"or["web", "node"]). (by @bjohansebas in #21252) -
Add
output.strictModuleResolutionto gate the runtimeMODULE_NOT_FOUNDguard. (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
universaltarget 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 fromworker_threadswhen no globalWorkerexists. (by @alexander-akait in #21195) -
Add
output.workerChunkFilenameandentry.workerfor worker chunk filenames. (by @alexander-akait in #21128)
-
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
buildInfoandbuildMetaper 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__,constructorandprototypepath segments incli.processArgumentsto prevent prototype pollution. (by @alexander-akait in #21057) -
Speed up
Compilation.deleteAssetandCompilation.renameAssetvia 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]inurl()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
localIdentNameplaceholders. (by @alexander-akait in #21259) -
Resolve full CSS escapes (including hex) in CSS-Modules names, so e.g.
\75 rl()matchesurl(). (by @alexander-akait in #21196) -
Reduce CSS parser CPU (hoisted per-call regexes, byte-compared
@containerpure-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
DefinePluginaccess to an undefined object member asundefined. (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, andoutput.environment.symbol, and use method shorthand, spread,Object.hasOwn, and an unguardedSymbolin 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
nobrshielded 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.stackomits it. (by @alexander-akait in #21239) -
Speed up module concatenation by caching repeated per-module computations. (by @alexander-akait in #21115)
-
Move the
hotflag fromModuletoNormalModule, where it's actually read and written. (by @alexander-akait in #21028) -
Move the
weakflag fromDependencytoModuleDependency, 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
ProvidePlugininjection for local CommonJS require bindings that use the same variable name. (by @fireairforce in #21041) -
Resolve the global
new Worker(new URL(...))toworker_threadson thenodetarget. (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
styleexport-type injection so it no-ops when there is nodocument. (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)
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.
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.
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)
- Refactor
- Bindings
- TSL Compute: Fix needsUpdate. #33530 (@thelazylamaGit)
- Box3
- Improve docs. #33633 (@Mugen87)
- BufferGeometry
- Fix attribute count mismatch in
computeVertexNormals()andcomputeTangents(). #33520 (@Mugen87) - Support Transformed Geometry when Serializing. #33641 (@WestLangley, @Mugen87)
- Fix attribute count mismatch in
- CI
- Improve permissions. #33466 (@Mugen87)
- ClippingContext
- Fix stale viewMatrix with multiple cameras. #33578 (@Mugen87)
- ColorAdjustment
- Add
max()for outputs. #33854 (@sunag)
- Add
- common.glsl
- WebGLRenderer Shaders: introduce
transformNormalByInverseViewMatrix(). #33351 (@WestLangley, @Mugen87) - Update inverseTransformDirection definition for clarity. #33431 (@WestLangley)
- WebGLRenderer Shaders: introduce
- 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
WebGLBackendquery is unavailable. #33755 (@sunag)
- Fix FPS counter freeze when
- 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()andMaterial.fromJSON(). #33714 (@Mugen87)
- Add
- Matrix3
- deprecate
.scale(),.rotate(), and.translate(). #33757 (@WestLangley)
- deprecate
- Matrix4
- Introduce faster version of
determinant(). #33814 (@Mugen87) - Use
determinant3x3()where appropriate. #33820 (@WestLangley) - Rename
determinant3x3()todeterminantAffine(). #33823 (@Mugen87)
- Introduce faster version of
- Morph
- Fix individual
morphTargetInfluencesper object. #33772 (@sunag)
- Fix individual
- NodeBuilder
- Fast-path getDataFromNode when no sub-build is active. #33656 (@mrdoob)
- Use
.nodesasSetinstead of Array. #33664 (@sunag) - Use
.sequentialNodesasSetinstead of Array. #33703 (@mrdoob) - Make registerDeclaration() more robust. #33869 (@Mugen87)
- NodeMaterial
- Dynamically copy properties in
copy(). #33775 (@sunag)
- Dynamically copy properties in
- NodeMaterialObserver
- Fix default version value of textures. #33422 (@Mugen87)
- Reuse
lightsDatacache entry per frame. #33425 (@RenaudRohlinger, @claude) - Fix environment rotation and intensity checks. #33764 (@Mugen87)
- Nodes
- Fix
toConst()usage in Camera. #33831 (@Mugen87)
- Fix
- NodeUniformBuffer
- Fix
byteLengthto follow overriddenbuffergetter. #33469 (@RenaudRohlinger)
- Fix
- NodeUtils
- Update
getAlignmentFromTypeto use 4-byte elements and addbooltype. #33546 (@sunag)
- Update
- npm
- Exclude
examples/fontsfrom the published package. #33744 (@mrdoob, @claude)
- Exclude
- Object3D
- Honor
matrixWorldNeedsUpdateinupdateWorldMatrix(). #33746 (@Mugen87)
- Honor
- 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)
- Fix implicit depth texture creation when
- 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)
- Fix
- 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
InstancedMeshwith 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)
- Fix
- 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)
- Introduce
- 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)
- Fix shadow viewer inspect and introduce
- SphereGeometry
- Make pole vertices more robust. #33652 (@Mugen87)
- Src
- Clean up. #33590 (@WestLangley)
- StackNode
- Fix
outputNodeflow propagation. #33405 (@sunag)
- Fix
- StereoCamera
- Fix matrix computation. #33731 (@Mugen87)
- StorageTextureNode
- Bypass UV matrix transforms. #33545 (@thelazylamaGit)
- Set referenceNode & add .store() function. #33544 (@thelazylamaGit)
- TSL
- Remove
string,arrayBufferdefinitions. #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
ambientOcclusionproperty. #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)
- Remove
- 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
positionto location0. #33841 (@Mugen87) - Fix normal maps with
DoubleSide+ flat shading. #33859 (@Mugen87) - Fix normal maps with
BackSideand vertex tangents. #33861 (@Mugen87)
- WebGLTextureUtils
- fix
copyTextureToTexture()usage insideupdateBefore(). #33736 (@marcofugaro, @Mugen87)
- fix
- 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
hardwareClippingon 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)
- Use
Docs
- Improve
displacementMapJSDoc. #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.setupOutputand TSLpositionLocal. #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,
rttandbloom. #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_clusteredfirefly-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 Speedlabel ofwebgpu_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)
- Removed
-
ArcballControls
- Document correct usage of
adjustNearFar. #33479 (@Mugen87) - Fix swapped X/Y gizmo ring orientations. #33536 (@raeraex2)
- Document correct usage of
-
AsciiEffect
- Add
escapeHTML(). #33567 (@Mugen87)
- Add
-
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)
- Add
-
EXRLoader
- Fix out-of-bounds read on partial scanline blocks. #33620 (@Mugen87)
-
FXAANode
- Refactor
ApplyFXAA(). #33708 (@Mugen87)
- Refactor
-
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()andscale(). #33754 (@Mugen87)
- Remove remaining usage of
-
MikkTSpace
- Add
dispose(), cache promise. #33501 (@Shane-oo, @Mugen87)
- Add
-
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)
- Add
-
Reflector
- Make
getReflectionCamera()public. #33556 (@Mugen87)
- Make
-
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)
- Honor scale in
-
ShapePath
- Update
toShapes(). #33503 (@Mugen87)
- Update
-
TransformControls
- Add
viewportsupport. #33451 (@Mugen87) - Fix edge case transforms. #27719 (@AlaricBaraou, @Mugen87)
- Allow visibility control of rotation gizmos. #33562 (@Mugen87)
- Add
-
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
mimeTypesetting viaTexture.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)
- Support
-
USDZLoader
- Reorder quaternion components in USDA quatf[] array parsing. #33577 (@bigbigbiglazycat, @Mugen87)
- Preserve attribute connections when a direct value follows. #33581 (@Mugen87)
- Add
onLoad()andonError()toparse(). #33582 (@Mugen87)
-
VRMLLoader
- Allow multi-line strings. #33616 (@Mugen87)
-
VolumeShader
- Support perspective cameras. #33493 (@Mugen87)
- Improve
apply_colormap(). #33867 (@Mugen87)
-
Water2Mesh
- Simplify
flowMapsetup. #33540 (@Mugen87)
- Simplify
-
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
ListboxItemtext 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)
9.14.0
- feat: HTML-in-Canvas (WICG) support — HtmlTexture, interaction managers, polyfill installer - by RaananW (#18604)
- Fix Gaussian Splatting GPU picking and IBL voxelization - by raymondyfei (#18612)
- Flow Graph Editor: playground snippet auto-load, no auto-run on load, and stopped-state variable types - by RaananW (#18611)
- IBL Shadows frame graph hardening - by MiiBond (#18608)
- Report engine.name "Native" and implement updateTextureData - by bkaradzic-microsoft (#18566)
- GS + bucket sort + RH - by CedricGuillemet (#18606)
- Fix RectAreaLight serialization: position, photometric scale, and emission texture - by SergioRZMasson (#18605)
- fix overrides on morphs - by sebavan (#18595)
- fix(AudioV2): apply play options when resuming a paused sound - by RaananW (#18601)
- Add canvasTabIndex engine option - by RaananW (#18598)
- Fix VideoTexture not updating under WebGPU FAST snapshot rendering - [Bug Fix] by Popov72 (#18591)
- Decouple camera inertia glide cutoff from camera.speed - by georginahalpern (#18589)
- GS streaming lod part3 - by CedricGuillemet (#18588)
- Add cube render target support to the native engine - by bkaradzic-microsoft (#18561)
- build(treeshaking): make gui/loaders/serializers side-effect-free (.pure/.types split) - by RaananW (#18610)
- 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)
- 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)
- fix(sandbox): import LoadingScreen side-effect in renderingZone - by RaananW (#18614)
- Add FBX support to the Sandbox - [New Feature] by PatrickRyanMS (#18607)