# version 4.4

- infomap has been removed (the function can still be called, but returns a warning and an empty result). The original code is no longer compatible with CRAN.

# version 4.3.2

- made compatible with latest version of igraph.

# version 4.3.1

- updated to version 0.9.1 of the uunet library. Prevents an error on some compilers, not caught by CRAN checks.

# version 4.3

- abacus re-introduced, now based on a local implementation of association rule mining.

# version 4.2.2

- abacus has been temporarily removed (the function can still be called, but returns a warning and an empty result). 
- Minor update for CRAN compatibility.

# version 4.2.1

- Fixed I/O bugs.

# version 4.2

- Made conversion of list of layers, actors, and vertices from C++ to R more efficient.

- Added resolution parameter and weights to generalised Louvain.

- Small updates to documentation.

- Updated layer degree correlation: the correlation is now computed on the degree, not the number of neighbours. That is, if a vertex V has two incident edges V -> U and V <- U, its degree with mode INOUT is 2 (it was previously 1, as the neighbour is the same).

- Updated clique percolation: fixed a missing duplicate check (potentially leading to redundant sub-communities being returned) and now automatically discarding directionality if executed on a directed graph.

# version 4.1.2

- Small fix for CRAN compatibility

# version 4.1.1

- Fixed a comment for CRAN compatibility

# version 4.1

- New license (Apache 2.0)
- Fixed bug in summary function
- Get_values_ml() returns the name of the attribute (instead of "value" as the name of the column with the values)
- Get_values_ml() and set_values_ml() require a DataFrame also for actors

# version 4.0.1

- Rewritten as.igraph to remove dependency on igraph's ability to read graphml files
- Modified is_directed_ml not to process pairs of layers that have not been initialised (it used to return a warning)

# version 4.0

- The multilayer network data structure has been re-implemented using multilayer cubes
- Actors must exist on at least one layer
- Removed actor Pucci from florentine data, not being present in any layer
- Improved efficiency of functions returning dataframes
- Removed functions deprecated since versions 3.0 and 3.1

# version 3.3.2

- New default behavior: loops are allowed
- Added generate_communities_ml, to create simple community structures
- Added flat_ec_ml, flat_nw_ml and mdlp_ml clustering algorithms
- Added nmi_ml and omega_index_ml evaluation functions

# version 3.3.1

- No significant change (code fix for CRAN compatibility)

# version 3.3

- Added some argument checks to plot_ml
- Added option to print layer names inside each frame in plotting
- Updated plot colors (default black for vertices) and added edge transparency
- Added support for edge-by-edge style
- Now add_vertices and add_edges automatically add actors and layers if they do not exist.  Layers are by default undirected.
- Added a more efficient implementation of glouvain, now available as glouvain2.
- Added back project_ml, only performing clique (i.e., unweighted) projections.
- Fixed bug in write_ml (missing comma before "LOOP" keyword)

# version 3.2

- add_edges_ml now automatically adds the corresponding actors and vertices if they do not exist
- Added support for global edge attributes in addition to local (layer-specific) edge attributes
- Added support for loops in input files
- Updated documentation for IO function: new Input/Output format version 3.0
- & in actor names and attribute values are escaped (&amp;) when saving to igraph objects.
  This prevents issues in the functions using igraph, such as summary()
- Added support for igraph logical attributes, now stored as 0s (false) and 1s (true) in multinet
- Removed unnecessary warning from add_igraph_layer function
- Fixed bug in edges_ml, where for interlayer edges the two layers could get swapped
- Fixed bug in get_values_ml, where for vertices the same layer was used even with multiple input layers
- Fixed bug in clique_percolation_ml (returned different results for different executions)
- Minor updates to the documentation

# version 3.1.0

- Removed auto_ptr from the Infomap external library
- add_vertices_ml now automatically adds the corresponding actors if they do not exist
- Minor updates to the documentation

# version 3.0.3

- Added values2graphics to simplify the plotting of attribute values

# version 3.0.2

- Added modularity_ml

# version 3.0.1

- Minor code fix, to enable compilation on solaris (changed name to typedef ES)
- Actor measures return as many values as the size of the "actors" input parameter
- Fixed bug in reading directed edges from file (introduced in v3.0.0)

# version 3.0.0

- Changed style, replacing . with _ in function names (except S3 methods)
- Old functions deprecated, they will disappear from version 4.0.0
- Changed colors in plotting function

# version 2.0.1

- Minor fixes to the code

# version 2.0.0

- Added infomap.ml algorithm
- Significantly rewritten the underlying code
- Some functions temporarily removed (pmm.ml, lart.ml, occupation.centrality.ml)
- Custom attributes on interlayer edges temporarily disabled

# version 1.1.5

- Introduced "vertex" as a synonim of "node", to later replace it
- Added legend functionality to plotting function
- Updated multiforce layout function (fixed frame borders)
- Added summary and as.list functions

