= `gcovr` Release History and Change Log =

=== 3.2 ''(5 July 2014)'' ===
 - Adding a test for out of source builds
 - Using the starting directory when processing gcov filenames.
   (#42)
 - Making relative paths the default in html output.
 - Simplify html bar with coverage is zero.
 - Add option for using existing gcov files (#35)
 - Fixing --root argument processing (#27)
 - Adding logic to cover branches that are ignored (#28)

=== 3.1 ''(6 December 2013)'' ===
 - Change to make the -r/--root options define the root directory 
   for source files.
 - Fix to apply the -p option when the --html option is used.
 - Adding new option, '--exclude-unreachable-branches' that
   will exclude branches in certain lines from coverage report.
 - Simplifying and standardizing the processing of linked files.
 - Adding tests for deeply nested code, and symbolic links.
 - Add support for multiple —filter options in same manner as —exclude 
   option.

=== 3.0 ''(10 August 2013)'' ===
 - Adding the '--gcov-executable' option to specify
   the name/location of the gcov executable. The command line option
   overrides the environment variable, which overrides the default 'gcov'.
 - Adding an empty "<methods/>" block to <classes/> in the XML output: this
   makes out XML complient with the Cobertura DTD. (#3951)
 - Allow the GCOV environment variable to override the default 'gcov' 
   executable.  The default is to search the PATH for 'gcov' if the GCOV
   environment variable is not set. (#3950)
 - Adding support for LCOV-style flags for excluding certain lines from
   coverage analysis. (#3942)
 - Setup additional logic to test with Python 2.5.
 - Added the --html and --html-details options to generate HTML.
 - Sort output for XML to facilitate baseline tests.
 - Added error when the --object-directory option specifies a bad directory.
 - Added more flexible XML testing, which can ignore XML elements
   that frequently change (e.g. timestamps).
 - Added the '—xml-pretty' option, which is used to
   generate pretty XML output for the user manual.
 - Many documentation updates

=== 2.4 ''(13 April 2012)'' ===
 - New approach to walking the directory tree that is more robust to
   symbolic links (#3908)
 - Normalize all reported path names
   - Normalize using the full absolute path (#3921)
   - Attempt to resolve files refeenced through symlinks to a common
     project-relative path
 - Process `gcno` files when there is no corresponding `gcda` file to
   provide coverage information for unexecuted modules (#3887)
 - Windows compatibility fixes
   - Fix for how we parse `source:` file names (#3913)
   - Better handling od EOL indicators (#3920)
 - Fix so that gcovr cleans up all `.gcov` files, even those filtered by
   command line arguments
 - Added compatibility with GCC 4.8 (#3918)
 - Added a check to warn users who specify an empty `--root` option (see #3917)
 - Force `gcov` to run with en_US localization, so the gcovr parser runs
   correctly on systems with non-English locales (#3898, #3902).
 - Segregate warning/error information onto the stderr stream (#3924)
 - Miscellaneous (Python 3.x) portability fixes
 - Added the master svn revision number as part of the verson identifier


=== 2.3.1 ''(6 January 2012)'' ===
 - Adding support for Python 3.x


=== 2.3 ''(11 December 2011)'' ===
 - Adding the `--gcov-filter` and `--gcov-exclude` options.


=== 2.2 ''(10 December 2011)'' ===
 - Added a test driver for gcovr.
 - Improved estimation of the `<sources>` element when using gcovr with filters.
 - Added revision and date keywords to gcovr so it is easier to identify
   what version of the script users are using (especially when they are
   running a snapshot from trunk).
 - Addressed special case mentioned in [comment:ticket:3884:1]: do not
   truncate the reported file name if the filter does not start matching
   at the beginning of the string.
 - Overhaul of the `--root` / `--filter` logic. This should resolve the
   issue raised in #3884, along with the more general filter issue
   raised in [comment:ticket:3884:1]
 - Overhaul of gcovr's logic for determining gcc/g++'s original working
   directory. This resolves issues introduced in the original
   implementation of `--object-directory` (#3872, #3883).
 - Bugfix: gcovr was only including a `<sources>` element in the XML
   report if the user specified `-r` (#3869)
 - Adding timestamp and version attributes to the gcovr XML report (see
   #3877).  It looks like the standard Cobertura output reports number of
   seconds since the epoch for the timestamp and a doted decimal version
   string.  Now, gcovr reports seconds since the epoch and 
   "`gcovr `"+`__version__` (e.g. "gcovr 2.2") to differentiate it 
   from a pure Cobertura report.


=== 2.1 ''(26 November 2010)'' ===
 - Added the `--object-directory` option, which allows for a flexible
   specification of the directory that contains the objects generated by
   gcov.
 - Adding fix to compare the absolute path of a filename to an exclusion
   pattern.
 - Adding error checking when no coverage results are found. The line and
   branch counts can be zero.
 - Adding logic to process the `-o`/`--output` option (#3870).
 - Adding patch to scan for lines that look like:
   {{{
creating `foo'
}}}
   as well as
   {{{
creating 'foo'
}}}
 - Changing the semantics for EOL to be portable for MS Windows.
 - Add attributes to xml format so that it could be used by hudson/bamboo with
   cobertura plug-in.


=== 2.0 ''(22 August 2010)'' ===
 - Initial release as a separate package.  Earlier versions of gcovr
   were managed within the 'fast' Python package.

