Skip to content

Latest commit

 

History

History
402 lines (306 loc) · 16.5 KB

CHANGELOG.md

File metadata and controls

402 lines (306 loc) · 16.5 KB

Changelog

unreleased

  • Upgrade Emscripten version to 3.1.36.
  • Upgrade Graphviz version to 8.0.3.
  • Bump Expat version to 3.5.0.

@aduh95/Viz.js v3.7.0 (2022-07-11)

  • Upgrade Emscripten version to 3.1.15.
  • Upgrade Graphviz version to 5.0.0.
  • Fix types for @aduh95/viz.js/worker.

@aduh95/Viz.js v3.6.0 (2022-05-07)

  • Upgrade Emscripten version to 3.1.10.
  • Bump Expat version to 2.4.8.
  • Upgrade Graphviz version to 3.0.0.

@aduh95/Viz.js v3.5.0 (2021-07-06)

  • Bump Emscripten version to 2.0.25.
  • Bump Expat version to 2.4.1.
  • Bump Graphviz version to 2.47.3.
  • Improve stack traces for error thrown from within workers.

@aduh95/Viz.js v3.4.0 (2021-03-16)

  • Bump Graphviz version to 2.47.0.

@aduh95/Viz.js v3.3.4 (2021-03-10)

  • Bump Graphviz version to 2.46.1.
  • Bump Emscripten version to 2.0.15.

