docs/content/release-notes/0.5.0.md
---
title: "0.5.0"
date: "2016-12-29"
slug: "0-5-0"
menu:
main:
parent: "release-notes"
identifier: 0.5.0
weight: -050
---
## Release Date
2016-12-29 0.5.0
## Features
This release includes new modules and general usability enhancements for users
and module authors.
### Remove Vendoring
For converge 0.5.0 we have removed the `vendor` directory from the converge
repository. `glide install` will now run as part of the build process to ensure
all dependencies are installed.
### Demo Applications
A demo of using converge for a kubernetes deployment was added in [524](https://github.com/asteris-llc/converge/pull/524).
### Module Improvements
#### File Fetch
File download and verification support has been added via [#543](https://github.com/asteris-llc/converge/pull/543).
```hcl
file.fetch "consul.zip" {
source = "https://releases.hashicorp.com/consul/0.6.4/consul_0.6.4_linux_amd64.zip"
destination = "/tmp/consul.zip"
hash_type = "sha256"
hash = "abdf0e1856292468e2c9971420d73b805e93888e006c76324ae39416edcf0627"
}
```
#### File Owner
File ownership can now be changed with the `file.owner` module added via [#549](https://github.com/asteris-llc/converge/pull/549).
```hcl
file.owner "owner-test" {
destination = "dir"
group = "root"
user = "root"
verbose = true
recursive = true
}
```
### Usability Enhancements
#### Better Cascading Error Output
Modules with failing dependencies are now summarized at the end of a run via [516](https://github.com/asteris-llc/converge/pull/516).
```
root/task.directory:
Error: exec: "blah": executable file not found in $PATH
Messages:
Has Changes: no
Changes: No changes
Errors:
* root/task.directory: exec: "blah": executable file not found in $PATH
Failed due to failing dependency:
* root/task.key: error in dependency "root/task.directory"
* root/task.csr: error in dependency "root/task.key"
* root/task.crt: error in dependency "root/task.csr"
Summary: 1 errors, 0 changes, 3 dependency errors
```
#### Resource Name Restrictions
As of [535](https://github.com/asteris-llc/converge/pull/535) resource names are
now restricted to strings consisting of letters, numbers, dots `.` and dashes
`-`. Unicode letter characters are supported.
#### Diff Output During Application
As of [533](https://github.com/asteris-llc/converge/pull/533) diff outputs
should be displayed when running `apply`.
### Engine Improvements
### Module API Enhancements
The module authoring API has been updated to make it easier to develop modules.
#### Explicit Value Exports
As of [533](https://github.com/asteris-llc/converge/pull/533) the `export` and
`re-export-as` tags are supported for `resource.Resource` types in modules.
These tags are now required to make fields available for `lookup`.
#### New Module Author Idioms
As of [533](https://github.com/asteris-llc/converge/pull/533) resource types in
modules should not embed `resource.Status`. The `Check` and `Apply` functions
should no longer return the resource itself but instead a generated task status.
## Bug Fixes
Converge 0.5.0 introduces a multitiude of bugfixes and stability improvements.
Please refer to the [changelog](https://github.com/asteris-llc/converge/blob/master/CHANGELOG.md) for
a detailed report.
## Support
We provide support via [the Converge Slack team](http://converge-slack.aster.is/) and through [GitHub issues](https://github.com/asteris-llc/converge/issues)