Skip to content

v0.7.0 (April 27th 2015)

Choose a tag to compare

@rodneyrehm rodneyrehm released this 27 Apr 20:12
· 183 commits to master since this release

NOTE: This release contains several breaking changes!

  • Upgrading build infrastructure
    • compile libsass 3.2.0
    • allowing builds without forced download of libsass.git every time
    • providing emscripten debug mode
  • improving emscripten_wrapper.cpp to use sass_context.h instead of the deprecated sass_interface.h
  • renaming files to make more sense
  • improving synchronous API to perfectly mirror the worker API
  • adding .options('defaults') to reset options to sass.js defaults
  • adding dist/libsass.js.mem, optimized memory file created by emscripten
  • adding Sass.lazyFiles() and Sass.preloadFiles()
  • adding Sass.clearFiles() to wipe all files known to Sass.listFiles()
  • adding Sass.importer() to intercept file loading requests from libsass
  • adding configuration options
    • precision - Precision for outputting fractional numbers (0 using libsass default)
    • indentedSyntax - Treat source string as SASS (as opposed to SCSS)
    • indent - String to be used for indentation (2 spaces)
    • linefeed - String to be used to for line feeds (\n)
    • sourceMapRoot - Pass-through as sourceRoot property
    • sourceMapFile - Path to source map file (enables generating source maps)
    • sourceMapContents - embed include contents in maps
    • sourceMapEmbed - embed sourceMappingUrl as data URI
    • sourceMapOmitUrl - Disable sourceMappingUrl in CSS output
    • inputPath - source map generation source (stdin)
    • outputPath - source map generation target

Breaking Changes

  • synchronous API (formerly dist/sass.js and dist/sass.min.js) is now required to be loaded from a directory called dist relative to document.URL (irrelevant for use in Node!)
  • synchronous API now has the exact same signature as the worker API, meaning responses are not returned, but passed to callback functions instead.
  • Sass.compile() used to return the compiled CSS as string, it now returns an object
  • distribution files renamed or removed for clarity
    • dist/worker.js removed
    • dist/sass.worker.js removed
    • dist/sass.min.js removed
    • dist/sass.worker.js renamed to dist/sass.js (public API for the browser)
    • dist/worker.min.js renamed to dist/sass.worker.js (emscripted libsass for the web worker)
    • dist/sass.js renamed to dist/sass.sync.js (emscripted libsass synchronous API)
  • source files renamed for clarity
    • src/libsass.worker.js renamed to src/sass.worker.js (contains the worker's onmessage handler)
    • src/sass.js renamed to src/sass.api.js (abstraction of libsass and emscription)
    • src/sass.worker.js renamed to src/sass.js (public API using postMessage to talk to worker internally)
  • example files renamed for clarity
    • sass.sync.html added
    • console.html renamed to sass.source.html
    • worker.html renamed to sass.worker.html