Skip to content

Releases: Linkurious/linkurious.js

v1.5.1

30 Mar 11:36
Compare
Choose a tag to compare

Plugins:

  • #351 layouts.forceLink Layout pulls nodes too close together
  • #285 Fix exporters.image: Incomplete image export on Retina screen

v1.5.0

27 Feb 17:43
Compare
Choose a tag to compare

This release improves rendering performance by x7 and reduces memory used indexes by x2. Indexes will use ES6 Map instead of Object if possible. It also provides a new plugin to integrate geospatial visualization with Leaflet, the leading open-source JavaScript library for mobile-friendly interactive maps. Rendering of node border has been changed (breaking) with new settings:

  • Rename borderSize to nodeBorderSize
  • Rename outerBorderColor to nodeOuterBorderColor
  • Add nodeBorderColor, nodeOuterBorderColor, nodeOuterBorderSize, defaultNodeOuterBorderColor
  • Add nodeHoverBorderColor, nodeHoverOuterBorderColor
  • Add nodeActiveBorderSize, nodeActiveBorderColor, nodeActiveOuterBorderColor, nodeActiveOuterBorderSize, defaultNodeActiveOuterBorderColor

Core

  • #348 Defaut size to added nodes and edges
  • #347 Convert x,y,size as number if they are string
  • Fix #342 Regression: slow camera
  • #333 Distinct border settings to nodes, hovered nodes, active nodes (BREAKING CHANGES)
  • #330 Fire coordinatesUpdated event
  • #329 Add zoomOnLocation setting
  • Fix #328 Node coordinates change if autoRescale array doesn't contain 'nodesPosition'
  • #284 Make local indexes more memory-efficient

Plugins

  • Fix #341 ForceAtlas2 adjustSizes setting is ignored (thanks @rangeonnicolas)
  • #340 plugins.activeState: get nb active nodes and edges in O(1)
  • #339 plugins.dragNodes: prevent drag if all nodes are active
  • #338 plugins.design: add downloadable palette and styles as .toJSON()
  • #337 plugins.design: add reference to items in histogram
  • Fix #336 plugins.design: 'One value of the property x is not a number.' thrown if sequential property has no value
  • #335 plugins.fullScreen should be able to display control UI elements
  • Fix #334 layouts.dagre: exception if node ids are numbers
  • #332 Support for multiple tooltips (thanks @mujx)
  • Fix #326 plugins.dragNodes: wrong mouse canvas if it is not the last canvas element
  • Fix #325 plugins.select: Two adjacent nodes can be selected after selecting an adjacent edge
  • #150 Add Leaflet integration for geospatial
  • Fix #120 exports.svg: images are cut-off in Inkscape and browser

v1.4.0

17 Dec 17:36
Compare
Choose a tag to compare

This release fixes multiple rendering issues. It provides better support to SVG renderers and export.

Core

  • #321 Add curved edges for SVG
  • #321 SVG edge renderer handles defaultEdgeType setting
  • #321 Exported SVG is rescaled automatically to the specified size
  • Fix #319 sigma.renderers.svg.resize doesn't take arguments into account
  • Fix #316 Two parallel edges with opposite directions overlap
  • Fix #315 The last parallel edge after dropping the other edges remains curved
  • #295 Multi-line node labels on Canvas
  • Fix #266 'minArrowSize' settings not work (thanks @bkkoo)

Plugins

  • #322 Add a margin to exporters.svg
  • #289 renderers.linkurious: Add tapered edges for SVG
  • Fix #286 sigma.statistics.louvain Uncaught RangeError: NaN included (thanks @partizanos)
  • #131 renderers.edgeLabels: Add edge labels for SVG

v1.3.0

30 Oct 16:03
Compare
Choose a tag to compare

This release has BREAKING CHANGES regarding plugins.image and sigma.layout.*. Is also brings a new plugin that will provide nice legends to visualizations.

Plugins:

  • #303 layouts.forcelink: pinned nodes coord are updated if previously laid out while unpinned
  • #240 Rename plugins.image -> exporters.image
  • #239 Rename sigma.layout.* -> sigma.layouts.*
  • #188 Add plugins.legend

v1.2.0

15 Oct 18:12
Compare
Choose a tag to compare

This release is greatly powered by the community. Multiple plugins are stabilized and important features are added for rendering and integration.

Hightlights:

  • Support of WebPack module builder
  • New file exporters in GraphML and JSON
  • Nodes can have borders (aka strokes) without hover
  • Curve parallel edges automatically (i.e. edges with same extremities), add new settings: autoCurveRatio, autoCurveSortByDirection
  • The dragNodes plugin becomes stable

