---
next_cursor: eyJzY29yZSI6MCwic2VxIjoxOTgzLCJzaW5jZSI6bnVsbCwidG9vbCI6InBhY2tlciIsInYiOjF9
has_more: false
next: https://sincecutoff.com/v1/changes.md?tool=packer&score=0&cursor=eyJzY29yZSI6MCwic2VxIjoxOTgzLCJzaW5jZSI6bnVsbCwidG9vbCI6InBhY2tlciIsInYiOjF9
items: 3
---
# sincecutoff.com changes: packer

## Packer HCL2 object variables support optional attributes (packer, 2026-07-24)
Published 2026-10-16
- slug: packer-hcl2-object-variables-support-optional-attributes-526fe7bb5585
- score: 0.99

How to use it:

When an object variable attribute may be omitted, declare it with `optional(<TYPE>, <DEFAULT>)`; Packer uses its default when the field is omitted.

Examples:

```
variable "<name>" {
  type = object({
    <attribute> = optional(<TYPE>, <DEFAULT>)
  })
}
```

- why_it_matters: When declaring a Packer object variable with attributes that may be omitted, assign defaults to those attributes with `optional()`.
- sources: <https://github.com/hashicorp/packer/releases/tag/v1.16.0>, <https://developer.hashicorp.com/packer/docs/templates/hcl_templates/variables>
- gotchas: "Version: v1.16.0"; "optional(<TYPE>, <DEFAULT>): Marks an object type attribute as optional and supplies its default when omitted."; "Prerequisite: Use Packer v1.16.0 or later; this feature is stated in the v1.16.0 release notes."; "Omitted fields are supported when they have a default set."

## Packer HCL2 RFC 3339 and Unix timestamp parsing functions (packer, 2026-07-24)
Published 2026-10-16
- slug: packer-hcl2-rfc-3339-and-unix-timestamp-parsing-functions-2f987f4e3f5d
- score: 0.96

How to use it:

When a Packer HCL2 template needs to parse a timestamp, choose the function for the input format. Use `rfc3339_parse(<RFC3339 timestamp>)` for RFC 3339 input; use `unix_timestamp_parse(<RFC3339 timestamp or Unix epoch integer>)` for either format.

Examples:

```
locals {
  parsed = rfc3339_parse("<RFC3339 timestamp>")
}
```

```
locals {
  parsed = unix_timestamp_parse(<RFC3339 timestamp or Unix epoch integer>)
}
```

- why_it_matters: When a Packer template needs to parse a timestamp, use the HCL2 timestamp parsing function that matches the input format.
- sources: <https://github.com/hashicorp/packer/releases/tag/v1.16.0>, <https://github.com/hashicorp/packer/pull/13669>
- gotchas: "Version: v1.16.0"; "rfc3339_parse(timestamp) (required): Takes an RFC 3339 timestamp string; returns date fields and a `unix` attribute."; "unix_timestamp_parse(timestamp) (required): The v1.16.0 release note says it accepts an RFC 3339 timestamp or Unix epoch integer. Returns date fields and an RFC 3339 representation, per the implementation PR."; "Both functions accept RFC 3339 timestamps; `unix_timestamp_parse` additionally accepts Unix epoch integers."; "Docs conflict: The implementation PR describes `unix_timestamp_parse(unix_timestamp number)` as taking an epoch integer; the v1.16.0 release note says it also accepts RFC 3339 timestamps. Follow the release note's broader input support."

## Packer provisioner blocks support continue_on_error (packer, 2026-07-24)
Published 2026-10-16
- slug: packer-provisioner-blocks-support-continue-on-error-59dd3f8501f3
- score: 0.96

How to use it:

When a provisioner failure should not halt the build, set `continue_on_error = true` in that provisioner block. Packer logs the failure and continues the build after exhausting any configured retries.

Examples:

```
build {
  provisioner "shell" {
    inline = ["exit 1"]
    continue_on_error = true
  }
}
```

- why_it_matters: When a provisioner failure should not halt a Packer build, configure that provisioner to continue after errors.
- before: A provisioner failure halts the build.
- sources: <https://github.com/hashicorp/packer/releases/tag/v1.16.0>, <https://developer.hashicorp.com/packer/docs/templates/hcl_templates/blocks/build/provisioner>
- gotchas: "Version: v1.16.0"; "continue_on_error: Set to `true` to continue the build after this provisioner fails; applied after `max_retries` is exhausted."; "max_retries: Maximum number of retries on provisioner error before the build fails or `continue_on_error` is applied."; "The described continuation behavior applies when `continue_on_error` is set to `true`."

Next: https://sincecutoff.com/v1/changes.md?tool=packer&score=0&cursor=eyJzY29yZSI6MCwic2VxIjoxOTgzLCJzaW5jZSI6bnVsbCwidG9vbCI6InBhY2tlciIsInYiOjF9
Save `next_cursor`; next visit, pass it to get only what was published since.
<!-- end of page -->
