Although a minor release, Code Base Investigator v1.2.0 includes a few significant changes.
Important
In previous releases of Code Base Investigator, the main script was called codebasin.py
. The old naming was a bug that needed to be fixed, and we made the difficult decision to rename the script ahead of the next major release.
New Features
- Filter platforms with
--platform
(or-p
). - Exclude files from an analysis with
--exclude
(or-x
). - Use git-like "pathspec" patterns to describe exclude files instead of globs.
- Configure analysis with a new, simplified, TOML file format.
- Define implicit compiler behaviors (e.g., version macros, system include paths).
For more information on using these features, see the new and improved online documentation.
Bug Fixes
- Added support for
#include
files with non-standard extensions. - Improved handling of duplicate files.
- Renamed
codebasin.py
tocodebasin
.
Preparation for Code Base Investigator v2.0.0
- Several features are deprecated and will be removed in the next major release.
What's Changed
- Fix divergent-source example by @Pennycook in #17
- Pre-commit workflow by @laserkelvin in #21
- Improve usability for large projects by @Pennycook in #22
- Add warning for missing include files by @Pennycook in #23
- Improve warning message for unrecognized directive by @Pennycook in #24
- Permit include files with non-standard extensions by @Pennycook in #26
- Add ability to recognize compilers by @Pennycook in #27
- Fix codebasin package by @Pennycook in #29
- Fix bug in multi-pass compiler handling by @Pennycook in #30
- Update code style by @Pennycook in #31
- Update contributing guidelines by @Pennycook in #34
- Refactor usage of args (excluding *args) to argv by @itsjayway in #33
- Fix incorrect usage of _representation_string by @Pennycook in #37
- Simplify schema handling and fix several bugs by @Pennycook in #35
- Remove unused configuration files by @Pennycook in #38
- Deprecate the codebasin package by @Pennycook in #40
- Add support for exclude patterns by @Pennycook in #42
- Templates for pull requests and issues by @laserkelvin in #44
- Adjust pull request template formatting by @Pennycook in #48
- Catch all exceptions and convert them to errors by @Pennycook in #51
- Fix unintended skipping of
bandit
inpre-commit
hooks and added scan specifications by @laserkelvin in #52 - Remove flake8-bandit from pre-commit by @Pennycook in #53
- Update dependency versions by @Pennycook in #55
- Replace importcfg.json with config TOML file by @Pennycook in #56
- Restore missing {} to report outputs by @Pennycook in #57
- Add option to define platforms on the command line by @Pennycook in #49
- Replace --rootdir (-r) with --source-dir (-S) by @Pennycook in #59
- Add schema file required by functionality from #56 by @Pennycook in #63
- Deprecate unmaintained functionality by @Pennycook in #62
- Rename codebasin.py to codebasin by @Pennycook in #64
- Add Github action to run
unittest
by @laserkelvin in #65 - Add TOML files required by tests from #56 by @Pennycook in #61
- Replace YAML config files with TOML analysis files by @Pennycook in #60
- Separate deprecated options in -h output by @Pennycook in #68
- Make all deprecation warnings DeprecationWarnings by @Pennycook in #69
- Deprecate passing more than one value to --report by @Pennycook in #70
- Ignore SciPy UserWarning about axis limits by @Pennycook in #74
- Check if codebase section exists in analysis file by @Pennycook in #75
- Remove --source-dir (-S) option by @Pennycook in #78
- Simplify platform option by @Pennycook in #76
- Fix broken dendrogram names by @Pennycook in #77
- Fix double percent symbol in report output by @Pennycook in #80
- Add --version option by @Pennycook in #83
- Improve compile command handling by @Pennycook in #82
- Remove duplicate detection by @Pennycook in #79
- Rewrite the documentation by @Pennycook in #85
- Bump version to 1.2.0 by @Pennycook in #88
New Contributors
- @laserkelvin made their first contribution in #21
- @itsjayway made their first contribution in #33
Full Changelog: 1.1.0...1.2.0