All Versions
73
Latest Version
Avg Release Cycle
50 days
Latest Release
-
Changelog History
Page 1
Changelog History
Page 1
-
v3.0.0 Changes
๐ฅ This is a BREAKING RELEASE with significant breaking changes noted below.
- ๐ฅ :warning: BREAKING
- All CloudFormation moved to go-formation
- All AWS API access moved to AWS SDK V2
- Changed all AWS Session references to AWS V2 Config references.
- Pulled
go
context variable through async operations.
- :checkered_flag: CHANGES
- Added
NewTaskState
to aws/step namespace to enable the new AWS Step Functions Task integrations. See the blog post for more information and aws/step/task_test.go for an example.
- Added
- ๐ฅ :warning: BREAKING
-
v2.0.0 Changes
๐ฅ This is a BREAKING RELEASE with many breaking changes noted below.
- ๐ฅ :warning: BREAKING
- Replaced all logrus.Logger usage by rs.zerolog
- This was a widescale change that impacted most of the codebase. There were two reasons why this was done: (1) logrus.Logger is officially in maintenance mode. (2) zerolog has a larger backing community which I can only hope means longer term support.
- Changed
SpartaOptions
toExtendedOptions
to eliminate golint warnings - Changed
cloudformation.CloudFormationResourceName
tocloudformation.ResourceName
to eliminate golint warnings - Removed
HandleAWSLambda
legacy function in favor ofNewAWSLambda
- WorkflowHook function signatures were changed for more idiomatic
go
usage. They now return(context.Context, error)
values to allow for mutating thecontext.Context
objected supplied to each invocation.
- :checkered_flag: CHANGES
- Decoupled build from provision step to decouple building from packaging and deployment. Run
go run main.go -h
for the new application actions. - CloudFormation stack parameters are now expressed as explicit StackParameters rather than inline literals. The previously inlined values are represented as Template Metadata values. The precomputed template can be deployed using AWS CLI.
- Added
dockerFile
argument to support OCI image creation. Dockerfiles may be used in liue of ZIP files for packaging. - Enabled new positional arguments with mage in the public Sparta magefile actions.
- Added
step.APIGatewayTaskState
to support calling API Gateway - Added autogenerated code for all Step function choice states.
- Added cloudtest package to bootstrap writing Lambda asynchronous event-based integration tests that are confirmed by log statements or invocation metrics.
- Eliminated
WorkflowHook
single instance members in favor of slices. - Updated all AWS Architecture images to the versions in the Asset package
- Decoupled build from provision step to decouple building from packaging and deployment. Run
- ๐ :bug: FIXED
- ๐ฅ :warning: BREAKING
-
v1.15.0 Changes
May 03, 2020- ๐ฅ :warning: BREAKING
- :checkered_flag: CHANGES
- Added sparta.AWSLambdaProvider to encapsulate an AWS Lambda compatible instance.
- Existing
*sparta.LambdaAWSInfo
objects can be constructed from aAWSLambdaProvider
via sparta.NewAWSLambdaFromProvider. - Added
--inputExtensions
command line argument to the Explore command to support filtering eligible assets for interactive testing. - Updated
describe
output format and layout - See the SpartaCast example
- Added
sparta.Describable
interface to allow for user-supplied decorators to provide nodes and edges to the layout. - ServiceDecoratorHookHandler instances that implement Describable are eligible to be included in the layout.
- Added a
Complete
log statement to the end of log output. - Example:
INFO[0044] Complete Time (Local)="02 May 20 05:38 PDT" Time (UTC)="2020-05-02T12:38:54Z"
- Add
step.NewDynamicWaitDurationState
to allow for input-dependent wait functions.
- ๐ :bug: FIXED
- Avoid creating default state machine role when an external role is set
- Moved to PNG AWS Architecture icons for
describe
output to elimniate data-uri SVG rendering issues.
-
v1.14.0 Changes
February 24, 2020- ๐ฅ :warning: BREAKING
:checkered_flag: CHANGES
- Added step.NewExpressStateMachine to support creating AWS Step Functions Express Workflows functions that support the new step function type
- Added archetype.NewEventBridgeScheduledReactor and archetype.NewEventBridgeEventReactor
- These convenience functions provide convenience constructors for EventBridge Lambda Subscribers.
- Sample usage:
func echoEventBridgeEvent(ctx context.Context, msg json.RawMessage) (interface{}, error) { logger, _ := ctx.Value(sparta.ContextKeyLogger).(*logrus.Logger) var eventData map[string]interface{} err := json.Unmarshal(msg, &eventData) logger.WithFields(logrus.Fields{ "error": err, "message": eventData, }).Info("EventBridge event") return nil, err } func main() { //... eventBridgeReactorFunc := spartaArchetype.EventBridgeReactorFunc(echoEventBridgeEvent) lambdaFn, _ := spartaArchetype.NewEventBridgeScheduledReactor(eventBridgeReactorFunc, "rate(1 minute)", nil) // Register lambdaFn }
- Updated
describe
output to use latest AWS Architecture Icons.
๐ :bug: FIXED
-
v1.13.0 Changes
November 30, 2019- ๐ฅ :warning: BREAKING
:checkered_flag: CHANGES
- Updated go-cloudformation dependency to expose:
- LambdaEventInvokeConfig for success/failure handlers
- See the blog post for more information
- Destinations can be connected via TemplateDecorators or ServiceDecoratorHook
- LambdaEventSourceMapping for updated stream controls
- See the blog post for more information
- Added cloudwatch.EmbeddedMetric to support publishing CloudWatch Embedded Metrics via logs
- See the blog post for more information
- Usage:
metricDirective := emMetric.NewMetricDirective("SpecialNamespace", // Initialize with metric dimensions map[string]string{"functionVersion": os.Getenv("AWS_LAMBDA_FUNCTION_VERSION")}) // Record a metric value metricDirective.Metrics["invocations"] = cloudwatch.MetricValue{ Unit: cloudwatch.UnitCount, Value: 1, } // Publish optionally accepts additional high-cardinality KV properties emMetric.Publish(nil)
๐ :bug: FIXED
-
v1.12.0 Changes
October 20, 2019- ๐ฅ :warning: BREAKING
- :checkered_flag: CHANGES
- Added step.MapState to support creating AWS Step functions that support the new Map State
- See the blog post for more details
- Also the corresponding sample application in the Sparta Step project.
- ๐ :bug: FIXED
- Fixed latent issue in step.ParallelState that prevented
Branches
field from being properly marshaled.
- Fixed latent issue in step.ParallelState that prevented
-
v1.11.0 Changes
- ๐ฅ :warning: BREAKING
- :checkered_flag: CHANGES
- Added archetype.NewKinesisFirehoseTransformer and archetype.NewKinesisFirehoseLambdaTransformer to support Kinesis Firehose Lambda Transforms
- See the documentation for more details
- Also the corresponding sample application at the SpartaXForm repo.
- ๐ :bug: FIXED
-
v1.10.0 Changes
August 11, 2019- ๐ฅ :warning: BREAKING
- :checkered_flag: CHANGES
- Added ApplicationLoadBalancerDecorator type to support Lambda functions as load balancer targets.
- See the documentation for more details
- Also the corresponding sample application at the SpartaALB repo.
- ๐ :bug: FIXED
-
v1.9.4 Changes
July 27, 2019- ๐ฅ :warning: BREAKING
- Update
sparta.Main
andsparta.MainEx
to accept new APIGateway interface type rather than concrete API type. This should be backward compatible for most usage and was done to support the new APIV2 Gateway type.
- Update
- :checkered_flag: CHANGES
- Added [API V2] type to provision WebSocket APIs
- See the documentation for more details
- Update to
go
modules
- ๐ :bug: FIXED
- ๐ฅ :warning: BREAKING
-
v1.9.3 Changes
June 03, 2019- ๐ฅ :warning: BREAKING
- :checkered_flag: CHANGES
- Added Cloud Map discovery publisher
- See the documentation
- Added
panic
recover handler to more gracefully handle exceptions - Include AWS Session in context with key
sparta.ContextKeyAWSSession
๐ :bug: FIXED
- Update to support new Amazon Linux AMI
- Fixed latent issue where
env
specified log level wasn't respected at lambda execution time