2009-01-25  Gabor Csardi  <csardi@szaffi>

	* src/strucural_properties.c (igraph_path_length_hist) : 
	fixed a bug, 'unconnected' was wrong for undirected graphs

2009-01-16  Gabor Csardi  <csardi@szaffi>

	* src/foreign-graphml.c
	(igraph_i_graphml_sax_handler_end_document) : check whether 
	we already have an 'id' vertex or edge attribute, give a warning 
	if we cannot add the intrinsic 'id' attribute(s) because of this

	* src/vector_ptr.c (igraph_vector_ptr_pop_back) : added

2008-11-14  Gabor Csardi  <csardi@szaffi>

	* src/bipartite.c (igraph_is_bipartite) : added

2008-11-02  Gabor Csardi  <csardi@szaffi>

	* src/bipartite.c (igraph_get_incidence) : rewritten, previous 
	implementation was incorrect

	* src/bipartite.c (igraph_get_incidence) : added

2008-11-01  Gabor Csardi  <csardi@szaffi>

	* src/bipartite.c (igraph_incidence) : 'directed' argument added

	* src/bipartite.c (igraph_incidence) : added

2008-10-31  Gabor Csardi  <csardi@szaffi>

	* src/bipartite.c (igraph_create_bipartite) : added
	* examples/simple/igraph_bipartite_create.c : added

2008-10-30  Gabor Csardi  <csardi@szaffi>

	* src/structure_generators.c (igraph_full_bipartite) :
	* src/bipartite.c (igraph_full_bipartite) : moved

	* src/bipartite.c (igraph_bipartite_projection) : rewritten
	* examples/simple/igraph_bipartite_projection.c : added

	* src/structure_generators.c (igraph_full_bipartite) : bug fixed,
	types vector was not set up correctly

2008-10-28  Gabor Csardi  <csardi@szaffi>

	* src/bipartite.c (igraph_bipartite_projection) : added

2008-10-27  Gabor Csardi  <csardi@szaffi>

	* src/structure_generators.c (igraph_full_bipartite) : bug fixed

	* src/structure_generators.c (igraph_full_bipartite) : added

	* src/structural_properties.c
	(igraph_avg_nearest_neighbor_degree) : 'weights' argument added

	* src/structural_properties.c (igraph_strength) : added

	* src/structural_properties.c 
	(igraph_avg_nearest_neighbor_degree) : added

2008-10-24  Gabor Csardi  <csardi@szaffi>

	* src/structural_properties.c (igraph_shortest_paths_johnson) : added

2008-10-01  Gabor Csardi  <csardi@szaffi>

	* src/blicc.cc (igraph_automorphisms) : fixed a memory leak

2008-09-29  Gabor Csardi  <csardi@szaffi>

	* src/type_indexededgelist.c (igraph_get_eids) : rewritten to
	use binary search. In practice it is faster only if we search 
	for adjacent edges of high-degree vertices frequently
	* examples/simple/igraph_get_eids.c : added

2008-09-26  Gabor Csardi  <csardi@szaffi>

	* src/basic_query.c (igraph_are_connected) : speeded up by using 
	the new igraph_get_eid2

	* src/type_indexededgelist.c (igraph_get_eid2) : added, 
	the same as igraph_get_eid, but does not fail if the edge
	is not in the graph; instead it returns a negative value in eid

2008-09-11  Gabor Csardi  <csardi@szaffi>

	* src/gengraph_mr-connected.cpp (igraph_degree_sequence_game_vl) :
	check that the sum of degree is even

2008-09-06  Gabor Csardi  <csardi@szaffi>

	* src/topology.c (igraph_isomorphic_function_vf2) : bug corrected

2008-09-11  Gabor Csardi  <csardi@szaffi>

	* src/gengraph_mr-connected.cpp (igraph_degree_sequence_game_vl) :
	check that the sum of degree is even

2008-08-22  Gabor Csardi  <csardi@szaffi>

	* src/decomposition.c (igraph_is_chordal) : added
	* src/decomposition.c (igraph_maximum_cardinality_search) : 
	API update, optionally it calculates the inverse of alpha

2008-08-20  Gabor Csardi  <csardi@szaffi>

	* src/decomposition.c (igraph_maximum_cardinality_search) : added

2008-07-20  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/type_indexededgelist.c (igraph_get_eid) : simplification,
	in the end the newly defined macros will be used by other
	functions as well

2008-07-18  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/centrality.c (igraph_betweenness_estimate_weighted) : 
	handle the 'vids' argument properly

	* src/centrality.c (igraph_betweenness_estimate_weighted) : 
	added support for cutoff

	* src/centrality.c (igraph_betweenness_estimate) : speedup for 
	cutoff >= 0
	* examples/simple/igraph_betweenness.c : added

	* src/iterators.c (igraph_vs_is_all, igraph_es_is_all) : make argument const

2008-07-17  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/type_indexededgelist.c (igraph_get_eid) : further speedup	
	
	* src/type_indexededgelist.c (igraph_get_eid) : speeded up by using 
	binary search

	* src/centrality.c (igraph_betweenness, igraph_betweenness_estimate)
	(igraph_betweenness_estimate_weighted) : added weights

2008-07-02  Tamas Nepusz  <ntamas@rmki.kfki.hu>

	* interfaces/python/src/graphobject.c : added interface to
	igraph_[st_]{vertex,edge}_connectivity
	
2008-06-02  Tamas Nepusz  <ntamas@rmki.kfki.hu>

	* src/igraph.h (igraph_get_shortest_paths_dijkstra) :
	added header
	
	* src/structural_properties.c (igraph_get_shortest_paths_dijkstra) :
	added
	
	* examples/simple/igraph_get_shortest_paths_dijkstra.{c,out} :
	added

	* interfaces/python/src/graphobject.c :
	added weight support for Graph.get_shortest_paths()
	
2008-05-28  Tamas Nepusz  <ntamas@rmki.kfki.hu>

	* src/igraph.h (igraph_shortest_paths_bellman_ford) :
	added missing header

	* interfaces/python/src/graphobject.c :
	modified Graph.shortest_paths to call the Bellman-Ford algorithm
	instead of Dijkstra

2008-05-25  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/fast_community.c (igraph_community_fastgreedy) :
	check that the graph is simple

2008-05-22  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/foreign-lgl-lexer.l
	* src/foreign-ncol-lexer.l : make these work with any EOL 
	encoding

2008-05-21  Tamas Nepusz  <ntamas@rmki.kfki.hu>

	* src/flow.c (igraph_mincut) : type of `value` should be
	igraph_real_t and not igraph_integer_t
	
	* interfaces/functions.def : corrected type of `value` in
	igraph_mincut

	* interfaces/R/src/rinterface.c.in : corrected type of
	`value` in igraph_mincut
	
2008-05-20  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/arpack.c (igraph_arpack_unpack_complex) : added

	* src/arpack.c (igraph_arpack_rnsolve) : bug fix, corrects
	occasional segfault, plus keep original 'nev' option, ARPACK
	overwrites this sometimes

	* src/arpack.c (igraph_arpack_rssolve) : default mode is 'LM' 
	and not 'LA' to be conform with igrpah_arpack_rnsolve
	* src/community.c (igraph_community_leading_eigenvector_naive)
	(igraph_community_leading_eigenvector)
	(igrpah_community_leading_eigenvector_step) : updated	

2008-05-12  Tamas Nepusz  <ntamas@rmki.kfki.hu> :
	* src/foreign.c (igraph_read_graph_{ncol,lgl,pajek}) :
	proper error handling

	* examples/simple/igraph_read_graph_lgl : added test case

	* interfaces/python/package/drawing.py : triangle-shaped vertices
	now supported
	
2008-04-30  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/structural_properties.c (igraph_shortest_paths_dijkstra) :
	bug corrected

	* src/type_indexedegelist.c (igraph_empty_attrs) :
	check that number of vertices is finite

2008-04-28  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/games.c (igraph_erdos_renyi_game_gnm) : bug corrected,
	no multiedges are generated now

	* src/random.c (igraph_random_sample_alga)
	(igraph_random_sample) : bugs corrected

	* src/structural_properties.c (igraph_is_mutual) : 
	changed order of arguments to be consistent with is_loop
	and is_multiple
	* interfaces/python/src/graphobject.c 
	(igraphmodule_Graph_is_mutual) : updated

	* src/vector.pmt (igraph_vector_binsearch2) :
	repair bug when vector is empty

2008-04-28  Tamas Nepusz  <ntamas@rmki.kfki.hu>

	* src/topology.c (igraph_isomorphic) : bugfix, closes issue #117
	
2008-04-27  Tamas Nepusz  <ntamas@rmki.kfki.hu>

	* interfaces/python/src/graphobject.c
	(igraphmodule_Graph_is_mutual) : added

	* src/cocitation.c (igraph_similarity_inverse_log_weighted) : added

	* examples/simple/igraph_similarity.* : added test case for
	inverse log-weighted similarity

	* interfaces/python/src/graphobject.c
	(igraphmodule_Graph_similarity_inverse_log_weighted) : added

2008-04-25  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/structural_properties.c (igraph_is_mutual) : added

2008-04-24  Tamas Nepusz  <ntamas@rmki.kfki.hu>

	* src/foreign-graphml.c : fixed bug when a graph attribute was
	defined but its value not given in a GraphML file

2008-04-09  Tamas Nepusz  <ntamas@rmki.kfki.hu>

	* src/layout.c (igraph_reingold_tilford) :
	really fixed issue #100 :)
	
2008-04-07  Tamas Nepusz  <ntamas@rmki.kfki.hu>

	* src/structure_generators.c (igraph_weighted_adjacency) : now
	handles fractional edge weights correctly
	
	* src/layout.c (igraph_reingold_tilford) : fixed issue #100
	
2008-04-05  Tamas Nepusz  <ntamas@rmki.kfki.hu>

	* src/structure_generators.c (igraph_weighted_adjacency) : added
	
	* examples/simple/igraph_weighted_adjacency.{c,out} : added
	
2008-04-05  Tamas Nepusz  <ntamas@rmki.kfki.hu>

	* src/cattributes.c (igraph_i_cattribute_add_{edges,vertices}) :
	fixed a memory leak
	
2008-03-25  Tamas Nepusz  <ntamas@rmki.kfki.hu>

	* src/foreign.c (igraph_write_graph_gml) : directed graphs
	are now treated correctly (same as in igraph_read_graph_gml)

2008-03-23  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/structural_properties.c (igraph_unfold_tree) : added

2008-03-11  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/cattributes.c (igraph_i_cattribute_get_string_vertex_attr)
	(igraph_i_cattribute_get_string_edge_attr)
	(igraph_i_cattribute_EAS_set) : bugs corrected

2008-02-21  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/structure_generators.c (igraph_adjlist) : added
	* examples/simple/adjlist.c : added
	
	* src/adjlist.c (igraph_adjlist_size) : added

2008-02-16  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/structural_properties.c (igraph_shortest_paths_dijkstra) : added

	* src/structural_properties.c (igraph_shortest_paths) : return 
	IGRAPH_INFINITY for unreachable vertices

	* src/heap.c (igraph_indheap_push_index, igraph_indheap_push_with_index) 
	: renamed, it was inconsistent here and in the header

2008-02-15  Tamas Nepusz  <ntamas@rmki.kfki.hu>

	* src/structural_properties.c (igraph_transitiviy_local) : bug fixed

2008-02-11  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/structural_properties.c (igraph_path_length_hist) : bug fixed

2008-02-10  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/centrality.c (igraph_pagerank) : bugs fixed, handle directed graphs

	* src/structureal_properties.c (igraph_pagerank_old) : bug fixed

2008-02-09  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/arpack.c (igraph_arpack_dssolve, igraph_arpack_dnsolve)
	* src/error.h (igraph_error_type_t)
	* src/error.c (igraph_i_error_strings) : better ARPACK error codes

	* src/flow.c (igraph_i_maxflow_value_undirected)
	(igraph_maxflow_value, igraph_i_mincut_undirected) : allow capacity
	vector to be NULL

2008-02-04  Tamas Nepusz  <ntamas@rmki.kfki.hu>

	* src/layout.c (igraph_layout_lgl) : added progress meter

2008-01-28  Tamas Nepusz  <ntamas@rmki.kfki.hu>

	* interfaces/python/src/graphobject.c : added interface to walktrap
	community detection, added Graph.get_diameter() and
	Graph.farthest_points()
	
	* src/walktrap.cpp : added error handling for isolated vertices

2008-01-27  Gabor Csardi  <csardi@rmki.kfki.hu>
	
	* src/centrality.c (igraph_eigenvector_centrality)
	(igraph_i_kleinberg, igraph_pagerank) : use fix starting vector, based 
	on vertex degree
	
	* src/arpack_internal.h : corrections when external libraries are used
	
	* src/arpack.c (igraph_arpack_rssolve, igraph_arpack_rnsolve) : 
	make it possible to supply a start vector in the first column of 'vectors'
	
	* src/arpack.c (igraph_arpack_rssolve, igraph_arpack_rnsolve) : 
	keep the options argument constant (except if there is an error)

	* examples/simple/igraph_pagerank.c : small bug fixed

2008-01-26  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/foreign-gml-lexer.l
	* src/foreign-lgl-lexer.l
	* src/foreign-pajek-lexer.l
	* src/foreign-ncol-lexer.l : make sure we recognize all line endings,
	\n, \r, \n\r, \r\n
	* examples/simple/lineendings.c : added

2008-01-24  Tamas Nepusz  <ntamas@rmki.kfki.hu>

	* interfaces/python/src/graphobject.c : corrected some type
	mismatches that caused erroneous behaviour on 64 bit
	architectures
	
	* interfaces/python/src/graphobject.c : added interface to
	igraphmodule_Graph_permute_vertices
	
	* interfaces/python/package/test/isomorphism.py : added
	test case

2008-01-19  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/layout.c (igraph_layout_kamada_kawai)
	(igraph_layout_kamada_kawai_3d) : support initial position

	* src/motifs.c (igraph_motifs_randesu, igraph_motifs_randesu_estimate)
	(igraph_motifs_randesu_no) : bug fixes

	* src/community.c (igraph_community_leading_eigenvector_step) : rewritten
	* examples/simple/igraph_community_leading_eigenvector.c : updated

2008-01-18  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/structural_properties.c (igraph_pagerank_old) : 'old' argument
	added
	* examples/simple/igraph_pagerank.c : updated

	* src/community.c (igraph_community_leading_eigenvector_naive)
	(igraph_community_leading_eigenvector) : warning if mxiter iterations
	reached

	* src/arpack.c (igraph_arpack_rssolve, igraph_arpack_rnsolve) :
	set output options

2008-01-17  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/community.c (igraph_community_leading_eigenvector) : rewritten
	* examples/simple/igraph_community_leading_eigenvector.c : updated

	* src/arpack.c (igraph_arpack_options_init) : maxiter default is 3000

2008-01-16  Tamas Nepusz  <ntamas@rmki.kfki.hu>

	* src/foreign.c (igraph_read_graph_gml) : GML graphs are now
	considered directed iff they contain a graph attribute
	called 'directed' with value 1 (conforms with the tech
	report but contradicts the draft specification)
	
	* src/centrality.c (igraph_closeness_estimate,
	igraph_betweenness_estimate) : adjacency list views are
	used from now on
	
	* src/structural_properties.c (igraph_shortest_paths) :
	adjacency lists views are used from now on

2008-01-15  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/community.c (igraph_community_leading_eigenvector_naive) : 
	no real changes, just cosmetics
	* src/arpack.c (igraph_arpack_rssolve) : query eigenvector if 
	storage option is given

2008-01-13  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/igraph.h (igraph_i_lazy_adjlist_t, igraph_lazy_adjlist_t)
	(igraph_i_lazy_adjedgelist_t, igraph_lazy_adjedgelist_t) : renamed
	* src/community.c
	* src/revolver_grow.c
	* src/adjlist.c
	* src/topology.c
	* src/structural_properties.c
	* src/cocitation.c : updated

2008-01-06  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/topology.c (igraph_isomorphic) : rewritten
	
	* src/topology.c (igraph_isomorphic_34) : added
	(igraph_subisomorphic) : added

	* src/topology.c (igraph_isoclass, igraph_isoclass_subgraph) :
	use igraph_integer_t instead of int
	* examples/simple/topology.c : updated

2008-01-05  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/bliss.cc (igraph_canonical_permutation) : 'sh' and 'info'
	arguments added
	(igraph_automorphisms) : use 'info' instead if 'no', 'sh' added
	* src/bliss_bignum.hh (Bignum::tostring) : added
	* src/topology.c (igraph_isomorphic_bliss) : 'sh1', 'sh2', 
	'info1', 'info2' arguments added

	* src/topology.c (igraph_isomorphic_bliss) : added

	* src/topology.c (igraph_permute_vertices) : added

	* src/bliss.cc (igraph_canonical_permutation) : added

2008-01-03  Tamas Nepusz  <ntamas@rmki.kfki.hu>

	* src/community.c (igraph_modularity) : added weights argument

	* interfaces/python/src/graphobject.c : adjusted Graph.modularity to
	support weights

	* interfaces/R/src/rinterface.c.in : added null weight argument to
	igraph_modularity call

2008-01-01  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/revolver_ml_cit.v (igraph_revolver_probs_ADE) 
	(igraph_revolver_probs_ADE_dpareto) : added

2007-12-12  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/revolver_ml_cit.c (igraph_revolver_ml_df) : added

	* src/revolver_ml_cit.c (igraph_revolver_ml_f) : use random order of 
	edges 

2007-12-08  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/revolver_ml_cit.c (igraph_revolver_ml_f) : always check edges 
	in decreasing order

2007-12-06  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/revolver_ml_cit.c (igraph_revolver_ml_ADE_dpareto_evalf) : added

2007-12-05  Tamas Nepusz  <ntamas@rmki.kfki.hu>

	* interfaces/python/src/graphobject.c
	(igraphmodule_Graph_adjacent) : added
	
	* interfaces/python/package/__init__.py :
	(Graph.get_adjlist, Graph.get_adjedgelist) : added
	
	* interfaces/python/package/test/basic.py : added tests

2007-12-04  Tamas Nepusz  <ntamas@rmki.kfki.hu>

	* interfaces/python/src/graphobject.c
	(igraphmodule_Graph_{count,get}_[sub]isomorphisms) : added
	
	* interfaces/python/src/graphobject.c
	(igraphmodule_Graph_subisomorphic) : added
	
	* interfaces/python/package/test/isomorphism.py : added tests

