- Removing
obliteratordependency. - Stopping to shim
Array.from. - ESM support.
- Reverting to
0.25.1package semantics to avoid partial ESM-first support issues.
- Fixing missing
typesdeclaration in package'sexportskey.
- Loosening plain object tests to avoid issues with objects coming from different JavaScript contexts.
- Fixing
#.hasEdgemethods for multigraphs. - Fixing
#.degreeWithoutSelfLoopsmethods for multigraphs.
- Optimizing JSON serialization.
- Shipping source maps with package.
- Improving performance and memory usage of multigraphs.
- Adding
#.inboundDegree,#.outboundDegree,#.inboundDegreeWithoutSelfLoops,#.outboundDegreeWithoutSelfLoops. - Adding missing
#.dropDirectedEdge&#.dropUndirectedEdge. - Adding possibility to pass upgrading options to
#.copy. - Refactoring internal edge & neighbor iteration schemes.
- Dropping undocumented
#.upgradeToMixed&#.upgradeToMulti. - Refactoring internal indices.
- Fixing edge iteration wrt. self loops.
- Dropping some irrelevant arities for edge attribute updates.
- Improving performance of edge iteration.
- Improving performance of neighbor iteration.
- Improving performance of node deletion.
- Improving performance of edge attribute edition.
- Improving performance of internal edge key generator.
- Improving memory usage.
- Improving performance of default degree methods.
- Improving serialization performance.
- Fixing a
#.mergeUndirectedEdgeWithKey&#.updateUndirectedEdgeWithKeybug when source & target are given in the reverse order.
- Fixing
#.copynot copying the graph's attributes. - Improving performance of
#.copy.
- Adding
#.updateAttributes. - Adding
#.updateNodeAttributes. - Adding
#.updateEdgeAttributes. - Adding
#.getSourceAttribute,#.getTargetAttribute,#.getOppositeAttributeand friends. - Aligning
#.updateEachEdgeAttributescallback arguments to#.forEachEdge. - Improving
#.merge*and#.update*function by returning useful information. - Improving
#.oppositeperformance.
Migration guide
This release should only affect you in the following cases:
- You were relying on the keys returned by
#.mergeEdge,#.updateEdgeetc. In which case those methods now return a useful tuple containing said key as its first element as well as additional information about whether target elements already existed in the graph or not. - Some hidden adjacency iteration methods were mangled and are still hidden. This could only affect you if you were using
#.forEach,#.findor#.adjacency(not to be confused with their node, edge & neighbor counterparts).
- Fixing
#.mergeEdge&#.updateEdgeerror messages. - Improving performance of
#.addEdgeetc. (less deopt). - Improving
#.inspectoutput wrt undirected multi edges.
- Fixing
prepublishOnlyscript and shipped package.
- Rolling back to robust generated ids for edges.
- Adding
#.mapNodes,#.filterNodes,#.reduceNodes,#.findNode#.someNode,#.everyNode. - Adding
#.mapEdges,#.filterEdges,#.reduceEdges,#.findEdge#.someEdge,#.everyEdge. - Adding
#.mapNeighbors,#.filterNeighbors,#.reduceNeighbors,#.findNeighbor#.someNeighbor,#.everyNeighbor. - Adding
#.degreeWithoutSelfLoops. - Changing
#.forEach*Untilmethods to#.find*methods. - Dropping
#.hasGeneratedKey. - Dropping the
generatedlast argument to edge & adjacency iterations. - Dropping the
edgeKeyGeneratorinstantiation option. - Dropping second argument of
#.degree. - Changing
#.neighbors(source, target)to#.areNeighbors. - Changing iterator entries to objects rather than arrays.
#.exportEdgewill now always return a key.- Fixing mutability bug with
#.copy. - Fixing adjacency iterator items missing
undirected. - Fixing edge iterator items missing
undirected. - Fixing bug related to instance counters and
#.clear,#.clearEdges. - Improving
#.copyperformance. - Improving
#.areNeighborsperformance. - Improving
#.forEachNodeperformance. - Upgrading
obliteratorand improving iterator-based methods.
Migration guide
This release should only affect you in the following use-cases:
- You were using
#.forEach*Untilmethods, in which case you should replace them by the relevant#.find*or#.some*method. - You were using the boolean second argument to the
#.degreemethods. Replace those calls by#.degreeWithoutSelfLoops. - You were using the (well-hidden) two-arguments polymorphism of
#.neighbors. Replace those calls by#.areNeighbors. - You were using iterators in which case the yielded entries are now objects rather than arrays and should be easier to destructure to access the parts you need.
- You were doing despicable things with automatically generated keys.
- Fixing
#.removeNodeAttributeerror message. - Upgrading types to
0.20.0.
*Untilmethods now return whether they broke.- Fixing a bug with
#.forEachNodeUntil.
- Changing default edge key generator to simple incremental id.
- Fixing issues related to
rollupbundling.
- Fixing
#.dropNodebug.
- Optimizing
#.dropNode.
- Adding
#.forEachUntil. - Adding
#.forEachNodeUntil. - Adding
#.forEachEdgeUntil. - Adding
#.forEachNeighborUntil. - Adding
#.updateNode. - Adding
#.updateEdge. - Adding
attributestoattributesUpdatedevents. - Adding
attributestonodeAttributesUpdatedevents. - Adding
attributestoedgeAttributesUpdatedevents. - Adding
#.updateEachNodeAttributes. - Adding
#.updateEachEdgeAttributes. - Passing
undirected&generatedKeyto#.forEachEdgecallbacks. - Changing
#.forEach&#.adjacencysemantics to something actually useful. - Optimizing
*AttributesUpdatedevents payload. - Optimizing
#.edges(A, B). - Optimizing
#.forEachEdge. - Optimizing
#.mergeEdge. - Optimizing
#.edgesand#.nodes. - Optimizing
#.import. - Fixing
#.edges(A, B)with directed self loops. - Fixing
#.mergeEdgeWithKeyedge cases. - Fixing
#.mergeAttributesevent payload. - Fixing
#.edgeEntriesstack overflow with undirected edges. - Dropping
beforeandafterfromreplaceevents metadata. - Dropping
valuefromsetevents metadata. - Dropping overkill
toStringmethod. - Correctly emitting
nodeAttributesUpdatedevent when node is merged. - Correctly emitting
edgeAttributesUpdatedevent when edge is merged. graphology-typesis now a peer dependency.
- Adding
#.implementation. - Adding
#.hasExtremity. - Adding
#.selfLoopCount,#.directedSelfLoopCount&#.undirectedSelfLoopCount. - Adding
#.hasGeneratedKey. - Renaming
#.directed&#.undirectedto#.isDirected&#.isUndirected. - Renaming
#.selfLoopto#.isSelfLoop. - Serializing options & accepting them with
#.fromstatic methods. - Improving performance of
#.opposite. - Improving serialization performance.
- Updating type declarations & adding generics.
- Optimizing various degree methods.
- Optimizing graph attributes methods.
- Fixing edges & neighbors iteration regarding self loops in the directed case.
- Optimizing
#.forEachEdgemethods.
- Changing packaging system.
- Fixing browser bundle.
- Bundle fixes (@zakjan).
- Proper
#.nullCopy&#.emptyCopymethods.
- More flexible dependency to
graphology-types.
- Adding missing
MultiGraphexport. - Adding missing error typings.
- TypeScript support.
- Adding possibility to merge options using
#.emptyCopy.
- Fixing
#.mergeEdgefor the self loop case.
- Adding
Symbol.iteratorto the prototype. - Fixing custom inspection for node >= 10.
- Fixing edge attributes methods with typed graphs.
- Adding
#.nodeEntries. - Adding
#.edgeEntries. - Adding
#.neighborEntries. - Adding
#.forEach. - Adding
#.adjacency.
- Adding
#.clearEdges. - Adding
#.forEachEdge& alii. - Adding
#.forEachNode& alii. - Adding
#.forEachNeighbor& alii. - Adding
#.inboundNeighbors&#.outboundNeighbors. - Adding
#.inboundEdges&#.outboundEdges. - Dropping
#.addNodesFrom. - Dropping
#.dropNodes&#.dropEdges. - Dropping plural serialization methods.
- Dropping
defaultNodeAttributes&defaultEdgeAttributes. - Fixing semantics of
#.inEdges&#.outEdgesfor arity 2. - Improving performance of edges-related methods.
- Improving performance of internal indices.
- Improving performance of
#.mergeNode. - Fixing edge-case deopt for
#.dropEdges. - Fixing bug related to multigraphs' neighbors.
- Attribute copy is now done on serialization.
- Completely reworking internal indices.
- Improving performance of neighbors-related methods.
- Improving performance of edges-related methods.
- Fixing issues related to the
obliteratordependencies.
- Fixing an issue with
#.mergeNode& string coercion.
- Fixing the
#.edgesfor undirected graphs.
- Adding
#.directedSize&#.undirectedSize.
- Performance enhancements.
- Performance enhancements.
- Fixing a bug with
#.mergeEdge& undirected edges.
- Adding basic edges iterators.
- Fixing
#.inspect.
- Fixing a bug concerning
#.hasEdge& typed graphs.
- Major write performance improvements.
- Shifting the default edge key generation system.
- Dropping index' laziness.
- Adding the
#.nodesIteratormethod. - Performance improvements.
- Fixing a bug related to typed graphs' attributes.
- Fixing a bug with the dropping methods.
- Adding the
#.edge& variants methods. - Adding the
#.upgradeToMixedmethod. - Adding the
#.upgradeToMultimethod. - Refactoring indices methods.
- Dropping
inbound&outbounditeration methods. - Dropping useless counting iteration methods.
- Dropping bunch consuming polymorphisms from iteration methods.
- Refactoring internal indices for undirected graphs.
- Improving performance.
- Fixing degree methods for typed graphs.
- Improving performance.
- Node.js 0.12.x compatibility.
- Fixing bug related to the graph's string coercion.
- Improving performance.
- Better error message when adding a self-loop when it's not authorized.
- Better unit tests.
- Internal refactoring.
- Implementing the static
#.frommethod & switching constructor paradigm. - Fixing bug related to the
attributesUpdatedevent. - Adding more errors related to attributes' setters.
- Adding typed edges attributes' getters/setters.
- Rewrote internal indices.
- Dropping
#.getEdge& friends. - Dropping
#.selfLoops.
- Adding missing built files to the npm package.
- Adding missing
attributesin export.
- Adding
#.removeNodeAttribute&#.removeEdgeAttributethat was actually missing from earlier versions. - Adding graph attributes.
nodeUpdated&edgeUpdatedchanging tonodeAttributesUpdated&edgeAttributesUpdatedrespectively.
- Adding merge flags to import methods.
- Adding
#.hasNodeAttribute&#.hasEdgeAttribute. - Adding
#.removeNodeAttribute&#.removeEdgeAttribute. - Adding
#.mergeNode. - Adding
#.mergeEdge,#.mergeEdgeWithKeyand friends. - Renaming
#.relatedNodeto#.opposite. - Dropping the
onDuplicateNode&onDuplicateEdgeoptions.
- Fixing the argument passed to the
edgeKeyGeneratorfunction. - Fixing a bug where source & target of an edge were not internally coerced to strings.
Initial version compliant to the specs.