Skip to content

Releases: robmorgan/infraspec

v0.2.2

30 Dec 07:11
49a5bd4

Choose a tag to compare

What's Changed

Documentation

  • Website Refresh - Position InfraSpec as an open-source tool with a built-in AWS emulator (#199)
  • Homepage Update - Update homepage to reflect value proposition focusing on plain English testing with virtual or real AWS APIs
  • Getting Started Guide - Improve documentation for getting started with InfraSpec
  • AWS Compatibility - Update AWS compatibility data with current service coverage

Dependencies

  • Bump github.com/aws/aws-sdk-go-v2/service/s3 (#195)
  • Bump github.com/aws/aws-sdk-go-v2/service/sqs (#196)
  • Bump github.com/aws/aws-sdk-go-v2/service/ec2 (#197)

Full Changelog: v0.2.1...v0.2.2

v0.2.1

29 Dec 11:02
6b24f50

Choose a tag to compare

What's Changed

Features

  • Lambda BDD Testing Support - Full-featured Lambda testing with assertions, step definitions, Terraform examples, and feature files for basic functions, versions/aliases, and function URLs (#194)
  • IAM Managed Policies - Add support for top 25 AWS managed policies in the emulator (#194)
  • Emulator Port Change - Change default emulator port from 8000 to 3687 to avoid conflicts with common dev servers (#192)

Bug Fixes

  • RDS Delete Delay - Reduce DB instance removal delay from 120s to 5s for faster test cleanup (#193)
  • Lambda Error Handling - Improve error handling and remove dead code

Documentation

  • Update CLAUDE.md to reflect that emulation is the default behavior (use --live for real AWS)

CI/CD

  • Add Lambda to integration test matrix in GitHub Actions

Full Changelog: v0.2.0...v0.2.1

v0.2.0

28 Dec 12:00
e5e7b1d

Choose a tag to compare

What's Changed

Features

  • Embedded AWS Emulator: The Virtual Cloud AWS emulator is now embedded directly in InfraSpec - no external dependency needed (#189)
  • CloudMirror Tool: New tool for analyzing AWS API parity between the emulator and real AWS services (#190)

Bug Fixes

  • S3 Virtual-Hosted DNS: Use nip.io for virtual-hosted style DNS resolution in S3 (#191)
  • Race Condition: Fixed core race condition issue (#189)

Improvements

  • CI Updates: Removed --virtual-cloud flag from GitHub Actions as the emulator is now embedded by default
  • Documentation: Added comprehensive embedded emulator documentation to CLAUDE.md

Dependencies

  • Bumped github.com/aws/aws-sdk-go-v2/service/s3 to v1.94.0
  • Bumped github.com/aws/aws-sdk-go-v2/service/rds to v1.113.1
  • Bumped github.com/aws/aws-sdk-go-v2/service/ssm to v1.67.7
  • Bumped github.com/aws/aws-sdk-go-v2/config to v1.32.6
  • Bumped actions/cache from 4 to 5

Full Changelog: v0.1.2...v0.2.0

v0.1.2

19 Dec 04:59
3a5d8c4

Choose a tag to compare

What's Changed

Features

  • Terraform state isolation: Always copy Terraform configs to temp directory for proper state isolation between test runs (#180)
  • SQS assertions: Add SQS queue assertions and step definitions for testing queue configurations (#159)
  • Early access page: Add Virtual Cloud early access signup page on website (#171)

Improvements

  • CI parallelization: Integration tests now run in parallel by AWS service for faster CI (#181)
  • Website compatibility data: Updated AWS compatibility statistics reflecting latest Virtual Cloud coverage (#182)

Security

  • Fixed potential XSS vulnerability by sanitizing user input in email HTML (#171)
  • Updated React packages for security advisory (#170)

Dependencies

  • Bumped AWS SDK Go v2 packages (DynamoDB, IAM, S3, SQS, SSM, RDS, EC2, credentials)
  • Bumped github.com/spf13/cobra to v1.10.2
  • Bumped go.uber.org/zap to v1.27.1
  • Bumped golang.org/x/net to v0.48.0
  • Bumped GitHub Actions (cache@5, upload-artifact@6, download-artifact@7)

Full Changelog: v0.1.1...v0.1.2

v0.1.1

29 Nov 01:00

Choose a tag to compare

Changelog

v0.1.0

25 Nov 06:41

Choose a tag to compare

This release introduces InfraSpec Virtual Cloud - a hosted AWS emulator that lets you test your infrastructure without an AWS account, with near instant results.

☁️ Virtual Cloud Integration

Run your infrastructure tests against InfraSpec's Virtual Cloud emulator instead of real AWS. Tests run in seconds instead of minutes with no cleanup required.

# Run tests against Virtual Cloud
infraspec --virtual-cloud features/aws/s3/ 

Virtual Cloud currently supports:

  • S3 - Buckets, objects, versioning, encryption
  • DynamoDB - Tables, indexes, auto-scaling
  • RDS - MySQL and PostgreSQL instances

🚀 New Features

Terraform Improvements

  • Copy to temp directory - Isolate test runs by copying Terraform configs to temp directories
  • Environment variable endpoints - Use AWS_ENDPOINT_URL_* env vars instead of provider override files
  • Random suffix variables - Lowercase-only random suffixes for AWS resource compatibility

S3 & RDS Step Definitions

  • Read bucket names from Terraform outputs: the S3 bucket name is read from Terraform output "bucket_name"
  • Read DB instance IDs from Terraform outputs: the RDS instance ID is read from Terraform output "db_id"
  • Virtual-hosted style domain support for S3

Developer Experience

  • Plain text formatter - New output format for debugging
  • Improved error messages - Better errors when virtual cloud is enabled without a token
  • CI/CD optimizations - Test workflow reduced from 10+ minutes to ~2-3 minutes

📚 Documentation

  • Comprehensive Virtual Cloud documentation
  • Significantly improved README
  • New getting started guides

What's Changed

Full Changelog: v0.0.14...v0.1.0

v0.0.14

27 Jul 02:46
3c9ee73

Choose a tag to compare

This releases introduces the new http provider.

🌐 HTTP Provider

Users can now use the http provider to test HTTP endpoints including GET, POST methods, form data and file uploads. For example, the following feature ensures an API is available and returns the correct status code.

Feature: HTTP Requests
  As a DevOps Engineer
  I want to test HTTP endpoints
  So that I can validate API functionality and infrastructure

  Scenario: Test basic GET request
    Given I have a HTTP endpoint at "http://localhost:8000/get"
    When I make a GET request
    Then the HTTP response status should be 200

And this feature tests a file upload:

  Scenario: Test file upload with form data
    Given I have a HTTP endpoint at "http://localhost:8000/post"
    And I have a file "../../examples/http/test-file.txt" as field "file"
    And I set content type to "multipart/form-data"
    And I set the form data to:
      | Name | Value                                |
      | uuid | 191152a9-0bd6-4db0-999d-12787295f1ec |
      | type | document                             |
    When I make a POST request
    Then the HTTP response status should be 200

What's Changed

  • feat: add HTTP request support for API testing by @robmorgan in #49

Full Changelog: v0.0.13...v0.0.14

v0.0.13

23 Jul 05:47
c63270d

Choose a tag to compare

What's Changed

Full Changelog: v0.0.12...v0.0.13

v0.0.12

23 Jul 05:23
6f026a0

Choose a tag to compare

What's Changed

Full Changelog: v0.0.11...v0.0.12

v0.0.11

23 Jul 04:10
8b080a9

Choose a tag to compare

What's Changed

Full Changelog: v0.0.10...v0.0.11