Releases: KaTeX/KaTeX
Releases · KaTeX/KaTeX
v0.10.0
KaTeX has a new domain, website, and documentation at https://katex.org!
For the full list of changes since v0.9.0, see CHANGELOG.md.
Added
- Unicode ⟦⟧ (#1750)
- KaTeX website & documentation (#1571, #1642, #1680, #1683, #1688, #1631, #1727)
- Browserslist (#1662)
- 6-digit color without # (#1690)
- \mathnormal (#1700)
- \lparen and \rparen (#1741)
Changed
- Port to @flow: CssStyle (#1684)
- Improve release script (#1660, #1665)
- Refactor buildCommon (#1633, #1640)
- Upgrade to Babel 7 (#1595)
- Refactor Parser (#1711, #1723)
Fixed
v0.10.0-rc.1
Same as v0.10.0-rc, but fixes #1652 non-transpiled ES6 module being an entry point.
v0.10.0-rc
Possible breaking changes:
- The folder structure of archives (tarball and zip) has been changed: files now reside at the root.
- Only "http", "https", "mailto", and relative URLs are allowed in
\href
and\url
by default.
Bug fixes:
- Update fonts to remove \neq and \notin glyphs (#1499)
- Phantom text (#1449)
- Fix arrowheads for mhchem <--> (#1451)
- Set
documentFragment.style
to empty object (#1471) - Remove tree cloning before building HTML (#1470)
- Fix \operatorname to support general math functions (#1461)
- Use \not character without left side-bearing correction (#1267)
- Remove codes that require expensive polyfill (#1469, #1563, #1591, #1597)
- Fix \not vertical alignment (#1497)
- Comments without terminating newlines, \href fixes, \url support (#1529)
- Fix \textdaggerdbl (#1539)
- Fix \neq (#1548, #1574)
- Fix wide characters (#1549)
- Fix \fbox (#1550)
- Fix \Large roots (#1485)
- index.html: replace font, make responsive, improve demo (#1547, #1577, #1615, #1601)
New features:
- Unicode corner (#1459)
- Support \gdef in multiple equations in auto-render (#1425)
- \oiint and \oiiint (#1430)
- Remove
match-at
dependency, use RegExp for lexer (#1447) - \brace and \brack (#1453)
- Allow only allowed protocols in \href (#1440)
- \genfrac and \above (#1455, #1458)
- \char character escaping and nicer MathML via \html@mathml (#1454)
- @binrel (#1487)
- \pmb (#1418)
- KaTeX website & documentation (#1484, #1515, #1518, #1514, #1526, #1516, #1519, #1527, #1564, #1566, #1584)
- Improve supported functions documentation (#1511, #1517, #1532, #1533, #1576, #1556, #1580, #1602)
- Alpha sorted function support page (#1536)
- MediaWiki (texvc) (#1558)
- Add ignore option for class names in auto-render (#1555)
- ScrollSpy for table of contents in the documentation (#1557, #1567, #1568)
- Build ECMAScript modules (#1479, #1622)
- Enable environment variable USE_TTF to disable bundling TTF fonts (#1600)
- List of KaTeX users (#1569, #1579)
Other changes:
- Port to @flow: buildMathML, parseNode (#1486, #1534, #1541, #1542, #1551, #1552, #1554, #1559, #1606, #1609, #1612, #1637)
- Online screenshot diff/generation using CircleCI (#1187)
- Add display/displayMode toggle on test page (#1193)
- Change CDN links (#1243)
- Changelog for KaTeX (#1322)
- Move test helpers into common modules (#1318)
- Add regenerate option to the screenshotter (#1220)
- Upgrade to webpack 4 (#1337, #1435)
- Automatic submodule updating via husky tool (#1391)
- Refactor test helpers (#1336)
- Change build directory to
dist
and cleanup NPM scripts (#1500, #1610) - Switch from nomnom to commander (#1496)
- Add test job to CircleCI (#1235)
- Switch npm to Yarn (#1522, #1528)
- Improve release script & enable versioning documentation (#1521, #1603)
- Enable stylelint-config-standard, lint CSS files (#1575)
- Rename Screenshotter -> screenshotter (#1573)
v0.10.0-beta
Bug fixes:
- Cleanup MathML
<mrow>
,<mtext>
,<mn>
(#1338) - Add missing
v
prefix to the size badge URL (#1342) - Fix lap vertical alignment. (#1162)
- Update contrib READMEs to jsdelivr v0.10.0-alpha (#1362)
- Fix nested \tfrac (#1370)
- Fix coloneq etc (#1372)
- Fix wide character spacing (#1371)
- Enable output modules to be used in browser or Node (#1401)
- Fix auto-render \[…] bug (#1375)
- Rewrite spacing commands as macros, improving MathML rendering (#1156)
- Implement \neq and \notin via macros like LaTeX's (#1400)
- Improve \cancel (#1398)
- Fix ligatures vs. \tt (#1379)
- Add min-height to \rule (#1417)
- Automatic mrel/mbin spacing for \boldsymbol (#1388)
New features:
- Add regenerate option to the screenshotter (#1220)
- \def support (and \gdef and \global\def) (#1348)
- Support Unicode ⟂ ¬ ⊨ ‼ ∌ (#1377)
- Support Unicode ≲ ⩽ ⪅ ≶ ⋚ ⪋ (#1389)
- Change maxExpand limit to 1000 (#1383)
- Support \cfrac (#1392)
- Support \arraystretch as a macro definition (#1381)
- Add ability to create a dashed vertical line in arrays, using ':' (#1395)
- Add vertical kern to \vdots (#1402)
- Support \widecheck (#1406)
- Support \hdashline (#1407)
- Implement \colon as amsmath does (#1410)
- \newcommand, \renewcommand, \providecommand (#1382)
- [plugin system] Add a utility function (setFontMetrics) to extend builtin fontMetrics (#1269)
Other changes:
- Move infix operator handling into functions/genfrac.js. (#1328)
- Move environment delimiter handling to functions/environment.js. (#1329)
- Move "raisebox" into functions/raisebox.js. (#1331)
- Move "xArrow" into functions/arrow.js and add flow types. (#1327)
- Move "horizBrace" into functions/horizBrace.js. (#1332)
- Move HTML and MathML builders for symbol groups into src/functions/{symbolsOp,symbolsOrd}.js (#1334)
- Move "spacing" builders to functions/symbolsSpacing.js. (#1335)
- Move "ordgroup" and "tag" builders into functions/*. (#1339)
- Update dependencies: less(-loader), uglifyjs-webpack-plugin, request (#1343)
- Export htmlBuilder from accent, horizBrace, and op for supsub. (#1349)
- Move "supsub" handers into functions/supsub.js and add flow types. (#1359)
- Correct (type-wise) raisebox's usage of sizing's buildHtml. (#1361)
- Update flow version and address type errors. (#1369)
- Upgrade to webpack 4 (#1337)
- Update dependencies to enable Greenkeeper 🌴 (#1368)
- Make ParseNodeTypes more regular (#1373)
- Enforce consistent object brace spacing (#1376)
- Update package-lock.json (#1378)
- Separate parsing of \left and \right for improved type safety. (#1386)
- Make letter tests strict (#1385)
- Update function handlers to return a ParseNode (#1393)
- Update webpack-cli to the latest version 🚀 (#1397)
- Replace ParseNode<*> with a more accurate AnyParseNode and fix flow errors (#1387)
- Automatic submodule updating via husky tool (#1391)
- chore(package): update flow-bin to version 0.74.0 (#1414)
- Remove redundant \lbrack and \rbrack (#1416)
- Edit \lbrack and \rbrack (#1420)
- Port buildHTML to @flow. (#1408)
v0.10.0-alpha
Bug fixes:
- Nested Math in Non-Default Text Fix (#1111)
- Fix contenteditable mode (#1179)
- Work around negative space bug in Chrome (#1194)
- Fix \nobreakspace, refactor "regular space" checking (#1200)
- Fix cli.js: add nomnom dependency, add -u option (#1218)
- Add metrics for \S and \P (#1224)
- Fix anchor.toMarkup (#1246)
- Specify height for SVG elements (#1252)
- Include Bold-Italic fonts for \boldsymbol (#1257)
- Fix space width in \texttt (#1261)
- Fix \underset (#1277)
- Switch makeGlue from .mord .rule to .mspace (#1295)
- Stop throwing ParseError when throwOnError is false (#1169)
- Fix extensible arrow sup vertical alignment (#1256)
- Adjust \underset alignment and spacing (#1290)
- Revert frac-lines to borders (#1249)
- Fix underbrace (#1304)
- Strict setting controls \newline display-mode behavior; fix MacroExpander space handling (#1314)
New features:
- unicodeTextInMathMode setting (#1117)
- Support Unicode ° (#1203)
- Add \yen support to text mode (#1208)
- Support Unicode delimiters (#1207)
- Support ( and fix instant mode switching for $, (, \text (#1213)
- More Unicode letters (#1260)
- Support Unicode \ll and \lll (#1273)
- Add defineSymbol to the main katex object (#1263)
- Greek caps (#1283)
- Add version to katex object (#1279)
- Support Unicode ≘≙≚≛≝≞≟ (#1274)
- Support some Unicode Mathematical Alphanumeric Symbols (#1232)
- \copyright, \textregistered, \textcircled support (#1073)
- Tilde \textasciitilde and fix ~ in \verb (#1286)
- Line breaks for inline formulas (#1287)
- Support \hline (#1306)
- Support for top-level \newline and \ in inline math (#1298)
- Implement strict mode (replacing unicodeTextInMathMode) (#1278)
- Allow all Unicode symbols in nonstrict mode (#1217)
- Support \tag, \tag*, and \gdef (#1309)
Other changes:
- Add tests for __* internal interface (#1170)
- Port delimiter.js to @flow. (#1177)
- Add unicode-fonts as submodule (#1182)
- Port spacingData and unicodeSymbols to @flow. (#1195)
- Online screenshot diff/generation using CircleCI (#1187)
- Implementing analyze script (#1197)
- Add display/displayMode toggle on test page (#1193)
- Format buildHTML groupType definitions in preparation for adding types (#1206)
- Treat svg-wrapping spans differently from DOM-wrapping spans. (#1239)
- List react-katex in Libraries (#1236)
- Change CDN links (#1243)
- Type correction to allow documentFragment to be children of span. (#1247)
- Add size badge (#1253)
- Fix typo in release.sh (#1280)
- Alternate approach to capital Greek letters (#1285)
- Remove special \verb space handling now that space is in Typewriter-Regular (#1258)
- move retrieveBaseFontName and retrieveFontStylesName into retrieveTextFontName (#1300)
- Update texcmp (#1297)
- Document new error handling behavior (renderOnError) (#1302)
- Make ParseNode
value
payload and defineFunction handler functions tpe-safe (#1276) - Cleanup domTree.js to re-use code (#1305)
- One strut instead of two (#1307)
- throwOnError documentation bug fix (#1308)
- Documenting String.raw (#1198)
- Make htmlBuilder and mathmlBuilder params type-safe. (#1312)
- changelog for KaTeX - complete w/ links (#1322)
- Move test helpers into common modules (#1318)
- Move the rest of the ops from functions.js to functions/ops.js. (#1323)
- Move "mclass" node logic to functions/mclass. (#1325)
- Specify flow output types for htmlBuilder and mathmlBuilder. (#1324)
v0.9.0
Bug fixes:
- Improve JS spacing (#1103)
- Fix handling of Unicode characters ð, Å, å (#1157)
- Padding over \sqrt and Paths for frac-line (#1143)
New Features:
- Italic Greek capital letters (#1118)
- Add support for \mathring (#1125)
- add support for unicode angle brackets, single vertical bar, double vertical bar (#1123)
- Enable spacing functions in text mode (#1139)
- Support Reaction Arrows (#1078)
- Add \nobreakspace (#1145)
- Support Unicode colon equals (#1151)
- Support \underline in text mode (#1159)
Other Changes:
- add perf tests, fixes #1053 (#1054)
- extract sizing and styling implicit functions (#1116)
- move katex.less into src (#1120)
- extract font functions and implicit color function (#1119)
- Set webpack-dev-server host to 0.0.0.0 (#1122)
- Enable hot module replacement(HMR) (#1100)
- set up code coverage (#1140)
- Remove Makefile and migrate to NPM scripts (#1135)
- Update NPM scripts and documentation (#1146)
- move metrics to katex-fonts submodule (#1134)
- add .codecov.yml and disable patch coverage (#1164)
- Add a paragraph about injection safety (#1161)
v0.9.0-beta1
New features:
- Add support for \aa, \AA, \lq, \rq, \lbrack, \rbrack (#1069)
- Support more scripts in \text{} environments. (#1076)
- add Main-BoldItalic font to allow nesting of \textit and \textbf
- add \S and \P (#1110)
Bug fixes:
- Don't inherit SVG style properties from the environment. (#1089)
- Update fonts and metrics so that accents are positioned correctly (#1094)
- Fixes #1093 (non-portable use of String method .includes) (#1097)
- use correct spacing with tight styles (#1106)
Other:
- Add katex-ruby to the libraries list (#1067)
- Move auto-render-spec.js to ./test (#1071)
- Use webpack to build files and webpack-dev-server for testing (#1068)
- extract handling of implicit leftright groups (#1047)
- extract accent and accentunder into their own files (#1048)
- Export ES6 module in fontMetricsData.js (#1072)
- Fix undefined devServer.app in screenshotter (#1085)
- Use JS for spacing between atoms instead of CSS (#1070)
- Add a screenshot test to ensure that we don't inherit svg-only CSS properties (#1092)
- remove symlink to support devs using Windows (#1090)
v0.9.0-beta
Breaking Changes:
- Change \xLongequal to \xlongequal (#997)
New features:
- \kern fixes, \hskip support, \TeX, \LaTeX, \KaTeX (#974)
- Support Unicode middle dot (#1015)
- Exposing the build tree. (#1017)
- Added support for bold italic symbols (#1011)
- Add buildHTMLTree (#1022)
- Implement \TextOrMath, @secondoftwo (#1024)
- add \i and \j for text mode (#1029)
- add \ae, \AE, \oe, \OE, \o, \O, \ss with unicode support for those characters in text mode (#1030)
- Add basic support for Indic scripts in addition to CJK. (#1060)
- Unicode accents (#992)
Bug fixes:
- Avoid negative space in \bmod. (#984)
- Stacking text commands (#1009)
- Fix \vec (#1018)
- Make accents zero width (#1033)
- Fix frac-line (#1025)
- Implement correct macros for liminf and limsup, fixes #111 (#887)
- \kern generates right-margin instead of left-margin. Fix #995 (#1019)
Other:
- extract overline, underline, and rule into their own files (#999)
- extract color and text commands into their own files in functions subdirectory (#998)
- cache node_modules on travis-ci, fixes #1001 (#1002)
- replace dockers/MathJaxFonts with KaTeX/katex-fonts submodule (#891)
- delimiter.js: Don't assign sizeMultiplier to span in prep for porting to flow (#1006)
- add glyph widths to fontMetricsData.js (#1032)
- Removing katex-logo css, as it's no longer used. (#1037)
- Add a 'common issues' section to the README (#1034)
- add package-lock.json so our builds are repeatable
- Update testing infrastructure NPM packages (#1044)
- flow typings for parser.js (#1041)
- extract sqrt, enclose, and verb into their own files (#1040)
- Remove support for .eot font files, fixes #893 (#1051)
- Make a more working example in README. Fix #1049 (#1050)
- Browserify hotfix (#1057)
- Add read/write file cli parameters (#882)
v0.9.0-alpha2
New features:
- Support Unicode relations (#933)
- Implements the alignedat environment for flexible math spacing (#930)
- Support Unicode Binary Operators (#951)
- Implements \mathchoice command (#969)
- Support Unicode Negated Relations (#952)
- Support Unicode Arrows (#947)
- Support Unicode Big Operators (#961)
- Implemented \href command (#923)
- Single-character macros like active characters (#973)
- Support Unicode Symbols (#950)
- \hspace*, \@ifstar, \@ifnextchar, \@FirstOfTwo (#975)
- Adds \notni character ∌ (#710)
- Support Unicode ∴ and ∵ (#991)
- Support Unicode \mid (#993)
Bug fixes:
- Fix the spacing between columns in the {aligned} environment (#942)
- Fix issue where the {aligned} environment skips the last line if the first column is empty (#949)
- Append ApplyFunction to math functions in MathML (#960)
- Change \undertilde to \utilde (#948)
- Change frac-line from border to full span (#976)
Other:
- Change buildCommon.makeVList params to struct for better type-safety (#940)
- Migrate genfrac, lap, smash, op, mod, and katex into their own files in src/functions (#871)
- Added ng-katex link to readme.md (#959)
- Port stretchy to @flow. (#934)
- Port mathMLTree to @flow. (#957)
- Fix linefeed test (#964)
- Output port number of server, and lint fixes (#980)
- Fix node_modules exclusion in webpack server (#981)
- Port domTree and buildCommon to @flow. (#938)
- Simplify HTML generation logic for \cancel, \bcancel, \xcancel. (#988)
- "use strict" in ss_data.js (#986)
- Port katex, buildTree, parseTree to @flow. (#989)
v0.9.0-alpha1
Bug fixes:
Other changes:
- webpack server: add disableHostCheck option (#915)
- Convert nested SVGs to single-level SVGs (#909)
- Edit link to Function Support page (#922)
- Lint .less files with stylelint (#925)
- Simplify get() now that we don't need it to ignorespaces (#928)
- Export svgGeometry to @flow. (#936)
- Port utils to @flow. (#935)