
DataWeave - Support 2.4.0
===========

## Patches Release Notes

| Issue           | Description                                                                                                                                                                                                                                              |
|-----------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| **SE-21869**    | Fixed the mimeType generated by Avro module                                                                                                                                                                                                              |
| **DW-706**      | Fixed yaml comments being erased on Mule                                                                                                                                                                                                                 |
| **DW-893**      | Added a configurable way for disabling removal of implicit inputs on shadowing                                                                                                                                                                           |
| **SE-21464**    | Honour xml mixed content structure                                                                                                                                                                                                                       |
| **DW-894**      | Fixing Date builder function should work with number with one digit                                                                                                                                                                                      |
| **DW-752**      | Improve performance of JSON Writer                                                                                                                                                                                                                       |
| **SE-21847**    | Fix self referencing fully qualified name                                                                                                                                                                                                                |
| **SE-23299**    | Fixes Xml with array was not keeping namespaces                                                                                                                                                                                                          |
| **DW-918**      | AutoStreaming is being enabled in incorrect cases                                                                                                                                                                                                        |
| **SE-22431**    | Java functions based on weave functions should run using their own execution context                                                                                                                                                                     |
| **SE-22025**    | Fixed the equality and comparison for DateTime type                                                                                                                                                                                                      |
| **SE-23444**    | Fix remove key value pair from an object                                                                                                                                                                                                                 |
| **DW-940**      | Fix Streaming Json not working on inner objects                                                                                                                                                                                                          |
| **SE-23494**    | Avoid StackOverflow on calling substringBy function                                                                                                                                                                                                      |
| **DW-932**      | Fix similarity comparison for Literal types                                                                                                                                                                                                              |
| **DW-677**      | Improve flow retyping across different functions scopes                                                                                                                                                                                                  |
| **SE-23291**    | Fixed parsing of large strings on JSON files                                                                                                                                                                                                             |
| **SE-23483**    | Avoid closing resources prematurely when using the write function                                                                                                                                                                                        |
| **CONN-9693**   | Upgrade `log4j` dependency in Flat File module                                                                                                                                                                                                           |
| **SE-23759**    | Fix OutOfMemory error when using the writeLinesWith function                                                                                                                                                                                             |
| **CONN-9598**   | Replaced `log4j` dependency for `slf4j` in Flat File module                                                                                                                                                                                              |
| **DW-1074**     | Validate `bufferSize` writer property needs to be bigger than 8                                                                                                                                                                                          |
| **DW-1076**     | Adding a `onUnhandledTimeout` to config to improve notifications                                                                                                                                                                                         |
| **DW-1086**     | Fix multiple descendant selectors can not be interrupted                                                                                                                                                                                                 |
| **SE-24186**    | Enable usage of com.mulesoft.dw.directbuffer.disable system property and fix split iterator autoclose after iteration ends.                                                                                                                              |
| **DW-1081**     | Fix unexpected double declaration of namespaces when writing XML                                                                                                                                                                                         |
| **W-10648825**  | Fix `default` behavior with new exceptions replacing UserException                                                                                                                                                                                       |
| **W-10678198**  | Fix Avro support of union types with enums                                                                                                                                                                                                               |
| **W-10650438**  | Fix Java beans parsing                                                                                                                                                                                                                                   |
| **W-10935528**  | Add `allowLenientWithBinaryNotEndElement` property in FlatFile module                                                                                                                                                                                    |
| **W-10955882**  | Yaml Writer should indent correctly multiline string.                                                                                                                                                                                                    |
| **W-10943884**  | Fix ClassCastException on Multipart                                                                                                                                                                                                                      |
| **W-10942171**  | Avoid indexed XML reader adding unnecessary text fields to XML objects                                                                                                                                                                                   |
| **W-112341091** | Recovery `write` function on `MalformedInputException`                                                                                                                                                                                                   |
| **W-10648793**  | Upgrade `jackson` in Avro module                                                                                                                                                                                                                         |
| **W-10648793**  | Avoid indexed XML reader loads an entire String into memory.                                                                                                                                                                                             |
| **W-11277575**  | Improve indexed vs in memory input reading.                                                                                                                                                                                                              |
| **W-11324418**  | Mark Avro schemaUrl as secure.                                                                                                                                                                                                                           |
| **W-11326859**  | Writing binary values in JSON should not take into account the base of the values.                                                                                                                                                                       |
| **W-11215958**  | Added root error cause at scripting parser.                                                                                                                                                                                                              |
| **W-11349764**  | Fix namespace not being added on element when previously used at a deeper structure level.                                                                                                                                                               |
| **W-11567196**  | Enable  agent client to use binary input.                                                                                                                                                                                                                |
| **W-11816901**  | Upgrade `snakeyaml` dependency in Flat File module.                                                                                                                                                                                                      |
| **W-11865849**  | Detect not cacheable overloads with type parameters.                                                                                                                                                                                                     |
| **W-11932440**  | Fixed Arrays iteration in Flat File Module.                                                                                                                                                                                                              |
| **W-12128349**  | Escape quote characters in CSV Module.                                                                                                                                                                                                                   |
| **W-11620156**  | Fixed coercion error on function `atBeginningOfHour`                                                                                                                                                                                                     |
| **W-12103894**  | Upgrade `jackson` in Avro module                                                                                                                                                                                                                         |
| **W-12036336**  | Add `retainEmptyStringFieldsOnParsing` reader property in Flat File module.						                                                                                                                                                                        |
| **W-12146546**  | Upgrade `woodstox` in XML module                                                                                                                                                                                                                         |
| **W-12073562**  | Fix checks for cacheable overloaded functions such as `then` to match runtime behaviour                                                                                                                                                                  |
| **W-12167313**  | Fix high memory usage with `ArraySeq` and `inMemory` strategy                                                                                                                                                                                            |
| **W-12043162**  | Add `com.mulesoft.dw.javaSqlDateToDate` that enables mapping sqlDates to Date instead of DateTime                                                                                                                                                        |
| **W-12166609**  | Fixing default behavior when having a null value coming from the mule runtime.                                                                                                                                                                           |
| **W-11940166**  | Fixed `dw::core::Dates::atBeginningOfWeek` function when input is Sunday day                                                                                                                                                                             |
| **W-12067821**  | `Resource already closed` exception no longer occur when using the write function with a value bigger than 1.5MB and avro format                                                                                                                         |
| **W-12247447**  | Fixed `IndexOutOfBounds` exception that occurred when combining the usage of heap memory for internal buffering (setting `com.mulesoft.dw.directbuffer.disable=true`) with a customized buffer-size (using `com.mulesoft.dw.buffersize` system property) |
| **W-12528980**  | Fixed XML reader whitespaces trims                                                                                                                                                                                                                       |
| **W-13099773**  | Use proper InputStream implementation while reading on Multipart                                                                                                                                                                                         |
| **W-13512364**  | Upgrade `snakeyaml` dependency in Flat File module.                                                                                                                                                                                                      |
| **W-13943112**  | Throw exception on invalid Avro UUID logical type.                                                                                                                                                                                                       |
| **W-11965399**  | Add system property `com.mulesoft.dw.xml_writer.declareXmlNamespace` to avoid declaring "xml" implicit namespace.                                                                                                                                        |
| **W-13868202**  | Close input buffers temporary files before GC runs finalizers.                                                                                                                                                                                           |
| **W-13805995**  | Fix inconsistent XML encoding detection between indexed and in-memory parsers                                                                                                                                                                            |
| **W-14252745**  | Fix error reading Avro schema with array of enums                                                                                                                                                                                                        |
| **W-14086694**  | The function `sum` now works as expected with an `Array` of non-numeric values.                                                                                                                                                                          |
| **W-13763138**  | Cached function coercion does not work second time when argument is constant                                                                                                                                                                             |
| **W-14514837**  | Fixed variables scope declaration at pattern matching                                                                                                                                                                                                    |
| **W-14591653**  | Avoid caching addition and subtraction functions when argument coercion is required                                                                                                                                                                      |
| **W-12036336**  | Added maxEntrySize reader property in Excel module.                                                                                                                                                                                                      |
| **W-14927555**  | Cache function to dispatch based on coerced arguments.                                                                                                                                                                                                   |
| **W-15296551**  | Upgrade `commons-compress` in Avro module.                                                                                                                                                                                                               |
| **W-14589732**  | Fixed unexpected `java.io.IOException` exception while writing the same binary input multiple times at `JSON` / `XML` format.                                                                                                                            |
| **W-15534640**  | Generate XLSX files using zip spec 2.0.                                                                                                                                                                                                                  |
| **W-15571377**  | Add `substituteCharacterAsMissingValue` reader property in Flat File module.                                                                                                                                                                             |
| **W-15973636**  | Add `fillRedefinesByMaxLength` writer property in Flat File module.                                                                                                                                                                                      |
| **W-16161736**  | DataWeave now preserves MimeType properties correctly.                                                                                                                                                                                                   |