Skip to content
v6.0.0

Breaking changes:

* Move gRPC server to its own crate (swh-graph-grpc-server)
* Move dataset-writer to its own crate (dataset-writer)
* Switch from stderrlog to env_logger (`-vv` on executables is now the
  default, and log level is tuned with `RUST_LOG=debug`)
* Switch MPH algorithms for new compressed graphs from GOV to PTHash
* Move the FCL from java_compat/fcl.rs to front_coded_list/read.rs
* Removed all Java code

New features:

* Add support for reading graphs with PTHash instead of GOV
* Switch from stderrlog to env_logger
* Add load_full() shorthand for loading a bidirectional labeled graph with all properties
* Replace load_{uni,bi}directional with Swh{Uni,Bi}directionalGraph::new
* Add SwhFullGraph trait "alias" to simplify types
* Prioritize target/ over global installs when running Rust executables
* stdlib: add find_head_revision()
* Log gRPC requests

Soundness fixes (Rust)

* NodeBuilder: Remove empty data struct when another node type's data is requested
* Replace Write::write() with Write::write_all()

Soundness fixes (Python):

* Add missing "node." prefix to FieldMasks passed to FindPath{To,Between}

Performance improvements:

* Parallelize merging in par_sort_arcs
* EDGE_LABELS: Remove unnecessary dependencies
* PERMUTE_LLP: The base graph does not need to be loaded in memory
* Replace GNU sort with custom sorters
* Switch swh-graph-extract to jemalloc
* Don't materialize vec of values while building MPHs
* Update default gammas

Documentation:

* Update compression documentation
* Improve error when .labeloffsets file is missing
* Make quickstart and gRPC documentations easier to understand