All Versions
71
Latest Version
Avg Release Cycle
50 days
Latest Release
573 days ago

Changelog History
Page 5

  • v0.11.0 Changes

    • ๐Ÿ’ฅ :warning: BREAKING
    • :checkered_flag: CHANGES
      • :tada: Python CGO support added. See the https://github.com/mweagle/SpartaPython project for example usage!
      • In preliminary testing, the Python CGO package provides significant cold start and hot-execution performance benefits.
      • Migrated dependency management to dep
    • ๐Ÿ›  :bug: FIXED
      • Fixed latent bug where DynamoDB EventSource mappings ResourceARNs weren't properly serialized.
      • Fixed latent bug where code pushed to S3 version-enabled buckets didn't use the latest VersionID in the AWS Lambda Code value.
  • v0.10.0 Changes

    • ๐Ÿ’ฅ :warning: BREAKING
      • describe option now requires -b/--s3Bucket argument
      • Changed signature of aws/s3/CreateS3RollbackFunc to accept full S3 URL, including versionId query param
      • Signatures for sparta.Provision and sparta.Discover updated with new arguments
    • :checkered_flag: CHANGES

      • Add -p/--codePipelineTrigger command line option to generate CodePipeline deployment package
      • Add sparta.RegisterCodePipelineEnvironment to define environment variables in support of CloudFormation Deployments. Example:
      func init() {
        sparta.RegisterCodePipelineEnvironment("test", map[string]string{
          "MESSAGE": "Hello Test!",
        })
        sparta.RegisterCodePipelineEnvironment("production", map[string]string{
          "MESSAGE": "Hello Production!",
        })
      }
    
    • Add support for Environment and KmsKeyArn properties to LambdaFunctionOptions. See AWS for more information.
    • Move all build artifacts to ./sparta directory
    • -n/--noop argument orphans S3 artifacts in ./sparta directory
    • Add support for S3 version policy enabled buckets
      • Artifacts pushed to S3 version-enabled buckets now use stable object keys. Rollback functions target specific versions if available.
    • Cleanup log statements
    • Add sparta/aws/session.NewSessionWithLevel() to support AWS LogLevel parameter

      • ๐Ÿ›  :bug: FIXED
    • 34

    • 37

    • 38

  • v0.9.3 Changes

    • ๐Ÿ’ฅ :warning: BREAKING
    • :checkered_flag: CHANGES

      • Added LambdaFunctionOptions.SpartaOptions struct
      • The primary use case is to support programmatically generated lambda functions that must be disambiguated by their Sparta name. Sparta defaults to reflection based function name identification.
      • Added --ldflags support to support lightweight dynamic string variables
      • Usage: go run main.go provision --level info --s3Bucket $(S3_BUCKET) --ldflags "-X main.dynamicValue=SampleValue"
    • ๐Ÿ›  :bug: FIXED

  • v0.9.2 Changes

    • ๐Ÿ’ฅ :warning: BREAKING
    • :checkered_flag: CHANGES
      • Move Sparta-related provisioning values from stack Outputs to Tags.
      • Add support for go BuildTags to support environment settings.
      • Added Sparta/aws/cloudformation functions to support stack creation.
      • Added Sparta/aws/s3 functions to encapsulate common S3 operations.
      • Added Sparta/zip functions to expose common ZIP related functions.
      • Legibility enhancements for describe output
      • sparta.CloudFormationResourceName proxies to github.com/mweagle/Sparta/aws/cloudformation.CloudFormationResourceName. The sparta package function is deprecated and will be removed in a subsequent release.
    • ๐Ÿ›  :bug: FIXED
      • Fixed latent bug in github.com/mweagle/Sparta/zip.AddToZip where the supplied ZipWriter was incorrectly closed on function exit.
      • Fixed latent parsing userdata input
      • Fixed latent issue where empty ChangeSets were applied rather than deleted.
  • v0.9.1 Changes

    • ๐Ÿ’ฅ :warning: BREAKING
    • :checkered_flag: CHANGES
      • Improved describe output. Includes APIGateway resources and more consistent UI.
      • Additive changes to WorkflowHooks
      • Context property to set the initial context for Workflow hook execution
      • ServiceDecorator type to define service-scoped AWS resources. Previously, template decoration was bound to specific Lambda functions.
      • Published related SpartaVault: use AWS KMS to encrypt secrets as Go variables. See the KMS Docs for information.
      • Add Godeps support
    • ๐Ÿ›  :bug: FIXED
      • Fixed latent bug when adding custom resources to the ZIP archive via ArchiveHook. ArchiveHook is now called after core Sparta assets are injected into archive.
  • v0.9.0 Changes

    • ๐Ÿ’ฅ :warning: BREAKING

      • NewMethod and NewAuthorizedMethod for APIGateway definitions have been changed to include new, final parameter that marks the default integration response code.
      • Prior to this change, Sparta would automatically use http.StatusOK for all non-POST requests, and http.StatusCreated for POST requests. The change allows you to control whitelisted headers to be returned through APIGateway as in:
      // API response struct
      type helloWorldResponse struct {
        Location string `json:"location"`
        Body     string `json:"body"`
      }
      //
      // Promote the location key value to an HTTP header
      //
      apiGWMethod, _ := apiGatewayResource.NewMethod("GET", http.StatusOK)
      apiGWMethod.Responses[http.StatusOK].Parameters = map[string]bool{
        "method.response.header.Location": true,
      }
      apiGWMethod.Integration.Responses[http.StatusOK].Parameters["method.response.header.Location"] = "integration.response.body.location"
      
    • :checkered_flag: CHANGES

      autoIncrementingInfo, autoIncrementingInfoErr := spartaCF.AddAutoIncrementingLambdaVersionResource(serviceName,
        lambdaResourceName,
        cfTemplate,
        logger)
      if nil != autoIncrementingInfoErr {
        return autoIncrementingInfoErr
      }
      
      • Added new CloudWatch Metrics for lambda execution
      • Removed all NodeJS shim dependencies from ./resources/provision/package.json
      • Added utility CloudFormation script ./aws/cloudformation/cli/describe.go which produces a JSON serialization of a DescribeStacksOutput struct for build-time discovery of cluster-scoped resources.
      • Relaxed constraint that an API GW resource is bound to single Sparta lambda function. You can now register per-HTTP method name lambda functions for the same API GW resource.
      • Added Contributors section to README
    • ๐Ÿ›  :bug: FIXED

  • v0.8.0 Changes

    • ๐Ÿ’ฅ :warning: BREAKING
      • TemplateDecorator signature changed to include context map[string]interface{} to support sharing state across WorkflowHooks (below).
    • :checkered_flag: CHANGES
      • Add SpartaBuildID stack output with build ID
      • WorkflowHooks
      • WorkflowHooks enable an application to customize the ZIP archive used as the AWS Lambda target rather than needing to embed resources inside their Go binary
      • They may also be used for Docker-based mixed topologies. See
      • Add optional -i/--buildID parameter for provision.
      • The parameter will be added to the stack outputs
      • A random value will be used if non is provided on the command line
      • Artifacts posted to S3 are now scoped by serviceName
      • Add sparta.MainEx for non-breaking signature extension
    • ๐Ÿ›  :bug: FIXED

      • (@sdbeard) Fixed latent bug in Kinesis event source subscriptions that caused ValidationErrors during provisioning:
      ERRO[0028] ValidationError: [/Resources/IAMRole3dbc1b4199ad659e6267d25cfd8cc63b4124530d/Type/Policies/0/PolicyDocument/Statement/5/Resource] 'null' values are not allowed in templates
          status code: 400, request id: ed5fae8e-7103-11e6-8d13-b943b498f5a2
      
      • Fixed latent bug in ConvertToTemplateExpression when parsing input with multiple AWS JSON fragments.
      • Fixed latent bug in sparta.Discover which prevented dependent resources from being discovered at Lambda execution time.
      • Fixed latent bug in explore.NewAPIGatewayRequest where whitelisted param keynames were unmarshalled to method.request.TYPE.VALUE rather than TYPE.
  • v0.7.1 Changes

    • ๐Ÿ’ฅ :warning: BREAKING
    • :checkered_flag: CHANGES
    • ๐Ÿ›  :bug: FIXED
      • N/A
  • v0.7.0 Changes

    • ๐Ÿ’ฅ :warning: BREAKING
      • TemplateDecorator signature changed to include serviceName, S3Bucket, and S3Key to allow for decorating CloudFormation with UserData to support alternative topology deployments.
      • CommonIAMStatements changed from map[string][]iamPolicyStatement to struct with named fields.
      • PushSourceConfigurationActions changed from map[string][]string to struct with named fields.
      • Eliminated goptions
    • :checkered_flag: CHANGES
      • Moved CLI parsing to Cobra
      • Applications can extend the set of flags for existing Sparta commands (eg, provision can include --subnetIDs) as well as add their own top level commands to the CommandLineOptions exported values. See SpartaCICD for an example.
      • Added Sparta/aws/cloudformation ConvertToTemplateExpression to convert string value into Fn::Join compatible representation. Parses inline AWS references and supports user-defined template properties.
      • Added sparta/aws/iam PolicyStatement type
      • Upgraded describe output to use Mermaid 6.0.0
      • All goreportcard issues fixed.
    • ๐Ÿ›  :bug: FIXED
      • Fixed latent VPC provisioning bug where VPC/Subnet IDs couldn't be provided to template serialization.
  • v0.6.0 Changes

    • ๐Ÿ’ฅ :warning: BREAKING
      • TemplateDecorator signature changed to include map[string]string to allow for decorating CloudFormation resource metadata
    • :checkered_flag: CHANGES
      • All NodeJS CustomResources moved to go
      • Add support for user-defined CloudFormation CustomResources via LambdaAWSInfo.RequireCustomResource
      • DiscoveryInfo struct now includes TagLogicalResourceID field with CloudFormation Resource ID of calling lambda function
    • ๐Ÿ›  :bug: FIXED
      • N/A