- fix(doc): reference
count_paths
from top-level documentation - fix(tests): remove
test_
prefix in tests - chore(Cargo): update fake regex dependency message
- fix(deps): update rust crate thiserror to v2
- fix: use proper pattern binding
- fix(deps): update codspeed-criterion-compat to get rid of advisory
- fix(tests): new test for
utils
module - fix(ui): adapt UI tests to Rust 1.84
- chore(gitignore): ignore
cargo mutants
output - fix(tests):
gen
will be a keyword in Rust 2024 - fix(kruskal): accept owned data into the method
- fix: remove or move
allow
attributes - style(matrix): remove unneeded bounds on
DoubleEndedIterator
impl - style: replace
let _ =
by_ =
- docs: remove empty lines in comments
- Add test for Yen's algorithm
- Add precision on development process
- feat(tests): test Edmonds-Karp failure in sparse mode
- feat(dfs): use a non-recursive version
- fix(benches): reinstate regular benches for DFS
- fix!(dfs): never visit the same node twice
- feat(benches): add restricted DFS benchmarks
- style: use Iterator::inspect() when the value does not change
- chore(deps): update rust crate codspeed-criterion-compat to v2
- fix!(msrv): update MSRV to 1.77.2
- Generic variant of connected_components
- fix(doc): refer to
usize::MAX
instead ofstd::usize::MAX
- chore(Cargo.toml): allow
clippy::too_long_first_doc_paragraph
- feat(prim): add Prim's algorithm for finding MST
- docs(astar): add documentation for SmallestCostHolder
- fix(README): Broken link in the README.md
- test: add more tests for
Grid
andMatrix
- fix(cargo-deny): update configuration
- feat: replace
FixedBitSet
byIndexSet
for better performances - chore(deps): update many dependencies for better performances
- feat(tests): add new aoc-2023-17 test
- fix(tests): do not build useless vector
- fix: remove redundant imports
- fix(README): inline documentation to fix inner links to modules
- fix(deps): update rust crate indexmap to 2.2.3
- fix(deps): update rust crate thiserror to 1.0.57
- feat(matrix): add in-place matrix transposition for non-square matrix
- feat(bench): add bench for matrix transposition
- feat(tests): add a test for transposing an empty matrix
- fix(deps): add priority to clippy lints for lint_groups_priority
- chore(grid): replace deprecated IndexMap remove() method by swap_remove()
- fix(deps): update rust crate num-traits to 0.2.18
- fix(deps): update rust crate indexmap to 2.2.2
- chore(deps): update rust crate itertools to 0.12.1
- fix(dfs_reach): visit nodes in the documented order
- fix(yen): revert "Routes are already sorted by cost and path len"
- test(yen): add test for checking Yen algorithm output ordering
- chore(pre-commit): add conventional commit check
- chore: use deprecate_until attribute instead of deprecated
- feat(matrix): add
Matrix::transpose()
- feat(matrix): add
Matrix::column_iter()
- feat(grid): add
Grid::constrain()
- feat(matrix): add
Matrix::constrain()
- feat(utils): add
constrain()
- feat(matrix): implement DoubleEndedIterator for RowIterator
- feat(matrix): add swap method
- chore(msrv): update minimum required Rust version to 1.70.0
- chore: use bool::is_some_and
- feat: new
dijkstra_reach()
function - fix(doc): remove useless explicit links
- fix(edmondskarp): better panic messages
- fix(matrix): better panic messages
- fix(style): apply clippy fixes
- fix(doc): typo
- fix(yen): return all loopless paths
- chore(cargo deny): fix warning in configuration file
- chore(deps): update rust crate indexmap to 2.1.0
- chore(deps): update rust crate thiserror to 1.0.50
- chore(deps): update rust crate regex to 1.10.2
- chore(deps): update rust crate num-traits to 0.2.17
- New remaining_low_bounds() method for {Bfs,Dfs}Reachable
- Migrate to the evenfurther GitHub organization
- fix(deps): update rust crate thiserror to 1.0.48
- Use or_default() in test
- Move
cycle_detection
module intodirected
and deprecate the former - Update indexmap requirement from 1.9.2 to 2.0.0
- Style: use
or_default()
rather thanor_insert_with()
with default value - Style: do not use
bool::then()
infilter_map()
- Style: make
partial_cmp
usecmp
- Style: reformat with let/else support
- Use codspeed-criterion-compat everywhere, do not require criterion
- Allow creating a Matrix based on a function from position to value
- Make method cancel_flow of edmondskarp only cancel the minimum amount of flow among all edges along a path, instead of the maximum, in order to avoid negative flows
- Use sort_unstable_by() instead of sort_unstable_by_key()
- New Grid example for from_coordinates() method
- Use RemSP and path splitting
- Remove optimization which gives worst benchmark results
- Integrate CodSpeed
- Update criterion requirement from 0.4.0 to 0.5.1
- Make Kuhn-Munkres benchmarks reproducible
- Document that A*/Dijkstra/Fringe/idA* costs must be non-negative
- Upgrade dependencies
- Use new clippy lint name
- Add bench for separate_components
- Bench Kuhn-Munkres algorithm
- Remove itertools dependency
- Remove unnecessary .into_iter() in tests
- Add Grid::from_coordinates()
- Add the possibility to display the grid with reversed line order
- Add more Grid documentation
- Better performances in Grid, Kruskal and Edmonds-Karp
- Add Matrix::items() and Matrix::items_mut()
- Rename Matrix::indices() as Matrix::keys() and deprecate Matrix::indices()
- Clarify the ordering of coordinate tuples in Matrix
- Add more Grid documentation
- Enable clippy pedantic mode by default
- Improve bfs performance
- Add documentation for possible errors and panics
- Add move_in_direction and in_direction to utils
- Make some function const
- Cleanups
- Count paths
- Add minimum_cut capability to EdmondsKarp
- Bump MSRV to 1.65.0
- Update dependencies
- Use into_keys() where appropriate
- Add fake regex dev dependency
- Use boolean::then_some()
- Update criterion requirement from 0.3.4 to 0.4.0
- Optimize Yen's algorithm
- Routes are already sorted by cost and path len
- Document possibility of looping endlessly in kuhn_munkres related functions
- Use matches!() to simplify expression
- Add two algorithms (Floyd and Brent) to detect cycles
- Deprecate absdiff() in favor of Rust 1.60 abs_diff()
- Remove double must-use
- Introduce
Grid::{bfs,dfs}_reachable()
anddeprecate Grid::reachable()
- Remove
Copy
bound on predicate ofMatrix::{bfs,dfs}_reachable()
- Use anonymous lifetimes when appropriate
- Add example for
kuhn_munkres()
- Remove unused
Matrix::uninit
/Matrix::assume_init()
- Remove remaining
debug_assert!()
calls
- Add conversion from
Matrix<bool>
toGrid
- Add
Grid
equality - Add
Matrix::map()
- Add
Matrix::new_uninit()
andMatrix::assume_init()
- Forbid all missing or partially missing docs
- Mark iterators as fused
- Deprecate
Matrix::reachable()
forMatrix::bfs_reachable(
) andMatrix::dfs_reachable()
- Add
dfs_reach()
- Use an enumeration to represent
MatrixFormatError
- Add MSRV and check for consistency
- Add
#[must_use]
onWeights
trait - Use thiserror crate to build
MatrixFormatError
- Add an example for
Grid
asDebug
- Alternate
Grid
debug mode
- Add
Grid::reachable()
- Add
Matrix::get()
andMatrix::get_mut()
- Add
Matrix::reachable()
- Better
Matrix
corner cases documentation
- Remove references in
Grid
methods - Remove more references in
Matrix
methods
- Remove unnecessary
Clone
bounds
- Use tuples instead of tuples reference for
Matrix
index