v7.0.0 Breaking changes (gRPC server): * Fix inconsistent extension for stats of .json graphs Breaking changes (Rust): * Refactor SwhidMphf to embed a permutation * Move stdlib to a separate `swh-graph-stdlib` crate Breaking changes (Python): * shell.py: Add support for capturing stderr New features (gRPC server): * Add num_nodes_by_type and num_arcs_by_type to StatsResponse New features (Rust): * Add accessors num_nodes_by_type/actual_num_nodes/num_arcs_by_type * Rename FilenameId to LabelNameId (there is an alias for backward-compatibility) * Add num_label_names() accessor, and iterators on LabelNameId * Switch AdaptiveNodeSet from SipHash to RapidHash * Extract full names and provide mapping from their corresponding author ID Fixes (gRPC server): * grpc-server: Fix deadlock when processing as many requests as there are CPU threads in Traverse Fixes (Python): * Fail luigi task when end-to-end tests fail * Don't expect -labelled.* files to be produced for graphs with no label * Pass missing `test_flavor` argument * Pass YAML config parameters to luigi * Turn end to end tests into a luigi task * Fix handling of local_sensitive_export_path with luigi Internal (Rust): * with NodeConstraint to parse CLI args * Fixes for Clippy 1.88.0 * Update tonic * pyproject.toml: Use extend-exclude flake8 option instead of exclude * Apply swh-py-template v0.3.4 with copier * cli: Remove no longer needed type ignore * requirements-test: Remove use of deprecated types-click stubs * Fix MPH tests * Improve debug profile detection * Improve typing * Rename 'target' to 'profile' in places it had been forgotten Internal (Python): * Remove redundant OFFSETS and TRANSPOSE_OFFSETS steps