changelogs.md


medialize/sass.js

Repository  -  API  -  Source

0.10.13

  • fixing sass.configure.paths.js to restore ES5 compatibility - Issue #109

0.10.12

0.10.11

0.10.10

0.10.9

0.10.8

0.10.7

0.10.6

  • fixing sass.node.js to work on windows - (Issue #86)

0.10.5

0.10.4

0.10.3

0.10.2

0.10.1

0.10.0

  • Deprecating the synchronous Sass.lazyFiles() - as this can be achieved asynchronously with an Importer Callback
  • upgrading to libsass 3.4.0
  • fixing Importer to properly process UTF8 strings - (Issue #72)
  • adding sass.node.js for convenient compilation of SCSS and SASS files in Node - (Issue #72)

0.9.13

  • fixing Importer to allow passing empty strings - (Issue #63)

0.9.12

  • refactoring Importer to expose Sass.findPathVariation() and Sass.getPathVariations() in the Synchronous API - (Issue #61)

0.9.11

0.9.10

0.9.9

0.9.8

0.9.7

  • refactoring sass.js initialization when emscripten is ready

0.9.6

0.9.5

0.9.4

0.9.3

0.9.2

0.9.1

  • fixing automatic path detection (for loading sass.worker.js and libsass.js.mem), to make sass.sync.js load libsass.js.mem relative to itself (Node and browser) - (Issue #33)

0.9.0

NOTE: This release contains breaking changes!

  • upgrading to libsass 3.2.4
  • fixing worker API to avoid throwing DataCloneError because postMessage can't handle Error instances
  • improving worker API to find sass.worker.js itself when loaded through simple <script> element - (Issue #32)
  • improving worker API to allow multiple parallel workers to be initialized - Breaking Change
  • improving Sass.compile() to queue multiple invocations for serialized execution rather than throwing an error
  • adding sass.destroy() to terminate a worker and free its resources
  • adding Sass.setWorkerUrl() to define the path of the worker before a Sass instance is created

Breaking Changes

  • The worker API used to be initialized with Sass.initialize('path/to/sass.worker.js'), but as of v0.9.0 requires proper instantiation: var sass = new Sass('path/to/sass.worker.js').

0.8.2

  • upgrading to libsass 3.2.3
  • fixing build to cope with emcc --version not naming a commit - (Issue #30)
  • fixing build to not minify distributables (very little gain, but breaks asm in Firefox) - (Issue #29)
  • fixing .compile() to wait until emscripten is ready - (Issue #29)

0.8.1

  • upgrading to libsass 3.2.2
  • adding Sass.compileFile() to compile directly from file system
  • fixing Sass.options('defaults', callback) to actually fire the callback
  • improving Sass.compile() to accept options to temporarily set for that invocation, extending the signature to
    • Sass.compile(source, callback)
    • Sass.compile(source, options, callback)
  • improving Sass.writeFile() to accept a map of files to write
  • improving Sass.readFile() to accept an array of files to read
  • improving Sass.removeFile() to accept an array of files to remove

0.8.0

(failed and unpublished from npm, removed tag, see 0.8.1, I'm sorry)

0.7.2

  • fixing option precision so that by default Sass.js won't overwrite libsass default precision (5)

0.7.1

0.7.0

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

0.6.3

  • fixing invalid source error handling (#23)

0.6.2

  • fixing Makefile.patch for "memory file" to work with emscripten 1.29

0.6.1

  • fixing Makefile.patch to work with libsass 3.1.0
  • upgrading to libsass 3.1.0

0.6.0

  • adding grunt build:libsass to make libsass.js (#15)
  • making absolute paths work via symlinks (#19)

0.5.0

0.4.0

0.3.0

0.2.0

  • using libsass at v1.0.1 (instead of building from master)
  • adding grunt build to generate dist files
  • adding mocha tests grunt test

0.1.0

  • Initial Sass.js