- Fixed error location if component use
Rebound
functionality
- @elastic.io/maester-client updated to 5.0.3 to get rid of the vulnerability
- @elastic.io/maester-client updated to 5.0.2 (#206)
- Replaced
object-storage-client
withmaester-client
- Add AMQP_PERSISTENT_MESSAGES configuration env var to enable persistent delivery mode.
- Enabled keep-alive for global HTTPS agent (#6359)
- Fix: "sailor-nodejs ignores errors from maester during lightweight message upload" #6233)
- Added npm audit to CI and fixed all dependencies
- Replaced exit on "unhandledRejection" with error logging
- Improve consume performance by switching back to pushing instead of polling, keeping reconnections mechanism (#5432)
- Fix "Big messages processing is not stable" errors (#5051)
- Fix "Cannot read property 'publish' of undefined" error (#5036)
- Enabled keep-alive for global HTTP agent (#5012)
- Fixed rebound message expiry time (#4950)
- Fixed rebound message headers (#4950)
- Separate connections for consuming and publishing
- Consuming is done with polling instead of pushing
- Reconnects on connection errors
- Handling consumer cancel notification
- Lowered log levels of some developers' log messages
- Addded env vars:
- AMQP_RECONNECT_ATTEMPTS - number of retries on connection close
- AMQP_RECONNECT_TIMEOUT - delay between connection retries
- WAIT_MESSAGES_TIMEOUT - delay between next poll when queue is empty
- Remove the logging of triggers and actions processing errors stack
- Annual audit of the component code to check if it exposes a sensitive data in the logs
- Fix incoming headers appearance in the logs (part 2)
- Fix incoming headers appearance in the logs (part 1)
- Add Lightweight messages support
- Sync this.emit() calls are not supported anymore. Use async process() interface and await this.emit() calls instead
- Error as incoming message in custom error handler
- Fix bug with incorrect publish retry policy.Dynamic flow control
- Dynamic flow control
- Fix bugs with 'Retention policy' notification and 'Nodejs sailor return promise interface does not support dynamic flow control'
- Fix bug when Lookout throws exception if incoming message from error queue doesn't have errorInput property
- From now on errors (description + stack) happening during component initialization won't be ignored and you will see them on frontend and in logs
- Add ability to publish to arbitrary exchange
- From now on Wiper will not suspend overloaded flows if all the components in the flow have the latest sailor (which supports dynamic flow control)
- Add support of non-base64 message in Admiral. This function is activated if 2 neighbour components' Sailors support a feature of non-base64 message
- Enable graceful restart for tasks pods
- Fix bug when Sailor does not reliably publish large messages
- Fix bug when publishing fail leads to fail in all subsequent pending messages
- A step must not put its own output message into the passthrough object
- Introduce new environment variable for Sailor: ELASTICIO_OUTGOING_MESSAGE_SIZE_LIMIT, which controls the outgoing message size limit
- Introduce new component environment variable ELASTICIO_ADDITIONAL_VARS_FOR_HEADERS. It contains comma-separated environment variables that will be passed to message headers
- Add additional information to RabbitMQ messages
- Add elastic's Threads functionality support
- Add component custom logger. E.g.
this.logger.info('hello')
- Sailor now handles RabbitMQ disconnects correctly