- Switched toolbox/ssh service to github.com/viant/gosh
- Switch toolbox/cred|secret with github.com/viant/scy
- Changed package structure
- Updated dsunit dep
- Added secret manager integration
- Added udf option to storage.upload
- Added http/endpoint:append to lazily add http trips
- Expose req/resp template in http/endpoint service
Breaking change:
- previous template were: "bridge.HttpRequest-%v.json", "bridge.HttpResponse-%v.json" )
- current template are: %02d-req.json, %02d-resp.json
- Added $weekday support
- Added LoadJSON udf
- Minor patches
- Added region option for storage.create, storage.upload
- updated dependencies
- Removed default errors on exec:run, please use CheckErrors instead of define you custom errors.
- Patched "@fromQuery@" variable substitution (viant/dsunit dep)
- Added rest/runner http options
- Enhanced and renamed aws/apigateway:setupRestAPI to aws/apigateway:deployAPI (BREAKING CHANGE)
- Added aws/apigateway:getRestAPI
- Patch nil pointer on storage copy with expand flag
- Added exec service command.Terminators, command.TimeoutMs override options
- Added gcp/bigquery:patch operation
- Added gcp/bigquery:table operation
- Updated viant/afs, viant/afsc dep
- Extended storage:generate contract for lines and concurrency (stress testing)
- Updated abstract storage dependency (viant/afs(c))
- Added storage:generate to create dynamically test assets
- viant/afs streaming improvements
- Added kafka testing/msg support
- Added default credentials fallback to docker/ssh service
- Added gcp/cloudscheduler
- Added gcp/cloudscheduler:deploy
* Added retry flag on gcp/cloudfunctions:deploy
* Added aws/sns:setupPermission
* Added aws/sqs:setupPermission
* Added gcp/storage:setNotification
* Updated aws/s3:setupBucketNotification with lambda,sqs,sns
* Added storage:upload upload data substitution
* Stremlined afs.Matcher integration
* Patched storage:copy batch upload
Integrated storage service with https://github.com/viant/afs
Reanmed CopyWithCompression udf to GZipper - breaking change
Renamed CopyWithCompressionAndCorruption udf to GZipContentCorrupter - breaking chagnge
Added new storage operations:
- storage:list
- storage:exists
Patched SQL parser
* Added "aws/cloudwatchevents" service
* Added model.Extract.Required attribute
* ForeignKey check switch patched for MySQL
* Added Schedule option to aws/lambda:deploy
* Updated lambda various deployment docmentation
* Patch, streamling sqs testing
* Patched KMS GCP storage credentials relative naming
* Change expect contract on msg:pull
* Updated gcp:kms with policy binding
* Added $gcp.serviceAccount variable for gcp:* services
* Patched MySQL script parsing
* Update KMS encrupt/decrypt to be compatible with gcloud
* Update lambda attribute parsing
* Removed process:stopAll - BREAKING CHANGE - please use process:stop
* Extended process:stop to handle command match
* Added Watch attribute to process:start
* Added default target to process, sdk, deploy services
* Streamined scp upload
* Added logging flag to generic event
* Patched exec secrets
* Patched storage with multi asset and empty source
* Added task.fail to control final endly workflow in case there was catch task
* Added dsunit:checkSchema
* Added exec:run AutoSudo mode
* Patched .gcloudingnore filtering
* Added baseLocation to deployment,sdk
* Remove config.xml transfer on tomcat deployment
* Added @strictMapCheck@ validation directive (assertly)
* Patch dsunit:expect CheckPolicy (dsunit)
- BREAKING CHANGE, update dsunit.expect checkPolicy:
1 (SnapshotDatasetCheckPolicy) to get back to previous behaviour
* Added exec.SessionID, and update terminal session access
* Update SSH session ID to use username@host:port
* Added default ssh target for env.USER if ~/.secret/id_rsa or ~/.ssh/id_rsa is found
* Patch ssh command output
* Added cross vendor create table DDL with dsunit:dump
* patched @queryFrom@ SQL builder
* Added command exit code check with CheckError attrbibute to SSH executor (exec)
* Set CheckError on process:start
* Embed exec.Options on process:start
* Patched AsString conversion from []interface{} (viant/toolbox)
* Added docker:deploy mem literal
* Updated ubuntu endly docker build
* Added VpcMatcher.Filter.SubnetExclusionTags (aws/ec2)
* Minor patches
* Added VpcMatcher to aws:lamba/deploy to match vpc by vpc or instance name
* Added vc/git:commit
* Minot patches
* added gcp/kms service
* added gcp/run service
* added gcp/container service
* updates gcp/* test
* added generator function with $generator.next, $generator.prev, $generator.value, $generator.reset
* updated sleep handling
* updated async repeated action
* minor pached
* Added vc/git service to use go client, (original vc service uses SSH scraping)
* Added aws/kms, aws/ssm services
* Renamed ssh scraping based docker service to docker/ssh (breaking backward compatibility change)
* Introduced docker service based on docker API client
* Updated/patched examples
* Added dsunit.init - ping flag to wait for database getting online (dsunit.ping)
* Updated template generator
* Minor patches
* Added dsunit:init ping option to wait for database get online
* Updated endly usage endly [service:action | inlineworkflow.yaml]
* Patched kubernetes:apply
* Added kubernetes:forwardPorts
* Updated kubernetes secrets documentation
* Added Public flag to cloud function deploy
* Added Members field to cloud function deploy
* Added Kubernetes auth plugin package
* Added $Concat, $Merge udfs (toolbox/data)
* Added available keys limit (assertly)
* Added slack service
* Added $AssetsToMap $BinaryAssetsToMap udfs (configmaps)
* Renamed $gc. to $gcp.
* Patched inline yaml annotation error
* Minor patches
* Patched docker compose yaml port parsing
* Patch json conversion
* Added Select,Sum,Count,AsNumber udfs (toolbox/data/udf)
* Patched Required mapping column name (dsunit)
* Added <ds:empty> macro
* Patched assertly NumericPresssion with zero value
* Enhanced kubernetes service integraton (i.e. additional helper methods like: expose, run)
* RunWithoutLogging helper method
* Patched ShowTable sql embedding issue (dsc)
* Patched contract description (toolbox)
* Added Elapsed,Sum,Count,AsNumber udf (toolbox)
* Patched init database with recreate flag=true (dsunit)
* Patched data comparision on time values with incomptible types (dsunit)
* Aded kubernetes:get, kubernetes:create
* Integrated more kubernetes resources
* Renamed gc/* to gcp/* service ids - workflow breaking change
* Added kubernetes/core and kubernetes/apps services
* Added contract adapter code genrator util/adapter
* Added BuildLowerCaseMapping utility
* Pachted nil pointer on cloudfunctions:delete
* Patched .gcloudignore functionality when deploy function
* Pachted defer inline workflow task
* Added gcc, remove gsunit from endly docker image
* Added aws/iam policy variable substitution
* Patched persiting rows with nil values (dsc)
* Renamed package system/cloud/gc to system/cloud/gcp
* Added gc/cloudfuncton:deploy
* Added gc/cloudfuncton:call
* Renamed aws/lamda:setupFunction to aws/lamda:deploy - this is breaking change.
* Added RunInBackground helper method for long running action
* Added direct cli level action call with command line parameters (-run=)
* Patched nil pointer on trip runner/http:stressTest
* Added endpoint:http file:// path support
* Added workflow:setEnv action
* Added docker:copy
* Loading new line delimited JSON patched
* Minor patches
* Added -j endly cli option to list UDFs
* Updated init attribute node without prefix as action attribute
* Patch storage.copy asset join with source and dest
* Added gc/* services
* Refactored and broke compatibility with former ec2/gce services
* Moved system/docker to system/docker/ssh package
* Added endly Route OnRawRequest hook
* Added aws/* services
* Refactored aws/ec2 service
* Added context level Loging for action
* Minor patches
* Resolved template variable collision with sub workflow templates
* Patched non writable map data type mutation
* Moved msg service to testing/msg package
* Patched embeded non pointer struct conversion (toolbox)
* Added firebase, casandra dependency (driver, template)
* Added dsunit.CompareRequest to check SQL based data from various db.
* Added $context.secrets.${key} to expose credential config details like projectID, etc...
* Add FollowRedirects option to http clinet (viant/toolbox)
* Patched slice yaml variable conversion
* Added message grouping
* Added template tag failure level reporting for sub workflows
* Stremlined CLI reporter
* Added smtp endpoint
* Moved event reporting msg package to model/msg
* Moved messaging package to msg
* Enhanced inline workflow node data substitution
* Migrated e2e example to inline workflows and go 1.11 build
* Ehnaced muli resource substitution with $argDataX and main yaml resource support
* Added dataSource customization (response, response.Body) (http/runner:send)
* Added workflow/default to fallback chain in external resource loading (inline workflow)
* Patched processing unexported struct field (viant/toolbox)
* Added QueryEscape udf (viant/toolbox)
* BQ Streaming insert customization (viant/bgc)
* Added Expect attribute in Query operation for optional valiation (SQL based validation) (viant/dsunit)
* Minor patches
* Added logging option on abstract node level
* Patched action tracking for cli execution path reporter
* Refactored yaml source kv paris into map for inline workflow action request attributes
* Data substitution expression patches (toolbox)
* Moved standard udf from neatly to toolbox/data/udf (neatly)
* Added Expect attribute to http/runner Request type (data cohesion)
* Minor patches
* Added workflow scoped variable ($self.x)
* Enhanced inline workflow task conversion process (init,post,when)
* Added Values,Keys,IndexOf udf (neatly)
* Enhanced multi parameters UDF call expression syntax (toolbox)
* Renamed and moved pubsub service to messaging
* Added AssertPath directive (assertly)
* Refactored/streamlined expression parser
* Added basic arithmetic support
* Added workflow params and data to worklow state dedicated bucket
* Enhanced criteria parser to work with UDF expression
* Renamed ShareStateMode to ShareState on workflow:run request
* Removed setting ShareState by inline workflow by default
* Added elapsed time helper $elapsedToday.locale i.e. : ${elapsedToday.UTC}
* Added remianing time helper $remainingToday.locale i.e. : ${remainingToday.UTC}
* Patched/refactored variable loading
* Refactor asyn action to run with repeater like a regular action
* Added keySensitive direction (assertly)
* Added CSVReder commond udf provider
* Updated doc
* Enabled diagnosctive with gops with -d switch
* Patch nil pointer check in stress Test
* Added coalesceWithZero directive, patched nil and numeric value validation (assertly)
* Patched ToInt, ToFloat conversion to throw error if nil is supplied (toolbox)
* Added Added LocationTimezone, TimeLayout attribute to FreezeRequest (dsunit)
* Added http/runner:load action for HTTP endpoint stress testing
* Added NumericFloatPrecission
* Added wildcard resource support for loading data section in actions template
* Added actions template support for inline workflow action template (neatly tag iterators)
* Added multi asset supprot for inline workflow request (neatly like multi resource loading)
* Added async flag to inline workflow at task level to allow parallel execution
* Patched maching switch case with incompatible types
* Patch assertly validator for nil expected time validation
* Added regression format option to e2e project generator
* Patched double execution of defer tasks
* Updated documentation
* Added pubsub cloud messaging service
* Added UDF service for registering udf with custom settings
* Added generic protobuf UDF provider
* Removed UDF Providers from service specific contracts in http/runner and storage services
* Enhanced variable validation
* Renamed Pipelines struct to InlineWorkflow
* Updated documentation
* Patched logger source.URL init to allow log validation with non schema based resources i.e. /tmp/logs/data as opposed to file:///tmp/logs/data
* Updated logger validation documentation
* Added $Len udf
* Renamed ExpectedLogRecords in testing/log/service_contract.go to Expect for consistency (not backward compatible)
* Added optional conversion from yaml kv paris to map in testing/log/service_contract.go AssertRequest.Expect.Records
* Added $dsconfig state keys with dsc.Config.params (i.e. $dsconfig.datasetId. $dsconfig.projectId)
* Added dsunit.dump method to create schema DDL fro existing database
* Refactor $timestamp. , $unix. to take advandate toolbox TimeAt method, i.e. ${unix.nowInUTC}, ${timestamp.5DaysAhead}
* Added global $tzTime state function that uses time.RFC3339 time layout with toolbox.TimeAt semantic
* Minor patches
* Added option to create setup or verification dataset with dsunit.freeze
* Patched assertly numeric type casting criterion
* Renamed CopyHandlerUdf to Udf on storage copy request
* Added SSH, Inline workflow runner option in e2e project generator
* Minor patches
* Patched http trips cross reference expression substitution
* Minor patches
* Added http recordng option -u
* Added Avro UDFs
* Added UDF providers for UDF registration on the fly
* Minor patches
* Update logging with activity context (-d=true)
* Minor patches
* Documents have been updated
* Endly dependencies have been updated
* Patched record mapper nil pointer
* Updated test generator links
* Minor patches
* Added endly -g option to generate a test project
* Added log validator to project generator
* Added documentation link to project generator options
* Patched validation failure source matching
* Patched task duplication when run with -t option
* Renamed test project folder 'endly' to e2e in examples
* Minor patches
- Patched and enhanced storage service compression
- Patched validation errors
- Patched nil pointers on aws service
- Minor patches
* Customized data setup in workflow generator
* Added data validation option to workflow generator
* Added repeater to rest send request
* Assertly validation enhancement
* Added actual datastore and expected dsunit validation data
* Minor patches
#OLDER RELEASES
- Initial Release.
- First version release
* Integrated with assertly data structure validation
* Updated neatly to support @ for external resources,
* Added spaces (pipe has been already supported) for multi external resource separation
* Minor fixes
* Updated udf expression to use $, instead of ! (no backward compatible change)
* Simplified evaluation critiera
* Refactored example workkflow with best practice
* Maven build workflow optionally parameterized with custom .m2/settings.xml
* Added request and response metadata with endly -s -a options
* Added workflow task description with endly -t='?'
* Updated service action request discovery (endly -s -a)
* Streamlined error handling
* Added tagIDs to WorkflowRunRequest option
* Refactored docker container request
* Refactored dsunit prepare/expect request
* Updated documentation
* Minor fixes
* Integrated dsunit with assertly
* Added unit/integrated test Run function
* Patched tagIDs
* Moved secret credetnails file generator to endly -c option
* Minor fixes
* Updated criteria to support comprehensive conditional expression.
* Reorganized services and dependencies
* Minor fixes
* Refactor and simpified exec.service
* Added endly.Run helper
* Renamed MatchStdout to When
* Renamed MatchBody to When
* Renamed RunCriteria to When
* Renamed SkipCriteria to Skip
* Renamed ExitCriteria to Exit
* Renamed Credentials to Secrets
* patched RepeatedReporter CLI event reporting
* Refactor and simpified storage.service
* Added When/Else to variable
* Refactorored docker shared service added docs
* Refactored SSH service with stdout listener (for instant stdout CLI reporting)
* Minor patches
* Renamed Credential to Credentials
* Added more yaml examples
* Add SSH testing utilities NewSSHRecodingContext, NewSSHReplayContext
* Refactored and updated shared workflows
* Minor patched
* Added Expec to all runner Run request and Assert field to response
* Added automation with docker example
* Reorganized documentation
* Minor patches
* Reverter order of adding os.path (to begining)
* Added node sdk
* Minor patches
* Minor patches
* Add pipeline post
* Patched neatly Cat udf
* Added Pipeline state init block
* Updated shared workflow
* Added workflow generator
* Patched workflow generator shared mem
* Merge docker compose pull request
* Minor patches
* Added map[interface{}]interface{} for non string key support
* Minor patches
* Patched CLI formatting
* Updated workflow generator
* Added when criteria to pipeline
* Minor patches
* Expanded variable init expression/format
* Added expect validation to storage Download
* Enhanced expression parser for map key nested expression
* Added catch, defer pipeline special tasks
* Minor patches
* Merged pipeline into workflow
* Added shrared state workflow mode
* Update smtp with secret service
* Enhanced workflow and inline workflow inspection with -p options
* Patched gs remove folder
* Added multi table mapping option to workflow generator
* Minor patches
* Patched multi keys validation with @indexBy@ directive
* Added @sortText@ assertly directive
* Refactored java maven build workflow
* Minor patches
* Added shared switchCase assertly validation key for shared data points
* Patched workflow generator app with postgress issue
* Enhnced @indexBy@ directive to use path exrp for nested sturcture on assertly
* Minor patches
* Added xunit summary report
* Minor patches
* Added explicit data attribute with "@" prefix in inline workflows (pipeline)
* Added multi datastore selection to workflow generator
* Added autodiscovery to workflow generator
* Update big query to support DDL schema file
* Minor patches