## 0.2.0 (unreleased) BACKWARDS INCOMPATIBILITIES: * We've replaced the configuration language in use from a C library to a pure-Go reimplementation. In the process, we removed some features of the language since it was too flexible: * Semicolons are no longer valid at the end of lines * Keys cannot be double-quoted strings: `"foo" = "bar"` is no longer valid. * JSON style maps `{ "foo": "bar" }` are no longer valid outside of JSON. Maps must be in the format of `{ foo = "bar" }` (like other objects in the config) FEATURES: * **New Function: `concat`**: Concatenate multiple strings together. Example: `concat(var.region, "-", var.channel)`. IMPROVEMENTS: * core: "~/.terraformrc" (Unix) or "%APPDATA%/terraform.rc" (Windows) can be used to configure custom providers and provisioners. [GH-192] * providers/aws: EIPs now expose `allocation_id` and `public_ip` attributes. * providers/aws: Security group rules can be updated without a destroy/create. * providers/aws: You can enable and disable dns settings for VPCs. [GH-172] BUG FIXES: * core: Variables are validated to not contain interpolations. [GH-180] * core: Key files for provisioning can now contain `~` and will be expanded to the user's home directory. [GH-179] * core: The `file()` function can load files in sub-directories. [GH-213] * core: Fix issue where some JSON structures didn't map properly into Terraform structures. [GH-177] * core: Resources with only `file()` calls will interpolate. [GH-159] * providers/aws: Fix issues around failing to read EIPs. [GH-122] * providers/aws: Autoscaling groups now register and export load balancers. [GH-207] * providers/aws: Ingress results are treated as a set, so order doesn't matter anymore. [GH-87] * providers/heroku: If you delete the `config_vars` block, config vars are properly nuked. * providers/heroku: Domains and drains are deleted before the app. PLUGIN CHANGES: * **New Package:** `helper/schema`. This introduces a high-level framework for easily writing new providers and resources. The Heroku provider has been converted to this as an example. ## 0.1.1 (August 5, 2014) FEATURES: * providers/heroku: Now supports creating Heroku Drains [GH-97] IMPROVEMENTS: * providers/aws: Launch configurations accept user data [GH-94] * providers/aws: Regions are now validated [GH-96] * providers/aws: ELB now supports health check configurations [GH-109] BUG FIXES: * core: Default variable file "terraform.tfvars" is auto-loaded. [GH-59] * core: Multi-variables (`foo.*.bar`) work even when `count = 1`. [GH-115] * core: `file()` function can have string literal arg [GH-145] * providers/cloudflare: Include the proper bins so the cloudflare provider is compiled * providers/aws: Engine version for RDS now properly set [GH-118] * providers/aws: Security groups now depend on each other and * providers/aws: DB instances now wait for destroys, have proper dependencies and allow passing skip_final_snapshot * providers/aws: Add associate_public_ip_address as an attribute on the aws_instance resource [GH-85] * providers/aws: Fix cidr blocks being updated [GH-65, GH-85] * providers/aws: Description is now required for security groups * providers/digitalocean: Private IP addresses are now a separate attribute * provisioner/all: If an SSH key is given with a password, a better error message is shown. [GH-73] ## 0.1.0 (July 28, 2014) * Initial release