text: 
  
  <!DOCTYPE html>
  <html lang="en" data-herman="root">
  <head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1">
  
    
    <title>Changelog | True Documentation</title>
  
    <link href="assets/img/favicon.ico" rel="shortcut icon">
    <link href="https://fonts.googleapis.com/css?family=Source+Code+Pro:400,600|Source+Sans+Pro:400,400i,700,700i" rel="stylesheet">
  
    <link rel="stylesheet" href="assets/webpack/app_styles.min.css" />
  
    
  
    
  </head>
  <body data-herman="body">
    <svg xmlns="http://www.w3.org/2000/svg" hidden>
    <symbol id="icon-logo" viewBox="0 0 16 16">
      <path d="M.2 8L0 7.8v-.2C.8 6.9 1.9 5.9 2.7 5l.4.3c-.5.8-1.1 1.6-1.8 2.3 1 1.2 1 1.3 1.7 2.4l-.4.3c-.4-.4-.5-.6-1-1C1 8.6 1.1 8.7.2 8zM13 10c.6-1.1.7-1.1 1.7-2.4-.6-.6-1.3-1.5-1.7-2.3l.3-.3c.8.8 1.8 1.8 2.7 2.6v.2l-.8.7c-.3.3-1.2 1.1-1.8 1.7L13 10z"/><path d="M2.6 13.1H3c.9 0 1.1-.2 1.1-1.4V4.2c0-1.1-.2-1.4-1.1-1.4h-.4v-.6h4.5v.7h-.3c-.9 0-1.1.2-1.1 1.4v3.2h4.6V4.2c0-1.1-.2-1.4-1.1-1.4h-.3v-.6h4.5v.7H13c-.9 0-1.1.2-1.1 1.4v7.5c0 1.1.2 1.4 1.1 1.4h.4v.7H8.9v-.7h.3c.9 0 1.1-.2 1.1-1.4V8.2H5.7v3.5c0 1.1.2 1.4 1.1 1.4h.3v.7H2.6v-.7z"/>
    </symbol>
    <symbol id="icon-menu" viewBox="0 0 24 28">
      <path d="M24 21v2c0 .547-.453 1-1 1H1c-.547 0-1-.453-1-1v-2c0-.547.453-1 1-1h22c.547 0 1 .453 1 1zm0-8v2c0 .547-.453 1-1 1H1c-.547 0-1-.453-1-1v-2c0-.547.453-1 1-1h22c.547 0 1 .453 1 1zm0-8v2c0 .547-.453 1-1 1H1c-.547 0-1-.453-1-1V5c0-.547.453-1 1-1h22c.547 0 1 .453 1 1z"/>
    </symbol>
  </svg>
  
    <div data-region="app">
      <header data-region="banner">
        
    <button data-nav-toggle data-toggle="button" aria-controls="nav" aria-pressed="false" type="button" data-toggle-synced="false">
      
    <svg data-icon="menu" data-icon-size="nav-icon" ><title>menu</title><use xlink:href="#icon-menu" />
    </svg>
  
    </button>
  
  
        <div class="project-title">
          <a href="index.html" rel="home" class="project-name">True</a>
          
            <span class="project-version">6.0.0</span>
          
        </div>
      </header>
  
      <div data-region="container">
        
    <nav data-region="nav" data-toggle="target" id="nav" data-target-id="nav" aria-expanded="false" data-auto-closing="false" data-auto-closing-on-any-click="false">
      <form action="search.html">
        <input type="text" name="q" placeholder="Search…" required minlength="3">
      </form>
  
      <div class="nav-subsection">
        <h3 class="nav-home">
          
          <a href="index.html" data-nav="is-not-active">True</a>
        </h3>
  
        
        
          <ul>
            
              
              <li class="nav-item">
                <a href="CHANGELOG.html" data-nav="is-active">Changelog</a>
              </li>
            
              
              <li class="nav-item">
                <a href="CONTRIBUTING.html" data-nav="is-not-active">Contributing</a>
              </li>
            
              
              <li class="nav-item">
                <a href="LICENSE.html" data-nav="is-not-active">BSD3 License</a>
              </li>
            
          </ul>
        
      </div>
  
      
      <div class="nav-subsection">
        <ul>
              <li class="nav-subsection">
                <h3 class="nav-title">Structure</h3>
                <ul>
                  
    
      <li class="nav-item">
        <a href="api-settings.html" data-nav="is-not-active">Optional Configuration</a>
      </li>
    
    
      <li class="nav-item">
        <a href="api-test.html" data-nav="is-not-active">Describing Tests</a>
      </li>
    
    
      <li class="nav-item">
        <a href="api-report.html" data-nav="is-not-active">Reporting Results</a>
      </li>
    </ul>
              </li>
              <li class="nav-subsection">
                <h3 class="nav-title">Assertions</h3>
                <ul>
                  
    
      <li class="nav-item">
        <a href="api-assert-values.html" data-nav="is-not-active">Testing Return<span class="widont">&nbsp;</span>Values</a>
      </li>
    
    
      <li class="nav-item">
        <a href="api-assert-output.html" data-nav="is-not-active">Testing CSS<span class="widont">&nbsp;</span>Output</a>
      </li>
    
    
      <li class="nav-item">
        <a href="api-errors.html" data-nav="is-not-active">Catching &amp; Testing<span class="widont">&nbsp;</span>Errors</a>
      </li>
    </ul>
              </li></ul>
      </div>
  
      
      
  
      
        <aside class="footer-credit">
          <a href="http://oddbird.net/herman/" class="footer-icon">
            
    <svg data-icon="logo" data-icon-size="footer-logo" ><use xlink:href="#icon-logo" />
    </svg>
  
          </a>
          <span>
            Documented with
            <a href="http://oddbird.net/herman/" class="footer-link">
              Herman
            </a>
          </span>
          <span>
            by
            <a href="http://oddbird.net/" class="footer-link">
              OddBird
            </a>
          </span>
        </aside>
      
    </nav>
  
  
        <main data-region="main">
          
    <nav class="breadcrumb">
      
      <a href="index.html" >True</a> »
      <strong>Changelog</strong>
    </nav>
  
  
          <div data-page="CHANGELOG">
            
    <div class="text-block">
      <h1 id="true-changelog">True Changelog</h1>
  <h2 id="6-0-0-07-22-20-">6.0.0 (07/22/20)</h2>
  <ul>
  <li>BREAKING: Switch to <a href="https://sass-lang.com/dart-sass">Dart Sass</a> with <a href="https://sass-lang.com/blog/the-module-system-is-launched">Sass
  module system</a>,
  dropping support for <a href="https://github.com/sass/node-sass">Node<span class="widont">&nbsp;</span>Sass</a>.</li>
  <li>BREAKING: Drop support for node &lt;<span class="widont">&nbsp;</span>10</li>
  <li>BREAKING: Rename <code>$true-terminal-output</code> setting to <code>$terminal-output</code>
  when importing as a module (with <code>@use</code>).
  Projects not using Sass modules can still
  <code>@import '&lt;path&gt;/sass-true/sass/true'</code>
  and access the setting as <code>$true-terminal-output</code></li>
  <li>FEATURE: Added <code>_index.scss</code> at the project root,
  for simpler import path: <code>@use '&lt;path&gt;/sass-true'</code></li>
  <li>FEATURE: New <code>sass/_throw.scss</code> module provides:
  <ul>
  <li><code>error()</code> function &amp; mixin for establishing “catchable”<span class="widont">&nbsp;</span>errors</li>
  <li>global <code>$catch-errors</code> toggles how <code>error()</code> output is<span class="widont">&nbsp;</span>handled</li>
  </ul>
  </li>
  <li>FEATURE: Support testing <code>content</code> properties which include a curly<span class="widont">&nbsp;</span>brace.</li>
  <li>Update dependencies</li>
  </ul>
  <h2 id="5-0-0-06-03-19-">5.0.0 (06/03/19)</h2>
  <ul>
  <li>BREAKING: Update API for <code>runSass</code>, which now accepts two arguments: a
  <code>sassOptions</code> object and a <code>trueOptions</code> object.</li>
  <li>BREAKING: Drop support for node &lt;<span class="widont">&nbsp;</span>8</li>
  <li>Add docs and testing for usage with Jest
  <a href="https://github.com/oddbird/true/issues/135">#135</a></li>
  <li>Add <code>sass</code> option to <code>runSass</code> for passing a different Sass implementation
  than <code>node-sass</code> <a href="https://github.com/oddbird/true/issues/137">#137</a></li>
  <li>Remove <code>node-sass</code> from <code>peerDependencies</code></li>
  <li>Fix deprecated use of <code>assert.fail</code>
  <a href="https://github.com/oddbird/true/issues/138">#138</a></li>
  <li>Update dev dependencies</li>
  </ul>
  <h2 id="4-0-0-04-09-18-">4.0.0 (04/09/18)</h2>
  <ul>
  <li>BREAKING: Move <code>node-sass</code> to <code>peerDependencies</code></li>
  <li>Update dependencies</li>
  <li>Add JS coverage<span class="widont">&nbsp;</span>reporting</li>
  </ul>
  <h2 id="3-1-0-03-06-18-">3.1.0 (03/06/18)</h2>
  <ul>
  <li>NEW: Add <code>contains()</code> mixin for more minute output comparisons.
  Works the same as <code>expect()</code>, but doesn’t require a complete<span class="widont">&nbsp;</span>match.</li>
  <li>Update docs</li>
  </ul>
  <h2 id="3-0-2-10-6-17-">3.0.2 (10/6/17)</h2>
  <ul>
  <li>Dependency updates</li>
  </ul>
  <h2 id="3-0-1-9-13-17-">3.0.1 (9/13/17)</h2>
  <ul>
  <li>Update docs</li>
  </ul>
  <h2 id="3-0-0-8-26-17-">3.0.0 (8/26/17)</h2>
  <ul>
  <li>Update dependencies &amp;<span class="widont">&nbsp;</span>release</li>
  </ul>
  <h2 id="3-0-0-beta-1-6-1-17-">3.0.0-beta.1 (6/1/17)</h2>
  <ul>
  <li>Added <code>describe</code> and <code>it</code> mixins,
  as alias for <code>test-module</code> and <code>test</code> respectively.</li>
  <li>Added <code>$inspect</code> argument to <code>assert-equal</code> and <code>assert-unequal</code> mixins,
  for comparing <code>inspect($assert) == inspect($expected)</code>
  instead of <code>$assert == $expected</code>.
  This helps with several of the equality edge-cases listed below
  (rounding and<span class="widont">&nbsp;</span>units).</li>
  <li>BREAKING: No more Ruby gem or Ruby<span class="widont">&nbsp;</span>CLI</li>
  <li>BREAKING: No more bower<span class="widont">&nbsp;</span>package</li>
  <li>BREAKING: Removes special-handling of equality,
  in favor of allowing Sass to determine the best comparisons.
  There are a few edge-cases to be aware of:
  <ul>
  <li>In some versions of Sass,
  manipulated numbers and colors are compared without rounding,
  so <code>1/3 != 0.333333</code> and <code>lighten(#246, 15%) != #356a9f</code>.
  Use the <code>$inspect</code> argument to compare rounded output<span class="widont">&nbsp;</span>values.</li>
  <li>In all versions of Sass,
  unitless numbers are considered comparable to all units,
  so <code>1 == 1x</code> where <code>x</code> represents any unit.
  Use the <code>$inspect</code> argument to compare output values with<span class="widont">&nbsp;</span>units.</li>
  <li>Lists compare both values and delimiter,
  so <code>(one two three) != (one, two, three)</code>.
  This can be particularly confusing for single-item lists,
  which still have a delimiter assigned,
  even though it is not<span class="widont">&nbsp;</span>used.</li>
  </ul>
  </li>
  </ul>
  <h2 id="2-2-2-4-11-17-">2.2.2 (4/11/17)</h2>
  <ul>
  <li><code>assert-true</code> returns false on empty strings and<span class="widont">&nbsp;</span>lists</li>
  <li><code>assert-false</code> returns true on empty strings and<span class="widont">&nbsp;</span>lists</li>
  <li>Module/Test/Assertion stats are included in<span class="widont">&nbsp;</span>reports</li>
  </ul>
  <h2 id="2-2-1-2-7-17-">2.2.1 (2/7/17)</h2>
  <ul>
  <li>Output CSS context around Mocha parsing<span class="widont">&nbsp;</span>errors.</li>
  <li>Added <code>$fail-on-error</code> argument to <code>report()</code> mixin.
  Set to <code>true</code> if you need the Sass compiler to fail
  on broken<span class="widont">&nbsp;</span>tests.</li>
  <li>Fix bug with <code>assert-false</code> causing it to fail on <code>null</code> values.</li>
  <li>Allow unquoted descriptions and test/module<span class="widont">&nbsp;</span>names.</li>
  <li>Fix bug throwing off test-count and<span class="widont">&nbsp;</span>reporting.</li>
  </ul>
  <h2 id="2-1-4-12-22-16-">2.1.4 (12/22/16)</h2>
  <ul>
  <li>Fix default assertion<span class="widont">&nbsp;</span>messages</li>
  <li>Upgrade dependencies</li>
  </ul>
  <h2 id="2-0-2-5-13-15-">2.0.2 (5/13/15)</h2>
  <ul>
  <li>Fixes debug inspector.</li>
  </ul>
  <h2 id="2-0-1-5-9-15-">2.0.1 (5/9/15)</h2>
  <ul>
  <li>Improve internal logic, and namespace private functions behind <code>_true-*</code>.</li>
  <li>Add <code>assert()</code>, <code>input</code>, and <code>expect</code> mixins for testing CSS<span class="widont">&nbsp;</span>output.</li>
  <li>Support for LibSass.</li>
  <li>Add Mocha JS integration.
  — Create NPM<span class="widont">&nbsp;</span>package.</li>
  <li>Simplify output options down to single <code>$true-terminal-output</code> setting.</li>
  <li>Add eyeglass support.</li>
  </ul>
  <h2 id="1-0-1-10-18-14-">1.0.1 (10/18/14)</h2>
  <ul>
  <li>LibSass 3.0 compatability.</li>
  </ul>
  <h2 id="1-0-0-10-3-14-">1.0.0 (10/3/14)</h2>
  <ul>
  <li>Add command-line interface: <code>true-cli &lt;path-to-file&gt;</code></li>
  <li>Use <code>-s</code> flag for silent<span class="widont">&nbsp;</span>output</li>
  <li>Check for unit differences between<span class="widont">&nbsp;</span>numbers.</li>
  <li>Add assertion-failure details to css<span class="widont">&nbsp;</span>output.</li>
  </ul>
  <h2 id="0-2-0-7-15-14-">0.2.0 (7/15/14)</h2>
  <ul>
  <li>Simplified reporting in both terminal and<span class="widont">&nbsp;</span>CSS.</li>
  <li>Remove <code>default-module-output</code>, <code>$default-test-output</code> and <code>$default-final-output</code>.
  Replace them with <code>$true</code> settings map: <code>(output: css, summary: terminal css)</code>.
  <code>output</code> handles test/module output, <code>summary</code> handles final output.
  Assertions are always output to the terminal if they<span class="widont">&nbsp;</span>fail.</li>
  <li>Update to use Sass map<span class="widont">&nbsp;</span>variables.</li>
  <li>Add <code>report</code> function and <code>report</code> mixin, for reporting final<span class="widont">&nbsp;</span>results.</li>
  <li>Only register as a compass extension if compass is present.
  Compass is no longer an explicit<span class="widont">&nbsp;</span>dependency.</li>
  <li>Adjust the output styles to work with Sass 3.4
  and have more visual<span class="widont">&nbsp;</span>consistency.</li>
  </ul>
  <h2 id="0-1-5-6-10-13-">0.1.5 (6/10/13)</h2>
  <ul>
  <li>Append actual results to custom failure<span class="widont">&nbsp;</span>messages.</li>
  </ul>
  <h2 id="0-1-4-6-9-13-">0.1.4 (6/9/13)</h2>
  <ul>
  <li>Null result is considered a<span class="widont">&nbsp;</span>failure.</li>
  <li>Allow output to be turned off for certain<span class="widont">&nbsp;</span>modules/tests/assertions.</li>
  </ul>
  <h2 id="0-1-3-6-7-13-">0.1.3 (6/7/13)</h2>
  <ul>
  <li>Nest assertions within <code>test() {}</code> named tests.</li>
  <li>Cleaner css output.</li>
  </ul>
  <h2 id="0-1-2-6-7-13-">0.1.2 (6/7/13)</h2>
  <ul>
  <li>Use nesting for modules with <code>test-module() {}</code></li>
  <li>Added failure message argument to all<span class="widont">&nbsp;</span>assertions.</li>
  </ul>
  <h2 id="0-1-1-6-6-13-">0.1.1 (6/6/13)</h2>
  <ul>
  <li>Fix bug in <code>lib/true.rb</code> compass plugin<span class="widont">&nbsp;</span>registration.</li>
  </ul>
  <h2 id="0-1-0-6-6-13-">0.1.0 (6/6/13)</h2>
  <ul>
  <li><code>assert-true()</code>, <code>assert-false()</code>, <code>assert-equal()</code>, and <code>assert-unequal()</code>.</li>
  <li><code>pass()</code> and <code>fail()</code> for tracking and reporting individual<span class="widont">&nbsp;</span>results.</li>
  <li><code>start-test-module()</code> and <code>report-test-result()</code> for module<span class="widont">&nbsp;</span>results.</li>
  <li>Includes tests of the testing<span class="widont">&nbsp;</span>tools!</li>
  </ul>
  
    </div>
  
          </div>
        </main>
      </div>
    </div>
  
    <script type="text/javascript" src="assets/webpack/runtime.min.js"></script>
    <script type="text/javascript" src="assets/webpack/common.min.js"></script>
    <script type="text/javascript" src="assets/webpack/app.min.js"></script>
    
  </body>
  </html>
  