Skip to content

Commit 9b6396a

Browse files
committed
2026-02-19
1 parent 674f398 commit 9b6396a

File tree

79 files changed

+340
-320
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

79 files changed

+340
-320
lines changed

.DS_Store

0 Bytes
Binary file not shown.

404.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
<link rel="preload" as="image" href="/img/hand-slugs.jpg" fetchpriority="high">
1919
<link rel="preload" as="image" href="/img/hand-gears.jpg" fetchpriority="high">
2020
<link rel="preload" as="image" href="/img/hand-cube2.jpg" fetchpriority="high"><link rel="stylesheet" href="/assets/css/styles.44ad2588.css">
21-
<script src="/assets/js/runtime~main.a274676f.js" defer="defer"></script>
21+
<script src="/assets/js/runtime~main.7790eb59.js" defer="defer"></script>
2222
<script src="/assets/js/main.a713022c.js" defer="defer"></script>
2323
</head>
2424
<body class="navigation-with-keyboard">

about/index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
<link rel="preload" as="image" href="/img/hand-slugs.jpg" fetchpriority="high">
1919
<link rel="preload" as="image" href="/img/hand-gears.jpg" fetchpriority="high">
2020
<link rel="preload" as="image" href="/img/hand-cube2.jpg" fetchpriority="high"><link rel="stylesheet" href="/assets/css/styles.44ad2588.css">
21-
<script src="/assets/js/runtime~main.a274676f.js" defer="defer"></script>
21+
<script src="/assets/js/runtime~main.7790eb59.js" defer="defer"></script>
2222
<script src="/assets/js/main.a713022c.js" defer="defer"></script>
2323
</head>
2424
<body class="navigation-with-keyboard">

assets/js/19c2369c.6f9d1aa2.js

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

assets/js/22dd74f7.1557e7c5.js

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

assets/js/runtime~main.7790eb59.js

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

compute-engine/api/index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
<link rel="preload" as="image" href="/img/hand-slugs.jpg" fetchpriority="high">
1919
<link rel="preload" as="image" href="/img/hand-gears.jpg" fetchpriority="high">
2020
<link rel="preload" as="image" href="/img/hand-cube2.jpg" fetchpriority="high"><link rel="stylesheet" href="/assets/css/styles.44ad2588.css">
21-
<script src="/assets/js/runtime~main.a274676f.js" defer="defer"></script>
21+
<script src="/assets/js/runtime~main.7790eb59.js" defer="defer"></script>
2222
<script src="/assets/js/main.a713022c.js" defer="defer"></script>
2323
</head>
2424
<body class="navigation-with-keyboard">

compute-engine/changelog/index.html

Lines changed: 24 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<head>
44
<meta charset="UTF-8">
55
<meta name="generator" content="Docusaurus v3.9.2">
6-
<title data-rh="true">Changelog - Compute Engine · MathLive</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://mathlive.io/img/social-card.jpg"><meta data-rh="true" name="twitter:image" content="https://mathlive.io/img/social-card.jpg"><meta data-rh="true" property="og:url" content="https://mathlive.io/compute-engine/changelog/"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Changelog - Compute Engine · MathLive"><meta data-rh="true" name="description" content="Coming Soon"><meta data-rh="true" property="og:description" content="Coming Soon"><link data-rh="true" rel="icon" href="/img/logo.webp"><link data-rh="true" rel="canonical" href="https://mathlive.io/compute-engine/changelog/"><link data-rh="true" rel="alternate" href="https://mathlive.io/compute-engine/changelog/" hreflang="en"><link data-rh="true" rel="alternate" href="https://mathlive.io/compute-engine/changelog/" hreflang="x-default"><link data-rh="true" rel="preconnect" href="https://Q23Y5RN3UQ-dsn.algolia.net" crossorigin="anonymous"><script data-rh="true" type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Changelog","item":"https://mathlive.io/compute-engine/changelog/"}]}</script><link rel="search" type="application/opensearchdescription+xml" title="MathLive" href="/opensearch.xml">
6+
<title data-rh="true">Changelog - Compute Engine · MathLive</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://mathlive.io/img/social-card.jpg"><meta data-rh="true" name="twitter:image" content="https://mathlive.io/img/social-card.jpg"><meta data-rh="true" property="og:url" content="https://mathlive.io/compute-engine/changelog/"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Changelog - Compute Engine · MathLive"><meta data-rh="true" name="description" content="0.52.1 2026-02-19"><meta data-rh="true" property="og:description" content="0.52.1 2026-02-19"><link data-rh="true" rel="icon" href="/img/logo.webp"><link data-rh="true" rel="canonical" href="https://mathlive.io/compute-engine/changelog/"><link data-rh="true" rel="alternate" href="https://mathlive.io/compute-engine/changelog/" hreflang="en"><link data-rh="true" rel="alternate" href="https://mathlive.io/compute-engine/changelog/" hreflang="x-default"><link data-rh="true" rel="preconnect" href="https://Q23Y5RN3UQ-dsn.algolia.net" crossorigin="anonymous"><script data-rh="true" type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Changelog","item":"https://mathlive.io/compute-engine/changelog/"}]}</script><link rel="search" type="application/opensearchdescription+xml" title="MathLive" href="/opensearch.xml">
77

