All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Please make sure to add your changes to the appropriate categories:
Added: for new functionalityChanged: for changes in existing functionalityDeprecated: for soon-to-be removed functionalityRemoved: for removed functionalityFixed: for fixed bugsPerformance: for performance-relevant changesSecurity: for security-relevant changesOther: for everything else
- n/a
- Updated dependencies:
anyhowfrom1.0.82to1.0.86instafrom1.38.0to1.39.0petgraphfrom0.6.4to0.6.5pulldown-cmarkfrom0.10.2to0.11.0rust-analyzerfrom0.0.211to0.0.215
- Bumped MSRV to
1.78.0
- n/a
- n/a
- Don't call
.canonicalize()on the project path on Windows to avoid cargo incompatibility with verbatim paths.
- n/a
- n/a
- n/a
- Updated dependencies:
rust-analyzerfrom0.0.210to0.0.211
- Updated dependencies:
anyhowfrom1.0.81to1.0.82rust-analyzerfrom0.0.208to0.0.210
- Updated dependencies:
rust-analyzerfrom0.0.207to0.0.208pulldown-cmarkfrom0.10.0to0.10.2
- Updated dependencies:
yansifrom0.5.1to1.0.1clapfrom4.5.3to4.5.4indocfrom2.0.4to2.0.5memoffsetfrom0.9.0to0.9.1rust-analyzerfrom0.0.206to0.0.207
- Updated dependencies:
rust-analyzerfrom0.0.204to0.0.206anyhowfrom1.0.80to1.0.81bitflagfrom2.4.2to2.5.0clapfrom4.5.1to4.5.3
- Updated dependencies:
miofrom0.8.10to0.8.11env_loggerfrom0.11.2to0.11.3instafrom1.35.1to1.36.1logfrom0.4.20to0.4.21
- Fixed potential vulnerability in
mioby upgrading it from0.8.10to0.8.11.
- Updated dependencies:
rust-analyzerfrom0.0.202to0.0.203
- Updated dependencies:
anyhowfrom1.0.79to1.0.80assert_cmdfrom2.0.13to2.0.14clapfrom4.4.18to4.5.1env_loggerfrom0.11.1to0.11.2instafrom1.34.0to1.35.1thread_localfrom1.1.7to1.1.8rust-analyzerfrom0.0.200to0.0.202
- Bumped MSRV from
1.74.0to1.75.0
- Updated dependencies:
rust-analyzerfrom0.0.197to0.0.200env_loggerfrom0.10.2to0.11.1pulldown-cmarkfrom0.9.3to0.10.0rust-analyzer-salsafrom0.17.0-pre.5to0.17.0-pre.6rust-analyzer-salsa-macrosfrom0.17.0-pre.5to0.17.0-pre.6
- Updated dependencies:
bitflagsfrom2.4.1->2.4.2clapfrom4.4.16->4.4.18env_loggerfrom0.10.1->0.10.2rust-analyzerfrom0.0.196to0.0.197
- Fixed bug (#172) where external nodes were not correctly filtered out.
- Updated dependencies:
rust-analyzerfrom0.0.194to0.0.196assert_cmdfrom2.0.12to2.0.13clapfrom4.4.13to4.4.16rust-analyzer-salsafrom0.17.0-pre.4to0.17.0-pre.5rust-analyzer-salsa-macrosfrom0.17.0-pre.4to0.17.0-pre.5
- Skip impl if type's node can't be found, rather than crashing
- Updated dependencies:
anyhowfrom1.0.76to1.0.79clapfrom4.4.11to4.4.13rust-analyzerfrom0.0.190to0.0.194
- Bumped MSRV from
1.70.0to1.74.0 - Updated dependencies:
anyhowfrom1.0.75to1.0.76
- Bumped MSRV from
1.68.2to1.70.0 - Updated dependencies:
rust-analyzerfrom0.0.189to0.0.190
- Added dedicated top-level
orphanscommand (replacing the now removed--orphansCLI flag) for detecting orphaned Rust source files within projects.
- Renamed
generate treecommand tostructure, promoting it to a top-level command. - Renamed
generate graphcommand todependencies, promoting it to a top-level command. - Made
structurecommand include types, traits, and fns by default. Use--no-types,--no-traits,--no-fnsto opt-out. - Made
dependenciescommand include uses, externs, types, traits, and fns by default. Use--no-modules,--no-uses,--no-externs,--no-types,--no-traits,--no-fnsto opt-out. - Updated dependencies:
rust-analyzerfrom0.0.188to0.0.189
- Removed
generatetop-level CLI command, promoting its sub-commands to top-level commands. - Removed the
--orphansCLI flag fromstructurecommand (néegenerate tree). - Removed global CLI option
--sysroot&--no-sysroot. - Removed global CLI option
--no-cfg-test. - Removed CLI selection options for
structurecommand:- Removed CLI option
--types - Removed CLI option
--traits - Removed CLI option
--fns - Removed CLI option
--tests - Removed CLI option
--no-tests
- Removed CLI option
- Removed CLI selection options for
dependenciescommand:- Removed CLI option
--modules - Removed CLI option
--uses - Removed CLI option
--externs - Removed CLI option
--types - Removed CLI option
--traits - Removed CLI option
--fns - Removed CLI option
--tests - Removed CLI option
--no-tests
- Removed CLI option
- Support for detecting methods/type-aliases in impls.
- Support for detecting dependencies from functions and methods.
- Tracing logs for graph/tree building phases (
RUST_LOG=cargo_modules=trace …).
- Updated dependencies:
thread_localfrom1.0.0to1.1.7clapfrom4.4.10to4.4.11memoffsetfrom0.6.1to0.9.0rust-analyzerfrom0.0.187to0.0.188
- Local dependencies are no longer erroneously being detected as packages.
- Updated dependencies:
clapfrom4.4.8to4.4.10proc-macro2from1.0.69to1.0.70rust-analyzerfrom0.0.186to0.0.187
- Switch Github action for Rust toolchain from
actions-rs/toolchain@v1todtolnay/rust-toolchain@v1
- Updated dependencies:
rust-analyzerfrom0.0.185to0.0.186
- Support for sorting the output of the
generate treecommand via--sort-by <KEY>(where<KEY>is one ofname,visibility, orkind) and--sort-reversedCLI options.
- Updated dependencies:
rust-analyzerfrom0.0.184to0.0.185env_loggerfrom0.10.0to0.10.1clapfrom4.4.7to4.4.8
- Updated dependencies:
rust-analyzerfrom0.0.183to0.0.184
- Updated dependencies:
rust-analyzerfrom0.0.182to0.0.183serde_reprfrom0.1.16to0.1.17
- Updated dependencies:
rust-analyzerfrom0.0.181to0.0.182clapfrom4.4.6to4.4.7
- Updated dependencies:
rust-analyzerfrom0.0.178to0.0.181bitflagsfrom2.4.0to2.4.1
- Added support for type and trait aliases.
- Added support for extracting "uses" edges for a type's field dependencies.
- Refactored project, giving each
generatecommand its own independent implementation - Refactored and simplified orphan detection logic
- Updated dependencies:
instafrom1.33.0to1.34.0proc-macro2from1.0.67to1.0.69rust-analyzerfrom0.0.177to0.0.178
- Support for
--orphans/--no-orphansforgenerate graphcommand
- Updated dependencies:
clapfrom4.4.5to4.4.6instafrom1.32.0to1.33.0rust-analyzerfrom0.0.164to0.0.177
- Updated dependencies:
rust-analyzerfrom0.0.163to0.0.164anyhowfrom1.0.71to1.0.75skywalking-eyesfrom0.4.0to0.5.0assert_cmdfrom2.0.11to2.0.12bitflagsfrom2.3.3to2.4.0clapfrom4.3.11to4.4.5indocfrom2.0.2to2.0.4instafrom1.30.0to1.32.0logfrom0.4.19to0.4.20petgraphfrom0.6.3to0.6.4proc-macro2from1.0.64to1.0.67serde_reprfrom0.1.14to0.1.16
- Removed
ra_ap_rust-analyzerdependency.
- Updated dependencies:
rust-analyzerfrom0.0.160to0.0.163clapfrom4.3.10to4.3.11getoptsfrom0.2.19to0.2.21proc-macro2from1.0.63to1.0.64serde_reprfrom0.1.13to0.1.14
- Bumped MSRV to
1.68.2 - Updated dependencies:
bitflagsfrom2.3.1to2.3.3clapfrom4.3.0to4.3.10indocfrom2.0.1to2.0.2instafrom1.29.0to1.30.0logfrom0.4.18to0.4.19proc-macro2from1.0.60to1.0.63serde_reprfrom0.1.12to0.1.13rust-analyzerfrom0.0.148to0.0.160
- CLI flag
--acyclicfor detecting cycles in the generated graph.
- Updated dependencies:
logfrom0.4.17to0.4.18clapfrom4.2.5to4.3.0wyzfrom0.5.1to0.6.1bitflagsfrom2.2.1to2.3.1
- Documentation of
--no-fnsCLI flag.
- Added CLI argument
--modules(and corresponding--no-modules) for filtering out modules from graphs. - Added CLI argument
--no-externsas a negative complement for--externs - Added CLI argument
--no-fnsas a negative complement for--fns - Added CLI argument
--no-orphansas a negative complement for--orphans - Added CLI argument
--no-sysrootas a negative complement for--sysroot - Added CLI argument
--no-testsas a negative complement for--tests - Added CLI argument
--no-traitsas a negative complement for--traits - Added CLI argument
--no-typesas a negative complement for--types - Added CLI argument
--no-usesas a negative complement for--uses - Added CLI argument
--no-cfg-testas a negative complement for--cfg-test - Added dependencies:
clapat4.2.5
- Renamed CLI argument
--with-externsto--externs - Renamed CLI argument
--with-fnsto--fns - Renamed CLI argument
--with-orphansto--orphans - Renamed CLI argument
--with-sysrootto--sysroot - Renamed CLI argument
--with-teststo--tests - Renamed CLI argument
--with-traitsto--traits - Renamed CLI argument
--with-typesto--types - Renamed CLI argument
--with-usesto--uses
- Removed dependencies:
structopt
- Updated dependencies:
indocfrom1.0.8to2.0.1petgraphfrom0.6.2to0.6.3anyhowfrom1.0.68to1.0.69structoptfrom0.3to0.3.26serde_reprfrom0.1.10to0.1.11assert_cmdfrom2.0.8to2.0.9instafrom1.26.0to1.28.0bitflagsfrom1.3.2to2.0.1
- Updated dependencies:
rust-analyzerfrom0.0.148to0.0.149
- Updated dependencies:
assert_cmdfrom2.0.7to2.0.8rust-analyzerfrom0.0.143to0.0.148
- Updated dependencies:
instafrom1.23.0to1.26.0serde_reprfrom0.1.8to0.1.10
- Typo in Cargo.toml:
rust = "1.65"=>rust-version = "1.65".
- Updated dependencies:
indocfrom1.0.7to1.0.8anyhowfrom1.0.66to1.0.68rust-analyzerfrom0.0.142to0.0.143
- Split graph building into two separate phases: building & filtering.
- Updated dependencies:
instafrom1.21.2to1.23.0rust-analyzerfrom0.0.140to0.0.142
- Support for conditionally filtering traits via
--with-traitsCLI option. - Support for conditionally filtering functions via
--with-fnsCLI option. - Support for accepting a full use-tree (e.g.
foo::bar::{self, baz, blee::*}) for--focus-on, instead of just simple paths.
- The
--with-typesnow excludes traits. Use--with-traitsCLI option to include traits. - The
--with-typesnow excludes functions. Use--with-fnsCLI option to include functions. - Refactored internal graph builder to be both, simpler and more robust.
- Updated dependencies:
env_loggerfrom0.9.3to0.10.0assert_cmdfrom2.0.6to2.0.7instafrom1.21.0to1.21.2rust-analyzerfrom0.0.138to0.0.140
- Updated dependencies:
assert_cmdfrom2.0.5->2.0.6env_loggerfrom0.9.1->0.9.3rust-analyzerfrom0.0.134to0.0.138
- Upstream semver bug in rust-analyzer that would prevent running
cargo installfor0.5.12and0.5.13(issue).
- Updated to latest crate dependencies.
- Updated to latest crate dependencies.
- Made graph layout algorithm ignore
"uses"edges in constraint calculation.
- Updated to latest crate dependencies.
- Updated to latest crate dependencies.
- Updated to latest crate dependencies.
- Add
README.mdsections on how to properly read/interpret the generated output and its use of structure/colors in particular
- Updated to latest crate dependencies.
- Replaced example screenshots in
README.mdwith more illustrative ones
- Updated to latest crate dependencies.
- Updated to Rust 2021 edition.
- Updated to latest crate dependencies.
- Updated to latest crate dependencies.
- Added
--cfg-testCLI option
- Updated to latest crate dependencies.
- Maked
cargo_modules=warntheRUST_LOGdefault - Stopped filtering out
#[cfg(test)] mod …when given--with-tests
- Updated to latest crate dependencies.
- Updated to latest crate dependencies.
- Updated to latest crate dependencies.
- Updated to latest crate dependencies.
- Updated to latest crate dependencies.
- Made including sysroot (i.e.
core/std/alloc/…) crates in analysis strictly opt-in (via--with-sysroot).
- Improved CLI help comments
- Improved tests
- Added support for '--no-default-features', '--all-features', '--features', '--target' options
- Added support for conditionally filtering unit tests via
--with-testsCLI option - Added option
--with-externsforgenerate graphcommand - Added support for depth-based graph shrinking
- Added 'generate' CLI sub-command
- Updated to latest crate dependencies.
- Replaced positional argument with named
--manifest-pathto better mirror cargo's CLI - Changed color of orphan graph nodes
- Renamed edges from
Has/UsestoOwns/Uses - Replaced integer node/edge ids in dot graphs with fully qualified paths for easier manual processing / searching / editing of dot output
- Made
generate graphalways print full paths - Implemented folding of external "uses" into a single node per external crate
- Changed default graph layout algorithm from 'sfdp' to 'neato'
- Cleaned up README file
- Improved terminal color handling
- Improved theming/printing
- Improved graph builder and fixed bug where nodex/edges might get omitted, unintentionally
- Refined graph printing
- Improved graph rendering
- Removed unused 'Authors' section from README file
- Removed unnecessary name from generated
digraph <name> { … } - Removed unsupported options from
generate treecommand - Removed 'weight=' from edges in dot file
- Updated to latest crate dependencies.
- Updated to latest crate dependencies.
- Updated to latest crate dependencies.
- Updated to latest crate dependencies.
- Added Github Action.
- Updated to latest crate dependencies.
- Updated to Rust 2018 edition.
- Migrated from
libsyntaxtorustc_ast.
- Updated to latest crate dependencies
- Improve
cargo modules graphsub-command.
- Added support for
—plaintographsub-command.
- Updated to latest crate dependencies.
- Updated
README.mdto reflect the new (and added) CLI.
- Updated to latest crate dependencies.
- Updated to latest crate dependencies.
- Updated to latest crate dependencies.
- Fixed issues and show difference between pub and private use.
- Support for printing module graph (Graphviz/dot).
- Updated to latest crate dependencies.
- Fixed issue when linking against latest libsyntax.
- Fixed usage instructions in
README.md(i.e. requirement of nightly). - Improved install instructions in
README.md.
- Added proper
-—versionCLI argument.
- Updated to latest crate dependencies.
- unknown
- Updated to latest crate dependencies.
- Added crates.io categories to Cargo manifest.
- Added support for
impl Trait.
- Fixed broken lines in modules with more than one feature.
- Fixed bug preventing use as
$ cargo modules(vs.$ cargo-modules).
- Tree printing refinements & accessibility improvements.
Initial release.