# Cerbos v0.20.0

## Highlights

Writing policy tests for policies that have time-based conditions is now easier because the value returned by the `now` function can be fixed for the entire test suite or individual tests. This also influences the `timeSince` calculations and gives you the ability to write deterministic tests to ensure that your logic is sound. See [the policy testing documentation](https://docs.cerbos.dev/cerbos/prerelease/policies/compile#testing) to learn more.

Examples

Setting the value of `now` for the entire test suite

```yaml
name: TestSuite
description: Tests for verifying something
options:
  now: "2022-08-02T15:00:00Z"
tests:
...
```

Setting the value of `now` for a single test

```yaml
tests:
  - name: With local now
    options:
      now: "2022-08-03T15:00:00Z"
    ...
```

The security warnings for default Admin API credentials are now smarter.

An overly strict validation rule that prevented single wildcards from being used for resource names in principal policies has been relaxed.

## Changelog

### Bug Fixes

- Allow setting scope on SDK requests ( [#1151](https://github.com/cerbos/cerbos/pull/1151))
- Allow wildcards for principal policy resource names ( [#1166](https://github.com/cerbos/cerbos/pull/1166))

### Features

- Allow policy tests to use deterministic time functions ( [#1169](https://github.com/cerbos/cerbos/pull/1169))

### Enhancements

- Use plan decorator to provide consistent time functions ( [#1125](https://github.com/cerbos/cerbos/pull/1125))
- Warn if (and only if) using the default admin password ( [#1171](https://github.com/cerbos/cerbos/pull/1171))

### Documentation

- Add links to PHP SDK ( [#1092](https://github.com/cerbos/cerbos/pull/1092))
- Fix broken links to tutorial files ( [#1157](https://github.com/cerbos/cerbos/pull/1157))
- Merge cerbos guide into main docs ( [#1095](https://github.com/cerbos/cerbos/pull/1095))
- Tabs-block multi language quickstart examples ( [#1126](https://github.com/cerbos/cerbos/pull/1126))

### Chores

- Add 0.19.1 release notes ( [#1153](https://github.com/cerbos/cerbos/pull/1153))
- Add Go report card and Codecov badges ( [#1060](https://github.com/cerbos/cerbos/pull/1060))
- Add docs preview ( [#1128](https://github.com/cerbos/cerbos/pull/1128))
- Add function to run policy tests ( [#1107](https://github.com/cerbos/cerbos/pull/1107))
- Add metadata field to bundle manifest ( [#1082](https://github.com/cerbos/cerbos/pull/1082))
- Add schema list field to manifest ( [#1066](https://github.com/cerbos/cerbos/pull/1066))
- Add template for CheckResources request ( [#1108](https://github.com/cerbos/cerbos/pull/1108))
- Bump azure/setup-helm from 2.1 to 3.0 ( [#1061](https://github.com/cerbos/cerbos/pull/1061))
- Bump azure/setup-helm from 3.0 to 3.1 ( [#1085](https://github.com/cerbos/cerbos/pull/1085))
- Bump azure/setup-helm from 3.1 to 3.3 ( [#1110](https://github.com/cerbos/cerbos/pull/1110))
- Bump bufbuild/buf-setup-action from 1.6.0 to 1.7.0 ( [#1109](https://github.com/cerbos/cerbos/pull/1109))
- Bump github.com/alecthomas/participle/v2 from 2.0.0-beta.2 to 2.0.0-beta.4 ( [#1064](https://github.com/cerbos/cerbos/pull/1064))
- Bump github.com/alecthomas/participle/v2 from 2.0.0-beta.4 to 2.0.0-beta.5 ( [#1135](https://github.com/cerbos/cerbos/pull/1135))
- Bump github.com/bufbuild/buf from 1.6.0 to 1.7.0 in /tools ( [#1118](https://github.com/cerbos/cerbos/pull/1118))
- Bump github.com/minio/minio-go/v7 from 7.0.29 to 7.0.30 ( [#1062](https://github.com/cerbos/cerbos/pull/1062))
- Bump version to 0.20.0
- Deploy docs previews ( [#1129](https://github.com/cerbos/cerbos/pull/1129))
- Update E2E setup script ( [#1150](https://github.com/cerbos/cerbos/pull/1150))
- Use Go 1.19 in CI ( [#1127](https://github.com/cerbos/cerbos/pull/1127))
- Use golangci-lint binary distribution ( [#1067](https://github.com/cerbos/cerbos/pull/1067))
- Use latest otel semconv version ( [#1149](https://github.com/cerbos/cerbos/pull/1149))
