About igraph releases and other things
C/igraph 0.10.0, the first release of the 0.10 series, has arrived.
The source can be obtained from the GitHub releases page.
This release focuses on infrastructural improvements, stability, and making the igraph interface more consistent, more predictable and easier to use. It contains many API-breaking changes and function renamings, in preparation for a future 1.0 release, at which point the API will become stable. Changes in this direction are likely to continue through a 0.11 release. It is recommended that you migrate your code from 0.9 to 0.10 soon, to make the eventual transition to 1.0 easier.
Read on for more details about the changes in version 0.10.0.
Since the changelog for this release is huge, we are going to list only the most important highlights of this release:
igraph_integer_t
consistently for all indices and most integer
quantities, both in the API and internally. This type is 64-bit by default
on all 64-bit systems, bringing support for very large graphs with more than
2 billion vertices. Previously, vertex and edge indices were often
represented as igraph_real_t
. The move to an igraph_integer_t
also
implies a change from igraph_vector_t
to igraph_vector_int_t
in many
functions.igraph_integer_t
is now possible. Similarly, the
sampling of random reals has been improved to utilize almost the full range
of the mantissa of an igraph_real_t
.igraph_vector_list_t
), replacing most previous uses of the non-managed
igraph_vector_ptr_t
. Functions that previously used igraph_vector_ptr_t
to return results and relied on the user to manage memory appropriately are
now using igraph_vector_list_t
, igraph_graph_list_t
or similar and
manage memory on their own.igraph_invalidate_cache()
function is provided for
debugging purposes. It will invaidate all cache entries.You can find the full changelog on the GitHub release page.