Core:

  • Fix #247 No hovering or graph disappears when nodes are on the same axis (thanks @mdamien)
  • #242 Factorize quadtree & edgequadtree (thanks @mdamien)
  • Fix #241 Only one label displayed on all examples (thanks @mdamien)

Plugins:

  • Fix #287 minimum edges louvain (thanks @partizanos)
  • #282 Add "constrained" labelAllignment setting (thanks @NicholasAntonov )
  • Fix #281 Prevent dragNodes during animations
  • Fix #278 getTextWidth not being called correctly (thanks @NicholasAntonov)
  • Fix #277 bugs when sigma was required with webpack (thanks @NicholasAntonov)
  • #273 Add parametric edge curvature (canvas renderer) (thanks @ekkis)
  • #270 renderers.linkurious: add node border on canvas (without hover) (thanks @ekkis)
  • #267 A* plugin, v1.0.1 Fix non-optimal path (thanks @A----)
  • #263 parsers.cypher: increase robustness (thanks @ekkis)
  • #253 plugins.tooltips: fire 'shown' after the open() function was fully executed (thanks @mdamien)
  • Fix #248 Animate set node coordinated to undefined if the target position are not included (thanks @mdamien)
  • #245 plugins.dragNodes: add sticky effect (avoid drag on clicking inside the node)
  • #237 Add exporters.graphml (thanks @Ytawo)
  • #186 Add exporters.json

Docs:

  • #53 Add documentation on sigma lifecycle

v1.1.0

10 Aug 10:18
Compare
Choose a tag to compare

This release provides A BREAKING CHANGE from the core of Sigma.js and focuses on performance.

Hightlights:

  • linkurious.js is now available on npm: npm install linkurious
  • Latest release files directly in dist/ and a plugins.(.min).js containing all the plugins
  • Crisp render on retina displays
  • Added plugin.generators to generate graphs
  • Panning, zooming and hovering is a lot smoother on Canvas
  • New setting: edgesClippingWithNodes to hide the edges having both extremities outside of the view if true
  • Contributors, we have a new workflow: #201 (in short: all plugins are merged into the develop branch)

How to upgrade:

  • replace overNode(s), outNode(s), overEdge(s), outEdge(s) events by the hovers event

Core:

  • #235 Add plugins.js and plugins.min.js and clean grunt/package.json things (thanks to @mdamien)
  • #229 Alert the user if webgl is not supported but trying to render with the WebGL renderer (thanks to @mdamien)
  • #224 Fix Edges not rendered when extremities are far from the viewport (thanks to @mdamien)
  • #223 Remove width hack and clear canvas via clearRect (thanks to @mdamien)
  • #222 Improve pan/zoom smoothiness on canvas (thanks to @mdamien)
  • #221 Aggressively simplify hovering system (replace overNode(s), outNode(s), overEdge(s), outEdge(s) by hovers) (thanks to @mdamien)
  • #213 Fix onMove render twice during a panning event (thanks to @mdamien)
  • #210 Publish on npm (thanks @mdamien)
  • #208 Add dist/ folder with latest release (thanks to @mdamien)
  • #204 Improve node labels renderers (thanks to @mdamien)
  • #203 New rendering system and faster edge labels renderer (thanks to @mdamien)
  • #25 Fix retina display (thanks to @mdamien)

Plugins:

  • #233 Fix plugins.select throws "Uncaught TypeError" on Spacebar+Del
  • #226 Fix layout.dagre only runs the first time that is called
  • #209 Fix plugins.tooltip: wrong position on sigma container with margins
  • #198 plugins.tooltip: Add option to delay hide execution on outNode and outEdge
  • #196 renderers.halo: Merge circles via two-pass rendering (thanks to @mdamien)
  • #194 Include renderers.customEdgeShapes into renderers.linkurious (thanks to @mdamien)
  • #181 Fix plugins.image crashes on batchEdgesDrawing: true
  • #177 Fix layout.fruchtermanReingold only runs the first time it is called
  • #168 renderers.linkurious: Cache context.font value when rendering (~20% rendering overall speedup) (thanks to @mdamien)
  • #104 Add plugins.generators

Docs:

  • #201 [NEWS] Changes on the dev workflow
  • #238 Add AUTHORS file

v1.0.10

18 Jul 14:49
Compare
Choose a tag to compare
Core:
  • #167 Optimize label alignment of latin fonts via a faster context.measureText() by adding approximateLabelWidth to Sigma settings (false by default) (~12% rendering overall speedup) (thanks @mdamien)
  • #167 src/renderers/canvas/sigma.canvas.labels.def.js: Add backward-compatible support of approximateLabelWidth setting (thanks @mdamien)
  • #158 src/renderers/sigma.renderers.webgl.js: Fix lines in reverse order
  • #152 Add backward-compatible beforeRender event (see also jacomyal/sigma.js#606) (thanks @mdamien)
  • #143 Add backward-compatible nodeQuadtreeMaxLevel and edgeQuadtreeMaxLevel to Sigma settings (4 by default) (see also jacomyal/sigma.js#602)
  • #96 use throw new Error('msg') instead of throw 'msg' to get stack trace (see also jacomyal/sigma.js#536)
