Stanford Network Analysis Platform (SNAP) is a general purpose, high performance system for graph and network manipulation and analysis. This file contains a high-level description of changes in SNAP releases. Release 2.1, Sep 12, 2013 - implemented a new network class TNEANet and PNEANet for graphs with attributes - added new GetVal1() and GetVal2() methods to access components of TPair - renamed Get*Values() to Get*Val() - added a new function to create a rewired version (using configuation model) of a given graph - added sorting to TGStatVec::GetValV - extended function TSnap::PrintInfo() in gbase.h - added statistics for undirected graphs. - added Strong and Bi-connected component statistics - added functions to plot k-Core decomposition plots - updated graph statistics - implemented TTable::Defrag - changed some casts in unicode.h to fix compilation errors on gcc 4.8.1 - defined NDEBUG compilation flag to disable assertions in production - improved saving of PNG and EPS files to take into account the full path - added static variables in TGnuPlot: GnuPlotPath and GnuPlotFNm for gnuplot executable - added a final renormalization step to GetHits() needed for disconnected graphs - added GraphVizLayout sfdp - added benchmark for THash and TVec - improved PlotHops - fixed a bug in TSsParser::GetLineStr() - fixed a small bug in GetKCoreEdges() - updated cncom.h:IsWeaklyConn() so that it does not crash for empty graphs - fixed #38 community example does not work on email-Enron.txt - fixed zygote example on Mac OS X - made changes needed for snap.py on Windows - changed gbase.h so that it compiles with swig - moved WriteN() to util.cpp to prevent compile warnings on Mac OS X - made Snapworld functions defined only on Unix-like systems - make bigclam.cpp faster - added fixed vector size to the hash, vec benchmarks - made minor code changes to reduce compiler warnings - fixed demo-topology-benchmark.cpp compilation on Cygwin - commented out class IsDerivedFrom Release 2.0, May 13, 2013 - significantly changed several classes and methods, not backward compatible. This version is not able to read binary files or class serializations, produced by previous SNAP versions. - added support for 64-bit vector length in TVec - added support for 64-bit vector length in TVecPool - implemented a new hash function for TVec with 10x improvement over the previous one. This change is not backward compatible for hash tables. Old hash functions are available in TVecHashF_OldGLib. - implemented new 10x faster hash functions for TPair, TTriple, TQuad and TTuple - added 64-bit random number generators GetUniDevInt64() and GetUniDevUInt64() - implemented new TVec method UnionLen() and GetMemSize() - moved vector access functions in TLocClust from private to public - added new examples agmfit, bigclam, circles, zygote, XcodeTest - added new tutorials for bfsdfs, cncom, gviz, triad - added new unit tests for alg, bfsdfs, cncom, gvi, THashSet, triad - added Mac OS X Xcode support for examples - added Mac OS X support for doxygen - fixed #36 normalized eigenvector centrality values to use L2 rather than L1 - fixed #17 integer overflow bug in TSnap::GenRndGnm() - fixed a bug in THashSet::Defrag() - fixed a bug in IsTree() - fixed a bug in TVec::NextPerm() - fixed GetNodeTriads(), it was not checking for an empty group - changed GetTriads and GetClustCf to return triads as int64 rather than int to prevent integer overflow for large graphs - implemented much faster TSsParser - added OpenMP compilation flags - implemented stackdump for g++ - merged updates from the most recent version of GLib - undefined __STDC_LIMIT_MACROS in base.h to prevent double definition warnings - removed include in examples/*/stdefx.h to correctly define SIZE_MAX - removed a redundant GetNodeTriads() variant - changed type of PGraph::TNodeI to PGraph::TObj::TNodeI in triad.h - fixed warnings about implicit conversions from int64 to int in dt.h, tm.h, os.h. Release 1.11, Dec 21, 2012 - added new examples netinf, infopath - added new advanced modules cascnetinf, cascdynetinf - added new distribution functions to glib-core/dt.h::TRnd: GetRayleigh(), GetWeibull() - added demo programs for graph input/output (gio.h), graph generators (ggen.h), THash - added tests for graph input/output (gio.h), graph generators (ggen.h), THash - unified the names of intermediate files for demos and tests to demo*.dat and test*.dat - added cases to test edge iterator with very few nodes - expanded TUNGraph test to include graphs with loops and the number of edges in such graphs - added ManipulateEdges test for TUNGraph - added test in TUNGraph for checking edge iterator following deletion - added OSX Xcode project - updated snap-test Xcode project with gtest code completion/syntax. - improved tutorial and test Makefiles to work on Mac OS X - improved Snap.o make rule, added dependencies for *.h, *.cpp in glib-core and snap-core - improved demo Makefile so that individual targets do not need to be specified - added path to snap-exp to examples makefiles - changed function parameters in TStrPool to const reference - added assertion for DegSeq vector to be sorted - added an assertion for edges in random graphs to prevent infinite loops - fixed #27 - No node checking when load Epinions in signnet.cpp - fixed #28 - no TGraphViz class in signnet.cpp - fixed #29 - no check for inserting node in bfsdfs.h - fixed #17 "example/cliques" does not compile with gcc 4.7 - fixed #21, undetected 32-bit overflow in TGraphAnf::InitAnfBits(), the calculation is now done in 64-bits and an exception is thrown if the final result is more than 32-bit - fixed bug in LoadPajek for graph files with colors - changed EFailR() to FailR() when out of memory - included bd.h in all files that use Class... macros, so that doxygen correctly documents those classes - added #7, add Snap version number to reference manuals - implemented #8, improve the front page for reference manuals - added .gitignore file for Xcode project Release 1.10, Oct 15, 2012 - fixed TUNGraph to return correct number of edges, not backward compatible. This version is not able to read binary TUNGraphs, saved by previous SNAP versions. - added a new example graphhash - fixed #13, GHash incorrectly handles non-existent keys - fixed #12, Graphviz keeps outputting a PostScript file on non-Windows - fixed #15, bug in netevol.cpp - fixed #14, TSnap::GenCircle creates self-loops - fixed a bug in TSnap::GetBfsTree which failed for revised AddNode() - included "" in unicode.h to support Xcode with the Apple compiler - fixed bug in TUNGraph:BegEI(), some edges could be missed by the iterator Release 1.9.2, Oct 2, 2012 - removed a default parameter in triad.h so that the code compiles in Visual Studio 2010 - in source code converted all 8bit characters to 7bit characters \xnn Release 1.9.1, Sep 28, 2012 - fixed name mismatch between GetUniq... and CntUniq... to CntUniq... - reversed the changes in centr.h:GetNodeEcc() name and definition to pre-1.9 Release 1.9, Sep 26, 2012 - names of functions in gviz.h have been changed, not backward compatible - neighbor abbreviations have been changed thoughout the code, nbh -> nbr, Nbh -> Nbr, not backward compatible - a new class TBPGraph has been added to support bipartite graphs - new examples have been added agmgen, circles, kronem, magfit, maggen - code automatically detects gnuplot version to address "set ticks" - makefiles automatically detect OS version - snap directory has been split to snap-core, snap-adv, snap-exp - glib directory has been split to glib-core and glib-adv - reference manuals have been created for users and developers - tutorials have been created for many classes - tests have been created for many classes - programming guide has been created for developers - code has been changed to remove compilation warnings - merged with the latest glib version - numerous code improvements and bug fixes