v5.0.0 No changes to the Python code in this release, only Rust. This is the first release of swh-graph on crates.io. Breaking changes (Rust): * Rename "labelled" -> "labeled", for consistency with webgraph * Rename SWHType to NodeType * Moved find_root_dir to the "stdlib" * Make labeled_{predecessor,successors} return typed labels * Rename Rust all "::new_with" constructors to just "::with" * Rust: implement FromStr (rather than TryInto<&str>) for NodeType Additions (Rust): * Added a "stdlib" of algorithms (find_latest_snp, path resolution functions, generic node visit operator) * GraphBuilder: Add support for Visit (and Branch) labels * Add support for multi-arcs in VecGraph and GraphBuilder * Add `.flatten_labels()` on labeled arc iterator * Rewrite EDGE_LABELS compression step in Rust * Subgraph: add builder based on NodeConstraint * Add tool to dump edges from a compressed graph Improvements (Rust): * Switch to released versions of webgraph and ar_row * Various performance improvements in properties compression * GraphBuilder: add BuiltGraph type alias for done() return type * Rewrite CountPaths to produce sharded Parquet files directly * Small improvement of the rust executable dir handling in check_config() Soundness fixes (Rust): * Fixed all bugs NODE_PROPERTIES compression (or at least, have a strict subset of the Java implementation's bugs). In particular: * properties: Update arrays atomically and remove LongArrayBitVector * Remove redundant 'datasets' path component * Rust: use create_new() to create on-disk maps * Subgraph: fix has_arc(), which was transposing the passed arc Crash/compilation fixes (Rust): * Fix detection of missing node2type.bin/content.is_skipped.bits file * Fix loading node2type.bin larger than 2^31 * 8 bytes * Fix debian requirements * blobs_dataset: Make Datafusion write to a single file * root_directory.rs: do not require (unneeded) SwhBackwardGraph trait Documentation: * Subgraph: document that num_nodes/arcs() return non-filtered values * Add a 'minimal build for tests' section in rust/README.md * review *.rs file headers: add missing Copyright decl