<commit_before>See the [CHANGELOG](CHANGELOG.md) for a complete list of changes.

`porter` is [semantically versioned](http://semver.org/spec/v2.0.0.html)

v4.0
====

[How to migrate](MIGRATING.md#v3-to-v4)

v4 - Egress rules
-----------------

For a number of security reasons porter now locks down ASG egress traffic to
allow by default NTP (udp 123), DNS (udp 53), HTTP (tcp 80), and
HTTPS (tcp 443). You can still define your own egress rules using [`security_group_egress`](docs/detailed_design/config-reference.md#security_group_egress)
or turn off porter's security group management entirely with
[`autowire_security_groups: false`](docs/detailed_design/config-reference.md#autowire_security_groups).

v4 - HAProxy header capture
---------------------------

Enabled configurable HAProxy header captures which make HAProxy logs more useful
to those that weren't using UUIDv4 for `X-Request-Id`

v4 - Failed stacks delete
-------------------------

The new default to the `OnFailure` parameter of `cloudformation:CreateStack` is
`DELETE`.

If the previous behavior is desired it can be set using `ON_STACK_FAILURE`. Run
`porter help debug` for more

v3.0
====

[How to migrate](MIGRATING.md#v2-to-v3)

Code can now be hot swapped on existing infrastructure. This will mitigate a
whole class of errors related to provisioning.<commit_msg>renamed env var<commit_after>See the [CHANGELOG](CHANGELOG.md) for a complete list of changes.

`porter` is [semantically versioned](http://semver.org/spec/v2.0.0.html)

v4.0
====

[How to migrate](MIGRATING.md#v3-to-v4)

v4 - Egress rules
-----------------

For a number of security reasons porter now locks down ASG egress traffic to
allow by default NTP (udp 123), DNS (udp 53), HTTP (tcp 80), and
HTTPS (tcp 443). You can still define your own egress rules using [`security_group_egress`](docs/detailed_design/config-reference.md#security_group_egress)
or turn off porter's security group management entirely with
[`autowire_security_groups: false`](docs/detailed_design/config-reference.md#autowire_security_groups).

v4 - HAProxy header capture
---------------------------

Enabled configurable HAProxy header captures which make HAProxy logs more useful
to those that weren't using UUIDv4 for `X-Request-Id`

v4 - Failed stacks delete
-------------------------

The new default to the `OnFailure` parameter of `cloudformation:CreateStack` is
`DELETE`.

If the previous behavior is desired it can be set using
`STACK_CREATION_ON_FAILURE`. Run `porter help debug` for more.

v3.0
====

[How to migrate](MIGRATING.md#v2-to-v3)

Code can now be hot swapped on existing infrastructure. This will mitigate a
whole class of errors related to provisioning.
{'fraction_non_alphanumeric': 0.13306152705707933, 'fraction_numerical': 0.018532246108228317, 'mean_word_length': 3.836917562724014, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5168559', 'n_tokens_mistral': 851, 'n_tokens_neox': 814, 'n_words': 303}