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
.git
now). - Use
"current_working_directory"
key of gcov's JSON. - Take advantage of
--stdout
option of gcov if present.new-gcovi
works 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
-Werror
fromMakefile
. - 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
help
builtin command which details commands and their usage. - Parse
.git/uncov.ini
configuration file for settings. - Implement name-binning of gcov input files to work around its bug. This fixes use of
new-gcovi
with GCC 8. - Support
gcov --json-format
bynew-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-invocations
option (by Fabian Wermelinger). - A slightly more robust parsing of
.gcov
files (by Fabian Wermelinger). - Parse
.gcov
line data based on line number ID (by Fabian Wermelinger). This fixes incorrect coverage results on explicit template instantiation. - Make
--exclude
and--include
accept list of arguments (by Fabian Wermelinger).
Vim-plugin
- Switch to using newer fugitive API.
- Improve startup time.
Building
- Add install
PREFIX
to Makefile (by Fabian Wermelinger). - Add
ld_extra
variable 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-gcovi
subcommand that usesgcov
's intermediate format and thus works faster thanuncov-gcov
. - Better normalization of relative paths.
- Better parsing error messages for
new
subcommand. - More strict input parsing for
new
subcommand. - Make
new
subcommand 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-gcov
failing to restore untracked directory.
Vim-plugin
- Make
:Uncov
command 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}++11
language 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
@branch
notation to specify build. - Add relative build addressing via
@-N
form. - 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-name
option to uncov-gcov. - Provide manual page.
- Make it possible to specify location of gcov files (
--collect-root
option). - Fix a typo in usage message.
Vim-plugin
- Accept buildid in
:Uncov
command. - Ensure current line is not folded.
- Make
:Uncov
operate 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
README
being blurry. - Fix what
INSTALL
says 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.