CHANGELOG:

v0.5 - New Functions, Changes, and Bug Fixes
   New Functions:
      gplot.arrow - Custom arrow-drawing for gplot
      gplot.layout.fruchtermanreingold - New layout method
      gplot.layout.hall - New layout method
      gplot.layout.kamadakawai - New layout method
      gplot.layout.target - New layout method
      gplot.loop - Custom loop-drawing for gplot
      gplot.target - Draw "target diagrams" using gplot
      gplot3d - Three-dimensional graph visualization
      gplot3d.arrow - Draw three-dimensional "arrows"
      gplot3d.layout.* - Layout functions for gplot3d
      gplot3d.loop - Draw three-dimensional "loops"
      is.connected - Determine whether or not one or more graphs is connected
      rgmn - Draw from the G(N,M) graph distribution
      rguman - Draw from the U|MAN graph distribution
   Changes:
      addisolates has been changed to add.isolates; addisolates is deprecated
      geodist now uses Inf as the default inf.replace value (was N); note that
        this may affect the default behavior of routines which use geodesic
        distance matrices on disconnected graphs
      gplot overhaul continues:
        gplot aspect ratio now fixed at 1:1
        gplot now uses Fruchterman-Reingold as its default layout method
        gplot now supports manual setting of plot limits
        gplot now uses red as the default vertex color
        All plotting elements are now polygons; scaling is now performed
          relative to fractions of the plotting region, and all elements
          can be scaled.
        Labels are no longer plotted by default (and can be switched off with
          displaylabels)
        Various other minor changes have been made; see ?gplot
      Many routines (e.g., triad.classify, triad.census, geodist, etc.) now
        have C backends.  This results in a tremendous performance boost (e.g.,
        1-2 orders of magnitude) on large graphs.
      Package code has been substantially reorganized
      A cumulative list of contributors has been added to the package -- see the
        CONTRIBUTORS file
   Bug Fixes
      betweenness no longer produces NaNs on disconnected vertex sets
      lubness was producing incorrect values for some graphs