@aduh95/Viz.js v3.3.3 (2021-02-22)

  • Improve interoperability with web bundlers (#19).

@aduh95/Viz.js v3.3.2 (2021-02-17)

  • Fix TextDecoder is not defined in @aduh95/viz.js/sync on older version of Node.js.

@aduh95/Viz.js v3.3.1 (2021-02-17)

  • Fix image support in @aduh95/viz.js/sync (#16).
  • Bump Emscripten version to 2.0.14.

@aduh95/Viz.js v3.3.0 (2021-01-19)

  • Bump Emscripten version to 2.0.12.
  • Bump Expat version to 2.2.10.
  • Bump Graphviz version to 2.46.0.

@aduh95/Viz.js v3.2.1 (2020-11-05)

  • Bump Emscripten version to 2.0.8.
  • Closure compiler is now disabled when building render_sync.js (#14).

@aduh95/Viz.js v3.2.0 (2020-10-17)

  • Bump Emscripten version to 2.0.7.
  • Remove engine restriction to allow use of the library on Node.js v10.x #11.
  • Split link step to better optimize output files.
  • Enable Closure compiler to produce smaller dist files.

@aduh95/Viz.js v3.1.0 (2020-07-31)

  • Auto-init WASM in render.browser.js (#9)
  • Bump Emscripten version to 1.40.0.

@aduh95/Viz.js v3.0.2 (2020-07-09)

  • Update Graphviz to 1.44.1.
  • Bump Emscripten version to 1.39.19.
  • Upgrade test tools (Deno, Mocha, Puppeteer).

@aduh95/Viz.js v3.0.1 (2020-06-09)

Fix issue with Webpack v4.

@aduh95/Viz.js v3.0.0 (2020-05-27)

Notable changes
  • The library is now compiled to WASM, which shrinks the file size (Viz.js (2.1.2 full version) brotlified: 409K; @aduh95/viz.js (3.0.0-beta.7 browser version) brotlified: 337K; 18% decrease), should improve performances and allows dynamic memory growth.
  • The JS code is now transpiled from TypeScript, and typings are packed within the npm package. You can find the API documentation there!
  • The library is able to reset its internal error state, which makes the v2 wiki caveat unnecessary.
  • Rendering from main thread is no longer supported on the default async API, you must use a worker (webworker or worker_thread).
  • There is a synchronous version available for legacy Node.js support.
Breaking changes and deprecations
  • BREAKING: Bump required version of Node.js to v12.17.0+. Older Node.js version may support the synchronous API.
  • BREAKING: Remove Viz.prototype.renderSVGElement. You can use renderString and DOMParser to achieve the same result.
  • BREAKING: Remove Viz.prototype.renderImageElement. You can use renderString and Canvas to achieve the same result.
  • BREAKING: Remove Module and render from Viz constructor's options (you must now specify either worker or workerURL).
  • BREAKING: Remove lite version, Viz.js now comes in only one variant.
  • BREAKING: The full.render.js script is replaced by the render.node.mjs and render.browser.js modules.
  • BREAKING: The render.node.js module (that replaces full.render.js) exports a worker_thread factory when imported from the main thread. It's available through @aduh95/viz.js/worker specifier on Node.js and bundle tools that support package.json#exports.
  • BREAKING: The render.browser.js module (that replaces full.render.js) exports a function which takes a Module object as parameter. You should use it to give the path to render.wasm the Emscripten script. You should not import this module from the main thread. On bundle tools that support package.json#exports, you can use the specifier @aduh95/viz.js/worker.
  • BREAKING: Compiles to WebAssembly, which cannot be bundled in the render.js file like asm.js used to. Depending on your bundling tool, you may need some extra config to make everything work. You might also use the synchronous API, which bundles the asm.js code, although its usage should be strictly limited to Node.js or webworker use.
  • BREAKING: Remove ES5 dist files, all modern browsers now support ES2015 modules. If you want to support an older browser, you would need to transpile it yourself or use an older version.
  • BREAKING: On Node.js, require('@aduh95/viz.js') returns now a Promise<Viz>.
  • DEPRECATED: require('@aduh95/viz.js') is deprecated, use import('@aduh95/viz.js') instead.
Added features
  • Add support for Node.js worker_threads.
  • Refactor JS files to TypeScript.
  • Refactor viz.c to C++ to use Emscripten's Embind.
  • Use ALLOW_MEMORY_GROW compiler option to avoid failing on large graphs.
  • Improve error handling:
    • Rejects with the full error string from Graphviz.
    • Remove the need of creating new instances when render fails by resetting internal error state.
  • Switch to Mocha and Puppeteer for browser testing.
  • Add synchronous API using asm.js (@aduh95/viz.js/sync).
  • Add a helper module for asynchronous API (@aduh95/viz.js/async).
  • Upgrade deps:
    • Upgrade Emscripten to 1.39.16
    • Upgrade Graphviz to 2.44.0
    • Upgrade Expat to 2.2.9
    • Upgrade Rollup to 2.x
  • Change test chain:
    • Upgrade Mocha to 7.x
    • Use Puppeteer instead of Selenium

Viz.js v2.1.2 (2018-12-08)

  • Fix redeclared variable (#160)

Viz.js v2.1.2-pre.1 (2018-12-05)

  • Fix redeclared variable (#160)

Viz.js v2.1.1 (2018-11-16)

  • Add support for -n (Nop) option (#151)
  • Specify --libdir option (#153)
  • Correctly forward errors not derived from Error (#145)

Viz.js v2.0.0 (2018-05-14)

  • Viz.js now has first-class support for Web Workers, and returns Promises for all rendering functions, rather than accepting callbacks for some of its utility functions. However, you don't have to use Web Workers: Viz.js still works with just script tags.
  • API and rendering code have been split into separate files to make it easier to work with Viz.js in bundlers.
  • New output types: JSON objects and SVG elements. For example, the renderSVGElement function returns the promise of an SVGSVGElement object, ready to insert into the document.
  • The single Viz() function is now a class and reuses its Emscripten module instance, improving performance across multiple calls.
  • The API code is now built with Rollup, and the release includes an ES6 module.
  • Added yInvert option. (Equivalent to the -y command-line option.)
  • TypeScript declarations have been removed in this release.

Viz.js v2.0.0-pre.8 (2018-05-07)

  • Use ".render.js" suffix instead of ".js.opaque".
  • Accept a Worker instance for the worker option instead of a string. Add workerURL option for passing the URL of a worker as a string. Less specific detection of worker scope.

Viz.js v1.8.2 (2018-05-04)

  • Make sure the Emscripten module isn't exported when Viz.js is loaded in an AMD environment. (#130)

Viz.js v2.0.0-pre.7 (2018-05-03)

  • Remove TypeScript declarations.
  • Build with Rollup.
  • Include ES6 module in npm release.

Viz.js v2.0.0-pre.6 (2018-05-02)

  • Fix TypeScript declarations.

Viz.js v2.0.0-pre.5 (2018-04-24)

  • Free layout and graph when we're done with them. Reuse the Emscripten module instance.
  • Export the Module and render functions from rendering script files.
  • Use ".js.opaque" rendering script files instead of ".module".

Viz.js v2.0.0-pre.4 (2018-04-13)

  • Don't wait for onload to resolve image elements.

Viz.js v2.0.0-pre.1 (2018-04-12)

  • New 2.0 API. Viz is now a class, and has separate render functions that return promises. The code generated by Emscripten is now distributed as separate files, which can be loaded as web workers.
  • Add yInvert option. (#118)
  • Fix lite in IE.
  • Update Emscripten version.

Viz.js v1.8.1 (2018-03-07)

  • Add Travis CI configuration for testing and release
  • Reorganize browser tests
  • Move API docs to wiki
  • Update Expat to 2.2.5
  • Build with Emscripten 1.37.33
  • Add TypeScript declaration file and tests

Viz.js v1.8.1-pre.5 (2018-03-07)

  • Add tests for TypeScript declaration file.
  • Update TypeScript declaration file.

Viz.js v1.8.1-pre.4 (2018-02-26)

  • Add Travis CI configuration for testing and release
  • Reorganize browser tests
  • Move API docs to wiki
  • Update Expat to 2.2.5
  • Add Typescript support

Viz.js v1.8.0 (2017-05-20)

  • Include viz-lite.js in NPM release. (998039a, #88)
  • Use the -Oz optimization option. (0a7096f)
  • Set NO_DYNAMIC_EXECUTION, which removes uses of eval. (e2d9ac6, #75)
  • Add version numbers for Graphviz, Expat, and Emscripten to the top of builds. (83740b6, 1d87fe4)
  • Add "browser" property to package.json. (1f12dfe, #83)
  • Add "files" and "images" options. (4437a03, 5e0a451)

Viz.js v1.7.1 (2017-03-03)

  • Ensure that non-ASCII characters are handled correctly when using the png-image-element format or the svgXmlToPng functions.
  • Improve error reporting in svgXmlToPngImageElement.

Viz.js v1.7.0 (2017-01-31)

  • Don't allow memory growth. See #74.
  • Accept the totalMemory option, which sets TOTAL_MEMORY when initializing the Module. See #74.

Viz.js v1.6.0 (2017-01-26)

  • Update to Graphviz 2.40.1

Viz.js v1.5.1 (2017-01-17)

  • Make sure UTF8ToString is included in EXPORTED_RUNTIME_METHODS and include a test for characters outside of basic ASCII. This addresses #71.
  • Ensure that we return after invoking the callback with an error in svgXmlToPngImageElement.

Viz.js v1.5.0 (2017-01-16)

  • Introduced viz-lite.js, a smaller build that omits Expat and the NEATO layout plugin for a savings of about 700 KB over the regular version. b8370ad
  • Changed build settings to ensure that the -Os optimization setting is used for Graphviz and Expat as well as Viz.js. This results in a smaller build for both the regular and lite versions. 416776e
  • A new Module instance is now created for every call of the Viz JavaScript function. This avoids errors that could occur when freeing memory from the Viz.js C code and when Graphviz would encounter a syntax error. See issues #65 and #59. 2257a40
  • Memory growth is now allowed. b1df4a9
  • Introduce Viz.svgXmlToPngBase64 and add a callback API for Viz.svgXmlToPngImageElement. 1b317da

Viz.js v1.4.1 (2016-11-21)

  • Correct license in package.json.
  • Expand pre.js to include more information about the software distributed as part of Viz.js.

Viz.js v1.4.0 (2016-11-18)

  • Added "scale" option for use with the "png-image-element" format. Previously, window.devicePixelRatio or 1 would be used for this value, which is still the default if no scale factor is specified.
  • Optional support for the "png-image-element" format in IE 10 and 11. Viz.js will check for Fabric.js, and if present, use its SVG parser. This works around a CORS issue with data URIs in these browsers.
  • Fixes for building with the latest emscripten SDK.
  • More tests, and added support for cross-browser testing with Sauce Labs.
  • Switch to MIT license.

Viz.js v1.3.0 (2015-11-13)

  • Add Viz.svgXmlToPngImageElement and "png-image-element" format.

Viz.js v1.2.1: Fix that a previous error would cause an exception to be thrown on va… (2015-10-31)

  • Fix that a previous error would cause an exception to be thrown on valid input.

Viz.js v1.2.0 (2015-10-27)

  • Add node export and use this.namespace-style global

Viz.js v1.1.0 (2015-10-23)

  • Fixed that line numbers for errors were reported incorrectly, and that some kinds of syntax errors were not reported
  • Viz.js will now throw exceptions on syntax errors rather than logging to the console

Viz.js Viz.js 0.0.3 (2014-04-12)

Includes recent fixes from vmarkovtsev.

Viz.js Viz.js 0.0.2 (2014-03-04)

Add support for layout engines other than dot via a third parameter, update to Graphviz 2.36, other fixes.

Thanks to vmarkovtsev.

Viz.js Viz.js 0.0.1 (2013-10-26)

Rather than checking the viz.js file into the repository, it can now be found here, released as a 'binary'.