Skip to content

Changelog

All notable changes to this project will be documented in this file.

[1.3.0] - 2026-03-23

Documentation

  • Add comprehensive documentation, architecture diagram, and examples
  • Add checkov config with skip rules for lock table

Ci

  • Drop aws-5 tests

[1.2.1] - 2026-01-22

Bug Fixes

  • Optimize Lambda memory usage and add lock TTL for graceful failures

Miscellaneous Tasks

  • Update actions/checkout action to v6 (#35)
  • Update actions/github-script action to v8 (#37)

[1.2.0] - 2025-11-26

Features

  • Add route53_hostname_prefixes for multiple DNS records per instance (#36)

[1.2.0] - 2025-11-25

Features

  • Add route53_hostname_prefixes variable to create multiple DNS records with different prefixes for the same instance IP (#TBD)
  • Useful for creating multiple service names (e.g., "ip", "api", "web") pointing to the same instance
  • Default: ["ip"] maintains 100% backward compatibility
  • Applies consistently to both _PrivateDnsName_ and _PublicDnsName_
  • All records are automatically deleted when instance terminates

Changed

  • Lambda function now supports creating and deleting multiple DNS records per instance
  • Add route53_hostname_prefixes output to verify configuration
  • Update resolve_hostnames() to apply prefixes consistently for both private and public IPs
  • Add validation to prevent duplicate prefixes in route53_hostname_prefixes
  • Enhance prefix validation to comply with DNS label standards (no leading/trailing hyphens, max 63 chars)

[1.1.1] - 2025-11-15

Bug Fixes

  • DNS records not deleted on instance termination (#33)

[1.1.0] - 2025-11-15

Features

  • Add PublicDnsName special value for route53_hostname (#32)

Miscellaneous Tasks

  • Update dependency python to 3.14 (#31)

[1.0.1] - 2025-11-14

Refactor

  • Improve release workflow with git-cliff and bumpversion integration

[1.0.0] - 2025-11-14

[1.0.0] - 2025-11-13

Features

  • Migrate to terraform-aws-lambda-monitored module (#29)

[Unreleased]

Features

  • Add support for PublicDnsName special value in route53_hostname variable
  • Automatically generates hostnames based on instance public IP (e.g., ip-80-90-1-1 for IP 80.90.1.1)
  • Works alongside existing PrivateDnsName special value
  • Automatically uses public subnets and public IPs when PublicDnsName is specified
  • Migrate to terraform-aws-lambda-monitored module
  • Add CloudWatch alarms for Lambda errors, throttles, and duration
  • Add SNS topic for Lambda monitoring alerts
  • Add alarm_emails variable for monitoring notifications
  • Add alert_strategy variable (immediate or threshold)
  • Export CloudWatch alarm ARNs as map output
  • Export SNS topic ARN
  • Export Lambda role name

Bug Fixes

  • Fix DNS records not being deleted when instances are terminated
  • The get_instance_ip() function now properly falls back to instance tags when the IP address is None during instance termination
  • Resolves issue where orphaned DNS records remained in Route53 after manual instance termination
  • Adds integration test test_dns_record_deletion_on_manual_termination to verify proper DNS cleanup
  • Update test suite to use pytest-infrahouse subzone fixture
  • Replace test_zone data source lookup with direct zone_id variable

Refactor

  • Remove custom Lambda packaging infrastructure (lambda_code.tf)
  • Remove package_update_dns.sh script
  • Simplify IAM role management (use module-provided role with custom policy attachment)
  • Update CloudWatch log group management (module handles creation)

Miscellaneous Tasks

  • Add test log output for test-keep and test-clean targets
  • Add release-patch, release-minor, release-major targets
  • Add cliff.toml for automated changelog generation

[0.11.1] - 2024-06-12

Previous version before migration to terraform-aws-lambda-monitored.