88
<link rel="stylesheet" src="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.65.11/codemirror.min.css">
99
<script>!function(){var e,t;window.moduleMap||(window.moduleMap={}),window.moduleMap={...window.moduleMap,mathlive:"https://esm.run/mathlive","compute-engine":"https://esm.run/@cortex-js/compute-engine","@cortex-js/compute-engine":"https://esm.run/@cortex-js/compute-engine"},(e=["https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.65.16/codemirror.min.js","https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.65.16/mode/javascript/javascript.min.js","https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.65.16/mode/xml/xml.min.js","https://unpkg.com/@cortex-js/compute-engine","https://cdn.jsdelivr.net/npm/mathlive","https://cdn.jsdelivr.net/npm/@ui-js/code-playground@1.13.2/dist/code-playground.min.js@module"]).forEach((o,n)=>{const m=o.endsWith("@module"),c="script"+function(e,t=0){let o=3735928559^t,n=1103547991^t;for(let t=0;t<e.length;t++){const m=e.charCodeAt(t);o=Math.imul(o^m,2654435761),n=Math.imul(n^m,1597334677)}return o=Math.imul(o^o>>>16,2246822507),o^=Math.imul(n^n>>>13,3266489909),n=Math.imul(n^n>>>16,2246822507),n^=Math.imul(o^o>>>13,3266489909),4294967296*(2097151&n)+(o>>>0)}(o=o.replace("@module","")).toString(36);if(document.getElementById(c))return;const d=document.createElement("script");m&&(d.type="module"),d.id=c,d.src=o,d.async=!1,t&&n===e.length-1&&(d.onload=t),document.head.appendChild(d)})}()</script>
@@ -18,7 +18,7 @@
1818
<link rel="preload" as="image" href="/img/hand-slugs.jpg" fetchpriority="high">
1919
<link rel="preload" as="image" href="/img/hand-gears.jpg" fetchpriority="high">
2020
<link rel="preload" as="image" href="/img/hand-cube2.jpg" fetchpriority="high"><link rel="stylesheet" href="/assets/css/styles.44ad2588.css">
21-
<script src="/assets/js/runtime~main.a274676f.js" defer="defer"></script>
21+
<script src="/assets/js/runtime~main.7790eb59.js" defer="defer"></script>
2222
<script src="/assets/js/main.a713022c.js" defer="defer"></script>
2323
</head>
2424
<body class="navigation-with-keyboard">
@@ -46,19 +46,28 @@
4646
font-weight: 400
4747
}
4848