v0.44 - New Functions, New Features, Changes, and Bug Fixes
   New Functions:
      %c% - Composition of two adjacency matrices
      gapply - Apply functions over vertex neighborhoods.
      gplot.layout.* - Layout functions for gplot
      lnam - Fit a linear network autocorrelation model
      plot.lnam - Plotting for lnam objects
      print.lnam - Printing for lnam objects
      print.summary.lnam - Printing for lnam summary objects
      summary.lnam - Detailed printing for lnam objects
   New Features:
      consensus now supports union/intersection LAS and column/row 
        raw report methods (useful for replicating "classic" CSS work)
      gplot sports a wide range of new features, including:
        An interactive mode, which allows for manual repositioning
          of vertices.  (It's not pretty, but it works.)  
        Silent return of the x,y coordinates for all vertices.  
          This is useful for adding features to an existing plot, or for 
          saving a given layout for later reuse.
        Adjacency matrices can now be used as parameters to set 
          edge widths, line types, and colors [submitted by Alex Montgomery]
        Overplotting support [submitted by Alex Montgomery]
        Support for loops (i.e., self-ties) [submitted by Alex Montgomery]
        Curved edges, with adjustable curvature [submitted by Alex Montgomery]
        Support for user-supplied layout methods
        Expansion of existing layout methods, including new arguments
   Changes:
      triad.census now automatically removes the diagonal before 
        calculating the triad census; a note on valued/unvalued data has 
        also been added to the man page [suggested by Skye Bender-deMoll 
        and Dan McFarland]
      Vertex layouts for gplot are now generated externally, via 
         the gplot.layout.* functions.  Arbitrary parameters may be 
         passed to the layout functions via an argument list; further, 
         since layout functions are identified with match.fun(), 
         user-added functions can also be employed.  The default layout 
         method is now segeo (spring embedder results were sometimes 
         very good, but too uneven).
   Bug Fixes:
      degree was reporting incorrect tmaxdev values in some cases
      triad.classify switched 111D and 111U [submitted by Dan McFarland and
        Skye Bender-deMoll]
v0.43 - Minor Changes, Updates, and New 
Features
   Changes:
      Contact URL has been updated
   Updates:
      In keeping with the new rigorousness regarding data.frame structures in
        1.8.0, many data.frames have been changed to lists.  This should be
        transparent to the end user, but will avoid the generation of errors
        under the new system.
      Removed references to (deprecated) plot.hclust
   New Features:
      gplot now supports spring embedding.  Providing unsupported layout modes
        now produces an error, rather than undefined behavior (as before).  
        Options have also been added for suppressing the printing of axes,
        and for placing opaque boxes behind vertex labels.
v0.42 - Minor Changes
   Changes:
      Author contact information has been updated
      plot.matrix is now plot.sociomatrix, in order to ensure compatibility
         with the new method standards; all code should be updated to reflect
	 this fact
v0.41 - Updates, New Features, and Bug Fixes
   Updates:
      Deprecated function .Alias removed (was used in netlm, netlogit)
      Changed keyword "network" to "math" in all help pages [as requested
         by the Keepers of R]
      Various internal changes to plot/print/summary methods, in order
         to maintain consistency with their generic equivalents; these
         will (hopefully) have no visible effect
   New Features:
      component.dist now supports weak, unilateral, strong, and recursive
         component definitions
   Bug Fixes:
      component.dist was calculating recursively connected components for
         connected="strong", instead of strongly connected components
      pstar was dumping (internal) edge perturbation data to the screen,
         which was harmless but very annoying; names for pstar coefficients
         were not being recognized by glm

v0.4 - New Features, Changes, and Fixes
   New Functions:
      connectedness - Find the Krackhardt connectedness of a graph or graph 
         stack
      dyad.census - Compute the Holland and Leinhardt MAN dyad census for a 
         graph or graph stack
      efficiency - Find the Krackhardt efficiency of a graph or graph stack
      hierarchy - Find the hierarchy score of a graph or graph stack.
      infocent - Find the information centrality scores of network positions
         [submitted by David Barron]
      lubness - Find Krackhardt's Least Upper Boundedness of a graph or graph 
         stack
      reachability - Find the reachability matrix of a graph.
      triad.census - Conduct a Davis and Leinhardt triad census for a graph or 
         graph stack
      triad.classify - Return the Davis and Leinhardt classification of a given
         triad
   New Features:
      gplot now adjusts line width for valued graphs, via the edge.lwd 
         parameter, and allows users to set the vertex point type (using
         vertex.pch.  gmode=="graph" now sets usearrows<-FALSE, and new
         gmode "twomode" automagically plots two-mode data.  New display modes
         have also been added: geodist (MDS of proximities); adj (MDS with 
         adjacency as similarity); and seham (MDS of SE dist using Hamming 
         method).
      grecip now supports a "measure" option, which allows the user to choose
         between "dyadic" reciprocity (aRb iff bRa) and "edgewise" reciprocity
         (aRb if bRa).  The old version (and default) is the "dyadic" option,
         which (as the above implies) takes null dyads into account; the 
         "edgewise" definition omits null dyads from the calculation.
      gtrans now supports a "measure" option, which allows the user to choose
         between "weak" transitivity (aRc if aRb & bRc) and "strong" 
         transitivity (aRc iff aRb & bRc).  The old version was strong-only, 
         but much of the field prefers the weak version.  Each of these options
         has a respective census variant ("weakcensus", "strongcensus") which 
         returns a count of legal triads rather than a rate.
      pstar now supports separate options for strong/weak transitivity scores,
         and for strong/weak transitive triad counts.
   Bug Fixes:
      Labeling optimizers were not pre-sorting to guard against
         mixed-up exchange lists (these are now checked, too).
      Various centrality measures were not returning the correct
         absolute maximum deviation with tmaxdev==TRUE.
      gtrans was ignoring settings and counting diagonal entries [submitted by
         David Barron]
      pstar behaved badly when external predictors were unnamed [submitted by
         Gindo Tampubolon]
   Changes:
      Comparable labelings are now _enforced_ where applicable.
      lab.optimize.gumbel now just tries to scare you off, rather
         than refusing you altogether.
      Path-based indices (betweenness, closeness, stresscent,
         graphcent, etc.) now automatically assume 
         cmode=="undirected" whenever gmode="graph".
      The default mode for gtrans is now "weak", to match the usage of W&F

v0.3 - New Features, Changes, and Fixes
   General:
      All standard functions are now documented
      R package format is now supported
   New Functions:
      component.dist - Find the distribution of (maximal) component sizes 
         within a graph
      components - Find the number of (maximal) components within a given graph
      eval.edgeperturbation - Evaluate a function on a given graph with and 
         without a given edge, returning the difference between the results in 
         each case.
      interval.graph - Construct one or more interval graphs (and 
         exchangeability vectors) from a set of spells
      mutuality - Find the number of mutual (i.e., reciprocated) edges in a 
         graph
      gscor - Computes the structural correlation between graphs
      gscov - Computes the structural covariance between graphs
      gtrans - Compute the transitivity of an input graph or graph stack.
      lab.optimize - Optimize a bivariate graph statistic over a set of 
         labelings
      pstar - Fits a p* model using the logistic regression approximation 
      read.nos - Reads input files in Neo-OrgStat format
      rperm - Draw a random permutation vector with exchangability constraints
   Features and Modifications:
      diag.remove, upper.tri.remove, and lower.tri.remove now allow replacement
         with any value
      gplot now provides a slew of new parameters to change color, size, etc. 
         of vertices, edges, and labels
      gscor and gscov now delegate to lab.optimize
      gscor, gscov, structdist now support exchange lists (via lab.optimize)

v0.2 - New Features and Some Bug Fixes
   New Functions:
      blockmodel - Generate blockmodels based on partitions of network 
         positions
      blockmodel.expand - Generate a graph from a given blockmodel using 
         particular expansion rules
      bonpow - Find the Bonacich power centrality scores of network positions
      equiv.clust - Find clusters of positions based on an equivalence relation
      evcent - Find the eigenvector centralities of network positions
      gdist.plotdiff - Plot differences in graph-level statistics against 
         inter-graph distances
      gdist.plotstats - Plot statistics associated with graphs against 
         (projected) inter-graph distances
      make.stochastic - Make a graph stack row, column, or row-column 
         stochastic
      plot.blockmodel - Plotting for blockmodel objects
      plot.equiv.clust - Plotting for equivalence clustering objects
      prestige - Find actor prestige scores from one of several measures
      print.blockmodel - Printing for blockmodel objects
      print.summary.blockmodel - Printing for blockmodel summary objects
      sedist - Find distances between positions based on structural equivalence
      stackcount -Find the number of matrices in a graph stack (matrix or array
         data acceptable)
      summary.blockmodel - Detailed printing for blockmodel objects
   Features and Modifications:
      All centrality routines can now be rescaled (division by maximum realized
         value); default is always FALSE   
   Bug Fixes:
      Various centrality routines once again return values for the selected 
         graph and vertices
      
