Product

Changelog

A peek into what's been going on in the OtterWise product development department. We publish changelogs for even the smaller updates, in an effort to stay transparent.

2026-02-04

Complexity vs Coverage Quadrant in Analytics

Improvements
  • Repository Analytics now includes a Complexity vs Coverage quadrant chart that highlights “hard to test” files (low coverage + high complexity/CRAP per line). You can click points to jump directly to the file, and use the table to prioritize the top candidates for testing improvements.

2026-02-03

Time-to-merge chart added to Reporting

Improvements
  • Organization Reporting → Pull Requests now includes a new "Time to merge" chart. It shows the average number of days from PR creation to merge, grouped by month, so you can spot review-cycle trends over time.

2026-01-31

Churn-Weighed Coverage Risk Report Rolling Out

Improvements
  • A new report is being rolled out: Churn-Weighed Coverage Risk.

    This new report will highlight your most frequently changing files along with their coverage, and complexity metrics if your coverage format supports it.

    Frequently changing files with high complexity and low coverage are high risk to introduce bugs or other side effects, and great candidates for adding tests.

    We will do a slow rollout to gather feedback, fix bugs and improve performance, aiming for general availability in mid-february.

    More information will be added in our upcoming blog posts which will dive deeper.

2026-01-30

Code Viewer Expiration Can Now Be Changed

Improvements
  • We recognise that the 2-hour expiration window for code viewer tokens was not ideal for all use cases.

    So starting today, users can now opt to change this to any of the following: 2 hours, 8 hours, 24 hours, 3 days, 7 days, 14 days, 30 days.

    This should give much greater flexibility to teams that frequently use the code viewer.

    You can modify your token expiration in your profile page (link also provided when authorizing the code viewer).

    A note on security: the code viewer is completely safe to use. Revocation, expiration and auth-separation is built because we believe in "minimum permission by default". We have seen competitors get hacked and source code potentially exposed, so this feels like a necessary step to limit risk.

2026-01-29

Contributor Reports now available

Improvements
  • The Contributors tab in Organization Reporting is shows per-contributor coverage metrics from merged pull requests, including: number of merged PRs, total coverage change, average patch coverage, lines added with coverage, and uncovered lines removed. Organization admins can optionally enable access for all members using the "Public User Reporting" setting.

2026-01-07

Status Checks for Patch Coverage is now always included

Bugfixes
  • To avoid situations where GitHub Branch Protection rules for Patch coverage got stuck in pending, we now push status checks for Patch Coverage regardless of patch lines being present or not, this means you will see 100% patch coverage in those situations.

2025-12-21

API: Repository Search Functionality Added

Improvements
  • Implemented API search functionality for the repository list using ?query=[search query], allowing for searching repositories by name wildcard.

2025-11-05

Bash Uploader: CI Compatibility & Reliability Update

Improvements
  • New CI Platform Support
    • GitLab CI - Full integration with pipeline tracking, merge request handling, and automatic branch detection.
    • Azure Pipelines - Complete support including build tracking, PR detection, and automatic branch name normalization.
  • SHA-256 Support - Now accepts both SHA-1 (40 char) and SHA-256 (64 char) commit hashes for Git's new hash algorithm.

  • Improved support for TravisCI, CircleCI, AppVeyor, Jenkins, GitHub Actions with more relevant data and better detection.

  • GitHub Action Workflow - Now supports pinning the bash-uploader to a specific commit SHA using input bash-uploader-sha: [SHA]

Bugfixes
  • Cross-Platform Compatibility - Fixed sed command failures on macOS/BSD systems by removing GNU-specific flags.

  • First commit detection using git show instead of failing

  • Better detached HEAD state handling with multiple fallback strategies

  • Added pre-flight checks for required tools (git, jq, curl, awk) with clear error messages.

  • Added claude to ignored bots, to avoid giving credit to bots/LLMs for coverage changes.

2025-11-03

Added Complexity Per-file in repository view

Improvements
  • You can now see Complexity per file when viewing the repository file list. This is a great way to identify complex files that might need refactoring or simplification to improve code quality.

  • Soon we will be adding sorting and new graphs to better visualize complexity per file and over time.

2025-10-31

Added GoLang-coverage file support