49-
</style><h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="coming-soon">Coming Soon<a href="#coming-soon" class="hash-link" aria-label="Direct link to Coming Soon" title="Direct link to Coming Soon" translate="no">​</a></h3><ul>
49+
</style><h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="0521-2026-02-19">0.52.1 <em>2026-02-19</em><a href="#0521-2026-02-19" class="hash-link" aria-label="Direct link to 0521-2026-02-19" title="Direct link to 0521-2026-02-19" translate="no">​</a></h3><ul>
50+
<li class="">
51+
<p>To check if a value is an exact number literal, you can now use
52+
<code>isNumber(expr) &amp;&amp; expr.isExact</code>.</p>
53+
</li>
54+
<li class="">
55+
<p>When using the <code>raw</code> canonical form, preserve negation, i.e. <code>x-1</code> will now
56+
parse as <code>[&quot;Subtract&quot;, &quot;x&quot;, &quot;1&quot;]</code> rather than <code>[&quot;Add&quot;, &quot;x&quot;, -1]</code>.</p>
57+
</li>
5058
<li class="">
5159
<p><strong>Fix <code>;\;</code> parsing in semicolon blocks</strong>: Semicolons followed by LaTeX visual
5260
spacing commands (<code>\;</code>, <code>\,</code>, <code>\quad</code>, etc.) no longer produce spurious
53-
<code>Nothing</code> nodes in the parse tree. Previously, <code>a \coloneq x^2;\; (a+1)</code>
54-
would include a <code>Nothing</code> operand in the Block, making <code>isValid</code> return
55-
<code>false</code> and causing compilation to fail. The parser now skips visual spacing
56-
after semicolon separators.</p>
61+
<code>Nothing</code> nodes in the parse tree. Previously, <code>a \coloneq x^2;\; (a+1)</code> would
62+
include a <code>Nothing</code> operand in the Block, making <code>isValid</code> return <code>false</code> and
63+
causing compilation to fail. The parser now skips visual spacing after
64+
semicolon separators.</p>
5765
</li>
5866
<li class="">
59-
<p><strong>Fix <code>\text{if}</code> parsing with <code>\;</code> spacing</strong>: The <code>\text{if}\; x \geq 0 \;\text{then}\; 1 \;\text{else}\; 0</code> pattern now parses correctly as an <code>If</code>
60-
expression. Previously, <code>\;</code> before <code>\text{then}</code> or <code>\text{else}</code> prevented
61-
keyword detection, producing a <code>Tuple</code> instead.</p>
67+
<p><strong>Fix <code>\text{if}</code> parsing with <code>\;</code> spacing</strong>: The
68+
<code>\text{if}\; x \geq 0 \;\text{then}\; 1 \;\text{else}\; 0</code> pattern now parses
69+
correctly as an <code>If</code> expression. Previously, <code>\;</code> before <code>\text{then}</code> or
70+
<code>\text{else}</code> prevented keyword detection, producing a <code>Tuple</code> instead.</p>
6271
</li>
6372
<li class="">
6473
<p><strong>Block serializer uses <code>; </code> separator</strong>: The Block serializer now emits <code>; </code>
@@ -89,8 +98,8 @@
8998
</li>
9099
<li class="">
91100
<p><strong>Fix recursive GLSL gamma function</strong>: The <code>_gpu_gamma()</code> preamble in the GPU
92-
and interval-GLSL compilation targets used recursion for the reflection formula
93-
(z &lt; 0.5), which is illegal in GLSL. Replaced with a non-recursive
101+
and interval-GLSL compilation targets used recursion for the reflection
102+
formula (z &lt; 0.5), which is illegal in GLSL. Replaced with a non-recursive
94103
implementation that inlines the Lanczos approximation for both branches.</p>
95104
</li>
96105
<li class="">
@@ -104,9 +113,9 @@
104113
<li class="">
105114
<p><strong>Unicode superscript and subscript digit support</strong>: The LaTeX parser now
106115
recognizes Unicode superscript digits (<code>⁰¹²³⁴⁵⁶⁷⁸⁹⁻</code>) and subscript digits
107-
(<code>₀₁₂₃₄₅₆₇₈₉₋</code>), converting them to <code>^{...}</code> and <code>_{...}</code> respectively.
108-
This works in all parsing modes. For example, <code>x²</code> parses as <code>x^{2}</code>,
109-
<code>sin²(x)</code> as <code>\sin^{2}(x)</code>, <code>x⁻²</code> as <code>x^{-2}</code>, and <code>x₁₂</code> as <code>x_{12}</code>.</p>
116+
(<code>₀₁₂₃₄₅₆₇₈₉₋</code>), converting them to <code>^{...}</code> and <code>_{...}</code> respectively. This
117+
works in all parsing modes. For example, <code>x²</code> parses as <code>x^{2}</code>, <code>sin²(x)</code> as
118+
<code>\sin^{2}(x)</code>, <code>x⁻²</code> as <code>x^{-2}</code>, and <code>x₁₂</code> as <code>x_{12}</code>.</p>
110119
</li>
111120
<li class="">
112121
<p><strong><code>.is()</code> now works with assigned variables</strong>: Previously, <code>.is()</code> only

compute-engine/demo/index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
<link rel="preload" as="image" href="/img/hand-slugs.jpg" fetchpriority="high">
1919
<link rel="preload" as="image" href="/img/hand-gears.jpg" fetchpriority="high">
2020
<link rel="preload" as="image" href="/img/hand-cube2.jpg" fetchpriority="high"><link rel="stylesheet" href="/assets/css/styles.44ad2588.css">
21-
<script src="/assets/js/runtime~main.a274676f.js" defer="defer"></script>
21+
<script src="/assets/js/runtime~main.7790eb59.js" defer="defer"></script>
2222
<script src="/assets/js/main.a713022c.js" defer="defer"></script>
2323
</head>
2424
<body class="navigation-with-keyboard">

0 commit comments

Comments
 (0)