Changelog for Touchdown
=======================

0.0.7 (2015-03-23)
------------------

- Add an experimental threaded resolver for deploying infrastructure in
  parallel. If you are using the command line tool you can pass
  ``--parallel``::

    touchdown --parallel apply

  Users consuming the python API can switch from the ``Runner`` class to
  ``ThreadedRunner``.

- StreamingDistribution should now work. It's API has been simplified too. You
  can set one up with::

      aws.add_streaming_distribution(
          name="streaming.example.com",
          bucket=mybucket,
      )

  Where ``mybucket`` was previously defined with ``aws.add_bucket``.

- You can now create ``ALIAS`` records for Distribution and
  StreamingDistribution resources::

      aws.add_hosted_zone(
          name="example.com",
          records=[
              {"name": "backend",   "type": "A", "alias": my_load_balancer},
              {"name": "www",       "type": "A", "alias": my_distribution},
              {"name": "streaming", "type": "A", "alias": my_streaming_distribution},
          ],
      )

- You can now set CORS and policy for S3 buckets. You can also do simple file
  uploads with the new file resource::

      bucket = aws.add_bucket(name="my-test-bucket")
      bucket.add_file(
          name="crossdomain.xml",
          contents=open("crossdomain.xml").read(),
      )

  You can set canned ACL's on the files as well.

- You can now set the ``origin_path`` attribute of CloudFront.

- Improved python 3 support.


0.0.6 (2015-03-04)
------------------

- Fix python 3 release.


0.0.5 (2015-03-04)
------------------

- More useful/verbose console output.

- Timeouts when operations take longer than expected are handled more
  gracefully. Fixes #6.

- The dependency solver now sorts within batches, fixing #4.


0.0.4 (2015-02-26)
------------------

- Brown paper bag.


0.0.3 (2015-02-26)
------------------

- The CloudFront abstraction has been revisited to flatten and simplify the
  structure (as the actual payload for CloudFront is quite complicated). The
  docs have been updated accordingly.

- Tearing down a CloudFront distribution now correctly refreshes the ETag after
  disabling a distribution, allowing it to suceed.

- The VPN Gateway handling has been improved. They are now correctly attached
  and detached from a VPC when creating and destroying them.


0.0.2 (2015-02-18)
------------------

- Basic support for Amazon SQS.

- Basic support for Amazon SNS.

- Basic support for Amazon CloudFront Streaming Distributions.

- Pipeline sbould now be able to create one.

- Strings fields are now validated against their annotations:

    * `min` enforces a minimum length for a value
    * `max` enforces a maximum length for a value
    * `choices` enforces that the value is one of a pre-determined list
    * `regex` enforces that the value matches a guard expression

- More types now have proper ``signature`` annotations for their ``Apply``
  policy. For example, you will now be warned at plan time if a
  SecurityGroup doesn't have the required ``description`` field (#10).
