# \[Pre-Release Announcement\] Chef Client 13.3

**URL:** <https://discourse.chef.io/t/pre-release-announcement-chef-client-13-3/11318>\
**Category:** Chef Infra (archive)\
**Created:** [August 11, 2017, 6:21pm UTC](https://discourse.chef.io/t/pre-release-announcement-chef-client-13-3/11318 "2017-08-11T18:21:48Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![tas50](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.chef.io/tas50/32/941_2.png) [@tas50](https://discourse.chef.io/u/tas50)\
**Post date:** [August 11, 2017, 6:21pm UTC](https://discourse.chef.io/t/pre-release-announcement-chef-client-13-3/11318/1 "2017-08-11T18:21:48Z")

</div>

Ohai Chefs!

We have selected 13.3.42 as our Chef v13.3 release candidate which is scheduled for release on Wednesday August 16, 2017.

# Release Highlights

### Unprivileged Symlink Creation on Windows

Chef can now create symlinks without privilege escalation, which allows for the creation of symlinks on Windows 10 Creator Update.

### nokogiri Gem

The nokogiri gem is once again bundled with the omnibus install of Chef

### zypper\_package Options

It is now possible to pass additional options to the zypper in the zypper\_package resource. This can be used to pass any zypper CLI option

#### Example:

```ruby
zypper_package 'foo' do
  options '--user-provided'
end

```

### windows\_task Improvements

The `windows_task` resource now properly allows updating the configuration of a scheduled task when using the `:create` action. Additionally the previous `:change` action from the windows cookbook has been aliased to `:create` to provide backwards compatibility.

### apt\_preference Resource

The apt\_preference resource has been ported from the apt cookbook. This resource allows for the creation of APT preference files controlling which packages take priority during installation.

Further information regarding apt-pinning is available via [https://wiki.debian.org/AptPreferences](https://wiki.debian.org/AptPreferences) and [https://manpages.debian.org/stretch/apt/apt\_preferences.5.en.html](https://manpages.debian.org/stretch/apt/apt_preferences.5.en.html)

#### Actions

- `:add`: creates a preferences file under /etc/apt/preferences.d
- `:remove`: Removes the file, therefore unpin the package

#### Properties

- `package_name`: name attribute. The name of the package
- `glob`: Pin by glob() expression or regexp surrounded by /.
- `pin`: The package version/repository to pin
- `pin_priority`: The pinning priority aka “the highest package version wins”

#### Examples

Pin libmysqlclient16 to version 5.1.49-3:

```ruby
apt_preference 'libmysqlclient16' do
  pin 'version 5.1.49-3'
  pin_priority '700'
end

```

Unpin libmysqlclient16:

```ruby
apt_preference 'libmysqlclient16' do
  action :remove
end

```

Pin all packages from [dotdeb.org](http://dotdeb.org):

```ruby
apt_preference 'dotdeb' do
  glob '*'
  pin 'origin packages.dotdeb.org'
  pin_priority '700'
end

```

### zypper\_repository Resource

The zypper\_repository resource allows for the creation of Zypper package repositories on SUSE Enterprise Linux and openSUSE systems. This resource maintains full compatibility with the resource in the existing [zypper](https://supermarket.chef.io/cookbooks/zypper) cookbooks

#### Actions

- `:add` - adds a repo
- `:delete` - removes a repo

#### Properties

- `repo_name` - repository name if different from the resource name (name property)
- `type` - the repository type. default: ‘NONE’
- `description` - the description of the repo that will be shown in `zypper repos`
- `baseurl` - the base url of the repo
- `path` - the relative path from the `baseurl`
- `mirrorlist` - the url to the mirrorlist to use
- `gpgcheck` - should we gpg check the repo (true/false). default: true
- `gpgkey` - location of repo key to import
- `priority` - priority of the repo. default: 99
- `autorefresh` - should the repository be automatically refreshed (true/false). default: true
- `keeppackages` - should packages be saved (true/false). default: false
- `refresh_cache` - should package cache be refreshed (true/false). default: true
- `enabled` - should this repository be enabled (true/false). default: true
- `mode` - the file mode of the repository file. default: “0644”

#### Examples

Add the Apache repository for openSUSE Leap 42.2

```ruby
zypper_repository 'apache' do
  baseurl 'http://download.opensuse.org/repositories/Apache'
  path '/openSUSE_Leap_42.2'
  type 'rpm-md'
  priority '100'
end

```

### Additional Platform Support

Ohai now properly detects the [F5 Big-IP](https://www.f5.com/) platform and platform\_version.

- platform: bigip
- platform\_family: rhel

# Get the Build

As always, you can download binaries directly from [downloads.chef.io](http://downloads.chef.io) or by using the new mixlib-install command line utility available in ChefDK 0.19.6 or greater.

`$ mixlib-install download chef -v 13.3.42 -c current`

Alternatively, you can install Chef using one of the following command options:

```
# In Shell
$ curl https://omnitruck.chef.io/install.sh | sudo bash -s -- -P chef -v 13.3.42 -c current

# In Windows Powershell
. { iwr -useb https://omnitruck.chef.io/install.ps1 } | iex; install -project chef -version 13.3.42 -channel current
```