2007-12-04  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/revolver_ml_cit.c (igraph_revolver_ml_DE)
	(igraph_revolver_ml_DE_alpha_a, igraph_revolver_ml_ADE_
	(igraph_revolver_ml_ADE_alpha_a_beta, igraph_revolver_ml_ADE_dpareto)
	(igraph_revolver_ml_ADE_dpareto_eval) : added

2007-12-03  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/igraph.h (igraph_scalar_function_t, igraph_vector_function_t) :
	use separate arguments for variables and parameters

	* src/revolver_ml_cit.c (igraph_revolver_ml_d, igraph_revolver_ml_de)
	(igraph_revolver_ml_ade, igraph_revolveR_ml_ad) : filter argument added

2007-11-29  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/revolver_ml_cit.c (igraph_revolver_ml_l) : added

2007-11-28  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/revolver_ml_cit.c (igraph_revolver_probs_de)
	(igraph_revolver_probs_ade) : added

2007-11-27  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/revolver_ml_cot.c (igraph_revolver_ml_de, igraph_revolver_ml_ade) :
	added

	* src/array.pmt (igraph_array3_fill, igraph_array3_update) : added

	* src/games.c (igraph_callaway_traits_game, igraph_establisment_game)
	(igraph_cited_type_game) : bugs fixed

2007-11-26  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/revolver_ml_cit.c (igraph_revolver_probs_d)
	(igraph_revolver_probs_ad) : added

	* src/revolver_ml_cit.c (igraph_revolver_ml_AD_dpareto_eval) : bug fixed

2007-11-24  Tamas Nepusz  <ntamas@rmki.kfki.hu>

	* src/iterators.c (igraph_es_vector_copy) : added

	* src/structural_properties.c (igraph_count_multiple) : now handles
	loop edges properly

2007-11-22  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/revolver_ml_cit.c (igraph_revolver_ml_AD_dpareto_eval) : added

	* src/revolver_ml_cit.c (igraph_revolver_ml_D_alpha_a)
	(igraph_revolver_ml_AD_alpha_a_beta, igraph_revolver_ml_AD_dpareto) :
	small memory leaks removed

	* src/revolver_ml_cit.c (igraph_revolver_ml_AD) : added 'lastderiv'
	argument
	
	* src/revolver_ml_cit.c (igraph_i_revolver_ml_D_eval)
	(igraph_i_revolver_ml_AD_eval) : divide by the number of experiments

2007-11-21  Tamas Nepusz  <ntamas@rmki.kfki.hu>

	* src/centrality.c (igraph_betweenness_estimate, igraph_closeness_estimate)
	(igraph_edge_betweenness_estimate) : added

	* src/structural_properties.c (igraph_betweenness, igraph_closeness)
	(igraph_edge_betweenness) : moved to src/centrality.c

	* src/igraph.h : added headers for estimation functions

	* doc/structural.xxml : added documentation for estimation functions

	* examples/simple/igraph_edge_betweenness.c : test cases for estimation added

	* interfaces/python/src/graphobject.c : added cutoff parameter to
	Graph.betweenness, Graph.closeness and Graph.edge_betweenness

	* interfaces/python/package/test/structural.py : added test cases for
	estimations

2007-11-18  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/revolver_ml_cit.c (igraph_revolver_ml_f, igraph_revolver_ml_ad) :
	added

	* src/revolver_ml_cit.c (igraph_revolver_ml_d) : delta, logprob,
	logmax arguments added

	* src/revolver_ml_cit.c (igraph_revolver_ml_AD_dpareto) : added
	
	* src/revolver_ml_cit.c (igraph_revolver_ml_D, igraph_revolver_ml_D_alpha)
	(igraph_revolver_ml_D_alpha_a, igraph_revolver_ml_AD)
	(igraph_revolver_ml_AD_alpha_a_beta) : filter argument added

2007-11-15  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/centrality.c (igraph_i_pagerank2, igraph_pagerank) : 
	weighted page rank added, normalized to 1

	* src/arpack.c (igraph_arpack_rssolve) : fix vector copy bug
	
	* src/community.c (igraph_community_leading_eigenvector_naive) : 
	updated for igraph_arpack_storage_init changes
	* src/arpack.c (igraph_arpack_options_init) : updated, default problem
	type is specified via 'XX', added 'sigmai', lworkl is by default 0
	(igraph_arpack_storage_init) : added 'symm' option
	(igraph_arpack_storage_destroy) : handle new members
	(igraph_arpack_rssolve) : handle 'XX' problem type
	(igraph_arpack_rnsolve) : added
	* src/centrality.c (igraph_i_pagerank) : correct, divide by n
	(igraph_pagerank) : update to use rnsolve instead of rssolve
	
	* src/arpack/dlaqrb.c
	* src/arpack/dnaitr.c
	* src/arpack/dnapps.c
	* src/arpack/dnaup2.c
	* src/arpack/dnaupd.c
	* src/arpack/dnconv.c
	* src/arpack/dneigh.c
	* src/arpack/dneupd.c
	* src/arpack/dngets.c
	* src/arpack/dsortc.c
	* src/arpack/dstatn.c
	* src/blas/dasum.c
	* src/blas/drot.c
	* src/blas/dtrmm.c
	* src/blas/idamax.c
	* src/f2c/d_lg10.c
	* src/f2c/i_dnnt.c
	* src/lapack/dlabad.c
	* src/lapack/dlacon.c
	* src/lapack/dladiv.c
	* src/lapack/dlaexc.c
	* src/lapack/dlahqr.c
	* src/lapack/dlaln2.c
	* src/lapack/dlange.c
	* src/lapack/dlanhs.c
	* src/lapack/dlanv2.c
	* src/lapack/dlarfx.c
	* src/lapack/dlasy2.c
	* src/lapack/dtrevc.c
	* src/lapack/dtrexc.c
	* src/lapack/dtrsen.c
	* src/lapack/dtrsyl.c : added stuff required for non-symmetric
	sparse eigenproblems	

2007-11-05  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/centrality.c (igraph_pagerank) : added

	* src/structural_properties.c (igraph_pagerank, igraph_pagerank_old) :
	renamed
	* examples/simple/igraph_pagerank.c : updated

	* src/cliques.c (igraph_i_maximal_or_largest_cliques_or_indsets) : 
	give prototype

	* src/community.c (igraph_i_community_leading_eigenvector_naive) : added
	(igraph_community_leading_eigenvector_naive) : rewritten to call rssolve

	* src/arpack.c (igraph_arpack_init) : remove storage part
	(igraph_arpack_storage_init, igraph_arpack_storage_destroy) : added
	(igraph_arpack_rssolve) : updated
	* src/centrality.c (igraph_eigenvector_centrality) 
	(igraph_i_kleinberg) : updated
	* examples/simple/igraph_community_leading_eigenvector.c : updated	
	
2007-10-31  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/community.c (igraph_community_leading_eigenvector) : bug 
	corrected

	* src/community.c (igraph_community_leading_eigenvector)
	(igraph_community_leading_eigenvector_naive)
	(igraph_community_leading_eigenvector_step) : stop at negative eigenvalue

2007-10-30  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/community.c (igraph_le_community_to_membership) : added

	* src/community.c (igraph_community_to_membership) : different
	arguments, graph is not needed, only the number of vertices
	* examples/simple/igraph_community_fastgreedy.c : updated

	* examples/simple/eigenvector_centrality.c : test case corrected

	* src/games.c (igraph_grg_game) : added 'x' and 'y' arguments
	* examples/simple/igraph_grg_game.c : updated

2007-10-29  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/centrality.c (igraph_eigenvector_centrality) : add support for
	edge weights

2007-10-28  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/f2c/etime_.c
	* src/bliss.cc
	* src/bliss_timer.cc : updates to make it compile under windows

2007-10-25  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/arpack.c
	* src/centrality.c (igraph_i_kleinberg, igraph_hub_score)
	(igraph_authority_score) : moved
	(igraph_i_kleinber2) : added
	
	* src/arpack.c 
	* src/centrality.c
	(igraph_i_eigenvector_centrality)
	(igraph_eigenvector_centrality) : moved 	

	* src/arpack_internal.h : use long int instead of int,
	don't use 'const' for char*
	* src/arpack.c
	* src/comunity.c : updated

	* src/arpack/dstqrb.c
	* src/lapack/dlamch.c
	* src/lapack/dsteqr.c
	* src/lapack/dlae2.c : correct two mistakes, made when prefixing with igraph

	* src/arpack_internal.h : simplified, not using IGRAPH_F77
	* src/arpack.c (igraph_arpack_rssolve, igraph_i_kleinberg)
	* src/community.c (igraph_community_leading_eigenvector_naive)
	(igraph_community_leading_eigenvector)
	(igraph_community_leading_eigenvector_step) : updated
	
	* src/arpack/dgetv0.f
	* src/arpack/dmout.f
	* src/arpack/dsaitr.f
	* src/arpack/dsapps.f
	* src/arpack/dsaup2.f
	* src/arpack/dsaupd.f
	* src/arpack/dsconv.f
	* src/arpack/dseigt.f
	* src/arpack/dsesrt.f
	* src/arpack/dseupd.f
	* src/arpack/dsgets.f
	* src/arpack/dsortr.f
	* src/arpack/dstats.f
	* src/arpack/dstqrb.f
	* src/arpack/dvout.f
	* src/arpack/ivout.f
	* src/arpack/second.f : replaced by the C version

	* src/lapack/lapack_igraph.f
	* src/lapack/print.c : replaced by the C version

	* src/blas/blas_igraph.f : replaced by the C version

2007-10-24  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/arpack.c (igraph_arpack_rssolve) : added
	(igraph_i_eigenvector_centrality, igraph_eigenvector_centrality) : 
	interface rewritten
	* examples/simple/eigenvector_centrality.c : updated

	* src/arpack.c (igraph_eigenvector_centrality, igraph_i_kleinberg) :
	a bug fixed

	* src/community.c (igraph_community_leading_eigenvector_naive)
	(igraph_community_leading_eigenvector) 
	(igraph_community_leading_eigenvector_step) : rewritten to use ARPACK

2007-10-23  Gabor Csardi  <csardi@rmki.kfki.hu>	

	* src/memory.h (Calloc, igraph_Calloc, Realloc, igraph_Realloc)
	(Free, igraph_Free) : renames
	* src/memory.c
	* src/igraph_grid.c
	* src/visitors.c
	* src/foreign-gml-parser.y
	* src/community.c
	* src/cattributes.c
	* src/foreign-graphml.c
	* src/measure_dynamics.c
	* src/igraph_hashtable.c
	* src/heap.c
	* src/igraph_strvector.c
	* src/igraph_trie.c
	* src/vector_ptr.c
	* src/forestfire.c
	* src/cores.c
	* src/motifs.c
	* src/gml_tree.c
	* src/vector.pmt
	* src/type_indexededgelist.c
	* src/stack.pmt
	* src/dqueue.pmt
	* src/heap.pmt
	* src/arpack.c
	* src/revolver_ml_cit.c
	* src/flow.c
	* src/adjlist.c
	* src/operators.c
	* src/topology.c
	* src/foreign.c
	* src/layout.c
	* src/foreign-lgl-parser.y
	* src/iterators.c
	* src/foreign-pajek-parser.y
	* src/games.c
	* ChangeLog
	* src/components.c
	* src/memory.h
	* src/other.c
	* src/structural_properties.c
	* src/structure_generators.c
	* src/cocitation.c
	* src/foreign-ncol-parser.y
	* src/fast_community.c
	* src/igraph_set.c
	* src/cliques.c : updated

	* src/conversion.c (igraph_to_undirected) : copy graph, vertex and 
	for 'EACH' also edge attributes
	
	* src/attributes.h (igraph_attribute_table_t) : ga, va, ea arguments 
	added to copy
	(IGRAPH_I_ATTRIBUTE_COPY) : updated
	* src/attributes.c (igraph_i_attribute_copy) : updated
	* src/cattributes.c (igraph_i_cattribute_copy) : updated
	* src/conversion.c (igraph_to_directed) : updated
	* src/games.c (igraph_rewire_edges) : updated
	* src/type_indexededgelist.c (igraph_copy, igraph_delete_vertices) : updated
	* examples/simple/cattributes.c : added test for copy

	* src/games.c (igraph_erdos_renyi_game_gnp, igraph_erdos_renyi_game_gnm) :
	reworked
	* examples/simple/igraph_erdos_renyi_game.c : better tests added

	* src/matrix.pmt (igraph_matrix_e, igraph_matrix_e_ptr)
	(igraph_matrix_set, igraph_matrix_fill, igraph_matrix_update)
	(igraph_matrix_rbind, igraph_matrix_cbind, igraph_matrix_swap)
	(igraph_matrix_get_row, igraph_matrix_set_row, igraph_matrix_swap_rows)
	(igraph_matrix_swap_cols, igraph_matrix_add_constant, igraph_matrix_add)
	(igraph_matrix_sub, igraph_matrix_mul_elements)
	(igraph_matrix_div_elements, igraph_matrix_min, igraph_matrix_which_min)
	(igraph_matrix_which_max, igraph_matrix_minmax)
	(igraph_matrix_which_minmax, igraph_matrix_isnull)
	(igraph_matrix_empty, igraph_matrix_is_symmetric, igraph_matrix_prod)
	(igraph_matrix_rowsum, igraph_matrix_colsum, igraph_matrix_contains)
	(igraph_matrix_search, igraph_matrix_remove_row)
	(igraph_matrix_select_cols) : added
	(igraph_matrix_null, igraph_matrix_copy_to) : return void now
	* exaples/simple/matrix2.c : added

2007-10-22  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/dqueue.c : boolean dqueue_t added
	* src/stack.c : boolean stack_t added

	* src/vector.pmt (igraph_vector_order, igraph_vector_order1)
	(igraph_vector_rank)
	* src/vector.c (igraph_vector_order, igraph_vector_order1)
	(igraph_vector_rank) : moved, not generic any more

	* src/vector.pmt (igraph_vector_swap, igraph_vector_swap_elements)
	(igraph_vector_reverse, igraph_vector_add, igraph_vector_sub)
	(igraph_vector_mul, igraph_vector_div, igraph_vector_minmax)
	(igraph_vector_which_minmax) : added

	* examples/simple/eigenvector_centrality.c : corrected, updated

	* src/vector.pmt (igraph_vector_multiply, igraph_vector_scale) : renamed
	* src/matrix.pmt (igraph_matrix_multiply, igraph_matrix_scale) : renamed
	* src/array.c (igraph_array3_multiply, igraph_array3_scale) : renamed
	* src/spmatrix.c (igraph_spmatrix_multiply, igraph_spmatrix_scale) : renamed
	* src/arpack.c (igraph_i_kleinberg, igraph_eigenvector_centrality)
	* src/fastcommunity.c (igraph_community_fastgreedy)
	* src/layout.c (igraph_layout_lgl, igraph_layout_grid_fruchterman_reingold)
	* src/igraph_revolver_cit.c
	* src/igraph_revolver_grow.c : updated	
	
	* src/vector.pmt (igraph_vector_add, igraph_vector_add_constant) : renamed
	* src/topology.c (igraph_isomorphic_function_vf2)
	(igraph_i_get_isomorphisms_vf2, igraph_subisomorphic_function_vf2)
	(igraph_i_get_subisomorphisms_vf2)

	* src/arpack.c (igraph_i_kleinberg, igraph_hub_score)
	(igraph_authority_score) : added

	* src/arpack.c (igraph_eigenvector_centrality) : free adjlist earlier

	* src/arpack.c (igraph_eigenvector_centrality) : which argument added,
	use vectors instead of C arrays

	* src/examples/eigenvector_centrality.c : updated

	* src/arpack.c (igraph_eigenvector_centrality) : many improvements

2007-10-21  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/arpack.c (igraph_eigenvector_centrality) : evcent calculation
	based on ARPACK added
	
	* src/arpack/dgetv0.f (igraphdgetv0)
	* src/arpack/dmout.f (igraphdmout)
	* src/arpack/dsaitr.f (igraphdsaitr)
	* src/arpack/dsapps.f (igraphdsapps)
	* src/arpack/dsaup2.f (igraphdsaup2)
	* src/arpack/dsaupd.f (igraphdsaupd)
	* src/arpack/dsconv.f (igraphdsconv)
	* src/arpack/dseigt.f (igraphdseigt)
	* src/arpack/dsesrt.f (igraphdsesrt)
	* src/arpack/dseupd.f (igraphdseupd)
	* src/arpack/dsgets.f (igraphdsgets)
	* src/arpack/dsortr.f (igraphdsortr)
	* src/arpack/dstats.f (igraphdstats)
	* src/arpack/dstqrb.f (igraphdstqrb)
	* src/arpack/dvout.f (igraphdvout)
	* src/arpack/ivout.f (igraphivout)
	* src/arpack/second.f (igraphsecond) : a subset of ARPACK added

	* src/lapack/lapack_igraph.f (igraphdlarnv, igraphdlascl)
	(igraphdlartg, igraphdlaset, igraphdlae2, igraphdlaev2)
	(igraphdlasr, igraphdlasrt, igraphdgeqr2, igraphdlacpy)
	(igraphdorm2r, igraphdsteqr, igraphdlanst, igraphdlapy2)
	(igraphdlamch, igraphdlaruv, igraphdlarfg, igraphdlarf)
	(igraphdlae2, igraphdlassq, igraphdlamc2, igraphdlamc1)
	(igraphdlamc2, igraphdlamc3, igraphdlamc4, igraphdlamc5)
	* src/lapack/print.c (igraphxerbla) : a subset of LAPACK added

	* src/blas/blas_igraph.f (igraphdaxpy, igraphdger, igraphdcopy)
	(igraphdscal, igraphdswap, igraphdgemv, igraphddot, igraphdnrm2)
	(igraphlsame) : a subset of BLAS added
	
2007-10-17  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/components.c (igraph_articulation_points)
	(igraph_biconnected_components) : added

	* src/igraph.h (igraph_i_adjlist_t, igraph_adjlist_t)
	(igraph_i_adjedgelist_t, igraph_adjedgelist_t) : no longer internal, 
	renamed

	* src/random.c (igraph_rbinom) : replace unif_rand with RNG_UNIF01 and 
	fmin2 with fmin

	* src/forestfire.c (igraph_forest_fire_game) : progress meter and 
	interruption handler added

	* src/structural_properties.c (igraph_path_length_hist) : progress
	meter added

2007-10-16  Tamas Nepusz  <ntamas@rmki.kfki.hu>

	* src/cliques.c (igraph_i_find_k_cliques) : memory
	usage reduced, should solve issue #47

2007-10-16  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/foreign.c (igraph_read_graph_dimacs) : updated to handle 'edge'
	problems

	* src/forestfire.c (igraph_forest_fire_game) : updated according to a
	paper i found on Leskovec's web site

	* src/forestfire.c (igraph_forest_fire_game) : forest fire model added

	* src/random.h (RNG_BINOM) : added
	* src/random.c (igraph_rbinom) : added

2007-10-15  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/structural_properties.c (igraph_path_length_hist) : added

	* src/structure_generators.c (igraph_full_citation) : added

2007-10-13  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/revolver_ml_cit.c (igraph_revolver_ml_D, igraph_revolver_ml_D_alpha)
	(igraph_revolver_ml_D_alpha_a, igraph_revolver_d) : add interruption

	* src/revolver_ml_cit.c (igraph_revolver_ml_AD)
	(igraph_revolver_ml_AD_alpha_a_beta) : added

	* src/revolver_ml_cit.c (igraph_revolver_ml_D) : remove 'ptk', not needed

	* src/revolver_ml_cit.c (igraph_revolver_ml_D, igraph_revolver_ml_D_alpha)
	(igraph_revolver_ml_D_alpha_a) : add fncount, grcount arguments	
	
	* src/bfgs.c (igraph_bfgs) : add interruption, change int* arguments
	to igraph_integer_t*	

	* src/matrix.c : add boolean matrices

2007-10-12  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/revolver_ml_cit.c (igraph_revolver_ml_D)
	(igraph_revolver_ml_D_alpha, igraph_revolver_ml_D_alpha_a) : added,
	rewritten
	* src/bfgs.c (igraph_bfgs) : added

	* src/math.c (igraph_finite) : added

	* src/vector.pmt (igraph_vector_update) : added

2007-10-11  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/revolver_ml_cit.c (igraph_revolver_ml_D) 
	(igraph_revolver_ml_D_alpha) : added

	* src/zeroin.c (igraph_zeroin) : added

2007-10-07  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/revolver_ml_cit.c (igraph_revolver_ml_d) : added

2007-10-03  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/evolver_cit.c (igraph_evolver_d) : bug corrected
	* src/revolver_cit.c (igraph_revolver_st_d) : bug corrected

	* src/structural_properties.c (igraph_is_simple) : added

2007-10-02  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/motifs.c (igraph_dyad_census, igraph_triad_census)
	(igraph_triad_census_24) : added

2007-09-25  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/games.c (igraph_erdos_renyi_game_gnp) : three bugs corrected,
	should solve issue #30

2007-09-12  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/matrix.pmt (igraph_matrix_transpose) : added

2007-09-11  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/igraph_strvector.c (igraph_strvector_append) :
	memory leak fixed

2007-09-08  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/cattributes.c (igraph_i_cattribute_find, igraph_i_cattribute_init)
	(igraph_i_cattribute_destroy, igraph_i_cattribute_copy)
	(igraph_i_cattribute_add_vertices, igraph_i_cattribite_delete_vertices)
	(igraph_i_cattribute_add_edges, igraph_i_cattribute_delete_edges)
	(igraph_i_cattribute_permute_edges, igraph_i_cattribute_get_info)
	(igraph_i_cattribute_has_attr, igraph_i_cattribute_gettype)
	(igraph_i_cattribute_get_numeric_graph_attr)
	(igraph_i_cattribute_get_string_graph_attr)
	(igraph_i_cattribute_get_numeric_vertex_attr)
	(igraph_i_cattribute_get_string_vertex_attr)
	(igraph_i_cattribute_get_numeric_edge_attr)
	(igraph_i_cattribute_get_string_edge_attr)
	(igraph_cattribute_GAN, igraph_cattribute_GAS, igraph_cattribute_VAN)
	(igraph_cattribute_VAS, igraph_cattribute_EAN, igraph_cattribute_EAS)
	(igraph_cattribute_list, igraph_cattribute_GAN_set)
	(igraph_cattribute_GAS_set, igraph_cattribute_VAN_set)
	(igraph_cattribute_VAS_set, igraph_cattribute_EAN_set)
	(igraph_cattribute_EAS_set, igraph_cattribute_VAN_setv)
	(igraph_cattribute_VAS_setv, igraph_cattribute_EAN_setv)
	(igraph_cattribute_EAS_setv, igraph_cattribute_remove_g)
	(igraph_cattribute_remove_v, igraph_cattribute_remove_e)
	(igraph_cattribute_remove_all) : added	
	* src/attribute.h (GAN, GAS, VAN, VAS, EAN, EAS, SETGAN, SETGAS)
	(SETVAN, SETVAS, SETEAN, SETEAS, SETVANV, SETVASV, SETEANV, SETEASV)
	(DELGA, DELVA, DELEA, DELGAS, DELVAS, DELEAS, DELALL) : added
	* examples/simple/cattributes.c : added
	* examples/simple/cattributes2.c : added

2007-09-04  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/types.h (STR) : added
	* examples/simple/igraph_strvector.c : updated	

	* src/igraph_strvector.c (igraph_strvector_clear) : added
	* examples/simple/igraph_strvector.c : updated

2007-09-03  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/igraph_strvector.c (igraph_strvector_permdelete)
	* src/vector.pmt (igraph_vector_permdelete) :
	use vector_t instead of long int* for the index
	* src/spmatrix.c (igraph_spmatrix_clear_row)
	(igraph_spmatrix_cleanup) : updated vector_permdelete calls

	* src/igraph_strvector.c (igraph_strvector_append) : added
	* examples/simple/igraph_strvector.c : updated

2007-08-31  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/vector.pmt (igraph_vector_fill) : added
	* examples/simple/vector.c : fill check added

2007-08-30  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/structural_properties.c (igraph_betweenness) : 
	bug fixed when 'vids' is not all vertices, thanks to Alex Gutteridge

	* src/bliss.cc
	* src/bliss.cc            
	* src/bliss_heap.cc
	* src/bliss_timer.cc
	* src/bliss_eqrefhash.cc  
	* src/bliss_orbit.cc      
	* src/bliss_utils.cc
	* src/bliss_graph.cc      
	* src/bliss_partition.cc : added	

2007-08-29  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/structure_generators.c (igraph_lcf, igraph_lcf_vector) : added

2007-08-28  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/structure_generators.c (igraph_famous): some more graphs added

	* src/structure_generators.c (igraph_famous): corrected some names

2007-08-27  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/topology.c (igraph_isomorphic_vf2, igraph_isomorphic_function_vf2)
	(igraph_count_isomorphisms_vf2, igraph_get_isomorphisms_vf2)
	(igraph_subisomorphic_function_vf2, igraph_subisomorphic_vf2)
	(igraph_count_subisomorphisms_vf2, igraph_get_subisomorphisms_vf2) :
	added, reorganized

2007-08-25  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/structure_generators.c (igraph_famous) : added

2007-08-23  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/topology.c (igraph_isomorphic_vf2) : check directedness,
	check number of vertices, fix +1 bug for map12 and map21

	* src/vector.pmt (igraph_vector_add) : stupid bug corrected

	* src/vector.pmt (igraph_vector_add) : added

2007-08-23  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/topology.c (igraph_isomorphic_vf2) : added 'map12' and 'map21' 
	arguments

2007-08-17  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/layout.c (igraph_layout_graphopt) : added

2007-08-16  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/igraph_grid.c (igraph_2dgrid_which, igraph_2dgrid_dist)
	(igraph_2dgrid_dist2, igraph_2dgrid_next_nei)
	(igraph_i_layout_mergegrid_which) : removed inline

2007-08-10  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/structural_properties.c (igraph_count_multiple) : bug corrected

	* src/structural_properties.c (igraph_is_multiple, igraph_is_loop) :
	return bool vector
	* examples/simple/igraph_is_multiple.c 
	* examples/simple/igraph_is_loop.c : updated

	* src/igraph_pmt.h
	* src/types.h
	* src/vector.c : added igraph_vector_bool_t type

	* src/structural_properties.c (igraph_count_multiple) : added

2007-08-09  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/examples/simple/vector.c : corrected a test case

2007-08-06  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/foreign-graphml.c (igraph_read_graph_graphml) : 
	use a Push parser instead of an I/O parser, not clear whether this
	solves the bug reported by Kristian Ovaska. It seems to work.
	* examples/simple/graphml.c : added a simple test case

2007-07-24  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/community.c (igraph_community_edge_betweenness) : handle
	unconnected input graphs properly

2007-07-16  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/community.c (igraph_community_edge_betweenness) : FINALLY
	bug corrected

2007-06-12  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/revolver_cit.c (igraph_revolver_e) : added 'st' option

2007-06-11  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/types.h (IGRAPH_POSINFINITY, IGRAPH_NEGINFINITY) : added

2007-06-09  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/structure_generators.c (igraph_de_bruijn, igraph_kautz) : added

2007-06-08  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/structural_properties.c (igraph_linegraph) : added

2007-06-07  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/layout.c (igraph_layout_fruchterman_reingold)
	(igraph_layout_fruchterman_reingold_3d) : weight argument added

2007-07-07  Tamas Nepusz  <ntamas@rmki.kfki.hu>

	* interfaces/python/src/graphobject.c
	(igraphmodule_Graph_layout_reingold_tilford_circular) : added

2007-06-06  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/foreign.c (igraph_write_graph_pajek) : correct newline

	* src/layout.c (igraph_layout_reingold_tilford_circular) : added

	* src/revolver_cit.c (igraph_revolver_d, igraph_revolver_mes_d)
	(igraph_revolver_ad, igraph_revolver_mes_ad)
	(igraph_revolver_ade, igraph_revolver_mes_ade)
	(igraph_revolver_e, igraph_revolver_mes_e)
	(igraph_revolver_de, igraph_revolver_mes_de)
	(igraph_revolver_l, igraph_revolver_mes_l)
	(igraph_revolver_dl, igraph_revolver_mes_dl)
	(igraph_revolver_el, igraph_revolver_mes_el)
	(igraph_revolver_r, igraph_revolver_mes_r)
	(igraph_revolver_ar, igraph_revolver_mes_ar)
	(igraph_revolver_di, igraph_revolver_mes_di)
	(igraph_revolver_adi, igraph_revolver_mes_adi)
	(igraph_revolver_il, igraph_revolver_mes_il)
	(igraph_revolver_ir, igraph_revolver_mes_ir)
	(igraph_revolver_air, igraph_revolver_mes_air) : logmax argument added

2007-06-03  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/revolver_cit.c (igraph_revolver_error2_d, igraph_revolver_error2_ad)
	(igraph_revolver_error2_ade, igraph_revolver_error2_e)
	(igraph_revolver_error2_de, igraph_revolver_error2_l)
	(igraph_revolver_error2_dl, igraph_revolver_error2_el)
	(igraph_revolver_error2_r, igraph_revolver_error2_ar)
	(igraph_revolver_error2_di, igraph_revolver_error2_adi)
	(igraph_revolver_error2_il, igraph_revolver_error2_ir)
	(igraph_revolver_error2_air) : added

2007-05-22  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/games.c (igraph_recent_degree_game) : error handling bug corrected

2007-05-17  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/type_indexededgelist.c (igraph_edges) : added

2007-05-16  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/foreign.c (igraph_write_graph_gml) : added
	* examples/simple/gml.c : update to test write_graph_gml as well

	* src/igraph.h (IGRAPH_VERSION_STRING) : added

	* src/foreign-gml-parser.y
	* src/foreign.c (igraph_read_graph_gml) : print better error message

	* src/foreign-gml-parser.y 
	* src/foreign.c (igraph_read_graph_gml) : some memory leaks corrected

2007-05-15  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/gml_tree.c (igraph_gml_tree_destroy, igraph_gml_tree_mergedest) :
	memory leaks eliminated
	
	* src/foreign-gml-parser.y (igraph_i_gml_make_numeric2) : added,
	support for 'inf' and 'nan'

	* src/foreign.c (igraph_read_graph_gml)
	* src/foreign-gml-parser.y : correct the order of the elements in a list

	* src/foreign-gml-parser.y (igraph_gml_error) : show bison error as well

	* src/foreign.c (igraph_i_gml_destroy_attrs) : added

	* src/foreign.c (igraph_read_graph_gml) : added attribute support

	* src/foreign-gml-lexer.l : rewritten
	* src/foreign-gml-parser.y : rewritten
	* src/gml_tree.c (igraph_gml_tree_init_integer)
	(igraph_gml_tree_init_real, igraph_gml_tree_init_tree) : do not copy 
	name and for string the value

	* src/gml_tree.c (igraph_gml_tree_name, igraph_gml_tree_delete) : added

2007-05-12  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/foreign-gml-lexer.l
	* src/foreign-gml-parser.y : added
	* src/foreign.c (igraph_read_graph_gml) : added
	* examples/simple/gml.c : added

	* src/gml_tree.c (igraph_gml_tree_init_integer, igraph_gml_tree_init_real)
	(igraph_gml_tree_init_string, igraph_gml_tree_init_tree)
	(igraph_gml_tree_mergedest, igraph_gml_tree_destroy)
	(igraph_gml_tree_length, igraph_gml_tree_find, igraph_gml_tree_findback)
	(igraph_gml_tree_type, igraph_gml_tree_get_integer)
	(igraph_gml_tree_get_real, igraph_gml_tree_get_string)
	(igraph_gml_tree_get_tree) : added

	* src/igraph_strvector.c (igraph_strvector_set2) : added

2007-05-12  Tamas Nepusz  <ntamas@rmki.kfki.hu>

	* src/fast_community.c (igraph_community_fastgreedy) : rewritten in
	plain C, should be faster now

2007-05-11  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/revolver_grow.c (igraph_revolver_error_p_p) : implemented

	* src/revolver_grow.c (igraph_revolver_p_p, igraph_revolver_st_p_p)
	(igraph_revolver_mes_p_p, igraph_revolver_error_p_p) : added

	* src/revolver_grow.c (igraph_revolver_d_d) : bugs corrected

2007-05-09  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/evolver_cit.c (igraph_evolver_d) : added

	* src/evolver2.c (igraph_revolver_error_d_d) : bugs corrected

	* src/evolver2.c (igraph_revolver_d_d, igraph_revolver_mes_d_d)
	(igraph_revolver_st_d_d, igraph_revolver_error_d_d) : added

2007-05-07  Gabor Csardi  <csardi@rmki.kfki.hu>

	* example/simple/igraph_vs_seq : added

	* src/iterators.c (igraph_vs_seq, igraph_vs_seq) : bug corrected, last 
	vertex was omitted

	* src/evolver.R : all evolver_* renamed to revolver_*

	* example/simple/igraph_girth.c : added

	* src/structural_properties.c (igraph_girth) : some speedup

	* src/structural_properties.c (igraph_girth) : a bug corrected

2007-05-06  Tamas Nepusz  <ntamas@rmki.kfki.hu>

	* interfaces/python/src/graphobject.c
	(igraphmodule_Graph_isomorphic) : modified to call VF2
	isomorphism if necessary


2007-05-06  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/flow.c (igraph_vertex_connectivity, igraph_edge_connectivity) :
	check that the graph is connected and also minimum degree
	(igraph_cohesion) : added 'checks' argument
	(igraph_adhesion) : added 'checks' argument, calls edge_connectivity now

	* src/structural_properties.c (igraph_girth) : added

2007-04-30  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/evolver.c (igraph_evolver_air, igraph_evolver_mes_air)
	(igraph_evolver_st_air, igraph_evolver_error_air) : added

	* src/evolver.c (igraph_evolver_ir, igraph_evolver_mes_ir)
	(igraph_evolver_st_ir, igraph_evolver_error_ir) : added

	* src/evolver.c (igraph_evolver_il, igraph_evolver_mes_il)
	(igraph_evolver_st_il, igraph_evolver_error_il) : added


2007-04-29  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/vector_pmt.hc (igraph_vector_init_real)
	(igraph_vector_init_real_end) : va_arg type corrected to be 
	self-promoting

	* src/types.h
	* src/vector.c
	* src/igraph_pmt.h
	* src/igraph_pmt_off.h
	* src/vector.h
	* src/vector_pmt.hc : vector functions moved from vector.c to 
	vector_pmt.hc, from types.h to vector.h, poor man's templates 
	introduced based on GSL

2007-04-24  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/adjlist.c (igraph_i_lazy_adjedgelist_init)
	(igraph_i_lazy_adjedgelist_destroy, igraph_i_lazy_adjedgelist_get)
	(igraph_i_lazy_adjedgelist_get_real) : added

2007-04-23  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/structural_properties.c (igraph_is_loop) : added
	* examples/simple/igraph_is_loop.c : added

	* src/igraph.h (IGRAPH_FROM, IGRAPH_TO, IGRAPH_OTHER) : added

	* src/evolver.c (igraph_evolver_l, igraph_evolver_dl) : slight change

	* src/evolver.c (igraph_evolver_d, igraph_evolver_ad)
	(igraph_evolver_ade, igraph_evolver_e, igraph_evolver_de)
	(igraph_evolver_l, igraph_evolver_dl, igraph_evolver_el)
	(igraph_evolver_r, igraph_evolver_ar, igraph_evolver_di)
	(igraph_evolver_adi) : progress bar added

2007-04-21  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/evolver.c (igraph_evolver_mes_d, igraph_evolver_error_d) : 
	modify to comply the usual scheme

	* src/evolver.c (igraph_evolver_adi, igraph_evolver_mes_adi)
	(igraph_evolver_st_adi, igraph_evolver_error_adi) : added

2007-04-20  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/evolver.c (igraph_evolver_di, igraph_evolver_mes_di)
	(igraph_evolver_st_di, igraph_evolver_error_di) : added

	* src/evolver.c (igraph_evolver_ar, igraph_evolver_mes_ar)
	(igraph_evolver_st_ar, igraph_evolver_error_ar) : added

	* src/evolver.c (igraph_evolver_r, igraph_evolver_mes_r)
	(igraph_evolver_st_r, igraph_evolver_error_r) : added

	* src/evolver.c (igraph_evolver_el, igraph_evolver_mes_el)
	(igraph_evolver_st_el, igraph_evolver_error_el) : added

2007-04-19  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/evolver.c (igraph_evolver_dl, igraph_evolver_mes_dl)
	(igraph_evolver_st_dl, igraph_evolver_error_dl) : added

	* src/evolver.c (igraph_evolver_l, igraph_evolver_mes_l)
	(igraph_evolver_st_l, igraph_evolver_error_l) : added

	* src/evolver.c (igraph_evolver_de, igraph_evolver_mes_de)
	(igraph_evolver_st_de, igraph_evolver_error_de) : added

	* src/evolver.c (igraph_evolver_e, igraph_evolver_mes_e)
	(igraph_evolver_st_e, igraph_evolver_error_e) : added

	* src/evolver.c (igraph_evolver_mes_ade) : bug corrected

	* src/evolver.c (igraph_evolver_ade, igraph_evolver_mes_ade)
	(igraph_evolver_st_ade, igraph_evolver_error_ade) : added

	* src/types.c (IGRAPH_ARRAY3_INIT_FINALLY) : added
	* src/array.c (igraph_array3_sum, igraph_array_multiply) : added

2007-04-18  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/evolver.c (igraph_evolver_error_d, igraph_evolver_error_ad) :
	error calculation modified

	* src/evolver.c (igraph_evolver_ad, igraph_evolver_error_d) :
	error calculation added
	
	* src/evolver.c (igraph_evolver_error_d) : bug corrected when
	logprob/lognull is NULL

	* src/evolver.c (igraph_evolver_d, igraph_evolver_error_d) :
	error calculation added

2007-04-17  Tamas Nepusz  <ntamas@rmki.kfki.hu>

	* src/community.c (igraph_community_clauset) : speed improvements
	* src/spmatrix.c (igraph_i_spmatrix_clear_row_fast)
	(igraph_i_spmatrix_cleanup) : added

2007-04-15  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/adjlist.c (IGRAPH_I_SORT_SIMPLIFY, IGRAPH_I_SORT) : removed
	* src/topology.c (igraph_isomorphic_vf2) : updated, uses 
	SIMPLIFY now, so it works for multigraphs

	* src/adjlist.c (igraph_i_adjlist_sort) : readded, might be needed if 
	the adjlist vectors were changed by hand

	* src/adjlist.c (igraph_i_lazy_adjlist_init)
	(igraph_i_lazy_djlist_destroy, igraph_i_lazy_adjlist_get_real) : 
	make use of the shorted vectors returned by neighbors()
	
	* src/operators.c (igraph_intersection, igraph_intersection_many)
	(igraph_union, igraph_union_many, igraph_difference)
	(igraph_complementer) : removed unneccessary neighbor list sorting
	* src/structural_properties.c (igraph_reciprocity) :
	removed unneccessary sorting of neighbor lists
	* src/cliques (igraph_maximal_independent_vertex_sets)
	(igraph_independence_number, igraph_maximal_cliques)
	(igraph_clique_number) : sorting of the adjacency list not needed

	* src/structural_properties.c (igraph_simplify) : sorting removed

	* src/community.c (igraph_community_leading_eigenvector_naive)
	(igraph_community_leading_eigenvector)
	(igraph_community_leading_eigenvector_step) : make most arguments optional

	* src/community.c (igraph_community_leading_eigenvector_naive)
	(igraph_community_leading_eigenvector) : returns a matrix in the 
	usual form in 'merges'
	* examples/simple/igraph_community_leading_eigenvector.c : updated

	* src/error.c (igraph_i_error_strings) : added text for IGRAPH_DIVERGED

	* src/community.c (igraph_community_leading_eigenvector_step) : added
	* examples/simple/igraph_community_leading_eigenvector.c : updated

	* src/community.c (igraph_community_leading_eigenvector) :
	serious bug corrected by adding the 'idx2' vector

	* src/community.c (igraph_community_leading_eigenvector)
	(igraph_community_leading_eigenvector_naive) : error if zero found as an 
	eigenvector

	* src/community.c (igraph_community_leading_eigenvector)
	(igraph_community_leading_eigenvector_naive) : multiply 
	eigenvector by -1 if needed to have a positive first non-null
	element. This way the method always produces the same result
	* examples/simple/igraph_community_leading_eigenvector.c : updated

	* src/community.c (igraph_community_leading_eigenvector)
	(igraph_community_leading_eigenvector_naive) : use random vector
	as a starting point for the leading eigenvector iteration	

	* src/community.c (igraph_community_leading_eigenvector)
	(igraph_community_leading_eigenvector_naive) : return 'merges'
	vector in the usual form, the same as for other community
	detection methods

	* src/community.c (igraph_community_leading_eigenvector)
	(igraph_community_leading_eigenvector_naive) : minimum iterations
	for eigenvector calculation increased to 1000

	* src/community.c (igraph_community_leading_eigenvector)
	(igraph_community_leading_eigenvector_naive) : original renamed to
	'_naive' and new version added
	* examples/simple/igraph_community_leading_eigenvector.c : updated

2007-04-14  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/eigen.c 
	* examples/simple/eigen.c : removed, not needed

2007-04-10  Gabor Csardi  <csardi@rmki.kfki.hu>
 
	* src/eigen.c (igraph_eigen_tred2, igraph_eigen_tql2)
	(igraph_eigen_tred1, igraph_eigen_tqlrat, igraph_eigen_rs) : added
	* src/eispack_eigen.f (BALANC, BALBAK, CBABK2, CBAL, CDIV)
	(COMQR, COMQR2, CORTH, CSROOT, ELMHES, ELTRAN, HQR, HQR2)
	(HTRIBK, HTRIDI, TQL1, TQL2, TQLRAT, TRED1, TRED2, RG)
	(RS, CG, CH) added (ie. copyied from the R source code)
	* examples/simple/eigen.c : added

	* src/vector.c (igraph_vector_maxdifference) : added
	* src/matrix.c (igraph_matrix_is_equal, igraph_matrix_maxdifference) :
	added

	* src/error.f (IGRAPH_DIVERGED) : added new error type

2007-04-08  Tamas Nepusz  <ntamas@rmki.kfki.hu>

	* interfaces/python/src/graphobject.c : adjusted interface of
	community_clauset
	* interfaces/python/package/clustering.py : added
	* interfaces/python/package/__init__.py : modified clustering
	functions to return instances of VertexClustering

2007-04-07  Tamas Nepusz  <ntamas@rmki.kfki.hu>

	* src/spmatrix.c : added
	* tests/layout.at : corrected a bug when building outside
	source tree
	* src/community.c (igraph_community_clauset) : added
	* src/vector.c (igraph_vector_insert) : added
	* src/conversion.c (igraph_get_adjacency_sparse) : added

2007-04-07  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/community.c (igraph_modularity) : added

2007-04-06  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/community.c (igraph_community_to_membership) : added

	* src/fastcommunity_mh.cc (igraph_community_fastgreedy) :
	return the usual merge matrix format

	* src/fastcommunity_mh.cc : added

2007-04-04  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/community.c (igraph_community_edge_betweenness) : 
	'merges' and 'bridges' options added
	* src/community.c (igraph_community_eb_get_merges) : added
	* examples/simple/igraph_community_edge_betweenness: updated

2007-04-03  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/clustertool.cpp (igraph_spinglass_community)
	(igraph_community_spinglass, igraph_spinglass_my_community)
	(igraph_community_spinglass_single)
	* src/walktrap.cpp (igraph_walktrap_community)
	(igraph_community_walktrap) : community structure functions
	renamed to igraph_community_*

	* src/community.c (igraph_community_edge_betweenness) : 
	optionally returns the e.b. values for the cuts
	* examples/simple/igraph_community_edge_betweenness.c : updated

2007-04-02  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/community.c (igraph_community_edge_betweenness) : added
	* examples/simple/igraph_community_edge_betweenness.c : added

	* src/structural_properties.c (igraph_edge_betweenness) : 
	always use one adjacency list for undirected graphs

	* src/vector.c (igraph_vector_min, igraph_vector_which_min) : added

2007-04-01  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/walktrap.cpp
	* src/walktrap_communities.cpp
	* src/walktrap_graph.cpp
	* src/walktrap_heap.cpp : added
	* examples/simple/walktrap.c : added

	* src/flow.c (igraph_mincut, igraph_i_mincut_undirected) :
	'partition2' and 'cut' arguments added
	* examples/simple/igraph_mincut.c : updated

	* src/flow.c (igraph_i_mincut_value_undirected)
	(igraph_i_mincut_undirected) : former renamed to latter and 
	minimum cut calculation added, there is a simple wrapper under the 
	name of the former
	(igraph_mincut) : added, simple wrapper
	* examples/simple/igraph_mincut.c : added

2007-03-31  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/topology.c (igraph_isoclass_create) : bug corrected, sometimes 
	isolates were left out.

	* src/type_indexededgelist.c (igraph_neighbors) : always return 
	sorted vertex id lise
	* src/motifs.c (igraph_motifs_randesu) : this nasty implementation
	used the fact that for a directed graph and IGRAPH_ALL, the outgoing 
	edges came first. Not anymore, updated.

	* src/type_indexededgelist.c (igraph_add_edges) : make sure that
	for undirected graphs the smaller node id is in 'from'

	* src/adjlist.c (igraph_i_adjlist_sort)
	(igraph_i_lazy_adjlist_get_real) : updated to take advantage of 
	the sorted neighbor lists

	* src/vector.c (igraph_vector_binsearch2) : added
	* src/topology.c (igraph_isomorphism_vf2) : updated to use binsearch2

	* src/vector.c (igraph_vector_order, igraph_vector_order1) : two vectors 
	can be supplied now as the basis of the ranking, 
	old version renamed to igraph_vector_order1
	* src/measure_dynamics.c (igraph_measure_dynamics_d_d)
	(igraph_measure_dynamics_d_d_st)
	* src/structural_properties.c (igraph_transitivity_avglocal_undirected)
	(igraph_transitivity_local_undirected2)
	(igraph_transitivity_local_undirected4)
	(igraph_transitivity_undirected)
	* src/type_indexededgelist.c (igraph_add_edges, igraph_delete_edges)
	(igraph_delete_vertices) : updated
	
	* examples/simple/vector.c

	* src/topology.c (igraph_isomorphic_vf2) : modified to use 
	sorted adjacency lists

	* src/foreign.c (igraph_read_graph_graphdb) : added

	* src/adjlist.c (igraph_i_lazy_adjlist_get_real) 
	* src/igraph.h (igraph_i_lazy_adjlist_simplify_t) : SORT option added

	* src/topology.c (igraph_isomorphic_vf2) : heuristics added

	* src/vector.c (igraph_vector_contains) : added
	
	* src/vector.c (igraph_vector_search) : added const to vector argument
	
2007-03-30  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/topology.c (igraph_isomorphic_vf2) : added

2007-03-29  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/evolver.c (igraph_evolver_d, igraph_evolver_mes_d)
	(igraph_evolver_st_d, igraph_evolver_exp_d, igraph_evolver_ad)
	(igraph_evolver_mes_ad, igraph_evolver_st_ad, igraph_evolver_exp_ad) :
	added

2007-03-26  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/measure_dynamics.c (igraph_measure_dynamics_id_expected2) : added

	* src/matrix.c (igraph_matrix_sum) : added

2007-03-25  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/measure_dynamics.c (igraph_measure_dynamics_id_expected) 
	(igraph_measure_dynamics_idage_expected) : added
	
	* src/measure_dynamics.c (igraph_measure_dynamics_id)
	(igraph_measure_dynamics_idage) : cites option added

	* src/measure_dynamics.c (igraph_measure_dynamics_id) :
	debug and debugdeg options added

2007-03-16  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/measure_dynamics.c 
	(igraph_measure_dynamics_citingcat_citedcat_st) : 
	two bugs corrected

	* src/measure_dynamics.c
	(igraph_measure_dynamics_citingcat_citedcat)
	(igraph_measure_dynamics_citingcat_citedcat_st) : added

2007-03-14  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/games.c (igraph_citing_cited_type_game) : added

	* src/games.c (igraph_cited_type_game) : added

	* src/measure_dynamics.c (igraph_measure_dynamics_citedcat)
	(igraph_measure_dynamics_citedcat_st) : added

2007-03-12  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/measure_dynamics.c (igraph_measure_dynamics_id)
 	(igraph_mesure_dynamics_idage, igraph_measure_dynamics_lastcit) :
	'no' argument added

2007-03-12  Tamas Nepusz  <ntamas@rmki.kfki.hu>

	* interfaces/python/package/__init__.py : added Graph.summary,
	extended Histogram with mean and sd calculations

	* src/measure_dynamics.c (igraph_measure_dynamics_age)
	(igraph_measure_dynamics_age_st) : added

	* src/measure_dynamics.c (igraph_measure_dynamics_lastcit) :
	memory leak removed

2007-03-11  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/measure_dynamics.c (igraph_measure_dynamics_id) : 
	'start_vertex', 'confint', 'no', 'significance', 'lno' arguments
	removed
	(igraph_measure_dynamics_idwindow) : 'start.vertex', 'confint', 'no',
	'significance' arguments removed
	(igraph_i_tuppercrit_length, igraph_i_tuppercrit) : removed
	(igraph_measure_dynamics_idage) : 'confint', 'no', 'significance',
	'lno' arguments removed
	(igraph_measure_dynamics_idage_debug) : removed
	(igraph_measure_dynamics_idwindowage) : 'start_vertex', 'confint',
	'no', 'significance', 'lno' arguments removed
	(igraph_measure_dynamics_citedcat_id_age) : 'start_vertex',
	'no', 'lno' arguments removed
	(igraph_measure_dynamics_citingcat_id_age) : 'start_vertex',
	'no', 'lno' arguments removed

	* src/measure_dynamics.c (igraph_measure_dynamics_id)
	(igraph_measure_dynamics_idwindow) : 'sd' calculation bug corrected,
	always 'null' a resized matrix!

2007-03-08  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/games.c (igraph_lastcit_game) : added
	* src/measure_dynamics.c (igraph_measure_dynamics_lastcit)
	(igraph_measure_dynamics_lastcit_st) : added

	* src/games.c (igraph_lastcit_game) : 'directed' argument added
	
2007-03-06  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/measure_dynamics.c (igraph_measure_dynamics_citingcat_id_age)
	(igraph_measure_dynamics_citedcat_id_age) : standard deviation
	calculation corrected

2007-03-06  Tamas Nepusz  <ntamas@rmki.kfki.hu>

	* src/structural_properties.c (igraph_topological_sorting) :
	added
	* interfaces/python/graphobject.c
	(igraphmodule_GraphObject_topological_sorting) : added
	* examples/simple/igraph_topological_sorting : added

2007-03-05  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/measure_dynamics.c (igraph_measure_dynamics_citingcat_id_age) : 
	bug corrected

2007-02-21  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/foreign-pajek-lexer.l : modified to read file with MacOS 
	'end of line' characters correctly

2007-02-18  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/adjlist.c (igraph_i_lazy_adjlist_init)
	(igraph_i_lazy_adjlist_destroy, igraph_i_lazy_adjlist_get_real) :
	added IGRAPH_I_SORT_SIMPLIFY type of lazy adjlist, this sorts 
	and simplifies the adjacency vectors
	
	* src/structural_properties.c (igraph_transitivity_local_undirected)
	(igraph_transitivity_local_undirected1)
	(igraph_transitivity_local_undirected2)
	(igraph_transitivity_local_undirected4) : local transitivity 
	calculation reorganized
	* examples/simple/igraph_local_transitivity.c : added, but not part
	of the test cases yet

2007-02-09  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/structural_properties.c (igraph_transitivity_local_undirected) :
	rewritten to use lazy adjacency lists

	* src/adjlist.c (igraph_i_lazy_adjlist_get_real) : error handling
	rewritten to eliminate compiler warnings

2007-02-06  Tamas Nepusz  <ntamas@rmki.kfki.hu>

	* interfaces/python/src/graphobject.c : removed some operator
	implementations from the low-level interface
	* interfaces/python/package/__init__.py : added addition, subtraction,
	multiplication operators with the usual semantics

2007-02-06  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/structural_properties.c
	(igraph_transitivity_avglocal_undirected)
	(igraph_transitivity_local_undirected)
	(igraph_transitivity_undirected) : corrected overflow bug

2007-02-05  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/vector_ptr.c (igraph_vector_ptr_remove) : replaced
	memcpy with memmove

	* src/igraph.h (igraph_i_lazy_adjlist_t, igraph_i_lazy_adjlist_get) :
	added
	* src/adjlist.c (igraph_i_lazy_adjlist_init)
	(igraph_i_lazy_adjlist_destroy, igraph_i_lazy_adjlist_get_real) :
	added
	
2007-02-04  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/adjlist.c (igraph_i_adjlist_simplify) : added
	* src/structural_properties.c (igraph_transitivity_undirected) :
	rewritten to be faster for graphs with skewed degree distribution

	* src/structural_properties.c 
	(igraph_transitivity_avglocal_undirected) : rewritten to be faster
	on graphs with skewed degree distribution, it also handles
	multiple and loop edges well, it ignores them.
	
2007-02-02  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/cores.c (igraph_k_cores) : renamed to igraph_coreness

2007-01-28  Tamas Nepusz  <ntamas@rmki.kfki.hu>

	* src/igraph_trie.c (igraph_trie_check) : added
	* src/foreign-graphml.c : fixed a bug when reading a graph with
	invalid attribute keys
	* examples/simple/test.gxl : extended to include an invalid attribute
	* examples/simple/igraph_trie.c : added test case for
	igraph_trie_check

2007-01-26  Tamas Nepusz  <ntamas@rmki.kfki.hu>

	* src/foreign-graphml.c : now supports graph attributes
	* src/type_indexededgelist.c (igraph_empty_attrs) : added
	* src/igraph.h : updated
	
	* src/attributes.c (igraph_i_attribute_init) : added attr parameter
	* src/attributes.h (igraph_i_attribute_init) : updated
	
	* interfaces/python/igraphmodule.c : updated for new init attribute
	handler
	* interfaces/R/src/rinterface.c : updated for new init attribute
	handler
	
	* examples/simple/test.gxl : added a graph attribute for testing

2007-01-07  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/cliques.c (igraph_i_cliques) : free storage after an error,
	allocate each vector in the pointer vector separately

	* src/cliques.c (igraph_cliques) : max_size=0 means no limit and
	not the largest cliques
	(igraph_largest_cliques) : added
	(igraph_independent_vertex_sets) : max_size=0 means no limit and
	not the largest cliques
	(igraph_largest_independent_vertex_sets) : added

	* examples/simple/igraph_independent_sets.c : updated
	* examples/simple/igraph_cliques.c : updated

	* src/cliques.c (igraph_i_cliques_free_res) : make it a bit more
	sophisticated
	(igraph_i_find_k_cliques) : added
	(igraph_i_cliques) : separated into 3
	(igraph_cliques, igraph_largest_cliques) : updated
	(igraph_i_largest_cliques) : added
	(igraph_largest_independent_vertex_sets) : updated

2007-01-06  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/cliques.c (igraph_i_cliques) : bug corrected

2007-01-04  Tamas Nepusz  <ntamas@rmki.kfki.hu>

	* src/cliques.c (igraph_cliques, igraph_independent_vertex_sets)
	(igraph_maximal_cliques, igraph_maximal_independent_vertex_sets)
	(igraph_clique_number, igraph_independence_number) : added

	* src/igraph_set.c : added

	* src/adjlist.c (igraph_i_adjlist_sort)
	(igraph_i_adjlist_init_complementer) : added

	* tests/cliques.at : added

2006-12-30  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/cores.c (igraph_kcores) : added

2006-12-18  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/structure_generators.c (igraph_connect_neighborhood) : added
	(igraph_lattice) : 'nei' argument implemented

	* src/games.c (igraph_rewire_edges, igraph_watts_strogatz_game) : added

	* src/structure_generators.c (igraph_connect_neighorhood) : two bugs
	corrected

	* src/games.c (igraph_rewire_edges, igraph_watts_strogatz_game) : 
	argument checks added

	* src/structure_generators.c (igraph_connect_neigborhood) : bug
	corrected. Really.
	
2006-12-09  Tamas Nepusz  <ntamas@rmki.kfki.hu>

	* src/games.c (igraph_preference_game)
	(igraph_asymmetric_preference_game) : the types of the generated
	vertices can now be returned.
	* interfaces/python/src/graphobject.c (igraphmodule_Graph_Preference)
	(igraphmodule_Graph_Asymmetric_Preference) : added attribute argument
	to store vertex types in the given attribute
	* interfaces/python/src/edgeseqobject.c,
	interfaces/python/src/vertexseqobject.c : mass assignment of attributes
	are now supported
	* interfaces/R/src/rinterface.c (R_igraph_preference_game)
	(R_igraph_asymmetric_preference_game) : adopted to the new interface,
	vertex types are silently dropped now

2006-12-06  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/spectral_properties.c (igraph_laplacian) : isolated vertex bug
	plus multiple edges bug corrected

2006-12-06  Tamas Nepusz  <ntamas@rmki.kfki.hu>

	* src/spectral_properties.c (igraph_laplacian) : isolated vertex
	handling bug corrected
	* interfaces/python/src/graphobject.c (igraphmodule_Graph_laplacian) :
	added

2006-12-05  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/pottsmodel_2.cpp
	* src/NetDataTypes.cpp
	* src/NetRoutines.cpp : some not needed functions removed

2006-12-03  Tamas Nepusz  <ntamas@rmki.kfki.hu>

	* interfaces/python/src/graphobject.c (igraphmodule_Graph_delete_edges) :
	added by_index keyword argument
	* interfaces/python/package/__init__.py
	(Graph.edge_betweenness_clustering) : added

2006-12-01  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/spectral_properties.c (igraph_laplacian) : added

2006-11-30  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/games.c (igraph_callaway_traits_game) : bug corrected

2006-11-29  Tamas Nepusz  <ntamas@rmki.kfki.hu>

	* src/games.c (igraph_preference_game)
	(igraph_asymmetric_preference_game) : added
	* src/igraph.h : added new function declarations
	* interfaces/python/src/graphobject.c
	(igraphmodule_Graph_Preference)
	(igraphmodule_Graph_Asymmetric_Preference) : added
	* interfaces/python/package/test/games.py : added test cases

2006-11-28  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/structural_properties.c 
	(igraph_transitivity_avglocal_undirected) : added

2006-11-27  Tamas Nepusz  <ntamas@rmki.kfki.hu>

	* src/iterators.c (igraph_vs_vector_copy) : added
	* interfaces/python/src/convert.c
	(igraphmodule_PyObject_to_vs_t) : fixed a memory leak
	* src/flow.c (igraph_i_mincut_value_undirected) :
	fixed a memory leak
	* src/igraph.h : added igraph_st_mincut_value declaration
	* interfaces/python/src/graphobject.c : added some new functions

	* src/games.c (igraph_establishment_game) : bug corrected

2006-11-24  Gabor Csardi  <csardi@kzoo.edu>

	* src/structural_properties.c (igraph_neighborhood_size)
	(igraph_neighborhood, igraph_neighborhood_graphs) : added

2006-11-23  Tamas Nepusz  <ntamas@rmki.kfki.hu>

	* interfaces/python/src/igraphmodule.c
	(igraphmodule_i_attribute_permute_edges) : added
	* interfaces/python/src/graphobject.c : now all functions expecting
	a vertex list accept a single vertex or a None object denoting all
	vertices
	* interfaces/python/src/old_test.py : now checks for proper attribute
	handling in Graph.to_directed

2006-11-22  Tamas Nepusz  <ntamas@rmki.kfki.hu>

	* interfaces/python/src/convert.c (igraphmodule_PyObject_to_vs_t) :
	added
	* interfaces/python/src/graphobject.c
	(igraphmodule_Graph_transitivity_undirected,
	igraphmodule_Graph_transitivity_local_undirected) : added
	* interfaces/python/src/test.py : modified to use the igraph.test
	package
	* interfaces/python/src/old_test.py : renamed from test.py

2006-11-21  Gabor Csardi  <csardi@kzoo.edu>

	* src/type_indexededgelist.c (igraph_delete_vertices) : rewritten

2006-11-19  Gabor Csardi  <csardi@kzoo.edu>

	* src/structural_properties.c (igraph_transitivity) : removed
	(igraph_transitivity_undirected) : made public, modified to "return" 
	with scalar instead of a vector
	(igraph_transitivity_local_undirected) : added
	* examples/simple/igraph_transitivity.c : updated

	* ssrc/flow.c (igraph_i_mincut_value_undirected) : minor change to 
	make it compile with older gcc
	* src/foreign-graphml.c : include <stdarg.h> to make it compile with
	older gcc
	
2006-11-18  Gabor Csardi  <csardi@kzoo.edu>

	* src/igraph.h (igraph_progress) : prototype added

	* src/components.c (igraph_clusters, igraph_clusters_weak)
	(igraph_clusters_strong) : 'no' argument added

	* src/structural_properties.c (igraph_minimum_spanning_tree_unweighted)
	(igraph_minimum_spanning_tree_prim) : vertex and edge attributes are 
	preserved

2006-11-14  Gabor Csardi  <csardi@kzoo.edu>

	* src/structure_generators.c (igraph_extended_chordal_ring) : added

2006-11-14  Tamas Nepusz  <ntamas@rmki.kfki.hu>

	* src/foreign-graphml.c (igraph_graphml_destroy_state) :
	fixed memory leaks
        * src/foreign-graphml.c (igraph_read_graph_graphml) :
	corrected error handling (former implementation assumed that
	execution is stopped after the call to igraph_error, which
	is not true if the error handler is overridden)

2006-11-09  Gabor Csardi  <csardi@kzoo.edu>

	* src/clustertool.cpp (igraph_spinglass_my_community) : 
	return more data: adhesion, cohesion, inner & outer links
	* src/pottsmodel_2.cpp (PottsModel::FindCommunityFromStart) :
	return more data: adhesion, cohesion, inner & outer links

	* src/clustertool.cpp (igraph_spinglass_community) :
	allow interruption
	* src/pottsmodel_2.cpp (PottModel::FindCommunityFromStart) :
	allow interruption

	* src/clustertoop.cpp (igraph_spinglass_my_community) : 
	better error handling
 	
2006-11-07  Gabor Csardi  <csardi@kzoo.edu>

	* src/clustertool.cpp (igraph_spinglass_my_community) : removed 
	unneccesary arguments

2006-11-06  Gabor Csardi  <csardi@kzoo.edu>

	* src/NetDataTypes.cpp : added
	* src/NetRoutines.cpp : added
	* src/pottsmodel_2.cpp : added
	* src/clustertool.cpp : added
	* examples/simple/spinglass.c : added

	* src/clustertool.cpp (igraph_spinglass_community) : cleanup
	(igraph_spinglass_my_community) : added
	* src/pottsmodel_2.cpp (PottsModel::assign_initital_conf)
	(PottsModel::HeatBathLoopupZeroTemp)
	(PottsModel::HeatBathParallelLookup)
	(PottsModel::HeatBathLookup) : update random number generation
	(PottsModel::FindCommunityFromStart) : update to return result
	(PottsModel::WriteClusters) : myq argument not needed
	* examples/simple/spinglass.c : updated
	
2006-11-04  Gabor Csardi  <csardi@kzoo.edu>

	* src/flow.c (igraph_i_vertex_connectivity_directed) : corrected

	* src/flow.c (igraph_vertex_disjoint_paths) : make it work for
	adjacent vertices
	
2006-11-03  Tamas Nepusz  <ntamas@rmki.kfki.hu>

	* interfaces/python, configure.in : modified to use Python's
	distutils build mechanism instead.
	* interfaces/python/package/__init__.py : the Python package is
	now divided into two submodule: igraph._igraph is the interface
	to the C functions, while the main igraph module just imports
	igraph._igraph and adds non time-critical functionality on top
	of it
	* debian/rules : omits Python package generation

2006-10-30  Tamas Nepusz  <ntamas@rmki.kfki.hu>

	* interfaces/python/graphobject.c (igraphmodule_Graph_to_directed)
	(igraphmodule_Graph_to_undirected) : added
	* interfaces/python/test.py : added test cases
	
2006-10-18  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/games.c (igraph_erdos_renyi_game_gnp) : bug corrected,
	use igraph_real_t, long int is not enough

	* src/structural_properties.c (igraph_constraint) : rewritten,
	weight argument added
	
2006-10-10  Tamas Nepusz  <ntamas@rmki.kfki.hu>

	* src/attributes.h : corrected a typo
	* interfaces/python/igraphmodule.c
	(igraphmodule_i_attribute_add_vertices)
	(igraphmodule_i_attribute_add_edges) : added attr parameter support
	* interfaces/python/test.py : extended NCOL test case
	* src/type_indexededgelist.c (igraph_add_vertices) :
	moved invocation of attribute handler to the end
	
2006-10-10  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/flow.c (igraph_maxflow_value) : range check bug corrected
	(igraph_st_mincut_value) : check source==target
	(igraph_i_mincut_value_undirected) : remove unneeded directedness check
	(igraph_i_st_vertex_connectivity_directed) : correct neighbor check
	(igraph_i_st_vertex_connectivity_undirected) : add range check
	(igraph_st_vertex_connectivity) : check source==target
	(igraph_st_edge_connectivity) : check source==target
	(igraph_edge_disjoint_paths) : rewritten (unnecessarily)
	(igraph_vertex_disjoint_paths) : rewritten

2006-10-08  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/foreign-graphml.c (igraph_i_xml_escape) : change ENOMEM to
	IGRAPH_ENOMEM

	* src/conversion.c (igraph_to_directed) : bug eliminated,
	destroy order was different than FINALLY order

	* src/flow.c (igraph_i_maxflow_value_undirected, igraph_maxflow_value)
	(igraph_st_mincut_value, igraph_i_mincut_value_undirected)
	(igraph_mincut_value, igrpah_i_st_vertex_connectivity_undirected)
	(igraph_st_vertex_connectivity,	igraph_i_vertex_connectivity_directed)
	(igraph_i_vertex_connectivity_undirected, igraph_st_edge_connectivity)
	(igraph_edge_connectivity, igraph_edge_disjoint_paths)
	(igraph_vertex_disjoint_paths, igraph_adhesion, igraph_cohesion): added
	(igraph_maxflow, igraph_edge_connectivity_pair)
	(igraph_edge_connectivity, igraph_vertex_connectivity_pair)
	(igraph_vertex_connectivity, igraph_minimum_cut)
	(igraph_minimum_vertex_cut_pair, igraph_minimum_vertex_cut) : 
	removed or renamed

	* src/foreign-graphml.c : #ifdef checks updated to make it work in 
	the R package
	
2006-10-06  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/attributes.h (igraph_attribute_table_t) : added permute_edges
	* src/attributes.c (igraph_i_attribute_permute_edges) : added
	* interfaces/python/igraphmodule.c (igraphmodule_i_attribute_table) :
	updated
	
	* src/conversion.c (igraph_to_directed) : updated to handle attributes

2006-10-05  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/heap.c (igraph_i_cutheap_switch, igraph_i_cutheap_sink)
	(igraph_i_cutheap_shift_up, igraph_i_cutheap_init)
	(igraph_i_cutheap_destroy, igraph_i_cutheap_empty)
	(igraph_i_cutheap_active_size, igraph_i_cutheap_size)
	(igraph_i_cutheap_maxvalue, igraph_i_cutheap_popmax)
	(igraph_i_cutheap_update, igraph_i_cutheap_reset_undefine) : added
	
	* examples/simple/igraph_i_cutheap.c : added

	* src/adjlist.c (igraph_i_adjlist_destroy) : check for NULL pointer
	
	* src/flow.c (igraph_minimum_cut, igraph_minimum_vertex_cut_pair)
	(igraph_minimum_vertex_cut) : added
	

2006-09-29  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/igraph_buckets.c (igraph_buckets_init)
	(igraph_buckets_destroy, igraph_buckets_popmax)
	(igraph_buckets_add) : added
	* src/flow.c (igraph_maxflow) : speed up by using buckets instead
	of a dqueue
	* examples/simple/flow.c : do a real test with a moderate size
	network

2006-09-28  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/flow.c (igraph_maxflow) : error checks added, bugs corrected
	(igraph_edge_connectivity_pair, igraph_edge_connectivity)
	(igraph_vertex_connectivity_pair, igraph_vertex_connectivity) : added
	* examples/simple/flow.c : added

2006-09-27  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/flow.c (igraph_maxflow) : rewritten

2006-09-26  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/foreign.c (igraph_read_graph_dimacs, igraph_write_graph_dimacs)
	: added

	* src/foreign.c (igraph_write_graph_dimacs) : minor change, capacity
	is written with %g instead of %e

	* src/vector.c (igraph_vector_rank) : added

2006-09-25  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/structural_properties.c (igraph_density) : added loops argument

2006-09-24  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/flow.c (igraph_maxflow) : added

2006-09-15  Tamas Nepusz  <ntamas@rmki.kfki.hu>

	* src/type_indexededgelist.c (igraph_delete_edges) : corrected
	attribute handling bug
	* interfaces/python/graphobject.c : changed some default params
	* interfaces/python/graphobject.h : corrected docstrings

2006-09-15  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/structural_proterties.c (igraph_density) : added

2006-09-11  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/games.c (igraph_grg_game) : bug corrected

2006-09-06  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/games.c (igraph_grg_game) : new, faster implementation
	* examples/simple/igraph_grg_game.c : slight change to make test 
	succeed with probability 1

2006-09-05  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/games.c (igraph_grg_game) : added
	* examples/simple/igraph_grg_game.c : added

	* src/games.c (igraph_barabasi_game, igraph_nonlinear_barabasi_game)
	(igraph_recent_degree_game, igraph_barabasi_aging_game)
	(igraph_recent_degree_aging_game) : use actual number of nodes instead
	of 0 in igraph_create, shouldn't change anything but looks nicer

2006-09-04  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/structural_properties.c (igraph_maxdegree) : added
	* examples/simple/igraph_degree.c : updated to test igraph_maxdegree

2006-08-23  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/structural_properties.c (igraph_reciprocity) : rewritten to
	eliminate invalid read (& sometimes segfault on windows)

2006-08-17  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/foreign.c (igraph_read_graph_pajek) : serious memory
	leaks eliminated

	* src/foreign-graphml.c (igraph_i_graphml_sax_handler_error)
	(igraph_i_graphml_destroy_state) : some memory leaks eliminated

	* src/interfaces/python/graphobject.c (igraphmodule_Graph_delete_edges)
	: memory leak eliminated

	* src/igraph_psumtree.c (igraph_i_log2) : added
	(igraph_psumtree_init) : igraph_i_log2 instead of log2 

2006-08-16  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/foreign-graphml.c (igraph_write_graph_graphml) : 
	added attribute handling

2006-08-14  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/topology.c (igraph_isoclass_create) : error message if 'number' 
	is out of range

	* examples/simple/graphml.c : updated

	* src/foreign-graphml.c (igraph_i_graphml_parser_state)
	(igraph_i_graphml_destroy_state)
	(igraph_i_graphml_sax_handler_start_element)
	(igraph_i_graphml_sax_handler_end_document)
	(igraph_i_graphml_sax_handler_start_document) : added edgeids
	(igraph_i_graphml_sax_handler_start_document) : trie should note keys

2006-08-11  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/foreign.c (igraph_read_graph_lgl) : read isolates correctly

2006-08-11  Tamas Nepusz  <ntamas@rmki.kfki.hu>

	* interfaces/python/graphobject.[ch] : fixed Python interface
	* configure.in, interfaces/python/Makefile.am : better installation
	in Mac OS X (now works with Fink's Python installation as well)
	
2006-08-09  Tamas Nepusz  <ntamas@rmki.kfki.hu>
 
 	* configure.in : modified to generate a proper makefile for
 	Intel-based Macs.
 	* interfaces/python/*.c : removed some unused variables

2006-08-08  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/foreign-graphml.c (igraph_read_graph_graphml) : remove
	'directed' attribute, (somewhat) better error handling, memory leaks
	corrected

	* src/iterators.c (igraph_vs_nonadj) : added
	(igraph_vs_destroy, igraph_vit_create) : added NONADJ type
	* examples/simple/igraph_vs_nonadj.c : added
	
2006-08-08  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/foreign.c (igraph_read_graph_graphml, igraph_write_graph_graphml)
	: moved to src/foreign-graphml.c

	* src/foreign-graphml.c (igraph_read_graph_graphml) : added
	attribute handling, quite messy and contains known memory leaks

2006-08-02  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/conversion.c (igraph_to_directed) : 
	IGRAPH_TO_UNDIRECTED_COLLAPSE bug corrected
	* examples/simple/igraph_to_undirected.c : added

2006-07-28  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/foreign.c (igraph_write_graph_pajek) : bug corrected

2006-07-25  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/conversion.c (igraph_to_directed, igraph_to_undirected) : added

2006-07-24  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/iterators.c (igraph_ess_1) : type bug corrected

	* src/foreign.c (igraph_write_graph_pajek) : added
	* examples/simple/igraph_write_graph_pajek.c : added

2006-07-23  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/type_indexededgelist.c (igraph_get_eids) : added

	* src/iterators.c (igraph_es_multipairs, igraph_i_eit_multipairs) :
	added
	(igraph_es_destroy, igraph_eit_create) : added MULTIPAIRS
	
	* src/structural_properties.c (igraph_simplify) : several bugs 
	eliminated, updated to use MULTIPAIRS
	* examples/simple/igraph_simplify.c : added

2006-07-22  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/operators.c (igraph_union_many) : free bug corrected

	* src/operators.c (igraph_disjoint_union, igraph_disjoint_union_many)
	(igraph_union, igraph_union_many, igraph_intersection)
	(igraph_intersection_many, igraph_difference, igraph_complementer)
	(igraph_compose) : const qualifiers added

2006-07-18  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/topology.c (igraph_isoclass, igraph_isoclass_subgraph) 
	(igraph_isoclass_create) : check for 3-4 size graph
	(igraph_isomorphic) : check for number of nodes/edges, needed to work
	properly

	* src/motifs.c (igraph_motifs_randesu_estimate) : slight changes 
	in parameters, parsample can be null pointer

	* src/foreign.c (igraph_read_graph_pajek) : drop 'attr' argument
	* src/foreign-pajek-parser.y (igraph_i_pajek_attr) : removed
	* examples/simple/foreign.c : updated

2006-07-17  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/type_indexededgelist.c (igraph_delete_edges) : rewritten to
	use edge set as parameter
	* src/structural_properties.c (igraph_rewire, igraph_simplify) :
	updated
	* examples/simple/igraph_delete_edges.c : updated

	* src/iterators.c (igraph_i_eit_pairs, igraph_eit_create) : checks 
	added

	* src/iterators.c (igraph_vs_as_vector, igraph_vit_as_vector)
	(igraph_es_as_vector, igraph_eit_as_vector) : added

	* src/iterators.c (igraph_i_eit_path) : length bug corrected
	
2006-07-16  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/type_indexededgelist.c (igraph_get_eid) : added
	* examples/simple/igraph_get_eid.c : added

	* src/iterators.c (igraph_es_pairs, igraph_es_pairs_small)
	(igraph_es_path, igraph_es_path_small, igraph_i_eit_pairs)
	(igraph_i_eit_path) : added
	(igraph_es_destroy, igraph_eit_create) : added PAIRS and PATH
	* examples/simple/igraph_es_pairs.c : added
	* examples/simple/igraph_es_path.c : added

	* src/igraph.h (igraph_es_t) : 'path' data type added
	* src/type_indexededgelist.c (igraph_get_eid) : 'directed' option added
	* src/iterators.c (igraph_es_pairs, igraph_es_pairs_small)
	(igraph_es_path, igraph_es_path_small) : 'directed' option added
	(igraph_eit_destroy, igraph_i_eit_pairs, igraph_i_eit_path) : updated
	* examples/simple/igraph_get_eid.c : updated
	* examples/simple/igraph_es_pairs.c : updated
	* examples/simple/igraph_es_path.c : updated

2006-07-15  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/foreign.c (igraph_read_graph_pajek) : reset line number
	* src/foreign-pajek-lexer.l (igraph_i_pajek_reset_scanner) : added
	* src/foreign-pajek-parser.y (igraph_pajek_yyerror) : updated 
	to produce better error message and reset flex scanner

	* src/foreign.c (igraph_read_graph_lgl, igraph_read_graph_ncol) :
	reset line number
	* src/foreign-lgl-lexer.l (igraph_i_lgl_reset_scanner) : added
	* src/foreign-lgl-parser.y (igraph_lgl_yyerror) : updated to
	produce better error message and reset flex scanner
	* src/foreign-ncol-lexer.l (igraph_i_ncol_reset_scanner) : added
	* src/foreign-ncol-parser.y (igraph_ncol_yyerror) : updated to
	produce better error message and reset flex scanner

	* src/foreign.c (igraph_read_graph_ncol, igraph_read_graph_lgl)
	(igraph_read_graph_pajek) : handle end of file better
	* src/foreign-lgl-lexer.l : added <<EOF>> rule
	* src/foreign-pajek-lexer.l : added <<EOF>> rule
	* src/foreign-ncol-lexer.l : added <<EOF>> rule

2006-07-11  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/foreign-pajek-parser.y : a bit rewritten to handle attributes
	* src/foreign.c (igraph_read_graph_pajek) : updated to handle 
	attributes
	* examples/simple/foreign.c : updated, attributes parameter added

	* src/attributes.h (igraph_i_attribute_record_t) : value changed to
	const pointer
	* src/foreign.c (igraph_read_graph_ncol, igraph_read_graph_lgl) :
	updated

2006-07-10  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/types.h (igraph_hashtable_t) : added
	* src/igraph_hashtable.c (igraph_hashtable_init)
	(igraph_hashtable_destroy, igraph_hashtable_addset)
	(igraph_hashtable_get, igraph_hashtable_reset) : added
	* examples/simple/igraph_hashtable.c : added

	* src/igraph_hashtable.c (igraph_hashtable_getkeys) : added

	* src/igraph_hashtable.c (igraph_hashtable_addset2) : added
	* examples/simple/igraph_hashtable.c : updated

2006-07-06  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/games.c (igraph_barabasi_aging_game) : zero_age_appeal, 
	deg_coef, age_coef added

2006-06-28  Gabor Csardi  <csardi@kzoo.edu>

	* src/structural_properties.c (igraph_constraint) : added

2006-06-21  Tamas Nepusz  <ntamas@rmki.kfki.hu>

	* src/structural_properties.c (igraph_reciprocity) :
	bug corrected

2006-06-21  Tamas Nepusz  <ntamas@rmki.kfki.hu>

	* interfaces/python/*.c : modified docstrings to be conform to
	the epydoc formatting conventions. Now the whole Python API
	documentation can be generated with epydoc.

2006-06-17  Gabor Csardi  <csardi@kzoo.edu>

	* src/games.c (igraph_nonlinear_barabasi_game)
	(igraph_barabasi_aging_game, igraph_recent_degree_aging_game)
	(igraph_recent_degree_aging_game) : added zero_appeal argument

2006-06-16  Tamas Nepusz  <ntamas@rmki.kfki.hu>

	* src/structural_properties.c (igraph_reciprocity) : added
	* examples/simple/igraph_reciprocity.c : added
	* interfaces/python/graphobject.c
	(igraphmodule_Graphobject_reciprocity) : added

2006-06-14  Tamas Nepusz  <ntamas@rmki.kfki.hu>

	* src/random.c, src/random.h : avoids calling srand(time(0))
	multiple times

2006-06-12  Gabor Csardi  <csardi@kzoo.edu>

	* src/measure_dynamics.c (igraph_measure_dynamics_citedcat_id_age) :
	significance calculation added

	* src/measure_dynamics.c (igraph_measure_dynamics_citingcat_id_age)
	(igraph_mesaure_dynamics_citingcat_id_age_st) : added
	
2006-06-11  Gabor Csardi  <csardi@kzoo.edu>

	* src/types.h (igraph_array3_t, ARRAY3) : added
	* src/array.c (igraph_array3_init, igraph_array3_destroy)
	(igraph_array3_size, igraph_array3_n, igraph_array3_resize)
	(igraph_array3_null) : added
	* examples/simple/igraph_array.c :added

	* src/measure_dynamics.c (igraph_measure_dynamics_idage) : 
	slight change, first update A(k,l) and then add the edges 

	* src/measure_dynamics.c (igraph_measure_dynamics_citedcat_id_age)
	(igraph_measure_dynamics_citedcat_id_age_st) : added

2006-06-05  Tamas Nepusz  <ntamas@rmki.kfki.hu>

	* interfaces/python/graphobject.c (igraphmodule_Graph_Adjacency,
	igraphmodule_Graph_Establishment, igraphmodule_Graph_Isoclass,
	igraphmodule_Graph_isoclass, igraphmodule_Graph_isomorphic,
	igraphmodule_Graph_bfs) : added
	* interfaces/python/graphobject.c (igraphmodule_Graph_Barabasi) :
	added support for non-linear model
	* interfaces/python/bfsiter.c : added (BFS iterator)

2006-06-03  Gabor Csardi  <csardi@kzoo.edu>

	* src/igraph_psumtree.c (igraph_psumtree_get) : added
	* examples/simple/igraph_psumtree.c : igraph_psumtree_get test added

	* src/games.c (igraph_barabasi_aging_game) : added

	* src/measure_dynamics.c (igraph_measure_dynamics_idwindowage) 
	(igraph_measure_dynamics_idwindowage_st) : added

	* src/games.c (igraph_recent_degree_aging_game) : added

	* src/layout.c (igraph_layout_merge_dla) : change to make it 
	gcc 2.95 compatible 
	
2006-05-31  Tamas Nepusz  <ntamas@rmki.kfki.hu>

	* interfaces/python/graphobject.c (igraphmodule_Graph_transitivity,
	igraphmodule_Graph_Lattice) : added
	* interfaces/python/igraphmodule.c : added some attribute handling
	functions
	* interfaces/python/convert.c (igraphmodule_PyList_to_strvector_t) :
	added
	* interfaces/python/test.py : added test cases
	* src/structural_properties.c (igraph_transitivity) :
	fixed a memory leak
	
2006-05-29  Gabor Csardi  <csardi@kzoo.edu>

	* src/interrupt.h (IGRAPH_ALLOW_INTERRUPTION) : eliminate function
	call if not neccessary
	* src/interrupt.c (igraph_i_interruption_handler) : declaration 
	moved to .h

	* src/measure_dynamics.c (igraph_measure_dynamics_id)
	(igraph_measure_dynamics_idwindow, igraph_measure_dynamics_idwindow_st)
	(igraph_measure_dynamics_idage, igraph_measure_dynamics_idage_st)
	(igraph_measure_dynamics_idage_debug, igraph_measure_dynamics_d_d)
	(igraph_measure_dynamics_d_d)
	* src/motifs.c (igraph_motifs_randesu, igraph_motifs_randesu_estimate)
	(igraph_motifs_randesu_no)
	* src/adjlist.c (igraph_i_adjlist_init, igraph_i_adjedgelist_init)
	* src/operators.c (igraph_intersection, igraph_intersection_many)
	(igraph_union, igraph_union_many, igraph_difference)
	(igraph_complemented, igraph_compose)
	* src/foreign.c (igraph_read_graph_edgelist)
	* src/layout.c (igraph_layout_sphere) 
	(igraph_layout_fruchterman_reingold)
	(igraph_layout_fruchterman_reingold_3d)
	(igraph_layout_kamada_kawai, igraph_layout_kamada_kawai_3d)
	(igraph_layout_lgl, igraph_layout_grid_fruchterman_reingold)
	(igraph_layout_merge_dla)
	* src/components.c (igraph_clusters_weak, igraph_clusters_strong)
	(igraph_is_connected_weak, igraph_decompose)
	* src/other.c (igraph_running_mean)
	* src/structural_properties.c (igraph_average_path_length)
	(igraph_minimum_spanning_tree_unweighted) 
	(igraph_minimum_spanning_tree_prim, igraph_closeness)
	(igraph_shortest_paths, igraph_get_shortest_paths)
	(igraph_get_all_shortest_paths, igraph_subcomponent)
	(igraph_betweenness, igraph_edge_betweenness, igraph_pagerank)
	(igraph_rewire, igraph_subgraph, igraph_simplify)
	(igraph_transitivity_undirected)
	* src/structure_generators.c (igraph_lattice)
	* src/cocitation.c (igraph_cocitation_real) : interruption checks added

	* src/adjlist.c (igraph_i_adjlist_init, igraph_i_adjedgelist_init) :
	double free bug if error corrected	
	
2006-05-28  Gabor Csardi  <csardi@kzoo.edu>

	* src/foreign.c (igraph_write_graph_lgl) : attribute handling added

	* src/foreign.c (igraph_write_graph_ncol) : memory leaks removed

	* src/iterators.c (igraph_vs_is_all, igraph_es_is_all) : added

2006-05-25  Gabor Csardi  <csardi@kzoo.edu>

	* src/foreign.c (igraph_write_graph_ncol) : attribute handling added
	* src/attributes.c (igraph_i_attribute_has_attr) : bug corrected
	(igraph_i_attribute_gettype) : added
	* examples/simple/igraph_read_graph_lgl.c : added

	* src/measure_dynamics.c (igraph_measure_dynamics_idwindow) : small (?)
	bug eliminated (thanks Elliot)
	
2006-05-20  Gabor Csardi  <csardi@kzoo.edu>

	* src/measure.dynamics.c (igraph_measure_dynamics_id) : cleaner
	implementation
	(igraph_measure_dynamics_idwindow, igraph_measure_dynamics_idwindow_st)
	: added
	
2006-05-17  Gabor Csardi  <csardi@kzoo.edu>

	* src/games.c (igraph_recent_degree_game) : added

2006-05-16  Gabor Csardi  <csardi@kzoo.edu>

	* src/igraph_psumtree.c (igraph_psumtree_init, igraph_psumtree_destroy)
	(igraph_psumtree_update, igraph_psumtree_size, igraph_psumtree_sum) :
	added
	* examples/simple/igraph_psumtree.c : added

	* src/games.c (igraph_nonlinear_barabasi_game) : added
	
2006-05-15  Tamas Nepusz  <ntamas@rmki.kfki.hu>

	* src/structural_properties.c (igraph_subgraph) : small bugfix.
	  Fixes a NULL pointer reference in the Python interface.
	* interfaces/python/edgeobject.[ch],
	  interfaces/python/edgeseqobject.c,
	  interfaces/python/graphobject.[ch],
	  interfaces/python/igraphmodule.c,
	  interfaces/python/test.py,
	  interfaces/python/vertexobject.c,
	  interfaces/python/vertexseqobject.c : new attribute interface,
	  partial implementation

2006-05-14  Gabor Csardi  <csardi@kzoo.edu>

	* src/foreign.c (igraph_write_graph_lgl, igraph_write_graph_edgelist) :
	moved declaration to beginning of the block, works with older gcc

	* src/foreign-pajek-parser.y : added some semicolons to be compatible
	with older bison versions
	
2006-05-12  Gabor Csardi  <csardi@kzoo.edu>

	* src/vector.c (igraph_vector_get_interval) : added

	* src/matrix.c (igraph_matrix_get_col) : added
	
	* src/measure_dynamics.c (igraph_measure_dynamics_d_d) :
	completely rewritten, works fine now

2006-05-06  Gabor Csardi  <csardi@kzoo.edu>

	* src/measure_dynamics.c (igraph_measure_dynamics_d_d)
	(igraph_measure_dynamics_d_d_st) : added

2006-05-06  Tamas Nepusz  <ntamas@rmki.kfki.hu>

	* src/iterators.c (igraph_i_eit_create_allfromto) :
	iterator must be of VECTOR type instead of VECTORPTR

2006-05-05  Gabor Csardi  <csardi@kzoo.edu>

	* src/igraph_trie.c (igraph_trie_getkeys) : added

	* src/attributes.h (igraph_attribute_type_t)
	(igraph_i_attribute_record_t, igraph_attribute_elemtype_t) : added
	* src/attributes.c (igraph_i_attribute_add_vertices)
	(igraph_i_attribute_add_edges) : added attr argument
	(igraph_i_attribute_get_info, igraph_i_attribute_has_attr)
	(igraph_i_attribute_get_numeric_graph_attr)
	(igraph_i_attribute_get_string_graph_attr)
	(igraph_i_attribute_get_numeric_vertex_attr)
	(igraph_i_attribute_get_string_vertex_attr)
	(igraph_i_attribute_get_numeric_edge_attr)
	(igraph_i_attribute_get_string_edge_attr) : added	
	* src/type_indexededgelist.c (igraph_add_vertices)
	(igraph_add_edges) : added attr argument
	(igrap_empty) : udated igraph_add_vertices call
	* src/foreign.c (igraph_read_graph_ncol) : attributes readded
	* src/structural_properties.c (igraph_rewire) : updated 
	igraph_add_edges call
	* src/structure_generators.c (igraph_create) : updated 
	igraph_add_vertices and igraph_add_edges calls
	* examples/simple/igraph_add_edges.c : updated
	* examples/simple/igraph_add_vertices.c : updated
	* examples/simple/igraph_delete_vertices.c : updated

	* src/iterators.c (igraph_eit_destroy) : do not destroy vector for
	VECTORPTR iterator type

2006-05-04  Tamas Nepusz  <ntamas@rmki.kfki.hu>

	* src/iterators.c (igraph_eit_destroy) : fixed memory leak
	* src/basic_query.c (igraph_are_connected) : fixed memory leak
	* interfaces/python/* : added working (?) attribute handling

2006-05-03  Gabor Csardi  <csardi@kzoo.edu>

	* src/measure_dynamics.c (igraph_measure_dynamics_id) : two bugs
	corrected

2006-05-02  Gabor Csardi  <csardi@kzoo.edu>

	* src/cocitation.c (igraph_cocitation_real) : bug corrected
	* examples/simple/igraph_cocitation.c : added

2006-05-02  Tamas Nepusz  <ntamas@rmki.kfki.hu>

	* src/iterators.c (igraph_vit_create) : bug corrected
	
2006-05-02  Tamas Nepusz  <ntamas@rmki.kfki.hu>

	* src/igraph.h, src/basic_query.c (igraph_are_connected) :
	modified to return int instead of igraph_bool_t (the actual result
	is now a formal parameter)
	* interfaces/python/graphobject.c, interfaces/R/src/rinterface.c :
	adapted to new interface of igraph_are_connected
	
2006-04-30  Gabor Csardi  <csardi@kzoo.edu>

	* src/igraph.h (igraph_vs_t, igraph_es_t) : added slots from 
	sequence vertex selector type
	* src/iterators.c (igraph_vs_seq, igraph_vss_seq)
	(igraph_es_seq, igraph_ess_seq) : added
	(igraph_vs_destroy, igraph_vit_create, igraph_es_destroy) 
	(igraph_eit_create) : updated

	* src/iterators.c (igraph_es_seq) : argument bug corrected

2006-04-29  Gabor Csardi  <csardi@kzoo.edu>

	* src/structural_properties.c (igraph_minimum_spanning_tree_prim) :
	readded
	* examples/simple/igraph_minimum_spanning_tree_prim.c : added

2006-04-28  Gabor Csardi  <csardi@kzoo.edu>

	* src/type_indexededgelist.c (igraph_delete_vertices) : attribute
	handling bug corrected

	* src/adjlist.c (igraph_i_adjedgelist_init)
	(igraph_i_adjedgelist_destroy) : added

	* src/structural_properties.c (igraph_edge_betweenness) : added
	* examples/simple/igraph_edge_betweenness.c : added, empty

	* src/iterators.c (igraph_ess_adj) : added

	* src/structure_generators.c (igraph_small) : added
	* examples/simple/igraph_small.c : added

	* src/structural_properties.c (igraph_transitivity_undirected) :
	readded
	* examples/simple/igraph_transitivity.c : added

	* src/igraph.h (igraph_i_adjedgelist_get) : pointer argument
	* src/structural_properties.c (igraph_edge_betweenness) : updated
	
2006-04-27  Gabor Csardi  <csardi@kzoo.edu>

	* src/iterators.c : completely rewritten

	* src/type_indexededgelist.c (igraph_delete_vertices)
	(igraph_degree) : updated
	* src/motifs.c (igraph_motifs_randesu) : updated
	* src/foreign.c (igraph_write_graph_edgelist, igraph_write_graph_ncol)
	(igraph_write_graph_lgl, igraph_write_graph_graphml) : updated
	* src/layout.c (igraph_layout_fruchterman_reingold)
	(igraph_layout_fruchterman_reingold_3d) : updated
	* src/basic_query.c (igraph_are_connected) : updated
	* src/components.c (igraph_decompose) : updated
	* src/conversion.c (igraph_get_adjacency, igraph_get_edgelist) :
	updated
	* src/structural_properties.c (igraph_diameter, igraph_closeness)
	(igraph_shortest_paths, igraph_get_shortest_paths)
	(igraph_get_all_shortest_paths, igraph_betweenness)
	(igraph_pagerank, igraph_subgraph) : updated
	* src/structural_properties.c (igraph_minimum_spanning_tree_prim) 
	(igraph_edge_betweenness, igraph_transitivity_undirected) : 
	temporarily removed
	* src/cocitation.c (igraph_cocitation_real, igraph_cocitation)
	(igraph_bibcoupling) : updated

	* examples/simple/igraph_rewire.c : updated
	* examples/simple/igraph_pagerank.c : updated
	* examples/simple/igraph_barabasi_game.c : updated
	* examples/simple/igraph_vs_vector.c : updated
	* examples/simple/igraph_get_shortest_paths.c : updated
	* examples/simple/igraph_degree.c : updated
	* examples/simple/igraph_delete_vertices.c : updated

	* src/type_indexededgelist.c (igraph_edge) : canonical order for 
	undirected graphs
	
2006-04-23  Gabor Csardi  <csardi@kzoo.edu>

	* src/type_indexededgelist.c (igraph_delete_vertices)
	(igraph_delete_edges) : attribute handling interface corrected

2006-04-21  Gabor Csardi  <csardi@kzoo.edu>

	* src/attributes.c (igraph_i_attribute_delete_vertices) : use two
	index vectors, one for vertex, one for edge indexes
	* src/type_indexededgelist.c (igraph_empty, igraph_add_vertices)
	(igraph_delete_edges, igraph_delete_vertices)

	* src/type_indexededgelist.c (igraph_delete_vertices)
	(igraph_delete_edges) : igraph_i_attribute_delete_edges and 
	igraph_i_attribute_delete_vertices semantics changed
	
2006-04-20  Gabor Csardi  <csardi@kzoo.edu>

	* src/attributes.c (igraph_i_attribute_init)
	(igraph_i_attribute_destroy, igraph_i_attribute_copy)
	(igraph_i_attribute_add_vertices, igraph_i_attribute_delete_vertices)
	(igraph_i_attribute_add_edges, igraph_i_attribute_delete_edges)
	(igraph_i_attribute_table, igraph_i_set_attribute_table) : added,
	all the original functions deleted
	* src/type_indexededgelist.c (igraph_empty, igraph_destroy)
	(igraph_copy, igraph_add_edges, igraph_add_vertices)
	(igraph_delete_edges, igraph_delete_vertices) : updated for new
	attribute handling
	* src/foreign.c (igraph_read_graph_ncol, igraph_read_graph_lgl)
	(igraph_write_graph_ncol, igraph_write_graph_lgl) : attribute 
	support temporarily removed
	* examples/simple/igraph_write_graph_lgl.c : removed
	attribute-dependent error handling test
	* examples/simple/igraph_decompose.c : removed attribute-dependent
	test case
	
2006-04-12  Tamas Nepusz  <ntamas@rmki.kfki.hu>

	* almost everywhere : added igraph_ prefix to integer_t,
	real_t and bool_t
	
2006-04-11  Tamas Nepusz  <ntamas@rmki.kfki.hu>

	* src/layout.c (igraph_layout_reingold_tilford) : added
	* src/igraph.h (igraph_layout_reingold_tilford) : added
	* tests/layout.at : added test case for Reingold-Tilford layout
	* interfaces/python/test.py : added test case for
	Reingold-Tilford layout
	
	* configure.in : even better OS X compatibility :)	
	* interfaces/python/*.[ch] : declared type objects as extern
	where needed (so ld won't complain under OS X)
	* interfaces/python/test.sh, tests/testsuite.at :
	added DYLD_LIBRARY_PATH

	* src/foreign-lgl-lexer.l, src/foreign-ncol-lexer.l :
	made line counter static

2006-04-10  Gabor Csardi  <csardi@kzoo.edu>

	* src/igraph_strvector.c (igraph_strvector_move_interval) :
	corrected serious bug, deep copy needed.

	* src/igraph_strvector.c (igraph_strvector_resize) : corrected bug
	when resizing to empty vector
	* examples/simple/igraph_strvector.c : updated to check resizing 
	to empty vector

2006-03-31  Gabor Csardi  <csardi@kzoo.edu>

	* src/measure_dynamics.c (igraph_measure_dynamics_id) : bugs corrected
	* src/topology.c (igraph_isoclass_subgraph) : gcc 2.95 compatibility
	bug corrected

2006-03-29  Tamas Nepusz  <ntamas@rmki.kfki.hu>

	* configure.in : compatibility improvements (OS X)

	* interfaces/python/*object.[ch], interfaces/python/error.h :
        some variables changed to static (compilation issues in OS X)

        * interfaces/python/graphobject.c : included common.h to make it
	compile with Python 2.3

	* tests/Makefile.am : added other.at

2006-03-28  Tamas Nepusz  <ntamas@rmki.kfki.hu>

	* src/foreign.c : removed strndup for compatibility with Mac OS X
	
	* src/foreign-lgl-lexer.l, src/foreign-ncol-lexer.l : made
	mylineno static to avoid linking problems on Mac OS X

2006-03-27  Tamas Nepusz  <ntamas@rmki.kfki.hu>

	* interfaces/python/graphobject.c (igraphmodule_Graph_complementer,
	igraphmodule_Graph_disjoint_union, igraphmodule_Graph_union,
	igraphmodule_Graph_intersection, igraphmodule_Graph_difference,
	igraphmodule_Graph_compose, igraphmodule_Graph_copy) : added
	
	* bootstrap.sh : can use glibtoolize instead of libtoolize
	(necessary on Mac OS X)

2006-03-22  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/measure_dynamics.c (igraph_measure_dynamics_id)
	(igraph_measure_dynamics_id_st) : added

	* src/measure_dynamics.c (igraph_measure_dynamics_idage) : start_vertex
	argument added

	* src/measure_dynamics.c (igraph_measure_dynamics_idage) : double free
	bug corrected

2006-03-21  Tamas Nepusz  <ntamas@rmki.kfki.hu>

	* debian/rules : added interrupt.h to Debian package
	* src/other.c (igraph_convex_hull) : updated documentation
	* configure.in, interfaces/python/Makefile.am : made them
	compatible with Fedora Core 3 (and possibly other platforms :))

2006-03-18  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/motifs.c (igraph_motifs_randesu_no) : added

2006-03-13  Tamas Nepusz  <ntamas@rmki.kfki.hu>

	* src/interrupt.h, src/interrupt.c : functions for interruption
	handling added
	* src/structural_properties.c (igraph_diameter) : progress
	handler and interruption handling added
	* src/igraph.h : now includes interrupt.h
	* src/Makefile.am : updated to include the new files
	* src/error.c : added new error code IGRAPH_INTERRUPTED
	
2006-03-13  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/structure_generators.c (igraph_lattice) : nonmutual and directed
	bug corrected

2006-03-12  Gabor Csardi  <csardi@rmki.kfki.hu>

	* interfaces/python/graphobject.c (igraphmodule_Graph_diameter) :
	updated
	(igraphmodule_Graph_get_shortest_paths) : updated
	(igraphmodule_Graph_get_all_shortest_paths) : updated
	
	* src/structural_properties.c (igraph_get_all_shortest_paths) :
	to argument added

	* src/structural_properties.c (igraph_diameter) : from, to, path
	arguments added
	* examples/simple/igraph_diameter.c : updated

	* src/structural_properties.c (igraph_get_shortest_paths) : 
	to argument added
	* examples/simple/igraph_get_shortest_paths.c : added

2006-03-06  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/measure_dynamics.c (igraph_measure_dynamics_idage)
	(igraph_measure_dynamics_idage_debug, igraph_i_tuppercrit): error 
	estimation added

2006-03-04  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/error.h (igraph_warning_handler_t, IGRAPH_WARNING) : added
	* src/error.c (igraph_i_warning_handler, igraph_warning_handler_print)
	(igraph_warning, igraph_set_warning_handler) : added
	* src/foreign.c (igraph_read_graph_ncol) : added two warnings

2006-03-03  Gabor Csardi  <csardi@rmki.kfki.hu>

	* interfaces/python/graphobject.c (igraphmodule_Graph_Read_Ncol) :
	dummy update for predef argument
	
	* src/foreign.c (igraph_read_graph_ncol) : added predef argument

2006-03-01  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/layout.c (igraph_layout_fruchterman_reingold)
	(igraph_layout_fruchterman_reingold_3d, igraph_layout_kamada_kawai)
	(igraph_layout_kamada_kawai_3d, igraph_layout_merge_dla)
	(igraph_layout_grid_fruchterman_reingold) : progress handling
	updated or added

	* src/matrix.c (igraph_matrix_select_rows) : added
	* src/vector.c (igraph_vector_append) : added
	* src/other.c (igraph_convex_hull) : changed parameters
	* examples/simple/igraph_convex_hull.c : updated
	* interfaces/python/igraphmodule.c (igraphmodule_convex_hull): updated
	for new igraph_convex_hull syntax, returns a matrix if coords is true
	* interfaces/python/test.py : updated

	* src/structural_properties.c (igraph_get_all_shortest_paths) :
	bug hunted

2006-02-28  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/layout.c (igraph_layout_merge_dla) : add graph list parameter

	* src/layout.c (igraph_layout_merge_dla) : updated

	* src/operators.c (igraph_compose) : added
	* examples/simple/igraph_compose.c : added

2006-02-27  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/operators.c (igraph_complementer) : added
	* examples/simple/igraph_complementer.c : added

2006-02-27  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/operators.c (igraph_difference) : added
	* examples/simple/igraph_difference.c : added

2006-02-27  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/operators.c (igraph_disjoint_union) : bug corrected
	* interfaces/python/graphobject.c (igraphmodule_Graph_union) :
	updated to refer to disjoint union

2006-02-26  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/operators.c (igraph_union, igraph_union_many) : added
	(igraph_intersect) : make error check first
	(igraph_intersect) : removed memory leak
	(igraph_intersect_many) : # vertices is inherited from biggest graph
	* examples/simple/igraph_union.c : added
	* examples/simple/igraph_intersection.c : updated

2006-02-26  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/operators.c (igraph_union, igraph_disjoint_union) :
	igraph_union renamed to igraph_disjoint_union
	(igraph_union_many, igraph_disjoint_union_many) : 
	igraph_union_many renamed to igraph_disjoint_union_many
	(igraph_intersection, igraph_intersection_many) : added
	* examples/simple/igraph_disjoint_union.c : added
	* examples/simple/igraph_intersection.c : added

	* src/vector.c (igraph_vector_filter_smaller) : added
	* examples/simple/vector.c : updated
	
	* examples/simple/igraph_motifs_randesu.c : bug corrected

2006-02-25  Tamas Nepusz  <ntamas@rmki.kfki.hu>

        * interfaces/python/graphobject.c : added igraphmodule_Graph_union
	* src/operators.c : corrected igraph_union bug
	* interfaces/python/igraphobject.c : added igraphmodule_convex_hull
	* interfaces/python/test.py : added new test cases

2006-02-24  Tamas Nepusz  <ntamas@rmki.kfki.hu>

	* interfaces/python/common.h : compatibility changes to make it
	compile with Python 2.3
	* interfaces/python/graphobject.h : slight documentation corrections
	* interfaces/python/graphobject.c : added igraphmodule_Graph_write_graphml
	* interfaces/python/igraphmodule.c : added function for replacing
	progress handler
	* src/progress.c : now the default progress handler is empty
	* src/layout.c : reports progress of KK and FR layout
	* src/other.c : added function to calculate convex hull
	* tests/testsuite.at, tests/other.at : added test case for
	convex hulls
	* examples/simple/igraph_convex_hull.c,
	examples/simple/igraph_convex_hull.out : added
	
2006-02-23  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/operators.c (igraph_union, igraph_union_many) : added

2006-02-23  Tamas Nepusz  <ntamas@rmki.kfki.hu>

	* interfaces/python/graphobject.h,
	interfaces/python/graphobject.c : added interface for igraph_rewire
	and igraph_write_graphml
	* examples/simple/igraph_rewire.c,
	examples/simple/igraph_rewire.out : added test case for igraph_rewire
	* src/foreign.c : added igraph_write_graphml, extended
	igraph_read_graphml to parse attribute data (but don't store it)
	* Makefile.am : separated documentation targets
	* src/error.c : added some debug statements
	* src/structural_properties.c : added igraph_rewire
	* examples/simple/test.gxl : replaced with a graph containing
	attributes
	* examples/simple/graphml.c : now tests igraph_write_graphml
	* examples/simple/graphml.out : adjusted to test.gxl output
	* src/topology.c : replaced class argument name to make it compile
	with g++ as well

2006-02-22  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/foreign.c (igraph_read_graph_ncol) : added directed argument
	* interfaces/python/graphobject.c : updated

2006-02-22  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/layout.c (igraph_layout_merge_dla, igraph_i_layout_sphere_2d)
	(igraph_i_layout_sphere_3d, igraph_i_layout_merge_dla) : added
	* examples/simple/igraph_i_layout_sphere.c : added
	* examples/simple/igraph_layout_merge.c : added

	* src/vector.c (igraph_vector_order2) : added
	* examples/simple/vector.c: updated

	* src/igraph_grid.c (igraph_i_layout_mergegrid_which)
	(igraph_i_layout_mergegrid_init, igraph_i_layout_mergegrid_destroy)
	(igraph_i_layout_mergegrid_place_sphere)
	(igraph_i_layout_mergegrid_get, igraph_i_layout_mergegrid_get_sphere)
	: added
		
2006-02-20  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/foreign.c (igraph_write_graph_lgl) : error handling bug 
	hunted

2006-02-15  Tamas Nepusz  <ntamas@rmki.kfki.hu>

	* examples/simple/graphml.c, examples/simple/graphml.out,
	  examples/simple/test.gxl : added
	* src/foreign.c (igraph_read_graph_graphml) : added
	* src/igraph.h : header extended
	* src/error.h, src/error.c : IGRAPH_UNIMPLEMENTED error code added
	* configure.in : added tests for libxml2
	* src/Makefile.am : updated to link with libxml2 if necessary
	* src/structural_properties.c : get_all_shortest_paths bug
	  and memory leak fixed
	* interfaces/python/graphobject.c : added interface for
	  get_all_shortest_paths and igraph_read_graph_graphml
	* interfaces/python/test.py : added test case for
          get_all_shortest_paths, igraph_read_graph_pajek and
	  igraph_read_graph_graphml

2006-02-13  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/igraph_grid.c (igraph_2dgrid_next_nei) : bug hunted
	* src/visitors.c (igraph_bfs) : bug for unconnected graphs hunted
	* src/layout.c (igraph_layout_fruchterman_reingold_3d) : corrected
	* src/random.h (RNG_UNIF) : small bug corrected

2006-02-12  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/motifs.c (igraph_motifs_randesu_estimate) : added
	* src/topology.c (igraph_isoclass_create) : added

2006-02-11  Tamas Nepusz  <ntamas@rmki.kfki.hu>

	* src/visitors.c (igraph_bfs) : fixed memory leaks
	* src/layout.c (igraph_lgl) : fixed memory leaks
	* src/components.c (igraph_decompose) : fixed memory leaks
	* Makefile.am : don't try to call test.sh in interfaces/R
	* interfaces/python/test.py : added new test cases
	* interfaces/python/graphobject.c,
	  interfaces/python/graphobject.h : added wrappers for 3D layouts,
	  igraph_decompose, igraph_write_pajek, igraph_layout_lgl,
	  igraph_layout_grid_fruchterman_reingold
	  
2006-02-10  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/igraph.h (igraph_progress_handler_t) : added
	* src/progress.c (igraph_progress, igraph_progress_handler_stderr)
	(igraph_set_progress_handler) : added

2006-02-10  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/structural_properties.c (igraph_get_all_shortest_paths) : added

2006-02-07  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/foreign-pajek-parser.y : better vertex and edge parameter 
	handling, support for adjacency matrices

2006-02-07  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/foreign.c (igraph_read_graph_pajek) :added
	* src/foreign-pajek-lexer.l : added
	* src/foreign-pajek-parser.y : added
	* examples/simple/foreign.c : added

2006-02-06  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/motifs.c (igraph_motifs_randesu) : motif count correct even
	if search tree is cut, works with graphs containing loops

2006-02-06  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/motifs.c (igraph_motifs_randesu) : added randomized cuts
	* examples/simple/igraph_motifs_randesu.c : updated

2006-02-06  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/vector.c (igraph_vector_search) : added

	* src/motifs.c (igraph_motifs_randesu) : isomorphism classes added
	* src/topology.c (igraph_isoclass_subgraph) : added

	* examples/simple/topology.c : added
	* examples/simple/igraph_layout_lgl.c : smaller graph, faster
	* examples/simple/igraph_motifs_randesu.c : updated

2006-02-05  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/motifs.c (igraph_motifs_randesu) : bug corrected

2006-02-05  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/igraph_stack.c (igraph_stack_top) : added

	* src/motifs.c (igraph_motifs_randesu) : added
	* examples/simple/igraph_motifs_randesu.c : added

2006-02-03  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/vector.c (igraph_vector_binsearch) : bug corrected

2006-02-03  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/games.c (igraph_growing_traits_game) :
	renamed to igraph_callaway_traits_game
	(igraph_establishment_game) : added

2006-02-03  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/random.c (igraph_random_sample) : correct upper limit bug

2006-02-03  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/vector.c (igraph_vector_binsearch) : modified to find "possible"
	place of element even if it's not in the vector
	* src/games.c (igraph_growing_traits_game) : added

2006-02-03  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/topology.c (igraph_isoclass_3, igraph_isomorphic_3)
	(igraph_isoclass_4, igraph_isomorphic_4) : removed
	(igraph_isoclass, igraph_isomorphic) : added
	
2006-02-03  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/topology.c (igraph_isoclass_3, igraph_isomorphic_3)
	(igraph_isoclass_4, igraph_isomorphic_4) : added

2006-02-01  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/layout.c (igraph_layout_random_3d, igraph_layout_sphere)
	(igraph_layout_fruchterman_reingold_3d)
	(igraph_layout_kamada_kawai_3d) : added

2006-01-31  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/igraph_grid.c (igraph_2dgrid_add2) : added
	* src/layout.c (igraph_layout_grid_fruchterman_reingold) : added

2006-01-31  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/igraph_grid.c (igraph_2dgrid_reset, igraph_2dgrid_next)
	(igraph_2dgrid_next_nei) : simple grid iterator, added
	* src/layout.c (igraph_layout_lgl) : added root parameter,
	first layer placed equidistantly, corrected maxiter bug,
	speedup by using the grid iterator

	* examples/simple/igraph_layout_lgl.c : updated

2006-01-30  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/igraph_grid.c (igraph_2dgrid_which, igraph_2dgrid_move)
	(igraph_2dgrid_dist, igraph_2dgrid_addvertices) : trivial small
	speedups, inlining
	(igraph_2dgrid_dist2) : squared distance
	* src/layout.c (igraph_layout_lgl) : small improvement on the
	placing of the spheres
	
	* src/layout.c (igraph_layout_fruchterman_reingold) : correct
	division by zero error

2006-01-29  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/atlas.c (igraph_atlas) : added
	* src/atlas-edges.h (igraph_i_atlas_edges)
	(igraph_i_atlas_edges_pos) : added
	* examples/simple/igraph_atlas.c : added

2006-01-29  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/igraph_grid.c (igraph_2dgrid_init) : deltax, deltay
	arguments are real numbers
	(igraph_2dgrid_which) : try to prevent limit cases
	* src/layout.c (igraph_layout_lgl) : updated to use
	Fruchterman-Reingold style forces instead of springs
	* examples/simple/igraph_layout_lgl.c : updated

2006-01-27  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/vector.c (igraph_vector_multiply) : added
	* src/matrix.c (igraph_matrix_max, igraph_matrix_multiply) : added

	* src/type_indexededgelist.c (igraph_edge, igraph_adjacent) : added
	
	* src/igraph_grid.c (igraph_2dgrid_which, igraph_2dgrid_init)
	(igraph_2dgrid_add, igraph_2dgrid_move, igraph_2dgrid_getcenter)
	(igraph_2dgrid_in, igraph_2dgrid_dist, igraph_i_2dgrid_addvertices)
	(igraph_2dgrid_neighbors) : added 

	* src/visitors.c (igraph_bfs) : added
	* examples/simple/igraph_bfs.c : added

	* src/components.c (igraph_decompose) : added

	* src/layout.c (igraph_layout_lgl) : added
	
	* examples/simple/igraph_decompose.c : added
	* examples/simple/igraph_layout_lgl.c : added

2006-01-21  Gabor Csardi  <csardi@rmki.kfki.hu>

	* examples/simple/igraph_es_adj.c : updated to be c++ compatible
	* examples/simple/igraph_es_fromto.c : updated to be c++ compatible
	* examples/simple/igraph_vs_vector.c : updated to c++ compatible
	* examples/simple/igraph_degree.c : updated to c++ compatible
	* examples/simple/igraph_neighbors.c : updated to c++ compatible
	* examples/simple/vector_ptr.c : updated to c++ compatible

2006-01-21  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/attributes.c (igraph_get_edge_attributes)
	(igraph_set_edge_attributes) : updated to use edge sequences

2006-01-20  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/random.c (igraph_random_sample_alga, igraph_random_sample) :
	use floor instead of trunc, rint instead of round, sunos 5.8

2006-01-20  Gabor Csardi  <csardi@rmki.kfki.hu>

	* interfaces/R/igraph/R/structural.properties.R 
	(edge.betweenness) : use edge sequences
	* interfaces/R/igraph/R/iterators.R (as.vector) : added
	
2006-01-18  Gabor Csardi  <csardi@rmki.kfki.hu>

	* interfaces/R/src/rinterface.c (R_igraph_read_graph_edgelist)
	(R_igraph_read_graph_lgl, R_igraph_read_graph_ncol)
	(R_igraph_write_graph_edgelist, R_igraph_write_graph_lgl)
	(R_igraph_write_graph_ncol) : make these work on systems without
	fmemopen and open_memstream
	* interfaces/R/igraph/R/foreign.R (read.graph, read.graph.edgelist)
	(read.graph.lgl, read.graph.ncol, write.graph, write.graph.ncol)
	(write.graph.lgl, write.graph.edgelist) : make this work on systems 
	without fmemopen and open_memstream (eg. mswin)
	* interfaces/R/igraph/R/configwin.R (igraph.i.have.fmemopen)
	(igraph.i.have.open.memstream) : added for windows compatibility,
	configure is not run on windows

2006-01-16  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/structural_properties.c (igraph_pagerank) : merge confusion
	repaired

2006-01-14  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/dqueue.c (dqueue_t, igraph_dqueue_t) :
	dqueue_t renamed to igraph_dqueue_t. All functions renamed
	* src/heap.c (heap_t, igraph_heap_t) :
	heap_t renamed to igraph_heap_t. All functions renamed.
	* src/heap.c (indheap_t, igraph_indheap_t) :
	indheap_t renamed to igraph_indheap_t. All functions renamed.
	* src/heap.c (d_indheap_t, igraph_d_indheap_t) :
	d_indheap_t renamed to igraph_d_indheap_t. All functions renamed.

2006-01-14  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/matrix.c (matrix_t, igraph_matrix_t) :
	matrix_t renamed to igraph_matrix_t. All functions renamed

2006-01-14  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/vector_ptr.c (vector_ptr_t, igraph_vector_ptr_t) :
	vector_ptr_t renamed to igraph_vector_ptr_t. All functions renamed.

2006-01-14  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/vector.c (vector_t, igraph_vector_t) :
	vector_t renamed to igraph_vector_t. All functions renamed.

2006-01-14  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/vector.c (vector_which_max) : added

2006-01-06  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/iterators.c (igraph_es_seq) : added
	(igraph_i_vstable, igraph_i_estable) : added

	* interfaces/R/src/rinterface.c (R_igraph_vs_to_SEXP)
	(R_igraph_es_to_SEXP, R_SEXP_to_igraph_vs, R_SEXP_to_igraph_es_copy) :
	rewritten
	(R_igraph_delete_vertices, R_igraph_degree, R_igraph_closeness)
	(R_igraph_betweenness, R_igraph_cocitation, R_igraph_bibcoupling)
	(R_igraph_shortest_paths, R_igraph_subgraph)
	(R_igraph_get_vertex_attributes, R_igraph_set_vertex_attributes)
	(R_igraph_vs_next, R_igraph_es_next, R_igraph_vs_reset)
	(R_igraph_es_reset, R_igraph_vs_end, R_igraph_es_end)
	(R_igraph_vs_get, R_igraph_es_get, R_igraph_es_from, R_igraph_es_to) :
	vertex and edge seq handling updated
	* interfaces/R/igraph/R/iterators.R (all) : rewritten

	* src/iterators.c (igraph_vs_vectorview_it) : memory leak cured
	* src/type_indexededgelist.c (igraph_degree) : memory leak cured

	* interfaces/python/error.c (igraphmodule_igraph_error_hook) :
	memory leak(s) cured, IGRAPH_FINALLY_FREE() added

	* interfaces/R/src/rinterface.c (R_igraph_myhandler) : 
	memory leak(s) cured, IGRAPH_FINALLY_FREE() added

	* interfaces/R/src/rinterface.c (R_SEXP_to_attributes) :
	vector_ptr_as_vector changed to vector_ptr_view
	
2006-01-01  Gabor Csardi  <csardi@rmki.kfki.hu>

	* interfaces/R/src/rinterface.c (R_igraph_es_to_SEXP)
	(R_SEXP_to_igraph_vs, R_SEXP_to_igraph_es) : updated
	(R_igraph_vs_next, R_igraph_vs_reset, R_igraph_es_next)
	(R_igraph_es_reset) : bug corrected (double destroy)

	* src/iterators.c (igraph_es_vector_getvector) : added

2005-12-31  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/igraph.h (igraph_es_t) : redesigned
	* src/iterators.c (igraph_vs_unfold) : unfold to vector passed as an
	argument
	(IGRAPH_ES_ALL, IGRAPH_ES_1, IGRAPH_ES_VECTOR, IGRAPH_ES) : added
	(igraph_es_vectorview, igraph_es_vector, igraph_es_vectorview_it)
	(igraph_es_vector_small, igraph_es_end_vectorview)
	(igraph_es_get_vectorview, igraph_es_from_vectorview)
	(igraph_es_to_vectorview, igraph_es_destroy_vectorview) : rewritten
	(igraph_es_fromto) : rewritten
	(igraph_es_next_formto, igraph_es_end_fromto, igraph_es_reset_fromto)
	(igraph_es_get_fromto, igraph_es_from_fromto, igraph_es_to_fromto)
	(igraph_es_unfold_fromto, igraph_es_destroy_fromto) : removed

	* src/iterators.c : all constructors set shorthand to zero

2005-12-31  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/iterators.c (igraph_vs_vector_small, IGRAPH_VS) : added
	* examples/simple/igraph_vs_vector.c : updated

	* src/vector.c (igraph_init_real_end, igraph_init_int_end) :
	rewritten to allocate exactly the needed space

2005-12-31  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/vector.c (vector_init_real, vector_init_int)
	(vector_init_real_end, vector_init_int_end) : added
	* examples/simple/vector.c : updated

2005-12-31  Gabor Csardi  <csardi@rmki.kfki.hu>
	
	* src/igraph.h (igraph_vs_t) : redesigned
	* src/iterators.c (igraph_i_vs_all, igraph_i_vs_none, igraph_i_vs_1)
	(igraph_i_vs_vector, igraph_vs_create_view_as_vector) : removed
	(IGRAPH_VS_ALL, IGRAPH_VS_NONE, IGRAPH_VS_1, IGRAPH_VS_VECTOR) : added
	(igraph_vs_unfold) : unfold to vector passed as an argument
	(igraph_vs_destroy_all, igraph_vs_destroy_adj, igraph_vs_destroy_rw)
	(igraph_vs_destroy_rw1, igraph_vs_destroy_none,  igraph_vs_destroy_1)
	(igraph_vs_destroy_seq) : free if shorthand
	(igraph_vs_vectorview, igraph_vs_vector, igraph_vs_vectorview_it)
	(igraph_vs_end_vectorview, igraph_vs_end_vectorview)
	(igraph_vs_unfold_vectorview, igraph_vs_destroy_vectorview) 
	(igraph_vs_vector_getvector) : redesigned, added
	* src/layout.c : updated
	* src/structural_properties.c : updated
	* src/type_indexededgelist.c : updated
	* igraph/src/rinterface.c : updated
	* src/cocitation.c : updated
	* src/attributes.c : updated
	* interfaces/python/graphobject.c : updated
	* examples/simple/igraph_es_fromto.c : updated
	* examples/simple/igraph_barabasi_game.c : updated
	* examples/simple/igraph_degree.c : updated
	* examples/simple/igraph_delete_vertices.c : updated
	* examples/simple/igraph_pagerank.c : updated
	
	* src/igraph.h (igraph_es_t) : view removed
	* src/iterators.c (igraph_i_es_all, igraph_i_es_none, igraph_i_es_1)
	(igraph_i_es_vector) : removed

	* src/iterators.c (igraph_es_fromto) : rewritten, it works

	* src/vector.c (vector_view) : rewritten
	* src/vector_ptr.c (vector_ptr_view) : rewritten
	
	* examples/simple/vector_ptr.c : bug corrected
	
2005-12-30  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/iterators.c (igraph_vs_all, igraph_vs_adj, igraph_vs_rw)
	(igraph_vs_rw1, igraph_vs_none, igraph_vs_1, igraph_vs_seq)
	(igraph_vs_vector, igraph_es_all, igraph_es_none, igraph_es_1)
	(igraph_es_fromorder, igraph_es_adj, igraph_es_vector) : return error 
	code
	
	* src/iterators.c (igraph_i_vs_all, igraph_i_vs_none)
	(igraph_i_vs_1, igraph_i_vs_vector, igraph_i_es_all, igraph_i_es_none)
	(igraph_i_es_1, igraph_i_es_vector) : added

	* src/iterators.c (igraph_vs_vector, igraph_es_vector) : added
	* src/iterators.c (igraph_vs_vectorview, igraph_es_vectorview) :
	renamed from *_vector

	* src/iterators.c (igraph_es_fromto) : added

	* src/vector.c (vector_as_vector) : removed
	* src/vector.c (vector_view) : added
	* src/vector_ptr.c (vector_ptr_as_vector) : removed
	* src/vector_ptr.c (vector_ptr_view) : added

	* src/vector.c (vector_binsearch) : added
	
	* src/adjlist.c (igraph_i_adjlist_init) : const added
	* src/attributes.c (igraph_i_attribute_list_get_pos)
	(igraph_attribute_list_get, igraph_attribute_list_set)
	(igraph_attribute_list_get_many, igraph_attribute_list_set_many)
	(igraph_attribute_list_get_all, igraph_attribute_list_all)
	(igraph_attribute_list_names, igraph_attribute_list_copy)
	(igraph_attribute_list_get_type, igraph_attribute_list_remove_elem_neg)
	(igraph_attribute_list_has, igraph_get_graph_attribute)
	(igraph_set_graph_attribute, igraph_list_graph_attributes)
	(igraph_get_vertex_attribute, igraph_set_vertex_attribute)
	(igraph_get_vertex_attributes, igraph_set_vertex_attributes)
	(igraph_list_vertex_attributes, igraph_get_edge_attribute)
	(igraph_set_edge_attribute, igraph_get_edge_attributes)
	(igraph_set_edge_attributes, igraph_list_edge_attributes)
	(igraph_get_graph_attribute_type, igraph_get_vertex_attribute_type)
	(igraph_get_edge_attribute_type, igraph_has_graph_attribute)
	(igraph_has_vertex_attribute, igraph_has_edge_attribute) : const added
	* src/basic_query.c (igraph_are_connected): const added
	* src/cocitation.c (igraph_cocitation_real, igraph_cocitation)
	(igraph_bibcoupling) : const added
	* src/components.c (igraph_clusters_weak, igraph_clusters_strong)
	(igraph_clusters, igraph_is_connected_weak, igraph_is_connected) :
	const added
	* src/conversion.c (igraph_get_adjacency, igraph_get_edgelist) :
	const added
	* src/foreign.c (igraph_write_graph_edgelist, igraph_write_graph_ncol)
	(igraph_write_graph_lgl) : const added
	* src/games.c (igraph_barabasi_game, igraph_degree_sequence_game)
	(igraph_degree_sequence_game_simple) : const added
	* src/iterators.c (almost all functions) : const added	
	* src/igraph_strvector.c (igraph_strvector_get, igraph_strvector_copy)
	(igraph_strvecto_size, igraph_strvector_remove_negidx) : const added
	* src/layout.c (igraph_layout_random, igraph_layout_circle)
	(igraph_layout_fruchterman_reingold, igraph_layout_kamada_kawai)
	(igraph_layout_springs) : const added
	* src/matrix.c (matrix_size, matrix_nrow, matrix_ncol, matrix_copy_to)
	(matrix_copy) : const added
	* src/measure_dynamics.c (igraph_measure_dynamics_idage)
	(igraph_measure_dynamics_isage_st, igraph_measure_dynamics_idage_debug)
	: const added
	* src/other.c (igraph_running_mean) : const added
	* src/structure_generators.c (igraph_create, igraph_lattice) :
	const added
	* src/type_indexededgelist.c (igraph_copy, igraph_add_edges)
	(igraph_delete_edges, igraph_delete_vertices, igraph_vcount)
	(igraph_ecount, igraph_neighbors, igraph_is_directed, igraph_degree) :
	const added
	* src/vector.c (vector_empty, vector_size, vector_e, vector_e_ptr)
	(vector_tail, vector_order, vector_max, vector_copy_to, vector_copy)
	(vector_sum, vector_prod, vector_remove_negidx, vector_isininterval)
	(vector_any_smaller, vector_is_equal) : const added
	* src/vector_ptr.c (vector_ptr_empty, vector_ptr_size)
	(vector_ptr_e, vector_ptr_copy_to, vector_ptr_copy) : const added
	
	* igraph/src/rinterface.c (R_SEXP_to_vector, R_SEXP_to_vector_copy)
	(vector_ptr_as_vector) : added
	
	
2005-12-21  Tamas Nepusz  <ntamas@rmki.kfki.hu>

	* configure.in : added switch for profiling
	
	* src/igraph.h : added igraph_pagerank header
	* src/error.h : corrected URL
	* src/structural_properties.c (igraph_pagerank) : added
	
	* examples/simple/igraph_pagerank.c : added
	* examples/simple/igraph_pagerank.out : added
	
	* tests/structural_properties.at : added test case
	for igraph_pagerank
	
	* interfaces/python/edgeseqobject.c : corrected a warning
	* interfaces/python/test.py : added test case for
	Graph.pagerank
	* interfaces/python/graphobject.c
	(igraphmodule_Graph_pagerank) : added
	* interfaces/python/graphobject.h :
	added igraphmodule_Graph_pagerank header

2005-12-18  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/adjlist.c (igraph_i_adlist_init) : error check added

2005-12-18  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/error.c (igraph_error) : calls igraph_error_handler_abort if
	there is no error handler installed.

2005-12-16  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/error.h (IGRAPH_FERROR) : removed
	* src/error.c (igraph_error_handler_ignore)
	(igraph_error_handler_printignore) : IGRAPH_FINALLY_FREE() call added

	* src/dqueue.c
	* src/heap.c
	* src/igraph_strvector.c
	* src/igraph_trie.c
	* src/vector.c
	* src/vector_ptr.c
	* src/igraph_stack.c
	* src/type_indexededgelist.c
	* src/adjlist.c
	* src/foreign.c
	* src/foreign-lgl-parser.y
	* src/iterators.c
	* src/games.c
	* src/basic_query.c
	* src/components.c
	* src/conversion.c
	* src/other.c
	* src/structural_properties.c
	* src/structure_generators.c
	* src/cocitation.c
	* src/foreign-ncol-parser.y
	* src/attributes.c : IGRAPH_ERROR instead of IGRAPH_FERROR

2005-12-16  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/adjlist.c (igraph_i_adjlist_t, igraph_i_adjlist_init)
	(igraph_i_adjlist_destroy) : added
	* src/structural_properties.c (igraph_diameter)
	(igraph_average_path_length) : some speedup with igraph_i_adjlist_t
	* examples/simple/igraph_diameter.c : added
	* examples/simple/igraph_average_path_length.c : added

2005-12-15  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/type_indexededgelist.c (igraph_neighbors) : some speedup

2005-12-15  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/iterators.c (igraph_vs_adj,igraph_vs_next_adj)
	(igraph_vs_end_adj,igraph_vs_get_adj,igraph_vs_adj_set) : storing end
	of the interval, some speedup

2005-12-14  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/type_indexededgelist.c (igraph_i_create_start) :
	zero edges edge bug removed
	* src/examples/simple/igraph_delete_vertices.c : test for this 
	edge case

2005-12-10  Tamas Nepusz  <ntamas@rmki.kfki.hu>

	* src/attributes.c (igraph_attribute_list_remove) :
	removed memory leak
	
	* src/igraph_indexededgelist.c (igraph_delete_vertices) :
	frees index before exiting
	
	* src/igraph_strvector.c (igraph_strvector_resize) :
	swapped upper and lower bounds in the for loop. The
        loop was never executed before.
	
2005-12-09  Gabor Csardi  <csardi@rmki.kfki.hu>

	* interfaces/python/graphobject.c
	(igraphmodule_Graph_delete_vertices, igraphmodule_Graph_degree)
	(igraphmodule_Graph_betweenness, igraphmodule_Graph_bibcoupling)
	(igraphmodule_Graph_closeness, igraphmodule_Graph_cocitation)
	(igraphmodule_Graph_shortest_paths, igraphmodule_Graph_subgraph) :
	updated for new vertex set/edge set interface	

2005-12-09  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/structural_properties.c
	(igraph_minimum_spanning_tree_unweighted) : FINALLY bug corrected

	* src/memory.c (igraph_free) : added 

	* src/iterators.c : completely rewritten, all functions

	* src/type_indexededgelist.c (igraph_delete_vertices)
	(igraph_degree) : updated for new vertex set interface
	* src/foreign.c (igraph_write_graph_edgelist)
	(igraph_write_graph_ncol, igraph_write_graph_lgl) : updated for
	new vertex set interface
	* src/layout.c (igraph_layout_fruchterman_reingold) : updated for
	new edge set interface
	* src/basic_query.c (igraph_are_connected) : updated for new
	vertex set interface
	* src/cocitation.c (igraph_cocitation_real, igraph_cocitation)
	(igraph_bibcoupling) : updated for new vertex/edge sets
	* src/structural_properties.c (igraph_minimum_spanning_tree_prim)
	(igraph_closeness, igraph_shortest_paths, igraph_betweenness)
	(igraph_edge_betweenness, igraph_subgraph)
	(igraph_transitivity_undirected) : updated for vertex/edge sets
	* src/conversion.c (igraph_get_adjacency, igraph_get_edgelist) :
	updated for new vertex/edge sets
	* src/attributes.c (igraph_get_vertex_attributes)
	(igraph_set_vertex_attributes) : updated for vertex/edge sets

	* examples/simple/igraph_barabasi_game.c : updated for igraph_vs_t
	* examples/simple/igraph_degree.c : updated for igraph_vs_t
	* examples/simple/igraph_delete_vertices.c : updated for igraph_vs_t

	* igraph/src/rinterface.c : updated for new vertex/edge sets
	
	* igraph/R/iterators.R : interface rewritten

	* igraph/R/attributes.R : updated to new vertex set interface
	* igraph/R/interface.R : updated to new vertex set interface
	* igraph/R/print.R : updated to new vertex set interface
	* igraph/R/structural.properties.R : updated to new vertex set 
	interface
	* igraph/R/cocitation.R : updated to new vertex set interface

2005-12-06  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/error.c (IGRAPH_FINALLY_FREE) : serious error handling bug 
	corrected

	* src/error.h (IGRAPH_EUNFOLDINF) : added

	* src/attributes.c (igraph_attribute_list_get_all) 
	(igraph_attribute_list_names) : bugs corrected

	* src/igraph.h (igraph_vit_t, igraph_eit_t) : introduced
	(igraph_iterator_t) : deleted
	* src/iterators.c (igraph_vit_t, igraph_eit_t) : introduced

	* src/type_indexededgelist.c (igraph_delete_vertices)
	(igraph_degree) : updated for igraph_vit_t
	* src/foreign.c (igraph_write_graph_edgelist,igraph_write_graph_ncol)
	(igraph_write_graph_lgl) : updated for igraph_vit_t, igraph_eit_t
	* src/layout.c (igraph_layout_fruchterman_reingold)
	(igraph_layout_kamada_kawai) : updated for igraph_vit_t
	* src/basic_query.c (igraph_are_connected) : updated for igraph_vit_t
	* src/conversion.c (igraph_get_adjacency,igraph_get_edgelist) :
	updated for igraph_eit_t
	* src/rinterface.c (R_igraph_iterator_to_SEXP)
	(R_SEXP_to_igraph_iterator, R_SEXP_to_igraph_iterator_copy)
	(R_igraph_iterator_vid, R_igraph_iterator_eid)
	(R_igraph_iterator_efromorder, R_igraph_iterator_eneis)
	(R_igraph_iterator_vneis, R_igraph_iterator_next)
	(R_igraph_iterator_prev, R_igraph_iterator_reset)
	(R_igraph_iterator_end, R_igraph_iterator_get_vertex_nei)
	(R_igraph_iterator_get_vertex, R_igraph_iterator_from)
	(R_igraph_iterator_to, R_igraph_iterator_edge)
	(R_igraph_iterator_randomwalk, R_igraph_iterator_randomwalk1) :
	removed, to be reimplemented
	* src/structural_properties.c (R_igraph_minimum_spanning_tree_prim)
	(igraph_closeness, igraph_shortest_paths, igraph_betweenness)
	(igraph_subgraph, igraph_transitivity_undirected) : updated for
	igraph_vit_t, igraph_eit_t
	* src/cocitation.c (igraph_cocitation,igraph_bibcoupling)
	(igraph_cocitation_real) : updated for igraph_vit_t
	* src/attributes.c (igraph_get_vertex_attributes)
	(igraph_set_vertex_attributes) : updated for igraph_vit_t

	* examples/simple/igraph_barabasi_game.c : updated
	* examples/simple/igraph_degree.c : updated
	* examples/simple/igraph_delete_vertices.c :updated
	
2005-12-02  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/igraph.h (igraph_i_directed_t, igraph_i_loops_t) : added	

2005-12-01  Tamas Nepusz  <ntamas@rmki.kfki.hu>

	* src/types.c (vector_ptr_remove)
	  (igraph_strvector_remove_section) : corrected invalid
	  memory reads/writes reported by Valgrind
	* src/attributes.c (igraph_i_attribute_list_get_pos) :
	  corrected invalid result returned when the attribute
	  was the last in the list
	* interfaces/python/vertexobject.c,
	  interfaces/python/vertexseq.c,
	  interfaces/python/graphobject.c : adapted attribute
	  getters to the new behaviour of igraph (returning
	  IGRAPH_EINVAL instead of -1 as the attribute type)
	* interfaces/python/edgeobject.c,
	  interfaces/python/edgeobject.h,
	  interfaces/python/edgeseqobject.c
	  interfaces/python/edgeseqobject.h : added
	* interfaces/python/test.sh, interfaces/python/test.py :
	  added new test cases for the edge attributes
	  
2005-11-26  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/vector.c (vector_add) : unused, deleted

	* src/vector.c (vector_isininterval) : bug fixed

	* src/error.c (igraph_error_handler_ignore) : do not print anything

	* src/type_indexededgelist.c (igraph_delete_edges) : check that 
	edges is even

	* examples/simple/igraph_add_edges.c : added
	* examples/simple/igraph_add_vertices.c : added
	* examples/simple/igraph_copy.c : added
	* examples/simple/igraph_degree.c : added
	* examples/simple/igraph_degree.out : added
	* examples/simple/igraph_delete_edges.c : added
	* examples/simple/igraph_delete_vertices.c : added
	* examples/simple/igraph_empty.c : added
	* examples/simple/igraph_is_directed.c : added
	* examples/simple/igraph_neighbors.c : added
	* examples/simple/vector.c : added

2005-11-25  Tamas Nepusz  <ntamas@rmki.kfki.hu>

	* src/structure_generators.c (igraph_tree) : typo corrected
	
2005-11-25  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/iterators.c (igraph_iterator_randomwalk)
	(igraph_iterator_randomwalk1, igraph_next_randomwalk)
	(igraph_end_randomwalk, igraph_get_vertex_randomwalk)
	(igraph_reset_randomwalk, igraph_iterator_randomwalk_length)
	(igraph_reset_randomwalk1, igraph_end_randomwalk1)
	(igraph_get_vertex_randomwalk1, igraph_reset_randomwalk1) : added
	* igraph/src/rinterface.c (R_igraph_iterator_to_SEXP)
	(R_SEXP_to_igraph_iterator, R_SEXP_to_igraph_iterator_copy)
	(R_igraph_iterator_randomwalk, R_igraph_iterator_randomwalk1) :
	R interface added
	* igraph/R/iterators.R (ii.create) : added random walkers interface

2005-11-25  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/igraph_strvector.c (igraph_strvector_remove_section) :
	remove misterious Realloc

	* src/type_indexededgelist.c (igraph_add_edges, igraph_add_vertices)
	(igraph_delete_edges, igraph_delete_vertices) : proper error handling

	* src/error.c (IGRAPH_FINALLY_CLEAN) : bug corrected

	* src/attributes.c (igraph_i_attribute_list_get_pos) : bug corrected

	* src/attribute.c (igraph_attribute_list_copy) : typo corrected
	
2005-11-24  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/igraph_strvector.c (igraph_strvector_resize) : proper error
	handling	
	* src/igraph_trie.c (igraph_trie_get) : proper error handling
	* src/attributes.c (igraph_attribute_list_set_many)
	(igraph_attribute_list_add_elem, igraph_attribute_list_copy) :
	proper error handling added
	(igraph_attribute_list_remove_elem_idx) 
	(igraph_attribute_list_remove_elem_neg) : changed to void
	* src/type_indexededgelist.c (igraph_i_create_start) : error
	handling added

2005-11-24  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/*.c Error handling, possibly all functions changed

2005-11-22  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/dqueue.c (dqueue_init) : assert bug removed
	* src/igraph_strvector.c (igraph_strvector_init) : more error handling
	* src/igraph_strvector.c (igraph_strvector_get) : bug corrected
	* src/igraph_strvector.c (igraph_strvector_copy) : remove an assert
	* src/igraph_strvector_resize (igraph_strvector_resize) : bug corrected
	* src/vector.c (vector_copy_to) : change to void
	* src/vector_ptr.c (vector_ptr_size, vector_ptr_copy) : 
	remove assert bug
	* src/vector_ptr.c (vector_ptr_null) : change to void
	

2005-11-21  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/*.c Error handling, possibly all functions changed.

2005-11-16  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/attributes.c (igraph_attribute_list_set)
	(igraph_attribute_list_set_many, igraph_attribute_list_set_many)
	(igraph_attribute_list_get_all) : attribute type bug corrected
	
	* src/types.c (igraph_trie_get_node, igraph_trie_get)
	(igraph_trie_get2) : update for error handling
	* src/foreign-lgl-parser.y : trie calls updated
	* src/foreign-ncol-parser.y : trie calls updated

	* src/structural_properties.c (igraph_shortest_paths) :
	bug corrected

	* src/foreign.c (igraph_write_graph_ncol, igraph_write_graph_lgl) :
	cosmetics, initialize ret

	* src/types.c (dqueue_init, dqueue_push, vector_init)
	(vector_reserve, vector_order, vector_init_copy, vector_copy)
	(igraph_stack_init, igraph_stack_reserve, igraph_stack_push)
	(multiset_init, multiset_reserve, multiset_reserve, heap_init)
	(heap_init_array, heap_reserve, indheap_init, indheap_init_array)
	(indheap_reserve, d_indheap_init, d_indheap_reserve)
	(vector_ptr_init, vector_ptr_reserve, vector_ptr_init_copy)
	(vector_ptr_copy, igraph_strvector_init, igraph_strvector_get)
	(igraph_strvector_get, igraph_strvector_remove_section)
	(igraph_strvector_copy, igraph_strvector_resize) : IGRAPH_ENOMEM added
	
2005-11-16  Tamas Nepusz  <ntamas@rmki.kfki.hu>
	* Makefile.am: made sure that the Debian packages are built
	  from a clean source tree
	* configure.in: restored MinGW compatibility
	* src/Makefile.am: corrected some minor glitches
	* interfaces/python/igraphmodule.c: sorted into standalone
	  C files
	* interfaces/python/common.c, interfaces/python/common.h,
	  interfaces/python/convert.c, interfaces/python/convert.h,
	  interfaces/python/error.c, interfaces/python/error.h,
	  interfaces/python/graphobject.c,
	  interfaces/python/graphobject.h,
	  interfaces/python/vertexobject.c,
	  interfaces/python/vertexobject.h,
	  interfaces/python/vertexseqobject.c,
	  interfaces/python/vertexseqobject.h: added. Graphs and
	  vertices now support attribute assignment and iteration.
	  Debug messages about every igraph-related PyObject
	  allocation are printed on stderr if we turned on
	  debug mode (this helps to track down leaking PyObject
	  references)
	* interfaces/python/Makefile.am: added new source files,
	  found a way to install the built library to the proper
	  directory. Some cleanup code still remains in the
	  post-install hook
	* interfaces/python/test.sh, interfaces/python/test.py:
	  added new test cases
	  
2005-11-15  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/games.c (igraph_degree_sequence_game_simple) :
	in_seq may be null pointer
	* src/games.c (igraph_barabasi_game) : error handling + outseq may
	be null pointer
	* src/games.c (igraph_erdos_renyi_game_gnp)
	(igraph_erdos_renyi_game_gnm, igraph_erdos_renyi_game) :
	error handling added
	* src/type_indexededgelist.c (igraph_add_edges)
	(igraph_delete_edges, igraph_delete_vertices)
	(igraph_neighbors, igraph_degree) : error handling added
	* src/foreign.c (igraph_write_graph_edgelist)
	(igraph_write_graph_ncol, igraph_write_graph_lgl) : error handling
	* src/foreign-lgl-parser.y (igraph_lgl_yyerror) : error handling
	* src/iterators.c (igraph_iterator_vid, igraph_iterator_eid)
	(igraph_iterator_efromorder, igraph_iterator_eneis)
	(igraph_iterator_vneis, igraph_prev) : error handling
	* src/basic_query.c (igraph_are_connected) : error handling added
	* src/components.c (igraph_clusters, igraph_is_connected) : error
	handling added
	* src/conversion.c (igraph_get_adjacency) : error handling added
	* src/error.c (igraph_i_error_strings) : new errors defined
	* src/structural_properties.c (igraph_diameter)
	(igraph_average_path_length)
	(igraph_minimum_spanning_tree_unweighted)
	(igraph_minimum_spanning_tree_prim, igraph_closeness)
	(igraph_shortest_paths, igraph_get_shortest_paths)
	(igraph_subcomponent, igraph_betweenness, igraph_edge_betweenness)
	(igraph_subgraph, igraph_transitivity_undirected) : error handling
	* src/structure_generators.c (igraph_create, igraph_adjacency)
	(igraph_star, igraph_tree) : error handling added
	* src/cocitation.c (igraph_cocitation_real) : error handling added
	* src/foreign-ncol-parser.y (igraph_ncol_yyerror) : error handling
	* src/attributes.c (igraph_attribute_list_add)
	(igraph_attribute_list_remove, igraph_attribute_list_get)
	(igraph_attribute_list_set, igraph_attribute_list_get_many)
	(igraph_attribute_list_set_many, igraph_attribute_list_get_all)
	(igraph_attribute_list_get_type, igraph_remove_graph_attribute)
	(igraph_get_graph_attribute, igraph_set_graph_attribute)
	(igraph_list_graph_attributes, igraph_add_vertex_attribute)
	(igraph_remove_vertex_attribute, igraph_get_vertex_attribute)
	(igraph_set_vertex_attribute, igraph_get_vertex_attributes)
	(igraph_set_vertex_attributes, igraph_list_vertex_attributes)
	(igraph_add_edge_attribute, igraph_remove_edge_attribute)
	(igraph_get_edge_attribute, igraph_set_edge_attribute)
	(igraph_get_edge_attributes, igraph_set_edge_attributes)
	(igraph_list_edge_attributes, igraph_get_graph_attribute_type)
	(igraph_get_vertex_attribute_type, igraph_get_edge_attribute_type)
	: error handling added
	
2005-11-11  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/attributes.c (igraph_i_attribute_list_get_pos) : bug corrected

2005-11-10  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/attributes.c (igraph_has_graph_attribute)
	(igraph_has_vertex_attribute, igraph_has_edge_attribute) : added

2005-11-10  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/structure_generators.c (igraph_star) : check bugs corrected

2005-11-10  Tamas Nepusz  <ntamas@rmki.kfki.hu>
	* interfaces/python/igraphmodule.c
	  (igraphmodule_Graph_Degree_Sequence): added
	* interfaces/python/igraphmodule.c
	  (igraphmodule_PyList_to_vector_t): bugfixes
	* Makefile.am: debcvs is now a .PHONY target
	* interfaces/python/Makefile.am: now compiles
	  even if libigraph.so is not in the library path
	* interfaces/python/test.py: added test case for
	  Graph.Degree_Sequence
	* debian/rules: added attributes.h to libigraph-dev
	* src/attributes.c
	  (igraph_attribute_list_get_type): returns 1
	  if the requested attribute is nonexistent
	  
2005-11-09  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/error.c (igraph_error, igraph_error_handler_abort)
	(igraph_error_handler_ignore) : fprintf bug corrected
	
	* src/type_indexededgelist.c (igraph_empty,igraph_add_edges)
	(igraph_add_vertices,igraph_delete_vertices,igraph_neighbors)
	(igraph_degree) : error handling added
	* src/structure_generators.c (igraph_create,igraph_star,igraph_lattice)
	(igraph_ring,igraph_tree,igraph_full) : error handling added
	* src/types.c (vector_isininterval,vector_any_smaller) : new
	* igraph/src/rinterface.c (R_igraph_myhandler,R_igraph_before)
	(R_igraph_after) : install own error handler
	* igraph/src/rinterface.c (all functions) : install own error handler

2005-11-08  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/error.c (igraph_error, igraph_strerror)
	(igraph_error_handler_abort, igraph_error_handler_ignore)
	(igraph_set_error_handler) : new error handling
	* src/type_indexededgelist.c (igraph_add_edges, igraph_delete_edges) :
	new error handling
	* src/foreign.c (igraph_read_graph_edgelist) : new error handling
	* src/games.c (igraph_degree_sequence_game)
	(igraph_degree_sequence_game_simple) : new error handling
	* src/other.c (igraph_running_mean) : new error handling
	* src/structural_properties.c (igraph_transitivity) : new error 
	handling
	* src/structure_generators.c (igraph_adjacency) : new error handling

2005-11-04  Tamas Nepusz  <ntamas@rmki.kfki.hu>

	* src/random.c : added temporary expm1 implementation for
	  MinGW (since MinGW does not implement it natively)
	* Makefile.am : added rule to generate daily CVS Debian package
	* configure.in : added a switch to enable debug build, corrected
	  the Python library detection to make it work in MinGW
	* src/basic_query.c, src/conversion.c, src/other.c : made it
	  include types.h (MinGW was complaining about it)
	* interfaces/python/igraphmodule.c (igraphmodule_Graph_Read_Edgelist,
	  igraphmodule_Graph_Read_Ncol, igraphmodule_Graph_Read_Lgl,
	  igraphmodule_Graph_write_edgelist, igraphmodule_Graph_write_ncol,
	  igraphmodule_Graph_write_lgl): added
	* interfaces/python/Makefile.am: corrected a bug regarding
	  package creation in Debian
	* interfaces/python/test.py: added test cases for the new methods
	* debian/prepare: added CVS version numbering support
	* debian/control.in: removed automatic generation of shared
	  library dependencies for igraph. The libc in Ubuntu is
	  newer than in Debian, therefore the generated package did not
	  install under Debian Sarge until now.
	  
2005-11-04  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/attributes.c (igraph_attribute_list_copy) : bug corrected

2005-11-04  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/types.c (igraph_trie_size) : new
	* src/foreign.c (igraph_read_graph_lgl, igraph_write_graph_lgl) : new
	* src/foreign.c (igraph_write_graph_ncol) : memory leak corrected
	* igraph/src/rinterface.c (R_igraph_read_graph_lgl)
	(R_igraph_write_graph_lgl) : interface
	* igraph/R/foreign.R (read.graph.lgl, write.graph.lgl) : interface

2005-11-03  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/types.c (igraph_i_trie_init_node, igraph_trie_init)
	(igraph_i_trie_destroy_node, igraph_trie_destroy)
	(igraph_i_strdiff, igraph_trie_get_node, igraph_trie_get)
	(igraph_trie_get2, igraph_trie_idx) : new, Patricia trie data type
	* src/foreign-ncol-lexer.l : parser for the ncol file type
	* src/foreign-ncol-parser.y : parser for the ncol file type
	* src/foreign.c (igraph_read_graph_ncol, igraph_write_graph_ncol) :
	new file format added
	* igraph/src/rinterface.c (R_igraph_read_graph_ncol)
	(R_igraph_write_graph_ncol) : interface
	* igraph/R/foreign.R (read.graph.ncol, write.graph.ncol) : interface
	* igraph/R/foreign.R (read.graph, write.graph, read.graph.edgelist)
	(write.graph.edgelist, write.graph.lgl) : don't pass "format" argument
	
2005-11-01  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/foreign.c (igraph_read_graph_edgelist)
	(igraph_write_graph_edgelist) : new
	* igraph/src/rinterface.c (R_igraph_read_graph_edgelist)
	(R_igraph_write_graph_edgelist) : R interface
	* igraph/R/foreign.R (read.graph.edgelist, write.graph.edgelist) :
	  R interface

2005-10-31  Gabor Csardi  <csardi@rmki.kfki.hu>

	* igraph/src/rinterface.c (R_igraph_set_vertex_attributes)
	(R_igraph_set_edge_attributes) : there is no type argument any more

2005-10-31  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/types.c (vector_e_ptr, vector_remove, vector_permdelete)
	(vector_remove_negidx, vector_ptr_free_all, vector_ptr_destroy_all)
	: new
	* src/types.c (igraph_attribute_list_init)
	(igraph_attribute_list_destroy, igraph_attribute_list_add)
	(igraph_attribute_list_addstr, igraph_attribute_list_remove)
	(igraph_attribute_list_get, igraph_attribute_list_getstr)
	(igraph_attribute_list_getany, igraph_attribute_list_gets)
	(igraph_attribute_list_set, igraph_attribute_list_setstr)
	(igraph_attribute_list_setany, igraph_attribute_list_sets)
	(igraph_attribute_list_size, igraph_attribute_list_encrease_length)
	(igraph_attribute_list_remove_elements)
	(igraph_attribute_list_remove_elements_neg)
	(igraph_attribute_list_list, igraph_attribute_list_copy)
	(igraph_attribute_list_getsany, igraph_attribute_list_setsany)
	(igraph_attribute_list_gettype) : deleted
	* src/types.c (igraph_i_strarray_findnpos, igraph_strarray_init)
	(igraph_strarray_destroy) : deleted
	* src/types.c (igraph_strvector_remove, igraph_strvector_add)
	(igraph_strvector_permdelete, igraph_strvector_remove_negidx) : new
	(igraph_strvector_resize) : free deleted entries, memory leak corrected
	* src/attributes.c (igraph_i_attribute_list_get_pos)
	(igraph_i_attribute_list_free, igraph_attribute_list_init)
	(igraph_attribute_list_destroy, igraph_attribute_list_add)
	(igraph_attribute_list_remove, igraph_attribute_list_get)
	(igraph_attribute_list_set, igraph_attribute_list_get_many)
	(igraph_attribute_list_set_many, igraph_attribute_list_get_all)
	(igraph_attribute_list_size, igraph_attribute_list_add_elem)
	(igraph_attribute_list_names, igraph_attribute_list_copy)
	(igraph_attribute_list_get_type, igraph_attribute_list_remove_elem_idx)
	(igraph_attribute_list_remove_elem_neg) : new
	* src/attributes.c (igraph_add_graph_attribute)
	(igraph_get_graph_attribute, igraph_set_graph_attribute)
	(igraph_list_graph_attributes, igraph_add_vertex_attribute)
	(igraph_get_vertex_attribute, igraph_set_vertex_attribute)
	(igraph_get_vertex_attributes, igraph_set_vertex_attributes)
	(igraph_list_vertex_attributes,  igraph_add_edge_attribute)
	(igraph_get_edge_attribute, igraph_set_edge_attribute)
	(igraph_get_edge_attributes, igraph_set_edge_attributes)
	(igraph_list_edge_attributes) : updated for new attribute handling
	(igraph_get_graph_attribute_type, igraph_get_vertex_attribute_type)
	(igraph_get_edge_attribute_type) : new
	* src/type_indexededgelist.c (igraph_add_edges, igraph_add_vertices)
	(igraph_delete_edges, igraph_delete_vertices) : updates for new
	attribute handling
	* igraph/src/rinterface.c (R_igraph_strvector_to_SEXP)
	(R_igraph_SEXP_to_strvector, R_igraph_SEXP_to_strvector_copy)
	(R_attributes_to_SEXP, R_SEXP_to_attributes, R_SEXP_to_attributes_copy)
	: updated to new strvector and attribute structure
	(R_igraph_strmatrix_to_SEXP, R_SEXP_to_igraph_strmatrix)
	(R_SEXP_to_igraph_strmatrix_copy, R_strarray_to_SEXP) : deleted
	(R_igraph_add_graph_attribute, R_igraph_get_graph_attribute)
	(R_igraph_set_graph_attribute, R_igraph_list_graph_attributes)
	(R_igraph_add_vertex_attribute, R_igraph_get_vertex_attribute)
	(R_igraph_set_vertex_attribute, R_igraph_list_vertex_attributes)
	(R_igraph_get_vertex_attributes, R_igraph_set_vertex_attributes)
	(R_igraph_add_edge_attribute, R_igraph_get_edge_attribute)
	(R_igraph_set_edge_attribute, R_igraph_list_edge_attributes)
	(R_igraph_get_edge_attributes, R_igraph_set_edge_attributes) :
	updated to new attribute structure
	* igraph/R/attributes.R (get.graph.attribute, get.vertex.attribute)
	(get.edge.attribute) : updated to strvector type
	
2005-10-29  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/structural_properties.c (igraph_betweenness)
	(igraph_edge_betweenness) : another bug corrected

2005-10-27  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/types.c (igraph_attribute_list_init)
	(igraph_attribute_list_destroy, igraph_attribute_list_add)
	(igraph_attribute_list_addstr, igraph_attribute_list_remove)
	(igraph_attribute_list_get, igraph_attribute_list_getstr)
	(igraph_attribute_list_getany, igraph_attribute_list_gets)
	(igraph_attribute_list_set, igraph_attribute_list_setstr)
	(igraph_attribute_list_setany, igraph_attribute_list_sets)
	(igraph_attribute_list_size, igraph_attribute_list_increase_length)
	(igraph_attribute_list_remove_elements)
	(igraph_attribute_list_remove_elements_neg)
	(igraph_attribute_list_list, igraph_attribute_list_copy)
	(igraph_attribute_list_getsany, igraph_attribute_list_setsany)
	(igraph_attribute_list_gettype) : string attributes added
	* src/types.c (igraph_strvector_init)
	(igraph_strvector_destroy, igraph_strvector_get)
	(igraph_strvector_set, igraph_strvector_remove_section)
	(igraph_strvector_move_interval, igraph_strvector_copy)
	(igraph_strvector_resize, igraph_strvector_size)
	(igraph_strmatrix_init, igraph_strmatrix_destroy)
	(igraph_strmatrix_get, igraph_strmatrix_set)
	(igraph_strmatrix_add_cols, igraph_strmatrix_remove_col)
	(igraph_strmatrix_add_rows, igraph_strmatrix_permdelete_rows)
	(igraph_strmatrix_delete_rows_neg, igraph_strmatrix_copy)
	(igraph_strmatrix_resize, igraph_strmatrix_nrow)
	(igraph_strmatrix_ncol) : new
	* src/attributes.c (igraph_add_graph_attribute)
	(igraph_get_graph_attribute, igraph_set_graph_attribute)
	(igraph_list_graph_attributes, igraph_add_vertex_attribute)
	(igraph_get_vertex_attribute, igraph_set_vertex_attribute)
	(igraph_get_vertex_attributes, igraph_set_vertex_attributes)
	(igraph_list_vertex_attributes, igraph_add_edge_attribute)
	(igraph_get_edge_attribute, igraph_set_edge_attribute)
	(igraph_get_edge_attributes, igraph_set_edge_attributes)
	(igraph_list_edge_attributes, igraph_get_graph_attribute_type)
	(igraph_get_vertex_attribute_type, igraph_get_edge_attribute_type) :
	string attributes added, some new
	* igraph/src/rinterface.c (R_igraph_strvector_to_SEXP)
	(R_igraph_SEXP_to_strvector, R_igraph_SEXP_to_strvector1)
	(R_igraph_SEXP_to_strvector_copy, R_igraph_strmatrix_to_SEXP)
	(R_attributes_to_SEXP, R_SEXP_to_igraph_strmatrix)
	(R_SEXP_to_igraph_strmatrix_copy, R_SEXP_to_attributes)
	(R_SEXP_to_attributes_copy, R_igraph_add_graph_attribute)
	(R_igraph_get_graph_attribute, R_igraph_set_graph_attribute)
	(R_igraph_add_vertex_attribute, R_igraph_get_vertex_attribute)
	(R_igraph_set_vertex_attribute, R_igraph_get_vertex_attributes)
	(R_igraph_set_vertex_attributes, R_igraph_list_graph_attributes)
	(R_igraph_list_vertex_attributes, R_igraph_add_edge_attribute)
	(R_igraph_get_edge_attribute, R_igraph_set_edge_attribute)
	(R_igraph_get_edge_attributes, R_igraph_set_edge_attributes)
	(R_igraph_list_edge_attributes) : R interface
	* igraph/R/attributes.R (add.graph.attribute)
	(set.graph.attribute, add.vertex.attribute, set.vertex.attribute)
	(add.edge.attribute, set.edge.attribute) : R interface
	
2005-10-26  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/structural_properties.c (igraph_betweenness)
	(igraph_edge_betweenness) : bug corrected

2005-10-24  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/types.c (matrix_delete_rows_neg, matrix_copy)
	(igraph_attribute_list_remove_elements_neg)
	(igraph_attribute_list_copy) : new 
	* src/attributes.c (igraph_add_edge_attribute)
	(igraph_remove_edge_attribute, igraph_get_edge_attribute)
	(igraph_set_edge_attribute, igraph_get_edge_attributes)
	(igraph_set_edge_attributes, igraph_list_edge_attributes) : new
	* src/type_indexededgelist.c (igraph_empty, igraph_destroy)
	(igraph_copy, igraph_add_edges, igraph_delete_edges) 
	(igraph_delete_vertices) : (mostly edge) attribute handling added
	* igraph/src/rinterface.c (R_igraph_to_SEXP, R_SEXP_to_igraph)
	(R_SEXP_to_igraph_copy) : handle edge attributes
	* igraph/src/rinterface.c (R_igraph_add_edge_attribute)
	(R_igraph_remove_edge_attribute, R_igraph_get_edge_attribute)
	(R_igraph_set_edge_attribute, igraph_get_edge_attributes)
	(R_igraph_set_edge_attributes, igraph_list_edge_attributes) : interface
	* igraph/R/attributes.R (add.edge.attribute, remove.edge.attribute)
	(get.edge.attribute, set.edge.attribute, e.a, "e.a<-") : interface
	* igraph/R/print.R (print.graph) : print edge attributes
	
2005-10-24  Gabor Csardi  <csardi@rmki.kfki.hu>

	* igraph/R/iterators.R (ii.get.to) : bug corrected

	* igraph/R/print.R (print.igraph) : uses iterators, prints attributes

2005-10-24  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/iterators.c (igraph_iterator_eneis)
	(igraph_iterator_eneis_set, igraph_reset_eneis)
	(igraph_next_eneis, igraph_end_eneis, igraph_get_vertex_from_eneis)
	(igraph_get_vertex_to_eneis, igraph_get_vertex_nei_eneis)
	(igraph_get_edge_eneis, igraph_iterator_vneis)
	(igraph_next_vneis, igraph_end_vneis, igraph_reset_vneis)
	(igraph_get_vertex_vneis, igraph_iterator_vneis_set) :
	eneis and vneis rewritten to use real_t array for data

	* igraph/src/rinterface.c (R_igraph_iterator_to_SEXP)
	(R_SEXP_to_igraph_iterator, R_SEXP_to_igraph_iterator_copy)
	(R_igraph_empty, R_igraph_iteraror_vid, R_igraph_iterator_eid)
	(R_igraph_iterator_efromorder, R_igraph_iterator_eneis)
	(R_igraph_iterator_vneis, R_igraph_iterator_next)
	(R_igraph_iterator_prev, R_igraph_iterator_reset)
	(R_igraph_iterator_end, R_igraph_iterator_end)
	(R_igraph_iterator_get_vertex_nei, R_igraph_iterator_get_vertex)
	(R_igraph_iterator_from, R_igraph_iterator_to)
	(R_igraph_iteartor_edge) : R interface to iterators
	* igraph/R/iterators.R (ii.create, ii.next, ii.prev, ii.end)
	(ii.get.vertex.nei, ii.reset, ii.get.vertex, ii.get.from)
	(ii.get.to, ii.get.edge) : R interface to iterators

2005-10-24  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/types.c (igraph_stack_reserve) : added
	
	* src/types.c (vector_remove_section, vector_move_interval)
	(matrix_add_cols, matrix_remove_col, matrix_permdelete_rows) : added

	* src/types.c (vector_ptr_init, vector_ptr_destroy)
	(vector_ptr_reserve, vector_ptr_empty, vector_ptr_size)
	(vector_ptr_clear, vector_ptr_push_back, vector_ptr_e)
	(vector_ptr_set, vector_ptr_null, vector_ptr_find)
	(vector_ptr_change, vector_ptr_resize, vector_ptr_as_vector)
	(vector_ptr_init_copy, vector_ptr_copy_to, vector_ptr_copy)
	(vector_ptr_remove) : added

	* src/types.c (igraph_i_strarray_findnpos)
	(igraph_attribute_list_init, igraph_attribute_list_destroy)
	(igraph_attribute_list_add, igraph_attribute_list_remove)
	(igraph_attribute_list_get, igraph_attribute_list_gets)
	(igraph_attribute_list_set, igraph_attribute_list_sets)
	(igraph_attribute_list_size, igraph_attribute_list_remove_elements)
	(igraph_attribute_list_list, igraph_strarray_init)
	(igraph_strarray_destroy) : added

	* src/attributes.c (igraph_add_graph_attribute)
	(igraph_remove_graph_attribute, igraph_get_graph_attribute)
	(igraph_set_graph_attribute, igraph_list_graph_attributes)
	(igraph_add_vertex_attribute, igraph_remove_vertex_attribute)
	(igraph_get_vertex_attribute, igraph_set_vertex_attribute)
	(igraph_get_vertex_attributes, igraph_set_vertex_attributes)
	(igraph_list_vertex_attributes) : attribute handling added
	* src/type_indexededgelist.c (igraph_empty, igraph_destroy)
	(igraph_add_vertices, igraph_delete_vertices) : 
	attribute handling added
	* src/rinterface.c (R_strarray_to_SEXP, R_attributes_to_SEXP)
	(R_SEXP_to_matrix_copy, R_SEXP_to_attributes)
	(R_SEXP_to_attributes_copy) : added for attributes handling
	* src/rinterface.c (R_igraph_to_SEXP, R_SEXP_to_igraph)
	(R_SEXP_to_igraph_copy) : updated for copying the attributes
	* src/rinterface.c (R_igraph_add_graph_attribute)
	(R_igraph_remove_graph_attribute, R_igraph_get_graph_attribute)
	(R_igraph_set_graph_attribute, R_igraph_add_vertex_attribute)
	(R_igraph_remove_vertex_attribute, R_igraph_get_vertex_attribute)
	(R_igraph_set_vertex_attribute, R_igraph_get_vertex_attributes)
	(R_igraph_set_vertex_attributes, R_igraph_list_graph_attributes)
	(R_igraph_list_vertex_attributes) : added interface to attribute
	handling
	* igraph/R/attributes.R (add.graph.attribute)
	(remove.graph.attribute, get.graph.attribute)
	(set.graph.attribute, g.a, g.a<-, add.vertex.attribute)
	(remove.vertex.attribute, get.vertex.attribute)
	(set.vertex.attribute) : R interface to attribute handling
	
2005-10-21  Tamas Nepusz <ntamas@rmki.kfki.hu>
        * configure.in, src/Makefile.am : slight changes to allow the
	  library to compile as a DLL under Cygwin/Win32
	* interfaces/python/igraphmodule.c : added FR and KK layout interface
	
2005-10-18  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/iterators.c (igraph_iterator_vneis_set) : added

	* src/structural_properties.c (igraph_transitivity)
	(igraph_transitivity_undirected) : added
	* igraph/R/structural_properties.R (transitivity) : interface
	* src/rinterface.c (R_igraph_transitivity) : interface

2005-10-13  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/structural_properties.c (igraph_subcomponent) : free changed
	to Free

2005-10-12  Tamas Nepusz <ntamas@rmki.kfki.hu>

	* interfaces/python/igraphmodule.c : added
	* debian/ : added

2005-10-10  Tamas Nepusz <ntamas@rmki.kfki.hu>

	* src/cocitation.c (igraph_cocitation_real) : memory leak removed

2005-10-06  Tamas Nepusz <ntamas@rmki.kfki.hu>

	* src/components.c (igraph_is_connected_weak) : q initialized

	* src/structural_properties.c (igraph_betweenness) : tmpres
	variable (and a memory leak) removed

2005-10-05  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/games.c  (igraph_degree_sequence_game)
	(igraph_degree_sequence_game_simple) : ported from R
	* igraph/R/games.R (degree.sequence.game) : interface
	* src/rinterface.c (R_igraph_degree_sequence_game) : interface
	
	* src/types.h (vector_sum) : new function

2005-09-28  Gabor Csardi  <csardi@rmki.kfki.hu>

	* igraph/R/games.R (degree.sequence.game) : undirected bug
	corrected

	* igraph/R/basic.R (is.directed) : new function

2005-09-28  Gabor Csardi  <csardi@rmki.kfki.hu>

	* igraph/R/structural.properties.R (get.shortest.paths) : from is
	a required parameter

	* igraph/R/plot.R (plot.igraph) : graph argument renamed to x to
	be conform with the R generic

	* igraph/R/print.R (print.igraph, summary.igraph) : arguments
	renamed to be conform with the R generic

	* igraph/R/community.R (eb.comunity, eb.community2)
	(cut.community) : renamed to community.eb, community.eb2,
	community.cut

2005-09-27  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/types.c (stack_t, stack_*) : renamed to igraph_stack_t
	* src/types.h (stack_t, stack_*) : same
	* src/structural_properties.c (stack_t, stack_*) : same

2005-09-26  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/structural_properties.c (igraph_average_path_length) :
	normfact double instead of long int, the saga of this bug ends here

	* src/random.c (fsign, imax2, imin2, R_FINITE, ISNAN) : new, from
	the R source code

2005-09-25  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/layout.c (igraph_layout_fruchterman_reingold) : implemented
	in C based on the SNA 1.0 version
	* src/rinterface.c (R_igraph_layout_fruchterman_reingold) : interface
	* igraph/R/layout.R (layout.fruchterman.reingold) : interface
	* igraph/R/tkplot.R (.tkplot.layout.dialog) : new parameter type,
	expression, this may depend on the graph itself, the 
	Fruchterman-Reingold algorithm has new parameters

2005-09-24  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/conversion.c (igraph_get_edgelist) : new function
	* src/rinterface.c (R_igraph_get_edgelist) : interface
	* igraph/R/conversion.R (get.edgelist) : interface

	* src/conversion.c (igraph_get_adjacency) : new function
	* src/rinterface.c (R_igraph_get_adjacency) : interface
	* igraph/R/conversion.R (get.adjacency) : interface

	* src/structural_properties.c (igraph_simplify) : new function
	* src/rinterface.c (R_igraph_simplify) : interface
	* igraph/R/conversion.R (simplify) : interface

	* src/types.c (vector_sort) : new function
	
2005-09-24  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/random.h (RNG_UNIF01()) : introduced
	
	* src/games.c (erdos_renyi_game) : gnm & gnp type
	(erdos_renyi_game_gnp, erdos_renyi_game_gnm) : new functions
	* igraph/R/games.R (erdos.renyi.game) : interface
	* src/rinterface.c (R_igraph_random_sample) : interface	

	* src/random.c (igraph_random_sample, igraph_random_sample_alga) :
	new functions
	* igraph/R/other.R (igraph.sample) : interface
	* src/rinterface.c (R_igraph_random_sample) : interface

2005-09-23  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/games.c (igraph_erdos_renyi_game) :
	* igraph/R/games.R (erdos.renyi.game) :
	* src/rinterface.c :
	implemented in C instead of R, bugs also eliminated

	* src/structure_generators.c (igraph_full) :
	* igraph/R/structure.generators.R (igraph.full) :
	* src/rinterface.c :
	implemented

	* src/random.h :
	* src/random.c :
	geometric random numbers added

	* src/types.c (vector_tail) : implemented

2005-09-22  Gabor Csardi  <csardi@rmki.kfki.hu>

	* src/igraph.h (igraph_average_path_length): added prototype,
	this (likely) eliminates a serious bug 

	* src/igraph.h :
	* src/components.c :
	* src/games.c :
	* src/random.h :
	* src/iterators.c :
	* src/measure_dynamics.c :
	* src/other.c :
	* src/rinterface.c :
	* src/structural_properties.c :
	* src/structure_generators.c :
	* src/types.c :
	cosmetics, defining implicit functions, eliminating unused
	variables, adding return value for non-void functions

	* src/random.h : added prototype for unif_rand(),
	norm_rand(), this eliminates the random number generation bug
	* src/Makevars : USING_R defined to use R random number
	generation if compiling as an R package

	* igraph/R/tkplot.R (.tkplot.layout.dialog): padx, pady removed
	from layout dialogs, they don't work with older Tk libraries

	
