# Releases

## v0.37.1

  - Fixed `Sus::Mock#wrap` to forward blocks to the original method, and fixed `receive(...).with_block(...)` to use the supplied predicate.

## v0.37.0

  - Long values in verbose (and failure) output are now truncated to a configurable length (default 100 characters), preventing huge objects from flooding the output. Set the `SUS_OUTPUT_VARIABLE_TRUNCATION_LIMIT` environment variable to change the limit, or `0` to disable truncation.

## v0.36.0

  - Hard code `XTerm` output for GitHub Actions, as it supports ANSI escape codes.

## v0.35.0

  - Add `Sus::Fixtures::TemporaryDirectoryContext`.

## v0.34.0

  - Allow `expect(...).to receive(...)` to accept one or more calls (at least once).

## v0.33.0

  - Add support for `agent-context` gem.

### `receive` now supports blocks and `and_raise`.

The `receive` predicate has been enhanced to support blocks and the `and_raise` method, allowing for more flexible mocking of method calls.

``` ruby
# `receive` with a block:
expect(interface).to receive(:implementation){10}

# `and_return` with a block:
expect(interface).to receive(:implementation).and_return{FakeImplementation.new}

# `and_raise` for error handling:
expect(interface).to receive(:implementation).and_raise(StandardError, "An error occurred")
```

## v0.32.0

  - `Sus::Config` now has a `prepare_warnings!` hook which enables deprecated warnings by default. This is generally considered good behaviour for a test framework.
