Chef Server 12.1 Release Announcement

Ohai Chefs!

I’m pleased to announce that Chef Server 12.1.0 is now available for download on the Chef Downloads Page and via our Apt and RPM repositories. Here are some of this release’s highlights:

* Significant performance improvements.
* Policyfile APIs are significantly more complete and are enabled by default.
* Server API Versioning: API `0` is now deprecated, and current API version level is `1`.
* Key Rotation enhancements.
* Security update from postgres 9.2.9 to 9.2.10.
* Solr update from 4.5.1 to 4.9.1.
* Redis updated to 2.8.21
* Erlang updated from R16B03-1 to 17.5
* JRE update from 7u25 to 8u31, which includes both security and performance improvements
* Multiple bug fixes and component updates.
* A number of improvements made to enhance the overall quality of Chef Server, streamline testing, and to make contributing to Chef Server as straight-forward as possible.

For further details please reference the [Release Notes](https://github.com/chef/chef-server/blob/master/omnibus/RELEASE_NOTES.md), and for even more information you can take a look at the [ChangeLog](https://github.com/chef/chef-server/blob/master/omnibus/CHANGELOG.md).

#### Performance Improvements

Several performance-related issues have been resolved in 12.1.0. In particular, the depsolver endpoint now puts considerably less load on the postgres server. Further, we’ve corrected a regression which caused the postgres transaction count to spike in 12.0.7, and have made protocol-level improvements that reduce the number of network packets used by each erchef and bifrost node to talk to the postgres server by 75%.

#### Policyfile Endpoints

This release has two signifcant enhancements to Policyfile APIs.

First, this release contains a migration that adds default permissions
for Policyfile objects to existing organizations and enables Policyfile
APIs by default.

Second, APIs for listing all policies and policy groups have been added.
These APIs are used by the `chef show-policy` command which will be
included in the upcoming ChefDK 0.7 release.

#### Server API Version

This release introduces server API version `1` and deprecates `0`. Version 0 remains the default behavior until it is desupported. The [API Changes and Additions](https://github.com/chef/chef-server/blob/master/omnibus/RELEASE_NOTES.md#api-changes-and-additions) section of the Release Notes contains further information about the related API changes. Existing clients of the API will see no changes unless they explicitly request v1.

Work is underway to integrate server API version support into both chef-client
and the Chef Server add-ons. Expect more news on these fronts with the
final release announcement.

All features and fixes mentioned in this post are available under both API v0 and v1.

#### Key Rotation

* Support has been added for server-side key generation – when `PUT` or `POST`ing to a keys endpoint, include `create_key: true` in the request body.
* `chef-server-ctl` key commands are now using a unified client-side keys API.

#### Important Security Updates to Components

We’ve updated the following components to address new security vulnerabilities:

* PostgreSQL 9.2.10
* Redis 2.8.21

NB: This release announcement was written by Marc Paradise for Chef Server 12.1 RC1 with updates from Steven Danna for the final release.