diff --git a/.browserslistrc b/.browserslistrc index 229e2f1d..ec723927 100644 --- a/.browserslistrc +++ b/.browserslistrc @@ -4,8 +4,8 @@ not dead # Browsers with more than 0.1% global usage, excluding old browsers > 0.1% -not chrome < 45 -not ie < 9 +not ie < 11 +not safari < 9 # Currently maintained Node.js versions maintained node versions diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 2d4935ff..56689691 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -61,11 +61,6 @@ This will host an interactive editor at [http://localhost:7936/](http://localhost:7936/) to play around with and test changes. -webpack-dev-server 2.8.0 introduced a change which included ES6 keywords `const` -and `let` within the scripts being served to the browser, and therefore doesn't -support IE 9 and 10. If you want to test in IE 9 and 10, install version 2.7.1 -by running `yarn add webpack-dev-server@2.7.1`. - #### Jest tests The JavaScript parser and some of the HTML and MathML tree @@ -114,10 +109,9 @@ with a new feature. #### Testing in other browsers -KaTeX supports all major browsers, including IE 9 and newer. Unfortunately, it +KaTeX supports all major browsers, including IE 11 and newer. Unfortunately, it is hard to test new changes in many browsers. If you can, please test your -changes in as many browsers as possible. In particular, if you make CSS changes, -try to test in IE 9, using [modern.ie](http://modern.ie) VMs. +changes in as many browsers as possible. ## Building diff --git a/README.md b/README.md index 5868416e..55046c78 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,7 @@ KaTeX is a fast, easy-to-use JavaScript library for TeX math rendering on the we * **Self contained:** KaTeX has no dependencies and can easily be bundled with your website resources. * **Server side rendering:** KaTeX produces the same output regardless of browser or environment, so you can pre-render expressions using Node.js and send them as plain HTML. -KaTeX is compatible with all major browsers, including Chrome, Safari, Firefox, Opera, Edge, and IE 9–11. +KaTeX is compatible with all major browsers, including Chrome, Safari, Firefox, Opera, Edge, and IE 11. KaTeX supports much (but not all) of LaTeX and many LaTeX packages. See the [list of supported functions](https://katex.org/docs/supported.html). diff --git a/package.json b/package.json index 53fe305b..863bfcac 100644 --- a/package.json +++ b/package.json @@ -30,8 +30,8 @@ "babel-plugin-istanbul": "^5.1.1", "babel-plugin-version-inline": "^1.0.0", "benchmark": "^2.1.4", - "browserslist": "^4.4.1", - "caniuse-lite": "^1.0.30000938", + "browserslist": "^4.7.1", + "caniuse-lite": "^1.0.30001002", "codecov": "^3.2.0", "css-loader": "^3.0.0", "cssnano": "^4.1.10", diff --git a/src/buildHTML.js b/src/buildHTML.js index eeb27e1b..2bc79edb 100644 --- a/src/buildHTML.js +++ b/src/buildHTML.js @@ -292,10 +292,6 @@ function buildHTMLUnbreakable(children, options) { // Add strut, which ensures that the top of the HTML element falls at // the height of the expression, and the bottom of the HTML element // falls at the depth of the expression. - // We used to have separate top and bottom struts, where the bottom strut - // would like to use `vertical-align: top`, but in IE 9 this lowers the - // baseline of the box to the bottom of this strut (instead of staying in - // the normal place) so we use an absolute value for vertical-align instead. const strut = makeSpan(["strut"]); strut.style.height = (body.height + body.depth) + "em"; strut.style.verticalAlign = -body.depth + "em"; diff --git a/src/functions/utils/assembleSupSub.js b/src/functions/utils/assembleSupSub.js index 35f258bf..ccd4d381 100644 --- a/src/functions/utils/assembleSupSub.js +++ b/src/functions/utils/assembleSupSub.js @@ -17,8 +17,6 @@ export const assembleSupSub = ( slant: number, baseShift: number, ): DomSpan => { - // IE 8 clips \int if it is in a display: inline-block. We wrap it - // in a new span so it is an inline, and works. base = buildCommon.makeSpan([], [base]); let sub; let sup; diff --git a/yarn.lock b/yarn.lock index 8fc7574a..cab430e3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1530,14 +1530,14 @@ browserify-zlib@^0.2.0: dependencies: pako "~1.0.5" -browserslist@^4.0.0, browserslist@^4.0.1, browserslist@^4.3.4, browserslist@^4.4.1: - version "4.4.1" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.4.1.tgz#42e828954b6b29a7a53e352277be429478a69062" - integrity sha512-pEBxEXg7JwaakBXjATYw/D1YZh4QUSCX/Mnd/wnqSRPPSi1U39iDhDoKGoBUcraKdxDlrYqJxSI5nNvD+dWP2A== +browserslist@^4.0.0, browserslist@^4.0.1, browserslist@^4.3.4, browserslist@^4.7.1: + version "4.7.1" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.7.1.tgz#bd400d1aea56538580e8c4d5f1c54ac11b5ab468" + integrity sha512-QtULFqKIAtiyNx7NhZ/p4rB8m3xDozVo/pi5VgTlADLF2tNigz/QH+v0m5qhn7XfHT7u+607NcCNOnC0HZAlMg== dependencies: - caniuse-lite "^1.0.30000929" - electron-to-chromium "^1.3.103" - node-releases "^1.1.3" + caniuse-lite "^1.0.30000999" + electron-to-chromium "^1.3.284" + node-releases "^1.1.36" bser@^2.0.0: version "2.0.0" @@ -1683,10 +1683,10 @@ caniuse-api@^3.0.0: lodash.memoize "^4.1.2" lodash.uniq "^4.5.0" -caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000865, caniuse-lite@^1.0.30000929, caniuse-lite@^1.0.30000938: - version "1.0.30000938" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000938.tgz#b64bf1427438df40183fce910fe24e34feda7a3f" - integrity sha512-ekW8NQ3/FvokviDxhdKLZZAx7PptXNwxKgXtnR5y+PR3hckwuP3yJ1Ir+4/c97dsHNqtAyfKUGdw8P4EYzBNgw== +caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000865, caniuse-lite@^1.0.30000999, caniuse-lite@^1.0.30001002: + version "1.0.30001002" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001002.tgz#ba999a737b1abd5bf0fd47efe43a09b9cadbe9b0" + integrity sha512-pRuxPE8wdrWmVPKcDmJJiGBxr6lFJq4ivdSeo9FTmGj5Rb8NX3Mby2pARG57MXF15hYAhZ0nHV5XxT2ig4bz3g== capture-exit@^1.2.0: version "1.2.0" @@ -2672,10 +2672,10 @@ ejs@^2.6.1: resolved "https://registry.yarnpkg.com/ejs/-/ejs-2.6.1.tgz#498ec0d495655abc6f23cd61868d926464071aa0" integrity sha512-0xy4A/twfrRCnkhfk8ErDi5DqdAsAqeGxht4xkCUrsvhhbQNs7E+4jV0CN7+NKIY0aHE72+XvqtBIXzD31ZbXQ== -electron-to-chromium@^1.3.103: - version "1.3.113" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.113.tgz#b1ccf619df7295aea17bc6951dc689632629e4a9" - integrity sha512-De+lPAxEcpxvqPTyZAXELNpRZXABRxf+uL/rSykstQhzj/B0l1150G/ExIIxKc16lI89Hgz81J0BHAcbTqK49g== +electron-to-chromium@^1.3.284: + version "1.3.293" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.293.tgz#e52a30026b89276e211be36083a4d7136fd480ea" + integrity sha512-DQSBRuU2Z1vG+CEWUIfCEVMHtuaGlhVojzg39mX5dx7PLSFDJ7DSrGUWzaPFFgWR1jo26hj1nXXRQZvFwk7F8w== elliptic@^6.0.0: version "6.4.0" @@ -5693,12 +5693,12 @@ node-pre-gyp@^0.11.0: semver "^5.3.0" tar "^4" -node-releases@^1.1.3: - version "1.1.8" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.8.tgz#32a63fff63c5e51b7e0f540ac95947d220fc6862" - integrity sha512-gQm+K9mGCiT/NXHy+V/ZZS1N/LOaGGqRAAJJs3X9Ah1g+CIbRcBgNyoNYQ+SEtcyAtB9KqDruu+fF7nWjsqRaA== +node-releases@^1.1.36: + version "1.1.38" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.38.tgz#d81b365df2936654ba37f509ba2fbe91eff2578b" + integrity sha512-/5NZAaOyTj134Oy5Cp/J8mso8OD/D9CSuL+6TOXXsTKO8yjc5e4up75SRPCganCjwFKMj2jbp5tR0dViVdox7g== dependencies: - semver "^5.3.0" + semver "^6.3.0" nopt@^4.0.1: version "4.0.1" @@ -7427,6 +7427,11 @@ semver@^6.0.0: resolved "https://registry.yarnpkg.com/semver/-/semver-6.2.0.tgz#4d813d9590aaf8a9192693d6c85b9344de5901db" integrity sha512-jdFC1VdUGT/2Scgbimf7FSx9iJLXoqfglSF+gJeuNWVpiE37OIbc1jywR/GJyFdz3mnkz2/id0L0J/cr0izR5A== +semver@^6.3.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" + integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== + send@0.16.2: version "0.16.2" resolved "https://registry.yarnpkg.com/send/-/send-0.16.2.tgz#6ecca1e0f8c156d141597559848df64730a6bbc1"