Skip to content

Releases: plasma-umass/coverup

Improved Claude support, works around crashes in recent Python

31 Jul 20:46

Choose a tag to compare

  • improved Claude support by @emeryberger;
  • temporarily disabled use of pytest-cleanslate for isolation, replacing it with pytest-isolate, as pytest-cleanslate seems to cause crashes in more recent (>3.10) Python versions. Unfortunately, does not provide isolation during test collection;

Re-release with new logo

05 Jun 17:58
3b8725f

Choose a tag to compare

This release makes no functional changes.

Re-release for Zenodo

10 Apr 08:20

Choose a tag to compare

This just re-releases 0.6.0 for Zenodo.

Python 3.13, new default model, cleanups and fixes

14 Mar 12:12

Choose a tag to compare

  • added Python 3.13 support;
  • changed default OpenAI model to gpt-4o to benefit from newer model and lower prices;
  • limited number of tool function calls to 50 per chat, as gpt-4o-2024-05-13 was observed constantly calling a tool function with the same arguments;
  • added more ablated prompters to facilitate evaluation;
  • fixed missing handling for when tiktoken is unable to find encoding for model;
  • various cleanups;
  • added tentative workarounds for Python 3.10 async process runner cleanup bug;

Improved performance using tool function

19 Sep 20:20

Choose a tag to compare

This release:

  • uses a much improved ("gpt-v2") prompt. Among other things, the prompt offers a tool function that allows the LLM dynamically request additional context about the source code;
  • includes full JSON dump of exchanges in log files;
  • provides a tool module, coverup.logreader, that reorganizes events in log files, so that full sequences for each code segment can be viewed in order;
  • renames --source-dir to --package-dir, to better indicate what it does;
  • improves interactions with pytest-cleanslate;
  • makes the Prompter interface more flexible, allowing for more customization;

Bug fixes and tweaks

17 Jun 15:54

Choose a tag to compare

This release:

  • renames --source-dir to --module-dir, to clarify that it should be the directory holding the module's sources;
  • shows the before and after coverage relative to the source files requested, if any;
  • fixes authentication error handling;
  • switches to also using pytest-cleanslate for disabling polluting tests;
  • fixes GPTv1 and Claude prompts not using filenames relative to the Python path, causing some LLMs to generate import statements starting with "lib" or "src";
  • fixes a bug not ignoring import __main__ while detecting unavailable imports;

GPT4o default, improved test isolation

20 May 15:29

Choose a tag to compare

This release:

  • switches to using the faster (and much cheapter) GPT4o model by default;
  • greatly improves test isolation support, which now resides in pytest-cleanslate;

Increased model support, test isolation, bug fixes

01 May 18:55

Choose a tag to compare

  • added support for Anthropic, Bedrock and Ollama models, using litellm;
  • added --prompt-family to select between prompt styles/versions;
  • separated prompts into more easily modifiable module;
  • implemented test collection isolation and changed to using it by default;
  • various improvements to "bad test" finder;
  • various adjustments to the prompts;
  • implemented asynchronous test running and coverage collection;
  • various bug fixes;
  • improved packaging, so that project description shows properly on PyPI;

Bugfix release

02 Feb 04:10

Choose a tag to compare

Just a quick bugfix release.

Initial release

01 Feb 21:53

Choose a tag to compare

Bringing out a first, very early, release of CoverUp. Yay!