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
- Add pydot as dependency (#41)
- Adjust for NetworkX 2.0
- cppdep running twice per call after installation with setup.py (#39)
- Allow '-' in source file names
- Move the example configuration to project wiki
- PyPI installation failure due to project structure (#38)
- Pairing header and implementation files in different locations (#19)
- Handle 'ipp' template implementation source files (#31)
- Behavior specification for anomalous conflicting component files (#27)
- Implement ignore/exclude paths (#23)
- Accept glob pattern for source paths (#36)
- Project wiki pages
- Regex pattern based include directive classification (#22)
- Deduce external packages from the include directive w/o filesystem search (#18)
- Handle header files w/o extensions (Boost/STL/Qt/etc.) (#32)
- Use POSIX path separator in component names (for cross-platform report stability)
- Configuration file validation against the schema (with PyKwalify)
- pytest instead of nose
- YAML configuration files instead of XML (#24)
- Implicit single-path alias Package construction
- Exception leaks out of main()
- Unicode Escape Error on graph dot on Windows with Python 2.7 (#35)
- Python3 UnicodeDecodeError for 'utf-8' in source files (#30)
- Logging: Type Error: not all arguments converted during string formatting (#28)
- The original ldep '-l|-L' options to print dependencies (#20)
- '-o' to print reports into a file
- Warn about duplicate and redundant includes (#13)
- Extended definition for 'Component' (#7)
- PEP-257 conformance (#2)
- PEP-8 conformance (#1)
- Python 3 support
- PyPI package
- XML configuration example and RNG schema
- Travis CI (Linux, OS X) and AppVeyor CI (Windows) setups
- Differentiate 'paths' into source, include, and alias.
- Print warnings to stderr instead of stdout (#12)
- Report Component levels instead of Graph layers (#9)
- Refactor the procedural design into the object-oriented design (#4)
- Change '-f' flag into '-c' flag
- Replace optparse with argparse
- XML configuration file format
- Redundant printing a list of cumulative dependencies (#20)
- Indirect missing-header include warnings
- Global cross-package and cross-package-group component dependency analysis
- 'details-of-components/--debug' verbosity
dot2any.py
helper script- Manual profiling code (use
pyvmmonitor
instead) - Manual testing code (automated with
nosetest
)
- Level 0 External components missing from the report and graph (#21)
- Incorrect dependency processing with file basenames (#6)
- Wrong level calculation for cycles (#8)
- Double counting of common components in CCD calculations (#11)
- Missing cycles from the Dot graph (#10)
- Outdated networkx API usage
Big Bang: fork https://github.com/yuzhichang/cppdep