Changelog
All notable changes to the Code Coverage package will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
[1.1.1] - 2021-12-17
Fixes
- Ensure assemblies are removed from the Included Assemblies field if they no longer exist (case 1318668)
Changes
- Updated Report Generator to version 4.8.13
Improvements
- Added Help IconButton in the Code Coverage window for Unity versions 2021.2.2f1 and above
- Added What's new and Upgrade guide pages in the documentation
- Updated documentation to match version 1.1.1
[1.1.0] - 2021-06-09
Fixes
- Ensure Results and History folders are created if they do not exist (case 1334551)
- Added support for ExcludeFromCoverage/ExcludeFromCodeCoverage for lambda expressions and yield statements (case 1338636)
- Added support for ExcludeFromCodeCoverage for getter/setter properties (case 1338665)
- -coverageOptions are only parsed when running from the command line (feedback)
Changes
- Updated Report Generator to version 4.8.9
Improvements
- Implemented changes to support Test Framework package version 1.2
- Logs while the Report is generated are output per message rather than at the end of the generation
- Do not log burst warning when
-burst-disable-compilation
is passed in the command line - Added Ignoring tests for Code Coverage section in documentation
- Updated the Generate combined report from separate projects section in documentation
- Updated documentation to match version 1.1.0
Features
- Added
Code Coverage session Events
API to subscribe to events invoked during a Code Coverage session - Added
useProjectSettings
in -coverageOptions for batchmode which allows using the settings specified inProjectSettings/Settings.json
- Added
pathStrippingPatterns
in -coverageOptions for batchmode which allows stripping specific sections from the paths that are stored in the coverage results xml files - Added
sourcePaths
in -coverageOptions for batchmode which allows specifying the source directories which contain the corresponding source code
[1.0.0] - 2021-03-09
Fixes
Improvements
- Selection/focus is cleared when mouse is clicked outside of the individual settings' areas
- Added Quickstart guide in documentation
- Renamed the Code Coverage Workshop sample to Code Coverage Tutorial
- Updated documentation and workshop to match version 1.0.0
Note: In Unity 2019 and 2020 you can enable Code Coverage in General Preferences. This was removed in Unity 2021; the user interface for managing Code Coverage is now entirely inside the Code Coverage package.
[1.0.0-pre.4] - 2021-02-26
Fixes
- Fixed assembly version validation error due to internal libraries included in the ReportGeneratorMerged.dll (case 1312121)
Changes
- Added Enable Code Coverage checkbox under Settings in Code Coverage window.
Note: In Unity 2019 and 2020 you can enable Code Coverage in General Preferences. This was removed in Unity 2021; the user interface for managing Code Coverage is now entirely inside the Code Coverage package. - The settings and options passed in the command line override/disable the settings in the Code Coverage window and relevant warnings display to indicate this
- Updated Report Generator to version 4.8.5
- Updated documentation and workshop to match version 1.0.0-pre.4
Improvements
- Added
verbosity
in -coverageOptions for batchmode - Added Generate combined report from separate projects section in documentation, under Using Code Coverage in batchmode
[1.0.0-pre.3] - 2021-01-21
Fixes
- Updated Include Platforms to Editor only in the ReportGeneratorMerged.dll settings. Fixes an Android build error introduced in 1.0.0-pre.2 (case 1306557)
[1.0.0-pre.2] - 2021-01-13
Fixes
- Fixed multiple reports generated in batchmode when passing
generateHtmlReport
in -coverageOptions without passing-runTests
Changes
- All project assemblies are included when there are included paths specified in pathFilters but no included assemblies in assemblyFilters, when running in batchmode
- Updated Report Generator to version 4.8.4
- Updated documentation to match version 1.0.0-pre.2
Improvements
- Introduced new assemblyFilters aliases in batchmode, used for referencing a group of assemblies to include or exclude. These are
<user>
,<project>
and<packages>
[1.0.0-pre.1] - 2020-11-12
- 1.0.0-pre.1 matches 0.4.0-preview
[0.4.0-preview] - 2020-11-11
Changes
- Moved Code Coverage window under Window > Analysis
- Included Assemblies now use a single dropdown instead of an editable text field which acted as a dropdown
- Added CommandLineParser and removed dependency to internals in Test Framework
- Removed the old EditorPref workflow from CoveragePreferences
- Moved Generate History outside of Generate HTML Report. It is now disabled only if both Generate HTML Report and Generate Badges are not selected
- Updated Report Generator to version 4.7.1
- Updated documentation and workshop to match version 0.4.0-preview
Improvements
- Implemented
{ProjectPath}
alias inSettings.json
- Added a console warning when Burst Compilation is enabled and an info HelpBox with a button to disable
- Added Analytics to help improve the user experience
- Disabled Generate from Last button when there are no assemblies selected
- Display an info HelpBox when there are no assemblies selected
- Paths are now stored with forward slashes on Windows
- Added warning about Code Coverage not being supported currently when running PlayMode tests in standalone player
- Refactored code; in Utils, Filtering, ResultWriter, Window and API classes
- Added CoverageWindow and Filtering folders
Features
- Added Included Paths and Excluded Paths as ReorderableLists in the Code Coverage window
- Added support for
ExcludeFromCoverage
andExcludeFromCodeCoverage
attributes - Added
CodeCoverage.VerbosityLevel
API to set the verbosity level used in editor and console logs
[0.3.1-preview] - 2020-08-03
Fixes
- Fixed issue where CRAP calculation was incorrect when generic methods were parsed
- Corrected Six Labors License copyright in Third Party Notices
Changes
- If
assemblyFilters
is not specified in -coverageOptions in batchmode, include only the assemblies found under the Assets folder - Updated Report Generator to version 4.6.4
[0.3.0-preview] - 2020-05-20
Fixes
- Make sure operator and anonymous function names are generated correctly
Changes
- Added Generate Additional Metrics setting in the Code Coverage window and removed Cyclomatic Complexity (it is now included in Additional Metrics)
- Updated Report Generator to version 4.5.8
- Updated documentation to match version 0.3.0-preview
Improvements
- Added Code Coverage Workshop sample project
- Using the Settings Manager package to handle the serialization of project settings
- Added an info HelpBox when Code Optimization is set to Release mode with a button to switch to Debug mode
- Execute Stop Recording on the update loop, instead of the OnGUI (removes an EndLayoutGroup error)
- Refactored code; in OpenCoverReporter class (to reduce Cyclomatic Complexity), in CodeCoverageWindow class and others
Features
- Added History Location and Generate History settings in the Code Coverage window
- Added
coverageHistoryPath
andgenerateHtmlReportHistory
in -coverageOptions for batchmode - Added
generateAdditionalMetrics
in -coverageOptions for batchmode and removed enableCyclomaticComplexity (it is now included in Additional Metrics) - Added Crap Score in Additional Metrics. See How to interpret the results.
[0.2.3-preview] - 2020-02-18
Fixes
- Included Assemblies dropdown is now resizing to the longest assembly name (1215600)
- When closing (selecting outside of) the Included Assemblies dropdown, input is not accidentally propagated to the Code Coverage window
Improvements
- If more than one instance of the -coverageOptions command-line argument is specified, they will now be merged into a single instance
- If more than one instance of the -coverageResultsPath command-line argument is specified, only the first instance will be accepted
- Added Generate combined report from EditMode and PlayMode tests section in documentation, under Using Code Coverage in batchmode
[0.2.2-preview] - 2019-12-11
Fixes
- Fixed unassigned CodeCoverageWindow.m_IncludeWarnings warning in 2019.3
Changes
- The default Included Assemblies are now only the assemblies found under the project's Assets folder, instead of all project assemblies
Improvements
- After the report is generated, the file viewer window highlights the
index.htm
file, if Generate HTML Report is selected
[0.2.1-preview] - 2019-12-04
Improvements
- Improved globbing for
pathFilters
andassemblyFilters
- Added new sections and examples in documentation
- Added confirmation dialogs when selecting Clear Data and Clear History buttons
- Added warning and button to switch to debug mode, when using Code Optimization in release mode in 2020.1 and above
Features
- Added
pathFilters
in -coverageOptions for batchmode
[0.2.0-preview] - 2019-11-13
Fixes
- Make sure recording coverage results are saved in the Recording folder, and starting a new recording session does not affect existing non-recording data
Changes
- Updated Report Generator to version 4.3.6
- Split documentation into separate pages
Improvements
- Updated UX design of the Code Coverage window
- Make sure settings and Record button are disabled when coverage is running
- Make sure coverage window is disabled before unity is restarted when Enabling Code Coverage in Preferences
- Only parse xml files with the correct filename format when generating the report
- Implemented try/catch when deleting files/folders when selecting Clear Data or Clear History
- Handle nested classes, nested generic classes and anonymous functions
Features
- Exposed
CodeCoverage.StartRecording()
,CodeCoverage.StopRecording()
,CodeCoverage.PauseRecording()
andCodeCoverage.UnpauseRecording()
API
[0.1.0-preview.3] - 2019-09-27
Improvements
- Passing
-coverageOptions generateHtmlReport
on the command line now creates a report if-runTests
is not passed
[0.1.0-preview.2] - 2019-09-23
Changes
- Updated Report Generator to version 4.2.20
Improvements
- Added support for correct naming of c# operators
- Added support for correct naming of constructors
- Added declaring type name as a prefix
- Added support for return types in method names
Features
- Added Coverage Recording feature