# Changelog All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [0.7.0] - 2024-08-05 ### Added - LLVM 19 support (ignores function entry coverage and some failing proftext files) ## [0.6.0] - 2024-05-17 ### Added - Added the ability to filter out certain sections from the generated coverage reports ### Changed - Now use some hashmap based caching to speedup record lookup during profile merge. ## [0.5.0] - 2024-04-28 ### Changed - Now allow binaries to fail parsing for the mapping information (depdendent on function argument) ## [0.4.0] - 2024-04-12 ### Added - LLVM 17 and 18 support (test fails still: `check_mapping_consistency` but tarpaulin tests all pass so nearly all working) ### Changed - Removed another two redundant hash computations ## [0.3.3] - 2023-04-04 ### Changed - Cache name hash calculation to avoid recomputing (perf) ## [0.3.2] - 2023-03-29 ### Added - llvm-16 test files to ensure support doesn't break ### Fixed - Fixed parsing of branch region counters ## [0.3.1] - 2023-01-23 ### Added - Debug logging via tracing ### Fixed - Build on 32 bit architectures ## [0.3.0] - 2022-09-26 ### Added - `InstrumenationProfile::is_empty` to detect when there are no records - Fuzzing module for profile files ### Changed - Added anyhow and use in place of `Result>` - Make error type for profiles `VerboseError` ### Fixed - Handle merging of completely disjoint records - now profiles generated from multiple applications are accurately merged - Handle invalid Hash enum variant in `IndexedProfile` ## [0.2.0] - 2022-09-11 ### Changed - Made instrumentation profile parsing failure message more serious - Made hit adding in report use `saturating_add` to prevent overflow ### Fixed - Make counter value signed when tracking expressions to prevent underflow - Multiply max counters by counter size when comparing to counter delta - Fixed handling of profile instrumentation not tied to a counter with source location - Incorrect matching on hashes for instrumentation profile merging ## [0.1.1] - 2022-06-26 ### Added - Detection of memory profiling ### Fixed - Counter offsetting in raw profiles now implemented - Counter size for byte coverage now correct - Text profile now handles carriage returns ## [0.1.0] - 2022-06-05 ### Added - Parsing of indexed, text and raw profiles (llvm version 11, 12, 13, 14) - Parsing of instrumented binary and generating line coverage reports