Releases: xaizek/uncov
v0.5: performance & git worktrees
Not many changes here, but a nasty bug was fixed, worktrees are handled well now and performance of adding a build went up by an order of magnitude or so (depends on GCC version in use, project size and how coverage is collected).
General
- Create index on files table of the database. This bumps database version even though its schema doesn't actually change. The change grows database size a bit, but makes addings new reports significantly faster.
Core and CLI
- Handle git worktrees (config and database are looked up first in parent's
.gitnow). - Use
"current_working_directory"key of gcov's JSON. - Take advantage of
--stdoutoption of gcov if present.new-gcoviworks significantly faster thanks to it and with less I/O. - Fixed one use-after-free.
Vim-plugin
- Update Vim plugin for newer fugitive API.
Building
- Remove
-WerrorfromMakefile. - Make it work better with clang.
v0.4: uncov.ini, `gcov --json-format`, `uncov help`
Configuration file, JSON-based intermediate format of gcov, help subcommand and other improvements.
General
- Pin version of the license to be AGPLv3 only.
Core and CLI
- Add
helpbuiltin command which details commands and their usage. - Parse
.git/uncov.iniconfiguration file for settings. - Implement name-binning of gcov input files to work around its bug. This fixes use of
new-gcoviwith GCC 8. - Support
gcov --json-formatbynew-gcovi, which makes it usable with GCC 9 and newer.
Web-UI
- Make UI look better on smaller screens.
- Fix links to builds having number separators.
uncov-gcov
- Add
--cpp-dtor-invocationsoption (by Fabian Wermelinger). - A slightly more robust parsing of
.gcovfiles (by Fabian Wermelinger). - Parse
.gcovline data based on line number ID (by Fabian Wermelinger). This fixes incorrect coverage results on explicit template instantiation. - Make
--excludeand--includeaccept list of arguments (by Fabian Wermelinger).
Vim-plugin
- Switch to using newer fugitive API.
- Improve startup time.
Building
- Add install
PREFIXto Makefile (by Fabian Wermelinger). - Add
ld_extravariable for linker to Makefile (by Fabian Wermelinger). - Always use UTC timezone in the tests.
v0.3: Intermediate gcov format and other improvements
Core and CLI
- Add
new-gcovisubcommand that usesgcov's intermediate format and thus works faster thanuncov-gcov. - Better normalization of relative paths.
- Better parsing error messages for
newsubcommand. - More strict input parsing for
newsubcommand. - Make
newsubcommand accept reference with spaces. - Fix incorrect parsing of optional build ids in subcommands.
Web-UI
- Add line numbers to diffs. Clicking on them opens corresponding files.
- Add map of missed ranges for faster overview of what's not covered.
- Add LSB header to the sample init script.
- Put links in tables on first column instead of on whole row.
- Disallow robots from bothering the site (it doesn't contain interesting stuff).
- Highlight current line number.
- Fix formatting of line number anchors (avoid separators).
uncov-gcov
The script is now deprecated in favour of new-gcovi subcommand.
- Add "WIP on " prefix to captured builds.
- Ignore
};lines. - Do not ignore lines starting with
static_cast. - Account for possible
*in count column ofgcov-files produced by newgcov. - Fix
uncov-gcovfailing to restore untracked directory.
Vim-plugin
- Make
:Uncovcommand accept@-buildid. - Fix error on folding last lines of a buffer.
- Fix coverage signs being offset by one.
Building
- Build web object files from correct source files.
- Build with
-std={c=>gnu}++11language option. - Try to avoid file-system races on parallel build.
- Fix compiling tests against Boost 1.55.
AppImage
The name of the tool should be provided as the first argument. For convenience, rename the binary to uncov and access the tools as uncov builds, uncov web, etc. Alternatively, make symbolic links to the file named uncov, uncov-gcov and uncov-web (this works with tools, but not with subcommands).
Python interpreter isn't bundled, so you need to have it installed for uncov-gcov to work (or just use uncov new-gcovi).
The AppImage is signed with PGP key which has the following fingerprint:
2234 9CDB E522 7D21 08A5 6677 99DC 5E4D B05F 6BE2
v0.2: Add Web-UI
Core and CLI
- Add "regress" subcommand.
- Add
@branchnotation to specify build. - Add relative build addressing via
@-Nform. - Make sure there are no separators in line numbers.
- Small speed improvement in diffs.
- Allow one extra coverage line compared to source file.
- Fix folding on colorless printing.
- Fix buildid resolution for "files" and alike.
Web-UI
Added it.
Capable of:
- browsing files;
- displaying current coverage;
- displaying changes;
- providing badges.
uncov-gcov
- Add
--ref-nameoption to uncov-gcov. - Provide manual page.
- Make it possible to specify location of gcov files (
--collect-rootoption). - Fix a typo in usage message.
Vim-plugin
- Accept buildid in
:Uncovcommand. - Ensure current line is not folded.
- Make
:Uncovoperate differently in uncov-buffer. - Fix table of contents in Vim's documentation file.
Documentation
- Add complete Doxygen documentation.
- Better structure of the
README. - Make args in synopsis bold in the manual page.
- Fix diff screenshot in the
READMEbeing blurry. - Fix what
INSTALLsays about build mans.
v0.1: First release.
Capable of:
- Code highlighting.
- Comparison of coverage.
- Displaying parts of files that need attention with regard to coverage.
- Displaying coverage right in Vim.
Includes:
- Console utility.
- gcov data importer.
- Vim-plugin.