For installation instructions check out the getting started guide.
Added
- Field
default_encoding
added to theparquet_encode
processor. - Field
client_session_keep_alive
added to thesnowflake_put
output. - Bloblang now supports metadata access via
@foo
syntax, which also supports arbitrary values. - TLS client certs now support both PKCS#1 and PKCS#8 encrypted keys.
- New
redis_script
processor. - New
wasm
processor. - Fields marked as secrets will no longer be printed with
benthos echo
or debug HTTP endpoints. - Add
no_indent
parameter to theformat_json
bloblang method. - New
format_xml
bloblang method. - New
batched
higher level input type. - The
gcp_pubsub
input now supports optionally creating subscriptions. - New
sqlite
buffer. - Bloblang now has
int64
,int32
,uint64
anduint32
methods for casting explicit integer types. - Field
application_properties_map
added to theamqp1
output. - Param
parse_header_row
,delimiter
andlazy_quotes
added to theparse_csv
bloblang method. - Field
delete_on_finish
added to thecsv
input. - Metadata fields
header
,path
,mod_time_unix
andmod_time
added to thecsv
input. - New
couchbase
processor. - Field
max_attempts
added to thensq
input. - Messages consumed by the
nsq
input are now enriched with metadata. - New Bloblang method
parse_url
.
Fixed
- Fixed a regression bug in the
mongodb
processor where message errors were not set any more. This issue was introduced in v4.7.0 (64eb72). - The
avro-ocf:marshaler=json
input codec now omits unexpected logical type fields. - Fixed a bug in the
sql_insert
output (see commit c6a71e9) where transaction-based drivers (clickhouse
andoracle
) would fail to roll back an in-progress transaction if any of the messages caused an error. - The
resource
input should no longer block the first layer of graceful termination.
Changed
- The
catch
method now defines the context of argument mappings to be the string of the caught error. In previous cases the context was undocumented, vague and would often bind to the outer context. It's still possible to reference this outer context by capturing the error (e.g..catch(_ -> this)
). - Field interpolations that fail due to mapping errors will no longer produce placeholder values and will instead provide proper errors that result in nacks or retries similar to other issues.
The full change log can be found here.