Plugins:
  • #185 exporters.gexf: File exports fail in IE10+
  • #185 exporters.spreadsheet: File exports fail in IE10+
  • #145 exporters.spreadsheet: Add column for node and edge categories/types
  • #187 exporters.svg: Fix SVG export fails in IE10+ (see also jacomyal/sigma.js#621)
  • #185 exporters.xlsx: File exports fail in IE10+
  • #136 exporters.xlsx: Add column for node and edge categories/types
  • #128 helpers.graph: Add option in adjacentNodes() to get non-hidden nodes only
  • #128 helpers.graph: Add option in adjacentEdges() to get non-hidden edges only
  • #126 Add layout.forceLink and restore original layout.forceAtlas
  • #192 Add layouts.dagre for Direct Acyclic Graph (DAG) / hierarchical layout.
  • #139 parsers.cypher: Fix edgeColor setting don't work
  • #142 plugins.activeState: Fix event not fired on invert functions if no node/edge is active afterwards
  • #138 plugins.design: Fix cannot format string labels using the nodes.labels.by function
  • #122 plugins.design: Fix Error: Missing key "7" in nodes palette " of color scheme nodes.qualitative.categories"
  • #137 plugins.dragNodes: Add stickiness setting
  • #163 plugin.filter: Fix test not passing on firefox (thanks @mdamien)
  • #185 plugins.image: File exports fail in IE10+
  • #134 plugins.keyboard: Fix page jump on Chrome, Safari and IE when mouseover graph that isn't fully in view
  • #121 plugins.keyboard: Fix zoom in/out ignores zoomMin/zoomMax settings
  • #146 plugins.select: Fix do not select edges on mouse move (expected: panning)
  • #174 renderers.customEdgeShapes: Fix hover erroring if edgeLabels plugin not here (thanks @mdamien)
  • #167 renderers.edgeLabels: Add support of approximateLabelWidth setting
  • #166 renderers.edgeLabels: Computations only if useful (thanks @mdamien)
  • #125 renderers.edgeLabels: Add edge label hovering effects
  • #124 renderers.edgeLabels: set angle=0 when edge length > text width
  • #153 renderers.glyphs: Fix drawGlyphs setting not working
  • #154 renderers.halo: Add drawHalo setting
  • #133 renderers.halo: Add clustering of node halo
  • #132 renderers.halo: Add stroke to node halo
  • #129 renderers.halo: Fix halo is displayed on hidden nodes and edges
  • #167 renderers.linkurious: Add support of approximateLabelWidth setting
  • #125 renderers.linkurious: Add edge label hovering effects
Tests:

v1.0.9

20 May 15:53
Compare
Choose a tag to compare

Plugins:

  • Fix #109 sigma.plugins.locate: handle multiple sigma instances
  • #108 sigma.plugins.locate: add an optional padding
  • Fix #107 sigma.plugins.select: A node is deactivated on double-click
  • Fix #106 sigma.plugins.dragNodes: Dragging an unselected node while another node is selected drags both
  • Fix #105 sigma.plugins.select: A node is deactivated on drag

v1.0.8

18 May 08:51
Compare
Choose a tag to compare
Plugins:
  • Add sigma.layouts.fruchtermanReingold
  • Add sigma.parsers.cypher (license GNU GPL3 from @sim51)
  • Add levels to Linkurious renderers (canvas)
  • use throw new Error('msg') instead of throw 'msg'
  • plugins.lasso: Ensure that lasso does not select hidden nodes (thanks @apitts)
  • exporters.gexf: Change initial type to integer in GEXF exporter (thanks @apitts)
  • plugins.design: Minor fix in histogram on a missing "color" key

v1.0.7

29 Mar 17:10
Compare
Choose a tag to compare
Core:
  • Switch clone setting to false by default
  • Switch singleHover setting to true by default
Plugins:
  • plugins.design: Add method to deal with deleted node/edge properties
  • plugins.design: Preserve color key when colors exist for backward-compatibility
  • plugins.activeState: improved event trigger system
  • #64 renderers.linkurious: should use defaultNodeHoverColor
  • #86 renderers.glyphs: glyphs displayed on hidden nodes
  • #88 plugins.dragNodes: do not drag on right click
  • #84 plugins.dragNodes: node still selected after a click on its neighbor
Examples:
  • Add select-and-drag-nodes.html
Dev:
  • Update devDependencies