* Mobile Safari needs the code to be >= 16px
* Buttons that just run the code shouldn’t have a label, since in all the other examples the label signifies the command to be run
* Use Bootstrap’s breakpoints
* Use Bootstrap’s styling for the <code> element, to avoid misaligned baseline
* Updated output
* Fix#4704: use replaceState, so that back/forward only happen for user clicks on links; opening and closing Try CoffeeScript doesn’t count as a new history entry, and closing it retrieves the previous URL
* Fix#4702: Some changelog entries are more equal than others
* Updated output
* Eliminate the 1px jitter when initializing code editors
* On first time opening Try CoffeeScript, use just #try as the hash
* Update output
* Increase general body line spacing
* Code styling per Jeremy
* Don’t let the main text column grow unreasonably wide
* Give list items some modest bottom margin (and use ems whenever possible)
* Updated output
<p><strong>CoffeeScript is a little language that compiles into JavaScript.</strong> Underneath that awkward Java-esque patina, JavaScript has always had a gorgeous heart. CoffeeScript is an attempt to expose the good parts of JavaScript in a simple way.</p>
<p>CoffeeScript now supports ES2015 <ahref="#modules"><code>import</code> and <code>export</code> syntax</a>.</p>
</li>
<li>
<p>Added the <code>-M, --inline-map</code> flag to the compiler, allowing you embed the source map directly into the output JavaScript, rather than as a separate file.</p>
</li>
<li>
<p>A bunch of fixes for <code>yield</code>:</p>
<li>CoffeeScript now supports ES2015 <ahref="#modules"><code>import</code> and <code>export</code> syntax</a>.</li>
<li>Added the <code>-M, --inline-map</code> flag to the compiler, allowing you embed the source map directly into the output JavaScript, rather than as a separate file.</li>
<li>A bunch of fixes for <code>yield</code>:
<ul>
<li>
<p><code>yield return</code> can no longer mistakenly be used as an expression.</p>
</li>
<li>
<p><code>yield</code> now mirrors <code>return</code> in that it can be used stand-alone as well as with expressions. Where you previously wrote <code>yield undefined</code>, you may now write simply <code>yield</code>. However, this means also inheriting the same syntax limitations that <code>return</code> has, so these examples no longer compile:</p>
<li><code>yield return</code> can no longer mistakenly be used as an expression.</li>
<li><code>yield</code> now mirrors <code>return</code> in that it can be used stand-alone as well as with expressions. Where you previously wrote <code>yield undefined</code>, you may now write simply <code>yield</code>. However, this means also inheriting the same syntax limitations that <code>return</code> has, so these examples no longer compile:<blockquoteclass="uneditable-code-block"><pre><code>doubles = ->
yield for i in [1..3]
i * 2
six = ->
@ -5621,28 +5629,15 @@ six = ->
2 * 3
</code></pre>
</blockquote></li>
<li>
<p>The JavaScript output is a bit nicer, with unnecessary parentheses and spaces, double indentation and double semicolons around <code>yield</code> no longer present.</p>
</li>
<li>The JavaScript output is a bit nicer, with unnecessary parentheses and spaces, double indentation and double semicolons around <code>yield</code> no longer present.</li>
</ul>
</li>
<li>
<p><code>&&=</code>, <code>||=</code>, <code>and=</code> and <code>or=</code> no longer accidentally allow a space before the equals sign.</p>
</li>
<li>
<p>Improved several error messages.</p>
</li>
<li>
<p>Just like <code>undefined</code> compiles to <code>void 0</code>, <code>NaN</code> now compiles into <code>0/0</code> and <code>Infinity</code> into <code>2e308</code>.</p>
</li>
<li>
<p>Bugfix for renamed destructured parameters with defaults. <code>({a: b = 1}) -></code> no longer crashes the compiler.</p>
</li>
<li>
<p>Improved the internal representation of a CoffeeScript program. This is only noticeable to tools that use <code>CoffeeScript.tokens</code> or <code>CoffeeScript.nodes</code>. Such tools need to update to take account for changed or added tokens and nodes.</p>
</li>
<li>
<p>Several minor bug fixes, including:</p>
<li><code>&&=</code>, <code>||=</code>, <code>and=</code> and <code>or=</code> no longer accidentally allow a space before the equals sign.</li>
<li>Improved several error messages.</li>
<li>Just like <code>undefined</code> compiles to <code>void 0</code>, <code>NaN</code> now compiles into <code>0/0</code> and <code>Infinity</code> into <code>2e308</code>.</li>
<li>Bugfix for renamed destructured parameters with defaults. <code>({a: b = 1}) -></code> no longer crashes the compiler.</li>
<li>Improved the internal representation of a CoffeeScript program. This is only noticeable to tools that use <code>CoffeeScript.tokens</code> or <code>CoffeeScript.nodes</code>. Such tools need to update to take account for changed or added tokens and nodes.</li>
<li>Several minor bug fixes, including:
<ul>
<li>The caught error in <code>catch</code> blocks is no longer declared unnecessarily, and no longer mistakenly named <code>undefined</code> for <code>catch</code>-less <code>try</code> blocks.</li>
<li>Unassignable parameter destructuring no longer crashes the compiler.</li>
<p>CoffeeScript now supports ES2015-style destructuring defaults.</p>
</li>
<li>
<p><code>(offsetHeight: height) -></code> no longer compiles. That syntax was accidental and partly broken. Use <code>({offsetHeight: height}) -></code> instead. Object destructuring always requires braces.</p>
</li>
<li>
<p>Several minor bug fixes, including:</p>
<li>CoffeeScript now supports ES2015-style destructuring defaults.</li>
<li><code>(offsetHeight: height) -></code> no longer compiles. That syntax was accidental and partly broken. Use <code>({offsetHeight: height}) -></code> instead. Object destructuring always requires braces.</li>
<li>Several minor bug fixes, including:
<ul>
<li>A bug where the REPL would sometimes report valid code as invalid, based on what you had typed earlier.</li>
<li>A problem with multiple JS contexts in the jest test framework.</li>
@ -6091,7 +6081,7 @@ The <code>extends</code> keyword now functions identically to <code>goog.inherit
* CoffeeScript now supports ES2015 [`import` and `export` syntax](#modules).
* Added the `-M, --inline-map` flag to the compiler, allowing you embed the source map directly into the output JavaScript, rather than as a separate file.
* A bunch of fixes for `yield`:
* `yield return` can no longer mistakenly be used as an expression.
* `yield` now mirrors `return` in that it can be used stand-alone as well as with expressions. Where you previously wrote `yield undefined`, you may now write simply `yield`. However, this means also inheriting the same syntax limitations that `return` has, so these examples no longer compile:
* The JavaScript output is a bit nicer, with unnecessary parentheses and spaces, double indentation and double semicolons around `yield` no longer present.
* `&&=`, `||=`, `and=` and `or=` no longer accidentally allow a space before the equals sign.
* Bugfix for renamed destructured parameters with defaults. `({a: b = 1}) ->` no longer crashes the compiler.
* Improved the internal representation of a CoffeeScript program. This is only noticeable to tools that use `CoffeeScript.tokens` or `CoffeeScript.nodes`. Such tools need to update to take account for changed or added tokens and nodes.
* Several minor bug fixes, including:
* The caught error in `catch` blocks is no longer declared unnecessarily, and no longer mistakenly named `undefined` for `catch`-less `try` blocks.
* Unassignable parameter destructuring no longer crashes the compiler.
* Source maps are now used correctly for errors thrown from .coffee.md files.
* CoffeeScript now supports ES2015-style destructuring defaults.
* `(offsetHeight: height) ->` no longer compiles. That syntax was accidental and partly broken. Use `({offsetHeight: height}) ->` instead. Object destructuring always requires braces.
* Several minor bug fixes, including:
* A bug where the REPL would sometimes report valid code as invalid, based on what you had typed earlier.
* A problem with multiple JS contexts in the jest test framework.
* An error in io.js where strict mode is set on internal modules.