Improvements
  • We have added support for parsing code coverage files outputted by Go using the command: go test -coverprofile=coverage.out.

    The most recent version of the bash uploader will also automatically look for coverage.out file in the root unless a specific filename is set.

    This means you can upload coverage files from the standard Go testing library without installing gocover-cobertura or similar tools anymore.

    See our Blog post on Go and our Go documentation page.

2025-10-28

Introducing Graphs for CRAP per line and Complexity in the repository view

Improvements
  • Today we are adding graphs for CRAP per line and Complexity when viewing the repository, for all plans. Simply click the metrics when available and it will show you a history of coverage, complexity or 'CRAP per line' respectively.

    Each metric shows the difference introduced, such as increased coverage, decreased complexity and so on.

    As with coverage, the complexity and 'CRAP per line' also links to the related commit / Pull Request and will take you there simply by clicking on the point in the graph when hovered.

    This will give your team a much better understanding of what is going on with your projects code quality.

    We are also working on adding historical type coverage reporting into this graph, as well as other reporting features being added to all plans.

Bugfixes
  • Fixed: Ingress pipelines has been improved to better handle spikes and invalid data

2025-10-27
Bugfixes
  • Fixed: Chrome browser extension now works with latest GitHub UI changes

2025-10-04
Improvements
  • We now have an official GitHub Actions uploader, which can be found at GitHub Marketplace

  • Improved: The Bash Uploader now has automatic fallback to our old upload endpoint for increased reliability.

2025-10-01
Improvements
  • Today we had significant downtime (57 minutes) for the first time in years, something we consider unacceptable. To prevent this from happening again, we have made several changes to our infrastructure and processes:

    Instead of a simple load-balanced setup for our Ingress API, we have moved to a queue-based system handled by Cloudflare Workers, with fallback to AWS Lambda, and with final failover back to the original endpoint. This makes the system more resilient to spikes in traffic and failures in individual components.

    This means that the Ingress API is no longer a single point of failure, and can handle much higher loads.

    You should also see improved latency when uploading coverage data, due to the edge-based nature of Cloudflare Workers.

    This process requires no changes on your end, and your existing upload scripts will continue to work as before. We will continue to monitor this new setup closely.

    We have also added a link to our Uptime Statuspage in the footer of our website, so you can always check the current status of our services.

    In short, this means our database, website, API, dashboard and other components can crash or be taken down for maintenance, without affecting your ability to upload coverage data.

2025-08-13
Bugfixes
  • Fixed: Line annotations would sometimes fail to be created when Git diffs with deletions were processed, this was due to non-sequential line numbers in the diff. This has been fixed and line annotations should now be created correctly going forward as well as historically.

2025-08-02
Bugfixes
  • Fixed: API Token creation was mistakenly hidden behind a feature flag for ~50% of users, which meant that some users could not create API Tokens. This has been fixed and all users can now create API Tokens. This was reported by users using our Browser Extensions, which requires API Tokens to work.

2025-08-02
Bugfixes
  • Fixed: API Token creation was mistakenly hidden behind a feature flag for ~50% of users, which meant that some users could not create API Tokens. This has been fixed and all users can now create API Tokens. This was reported by users using our Browser Extensions, which requires API Tokens to work.

2025-07-28
Improvements
  • Pull Requests: Added "Outdated Base" badge on Pull Requests where the base branch has had more recent coverage uploaded in the Pull Requests overview inside OtterWise. This is to help identify Pull Requests that might need a rebase or merge to get the latest coverage data from the base branch.

  • Pull Requests: Added new filter option "Open with Outdated Base" to the Pull Requests overview inside OtterWise, to quickly find Pull Requests that have an outdated base branch.

2025-04-04
Improvements
  • Coverage graph now goes to latest commit date rather than today, filling out the graph better for repositories with infrequent commits.

2025-03-28
Bugfixes
  • Fixed: The sparklines introduced in a recent release now shows coverage data only for the default branch, rather than all commits for the repository. This was causing confusion as the sparklines would show data for branches that were not the default branch, and could be misleading.

Ready when you are

Ship better code faster, with confidence.

PR comments, status checks, line annotations, and trends, all without code access. Free for public repos; per-repo pricing for private repos.