---
title: "v0.14 Release"
authors: ["tsandall"]
date: 2019-09-13
slug: v0-14-release-55d4ffd70876
---

We're excited to announce the v0.14.0 release of OPA. This release includes 147 commits from 17 authors across 9 organizations! For a detailed list of changes see the [GitHub releases](https://github.com/open-policy-agent/opa/releases) page. In this latest release we focused on the getting started experience for new users.

## Community Updates

- The [KubeCon San Diego 2019](https://events.linuxfoundation.org/events/kubecon-cloudnativecon-north-america-2019/#) schedule was posted last week. There will be a number of excellent talks featuring OPA throughout the week.
- The [CFP](https://www.papercall.io/opa-summit) for the OPA Summit @ KubeCon San Diego 2019 was posted last month and we received a number of excellent submissions. The event will held on Monday, November 18th from 12–5PM with [games, drinks, and socializing to follow at Nason's Beer Hall](https://www.eventbrite.com/e/pre-kubecon-happy-hour-with-unusual-ventures-and-portfolio-companies-tickets-70986561717). The CFP is open until September 15th at 14:00 UTC.
- GSoC 2019 finished a couple weeks ago. GSoC student Urvil Patel completed a project that integrates OPA with IPTables. Check it out in the [open-policy-agent/contrib](https://github.com/open-policy-agent/contrib/tree/master/opa-iptables) repository.
- The [OPA Gatekeeper](https://github.com/open-policy-agent/gatekeeper) project is developing steadily. [This blog post in August on kubernetes.io](https://kubernetes.io/blog/2019/08/06/opa-gatekeeper-policy-and-governance-for-kubernetes/) talks about the motivations and evolution of the project. The [3.0.4-beta.1 release](https://github.com/open-policy-agent/gatekeeper/releases/tag/v3.0.4-beta.1) includes a dry-run feature, PSP constraints, and more.
- The [conftest](https://github.com/instrumenta/conftest) project (which builds on OPA) continues to gain traction. The project recently added support for Dockerfile validation as well as integrations for [Tekton Pipelines](https://github.com/tektoncd/catalog/pull/60), [Helm](https://github.com/instrumenta/helm-conftest), and [GitHub Actions](https://github.com/instrumenta/conftest-action).

## Docs, Docs, Docs

Earlier this year we launched [The Rego Playground](/blog/the-rego-playground-977566855cec). The playground provides a way to evaluate and test policies from the browser. Based on positive feedback on the playground we decided to take it further. In the latest version of the docs, policy examples are interactive!

![Live Docs!](/img/blog/v0-14-release-55d4ffd70876/1.gif)

In addition to "live docs", we have also re-organized and improved the core content. The docs had grown organically since the project launched and it was time for a rethink. The new structure and content aims to get users started with Rego as quickly as possible. We have also begun carving out dedicated sections for popular integrations like Kubernetes admission control. Finally, we added a search integration powered by Algolia.

## Performance Optimizations

This release includes a number of optimizations to the AST and other packages. The optimizations focused on heap allocations during evaluation. With the new optimizations we see about ~25% faster evaluation across-the-board for end-to-end benchmarks in OPA:

```
Test Case              Old         New         Delta
-----------------------------------------------------------
AuthzForbidAuthn-8     32.3µs±1%   30.5µs±1%   −5.53%
AuthzForbidPath-8      109µs±1%    85µs±1%     −22.14%
AuthzForbidMethod-8    115µs±2%    89µs±1%     −22.44%
AuthzAllow10Paths-8    112µs±2%    87µs±0%     −22.95%
AuthzAllow100Paths-8   725µs±3%    529µs±3%    −27.09%
AuthzAllow1000Paths-8  6.27ms±1%   4.55ms±1%   −27.40%
```

OPA benchmarks are run automatically on a regular basis and compared against the last stable release using the [benchstat](https://godoc.org/golang.org/x/perf/cmd/benchstat) tool. The results are posted on the [benchmark results page](https://opa-benchmark-results.s3.amazonaws.com/index.html).

## Improved File Loading in VS Code

The VS Code extension has been updated to use the new `-b` or `--bundle` flag on `opa eval` to avoid loading _all_ JSON and YAML files inside the workspace. While the old file loading approach was acceptable for Rego-specific workspaces it fell over in larger or mixed workspaces (which most people have!)

With the new `-b` flag and the latest version of the [Open Policy Agent extension for VS Code](https://marketplace.visualstudio.com/items?itemName=tsandall.opa), file loading is much better.
