1.0.32
1.0.32 ( 2023-08-10)
New Features
- Developers can now overwrite the default swagger spec base with a project-specific swagger. For more details, refer to: Custom Swagger Spec Documentation. Issue #618
- Utilize logger instances in custom JavaScript/TypeScript functions. Learn how: Usage of Logger Instance in Custom JS/TS Functions, Issue #17
- Introducing RabbitMQ as a Datasource. Learn more about it here: RabbitMQ Datasource Documentation, Issue #638
Improvements
- Added “before_method_hook” and “after_method_hook” in datasources. Find more information here: Before and After Method Hooks Documentation, Issue #40
- Docker image size has been reduced for improved efficiency, Issue #632
Bug Fixes
- Resolved service crashes caused by Salesforce connection failures, Issue #644
1.0.31
1.0.31(2023-07-17)
New Features
- Added
before_method_hook
andafter_method_hook
in datasources. docs, Issue #582. - Added
file_size_limit
andrequest_body_limit
, which allow developers to increase payload size. docs, Issue #601 - Added capability to customize log attributes at microservice and event level docs, Issue #600
- Added custom
on_error
logging at workflow/task level. docs Issue #600
Improvements
Improved godspeed build
time using SWC compiler., Issue #446
1.0.30
1.0.30(2023-05-30)
New Features
- Added convention ‘**.<field_name>’ to apply redaction in pino logs. Refer documentation here
- Added license and readme
Bug Fixes
- Fixed NODE_ENV check to enable dev format logs only when NODE_ENV is set to ‘dev’ else enable OTEL format logs by default. Refer documentation here
- Fixed socket hang up issue on large file uploads.
- Fixed inline script compilation issue when arguments to the task is an object in the workflow DSL. Inline script execution has been moved to compile time instead of runtime.
- Fixed wrong log attributes values when datasource authentication is applied.
Improvements
- Set yaml workflow name as top level id of the workflow.
- Update log messages in com.gs.if native function.
1.0.29
1.0.29(2023-04-25)
New Features
- Added cron event to execute any event at a specified interval. Refer documentation here
- Added custom middleware feature in Godspeed. Refer documentation here
- Use mapping constants in other mapping files as references. Refer documentation here
- Make plugins namespaced and refer the plugins in workflows using underscore(_) notation. Refer documentation here
Bug Fixes
- Fixed outputs blank issue in com.gs.each_sequential workflow.
- Fixed service loadtime crash issue when any object is not returned from inline js scripting in a workflow.
1.0.28
1.0.28(2023-04-10)
New Features
- Added caching feature in workflow DSL. Refer documentation here
- Added Salesforce event. Refer documentation here
Bug Fixes
- Proper error response returned when invalid prisma method name is provided to com.gs.datastore function.
- Fixed com.gs.each_sequential function issue when on_error tasks are executed. Refer documentation here
- Fixed issue when there’s any error in inline script evaluation of any task then do not execute other subsequent tasks.
- Fixed
godspeed gen-api-docs
issue.
1.0.27
1.0.27(2023-02-24)
New Features
- Display OTEL tracing on console in dev environment.
- Add custom log identifiers in logs attributes. Refer documentation here
Bug Fixes
- Fixed com.gs.if-com.gs.elif-com.gs.else issue to execute only one of three conditions.
- Fixed custom logs issues while using com.gs.if native function.
- Updated primsa secret variable name from
prismaSecret
toprisma_secret
Refer documentation here - Fixed headers overridden issue when defined at both datasource and task level. Headers defined in com.gs.http takes precedence over headers defined in
api datasource
. - Updated logs format in dev environment. Refer documentation here
- Fixed service crash issue when http status code is received as string.
- Fixed service hang issue when kafka gets stopped.
1.0.26
1.0.26(2023-02-06)
New Features
- Added default error handling
on_error
at workflow level. Refer documentation here - Added com.gs.if, com.gs.elif and com.gs.else native functions to provide conventional if-else functionality. Refer documentation here
Bug Fixes
- Updated logs format in dev environment. Refer documentation here
- Added complete stack error in case of inline scripting failed during runtime.
- Updated logs to get complete http client headers and params information.
- Enhanced file upload feature to directly upload file from url. Refer documentation here
1.0.25
1.0.25(2023-01-09)
New Features
- Added observability tracing for elasticgraph and elasticsearch.
- Added AWS datasource for S3 support. (beta version) Refer documentation here
Bug Fixes
- Throw proper error during load time when workflow DSL doesn’t contain any tasks.
- Fixed json schema validation for parameters in event DSL.
- Removed /health endpoint from gs_service to have customized api and workflow for /health endpoint.
- Added support for multiple file keys in file upload feature. Refer documentation here
- Header validation in API datasource. Allowed both string and object.
1.0.24
1.0.24(2022-12-12)
New Features
- Added com.gs.dynamic_fn function to evaluate function name (fn) dynamically. Refer documentation here
- Added fn as a Coffee/JS script so that fn can be evaluated dynamically at runtime. Refer documentation here
Bug Fixes
- Fixed Swagger API schema generation issue for parameters.
- Fixed form data issue in file upload feature, append key only if it is defined.
- Take custom server URL from configuration for Swagger API. Refer documentation here
1.0.23
1.0.23(2022-11-23)
New Features
- Merged authz JSON output with args.data in the task of workflow DSL. Merge authz JSON with args.data
Bug Fixes
- Updated elasticgraph submodule to fix reindexer issue.
- Added coerceTypes to ajv to validate params.
- Allowed authn in datasource DSL validation.
- Enhanced com.gs.elasticgraph error messages.
1.0.22
1.0.22(2022-11-10)
New Features
- Added DSL validation of datasources, events and workflows.
- Exposing JWT payload as inputs.user Access JWT payload in workflow DSL
- Enabled references in event schema, in compliance with OAS refs
Bug Fixes
- Handling of on_error in com.gs.each_sequential and com.gs.each_parallel native functions. Refer documentation here
1.0.21
1.0.21(2022-10-19)
New Features
- Added basic authorization (allow/deny) at the task level in workflow DSL. Refer documentation here
- Added workflow_name and task_id in the logs
Attributes
and metric labels. - Added prisma field encryption (Beta). Prisma field encryption
Bug Fixes
- OTEL flags (TraceId, SpanID, TraceFlags) moved to the top level attributes of logs.
- Fixed security vulnerabilities.
- Copy package.json from project directory to gs_service.
1.3.1
1.3.1 (2022-08-17)
Bug Fixes
- run test on commit
v1.3.0
1.3.0 (2022-08-17)
Bug Fixes
- added /health
- added datasourceScript at execution time to evaluate variables
- Added datastore and APM metrics
- added error handling for kafka
- Added pino instrumentation
- added prisma instrumentation
- Added spanStatus for error cases
- added traceId and spanId in span attributes
- change event.data for validation error case
- change the gs_service image name form latest to dev
- check added for kafka multiple subscribers
- convert kafkajs logs to pino logs
- Copy some properties of req
- create script of datasources to expand variables then execute the script
- enable prometheus metrics on /metrics
- evaluated datasources during kafka subscribe events
- exclude /health from authn
- expandVariables updated
- expose metrics on /metrics
- handle wrong text displayed in prisma metrics
- minor improve
- modified span names for http and kafka spans, added prisma metrics
- moved datasource compileScript to loadTime
- onErrorTrue test case
- outputs are set before calling onError response_script to include current task’s outputs
- put kakfa event.data inside body tag for json schema validation
- removed console log
- removed GSDatasource
- removed instanceof function check from app.ts
- Removed prisma instrumentation and added tracing in com.gs.datastore
- Removed randomUUID from kafka producer message.key
- set outputs of the current step in context in onError tasks
- test-coverage path corrected in .nycrc file
- Updated kafka span names
- updated kafkajs instrumentation
- updated opentelemetry package versions
- Updated pino logging as per OTEL logging format
- updated start in package.json to require tracing.js
- use OTEL_LOG_LEVEL to set log level in tracing
- version bump to 1.0.15
Features
- Added Kafka as a datasource (Refer documentation here)
- Adding on_error.tasks to workflow
- on_validation_error handler added in event definition (Refer documentation here)
- Pass props of request object to event data